--- 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 - -#else - #endif namespace { @@ -467,16 +464,16 @@ private: void text_surface::bidi_cvt() { char *c_str = const_cast(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;