aboutsummaryrefslogtreecommitdiff
path: root/converters
diff options
context:
space:
mode:
authorSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2013-09-11 18:06:31 +0000
committerSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2013-09-11 18:06:31 +0000
commit7f6916227eb16fed2828bd1d733f14ec1b72a099 (patch)
treeac9f14ec9cdb8523bbeec2d6a02039d06639ad69 /converters
parent7edda98febad312802475dba6b50d7479a37397b (diff)
downloadports-7f6916227eb16fed2828bd1d733f14ec1b72a099.tar.gz
ports-7f6916227eb16fed2828bd1d733f14ec1b72a099.zip
Notes
Diffstat (limited to 'converters')
-rw-r--r--converters/p5-Text-Bidi/Makefile20
-rw-r--r--converters/p5-Text-Bidi/distinfo4
-rw-r--r--converters/p5-Text-Bidi/files/patch-private.c3028
-rw-r--r--converters/p5-Text-Bidi/pkg-plist8
4 files changed, 22 insertions, 3038 deletions
diff --git a/converters/p5-Text-Bidi/Makefile b/converters/p5-Text-Bidi/Makefile
index 48f6d0f5d716..32ea1a57cab5 100644
--- a/converters/p5-Text-Bidi/Makefile
+++ b/converters/p5-Text-Bidi/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= Text-Bidi
-PORTVERSION= 0.03
-PORTREVISION= 1
+PORTVERSION= 2.01
CATEGORIES= converters perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -11,11 +10,20 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Perl interface to the libfribidi
-LIB_DEPENDS= fribidi.3:${PORTSDIR}/converters/fribidi
+LICENSE= ART10 GPLv1
+LICENSE_COMB= dual
+
+BUILD_DEPENDS= p5-ExtUtils-PkgConfig>=0:${PORTSDIR}/devel/p5-ExtUtils-PkgConfig
+LIB_DEPENDS= libfribidi.so:${PORTSDIR}/converters/fribidi
-USES= perl5
USE_PERL5= configure
-CFLAGS+= -I${LOCALBASE}/include
-MAN3= Text::Bidi.3 Text::Bidi::CapRTL.3
+USES= perl5
+
+MAN1= fribidi.pl.1
+MAN3= Text::Bidi.3 \
+ Text::Bidi::Array.3 \
+ Text::Bidi::Array::Byte.3 \
+ Text::Bidi::Array::Long.3 \
+ Text::Bidi::Paragraph.3
.include <bsd.port.mk>
diff --git a/converters/p5-Text-Bidi/distinfo b/converters/p5-Text-Bidi/distinfo
index 731f566efca1..1abda11cbd84 100644
--- a/converters/p5-Text-Bidi/distinfo
+++ b/converters/p5-Text-Bidi/distinfo
@@ -1,2 +1,2 @@
-SHA256 (Text-Bidi-0.03.tar.gz) = 764bb67ee49882aae7e889d1a8ce9b0bc67d50eee6589b72a5e180b42d6364f9
-SIZE (Text-Bidi-0.03.tar.gz) = 35321
+SHA256 (Text-Bidi-2.01.tar.gz) = fd53afd6c274bcb9f2d0a5e2f1652d27d1629fcff9b3c0b7deb78ff8b50b2057
+SIZE (Text-Bidi-2.01.tar.gz) = 37076
diff --git a/converters/p5-Text-Bidi/files/patch-private.c b/converters/p5-Text-Bidi/files/patch-private.c
deleted file mode 100644
index eef69a82930c..000000000000
--- a/converters/p5-Text-Bidi/files/patch-private.c
+++ /dev/null
@@ -1,3028 +0,0 @@
---- private.c.orig 2009-08-22 19:09:43.000000000 -0400
-+++ private.c 2009-08-22 19:09:46.000000000 -0400
-@@ -1,6 +1,6 @@
- /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
-- * Version 1.3.31
-+ * Version 1.3.39
- *
- * This file is not intended to be easily readable and contains a number of
- * coding conventions designed to improve portability and efficiency. Do not make
-@@ -10,6 +10,7 @@
-
- #define SWIGPERL
- #define SWIG_CASTRANK_MODE
-+
- /* -----------------------------------------------------------------------------
- * This section contains generic SWIG labels for method/variable
- * declarations/attributes, and other compiler dependent labels.
-@@ -17,14 +18,14 @@
-
- /* template workaround for compilers that cannot correctly implement the C++ standard */
- #ifndef SWIGTEMPLATEDISAMBIGUATOR
--# if defined(__SUNPRO_CC)
--# if (__SUNPRO_CC <= 0x560)
--# define SWIGTEMPLATEDISAMBIGUATOR template
--# else
--# define SWIGTEMPLATEDISAMBIGUATOR
--# endif
-+# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
-+# define SWIGTEMPLATEDISAMBIGUATOR template
-+# elif defined(__HP_aCC)
-+/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
-+/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
-+# define SWIGTEMPLATEDISAMBIGUATOR template
- # else
--# define SWIGTEMPLATEDISAMBIGUATOR
-+# define SWIGTEMPLATEDISAMBIGUATOR
- # endif
- #endif
-
-@@ -52,6 +53,12 @@
- # endif
- #endif
-
-+#ifndef SWIG_MSC_UNSUPPRESS_4505
-+# if defined(_MSC_VER)
-+# pragma warning(disable : 4505) /* unreferenced local function has been removed */
-+# endif
-+#endif
-+
- #ifndef SWIGUNUSEDPARM
- # ifdef __cplusplus
- # define SWIGUNUSEDPARM(p)
-@@ -107,16 +114,22 @@
- # define _CRT_SECURE_NO_DEPRECATE
- #endif
-
-+/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
-+#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
-+# define _SCL_SECURE_NO_DEPRECATE
-+#endif
-+
-+
- /* -----------------------------------------------------------------------------
- * swigrun.swg
- *
-- * This file contains generic CAPI SWIG runtime support for pointer
-+ * This file contains generic C API SWIG runtime support for pointer
- * type checking.
- * ----------------------------------------------------------------------------- */
-
- /* This should only be incremented when either the layout of swig_type_info changes,
- or for whatever reason, the runtime changes incompatibly */
--#define SWIG_RUNTIME_VERSION "3"
-+#define SWIG_RUNTIME_VERSION "4"
-
- /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
- #ifdef SWIG_TYPE_TABLE
-@@ -129,11 +142,11 @@
-
- /*
- You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
-- creating a static or dynamic library from the swig runtime code.
-- In 99.9% of the cases, swig just needs to declare them as 'static'.
-+ creating a static or dynamic library from the SWIG runtime code.
-+ In 99.9% of the cases, SWIG just needs to declare them as 'static'.
-
-- But only do this if is strictly necessary, ie, if you have problems
-- with your compiler or so.
-+ But only do this if strictly necessary, ie, if you have problems
-+ with your compiler or suchlike.
- */
-
- #ifndef SWIGRUNTIME
-@@ -151,6 +164,7 @@
-
- /* Flags for pointer conversions */
- #define SWIG_POINTER_DISOWN 0x1
-+#define SWIG_CAST_NEW_MEMORY 0x2
-
- /* Flags for new pointer objects */
- #define SWIG_POINTER_OWN 0x1
-@@ -159,14 +173,14 @@
- /*
- Flags/methods for returning states.
-
-- The swig conversion methods, as ConvertPtr, return and integer
-+ The SWIG conversion methods, as ConvertPtr, return and integer
- that tells if the conversion was successful or not. And if not,
- an error code can be returned (see swigerrors.swg for the codes).
-
- Use the following macros/flags to set or process the returning
- states.
-
-- In old swig versions, you usually write code as:
-+ In old versions of SWIG, code such as the following was usually written:
-
- if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
- // success code
-@@ -174,7 +188,7 @@
- //fail code
- }
-
-- Now you can be more explicit as:
-+ Now you can be more explicit:
-
- int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
- if (SWIG_IsOK(res)) {
-@@ -183,7 +197,7 @@
- // fail code
- }
-
-- that seems to be the same, but now you can also do
-+ which is the same really, but now you can also do
-
- Type *ptr;
- int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
-@@ -201,7 +215,7 @@
-
- I.e., now SWIG_ConvertPtr can return new objects and you can
- identify the case and take care of the deallocation. Of course that
-- requires also to SWIG_ConvertPtr to return new result values, as
-+ also requires SWIG_ConvertPtr to return new result values, such as
-
- int SWIG_ConvertPtr(obj, ptr,...) {
- if (<obj is ok>) {
-@@ -219,7 +233,7 @@
-
- Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
- more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
-- swig errors code.
-+ SWIG errors code.
-
- Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
- allows to return the 'cast rank', for example, if you have this
-@@ -233,9 +247,8 @@
- fooi(1) // cast rank '0'
-
- just use the SWIG_AddCast()/SWIG_CheckState()
-+*/
-
--
-- */
- #define SWIG_OK (0)
- #define SWIG_ERROR (-1)
- #define SWIG_IsOK(r) (r >= 0)
-@@ -260,7 +273,6 @@
- #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
- #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
-
--
- /* Cast-Rank Mode */
- #if defined(SWIG_CASTRANK_MODE)
- # ifndef SWIG_TypeRank
-@@ -283,18 +295,16 @@ SWIGINTERNINLINE int SWIG_CheckState(int
- #endif
-
-
--
--
- #include <string.h>
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
--typedef void *(*swig_converter_func)(void *);
-+typedef void *(*swig_converter_func)(void *, int *);
- typedef struct swig_type_info *(*swig_dycast_func)(void **);
-
--/* Structure to store inforomation on one type */
-+/* Structure to store information on one type */
- typedef struct swig_type_info {
- const char *name; /* mangled name of this type */
- const char *str; /* human readable name of this type */
-@@ -339,7 +349,7 @@ SWIG_TypeNameComp(const char *f1, const
- while ((*f2 == ' ') && (f2 != l2)) ++f2;
- if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
- }
-- return (l1 - f1) - (l2 - f2);
-+ return (int)((l1 - f1) - (l2 - f2));
- }
-
- /*
-@@ -381,48 +391,66 @@ SWIG_TypeCompare(const char *nb, const c
- }
-
-
--/* think of this as a c++ template<> or a scheme macro */
--#define SWIG_TypeCheck_Template(comparison, ty) \
-- if (ty) { \
-- swig_cast_info *iter = ty->cast; \
-- while (iter) { \
-- if (comparison) { \
-- if (iter == ty->cast) return iter; \
-- /* Move iter to the top of the linked list */ \
-- iter->prev->next = iter->next; \
-- if (iter->next) \
-- iter->next->prev = iter->prev; \
-- iter->next = ty->cast; \
-- iter->prev = 0; \
-- if (ty->cast) ty->cast->prev = iter; \
-- ty->cast = iter; \
-- return iter; \
-- } \
-- iter = iter->next; \
-- } \
-- } \
-- return 0
--
- /*
- Check the typename
- */
- SWIGRUNTIME swig_cast_info *
- SWIG_TypeCheck(const char *c, swig_type_info *ty) {
-- SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
-+ if (ty) {
-+ swig_cast_info *iter = ty->cast;
-+ while (iter) {
-+ if (strcmp(iter->type->name, c) == 0) {
-+ if (iter == ty->cast)
-+ return iter;
-+ /* Move iter to the top of the linked list */
-+ iter->prev->next = iter->next;
-+ if (iter->next)
-+ iter->next->prev = iter->prev;
-+ iter->next = ty->cast;
-+ iter->prev = 0;
-+ if (ty->cast) ty->cast->prev = iter;
-+ ty->cast = iter;
-+ return iter;
-+ }
-+ iter = iter->next;
-+ }
-+ }
-+ return 0;
- }
-
--/* Same as previous function, except strcmp is replaced with a pointer comparison */
-+/*
-+ Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
-+*/
- SWIGRUNTIME swig_cast_info *
--SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
-- SWIG_TypeCheck_Template(iter->type == from, into);
-+SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
-+ if (ty) {
-+ swig_cast_info *iter = ty->cast;
-+ while (iter) {
-+ if (iter->type == from) {
-+ if (iter == ty->cast)
-+ return iter;
-+ /* Move iter to the top of the linked list */
-+ iter->prev->next = iter->next;
-+ if (iter->next)
-+ iter->next->prev = iter->prev;
-+ iter->next = ty->cast;
-+ iter->prev = 0;
-+ if (ty->cast) ty->cast->prev = iter;
-+ ty->cast = iter;
-+ return iter;
-+ }
-+ iter = iter->next;
-+ }
-+ }
-+ return 0;
- }
-
- /*
- Cast a pointer up an inheritance hierarchy
- */
- SWIGRUNTIMEINLINE void *
--SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
-- return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
-+SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
-+ return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
- }
-
- /*
-@@ -775,6 +803,10 @@ extern "C" {
- # endif
- #endif /* !INT2PTR */
-
-+#ifndef SvPV_nolen
-+# define SvPV_nolen(x) SvPV(x,PL_na)
-+#endif
-+
- #ifndef get_sv
- # define get_sv perl_get_sv
- #endif
-@@ -923,6 +955,11 @@ extern "C" {
-
- /* SWIG Perl macros */
-
-+/* Macro to declare an XS function */
-+#ifndef XSPROTO
-+# define XSPROTO(name) void name(pTHX_ CV* cv)
-+#endif
-+
- /* Macro to call an XS function */
- #ifdef PERL_OBJECT
- # define SWIG_CALLXS(_name) _name(cv,pPerl)
-@@ -934,51 +971,50 @@ extern "C" {
- # endif
- #endif
-
--/* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */
--
- #ifdef PERL_OBJECT
- #define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this;
--typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
-
- #ifdef __cplusplus
- extern "C" {
- #endif
--typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *);
-+typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
- #ifdef __cplusplus
- }
- #endif
-
- #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
- #define SWIGCLASS_STATIC
--#else
-+
-+#else /* PERL_OBJECT */
-+
- #define MAGIC_PPERL
- #define SWIGCLASS_STATIC static SWIGUNUSED
-+
- #ifndef MULTIPLICITY
- #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
--typedef int (*SwigMagicFunc)(SV *, MAGIC *);
-
- #ifdef __cplusplus
- extern "C" {
- #endif
--typedef int (*SwigMagicFuncHack)(SV *, MAGIC *);
-+typedef int (*SwigMagicFunc)(SV *, MAGIC *);
- #ifdef __cplusplus
- }
- #endif
-
-+#else /* MULTIPLICITY */
-
--#else
- #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
--typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
--typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *);
-+typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
- #ifdef __cplusplus
- }
- #endif
-
--#endif
--#endif
-+#endif /* MULTIPLICITY */
-+#endif /* PERL_OBJECT */
-
- /* Workaround for bug in perl 5.6.x croak and earlier */
- #if (PERL_VERSION < 8)
-@@ -1045,13 +1081,32 @@ SWIG_Perl_TypeProxyName(const swig_type_
- }
- }
-
-+/* Identical to SWIG_TypeCheck, except for strcmp comparison */
- SWIGRUNTIME swig_cast_info *
- SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
-- SWIG_TypeCheck_Template(( (!iter->type->clientdata && (strcmp((char*)iter->type->name, c) == 0))
-- || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0))), ty);
-+ if (ty) {
-+ swig_cast_info *iter = ty->cast;
-+ while (iter) {
-+ if ( (!iter->type->clientdata && (strcmp(iter->type->name, c) == 0)) ||
-+ (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0)) ) {
-+ if (iter == ty->cast)
-+ return iter;
-+ /* Move iter to the top of the linked list */
-+ iter->prev->next = iter->next;
-+ if (iter->next)
-+ iter->next->prev = iter->prev;
-+ iter->next = ty->cast;
-+ iter->prev = 0;
-+ if (ty->cast) ty->cast->prev = iter;
-+ ty->cast = iter;
-+ return iter;
-+ }
-+ iter = iter->next;
-+ }
-+ }
-+ return 0;
- }
-
--
- /* Function for getting a pointer value */
-
- SWIGRUNTIME int
-@@ -1105,7 +1160,11 @@ SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJ
- if (!tc) {
- return SWIG_ERROR;
- }
-- *ptr = SWIG_TypeCast(tc,voidptr);
-+ {
-+ int newmemory = 0;
-+ *ptr = SWIG_TypeCast(tc,voidptr,&newmemory);
-+ assert(!newmemory); /* newmemory handling not yet implemented */
-+ }
- } else {
- *ptr = voidptr;
- }
-@@ -1195,7 +1254,7 @@ SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_
- const char *c = 0;
-
- if ((!obj) || (!SvOK(obj))) return SWIG_ERROR;
-- c = SvPV(obj, PL_na);
-+ c = SvPV_nolen(obj);
- /* Pointer values must start with leading underscore */
- if (*c != '_') return SWIG_ERROR;
- c++;
-@@ -1212,7 +1271,7 @@ SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_
- #define SWIG_croak(x) { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; }
-
-
--typedef XS(SwigPerlWrapper);
-+typedef XSPROTO(SwigPerlWrapper);
- typedef SwigPerlWrapper *SwigPerlWrapperPtr;
-
- /* Structure for command table */
-@@ -1265,8 +1324,8 @@ SWIGRUNTIME void _swig_create_magic(CPer
- sv_magic(sv,sv,'U',(char *) name,strlen(name));
- mg = mg_find(sv,'U');
- mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
-- mg->mg_virtual->svt_get = (SwigMagicFuncHack) get;
-- mg->mg_virtual->svt_set = (SwigMagicFuncHack) set;
-+ mg->mg_virtual->svt_get = (SwigMagicFunc) get;
-+ mg->mg_virtual->svt_set = (SwigMagicFunc) set;
- mg->mg_virtual->svt_len = 0;
- mg->mg_virtual->svt_clear = 0;
- mg->mg_virtual->svt_free = 0;
-@@ -1280,7 +1339,7 @@ SWIG_Perl_GetModule(void) {
-
- /* first check if pointer already created */
- if (!type_pointer) {
-- pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE);
-+ pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI);
- if (pointer && SvOK(pointer)) {
- type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
- }
-@@ -1294,7 +1353,7 @@ SWIG_Perl_SetModule(swig_module_info *mo
- SV *pointer;
-
- /* create a new pointer */
-- pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE);
-+ pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI);
- sv_setiv(pointer, PTR2IV(module));
- }
-
-@@ -1395,6 +1454,12 @@ SWIG_Perl_SetModule(swig_module_info *mo
- #ifdef open
- #undef open
- #endif
-+#ifdef readdir
-+ #undef readdir
-+#endif
-+#ifdef bind
-+ #undef bind
-+#endif
-
-
-
-@@ -1407,8 +1472,8 @@ SWIG_Perl_SetModule(swig_module_info *mo
- /* -------- TYPES TABLE (BEGIN) -------- */
-
- #define SWIGTYPE_p_FriBidiCharSet swig_types[0]
--#define SWIGTYPE_p_FriBidiRunType swig_types[1]
--#define SWIGTYPE_p__FriBidiList swig_types[2]
-+#define SWIGTYPE_p_FriBidiCharType swig_types[1]
-+#define SWIGTYPE_p_FriBidiParType swig_types[2]
- #define SWIGTYPE_p_char swig_types[3]
- #define SWIGTYPE_p_int swig_types[4]
- #define SWIGTYPE_p_short swig_types[5]
-@@ -1416,9 +1481,8 @@ SWIG_Perl_SetModule(swig_module_info *mo
- #define SWIGTYPE_p_unsigned_char swig_types[7]
- #define SWIGTYPE_p_unsigned_int swig_types[8]
- #define SWIGTYPE_p_unsigned_short swig_types[9]
--#define SWIGTYPE_p_void swig_types[10]
--static swig_type_info *swig_types[12];
--static swig_module_info swig_module = {swig_types, 11, 0, 0, 0, 0};
-+static swig_type_info *swig_types[11];
-+static swig_module_info swig_module = {swig_types, 10, 0, 0, 0, 0};
- #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
- #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
-
-@@ -1429,7 +1493,7 @@ static swig_module_info swig_module = {s
- #define SWIG_name "Text::Bidi::privatec::boot_Text__Bidi__private"
- #define SWIG_prefix "Text::Bidi::privatec::"
-
--#define SWIGVERSION 0x010331
-+#define SWIGVERSION 0x010339
- #define SWIG_VERSION SWIGVERSION
-
-
-@@ -1455,7 +1519,7 @@ SWIGEXPORT void SWIG_init (CV *cv, CPerl
- #define Newx(A,B,C) New(42,A,B,C)
- #endif
- #include <fribidi/fribidi.h>
--FRIBIDI_API void log2vis ( /* input */
-+void log2vis ( /* input */
- FriBidiChar *str,
- FriBidiStrIndex len,
- /* output */
-@@ -1480,7 +1544,7 @@ SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(
- if (val) *val = (double) SvIV(obj);
- return SWIG_AddCast(SWIG_OK);
- } else {
-- const char *nptr = SvPV(obj, PL_na);
-+ const char *nptr = SvPV_nolen(obj);
- if (nptr) {
- char *endptr;
- double v = strtod(nptr, &endptr);
-@@ -1551,10 +1615,12 @@ SWIG_AsVal_unsigned_SS_long SWIG_PERL_DE
- }
- } else {
- int dispatch = 0;
-- const char *nptr = SvPV(obj, PL_na);
-+ const char *nptr = SvPV_nolen(obj);
- if (nptr) {
- char *endptr;
-- unsigned long v = strtoul(nptr, &endptr,0);
-+ unsigned long v;
-+ errno = 0;
-+ v = strtoul(nptr, &endptr,0);
- if (errno == ERANGE) {
- errno = 0;
- return SWIG_OverflowError;
-@@ -1579,14 +1645,12 @@ SWIG_AsVal_unsigned_SS_long SWIG_PERL_DE
-
-
- #include <limits.h>
--#ifndef LLONG_MIN
--# define LLONG_MIN LONG_LONG_MIN
--#endif
--#ifndef LLONG_MAX
--# define LLONG_MAX LONG_LONG_MAX
--#endif
--#ifndef ULLONG_MAX
--# define ULLONG_MAX ULONG_LONG_MAX
-+#if !defined(SWIG_NO_LLONG_MAX)
-+# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
-+# define LLONG_MAX __LONG_LONG_MAX__
-+# define LLONG_MIN (-LLONG_MAX - 1LL)
-+# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
-+# endif
- #endif
-
-
-@@ -1598,10 +1662,12 @@ SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV
- return SWIG_OK;
- } else {
- int dispatch = 0;
-- const char *nptr = SvPV(obj, PL_na);
-+ const char *nptr = SvPV_nolen(obj);
- if (nptr) {
- char *endptr;
-- long v = strtol(nptr, &endptr,0);
-+ long v;
-+ errno = 0;
-+ v = strtol(nptr, &endptr,0);
- if (errno == ERANGE) {
- errno = 0;
- return SWIG_OverflowError;
-@@ -1641,20 +1707,65 @@ SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV
- }
-
-
-+SWIGINTERN swig_type_info*
-+SWIG_pchar_descriptor(void)
-+{
-+ static int init = 0;
-+ static swig_type_info* info = 0;
-+ if (!init) {
-+ info = SWIG_TypeQuery("_p_char");
-+ init = 1;
-+ }
-+ return info;
-+}
-+
-+
-+SWIGINTERN int
-+SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
-+{
-+ if (SvMAGICAL(obj)) {
-+ SV *tmp = sv_newmortal();
-+ SvSetSV(tmp, obj);
-+ obj = tmp;
-+ }
-+ if (SvPOK(obj)) {
-+ STRLEN len = 0;
-+ char *cstr = SvPV(obj, len);
-+ size_t size = len + 1;
-+ if (cptr) {
-+ if (alloc) {
-+ if (*alloc == SWIG_NEWOBJ) {
-+ *cptr = (char *)memcpy((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size));
-+ } else {
-+ *cptr = cstr;
-+ *alloc = SWIG_OLDOBJ;
-+ }
-+ }
-+ }
-+ if (psize) *psize = size;
-+ return SWIG_OK;
-+ } else {
-+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
-+ if (pchar_descriptor) {
-+ char* vptr = 0;
-+ if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) {
-+ if (cptr) *cptr = vptr;
-+ if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
-+ if (alloc) *alloc = SWIG_OLDOBJ;
-+ return SWIG_OK;
-+ }
-+ }
-+ }
-+ return SWIG_TypeError;
-+}
-+
-+
- SWIGINTERNINLINE SV *
- SWIG_FromCharPtrAndSize(const char* carray, size_t size)
- {
- SV *obj = sv_newmortal();
- if (carray) {
-- if (size && (carray[size - 1] == 0)) {
-- sv_setpv(obj, carray);
-- } else {
-- char *tmp = (char *)malloc((size + 1)*sizeof(char));
-- memcpy(tmp, carray, size);
-- tmp[size] = 0;
-- sv_setpv(obj, tmp);
-- free((char*)tmp);
-- }
-+ sv_setpvn(obj, carray, size);
- } else {
- sv_setsv(obj, &PL_sv_undef);
- }
-@@ -1702,6 +1813,13 @@ SWIG_AsVal_unsigned_SS_int SWIG_PERL_DEC
-
-
- SWIGINTERNINLINE SV *
-+SWIG_From_signed_SS_char SWIG_PERL_DECL_ARGS_1(signed char value)
-+{
-+ return SWIG_From_long SWIG_PERL_CALL_ARGS_1(value);
-+}
-+
-+
-+SWIGINTERNINLINE SV *
- SWIG_From_unsigned_SS_long SWIG_PERL_DECL_ARGS_1(unsigned long value)
- {
- SV *obj = sv_newmortal();
-@@ -1710,59 +1828,38 @@ SWIG_From_unsigned_SS_long SWIG_PERL_DE
- }
-
-
--SWIGINTERN swig_type_info*
--SWIG_pchar_descriptor(void)
--{
-- static int init = 0;
-- static swig_type_info* info = 0;
-- if (!init) {
-- info = SWIG_TypeQuery("_p_char");
-- init = 1;
-- }
-- return info;
-+SWIGINTERNINLINE SV *
-+SWIG_From_unsigned_SS_char SWIG_PERL_DECL_ARGS_1(unsigned char value)
-+{
-+ return SWIG_From_unsigned_SS_long SWIG_PERL_CALL_ARGS_1(value);
- }
-
-
- SWIGINTERN int
--SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
-+SWIG_AsVal_unsigned_SS_char SWIG_PERL_DECL_ARGS_2(SV * obj, unsigned char *val)
- {
-- if (SvPOK(obj)) {
-- STRLEN len = 0;
-- char *cstr = SvPV(obj, len);
-- size_t size = len + 1;
-- if (cptr) {
-- if (alloc) {
-- if (*alloc == SWIG_NEWOBJ) {
-- *cptr = (char *)memcpy((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size));
-- } else {
-- *cptr = cstr;
-- *alloc = SWIG_OLDOBJ;
-- }
-- }
-- }
-- if (psize) *psize = size;
-- return SWIG_OK;
-- } else {
-- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
-- if (pchar_descriptor) {
-- char* vptr = 0;
-- if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) {
-- if (cptr) *cptr = vptr;
-- if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
-- if (alloc) *alloc = SWIG_OLDOBJ;
-- return SWIG_OK;
-- }
-+ unsigned long v;
-+ int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, &v);
-+ if (SWIG_IsOK(res)) {
-+ if ((v > UCHAR_MAX)) {
-+ return SWIG_OverflowError;
-+ } else {
-+ if (val) *val = (unsigned char)(v);
- }
-- }
-- return SWIG_TypeError;
-+ }
-+ return res;
- }
-
-
-
-
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
- #ifdef PERL_OBJECT
--#define MAGIC_CLASS _wrap_Text::Bidi::private_var::
--class _wrap_Text::Bidi::private_var : public CPerlObj {
-+#define MAGIC_CLASS _wrap_Text__Bidi__private_var::
-+class _wrap_Text__Bidi__private_var : public CPerlObj {
- public:
- #else
- #define MAGIC_CLASS
-@@ -1772,9 +1869,28 @@ SWIGCLASS_STATIC int swig_magic_readonly
- croak("Value is read-only.");
- return 0;
- }
--SWIGCLASS_STATIC int _wrap_fribidi_prop_to_type_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
-+SWIGCLASS_STATIC int _wrap_fribidi_unicode_version_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) {
-+ MAGIC_PPERL
-+ {
-+ char *cptr = 0; size_t csize = 0; int alloc = SWIG_NEWOBJ;
-+ int res = SWIG_AsCharPtrAndSize(sv, &cptr, &csize, &alloc);
-+ if (!SWIG_IsOK(res)) {
-+ SWIG_exception_fail(SWIG_ArgError(res), "in variable '""fribidi_unicode_version""' of type '""char const *""'");
-+ }
-+ if (alloc == SWIG_NEWOBJ) {
-+ fribidi_unicode_version = cptr;
-+ } else {
-+ fribidi_unicode_version = csize ? (char const *)(char *)memcpy((char *)malloc((csize)*sizeof(char)), cptr, sizeof(char)*(csize)) : 0;
-+ }
-+ }
-+fail:
-+ return 1;
-+}
-+
-+
-+SWIGCLASS_STATIC int _wrap_fribidi_unicode_version_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
- MAGIC_PPERL
-- sv_setiv(SvRV(sv),PTR2IV(fribidi_prop_to_type));
-+ sv_setsv(sv,SWIG_FromCharPtr(fribidi_unicode_version)) ;
- return 1;
- }
-
-@@ -1786,6 +1902,10 @@ SWIGCLASS_STATIC int _wrap_fribidi_prop_
- #endif
-
- #ifdef __cplusplus
-+}
-+#endif
-+
-+#ifdef __cplusplus
- extern "C" {
- #endif
- XS(_wrap_log2vis) {
-@@ -1814,7 +1934,7 @@ XS(_wrap_log2vis) {
-
- temp4 = FRIBIDI_TYPE_ON;
- arg4 = &temp4;
-- _global_wantarray = /*@SWIG:WANTARRAY@*/(GIMME_V == G_ARRAY)
-+ _global_wantarray = /*@SWIG:swig/fribidi.i,33,WANTARRAY@*/(GIMME_V == G_ARRAY)
- /*@SWIG@*/;
-
- arg2 = 0;
-@@ -1839,7 +1959,7 @@ XS(_wrap_log2vis) {
- *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar));
- arg1 = (FriBidiChar *)(buf1);
- if (items > 1) {
-- if (!(SWIG_IsOK((res4 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg4),SWIGTYPE_p_int,0))))) {
-+ if (!(SWIG_IsOK((res4 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg4),SWIGTYPE_p_FriBidiCharType,0))))) {
- unsigned long val;
- int ecode = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val);
- if (!SWIG_IsOK(ecode)) {
-@@ -1862,10 +1982,10 @@ XS(_wrap_log2vis) {
- }
- _saved[0] = ST(1);
- log2vis(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
--
-+ ST(argvi) = sv_newmortal();
- {
-- /*@SWIG:MXPUSHP@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newSVpvn((const char *)(arg3),(STRLEN)( (*_global_p_len) * sizeof(FriBidiChar))));
-@@ -1875,8 +1995,8 @@ XS(_wrap_log2vis) {
- }
- {
- if (_global_wantarray) {
-- /*@SWIG:MXPUSHU@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,48,MXPUSHU@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newSVuv(*(arg4)));
-@@ -1887,14 +2007,14 @@ XS(_wrap_log2vis) {
- }
- {
- if ( _global_wantarray )
-- /*@SWIG:MXPUSHUA@*/
-+ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/
- {
- AV* tempav = newAV();
- int i;
- for(i=0 ; i < (*_global_p_len) ; i++)
- av_push(tempav, newSVuv(arg5[i]));
-- /*@SWIG:MXPUSHR@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav));
-@@ -1906,14 +2026,14 @@ XS(_wrap_log2vis) {
- }
- {
- if ( _global_wantarray )
-- /*@SWIG:MXPUSHUA@*/
-+ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/
- {
- AV* tempav = newAV();
- int i;
- for(i=0 ; i < (*_global_p_len) ; i++)
- av_push(tempav, newSVuv(arg6[i]));
-- /*@SWIG:MXPUSHR@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav));
-@@ -1925,14 +2045,14 @@ XS(_wrap_log2vis) {
- }
- {
- if ( _global_wantarray )
-- /*@SWIG:MXPUSHUA@*/
-+ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/
- {
- AV* tempav = newAV();
- int i;
- for(i=0 ; i < (*_global_p_len) ; i++)
- av_push(tempav, newSVuv(arg7[i]));
-- /*@SWIG:MXPUSHR@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav));
-@@ -1979,25 +2099,25 @@ XS(_wrap_log2vis) {
- }
-
-
--XS(_wrap_fribidi_wcwidth) {
-+XS(_wrap_fribidi_get_bidi_type) {
- {
- FriBidiChar arg1 ;
-- int result;
- unsigned int val1 ;
- int ecode1 = 0 ;
- int argvi = 0;
-+ FriBidiCharType result;
- dXSARGS;
-
- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: fribidi_wcwidth(ch);");
-+ SWIG_croak("Usage: fribidi_get_bidi_type(ch);");
- }
- ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
- if (!SWIG_IsOK(ecode1)) {
-- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_wcwidth" "', argument " "1"" of type '" "FriBidiChar""'");
-+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_bidi_type" "', argument " "1"" of type '" "FriBidiChar""'");
- }
- arg1 = (FriBidiChar)(val1);
-- result = (int)fribidi_wcwidth(arg1);
--
-+ result = (FriBidiCharType)fribidi_get_bidi_type(arg1);
-+ ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
-
- XSRETURN(argvi);
- fail:
-@@ -2007,14 +2127,16 @@ XS(_wrap_fribidi_wcwidth) {
- }
-
-
--XS(_wrap_fribidi_wcswidth) {
-+XS(_wrap_fribidi_get_bidi_types) {
- {
- FriBidiChar *arg1 = (FriBidiChar *) 0 ;
- FriBidiStrIndex arg2 ;
-- int result;
-+ FriBidiCharType *arg3 = (FriBidiCharType *) 0 ;
- char *buf1 = 0 ;
- size_t size1 = 0 ;
- FriBidiStrIndex *_global_p_len ;
-+ void *argp3 = 0 ;
-+ int res3 = 0 ;
- int argvi = 0;
- dXSARGS;
-
-@@ -2022,13 +2144,19 @@ XS(_wrap_fribidi_wcswidth) {
- arg2 = 0;
- _global_p_len = &arg2;
-
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: fribidi_wcswidth(str);");
-+ if ((items < 2) || (items > 2)) {
-+ SWIG_croak("Usage: fribidi_get_bidi_types(str,btypes);");
- }
- buf1 = SvPV(ST(0), size1);
- *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar));
- arg1 = (FriBidiChar *)(buf1);
-- result = (int)fribidi_wcswidth((unsigned int const *)arg1,arg2);
-+ res3 = SWIG_ConvertPtr(ST(1), &argp3,SWIGTYPE_p_FriBidiCharType, 0 | 0 );
-+ if (!SWIG_IsOK(res3)) {
-+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fribidi_get_bidi_types" "', argument " "3"" of type '" "FriBidiCharType *""'");
-+ }
-+ arg3 = (FriBidiCharType *)(argp3);
-+ fribidi_get_bidi_types((unsigned int const *)arg1,arg2,arg3);
-+ ST(argvi) = sv_newmortal();
-
-
-
-@@ -2036,63 +2164,30 @@ XS(_wrap_fribidi_wcswidth) {
- fail:
-
-
-- SWIG_croak_null();
-- }
--}
--
--
--XS(_wrap_fribidi_wcswidth_cjk) {
-- {
-- FriBidiChar *arg1 = (FriBidiChar *) 0 ;
-- FriBidiStrIndex arg2 ;
-- int result;
-- char *buf1 = 0 ;
-- size_t size1 = 0 ;
-- FriBidiStrIndex *_global_p_len ;
-- int argvi = 0;
-- dXSARGS;
--
--
-- arg2 = 0;
-- _global_p_len = &arg2;
--
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: fribidi_wcswidth_cjk(str);");
-- }
-- buf1 = SvPV(ST(0), size1);
-- *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar));
-- arg1 = (FriBidiChar *)(buf1);
-- result = (int)fribidi_wcswidth_cjk((unsigned int const *)arg1,arg2);
--
--
--
-- XSRETURN(argvi);
-- fail:
--
-
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap_fribidi_type_name) {
-+XS(_wrap_fribidi_get_bidi_type_name) {
- {
- FriBidiCharType arg1 ;
-- char *result = 0 ;
- int val1 ;
- int ecode1 = 0 ;
- int argvi = 0;
-+ char *result = 0 ;
- dXSARGS;
-
- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: fribidi_type_name(c);");
-+ SWIG_croak("Usage: fribidi_get_bidi_type_name(t);");
- }
- ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
- if (!SWIG_IsOK(ecode1)) {
-- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_type_name" "', argument " "1"" of type '" "FriBidiCharType""'");
-+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_bidi_type_name" "', argument " "1"" of type '" "FriBidiCharType""'");
- }
- arg1 = (FriBidiCharType)(val1);
-- result = (char *)fribidi_type_name(arg1);
-+ result = (char *)fribidi_get_bidi_type_name(arg1);
- ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
-
- XSRETURN(argvi);
-@@ -2103,33 +2198,31 @@ XS(_wrap_fribidi_type_name) {
- }
-
-
--XS(_wrap_FriBidiRunType_length_set) {
-+XS(_wrap_fribidi_get_par_direction) {
- {
-- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ;
-+ FriBidiCharType *arg1 = (FriBidiCharType *) 0 ;
- FriBidiStrIndex arg2 ;
- void *argp1 = 0 ;
- int res1 = 0 ;
-- int val2 ;
-- int ecode2 = 0 ;
-+ FriBidiStrIndex *_global_p_len ;
- int argvi = 0;
-+ FriBidiParType result;
- dXSARGS;
-
-- if ((items < 2) || (items > 2)) {
-- SWIG_croak("Usage: FriBidiRunType_length_set(self,length);");
-+
-+ arg2 = 0;
-+ _global_p_len = &arg2;
-+
-+ if ((items < 1) || (items > 1)) {
-+ SWIG_croak("Usage: fribidi_get_par_direction(bidi_types);");
- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, 0 | 0 );
-+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiCharType, 0 | 0 );
- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FriBidiRunType_length_set" "', argument " "1"" of type '" "FriBidiRunType *""'");
-+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fribidi_get_par_direction" "', argument " "1"" of type '" "FriBidiCharType const *""'");
- }
-- arg1 = (FriBidiRunType *)(argp1);
-- ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
-- if (!SWIG_IsOK(ecode2)) {
-- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FriBidiRunType_length_set" "', argument " "2"" of type '" "FriBidiStrIndex""'");
-- }
-- arg2 = (FriBidiStrIndex)(val2);
-- if (arg1) (arg1)->length = arg2;
--
--
-+ arg1 = (FriBidiCharType *)(argp1);
-+ result = (FriBidiParType)fribidi_get_par_direction((enum FriBidiCharType const *)arg1,arg2);
-+ ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ;
-
-
- XSRETURN(argvi);
-@@ -2141,89 +2234,189 @@ XS(_wrap_FriBidiRunType_length_set) {
- }
-
-
--XS(_wrap_FriBidiRunType_length_get) {
-+XS(_wrap_fribidi_get_par_embedding_levels) {
- {
-- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ;
-- FriBidiStrIndex result;
-+ FriBidiCharType *arg1 = (FriBidiCharType *) 0 ;
-+ FriBidiStrIndex arg2 ;
-+ FriBidiParType *arg3 = (FriBidiParType *) 0 ;
-+ FriBidiLevel *arg4 = (FriBidiLevel *) 0 ;
- void *argp1 = 0 ;
- int res1 = 0 ;
-+ FriBidiStrIndex *_global_p_len ;
-+ void *argp3 = 0 ;
-+ int res3 = 0 ;
-+ void *argp4 = 0 ;
-+ int res4 = 0 ;
- int argvi = 0;
-+ FriBidiLevel result;
- dXSARGS;
-
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: FriBidiRunType_length_get(self);");
-+
-+ arg2 = 0;
-+ _global_p_len = &arg2;
-+
-+ if ((items < 3) || (items > 3)) {
-+ SWIG_croak("Usage: fribidi_get_par_embedding_levels(bidi_types,pbase_dir,embedding_levels);");
- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, 0 | 0 );
-+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiCharType, 0 | 0 );
- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FriBidiRunType_length_get" "', argument " "1"" of type '" "FriBidiRunType *""'");
-+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fribidi_get_par_embedding_levels" "', argument " "1"" of type '" "FriBidiCharType const *""'");
- }
-- arg1 = (FriBidiRunType *)(argp1);
-- result = (FriBidiStrIndex) ((arg1)->length);
-+ arg1 = (FriBidiCharType *)(argp1);
-+ res3 = SWIG_ConvertPtr(ST(1), &argp3,SWIGTYPE_p_FriBidiParType, 0 | 0 );
-+ if (!SWIG_IsOK(res3)) {
-+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fribidi_get_par_embedding_levels" "', argument " "3"" of type '" "FriBidiParType *""'");
-+ }
-+ arg3 = (FriBidiParType *)(argp3);
-+ res4 = SWIG_ConvertPtr(ST(2), &argp4,SWIGTYPE_p_signed_char, 0 | 0 );
-+ if (!SWIG_IsOK(res4)) {
-+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fribidi_get_par_embedding_levels" "', argument " "4"" of type '" "FriBidiLevel *""'");
-+ }
-+ arg4 = (FriBidiLevel *)(argp4);
-+ result = (FriBidiLevel)fribidi_get_par_embedding_levels((enum FriBidiCharType const *)arg1,arg2,arg3,arg4);
-+ ST(argvi) = SWIG_From_signed_SS_char SWIG_PERL_CALL_ARGS_1((signed char)(result)); argvi++ ;
-+
-+
-
-
- XSRETURN(argvi);
- fail:
-
-+
-+
-+
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap_FriBidiRunType_attribute_set) {
-+XS(_wrap_fribidi_reorder_line) {
- {
-- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ;
-- void *arg2 = (void *) 0 ;
-- void *argp1 = 0 ;
-- int res1 = 0 ;
-- int res2 ;
-- int argvi = 0;
-- dXSARGS;
-+ FriBidiFlags arg1 ;
-+ FriBidiCharType *arg2 = (FriBidiCharType *) 0 ;
-+ FriBidiStrIndex arg3 ;
-+ FriBidiStrIndex arg4 ;
-+ FriBidiParType arg5 ;
-+ FriBidiLevel *arg6 = (FriBidiLevel *) 0 ;
-+ FriBidiChar *arg7 = (FriBidiChar *) 0 ;
-+ FriBidiStrIndex *arg8 = (FriBidiStrIndex *) 0 ;
-+ unsigned int val1 ;
-+ int ecode1 = 0 ;
-+ void *argp2 = 0 ;
-+ int res2 = 0 ;
-+ FriBidiStrIndex *_global_p_len ;
-+ int val4 ;
-+ int ecode4 = 0 ;
-+ int val5 ;
-+ int ecode5 = 0 ;
-+ void *argp6 = 0 ;
-+ int res6 = 0 ;
-+ FriBidiChar **temp7 ;
-+ void *argp8 = 0 ;
-+ int res8 = 0 ;
-+ int argvi = 0;
-+ FriBidiLevel result;
-+ dXSARGS;
-
-- if ((items < 2) || (items > 2)) {
-- SWIG_croak("Usage: FriBidiRunType_attribute_set(self,attribute);");
-- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, 0 | 0 );
-- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FriBidiRunType_attribute_set" "', argument " "1"" of type '" "FriBidiRunType *""'");
-+
-+ arg3 = 0;
-+ _global_p_len = &arg3;
-+
-+
-+ temp7 = &arg7;
-+
-+ if ((items < 6) || (items > 6)) {
-+ SWIG_croak("Usage: fribidi_reorder_line(flags,bidi_types,off,base_dir,embedding_levels,map);");
- }
-- arg1 = (FriBidiRunType *)(argp1);
-- res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
-+ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-+ if (!SWIG_IsOK(ecode1)) {
-+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_reorder_line" "', argument " "1"" of type '" "FriBidiFlags""'");
-+ }
-+ arg1 = (FriBidiFlags)(val1);
-+ res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_FriBidiCharType, 0 | 0 );
- if (!SWIG_IsOK(res2)) {
-- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FriBidiRunType_attribute_set" "', argument " "2"" of type '" "void *""'");
-+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fribidi_reorder_line" "', argument " "2"" of type '" "FriBidiCharType const *""'");
-+ }
-+ arg2 = (FriBidiCharType *)(argp2);
-+ ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val4);
-+ if (!SWIG_IsOK(ecode4)) {
-+ SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "fribidi_reorder_line" "', argument " "4"" of type '" "FriBidiStrIndex""'");
-+ }
-+ arg4 = (FriBidiStrIndex)(val4);
-+ ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val5);
-+ if (!SWIG_IsOK(ecode5)) {
-+ SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "fribidi_reorder_line" "', argument " "5"" of type '" "FriBidiParType""'");
-+ }
-+ arg5 = (FriBidiParType)(val5);
-+ res6 = SWIG_ConvertPtr(ST(4), &argp6,SWIGTYPE_p_signed_char, 0 | 0 );
-+ if (!SWIG_IsOK(res6)) {
-+ SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "fribidi_reorder_line" "', argument " "6"" of type '" "FriBidiLevel *""'");
-+ }
-+ arg6 = (FriBidiLevel *)(argp6);
-+ res8 = SWIG_ConvertPtr(ST(5), &argp8,SWIGTYPE_p_int, 0 | 0 );
-+ if (!SWIG_IsOK(res8)) {
-+ SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "fribidi_reorder_line" "', argument " "8"" of type '" "FriBidiStrIndex *""'");
-+ }
-+ arg8 = (FriBidiStrIndex *)(argp8);
-+ Newx(*temp7, ((*_global_p_len) + 1), FriBidiChar);
-+ result = (FriBidiLevel)fribidi_reorder_line(arg1,(enum FriBidiCharType const *)arg2,arg3,arg4,arg5,arg6,arg7,arg8);
-+ ST(argvi) = SWIG_From_signed_SS_char SWIG_PERL_CALL_ARGS_1((signed char)(result)); argvi++ ;
-+ {
-+ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
-+ if (argvi >= items)
-+ EXTEND(sp, 1);
-+ ST(argvi) = sv_2mortal(newSVpvn((const char *)(arg7),(STRLEN)( (*_global_p_len) * sizeof(FriBidiChar))));
-+ argvi++
-+ /*@SWIG@*/
-+ /*@SWIG@*/;
- }
-- if (arg1) (arg1)->attribute = arg2;
-
-
-
-
-+
-+
-+
-+ if (arg7) Safefree(arg7);
-+
-+
- XSRETURN(argvi);
- fail:
-
-
-+
-+
-+
-+
-+
-+ if (arg7) Safefree(arg7);
-+
-+
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap_FriBidiRunType_attribute_get) {
-+XS(_wrap_fribidi_get_joining_type) {
- {
-- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ;
-- void *result = 0 ;
-- void *argp1 = 0 ;
-- int res1 = 0 ;
-+ FriBidiChar arg1 ;
-+ unsigned int val1 ;
-+ int ecode1 = 0 ;
- int argvi = 0;
-+ FriBidiJoiningType result;
- dXSARGS;
-
- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: FriBidiRunType_attribute_get(self);");
-+ SWIG_croak("Usage: fribidi_get_joining_type(ch);");
- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, 0 | 0 );
-- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FriBidiRunType_attribute_get" "', argument " "1"" of type '" "FriBidiRunType *""'");
-- }
-- arg1 = (FriBidiRunType *)(argp1);
-- result = (void *) ((arg1)->attribute);
-- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
-+ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-+ if (!SWIG_IsOK(ecode1)) {
-+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_joining_type" "', argument " "1"" of type '" "FriBidiChar""'");
-+ }
-+ arg1 = (FriBidiChar)(val1);
-+ result = (FriBidiJoiningType)fribidi_get_joining_type(arg1);
-+ ST(argvi) = SWIG_From_unsigned_SS_char SWIG_PERL_CALL_ARGS_1((unsigned char)(result)); argvi++ ;
-
- XSRETURN(argvi);
- fail:
-@@ -2233,43 +2426,68 @@ XS(_wrap_FriBidiRunType_attribute_get) {
- }
-
-
--XS(_wrap_new_FriBidiRunType) {
-+XS(_wrap_fribidi_get_joining_types) {
- {
-- FriBidiRunType *result = 0 ;
-+ FriBidiChar *arg1 = (FriBidiChar *) 0 ;
-+ FriBidiStrIndex arg2 ;
-+ FriBidiJoiningType *arg3 = (FriBidiJoiningType *) 0 ;
-+ char *buf1 = 0 ;
-+ size_t size1 = 0 ;
-+ FriBidiStrIndex *_global_p_len ;
-+ void *argp3 = 0 ;
-+ int res3 = 0 ;
- int argvi = 0;
- dXSARGS;
-
-- if ((items < 0) || (items > 0)) {
-- SWIG_croak("Usage: new_FriBidiRunType();");
-+
-+ arg2 = 0;
-+ _global_p_len = &arg2;
-+
-+ if ((items < 2) || (items > 2)) {
-+ SWIG_croak("Usage: fribidi_get_joining_types(str,jtypes);");
- }
-- result = (FriBidiRunType *)(FriBidiRunType *) calloc(1, sizeof(FriBidiRunType));
-- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FriBidiRunType, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
-+ buf1 = SvPV(ST(0), size1);
-+ *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar));
-+ arg1 = (FriBidiChar *)(buf1);
-+ res3 = SWIG_ConvertPtr(ST(1), &argp3,SWIGTYPE_p_unsigned_char, 0 | 0 );
-+ if (!SWIG_IsOK(res3)) {
-+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fribidi_get_joining_types" "', argument " "3"" of type '" "FriBidiJoiningType *""'");
-+ }
-+ arg3 = (FriBidiJoiningType *)(argp3);
-+ fribidi_get_joining_types((unsigned int const *)arg1,arg2,arg3);
-+ ST(argvi) = sv_newmortal();
-+
-+
-+
- XSRETURN(argvi);
- fail:
-+
-+
-+
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap_delete_FriBidiRunType) {
-+XS(_wrap_fribidi_get_joining_type_name) {
- {
-- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ;
-- void *argp1 = 0 ;
-- int res1 = 0 ;
-+ FriBidiJoiningType arg1 ;
-+ unsigned char val1 ;
-+ int ecode1 = 0 ;
- int argvi = 0;
-+ char *result = 0 ;
- dXSARGS;
-
- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: delete_FriBidiRunType(self);");
-- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, SWIG_POINTER_DISOWN | 0 );
-- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FriBidiRunType" "', argument " "1"" of type '" "FriBidiRunType *""'");
-+ SWIG_croak("Usage: fribidi_get_joining_type_name(j);");
- }
-- arg1 = (FriBidiRunType *)(argp1);
-- free((char *) arg1);
--
--
-+ ecode1 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-+ if (!SWIG_IsOK(ecode1)) {
-+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_joining_type_name" "', argument " "1"" of type '" "FriBidiJoiningType""'");
-+ }
-+ arg1 = (FriBidiJoiningType)(val1);
-+ result = (char *)fribidi_get_joining_type_name(arg1);
-+ ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
-
- XSRETURN(argvi);
- fail:
-@@ -2279,29 +2497,46 @@ XS(_wrap_delete_FriBidiRunType) {
- }
-
-
--XS(_wrap__FriBidiList_data_set) {
-+XS(_wrap_fribidi_join_arabic) {
- {
-- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ;
-- void *arg2 = (void *) 0 ;
-+ FriBidiCharType *arg1 = (FriBidiCharType *) 0 ;
-+ FriBidiStrIndex arg2 ;
-+ FriBidiLevel *arg3 = (FriBidiLevel *) 0 ;
-+ FriBidiArabicProp *arg4 = (FriBidiArabicProp *) 0 ;
- void *argp1 = 0 ;
- int res1 = 0 ;
-- int res2 ;
-+ FriBidiStrIndex *_global_p_len ;
-+ void *argp3 = 0 ;
-+ int res3 = 0 ;
-+ void *argp4 = 0 ;
-+ int res4 = 0 ;
- int argvi = 0;
- dXSARGS;
-
-- if ((items < 2) || (items > 2)) {
-- SWIG_croak("Usage: _FriBidiList_data_set(self,data);");
-+
-+ arg2 = 0;
-+ _global_p_len = &arg2;
-+
-+ if ((items < 3) || (items > 3)) {
-+ SWIG_croak("Usage: fribidi_join_arabic(bidi_types,embedding_levels,ar_props);");
- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 );
-+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiCharType, 0 | 0 );
- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_data_set" "', argument " "1"" of type '" "struct _FriBidiList *""'");
-- }
-- arg1 = (struct _FriBidiList *)(argp1);
-- res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
-- if (!SWIG_IsOK(res2)) {
-- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "_FriBidiList_data_set" "', argument " "2"" of type '" "void *""'");
-+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fribidi_join_arabic" "', argument " "1"" of type '" "FriBidiCharType const *""'");
- }
-- if (arg1) (arg1)->data = arg2;
-+ arg1 = (FriBidiCharType *)(argp1);
-+ res3 = SWIG_ConvertPtr(ST(1), &argp3,SWIGTYPE_p_signed_char, 0 | 0 );
-+ if (!SWIG_IsOK(res3)) {
-+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fribidi_join_arabic" "', argument " "3"" of type '" "FriBidiLevel const *""'");
-+ }
-+ arg3 = (FriBidiLevel *)(argp3);
-+ res4 = SWIG_ConvertPtr(ST(2), &argp4,SWIGTYPE_p_unsigned_char, 0 | 0 );
-+ if (!SWIG_IsOK(res4)) {
-+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fribidi_join_arabic" "', argument " "4"" of type '" "FriBidiArabicProp *""'");
-+ }
-+ arg4 = (FriBidiArabicProp *)(argp4);
-+ fribidi_join_arabic((enum FriBidiCharType const *)arg1,arg2,(signed char const *)arg3,arg4);
-+ ST(argvi) = sv_newmortal();
-
-
-
-@@ -2310,65 +2545,83 @@ XS(_wrap__FriBidiList_data_set) {
- fail:
-
-
-+
-+
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap__FriBidiList_data_get) {
-+XS(_wrap_fribidi_get_mirror_char) {
- {
-- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ;
-- void *result = 0 ;
-- void *argp1 = 0 ;
-- int res1 = 0 ;
-+ FriBidiChar arg1 ;
-+ FriBidiChar *arg2 = (FriBidiChar *) 0 ;
-+ unsigned int val1 ;
-+ int ecode1 = 0 ;
-+ FriBidiChar temp2 ;
-+ int res2 = SWIG_TMPOBJ ;
- int argvi = 0;
-+ fribidi_boolean result;
- dXSARGS;
-
-+ arg2 = &temp2;
- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: _FriBidiList_data_get(self);");
-+ SWIG_croak("Usage: fribidi_get_mirror_char(ch);");
- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 );
-- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_data_get" "', argument " "1"" of type '" "struct _FriBidiList *""'");
-+ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-+ if (!SWIG_IsOK(ecode1)) {
-+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_mirror_char" "', argument " "1"" of type '" "FriBidiChar""'");
-+ }
-+ arg1 = (FriBidiChar)(val1);
-+ result = (fribidi_boolean)fribidi_get_mirror_char(arg1,arg2);
-+
-+ if (SWIG_IsTmpObj(res2)) {
-+ if (argvi >= items) EXTEND(sp,1); ST(argvi) = SWIG_From_unsigned_SS_long SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++ ;
-+ } else {
-+ int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
-+ if (argvi >= items) EXTEND(sp,1); ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_unsigned_int, new_flags); argvi++ ;
- }
-- arg1 = (struct _FriBidiList *)(argp1);
-- result = (void *) ((arg1)->data);
-- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
-+
-
- XSRETURN(argvi);
- fail:
-
-+
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap__FriBidiList_next_set) {
-+XS(_wrap_fribidi_shape_mirroring) {
- {
-- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ;
-- FriBidiList *arg2 = (FriBidiList *) 0 ;
-+ FriBidiLevel *arg1 = (FriBidiLevel *) 0 ;
-+ FriBidiStrIndex arg2 ;
-+ FriBidiChar *arg3 = (FriBidiChar *) 0 ;
- void *argp1 = 0 ;
- int res1 = 0 ;
-- void *argp2 = 0 ;
-- int res2 = 0 ;
-+ FriBidiStrIndex *_global_p_len ;
-+ char *buf3 = 0 ;
-+ size_t size3 = 0 ;
- int argvi = 0;
- dXSARGS;
-
-+
-+ arg2 = 0;
-+ _global_p_len = &arg2;
-+
- if ((items < 2) || (items > 2)) {
-- SWIG_croak("Usage: _FriBidiList_next_set(self,next);");
-+ SWIG_croak("Usage: fribidi_shape_mirroring(embedding_levels,str);");
- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 );
-+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_signed_char, 0 | 0 );
- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_next_set" "', argument " "1"" of type '" "struct _FriBidiList *""'");
-- }
-- arg1 = (struct _FriBidiList *)(argp1);
-- res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p__FriBidiList, SWIG_POINTER_DISOWN | 0 );
-- if (!SWIG_IsOK(res2)) {
-- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "_FriBidiList_next_set" "', argument " "2"" of type '" "FriBidiList *""'");
-+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fribidi_shape_mirroring" "', argument " "1"" of type '" "FriBidiLevel const *""'");
- }
-- arg2 = (FriBidiList *)(argp2);
-- if (arg1) (arg1)->next = arg2;
--
-+ arg1 = (FriBidiLevel *)(argp1);
-+ buf3 = SvPV(ST(1), size3);
-+ *_global_p_len = (FriBidiStrIndex)(size3/sizeof(FriBidiChar));
-+ arg3 = (FriBidiChar *)(buf3);
-+ fribidi_shape_mirroring((signed char const *)arg1,arg2,arg3);
-+ ST(argvi) = sv_newmortal();
-
-
-
-@@ -2376,64 +2629,59 @@ XS(_wrap__FriBidiList_next_set) {
- fail:
-
-
-- SWIG_croak_null();
-- }
--}
--
--
--XS(_wrap__FriBidiList_next_get) {
-- {
-- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ;
-- FriBidiList *result = 0 ;
-- void *argp1 = 0 ;
-- int res1 = 0 ;
-- int argvi = 0;
-- dXSARGS;
--
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: _FriBidiList_next_get(self);");
-- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 );
-- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_next_get" "', argument " "1"" of type '" "struct _FriBidiList *""'");
-- }
-- arg1 = (struct _FriBidiList *)(argp1);
-- result = (FriBidiList *) ((arg1)->next);
-- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p__FriBidiList, 0 | SWIG_SHADOW); argvi++ ;
--
-- XSRETURN(argvi);
-- fail:
-
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap__FriBidiList_prev_set) {
-+XS(_wrap_fribidi_shape_arabic) {
- {
-- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ;
-- FriBidiList *arg2 = (FriBidiList *) 0 ;
-- void *argp1 = 0 ;
-- int res1 = 0 ;
-+ FriBidiFlags arg1 ;
-+ FriBidiLevel *arg2 = (FriBidiLevel *) 0 ;
-+ FriBidiStrIndex arg3 ;
-+ FriBidiArabicProp *arg4 = (FriBidiArabicProp *) 0 ;
-+ FriBidiChar *arg5 = (FriBidiChar *) 0 ;
-+ unsigned int val1 ;
-+ int ecode1 = 0 ;
- void *argp2 = 0 ;
- int res2 = 0 ;
-+ FriBidiStrIndex *_global_p_len ;
-+ void *argp4 = 0 ;
-+ int res4 = 0 ;
-+ char *buf5 = 0 ;
-+ size_t size5 = 0 ;
- int argvi = 0;
- dXSARGS;
-
-- if ((items < 2) || (items > 2)) {
-- SWIG_croak("Usage: _FriBidiList_prev_set(self,prev);");
-- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 );
-- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_prev_set" "', argument " "1"" of type '" "struct _FriBidiList *""'");
-+
-+ arg3 = 0;
-+ _global_p_len = &arg3;
-+
-+ if ((items < 4) || (items > 4)) {
-+ SWIG_croak("Usage: fribidi_shape_arabic(flags,embedding_levels,ar_props,str);");
- }
-- arg1 = (struct _FriBidiList *)(argp1);
-- res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p__FriBidiList, SWIG_POINTER_DISOWN | 0 );
-+ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-+ if (!SWIG_IsOK(ecode1)) {
-+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_shape_arabic" "', argument " "1"" of type '" "FriBidiFlags""'");
-+ }
-+ arg1 = (FriBidiFlags)(val1);
-+ res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_signed_char, 0 | 0 );
- if (!SWIG_IsOK(res2)) {
-- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "_FriBidiList_prev_set" "', argument " "2"" of type '" "FriBidiList *""'");
-+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fribidi_shape_arabic" "', argument " "2"" of type '" "FriBidiLevel const *""'");
- }
-- arg2 = (FriBidiList *)(argp2);
-- if (arg1) (arg1)->prev = arg2;
-+ arg2 = (FriBidiLevel *)(argp2);
-+ res4 = SWIG_ConvertPtr(ST(2), &argp4,SWIGTYPE_p_unsigned_char, 0 | 0 );
-+ if (!SWIG_IsOK(res4)) {
-+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fribidi_shape_arabic" "', argument " "4"" of type '" "FriBidiArabicProp *""'");
-+ }
-+ arg4 = (FriBidiArabicProp *)(argp4);
-+ buf5 = SvPV(ST(3), size5);
-+ *_global_p_len = (FriBidiStrIndex)(size5/sizeof(FriBidiChar));
-+ arg5 = (FriBidiChar *)(buf5);
-+ fribidi_shape_arabic(arg1,(signed char const *)arg2,arg3,arg4,arg5);
-+ ST(argvi) = sv_newmortal();
-+
-
-
-
-@@ -2442,92 +2690,83 @@ XS(_wrap__FriBidiList_prev_set) {
- fail:
-
-
-- SWIG_croak_null();
-- }
--}
--
--
--XS(_wrap__FriBidiList_prev_get) {
-- {
-- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ;
-- FriBidiList *result = 0 ;
-- void *argp1 = 0 ;
-- int res1 = 0 ;
-- int argvi = 0;
-- dXSARGS;
-
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: _FriBidiList_prev_get(self);");
-- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 );
-- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_prev_get" "', argument " "1"" of type '" "struct _FriBidiList *""'");
-- }
-- arg1 = (struct _FriBidiList *)(argp1);
-- result = (FriBidiList *) ((arg1)->prev);
-- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p__FriBidiList, 0 | SWIG_SHADOW); argvi++ ;
-
-- XSRETURN(argvi);
-- fail:
-
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap_new__FriBidiList) {
-+XS(_wrap_fribidi_shape) {
- {
-- struct _FriBidiList *result = 0 ;
-+ FriBidiFlags arg1 ;
-+ FriBidiLevel *arg2 = (FriBidiLevel *) 0 ;
-+ FriBidiStrIndex arg3 ;
-+ FriBidiArabicProp *arg4 = (FriBidiArabicProp *) 0 ;
-+ FriBidiChar *arg5 = (FriBidiChar *) 0 ;
-+ unsigned int val1 ;
-+ int ecode1 = 0 ;
-+ void *argp2 = 0 ;
-+ int res2 = 0 ;
-+ FriBidiStrIndex *_global_p_len ;
-+ void *argp4 = 0 ;
-+ int res4 = 0 ;
-+ char *buf5 = 0 ;
-+ size_t size5 = 0 ;
- int argvi = 0;
- dXSARGS;
-
-- if ((items < 0) || (items > 0)) {
-- SWIG_croak("Usage: new__FriBidiList();");
-- }
-- result = (struct _FriBidiList *)(struct _FriBidiList *) calloc(1, sizeof(struct _FriBidiList));
-- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p__FriBidiList, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
-- XSRETURN(argvi);
-- fail:
-- SWIG_croak_null();
-- }
--}
--
--
--XS(_wrap_delete__FriBidiList) {
-- {
-- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ;
-- void *argp1 = 0 ;
-- int res1 = 0 ;
-- int argvi = 0;
-- dXSARGS;
-
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: delete__FriBidiList(self);");
-+ arg3 = 0;
-+ _global_p_len = &arg3;
-+
-+ if ((items < 4) || (items > 4)) {
-+ SWIG_croak("Usage: fribidi_shape(flags,embedding_levels,ar_props,str);");
- }
-- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, SWIG_POINTER_DISOWN | 0 );
-- if (!SWIG_IsOK(res1)) {
-- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete__FriBidiList" "', argument " "1"" of type '" "struct _FriBidiList *""'");
-+ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-+ if (!SWIG_IsOK(ecode1)) {
-+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_shape" "', argument " "1"" of type '" "FriBidiFlags""'");
-+ }
-+ arg1 = (FriBidiFlags)(val1);
-+ res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_signed_char, 0 | 0 );
-+ if (!SWIG_IsOK(res2)) {
-+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fribidi_shape" "', argument " "2"" of type '" "FriBidiLevel const *""'");
- }
-- arg1 = (struct _FriBidiList *)(argp1);
-- free((char *) arg1);
-+ arg2 = (FriBidiLevel *)(argp2);
-+ res4 = SWIG_ConvertPtr(ST(2), &argp4,SWIGTYPE_p_unsigned_char, 0 | 0 );
-+ if (!SWIG_IsOK(res4)) {
-+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fribidi_shape" "', argument " "4"" of type '" "FriBidiArabicProp *""'");
-+ }
-+ arg4 = (FriBidiArabicProp *)(argp4);
-+ buf5 = SvPV(ST(3), size5);
-+ *_global_p_len = (FriBidiStrIndex)(size5/sizeof(FriBidiChar));
-+ arg5 = (FriBidiChar *)(buf5);
-+ fribidi_shape(arg1,(signed char const *)arg2,arg3,arg4,arg5);
-+ ST(argvi) = sv_newmortal();
-+
-+
-
-
-
- XSRETURN(argvi);
- fail:
-
-+
-+
-+
-+
- SWIG_croak_null();
- }
- }
-
-
--XS(_wrap_fribidi_log2vis_get_embedding_levels) {
-+XS(_wrap_fribidi_log2vis_get_embedding_levels__SWIG_1) {
- {
- FriBidiChar *arg1 = (FriBidiChar *) 0 ;
- FriBidiStrIndex arg2 ;
- FriBidiCharType *arg3 = (FriBidiCharType *) 0 ;
- FriBidiLevel *arg4 = (FriBidiLevel *) 0 ;
-- fribidi_boolean result;
- FriBidiCharType temp3 ;
- short _global_wantarray ;
- char *buf1 = 0 ;
-@@ -2538,11 +2777,12 @@ XS(_wrap_fribidi_log2vis_get_embedding_l
- FriBidiLevel **temp4 ;
- int argvi = 0;
- SV * _saved[1] ;
-+ fribidi_boolean result;
- dXSARGS;
-
- temp3 = FRIBIDI_TYPE_ON;
- arg3 = &temp3;
-- _global_wantarray = /*@SWIG:WANTARRAY@*/(GIMME_V == G_ARRAY)
-+ _global_wantarray = /*@SWIG:swig/fribidi.i,33,WANTARRAY@*/(GIMME_V == G_ARRAY)
- /*@SWIG@*/;
-
- arg2 = 0;
-@@ -2558,7 +2798,7 @@ XS(_wrap_fribidi_log2vis_get_embedding_l
- *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar));
- arg1 = (FriBidiChar *)(buf1);
- if (items > 1) {
-- if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) {
-+ if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_FriBidiCharType,0))))) {
- unsigned long val;
- int ecode = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val);
- if (!SWIG_IsOK(ecode)) {
-@@ -2577,8 +2817,8 @@ XS(_wrap_fribidi_log2vis_get_embedding_l
-
- {
- if (_global_wantarray) {
-- /*@SWIG:MXPUSHU@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,48,MXPUSHU@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newSVuv(*(arg3)));
-@@ -2589,14 +2829,14 @@ XS(_wrap_fribidi_log2vis_get_embedding_l
- }
- {
- if ( 1 )
-- /*@SWIG:MXPUSHUA@*/
-+ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/
- {
- AV* tempav = newAV();
- int i;
- for(i=0 ; i < (*_global_p_len) ; i++)
- av_push(tempav, newSVuv(arg4[i]));
-- /*@SWIG:MXPUSHR@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav));
-@@ -2625,19 +2865,72 @@ XS(_wrap_fribidi_log2vis_get_embedding_l
- }
-
-
--XS(_wrap_fribidi_remove_bidi_marks) {
-+XS(_wrap_fribidi_log2vis_get_embedding_levels) {
-+ dXSARGS;
-+
-+ {
-+ unsigned long _index = 0;
-+ SWIG_TypeRank _rank = 0;
-+ if ((items >= 1) && (items <= 2)) {
-+ SWIG_TypeRank _ranki = 0;
-+ SWIG_TypeRank _rankm = 0;
-+ SWIG_TypeRank _pi = 1;
-+ int _v = 0;
-+ {
-+ void *vptr = 0;
-+ int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_unsigned_int, 0);
-+ _v = SWIG_CheckState(res);
-+ }
-+ if (!_v) goto check_1;
-+ _ranki += _v*_pi;
-+ _rankm += _pi;
-+ _pi *= SWIG_MAXCASTRANK;
-+ if (items > 1) {
-+ {
-+ void *ptr = 0;
-+ int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), 0);
-+ _v = SWIG_CheckState(res);
-+ if (!_v) {
-+ _v = (SWIG_IsOK((res = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&ptr),SWIGTYPE_p_FriBidiCharType,0))));
-+ }
-+ }
-+ if (!_v) goto check_1;
-+ _ranki += _v*_pi;
-+ _rankm += _pi;
-+ _pi *= SWIG_MAXCASTRANK;
-+ }
-+ if (!_index || (_ranki < _rank)) {
-+ _rank = _ranki; _index = 1;
-+ if (_rank == _rankm) goto dispatch;
-+ }
-+ }
-+ check_1:
-+
-+ dispatch:
-+ switch(_index) {
-+ case 1:
-+ ++PL_markstack_ptr; SWIG_CALLXS(_wrap_fribidi_log2vis_get_embedding_levels__SWIG_1); return;
-+ }
-+ }
-+
-+ croak("No matching function for overloaded 'fribidi_log2vis_get_embedding_levels'");
-+ XSRETURN(0);
-+}
-+
-+
-+XS(_wrap_fribidi_remove_bidi_marks__SWIG_1) {
- {
- FriBidiChar *arg1 = (FriBidiChar *) 0 ;
- FriBidiStrIndex arg2 ;
- FriBidiStrIndex *arg3 = (FriBidiStrIndex *) 0 ;
- FriBidiStrIndex *arg4 = (FriBidiStrIndex *) 0 ;
- FriBidiLevel *arg5 = (FriBidiLevel *) 0 ;
-- FriBidiStrIndex result;
- char *buf1 = 0 ;
- size_t size1 = 0 ;
- FriBidiStrIndex *_global_p_len ;
- int argvi = 0;
- SV * _saved[2] ;
-+ FriBidiStrIndex result;
- dXSARGS;
-
-
-@@ -2675,8 +2968,8 @@ XS(_wrap_fribidi_remove_bidi_marks) {
- result = (FriBidiStrIndex)fribidi_remove_bidi_marks(arg1,arg2,arg3,arg4,arg5);
-
- {
-- /*@SWIG:MXPUSHP@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newSVpvn((const char *)(arg1),(STRLEN)( (result) * sizeof(FriBidiChar))));
-@@ -2686,14 +2979,14 @@ XS(_wrap_fribidi_remove_bidi_marks) {
- }
- {
- if ( arg4 )
-- /*@SWIG:MXPUSHUA@*/
-+ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/
- {
- AV* tempav = newAV();
- int i;
- for(i=0 ; i < result ; i++)
- av_push(tempav, newSVuv(arg4[i]));
-- /*@SWIG:MXPUSHR@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav));
-@@ -2724,31 +3017,53 @@ XS(_wrap_fribidi_remove_bidi_marks) {
- }
-
-
--XS(_wrap_fribidi_get_type) {
-+XS(_wrap_fribidi_remove_bidi_marks) {
-+ dXSARGS;
-+
- {
-- FriBidiChar arg1 ;
-- FriBidiCharType result;
-- unsigned int val1 ;
-- int ecode1 = 0 ;
-- int argvi = 0;
-- dXSARGS;
--
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: fribidi_get_type(uch);");
-+ unsigned long _index = 0;
-+ SWIG_TypeRank _rank = 0;
-+ if ((items >= 1) && (items <= 2)) {
-+ SWIG_TypeRank _ranki = 0;
-+ SWIG_TypeRank _rankm = 0;
-+ SWIG_TypeRank _pi = 1;
-+ int _v = 0;
-+ {
-+ void *vptr = 0;
-+ int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_unsigned_int, 0);
-+ _v = SWIG_CheckState(res);
-+ }
-+ if (!_v) goto check_1;
-+ _ranki += _v*_pi;
-+ _rankm += _pi;
-+ _pi *= SWIG_MAXCASTRANK;
-+ if (items > 1) {
-+ {
-+ void *vptr = 0;
-+ int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_int, 0);
-+ _v = SWIG_CheckState(res);
-+ }
-+ if (!_v) goto check_1;
-+ _ranki += _v*_pi;
-+ _rankm += _pi;
-+ _pi *= SWIG_MAXCASTRANK;
-+ }
-+ if (!_index || (_ranki < _rank)) {
-+ _rank = _ranki; _index = 1;
-+ if (_rank == _rankm) goto dispatch;
-+ }
- }
-- ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-- if (!SWIG_IsOK(ecode1)) {
-- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_type" "', argument " "1"" of type '" "FriBidiChar""'");
-- }
-- arg1 = (FriBidiChar)(val1);
-- result = (FriBidiCharType)fribidi_get_type(arg1);
--
-+ check_1:
-
-- XSRETURN(argvi);
-- fail:
--
-- SWIG_croak_null();
-+ dispatch:
-+ switch(_index) {
-+ case 1:
-+ ++PL_markstack_ptr; SWIG_CALLXS(_wrap_fribidi_remove_bidi_marks__SWIG_1); return;
-+ }
- }
-+
-+ croak("No matching function for overloaded 'fribidi_remove_bidi_marks'");
-+ XSRETURN(0);
- }
-
-
-@@ -2781,17 +3096,17 @@ XS(_wrap_fribidi_get_types) {
- Newx(*temp3, ((*_global_p_len) + 1), FriBidiCharType);
- }
- fribidi_get_types(arg1,arg2,arg3);
--
-+ ST(argvi) = sv_newmortal();
- {
- if ( 1 )
-- /*@SWIG:MXPUSHUA@*/
-+ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/
- {
- AV* tempav = newAV();
- int i;
- for(i=0 ; i < (*_global_p_len) ; i++)
- av_push(tempav, newSVuv(arg3[i]));
-- /*@SWIG:MXPUSHR@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav));
-@@ -2818,104 +3133,10 @@ XS(_wrap_fribidi_get_types) {
- }
-
-
--XS(_wrap_fribidi_get_mirror_char) {
-- {
-- FriBidiChar arg1 ;
-- FriBidiChar *arg2 = (FriBidiChar *) 0 ;
-- fribidi_boolean result;
-- unsigned int val1 ;
-- int ecode1 = 0 ;
-- FriBidiChar temp2 ;
-- int res2 = SWIG_TMPOBJ ;
-- int argvi = 0;
-- dXSARGS;
--
-- arg2 = &temp2;
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: fribidi_get_mirror_char(ch);");
-- }
-- ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-- if (!SWIG_IsOK(ecode1)) {
-- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_mirror_char" "', argument " "1"" of type '" "FriBidiChar""'");
-- }
-- arg1 = (FriBidiChar)(val1);
-- result = (fribidi_boolean)fribidi_get_mirror_char(arg1,arg2);
--
-- if (SWIG_IsTmpObj(res2)) {
-- if (argvi >= items) EXTEND(sp,1); ST(argvi) = SWIG_From_unsigned_SS_long SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++ ;
-- } else {
-- int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
-- if (argvi >= items) EXTEND(sp,1); ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_unsigned_int, new_flags); argvi++ ;
-- }
--
--
-- XSRETURN(argvi);
-- fail:
--
--
-- SWIG_croak_null();
-- }
--}
--
--
--XS(_wrap_fribidi_set_mirroring) {
-- {
-- fribidi_boolean arg1 ;
-- int val1 ;
-- int ecode1 = 0 ;
-- int argvi = 0;
-- dXSARGS;
--
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: fribidi_set_mirroring(mirror);");
-- }
-- ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-- if (!SWIG_IsOK(ecode1)) {
-- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_set_mirroring" "', argument " "1"" of type '" "fribidi_boolean""'");
-- }
-- arg1 = (fribidi_boolean)(val1);
-- fribidi_set_mirroring(arg1);
--
--
-- XSRETURN(argvi);
-- fail:
--
-- SWIG_croak_null();
-- }
--}
--
--
--XS(_wrap_fribidi_set_reorder_nsm) {
-- {
-- fribidi_boolean arg1 ;
-- int val1 ;
-- int ecode1 = 0 ;
-- int argvi = 0;
-- dXSARGS;
--
-- if ((items < 1) || (items > 1)) {
-- SWIG_croak("Usage: fribidi_set_reorder_nsm(fribidi_boolean);");
-- }
-- ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
-- if (!SWIG_IsOK(ecode1)) {
-- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_set_reorder_nsm" "', argument " "1"" of type '" "fribidi_boolean""'");
-- }
-- arg1 = (fribidi_boolean)(val1);
-- fribidi_set_reorder_nsm(arg1);
--
--
-- XSRETURN(argvi);
-- fail:
--
-- SWIG_croak_null();
-- }
--}
--
--
- XS(_wrap_fribidi_char_set_enter_cap_rtl) {
- {
-- fribidi_boolean result;
- int argvi = 0;
-+ fribidi_boolean result;
- dXSARGS;
-
- if ((items < 0) || (items > 0)) {
-@@ -2935,12 +3156,12 @@ XS(_wrap_fribidi_cap_rtl_to_unicode) {
- char *arg1 = (char *) 0 ;
- FriBidiStrIndex arg2 ;
- FriBidiChar *arg3 = (FriBidiChar *) 0 ;
-- int result;
- char *buf1 = 0 ;
- size_t size1 = 0 ;
- FriBidiStrIndex *_global_p_len ;
- FriBidiChar **temp3 ;
- int argvi = 0;
-+ int result;
- dXSARGS;
-
-
-@@ -2960,8 +3181,8 @@ XS(_wrap_fribidi_cap_rtl_to_unicode) {
- result = (int)fribidi_cap_rtl_to_unicode(arg1,arg2,arg3);
-
- {
-- /*@SWIG:MXPUSHP@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newSVpvn((char *)(arg3),(STRLEN)( (result) * sizeof(FriBidiChar))));
-@@ -2989,12 +3210,12 @@ XS(_wrap_fribidi_unicode_to_cap_rtl) {
- FriBidiChar *arg1 = (FriBidiChar *) 0 ;
- FriBidiStrIndex arg2 ;
- char *arg3 = (char *) 0 ;
-- int result;
- char *buf1 = 0 ;
- size_t size1 = 0 ;
- FriBidiStrIndex *_global_p_len ;
- char **temp3 ;
- int argvi = 0;
-+ int result;
- dXSARGS;
-
-
-@@ -3014,8 +3235,8 @@ XS(_wrap_fribidi_unicode_to_cap_rtl) {
- result = (int)fribidi_unicode_to_cap_rtl(arg1,arg2,arg3);
-
- {
-- /*@SWIG:MXPUSHP@*/
-- /*@SWIG:XPUSHS@*/
-+ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/
-+ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/
- if (argvi >= items)
- EXTEND(sp, 1);
- ST(argvi) = sv_2mortal(newSVpvn((char *)(arg3),(STRLEN)( (result) * sizeof(char))));
-@@ -3044,21 +3265,20 @@ XS(_wrap_fribidi_unicode_to_cap_rtl) {
- /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
-
- static swig_type_info _swigt__p_FriBidiCharSet = {"_p_FriBidiCharSet", "enum FriBidiCharSet *|FriBidiCharSet *", 0, 0, (void*)0, 0};
--static swig_type_info _swigt__p_FriBidiRunType = {"_p_FriBidiRunType", "FriBidiRunType *", 0, 0, (void*)"Text::Bidi::private::FriBidiRunType", 0};
--static swig_type_info _swigt__p__FriBidiList = {"_p__FriBidiList", "_FriBidiList *", 0, 0, (void*)"Text::Bidi::private::_FriBidiList", 0};
--static swig_type_info _swigt__p_char = {"_p_char", "char *|FriBidiPropCharType *", 0, 0, (void*)0, 0};
--static swig_type_info _swigt__p_int = {"_p_int", "int *|FriBidiCharType *", 0, 0, (void*)0, 0};
--static swig_type_info _swigt__p_short = {"_p_short", "short *|fribidi_int16 *", 0, 0, (void*)0, 0};
-+static swig_type_info _swigt__p_FriBidiCharType = {"_p_FriBidiCharType", "enum FriBidiCharType *|FriBidiCharType *", 0, 0, (void*)0, 0};
-+static swig_type_info _swigt__p_FriBidiParType = {"_p_FriBidiParType", "enum FriBidiParType *|FriBidiParType *", 0, 0, (void*)0, 0};
-+static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
-+static swig_type_info _swigt__p_int = {"_p_int", "int *|FriBidiStrIndex *|fribidi_int32 *|fribidi_boolean *", 0, 0, (void*)0, 0};
-+static swig_type_info _swigt__p_short = {"_p_short", "fribidi_int16 *|short *", 0, 0, (void*)0, 0};
- static swig_type_info _swigt__p_signed_char = {"_p_signed_char", "signed char *|FriBidiLevel *", 0, 0, (void*)0, 0};
--static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|fribidi_uint8 *", 0, 0, (void*)0, 0};
--static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|FriBidiChar *", 0, 0, (void*)0, 0};
--static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|fribidi_uint16 *", 0, 0, (void*)0, 0};
--static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0};
-+static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "FriBidiArabicProp *|unsigned char *|FriBidiJoiningType *|fribidi_uint8 *|fribidi_int8 *", 0, 0, (void*)0, 0};
-+static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "FriBidiChar *|fribidi_uint32 *|unsigned int *|FriBidiFlags *", 0, 0, (void*)0, 0};
-+static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "fribidi_uint16 *|unsigned short *", 0, 0, (void*)0, 0};
-
- static swig_type_info *swig_type_initial[] = {
- &_swigt__p_FriBidiCharSet,
-- &_swigt__p_FriBidiRunType,
-- &_swigt__p__FriBidiList,
-+ &_swigt__p_FriBidiCharType,
-+ &_swigt__p_FriBidiParType,
- &_swigt__p_char,
- &_swigt__p_int,
- &_swigt__p_short,
-@@ -3066,12 +3286,11 @@ static swig_type_info *swig_type_initial
- &_swigt__p_unsigned_char,
- &_swigt__p_unsigned_int,
- &_swigt__p_unsigned_short,
-- &_swigt__p_void,
- };
-
- static swig_cast_info _swigc__p_FriBidiCharSet[] = { {&_swigt__p_FriBidiCharSet, 0, 0, 0},{0, 0, 0, 0}};
--static swig_cast_info _swigc__p_FriBidiRunType[] = { {&_swigt__p_FriBidiRunType, 0, 0, 0},{0, 0, 0, 0}};
--static swig_cast_info _swigc__p__FriBidiList[] = { {&_swigt__p__FriBidiList, 0, 0, 0},{0, 0, 0, 0}};
-+static swig_cast_info _swigc__p_FriBidiCharType[] = { {&_swigt__p_FriBidiCharType, 0, 0, 0},{0, 0, 0, 0}};
-+static swig_cast_info _swigc__p_FriBidiParType[] = { {&_swigt__p_FriBidiParType, 0, 0, 0},{0, 0, 0, 0}};
- static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
- static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
- static swig_cast_info _swigc__p_short[] = { {&_swigt__p_short, 0, 0, 0},{0, 0, 0, 0}};
-@@ -3079,12 +3298,11 @@ static swig_cast_info _swigc__p_signed_c
- static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
- static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
- static swig_cast_info _swigc__p_unsigned_short[] = { {&_swigt__p_unsigned_short, 0, 0, 0},{0, 0, 0, 0}};
--static swig_cast_info _swigc__p_void[] = { {&_swigt__p_void, 0, 0, 0},{0, 0, 0, 0}};
-
- static swig_cast_info *swig_cast_initial[] = {
- _swigc__p_FriBidiCharSet,
-- _swigc__p_FriBidiRunType,
-- _swigc__p__FriBidiList,
-+ _swigc__p_FriBidiCharType,
-+ _swigc__p_FriBidiParType,
- _swigc__p_char,
- _swigc__p_int,
- _swigc__p_short,
-@@ -3092,7 +3310,6 @@ static swig_cast_info *swig_cast_initial
- _swigc__p_unsigned_char,
- _swigc__p_unsigned_int,
- _swigc__p_unsigned_short,
-- _swigc__p_void,
- };
-
-
-@@ -3105,36 +3322,28 @@ static swig_constant_info swig_constants
- }
- #endif
- static swig_variable_info swig_variables[] = {
-- { "Text::Bidi::privatec::fribidi_prop_to_type", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_fribidi_prop_to_type_get,&SWIGTYPE_p_int },
-+ { "Text::Bidi::privatec::fribidi_unicode_version", MAGIC_CLASS _wrap_fribidi_unicode_version_set, MAGIC_CLASS _wrap_fribidi_unicode_version_get,0 },
- {0,0,0,0}
- };
- static swig_command_info swig_commands[] = {
- {"Text::Bidi::privatec::log2vis", _wrap_log2vis},
--{"Text::Bidi::privatec::fribidi_wcwidth", _wrap_fribidi_wcwidth},
--{"Text::Bidi::privatec::fribidi_wcswidth", _wrap_fribidi_wcswidth},
--{"Text::Bidi::privatec::fribidi_wcswidth_cjk", _wrap_fribidi_wcswidth_cjk},
--{"Text::Bidi::privatec::fribidi_type_name", _wrap_fribidi_type_name},
--{"Text::Bidi::privatec::FriBidiRunType_length_set", _wrap_FriBidiRunType_length_set},
--{"Text::Bidi::privatec::FriBidiRunType_length_get", _wrap_FriBidiRunType_length_get},
--{"Text::Bidi::privatec::FriBidiRunType_attribute_set", _wrap_FriBidiRunType_attribute_set},
--{"Text::Bidi::privatec::FriBidiRunType_attribute_get", _wrap_FriBidiRunType_attribute_get},
--{"Text::Bidi::privatec::new_FriBidiRunType", _wrap_new_FriBidiRunType},
--{"Text::Bidi::privatec::delete_FriBidiRunType", _wrap_delete_FriBidiRunType},
--{"Text::Bidi::privatec::_FriBidiList_data_set", _wrap__FriBidiList_data_set},
--{"Text::Bidi::privatec::_FriBidiList_data_get", _wrap__FriBidiList_data_get},
--{"Text::Bidi::privatec::_FriBidiList_next_set", _wrap__FriBidiList_next_set},
--{"Text::Bidi::privatec::_FriBidiList_next_get", _wrap__FriBidiList_next_get},
--{"Text::Bidi::privatec::_FriBidiList_prev_set", _wrap__FriBidiList_prev_set},
--{"Text::Bidi::privatec::_FriBidiList_prev_get", _wrap__FriBidiList_prev_get},
--{"Text::Bidi::privatec::new__FriBidiList", _wrap_new__FriBidiList},
--{"Text::Bidi::privatec::delete__FriBidiList", _wrap_delete__FriBidiList},
-+{"Text::Bidi::privatec::fribidi_get_bidi_type", _wrap_fribidi_get_bidi_type},
-+{"Text::Bidi::privatec::fribidi_get_bidi_types", _wrap_fribidi_get_bidi_types},
-+{"Text::Bidi::privatec::fribidi_get_bidi_type_name", _wrap_fribidi_get_bidi_type_name},
-+{"Text::Bidi::privatec::fribidi_get_par_direction", _wrap_fribidi_get_par_direction},
-+{"Text::Bidi::privatec::fribidi_get_par_embedding_levels", _wrap_fribidi_get_par_embedding_levels},
-+{"Text::Bidi::privatec::fribidi_reorder_line", _wrap_fribidi_reorder_line},
-+{"Text::Bidi::privatec::fribidi_get_joining_type", _wrap_fribidi_get_joining_type},
-+{"Text::Bidi::privatec::fribidi_get_joining_types", _wrap_fribidi_get_joining_types},
-+{"Text::Bidi::privatec::fribidi_get_joining_type_name", _wrap_fribidi_get_joining_type_name},
-+{"Text::Bidi::privatec::fribidi_join_arabic", _wrap_fribidi_join_arabic},
-+{"Text::Bidi::privatec::fribidi_get_mirror_char", _wrap_fribidi_get_mirror_char},
-+{"Text::Bidi::privatec::fribidi_shape_mirroring", _wrap_fribidi_shape_mirroring},
-+{"Text::Bidi::privatec::fribidi_shape_arabic", _wrap_fribidi_shape_arabic},
-+{"Text::Bidi::privatec::fribidi_shape", _wrap_fribidi_shape},
- {"Text::Bidi::privatec::fribidi_log2vis_get_embedding_levels", _wrap_fribidi_log2vis_get_embedding_levels},
- {"Text::Bidi::privatec::fribidi_remove_bidi_marks", _wrap_fribidi_remove_bidi_marks},
--{"Text::Bidi::privatec::fribidi_get_type", _wrap_fribidi_get_type},
- {"Text::Bidi::privatec::fribidi_get_types", _wrap_fribidi_get_types},
--{"Text::Bidi::privatec::fribidi_get_mirror_char", _wrap_fribidi_get_mirror_char},
--{"Text::Bidi::privatec::fribidi_set_mirroring", _wrap_fribidi_set_mirroring},
--{"Text::Bidi::privatec::fribidi_set_reorder_nsm", _wrap_fribidi_set_reorder_nsm},
- {"Text::Bidi::privatec::fribidi_char_set_enter_cap_rtl", _wrap_fribidi_char_set_enter_cap_rtl},
- {"Text::Bidi::privatec::fribidi_cap_rtl_to_unicode", _wrap_fribidi_cap_rtl_to_unicode},
- {"Text::Bidi::privatec::fribidi_unicode_to_cap_rtl", _wrap_fribidi_unicode_to_cap_rtl},
-@@ -3197,7 +3406,7 @@ SWIGRUNTIME void
- SWIG_InitializeModule(void *clientdata) {
- size_t i;
- swig_module_info *module_head, *iter;
-- int found;
-+ int found, init;
-
- clientdata = clientdata;
-
-@@ -3207,6 +3416,9 @@ SWIG_InitializeModule(void *clientdata)
- swig_module.type_initial = swig_type_initial;
- swig_module.cast_initial = swig_cast_initial;
- swig_module.next = &swig_module;
-+ init = 1;
-+ } else {
-+ init = 0;
- }
-
- /* Try and load any already created modules */
-@@ -3235,6 +3447,12 @@ SWIG_InitializeModule(void *clientdata)
- module_head->next = &swig_module;
- }
-
-+ /* When multiple interpeters are used, a module could have already been initialized in
-+ a different interpreter, but not yet have a pointer in this interpreter.
-+ In this case, we do not want to continue adding types... everything should be
-+ set up already */
-+ if (init == 0) return;
-+
- /* Now work on filling in swig_module.types */
- #ifdef SWIGRUNTIME_DEBUG
- printf("SWIG_InitializeModule: size %d\n", swig_module.size);
-@@ -3388,7 +3606,7 @@ XS(SWIG_init) {
- /* Install variables */
- for (i = 0; swig_variables[i].name; i++) {
- SV *sv;
-- sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2);
-+ sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
- if (swig_variables[i].type) {
- SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
- } else {
-@@ -3400,7 +3618,7 @@ XS(SWIG_init) {
- /* Install constant */
- for (i = 0; swig_constants[i].type; i++) {
- SV *sv;
-- sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2);
-+ sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
- switch(swig_constants[i].type) {
- case SWIG_INT:
- sv_setiv(sv, (IV) swig_constants[i].lvalue);
-@@ -3423,331 +3641,459 @@ XS(SWIG_init) {
- SvREADONLY_on(sv);
- }
-
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_UNICODE_VERSION", TRUE | 0x2);
-- sv_setsv(sv, SWIG_FromCharPtr("4.1.0"));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_BIDI_NUM_TYPES", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(19)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_MAX_BIDI_LEVEL", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(61)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_LRM", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_BIDI_MAX_RESOLVED_LEVELS", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(63)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_LRM", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x200E)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_RLM", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_RLM", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x200F)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_LRE", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_LRE", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202A)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_RLE", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_RLE", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202B)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_PDF", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_PDF", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202C)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_LRO", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_LRO", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202D)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_RLO", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_RLO", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202E)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_LS", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_LS", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x2028)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_PS", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_PS", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x2029)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_ZWNJ", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ZWNJ", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x200C)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_ZWJ", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ZWJ", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x200D)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_HEBREW_ALEF", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_HEBREW_ALEF", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x05D0)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_ARABIC_ALEF", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ARABIC_ALEF", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x0627)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_ARABIC_ZERO", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ARABIC_ZERO", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x0660)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "UNI_FARSI_ZERO", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_PERSIAN_ZERO", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x06F0)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- SWIG_TypeClientData(SWIGTYPE_p_FriBidiRunType, (void*) "Text::Bidi::private::FriBidiRunType");
-- SWIG_TypeClientData(SWIGTYPE_p__FriBidiList, (void*) "Text::Bidi::private::_FriBidiList");
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_RTL", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ZWNBSP", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0xFEFF)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_FILL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0xFEFF)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_SHAPE_MIRRORING", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000001)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_REORDER_NSM", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000002)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_SHAPE_ARAB_PRES", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000100)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_SHAPE_ARAB_LIGA", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000200)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000400)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_REMOVE_BIDI", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00010000)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_REMOVE_JOINING", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00020000)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_REMOVE_SPECIALS", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00040000)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAGS_DEFAULT", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x00000001|0x00000002|0x00040000))));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAGS_ARABIC", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x00000100|0x00000200))));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_RTL", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000001L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ARABIC", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ARABIC", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000002L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_STRONG", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_STRONG", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000010L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_WEAK", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_WEAK", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000020L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NEUTRAL", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NEUTRAL", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000040L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SENTINEL", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SENTINEL", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000080L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_LETTER", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_LETTER", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000100L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NUMBER", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NUMBER", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000200L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NUMSEPTER", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NUMSEPTER", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000400L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SPACE", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SPACE", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000800L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_EXPLICIT", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_EXPLICIT", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00001000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SEPARATOR", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SEPARATOR", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00002000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_OVERRIDE", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_OVERRIDE", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00004000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ES", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ES", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00010000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ET", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ET", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00020000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_CS", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_CS", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00040000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NSM", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NSM", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00080000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_BN", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_BN", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00100000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_BS", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_BS", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00200000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SS", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SS", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00400000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_WS", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_WS", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00800000L)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LTR", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00000100L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_PRIVATE", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x01000000L)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LTR_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00000100L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RTL", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00000100L+0x00000001L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RTL_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00000100L|0x00000001L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_AL", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00000100L+0x00000001L+0x00000002L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_AL_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00000100L|0x00000001L|0x00000002L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LRE", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00001000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LRE_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00001000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RLE", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00001000L+0x00000001L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RLE_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00001000L|0x00000001L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LRO", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00001000L+0x00004000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LRO_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00001000L|0x00004000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RLO", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00001000L+0x00000001L+0x00004000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RLO_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00001000L|0x00000001L|0x00004000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_PDF", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00001000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_PDF_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00001000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_EN", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000200L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_EN_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000200L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_AN", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000200L+0x00000002L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_AN_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000200L|0x00000002L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ES", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000400L+0x00010000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ES_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000400L|0x00010000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ET", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000400L+0x00020000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ET_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000400L|0x00020000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_CS", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000400L+0x00040000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_CS_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000400L|0x00040000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_NSM", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00080000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_NSM_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00080000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_BN", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000800L+0x00100000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_BN_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000800L|0x00100000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_BS", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L+0x00000800L+0x00002000L+0x00200000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_BS_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L|0x00000800L|0x00002000L|0x00200000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_SS", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L+0x00000800L+0x00002000L+0x00400000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_SS_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L|0x00000800L|0x00002000L|0x00400000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WS", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L+0x00000800L+0x00800000L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WS_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L|0x00000800L|0x00800000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ON", TRUE | 0x2);
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ON_VAL", TRUE | 0x2 | GV_ADDMULTI);
- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_L", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(((0x00000010L+0x00000100L)))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WLTR_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L))));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WRTL_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000001L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_R", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(((0x00000010L+0x00000100L+0x00000001L)))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_SENTINEL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000080L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_N", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(((0x00000040L)))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_PRIVATE", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x01000000L))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WL", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "_FRIBIDI_TYPE_SENTINEL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(_FRIBIDI_TYPE_SENTINEL)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WR", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000001L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "_FRIBIDI_PAR_SENTINEL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(_FRIBIDI_PAR_SENTINEL)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_SOT", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000080L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_JOINS_RIGHT", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x01)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_JOINS_LEFT", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x02)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ARAB_SHAPES", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x04)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_TRANSPARENT", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x08)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_IGNORED", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x10)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_LIGATURED", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x20)));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_U_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0))));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_R_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x01|0x04))));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_D_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x01|0x02|0x04))));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_C_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x01|0x02))));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_L_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x02|0x04))));
-+ SvREADONLY_on(sv);
-+ } while(0) /*@SWIG@*/;
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_T_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x08|0x04))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_EOT", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000080L+0x00000001L))));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_G_VAL", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x10))));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
-- /*@SWIG:%set_constant@*/ do {
-- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPES_COUNT", TRUE | 0x2);
-- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(FRIBIDI_TYPES_COUNT)));
-+ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
-+ SV *sv = get_sv((char*) SWIG_prefix "_FRIBIDI_JOINING_TYPE_JUNK", TRUE | 0x2 | GV_ADDMULTI);
-+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(_FRIBIDI_JOINING_TYPE_JUNK)));
- SvREADONLY_on(sv);
- } while(0) /*@SWIG@*/;
- ST(0) = &PL_sv_yes;
diff --git a/converters/p5-Text-Bidi/pkg-plist b/converters/p5-Text-Bidi/pkg-plist
index 15a6a5549f1f..815e1ee66dd5 100644
--- a/converters/p5-Text-Bidi/pkg-plist
+++ b/converters/p5-Text-Bidi/pkg-plist
@@ -1,6 +1,9 @@
+bin/fribidi.pl
%%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi/CapRTL.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi/mirrored.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi/Array.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi/Array/Byte.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi/Array/Long.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi/Paragraph.pm
%%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi/private.pm
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Text/Bidi/private/.packlist
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Text/Bidi/private/private.bs
@@ -8,5 +11,6 @@
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Text/Bidi/private
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Text/Bidi
@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Text
+@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi/Array
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/Text/Bidi
@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/Text