diff options
author | Owen Taylor <otaylor@redhat.com> | 2000-11-12 21:16:39 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2000-11-12 21:16:39 +0000 |
commit | f726b8d49d00e325314ee6f17cf1f7eaed1fd019 (patch) | |
tree | 6041b8551149c167352c65fda63c3e7aaeb88d9b /pango/pango-utils.c | |
parent | 1ff8a34d8c98aa47438515abd16f531e838d7404 (diff) | |
download | pango-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.c | 31 |
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 */ |