summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am65
-rw-r--r--doc/Makefile.in534
-rw-r--r--doc/c2man.stamp0
-rw-r--r--doc/fribidi_charset_to_unicode.394
-rw-r--r--doc/fribidi_debug_status.341
-rw-r--r--doc/fribidi_get_bidi_type.3118
-rw-r--r--doc/fribidi_get_bidi_type_name.3116
-rw-r--r--doc/fribidi_get_bidi_types.3128
-rw-r--r--doc/fribidi_get_joining_type.383
-rw-r--r--doc/fribidi_get_joining_type_name.379
-rw-r--r--doc/fribidi_get_joining_types.392
-rw-r--r--doc/fribidi_get_mirror_char.364
-rw-r--r--doc/fribidi_get_par_direction.3160
-rw-r--r--doc/fribidi_get_par_embedding_levels.3168
-rw-r--r--doc/fribidi_get_type.3110
-rw-r--r--doc/fribidi_get_type_internal.3110
-rw-r--r--doc/fribidi_join_arabic.3152
-rw-r--r--doc/fribidi_log2vis.3120
-rw-r--r--doc/fribidi_log2vis_get_embedding_levels.3157
-rw-r--r--doc/fribidi_mirroring_status.340
-rw-r--r--doc/fribidi_parse_charset.374
-rw-r--r--doc/fribidi_remove_bidi_marks.392
-rw-r--r--doc/fribidi_reorder_line.3206
-rw-r--r--doc/fribidi_reorder_nsm_status.340
-rw-r--r--doc/fribidi_set_debug.30
-rw-r--r--doc/fribidi_set_mirroring.354
-rw-r--r--doc/fribidi_set_reorder_nsm.356
-rw-r--r--doc/fribidi_shape.385
-rw-r--r--doc/fribidi_shape_mirroring.367
-rw-r--r--doc/fribidi_unicode_to_charset.395
-rw-r--r--doc/fribidi_unicode_version.30
-rw-r--r--doc/fribidi_version_info.30
32 files changed, 3200 insertions, 0 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..7fe8d37
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,65 @@
+dist_man_MANS =
+dist_noinst_MANS =
+EXTRA_DIST =
+MOSTLYCLEANFILES =
+MAINTAINERCLEANFILES =
+
+# man3
+
+includepath =
+includevpath =
+headers =
+inst_symbols =
+noinst_symbols =
+
+include $(top_srcdir)/charset/Headers.mk
+headers += $(libfribidi_char_sets_la_headers)
+includepath += -I$(top_srcdir)/charset
+includevpath += :$(top_srcdir)/charset
+if FRIBIDI_CHARSETS
+inst_symbols += $(libfribidi_char_sets_la_symbols)
+else # !FRIBIDI_CHARSETS
+noinst_symbols += $(libfribidi_char_sets_la_symbols)
+endif # !FRIBIDI_CHARSETS
+
+# The lib/Headers.mk stuff should come after all optional stuff.
+include $(top_srcdir)/lib/Headers.mk
+headers += $(libfribidi_la_headers)
+includepath += -I$(top_builddir)/lib -I$(top_srcdir)/lib
+includevpath += :$(top_builddir)/lib:$(top_srcdir)/lib
+inst_symbols += $(libfribidi_la_symbols)
+
+dist_man_MANS += $(inst_symbols:=.3)
+dist_noinst_MANS += $(noinst_symbols:=.3)
+EXTRA_DIST += c2man.stamp
+MOSTLYCLEANFILES += c2man.stamp.tmp
+MAINTAINERCLEANFILES += $(man3) c2man.stamp
+
+man3 = $(dist_man_MANS) $(dist_noinst_MANS)
+
+C2MANFLAGS = $(includepath) \
+ -D__FRIBIDI_DOC \
+ -DDONT_HAVE_FRIBIDI_CONFIG_H \
+ -M "Programmer's Manual" \
+ -m "$(PACKAGE_NAME) $(PACKAGE_VERSION)"
+
+VPATH += $(includevpath)
+
+c2man.stamp: $(headers)
+ @$(RM) $@.tmp
+ @touch $@.tmp
+ @($(LN_S) $^ . || cp $^ .)
+ @echo Running c2man
+ @$(top_srcdir)/missing --run c2man -T n $(C2MANFLAGS) $(headers) 2>&1 \
+ || true
+ @$(RM) $(headers)
+ @mv $@.tmp $@
+
+$(man3): c2man.stamp
+ @if ! test -f $@; then \
+ $(RM) $<; \
+ $(MAKE) $(AM_MAKEFLAGS) $<;\
+ fi
+ @touch $@
+
+-include $(top_srcdir)/git.mk
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 0000000..6852969
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,534 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/charset/Headers.mk \
+ $(top_srcdir)/lib/Headers.mk
+@FRIBIDI_CHARSETS_TRUE@am__append_1 = $(libfribidi_char_sets_la_symbols)
+@FRIBIDI_CHARSETS_FALSE@am__append_2 = $(libfribidi_char_sets_la_symbols)
+subdir = doc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+man3dir = $(mandir)/man3
+am__installdirs = "$(DESTDIR)$(man3dir)"
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+VPATH = @srcdir@ $(includevpath)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRIBIDI_BINARY_AGE = @FRIBIDI_BINARY_AGE@
+FRIBIDI_CHARSETS = @FRIBIDI_CHARSETS@
+FRIBIDI_INTERFACE_AGE = @FRIBIDI_INTERFACE_AGE@
+FRIBIDI_INTERFACE_VERSION = @FRIBIDI_INTERFACE_VERSION@
+FRIBIDI_MAJOR_VERSION = @FRIBIDI_MAJOR_VERSION@
+FRIBIDI_MICRO_VERSION = @FRIBIDI_MICRO_VERSION@
+FRIBIDI_MINOR_VERSION = @FRIBIDI_MINOR_VERSION@
+FRIBIDI_NO_DEPRECATED = @FRIBIDI_NO_DEPRECATED@
+FRIBIDI_USE_GLIB = @FRIBIDI_USE_GLIB@
+FRIBIDI_VERSION = @FRIBIDI_VERSION@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_CURRENT_MINUS_AGE = @LT_CURRENT_MINUS_AGE@
+LT_VERSION_INFO = @LT_VERSION_INFO@
+MAKEINFO = @MAKEINFO@
+MISC_CFLAGS = @MISC_CFLAGS@
+MISC_LIBS = @MISC_LIBS@
+MISC_PACKAGES = @MISC_PACKAGES@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIZEOF_INT = @SIZEOF_INT@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+dist_man_MANS = $(inst_symbols:=.3)
+dist_noinst_MANS = $(noinst_symbols:=.3)
+EXTRA_DIST = c2man.stamp
+MOSTLYCLEANFILES = c2man.stamp.tmp
+MAINTAINERCLEANFILES = $(man3) c2man.stamp
+
+# man3
+includepath = -I$(top_srcdir)/charset -I$(top_builddir)/lib \
+ -I$(top_srcdir)/lib
+includevpath = :$(top_srcdir)/charset \
+ :$(top_builddir)/lib:$(top_srcdir)/lib
+
+# The lib/Headers.mk stuff should come after all optional stuff.
+headers = $(libfribidi_char_sets_la_headers) $(libfribidi_la_headers)
+inst_symbols = $(am__append_1) $(libfribidi_la_symbols)
+noinst_symbols = $(am__append_2)
+libfribidi_char_sets_la_headers = \
+ fribidi-char-sets.h \
+ fribidi-char-sets-list.h
+
+libfribidi_char_sets_la_symbols = \
+ fribidi_charset_to_unicode \
+ fribidi_unicode_to_charset \
+ fribidi_parse_charset
+
+libfribidi_la_headers = \
+ fribidi-arabic.h \
+ fribidi-begindecls.h \
+ fribidi-bidi.h \
+ fribidi-bidi-types.h \
+ fribidi-bidi-types-list.h \
+ fribidi-common.h \
+ fribidi-deprecated.h \
+ fribidi-enddecls.h \
+ fribidi-flags.h \
+ fribidi-joining.h \
+ fribidi-joining-types.h \
+ fribidi-joining-types-list.h \
+ fribidi-mirroring.h \
+ fribidi-shape.h \
+ fribidi-types.h \
+ fribidi-unicode.h \
+ fribidi-unicode-version.h \
+ fribidi.h
+
+# fribidi.h should be the last entry in the list above.
+libfribidi_la_symbols = $(shell cat $(top_srcdir)/lib/fribidi.def)
+man3 = $(dist_man_MANS) $(dist_noinst_MANS)
+C2MANFLAGS = $(includepath) \
+ -D__FRIBIDI_DOC \
+ -DDONT_HAVE_FRIBIDI_CONFIG_H \
+ -M "Programmer's Manual" \
+ -m "$(PACKAGE_NAME) $(PACKAGE_VERSION)"
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/charset/Headers.mk $(top_srcdir)/lib/Headers.mk $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnits doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man3: $(dist_man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
+ @list=''; test -n "$(man3dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.3[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man3:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man3dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.3[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(man3dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man3
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man3
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man3 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-man uninstall-man3
+
+
+c2man.stamp: $(headers)
+ @$(RM) $@.tmp
+ @touch $@.tmp
+ @($(LN_S) $^ . || cp $^ .)
+ @echo Running c2man
+ @$(top_srcdir)/missing --run c2man -T n $(C2MANFLAGS) $(headers) 2>&1 \
+ || true
+ @$(RM) $(headers)
+ @mv $@.tmp $@
+
+$(man3): c2man.stamp
+ @if ! test -f $@; then \
+ $(RM) $<; \
+ $(MAKE) $(AM_MAKEFLAGS) $<;\
+ fi
+ @touch $@
+
+-include $(top_srcdir)/git.mk
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/c2man.stamp b/doc/c2man.stamp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/c2man.stamp
diff --git a/doc/fribidi_charset_to_unicode.3 b/doc/fribidi_charset_to_unicode.3
new file mode 100644
index 0000000..d184255
--- /dev/null
+++ b/doc/fribidi_charset_to_unicode.3
@@ -0,0 +1,94 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_charset_to_unicode" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_charset_to_unicode \- convert string to Unicode
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiStrIndex fribidi_charset_to_unicode
+.br
+(
+.br
+ FriBidiCharSet char_set,
+.br
+ const char *s,
+.br
+ FriBidiStrIndex len,
+.br
+ FriBidiChar *us
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiCharSet char_set"
+Character set to convert from.
+.sp
+Possible values for a \fBFriBidiCharSet\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_CHAR_SET_ISO8859_6'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_UTF8\fR
+UTF-8 (Unicode).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CAP_RTL\fR
+CapRTL (Test).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_ISO8859_6\fR
+ISO8859-6 (Arabic).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_ISO8859_8\fR
+ISO8859-8 (Hebrew).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CP1255\fR
+CP1255 (MS Hebrew/Yiddish).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CP1256\fR
+CP1256 (MS Arabic).
+.RE
+.PD
+.TP
+.B "const char *s"
+Input string encoded in char_set.
+.TP
+.B "FriBidiStrIndex len"
+Input string length.
+.TP
+.B "FriBidiChar *us"
+Output Unicode string.
+.SH "DESCRIPTION"
+This function converts an string from a character set, to a Unicode string.
+.SH "RETURNS"
+The length of the new string.
+.SH "SEE ALSO"
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_debug_status.3 b/doc/fribidi_debug_status.3
new file mode 100644
index 0000000..3fd8ec0
--- /dev/null
+++ b/doc/fribidi_debug_status.3
@@ -0,0 +1,41 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_debug_status" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_debug_status \- FRIBIDI_BEGIN_DECLS should be used at the beginning of your declarations,
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+int fribidi_debug_status(void);
+.ft R
+.SH "DESCRIPTION"
+So that C++ compilers don't mangle their names. Use FRIBIDI_END_DECLS at
+the end of C declarations.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_bidi_type.3 b/doc/fribidi_get_bidi_type.3
new file mode 100644
index 0000000..3ef9fd4
--- /dev/null
+++ b/doc/fribidi_get_bidi_type.3
@@ -0,0 +1,118 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_bidi_type" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_bidi_type \- get character bidi type
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiCharType fribidi_get_bidi_type(FriBidiChar ch);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiChar ch"
+Input character.
+.SH "DESCRIPTION"
+This function returns the bidi type of a character as defined in Table 3.7
+Bidirectional Character Types of the Unicode Bidirectional Algorithm
+available at
+http://www.unicode.org/reports/tr9/#Bidirectional_Character_Types, using
+data provided in file UnicodeData.txt of the Unicode Character Database
+available at http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.
+
+There are a few macros defined in fribidi-bidi-types.h for querying a bidi
+type.
+.SH "RETURNS"
+Possible values for a \fBFriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_bidi_type_name.3 b/doc/fribidi_get_bidi_type_name.3
new file mode 100644
index 0000000..387ba65
--- /dev/null
+++ b/doc/fribidi_get_bidi_type_name.3
@@ -0,0 +1,116 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_bidi_type_name" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_bidi_type_name \- get bidi type name
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+const char *fribidi_get_bidi_type_name(FriBidiCharType t);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiCharType t"
+Input bidi type.
+.sp
+Possible values for a \fBFriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.SH "DESCRIPTION"
+This function returns the bidi type name of a character type. The
+returned string is a static string and should not be freed.
+
+The type names are the same as ones defined in Table 3.7 Bidirectional
+Character Types of the Unicode Bidirectional Algorithm available at
+http://www.unicode.org/reports/tr9/#Bidirectional_Character_Types, with a
+few modifications: L->LTR, R->RTL, B->BS, S->SS.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_bidi_types.3 b/doc/fribidi_get_bidi_types.3
new file mode 100644
index 0000000..4db29dd
--- /dev/null
+++ b/doc/fribidi_get_bidi_types.3
@@ -0,0 +1,128 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_bidi_types" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_bidi_types \- get bidi types for an string of characters
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+void fribidi_get_bidi_types
+.br
+(
+.br
+ const FriBidiChar *str,
+.br
+ const FriBidiStrIndex len,
+.br
+ FriBidiCharType *btypes
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const FriBidiChar *str"
+Input string.
+.TP
+.B "const FriBidiStrIndex len"
+Input string length.
+.TP
+.B "FriBidiCharType *btypes"
+Output bidi types.
+.sp
+Possible values for a \fBFriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.SH "DESCRIPTION"
+This function finds the bidi types of an string of characters. See
+fribidi_get_bidi_type() for more information about the bidi types returned
+by this function.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_joining_type.3 b/doc/fribidi_get_joining_type.3
new file mode 100644
index 0000000..c89054a
--- /dev/null
+++ b/doc/fribidi_get_joining_type.3
@@ -0,0 +1,83 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_joining_type" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_joining_type \- get character joining type
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiJoiningType fribidi_get_joining_type(FriBidiChar ch);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiChar ch"
+Input character.
+.SH "DESCRIPTION"
+This function returns the joining type of a character as defined in Table
+8-2 Primary Arabic Joining Classes of the Unicode standard available at
+http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462, using data
+provided in file ArabicShaping.txt and UnicodeData.txt of the Unicode
+Character Database available at
+http://www.unicode.org/Public/UNIDATA/ArabicShaping.txt and
+http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.
+
+There are a few macros defined in fribidi-joining-types.h for querying a
+joining type.
+.SH "RETURNS"
+Possible values for a \fBFriBidiJoiningType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_JOINING_TYPE_U'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_U\fR
+NUn-joining, e.g. Full Stop.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_R\fR
+Right-joining, e.g. Arabic Letter Dal.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_D\fR
+Dual-joining, e.g. Arabic Letter Ain.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_C\fR
+Join-Causing, e.g. Tatweel, ZWJ.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_T\fR
+Transparent, e.g. Arabic Fatha.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_L\fR
+Left-joining, i.e. Fictional.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_G\fR
+IGnored, e.g. LRE, RLE, ZWNBSP.
+.RE
+.PD
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_joining_type_name.3 b/doc/fribidi_get_joining_type_name.3
new file mode 100644
index 0000000..d2eb650
--- /dev/null
+++ b/doc/fribidi_get_joining_type_name.3
@@ -0,0 +1,79 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_joining_type_name" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_joining_type_name \- get joining type name
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+const char *fribidi_get_joining_type_name(FriBidiJoiningType j);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiJoiningType j"
+Input joining type.
+.sp
+Possible values for a \fBFriBidiJoiningType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_JOINING_TYPE_U'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_U\fR
+NUn-joining, e.g. Full Stop.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_R\fR
+Right-joining, e.g. Arabic Letter Dal.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_D\fR
+Dual-joining, e.g. Arabic Letter Ain.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_C\fR
+Join-Causing, e.g. Tatweel, ZWJ.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_T\fR
+Transparent, e.g. Arabic Fatha.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_L\fR
+Left-joining, i.e. Fictional.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_G\fR
+IGnored, e.g. LRE, RLE, ZWNBSP.
+.RE
+.PD
+.SH "DESCRIPTION"
+This function returns the joining type name of a joining type. The
+returned string is a static string and should not be freed.
+
+The type names are the same as ones defined in Table 8-2 Primary Arabic
+Joining Classes of the Unicode standard available at
+http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_joining_types.3 b/doc/fribidi_get_joining_types.3
new file mode 100644
index 0000000..4c4bcd0
--- /dev/null
+++ b/doc/fribidi_get_joining_types.3
@@ -0,0 +1,92 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_joining_types" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_joining_types \- get joining types for an string of characters
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+void fribidi_get_joining_types
+.br
+(
+.br
+ const FriBidiChar *str,
+.br
+ const FriBidiStrIndex len,
+.br
+ FriBidiJoiningType *jtypes
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const FriBidiChar *str"
+Input string.
+.TP
+.B "const FriBidiStrIndex len"
+Input string length.
+.TP
+.B "FriBidiJoiningType *jtypes"
+Output joining types.
+.sp
+Possible values for a \fBFriBidiJoiningType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_JOINING_TYPE_U'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_U\fR
+NUn-joining, e.g. Full Stop.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_R\fR
+Right-joining, e.g. Arabic Letter Dal.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_D\fR
+Dual-joining, e.g. Arabic Letter Ain.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_C\fR
+Join-Causing, e.g. Tatweel, ZWJ.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_T\fR
+Transparent, e.g. Arabic Fatha.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_L\fR
+Left-joining, i.e. Fictional.
+.TP \n(TLu
+\fBFRIBIDI_JOINING_TYPE_G\fR
+IGnored, e.g. LRE, RLE, ZWNBSP.
+.RE
+.PD
+.SH "DESCRIPTION"
+This function finds the joining types of an string of characters. See
+fribidi_get_joining_type for more information about the joining types
+returned by this function.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_mirror_char.3 b/doc/fribidi_get_mirror_char.3
new file mode 100644
index 0000000..82c7c85
--- /dev/null
+++ b/doc/fribidi_get_mirror_char.3
@@ -0,0 +1,64 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_mirror_char" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_mirror_char \- get mirrored character
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+fribidi_boolean fribidi_get_mirror_char
+.br
+(
+.br
+ FriBidiChar ch,
+.br
+ FriBidiChar *mirrored_ch
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiChar ch"
+Input character.
+.TP
+.B "FriBidiChar *mirrored_ch"
+Output mirrored character.
+.SH "DESCRIPTION"
+This function finds the mirrored equivalent of a character as defined in
+the file BidiMirroring.txt of the Unicode Character Database available at
+http://www.unicode.org/Public/UNIDATA/BidiMirroring.txt.
+
+If the input character is a declared as a mirroring character in the
+Unicode standard and has a mirrored equivalent. The matching mirrored
+character is put in the output, otherwise the input character itself is
+put.
+.SH "RETURNS"
+If the character has a mirroring equivalent or not.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_par_direction.3 b/doc/fribidi_get_par_direction.3
new file mode 100644
index 0000000..adabfae
--- /dev/null
+++ b/doc/fribidi_get_par_direction.3
@@ -0,0 +1,160 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_par_direction" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_par_direction \- get base paragraph direction
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiParType fribidi_get_par_direction
+.br
+(
+.br
+ const FriBidiCharType *bidi_types,
+.br
+ const FriBidiStrIndex len
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const FriBidiCharType *bidi_types"
+Input list of bidi types as returned by
+fribidi_get_bidi_types().
+.sp
+Possible values for a \fBconst FriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.TP
+.B "const FriBidiStrIndex len"
+Input string length.
+.SH "DESCRIPTION"
+This function finds the base direction of a single paragraph,
+as defined by rule P2 of the Unicode Bidirectional Algorithm available at
+http://www.unicode.org/reports/tr9/#P2.
+
+You typically do not need this function as
+fribidi_get_par_embedding_levels() knows how to compute base direction
+itself, but you may need this to implement a more sophisticated paragraph
+direction handling. Note that you can pass more than a paragraph to this
+function and the direction of the first non-neutral paragraph is returned,
+which is a very good heuristic to set direction of the neutral paragraphs
+at the beginning of text. For other neutral paragraphs, you better use the
+direction of the previous paragraph.
+.SH "RETURNS"
+Base pargraph direction. No weak paragraph direction is returned,
+only LTR, RTL, or ON.
+.sp
+Possible values for a \fBFriBidiParType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_PAR_LTR\fR
+Left-To-Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_RTL\fR
+Right-To-Left paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_ON\fR
+DirectiOn-Neutral paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WLTR\fR
+Weak Left To Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WRTL\fR
+Weak Right To Left paragraph.
+.RE
+.PD
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_par_embedding_levels.3 b/doc/fribidi_get_par_embedding_levels.3
new file mode 100644
index 0000000..06f581e
--- /dev/null
+++ b/doc/fribidi_get_par_embedding_levels.3
@@ -0,0 +1,168 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_par_embedding_levels" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_par_embedding_levels \- get bidi embedding levels of a paragraph
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiLevel fribidi_get_par_embedding_levels
+.br
+(
+.br
+ const FriBidiCharType *bidi_types,
+.br
+ const FriBidiStrIndex len,
+.br
+ FriBidiParType *pbase_dir,
+.br
+ FriBidiLevel *embedding_levels
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const FriBidiCharType *bidi_types"
+Input list of bidi types as returned by
+fribidi_get_bidi_types().
+.sp
+Possible values for a \fBconst FriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.TP
+.B "const FriBidiStrIndex len"
+Input string length of the paragraph.
+.TP
+.B "FriBidiParType *pbase_dir"
+Requested and resolved paragraph
+base direction.
+.sp
+Possible values for a \fBFriBidiParType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_PAR_LTR\fR
+Left-To-Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_RTL\fR
+Right-To-Left paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_ON\fR
+DirectiOn-Neutral paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WLTR\fR
+Weak Left To Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WRTL\fR
+Weak Right To Left paragraph.
+.RE
+.PD
+.TP
+.B "FriBidiLevel *embedding_levels"
+Output list of embedding levels.
+.SH "DESCRIPTION"
+This function finds the bidi embedding levels of a single paragraph,
+as defined by the Unicode Bidirectional Algorithm available at
+http://www.unicode.org/reports/tr9/. This function implements rules P2 to
+I1 inclusive, and parts 1 to 3 of L1, except for rule X9 which is
+implemented in fribidi_remove_bidi_marks(). Part 4 of L1 is implemented
+in fribidi_reorder_line().
+
+There are a few macros defined in fribidi-bidi-types.h to work with this
+embedding levels.
+.SH "RETURNS"
+Maximum level found plus one, or zero if any error occured
+(memory allocation failure most probably).
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_type.3 b/doc/fribidi_get_type.3
new file mode 100644
index 0000000..6983a88
--- /dev/null
+++ b/doc/fribidi_get_type.3
@@ -0,0 +1,110 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_type" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_type \- get character bidi type
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiCharType fribidi_get_type(FriBidiChar ch);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiChar ch"
+Input character.
+.SH "DESCRIPTION"
+Deprecated. Replaced by fribidi_get_bidi_type.
+.SH "RETURNS"
+Possible values for a \fBFriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_get_type_internal.3 b/doc/fribidi_get_type_internal.3
new file mode 100644
index 0000000..305987a
--- /dev/null
+++ b/doc/fribidi_get_type_internal.3
@@ -0,0 +1,110 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_get_type_internal" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_get_type_internal \- get character bidi type
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiCharType fribidi_get_type_internal(FriBidiChar ch);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiChar ch"
+Input character.
+.SH "DESCRIPTION"
+Deprecated. Replaced by fribidi_get_bidi_type.
+.SH "RETURNS"
+Possible values for a \fBFriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_join_arabic.3 b/doc/fribidi_join_arabic.3
new file mode 100644
index 0000000..f78c70a
--- /dev/null
+++ b/doc/fribidi_join_arabic.3
@@ -0,0 +1,152 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_join_arabic" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_join_arabic \- do Arabic joining
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+void fribidi_join_arabic
+.br
+(
+.br
+ const FriBidiCharType *bidi_types,
+.br
+ const FriBidiStrIndex len,
+.br
+ const FriBidiLevel *embedding_levels,
+.br
+ FriBidiArabicProp *ar_props
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const FriBidiCharType *bidi_types"
+Input list of bidi types as
+returned by
+fribidi_get_bidi_types().
+.sp
+Possible values for a \fBconst FriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.TP
+.B "const FriBidiStrIndex len"
+Input string length.
+.TP
+.B "const FriBidiLevel *embedding_levels"
+Input list of embedding
+levels, as returned by
+fribidi_get_par_embedding_levels.
+.TP
+.B "FriBidiArabicProp *ar_props"
+Arabic properties to analyze, initilized by
+joining types, as returned by
+fribidi_get_joining_types.
+.SH "DESCRIPTION"
+This function does the Arabic joining algorithm. Means, given Arabic
+joining types of the characters in ar_props (don't worry,
+FriBidiJoiningType can be casted to FriBidiArabicProp automagically), this
+function modifies this properties to grasp the effect of neighboring
+characters. You probably need this information later to do Arabic shaping.
+
+This function implements rules R1 to R7 inclusive (all rules) of the Arabic
+Cursive Joining algorithm of the Unicode standard as available at
+http://www.unicode.org/versions/Unicode4.0.0/ch08.pdf#G7462. It also
+interacts correctly with the bidirection algorithm as defined in Section
+.br
+3.5 Shaping of the Unicode Bidirectional Algorithm available at
+http://www.unicode.org/reports/tr9/#Shaping.
+
+There are a few macros defined in fribidi-joining-types.h for querying the
+Arabic properties computed by this function.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_log2vis.3 b/doc/fribidi_log2vis.3
new file mode 100644
index 0000000..7ae2c6e
--- /dev/null
+++ b/doc/fribidi_log2vis.3
@@ -0,0 +1,120 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_log2vis" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_log2vis \- get visual string
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiLevel fribidi_log2vis
+.br
+(
+.br
+ const FriBidiChar *str,
+.br
+ const FriBidiStrIndex len,
+.br
+ FriBidiParType *pbase_dir,
+.br
+ FriBidiChar *visual_str,
+.br
+ FriBidiStrIndex *positions_L_to_V,
+.br
+ FriBidiStrIndex *positions_V_to_L,
+.br
+ FriBidiLevel *embedding_levels
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const FriBidiChar *str"
+Input logical string.
+.TP
+.B "const FriBidiStrIndex len"
+Input string length.
+.TP
+.B "FriBidiParType *pbase_dir"
+Requested and resolved paragraph
+base direction.
+.sp
+Possible values for a \fBFriBidiParType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_PAR_LTR\fR
+Left-To-Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_RTL\fR
+Right-To-Left paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_ON\fR
+DirectiOn-Neutral paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WLTR\fR
+Weak Left To Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WRTL\fR
+Weak Right To Left paragraph.
+.RE
+.PD
+.TP
+.B "FriBidiChar *visual_str"
+Output visual string.
+.TP
+.B "FriBidiStrIndex *positions_L_to_V"
+Output mapping from logical to
+visual string positions.
+.TP
+.B "FriBidiStrIndex *positions_V_to_L"
+Output mapping from visual string
+back to the logical string
+positions.
+.TP
+.B "FriBidiLevel *embedding_levels"
+Output list of embedding levels.
+.SH "DESCRIPTION"
+This function converts the logical input string to the visual output
+strings as specified by the Unicode Bidirectional Algorithm. As a side
+effect it also generates mapping lists between the two strings, and the
+list of embedding levels as defined by the algorithm.
+
+If NULL is passed as any of the the lists, the list is ignored and not
+filled.
+
+This function is obsolete because it only handles one-line paragraphs.
+Please consider using other functions instead. Deprecated.
+.SH "RETURNS"
+Maximum level found plus one, or zero if any error occured
+(memory allocation failure most probably).
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_log2vis_get_embedding_levels.3 b/doc/fribidi_log2vis_get_embedding_levels.3
new file mode 100644
index 0000000..395f87a
--- /dev/null
+++ b/doc/fribidi_log2vis_get_embedding_levels.3
@@ -0,0 +1,157 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_log2vis_get_embedding_levels" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_log2vis_get_embedding_levels \- get embedding levels
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiLevel fribidi_log2vis_get_embedding_levels
+.br
+(
+.br
+ const FriBidiCharType *bidi_types,
+.br
+ const FriBidiStrIndex len,
+.br
+ FriBidiParType *pbase_dir,
+.br
+ FriBidiLevel *embedding_levels
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const FriBidiCharType *bidi_types"
+Input list of bidi types as returned by
+fribidi_get_bidi_types().
+.sp
+Possible values for a \fBconst FriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.TP
+.B "const FriBidiStrIndex len"
+Input string length of the paragraph.
+.TP
+.B "FriBidiParType *pbase_dir"
+Requested and resolved paragraph
+base direction.
+.sp
+Possible values for a \fBFriBidiParType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_PAR_LTR\fR
+Left-To-Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_RTL\fR
+Right-To-Left paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_ON\fR
+DirectiOn-Neutral paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WLTR\fR
+Weak Left To Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WRTL\fR
+Weak Right To Left paragraph.
+.RE
+.PD
+.TP
+.B "FriBidiLevel *embedding_levels"
+Output list of embedding levels.
+.SH "DESCRIPTION"
+Deprecated. Replaced by fribidi_get_par_embedding_levels.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_mirroring_status.3 b/doc/fribidi_mirroring_status.3
new file mode 100644
index 0000000..6843db3
--- /dev/null
+++ b/doc/fribidi_mirroring_status.3
@@ -0,0 +1,40 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_mirroring_status" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_mirroring_status \- get current mirroring status
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+fribidi_boolean fribidi_mirroring_status(void);
+.ft R
+.SH "DESCRIPTION"
+This function is deprecated and only used with other deprecated functions.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_parse_charset.3 b/doc/fribidi_parse_charset.3
new file mode 100644
index 0000000..adaa646
--- /dev/null
+++ b/doc/fribidi_parse_charset.3
@@ -0,0 +1,74 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_parse_charset" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_parse_charset \- parse character set name
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiCharSet fribidi_parse_charset(const char *s);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const char *s"
+Input name of the character set.
+.SH "DESCRIPTION"
+Parse character set name.
+.SH "RETURNS"
+The character set named s, or FRIBIDI_CHAR_SET_NOT_FOUND if the
+character set is not available.
+.sp
+Possible values for a \fBFriBidiCharSet\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_CHAR_SET_ISO8859_6'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_UTF8\fR
+UTF-8 (Unicode).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CAP_RTL\fR
+CapRTL (Test).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_ISO8859_6\fR
+ISO8859-6 (Arabic).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_ISO8859_8\fR
+ISO8859-8 (Hebrew).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CP1255\fR
+CP1255 (MS Hebrew/Yiddish).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CP1256\fR
+CP1256 (MS Arabic).
+.RE
+.PD
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_remove_bidi_marks.3 b/doc/fribidi_remove_bidi_marks.3
new file mode 100644
index 0000000..f84249b
--- /dev/null
+++ b/doc/fribidi_remove_bidi_marks.3
@@ -0,0 +1,92 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_remove_bidi_marks" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_remove_bidi_marks \- remove bidi marks out of an string
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiStrIndex fribidi_remove_bidi_marks
+.br
+(
+.br
+ FriBidiChar *str,
+.br
+ const FriBidiStrIndex len,
+.br
+ FriBidiStrIndex *positions_to_this,
+.br
+ FriBidiStrIndex *position_from_this_list,
+.br
+ FriBidiLevel *embedding_levels
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiChar *str"
+Input string to clean.
+.TP
+.B "const FriBidiStrIndex len"
+Input string length.
+.TP
+.B "FriBidiStrIndex *positions_to_this"
+List mapping positions to the
+order used in str.
+.TP
+.B "FriBidiStrIndex *position_from_this_list"
+List mapping positions from the
+order used in str.
+.TP
+.B "FriBidiLevel *embedding_levels"
+List of embedding levels.
+.SH "DESCRIPTION"
+This function removes the bidi and boundary-neutral marks out of an string
+and the accompanying lists. It implements rule X9 of the Unicode
+Bidirectional Algorithm available at
+http://www.unicode.org/reports/tr9/#X9, with the exception that it removes
+U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK too.
+
+If any of the input lists are NULL, the list is skipped. If str is the
+visual string, then positions_to_this is positions_L_to_V and
+position_from_this_list is positions_V_to_L; if str is the logical
+string, the other way. Moreover, the position maps should be filled with
+valid entries.
+
+A position map pointing to a removed character is filled with \-1. By the
+way, you should not use embedding_levels if str is visual string.
+
+For best results this function should be run on a whole paragraph, not
+lines; but feel free to do otherwise if you know what you are doing.
+Deprecated. Use fribidi_remove_special_chars instead.
+.SH "RETURNS"
+New length of the string, or \-1 if an error occured (memory
+allocation failure most probably).
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_reorder_line.3 b/doc/fribidi_reorder_line.3
new file mode 100644
index 0000000..e5379f5
--- /dev/null
+++ b/doc/fribidi_reorder_line.3
@@ -0,0 +1,206 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_reorder_line" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_reorder_line \- reorder a line of logical string to visual
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiLevel fribidi_reorder_line
+.br
+(
+.br
+ FriBidiFlags flags,
+.br
+ const FriBidiCharType *bidi_types,
+.br
+ const FriBidiStrIndex len,
+.br
+ const FriBidiStrIndex off,
+.br
+ const FriBidiParType base_dir,
+.br
+ FriBidiLevel *embedding_levels,
+.br
+ FriBidiChar *visual_str,
+.br
+ FriBidiStrIndex *map
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiFlags flags"
+Reorder flags.
+.TP
+.B "const FriBidiCharType *bidi_types"
+Input list of bidi types as returned by
+fribidi_get_bidi_types().
+.sp
+Possible values for a \fBconst FriBidiCharType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_TYPE_LTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LTR\fR
+Left-To-Right letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RTL\fR
+Right-To-Left letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AL\fR
+Arabic Letter.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_EN\fR
+European Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_AN\fR
+Arabic Numeral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ES\fR
+European number Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ET\fR
+European number Terminator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_CS\fR
+Common Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_NSM\fR
+Non Spacing Mark.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BN\fR
+Boundary Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_BS\fR
+Block Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_SS\fR
+Segment Separator.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_WS\fR
+WhiteSpace.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_ON\fR
+Other Neutral.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRE\fR
+Left-to-Right Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLE\fR
+Right-to-Left Embedding.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_LRO\fR
+Left-to-Right Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_RLO\fR
+Right-to-Left Override.
+.TP \n(TLu
+\fBFRIBIDI_TYPE_PDF\fR
+Pop Directional Flag.
+.RE
+.PD
+.TP
+.B "const FriBidiStrIndex len"
+Input length of the line.
+.TP
+.B "const FriBidiStrIndex off"
+Input offset of the beginning of the line
+in the paragraph.
+.TP
+.B "const FriBidiParType base_dir"
+Resolved paragraph base direction.
+.sp
+Possible values for a \fBconst FriBidiParType\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_PAR_WLTR'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_PAR_LTR\fR
+Left-To-Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_RTL\fR
+Right-To-Left paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_ON\fR
+DirectiOn-Neutral paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WLTR\fR
+Weak Left To Right paragraph.
+.TP \n(TLu
+\fBFRIBIDI_PAR_WRTL\fR
+Weak Right To Left paragraph.
+.RE
+.PD
+.TP
+.B "FriBidiLevel *embedding_levels"
+Input list of embedding levels,
+as returned by
+fribidi_get_par_embedding_levels.
+.TP
+.B "FriBidiChar *visual_str"
+Visual string to reorder.
+.TP
+.B "FriBidiStrIndex *map"
+A map of string indices which is reordered
+to reflect where each glyph ends up.
+.SH "DESCRIPTION"
+This function reorders the characters in a line of text from logical to
+final visual order. This function implements part 4 of rule L1, and rules
+L2 and L3 of the Unicode Bidirectional Algorithm available at
+http://www.unicode.org/reports/tr9/#Reordering_Resolved_Levels.
+
+As a side effect it also sets position maps if not NULL.
+
+You should provide the resolved paragraph direction and embedding levels as
+set by fribidi_get_par_embedding_levels(). Also note that the embedding
+levels may change a bit. To be exact, the embedding level of any sequence
+of white space at the end of line is reset to the paragraph embedding level
+(That is part 4 of rule L1).
+
+Note that the bidi types and embedding levels are not reordered. You can
+reorder these (or any other) arrays using the map later. The user is
+responsible to initialize map to something sensible, like an identity
+mapping, or pass NULL if no map is needed.
+
+There is an optional part to this function, which is whether non-spacing
+marks for right-to-left parts of the text should be reordered to come after
+their base characters in the visual string or not. Most rendering engines
+expect this behavior, but console-based systems for example do not like it.
+This is controlled by the FRIBIDI_FLAG_REORDER_NSM flag. The flag is on
+in FRIBIDI_FLAGS_DEFAULT.
+.SH "RETURNS"
+Maximum level found in this line plus one, or zero if any error
+occured (memory allocation failure most probably).
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_reorder_nsm_status.3 b/doc/fribidi_reorder_nsm_status.3
new file mode 100644
index 0000000..a708e4e
--- /dev/null
+++ b/doc/fribidi_reorder_nsm_status.3
@@ -0,0 +1,40 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_reorder_nsm_status" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_reorder_nsm_status \- get current marks reordering status
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+fribidi_boolean fribidi_reorder_nsm_status(void);
+.ft R
+.SH "DESCRIPTION"
+This function is deprecated and only used with other deprecated functions.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_set_debug.3 b/doc/fribidi_set_debug.3
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/fribidi_set_debug.3
diff --git a/doc/fribidi_set_mirroring.3 b/doc/fribidi_set_mirroring.3
new file mode 100644
index 0000000..9c9d9e1
--- /dev/null
+++ b/doc/fribidi_set_mirroring.3
@@ -0,0 +1,54 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_set_mirroring" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_set_mirroring \- set mirroring on or off
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+fribidi_boolean fribidi_set_mirroring(fribidi_boolean state);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "fribidi_boolean state"
+New state to set.
+.SH "DESCRIPTION"
+This function is used to turn character mirroring on or off.
+Character mirroring is the act of replacing a mirrorable glyph
+(character), eg. Left paranthesis, with the matching glyph,
+eg. Right paranthesis, in a right-to-left resolved context.
+If your rendering engine does mirroring itself, you may want to
+turn it off here.
+
+This flag is on by default.
+This function is deprecated and only used with other deprecated functions.
+.SH "RETURNS"
+The new mirroring status.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_set_reorder_nsm.3 b/doc/fribidi_set_reorder_nsm.3
new file mode 100644
index 0000000..7d91585
--- /dev/null
+++ b/doc/fribidi_set_reorder_nsm.3
@@ -0,0 +1,56 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_set_reorder_nsm" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_set_reorder_nsm \- set marks reordering on or off
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+fribidi_boolean fribidi_set_reorder_nsm(fribidi_boolean state);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "fribidi_boolean state"
+New state to set.
+.SH "DESCRIPTION"
+This function is used to turn non-spacing marks reordering on or
+off. Reordering non-spacing marks is the act of placing non-spacing
+marks (bidi class NSM) after their base character in a right-to-left
+resolved context. If your rendering engine expects non-spacing marks
+always after the base character in the memory representation of the
+visual string, you need this option on. An example of where people
+may need it off is when rendering in the console when non-spacing
+marks cannot be applied on top of the base character.
+
+This flag is on by default.
+This function is deprecated and only used with other deprecated functions.
+.SH "RETURNS"
+The new marks reordering status.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_shape.3 b/doc/fribidi_shape.3
new file mode 100644
index 0000000..0a2051b
--- /dev/null
+++ b/doc/fribidi_shape.3
@@ -0,0 +1,85 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_shape" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_shape \- do bidi-aware shaping
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+void fribidi_shape
+.br
+(
+.br
+ FriBidiFlags flags,
+.br
+ const FriBidiLevel *embedding_levels,
+.br
+ const FriBidiStrIndex len,
+.br
+ FriBidiArabicProp *ar_props,
+.br
+ FriBidiChar *str
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiFlags flags"
+Shaping flags.
+.TP
+.B "const FriBidiLevel *embedding_levels"
+Input list of embedding
+levels, as returned by
+fribidi_get_par_embedding_levels.
+.TP
+.B "const FriBidiStrIndex len"
+Input string length.
+.TP
+.B "FriBidiArabicProp *ar_props"
+Input/output Arabic properties as
+computed by fribidi_join_arabic.
+.TP
+.B "FriBidiChar *str"
+String to shape.
+.SH "DESCRIPTION"
+This function does all shaping work that depends on the resolved embedding
+levels of the characters. Currently it does mirroring and Arabic shaping,
+but the list may grow in the future. This function is a wrapper around
+fribidi_shape_mirroring and fribidi_shape_arabic.
+
+The flags parameter specifies which shapings are applied. The only flags
+affecting the functionality of this function are those beginning with
+FRIBIDI_FLAG_SHAPE_. Of these, only FRIBIDI_FLAG_SHAPE_MIRRORING is on
+in FRIBIDI_FLAGS_DEFAULT. For details of the Arabic-specific flags see
+fribidi_shape_arabic. If ar_props is NULL, no Arabic shaping is performed.
+
+Feel free to do your own shaping before or after calling this function,
+but you should take care of embedding levels yourself then.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3)
diff --git a/doc/fribidi_shape_mirroring.3 b/doc/fribidi_shape_mirroring.3
new file mode 100644
index 0000000..777777e
--- /dev/null
+++ b/doc/fribidi_shape_mirroring.3
@@ -0,0 +1,67 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_shape_mirroring" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_shape_mirroring \- do mirroring shaping
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+void fribidi_shape_mirroring
+.br
+(
+.br
+ const FriBidiLevel *embedding_levels,
+.br
+ const FriBidiStrIndex len,
+.br
+ FriBidiChar *str
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "const FriBidiLevel *embedding_levels"
+Input list of embedding
+levels, as returned by
+fribidi_get_par_embedding_levels.
+.TP
+.B "const FriBidiStrIndex len"
+Input string length.
+.TP
+.B "FriBidiChar *str"
+String to shape.
+.SH "DESCRIPTION"
+This functions replaces mirroring characters on right-to-left embeddings in
+string with their mirrored equivalent as returned by
+fribidi_get_mirror_char().
+
+This function implements rule L4 of the Unicode Bidirectional Algorithm
+available at http://www.unicode.org/reports/tr9/#L4.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_unicode_to_charset(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_unicode_to_charset.3 b/doc/fribidi_unicode_to_charset.3
new file mode 100644
index 0000000..830dcc5
--- /dev/null
+++ b/doc/fribidi_unicode_to_charset.3
@@ -0,0 +1,95 @@
+.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
+.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
+.TH "fribidi_unicode_to_charset" 3 "25 August 2012" "GNU FriBidi 0.19.3" "Programmer's Manual"
+.SH "NAME"
+fribidi_unicode_to_charset \- convert string from Unicode
+.SH "SYNOPSIS"
+.ft B
+#include <fribidi.h>
+.sp
+FriBidiStrIndex fribidi_unicode_to_charset
+.br
+(
+.br
+ FriBidiCharSet char_set,
+.br
+ const FriBidiChar *us,
+.br
+ FriBidiStrIndex len,
+.br
+ char *s
+.br
+);
+.ft R
+.SH "PARAMETERS"
+.TP
+.B "FriBidiCharSet char_set"
+Character set to conver to.
+.sp
+Possible values for a \fBFriBidiCharSet\fR are as follows:
+.RS 0.75in
+.PD 0
+.ft B
+.nr TL \w'FRIBIDI_CHAR_SET_ISO8859_6'u+0.2i
+.ft R
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_UTF8\fR
+UTF-8 (Unicode).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CAP_RTL\fR
+CapRTL (Test).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_ISO8859_6\fR
+ISO8859-6 (Arabic).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_ISO8859_8\fR
+ISO8859-8 (Hebrew).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CP1255\fR
+CP1255 (MS Hebrew/Yiddish).
+.TP \n(TLu
+\fBFRIBIDI_CHAR_SET_CP1256\fR
+CP1256 (MS Arabic).
+.RE
+.PD
+.TP
+.B "const FriBidiChar *us"
+Input Unicode string.
+.TP
+.B "FriBidiStrIndex len"
+Input string length.
+.TP
+.B "char *s"
+Output string encoded in char_set.
+.SH "DESCRIPTION"
+This function converts a Unicode string to an string in another character
+set. It also null-terminates the output string.
+.SH "RETURNS"
+The length of the new string.
+.SH "SEE ALSO"
+fribidi_charset_to_unicode(3),
+fribidi_parse_charset(3),
+fribidi_shape_arabic(3),
+fribidi_get_par_direction(3),
+fribidi_get_par_embedding_levels(3),
+fribidi_reorder_line(3),
+fribidi_get_bidi_type(3),
+fribidi_get_bidi_types(3),
+fribidi_get_bidi_type_name(3),
+fribidi_debug_status(3),
+fribidi_mirroring_status(3),
+fribidi_set_mirroring(3),
+fribidi_reorder_nsm_status(3),
+fribidi_set_reorder_nsm(3),
+fribidi_log2vis_get_embedding_levels(3),
+fribidi_get_type(3),
+fribidi_get_type_internal(3),
+fribidi_remove_bidi_marks(3),
+fribidi_log2vis(3),
+fribidi_join_arabic(3),
+fribidi_get_joining_type(3),
+fribidi_get_joining_types(3),
+fribidi_get_joining_type_name(3),
+fribidi_get_mirror_char(3),
+fribidi_shape_mirroring(3),
+fribidi_shape(3)
diff --git a/doc/fribidi_unicode_version.3 b/doc/fribidi_unicode_version.3
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/fribidi_unicode_version.3
diff --git a/doc/fribidi_version_info.3 b/doc/fribidi_version_info.3
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/fribidi_version_info.3