diff --git a/fontconfig/fcfreetype.h b/fontconfig/fcfreetype.h
index 8d52d54..f0299ef 100644
--- a/fontconfig/fcfreetype.h
+++ b/fontconfig/fcfreetype.h
@@ -33,7 +33,7 @@
 FcFreeTypeCharSet (FT_Face face, FcBlanks *blanks);
 
 FcResult
-FcPatternGetFTFace (FcPattern *p, const char *object, int n, FT_Face *f);
+FcPatternGetFTFace (const FcPattern *p, const char *object, int n, FT_Face *f);
 
 FcBool
 FcPatternAddFTFace (FcPattern *p, const char *object, const FT_Face f);
diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
index de82f28..c2a713b 100644
--- a/fontconfig/fontconfig.h
+++ b/fontconfig/fontconfig.h
@@ -37,7 +37,7 @@
  */
 #define FC_MAJOR	1
 #define FC_MINOR	0
-#define FC_REVISION	1
+#define FC_REVISION	2
 
 #define FC_VERSION	((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
 
@@ -600,7 +600,7 @@
 FcPatternCreate (void);
 
 FcPattern *
-FcPatternDuplicate (FcPattern *p);
+FcPatternDuplicate (const FcPattern *p);
 
 void
 FcPatternReference (FcPattern *p);
@@ -633,7 +633,7 @@
 FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append);
     
 FcResult
-FcPatternGet (FcPattern *p, const char *object, int id, FcValue *v);
+FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v);
     
 FcBool
 FcPatternDel (FcPattern *p, const char *object);
@@ -660,25 +660,25 @@
 FcPatternAddLangSet (FcPattern *p, const char *object, const FcLangSet *ls);
 
 FcResult
-FcPatternGetInteger (FcPattern *p, const char *object, int n, int *i);
+FcPatternGetInteger (const FcPattern *p, const char *object, int n, int *i);
 
 FcResult
-FcPatternGetDouble (FcPattern *p, const char *object, int n, double *d);
+FcPatternGetDouble (const FcPattern *p, const char *object, int n, double *d);
 
 FcResult
-FcPatternGetString (FcPattern *p, const char *object, int n, FcChar8 ** s);
+FcPatternGetString (const FcPattern *p, const char *object, int n, FcChar8 ** s);
 
 FcResult
-FcPatternGetMatrix (FcPattern *p, const char *object, int n, FcMatrix **s);
+FcPatternGetMatrix (const FcPattern *p, const char *object, int n, FcMatrix **s);
 
 FcResult
-FcPatternGetCharSet (FcPattern *p, const char *object, int n, FcCharSet **c);
+FcPatternGetCharSet (const FcPattern *p, const char *object, int n, FcCharSet **c);
 
 FcResult
-FcPatternGetBool (FcPattern *p, const char *object, int n, FcBool *b);
+FcPatternGetBool (const FcPattern *p, const char *object, int n, FcBool *b);
 
 FcResult
-FcPatternGetLangSet (FcPattern *p, const char *object, int n, FcLangSet **ls);
+FcPatternGetLangSet (const FcPattern *p, const char *object, int n, FcLangSet **ls);
 
 FcPattern *
 FcPatternVaBuild (FcPattern *orig, va_list va);
diff --git a/src/fcpat.c b/src/fcpat.c
index 241aa0e..572e897 100644
--- a/src/fcpat.c
+++ b/src/fcpat.c
@@ -856,7 +856,7 @@
 }
 
 FcResult
-FcPatternGet (FcPattern *p, const char *object, int id, FcValue *v)
+FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v)
 {
     FcPatternElt   *e;
     FcValueList    *l;
@@ -877,7 +877,7 @@
 }
 
 FcResult
-FcPatternGetInteger (FcPattern *p, const char *object, int id, int *i)
+FcPatternGetInteger (const FcPattern *p, const char *object, int id, int *i)
 {
     FcValue	v;
     FcResult	r;
@@ -899,7 +899,7 @@
 }
 
 FcResult
-FcPatternGetDouble (FcPattern *p, const char *object, int id, double *d)
+FcPatternGetDouble (const FcPattern *p, const char *object, int id, double *d)
 {
     FcValue	v;
     FcResult	r;
@@ -921,7 +921,7 @@
 }
 
 FcResult
-FcPatternGetString (FcPattern *p, const char *object, int id, FcChar8 ** s)
+FcPatternGetString (const FcPattern *p, const char *object, int id, FcChar8 ** s)
 {
     FcValue	v;
     FcResult	r;
@@ -936,7 +936,7 @@
 }
 
 FcResult
-FcPatternGetMatrix (FcPattern *p, const char *object, int id, FcMatrix **m)
+FcPatternGetMatrix(const FcPattern *p, const char *object, int id, FcMatrix **m)
 {
     FcValue	v;
     FcResult	r;
@@ -952,7 +952,7 @@
 
 
 FcResult
-FcPatternGetBool (FcPattern *p, const char *object, int id, FcBool *b)
+FcPatternGetBool(const FcPattern *p, const char *object, int id, FcBool *b)
 {
     FcValue	v;
     FcResult	r;
@@ -967,7 +967,7 @@
 }
 
 FcResult
-FcPatternGetCharSet (FcPattern *p, const char *object, int id, FcCharSet **c)
+FcPatternGetCharSet(const FcPattern *p, const char *object, int id, FcCharSet **c)
 {
     FcValue	v;
     FcResult	r;
@@ -982,7 +982,7 @@
 }
 
 FcResult
-FcPatternGetFTFace (FcPattern *p, const char *object, int id, FT_Face *f)
+FcPatternGetFTFace(const FcPattern *p, const char *object, int id, FT_Face *f)
 {
     FcValue	v;
     FcResult	r;
@@ -997,7 +997,7 @@
 }
 
 FcResult
-FcPatternGetLangSet (FcPattern *p, const char *object, int id, FcLangSet **ls)
+FcPatternGetLangSet(const FcPattern *p, const char *object, int id, FcLangSet **ls)
 {
     FcValue	v;
     FcResult	r;
@@ -1012,7 +1012,7 @@
 }
 
 FcPattern *
-FcPatternDuplicate (FcPattern *orig)
+FcPatternDuplicate (const FcPattern *orig)
 {
     FcPattern	    *new;
     int		    i;
