#define FC_SOURCE "source" /* String (X11, freetype) */
#define FC_CHARSET "charset" /* CharSet */
#define FC_LANG "lang" /* String OS/2 CodePageRange */
+#define FC_PATTERN "pattern" /* FcPattern */
#define FC_DIR_CACHE_FILE "fonts.cache"
#define FC_USER_CACHE_FILE ".fonts.cache"
FcTypeBool,
FcTypeMatrix,
FcTypeCharSet,
- FcTypeFTFace
+ FcTypeFTFace,
+ FcTypePattern
} FcType;
typedef struct _FcMatrix {
FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId
} FcResult;
+typedef struct _FcPattern FcPattern;
+
typedef struct _FcValue {
FcType type;
union {
const FcMatrix *m;
const FcCharSet *c;
void *f;
+ const FcPattern *p;
} u;
} FcValue;
-typedef struct _FcPattern FcPattern;
-
typedef struct _FcFontSet {
int nfont;
int sfont;
} FcObjectSet;
typedef enum _FcMatchKind {
- FcMatchPattern, FcMatchFont
+ FcMatchPattern, FcMatchFont
} FcMatchKind;
typedef enum _FcSetName {
/* fcdbg.c */
void
-FcValuePrint (FcValue v);
+FcValuePrint (const FcValue v);
void
-FcPatternPrint (FcPattern *p);
+FcPatternPrint (const FcPattern *p);
void
-FcFontSetPrint (FcFontSet *s);
+FcFontSetPrint (const FcFontSet *s);
/* fcdefault.c */
void
FcBool
FcPatternAddBool (FcPattern *p, const char *object, FcBool b);
+FcBool
+FcPatternAddPattern (FcPattern *p, const char *object, const FcPattern *pp);
+
FcResult
FcPatternGetInteger (FcPattern *p, const char *object, int n, int *i);
FcResult
FcPatternGetBool (FcPattern *p, const char *object, int n, FcBool *b);
+FcResult
+FcPatternGetPattern (FcPattern *p, const char *object, int n, FcPattern **pp);
+
FcPattern *
FcPatternVaBuild (FcPattern *orig, va_list va);