]> git.wh0rd.org - fontconfig.git/blobdiff - fontconfig/fontconfig.h
Update for 2.3.1
[fontconfig.git] / fontconfig / fontconfig.h
index 045a36b8e7ec9cd654bee98986b96c5c6fae8128..0b9994770d5d10527553b63777c29042a41eba36 100644 (file)
@@ -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
@@ -39,8 +39,8 @@ typedef int           FcBool;
  */
 
 #define FC_MAJOR       2
-#define FC_MINOR       2
-#define FC_REVISION    90
+#define FC_MINOR       3
+#define FC_REVISION    1
 
 #define FC_VERSION     ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
 
@@ -70,6 +70,7 @@ typedef int           FcBool;
 #define FC_FOUNDRY         "foundry"           /* String */
 #define FC_ANTIALIAS       "antialias"         /* Bool (depends) */
 #define FC_HINTING         "hinting"           /* Bool (true) */
+#define FC_HINT_STYLE      "hintstyle"         /* Int */
 #define FC_VERTICAL_LAYOUT  "verticallayout"   /* Bool (false) */
 #define FC_AUTOHINT        "autohint"          /* Bool (false) */
 #define FC_GLOBAL_ADVANCE   "globaladvance"    /* Bool (true) */
@@ -84,10 +85,17 @@ 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_DIR_CACHE_FILE          "fonts.cache-"FC_CACHE_VERSION
 #define FC_USER_CACHE_FILE         ".fonts.cache-"FC_CACHE_VERSION
@@ -128,6 +136,7 @@ typedef int         FcBool;
 #define FC_WIDTH_ULTRAEXPANDED     200
 
 #define FC_PROPORTIONAL                    0
+#define FC_DUAL                            90
 #define FC_MONO                            100
 #define FC_CHARCELL                110
 
@@ -139,6 +148,12 @@ typedef int                FcBool;
 #define FC_RGBA_VBGR       4
 #define FC_RGBA_NONE       5
 
+/* hinting style */
+#define FC_HINT_NONE        0
+#define FC_HINT_SLIGHT      1
+#define FC_HINT_MEDIUM      2
+#define FC_HINT_FULL        3
 typedef enum _FcType {
     FcTypeVoid, 
     FcTypeInteger, 
@@ -177,7 +192,8 @@ typedef struct _FcConstant {
 } FcConstant;
 
 typedef enum _FcResult {
-    FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId
+    FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId,
+    FcResultOutOfMemory
 } FcResult;
 
 typedef struct _FcPattern   FcPattern;
@@ -452,6 +468,9 @@ FcInitLoadConfigAndFonts (void);
 FcBool
 FcInit (void);
 
+void
+FcFini (void);
+
 int
 FcGetVersion (void);
 
@@ -671,6 +690,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);
 
@@ -727,9 +749,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);