X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=fontconfig%2Ffontconfig.h;h=410da1ec4c842e23a5a9fdc362336b59183820cc;hb=7ce196733129b0e664c1bdc20f973f15167292f7;hp=8894219fd0778fdeba1bacd577db1d5a81b42007;hpb=27143fc9a2ac9b7dc87ab874251df356611b25e5;p=fontconfig.git diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h index 8894219..410da1e 100644 --- a/fontconfig/fontconfig.h +++ b/fontconfig/fontconfig.h @@ -1,7 +1,7 @@ /* * $RCSId: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.30 2002/09/26 00:17:27 keithp Exp $ * - * Copyright © 2001 Keith Packard + * Copyright © 2001 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 @@ -27,6 +27,12 @@ #include +#if defined(__GNUC__) && (__GNUC__ >= 4) +#define FC_ATTRIBUTE_SENTINEL(x) __attribute__((__sentinel__(0))) +#else +#define FC_ATTRIBUTE_SENTINEL(x) +#endif + typedef unsigned char FcChar8; typedef unsigned short FcChar16; typedef unsigned int FcChar32; @@ -39,8 +45,8 @@ typedef int FcBool; */ #define FC_MAJOR 2 -#define FC_MINOR 2 -#define FC_REVISION 92 +#define FC_MINOR 3 +#define FC_REVISION 95 #define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION)) @@ -54,7 +60,7 @@ typedef int FcBool; * it means multiple copies of the font information. */ -#define FC_CACHE_VERSION "1" +#define FC_CACHE_VERSION "2" #define FcTrue 1 #define FcFalse 0 @@ -85,11 +91,20 @@ typedef int FcBool; #define FC_DPI "dpi" /* double */ #define FC_RGBA "rgba" /* Int */ #define FC_MINSPACE "minspace" /* Bool use minimum line spacing */ -#define FC_SOURCE "source" /* String (X11, freetype) */ +#define FC_SOURCE "source" /* String (deprecated) */ #define FC_CHARSET "charset" /* CharSet */ #define FC_LANG "lang" /* String RFC 3066 langs */ #define FC_FONTVERSION "fontversion" /* Int from 'head' table */ - +#define FC_FULLNAME "fullname" /* String */ +#define FC_FAMILYLANG "familylang" /* String RFC 3066 langs */ +#define FC_STYLELANG "stylelang" /* String RFC 3066 langs */ +#define FC_FULLNAMELANG "fullnamelang" /* String RFC 3066 langs */ +#define FC_CAPABILITY "capability" /* String */ +#define FC_FONTFORMAT "fontformat" /* String */ +#define FC_EMBOLDEN "embolden" /* Bool - true if emboldening needed*/ +#define FC_EMBEDDED_BITMAP "embeddedbitmap" /* Bool - true to enable embedded bitmaps */ + +#define FC_CACHE_SUFFIX ".cache-"FC_CACHE_VERSION #define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION #define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION @@ -185,7 +200,8 @@ typedef struct _FcConstant { } FcConstant; typedef enum _FcResult { - FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId + FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId, + FcResultOutOfMemory } FcResult; typedef struct _FcPattern FcPattern; @@ -195,15 +211,15 @@ typedef struct _FcLangSet FcLangSet; typedef struct _FcValue { FcType type; union { - const FcChar8 *s; + const FcChar8 *s; int i; FcBool b; double d; - const FcMatrix *m; - const FcCharSet *c; + const FcMatrix *m; + const FcCharSet *c; void *f; const FcPattern *p; - const FcLangSet *l; + const FcLangSet *l; } u; } FcValue; @@ -257,7 +273,13 @@ typedef struct _FcStrSet FcStrSet; _FCFUNCPROTOBEGIN FcBool -FcDirCacheValid (const FcChar8 *cache_file); +FcDirCacheValid (const FcChar8 *cache_file, FcConfig *config); + +FcBool +FcDirCacheHasCurrentArch (const FcChar8 *dir, FcConfig *config); + +FcBool +FcDirCacheUnlink (const FcChar8 *dir, FcConfig *config); /* fcblanks.c */ FcBlanks * @@ -303,6 +325,10 @@ FcConfigBuildFonts (FcConfig *config); FcStrList * FcConfigGetFontDirs (FcConfig *config); +const FcChar8 * +FcConfigNormalizeFontDir (FcConfig *config, + const FcChar8 *d); + FcStrList * FcConfigGetConfigDirs (FcConfig *config); @@ -514,7 +540,7 @@ FcObjectSet * FcObjectSetVaBuild (const char *first, va_list va); FcObjectSet * -FcObjectSetBuild (const char *first, ...); +FcObjectSetBuild (const char *first, ...) FC_ATTRIBUTE_SENTINEL(0); FcFontSet * FcFontSetList (FcConfig *config, @@ -639,6 +665,9 @@ FcNameParse (const FcChar8 *name); FcChar8 * FcNameUnparse (FcPattern *pat); +FcChar8 * +FcNameUnparseEscaped (FcPattern *pat, FcBool escape); + /* fcpat.c */ FcPattern * FcPatternCreate (void); @@ -682,6 +711,9 @@ FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v); FcBool FcPatternDel (FcPattern *p, const char *object); +FcBool +FcPatternRemove (FcPattern *p, const char *object, int id); + FcBool FcPatternAddInteger (FcPattern *p, const char *object, int i); @@ -728,7 +760,7 @@ FcPattern * FcPatternVaBuild (FcPattern *orig, va_list va); FcPattern * -FcPatternBuild (FcPattern *orig, ...); +FcPatternBuild (FcPattern *orig, ...) FC_ATTRIBUTE_SENTINEL(0); /* fcstr.c */ @@ -738,9 +770,13 @@ FcStrCopy (const FcChar8 *s); FcChar8 * FcStrCopyFilename (const FcChar8 *s); -#define FcIsUpper(c) (('A' <= (c) && (c) <= 'Z')) -#define FcIsLower(c) (('a' <= (c) && (c) <= 'z')) -#define FcToLower(c) (FcIsUpper(c) ? (c) - 'A' + 'a' : (c)) +/* These are ASCII only, suitable only for pattern element names */ +#define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132)) +#define FcIsLower(c) ((0141 <= (c) && (c) <= 0172)) +#define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c)) + +FcChar8 * +FcStrDowncase (const FcChar8 *s); int FcStrCmpIgnoreCase (const FcChar8 *s1, const FcChar8 *s2); @@ -826,4 +862,6 @@ FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain); _FCFUNCPROTOEND +#undef FC_ATTRIBUTE_SENTINEL + #endif /* _FONTCONFIG_H_ */