#define _FCFUNCPROTOBEGIN
#define _FCFUNCPROTOEND
#define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
#define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
#define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132))
#define FcIsLower(c) ((0141 <= (c) && (c) <= 0172))
#define FC_CHARSET_DONE ((FcChar32) -1)
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
#define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, (m)->xy = (m)->yx = 0)
#define FC_CHARSET_MAP_SIZE (256/32)
#define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c))
#define FC_HINT_NONE 0
#define FC_PROPORTIONAL 0
#define FC_RGBA_UNKNOWN 0
#define FC_SLANT_ROMAN 0
#define FC_WEIGHT_THIN 0
#define FcFalse 0
#define FC_CACHE_VERSION "1"
#define FC_HINT_SLIGHT 1
#define FC_RGBA_RGB 1
#define FcTrue 1
#define FC_MONO 100
#define FC_SLANT_ITALIC 100
#define FC_WEIGHT_MEDIUM 100
#define FC_WIDTH_NORMAL 100
#define FC_CHARCELL 110
#define FC_SLANT_OBLIQUE 110
#define FC_WIDTH_SEMIEXPANDED 113
#define FC_WIDTH_EXPANDED 125
#define FC_WIDTH_EXTRAEXPANDED 150
#define FC_WEIGHT_DEMIBOLD 180
#define FC_HINT_MEDIUM 2
#define FC_MAJOR 2
#define FC_REVISION 2
#define FC_RGBA_BGR 2
#define FC_WEIGHT_BOLD 200
#define FC_WIDTH_ULTRAEXPANDED 200
#define FC_WEIGHT_EXTRABOLD 205
#define FC_WEIGHT_BLACK 210
#define FC_HINT_FULL 3
#define FC_MINOR 3
#define FC_RGBA_VRGB 3
#define FC_RGBA_VBGR 4
#define FC_WEIGHT_EXTRALIGHT 40
#define FC_RGBA_NONE 5
#define FC_WEIGHT_LIGHT 50
#define FC_WIDTH_ULTRACONDENSED 50
#define FC_UTF8_MAX_LEN 6
#define FC_WIDTH_EXTRACONDENSED 63
#define FC_WEIGHT_BOOK 75
#define FC_WIDTH_CONDENSED 75
#define FC_WEIGHT_REGULAR 80
#define FC_WIDTH_SEMICONDENSED 87
#define FC_DUAL 90
#define FC_ANTIALIAS "antialias"
#define FC_ASPECT "aspect"
#define FC_AUTOHINT "autohint"
#define FC_CAPABILITY "capability"
#define FC_CHAR_HEIGHT "charheight"
#define FC_CHARSET "charset"
#define FC_CHAR_WIDTH "charwidth"
#define FC_DPI "dpi"
#define FC_EMBOLDEN "embolden"
#define FC_FAMILY "family"
#define FC_FAMILYLANG "familylang"
#define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK
#define FC_WEIGHT_SEMIBOLD FC_WEIGHT_DEMIBOLD
#define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD
#define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT
#define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR
#define FC_FILE "file"
#define FC_FONTFORMAT "fontformat"
#define FC_FONTVERSION "fontversion"
#define FC_FOUNDRY "foundry"
#define FC_FT_FACE "ftface"
#define FC_FULLNAME "fullname"
#define FC_FULLNAMELANG "fullnamelang"
#define FC_GLOBAL_ADVANCE "globaladvance"
#define FC_HINTING "hinting"
#define FC_HINT_STYLE "hintstyle"
#define FC_INDEX "index"
#define FC_LANG "lang"
#define FC_MATRIX "matrix"
#define FC_MINSPACE "minspace"
#define FC_OUTLINE "outline"
#define FC_PIXEL_SIZE "pixelsize"
#define FC_RASTERIZER "rasterizer"
#define FC_RGBA "rgba"
#define FC_SCALABLE "scalable"
#define FC_SCALE "scale"
#define FC_SIZE "size"
#define FC_SLANT "slant"
#define FC_SOURCE "source"
#define FC_SPACING "spacing"
#define FC_STYLE "style"
#define FC_STYLELANG "stylelang"
#define FC_VERTICAL_LAYOUT "verticallayout"
#define FC_WEIGHT "weight"
#define FC_WIDTH "width"
typedef int FcBool;
typedef struct _FcPattern
FcPattern;
typedef enum _FcType {
FcTypeVoid = 0,
FcTypeInteger = 1,
FcTypeDouble = 2,
FcTypeString = 3,
FcTypeBool = 4,
FcTypeMatrix = 5,
FcTypeCharSet = 6,
FcTypeFTFace = 7,
FcTypeLangSet = 8
} FcType;
typedef unsigned char FcChar8;
typedef struct _FcMatrix {
double xx;
double xy;
double yx;
double yy;
} FcMatrix;
typedef struct _FcCharSet
FcCharSet;
typedef struct _FcLangSet
FcLangSet;
typedef struct _FcValue {
FcType type;
union {
const FcChar8 *s;
int i;
FcBool b;
double d;
const FcMatrix *m;
const FcCharSet *c;
void *f;
const FcPattern *p;
const FcLangSet *l;
} u;
} FcValue;
typedef struct _FcStrList
FcStrList;
typedef struct _FcConfig
FcConfig;
typedef struct _FcStrSet
FcStrSet;
typedef unsigned int FcChar32;
typedef enum _FcMatchKind {
FcMatchPattern = 0,
FcMatchFont = 1
} FcMatchKind;
typedef struct _FcObjectSet {
int nobject;
int sobject;
const char **objects;
} FcObjectSet;
typedef enum {
FcEndianBig = 0,
FcEndianLittle = 1
} FcEndian;
typedef struct _FcAtomic
FcAtomic;
typedef struct _FcConstant {
const FcChar8 *name;
const char *object;
int value;
} FcConstant;
typedef struct _FcFontSet {
int nfont;
int sfont;
FcPattern **fonts;
} FcFontSet;
typedef enum _FcSetName {
FcSetSystem = 0,
FcSetApplication = 1
} FcSetName;
typedef struct _FcBlanks
FcBlanks;
typedef enum _FcResult {
FcResultMatch = 0,
FcResultNoMatch = 1,
FcResultTypeMismatch = 2,
FcResultNoId = 3,
FcResultOutOfMemory = 4
} FcResult;
typedef struct _FcObjectType {
const char *object;
FcType type;
} FcObjectType;
typedef struct _FcGlobalCache
FcGlobalCache;
typedef enum _FcLangResult {
FcLangEqual = 0,
FcLangDifferentCountry = 1,
FcLangDifferentLang = 2
} FcLangResult;
typedef short unsigned int FcChar16;
extern FcBool FcPatternAdd(FcPattern *, const char *, FcValue, FcBool);
extern FcStrList *FcConfigGetConfigFiles(FcConfig *);
extern FcBool FcStrSetAdd(FcStrSet *, const FcChar8 *);
extern FcBool FcCharSetIsSubset(const FcCharSet *, const FcCharSet *);
extern void FcDefaultSubstitute(FcPattern *);
extern FcChar32 FcCharSetIntersectCount(const FcCharSet *,
const FcCharSet *);
extern FcBool FcConfigUptoDate(FcConfig *);
extern void FcPatternDestroy(FcPattern *);
extern FcLangSet *FcLangSetCopy(const FcLangSet *);
extern FcBool FcPatternAddCharSet(FcPattern *, const char *,
const FcCharSet *);
extern FcBool FcPatternAddLangSet(FcPattern *, const char *,
const FcLangSet *);
extern void FcConfigAppFontClear(FcConfig *);
extern int FcConfigGetRescanInverval(FcConfig *);
extern FcBool FcConfigSubstitute(FcConfig *, FcPattern *, FcMatchKind);
extern FcObjectSet *FcObjectSetBuild(const char *, ...);
extern FcBool FcObjectSetAdd(FcObjectSet *, const char *);
extern FcChar32 FcCharSetSubtractCount(const FcCharSet *,
const FcCharSet *);
extern FcBool FcUtf16Len(const FcChar8 *, FcEndian, int, int *, int *);
extern FcBool FcConfigBuildFonts(FcConfig *);
extern FcChar8 *FcAtomicOrigFile(FcAtomic *);
extern FcBool FcNameUnregisterConstants(const FcConstant *, int);
extern FcBool FcConfigSetRescanInverval(FcConfig *, int);
extern FcBool FcAtomicLock(FcAtomic *);
extern FcPattern *FcPatternBuild(FcPattern *, ...);
extern FcFontSet *FcConfigGetFonts(FcConfig *, FcSetName);
extern void FcStrListDone(FcStrList *);
extern FcBool FcLangSetEqual(const FcLangSet *, const FcLangSet *);
extern const FcConstant *FcNameGetConstant(FcChar8 *);
extern void FcMatrixShear(FcMatrix *, double, double);
extern FcMatrix *FcMatrixCopy(const FcMatrix *);
extern FcStrList *FcConfigGetConfigDirs(FcConfig *);
extern FcBool FcStrSetDel(FcStrSet *, const FcChar8 *);
extern FcBool FcConfigEnableHome(FcBool);
extern FcStrSet *FcStrSetCreate(void);
extern int FcStrCmpIgnoreCase(const FcChar8 *, const FcChar8 *);
extern FcCharSet *FcCharSetUnion(const FcCharSet *, const FcCharSet *);
extern FcObjectSet *FcObjectSetCreate(void);
extern FcBlanks *FcBlanksCreate(void);
extern void FcBlanksDestroy(FcBlanks *);
extern FcBool FcNameConstant(FcChar8 *, int *);
extern void FcMatrixRotate(FcMatrix *, double, double);
extern FcPattern *FcNameParse(const FcChar8 *);
extern void FcMatrixMultiply(FcMatrix *, const FcMatrix *,
const FcMatrix *);
extern FcResult FcPatternGetLangSet(const FcPattern *, const char *, int,
FcLangSet * *);
extern FcValue FcValueSave(FcValue);
extern void FcAtomicDestroy(FcAtomic *);
extern FcBool FcPatternEqual(const FcPattern *, const FcPattern *);
extern FcBool FcNameRegisterObjectTypes(const FcObjectType *, int);
extern FcChar32 FcCharSetNextPage(const FcCharSet *, FcChar32 *,
FcChar32 *);
extern FcBool FcConfigSetCurrent(FcConfig *);
extern FcPattern *FcFreeTypeQuery(const FcChar8 *, int, FcBlanks *, int *);
extern FcChar8 *FcStrListNext(FcStrList *);
extern FcBool FcNameRegisterConstants(const FcConstant *, int);
extern void FcValueDestroy(FcValue);
extern FcBool FcFileScan(FcFontSet *, FcStrSet *, FcGlobalCache *,
FcBlanks *, const FcChar8 *, FcBool);
extern FcFontSet *FcFontSetSort(FcConfig *, FcFontSet * *, int,
FcPattern *, FcBool, FcCharSet * *,
FcResult *);
extern FcResult FcPatternGetString(const FcPattern *, const char *, int,
FcChar8 * *);
extern FcChar8 *FcStrCopy(const FcChar8 *);
extern FcBool FcPatternEqualSubset(const FcPattern *, const FcPattern *,
const FcObjectSet *);
extern FcConfig *FcInitLoadConfig(void);
extern FcStrList *FcStrListCreate(FcStrSet *);
extern FcResult FcPatternGetCharSet(const FcPattern *, const char *, int,
FcCharSet * *);
extern FcPattern *FcPatternCreate(void);
extern FcChar32 FcPatternHash(const FcPattern *);
extern FcChar8 *FcConfigFilename(const FcChar8 *);
extern FcBool FcPatternDel(FcPattern *, const char *);
extern FcCharSet *FcCharSetCopy(FcCharSet *);
extern FcBool FcInitReinitialize(void);
extern FcFontSet *FcFontList(FcConfig *, FcPattern *, FcObjectSet *);
extern int FcUcs4ToUtf8(FcChar32, FcChar8 *);
extern FcBool FcAtomicReplaceOrig(FcAtomic *);
extern FcObjectSet *FcObjectSetVaBuild(const char *, va_list);
extern FcBool FcInitBringUptoDate(void);
extern FcResult FcPatternGetDouble(const FcPattern *, const char *, int,
double *);
extern int FcStrCmp(const FcChar8 *, const FcChar8 *);
extern FcChar8 *FcConfigGetCache(FcConfig *);
extern FcAtomic *FcAtomicCreate(const FcChar8 *);
extern FcPattern *FcPatternDuplicate(const FcPattern *);
extern FcChar8 *FcStrDirname(const FcChar8 *);
extern FcBool FcConfigSubstituteWithPat(FcConfig *, FcPattern *,
FcPattern *, FcMatchKind);
extern FcBool FcDirScan(FcFontSet *, FcStrSet *, FcGlobalCache *,
FcBlanks *, const FcChar8 *, FcBool);
extern FcChar8 *FcStrCopyFilename(const FcChar8 *);
extern FcBool FcLangSetAdd(FcLangSet *, const FcChar8 *);
extern FcResult FcPatternGetInteger(const FcPattern *, const char *, int,
int *);
extern FcBool FcConfigParseAndLoad(FcConfig *, const FcChar8 *, FcBool);
extern FcBool FcStrSetEqual(FcStrSet *, FcStrSet *);
extern FcBool FcConfigAppFontAddFile(FcConfig *, const FcChar8 *);
extern FcPattern *FcFontSetMatch(FcConfig *, FcFontSet * *, int,
FcPattern *, FcResult *);
extern FcBool FcStrSetAddFilename(FcStrSet *, const FcChar8 *);
extern FcChar8 *FcNameUnparse(FcPattern *);
extern FcChar32 FcCharSetFirstPage(const FcCharSet *, FcChar32 *,
FcChar32 *);
extern void FcFontSetPrint(const FcFontSet *);
extern FcPattern *FcPatternVaBuild(FcPattern *, va_list);
extern FcChar8 *FcConfigHome(void);
extern FcBool FcBlanksAdd(FcBlanks *, FcChar32);
extern FcBool FcBlanksIsMember(FcBlanks *, FcChar32);
extern FcBool FcNameUnregisterObjectTypes(const FcObjectType *, int);
extern FcLangResult FcLangSetHasLang(const FcLangSet *, const FcChar8 *);
extern FcChar8 *FcStrBasename(const FcChar8 *);
extern FcPattern *FcFontMatch(FcConfig *, FcPattern *, FcResult *);
extern void FcValuePrint(const FcValue);
extern FcLangSet *FcLangSetCreate(void);
extern FcStrList *FcConfigGetFontDirs(FcConfig *);
extern FcBool FcCharSetAddChar(FcCharSet *, FcChar32);
extern FcCharSet *FcCharSetIntersect(const FcCharSet *, const FcCharSet *);
extern void FcMatrixScale(FcMatrix *, double, double);
extern void FcPatternReference(FcPattern *);
extern FcBool FcCharSetEqual(const FcCharSet *, const FcCharSet *);
extern FcBool FcFontSetAdd(FcFontSet *, FcPattern *);
extern FcChar8 *FcAtomicNewFile(FcAtomic *);
extern FcFontSet *FcFontSetList(FcConfig *, FcFontSet * *, int,
FcPattern *, FcObjectSet *);
extern void FcFontSetSortDestroy(FcFontSet *);
extern FcBool FcPatternAddMatrix(FcPattern *, const char *,
const FcMatrix *);
extern FcChar32 FcCharSetCount(const FcCharSet *);
extern FcBool FcPatternAddString(FcPattern *, const char *,
const FcChar8 *);
extern void FcStrSetDestroy(FcStrSet *);
extern FcConfig *FcConfigGetCurrent(void);
extern FcBool FcPatternAddInteger(FcPattern *, const char *, int);
extern FcResult FcPatternGetMatrix(const FcPattern *, const char *, int,
FcMatrix * *);
extern int FcGetVersion(void);
extern FcBool FcCharSetHasChar(const FcCharSet *, FcChar32);
extern FcBool FcPatternAddBool(FcPattern *, const char *, FcBool);
extern const FcObjectType *FcNameGetObjectType(const char *);
extern FcBool FcDirCacheValid(const FcChar8 *);
extern FcBool FcUtf8Len(const FcChar8 *, int, int *, int *);
extern FcConfig *FcInitLoadConfigAndFonts(void);
extern FcResult FcPatternGetBool(const FcPattern *, const char *, int,
FcBool *);
extern void FcFontSetDestroy(FcFontSet *);
extern FcBool FcConfigAppFontAddDir(FcConfig *, const FcChar8 *);
extern int FcUtf16ToUcs4(const FcChar8 *, FcEndian, FcChar32 *, int);
extern int FcUtf8ToUcs4(const FcChar8 *, FcChar32 *, int);
extern FcFontSet *FcFontSetCreate(void);
extern FcBool FcDirSave(FcFontSet *, FcStrSet *, const FcChar8 *);
extern void FcConfigDestroy(FcConfig *);
extern FcBool FcPatternAddDouble(FcPattern *, const char *, double);
extern FcFontSet *FcFontSort(FcConfig *, FcPattern *, FcBool,
FcCharSet * *, FcResult *);
extern FcPattern *FcFontRenderPrepare(FcConfig *, FcPattern *,
FcPattern *);
extern void FcLangSetDestroy(FcLangSet *);
extern void FcCharSetDestroy(FcCharSet *);
extern FcBool FcValueEqual(FcValue, FcValue);
extern FcBool FcPatternAddWeak(FcPattern *, const char *, FcValue, FcBool);
extern FcBool FcLangSetContains(const FcLangSet *, const FcLangSet *);
extern void FcObjectSetDestroy(FcObjectSet *);
extern FcCharSet *FcCharSetCreate(void);
extern FcLangResult FcLangSetCompare(const FcLangSet *, const FcLangSet *);
extern FcBool FcMatrixEqual(const FcMatrix *, const FcMatrix *);
extern void FcAtomicUnlock(FcAtomic *);
extern FcBool FcStrSetMember(FcStrSet *, const FcChar8 *);
extern FcChar32 FcLangSetHash(const FcLangSet *);
extern void FcAtomicDeleteNew(FcAtomic *);
extern FcCharSet *FcCharSetSubtract(const FcCharSet *, const FcCharSet *);
extern FcBool FcInit(void);
extern FcResult FcPatternGet(const FcPattern *, const char *, int,
FcValue *);
extern void FcPatternPrint(const FcPattern *);
extern FcBlanks *FcConfigGetBlanks(FcConfig *); |