Imported Upstream version 2.13.0 upstream/2.13.0
authorYoungbok Shin <youngb.shin@samsung.com>
Tue, 3 Apr 2018 05:24:39 +0000 (14:24 +0900)
committerYoungbok Shin <youngb.shin@samsung.com>
Tue, 3 Apr 2018 05:24:39 +0000 (14:24 +0900)
621 files changed:
ABOUT-NLS [new file with mode: 0644]
ChangeLog
Makefile.am
Makefile.in
README
aclocal.m4
compile
conf.d/10-autohint.conf
conf.d/10-hinting-full.conf
conf.d/10-hinting-medium.conf
conf.d/10-hinting-none.conf
conf.d/10-hinting-slight.conf
conf.d/10-no-sub-pixel.conf
conf.d/10-scale-bitmap-fonts.conf
conf.d/10-sub-pixel-bgr.conf
conf.d/10-sub-pixel-rgb.conf
conf.d/10-sub-pixel-vbgr.conf
conf.d/10-sub-pixel-vrgb.conf
conf.d/10-unhinted.conf
conf.d/11-lcdfilter-default.conf
conf.d/11-lcdfilter-legacy.conf
conf.d/11-lcdfilter-light.conf
conf.d/20-unhint-small-vera.conf
conf.d/25-unhint-nonlatin.conf
conf.d/30-metric-aliases.conf
conf.d/30-urw-aliases.conf [deleted file]
conf.d/40-nonlatin.conf
conf.d/45-generic.conf [new file with mode: 0644]
conf.d/45-latin.conf
conf.d/49-sansserif.conf
conf.d/50-user.conf
conf.d/51-local.conf
conf.d/60-generic.conf [new file with mode: 0644]
conf.d/60-latin.conf
conf.d/65-fonts-persian.conf
conf.d/65-khmer.conf
conf.d/65-nonlatin.conf
conf.d/69-unifont.conf
conf.d/70-no-bitmaps.conf
conf.d/70-yes-bitmaps.conf
conf.d/80-delicious.conf
conf.d/90-synthetic.conf
conf.d/Makefile.am
conf.d/Makefile.in
config.guess
config.h.in
config.rpath [new file with mode: 0755]
config.sub
configure
configure.ac
depcomp
doc/FcAtomicCreate.3
doc/FcAtomicDeleteNew.3
doc/FcAtomicDestroy.3
doc/FcAtomicLock.3
doc/FcAtomicNewFile.3
doc/FcAtomicOrigFile.3
doc/FcAtomicReplaceOrig.3
doc/FcAtomicUnlock.3
doc/FcBlanksAdd.3
doc/FcBlanksCreate.3
doc/FcBlanksDestroy.3
doc/FcBlanksIsMember.3
doc/FcCacheCopySet.3
doc/FcCacheCreateTagFile.3
doc/FcCacheDir.3
doc/FcCacheNumFont.3
doc/FcCacheNumSubdir.3
doc/FcCacheSubdir.3
doc/FcCharSetAddChar.3
doc/FcCharSetCopy.3
doc/FcCharSetCount.3
doc/FcCharSetCoverage.3
doc/FcCharSetCreate.3
doc/FcCharSetDelChar.3
doc/FcCharSetDestroy.3
doc/FcCharSetEqual.3
doc/FcCharSetFirstPage.3
doc/FcCharSetHasChar.3
doc/FcCharSetIntersect.3
doc/FcCharSetIntersectCount.3
doc/FcCharSetIsSubset.3
doc/FcCharSetMerge.3
doc/FcCharSetNew.3
doc/FcCharSetNextPage.3
doc/FcCharSetSubtract.3
doc/FcCharSetSubtractCount.3
doc/FcCharSetUnion.3
doc/FcConfigAppFontAddDir.3
doc/FcConfigAppFontAddFile.3
doc/FcConfigAppFontClear.3
doc/FcConfigBuildFonts.3
doc/FcConfigCreate.3
doc/FcConfigDestroy.3
doc/FcConfigEnableHome.3
doc/FcConfigFileInfoIterGet.3 [new file with mode: 0644]
doc/FcConfigFileInfoIterInit.3 [new file with mode: 0644]
doc/FcConfigFileInfoIterNext.3 [new file with mode: 0644]
doc/FcConfigFilename.3
doc/FcConfigGetBlanks.3
doc/FcConfigGetCache.3
doc/FcConfigGetCacheDirs.3
doc/FcConfigGetConfigDirs.3
doc/FcConfigGetConfigFiles.3
doc/FcConfigGetCurrent.3
doc/FcConfigGetFontDirs.3
doc/FcConfigGetFonts.3
doc/FcConfigGetRescanInterval.3
doc/FcConfigGetSysRoot.3
doc/FcConfigHome.3
doc/FcConfigParseAndLoad.3
doc/FcConfigParseAndLoadFromMemory.3 [new file with mode: 0644]
doc/FcConfigReference.3
doc/FcConfigSetCurrent.3
doc/FcConfigSetRescanInterval.3
doc/FcConfigSetSysRoot.3
doc/FcConfigSubstitute.3
doc/FcConfigSubstituteWithPat.3
doc/FcConfigUptoDate.3
doc/FcDefaultSubstitute.3
doc/FcDirCacheClean.3
doc/FcDirCacheCreateUUID.3 [new file with mode: 0644]
doc/FcDirCacheLoad.3
doc/FcDirCacheLoadFile.3
doc/FcDirCacheRead.3
doc/FcDirCacheRescan.3
doc/FcDirCacheUnlink.3
doc/FcDirCacheUnload.3
doc/FcDirCacheValid.3
doc/FcDirSave.3
doc/FcDirScan.3
doc/FcFileIsDir.3
doc/FcFileScan.3
doc/FcFini.3
doc/FcFontList.3
doc/FcFontMatch.3
doc/FcFontRenderPrepare.3
doc/FcFontSetAdd.3
doc/FcFontSetCreate.3
doc/FcFontSetDestroy.3
doc/FcFontSetList.3
doc/FcFontSetMatch.3
doc/FcFontSetPrint.3
doc/FcFontSetSort.3
doc/FcFontSetSortDestroy.3
doc/FcFontSort.3
doc/FcFreeTypeCharIndex.3
doc/FcFreeTypeCharSet.3
doc/FcFreeTypeCharSetAndSpacing.3
doc/FcFreeTypeQuery.3
doc/FcFreeTypeQueryAll.3 [new file with mode: 0644]
doc/FcFreeTypeQueryFace.3
doc/FcGetDefaultLangs.3
doc/FcGetLangs.3
doc/FcGetVersion.3
doc/FcInit.3
doc/FcInitBringUptoDate.3
doc/FcInitLoadConfig.3
doc/FcInitLoadConfigAndFonts.3
doc/FcInitReinitialize.3
doc/FcIsLower.3
doc/FcIsUpper.3
doc/FcLangGetCharSet.3
doc/FcLangNormalize.3
doc/FcLangSetAdd.3
doc/FcLangSetCompare.3
doc/FcLangSetContains.3
doc/FcLangSetCopy.3
doc/FcLangSetCreate.3
doc/FcLangSetDel.3
doc/FcLangSetDestroy.3
doc/FcLangSetEqual.3
doc/FcLangSetGetLangs.3
doc/FcLangSetHasLang.3
doc/FcLangSetHash.3
doc/FcLangSetSubtract.3
doc/FcLangSetUnion.3
doc/FcMatrixCopy.3
doc/FcMatrixEqual.3
doc/FcMatrixInit.3
doc/FcMatrixMultiply.3
doc/FcMatrixRotate.3
doc/FcMatrixScale.3
doc/FcMatrixShear.3
doc/FcNameConstant.3
doc/FcNameGetConstant.3
doc/FcNameGetObjectType.3
doc/FcNameParse.3
doc/FcNameRegisterConstants.3
doc/FcNameRegisterObjectTypes.3
doc/FcNameUnparse.3
doc/FcNameUnregisterConstants.3
doc/FcNameUnregisterObjectTypes.3
doc/FcObjectSetAdd.3
doc/FcObjectSetBuild.3
doc/FcObjectSetCreate.3
doc/FcObjectSetDestroy.3
doc/FcPatternAdd-Type.3
doc/FcPatternAdd.3
doc/FcPatternAddWeak.3
doc/FcPatternBuild.3
doc/FcPatternCreate.3
doc/FcPatternDel.3
doc/FcPatternDestroy.3
doc/FcPatternDuplicate.3
doc/FcPatternEqual.3
doc/FcPatternEqualSubset.3
doc/FcPatternFilter.3
doc/FcPatternFormat.3
doc/FcPatternGet-Type.3
doc/FcPatternGet.3
doc/FcPatternGetWithBinding.3 [new file with mode: 0644]
doc/FcPatternHash.3
doc/FcPatternPrint.3
doc/FcPatternReference.3
doc/FcPatternRemove.3
doc/FcRangeCopy.3
doc/FcRangeCreateDouble.3
doc/FcRangeCreateInteger.3
doc/FcRangeDestroy.3
doc/FcRangeGetDouble.3
doc/FcStrBasename.3
doc/FcStrCmp.3
doc/FcStrCmpIgnoreCase.3
doc/FcStrCopy.3
doc/FcStrCopyFilename.3
doc/FcStrDirname.3
doc/FcStrDowncase.3
doc/FcStrFree.3
doc/FcStrListCreate.3
doc/FcStrListDone.3
doc/FcStrListFirst.3
doc/FcStrListNext.3
doc/FcStrPlus.3
doc/FcStrSetAdd.3
doc/FcStrSetAddFilename.3
doc/FcStrSetCreate.3
doc/FcStrSetDel.3
doc/FcStrSetDestroy.3
doc/FcStrSetEqual.3
doc/FcStrSetMember.3
doc/FcStrStr.3
doc/FcStrStrIgnoreCase.3
doc/FcToLower.3
doc/FcUcs4ToUtf8.3
doc/FcUtf16Len.3
doc/FcUtf16ToUcs4.3
doc/FcUtf8Len.3
doc/FcUtf8ToUcs4.3
doc/FcValueDestroy.3
doc/FcValueEqual.3
doc/FcValuePrint.3
doc/FcValueSave.3
doc/FcWeightFromOpenType.3
doc/FcWeightFromOpenTypeDouble.3 [new file with mode: 0644]
doc/FcWeightToOpenType.3
doc/FcWeightToOpenTypeDouble.3 [new file with mode: 0644]
doc/Makefile.am
doc/Makefile.in
doc/fcblanks.fncs
doc/fcblanks.sgml
doc/fccache.fncs
doc/fccache.sgml
doc/fcconfig.fncs
doc/fcconfig.sgml
doc/fcfreetype.fncs
doc/fcfreetype.sgml
doc/fcpattern.fncs
doc/fcpattern.sgml
doc/fcweight.fncs
doc/fcweight.sgml
doc/fontconfig-devel.pdf
doc/fontconfig-devel.sgml
doc/fontconfig-devel.txt
doc/fontconfig-devel/fcatomiccreate.html
doc/fontconfig-devel/fcatomicdeletenew.html
doc/fontconfig-devel/fcatomicdestroy.html
doc/fontconfig-devel/fcatomiclock.html
doc/fontconfig-devel/fcatomicnewfile.html
doc/fontconfig-devel/fcatomicorigfile.html
doc/fontconfig-devel/fcatomicreplaceorig.html
doc/fontconfig-devel/fcatomicunlock.html
doc/fontconfig-devel/fcblanksadd.html
doc/fontconfig-devel/fcblankscreate.html
doc/fontconfig-devel/fcblanksdestroy.html
doc/fontconfig-devel/fcblanksismember.html
doc/fontconfig-devel/fccachecopyset.html
doc/fontconfig-devel/fccachecreatetagfile.html
doc/fontconfig-devel/fccachedir.html
doc/fontconfig-devel/fccachenumfont.html
doc/fontconfig-devel/fccachenumsubdir.html
doc/fontconfig-devel/fccachesubdir.html
doc/fontconfig-devel/fccharsetaddchar.html
doc/fontconfig-devel/fccharsetcopy.html
doc/fontconfig-devel/fccharsetcount.html
doc/fontconfig-devel/fccharsetcoverage.html
doc/fontconfig-devel/fccharsetcreate.html
doc/fontconfig-devel/fccharsetdelchar.html
doc/fontconfig-devel/fccharsetdestroy.html
doc/fontconfig-devel/fccharsetequal.html
doc/fontconfig-devel/fccharsetfirstpage.html
doc/fontconfig-devel/fccharsethaschar.html
doc/fontconfig-devel/fccharsetintersect.html
doc/fontconfig-devel/fccharsetintersectcount.html
doc/fontconfig-devel/fccharsetissubset.html
doc/fontconfig-devel/fccharsetmerge.html
doc/fontconfig-devel/fccharsetnew.html
doc/fontconfig-devel/fccharsetnextpage.html
doc/fontconfig-devel/fccharsetsubtract.html
doc/fontconfig-devel/fccharsetsubtractcount.html
doc/fontconfig-devel/fccharsetunion.html
doc/fontconfig-devel/fcconfigappfontadddir.html
doc/fontconfig-devel/fcconfigappfontaddfile.html
doc/fontconfig-devel/fcconfigappfontclear.html
doc/fontconfig-devel/fcconfigbuildfonts.html
doc/fontconfig-devel/fcconfigcreate.html
doc/fontconfig-devel/fcconfigdestroy.html
doc/fontconfig-devel/fcconfigenablehome.html
doc/fontconfig-devel/fcconfigfileinfoiterget.html [new file with mode: 0644]
doc/fontconfig-devel/fcconfigfileinfoiterinit.html [new file with mode: 0644]
doc/fontconfig-devel/fcconfigfileinfoiternext.html [new file with mode: 0644]
doc/fontconfig-devel/fcconfigfilename.html
doc/fontconfig-devel/fcconfiggetblanks.html
doc/fontconfig-devel/fcconfiggetcache.html
doc/fontconfig-devel/fcconfiggetcachedirs.html
doc/fontconfig-devel/fcconfiggetconfigdirs.html
doc/fontconfig-devel/fcconfiggetconfigfiles.html
doc/fontconfig-devel/fcconfiggetcurrent.html
doc/fontconfig-devel/fcconfiggetfontdirs.html
doc/fontconfig-devel/fcconfiggetfonts.html
doc/fontconfig-devel/fcconfiggetrescaninterval.html
doc/fontconfig-devel/fcconfiggetsysroot.html
doc/fontconfig-devel/fcconfighome.html
doc/fontconfig-devel/fcconfigparseandload.html
doc/fontconfig-devel/fcconfigparseandloadfrommemory.html [new file with mode: 0644]
doc/fontconfig-devel/fcconfigreference.html
doc/fontconfig-devel/fcconfigsetcurrent.html
doc/fontconfig-devel/fcconfigsetrescaninterval.html
doc/fontconfig-devel/fcconfigsetsysroot.html
doc/fontconfig-devel/fcconfigsubstitute.html
doc/fontconfig-devel/fcconfigsubstitutewithpat.html
doc/fontconfig-devel/fcconfiguptodate.html
doc/fontconfig-devel/fcdefaultsubstitute.html
doc/fontconfig-devel/fcdircacheclean.html
doc/fontconfig-devel/fcdircachecreateuuid.html [new file with mode: 0644]
doc/fontconfig-devel/fcdircacheload.html
doc/fontconfig-devel/fcdircacheloadfile.html
doc/fontconfig-devel/fcdircacheread.html
doc/fontconfig-devel/fcdircacherescan.html
doc/fontconfig-devel/fcdircacheunlink.html
doc/fontconfig-devel/fcdircacheunload.html
doc/fontconfig-devel/fcdircachevalid.html
doc/fontconfig-devel/fcdirsave.html
doc/fontconfig-devel/fcdirscan.html
doc/fontconfig-devel/fcfileisdir.html
doc/fontconfig-devel/fcfilescan.html
doc/fontconfig-devel/fcfini.html
doc/fontconfig-devel/fcfontlist.html
doc/fontconfig-devel/fcfontmatch.html
doc/fontconfig-devel/fcfontrenderprepare.html
doc/fontconfig-devel/fcfontsetadd.html
doc/fontconfig-devel/fcfontsetcreate.html
doc/fontconfig-devel/fcfontsetdestroy.html
doc/fontconfig-devel/fcfontsetlist.html
doc/fontconfig-devel/fcfontsetmatch.html
doc/fontconfig-devel/fcfontsetprint.html
doc/fontconfig-devel/fcfontsetsort.html
doc/fontconfig-devel/fcfontsetsortdestroy.html
doc/fontconfig-devel/fcfontsort.html
doc/fontconfig-devel/fcfreetypecharindex.html
doc/fontconfig-devel/fcfreetypecharset.html
doc/fontconfig-devel/fcfreetypecharsetandspacing.html
doc/fontconfig-devel/fcfreetypequery.html
doc/fontconfig-devel/fcfreetypequeryall.html [new file with mode: 0644]
doc/fontconfig-devel/fcfreetypequeryface.html
doc/fontconfig-devel/fcgetdefaultlangs.html
doc/fontconfig-devel/fcgetlangs.html
doc/fontconfig-devel/fcgetversion.html
doc/fontconfig-devel/fcinit.html
doc/fontconfig-devel/fcinitbringuptodate.html
doc/fontconfig-devel/fcinitloadconfig.html
doc/fontconfig-devel/fcinitloadconfigandfonts.html
doc/fontconfig-devel/fcinitreinitialize.html
doc/fontconfig-devel/fcislower.html
doc/fontconfig-devel/fcisupper.html
doc/fontconfig-devel/fclanggetcharset.html
doc/fontconfig-devel/fclangnormalize.html
doc/fontconfig-devel/fclangsetadd.html
doc/fontconfig-devel/fclangsetcompare.html
doc/fontconfig-devel/fclangsetcontains.html
doc/fontconfig-devel/fclangsetcopy.html
doc/fontconfig-devel/fclangsetcreate.html
doc/fontconfig-devel/fclangsetdel.html
doc/fontconfig-devel/fclangsetdestroy.html
doc/fontconfig-devel/fclangsetequal.html
doc/fontconfig-devel/fclangsetgetlangs.html
doc/fontconfig-devel/fclangsethash.html
doc/fontconfig-devel/fclangsethaslang.html
doc/fontconfig-devel/fclangsetsubtract.html
doc/fontconfig-devel/fclangsetunion.html
doc/fontconfig-devel/fcmatrixcopy.html
doc/fontconfig-devel/fcmatrixequal.html
doc/fontconfig-devel/fcmatrixinit.html
doc/fontconfig-devel/fcmatrixmultiply.html
doc/fontconfig-devel/fcmatrixrotate.html
doc/fontconfig-devel/fcmatrixscale.html
doc/fontconfig-devel/fcmatrixshear.html
doc/fontconfig-devel/fcnameconstant.html
doc/fontconfig-devel/fcnamegetconstant.html
doc/fontconfig-devel/fcnamegetobjecttype.html
doc/fontconfig-devel/fcnameparse.html
doc/fontconfig-devel/fcnameregisterconstants.html
doc/fontconfig-devel/fcnameregisterobjecttypes.html
doc/fontconfig-devel/fcnameunparse.html
doc/fontconfig-devel/fcnameunregisterconstants.html
doc/fontconfig-devel/fcnameunregisterobjecttypes.html
doc/fontconfig-devel/fcobjectsetadd.html
doc/fontconfig-devel/fcobjectsetbuild.html
doc/fontconfig-devel/fcobjectsetcreate.html
doc/fontconfig-devel/fcobjectsetdestroy.html
doc/fontconfig-devel/fcpatternadd-type.html
doc/fontconfig-devel/fcpatternadd.html
doc/fontconfig-devel/fcpatternaddweak.html
doc/fontconfig-devel/fcpatternbuild.html
doc/fontconfig-devel/fcpatterncreate.html
doc/fontconfig-devel/fcpatterndel.html
doc/fontconfig-devel/fcpatterndestroy.html
doc/fontconfig-devel/fcpatternduplicate.html
doc/fontconfig-devel/fcpatternequal.html
doc/fontconfig-devel/fcpatternequalsubset.html
doc/fontconfig-devel/fcpatternfilter.html
doc/fontconfig-devel/fcpatternformat.html
doc/fontconfig-devel/fcpatternget-type.html
doc/fontconfig-devel/fcpatternget.html
doc/fontconfig-devel/fcpatterngetwithbinding.html [new file with mode: 0644]
doc/fontconfig-devel/fcpatternhash.html
doc/fontconfig-devel/fcpatternprint.html
doc/fontconfig-devel/fcpatternreference.html
doc/fontconfig-devel/fcpatternremove.html
doc/fontconfig-devel/fcrangecopy.html
doc/fontconfig-devel/fcrangecreatedouble.html
doc/fontconfig-devel/fcrangecreateinteger.html
doc/fontconfig-devel/fcrangedestroy.html
doc/fontconfig-devel/fcrangegetdouble.html
doc/fontconfig-devel/fcstrbasename.html
doc/fontconfig-devel/fcstrcmp.html
doc/fontconfig-devel/fcstrcmpignorecase.html
doc/fontconfig-devel/fcstrcopy.html
doc/fontconfig-devel/fcstrcopyfilename.html
doc/fontconfig-devel/fcstrdirname.html
doc/fontconfig-devel/fcstrdowncase.html
doc/fontconfig-devel/fcstrfree.html
doc/fontconfig-devel/fcstrlistcreate.html
doc/fontconfig-devel/fcstrlistdone.html
doc/fontconfig-devel/fcstrlistfirst.html
doc/fontconfig-devel/fcstrlistnext.html
doc/fontconfig-devel/fcstrplus.html
doc/fontconfig-devel/fcstrsetadd.html
doc/fontconfig-devel/fcstrsetaddfilename.html
doc/fontconfig-devel/fcstrsetcreate.html
doc/fontconfig-devel/fcstrsetdel.html
doc/fontconfig-devel/fcstrsetdestroy.html
doc/fontconfig-devel/fcstrsetequal.html
doc/fontconfig-devel/fcstrsetmember.html
doc/fontconfig-devel/fcstrstr.html
doc/fontconfig-devel/fcstrstrignorecase.html
doc/fontconfig-devel/fctolower.html
doc/fontconfig-devel/fcucs4toutf8.html
doc/fontconfig-devel/fcutf16len.html
doc/fontconfig-devel/fcutf16toucs4.html
doc/fontconfig-devel/fcutf8len.html
doc/fontconfig-devel/fcutf8toucs4.html
doc/fontconfig-devel/fcvaluedestroy.html
doc/fontconfig-devel/fcvalueequal.html
doc/fontconfig-devel/fcvalueprint.html
doc/fontconfig-devel/fcvaluesave.html
doc/fontconfig-devel/fcweightfromopentype.html
doc/fontconfig-devel/fcweightfromopentypedouble.html [new file with mode: 0644]
doc/fontconfig-devel/fcweighttoopentype.html
doc/fontconfig-devel/fcweighttoopentypedouble.html [new file with mode: 0644]
doc/fontconfig-devel/t1.html
doc/fontconfig-devel/x103.html [moved from doc/fontconfig-devel/x102.html with 94% similarity]
doc/fontconfig-devel/x31.html
doc/fontconfig-user.html
doc/fontconfig-user.pdf
doc/fontconfig-user.sgml
doc/fontconfig-user.txt
doc/fonts-conf.5
fc-blanks/Makefile.am [deleted file]
fc-blanks/fc-blanks.py [deleted file]
fc-blanks/fcblanks.h [deleted file]
fc-blanks/fcblanks.tmpl.h [deleted file]
fc-cache/Makefile.in
fc-cache/fc-cache.c
fc-case/Makefile.in
fc-cat/Makefile.in
fc-cat/fc-cat.c
fc-conflist/Makefile.am [new file with mode: 0644]
fc-conflist/Makefile.in [moved from fc-glyphname/Makefile.in with 53% similarity]
fc-conflist/fc-conflist.1 [new file with mode: 0644]
fc-conflist/fc-conflist.c [new file with mode: 0644]
fc-conflist/fc-conflist.sgml [new file with mode: 0644]
fc-glyphname/Makefile.am [deleted file]
fc-glyphname/fc-glyphname.c [deleted file]
fc-glyphname/fcglyphname.h [deleted file]
fc-glyphname/fcglyphname.tmpl.h [deleted file]
fc-glyphname/zapfdingbats.txt [deleted file]
fc-lang/Makefile.am
fc-lang/Makefile.in
fc-lang/fc-lang.c
fc-lang/fclang.h
fc-lang/und_zmth.orth [new file with mode: 0644]
fc-lang/und_zsye.orth [new file with mode: 0644]
fc-list/Makefile.in
fc-list/fc-list.c
fc-match/Makefile.in
fc-match/fc-match.c
fc-pattern/Makefile.in
fc-pattern/fc-pattern.c
fc-query/Makefile.in
fc-query/fc-query.c
fc-scan/Makefile.in
fc-scan/fc-scan.1
fc-scan/fc-scan.c
fc-scan/fc-scan.sgml
fc-validate/Makefile.am
fc-validate/Makefile.in
fc-validate/fc-validate.c
fontconfig.pc.in
fontconfig.spec
fontconfig/Makefile.in
fontconfig/fcfreetype.h
fontconfig/fcprivate.h
fontconfig/fontconfig.h
fonts.conf.in
install-sh
its/Makefile.am [new file with mode: 0644]
its/Makefile.in [moved from fc-blanks/Makefile.in with 71% similarity]
its/fontconfig.its [new file with mode: 0644]
its/fontconfig.loc [new file with mode: 0644]
m4/gettext.m4 [new file with mode: 0644]
m4/iconv.m4 [new file with mode: 0644]
m4/intlmacosx.m4 [new file with mode: 0644]
m4/lib-ld.m4 [new file with mode: 0644]
m4/lib-link.m4 [new file with mode: 0644]
m4/lib-prefix.m4 [new file with mode: 0644]
m4/nls.m4 [new file with mode: 0644]
m4/po.m4 [new file with mode: 0644]
m4/progtest.m4 [new file with mode: 0644]
missing
po-conf/ChangeLog [new file with mode: 0644]
po-conf/LINGUAS [new file with mode: 0644]
po-conf/Makefile.in.in [new file with mode: 0644]
po-conf/Makevars [new file with mode: 0644]
po-conf/POTFILES.in [new file with mode: 0644]
po-conf/Rules-quot [new file with mode: 0644]
po-conf/boldquot.sed [new file with mode: 0644]
po-conf/en@boldquot.header [new file with mode: 0644]
po-conf/en@quot.header [new file with mode: 0644]
po-conf/fontconfig-conf.pot [new file with mode: 0644]
po-conf/insert-header.sin [new file with mode: 0644]
po-conf/quot.sed [new file with mode: 0644]
po-conf/remove-potcdate.sin [new file with mode: 0644]
po-conf/stamp-po [new file with mode: 0644]
po-conf/zh_CN.gmo [new file with mode: 0644]
po-conf/zh_CN.po [new file with mode: 0644]
po/ChangeLog [new file with mode: 0644]
po/LINGUAS [new file with mode: 0644]
po/Makefile.in.in [new file with mode: 0644]
po/Makevars [new file with mode: 0644]
po/POTFILES.in [new file with mode: 0644]
po/Rules-quot [new file with mode: 0644]
po/boldquot.sed [new file with mode: 0644]
po/en@boldquot.header [new file with mode: 0644]
po/en@quot.header [new file with mode: 0644]
po/fontconfig.pot [new file with mode: 0644]
po/insert-header.sin [new file with mode: 0644]
po/quot.sed [new file with mode: 0644]
po/remove-potcdate.sin [new file with mode: 0644]
po/stamp-po [new file with mode: 0644]
po/zh_CN.gmo [new file with mode: 0644]
po/zh_CN.po [new file with mode: 0644]
src/Makefile.am
src/Makefile.in
src/fcblanks.c [deleted file]
src/fccache.c
src/fccfg.c
src/fccharset.c
src/fccompat.c
src/fcdbg.c
src/fcdefault.c
src/fcdir.c
src/fcfreetype.c
src/fchash.c [new file with mode: 0644]
src/fcinit.c
src/fcint.h
src/fclang.c
src/fclist.c
src/fcmatch.c
src/fcname.c
src/fcobjs.c
src/fcobjs.h
src/fcobjshash.gperf [deleted file]
src/fcobjshash.h
src/fcpat.c
src/fcptrlist.c [new file with mode: 0644]
src/fcrange.c
src/fcstat.c
src/fcstdint.h
src/fcweight.c
src/fcxml.c
src/ftglue.h
src/makealias
test-driver
test/Makefile.am
test/Makefile.in
test/out.expected-long-family-names [new file with mode: 0644]
test/out.expected-no-long-family-names [new file with mode: 0644]
test/run-test.sh
test/test-bz131804.c [new file with mode: 0644]
test/test-migration.c

diff --git a/ABOUT-NLS b/ABOUT-NLS
new file mode 100644 (file)
index 0000000..3cc8286
--- /dev/null
+++ b/ABOUT-NLS
@@ -0,0 +1,1379 @@
+1 Notes on the Free Translation Project
+***************************************
+
+Free software is going international!  The Free Translation Project is a
+way to get maintainers of free software, translators, and users all
+together, so that free software will gradually become able to speak many
+languages.  A few packages already provide translations for their
+messages.
+
+   If you found this 'ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU 'gettext' internally,
+itself available at your nearest GNU archive site.  But you do _not_
+need to install GNU 'gettext' prior to configuring, installing or using
+this package with messages translated.
+
+   Installers will find here some useful hints.  These notes also
+explain how users should proceed for getting the programs to use the
+available translations.  They tell how people wanting to contribute and
+work on translations can contact the appropriate team.
+
+1.1 INSTALL Matters
+===================
+
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language.  Most such
+packages use GNU 'gettext'.  Other packages have their own ways to
+internationalization, predating GNU 'gettext'.
+
+   By default, this package will be installed to allow translation of
+messages.  It will automatically detect whether the system already
+provides the GNU 'gettext' functions.  Installers may use special
+options at configuration time for changing the default behaviour.  The
+command:
+
+     ./configure --disable-nls
+
+will _totally_ disable translation of messages.
+
+   When you already have GNU 'gettext' installed on your system and run
+configure without an option for your new package, 'configure' will
+probably detect the previously built and installed 'libintl' library and
+will decide to use it.  If not, you may have to to use the
+'--with-libintl-prefix' option to tell 'configure' where to look for it.
+
+   Internationalized packages usually have many 'po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language.  Unless
+translations have been forbidden at 'configure' time by using the
+'--disable-nls' switch, all available translations are installed
+together with the package.  However, the environment variable 'LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+'LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+1.2 Using This Package
+======================
+
+As a user, if your language has been installed for this package, you
+only have to set the 'LANG' environment variable to the appropriate
+'LL_CC' combination.  If you happen to have the 'LC_ALL' or some other
+'LC_xxx' environment variables set, you should unset them before setting
+'LANG', otherwise the setting of 'LANG' will not have the desired
+effect.  Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
+an ISO 3166 two-letter country code.  For example, let's suppose that
+you speak German and live in Germany.  At the shell prompt, merely
+execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
+'sh') or 'export LANG=de_DE' (in 'bash').  This can be done from your
+'.login' or '.profile' file, once and for all.
+
+   You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries.  For
+example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil.  The
+country code serves to distinguish the dialects.
+
+   The locale naming convention of 'LL_CC', with 'LL' denoting the
+language and 'CC' denoting the country, is the one use on systems based
+on GNU libc.  On other systems, some variations of this scheme are used,
+such as 'LL' or 'LL_CC.ENCODING'.  You can get the list of locales
+supported by your system for your language by running the command
+'locale -a | grep '^LL''.
+
+   Not all programs have translations for all languages.  By default, an
+English message is shown in place of a nonexistent translation.  If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+'LANGUAGE'.  GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
+for the purpose of message handling, but you still need to have 'LANG'
+set to the primary language; this is required by other parts of the
+system libraries.  For example, some Swedish users who would rather read
+translations in German than English for when Swedish is not available,
+set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
+
+   Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from 'no' to 'nb' recently (in 2003).  During the
+transition period, while some message catalogs for this language are
+installed under 'nb' and some older ones under 'no', it's recommended
+for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
+older translations are used.
+
+   In the 'LANGUAGE' environment variable, but not in the 'LANG'
+environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
+denote the language's main dialect.  For example, 'de' is equivalent to
+'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
+as spoken in Portugal) in this context.
+
+1.3 Translating Teams
+=====================
+
+For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list.  The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+'http://translationproject.org/', in the "Teams" area.
+
+   If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+'-request' appended.  For example, speakers of Swedish can send a
+message to 'sv-request@li.org', having this message body:
+
+     subscribe
+
+   Keep in mind that team members are expected to participate _actively_
+in translations, or at solving translational difficulties, rather than
+merely lurking around.  If your team does not exist yet and you want to
+start one, or if you are unsure about what to do or how to get started,
+please write to 'coordinator@translationproject.org' to reach the
+coordinator for all translator teams.
+
+   The English team is special.  It works at improving and uniformizing
+the terminology in use.  Proven linguistic skills are praised more than
+programming skills, here.
+
+1.4 Available Packages
+======================
+
+Languages are not equally supported in all packages.  The following
+matrix shows the current state of internationalization, as of Jun 2014.
+The matrix shows, in regard of each package, for which languages PO
+files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+     Ready PO files       af am an ar as ast az be bg bn bn_IN bs ca crh cs
+                        +---------------------------------------------------+
+     a2ps               |                       []                []     [] |
+     aegis              |                                                   |
+     anubis             |                                                   |
+     aspell             |                []                       []     [] |
+     bash               |                          []             []     [] |
+     bfd                |                                                   |
+     binutils           |                                         []        |
+     bison              |                                                   |
+     bison-runtime      |                []                                 |
+     buzztrax           |                                                [] |
+     ccd2cue            |                                                   |
+     ccide              |                                                   |
+     cflow              |                                                   |
+     clisp              |                                                   |
+     coreutils          |                                         []     [] |
+     cpio               |                                                   |
+     cppi               |                                                   |
+     cpplib             |                                         []        |
+     cryptsetup         |                                                [] |
+     datamash           |                                                   |
+     denemo             |                                         []     [] |
+     dfarc              |                                         []        |
+     dialog             |       []                                []     [] |
+     dico               |                                                   |
+     diffutils          |                                                [] |
+     dink               |                                         []        |
+     direvent           |                                                   |
+     doodle             |                                                [] |
+     dos2unix           |                                                   |
+     dos2unix-man       |                                                   |
+     e2fsprogs          |                                         []     [] |
+     enscript           |                                         []        |
+     exif               |                                                [] |
+     fetchmail          |                                         []     [] |
+     findutils          |                                                [] |
+     flex               |                                         []        |
+     freedink           |                                         []     [] |
+     fusionforge        |                                                   |
+     gas                |                                                   |
+     gawk               |                                         []        |
+     gcal               |                                         []        |
+     gcc                |                                                   |
+     gdbm               |                                                   |
+     gettext-examples   | []             []        []             []     [] |
+     gettext-runtime    |                          []             []     [] |
+     gettext-tools      |                          []             []        |
+     gjay               |                                                   |
+     glunarclock        |                []        []                    [] |
+     gnubiff            |                                                [] |
+     gnubik             |          []                                       |
+     gnucash            |          ()              ()             []        |
+     gnuchess           |                                                   |
+     gnulib             |                                                [] |
+     gnunet             |                                                   |
+     gnunet-gtk         |                                                   |
+     gold               |                                                   |
+     gphoto2            |                                                [] |
+     gprof              |                          []                       |
+     gramadoir          |                                                   |
+     grep               |                          []             []     [] |
+     grub               |                                         []        |
+     gsasl              |                                                   |
+     gss                |                                                   |
+     gst-plugins-bad    |                          []                    [] |
+     gst-plugins-base   |                          []             []     [] |
+     gst-plugins-good   |                          []             []     [] |
+     gst-plugins-ugly   |                          []             []     [] |
+     gstreamer          |                []        []             []     [] |
+     gtick              |                                                [] |
+     gtkam              |                       []                       [] |
+     gtkspell           | []             []     []                []     [] |
+     guix               |                                                   |
+     guix-packages      |                                                   |
+     gutenprint         |                                         []        |
+     hello              |                                         []        |
+     help2man           |                                                   |
+     help2man-texi      |                                                   |
+     hylafax            |                                                   |
+     idutils            |                                                   |
+     iso_15924          |                                                [] |
+     iso_3166           | []          []        [] [] []  []   [] [] []  [] |
+     iso_3166_2         |                                                   |
+     iso_4217           |                                                [] |
+     iso_639            |             [] []     [] [] []  []      [] []  [] |
+     iso_639_3          |                []                          []     |
+     iso_639_5          |                                                   |
+     jwhois             |                                                   |
+     kbd                |                                                [] |
+     klavaro            |          []              [] []          []     [] |
+     ld                 |                          []                       |
+     leafpad            |                       [] []             []     [] |
+     libc               |                          []             []     [] |
+     libexif            |                       ()                          |
+     libextractor       |                                                   |
+     libgnutls          |                                                [] |
+     libgphoto2         |                                                [] |
+     libgphoto2_port    |                                                [] |
+     libgsasl           |                                                   |
+     libiconv           |                          []                    [] |
+     libidn             |                                                [] |
+     liferea            |          []    []                       []     [] |
+     lilypond           |                                         []     [] |
+     lordsawar          |                                         []        |
+     lprng              |                                                   |
+     lynx               |                                         []     [] |
+     m4                 |                                                [] |
+     mailfromd          |                                                   |
+     mailutils          |                                                   |
+     make               |                                                [] |
+     man-db             |                                         []     [] |
+     man-db-manpages    |                                                   |
+     midi-instruments   |          []                             []     [] |
+     minicom            |                                                [] |
+     mkisofs            |                                                [] |
+     myserver           |                                                [] |
+     nano               |                          []             []     [] |
+     opcodes            |                                                   |
+     parted             |                                                [] |
+     pies               |                                                   |
+     pnmixer            |                                                   |
+     popt               |                                                [] |
+     procps-ng          |                                                   |
+     procps-ng-man      |                                                   |
+     psmisc             |                                                [] |
+     pspp               |                                         []        |
+     pushover           |                                                [] |
+     pwdutils           |                                                   |
+     pyspread           |                                                   |
+     radius             |                                         []        |
+     recode             |                       []                []     [] |
+     recutils           |                                                   |
+     rpm                |                                                   |
+     rush               |                                                   |
+     sarg               |                                                   |
+     sed                |                []        []             []     [] |
+     sharutils          |                                                [] |
+     shishi             |                                                   |
+     skribilo           |                                                   |
+     solfege            |                                         []     [] |
+     solfege-manual     |                                                   |
+     spotmachine        |                                                   |
+     sudo               |                                         []     [] |
+     sudoers            |                                         []     [] |
+     sysstat            |                                                [] |
+     tar                |                          []             []     [] |
+     texinfo            |                                         []     [] |
+     texinfo_document   |                                         []     [] |
+     tigervnc           |                          []                       |
+     tin                |                                                   |
+     tin-man            |                                                   |
+     tracgoogleappsa... |                                                   |
+     trader             |                                                   |
+     util-linux         |                                                [] |
+     ve                 |                                                   |
+     vice               |                                                   |
+     vmm                |                                                   |
+     vorbis-tools       |                                                [] |
+     wastesedge         |                                                   |
+     wcd                |                                                   |
+     wcd-man            |                                                   |
+     wdiff              |                                         []     [] |
+     wget               |                                                [] |
+     wyslij-po          |                                                   |
+     xboard             |                                                   |
+     xdg-user-dirs      | []    []    [] []     [] []     []      [] []  [] |
+     xkeyboard-config   |                          []             []     [] |
+                        +---------------------------------------------------+
+                          af am an ar as ast az be bg bn bn_IN bs ca crh cs
+                           4  0  2  5  3 11   0  8 25  3   3    1 55  4  74
+
+                          da  de  el en en_GB en_ZA eo es et eu fa fi  fr 
+                        +--------------------------------------------------+
+     a2ps               | []  []  []     []         [] [] []       []  []  |
+     aegis              | []  []                       []              []  |
+     anubis             | []  []                       []          []  []  |
+     aspell             | []  []         []         [] []          []  []  |
+     bash               |                           [] []              []  |
+     bfd                | []                           []          []  []  |
+     binutils           |                              []          []  []  |
+     bison              | []  []  []                [] [] []       []  []  |
+     bison-runtime      | []  []  []                [] [] []       []  []  |
+     buzztrax           | []  []                                   []  []  |
+     ccd2cue            | []  []                    []                 []  |
+     ccide              | []  []                    [] []          []  []  |
+     cflow              | []  []                    []             []  []  |
+     clisp              | []  []     []                []              []  |
+     coreutils          | []  []                       [] []           []  |
+     cpio               | []  []                       []          []  []  |
+     cppi               | []  []                    []             []  []  |
+     cpplib             | []  []                    [] []          []  []  |
+     cryptsetup         | []  []                       []          []  []  |
+     datamash           | []  []                    []                 []  |
+     denemo             | []                                               |
+     dfarc              | []  []                    [] []          []  []  |
+     dialog             | []  []  []                [] []    [] [] []  []  |
+     dico               | []  []                                   []  []  |
+     diffutils          | []  []  []                [] []              []  |
+     dink               | []  []                    [] []          []  []  |
+     direvent           | []  []                    []                 []  |
+     doodle             | []  []                    []             []      |
+     dos2unix           | []  []                    [] []              []  |
+     dos2unix-man       |     []                       []              []  |
+     e2fsprogs          | []  []                    [] []              []  |
+     enscript           | []  []         []         []             []  []  |
+     exif               | []  []                    [] []          []  []  |
+     fetchmail          | []  ()  []     []         [] []              []  |
+     findutils          | []  []  []                [] [] []       []  []  |
+     flex               | []  []                    [] []          []  []  |
+     freedink           | []  []  []                [] []    []    []  []  |
+     fusionforge        |     []                       []              []  |
+     gas                |                              []          []  []  |
+     gawk               | []  []                       []          []  []  |
+     gcal               | []  []                       []              []  |
+     gcc                |     []                                           |
+     gdbm               | []  []                    []             []  []  |
+     gettext-examples   | []  []  []                [] []          []  []  |
+     gettext-runtime    | []  []                    [] []          []  []  |
+     gettext-tools      | []  []                       []          []  []  |
+     gjay               |     []                    []             []  []  |
+     glunarclock        | []  []                    []             []  []  |
+     gnubiff            |     ()                    []             []  ()  |
+     gnubik             | []  []                    []             []  []  |
+     gnucash            | []  ()  ()     ()            ()          ()  ()  |
+     gnuchess           |     []                    [] []              []  |
+     gnulib             | []  []                    [] [] []       []  []  |
+     gnunet             |                              []                  |
+     gnunet-gtk         |     []                                           |
+     gold               |                              []          []  []  |
+     gphoto2            | []  ()                    []                 []  |
+     gprof              | []  []                    [] []          []  []  |
+     gramadoir          | []  []                    []             []  []  |
+     grep               | []  []                    [] [] []       []  []  |
+     grub               | []  []                       []          []  []  |
+     gsasl              | []  []                    []             []  []  |
+     gss                | []  []                    []             []  []  |
+     gst-plugins-bad    | []  []                                       []  |
+     gst-plugins-base   | []  []  []                   []          []  []  |
+     gst-plugins-good   | []  []  []                   []    []    []  []  |
+     gst-plugins-ugly   | []  []  []                [] []    []    []  []  |
+     gstreamer          | []  []  []                   []    []    []  []  |
+     gtick              | []  ()                    []             []  []  |
+     gtkam              | []  ()                    [] []          []  []  |
+     gtkspell           | []  []  []                [] []    []    []  []  |
+     guix               | []                        []                     |
+     guix-packages      |                                                  |
+     gutenprint         | []  []                                   []  []  |
+     hello              | []  []  []                [] [] []       []  []  |
+     help2man           | []  []  []                [] []          []  []  |
+     help2man-texi      |     []                       []              []  |
+     hylafax            |     []                       []                  |
+     idutils            | []  []                    []             []  []  |
+     iso_15924          | []  ()                    [] []    ()    []  ()  |
+     iso_3166           | []  ()  []                [] [] [] ()    []  ()  |
+     iso_3166_2         | []  ()                             ()        ()  |
+     iso_4217           | []  ()  []                   [] [] ()    []  ()  |
+     iso_639            | []  ()                    [] []    ()    []  ()  |
+     iso_639_3          |     ()                             ()        ()  |
+     iso_639_5          |     ()                             ()        ()  |
+     jwhois             |     []                    [] []          []  []  |
+     kbd                | []  []  []                [] []              []  |
+     klavaro            | []  []  []                [] []    []        []  |
+     ld                 | []                           []          []  []  |
+     leafpad            | []  []  []                [] []    []    []  []  |
+     libc               | []  []                       []          []  []  |
+     libexif            | []  []         ()            []              []  |
+     libextractor       |     []                                           |
+     libgnutls          |     []                    []             []  []  |
+     libgphoto2         | []  ()                                       []  |
+     libgphoto2_port    | []  ()                       []    []    []  []  |
+     libgsasl           | []  []                    []             []  []  |
+     libiconv           | []  []                    [] [] []       []  []  |
+     libidn             | []  []                    []             []  []  |
+     liferea            | []  ()  []                   []    []    []  []  |
+     lilypond           | []  []  []                [] []              []  |
+     lordsawar          | []  []                                           |
+     lprng              |                                                  |
+     lynx               | []  []                    []    []       []  []  |
+     m4                 | []  []  []                []             []  []  |
+     mailfromd          |                                              []  |
+     mailutils          |     []                       []          []  []  |
+     make               | []  []                       []          []  []  |
+     man-db             | []  []                    []                 []  |
+     man-db-manpages    |     []                                       []  |
+     midi-instruments   | []  []  []                [] [] []    [] []  []  |
+     minicom            | []  []                       []          []  []  |
+     mkisofs            |                           []             []  []  |
+     myserver           |     []                    []             []  []  |
+     nano               | []  []                    [] []    []    []  []  |
+     opcodes            | []  []                       []          []  []  |
+     parted             | []  []                                       []  |
+     pies               |     []                                           |
+     pnmixer            |     []                                       []  |
+     popt               | []  []                    [] []          []  []  |
+     procps-ng          |     []                                       []  |
+     procps-ng-man      |     []                                       []  |
+     psmisc             | []  []  []                []       []    []  []  |
+     pspp               |     []                       []              []  |
+     pushover           |     ()                    [] []              []  |
+     pwdutils           | []  []                                       []  |
+     pyspread           | []  []                                       []  |
+     radius             |                              []              []  |
+     recode             | []  []  []                [] []          []  []  |
+     recutils           |     []                       []          []  []  |
+     rpm                | []  []                    []             []  []  |
+     rush               |     []                                   []  []  |
+     sarg               | []                                           []  |
+     sed                | []  []  []                [] [] []       []  []  |
+     sharutils          |     []                    []    []           []  |
+     shishi             |     []                                   []  []  |
+     skribilo           | []                           []              []  |
+     solfege            | []  []                    [] [] []    [] []  []  |
+     solfege-manual     |     []                    [] [] []           []  |
+     spotmachine        | []  []                    []             []  []  |
+     sudo               | []  []                    [] []          []  []  |
+     sudoers            | []  []  []                []             []  []  |
+     sysstat            | []  []                    [] []          []  []  |
+     tar                | []  []                    [] [] []       []  []  |
+     texinfo            | []  []                    [] []              []  |
+     texinfo_document   |     []                    [] []              []  |
+     tigervnc           | []  []  []                []             []  []  |
+     tin                | []  []                          []           []  |
+     tin-man            |                []                                |
+     tracgoogleappsa... | []  []                    []             []  []  |
+     trader             | []  []         []         []             []  []  |
+     util-linux         | []  []                       []              []  |
+     ve                 |     []                    [] []          []  []  |
+     vice               | ()  ()                                       ()  |
+     vmm                |     []                                   []      |
+     vorbis-tools       | []  []                    []                 []  |
+     wastesedge         | []                                               |
+     wcd                |     []                    [] []          []      |
+     wcd-man            |     []                                           |
+     wdiff              | []  []                    [] [] []       []  []  |
+     wget               |     []                    [] [] []       []  []  |
+     wyslij-po          |     []                    []             []  []  |
+     xboard             | []  []                       []              []  |
+     xdg-user-dirs      | []  []  []                [] [] [] [] [] []  []  |
+     xkeyboard-config   | []  []  []                [] []          []  []  |
+                        +--------------------------------------------------+
+                          da  de  el en en_GB en_ZA eo es et eu fa fi  fr 
+                          119 131 32  1   6     0   94 95 22 13  4 102 139
+
+                          ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+                        +-------------------------------------------------+
+     a2ps               |                   []          []    [] []       |
+     aegis              |                                     []          |
+     anubis             |                   [] []       []    []          |
+     aspell             | []                []          []    [] []       |
+     bash               |                      []       []    [] []       |
+     bfd                |                               []       []       |
+     binutils           |                               []    [] []       |
+     bison              |                   []                            |
+     bison-runtime      | []    []          [] []    [] []    [] []       |
+     buzztrax           |                                                 |
+     ccd2cue            |                      []                         |
+     ccide              |                   [] []                         |
+     cflow              | []                []          []                |
+     clisp              |                                                 |
+     coreutils          |                      []                []       |
+     cpio               | []                [] []       []    [] []       |
+     cppi               |       []          [] []             [] []       |
+     cpplib             |                               []       []       |
+     cryptsetup         |                                     []          |
+     datamash           |                                                 |
+     denemo             |                                     []          |
+     dfarc              |                   [] []             []          |
+     dialog             | [] [] []          [] []    [] [] [] [] []       |
+     dico               |                                                 |
+     diffutils          |                      []       []    [] []       |
+     dink               |                      []                         |
+     direvent           |                      []                         |
+     doodle             | []                                  []          |
+     dos2unix           |                      []                []       |
+     dos2unix-man       |                                                 |
+     e2fsprogs          |                      []       []                |
+     enscript           | []                []          []                |
+     exif               |       []          []          [] [] [] []       |
+     fetchmail          |                               []    [] []       |
+     findutils          | []    []          [] []       []    [] []       |
+     flex               | []                                              |
+     freedink           |                   [] []       []    []          |
+     fusionforge        |                                                 |
+     gas                |                               []                |
+     gawk               |                               []    () []       |
+     gcal               |                                                 |
+     gcc                |                                                 |
+     gdbm               |                                                 |
+     gettext-examples   | []    []          [] []       []    [] []       |
+     gettext-runtime    | []    []          [] []       []    [] []       |
+     gettext-tools      |                               []    [] []       |
+     gjay               |       []                                        |
+     glunarclock        | []    []          [] []       []    []          |
+     gnubiff            |                      []       []    ()          |
+     gnubik             |       []          []                []          |
+     gnucash            |          () () ()    ()             ()          |
+     gnuchess           |                                                 |
+     gnulib             | []    []             []             [] []       |
+     gnunet             |                                                 |
+     gnunet-gtk         |                                                 |
+     gold               |                               []    []          |
+     gphoto2            |                      []       []    [] []       |
+     gprof              | []                   []       []    []          |
+     gramadoir          | []                   []       []                |
+     grep               | []    []          [] []       []    [] []       |
+     grub               |       []             []             []          |
+     gsasl              | []                [] []       []    []          |
+     gss                | []                [] []       []    []          |
+     gst-plugins-bad    |                   [] []       []                |
+     gst-plugins-base   |       []          [] []       []                |
+     gst-plugins-good   |       []          [] []       []    [] []       |
+     gst-plugins-ugly   |       []          [] []       []    [] []       |
+     gstreamer          |       []          [] []       []    []          |
+     gtick              | []    []             []       []    []          |
+     gtkam              |                      []       [] [] [] []       |
+     gtkspell           | []    []    []    [] [] []    [] [] [] []       |
+     guix               |                                                 |
+     guix-packages      |                                                 |
+     gutenprint         |       []             []             []          |
+     hello              | []    []          [] []       []                |
+     help2man           |                   []                [] []       |
+     help2man-texi      |                                                 |
+     hylafax            |                               []                |
+     idutils            |                      []       []                |
+     iso_15924          |       []             []    [] [] [] []          |
+     iso_3166           | []    [] [] [] [] [] []    [] [] [] [] []    [] |
+     iso_3166_2         |                               []    []          |
+     iso_4217           |                   [] []       [] [] [] []       |
+     iso_639            | []    [] []       [] []       [] [] [] []       |
+     iso_639_3          |       []                            []          |
+     iso_639_5          |                                                 |
+     jwhois             |       []             []       []    []          |
+     kbd                |                      []       []    []          |
+     klavaro            |       []          [] []             []       [] |
+     ld                 | []                            []    [] []       |
+     leafpad            | []    []    []    [] []       []    [] ()       |
+     libc               |       []          []          []    [] []       |
+     libexif            |                                     []          |
+     libextractor       |                                                 |
+     libgnutls          |                                     []          |
+     libgphoto2         |                                     [] []       |
+     libgphoto2_port    |                                     [] []       |
+     libgsasl           | []                   []       []    []          |
+     libiconv           | []    []          [] []       []    [] []       |
+     libidn             |                   [] []       []    []          |
+     liferea            |       []    []       []             [] []       |
+     lilypond           |                                     []          |
+     lordsawar          |                                                 |
+     lprng              |                               []                |
+     lynx               |                      []       []    [] []       |
+     m4                 | []    []          []          []       []       |
+     mailfromd          |                                                 |
+     mailutils          |                                                 |
+     make               |                   []          []    [] []       |
+     man-db             |                               []       []       |
+     man-db-manpages    |                               []       []       |
+     midi-instruments   |       []    []    [] [] []    [] [] [] []       |
+     minicom            |                      []       []       []       |
+     mkisofs            |                               []    []          |
+     myserver           |                                     []          |
+     nano               | []    []          [] []             [] []       |
+     opcodes            | []                            []    []          |
+     parted             |       []             []       []    [] []       |
+     pies               |                                                 |
+     pnmixer            |                   []                []          |
+     popt               | []    [] []       [] []    [] [] [] [] []       |
+     procps-ng          |                                                 |
+     procps-ng-man      |                                                 |
+     psmisc             |                   [] []       []    []          |
+     pspp               |       []                               []       |
+     pushover           |                                     []          |
+     pwdutils           |                               []                |
+     pyspread           |                                                 |
+     radius             |                               []                |
+     recode             | []    []    []    [] []       []    []          |
+     recutils           |                                                 |
+     rpm                |                               []                |
+     rush               |       []                                        |
+     sarg               |                                                 |
+     sed                | []    []          [] []       []    [] []       |
+     sharutils          |                                                 |
+     shishi             |                                                 |
+     skribilo           |                      []                         |
+     solfege            |       []                            []          |
+     solfege-manual     |                                                 |
+     spotmachine        |                                                 |
+     sudo               |       []          []                [] []       |
+     sudoers            |                   []                [] []       |
+     sysstat            |                   [] []       []       []       |
+     tar                | []                [] []       []    [] []       |
+     texinfo            |                   []          []    []          |
+     texinfo_document   |                   [] []             []          |
+     tigervnc           |                                                 |
+     tin                |                                                 |
+     tin-man            |                                                 |
+     tracgoogleappsa... |       []    []    [] []                         |
+     trader             |                   [] []                         |
+     util-linux         |                                        []       |
+     ve                 |                                     []          |
+     vice               |                      ()             ()          |
+     vmm                |                                                 |
+     vorbis-tools       |                   []          []                |
+     wastesedge         |                                     []          |
+     wcd                |                                                 |
+     wcd-man            |                                                 |
+     wdiff              |       []             []             []          |
+     wget               |                   [] []             [] []       |
+     wyslij-po          |       []          []          []                |
+     xboard             |                                                 |
+     xdg-user-dirs      | [] [] [] [] [] [] [] []    [] [] [] [] []    [] |
+     xkeyboard-config   |       []          [] []       []    [] []       |
+                        +-------------------------------------------------+
+                          ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+                          35  2 47  4  8  2 60 71  2  6 81 11 87 57  0  3
+
+                          kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl 
+                        +--------------------------------------------------+
+     a2ps               |                                  []          []  |
+     aegis              |                                              []  |
+     anubis             |                                  []    []    []  |
+     aspell             |                            []                []  |
+     bash               |                                        []    []  |
+     bfd                |                                                  |
+     binutils           |                                                  |
+     bison              |                                              []  |
+     bison-runtime      |          []    [] []             []    []    []  |
+     buzztrax           |                                                  |
+     ccd2cue            |                                                  |
+     ccide              |                   []                         []  |
+     cflow              |                                              []  |
+     clisp              |                                              []  |
+     coreutils          |                                        []    []  |
+     cpio               |                                              []  |
+     cppi               |                                                  |
+     cpplib             |                                              []  |
+     cryptsetup         |                                              []  |
+     datamash           |                                        []    []  |
+     denemo             |                                                  |
+     dfarc              |                      []                      []  |
+     dialog             |       []       [] []             []    []    []  |
+     dico               |                                                  |
+     diffutils          |                   []                   []    []  |
+     dink               |                                              []  |
+     direvent           |                                              []  |
+     doodle             |                                              []  |
+     dos2unix           |                                        []    []  |
+     dos2unix-man       |                                              []  |
+     e2fsprogs          |                                              []  |
+     enscript           |                                              []  |
+     exif               |    []             []                         []  |
+     fetchmail          |                                              []  |
+     findutils          |                                        []    []  |
+     flex               |                                              []  |
+     freedink           |                                        []    []  |
+     fusionforge        |                                                  |
+     gas                |                                                  |
+     gawk               |                                              []  |
+     gcal               |                                                  |
+     gcc                |                                                  |
+     gdbm               |                                                  |
+     gettext-examples   |          []       []             [] [] []    []  |
+     gettext-runtime    |    []                                  []    []  |
+     gettext-tools      |    []                                            |
+     gjay               |                                                  |
+     glunarclock        |                   []                         []  |
+     gnubiff            |                                              []  |
+     gnubik             |                                        []    []  |
+     gnucash            | () ()          () ()          ()       () () []  |
+     gnuchess           |                                        []    []  |
+     gnulib             |                                              []  |
+     gnunet             |                                                  |
+     gnunet-gtk         |                                                  |
+     gold               |                                                  |
+     gphoto2            |                                              []  |
+     gprof              |                                  []          []  |
+     gramadoir          |                                              []  |
+     grep               |                                        []    []  |
+     grub               |                []                      []    []  |
+     gsasl              |                                              []  |
+     gss                |                                                  |
+     gst-plugins-bad    |                   []                   []    []  |
+     gst-plugins-base   |                   []                   []    []  |
+     gst-plugins-good   |                [] []                   []    []  |
+     gst-plugins-ugly   |                   []             [] [] []    []  |
+     gstreamer          |                []                      []    []  |
+     gtick              |                                              []  |
+     gtkam              |                                        []    []  |
+     gtkspell           |          []    [] []       []    []    []    []  |
+     guix               |                                                  |
+     guix-packages      |                                                  |
+     gutenprint         |                                              []  |
+     hello              |                   []                   []    []  |
+     help2man           |                                        []        |
+     help2man-texi      |                                                  |
+     hylafax            |                                              []  |
+     idutils            |                                              []  |
+     iso_15924          |                () []                         []  |
+     iso_3166           | [] [] []       () [] [] []    []       []    []  |
+     iso_3166_2         |                ()                            []  |
+     iso_4217           |                () []                   []    []  |
+     iso_639            | [] []          () []    []    []             []  |
+     iso_639_3          | []             ()             []                 |
+     iso_639_5          |                ()                                |
+     jwhois             |                   []                         []  |
+     kbd                |                                              []  |
+     klavaro            |                                        []    []  |
+     ld                 |                                                  |
+     leafpad            |    []    []    [] []                         []  |
+     libc               |    []                                        []  |
+     libexif            |                                              []  |
+     libextractor       |                                              []  |
+     libgnutls          |                                  []          []  |
+     libgphoto2         |                                              []  |
+     libgphoto2_port    |                                              []  |
+     libgsasl           |                                              []  |
+     libiconv           |                []                            []  |
+     libidn             |                                              []  |
+     liferea            |                [] []                         []  |
+     lilypond           |                                              []  |
+     lordsawar          |                                                  |
+     lprng              |                                                  |
+     lynx               |                                              []  |
+     m4                 |                                              []  |
+     mailfromd          |                                                  |
+     mailutils          |                                                  |
+     make               |    []                                        []  |
+     man-db             |                                              []  |
+     man-db-manpages    |                                              []  |
+     midi-instruments   |    [] []       []          []    []       [] []  |
+     minicom            |                                        []        |
+     mkisofs            |                                              []  |
+     myserver           |                                                  |
+     nano               |                                  []    []    []  |
+     opcodes            |                                              []  |
+     parted             |    []                                        []  |
+     pies               |                                                  |
+     pnmixer            |                                              []  |
+     popt               | [] []             []                   []    []  |
+     procps-ng          |                                                  |
+     procps-ng-man      |                                                  |
+     psmisc             |                                              []  |
+     pspp               |                []                            []  |
+     pushover           |                                                  |
+     pwdutils           |                                              []  |
+     pyspread           |                                                  |
+     radius             |                                              []  |
+     recode             |                                        []    []  |
+     recutils           |                                              []  |
+     rpm                |                                              []  |
+     rush               |                                              []  |
+     sarg               |                                                  |
+     sed                |                                        []    []  |
+     sharutils          |                                              []  |
+     shishi             |                                                  |
+     skribilo           |                                                  |
+     solfege            |                                        []    []  |
+     solfege-manual     |                                              []  |
+     spotmachine        |                                              []  |
+     sudo               |    []                                  []    []  |
+     sudoers            |    []                                  []    []  |
+     sysstat            |                                        []    []  |
+     tar                |          []                            []    []  |
+     texinfo            |                                              []  |
+     texinfo_document   |                                              []  |
+     tigervnc           |                                              []  |
+     tin                |                                                  |
+     tin-man            |                                                  |
+     tracgoogleappsa... |                   []                   []    []  |
+     trader             |                                        []        |
+     util-linux         |                                              []  |
+     ve                 |                                              []  |
+     vice               |                                              []  |
+     vmm                |                                              []  |
+     vorbis-tools       |                                              []  |
+     wastesedge         |                                              []  |
+     wcd                |                                              []  |
+     wcd-man            |                                              []  |
+     wdiff              |                                              []  |
+     wget               |                                        []    []  |
+     wyslij-po          |                                              []  |
+     xboard             |                                              []  |
+     xdg-user-dirs      | [] [] [] []    [] [] [] []    []       []    []  |
+     xkeyboard-config   |    []          []                            []  |
+                        +--------------------------------------------------+
+                          kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl 
+                           5 15  4  6  0 13 23  3  3  3  4 11  2 42  1 125
+
+                          nn or pa pl  ps pt pt_BR ro ru rw sk sl sq sr 
+                        +------------------------------------------------+
+     a2ps               |          []     []  []   [] []       []    []  |
+     aegis              |                     []      []                 |
+     anubis             |          []                 []             []  |
+     aspell             |          []         []   [] []    [] []    []  |
+     bash               |          []         []      []    [] []    []  |
+     bfd                |                             []             []  |
+     binutils           |                             []             []  |
+     bison              |          []         []                     []  |
+     bison-runtime      |          []     []  []   [] []       [] [] []  |
+     buzztrax           |                     []                         |
+     ccd2cue            |                     []                     []  |
+     ccide              |          []                 []             []  |
+     cflow              |          []         []                     []  |
+     clisp              |                             []                 |
+     coreutils          |          []                 []       []    []  |
+     cpio               |          []                 []             []  |
+     cppi               |          []         []                     []  |
+     cpplib             |                     []      []             []  |
+     cryptsetup         |          []         []                     []  |
+     datamash           |                     []                     []  |
+     denemo             |                                                |
+     dfarc              |          []         []                     []  |
+     dialog             |          []         []   [] []    [] []    []  |
+     dico               |          []                                    |
+     diffutils          |          []         []                     []  |
+     dink               |                                                |
+     direvent           |          []         []                     []  |
+     doodle             |                                         [] []  |
+     dos2unix           |          []         []      []             []  |
+     dos2unix-man       |          []         []                         |
+     e2fsprogs          |          []                                    |
+     enscript           |          []         []   [] []       []    []  |
+     exif               |          []         []   [] []    []       []  |
+     fetchmail          |          []                 []          []     |
+     findutils          |          []         []      []    [] []    []  |
+     flex               |          []         []   [] []             []  |
+     freedink           |          []         []      []       []    []  |
+     fusionforge        |                                                |
+     gas                |                                                |
+     gawk               |          []                                    |
+     gcal               |                                                |
+     gcc                |                                                |
+     gdbm               |          []         []                     []  |
+     gettext-examples   |          []     []  []   [] []    [] []    []  |
+     gettext-runtime    | []       []     []  []   [] []    [] []    []  |
+     gettext-tools      |          []         []   [] []    [] []    []  |
+     gjay               |                                            []  |
+     glunarclock        |          []         []   []       [] []    []  |
+     gnubiff            |                                            []  |
+     gnubik             |          []         []               []    []  |
+     gnucash            |          ()     ()  ()   () ()             []  |
+     gnuchess           |                     []                     []  |
+     gnulib             |          []         []      []       []    []  |
+     gnunet             |                                                |
+     gnunet-gtk         |                                                |
+     gold               |                                                |
+     gphoto2            |          []         []   [] []             []  |
+     gprof              |                     []   [] []             []  |
+     gramadoir          |                                   []       []  |
+     grep               |          []         []      []    [] []    []  |
+     grub               |          []         []      []       []    []  |
+     gsasl              |          []                       []       []  |
+     gss                |          []              []       []       []  |
+     gst-plugins-bad    |          []         []      []    []       []  |
+     gst-plugins-base   |          []         []      []    [] []    []  |
+     gst-plugins-good   |          []         []   [] []    [] []    []  |
+     gst-plugins-ugly   |          []         []   [] []    [] []    []  |
+     gstreamer          |          []         []   [] []    [] []    []  |
+     gtick              |          []         []      []    []       []  |
+     gtkam              |       [] []         []      []    []       []  |
+     gtkspell           |          []     []  []   [] []    [] [] [] []  |
+     guix               |                                                |
+     guix-packages      |                                                |
+     gutenprint         |                                   [] []        |
+     hello              |          []         []      []    [] []    []  |
+     help2man           |          []         []      []             []  |
+     help2man-texi      |          []                                    |
+     hylafax            |                                                |
+     idutils            |          []                 []             []  |
+     iso_15924          |          []     ()       [] []       []    []  |
+     iso_3166           | [] [] [] []     ()  []   [] [] [] [] [] [] []  |
+     iso_3166_2         |          []     ()                         []  |
+     iso_4217           | []       []     ()       [] [] []    []    []  |
+     iso_639            |    [] [] []     ()       [] [] [] [] []    []  |
+     iso_639_3          |       []        ()                             |
+     iso_639_5          |                 ()                         []  |
+     jwhois             |          []         []   []                []  |
+     kbd                |          []                 []                 |
+     klavaro            |       [] []         []      []       []        |
+     ld                 |                                                |
+     leafpad            | []       []     []  []      []    [] []    []  |
+     libc               |          []                 []    []           |
+     libexif            |          []         ()            []           |
+     libextractor       |          []                                    |
+     libgnutls          |          []                                    |
+     libgphoto2         |          []                                    |
+     libgphoto2_port    |          []         []      []    []       []  |
+     libgsasl           |          []              []       []       []  |
+     libiconv           |          []         []            [] []    []  |
+     libidn             |          []         []                     []  |
+     liferea            |          []     []  []   [] ()    []    []     |
+     lilypond           |                                                |
+     lordsawar          |                                                |
+     lprng              |          []                                    |
+     lynx               |                     []      []                 |
+     m4                 |          []         []   [] []             []  |
+     mailfromd          |          []                                    |
+     mailutils          |          []                                    |
+     make               |          []         []      []                 |
+     man-db             |          []                 []             []  |
+     man-db-manpages    |          []                 []             []  |
+     midi-instruments   |          []     []  []   [] []    [] []    []  |
+     minicom            |          []         []   [] []                 |
+     mkisofs            |          []                 []             []  |
+     myserver           |                                      []    []  |
+     nano               |          []         []   [] []       []    []  |
+     opcodes            |                                                |
+     parted             |          []         []      []    [] []    []  |
+     pies               |          []                                    |
+     pnmixer            |                             []                 |
+     popt               |          []     []  []      []       []    []  |
+     procps-ng          |          []                                    |
+     procps-ng-man      |          []                                    |
+     psmisc             |          []         []      []             []  |
+     pspp               |          []                 []                 |
+     pushover           |                                                |
+     pwdutils           |          []                                    |
+     pyspread           | []                  []                         |
+     radius             |          []                 []                 |
+     recode             |          []     []  []   [] []    [] []    []  |
+     recutils           |                     []                     []  |
+     rpm                |          []                                    |
+     rush               |          []         []                     []  |
+     sarg               |                     []      []                 |
+     sed                |          []     []  []   [] []    [] []    []  |
+     sharutils          |          []         []                     []  |
+     shishi             |          []                                []  |
+     skribilo           |                                            []  |
+     solfege            |          []         []      []                 |
+     solfege-manual     |          []         []                         |
+     spotmachine        |                     []                     []  |
+     sudo               |          []         []      []    [] []    []  |
+     sudoers            |          []         []               []    []  |
+     sysstat            |          []         []      []    []       []  |
+     tar                |          []         []      []       []    []  |
+     texinfo            |          []         []      []                 |
+     texinfo_document   |          []         []                         |
+     tigervnc           |                     []      []             []  |
+     tin                |                             []                 |
+     tin-man            |                                                |
+     tracgoogleappsa... |          []         []      []             []  |
+     trader             |                             []             []  |
+     util-linux         |          []         []                         |
+     ve                 |          []         []                     []  |
+     vice               |                                                |
+     vmm                |                                                |
+     vorbis-tools       |          []                          []    []  |
+     wastesedge         |                                                |
+     wcd                |                                                |
+     wcd-man            |                                                |
+     wdiff              |          []         []      []       []    []  |
+     wget               |          []         []      []    []       []  |
+     wyslij-po          | []       []         []                     []  |
+     xboard             |          []                 []             []  |
+     xdg-user-dirs      | [] [] [] []  [] []  []   [] []    [] [] [] []  |
+     xkeyboard-config   |          []         []      []       []        |
+                        +------------------------------------------------+
+                          nn or pa pl  ps pt pt_BR ro ru rw sk sl sq sr 
+                           7  3  6 114  1 12  88   32 82  3 40 45  7 101
+
+                          sv  sw ta te tg th tr uk  ur vi  wa wo zh_CN
+                        +----------------------------------------------+
+     a2ps               | []              [] [] []     []              |
+     aegis              |                              []              |
+     anubis             | []                 [] []     []              |
+     aspell             | []                    []     []  []     []   |
+     bash               | []                    []     []         []   |
+     bfd                | []                    []     []              |
+     binutils           | []                    []     []              |
+     bison              | []                    []     []         []   |
+     bison-runtime      | []              [] [] []     []         []   |
+     buzztrax           | []                           []         []   |
+     ccd2cue            |                       []     []         []   |
+     ccide              | []                    []     []         []   |
+     cflow              | []                    []     []         []   |
+     clisp              |                                              |
+     coreutils          | []                    []     []              |
+     cpio               | []                 [] []     []         []   |
+     cppi               | []                    []     []         []   |
+     cpplib             | []                 [] []     []         []   |
+     cryptsetup         |                       []     []         []   |
+     datamash           | []                    []     []              |
+     denemo             |                                         []   |
+     dfarc              | []                           []              |
+     dialog             | []  []          []           []  []     []   |
+     dico               |                       []                     |
+     diffutils          | []                 [] []     []         []   |
+     dink               | []                                           |
+     direvent           |                       []     []              |
+     doodle             | []                           []              |
+     dos2unix           | []                    []     []         []   |
+     dos2unix-man       | []                    []                []   |
+     e2fsprogs          | []                    []     []         []   |
+     enscript           | []                 [] []     []              |
+     exif               | []                 [] []     []         []   |
+     fetchmail          | []                 []        []         []   |
+     findutils          | []                 [] []     []         []   |
+     flex               | []                 []        []         []   |
+     freedink           | []              []           []              |
+     fusionforge        |                                              |
+     gas                |                       []                     |
+     gawk               | []                           []         []   |
+     gcal               | []                 []                   []   |
+     gcc                | []                                           |
+     gdbm               |                       []     []              |
+     gettext-examples   | []                 [] []     []         []   |
+     gettext-runtime    | []                 [] []     []         []   |
+     gettext-tools      | []                 [] []     []         []   |
+     gjay               |                 []           []         []   |
+     glunarclock        | []                           []  []     []   |
+     gnubiff            | []                           []              |
+     gnubik             | []                    []     []         []   |
+     gnucash            |        () ()              () ()         []   |
+     gnuchess           |                       []     []         []   |
+     gnulib             | []                    []     []         []   |
+     gnunet             |                                              |
+     gnunet-gtk         |                                              |
+     gold               |                       []     []              |
+     gphoto2            | []                    []     []         []   |
+     gprof              | []                 [] []     []              |
+     gramadoir          | []                           []         []   |
+     grep               | []              []    []     []         []   |
+     grub               | []                 [] []     []              |
+     gsasl              | []                    []     []         []   |
+     gss                | []                           []         []   |
+     gst-plugins-bad    | []                 [] []     []         []   |
+     gst-plugins-base   | []                 [] []     []         []   |
+     gst-plugins-good   | []                 [] []     []         []   |
+     gst-plugins-ugly   | []                 [] []     []         []   |
+     gstreamer          | []                 [] []     []         []   |
+     gtick              |                       []     []         []   |
+     gtkam              | []                    []     []         []   |
+     gtkspell           | []              [] [] []     []  []     []   |
+     guix               |                                              |
+     guix-packages      |                                              |
+     gutenprint         |                    [] []     []         []   |
+     hello              | []              [] [] []     []         []   |
+     help2man           |                       []     []         []   |
+     help2man-texi      |                       []                     |
+     hylafax            |                              []              |
+     idutils            |                       []     []         []   |
+     iso_15924          | []              () [] []     ()         []   |
+     iso_3166           | []        []    () [] []     ()  []     []   |
+     iso_3166_2         |                 () [] []     ()         []   |
+     iso_4217           | []              () [] []     ()         []   |
+     iso_639            | []     [] []    () [] []     ()  []     []   |
+     iso_639_3          |        []       () [] []     ()              |
+     iso_639_5          |                 ()    []     ()              |
+     jwhois             | []                 []        []         []   |
+     kbd                | []                    []     []         []   |
+     klavaro            | []                    []  [] []     []  []   |
+     ld                 | []                 [] []     []         []   |
+     leafpad            | []              [] [] []     []         []   |
+     libc               | []                 [] []     []         []   |
+     libexif            | []                           []         ()   |
+     libextractor       |                       []     []              |
+     libgnutls          | []                    []     []         []   |
+     libgphoto2         | []                    []     []              |
+     libgphoto2_port    | []                    []     []         []   |
+     libgsasl           | []                    []     []         []   |
+     libiconv           | []                    []     []  []     []   |
+     libidn             | ()                    []     []         []   |
+     liferea            | []                 [] []     []         []   |
+     lilypond           |                              []              |
+     lordsawar          |                                              |
+     lprng              |                              []              |
+     lynx               | []                 [] []     []              |
+     m4                 | []                           []         []   |
+     mailfromd          |                       []     []              |
+     mailutils          |                              []              |
+     make               | []                    []     []         []   |
+     man-db             | []                           []         []   |
+     man-db-manpages    | []                                      []   |
+     midi-instruments   | []              [] [] []     []         []   |
+     minicom            | []                           []              |
+     mkisofs            |                       []     []         []   |
+     myserver           |                              []              |
+     nano               | []                    []     []         []   |
+     opcodes            |                       []     []         []   |
+     parted             | []                 [] []     []         []   |
+     pies               |                       []     []              |
+     pnmixer            |                       []     []         []   |
+     popt               | []     []       [] [] []     []         []   |
+     procps-ng          |                       []     []              |
+     procps-ng-man      |                       []                     |
+     psmisc             | []                    []     []         []   |
+     pspp               |                    [] []                []   |
+     pushover           | []                                           |
+     pwdutils           | []                           []              |
+     pyspread           |                       []                     |
+     radius             |                       []     []              |
+     recode             | []                 []        []         []   |
+     recutils           | []                    []     []              |
+     rpm                | []                    []     []         []   |
+     rush               |                       []     []              |
+     sarg               |                                              |
+     sed                | []                 [] []     []         []   |
+     sharutils          | []                    []     []         []   |
+     shishi             |                              []         []   |
+     skribilo           | []                    []                     |
+     solfege            | []                 []        []         []   |
+     solfege-manual     |                    []                        |
+     spotmachine        | []                    []     []              |
+     sudo               | []                 [] []     []         []   |
+     sudoers            | []                    []     []         []   |
+     sysstat            | []                 [] []     []         []   |
+     tar                | []                 [] []     []         []   |
+     texinfo            |                    [] []     []              |
+     texinfo_document   |                       []                     |
+     tigervnc           | []                    []                []   |
+     tin                |                                         []   |
+     tin-man            |                                              |
+     tracgoogleappsa... | []              []    []     []         []   |
+     trader             | []                                           |
+     util-linux         | []                    []     []         []   |
+     ve                 | []                    []     []         []   |
+     vice               | ()                 ()                        |
+     vmm                |                                              |
+     vorbis-tools       | []                           []              |
+     wastesedge         |                                              |
+     wcd                |                       []     []         []   |
+     wcd-man            |                       []                     |
+     wdiff              | []                    []     []         []   |
+     wget               |                       []     []         []   |
+     wyslij-po          |                       []     []              |
+     xboard             |                       []                []   |
+     xdg-user-dirs      | []     [] []    [] [] []     []         []   |
+     xkeyboard-config   | []                 [] []     []              |
+                        +----------------------------------------------+
+                          sv  sw ta te tg th tr uk  ur vi  wa wo zh_CN
+                          106  1  4  3  0 13 51 115  1 125  7  1  100 
+
+                          zh_HK zh_TW
+                        +-------------+
+     a2ps               |             | 30
+     aegis              |             |  9
+     anubis             |             | 19
+     aspell             |             | 29
+     bash               |        []   | 23
+     bfd                |             | 11
+     binutils           |             | 12
+     bison              |        []   | 18
+     bison-runtime      |        []   | 38
+     buzztrax           |             |  9
+     ccd2cue            |             | 10
+     ccide              |             | 17
+     cflow              |             | 16
+     clisp              |             | 10
+     coreutils          |             | 18
+     cpio               |             | 20
+     cppi               |             | 17
+     cpplib             |        []   | 19
+     cryptsetup         |             | 14
+     datamash           |             | 11
+     denemo             |             |  5
+     dfarc              |             | 17
+     dialog             |        []   | 42
+     dico               |             |  6
+     diffutils          |             | 22
+     dink               |             | 10
+     direvent           |             | 11
+     doodle             |             | 12
+     dos2unix           |        []   | 18
+     dos2unix-man       |             |  9
+     e2fsprogs          |             | 15
+     enscript           |             | 21
+     exif               |             | 27
+     fetchmail          |             | 19
+     findutils          |             | 29
+     flex               |        []   | 19
+     freedink           |             | 24
+     fusionforge        |             |  3
+     gas                |             |  5
+     gawk               |             | 13
+     gcal               |             |  8
+     gcc                |             |  2
+     gdbm               |             | 10
+     gettext-examples   |  []    []   | 40
+     gettext-runtime    |  []    []   | 35
+     gettext-tools      |        []   | 24
+     gjay               |             |  9
+     glunarclock        |        []   | 27
+     gnubiff            |             |  9
+     gnubik             |             | 19
+     gnucash            |        ()   |  6
+     gnuchess           |             | 11
+     gnulib             |             | 23
+     gnunet             |             |  1
+     gnunet-gtk         |             |  1
+     gold               |             |  7
+     gphoto2            |        []   | 19
+     gprof              |             | 21
+     gramadoir          |             | 14
+     grep               |        []   | 31
+     grub               |             | 21
+     gsasl              |        []   | 19
+     gss                |             | 17
+     gst-plugins-bad    |             | 21
+     gst-plugins-base   |             | 27
+     gst-plugins-good   |             | 32
+     gst-plugins-ugly   |             | 34
+     gstreamer          |        []   | 32
+     gtick              |             | 19
+     gtkam              |             | 24
+     gtkspell           |  []    []   | 48
+     guix               |             |  2
+     guix-packages      |             |  0
+     gutenprint         |             | 15
+     hello              |        []   | 30
+     help2man           |             | 18
+     help2man-texi      |             |  5
+     hylafax            |             |  5
+     idutils            |             | 14
+     iso_15924          |        []   | 23
+     iso_3166           |  []    []   | 58
+     iso_3166_2         |             |  9
+     iso_4217           |  []    []   | 28
+     iso_639            |  []    []   | 46
+     iso_639_3          |             | 10
+     iso_639_5          |             |  2
+     jwhois             |        []   | 20
+     kbd                |             | 17
+     klavaro            |             | 30
+     ld                 |        []   | 15
+     leafpad            |        []   | 39
+     libc               |        []   | 24
+     libexif            |             | 10
+     libextractor       |             |  5
+     libgnutls          |             | 13
+     libgphoto2         |             | 10
+     libgphoto2_port    |        []   | 19
+     libgsasl           |             | 18
+     libiconv           |        []   | 29
+     libidn             |             | 17
+     liferea            |             | 29
+     lilypond           |             | 11
+     lordsawar          |             |  3
+     lprng              |             |  3
+     lynx               |             | 19
+     m4                 |        []   | 22
+     mailfromd          |             |  4
+     mailutils          |             |  6
+     make               |             | 19
+     man-db             |             | 15
+     man-db-manpages    |             | 10
+     midi-instruments   |        []   | 43
+     minicom            |        []   | 17
+     mkisofs            |             | 13
+     myserver           |             |  9
+     nano               |        []   | 30
+     opcodes            |             | 12
+     parted             |        []   | 23
+     pies               |             |  4
+     pnmixer            |             |  9
+     popt               |        []   | 36
+     procps-ng          |             |  5
+     procps-ng-man      |             |  4
+     psmisc             |        []   | 22
+     pspp               |             | 13
+     pushover           |             |  6
+     pwdutils           |             |  8
+     pyspread           |             |  6
+     radius             |             |  9
+     recode             |             | 31
+     recutils           |             | 10
+     rpm                |        []   | 13
+     rush               |             | 10
+     sarg               |             |  4
+     sed                |        []   | 35
+     sharutils          |             | 13
+     shishi             |             |  7
+     skribilo           |             |  7
+     solfege            |             | 21
+     solfege-manual     |             |  9
+     spotmachine        |             | 11
+     sudo               |             | 26
+     sudoers            |             | 22
+     sysstat            |             | 23
+     tar                |        []   | 30
+     texinfo            |             | 17
+     texinfo_document   |             | 13
+     tigervnc           |             | 14
+     tin                |        []   |  7
+     tin-man            |             |  1
+     tracgoogleappsa... |        []   | 22
+     trader             |             | 12
+     util-linux         |             | 13
+     ve                 |             | 14
+     vice               |             |  1
+     vmm                |             |  3
+     vorbis-tools       |             | 13
+     wastesedge         |             |  3
+     wcd                |             |  8
+     wcd-man            |             |  3
+     wdiff              |        []   | 23
+     wget               |             | 21
+     wyslij-po          |             | 14
+     xboard             |             | 10
+     xdg-user-dirs      |  []    []   | 68
+     xkeyboard-config   |        []   | 28
+                        +-------------+
+       89 teams           zh_HK zh_TW
+      166 domains           7    42    2809
+
+   Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect.  This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+   For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and distributed
+as such by its maintainer.  There might be an observable lag between the
+mere existence a PO file and its wide availability in a distribution.
+
+   If Jun 2014 seems to be old, you may fetch a more recent copy of this
+'ABOUT-NLS' file on most GNU archive sites.  The most up-to-date matrix
+with full percentage details can be found at
+'http://translationproject.org/extra/matrix.html'.
+
+1.5 Using 'gettext' in new packages
+===================================
+
+If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU 'gettext' in your
+package.  Of course you have to respect the GNU Lesser General Public
+License which covers the use of the GNU 'gettext' library.  This means
+in particular that even non-free programs can use 'libintl' as a shared
+library, whereas only free software can use 'libintl' as a static
+library or use modified versions of 'libintl'.
+
+   Once the sources are changed appropriately and the setup can handle
+the use of 'gettext' the only thing missing are the translations.  The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project.  Therefore the information given above
+applies also for every other Free Software Project.  Contact
+'coordinator@translationproject.org' to make the '.pot' files available
+to the translation teams.
index 5876cf5..2c5db4f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2017-11-07  gettextize  <bug-gnu-gettext@gnu.org>
+
+       * m4/gettext.m4: New file, from gettext-0.19.8.1.
+       * m4/iconv.m4: New file, from gettext-0.19.8.1.
+       * m4/lib-ld.m4: New file, from gettext-0.19.8.1.
+       * m4/lib-link.m4: New file, from gettext-0.19.8.1.
+       * m4/lib-prefix.m4: New file, from gettext-0.19.8.1.
+       * m4/nls.m4: New file, from gettext-0.19.8.1.
+       * m4/po.m4: New file, from gettext-0.19.8.1.
+       * m4/progtest.m4: New file, from gettext-0.19.8.1.
+       * Makefile.am (EXTRA_DIST): Add config.rpath.
+       * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
+
+2017-11-07  gettextize  <bug-gnu-gettext@gnu.org>
+
+       * m4/gettext.m4: New file, from gettext-0.19.8.1.
+       * m4/iconv.m4: New file, from gettext-0.19.8.1.
+       * m4/lib-ld.m4: New file, from gettext-0.19.8.1.
+       * m4/lib-link.m4: New file, from gettext-0.19.8.1.
+       * m4/lib-prefix.m4: New file, from gettext-0.19.8.1.
+       * m4/nls.m4: New file, from gettext-0.19.8.1.
+       * m4/po.m4: New file, from gettext-0.19.8.1.
+       * m4/progtest.m4: New file, from gettext-0.19.8.1.
+       * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
+
 commit 13087e38ace4f092667ab08617ced1d559f3d2e2
 Author: Akira TAGOH <akira@tagoh.org>
 Date:   Wed Apr 6 21:05:36 2016 +0900
index 2b4a5b8..cc3024e 100644 (file)
 #  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 #  PERFORMANCE OF THIS SOFTWARE.
 
-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
+SUBDIRS=fontconfig fc-case fc-lang src \
+       fc-cache fc-cat fc-conflist fc-list fc-match \
+       fc-pattern fc-query fc-scan fc-validate conf.d \
+       its po po-conf test
 if ENABLE_DOCS
 SUBDIRS += doc
 endif
 
 ACLOCAL_AMFLAGS = -I m4
 
-EXTRA_DIST = \
-        fontconfig.pc.in \
-        fonts.conf.in \
+EXTRA_DIST = config.rpath  \
+       fontconfig.pc.in \
+       fonts.conf.in \
        fonts.dtd \
-        fontconfig.spec.in \
-        fontconfig.spec \
+       fontconfig.spec.in \
+       fontconfig.spec \
        fontconfig-zip.in \
        config-fixups.h
 CLEANFILES = fonts.conf
index a3e69a5..0b80f26 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -117,10 +117,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
@@ -216,14 +221,14 @@ am__define_uniq_tagged_files = \
 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
+DIST_SUBDIRS = fontconfig fc-case fc-lang src fc-cache fc-cat \
+       fc-conflist fc-list fc-match fc-pattern fc-query fc-scan \
+       fc-validate conf.d its po po-conf test doc
 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
        $(srcdir)/fontconfig-zip.in $(srcdir)/fontconfig.pc.in \
-       $(srcdir)/fontconfig.spec.in AUTHORS COPYING ChangeLog INSTALL \
-       NEWS README compile config.guess config.sub depcomp install-sh \
-       ltmain.sh missing
+       $(srcdir)/fontconfig.spec.in ABOUT-NLS AUTHORS COPYING \
+       ChangeLog INSTALL NEWS README compile config.guess \
+       config.rpath config.sub depcomp install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -306,7 +311,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -318,8 +327,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -331,11 +344,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -355,15 +373,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -371,8 +387,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -419,13 +441,9 @@ 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@
@@ -434,11 +452,11 @@ 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)
+SUBDIRS = fontconfig fc-case fc-lang src fc-cache fc-cat fc-conflist \
+       fc-list fc-match fc-pattern fc-query fc-scan fc-validate \
+       conf.d its po po-conf test $(am__append_1)
 ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = fontconfig.pc.in fonts.conf.in fonts.dtd \
+EXTRA_DIST = config.rpath fontconfig.pc.in fonts.conf.in fonts.dtd \
        fontconfig.spec.in fontconfig.spec fontconfig-zip.in \
        config-fixups.h ChangeLog
 CLEANFILES = fonts.conf
@@ -742,7 +760,7 @@ distdir: $(DISTFILES)
          ! -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
+       tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
        $(am__post_remove_distdir)
 dist-bzip2: distdir
        tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
@@ -767,7 +785,7 @@ dist-shar: distdir
        @echo WARNING: "Support for shar distribution archives 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
+       shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
        $(am__post_remove_distdir)
 
 dist-zip: distdir
@@ -785,7 +803,7 @@ dist dist-all:
 distcheck: dist
        case '$(DIST_ARCHIVES)' in \
        *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
        *.tar.lz*) \
@@ -795,7 +813,7 @@ distcheck: dist
        *.tar.Z*) \
          uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
        *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
diff --git a/README b/README
index bf840a5..c5e605d 100644 (file)
--- a/README
+++ b/README
                               Fontconfig
              Font configuration and customization library
-                            Version 2.12.1
-                              2016-08-05
+                             Version 2.13
+                              2018-03-06
 
 
 Check INSTALL for compilation and installation instructions.
 Report bugs to https://bugs.freedesktop.org in the fontconfig module.
 
+2.13
+
+Akira TAGOH (4):
+      Add Simplified Chinese translations
+      Fix a build issue on MinGW with enabling nls
+      Initialize an array explicitly
+      Bump the libtool revision
+
+2.12.93 (2.13 RC3)
+
+Akira TAGOH (12):
+      trivial fix
+      Add files to enable ITS support in gettext
+      Use the native ITS support in gettext
+      Remove POTFILES.in until new release of gettext is coming...
+      export GETTEXTDATADIR to refer the local .its/.loc file instead of using --its option
+      clean up
+      Do not add cflags and libs coming from pkg-config file.
+      Revert some removal from 7ac6af6
+      Take effects on dir, cachedir, acceptfont, and rejectfont only when loading
+      Do not mix up font dirs into the list of config dirs
+      Ensure the user config dir is available in the list of config dirs on the fallback config
+      Add missing files to ship
+
+Alexander Larsson (1):
+      FcHashTableAddInternal: Compare against the right key
+
+Behdad Esfahbod (5):
+      Remove hack for OS/2 weights 1..9
+      Support FC_WIDTH as double as well
+      Fix leak
+      Use FT_Done_MM_Var if available
+      Fix undefined-behavior signed shifts
+
+Olivier Crête (1):
+      Fix cross-compilation by passing CPPFLAGS to CPP
+
+Tom Anderson (1):
+      Allow overriding symbol visibility.
+
+2.12.92 (2.13 RC2)
+
+Akira TAGOH (13):
+      cleanup files
+      Update .uuid only when -r is given but not -f.
+      Returns false if key is already available in the table
+      Add missing doc of FcDirCacheCreateUUID
+      Replace uuid in the table properly when -r
+      Add a test case for uuid creation
+      Do not update mtime with creating .uuid
+      Disable uuid related code on Win32
+      Try to get current instance of FcConfig as far as possible
+      do not check the existence of itstool on win32
+      Fix the mis-ordering of ruleset evaluation in a file with include element
+      Fix compiler warnings
+      Add FcReadLink to wrap up readlink impl.
+
+Alexander Larsson (1):
+      fchash: Fix replace
+
+Behdad Esfahbod (7):
+      Don't crash
+      Remove a debug abort()
+      Minor
+      Set font-variations settings for standard axes in variable fonts
+      Let pattern FC_FONT_VARIATIONS override standard axis variations
+      Put back accidentally removed code
+      Add FcWeightTo/FromOpenTypeDouble()
+
+2.12.91 (2.13 RC1)
+
+Akira TAGOH (37):
+      und_zsye.orth: polish to get for NotoEmoji-Regular.ttf
+      Revert "Keep the same behavior to the return value of FcConfigParseAndLoad"
+      Fix again to keep the same behavior to the return value of FcConfigParseAndLoad
+      cleanup
+      Fix a compiler warning
+      Update libtool revision
+      Bump version to 2.12.6
+      doc: trivial update
+      Add the ruleset description support
+      workaround to avoid modifying by gettextize
+      missing an open parenthesis
+      another workaround to avoid modifying by gettextize...
+      Validate cache more carefully
+      Allow autoreconf through autopoint for gettext things
+      Correct debugging messages to load/scan config
+      Add the check of PCF_CONFIG_OPTION_LONG_FAMILY_NAMES back
+      Use uuid-based cache filename if uuid is assigned to dirs
+      Add new API to find out a font from current search path
+      Replace the font path in FcPattern to what it is actually located.
+      Replace the original path to the new one
+      Replace the path of subdirs in caches as well
+      Don't call FcStat when the alias has already been added
+      Destroy the alias and UUID tables when all of caches is unloaded
+      cleanup
+      abstract hash table functions
+      update
+      Fix memory leak
+      Fix a typo
+      Don't call FcStat when the alias has already been added
+      Add a testcase for bind-mounted cachedir
+      cleanup
+      Use smaller prime for hash size
+      Fix the testcase for env not enabled PCF_CONFIG_OPTION_LONG_FAMILY_NAMES in freetype
+      thread-safe functions in fchash.c
+      Fix distcheck error
+      Fix "make check" fail again
+      Bump the libtool revision
+
+Alban Browaeys (1):
+      Fixes cleanup
+
+Alexander Kanavin (1):
+      src/fcxml.c: avoid double free() of filename
+
+Bastien Nocera (1):
+      conf: Prefer system emoji fonts to third-party ones
+
+Behdad Esfahbod (76):
+      Minor
+      Remove stray printf()
+      [fc-query] Fix linking order
+      Instead of loading glyphs (with FreeType), just check loca table
+      Don't even check loca for glyph outline detection
+      Check for non-empty outline for U+0000..U+001F
+      Add back code for choosing strike, and cleanup
+      Minor: adjust debug output
+      Remove unnecessary check
+      Remove a few unused blanks parameters
+      Remove check that cannot fail
+      Remove use of psnames for charset construction
+      Remove unused variable
+      Remove fc-glyphname
+      Remove blanks facility from the library
+      Remove blanks support from fc-scan
+      Mark more parameters FC_UNUSED
+      Move variables to narrower scope and indent
+      Remove unneeded check
+      Use multiplication instead of division
+      Use inline functions instead of macros for a couple of things
+      Simplify advance-width calculations
+      Inline FcFreeTypeCheckGlyph()
+      Call FT_Get_Advance() only as long as we need to determine font width type
+      Minor
+      Update documentation for removal of blanks
+      Merge branch 'faster'
+      Add FcFreeTypeQueryAll()
+      Document FcFreeTypeQueryAll()
+      Accept NULL in for spacing in FcFreeTypeCharSetAndSpacing()
+      Remove FcCompareSize()
+      Rename FcCompareSizeRange() to FcCompareRange()
+      Rewrite FcCompareRange()
+      In FcSubstituteDefault(), handle size range
+      Check instance-index before accessing array
+      Indent
+      [varfonts] Add FC_FONT_VARIATIONS
+      [varfonts] Add FC_VARIABLE
+      [varfonts] Change id argument in FcFreeTypeQuery* to unsigned int
+      Print ranges as closed as opposed to half-open
+      [varfonts] Change FC_WEIGHT and FC_WIDTH into ranges
+      [varfonts] Query varfonts if id >> 16 == 0x8000
+      Fix instance-num handling in collections
+      [varfonts] Query variable font in FcFreeTypeQueryAll()
+      [varfonts] Fetch optical-size for named instances
+      In RenderPrepare(), handle ranges smartly
+      [fc-query] Remove --ignore-blanks / -b
+      [fc-match/fc-list/fc-query/fc-scan] Add --brief that is like --verbose without charset
+      Add separate match compare function for size
+      Fix range comparision operators implementation
+      Adjust emboldening logic
+      [varfonts] Map from OpenType to Fontconfig weight values
+      Add FcDontCare value to FcBool
+      Implement more config bool operations for boolean types
+      Fix possible div-by-zero
+      [varfonts] Use fvar data even if there's no variation in it
+      Minor
+      Revert "[varfonts] Use fvar data even if there's no variation in it"
+      [varfonts] Minor
+      [varfonts] Comment
+      [varfonts] Don't set style for variable-font pattern
+      [varfonts] Skip named-instance that is equivalent to base font
+      [varfonts] Do not set postscriptname for varfont pattern
+      [varfonts] Don't reopen face for each named instance
+      Separate charset and spacing code
+      [varfonts] Reuse charset for named instances
+      Move whitespace-trimming code to apply to all name-table strings
+      Fix whitespace-trimming loop and empty strings...
+      Whitespace
+      Don't convert nameds to UTF-8 unless we are going to use them
+      Simplify name-table platform mathcing logic
+      Use binary-search for finding name table entries
+      [varfonts] Share lang across named-instances
+      Merge branch 'varfonts2'
+      Require freetype >= 2.8.1
+      Remove assert
+
+David Kaspar [Dee'Kej] (1):
+      conf.d: Drop aliases for (URW)++ fonts
+
+Florian Müllner (1):
+      build: Remove references to deleted file
+
+2.12.6
+
+Akira TAGOH (4):
+      und_zsye.orth: polish to get for NotoEmoji-Regular.ttf
+      Revert "Keep the same behavior to the return value of FcConfigParseAndLoad"
+      Fix again to keep the same behavior to the return value of FcConfigParseAndLoad
+      Update libtool revision
+
+Behdad Esfahbod (2):
+      Minor
+      [fc-query] Fix linking order
+
+David Kaspar [Dee'Kej] (1):
+      conf.d: Drop aliases for (URW)++ fonts
+
+Florian Müllner (1):
+      build: Remove references to deleted file
+
+2.12.5
+
+Akira TAGOH (17):
+      Add FcPatternGetWithBinding() to obtain the binding type of the value in FcPattern.
+      Add FcConfigParseAndLoadFromMemory() to load a configuration from memory.
+      Bug 101726 - Sans config pulls in Microsoft Serifed font
+      Fix gcc warnings with enabling libxml2
+      Add und-zsye.orth to support emoji in lang
+      Add more code points to und-zsye.orth
+      Keep the same behavior to the return value of FcConfigParseAndLoad
+      Do not ship fcobjshash.gperf in archive
+      Accept 4 digit script tag in FcLangNormalize().
+      Fix to work the debugging option on fc-validate
+      Add und_zmth.orth to support Math in lang
+      Polish und_zmth.orth for Libertinus Math
+      Polish und_zmth.orth more for Cambria Math and Minion Math
+      Update similar to emoji's
+      fc-blanks: fall back to the static data available in repo if downloaded data is corrupted
+      Update docs
+      Update libtool versioning
+
+Behdad Esfahbod (14):
+      Pass --pic to gperf
+      Add generic family matching for "emoji" and "math"
+      [fc-query] Support listing named instances
+      Add Twitter Color Emoji
+      Add EmojiOne Mozilla font
+      [fc-lang] Allow using ".." instead of "-" in ranges
+      Minor
+      Remove unneeded codepoints
+      Adjust color emoji config some more
+      Ignore 'und-' prefix for in FcLangCompare
+      Minor
+      Fix sign-difference compare warning
+      Fix warning
+      Fix weight mapping
+
+2.12.4
+
+Akira TAGOH (5):
+      Force regenerate fcobjshash.h when updating Makefile
+      Fix the build failure when srcdir != builddir and have gperf 3.1 or later installed
+      Add a testcase for Bug#131804
+      Update libtool revision
+      Fix distcheck error
+
+Florent Rougon (6):
+      FcCharSetHash(): use the 'numbers' values to compute the hash
+      fc-lang: gracefully handle the case where the last language initial is < 'z'
+      Fix an off-by-one error in FcLangSetIndex()
+      Fix erroneous test on language id in FcLangSetPromote()
+      FcLangSetCompare(): fix bug when two charsets come from different "buckets"
+      FcCharSetFreezeOrig(), FcCharSetFindFrozen(): use all buckets of freezer->orig_hash_table
+
+Helmut Grohne (1):
+      fix cross compilation
+
+Jan Alexander Steffens (heftig) (1):
+      Fix testing PCF_CONFIG_OPTION_LONG_FAMILY_NAMES (CFLAGS need to be right)
+
+Josselin Mouette (1):
+      Treat C.UTF-8 and C.utf8 locales as built in the C library.
+
+Masamichi Hosoda (1):
+      Bug 99360 - Fix cache file update on MinGW
+
+2.12.3
+
+Akira TAGOH (1):
+      Fix make check fail with freetype-2.7.1 and 2.8 with PCF_CONFIG_OPTION_LONG_FAMILY_NAMES enabled.
+
+2.12.2
+
+Akira TAGOH (8):
+      Don't call perror() if no changes happens in errno
+      Fix FcCacheOffsetsValid()
+      Fix the build issue with gperf 3.1
+      Fix the build issue on GNU/Hurd
+      Update a bit for the changes in FreeType 2.7.1
+      Add the description of FC_LANG envvar to the doc
+      Bug 101202 - fontconfig FTBFS if docbook-utils is installed
+      Update libtool revision
+
+Alan Coopersmith (1):
+      Correct cache version info in doc/fontconfig-user.sgml
+
+Khem Raj (1):
+      Avoid conflicts with integer width macros from TS 18661-1:2014
+
+Masamichi Hosoda (2):
+      Fix PostScript font alias name
+      Update aliases for URW June 2016
+
 2.12.1
 
 Akira TAGOH (6):
index c6fed20..8ac4ff4 100644 (file)
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ 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-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.15'
 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.15], [],
+m4_if([$1], [1.15.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_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.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.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-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -332,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -408,7 +408,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -605,7 +605,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -626,7 +626,7 @@ if test x"${install_sh+set}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -647,7 +647,7 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -697,7 +697,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -736,7 +736,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -765,7 +765,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -812,242 +812,7 @@ AC_LANG_POP([C])])
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 1999-2014 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-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1066,7 +831,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1147,7 +912,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1207,7 +972,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1235,7 +1000,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1254,7 +1019,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1389,9 +1154,18 @@ 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/gettext.m4])
+m4_include([m4/iconv.m4])
+m4_include([m4/intlmacosx.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.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/nls.m4])
 m4_include([m4/pkg.m4])
+m4_include([m4/po.m4])
+m4_include([m4/progtest.m4])
diff --git a/compile b/compile
index a85b723..2ab71e4 100755 (executable)
--- a/compile
+++ b/compile
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -255,7 +255,8 @@ EOF
     echo "compile $scriptversion"
     exit $?
     ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
 esac
@@ -342,6 +343,6 @@ exit $ret
 # 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-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index f9032ba..50ec3b4 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Enable autohinter</description>
 <!--  Use the Autohinter --> 
   <match target="pattern">
     <!--
index 27d8229..aff7976 100644 (file)
@@ -1,6 +1,12 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set hintfull to hintstyle</description>
+
   <match target="pattern">
     <!--
       This configuration is available on the major desktop environments.
index e34ab5b..1d49f3a 100644 (file)
@@ -1,6 +1,12 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set hintmedium to hintstyle</description>
+
   <match target="pattern">
     <!--
       This configuration is available on the major desktop environments.
index 0b3810d..a134ed8 100644 (file)
@@ -1,6 +1,12 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set hintnone to hintstyle</description>
+
   <match target="pattern">
     <!--
       This configuration is available on the major desktop environments.
index c244ac0..f00bcd3 100644 (file)
@@ -1,6 +1,12 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set hintslight to hintstyle</description>
+
   <match target="pattern">
     <!--
       This configuration is available on the major desktop environments.
index 635847c..4fd1776 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Disable sub-pixel rendering</description>
 <!--  Disable sub-pixel rendering --> 
   <match target="pattern">
     <!--
index b4e9cb4..ebb6c7b 100644 (file)
@@ -1,7 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
 
+  <description>Bitmap scaling</description>
 <!--
   If font is bitmap, calculate scale factor.
   Note that color bitmap fonts have scalable=true, while
index 1378195..241e589 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Enable sub-pixel rendering with the BGR stripes layout</description>
 <!--  Enable sub-pixel rendering --> 
   <match target="pattern">
     <!--
index 757c3b6..1cb103d 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Enable sub-pixel rendering with the RGB stripes layout</description>
 <!--  Enable sub-pixel rendering --> 
   <match target="pattern">
     <!--
index c807e5c..1a0690a 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Enable sub-pixel rendering with the vertical BGR stripes layout</description>
 <!--  Enable sub-pixel rendering --> 
   <match target="pattern">
     <!--
index b5985e0..61bc663 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Enable sub-pixel rendering with the vertical RGB stripes layout</description>
 <!--  Enable sub-pixel rendering --> 
   <match target="pattern">
     <!--
index a25e3b1..f92df0c 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Disable hinting</description>
 <!--  Disable hinting --> 
   <match target="pattern">
     <!--
index 9d7d11f..929caaa 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Use lcddefault as default for LCD filter</description>
 <!--  Use lcddefault as default for LCD filter -->
   <match target="pattern">
     <!--
index 7e2b256..25c3635 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Use lcdlegacy as default for LCD filter</description>
 <!--  Use lcdlegacy as default for LCD filter -->
   <match target="pattern">
     <!--
index 0dd0a90..6f1eb3d 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Use lcdlight as default for LCD filter</description>
 <!--  Use lcdlight as default for LCD filter -->
   <match target="pattern">
     <!--
index c9505ca..7b3d7bd 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Disable hinting for Bitstream Vera fonts when the size is less than 8ppem</description>
 <!-- 
        The Bitstream Vera fonts have GASP entries suggesting that hinting be
        disabled below 8 ppem, but FreeType ignores those, preferring to use
index 9adffa7..78cc7a3 100644 (file)
@@ -1,7 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
 
+  <description>Disable hinting for CJK fonts</description>
 <!-- We can't hint CJK fonts well, so turn off hinting for CJK fonts. -->
 
        <match target="font">
index cd1e924..147fde6 100644 (file)
@@ -1,22 +1,27 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set substitutions for similar/metric-compatible families</description>
 
 <!--
 
 Alias similar/metric-compatible families from various sources:
 
-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
+PostScript fonts:       URW fonts:           GUST fonts:        Windows fonts:
+======================  ==================  =================  ==================
+Helvetica               Nimbus Sans         TeX Gyre Heros
+Helvetica Narrow        Nimbus Sans Narrow  TeX Gyre Heros Cn
+Times                   Nimbus Roman        TeX Gyre Termes
+Courier                 Nimbus Mono PS      TeX Gyre Cursor
+ITC Avant Garde Gothic  URW Gothic          TeX Gyre Adventor
+ITC Bookman             URW Bookman         TeX Gyre Bonum     Bookman Old Style
+ITC Zapf Chancery       Z003                TeX Gyre Chorus
+Palatino                P052                TeX Gyre Pagella   Palatino Linotype
+New Century Schoolbook  C059                TeX Gyre Schola    Century Schoolbook
 
 Microsoft fonts:  Liberation fonts:       Google CrOS core fonts:  StarOffice fonts:  AMT fonts:
 ================  ======================  =======================  =================  ==============
@@ -44,6 +49,9 @@ but in an order preferring similar designs first.  We do this in three steps:
 3) Alias each generic to its specifics.
    e.g. Arial to Liberation Sans, Arimo, Albany, and Albany AMT
 
+NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
+      upstream now includes them in their release of (URW)++ Core Font Set here:
+      https://github.com/ArtifexSoftware/urw-base35-fonts/tree/master/fontconfig
 -->
 
 <!-- Map specifics to generics -->
@@ -73,14 +81,14 @@ but in an order preferring similar designs first.  We do this in three steps:
        <alias binding="same">
          <family>Nimbus Sans Narrow</family>
          <default>
-         <family>Helvetica Condensed</family>
+         <family>Helvetica Narrow</family>
          </default>
        </alias>
 
        <alias binding="same">
          <family>TeX Gyre Heros Cn</family>
          <default>
-         <family>Helvetica Condensed</family>
+         <family>Helvetica Narrow</family>
          </default>
        </alias>
 
@@ -120,6 +128,13 @@ but in an order preferring similar designs first.  We do this in three steps:
        </alias>
 
        <alias binding="same">
+         <family>Nimbus Mono PS</family>
+         <default>
+         <family>Courier</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>TeX Gyre Cursor</family>
          <default>
          <family>Courier</family>
@@ -176,6 +191,13 @@ but in an order preferring similar designs first.  We do this in three steps:
        </alias>
 
        <alias binding="same">
+         <family>URW Bookman</family>
+         <default>
+         <family>ITC Bookman</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>TeX Gyre Bonum</family>
          <default>
          <family>ITC Bookman</family>
@@ -211,6 +233,13 @@ but in an order preferring similar designs first.  We do this in three steps:
        </alias>
 
        <alias binding="same">
+         <family>Z003</family>
+         <default>
+         <family>ITC Zapf Chancery</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>TeX Gyre Chorus</family>
          <default>
          <family>ITC Zapf Chancery</family>
@@ -232,6 +261,13 @@ but in an order preferring similar designs first.  We do this in three steps:
        </alias>
 
        <alias binding="same">
+         <family>P052</family>
+         <default>
+         <family>Palatino</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>TeX Gyre Pagella</family>
          <default>
          <family>Palatino</family>
@@ -260,6 +296,13 @@ but in an order preferring similar designs first.  We do this in three steps:
        </alias>
 
        <alias binding="same">
+         <family>C059</family>
+         <default>
+         <family>New Century Schoolbook</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>TeX Gyre Schola</family>
          <default>
          <family>New Century Schoolbook</family>
@@ -273,7 +316,6 @@ but in an order preferring similar designs first.  We do this in three steps:
          </default>
        </alias>
 
-
        <!-- Microsoft -->
        <alias binding="same">
          <family>Arimo</family>
@@ -405,7 +447,7 @@ but in an order preferring similar designs first.  We do this in three steps:
        </alias>
 
        <alias>
-         <family>Helvetica Condensed</family>
+         <family>Helvetica Narrow</family>
          <default>
          <family>Arial Narrow</family>
          </default>
@@ -425,7 +467,6 @@ but in an order preferring similar designs first.  We do this in three steps:
          </default>
        </alias>
 
-
        <!-- Microsoft -->
        <alias>
          <family>Arial</family>
@@ -437,7 +478,7 @@ but in an order preferring similar designs first.  We do this in three steps:
        <alias>
          <family>Arial Narrow</family>
          <default>
-         <family>Helvetica Condensed</family>
+         <family>Helvetica Narrow</family>
          </default>
        </alias>
 
@@ -455,8 +496,6 @@ but in an order preferring similar designs first.  We do this in three steps:
          </default>
        </alias>
 
-
-
 <!-- Map generics to specifics -->
 
        <!-- PostScript -->
@@ -464,16 +503,13 @@ 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>
 
        <alias binding="same">
-         <family>Helvetica Condensed</family>
+         <family>Helvetica Narrow</family>
          <accept>
          <family>TeX Gyre Heros Cn</family>
-         <family>Nimbus Sans Narrow</family>
          </accept>
        </alias>
 
@@ -481,8 +517,6 @@ but in an order preferring similar designs first.  We do this in three steps:
          <family>Times</family>
          <accept>
          <family>TeX Gyre Termes</family>
-         <family>Nimbus Roman</family>
-         <family>Nimbus Roman No9 L</family>
          </accept>
        </alias>
 
@@ -490,8 +524,6 @@ 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>
 
@@ -499,8 +531,6 @@ 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>
 
@@ -509,8 +539,6 @@ 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>
 
@@ -518,8 +546,6 @@ 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>
 
@@ -528,8 +554,6 @@ 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>
 
@@ -538,8 +562,6 @@ 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/30-urw-aliases.conf b/conf.d/30-urw-aliases.conf
deleted file mode 100644 (file)
index e0d45da..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-<fontconfig>
-<!--
-  URW provides metric and shape compatible fonts for some Adobe families.
-  Most of these are handled in 30-metric-aliases.conf.
-  -->
-       <alias binding="same">
-         <family>Zapf Dingbats</family>
-         <accept><family>Dingbats</family></accept>
-       </alias>
-       <alias binding="same">
-         <family>ITC Zapf Dingbats</family>
-         <accept><family>Dingbats</family></accept>
-       </alias>
-       <match target="pattern">
-         <test name="family" compare="eq" ignore-blanks="true">
-           <string>Symbol</string>
-         </test>
-         <edit name="family" mode="append" binding="same">
-           <string>Standard Symbols L</string>
-         </edit>
-       </match>
-</fontconfig>
index c900fd4..0af8832 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set substitutions for non-Latin fonts</description>
 <!--
   Mark common families with their generics so we'll get
   something reasonable
diff --git a/conf.d/45-generic.conf b/conf.d/45-generic.conf
new file mode 100644 (file)
index 0000000..e8d1978
--- /dev/null
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set substitutions for emoji/math fonts</description>
+
+<!-- Keep in sync with 60-generic.conf -->
+
+<!-- Emoji -->
+
+       <!-- System emoji -->
+       <alias binding="same">
+               <family>Noto Color Emoji</family> <!-- Google -->
+               <default><family>emoji</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Apple Color Emoji</family> <!-- Apple -->
+               <default><family>emoji</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Segoe UI Emoji</family> <!-- Microsoft -->
+               <default><family>emoji</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Twitter Color Emoji</family> <!-- Twitter -->
+               <default><family>emoji</family></default>
+       </alias>
+       <alias binding="same">
+               <family>EmojiOne Mozilla</family> <!-- Mozilla -->
+               <default><family>emoji</family></default>
+       </alias>
+       <!-- Third-party emoji -->
+       <alias binding="same">
+               <family>Emoji Two</family>
+               <default><family>emoji</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Emoji One</family>
+               <default><family>emoji</family></default>
+       </alias>
+       <!-- B&W -->
+       <alias binding="same">
+               <family>Noto Emoji</family> <!-- Google -->
+               <default><family>emoji</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Android Emoji</family> <!-- Google -->
+               <default><family>emoji</family></default>
+       </alias>
+
+       <!-- Add language for emoji, to match other emoji fonts. -->
+       <match>
+               <test name="family">
+                       <string>emoji</string>
+               </test>
+               <edit name="lang" mode="prepend">
+                       <string>und-zsye</string>
+               </edit>
+       </match>
+
+       <match>
+               <test name="lang">
+                       <string>und-zsye</string>
+               </test>
+               <test qual="all" name="family" compare="not_eq">
+                       <string>emoji</string>
+               </test>
+
+               <!-- Add generic family. -->
+               <edit name="family" mode="append" binding="strong">
+                       <string>emoji</string>
+               </edit>
+       </match>
+
+
+<!-- Math -->
+
+       <!-- https://en.wikipedia.org/wiki/Category:Mathematical_OpenType_typefaces -->
+       <alias binding="same">
+               <family>XITS Math</family> <!-- Khaled Hosny -->
+               <default><family>math</family></default>
+       </alias>
+       <alias binding="same">
+               <family>STIX Two Math</family> <!-- AMS -->
+               <default><family>math</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Cambria Math</family> <!-- Microsoft -->
+               <default><family>math</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Latin Modern Math</family> <!-- TeX -->
+               <default><family>math</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Minion Math</family> <!-- Adobe -->
+               <default><family>math</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Lucida Math</family> <!-- Adobe -->
+               <default><family>math</family></default>
+       </alias>
+       <alias binding="same">
+               <family>Asana Math</family>
+               <default><family>math</family></default>
+       </alias>
+
+       <!-- Add language for math, to match other math fonts. -->
+       <match>
+               <test name="family">
+                       <string>math</string>
+               </test>
+               <edit name="lang" mode="prepend">
+                       <string>und-zmth</string>
+               </edit>
+       </match>
+
+       <match>
+               <test name="lang">
+                       <string>und-zmth</string>
+               </test>
+               <test qual="all" name="family" compare="not_eq">
+                       <string>math</string>
+               </test>
+
+               <!-- Add generic family -->
+               <edit name="family" mode="append" binding="strong">
+                       <string>math</string>
+               </edit>
+       </match>
+
+
+</fontconfig>
index 5228945..a9240b9 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set substitutions for Latin fonts</description>
 <!--
   Mark common families with their generics so we'll get
   something reasonable
                <default><family>monospace</family></default>
        </alias>
        <alias>
+               <family>Nimbus Mono PS</family>
+               <default><family>monospace</family></default>
+       </alias>
+       <alias>
                <family>Terminal</family>
                <default><family>monospace</family></default>
        </alias>
index c6209a7..8b587b0 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Add sans-serif to the family when no generic name</description>
 <!--
   If the font still has no generic name, add sans-serif
  -->
index 07c9182..681ed6d 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Load per-user customization files</description>
        <!--
            Load per-user customization files where stored on XDG Base Directory
            specification compliant places. it should be usually:
index ca9fbe1..885c357 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Load local customization file</description>
        <!-- Load local system customization file -->
        <include ignore_missing="yes">local.conf</include>
 </fontconfig>
diff --git a/conf.d/60-generic.conf b/conf.d/60-generic.conf
new file mode 100644 (file)
index 0000000..be7b52b
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set preferable fonts for emoji/math fonts</description>
+<!-- Keep in sync with 45-generic.conf -->
+
+<!-- Emoji -->
+
+       <!-- Prefer to match color emoji font. -->
+       <match>
+               <test name="lang">
+                       <string>und-zsye</string>
+               </test>
+               <test qual="all" name="color" compare="not_eq">
+                       <bool>true</bool>
+               </test>
+               <test qual="all" name="color" compare="not_eq">
+                       <bool>false</bool>
+               </test>
+               <edit name="color" mode="append">
+                       <bool>true</bool>
+               </edit>
+       </match>
+
+       <!-- TODO
+        ! Match on "color" and alias B&W ones first if no color is requested.
+        ! That's "hard" because <alias> doesn't work in match and needs to be
+        ! expanded to its non-sugar form.
+        !-->
+       <alias binding="same">
+               <family>emoji</family>
+               <prefer>
+                       <!-- System fonts -->
+                       <family>Noto Color Emoji</family> <!-- Google -->
+                       <family>Apple Color Emoji</family> <!-- Apple -->
+                       <family>Segoe UI Emoji</family> <!-- Microsoft -->
+                       <family>Twitter Color Emoji</family> <!-- Twitter -->
+                       <family>EmojiOne Mozilla</family> <!-- Mozilla -->
+                       <!-- Third-Party fonts -->
+                       <family>Emoji Two</family>
+                       <family>Emoji One</family>
+                       <!-- Non-color -->
+                       <family>Noto Emoji</family> <!-- Google -->
+                       <family>Android Emoji</family> <!-- Google -->
+               </prefer>
+       </alias>
+
+<!-- Math -->
+       <alias binding="same">
+               <!-- https://en.wikipedia.org/wiki/Category:Mathematical_OpenType_typefaces -->
+               <family>math</family>
+               <prefer>
+                       <family>XITS Math</family> <!-- Khaled Hosny -->
+                       <family>STIX Two Math</family> <!-- AMS -->
+                       <family>Cambria Math</family> <!-- Microsoft -->
+                       <family>Latin Modern Math</family> <!-- TeX -->
+                       <family>Minion Math</family> <!-- Adobe -->
+                       <family>Lucida Math</family> <!-- Adobe -->
+                       <family>Asana Math</family>
+               </prefer>
+       </alias>
+
+</fontconfig>
index 35600ea..5be5d6a 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set preferable fonts for Latin</description>
        <alias>
                <family>serif</family>
                <prefer>
@@ -43,6 +48,7 @@
                        <family>Luxi Mono</family>
                        <family>Nimbus Mono L</family>
                        <family>Nimbus Mono</family>
+                       <family>Nimbus Mono PS</family>
                        <family>Courier</family>
                </prefer>
        </alias>
index ea00661..5591486 100644 (file)
     2008       Behdad Esfahbod:  Cleanup.  Add fantasy and cursive.
   -->
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
 
 
 <!-- Deprecated fonts are discouraged -->
index f9d06f2..8985c0d 100644 (file)
@@ -1,6 +1,10 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
        <alias>
                <family>serif</family>
                <prefer>
index 9306f74..dcbb677 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Set preferable fonts for non-Latin</description>
        <alias>
                <family>serif</family>
                <prefer>
                        <family>Hapax Berbère</family> <!-- tifinagh -->
                        <family>MS Gothic</family> <!-- han (ja) -->
                        <family>UmePlus P Gothic</family> <!-- han (ja) -->
-                       <!-- chinese fonts are actually serifed -->
-                       <family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
-                       <family>PMingLiu</family> <!-- han (zh-tw) -->
+                       <family>Microsoft YaHei</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>Microsoft JhengHei</family> <!-- han (zh-tw) -->
                        <family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
                        <family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
                        <family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
index 177dec5..a3586f2 100644 (file)
@@ -1,6 +1,10 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
        <alias>
                <family>serif</family>
                <prefer>
index 6b506e8..efb1bc0 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Reject bitmap fonts</description>
 <!-- Reject bitmap fonts -->
  <selectfont>
   <rejectfont>
index c153aeb..0c70a53 100644 (file)
@@ -1,6 +1,11 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
+  <description>Accept bitmap fonts</description>
 <!-- Accept bitmap fonts -->
  <selectfont>
   <acceptfont>
index 845647b..8cd01f9 100644 (file)
@@ -1,6 +1,10 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
 <!-- Fix-ups for Delicious family -->
 
 <!-- Delicious 'heavy' variant says its Medium weight -->
index b8d1e85..e344e4a 100644 (file)
@@ -1,6 +1,10 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
+  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+  </its:rules>
+
 <!-- 
  Artificial oblique for fonts without an italic or oblique version
  -->
        <match target="font">
                <!-- check to see if the font is just regular -->
                <test name="weight" compare="less_eq">
-                       <const>medium</const>
+                       <const>regular</const>
                </test>
                <!-- check to see if the pattern requests bold -->
-               <test target="pattern" name="weight" compare="more">
-                       <const>medium</const>
+               <test target="pattern" name="weight" compare="more_eq">
+                       <const>bold</const>
                </test>
                <!--
                  set the embolden flag
index ac68cd1..ff03fb2 100644 (file)
@@ -29,13 +29,14 @@ CONF_LINKS = \
        10-hinting-$(PREFERRED_HINTING).conf    \
        10-scale-bitmap-fonts.conf \
        20-unhint-small-vera.conf \
-       30-urw-aliases.conf \
        30-metric-aliases.conf \
        40-nonlatin.conf \
+       45-generic.conf \
        45-latin.conf \
        49-sansserif.conf \
        50-user.conf \
        51-local.conf \
+       60-generic.conf \
        60-latin.conf \
        65-fonts-persian.conf \
        65-nonlatin.conf \
@@ -68,13 +69,14 @@ template_DATA =                             \
        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-generic.conf                 \
        45-latin.conf                   \
        49-sansserif.conf               \
        50-user.conf                    \
        51-local.conf                   \
+       60-generic.conf                 \
        60-latin.conf                   \
        65-fonts-persian.conf           \
        65-khmer.conf                   \
index 6f9b01f..ff988eb 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -116,10 +116,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -218,7 +223,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -230,8 +239,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -243,11 +256,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -267,15 +285,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -283,8 +299,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -331,13 +353,9 @@ 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@
@@ -353,13 +371,14 @@ CONF_LINKS = \
        10-hinting-$(PREFERRED_HINTING).conf    \
        10-scale-bitmap-fonts.conf \
        20-unhint-small-vera.conf \
-       30-urw-aliases.conf \
        30-metric-aliases.conf \
        40-nonlatin.conf \
+       45-generic.conf \
        45-latin.conf \
        49-sansserif.conf \
        50-user.conf \
        51-local.conf \
+       60-generic.conf \
        60-latin.conf \
        65-fonts-persian.conf \
        65-nonlatin.conf \
@@ -390,13 +409,14 @@ template_DATA = \
        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-generic.conf                 \
        45-latin.conf                   \
        49-sansserif.conf               \
        50-user.conf                    \
        51-local.conf                   \
+       60-generic.conf                 \
        60-latin.conf                   \
        65-fonts-persian.conf           \
        65-khmer.conf                   \
index dbfb978..a744844 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2015-01-01'
+timestamp='2017-08-08'
 
 # 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
@@ -27,7 +27,7 @@ timestamp='2015-01-01'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # 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
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 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."
@@ -168,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # 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)`
+       UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+           /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 ;;
+           earmv*)
+               arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+               endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+               machine=${arch}${endian}-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.
+       # to ELF recently (or will in the future) and ABI.
        case "${UNAME_MACHINE_ARCH}" in
+           earm*)
+               os=netbsdelf
+               ;;
            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -197,6 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                os=netbsd
                ;;
        esac
+       # Determine ABI tags.
+       case "${UNAME_MACHINE_ARCH}" in
+           earm*)
+               expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+               abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+               ;;
+       esac
        # The OS release
        # Debian GNU/NetBSD machines have a different userland, and
        # thus, need a distinct triplet. However, they do not need
@@ -207,13 +224,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                release='-gnu'
                ;;
            *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
                ;;
        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}"
+       echo "${machine}-${os}${release}${abi}"
        exit ;;
     *:Bitrig:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -223,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
        exit ;;
+    *:LibertyBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+       exit ;;
     *:ekkoBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
        exit ;;
@@ -235,6 +256,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:MirBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
        exit ;;
+    *:Sortix:*:*)
+       echo ${UNAME_MACHINE}-unknown-sortix
+       exit ;;
+    *:Redox:*:*)
+       echo ${UNAME_MACHINE}-unknown-redox
+       exit ;;
     alpha:OSF1:*:*)
        case $UNAME_RELEASE in
        *4.0)
@@ -251,42 +278,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        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" ;;
+               UNAME_MACHINE=alpha ;;
            "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
+               UNAME_MACHINE=alpha ;;
            "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
+               UNAME_MACHINE=alphaev5 ;;
            "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
+               UNAME_MACHINE=alphaev56 ;;
            "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
+               UNAME_MACHINE=alphapca56 ;;
            "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
+               UNAME_MACHINE=alphapca57 ;;
            "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
+               UNAME_MACHINE=alphaev6 ;;
            "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
+               UNAME_MACHINE=alphaev67 ;;
            "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
+               UNAME_MACHINE=alphaev68 ;;
            "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
+               UNAME_MACHINE=alphaev69 ;;
            "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
+               UNAME_MACHINE=alphaev7 ;;
            "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
+               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'`
+       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
@@ -359,16 +386,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
        eval $set_cc_for_build
-       SUN_ARCH="i386"
+       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 [ "$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) | \
+               (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
                grep IS_64BIT_ARCH >/dev/null
            then
-               SUN_ARCH="x86_64"
+               SUN_ARCH=x86_64
            fi
        fi
        echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -393,7 +420,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        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
+       test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
        case "`/bin/arch`" in
            sun3)
                echo m68k-sun-sunos${UNAME_RELEASE}
@@ -618,13 +645,13 @@ EOF
                    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
+                     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
+                         32) HP_ARCH=hppa2.0n ;;
+                         64) HP_ARCH=hppa2.0w ;;
+                         '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
                        esac ;;
                    esac
                fi
@@ -663,11 +690,11 @@ EOF
                    exit (0);
                }
 EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   (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" ]
+       if [ ${HP_ARCH} = hppa2.0w ]
        then
            eval $set_cc_for_build
 
@@ -680,12 +707,12 @@ EOF
            # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
            # => hppa64-hp-hpux11.23
 
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+           if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
                grep -q __LP64__
            then
-               HP_ARCH="hppa2.0w"
+               HP_ARCH=hppa2.0w
            else
-               HP_ARCH="hppa64"
+               HP_ARCH=hppa64
            fi
        fi
        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -790,14 +817,14 @@ EOF
        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_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/ /_/'`
+       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:*:*)
@@ -813,10 +840,11 @@ EOF
        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/[-(].*//'` ;;
+               UNAME_PROCESSOR=x86_64 ;;
+           i386)
+               UNAME_PROCESSOR=i586 ;;
        esac
+       echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
@@ -879,7 +907,7 @@ EOF
        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}
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
        exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
@@ -902,7 +930,7 @@ EOF
          EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+       if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
@@ -933,6 +961,9 @@ EOF
     crisv32:Linux:*:*)
        echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
+    e2k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     frv:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
@@ -945,6 +976,9 @@ EOF
     ia64:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
+    k1om:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     m32r*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
@@ -970,6 +1004,9 @@ EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
+    mips64el:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     openrisc*:Linux:*:*)
        echo or1k-unknown-linux-${LIBC}
        exit ;;
@@ -1002,6 +1039,9 @@ EOF
     ppcle:Linux:*:*)
        echo powerpcle-unknown-linux-${LIBC}
        exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
        echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
        exit ;;
@@ -1021,7 +1061,7 @@ EOF
        echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1100,7 +1140,7 @@ EOF
        # 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
+       # prints for the "djgpp" host, or else GDB configure will decide that
        # this is a cross-build.
        echo i586-pc-msdosdjgpp
        exit ;;
@@ -1249,6 +1289,9 @@ EOF
     SX-8R:SUPER-UX:*:*)
        echo sx8r-nec-superux${UNAME_RELEASE}
        exit ;;
+    SX-ACE:SUPER-UX:*:*)
+       echo sxace-nec-superux${UNAME_RELEASE}
+       exit ;;
     Power*:Rhapsody:*:*)
        echo powerpc-apple-rhapsody${UNAME_RELEASE}
        exit ;;
@@ -1262,16 +1305,23 @@ EOF
            UNAME_PROCESSOR=powerpc
        fi
        if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-           if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; 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
+                      (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
+               # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+               if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+                      (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+                      grep IS_PPC >/dev/null
+               then
+                   UNAME_PROCESSOR=powerpc
+               fi
            fi
        elif test "$UNAME_PROCESSOR" = i386 ; then
            # Avoid executing cc on OS X 10.9, as it ships with a stub
@@ -1286,7 +1336,7 @@ EOF
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
+       if test "$UNAME_PROCESSOR" = x86; then
                UNAME_PROCESSOR=i386
                UNAME_MACHINE=pc
        fi
@@ -1295,15 +1345,18 @@ EOF
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
+    NEO-*:NONSTOP_KERNEL:*:*)
        echo neo-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
+    NSR-*:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
        exit ;;
+    NSX-*:NONSTOP_KERNEL:*:*)
+       echo nsx-tandem-nsk${UNAME_RELEASE}
+       exit ;;
     *:NonStop-UX:*:*)
        echo mips-compaq-nonstopux
        exit ;;
@@ -1317,7 +1370,7 @@ EOF
        # "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
+       if test "$cputype" = 386; then
            UNAME_MACHINE=i386
        else
            UNAME_MACHINE="$cputype"
@@ -1359,7 +1412,7 @@ EOF
        echo i386-pc-xenix
        exit ;;
     i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
        exit ;;
     i*86:rdos:*:*)
        echo ${UNAME_MACHINE}-pc-rdos
@@ -1370,23 +1423,25 @@ EOF
     x86_64:VMkernel:*:*)
        echo ${UNAME_MACHINE}-unknown-esx
        exit ;;
+    amd64:Isilon\ OneFS:*:*)
+       echo x86_64-unknown-onefs
+       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
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-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.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
index ffff4cd..c5bbd66 100644 (file)
 /* Use libxml2 instead of Expat */
 #undef ENABLE_LIBXML2
 
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#undef ENABLE_NLS
+
 /* Additional font directories */
 #undef FC_ADD_FONTS
 
@@ -21,6 +25,9 @@
 /* System font directory */
 #undef FC_DEFAULT_FONTS
 
+/* The type of len parameter of the gperf hash/lookup function */
+#undef FC_GPERF_SIZE_T
+
 /* 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
    MSVC and with C++ compilers. */
 #undef FLEXIBLE_ARRAY_MEMBER
 
+/* Gettext package */
+#undef GETTEXT_PACKAGE
+
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
+   CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+#undef HAVE_DCGETTEXT
+
 /* 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 `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_Done_MM_Var' function. */
+#undef HAVE_FT_DONE_MM_VAR
 
 /* 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
 
@@ -67,9 +86,6 @@
 /* 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 `getprogname' function. */
 #undef HAVE_GETPROGNAME
 
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define if you have the iconv() function and it works. */
+#undef HAVE_ICONV
+
 /* Have Intel __sync_* atomic primitives */
 #undef HAVE_INTEL_ATOMIC_PRIMITIVES
 
 /* 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
 
diff --git a/config.rpath b/config.rpath
new file mode 100755 (executable)
index 0000000..98183ff
--- /dev/null
@@ -0,0 +1,684 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+#   Copyright 1996-2016 Free Software Foundation, Inc.
+#   Taken from GNU libtool, 2001
+#   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 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.
+#
+# The first argument passed to this file is the canonical host specification,
+#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+#   than 256 bytes, otherwise the compiler driver will dump core. The only
+#   known workaround is to choose shorter directory names for the build
+#   directory and/or the installation directory.
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+  wl='-Wl,'
+else
+  case "$host_os" in
+    aix*)
+      wl='-Wl,'
+      ;;
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      ;;
+    hpux9* | hpux10* | hpux11*)
+      wl='-Wl,'
+      ;;
+    irix5* | irix6* | nonstopux*)
+      wl='-Wl,'
+      ;;
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+        ecc*)
+          wl='-Wl,'
+          ;;
+        icc* | ifort*)
+          wl='-Wl,'
+          ;;
+        lf95*)
+          wl='-Wl,'
+          ;;
+        nagfor*)
+          wl='-Wl,-Wl,,'
+          ;;
+        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+          wl='-Wl,'
+          ;;
+        ccc*)
+          wl='-Wl,'
+          ;;
+        xl* | bgxl* | bgf* | mpixl*)
+          wl='-Wl,'
+          ;;
+        como)
+          wl='-lopt='
+          ;;
+        *)
+          case `$CC -V 2>&1 | sed 5q` in
+            *Sun\ F* | *Sun*Fortran*)
+              wl=
+              ;;
+            *Sun\ C*)
+              wl='-Wl,'
+              ;;
+          esac
+          ;;
+      esac
+      ;;
+    newsos6)
+      ;;
+    *nto* | *qnx*)
+      ;;
+    osf3* | osf4* | osf5*)
+      wl='-Wl,'
+      ;;
+    rdos*)
+      ;;
+    solaris*)
+      case $cc_basename in
+        f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+          wl='-Qoption ld '
+          ;;
+        *)
+          wl='-Wl,'
+          ;;
+      esac
+      ;;
+    sunos4*)
+      wl='-Qoption ld '
+      ;;
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      wl='-Wl,'
+      ;;
+    sysv4*MP*)
+      ;;
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      wl='-Wl,'
+      ;;
+    unicos*)
+      wl='-Wl,'
+      ;;
+    uts4*)
+      ;;
+  esac
+fi
+
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+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
+if test "$with_gnu_ld" = yes; then
+  # 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.
+  # Unlike libtool, we use -rpath here, not --rpath, since the documented
+  # option of GNU ld is called -rpath, not --rpath.
+  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+  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
+      fi
+      ;;
+    amigaos*)
+      case "$host_cpu" in
+        powerpc)
+          ;;
+        m68k)
+          hardcode_libdir_flag_spec='-L$libdir'
+          hardcode_minus_L=yes
+          ;;
+      esac
+      ;;
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    cygwin* | mingw* | pw32* | cegcc*)
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    haiku*)
+      ;;
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      ;;
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    netbsd*)
+      ;;
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+        ld_shlibs=no
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      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
+          ;;
+        *)
+          if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+            hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+          else
+            ld_shlibs=no
+          fi
+          ;;
+      esac
+      ;;
+    sunos4*)
+      hardcode_direct=yes
+      ;;
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+  esac
+  if test "$ld_shlibs" = no; then
+    hardcode_libdir_flag_spec=
+  fi
+else
+  case "$host_os" in
+    aix3*)
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes; 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
+      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
+            if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+              aix_use_runtimelinking=yes
+              break
+            fi
+          done
+          ;;
+        esac
+      fi
+      hardcode_direct=yes
+      hardcode_libdir_separator=':'
+      if test "$GCC" = yes; then
+        case $host_os in aix4.[012]|aix4.[012].*)
+          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
+            hardcode_minus_L=yes
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_libdir_separator=
+          fi
+          ;;
+        esac
+      fi
+      # Begin _LT_AC_SYS_LIBPATH_AIX.
+      echo 'int main () { return 0; }' > conftest.c
+      ${CC} ${LDFLAGS} conftest.c -o conftest
+      aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+      if test -z "$aix_libpath"; then
+        aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+      fi
+      if test -z "$aix_libpath"; then
+        aix_libpath="/usr/lib:/lib"
+      fi
+      rm -f conftest.c conftest
+      # End _LT_AC_SYS_LIBPATH_AIX.
+      if test "$aix_use_runtimelinking" = yes; then
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+      else
+        if test "$host_cpu" = ia64; then
+          hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+        else
+          hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        fi
+      fi
+      ;;
+    amigaos*)
+      case "$host_cpu" in
+        powerpc)
+          ;;
+        m68k)
+          hardcode_libdir_flag_spec='-L$libdir'
+          hardcode_minus_L=yes
+          ;;
+      esac
+      ;;
+    bsdi[45]*)
+      ;;
+    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.
+      hardcode_libdir_flag_spec=' '
+      libext=lib
+      ;;
+    darwin* | rhapsody*)
+      hardcode_direct=no
+      if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    dgux*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      ;;
+    freebsd2.[01]*)
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      ;;
+    freebsd* | dragonfly*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
+    hpux9*)
+      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
+      ;;
+    hpux10*)
+      if test "$with_gnu_ld" = no; then
+        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
+      fi
+      ;;
+    hpux11*)
+      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_direct=yes
+            # 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*)
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    netbsd*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
+    newsos6)
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    *nto* | *qnx*)
+      ;;
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+        hardcode_direct=yes
+        if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+          hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+        else
+          case "$host_os" in
+            openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+              hardcode_libdir_flag_spec='-R$libdir'
+              ;;
+            *)
+              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
+      ;;
+    osf3*)
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    osf4* | osf5*)
+      if test "$GCC" = yes; then
+        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+        # Both cc and cxx compiler support -rpath directly
+        hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      hardcode_libdir_separator=:
+      ;;
+    solaris*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      ;;
+    sunos4*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      ;;
+    sysv4)
+      case $host_vendor in
+        sni)
+          hardcode_direct=yes # is this really true???
+          ;;
+        siemens)
+          hardcode_direct=no
+          ;;
+        motorola)
+          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+          ;;
+      esac
+      ;;
+    sysv4.3*)
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+        ld_shlibs=yes
+      fi
+      ;;
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      ;;
+    sysv5* | sco3.2v5* | sco5v6*)
+      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator=':'
+      ;;
+    uts4*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      ;;
+    *)
+      ld_shlibs=no
+      ;;
+  esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec=      # the last element of library_names_spec in libtool.m4
+libname_spec='lib$name'
+case "$host_os" in
+  aix3*)
+    library_names_spec='$libname.a'
+    ;;
+  aix[4-9]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  amigaos*)
+    case "$host_cpu" in
+      powerpc*)
+        library_names_spec='$libname$shrext' ;;
+      m68k)
+        library_names_spec='$libname.a' ;;
+    esac
+    ;;
+  beos*)
+    library_names_spec='$libname$shrext'
+    ;;
+  bsdi[45]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  cygwin* | mingw* | pw32* | cegcc*)
+    shrext=.dll
+    library_names_spec='$libname.dll.a $libname.lib'
+    ;;
+  darwin* | rhapsody*)
+    shrext=.dylib
+    library_names_spec='$libname$shrext'
+    ;;
+  dgux*)
+    library_names_spec='$libname$shrext'
+    ;;
+  freebsd[23].*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  freebsd* | dragonfly*)
+    library_names_spec='$libname$shrext'
+    ;;
+  gnu*)
+    library_names_spec='$libname$shrext'
+    ;;
+  haiku*)
+    library_names_spec='$libname$shrext'
+    ;;
+  hpux9* | hpux10* | hpux11*)
+    case $host_cpu in
+      ia64*)
+        shrext=.so
+        ;;
+      hppa*64*)
+        shrext=.sl
+        ;;
+      *)
+        shrext=.sl
+        ;;
+    esac
+    library_names_spec='$libname$shrext'
+    ;;
+  interix[3-9]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  irix5* | irix6* | nonstopux*)
+    library_names_spec='$libname$shrext'
+    case "$host_os" in
+      irix5* | nonstopux*)
+        libsuff= shlibsuff=
+        ;;
+      *)
+        case $LD in
+          *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+          *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+          *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+          *) libsuff= shlibsuff= ;;
+        esac
+        ;;
+    esac
+    ;;
+  linux*oldld* | linux*aout* | linux*coff*)
+    ;;
+  linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    library_names_spec='$libname$shrext'
+    ;;
+  knetbsd*-gnu)
+    library_names_spec='$libname$shrext'
+    ;;
+  netbsd*)
+    library_names_spec='$libname$shrext'
+    ;;
+  newsos6)
+    library_names_spec='$libname$shrext'
+    ;;
+  *nto* | *qnx*)
+    library_names_spec='$libname$shrext'
+    ;;
+  openbsd*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  os2*)
+    libname_spec='$name'
+    shrext=.dll
+    library_names_spec='$libname.a'
+    ;;
+  osf3* | osf4* | osf5*)
+    library_names_spec='$libname$shrext'
+    ;;
+  rdos*)
+    ;;
+  solaris*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sunos4*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  sysv4 | sysv4.3*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sysv4*MP*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+    library_names_spec='$libname$shrext'
+    ;;
+  tpf*)
+    library_names_spec='$libname$shrext'
+    ;;
+  uts4*)
+    library_names_spec='$libname$shrext'
+    ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF
index 6467c95..932128b 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2015-01-01'
+timestamp='2017-04-02'
 
 # 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
@@ -33,7 +33,7 @@ timestamp='2015-01-01'
 # 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
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@ timestamp='2015-01-01'
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 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."
@@ -117,8 +116,8 @@ 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* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -255,15 +254,16 @@ case $basic_machine in
        | arc | arceb \
        | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
        | avr | avr32 \
+       | ba \
        | be32 | be64 \
        | bfin \
        | c4x | c8051 | clipper \
        | d10v | d30v | dlx | dsp16xx \
-       | epiphany \
+       | e2k | epiphany \
        | fido | fr30 | frv | ft32 \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | hexagon \
-       | i370 | i860 | i960 | ia64 \
+       | i370 | i860 | i960 | ia16 | ia64 \
        | ip2k | iq2000 \
        | k1om \
        | le32 | le64 \
@@ -301,11 +301,12 @@ case $basic_machine in
        | open8 | or1k | or1knd | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
+       | pru \
        | pyramid \
        | riscv32 | riscv64 \
        | 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 \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -314,6 +315,7 @@ case $basic_machine in
        | ubicom32 \
        | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
        | visium \
+       | wasm32 \
        | we32k \
        | x86 | xc16x | xstormy16 | xtensa \
        | z8k | z80)
@@ -376,17 +378,18 @@ case $basic_machine in
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
+       | ba-* \
        | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | c8051-* | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
+       | e2k-* | 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-* \
+       | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
        | ip2k-* | iq2000-* \
        | k1om-* \
        | le32-* | le64-* \
@@ -427,13 +430,15 @@ case $basic_machine in
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+       | pru-* \
        | pyramid-* \
+       | riscv32-* | riscv64-* \
        | 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?-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
        | tahoe-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tile*-* \
@@ -442,6 +447,7 @@ case $basic_machine in
        | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
        | vax-* \
        | visium-* \
+       | wasm32-* \
        | we32k-* \
        | x86-* | x86_64-* | xc16x-* | xps100-* \
        | xstormy16-* | xtensa*-* \
@@ -518,6 +524,9 @@ case $basic_machine in
                basic_machine=i386-pc
                os=-aros
                ;;
+       asmjs)
+               basic_machine=asmjs-unknown
+               ;;
        aux)
                basic_machine=m68k-apple
                os=-aux
@@ -638,6 +647,14 @@ case $basic_machine in
                basic_machine=m68k-bull
                os=-sysv3
                ;;
+       e500v[12])
+               basic_machine=powerpc-unknown
+               os=$os"spe"
+               ;;
+       e500v[12]-*)
+               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=$os"spe"
+               ;;
        ebmon29k)
                basic_machine=a29k-amd
                os=-ebmon
@@ -933,6 +950,9 @@ case $basic_machine in
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
+       nsx-tandem)
+               basic_machine=nsx-tandem
+               ;;
        op50n-* | op60c-*)
                basic_machine=hppa1.1-oki
                os=-proelf
@@ -1017,7 +1037,7 @@ case $basic_machine in
        ppc-* | ppcbe-*)
                basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
+       ppcle | powerpclittle)
                basic_machine=powerpcle-unknown
                ;;
        ppcle-* | powerpclittle-*)
@@ -1027,7 +1047,7 @@ case $basic_machine in
                ;;
        ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+       ppc64le | powerpc64little)
                basic_machine=powerpc64le-unknown
                ;;
        ppc64le-* | powerpc64little-*)
@@ -1228,6 +1248,9 @@ case $basic_machine in
                basic_machine=a29k-wrs
                os=-vxworks
                ;;
+       wasm32)
+               basic_machine=wasm32-unknown
+               ;;
        w65*)
                basic_machine=w65-wdc
                os=-none
@@ -1373,18 +1396,18 @@ case $os in
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
              | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* \
+             | -aos* | -aros* | -cloudabi* | -sortix* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -bitrig* | -openbsd* | -solidbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
              | -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* \
+             | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
              | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1393,7 +1416,8 @@ case $os in
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+             | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1525,6 +1549,8 @@ case $os in
                ;;
        -nacl*)
                ;;
+       -ios)
+               ;;
        -none)
                ;;
        *)
@@ -1620,6 +1646,9 @@ case $basic_machine in
        sparc-* | *-sun)
                os=-sunos4.1.1
                ;;
+       pru-*)
+               os=-elf
+               ;;
        *-be)
                os=-beos
                ;;
index eed481c..830de63 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for fontconfig 2.12.1.
+# Generated by GNU Autoconf 2.69 for fontconfig 2.13.0.
 #
 # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig>.
 #
@@ -591,8 +591,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='fontconfig'
 PACKAGE_TARNAME='fontconfig'
-PACKAGE_VERSION='2.12.1'
-PACKAGE_STRING='fontconfig 2.12.1'
+PACKAGE_VERSION='2.13.0'
+PACKAGE_STRING='fontconfig 2.13.0'
 PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig'
 PACKAGE_URL=''
 
@@ -632,6 +632,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
+gt_needs=
 ac_header_list=
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
@@ -664,9 +665,15 @@ FC_DEFAULT_FONTS
 PREFERRED_HINTING
 LIBXML2_LIBS
 LIBXML2_CFLAGS
+PKG_EXPAT_LIBS
+PKG_EXPAT_CFLAGS
 HAVE_XMLPARSE_H
 EXPAT_LIBS
 EXPAT_CFLAGS
+UUID_LIBS
+UUID_CFLAGS
+FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE
+FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE
 FREETYPE_LIBS
 FREETYPE_CFLAGS
 ICONV_LIBS
@@ -681,6 +688,24 @@ WARN_CFLAGS
 MS_LIB_AVAILABLE_FALSE
 MS_LIB_AVAILABLE_TRUE
 ms_librarian
+POSUB
+LTLIBINTL
+LIBINTL
+INTLLIBS
+LTLIBICONV
+LIBICONV
+INTL_MACOSX_LIBS
+XGETTEXT_EXTRA_OPTIONS
+MSGMERGE
+XGETTEXT_015
+XGETTEXT
+GMSGFMT_015
+MSGFMT_015
+GMSGFMT
+MSGFMT
+GETTEXT_MACRO_VERSION
+USE_NLS
+GETTEXT_PACKAGE
 OS_WIN32_FALSE
 OS_WIN32_TRUE
 LIBT_CURRENT_MINUS_AGE
@@ -716,17 +741,6 @@ OBJDUMP
 DLLTOOL
 AS
 RM
-HAVE_PYTHON_FALSE
-HAVE_PYTHON_TRUE
-pkgpyexecdir
-pyexecdir
-pkgpythondir
-pythondir
-PYTHON_PLATFORM
-PYTHON_EXEC_PREFIX
-PYTHON_PREFIX
-PYTHON_VERSION
-PYTHON
 GPERF
 GIT
 pkgconfigdir
@@ -834,6 +848,10 @@ with_aix_soname
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
+enable_nls
+enable_rpath
+with_libiconv_prefix
+with_libintl_prefix
 with_arch
 enable_iconv
 with_libiconv
@@ -865,11 +883,12 @@ CPP
 PKG_CONFIG
 PKG_CONFIG_PATH
 PKG_CONFIG_LIBDIR
-PYTHON
 LT_SYS_LIBRARY_PATH
 CC_FOR_BUILD
 FREETYPE_CFLAGS
 FREETYPE_LIBS
+UUID_CFLAGS
+UUID_LIBS
 EXPAT_CFLAGS
 EXPAT_LIBS
 LIBXML2_CFLAGS
@@ -1414,7 +1433,7 @@ 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.12.1 to adapt to many kinds of systems.
+\`configure' configures fontconfig 2.13.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1484,7 +1503,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of fontconfig 2.12.1:";;
+     short | recursive ) echo "Configuration of fontconfig 2.13.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1504,6 +1523,8 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --disable-nls           do not use Native Language Support
+  --disable-rpath         do not hardcode runtime library paths
   --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
@@ -1521,6 +1542,11 @@ Optional Packages:
   --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-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
+  --without-libiconv-prefix     don't search for libiconv in includedir and libdir
+  --with-libintl-prefix[=DIR]  search for libintl in DIR/include and DIR/lib
+  --without-libintl-prefix     don't search for libintl in includedir and libdir
   --with-arch=ARCH        Force architecture to ARCH
   --with-libiconv=DIR     Use libiconv in DIR
   --with-libiconv-includes=DIR
@@ -1563,7 +1589,6 @@ Some influential environment variables:
               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
   LT_SYS_LIBRARY_PATH
               User-defined run-time library search path.
   CC_FOR_BUILD
@@ -1572,6 +1597,8 @@ Some influential environment variables:
               C compiler flags for FREETYPE, overriding pkg-config
   FREETYPE_LIBS
               linker flags for FREETYPE, overriding pkg-config
+  UUID_CFLAGS C compiler flags for UUID, overriding pkg-config
+  UUID_LIBS   linker flags for UUID, overriding pkg-config
   EXPAT_CFLAGS
               C compiler flags for EXPAT, overriding pkg-config
   EXPAT_LIBS  linker flags for EXPAT, overriding pkg-config
@@ -1646,7 +1673,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-fontconfig configure 2.12.1
+fontconfig configure 2.13.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2355,7 +2382,7 @@ 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.12.1, which was
+It was created by fontconfig $as_me 2.13.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2635,6 +2662,7 @@ $as_echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
+gt_needs="$gt_needs "
 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"
@@ -3221,7 +3249,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='fontconfig'
- VERSION='2.12.1'
+ VERSION='2.13.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5243,221 +5271,6 @@ 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
-      :
-  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
-
-
- if test "$PYTHON" != :; then
-  HAVE_PYTHON_TRUE=
-  HAVE_PYTHON_FALSE='#'
-else
-  HAVE_PYTHON_TRUE='#'
-  HAVE_PYTHON_FALSE=
-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 = //'`
@@ -13463,11 +13276,11 @@ CC=$lt_save_CC
 
 
 
-LIBT_CURRENT=10
-LIBT_REVISION=2
+LIBT_CURRENT=12
+LIBT_REVISION=1
 
 
-LIBT_AGE=9
+LIBT_AGE=11
 
 LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
 
@@ -13478,7 +13291,6 @@ LIBT_CURRENT_MINUS_AGE=`expr $LIBT_CURRENT - $LIBT_AGE`
 PKGCONFIG_REQUIRES=
 PKGCONFIG_REQUIRES_PRIVATELY=
 
-
 case "$host" in
   *-*-mingw*)
     os_win32=yes
@@ -13495,25 +13307,124 @@ else
 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
+GETTEXT_PACKAGE=$PACKAGE
+
+
+cat >>confdefs.h <<_ACEOF
+#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE"
+_ACEOF
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+    # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+  enableval=$enable_nls; USE_NLS=$enableval
+else
+  USE_NLS=yes
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+      GETTEXT_MACRO_VERSION=0.19
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  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
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; 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 :
+if ${ac_cv_path_MSGFMT+:} 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.
+  case "$MSGFMT" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&5
+          if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+            ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+    ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; 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_GMSGFMT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GMSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GMSGFMT="$GMSGFMT" # 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_prog_ms_librarian="yes"
+    ac_cv_path_GMSGFMT="$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
 IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ms_librarian" && ac_cv_prog_ms_librarian="no"
-fi
+  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  ;;
+esac
 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; }
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
+
+    case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+    *) MSGFMT_015=$MSGFMT ;;
+  esac
+
+  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+    *) GMSGFMT_015=$GMSGFMT ;;
+  esac
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  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
- if test x$ms_librarian = xyes; then
-  MS_LIB_AVAILABLE_TRUE=
-  MS_LIB_AVAILABLE_FALSE='#'
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
 else
-  MS_LIB_AVAILABLE_TRUE='#'
-  MS_LIB_AVAILABLE_FALSE=
+  ac_executable_p="test -f"
 fi
+rm -f conf$$.file
 
-
-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"
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; 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_XGETTEXT+:} false; then :
+  $as_echo_n "(cached) " >&6
 else
-  SUNCC="no"
+  case "$XGETTEXT" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&5
+          if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+            ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+    ;;
+esac
 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"
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-if test "x$WARNING_CPP_DIRECTIVE" = "xyes"; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WARNING_CPP_DIRECTIVE 1
-_ACEOF
 
-fi
+    rm -f messages.po
 
+    case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+    *) XGETTEXT_015=$XGETTEXT ;;
+  esac
 
 
 
-# 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
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  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
 
-# Also set EXEEXT_FOR_BUILD.
-if test "x$cross_compiling" = "xno"; then
-  EXEEXT_FOR_BUILD='$(EXEEXT)'
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
 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 :
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; 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_MSGMERGE+:} 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
+  case "$MSGMERGE" in
+  [\\/]* | ?:[\\/]*)
+    ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH; do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&5
+          if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
+            ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+    ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+        test -n "$localedir" || localedir='${datadir}/locale'
+
+
+    test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+
+
+  ac_config_commands="$ac_config_commands po-directories"
+
+
+
+      if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+
+
+
+# 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
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  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
+
+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 ${acl_cv_path_LD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$acl_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_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 `"$acl_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="$acl_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$acl_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 ${acl_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'*)
+  acl_cv_prog_gnu_ld=yes
+  ;;
+*)
+  acl_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+
+                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if ${acl_cv_rpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+  wl="$acl_cv_wl"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+    # Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+  enableval=$enable_rpath; :
+else
+  enable_rpath=yes
+fi
+
+
+
+
+  acl_libdirstem=lib
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if ${gl_cv_solaris_64bit+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+  gl_cv_solaris_64bit=yes
+else
+  gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+        esac
+      fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS=   }"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              */../ | */.. )
+                # Better ignore directories of this form. They are misleading.
+                ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
+
+
+
+
+
+
+
+
+    use_additional=yes
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+
+# Check whether --with-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then :
+  withval=$with_libiconv_prefix;
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
+      fi
+    fi
+
+fi
+
+      LIBICONV=
+  LTLIBICONV=
+  INCICONV=
+  LIBICONV_PREFIX=
+      HAVE_LIBICONV=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='iconv '
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            dir="$additional_libdir"
+                                    if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
+                fi
+              fi
+            fi
+                        if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                                    if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                                    if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$acl_hardcode_direct" = yes; then
+                                                      LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                                                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+              else
+                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = 'iconv'; then
+                  LIBICONV_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = 'iconv'; then
+                  LIBICONV_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+                    LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+            LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+    done
+  fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
+if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <CoreFoundation/CFPreferences.h>
+int
+main ()
+{
+CFPreferencesCopyAppValue(NULL, NULL)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gt_cv_func_CFPreferencesCopyAppValue=yes
+else
+  gt_cv_func_CFPreferencesCopyAppValue=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+
+$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+
+  fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
+$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
+if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <CoreFoundation/CFLocale.h>
+int
+main ()
+{
+CFLocaleCopyCurrent();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gt_cv_func_CFLocaleCopyCurrent=yes
+else
+  gt_cv_func_CFLocaleCopyCurrent=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+
+$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+
+  fi
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+  fi
+
+
+
+
+
+
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+    case " $gt_needs " in
+    *" need-formatstring-macros "*) gt_api_version=3 ;;
+    *" need-ngettext "*) gt_api_version=2 ;;
+    *) gt_api_version=1 ;;
+  esac
+  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+    if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+
+
+        if test $gt_api_version -ge 3; then
+          gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+'
+        else
+          gt_revision_test_code=
+        fi
+        if test $gt_api_version -ge 2; then
+          gt_expression_test_code=' + * ngettext ("", "", 0)'
+        else
+          gt_expression_test_code=
+        fi
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+$as_echo_n "checking for GNU gettext in libc... " >&6; }
+if eval \${$gt_func_gnugettext_libc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$gt_func_gnugettext_libc=yes"
+else
+  eval "$gt_func_gnugettext_libc=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$gt_func_gnugettext_libc
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+
+
+
+
+
+          am_save_CPPFLAGS="$CPPFLAGS"
+
+  for element in $INCICONV; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if ${am_cv_func_iconv+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+      LIBS="$am_save_LIBS"
+    fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+  if test "$am_cv_func_iconv" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if ${am_cv_func_iconv_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                  am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+
+int
+main ()
+{
+int result = 0;
+  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+     returns.  */
+  {
+    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+    if (cd_utf8_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_utf8_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\263";
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#if 0 /* This bug could be worked around by the caller.  */
+  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        char buf[50];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if ((int)res > 0)
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#endif
+  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+     provided.  */
+  if (/* Try standardized names.  */
+      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+      /* Try IRIX, OSF/1 names.  */
+      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+      /* Try AIX names.  */
+      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+      /* Try HP-UX names.  */
+      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+    result |= 16;
+  return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  am_cv_func_iconv_works=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+        test "$am_cv_func_iconv_works" = no || break
+      done
+      LIBS="$am_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+    case "$am_cv_func_iconv_works" in
+      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+      *)   am_func_iconv=yes ;;
+    esac
+  else
+    am_func_iconv=no am_cv_lib_iconv=no
+  fi
+  if test "$am_func_iconv" = yes; then
+
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+  else
+            CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+
+
+
+
+
+
+
+
+
+
+
+    use_additional=yes
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+
+# Check whether --with-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then :
+  withval=$with_libintl_prefix;
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
+      fi
+    fi
+
+fi
+
+      LIBINTL=
+  LTLIBINTL=
+  INCINTL=
+  LIBINTL_PREFIX=
+      HAVE_LIBINTL=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='intl '
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            dir="$additional_libdir"
+                                    if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
+                fi
+              fi
+            fi
+                        if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                                    if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                                    if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$acl_hardcode_direct" = yes; then
+                                                      LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                                                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+              else
+                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = 'intl'; then
+                  LIBINTL_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = 'intl'; then
+                  LIBINTL_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBINTL; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+                    LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+            LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+    done
+  fi
+
+
+
+
+
+
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+if eval \${$gt_func_gnugettext_libintl+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+                        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$gt_func_gnugettext_libintl=yes"
+else
+  eval "$gt_func_gnugettext_libintl=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+                        if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  LIBINTL="$LIBINTL $LIBICONV"
+                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                 eval "$gt_func_gnugettext_libintl=yes"
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"
+fi
+eval ac_res=\$$gt_func_gnugettext_libintl
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+        fi
+
+                                        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+                && test "$PACKAGE" != gettext-runtime \
+                && test "$PACKAGE" != gettext-tools; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+                    LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+
+
+    if test -n "$INTL_MACOSX_LIBS"; then
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+                LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+      fi
+    fi
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+$as_echo_n "checking whether to use NLS... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+  if test "$USE_NLS" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+$as_echo_n "checking where the gettext function comes from... " >&6; }
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        gt_source="external libintl"
+      else
+        gt_source="libc"
+      fi
+    else
+      gt_source="included intl directory"
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+$as_echo "$gt_source" >&6; }
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+$as_echo_n "checking how to link with libintl... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+$as_echo "$LIBINTL" >&6; }
+
+  for element in $INCINTL; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+      fi
+
+
+$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
+
+    fi
+
+        POSUB=po
+  fi
+
+
+
+    INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+
+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}
@@ -14946,6 +16856,62 @@ _ACEOF
 fi
 
 
+# Check the argument type of the gperf hash/lookup function
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking The type of len parameter of gperf hash/lookup function" >&5
+$as_echo_n "checking The type of len parameter of gperf hash/lookup function... " >&6; }
+fc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+       #include <string.h>
+
+       const char *in_word_set(register const char *, register size_t);
+       $fc_gperf_test
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  FC_GPERF_SIZE_T=size_t
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+               #include <string.h>
+
+               const char *in_word_set(register const char *, register unsigned int);
+               $fc_gperf_test
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  FC_GPERF_SIZE_T="unsigned int"
+else
+  as_fn_error $? "Unable to determine the type of the len parameter of the gperf hash/lookup function" "$LINENO" 5
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+cat >>confdefs.h <<_ACEOF
+#define FC_GPERF_SIZE_T $FC_GPERF_SIZE_T
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC_GPERF_SIZE_T" >&5
+$as_echo "$FC_GPERF_SIZE_T" >&6; }
+
 #
 # Checks for iconv
 #
@@ -15086,12 +17052,12 @@ 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
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 21.0.15\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "freetype2 >= 21.0.15") 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`
+  pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 21.0.15" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -15103,12 +17069,12 @@ 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
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 21.0.15\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "freetype2 >= 21.0.15") 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`
+  pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= 21.0.15" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -15129,14 +17095,14 @@ 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`
+               FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "freetype2 >= 21.0.15" 2>&1`
         else
-               FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "freetype2" 2>&1`
+               FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "freetype2 >= 21.0.15" 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:
+       as_fn_error $? "Package requirements (freetype2 >= 21.0.15) were not met:
 
 $FREETYPE_PKG_ERRORS
 
@@ -15168,7 +17134,7 @@ else
 $as_echo "yes" >&6; }
 
 fi
-PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2"
+PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 21.0.15"
 
 
 
@@ -15177,7 +17143,7 @@ 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
+for ac_func in FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Done_MM_Var
 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"
@@ -15189,49 +17155,137 @@ _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
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+       #include <ft2build.h>
+       #include FT_CONFIG_OPTIONS_H
+       #ifndef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
+       #  error "No pcf long family names support"
+       #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  have_pcf_long_family_names=yes
+else
+  have_pcf_long_family_names=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test "x$have_pcf_long_family_names" = xyes; then
+  FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE=
+  FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE='#'
 else
-  HAVE_FT_BITMAP_SIZE_Y_PPEM=0
+  FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE='#'
+  FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE=
 fi
 
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_FT_BITMAP_SIZE_Y_PPEM $HAVE_FT_BITMAP_SIZE_Y_PPEM
-_ACEOF
+LIBS="$fontconfig_save_libs"
+CFLAGS="$fontconfig_save_cflags"
 
-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 :
+#
+# Check for uuid
+#
+if test "$os_win32" != "yes"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UUID" >&5
+$as_echo_n "checking for UUID... " >&6; }
+
+if test -n "$UUID_CFLAGS"; then
+    pkg_cv_UUID_CFLAGS="$UUID_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"uuid\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "uuid") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_UUID_CFLAGS=`$PKG_CONFIG --cflags "uuid" 2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$UUID_LIBS"; then
+    pkg_cv_UUID_LIBS="$UUID_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"uuid\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "uuid") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_UUID_LIBS=`$PKG_CONFIG --libs "uuid" 2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE 1
-_ACEOF
 
 
+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
-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 :
+        if test $_pkg_short_errors_supported = yes; then
+               UUID_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "uuid" 2>&1`
+        else
+               UUID_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "uuid" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$UUID_PKG_ERRORS" >&5
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE 1
-_ACEOF
+       as_fn_error $? "Package requirements (uuid) were not met:
+
+$UUID_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 UUID_CFLAGS
+and UUID_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 UUID_CFLAGS
+and UUID_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
+       UUID_CFLAGS=$pkg_cv_UUID_CFLAGS
+       UUID_LIBS=$pkg_cv_UUID_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 
 fi
+       PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY uuid"
+else
+       UUID_CFLAGS=""
+       UUID_LIBS=""
+fi
+
 
-CFLAGS="$fontconfig_save_cflags"
-LIBS="$fontconfig_save_libs"
 
 #
 # Check expat configuration
                else
                        EXPAT_LIBS="-lexpat"
                fi
+               PKG_EXPAT_CFLAGS=$EXPAT_CFLAGS
+               PKG_EXPAT_LIBS=$EXPAT_LIBS
        else
                PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY expat"
+               PKG_EXPAT_CFLAGS=
+               PKG_EXPAT_LIBS=
        fi
 
        expatsaved_CPPFLAGS="$CPPFLAGS"
@@ -15408,6 +17466,8 @@ done
 
 
 
+
+
 fi
 
 #
@@ -15511,7 +17571,7 @@ else
 $as_echo "yes" >&6; }
 
 fi
-    PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0"
+    PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0 >= 2.6"
 
 cat >>confdefs.h <<_ACEOF
 #define ENABLE_LIBXML2 1
@@ -16840,7 +18900,7 @@ _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"
+ac_config_files="$ac_config_files Makefile fontconfig/Makefile fc-lang/Makefile fc-case/Makefile src/Makefile conf.d/Makefile fc-cache/Makefile fc-cat/Makefile fc-conflist/Makefile fc-list/Makefile fc-match/Makefile fc-pattern/Makefile fc-query/Makefile fc-scan/Makefile fc-validate/Makefile doc/Makefile doc/version.sgml its/Makefile po/Makefile.in po-conf/Makefile.in test/Makefile fontconfig.spec fontconfig.pc fontconfig-zip"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -16975,10 +19035,6 @@ 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 "${HAVE_PYTHON_TRUE}" && test -z "${HAVE_PYTHON_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_PYTHON\" 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
@@ -16995,6 +19051,10 @@ 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 "${FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE}" && test -z "${FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE}"; then
+  as_fn_error $? "conditional \"FREETYPE_PCF_LONG_FAMILY_NAMES\" 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
@@ -17405,7 +19465,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # 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.12.1, which was
+This file was extended by fontconfig $as_me 2.13.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17471,7 +19531,7 @@ _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.12.1
+fontconfig config.status 2.13.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
 
 
 
+# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+    # from automake < 1.5.
+    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+
 # variables for create stdint.h replacement
 PACKAGE="$PACKAGE"
 VERSION="$VERSION"
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+    "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
     "$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-conflist/Makefile") CONFIG_FILES="$CONFIG_FILES fc-conflist/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" ;;
@@ -17925,6 +19992,9 @@ do
     "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" ;;
+    "its/Makefile") CONFIG_FILES="$CONFIG_FILES its/Makefile" ;;
+    "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+    "po-conf/Makefile.in") CONFIG_FILES="$CONFIG_FILES po-conf/Makefile.in" ;;
     "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
     "fontconfig.spec") CONFIG_FILES="$CONFIG_FILES fontconfig.spec" ;;
     "fontconfig.pc") CONFIG_FILES="$CONFIG_FILES fontconfig.pc" ;;
@@ -19163,6 +21233,120 @@ ltmain=$ac_aux_dir/ltmain.sh
   chmod +x "$ofile"
 
  ;;
+    "po-directories":C)
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        # Treat a directory as a PO directory if and only if it has a
+        # POTFILES.in file. This allows packages to have multiple PO
+        # directories under different names or in different locations.
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          gt_tab=`printf '\t'`
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          POMAKEFILEDEPS="POTFILES.in"
+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+          else
+            # The set of available languages was given in configure.in.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+          fi
+          # Compute POFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+          # Compute UPDATEPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+          # Compute DUMMYPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+          # Compute GMOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          GMOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done ;;
     "$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;}
index 4948816..85f113f 100644 (file)
@@ -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.12.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig])
+AC_INIT([fontconfig], [2.13.0], [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,8 +53,6 @@ m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], AC_SUBST([pkgconfigdir], ${libdir}/
 
 AM_MISSING_PROG([GIT], [git])
 AM_MISSING_PROG([GPERF], [gperf])
-AM_PATH_PYTHON(,, [:])
-AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
 
 AC_MSG_CHECKING([for RM macro])
 _predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'`
@@ -74,11 +72,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=10
-LIBT_REVISION=2
+LIBT_CURRENT=12
+LIBT_REVISION=1
 AC_SUBST(LIBT_CURRENT)
 AC_SUBST(LIBT_REVISION)
-LIBT_AGE=9
+LIBT_AGE=11
 
 LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
 AC_SUBST(LIBT_VERSION_INFO)
@@ -90,7 +88,6 @@ PKGCONFIG_REQUIRES=
 PKGCONFIG_REQUIRES_PRIVATELY=
 
 dnl ==========================================================================
-
 case "$host" in
   *-*-mingw*)
     os_win32=yes
@@ -100,6 +97,18 @@ case "$host" in
 esac
 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
 
+dnl ==========================================================================
+dnl gettext stuff
+dnl ==========================================================================
+GETTEXT_PACKAGE=$PACKAGE
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
+
+AM_GNU_GETTEXT_VERSION([0.19.8])
+AM_GNU_GETTEXT([external])
+
+dnl ==========================================================================
+
 if test "$os_win32" = "yes"; then
   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
 fi
@@ -193,6 +202,26 @@ fi
 AC_CHECK_MEMBERS([struct dirent.d_type],,,
        [#include <dirent.h>])
 
+# Check the argument type of the gperf hash/lookup function
+AC_MSG_CHECKING([The type of len parameter of gperf hash/lookup function])
+fc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)"
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+       #include <string.h>
+
+       const char *in_word_set(register const char *, register size_t);
+       $fc_gperf_test
+       ]])], [FC_GPERF_SIZE_T=size_t],
+       [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+               #include <string.h>
+
+               const char *in_word_set(register const char *, register unsigned int);
+               $fc_gperf_test
+       ]])], [FC_GPERF_SIZE_T="unsigned int"],
+       [AC_MSG_ERROR([Unable to determine the type of the len parameter of the gperf hash/lookup function])]
+)])
+AC_DEFINE_UNQUOTED(FC_GPERF_SIZE_T, $FC_GPERF_SIZE_T, [The type of len parameter of the gperf hash/lookup function])
+AC_MSG_RESULT($FC_GPERF_SIZE_T)
+
 #
 # Checks for iconv
 #
@@ -278,8 +307,9 @@ AC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.])
 #
 # Checks for FreeType
 #
-PKG_CHECK_MODULES(FREETYPE, freetype2)
-PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2"
+dnl See http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT for versioning in freetype
+PKG_CHECK_MODULES(FREETYPE, freetype2 >= 21.0.15)
+PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 21.0.15"
 
 AC_SUBST(FREETYPE_LIBS)
 AC_SUBST(FREETYPE_CFLAGS)
@@ -288,20 +318,32 @@ fontconfig_save_libs="$LIBS"
 fontconfig_save_cflags="$CFLAGS"
 LIBS="$LIBS $FREETYPE_LIBS"
 CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
-AC_CHECK_FUNCS(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)
-AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
-               HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
-               HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
-[#include <ft2build.h>
-#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"
+AC_CHECK_FUNCS(FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Done_MM_Var)
+
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+       #include <ft2build.h>
+       #include FT_CONFIG_OPTIONS_H
+       #ifndef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
+       #  error "No pcf long family names support"
+       #endif
+       ]])], [have_pcf_long_family_names=yes], [have_pcf_long_family_names=no])
+AM_CONDITIONAL(FREETYPE_PCF_LONG_FAMILY_NAMES, test "x$have_pcf_long_family_names" = xyes)
+
 LIBS="$fontconfig_save_libs"
+CFLAGS="$fontconfig_save_cflags"
+
+#
+# Check for uuid
+#
+if test "$os_win32" != "yes"; then
+       PKG_CHECK_MODULES([UUID], [uuid])
+       PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY uuid"
+else
+       UUID_CFLAGS=""
+       UUID_LIBS=""
+fi
+AC_SUBST(UUID_CFLAGS)
+AC_SUBST(UUID_LIBS)
 
 #
 # Check expat configuration
@@ -343,8 +385,12 @@ if test "$enable_libxml2" != "yes"; then
                else
                        EXPAT_LIBS="-lexpat"
                fi
+               PKG_EXPAT_CFLAGS=$EXPAT_CFLAGS
+               PKG_EXPAT_LIBS=$EXPAT_LIBS
        else
                PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY expat"
+               PKG_EXPAT_CFLAGS=
+               PKG_EXPAT_LIBS=
        fi
 
        expatsaved_CPPFLAGS="$CPPFLAGS"
@@ -375,6 +421,8 @@ if test "$enable_libxml2" != "yes"; then
 
        AC_SUBST(EXPAT_CFLAGS)
        AC_SUBST(EXPAT_LIBS)
+       AC_SUBST(PKG_EXPAT_CFLAGS)
+       AC_SUBST(PKG_EXPAT_LIBS)
 fi
 
 #
@@ -386,7 +434,7 @@ AC_ARG_ENABLE(libxml2,
 
 if test "$enable_libxml2" = "yes"; then
     PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6])
-    PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0"
+    PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0 >= 2.6"
     AC_DEFINE_UNQUOTED(ENABLE_LIBXML2,1,[Use libxml2 instead of Expat])
 
     AC_SUBST(LIBXML2_CFLAGS)
@@ -720,13 +768,12 @@ 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-conflist/Makefile
 fc-list/Makefile
 fc-match/Makefile
 fc-pattern/Makefile
@@ -735,6 +782,9 @@ fc-scan/Makefile
 fc-validate/Makefile
 doc/Makefile
 doc/version.sgml
+its/Makefile
+po/Makefile.in
+po-conf/Makefile.in
 test/Makefile
 fontconfig.spec
 fontconfig.pc
diff --git a/depcomp b/depcomp
index fc98710..b39f98f 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,9 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2013-05-30.07; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 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
@@ -786,6 +786,6 @@ exit 0
 # 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-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index cb40ab9..2921772 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcAtomicCreate \- create an FcAtomic object
 .SH SYNOPSIS
index f6fa765..df56cd6 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicDeleteNew" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicDeleteNew" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcAtomicDeleteNew \- delete new file
 .SH SYNOPSIS
index 1d0da2b..1dea61e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcAtomicDestroy \- destroy an FcAtomic object
 .SH SYNOPSIS
index ee646a6..eca2fff 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicLock" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicLock" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcAtomicLock \- lock a file
 .SH SYNOPSIS
index af798db..35c58d5 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicNewFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicNewFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcAtomicNewFile \- return new temporary file name
 .SH SYNOPSIS
index b794a01..fb1589d 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicOrigFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicOrigFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcAtomicOrigFile \- return original file name
 .SH SYNOPSIS
index 68bfaad..e7692a3 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicReplaceOrig" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicReplaceOrig" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcAtomicReplaceOrig \- replace original with new
 .SH SYNOPSIS
index 138afa4..961688a 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicUnlock" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicUnlock" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcAtomicUnlock \- unlock a file
 .SH SYNOPSIS
index e036bb0..057712f 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcBlanksAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcBlanksAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcBlanksAdd \- Add a character to an FcBlanks
 .SH SYNOPSIS
@@ -10,5 +10,5 @@ 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.
+FcBlanks is deprecated.
+This function always returns FALSE.
index c7111a8..33eb2c5 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcBlanksCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcBlanksCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcBlanksCreate \- Create an FcBlanks
 .SH SYNOPSIS
@@ -10,4 +10,5 @@ FcBlanks * FcBlanksCreate (void\fI\fB);
 .fi\fR
 .SH "DESCRIPTION"
 .PP
-Creates an empty FcBlanks object.
+FcBlanks is deprecated.
+This function always returns NULL.
index 9b27757..45e9c30 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcBlanksDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcBlanksDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcBlanksDestroy \- Destroy and FcBlanks
 .SH SYNOPSIS
@@ -10,4 +10,5 @@ void FcBlanksDestroy (FcBlanks *\fIb\fB);
 .fi\fR
 .SH "DESCRIPTION"
 .PP
-Destroys an FcBlanks object, freeing any associated memory.
+FcBlanks is deprecated.
+This function does nothing.
index fb061f9..59abcc0 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcBlanksIsMember" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcBlanksIsMember" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcBlanksIsMember \- Query membership in an FcBlanks
 .SH SYNOPSIS
@@ -10,5 +10,5 @@ FcBool FcBlanksIsMember (FcBlanks *\fIb\fB, FcChar32 \fIucs4\fB);
 .fi\fR
 .SH "DESCRIPTION"
 .PP
-Returns whether the specified FcBlanks object contains the indicated Unicode
-value.
+FcBlanks is deprecated.
+This function always returns FALSE.
index 26d3a8b..d571009 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheCopySet" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheCopySet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCacheCopySet \- Returns a copy of the fontset from cache
 .SH SYNOPSIS
index 274301b..8c4a36e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheCreateTagFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheCreateTagFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCacheCreateTagFile \- Create CACHEDIR.TAG at cache directory.
 .SH SYNOPSIS
index dd84d6d..d769046 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheDir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheDir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCacheDir \- Return directory of cache
 .SH SYNOPSIS
index c01d37d..76c0a2f 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheNumFont" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheNumFont" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCacheNumFont \- Returns the number of fonts in cache.
 .SH SYNOPSIS
index 4640bb1..a5843ec 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheNumSubdir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheNumSubdir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCacheNumSubdir \- Return the number of subdirectories in cache.
 .SH SYNOPSIS
index ee152a9..4580a92 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheSubdir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheSubdir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCacheSubdir \- Return the i'th subdirectory.
 .SH SYNOPSIS
index c775035..241be63 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetAddChar" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetAddChar" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetAddChar \- Add a character to a charset
 .SH SYNOPSIS
index fdbb575..097a253 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetCopy \- Copy a charset
 .SH SYNOPSIS
index eb86401..f82901f 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetCount" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetCount" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetCount \- Count entries in a charset
 .SH SYNOPSIS
index bb0cea6..3ff0d9b 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetCoverage" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetCoverage" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetCoverage \- DEPRECATED return coverage for a Unicode page
 .SH SYNOPSIS
index dddb144..1897930 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetCreate \- Create an empty character set
 .SH SYNOPSIS
index 0df4b18..b2850b8 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetDelChar" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetDelChar" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetDelChar \- Add a character to a charset
 .SH SYNOPSIS
index 4ed58cb..e074f8d 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetDestroy \- Destroy a character set
 .SH SYNOPSIS
index fc08a72..637795f 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetEqual \- Compare two charsets
 .SH SYNOPSIS
index 34bdb92..5b5bbd8 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetFirstPage" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetFirstPage" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetFirstPage \- Start enumerating charset contents
 .SH SYNOPSIS
index 533abe1..6679e7c 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetHasChar" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetHasChar" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetHasChar \- Check a charset for a char
 .SH SYNOPSIS
index d128ea1..5ed5c8a 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetIntersect" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetIntersect" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetIntersect \- Intersect charsets
 .SH SYNOPSIS
index 87f6250..d08068c 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetIntersectCount" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetIntersectCount" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetIntersectCount \- Intersect and count charsets
 .SH SYNOPSIS
index 1a0febe..90d7e53 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetIsSubset" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetIsSubset" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetIsSubset \- Test for charset inclusion
 .SH SYNOPSIS
index 8796e78..3c84301 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetMerge" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetMerge" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetMerge \- Merge charsets
 .SH SYNOPSIS
index 6828d52..687dd2f 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetNew" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetNew" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetNew \- DEPRECATED alias for FcCharSetCreate
 .SH SYNOPSIS
index 89a0001..ac5008b 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetNextPage" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetNextPage" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetNextPage \- Continue enumerating charset contents
 .SH SYNOPSIS
index 783ed40..0bf85c1 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetSubtract" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetSubtract" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetSubtract \- Subtract charsets
 .SH SYNOPSIS
index d85d1a4..09bb9fc 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetSubtractCount" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetSubtractCount" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetSubtractCount \- Subtract and count charsets
 .SH SYNOPSIS
index 99168eb..1b80ecd 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetUnion" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetUnion" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcCharSetUnion \- Add charsets
 .SH SYNOPSIS
index 1d05726..af8a9d0 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigAppFontAddDir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigAppFontAddDir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigAppFontAddDir \- Add fonts from directory to font database
 .SH SYNOPSIS
index a9493d8..54333b4 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigAppFontAddFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigAppFontAddFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigAppFontAddFile \- Add font file to font database
 .SH SYNOPSIS
index a7001ee..64f71aa 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigAppFontClear" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigAppFontClear" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigAppFontClear \- Remove all app fonts from font database
 .SH SYNOPSIS
index 8f00ded..785da51 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigBuildFonts" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigBuildFonts" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigBuildFonts \- Build font database
 .SH SYNOPSIS
index d231e34..8988b68 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigCreate \- Create a configuration
 .SH SYNOPSIS
index 48af295..71a65d7 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigDestroy \- Destroy a configuration
 .SH SYNOPSIS
index b059581..6a21e15 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigEnableHome" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigEnableHome" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigEnableHome \- controls use of the home directory.
 .SH SYNOPSIS
diff --git a/doc/FcConfigFileInfoIterGet.3 b/doc/FcConfigFileInfoIterGet.3
new file mode 100644 (file)
index 0000000..b930aa8
--- /dev/null
@@ -0,0 +1,18 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigFileInfoIterGet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcConfigFileInfoIterGet \- Obtain the configuration file information
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigFileInfoIterGet (FcConfig *\fIconfig\fB, FcConfigFileInfoIter *\fIiter\fB, FcChar8 **\fIname\fB, FcChar8 **\fIdescription\fB, FcBool *\fIenabled\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Obtain the filename, the description and the flag whether it is enabled or not
+for 'iter' where points to current configuration file information.
+If the iterator is invalid, FcFalse is returned.
+.SH "SINCE"
+.PP
+version 2.12.91
diff --git a/doc/FcConfigFileInfoIterInit.3 b/doc/FcConfigFileInfoIterInit.3
new file mode 100644 (file)
index 0000000..59cea5c
--- /dev/null
@@ -0,0 +1,16 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigFileInfoIterInit" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcConfigFileInfoIterInit \- Initialize the iterator
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcConfigFileInfoIterInit (FcConfig *\fIconfig\fB, FcConfigFileInfoIter *\fIiter\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Initialize 'iter' with the first iterator in the config file information list.
+.SH "SINCE"
+.PP
+version 2.12.91
diff --git a/doc/FcConfigFileInfoIterNext.3 b/doc/FcConfigFileInfoIterNext.3
new file mode 100644 (file)
index 0000000..5908aa9
--- /dev/null
@@ -0,0 +1,17 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigFileInfoIterNext" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcConfigFileInfoIterNext \- Set the iterator to point to the next list
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigFileInfoIterNext (FcConfig *\fIconfig\fB, FcConfigFileInfoIter *\fIiter\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Set 'iter' to point to the next node in the config file information list.
+If there is no next node, FcFalse is returned.
+.SH "SINCE"
+.PP
+version 2.12.91
index 22e556d..35318a5 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigFilename" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigFilename" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigFilename \- Find a config file
 .SH SYNOPSIS
index 7117399..dbd48f2 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetBlanks" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetBlanks" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetBlanks \- Get config blanks
 .SH SYNOPSIS
@@ -10,8 +10,5 @@ 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.
+FcBlanks is deprecated.
+This function always returns NULL.
index 4da17a4..504c928 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetCache" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetCache" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetCache \- DEPRECATED used to return per-user cache filename
 .SH SYNOPSIS
index 7b7961e..26b3720 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetCacheDirs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetCacheDirs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetCacheDirs \- return the list of directories searched for cache files
 .SH SYNOPSIS
index 784599a..1006743 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetConfigDirs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetConfigDirs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetConfigDirs \- Get config directories
 .SH SYNOPSIS
index d6a16c3..70f650e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetConfigFiles" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetConfigFiles" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetConfigFiles \- Get config files
 .SH SYNOPSIS
index 4cc7b86..76326c9 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetCurrent" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetCurrent" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetCurrent \- Return current configuration
 .SH SYNOPSIS
index 8805e96..e5e4336 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetFontDirs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetFontDirs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetFontDirs \- Get font directories
 .SH SYNOPSIS
index ff30882..aa4c46c 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetFonts" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetFonts" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetFonts \- Get config font set
 .SH SYNOPSIS
index 7899961..5a44049 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetRescanInterval" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetRescanInterval" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetRescanInterval \- Get config rescan interval
 .SH SYNOPSIS
index 3f764ea..4fd3732 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetSysRoot" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetSysRoot" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigGetSysRoot \- Obtain the system root directory
 .SH SYNOPSIS
index 81b142d..437b73e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigHome" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigHome" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigHome \- return the current home directory.
 .SH SYNOPSIS
index c0b329a..870b7a0 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigParseAndLoad" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigParseAndLoad" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigParseAndLoad \- load a configuration file
 .SH SYNOPSIS
diff --git a/doc/FcConfigParseAndLoadFromMemory.3 b/doc/FcConfigParseAndLoadFromMemory.3
new file mode 100644 (file)
index 0000000..b131004
--- /dev/null
@@ -0,0 +1,21 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigParseAndLoadFromMemory" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcConfigParseAndLoadFromMemory \- load a configuration from memory
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigParseAndLoadFromMemory (FcConfig *\fIconfig\fB, const FcChar8 *\fIbuffer\fB, FcBool \fIcomplain\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Walks the configuration in 'memory' and constructs the internal representation
+in 'config'. Any includes files referenced from within 'memory' will be loaded
+and dparsed. 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 fsome error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+.SH "SINCE"
+.PP
+version 2.12.5
index beb0732..4b71564 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigReference" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigReference" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigReference \- Increment config reference count
 .SH SYNOPSIS
index 6ff7370..5c3cd6e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSetCurrent" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSetCurrent" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigSetCurrent \- Set configuration as default
 .SH SYNOPSIS
index deba75a..deb9b30 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSetRescanInterval" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSetRescanInterval" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigSetRescanInterval \- Set config rescan interval
 .SH SYNOPSIS
index d480347..5cdedd1 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSetSysRoot" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSetSysRoot" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigSetSysRoot \- Set the system root directory
 .SH SYNOPSIS
index 91abcad..937f201 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSubstitute" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSubstitute" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigSubstitute \- Execute substitutions
 .SH SYNOPSIS
index bd8c5ef..16e335a 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSubstituteWithPat" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSubstituteWithPat" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigSubstituteWithPat \- Execute substitutions
 .SH SYNOPSIS
index dc5e712..07ddfd5 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigUptoDate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigUptoDate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcConfigUptoDate \- Check timestamps on config files
 .SH SYNOPSIS
index 914aa01..bf24959 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDefaultSubstitute" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDefaultSubstitute" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDefaultSubstitute \- Perform default substitutions in a pattern
 .SH SYNOPSIS
index 6acef7a..df97549 100644 (file)
@@ -1,7 +1,7 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheClean" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheClean" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .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.
+FcDirCacheClean \- Clean up a cache directory
 .SH SYNOPSIS
 .nf
 \fB#include <fontconfig/fontconfig.h>
@@ -10,6 +10,8 @@ FcBool FcDirCacheClean (const FcChar8 *\fIcache_dir\fB, FcBool\fIverbose\fB);
 .fi\fR
 .SH "DESCRIPTION"
 .PP
+This tries to clean up the cache directory of \fIcache_dir\fR\&.
+This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
 .SH "SINCE"
 .PP
 version 2.9.91
diff --git a/doc/FcDirCacheCreateUUID.3 b/doc/FcDirCacheCreateUUID.3
new file mode 100644 (file)
index 0000000..518519f
--- /dev/null
@@ -0,0 +1,19 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheCreateUUID" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcDirCacheCreateUUID \- Create .uuid file at a directory
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcDirCacheCreateUUID (FcChar8 *\fIdir\fB, FcBool\fIforce\fB, FcConfig\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This is to create .uuid file containing an UUID at a font directory of
+\fIdir\fR\&.
+The UUID will be used to identify the font directory and is used to determine
+the cache filename if available.
+.SH "SINCE"
+.PP
+version 2.12.92
index 51a5d32..41c2802 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheLoad" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheLoad" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirCacheLoad \- load a directory cache
 .SH SYNOPSIS
index 9f397ae..3b439b0 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheLoadFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheLoadFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirCacheLoadFile \- load a cache file
 .SH SYNOPSIS
index 63e57e7..104c958 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheRead" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheRead" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirCacheRead \- read or construct a directory cache
 .SH SYNOPSIS
index 9674b19..9045653 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheRescan" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheRescan" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirCacheRescan \- Re-scan a directory cache
 .SH SYNOPSIS
index e358c9e..29bd68d 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheUnlink" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheUnlink" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirCacheUnlink \- Remove all caches related to dir
 .SH SYNOPSIS
index 6d791a9..82428d2 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheUnload" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheUnload" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirCacheUnload \- unload a cache file
 .SH SYNOPSIS
index 67a3537..69d09c8 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheValid" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheValid" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirCacheValid \- check directory cache
 .SH SYNOPSIS
index 6c449a8..aaecba3 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirSave" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirSave" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirSave \- DEPRECATED: formerly used to save a directory cache
 .SH SYNOPSIS
index 99354d0..79a66b0 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirScan" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirScan" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcDirScan \- scan a font directory without caching it
 .SH SYNOPSIS
index 1b9d965..e1f969f 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFileIsDir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFileIsDir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFileIsDir \- check whether a file is a directory
 .SH SYNOPSIS
index 8761eff..fcdb613 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFileScan" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFileScan" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFileScan \- scan a font file
 .SH SYNOPSIS
index ad7a141..416def8 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFini" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFini" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFini \- finalize fontconfig library
 .SH SYNOPSIS
index f0a4581..92ff7e3 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontList" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontList" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontList \- List fonts
 .SH SYNOPSIS
index 6710139..a3e1ddd 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontMatch" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontMatch" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontMatch \- Return best font
 .SH SYNOPSIS
index 7c2577f..df8082b 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontRenderPrepare" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontRenderPrepare" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontRenderPrepare \- Prepare pattern for loading font file
 .SH SYNOPSIS
index dbf6daa..a95382d 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSetAdd \- Add to a font set
 .SH SYNOPSIS
index ae4537b..1c86421 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSetCreate \- Create a font set
 .SH SYNOPSIS
index 560a153..bb20669 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSetDestroy \- Destroy a font set
 .SH SYNOPSIS
index 09f9800..e7c76b9 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetList" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetList" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSetList \- List fonts from a set of font sets
 .SH SYNOPSIS
index 41b4fcd..c52aecf 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetMatch" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetMatch" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSetMatch \- Return the best font from a set of font sets
 .SH SYNOPSIS
index a2397fe..30cd36e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetPrint" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetPrint" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSetPrint \- Print a set of patterns to stdout
 .SH SYNOPSIS
index 4dce69b..5d6e762 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetSort" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetSort" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSetSort \- Add to a font set
 .SH SYNOPSIS
index e83ab2c..5882707 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetSortDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetSortDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSetSortDestroy \- DEPRECATED destroy a font set
 .SH SYNOPSIS
index 4ab4401..d49b4e9 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSort" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSort" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFontSort \- Return list of matching fonts
 .SH SYNOPSIS
index 0ca41ac..a3243e3 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeCharIndex" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeCharIndex" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFreeTypeCharIndex \- map Unicode to glyph id
 .SH SYNOPSIS
index aec6bb3..9047f0a 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeCharSet" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeCharSet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFreeTypeCharSet \- compute Unicode coverage
 .SH SYNOPSIS
@@ -11,7 +11,6 @@ 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.
+Scans a FreeType face and returns the set of encoded Unicode chars.
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
index 01e2b28..c4f936d 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeCharSetAndSpacing" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeCharSetAndSpacing" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFreeTypeCharSetAndSpacing \- compute Unicode coverage and spacing type
 .SH SYNOPSIS
@@ -12,10 +12,8 @@ FcCharSet * FcFreeTypeCharSetAndSpacing (FT_Face \fIface\fB, FcBlanks *\fIblanks
 .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.
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
 \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
index 9669e13..0e78c99 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeQuery" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeQuery" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFreeTypeQuery \- compute pattern from font file (and index)
 .SH SYNOPSIS
@@ -11,5 +11,7 @@ FcPattern * FcFreeTypeQuery (const FcChar8 *\fIfile\fB, int \fIid\fB, FcBlanks *
 .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'.
+Constructs a pattern representing the 'id'th face in 'file'. The number
+of faces in 'file' is returned in 'count'.
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
diff --git a/doc/FcFreeTypeQueryAll.3 b/doc/FcFreeTypeQueryAll.3
new file mode 100644 (file)
index 0000000..0e4965a
--- /dev/null
@@ -0,0 +1,23 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFreeTypeQueryAll" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcFreeTypeQueryAll \- compute all patterns from font file (and index)
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig.h>
+#include <fcfreetype.h>
+.sp
+unsigned int FcFreeTypeQueryAll (const FcChar8 *\fIfile\fB, int \fIid\fB, FcBlanks *\fIblanks\fB, int *\fIcount\fB, FcFontSet *\fIset\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Constructs patterns found in 'file'.
+If id is -1, then all patterns found in 'file' are added to 'set'.
+Otherwise, this function works exactly like FcFreeTypeQuery().
+The number of faces in 'file' is returned in 'count'.
+The number of patterns added to 'set' is returned.
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
+.SH "SINCE"
+.PP
+version 2.12.91
index 210d91b..d026964 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeQueryFace" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeQueryFace" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcFreeTypeQueryFace \- compute pattern from FT_Face
 .SH SYNOPSIS
@@ -13,3 +13,5 @@ FcPattern * FcFreeTypeQueryFace (const FT_Face \fIface\fB, const FcChar8 *\fIfil
 .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).
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
index 8e2215f..419895e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcGetDefaultLangs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcGetDefaultLangs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcGetDefaultLangs \- Get the default languages list
 .SH SYNOPSIS
index 2b9de20..b6713ea 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcGetLangs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcGetLangs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcGetLangs \- Get list of languages
 .SH SYNOPSIS
index 5befbd0..212dc1d 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcGetVersion" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcGetVersion" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcGetVersion \- library version number
 .SH SYNOPSIS
index 2d9fe58..7e74ac8 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInit" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInit" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcInit \- initialize fontconfig library
 .SH SYNOPSIS
index 9770061..f82d69e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInitBringUptoDate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInitBringUptoDate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcInitBringUptoDate \- reload configuration files if needed
 .SH SYNOPSIS
index ceda2bf..45e1c92 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInitLoadConfig" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInitLoadConfig" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcInitLoadConfig \- load configuration
 .SH SYNOPSIS
index 32329e5..e9001d2 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInitLoadConfigAndFonts" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInitLoadConfigAndFonts" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcInitLoadConfigAndFonts \- load configuration and font data
 .SH SYNOPSIS
index 9901c2a..1e6e57b 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInitReinitialize" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInitReinitialize" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcInitReinitialize \- re-initialize library
 .SH SYNOPSIS
index ae88801..ea77e55 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcIsLower" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcIsLower" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcIsLower \- check for lower case ASCII character
 .SH SYNOPSIS
index f64d7fd..5ebe201 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcIsUpper" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcIsUpper" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcIsUpper \- check for upper case ASCII character
 .SH SYNOPSIS
index 2dc911f..fba9243 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangGetCharSet" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangGetCharSet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangGetCharSet \- Get character map for a language
 .SH SYNOPSIS
index bb5f3ef..47aa19c 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangNormalize" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangNormalize" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangNormalize \- Normalize the language string
 .SH SYNOPSIS
index 151c311..d641d50 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetAdd \- add a language to a langset
 .SH SYNOPSIS
index 3faf961..58a2677 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetCompare" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetCompare" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetCompare \- compare language sets
 .SH SYNOPSIS
index 1f62356..8e43aea 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetContains" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetContains" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetContains \- check langset subset relation
 .SH SYNOPSIS
index a7d713f..7ed9602 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetCopy \- copy a langset object
 .SH SYNOPSIS
index d180573..5ce84c8 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetCreate \- create a langset object
 .SH SYNOPSIS
index e3540e2..98d4840 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetDel" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetDel" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetDel \- delete a language from a langset
 .SH SYNOPSIS
index 9d79acc..b73fb99 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetDestroy \- destroy a langset object
 .SH SYNOPSIS
index d6f0db7..f5717e3 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetEqual \- test for matching langsets
 .SH SYNOPSIS
index e40b799..31347cd 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetGetLangs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetGetLangs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetGetLangs \- get the list of languages in the langset
 .SH SYNOPSIS
index 2fa8116..a774fce 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetHasLang" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetHasLang" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetHasLang \- test langset for language support
 .SH SYNOPSIS
index a48f6c3..3f2efc2 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetHash" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetHash" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetHash \- return a hash value for a langset
 .SH SYNOPSIS
index 1af2f47..27aee0f 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetSubtract" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetSubtract" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetSubtract \- Subtract langsets
 .SH SYNOPSIS
index 931b607..ca7d0ad 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetUnion" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetUnion" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcLangSetUnion \- Add langsets
 .SH SYNOPSIS
index 8398196..f5fbddd 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcMatrixCopy \- Copy a matrix
 .SH SYNOPSIS
index fe7d0de..54e7b0a 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcMatrixEqual \- Compare two matrices
 .SH SYNOPSIS
index 9e569df..a0a44af 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixInit" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixInit" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcMatrixInit \- initialize an FcMatrix structure
 .SH SYNOPSIS
index b076afb..e3d9dda 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixMultiply" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixMultiply" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcMatrixMultiply \- Multiply matrices
 .SH SYNOPSIS
index e66b66c..e52e485 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixRotate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixRotate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcMatrixRotate \- Rotate a matrix
 .SH SYNOPSIS
index 1ef3346..e6d68b7 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixScale" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixScale" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcMatrixScale \- Scale a matrix
 .SH SYNOPSIS
index 9d89a03..ff335d0 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixShear" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixShear" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcMatrixShear \- Shear a matrix
 .SH SYNOPSIS
index 9b93cb1..5730ece 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameConstant" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameConstant" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameConstant \- Get the value for a symbolic constant
 .SH SYNOPSIS
index 9c2a301..5d310e6 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameGetConstant" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameGetConstant" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameGetConstant \- Lookup symbolic constant
 .SH SYNOPSIS
index 49d6050..ed1b23b 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameGetObjectType" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameGetObjectType" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameGetObjectType \- Lookup an object type
 .SH SYNOPSIS
index fb4d6a7..4e7f7c7 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameParse" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameParse" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameParse \- Parse a pattern string
 .SH SYNOPSIS
index ac3c7b6..fdf939c 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameRegisterConstants" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameRegisterConstants" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameRegisterConstants \- Register symbolic constants
 .SH SYNOPSIS
index b3a7c08..ce9ec5b 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameRegisterObjectTypes" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameRegisterObjectTypes" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameRegisterObjectTypes \- Register object types
 .SH SYNOPSIS
index 6085356..6dd1411 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameUnparse" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameUnparse" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameUnparse \- Convert a pattern back into a string that can be parsed
 .SH SYNOPSIS
index 7b6f477..7a7c8f4 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameUnregisterConstants" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameUnregisterConstants" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameUnregisterConstants \- Unregister symbolic constants
 .SH SYNOPSIS
index 33507dc..3341e83 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameUnregisterObjectTypes" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameUnregisterObjectTypes" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcNameUnregisterObjectTypes \- Unregister object types
 .SH SYNOPSIS
index a10976f..fe2a5ee 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcObjectSetAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcObjectSetAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcObjectSetAdd \- Add to an object set
 .SH SYNOPSIS
index b25ab5e..e4edb0b 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcObjectSetBuild" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcObjectSetBuild" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild \- Build object set from args
 .SH SYNOPSIS
index 847ba67..2dec2c6 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcObjectSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcObjectSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcObjectSetCreate \- Create an object set
 .SH SYNOPSIS
index 0b587d9..1e54be0 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcObjectSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcObjectSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcObjectSetDestroy \- Destroy an object set
 .SH SYNOPSIS
index 90400f2..068f6b5 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternAdd-Type" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternAdd-Type" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString, FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool, FcPatternAddFTFace, FcPatternAddLangSet, FcPatternAddRange \- Add a typed value to a pattern
 .SH SYNOPSIS
index 9e3f374..ae92054 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternAdd \- Add a value to a pattern
 .SH SYNOPSIS
index 0aaa05b..d5b3856 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternAddWeak" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternAddWeak" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternAddWeak \- Add a value to a pattern with weak binding
 .SH SYNOPSIS
index c8c5a98..7b8eaa7 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternBuild" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternBuild" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild \- Create patterns from arguments
 .SH SYNOPSIS
index 7cd8f91..4e2acad 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternCreate \- Create a pattern
 .SH SYNOPSIS
index f04c366..b3fa828 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternDel" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternDel" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternDel \- Delete a property from a pattern
 .SH SYNOPSIS
index d613711..618bfd4 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternDestroy \- Destroy a pattern
 .SH SYNOPSIS
index 3510479..55dd729 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternDuplicate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternDuplicate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternDuplicate \- Copy a pattern
 .SH SYNOPSIS
index 21bfc43..2afd20b 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternEqual \- Compare patterns
 .SH SYNOPSIS
index f2ecfea..3cc95f5 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternEqualSubset" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternEqualSubset" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternEqualSubset \- Compare portions of patterns
 .SH SYNOPSIS
index dc5d31a..e3f3531 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternFilter" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternFilter" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternFilter \- Filter the objects of pattern
 .SH SYNOPSIS
index 61565ad..908a0a1 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternFormat" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternFormat" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternFormat \- Format a pattern into a string according to a format specifier
 .SH SYNOPSIS
index 2a880f6..9f7b38c 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternGet-Type" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternGet-Type" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString, FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool, FcPatternGetFTFace, FcPatternGetLangSet, FcPatternGetRange \- Return a typed value from a pattern
 .SH SYNOPSIS
index 8a15ac1..ddcd7fd 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternGet" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternGet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternGet \- Return a value from a pattern
 .SH SYNOPSIS
diff --git a/doc/FcPatternGetWithBinding.3 b/doc/FcPatternGetWithBinding.3
new file mode 100644 (file)
index 0000000..b881b5c
--- /dev/null
@@ -0,0 +1,20 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternGetWithBinding" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcPatternGetWithBinding \- Return a value with binding from a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcResult FcPatternGetWithBinding (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIid\fB, FcValue *\fIv\fB, FcValueBinding *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns in \fIv\fR the \fIid\fR\&'th value
+and \fIb\fR binding for that 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.
+.SH "SINCE"
+.PP
+version 2.12.5
index 0022da7..473c7e4 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternHash" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternHash" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternHash \- Compute a pattern hash value
 .SH SYNOPSIS
index 7914c8f..8ed60f8 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternPrint" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternPrint" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternPrint \- Print a pattern for debugging
 .SH SYNOPSIS
index 0aea9c1..27b9c66 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternReference" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternReference" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternReference \- Increment pattern reference count
 .SH SYNOPSIS
index e4c8e91..7b9f53a 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternRemove" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternRemove" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcPatternRemove \- Remove one object of the specified type from the pattern
 .SH SYNOPSIS
index 2517f44..8373003 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcRangeCopy \- Copy a range object
 .SH SYNOPSIS
index f8e8bb5..ca8646d 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeCreateDouble" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeCreateDouble" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcRangeCreateDouble \- create a range object for double
 .SH SYNOPSIS
index 469987c..9ea1793 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeCreateInteger" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeCreateInteger" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcRangeCreateInteger \- create a range object for integer
 .SH SYNOPSIS
index bfadeb3..7a1a0b3 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcRangeDestroy \- destroy a range object
 .SH SYNOPSIS
index 4aeb55b..60f5e94 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeGetDouble" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeGetDouble" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcRangeGetDouble \- Get the range in double
 .SH SYNOPSIS
index 93b078d..087f326 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrBasename" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrBasename" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrBasename \- last component of filename
 .SH SYNOPSIS
index 6885903..f5dbd8d 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrCmp" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrCmp" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrCmp \- compare UTF-8 strings
 .SH SYNOPSIS
index e5a3372..4afc471 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrCmpIgnoreCase" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrCmpIgnoreCase" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrCmpIgnoreCase \- compare UTF-8 strings ignoring case
 .SH SYNOPSIS
index d7eccb7..449b7f2 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrCopy \- duplicate a string
 .SH SYNOPSIS
index 0d193f0..bf45004 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrCopyFilename" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrCopyFilename" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrCopyFilename \- create a complete path from a filename
 .SH SYNOPSIS
index 1a30378..631f0c0 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrDirname" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrDirname" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrDirname \- directory part of filename
 .SH SYNOPSIS
index 2c4636e..391c246 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrDowncase" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrDowncase" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrDowncase \- create a lower case translation of a string
 .SH SYNOPSIS
index 99d9ba3..dc4d253 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrFree" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrFree" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrFree \- free a string
 .SH SYNOPSIS
index 5d2dae7..c3551fd 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrListCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrListCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrListCreate \- create a string iterator
 .SH SYNOPSIS
index 12cd13e..8d6a58e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrListDone" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrListDone" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrListDone \- destroy a string iterator
 .SH SYNOPSIS
index 80fa20f..a7d907a 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrListFirst" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrListFirst" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrListFirst \- get first string in iteration
 .SH SYNOPSIS
index e9ce489..e1542ba 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrListNext" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrListNext" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrListNext \- get next string in iteration
 .SH SYNOPSIS
index 38d1dd7..b2f5b38 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrPlus" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrPlus" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrPlus \- concatenate two strings
 .SH SYNOPSIS
index 95f9775..655e0cc 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrSetAdd \- add to a string set
 .SH SYNOPSIS
index 9277014..cac1aeb 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetAddFilename" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetAddFilename" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrSetAddFilename \- add a filename to a string set
 .SH SYNOPSIS
index f4172f6..8d0d43c 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrSetCreate \- create a string set
 .SH SYNOPSIS
index b0e192d..0aa5a17 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetDel" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetDel" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrSetDel \- delete from a string set
 .SH SYNOPSIS
index 5751152..fcfbc4a 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrSetDestroy \- destroy a string set
 .SH SYNOPSIS
index 7cbbf81..b8c9f71 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrSetEqual \- check sets for equality
 .SH SYNOPSIS
index 8e39272..4c28dba 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetMember" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetMember" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrSetMember \- check set for membership
 .SH SYNOPSIS
index e808b3f..df9d168 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrStr" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrStr" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrStr \- locate UTF-8 substring
 .SH SYNOPSIS
index 78d0442..eec3127 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrStrIgnoreCase" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrStrIgnoreCase" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcStrStrIgnoreCase \- locate UTF-8 substring ignoring ASCII case
 .SH SYNOPSIS
index 8ee62fb..640dc56 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcToLower" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcToLower" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcToLower \- convert upper case ASCII to lower case
 .SH SYNOPSIS
index 94533ff..e19eb14 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUcs4ToUtf8" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUcs4ToUtf8" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcUcs4ToUtf8 \- convert UCS4 to UTF-8
 .SH SYNOPSIS
index 3591d30..a6f8fef 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUtf16Len" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUtf16Len" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcUtf16Len \- count UTF-16 encoded chars
 .SH SYNOPSIS
index 5899a0c..3087e2e 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUtf16ToUcs4" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUtf16ToUcs4" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcUtf16ToUcs4 \- convert UTF-16 to UCS4
 .SH SYNOPSIS
index 4f46fdb..fe0af07 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUtf8Len" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUtf8Len" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcUtf8Len \- count UTF-8 encoded chars
 .SH SYNOPSIS
index 6d07b7f..98cd3c4 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUtf8ToUcs4" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUtf8ToUcs4" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcUtf8ToUcs4 \- convert UTF-8 to UCS4
 .SH SYNOPSIS
index 01d21b8..7dded44 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcValueDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcValueDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcValueDestroy \- Free a value
 .SH SYNOPSIS
index 9375cdf..206c92c 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcValueEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcValueEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcValueEqual \- Test two values for equality
 .SH SYNOPSIS
index 851d06d..413bcbe 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcValuePrint" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcValuePrint" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcValuePrint \- Print a value to stdout
 .SH SYNOPSIS
index b98e3f9..38d3254 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcValueSave" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcValueSave" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcValueSave \- Copy a value
 .SH SYNOPSIS
index 744c66f..03b1346 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcWeightFromOpenType" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcWeightFromOpenType" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcWeightFromOpenType \- Convert from OpenType weight values to fontconfig ones
 .SH SYNOPSIS
@@ -10,13 +10,9 @@ 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.
+\fBFcWeightFromOpenType\fR is like
+\fBFcWeightFromOpenTypeDouble\fR but with integer arguments.
+Use the other function instead.
 .SH "SINCE"
 .PP
 version 2.11.91
diff --git a/doc/FcWeightFromOpenTypeDouble.3 b/doc/FcWeightFromOpenTypeDouble.3
new file mode 100644 (file)
index 0000000..8b6ec75
--- /dev/null
@@ -0,0 +1,22 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcWeightFromOpenTypeDouble" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcWeightFromOpenTypeDouble \- Convert from OpenType weight values to fontconfig ones
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+double FcWeightFromOpenTypeDouble (double\fIot_weight\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcWeightFromOpenTypeDouble\fR returns an double value
+to use with FC_WEIGHT, from an double 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 doubleerpolates
+between various FC_WEIGHT_* constants. As such, the returned value does not
+necessarily match any of the predefined constants.
+.SH "SINCE"
+.PP
+version 2.12.92
index c35a602..6476b84 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcWeightToOpenType" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcWeightToOpenType" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
 .SH NAME
 FcWeightToOpenType \- Convert from fontconfig weight values to OpenType ones
 .SH SYNOPSIS
@@ -10,10 +10,9 @@ 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.
+\fBFcWeightToOpenType\fR is like
+\fBFcWeightToOpenTypeDouble\fR but with integer arguments.
+Use the other function instead.
 .SH "SINCE"
 .PP
 version 2.11.91
diff --git a/doc/FcWeightToOpenTypeDouble.3 b/doc/FcWeightToOpenTypeDouble.3
new file mode 100644 (file)
index 0000000..e74b5e2
--- /dev/null
@@ -0,0 +1,19 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcWeightToOpenTypeDouble" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcWeightToOpenTypeDouble \- Convert from fontconfig weight values to OpenType ones
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+double FcWeightToOpenTypeDouble (double\fIot_weight\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcWeightToOpenTypeDouble\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.12.92
index 9141ab2..2194ab7 100644 (file)
@@ -123,7 +123,10 @@ noinst_PROGRAMS =  \
 edit_sgml_SOURCES =    \
        edit-sgml.c     \
        $(NULL)
-edit_sgml_CC = $(CC_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CC:=$(CC_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CFLAGS:=$(CFLAGS_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CPPFLAGS:=$(CPPFLAGS_FOR_BUILD)
+edit_sgml_LINK = $(CC_FOR_BUILD) -o $@
 #
 check_SCRIPTS =                        \
        check-missing-doc       \
index 716a726..f07dfbe 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -130,10 +130,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -148,10 +153,6 @@ 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
@@ -170,6 +171,10 @@ am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+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 = 
 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
@@ -466,7 +471,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -478,8 +487,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -491,11 +504,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -515,15 +533,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -531,8 +547,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -579,13 +601,9 @@ 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@
@@ -696,7 +714,7 @@ edit_sgml_SOURCES = \
        edit-sgml.c     \
        $(NULL)
 
-edit_sgml_CC = $(CC_FOR_BUILD)
+edit_sgml_LINK = $(CC_FOR_BUILD) -o $@
 #
 check_SCRIPTS = \
        check-missing-doc       \
@@ -769,7 +787,7 @@ clean-noinstPROGRAMS:
 
 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)
+       $(AM_V_GEN)$(edit_sgml_LINK) $(edit_sgml_OBJECTS) $(edit_sgml_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -1317,6 +1335,9 @@ uninstall-man: uninstall-man3 uninstall-man5
 
 .PRECIOUS: Makefile
 
+$(edit_sgml_OBJECTS) : CC:=$(CC_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CFLAGS:=$(CFLAGS_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CPPFLAGS:=$(CPPFLAGS_FOR_BUILD)
 
 @USEDOCBOOK_TRUE@.fncs.sgml:
 @USEDOCBOOK_TRUE@      $(AM_V_GEN) $(RM) $@; \
index b0996d6..776ed70 100644 (file)
@@ -26,7 +26,8 @@
 @TYPE1@                void
 @PURPOSE@      Create an FcBlanks
 @DESC@
-Creates an empty FcBlanks object.
+FcBlanks is deprecated.
+This function always returns NULL.
 @@
 
 @RET@          void
@@ -34,7 +35,8 @@ Creates an empty FcBlanks object.
 @TYPE1@                FcBlanks *                      @ARG1@          b
 @PURPOSE@      Destroy and FcBlanks
 @DESC@
-Destroys an FcBlanks object, freeing any associated memory.
+FcBlanks is deprecated.
+This function does nothing.
 @@
 
 @RET@          FcBool
@@ -43,8 +45,8 @@ Destroys an FcBlanks object, freeing any associated memory.
 @TYPE2@                FcChar32%                       @ARG2@          ucs4
 @PURPOSE@      Add a character to an FcBlanks
 @DESC@
-Adds a single character to an FcBlanks object, returning FcFalse
-if this process ran out of memory.
+FcBlanks is deprecated.
+This function always returns FALSE.
 @@
 
 @RET@          FcBool
@@ -53,6 +55,6 @@ if this process ran out of memory.
 @TYPE2@                FcChar32%                       @ARG2@          ucs4
 @PURPOSE@      Query membership in an FcBlanks
 @DESC@
-Returns whether the specified FcBlanks object contains the indicated Unicode
-value.
+FcBlanks is deprecated.
+This function always returns FALSE.
 @@
index 25dfdc1..4023f1b 100644 (file)
@@ -44,7 +44,8 @@
        </refsynopsisdiv>
        <refsect1><title>Description</title>
            <para>
-Creates an empty FcBlanks object.
+FcBlanks is deprecated.
+This function always returns NULL.
            </para>
        </refsect1>
     </refentry>
@@ -94,7 +95,8 @@ Creates an empty FcBlanks object.
        </refsynopsisdiv>
        <refsect1><title>Description</title>
            <para>
-Destroys an FcBlanks object, freeing any associated memory.
+FcBlanks is deprecated.
+This function does nothing.
            </para>
        </refsect1>
     </refentry>
@@ -145,8 +147,8 @@ Destroys an FcBlanks object, freeing any associated memory.
        </refsynopsisdiv>
        <refsect1><title>Description</title>
            <para>
-Adds a single character to an FcBlanks object, returning FcFalse
-if this process ran out of memory.
+FcBlanks is deprecated.
+This function always returns FALSE.
            </para>
        </refsect1>
     </refentry>
@@ -197,8 +199,8 @@ if this process ran out of memory.
        </refsynopsisdiv>
        <refsect1><title>Description</title>
            <para>
-Returns whether the specified FcBlanks object contains the indicated Unicode
-value.
+FcBlanks is deprecated.
+This function always returns FALSE.
            </para>
        </refsect1>
     </refentry>
index 34ce63f..17e74fe 100644 (file)
@@ -71,7 +71,8 @@ FcCacheCopySet.
 @FUNC@         FcDirCacheClean
 @TYPE1@                const FcChar8 *                 @ARG1@          cache_dir
 @TYPE2@                FcBool                          @ARG2@          verbose
-@PURPOSE@
+@PURPOSE@      Clean up a cache directory
+@DESC@
 This tries to clean up the cache directory of <parameter>cache_dir</parameter>.
 This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
 @SINCE@                2.9.91
@@ -86,3 +87,18 @@ This tries to create CACHEDIR.TAG file at the cache directory registered
 to <parameter>config</parameter>.
 @SINCE@                2.9.91
 @@
+
+@RET@          FcBool
+@FUNC@         FcDirCacheCreateUUID
+@TYPE1@                FcChar8 *                       @ARG1@          dir
+@TYPE2@                FcBool                          @ARG2@          force
+@TYPE3@                FcConfig                        @ARG3@          config
+@PURPOSE@      Create .uuid file at a directory
+@DESC@
+This is to create .uuid file containing an UUID at a font directory of
+<parameter>dir</parameter>.
+The UUID will be used to identify the font directory and is used to determine
+the cache filename if available.
+@SINCE@                2.12.92
+@@
+
index 8cc6830..729401a 100644 (file)
@@ -286,8 +286,7 @@ FcCacheCopySet.
        </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>
+           <refpurpose>Clean up a cache directory</refpurpose>
        </refnamediv>
        <refsynopsisdiv>
        <funcsynopsis>
@@ -303,7 +302,8 @@ This returns FcTrue if the operation is successfully complete. otherwise FcFalse
        </refsynopsisdiv>
        <refsect1><title>Description</title>
            <para>
-
+This tries to clean up the cache directory of <parameter>cache_dir</parameter>.
+This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
            </para>
        </refsect1>
        <refsect1><title>Since</title>
@@ -364,3 +364,61 @@ to <parameter>config</parameter>.
            <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="FcDirCacheCreateUUID">
+       <refmeta>
+           <refentrytitle>FcDirCacheCreateUUID</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcDirCacheCreateUUID</refname>
+           <refpurpose>Create .uuid file at a directory</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>FcBool <function>FcDirCacheCreateUUID</function></funcdef>
+               <paramdef>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 is to create .uuid file containing an UUID at a font directory of
+<parameter>dir</parameter>.
+The UUID will be used to identify the font directory and is used to determine
+the cache filename if available.
+           </para>
+       </refsect1>
+       <refsect1><title>Since</title>
+           <para>version 2.12.92</para>
+       </refsect1>
+    </refentry>
index a2ce5c8..de7a5d7 100644 (file)
@@ -181,11 +181,8 @@ If <parameter>config</parameter> is NULL, the current configuration is used.
 @TYPE1@         FcConfig *                      @ARG1@          config
 @PURPOSE@      Get config blanks
 @DESC@
-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.
+FcBlanks is deprecated.
+This function always returns NULL.
 @@
 
 @RET@           int
@@ -375,6 +372,22 @@ Returns FcFalse if some error occurred while loading the file, either a
 parse error, semantic error or allocation failure. Otherwise returns FcTrue.
 @@
 
+@RET@          FcBool
+@FUNC@         FcConfigParseAndLoadFromMemory
+@TYPE1@                FcConfig *                      @ARG1@          config
+@TYPE2@                const FcChar8 *                 @ARG2@          buffer
+@TYPE3@                FcBool%                         @ARG3@          complain
+@PURPOSE@      load a configuration from memory
+@DESC@
+Walks the configuration in 'memory' and constructs the internal representation
+in 'config'.  Any includes files referenced from within 'memory' will be loaded
+and dparsed.  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 fsome error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+@SINCE@                2.12.5
+@@
+
 @RET@          const FcChar8 *
 @FUNC@         FcConfigGetSysRoot
 @TYPE1@                const FcConfig *                @ARG1@          config
@@ -397,3 +410,38 @@ this function calls FcConfigSetCurrent() internally.
 @SINCE@                2.10.92
 @@
 
+@RET@          void
+@FUNC@         FcConfigFileInfoIterInit
+@TYPE1@                FcConfig *                      @ARG1@          config
+@TYPE2@                FcConfigFileInfoIter *          @ARG2@          iter
+@PURPOSE@      Initialize the iterator
+@DESC@
+Initialize 'iter' with the first iterator in the config file information list.
+@SINCE@                2.12.91
+@@
+
+@RET@          FcBool
+@FUNC@         FcConfigFileInfoIterNext
+@TYPE1@                FcConfig *                      @ARG1@          config
+@TYPE2@                FcConfigFileInfoIter *          @ARG2@          iter
+@PURPOSE@      Set the iterator to point to the next list
+@DESC@
+Set 'iter' to point to the next node in the config file information list.
+If there is no next node, FcFalse is returned.
+@SINCE@                2.12.91
+@@
+
+@RET@          FcBool
+@FUNC@         FcConfigFileInfoIterGet
+@TYPE1@                FcConfig *                      @ARG1@          config
+@TYPE2@                FcConfigFileInfoIter *          @ARG2@          iter
+@TYPE3@                FcChar8 **                      @ARG3@          name
+@TYPE4@                FcChar8 **                      @ARG4@          description
+@TYPE5@                FcBool *                        @ARG5@          enabled
+@PURPOSE@      Obtain the configuration file information
+@DESC@
+Obtain the filename, the description and the flag whether it is enabled or not
+for 'iter' where points to current configuration file information.
+If the iterator is invalid, FcFalse is returned.
+@SINCE@                2.12.91
+@@
index d1f771e..d295203 100644 (file)
@@ -829,11 +829,8 @@ If <parameter>config</parameter> is NULL, the current configuration is used.
        </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.
+FcBlanks is deprecated.
+This function always returns NULL.
            </para>
        </refsect1>
     </refentry>
@@ -1593,6 +1590,66 @@ parse error, semantic error or allocation failure. Otherwise returns FcTrue.
    TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
  -->
+    <refentry id="FcConfigParseAndLoadFromMemory">
+       <refmeta>
+           <refentrytitle>FcConfigParseAndLoadFromMemory</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcConfigParseAndLoadFromMemory</refname>
+           <refpurpose>load a configuration from memory</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>FcBool <function>FcConfigParseAndLoadFromMemory</function></funcdef>
+               <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+               <paramdef>const FcChar8 *<parameter>buffer</parameter></paramdef>
+               <paramdef>FcBool <parameter>complain</parameter></paramdef>
+       </funcprototype>
+       </funcsynopsis>
+       </refsynopsisdiv>
+       <refsect1><title>Description</title>
+           <para>
+Walks the configuration in 'memory' and constructs the internal representation
+in 'config'.  Any includes files referenced from within 'memory' will be loaded
+and dparsed.  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 fsome error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+           </para>
+       </refsect1>
+       <refsect1><title>Since</title>
+           <para>version 2.12.5</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>
@@ -1680,3 +1737,171 @@ this function calls FcConfigSetCurrent() internally.
            <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="FcConfigFileInfoIterInit">
+       <refmeta>
+           <refentrytitle>FcConfigFileInfoIterInit</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcConfigFileInfoIterInit</refname>
+           <refpurpose>Initialize the iterator</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>void <function>FcConfigFileInfoIterInit</function></funcdef>
+               <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+               <paramdef>FcConfigFileInfoIter *<parameter>iter</parameter></paramdef>
+       </funcprototype>
+       </funcsynopsis>
+       </refsynopsisdiv>
+       <refsect1><title>Description</title>
+           <para>
+Initialize 'iter' with the first iterator in the config file information list.
+           </para>
+       </refsect1>
+       <refsect1><title>Since</title>
+           <para>version 2.12.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="FcConfigFileInfoIterNext">
+       <refmeta>
+           <refentrytitle>FcConfigFileInfoIterNext</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcConfigFileInfoIterNext</refname>
+           <refpurpose>Set the iterator to point to the next list</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>FcBool <function>FcConfigFileInfoIterNext</function></funcdef>
+               <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+               <paramdef>FcConfigFileInfoIter *<parameter>iter</parameter></paramdef>
+       </funcprototype>
+       </funcsynopsis>
+       </refsynopsisdiv>
+       <refsect1><title>Description</title>
+           <para>
+Set 'iter' to point to the next node in the config file information list.
+If there is no next node, FcFalse is returned.
+           </para>
+       </refsect1>
+       <refsect1><title>Since</title>
+           <para>version 2.12.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="FcConfigFileInfoIterGet">
+       <refmeta>
+           <refentrytitle>FcConfigFileInfoIterGet</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcConfigFileInfoIterGet</refname>
+           <refpurpose>Obtain the configuration file information</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>FcBool <function>FcConfigFileInfoIterGet</function></funcdef>
+               <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+               <paramdef>FcConfigFileInfoIter *<parameter>iter</parameter></paramdef>
+               <paramdef>FcChar8 **<parameter>name</parameter></paramdef>
+               <paramdef>FcChar8 **<parameter>description</parameter></paramdef>
+               <paramdef>FcBool *<parameter>enabled</parameter></paramdef>
+       </funcprototype>
+       </funcsynopsis>
+       </refsynopsisdiv>
+       <refsect1><title>Description</title>
+           <para>
+Obtain the filename, the description and the flag whether it is enabled or not
+for 'iter' where points to current configuration file information.
+If the iterator is invalid, FcFalse is returned.
+           </para>
+       </refsect1>
+       <refsect1><title>Since</title>
+           <para>version 2.12.91</para>
+       </refsect1>
+    </refentry>
index e4cca46..af63e83 100644 (file)
@@ -47,10 +47,9 @@ higher level functions.
 @TYPE2@         FcBlanks *                     @ARG2@          blanks
 @PURPOSE@      compute Unicode coverage
 @DESC@
-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.
+Scans a FreeType face and returns the set of encoded Unicode chars.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
 @@
 
 @SYNOPSIS@
@@ -64,10 +63,8 @@ not in 'blanks' are not placed in the returned FcCharSet.
 @PURPOSE@      compute Unicode coverage and spacing type
 @DESC@
 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.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
 <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
@@ -86,8 +83,38 @@ widths.
 @TYPE4@         int *                          @ARG4@          count      
 @PURPOSE@      compute pattern from font file (and index)
 @DESC@
-Constructs a pattern representing the 'id'th font in 'file'.  The number
-of fonts in 'file' is returned in 'count'.
+Constructs a pattern representing the 'id'th face in 'file'.  The number
+of faces in 'file' is returned in 'count'.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
+@@
+
+unsigned int
+FcFreeTypeQueryAll(const FcChar8       *file,
+                  int                  id,
+                  FcBlanks             *blanks,
+                  int                  *count,
+                  FcFontSet            *set)
+@SYNOPSIS@
+#include &lt;fontconfig.h&gt;
+#include &lt;fcfreetype.h&gt;
+@RET@           unsigned int
+@FUNC@          FcFreeTypeQueryAll
+@TYPE1@         const FcChar8 *                        @ARG1@          file
+@TYPE2@         int%                           @ARG2@          id
+@TYPE3@         FcBlanks *                     @ARG3@          blanks
+@TYPE4@         int *                          @ARG4@          count
+@TYPE5@         FcFontSet *                    @ARG5@          set
+@PURPOSE@      compute all patterns from font file (and index)
+@DESC@
+Constructs patterns found in 'file'.
+If id is -1, then all patterns found in 'file' are added to 'set'.
+Otherwise, this function works exactly like FcFreeTypeQuery().
+The number of faces in 'file' is returned in 'count'.
+The number of patterns added to 'set' is returned.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
+@SINCE@                2.12.91
 @@
 
 @SYNOPSIS@
@@ -103,4 +130,6 @@ of fonts in 'file' is returned in 'count'.
 @DESC@
 Constructs a pattern representing 'face'. 'file' and 'id' are used solely as
 data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
 @@
index 12eb4f4..1286a3e 100644 (file)
@@ -102,10 +102,9 @@ higher level functions.
        </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.
+Scans a FreeType face and returns the set of encoded Unicode chars.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
            </para>
        </refsect1>
     </refentry>
@@ -159,10 +158,8 @@ not in 'blanks' are not placed in the returned FcCharSet.
        <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.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
 <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
@@ -221,10 +218,76 @@ widths.
        </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'.
+Constructs a pattern representing the 'id'th face in 'file'.  The number
+of faces in 'file' is returned in 'count'.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
+           </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="FcFreeTypeQueryAll">
+       <refmeta>
+           <refentrytitle>FcFreeTypeQueryAll</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcFreeTypeQueryAll</refname>
+           <refpurpose>compute all patterns from font file (and index)</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig.h&gt;
+#include &lt;fcfreetype.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>unsigned int <function>FcFreeTypeQueryAll</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>
+               <paramdef>FcFontSet *<parameter>set</parameter></paramdef>
+       </funcprototype>
+       </funcsynopsis>
+       </refsynopsisdiv>
+       <refsect1><title>Description</title>
+           <para>
+Constructs patterns found in 'file'.
+If id is -1, then all patterns found in 'file' are added to 'set'.
+Otherwise, this function works exactly like FcFreeTypeQuery().
+The number of faces in 'file' is returned in 'count'.
+The number of patterns added to 'set' is returned.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
            </para>
        </refsect1>
+       <refsect1><title>Since</title>
+           <para>version 2.12.91</para>
+       </refsect1>
     </refentry>
 <!--
    fontconfig/doc/func.sgml
@@ -278,6 +341,8 @@ of fonts in 'file' is returned in 'count'.
            <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).
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
            </para>
        </refsect1>
     </refentry>
index 1049d77..928f0bc 100644 (file)
@@ -199,6 +199,23 @@ any existing list of values.
 @@
 
 @RET@          FcResult
+@FUNC@         FcPatternGetWithBinding
+@TYPE1@                FcPattern *                     @ARG1@          p
+@TYPE2@                const char *                    @ARG2@          object
+@TYPE3@                int%                            @ARG3@          id
+@TYPE4@                FcValue *                       @ARG4@          v
+@TYPE5@                FcValueBinding *                @ARG5@          b
+@PURPOSE@      Return a value with binding from a pattern
+@DESC@
+Returns in <parameter>v</parameter> the <parameter>id</parameter>'th value
+and <parameter>b</parameter> binding for that 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.
+@SINCE@                2.12.5
+@@
+
+@RET@          FcResult
 @FUNC@         FcPatternGet
 @TYPE1@                FcPattern *                     @ARG1@          p
 @TYPE2@                const char *                    @ARG2@          object
index 7e31ea3..1bd0216 100644 (file)
@@ -658,6 +658,67 @@ any existing list of values.
    TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
  -->
+    <refentry id="FcPatternGetWithBinding">
+       <refmeta>
+           <refentrytitle>FcPatternGetWithBinding</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcPatternGetWithBinding</refname>
+           <refpurpose>Return a value with binding from a pattern</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>FcResult <function>FcPatternGetWithBinding</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>
+               <paramdef>FcValueBinding *<parameter>b</parameter></paramdef>
+       </funcprototype>
+       </funcsynopsis>
+       </refsynopsisdiv>
+       <refsect1><title>Description</title>
+           <para>
+Returns in <parameter>v</parameter> the <parameter>id</parameter>'th value
+and <parameter>b</parameter> binding for that 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>
+       <refsect1><title>Since</title>
+           <para>version 2.12.5</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>
index 2872dd6..4884b27 100644 (file)
  * 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
+@RET@          double
+@FUNC@         FcWeightFromOpenTypeDouble
+@TYPE1@                double                          @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
+<function>FcWeightFromOpenTypeDouble</function> returns an double value
+to use with FC_WEIGHT, from an double 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
+zero, or greater than 1000, returns -1.  This function linearly doubleerpolates
 between various FC_WEIGHT_* constants.  As such, the returned value does not
 necessarily match any of the predefined constants.
+@SINCE@                2.12.92
+@@
+
+@RET@          double
+@FUNC@         FcWeightToOpenTypeDouble
+@TYPE1@                double                          @ARG1@          ot_weight
+@PURPOSE@      Convert from fontconfig weight values to OpenType ones
+@DESC@
+<function>FcWeightToOpenTypeDouble</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.12.92
+@@
+
+@RET@          int
+@FUNC@         FcWeightFromOpenType
+@TYPE1@                int                             @ARG1@          ot_weight
+@PURPOSE@      Convert from OpenType weight values to fontconfig ones
+@DESC@
+<function>FcWeightFromOpenType</function> is like
+<function>FcWeightFromOpenTypeDouble</function> but with integer arguments.
+Use the other function instead.
 @SINCE@                2.11.91
 @@
 
@@ -39,9 +62,8 @@ necessarily match any of the predefined constants.
 @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.
+<function>FcWeightToOpenType</function> is like
+<function>FcWeightToOpenTypeDouble</function> but with integer arguments.
+Use the other function instead.
 @SINCE@                2.11.91
 @@
index a8a235f..ae4bcc3 100644 (file)
    TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
  -->
+    <refentry id="FcWeightFromOpenTypeDouble">
+       <refmeta>
+           <refentrytitle>FcWeightFromOpenTypeDouble</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcWeightFromOpenTypeDouble</refname>
+           <refpurpose>Convert from OpenType weight values to fontconfig ones</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>double <function>FcWeightFromOpenTypeDouble</function></funcdef>
+               <paramdef>double<parameter>ot_weight</parameter></paramdef>
+       </funcprototype>
+       </funcsynopsis>
+       </refsynopsisdiv>
+       <refsect1><title>Description</title>
+           <para>
+<function>FcWeightFromOpenTypeDouble</function> returns an double value
+to use with FC_WEIGHT, from an double 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 doubleerpolates
+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.12.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="FcWeightToOpenTypeDouble">
+       <refmeta>
+           <refentrytitle>FcWeightToOpenTypeDouble</refentrytitle>
+           <manvolnum>3</manvolnum>
+           <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+       </refmeta>
+       <refnamediv>
+           <refname>FcWeightToOpenTypeDouble</refname>
+           <refpurpose>Convert from fontconfig weight values to OpenType ones</refpurpose>
+       </refnamediv>
+       <refsynopsisdiv>
+       <funcsynopsis>
+       <funcsynopsisinfo>
+#include &lt;fontconfig/fontconfig.h&gt;
+       </funcsynopsisinfo>
+       <funcprototype>
+           <funcdef>double <function>FcWeightToOpenTypeDouble</function></funcdef>
+               <paramdef>double<parameter>ot_weight</parameter></paramdef>
+       </funcprototype>
+       </funcsynopsis>
+       </refsynopsisdiv>
+       <refsect1><title>Description</title>
+           <para>
+<function>FcWeightToOpenTypeDouble</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.12.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="FcWeightFromOpenType">
        <refmeta>
            <refentrytitle>FcWeightFromOpenType</refentrytitle>
        </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.
+<function>FcWeightFromOpenType</function> is like
+<function>FcWeightFromOpenTypeDouble</function> but with integer arguments.
+Use the other function instead.
            </para>
        </refsect1>
        <refsect1><title>Since</title>
@@ -103,10 +214,9 @@ necessarily match any of the predefined constants.
        </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.
+<function>FcWeightToOpenType</function> is like
+<function>FcWeightToOpenTypeDouble</function> but with integer arguments.
+Use the other function instead.
            </para>
        </refsect1>
        <refsect1><title>Since</title>
index 4603d10..526ae79 100644 (file)
Binary files a/doc/fontconfig-devel.pdf and b/doc/fontconfig-devel.pdf differ
index d0ec8a5..6a6caef 100644 (file)
@@ -380,6 +380,11 @@ 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.
     </para>
+    <para>
+        FcBlanks is deprecated and should not be used in newly written code.
+        It is still accepted by some functions for compatibility with
+        older code but will be removed in the future.
+    </para>
   </sect2>
   <sect2><title>FcFileCache</title>
     <para>
@@ -558,6 +563,11 @@ 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.
     </para>
+    <para>
+        FcBlanks is deprecated and should not be used in newly written code.
+        It is still accepted by some functions for compatibility with
+        older code but will be removed in the future.
+    </para>
     &fcblanks;
   </sect2>
   <sect2><title>FcAtomic</title>
index 9a715c2..dc638c3 100644 (file)
@@ -1,4 +1,4 @@
-Fontconfig Developers Reference, Version 2.12.1
+Fontconfig Developers Reference, Version 2.13.0
 
    Copyright © 2002 Keith Packard
 
@@ -377,6 +377,10 @@ 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.
+
+   FcBlanks is deprecated and should not be used in newly written
+   code. It is still accepted by some functions for compatibility
+   with older code but will be removed in the future.
      __________________________________________________________
 
 FcFileCache
@@ -604,6 +608,9 @@ FcPattern
    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
+   FcPatternGetWithBinding -- Return a value with binding from a
+          pattern
+
    FcPatternGet -- Return a value from a pattern
    FcPatternGet-Type -- Return a typed value from a pattern
    FcPatternBuild -- Create patterns from arguments
@@ -853,6 +860,31 @@ Description
    These all append values to any existing list of values.
    FcPatternAddRange are available since 2.11.91.
 
+FcPatternGetWithBinding
+
+Name
+
+   FcPatternGetWithBinding -- Return a value with binding from a
+   pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+   FcResult FcPatternGetWithBinding(FcPattern *p, const char
+   *object, int id, FcValue *v, FcValueBinding *b);
+
+Description
+
+   Returns in v the id'th value and b binding for that 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.
+
+Since
+
+   version 2.12.5
+
 FcPatternGet
 
 Name
@@ -1587,6 +1619,9 @@ FreeType specific functions
           spacing type
 
    FcFreeTypeQuery -- compute pattern from font file (and index)
+   FcFreeTypeQueryAll -- compute all patterns from font file (and
+          index)
+
    FcFreeTypeQueryFace -- compute pattern from FT_Face
 
    While the fontconfig library doesn't insist that FreeType be
@@ -1631,10 +1666,8 @@ Synopsis
 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.
+   chars. FcBlanks is deprecated, blanks is ignored and accepted
+   only for compatibility with older code.
 
 FcFreeTypeCharSetAndSpacing
 
@@ -1654,14 +1687,13 @@ Synopsis
 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.
+   chars. FcBlanks is deprecated, blanks is ignored and accepted
+   only for compatibility with older code. 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
 
@@ -1679,8 +1711,38 @@ Synopsis
 
 Description
 
-   Constructs a pattern representing the 'id'th font in 'file'.
-   The number of fonts in 'file' is returned in 'count'.
+   Constructs a pattern representing the 'id'th face in 'file'.
+   The number of faces in 'file' is returned in 'count'. FcBlanks
+   is deprecated, blanks is ignored and accepted only for
+   compatibility with older code.
+
+FcFreeTypeQueryAll
+
+Name
+
+   FcFreeTypeQueryAll -- compute all patterns from font file (and
+   index)
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+   unsigned int FcFreeTypeQueryAll(const FcChar8 *file, int id,
+   FcBlanks *blanks, int *count, FcFontSet *set);
+
+Description
+
+   Constructs patterns found in 'file'. If id is -1, then all
+   patterns found in 'file' are added to 'set'. Otherwise, this
+   function works exactly like FcFreeTypeQuery(). The number of
+   faces in 'file' is returned in 'count'. The number of patterns
+   added to 'set' is returned. FcBlanks is deprecated, blanks is
+   ignored and accepted only for compatibility with older code.
+
+Since
+
+   version 2.12.91
 
 FcFreeTypeQueryFace
 
@@ -1700,7 +1762,8 @@ 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).
+   sometimes FC_FAMILY). FcBlanks is deprecated, blanks is ignored
+   and accepted only for compatibility with older code.
      __________________________________________________________
 
 FcValue
@@ -2825,8 +2888,17 @@ FcConfig
    FcFontList -- List fonts
    FcConfigFilename -- Find a config file
    FcConfigParseAndLoad -- load a configuration file
+   FcConfigParseAndLoadFromMemory -- load a configuration from
+          memory
+
    FcConfigGetSysRoot -- Obtain the system root directory
    FcConfigSetSysRoot -- Set the system root directory
+   FcConfigFileInfoIterInit -- Initialize the iterator
+   FcConfigFileInfoIterNext -- Set the iterator to point to the
+          next list
+
+   FcConfigFileInfoIterGet -- Obtain the configuration file
+          information
 
    An FcConfig object holds the internal representation of a
    configuration. There is a default configuration which
@@ -3130,11 +3202,7 @@ Synopsis
 
 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.
+   FcBlanks is deprecated. This function always returns NULL.
 
 FcConfigGetRescanInterval
 
@@ -3427,6 +3495,35 @@ Description
    parse error, semantic error or allocation failure. Otherwise
    returns FcTrue.
 
+FcConfigParseAndLoadFromMemory
+
+Name
+
+   FcConfigParseAndLoadFromMemory -- load a configuration from
+   memory
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+   FcBool FcConfigParseAndLoadFromMemory(FcConfig *config, const
+   FcChar8 *buffer, FcBool complain);
+
+Description
+
+   Walks the configuration in 'memory' and constructs the internal
+   representation in 'config'. Any includes files referenced from
+   within 'memory' will be loaded and dparsed. 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 fsome error occurred while loading the file, either
+   a parse error, semantic error or allocation failure. Otherwise
+   returns FcTrue.
+
+Since
+
+   version 2.12.5
+
 FcConfigGetSysRoot
 
 Name
@@ -3471,6 +3568,78 @@ Description
 Since
 
    version 2.10.92
+
+FcConfigFileInfoIterInit
+
+Name
+
+   FcConfigFileInfoIterInit -- Initialize the iterator
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+   void FcConfigFileInfoIterInit(FcConfig *config,
+   FcConfigFileInfoIter *iter);
+
+Description
+
+   Initialize 'iter' with the first iterator in the config file
+   information list.
+
+Since
+
+   version 2.12.91
+
+FcConfigFileInfoIterNext
+
+Name
+
+   FcConfigFileInfoIterNext -- Set the iterator to point to the
+   next list
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+   FcBool FcConfigFileInfoIterNext(FcConfig *config,
+   FcConfigFileInfoIter *iter);
+
+Description
+
+   Set 'iter' to point to the next node in the config file
+   information list. If there is no next node, FcFalse is
+   returned.
+
+Since
+
+   version 2.12.91
+
+FcConfigFileInfoIterGet
+
+Name
+
+   FcConfigFileInfoIterGet -- Obtain the configuration file
+   information
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+   FcBool FcConfigFileInfoIterGet(FcConfig *config,
+   FcConfigFileInfoIter *iter, FcChar8 **name, FcChar8
+   **description, FcBool *enabled);
+
+Description
+
+   Obtain the filename, the description and the flag whether it is
+   enabled or not for 'iter' where points to current configuration
+   file information. If the iterator is invalid, FcFalse is
+   returned.
+
+Since
+
+   version 2.12.91
      __________________________________________________________
 
 FcObjectType
@@ -3618,6 +3787,12 @@ Description
 FcWeight
 
    Table of Contents
+   FcWeightFromOpenTypeDouble -- Convert from OpenType weight
+          values to fontconfig ones
+
+   FcWeightToOpenTypeDouble -- Convert from fontconfig weight
+          values to OpenType ones
+
    FcWeightFromOpenType -- Convert from OpenType weight values to
           fontconfig ones
 
@@ -3626,6 +3801,58 @@ FcWeight
 
    Maps weights to and from OpenType weights.
 
+FcWeightFromOpenTypeDouble
+
+Name
+
+   FcWeightFromOpenTypeDouble -- Convert from OpenType weight
+   values to fontconfig ones
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+   double FcWeightFromOpenTypeDouble(doubleot_weight);
+
+Description
+
+   FcWeightFromOpenTypeDouble returns an double value to use with
+   FC_WEIGHT, from an double 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 doubleerpolates between various FC_WEIGHT_* constants.
+   As such, the returned value does not necessarily match any of
+   the predefined constants.
+
+Since
+
+   version 2.12.92
+
+FcWeightToOpenTypeDouble
+
+Name
+
+   FcWeightToOpenTypeDouble -- Convert from fontconfig weight
+   values to OpenType ones
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+   double FcWeightToOpenTypeDouble(doubleot_weight);
+
+Description
+
+   FcWeightToOpenTypeDouble 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.12.92
+
 FcWeightFromOpenType
 
 Name
@@ -3641,14 +3868,8 @@ Synopsis
 
 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.
+   FcWeightFromOpenType is like FcWeightFromOpenTypeDouble but
+   with integer arguments. Use the other function instead.
 
 Since
 
@@ -3669,10 +3890,8 @@ Synopsis
 
 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.
+   FcWeightToOpenType is like FcWeightToOpenTypeDouble but with
+   integer arguments. Use the other function instead.
 
 Since
 
@@ -3694,6 +3913,10 @@ FcBlanks
    font. This provides a significantly more accurate CharSet for
    applications.
 
+   FcBlanks is deprecated and should not be used in newly written
+   code. It is still accepted by some functions for compatibility
+   with older code but will be removed in the future.
+
 FcBlanksCreate
 
 Name
@@ -3708,7 +3931,7 @@ Synopsis
 
 Description
 
-   Creates an empty FcBlanks object.
+   FcBlanks is deprecated. This function always returns NULL.
 
 FcBlanksDestroy
 
@@ -3724,7 +3947,7 @@ Synopsis
 
 Description
 
-   Destroys an FcBlanks object, freeing any associated memory.
+   FcBlanks is deprecated. This function does nothing.
 
 FcBlanksAdd
 
@@ -3740,8 +3963,7 @@ Synopsis
 
 Description
 
-   Adds a single character to an FcBlanks object, returning
-   FcFalse if this process ran out of memory.
+   FcBlanks is deprecated. This function always returns FALSE.
 
 FcBlanksIsMember
 
@@ -3757,8 +3979,7 @@ Synopsis
 
 Description
 
-   Returns whether the specified FcBlanks object contains the
-   indicated Unicode value.
+   FcBlanks is deprecated. This function always returns FALSE.
      __________________________________________________________
 
 FcAtomic
@@ -4168,11 +4389,9 @@ FcCache routines
           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.
-
+   FcDirCacheClean -- Clean up a cache directory
    FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
+   FcDirCacheCreateUUID -- Create .uuid file at a directory
 
    These routines work with font directory caches, accessing their
    contents in limited ways. It is not expected that normal
@@ -4269,9 +4488,7 @@ 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.
+   FcDirCacheClean -- Clean up a cache directory
 
 Synopsis
 
@@ -4282,6 +4499,10 @@ Synopsis
 
 Description
 
+   This tries to clean up the cache directory of cache_dir. This
+   returns FcTrue if the operation is successfully complete.
+   otherwise FcFalse.
+
 Since
 
    version 2.9.91
@@ -4306,6 +4527,30 @@ Description
 Since
 
    version 2.9.91
+
+FcDirCacheCreateUUID
+
+Name
+
+   FcDirCacheCreateUUID -- Create .uuid file at a directory
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+   FcBool FcDirCacheCreateUUID(FcChar8 *dir, FcBoolforce,
+   FcConfigconfig);
+
+Description
+
+   This is to create .uuid file containing an UUID at a font
+   directory of dir. The UUID will be used to identify the font
+   directory and is used to determine the cache filename if
+   available.
+
+Since
+
+   version 2.12.92
      __________________________________________________________
 
 FcStrSet and FcStrList
index ee1c8f8..e62a080 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcAtomicLock"
 HREF="fcatomiclock.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCATOMICCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3714"
+NAME="AEN3936"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3714"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3717"
+NAME="AEN3939"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3718"
+NAME="AEN3940"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3725"
+NAME="AEN3947"
 ></A
 ><H2
 >Description</H2
@@ -161,7 +161,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -195,7 +195,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 7602eb3..b2ca139 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
 REL="PREVIOUS"
 TITLE="FcAtomicReplaceOrig"
 HREF="fcatomicreplaceorig.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCATOMICDELETENEW"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3814"
+NAME="AEN4036"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3814"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3817"
+NAME="AEN4039"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3818"
+NAME="AEN4040"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3825"
+NAME="AEN4047"
 ></A
 ><H2
 >Description</H2
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 7e05e7c..c25917b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
 REL="PREVIOUS"
 TITLE="FcAtomicUnlock"
 HREF="fcatomicunlock.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCATOMICDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3852"
+NAME="AEN4074"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN3852"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3855"
+NAME="AEN4077"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3856"
+NAME="AEN4078"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3863"
+NAME="AEN4085"
 ></A
 ><H2
 >Description</H2
@@ -181,7 +181,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 7d42433..c2b3255 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
 REL="PREVIOUS"
 TITLE="FcAtomicCreate"
 HREF="fcatomiccreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCATOMICLOCK"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3734"
+NAME="AEN3956"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3734"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3737"
+NAME="AEN3959"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3738"
+NAME="AEN3960"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3745"
+NAME="AEN3967"
 ></A
 ><H2
 >Description</H2
@@ -194,7 +194,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 952dcae..1d9ed1b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
 REL="PREVIOUS"
 TITLE="FcAtomicLock"
 HREF="fcatomiclock.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCATOMICNEWFILE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3754"
+NAME="AEN3976"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3754"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3757"
+NAME="AEN3979"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3758"
+NAME="AEN3980"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3765"
+NAME="AEN3987"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 2f92fe7..73ded28 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
 REL="PREVIOUS"
 TITLE="FcAtomicNewFile"
 HREF="fcatomicnewfile.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCATOMICORIGFILE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3774"
+NAME="AEN3996"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3774"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3777"
+NAME="AEN3999"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3778"
+NAME="AEN4000"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3785"
+NAME="AEN4007"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
 ACCESSKEY="U"
 >Up</A
 ></TD
index ba8076c..2135bdf 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
 REL="PREVIOUS"
 TITLE="FcAtomicOrigFile"
 HREF="fcatomicorigfile.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCATOMICREPLACEORIG"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3794"
+NAME="AEN4016"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3794"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3797"
+NAME="AEN4019"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3798"
+NAME="AEN4020"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3805"
+NAME="AEN4027"
 ></A
 ><H2
 >Description</H2
@@ -194,7 +194,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
 ACCESSKEY="U"
 >Up</A
 ></TD
index a7922e9..ec53f8f 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
 REL="PREVIOUS"
 TITLE="FcAtomicDeleteNew"
 HREF="fcatomicdeletenew.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCATOMICUNLOCK"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3833"
+NAME="AEN4055"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3833"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3836"
+NAME="AEN4058"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3837"
+NAME="AEN4059"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3844"
+NAME="AEN4066"
 ></A
 ><H2
 >Description</H2
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c2763f3..21913ab 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcBlanks"
-HREF="x102.html#AEN3623"><LINK
+HREF="x103.html#AEN3844"><LINK
 REL="PREVIOUS"
 TITLE="FcBlanksDestroy"
 HREF="fcblanksdestroy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCBLANKSADD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3669"
+NAME="AEN3891"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3669"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3672"
+NAME="AEN3894"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3673"
+NAME="AEN3895"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,13 +134,13 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3682"
+NAME="AEN3904"
 ></A
 ><H2
 >Description</H2
 ><P
->Adds a single character to an FcBlanks object, returning FcFalse
-if this process ran out of memory.
+>FcBlanks is deprecated.
+This function always returns FALSE.
            </P
 ></DIV
 ><DIV
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3623"
+HREF="x103.html#AEN3844"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 68e1f1b..2e4258a 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcBlanks"
-HREF="x102.html#AEN3623"><LINK
+HREF="x103.html#AEN3844"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcBlanksDestroy"
 HREF="fcblanksdestroy.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCBLANKSCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3631"
+NAME="AEN3853"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3631"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3634"
+NAME="AEN3856"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3635"
+NAME="AEN3857"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,12 +129,13 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3642"
+NAME="AEN3864"
 ></A
 ><H2
 >Description</H2
 ><P
->Creates an empty FcBlanks object.
+>FcBlanks is deprecated.
+This function always returns NULL.
            </P
 ></DIV
 ><DIV
@@ -153,7 +154,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -187,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3623"
+HREF="x103.html#AEN3844"
 ACCESSKEY="U"
 >Up</A
 ></TD
index bdc45da..bcbd8d3 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcBlanks"
-HREF="x102.html#AEN3623"><LINK
+HREF="x103.html#AEN3844"><LINK
 REL="PREVIOUS"
 TITLE="FcBlanksCreate"
 HREF="fcblankscreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCBLANKSDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3650"
+NAME="AEN3872"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3650"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3653"
+NAME="AEN3875"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3654"
+NAME="AEN3876"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,12 +129,13 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3661"
+NAME="AEN3883"
 ></A
 ><H2
 >Description</H2
 ><P
->Destroys an FcBlanks object, freeing any associated memory.
+>FcBlanks is deprecated.
+This function does nothing.
            </P
 ></DIV
 ><DIV
@@ -187,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3623"
+HREF="x103.html#AEN3844"
 ACCESSKEY="U"
 >Up</A
 ></TD
index a451855..c8d63a6 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcBlanks"
-HREF="x102.html#AEN3623"><LINK
+HREF="x103.html#AEN3844"><LINK
 REL="PREVIOUS"
 TITLE="FcBlanksAdd"
 HREF="fcblanksadd.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCBLANKSISMEMBER"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3690"
+NAME="AEN3912"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN3690"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3693"
+NAME="AEN3915"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3694"
+NAME="AEN3916"
 ></A
 ><TABLE
 BORDER="0"
@@ -127,13 +127,13 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3703"
+NAME="AEN3925"
 ></A
 ><H2
 >Description</H2
 ><P
->Returns whether the specified FcBlanks object contains the indicated Unicode
-value.
+>FcBlanks is deprecated.
+This function always returns FALSE.
            </P
 ></DIV
 ><DIV
@@ -182,7 +182,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3623"
+HREF="x103.html#AEN3844"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 20e3527..a760a31 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
 REL="PREVIOUS"
 TITLE="FcCacheDir"
 HREF="fccachedir.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCACHECOPYSET"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4173"
+NAME="AEN4395"
 ></A
 ><H2
 >Name</H2
@@ -88,7 +88,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4177"
+NAME="AEN4399"
 ></A
 ><H2
 >Synopsis</H2
@@ -97,7 +97,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4178"
+NAME="AEN4400"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4185"
+NAME="AEN4407"
 ></A
 ><H2
 >Description</H2
@@ -199,7 +199,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
 ACCESSKEY="U"
 >Up</A
 ></TD
index b936ef3..d4d6a6e 100644 (file)
@@ -10,10 +10,13 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
 REL="PREVIOUS"
 TITLE="FcDirCacheClean"
-HREF="fcdircacheclean.html"></HEAD
+HREF="fcdircacheclean.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheCreateUUID"
+HREF="fcdircachecreateuuid.html"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -54,7 +57,11 @@ VALIGN="bottom"
 WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
->&nbsp;</TD
+><A
+HREF="fcdircachecreateuuid.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
 ></TR
 ></TABLE
 ><HR
@@ -68,7 +75,7 @@ NAME="FCCACHECREATETAGFILE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4284"
+NAME="AEN4506"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +83,7 @@ NAME="AEN4284"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4287"
+NAME="AEN4509"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4288"
+NAME="AEN4510"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4295"
+NAME="AEN4517"
 ></A
 ><H2
 >Description</H2
@@ -139,7 +146,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4299"
+NAME="AEN4521"
 ></A
 ><H2
 >Since</H2
@@ -179,7 +186,11 @@ ACCESSKEY="H"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->&nbsp;</TD
+><A
+HREF="fcdircachecreateuuid.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
 ></TR
 ><TR
 ><TD
@@ -192,7 +203,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
 ACCESSKEY="U"
 >Up</A
 ></TD
@@ -200,7 +211,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->&nbsp;</TD
+>FcDirCacheCreateUUID</TD
 ></TR
 ></TABLE
 ></DIV
index a4b7c14..b685c75 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcCacheCopySet"
 HREF="fccachecopyset.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCCACHEDIR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4153"
+NAME="AEN4375"
 ></A
 ><H2
 >Name</H2
@@ -88,7 +88,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4157"
+NAME="AEN4379"
 ></A
 ><H2
 >Synopsis</H2
@@ -97,7 +97,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4158"
+NAME="AEN4380"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4165"
+NAME="AEN4387"
 ></A
 ><H2
 >Description</H2
@@ -158,7 +158,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 0bd1c19..8b7a90c 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
 REL="PREVIOUS"
 TITLE="FcCacheNumSubdir"
 HREF="fccachenumsubdir.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCACHENUMFONT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4239"
+NAME="AEN4461"
 ></A
 ><H2
 >Name</H2
@@ -88,7 +88,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4243"
+NAME="AEN4465"
 ></A
 ><H2
 >Synopsis</H2
@@ -97,7 +97,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4244"
+NAME="AEN4466"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4251"
+NAME="AEN4473"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 3fe4450..8da26e1 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
 REL="PREVIOUS"
 TITLE="FcCacheSubdir"
 HREF="fccachesubdir.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCACHENUMSUBDIR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4219"
+NAME="AEN4441"
 ></A
 ><H2
 >Name</H2
@@ -88,7 +88,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4223"
+NAME="AEN4445"
 ></A
 ><H2
 >Synopsis</H2
@@ -97,7 +97,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4224"
+NAME="AEN4446"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4231"
+NAME="AEN4453"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 705a485..adfb6e4 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
 REL="PREVIOUS"
 TITLE="FcCacheCopySet"
 HREF="fccachecopyset.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCACHESUBDIR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4194"
+NAME="AEN4416"
 ></A
 ><H2
 >Name</H2
@@ -88,7 +88,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4198"
+NAME="AEN4420"
 ></A
 ><H2
 >Synopsis</H2
@@ -97,7 +97,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4199"
+NAME="AEN4421"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4208"
+NAME="AEN4430"
 ></A
 ><H2
 >Description</H2
@@ -215,7 +215,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 8ab3ec2..d5454f4 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetDestroy"
 HREF="fccharsetdestroy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETADDCHAR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1598"
+NAME="AEN1668"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1598"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1601"
+NAME="AEN1671"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1602"
+NAME="AEN1672"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1611"
+NAME="AEN1681"
 ></A
 ><H2
 >Description</H2
@@ -197,7 +197,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 602a1d7..404f02e 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetDelChar"
 HREF="fccharsetdelchar.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETCOPY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1645"
+NAME="AEN1715"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1645"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1648"
+NAME="AEN1718"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1649"
+NAME="AEN1719"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1656"
+NAME="AEN1726"
 ></A
 ><H2
 >Description</H2
@@ -198,7 +198,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index aaded09..9f8dc10 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetHasChar"
 HREF="fccharsethaschar.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETCOUNT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1810"
+NAME="AEN1880"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1810"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1813"
+NAME="AEN1883"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1814"
+NAME="AEN1884"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1821"
+NAME="AEN1891"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c47134a..793120a 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetNextPage"
 HREF="fccharsetnextpage.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETCOVERAGE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1974"
+NAME="AEN2044"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1974"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1977"
+NAME="AEN2047"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1978"
+NAME="AEN2048"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1989"
+NAME="AEN2059"
 ></A
 ><H2
 >Description</H2
@@ -220,7 +220,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c21fa24..39de2e0 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcCharSetDestroy"
 HREF="fccharsetdestroy.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCCHARSETCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1557"
+NAME="AEN1627"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1557"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1560"
+NAME="AEN1630"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1561"
+NAME="AEN1631"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1568"
+NAME="AEN1638"
 ></A
 ><H2
 >Description</H2
@@ -157,7 +157,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -191,7 +191,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 1d70d66..c40b8f5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetAddChar"
 HREF="fccharsetaddchar.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETDELCHAR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1620"
+NAME="AEN1690"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1620"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1623"
+NAME="AEN1693"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1624"
+NAME="AEN1694"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1633"
+NAME="AEN1703"
 ></A
 ><H2
 >Description</H2
@@ -150,7 +150,7 @@ running out of memory.
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1637"
+NAME="AEN1707"
 ></A
 ><H2
 >Since</H2
@@ -207,7 +207,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 1ab8a3a..f665c85 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetCreate"
 HREF="fccharsetcreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1577"
+NAME="AEN1647"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1577"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1580"
+NAME="AEN1650"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1581"
+NAME="AEN1651"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1588"
+NAME="AEN1658"
 ></A
 ><H2
 >Description</H2
@@ -197,7 +197,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c5b003b..447f437 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetCopy"
 HREF="fccharsetcopy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETEQUAL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1666"
+NAME="AEN1736"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1666"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1669"
+NAME="AEN1739"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1670"
+NAME="AEN1740"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1679"
+NAME="AEN1749"
 ></A
 ><H2
 >Description</H2
@@ -203,7 +203,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index f8f3bba..e09cda9 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetIsSubset"
 HREF="fccharsetissubset.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETFIRSTPAGE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1899"
+NAME="AEN1969"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1899"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1902"
+NAME="AEN1972"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1903"
+NAME="AEN1973"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1914"
+NAME="AEN1984"
 ></A
 ><H2
 >Description</H2
@@ -306,7 +306,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 48832f1..a7a48f8 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetMerge"
 HREF="fccharsetmerge.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETHASCHAR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1787"
+NAME="AEN1857"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1787"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1790"
+NAME="AEN1860"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1791"
+NAME="AEN1861"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1800"
+NAME="AEN1870"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index a05290b..57a6c26 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetEqual"
 HREF="fccharsetequal.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETINTERSECT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1689"
+NAME="AEN1759"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1689"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1692"
+NAME="AEN1762"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1693"
+NAME="AEN1763"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1702"
+NAME="AEN1772"
 ></A
 ><H2
 >Description</H2
@@ -203,7 +203,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index f85a9a9..432d7e7 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetCount"
 HREF="fccharsetcount.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETINTERSECTCOUNT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1830"
+NAME="AEN1900"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1830"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1833"
+NAME="AEN1903"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1834"
+NAME="AEN1904"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1843"
+NAME="AEN1913"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 6db5af1..a162247 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetSubtractCount"
 HREF="fccharsetsubtractcount.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETISSUBSET"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1876"
+NAME="AEN1946"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1876"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1879"
+NAME="AEN1949"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1880"
+NAME="AEN1950"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1889"
+NAME="AEN1959"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 2a3002c..9f4401c 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetSubtract"
 HREF="fccharsetsubtract.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETMERGE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1758"
+NAME="AEN1828"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1758"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1761"
+NAME="AEN1831"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1762"
+NAME="AEN1832"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1773"
+NAME="AEN1843"
 ></A
 ><H2
 >Description</H2
@@ -232,7 +232,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 4f0117e..7a3c2e8 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetCoverage"
 HREF="fccharsetcoverage.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCCHARSETNEW"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2001"
+NAME="AEN2071"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN2001"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2004"
+NAME="AEN2074"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2005"
+NAME="AEN2075"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2012"
+NAME="AEN2082"
 ></A
 ><H2
 >Description</H2
@@ -179,7 +179,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 5a7f429..35321fa 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetFirstPage"
 HREF="fccharsetfirstpage.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETNEXTPAGE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1942"
+NAME="AEN2012"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1942"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1945"
+NAME="AEN2015"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1946"
+NAME="AEN2016"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1957"
+NAME="AEN2027"
 ></A
 ><H2
 >Description</H2
@@ -246,7 +246,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 2a98b3f..8c3b44e 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetUnion"
 HREF="fccharsetunion.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETSUBTRACT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1735"
+NAME="AEN1805"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1735"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1738"
+NAME="AEN1808"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1739"
+NAME="AEN1809"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1748"
+NAME="AEN1818"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index d96772e..3c84274 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetIntersectCount"
 HREF="fccharsetintersectcount.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETSUBTRACTCOUNT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1853"
+NAME="AEN1923"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1853"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1856"
+NAME="AEN1926"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1857"
+NAME="AEN1927"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1866"
+NAME="AEN1936"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index f7d8ea1..8ae3c76 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
 REL="PREVIOUS"
 TITLE="FcCharSetIntersect"
 HREF="fccharsetintersect.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCHARSETUNION"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1712"
+NAME="AEN1782"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1712"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1715"
+NAME="AEN1785"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1716"
+NAME="AEN1786"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1725"
+NAME="AEN1795"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
 ACCESSKEY="U"
 >Up</A
 ></TD
index b63bd1e..649cfbc 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigAppFontAddFile"
 HREF="fcconfigappfontaddfile.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGAPPFONTADDDIR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3118"
+NAME="AEN3187"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3118"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3121"
+NAME="AEN3190"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3122"
+NAME="AEN3191"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3131"
+NAME="AEN3200"
 ></A
 ><H2
 >Description</H2
@@ -201,7 +201,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 5fcf2dd..240a4ef 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigSetRescanInterval"
 HREF="fcconfigsetrescaninterval.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGAPPFONTADDFILE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3096"
+NAME="AEN3165"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3096"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3099"
+NAME="AEN3168"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3100"
+NAME="AEN3169"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3109"
+NAME="AEN3178"
 ></A
 ><H2
 >Description</H2
@@ -200,7 +200,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 6494e9e..6b5e8aa 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigAppFontAddDir"
 HREF="fcconfigappfontadddir.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGAPPFONTCLEAR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3140"
+NAME="AEN3209"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3140"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3143"
+NAME="AEN3212"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3144"
+NAME="AEN3213"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3151"
+NAME="AEN3220"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index e02f951..7d9be3f 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigEnableHome"
 HREF="fcconfigenablehome.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGBUILDFONTS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2887"
+NAME="AEN2957"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2887"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2890"
+NAME="AEN2960"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2891"
+NAME="AEN2961"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2898"
+NAME="AEN2968"
 ></A
 ><H2
 >Description</H2
@@ -195,7 +195,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 2137724..b55d3f2 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcConfigReference"
 HREF="fcconfigreference.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCCONFIGCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2726"
+NAME="AEN2796"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2726"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2729"
+NAME="AEN2799"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2730"
+NAME="AEN2800"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2737"
+NAME="AEN2807"
 ></A
 ><H2
 >Description</H2
@@ -153,7 +153,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 919ef4f..ac22dae 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigReference"
 HREF="fcconfigreference.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2766"
+NAME="AEN2836"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2766"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2769"
+NAME="AEN2839"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2770"
+NAME="AEN2840"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2777"
+NAME="AEN2847"
 ></A
 ><H2
 >Description</H2
@@ -190,7 +190,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 42fd302..13abce8 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigHome"
 HREF="fcconfighome.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGENABLEHOME"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2866"
+NAME="AEN2936"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2866"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2869"
+NAME="AEN2939"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2870"
+NAME="AEN2940"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2877"
+NAME="AEN2947"
 ></A
 ><H2
 >Description</H2
@@ -201,7 +201,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
diff --git a/doc/fontconfig-devel/fcconfigfileinfoiterget.html b/doc/fontconfig-devel/fcconfigfileinfoiterget.html
new file mode 100644 (file)
index 0000000..db6a716
--- /dev/null
@@ -0,0 +1,225 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigFileInfoIterGet</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x103.html#AEN2788"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigFileInfoIterNext"
+HREF="fcconfigfileinfoiternext.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="fcconfigfileinfoiternext.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="FCCONFIGFILEINFOITERGET"
+></A
+>FcConfigFileInfoIterGet</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3568"
+></A
+><H2
+>Name</H2
+>FcConfigFileInfoIterGet&nbsp;--&nbsp;Obtain the configuration file information</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3571"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3572"
+></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"
+>FcConfigFileInfoIterGet</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcConfigFileInfoIter *<TT
+CLASS="PARAMETER"
+><I
+>iter</I
+></TT
+>, FcChar8 **<TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>, FcChar8 **<TT
+CLASS="PARAMETER"
+><I
+>description</I
+></TT
+>, FcBool *<TT
+CLASS="PARAMETER"
+><I
+>enabled</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3587"
+></A
+><H2
+>Description</H2
+><P
+>Obtain the filename, the description and the flag whether it is enabled or not
+for 'iter' where points to current configuration file information.
+If the iterator is invalid, FcFalse is returned.
+           </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3590"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.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="fcconfigfileinfoiternext.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"
+>FcConfigFileInfoIterNext</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN2788"
+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/fcconfigfileinfoiterinit.html b/doc/fontconfig-devel/fcconfigfileinfoiterinit.html
new file mode 100644 (file)
index 0000000..92ecdee
--- /dev/null
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigFileInfoIterInit</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x103.html#AEN2788"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigSetSysRoot"
+HREF="fcconfigsetsysroot.html"><LINK
+REL="NEXT"
+TITLE="FcConfigFileInfoIterNext"
+HREF="fcconfigfileinfoiternext.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="fcconfigsetsysroot.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="fcconfigfileinfoiternext.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGFILEINFOITERINIT"
+></A
+>FcConfigFileInfoIterInit</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3520"
+></A
+><H2
+>Name</H2
+>FcConfigFileInfoIterInit&nbsp;--&nbsp;Initialize the iterator</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3523"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3524"
+></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"
+>FcConfigFileInfoIterInit</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcConfigFileInfoIter *<TT
+CLASS="PARAMETER"
+><I
+>iter</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3533"
+></A
+><H2
+>Description</H2
+><P
+>Initialize 'iter' with the first iterator in the config file information list.
+           </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3536"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.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="fcconfigsetsysroot.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="fcconfigfileinfoiternext.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigSetSysRoot</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN2788"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigFileInfoIterNext</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/doc/fontconfig-devel/fcconfigfileinfoiternext.html b/doc/fontconfig-devel/fcconfigfileinfoiternext.html
new file mode 100644 (file)
index 0000000..c29378f
--- /dev/null
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigFileInfoIterNext</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x103.html#AEN2788"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigFileInfoIterInit"
+HREF="fcconfigfileinfoiterinit.html"><LINK
+REL="NEXT"
+TITLE="FcConfigFileInfoIterGet"
+HREF="fcconfigfileinfoiterget.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="fcconfigfileinfoiterinit.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="fcconfigfileinfoiterget.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGFILEINFOITERNEXT"
+></A
+>FcConfigFileInfoIterNext</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3544"
+></A
+><H2
+>Name</H2
+>FcConfigFileInfoIterNext&nbsp;--&nbsp;Set the iterator to point to the next list</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3547"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3548"
+></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"
+>FcConfigFileInfoIterNext</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcConfigFileInfoIter *<TT
+CLASS="PARAMETER"
+><I
+>iter</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3557"
+></A
+><H2
+>Description</H2
+><P
+>Set 'iter' to point to the next node in the config file information list.
+If there is no next node, FcFalse is returned.
+           </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3560"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.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="fcconfigfileinfoiterinit.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="fcconfigfileinfoiterget.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigFileInfoIterInit</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN2788"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigFileInfoIterGet</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
index 71c09d8..22b3d84 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcFontList"
 HREF="fcfontlist.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGFILENAME"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3334"
+NAME="AEN3403"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3334"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3337"
+NAME="AEN3406"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3338"
+NAME="AEN3407"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3345"
+NAME="AEN3414"
 ></A
 ><H2
 >Description</H2
@@ -208,7 +208,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 76ab006..c9819e1 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetFonts"
 HREF="fcconfiggetfonts.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETBLANKS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3033"
+NAME="AEN3103"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3033"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3036"
+NAME="AEN3106"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3037"
+NAME="AEN3107"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,21 +129,13 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3044"
+NAME="AEN3114"
 ></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.
+>FcBlanks is deprecated.
+This function always returns NULL.
            </P
 ></DIV
 ><DIV
@@ -196,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 59f95ba..c3f9908 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetConfigFiles"
 HREF="fcconfiggetconfigfiles.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETCACHE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2970"
+NAME="AEN3040"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2970"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2973"
+NAME="AEN3043"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2974"
+NAME="AEN3044"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2981"
+NAME="AEN3051"
 ></A
 ><H2
 >Description</H2
@@ -188,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 875096f..d04319f 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetCache"
 HREF="fcconfiggetcache.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETCACHEDIRS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2989"
+NAME="AEN3059"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2989"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2992"
+NAME="AEN3062"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2993"
+NAME="AEN3063"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3000"
+NAME="AEN3070"
 ></A
 ><H2
 >Description</H2
@@ -198,7 +198,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index aca558c..c82be44 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigBuildFonts"
 HREF="fcconfigbuildfonts.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETCONFIGDIRS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2907"
+NAME="AEN2977"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2907"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2910"
+NAME="AEN2980"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2911"
+NAME="AEN2981"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2918"
+NAME="AEN2988"
 ></A
 ><H2
 >Description</H2
@@ -199,7 +199,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 3857800..de64450 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetFontDirs"
 HREF="fcconfiggetfontdirs.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETCONFIGFILES"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2949"
+NAME="AEN3019"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2949"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2952"
+NAME="AEN3022"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2953"
+NAME="AEN3023"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2960"
+NAME="AEN3030"
 ></A
 ><H2
 >Description</H2
@@ -198,7 +198,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 38318e3..8f06db7 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigSetCurrent"
 HREF="fcconfigsetcurrent.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETCURRENT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2806"
+NAME="AEN2876"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2806"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2809"
+NAME="AEN2879"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2810"
+NAME="AEN2880"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2817"
+NAME="AEN2887"
 ></A
 ><H2
 >Description</H2
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 0a16fb1..b377038 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetConfigDirs"
 HREF="fcconfiggetconfigdirs.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETFONTDIRS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2928"
+NAME="AEN2998"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2928"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2931"
+NAME="AEN3001"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2932"
+NAME="AEN3002"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2939"
+NAME="AEN3009"
 ></A
 ><H2
 >Description</H2
@@ -200,7 +200,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 089f57a..f8d3171 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetCacheDirs"
 HREF="fcconfiggetcachedirs.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETFONTS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3010"
+NAME="AEN3080"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3010"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3013"
+NAME="AEN3083"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3014"
+NAME="AEN3084"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3023"
+NAME="AEN3093"
 ></A
 ><H2
 >Description</H2
@@ -205,7 +205,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index cecb57c..4dd1f63 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetBlanks"
 HREF="fcconfiggetblanks.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETRESCANINTERVAL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3053"
+NAME="AEN3122"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3053"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3056"
+NAME="AEN3125"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3057"
+NAME="AEN3126"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3064"
+NAME="AEN3133"
 ></A
 ><H2
 >Description</H2
@@ -201,7 +201,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index bbe0a5f..10ed162 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
-TITLE="FcConfigParseAndLoad"
-HREF="fcconfigparseandload.html"><LINK
+TITLE="FcConfigParseAndLoadFromMemory"
+HREF="fcconfigparseandloadfrommemory.html"><LINK
 REL="NEXT"
 TITLE="FcConfigSetSysRoot"
 HREF="fcconfigsetsysroot.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="fcconfigparseandload.html"
+HREF="fcconfigparseandloadfrommemory.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCCONFIGGETSYSROOT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3379"
+NAME="AEN3474"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3379"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3382"
+NAME="AEN3477"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3383"
+NAME="AEN3478"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3390"
+NAME="AEN3485"
 ></A
 ><H2
 >Description</H2
@@ -140,7 +140,7 @@ NAME="AEN3390"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3393"
+NAME="AEN3488"
 ></A
 ><H2
 >Since</H2
@@ -163,7 +163,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="fcconfigparseandload.html"
+HREF="fcconfigparseandloadfrommemory.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -191,13 +191,13 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->FcConfigParseAndLoad</TD
+>FcConfigParseAndLoadFromMemory</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 4036a6b..a76e0ae 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigUptoDate"
 HREF="fcconfiguptodate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGHOME"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2846"
+NAME="AEN2916"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2846"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2849"
+NAME="AEN2919"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2850"
+NAME="AEN2920"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2857"
+NAME="AEN2927"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index e7c1313..4fcf009 100644 (file)
@@ -10,13 +10,13 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigFilename"
 HREF="fcconfigfilename.html"><LINK
 REL="NEXT"
-TITLE="FcConfigGetSysRoot"
-HREF="fcconfiggetsysroot.html"></HEAD
+TITLE="FcConfigParseAndLoadFromMemory"
+HREF="fcconfigparseandloadfrommemory.html"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -58,7 +58,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="fcconfiggetsysroot.html"
+HREF="fcconfigparseandloadfrommemory.html"
 ACCESSKEY="N"
 >Next &#62;&#62;&#62;</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCCONFIGPARSEANDLOAD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3356"
+NAME="AEN3425"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3356"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3359"
+NAME="AEN3428"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3360"
+NAME="AEN3429"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3371"
+NAME="AEN3440"
 ></A
 ><H2
 >Description</H2
@@ -186,7 +186,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="fcconfiggetsysroot.html"
+HREF="fcconfigparseandloadfrommemory.html"
 ACCESSKEY="N"
 >Next &#62;&#62;&#62;</A
 ></TD
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
@@ -210,7 +210,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->FcConfigGetSysRoot</TD
+>FcConfigParseAndLoadFromMemory</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/doc/fontconfig-devel/fcconfigparseandloadfrommemory.html b/doc/fontconfig-devel/fcconfigparseandloadfrommemory.html
new file mode 100644 (file)
index 0000000..9b93009
--- /dev/null
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigParseAndLoadFromMemory</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x103.html#AEN2788"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigParseAndLoad"
+HREF="fcconfigparseandload.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="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="fcconfiggetsysroot.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGPARSEANDLOADFROMMEMORY"
+></A
+>FcConfigParseAndLoadFromMemory</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3448"
+></A
+><H2
+>Name</H2
+>FcConfigParseAndLoadFromMemory&nbsp;--&nbsp;load a configuration from memory</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3451"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3452"
+></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"
+>FcConfigParseAndLoadFromMemory</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>buffer</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>complain</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3463"
+></A
+><H2
+>Description</H2
+><P
+>Walks the configuration in 'memory' and constructs the internal representation
+in 'config'.  Any includes files referenced from within 'memory' will be loaded
+and dparsed.  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 fsome error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+           </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3466"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.5</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="fcconfiggetsysroot.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="x103.html#AEN2788"
+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
index a7fb48c..5e9c0d5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigCreate"
 HREF="fcconfigcreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGREFERENCE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2745"
+NAME="AEN2815"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2745"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2748"
+NAME="AEN2818"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2749"
+NAME="AEN2819"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2756"
+NAME="AEN2826"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 69cae7d..33d1c86 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigDestroy"
 HREF="fcconfigdestroy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGSETCURRENT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2785"
+NAME="AEN2855"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2785"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2788"
+NAME="AEN2858"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2789"
+NAME="AEN2859"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2796"
+NAME="AEN2866"
 ></A
 ><H2
 >Description</H2
@@ -199,7 +199,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 9fbb60f..c1512e5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetRescanInterval"
 HREF="fcconfiggetrescaninterval.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGSETRESCANINTERVAL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3074"
+NAME="AEN3143"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3074"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3077"
+NAME="AEN3146"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3078"
+NAME="AEN3147"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3087"
+NAME="AEN3156"
 ></A
 ><H2
 >Description</H2
@@ -200,7 +200,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 5b1238d..3962976 100644 (file)
@@ -10,10 +10,13 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetSysRoot"
-HREF="fcconfiggetsysroot.html"></HEAD
+HREF="fcconfiggetsysroot.html"><LINK
+REL="NEXT"
+TITLE="FcConfigFileInfoIterInit"
+HREF="fcconfigfileinfoiterinit.html"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -54,7 +57,11 @@ VALIGN="bottom"
 WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
->&nbsp;</TD
+><A
+HREF="fcconfigfileinfoiterinit.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
 ></TR
 ></TABLE
 ><HR
@@ -68,7 +75,7 @@ NAME="FCCONFIGSETSYSROOT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3401"
+NAME="AEN3496"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +83,7 @@ NAME="AEN3401"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3404"
+NAME="AEN3499"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3405"
+NAME="AEN3500"
 ></A
 ><TABLE
 BORDER="0"
@@ -127,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3414"
+NAME="AEN3509"
 ></A
 ><H2
 >Description</H2
@@ -141,7 +148,7 @@ this function calls FcConfigSetCurrent() internally.
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3417"
+NAME="AEN3512"
 ></A
 ><H2
 >Since</H2
@@ -181,7 +188,11 @@ ACCESSKEY="H"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->&nbsp;</TD
+><A
+HREF="fcconfigfileinfoiterinit.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
 ></TR
 ><TR
 ><TD
@@ -194,7 +205,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
@@ -202,7 +213,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->&nbsp;</TD
+>FcConfigFileInfoIterInit</TD
 ></TR
 ></TABLE
 ></DIV
index 4dc28d2..552c09b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigSubstituteWithPat"
 HREF="fcconfigsubstitutewithpat.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGSUBSTITUTE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3188"
+NAME="AEN3257"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3188"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3191"
+NAME="AEN3260"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3192"
+NAME="AEN3261"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3203"
+NAME="AEN3272"
 ></A
 ><H2
 >Description</H2
@@ -204,7 +204,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index d42a9ba..a48d178 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigAppFontClear"
 HREF="fcconfigappfontclear.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGSUBSTITUTEWITHPAT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3160"
+NAME="AEN3229"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3160"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3163"
+NAME="AEN3232"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3164"
+NAME="AEN3233"
 ></A
 ><TABLE
 BORDER="0"
@@ -144,7 +144,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3177"
+NAME="AEN3246"
 ></A
 ><H2
 >Description</H2
@@ -222,7 +222,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 8f405c6..859df9b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigGetCurrent"
 HREF="fcconfiggetcurrent.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCCONFIGUPTODATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2825"
+NAME="AEN2895"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2825"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2828"
+NAME="AEN2898"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2829"
+NAME="AEN2899"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2836"
+NAME="AEN2906"
 ></A
 ><H2
 >Description</H2
@@ -199,7 +199,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 41768e2..c73789a 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternPrint"
 HREF="fcpatternprint.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDEFAULTSUBSTITUTE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN840"
+NAME="AEN875"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN840"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN843"
+NAME="AEN878"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN844"
+NAME="AEN879"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN851"
+NAME="AEN886"
 ></A
 ><H2
 >Description</H2
@@ -205,7 +205,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index f3f8903..2797cbe 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
 REL="PREVIOUS"
 TITLE="FcCacheNumFont"
 HREF="fccachenumfont.html"><LINK
@@ -75,21 +75,15 @@ NAME="FCDIRCACHECLEAN"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4259"
+NAME="AEN4481"
 ></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
+>FcDirCacheClean&nbsp;--&nbsp;Clean up a cache directory</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4263"
+NAME="AEN4484"
 ></A
 ><H2
 >Synopsis</H2
@@ -98,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4264"
+NAME="AEN4485"
 ></A
 ><TABLE
 BORDER="0"
@@ -140,17 +134,24 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4273"
+NAME="AEN4494"
 ></A
 ><H2
 >Description</H2
 ><P
->&#13;     </P
+>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.
+           </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4276"
+NAME="AEN4498"
 ></A
 ><H2
 >Since</H2
@@ -207,7 +208,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
 ACCESSKEY="U"
 >Up</A
 ></TD
diff --git a/doc/fontconfig-devel/fcdircachecreateuuid.html b/doc/fontconfig-devel/fcdircachecreateuuid.html
new file mode 100644 (file)
index 0000000..dc5cf36
--- /dev/null
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheCreateUUID</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="x103.html#AEN4367"><LINK
+REL="PREVIOUS"
+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="fccachecreatetagfile.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="FCDIRCACHECREATEUUID"
+></A
+>FcDirCacheCreateUUID</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4529"
+></A
+><H2
+>Name</H2
+>FcDirCacheCreateUUID&nbsp;--&nbsp;Create .uuid file at a directory</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4532"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4533"
+></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"
+>FcDirCacheCreateUUID</TT
+></CODE
+>(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="AEN4544"
+></A
+><H2
+>Description</H2
+><P
+>This is to create .uuid file containing an UUID at a font directory of
+<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>.
+The UUID will be used to identify the font directory and is used to determine
+the cache filename if available.
+           </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4548"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.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="fccachecreatetagfile.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"
+>FcCacheCreateTagFile</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN4367"
+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
index b3c303e..9af0d0e 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcDirCacheValid"
 HREF="fcdircachevalid.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDIRCACHELOAD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4032"
+NAME="AEN4254"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4032"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4035"
+NAME="AEN4257"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4036"
+NAME="AEN4258"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4047"
+NAME="AEN4269"
 ></A
 ><H2
 >Description</H2
@@ -210,7 +210,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 177e7d0..ec38e71 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcDirCacheRead"
 HREF="fcdircacheread.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDIRCACHELOADFILE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4107"
+NAME="AEN4329"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4107"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4110"
+NAME="AEN4332"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4111"
+NAME="AEN4333"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4120"
+NAME="AEN4342"
 ></A
 ><H2
 >Description</H2
@@ -204,7 +204,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index e08b7e1..8c2b85b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcDirCacheRescan"
 HREF="fcdircacherescan.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDIRCACHEREAD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4082"
+NAME="AEN4304"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4082"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4085"
+NAME="AEN4307"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4086"
+NAME="AEN4308"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4097"
+NAME="AEN4319"
 ></A
 ><H2
 >Description</H2
@@ -210,7 +210,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 20e9027..0b4b45f 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcDirCacheLoad"
 HREF="fcdircacheload.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDIRCACHERESCAN"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4057"
+NAME="AEN4279"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4057"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4060"
+NAME="AEN4282"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4061"
+NAME="AEN4283"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4070"
+NAME="AEN4292"
 ></A
 ><H2
 >Description</H2
@@ -151,7 +151,7 @@ returns NULL if failed.
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4074"
+NAME="AEN4296"
 ></A
 ><H2
 >Since</H2
@@ -208,7 +208,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index d7428bc..4429493 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcDirSave"
 HREF="fcdirsave.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDIRCACHEUNLINK"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3988"
+NAME="AEN4210"
 ></A
 ><H2
 >Name</H2
@@ -88,7 +88,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3992"
+NAME="AEN4214"
 ></A
 ><H2
 >Synopsis</H2
@@ -97,7 +97,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3993"
+NAME="AEN4215"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4002"
+NAME="AEN4224"
 ></A
 ><H2
 >Description</H2
@@ -210,7 +210,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 10b312e..9a78581 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcDirCacheLoadFile"
 HREF="fcdircacheloadfile.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCDIRCACHEUNLOAD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4130"
+NAME="AEN4352"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN4130"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4133"
+NAME="AEN4355"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4134"
+NAME="AEN4356"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4141"
+NAME="AEN4363"
 ></A
 ><H2
 >Description</H2
@@ -182,7 +182,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 02feead..0d3fac1 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcDirCacheUnlink"
 HREF="fcdircacheunlink.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDIRCACHEVALID"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4012"
+NAME="AEN4234"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4012"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4015"
+NAME="AEN4237"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4016"
+NAME="AEN4238"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4023"
+NAME="AEN4245"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c57cca2..fdeffa9 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcDirScan"
 HREF="fcdirscan.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDIRSAVE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3962"
+NAME="AEN4184"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3962"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3965"
+NAME="AEN4187"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3966"
+NAME="AEN4188"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3977"
+NAME="AEN4199"
 ></A
 ><H2
 >Description</H2
@@ -216,7 +216,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index d424cf9..7357625 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcFileIsDir"
 HREF="fcfileisdir.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCDIRSCAN"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3929"
+NAME="AEN4151"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3929"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3932"
+NAME="AEN4154"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3933"
+NAME="AEN4155"
 ></A
 ><TABLE
 BORDER="0"
@@ -154,7 +154,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3950"
+NAME="AEN4172"
 ></A
 ><H2
 >Description</H2
@@ -237,7 +237,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 61f0ffd..b70a6a7 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FcFileScan"
 HREF="fcfilescan.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFILEISDIR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3909"
+NAME="AEN4131"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3909"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3912"
+NAME="AEN4134"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3913"
+NAME="AEN4135"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3920"
+NAME="AEN4142"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 448ea1b..2f18432 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcFileIsDir"
 HREF="fcfileisdir.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCFILESCAN"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3875"
+NAME="AEN4097"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3875"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3878"
+NAME="AEN4100"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3879"
+NAME="AEN4101"
 ></A
 ><TABLE
 BORDER="0"
@@ -154,7 +154,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3896"
+NAME="AEN4118"
 ></A
 ><H2
 >Description</H2
@@ -213,7 +213,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -247,7 +247,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 364242f..9ee6c90 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
 REL="PREVIOUS"
 TITLE="FcInit"
 HREF="fcinit.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFINI"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN170"
+NAME="AEN171"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN170"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN173"
+NAME="AEN174"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN174"
+NAME="AEN175"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN181"
+NAME="AEN182"
 ></A
 ><H2
 >Description</H2
@@ -190,7 +190,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 566bb1d..85fce29 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcFontRenderPrepare"
 HREF="fcfontrenderprepare.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTLIST"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3308"
+NAME="AEN3377"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3308"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3311"
+NAME="AEN3380"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3312"
+NAME="AEN3381"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3323"
+NAME="AEN3392"
 ></A
 ><H2
 >Description</H2
@@ -215,7 +215,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 3d10a7a..2ac6096 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcConfigSubstitute"
 HREF="fcconfigsubstitute.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTMATCH"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3212"
+NAME="AEN3281"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3212"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3215"
+NAME="AEN3284"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3216"
+NAME="AEN3285"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3227"
+NAME="AEN3296"
 ></A
 ><H2
 >Description</H2
@@ -233,7 +233,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index bec9484..d029597 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcFontSort"
 HREF="fcfontsort.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTRENDERPREPARE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3279"
+NAME="AEN3348"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3279"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3282"
+NAME="AEN3351"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3283"
+NAME="AEN3352"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3294"
+NAME="AEN3363"
 ></A
 ><H2
 >Description</H2
@@ -230,7 +230,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index abc2561..ed01d68 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
 REL="PREVIOUS"
 TITLE="FcFontSetDestroy"
 HREF="fcfontsetdestroy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTSETADD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1077"
+NAME="AEN1112"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1077"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1080"
+NAME="AEN1115"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1081"
+NAME="AEN1116"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1090"
+NAME="AEN1125"
 ></A
 ><H2
 >Description</H2
@@ -194,7 +194,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 54f7527..ad9af78 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcFontSetDestroy"
 HREF="fcfontsetdestroy.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCFONTSETCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1039"
+NAME="AEN1074"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1039"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1042"
+NAME="AEN1077"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1043"
+NAME="AEN1078"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1050"
+NAME="AEN1085"
 ></A
 ><H2
 >Description</H2
@@ -153,7 +153,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
 ACCESSKEY="U"
 >Up</A
 ></TD
index be54e6e..3462714 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
 REL="PREVIOUS"
 TITLE="FcFontSetCreate"
 HREF="fcfontsetcreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTSETDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1058"
+NAME="AEN1093"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1058"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1061"
+NAME="AEN1096"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1062"
+NAME="AEN1097"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1069"
+NAME="AEN1104"
 ></A
 ><H2
 >Description</H2
@@ -188,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 8a82e37..6dd2dca 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
 REL="PREVIOUS"
 TITLE="FcFontSetAdd"
 HREF="fcfontsetadd.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTSETLIST"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1098"
+NAME="AEN1133"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1098"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1101"
+NAME="AEN1136"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1102"
+NAME="AEN1137"
 ></A
 ><TABLE
 BORDER="0"
@@ -149,7 +149,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1117"
+NAME="AEN1152"
 ></A
 ><H2
 >Description</H2
@@ -232,7 +232,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 68add42..13c0132 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
 REL="PREVIOUS"
 TITLE="FcFontSetList"
 HREF="fcfontsetlist.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTSETMATCH"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1129"
+NAME="AEN1164"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1129"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1132"
+NAME="AEN1167"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1133"
+NAME="AEN1168"
 ></A
 ><TABLE
 BORDER="0"
@@ -149,7 +149,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1148"
+NAME="AEN1183"
 ></A
 ><H2
 >Description</H2
@@ -244,7 +244,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 615f697..589c2c8 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
 REL="PREVIOUS"
 TITLE="FcFontSetMatch"
 HREF="fcfontsetmatch.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTSETPRINT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1163"
+NAME="AEN1198"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1163"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1166"
+NAME="AEN1201"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1167"
+NAME="AEN1202"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1174"
+NAME="AEN1209"
 ></A
 ><H2
 >Description</H2
@@ -195,7 +195,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c06a810..5d214df 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
 REL="PREVIOUS"
 TITLE="FcFontSetPrint"
 HREF="fcfontsetprint.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTSETSORT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1183"
+NAME="AEN1218"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1183"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1186"
+NAME="AEN1221"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1187"
+NAME="AEN1222"
 ></A
 ><TABLE
 BORDER="0"
@@ -159,7 +159,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1206"
+NAME="AEN1241"
 ></A
 ><H2
 >Description</H2
@@ -274,7 +274,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 5a5e5b2..4fce759 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
 REL="PREVIOUS"
 TITLE="FcFontSetSort"
 HREF="fcfontsetsort.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCFONTSETSORTDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1224"
+NAME="AEN1259"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN1224"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1227"
+NAME="AEN1262"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1228"
+NAME="AEN1263"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1235"
+NAME="AEN1270"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 9352d4e..b751958 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
 REL="PREVIOUS"
 TITLE="FcFontMatch"
 HREF="fcfontmatch.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFONTSORT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3242"
+NAME="AEN3311"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3242"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3245"
+NAME="AEN3314"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3246"
+NAME="AEN3315"
 ></A
 ><TABLE
 BORDER="0"
@@ -149,7 +149,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3261"
+NAME="AEN3330"
 ></A
 ><H2
 >Description</H2
@@ -260,7 +260,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 845209b..855e070 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcFreeTypeCharSet"
 HREF="fcfreetypecharset.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCFREETYPECHARINDEX"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1352"
+NAME="AEN1387"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1352"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1355"
+NAME="AEN1390"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1356"
+NAME="AEN1391"
 ></A
 ><TABLE
 BORDER="0"
@@ -135,7 +135,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1365"
+NAME="AEN1400"
 ></A
 ><H2
 >Description</H2
@@ -163,7 +163,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -197,7 +197,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
 ACCESSKEY="U"
 >Up</A
 ></TD
index a40b520..d328394 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
 REL="PREVIOUS"
 TITLE="FcFreeTypeCharIndex"
 HREF="fcfreetypecharindex.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFREETYPECHARSET"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1373"
+NAME="AEN1408"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1373"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1376"
+NAME="AEN1411"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1377"
+NAME="AEN1412"
 ></A
 ><TABLE
 BORDER="0"
@@ -135,15 +135,19 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1386"
+NAME="AEN1421"
 ></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.
+>Scans a FreeType face and returns the set of encoded Unicode chars.
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
            </P
 ></DIV
 ><DIV
@@ -196,7 +200,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 76eff8b..f633d92 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
 REL="PREVIOUS"
 TITLE="FcFreeTypeCharSet"
 HREF="fcfreetypecharset.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCFREETYPECHARSETANDSPACING"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1394"
+NAME="AEN1430"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1394"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1397"
+NAME="AEN1433"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1398"
+NAME="AEN1434"
 ></A
 ><TABLE
 BORDER="0"
@@ -140,16 +140,19 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1409"
+NAME="AEN1445"
 ></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.
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
 <TT
 CLASS="PARAMETER"
 ><I
@@ -212,7 +215,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
 ACCESSKEY="U"
 >Up</A
 ></TD
index a7c32da..d63de7d 100644 (file)
@@ -10,13 +10,13 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
 REL="PREVIOUS"
 TITLE="FcFreeTypeCharSetAndSpacing"
 HREF="fcfreetypecharsetandspacing.html"><LINK
 REL="NEXT"
-TITLE="FcFreeTypeQueryFace"
-HREF="fcfreetypequeryface.html"></HEAD
+TITLE="FcFreeTypeQueryAll"
+HREF="fcfreetypequeryall.html"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -58,7 +58,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="fcfreetypequeryface.html"
+HREF="fcfreetypequeryall.html"
 ACCESSKEY="N"
 >Next &#62;&#62;&#62;</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCFREETYPEQUERY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1418"
+NAME="AEN1455"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1418"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1421"
+NAME="AEN1458"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1422"
+NAME="AEN1459"
 ></A
 ><TABLE
 BORDER="0"
@@ -145,13 +145,20 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1435"
+NAME="AEN1472"
 ></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'.
+>Constructs a pattern representing the 'id'th face in 'file'.  The number
+of faces in 'file' is returned in 'count'.
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
            </P
 ></DIV
 ><DIV
@@ -188,7 +195,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="fcfreetypequeryface.html"
+HREF="fcfreetypequeryall.html"
 ACCESSKEY="N"
 >Next &#62;&#62;&#62;</A
 ></TD
@@ -204,7 +211,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
 ACCESSKEY="U"
 >Up</A
 ></TD
@@ -212,7 +219,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->FcFreeTypeQueryFace</TD
+>FcFreeTypeQueryAll</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/doc/fontconfig-devel/fcfreetypequeryall.html b/doc/fontconfig-devel/fcfreetypequeryall.html
new file mode 100644 (file)
index 0000000..5930c06
--- /dev/null
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFreeTypeQueryAll</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="x103.html#AEN1379"><LINK
+REL="PREVIOUS"
+TITLE="FcFreeTypeQuery"
+HREF="fcfreetypequery.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="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"
+><A
+HREF="fcfreetypequeryface.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFREETYPEQUERYALL"
+></A
+>FcFreeTypeQueryAll</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1481"
+></A
+><H2
+>Name</H2
+>FcFreeTypeQueryAll&nbsp;--&nbsp;compute all patterns from font file (and index)</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1484"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1485"
+></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"
+>unsigned int <TT
+CLASS="FUNCTION"
+>FcFreeTypeQueryAll</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
+>, FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1500"
+></A
+><H2
+>Description</H2
+><P
+>Constructs patterns found in 'file'.
+If id is -1, then all patterns found in 'file' are added to 'set'.
+Otherwise, this function works exactly like FcFreeTypeQuery().
+The number of faces in 'file' is returned in 'count'.
+The number of patterns added to 'set' is returned.
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
+           </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1504"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.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="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"
+><A
+HREF="fcfreetypequeryface.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFreeTypeQuery</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN1379"
+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
index 5101caf..7694de8 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
 REL="PREVIOUS"
-TITLE="FcFreeTypeQuery"
-HREF="fcfreetypequery.html"></HEAD
+TITLE="FcFreeTypeQueryAll"
+HREF="fcfreetypequeryall.html"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -41,7 +41,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="fcfreetypequery.html"
+HREF="fcfreetypequeryall.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -68,7 +68,7 @@ NAME="FCFREETYPEQUERYFACE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1443"
+NAME="AEN1512"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN1443"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1446"
+NAME="AEN1515"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1447"
+NAME="AEN1516"
 ></A
 ><TABLE
 BORDER="0"
@@ -138,13 +138,20 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1460"
+NAME="AEN1529"
 ></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).
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
            </P
 ></DIV
 ><DIV
@@ -163,7 +170,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="fcfreetypequery.html"
+HREF="fcfreetypequeryall.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -187,13 +194,13 @@ VALIGN="top"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->FcFreeTypeQuery</TD
+>FcFreeTypeQueryAll</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 18a4e38..322a71d 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetHasLang"
 HREF="fclangsethaslang.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCGETDEFAULTLANGS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2312"
+NAME="AEN2382"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2312"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2315"
+NAME="AEN2385"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2316"
+NAME="AEN2386"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2323"
+NAME="AEN2393"
 ></A
 ><H2
 >Description</H2
@@ -142,7 +142,7 @@ If there are no valid values in those environment variables, "en" will be set as
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2326"
+NAME="AEN2396"
 ></A
 ><H2
 >Since</H2
@@ -199,7 +199,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 11927b3..99fc4a5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetGetLangs"
 HREF="fclangsetgetlangs.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCGETLANGS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2354"
+NAME="AEN2424"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2354"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2357"
+NAME="AEN2427"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2358"
+NAME="AEN2428"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2365"
+NAME="AEN2435"
 ></A
 ><H2
 >Description</H2
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 540be90..4206666 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
 REL="PREVIOUS"
 TITLE="FcFini"
 HREF="fcfini.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCGETVERSION"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN189"
+NAME="AEN190"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN189"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN192"
+NAME="AEN193"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN193"
+NAME="AEN194"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN200"
+NAME="AEN201"
 ></A
 ><H2
 >Description</H2
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 9810e77..bda984f 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
 REL="PREVIOUS"
 TITLE="FcInitLoadConfigAndFonts"
 HREF="fcinitloadconfigandfonts.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCINIT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN151"
+NAME="AEN152"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN151"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN154"
+NAME="AEN155"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN155"
+NAME="AEN156"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN162"
+NAME="AEN163"
 ></A
 ><H2
 >Description</H2
@@ -190,7 +190,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
 ACCESSKEY="U"
 >Up</A
 ></TD
index bea4237..78e6298 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
 REL="PREVIOUS"
 TITLE="FcInitReinitialize"
 HREF="fcinitreinitialize.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCINITBRINGUPTODATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN227"
+NAME="AEN228"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN227"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN230"
+NAME="AEN231"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN231"
+NAME="AEN232"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN238"
+NAME="AEN239"
 ></A
 ><H2
 >Description</H2
@@ -179,7 +179,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 38d42d4..5b0ae09 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcInitLoadConfigAndFonts"
 HREF="fcinitloadconfigandfonts.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCINITLOADCONFIG"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN113"
+NAME="AEN114"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN113"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN116"
+NAME="AEN117"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN117"
+NAME="AEN118"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN124"
+NAME="AEN125"
 ></A
 ><H2
 >Description</H2
@@ -154,7 +154,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -188,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 1b9b25f..4ce6313 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
 REL="PREVIOUS"
 TITLE="FcInitLoadConfig"
 HREF="fcinitloadconfig.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCINITLOADCONFIGANDFONTS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN132"
+NAME="AEN133"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN132"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN135"
+NAME="AEN136"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN136"
+NAME="AEN137"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN143"
+NAME="AEN144"
 ></A
 ><H2
 >Description</H2
@@ -188,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 6436806..dcf82c7 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
 REL="PREVIOUS"
 TITLE="FcGetVersion"
 HREF="fcgetversion.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCINITREINITIALIZE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN208"
+NAME="AEN209"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN208"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN211"
+NAME="AEN212"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN212"
+NAME="AEN213"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN219"
+NAME="AEN220"
 ></A
 ><H2
 >Description</H2
@@ -190,7 +190,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 41b0932..9c2fe9b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcUtf16Len"
 HREF="fcutf16len.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCISLOWER"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4696"
+NAME="AEN4945"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4696"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4699"
+NAME="AEN4948"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4700"
+NAME="AEN4949"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4707"
+NAME="AEN4956"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 2a31bcb..20d3fa4 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcIsLower"
 HREF="fcislower.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCISUPPER"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4716"
+NAME="AEN4965"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4716"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4719"
+NAME="AEN4968"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4720"
+NAME="AEN4969"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4727"
+NAME="AEN4976"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 7f5e33c..213991a 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangNormalize"
 HREF="fclangnormalize.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCLANGGETCHARSET"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2396"
+NAME="AEN2466"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN2396"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2399"
+NAME="AEN2469"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2400"
+NAME="AEN2470"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2407"
+NAME="AEN2477"
 ></A
 ><H2
 >Description</H2
@@ -176,7 +176,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 0af8ae7..56f39ae 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcGetLangs"
 HREF="fcgetlangs.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGNORMALIZE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2373"
+NAME="AEN2443"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2373"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2376"
+NAME="AEN2446"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2377"
+NAME="AEN2447"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2384"
+NAME="AEN2454"
 ></A
 ><H2
 >Description</H2
@@ -145,7 +145,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2388"
+NAME="AEN2458"
 ></A
 ><H2
 >Since</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 9771952..1d34281 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetCopy"
 HREF="fclangsetcopy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETADD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2085"
+NAME="AEN2155"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2085"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2088"
+NAME="AEN2158"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2089"
+NAME="AEN2159"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2098"
+NAME="AEN2168"
 ></A
 ><H2
 >Description</H2
@@ -210,7 +210,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 42f68ed..e504ba6 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetSubtract"
 HREF="fclangsetsubtract.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETCOMPARE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2188"
+NAME="AEN2258"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2188"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2191"
+NAME="AEN2261"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2192"
+NAME="AEN2262"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2201"
+NAME="AEN2271"
 ></A
 ><H2
 >Description</H2
@@ -210,7 +210,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 18c0bbb..201fd0b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetCompare"
 HREF="fclangsetcompare.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETCONTAINS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2212"
+NAME="AEN2282"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2212"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2215"
+NAME="AEN2285"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2216"
+NAME="AEN2286"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2225"
+NAME="AEN2295"
 ></A
 ><H2
 >Description</H2
@@ -230,7 +230,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 46cc5c4..9e4e779 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetDestroy"
 HREF="fclangsetdestroy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETCOPY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2064"
+NAME="AEN2134"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2064"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2067"
+NAME="AEN2137"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2068"
+NAME="AEN2138"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2075"
+NAME="AEN2145"
 ></A
 ><H2
 >Description</H2
@@ -196,7 +196,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index dc39cfd..e20d97c 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcLangSetDestroy"
 HREF="fclangsetdestroy.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCLANGSETCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2024"
+NAME="AEN2094"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2024"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2027"
+NAME="AEN2097"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2028"
+NAME="AEN2098"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2035"
+NAME="AEN2105"
 ></A
 ><H2
 >Description</H2
@@ -156,7 +156,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -190,7 +190,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index a284fa6..51c51c0 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetAdd"
 HREF="fclangsetadd.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETDEL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2109"
+NAME="AEN2179"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2109"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2112"
+NAME="AEN2182"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2113"
+NAME="AEN2183"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2122"
+NAME="AEN2192"
 ></A
 ><H2
 >Description</H2
@@ -163,7 +163,7 @@ two or three letter language from ISO 639 and Tt is a territory from ISO
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2128"
+NAME="AEN2198"
 ></A
 ><H2
 >Since</H2
@@ -220,7 +220,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 1d89a57..d180c6a 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetCreate"
 HREF="fclangsetcreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2044"
+NAME="AEN2114"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2044"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2047"
+NAME="AEN2117"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2048"
+NAME="AEN2118"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2055"
+NAME="AEN2125"
 ></A
 ><H2
 >Description</H2
@@ -191,7 +191,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index b4fed77..a1ea600 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetContains"
 HREF="fclangsetcontains.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETEQUAL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2240"
+NAME="AEN2310"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2240"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2243"
+NAME="AEN2313"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2244"
+NAME="AEN2314"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2253"
+NAME="AEN2323"
 ></A
 ><H2
 >Description</H2
@@ -203,7 +203,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 9981c2b..ce4bdc3 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcGetDefaultLangs"
 HREF="fcgetdefaultlangs.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETGETLANGS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2334"
+NAME="AEN2404"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2334"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2337"
+NAME="AEN2407"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2338"
+NAME="AEN2408"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2345"
+NAME="AEN2415"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index d7e7635..22e1fa0 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetEqual"
 HREF="fclangsetequal.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETHASH"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2263"
+NAME="AEN2333"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2263"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2266"
+NAME="AEN2336"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2267"
+NAME="AEN2337"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2274"
+NAME="AEN2344"
 ></A
 ><H2
 >Description</H2
@@ -204,7 +204,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index d92a2ee..5ffc178 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetHash"
 HREF="fclangsethash.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETHASLANG"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2285"
+NAME="AEN2355"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2285"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2288"
+NAME="AEN2358"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2289"
+NAME="AEN2359"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2298"
+NAME="AEN2368"
 ></A
 ><H2
 >Description</H2
@@ -226,7 +226,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 7ee18c0..aa8601c 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetUnion"
 HREF="fclangsetunion.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETSUBTRACT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2162"
+NAME="AEN2232"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2162"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2165"
+NAME="AEN2235"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2166"
+NAME="AEN2236"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2175"
+NAME="AEN2245"
 ></A
 ><H2
 >Description</H2
@@ -155,7 +155,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2180"
+NAME="AEN2250"
 ></A
 ><H2
 >Since</H2
@@ -212,7 +212,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 4d3071d..c508ab5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
 REL="PREVIOUS"
 TITLE="FcLangSetDel"
 HREF="fclangsetdel.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCLANGSETUNION"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2136"
+NAME="AEN2206"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2136"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2139"
+NAME="AEN2209"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2140"
+NAME="AEN2210"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2149"
+NAME="AEN2219"
 ></A
 ><H2
 >Description</H2
@@ -155,7 +155,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2154"
+NAME="AEN2224"
 ></A
 ><H2
 >Since</H2
@@ -212,7 +212,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 6c9799e..223c1a3 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
 REL="PREVIOUS"
 TITLE="FcMatrixInit"
 HREF="fcmatrixinit.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCMATRIXCOPY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2439"
+NAME="AEN2509"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2439"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2442"
+NAME="AEN2512"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2443"
+NAME="AEN2513"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2450"
+NAME="AEN2520"
 ></A
 ><H2
 >Description</H2
@@ -196,7 +196,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
 ACCESSKEY="U"
 >Up</A
 ></TD
index fbdb69b..81b3ce5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
 REL="PREVIOUS"
 TITLE="FcMatrixCopy"
 HREF="fcmatrixcopy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCMATRIXEQUAL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2460"
+NAME="AEN2530"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2460"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2463"
+NAME="AEN2533"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2464"
+NAME="AEN2534"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2473"
+NAME="AEN2543"
 ></A
 ><H2
 >Description</H2
@@ -207,7 +207,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
 ACCESSKEY="U"
 >Up</A
 ></TD
index ef8ef92..0e63770 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcMatrixCopy"
 HREF="fcmatrixcopy.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCMATRIXINIT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2418"
+NAME="AEN2488"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2418"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2421"
+NAME="AEN2491"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2422"
+NAME="AEN2492"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2429"
+NAME="AEN2499"
 ></A
 ><H2
 >Description</H2
@@ -162,7 +162,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -196,7 +196,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c42ceb5..f9069c9 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
 REL="PREVIOUS"
 TITLE="FcMatrixEqual"
 HREF="fcmatrixequal.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCMATRIXMULTIPLY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2484"
+NAME="AEN2554"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2484"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2487"
+NAME="AEN2557"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2488"
+NAME="AEN2558"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2499"
+NAME="AEN2569"
 ></A
 ><H2
 >Description</H2
@@ -217,7 +217,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 58f944e..d385f62 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
 REL="PREVIOUS"
 TITLE="FcMatrixMultiply"
 HREF="fcmatrixmultiply.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCMATRIXROTATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2511"
+NAME="AEN2581"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2511"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2514"
+NAME="AEN2584"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2515"
+NAME="AEN2585"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2526"
+NAME="AEN2596"
 ></A
 ><H2
 >Description</H2
@@ -232,7 +232,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 30fe428..2cb9e85 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
 REL="PREVIOUS"
 TITLE="FcMatrixRotate"
 HREF="fcmatrixrotate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCMATRIXSCALE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2539"
+NAME="AEN2609"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2539"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2542"
+NAME="AEN2612"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2543"
+NAME="AEN2613"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2554"
+NAME="AEN2624"
 ></A
 ><H2
 >Description</H2
@@ -232,7 +232,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
 ACCESSKEY="U"
 >Up</A
 ></TD
index f18c01e..493ee61 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
 REL="PREVIOUS"
 TITLE="FcMatrixScale"
 HREF="fcmatrixscale.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCMATRIXSHEAR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2567"
+NAME="AEN2637"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN2567"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2570"
+NAME="AEN2640"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2571"
+NAME="AEN2641"
 ></A
 ><TABLE
 BORDER="0"
@@ -132,7 +132,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2582"
+NAME="AEN2652"
 ></A
 ><H2
 >Description</H2
@@ -221,7 +221,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 0dc3f92..d9c926d 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConstant"
-HREF="x102.html#AEN3485"><LINK
+HREF="x103.html#AEN3658"><LINK
 REL="PREVIOUS"
 TITLE="FcNameGetConstant"
 HREF="fcnamegetconstant.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCNAMECONSTANT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3555"
+NAME="AEN3728"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN3555"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3558"
+NAME="AEN3731"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3559"
+NAME="AEN3732"
 ></A
 ><TABLE
 BORDER="0"
@@ -127,7 +127,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3568"
+NAME="AEN3741"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3485"
+HREF="x103.html#AEN3658"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 3281e65..4b01da1 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConstant"
-HREF="x102.html#AEN3485"><LINK
+HREF="x103.html#AEN3658"><LINK
 REL="PREVIOUS"
 TITLE="FcNameUnregisterConstants"
 HREF="fcnameunregisterconstants.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCNAMEGETCONSTANT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3535"
+NAME="AEN3708"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3535"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3538"
+NAME="AEN3711"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3539"
+NAME="AEN3712"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3546"
+NAME="AEN3719"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3485"
+HREF="x103.html#AEN3658"
 ACCESSKEY="U"
 >Up</A
 ></TD
index a59c9a0..560327b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcObjectType"
-HREF="x102.html#AEN3420"><LINK
+HREF="x103.html#AEN3593"><LINK
 REL="PREVIOUS"
 TITLE="FcNameUnregisterObjectTypes"
 HREF="fcnameunregisterobjecttypes.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCNAMEGETOBJECTTYPE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3470"
+NAME="AEN3643"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN3470"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3473"
+NAME="AEN3646"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3474"
+NAME="AEN3647"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3481"
+NAME="AEN3654"
 ></A
 ><H2
 >Description</H2
@@ -181,7 +181,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3420"
+HREF="x103.html#AEN3593"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 6753fa8..5f02c2a 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcDefaultSubstitute"
 HREF="fcdefaultsubstitute.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCNAMEPARSE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN866"
+NAME="AEN901"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN866"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN869"
+NAME="AEN904"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN870"
+NAME="AEN905"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN877"
+NAME="AEN912"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 0545b99..767371f 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConstant"
-HREF="x102.html#AEN3485"><LINK
+HREF="x103.html#AEN3658"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcNameUnregisterConstants"
 HREF="fcnameunregisterconstants.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCNAMEREGISTERCONSTANTS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3493"
+NAME="AEN3666"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3493"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3496"
+NAME="AEN3669"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3497"
+NAME="AEN3670"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3506"
+NAME="AEN3679"
 ></A
 ><H2
 >Description</H2
@@ -158,7 +158,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3485"
+HREF="x103.html#AEN3658"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 40ac7c1..fb8ffc1 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcObjectType"
-HREF="x102.html#AEN3420"><LINK
+HREF="x103.html#AEN3593"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcNameUnregisterObjectTypes"
 HREF="fcnameunregisterobjecttypes.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCNAMEREGISTEROBJECTTYPES"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3428"
+NAME="AEN3601"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3428"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3431"
+NAME="AEN3604"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3432"
+NAME="AEN3605"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3441"
+NAME="AEN3614"
 ></A
 ><H2
 >Description</H2
@@ -158,7 +158,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3420"
+HREF="x103.html#AEN3593"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 0b9dd77..eb78eb3 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcNameParse"
 HREF="fcnameparse.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCNAMEUNPARSE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN886"
+NAME="AEN921"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN886"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN889"
+NAME="AEN924"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN890"
+NAME="AEN925"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN897"
+NAME="AEN932"
 ></A
 ><H2
 >Description</H2
@@ -189,7 +189,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 42371fe..d47d6fc 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcConstant"
-HREF="x102.html#AEN3485"><LINK
+HREF="x103.html#AEN3658"><LINK
 REL="PREVIOUS"
 TITLE="FcNameRegisterConstants"
 HREF="fcnameregisterconstants.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCNAMEUNREGISTERCONSTANTS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3514"
+NAME="AEN3687"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3514"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3517"
+NAME="AEN3690"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3518"
+NAME="AEN3691"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3527"
+NAME="AEN3700"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3485"
+HREF="x103.html#AEN3658"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c487d47..2d07cfc 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcObjectType"
-HREF="x102.html#AEN3420"><LINK
+HREF="x103.html#AEN3593"><LINK
 REL="PREVIOUS"
 TITLE="FcNameRegisterObjectTypes"
 HREF="fcnameregisterobjecttypes.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCNAMEUNREGISTEROBJECTTYPES"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3449"
+NAME="AEN3622"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3449"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3452"
+NAME="AEN3625"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3453"
+NAME="AEN3626"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3462"
+NAME="AEN3635"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3420"
+HREF="x103.html#AEN3593"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 6a22e49..3f6880b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcObjectSet"
-HREF="x102.html#AEN1242"><LINK
+HREF="x103.html#AEN1277"><LINK
 REL="PREVIOUS"
 TITLE="FcObjectSetCreate"
 HREF="fcobjectsetcreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCOBJECTSETADD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1269"
+NAME="AEN1304"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1269"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1272"
+NAME="AEN1307"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1273"
+NAME="AEN1308"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1282"
+NAME="AEN1317"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1242"
+HREF="x103.html#AEN1277"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c1e033f..b03432a 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcObjectSet"
-HREF="x102.html#AEN1242"><LINK
+HREF="x103.html#AEN1277"><LINK
 REL="PREVIOUS"
 TITLE="FcObjectSetDestroy"
 HREF="fcobjectsetdestroy.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCOBJECTSETBUILD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1309"
+NAME="AEN1344"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN1309"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1314"
+NAME="AEN1349"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1315"
+NAME="AEN1350"
 ></A
 ><TABLE
 BORDER="0"
@@ -172,7 +172,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1340"
+NAME="AEN1375"
 ></A
 ><H2
 >Description</H2
@@ -233,7 +233,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1242"
+HREF="x103.html#AEN1277"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 79f19e0..d9579ef 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcObjectSet"
-HREF="x102.html#AEN1242"><LINK
+HREF="x103.html#AEN1277"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcObjectSetAdd"
 HREF="fcobjectsetadd.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCOBJECTSETCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1250"
+NAME="AEN1285"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1250"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1253"
+NAME="AEN1288"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1254"
+NAME="AEN1289"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1261"
+NAME="AEN1296"
 ></A
 ><H2
 >Description</H2
@@ -153,7 +153,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1242"
+HREF="x103.html#AEN1277"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 98a3997..ab73493 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcObjectSet"
-HREF="x102.html#AEN1242"><LINK
+HREF="x103.html#AEN1277"><LINK
 REL="PREVIOUS"
 TITLE="FcObjectSetAdd"
 HREF="fcobjectsetadd.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCOBJECTSETDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1290"
+NAME="AEN1325"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1290"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1293"
+NAME="AEN1328"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1294"
+NAME="AEN1329"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1301"
+NAME="AEN1336"
 ></A
 ><H2
 >Description</H2
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1242"
+HREF="x103.html#AEN1277"
 ACCESSKEY="U"
 >Up</A
 ></TD
index f40939c..59f0f11 100644 (file)
@@ -10,13 +10,13 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternAddWeak"
 HREF="fcpatternaddweak.html"><LINK
 REL="NEXT"
-TITLE="FcPatternGet"
-HREF="fcpatternget.html"></HEAD
+TITLE="FcPatternGetWithBinding"
+HREF="fcpatterngetwithbinding.html"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -58,7 +58,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="fcpatternget.html"
+HREF="fcpatterngetwithbinding.html"
 ACCESSKEY="N"
 >Next &#62;&#62;&#62;</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCPATTERNADD-TYPE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN473"
+NAME="AEN474"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN473"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN484"
+NAME="AEN485"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN485"
+NAME="AEN486"
 ></A
 ><TABLE
 BORDER="0"
@@ -339,7 +339,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN568"
+NAME="AEN569"
 ></A
 ><H2
 >Description</H2
@@ -389,7 +389,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="fcpatternget.html"
+HREF="fcpatterngetwithbinding.html"
 ACCESSKEY="N"
 >Next &#62;&#62;&#62;</A
 ></TD
@@ -405,7 +405,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
@@ -413,7 +413,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->FcPatternGet</TD
+>FcPatternGetWithBinding</TD
 ></TR
 ></TABLE
 ></DIV
index 90a0cdf..62ca7d7 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternHash"
 HREF="fcpatternhash.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNADD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN420"
+NAME="AEN421"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN420"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN423"
+NAME="AEN424"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN424"
+NAME="AEN425"
 ></A
 ><TABLE
 BORDER="0"
@@ -144,7 +144,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN437"
+NAME="AEN438"
 ></A
 ><H2
 >Description</H2
@@ -211,7 +211,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index fc29711..58090d5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternAdd"
 HREF="fcpatternadd.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNADDWEAK"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN446"
+NAME="AEN447"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN446"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN449"
+NAME="AEN450"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN450"
+NAME="AEN451"
 ></A
 ><TABLE
 BORDER="0"
@@ -144,7 +144,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN463"
+NAME="AEN464"
 ></A
 ><H2
 >Description</H2
@@ -213,7 +213,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index fabdf86..207a7b5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternGet-Type"
 HREF="fcpatternget-type.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNBUILD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN727"
+NAME="AEN762"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN727"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN732"
+NAME="AEN767"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN733"
+NAME="AEN768"
 ></A
 ><TABLE
 BORDER="0"
@@ -179,7 +179,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN758"
+NAME="AEN793"
 ></A
 ><H2
 >Description</H2
@@ -284,7 +284,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index d54b6b2..697cb23 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcPatternDuplicate"
 HREF="fcpatternduplicate.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCPATTERNCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN249"
+NAME="AEN250"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN249"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN252"
+NAME="AEN253"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN253"
+NAME="AEN254"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN260"
+NAME="AEN261"
 ></A
 ><H2
 >Description</H2
@@ -153,7 +153,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 2ab8b84..0d9df3c 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternBuild"
 HREF="fcpatternbuild.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNDEL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN777"
+NAME="AEN812"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN777"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN780"
+NAME="AEN815"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN781"
+NAME="AEN816"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN790"
+NAME="AEN825"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index b611046..d6127e8 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternReference"
 HREF="fcpatternreference.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN308"
+NAME="AEN309"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN308"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN311"
+NAME="AEN312"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN312"
+NAME="AEN313"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN319"
+NAME="AEN320"
 ></A
 ><H2
 >Description</H2
@@ -188,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 15dc18a..9a6ddc9 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternCreate"
 HREF="fcpatterncreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNDUPLICATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN268"
+NAME="AEN269"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN268"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN271"
+NAME="AEN272"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN272"
+NAME="AEN273"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN279"
+NAME="AEN280"
 ></A
 ><H2
 >Description</H2
@@ -194,7 +194,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 5d09b3e..ab944e1 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternDestroy"
 HREF="fcpatterndestroy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNEQUAL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN327"
+NAME="AEN328"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN327"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN330"
+NAME="AEN331"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN331"
+NAME="AEN332"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN340"
+NAME="AEN341"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 5b9d0a6..8009ef2 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternEqual"
 HREF="fcpatternequal.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNEQUALSUBSET"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN350"
+NAME="AEN351"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN350"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN353"
+NAME="AEN354"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN354"
+NAME="AEN355"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN365"
+NAME="AEN366"
 ></A
 ><H2
 >Description</H2
@@ -213,7 +213,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 85c340b..0f212e7 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternEqualSubset"
 HREF="fcpatternequalsubset.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNFILTER"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN376"
+NAME="AEN377"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN376"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN379"
+NAME="AEN380"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN380"
+NAME="AEN381"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN389"
+NAME="AEN390"
 ></A
 ><H2
 >Description</H2
@@ -215,7 +215,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c9e4b41..2632be5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcNameUnparse"
 HREF="fcnameunparse.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCPATTERNFORMAT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN905"
+NAME="AEN940"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN905"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN908"
+NAME="AEN943"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN909"
+NAME="AEN944"
 ></A
 ><TABLE
 BORDER="0"
@@ -127,7 +127,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN918"
+NAME="AEN953"
 ></A
 ><H2
 >Description</H2
@@ -537,7 +537,7 @@ lower-cased and with spaces removed.
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1028"
+NAME="AEN1063"
 ></A
 ><H2
 >Since</H2
@@ -590,7 +590,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 39e54fb..353bf00 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternGet"
 HREF="fcpatternget.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNGET-TYPE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN605"
+NAME="AEN640"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN605"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN616"
+NAME="AEN651"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN617"
+NAME="AEN652"
 ></A
 ><TABLE
 BORDER="0"
@@ -384,7 +384,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN718"
+NAME="AEN753"
 ></A
 ><H2
 >Description</H2
@@ -451,7 +451,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 1c38532..f1191ee 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
-TITLE="FcPatternAdd-Type"
-HREF="fcpatternadd-type.html"><LINK
+TITLE="FcPatternGetWithBinding"
+HREF="fcpatterngetwithbinding.html"><LINK
 REL="NEXT"
 TITLE="FcPatternGet-Type"
 HREF="fcpatternget-type.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="fcpatternadd-type.html"
+HREF="fcpatterngetwithbinding.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCPATTERNGET"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN577"
+NAME="AEN612"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN577"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN580"
+NAME="AEN615"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN581"
+NAME="AEN616"
 ></A
 ><TABLE
 BORDER="0"
@@ -144,7 +144,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN594"
+NAME="AEN629"
 ></A
 ><H2
 >Description</H2
@@ -186,7 +186,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="fcpatternadd-type.html"
+HREF="fcpatterngetwithbinding.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -214,13 +214,13 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->FcPatternAdd-Type</TD
+>FcPatternGetWithBinding</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
diff --git a/doc/fontconfig-devel/fcpatterngetwithbinding.html b/doc/fontconfig-devel/fcpatterngetwithbinding.html
new file mode 100644 (file)
index 0000000..75ac0ae
--- /dev/null
@@ -0,0 +1,258 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternGetWithBinding</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x103.html#AEN242"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternAdd-Type"
+HREF="fcpatternadd-type.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="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.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNGETWITHBINDING"
+></A
+>FcPatternGetWithBinding</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN578"
+></A
+><H2
+>Name</H2
+>FcPatternGetWithBinding&nbsp;--&nbsp;Return a value with binding from a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN581"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN582"
+></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"
+>FcPatternGetWithBinding</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
+>, FcValueBinding *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN597"
+></A
+><H2
+>Description</H2
+><P
+>Returns in <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+> the <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>'th value
+and <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+> binding for that 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="REFSECT1"
+><A
+NAME="AEN604"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.5</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.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="x103.html#AEN242"
+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
index 54a7035..42219b8 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternFilter"
 HREF="fcpatternfilter.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNHASH"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN401"
+NAME="AEN402"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN401"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN404"
+NAME="AEN405"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN405"
+NAME="AEN406"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN412"
+NAME="AEN413"
 ></A
 ><H2
 >Description</H2
@@ -188,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 87a3679..c3291ad 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternRemove"
 HREF="fcpatternremove.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNPRINT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN821"
+NAME="AEN856"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN821"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN824"
+NAME="AEN859"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN825"
+NAME="AEN860"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN832"
+NAME="AEN867"
 ></A
 ><H2
 >Description</H2
@@ -189,7 +189,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index aaeac08..c77ddd4 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternDuplicate"
 HREF="fcpatternduplicate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNREFERENCE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN288"
+NAME="AEN289"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN288"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN291"
+NAME="AEN292"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN292"
+NAME="AEN293"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN299"
+NAME="AEN300"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index ba59c47..f3d3c5e 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
 REL="PREVIOUS"
 TITLE="FcPatternDel"
 HREF="fcpatterndel.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCPATTERNREMOVE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN798"
+NAME="AEN833"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN798"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN801"
+NAME="AEN836"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN802"
+NAME="AEN837"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN813"
+NAME="AEN848"
 ></A
 ><H2
 >Description</H2
@@ -198,7 +198,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 2f5724a..2141791 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcRangeCreateDouble"
 HREF="fcrangecreatedouble.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCRANGECOPY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2598"
+NAME="AEN2668"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2598"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2601"
+NAME="AEN2671"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2602"
+NAME="AEN2672"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2609"
+NAME="AEN2679"
 ></A
 ><H2
 >Description</H2
@@ -149,7 +149,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2614"
+NAME="AEN2684"
 ></A
 ><H2
 >Since</H2
@@ -172,7 +172,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -206,7 +206,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
 ACCESSKEY="U"
 >Up</A
 ></TD
index e251852..0dd6ba5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
 REL="PREVIOUS"
 TITLE="FcRangeCopy"
 HREF="fcrangecopy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCRANGECREATEDOUBLE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2622"
+NAME="AEN2692"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2622"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2625"
+NAME="AEN2695"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2626"
+NAME="AEN2696"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2635"
+NAME="AEN2705"
 ></A
 ><H2
 >Description</H2
@@ -149,7 +149,7 @@ double sized value.
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2639"
+NAME="AEN2709"
 ></A
 ><H2
 >Since</H2
@@ -206,7 +206,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 64a32a7..de5b45e 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
 REL="PREVIOUS"
 TITLE="FcRangeCreateDouble"
 HREF="fcrangecreatedouble.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCRANGECREATEINTEGER"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2647"
+NAME="AEN2717"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2647"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2650"
+NAME="AEN2720"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2651"
+NAME="AEN2721"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2660"
+NAME="AEN2730"
 ></A
 ><H2
 >Description</H2
@@ -149,7 +149,7 @@ integer sized value.
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2664"
+NAME="AEN2734"
 ></A
 ><H2
 >Since</H2
@@ -206,7 +206,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 848bc5f..d50a4e3 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
 REL="PREVIOUS"
 TITLE="FcRangeCreateInteger"
 HREF="fcrangecreateinteger.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCRANGEDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2672"
+NAME="AEN2742"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN2672"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2675"
+NAME="AEN2745"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2676"
+NAME="AEN2746"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2683"
+NAME="AEN2753"
 ></A
 ><H2
 >Description</H2
@@ -144,7 +144,7 @@ all memory associated with it.
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2687"
+NAME="AEN2757"
 ></A
 ><H2
 >Since</H2
@@ -201,7 +201,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 7e831e5..487602f 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
 REL="PREVIOUS"
 TITLE="FcRangeDestroy"
 HREF="fcrangedestroy.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCRANGEGETDOUBLE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2695"
+NAME="AEN2765"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN2695"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2698"
+NAME="AEN2768"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN2699"
+NAME="AEN2769"
 ></A
 ><TABLE
 BORDER="0"
@@ -132,7 +132,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2710"
+NAME="AEN2780"
 ></A
 ><H2
 >Description</H2
@@ -153,7 +153,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2715"
+NAME="AEN2785"
 ></A
 ><H2
 >Since</H2
@@ -206,7 +206,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
 ACCESSKEY="U"
 >Up</A
 ></TD
index a96bace..732e014 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrDirname"
 HREF="fcstrdirname.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCSTRBASENAME"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4977"
+NAME="AEN5226"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN4977"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4980"
+NAME="AEN5229"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4981"
+NAME="AEN5230"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4988"
+NAME="AEN5237"
 ></A
 ><H2
 >Description</H2
@@ -183,7 +183,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index f216b85..a44780e 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrCopyFilename"
 HREF="fcstrcopyfilename.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRCMP"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4819"
+NAME="AEN5068"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4819"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4822"
+NAME="AEN5071"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4823"
+NAME="AEN5072"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4832"
+NAME="AEN5081"
 ></A
 ><H2
 >Description</H2
@@ -203,7 +203,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c2b2aaa..f8e465d 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrCmp"
 HREF="fcstrcmp.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRCMPIGNORECASE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4842"
+NAME="AEN5091"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4842"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4845"
+NAME="AEN5094"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4846"
+NAME="AEN5095"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4855"
+NAME="AEN5104"
 ></A
 ><H2
 >Description</H2
@@ -204,7 +204,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 47bb8dc..ec72b96 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcToLower"
 HREF="fctolower.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRCOPY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4756"
+NAME="AEN5005"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4756"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4759"
+NAME="AEN5008"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4760"
+NAME="AEN5009"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4767"
+NAME="AEN5016"
 ></A
 ><H2
 >Description</H2
@@ -197,7 +197,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 26c222b..1cfb2c3 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrDowncase"
 HREF="fcstrdowncase.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRCOPYFILENAME"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4797"
+NAME="AEN5046"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4797"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4800"
+NAME="AEN5049"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4801"
+NAME="AEN5050"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4808"
+NAME="AEN5057"
 ></A
 ><H2
 >Description</H2
@@ -205,7 +205,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 88a1316..ff73599 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrFree"
 HREF="fcstrfree.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRDIRNAME"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4957"
+NAME="AEN5206"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4957"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4960"
+NAME="AEN5209"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4961"
+NAME="AEN5210"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4968"
+NAME="AEN5217"
 ></A
 ><H2
 >Description</H2
@@ -194,7 +194,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 5cf426a..04863a6 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrCopy"
 HREF="fcstrcopy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRDOWNCASE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4777"
+NAME="AEN5026"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4777"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4780"
+NAME="AEN5029"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4781"
+NAME="AEN5030"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4788"
+NAME="AEN5037"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c39b2c6..d96f4fe 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrPlus"
 HREF="fcstrplus.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRFREE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4938"
+NAME="AEN5187"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4938"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4941"
+NAME="AEN5190"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4942"
+NAME="AEN5191"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4949"
+NAME="AEN5198"
 ></A
 ><H2
 >Description</H2
@@ -188,7 +188,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 71c03fc..97585de 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrSetDestroy"
 HREF="fcstrsetdestroy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRLISTCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4465"
+NAME="AEN4714"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4465"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4468"
+NAME="AEN4717"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4469"
+NAME="AEN4718"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4476"
+NAME="AEN4725"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index f4131bb..0b3d78b 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrListNext"
 HREF="fcstrlistnext.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCSTRLISTDONE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4528"
+NAME="AEN4777"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN4528"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4531"
+NAME="AEN4780"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4532"
+NAME="AEN4781"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4539"
+NAME="AEN4788"
 ></A
 ><H2
 >Description</H2
@@ -181,7 +181,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 05c7d53..94531a1 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrListCreate"
 HREF="fcstrlistcreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRLISTFIRST"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4485"
+NAME="AEN4734"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4485"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4488"
+NAME="AEN4737"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4489"
+NAME="AEN4738"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4496"
+NAME="AEN4745"
 ></A
 ><H2
 >Description</H2
@@ -145,7 +145,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4500"
+NAME="AEN4749"
 ></A
 ><H2
 >Since</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 30f8159..786b86a 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrListFirst"
 HREF="fcstrlistfirst.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRLISTNEXT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4508"
+NAME="AEN4757"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4508"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4511"
+NAME="AEN4760"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4512"
+NAME="AEN4761"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4519"
+NAME="AEN4768"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 55c5487..b19194f 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrStrIgnoreCase"
 HREF="fcstrstrignorecase.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRPLUS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4915"
+NAME="AEN5164"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4915"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4918"
+NAME="AEN5167"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4919"
+NAME="AEN5168"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4928"
+NAME="AEN5177"
 ></A
 ><H2
 >Description</H2
@@ -204,7 +204,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index ff430a6..db79684 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrSetEqual"
 HREF="fcstrsetequal.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRSETADD"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4375"
+NAME="AEN4624"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4375"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4378"
+NAME="AEN4627"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4379"
+NAME="AEN4628"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4388"
+NAME="AEN4637"
 ></A
 ><H2
 >Description</H2
@@ -202,7 +202,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index dd45145..55da496 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrSetAdd"
 HREF="fcstrsetadd.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRSETADDFILENAME"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4398"
+NAME="AEN4647"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4398"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4401"
+NAME="AEN4650"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4402"
+NAME="AEN4651"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4411"
+NAME="AEN4660"
 ></A
 ><H2
 >Description</H2
@@ -204,7 +204,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index efd1e03..943e4d7 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcStrSetMember"
 HREF="fcstrsetmember.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCSTRSETCREATE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4310"
+NAME="AEN4559"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4310"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4313"
+NAME="AEN4562"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4314"
+NAME="AEN4563"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4321"
+NAME="AEN4570"
 ></A
 ><H2
 >Description</H2
@@ -153,7 +153,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -187,7 +187,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index aae3eda..3c7e708 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrSetAddFilename"
 HREF="fcstrsetaddfilename.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRSETDEL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4421"
+NAME="AEN4670"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4421"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4424"
+NAME="AEN4673"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4425"
+NAME="AEN4674"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4434"
+NAME="AEN4683"
 ></A
 ><H2
 >Description</H2
@@ -208,7 +208,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 9ebe87f..8ed8af7 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrSetDel"
 HREF="fcstrsetdel.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRSETDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4445"
+NAME="AEN4694"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4445"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4448"
+NAME="AEN4697"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4449"
+NAME="AEN4698"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4456"
+NAME="AEN4705"
 ></A
 ><H2
 >Description</H2
@@ -192,7 +192,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 72ffd79..48247c9 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrSetMember"
 HREF="fcstrsetmember.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRSETEQUAL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4352"
+NAME="AEN4601"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4352"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4355"
+NAME="AEN4604"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4356"
+NAME="AEN4605"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4365"
+NAME="AEN4614"
 ></A
 ><H2
 >Description</H2
@@ -204,7 +204,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 080998b..4f281e5 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
 REL="PREVIOUS"
 TITLE="FcStrSetCreate"
 HREF="fcstrsetcreate.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRSETMEMBER"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4329"
+NAME="AEN4578"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4329"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4332"
+NAME="AEN4581"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4333"
+NAME="AEN4582"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4342"
+NAME="AEN4591"
 ></A
 ><H2
 >Description</H2
@@ -203,7 +203,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 14ea9c6..a1cae98 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrCmpIgnoreCase"
 HREF="fcstrcmpignorecase.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRSTR"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4865"
+NAME="AEN5114"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4865"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4868"
+NAME="AEN5117"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4869"
+NAME="AEN5118"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4878"
+NAME="AEN5127"
 ></A
 ><H2
 >Description</H2
@@ -215,7 +215,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 0e9ed8d..ee61f6a 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcStrStr"
 HREF="fcstrstr.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCSTRSTRIGNORECASE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4890"
+NAME="AEN5139"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4890"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4893"
+NAME="AEN5142"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4894"
+NAME="AEN5143"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4903"
+NAME="AEN5152"
 ></A
 ><H2
 >Description</H2
@@ -215,7 +215,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 54b4a0b..820c93d 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcIsUpper"
 HREF="fcisupper.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCTOLOWER"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4736"
+NAME="AEN4985"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4736"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4739"
+NAME="AEN4988"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4740"
+NAME="AEN4989"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4747"
+NAME="AEN4996"
 ></A
 ><H2
 >Description</H2
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index b4cc399..d3138f6 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcUtf8ToUcs4"
 HREF="fcutf8toucs4.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCUCS4TOUTF8"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4578"
+NAME="AEN4827"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4578"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4581"
+NAME="AEN4830"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4582"
+NAME="AEN4831"
 ></A
 ><TABLE
 BORDER="0"
@@ -134,7 +134,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4591"
+NAME="AEN4840"
 ></A
 ><H2
 >Description</H2
@@ -204,7 +204,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index c555b01..dd8be01 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcUtf16ToUcs4"
 HREF="fcutf16toucs4.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCUTF16LEN"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4662"
+NAME="AEN4911"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4662"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4665"
+NAME="AEN4914"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4666"
+NAME="AEN4915"
 ></A
 ><TABLE
 BORDER="0"
@@ -149,7 +149,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4681"
+NAME="AEN4930"
 ></A
 ><H2
 >Description</H2
@@ -249,7 +249,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index e55ab9b..e0d6436 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcUtf8Len"
 HREF="fcutf8len.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCUTF16TOUCS4"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4631"
+NAME="AEN4880"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4631"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4634"
+NAME="AEN4883"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4635"
+NAME="AEN4884"
 ></A
 ><TABLE
 BORDER="0"
@@ -144,7 +144,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4648"
+NAME="AEN4897"
 ></A
 ><H2
 >Description</H2
@@ -236,7 +236,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 7eaea16..ac3ea38 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FcUcs4ToUtf8"
 HREF="fcucs4toutf8.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCUTF8LEN"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4601"
+NAME="AEN4850"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4601"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4604"
+NAME="AEN4853"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4605"
+NAME="AEN4854"
 ></A
 ><TABLE
 BORDER="0"
@@ -144,7 +144,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4618"
+NAME="AEN4867"
 ></A
 ><H2
 >Description</H2
@@ -232,7 +232,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 359b2b2..f8f4273 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcUcs4ToUtf8"
 HREF="fcucs4toutf8.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCUTF8TOUCS4"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4551"
+NAME="AEN4800"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN4551"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4554"
+NAME="AEN4803"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN4555"
+NAME="AEN4804"
 ></A
 ><TABLE
 BORDER="0"
@@ -139,7 +139,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4566"
+NAME="AEN4815"
 ></A
 ><H2
 >Description</H2
@@ -186,7 +186,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -220,7 +220,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
 ACCESSKEY="U"
 >Up</A
 ></TD
index ff74950..2096e7f 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcValue"
-HREF="x102.html#AEN1463"><LINK
+HREF="x103.html#AEN1533"><LINK
 REL="PREVIOUS"
 TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
 REL="NEXT"
 TITLE="FcValueSave"
 HREF="fcvaluesave.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCVALUEDESTROY"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1472"
+NAME="AEN1542"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1472"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1475"
+NAME="AEN1545"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1476"
+NAME="AEN1546"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1483"
+NAME="AEN1553"
 ></A
 ><H2
 >Description</H2
@@ -159,7 +159,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -193,7 +193,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1463"
+HREF="x103.html#AEN1533"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 33f60a2..fa2ee9d 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcValue"
-HREF="x102.html#AEN1463"><LINK
+HREF="x103.html#AEN1533"><LINK
 REL="PREVIOUS"
 TITLE="FcValuePrint"
 HREF="fcvalueprint.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCVALUEEQUAL"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1533"
+NAME="AEN1603"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN1533"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1536"
+NAME="AEN1606"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1537"
+NAME="AEN1607"
 ></A
 ><TABLE
 BORDER="0"
@@ -127,7 +127,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1546"
+NAME="AEN1616"
 ></A
 ><H2
 >Description</H2
@@ -183,7 +183,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1463"
+HREF="x103.html#AEN1533"
 ACCESSKEY="U"
 >Up</A
 ></TD
index 3a4fdf6..3836b8e 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcValue"
-HREF="x102.html#AEN1463"><LINK
+HREF="x103.html#AEN1533"><LINK
 REL="PREVIOUS"
 TITLE="FcValueSave"
 HREF="fcvaluesave.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCVALUEPRINT"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1513"
+NAME="AEN1583"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1513"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1516"
+NAME="AEN1586"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1517"
+NAME="AEN1587"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1524"
+NAME="AEN1594"
 ></A
 ><H2
 >Description</H2
@@ -194,7 +194,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1463"
+HREF="x103.html#AEN1533"
 ACCESSKEY="U"
 >Up</A
 ></TD
index dcf6751..8d918be 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcValue"
-HREF="x102.html#AEN1463"><LINK
+HREF="x103.html#AEN1533"><LINK
 REL="PREVIOUS"
 TITLE="FcValueDestroy"
 HREF="fcvaluedestroy.html"><LINK
@@ -75,7 +75,7 @@ NAME="FCVALUESAVE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1492"
+NAME="AEN1562"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN1492"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1495"
+NAME="AEN1565"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN1496"
+NAME="AEN1566"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1503"
+NAME="AEN1573"
 ></A
 ><H2
 >Description</H2
@@ -198,7 +198,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN1463"
+HREF="x103.html#AEN1533"
 ACCESSKEY="U"
 >Up</A
 ></TD
index fca476d..09793a5 100644 (file)
@@ -10,10 +10,10 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcWeight"
-HREF="x102.html#AEN3573"><LINK
+HREF="x103.html#AEN3746"><LINK
 REL="PREVIOUS"
-TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+TITLE="FcWeightToOpenTypeDouble"
+HREF="fcweighttoopentypedouble.html"><LINK
 REL="NEXT"
 TITLE="FcWeightToOpenType"
 HREF="fcweighttoopentype.html"></HEAD
@@ -44,7 +44,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="fcweighttoopentypedouble.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -75,7 +75,7 @@ NAME="FCWEIGHTFROMOPENTYPE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3581"
+NAME="AEN3801"
 ></A
 ><H2
 >Name</H2
@@ -83,7 +83,7 @@ NAME="AEN3581"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3584"
+NAME="AEN3804"
 ></A
 ><H2
 >Synopsis</H2
@@ -92,7 +92,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3585"
+NAME="AEN3805"
 ></A
 ><TABLE
 BORDER="0"
@@ -129,7 +129,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3592"
+NAME="AEN3812"
 ></A
 ><H2
 >Description</H2
@@ -137,19 +137,18 @@ NAME="AEN3592"
 ><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.
+> is like
+<TT
+CLASS="FUNCTION"
+>FcWeightFromOpenTypeDouble</TT
+> but with integer arguments.
+Use the other function instead.
            </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3596"
+NAME="AEN3817"
 ></A
 ><H2
 >Since</H2
@@ -172,7 +171,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="fcweighttoopentypedouble.html"
 ACCESSKEY="P"
 >&#60;&#60;&#60; Previous</A
 ></TD
@@ -200,13 +199,13 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->FUNCTIONS</TD
+>FcWeightToOpenTypeDouble</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3573"
+HREF="x103.html#AEN3746"
 ACCESSKEY="U"
 >Up</A
 ></TD
diff --git a/doc/fontconfig-devel/fcweightfromopentypedouble.html b/doc/fontconfig-devel/fcweightfromopentypedouble.html
new file mode 100644 (file)
index 0000000..6b63a44
--- /dev/null
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcWeightFromOpenTypeDouble</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcWeight"
+HREF="x103.html#AEN3746"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x103.html"><LINK
+REL="NEXT"
+TITLE="FcWeightToOpenTypeDouble"
+HREF="fcweighttoopentypedouble.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="x103.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="fcweighttoopentypedouble.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCWEIGHTFROMOPENTYPEDOUBLE"
+></A
+>FcWeightFromOpenTypeDouble</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3754"
+></A
+><H2
+>Name</H2
+>FcWeightFromOpenTypeDouble&nbsp;--&nbsp;Convert from OpenType weight values to fontconfig ones</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"
+>double <TT
+CLASS="FUNCTION"
+>FcWeightFromOpenTypeDouble</TT
+></CODE
+>(double<TT
+CLASS="PARAMETER"
+><I
+>ot_weight</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3765"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcWeightFromOpenTypeDouble</TT
+> returns an double value
+to use with FC_WEIGHT, from an double 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 doubleerpolates
+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="AEN3769"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.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="x103.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="fcweighttoopentypedouble.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="x103.html#AEN3746"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcWeightToOpenTypeDouble</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
index acc66fb..12c3092 100644 (file)
@@ -10,7 +10,7 @@ REL="HOME"
 HREF="t1.html"><LINK
 REL="UP"
 TITLE="FcWeight"
-HREF="x102.html#AEN3573"><LINK
+HREF="x103.html#AEN3746"><LINK
 REL="PREVIOUS"
 TITLE="FcWeightFromOpenType"
 HREF="fcweightfromopentype.html"></HEAD
@@ -68,7 +68,7 @@ NAME="FCWEIGHTTOOPENTYPE"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3604"
+NAME="AEN3825"
 ></A
 ><H2
 >Name</H2
@@ -76,7 +76,7 @@ NAME="AEN3604"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3607"
+NAME="AEN3828"
 ></A
 ><H2
 >Synopsis</H2
@@ -85,7 +85,7 @@ CLASS="FUNCSYNOPSIS"
 ><P
 ></P
 ><A
-NAME="AEN3608"
+NAME="AEN3829"
 ></A
 ><TABLE
 BORDER="0"
@@ -122,7 +122,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3615"
+NAME="AEN3836"
 ></A
 ><H2
 >Description</H2
@@ -130,19 +130,18 @@ NAME="AEN3615"
 ><TT
 CLASS="FUNCTION"
 >FcWeightToOpenType</TT
-> is the inverse of
+> is like
 <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.
+>FcWeightToOpenTypeDouble</TT
+> but with integer arguments.
+Use the other function instead.
            </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3620"
+NAME="AEN3841"
 ></A
 ><H2
 >Since</H2
@@ -195,7 +194,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="x102.html#AEN3573"
+HREF="x103.html#AEN3746"
 ACCESSKEY="U"
 >Up</A
 ></TD
diff --git a/doc/fontconfig-devel/fcweighttoopentypedouble.html b/doc/fontconfig-devel/fcweighttoopentypedouble.html
new file mode 100644 (file)
index 0000000..680134c
--- /dev/null
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcWeightToOpenTypeDouble</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcWeight"
+HREF="x103.html#AEN3746"><LINK
+REL="PREVIOUS"
+TITLE="FcWeightFromOpenTypeDouble"
+HREF="fcweightfromopentypedouble.html"><LINK
+REL="NEXT"
+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="fcweightfromopentypedouble.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="fcweightfromopentype.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCWEIGHTTOOPENTYPEDOUBLE"
+></A
+>FcWeightToOpenTypeDouble</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3777"
+></A
+><H2
+>Name</H2
+>FcWeightToOpenTypeDouble&nbsp;--&nbsp;Convert from fontconfig weight values to OpenType ones</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3780"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3781"
+></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"
+>double <TT
+CLASS="FUNCTION"
+>FcWeightToOpenTypeDouble</TT
+></CODE
+>(double<TT
+CLASS="PARAMETER"
+><I
+>ot_weight</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3788"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcWeightToOpenTypeDouble</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="AEN3793"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.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="fcweightfromopentypedouble.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="fcweightfromopentype.html"
+ACCESSKEY="N"
+>Next &#62;&#62;&#62;</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcWeightFromOpenTypeDouble</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN3746"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcWeightFromOpenType</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
index ebf95af..18705b3 100644 (file)
@@ -2,7 +2,7 @@
 <HTML
 ><HEAD
 ><TITLE
->Fontconfig Developers Reference, Version 2.12.1
+>Fontconfig Developers Reference, Version 2.13.0
  </TITLE
 ><META
 NAME="GENERATOR"
@@ -25,7 +25,7 @@ CLASS="TITLEPAGE"
 CLASS="TITLE"
 ><A
 NAME="AEN1"
->Fontconfig Developers Reference, Version 2.12.1</A
+>Fontconfig Developers Reference, Version 2.13.0</A
 ></H1
 ><A
 HREF="ln12.html"
@@ -59,7 +59,7 @@ HREF="x31.html"
 ></DT
 ><DT
 ><A
-HREF="x102.html"
+HREF="x103.html"
 >FUNCTIONS</A
 ></DT
 ></DL
similarity index 94%
rename from doc/fontconfig-devel/x102.html
rename to doc/fontconfig-devel/x103.html
index d8fd2ef..f43badc 100644 (file)
@@ -62,7 +62,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN102"
+NAME="AEN103"
 >FUNCTIONS</A
 ></H1
 ><P
@@ -74,7 +74,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN105"
+NAME="AEN106"
 >Initialization</A
 ></H2
 ><DIV
@@ -130,7 +130,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN241"
+NAME="AEN242"
 >FcPattern</A
 ></H2
 ><DIV
@@ -197,6 +197,11 @@ HREF="fcpatternadd-type.html"
 >&nbsp;--&nbsp;Add a typed value to a pattern</DT
 ><DT
 ><A
+HREF="fcpatterngetwithbinding.html"
+>FcPatternGetWithBinding</A
+>&nbsp;--&nbsp;Return a value with binding from a pattern</DT
+><DT
+><A
 HREF="fcpatternget.html"
 >FcPatternGet</A
 >&nbsp;--&nbsp;Return a value from a pattern</DT
@@ -257,7 +262,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1031"
+NAME="AEN1066"
 >FcFontSet</A
 ></H2
 ><DIV
@@ -319,7 +324,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1242"
+NAME="AEN1277"
 >FcObjectSet</A
 ></H2
 ><DIV
@@ -362,7 +367,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1344"
+NAME="AEN1379"
 >FreeType specific functions</A
 ></H2
 ><DIV
@@ -394,6 +399,11 @@ HREF="fcfreetypequery.html"
 >&nbsp;--&nbsp;compute pattern from font file (and index)</DT
 ><DT
 ><A
+HREF="fcfreetypequeryall.html"
+>FcFreeTypeQueryAll</A
+>&nbsp;--&nbsp;compute all patterns from font file (and index)</DT
+><DT
+><A
 HREF="fcfreetypequeryface.html"
 >FcFreeTypeQueryFace</A
 >&nbsp;--&nbsp;compute pattern from FT_Face</DT
@@ -410,7 +420,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1463"
+NAME="AEN1533"
 >FcValue</A
 ></H2
 ><DIV
@@ -458,7 +468,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1549"
+NAME="AEN1619"
 >FcCharSet</A
 ></H2
 ><DIV
@@ -578,7 +588,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2016"
+NAME="AEN2086"
 >FcLangSet</A
 ></H2
 ><DIV
@@ -688,7 +698,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2410"
+NAME="AEN2480"
 >FcMatrix</A
 ></H2
 ><DIV
@@ -744,7 +754,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2590"
+NAME="AEN2660"
 >FcRange</A
 ></H2
 ><DIV
@@ -790,7 +800,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2718"
+NAME="AEN2788"
 >FcConfig</A
 ></H2
 ><DIV
@@ -947,6 +957,11 @@ HREF="fcconfigparseandload.html"
 >&nbsp;--&nbsp;load a configuration file</DT
 ><DT
 ><A
+HREF="fcconfigparseandloadfrommemory.html"
+>FcConfigParseAndLoadFromMemory</A
+>&nbsp;--&nbsp;load a configuration from memory</DT
+><DT
+><A
 HREF="fcconfiggetsysroot.html"
 >FcConfigGetSysRoot</A
 >&nbsp;--&nbsp;Obtain the system root directory</DT
@@ -955,6 +970,21 @@ HREF="fcconfiggetsysroot.html"
 HREF="fcconfigsetsysroot.html"
 >FcConfigSetSysRoot</A
 >&nbsp;--&nbsp;Set the system root directory</DT
+><DT
+><A
+HREF="fcconfigfileinfoiterinit.html"
+>FcConfigFileInfoIterInit</A
+>&nbsp;--&nbsp;Initialize the iterator</DT
+><DT
+><A
+HREF="fcconfigfileinfoiternext.html"
+>FcConfigFileInfoIterNext</A
+>&nbsp;--&nbsp;Set the iterator to point to the next list</DT
+><DT
+><A
+HREF="fcconfigfileinfoiterget.html"
+>FcConfigFileInfoIterGet</A
+>&nbsp;--&nbsp;Obtain the configuration file information</DT
 ></DL
 ></DIV
 ><P
@@ -968,7 +998,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3420"
+NAME="AEN3593"
 >FcObjectType</A
 ></H2
 ><DIV
@@ -1005,7 +1035,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3485"
+NAME="AEN3658"
 >FcConstant</A
 ></H2
 ><DIV
@@ -1046,7 +1076,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3573"
+NAME="AEN3746"
 >FcWeight</A
 ></H2
 ><DIV
@@ -1058,6 +1088,16 @@ CLASS="TOC"
 ></DT
 ><DT
 ><A
+HREF="fcweightfromopentypedouble.html"
+>FcWeightFromOpenTypeDouble</A
+>&nbsp;--&nbsp;Convert from OpenType weight values to fontconfig ones</DT
+><DT
+><A
+HREF="fcweighttoopentypedouble.html"
+>FcWeightToOpenTypeDouble</A
+>&nbsp;--&nbsp;Convert from fontconfig weight values to OpenType ones</DT
+><DT
+><A
 HREF="fcweightfromopentype.html"
 >FcWeightFromOpenType</A
 >&nbsp;--&nbsp;Convert from OpenType weight values to fontconfig ones</DT
@@ -1077,7 +1117,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3623"
+NAME="AEN3844"
 >FcBlanks</A
 ></H2
 ><DIV
@@ -1116,13 +1156,18 @@ 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
+><P
+>        FcBlanks is deprecated and should not be used in newly written code.
+        It is still accepted by some functions for compatibility with
+        older code but will be removed in the future.
+    </P
 ></DIV
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3706"
+NAME="AEN3928"
 >FcAtomic</A
 ></H2
 ><DIV
@@ -1185,7 +1230,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3867"
+NAME="AEN4089"
 >File and Directory routines</A
 ></H2
 ><DIV
@@ -1267,7 +1312,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4145"
+NAME="AEN4367"
 >FcCache routines</A
 ></H2
 ><DIV
@@ -1331,18 +1376,17 @@ CLASS="PARAMETER"
 ><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
+>&nbsp;--&nbsp;Clean up a cache directory</DT
 ><DT
 ><A
 HREF="fccachecreatetagfile.html"
 >FcCacheCreateTagFile</A
 >&nbsp;--&nbsp;Create CACHEDIR.TAG at cache directory.</DT
+><DT
+><A
+HREF="fcdircachecreateuuid.html"
+>FcDirCacheCreateUUID</A
+>&nbsp;--&nbsp;Create .uuid file at a directory</DT
 ></DL
 ></DIV
 ><P
@@ -1356,7 +1400,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4302"
+NAME="AEN4551"
 >FcStrSet and FcStrList</A
 ></H2
 ><DIV
@@ -1433,7 +1477,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4543"
+NAME="AEN4792"
 >String utilities</A
 ></H2
 ><DIV
index 9330be6..3017e71 100644 (file)
@@ -13,7 +13,7 @@ TITLE="FUNCTIONAL OVERVIEW"
 HREF="x19.html"><LINK
 REL="NEXT"
 TITLE="FUNCTIONS"
-HREF="x102.html"></HEAD
+HREF="x103.html"></HEAD
 ><BODY
 CLASS="SECT1"
 BGCOLOR="#FFFFFF"
@@ -55,7 +55,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="N"
 >Next &#62;&#62;&#62;</A
 ></TD
@@ -415,13 +415,18 @@ NAME="AEN80"
 blank chars are assumed to be invalid and are elided from the charset
 associated with the font.
     </P
+><P
+>        FcBlanks is deprecated and should not be used in newly written code.
+        It is still accepted by some functions for compatibility with
+        older code but will be removed in the future.
+    </P
 ></DIV
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN83"
+NAME="AEN84"
 >FcFileCache</A
 ></H2
 ><P
@@ -435,7 +440,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN86"
+NAME="AEN87"
 >FcConfig</A
 ></H2
 ><P
@@ -454,7 +459,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN89"
+NAME="AEN90"
 >FcSetName</A
 ></H2
 ><P
@@ -468,7 +473,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN92"
+NAME="AEN93"
 >FcResult</A
 ></H2
 ><P
@@ -502,7 +507,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN96"
+NAME="AEN97"
 >FcAtomic</A
 ></H2
 ><P
@@ -515,7 +520,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN99"
+NAME="AEN100"
 >FcCache</A
 ></H2
 ><P
@@ -561,7 +566,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="x102.html"
+HREF="x103.html"
 ACCESSKEY="N"
 >Next &#62;&#62;&#62;</A
 ></TD
index 4349c35..1c63901 100644 (file)
@@ -507,8 +507,8 @@ CLASS="LITERAL"
 where <TT
 CLASS="LITERAL"
 >&#60;version&#62;</TT
-> is the font configuration file
-version number (currently 5).
+> is the fontconfig cache file
+version number (currently 7).
   </P
 ></DIV
 ><DIV
@@ -1525,6 +1525,13 @@ HREF="#DEBUG"
 ><P
 ><I
 CLASS="EMPHASIS"
+>FC_LANG</I
+>
+is used to specify the default language as the weak binding in the query. if this isn't set, the default language will be determined from current locale.
+  </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.
@@ -1533,7 +1540,7 @@ is used to control the use of mmap(2) for the cache files if available. this tak
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN276"
+NAME="AEN278"
 ></A
 ><H2
 >See Also</H2
@@ -1544,12 +1551,12 @@ NAME="AEN276"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN279"
+NAME="AEN281"
 ></A
 ><H2
 >Version</H2
 ><P
->Fontconfig version 2.12.1
+>Fontconfig version 2.13.0
 
            </P
 ></DIV
index 3753c16..9e38e16 100644 (file)
Binary files a/doc/fontconfig-user.pdf and b/doc/fontconfig-user.pdf differ
index 8f49f78..e065ff7 100644 (file)
@@ -322,8 +322,8 @@ 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&gt;</literal>'',
-where <literal>&lt;version&gt;</literal> is the font configuration file
-version number (currently 5).
+where <literal>&lt;version&gt;</literal> is the fontconfig cache file
+version number (currently 7).
   </para></refsect2>
   <refsect2><title><literal>&lt;include ignore_missing="no" prefix="default"&gt;</literal></title><para>
 This element contains the name of an additional configuration file or
@@ -791,6 +791,10 @@ is used to output the detailed debugging messages. see <link linkend="debug">Deb
 is used to filter out the patterns. this takes a comma-separated list of object names and effects only when FC_DEBUG has MATCH2. see <link linkend="debug">Debugging Applications</link> section for more details.
   </para>
   <para>
+<emphasis>FC_LANG</emphasis>
+is used to specify the default language as the weak binding in the query. if this isn't set, the default language will be determined from current locale.
+  </para>
+  <para>
 <emphasis>FONTCONFIG_USE_MMAP</emphasis>
 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.
   </para>
index d3e294f..3e4a10b 100644 (file)
@@ -307,8 +307,8 @@ Configuration File Format
    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 configuration file version number
-   (currently 5).
+   <version> is the fontconfig cache file version number
+   (currently 7).
 
 <include ignore_missing="no" prefix="default">
 
@@ -817,6 +817,10 @@ Environment variables
    when FC_DEBUG has MATCH2. see Debugging Applications section
    for more details.
 
+   FC_LANG is used to specify the default language as the weak
+   binding in the query. if this isn't set, the default language
+   will be determined from current locale.
+
    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
@@ -830,4 +834,4 @@ See Also
 
 Version
 
-   Fontconfig version 2.12.1
+   Fontconfig version 2.13.0
index 197b70c..f7887d2 100644 (file)
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FONTS-CONF" "5" "05 8月 2016" "" ""
+.TH "FONTS-CONF" "5" "06 3月 2018" "" ""
 .SH NAME
 fonts.conf \- Font configuration files
 .SH SYNOPSIS
@@ -287,8 +287,8 @@ 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 configuration file
-version number (currently 5).
+where <version> is the fontconfig cache file
+version number (currently 7).
 .SS "<INCLUDE IGNORE_MISSING=""NO"" PREFIX=""DEFAULT"">"
 .PP
 This element contains the name of an additional configuration file or
@@ -744,6 +744,9 @@ is used to output the detailed debugging messages. see Debugging Applications se
 \fBFC_DBG_MATCH_FILTER\fR
 is used to filter out the patterns. this takes a comma-separated list of object names and effects only when FC_DEBUG has MATCH2. see Debugging Applications section for more details.
 .PP
+\fBFC_LANG\fR
+is used to specify the default language as the weak binding in the query. if this isn't set, the default language will be determined from current locale.
+.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"
@@ -751,4 +754,4 @@ is used to control the use of mmap(2) for the cache files if available. this tak
 fc-cat(1), fc-cache(1), fc-list(1), fc-match(1), fc-query(1)
 .SH "VERSION"
 .PP
-Fontconfig version 2.12.1
+Fontconfig version 2.13.0
diff --git a/fc-blanks/Makefile.am b/fc-blanks/Makefile.am
deleted file mode 100644 (file)
index 2b2075f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# -*- 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.
-
-NULL =
-BLANKSPY = fc-blanks.py
-BLANKS_H = fcblanks.h
-TMPL = fcblanks.tmpl.h
-noinst_SCRIPTS = $(BLANKSPY)
-noinst_HEADERS = $(BLANKS_H)
-
-$(BLANKS_H): $(TMPL) $(BLANKSPY)
-if HAVE_PYTHON
-       $(AM_V_GEN) $(PYTHON) $(srcdir)/$(BLANKSPY) < $< > $(BLANKS_H).tmp && \
-       mv $(BLANKS_H).tmp $(BLANKS_H) || ($(RM) $(BLANKS_H).tmp && false)
-else
-       @echo "No python installed. please install python to build $(BLANKS_H)."
-       @false
-endif
-
-EXTRA_DIST =           \
-       $(BLANKSPY)     \
-       $(BLANKS_H)     \
-       $(TMPL)         \
-       $(NULL)
-DISTCLEANFILES = $(BLANKS_H)
-
--include $(top_srcdir)/git.mk
diff --git a/fc-blanks/fc-blanks.py b/fc-blanks/fc-blanks.py
deleted file mode 100755 (executable)
index cc23cde..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-#! /usr/bin/python
-
-from __future__ import absolute_import
-from __future__ import print_function
-try:
-    from urllib2 import urlopen
-    from urllib2 import URLError
-except ImportError:
-    from urllib.request import urlopen
-    from urllib.error import URLError
-
-import sys
-import os
-from lxml import html
-from six.moves import range
-
-datafile = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'list-unicodeset.html')
-try:
-    fp = 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()
-    fp = open(datafile, 'wb');
-    fp.write(data);
-    fp.close();
-except URLError:
-    # fall back reading the static data in repo
-    try:
-        fp = open(datafile)
-        data = fp.read()
-        fp.close()
-    except IOError:
-        sys.stderr.write("Error: No static data to generate the blank data. please make sure the network connection is reachable to Unicode.org\n")
-        sys.exit(1)
-
-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, end=' ')
-        k += 1
-
-print("};")
-print('''
-static FcBlanks fcBlanks = {
-    %s,
-    -1,
-    _fcBlanks
-};
-''' % (ncode + 1))
diff --git a/fc-blanks/fcblanks.h b/fc-blanks/fcblanks.h
deleted file mode 100644 (file)
index 51ba34d..0000000
+++ /dev/null
@@ -1,4223 +0,0 @@
-/*
- * 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
deleted file mode 100644 (file)
index 2bcaa21..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.
- */
-
-@@@
index 7865c0d..8f3b88a 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -118,10 +118,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -270,7 +275,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -282,8 +291,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -295,11 +308,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -319,15 +337,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -335,8 +351,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -383,13 +405,9 @@ 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@
index 0336073..dc93c19 100644 (file)
 #undef STRICT
 #endif
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
 #ifndef O_BINARY
 #define O_BINARY 0
 #endif
@@ -87,34 +95,34 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-EfrsvVh] [-y SYSROOT] [--error-on-no-fonts] [--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 [-EfrsvVh] [-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, _("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");
-    fprintf (file, "  -y, --sysroot=SYSROOT    prepend SYSROOT to all paths for scanning\n");
-    fprintf (file, "  -v, --verbose            display status information while busy\n");
-    fprintf (file, "  -V, --version            display font config version and exit\n");
-    fprintf (file, "  -h, --help               display this help and exit\n");
+    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"));
+    fprintf (file, _("  -y, --sysroot=SYSROOT    prepend SYSROOT to all paths for scanning\n"));
+    fprintf (file, _("  -v, --verbose            display status information while busy\n"));
+    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");
-    fprintf (file, "  -y SYSROOT (sysroot) prepend SYSROOT to all paths for scanning\n");
-    fprintf (file, "  -v         (verbose) display status information while busy\n");
-    fprintf (file, "  -V         (version) display font config version and exit\n");
-    fprintf (file, "  -h         (help)    display this help and exit\n");
+    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"));
+    fprintf (file, _("  -y SYSROOT (sysroot) prepend SYSROOT to all paths for scanning\n"));
+    fprintf (file, _("  -v         (verbose) display status information while busy\n"));
+    fprintf (file, _("  -V         (version) display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)    display this help and exit\n"));
 #endif
     exit (error);
 }
@@ -151,7 +159,7 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
        if (FcStrSetMember (processed_dirs, dir))
        {
            if (verbose)
-               printf ("skipping, looped directory detected\n");
+               printf (_("skipping, looped directory detected\n"));
            continue;
        }
 
@@ -161,7 +169,7 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
            case ENOENT:
            case ENOTDIR:
                if (verbose)
-                   printf ("skipping, no such directory\n");
+                   printf (_("skipping, no such directory\n"));
                break;
            default:
                fprintf (stderr, "\"%s\": ", dir);
@@ -174,13 +182,16 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
 
        if (!S_ISDIR (statb.st_mode))
        {
-           fprintf (stderr, "\"%s\": not a directory, skipping\n", dir);
+           fprintf (stderr, _("\"%s\": not a directory, skipping\n"), dir);
            continue;
        }
        was_processed = FcTrue;
 
        if (really_force)
+       {
            FcDirCacheUnlink (dir, config);
+           FcDirCacheCreateUUID ((FcChar8 *) dir, FcTrue, config);
+       }
 
        cache = NULL;
        was_valid = FcFalse;
@@ -196,7 +207,7 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
            cache = FcDirCacheRead (dir, FcTrue, config);
            if (!cache)
            {
-               fprintf (stderr, "%s: error scanning\n", dir);
+               fprintf (stderr, _("\"%s\": scanning error\n"), dir);
                ret++;
                continue;
            }
@@ -205,18 +216,18 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
        if (was_valid)
        {
            if (verbose)
-               printf ("skipping, existing cache is valid: %d fonts, %d dirs\n",
+               printf (_("skipping, existing cache is valid: %d fonts, %d dirs\n"),
                        FcCacheNumFont (cache), FcCacheNumSubdir (cache));
        }
        else
        {
            if (verbose)
-               printf ("caching, new cache contents: %d fonts, %d dirs\n", 
+               printf (_("caching, new cache contents: %d fonts, %d dirs\n"),
                        FcCacheNumFont (cache), FcCacheNumSubdir (cache));
 
            if (!FcDirCacheValid (dir))
            {
-               fprintf (stderr, "%s: failed to write cache\n", dir);
+               fprintf (stderr, _("%s: failed to write cache\n"), dir);
                (void) FcDirCacheUnlink (dir, config);
                ret++;
            }
@@ -225,7 +236,7 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
        subdirs = FcStrSetCreate ();
        if (!subdirs)
        {
-           fprintf (stderr, "%s: Can't create subdir set\n", dir);
+           fprintf (stderr, _("%s: Can't create subdir set\n"), dir);
            ret++;
            FcDirCacheUnload (cache);
            continue;
@@ -239,7 +250,7 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
        FcStrSetDestroy (subdirs);
        if (!sublist)
        {
-           fprintf (stderr, "%s: Can't create subdir list\n", dir);
+           fprintf (stderr, _("%s: Can't create subdir list\n"), dir);
            ret++;
            continue;
        }
@@ -314,7 +325,7 @@ main (int argc, char **argv)
            sysroot = FcStrCopy ((const FcChar8 *)optarg);
            break;
        case 'V':
-           fprintf (stderr, "fontconfig version %d.%d.%d\n", 
+           fprintf (stderr, "fontconfig version %d.%d.%d\n",
                     FC_MAJOR, FC_MINOR, FC_REVISION);
            exit (0);
        case 'v':
@@ -345,7 +356,7 @@ main (int argc, char **argv)
     }
     if (!config)
     {
-       fprintf (stderr, "%s: Can't init font config library\n", argv[0]);
+       fprintf (stderr, _("%s: Can't initialize font config library\n"), argv[0]);
        return 1;
     }
     FcConfigSetCurrent (config);
@@ -355,7 +366,7 @@ main (int argc, char **argv)
        dirs = FcStrSetCreate ();
        if (!dirs)
        {
-           fprintf (stderr, "%s: Can't create list of directories\n",
+           fprintf (stderr, _("%s: Can't create list of directories\n"),
                     argv[0]);
            return 1;
        }
@@ -363,7 +374,7 @@ main (int argc, char **argv)
        {
            if (!FcStrSetAddFilename (dirs, (FcChar8 *) argv[i]))
            {
-               fprintf (stderr, "%s: Can't add directory\n", argv[0]);
+               fprintf (stderr, _("%s: Can't add directory\n"), argv[0]);
                return 1;
            }
            i++;
@@ -372,10 +383,10 @@ main (int argc, char **argv)
        FcStrSetDestroy (dirs);
     }
     else
-       list = FcConfigGetConfigDirs (config);
+       list = FcConfigGetFontDirs (config);
 
     if ((processed_dirs = FcStrSetCreate()) == NULL) {
-       fprintf(stderr, "Cannot malloc\n");
+       fprintf(stderr, _("Out of Memory\n"));
        return 1;
     }
 
@@ -407,6 +418,6 @@ main (int argc, char **argv)
     if (changed)
        sleep (2);
     if (verbose)
-       printf ("%s: %s\n", argv[0], ret ? "failed" : "succeeded");
+       printf ("%s: %s\n", argv[0], ret ? _("failed") : _("succeeded"));
     return ret;
 }
index c2a1984..da345dd 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -143,10 +143,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -236,7 +241,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -248,8 +257,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -261,11 +274,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -285,15 +303,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -301,8 +317,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -349,13 +371,9 @@ 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@
index 0d505e8..35c0502 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -118,10 +118,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -270,7 +275,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -282,8 +291,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -295,11 +308,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -319,15 +337,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -335,8 +351,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -383,13 +405,9 @@ 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@
index f0131b6..dfe30d7 100644 (file)
 #include <sys/stat.h>
 #include <errno.h>
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
 #ifndef HAVE_GETOPT
 #define HAVE_GETOPT 0
 #endif
@@ -148,27 +156,27 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-rv] [--recurse] [--verbose] [*-%s" FC_CACHE_SUFFIX "|directory]...\n",
+    fprintf (file, _("usage: %s [-rv] [--recurse] [--verbose] [*-%s" FC_CACHE_SUFFIX "|directory]...\n"),
             program, FC_ARCHITECTURE);
     fprintf (file, "       %s [-Vh] [--version] [--help]\n", program);
 #else
-    fprintf (file, "usage: %s [-rvVh] [*-%s" FC_CACHE_SUFFIX "|directory]...\n",
+    fprintf (file, _("usage: %s [-rvVh] [*-%s" FC_CACHE_SUFFIX "|directory]...\n"),
             program, FC_ARCHITECTURE);
 #endif
-    fprintf (file, "Reads font information cache from:\n");
-    fprintf (file, " 1) specified fontconfig cache file\n");
-    fprintf (file, " 2) related to a particular font directory\n");
+    fprintf (file, _("Reads font information cache from:\n"));
+    fprintf (file, _(" 1) specified fontconfig cache file\n"));
+    fprintf (file, _(" 2) related to a particular font directory\n"));
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
-    fprintf (file, "  -r, --recurse        recurse into subdirectories\n");
-    fprintf (file, "  -v, --verbose        be verbose\n");
-    fprintf (file, "  -V, --version        display font config version and exit\n");
-    fprintf (file, "  -h, --help           display this help and exit\n");
+    fprintf (file, _("  -r, --recurse        recurse into subdirectories\n"));
+    fprintf (file, _("  -v, --verbose        be verbose\n"));
+    fprintf (file, _("  -V, --version        display font config version and exit\n"));
+    fprintf (file, _("  -h, --help           display this help and exit\n"));
 #else
-    fprintf (file, "  -r         (recurse) recurse into subdirectories\n");
-    fprintf (file, "  -v         (verbose) be verbose\n");
-    fprintf (file, "  -V         (version) display font config version and exit\n");
-    fprintf (file, "  -h         (help)    display this help and exit\n");
+    fprintf (file, _("  -r         (recurse) recurse into subdirectories\n"));
+    fprintf (file, _("  -v         (verbose) be verbose\n"));
+    fprintf (file, _("  -V         (version) display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)    display this help and exit\n"));
 #endif
     exit (error);
 }
@@ -294,7 +302,7 @@ main (int argc, char **argv)
     config = FcInitLoadConfig ();
     if (!config)
     {
-       fprintf (stderr, "%s: Can't init font config library\n", argv[0]);
+       fprintf (stderr, _("%s: Can't initialize font config library\n"), argv[0]);
        return 1;
     }
     FcConfigSetCurrent (config);
@@ -303,7 +311,7 @@ main (int argc, char **argv)
     args = FcStrSetCreate ();
     if (!args)
     {
-       fprintf (stderr, "%s: malloc failure\n", argv[0]);
+       fprintf (stderr, _("%s: malloc failure\n"), argv[0]);
        return 1;
     }
     if (i < argc)
@@ -312,7 +320,7 @@ main (int argc, char **argv)
        {
            if (!FcStrSetAddFilename (args, (const FcChar8 *) argv[i]))
            {
-               fprintf (stderr, "%s: malloc failure\n", argv[0]);
+               fprintf (stderr, _("%s: malloc failure\n"), argv[0]);
                return 1;
            }
        }
@@ -324,7 +332,7 @@ main (int argc, char **argv)
        while ((arg = FcStrListNext (arglist)))
            if (!FcStrSetAdd (args, arg))
            {
-               fprintf (stderr, "%s: malloc failure\n", argv[0]);
+               fprintf (stderr, _("%s: malloc failure\n"), argv[0]);
                return 1;
            }
        FcStrListDone (arglist);
@@ -332,7 +340,7 @@ main (int argc, char **argv)
     arglist = FcStrListCreate (args);
     if (!arglist)
     {
-       fprintf (stderr, "%s: malloc failure\n", argv[0]);
+       fprintf (stderr, _("%s: malloc failure\n"), argv[0]);
        return 1;
     }
     FcStrSetDestroy (args);
@@ -342,14 +350,19 @@ main (int argc, char **argv)
        int         j;
        FcChar8     *cache_file = NULL;
        struct stat file_stat;
-       
+
+       /* reset errno */
+       errno = 0;
        if (FcFileIsDir (arg))
            cache = FcDirCacheLoad (arg, config, &cache_file);
        else
            cache = FcDirCacheLoadFile (arg, &file_stat);
        if (!cache)
        {
-           perror ((char *) arg);
+           if (errno != 0)
+               perror ((char *) arg);
+           else
+               fprintf (stderr, "%s: Unable to load the cache: %s\n", argv[0], arg);
            ret++;
            continue;
        }
@@ -367,7 +380,7 @@ main (int argc, char **argv)
        {
            if (!first)
                printf ("\n");
-           printf ("Directory: %s\nCache: %s\n--------\n",
+           printf (_("Directory: %s\nCache: %s\n--------\n"),
                    FcCacheDir(cache), cache_file ? cache_file : arg);
            first = FcFalse;
        }
diff --git a/fc-conflist/Makefile.am b/fc-conflist/Makefile.am
new file mode 100644 (file)
index 0000000..6938ca7
--- /dev/null
@@ -0,0 +1,60 @@
+#
+#  fontconfig/fc-conflist/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.
+
+bin_PROGRAMS=fc-conflist
+
+DOC2MAN = docbook2man
+
+FC_VALIDATE_SRC=${top_srcdir}/fc-conflist
+
+SGML = ${FC_VALIDATE_SRC}/fc-conflist.sgml
+
+AM_CPPFLAGS=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+
+BUILT_MANS=fc-conflist.1
+
+if ENABLE_DOCS
+man_MANS=${BUILT_MANS}
+endif
+
+EXTRA_DIST=fc-conflist.sgml $(BUILT_MANS)
+
+CLEANFILES =
+
+fc_conflist_LDADD = ${top_builddir}/src/libfontconfig.la $(FREETYPE_LIBS)
+
+if USEDOCBOOK
+
+${man_MANS}: ${SGML}
+       $(AM_V_GEN) $(RM) $@; \
+       $(DOC2MAN) ${SGML}; \
+       $(RM) manpage.*
+
+all-local: $(man_MANS)
+
+CLEANFILES += $(man_MANS)
+else
+all-local:
+endif
+
+-include $(top_srcdir)/git.mk
similarity index 53%
rename from fc-glyphname/Makefile.in
rename to fc-conflist/Makefile.in
index 0df1c18..2087171 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 @SET_MAKE@
 
-# -*- encoding: utf-8 -*-
 #
-# Copyright © 2003  Keith Packard
-# Copyright © 2013  Google, Inc.
+#  fontconfig/fc-conflist/Makefile.am
 #
-# 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.
+#  Copyright © 2003 Keith Packard
 #
-# 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.
+#  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.
 #
-# 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
+#  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 = { \
@@ -138,23 +111,40 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-subdir = fc-glyphname
+bin_PROGRAMS = fc-conflist$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = $(man_MANS)
+subdir = fc-conflist
 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
-       $(am__DIST_COMMON)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 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_conflist_SOURCES = fc-conflist.c
+fc_conflist_OBJECTS = fc-conflist.$(OBJEXT)
+am__DEPENDENCIES_1 =
+fc_conflist_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
@@ -167,14 +157,65 @@ 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 =
+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-conflist.c
+DIST_SOURCES = fc-conflist.c
 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__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
@@ -194,7 +235,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Tools.mk
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -236,7 +277,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -248,8 +293,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -261,11 +310,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -285,15 +339,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -301,8 +353,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -349,13 +407,9 @@ 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@
@@ -364,37 +418,20 @@ 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
+DOC2MAN = docbook2man
+FC_VALIDATE_SRC = ${top_srcdir}/fc-conflist
+SGML = ${FC_VALIDATE_SRC}/fc-conflist.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+BUILT_MANS = fc-conflist.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-conflist.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_conflist_LDADD = ${top_builddir}/src/libfontconfig.la $(FREETYPE_LIBS)
+all: all-am
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/Tools.mk $(am__configure_deps)
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -403,9 +440,9 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/Tools.mk $(am__confi
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-glyphname/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-conflist/Makefile'; \
        $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu fc-glyphname/Makefile
+         $(AUTOMAKE) --gnu fc-conflist/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
@@ -414,7 +451,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            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 $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -424,12 +460,137 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(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-conflist$(EXEEXT): $(fc_conflist_OBJECTS) $(fc_conflist_DEPENDENCIES) $(EXTRA_fc_conflist_DEPENDENCIES) 
+       @rm -f fc-conflist$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(fc_conflist_OBJECTS) $(fc_conflist_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-conflist.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
@@ -514,12 +675,13 @@ distdir: $(DISTFILES)
          fi; \
        done
 check-am: all-am
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(HEADERS)
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
 installdirs:
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-am
+       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
@@ -550,15 +712,15 @@ distclean-generic:
 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
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
        -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-tags
 
 dvi: dvi-am
 
@@ -572,13 +734,13 @@ info: info-am
 
 info-am:
 
-install-data-am:
+install-data-am: install-man
 
 install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am:
+install-exec-am: install-binPROGRAMS
 
 install-html: install-html-am
 
@@ -588,7 +750,7 @@ install-info: install-info-am
 
 install-info-am:
 
-install-man:
+install-man: install-man1
 
 install-pdf: install-pdf-am
 
@@ -601,12 +763,14 @@ 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-generic mostlyclean-libtool
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
 
 pdf: pdf-am
 
@@ -616,37 +780,37 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am:
+uninstall-am: uninstall-binPROGRAMS uninstall-man
 
-.MAKE: all check install install-am install-strip
+uninstall-man: uninstall-man1
 
-.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 \
+.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-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
+       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
 
 .PRECIOUS: Makefile
 
 
-$(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 )
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@      $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@      $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@      $(RM) manpage.*
 
-$(ALIAS_FILES):
-       $(AM_V_GEN) touch $@
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
 
 -include $(top_srcdir)/git.mk
 
diff --git a/fc-conflist/fc-conflist.1 b/fc-conflist/fc-conflist.1
new file mode 100644 (file)
index 0000000..4657b4a
--- /dev/null
@@ -0,0 +1,31 @@
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-CONFLIST" "1" "Apr  1, 2014" "" ""
+.SH NAME
+fc-conflist \- Show the ruleset files information on the system
+.SH SYNOPSIS
+.sp
+\fBfc-conflist\fR [ \fB-Vh\fR ] 
+
+ [ \fB--version\fR ]  [ \fB--help\fR ] 
+.SH "DESCRIPTION"
+.PP
+\fBfc-conflist\fR shows the ruleset files' information
+being installed on the system.
+.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
+Show version of the program and exit.
+.TP
+\fB-h\fR
+Show summary of options.
+.SH "RETURN CODES"
+.PP
+\fBfc-conflist\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/fc-conflist/fc-conflist.c b/fc-conflist/fc-conflist.c
new file mode 100644 (file)
index 0000000..d02273b
--- /dev/null
@@ -0,0 +1,142 @@
+/*
+ * fontconfig/fc-conflist/fc-conflist.c
+ *
+ * Copyright © 2003 Keith Packard
+ * Copyright © 2014 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#else
+#ifdef linux
+#define HAVE_GETOPT_LONG 1
+#endif
+#define HAVE_GETOPT 1
+#endif
+
+#include <fontconfig/fontconfig.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
+#ifndef HAVE_GETOPT
+#define HAVE_GETOPT 0
+#endif
+#ifndef HAVE_GETOPT_LONG
+#define HAVE_GETOPT_LONG 0
+#endif
+
+#if HAVE_GETOPT_LONG
+#undef  _GNU_SOURCE
+#define _GNU_SOURCE
+#include <getopt.h>
+static const struct option longopts[] = {
+    {"version", 0, 0, 'V'},
+    {"help", 0, 0, 'h'},
+    {NULL,0,0,0},
+};
+#else
+#if HAVE_GETOPT
+extern char *optarg;
+extern int optind, opterr, optopt;
+#endif
+#endif
+
+static void
+usage (char *program, int error)
+{
+    FILE *file = error ? stderr : stdout;
+#if HAVE_GETOPT_LONG
+    fprintf (file, _("usage: %s [-Vh] [--version] [--help]\n"),
+            program);
+#else
+    fprintf (file, _("usage: %s [-Vh]\n"),
+            program);
+#endif
+    fprintf (file, _("Show the ruleset files information on the system\n"));
+    fprintf (file, "\n");
+#if HAVE_GETOPT_LONG
+    fprintf (file, _("  -V, --version        display font config version and exit\n"));
+    fprintf (file, _("  -h, --help           display this help and exit\n"));
+#else
+    fprintf (file, _("  -V         (version)      display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)         display this help and exit\n"));
+#endif
+    exit (error);
+}
+
+int
+main (int argc, char **argv)
+{
+    FcConfig *config;
+    FcConfigFileInfoIter iter;
+
+#if HAVE_GETOPT_LONG || HAVE_GETOPT
+    int                c;
+
+#if HAVE_GETOPT_LONG
+    while ((c = getopt_long (argc, argv, "Vh", longopts, NULL)) != -1)
+#else
+    while ((c = getopt (argc, argv, "Vh")) != -1)
+#endif
+    {
+       switch (c) {
+       case 'V':
+           fprintf (stderr, "fontconfig version %d.%d.%d\n",
+                    FC_MAJOR, FC_MINOR, FC_REVISION);
+           exit (0);
+       case 'h':
+           usage (argv[0], 0);
+       default:
+           usage (argv[0], 1);
+       }
+    }
+#endif
+
+    config = FcConfigGetCurrent ();
+    FcConfigFileInfoIterInit (config, &iter);
+    do
+    {
+       FcChar8 *name, *desc;
+       FcBool enabled;
+
+       if (FcConfigFileInfoIterGet (config, &iter, &name, &desc, &enabled))
+       {
+           printf ("%c %s: %s\n", enabled ? '+' : '-', name, desc);
+           FcStrFree (name);
+           FcStrFree (desc);
+       }
+    } while (FcConfigFileInfoIterNext (config, &iter));
+
+    FcFini ();
+
+    return 0;
+}
diff --git a/fc-conflist/fc-conflist.sgml b/fc-conflist/fc-conflist.sgml
new file mode 100644 (file)
index 0000000..a82dd1c
--- /dev/null
@@ -0,0 +1,135 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+       docbook-to-man $< > $@
+
+
+       The docbook-to-man binary is found in the docbook-to-man package.
+       Please remember that if you create the nroff version in one of the
+       debian/rules file targets (such as build), you will need to include
+       docbook-to-man in your Build-Depends control field.
+
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>Akira</firstname>">
+  <!ENTITY dhsurname   "<surname>TAGOH</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>Apr  1, 2014</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
+  <!ENTITY dhemail     "<email>akira@tagoh.org</email>">
+  <!ENTITY dhusername  "Akira TAGOH">
+  <!ENTITY dhucpackage "<refentrytitle>fc-conflist</refentrytitle>">
+  <!ENTITY dhpackage   "fc-conflist">
+
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2014</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>Show the ruleset files information on the system</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-Vh</option></arg>
+      <sbr>
+      <arg><option>--version</option></arg>
+      <arg><option>--help</option></arg>
+
+     </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para><command>&dhpackage;</command> shows the ruleset files' information
+      being installed on the system.</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>This program follows the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-V</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of the program and exit.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>RETURN CODES</title>
+    <para><command>fc-conflist</command> returns error code 0 for successful parsing,
+    or 1 if any errors occured or if at least one font face could not be opened.</para>
+  </refsect1>
+
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was updated by &dhusername; &dhemail;.</para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/fc-glyphname/Makefile.am b/fc-glyphname/Makefile.am
deleted file mode 100644 (file)
index 1272567..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# -*- 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
-
-TAG = glyphname
-DEPS = $(srcdir)/zapfdingbats.txt
-ARGS = $(srcdir)/zapfdingbats.txt
-DIST = $(srcdir)/zapfdingbats.txt
-
-include $(top_srcdir)/Tools.mk
-
--include $(top_srcdir)/git.mk
diff --git a/fc-glyphname/fc-glyphname.c b/fc-glyphname/fc-glyphname.c
deleted file mode 100644 (file)
index 078490a..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * fontconfig/fc-glyphname/fc-glyphname.c
- *
- * 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.
- */
-
-#include "fcint.h"
-
-static int
-rawindex (const FcGlyphName *gn);
-
-static void
-scan (FILE *f, char *filename);
-
-static int
-isprime (int i);
-
-static void
-find_hash (void);
-
-static FcChar32
-FcHashGlyphName (const FcChar8 *name);
-
-static void
-insert (FcGlyphName *gn, FcGlyphName **table, FcChar32 h);
-
-static void
-dump (FcGlyphName * const *table, const char *name);
-
-static FcGlyphName *
-FcAllocGlyphName (FcChar32 ucs, FcChar8 *name)
-{
-    FcGlyphName        *gn;
-
-    gn = malloc (sizeof (FcGlyphName) + strlen ((char *) name));
-    if (!gn)
-       return 0;
-    gn->ucs = ucs;
-    strcpy ((char *) gn->name, (char *) name);
-    return gn;
-}
-
-static void
-fatal (const char *file, int lineno, const char *msg)
-{
-    if (lineno)
-        fprintf (stderr, "%s:%d: %s\n", file, lineno, msg);
-    else
-       fprintf (stderr, "%s: %s\n", file, msg);
-
-    exit (1);
-}
-
-#define MAX_GLYPHFILE      256
-#define MAX_GLYPHNAME      10240
-#define MAX_NAMELEN        1024
-
-static FcGlyphName *raw[MAX_GLYPHNAME];
-static int         nraw;
-static int         max_name_len;
-static FcGlyphName *name_to_ucs[MAX_GLYPHNAME*2];
-static FcGlyphName *ucs_to_name[MAX_GLYPHNAME*2];
-static unsigned int hash, rehash;
-
-static int
-rawindex (const FcGlyphName *gn)
-{
-    int        i;
-
-    for (i = 0; i < nraw; i++)
-       if (raw[i] == gn)
-           return i;
-    return -1;
-}
-
-static void
-scan (FILE *f, char *filename)
-{
-    char           buf[MAX_NAMELEN];
-    char           name[MAX_NAMELEN];
-    unsigned long   ucs;
-    FcGlyphName            *gn;
-    int                    lineno = 0;
-    int                    len;
-
-    while (fgets (buf, sizeof (buf), f))
-    {
-       lineno++;
-       if (sscanf (buf, "%[^;];%lx\n", name, &ucs) != 2)
-           continue;
-       gn = FcAllocGlyphName ((FcChar32) ucs, (FcChar8 *) name);
-       if (!gn)
-           fatal (filename, lineno, "out of memory");
-       len = strlen (name);
-       if (len > max_name_len)
-           max_name_len = len;
-       raw[nraw++] = gn;
-    }
-}
-
-static int compare_string (const void *a, const void *b)
-{
-    const char    *const *as = a, *const *bs = b;
-    return strcmp (*as, *bs);
-}
-
-static int compare_glyphname (const void *a, const void *b)
-{
-    const FcGlyphName  *const *ag = a, *const *bg = b;
-
-    return strcmp ((char *) (*ag)->name, (char *) (*bg)->name);
-}
-
-static int
-isqrt (int a)
-{
-    int            l, h, m;
-
-    l = 2;
-    h = a/2;
-    while ((h-l) > 1)
-    {
-       m = (h+l) >> 1;
-       if (m * m < a)
-           l = m;
-       else
-           h = m;
-    }
-    return h;
-}
-
-static int
-isprime (int i)
-{
-    int        l, t;
-
-    if (i < 2)
-       return FcFalse;
-    if ((i & 1) == 0)
-    {
-       if (i == 2)
-           return FcTrue;
-       return FcFalse;
-    }
-    l = isqrt (i) + 1;
-    for (t = 3; t <= l; t += 2)
-       if (i % t == 0)
-           return 0;
-    return 1;
-}
-
-/*
- * Find a prime pair that leaves at least 25% of the hash table empty
- */
-
-static void
-find_hash (void)
-{
-    int        h;
-
-    h = nraw + nraw / 4;
-    if ((h & 1) == 0)
-       h++;
-    while (!isprime(h-2) || !isprime(h))
-       h += 2;
-    hash = h;
-    rehash = h-2;
-}
-
-static FcChar32
-FcHashGlyphName (const FcChar8 *name)
-{
-    FcChar32   h = 0;
-    FcChar8    c;
-
-    while ((c = *name++))
-    {
-       h = ((h << 1) | (h >> 31)) ^ c;
-    }
-    return h;
-}
-
-static void
-insert (FcGlyphName *gn, FcGlyphName **table, FcChar32 h)
-{
-    unsigned int       i, r = 0;
-
-    i = (int) (h % hash);
-    while (table[i])
-    {
-       if (!r) r = (h % rehash + 1);
-       i += r;
-       if (i >= hash)
-           i -= hash;
-    }
-    table[i] = gn;
-}
-
-static void
-dump (FcGlyphName * const *table, const char *name)
-{
-    unsigned int           i;
-
-    printf ("static const FcGlyphId %s[%d] = {\n", name, hash);
-
-    for (i = 0; i < hash; i++)
-       if (table[i])
-           printf ("    %d,\n", rawindex(table[i]));
-       else
-           printf ("    -1,\n");
-
-    printf ("};\n");
-}
-
-int
-main (int argc FC_UNUSED, char **argv)
-{
-    char       *files[MAX_GLYPHFILE + 1];
-    char       line[1024];
-    FILE       *f;
-    int                i;
-    const char *type;
-
-    i = 0;
-    while (argv[i+1])
-    {
-       if (i == MAX_GLYPHFILE)
-           fatal (*argv, 0, "Too many glyphname files");
-       files[i] = argv[i+1];
-       i++;
-    }
-    files[i] = 0;
-    qsort (files, i, sizeof (char *), compare_string);
-    for (i = 0; files[i]; i++)
-    {
-       f = fopen (files[i], "r");
-       if (!f)
-           fatal (files[i], 0, strerror (errno));
-       scan (f, files[i]);
-       fclose (f);
-    }
-    qsort (raw, nraw, sizeof (FcGlyphName *), compare_glyphname);
-
-    find_hash ();
-
-    for (i = 0; i < nraw; i++)
-    {
-       insert (raw[i], name_to_ucs, FcHashGlyphName (raw[i]->name));
-       insert (raw[i], ucs_to_name, raw[i]->ucs);
-    }
-
-    /*
-     * Scan the input until the marker is found
-     */
-
-    while (fgets (line, sizeof (line), stdin))
-    {
-       if (!strncmp (line, "@@@", 3))
-           break;
-       fputs (line, stdout);
-    }
-
-    printf ("/* %d glyphnames in %d entries, %d%% occupancy */\n\n",
-           nraw, hash, nraw * 100 / hash);
-
-    printf ("#define FC_GLYPHNAME_HASH %u\n", hash);
-    printf ("#define FC_GLYPHNAME_REHASH %u\n", rehash);
-    printf ("#define FC_GLYPHNAME_MAXLEN %d\n\n", max_name_len);
-    if (nraw < 128)
-       type = "int8_t";
-    else if (nraw < 32768)
-       type = "int16_t";
-    else
-       type = "int32_t";
-
-    printf ("typedef %s FcGlyphId;\n\n", type);
-
-    /*
-     * Dump out entries
-     */
-
-    printf ("static const struct { const FcChar32 ucs; const FcChar8 name[%d]; } _fc_glyph_names[%d] = {\n",
-           max_name_len + 1, nraw);
-
-    for (i = 0; i < nraw; i++)
-       printf ("    { 0x%lx, \"%s\" },\n",
-               (unsigned long) raw[i]->ucs, raw[i]->name);
-
-    printf ("};\n");
-
-    /*
-     * Dump out name_to_ucs table
-     */
-
-    dump (name_to_ucs, "_fc_name_to_ucs");
-
-    /*
-     * Dump out ucs_to_name table
-     */
-    dump (ucs_to_name, "_fc_ucs_to_name");
-
-    while (fgets (line, sizeof (line), stdin))
-       fputs (line, stdout);
-
-    fflush (stdout);
-    exit (ferror (stdout));
-}
diff --git a/fc-glyphname/fcglyphname.h b/fc-glyphname/fcglyphname.h
deleted file mode 100644 (file)
index f9e5343..0000000
+++ /dev/null
@@ -1,781 +0,0 @@
-/*
- * 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-glyphname/fcglyphname.tmpl.h b/fc-glyphname/fcglyphname.tmpl.h
deleted file mode 100644 (file)
index d4f8a95..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.
- */
-
-@@@
diff --git a/fc-glyphname/zapfdingbats.txt b/fc-glyphname/zapfdingbats.txt
deleted file mode 100644 (file)
index bcad2e2..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-# Name:          ITC Zapf Dingbats Glyph List
-# Table version: 2.0
-# Date:          September 20, 2002
-#
-# See http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
-#
-# Format: Semicolon-delimited fields:
-#            (1) glyph name
-#            (2) Unicode scalar value
-#
-a100;275E
-a101;2761
-a102;2762
-a103;2763
-a104;2764
-a105;2710
-a106;2765
-a107;2766
-a108;2767
-a109;2660
-a10;2721
-a110;2665
-a111;2666
-a112;2663
-a117;2709
-a118;2708
-a119;2707
-a11;261B
-a120;2460
-a121;2461
-a122;2462
-a123;2463
-a124;2464
-a125;2465
-a126;2466
-a127;2467
-a128;2468
-a129;2469
-a12;261E
-a130;2776
-a131;2777
-a132;2778
-a133;2779
-a134;277A
-a135;277B
-a136;277C
-a137;277D
-a138;277E
-a139;277F
-a13;270C
-a140;2780
-a141;2781
-a142;2782
-a143;2783
-a144;2784
-a145;2785
-a146;2786
-a147;2787
-a148;2788
-a149;2789
-a14;270D
-a150;278A
-a151;278B
-a152;278C
-a153;278D
-a154;278E
-a155;278F
-a156;2790
-a157;2791
-a158;2792
-a159;2793
-a15;270E
-a160;2794
-a161;2192
-a162;27A3
-a163;2194
-a164;2195
-a165;2799
-a166;279B
-a167;279C
-a168;279D
-a169;279E
-a16;270F
-a170;279F
-a171;27A0
-a172;27A1
-a173;27A2
-a174;27A4
-a175;27A5
-a176;27A6
-a177;27A7
-a178;27A8
-a179;27A9
-a17;2711
-a180;27AB
-a181;27AD
-a182;27AF
-a183;27B2
-a184;27B3
-a185;27B5
-a186;27B8
-a187;27BA
-a188;27BB
-a189;27BC
-a18;2712
-a190;27BD
-a191;27BE
-a192;279A
-a193;27AA
-a194;27B6
-a195;27B9
-a196;2798
-a197;27B4
-a198;27B7
-a199;27AC
-a19;2713
-a1;2701
-a200;27AE
-a201;27B1
-a202;2703
-a203;2750
-a204;2752
-a205;276E
-a206;2770
-a20;2714
-a21;2715
-a22;2716
-a23;2717
-a24;2718
-a25;2719
-a26;271A
-a27;271B
-a28;271C
-a29;2722
-a2;2702
-a30;2723
-a31;2724
-a32;2725
-a33;2726
-a34;2727
-a35;2605
-a36;2729
-a37;272A
-a38;272B
-a39;272C
-a3;2704
-a40;272D
-a41;272E
-a42;272F
-a43;2730
-a44;2731
-a45;2732
-a46;2733
-a47;2734
-a48;2735
-a49;2736
-a4;260E
-a50;2737
-a51;2738
-a52;2739
-a53;273A
-a54;273B
-a55;273C
-a56;273D
-a57;273E
-a58;273F
-a59;2740
-a5;2706
-a60;2741
-a61;2742
-a62;2743
-a63;2744
-a64;2745
-a65;2746
-a66;2747
-a67;2748
-a68;2749
-a69;274A
-a6;271D
-a70;274B
-a71;25CF
-a72;274D
-a73;25A0
-a74;274F
-a75;2751
-a76;25B2
-a77;25BC
-a78;25C6
-a79;2756
-a7;271E
-a81;25D7
-a82;2758
-a83;2759
-a84;275A
-a85;276F
-a86;2771
-a87;2772
-a88;2773
-a89;2768
-a8;271F
-a90;2769
-a91;276C
-a92;276D
-a93;276A
-a94;276B
-a95;2774
-a96;2775
-a97;275B
-a98;275C
-a99;275D
-a9;2720
-#-- end
index 6f76ee0..5fdccea 100644 (file)
@@ -280,7 +280,9 @@ ORTH = \
        brx.orth \
        sat.orth \
        doi.orth \
-       mni.orth
+       mni.orth \
+       und_zsye.orth \
+       und_zmth.orth
 #      ^-------------- Add new orth files here
 
 -include $(top_srcdir)/git.mk
index e70f94a..5b3895b 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -143,10 +143,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -236,7 +241,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -248,8 +257,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -261,11 +274,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -285,15 +303,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -301,8 +317,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -349,13 +371,9 @@ 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@
@@ -641,7 +659,9 @@ ORTH = \
        brx.orth \
        sat.orth \
        doi.orth \
-       mni.orth
+       mni.orth \
+       und_zsye.orth \
+       und_zmth.orth
 
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-am
index 38fc697..4a650e0 100644 (file)
@@ -174,6 +174,11 @@ scan (FILE *f, char *file, FcCharSetFreezer *freezer)
            if (sscanf (line, "%x-%x", &start, &end) != 2)
                fatal (file, lineno, "parse error");
        }
+       else if (strstr (line, ".."))
+       {
+           if (sscanf (line, "%x..%x", &start, &end) != 2)
+               fatal (file, lineno, "parse error");
+       }
        else
        {
            if (sscanf (line, "%x", &start) != 1)
@@ -561,6 +566,9 @@ main (int argc FC_UNUSED, char **argv)
        while (setRangeChar <= c && c <= 'z')
            setRangeStart[setRangeChar++ - 'a'] = i;
     }
+    while (setRangeChar <= 'z') /* no language code starts with these letters */
+       setRangeStart[setRangeChar++ - 'a'] = i;
+
     for (setRangeChar = 'a'; setRangeChar < 'z'; setRangeChar++)
        setRangeEnd[setRangeChar - 'a'] = setRangeStart[setRangeChar+1-'a'] - 1;
     setRangeEnd[setRangeChar - 'a'] = i - 1;
index 9a49913..7b080ab 100644 (file)
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* total size: 1087 unique leaves: 702 */
+/* total size: 1111 unique leaves: 725 */
 
-#define LEAF0       (244 * sizeof (FcLangCharSet))
-#define OFF0        (LEAF0 + 702 * sizeof (FcCharLeaf))
-#define NUM0        (OFF0 + 755 * sizeof (uintptr_t))
+#define LEAF0       (246 * sizeof (FcLangCharSet))
+#define OFF0        (LEAF0 + 725 * sizeof (FcCharLeaf))
+#define NUM0        (OFF0 + 779 * 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 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];
+    FcLangCharSet  langCharSets[246];
+    FcCharLeaf     leaves[725];
+    uintptr_t      leaf_offsets[779];
+    FcChar16       numbers[779];
+    FcChar8        langIndices[246];
+    FcChar8        langIndicesInv[246];
 } fcLangData = {
 {
     { "aa",  { FC_REF_CONSTANT, 1, OFF(0,0), NUM(0,0) } }, /* 0 */
@@ -267,27 +267,29 @@ static const struct {
     { "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 */
+    { "und-zmth",  { FC_REF_CONSTANT, 12, OFF(223,400), NUM(223,400) } }, /* 223 */
+    { "und-zsye",  { FC_REF_CONSTANT, 12, OFF(224,412), NUM(224,412) } }, /* 224 */
+    { "ur",  { FC_REF_CONSTANT, 1, OFF(225,287), NUM(225,287) } }, /* 225 */
+    { "uz",  { FC_REF_CONSTANT, 1, OFF(226,87), NUM(226,87) } }, /* 226 */
+    { "ve",  { FC_REF_CONSTANT, 2, OFF(227,424), NUM(227,424) } }, /* 227 */
+    { "vi",  { FC_REF_CONSTANT, 4, OFF(228,426), NUM(228,426) } }, /* 228 */
+    { "vo",  { FC_REF_CONSTANT, 1, OFF(229,430), NUM(229,430) } }, /* 229 */
+    { "vot",  { FC_REF_CONSTANT, 2, OFF(230,431), NUM(230,431) } }, /* 230 */
+    { "wa",  { FC_REF_CONSTANT, 1, OFF(231,433), NUM(231,433) } }, /* 231 */
+    { "wal",  { FC_REF_CONSTANT, 2, OFF(232,367), NUM(232,367) } }, /* 232 */
+    { "wen",  { FC_REF_CONSTANT, 2, OFF(233,434), NUM(233,434) } }, /* 233 */
+    { "wo",  { FC_REF_CONSTANT, 2, OFF(234,436), NUM(234,436) } }, /* 234 */
+    { "xh",  { FC_REF_CONSTANT, 1, OFF(235,87), NUM(235,87) } }, /* 235 */
+    { "yap",  { FC_REF_CONSTANT, 1, OFF(236,438), NUM(236,438) } }, /* 236 */
+    { "yi",  { FC_REF_CONSTANT, 1, OFF(237,108), NUM(237,108) } }, /* 237 */
+    { "yo",  { FC_REF_CONSTANT, 4, OFF(238,439), NUM(238,439) } }, /* 238 */
+    { "za",  { FC_REF_CONSTANT, 1, OFF(239,87), NUM(239,87) } }, /* 239 */
+    { "zh-cn",  { FC_REF_CONSTANT, 82, OFF(240,443), NUM(240,443) } }, /* 240 */
+    { "zh-hk",  { FC_REF_CONSTANT, 171, OFF(241,525), NUM(241,525) } }, /* 241 */
+    { "zh-mo",  { FC_REF_CONSTANT, 171, OFF(242,525), NUM(242,525) } }, /* 242 */
+    { "zh-sg",  { FC_REF_CONSTANT, 82, OFF(243,443), NUM(243,443) } }, /* 243 */
+    { "zh-tw",  { FC_REF_CONSTANT, 83, OFF(244,696), NUM(244,696) } }, /* 244 */
+    { "zu",  { FC_REF_CONSTANT, 1, OFF(245,87), NUM(245,87) } }, /* 245 */
 },
 {
     { { /* 0 */
@@ -1707,1394 +1709,1486 @@ static const struct {
     0x00030000, 0x00000000, 0x00000000, 0x00000000,
     } },
     { { /* 354 */
+    0x00000000, 0xffffff7b, 0x7fffffff, 0x7ffffffe,
+    0x00000000, 0x80e310fe, 0x00800000, 0x00800000,
+    } },
+    { { /* 355 */
+    0x00000000, 0x00020000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 356 */
+    0x00001500, 0x01000000, 0x00000000, 0x00000000,
+    0xfffe0000, 0xfffe03db, 0x006003fb, 0x00030000,
+    } },
+    { { /* 357 */
+    0x00400000, 0x00000047, 0x00800010, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000002,
+    } },
+    { { /* 358 */
+    0x3f2fc004, 0x00000010, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 359 */
+    0xe3ffbfff, 0xfff007ff, 0x00000001, 0x00000000,
+    0xfffff000, 0x0000003f, 0x0000e10f, 0x00000000,
+    } },
+    { { /* 360 */
+    0x00000f00, 0x0000000c, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 361 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000003, 0x00000000, 0x00000000,
+    } },
+    { { /* 362 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000003c0,
+    } },
+    { { /* 363 */
+    0xffffffff, 0xffffffff, 0xffdfffff, 0xffffffff,
+    0xdfffffff, 0x00001e64, 0x00000000, 0x00000000,
+    } },
+    { { /* 364 */
+    0x00000000, 0x78000000, 0x0001fc5f, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 365 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000030, 0x00000000, 0x00000000,
+    } },
+    { { /* 366 */
+    0x0c000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00091e00,
+    } },
+    { { /* 367 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x60000000,
+    } },
+    { { /* 368 */
+    0x00300000, 0x00000000, 0x000fff00, 0x80000000,
+    0x00080000, 0x60000c02, 0x00104030, 0x242c0400,
+    } },
+    { { /* 369 */
+    0x00000c20, 0x00000100, 0x00b85000, 0x00000000,
+    0x00e00000, 0x80010000, 0x00000000, 0x00000000,
+    } },
+    { { /* 370 */
+    0x18000000, 0x00000000, 0x00210000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 371 */
+    0x00000010, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00008000, 0x00000000,
+    } },
+    { { /* 372 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x07fe4000, 0x00000000, 0x00000000, 0xffffffc0,
+    } },
+    { { /* 373 */
+    0x04000002, 0x077c8000, 0x00030000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 374 */
+    0xffffffff, 0xffbf0001, 0xffffffff, 0x1fffffff,
+    0x000fffff, 0xffffffff, 0x000007df, 0x0001ffff,
+    } },
+    { { /* 375 */
+    0x00000000, 0x00000000, 0xfffffffd, 0xffffffff,
+    0xffffffff, 0xffffffff, 0xffffffff, 0x1effffff,
+    } },
+    { { /* 376 */
+    0xffffffff, 0x3fffffff, 0xffff0000, 0x000000ff,
+    0x00000000, 0x00000000, 0x00000000, 0xf8000000,
+    } },
+    { { /* 377 */
+    0x755dfffe, 0xffef2f3f, 0x0000ffe1, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 378 */
     0x000c0000, 0x30000000, 0x00000c30, 0x00030000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 355 */
+    { { /* 379 */
     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
     0x00000000, 0x00000000, 0x263c370f, 0x263c370f,
     } },
-    { { /* 356 */
+    { { /* 380 */
     0x0003000c, 0x00000300, 0x00000000, 0x00000300,
     0x00000000, 0x00018003, 0x00000000, 0x00000000,
     } },
-    { { /* 357 */
+    { { /* 381 */
     0x0800024f, 0x00000008, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 358 */
+    { { /* 382 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xffffffff, 0xffffffff, 0x03ffffff,
     } },
-    { { /* 359 */
+    { { /* 383 */
     0x00000000, 0x00000000, 0x077dfffe, 0x077dfffe,
     0x00000000, 0x00000000, 0x10400010, 0x10400010,
     } },
-    { { /* 360 */
+    { { /* 384 */
     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
     0x00000000, 0x00000000, 0x10400010, 0x10400010,
     } },
-    { { /* 361 */
+    { { /* 385 */
     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
     0x00000000, 0x00000000, 0x081047a4, 0x081047a4,
     } },
-    { { /* 362 */
+    { { /* 386 */
     0x0c0030c0, 0x00000000, 0x0f30001e, 0x66000003,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 363 */
+    { { /* 387 */
     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
     0x00000000, 0x00000000, 0x000a0a09, 0x000a0a09,
     } },
-    { { /* 364 */
+    { { /* 388 */
     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
     0x00000000, 0x00000000, 0x00400810, 0x00400810,
     } },
-    { { /* 365 */
+    { { /* 389 */
     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
     0x00000000, 0x00000000, 0x0e3c770f, 0x0e3c770f,
     } },
-    { { /* 366 */
+    { { /* 390 */
     0x0c000000, 0x00000300, 0x00000018, 0x00000300,
     0x00000000, 0x00000000, 0x001fe000, 0x03000000,
     } },
-    { { /* 367 */
+    { { /* 391 */
     0x0000100f, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 368 */
+    { { /* 392 */
     0x00000000, 0xc0000000, 0x00000000, 0x0000000c,
     0x00000000, 0x33000000, 0x00003000, 0x00000000,
     } },
-    { { /* 369 */
+    { { /* 393 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000280, 0x00000000,
     } },
-    { { /* 370 */
+    { { /* 394 */
     0x7f7b7f8b, 0xef553db4, 0xf35dfba8, 0x400b0243,
     0x8d3efb40, 0x8c2c7bf7, 0xe3fa6eff, 0xa8ed1d3a,
     } },
-    { { /* 371 */
+    { { /* 395 */
     0xcf83e602, 0x35558cf5, 0xffabe048, 0xd85992b9,
     0x2892ab18, 0x8020d7e9, 0xf583c438, 0x450ae74a,
     } },
-    { { /* 372 */
+    { { /* 396 */
     0x9714b000, 0x54007762, 0x1420d188, 0xc8c01020,
     0x00002121, 0x0c0413a8, 0x04408000, 0x082870c0,
     } },
-    { { /* 373 */
+    { { /* 397 */
     0x000408c0, 0x80000002, 0x14722b7b, 0x3bfb7924,
     0x1ae43327, 0x38ef9835, 0x28029ad1, 0xbf69a813,
     } },
-    { { /* 374 */
+    { { /* 398 */
     0x2fc665cf, 0xafc96b11, 0x5053340f, 0xa00486a2,
     0xe8090106, 0xc00e3f0f, 0x81450a88, 0xc6010010,
     } },
-    { { /* 375 */
+    { { /* 399 */
     0x26e1a161, 0xce00444b, 0xd4eec7aa, 0x85bbcadf,
     0xa5203a74, 0x8840436c, 0x8bd23f06, 0x3befff79,
     } },
-    { { /* 376 */
+    { { /* 400 */
     0xe8eff75a, 0x5b36fbcb, 0x1bfd0d49, 0x39ee0154,
     0x2e75d855, 0xa91abfd8, 0xf6bff3d7, 0xb40c67e0,
     } },
-    { { /* 377 */
+    { { /* 401 */
     0x081382c2, 0xd08bd49d, 0x1061065a, 0x59e074f2,
     0xb3128f9f, 0x6aaa0080, 0xb05e3230, 0x60ac9d7a,
     } },
-    { { /* 378 */
+    { { /* 402 */
     0xc900d303, 0x8a563098, 0x13907000, 0x18421f14,
     0x0008c060, 0x10808008, 0xec900400, 0xe6332817,
     } },
-    { { /* 379 */
+    { { /* 403 */
     0x90000758, 0x4e09f708, 0xfc83f485, 0x18c8af53,
     0x080c187c, 0x01146adf, 0xa734c80c, 0x2710a011,
     } },
-    { { /* 380 */
+    { { /* 404 */
     0x422228c5, 0x00210413, 0x41123010, 0x40001820,
     0xc60c022b, 0x10000300, 0x00220022, 0x02495810,
     } },
-    { { /* 381 */
+    { { /* 405 */
     0x9670a094, 0x1792eeb0, 0x05f2cb96, 0x23580025,
     0x42cc25de, 0x4a04cf38, 0x359f0c40, 0x8a001128,
     } },
-    { { /* 382 */
+    { { /* 406 */
     0x910a13fa, 0x10560229, 0x04200641, 0x84f00484,
     0x0c040000, 0x412c0400, 0x11541206, 0x00020a4b,
     } },
-    { { /* 383 */
+    { { /* 407 */
     0x00c00200, 0x00940000, 0xbfbb0001, 0x242b167c,
     0x7fa89bbb, 0xe3790c7f, 0xe00d10f4, 0x9f014132,
     } },
-    { { /* 384 */
+    { { /* 408 */
     0x35728652, 0xff1210b4, 0x4223cf27, 0x8602c06b,
     0x1fd33106, 0xa1aa3a0c, 0x02040812, 0x08012572,
     } },
-    { { /* 385 */
+    { { /* 409 */
     0x485040cc, 0x601062d0, 0x29001c80, 0x00109a00,
     0x22000004, 0x00800000, 0x68002020, 0x609ecbe6,
     } },
-    { { /* 386 */
+    { { /* 410 */
     0x3f73916e, 0x398260c0, 0x48301034, 0xbd5c0006,
     0xd6fb8cd1, 0x43e820e1, 0x084e0600, 0xc4d00500,
     } },
-    { { /* 387 */
+    { { /* 411 */
     0x89aa8d1f, 0x1602a6e1, 0x21ed0001, 0x1a8b3656,
     0x13a51fb7, 0x30a06502, 0x23c7b278, 0xe9226c93,
     } },
-    { { /* 388 */
+    { { /* 412 */
     0x3a74e47f, 0x98208fe3, 0x2625280e, 0xbf49bf9c,
     0xac543218, 0x1916b949, 0xb5220c60, 0x0659fbc1,
     } },
-    { { /* 389 */
+    { { /* 413 */
     0x8420e343, 0x800008d9, 0x20225500, 0x00a10184,
     0x20104800, 0x40801380, 0x00160d04, 0x80200040,
     } },
-    { { /* 390 */
+    { { /* 414 */
     0x8de7fd40, 0xe0985436, 0x091e7b8b, 0xd249fec8,
     0x8dee0611, 0xba221937, 0x9fdd77f4, 0xf0daf3ec,
     } },
-    { { /* 391 */
+    { { /* 415 */
     0xec424386, 0x26048d3f, 0xc021fa6c, 0x0cc2628e,
     0x0145d785, 0x559977ad, 0x4045e250, 0xa154260b,
     } },
-    { { /* 392 */
+    { { /* 416 */
     0x58199827, 0xa4103443, 0x411405f2, 0x07002280,
     0x426600b4, 0x15a17210, 0x41856025, 0x00000054,
     } },
-    { { /* 393 */
+    { { /* 417 */
     0x01040201, 0xcb70c820, 0x6a629320, 0x0095184c,
     0x9a8b1880, 0x3201aab2, 0x00c4d87a, 0x04c3f3e5,
     } },
-    { { /* 394 */
+    { { /* 418 */
     0xa238d44d, 0x5072a1a1, 0x84fc980a, 0x44d1c152,
     0x20c21094, 0x42104180, 0x3a000000, 0xd29d0240,
     } },
-    { { /* 395 */
+    { { /* 419 */
     0xa8b12f01, 0x2432bd40, 0xd04bd34d, 0xd0ada723,
     0x75a10a92, 0x01e9adac, 0x771f801a, 0xa01b9225,
     } },
-    { { /* 396 */
+    { { /* 420 */
     0x20cadfa1, 0x738c0602, 0x003b577f, 0x00d00bff,
     0x0088806a, 0x0029a1c4, 0x05242a05, 0x16234009,
     } },
-    { { /* 397 */
+    { { /* 421 */
     0x80056822, 0xa2112011, 0x64900004, 0x13824849,
     0x193023d5, 0x08922980, 0x88115402, 0xa0042001,
     } },
-    { { /* 398 */
+    { { /* 422 */
     0x81800400, 0x60228502, 0x0b010090, 0x12020022,
     0x00834011, 0x00001a01, 0x00000000, 0x00000000,
     } },
-    { { /* 399 */
+    { { /* 423 */
     0x00000000, 0x4684009f, 0x020012c8, 0x1a0004fc,
     0x0c4c2ede, 0x80b80402, 0x0afca826, 0x22288c02,
     } },
-    { { /* 400 */
+    { { /* 424 */
     0x8f7ba0e0, 0x2135c7d6, 0xf8b106c7, 0x62550713,
     0x8a19936e, 0xfb0e6efa, 0x48f91630, 0x7debcd2f,
     } },
-    { { /* 401 */
+    { { /* 425 */
     0x4e845892, 0x7a2e4ca0, 0x561eedea, 0x1190c649,
     0xe83a5324, 0x8124cfdb, 0x634218f1, 0x1a8a5853,
     } },
-    { { /* 402 */
+    { { /* 426 */
     0x24d37420, 0x0514aa3b, 0x89586018, 0xc0004800,
     0x91018268, 0x2cd684a4, 0xc4ba8886, 0x02100377,
     } },
-    { { /* 403 */
+    { { /* 427 */
     0x00388244, 0x404aae11, 0x510028c0, 0x15146044,
     0x10007310, 0x02480082, 0x40060205, 0x0000c003,
     } },
-    { { /* 404 */
+    { { /* 428 */
     0x0c020000, 0x02200008, 0x40009000, 0xd161b800,
     0x32744621, 0x3b8af800, 0x8b00050f, 0x2280bbd0,
     } },
-    { { /* 405 */
+    { { /* 429 */
     0x07690600, 0x00438040, 0x50005420, 0x250c41d0,
     0x83108410, 0x02281101, 0x00304008, 0x020040a1,
     } },
-    { { /* 406 */
+    { { /* 430 */
     0x20000040, 0xabe31500, 0xaa443180, 0xc624c2c6,
     0x8004ac13, 0x03d1b000, 0x4285611e, 0x1d9ff303,
     } },
-    { { /* 407 */
+    { { /* 431 */
     0x78e8440a, 0xc3925e26, 0x00852000, 0x4000b001,
     0x88424a90, 0x0c8dca04, 0x4203a705, 0x000422a1,
     } },
-    { { /* 408 */
+    { { /* 432 */
     0x0c018668, 0x10795564, 0xdea00002, 0x40c12000,
     0x5001488b, 0x04000380, 0x50040000, 0x80d0c05d,
     } },
-    { { /* 409 */
+    { { /* 433 */
     0x970aa010, 0x4dafbb20, 0x1e10d921, 0x83140460,
     0xa6d68848, 0x733fd83b, 0x497427bc, 0x92130ddc,
     } },
-    { { /* 410 */
+    { { /* 434 */
     0x8ba1142b, 0xd1392e75, 0x50503009, 0x69008808,
     0x024a49d4, 0x80164010, 0x89d7e564, 0x5316c020,
     } },
-    { { /* 411 */
+    { { /* 435 */
     0x86002b92, 0x15e0a345, 0x0c03008b, 0xe200196e,
     0x80067031, 0xa82916a5, 0x18802000, 0xe1487aac,
     } },
-    { { /* 412 */
+    { { /* 436 */
     0xb5d63207, 0x5f9132e8, 0x20e550a1, 0x10807c00,
     0x9d8a7280, 0x421f00aa, 0x02310e22, 0x04941100,
     } },
-    { { /* 413 */
+    { { /* 437 */
     0x40080022, 0x5c100010, 0xfcc80343, 0x0580a1a5,
     0x04008433, 0x6e080080, 0x81262a4b, 0x2901aad8,
     } },
-    { { /* 414 */
+    { { /* 438 */
     0x4490684d, 0xba880009, 0x00820040, 0x87d10000,
     0xb1e6215b, 0x80083161, 0xc2400800, 0xa600a069,
     } },
-    { { /* 415 */
+    { { /* 439 */
     0x4a328d58, 0x550a5d71, 0x2d579aa0, 0x4aa64005,
     0x30b12021, 0x01123fc6, 0x260a10c2, 0x50824462,
     } },
-    { { /* 416 */
+    { { /* 440 */
     0x80409880, 0x810004c0, 0x00002003, 0x38180000,
     0xf1a60200, 0x720e4434, 0x92e035a2, 0x09008101,
     } },
-    { { /* 417 */
+    { { /* 441 */
     0x00000400, 0x00008885, 0x00000000, 0x00804000,
     0x00000000, 0x00004040, 0x00000000, 0x00000000,
     } },
-    { { /* 418 */
+    { { /* 442 */
     0x00000000, 0x08000000, 0x00000082, 0x00000000,
     0x88000004, 0xe7efbfff, 0xffbfffff, 0xfdffefef,
     } },
-    { { /* 419 */
+    { { /* 443 */
     0xbffefbff, 0x057fffff, 0x85b30034, 0x42164706,
     0xe4105402, 0xb3058092, 0x81305422, 0x180b4263,
     } },
-    { { /* 420 */
+    { { /* 444 */
     0x13f5387b, 0xa9ea07e5, 0x05143c4c, 0x80020600,
     0xbd481ad9, 0xf496ee37, 0x7ec0705f, 0x355fbfb2,
     } },
-    { { /* 421 */
+    { { /* 445 */
     0x455fe644, 0x41469000, 0x063b1d40, 0xfe1362a1,
     0x39028505, 0x0c080548, 0x0000144f, 0x58183488,
     } },
-    { { /* 422 */
+    { { /* 446 */
     0xd8153077, 0x4bfbbd0e, 0x85008a90, 0xe61dc100,
     0xb386ed14, 0x639bff72, 0xd9befd92, 0x0a92887b,
     } },
-    { { /* 423 */
+    { { /* 447 */
     0x1cb2d3fe, 0x177ab980, 0xdc1782c9, 0x3980fffb,
     0x590c4260, 0x37df0f01, 0xb15094a3, 0x23070623,
     } },
-    { { /* 424 */
+    { { /* 448 */
     0x3102f85a, 0x310201f0, 0x1e820040, 0x056a3a0a,
     0x12805b84, 0xa7148002, 0xa04b2612, 0x90011069,
     } },
-    { { /* 425 */
+    { { /* 449 */
     0x848a1000, 0x3f801802, 0x42400708, 0x4e140110,
     0x180080b0, 0x0281c510, 0x10298202, 0x88000210,
     } },
-    { { /* 426 */
+    { { /* 450 */
     0x00420020, 0x11000280, 0x4413e000, 0xfe025804,
     0x30283c07, 0x04739798, 0xcb13ced1, 0x431f6210,
     } },
-    { { /* 427 */
+    { { /* 451 */
     0x55ac278d, 0xc892422e, 0x02885380, 0x78514039,
     0x8088292c, 0x2428b900, 0x080e0c41, 0x42004421,
     } },
-    { { /* 428 */
+    { { /* 452 */
     0x08680408, 0x12040006, 0x02903031, 0xe0855b3e,
     0x10442936, 0x10822814, 0x83344266, 0x531b013c,
     } },
-    { { /* 429 */
+    { { /* 453 */
     0x0e0d0404, 0x00510c22, 0xc0000012, 0x88000040,
     0x0000004a, 0x00000000, 0x5447dff6, 0x00088868,
     } },
-    { { /* 430 */
+    { { /* 454 */
     0x00000081, 0x40000000, 0x00000100, 0x02000000,
     0x00080600, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 431 */
+    { { /* 455 */
     0x00000080, 0x00000040, 0x00000000, 0x00001040,
     0x00000000, 0xf7fdefff, 0xfffeff7f, 0xfffffbff,
     } },
-    { { /* 432 */
+    { { /* 456 */
     0xbffffdff, 0x00ffffff, 0x042012c2, 0x07080c06,
     0x01101624, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 433 */
+    { { /* 457 */
     0xe0000000, 0xfffffffe, 0x7f79ffff, 0x00f928df,
     0x80120c32, 0xd53a0008, 0xecc2d858, 0x2fa89d18,
     } },
-    { { /* 434 */
+    { { /* 458 */
     0xe0109620, 0x2622d60c, 0x02060f97, 0x9055b240,
     0x501180a2, 0x04049800, 0x00004000, 0x00000000,
     } },
-    { { /* 435 */
+    { { /* 459 */
     0x00000000, 0x00000000, 0x00000000, 0xfffffbc0,
     0xdffbeffe, 0x62430b08, 0xfb3b41b6, 0x23896f74,
     } },
-    { { /* 436 */
+    { { /* 460 */
     0xecd7ae7f, 0x5960e047, 0x098fa096, 0xa030612c,
     0x2aaa090d, 0x4f7bd44e, 0x388bc4b2, 0x6110a9c6,
     } },
-    { { /* 437 */
+    { { /* 461 */
     0x42000014, 0x0202800c, 0x6485fe48, 0xe3f7d63e,
     0x0c073aa0, 0x0430e40c, 0x1002f680, 0x00000000,
     } },
-    { { /* 438 */
+    { { /* 462 */
     0x00000000, 0x00000000, 0x00000000, 0x00100000,
     0x00004000, 0x00004000, 0x00000100, 0x00000000,
     } },
-    { { /* 439 */
+    { { /* 463 */
     0x00000000, 0x40000000, 0x00000000, 0x00000400,
     0x00008000, 0x00000000, 0x00400400, 0x00000000,
     } },
-    { { /* 440 */
+    { { /* 464 */
     0x00000000, 0x40000000, 0x00000000, 0x00000800,
     0xfebdffe0, 0xffffffff, 0xfbe77f7f, 0xf7ffffbf,
     } },
-    { { /* 441 */
+    { { /* 465 */
     0xefffffff, 0xdff7ff7e, 0xfbdff6f7, 0x804fbffe,
     0x00000000, 0x00000000, 0x00000000, 0x7fffef00,
     } },
-    { { /* 442 */
+    { { /* 466 */
     0xb6f7ff7f, 0xb87e4406, 0x88313bf5, 0x00f41796,
     0x1391a960, 0x72490080, 0x0024f2f3, 0x42c88701,
     } },
-    { { /* 443 */
+    { { /* 467 */
     0x5048e3d3, 0x43052400, 0x4a4c0000, 0x10580227,
     0x01162820, 0x0014a809, 0x00000000, 0x00683ec0,
     } },
-    { { /* 444 */
+    { { /* 468 */
     0x00000000, 0x00000000, 0x00000000, 0xffe00000,
     0xfddbb7ff, 0x000000f7, 0xc72e4000, 0x00000180,
     } },
-    { { /* 445 */
+    { { /* 469 */
     0x00012000, 0x00004000, 0x00300000, 0xb4f7ffa8,
     0x03ffadf3, 0x00000120, 0x00000000, 0x00000000,
     } },
-    { { /* 446 */
+    { { /* 470 */
     0x00000000, 0x00000000, 0x00000000, 0xfffbf000,
     0xfdcf9df7, 0x15c301bf, 0x810a1827, 0x0a00a842,
     } },
-    { { /* 447 */
+    { { /* 471 */
     0x80088108, 0x18048008, 0x0012a3be, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 448 */
+    { { /* 472 */
     0x00000000, 0x00000000, 0x00000000, 0x90000000,
     0xdc3769e6, 0x3dff6bff, 0xf3f9fcf8, 0x00000004,
     } },
-    { { /* 449 */
+    { { /* 473 */
     0x80000000, 0xe7eebf6f, 0x5da2dffe, 0xc00b3fd8,
     0xa00c0984, 0x69100040, 0xb912e210, 0x5a0086a5,
     } },
-    { { /* 450 */
+    { { /* 474 */
     0x02896800, 0x6a809005, 0x00030010, 0x80000000,
     0x8e001ff9, 0x00000001, 0x00000000, 0x00000000,
     } },
-    { { /* 451 */
+    { { /* 475 */
     0x00000080, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 452 */
+    { { /* 476 */
     0x00000000, 0x00000000, 0x00001000, 0x64080010,
     0x00480000, 0x10000020, 0x80000102, 0x08000010,
     } },
-    { { /* 453 */
+    { { /* 477 */
     0x00000040, 0x40000000, 0x00020000, 0x01852002,
     0x00800010, 0x80002022, 0x084444a2, 0x480e0000,
     } },
-    { { /* 454 */
+    { { /* 478 */
     0x04000200, 0x02202008, 0x80004380, 0x04000000,
     0x00000002, 0x12231420, 0x2058003a, 0x00200060,
     } },
-    { { /* 455 */
+    { { /* 479 */
     0x10002508, 0x040d0028, 0x00000009, 0x00008004,
     0x00800000, 0x42000001, 0x00000000, 0x09040000,
     } },
-    { { /* 456 */
+    { { /* 480 */
     0x02008000, 0x01402001, 0x00000000, 0x00000008,
     0x00000000, 0x00000001, 0x00021008, 0x04000000,
     } },
-    { { /* 457 */
+    { { /* 481 */
     0x00100100, 0x80040080, 0x00002000, 0x00000008,
     0x08040601, 0x01000012, 0x10000000, 0x49001024,
     } },
-    { { /* 458 */
+    { { /* 482 */
     0x0180004a, 0x00100600, 0x50840800, 0x000000c0,
     0x00800000, 0x20000800, 0x40000000, 0x08050000,
     } },
-    { { /* 459 */
+    { { /* 483 */
     0x02004000, 0x02000804, 0x01000004, 0x18060001,
     0x02400001, 0x40000002, 0x20800014, 0x000c1000,
     } },
-    { { /* 460 */
+    { { /* 484 */
     0x00222000, 0x00000000, 0x00100000, 0x00000000,
     0x00000000, 0x00000000, 0x10422800, 0x00000800,
     } },
-    { { /* 461 */
+    { { /* 485 */
     0x20080000, 0x00040000, 0x80025040, 0x20208604,
     0x00028020, 0x80102020, 0x080820c0, 0x10880800,
     } },
-    { { /* 462 */
+    { { /* 486 */
     0x00000000, 0x00000000, 0x00200109, 0x00100000,
     0x00000000, 0x81022700, 0x40c21404, 0x84010882,
     } },
-    { { /* 463 */
+    { { /* 487 */
     0x00004010, 0x00000000, 0x03000000, 0x00000008,
     0x00080000, 0x00000000, 0x10800001, 0x06002020,
     } },
-    { { /* 464 */
+    { { /* 488 */
     0x00000010, 0x02000000, 0x00880020, 0x00008424,
     0x00000000, 0x88000000, 0x81000100, 0x04000000,
     } },
-    { { /* 465 */
+    { { /* 489 */
     0x00004218, 0x00040000, 0x00000000, 0x80005080,
     0x00010000, 0x00040000, 0x08008000, 0x02008000,
     } },
-    { { /* 466 */
+    { { /* 490 */
     0x00020000, 0x00000000, 0x00000001, 0x04000401,
     0x00100000, 0x12200004, 0x00000000, 0x18100000,
     } },
-    { { /* 467 */
+    { { /* 491 */
     0x00000000, 0x00000800, 0x00000000, 0x00004000,
     0x00800000, 0x04000000, 0x82000002, 0x00042000,
     } },
-    { { /* 468 */
+    { { /* 492 */
     0x00080006, 0x00000000, 0x00000000, 0x04000000,
     0x80008000, 0x00810001, 0xa0000000, 0x00100410,
     } },
-    { { /* 469 */
+    { { /* 493 */
     0x00400218, 0x88084080, 0x00260008, 0x00800404,
     0x00000020, 0x00000000, 0x00000000, 0x00000200,
     } },
-    { { /* 470 */
+    { { /* 494 */
     0x00a08048, 0x00000000, 0x08000000, 0x04000000,
     0x00000000, 0x00000000, 0x00018000, 0x00200000,
     } },
-    { { /* 471 */
+    { { /* 495 */
     0x01000000, 0x00000000, 0x00000000, 0x10000000,
     0x00000000, 0x00000000, 0x00200000, 0x00102000,
     } },
-    { { /* 472 */
+    { { /* 496 */
     0x00000801, 0x00000000, 0x00000000, 0x00020000,
     0x08000000, 0x00002000, 0x20010000, 0x04002000,
     } },
-    { { /* 473 */
+    { { /* 497 */
     0x40000040, 0x50202400, 0x000a0020, 0x00040420,
     0x00000200, 0x00000080, 0x80000000, 0x00000020,
     } },
-    { { /* 474 */
+    { { /* 498 */
     0x20008000, 0x00200010, 0x00000000, 0x00000000,
     0x00400000, 0x01100000, 0x00020000, 0x80000010,
     } },
-    { { /* 475 */
+    { { /* 499 */
     0x02000000, 0x00801000, 0x00000000, 0x48058000,
     0x20c94000, 0x60000000, 0x00000001, 0x00000000,
     } },
-    { { /* 476 */
+    { { /* 500 */
     0x00004090, 0x48000000, 0x08000000, 0x28802000,
     0x00000002, 0x00014000, 0x00002000, 0x00002002,
     } },
-    { { /* 477 */
+    { { /* 501 */
     0x00010200, 0x00100000, 0x00000000, 0x00800000,
     0x10020000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 478 */
+    { { /* 502 */
     0x00000010, 0x00000402, 0x0c000000, 0x01000400,
     0x01000021, 0x00000000, 0x00004000, 0x00004000,
     } },
-    { { /* 479 */
+    { { /* 503 */
     0x00000000, 0x00800000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x02000020,
     } },
-    { { /* 480 */
+    { { /* 504 */
     0x00000100, 0x08000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00002000, 0x00000000,
     } },
-    { { /* 481 */
+    { { /* 505 */
     0x00006000, 0x00000000, 0x00000000, 0x00000400,
     0x04000040, 0x003c0180, 0x00000200, 0x00102000,
     } },
-    { { /* 482 */
+    { { /* 506 */
     0x00000800, 0x101000c0, 0x00800000, 0x00000000,
     0x00008000, 0x02200000, 0x00020020, 0x00000000,
     } },
-    { { /* 483 */
+    { { /* 507 */
     0x00000000, 0x01000000, 0x00000000, 0x20100000,
     0x00080000, 0x00000141, 0x02001002, 0x40400001,
     } },
-    { { /* 484 */
+    { { /* 508 */
     0x00580000, 0x00000002, 0x00003000, 0x00002400,
     0x00988000, 0x00040010, 0x00002800, 0x00000008,
     } },
-    { { /* 485 */
+    { { /* 509 */
     0x40080004, 0x00000020, 0x20080000, 0x02060a00,
     0x00010040, 0x14010200, 0x40800000, 0x08031000,
     } },
-    { { /* 486 */
+    { { /* 510 */
     0x40020020, 0x0000202c, 0x2014a008, 0x00000000,
     0x80040200, 0x82020012, 0x00400000, 0x20000000,
     } },
-    { { /* 487 */
+    { { /* 511 */
     0x00000000, 0x00000000, 0x00000004, 0x04000000,
     0x00000000, 0x00000000, 0x40800100, 0x00000000,
     } },
-    { { /* 488 */
+    { { /* 512 */
     0x00000008, 0x04000040, 0x00000001, 0x000c0200,
     0x00000000, 0x08000400, 0x00000000, 0x080c0001,
     } },
-    { { /* 489 */
+    { { /* 513 */
     0x00000400, 0x00000000, 0x00000000, 0x00200000,
     0x80000000, 0x00001000, 0x00000200, 0x01000800,
     } },
-    { { /* 490 */
+    { { /* 514 */
     0x00000000, 0x00000800, 0x00000000, 0x40000000,
     0x00000000, 0x00000000, 0x00000000, 0x04040000,
     } },
-    { { /* 491 */
+    { { /* 515 */
     0x00000000, 0x00000000, 0x00000040, 0x00002000,
     0xa0000000, 0x00000000, 0x08000008, 0x00080000,
     } },
-    { { /* 492 */
+    { { /* 516 */
     0x00000020, 0x00000000, 0x40000400, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00008000,
     } },
-    { { /* 493 */
+    { { /* 517 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000800, 0x00000000, 0x00000000, 0x00200000,
     } },
-    { { /* 494 */
+    { { /* 518 */
     0x00000000, 0x00000000, 0x00000000, 0x04000000,
     0x00000008, 0x00000000, 0x00010000, 0x1b000000,
     } },
-    { { /* 495 */
+    { { /* 519 */
     0x00007000, 0x00000000, 0x10000000, 0x00000000,
     0x00000000, 0x00000080, 0x80000000, 0x00000000,
     } },
-    { { /* 496 */
+    { { /* 520 */
     0x00000000, 0x00020000, 0x00000000, 0x00200000,
     0x40000000, 0x00000010, 0x00800000, 0x00000008,
     } },
-    { { /* 497 */
+    { { /* 521 */
     0x00000000, 0x00000000, 0x02000000, 0x20000010,
     0x00000080, 0x00000000, 0x00010000, 0x00000000,
     } },
-    { { /* 498 */
+    { { /* 522 */
     0x00000000, 0x02000000, 0x00000000, 0x00000000,
     0x20000000, 0x00000040, 0x00200028, 0x00000000,
     } },
-    { { /* 499 */
+    { { /* 523 */
     0x00000000, 0x00020000, 0x00000000, 0x02000000,
     0x00000000, 0x02000000, 0x40020000, 0x51000040,
     } },
-    { { /* 500 */
+    { { /* 524 */
     0x00000080, 0x04040000, 0x00000000, 0x10000000,
     0x00022000, 0x00100000, 0x20000000, 0x00000082,
     } },
-    { { /* 501 */
+    { { /* 525 */
     0x40000000, 0x00010000, 0x00002000, 0x00000000,
     0x00000240, 0x00000000, 0x00000000, 0x00000008,
     } },
-    { { /* 502 */
+    { { /* 526 */
     0x00000000, 0x00010000, 0x00000810, 0x00080880,
     0x00004000, 0x00000000, 0x00000000, 0x00020000,
     } },
-    { { /* 503 */
+    { { /* 527 */
     0x00000000, 0x00400020, 0x00000000, 0x00000082,
     0x00000000, 0x00020001, 0x00000000, 0x00000000,
     } },
-    { { /* 504 */
+    { { /* 528 */
     0x40000018, 0x00000004, 0x00000000, 0x00000000,
     0x01000000, 0x00400000, 0x00000000, 0x00000000,
     } },
-    { { /* 505 */
+    { { /* 529 */
     0x00000001, 0x00400000, 0x00000000, 0x00080002,
     0x00000400, 0x00040000, 0x00000000, 0x00000000,
     } },
-    { { /* 506 */
+    { { /* 530 */
     0x00000800, 0x00000800, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000100, 0x00000000,
     } },
-    { { /* 507 */
+    { { /* 531 */
     0x00000000, 0x00200000, 0x00000000, 0x04108000,
     0x00000000, 0x00000000, 0x00000000, 0x00000002,
     } },
-    { { /* 508 */
+    { { /* 532 */
     0x00000000, 0x02800000, 0x04000000, 0x00000000,
     0x00000000, 0x00000004, 0x00000000, 0x00000400,
     } },
-    { { /* 509 */
+    { { /* 533 */
     0x00000000, 0x00000000, 0x10000000, 0x00040000,
     0x00400000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 510 */
+    { { /* 534 */
     0x00200000, 0x00000200, 0x00000000, 0x10000000,
     0x00000000, 0x00000000, 0x2a000000, 0x00000000,
     } },
-    { { /* 511 */
+    { { /* 535 */
     0x00400000, 0x00000000, 0x00400000, 0x00000000,
     0x00000002, 0x40000000, 0x00000000, 0x00400000,
     } },
-    { { /* 512 */
+    { { /* 536 */
     0x40000000, 0x00001000, 0x00000000, 0x00000000,
     0x00000202, 0x02000000, 0x80000000, 0x00020000,
     } },
-    { { /* 513 */
+    { { /* 537 */
     0x00000020, 0x00000800, 0x00020421, 0x00020000,
     0x00000000, 0x00000000, 0x00000000, 0x00400000,
     } },
-    { { /* 514 */
+    { { /* 538 */
     0x00200000, 0x00000000, 0x00000001, 0x00000000,
     0x00000084, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 515 */
+    { { /* 539 */
     0x00000000, 0x00004400, 0x00000002, 0x00100000,
     0x00000000, 0x00000000, 0x00008200, 0x00000000,
     } },
-    { { /* 516 */
+    { { /* 540 */
     0x00000000, 0x12000000, 0x00000100, 0x00000001,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 517 */
+    { { /* 541 */
     0x00000020, 0x08100000, 0x000a0400, 0x00000081,
     0x00006000, 0x00120000, 0x00000000, 0x00000000,
     } },
-    { { /* 518 */
+    { { /* 542 */
     0x00000004, 0x08000000, 0x00004000, 0x044000c0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 519 */
+    { { /* 543 */
     0x40001000, 0x00000000, 0x01000001, 0x05000000,
     0x00080000, 0x02000000, 0x00000800, 0x00000000,
     } },
-    { { /* 520 */
+    { { /* 544 */
     0x00000100, 0x00000000, 0x00000000, 0x00000000,
     0x00002002, 0x01020000, 0x00800000, 0x00000000,
     } },
-    { { /* 521 */
+    { { /* 545 */
     0x00000040, 0x00004000, 0x01000000, 0x00000004,
     0x00020000, 0x00000000, 0x00000010, 0x00000000,
     } },
-    { { /* 522 */
+    { { /* 546 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00080000, 0x00010000, 0x30000300, 0x00000400,
     } },
-    { { /* 523 */
+    { { /* 547 */
     0x00000800, 0x02000000, 0x00000000, 0x00008000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 524 */
+    { { /* 548 */
     0x00200000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x000040c0, 0x00002200, 0x12002000,
     } },
-    { { /* 525 */
+    { { /* 549 */
     0x00000000, 0x00000020, 0x20000000, 0x00000000,
     0x00000200, 0x00080800, 0x1000a000, 0x00000000,
     } },
-    { { /* 526 */
+    { { /* 550 */
     0x00000000, 0x00000000, 0x00000000, 0x00004000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 527 */
+    { { /* 551 */
     0x00000000, 0x00000000, 0x00004280, 0x01000000,
     0x00800000, 0x00000008, 0x00000000, 0x00000000,
     } },
-    { { /* 528 */
+    { { /* 552 */
     0x00000000, 0x00000000, 0x00000000, 0x00000002,
     0x00000000, 0x20400000, 0x00000040, 0x00000000,
     } },
-    { { /* 529 */
+    { { /* 553 */
     0x00800080, 0x00800000, 0x00000000, 0x00000000,
     0x00000000, 0x00400020, 0x00000000, 0x00008000,
     } },
-    { { /* 530 */
+    { { /* 554 */
     0x01000000, 0x00000040, 0x00000000, 0x00400000,
     0x00000000, 0x00000440, 0x00000000, 0x00800000,
     } },
-    { { /* 531 */
+    { { /* 555 */
     0x01000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00080000, 0x00000000,
     } },
-    { { /* 532 */
+    { { /* 556 */
     0x01000000, 0x00000001, 0x00000000, 0x00020000,
     0x00000000, 0x20002000, 0x00000000, 0x00000004,
     } },
-    { { /* 533 */
+    { { /* 557 */
     0x00000008, 0x00100000, 0x00000000, 0x00010000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 534 */
+    { { /* 558 */
     0x00000004, 0x00008000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00008000,
     } },
-    { { /* 535 */
+    { { /* 559 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000040, 0x00000000, 0x00004000, 0x00000000,
     } },
-    { { /* 536 */
+    { { /* 560 */
     0x00000010, 0x00002000, 0x40000040, 0x00000000,
     0x10000000, 0x00000000, 0x00008080, 0x00000000,
     } },
-    { { /* 537 */
+    { { /* 561 */
     0x00000000, 0x00000000, 0x00000080, 0x00000000,
     0x00100080, 0x000000a0, 0x00000000, 0x00000000,
     } },
-    { { /* 538 */
+    { { /* 562 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00100000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 539 */
+    { { /* 563 */
     0x00000000, 0x00000000, 0x00001000, 0x00000000,
     0x0001000a, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 540 */
+    { { /* 564 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x08002000, 0x00000000,
     } },
-    { { /* 541 */
+    { { /* 565 */
     0x00000808, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 542 */
+    { { /* 566 */
     0x00004000, 0x00002400, 0x00008000, 0x40000000,
     0x00000001, 0x00002000, 0x04000000, 0x00040004,
     } },
-    { { /* 543 */
+    { { /* 567 */
     0x00000000, 0x00002000, 0x00000000, 0x00000000,
     0x00000000, 0x1c200000, 0x00000000, 0x02000000,
     } },
-    { { /* 544 */
+    { { /* 568 */
     0x00000000, 0x00080000, 0x00400000, 0x00000002,
     0x00000000, 0x00000100, 0x00000000, 0x00000000,
     } },
-    { { /* 545 */
+    { { /* 569 */
     0x00000000, 0x00000000, 0x00000000, 0x00400000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 546 */
+    { { /* 570 */
     0x00004100, 0x00000400, 0x20200010, 0x00004004,
     0x00000000, 0x42000000, 0x00000000, 0x00000000,
     } },
-    { { /* 547 */
+    { { /* 571 */
     0x00000080, 0x00000000, 0x00000121, 0x00000200,
     0x000000b0, 0x80002000, 0x00000000, 0x00010000,
     } },
-    { { /* 548 */
+    { { /* 572 */
     0x00000010, 0x000000c0, 0x08100000, 0x00000020,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 549 */
+    { { /* 573 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x02000000, 0x00000404, 0x00000000, 0x00000000,
     } },
-    { { /* 550 */
+    { { /* 574 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00400000, 0x00000008, 0x00000000, 0x00000000,
     } },
-    { { /* 551 */
+    { { /* 575 */
     0x00000000, 0x00000002, 0x00020000, 0x00002000,
     0x00000000, 0x00000000, 0x00000000, 0x00204000,
     } },
-    { { /* 552 */
+    { { /* 576 */
     0x00000000, 0x00100000, 0x00000000, 0x00000000,
     0x00000000, 0x00800000, 0x00000100, 0x00000001,
     } },
-    { { /* 553 */
+    { { /* 577 */
     0x10000000, 0x01000000, 0x00002400, 0x00000004,
     0x00000000, 0x00000000, 0x00000020, 0x00000002,
     } },
-    { { /* 554 */
+    { { /* 578 */
     0x00010000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 555 */
+    { { /* 579 */
     0x00000000, 0x00002400, 0x00000000, 0x00000000,
     0x00004802, 0x00000000, 0x00000000, 0x80022000,
     } },
-    { { /* 556 */
+    { { /* 580 */
     0x00001004, 0x04208000, 0x20000020, 0x00040000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 557 */
+    { { /* 581 */
     0x00000000, 0x00100000, 0x40010000, 0x00000000,
     0x00080000, 0x00000000, 0x00100211, 0x00000000,
     } },
-    { { /* 558 */
+    { { /* 582 */
     0x00001400, 0x00000000, 0x00000000, 0x00000000,
     0x00610000, 0x80008c00, 0x00000000, 0x00000000,
     } },
-    { { /* 559 */
+    { { /* 583 */
     0x00000100, 0x00000040, 0x00000000, 0x00000004,
     0x00004000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 560 */
+    { { /* 584 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000400, 0x00000000,
     } },
-    { { /* 561 */
+    { { /* 585 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000210, 0x00000000, 0x00000000,
     } },
-    { { /* 562 */
+    { { /* 586 */
     0x00000000, 0x00000020, 0x00000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 563 */
+    { { /* 587 */
     0x00004000, 0x00000000, 0x00000000, 0x02000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 564 */
+    { { /* 588 */
     0x00000000, 0x00000000, 0x00080002, 0x01000020,
     0x00400000, 0x00200000, 0x00008000, 0x00000000,
     } },
-    { { /* 565 */
+    { { /* 589 */
     0x00000000, 0x00020000, 0x00000000, 0xc0020000,
     0x10000000, 0x00000080, 0x00000000, 0x00000000,
     } },
-    { { /* 566 */
+    { { /* 590 */
     0x00000210, 0x00000000, 0x00001000, 0x04480000,
     0x20000000, 0x00000004, 0x00800000, 0x02000000,
     } },
-    { { /* 567 */
+    { { /* 591 */
     0x00000000, 0x08006000, 0x00001000, 0x00000000,
     0x00000000, 0x00100000, 0x00000000, 0x00000400,
     } },
-    { { /* 568 */
+    { { /* 592 */
     0x00100000, 0x00000000, 0x10000000, 0x08608000,
     0x00000000, 0x00000000, 0x00080002, 0x00000000,
     } },
-    { { /* 569 */
+    { { /* 593 */
     0x00000000, 0x20000000, 0x00008020, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 570 */
+    { { /* 594 */
     0x00000000, 0x00000000, 0x00000000, 0x10000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 571 */
+    { { /* 595 */
     0x00000000, 0x00100000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 572 */
+    { { /* 596 */
     0x00000000, 0x00000400, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 573 */
+    { { /* 597 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x02000000,
     } },
-    { { /* 574 */
+    { { /* 598 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000080, 0x00000000,
     } },
-    { { /* 575 */
+    { { /* 599 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000002, 0x00000000, 0x00000000,
     } },
-    { { /* 576 */
+    { { /* 600 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00008000, 0x00000000,
     } },
-    { { /* 577 */
+    { { /* 601 */
     0x00000000, 0x00000000, 0x00000008, 0x00000000,
     0x00000000, 0x00000000, 0x00000400, 0x00000000,
     } },
-    { { /* 578 */
+    { { /* 602 */
     0x00000000, 0x00000000, 0x00220000, 0x00000004,
     0x00000000, 0x00040000, 0x00000004, 0x00000000,
     } },
-    { { /* 579 */
+    { { /* 603 */
     0x00000000, 0x00000000, 0x00001000, 0x00000080,
     0x00002000, 0x00000000, 0x00000000, 0x00004000,
     } },
-    { { /* 580 */
+    { { /* 604 */
     0x00000000, 0x00000000, 0x00000000, 0x00100000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 581 */
-    0x00000000, 0x00020000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    } },
-    { { /* 582 */
+    { { /* 605 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00200000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 583 */
+    { { /* 606 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x04000000, 0x00000000, 0x00000000,
     } },
-    { { /* 584 */
+    { { /* 607 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000200, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 585 */
+    { { /* 608 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000001, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 586 */
+    { { /* 609 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00080000, 0x00000000,
     } },
-    { { /* 587 */
+    { { /* 610 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x01000000, 0x00000000, 0x00000400,
     } },
-    { { /* 588 */
+    { { /* 611 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000080, 0x00000000, 0x00000000,
     } },
-    { { /* 589 */
+    { { /* 612 */
     0x00000000, 0x00000800, 0x00000100, 0x40000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 590 */
+    { { /* 613 */
     0x00000000, 0x00200000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 591 */
+    { { /* 614 */
     0x00000000, 0x00000000, 0x01000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 592 */
+    { { /* 615 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x04000000, 0x00000000,
     } },
-    { { /* 593 */
+    { { /* 616 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00001000, 0x00000000,
     } },
-    { { /* 594 */
+    { { /* 617 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000400, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 595 */
+    { { /* 618 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x04040000,
     } },
-    { { /* 596 */
+    { { /* 619 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000020, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 597 */
+    { { /* 620 */
     0x00000000, 0x00000000, 0x00800000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 598 */
+    { { /* 621 */
     0x00000000, 0x00200000, 0x40000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 599 */
+    { { /* 622 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x20000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 600 */
+    { { /* 623 */
     0x00000000, 0x00000000, 0x00000000, 0x04000000,
     0x00000000, 0x00000001, 0x00000000, 0x00000000,
     } },
-    { { /* 601 */
+    { { /* 624 */
     0x00000000, 0x40000000, 0x02000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 602 */
+    { { /* 625 */
     0x00000000, 0x00000000, 0x00000000, 0x00080000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 603 */
+    { { /* 626 */
     0x00000000, 0x00000010, 0x00000000, 0x00000000,
     0x00000000, 0x20000000, 0x00000000, 0x00000000,
     } },
-    { { /* 604 */
+    { { /* 627 */
     0x00000000, 0x00000000, 0x20000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 605 */
+    { { /* 628 */
     0x00000080, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000004,
     } },
-    { { /* 606 */
+    { { /* 629 */
     0x00000000, 0x00000000, 0x00000000, 0x00002000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 607 */
+    { { /* 630 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x10000001, 0x00000000,
     } },
-    { { /* 608 */
+    { { /* 631 */
     0x00008000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 609 */
+    { { /* 632 */
     0x00000000, 0x00000000, 0x00004040, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 610 */
+    { { /* 633 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00042400, 0x00000000,
     } },
-    { { /* 611 */
+    { { /* 634 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x02000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 612 */
+    { { /* 635 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000080,
     } },
-    { { /* 613 */
+    { { /* 636 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000020,
     } },
-    { { /* 614 */
+    { { /* 637 */
     0x00000000, 0x00000001, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 615 */
+    { { /* 638 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00020000, 0x00000000,
     } },
-    { { /* 616 */
+    { { /* 639 */
     0x00000000, 0x00000000, 0x00002000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 617 */
+    { { /* 640 */
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x01000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 618 */
+    { { /* 641 */
     0x00000000, 0x00040000, 0x08000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 619 */
+    { { /* 642 */
     0xc373ff8b, 0x1b0f6840, 0xf34ce9ac, 0xc0080200,
     0xca3e795c, 0x06487976, 0xf7f02fdf, 0xa8ff033a,
     } },
-    { { /* 620 */
+    { { /* 643 */
     0x233fef37, 0xfd59b004, 0xfffff3ca, 0xfff9de9f,
     0x7df7abff, 0x8eecc000, 0xffdbeebf, 0x45fad003,
     } },
-    { { /* 621 */
+    { { /* 644 */
     0xdffefae1, 0x10abbfef, 0xfcaaffeb, 0x24fdef3f,
     0x7f7678ad, 0xedfff00c, 0x2cfacff6, 0xeb6bf7f9,
     } },
-    { { /* 622 */
+    { { /* 645 */
     0x95bf1ffd, 0xbfbf6677, 0xfeb43bfb, 0x11e27bae,
     0x41bea681, 0x72c31435, 0x71917d70, 0x276b0003,
     } },
-    { { /* 623 */
+    { { /* 646 */
     0x70cf57cb, 0x0def4732, 0xfc747eda, 0xbdb4fe06,
     0x8bca3f9f, 0x58007e49, 0xebec228f, 0xddbb8a5c,
     } },
-    { { /* 624 */
+    { { /* 647 */
     0xb6e7ef60, 0xf293a40f, 0x549e37bb, 0x9bafd04b,
     0xf7d4c414, 0x0a1430b0, 0x88d02f08, 0x192fff7e,
     } },
-    { { /* 625 */
+    { { /* 648 */
     0xfb07ffda, 0x7beb7ff1, 0x0010c5ef, 0xfdff99ff,
     0x056779d7, 0xfdcbffe7, 0x4040c3ff, 0xbd8e6ff7,
     } },
-    { { /* 626 */
+    { { /* 649 */
     0x0497dffa, 0x5bfff4c0, 0xd0e7ed7b, 0xf8e0047e,
     0xb73eff9f, 0x882e7dfe, 0xbe7ffffd, 0xf6c483fe,
     } },
-    { { /* 627 */
+    { { /* 650 */
     0xb8fdf357, 0xef7dd680, 0x47885767, 0xc3dfff7d,
     0x37a9f0ff, 0x70fc7de0, 0xec9a3f6f, 0x86814cb3,
     } },
-    { { /* 628 */
+    { { /* 651 */
     0xdd5c3f9e, 0x4819f70d, 0x0007fea3, 0x38ffaf56,
     0xefb8980d, 0xb760403d, 0x9035d8ce, 0x3fff72bf,
     } },
-    { { /* 629 */
+    { { /* 652 */
     0x7a117ff7, 0xabfff7bb, 0x6fbeff00, 0xfe72a93c,
     0xf11bcfef, 0xf40adb6b, 0xef7ec3e6, 0xf6109b9c,
     } },
-    { { /* 630 */
+    { { /* 653 */
     0x16f4f048, 0x5182feb5, 0x15bbc7b1, 0xfbdf6e87,
     0x63cde43f, 0x7e7ec1ff, 0x7d5ffdeb, 0xfcfe777b,
     } },
-    { { /* 631 */
+    { { /* 654 */
     0xdbea960b, 0x53e86229, 0xfdef37df, 0xbd8136f5,
     0xfcbddc18, 0xffffd2e4, 0xffe03fd7, 0xabf87f6f,
     } },
-    { { /* 632 */
+    { { /* 655 */
     0x6ed99bae, 0xf115f5fb, 0xbdfb79a9, 0xadaf5a3c,
     0x1facdbba, 0x837971fc, 0xc35f7cf7, 0x0567dfff,
     } },
-    { { /* 633 */
+    { { /* 656 */
     0x8467ff9a, 0xdf8b1534, 0x3373f9f3, 0x5e1af7bd,
     0xa03fbf40, 0x01ebffff, 0xcfdddfc0, 0xabd37500,
     } },
-    { { /* 634 */
+    { { /* 657 */
     0xeed6f8c3, 0xb7ff43fd, 0x42275eaf, 0xf6869bac,
     0xf6bc27d7, 0x35b7f787, 0xe176aacd, 0xe29f49e7,
     } },
-    { { /* 635 */
+    { { /* 658 */
     0xaff2545c, 0x61d82b3f, 0xbbb8fc3b, 0x7b7dffcf,
     0x1ce0bf95, 0x43ff7dfd, 0xfffe5ff6, 0xc4ced3ef,
     } },
-    { { /* 636 */
+    { { /* 659 */
     0xadbc8db6, 0x11eb63dc, 0x23d0df59, 0xf3dbbeb4,
     0xdbc71fe7, 0xfae4ff63, 0x63f7b22b, 0xadbaed3b,
     } },
-    { { /* 637 */
+    { { /* 660 */
     0x7efffe01, 0x02bcfff7, 0xef3932ff, 0x8005fffc,
     0xbcf577fb, 0xfff7010d, 0xbf3afffb, 0xdfff0057,
     } },
-    { { /* 638 */
+    { { /* 661 */
     0xbd7def7b, 0xc8d4db88, 0xed7cfff3, 0x56ff5dee,
     0xac5f7e0d, 0xd57fff96, 0xc1403fee, 0xffe76ff9,
     } },
-    { { /* 639 */
+    { { /* 662 */
     0x8e77779b, 0xe45d6ebf, 0x5f1f6fcf, 0xfedfe07f,
     0x01fed7db, 0xfb7bff00, 0x1fdfffd4, 0xfffff800,
     } },
-    { { /* 640 */
+    { { /* 663 */
     0x007bfb8f, 0x7f5cbf00, 0x07f3ffff, 0x3de7eba0,
     0xfbd7f7bf, 0x6003ffbf, 0xbfedfffd, 0x027fefbb,
     } },
-    { { /* 641 */
+    { { /* 664 */
     0xddfdfe40, 0xe2f9fdff, 0xfb1f680b, 0xaffdfbe3,
     0xf7ed9fa4, 0xf80f7a7d, 0x0fd5eebe, 0xfd9fbb5d,
     } },
-    { { /* 642 */
+    { { /* 665 */
     0x3bf9f2db, 0xebccfe7f, 0x73fa876a, 0x9ffc95fc,
     0xfaf7109f, 0xbbcdddb7, 0xeccdf87e, 0x3c3ff366,
     } },
-    { { /* 643 */
+    { { /* 666 */
     0xb03ffffd, 0x067ee9f7, 0xfe0696ae, 0x5fd7d576,
     0xa3f33fd1, 0x6fb7cf07, 0x7f449fd1, 0xd3dd7b59,
     } },
-    { { /* 644 */
+    { { /* 667 */
     0xa9bdaf3b, 0xff3a7dcf, 0xf6ebfbe0, 0xffffb401,
     0xb7bf7afa, 0x0ffdc000, 0xff1fff7f, 0x95fffefc,
     } },
-    { { /* 645 */
+    { { /* 668 */
     0xb5dc0000, 0x3f3eef63, 0x001bfb7f, 0xfbf6e800,
     0xb8df9eef, 0x003fff9f, 0xf5ff7bd0, 0x3fffdfdb,
     } },
-    { { /* 646 */
+    { { /* 669 */
     0x00bffdf0, 0xbbbd8420, 0xffdedf37, 0x0ff3ff6d,
     0x5efb604c, 0xfafbfffb, 0x0219fe5e, 0xf9de79f4,
     } },
-    { { /* 647 */
+    { { /* 670 */
     0xebfaa7f7, 0xff3401eb, 0xef73ebd3, 0xc040afd7,
     0xdcff72bb, 0x2fd8f17f, 0xfe0bb8ec, 0x1f0bdda3,
     } },
-    { { /* 648 */
+    { { /* 671 */
     0x47cf8f1d, 0xffdeb12b, 0xda737fee, 0xcbc424ff,
     0xcbf2f75d, 0xb4edecfd, 0x4dddbff9, 0xfb8d99dd,
     } },
-    { { /* 649 */
+    { { /* 672 */
     0xaf7bbb7f, 0xc959ddfb, 0xfab5fc4f, 0x6d5fafe3,
     0x3f7dffff, 0xffdb7800, 0x7effb6ff, 0x022ffbaf,
     } },
-    { { /* 650 */
+    { { /* 673 */
     0xefc7ff9b, 0xffffffa5, 0xc7000007, 0xfff1f7ff,
     0x01bf7ffd, 0xfdbcdc00, 0xffffbff5, 0x3effff7f,
     } },
-    { { /* 651 */
+    { { /* 674 */
     0xbe000029, 0xff7ff9ff, 0xfd7e6efb, 0x039ecbff,
     0xfbdde300, 0xf6dfccff, 0x117fffff, 0xfbf6f800,
     } },
-    { { /* 652 */
+    { { /* 675 */
     0xd73ce7ef, 0xdfeffeef, 0xedbfc00b, 0xfdcdfedf,
     0x40fd7bf5, 0xb75fffff, 0xf930ffdf, 0xdc97fbdf,
     } },
-    { { /* 653 */
+    { { /* 676 */
     0xbff2fef3, 0xdfbf8fdf, 0xede6177f, 0x35530f7f,
     0x877e447c, 0x45bbfa12, 0x779eede0, 0xbfd98017,
     } },
-    { { /* 654 */
+    { { /* 677 */
     0xde897e55, 0x0447c16f, 0xf75d7ade, 0x290557ff,
     0xfe9586f7, 0xf32f97b3, 0x9f75cfff, 0xfb1771f7,
     } },
-    { { /* 655 */
+    { { /* 678 */
     0xee1934ee, 0xef6137cc, 0xef4c9fd6, 0xfbddd68f,
     0x6def7b73, 0xa431d7fe, 0x97d75e7f, 0xffd80f5b,
     } },
-    { { /* 656 */
+    { { /* 679 */
     0x7bce9d83, 0xdcff22ec, 0xef87763d, 0xfdeddfe7,
     0xa0fc4fff, 0xdbfc3b77, 0x7fdc3ded, 0xf5706fa9,
     } },
-    { { /* 657 */
+    { { /* 680 */
     0x2c403ffb, 0x847fff7f, 0xdeb7ec57, 0xf22fe69c,
     0xd5b50feb, 0xede7afeb, 0xfff08c2f, 0xe8f0537f,
     } },
-    { { /* 658 */
+    { { /* 681 */
     0xb5ffb99d, 0xe78fff66, 0xbe10d981, 0xe3c19c7c,
     0x27339cd1, 0xff6d0cbc, 0xefb7fcb7, 0xffffa0df,
     } },
-    { { /* 659 */
+    { { /* 682 */
     0xfe7bbf0b, 0x353fa3ff, 0x97cd13cc, 0xfb277637,
     0x7e6ccfd6, 0xed31ec50, 0xfc1c677c, 0x5fbff6fa,
     } },
-    { { /* 660 */
+    { { /* 683 */
     0xae2f0fba, 0x7ffea3ad, 0xde74fcf0, 0xf200ffef,
     0xfea2fbbf, 0xbcff3daf, 0x5fb9f694, 0x3f8ff3ad,
     } },
-    { { /* 661 */
+    { { /* 684 */
     0xa01ff26c, 0x01bfffef, 0x70057728, 0xda03ff35,
     0xc7fad2f9, 0x5c1d3fbf, 0xec33ff3a, 0xfe9cb7af,
     } },
-    { { /* 662 */
+    { { /* 685 */
     0x7a9f5236, 0xe722bffa, 0xfcff9ff7, 0xb61d2fbb,
     0x1dfded06, 0xefdf7dd7, 0xf166eb23, 0x0dc07ed9,
     } },
-    { { /* 663 */
+    { { /* 686 */
     0xdfbf3d3d, 0xba83c945, 0x9dd07dd1, 0xcf737b87,
     0xc3f59ff3, 0xc5fedf0d, 0x83020cb3, 0xaec0e879,
     } },
-    { { /* 664 */
+    { { /* 687 */
     0x6f0fc773, 0x093ffd7d, 0x0157fff1, 0x01ff62fb,
     0x3bf3fdb4, 0x43b2b013, 0xff305ed3, 0xeb9f0fff,
     } },
-    { { /* 665 */
+    { { /* 688 */
     0xf203feef, 0xfb893fef, 0x9e9937a9, 0xa72cdef9,
     0xc1f63733, 0xfe3e812e, 0xf2f75d20, 0x69d7d585,
     } },
-    { { /* 666 */
+    { { /* 689 */
     0xffffffff, 0xff6fdb07, 0xd97fc4ff, 0xbe0fefce,
     0xf05ef17b, 0xffb7f6cf, 0xef845ef7, 0x0edfd7cb,
     } },
-    { { /* 667 */
+    { { /* 690 */
     0xfcffff08, 0xffffee3f, 0xd7ff13ff, 0x7ffdaf0f,
     0x1ffabdc7, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 668 */
+    { { /* 691 */
     0x00000000, 0xe7400000, 0xf933bd38, 0xfeed7feb,
     0x7c767fe8, 0xffefb3f7, 0xd8b7feaf, 0xfbbfff6f,
     } },
-    { { /* 669 */
+    { { /* 692 */
     0xdbf7f8fb, 0xe2f91752, 0x754785c8, 0xe3ef9090,
     0x3f6d9ef4, 0x0536ee2e, 0x7ff3f7bc, 0x7f3fa07b,
     } },
-    { { /* 670 */
+    { { /* 693 */
     0xeb600567, 0x6601babe, 0x583ffcd8, 0x87dfcaf7,
     0xffa0bfcd, 0xfebf5bcd, 0xefa7b6fd, 0xdf9c77ef,
     } },
-    { { /* 671 */
+    { { /* 694 */
     0xf8773fb7, 0xb7fc9d27, 0xdfefcab5, 0xf1b6fb5a,
     0xef1fec39, 0x7ffbfbbf, 0xdafe000d, 0x4e7fbdfb,
     } },
-    { { /* 672 */
+    { { /* 695 */
     0x5ac033ff, 0x9ffebff5, 0x005fffbf, 0xfdf80000,
     0x6ffdffca, 0xa001cffd, 0xfbf2dfff, 0xff7fdfbf,
     } },
-    { { /* 673 */
+    { { /* 696 */
     0x080ffeda, 0xbfffba08, 0xeed77afd, 0x67f9fbeb,
     0xff93e044, 0x9f57df97, 0x08dffef7, 0xfedfdf80,
     } },
-    { { /* 674 */
+    { { /* 697 */
     0xf7feffc5, 0x6803fffb, 0x6bfa67fb, 0x5fe27fff,
     0xff73ffff, 0xe7fb87df, 0xf7a7ebfd, 0xefc7bf7e,
     } },
-    { { /* 675 */
+    { { /* 698 */
     0xdf821ef3, 0xdf7e76ff, 0xda7d79c9, 0x1e9befbe,
     0x77fb7ce0, 0xfffb87be, 0xffdb1bff, 0x4fe03f5c,
     } },
-    { { /* 676 */
+    { { /* 699 */
     0x5f0e7fff, 0xddbf77ff, 0xfffff04f, 0x0ff8ffff,
     0xfddfa3be, 0xfffdfc1c, 0xfb9e1f7d, 0xdedcbdff,
     } },
-    { { /* 677 */
+    { { /* 700 */
     0xbafb3f6f, 0xfbefdf7f, 0x2eec7d1b, 0xf2f7af8e,
     0xcfee7b0f, 0x77c61d96, 0xfff57e07, 0x7fdfd982,
     } },
-    { { /* 678 */
+    { { /* 701 */
     0xc7ff5ee6, 0x79effeee, 0xffcf9a56, 0xde5efe5f,
     0xf9e8896e, 0xe6c4f45e, 0xbe7c0001, 0xdddf3b7f,
     } },
-    { { /* 679 */
+    { { /* 702 */
     0xe9efd59d, 0xde5334ac, 0x4bf7f573, 0x9eff7b4f,
     0x476eb8fe, 0xff450dfb, 0xfbfeabfd, 0xddffe9d7,
     } },
-    { { /* 680 */
+    { { /* 703 */
     0x7fffedf7, 0x7eebddfd, 0xb7ffcfe7, 0xef91bde9,
     0xd77c5d75, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 681 */
+    { { /* 704 */
     0x00000000, 0xfa800000, 0xb4f1ffee, 0x2fefbf76,
     0x77bfb677, 0xfffd9fbf, 0xf6ae95bf, 0x7f3b75ff,
     } },
-    { { /* 682 */
+    { { /* 705 */
     0x0af9a7f5, 0x00000000, 0x00000000, 0x2bddfbd0,
     0x9a7ff633, 0xd6fcfdab, 0xbfebf9e6, 0xf41fdfdf,
     } },
-    { { /* 683 */
+    { { /* 706 */
     0xffffa6fd, 0xf37b4aff, 0xfef97fb7, 0x1d5cb6ff,
     0xe5ff7ff6, 0x24041f7b, 0xf99ebe05, 0xdff2dbe3,
     } },
-    { { /* 684 */
+    { { /* 707 */
     0xfdff6fef, 0xcbfcd679, 0xefffebfd, 0x0000001f,
     0x98000000, 0x8017e148, 0x00fe6a74, 0xfdf16d7f,
     } },
-    { { /* 685 */
+    { { /* 708 */
     0xfef3b87f, 0xf176e01f, 0x7b3fee96, 0xfffdeb8d,
     0xcbb3adff, 0xe17f84ef, 0xbff04daa, 0xfe3fbf3f,
     } },
-    { { /* 686 */
+    { { /* 709 */
     0xffd7ebff, 0xcf7fffdf, 0x85edfffb, 0x07bcd73f,
     0xfe0faeff, 0x76bffdaf, 0x37bbfaef, 0xa3ba7fdc,
     } },
-    { { /* 687 */
+    { { /* 710 */
     0x56f7b6ff, 0xe7df60f8, 0x4cdfff61, 0xff45b0fb,
     0x3ffa7ded, 0x18fc1fff, 0xe3afffff, 0xdf83c7d3,
     } },
-    { { /* 688 */
+    { { /* 711 */
     0xef7dfb57, 0x1378efff, 0x5ff7fec0, 0x5ee334bb,
     0xeff6f70d, 0x00bfd7fe, 0xf7f7f59d, 0xffe051de,
     } },
-    { { /* 689 */
+    { { /* 712 */
     0x037ffec9, 0xbfef5f01, 0x60a79ff1, 0xf1ffef1d,
     0x0000000f, 0x00000000, 0x00000000, 0x00000000,
     } },
-    { { /* 690 */
+    { { /* 713 */
     0x00000000, 0x00000000, 0x00000000, 0x3c800000,
     0xd91ffb4d, 0xfee37b3a, 0xdc7f3fe9, 0x0000003f,
     } },
-    { { /* 691 */
+    { { /* 714 */
     0x50000000, 0xbe07f51f, 0xf91bfc1d, 0x71ffbc1e,
     0x5bbe6ff9, 0x9b1b5796, 0xfffc7fff, 0xafe7872e,
     } },
-    { { /* 692 */
+    { { /* 715 */
     0xf34febf5, 0xe725dffd, 0x5d440bdc, 0xfddd5747,
     0x7790ed3f, 0x8ac87d7f, 0xf3f9fafa, 0xef4b202a,
     } },
-    { { /* 693 */
+    { { /* 716 */
     0x79cff5ff, 0x0ba5abd3, 0xfb8ff77a, 0x001f8ebd,
     0x00000000, 0xfd4ef300, 0x88001a57, 0x7654aeac,
     } },
-    { { /* 694 */
+    { { /* 717 */
     0xcdff17ad, 0xf42fffb2, 0xdbff5baa, 0x00000002,
     0x73c00000, 0x2e3ff9ea, 0xbbfffa8e, 0xffd376bc,
     } },
-    { { /* 695 */
+    { { /* 718 */
     0x7e72eefe, 0xe7f77ebd, 0xcefdf77f, 0x00000ff5,
     0x00000000, 0xdb9ba900, 0x917fa4c7, 0x7ecef8ca,
     } },
-    { { /* 696 */
+    { { /* 719 */
     0xc7e77d7a, 0xdcaecbbd, 0x8f76fd7e, 0x7cf391d3,
     0x4c2f01e5, 0xa360ed77, 0x5ef807db, 0x21811df7,
     } },
-    { { /* 697 */
+    { { /* 720 */
     0x309c6be0, 0xfade3b3a, 0xc3f57f53, 0x07ba61cd,
     0x00000000, 0x00000000, 0x00000000, 0xbefe26e0,
     } },
-    { { /* 698 */
+    { { /* 721 */
     0xebb503f9, 0xe9cbe36d, 0xbfde9c2f, 0xabbf9f83,
     0xffd51ff7, 0xdffeb7df, 0xffeffdae, 0xeffdfb7e,
     } },
-    { { /* 699 */
+    { { /* 722 */
     0x6ebfaaff, 0x00000000, 0x00000000, 0xb6200000,
     0xbe9e7fcd, 0x58f162b3, 0xfd7bf10d, 0xbefde9f1,
     } },
-    { { /* 700 */
+    { { /* 723 */
     0x5f6dc6c3, 0x69ffff3d, 0xfbf4ffcf, 0x4ff7dcfb,
     0x11372000, 0x00000015, 0x00000000, 0x00000000,
     } },
-    { { /* 701 */
+    { { /* 724 */
     0x00003000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     } },
@@ -3475,112 +3569,120 @@ static const struct {
     LEAF(398,352),
     /* uk */
     LEAF(399,353),
+    /* und_zmth */
+    LEAF(400,354), LEAF(400,355), LEAF(400,356), LEAF(400,357),
+    LEAF(400,358), LEAF(400,359), LEAF(400,360), LEAF(400,361),
+    LEAF(400,362), LEAF(400,363), LEAF(400,364), LEAF(400,365),
+    /* und_zsye */
+    LEAF(412,366), LEAF(412,367), LEAF(412,368), LEAF(412,369),
+    LEAF(412,370), LEAF(412,371), LEAF(412,372), LEAF(412,373),
+    LEAF(412,374), LEAF(412,375), LEAF(412,376), LEAF(412,377),
     /* ve */
-    LEAF(400, 23), LEAF(400,354),
+    LEAF(424, 23), LEAF(424,378),
     /* vi */
-    LEAF(402,355), LEAF(402,356), LEAF(402,357), LEAF(402,358),
+    LEAF(426,379), LEAF(426,380), LEAF(426,381), LEAF(426,382),
     /* vo */
-    LEAF(406,359),
+    LEAF(430,383),
     /* vot */
-    LEAF(407,360), LEAF(407, 74),
+    LEAF(431,384), LEAF(431, 74),
     /* wa */
-    LEAF(409,361),
+    LEAF(433,385),
     /* wen */
-    LEAF(410, 99), LEAF(410,362),
+    LEAF(434, 99), LEAF(434,386),
     /* wo */
-    LEAF(412,363), LEAF(412,269),
+    LEAF(436,387), LEAF(436,269),
     /* yap */
-    LEAF(414,364),
+    LEAF(438,388),
     /* yo */
-    LEAF(415,365), LEAF(415,366), LEAF(415,367), LEAF(415,368),
+    LEAF(439,389), LEAF(439,390), LEAF(439,391), LEAF(439,392),
     /* 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),
+    LEAF(443,393), LEAF(443,394), LEAF(443,395), LEAF(443,396),
+    LEAF(443,397), LEAF(443,398), LEAF(443,399), LEAF(443,400),
+    LEAF(443,401), LEAF(443,402), LEAF(443,403), LEAF(443,404),
+    LEAF(443,405), LEAF(443,406), LEAF(443,407), LEAF(443,408),
+    LEAF(443,409), LEAF(443,410), LEAF(443,411), LEAF(443,412),
+    LEAF(443,413), LEAF(443,414), LEAF(443,415), LEAF(443,416),
+    LEAF(443,417), LEAF(443,418), LEAF(443,419), LEAF(443,420),
+    LEAF(443,421), LEAF(443,422), LEAF(443,423), LEAF(443,424),
+    LEAF(443,425), LEAF(443,426), LEAF(443,427), LEAF(443,428),
+    LEAF(443,429), LEAF(443,430), LEAF(443,431), LEAF(443,432),
+    LEAF(443,433), LEAF(443,434), LEAF(443,435), LEAF(443,436),
+    LEAF(443,437), LEAF(443,438), LEAF(443,439), LEAF(443,440),
+    LEAF(443,441), LEAF(443,442), LEAF(443,443), LEAF(443,444),
+    LEAF(443,445), LEAF(443,446), LEAF(443,447), LEAF(443,448),
+    LEAF(443,449), LEAF(443,450), LEAF(443,451), LEAF(443,452),
+    LEAF(443,453), LEAF(443,454), LEAF(443,455), LEAF(443,456),
+    LEAF(443,457), LEAF(443,458), LEAF(443,459), LEAF(443,460),
+    LEAF(443,461), LEAF(443,462), LEAF(443,463), LEAF(443,464),
+    LEAF(443,465), LEAF(443,466), LEAF(443,467), LEAF(443,468),
+    LEAF(443,469), LEAF(443,470), LEAF(443,471), LEAF(443,472),
+    LEAF(443,473), LEAF(443,474),
     /* 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),
+    LEAF(525,475), LEAF(525,476), LEAF(525,477), LEAF(525,478),
+    LEAF(525,479), LEAF(525,480), LEAF(525,481), LEAF(525,482),
+    LEAF(525,483), LEAF(525,484), LEAF(525,485), LEAF(525,486),
+    LEAF(525,487), LEAF(525,488), LEAF(525,489), LEAF(525,490),
+    LEAF(525,491), LEAF(525,492), LEAF(525,493), LEAF(525,494),
+    LEAF(525,495), LEAF(525,496), LEAF(525,497), LEAF(525,498),
+    LEAF(525,499), LEAF(525,500), LEAF(525,501), LEAF(525,502),
+    LEAF(525,503), LEAF(525,504), LEAF(525,505), LEAF(525,506),
+    LEAF(525,507), LEAF(525,508), LEAF(525,509), LEAF(525,510),
+    LEAF(525,511), LEAF(525,512), LEAF(525,513), LEAF(525,514),
+    LEAF(525,515), LEAF(525,516), LEAF(525,517), LEAF(525,518),
+    LEAF(525,519), LEAF(525,520), LEAF(525,521), LEAF(525,522),
+    LEAF(525,523), LEAF(525,524), LEAF(525,525), LEAF(525,526),
+    LEAF(525,527), LEAF(525,528), LEAF(525,529), LEAF(525,530),
+    LEAF(525,531), LEAF(525,532), LEAF(525,533), LEAF(525,534),
+    LEAF(525,535), LEAF(525,536), LEAF(525,537), LEAF(525,538),
+    LEAF(525,539), LEAF(525,540), LEAF(525,541), LEAF(525,542),
+    LEAF(525,543), LEAF(525,544), LEAF(525,545), LEAF(525,546),
+    LEAF(525,547), LEAF(525,548), LEAF(525,549), LEAF(525,550),
+    LEAF(525,551), LEAF(525,552), LEAF(525,553), LEAF(525,554),
+    LEAF(525,555), LEAF(525,556), LEAF(525,557), LEAF(525,558),
+    LEAF(525,559), LEAF(525,560), LEAF(525,561), LEAF(525,562),
+    LEAF(525,563), LEAF(525,564), LEAF(525,565), LEAF(525,566),
+    LEAF(525,567), LEAF(525,568), LEAF(525,569), LEAF(525,570),
+    LEAF(525,571), LEAF(525,572), LEAF(525,573), LEAF(525,574),
+    LEAF(525,575), LEAF(525,576), LEAF(525,577), LEAF(525,578),
+    LEAF(525,579), LEAF(525,580), LEAF(525,581), LEAF(525,582),
+    LEAF(525,583), LEAF(525,584), LEAF(525,585), LEAF(525,586),
+    LEAF(525,587), LEAF(525,588), LEAF(525,589), LEAF(525,590),
+    LEAF(525,591), LEAF(525,592), LEAF(525,593), LEAF(525,594),
+    LEAF(525,595), LEAF(525,596), LEAF(525,597), LEAF(525,598),
+    LEAF(525,599), LEAF(525,600), LEAF(525,601), LEAF(525,602),
+    LEAF(525,603), LEAF(525,604), LEAF(525,355), LEAF(525,605),
+    LEAF(525,606), LEAF(525,318), LEAF(525,607), LEAF(525,608),
+    LEAF(525,609), LEAF(525,610), LEAF(525,611), LEAF(525,612),
+    LEAF(525,613), LEAF(525,  3), LEAF(525,614), LEAF(525,615),
+    LEAF(525,616), LEAF(525,617), LEAF(525,618), LEAF(525,619),
+    LEAF(525,604), LEAF(525,620), LEAF(525,621), LEAF(525,622),
+    LEAF(525,623), LEAF(525,624), LEAF(525,625), LEAF(525,626),
+    LEAF(525,627), LEAF(525,628), LEAF(525,629), LEAF(525,630),
+    LEAF(525,631), LEAF(525,632), LEAF(525,633), LEAF(525,634),
+    LEAF(525,635), LEAF(525,636), LEAF(525,637), LEAF(525,638),
+    LEAF(525,639), LEAF(525,640), LEAF(525,641),
     /* 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),
+    LEAF(696,642), LEAF(696,643), LEAF(696,644), LEAF(696,645),
+    LEAF(696,646), LEAF(696,647), LEAF(696,648), LEAF(696,649),
+    LEAF(696,650), LEAF(696,651), LEAF(696,652), LEAF(696,653),
+    LEAF(696,654), LEAF(696,655), LEAF(696,656), LEAF(696,657),
+    LEAF(696,658), LEAF(696,659), LEAF(696,660), LEAF(696,661),
+    LEAF(696,662), LEAF(696,663), LEAF(696,664), LEAF(696,665),
+    LEAF(696,666), LEAF(696,667), LEAF(696,668), LEAF(696,669),
+    LEAF(696,670), LEAF(696,671), LEAF(696,672), LEAF(696,673),
+    LEAF(696,674), LEAF(696,675), LEAF(696,676), LEAF(696,677),
+    LEAF(696,678), LEAF(696,679), LEAF(696,680), LEAF(696,681),
+    LEAF(696,682), LEAF(696,683), LEAF(696,684), LEAF(696,685),
+    LEAF(696,686), LEAF(696,687), LEAF(696,688), LEAF(696,689),
+    LEAF(696,690), LEAF(696,691), LEAF(696,692), LEAF(696,693),
+    LEAF(696,694), LEAF(696,695), LEAF(696,696), LEAF(696,697),
+    LEAF(696,698), LEAF(696,699), LEAF(696,700), LEAF(696,701),
+    LEAF(696,702), LEAF(696,703), LEAF(696,704), LEAF(696,705),
+    LEAF(696,706), LEAF(696,707), LEAF(696,708), LEAF(696,709),
+    LEAF(696,710), LEAF(696,711), LEAF(696,712), LEAF(696,713),
+    LEAF(696,714), LEAF(696,715), LEAF(696,716), LEAF(696,717),
+    LEAF(696,718), LEAF(696,719), LEAF(696,720), LEAF(696,721),
+    LEAF(696,722), LEAF(696,723), LEAF(696,724),
 },
 {
     /* aa */
@@ -3940,6 +4042,12 @@ static const struct {
     0x0006,
     /* uk */
     0x0004,
+    /* und_zmth */
+    0x0000, 0x0001, 0x0003, 0x0020, 0x0021, 0x0022, 0x0023, 0x0025,
+    0x0027, 0x01d4, 0x01d5, 0x01d6,
+    /* und_zsye */
+    0x0023, 0x0025, 0x0026, 0x0027, 0x002b, 0x01f0, 0x01f1, 0x01f2,
+    0x01f3, 0x01f4, 0x01f5, 0x01f6,
     /* ve */
     0x0000, 0x001e,
     /* vi */
@@ -4230,6 +4338,8 @@ static const struct {
     168, /* tyv */
     169, /* ug */
     170, /* uk */
+    245, /* und_zmth */
+    244, /* und_zsye */
     171, /* ur */
     172, /* uz */
     173, /* ve */
@@ -4424,25 +4534,25 @@ static const struct {
     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 */
+    225, /* ur */
+    226, /* uz */
+    227, /* ve */
+    228, /* vi */
+    229, /* vo */
+    230, /* vot */
+    231, /* wa */
+    233, /* wen */
+    234, /* wo */
+    235, /* xh */
+    236, /* yap */
+    237, /* yi */
+    238, /* yo */
+    240, /* zh_cn */
+    241, /* zh_hk */
+    242, /* zh_mo */
+    243, /* zh_sg */
+    244, /* zh_tw */
+    245, /* zu */
     3, /* ak */
     5, /* an */
     15, /* ber_dz */
@@ -4489,18 +4599,20 @@ static const struct {
     194, /* sn */
     200, /* su */
     219, /* ty */
-    230, /* wal */
-    237, /* za */
+    232, /* wal */
+    239, /* za */
     118, /* lah */
     149, /* nqo */
     26, /* brx */
     176, /* sat */
     44, /* doi */
     135, /* mni */
+    224, /* und_zsye */
+    223, /* und_zmth */
 }
 };
 
-#define NUM_LANG_CHAR_SET      244
+#define NUM_LANG_CHAR_SET      246
 #define NUM_LANG_SET_MAP       8
 
 static const FcChar32 fcLangCountrySets[][NUM_LANG_SET_MAP] = {
@@ -4512,10 +4624,11 @@ static const FcChar32 fcLangCountrySets[][NUM_LANG_SET_MAP] = {
     { 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, 0x00000000, 0x00000000, 0x00300000, }, /* und */
     { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1f000000, 0x00000000, 0x00000000, }, /* zh */
 };
 
-#define NUM_COUNTRY_SET 9
+#define NUM_COUNTRY_SET 10
 
 static const FcLangCharSetRange  fcLangCharSetRanges[] = {
 
@@ -4539,11 +4652,11 @@ static const FcLangCharSetRange  fcLangCharSetRanges[] = {
     { 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 */
+    { 221, 226 }, /* u */
+    { 227, 230 }, /* v */
+    { 231, 234 }, /* w */
+    { 235, 235 }, /* x */
+    { 236, 238 }, /* y */
+    { 239, 245 }, /* z */
 };
 
diff --git a/fc-lang/und_zmth.orth b/fc-lang/und_zmth.orth
new file mode 100644 (file)
index 0000000..1d98453
--- /dev/null
@@ -0,0 +1,144 @@
+#
+# fontconfig/fc-lang/emoji.orth
+#
+# Copyright © 2002 Keith Packard
+# Copyright © 2017 Red Hat, 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.
+#
+# Math
+#
+# based on
+# http://www.unicode.org/Public/math/revision-9/MathClass-9.txt
+#
+0020   #       S       #       SPACE
+0021   #       P       # !     EXCLAMATION MARK
+0021   #       N       # !     EXCLAMATION MARK
+0023..0026     #       N       # #..&  NUMBER SIGN..AMPERSAND
+0028   #       O       # (     LEFT PARENTHESIS
+0029   #       C       # )     RIGHT PARENTHESIS
+002A   #       N       # *     ASTERISK
+002B   #       V       # +     PLUS SIGN
+002C   #       P       # ,     COMMA
+002D   #       R       # -     HYPHEN-MINUS
+002E   #       P       # .     FULL STOP
+002F   #       R       # /     SOLIDUS
+0030..0039     #       N       # 0..9  DIGIT ZERO..NINE
+003A..003B     #       P       # :..   #       COLON..SEMICOLON
+003C..003E     #       R       # <..>  LESS-THAN SIGN..GREATER-THAN SIGN
+003F   #       P       # ?     QUESTION MARK
+0040   #       N       # @     COMMERCIAL AT
+0041..005A     #       A       # A..Z  LATIN CAPITAL LETTER A..Z
+005B   #       O       # [     LEFT SQUARE BRACKET
+005C   #       N       # \     REVERSE SOLIDUS
+005D   #       C       # ]     RIGHT SQUARE BRACKET
+005E   #       X       # ^     CIRCUMFLEX ACCENT
+0061..007A     #       A       # a..z  LATIN SMALL LETTER A..Z
+007B   #       O       # {     LEFT CURLY BRACKET
+007C   #       F       # |     VERTICAL LINE
+007D   #       C       # }     RIGHT CURLY BRACKET
+007E   #       X       # ~     TILDE
+00A1   #       P       # ¡    INVERTED EXCLAMATION MARK
+00A2..00A7     #       N       # ¢..§        CENT SIGN..SECTION SIGN
+00AC   #       N       # ¬    NOT SIGN
+00B0   #       N       # °    DEGREE SIGN
+00B1   #       V       # ±    PLUS-MINUS SIGN
+00B5..00B6     #       N       # µ..¶        MICRO SIGN..PILCROW SIGN
+00B7   #       B       # ·    MIDDLE DOT
+00BF   #       P       # ¿    INVERTED QUESTION MARK
+00D7   #       B       # ×    MULTIPLICATION SIGN
+00F7   #       B       # ÷    DIVISION SIGN
+0131   #       A       # ı    LATIN SMALL LETTER DOTLESS I
+0308   #       D       # ̈    COMBINING DIAERESIS
+030A   #       D       # ̊    COMBINING RING ABOVE
+030C   #       D       # ̌    COMBINING CARON
+0338   #       D       # ̸    COMBINING LONG SOLIDUS OVERLAY
+0391..03A1     #       A       # Α..Ρ        GREEK CAPITAL LETTER ALPHA..RHO
+03A3..03A4     #       A       # Σ..Τ        GREEK CAPITAL LETTER SIGMA..TAU
+03A6..03A9     #       A       # Φ..Ω        GREEK CAPITAL LETTER PHI..OMEGA
+03B1..03C1     #       A       # α..ρ        GREEK SMALL LETTER ALPHA..RHO
+03C3..03C9     #       A       # σ..ω        GREEK SMALL LETTER SIGMA..OMEGA
+03D5..03D6     #       A       # ϕ..ϖ        GREEK PHI SYMBOL..PI SYMBOL
+03F0..03F1     #       A       # ϰ..ϱ        GREEK KAPPA SYMBOL..RHO SYMBOL
+2016   #       F       # ‖   DOUBLE VERTICAL LINE
+2020   #       R       # †   DAGGER
+2020   #       N       # †   DAGGER
+2021   #       R       # ‡   DOUBLE DAGGER
+2021   #       N       # ‡   DOUBLE DAGGER
+2022   #       B       # •   BULLET
+2026   #       N       # …   HORIZONTAL ELLIPSIS
+2044   #       X       # ⁄   FRACTION SLASH
+2057   #       N       # ⁗   QUADRUPLE PRIME
+20E1   #       D       # ⃡   COMBINING LEFT RIGHT ARROW ABOVE
+2102   #       A       # ℂ   DOUBLE-STRUCK CAPITAL C
+210E..210F     #       N       # ℎ..ℏ      PLANCK CONSTANT.. OVER TWO PI
+2110..2113     #       A       # ℐ..ℓ      SCRIPT CAPITAL I..SMALL L
+2115   #       A       # ℕ   DOUBLE-STRUCK CAPITAL N
+2118..211D     #       A       # ℘..ℝ      SCRIPT CAPITAL P..DOUBLE-STRUCK CAPITAL R
+2124   #       A       # ℤ   DOUBLE-STRUCK CAPITAL Z
+2200..2201     #       U       # ∀..∁      FOR ALL..COMPLEMENT
+2202   #       N       # ∂   PARTIAL DIFFERENTIAL
+2203..2204     #       U       # ∃..∄      THERE EXISTS..DOES NOT EXIST
+2205   #       N       # ∅   EMPTY SET
+2206..2207     #       U       # ∆..∇      INCREMENT..NABLA
+2208..220D     #       R       # ∈..∍      ELEMENT OF..SMALL CONTAINS AS MEMBER
+220F..2211     #       L       # ∏..∑      N-ARY PRODUCT..SUMMATION
+2212..2213     #       V       # −..∓      MINUS SIGN..MINUS-OR-PLUS SIGN
+2214..2219     #       B       # ∔..∙      DOT PLUS..BULLET OPERATOR
+221D   #       R       # ∝   PROPORTIONAL TO
+221E..2222     #       N       # ∞..∢      INFINITY..SPHERICAL ANGLE
+2223..2226     #       R       # ∣..∦      DIVIDES..NOT PARALLEL TO
+2227..222A     #       B       # ∧..∪      LOGICAL AND..UNION
+2234..2235     #       N       # ∴..∵      THEREFORE..BECAUSE
+2236..2237     #       R       # ∶..∷      RATIO..PROPORTION
+2238   #       B       # ∸   DOT MINUS
+2239..223D     #       R       # ∹..∽      EXCESS..REVERSED TILDE
+223E   #       B       # ∾   INVERTED LAZY S
+223F   #       N       # ∿   SINE WAVE
+2240   #       B       # ≀   WREATH PRODUCT
+228C..228E     #       B       # ⊌..⊎      MULTISET.. UNION
+228F..2292     #       R       # ⊏..⊒      SQUARE IMAGE OF..ORIGINAL OF OR EQUAL TO
+2293..22A1     #       B       # ⊓..⊡      SQUARE CAP..SQUARED DOT OPERATOR
+22A2..22A3     #       R       # ⊢..⊣      RIGHT TACK..LEFT TACK
+22A4..22A5     #       N       # ⊤..⊥      DOWN TACK..UP TACK
+22C0..22C3     #       L       # ⋀..⋃      N-ARY LOGICAL AND..UNION
+22C8   #       R       # ⋈   BOWTIE
+22CD   #       R       # ⋍   REVERSED TILDE EQUALS
+22CE..22CF     #       B       # ⋎..⋏      CURLY LOGICAL OR..AND
+2308   #       O       # ⌈   LEFT CEILING
+2309   #       C       # ⌉   RIGHT CEILING
+230A   #       O       # ⌊   LEFT FLOOR
+230B   #       C       # ⌋   RIGHT FLOOR
+2322..2323     #       R       # ⌢..⌣      FROWN..SMILE
+25A0..25A1     #       N       # ■..□      BLACK SQUARE..WHITE SQUARE
+27E6   #       O       # ⟦   MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7   #       C       # ⟧   MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8   #       O       # ⟨   MATHEMATICAL LEFT ANGLE BRACKET
+27E9   #       C       # ⟩   MATHEMATICAL RIGHT ANGLE BRACKET
+1D400..1D454   #       A       # 𝐀..𝑔    MATHEMATICAL BOLD CAPITAL A..ITALIC SMALL G
+1D456..1D49C   #       A       # 𝑖..𝒜    MATHEMATICAL ITALIC SMALL I..SCRIPT CAPITAL A
+1D49E..1D49F   #       A       # 𝒞..𝒟    MATHEMATICAL SCRIPT CAPITAL C..D
+1D4A2  #       A       # 𝒢  MATHEMATICAL SCRIPT CAPITAL G
+1D4A5..1D4A6   #       A       # 𝒥..𝒦    MATHEMATICAL SCRIPT CAPITAL J..K
+1D4A9..1D4AC   #       A       # 𝒩..𝒬    MATHEMATICAL SCRIPT CAPITAL N..Q
+1D53B..1D53E   #       A       # 𝔻..𝔾    MATHEMATICAL DOUBLE-STRUCK CAPITAL D..G
+1D540..1D544   #       A       # 𝕀..𝕄    MATHEMATICAL DOUBLE-STRUCK CAPITAL I..M
+1D546  #       A       # 𝕆  MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D54A..1D550   #       A       # 𝕊..𝕐    MATHEMATICAL DOUBLE-STRUCK CAPITAL S..Y
+1D6A4..1D6A5   #       A       # 𝚤..𝚥    MATHEMATICAL ITALIC SMALL DOTLESS I..J
diff --git a/fc-lang/und_zsye.orth b/fc-lang/und_zsye.orth
new file mode 100644 (file)
index 0000000..00007c1
--- /dev/null
@@ -0,0 +1,151 @@
+#
+# fontconfig/fc-lang/emoji.orth
+#
+# Copyright © 2002 Keith Packard
+# Copyright © 2017 Red Hat, 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.
+#
+# Emoji
+#
+# http://unicode.org/Public/emoji/5.0/emoji-data.txt
+# with anything after Unicode 6.0 commented out.
+#
+## Emoji Presentation
+231A..231B     #  1.1  [2] (⌚..⌛)    watch..hourglass
+23E9..23EC     #  6.0  [4] (⏩..⏬)    fast-forward button..fast down button
+23F0           #  6.0  [1] (⏰)       alarm clock
+23F3           #  6.0  [1] (⏳)       hourglass with flowing sand
+25FD..25FE     #  3.2  [2] (◽..◾)    white medium-small square..black medium-small square
+2614..2615     #  4.0  [2] (☔..☕)    umbrella with rain drops..hot beverage
+2648..2653     #  1.1 [12] (♈..♓)    Aries..Pisces
+267F           #  4.1  [1] (♿)       wheelchair symbol
+2693           #  4.1  [1] (⚓)       anchor
+26A1           #  4.0  [1] (⚡)       high voltage
+26AA..26AB     #  4.1  [2] (⚪..⚫)    white circle..black circle
+26BD..26BE     #  5.2  [2] (⚽..⚾)    soccer ball..baseball
+26C4..26C5     #  5.2  [2] (⛄..⛅)    snowman without snow..sun behind cloud
+26CE           #  6.0  [1] (⛎)       Ophiuchus
+26D4           #  5.2  [1] (⛔)       no entry
+26EA           #  5.2  [1] (⛪)       church
+26F2..26F3     #  5.2  [2] (⛲..⛳)    fountain..flag in hole
+26F5           #  5.2  [1] (⛵)       sailboat
+26FA           #  5.2  [1] (⛺)       tent
+26FD           #  5.2  [1] (⛽)       fuel pump
+2705           #  6.0  [1] (✅)       white heavy check mark
+270A..270B     #  6.0  [2] (✊..✋)    raised fist..raised hand
+2728           #  6.0  [1] (✨)       sparkles
+274C           #  6.0  [1] (❌)       cross mark
+274E           #  6.0  [1] (❎)       cross mark button
+2753..2755     #  6.0  [3] (❓..❕)    question mark..white exclamation mark
+2757           #  5.2  [1] (❗)       exclamation mark
+2795..2797     #  6.0  [3] (➕..➗)    heavy plus sign..heavy division sign
+27B0           #  6.0  [1] (➰)       curly loop
+27BF           #  6.0  [1] (➿)       double curly loop
+2B1B..2B1C     #  5.1  [2] (⬛..⬜)    black large square..white large square
+2B50           #  5.1  [1] (⭐)       white medium star
+2B55           #  5.2  [1] (⭕)       heavy large circle
+1F004          #  5.1  [1] (🀄)       mahjong red dragon
+1F0CF          #  6.0  [1] (🃏)       joker
+1F18E          #  6.0  [1] (🆎)       AB button (blood type)
+1F191..1F19A   #  6.0 [10] (🆑..🆚)    CL button..VS button
+1F1E6..1F1FF   #  6.0 [26] (🇦..🇿)    regional indicator symbol letter a..regional indicator symbol letter z
+1F201          #  6.0  [1] (🈁)       Japanese “here” button
+1F21A          #  5.2  [1] (🈚)       Japanese “free of charge” button
+1F22F          #  5.2  [1] (🈯)       Japanese “reserved” button
+1F232..1F236   #  6.0  [5] (🈲..🈶)    Japanese “prohibited” button..Japanese “not free of charge” button
+1F238..1F23A   #  6.0  [3] (🈸..🈺)    Japanese “application” button..Japanese “open for business” button
+1F250..1F251   #  6.0  [2] (🉐..🉑)    Japanese “bargain” button..Japanese “acceptable” button
+1F300..1F320   #  6.0 [33] (🌀..🌠)    cyclone..shooting star
+# 1F32D..1F32F         #  8.0  [3] (🌭..🌯)    hot dog..burrito
+1F330..1F335   #  6.0  [6] (🌰..🌵)    chestnut..cactus
+1F337..1F37C   #  6.0 [70] (🌷..🍼)    tulip..baby bottle
+# 1F37E..1F37F         #  8.0  [2] (🍾..🍿)    bottle with popping cork..popcorn
+1F380..1F393   #  6.0 [20] (🎀..🎓)    ribbon..graduation cap
+1F3A0..1F3C4   #  6.0 [37] (🎠..🏄)    carousel horse..person surfing
+# 1F3C5                #  7.0  [1] (🏅)       sports medal
+1F3C6..1F3CA   #  6.0  [5] (🏆..🏊)    trophy..person swimming
+# 1F3CF..1F3D3         #  8.0  [5] (🏏..🏓)    cricket..ping pong
+1F3E0..1F3F0   #  6.0 [17] (🏠..🏰)    house..castle
+# 1F3F4                #  7.0  [1] (🏴)       black flag
+# 1F3F8..1F3FF         #  8.0  [8] (🏸..🏿)    badminton..dark skin tone
+# 1F400..1F43E         #  6.0 [63] (🐀..🐾)    rat..paw prints
+1F440          #  6.0  [1] (👀)       eyes
+1F442..1F4F7   #  6.0[182] (👂..📷)    ear..camera
+# 1F4F8                #  7.0  [1] (📸)       camera with flash
+1F4F9..1F4FC   #  6.0  [4] (📹..📼)    video camera..videocassette
+# 1F4FF                #  8.0  [1] (📿)       prayer beads
+1F500..1F53D   #  6.0 [62] (🔀..🔽)    shuffle tracks button..down button
+# 1F54B..1F54E         #  8.0  [4] (🕋..🕎)    kaaba..menorah
+1F550..1F567   #  6.0 [24] (🕐..🕧)    one o’clock..twelve-thirty
+# 1F57A                #  9.0  [1] (🕺)       man dancing
+# 1F595..1F596         #  7.0  [2] (🖕..🖖)    middle finger..vulcan salute
+# 1F5A4                #  9.0  [1] (🖤)       black heart
+1F5FB..1F5FF   #  6.0  [5] (🗻..🗿)    mount fuji..moai
+# 1F600                #  6.1  [1] (😀)       grinning face
+1F601..1F610   #  6.0 [16] (😁..😐)    grinning face with smiling eyes..neutral face
+# 1F611                #  6.1  [1] (😑)       expressionless face
+1F612..1F614   #  6.0  [3] (😒..😔)    unamused face..pensive face
+# 1F615                #  6.1  [1] (😕)       confused face
+1F616          #  6.0  [1] (😖)       confounded face
+# 1F617                #  6.1  [1] (😗)       kissing face
+1F618          #  6.0  [1] (😘)       face blowing a kiss
+# 1F619                #  6.1  [1] (😙)       kissing face with smiling eyes
+1F61A          #  6.0  [1] (😚)       kissing face with closed eyes
+# 1F61B                #  6.1  [1] (😛)       face with stuck-out tongue
+1F61C..1F61E   #  6.0  [3] (😜..😞)    face with stuck-out tongue & winking eye..disappointed face
+# 1F61F                #  6.1  [1] (😟)       worried face
+1F620..1F625   #  6.0  [6] (😠..😥)    angry face..disappointed but relieved face
+# 1F626..1F627         #  6.1  [2] (😦..😧)    frowning face with open mouth..anguished face
+1F628..1F62B   #  6.0  [4] (😨..😫)    fearful face..tired face
+# 1F62C                #  6.1  [1] (😬)       grimacing face
+1F62D          #  6.0  [1] (😭)       loudly crying face
+# 1F62E..1F62F         #  6.1  [2] (😮..😯)    face with open mouth..hushed face
+1F630..1F633   #  6.0  [4] (😰..😳)    face with open mouth & cold sweat..flushed face
+# 1F634                #  6.1  [1] (😴)       sleeping face
+1F635..1F640   #  6.0 [12] (😵..🙀)    dizzy face..weary cat face
+# 1F641..1F642         #  7.0  [2] (🙁..🙂)    slightly frowning face..slightly smiling face
+# 1F643..1F644         #  8.0  [2] (🙃..🙄)    upside-down face..face with rolling eyes
+1F645..1F64F   #  6.0 [11] (🙅..🙏)    person gesturing NO..folded hands
+# 1F680..1F6C5         #  6.0 [70] (🚀..🛅)    rocket..left luggage
+# 1F6CC                #  7.0  [1] (🛌)       person in bed
+# 1F6D0                #  8.0  [1] (🛐)       place of worship
+# 1F6D1..1F6D2         #  9.0  [2] (🛑..🛒)    stop sign..shopping cart
+# 1F6EB..1F6EC         #  7.0  [2] (🛫..🛬)    airplane departure..airplane arrival
+# 1F6F4..1F6F6         #  9.0  [3] (🛴..🛶)    kick scooter..canoe
+# 1F6F7..1F6F8         # 10.0  [2] (🛷..🛸)    sled..flying saucer
+# 1F910..1F918         #  8.0  [9] (🤐..🤘)    zipper-mouth face..sign of the horns
+# 1F919..1F91E         #  9.0  [6] (🤙..🤞)    call me hand..crossed fingers
+# 1F91F                # 10.0  [1] (🤟)       love-you gesture
+# 1F920..1F927         #  9.0  [8] (🤠..🤧)    cowboy hat face..sneezing face
+# 1F928..1F92F         # 10.0  [8] (🤨..🤯)    face with raised eyebrow..exploding head
+# 1F930                #  9.0  [1] (🤰)       pregnant woman
+# 1F931..1F932         # 10.0  [2] (🤱..🤲)    breast-feeding..palms up together
+# 1F933..1F93A         #  9.0  [8] (🤳..🤺)    selfie..person fencing
+# 1F93C..1F93E         #  9.0  [3] (🤼..🤾)    people wrestling..person playing handball
+# 1F940..1F945         #  9.0  [6] (🥀..🥅)    wilted flower..goal net
+# 1F947..1F94B         #  9.0  [5] (🥇..🥋)    1st place medal..martial arts uniform
+# 1F94C                # 10.0  [1] (🥌)       curling stone
+# 1F950..1F95E         #  9.0 [15] (🥐..🥞)    croissant..pancakes
+# 1F95F..1F96B         # 10.0 [13] (🥟..🥫)    dumpling..canned food
+# 1F980..1F984         #  8.0  [5] (🦀..🦄)    crab..unicorn face
+# 1F985..1F991         #  9.0 [13] (🦅..🦑)    eagle..squid
+# 1F992..1F997         # 10.0  [6] (🦒..🦗)    giraffe..cricket
+# 1F9C0                #  8.0  [1] (🧀)       cheese wedge
+# 1F9D0..1F9E6         # 10.0 [23] (🧐..🧦)    face with monocle..socks
index b8e1582..dd86470 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -118,10 +118,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -270,7 +275,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -282,8 +291,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -295,11 +308,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -319,15 +337,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -335,8 +351,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -383,13 +405,9 @@ 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@
index f6c7282..5cded50 100644 (file)
 #define HAVE_GETOPT 1
 #endif
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
 #ifndef HAVE_GETOPT
 #define HAVE_GETOPT 0
 #endif
@@ -49,6 +57,7 @@
 #include <getopt.h>
 const struct option longopts[] = {
     {"verbose", 0, 0, 'v'},
+    {"brief", 0, 0, 'b'},
     {"format", 1, 0, 'f'},
     {"quiet", 0, 0, 'q'},
     {"version", 0, 0, 'V'},
@@ -67,26 +76,28 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-vqVh] [-f FORMAT] [--verbose] [--format=FORMAT] [--quiet] [--version] [--help] [pattern] {element ...} \n",
+    fprintf (file, _("usage: %s [-vbqVh] [-f FORMAT] [--verbose] [--brief] [--format=FORMAT] [--quiet] [--version] [--help] [pattern] {element ...} \n"),
             program);
 #else
-    fprintf (file, "usage: %s [-vqVh] [-f FORMAT] [pattern] {element ...} \n",
+    fprintf (file, _("usage: %s [-vbqVh] [-f FORMAT] [pattern] {element ...} \n"),
             program);
 #endif
-    fprintf (file, "List fonts matching [pattern]\n");
+    fprintf (file, _("List fonts matching [pattern]\n"));
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
-    fprintf (file, "  -v, --verbose        display entire font pattern verbosely\n");
-    fprintf (file, "  -f, --format=FORMAT  use the given output format\n");
-    fprintf (file, "  -q, --quiet          suppress all normal output, exit 1 if no fonts matched\n");
-    fprintf (file, "  -V, --version        display font config version and exit\n");
-    fprintf (file, "  -h, --help           display this help and exit\n");
+    fprintf (file, _("  -v, --verbose        display entire font pattern verbosely\n"));
+    fprintf (file, _("  -b, --brief          display entire font pattern briefly\n"));
+    fprintf (file, _("  -f, --format=FORMAT  use the given output format\n"));
+    fprintf (file, _("  -q, --quiet          suppress all normal output, exit 1 if no fonts matched\n"));
+    fprintf (file, _("  -V, --version        display font config version and exit\n"));
+    fprintf (file, _("  -h, --help           display this help and exit\n"));
 #else
-    fprintf (file, "  -v         (verbose) display entire font pattern verbosely\n");
-    fprintf (file, "  -f FORMAT  (format)  use the given output format\n");
-    fprintf (file, "  -q,        (quiet)   suppress all normal output, exit 1 if no fonts matched\n");
-    fprintf (file, "  -V         (version) display font config version and exit\n");
-    fprintf (file, "  -h         (help)    display this help and exit\n");
+    fprintf (file, _("  -v         (verbose) display entire font pattern verbosely\n"));
+    fprintf (file, _("  -b         (brief)   display entire font pattern briefly\n"));
+    fprintf (file, _("  -f FORMAT  (format)  use the given output format\n"));
+    fprintf (file, _("  -q,        (quiet)   suppress all normal output, exit 1 if no fonts matched\n"));
+    fprintf (file, _("  -V         (version) display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)    display this help and exit\n"));
 #endif
     exit (error);
 }
@@ -95,6 +106,7 @@ int
 main (int argc, char **argv)
 {
     int                        verbose = 0;
+    int                        brief = 0;
     int                        quiet = 0;
     const FcChar8      *format = NULL;
     int                        nfont = 0;
@@ -106,15 +118,18 @@ main (int argc, char **argv)
     int                        c;
 
 #if HAVE_GETOPT_LONG
-    while ((c = getopt_long (argc, argv, "vf:qVh", longopts, NULL)) != -1)
+    while ((c = getopt_long (argc, argv, "vbf:qVh", longopts, NULL)) != -1)
 #else
-    while ((c = getopt (argc, argv, "vf:qVh")) != -1)
+    while ((c = getopt (argc, argv, "vbf:qVh")) != -1)
 #endif
     {
        switch (c) {
        case 'v':
            verbose = 1;
            break;
+       case 'b':
+           brief = 1;
+           break;
        case 'f':
            format = (FcChar8 *) strdup (optarg);
            break;
@@ -141,7 +156,7 @@ main (int argc, char **argv)
        pat = FcNameParse ((FcChar8 *) argv[i]);
        if (!pat)
        {
-           fputs ("Unable to parse the pattern\n", stderr);
+           fprintf (stderr, _("Unable to parse the pattern\n"));
            return 1;
        }
        while (argv[++i])
@@ -155,7 +170,7 @@ main (int argc, char **argv)
        pat = FcPatternCreate ();
     if (quiet && !os)
        os = FcObjectSetCreate ();
-    if (!verbose && !format && !os)
+    if (!verbose && !brief && !format && !os)
        os = FcObjectSetBuild (FC_FAMILY, FC_STYLE, FC_FILE, (char *) 0);
     if (!format)
         format = (const FcChar8 *) "%{=fclist}\n";
@@ -171,8 +186,13 @@ main (int argc, char **argv)
 
        for (j = 0; j < fs->nfont; j++)
        {
-           if (verbose)
+           if (verbose || brief)
            {
+               if (brief)
+               {
+                   FcPatternDel (fs->fonts[j], FC_CHARSET);
+                   FcPatternDel (fs->fonts[j], FC_LANG);
+               }
                FcPatternPrint (fs->fonts[j]);
            }
            else
index d5d22f0..b611edd 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -118,10 +118,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -270,7 +275,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -282,8 +291,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -295,11 +308,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -319,15 +337,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -335,8 +351,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -383,13 +405,9 @@ 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@
index f96c009..7902707 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
 #ifndef HAVE_GETOPT
 #define HAVE_GETOPT 0
 #endif
@@ -52,6 +60,7 @@ static const struct option longopts[] = {
     {"sort", 0, 0, 's'},
     {"all", 0, 0, 'a'},
     {"verbose", 0, 0, 'v'},
+    {"brief", 0, 0, 'b'},
     {"format", 1, 0, 'f'},
     {"version", 0, 0, 'V'},
     {"help", 0, 0, 'h'},
@@ -69,28 +78,30 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-savVh] [-f FORMAT] [--sort] [--all] [--verbose] [--format=FORMAT] [--version] [--help] [pattern] {element...}\n",
+    fprintf (file, _("usage: %s [-savbVh] [-f FORMAT] [--sort] [--all] [--verbose] [--brief] [--format=FORMAT] [--version] [--help] [pattern] {element...}\n"),
             program);
 #else
-    fprintf (file, "usage: %s [-savVh] [-f FORMAT] [pattern] {element...}\n",
+    fprintf (file, _("usage: %s [-savVh] [-f FORMAT] [pattern] {element...}\n"),
             program);
 #endif
-    fprintf (file, "List best font matching [pattern]\n");
+    fprintf (file, _("List best font matching [pattern]\n"));
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
-    fprintf (file, "  -s, --sort           display sorted list of matches\n");
-    fprintf (file, "  -a, --all            display unpruned sorted list of matches\n");
-    fprintf (file, "  -v, --verbose        display entire font pattern verbosely\n");
-    fprintf (file, "  -f, --format=FORMAT  use the given output format\n");
-    fprintf (file, "  -V, --version        display font config version and exit\n");
-    fprintf (file, "  -h, --help           display this help and exit\n");
+    fprintf (file, _("  -s, --sort           display sorted list of matches\n"));
+    fprintf (file, _("  -a, --all            display unpruned sorted list of matches\n"));
+    fprintf (file, _("  -v, --verbose        display entire font pattern verbosely\n"));
+    fprintf (file, _("  -b, --brief          display entire font pattern briefly\n"));
+    fprintf (file, _("  -f, --format=FORMAT  use the given output format\n"));
+    fprintf (file, _("  -V, --version        display font config version and exit\n"));
+    fprintf (file, _("  -h, --help           display this help and exit\n"));
 #else
-    fprintf (file, "  -s,        (sort)    display sorted list of matches\n");
-    fprintf (file, "  -a         (all)     display unpruned sorted list of matches\n");
-    fprintf (file, "  -v         (verbose) display entire font pattern verbosely\n");
-    fprintf (file, "  -f FORMAT  (format)  use the given output format\n");
-    fprintf (file, "  -V         (version) display font config version and exit\n");
-    fprintf (file, "  -h         (help)    display this help and exit\n");
+    fprintf (file, _("  -s,        (sort)    display sorted list of matches\n"));
+    fprintf (file, _("  -a         (all)     display unpruned sorted list of matches\n"));
+    fprintf (file, _("  -v         (verbose) display entire font pattern verbosely\n"));
+    fprintf (file, _("  -b         (brief)   display entire font pattern briefly\n"));
+    fprintf (file, _("  -f FORMAT  (format)  use the given output format\n"));
+    fprintf (file, _("  -V         (version) display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)    display this help and exit\n"));
 #endif
     exit (error);
 }
@@ -99,6 +110,7 @@ int
 main (int argc, char **argv)
 {
     int                        verbose = 0;
+    int                        brief = 0;
     int                        sort = 0, all = 0;
     const FcChar8      *format = NULL;
     int                        i;
@@ -110,9 +122,9 @@ main (int argc, char **argv)
     int                        c;
 
 #if HAVE_GETOPT_LONG
-    while ((c = getopt_long (argc, argv, "asvf:Vh", longopts, NULL)) != -1)
+    while ((c = getopt_long (argc, argv, "asvbf:Vh", longopts, NULL)) != -1)
 #else
-    while ((c = getopt (argc, argv, "asvf:Vh")) != -1)
+    while ((c = getopt (argc, argv, "asvbf:Vh")) != -1)
 #endif
     {
        switch (c) {
@@ -125,6 +137,9 @@ main (int argc, char **argv)
        case 'v':
            verbose = 1;
            break;
+       case 'b':
+           brief = 1;
+           break;
        case 'f':
            format = (FcChar8 *) strdup (optarg);
            break;
@@ -148,7 +163,7 @@ main (int argc, char **argv)
        pat = FcNameParse ((FcChar8 *) argv[i]);
        if (!pat)
        {
-           fputs ("Unable to parse the pattern\n", stderr);
+           fprintf (stderr, _("Unable to parse the pattern\n"));
            return 1;
        }
        while (argv[++i])
@@ -177,7 +192,7 @@ main (int argc, char **argv)
 
        if (!font_patterns || font_patterns->nfont == 0)
        {
-           fputs("No fonts installed on the system\n", stderr);
+           fprintf (stderr, _("No fonts installed on the system\n"));
            return 1;
        }
        for (j = 0; j < font_patterns->nfont; j++)
@@ -218,8 +233,13 @@ main (int argc, char **argv)
 
            font = FcPatternFilter (fs->fonts[j], os);
 
-           if (verbose)
+           if (verbose || brief)
            {
+               if (brief)
+               {
+                   FcPatternDel (font, FC_CHARSET);
+                   FcPatternDel (font, FC_LANG);
+               }
                FcPatternPrint (font);
            }
            else
index 4e4b6d4..e053e37 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -118,10 +118,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -270,7 +275,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -282,8 +291,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -295,11 +308,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -319,15 +337,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -335,8 +351,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -383,13 +405,9 @@ 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@
index d2279cb..f63761c 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
 #ifndef HAVE_GETOPT
 #define HAVE_GETOPT 0
 #endif
@@ -68,26 +76,26 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-cdVh] [-f FORMAT] [--config] [--default] [--verbose] [--format=FORMAT] [--version] [--help] [pattern] {element...}\n",
+    fprintf (file, _("usage: %s [-cdVh] [-f FORMAT] [--config] [--default] [--verbose] [--format=FORMAT] [--version] [--help] [pattern] {element...}\n"),
             program);
 #else
-    fprintf (file, "usage: %s [-cdVh] [-f FORMAT] [pattern] {element...}\n",
+    fprintf (file, _("usage: %s [-cdVh] [-f FORMAT] [pattern] {element...}\n"),
             program);
 #endif
-    fprintf (file, "List best font matching [pattern]\n");
+    fprintf (file, _("List best font matching [pattern]\n"));
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
-    fprintf (file, "  -c, --config         perform config substitution on pattern\n");
-    fprintf (file, "  -d, -default         perform default substitution on pattern\n");
-    fprintf (file, "  -f, --format=FORMAT  use the given output format\n");
-    fprintf (file, "  -V, --version        display font config version and exit\n");
-    fprintf (file, "  -h, --help           display this help and exit\n");
+    fprintf (file, _("  -c, --config         perform config substitution on pattern\n"));
+    fprintf (file, _("  -d, --default        perform default substitution on pattern\n"));
+    fprintf (file, _("  -f, --format=FORMAT  use the given output format\n"));
+    fprintf (file, _("  -V, --version        display font config version and exit\n"));
+    fprintf (file, _("  -h, --help           display this help and exit\n"));
 #else
-    fprintf (file, "  -c,        (config)  perform config substitution on pattern\n");
-    fprintf (file, "  -d,        (default) perform default substitution on pattern\n");
-    fprintf (file, "  -f FORMAT  (format)  use the given output format\n");
-    fprintf (file, "  -V         (version) display font config version and exit\n");
-    fprintf (file, "  -h         (help)    display this help and exit\n");
+    fprintf (file, _("  -c,        (config)  perform config substitution on pattern\n"));
+    fprintf (file, _("  -d,        (default) perform default substitution on pattern\n"));
+    fprintf (file, _("  -f FORMAT  (format)  use the given output format\n"));
+    fprintf (file, _("  -V         (version) display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)    display this help and exit\n"));
 #endif
     exit (error);
 }
@@ -139,7 +147,7 @@ main (int argc, char **argv)
        pat = FcNameParse ((FcChar8 *) argv[i]);
        if (!pat)
        {
-           fputs ("Unable to parse the pattern\n", stderr);
+           fprintf (stderr, _("Unable to parse the pattern\n"));
            return 1;
        }
        while (argv[++i])
index 0ee25fe..ff7722c 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -118,10 +118,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -270,7 +275,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -282,8 +291,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -295,11 +308,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -319,15 +337,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -335,8 +351,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -383,13 +405,9 @@ 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@
index 9bd3980..9da090d 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
 #ifndef HAVE_GETOPT
 #define HAVE_GETOPT 0
 #endif
@@ -52,8 +60,8 @@
 #define _GNU_SOURCE
 #include <getopt.h>
 static const struct option longopts[] = {
-    {"ignore-blanks", 0, 0, 'b'},
     {"index", 1, 0, 'i'},
+    {"brief", 0, 0, 'b'},
     {"format", 1, 0, 'f'},
     {"version", 0, 0, 'V'},
     {"help", 0, 0, 'h'},
@@ -71,26 +79,26 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-Vbh] [-i index] [-f FORMAT] [--ignore-blanks] [--index index] [--format FORMAT] [--version] [--help] font-file...\n",
+    fprintf (file, _("usage: %s [-bVh] [-i index] [-f FORMAT] [--index index] [--brief] [--format FORMAT] [--version] [--help] font-file...\n"),
             program);
 #else
-    fprintf (file, "usage: %s [-Vbh] [-i index] [-f FORMAT] font-file...\n",
+    fprintf (file, _("usage: %s [-bVh] [-i index] [-f FORMAT] font-file...\n"),
             program);
 #endif
-    fprintf (file, "Query font files and print resulting pattern(s)\n");
+    fprintf (file, _("Query font files and print resulting pattern(s)\n"));
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
-    fprintf (file, "  -b, --ignore-blanks  ignore blanks to compute langauges\n");
-    fprintf (file, "  -i, --index INDEX    display the INDEX face of each font file only\n");
-    fprintf (file, "  -f, --format=FORMAT  use the given output format\n");
-    fprintf (file, "  -V, --version        display font config version and exit\n");
-    fprintf (file, "  -h, --help           display this help and exit\n");
+    fprintf (file, _("  -i, --index INDEX    display the INDEX face of each font file only\n"));
+    fprintf (file, _("  -b, --brief          display font pattern briefly\n"));
+    fprintf (file, _("  -f, --format=FORMAT  use the given output format\n"));
+    fprintf (file, _("  -V, --version        display font config version and exit\n"));
+    fprintf (file, _("  -h, --help           display this help and exit\n"));
 #else
-    fprintf (file, "  -b         (ignore-blanks) ignore blanks to compute languages\n");
-    fprintf (file, "  -i INDEX   (index)         display the INDEX face of each font file only\n");
-    fprintf (file, "  -f FORMAT  (format)        use the given output format\n");
-    fprintf (file, "  -V         (version)       display font config version and exit\n");
-    fprintf (file, "  -h         (help)          display this help and exit\n");
+    fprintf (file, _("  -i INDEX   (index)         display the INDEX face of each font file only\n"));
+    fprintf (file, _("  -b         (brief)         display font pattern briefly\n"));
+    fprintf (file, _("  -f FORMAT  (format)        use the given output format\n"));
+    fprintf (file, _("  -V         (version)       display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)          display this help and exit\n"));
 #endif
     exit (error);
 }
@@ -98,29 +106,27 @@ usage (char *program, int error)
 int
 main (int argc, char **argv)
 {
-    int                index_set = 0;
-    int                set_index = 0;
-    int                ignore_blanks = 0;
+    unsigned int id = (unsigned int) -1;
+    int         brief = 0;
+    FcFontSet   *fs;
     FcChar8     *format = NULL;
-    FcBlanks    *blanks = NULL;
     int                err = 0;
     int                i;
 #if HAVE_GETOPT_LONG || HAVE_GETOPT
     int                c;
 
 #if HAVE_GETOPT_LONG
-    while ((c = getopt_long (argc, argv, "bi:f:Vh", longopts, NULL)) != -1)
+    while ((c = getopt_long (argc, argv, "i:bf:Vh", longopts, NULL)) != -1)
 #else
-    while ((c = getopt (argc, argv, "bi:f:Vh")) != -1)
+    while ((c = getopt (argc, argv, "i:bf:Vh")) != -1)
 #endif
     {
        switch (c) {
-       case 'b':
-           ignore_blanks = 1;
-           break;
        case 'i':
-           index_set = 1;
-           set_index = atoi (optarg);
+           id = (unsigned int) strtol (optarg, NULL, 0); /* strtol() To handle -1. */
+           break;
+       case 'b':
+           brief = 1;
            break;
        case 'f':
            format = (FcChar8 *) strdup (optarg);
@@ -143,50 +149,46 @@ main (int argc, char **argv)
     if (i == argc)
        usage (argv[0], 1);
 
-    if (!ignore_blanks)
-       blanks = FcConfigGetBlanks (NULL);
+    fs = FcFontSetCreate ();
+
     for (; i < argc; i++)
     {
-       int index;
-       int count = 0;
+       if (!FcFreeTypeQueryAll ((FcChar8*) argv[i], id, NULL, NULL, fs))
+       {
+           fprintf (stderr, _("Can't query face %u of font file %s\n"), id, argv[i]);
+           err = 1;
+       }
+    }
 
-       index = set_index;
+    for (i = 0; i < fs->nfont; i++)
+    {
+       FcPattern *pat = fs->fonts[i];
 
-       do {
-           FcPattern *pat;
+       if (brief)
+       {
+           FcPatternDel (pat, FC_CHARSET);
+           FcPatternDel (pat, FC_LANG);
+       }
 
-           pat = FcFreeTypeQuery ((FcChar8 *) argv[i], index, blanks, &count);
-           if (pat)
-           {
-               if (format)
-               {
-                   FcChar8 *s;
-
-                   s = FcPatternFormat (pat, format);
-                   if (s)
-                   {
-                       printf ("%s", s);
-                       FcStrFree (s);
-                   }
-               }
-               else
-               {
-                   FcPatternPrint (pat);
-               }
-
-               FcPatternDestroy (pat);
-           }
-           else
+       if (format)
+       {
+           FcChar8 *s;
+
+           s = FcPatternFormat (pat, format);
+           if (s)
            {
-               fprintf (stderr, "Can't query face %d of font file %s\n",
-                        index, argv[i]);
-               err = 1;
+               printf ("%s", s);
+               FcStrFree (s);
            }
-
-           index++;
-       } while (!index_set && index < count);
+       }
+       else
+       {
+           FcPatternPrint (pat);
+       }
     }
 
+    FcFontSetDestroy (fs);
+
     FcFini ();
     return err;
 }
index a0e0901..776561c 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -118,10 +118,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -270,7 +275,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -282,8 +291,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -295,11 +308,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -319,15 +337,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -335,8 +351,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -383,13 +405,9 @@ 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@
index ecb5279..b1714c2 100644 (file)
@@ -4,9 +4,9 @@
 fc-scan \- scan font files or directories
 .SH SYNOPSIS
 .sp
-\fBfc-scan\fR [ \fB-Vbh\fR ] 
+\fBfc-scan\fR [ \fB-Vh\fR ] 
 
- [ \fB [ -b ]  [ --ignore-blanks ] \fR ]  [ \fB [ -f \fIformat\fB ]  [ --format \fIformat\fB ] \fR ]  [ \fB--version\fR ]  [ \fB--help\fR ]  \fB\fIfile\fB\fR\fI...\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
@@ -18,9 +18,6 @@ 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-b\fR
-Ignore blanks to compute languages
-.TP
 \fB-f\fR
 Format output according to the format specifier
 \fIformat\fR\&.
index 4d0b1db..edb967c 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
 #ifndef HAVE_GETOPT
 #define HAVE_GETOPT 0
 #endif
@@ -52,7 +60,7 @@
 #define _GNU_SOURCE
 #include <getopt.h>
 static const struct option longopts[] = {
-    {"ignore-blanks", 0, 0, 'b'},
+    {"brief", 0, 0, 'b'},
     {"format", 1, 0, 'f'},
     {"version", 0, 0, 'V'},
     {"help", 0, 0, 'h'},
@@ -70,24 +78,24 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-Vbh] [-f FORMAT] [--ignore-blanks] [--format FORMAT] [--version] [--help] font-file...\n",
+    fprintf (file, _("usage: %s [-bVh] [-f FORMAT] [--brief] [--format FORMAT] [--version] [--help] font-file...\n"),
             program);
 #else
-    fprintf (file, "usage: %s [-Vbh] [-f FORMAT] font-file...\n",
+    fprintf (file, _("usage: %s [-bVh] [-f FORMAT] font-file...\n"),
             program);
 #endif
-    fprintf (file, "Scan font files and directories, and print resulting pattern(s)\n");
+    fprintf (file, _("Scan font files and directories, and print resulting pattern(s)\n"));
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
-    fprintf (file, "  -b, --ignore-blanks  ignore blanks to compute languages\n");
-    fprintf (file, "  -f, --format=FORMAT  use the given output format\n");
-    fprintf (file, "  -V, --version        display font config version and exit\n");
-    fprintf (file, "  -h, --help           display this help and exit\n");
+    fprintf (file, _("  -b, --brief          display font pattern briefly\n"));
+    fprintf (file, _("  -f, --format=FORMAT  use the given output format\n"));
+    fprintf (file, _("  -V, --version        display font config version and exit\n"));
+    fprintf (file, _("  -h, --help           display this help and exit\n"));
 #else
-    fprintf (file, "  -b         (ignore-blanks) ignore blanks to compute languages\n");
-    fprintf (file, "  -f FORMAT  (format)        use the given output format\n");
-    fprintf (file, "  -V         (version)       display font config version and exit\n");
-    fprintf (file, "  -h         (help)          display this help and exit\n");
+    fprintf (file, _("  -b         (brief)         display font pattern briefly\n"));
+    fprintf (file, _("  -f FORMAT  (format)        use the given output format\n"));
+    fprintf (file, _("  -V         (version)       display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)          display this help and exit\n"));
 #endif
     exit (error);
 }
@@ -95,11 +103,10 @@ usage (char *program, int error)
 int
 main (int argc, char **argv)
 {
+    int         brief = 0;
     FcChar8     *format = NULL;
     int                i;
-    int                ignore_blanks = 0;
     FcFontSet   *fs;
-    FcBlanks    *blanks = NULL;
 #if HAVE_GETOPT_LONG || HAVE_GETOPT
     int                c;
 
@@ -111,7 +118,7 @@ main (int argc, char **argv)
     {
        switch (c) {
        case 'b':
-           ignore_blanks = 1;
+           brief = 1;
            break;
        case 'f':
            format = (FcChar8 *) strdup (optarg);
@@ -135,22 +142,20 @@ main (int argc, char **argv)
        usage (argv[0], 1);
 
     fs = FcFontSetCreate ();
-    if (!ignore_blanks)
-       blanks = FcConfigGetBlanks (NULL);
 
     for (; i < argc; i++)
     {
        const FcChar8 *file = (FcChar8*) argv[i];
 
        if (!FcFileIsDir (file))
-           FcFileScan (fs, NULL, NULL, blanks, file, FcTrue);
+           FcFileScan (fs, NULL, NULL, NULL, file, FcTrue);
        else
        {
            FcStrSet *dirs = FcStrSetCreate ();
            FcStrList *strlist = FcStrListCreate (dirs);
            do
            {
-               FcDirScan (fs, dirs, NULL, blanks, file, FcTrue);
+               FcDirScan (fs, dirs, NULL, NULL, file, FcTrue);
            }
            while ((file = FcStrListNext (strlist)));
            FcStrListDone (strlist);
@@ -160,9 +165,13 @@ main (int argc, char **argv)
 
     for (i = 0; i < fs->nfont; i++)
     {
-       FcPattern *pat;
+       FcPattern *pat = fs->fonts[i];
 
-       pat = fs->fonts[i];
+       if (brief)
+       {
+           FcPatternDel (pat, FC_CHARSET);
+           FcPatternDel (pat, FC_LANG);
+       }
 
        if (format)
        {
index 65a66c4..9af403c 100644 (file)
@@ -62,13 +62,9 @@ manpage.1: manpage.sgml
     <cmdsynopsis>
       <command>&dhpackage;</command>
 
-      <arg><option>-Vbh</option></arg>
+      <arg><option>-Vh</option></arg>
       <sbr>
       <group>
-       <arg><option>-b</option></arg>
-       <arg><option>--ignore-blanks</option></arg>
-      </group>
-      <group>
         <arg><option>-f</option> <option><replaceable>format</replaceable></option></arg>
         <arg><option>--format</option> <option><replaceable>format</replaceable></option></arg>
       </group>
@@ -95,14 +91,6 @@ manpage.1: manpage.sgml
 
     <variablelist>
       <varlistentry>
-       <term><option>-b</option>
-         <option>--ignore-blanks</option>
-       </term>
-       <listitem>
-         <para>Ignore blanks to compute languages</para>
-       </listitem>
-      </varlistentry>
-      <varlistentry>
         <term><option>-f</option>
           <option>--format</option>
          <option><replaceable>format</replaceable></option>
index 782cead..c485aa5 100644 (file)
@@ -1,5 +1,5 @@
 #
-#  fontconfig/fc-query/Makefile.am
+#  fontconfig/fc-validate/Makefile.am
 #
 #  Copyright © 2003 Keith Packard
 #
index f3dcea8..ede2808 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 #
-#  fontconfig/fc-query/Makefile.am
+#  fontconfig/fc-validate/Makefile.am
 #
 #  Copyright © 2003 Keith Packard
 #
@@ -118,10 +118,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -272,7 +277,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -284,8 +293,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -297,11 +310,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -321,15 +339,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -337,8 +353,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -385,13 +407,9 @@ 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@
index 6ecff36..2ceee20 100644 (file)
 #include <string.h>
 #include <locale.h>
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
 #ifndef HAVE_GETOPT
 #define HAVE_GETOPT 0
 #endif
@@ -72,26 +80,26 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--verbose] [--version] [--help] font-file...\n",
+    fprintf (file, _("usage: %s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--verbose] [--version] [--help] font-file...\n"),
             program);
 #else
-    fprintf (file, "usage: %s [-Vhv] [-i index] [-l LANG] font-file...\n",
+    fprintf (file, _("usage: %s [-Vhv] [-i index] [-l LANG] font-file...\n"),
             program);
 #endif
-    fprintf (file, "Validate font files and print result\n");
+    fprintf (file, _("Validate font files and print result\n"));
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
-    fprintf (file, "  -i, --index INDEX    display the INDEX face of each font file only\n");
-    fprintf (file, "  -l, --lang=LANG      set LANG instead of current locale\n");
-    fprintf (file, "  -v, --verbose        show more detailed information\n");
-    fprintf (file, "  -V, --version        display font config version and exit\n");
-    fprintf (file, "  -h, --help           display this help and exit\n");
+    fprintf (file, _("  -i, --index INDEX    display the INDEX face of each font file only\n"));
+    fprintf (file, _("  -l, --lang=LANG      set LANG instead of current locale\n"));
+    fprintf (file, _("  -v, --verbose        show more detailed information\n"));
+    fprintf (file, _("  -V, --version        display font config version and exit\n"));
+    fprintf (file, _("  -h, --help           display this help and exit\n"));
 #else
-    fprintf (file, "  -i INDEX   (index)        display the INDEX face of each font file only\n");
-    fprintf (file, "  -l LANG    (lang)         set LANG instead of current locale\n");
-    fprintf (file, "  -v         (verbose)      show more detailed information\n");
-    fprintf (file, "  -V         (version)      display font config version and exit\n");
-    fprintf (file, "  -h         (help)         display this help and exit\n");
+    fprintf (file, _("  -i INDEX   (index)        display the INDEX face of each font file only\n"));
+    fprintf (file, _("  -l LANG    (lang)         set LANG instead of current locale\n"));
+    fprintf (file, _("  -v         (verbose)      show more detailed information\n"));
+    fprintf (file, _("  -V         (version)      display font config version and exit\n"));
+    fprintf (file, _("  -h         (help)         display this help and exit\n"));
 #endif
     exit (error);
 }
@@ -156,7 +164,7 @@ main (int argc, char **argv)
 
     if (FT_Init_FreeType (&ftlib))
     {
-       fprintf (stderr, "Can't initalize FreeType library\n");
+       fprintf (stderr, _("Can't initalize FreeType library\n"));
        return 1;
     }
 
@@ -174,7 +182,7 @@ main (int argc, char **argv)
            {
                if (!index_set && index > 0)
                    break;
-               fprintf (stderr, "Unable to open %s\n", argv[i]);
+               fprintf (stderr, _("Unable to open %s\n"), argv[i]);
                err = 1;
            }
            else
@@ -189,7 +197,7 @@ main (int argc, char **argv)
                {
                    FcChar32 ucs4, pos, map[FC_CHARSET_MAP_SIZE];
 
-                   printf ("%s:%d Missing %d glyph(s) to satisfy the coverage for %s language\n",
+                   printf (_("%s:%d Missing %d glyph(s) to satisfy the coverage for %s language\n"),
                            argv[i], index, count, lang);
 
                    if (verbose)
@@ -219,7 +227,7 @@ main (int argc, char **argv)
                }
                else
                {
-                   printf ("%s:%d Satisfy the coverage for %s language\n", argv[i], index, lang);
+                   printf (_("%s:%d Satisfy the coverage for %s language\n"), argv[i], index, lang);
                }
 
                FcCharSetDestroy (fcs);
index fa00a72..61b35fb 100644 (file)
@@ -14,5 +14,5 @@ Version: @VERSION@
 Requires: @PKGCONFIG_REQUIRES@
 Requires.private: @PKGCONFIG_REQUIRES_PRIVATELY@
 Libs: -L${libdir} -lfontconfig
-Libs.private: @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@ @LIBXML2_LIBS@
-Cflags: -I${includedir} @EXPAT_CFLAGS@ @FREETYPE_CFLAGS@ @ICONV_CFLAGS@ @LIBXML2_CFLAGS@
+Libs.private: @ICONV_LIBS@ @PKG_EXPAT_LIBS@
+Cflags: -I${includedir} @ICONV_CFLAGS@ @PKG_EXPAT_CFLAGS@
index 402515e..e622914 100644 (file)
@@ -4,7 +4,7 @@
 
 Summary:       Font configuration and customization library
 Name:          fontconfig
-Version:       2.12.1
+Version:       2.13.0
 Release:       1
 License:       MIT
 Group:         System Environment/Libraries
index 69c36ed..d79df21 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -93,10 +93,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(fontconfiginclude_HEADERS) \
@@ -214,7 +219,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -226,8 +235,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -239,11 +252,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -263,15 +281,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -279,8 +295,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -327,13 +349,9 @@ 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@
index 753fdf9..20b1128 100644 (file)
@@ -51,7 +51,7 @@ FcPatternAddFTFace (FcPattern *p, const char *object, const FT_Face f);
 FcPublic FcPattern *
 FcFreeTypeQueryFace (const FT_Face  face,
                     const FcChar8  *file,
-                    int            id,
+                    unsigned int   id,
                     FcBlanks       *blanks);
 
 _FCFUNCPROTOEND
index a6ee5c2..23021b2 100644 (file)
@@ -123,5 +123,12 @@ _FcObjectSetVapBuild_bail0:                                                \
     ;                                                                  \
 }
 
-#endif /* _FCPRIVATE_H_ */
+#ifndef FC_ATTRIBUTE_VISIBILITY_HIDDEN
+#define FC_ATTRIBUTE_VISIBILITY_HIDDEN __attribute((visibility("hidden")))
+#endif
+
+#ifndef FC_ATTRIBUTE_VISIBILITY_EXPORT
+#define FC_ATTRIBUTE_VISIBILITY_EXPORT __attribute((visibility("default")))
+#endif
 
+#endif /* _FCPRIVATE_H_ */
index 5c72b22..a89b22f 100644 (file)
@@ -28,6 +28,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdarg.h>
+#include <limits.h>
 
 #if defined(__GNUC__) && (__GNUC__ >= 4)
 #define FC_ATTRIBUTE_SENTINEL(x) __attribute__((__sentinel__(0)))
@@ -51,8 +52,8 @@ typedef int           FcBool;
  */
 
 #define FC_MAJOR       2
-#define FC_MINOR       12
-#define FC_REVISION    1
+#define FC_MINOR       13
+#define FC_REVISION    0
 
 #define FC_VERSION     ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
 
@@ -71,8 +72,9 @@ typedef int           FcBool;
 #define _FC_STRINGIFY(s)       _FC_STRINGIFY_(s)
 #define FC_CACHE_VERSION       _FC_STRINGIFY(FC_CACHE_VERSION_NUMBER)
 
-#define FcTrue         1
 #define FcFalse                0
+#define FcTrue         1
+#define FcDontCare     2
 
 #define FC_FAMILY          "family"            /* String */
 #define FC_STYLE           "style"             /* String */
@@ -98,6 +100,7 @@ typedef int          FcBool;
 #define FC_OUTLINE         "outline"           /* Bool */
 #define FC_SCALABLE        "scalable"          /* Bool */
 #define FC_COLOR           "color"             /* Bool */
+#define FC_VARIABLE        "variable"          /* Bool */
 #define FC_SCALE           "scale"             /* double (deprecated) */
 #define FC_SYMBOL          "symbol"            /* Bool */
 #define FC_DPI             "dpi"               /* double */
@@ -118,6 +121,7 @@ typedef int         FcBool;
 #define FC_DECORATIVE      "decorative"        /* Bool - true if style is a decorative variant */
 #define FC_LCD_FILTER      "lcdfilter"         /* Int */
 #define FC_FONT_FEATURES    "fontfeatures"     /* String */
+#define FC_FONT_VARIATIONS  "fontvariations"   /* String */
 #define FC_NAMELANG        "namelang"          /* String RFC 3866 langs */
 #define FC_PRGNAME         "prgname"           /* String */
 #define FC_HASH                    "hash"              /* String (deprecated) */
@@ -128,7 +132,8 @@ typedef int         FcBool;
 #define FC_USER_CACHE_FILE         ".fonts.cache-" FC_CACHE_VERSION
 
 /* Adjust outline rasterizer */
-#define FC_CHAR_WIDTH      "charwidth" /* Int */
+#define FC_CHARWIDTH       "charwidth" /* Int */
+#define FC_CHAR_WIDTH      FC_CHARWIDTH
 #define FC_CHAR_HEIGHT     "charheight"/* Int */
 #define FC_MATRIX          "matrix"    /* FcMatrix */
 
@@ -235,6 +240,12 @@ typedef enum _FcResult {
     FcResultOutOfMemory
 } FcResult;
 
+typedef enum _FcValueBinding {
+    FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame,
+    /* to make sure sizeof (FcValueBinding) == 4 even with -fshort-enums */
+    FcValueBindingEnd = INT_MAX
+} FcValueBinding;
+
 typedef struct _FcPattern   FcPattern;
 
 typedef struct _FcLangSet   FcLangSet;
@@ -269,7 +280,9 @@ typedef struct _FcObjectSet {
 } FcObjectSet;
     
 typedef enum _FcMatchKind {
-    FcMatchPattern, FcMatchFont, FcMatchScan
+    FcMatchPattern, FcMatchFont, FcMatchScan,
+    FcMatchKindEnd,
+    FcMatchKindBegin = FcMatchPattern
 } FcMatchKind;
 
 typedef enum _FcLangResult {
@@ -284,6 +297,12 @@ typedef enum _FcSetName {
     FcSetApplication = 1
 } FcSetName;
 
+typedef struct _FcConfigFileInfoIter {
+    void       *dummy1;
+    void       *dummy2;
+    void       *dummy3;
+} FcConfigFileInfoIter;
+
 typedef struct _FcAtomic FcAtomic;
 
 #if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
@@ -352,6 +371,11 @@ FcDirCacheClean (const FcChar8 *cache_dir, FcBool verbose);
 FcPublic void
 FcCacheCreateTagFile (const FcConfig *config);
 
+FcPublic FcBool
+FcDirCacheCreateUUID (FcChar8  *dir,
+                     FcBool    force,
+                     FcConfig *config);
+
 /* fccfg.c */
 FcPublic FcChar8 *
 FcConfigHome (void);
@@ -440,6 +464,21 @@ FcPublic void
 FcConfigSetSysRoot (FcConfig      *config,
                    const FcChar8 *sysroot);
 
+FcPublic void
+FcConfigFileInfoIterInit (FcConfig             *config,
+                         FcConfigFileInfoIter  *iter);
+
+FcPublic FcBool
+FcConfigFileInfoIterNext (FcConfig             *config,
+                         FcConfigFileInfoIter  *iter);
+
+FcPublic FcBool
+FcConfigFileInfoIterGet (FcConfig              *config,
+                        FcConfigFileInfoIter   *iter,
+                        FcChar8                **name,
+                        FcChar8                **description,
+                        FcBool                 *enabled);
+
 /* fccharset.c */
 FcPublic FcCharSet*
 FcCharSetCreate (void);
@@ -567,7 +606,10 @@ FcDirCacheUnload (FcCache *cache);
 
 /* fcfreetype.c */
 FcPublic FcPattern *
-FcFreeTypeQuery (const FcChar8 *file, int id, FcBlanks *blanks, int *count);
+FcFreeTypeQuery (const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count);
+
+FcPublic unsigned int
+FcFreeTypeQueryAll(const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count, FcFontSet *set);
 
 /* fcfs.c */
 
@@ -836,7 +878,10 @@ FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append
     
 FcPublic FcResult
 FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v);
-    
+
+FcPublic FcResult
+FcPatternGetWithBinding (const FcPattern *p, const char *object, int id, FcValue *v, FcValueBinding *b);
+
 FcPublic FcBool
 FcPatternDel (FcPattern *p, const char *object);
 
@@ -921,9 +966,15 @@ FcRangeGetDouble(const FcRange *range, double *begin, double *end);
 FcPublic int
 FcWeightFromOpenType (int ot_weight);
 
+FcPublic double
+FcWeightFromOpenTypeDouble (double ot_weight);
+
 FcPublic int
 FcWeightToOpenType (int fc_weight);
 
+FcPublic double
+FcWeightToOpenTypeDouble (double fc_weight);
+
 /* fcstr.c */
 
 FcPublic FcChar8 *
@@ -1031,6 +1082,11 @@ FcStrListDone (FcStrList *list);
 FcPublic FcBool
 FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain);
 
+FcPublic FcBool
+FcConfigParseAndLoadFromMemory (FcConfig       *config,
+                               const FcChar8  *buffer,
+                               FcBool         complain);
+
 _FCFUNCPROTOEND
 
 #undef FC_ATTRIBUTE_SENTINEL
index 7c16a70..2019923 100644 (file)
@@ -2,6 +2,11 @@
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <!-- /etc/fonts/fonts.conf file to configure system font access -->
 <fontconfig>
+       <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+               <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+       </its:rules>
+
+       <description>Default configuration file</description>
 
 <!--
        DO NOT EDIT THIS FILE.
index 0b0fdcb..0360b79 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2016-01-11.22; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -496,6 +496,6 @@ done
 # 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-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/its/Makefile.am b/its/Makefile.am
new file mode 100644 (file)
index 0000000..1774fe7
--- /dev/null
@@ -0,0 +1,11 @@
+NULL =
+EXTRA_DIST =                   \
+       $(gettextits_DATA)      \
+       $(NULL)
+
+gettextitsdir = $(datadir)/gettext/its
+gettextits_DATA =      \
+       fontconfig.its  \
+       fontconfig.loc
+
+-include $(top_srcdir)/git.mk
similarity index 71%
rename from fc-blanks/Makefile.in
rename to its/Makefile.in
index 1b75bdc..ce751f1 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 
 @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 = { \
   if test -z '$(MAKELEVEL)'; then \
@@ -111,24 +88,27 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-subdir = fc-blanks
+subdir = its
 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
-       $(am__DIST_COMMON)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 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
@@ -148,26 +128,36 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-HEADERS = $(noinst_HEADERS)
+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)$(gettextitsdir)"
+DATA = $(gettextits_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__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
@@ -210,7 +200,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -222,8 +216,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -235,11 +233,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -259,15 +262,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -275,8 +276,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -323,13 +330,9 @@ 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@
@@ -339,18 +342,15 @@ 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)         \
+       $(gettextits_DATA)      \
        $(NULL)
 
-DISTCLEANFILES = $(BLANKS_H)
+gettextitsdir = $(datadir)/gettext/its
+gettextits_DATA = \
+       fontconfig.its  \
+       fontconfig.loc
+
 all: all-am
 
 .SUFFIXES:
@@ -363,9 +363,9 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-blanks/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu its/Makefile'; \
        $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu fc-blanks/Makefile
+         $(AUTOMAKE) --gnu its/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
          *config.status*) \
@@ -389,58 +389,33 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
+install-gettextitsDATA: $(gettextits_DATA)
+       @$(NORMAL_INSTALL)
+       @list='$(gettextits_DATA)'; test -n "$(gettextitsdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(gettextitsdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(gettextitsdir)" || 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)$(gettextitsdir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(gettextitsdir)" || exit $$?; \
+       done
 
-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
+uninstall-gettextitsDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(gettextits_DATA)'; test -n "$(gettextitsdir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       dir='$(DESTDIR)$(gettextitsdir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
 
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -474,8 +449,11 @@ distdir: $(DISTFILES)
        done
 check-am: all-am
 check: check-am
-all-am: Makefile $(SCRIPTS) $(HEADERS)
+all-am: Makefile $(DATA)
 installdirs:
+       for dir in "$(DESTDIR)$(gettextitsdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
 install: install-am
 install-exec: install-exec-am
 install-data: install-data-am
@@ -502,7 +480,6 @@ 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"
@@ -513,7 +490,7 @@ clean-am: clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-am
        -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
+distclean-am: clean-am distclean-generic
 
 dvi: dvi-am
 
@@ -527,7 +504,7 @@ info: info-am
 
 info-am:
 
-install-data-am:
+install-data-am: install-gettextitsDATA
 
 install-dvi: install-dvi-am
 
@@ -571,32 +548,26 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am:
+uninstall-am: uninstall-gettextitsDATA
 
 .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 \
+.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-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am \
+       install-gettextitsDATA 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
+       mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+       uninstall-am uninstall-gettextitsDATA
 
 .PRECIOUS: Makefile
 
 
-$(BLANKS_H): $(TMPL) $(BLANKSPY)
-@HAVE_PYTHON_TRUE@     $(AM_V_GEN) $(PYTHON) $(srcdir)/$(BLANKSPY) < $< > $(BLANKS_H).tmp && \
-@HAVE_PYTHON_TRUE@     mv $(BLANKS_H).tmp $(BLANKS_H) || ($(RM) $(BLANKS_H).tmp && false)
-@HAVE_PYTHON_FALSE@    @echo "No python installed. please install python to build $(BLANKS_H)."
-@HAVE_PYTHON_FALSE@    @false
-
 -include $(top_srcdir)/git.mk
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/its/fontconfig.its b/its/fontconfig.its
new file mode 100644 (file)
index 0000000..9f35922
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+       <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+</its:rules>
diff --git a/its/fontconfig.loc b/its/fontconfig.loc
new file mode 100644 (file)
index 0000000..5bc4f6c
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<locatingRules>
+       <locatingRule name="Fontconfig" pattern="*.conf">
+               <documentRule localName="fontconfig" target="fontconfig.its"/>
+       </locatingRule>
+</locatingRules>
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644 (file)
index 0000000..eef5073
--- /dev/null
@@ -0,0 +1,420 @@
+# gettext.m4 serial 68 (gettext-0.19.8)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl    default (if it is not specified or empty) is 'no-libtool'.
+dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl    depending on --{enable,disable}-{shared,static} and on the presence of
+dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl    $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl    implementations (in libc or libintl) without the ngettext() function
+dnl    will be ignored.  If NEEDSYMBOL is specified and is
+dnl    'need-formatstring-macros', then GNU gettext implementations that don't
+dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries.  If empty,
+dnl    the value '$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl    and used.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl    Catalog format: none
+dnl    Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+  dnl Argument checking.
+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+    [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+  define([gt_included_intl],
+    ifelse([$1], [external],
+      ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
+      [yes]))
+  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+  gt_NEEDS_INIT
+  AM_GNU_GETTEXT_NEED([$2])
+
+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
+  ifelse(gt_included_intl, yes, [
+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
+  ])
+
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Sometimes libintl requires libiconv, so first search for libiconv.
+  dnl Ideally we would do this search only after the
+  dnl      if test "$USE_NLS" = "yes"; then
+  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+  dnl the configure script would need to contain the same shell code
+  dnl again, outside any 'if'. There are two solutions:
+  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+  dnl documented, we avoid it.
+  ifelse(gt_included_intl, yes, , [
+    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+  ])
+
+  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
+  gt_INTL_MACOSX
+
+  dnl Set USE_NLS.
+  AC_REQUIRE([AM_NLS])
+
+  ifelse(gt_included_intl, yes, [
+    BUILD_INCLUDED_LIBINTL=no
+    USE_INCLUDED_LIBINTL=no
+  ])
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+  dnl Add a version number to the cache macros.
+  case " $gt_needs " in
+    *" need-formatstring-macros "*) gt_api_version=3 ;;
+    *" need-ngettext "*) gt_api_version=2 ;;
+    *) gt_api_version=1 ;;
+  esac
+  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+  dnl If we use NLS figure out what method
+  if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+    ifelse(gt_included_intl, yes, [
+      AC_MSG_CHECKING([whether included gettext is requested])
+      AC_ARG_WITH([included-gettext],
+        [  --with-included-gettext use the GNU gettext library included here],
+        nls_cv_force_use_gnu_gettext=$withval,
+        nls_cv_force_use_gnu_gettext=no)
+      AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
+
+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+    ])
+        dnl User does not insist on using GNU NLS library.  Figure out what
+        dnl to use.  If GNU gettext is available we use this.  Else we have
+        dnl to fall back to GNU NLS library.
+
+        if test $gt_api_version -ge 3; then
+          gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+'
+        else
+          gt_revision_test_code=
+        fi
+        if test $gt_api_version -ge 2; then
+          gt_expression_test_code=' + * ngettext ("", "", 0)'
+        else
+          gt_expression_test_code=
+        fi
+
+        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
+         [AC_LINK_IFELSE(
+            [AC_LANG_PROGRAM(
+               [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+               ]],
+               [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+               ]])],
+            [eval "$gt_func_gnugettext_libc=yes"],
+            [eval "$gt_func_gnugettext_libc=no"])])
+
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+          dnl Sometimes libintl requires libiconv, so first search for libiconv.
+          ifelse(gt_included_intl, yes, , [
+            AM_ICONV_LINK
+          ])
+          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+          dnl even if libiconv doesn't exist.
+          AC_LIB_LINKFLAGS_BODY([intl])
+          AC_CACHE_CHECK([for GNU gettext in libintl],
+            [$gt_func_gnugettext_libintl],
+           [gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+            dnl Now see whether libintl exists and does not depend on libiconv.
+            AC_LINK_IFELSE(
+              [AC_LANG_PROGRAM(
+                 [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+                 ]],
+                 [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+                 ]])],
+              [eval "$gt_func_gnugettext_libintl=yes"],
+              [eval "$gt_func_gnugettext_libintl=no"])
+            dnl Now see whether libintl exists and depends on libiconv.
+            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              AC_LINK_IFELSE(
+                [AC_LANG_PROGRAM(
+                   [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+                   ]],
+                   [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+                   ]])],
+                [LIBINTL="$LIBINTL $LIBICONV"
+                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                 eval "$gt_func_gnugettext_libintl=yes"
+                ])
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"])
+        fi
+
+        dnl If an already present or preinstalled GNU gettext() is found,
+        dnl use it.  But if this macro is used in GNU gettext, and GNU
+        dnl gettext is already preinstalled in libintl, we update this
+        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+                && test "$PACKAGE" != gettext-runtime \
+                && test "$PACKAGE" != gettext-tools; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+          dnl Reset the values set by searching for libintl.
+          LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+    ifelse(gt_included_intl, yes, [
+        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+          dnl GNU gettext is not found in the C library.
+          dnl Fall back on included GNU gettext library.
+          nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
+        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+      fi
+
+      CATOBJEXT=
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions to use GNU gettext tools.
+        CATOBJEXT=.gmo
+      fi
+    ])
+
+    if test -n "$INTL_MACOSX_LIBS"; then
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Some extra flags are needed during linking.
+        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+      fi
+    fi
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+      AC_DEFINE([ENABLE_NLS], [1],
+        [Define to 1 if translation of program messages to the user's native language
+   is requested.])
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  AC_MSG_CHECKING([whether to use NLS])
+  AC_MSG_RESULT([$USE_NLS])
+  if test "$USE_NLS" = "yes"; then
+    AC_MSG_CHECKING([where the gettext function comes from])
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        gt_source="external libintl"
+      else
+        gt_source="libc"
+      fi
+    else
+      gt_source="included intl directory"
+    fi
+    AC_MSG_RESULT([$gt_source])
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        AC_MSG_CHECKING([how to link with libintl])
+        AC_MSG_RESULT([$LIBINTL])
+        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+      fi
+
+      dnl For backward compatibility. Some packages may be using this.
+      AC_DEFINE([HAVE_GETTEXT], [1],
+       [Define if the GNU gettext() function is already present or preinstalled.])
+      AC_DEFINE([HAVE_DCGETTEXT], [1],
+       [Define if the GNU dcgettext() function is already present or preinstalled.])
+    fi
+
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
+
+  ifelse(gt_included_intl, yes, [
+    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+    dnl to 'yes' because some of the testsuite requires it.
+    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+      BUILD_INCLUDED_LIBINTL=yes
+    fi
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST([BUILD_INCLUDED_LIBINTL])
+    AC_SUBST([USE_INCLUDED_LIBINTL])
+    AC_SUBST([CATOBJEXT])
+
+    dnl For backward compatibility. Some configure.ins may be using this.
+    nls_cv_header_intl=
+    nls_cv_header_libgt=
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    DATADIRNAME=share
+    AC_SUBST([DATADIRNAME])
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INSTOBJEXT=.mo
+    AC_SUBST([INSTOBJEXT])
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    GENCAT=gencat
+    AC_SUBST([GENCAT])
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INTLOBJS=
+    if test "$USE_INCLUDED_LIBINTL" = yes; then
+      INTLOBJS="\$(GETTOBJS)"
+    fi
+    AC_SUBST([INTLOBJS])
+
+    dnl Enable libtool support if the surrounding package wishes it.
+    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+    AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
+  ])
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  INTLLIBS="$LIBINTL"
+  AC_SUBST([INTLLIBS])
+
+  dnl Make all documented variables known to autoconf.
+  AC_SUBST([LIBINTL])
+  AC_SUBST([LTLIBINTL])
+  AC_SUBST([POSUB])
+])
+
+
+dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
+m4_define([gt_NEEDS_INIT],
+[
+  m4_divert_text([DEFAULTS], [gt_needs=])
+  m4_define([gt_NEEDS_INIT], [])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
+AC_DEFUN([AM_GNU_GETTEXT_NEED],
+[
+  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+
+
+dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644 (file)
index 0000000..aa159c5
--- /dev/null
@@ -0,0 +1,271 @@
+# iconv.m4 serial 19 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[
+#include <stdlib.h>
+#include <iconv.h>
+         ]],
+         [[iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);]])],
+      [am_cv_func_iconv=yes])
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
+#include <stdlib.h>
+#include <iconv.h>
+           ]],
+           [[iconv_t cd = iconv_open("","");
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);]])],
+        [am_cv_lib_iconv=yes]
+        [am_cv_func_iconv=yes])
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+      dnl Solaris 10.
+      am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+             [[
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+             ]],
+             [[int result = 0;
+  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+     returns.  */
+  {
+    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+    if (cd_utf8_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_utf8_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\263";
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#if 0 /* This bug could be worked around by the caller.  */
+  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        char buf[50];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if ((int)res > 0)
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#endif
+  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+     provided.  */
+  if (/* Try standardized names.  */
+      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+      /* Try IRIX, OSF/1 names.  */
+      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+      /* Try AIX names.  */
+      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+      /* Try HP-UX names.  */
+      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+    result |= 16;
+  return result;
+]])],
+          [am_cv_func_iconv_works=yes], ,
+          [case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac])
+        test "$am_cv_func_iconv_works" = no || break
+      done
+      LIBS="$am_save_LIBS"
+    ])
+    case "$am_cv_func_iconv_works" in
+      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+      *)   am_func_iconv=yes ;;
+    esac
+  else
+    am_func_iconv=no am_cv_lib_iconv=no
+  fi
+  if test "$am_func_iconv" = yes; then
+    AC_DEFINE([HAVE_ICONV], [1],
+      [Define if you have the iconv() function and it works.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST([LIBICONV])
+  AC_SUBST([LTLIBICONV])
+])
+
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl   warnings.
+m4_define([gl_iconv_AC_DEFUN],
+  m4_version_prereq([2.64],
+    [[AC_DEFUN_ONCE(
+        [$1], [$2])]],
+    [m4_ifdef([gl_00GNULIB],
+       [[AC_DEFUN_ONCE(
+           [$1], [$2])]],
+       [[AC_DEFUN(
+           [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL([am_cv_proto_iconv], [
+      AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+           ]],
+           [[]])],
+        [am_cv_proto_iconv_arg1=""],
+        [am_cv_proto_iconv_arg1="const"])
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([
+         $am_cv_proto_iconv])
+    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+      [Define as const if the declaration of iconv() needs const.])
+    dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+    m4_ifdef([gl_ICONV_H_DEFAULTS],
+      [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+       if test -n "$am_cv_proto_iconv_arg1"; then
+         ICONV_CONST="const"
+       fi
+      ])
+  fi
+])
diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4
new file mode 100644 (file)
index 0000000..aca924c
--- /dev/null
@@ -0,0 +1,56 @@
+# intlmacosx.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Checks for special options needed on Mac OS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+  dnl Check for API introduced in Mac OS X 10.2.
+  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+    [gt_cv_func_CFPreferencesCopyAppValue],
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFPreferences.h>]],
+          [[CFPreferencesCopyAppValue(NULL, NULL)]])],
+       [gt_cv_func_CFPreferencesCopyAppValue=yes],
+       [gt_cv_func_CFPreferencesCopyAppValue=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
+      [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+  fi
+  dnl Check for API introduced in Mac OS X 10.3.
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFLocale.h>]],
+          [[CFLocaleCopyCurrent();]])],
+       [gt_cv_func_CFLocaleCopyCurrent=yes],
+       [gt_cv_func_CFLocaleCopyCurrent=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
+      [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+  fi
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+  fi
+  AC_SUBST([INTL_MACOSX_LIBS])
+])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
new file mode 100644 (file)
index 0000000..6209de6
--- /dev/null
@@ -0,0 +1,119 @@
+# lib-ld.m4 serial 6
+dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
+
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_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'*)
+  acl_cv_prog_gnu_ld=yes
+  ;;
+*)
+  acl_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-2.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])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
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  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
+
+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([acl_cv_path_LD],
+[if test -z "$LD"; then
+  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$acl_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_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 `"$acl_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="$acl_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_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])
+AC_LIB_PROG_LD_GNU
+])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
new file mode 100644 (file)
index 0000000..2f51855
--- /dev/null
@@ -0,0 +1,777 @@
+# lib-link.m4 serial 26 (gettext-0.18.2)
+dnl Copyright (C) 2001-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.54])
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+    AC_LIB_LINKFLAGS_BODY([$1], [$2])
+    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+  ])
+  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
+  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+  dnl results of this search when this library appears as a dependency.
+  HAVE_LIB[]NAME=yes
+  popdef([NAME])
+  popdef([Name])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+
+  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed lib[]Name and not disabled its use
+  dnl via --without-lib[]Name-prefix, he wants to use it.
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+    ac_save_LIBS="$LIBS"
+    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+    dnl because these -l options might require -L options that are present in
+    dnl LIBS. -l options benefit only from the -L options listed before it.
+    dnl Otherwise, add it to the front of LIBS, because it may be a static
+    dnl library that depends on another static library that is present in LIBS.
+    dnl Static libraries benefit only from the static libraries listed after
+    dnl it.
+    case " $LIB[]NAME" in
+      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+      *)       LIBS="$LIB[]NAME $LIBS" ;;
+    esac
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM([[$3]], [[$4]])],
+      [ac_cv_lib[]Name=yes],
+      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+    LIBS="$ac_save_LIBS"
+  ])
+  if test "$ac_cv_lib[]Name" = yes; then
+    HAVE_LIB[]NAME=yes
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
+    AC_MSG_CHECKING([how to link with lib[]$1])
+    AC_MSG_RESULT([$LIB[]NAME])
+  else
+    HAVE_LIB[]NAME=no
+    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+    dnl $INC[]NAME either.
+    CPPFLAGS="$ac_save_CPPFLAGS"
+    LIB[]NAME=
+    LTLIB[]NAME=
+    LIB[]NAME[]_PREFIX=
+  fi
+  AC_SUBST([HAVE_LIB]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
+  popdef([NAME])
+  popdef([Name])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl   acl_libext,
+dnl   acl_shlibext,
+dnl   acl_libname_spec,
+dnl   acl_library_names_spec,
+dnl   acl_hardcode_libdir_flag_spec,
+dnl   acl_hardcode_libdir_separator,
+dnl   acl_hardcode_direct,
+dnl   acl_hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
+  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
+  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
+  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+  ])
+  wl="$acl_cv_wl"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  dnl Determine whether the user wants rpath handling at all.
+  AC_ARG_ENABLE([rpath],
+    [  --disable-rpath         do not hardcode runtime library paths],
+    :, enable_rpath=yes)
+])
+
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  define([acl_frompackage_]NAME, [$2])
+  popdef([NAME])
+  pushdef([PACK],[$2])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  define([acl_libsinpackage_]PACKUP,
+    m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
+  popdef([PACKUP])
+  popdef([PACK])
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+  dnl Autoconf >= 2.61 supports dots in --with options.
+  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_ARG_WITH(P_A_C_K[-prefix],
+[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
+  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
+      fi
+    fi
+])
+  dnl Search the library and its dependencies in $additional_libdir and
+  dnl $LDFLAGS. Using breadth-first-seach.
+  LIB[]NAME=
+  LTLIB[]NAME=
+  INC[]NAME=
+  LIB[]NAME[]_PREFIX=
+  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+  dnl computed. So it has to be reset here.
+  HAVE_LIB[]NAME=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='$1 $2'
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+        dnl or AC_LIB_HAVE_LINKFLAGS call.
+        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+          else
+            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+            dnl that this library doesn't exist. So just drop it.
+            :
+          fi
+        else
+          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+          dnl and the already constructed $LIBNAME/$LTLIBNAME.
+          found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            dir="$additional_libdir"
+            dnl The same code as in the loop below:
+            dnl First look for a shared library.
+            if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
+                fi
+              fi
+            fi
+            dnl Then look for a static library.
+            if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIB[]NAME; do
+              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  dnl First look for a shared library.
+                  if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                  dnl Then look for a static library.
+                  if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+            dnl Found the library.
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+              dnl Linking with a shared library. We attempt to hardcode its
+              dnl directory into the executable's runpath, unless it's the
+              dnl standard /usr/lib.
+              if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                dnl No hardcoding is needed.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+              else
+                dnl Use an explicit option to hardcode DIR into the resulting
+                dnl binary.
+                dnl Potentially add DIR to ltrpathdirs.
+                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                dnl The hardcoding into $LIBNAME is system dependent.
+                if test "$acl_hardcode_direct" = yes; then
+                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+                  dnl resulting binary.
+                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                    dnl Use an explicit option to hardcode DIR into the resulting
+                    dnl binary.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    dnl Potentially add DIR to rpathdirs.
+                    dnl The rpathdirs will be appended to $LIBNAME at the end.
+                    haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                    dnl Rely on "-L$found_dir".
+                    dnl But don't add it if it's already contained in the LDFLAGS
+                    dnl or the already constructed $LIBNAME
+                    haveit=
+                    for x in $LDFLAGS $LIB[]NAME; do
+                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    else
+                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+                      dnl here, because this doesn't fit in flags passed to the
+                      dnl compiler. So give up. No hardcoding. This affects only
+                      dnl very old systems.
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                dnl Linking with a static library.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+              else
+                dnl We shouldn't come here, but anyway it's good to have a
+                dnl fallback.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+              fi
+            fi
+            dnl Assume the include files are nearby.
+            additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+              dnl Potentially add $additional_includedir to $INCNAME.
+              dnl But don't add it
+              dnl   1. if it's the standard /usr/include,
+              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
+              dnl   3. if it's already present in $CPPFLAGS or the already
+              dnl      constructed $INCNAME,
+              dnl   4. if it doesn't exist as a directory.
+              if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INC[]NAME; do
+                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                      dnl Really add $additional_includedir to $INCNAME.
+                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+            dnl Look for dependencies.
+            if test -n "$found_la"; then
+              dnl Read the .la file. It defines the variables
+              dnl dlname, library_names, old_library, dependency_libs, current,
+              dnl age, revision, installed, dlopen, dlpreopen, libdir.
+              save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+              dnl We use only dependency_libs.
+              for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+                    dnl But don't add it
+                    dnl   1. if it's the standard /usr/lib,
+                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
+                    dnl   3. if it's already present in $LDFLAGS or the already
+                    dnl      constructed $LIBNAME,
+                    dnl   4. if it doesn't exist as a directory.
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LIBNAME.
+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LTLIBNAME.
+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                      dnl Potentially add DIR to rpathdirs.
+                      dnl The rpathdirs will be appended to $LIBNAME at the end.
+                      haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                      dnl Potentially add DIR to ltrpathdirs.
+                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                      haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                    dnl Handle this in the next round.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                    dnl Handle this in the next round. Throw away the .la's
+                    dnl directory; it is already contained in a preceding -L
+                    dnl option.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                    dnl Most likely an immediate library name.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+            dnl Didn't find the library; assume it is in the system directories
+            dnl known to the linker and runtime loader. (All the system
+            dnl directories known to the linker should also be known to the
+            dnl runtime loader, otherwise the system is severely misconfigured.)
+            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+      dnl Weird platform: only the last -rpath option counts, the user must
+      dnl pass all path elements in one option. We can arrange that for a
+      dnl single library, but not when more than one $LIBNAMEs are used.
+      alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+      acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+    else
+      dnl The -rpath options are cumulative.
+      for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+    dnl When using libtool, the option that works for both libraries and
+    dnl executables is -R. The -R options are cumulative.
+    for found_dir in $ltrpathdirs; do
+      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+    done
+  fi
+  popdef([P_A_C_K])
+  popdef([PACKLIBS])
+  popdef([PACKUP])
+  popdef([PACK])
+  popdef([NAME])
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+  for element in [$2]; do
+    haveit=
+    for x in $[$1]; do
+      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      [$1]="${[$1]}${[$1]:+ }$element"
+    fi
+  done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+  AC_REQUIRE([AC_LIB_RPATH])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  $1=
+  if test "$enable_rpath" != no; then
+    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+      dnl Use an explicit option to hardcode directories into the resulting
+      dnl binary.
+      rpathdirs=
+      next=
+      for opt in $2; do
+        if test -n "$next"; then
+          dir="$next"
+          dnl No need to hardcode the standard /usr/lib.
+          if test "X$dir" != "X/usr/$acl_libdirstem" \
+             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+            rpathdirs="$rpathdirs $dir"
+          fi
+          next=
+        else
+          case $opt in
+            -L) next=yes ;;
+            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+                 dnl No need to hardcode the standard /usr/lib.
+                 if test "X$dir" != "X/usr/$acl_libdirstem" \
+                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+                   rpathdirs="$rpathdirs $dir"
+                 fi
+                 next= ;;
+            *) next= ;;
+          esac
+        fi
+      done
+      if test "X$rpathdirs" != "X"; then
+        if test -n ""$3""; then
+          dnl libtool is used for linking. Use -R options.
+          for dir in $rpathdirs; do
+            $1="${$1}${$1:+ }-R$dir"
+          done
+        else
+          dnl The linker is used for linking directly.
+          if test -n "$acl_hardcode_libdir_separator"; then
+            dnl Weird platform: only the last -rpath option counts, the user
+            dnl must pass all path elements in one option.
+            alldirs=
+            for dir in $rpathdirs; do
+              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+            done
+            acl_save_libdir="$libdir"
+            libdir="$alldirs"
+            eval flag=\"$acl_hardcode_libdir_flag_spec\"
+            libdir="$acl_save_libdir"
+            $1="$flag"
+          else
+            dnl The -rpath options are cumulative.
+            for dir in $rpathdirs; do
+              acl_save_libdir="$libdir"
+              libdir="$dir"
+              eval flag=\"$acl_hardcode_libdir_flag_spec\"
+              libdir="$acl_save_libdir"
+              $1="${$1}${$1:+ }$flag"
+            done
+          fi
+        fi
+      fi
+    fi
+  fi
+  AC_SUBST([$1])
+])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
new file mode 100644 (file)
index 0000000..6851031
--- /dev/null
@@ -0,0 +1,224 @@
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_LIB_ARG_WITH([lib-prefix],
+[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+      fi
+    fi
+])
+  if test $use_additional = yes; then
+    dnl Potentially add $additional_includedir to $CPPFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/include,
+    dnl   2. if it's already present in $CPPFLAGS,
+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_includedir" != "X/usr/include"; then
+      haveit=
+      for x in $CPPFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-I$additional_includedir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_includedir" = "X/usr/local/include"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_includedir"; then
+            dnl Really add $additional_includedir to $CPPFLAGS.
+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+          fi
+        fi
+      fi
+    fi
+    dnl Potentially add $additional_libdir to $LDFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/lib,
+    dnl   2. if it's already present in $LDFLAGS,
+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+      haveit=
+      for x in $LDFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-L$additional_libdir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_libdir"; then
+            dnl Really add $additional_libdir to $LDFLAGS.
+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+          fi
+        fi
+      fi
+    fi
+  fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+  dnl Unfortunately, prefix and exec_prefix get only finally determined
+  dnl at the end of configure.
+  if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  $1
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl   "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl   "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+  dnl There is no formal standard regarding lib and lib64.
+  dnl On glibc systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+  dnl the compiler's default mode by looking at the compiler's library search
+  dnl path. If at least one of its elements ends in /lib64 or points to a
+  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+  dnl Otherwise we use the default, namely "lib".
+  dnl On Solaris systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  acl_libdirstem=lib
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+      dnl symlink is missing, so we set acl_libdirstem2 too.
+      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+        [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+        ])
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+        esac
+      fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS=   }"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              */../ | */.. )
+                # Better ignore directories of this form. They are misleading.
+                ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644 (file)
index 0000000..afdb9ca
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,32 @@
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software
+dnl Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_NLS],
+[
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE([nls],
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT([$USE_NLS])
+  AC_SUBST([USE_NLS])
+])
diff --git a/m4/po.m4 b/m4/po.m4
new file mode 100644 (file)
index 0000000..c5a2f6b
--- /dev/null
+++ b/m4/po.m4
@@ -0,0 +1,453 @@
+# po.m4 serial 24 (gettext-0.19)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.60])
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+  AC_REQUIRE([AC_PROG_SED])dnl
+  AC_REQUIRE([AM_NLS])dnl
+
+  dnl Release version of the gettext macros. This is used to ensure that
+  dnl the gettext macros and po/Makefile.in.in are in sync.
+  AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+  dnl The second test excludes FreeBSD msgfmt.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
+
+  dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+  case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+    *) MSGFMT_015=$MSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+    *) GMSGFMT_015=$GMSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([GMSGFMT_015])
+
+  dnl Search for GNU xgettext 0.12 or newer in the PATH.
+  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+  dnl The second test excludes FreeBSD xgettext.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  dnl Remove leftover from FreeBSD xgettext call.
+  rm -f messages.po
+
+  dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+    *) XGETTEXT_015=$XGETTEXT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([XGETTEXT_015])
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+  dnl Installation directories.
+  dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+  dnl have to define it here, so that it can be used in po/Makefile.
+  test -n "$localedir" || localedir='${datadir}/locale'
+  AC_SUBST([localedir])
+
+  dnl Support for AM_XGETTEXT_OPTION.
+  test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+  AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
+
+  AC_CONFIG_COMMANDS([po-directories], [[
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        # Treat a directory as a PO directory if and only if it has a
+        # POTFILES.in file. This allows packages to have multiple PO
+        # directories under different names or in different locations.
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          gt_tab=`printf '\t'`
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          POMAKEFILEDEPS="POTFILES.in"
+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+          else
+            # The set of available languages was given in configure.in.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+          fi
+          # Compute POFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+          # Compute UPDATEPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+          # Compute DUMMYPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+          # Compute GMOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          GMOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done]],
+   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+    # from automake < 1.5.
+    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+  # When this code is run, in config.status, two variables have already been
+  # set:
+  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+  # - LINGUAS is the value of the environment variable LINGUAS at configure
+  #   time.
+
+changequote(,)dnl
+  # Adjust a relative srcdir.
+  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+  # In autoconf-2.13 it is called $ac_given_srcdir.
+  # In autoconf-2.50 it is called $srcdir.
+  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+  case "$ac_given_srcdir" in
+    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+    /*) top_srcdir="$ac_given_srcdir" ;;
+    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  # Find a way to echo strings without interpreting backslash.
+  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+    gt_echo='echo'
+  else
+    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+      gt_echo='printf %s\n'
+    else
+      echo_func () {
+        cat <<EOT
+$*
+EOT
+      }
+      gt_echo='echo_func'
+    fi
+  fi
+
+  # A sed script that extracts the value of VARIABLE from a Makefile.
+  tab=`printf '\t'`
+  sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
+  # Seen the first line of the variable definition.
+  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
+  ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+  # Set POTFILES to the value of the Makefile variable POTFILES.
+  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+  # Compute POTFILES_DEPS as
+  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+  POTFILES_DEPS=
+  for file in $POTFILES; do
+    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+  done
+  POMAKEFILEDEPS=""
+
+  if test -n "$OBSOLETE_ALL_LINGUAS"; then
+    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+  fi
+  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+    # The LINGUAS file contains the set of available languages.
+    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+  else
+    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+  fi
+  # Hide the ALL_LINGUAS assignment from automake < 1.5.
+  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+  # Compute POFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+  # Compute UPDATEPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+  # Compute DUMMYPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+  # Compute GMOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+  # Compute PROPERTIESFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+  # Compute CLASSFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+  # Compute QMFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+  # Compute MSGFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+  # Compute RESOURCESDLLFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+  case "$ac_given_srcdir" in
+    .) srcdirpre= ;;
+    *) srcdirpre='$(srcdir)/' ;;
+  esac
+  POFILES=
+  UPDATEPOFILES=
+  DUMMYPOFILES=
+  GMOFILES=
+  PROPERTIESFILES=
+  CLASSFILES=
+  QMFILES=
+  MSGFILES=
+  RESOURCESDLLFILES=
+  for lang in $ALL_LINGUAS; do
+    POFILES="$POFILES $srcdirpre$lang.po"
+    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+    QMFILES="$QMFILES $srcdirpre$lang.qm"
+    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+  done
+  # CATALOGS depends on both $ac_dir and the user's LINGUAS
+  # environment variable.
+  INST_LINGUAS=
+  if test -n "$ALL_LINGUAS"; then
+    for presentlang in $ALL_LINGUAS; do
+      useit=no
+      if test "%UNSET%" != "$LINGUAS"; then
+        desiredlanguages="$LINGUAS"
+      else
+        desiredlanguages="$ALL_LINGUAS"
+      fi
+      for desiredlang in $desiredlanguages; do
+        # Use the presentlang catalog if desiredlang is
+        #   a. equal to presentlang, or
+        #   b. a variant of presentlang (because in this case,
+        #      presentlang can be used as a fallback for messages
+        #      which are not translated in the desiredlang catalog).
+        case "$desiredlang" in
+          "$presentlang"*) useit=yes;;
+        esac
+      done
+      if test $useit = yes; then
+        INST_LINGUAS="$INST_LINGUAS $presentlang"
+      fi
+    done
+  fi
+  CATALOGS=
+  JAVACATALOGS=
+  QTCATALOGS=
+  TCLCATALOGS=
+  CSHARPCATALOGS=
+  if test -n "$INST_LINGUAS"; then
+    for lang in $INST_LINGUAS; do
+      CATALOGS="$CATALOGS $lang.gmo"
+      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+      QTCATALOGS="$QTCATALOGS $lang.qm"
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+    done
+  fi
+
+  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  tab=`printf '\t'`
+  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if test -n "$POMAKEFILEDEPS"; then
+    cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+  fi
+  mv "$ac_file.tmp" "$ac_file"
+])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+  XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+  AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
new file mode 100644 (file)
index 0000000..9ace7c3
--- /dev/null
@@ -0,0 +1,91 @@
+# progtest.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ([2.50])
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  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
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL([ac_cv_path_$1],
+[case "[$]$1" in
+  [[\\/]]* | ?:[[\\/]]*)
+    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in ifelse([$5], , $PATH, [$5]); do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+          if [$3]; then
+            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+    ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$][$1])
+else
+  AC_MSG_RESULT([no])
+fi
+AC_SUBST([$1])dnl
+])
diff --git a/missing b/missing
index f62bbae..c6e3795 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 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
@@ -210,6 +210,6 @@ exit $st
 # 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-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/po-conf/ChangeLog b/po-conf/ChangeLog
new file mode 100644 (file)
index 0000000..9b7898a
--- /dev/null
@@ -0,0 +1,12 @@
+2015-01-28  gettextize  <bug-gnu-gettext@gnu.org>
+
+       * Makefile.in.in: New file, from gettext-0.19.4.
+       * Rules-quot: New file, from gettext-0.19.4.
+       * boldquot.sed: New file, from gettext-0.19.4.
+       * en@boldquot.header: New file, from gettext-0.19.4.
+       * en@quot.header: New file, from gettext-0.19.4.
+       * insert-header.sin: New file, from gettext-0.19.4.
+       * quot.sed: New file, from gettext-0.19.4.
+       * remove-potcdate.sin: New file, from gettext-0.19.4.
+       * POTFILES.in: New file.
+
diff --git a/po-conf/LINGUAS b/po-conf/LINGUAS
new file mode 100644 (file)
index 0000000..0d5d97c
--- /dev/null
@@ -0,0 +1,2 @@
+# Please keep this list sorted alphabetically.
+zh_CN
diff --git a/po-conf/Makefile.in.in b/po-conf/Makefile.in.in
new file mode 100644 (file)
index 0000000..38c293d
--- /dev/null
@@ -0,0 +1,483 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+#
+# Origin: gettext-0.19.8
+GETTEXT_MACRO_VERSION = 0.19
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SED = @SED@
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs.  However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+       @echo "$(MSGFMT) -c -o $@ $<"; \
+       $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+       @lang=`echo $* | sed -e 's,.*/,,'`; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+       sed -e '/^#/d' $< > t-$@
+       mv t-$@ $@
+
+
+all: all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+       test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+         || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+              exit 1; \
+            }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+       @$(CHECK_MACRO_VERSION)
+       test ! -f $(srcdir)/$(DOMAIN).pot || \
+         test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+       @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+         echo "touch stamp-po" && \
+         echo timestamp > stamp-poT && \
+         mv stamp-poT stamp-po; \
+       }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+       package_gnu="$(PACKAGE_GNU)"; \
+       test -n "$$package_gnu" || { \
+         if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+                LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+                              -size -10000000c -exec grep 'GNU @PACKAGE@' \
+                              /dev/null '{}' ';' 2>/dev/null; \
+              else \
+                LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+              fi; \
+            } | grep -v 'libtool:' >/dev/null; then \
+            package_gnu=yes; \
+          else \
+            package_gnu=no; \
+          fi; \
+       }; \
+       if test "$$package_gnu" = "yes"; then \
+         package_prefix='GNU '; \
+       else \
+         package_prefix=''; \
+       fi; \
+       if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+         msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+       else \
+         msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+       fi; \
+       case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+         '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+           $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+             --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+             --files-from=$(srcdir)/POTFILES.in \
+             --copyright-holder='$(COPYRIGHT_HOLDER)' \
+             --msgid-bugs-address="$$msgid_bugs_address" \
+           ;; \
+         *) \
+           $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+             --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+             --files-from=$(srcdir)/POTFILES.in \
+             --copyright-holder='$(COPYRIGHT_HOLDER)' \
+             --package-name="$${package_prefix}@PACKAGE@" \
+             --package-version='@VERSION@' \
+             --msgid-bugs-address="$$msgid_bugs_address" \
+           ;; \
+       esac
+       test ! -f $(DOMAIN).po || { \
+         if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+           sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+           cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
+           rm -f $(DOMAIN).1po; \
+         fi; \
+         if test -f $(srcdir)/$(DOMAIN).pot; then \
+           sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+           sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+           if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+             rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+           else \
+             rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+             mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+           fi; \
+         else \
+           mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+         fi; \
+       }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+       $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(POFILESDEPS)
+       @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+       if test -f "$(srcdir)/$${lang}.po"; then \
+         test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
+         test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+         cd $(srcdir) \
+           && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+                  *) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+                esac; \
+              }; \
+       else \
+         $(MAKE) $${lang}.po-create; \
+       fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+         for file in $(DISTFILES.common) Makevars.template; do \
+           $(INSTALL_DATA) $(srcdir)/$$file \
+                           $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+         for file in Makevars; do \
+           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+       else \
+         : ; \
+       fi
+install-data-no: all
+install-data-yes: all
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         dir=$(localedir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $(DESTDIR)$$dir; \
+         if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+         $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+         echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+           if test -n "$$lc"; then \
+             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+                for file in *; do \
+                  if test -f $$file; then \
+                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+                  fi; \
+                done); \
+               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+             else \
+               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+                 :; \
+               else \
+                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               fi; \
+             fi; \
+             rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+             ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+             ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+             cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+             echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+           fi; \
+         done; \
+       done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+       else \
+         : ; \
+       fi
+installdirs-data-no:
+installdirs-data-yes:
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         dir=$(localedir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $(DESTDIR)$$dir; \
+         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+           if test -n "$$lc"; then \
+             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+                for file in *; do \
+                  if test -f $$file; then \
+                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+                  fi; \
+                done); \
+               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+             else \
+               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+                 :; \
+               else \
+                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               fi; \
+             fi; \
+           fi; \
+         done; \
+       done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         for file in $(DISTFILES.common) Makevars.template; do \
+           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+       else \
+         : ; \
+       fi
+uninstall-data-no:
+uninstall-data-yes:
+       catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+           rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+         done; \
+       done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+       rm -f remove-potcdate.sed
+       rm -f stamp-poT
+       rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+       rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+       rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+       test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
+       @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+       dists="$(DISTFILES)"; \
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         dists="$$dists Makevars.template"; \
+       fi; \
+       if test -f $(srcdir)/$(DOMAIN).pot; then \
+         dists="$$dists $(DOMAIN).pot stamp-po"; \
+       fi; \
+       if test -f $(srcdir)/ChangeLog; then \
+         dists="$$dists ChangeLog"; \
+       fi; \
+       for i in 0 1 2 3 4 5 6 7 8 9; do \
+         if test -f $(srcdir)/ChangeLog.$$i; then \
+           dists="$$dists ChangeLog.$$i"; \
+         fi; \
+       done; \
+       if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+       for file in $$dists; do \
+         if test -f $$file; then \
+           cp -p $$file $(distdir) || exit 1; \
+         else \
+           cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+         fi; \
+       done
+
+update-po: Makefile
+       $(MAKE) $(DOMAIN).pot-update
+       test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+       $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+       @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+       echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+       exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+       @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+       if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
+       tmpdir=`pwd`; \
+       echo "$$lang:"; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+       cd $(srcdir); \
+       if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+              *) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+            esac; \
+          }; then \
+         if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+           rm -f $$tmpdir/$$lang.new.po; \
+         else \
+           if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+             :; \
+           else \
+             echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+             exit 1; \
+           fi; \
+         fi; \
+       else \
+         echo "msgmerge for $$lang.po failed!" 1>&2; \
+         rm -f $$tmpdir/$$lang.new.po; \
+       fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+       @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+       cd $(top_builddir) \
+         && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/po-conf/Makevars b/po-conf/Makevars
new file mode 100644 (file)
index 0000000..abbd220
--- /dev/null
@@ -0,0 +1,80 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)-conf
+
+# These two variables depend on the location of this directory.
+subdir = po-conf
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
+# package.  (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.)  Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright.  The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Fontconfig Author(s)
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty.  If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+#   in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+#   understood.
+# - Strings which make invalid assumptions about notation of date, time or
+#   money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used.  It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed.  Possible values are "yes" and "no".  Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist".  Possible values are "yes" and
+# "no".  Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
+
+$(DOMAIN).pot-update: export GETTEXTDATADIR = $(top_srcdir)
diff --git a/po-conf/POTFILES.in b/po-conf/POTFILES.in
new file mode 100644 (file)
index 0000000..f4846ac
--- /dev/null
@@ -0,0 +1,34 @@
+conf.d/10-autohint.conf
+conf.d/10-hinting-full.conf
+conf.d/10-hinting-medium.conf
+conf.d/10-hinting-none.conf
+conf.d/10-hinting-slight.conf
+conf.d/10-no-sub-pixel.conf
+conf.d/10-scale-bitmap-fonts.conf
+conf.d/10-sub-pixel-bgr.conf
+conf.d/10-sub-pixel-rgb.conf
+conf.d/10-sub-pixel-vbgr.conf
+conf.d/10-sub-pixel-vrgb.conf
+conf.d/10-unhinted.conf
+conf.d/11-lcdfilter-default.conf
+conf.d/11-lcdfilter-legacy.conf
+conf.d/11-lcdfilter-light.conf
+conf.d/20-unhint-small-vera.conf
+conf.d/25-unhint-nonlatin.conf
+conf.d/30-metric-aliases.conf
+conf.d/40-nonlatin.conf
+conf.d/45-generic.conf
+conf.d/45-latin.conf
+conf.d/49-sansserif.conf
+conf.d/50-user.conf
+conf.d/51-local.conf
+conf.d/60-generic.conf
+conf.d/60-latin.conf
+conf.d/65-fonts-persian.conf
+conf.d/65-khmer.conf
+conf.d/65-nonlatin.conf
+conf.d/69-unifont.conf
+conf.d/70-no-bitmaps.conf
+conf.d/70-yes-bitmaps.conf
+conf.d/80-delicious.conf
+conf.d/90-synthetic.conf
diff --git a/po-conf/Rules-quot b/po-conf/Rules-quot
new file mode 100644 (file)
index 0000000..baf6528
--- /dev/null
@@ -0,0 +1,58 @@
+# This file, Rules-quot, can be copied and used freely without restrictions.
+# Special Makefile rules for English message catalogs with quotation marks.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+       $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+       $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+.insert-header.po-update-en:
+       @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+       if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+       tmpdir=`pwd`; \
+       echo "$$lang:"; \
+       ll=`echo $$lang | sed -e 's/@.*//'`; \
+       LC_ALL=C; export LC_ALL; \
+       cd $(srcdir); \
+       if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
+          | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
+          { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+            '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
+              $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
+              ;; \
+            *) \
+              $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
+              ;; \
+            esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
+            ; then \
+         if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+           rm -f $$tmpdir/$$lang.new.po; \
+         else \
+           if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+             :; \
+           else \
+             echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+             exit 1; \
+           fi; \
+         fi; \
+       else \
+         echo "creation of $$lang.po failed!" 1>&2; \
+         rm -f $$tmpdir/$$lang.new.po; \
+       fi
+
+en@quot.insert-header: insert-header.sin
+       sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+       sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+       rm -f *.insert-header
diff --git a/po-conf/boldquot.sed b/po-conf/boldquot.sed
new file mode 100644 (file)
index 0000000..4b937aa
--- /dev/null
@@ -0,0 +1,10 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“\e[1m/g
+s/”/\e[0m”/g
+s/‘/‘\e[1m/g
+s/’/\e[0m’/g
diff --git a/po-conf/en@boldquot.header b/po-conf/en@boldquot.header
new file mode 100644 (file)
index 0000000..fedb6a0
--- /dev/null
@@ -0,0 +1,25 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
diff --git a/po-conf/en@quot.header b/po-conf/en@quot.header
new file mode 100644 (file)
index 0000000..a9647fc
--- /dev/null
@@ -0,0 +1,22 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
diff --git a/po-conf/fontconfig-conf.pot b/po-conf/fontconfig-conf.pot
new file mode 100644 (file)
index 0000000..e9a16ea
--- /dev/null
@@ -0,0 +1,136 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Fontconfig Author(s)
+# This file is distributed under the same license as the fontconfig package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: fontconfig 2.13.0\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
+"product=fontconfig\n"
+"POT-Creation-Date: 2018-03-06 12:50+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: conf.d/10-autohint.conf:8
+msgid "Enable autohinter"
+msgstr ""
+
+#: conf.d/10-hinting-full.conf:8
+msgid "Set hintfull to hintstyle"
+msgstr ""
+
+#: conf.d/10-hinting-medium.conf:8
+msgid "Set hintmedium to hintstyle"
+msgstr ""
+
+#: conf.d/10-hinting-none.conf:8
+msgid "Set hintnone to hintstyle"
+msgstr ""
+
+#: conf.d/10-hinting-slight.conf:8
+msgid "Set hintslight to hintstyle"
+msgstr ""
+
+#: conf.d/10-no-sub-pixel.conf:8
+msgid "Disable sub-pixel rendering"
+msgstr ""
+
+#: conf.d/10-scale-bitmap-fonts.conf:8
+msgid "Bitmap scaling"
+msgstr ""
+
+#: conf.d/10-sub-pixel-bgr.conf:8
+msgid "Enable sub-pixel rendering with the BGR stripes layout"
+msgstr ""
+
+#: conf.d/10-sub-pixel-rgb.conf:8
+msgid "Enable sub-pixel rendering with the RGB stripes layout"
+msgstr ""
+
+#: conf.d/10-sub-pixel-vbgr.conf:8
+msgid "Enable sub-pixel rendering with the vertical BGR stripes layout"
+msgstr ""
+
+#: conf.d/10-sub-pixel-vrgb.conf:8
+msgid "Enable sub-pixel rendering with the vertical RGB stripes layout"
+msgstr ""
+
+#: conf.d/10-unhinted.conf:8
+msgid "Disable hinting"
+msgstr ""
+
+#: conf.d/11-lcdfilter-default.conf:8
+msgid "Use lcddefault as default for LCD filter"
+msgstr ""
+
+#: conf.d/11-lcdfilter-legacy.conf:8
+msgid "Use lcdlegacy as default for LCD filter"
+msgstr ""
+
+#: conf.d/11-lcdfilter-light.conf:8
+msgid "Use lcdlight as default for LCD filter"
+msgstr ""
+
+#: conf.d/20-unhint-small-vera.conf:8
+msgid ""
+"Disable hinting for Bitstream Vera fonts when the size is less than 8ppem"
+msgstr ""
+
+#: conf.d/25-unhint-nonlatin.conf:8
+msgid "Disable hinting for CJK fonts"
+msgstr ""
+
+#: conf.d/30-metric-aliases.conf:8
+msgid "Set substitutions for similar/metric-compatible families"
+msgstr ""
+
+#: conf.d/40-nonlatin.conf:8
+msgid "Set substitutions for non-Latin fonts"
+msgstr ""
+
+#: conf.d/45-generic.conf:8
+msgid "Set substitutions for emoji/math fonts"
+msgstr ""
+
+#: conf.d/45-latin.conf:8
+msgid "Set substitutions for Latin fonts"
+msgstr ""
+
+#: conf.d/49-sansserif.conf:8
+msgid "Add sans-serif to the family when no generic name"
+msgstr ""
+
+#: conf.d/50-user.conf:8
+msgid "Load per-user customization files"
+msgstr ""
+
+#: conf.d/51-local.conf:8
+msgid "Load local customization file"
+msgstr ""
+
+#: conf.d/60-generic.conf:8
+msgid "Set preferable fonts for emoji/math fonts"
+msgstr ""
+
+#: conf.d/60-latin.conf:8
+msgid "Set preferable fonts for Latin"
+msgstr ""
+
+#: conf.d/65-nonlatin.conf:8
+msgid "Set preferable fonts for non-Latin"
+msgstr ""
+
+#: conf.d/70-no-bitmaps.conf:8
+msgid "Reject bitmap fonts"
+msgstr ""
+
+#: conf.d/70-yes-bitmaps.conf:8
+msgid "Accept bitmap fonts"
+msgstr ""
diff --git a/po-conf/insert-header.sin b/po-conf/insert-header.sin
new file mode 100644 (file)
index 0000000..b26de01
--- /dev/null
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po-conf/quot.sed b/po-conf/quot.sed
new file mode 100644 (file)
index 0000000..0122c46
--- /dev/null
@@ -0,0 +1,6 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
diff --git a/po-conf/remove-potcdate.sin b/po-conf/remove-potcdate.sin
new file mode 100644 (file)
index 0000000..2436c49
--- /dev/null
@@ -0,0 +1,19 @@
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po-conf/stamp-po b/po-conf/stamp-po
new file mode 100644 (file)
index 0000000..9788f70
--- /dev/null
@@ -0,0 +1 @@
+timestamp
diff --git a/po-conf/zh_CN.gmo b/po-conf/zh_CN.gmo
new file mode 100644 (file)
index 0000000..42b8077
Binary files /dev/null and b/po-conf/zh_CN.gmo differ
diff --git a/po-conf/zh_CN.po b/po-conf/zh_CN.po
new file mode 100644 (file)
index 0000000..4c28289
--- /dev/null
@@ -0,0 +1,140 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Fontconfig Author(s)
+# This file is distributed under the same license as the fontconfig package.
+#
+# Dingyuan Wang <gumblex@aosc.io>, 2018.
+# Mingcong Bai <jeffbai@aosc.io>, 2018.
+# Mingye Wang <artoria2e5@aosc.io>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: fontconfig 2.12.92\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
+"product=fontconfig\n"
+"POT-Creation-Date: 2018-03-06 12:50+0900\n"
+"PO-Revision-Date: 2018-02-16 01:19-0600\n"
+"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
+"Language-Team: AOSC\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: conf.d/10-autohint.conf:8
+msgid "Enable autohinter"
+msgstr "启用自动微调"
+
+#: conf.d/10-hinting-full.conf:8
+msgid "Set hintfull to hintstyle"
+msgstr "设置微调风格为“完全 (hintfull)”"
+
+#: conf.d/10-hinting-medium.conf:8
+msgid "Set hintmedium to hintstyle"
+msgstr "设置微调风格为“中等 (hintmedium)”"
+
+#: conf.d/10-hinting-none.conf:8
+msgid "Set hintnone to hintstyle"
+msgstr "设置微调风格为“无 (hintnone)”"
+
+#: conf.d/10-hinting-slight.conf:8
+msgid "Set hintslight to hintstyle"
+msgstr "设置微调风格为“轻微 (hintslight)”"
+
+#: conf.d/10-no-sub-pixel.conf:8
+msgid "Disable sub-pixel rendering"
+msgstr "禁用次像素渲染"
+
+#: conf.d/10-scale-bitmap-fonts.conf:8
+msgid "Bitmap scaling"
+msgstr "位图缩放"
+
+#: conf.d/10-sub-pixel-bgr.conf:8
+msgid "Enable sub-pixel rendering with the BGR stripes layout"
+msgstr "启用蓝绿红 (BGR) 像素布局的次像素渲染"
+
+#: conf.d/10-sub-pixel-rgb.conf:8
+msgid "Enable sub-pixel rendering with the RGB stripes layout"
+msgstr "启用红绿蓝 (RGB) 像素布局的次像素渲染"
+
+#: conf.d/10-sub-pixel-vbgr.conf:8
+msgid "Enable sub-pixel rendering with the vertical BGR stripes layout"
+msgstr "启用垂直蓝绿红 (BGR) 像素布局的次像素渲染"
+
+#: conf.d/10-sub-pixel-vrgb.conf:8
+msgid "Enable sub-pixel rendering with the vertical RGB stripes layout"
+msgstr "启用垂直红绿蓝 (RGB) 像素布局的次像素渲染"
+
+#: conf.d/10-unhinted.conf:8
+msgid "Disable hinting"
+msgstr "禁用微调"
+
+#: conf.d/11-lcdfilter-default.conf:8
+msgid "Use lcddefault as default for LCD filter"
+msgstr "将 lcddefault 设为默认 LCD 滤镜"
+
+#: conf.d/11-lcdfilter-legacy.conf:8
+msgid "Use lcdlegacy as default for LCD filter"
+msgstr "将 lcdlegacy 设为默认 LCD 滤镜"
+
+#: conf.d/11-lcdfilter-light.conf:8
+msgid "Use lcdlight as default for LCD filter"
+msgstr "将 lcdlight 设为默认 LCD 滤镜"
+
+#: conf.d/20-unhint-small-vera.conf:8
+msgid ""
+"Disable hinting for Bitstream Vera fonts when the size is less than 8ppem"
+msgstr "为大小小于 8ppem 的 Bitstream Vera 字体禁用微调"
+
+#: conf.d/25-unhint-nonlatin.conf:8
+msgid "Disable hinting for CJK fonts"
+msgstr "为中日韩 (CJK) 字体禁用微调"
+
+#: conf.d/30-metric-aliases.conf:8
+msgid "Set substitutions for similar/metric-compatible families"
+msgstr "为相似或规格兼容的字体家族设置替换"
+
+#: conf.d/40-nonlatin.conf:8
+msgid "Set substitutions for non-Latin fonts"
+msgstr "为非拉丁语言字体设置替换"
+
+#: conf.d/45-generic.conf:8
+msgid "Set substitutions for emoji/math fonts"
+msgstr "为绘文字 (Emoji) 或数学字体设置替换"
+
+#: conf.d/45-latin.conf:8
+msgid "Set substitutions for Latin fonts"
+msgstr "为拉丁语言字体设置替换"
+
+#: conf.d/49-sansserif.conf:8
+msgid "Add sans-serif to the family when no generic name"
+msgstr "在没有通用名称时添加 sans-serif 到字体家族"
+
+#: conf.d/50-user.conf:8
+msgid "Load per-user customization files"
+msgstr "载入用户自定义文件"
+
+#: conf.d/51-local.conf:8
+msgid "Load local customization file"
+msgstr "载入本地自定义文件"
+
+#: conf.d/60-generic.conf:8
+msgid "Set preferable fonts for emoji/math fonts"
+msgstr "设置首选绘文字 (Emoji) 或数学字体"
+
+#: conf.d/60-latin.conf:8
+msgid "Set preferable fonts for Latin"
+msgstr "设置首选拉丁语言字体"
+
+#: conf.d/65-nonlatin.conf:8
+msgid "Set preferable fonts for non-Latin"
+msgstr "设置首选非拉丁语言字体"
+
+#: conf.d/70-no-bitmaps.conf:8
+msgid "Reject bitmap fonts"
+msgstr "排除点阵字体"
+
+#: conf.d/70-yes-bitmaps.conf:8
+msgid "Accept bitmap fonts"
+msgstr "接受点阵字体"
diff --git a/po/ChangeLog b/po/ChangeLog
new file mode 100644 (file)
index 0000000..9b7898a
--- /dev/null
@@ -0,0 +1,12 @@
+2015-01-28  gettextize  <bug-gnu-gettext@gnu.org>
+
+       * Makefile.in.in: New file, from gettext-0.19.4.
+       * Rules-quot: New file, from gettext-0.19.4.
+       * boldquot.sed: New file, from gettext-0.19.4.
+       * en@boldquot.header: New file, from gettext-0.19.4.
+       * en@quot.header: New file, from gettext-0.19.4.
+       * insert-header.sin: New file, from gettext-0.19.4.
+       * quot.sed: New file, from gettext-0.19.4.
+       * remove-potcdate.sin: New file, from gettext-0.19.4.
+       * POTFILES.in: New file.
+
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644 (file)
index 0000000..0d5d97c
--- /dev/null
@@ -0,0 +1,2 @@
+# Please keep this list sorted alphabetically.
+zh_CN
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644 (file)
index 0000000..38c293d
--- /dev/null
@@ -0,0 +1,483 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+#
+# Origin: gettext-0.19.8
+GETTEXT_MACRO_VERSION = 0.19
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SED = @SED@
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs.  However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+       @echo "$(MSGFMT) -c -o $@ $<"; \
+       $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+       @lang=`echo $* | sed -e 's,.*/,,'`; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+       sed -e '/^#/d' $< > t-$@
+       mv t-$@ $@
+
+
+all: all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+       test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+         || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+              exit 1; \
+            }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+       @$(CHECK_MACRO_VERSION)
+       test ! -f $(srcdir)/$(DOMAIN).pot || \
+         test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+       @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+         echo "touch stamp-po" && \
+         echo timestamp > stamp-poT && \
+         mv stamp-poT stamp-po; \
+       }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+       package_gnu="$(PACKAGE_GNU)"; \
+       test -n "$$package_gnu" || { \
+         if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+                LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+                              -size -10000000c -exec grep 'GNU @PACKAGE@' \
+                              /dev/null '{}' ';' 2>/dev/null; \
+              else \
+                LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+              fi; \
+            } | grep -v 'libtool:' >/dev/null; then \
+            package_gnu=yes; \
+          else \
+            package_gnu=no; \
+          fi; \
+       }; \
+       if test "$$package_gnu" = "yes"; then \
+         package_prefix='GNU '; \
+       else \
+         package_prefix=''; \
+       fi; \
+       if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+         msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+       else \
+         msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+       fi; \
+       case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+         '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+           $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+             --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+             --files-from=$(srcdir)/POTFILES.in \
+             --copyright-holder='$(COPYRIGHT_HOLDER)' \
+             --msgid-bugs-address="$$msgid_bugs_address" \
+           ;; \
+         *) \
+           $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+             --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+             --files-from=$(srcdir)/POTFILES.in \
+             --copyright-holder='$(COPYRIGHT_HOLDER)' \
+             --package-name="$${package_prefix}@PACKAGE@" \
+             --package-version='@VERSION@' \
+             --msgid-bugs-address="$$msgid_bugs_address" \
+           ;; \
+       esac
+       test ! -f $(DOMAIN).po || { \
+         if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+           sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+           cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
+           rm -f $(DOMAIN).1po; \
+         fi; \
+         if test -f $(srcdir)/$(DOMAIN).pot; then \
+           sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+           sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+           if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+             rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+           else \
+             rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+             mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+           fi; \
+         else \
+           mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+         fi; \
+       }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+       $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(POFILESDEPS)
+       @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+       if test -f "$(srcdir)/$${lang}.po"; then \
+         test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
+         test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+         cd $(srcdir) \
+           && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+                  *) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+                esac; \
+              }; \
+       else \
+         $(MAKE) $${lang}.po-create; \
+       fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+         for file in $(DISTFILES.common) Makevars.template; do \
+           $(INSTALL_DATA) $(srcdir)/$$file \
+                           $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+         for file in Makevars; do \
+           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+       else \
+         : ; \
+       fi
+install-data-no: all
+install-data-yes: all
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         dir=$(localedir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $(DESTDIR)$$dir; \
+         if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+         $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+         echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+           if test -n "$$lc"; then \
+             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+                for file in *; do \
+                  if test -f $$file; then \
+                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+                  fi; \
+                done); \
+               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+             else \
+               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+                 :; \
+               else \
+                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               fi; \
+             fi; \
+             rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+             ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+             ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+             cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+             echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+           fi; \
+         done; \
+       done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+       else \
+         : ; \
+       fi
+installdirs-data-no:
+installdirs-data-yes:
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         dir=$(localedir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $(DESTDIR)$$dir; \
+         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+           if test -n "$$lc"; then \
+             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+                for file in *; do \
+                  if test -f $$file; then \
+                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+                  fi; \
+                done); \
+               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+             else \
+               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+                 :; \
+               else \
+                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               fi; \
+             fi; \
+           fi; \
+         done; \
+       done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         for file in $(DISTFILES.common) Makevars.template; do \
+           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+       else \
+         : ; \
+       fi
+uninstall-data-no:
+uninstall-data-yes:
+       catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+           rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+         done; \
+       done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+       rm -f remove-potcdate.sed
+       rm -f stamp-poT
+       rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+       rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+       rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+       test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
+       @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+       dists="$(DISTFILES)"; \
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         dists="$$dists Makevars.template"; \
+       fi; \
+       if test -f $(srcdir)/$(DOMAIN).pot; then \
+         dists="$$dists $(DOMAIN).pot stamp-po"; \
+       fi; \
+       if test -f $(srcdir)/ChangeLog; then \
+         dists="$$dists ChangeLog"; \
+       fi; \
+       for i in 0 1 2 3 4 5 6 7 8 9; do \
+         if test -f $(srcdir)/ChangeLog.$$i; then \
+           dists="$$dists ChangeLog.$$i"; \
+         fi; \
+       done; \
+       if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+       for file in $$dists; do \
+         if test -f $$file; then \
+           cp -p $$file $(distdir) || exit 1; \
+         else \
+           cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+         fi; \
+       done
+
+update-po: Makefile
+       $(MAKE) $(DOMAIN).pot-update
+       test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+       $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+       @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+       echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+       exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+       @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+       if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
+       tmpdir=`pwd`; \
+       echo "$$lang:"; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+       cd $(srcdir); \
+       if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+              *) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+            esac; \
+          }; then \
+         if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+           rm -f $$tmpdir/$$lang.new.po; \
+         else \
+           if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+             :; \
+           else \
+             echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+             exit 1; \
+           fi; \
+         fi; \
+       else \
+         echo "msgmerge for $$lang.po failed!" 1>&2; \
+         rm -f $$tmpdir/$$lang.new.po; \
+       fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+       @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+       cd $(top_builddir) \
+         && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/po/Makevars b/po/Makevars
new file mode 100644 (file)
index 0000000..3283532
--- /dev/null
@@ -0,0 +1,78 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
+# package.  (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.)  Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright.  The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Fontconfig Author(s)
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty.  If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+#   in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+#   understood.
+# - Strings which make invalid assumptions about notation of date, time or
+#   money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used.  It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed.  Possible values are "yes" and "no".  Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist".  Possible values are "yes" and
+# "no".  Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644 (file)
index 0000000..3b4697e
--- /dev/null
@@ -0,0 +1,11 @@
+# List of source files which contain translatable strings.
+fc-cache/fc-cache.c
+fc-cat/fc-cat.c
+fc-conflist/fc-conflist.c
+fc-list/fc-list.c
+fc-match/fc-match.c
+fc-pattern/fc-pattern.c
+fc-query/fc-query.c
+fc-scan/fc-scan.c
+fc-validate/fc-validate.c
+src/fccfg.c
diff --git a/po/Rules-quot b/po/Rules-quot
new file mode 100644 (file)
index 0000000..baf6528
--- /dev/null
@@ -0,0 +1,58 @@
+# This file, Rules-quot, can be copied and used freely without restrictions.
+# Special Makefile rules for English message catalogs with quotation marks.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+       $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+       $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+.insert-header.po-update-en:
+       @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+       if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+       tmpdir=`pwd`; \
+       echo "$$lang:"; \
+       ll=`echo $$lang | sed -e 's/@.*//'`; \
+       LC_ALL=C; export LC_ALL; \
+       cd $(srcdir); \
+       if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
+          | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
+          { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+            '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
+              $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
+              ;; \
+            *) \
+              $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
+              ;; \
+            esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
+            ; then \
+         if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+           rm -f $$tmpdir/$$lang.new.po; \
+         else \
+           if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+             :; \
+           else \
+             echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+             exit 1; \
+           fi; \
+         fi; \
+       else \
+         echo "creation of $$lang.po failed!" 1>&2; \
+         rm -f $$tmpdir/$$lang.new.po; \
+       fi
+
+en@quot.insert-header: insert-header.sin
+       sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+       sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+       rm -f *.insert-header
diff --git a/po/boldquot.sed b/po/boldquot.sed
new file mode 100644 (file)
index 0000000..4b937aa
--- /dev/null
@@ -0,0 +1,10 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“\e[1m/g
+s/”/\e[0m”/g
+s/‘/‘\e[1m/g
+s/’/\e[0m’/g
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
new file mode 100644 (file)
index 0000000..fedb6a0
--- /dev/null
@@ -0,0 +1,25 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
diff --git a/po/en@quot.header b/po/en@quot.header
new file mode 100644 (file)
index 0000000..a9647fc
--- /dev/null
@@ -0,0 +1,22 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
diff --git a/po/fontconfig.pot b/po/fontconfig.pot
new file mode 100644 (file)
index 0000000..b302227
--- /dev/null
@@ -0,0 +1,581 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Fontconfig Author(s)
+# This file is distributed under the same license as the fontconfig package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: fontconfig 2.13.0\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
+"product=fontconfig\n"
+"POT-Creation-Date: 2018-03-06 12:50+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: fc-cache/fc-cache.c:98
+#, c-format
+msgid ""
+"usage: %s [-EfrsvVh] [-y SYSROOT] [--error-on-no-fonts] [--force|--really-"
+"force] [--sysroot=SYSROOT] [--system-only] [--verbose] [--version] [--help] "
+"[dirs]\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:101
+#, c-format
+msgid "usage: %s [-EfrsvVh] [-y SYSROOT] [dirs]\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:104
+#, c-format
+msgid ""
+"Build font information caches in [dirs]\n"
+"(all directories in font configuration by default).\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:108
+#, c-format
+msgid "  -E, --error-on-no-fonts  raise an error if no fonts in a directory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:109
+#, c-format
+msgid ""
+"  -f, --force              scan directories with apparently valid caches\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:110
+#, c-format
+msgid "  -r, --really-force       erase all existing caches, then rescan\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:111
+#, c-format
+msgid "  -s, --system-only        scan system-wide directories only\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:112
+#, c-format
+msgid "  -y, --sysroot=SYSROOT    prepend SYSROOT to all paths for scanning\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:113
+#, c-format
+msgid "  -v, --verbose            display status information while busy\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:114
+#, c-format
+msgid "  -V, --version            display font config version and exit\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:115
+#, c-format
+msgid "  -h, --help               display this help and exit\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:117
+#, c-format
+msgid "  -E         (error-on-no-fonts)\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:118
+#, c-format
+msgid "                       raise an error if no fonts in a directory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:119
+#, c-format
+msgid "  -f         (force)   scan directories with apparently valid caches\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:120
+#, c-format
+msgid "  -r,   (really force) erase all existing caches, then rescan\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:121
+#, c-format
+msgid "  -s         (system)  scan system-wide directories only\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:122
+#, c-format
+msgid "  -y SYSROOT (sysroot) prepend SYSROOT to all paths for scanning\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:123
+#, c-format
+msgid "  -v         (verbose) display status information while busy\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:124 fc-cat/fc-cat.c:178 fc-list/fc-list.c:99
+#: fc-match/fc-match.c:103 fc-pattern/fc-pattern.c:97
+#, c-format
+msgid "  -V         (version) display font config version and exit\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:125 fc-cat/fc-cat.c:179 fc-list/fc-list.c:100
+#: fc-match/fc-match.c:104 fc-pattern/fc-pattern.c:98
+#, c-format
+msgid "  -h         (help)    display this help and exit\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:162
+#, c-format
+msgid "skipping, looped directory detected\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:172
+#, c-format
+msgid "skipping, no such directory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:185
+#, c-format
+msgid "\"%s\": not a directory, skipping\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:210
+#, c-format
+msgid "\"%s\": scanning error\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:219
+#, c-format
+msgid "skipping, existing cache is valid: %d fonts, %d dirs\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:225
+#, c-format
+msgid "caching, new cache contents: %d fonts, %d dirs\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:230
+#, c-format
+msgid "%s: failed to write cache\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:239
+#, c-format
+msgid "%s: Can't create subdir set\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:253
+#, c-format
+msgid "%s: Can't create subdir list\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:359 fc-cat/fc-cat.c:305
+#, c-format
+msgid "%s: Can't initialize font config library\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:369
+#, c-format
+msgid "%s: Can't create list of directories\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:377
+#, c-format
+msgid "%s: Can't add directory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:389
+#, c-format
+msgid "Out of Memory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:421
+msgid "failed"
+msgstr ""
+
+#: fc-cache/fc-cache.c:421
+msgid "succeeded"
+msgstr ""
+
+#: fc-cat/fc-cat.c:159
+#, c-format
+msgid "usage: %s [-rv] [--recurse] [--verbose] [*-%s"
+msgstr ""
+
+#: fc-cat/fc-cat.c:163
+#, c-format
+msgid "usage: %s [-rvVh] [*-%s"
+msgstr ""
+
+#: fc-cat/fc-cat.c:166
+#, c-format
+msgid "Reads font information cache from:\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:167
+#, c-format
+msgid " 1) specified fontconfig cache file\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:168
+#, c-format
+msgid " 2) related to a particular font directory\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:171
+#, c-format
+msgid "  -r, --recurse        recurse into subdirectories\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:172
+#, c-format
+msgid "  -v, --verbose        be verbose\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:173 fc-conflist/fc-conflist.c:87 fc-list/fc-list.c:92
+#: fc-match/fc-match.c:95 fc-pattern/fc-pattern.c:91 fc-query/fc-query.c:94
+#: fc-scan/fc-scan.c:92 fc-validate/fc-validate.c:95
+#, c-format
+msgid "  -V, --version        display font config version and exit\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:174 fc-conflist/fc-conflist.c:88 fc-list/fc-list.c:93
+#: fc-match/fc-match.c:96 fc-pattern/fc-pattern.c:92 fc-query/fc-query.c:95
+#: fc-scan/fc-scan.c:93 fc-validate/fc-validate.c:96
+#, c-format
+msgid "  -h, --help           display this help and exit\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:176
+#, c-format
+msgid "  -r         (recurse) recurse into subdirectories\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:177
+#, c-format
+msgid "  -v         (verbose) be verbose\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:314 fc-cat/fc-cat.c:323 fc-cat/fc-cat.c:335
+#: fc-cat/fc-cat.c:343
+#, c-format
+msgid "%s: malloc failure\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:383
+#, c-format
+msgid ""
+"Directory: %s\n"
+"Cache: %s\n"
+"--------\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:78
+#, c-format
+msgid "usage: %s [-Vh] [--version] [--help]\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:81
+#, c-format
+msgid "usage: %s [-Vh]\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:84
+#, c-format
+msgid "Show the ruleset files information on the system\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:90 fc-validate/fc-validate.c:101
+#, c-format
+msgid "  -V         (version)      display font config version and exit\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:91 fc-validate/fc-validate.c:102
+#, c-format
+msgid "  -h         (help)         display this help and exit\n"
+msgstr ""
+
+#: fc-list/fc-list.c:79
+#, c-format
+msgid ""
+"usage: %s [-vbqVh] [-f FORMAT] [--verbose] [--brief] [--format=FORMAT] [--"
+"quiet] [--version] [--help] [pattern] {element ...} \n"
+msgstr ""
+
+#: fc-list/fc-list.c:82
+#, c-format
+msgid "usage: %s [-vbqVh] [-f FORMAT] [pattern] {element ...} \n"
+msgstr ""
+
+#: fc-list/fc-list.c:85
+#, c-format
+msgid "List fonts matching [pattern]\n"
+msgstr ""
+
+#: fc-list/fc-list.c:88 fc-match/fc-match.c:92
+#, c-format
+msgid "  -v, --verbose        display entire font pattern verbosely\n"
+msgstr ""
+
+#: fc-list/fc-list.c:89 fc-match/fc-match.c:93
+#, c-format
+msgid "  -b, --brief          display entire font pattern briefly\n"
+msgstr ""
+
+#: fc-list/fc-list.c:90 fc-match/fc-match.c:94 fc-pattern/fc-pattern.c:90
+#: fc-query/fc-query.c:93 fc-scan/fc-scan.c:91
+#, c-format
+msgid "  -f, --format=FORMAT  use the given output format\n"
+msgstr ""
+
+#: fc-list/fc-list.c:91
+#, c-format
+msgid ""
+"  -q, --quiet          suppress all normal output, exit 1 if no fonts "
+"matched\n"
+msgstr ""
+
+#: fc-list/fc-list.c:95 fc-match/fc-match.c:100
+#, c-format
+msgid "  -v         (verbose) display entire font pattern verbosely\n"
+msgstr ""
+
+#: fc-list/fc-list.c:96 fc-match/fc-match.c:101
+#, c-format
+msgid "  -b         (brief)   display entire font pattern briefly\n"
+msgstr ""
+
+#: fc-list/fc-list.c:97 fc-match/fc-match.c:102 fc-pattern/fc-pattern.c:96
+#, c-format
+msgid "  -f FORMAT  (format)  use the given output format\n"
+msgstr ""
+
+#: fc-list/fc-list.c:98
+#, c-format
+msgid ""
+"  -q,        (quiet)   suppress all normal output, exit 1 if no fonts "
+"matched\n"
+msgstr ""
+
+#: fc-list/fc-list.c:159 fc-match/fc-match.c:166 fc-pattern/fc-pattern.c:150
+#, c-format
+msgid "Unable to parse the pattern\n"
+msgstr ""
+
+#: fc-match/fc-match.c:81
+#, c-format
+msgid ""
+"usage: %s [-savbVh] [-f FORMAT] [--sort] [--all] [--verbose] [--brief] [--"
+"format=FORMAT] [--version] [--help] [pattern] {element...}\n"
+msgstr ""
+
+#: fc-match/fc-match.c:84
+#, c-format
+msgid "usage: %s [-savVh] [-f FORMAT] [pattern] {element...}\n"
+msgstr ""
+
+#: fc-match/fc-match.c:87 fc-pattern/fc-pattern.c:85
+#, c-format
+msgid "List best font matching [pattern]\n"
+msgstr ""
+
+#: fc-match/fc-match.c:90
+#, c-format
+msgid "  -s, --sort           display sorted list of matches\n"
+msgstr ""
+
+#: fc-match/fc-match.c:91
+#, c-format
+msgid "  -a, --all            display unpruned sorted list of matches\n"
+msgstr ""
+
+#: fc-match/fc-match.c:98
+#, c-format
+msgid "  -s,        (sort)    display sorted list of matches\n"
+msgstr ""
+
+#: fc-match/fc-match.c:99
+#, c-format
+msgid "  -a         (all)     display unpruned sorted list of matches\n"
+msgstr ""
+
+#: fc-match/fc-match.c:195
+#, c-format
+msgid "No fonts installed on the system\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:79
+#, c-format
+msgid ""
+"usage: %s [-cdVh] [-f FORMAT] [--config] [--default] [--verbose] [--"
+"format=FORMAT] [--version] [--help] [pattern] {element...}\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:82
+#, c-format
+msgid "usage: %s [-cdVh] [-f FORMAT] [pattern] {element...}\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:88
+#, c-format
+msgid "  -c, --config         perform config substitution on pattern\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:89
+#, c-format
+msgid "  -d, --default        perform default substitution on pattern\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:94
+#, c-format
+msgid "  -c,        (config)  perform config substitution on pattern\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:95
+#, c-format
+msgid "  -d,        (default) perform default substitution on pattern\n"
+msgstr ""
+
+#: fc-query/fc-query.c:82
+#, c-format
+msgid ""
+"usage: %s [-bVh] [-i index] [-f FORMAT] [--index index] [--brief] [--format "
+"FORMAT] [--version] [--help] font-file...\n"
+msgstr ""
+
+#: fc-query/fc-query.c:85
+#, c-format
+msgid "usage: %s [-bVh] [-i index] [-f FORMAT] font-file...\n"
+msgstr ""
+
+#: fc-query/fc-query.c:88
+#, c-format
+msgid "Query font files and print resulting pattern(s)\n"
+msgstr ""
+
+#: fc-query/fc-query.c:91 fc-validate/fc-validate.c:92
+#, c-format
+msgid "  -i, --index INDEX    display the INDEX face of each font file only\n"
+msgstr ""
+
+#: fc-query/fc-query.c:92 fc-scan/fc-scan.c:90
+#, c-format
+msgid "  -b, --brief          display font pattern briefly\n"
+msgstr ""
+
+#: fc-query/fc-query.c:97
+#, c-format
+msgid ""
+"  -i INDEX   (index)         display the INDEX face of each font file only\n"
+msgstr ""
+
+#: fc-query/fc-query.c:98 fc-scan/fc-scan.c:95
+#, c-format
+msgid "  -b         (brief)         display font pattern briefly\n"
+msgstr ""
+
+#: fc-query/fc-query.c:99 fc-scan/fc-scan.c:96
+#, c-format
+msgid "  -f FORMAT  (format)        use the given output format\n"
+msgstr ""
+
+#: fc-query/fc-query.c:100 fc-scan/fc-scan.c:97
+#, c-format
+msgid "  -V         (version)       display font config version and exit\n"
+msgstr ""
+
+#: fc-query/fc-query.c:101 fc-scan/fc-scan.c:98
+#, c-format
+msgid "  -h         (help)          display this help and exit\n"
+msgstr ""
+
+#: fc-query/fc-query.c:158
+#, c-format
+msgid "Can't query face %u of font file %s\n"
+msgstr ""
+
+#: fc-scan/fc-scan.c:81
+#, c-format
+msgid ""
+"usage: %s [-bVh] [-f FORMAT] [--brief] [--format FORMAT] [--version] [--"
+"help] font-file...\n"
+msgstr ""
+
+#: fc-scan/fc-scan.c:84
+#, c-format
+msgid "usage: %s [-bVh] [-f FORMAT] font-file...\n"
+msgstr ""
+
+#: fc-scan/fc-scan.c:87
+#, c-format
+msgid "Scan font files and directories, and print resulting pattern(s)\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:83
+#, c-format
+msgid ""
+"usage: %s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--"
+"verbose] [--version] [--help] font-file...\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:86
+#, c-format
+msgid "usage: %s [-Vhv] [-i index] [-l LANG] font-file...\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:89
+#, c-format
+msgid "Validate font files and print result\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:93
+#, c-format
+msgid "  -l, --lang=LANG      set LANG instead of current locale\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:94
+#, c-format
+msgid "  -v, --verbose        show more detailed information\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:98
+#, c-format
+msgid ""
+"  -i INDEX   (index)        display the INDEX face of each font file only\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:99
+#, c-format
+msgid "  -l LANG    (lang)         set LANG instead of current locale\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:100
+#, c-format
+msgid "  -v         (verbose)      show more detailed information\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:167
+#, c-format
+msgid "Can't initalize FreeType library\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:185
+#, c-format
+msgid "Unable to open %s\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:200
+#, c-format
+msgid "%s:%d Missing %d glyph(s) to satisfy the coverage for %s language\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:230
+#, c-format
+msgid "%s:%d Satisfy the coverage for %s language\n"
+msgstr ""
+
+#: src/fccfg.c:2657
+msgid "No description"
+msgstr ""
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644 (file)
index 0000000..b26de01
--- /dev/null
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/quot.sed b/po/quot.sed
new file mode 100644 (file)
index 0000000..0122c46
--- /dev/null
@@ -0,0 +1,6 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
new file mode 100644 (file)
index 0000000..2436c49
--- /dev/null
@@ -0,0 +1,19 @@
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/stamp-po b/po/stamp-po
new file mode 100644 (file)
index 0000000..9788f70
--- /dev/null
@@ -0,0 +1 @@
+timestamp
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
new file mode 100644 (file)
index 0000000..8eb2175
Binary files /dev/null and b/po/zh_CN.gmo differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644 (file)
index 0000000..4bb67c2
--- /dev/null
@@ -0,0 +1,608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Fontconfig Author(s)
+# This file is distributed under the same license as the fontconfig package.
+#
+# Dingyuan Wang <gumblex@aosc.io>, 2018.
+# Mingcong Bai <jeffbai@aosc.io>, 2018.
+# Mingye Wang <artoria2e5@aosc.io>, 2018.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: fontconfig 2.12.92\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
+"product=fontconfig\n"
+"POT-Creation-Date: 2018-03-06 12:50+0900\n"
+"PO-Revision-Date: 2018-02-16 01:41-0600\n"
+"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
+"Language-Team: AOSC\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: fc-cache/fc-cache.c:98
+#, c-format
+msgid ""
+"usage: %s [-EfrsvVh] [-y SYSROOT] [--error-on-no-fonts] [--force|--really-"
+"force] [--sysroot=SYSROOT] [--system-only] [--verbose] [--version] [--help] "
+"[dirs]\n"
+msgstr ""
+"用法:%s [-EfrsvVh] [-y <系统根>] [--error-on-no-fonts] [--force|--really-"
+"force] [--sysroot=<系统根>] [--system-only] [--verbose] [--version] [--help] "
+"[目录]\n"
+
+#: fc-cache/fc-cache.c:101
+#, c-format
+msgid "usage: %s [-EfrsvVh] [-y SYSROOT] [dirs]\n"
+msgstr "用法:%s [-EfrsvVh] [-y <系统根>] [目录]\n"
+
+#: fc-cache/fc-cache.c:104
+#, c-format
+msgid ""
+"Build font information caches in [dirs]\n"
+"(all directories in font configuration by default).\n"
+msgstr ""
+"在 [目录] 构建字体信息缓存\n"
+"(默认为所有字体配置中定义的目录)。\n"
+
+#: fc-cache/fc-cache.c:108
+#, c-format
+msgid "  -E, --error-on-no-fonts  raise an error if no fonts in a directory\n"
+msgstr "  -E, --error-on-no-fonts  在目录中无字体时报错\n"
+
+#: fc-cache/fc-cache.c:109
+#, c-format
+msgid ""
+"  -f, --force              scan directories with apparently valid caches\n"
+msgstr "  -f, --force              强制扫描已有有效缓存的目录\n"
+
+#: fc-cache/fc-cache.c:110
+#, c-format
+msgid "  -r, --really-force       erase all existing caches, then rescan\n"
+msgstr "  -r, --really-force       清空所有缓存并重新扫描\n"
+
+#: fc-cache/fc-cache.c:111
+#, c-format
+msgid "  -s, --system-only        scan system-wide directories only\n"
+msgstr "  -s, --system-only        仅扫描系统全局目录\n"
+
+#: fc-cache/fc-cache.c:112
+#, c-format
+msgid "  -y, --sysroot=SYSROOT    prepend SYSROOT to all paths for scanning\n"
+msgstr "  -y, --sysroot=<系统根>    扫描时将 <系统根> 值附加到路径开头\n"
+
+#: fc-cache/fc-cache.c:113
+#, c-format
+msgid "  -v, --verbose            display status information while busy\n"
+msgstr "  -v, --verbose            在程序工作时显示状态信息\n"
+
+#: fc-cache/fc-cache.c:114
+#, c-format
+msgid "  -V, --version            display font config version and exit\n"
+msgstr "  -V, --version            显示 Fontconfig 版本并退出\n"
+
+#: fc-cache/fc-cache.c:115
+#, c-format
+msgid "  -h, --help               display this help and exit\n"
+msgstr "  -h, --help               显示该帮助信息并退出\n"
+
+#: fc-cache/fc-cache.c:117
+#, c-format
+msgid "  -E         (error-on-no-fonts)\n"
+msgstr "  -E         (error-on-no-fonts)\n"
+
+#: fc-cache/fc-cache.c:118
+#, c-format
+msgid "                       raise an error if no fonts in a directory\n"
+msgstr "                       在目录中无字体时报错\n"
+
+#: fc-cache/fc-cache.c:119
+#, c-format
+msgid "  -f         (force)   scan directories with apparently valid caches\n"
+msgstr "  -f         (force)   强制扫描带有有效缓存的目录\n"
+
+#: fc-cache/fc-cache.c:120
+#, c-format
+msgid "  -r,   (really force) erase all existing caches, then rescan\n"
+msgstr "  -r,   (really-force) 清空所有缓存并重新扫描\n"
+
+#: fc-cache/fc-cache.c:121
+#, c-format
+msgid "  -s         (system)  scan system-wide directories only\n"
+msgstr "  -s         (system)  仅扫描系统全局目录\n"
+
+#: fc-cache/fc-cache.c:122
+#, c-format
+msgid "  -y SYSROOT (sysroot) prepend SYSROOT to all paths for scanning\n"
+msgstr "  -y <系统根> (sysroot) 扫描时将 <系统根> 值附加到路径开头\n"
+
+#: fc-cache/fc-cache.c:123
+#, c-format
+msgid "  -v         (verbose) display status information while busy\n"
+msgstr "  -v         (verbose) 在程序工作时显示状态信息\n"
+
+#: fc-cache/fc-cache.c:124 fc-cat/fc-cat.c:178 fc-list/fc-list.c:99
+#: fc-match/fc-match.c:103 fc-pattern/fc-pattern.c:97
+#, c-format
+msgid "  -V         (version) display font config version and exit\n"
+msgstr "  -V         (version) 显示 Fontconfig 版本并退出\n"
+
+#: fc-cache/fc-cache.c:125 fc-cat/fc-cat.c:179 fc-list/fc-list.c:100
+#: fc-match/fc-match.c:104 fc-pattern/fc-pattern.c:98
+#, c-format
+msgid "  -h         (help)    display this help and exit\n"
+msgstr "  -h         (help)    显示该帮助信息并退出\n"
+
+#: fc-cache/fc-cache.c:162
+#, c-format
+msgid "skipping, looped directory detected\n"
+msgstr "跳过,探测到循环目录\n"
+
+#: fc-cache/fc-cache.c:172
+#, c-format
+msgid "skipping, no such directory\n"
+msgstr "跳过,无此目录\n"
+
+#: fc-cache/fc-cache.c:185
+#, c-format
+msgid "\"%s\": not a directory, skipping\n"
+msgstr "“%s”:不是一个目录,跳过\n"
+
+#: fc-cache/fc-cache.c:210
+#, c-format
+msgid "\"%s\": scanning error\n"
+msgstr "“%s”:扫描错误\n"
+
+#: fc-cache/fc-cache.c:219
+#, c-format
+msgid "skipping, existing cache is valid: %d fonts, %d dirs\n"
+msgstr "跳过,当前缓存有效:%d 个字体,%d 个目录\n"
+
+#: fc-cache/fc-cache.c:225
+#, c-format
+msgid "caching, new cache contents: %d fonts, %d dirs\n"
+msgstr "正在生成缓存,新增缓存内容:%d 个字体,%d 个目录\n"
+
+#: fc-cache/fc-cache.c:230
+#, c-format
+msgid "%s: failed to write cache\n"
+msgstr "%s:无法写入缓存\n"
+
+#: fc-cache/fc-cache.c:239
+#, c-format
+msgid "%s: Can't create subdir set\n"
+msgstr "%s:无法创建子目录集\n"
+
+#: fc-cache/fc-cache.c:253
+#, c-format
+msgid "%s: Can't create subdir list\n"
+msgstr "%s:无法创建子目录列表\n"
+
+#: fc-cache/fc-cache.c:359 fc-cat/fc-cat.c:305
+#, c-format
+msgid "%s: Can't initialize font config library\n"
+msgstr "%s:无法初始化 Fontconfig 库\n"
+
+#: fc-cache/fc-cache.c:369
+#, c-format
+msgid "%s: Can't create list of directories\n"
+msgstr "%s:无法创建目录列表\n"
+
+#: fc-cache/fc-cache.c:377
+#, c-format
+msgid "%s: Can't add directory\n"
+msgstr "%s:无法添加目录\n"
+
+#: fc-cache/fc-cache.c:389
+#, c-format
+msgid "Out of Memory\n"
+msgstr "内存耗尽\n"
+
+#: fc-cache/fc-cache.c:421
+msgid "failed"
+msgstr "缓存生成失败"
+
+#: fc-cache/fc-cache.c:421
+msgid "succeeded"
+msgstr "缓存生成成功"
+
+#: fc-cat/fc-cat.c:159
+#, c-format
+msgid "usage: %s [-rv] [--recurse] [--verbose] [*-%s"
+msgstr "用法:%s [-rv] [--recurse] [--verbose] [*-%s"
+
+#: fc-cat/fc-cat.c:163
+#, c-format
+msgid "usage: %s [-rvVh] [*-%s"
+msgstr "用法:%s [-rvVh] [*-%s"
+
+#: fc-cat/fc-cat.c:166
+#, c-format
+msgid "Reads font information cache from:\n"
+msgstr "从此处读取字体信息缓存:\n"
+
+#: fc-cat/fc-cat.c:167
+#, c-format
+msgid " 1) specified fontconfig cache file\n"
+msgstr "1. 指定的 Fontconfig 缓存文件\n"
+
+#: fc-cat/fc-cat.c:168
+#, c-format
+msgid " 2) related to a particular font directory\n"
+msgstr "2. 相对于某个字体目录\n"
+
+#: fc-cat/fc-cat.c:171
+#, c-format
+msgid "  -r, --recurse        recurse into subdirectories\n"
+msgstr "  -r, --recurse        递归进入子目录\n"
+
+#: fc-cat/fc-cat.c:172
+#, c-format
+msgid "  -v, --verbose        be verbose\n"
+msgstr "  -v, --verbose        输出详尽信息\n"
+
+#: fc-cat/fc-cat.c:173 fc-conflist/fc-conflist.c:87 fc-list/fc-list.c:92
+#: fc-match/fc-match.c:95 fc-pattern/fc-pattern.c:91 fc-query/fc-query.c:94
+#: fc-scan/fc-scan.c:92 fc-validate/fc-validate.c:95
+#, c-format
+msgid "  -V, --version        display font config version and exit\n"
+msgstr "  -V, --version        显示 Fontconfig 版本并退出\n"
+
+#: fc-cat/fc-cat.c:174 fc-conflist/fc-conflist.c:88 fc-list/fc-list.c:93
+#: fc-match/fc-match.c:96 fc-pattern/fc-pattern.c:92 fc-query/fc-query.c:95
+#: fc-scan/fc-scan.c:93 fc-validate/fc-validate.c:96
+#, c-format
+msgid "  -h, --help           display this help and exit\n"
+msgstr "  -h, --help           显示该帮助信息并退出\n"
+
+#: fc-cat/fc-cat.c:176
+#, c-format
+msgid "  -r         (recurse) recurse into subdirectories\n"
+msgstr "  -r         (recurse) 递归进入子目录\n"
+
+#: fc-cat/fc-cat.c:177
+#, c-format
+msgid "  -v         (verbose) be verbose\n"
+msgstr "  -v         (verbose) 输出详尽信息\n"
+
+#: fc-cat/fc-cat.c:314 fc-cat/fc-cat.c:323 fc-cat/fc-cat.c:335
+#: fc-cat/fc-cat.c:343
+#, c-format
+msgid "%s: malloc failure\n"
+msgstr "%s:无法分配内存 (malloc)\n"
+
+#: fc-cat/fc-cat.c:383
+#, c-format
+msgid ""
+"Directory: %s\n"
+"Cache: %s\n"
+"--------\n"
+msgstr ""
+"目录:%s\n"
+"缓存:%s\n"
+"--------\n"
+
+#: fc-conflist/fc-conflist.c:78
+#, c-format
+msgid "usage: %s [-Vh] [--version] [--help]\n"
+msgstr "用法:%s [-Vh] [--version] [--help]\n"
+
+#: fc-conflist/fc-conflist.c:81
+#, c-format
+msgid "usage: %s [-Vh]\n"
+msgstr "用法:%s [-Vh]\n"
+
+#: fc-conflist/fc-conflist.c:84
+#, c-format
+msgid "Show the ruleset files information on the system\n"
+msgstr "显示当前系统中的规则集文件\n"
+
+#: fc-conflist/fc-conflist.c:90 fc-validate/fc-validate.c:101
+#, c-format
+msgid "  -V         (version)      display font config version and exit\n"
+msgstr "  -V         (版本)      显示 Fontconfig 版本并退出\n"
+
+#: fc-conflist/fc-conflist.c:91 fc-validate/fc-validate.c:102
+#, c-format
+msgid "  -h         (help)         display this help and exit\n"
+msgstr "  -h         (帮助)         显示该帮助信息并退出\n"
+
+#: fc-list/fc-list.c:79
+#, c-format
+msgid ""
+"usage: %s [-vbqVh] [-f FORMAT] [--verbose] [--brief] [--format=FORMAT] [--"
+"quiet] [--version] [--help] [pattern] {element ...} \n"
+msgstr ""
+"用法:%s [-vbqVh] [-f <输出格式>] [--verbose] [--brief] [--format=<输出格式"
+">] [--quiet] [--version] [--help] [匹配模式] {元素 …} \n"
+
+#: fc-list/fc-list.c:82
+#, c-format
+msgid "usage: %s [-vbqVh] [-f FORMAT] [pattern] {element ...} \n"
+msgstr "用法:%s [-vbqVh] [-f <输出格式>] [匹配模式] {元素 …} \n"
+
+#: fc-list/fc-list.c:85
+#, c-format
+msgid "List fonts matching [pattern]\n"
+msgstr "列出符合 [匹配模式] 的字体\n"
+
+#: fc-list/fc-list.c:88 fc-match/fc-match.c:92
+#, c-format
+msgid "  -v, --verbose        display entire font pattern verbosely\n"
+msgstr "  -v, --verbose        详尽显示整个字体匹配模式\n"
+
+#: fc-list/fc-list.c:89 fc-match/fc-match.c:93
+#, c-format
+msgid "  -b, --brief          display entire font pattern briefly\n"
+msgstr "  -b, --brief          简略显示整个字体匹配模式\n"
+
+#: fc-list/fc-list.c:90 fc-match/fc-match.c:94 fc-pattern/fc-pattern.c:90
+#: fc-query/fc-query.c:93 fc-scan/fc-scan.c:91
+#, c-format
+msgid "  -f, --format=FORMAT  use the given output format\n"
+msgstr "  -f, --format=<输出格式>  使用指定的输出格式\n"
+
+#: fc-list/fc-list.c:91
+#, c-format
+msgid ""
+"  -q, --quiet          suppress all normal output, exit 1 if no fonts "
+"matched\n"
+msgstr "  -q, --quiet          静默所有正常输出,无匹配字体时返回退出代码 1\n"
+
+#: fc-list/fc-list.c:95 fc-match/fc-match.c:100
+#, c-format
+msgid "  -v         (verbose) display entire font pattern verbosely\n"
+msgstr "  -v         (verbose) 详尽显示整个字体匹配模式\n"
+
+#: fc-list/fc-list.c:96 fc-match/fc-match.c:101
+#, c-format
+msgid "  -b         (brief)   display entire font pattern briefly\n"
+msgstr "  -b         (brief)   简略显示整个字体匹配模式\n"
+
+#: fc-list/fc-list.c:97 fc-match/fc-match.c:102 fc-pattern/fc-pattern.c:96
+#, c-format
+msgid "  -f FORMAT  (format)  use the given output format\n"
+msgstr "  -f <输出格式>  (format)  使用指定的输出格式\n"
+
+#: fc-list/fc-list.c:98
+#, c-format
+msgid ""
+"  -q,        (quiet)   suppress all normal output, exit 1 if no fonts "
+"matched\n"
+msgstr "  -q,        (quiet)   静默所有正常输出,无匹配字体时返回退出代码 1\n"
+
+#: fc-list/fc-list.c:159 fc-match/fc-match.c:166 fc-pattern/fc-pattern.c:150
+#, c-format
+msgid "Unable to parse the pattern\n"
+msgstr "无法解析匹配模式\n"
+
+#: fc-match/fc-match.c:81
+#, c-format
+msgid ""
+"usage: %s [-savbVh] [-f FORMAT] [--sort] [--all] [--verbose] [--brief] [--"
+"format=FORMAT] [--version] [--help] [pattern] {element...}\n"
+msgstr ""
+"用法:%s [-savbVh] [-f <输出格式>] [--sort] [--all] [--verbose] [--brief] [--"
+"format=<输出格式>] [--version] [--help] [匹配模式] {元素…}\n"
+
+#: fc-match/fc-match.c:84
+#, c-format
+msgid "usage: %s [-savVh] [-f FORMAT] [pattern] {element...}\n"
+msgstr "用法:%s [-savVh] [-f <输出格式>] [匹配模式] {元素…}\n"
+
+#: fc-match/fc-match.c:87 fc-pattern/fc-pattern.c:85
+#, c-format
+msgid "List best font matching [pattern]\n"
+msgstr "列出符合 [匹配模式] 的最佳字体\n"
+
+#: fc-match/fc-match.c:90
+#, c-format
+msgid "  -s, --sort           display sorted list of matches\n"
+msgstr "  -s, --sort           显示已排序的匹配列表\n"
+
+#: fc-match/fc-match.c:91
+#, c-format
+msgid "  -a, --all            display unpruned sorted list of matches\n"
+msgstr "  -a, --all            显示未修剪而已排序的匹配列表\n"
+
+#: fc-match/fc-match.c:98
+#, c-format
+msgid "  -s,        (sort)    display sorted list of matches\n"
+msgstr "  -s,        (sort)    显示已排序的匹配列表\n"
+
+#: fc-match/fc-match.c:99
+#, c-format
+msgid "  -a         (all)     display unpruned sorted list of matches\n"
+msgstr "  -a         (all)     显示未修剪而已排序的匹配列表\n"
+
+#: fc-match/fc-match.c:195
+#, c-format
+msgid "No fonts installed on the system\n"
+msgstr "系统中未安装任何字体\n"
+
+#: fc-pattern/fc-pattern.c:79
+#, c-format
+msgid ""
+"usage: %s [-cdVh] [-f FORMAT] [--config] [--default] [--verbose] [--"
+"format=FORMAT] [--version] [--help] [pattern] {element...}\n"
+msgstr ""
+"用法:%s [-cdVh] [-f <输出格式>] [--config] [--default] [--verbose] [--"
+"format=<输出格式>] [--version] [--help] [匹配模式] {元素…}\n"
+
+#: fc-pattern/fc-pattern.c:82
+#, c-format
+msgid "usage: %s [-cdVh] [-f FORMAT] [pattern] {element...}\n"
+msgstr "用法:%s [-cdVh] [-f <输出格式>] [匹配模式] {元素…}\n"
+
+#: fc-pattern/fc-pattern.c:88
+#, c-format
+msgid "  -c, --config         perform config substitution on pattern\n"
+msgstr "  -c, --config         根据匹配模式进行配置替换\n"
+
+#: fc-pattern/fc-pattern.c:89
+#, c-format
+msgid "  -d, --default        perform default substitution on pattern\n"
+msgstr "  -d, --default        根据匹配模式进行默认值替换\n"
+
+#: fc-pattern/fc-pattern.c:94
+#, c-format
+msgid "  -c,        (config)  perform config substitution on pattern\n"
+msgstr "  -c,        (config)  根据匹配模式进行配置替换\n"
+
+#: fc-pattern/fc-pattern.c:95
+#, c-format
+msgid "  -d,        (default) perform default substitution on pattern\n"
+msgstr "  -d,        (default) 根据匹配模式进行默认值替换\n"
+
+#: fc-query/fc-query.c:82
+#, c-format
+msgid ""
+"usage: %s [-bVh] [-i index] [-f FORMAT] [--index index] [--brief] [--format "
+"FORMAT] [--version] [--help] font-file...\n"
+msgstr ""
+"用法:%s [-bVh] [-i index] [-f <输出格式>] [--index index] [--brief] [--"
+"format <输出格式>] [--version] [--help] 字体文件…\n"
+
+#: fc-query/fc-query.c:85
+#, c-format
+msgid "usage: %s [-bVh] [-i index] [-f FORMAT] font-file...\n"
+msgstr "用法:%s [-bVh] [-i index] [-f <输出格式>] 字体文件…\n"
+
+#: fc-query/fc-query.c:88
+#, c-format
+msgid "Query font files and print resulting pattern(s)\n"
+msgstr ""
+"查询字体文件并输出匹配模式\n"
+"\n"
+
+#: fc-query/fc-query.c:91 fc-validate/fc-validate.c:92
+#, c-format
+msgid "  -i, --index INDEX    display the INDEX face of each font file only\n"
+msgstr "  -i, --index <编号>    仅显示每个字体文件的 <编号> 样式\n"
+
+#: fc-query/fc-query.c:92 fc-scan/fc-scan.c:90
+#, c-format
+msgid "  -b, --brief          display font pattern briefly\n"
+msgstr "  -b, --brief          简略显示字体匹配模式\n"
+
+#: fc-query/fc-query.c:97
+#, c-format
+msgid ""
+"  -i INDEX   (index)         display the INDEX face of each font file only\n"
+msgstr "  -i <编号>   (index)         仅显示每个字体文件的 <编号> 样式\n"
+
+#: fc-query/fc-query.c:98 fc-scan/fc-scan.c:95
+#, c-format
+msgid "  -b         (brief)         display font pattern briefly\n"
+msgstr "  -b         (brief)         简略显示字体匹配模式\n"
+
+#: fc-query/fc-query.c:99 fc-scan/fc-scan.c:96
+#, c-format
+msgid "  -f FORMAT  (format)        use the given output format\n"
+msgstr "  -f <输出格式>  (format)        使用指定的输出格式\n"
+
+#: fc-query/fc-query.c:100 fc-scan/fc-scan.c:97
+#, c-format
+msgid "  -V         (version)       display font config version and exit\n"
+msgstr "  -V         (version)       显示 Fontconfig 版本并退出\n"
+
+#: fc-query/fc-query.c:101 fc-scan/fc-scan.c:98
+#, c-format
+msgid "  -h         (help)          display this help and exit\n"
+msgstr "  -h         (help)          显示此帮助信息并退出\n"
+
+#: fc-query/fc-query.c:158
+#, c-format
+msgid "Can't query face %u of font file %s\n"
+msgstr "无法查询字体文件 %2$s 的样式 %1$u\n"
+
+#: fc-scan/fc-scan.c:81
+#, c-format
+msgid ""
+"usage: %s [-bVh] [-f FORMAT] [--brief] [--format FORMAT] [--version] [--"
+"help] font-file...\n"
+msgstr ""
+"用法:%s [-bVh] [-f <输出格式>] [--brief] [--format <输出格式>] [--version] "
+"[--help] 字体文件…\n"
+
+#: fc-scan/fc-scan.c:84
+#, c-format
+msgid "usage: %s [-bVh] [-f FORMAT] font-file...\n"
+msgstr "用法:%s [-bVh] [-f <输出格式>] 字体文件…\n"
+
+#: fc-scan/fc-scan.c:87
+#, c-format
+msgid "Scan font files and directories, and print resulting pattern(s)\n"
+msgstr "扫描字体文件和目录并输出匹配模式\n"
+
+#: fc-validate/fc-validate.c:83
+#, c-format
+msgid ""
+"usage: %s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--"
+"verbose] [--version] [--help] font-file...\n"
+msgstr ""
+"用法:%s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--"
+"verbose] [--version] [--help] 字体文件…\n"
+
+#: fc-validate/fc-validate.c:86
+#, c-format
+msgid "usage: %s [-Vhv] [-i index] [-l LANG] font-file...\n"
+msgstr "用法:%s [-Vhv] [-i index] [-l LANG] 字体文件…\n"
+
+#: fc-validate/fc-validate.c:89
+#, c-format
+msgid "Validate font files and print result\n"
+msgstr "验证字体文件并输出结果\n"
+
+#: fc-validate/fc-validate.c:93
+#, c-format
+msgid "  -l, --lang=LANG      set LANG instead of current locale\n"
+msgstr "  -l, --lang=LANG      使用 LANG 值替换当前区域设置\n"
+
+#: fc-validate/fc-validate.c:94
+#, c-format
+msgid "  -v, --verbose        show more detailed information\n"
+msgstr "  -v, --verbose        显示详尽信息\n"
+
+#: fc-validate/fc-validate.c:98
+#, c-format
+msgid ""
+"  -i INDEX   (index)        display the INDEX face of each font file only\n"
+msgstr "  -i <编号>   (index)        仅显示每个字体的 <编号> 字形\n"
+
+#: fc-validate/fc-validate.c:99
+#, c-format
+msgid "  -l LANG    (lang)         set LANG instead of current locale\n"
+msgstr "  -l LANG    (lang)         使用 LANG 值替换当前区域设置\n"
+
+#: fc-validate/fc-validate.c:100
+#, c-format
+msgid "  -v         (verbose)      show more detailed information\n"
+msgstr "  -v         (详尽)      显示详尽信息\n"
+
+#: fc-validate/fc-validate.c:167
+#, c-format
+msgid "Can't initalize FreeType library\n"
+msgstr "无法初始化 FreeType 库\n"
+
+#: fc-validate/fc-validate.c:185
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "无法打开 %s\n"
+
+#: fc-validate/fc-validate.c:200
+#, c-format
+msgid "%s:%d Missing %d glyph(s) to satisfy the coverage for %s language\n"
+msgstr "%s:%d 尚需 %d 个字形以满足 %s 语言的覆盖需求\n"
+
+#: fc-validate/fc-validate.c:230
+#, c-format
+msgid "%s:%d Satisfy the coverage for %s language\n"
+msgstr "%s:%d 完全满足 %s 语言的覆盖需求\n"
+
+#: src/fccfg.c:2657
+msgid "No description"
+msgstr "无描述"
index 3757cf8..1ff065b 100644 (file)
@@ -77,9 +77,12 @@ AM_CPPFLAGS =                                                \
        $(ICONV_CFLAGS)                                 \
        $(LIBXML2_CFLAGS)                               \
        $(EXPAT_CFLAGS)                                 \
+       $(UUID_CFLAGS)                                  \
        $(WARN_CFLAGS)                                  \
        -DFC_CACHEDIR='"$(FC_CACHEDIR)"'                \
-       -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"'
+       -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"'          \
+       -DFC_TEMPLATEDIR='"$(TEMPLATEDIR)"'
+LDADD  = $(INTLLIBS)
 
 EXTRA_DIST += makealias
 
@@ -89,7 +92,6 @@ 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 \
@@ -99,13 +101,15 @@ noinst_PROGRAMS = fcarch
 
 ../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) $< | \
+fcobjshash.gperf: Makefile stamp-fcobjshash.gperf
+       -@$(RM) stamp-fcobjshash.gperf
+       @$(MAKE) stamp-fcobjshash.gperf
+       @touch -r stamp-fcobjshash.gperf $@
+stamp-fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
+       $(AM_V_GEN) $(CPP) -I$(top_srcdir) $(CPPFLAGS) $< | \
        $(SED) 's/^ *//;s/ *, */,/' | \
        $(GREP) '^[^#]' | \
        awk ' \
@@ -113,22 +117,19 @@ fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
                /CUT_OUT_END/ { no_write=0; next; }; \
                { if (!no_write) print; next; }; \
        ' - > $@.tmp && \
-       mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
+       mv -f $@.tmp fcobjshash.gperf && touch $@ || ( $(RM) $@.tmp && false )
 
-fcobjshash.h: fcobjshash.gperf
-       $(AM_V_GEN) $(GPERF) -m 100 $< > $@.tmp && \
+fcobjshash.h: Makefile fcobjshash.gperf
+       $(AM_V_GEN) $(GPERF) --pic -m 100 fcobjshash.gperf > $@.tmp && \
        mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
 
 EXTRA_DIST += \
-       fcobjshash.gperf.h \
-       fcobjshash.gperf \
-       fcobjshash.h
+       fcobjshash.gperf.h
 
 libfontconfig_la_SOURCES = \
        fcarch.h \
        fcatomic.c \
        fcatomic.h \
-       fcblanks.c \
        fccache.c \
        fccfg.c \
        fccharset.c \
@@ -139,6 +140,8 @@ libfontconfig_la_SOURCES = \
        fcformat.c \
        fcfreetype.c \
        fcfs.c \
+       fcptrlist.c \
+       fchash.c \
        fcinit.c \
        fclang.c \
        fclist.c \
@@ -165,7 +168,7 @@ 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_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS) $(UUID_LIBS) $(INTLLIBS)
 
 libfontconfig_la_DEPENDENCIES = $(fontconfig_def_dependency)
 
@@ -199,7 +202,12 @@ stamp-fcstdint: $(top_builddir)/config.status
        @touch $@
 
 CLEANFILES = $(ALIAS_FILES) fontconfig.def
-DISTCLEANFILES = stamp-fcstdint fcstdint.h
+DISTCLEANFILES =       \
+       stamp-fcstdint  \
+       fcstdint.h      \
+       stamp-fcobjshash.gperf  \
+       fcobjshash.h    \
+       fcobjshash.gperf
 
 fontconfig.def: $(PUBLIC_FILES) $(PUBLIC_FT_FILES)
        echo Generating $@
index f4626ad..d0d32ac 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -120,10 +120,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -162,12 +167,12 @@ am__uninstall_files_from_dir = { \
 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
+am_libfontconfig_la_OBJECTS = fcatomic.lo fccache.lo fccfg.lo \
+       fccharset.lo fccompat.lo fcdbg.lo fcdefault.lo fcdir.lo \
+       fcformat.lo fcfreetype.lo fcfs.lo fcptrlist.lo fchash.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@)
@@ -181,6 +186,7 @@ PROGRAMS = $(noinst_PROGRAMS)
 fcarch_SOURCES = fcarch.c
 fcarch_OBJECTS = fcarch.$(OBJEXT)
 fcarch_LDADD = $(LDADD)
+fcarch_DEPENDENCIES = $(am__DEPENDENCIES_1)
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -285,7 +291,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -297,8 +307,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -310,11 +324,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -334,15 +353,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -350,8 +367,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -398,13 +421,9 @@ 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@
@@ -413,8 +432,7 @@ 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
+EXTRA_DIST = makealias fcobjshash.gperf.h
 @OS_WIN32_TRUE@export_symbols = -export-symbols fontconfig.def
 @OS_WIN32_FALSE@fontconfig_def_dependency = 
 @OS_WIN32_TRUE@fontconfig_def_dependency = fontconfig.def
@@ -428,15 +446,17 @@ AM_CPPFLAGS = \
        $(ICONV_CFLAGS)                                 \
        $(LIBXML2_CFLAGS)                               \
        $(EXPAT_CFLAGS)                                 \
+       $(UUID_CFLAGS)                                  \
        $(WARN_CFLAGS)                                  \
        -DFC_CACHEDIR='"$(FC_CACHEDIR)"'                \
-       -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"'
+       -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"'          \
+       -DFC_TEMPLATEDIR='"$(TEMPLATEDIR)"'
 
+LDADD = $(INTLLIBS)
 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 \
@@ -446,7 +466,6 @@ libfontconfig_la_SOURCES = \
        fcarch.h \
        fcatomic.c \
        fcatomic.h \
-       fcblanks.c \
        fccache.c \
        fccfg.c \
        fccharset.c \
@@ -457,6 +476,8 @@ libfontconfig_la_SOURCES = \
        fcformat.c \
        fcfreetype.c \
        fcfs.c \
+       fcptrlist.c \
+       fchash.c \
        fcinit.c \
        fclang.c \
        fclist.c \
@@ -482,7 +503,7 @@ 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_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS) $(UUID_LIBS) $(INTLLIBS)
 libfontconfig_la_DEPENDENCIES = $(fontconfig_def_dependency)
 PUBLIC_FILES = \
        $(top_srcdir)/fontconfig/fontconfig.h \
@@ -493,7 +514,13 @@ PUBLIC_FT_FILES = \
        $(top_srcdir)/fontconfig/fcfreetype.h
 
 CLEANFILES = $(ALIAS_FILES) fontconfig.def
-DISTCLEANFILES = stamp-fcstdint fcstdint.h
+DISTCLEANFILES = \
+       stamp-fcstdint  \
+       fcstdint.h      \
+       stamp-fcobjshash.gperf  \
+       fcobjshash.h    \
+       fcobjshash.gperf
+
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-am
 
@@ -588,7 +615,6 @@ distclean-compile:
 
 @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@
@@ -599,6 +625,7 @@ distclean-compile:
 @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)/fchash.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@
@@ -607,6 +634,7 @@ distclean-compile:
 @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)/fcptrlist.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@
@@ -766,8 +794,8 @@ 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@install-data-local:
 @ENABLE_SHARED_FALSE@uninstall-local:
+@ENABLE_SHARED_FALSE@install-data-local:
 clean: clean-am
 
 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
@@ -887,13 +915,15 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-local
 
 ../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) $< | \
+fcobjshash.gperf: Makefile stamp-fcobjshash.gperf
+       -@$(RM) stamp-fcobjshash.gperf
+       @$(MAKE) stamp-fcobjshash.gperf
+       @touch -r stamp-fcobjshash.gperf $@
+stamp-fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
+       $(AM_V_GEN) $(CPP) -I$(top_srcdir) $(CPPFLAGS) $< | \
        $(SED) 's/^ *//;s/ *, */,/' | \
        $(GREP) '^[^#]' | \
        awk ' \
@@ -901,10 +931,10 @@ fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
                /CUT_OUT_END/ { no_write=0; next; }; \
                { if (!no_write) print; next; }; \
        ' - > $@.tmp && \
-       mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
+       mv -f $@.tmp fcobjshash.gperf && touch $@ || ( $(RM) $@.tmp && false )
 
-fcobjshash.h: fcobjshash.gperf
-       $(AM_V_GEN) $(GPERF) -m 100 $< > $@.tmp && \
+fcobjshash.h: Makefile fcobjshash.gperf
+       $(AM_V_GEN) $(GPERF) --pic -m 100 fcobjshash.gperf > $@.tmp && \
        mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
 
 @ENABLE_SHARED_TRUE@install-data-local: install-ms-import-lib install-libtool-import-lib
diff --git a/src/fcblanks.c b/src/fcblanks.c
deleted file mode 100644 (file)
index 5132a51..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * fontconfig/src/fcblanks.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"
-
-FcBlanks *
-FcBlanksCreate (void)
-{
-    FcBlanks   *b;
-
-    b = malloc (sizeof (FcBlanks));
-    if (!b)
-       return 0;
-    b->nblank = 0;
-    b->sblank = 0;
-    b->blanks = 0;
-    return b;
-}
-
-void
-FcBlanksDestroy (FcBlanks *b)
-{
-    if (b->sblank == -1)
-       return;
-    if (b->blanks)
-       free (b->blanks);
-    free (b);
-}
-
-FcBool
-FcBlanksAdd (FcBlanks *b, FcChar32 ucs4)
-{
-    FcChar32   *c;
-    int                sblank;
-
-    for (sblank = 0; sblank < b->nblank; sblank++)
-       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;
-       if (b->blanks)
-           c = (FcChar32 *) realloc (b->blanks, sblank * sizeof (FcChar32));
-       else
-           c = (FcChar32 *) malloc (sblank * sizeof (FcChar32));
-       if (!c)
-           return FcFalse;
-       b->sblank = sblank;
-       b->blanks = c;
-    }
-    b->blanks[b->nblank++] = ucs4;
-    return FcTrue;
-}
-
-FcBool
-FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4)
-{
-    int lower = 0, higher = b->nblank, middle;
-
-    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__
-#include "fcaliastail.h"
-#undef __fcblanks__
index 02ec301..7abb750 100644 (file)
@@ -30,6 +30,7 @@
 #include <limits.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <sys/time.h>
 #include <assert.h>
 #if defined(HAVE_MMAP) || defined(__CYGWIN__)
 #  include <unistd.h>
 #endif
 #if defined(_WIN32)
 #include <sys/locking.h>
+#else
+#include <uuid/uuid.h>
 #endif
 
 #ifndef O_BINARY
 #define O_BINARY 0
 #endif
 
+FcBool
+FcDirCacheCreateUUID (FcChar8  *dir,
+                     FcBool    force,
+                     FcConfig *config)
+{
+    FcBool ret = FcTrue;
+#ifndef _WIN32
+    FcChar8 *uuidname;
+
+    uuidname = FcStrBuildFilename (dir, ".uuid", NULL);
+    if (!uuidname)
+       return FcFalse;
+
+    if (force || access ((const char *) uuidname, F_OK) < 0)
+    {
+       FcAtomic *atomic;
+       int fd;
+       uuid_t uuid;
+       char out[37];
+       FcBool (* hash_add) (FcHashTable *, void*, void*);
+       struct stat statb;
+       struct timeval times[2];
+
+       if (FcStat (dir, &statb) != 0)
+       {
+           ret = FcFalse;
+           goto bail1;
+       }
+       atomic = FcAtomicCreate (uuidname);
+       if (!atomic)
+       {
+           ret = FcFalse;
+           goto bail1;
+       }
+       if (!FcAtomicLock (atomic))
+       {
+           ret = FcFalse;
+           goto bail2;
+       }
+       fd = FcOpen ((char *)FcAtomicNewFile (atomic), O_RDWR | O_CREAT, 0644);
+       if (fd == -1)
+       {
+           ret = FcFalse;
+           goto bail3;
+       }
+       uuid_generate_random (uuid);
+       if (force)
+           hash_add = FcHashTableReplace;
+       else
+           hash_add = FcHashTableAdd;
+       if (!hash_add (config->uuid_table, dir, uuid))
+       {
+           ret = FcFalse;
+           goto bail3;
+       }
+       uuid_unparse (uuid, out);
+       if (FcDebug () & FC_DBG_CACHE)
+           printf ("FcDirCacheCreateUUID %s: %s\n", uuidname, out);
+       write (fd, out, strlen (out));
+       close (fd);
+       FcAtomicReplaceOrig (atomic);
+    bail3:
+       FcAtomicUnlock (atomic);
+    bail2:
+       FcAtomicDestroy (atomic);
+
+       if (ret)
+       {
+           /* revert mtime of the directory */
+           times[0].tv_sec = statb.st_atime;
+           times[1].tv_sec = statb.st_mtime;
+#ifdef HAVE_STRUCT_STAT_ST_MTIM
+           times[0].tv_usec = statb.st_atim.tv_nsec / 1000;
+           times[1].tv_usec = statb.st_mtim.tv_nsec / 1000;
+#else
+           times[0].tv_usec = 0;
+           times[1].tv_usec = 0;
+#endif
+           if (utimes ((const  char *) dir, times) != 0)
+           {
+               fprintf (stderr, "Unable to revert mtime: %s\n", dir);
+           }
+       }
+    }
+    bail1:
+    FcStrFree (uuidname);
+#endif
+
+    return ret;
+}
+
+#ifndef _WIN32
+static void
+FcDirCacheReadUUID (FcChar8  *dir,
+                   FcConfig *config)
+{
+    void *u;
+    uuid_t uuid;
+
+    if (!FcHashTableFind (config->uuid_table, dir, &u))
+    {
+       FcChar8 *uuidname = FcStrBuildFilename (dir, ".uuid", NULL);
+       int fd;
+
+       if ((fd = FcOpen ((char *) uuidname, O_RDONLY)) >= 0)
+       {
+           char suuid[37];
+
+           memset (suuid, 0, sizeof (suuid));
+           if (read (fd, suuid, 36) > 0)
+           {
+               memset (uuid, 0, sizeof (uuid));
+               if (uuid_parse (suuid, uuid) == 0)
+               {
+                   if (FcDebug () & FC_DBG_CACHE)
+                       printf ("FcDirCacheReadUUID %s -> %s\n", uuidname, suuid);
+                   FcHashTableAdd (config->uuid_table, dir, uuid);
+               }
+           }
+           close (fd);
+       }
+       else
+       {
+           if (FcDebug () & FC_DBG_CACHE)
+               printf ("FcDirCacheReadUUID Unable to read %s\n", uuidname);
+       }
+       FcStrFree (uuidname);
+    }
+    else
+       FcHashUuidFree (u);
+}
+#endif
 
 struct MD5Context {
         FcChar32 buf[4];
@@ -55,7 +190,7 @@ static void MD5Update(struct MD5Context *ctx, const unsigned char *buf, unsigned
 static void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
 static void MD5Transform(FcChar32 buf[4], FcChar32 in[16]);
 
-#define CACHEBASE_LEN (1 + 32 + 1 + sizeof (FC_ARCHITECTURE) + sizeof (FC_CACHE_SUFFIX))
+#define CACHEBASE_LEN (1 + 36 + 1 + sizeof (FC_ARCHITECTURE) + sizeof (FC_CACHE_SUFFIX))
 
 static FcBool
 FcCacheIsMmapSafe (int fd)
@@ -94,7 +229,7 @@ static const char bin2hex[] = { '0', '1', '2', '3',
                                'c', 'd', 'e', 'f' };
 
 static FcChar8 *
-FcDirCacheBasename (const FcChar8 * dir, FcChar8 cache_base[CACHEBASE_LEN])
+FcDirCacheBasenameMD5 (const FcChar8 *dir, FcChar8 cache_base[CACHEBASE_LEN])
 {
     unsigned char      hash[16];
     FcChar8            *hex_hash;
@@ -119,6 +254,28 @@ FcDirCacheBasename (const FcChar8 * dir, FcChar8 cache_base[CACHEBASE_LEN])
     return cache_base;
 }
 
+#ifndef _WIN32
+static FcChar8 *
+FcDirCacheBasenameUUID (const FcChar8 *dir, FcChar8 cache_base[CACHEBASE_LEN], FcConfig *config)
+{
+    void *u;
+    FcChar8 *alias;
+
+    if (!FcHashTableFind (config->alias_table, dir, (void **)&alias))
+       alias = FcStrdup (dir);
+    if (FcHashTableFind (config->uuid_table, alias, &u))
+    {
+       uuid_unparse (u, (char *) cache_base);
+       strcat ((char *) cache_base, "-" FC_ARCHITECTURE FC_CACHE_SUFFIX);
+       FcHashUuidFree (u);
+       FcStrFree (alias);
+       return cache_base;
+    }
+    FcStrFree (alias);
+    return NULL;
+}
+#endif
+
 FcBool
 FcDirCacheUnlink (const FcChar8 *dir, FcConfig *config)
 {
@@ -128,7 +285,10 @@ FcDirCacheUnlink (const FcChar8 *dir, FcConfig *config)
     FcChar8    *cache_dir;
     const FcChar8 *sysroot = FcConfigGetSysRoot (config);
 
-    FcDirCacheBasename (dir, cache_base);
+#ifndef _WIN32
+    if (!FcDirCacheBasenameUUID (dir, cache_base, config))
+#endif
+       FcDirCacheBasenameMD5 (dir, cache_base);
 
     list = FcStrListCreate (config->cacheDirs);
     if (!list)
@@ -204,7 +364,10 @@ FcDirCacheProcess (FcConfig *config, const FcChar8 *dir,
     }
     FcStrFree (d);
 
-    FcDirCacheBasename (dir, cache_base);
+#ifndef _WIN32
+    if (!FcDirCacheBasenameUUID (dir, cache_base, config))
+#endif
+       FcDirCacheBasenameMD5 (dir, cache_base);
 
     list = FcStrListCreate (config->cacheDirs);
     if (!list)
@@ -640,12 +803,14 @@ FcCacheOffsetsValid (FcCache *cache)
             FcPattern          *font = FcFontSetFont (fs, i);
             FcPatternElt       *e;
             FcValueListPtr      l;
+           char                *last_offset;
 
             if ((char *) font < base ||
                 (char *) font > end - sizeof (FcFontSet) ||
                 font->elts_offset < 0 ||
                 font->elts_offset > end - (char *) font ||
-                font->num > (end - (char *) font - font->elts_offset) / sizeof (FcPatternElt))
+                font->num > (end - (char *) font - font->elts_offset) / sizeof (FcPatternElt) ||
+               !FcRefIsConst (&font->ref))
                 return FcFalse;
 
 
@@ -653,11 +818,17 @@ FcCacheOffsetsValid (FcCache *cache)
             if (e->values != 0 && !FcIsEncodedOffset(e->values))
                 return FcFalse;
 
-            for (j = font->num, l = FcPatternEltValues(e); j >= 0 && l; j--, l = FcValueListNext(l))
-                if (l->next != NULL && !FcIsEncodedOffset(l->next))
-                    break;
-            if (j < 0)
-                return FcFalse;
+           for (j = 0; j < font->num; j++)
+           {
+               last_offset = (char *) font + font->elts_offset;
+               for (l = FcPatternEltValues(&e[j]); l; l = FcValueListNext(l))
+               {
+                   if ((char *) l < last_offset || (char *) l > end - sizeof (*l) ||
+                       (l->next != NULL && !FcIsEncodedOffset(l->next)))
+                       return FcFalse;
+                   last_offset = (char *) l + 1;
+               }
+           }
         }
     }
 
@@ -784,12 +955,20 @@ FcCache *
 FcDirCacheLoad (const FcChar8 *dir, FcConfig *config, FcChar8 **cache_file)
 {
     FcCache *cache = NULL;
+    const FcChar8 *d;
 
+#ifndef _WIN32
+    FcDirCacheReadUUID ((FcChar8 *) dir, config);
+#endif
     if (!FcDirCacheProcess (config, dir,
                            FcDirCacheMapHelper,
                            &cache, cache_file))
        return NULL;
 
+    d = FcCacheDir (cache);
+    if (FcStrCmp (dir, d))
+       FcHashTableAdd (config->alias_table, (FcChar8 *) d, (FcChar8 *) dir);
+
     return cache;
 }
 
@@ -1041,7 +1220,10 @@ FcDirCacheWrite (FcCache *cache, FcConfig *config)
     if (!cache_dir)
        return FcFalse;
 
-    FcDirCacheBasename (dir, cache_base);
+#ifndef _WIN32
+    if (!FcDirCacheBasenameUUID (dir, cache_base, config))
+#endif
+       FcDirCacheBasenameMD5 (dir, cache_base);
     cache_hashed = FcStrBuildFilename (cache_dir, cache_base, NULL);
     if (!cache_hashed)
         return FcFalse;
@@ -1238,7 +1420,10 @@ FcDirCacheLock (const FcChar8 *dir,
     const FcChar8 *sysroot = FcConfigGetSysRoot (config);
     int fd = -1;
 
-    FcDirCacheBasename (dir, cache_base);
+#ifndef _WIN32
+    if (!FcDirCacheBasenameUUID (dir, cache_base, config))
+#endif
+       FcDirCacheBasenameMD5 (dir, cache_base);
     list = FcStrListCreate (config->cacheDirs);
     if (!list)
        return -1;
index 9f8ee7c..eb0b76d 100644 (file)
@@ -26,8 +26,8 @@
 
 #include "fcint.h"
 #include <dirent.h>
+#include <locale.h>
 #include <sys/types.h>
-#include "../fc-blanks/fcblanks.h"
 
 #if defined (_WIN32) && !defined (R_OK)
 #define R_OK 4
@@ -39,7 +39,19 @@ static FcConfig *
 FcConfigEnsure (void)
 {
     FcConfig   *config;
-retry:
+    FcBool     is_locale_initialized;
+    static void *static_is_locale_initialized;
+retry_locale:
+    is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized);
+    if (!is_locale_initialized)
+    {
+       is_locale_initialized = FcTrue;
+       if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL,
+                                   (void *)(intptr_t) is_locale_initialized))
+           goto retry_locale;
+       setlocale (LC_ALL, "");
+    }
+retry_config:
     config = fc_atomic_ptr_get (&_fcConfig);
     if (!config)
     {
@@ -47,7 +59,7 @@ retry:
 
        if (!fc_atomic_ptr_cmpexch (&_fcConfig, NULL, config)) {
            FcConfigDestroy (config);
-           goto retry;
+           goto retry_config;
        }
     }
     return config;
@@ -73,6 +85,8 @@ FcConfigCreate (void)
 {
     FcSetName  set;
     FcConfig   *config;
+    FcMatchKind        k;
+    FcBool     err = FcFalse;
 
     config = malloc (sizeof (FcConfig));
     if (!config)
@@ -110,11 +124,15 @@ FcConfigCreate (void)
     if (!config->cacheDirs)
        goto bail8;
 
-    config->blanks = &fcBlanks;
+    for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+    {
+       config->subst[k] = FcPtrListCreate ((FcDestroyFunc) FcRuleSetDestroy);
+       if (!config->subst[k])
+           err = FcTrue;
+    }
+    if (err)
+       goto bail9;
 
-    config->substPattern = 0;
-    config->substFont = 0;
-    config->substScan = 0;
     config->maxObjects = 0;
     for (set = FcSetSystem; set <= FcSetApplication; set++)
        config->fonts[set] = 0;
@@ -126,10 +144,37 @@ FcConfigCreate (void)
 
     config->sysRoot = NULL;
 
+    config->rulesetList = FcPtrListCreate ((FcDestroyFunc) FcRuleSetDestroy);
+    if (!config->rulesetList)
+       goto bail9;
+    config->availConfigFiles = FcStrSetCreate ();
+    if (!config->availConfigFiles)
+       goto bail10;
+
+    config->uuid_table = FcHashTableCreate ((FcHashFunc) FcStrHashIgnoreCase,
+                                           (FcCompareFunc) FcStrCmp,
+                                           FcHashStrCopy,
+                                           FcHashUuidCopy,
+                                           (FcDestroyFunc) FcStrFree,
+                                           FcHashUuidFree);
+    config->alias_table = FcHashTableCreate ((FcHashFunc) FcStrHashIgnoreCase,
+                                            (FcCompareFunc) FcStrCmp,
+                                            FcHashStrCopy,
+                                            FcHashStrCopy,
+                                            (FcDestroyFunc) FcStrFree,
+                                            (FcDestroyFunc) FcStrFree);
+
     FcRefInit (&config->ref, 1);
 
     return config;
 
+bail10:
+    FcPtrListDestroy (config->rulesetList);
+bail9:
+    for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+       if (config->subst[k])
+           FcPtrListDestroy (config->subst[k]);
+    FcStrSetDestroy (config->cacheDirs);
 bail8:
     FcFontSetDestroy (config->rejectPatterns);
 bail7:
@@ -207,21 +252,6 @@ FcConfigUptoDate (FcConfig *config)
     return FcTrue;
 }
 
-static void
-FcSubstDestroy (FcSubst *s)
-{
-    FcSubst *n;
-
-    while (s)
-    {
-       n = s->next;
-       if (s->rule)
-           FcRuleDestroy (s->rule);
-       free (s);
-       s = n;
-    }
-}
-
 FcExpr *
 FcConfigAllocExpr (FcConfig *config)
 {
@@ -261,6 +291,7 @@ FcConfigDestroy (FcConfig *config)
 {
     FcSetName  set;
     FcExprPage *page;
+    FcMatchKind        k;
 
     if (FcRefDec (&config->ref) != 1)
        return;
@@ -276,12 +307,10 @@ FcConfigDestroy (FcConfig *config)
     FcFontSetDestroy (config->acceptPatterns);
     FcFontSetDestroy (config->rejectPatterns);
 
-    if (config->blanks)
-       FcBlanksDestroy (config->blanks);
-
-    FcSubstDestroy (config->substPattern);
-    FcSubstDestroy (config->substFont);
-    FcSubstDestroy (config->substScan);
+    for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+       FcPtrListDestroy (config->subst[k]);
+    FcPtrListDestroy (config->rulesetList);
+    FcStrSetDestroy (config->availConfigFiles);
     for (set = FcSetSystem; set <= FcSetApplication; set++)
        if (config->fonts[set])
            FcFontSetDestroy (config->fonts[set]);
@@ -296,6 +325,9 @@ FcConfigDestroy (FcConfig *config)
     if (config->sysRoot)
        FcStrFree (config->sysRoot);
 
+    FcHashTableDestroy (config->uuid_table);
+    FcHashTableDestroy (config->alias_table);
+
     free (config);
 }
 
@@ -354,9 +386,23 @@ FcConfigAddCache (FcConfig *config, FcCache *cache,
     {
        for (i = 0; i < cache->dirs_count; i++)
        {
-           FcChar8     *dir = FcOffsetToPtr (dirs, dirs[i], FcChar8);
+           const FcChar8 *dir = FcCacheSubdir (cache, i);
+           FcChar8 *alias;
+           FcChar8 *d = FcStrDirname (dir);
+           FcChar8 *s = NULL;
+
+           if (FcHashTableFind (config->alias_table, d, (void **)&alias))
+           {
+               FcChar8 *base = FcStrBasename (dir);
+               dir = s = FcStrBuildFilename (alias, base, NULL);
+               FcStrFree (alias);
+               FcStrFree (base);
+           }
+           FcStrFree (d);
            if (FcConfigAcceptFilename (config, dir))
                FcStrSetAddFilename (dirSet, dir);
+           if (s)
+               FcStrFree (s);
        }
     }
     return FcTrue;
@@ -474,14 +520,6 @@ FcConfigAddFontDir (FcConfig           *config,
     return FcStrSetAddFilename (config->fontDirs, d);
 }
 
-FcBool
-FcConfigAddDir (FcConfig           *config,
-               const FcChar8       *d)
-{
-    return (FcConfigAddConfigDir (config, d) &&
-           FcConfigAddFontDir (config, d));
-}
-
 FcStrList *
 FcConfigGetFontDirs (FcConfig  *config)
 {
@@ -569,41 +607,50 @@ FcConfigSetFonts (FcConfig        *config,
     config->fonts[set] = fonts;
 }
 
+
 FcBlanks *
-FcConfigGetBlanks (FcConfig    *config)
+FcBlanksCreate (void)
 {
-    if (!config)
-    {
-       config = FcConfigGetCurrent ();
-       if (!config)
-           return 0;
-    }
-    return config->blanks;
+    /* Deprecated. */
+    return NULL;
+}
+
+void
+FcBlanksDestroy (FcBlanks *b FC_UNUSED)
+{
+    /* Deprecated. */
 }
 
 FcBool
-FcConfigAddBlank (FcConfig     *config,
-                 FcChar32      blank)
+FcBlanksAdd (FcBlanks *b FC_UNUSED, FcChar32 ucs4 FC_UNUSED)
 {
-    FcBlanks   *b, *freeme = 0;
+    /* Deprecated. */
+    return FcFalse;
+}
 
-    b = config->blanks;
-    if (!b)
-    {
-       freeme = b = FcBlanksCreate ();
-       if (!b)
-           return FcFalse;
-    }
-    if (!FcBlanksAdd (b, blank))
-    {
-        if (freeme)
-            FcBlanksDestroy (freeme);
-       return FcFalse;
-    }
-    config->blanks = b;
-    return FcTrue;
+FcBool
+FcBlanksIsMember (FcBlanks *b FC_UNUSED, FcChar32 ucs4 FC_UNUSED)
+{
+    /* Deprecated. */
+    return FcFalse;
 }
 
+FcBlanks *
+FcConfigGetBlanks (FcConfig    *config FC_UNUSED)
+{
+    /* Deprecated. */
+    return NULL;
+}
+
+FcBool
+FcConfigAddBlank (FcConfig     *config FC_UNUSED,
+                 FcChar32      blank FC_UNUSED)
+{
+    /* Deprecated. */
+    return FcFalse;
+}
+
+
 int
 FcConfigGetRescanInterval (FcConfig *config)
 {
@@ -649,61 +696,8 @@ FcConfigAddRule (FcConfig  *config,
                 FcRule         *rule,
                 FcMatchKind    kind)
 {
-    FcSubst    *subst, **prev;
-    FcRule     *r;
-    int                n = 0;
-
-    if (!rule)
-       return FcFalse;
-    switch (kind) {
-    case FcMatchPattern:
-       prev = &config->substPattern;
-       break;
-    case FcMatchFont:
-       prev = &config->substFont;
-       break;
-    case FcMatchScan:
-       prev = &config->substScan;
-       break;
-    default:
-       return FcFalse;
-    }
-    subst = (FcSubst *) malloc (sizeof (FcSubst));
-    if (!subst)
-       return FcFalse;
-    for (; *prev; prev = &(*prev)->next);
-    *prev = subst;
-    subst->next = NULL;
-    subst->rule = rule;
-    for (r = rule; r; r = r->next)
-    {
-       switch (r->type)
-       {
-       case FcRuleTest:
-           if (r->u.test &&
-               r->u.test->kind == FcMatchDefault)
-               r->u.test->kind = kind;
-
-           if (n < r->u.test->object)
-               n = r->u.test->object;
-           break;
-       case FcRuleEdit:
-           if (n < r->u.edit->object)
-               n = r->u.edit->object;
-           break;
-       default:
-           break;
-       }
-    }
-    n = FC_OBJ_ID (n) - FC_MAX_BASE_OBJECT;
-    if (config->maxObjects < n)
-       config->maxObjects = n;
-    if (FcDebug () & FC_DBG_EDIT)
-    {
-       printf ("Add Subst ");
-       FcSubstPrint (subst);
-    }
-    return FcTrue;
+    /* deprecated */
+    return FcFalse;
 }
 
 static FcValue
@@ -793,14 +787,30 @@ FcConfigCompareValue (const FcValue       *left_o,
        case FcTypeBool:
            switch ((int) op) {
            case FcOpEqual:
+               ret = left.u.b == right.u.b;
+               break;
            case FcOpContains:
            case FcOpListing:
-               ret = left.u.b == right.u.b;
+               ret = left.u.b == right.u.b || left.u.b == FcDontCare;
                break;
            case FcOpNotEqual:
-           case FcOpNotContains:
                ret = left.u.b != right.u.b;
                break;
+           case FcOpNotContains:
+               ret = !(left.u.b == right.u.b || left.u.b == FcDontCare);
+               break;
+           case FcOpLess:
+               ret = left.u.b != right.u.b && right.u.b == FcDontCare;
+               break;
+           case FcOpLessEqual:
+               ret = left.u.b == right.u.b || right.u.b == FcDontCare;
+               break;
+           case FcOpMore:
+               ret = left.u.b != right.u.b && left.u.b == FcDontCare;
+               break;
+           case FcOpMoreEqual:
+               ret = left.u.b == right.u.b || left.u.b == FcDontCare;
+               break;
            default:
                break;
            }
@@ -1517,8 +1527,10 @@ FcConfigSubstituteWithPat (FcConfig    *config,
                           FcMatchKind kind)
 {
     FcValue v;
-    FcSubst        *s;
+    FcPtrList      *s;
+    FcPtrListIter    iter, iter2;
     FcRule          *r;
+    FcRuleSet      *rs;
     FcValueList            *l, **value = NULL, *vl;
     FcPattern      *m;
     FcStrSet       *strs;
@@ -1535,9 +1547,11 @@ FcConfigSubstituteWithPat (FcConfig    *config,
            return FcFalse;
     }
 
-    switch (kind) {
-    case FcMatchPattern:
-       s = config->substPattern;
+    if (kind < FcMatchKindBegin || kind >= FcMatchKindEnd)
+       return FcFalse;
+    s = config->subst[kind];
+    if (kind == FcMatchPattern)
+    {
        strs = FcGetDefaultLangs ();
        if (strs)
        {
@@ -1597,15 +1611,6 @@ FcConfigSubstituteWithPat (FcConfig    *config,
            if (prgname)
                FcPatternObjectAddString (p, FC_PRGNAME_OBJECT, prgname);
        }
-       break;
-    case FcMatchFont:
-       s = config->substFont;
-       break;
-    case FcMatchScan:
-       s = config->substScan;
-       break;
-    default:
-       return FcFalse;
     }
 
     nobjs = FC_MAX_BASE_OBJECT + config->maxObjects + 2;
@@ -1633,186 +1638,196 @@ FcConfigSubstituteWithPat (FcConfig    *config,
        printf ("FcConfigSubstitute ");
        FcPatternPrint (p);
     }
-    for (; s; s = s->next)
+    FcPtrListIterInit (s, &iter);
+    for (; FcPtrListIterIsValid (s, &iter); FcPtrListIterNext (s, &iter))
     {
-       r = s->rule;
-       for (i = 0; i < nobjs; i++)
+       rs = (FcRuleSet *) FcPtrListIterGetValue (s, &iter);
+       if (FcDebug () & FC_DBG_EDIT)
        {
-           elt[i] = NULL;
-           value[i] = NULL;
-           tst[i] = NULL;
+           printf ("\nRule Set: %s\n", rs->name);
        }
-       for (; r; r = r->next)
+       FcPtrListIterInit (rs->subst[kind], &iter2);
+       for (; FcPtrListIterIsValid (rs->subst[kind], &iter2); FcPtrListIterNext (rs->subst[kind], &iter2))
        {
-           switch (r->type) {
-           case FcRuleUnknown:
-               /* shouldn't be reached */
-               break;
-           case FcRuleTest:
-               object = FC_OBJ_ID (r->u.test->object);
-               /*
-                * Check the tests to see if
-                * they all match the pattern
-                */
-               if (FcDebug () & FC_DBG_EDIT)
-               {
-                   printf ("FcConfigSubstitute test ");
-                   FcTestPrint (r->u.test);
-               }
-               if (kind == FcMatchFont && r->u.test->kind == FcMatchPattern)
-                   m = p_pat;
-               else
-                   m = p;
-               if (m)
-                   e = FcPatternObjectFindElt (m, r->u.test->object);
-               else
-                   e = NULL;
-               /* different 'kind' won't be the target of edit */
-               if (!elt[object] && kind == r->u.test->kind)
-               {
-                   elt[object] = e;
-                   tst[object] = r->u.test;
-               }
-               /*
-                * If there's no such field in the font,
-                * then FcQualAll matches while FcQualAny does not
-                */
-               if (!e)
-               {
-                   if (r->u.test->qual == FcQualAll)
+           r = (FcRule *) FcPtrListIterGetValue (rs->subst[kind], &iter2);
+           for (i = 0; i < nobjs; i++)
+           {
+               elt[i] = NULL;
+               value[i] = NULL;
+               tst[i] = NULL;
+           }
+           for (; r; r = r->next)
+           {
+               switch (r->type) {
+               case FcRuleUnknown:
+                   /* shouldn't be reached */
+                   break;
+               case FcRuleTest:
+                   object = FC_OBJ_ID (r->u.test->object);
+                   /*
+                    * Check the tests to see if
+                    * they all match the pattern
+                    */
+                   if (FcDebug () & FC_DBG_EDIT)
                    {
-                       value[object] = NULL;
-                       continue;
+                       printf ("FcConfigSubstitute test ");
+                       FcTestPrint (r->u.test);
                    }
+                   if (kind == FcMatchFont && r->u.test->kind == FcMatchPattern)
+                       m = p_pat;
+                   else
+                       m = p;
+                   if (m)
+                       e = FcPatternObjectFindElt (m, r->u.test->object);
                    else
+                       e = NULL;
+                   /* different 'kind' won't be the target of edit */
+                   if (!elt[object] && kind == r->u.test->kind)
+                   {
+                       elt[object] = e;
+                       tst[object] = r->u.test;
+                   }
+                   /*
+                    * If there's no such field in the font,
+                    * then FcQualAll matches while FcQualAny does not
+                    */
+                   if (!e)
+                   {
+                       if (r->u.test->qual == FcQualAll)
+                       {
+                           value[object] = NULL;
+                           continue;
+                       }
+                       else
+                       {
+                           if (FcDebug () & FC_DBG_EDIT)
+                               printf ("No match\n");
+                           goto bail;
+                       }
+                   }
+                   /*
+                    * Check to see if there is a match, mark the location
+                    * to apply match-relative edits
+                    */
+                   vl = FcConfigMatchValueList (m, p_pat, kind, r->u.test, e->values);
+                   /* different 'kind' won't be the target of edit */
+                   if (!value[object] && kind == r->u.test->kind)
+                       value[object] = vl;
+                   if (!vl ||
+                       (r->u.test->qual == FcQualFirst && vl != e->values) ||
+                       (r->u.test->qual == FcQualNotFirst && vl == e->values))
                    {
                        if (FcDebug () & FC_DBG_EDIT)
                            printf ("No match\n");
                        goto bail;
                    }
-               }
-               /*
-                * Check to see if there is a match, mark the location
-                * to apply match-relative edits
-                */
-               vl = FcConfigMatchValueList (m, p_pat, kind, r->u.test, e->values);
-               /* different 'kind' won't be the target of edit */
-               if (!value[object] && kind == r->u.test->kind)
-                   value[object] = vl;
-               if (!vl ||
-                   (r->u.test->qual == FcQualFirst && vl != e->values) ||
-                   (r->u.test->qual == FcQualNotFirst && vl == e->values))
-               {
+                   break;
+               case FcRuleEdit:
+                   object = FC_OBJ_ID (r->u.edit->object);
                    if (FcDebug () & FC_DBG_EDIT)
-                       printf ("No match\n");
-                   goto bail;
-               }
-               break;
-           case FcRuleEdit:
-               object = FC_OBJ_ID (r->u.edit->object);
-               if (FcDebug () & FC_DBG_EDIT)
-               {
-                   printf ("Substitute ");
-                   FcEditPrint (r->u.edit);
-                   printf ("\n\n");
-               }
-               /*
-                * Evaluate the list of expressions
-                */
-               l = FcConfigValues (p, p_pat,kind,  r->u.edit->expr, r->u.edit->binding);
-               if (tst[object] && (tst[object]->kind == FcMatchFont || kind == FcMatchPattern))
-                   elt[object] = FcPatternObjectFindElt (p, tst[object]->object);
-
-               switch (FC_OP_GET_OP (r->u.edit->op)) {
-               case FcOpAssign:
+                   {
+                       printf ("Substitute ");
+                       FcEditPrint (r->u.edit);
+                       printf ("\n\n");
+                   }
                    /*
-                    * If there was a test, then replace the matched
-                    * value with the new list of values
+                    * Evaluate the list of expressions
                     */
-                   if (value[object])
-                   {
-                       FcValueList     *thisValue = value[object];
-                       FcValueList     *nextValue = l;
+                   l = FcConfigValues (p, p_pat,kind,  r->u.edit->expr, r->u.edit->binding);
+                   if (tst[object] && (tst[object]->kind == FcMatchFont || kind == FcMatchPattern))
+                       elt[object] = FcPatternObjectFindElt (p, tst[object]->object);
 
+                   switch (FC_OP_GET_OP (r->u.edit->op)) {
+                   case FcOpAssign:
                        /*
-                        * Append the new list of values after the current value
+                        * If there was a test, then replace the matched
+                        * value with the new list of values
                         */
-                       FcConfigAdd (&elt[object]->values, thisValue, FcTrue, l, r->u.edit->object);
+                       if (value[object])
+                       {
+                           FcValueList *thisValue = value[object];
+                           FcValueList *nextValue = l;
+
+                           /*
+                            * Append the new list of values after the current value
+                            */
+                           FcConfigAdd (&elt[object]->values, thisValue, FcTrue, l, r->u.edit->object);
+                           /*
+                            * Delete the marked value
+                            */
+                           if (thisValue)
+                               FcConfigDel (&elt[object]->values, thisValue);
+                           /*
+                            * Adjust a pointer into the value list to ensure
+                            * future edits occur at the same place
+                            */
+                           value[object] = nextValue;
+                           break;
+                       }
+                       /* fall through ... */
+                   case FcOpAssignReplace:
                        /*
-                        * Delete the marked value
+                        * Delete all of the values and insert
+                        * the new set
                         */
-                       if (thisValue)
-                           FcConfigDel (&elt[object]->values, thisValue);
+                       FcConfigPatternDel (p, r->u.edit->object);
+                       FcConfigPatternAdd (p, r->u.edit->object, l, FcTrue);
                        /*
-                        * Adjust a pointer into the value list to ensure
-                        * future edits occur at the same place
+                        * Adjust a pointer into the value list as they no
+                        * longer point to anything valid
                         */
-                       value[object] = nextValue;
+                       value[object] = NULL;
                        break;
-                   }
-                   /* fall through ... */
-               case FcOpAssignReplace:
-                   /*
-                    * Delete all of the values and insert
-                    * the new set
-                    */
-                   FcConfigPatternDel (p, r->u.edit->object);
-                   FcConfigPatternAdd (p, r->u.edit->object, l, FcTrue);
-                   /*
-                    * Adjust a pointer into the value list as they no
-                    * longer point to anything valid
-                    */
-                   value[object] = NULL;
-                   break;
-               case FcOpPrepend:
-                   if (value[object])
-                   {
-                       FcConfigAdd (&elt[object]->values, value[object], FcFalse, l, r->u.edit->object);
+                   case FcOpPrepend:
+                       if (value[object])
+                       {
+                           FcConfigAdd (&elt[object]->values, value[object], FcFalse, l, r->u.edit->object);
+                           break;
+                       }
+                       /* fall through ... */
+                   case FcOpPrependFirst:
+                       FcConfigPatternAdd (p, r->u.edit->object, l, FcFalse);
                        break;
-                   }
-                   /* fall through ... */
-               case FcOpPrependFirst:
-                   FcConfigPatternAdd (p, r->u.edit->object, l, FcFalse);
-                   break;
-               case FcOpAppend:
-                   if (value[object])
-                   {
-                       FcConfigAdd (&elt[object]->values, value[object], FcTrue, l, r->u.edit->object);
+                   case FcOpAppend:
+                       if (value[object])
+                       {
+                           FcConfigAdd (&elt[object]->values, value[object], FcTrue, l, r->u.edit->object);
+                           break;
+                       }
+                       /* fall through ... */
+                   case FcOpAppendLast:
+                       FcConfigPatternAdd (p, r->u.edit->object, l, FcTrue);
+                       break;
+                   case FcOpDelete:
+                       if (value[object])
+                       {
+                           FcConfigDel (&elt[object]->values, value[object]);
+                           break;
+                       }
+                       /* fall through ... */
+                   case FcOpDeleteAll:
+                       FcConfigPatternDel (p, r->u.edit->object);
+                       break;
+                   default:
+                       FcValueListDestroy (l);
                        break;
                    }
-                   /* fall through ... */
-               case FcOpAppendLast:
-                   FcConfigPatternAdd (p, r->u.edit->object, l, FcTrue);
-                   break;
-               case FcOpDelete:
-                   if (value[object])
+                   /*
+                    * Now go through the pattern and eliminate
+                    * any properties without data
+                    */
+                   FcConfigPatternCanon (p, r->u.edit->object);
+
+                   if (FcDebug () & FC_DBG_EDIT)
                    {
-                       FcConfigDel (&elt[object]->values, value[object]);
-                       break;
+                       printf ("FcConfigSubstitute edit");
+                       FcPatternPrint (p);
                    }
-                   /* fall through ... */
-               case FcOpDeleteAll:
-                   FcConfigPatternDel (p, r->u.edit->object);
                    break;
-               default:
-                   FcValueListDestroy (l);
-                   break;
-               }
-               /*
-                * Now go through the pattern and eliminate
-                * any properties without data
-                */
-               FcConfigPatternCanon (p, r->u.edit->object);
-
-               if (FcDebug () & FC_DBG_EDIT)
-               {
-                   printf ("FcConfigSubstitute edit");
-                   FcPatternPrint (p);
                }
-               break;
            }
+       bail:;
        }
-    bail:;
     }
     if (FcDebug () & FC_DBG_EDIT)
     {
@@ -2185,6 +2200,36 @@ FcConfigFilename (const FcChar8 *url)
     return file;
 }
 
+FcChar8 *
+FcConfigRealFilename (FcConfig         *config,
+                     const FcChar8     *url)
+{
+    const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+    FcChar8 *n = FcConfigFilename (url);
+    FcChar8 *nn = NULL;
+
+    if (n)
+    {
+       FcChar8 buf[PATH_MAX];
+       ssize_t len;
+
+       if (sysroot)
+           nn = FcStrBuildFilename (sysroot, n, NULL);
+       else
+           nn = FcStrdup (n);
+       FcStrFree (n);
+
+       if ((len = FcReadLink (nn, buf, sizeof (buf) - 1)) != -1)
+       {
+           buf[len] = 0;
+           FcStrFree (nn);
+           nn = FcStrdup (buf);
+       }
+    }
+
+    return nn;
+}
+
 /*
  * Manage the application-specific fonts
  */
@@ -2221,7 +2266,7 @@ FcConfigAppFontAddFile (FcConfig    *config,
        FcConfigSetFonts (config, set, FcSetApplication);
     }
        
-    if (!FcFileScanConfig (set, subdirs, config->blanks, file, config))
+    if (!FcFileScanConfig (set, subdirs, file, config))
     {
        FcStrSetDestroy (subdirs);
        return FcFalse;
@@ -2425,6 +2470,199 @@ FcConfigSetSysRoot (FcConfig      *config,
     }
 }
 
+FcRuleSet *
+FcRuleSetCreate (const FcChar8 *name)
+{
+    FcRuleSet *ret = (FcRuleSet *) malloc (sizeof (FcRuleSet));
+    FcMatchKind k;
+    const FcChar8 *p;
+
+    if (!name)
+       p = (const FcChar8 *)"";
+    else
+       p = name;
+
+    if (ret)
+    {
+       ret->name = FcStrdup (p);
+       ret->description = NULL;
+       ret->domain = NULL;
+       for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+           ret->subst[k] = FcPtrListCreate ((FcDestroyFunc) FcRuleDestroy);
+       FcRefInit (&ret->ref, 1);
+    }
+
+    return ret;
+}
+
+void
+FcRuleSetDestroy (FcRuleSet *rs)
+{
+    FcMatchKind k;
+
+    if (!rs)
+       return;
+    if (FcRefDec (&rs->ref) != 1)
+       return;
+
+    if (rs->name)
+       FcStrFree (rs->name);
+    if (rs->description)
+       FcStrFree (rs->description);
+    if (rs->domain)
+       FcStrFree (rs->domain);
+    for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+       FcPtrListDestroy (rs->subst[k]);
+
+    free (rs);
+}
+
+void
+FcRuleSetReference (FcRuleSet *rs)
+{
+    if (!FcRefIsConst (&rs->ref))
+       FcRefInc (&rs->ref);
+}
+
+void
+FcRuleSetEnable (FcRuleSet     *rs,
+                FcBool         flag)
+{
+    if (rs)
+    {
+       rs->enabled = flag;
+       /* XXX: we may want to provide a feature
+        * to enable/disable rulesets through API
+        * in the future?
+        */
+    }
+}
+
+void
+FcRuleSetAddDescription (FcRuleSet     *rs,
+                        const FcChar8  *domain,
+                        const FcChar8  *description)
+{
+    if (rs->domain)
+       FcStrFree (rs->domain);
+    if (rs->description)
+       FcStrFree (rs->description);
+
+    rs->domain = domain ? FcStrdup (domain) : NULL;
+    rs->description = description ? FcStrdup (description) : NULL;
+}
+
+int
+FcRuleSetAdd (FcRuleSet                *rs,
+             FcRule            *rule,
+             FcMatchKind       kind)
+{
+    FcPtrListIter iter;
+    FcRule *r;
+    int n = 0, ret;
+
+    if (!rs ||
+       kind < FcMatchKindBegin || kind >= FcMatchKindEnd)
+       return -1;
+    FcPtrListIterInitAtLast (rs->subst[kind], &iter);
+    if (!FcPtrListIterAdd (rs->subst[kind], &iter, rule))
+       return -1;
+
+    for (r = rule; r; r = r->next)
+    {
+       switch (r->type)
+       {
+       case FcRuleTest:
+           if (r->u.test &&
+               r->u.test->kind == FcMatchDefault)
+               r->u.test->kind = kind;
+
+           if (n < r->u.test->object)
+               n = r->u.test->object;
+           break;
+       case FcRuleEdit:
+           if (n < r->u.edit->object)
+               n = r->u.edit->object;
+           break;
+       default:
+           break;
+       }
+    }
+    if (FcDebug () & FC_DBG_EDIT)
+    {
+       printf ("Add Rule(kind:%d, name: %s) ", kind, rs->name);
+       FcRulePrint (rule);
+    }
+    ret = FC_OBJ_ID (n) - FC_MAX_BASE_OBJECT;
+
+    return ret < 0 ? 0 : ret;
+}
+
+void
+FcConfigFileInfoIterInit (FcConfig             *config,
+                         FcConfigFileInfoIter  *iter)
+{
+    FcConfig *c;
+    FcPtrListIter *i = (FcPtrListIter *)iter;
+
+    if (!config)
+       c = FcConfigGetCurrent ();
+    else
+       c = config;
+    FcPtrListIterInit (c->rulesetList, i);
+}
+
+FcBool
+FcConfigFileInfoIterNext (FcConfig             *config,
+                         FcConfigFileInfoIter  *iter)
+{
+    FcConfig *c;
+    FcPtrListIter *i = (FcPtrListIter *)iter;
+
+    if (!config)
+       c = FcConfigGetCurrent ();
+    else
+       c = config;
+    if (FcPtrListIterIsValid (c->rulesetList, i))
+    {
+       FcPtrListIterNext (c->rulesetList, i);
+    }
+    else
+       return FcFalse;
+
+    return FcTrue;
+}
+
+FcBool
+FcConfigFileInfoIterGet (FcConfig              *config,
+                        FcConfigFileInfoIter   *iter,
+                        FcChar8                **name,
+                        FcChar8                **description,
+                        FcBool                 *enabled)
+{
+    FcConfig *c;
+    FcRuleSet *r;
+    FcPtrListIter *i = (FcPtrListIter *)iter;
+
+    if (!config)
+       c = FcConfigGetCurrent ();
+    else
+       c = config;
+    if (!FcPtrListIterIsValid (c->rulesetList, i))
+       return FcFalse;
+    r = FcPtrListIterGetValue (c->rulesetList, i);
+    if (name)
+       *name = FcStrdup (r->name && r->name[0] ? r->name : (const FcChar8 *) "fonts.conf");
+    if (description)
+       *description = FcStrdup (!r->description ? _("No description") :
+                                dgettext (r->domain ? (const char *) r->domain : GETTEXT_PACKAGE "-conf",
+                                          (const char *) r->description));
+    if (enabled)
+       *enabled = r->enabled;
+
+    return FcTrue;
+}
+
 #define __fccfg__
 #include "fcaliastail.h"
 #undef __fccfg__
index 3f17892..114f948 100644 (file)
@@ -274,7 +274,7 @@ FcCharSetAddChar (FcCharSet *fcs, FcChar32 ucs4)
     if (!leaf)
        return FcFalse;
     b = &leaf->map[(ucs4 & 0xff) >> 5];
-    *b |= (1 << (ucs4 & 0x1f));
+    *b |= (1U << (ucs4 & 0x1f));
     return FcTrue;
 }
 
@@ -290,7 +290,7 @@ FcCharSetDelChar (FcCharSet *fcs, FcChar32 ucs4)
     if (!leaf)
        return FcTrue;
     b = &leaf->map[(ucs4 & 0xff) >> 5];
-    *b &= ~(1 << (ucs4 & 0x1f));
+    *b &= ~(1U << (ucs4 & 0x1f));
     /* We don't bother removing the leaf if it's empty */
     return FcTrue;
 }
@@ -594,7 +594,7 @@ FcCharSetHasChar (const FcCharSet *fcs, FcChar32 ucs4)
     leaf = FcCharSetFindLeaf (fcs, ucs4);
     if (!leaf)
        return FcFalse;
-    return (leaf->map[(ucs4 & 0xff) >> 5] & (1 << (ucs4 & 0x1f))) != 0;
+    return (leaf->map[(ucs4 & 0xff) >> 5] & (1U << (ucs4 & 0x1f))) != 0;
 }
 
 static FcChar32
@@ -1113,14 +1113,14 @@ FcCharSetHash (FcCharSet *fcs)
        hash = ((hash << 1) | (hash >> 31)) ^ FcCharLeafHash (FcCharSetLeaf(fcs,i));
     /* hash in numbers */
     for (i = 0; i < fcs->num; i++)
-       hash = ((hash << 1) | (hash >> 31)) ^ *FcCharSetNumbers(fcs);
+       hash = ((hash << 1) | (hash >> 31)) ^ FcCharSetNumbers(fcs)[i];
     return hash;
 }
 
 static FcBool
 FcCharSetFreezeOrig (FcCharSetFreezer *freezer, const FcCharSet *orig, const FcCharSet *frozen)
 {
-    FcCharSetOrigEnt   **bucket = &freezer->orig_hash_table[((uintptr_t) orig) & FC_CHAR_SET_HASH_SIZE];
+    FcCharSetOrigEnt   **bucket = &freezer->orig_hash_table[((uintptr_t) orig) % FC_CHAR_SET_HASH_SIZE];
     FcCharSetOrigEnt   *ent;
 
     ent = malloc (sizeof (FcCharSetOrigEnt));
@@ -1204,7 +1204,7 @@ FcCharSetFreezeBase (FcCharSetFreezer *freezer, FcCharSet *fcs)
 static const FcCharSet *
 FcCharSetFindFrozen (FcCharSetFreezer *freezer, const FcCharSet *orig)
 {
-    FcCharSetOrigEnt    **bucket = &freezer->orig_hash_table[((uintptr_t) orig) & FC_CHAR_SET_HASH_SIZE];
+    FcCharSetOrigEnt    **bucket = &freezer->orig_hash_table[((uintptr_t) orig) % FC_CHAR_SET_HASH_SIZE];
     FcCharSetOrigEnt   *ent;
 
     for (ent = *bucket; ent; ent = ent->next)
index 31d80be..16f108d 100644 (file)
@@ -37,6 +37,9 @@
 #if HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
@@ -256,6 +259,22 @@ FcMakeDirectory (const FcChar8 *dir)
     return ret;
 }
 
+ssize_t
+FcReadLink (const FcChar8 *pathname,
+           FcChar8       *buf,
+           size_t         bufsiz)
+{
+#ifdef HAVE_READLINK
+    return readlink ((const char *) pathname, (char *)buf, bufsiz);
+#else
+    /* XXX: this function is only used for FcConfigRealFilename() so far
+     * and returning -1 as an error still just works.
+     */
+    errno = ENOSYS;
+    return -1;
+#endif
+}
+
 #define __fccompat__
 #include "fcaliastail.h"
 #undef __fccompat__
index c2853ff..2e16a31 100644 (file)
@@ -46,7 +46,10 @@ _FcValuePrintFile (FILE *f, const FcValue v)
        fprintf (f, "\"%s\"", v.u.s);
        break;
     case FcTypeBool:
-       fprintf (f, "%s", v.u.b ? "True" : "False");
+       fprintf (f,
+                v.u.b == FcTrue  ? "True" :
+                v.u.b == FcFalse ? "False" :
+                                   "DontCare");
        break;
     case FcTypeMatrix:
        fprintf (f, "[%g %g; %g %g]", v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
@@ -62,7 +65,7 @@ _FcValuePrintFile (FILE *f, const FcValue v)
        fprintf (f, "face");
        break;
     case FcTypeRange:
-       fprintf (f, "[%g %g)", v.u.r->begin, v.u.r->end);
+       fprintf (f, "[%g %g]", v.u.r->begin, v.u.r->end);
        break;
     }
 }
@@ -476,6 +479,9 @@ FcTestPrint (const FcTest *test)
     case FcMatchScan:
        printf ("scan ");
        break;
+    case FcMatchKindEnd:
+       /* shouldn't be reached */
+       return;
     }
     switch (test->qual) {
     case FcQualAny:
@@ -508,13 +514,12 @@ FcEditPrint (const FcEdit *edit)
 }
 
 void
-FcSubstPrint (const FcSubst *subst)
+FcRulePrint (const FcRule *rule)
 {
-    FcRule *r;
     FcRuleType last_type = FcRuleUnknown;
+    const FcRule *r;
 
-    printf ("match\n");
-    for (r = subst->rule; r; r = r->next)
+    for (r = rule; r; r = r->next)
     {
        if (last_type != r->type)
        {
index 6647a8f..35973d7 100644 (file)
@@ -39,6 +39,7 @@ static const struct {
     { FC_EMBEDDED_BITMAP_OBJECT,   FcTrue      },  /* !FC_LOAD_NO_BITMAP */
     { FC_DECORATIVE_OBJECT,       FcFalse      },
     { FC_SYMBOL_OBJECT,                   FcFalse      },
+    { FC_VARIABLE_OBJECT,         FcFalse      },
 };
 
 #define NUM_FC_BOOL_DEFAULTS   (int) (sizeof FcBoolDefaults / sizeof FcBoolDefaults[0])
@@ -148,17 +149,34 @@ retry:
            prgname = FcStrdup ("");
 #else
 # if defined (HAVE_GETEXECNAME)
-       const char *p = getexecname ();
+       char *p = FcStrdup(getexecname ());
 # elif defined (HAVE_READLINK)
-       char buf[PATH_MAX + 1];
-       int len;
+       size_t size = FC_PATH_MAX;
        char *p = NULL;
 
-       len = readlink ("/proc/self/exe", buf, sizeof (buf) - 1);
-       if (len != -1)
+       while (1)
        {
-           buf[len] = '\0';
-           p = buf;
+           char *buf = malloc (size);
+           ssize_t len;
+
+           if (!buf)
+               break;
+
+           len = readlink ("/proc/self/exe", buf, size - 1);
+           if (len < 0)
+           {
+               free (buf);
+               break;
+           }
+           if (len < size - 1)
+           {
+               buf[len] = 0;
+               p = buf;
+               break;
+           }
+
+           free (buf);
+           size *= 2;
        }
 # else
        char *p = NULL;
@@ -176,6 +194,9 @@ retry:
 
        if (!prgname)
            prgname = FcStrdup ("");
+
+       if (p)
+           free (p);
 #endif
 
        if (!fc_atomic_ptr_cmpexch (&default_prgname, NULL, prgname)) {
@@ -235,7 +256,14 @@ FcDefaultSubstitute (FcPattern *pattern)
            FcPatternObjectAddBool (pattern, FcBoolDefaults[i].field, FcBoolDefaults[i].value);
 
     if (FcPatternObjectGetDouble (pattern, FC_SIZE_OBJECT, 0, &size) != FcResultMatch)
-       size = 12.0L;
+    {
+       FcRange *r;
+       double b, e;
+       if (FcPatternObjectGetRange (pattern, FC_SIZE_OBJECT, 0, &r) == FcResultMatch && FcRangeGetDouble (r, &b, &e))
+           size = (b + e) * .5;
+       else
+           size = 12.0L;
+    }
     if (FcPatternObjectGetDouble (pattern, FC_SCALE_OBJECT, 0, &scale) != FcResultMatch)
        scale = 1.0;
     if (FcPatternObjectGetDouble (pattern, FC_DPI_OBJECT, 0, &dpi) != FcResultMatch)
index fd62a34..bfcdf95 100644 (file)
@@ -23,9 +23,6 @@
  */
 
 #include "fcint.h"
-#include "fcftint.h"
-#include <ft2build.h>
-#include FT_FREETYPE_H
 #include <dirent.h>
 
 FcBool
@@ -64,51 +61,35 @@ FcFileIsFile (const FcChar8 *file)
 
 static FcBool
 FcFileScanFontConfig (FcFontSet                *set,
-                     FcBlanks          *blanks,
                      const FcChar8     *file,
                      FcConfig          *config)
 {
-    FT_Library ftLibrary;
-    FT_Face    face;
-    FcPattern  *font;
+    int                i;
     FcBool     ret = FcTrue;
-    int                num_faces = 0;
-    int                num_instances = 0;
-    int                face_num = 0;
-    int                instance_num = 0;
-    int                id;
+    int                old_nfont = set->nfont;
     const FcChar8 *sysroot = FcConfigGetSysRoot (config);
 
-    if (FT_Init_FreeType (&ftLibrary))
+    if (FcDebug () & FC_DBG_SCAN)
+    {
+       printf ("\tScanning file %s...", file);
+       fflush (stdout);
+    }
+
+    if (!FcFreeTypeQueryAll (file, -1, NULL, NULL, set))
        return FcFalse;
 
-    do
-    {
-       font = 0;
-       /*
-        * Nothing in the cache, scan the file
-        */
-       if (FcDebug () & FC_DBG_SCAN)
-       {
-           printf ("\tScanning file %s...", file);
-           fflush (stdout);
-       }
+    if (FcDebug () & FC_DBG_SCAN)
+       printf ("done\n");
 
-       id = ((instance_num << 16) + face_num);
-       if (FT_New_Face (ftLibrary, (char *) file, id, &face))
-           return FcFalse;
-       num_faces = face->num_faces;
-       num_instances = face->style_flags >> 16;
-       font = FcFreeTypeQueryFace (face, file, id, blanks);
-       FT_Done_Face (face);
+    for (i = old_nfont; i < set->nfont; i++)
+    {
+       FcPattern *font = set->fonts[i];
 
-       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 (font && sysroot)
+       if (sysroot)
        {
            size_t len = strlen ((const char *)sysroot);
            FcChar8 *f = NULL;
@@ -130,43 +111,15 @@ FcFileScanFontConfig (FcFontSet           *set,
        /*
         * Edit pattern with user-defined rules
         */
-       if (font && config && !FcConfigSubstitute (config, font, FcMatchScan))
-       {
-           FcPatternDestroy (font);
-           font = NULL;
-           ret = FcFalse;
-       }
-
-       /*
-        * Add the font
-        */
-       if (font)
-       {
-           if (FcDebug() & FC_DBG_SCANV)
-           {
-               printf ("Final font pattern:\n");
-               FcPatternPrint (font);
-           }
-           if (!FcFontSetAdd (set, font))
-           {
-               FcPatternDestroy (font);
-               font = NULL;
-               ret = FcFalse;
-           }
-       }
-       else
+       if (config && !FcConfigSubstitute (config, font, FcMatchScan))
            ret = FcFalse;
 
-       if (instance_num < num_instances)
-           instance_num++;
-       else
+       if (FcDebug() & FC_DBG_SCANV)
        {
-           face_num++;
-           instance_num = 0;
+           printf ("Final font pattern:\n");
+           FcPatternPrint (font);
        }
-    } while (font && ret && face_num < num_faces);
-
-    FT_Done_FreeType (ftLibrary);
+    }
 
     return ret;
 }
@@ -174,7 +127,6 @@ FcFileScanFontConfig (FcFontSet             *set,
 FcBool
 FcFileScanConfig (FcFontSet    *set,
                  FcStrSet      *dirs,
-                 FcBlanks      *blanks,
                  const FcChar8 *file,
                  FcConfig      *config)
 {
@@ -201,7 +153,7 @@ FcFileScanConfig (FcFontSet *set,
     else
     {
        if (set)
-           return FcFileScanFontConfig (set, blanks, file, config);
+           return FcFileScanFontConfig (set, file, config);
        else
            return FcTrue;
     }
@@ -211,11 +163,11 @@ FcBool
 FcFileScan (FcFontSet      *set,
            FcStrSet        *dirs,
            FcFileCache     *cache FC_UNUSED,
-           FcBlanks        *blanks,
+           FcBlanks        *blanks FC_UNUSED,
            const FcChar8   *file,
            FcBool          force FC_UNUSED)
 {
-    return FcFileScanConfig (set, dirs, blanks, file, FcConfigGetCurrent ());
+    return FcFileScanConfig (set, dirs, file, FcConfigGetCurrent ());
 }
 
 /*
@@ -230,7 +182,6 @@ cmpstringp(const void *p1, const void *p2)
 FcBool
 FcDirScanConfig (FcFontSet     *set,
                 FcStrSet       *dirs,
-                FcBlanks       *blanks,
                 const FcChar8  *dir,
                 FcBool         force, /* XXX unused */
                 FcConfig       *config)
@@ -249,9 +200,6 @@ FcDirScanConfig (FcFontSet  *set,
     if (!set && !dirs)
        return FcTrue;
 
-    if (!blanks)
-       blanks = FcConfigGetBlanks (config);
-
     /* freed below */
     file = (FcChar8 *) malloc (strlen ((char *) dir) + 1 + FC_MAX_FILE_LEN + 1);
     if (!file) {
@@ -302,7 +250,7 @@ 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);
+       FcFileScanConfig (set, dirs, files->strs[i], config);
 
 bail2:
     FcStrSetDestroy (files);
@@ -318,15 +266,15 @@ bail:
 FcBool
 FcDirScan (FcFontSet       *set,
           FcStrSet         *dirs,
-          FcFileCache      *cache, /* XXX unused */
-          FcBlanks         *blanks,
+          FcFileCache      *cache FC_UNUSED,
+          FcBlanks         *blanks FC_UNUSED,
           const FcChar8    *dir,
-          FcBool           force /* XXX unused */)
+          FcBool           force FC_UNUSED)
 {
     if (cache || !force)
        return FcFalse;
 
-    return FcDirScanConfig (set, dirs, blanks, dir, force, FcConfigGetCurrent ());
+    return FcDirScanConfig (set, dirs, dir, force, FcConfigGetCurrent ());
 }
 
 /*
@@ -341,7 +289,9 @@ FcDirCacheScan (const FcChar8 *dir, FcConfig *config)
     struct stat                dir_stat;
     const FcChar8      *sysroot = FcConfigGetSysRoot (config);
     FcChar8            *d;
+#ifndef _WIN32
     int                        fd = -1;
+#endif
 
     if (sysroot)
        d = FcStrBuildFilename (sysroot, dir, NULL);
@@ -362,11 +312,13 @@ FcDirCacheScan (const FcChar8 *dir, FcConfig *config)
     if (!dirs)
        goto bail1;
 
+#ifndef _WIN32
     fd = FcDirCacheLock (dir, config);
+#endif
     /*
      * Scan the dir
      */
-    if (!FcDirScanConfig (set, dirs, NULL, d, FcTrue, config))
+    if (!FcDirScanConfig (set, dirs, d, FcTrue, config))
        goto bail2;
 
     /*
@@ -382,7 +334,9 @@ FcDirCacheScan (const FcChar8 *dir, FcConfig *config)
     FcDirCacheWrite (cache, config);
 
  bail2:
+#ifndef _WIN32
     FcDirCacheUnlock (fd);
+#endif
     FcStrSetDestroy (dirs);
  bail1:
     FcFontSetDestroy (set);
@@ -401,7 +355,9 @@ FcDirCacheRescan (const FcChar8 *dir, FcConfig *config)
     FcStrSet *dirs;
     const FcChar8 *sysroot = FcConfigGetSysRoot (config);
     FcChar8 *d = NULL;
+#ifndef _WIN32
     int fd = -1;
+#endif
 
     cache = FcDirCacheLoad (dir, config, NULL);
     if (!cache)
@@ -417,11 +373,13 @@ FcDirCacheRescan (const FcChar8 *dir, FcConfig *config)
     if (!dirs)
        goto bail;
 
+#ifndef _WIN32
     fd = FcDirCacheLock (dir, config);
+#endif
     /*
      * Scan the dir
      */
-    if (!FcDirScanConfig (NULL, dirs, NULL, d, FcTrue, config))
+    if (!FcDirScanConfig (NULL, dirs, d, FcTrue, config))
        goto bail1;
     /*
      * Rebuild the cache object
@@ -436,7 +394,9 @@ FcDirCacheRescan (const FcChar8 *dir, FcConfig *config)
     FcDirCacheWrite (new, config);
 
 bail1:
+#ifndef _WIN32
     FcDirCacheUnlock (fd);
+#endif
     FcStrSetDestroy (dirs);
 bail:
     if (d)
@@ -453,6 +413,7 @@ FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config)
 {
     FcCache            *cache = NULL;
 
+    FcDirCacheCreateUUID ((FcChar8 *) dir, FcFalse, config);
     /* Try to use existing cache file */
     if (!force)
        cache = FcDirCacheLoad (dir, config, NULL);
index b4d926d..36f5aed 100644 (file)
@@ -51,6 +51,7 @@
 #include <string.h>
 #include <ft2build.h>
 #include FT_FREETYPE_H
+#include FT_ADVANCES_H
 #include FT_TRUETYPE_TABLES_H
 #include FT_SFNT_NAMES_H
 #include FT_TRUETYPE_IDS_H
 
 #include "ftglue.h"
 
-#if HAVE_WARNING_CPP_DIRECTIVE
-#if !HAVE_FT_GET_BDF_PROPERTY
-#warning "No FT_Get_BDF_Property: Please install freetype 2.1.4 or later"
-#endif
-
-#if !HAVE_FT_GET_PS_FONT_INFO
-#warning "No FT_Get_PS_Font_Info: Please install freetype 2.1.1 or later"
-#endif
-#endif
-
 /*
  * Keep Han languages separated by eliminating languages
  * that the codePageRange bits says aren't supported
@@ -385,12 +376,7 @@ static const FcFtLanguage   fcFtLanguage[] = {
  {  TT_PLATFORM_MICROSOFT,     TT_MS_LANGID_LATVIAN_LATVIA,            "lv" },
  {  TT_PLATFORM_MICROSOFT,     TT_MS_LANGID_LITHUANIAN_LITHUANIA,      "lt" },
  {  TT_PLATFORM_MICROSOFT,     TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA,"lt" },
-
-#ifdef TT_MS_LANGID_MAORI_NEW_ZELAND
-    /* this seems to be an error that have been dropped */
  {  TT_PLATFORM_MICROSOFT,     TT_MS_LANGID_MAORI_NEW_ZEALAND,         "mi" },
-#endif
-
  {  TT_PLATFORM_MICROSOFT,     TT_MS_LANGID_FARSI_IRAN,                "fa" },
  {  TT_PLATFORM_MICROSOFT,     TT_MS_LANGID_VIETNAMESE_VIET_NAM,       "vi" },
  {  TT_PLATFORM_MICROSOFT,     TT_MS_LANGID_ARMENIAN_ARMENIA,          "hy" },
@@ -557,6 +543,9 @@ static const FcMacRomanFake fcMacRomanFake[] = {
 static FcChar8 *
 FcFontCapabilities(FT_Face face);
 
+static int
+FcFreeTypeSpacing (FT_Face face);
+
 #define NUM_FC_MAC_ROMAN_FAKE  (int) (sizeof (fcMacRomanFake) / sizeof (fcMacRomanFake[0]))
 
 
@@ -1108,11 +1097,7 @@ FcGetPixelSize (FT_Face face, int i)
            return (double) prop.u.integer;
     }
 #endif
-#if HAVE_FT_BITMAP_SIZE_Y_PPEM
     return (double) face->available_sizes[i].y_ppem / 64.0;
-#else
-    return (double) face->available_sizes[i].height;
-#endif
 }
 
 static FcBool
@@ -1132,20 +1117,17 @@ static const FT_UShort platform_order[] = {
     TT_PLATFORM_MICROSOFT,
     TT_PLATFORM_APPLE_UNICODE,
     TT_PLATFORM_MACINTOSH,
+    TT_PLATFORM_ISO,
 };
 #define NUM_PLATFORM_ORDER (sizeof (platform_order) / sizeof (platform_order[0]))
 
 static const FT_UShort nameid_order[] = {
-#ifdef TT_NAME_ID_WWS_FAMILY
     TT_NAME_ID_WWS_FAMILY,
-#endif
     TT_NAME_ID_PREFERRED_FAMILY,
     TT_NAME_ID_FONT_FAMILY,
     TT_NAME_ID_MAC_FULL_NAME,
     TT_NAME_ID_FULL_NAME,
-#ifdef TT_NAME_ID_WWS_SUBFAMILY
     TT_NAME_ID_WWS_SUBFAMILY,
-#endif
     TT_NAME_ID_PREFERRED_SUBFAMILY,
     TT_NAME_ID_FONT_SUBFAMILY,
     TT_NAME_ID_TRADEMARK,
@@ -1153,20 +1135,51 @@ static const FT_UShort nameid_order[] = {
 };
 
 #define NUM_NAMEID_ORDER  (sizeof (nameid_order) / sizeof (nameid_order[0]))
-FcPattern *
-FcFreeTypeQueryFace (const FT_Face  face,
-                    const FcChar8  *file,
-                    int            id,
-                    FcBlanks       *blanks)
+
+static FcBool
+FcFreeTypeGetName (const FT_Face face,
+                  unsigned int  platform,
+                  unsigned int  nameid,
+                  FT_SfntName   *sname)
+{
+    int min = 0, max = (int) FT_Get_Sfnt_Name_Count (face) - 1;
+
+    while (min <= max)
+    {
+       int mid = (min + max) / 2;
+
+       if (FT_Get_Sfnt_Name (face, mid, sname) != 0)
+           return FcFalse;
+
+       if (platform < sname->platform_id || (platform == sname->platform_id && nameid < sname->name_id))
+           max = mid - 1;
+       else if (platform > sname->platform_id || (platform == sname->platform_id && nameid > sname->name_id))
+           min = mid + 1;
+       else
+           return FcTrue;
+    }
+
+    return FcFalse;
+}
+
+static FcPattern *
+FcFreeTypeQueryFaceInternal (const FT_Face  face,
+                            const FcChar8  *file,
+                            unsigned int   id,
+                            FcCharSet      **cs_share,
+                            FcLangSet      **ls_share)
 {
     FcPattern      *pat;
     int                    slant = -1;
-    int                    weight = -1;
-    int                    width = -1;
+    double         weight = -1;
+    double         width = -1;
     FcBool         decorative = FcFalse;
-    int                    i;
-    FcCharSet      *cs;
-    FcLangSet      *ls;
+    FcBool         variable = FcFalse;
+    FcBool         variable_weight = FcFalse;
+    FcBool         variable_width = FcFalse;
+    FcBool         variable_size = FcFalse;
+    FcCharSet       *cs;
+    FcLangSet       *ls;
 #if 0
     FcChar8        *family = 0;
 #endif
@@ -1189,8 +1202,6 @@ FcFreeTypeQueryFace (const FT_Face  face,
 #endif
     TT_Header      *head;
     const FcChar8   *exclusiveLang = 0;
-    FT_SfntName            sname;
-    FT_UInt                snamei, snamec;
 
     int                    nfamily = 0;
     int                    nfamily_lang = 0;
@@ -1199,14 +1210,9 @@ FcFreeTypeQueryFace (const FT_Face  face,
     int                    nfullname = 0;
     int                    nfullname_lang = 0;
     unsigned int    p, n;
-    int                    platform, nameid;
 
     FcChar8        *style = 0;
     int                    st;
-    char           psname[256];
-    const char     *tmp;
-
-    FcRange        *r = NULL;
 
     FcBool         symbol = FcFalse;
 
@@ -1220,17 +1226,12 @@ FcFreeTypeQueryFace (const FT_Face  face,
        int has_outline = !!(face->face_flags & FT_FACE_FLAG_SCALABLE);
        int has_color = 0;
 
-#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
+       has_color = !!(face->face_flags & 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
@@ -1241,40 +1242,106 @@ FcFreeTypeQueryFace (const FT_Face  face,
 
     if (id >> 16)
     {
-      if (!FT_Get_MM_Var (face, &master))
-       instance = &master->namedstyle[(id >> 16) - 1];
+      if (FT_Get_MM_Var (face, &master))
+         goto bail1;
 
-      if (instance)
+      if (id >> 16 == 0x8000)
       {
-         /* Pull out weight and width from named-instance. */
+         /* Query variable font itself. */
          unsigned int i;
 
          for (i = 0; i < master->num_axis; i++)
          {
-           double value = instance->coords[i] / (double) (1 << 16);
-           double default_value = master->axis[i].def / (double) (1 << 16);
-           double mult = value / default_value;
-           //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
-           switch (master->axis[i].tag)
-           {
-             case FT_MAKE_TAG ('w','g','h','t'):
-               weight_mult = mult;
-               break;
+             double min_value = master->axis[i].minimum / (double) (1 << 16);
+             double def_value = master->axis[i].def / (double) (1 << 16);
+             double max_value = master->axis[i].maximum / (double) (1 << 16);
+             const char *elt = NULL;
+
+             if (min_value > def_value || def_value > max_value || min_value == max_value)
+                 continue;
+
+             switch (master->axis[i].tag)
+             {
+               case FT_MAKE_TAG ('w','g','h','t'):
+                 elt = FC_WEIGHT;
+                 min_value = FcWeightFromOpenTypeDouble (min_value);
+                 max_value = FcWeightFromOpenTypeDouble (max_value);
+                 variable_weight = FcTrue;
+                 weight = 0; /* To stop looking for weight. */
+                 break;
+
+               case FT_MAKE_TAG ('w','d','t','h'):
+                 elt = FC_WIDTH;
+                 /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
+                 variable_width = FcTrue;
+                 width = 0; /* To stop looking for width. */
+                 break;
+
+               case FT_MAKE_TAG ('o','p','s','z'):
+                 elt = FC_SIZE;
+                 /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
+                 variable_size = FcTrue;
+                 break;
+             }
+
+             if (elt)
+             {
+                 FcRange *r = FcRangeCreateDouble (min_value, max_value);
+                 if (!FcPatternAddRange (pat, elt, r))
+                 {
+                     FcRangeDestroy (r);
+                     goto bail1;
+                 }
+                 FcRangeDestroy (r);
+                 variable = FcTrue;
+             }
+         }
 
-             case FT_MAKE_TAG ('w','d','t','h'):
-               width_mult = mult;
-               break;
+         if (!variable)
+             goto bail1;
 
-             /* TODO optical size! */
+         id &= 0xFFFF;
+      }
+      else if ((id >> 16) - 1 < master->num_namedstyles)
+      {
+         /* Pull out weight and width from named-instance. */
+         unsigned int i;
+
+         instance = &master->namedstyle[(id >> 16) - 1];
+
+         for (i = 0; i < master->num_axis; i++)
+         {
+             double value = instance->coords[i] / (double) (1 << 16);
+             double default_value = master->axis[i].def / (double) (1 << 16);
+             double mult = default_value ? value / default_value : 1;
+             //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
+             switch (master->axis[i].tag)
+             {
+               case FT_MAKE_TAG ('w','g','h','t'):
+                 weight_mult = mult;
+                 break;
+
+               case FT_MAKE_TAG ('w','d','t','h'):
+                 width_mult = mult;
+                 break;
+
+               case FT_MAKE_TAG ('o','p','s','z'):
+                 if (!FcPatternAddDouble (pat, FC_SIZE, value))
+                     goto bail1;
+                 break;
            }
          }
        }
+        else
+           goto bail1;
     }
+    if (!FcPatternAddBool (pat, FC_VARIABLE, variable))
+       goto bail1;
 
     /*
      * Get the OS/2 table
      */
-    os2 = (TT_OS2 *) FT_Get_Sfnt_Table (face, ft_sfnt_os2);
+    os2 = (TT_OS2 *) FT_Get_Sfnt_Table (face, FT_SFNT_OS2);
 
     /*
      * Look first in the OS/2 table for the foundry, if
@@ -1302,13 +1369,9 @@ FcFreeTypeQueryFace (const FT_Face  face,
      * and style names.  FreeType makes quite a hash
      * of them
      */
-    snamec = FT_Get_Sfnt_Name_Count (face);
-    for (p = 0; p <= NUM_PLATFORM_ORDER; p++)
+    for (p = 0; p < NUM_PLATFORM_ORDER; p++)
     {
-       if (p < NUM_PLATFORM_ORDER)
-           platform = platform_order[p];
-       else
-           platform = 0xffff;
+       int platform = platform_order[p];
 
        /*
         * Order nameids so preferred names appear first
@@ -1316,159 +1379,138 @@ FcFreeTypeQueryFace (const FT_Face  face,
         */
        for (n = 0; n < NUM_NAMEID_ORDER; n++)
        {
-           nameid = nameid_order[n];
+           FT_SfntName sname;
+           const FcChar8       *lang;
+           const char  *elt = 0, *eltlang = 0;
+           int         *np = 0, *nlangp = 0;
+           size_t              len;
+           int nameid, lookupid;
 
-           for (snamei = 0; snamei < snamec; snamei++)
-           {
-               FcChar8         *utf8, *pp;
-               const FcChar8   *lang;
-               const char      *elt = 0, *eltlang = 0;
-               int             *np = 0, *nlangp = 0;
-               size_t          len;
+           nameid = lookupid = nameid_order[n];
 
-               if (FT_Get_Sfnt_Name (face, snamei, &sname) != 0)
+           if (instance)
+           {
+               /* For named-instances, we skip regular style nameIDs,
+                * and treat the instance's nameid as FONT_SUBFAMILY.
+                * Postscript name is automatically handled by FreeType. */
+               if (nameid == TT_NAME_ID_WWS_SUBFAMILY ||
+                   nameid == TT_NAME_ID_PREFERRED_SUBFAMILY)
                    continue;
 
-               if (instance)
-               {
-                   /* For named-instances, we regular style nameIDs,
-                    * and map the instance's strid to FONT_SUBFAMILY. */
-                   if (sname.name_id == TT_NAME_ID_WWS_SUBFAMILY ||
-                       sname.name_id == TT_NAME_ID_PREFERRED_SUBFAMILY ||
-                       sname.name_id == TT_NAME_ID_FONT_SUBFAMILY)
-                       continue;
-                   if (sname.name_id == instance->strid)
-                       sname.name_id = TT_NAME_ID_FONT_SUBFAMILY;
-               }
+               if (nameid == TT_NAME_ID_FONT_SUBFAMILY)
+                   lookupid = instance->strid;
+           }
 
-               if (sname.name_id != nameid)
-                   continue;
+           if (!FcFreeTypeGetName (face, platform, lookupid, &sname))
+               continue;
 
-               /*
-                * Sort platforms in preference order, accepting
-                * all other platforms last
-                */
-               if (p < NUM_PLATFORM_ORDER)
+           switch (nameid) {
+           case TT_NAME_ID_WWS_FAMILY:
+           case TT_NAME_ID_PREFERRED_FAMILY:
+           case TT_NAME_ID_FONT_FAMILY:
+#if 0  
+           case TT_NAME_ID_UNIQUE_ID:
+#endif
+               if (FcDebug () & FC_DBG_SCANV)
+                   printf ("found family (n %2d p %d e %d l 0x%04x)",
+                           sname.name_id, sname.platform_id,
+                           sname.encoding_id, sname.language_id);
+
+               elt = FC_FAMILY;
+               eltlang = FC_FAMILYLANG;
+               np = &nfamily;
+               nlangp = &nfamily_lang;
+               break;
+           case TT_NAME_ID_MAC_FULL_NAME:
+           case TT_NAME_ID_FULL_NAME:
+               if (FcDebug () & FC_DBG_SCANV)
+                   printf ("found full   (n %2d p %d e %d l 0x%04x)",
+                           sname.name_id, sname.platform_id,
+                           sname.encoding_id, sname.language_id);
+
+               elt = FC_FULLNAME;
+               eltlang = FC_FULLNAMELANG;
+               np = &nfullname;
+               nlangp = &nfullname_lang;
+               break;
+           case TT_NAME_ID_WWS_SUBFAMILY:
+           case TT_NAME_ID_PREFERRED_SUBFAMILY:
+           case TT_NAME_ID_FONT_SUBFAMILY:
+               if (variable)
+                   break;
+               if (FcDebug () & FC_DBG_SCANV)
+                   printf ("found style  (n %2d p %d e %d l 0x%04x) ",
+                           sname.name_id, sname.platform_id,
+                           sname.encoding_id, sname.language_id);
+
+               elt = FC_STYLE;
+               eltlang = FC_STYLELANG;
+               np = &nstyle;
+               nlangp = &nstyle_lang;
+               break;
+           case TT_NAME_ID_TRADEMARK:
+           case TT_NAME_ID_MANUFACTURER:
+               /* If the foundry wasn't found in the OS/2 table, look here */
+               if(!foundry)
                {
-                   if (sname.platform_id != platform)
-                       continue;
+                   FcChar8 *utf8;
+                   utf8 = FcSfntNameTranscode (&sname);
+                   foundry = FcNoticeFoundry((FT_String *) utf8);
+                   free (utf8);
                }
-               else
-               {
-                   unsigned int        sp;
+               break;
+           }
+           if (elt)
+           {
+               FcChar8         *utf8, *pp;
 
-                   for (sp = 0; sp < NUM_PLATFORM_ORDER; sp++)
-                       if (sname.platform_id == platform_order[sp])
-                           break;
-                   if (sp != NUM_PLATFORM_ORDER)
-                       continue;
-               }
                utf8 = FcSfntNameTranscode (&sname);
                lang = FcSfntNameLanguage (&sname);
 
+               if (FcDebug () & FC_DBG_SCANV)
+                   printf ("%s\n", utf8);
+
                if (!utf8)
                    continue;
 
-               switch (sname.name_id) {
-#ifdef TT_NAME_ID_WWS_FAMILY
-               case TT_NAME_ID_WWS_FAMILY:
-#endif
-               case TT_NAME_ID_PREFERRED_FAMILY:
-               case TT_NAME_ID_FONT_FAMILY:
-#if 0  
-               case TT_NAME_ID_UNIQUE_ID:
-#endif
-                   if (FcDebug () & FC_DBG_SCANV)
-                       printf ("found family (n %2d p %d e %d l 0x%04x) %s\n",
-                               sname.name_id, sname.platform_id,
-                               sname.encoding_id, sname.language_id,
-                               utf8);
-
-                   elt = FC_FAMILY;
-                   eltlang = FC_FAMILYLANG;
-                   np = &nfamily;
-                   nlangp = &nfamily_lang;
-                   break;
-               case TT_NAME_ID_MAC_FULL_NAME:
-               case TT_NAME_ID_FULL_NAME:
-                   if (FcDebug () & FC_DBG_SCANV)
-                       printf ("found full   (n %2d p %d e %d l 0x%04x) %s\n",
-                               sname.name_id, sname.platform_id,
-                               sname.encoding_id, sname.language_id,
-                               utf8);
-
-                   elt = FC_FULLNAME;
-                   eltlang = FC_FULLNAMELANG;
-                   np = &nfullname;
-                   nlangp = &nfullname_lang;
-                   break;
-#ifdef TT_NAME_ID_WWS_SUBFAMILY
-               case TT_NAME_ID_WWS_SUBFAMILY:
-#endif
-               case TT_NAME_ID_PREFERRED_SUBFAMILY:
-               case TT_NAME_ID_FONT_SUBFAMILY:
-                   if (utf8)
-                   {
-                       pp = utf8;
-                       while (*pp == ' ')
-                           pp++;
-                       len = strlen ((const char *) pp);
-                       memmove (utf8, pp, len + 1);
-                       pp = utf8 + len - 1;
-                       while (*pp == ' ')
-                           pp--;
-                       *(pp + 1) = 0;
-                   }
-                   if (FcDebug () & FC_DBG_SCANV)
-                       printf ("found style  (n %2d p %d e %d l 0x%04x) %s\n",
-                               sname.name_id, sname.platform_id,
-                               sname.encoding_id, sname.language_id,
-                               utf8);
-
-                   elt = FC_STYLE;
-                   eltlang = FC_STYLELANG;
-                   np = &nstyle;
-                   nlangp = &nstyle_lang;
-                   break;
-               case TT_NAME_ID_TRADEMARK:
-               case TT_NAME_ID_MANUFACTURER:
-                   /* If the foundry wasn't found in the OS/2 table, look here */
-                   if(!foundry)
-                       foundry = FcNoticeFoundry((FT_String *) utf8);
-                   break;
-               }
-               if (elt)
+               /* Trim surrounding whitespace. */
+               pp = utf8;
+               while (*pp == ' ')
+                   pp++;
+               len = strlen ((const char *) pp);
+               memmove (utf8, pp, len + 1);
+               pp = utf8 + len;
+               while (pp > utf8 && *(pp - 1) == ' ')
+                   pp--;
+               *pp = 0;
+
+               if (FcStringInPatternElement (pat, elt, utf8))
                {
-                   if (FcStringInPatternElement (pat, elt, utf8))
-                   {
-                       free (utf8);
-                       continue;
-                   }
+                   free (utf8);
+                   continue;
+               }
 
-                   /* add new element */
-                   if (!FcPatternAddString (pat, elt, utf8))
-                   {
-                       free (utf8);
-                       goto bail1;
-                   }
+               /* add new element */
+               if (!FcPatternAddString (pat, elt, utf8))
+               {
                    free (utf8);
-                   if (lang)
+                   goto bail1;
+               }
+               free (utf8);
+               if (lang)
+               {
+                   /* pad lang list with 'und' to line up with elt */
+                   while (*nlangp < *np)
                    {
-                       /* pad lang list with 'und' to line up with elt */
-                       while (*nlangp < *np)
-                       {
-                           if (!FcPatternAddString (pat, eltlang, (FcChar8 *) "und"))
-                               goto bail1;
-                           ++*nlangp;
-                       }
-                       if (!FcPatternAddString (pat, eltlang, lang))
+                       if (!FcPatternAddString (pat, eltlang, (FcChar8 *) "und"))
                            goto bail1;
                        ++*nlangp;
                    }
-                   ++*np;
+                   if (!FcPatternAddString (pat, eltlang, lang))
+                       goto bail1;
+                   ++*nlangp;
                }
-               else
-                   free (utf8);
+               ++*np;
            }
        }
     }
@@ -1485,11 +1527,12 @@ FcFreeTypeQueryFace (const FT_Face  face,
        ++nfamily;
     }
 
-    if (!nstyle && face->style_name &&
+    if (!variable && !nstyle && face->style_name &&
        FcStrCmpIgnoreBlanksAndCase ((FcChar8 *) face->style_name, (FcChar8 *) "") != 0)
     {
        if (FcDebug () & FC_DBG_SCANV)
            printf ("using FreeType style \"%s\"\n", face->style_name);
+
        if (!FcPatternAddString (pat, FC_STYLE, (FcChar8 *) face->style_name))
            goto bail1;
        if (!FcPatternAddString (pat, FC_STYLELANG, (FcChar8 *) "en"))
@@ -1526,51 +1569,57 @@ FcFreeTypeQueryFace (const FT_Face  face,
     }
 
     /* Add the PostScript name into the cache */
-    tmp = FT_Get_Postscript_Name (face);
-    if (!tmp)
+    if (!variable)
     {
-       FcChar8 *family, *familylang = NULL;
-       size_t len;
-       int n = 0;
-
-       /* Workaround when FT_Get_Postscript_Name didn't give any name.
-        * try to find out the English family name and convert.
-        */
-       while (FcPatternObjectGetString (pat, FC_FAMILYLANG_OBJECT, n, &familylang) == FcResultMatch)
+       char        psname[256];
+       const char          *tmp;
+       tmp = FT_Get_Postscript_Name (face);
+       if (!tmp)
        {
-           if (FcStrCmp (familylang, (const FcChar8 *)"en") == 0)
-               break;
-           n++;
-           familylang = NULL;
-       }
-       if (!familylang)
-           n = 0;
+           unsigned int i;
+           FcChar8 *family, *familylang = NULL;
+           size_t len;
+           int n = 0;
 
-       if (FcPatternObjectGetString (pat, FC_FAMILY_OBJECT, n, &family) != FcResultMatch)
-           goto bail1;
-       len = strlen ((const char *)family);
-       /* the literal name in PostScript Language is limited to 127 characters though,
-        * It is the architectural limit. so assuming 255 characters may works enough.
-        */
-       for (i = 0; i < len && i < 255; i++)
-       {
-           /* those characters are not allowed to be the literal name in PostScript */
-           static const char exclusive_chars[] = "\x04()/<>[]{}\t\f\r\n ";
+           /* Workaround when FT_Get_Postscript_Name didn't give any name.
+            * try to find out the English family name and convert.
+            */
+           while (FcPatternObjectGetString (pat, FC_FAMILYLANG_OBJECT, n, &familylang) == FcResultMatch)
+           {
+               if (FcStrCmp (familylang, (const FcChar8 *)"en") == 0)
+                   break;
+               n++;
+               familylang = NULL;
+           }
+           if (!familylang)
+               n = 0;
+
+           if (FcPatternObjectGetString (pat, FC_FAMILY_OBJECT, n, &family) != FcResultMatch)
+               goto bail1;
+           len = strlen ((const char *)family);
+           /* the literal name in PostScript Language is limited to 127 characters though,
+            * It is the architectural limit. so assuming 255 characters may works enough.
+            */
+           for (i = 0; i < len && i < 255; i++)
+           {
+               /* those characters are not allowed to be the literal name in PostScript */
+               static const char exclusive_chars[] = "\x04()/<>[]{}\t\f\r\n ";
 
-           if (strchr(exclusive_chars, family[i]) != NULL)
-               psname[i] = '-';
-           else
-               psname[i] = family[i];
+               if (strchr(exclusive_chars, family[i]) != NULL)
+                   psname[i] = '-';
+               else
+                   psname[i] = family[i];
+           }
+           psname[i] = 0;
        }
-       psname[i] = 0;
-    }
-    else
-    {
-       strncpy (psname, tmp, 255);
-       psname[255] = 0;
+       else
+       {
+           strncpy (psname, tmp, 255);
+           psname[255] = 0;
+       }
+       if (!FcPatternAddString (pat, FC_POSTSCRIPT_NAME, (const FcChar8 *)psname))
+           goto bail1;
     }
-    if (!FcPatternAddString (pat, FC_POSTSCRIPT_NAME, (const FcChar8 *)psname))
-       goto bail1;
 
     if (file && *file && !FcPatternAddString (pat, FC_FILE, file))
        goto bail1;
@@ -1606,6 +1655,7 @@ FcFreeTypeQueryFace (const FT_Face  face,
 
     if (os2 && os2->version >= 0x0001 && os2->version != 0xffff)
     {
+       unsigned int i;
        for (i = 0; i < NUM_CODE_PAGE_RANGE; i++)
        {
            FT_ULong    bits;
@@ -1620,7 +1670,7 @@ FcFreeTypeQueryFace (const FT_Face  face,
                bits = os2->ulCodePageRange2;
                bit = FcCodePageRange[i].bit - 32;
            }
-           if (bits & (1 << bit))
+           if (bits & (1U << bit))
            {
                /*
                 * If the font advertises support for multiple
@@ -1640,21 +1690,12 @@ FcFreeTypeQueryFace (const FT_Face  face,
     if (os2 && os2->version != 0xffff)
     {
        weight = os2->usWeightClass;
-       if (weight < 10 && weight_mult != 1.0)
-       {
-               /* Work around bad values by cleaning them up before
-                * multiplying by weight_mult. */
-               weight = FcWeightToOpenType (FcWeightFromOpenType (weight));
-       }
-       weight = FcWeightFromOpenType ((int) (weight * weight_mult + .5));
+       weight = FcWeightFromOpenTypeDouble (weight * weight_mult);
        if ((FcDebug() & FC_DBG_SCANV) && weight != -1)
-           printf ("\tos2 weight class %d multiplier %g maps to weight %d\n",
+           printf ("\tos2 weight class %d multiplier %g maps to weight %g\n",
                    os2->usWeightClass, weight_mult, weight);
 
-       /* TODO:
-        * Add FcWidthFromOpenType and FcWidthToOpenType,
-        * and apply width_mult post-conversion? */
-       switch ((int) (os2->usWidthClass * width_mult + .5)) {
+       switch (os2->usWidthClass) {
        case 1: width = FC_WIDTH_ULTRACONDENSED; break;
        case 2: width = FC_WIDTH_EXTRACONDENSED; break;
        case 3: width = FC_WIDTH_CONDENSED; break;
@@ -1665,8 +1706,9 @@ FcFreeTypeQueryFace (const FT_Face  face,
        case 8: width = FC_WIDTH_EXTRAEXPANDED; break;
        case 9: width = FC_WIDTH_ULTRAEXPANDED; break;
        }
+       width *= width_mult;
        if ((FcDebug() & FC_DBG_SCANV) && width != -1)
-           printf ("\tos2 width class %d multiplier %g maps to width %d\n",
+           printf ("\tos2 width class %d multiplier %g maps to width %g\n",
                    os2->usWidthClass, width_mult, width);
     }
     if (os2 && (complex_ = FcFontCapabilities(face)))
@@ -1679,24 +1721,31 @@ 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)
+    if (!variable_size && os2 && os2->version >= 0x0005 && os2->version != 0xffff)
     {
        double lower_size, upper_size;
+       FcRange *r;
 
        /* usLowerPointSize and usUpperPointSize is actually twips */
        lower_size = os2->usLowerOpticalPointSize / 20.0L;
        upper_size = os2->usUpperOpticalPointSize / 20.0L;
 
-       r = FcRangeCreateDouble (lower_size, upper_size);
-       if (!FcPatternAddRange (pat, FC_SIZE, r))
+       if (lower_size == upper_size)
        {
+           if (!FcPatternAddDouble (pat, FC_SIZE, lower_size))
+               goto bail1;
+       }
+       else
+       {
+           r = FcRangeCreateDouble (lower_size, upper_size);
+           if (!FcPatternAddRange (pat, FC_SIZE, r))
+           {
+               FcRangeDestroy (r);
+               goto bail1;
+           }
            FcRangeDestroy (r);
-           goto bail1;
        }
-       FcRangeDestroy (r);
     }
-#endif
 
     /*
      * Type 1: Check for FontInfo dictionary information
@@ -1710,7 +1759,7 @@ FcFreeTypeQueryFace (const FT_Face  face,
        {
            weight = FcIsWeight ((FcChar8 *) psfontinfo.weight);
            if (FcDebug() & FC_DBG_SCANV)
-               printf ("\tType1 weight %s maps to %d\n",
+               printf ("\tType1 weight %s maps to %g\n",
                        psfontinfo.weight, weight);
        }
 
@@ -1774,7 +1823,7 @@ FcFreeTypeQueryFace (const FT_Face  face,
        {
            width = FcIsWidth ((FcChar8 *) prop.u.atom);
            if (FcDebug () & FC_DBG_SCANV)
-               printf ("\tsetwidth %s maps to %d\n", prop.u.atom, width);
+               printf ("\tsetwidth %s maps to %g\n", prop.u.atom, width);
        }
     }
 #endif
@@ -1788,13 +1837,13 @@ FcFreeTypeQueryFace (const FT_Face  face,
        {
            weight = FcContainsWeight (style);
            if (FcDebug() & FC_DBG_SCANV)
-               printf ("\tStyle %s maps to weight %d\n", style, weight);
+               printf ("\tStyle %s maps to weight %g\n", style, weight);
        }
        if (width == -1)
        {
            width = FcContainsWidth (style);
            if (FcDebug() & FC_DBG_SCANV)
-               printf ("\tStyle %s maps to width %d\n", style, width);
+               printf ("\tStyle %s maps to width %g\n", style, width);
        }
        if (slant == -1)
        {
@@ -1836,10 +1885,10 @@ FcFreeTypeQueryFace (const FT_Face  face,
     if (!FcPatternAddInteger (pat, FC_SLANT, slant))
        goto bail1;
 
-    if (!FcPatternAddInteger (pat, FC_WEIGHT, weight))
+    if (!variable_weight && !FcPatternAddDouble (pat, FC_WEIGHT, weight))
        goto bail1;
 
-    if (!FcPatternAddInteger (pat, FC_WIDTH, width))
+    if (!variable_width && !FcPatternAddDouble (pat, FC_WIDTH, width))
        goto bail1;
 
     if (!FcPatternAddString (pat, FC_FOUNDRY, foundry))
@@ -1852,15 +1901,23 @@ FcFreeTypeQueryFace (const FT_Face  face,
     /*
      * Compute the unicode coverage for the font
      */
-    cs = FcFreeTypeCharSetAndSpacing (face, blanks, &spacing);
+    if (cs_share && *cs_share)
+       cs = FcCharSetCopy (*cs_share);
+    else
+    {
+       cs = FcFreeTypeCharSet (face, NULL);
+       if (cs_share)
+           *cs_share = FcCharSetCopy (cs);
+    }
     if (!cs)
        goto bail1;
 
-    /* The FcFreeTypeCharSetAndSpacing() chose the encoding; test it for symbol. */
+    /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
     symbol = face->charmap && face->charmap->encoding == FT_ENCODING_MS_SYMBOL;
     if (!FcPatternAddBool (pat, FC_SYMBOL, symbol))
        goto bail1;
 
+    spacing = FcFreeTypeSpacing (face);
 #if HAVE_FT_GET_BDF_PROPERTY
     /* For PCF fonts, override the computed spacing with the one from
        the property */
@@ -1895,7 +1952,14 @@ FcFreeTypeQueryFace (const FT_Face  face,
 
     if (!symbol)
     {
-       ls = FcFreeTypeLangSet (cs, exclusiveLang);
+       if (ls_share && *ls_share)
+           ls = FcLangSetCopy (*ls_share);
+       else
+       {
+           ls = FcFreeTypeLangSet (cs, exclusiveLang);
+           if (ls_share)
+               *ls_share = FcLangSetCopy (ls);
+       }
        if (!ls)
            goto bail2;
     }
@@ -1920,6 +1984,7 @@ FcFreeTypeQueryFace (const FT_Face  face,
 
     if (!(face->face_flags & FT_FACE_FLAG_SCALABLE))
     {
+       int i;
        for (i = 0; i < face->num_fixed_sizes; i++)
            if (!FcPatternAddDouble (pat, FC_PIXEL_SIZE,
                                     FcGetPixelSize (face, i)))
@@ -1965,9 +2030,18 @@ bail0:
 }
 
 FcPattern *
+FcFreeTypeQueryFace (const FT_Face  face,
+                    const FcChar8  *file,
+                    unsigned int   id,
+                    FcBlanks       *blanks FC_UNUSED)
+{
+    return FcFreeTypeQueryFaceInternal (face, file, id, NULL, NULL);
+}
+
+FcPattern *
 FcFreeTypeQuery(const FcChar8  *file,
-               int             id,
-               FcBlanks        *blanks,
+               unsigned int    id,
+               FcBlanks        *blanks FC_UNUSED,
                int             *count)
 {
     FT_Face        face;
@@ -1977,12 +2051,13 @@ FcFreeTypeQuery(const FcChar8   *file,
     if (FT_Init_FreeType (&ftLibrary))
        return NULL;
 
-    if (FT_New_Face (ftLibrary, (char *) file, id, &face))
+    if (FT_New_Face (ftLibrary, (char *) file, id & 0x7FFFFFFFF, &face))
        goto bail;
 
-    *count = face->num_faces;
+    if (count)
+      *count = face->num_faces;
 
-    pat = FcFreeTypeQueryFace (face, file, id, blanks);
+    pat = FcFreeTypeQueryFaceInternal (face, file, id, NULL, NULL);
 
     FT_Done_Face (face);
 bail:
@@ -1990,138 +2065,132 @@ bail:
     return pat;
 }
 
-/*
- * For our purposes, this approximation is sufficient
- */
-#if !HAVE_FT_GET_NEXT_CHAR
-#define FT_Get_Next_Char(face, ucs4, gi) ((ucs4) >= 0xffffff ? \
-                                         (*(gi) = 0), 0 : \
-                                         (*(gi) = 1), (ucs4) + 1)
-#warning "No FT_Get_Next_Char: Please install freetype version 2.1.0 or newer"
-#endif
-
-static const FT_Encoding fcFontEncodings[] = {
-    FT_ENCODING_UNICODE,
-    FT_ENCODING_MS_SYMBOL
-};
-
-#define NUM_DECODE  (int) (sizeof (fcFontEncodings) / sizeof (fcFontEncodings[0]))
+unsigned int
+FcFreeTypeQueryAll(const FcChar8       *file,
+                  unsigned int         id,
+                  FcBlanks             *blanks,
+                  int                  *count,
+                  FcFontSet            *set)
+{
+    FT_Face face = NULL;
+    FT_Library ftLibrary = NULL;
+    FcCharSet *cs = NULL;
+    FcLangSet *ls = NULL;
+    FT_MM_Var *mm_var = NULL;
+    FcBool index_set = id != (unsigned int) -1;
+    unsigned int set_face_num = index_set ? id & 0xFFFF : 0;
+    unsigned int set_instance_num = index_set ? id >> 16 : 0;
+    unsigned int face_num = set_face_num;
+    unsigned int instance_num = set_instance_num;
+    unsigned int num_faces = 0;
+    unsigned int num_instances = 0;
+    unsigned int ret = 0;
+    int err = 0;
+
+    if (count)
+       *count = 0;
 
-#include "../fc-glyphname/fcglyphname.h"
+    if (FT_Init_FreeType (&ftLibrary))
+       return 0;
 
-static FcChar32
-FcHashGlyphName (const FcChar8 *name)
-{
-    FcChar32   h = 0;
-    FcChar8    c;
+    if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
+       goto bail;
 
-    while ((c = *name++))
+    num_faces = face->num_faces;
+    num_instances = face->style_flags >> 16;
+    if (num_instances && (!index_set || instance_num))
     {
-       h = ((h << 1) | (h >> 31)) ^ c;
+       FT_Get_MM_Var (face, &mm_var);
+       if (!mm_var)
+         num_instances = 0;
     }
-    return h;
-}
 
-#if HAVE_FT_HAS_PS_GLYPH_NAMES
-/*
- * Use Type1 glyph names for fonts which have reliable names
- * and which export an Adobe Custom mapping
- */
-static FcBool
-FcFreeTypeUseNames (FT_Face face)
-{
-    FT_Int  map;
+    if (count)
+      *count = num_faces;
 
-    if (!FT_Has_PS_Glyph_Names (face))
-       return FcFalse;
-    for (map = 0; map < face->num_charmaps; map++)
-       if (face->charmaps[map]->encoding == ft_encoding_adobe_custom)
-           return FcTrue;
-    return FcFalse;
-}
+    do {
+       FcPattern *pat = NULL;
 
-static const FcChar8 *
-FcUcs4ToGlyphName (FcChar32 ucs4)
-{
-    int                i = (int) (ucs4 % FC_GLYPHNAME_HASH);
-    int                r = 0;
-    FcGlyphId  gn;
-
-    while ((gn = _fc_ucs_to_name[i]) != -1)
-    {
-       if (_fc_glyph_names[gn].ucs == ucs4)
-           return _fc_glyph_names[gn].name;
-       if (!r)
+       if (instance_num == 0x8000 || instance_num > num_instances)
+           FT_Set_Var_Design_Coordinates (face, 0, NULL); /* Reset variations. */
+       else if (instance_num)
        {
-           r = (int) (ucs4 % FC_GLYPHNAME_REHASH);
-           if (!r)
-               r = 1;
+           FT_Var_Named_Style *instance = &mm_var->namedstyle[instance_num - 1];
+           FT_Fixed *coords = instance->coords;
+           FcBool nonzero;
+           unsigned int i;
+
+           /* Skip named-instance that coincides with base instance. */
+           nonzero = FcFalse;
+           for (i = 0; i < mm_var->num_axis; i++)
+               if (coords[i] != mm_var->axis[i].def)
+               {
+                   nonzero = FcTrue;
+                   break;
+               }
+           if (!nonzero)
+               goto skip;
+
+           FT_Set_Var_Design_Coordinates (face, mm_var->num_axis, coords);
        }
-       i += r;
-       if (i >= FC_GLYPHNAME_HASH)
-           i -= FC_GLYPHNAME_HASH;
-    }
-    return 0;
-}
 
-static FcChar32
-FcGlyphNameToUcs4 (FcChar8 *name)
-{
-    FcChar32   h = FcHashGlyphName (name);
-    int                i = (int) (h % FC_GLYPHNAME_HASH);
-    int                r = 0;
-    FcGlyphId  gn;
+       id = ((instance_num << 16) + face_num);
+       pat = FcFreeTypeQueryFaceInternal (face, (const FcChar8 *) file, id, &cs, &ls);
 
-    while ((gn = _fc_name_to_ucs[i]) != -1)
-    {
-       if (!strcmp ((char *) name, (char *) _fc_glyph_names[gn].name))
-           return _fc_glyph_names[gn].ucs;
-       if (!r)
+       if (pat)
        {
-           r = (int) (h % FC_GLYPHNAME_REHASH);
-           if (!r)
-               r = 1;
-       }
-       i += r;
-       if (i >= FC_GLYPHNAME_HASH)
-           i -= FC_GLYPHNAME_HASH;
-    }
-    return 0xffff;
-}
 
-/*
- * Work around a bug in some FreeType versions which fail
- * to correctly bounds check glyph name buffers and overwrite
- * the stack. As Postscript names have a limit of 127 characters,
- * this should be sufficient.
- */
+           ret++;
+           if (!set || ! FcFontSetAdd (set, pat))
+               FcPatternDestroy (pat);
+       }
+       else if (instance_num != 0x8000)
+           err = 1;
+
+skip:
+       if (!index_set && instance_num < num_instances)
+           instance_num++;
+       else if (!index_set && instance_num == num_instances)
+           instance_num = 0x8000; /* variable font */
+       else
+       {
+           FcLangSetDestroy (ls);
+           ls = NULL;
+           FcCharSetDestroy (cs);
+           cs = NULL;
+           FT_Done_Face (face);
+           face = NULL;
+
+           face_num++;
+           instance_num = set_instance_num;
+
+           if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
+             break;
+       }
+    } while (!err && (!index_set || face_num == set_face_num) && face_num < num_faces);
 
-#if FC_GLYPHNAME_MAXLEN < 127
-# define FC_GLYPHNAME_BUFLEN 127
+bail:
+#ifdef HAVE_FT_DONE_MM_VAR
+    FT_Done_MM_Var (ftLibrary, mm_var);
 #else
-# define FC_GLYPHNAME_BUFLEN FC_GLYPHNAME_MAXLEN
+    free (mm_var);
 #endif
+    FcLangSetDestroy (ls);
+    FcCharSetDestroy (cs);
+    if (face)
+       FT_Done_Face (face);
+    FT_Done_FreeType (ftLibrary);
 
-/*
- * Search through a font for a glyph by name.  This is
- * currently a linear search as there doesn't appear to be
- * any defined order within the font
- */
-static FT_UInt
-FcFreeTypeGlyphNameIndex (FT_Face face, const FcChar8 *name)
-{
-    FT_UInt gindex;
-    FcChar8 name_buf[FC_GLYPHNAME_BUFLEN + 2];
-
-    for (gindex = 0; gindex < (FT_UInt) face->num_glyphs; gindex++)
-    {
-       if (FT_Get_Glyph_Name (face, gindex, name_buf, FC_GLYPHNAME_BUFLEN+1) == 0)
-           if (!strcmp ((char *) name, (char *) name_buf))
-               return gindex;
-    }
-    return 0;
+    return ret;
 }
-#endif
+
+
+static const FT_Encoding fcFontEncodings[] = {
+    FT_ENCODING_UNICODE,
+    FT_ENCODING_MS_SYMBOL
+};
+
+#define NUM_DECODE  (int) (sizeof (fcFontEncodings) / sizeof (fcFontEncodings[0]))
 
 /*
  * Map a UCS4 glyph to a glyph index.  Use all available encoding
@@ -2180,38 +2249,23 @@ FcFreeTypeCharIndex (FT_Face face, FcChar32 ucs4)
                return glyphindex;
        }
     }
-#if HAVE_FT_HAS_PS_GLYPH_NAMES
-    /*
-     * Check postscript name table if present
-     */
-    if (FcFreeTypeUseNames (face))
-    {
-       const FcChar8   *name = FcUcs4ToGlyphName (ucs4);
-       if (name)
-       {
-           glyphindex = FcFreeTypeGlyphNameIndex (face, name);
-           if (glyphindex)
-               return glyphindex;
-       }
-    }
-#endif
     return 0;
 }
 
-static FcBool
-FcFreeTypeCheckGlyph (FT_Face face, FcChar32 ucs4,
-                     FT_UInt glyph, FcBlanks *blanks,
-                     FT_Pos *advance,
-                     FcBool using_strike)
+static inline int fc_min (int a, int b) { return a <= b ? a : b; }
+static inline int fc_max (int a, int b) { return a >= b ? a : b; }
+static inline FcBool fc_approximately_equal (int x, int y)
+{ return abs (x - y) * 33 <= fc_max (abs (x), abs (y)); }
+
+static int
+FcFreeTypeSpacing (FT_Face face)
 {
     FT_Int         load_flags = FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH | FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
-    FT_GlyphSlot    slot;
-
-    if (using_strike)
-       load_flags &= ~FT_LOAD_NO_SCALE;
+    FT_Pos         advances[3] = {0};
+    unsigned int    num_advances = 0;
+    int                    o;
 
-    /*
-     * When using scalable fonts, only report those glyphs
+    /* When using scalable fonts, only report those glyphs
      * which can be scaled; otherwise those fonts will
      * only be available at some sizes, and never when
      * transformed.  Avoid this by simply reporting bitmap-only
@@ -2220,273 +2274,162 @@ FcFreeTypeCheckGlyph (FT_Face face, FcChar32 ucs4,
     if (face->face_flags & FT_FACE_FLAG_SCALABLE)
        load_flags |= FT_LOAD_NO_BITMAP;
 
-    if (FT_Load_Glyph (face, glyph, load_flags))
-       return FcFalse;
+    if (!(face->face_flags & FT_FACE_FLAG_SCALABLE) &&
+       face->num_fixed_sizes > 0 &&
+       FT_Get_Sfnt_Table (face, ft_sfnt_head))
+    {
+       FT_Int strike_index = 0, i;
+       /* Select the face closest to 16 pixels tall */
+       for (i = 1; i < face->num_fixed_sizes; i++)
+       {
+           if (abs (face->available_sizes[i].height - 16) <
+               abs (face->available_sizes[strike_index].height - 16))
+               strike_index = i;
+       }
 
-    slot = face->glyph;
-    if (!glyph)
-       return FcFalse;
+       FT_Select_Size (face, strike_index);
+    }
 
-    *advance = slot->metrics.horiAdvance;
+    for (o = 0; o < NUM_DECODE; o++)
+    {
+       FcChar32        ucs4;
+       FT_UInt         glyph;
 
-    switch ((int) slot->format) {
-    case ft_glyph_format_bitmap:
-       /*
-        * Bitmaps are assumed to be reasonable; if
-        * this proves to be a rash assumption, this
-        * code can be easily modified
-        */
-       return FcTrue;
-    case ft_glyph_format_outline:
-       /*
-        * Glyphs with contours are always OK
-        */
-       if (slot->outline.n_contours != 0)
-           return FcTrue;
-       /*
-        * Glyphs with no contours are only OK if
-        * they're members of the Blanks set specified
-        * in the configuration.  If blanks isn't set,
-        * then allow any glyph to be blank
-        */
-       if (!blanks || FcBlanksIsMember (blanks, ucs4))
-           return FcTrue;
-       /* fall through ... */
-    default:
+       if (FT_Select_Charmap (face, fcFontEncodings[o]) != 0)
+           continue;
+
+       ucs4 = FT_Get_First_Char (face, &glyph);
+       while (glyph != 0 && num_advances < 3)
+       {
+           FT_Pos advance = 0;
+           if (!FT_Get_Advance (face, glyph, load_flags, &advance) && advance)
+           {
+               unsigned int j;
+               for (j = 0; j < num_advances; j++)
+                 if (fc_approximately_equal (advance, advances[j]))
+                   break;
+               if (j == num_advances)
+                 advances[num_advances++] = advance;
+           }
+
+           ucs4 = FT_Get_Next_Char (face, ucs4, &glyph);
+       }
        break;
     }
-    return FcFalse;
-}
 
-#define APPROXIMATELY_EQUAL(x,y) (FC_ABS ((x) - (y)) <= FC_MAX (FC_ABS (x), FC_ABS (y)) / 33)
+    if (num_advances <= 1)
+       return FC_MONO;
+    else if (num_advances == 2 &&
+            fc_approximately_equal (fc_min (advances[0], advances[1]) * 2,
+                                    fc_max (advances[0], advances[1])))
+       return FC_DUAL;
+    else
+       return FC_PROPORTIONAL;
+}
 
-static FcCharSet *
-FcFreeTypeCharSetAndSpacingForSize (FT_Face face, FcBlanks *blanks, int *spacing, FT_Int strike_index)
+FcCharSet *
+FcFreeTypeCharSet (FT_Face face, FcBlanks *blanks FC_UNUSED)
 {
-    FcChar32       page, off, ucs4;
-#ifdef CHECK
-    FcChar32       font_max = 0;
-#endif
+    const FT_Int    load_flags = FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH | FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
     FcCharSet      *fcs;
-    FcCharLeaf     *leaf;
     int                    o;
-    FT_UInt        glyph;
-    FT_Pos         advance, advance_one = 0, advance_two = 0;
-    FcBool         has_advance = FcFalse, fixed_advance = FcTrue, dual_advance = FcFalse;
-    FcBool         using_strike = FcFalse;
 
     fcs = FcCharSetCreate ();
     if (!fcs)
-       goto bail0;
-
-#if HAVE_FT_SELECT_SIZE
-    if (strike_index >= 0) {
-       if (FT_Select_Size (face, strike_index) != FT_Err_Ok)
-           goto bail1;
-       using_strike = FcTrue;
-    }
-#endif
+       goto bail;
 
 #ifdef CHECK
     printf ("Family %s style %s\n", face->family_name, face->style_name);
 #endif
     for (o = 0; o < NUM_DECODE; o++)
     {
+       FcChar32        page, off, ucs4;
+       FcCharLeaf      *leaf;
+       FT_UInt         glyph;
+
        if (FT_Select_Charmap (face, fcFontEncodings[o]) != 0)
            continue;
 
+       page = ~0;
+       leaf = NULL;
+       ucs4 = FT_Get_First_Char (face, &glyph);
+       while (glyph != 0)
        {
-            page = ~0;
-            leaf = NULL;
-            ucs4 = FT_Get_First_Char (face, &glyph);
-            while (glyph != 0)
-           {
-               if (FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance, using_strike))
-               {
-                   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;
-                       }
-                   }
+           FcBool good = FcTrue;
 
-                   if ((ucs4 >> 8) != page)
-                   {
-                       page = (ucs4 >> 8);
-                       leaf = FcCharSetFindLeafCreate (fcs, ucs4);
-                       if (!leaf)
-                           goto bail1;
-                   }
-                   off = ucs4 & 0xff;
-                   leaf->map[off >> 5] |= (1 << (off & 0x1f));
-#ifdef CHECK
-                   if (ucs4 > font_max)
-                       font_max = ucs4;
-#endif
-               }
-               ucs4 = FT_Get_Next_Char (face, ucs4, &glyph);
-           }
-           if (fcFontEncodings[o] == FT_ENCODING_MS_SYMBOL)
+           /* CID fonts built by Adobe used to make ASCII control chars to cid1
+            * (space glyph). As such, always check contour for those characters. */
+           if (ucs4 <= 0x001F)
            {
-               /* For symbol-encoded OpenType fonts, we duplicate the
-                * U+F000..F0FF range at U+0000..U+00FF.  That's what
-                * Windows seems to do, and that's hinted about at:
-                * http://www.microsoft.com/typography/otspec/recom.htm
-                * under "Non-Standard (Symbol) Fonts".
-                *
-                * See thread with subject "Webdings and other MS symbol
-                * fonts don't display" on mailing list from May 2015.
-                */
-               for (ucs4 = 0xF000; ucs4 < 0xF100; ucs4++)
-               {
-                   if (FcCharSetHasChar (fcs, ucs4))
-                       FcCharSetAddChar (fcs, ucs4 - 0xF000);
-               }
+               if (FT_Load_Glyph (face, glyph, load_flags) ||
+                   (face->glyph->format == FT_GLYPH_FORMAT_OUTLINE &&
+                    face->glyph->outline.n_contours == 0))
+                   good = FcFalse;
            }
-#ifdef CHECK
-           for (ucs4 = 0; ucs4 < 0x10000; ucs4++)
-           {
-               FcBool      FT_Has, FC_Has;
 
-               FT_Has = FT_Get_Char_Index (face, ucs4) != 0;
-               FC_Has = FcCharSetHasChar (fcs, ucs4);
-               if (FT_Has != FC_Has)
+           if (good)
+           {
+               FcCharSetAddChar (fcs, ucs4);
+               if ((ucs4 >> 8) != page)
                {
-                   printf ("0x%08x FT says %d FC says %d\n", ucs4, FT_Has, FC_Has);
+                   page = (ucs4 >> 8);
+                   leaf = FcCharSetFindLeafCreate (fcs, ucs4);
+                   if (!leaf)
+                       goto bail;
                }
+               off = ucs4 & 0xff;
+               leaf->map[off >> 5] |= (1U << (off & 0x1f));
            }
-#endif
-       }
-
-       break;
-    }
-#if HAVE_FT_HAS_PS_GLYPH_NAMES
-    /*
-     * Add mapping from PS glyph names if available
-     */
-    if (FcFreeTypeUseNames (face))
-    {
-       FcChar8 name_buf[FC_GLYPHNAME_BUFLEN + 2];
 
-       for (glyph = 0; glyph < (FT_UInt) face->num_glyphs; glyph++)
+           ucs4 = FT_Get_Next_Char (face, ucs4, &glyph);
+       }
+       if (fcFontEncodings[o] == FT_ENCODING_MS_SYMBOL)
        {
-           if (FT_Get_Glyph_Name (face, glyph, name_buf, FC_GLYPHNAME_BUFLEN+1) == 0)
+           /* For symbol-encoded OpenType fonts, we duplicate the
+            * U+F000..F0FF range at U+0000..U+00FF.  That's what
+            * Windows seems to do, and that's hinted about at:
+            * http://www.microsoft.com/typography/otspec/recom.htm
+            * under "Non-Standard (Symbol) Fonts".
+            *
+            * See thread with subject "Webdings and other MS symbol
+            * fonts don't display" on mailing list from May 2015.
+            */
+           for (ucs4 = 0xF000; ucs4 < 0xF100; ucs4++)
            {
-               ucs4 = FcGlyphNameToUcs4 (name_buf);
-               if (ucs4 != 0xffff &&
-                   FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance, using_strike))
-               {
-                   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
-               }
+               if (FcCharSetHasChar (fcs, ucs4))
+                   FcCharSetAddChar (fcs, ucs4 - 0xF000);
            }
        }
-    }
-#endif
 #ifdef CHECK
-    printf ("%d glyphs %d encoded\n", (int) face->num_glyphs, FcCharSetCount (fcs));
-    for (ucs4 = 0; ucs4 <= font_max; ucs4++)
-    {
-       FcBool  has_char = (glyph = FcFreeTypeCharIndex (face, ucs4)) != 0;
-       FcBool  has_bit = FcCharSetHasChar (fcs, ucs4);
-
-       if (has_char && !has_bit)
+       for (ucs4 = 0x0020; ucs4 < 0x10000; ucs4++)
        {
-           if (!FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance, using_strike))
-               printf ("Bitmap missing broken char 0x%x\n", ucs4);
-           else
-               printf ("Bitmap missing char 0x%x\n", ucs4);
+           FcBool          FT_Has, FC_Has;
+
+           FT_Has = FT_Get_Char_Index (face, ucs4) != 0;
+           FC_Has = FcCharSetHasChar (fcs, ucs4);
+           if (FT_Has != FC_Has)
+           {
+               printf ("0x%08x FT says %d FC says %d\n", ucs4, FT_Has, FC_Has);
+           }
        }
-       else if (!has_char && has_bit)
-           printf ("Bitmap extra char 0x%x\n", ucs4);
-    }
 #endif
-    if (fixed_advance)
-       *spacing = FC_MONO;
-    else if (dual_advance && APPROXIMATELY_EQUAL (2 * FC_MIN (advance_one, advance_two), FC_MAX (advance_one, advance_two)))
-        *spacing = FC_DUAL;
-    else
-       *spacing = FC_PROPORTIONAL;
+       break;
+    }
+
     return fcs;
-bail1:
+bail:
     FcCharSetDestroy (fcs);
-bail0:
     return 0;
 }
 
 FcCharSet *
-FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing)
+FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks FC_UNUSED, int *spacing)
 {
-    FcCharSet  *cs;
-
-    /*
-     * Check for bitmap-only ttf fonts that are missing the glyf table.
-     * In that case, pick a size and look for glyphs in that size instead
-     */
-    if (!(face->face_flags & FT_FACE_FLAG_SCALABLE) &&
-       face->num_fixed_sizes > 0 &&
-       FT_Get_Sfnt_Table (face, ft_sfnt_head))
-    {
-       FT_Int  strike_index = 0;
-       int         i;
 
-       /* Select the face closest to 16 pixels tall */
-       for (i = 1; i < face->num_fixed_sizes; i++) {
-           if (abs (face->available_sizes[i].height - 16) <
-               abs (face->available_sizes[strike_index].height - 16))
-               strike_index = i;
-       }
-       cs = FcFreeTypeCharSetAndSpacingForSize (face, blanks, spacing, strike_index);
-    }
-    else
-       cs = FcFreeTypeCharSetAndSpacingForSize (face, blanks, spacing, -1);
-    return cs;
-}
-
-FcCharSet *
-FcFreeTypeCharSet (FT_Face face, FcBlanks *blanks)
-{
-    int spacing;
+    if (spacing)
+       *spacing = FcFreeTypeSpacing (face);
 
-    return FcFreeTypeCharSetAndSpacing (face, blanks, &spacing);
+    return FcFreeTypeCharSet (face, blanks);
 }
 
 
diff --git a/src/fchash.c b/src/fchash.c
new file mode 100644 (file)
index 0000000..396f452
--- /dev/null
@@ -0,0 +1,216 @@
+/*
+ * Copyright © 2000 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"
+#ifndef _WIN32
+#include <uuid/uuid.h>
+#endif
+
+#define FC_HASH_SIZE 227
+
+typedef struct _FcHashBucket {
+    struct _FcHashBucket  *next;
+    void                  *key;
+    void                  *value;
+} FcHashBucket;
+
+struct _FcHashTable {
+    FcHashBucket  *buckets[FC_HASH_SIZE];
+    FcHashFunc     hash_func;
+    FcCompareFunc  compare_func;
+    FcCopyFunc     key_copy_func;
+    FcCopyFunc     value_copy_func;
+    FcDestroyFunc  key_destroy_func;
+    FcDestroyFunc  value_destroy_func;
+};
+
+
+FcBool
+FcHashStrCopy (const void  *src,
+              void       **dest)
+{
+    *dest = FcStrdup (src);
+
+    return *dest != NULL;
+}
+
+FcBool
+FcHashUuidCopy (const void  *src,
+               void       **dest)
+{
+#ifndef _WIN32
+    *dest = malloc (sizeof (uuid_t));
+    uuid_copy (*dest, src);
+#endif
+    return FcTrue;
+}
+
+void
+FcHashUuidFree (void *data)
+{
+    free (data);
+}
+
+FcHashTable *
+FcHashTableCreate (FcHashFunc    hash_func,
+                  FcCompareFunc compare_func,
+                  FcCopyFunc    key_copy_func,
+                  FcCopyFunc    value_copy_func,
+                  FcDestroyFunc key_destroy_func,
+                  FcDestroyFunc value_destroy_func)
+{
+    FcHashTable *ret = malloc (sizeof (FcHashTable));
+
+    if (ret)
+    {
+       memset (ret->buckets, 0, sizeof (FcHashBucket *) * FC_HASH_SIZE);
+       ret->hash_func = hash_func;
+       ret->compare_func = compare_func;
+       ret->key_copy_func = key_copy_func;
+       ret->value_copy_func = value_copy_func;
+       ret->key_destroy_func = key_destroy_func;
+       ret->value_destroy_func = value_destroy_func;
+    }
+    return ret;
+}
+
+void
+FcHashTableDestroy (FcHashTable *table)
+{
+    int i;
+
+    for (i = 0; i < FC_HASH_SIZE; i++)
+    {
+       FcHashBucket *bucket = table->buckets[i], *prev;
+
+       while (bucket)
+       {
+           if (table->key_destroy_func)
+               table->key_destroy_func (bucket->key);
+           if (table->value_destroy_func)
+               table->value_destroy_func (bucket->value);
+           prev = bucket;
+           bucket = bucket->next;
+           free (prev);
+       }
+       table->buckets[i] = NULL;
+    }
+    free (table);
+}
+
+FcBool
+FcHashTableFind (FcHashTable  *table,
+                const void   *key,
+                void        **value)
+{
+    FcHashBucket *bucket;
+    FcChar32 hash = table->hash_func (key);
+
+    for (bucket = table->buckets[hash % FC_HASH_SIZE]; bucket; bucket = bucket->next)
+    {
+       if (!table->compare_func(bucket->key, key))
+       {
+           if (table->value_copy_func)
+           {
+               if (!table->value_copy_func (bucket->value, value))
+                   return FcFalse;
+           }
+           else
+               *value = bucket->value;
+           return FcTrue;
+       }
+    }
+    return FcFalse;
+}
+
+static FcBool
+FcHashTableAddInternal (FcHashTable *table,
+                       void        *key,
+                       void        *value,
+                       FcBool       replace)
+{
+    FcHashBucket **prev, *bucket, *b;
+    FcChar32 hash = table->hash_func (key);
+    FcBool ret = FcFalse;
+
+    bucket = (FcHashBucket *) malloc (sizeof (FcHashBucket));
+    if (!bucket)
+       return FcFalse;
+    memset (bucket, 0, sizeof (FcHashBucket));
+    if (table->key_copy_func)
+       ret |= !table->key_copy_func (key, &bucket->key);
+    else
+       bucket->key = key;
+    if (table->value_copy_func)
+       ret |= !table->value_copy_func (value, &bucket->value);
+    else
+       bucket->value = value;
+    if (ret)
+    {
+    destroy:
+       if (bucket->key && table->key_destroy_func)
+           table->key_destroy_func (bucket->key);
+       if (bucket->value && table->value_destroy_func)
+           table->value_destroy_func (bucket->value);
+       free (bucket);
+
+       return !ret;
+    }
+  retry:
+    for (prev = &table->buckets[hash % FC_HASH_SIZE];
+        (b = fc_atomic_ptr_get (prev)); prev = &(b->next))
+    {
+       if (!table->compare_func (b->key, key))
+       {
+           if (replace)
+           {
+               bucket->next = b->next;
+               if (!fc_atomic_ptr_cmpexch (prev, b, bucket))
+                   goto retry;
+               bucket = b;
+           }
+           else
+               ret = FcTrue;
+           goto destroy;
+       }
+    }
+    bucket->next = NULL;
+    if (!fc_atomic_ptr_cmpexch (prev, b, bucket))
+       goto retry;
+
+    return FcTrue;
+}
+
+FcBool
+FcHashTableAdd (FcHashTable *table,
+               void        *key,
+               void        *value)
+{
+    return FcHashTableAddInternal (table, key, value, FcFalse);
+}
+
+FcBool
+FcHashTableReplace (FcHashTable *table,
+                   void        *key,
+                   void        *value)
+{
+    return FcHashTableAddInternal (table, key, value, FcTrue);
+}
index 5e7c2f1..5831a19 100644 (file)
@@ -39,15 +39,23 @@ static FcConfig *
 FcInitFallbackConfig (const FcChar8 *sysroot)
 {
     FcConfig   *config;
+    const FcChar8 *fallback = (const FcChar8 *) ""     \
+       "<fontconfig>" \
+       "  <dir>" FC_DEFAULT_FONTS "</dir>" \
+       "  <dir prefix=\"xdg\">fonts</dir>" \
+       "  <cachedir>" FC_CACHEDIR "</cachedir>" \
+       "  <cachedir prefix=\"xdg\">fontconfig</cachedir>" \
+       "  <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/conf.d</include>" \
+       "  <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/fonts.conf</include>" \
+       "</fontconfig>";
 
     config = FcConfigCreate ();
     if (!config)
        goto bail0;
     FcConfigSetSysRoot (config, sysroot);
-    if (!FcConfigAddDir (config, (FcChar8 *) FC_DEFAULT_FONTS))
-       goto bail1;
-    if (!FcConfigAddCacheDir (config, (FcChar8 *) FC_CACHEDIR))
+    if (!FcConfigParseAndLoadFromMemory (config, fallback, FcFalse))
        goto bail1;
+
     return config;
 
 bail1:
@@ -86,6 +94,7 @@ FcInitLoadOwnConfig (FcConfig *config)
 
        return fallback;
     }
+    (void) FcConfigParseOnly (config, (const FcChar8 *)FC_TEMPLATEDIR, FcFalse);
 
     if (config->cacheDirs && config->cacheDirs->num == 0)
     {
index ac911ad..5de311f 100644 (file)
@@ -70,6 +70,12 @@ extern pfnSHGetFolderPathA pSHGetFolderPathA;
 #  define FC_DIR_SEPARATOR_S       "/"
 #endif
 
+#ifdef PATH_MAX
+#define FC_PATH_MAX    PATH_MAX
+#else
+#define FC_PATH_MAX    128
+#endif
+
 #if __GNUC__ >= 4
 #define FC_UNUSED      __attribute__((unused))
 #else
@@ -95,7 +101,6 @@ extern pfnSHGetFolderPathA pSHGetFolderPathA;
 
 #define FC_MIN(a,b) ((a) < (b) ? (a) : (b))
 #define FC_MAX(a,b) ((a) > (b) ? (a) : (b))
-#define FC_ABS(a)   ((a) < 0 ? -(a) : (a))
 
 /* slim_internal.h */
 #if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun)
@@ -108,13 +113,18 @@ extern pfnSHGetFolderPathA pSHGetFolderPathA;
 #define FcPrivate
 #endif
 
-FC_ASSERT_STATIC (sizeof (FcRef) == sizeof (int));
+/* NLS */
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x)           (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x)           (x)
+#endif
+
+#define N_(x)  x
 
-typedef enum _FcValueBinding {
-    FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame,
-    /* to make sure sizeof (FcValueBinding) == 4 even with -fshort-enums */
-    FcValueBindingEnd = INT_MAX
-} FcValueBinding;
+FC_ASSERT_STATIC (sizeof (FcRef) == sizeof (int));
 
 #define FcStrdup(s) ((FcChar8 *) strdup ((const char *) (s)))
 #define FcFree(s) (free ((FcChar8 *) (s)))
@@ -304,6 +314,16 @@ typedef struct _FcEdit {
     FcValueBinding  binding;
 } FcEdit;
 
+typedef void (* FcDestroyFunc) (void *data);
+
+typedef struct _FcPtrList      FcPtrList;
+/* need to sync with FcConfigFileInfoIter at fontconfig.h */
+typedef struct _FcPtrListIter {
+    void *dummy1;
+    void *dummy2;
+    void *dummy3;
+} FcPtrListIter;
+
 typedef enum _FcRuleType {
     FcRuleUnknown, FcRuleTest, FcRuleEdit
 } FcRuleType;
@@ -317,10 +337,14 @@ typedef struct _FcRule {
     } u;
 } FcRule;
 
-typedef struct _FcSubst {
-    struct _FcSubst    *next;
-    FcRule             *rule;
-} FcSubst;
+typedef struct _FcRuleSet {
+    FcRef      ref;
+    FcChar8    *name;
+    FcChar8    *description;
+    FcChar8    *domain;
+    FcBool     enabled;
+    FcPtrList  *subst[FcMatchKindEnd];
+} FcRuleSet;
 
 typedef struct _FcCharLeaf {
     FcChar32   map[256/32];
@@ -368,6 +392,13 @@ typedef struct _FcStrBuf {
     FcChar8 buf_static[16 * sizeof (void *)];
 } FcStrBuf;
 
+typedef struct _FcHashTable    FcHashTable;
+
+typedef FcChar32 (* FcHashFunc)           (const void *data);
+typedef int     (* FcCompareFunc) (const void *v1, const void *v2);
+typedef FcBool  (* FcCopyFunc)    (const void *src, void **dest);
+
+
 struct _FcCache {
     unsigned int magic;              /* FC_CACHE_MAGIC_MMAP or FC_CACHE_ALLOC */
     int                version;            /* FC_CACHE_VERSION_NUMBER */
@@ -471,12 +502,6 @@ struct _FcAtomic {
     FcChar8    *tmp;           /* tmpfile name (used for locking) */
 };
 
-struct _FcBlanks {
-    int                nblank;
-    int                sblank;
-    FcChar32   *blanks;
-};
-
 struct _FcConfig {
     /*
      * File names loaded from the configuration -- saved here as the
@@ -485,11 +510,6 @@ struct _FcConfig {
      */
     FcStrSet   *configDirs;        /* directories to scan for fonts */
     /*
-     * Set of allowed blank chars -- used to
-     * trim fonts of bogus glyphs
-     */
-    FcBlanks   *blanks;
-    /*
      * List of directories containing fonts,
      * built by recursively scanning the set
      * of configured directories
@@ -508,10 +528,12 @@ struct _FcConfig {
      * Substitution instructions for patterns and fonts;
      * maxObjects is used to allocate appropriate intermediate storage
      * while performing a whole set of substitutions
+     *
+     * 0.. substitutions for patterns
+     * 1.. substitutions for fonts
+     * 2.. substitutions for scanned fonts
      */
-    FcSubst    *substPattern;      /* substitutions for patterns */
-    FcSubst    *substFont;         /* substitutions for fonts */
-    FcSubst    *substScan;         /* substitutions for scanned fonts */
+    FcPtrList  *subst[FcMatchKindEnd];
     int                maxObjects;         /* maximum number of tests in all substs */
     /*
      * List of patterns used to control font file selection
@@ -541,6 +563,10 @@ struct _FcConfig {
     FcExprPage  *expr_pool;        /* pool of FcExpr's */
 
     FcChar8     *sysRoot;          /* override the system root directory */
+    FcStrSet   *availConfigFiles;  /* config files available */
+    FcPtrList  *rulesetList;       /* List of rulesets being installed */
+    FcHashTable *uuid_table;       /* UUID table for cachedirs */
+    FcHashTable *alias_table;      /* alias table for cachedirs */
 };
 
 typedef struct _FcFileTime {
@@ -568,8 +594,6 @@ struct _FcValuePromotionBuffer {
   } u;
 };
 
-/* fcblanks.c */
-
 /* fccache.c */
 
 FcPrivate FcCache *
@@ -635,10 +659,6 @@ FcConfigAddFontDir (FcConfig           *config,
                    const FcChar8   *d);
 
 FcPrivate FcBool
-FcConfigAddDir (FcConfig       *config,
-               const FcChar8   *d);
-
-FcPrivate FcBool
 FcConfigAddCacheDir (FcConfig      *config,
                     const FcChar8  *d);
 
@@ -690,6 +710,29 @@ FcPrivate FcBool
 FcConfigAddCache (FcConfig *config, FcCache *cache,
                  FcSetName set, FcStrSet *dirSet);
 
+FcPrivate FcRuleSet *
+FcRuleSetCreate (const FcChar8 *name);
+
+FcPrivate void
+FcRuleSetDestroy (FcRuleSet *rs);
+
+FcPrivate void
+FcRuleSetReference (FcRuleSet *rs);
+
+FcPrivate void
+FcRuleSetEnable (FcRuleSet     *rs,
+                FcBool         flag);
+
+FcPrivate void
+FcRuleSetAddDescription (FcRuleSet     *rs,
+                        const FcChar8  *domain,
+                        const FcChar8  *description);
+
+FcPrivate int
+FcRuleSetAdd (FcRuleSet                *rs,
+             FcRule            *rule,
+             FcMatchKind       kind);
+
 /* fcserialize.c */
 FcPrivate intptr_t
 FcAlignSize (intptr_t size);
@@ -775,6 +818,11 @@ FcRandom (void);
 FcPrivate FcBool
 FcMakeDirectory (const FcChar8 *dir);
 
+FcPrivate ssize_t
+FcReadLink (const FcChar8 *pathname,
+           FcChar8       *buf,
+           size_t         bufsiz);
+
 /* fcdbg.c */
 
 FcPrivate void
@@ -805,7 +853,7 @@ FcPrivate void
 FcEditPrint (const FcEdit *edit);
 
 FcPrivate void
-FcSubstPrint (const FcSubst *subst);
+FcRulePrint (const FcRule *rule);
 
 FcPrivate void
 FcCharSetPrint (const FcCharSet *c);
@@ -841,14 +889,12 @@ FcFileIsFile (const FcChar8 *file);
 FcPrivate FcBool
 FcFileScanConfig (FcFontSet    *set,
                  FcStrSet      *dirs,
-                 FcBlanks      *blanks,
                  const FcChar8 *file,
                  FcConfig      *config);
 
 FcPrivate FcBool
 FcDirScanConfig (FcFontSet     *set,
                 FcStrSet       *dirs,
-                FcBlanks       *blanks,
                 const FcChar8  *dir,
                 FcBool         force,
                 FcConfig       *config);
@@ -868,6 +914,42 @@ FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s);
 FcPrivate FcFontSet *
 FcFontSetDeserialize (const FcFontSet *set);
 
+/* fcplist.c */
+FcPrivate FcPtrList *
+FcPtrListCreate (FcDestroyFunc func);
+
+FcPrivate void
+FcPtrListDestroy (FcPtrList *list);
+
+FcPrivate void
+FcPtrListIterInit (const FcPtrList     *list,
+                  FcPtrListIter        *iter);
+
+FcPrivate void
+FcPtrListIterInitAtLast (FcPtrList     *list,
+                        FcPtrListIter  *iter);
+
+FcPrivate FcBool
+FcPtrListIterNext (const FcPtrList     *list,
+                  FcPtrListIter        *iter);
+
+FcPrivate FcBool
+FcPtrListIterIsValid (const FcPtrList          *list,
+                     const FcPtrListIter       *iter);
+
+FcPrivate void *
+FcPtrListIterGetValue (const FcPtrList         *list,
+                      const FcPtrListIter      *iter);
+
+FcPrivate FcBool
+FcPtrListIterAdd (FcPtrList    *list,
+                 FcPtrListIter *iter,
+               void            *data);
+
+FcPrivate FcBool
+FcPtrListIterRemove (FcPtrList         *list,
+                    FcPtrListIter      *iter);
+
 /* fcinit.c */
 FcPrivate FcConfig *
 FcInitLoadOwnConfig (FcConfig *config);
@@ -908,6 +990,15 @@ FcNameUnparseLangSet (FcStrBuf *buf, const FcLangSet *ls);
 FcPrivate FcChar8 *
 FcNameUnparseEscaped (FcPattern *pat, FcBool escape);
 
+FcPrivate FcBool
+FcConfigParseOnly (FcConfig            *config,
+                  const FcChar8        *name,
+                  FcBool               complain);
+
+FcPrivate FcChar8 *
+FcConfigRealFilename (FcConfig         *config,
+                     const FcChar8     *url);
+
 /* fclist.c */
 
 FcPrivate FcBool
@@ -994,6 +1085,9 @@ FcPrivate FcBool
 FcPatternObjectAddWeak (FcPattern *p, FcObject object, FcValue value, FcBool append);
 
 FcPrivate FcResult
+FcPatternObjectGetWithBinding (const FcPattern *p, FcObject object, int id, FcValue *v, FcValueBinding *b);
+
+FcPrivate FcResult
 FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v);
 
 FcPrivate FcBool
@@ -1209,4 +1303,42 @@ FcObjectLookupOtherTypeById (FcObject id);
 FcPrivate const FcObjectType *
 FcObjectLookupOtherTypeByName (const char *str);
 
+/* fchash.c */
+FcPrivate FcBool
+FcHashStrCopy (const void  *src,
+              void       **dest);
+
+FcPrivate FcBool
+FcHashUuidCopy (const void  *src,
+               void       **dest);
+
+FcPrivate void
+FcHashUuidFree (void *data);
+
+FcPrivate FcHashTable *
+FcHashTableCreate (FcHashFunc    hash_func,
+                  FcCompareFunc compare_func,
+                  FcCopyFunc    key_copy_func,
+                  FcCopyFunc    value_copy_func,
+                  FcDestroyFunc key_destroy_func,
+                  FcDestroyFunc value_destroy_func);
+
+FcPrivate void
+FcHashTableDestroy (FcHashTable *table);
+
+FcPrivate FcBool
+FcHashTableFind (FcHashTable  *table,
+                const void   *key,
+                void        **value);
+
+FcPrivate FcBool
+FcHashTableAdd (FcHashTable *table,
+               void        *key,
+               void        *value);
+
+FcPrivate FcBool
+FcHashTableReplace (FcHashTable *table,
+                   void        *key,
+                   void        *value);
+
 #endif /* _FC_INT_H_ */
index b1fd1bc..eadf34b 100644 (file)
@@ -28,7 +28,7 @@
 /* Objects MT-safe for readonly access. */
 
 typedef struct {
-    const FcChar8      lang[8];
+    const FcChar8      lang[16];
     const FcCharSet    charset;
 } FcLangCharSet;
 
@@ -188,7 +188,12 @@ FcLangNormalize (const FcChar8 *lang)
     if (!lang || !*lang)
        return NULL;
 
+    /* might be called without initialization */
+    FcInitDebug ();
+
     if (FcStrCmpIgnoreCase (lang, (const FcChar8 *)"C") == 0 ||
+       FcStrCmpIgnoreCase (lang, (const FcChar8 *)"C.UTF-8") == 0 ||
+       FcStrCmpIgnoreCase (lang, (const FcChar8 *)"C.utf8") == 0 ||
        FcStrCmpIgnoreCase (lang, (const FcChar8 *)"POSIX") == 0)
     {
        result = FcStrCopy ((const FcChar8 *)"en");
@@ -257,7 +262,8 @@ FcLangNormalize (const FcChar8 *lang)
                 lang);
        goto bail0;
     }
-    if (territory && (tlen < 2 || tlen > 3))
+    if (territory && (tlen < 2 || tlen > 3) &&
+       !(territory[0] == 'z' && tlen < 5))
     {
        fprintf (stderr, "Fontconfig warning: ignoring %s: not a valid region tag\n",
                 lang);
@@ -349,6 +355,13 @@ FcLangCompare (const FcChar8 *s1, const FcChar8 *s2)
 {
     FcChar8        c1, c2;
     FcLangResult    result = FcLangDifferentLang;
+    const FcChar8  *s1_orig = s1;
+    FcBool         is_und;
+
+    is_und = FcToLower (s1[0]) == 'u' &&
+            FcToLower (s1[1]) == 'n' &&
+            FcToLower (s1[2]) == 'd' &&
+            FcLangEnd (s1[3]);
 
     for (;;)
     {
@@ -359,14 +372,24 @@ FcLangCompare (const FcChar8 *s1, const FcChar8 *s2)
        c2 = FcToLower (c2);
        if (c1 != c2)
        {
-           if (FcLangEnd (c1) && FcLangEnd (c2))
+           if (!is_und && FcLangEnd (c1) && FcLangEnd (c2))
                result = FcLangDifferentTerritory;
            return result;
        }
        else if (!c1)
-           return FcLangEqual;
+       {
+           return is_und ? result : FcLangEqual;
+       }
        else if (c1 == '-')
-           result = FcLangDifferentTerritory;
+       {
+           if (!is_und)
+               result = FcLangDifferentTerritory;
+       }
+
+       /* If we parsed past "und-", then do not consider it undefined anymore,
+        * as there's *something* specified. */
+       if (is_und && s1 - s1_orig == 4)
+           is_und = FcFalse;
     }
 }
 
@@ -462,6 +485,9 @@ FcLangSetCreate (void)
 void
 FcLangSetDestroy (FcLangSet *ls)
 {
+    if (!ls)
+       return;
+
     if (ls->extra)
        FcStrSetDestroy (ls->extra);
     free (ls);
@@ -472,6 +498,9 @@ FcLangSetCopy (const FcLangSet *ls)
 {
     FcLangSet  *new;
 
+    if (!ls)
+       return NULL;
+
     new = FcLangSetCreate ();
     if (!new)
        goto bail0;
@@ -505,6 +534,15 @@ bail0:
     return 0;
 }
 
+/* When the language isn't found, the return value r is such that:
+ *  1) r < 0
+ *  2) -r -1 is the index of the first language in fcLangCharSets that comes
+ *     after the 'lang' argument in lexicographic order.
+ *
+ *  The -1 is necessary to avoid problems with language id 0 (otherwise, we
+ *  wouldn't be able to distinguish between “language found, id is 0” and
+ *  “language not found, sorts right before the language with id 0”).
+ */
 static int
 FcLangSetIndex (const FcChar8 *lang)
 {
@@ -529,7 +567,7 @@ FcLangSetIndex (const FcChar8 *lang)
        high = fcLangCharSetRanges[firstChar - 'a'].end;
        /* no matches */
        if (low > high)
-           return -low; /* next entry after where it would be */
+           return -(low+1); /* one past next entry after where it would be */
     }
 
     while (low <= high)
@@ -671,6 +709,7 @@ FcLangSetCompare (const FcLangSet *lsa, const FcLangSet *lsb)
 {
     int                    i, j, count;
     FcLangResult    best, r;
+    FcChar32 aInCountrySet, bInCountrySet;
 
     count = FC_MIN (lsa->map_size, lsb->map_size);
     count = FC_MIN (NUM_LANG_SET_MAP, count);
@@ -679,13 +718,22 @@ FcLangSetCompare (const FcLangSet *lsa, const FcLangSet *lsb)
            return FcLangEqual;
     best = FcLangDifferentLang;
     for (j = 0; j < NUM_COUNTRY_SET; j++)
+    {
+       aInCountrySet = 0;
+       bInCountrySet = 0;
+
        for (i = 0; i < count; i++)
-           if ((lsa->map[i] & fcLangCountrySets[j][i]) &&
-               (lsb->map[i] & fcLangCountrySets[j][i]))
+       {
+           aInCountrySet |= lsa->map[i] & fcLangCountrySets[j][i];
+           bInCountrySet |= lsb->map[i] & fcLangCountrySets[j][i];
+
+           if (aInCountrySet && bInCountrySet)
            {
                best = FcLangDifferentTerritory;
                break;
            }
+       }
+    }
     if (lsa->extra)
     {
        r = FcLangSetCompareStrSet (lsb, lsa->extra);
@@ -723,7 +771,7 @@ FcLangSetPromote (const FcChar8 *lang, FcValuePromotionBuffer *vbuf)
     if (lang)
     {
        id = FcLangSetIndex (lang);
-       if (id > 0)
+       if (id >= 0)
        {
            FcLangSetBitSet (&buf->ls, id);
        }
index d7e8fc0..5f92a72 100644 (file)
@@ -448,6 +448,41 @@ FcListAppend (FcListHashTable      *table,
        e = FcPatternObjectFindElt (font, FcObjectFromName (os->objects[o]));
        if (e)
        {
+           if (FcRefIsConst (&font->ref) && !strcmp (os->objects[o], FC_FILE))
+           {
+               FcChar8 *dir, *alias;
+               FcConfig *config = FcConfigGetCurrent (); /* FIXME: this may need to be exported as API? */
+
+               for (v = FcPatternEltValues (e); v->value.type != FcTypeString; v = FcValueListNext (v));
+               if (!v)
+                   goto bail2;
+               dir = FcStrDirname (FcValueString (&v->value));
+               if (FcHashTableFind (config->alias_table, dir, (void **) &alias))
+               {
+                   FcChar8 *base = FcStrBasename (FcValueString (&v->value));
+                   FcChar8 *s = FcStrBuildFilename (alias, base, NULL);
+                   FcValue vv;
+
+                   FcStrFree (alias);
+                   FcStrFree (base);
+                   vv.type = FcTypeString;
+                   vv.u.s = s;
+                   if (!FcPatternAdd (bucket->pattern,
+                                      os->objects[o],
+                                      FcValueCanonicalize (&vv),
+                                      FcTrue))
+                   {
+                       FcStrFree (s);
+                       FcStrFree (dir);
+                       goto bail2;
+                   }
+                   FcStrFree (s);
+                   FcStrFree (dir);
+                   goto bail3;
+               }
+               else
+                   FcStrFree (dir);
+           }
            for (v = FcPatternEltValues(e), idx = 0; v;
                 v = FcValueListNext(v), ++idx)
            {
@@ -456,6 +491,7 @@ FcListAppend (FcListHashTable       *table,
                                   FcValueCanonicalize(&v->value), defidx != idx))
                    goto bail2;
            }
+         bail3:;
        }
     }
     *prev = bucket;
index 40efbd3..62f8e58 100644 (file)
@@ -25,7 +25,7 @@
 #include "fcint.h"
 
 static double
-FcCompareNumber (FcValue *value1, FcValue *value2)
+FcCompareNumber (const FcValue *value1, const FcValue *value2, FcValue *bestValue)
 {
     double  v1, v2, v;
 
@@ -52,23 +52,27 @@ FcCompareNumber (FcValue *value1, FcValue *value2)
     v = v2 - v1;
     if (v < 0)
        v = -v;
+    *bestValue = FcValueCanonicalize (value2);
     return v;
 }
 
 static double
-FcCompareString (FcValue *v1, FcValue *v2)
+FcCompareString (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
+    *bestValue = FcValueCanonicalize (v2);
     return (double) FcStrCmpIgnoreCase (FcValueString(v1), FcValueString(v2)) != 0;
 }
 
 static double
-FcCompareFamily (FcValue *v1, FcValue *v2)
+FcCompareFamily (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
     /* rely on the guarantee in FcPatternObjectAddWithBinding that
      * families are always FcTypeString. */
     const FcChar8* v1_string = FcValueString(v1);
     const FcChar8* v2_string = FcValueString(v2);
 
+    *bestValue = FcValueCanonicalize (v2);
+
     if (FcToLower(*v1_string) != FcToLower(*v2_string) &&
        *v1_string != ' ' && *v2_string != ' ')
        return 1.0;
@@ -77,13 +81,15 @@ FcCompareFamily (FcValue *v1, FcValue *v2)
 }
 
 static double
-FcComparePostScript (FcValue *v1, FcValue *v2)
+FcComparePostScript (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
     const FcChar8 *v1_string = FcValueString (v1);
     const FcChar8 *v2_string = FcValueString (v2);
     int n;
     size_t len;
 
+    *bestValue = FcValueCanonicalize (v2);
+
     if (FcToLower (*v1_string) != FcToLower (*v2_string) &&
        *v1_string != ' ' && *v2_string != ' ')
        return 1.0;
@@ -95,7 +101,7 @@ FcComparePostScript (FcValue *v1, FcValue *v2)
 }
 
 static double
-FcCompareLang (FcValue *v1, FcValue *v2)
+FcCompareLang (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
     FcLangResult    result;
     FcValue value1 = FcValueCanonicalize(v1), value2 = FcValueCanonicalize(v2);
@@ -130,6 +136,7 @@ FcCompareLang (FcValue *v1, FcValue *v2)
     default:
        return -1.0;
     }
+    *bestValue = FcValueCanonicalize (v2);
     switch (result) {
     case FcLangEqual:
        return 0;
@@ -142,99 +149,133 @@ FcCompareLang (FcValue *v1, FcValue *v2)
 }
 
 static double
-FcCompareBool (FcValue *v1, FcValue *v2)
+FcCompareBool (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
     if (v2->type != FcTypeBool || v1->type != FcTypeBool)
        return -1.0;
-    return (double) v2->u.b != v1->u.b;
+
+    if (v2->u.b != FcDontCare)
+       *bestValue = FcValueCanonicalize (v2);
+    else
+       *bestValue = FcValueCanonicalize (v1);
+
+    return (double) ((v2->u.b ^ v1->u.b) == 1);
 }
 
 static double
-FcCompareCharSet (FcValue *v1, FcValue *v2)
+FcCompareCharSet (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
+    *bestValue = FcValueCanonicalize (v2); /* TODO Improve. */
     return (double) FcCharSetSubtractCount (FcValueCharSet(v1), FcValueCharSet(v2));
 }
 
 static double
-FcCompareSize (FcValue *value1, FcValue *value2)
+FcCompareRange (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
-    double  v1, v2, v;
+    FcValue value1 = FcValueCanonicalize (v1);
+    FcValue value2 = FcValueCanonicalize (v2);
+    double b1, e1, b2, e2, d;
 
-    switch ((int) value1->type) {
+    switch ((int) value1.type) {
     case FcTypeInteger:
-       v1 = value1->u.i;
+        b1 = e1 = value1.u.i;
        break;
     case FcTypeDouble:
-       v1 = value1->u.d;
+        b1 = e1 = value1.u.d;
+       break;
+    case FcTypeRange:
+       b1 = value1.u.r->begin;
+       e1 = value1.u.r->end;
        break;
     default:
        return -1;
     }
-    switch ((int) value2->type) {
+    switch ((int) value2.type) {
     case FcTypeInteger:
-       v2 = value2->u.i;
+        b2 = e2 = value2.u.i;
        break;
     case FcTypeDouble:
-       v2 = value2->u.d;
+        b2 = e2 = value2.u.d;
+       break;
+    case FcTypeRange:
+       b2 = value2.u.r->begin;
+       e2 = value2.u.r->end;
        break;
     default:
        return -1;
     }
-    if (v2 == 0)
-       return 0;
-    v = v2 - v1;
-    if (v < 0)
-       v = -v;
-    return v;
+
+    if (e1 < b2)
+      d = b2;
+    else if (e2 < b1)
+      d = e2;
+    else
+      d = (FC_MAX (b1, b2) + FC_MIN (e1, e2)) * .5;
+
+    bestValue->type = FcTypeDouble;
+    bestValue->u.d = d;
+
+    /* If the ranges overlap, it's a match, otherwise return closest distance. */
+    if (e1 < b2 || e2 < b1)
+       return FC_MIN (fabs (b2 - e1), fabs (b1 - e2));
+    else
+       return 0.0;
 }
 
 static double
-FcCompareSizeRange (FcValue *v1, FcValue *v2)
+FcCompareSize (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
     FcValue value1 = FcValueCanonicalize (v1);
     FcValue value2 = FcValueCanonicalize (v2);
-    FcRange *r1 = NULL, *r2 = NULL;
-    double ret = -1.0;
+    double b1, e1, b2, e2;
 
     switch ((int) value1.type) {
+    case FcTypeInteger:
+        b1 = e1 = value1.u.i;
+       break;
     case FcTypeDouble:
-       r1 = FcRangeCreateDouble (value1.u.d, value1.u.d);
+        b1 = e1 = value1.u.d;
        break;
     case FcTypeRange:
-       r1 = FcRangeCopy (value1.u.r);
+       abort();
+       b1 = value1.u.r->begin;
+       e1 = value1.u.r->end;
        break;
     default:
-       goto bail;
+       return -1;
     }
     switch ((int) value2.type) {
+    case FcTypeInteger:
+        b2 = e2 = value2.u.i;
+       break;
     case FcTypeDouble:
-       r2 = FcRangeCreateDouble (value2.u.d, value2.u.d);
+        b2 = e2 = value2.u.d;
        break;
     case FcTypeRange:
-       r2 = FcRangeCopy (value2.u.r);
+       b2 = value2.u.r->begin;
+       e2 = value2.u.r->end;
        break;
     default:
-       goto bail;
+       return -1;
     }
 
-    if (FcRangeIsInRange (r1, r2))
-       ret = 0.0;
-    else
-       ret = FC_MIN (fabs (r1->end - r2->begin), fabs (r1->begin - r2->end));
-
-bail:
-    if (r1)
-       FcRangeDestroy (r1);
-    if (r2)
-       FcRangeDestroy (r2);
+    bestValue->type = FcTypeDouble;
+    bestValue->u.d = (b1 + e1) * .5;
 
-    return ret;
+    /* If the ranges overlap, it's a match, otherwise return closest distance. */
+    if (e1 < b2 || e2 < b1)
+       return FC_MIN (fabs (b2 - e1), fabs (b1 - e2));
+    if (b2 != e2 && b1 == e2) /* Semi-closed interval. */
+        return 1e-15;
+    else
+       return 0.0;
 }
 
 static double
-FcCompareFilename (FcValue *v1, FcValue *v2)
+FcCompareFilename (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
 {
     const FcChar8 *s1 = FcValueString (v1), *s2 = FcValueString (v2);
+    *bestValue = FcValueCanonicalize (v2);
     if (FcStrCmp (s1, s2) == 0)
        return 0.0;
     else if (FcStrCmpIgnoreCase (s1, s2) == 0)
@@ -255,13 +296,13 @@ FcCompareFilename (FcValue *v1, FcValue *v2)
 #define PRI_FcCompareFamily(n)         PRI1(n)
 #define PRI_FcCompareString(n)         PRI1(n)
 #define PRI_FcCompareNumber(n)         PRI1(n)
-#define PRI_FcCompareSize(n)           PRI1(n)
 #define PRI_FcCompareBool(n)           PRI1(n)
 #define PRI_FcCompareFilename(n)       PRI1(n)
 #define PRI_FcCompareCharSet(n)                PRI1(n)
 #define PRI_FcCompareLang(n)           PRI1(n)
 #define PRI_FcComparePostScript(n)     PRI1(n)
-#define PRI_FcCompareSizeRange(n)      PRI1(n)
+#define PRI_FcCompareRange(n)          PRI1(n)
+#define PRI_FcCompareSize(n)           PRI1(n)
 
 #define FC_OBJECT(NAME, Type, Cmp)     PRI_##Cmp(NAME)
 
@@ -283,6 +324,7 @@ typedef enum _FcMatcherPriorityDummy {
 typedef enum _FcMatcherPriority {
     PRI1(FILE),
     PRI1(FONTFORMAT),
+    PRI1(VARIABLE),
     PRI1(SCALABLE),
     PRI1(COLOR),
     PRI1(FOUNDRY),
@@ -312,7 +354,7 @@ typedef enum _FcMatcherPriority {
 
 typedef struct _FcMatcher {
     FcObject object;
-    double   (*compare) (FcValue *value1, FcValue *value2);
+    double   (*compare) (const FcValue *v1, const FcValue *v2, FcValue *bestValue);
     int      strong, weak;
 } FcMatcher;
 
@@ -382,7 +424,8 @@ FcCompareValueList (FcObject             object,
     {
        for (v2 = v2orig, k = 0; v2; v2 = FcValueListNext(v2), k++)
        {
-           v = (match->compare) (&v1->value, &v2->value);
+           FcValue matchValue;
+           v = (match->compare) (&v1->value, &v2->value, &matchValue);
            if (v < 0)
            {
                *result = FcResultTypeMismatch;
@@ -392,7 +435,7 @@ FcCompareValueList (FcObject             object,
            if (v < best)
            {
                if (bestValue)
-                   *bestValue = FcValueCanonicalize(&v2->value);
+                   *bestValue = matchValue;
                best = v;
                pos = k;
            }
@@ -488,10 +531,17 @@ FcFontRenderPrepare (FcConfig         *config,
     FcPatternElt    *fe, *pe;
     FcValue        v;
     FcResult       result;
+    FcBool         variable = FcFalse;
+    FcStrBuf        variations;
 
     assert (pat != NULL);
     assert (font != NULL);
 
+    FcPatternObjectGetBool (font, FC_VARIABLE_OBJECT, 0, &variable);
+    assert (variable != FcDontCare);
+    if (variable)
+       FcStrBufInit (&variations, NULL, 0);
+
     new = FcPatternCreate ();
     if (!new)
        return NULL;
@@ -596,12 +646,79 @@ FcFontRenderPrepare (FcConfig         *config,
                return NULL;
            }
            FcPatternObjectAdd (new, fe->object, v, FcFalse);
+
+           /* Set font-variations settings for standard axes in variable fonts. */
+           if (variable &&
+               FcPatternEltValues(fe)->value.type == FcTypeRange &&
+               (fe->object == FC_WEIGHT_OBJECT ||
+                fe->object == FC_WIDTH_OBJECT ||
+                fe->object == FC_SIZE_OBJECT))
+           {
+               double num;
+               FcChar8 temp[128];
+               const char *tag = "    ";
+               assert (v.type == FcTypeDouble);
+               num = v.u.d;
+               if (variations.len)
+                   FcStrBufChar (&variations, ',');
+               switch (fe->object)
+               {
+                   case FC_WEIGHT_OBJECT:
+                       tag = "wght";
+                       num = FcWeightToOpenType (num);
+                       break;
+
+                   case FC_WIDTH_OBJECT:
+                       tag = "wdth";
+                       break;
+
+                   case FC_SIZE_OBJECT:
+                       tag = "opsz";
+                       break;
+               }
+               sprintf ((char *) temp, "%4s=%g", tag, num);
+               FcStrBufString (&variations, temp);
+           }
        }
        else
        {
+           if (FcRefIsConst (&font->ref) && fe->object == FC_FILE_OBJECT)
+           {
+               FcValueListPtr l = FcPatternEltValues (fe);
+               FcChar8 *dir, *alias;
+
+               while (l->value.type != FcTypeString)
+                   l = FcValueListNext (l);
+               if (!l)
+                   goto bail0;
+               dir = FcStrDirname (FcValueString (&l->value));
+               if (!config)
+                   config = FcConfigGetCurrent ();
+               if (config && FcHashTableFind (config->alias_table, dir, (void **) &alias))
+               {
+                   FcChar8 *base = FcStrBasename (FcValueString (&l->value));
+                   FcChar8 *s = FcStrBuildFilename (alias, base, NULL);
+                   FcValue v;
+
+                   FcStrFree (alias);
+                   FcStrFree (base);
+                   v.type = FcTypeString;
+                   v.u.s = s;
+                   FcPatternObjectAddWithBinding (new, fe->object,
+                                                  FcValueCanonicalize (&v),
+                                                  l->binding,
+                                                  FcTrue);
+                   FcStrFree (s);
+                   FcStrFree (dir);
+                   goto bail0;
+               }
+               else
+                   FcStrFree (dir);
+           }
            FcPatternObjectListAdd (new, fe->object,
                                    FcValueListDuplicate (FcPatternEltValues (fe)),
                                    FcTrue);
+         bail0:;
        }
     }
     for (i = 0; i < pat->num; i++)
@@ -619,6 +736,20 @@ FcFontRenderPrepare (FcConfig          *config,
        }
     }
 
+    if (variable && variations.len)
+    {
+       FcChar8 *vars = NULL;
+       if (FcPatternObjectGetString (new, FC_FONT_VARIATIONS_OBJECT, 0, &vars) == FcResultMatch)
+       {
+           FcStrBufChar (&variations, ',');
+           FcStrBufString (&variations, vars);
+           FcPatternObjectDel (new, FC_FONT_VARIATIONS_OBJECT);
+       }
+
+       FcPatternObjectAddString (new, FC_FONT_VARIATIONS_OBJECT, FcStrBufDoneStatic (&variations));
+       FcStrBufDestroy (&variations);
+    }
+
     FcConfigSubstituteWithPat (config, new, pat, FcMatchFont);
     return new;
 }
@@ -1017,7 +1148,8 @@ FcFontSetSort (FcConfig       *config FC_UNUSED,
                    FcPatternGet (p, FC_LANG, i, &patternLang) == FcResultMatch &&
                    FcPatternGet (nodeps[f]->pattern, FC_LANG, 0, &nodeLang) == FcResultMatch)
                {
-                   double  compare = FcCompareLang (&patternLang, &nodeLang);
+                   FcValue matchValue;
+                   double  compare = FcCompareLang (&patternLang, &nodeLang, &matchValue);
                    if (compare >= 0 && compare < 2)
                    {
                        if (FcDebug () & FC_DBG_MATCHV)
index 8be36c7..79e413e 100644 (file)
@@ -258,6 +258,11 @@ FcNameBool (const FcChar8 *v, FcBool *result)
        *result = FcFalse;
        return FcTrue;
     }
+    if (c0 == 'd' || c0 == 'x' || c0 == '2')
+    {
+       *result = FcDontCare;
+       return FcTrue;
+    }
     if (c0 == 'o')
     {
        c1 = v[1];
@@ -272,6 +277,11 @@ FcNameBool (const FcChar8 *v, FcBool *result)
            *result = FcFalse;
            return FcTrue;
        }
+       if (c1 == 'r')
+       {
+           *result = FcDontCare;
+           return FcTrue;
+       }
     }
     return FcFalse;
 }
@@ -318,7 +328,7 @@ FcNameConvert (FcType type, FcChar8 *string)
            v.type = FcTypeVoid;
        break;
     case FcTypeRange:
-       if (sscanf ((char *) string, "[%lg %lg)", &b, &e) != 2)
+       if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
        {
            v.u.d = strtod ((char *) string, &p);
            if (p != NULL && p[0] != 0)
@@ -514,7 +524,10 @@ FcNameUnparseValue (FcStrBuf       *buf,
     case FcTypeString:
        return FcNameUnparseString (buf, v.u.s, escape);
     case FcTypeBool:
-       return FcNameUnparseString (buf, v.u.b ? (FcChar8 *) "True" : (FcChar8 *) "False", 0);
+       return FcNameUnparseString (buf,
+                                   v.u.b == FcTrue  ? (FcChar8 *) "True" :
+                                   v.u.b == FcFalse ? (FcChar8 *) "False" :
+                                                      (FcChar8 *) "DontCare", 0);
     case FcTypeMatrix:
        sprintf ((char *) temp, "%g %g %g %g",
                 v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
@@ -526,7 +539,7 @@ FcNameUnparseValue (FcStrBuf        *buf,
     case FcTypeFTFace:
        return FcTrue;
     case FcTypeRange:
-       sprintf ((char *) temp, "[%g %g)", v.u.r->begin, v.u.r->end);
+       sprintf ((char *) temp, "[%g %g]", v.u.r->begin, v.u.r->end);
        return FcNameUnparseString (buf, temp, 0);
     }
     return FcFalse;
index 16ff31c..33bba8d 100644 (file)
 #include "fcint.h"
 
 static unsigned int
-FcObjectTypeHash (register const char *str, register unsigned int len);
+FcObjectTypeHash (register const char *str, register FC_GPERF_SIZE_T len);
 
 static const struct FcObjectTypeInfo *
-FcObjectTypeLookup (register const char *str, register unsigned int len);
+FcObjectTypeLookup (register const char *str, register FC_GPERF_SIZE_T len);
 
 #include "fcobjshash.h"
 
index 1fc4f65..e3926cc 100644 (file)
@@ -29,11 +29,11 @@ FC_OBJECT (STYLELANG,               FcTypeString,   NULL)
 FC_OBJECT (FULLNAME,           FcTypeString,   NULL)
 FC_OBJECT (FULLNAMELANG,       FcTypeString,   NULL)
 FC_OBJECT (SLANT,              FcTypeInteger,  FcCompareNumber)
-FC_OBJECT (WEIGHT,             FcTypeInteger,  FcCompareNumber)
-FC_OBJECT (WIDTH,              FcTypeInteger,  FcCompareNumber)
-FC_OBJECT (SIZE,               FcTypeRange,    FcCompareSizeRange)
+FC_OBJECT (WEIGHT,             FcTypeRange,    FcCompareRange)
+FC_OBJECT (WIDTH,              FcTypeRange,    FcCompareRange)
+FC_OBJECT (SIZE,               FcTypeRange,    FcCompareSize)
 FC_OBJECT (ASPECT,             FcTypeDouble,   NULL)
-FC_OBJECT (PIXEL_SIZE,         FcTypeDouble,   FcCompareSize)
+FC_OBJECT (PIXEL_SIZE,         FcTypeDouble,   FcCompareNumber)
 FC_OBJECT (SPACING,            FcTypeInteger,  FcCompareNumber)
 FC_OBJECT (FOUNDRY,            FcTypeString,   FcCompareString)
 FC_OBJECT (ANTIALIAS,          FcTypeBool,     FcCompareBool)
@@ -51,7 +51,7 @@ FC_OBJECT (DPI,                       FcTypeDouble,   NULL)
 FC_OBJECT (RGBA,               FcTypeInteger,  NULL)
 FC_OBJECT (SCALE,              FcTypeDouble,   NULL)
 FC_OBJECT (MINSPACE,           FcTypeBool,     NULL)
-FC_OBJECT (CHAR_WIDTH,         FcTypeInteger,  NULL)
+FC_OBJECT (CHARWIDTH,          FcTypeInteger,  NULL)
 FC_OBJECT (CHAR_HEIGHT,                FcTypeInteger,  NULL)
 FC_OBJECT (MATRIX,             FcTypeMatrix,   NULL)
 FC_OBJECT (CHARSET,            FcTypeCharSet,  FcCompareCharSet)
@@ -70,4 +70,6 @@ FC_OBJECT (HASH,              FcTypeString,   NULL)   /* deprecated */
 FC_OBJECT (POSTSCRIPT_NAME,    FcTypeString,   FcComparePostScript)
 FC_OBJECT (COLOR,              FcTypeBool,     FcCompareBool)
 FC_OBJECT (SYMBOL,             FcTypeBool,     FcCompareBool)
+FC_OBJECT (FONT_VARIATIONS,    FcTypeString,   NULL)
+FC_OBJECT (VARIABLE,           FcTypeBool,     FcCompareBool)
 /* ^-------------- Add new objects here. */
diff --git a/src/fcobjshash.gperf b/src/fcobjshash.gperf
deleted file mode 100644 (file)
index 80a0237..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-%{
-%}
-%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
-"symbol",FC_SYMBOL_OBJECT
index 5a4d1ea..867a369 100644 (file)
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -m 100 fcobjshash.gperf  */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: gperf --pic -m 100 fcobjshash.gperf  */
 /* Computed positions: -k'2-3' */
 
 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -26,7 +26,7 @@
       && ('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>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 #line 1 "fcobjshash.gperf"
@@ -37,7 +37,7 @@ int name;
 int id;
 };
 #include <string.h>
-/* maximum key range = 56, duplicates = 0 */
+/* maximum key range = 65, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -47,36 +47,36 @@ inline
 #endif
 #endif
 static unsigned int
-FcObjectTypeHash (register const char *str, register unsigned int len)
+FcObjectTypeHash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 21, 30,  3,
-      36, 45, 60,  3, 15,  0, 60, 60,  0,  9,
-       9,  0, 21, 60,  0,  0, 15,  0, 60, 60,
-       0, 15, 24, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-      60, 60, 60, 60, 60, 60
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69,  9, 21, 18,
+      33, 21, 69,  6, 36,  0, 69, 69,  0, 24,
+       9,  0, 21, 69, 33, 15, 18,  0, 69, 69,
+       0, 21,  6, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+      69, 69, 69, 69, 69, 69
     };
   return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[1]];
 }
@@ -88,49 +88,51 @@ struct FcObjectTypeNamePool_t
     char FcObjectTypeNamePool_str7[sizeof("foundry")];
     char FcObjectTypeNamePool_str8[sizeof("fullname")];
     char FcObjectTypeNamePool_str9[sizeof("pixelsize")];
-    char FcObjectTypeNamePool_str10[sizeof("prgname")];
+    char FcObjectTypeNamePool_str10[sizeof("size")];
     char FcObjectTypeNamePool_str12[sizeof("fullnamelang")];
     char FcObjectTypeNamePool_str13[sizeof("globaladvance")];
-    char FcObjectTypeNamePool_str14[sizeof("postscriptname")];
+    char FcObjectTypeNamePool_str14[sizeof("slant")];
     char FcObjectTypeNamePool_str16[sizeof("hinting")];
     char FcObjectTypeNamePool_str17[sizeof("minspace")];
     char FcObjectTypeNamePool_str18[sizeof("hintstyle")];
     char FcObjectTypeNamePool_str19[sizeof("fontformat")];
     char FcObjectTypeNamePool_str20[sizeof("fontversion")];
     char FcObjectTypeNamePool_str21[sizeof("fontfeatures")];
-    char FcObjectTypeNamePool_str22[sizeof("outline")];
-    char FcObjectTypeNamePool_str23[sizeof("autohint")];
+    char FcObjectTypeNamePool_str22[sizeof("lang")];
+    char FcObjectTypeNamePool_str23[sizeof("fontvariations")];
     char FcObjectTypeNamePool_str24[sizeof("dpi")];
-    char FcObjectTypeNamePool_str25[sizeof("hash")];
-    char FcObjectTypeNamePool_str26[sizeof("slant")];
-    char FcObjectTypeNamePool_str27[sizeof("aspect")];
-    char FcObjectTypeNamePool_str28[sizeof("size")];
-    char FcObjectTypeNamePool_str29[sizeof("scale")];
-    char FcObjectTypeNamePool_str30[sizeof("symbol")];
-    char FcObjectTypeNamePool_str31[sizeof("rasterizer")];
-    char FcObjectTypeNamePool_str32[sizeof("scalable")];
-    char FcObjectTypeNamePool_str33[sizeof("antialias")];
-    char FcObjectTypeNamePool_str34[sizeof("lang")];
-    char FcObjectTypeNamePool_str35[sizeof("style")];
-    char FcObjectTypeNamePool_str36[sizeof("family")];
-    char FcObjectTypeNamePool_str37[sizeof("rgba")];
-    char FcObjectTypeNamePool_str38[sizeof("namelang")];
-    char FcObjectTypeNamePool_str39[sizeof("stylelang")];
-    char FcObjectTypeNamePool_str40[sizeof("familylang")];
-    char FcObjectTypeNamePool_str41[sizeof("width")];
-    char FcObjectTypeNamePool_str42[sizeof("matrix")];
-    char FcObjectTypeNamePool_str43[sizeof("charset")];
-    char FcObjectTypeNamePool_str45[sizeof("charwidth")];
-    char FcObjectTypeNamePool_str46[sizeof("charheight")];
-    char FcObjectTypeNamePool_str47[sizeof("embolden")];
-    char FcObjectTypeNamePool_str48[sizeof("lcdfilter")];
-    char FcObjectTypeNamePool_str49[sizeof("spacing")];
-    char FcObjectTypeNamePool_str50[sizeof("index")];
-    char FcObjectTypeNamePool_str51[sizeof("weight")];
-    char FcObjectTypeNamePool_str52[sizeof("capability")];
-    char FcObjectTypeNamePool_str53[sizeof("embeddedbitmap")];
-    char FcObjectTypeNamePool_str58[sizeof("decorative")];
-    char FcObjectTypeNamePool_str59[sizeof("verticallayout")];
+    char FcObjectTypeNamePool_str25[sizeof("outline")];
+    char FcObjectTypeNamePool_str26[sizeof("autohint")];
+    char FcObjectTypeNamePool_str27[sizeof("weight")];
+    char FcObjectTypeNamePool_str28[sizeof("hash")];
+    char FcObjectTypeNamePool_str29[sizeof("postscriptname")];
+    char FcObjectTypeNamePool_str31[sizeof("rgba")];
+    char FcObjectTypeNamePool_str32[sizeof("scale")];
+    char FcObjectTypeNamePool_str33[sizeof("matrix")];
+    char FcObjectTypeNamePool_str34[sizeof("rasterizer")];
+    char FcObjectTypeNamePool_str35[sizeof("scalable")];
+    char FcObjectTypeNamePool_str36[sizeof("antialias")];
+    char FcObjectTypeNamePool_str37[sizeof("spacing")];
+    char FcObjectTypeNamePool_str38[sizeof("width")];
+    char FcObjectTypeNamePool_str39[sizeof("family")];
+    char FcObjectTypeNamePool_str40[sizeof("capability")];
+    char FcObjectTypeNamePool_str41[sizeof("namelang")];
+    char FcObjectTypeNamePool_str42[sizeof("aspect")];
+    char FcObjectTypeNamePool_str43[sizeof("familylang")];
+    char FcObjectTypeNamePool_str44[sizeof("style")];
+    char FcObjectTypeNamePool_str46[sizeof("prgname")];
+    char FcObjectTypeNamePool_str47[sizeof("index")];
+    char FcObjectTypeNamePool_str48[sizeof("stylelang")];
+    char FcObjectTypeNamePool_str49[sizeof("decorative")];
+    char FcObjectTypeNamePool_str50[sizeof("variable")];
+    char FcObjectTypeNamePool_str51[sizeof("symbol")];
+    char FcObjectTypeNamePool_str52[sizeof("charset")];
+    char FcObjectTypeNamePool_str53[sizeof("embolden")];
+    char FcObjectTypeNamePool_str54[sizeof("charwidth")];
+    char FcObjectTypeNamePool_str55[sizeof("charheight")];
+    char FcObjectTypeNamePool_str59[sizeof("embeddedbitmap")];
+    char FcObjectTypeNamePool_str60[sizeof("lcdfilter")];
+    char FcObjectTypeNamePool_str68[sizeof("verticallayout")];
   };
 static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents =
   {
@@ -139,180 +141,182 @@ static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents =
     "foundry",
     "fullname",
     "pixelsize",
-    "prgname",
+    "size",
     "fullnamelang",
     "globaladvance",
-    "postscriptname",
+    "slant",
     "hinting",
     "minspace",
     "hintstyle",
     "fontformat",
     "fontversion",
     "fontfeatures",
+    "lang",
+    "fontvariations",
+    "dpi",
     "outline",
     "autohint",
-    "dpi",
+    "weight",
     "hash",
-    "slant",
-    "aspect",
-    "size",
+    "postscriptname",
+    "rgba",
     "scale",
-    "symbol",
+    "matrix",
     "rasterizer",
     "scalable",
     "antialias",
-    "lang",
-    "style",
+    "spacing",
+    "width",
     "family",
-    "rgba",
+    "capability",
     "namelang",
-    "stylelang",
+    "aspect",
     "familylang",
-    "width",
-    "matrix",
+    "style",
+    "prgname",
+    "index",
+    "stylelang",
+    "decorative",
+    "variable",
+    "symbol",
     "charset",
+    "embolden",
     "charwidth",
     "charheight",
-    "embolden",
-    "lcdfilter",
-    "spacing",
-    "index",
-    "weight",
-    "capability",
     "embeddedbitmap",
-    "decorative",
+    "lcdfilter",
     "verticallayout"
   };
 #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)
+FcObjectTypeLookup (register const char *str, register size_t len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 48,
+      TOTAL_KEYWORDS = 50,
       MIN_WORD_LENGTH = 3,
       MAX_WORD_LENGTH = 14,
       MIN_HASH_VALUE = 4,
-      MAX_HASH_VALUE = 59
+      MAX_HASH_VALUE = 68
     };
 
   static const struct FcObjectTypeInfo wordlist[] =
     {
       {-1}, {-1}, {-1}, {-1},
 #line 38 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str4,FC_FILE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str4,FC_FILE_OBJECT},
 #line 64 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str5,FC_COLOR_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str5,FC_COLOR_OBJECT},
       {-1},
 #line 31 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str7,FC_FOUNDRY_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str7,FC_FOUNDRY_OBJECT},
 #line 22 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str8,FC_FULLNAME_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str8,FC_FULLNAME_OBJECT},
 #line 29 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str9,FC_PIXEL_SIZE_OBJECT},
-#line 61 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str10,FC_PRGNAME_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str9,FC_PIXEL_SIZE_OBJECT},
+#line 27 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str10,FC_SIZE_OBJECT},
       {-1},
 #line 23 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str12,FC_FULLNAMELANG_OBJECT},
+      {(int)(size_t)&((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 63 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str14,FC_POSTSCRIPT_NAME_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str13,FC_GLOBAL_ADVANCE_OBJECT},
+#line 24 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str14,FC_SLANT_OBJECT},
       {-1},
 #line 34 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str16,FC_HINTING_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str16,FC_HINTING_OBJECT},
 #line 46 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str17,FC_MINSPACE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str17,FC_MINSPACE_OBJECT},
 #line 33 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str18,FC_HINT_STYLE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str18,FC_HINT_STYLE_OBJECT},
 #line 54 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str19,FC_FONTFORMAT_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str19,FC_FONTFORMAT_OBJECT},
 #line 52 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str20,FC_FONTVERSION_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str20,FC_FONTVERSION_OBJECT},
 #line 60 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str21,FC_FONT_FEATURES_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str21,FC_FONT_FEATURES_OBJECT},
+#line 51 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str22,FC_LANG_OBJECT},
+#line 66 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str23,FC_FONT_VARIATIONS_OBJECT},
+#line 43 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str24,FC_DPI_OBJECT},
 #line 41 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str22,FC_OUTLINE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str25,FC_OUTLINE_OBJECT},
 #line 36 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str23,FC_AUTOHINT_OBJECT},
-#line 43 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str24,FC_DPI_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_AUTOHINT_OBJECT},
+#line 25 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_WEIGHT_OBJECT},
 #line 62 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str25,FC_HASH_OBJECT},
-#line 24 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_SLANT_OBJECT},
-#line 28 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_ASPECT_OBJECT},
-#line 27 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_SIZE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_HASH_OBJECT},
+#line 63 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_POSTSCRIPT_NAME_OBJECT},
+      {-1},
+#line 44 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_RGBA_OBJECT},
 #line 45 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_SCALE_OBJECT},
-#line 65 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str30,FC_SYMBOL_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_SCALE_OBJECT},
+#line 49 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_MATRIX_OBJECT},
 #line 40 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_RASTERIZER_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_RASTERIZER_OBJECT},
 #line 42 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_SCALABLE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_SCALABLE_OBJECT},
 #line 32 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_ANTIALIAS_OBJECT},
-#line 51 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_LANG_OBJECT},
-#line 20 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_STYLE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_ANTIALIAS_OBJECT},
+#line 30 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_SPACING_OBJECT},
+#line 26 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_WIDTH_OBJECT},
 #line 18 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_FAMILY_OBJECT},
-#line 44 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_RGBA_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_FAMILY_OBJECT},
+#line 53 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_CAPABILITY_OBJECT},
 #line 59 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_NAMELANG_OBJECT},
-#line 21 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_STYLELANG_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_NAMELANG_OBJECT},
+#line 28 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_ASPECT_OBJECT},
 #line 19 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_FAMILYLANG_OBJECT},
-#line 26 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_WIDTH_OBJECT},
-#line 49 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_MATRIX_OBJECT},
-#line 50 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_FAMILYLANG_OBJECT},
+#line 20 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str44,FC_STYLE_OBJECT},
       {-1},
+#line 61 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_PRGNAME_OBJECT},
+#line 39 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_INDEX_OBJECT},
+#line 21 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_STYLELANG_OBJECT},
+#line 57 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_DECORATIVE_OBJECT},
+#line 67 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str50,FC_VARIABLE_OBJECT},
+#line 65 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str51,FC_SYMBOL_OBJECT},
+#line 50 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str52,FC_CHARSET_OBJECT},
+#line 55 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str53,FC_EMBOLDEN_OBJECT},
 #line 47 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str54,FC_CHARWIDTH_OBJECT},
 #line 48 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
-#line 55 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_EMBOLDEN_OBJECT},
-#line 58 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_LCD_FILTER_OBJECT},
-#line 30 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_SPACING_OBJECT},
-#line 39 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str50,FC_INDEX_OBJECT},
-#line 25 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str51,FC_WEIGHT_OBJECT},
-#line 53 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str52,FC_CAPABILITY_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str55,FC_CHAR_HEIGHT_OBJECT},
+      {-1}, {-1}, {-1},
 #line 56 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str53,FC_EMBEDDED_BITMAP_OBJECT},
-      {-1}, {-1}, {-1}, {-1},
-#line 57 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str58,FC_DECORATIVE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str59,FC_EMBEDDED_BITMAP_OBJECT},
+#line 58 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str60,FC_LCD_FILTER_OBJECT},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
 #line 35 "fcobjshash.gperf"
-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str59,FC_VERTICAL_LAYOUT_OBJECT}
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str68,FC_VERTICAL_LAYOUT_OBJECT}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = FcObjectTypeHash (str, len);
+      register unsigned int key = FcObjectTypeHash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register int o = wordlist[key].name;
           if (o >= 0)
index 3ef1ed2..e624aea 100644 (file)
@@ -883,7 +883,7 @@ FcPatternAddRange (FcPattern *p, const char *object, const FcRange *r)
 }
 
 FcResult
-FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v)
+FcPatternObjectGetWithBinding (const FcPattern *p, FcObject object, int id, FcValue *v, FcValueBinding *b)
 {
     FcPatternElt   *e;
     FcValueListPtr l;
@@ -898,6 +898,8 @@ FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v)
        if (!id)
        {
            *v = FcValueCanonicalize(&l->value);
+           if (b)
+               *b = l->binding;
            return FcResultMatch;
        }
        id--;
@@ -906,9 +908,21 @@ FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v)
 }
 
 FcResult
+FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v)
+{
+    return FcPatternObjectGetWithBinding (p, object, id, v, NULL);
+}
+
+FcResult
+FcPatternGetWithBinding (const FcPattern *p, const char *object, int id, FcValue *v, FcValueBinding *b)
+{
+    return FcPatternObjectGetWithBinding (p, FcObjectFromName (object), id, v, b);
+}
+
+FcResult
 FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v)
 {
-    return FcPatternObjectGet (p, FcObjectFromName (object), id, v);
+    return FcPatternObjectGetWithBinding (p, FcObjectFromName (object), id, v, NULL);
 }
 
 FcResult
@@ -1007,12 +1021,12 @@ FcPatternGetMatrix(const FcPattern *p, const char *object, int id, FcMatrix **m)
 
 
 FcResult
-FcPatternGetBool(const FcPattern *p, const char *object, int id, FcBool *b)
+FcPatternObjectGetBool (const FcPattern *p, FcObject object, int id, FcBool *b)
 {
     FcValue    v;
     FcResult   r;
 
-    r = FcPatternGet (p, object, id, &v);
+    r = FcPatternObjectGet (p, object, id, &v);
     if (r != FcResultMatch)
        return r;
     if (v.type != FcTypeBool)
@@ -1022,6 +1036,12 @@ FcPatternGetBool(const FcPattern *p, const char *object, int id, FcBool *b)
 }
 
 FcResult
+FcPatternGetBool(const FcPattern *p, const char *object, int id, FcBool *b)
+{
+    return FcPatternObjectGetBool (p, FcObjectFromName (object), id, b);
+}
+
+FcResult
 FcPatternGetCharSet(const FcPattern *p, const char *object, int id, FcCharSet **c)
 {
     FcValue    v;
@@ -1099,6 +1119,9 @@ FcPatternDuplicate (const FcPattern *orig)
     int                    i;
     FcValueListPtr  l;
 
+    if (!orig)
+       return NULL;
+
     new = FcPatternCreate ();
     if (!new)
        goto bail0;
diff --git a/src/fcptrlist.c b/src/fcptrlist.c
new file mode 100644 (file)
index 0000000..a0688dd
--- /dev/null
@@ -0,0 +1,198 @@
+/*
+ * fontconfig/src/fcptrlist.c
+ *
+ * Copyright © 2000 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"
+
+typedef struct _FcPtrListEntry {
+    struct _FcPtrListEntry     *next;
+    void                       *data;
+} FcPtrListEntry;
+struct _FcPtrList {
+    FcDestroyFunc      destroy_func;
+    FcPtrListEntry     *list;
+};
+typedef struct _FcPtrListIterPrivate {
+    const FcPtrList    *list;
+    FcPtrListEntry     *entry;
+    FcPtrListEntry     *prev;
+} FcPtrListIterPrivate;
+
+FcPtrList *
+FcPtrListCreate (FcDestroyFunc func)
+{
+    FcPtrList *ret = (FcPtrList *) malloc (sizeof (FcPtrList));
+
+    if (ret)
+    {
+       ret->destroy_func = func;
+       ret->list = NULL;
+    }
+
+    return ret;
+}
+
+void
+FcPtrListDestroy (FcPtrList *list)
+{
+    FcPtrListIter iter;
+
+    FcPtrListIterInit (list, &iter);
+    do
+    {
+       if (FcPtrListIterGetValue (list, &iter))
+           list->destroy_func (FcPtrListIterGetValue (list, &iter));
+       FcPtrListIterRemove (list, &iter);
+    } while (FcPtrListIterIsValid (list, &iter));
+
+    free (list);
+}
+
+void
+FcPtrListIterInit (const FcPtrList     *list,
+                FcPtrListIter          *iter)
+{
+    FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+    priv->list = list;
+    priv->entry = list->list;
+    priv->prev = NULL;
+}
+
+void
+FcPtrListIterInitAtLast (FcPtrList     *list,
+                      FcPtrListIter    *iter)
+{
+    FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+    FcPtrListEntry **e, **p;
+
+    e = &list->list;
+    p = e;
+    for (; *e; p = e, e = &(*e)->next);
+
+    priv->list = list;
+    priv->entry = *e;
+    priv->prev = *p;
+}
+
+FcBool
+FcPtrListIterNext (const FcPtrList     *list,
+                FcPtrListIter          *iter)
+{
+    FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+    if (list != priv->list)
+       return FcFalse;
+    priv->prev = priv->entry;
+    priv->entry = priv->entry->next;
+
+    return priv->entry != NULL;
+}
+
+FcBool
+FcPtrListIterIsValid (const FcPtrList  *list,
+                   const FcPtrListIter *iter)
+{
+    FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+    return list == priv->list && priv->entry;
+}
+
+void *
+FcPtrListIterGetValue (const FcPtrList         *list,
+                    const FcPtrListIter        *iter)
+{
+    FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+    if (list != priv->list ||
+       !priv->entry)
+       return NULL;
+
+    return priv->entry->data;
+}
+
+FcBool
+FcPtrListIterAdd (FcPtrList    *list,
+               FcPtrListIter   *iter,
+               void            *data)
+{
+    FcPtrListEntry *e;
+    FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+    if (list != priv->list)
+       return FcFalse;
+
+    e = (FcPtrListEntry *) malloc (sizeof (FcPtrListEntry));
+    e->data = data;
+
+    if (priv->entry)
+    {
+       e->next = priv->entry->next;
+       priv->entry->next = e;
+    }
+    else
+    {
+       e->next = NULL;
+       if (priv->prev)
+       {
+           priv->prev->next = e;
+           priv->entry = priv->prev;
+       }
+       else
+       {
+           list->list = e;
+           priv->entry = e;
+
+           return FcTrue;
+       }
+    }
+
+    return FcPtrListIterNext (list, iter);
+}
+
+FcBool
+FcPtrListIterRemove (FcPtrList         *list,
+                  FcPtrListIter        *iter)
+{
+    FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+    FcPtrListEntry *e;
+
+    if (list != priv->list)
+       return FcFalse;
+    if (!priv->entry)
+       return FcTrue;
+
+    if (list->list == priv->entry)
+       list->list = list->list->next;
+    e = priv->entry;
+    if (priv->prev)
+       priv->prev->next = priv->entry->next;
+    priv->entry = priv->entry->next;
+    free (e);
+
+    return FcTrue;
+}
+
+#define __fcplist__
+#include "fcaliastail.h"
+#undef __fcplist__
index f70226c..8689930 100644 (file)
@@ -96,9 +96,6 @@ FcRangePromote (double v, FcValuePromotionBuffer *vbuf)
 FcBool
 FcRangeIsInRange (const FcRange *a, const FcRange *b)
 {
-    if (!a || !b)
-       return FcFalse;
-
     return a->begin >= b->begin && a->end <= b->end;
 }
 
@@ -107,20 +104,22 @@ FcRangeCompare (FcOp op, const FcRange *a, const FcRange *b)
 {
     switch ((int) op) {
     case FcOpEqual:
+       return a->begin == b->begin && a->end == b->end;
     case FcOpContains:
     case FcOpListing:
        return FcRangeIsInRange (a, b);
     case FcOpNotEqual:
+       return a->begin != b->begin || a->end != b->end;
     case FcOpNotContains:
        return !FcRangeIsInRange (a, b);
     case FcOpLess:
-       return a->begin < b->begin;
+       return a->end < b->begin;
     case FcOpLessEqual:
-       return a->begin <= b->begin;
+       return a->end <= b->begin;
     case FcOpMore:
-       return a->end > b->end;
+       return a->begin > b->end;
     case FcOpMoreEqual:
-       return a->end >= b->end;
+       return a->begin >= b->end;
     default:
        break;
     }
index 1734fa4..f6e1aaa 100644 (file)
@@ -278,8 +278,13 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum)
        {
 #endif
        struct stat statb;
-       char f[PATH_MAX + 1];
+       char *f = malloc (len + 1 + dlen + 1);
 
+       if (!f)
+       {
+           ret = -1;
+           goto bail;
+       }
        memcpy (f, dir, len);
        f[len] = FC_DIR_SEPARATOR;
        memcpy (&f[len + 1], files[n]->d_name, dlen);
@@ -287,11 +292,16 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum)
        if (lstat (f, &statb) < 0)
        {
            ret = -1;
+           free (f);
            goto bail;
        }
        if (S_ISDIR (statb.st_mode))
+       {
+           free (f);
            goto bail;
+       }
 
+       free (f);
        dtype = statb.st_mode;
 #ifdef HAVE_STRUCT_DIRENT_D_TYPE
        }
index ff8e647..8fac49a 100644 (file)
@@ -1,8 +1,8 @@
 #ifndef _FONTCONFIG_SRC_FCSTDINT_H
 #define _FONTCONFIG_SRC_FCSTDINT_H 1
 #ifndef _GENERATED_STDINT_H
-#define _GENERATED_STDINT_H "fontconfig 2.12.1"
-/* generated using gnu compiler gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) */
+#define _GENERATED_STDINT_H "fontconfig 2.13.0"
+/* generated using gnu compiler gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2) */
 #define _STDINT_HAVE_STDINT_H 1
 #include <stdint.h>
 #endif
index 036a518..276b467 100644 (file)
@@ -29,8 +29,8 @@ static const struct {
     {   0, FC_WEIGHT_THIN },
     { 100, FC_WEIGHT_THIN },
     { 200, FC_WEIGHT_EXTRALIGHT },
-    { 350, FC_WEIGHT_DEMILIGHT },
     { 300, FC_WEIGHT_LIGHT },
+    { 350, FC_WEIGHT_DEMILIGHT },
     { 380, FC_WEIGHT_BOOK },
     { 400, FC_WEIGHT_REGULAR },
     { 500, FC_WEIGHT_MEDIUM },
@@ -41,7 +41,7 @@ static const struct {
     {1000, FC_WEIGHT_EXTRABLACK },
 };
 
-static int lerp(int x, int x1, int x2, int y1, int y2)
+static double lerp(double x, int x1, int x2, int y1, int y2)
 {
   int dx = x2 - x1;
   int dy = y2 - y1;
@@ -49,32 +49,14 @@ static int lerp(int x, int x1, int x2, int y1, int y2)
   return y1 + (dy*(x-x1) + dx/2) / dx;
 }
 
-int
-FcWeightFromOpenType (int ot_weight)
+double
+FcWeightFromOpenTypeDouble (double ot_weight)
 {
        int i;
 
-       /* Loosely based on WPF Font Selection Model's advice. */
-
        if (ot_weight < 0)
            return -1;
-       else if (1 <= ot_weight && ot_weight <= 9)
-       {
-           /* WPF Font Selection Model says do "ot_weight *= 100",
-            * but Greg Hitchcock revealed that GDI had a mapping
-            * reflected below: */
-           switch (ot_weight) {
-               case 1: ot_weight =  80; break;
-               case 2: ot_weight = 160; break;
-               case 3: ot_weight = 240; break;
-               case 4: ot_weight = 320; break;
-               case 5: ot_weight = 400; break;
-               case 6: ot_weight = 550; break;
-               case 7: ot_weight = 700; break;
-               case 8: ot_weight = 800; break;
-               case 9: ot_weight = 900; break;
-           }
-       }
+
        ot_weight = FC_MIN (ot_weight, map[(sizeof (map) / sizeof (map[0])) - 1].ot);
 
        for (i = 1; ot_weight > map[i].ot; i++)
@@ -87,8 +69,8 @@ FcWeightFromOpenType (int ot_weight)
        return lerp (ot_weight, map[i-1].ot, map[i].ot, map[i-1].fc, map[i].fc);
 }
 
-int
-FcWeightToOpenType (int fc_weight)
+double
+FcWeightToOpenTypeDouble (double fc_weight)
 {
        int i;
        if (fc_weight < 0 || fc_weight > FC_WEIGHT_EXTRABLACK)
@@ -104,6 +86,18 @@ FcWeightToOpenType (int fc_weight)
        return lerp (fc_weight, map[i-1].fc, map[i].fc, map[i-1].ot, map[i].ot);
 }
 
+int
+FcWeightFromOpenType (int ot_weight)
+{
+       return FcWeightFromOpenTypeDouble (ot_weight) + .5;
+}
+
+int
+FcWeightToOpenType (int fc_weight)
+{
+       return FcWeightToOpenTypeDouble (fc_weight) + .5;
+}
+
 #define __fcweight__
 #include "fcaliastail.h"
 #undef __fcweight__
index 031a7da..7c8aaac 100644 (file)
@@ -62,6 +62,11 @@ static FcChar8  *__fc_userconf = NULL;
 
 static void
 FcExprDestroy (FcExpr *e);
+static FcBool
+_FcConfigParse (FcConfig       *config,
+               const FcChar8   *name,
+               FcBool          complain,
+               FcBool          load);
 
 void
 FcTestDestroy (FcTest *test)
@@ -351,8 +356,8 @@ typedef enum _FcElement {
     FcElementConfig,
     FcElementMatch,
     FcElementAlias,
+    FcElementDescription,
        
-    FcElementBlank,
     FcElementRescan,
 
     FcElementPrefer,
@@ -414,8 +419,8 @@ static const struct {
     { "config",                FcElementConfig },
     { "match",         FcElementMatch },
     { "alias",         FcElementAlias },
+    { "description",   FcElementDescription },
 
-    { "blank",         FcElementBlank },
     { "rescan",                FcElementRescan },
 
     { "prefer",                FcElementPrefer },
@@ -465,6 +470,11 @@ static const struct {
 };
 #define NUM_ELEMENT_MAPS (int) (sizeof fcElementMap / sizeof fcElementMap[0])
 
+static const char *fcElementIgnoreName[16] = {
+    "its:",
+    NULL
+};
+
 static FcElement
 FcElementMap (const XML_Char *name)
 {
@@ -473,6 +483,9 @@ FcElementMap (const XML_Char *name)
     for (i = 0; i < NUM_ELEMENT_MAPS; i++)
        if (!strcmp ((char *) name, fcElementMap[i].name))
            return fcElementMap[i].element;
+    for (i = 0; fcElementIgnoreName[i] != NULL; i++)
+       if (!strncmp ((char *) name, fcElementIgnoreName[i], strlen (fcElementIgnoreName[i])))
+           return FcElementNone;
     return FcElementUnknown;
 }
 
@@ -543,11 +556,13 @@ typedef struct _FcConfigParse {
     FcBool         error;
     const FcChar8   *name;
     FcConfig       *config;
+    FcRuleSet      *ruleset;
     XML_Parser     parser;
     unsigned int    pstack_static_used;
     FcPStack        pstack_static[8];
     unsigned int    vstack_static_used;
     FcVStack        vstack_static[64];
+    FcBool          scanOnly;
 } FcConfigParse;
 
 typedef enum _FcConfigSeverity {
@@ -1165,7 +1180,9 @@ FcPStackPop (FcConfigParse *parse)
        return FcFalse;
     }
 
-    if (parse->pstack->attr)
+    /* Don't check the attributes for FcElementNone */
+    if (parse->pstack->element != FcElementNone &&
+       parse->pstack->attr)
     {
        /* Warn about unused attrs. */
        FcChar8 **attrs = parse->pstack->attr;
@@ -1195,7 +1212,11 @@ FcPStackPop (FcConfigParse *parse)
 }
 
 static FcBool
-FcConfigParseInit (FcConfigParse *parse, const FcChar8 *name, FcConfig *config, XML_Parser parser)
+FcConfigParseInit (FcConfigParse       *parse,
+                  const FcChar8        *name,
+                  FcConfig             *config,
+                  XML_Parser           parser,
+                  FcBool               enabled)
 {
     parse->pstack = 0;
     parse->pstack_static_used = 0;
@@ -1204,7 +1225,11 @@ FcConfigParseInit (FcConfigParse *parse, const FcChar8 *name, FcConfig *config,
     parse->error = FcFalse;
     parse->name = name;
     parse->config = config;
+    parse->ruleset = FcRuleSetCreate (name);
     parse->parser = parser;
+    parse->scanOnly = !enabled;
+    FcRuleSetEnable (parse->ruleset, enabled);
+
     return FcTrue;
 }
 
@@ -1213,6 +1238,8 @@ FcConfigCleanup (FcConfigParse    *parse)
 {
     while (parse->pstack)
        FcPStackPop (parse);
+    FcRuleSetDestroy (parse->ruleset);
+    parse->ruleset = NULL;
 }
 
 static const FcChar8 *
@@ -1257,55 +1284,6 @@ FcStartElement(void *userData, const XML_Char *name, const XML_Char **attr)
 }
 
 static void
-FcParseBlank (FcConfigParse *parse)
-{
-    int                n = FcVStackElements (parse);
-#if 0
-    FcChar32   i, begin, end;
-#endif
-
-    FcConfigMessage (parse, FcSevereWarning, "blank doesn't take any effect anymore. please remove it from your fonts.conf");
-    while (n-- > 0)
-    {
-       FcVStack    *v = FcVStackFetch (parse, n);
-       if (!parse->config->blanks)
-       {
-           parse->config->blanks = FcBlanksCreate ();
-           if (!parse->config->blanks)
-               goto bail;
-       }
-       switch ((int) v->tag) {
-       case FcVStackInteger:
-#if 0
-           if (!FcBlanksAdd (parse->config->blanks, v->u.integer))
-               goto bail;
-           break;
-#endif
-       case FcVStackRange:
-#if 0
-           begin = (FcChar32) v->u.range->begin;
-           end = (FcChar32) v->u.range->end;
-           if (begin <= end)
-           {
-             for (i = begin; i <= end; i++)
-             {
-                 if (!FcBlanksAdd (parse->config->blanks, i))
-                     goto bail;
-             }
-           }
-#endif
-           break;
-       default:
-           FcConfigMessage (parse, FcSevereError, "invalid element in blank");
-           break;
-       }
-    }
-    return;
-  bail:
-    FcConfigMessage (parse, FcSevereError, "out of memory");
-}
-
-static void
 FcParseRescan (FcConfigParse *parse)
 {
     int            n = FcVStackElements (parse);
@@ -1778,6 +1756,7 @@ FcParseAlias (FcConfigParse *parse)
     FcVStack   *vstack;
     FcRule     *rule = NULL, *r;
     FcValueBinding  binding;
+    int                    n;
 
     if (!FcConfigLexBinding (parse, FcConfigGetAttribute (parse, "binding"), &binding))
        return;
@@ -1920,8 +1899,29 @@ FcParseAlias (FcConfigParse *parse)
            r = r->next;
        }
     }
-    if (!FcConfigAddRule (parse->config, rule, FcMatchPattern))
+    if ((n = FcRuleSetAdd (parse->ruleset, rule, FcMatchPattern)) == -1)
        FcRuleDestroy (rule);
+    else
+       if (parse->config->maxObjects < n)
+           parse->config->maxObjects = n;
+}
+
+static void
+FcParseDescription (FcConfigParse *parse)
+{
+    const FcChar8 *domain;
+    FcChar8 *desc;
+
+    domain = FcConfigGetAttribute (parse, "domain");
+    desc = FcStrBufDone (&parse->pstack->str);
+    if (!desc)
+    {
+       FcConfigMessage (parse, FcSevereError, "out of memory");
+       return;
+    }
+    FcRuleSetAddDescription (parse->ruleset, domain, desc);
+
+    FcStrFree (desc);
 }
 
 static FcExpr *
@@ -2154,9 +2154,9 @@ FcParseDir (FcConfigParse *parse)
 #endif
     if (strlen ((char *) data) == 0)
        FcConfigMessage (parse, FcSevereWarning, "empty font directory name ignored");
-    else if (!FcStrUsesHome (data) || FcConfigHome ())
+    else if (!parse->scanOnly && (!FcStrUsesHome (data) || FcConfigHome ()))
     {
-       if (!FcConfigAddDir (parse->config, data))
+       if (!FcConfigAddFontDir (parse->config, data))
            FcConfigMessage (parse, FcSevereError, "out of memory; cannot add directory %s", data);
     }
     FcStrBufDestroy (&parse->pstack->str);
@@ -2270,7 +2270,7 @@ FcParseCacheDir (FcConfigParse *parse)
 #endif
     if (strlen ((char *) data) == 0)
        FcConfigMessage (parse, FcSevereWarning, "empty cache directory name ignored");
-    else if (!FcStrUsesHome (data) || FcConfigHome ())
+    else if (!parse->scanOnly && (!FcStrUsesHome (data) || FcConfigHome ()))
     {
        if (!FcConfigAddCacheDir (parse->config, data))
            FcConfigMessage (parse, FcSevereError, "out of memory; cannot add cache directory %s", data);
@@ -2311,6 +2311,8 @@ FcParseInclude (FcConfigParse *parse)
 #endif
     FcChar8        *prefix = NULL, *p;
     FcChar8        *userdir = NULL, *userconf = NULL;
+    FcRuleSet      *ruleset;
+    FcMatchKind            k;
 
     s = FcStrBufDoneStatic (&parse->pstack->str);
     if (!s)
@@ -2394,7 +2396,25 @@ FcParseInclude (FcConfigParse *parse)
                goto userconf;
        }
     }
-    if (!FcConfigParseAndLoad (parse->config, s, !ignore_missing))
+    /* flush the ruleset into the queue */
+    ruleset = parse->ruleset;
+    parse->ruleset = FcRuleSetCreate (ruleset->name);
+    FcRuleSetEnable (parse->ruleset, ruleset->enabled);
+    FcRuleSetAddDescription (parse->ruleset, ruleset->domain, ruleset->description);
+    for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+    {
+       FcPtrListIter iter;
+
+       FcPtrListIterInit (ruleset->subst[k], &iter);
+       if (FcPtrListIterIsValid (ruleset->subst[k], &iter))
+       {
+           FcPtrListIterInitAtLast (parse->config->subst[k], &iter);
+           FcRuleSetReference (ruleset);
+           FcPtrListIterAdd (parse->config->subst[k], &iter, ruleset);
+       }
+    }
+    FcRuleSetDestroy (ruleset);
+    if (!_FcConfigParse (parse->config, s, !ignore_missing, !parse->scanOnly))
        parse->error = FcTrue;
 #ifndef _WIN32
     else
@@ -2672,6 +2692,7 @@ FcParseMatch (FcConfigParse *parse)
     FcMatchKind            kind;
     FcVStack       *vstack;
     FcRule         *rule = NULL, *r;
+    int                    n;
 
     kind_name = FcConfigGetAttribute (parse, "target");
     if (!kind_name)
@@ -2727,8 +2748,14 @@ FcParseMatch (FcConfigParse *parse)
        FcConfigMessage (parse, FcSevereWarning, "No <test> nor <edit> elements in <match>");
        return;
     }
-    if (!FcConfigAddRule (parse->config, rule, kind))
+    if ((n = FcRuleSetAdd (parse->ruleset, rule, kind)) == -1)
+    {
        FcConfigMessage (parse, FcSevereError, "out of memory");
+       FcRuleDestroy (rule);
+    }
+    else
+       if (parse->config->maxObjects < n)
+           parse->config->maxObjects = n;
 }
 
 static void
@@ -2740,17 +2767,17 @@ FcParseAcceptRejectFont (FcConfigParse *parse, FcElement element)
     {
        switch ((int) vstack->tag) {
        case FcVStackGlob:
-           if (!FcConfigGlobAdd (parse->config,
-                                 vstack->u.string,
-                                 element == FcElementAcceptfont))
+           if (!parse->scanOnly && !FcConfigGlobAdd (parse->config,
+                                                     vstack->u.string,
+                                                     element == FcElementAcceptfont))
            {
                FcConfigMessage (parse, FcSevereError, "out of memory");
            }
            break;
        case FcVStackPattern:
-           if (!FcConfigPatternsAdd (parse->config,
-                                     vstack->u.pattern,
-                                     element == FcElementAcceptfont))
+           if (!parse->scanOnly && !FcConfigPatternsAdd (parse->config,
+                                                         vstack->u.pattern,
+                                                         element == FcElementAcceptfont))
            {
                FcConfigMessage (parse, FcSevereError, "out of memory");
            }
@@ -2935,10 +2962,10 @@ FcEndElement(void *userData, const XML_Char *name FC_UNUSED)
     case FcElementAlias:
        FcParseAlias (parse);
        break;
-
-    case FcElementBlank:
-       FcParseBlank (parse);
+    case FcElementDescription:
+       FcParseDescription (parse);
        break;
+
     case FcElementRescan:
        FcParseRescan (parse);
        break;
@@ -3139,7 +3166,8 @@ static FcBool
 FcConfigParseAndLoadDir (FcConfig      *config,
                         const FcChar8  *name,
                         const FcChar8  *dir,
-                        FcBool         complain)
+                        FcBool         complain,
+                        FcBool         load)
 {
     DIR                    *d;
     struct dirent   *e;
@@ -3178,7 +3206,10 @@ FcConfigParseAndLoadDir (FcConfig        *config,
 
     if (FcDebug () & FC_DBG_CONFIG)
        printf ("\tScanning config dir %s\n", dir);
-       
+
+    if (load)
+       FcConfigAddConfigDir (config, dir);
+
     while (ret && (e = readdir (d)))
     {
        int d_len;
@@ -3206,7 +3237,7 @@ FcConfigParseAndLoadDir (FcConfig *config,
        qsort (files->strs, files->num, sizeof (FcChar8 *),
               (int (*)(const void *, const void *)) FcSortCmpStr);
        for (i = 0; ret && i < files->num; i++)
-           ret = FcConfigParseAndLoad (config, files->strs[i], complain);
+           ret = _FcConfigParse (config, files->strs[i], complain, load);
     }
 bail3:
     FcStrSetDestroy (files);
@@ -3223,79 +3254,34 @@ pfnGetSystemWindowsDirectory pGetSystemWindowsDirectory = NULL;
 pfnSHGetFolderPathA pSHGetFolderPathA = NULL;
 #endif
 
-FcBool
-FcConfigParseAndLoad (FcConfig     *config,
-                     const FcChar8 *name,
-                     FcBool        complain)
+static FcBool
+FcConfigParseAndLoadFromMemoryInternal (FcConfig       *config,
+                                       const FcChar8  *filename,
+                                       const FcChar8  *buffer,
+                                       FcBool         complain,
+                                       FcBool         load)
 {
 
     XML_Parser     p;
-    FcChar8        *filename, *f;
-    int                    fd;
-    int                    len;
+    size_t         len;
     FcConfigParse   parse;
     FcBool         error = FcTrue;
-    const FcChar8   *sysroot = FcConfigGetSysRoot (config);
+    FcMatchKind            k;
+    FcPtrListIter   liter;
 
 #ifdef ENABLE_LIBXML2
     xmlSAXHandler   sax;
-    char            buf[BUFSIZ];
 #else
-    void           *buf;
+    void            *buf;
+    const FcChar8   *s;
+    size_t         buflen;
 #endif
 
-#ifdef _WIN32
-    if (!pGetSystemWindowsDirectory)
-    {
-        HMODULE hk32 = GetModuleHandleA("kernel32.dll");
-        if (!(pGetSystemWindowsDirectory = (pfnGetSystemWindowsDirectory) GetProcAddress(hk32, "GetSystemWindowsDirectoryA")))
-            pGetSystemWindowsDirectory = (pfnGetSystemWindowsDirectory) GetWindowsDirectory;
-    }
-    if (!pSHGetFolderPathA)
-    {
-        HMODULE hSh = LoadLibraryA("shfolder.dll");
-        /* the check is done later, because there is no provided fallback */
-        if (hSh)
-            pSHGetFolderPathA = (pfnSHGetFolderPathA) GetProcAddress(hSh, "SHGetFolderPathA");
-    }
-#endif
-
-    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))
-    {
-        FcStrFree (filename);
-        return FcTrue;
-    }
-
-    if (!FcStrSetAdd (config->configFiles, filename))
-    {
-       FcStrFree (filename);
-       goto bail0;
-    }
-
-    if (FcFileIsDir (filename))
-    {
-       FcBool ret = FcConfigParseAndLoadDir (config, name, filename, complain);
-       FcStrFree (filename);
-       return ret;
-    }
-
+    if (!buffer)
+       return FcFalse;
+    len = strlen ((const char *) buffer);
     if (FcDebug () & FC_DBG_CONFIG)
-       printf ("\tLoading config file %s\n", filename);
-
-    fd = FcOpen ((char *) filename, O_RDONLY);
-    if (fd == -1) {
-       FcStrFree (filename);
-       goto bail0;
-    }
+       printf ("\t%s config file from %s\n", load ? "Loading" : "Scanning", filename);
 
 #ifdef ENABLE_LIBXML2
     memset(&sax, 0, sizeof(sax));
@@ -3310,12 +3296,11 @@ FcConfigParseAndLoad (FcConfig      *config,
 #else
     p = XML_ParserCreate ("UTF-8");
 #endif
-    FcStrFree (filename);
 
     if (!p)
        goto bail1;
 
-    if (!FcConfigParseInit (&parse, name, config, p))
+    if (!FcConfigParseInit (&parse, filename, config, p, load))
        goto bail2;
 
 #ifndef ENABLE_LIBXML2
@@ -3328,52 +3313,196 @@ FcConfigParseAndLoad (FcConfig     *config,
        
 #endif /* ENABLE_LIBXML2 */
 
-    do {
 #ifndef ENABLE_LIBXML2
+    s = buffer;
+    do {
        buf = XML_GetBuffer (p, BUFSIZ);
        if (!buf)
        {
            FcConfigMessage (&parse, FcSevereError, "cannot get parse buffer");
            goto bail3;
        }
-#endif
-       len = read (fd, buf, BUFSIZ);
-       if (len < 0)
+       if (len > BUFSIZ)
        {
-           FcConfigMessage (&parse, FcSevereError, "failed reading config file");
-           goto bail3;
+           buflen = BUFSIZ;
+           len -= BUFSIZ;
+       }
+       else
+       {
+           buflen = len;
+           len = 0;
        }
+       memcpy (buf, s, buflen);
+       s = s + buflen;
+#endif
 
 #ifdef ENABLE_LIBXML2
-       if (xmlParseChunk (p, buf, len, len == 0))
+       if (xmlParseChunk (p, (const char *)buffer, len, len == 0))
 #else
-       if (!XML_ParseBuffer (p, len, len == 0))
+       if (!XML_ParseBuffer (p, buflen, buflen == 0))
 #endif
        {
            FcConfigMessage (&parse, FcSevereError, "%s",
                           XML_ErrorString (XML_GetErrorCode (p)));
            goto bail3;
        }
-    } while (len != 0);
+#ifndef ENABLE_LIBXML2
+    } while (buflen != 0);
+#endif
     error = parse.error;
+    if (load)
+    {
+       for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+       {
+           FcPtrListIter iter;
+
+           FcPtrListIterInit (parse.ruleset->subst[k], &iter);
+           if (FcPtrListIterIsValid (parse.ruleset->subst[k], &iter))
+           {
+               FcPtrListIterInitAtLast (parse.config->subst[k], &iter);
+               FcRuleSetReference (parse.ruleset);
+               FcPtrListIterAdd (parse.config->subst[k], &iter, parse.ruleset);
+           }
+       }
+    }
+    FcPtrListIterInitAtLast (parse.config->rulesetList, &liter);
+    FcRuleSetReference (parse.ruleset);
+    FcPtrListIterAdd (parse.config->rulesetList, &liter, parse.ruleset);
 bail3:
     FcConfigCleanup (&parse);
 bail2:
     XML_ParserFree (p);
 bail1:
+    if (error && complain)
+    {
+       FcConfigMessage (0, FcSevereError, "Cannot %s config file from %s", load ? "load" : "scan", filename);
+       return FcFalse;
+    }
+    if (FcDebug () & FC_DBG_CONFIG)
+       printf ("\t%s config file from %s done\n", load ? "Loading" : "Scanning", filename);
+    return FcTrue;
+}
+
+static FcBool
+_FcConfigParse (FcConfig       *config,
+               const FcChar8   *name,
+               FcBool          complain,
+               FcBool          load)
+{
+    FcChar8        *filename = NULL, *realfilename = NULL;
+    int                    fd;
+    int                    len;
+    FcStrBuf       sbuf;
+    char            buf[BUFSIZ];
+    FcBool         ret = FcFalse;
+
+#ifdef _WIN32
+    if (!pGetSystemWindowsDirectory)
+    {
+        HMODULE hk32 = GetModuleHandleA("kernel32.dll");
+        if (!(pGetSystemWindowsDirectory = (pfnGetSystemWindowsDirectory) GetProcAddress(hk32, "GetSystemWindowsDirectoryA")))
+            pGetSystemWindowsDirectory = (pfnGetSystemWindowsDirectory) GetWindowsDirectory;
+    }
+    if (!pSHGetFolderPathA)
+    {
+        HMODULE hSh = LoadLibraryA("shfolder.dll");
+        /* the check is done later, because there is no provided fallback */
+        if (hSh)
+            pSHGetFolderPathA = (pfnSHGetFolderPathA) GetProcAddress(hSh, "SHGetFolderPathA");
+    }
+#endif
+
+    filename = FcConfigFilename (name);
+    if (!filename)
+       goto bail0;
+    realfilename = FcConfigRealFilename (config, name);
+    if (!realfilename)
+       goto bail0;
+    if (FcStrSetMember (config->availConfigFiles, realfilename))
+    {
+        FcStrFree (filename);
+       FcStrFree (realfilename);
+        return FcTrue;
+    }
+
+    if (load)
+    {
+       if (!FcStrSetAdd (config->configFiles, filename))
+           goto bail0;
+    }
+    if (!FcStrSetAdd (config->availConfigFiles, realfilename))
+       goto bail0;
+
+    if (FcFileIsDir (realfilename))
+    {
+       ret = FcConfigParseAndLoadDir (config, name, realfilename, complain, load);
+       FcStrFree (filename);
+       FcStrFree (realfilename);
+       return ret;
+    }
+
+    FcStrBufInit (&sbuf, NULL, 0);
+
+    fd = FcOpen ((char *) filename, O_RDONLY);
+    if (fd == -1)
+       goto bail1;
+
+    do {
+       len = read (fd, buf, BUFSIZ);
+       if (len < 0)
+       {
+           FcConfigMessage (0, FcSevereError, "failed reading config file");
+           close (fd);
+           goto bail1;
+       }
+       FcStrBufData (&sbuf, (const FcChar8 *)buf, len);
+    } while (len != 0);
     close (fd);
-    fd = -1;
+
+    ret = FcConfigParseAndLoadFromMemoryInternal (config, filename, FcStrBufDoneStatic (&sbuf), complain, load);
+    complain = FcFalse; /* no need to reclaim here */
+bail1:
+    FcStrBufDestroy (&sbuf);
 bail0:
-    if (error && complain)
+    if (filename)
+       FcStrFree (filename);
+    if (realfilename)
+       FcStrFree (realfilename);
+    if (!ret && complain)
     {
        if (name)
-           FcConfigMessage (0, FcSevereError, "Cannot load config file \"%s\"", name);
+           FcConfigMessage (0, FcSevereError, "Cannot %s config file \"%s\"", load ? "load" : "scan", name);
        else
-           FcConfigMessage (0, FcSevereError, "Cannot load default config file");
+           FcConfigMessage (0, FcSevereError, "Cannot %s default config file", load ? "load" : "scan");
        return FcFalse;
     }
     return FcTrue;
 }
+
+FcBool
+FcConfigParseOnly (FcConfig            *config,
+                  const FcChar8        *name,
+                  FcBool               complain)
+{
+    return _FcConfigParse (config, name, complain, FcFalse);
+}
+
+FcBool
+FcConfigParseAndLoad (FcConfig     *config,
+                     const FcChar8 *name,
+                     FcBool        complain)
+{
+    return _FcConfigParse (config, name, complain, FcTrue);
+}
+
+FcBool
+FcConfigParseAndLoadFromMemory (FcConfig       *config,
+                               const FcChar8  *buffer,
+                               FcBool         complain)
+{
+    return FcConfigParseAndLoadFromMemoryInternal (config, (const FcChar8 *)"memory", buffer, complain, FcTrue);
+}
+
 #define __fcxml__
 #include "fcaliastail.h"
 #undef __fcxml__
index e0fd171..650ee28 100644 (file)
@@ -69,14 +69,14 @@ FT_BEGIN_HEADER
 
 #define  GET_Byte()      (*stream->cursor++)
 #define  GET_Short()     (stream->cursor += 2, (FT_Short)( \
-                               (*(((FT_Byte*)stream->cursor)-2) << 8) | \
-                                *(((FT_Byte*)stream->cursor)-1) \
+                               ((FT_ULong)*(((FT_Byte*)stream->cursor)-2) << 8) | \
+                                (FT_ULong)*(((FT_Byte*)stream->cursor)-1) \
                         ))
 #define  GET_Long()      (stream->cursor += 4, (FT_Long)( \
-                               (*(((FT_Byte*)stream->cursor)-4) << 24) | \
-                               (*(((FT_Byte*)stream->cursor)-3) << 16) | \
-                               (*(((FT_Byte*)stream->cursor)-2) << 8) | \
-                                *(((FT_Byte*)stream->cursor)-1) \
+                               ((FT_ULong)*(((FT_Byte*)stream->cursor)-4) << 24) | \
+                               ((FT_ULong)*(((FT_Byte*)stream->cursor)-3) << 16) | \
+                               ((FT_ULong)*(((FT_Byte*)stream->cursor)-2) << 8) | \
+                                (FT_ULong)*(((FT_Byte*)stream->cursor)-1) \
                         ))
 
 #define  GET_Char()      ((FT_Char)GET_Byte())
index e2f31c6..21de72e 100755 (executable)
@@ -14,7 +14,7 @@ while read name; do
                ;;
        *)
                alias="IA__$name"
-               hattr='__attribute((visibility("hidden")))'
+               hattr='FC_ATTRIBUTE_VISIBILITY_HIDDEN'
                echo "extern __typeof ($name) $alias $hattr;" >> $HEAD
                echo "#define $name $alias" >> $HEAD
                ifdef=`grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/__\1__/'`
@@ -28,7 +28,7 @@ while read name; do
                        last=$ifdef
                fi
                echo "# undef $name" >> $TAIL
-               cattr='__attribute((alias("'$alias'"), visibility("default")))'
+               cattr='__attribute((alias("'$alias'"))) FC_ATTRIBUTE_VISIBILITY_EXPORT'
                echo "extern __typeof ($name) $name $cattr;" >> $TAIL
                ;;
        esac
index 8e575b0..0218a01 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # test-driver - basic testsuite driver script.
 
-scriptversion=2013-07-13.22; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2017 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
@@ -143,6 +143,6 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file
 # 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-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 72923fa..75e326c 100644 (file)
@@ -8,12 +8,21 @@ AM_TESTS_ENVIRONMENT= \
        EXEEXT=${EXEEXT}; export EXEEXT; \
        $(NULL)
 
-SH_LOG_COMPILER = sh
+BUILT_SOURCES = out.expected
 
+SH_LOG_COMPILER = sh
 TESTS=run-test.sh
 
 TESTDATA=4x6.pcf 8x16.pcf out.expected fonts.conf.in
 
+if FREETYPE_PCF_LONG_FAMILY_NAMES
+$(srcdir)/out.expected: $(srcdir)/out.expected-long-family-names
+       cp $(srcdir)/out.expected-long-family-names $(srcdir)/out.expected
+else
+$(srcdir)/out.expected: $(srcdir)/out.expected-no-long-family-names
+       cp $(srcdir)/out.expected-no-long-family-names $(srcdir)/out.expected
+endif
+
 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
 
 check_PROGRAMS =
@@ -31,6 +40,10 @@ test_bz89617_CFLAGS = \
 test_bz89617_LDADD = $(top_builddir)/src/libfontconfig.la
 TESTS += test-bz89617
 
+check_PROGRAMS += test-bz131804
+test_bz131804_LDADD = $(top_builddir)/src/libfontconfig.la
+TESTS += test-bz131804
+
 noinst_PROGRAMS = $(check_PROGRAMS)
 
 if !OS_WIN32
@@ -42,8 +55,10 @@ check_PROGRAMS += test-bz96676
 test_bz96676_LDADD = $(top_builddir)/src/libfontconfig.la
 TESTS += test-bz96676
 
-EXTRA_DIST=$(check_SCRIPTS) $(TESTDATA)
+EXTRA_DIST=run-test.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names
+
+CLEANFILES=out fonts.conf
 
-CLEANFILES=
+MAINTAINERCLEANFILES=out.expected
 
 -include $(top_srcdir)/git.mk
index 8436375..7ed1c78 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -88,9 +88,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = run-test.sh test-bz89617$(EXEEXT) test-bz96676$(EXEEXT)
-check_PROGRAMS = $(am__EXEEXT_1) test-bz89617$(EXEEXT) $(am__EXEEXT_2) \
+TESTS = run-test.sh test-bz89617$(EXEEXT) test-bz131804$(EXEEXT) \
        test-bz96676$(EXEEXT)
+check_PROGRAMS = $(am__EXEEXT_1) test-bz89617$(EXEEXT) \
+       test-bz131804$(EXEEXT) $(am__EXEEXT_2) test-bz96676$(EXEEXT)
 @HAVE_PTHREAD_TRUE@am__append_1 = test-pthread
 @OS_WIN32_FALSE@am__append_2 = test-migration
 subdir = test
@@ -98,10 +99,15 @@ 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/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.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
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -112,13 +118,16 @@ 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_bz89617_SOURCES = test-bz89617.c
-test_bz89617_OBJECTS = test_bz89617-test-bz89617.$(OBJEXT)
-test_bz89617_DEPENDENCIES = $(top_builddir)/src/libfontconfig.la
+test_bz131804_SOURCES = test-bz131804.c
+test_bz131804_OBJECTS = test-bz131804.$(OBJEXT)
+test_bz131804_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 = 
+test_bz89617_SOURCES = test-bz89617.c
+test_bz89617_OBJECTS = test_bz89617-test-bz89617.$(OBJEXT)
+test_bz89617_DEPENDENCIES = $(top_builddir)/src/libfontconfig.la
 test_bz89617_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_bz89617_CFLAGS) \
        $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -167,10 +176,10 @@ 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-bz89617.c test-bz96676.c test-migration.c \
-       test-pthread.c
-DIST_SOURCES = test-bz89617.c test-bz96676.c test-migration.c \
-       test-pthread.c
+SOURCES = test-bz131804.c test-bz89617.c test-bz96676.c \
+       test-migration.c test-pthread.c
+DIST_SOURCES = test-bz131804.c test-bz89617.c test-bz96676.c \
+       test-migration.c test-pthread.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -440,7 +449,11 @@ FC_FONTPATH = @FC_FONTPATH@
 FGREP = @FGREP@
 FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
 FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
 GPERF = @GPERF@
 GREP = @GREP@
 HASDOCBOOK = @HASDOCBOOK@
@@ -452,8 +465,12 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -465,11 +482,16 @@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
 LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
 NM = @NM@
 NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
@@ -489,15 +511,13 @@ PKGCONFIG_REQUIRES_PRIVATELY = @PKGCONFIG_REQUIRES_PRIVATELY@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
 PREFERRED_HINTING = @PREFERRED_HINTING@
 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@
@@ -505,8 +525,14 @@ SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 STRIP = @STRIP@
 TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 XMLDIR = @XMLDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -553,13 +579,9 @@ 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@
@@ -578,6 +600,7 @@ AM_TESTS_ENVIRONMENT = \
        EXEEXT=${EXEEXT}; export EXEEXT; \
        $(NULL)
 
+BUILT_SOURCES = out.expected
 SH_LOG_COMPILER = sh
 TESTDATA = 4x6.pcf 8x16.pcf out.expected fonts.conf.in
 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
@@ -586,12 +609,15 @@ test_bz89617_CFLAGS = \
        -DSRCDIR="\"$(abs_srcdir)\""
 
 test_bz89617_LDADD = $(top_builddir)/src/libfontconfig.la
+test_bz131804_LDADD = $(top_builddir)/src/libfontconfig.la
 noinst_PROGRAMS = $(check_PROGRAMS)
 @OS_WIN32_FALSE@test_migration_LDADD = $(top_builddir)/src/libfontconfig.la
 test_bz96676_LDADD = $(top_builddir)/src/libfontconfig.la
-EXTRA_DIST = $(check_SCRIPTS) $(TESTDATA)
-CLEANFILES = 
-all: all-am
+EXTRA_DIST = run-test.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names
+CLEANFILES = out fonts.conf
+MAINTAINERCLEANFILES = out.expected
+all: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .log .o .obj .sh .sh$(EXEEXT) .trs
@@ -643,6 +669,10 @@ clean-noinstPROGRAMS:
        echo " rm -f" $$list; \
        rm -f $$list
 
+test-bz131804$(EXEEXT): $(test_bz131804_OBJECTS) $(test_bz131804_DEPENDENCIES) $(EXTRA_test_bz131804_DEPENDENCIES) 
+       @rm -f test-bz131804$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_bz131804_OBJECTS) $(test_bz131804_LDADD) $(LIBS)
+
 test-bz89617$(EXEEXT): $(test_bz89617_OBJECTS) $(test_bz89617_DEPENDENCIES) $(EXTRA_test_bz89617_DEPENDENCIES) 
        @rm -f test-bz89617$(EXEEXT)
        $(AM_V_CCLD)$(test_bz89617_LINK) $(test_bz89617_OBJECTS) $(test_bz89617_LDADD) $(LIBS)
@@ -665,6 +695,7 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bz131804.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bz96676.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-migration.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread.Po@am__quote@
@@ -911,6 +942,13 @@ test-bz89617.log: test-bz89617$(EXEEXT)
        --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-bz131804.log: test-bz131804$(EXEEXT)
+       @p='test-bz131804$(EXEEXT)'; \
+       b='test-bz131804'; \
+       $(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-bz96676.log: test-bz96676$(EXEEXT)
        @p='test-bz96676$(EXEEXT)'; \
        b='test-bz96676'; \
@@ -966,10 +1004,12 @@ distdir: $(DISTFILES)
 check-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
        $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
+check: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) check-am
 all-am: Makefile $(PROGRAMS)
 installdirs:
-install: install-am
+install: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-am
 install-exec: install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
@@ -1003,6 +1043,8 @@ distclean-generic:
 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-checkPROGRAMS clean-generic clean-libtool \
@@ -1074,7 +1116,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: check-am install-am install-strip
+.MAKE: all check check-am install install-am install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
        clean-checkPROGRAMS clean-generic clean-libtool \
@@ -1094,6 +1136,11 @@ uninstall-am:
 .PRECIOUS: Makefile
 
 
+@FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE@$(srcdir)/out.expected: $(srcdir)/out.expected-long-family-names
+@FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE@  cp $(srcdir)/out.expected-long-family-names $(srcdir)/out.expected
+@FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE@$(srcdir)/out.expected: $(srcdir)/out.expected-no-long-family-names
+@FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE@ cp $(srcdir)/out.expected-no-long-family-names $(srcdir)/out.expected
+
 -include $(top_srcdir)/git.mk
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/test/out.expected-long-family-names b/test/out.expected-long-family-names
new file mode 100644 (file)
index 0000000..d069723
--- /dev/null
@@ -0,0 +1,8 @@
+Misc Fixed:pixelsize=6
+Sony Fixed:pixelsize=16
+=
+Misc Fixed:pixelsize=6
+Sony Fixed:pixelsize=16
+=
+Misc Fixed:pixelsize=6
+Sony Fixed:pixelsize=16
diff --git a/test/out.expected-no-long-family-names b/test/out.expected-no-long-family-names
new file mode 100644 (file)
index 0000000..39634c5
--- /dev/null
@@ -0,0 +1,8 @@
+Fixed:pixelsize=16
+Fixed:pixelsize=6
+=
+Fixed:pixelsize=16
+Fixed:pixelsize=6
+=
+Fixed:pixelsize=16
+Fixed:pixelsize=6
index 97df6e5..436dee1 100644 (file)
@@ -29,12 +29,18 @@ TESTDIR=${srcdir-"$MyPWD"}
 
 FONTDIR="$MyPWD"/fonts
 CACHEDIR="$MyPWD"/cache.dir
+EXPECTED=${EXPECTED-"out.expected"}
 
 ECHO=true
 
 FCLIST=../fc-list/fc-list$EXEEXT
 FCCACHE=../fc-cache/fc-cache$EXEEXT
 
+which bwrap > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+    BWRAP=`which bwrap`
+fi
+
 FONT1=$TESTDIR/4x6.pcf
 FONT2=$TESTDIR/8x16.pcf
 
@@ -45,9 +51,9 @@ check () {
   echo "=" >> out
   $FCLIST - family pixelsize | sort >> out
   tr -d '\015' <out >out.tmp; mv out.tmp out
-  if cmp out $TESTDIR/out.expected > /dev/null ; then : ; else
+  if cmp out $TESTDIR/$EXPECTED > /dev/null ; then : ; else
     echo "*** Test failed: $TEST"
-    echo "*** output is in 'out', expected output in 'out.expected'"
+    echo "*** output is in 'out', expected output in '$EXPECTED'"
     exit 1
   fi
   rm out
@@ -115,4 +121,85 @@ mkdir $FONTDIR/a
 cp $FONT2 $FONTDIR/a
 check
 
+dotest "Re-creating .uuid"
+prep
+cp $FONT1 $FONTDIR
+$FCCACHE $FONTDIR
+cat $FONTDIR/.uuid > out1
+$FCCACHE -f $FONTDIR
+cat $FONTDIR/.uuid > out2
+if cmp out1 out2 > /dev/null ; then : ; else
+  echo "*** Test failed: $TEST"
+  echo "*** .uuid was modified unexpectedly"
+  exit 1
+fi
+$FCCACHE -r $FONTDIR
+cat $FONTDIR/.uuid > out2
+if cmp out1 out2 > /dev/null ; then
+  echo "*** Test failed: $TEST"
+  echo "*** .uuid wasn't modified"
+  exit 1
+fi
+rm out1 out2
+
+dotest "Consistency between .uuid and cache name"
+prep
+cp $FONT1 $FONTDIR
+$FCCACHE $FONTDIR
+cat $FONTDIR/.uuid
+$FCCACHE -r $FONTDIR
+uuid=`cat $FONTDIR/.uuid`
+ls $CACHEDIR/$uuid*
+if [ $? != 0 ]; then
+  echo "*** Test failed: $TEST"
+  echo "No cache for $uuid"
+  ls $CACHEDIR
+  exit 1
+fi
+n=`ls -1 $CACHEDIR/*cache-* | wc -l`
+if [ $n != 1 ]; then
+  echo "*** Test failed: $TEST"
+  echo "Unexpected cache was created"
+  ls $CACHEDIR
+  exit 1
+fi
+
+dotest "Keep mtime of the font directory"
+prep
+cp $FONT1 $FONTDIR
+touch -d @0 $FONTDIR
+stat $FONTDIR | grep Modify > out1
+$FCCACHE $FONTDIR
+stat $FONTDIR | grep Modify > out2
+if cmp out1 out2 > /dev/null ; then : ; else
+    echo "*** Test failed: $TEST"
+    echo "mtime was modified"
+    exit 1
+fi
+
+if [ x"$BWRAP" != "x" ]; then
+dotest "Basic functionality with the bind-mounted cache dir"
+prep
+cp $FONT1 $FONT2 $FONTDIR
+$FCCACHE $FONTDIR
+sleep 1
+ls -l $CACHEDIR > out1
+TESTTMPDIR=`mktemp -d /tmp/fontconfig.XXXXXXXX`
+sed "s!@FONTDIR@!$TESTTMPDIR/fonts!
+s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < $TESTDIR/fonts.conf.in > bind-fonts.conf
+$BWRAP --bind / / --bind $CACHEDIR $TESTTMPDIR/cache.dir --bind $FONTDIR $TESTTMPDIR/fonts --bind .. $TESTTMPDIR/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE $TESTTMPDIR/build/test/bind-fonts.conf $TESTTMPDIR/build/fc-match/fc-match$EXEEXT -f "%{file}\n" ":foundry=Misc" > xxx
+ls -l $CACHEDIR > out2
+if cmp out1 out2 > /dev/null ; then : ; else
+  echo "*** Test failed: $TEST"
+  echo "cache was updated."
+  exit 1
+fi
+if [ x`cat xxx` != "x$TESTTMPDIR/fonts/4x6.pcf" ]; then
+  echo "*** Test failed: $TEST"
+  echo "file property doesn't points to the new place: $TESTTMPDIR/fonts/4x6.pcf"
+  exit 1
+fi
+rm -rf $TESTTMPDIR out1 out2 xxx bind-fonts.conf
+fi
+
 rm -rf $FONTDIR $CACHEFILE $CACHEDIR $FONTCONFIG_FILE out
diff --git a/test/test-bz131804.c b/test/test-bz131804.c
new file mode 100644 (file)
index 0000000..99f87e9
--- /dev/null
@@ -0,0 +1,135 @@
+/*
+ * fontconfig/test/test-bz89617.c
+ *
+ * Copyright © 2000 Keith Packard
+ * Copyright © 2015 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 <stdio.h>
+#include <fontconfig/fontconfig.h>
+
+FcLangResult
+comp(const FcChar8 *l1, const FcChar8 *l2)
+{
+    FcLangSet *ls1, *ls2;
+    FcLangResult result;
+
+    ls1 = FcLangSetCreate();
+    ls2 = FcLangSetCreate();
+    FcLangSetAdd(ls1, l1);
+    FcLangSetAdd(ls2, l2);
+
+    result = FcLangSetCompare(ls1, ls2);
+    FcLangSetDestroy(ls1);
+    FcLangSetDestroy(ls2);
+
+    return result;
+}
+
+int
+main(void)
+{
+    int i = 1;
+
+    /* 1 */
+    if (comp((const FcChar8 *)"ku-am", (const FcChar8 *)"ku-iq") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 2 */
+    if (comp((const FcChar8 *)"ku-am", (const FcChar8 *)"ku-ir") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 3 */
+    if (comp((const FcChar8 *)"ku-am", (const FcChar8 *)"ku-tr") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 4 */
+    if (comp((const FcChar8 *)"ku-iq", (const FcChar8 *)"ku-ir") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 5 */
+    if (comp((const FcChar8 *)"ku-iq", (const FcChar8 *)"ku-tr") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 6 */
+    if (comp((const FcChar8 *)"ku-ir", (const FcChar8 *)"ku-tr") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 7 */
+    if (comp((const FcChar8 *)"ps-af", (const FcChar8 *)"ps-pk") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 8 */
+    if (comp((const FcChar8 *)"ti-er", (const FcChar8 *)"ti-et") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 9 */
+    if (comp((const FcChar8 *)"zh-cn", (const FcChar8 *)"zh-hk") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 10 */
+    if (comp((const FcChar8 *)"zh-cn", (const FcChar8 *)"zh-mo") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 11 */
+    if (comp((const FcChar8 *)"zh-cn", (const FcChar8 *)"zh-sg") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 12 */
+    if (comp((const FcChar8 *)"zh-cn", (const FcChar8 *)"zh-tw") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 13 */
+    if (comp((const FcChar8 *)"zh-hk", (const FcChar8 *)"zh-mo") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 14 */
+    if (comp((const FcChar8 *)"zh-hk", (const FcChar8 *)"zh-sg") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 15 */
+    if (comp((const FcChar8 *)"zh-hk", (const FcChar8 *)"zh-tw") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 16 */
+    if (comp((const FcChar8 *)"zh-mo", (const FcChar8 *)"zh-sg") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 17 */
+    if (comp((const FcChar8 *)"zh-mo", (const FcChar8 *)"zh-tw") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 18 */
+    if (comp((const FcChar8 *)"zh-sg", (const FcChar8 *)"zh-tw") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 19 */
+    if (comp((const FcChar8 *)"mn-mn", (const FcChar8 *)"mn-cn") != FcLangDifferentTerritory)
+       return i;
+    i++;
+    /* 20 */
+    if (comp((const FcChar8 *)"pap-an", (const FcChar8 *)"pap-aw") != FcLangDifferentTerritory)
+       return i;
+    i++;
+
+    return 0;
+}
+
+
index bcd805d..b7d96dc 100644 (file)
@@ -22,6 +22,9 @@
  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  * PERFORMANCE OF THIS SOFTWARE.
  */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>