From 272e57235cd60a2e65ac8258d96a02eb3939b687 Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 25 Mar 2011 10:41:05 +0000 Subject: git update until 25 Mar 2011 xserver fontconfig glproto libXau libXft libXmu libfontenc libxcb mesa mkfontscale pixman randrproto xkeyboard-config xtrans xwininfo updated following packages: xproto-7.0.21 xineramaproto-1.2.1 libXt-1.1.1 libxkbfile-1.0.7 libXpm-3.5.9 libXfont-1.4.3 libXaw-1.0.9 bdftopcf-1.0.3 encodings-1.0.4 fixesproto-5.0 font-adobe-100dpi-1.0.3 font-adobe-75dpi-1.0.3 font-adobe-utopia-100dpi-1.0.4 font-adobe-utopia-75dpi-1.0.4 font-adobe-utopia-type1-1.0.4 font-alias-1.0.3 font-arabic-misc-1.0.3 font-bh-100dpi-1.0.3 font-bh-75dpi-1.0.3 font-bh-lucidatypewriter-100dpi-1.0.3 font-bh-lucidatypewriter-75dpi-1.0.3 font-bh-ttf-1.0.3 font-bh-type1-1.0.3 font-bitstream-100dpi-1.0.3 font-bitstream-75dpi-1.0.3 font-bitstream-speedo-1.0.2 font-bitstream-type1-1.0.3 font-cronyx-cyrillic-1.0.3 font-cursor-misc-1.0.3 font-daewoo-misc-1.0.3 font-dec-misc-1.0.3 font-ibm-type1-1.0.3 font-isas-misc-1.0.3 font-jis-misc-1.0.3 font-micro-misc-1.0.3 font-misc-cyrillic-1.0.3 font-misc-ethiopic-1.0.3 font-misc-meltho-1.0.3 font-misc-misc-1.1.2 font-mutt-misc-1.0.3 font-schumacher-misc-1.1.2 font-screen-cyrillic-1.0.4 font-sony-misc-1.0.3 font-sun-misc-1.0.3 font-util-1.2.0 font-winitzki-cyrillic-1.0.3 font-xfree86-type1-1.0.4 --- fontconfig/src/fcint.h | 68 ++++++++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 30 deletions(-) (limited to 'fontconfig/src/fcint.h') diff --git a/fontconfig/src/fcint.h b/fontconfig/src/fcint.h index 233b4c302..83a7a435b 100644 --- a/fontconfig/src/fcint.h +++ b/fontconfig/src/fcint.h @@ -7,9 +7,9 @@ * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in + * documentation, and that the name of the author(s) not be used in * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no + * specific, written prior permission. The authors make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * @@ -107,6 +107,10 @@ #define FC_MEM_NUM 30 +#define _FC_ASSERT_STATIC1(_line, _cond) typedef int _static_assert_on_line_##_line##_failed[(_cond)?1:-1] +#define _FC_ASSERT_STATIC0(_line, _cond) _FC_ASSERT_STATIC1 (_line, (_cond)) +#define FC_ASSERT_STATIC(_cond) _FC_ASSERT_STATIC0 (__LINE__, (_cond)) + #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)) @@ -130,7 +134,7 @@ typedef enum _FcValueBinding { * Serialized data structures use only offsets instead of pointers * A low bit of 1 indicates an offset. */ - + /* Is the provided pointer actually an offset? */ #define FcIsEncodedOffset(p) ((((intptr_t) (p)) & 1) != 0) @@ -181,13 +185,13 @@ typedef struct _FcValueList { } FcValueList; #define FcValueListNext(vl) FcPointerMember(vl,next,FcValueList) - + typedef int FcObject; typedef struct _FcPatternElt *FcPatternEltPtr; /* - * Pattern elts are stuck in a structure connected to the pattern, + * Pattern elts are stuck in a structure connected to the pattern, * so they get moved around when the pattern is resized. Hence, the * values field must be a pointer/offset instead of just an offset */ @@ -216,13 +220,13 @@ struct _FcPattern { fs->fonts[i]) typedef enum _FcOp { - FcOpInteger, FcOpDouble, FcOpString, FcOpMatrix, FcOpBool, FcOpCharSet, + FcOpInteger, FcOpDouble, FcOpString, FcOpMatrix, FcOpRange, FcOpBool, FcOpCharSet, FcOpLangSet, FcOpNil, FcOpField, FcOpConst, - FcOpAssign, FcOpAssignReplace, + FcOpAssign, FcOpAssignReplace, FcOpPrependFirst, FcOpPrepend, FcOpAppend, FcOpAppendLast, FcOpQuest, - FcOpOr, FcOpAnd, FcOpEqual, FcOpNotEqual, + FcOpOr, FcOpAnd, FcOpEqual, FcOpNotEqual, FcOpContains, FcOpListing, FcOpNotContains, FcOpLess, FcOpLessEqual, FcOpMore, FcOpMoreEqual, FcOpPlus, FcOpMinus, FcOpTimes, FcOpDivide, @@ -235,12 +239,13 @@ typedef struct _FcExpr { union { int ival; double dval; - FcChar8 *sval; + const FcChar8 *sval; FcMatrix *mval; FcBool bval; FcCharSet *cval; + FcLangSet *lval; FcObject object; - FcChar8 *constant; + const FcChar8 *constant; struct { struct _FcExpr *left, *right; } tree; @@ -253,7 +258,7 @@ struct _FcExprPage { FcExprPage *next_page; FcExpr *next; FcExpr exprs[(1024 - 2/* two pointers */ - 2/* malloc overhead */) * sizeof (void *) / sizeof (FcExpr)]; - FcExpr end[0]; + FcExpr end[]; }; typedef enum _FcQual { @@ -373,7 +378,7 @@ typedef struct _FcSerialize { void *linear; FcSerializeBucket *buckets[FC_SERIALIZE_HASH_SIZE]; } FcSerialize; - + /* * To map adobe glyph names to unicode values, a precomputed hash * table is used @@ -387,14 +392,14 @@ typedef struct _FcGlyphName { /* * To perform case-insensitive string comparisons, a table * is used which holds three different kinds of folding data. - * + * * The first is a range of upper case values mapping to a range * of their lower case equivalents. Within each range, the offset * between upper and lower case is constant. * * The second is a range of upper case values which are interleaved * with their lower case equivalents. - * + * * The third is a set of raw unicode values mapping to a list * of unicode values for comparison purposes. This allows conversion * of ß to "ss" so that SS, ss and ß all match. A separate array @@ -448,7 +453,7 @@ struct _FcConfig { FcBlanks *blanks; /* * List of directories containing fonts, - * built by recursively scanning the set + * built by recursively scanning the set * of configured directories */ FcStrSet *fontDirs; @@ -497,7 +502,7 @@ struct _FcConfig { FcExprPage *expr_pool; /* pool of FcExpr's */ }; - + extern FcPrivate FcConfig *_fcConfig; typedef struct _FcFileTime { @@ -507,6 +512,13 @@ typedef struct _FcFileTime { typedef struct _FcCharMap FcCharMap; +typedef struct _FcRange FcRange; + +struct _FcRange { + FcChar32 begin; + FcChar32 end; +}; + /* fcblanks.c */ /* fccache.c */ @@ -519,7 +531,7 @@ FcDirCacheBuild (FcFontSet *set, const FcChar8 *dir, struct stat *dir_stat, FcSt FcPrivate FcBool FcDirCacheWrite (FcCache *cache, FcConfig *config); - + FcPrivate void FcCacheObjectReference (void *object); @@ -528,16 +540,12 @@ FcCacheObjectDereference (void *object); FcPrivate void FcCacheFini (void); - + FcPrivate void FcDirCacheReference (FcCache *cache, int nref); -#ifdef _WIN32 FcPrivate int FcStat (const char *file, struct stat *statb); -#else -#define FcStat stat -#endif /* fccfg.c */ @@ -606,13 +614,13 @@ FcPrivate FcFileTime FcConfigModifiedTime (FcConfig *config); FcPrivate FcBool -FcConfigAddCache (FcConfig *config, FcCache *cache, +FcConfigAddCache (FcConfig *config, FcCache *cache, FcSetName set, FcStrSet *dirSet); /* fcserialize.c */ FcPrivate intptr_t FcAlignSize (intptr_t size); - + FcPrivate FcSerialize * FcSerializeCreate (void); @@ -702,7 +710,7 @@ FcSubstPrint (const FcSubst *subst); FcPrivate void FcCharSetPrint (const FcCharSet *c); - + extern FcPrivate int FcDebugVal; #define FcDebug() (FcDebugVal) @@ -763,12 +771,12 @@ FcMemFree (int kind, int size); /* fclang.c */ FcPrivate FcLangSet * -FcFreeTypeLangSet (const FcCharSet *charset, +FcFreeTypeLangSet (const FcCharSet *charset, const FcChar8 *exclusiveLang); FcPrivate FcLangResult FcLangCompare (const FcChar8 *s1, const FcChar8 *s2); - + FcPrivate FcLangSet * FcLangSetPromote (const FcChar8 *lang); @@ -885,13 +893,13 @@ FcPatternObjectAddWithBinding (FcPattern *p, FcPrivate FcBool FcPatternObjectAdd (FcPattern *p, FcObject object, FcValue value, FcBool append); - + FcPrivate FcBool FcPatternObjectAddWeak (FcPattern *p, FcObject object, FcValue value, FcBool append); - + FcPrivate FcResult FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v); - + FcPrivate FcBool FcPatternObjectDel (FcPattern *p, FcObject object); -- cgit v1.2.3