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