117a114
--- configure.ac	2009-06-08 00:24:52.604753218 +0300
117a114
+++ configure.ac	2009-06-08 00:25:05.257753171 +0300
117a114
@@ -404,19 +404,7 @@ fi
117a114
 
117a114
 # fribidi-config
117a114
 
117a114
-AC_PATH_PROGS([FRIBIDI_CONFIG], [fribidi-config], [none])
117a114
-
117a114
-if test "x$FRIBIDI_CONFIG" = "xnone"; then
117a114
-    fribidifound=no
117a114
-    AC_MSG_WARN([*** FRIBIDI not found.])
117a114
-else
117a114
-    fribidifound=yes
117a114
-    FRIBIDI_CFLAGS=`$FRIBIDI_CONFIG --cflags`
117a114
-    FRIBIDI_LIBS=`$FRIBIDI_CONFIG --libs`
117a114
-fi
117a114
-
117a114
-AC_SUBST([FRIBIDI_CFLAGS])
117a114
-AC_SUBST([FRIBIDI_LIBS])
117a114
+PKG_CHECK_MODULES([FRIBIDI], [fribidi],[fribidifound=yes],[fribidifound=no])
117a114
 AM_CONDITIONAL([FRIBIDI], [test "x$fribidifound" = xyes -a "x$fribidi" = xyes ])
117a114
 
117a114
 # python
117a114
--- src/font.cpp	2009-03-15 18:50:42.000000000 +0200
117a114
+++ src/font.cpp	2009-06-08 00:19:56.884753434 +0300
117a114
@@ -50,9 +50,6 @@ 
117a114
 
117a114
 #ifdef	HAVE_FRIBIDI
117a114
 #include <fribidi/fribidi.h>
117a114
-
117a114
-#else
117a114
-
117a114
 #endif
117a114
 
117a114
 namespace {
117a114
@@ -467,16 +464,16 @@ private:
117a114
 void text_surface::bidi_cvt()
117a114
 {
117a114
 	char		*c_str = const_cast<char *>(str_.c_str());	// fribidi forgot const...
117a114
-	int		len = str_.length();
117a114
+	FriBidiStrIndex	len = str_.length();
117a114
 	FriBidiChar	*bidi_logical = new FriBidiChar[len + 2];
117a114
 	FriBidiChar	*bidi_visual = new FriBidiChar[len + 2];
117a114
 	char		*utf8str = new char[4*len + 1];	//assume worst case here (all 4 Byte characters)
117a114
 	FriBidiCharType	base_dir = FRIBIDI_TYPE_ON;
117a114
-	int n;
117a114
+	FriBidiStrIndex	n;
117a114
 
117a114
-	n = fribidi_utf8_to_unicode (c_str, len, bidi_logical);
117a114
+	n = fribidi_charset_to_unicode(FRIBIDI_CHAR_SET_UTF8, c_str, len, bidi_logical);
117a114
 	fribidi_log2vis(bidi_logical, n, &base_dir, bidi_visual, NULL, NULL, NULL);
117a114
-	fribidi_unicode_to_utf8 (bidi_visual, n, utf8str);
117a114
+	fribidi_unicode_to_charset(FRIBIDI_CHAR_SET_UTF8, bidi_visual, n, utf8str);
117a114
 	is_rtl_ = base_dir == FRIBIDI_TYPE_RTL;
117a114
 	str_ = std::string(utf8str);
117a114
 	delete[] bidi_logical;