summaryrefslogtreecommitdiff
path: root/pango/pango-utils.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-11-12 21:16:39 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-11-12 21:16:39 +0000
commitf726b8d49d00e325314ee6f17cf1f7eaed1fd019 (patch)
tree6041b8551149c167352c65fda63c3e7aaeb88d9b /pango/pango-utils.c
parent1ff8a34d8c98aa47438515abd16f531e838d7404 (diff)
downloadpango-f726b8d49d00e325314ee6f17cf1f7eaed1fd019.tar.gz
Include a stripped-down version of fribidi to avoid the extra dependency.
Sun Nov 12 16:07:06 2000 Owen Taylor <otaylor@redhat.com> * configure.in pango/pango-utils.[ch] pango/Makefile.am pango/mini-fribidi/*: Include a stripped-down version of fribidi to avoid the extra dependency. No fribidi symbols are exported so conflicts with the real fribidi should not happen. Library can optionally be compiled with the real libfribidi. * pango/pango-utils.[ch]: Wrappers for fribidi_ functions when compiling with fribiid. * modules/basic/basic-ft2.c modules/basic/basic-win32.c modules/basic/basic.c modules/thai/thai.c pango/Makefile.am pango/itemize.c pango/pango-context.c pango/pangoft2.c pango/pangowin32.c pango/pangox.c: Use pango_ versions of fribidi functions.
Diffstat (limited to 'pango/pango-utils.c')
-rw-r--r--pango/pango-utils.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/pango/pango-utils.c b/pango/pango-utils.c
index 12c8d0a7..b8ce0d58 100644
--- a/pango/pango-utils.c
+++ b/pango/pango-utils.c
@@ -29,6 +29,10 @@
#include "pango-font.h"
#include "pango-utils.h"
+#ifdef HAVE_FRIBIDI
+#include <fribidi/fribidi.h>
+#endif
+
#ifndef HAVE_FLOCKFILE
# define flockfile(f) (void)1
# define funlockfile(f) (void)1
@@ -895,3 +899,30 @@ pango_parse_stretch (const char *str,
return FALSE;
}
+#ifdef HAVE_FRIBIDI
+
+void
+pango_log2vis_get_embedding_levels (gunichar *str,
+ int len,
+ PangoDirection *pbase_dir,
+ guint8 *embedding_level_list)
+{
+ FriBidiCharType fribidi_base_dir;
+
+ fribidi_base_dir = (*pbase_dir == PANGO_DIRECTION_LTR) ? FRIBIDI_TYPE_L : FRIBIDI_TYPE_R;
+
+ fribidi_log2vis_get_embedding_levels (str, len, &fribidi_base_dir,
+ embedding_level_list);
+
+ *pbase_dir = (fribidi_base_dir == FRIBIDI_TYPE_L) ? PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL;
+}
+
+
+gboolean
+pango_get_mirror_char (gunichar ch,
+ gunichar *mirrored_ch)
+{
+ return fribidi_get_mirror_char (ch, mirrored_ch);
+}
+
+#endif /* HAVE_FRIBIDI */