summaryrefslogtreecommitdiff
path: root/pango/mini-fribidi/fribidi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pango/mini-fribidi/fribidi.patch')
-rw-r--r--pango/mini-fribidi/fribidi.patch1435
1 files changed, 12 insertions, 1423 deletions
diff --git a/pango/mini-fribidi/fribidi.patch b/pango/mini-fribidi/fribidi.patch
index fa721cf0..0da8a377 100644
--- a/pango/mini-fribidi/fribidi.patch
+++ b/pango/mini-fribidi/fribidi.patch
@@ -1,1413 +1,5 @@
---- /home/otaylor/cvs/fribidi/fribidi.c Sun Sep 2 11:54:01 2001
-+++ fribidi.c Sun Jul 22 15:42:37 2001
-@@ -21,10 +21,10 @@
- * <fwpg@sharif.edu>.
- */
-
--#ifdef HAVE_CONFIG_H
--#include <config.h>
--#endif
--#include "fribidi.h"
-+#include <glib.h>
-+#include "pango/pango-utils.h"
-+#include "fribidi_types.h"
-+
- #ifdef DEBUG
- #include <stdio.h>
- #endif
-@@ -90,30 +90,6 @@
- #endif
- }
-
--static void
--bidi_string_reverse (FriBidiChar *str, gint len)
--{
-- gint i;
-- for (i = 0; i < len / 2; i++)
-- {
-- FriBidiChar tmp = str[i];
-- str[i] = str[len - 1 - i];
-- str[len - 1 - i] = tmp;
-- }
--}
--
--static void
--index_array_reverse (FriBidiStrIndex *arr, gint len)
--{
-- gint i;
-- for (i = 0; i < len / 2; i++)
-- {
-- FriBidiStrIndex tmp = arr[i];
-- arr[i] = arr[len - 1 - i];
-- arr[len - 1 - i] = tmp;
-- }
--}
--
- #ifndef USE_SIMPLE_MALLOC
- static TypeLink *free_type_links = NULL;
- #endif
-@@ -595,7 +571,7 @@
- fprintf (stderr, " Org. types : ");
- for (i = 0; str[i]; i++)
- fprintf (stderr, "%c",
-- fribidi_char_from_type (fribidi_get_type (str[i])));
-+ fribidi_char_from_type (_pango_fribidi_get_type (str[i])));
- fprintf (stderr, "\n");
- }
- #endif
-@@ -620,9 +596,13 @@
- /* Determinate character types */
- DBG (" Determine character types\n");
- {
-+#ifndef _MSC_VER /* just another gccism ... */
- FriBidiCharType char_type[len];
-+#else
-+ FriBidiCharType* char_type = _alloca(len*sizeof(FriBidiCharType));
-+#endif
- for (i = 0; i < len; i++)
-- char_type[i] = fribidi_get_type (str[i]);
-+ char_type[i] = _pango_fribidi_get_type (str[i]);
-
- /* Run length encode the character types */
- type_rl_list = run_length_encode_types (char_type, len);
-@@ -1000,7 +980,7 @@
- {
- /* if state is on at the very first of string, do this too. */
- if (j >= 0)
-- k = fribidi_get_type (str[j]);
-+ k = _pango_fribidi_get_type (str[j]);
- else
- k = FRIBIDI_TYPE_ON;
- if (!state && FRIBIDI_IS_SEPARATOR (k))
-@@ -1100,209 +1080,31 @@
- *----------------------------------------------------------------------*/
-
- /*======================================================================
-- * fribidi_remove_explicits() removes explicit marks, and returns the
-- * new length.
-- *----------------------------------------------------------------------*/
--gint
--fribidi_remove_explicits (FriBidiChar *str, gint length)
--{
-- gint i, j;
--
-- DBG ("Entering fribidi_remove_explicits()\n");
-- j = 0;
-- for (i = 0; i < length; i++)
-- if (!FRIBIDI_IS_EXPLICIT (fribidi_get_type (str[i]))
-- && str[i] != UNI_LRM && str[i] != UNI_RLM)
-- str[j++] = str[i];
--
-- DBG ("Leaving fribidi_remove_explicits()\n");
-- return j;
--}
--
--/*======================================================================
-- * fribidi_log2vis() calls the function_analyse_string() and then
-- * does reordering and fills in the output strings.
-- *----------------------------------------------------------------------*/
--gboolean
--fribidi_log2vis ( /* input */
-- FriBidiChar *str, gint len, FriBidiCharType *pbase_dir,
-- /* output */
-- FriBidiChar *visual_str,
-- FriBidiStrIndex *position_L_to_V_list,
-- FriBidiStrIndex *position_V_to_L_list,
-- guint8 *embedding_level_list)
--{
-- TypeLink *type_rl_list, *pp = NULL;
-- gint max_level;
-- gboolean private_V_to_L = FALSE;
--
-- DBG ("Entering fribidi_log2vis()\n");
--
-- if (len == 0)
-- {
-- DBG ("Leaving fribidi_log2vis()\n");
-- return TRUE;
-- }
--
-- /* If l2v is to be calculated we must have l2v as well. If it is not
-- given by the caller, we have to make a private instance of it. */
-- if (position_L_to_V_list && !position_V_to_L_list)
-- {
-- private_V_to_L = TRUE;
-- position_V_to_L_list = g_new (FriBidiStrIndex, len + 1);
-- }
--
-- if (len > FRIBIDI_MAX_STRING_LENGTH && position_V_to_L_list)
-- {
--#ifdef DEBUG
-- fprintf (stderr, "%s: cannot handle strings > %d characters\n",
-- PACKAGE, FRIBIDI_MAX_STRING_LENGTH);
--#endif
-- return FALSE;
-- }
-- fribidi_analyse_string (str, len, pbase_dir,
-- /* output */
-- &type_rl_list, &max_level);
--
-- /* 7. Reordering resolved levels */
-- DBG ("Reordering resolved levels\n");
-- {
-- gint level_idx;
-- gint i;
--
-- /* TBD: L3 */
--
-- /* Set up the ordering array to sorted order */
-- if (position_V_to_L_list)
-- {
-- DBG (" Initialize position_V_to_L_list\n");
-- for (i = 0; i < len; i++)
-- position_V_to_L_list[i] = i;
-- DBG (" Initialize position_V_to_L_list, Done\n");
-- }
-- /* Copy the logical string to the visual */
-- if (visual_str)
-- {
-- DBG (" Initialize visual_str\n");
-- for (i = 0; i <= len; i++)
-- visual_str[i] = str[i];
-- visual_str[len] = 0;
-- DBG (" Initialize visual_str, Done\n");
-- }
--
-- /* Assign the embedding level array */
-- if (embedding_level_list)
-- {
-- DBG (" Fill the embedding levels array\n");
-- for (pp = type_rl_list->next; pp->next; pp = pp->next)
-- {
-- gint i, pos, len, level;
--
-- pos = pp->pos;
-- len = pp->len;
-- level = pp->level;
-- for (i = 0; i < len; i++)
-- embedding_level_list[pos + i] = level;
-- }
-- DBG (" Fill the embedding levels array, Done\n");
-- }
--
-- /* Reorder both the outstring and the order array */
-- if (visual_str || position_V_to_L_list)
-- {
-- if (mirroring && visual_str)
-- {
-- /* L4. Mirror all characters that are in odd levels and have mirrors. */
-- DBG (" Mirroring\n");
-- for (pp = type_rl_list->next; pp->next; pp = pp->next)
-- {
-- if (pp->level & 1)
-- {
-- gint i;
-- for (i = RL_POS (pp); i < RL_POS (pp) + RL_LEN (pp); i++)
-- {
-- FriBidiChar mirrored_ch;
-- if (fribidi_get_mirror_char
-- (visual_str[i], &mirrored_ch))
-- visual_str[i] = mirrored_ch;
-- }
-- }
-- }
-- DBG (" Mirroring, Done\n");
-- }
--
-- /* L2. Reorder. */
-- DBG (" Reordering\n");
-- for (level_idx = max_level; level_idx > 0; level_idx--)
-- {
-- for (pp = type_rl_list->next; pp->next; pp = pp->next)
-- {
-- if (RL_LEVEL (pp) >= level_idx)
-- {
-- /* Find all stretches that are >= level_idx */
-- gint len = RL_LEN (pp);
-- gint pos = RL_POS (pp);
-- TypeLink *pp1 = pp->next;
-- while (pp1->next && RL_LEVEL (pp1) >= level_idx)
-- {
-- len += RL_LEN (pp1);
-- pp1 = pp1->next;
-- }
-- pp = pp1->prev;
-- if (visual_str)
-- bidi_string_reverse (visual_str + pos, len);
-- if (position_V_to_L_list)
-- index_array_reverse (position_V_to_L_list + pos, len);
-- }
-- }
-- }
-- DBG (" Reordering, Done\n");
-- }
--
-- /* Convert the v2l list to l2v */
-- if (position_L_to_V_list)
-- {
-- DBG (" Converting v2l list to l2v\n");
-- for (i = 0; i <= len; i++)
-- position_L_to_V_list[position_V_to_L_list[i]] = i;
-- DBG (" Converting v2l list to l2v, Done\n");
-- }
-- }
-- DBG ("Reordering resolved levels, Done\n");
--
-- if (private_V_to_L)
-- g_free (position_V_to_L_list);
--
-- free_rl_list (type_rl_list);
--
-- DBG ("Leaving fribidi_log2vis()\n");
-- return TRUE;
--
--}
--
--/*======================================================================
- * fribidi_log2vis_get_embedding_levels() is used in order to just get
- * the embedding levels.
- *----------------------------------------------------------------------*/
- gboolean
--fribidi_log2vis_get_embedding_levels ( /* input */
-- FriBidiChar *str,
-- gint len, FriBidiCharType *pbase_dir,
-+pango_log2vis_get_embedding_levels ( /* input */
-+ gunichar *str,
-+ int len, PangoDirection *pbase_dir,
- /* output */
- guint8 *embedding_level_list)
- {
- TypeLink *type_rl_list, *pp;
- gint max_level;
-+ FriBidiCharType fribidi_base_dir;
-
- DBG ("Entering fribidi_log2vis_get_embedding_levels()\n");
-
-+ fribidi_base_dir = (*pbase_dir == PANGO_DIRECTION_LTR) ? FRIBIDI_TYPE_L : FRIBIDI_TYPE_R;
-+
- if (len == 0)
- {
- DBG ("Leaving fribidi_log2vis_get_embedding_levels()\n");
- return TRUE;
- }
-
-- fribidi_analyse_string (str, len, pbase_dir,
-+ fribidi_analyse_string (str, len, &fribidi_base_dir,
- /* output */
- &type_rl_list, &max_level);
-
-@@ -1317,31 +1119,9 @@
- }
-
- free_rl_list (type_rl_list);
-+
-+ *pbase_dir = (fribidi_base_dir == FRIBIDI_TYPE_L) ? PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL;
-
- DBG ("Leaving fribidi_log2vis_get_embedding_levels()\n");
- return TRUE;
- }
--
--gchar *fribidi_version_info =
-- "Copyright (C) 2001 FriBidi Project.\n"
-- PACKAGE " comes with NO WARRANTY, to the extent permitted by law.\n"
-- "You may redistribute copies of " PACKAGE " under the terms of\n"
-- "the GNU General Public License.\n"
-- "For more information about these matters, see the files named COPYING.\n"
--#if (defined(MEM_OPTIMIZED) || defined(DEBUG) || defined(USE_SIMPLE_MALLOC) \
-- || defined(FRIBIDI_USE_MINI_GLIB))
-- "This " PACKAGE " is compiled with following options:\n"
--#if (defined(MEM_OPTIMIZED))
-- "MEM_OPTIMIZED\n"
--#endif
--#if (defined(DEBUG))
-- "DEBUG\n"
--#endif
--#if (defined(USE_SIMPLE_MALLOC))
-- "USE_SIMPLE_MALLOC\n"
--#endif
--#if (defined(FRIBIDI_USE_MINI_GLIB))
-- "FRIBIDI_USE_MINI_GLIB\n"
--#endif
--#endif
-- ;
---- /home/otaylor/cvs/fribidi/fribidi_get_type.c Sun Sep 2 11:54:01 2001
-+++ fribidi_get_type.c Mon Apr 16 18:42:34 2001
-@@ -23,7 +23,9 @@
-
- #include <stdio.h>
- #include <stdlib.h>
--#include "fribidi.h"
-+#include <glib.h>
-+#include "pango/pango-utils.h"
-+#include "fribidi_types.h"
- #include "fribidi_tables.i"
-
- #ifdef MEM_OPTIMIZED
-@@ -34,7 +36,7 @@
- * fribidi_get_type() returns the bidi type of a character.
- *----------------------------------------------------------------------*/
- FriBidiCharType
--fribidi_get_type (FriBidiChar uch)
-+_pango_fribidi_get_type(FriBidiChar uch)
- {
- int i = uch % 256, j = uch / 256;
- FriBidiPropCharType *block = FriBidiPropertyBlocks[j];
-@@ -81,10 +83,10 @@
- }
-
- gboolean
--fribidi_get_mirror_char ( /* Input */
-- FriBidiChar ch,
-- /* Output */
-- FriBidiChar *mirrored_ch)
-+pango_get_mirror_char ( /* Input */
-+ FriBidiChar ch,
-+ /* Output */
-+ FriBidiChar * mirrored_ch)
- {
- int pos, step;
- gboolean found;
---- /home/otaylor/cvs/fribidi/fribidi_tables.i Sun Sep 2 11:54:01 2001
-+++ fribidi_tables.i Sun Sep 2 12:02:39 2001
-@@ -4,8 +4,6 @@
- *----------------------------------------------------------------------*/
- /* *INDENT-OFF* */
-
--#include "fribidi.h"
--
- #define WS FRIBIDI_PROP_TYPE_WS
- #define BS FRIBIDI_PROP_TYPE_BS
- #define EO FRIBIDI_PROP_TYPE_EO
-@@ -29,7 +27,7 @@
- #define EN FRIBIDI_PROP_TYPE_EN
-
-
--FriBidiPropCharType FriBidiPropertyBlock0000[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0000[256] = {
- BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,SS ,BS ,SS ,WS ,BS ,BN ,BN ,
- BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BS ,BS ,BS ,SS ,
- WS ,ON ,ON ,ET ,ET ,ET ,ON ,ON ,ON ,ON ,ON ,ET ,CS ,ET ,CS ,ES ,
-@@ -48,7 +46,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,ON ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0100[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0100[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -67,7 +65,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0200[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0200[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -86,7 +84,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0300[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0300[256] = {
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
-@@ -105,7 +103,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0400[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0400[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -124,7 +122,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0500[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0500[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -143,7 +141,7 @@
- RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0600[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0600[256] = {
- CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,
- CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
-@@ -162,7 +160,7 @@
- EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,AL ,AL ,AL ,AL ,AL ,AL ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0700[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0700[256] = {
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,BN ,
- AL ,NSM,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
-@@ -181,7 +179,7 @@
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0900[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0900[256] = {
- NSM,NSM,NSM,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -200,7 +198,7 @@
- LTR,LTR,ET ,ET ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0a00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0a00[256] = {
- NSM,NSM,NSM,NSM,NSM,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -219,7 +217,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0b00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0b00[256] = {
- NSM,NSM,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -238,7 +236,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0c00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0c00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -257,7 +255,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0d00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0d00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -276,7 +274,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0e00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0e00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -295,7 +293,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0f00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0f00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,NSM,NSM,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -314,7 +312,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1000[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1000[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,NSM,NSM,NSM,
-@@ -333,7 +331,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1600[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1600[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -352,7 +350,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1700[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1700[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -371,7 +369,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1800[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1800[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,BN ,BN ,BN ,BN ,BN ,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -390,7 +388,7 @@
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1f00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1f00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -409,7 +407,7 @@
- ON ,ON ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2000[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2000[256] = {
- WS ,WS ,WS ,WS ,WS ,WS ,WS ,WS ,WS ,WS ,WS ,BN ,BN ,BN ,LTR,RTL,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,WS ,BS ,LRE,RLE,PDF,LRO,RLO,WS ,
-@@ -428,7 +426,7 @@
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2100[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2100[256] = {
- ON ,ON ,LTR,ON ,ON ,ON ,ON ,LTR,ON ,ON ,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,ON ,LTR,ON ,ON ,ON ,LTR,LTR,LTR,LTR,LTR,ON ,ON ,
- ON ,ON ,ON ,ON ,LTR,ON ,LTR,ON ,LTR,ON ,LTR,LTR,LTR,LTR,ET ,LTR,
-@@ -447,7 +445,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2200[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2200[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ET ,ET ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
-@@ -466,7 +464,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2300[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2300[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
-@@ -485,7 +483,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2400[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2400[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
-@@ -504,7 +502,7 @@
- EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2500[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2500[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
-@@ -523,7 +521,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock3000[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock3000[256] = {
- WS ,ON ,ON ,ON ,ON ,LTR,LTR,LTR,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,NSM,NSM,NSM,NSM,NSM,NSM,
-@@ -542,7 +540,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,ON ,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlocka400[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlocka400[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -561,7 +559,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockfb00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockfb00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,RTL,NSM,RTL,
- RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,ET ,RTL,RTL,RTL,RTL,RTL,RTL,
-@@ -580,7 +578,7 @@
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockfc00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockfc00[256] = {
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
-@@ -599,7 +597,7 @@
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockfd00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockfd00[256] = {
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
-@@ -618,7 +616,7 @@
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockfe00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockfe00[256] = {
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
-@@ -637,7 +635,7 @@
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,BN ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockff00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockff00[256] = {
- ON ,ON ,ON ,ET ,ET ,ET ,ON ,ON ,ON ,ON ,ON ,ET ,CS ,ET ,CS ,ES ,
- EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,CS ,ON ,ON ,ON ,ON ,ON ,
- ON ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -658,7 +656,7 @@
-
- /* 33 blocks defined */
-
--FriBidiPropCharType *FriBidiPropertyBlocks[256] = {
-+static FriBidiPropCharType *FriBidiPropertyBlocks[256] = {
- FriBidiPropertyBlock0000,
- FriBidiPropertyBlock0100,
- FriBidiPropertyBlock0200,
---- /home/otaylor/cvs/fribidi/fribidi_types.h Sun Sep 2 11:54:01 2001
-+++ fribidi_types.h Mon Apr 16 18:42:34 2001
-@@ -279,4 +279,6 @@
- #define FRIBIDI_MAX_STRING_LENGTH 65535
- #endif
-
-+FriBidiCharType _pango_fribidi_get_type(FriBidiChar uch);
-+
- #endif
---- /home/otaylor/cvs/fribidi/fribidi.c Sun Sep 2 11:54:01 2001
-+++ fribidi.c Sun Jul 22 15:42:37 2001
-@@ -21,10 +21,10 @@
- * <fwpg@sharif.edu>.
- */
-
--#ifdef HAVE_CONFIG_H
--#include <config.h>
--#endif
--#include "fribidi.h"
-+#include <glib.h>
-+#include "pango/pango-utils.h"
-+#include "fribidi_types.h"
-+
- #ifdef DEBUG
- #include <stdio.h>
- #endif
-@@ -90,30 +90,6 @@
- #endif
- }
-
--static void
--bidi_string_reverse (FriBidiChar *str, gint len)
--{
-- gint i;
-- for (i = 0; i < len / 2; i++)
-- {
-- FriBidiChar tmp = str[i];
-- str[i] = str[len - 1 - i];
-- str[len - 1 - i] = tmp;
-- }
--}
--
--static void
--index_array_reverse (FriBidiStrIndex *arr, gint len)
--{
-- gint i;
-- for (i = 0; i < len / 2; i++)
-- {
-- FriBidiStrIndex tmp = arr[i];
-- arr[i] = arr[len - 1 - i];
-- arr[len - 1 - i] = tmp;
-- }
--}
--
- #ifndef USE_SIMPLE_MALLOC
- static TypeLink *free_type_links = NULL;
- #endif
-@@ -595,7 +571,7 @@
- fprintf (stderr, " Org. types : ");
- for (i = 0; str[i]; i++)
- fprintf (stderr, "%c",
-- fribidi_char_from_type (fribidi_get_type (str[i])));
-+ fribidi_char_from_type (_pango_fribidi_get_type (str[i])));
- fprintf (stderr, "\n");
- }
- #endif
-@@ -620,9 +596,13 @@
- /* Determinate character types */
- DBG (" Determine character types\n");
- {
-+#ifndef _MSC_VER /* just another gccism ... */
- FriBidiCharType char_type[len];
-+#else
-+ FriBidiCharType* char_type = _alloca(len*sizeof(FriBidiCharType));
-+#endif
- for (i = 0; i < len; i++)
-- char_type[i] = fribidi_get_type (str[i]);
-+ char_type[i] = _pango_fribidi_get_type (str[i]);
-
- /* Run length encode the character types */
- type_rl_list = run_length_encode_types (char_type, len);
-@@ -1000,7 +980,7 @@
- {
- /* if state is on at the very first of string, do this too. */
- if (j >= 0)
-- k = fribidi_get_type (str[j]);
-+ k = _pango_fribidi_get_type (str[j]);
- else
- k = FRIBIDI_TYPE_ON;
- if (!state && FRIBIDI_IS_SEPARATOR (k))
-@@ -1100,209 +1080,31 @@
- *----------------------------------------------------------------------*/
-
- /*======================================================================
-- * fribidi_remove_explicits() removes explicit marks, and returns the
-- * new length.
-- *----------------------------------------------------------------------*/
--gint
--fribidi_remove_explicits (FriBidiChar *str, gint length)
--{
-- gint i, j;
--
-- DBG ("Entering fribidi_remove_explicits()\n");
-- j = 0;
-- for (i = 0; i < length; i++)
-- if (!FRIBIDI_IS_EXPLICIT (fribidi_get_type (str[i]))
-- && str[i] != UNI_LRM && str[i] != UNI_RLM)
-- str[j++] = str[i];
--
-- DBG ("Leaving fribidi_remove_explicits()\n");
-- return j;
--}
--
--/*======================================================================
-- * fribidi_log2vis() calls the function_analyse_string() and then
-- * does reordering and fills in the output strings.
-- *----------------------------------------------------------------------*/
--gboolean
--fribidi_log2vis ( /* input */
-- FriBidiChar *str, gint len, FriBidiCharType *pbase_dir,
-- /* output */
-- FriBidiChar *visual_str,
-- FriBidiStrIndex *position_L_to_V_list,
-- FriBidiStrIndex *position_V_to_L_list,
-- guint8 *embedding_level_list)
--{
-- TypeLink *type_rl_list, *pp = NULL;
-- gint max_level;
-- gboolean private_V_to_L = FALSE;
--
-- DBG ("Entering fribidi_log2vis()\n");
--
-- if (len == 0)
-- {
-- DBG ("Leaving fribidi_log2vis()\n");
-- return TRUE;
-- }
--
-- /* If l2v is to be calculated we must have l2v as well. If it is not
-- given by the caller, we have to make a private instance of it. */
-- if (position_L_to_V_list && !position_V_to_L_list)
-- {
-- private_V_to_L = TRUE;
-- position_V_to_L_list = g_new (FriBidiStrIndex, len + 1);
-- }
--
-- if (len > FRIBIDI_MAX_STRING_LENGTH && position_V_to_L_list)
-- {
--#ifdef DEBUG
-- fprintf (stderr, "%s: cannot handle strings > %d characters\n",
-- PACKAGE, FRIBIDI_MAX_STRING_LENGTH);
--#endif
-- return FALSE;
-- }
-- fribidi_analyse_string (str, len, pbase_dir,
-- /* output */
-- &type_rl_list, &max_level);
--
-- /* 7. Reordering resolved levels */
-- DBG ("Reordering resolved levels\n");
-- {
-- gint level_idx;
-- gint i;
--
-- /* TBD: L3 */
--
-- /* Set up the ordering array to sorted order */
-- if (position_V_to_L_list)
-- {
-- DBG (" Initialize position_V_to_L_list\n");
-- for (i = 0; i < len; i++)
-- position_V_to_L_list[i] = i;
-- DBG (" Initialize position_V_to_L_list, Done\n");
-- }
-- /* Copy the logical string to the visual */
-- if (visual_str)
-- {
-- DBG (" Initialize visual_str\n");
-- for (i = 0; i <= len; i++)
-- visual_str[i] = str[i];
-- visual_str[len] = 0;
-- DBG (" Initialize visual_str, Done\n");
-- }
--
-- /* Assign the embedding level array */
-- if (embedding_level_list)
-- {
-- DBG (" Fill the embedding levels array\n");
-- for (pp = type_rl_list->next; pp->next; pp = pp->next)
-- {
-- gint i, pos, len, level;
--
-- pos = pp->pos;
-- len = pp->len;
-- level = pp->level;
-- for (i = 0; i < len; i++)
-- embedding_level_list[pos + i] = level;
-- }
-- DBG (" Fill the embedding levels array, Done\n");
-- }
--
-- /* Reorder both the outstring and the order array */
-- if (visual_str || position_V_to_L_list)
-- {
-- if (mirroring && visual_str)
-- {
-- /* L4. Mirror all characters that are in odd levels and have mirrors. */
-- DBG (" Mirroring\n");
-- for (pp = type_rl_list->next; pp->next; pp = pp->next)
-- {
-- if (pp->level & 1)
-- {
-- gint i;
-- for (i = RL_POS (pp); i < RL_POS (pp) + RL_LEN (pp); i++)
-- {
-- FriBidiChar mirrored_ch;
-- if (fribidi_get_mirror_char
-- (visual_str[i], &mirrored_ch))
-- visual_str[i] = mirrored_ch;
-- }
-- }
-- }
-- DBG (" Mirroring, Done\n");
-- }
--
-- /* L2. Reorder. */
-- DBG (" Reordering\n");
-- for (level_idx = max_level; level_idx > 0; level_idx--)
-- {
-- for (pp = type_rl_list->next; pp->next; pp = pp->next)
-- {
-- if (RL_LEVEL (pp) >= level_idx)
-- {
-- /* Find all stretches that are >= level_idx */
-- gint len = RL_LEN (pp);
-- gint pos = RL_POS (pp);
-- TypeLink *pp1 = pp->next;
-- while (pp1->next && RL_LEVEL (pp1) >= level_idx)
-- {
-- len += RL_LEN (pp1);
-- pp1 = pp1->next;
-- }
-- pp = pp1->prev;
-- if (visual_str)
-- bidi_string_reverse (visual_str + pos, len);
-- if (position_V_to_L_list)
-- index_array_reverse (position_V_to_L_list + pos, len);
-- }
-- }
-- }
-- DBG (" Reordering, Done\n");
-- }
--
-- /* Convert the v2l list to l2v */
-- if (position_L_to_V_list)
-- {
-- DBG (" Converting v2l list to l2v\n");
-- for (i = 0; i <= len; i++)
-- position_L_to_V_list[position_V_to_L_list[i]] = i;
-- DBG (" Converting v2l list to l2v, Done\n");
-- }
-- }
-- DBG ("Reordering resolved levels, Done\n");
--
-- if (private_V_to_L)
-- g_free (position_V_to_L_list);
--
-- free_rl_list (type_rl_list);
--
-- DBG ("Leaving fribidi_log2vis()\n");
-- return TRUE;
--
--}
--
--/*======================================================================
- * fribidi_log2vis_get_embedding_levels() is used in order to just get
- * the embedding levels.
- *----------------------------------------------------------------------*/
- gboolean
--fribidi_log2vis_get_embedding_levels ( /* input */
-- FriBidiChar *str,
-- gint len, FriBidiCharType *pbase_dir,
-+pango_log2vis_get_embedding_levels ( /* input */
-+ gunichar *str,
-+ int len, PangoDirection *pbase_dir,
- /* output */
- guint8 *embedding_level_list)
- {
- TypeLink *type_rl_list, *pp;
- gint max_level;
-+ FriBidiCharType fribidi_base_dir;
-
- DBG ("Entering fribidi_log2vis_get_embedding_levels()\n");
-
-+ fribidi_base_dir = (*pbase_dir == PANGO_DIRECTION_LTR) ? FRIBIDI_TYPE_L : FRIBIDI_TYPE_R;
-+
- if (len == 0)
- {
- DBG ("Leaving fribidi_log2vis_get_embedding_levels()\n");
- return TRUE;
- }
-
-- fribidi_analyse_string (str, len, pbase_dir,
-+ fribidi_analyse_string (str, len, &fribidi_base_dir,
- /* output */
- &type_rl_list, &max_level);
-
-@@ -1317,31 +1119,9 @@
- }
-
- free_rl_list (type_rl_list);
-+
-+ *pbase_dir = (fribidi_base_dir == FRIBIDI_TYPE_L) ? PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL;
-
- DBG ("Leaving fribidi_log2vis_get_embedding_levels()\n");
- return TRUE;
- }
--
--gchar *fribidi_version_info =
-- "Copyright (C) 2001 FriBidi Project.\n"
-- PACKAGE " comes with NO WARRANTY, to the extent permitted by law.\n"
-- "You may redistribute copies of " PACKAGE " under the terms of\n"
-- "the GNU General Public License.\n"
-- "For more information about these matters, see the files named COPYING.\n"
--#if (defined(MEM_OPTIMIZED) || defined(DEBUG) || defined(USE_SIMPLE_MALLOC) \
-- || defined(FRIBIDI_USE_MINI_GLIB))
-- "This " PACKAGE " is compiled with following options:\n"
--#if (defined(MEM_OPTIMIZED))
-- "MEM_OPTIMIZED\n"
--#endif
--#if (defined(DEBUG))
-- "DEBUG\n"
--#endif
--#if (defined(USE_SIMPLE_MALLOC))
-- "USE_SIMPLE_MALLOC\n"
--#endif
--#if (defined(FRIBIDI_USE_MINI_GLIB))
-- "FRIBIDI_USE_MINI_GLIB\n"
--#endif
--#endif
-- ;
---- /home/otaylor/cvs/fribidi/fribidi_get_type.c Sun Sep 2 11:54:01 2001
-+++ fribidi_get_type.c Mon Apr 16 18:42:34 2001
-@@ -23,7 +23,9 @@
-
- #include <stdio.h>
- #include <stdlib.h>
--#include "fribidi.h"
-+#include <glib.h>
-+#include "pango/pango-utils.h"
-+#include "fribidi_types.h"
- #include "fribidi_tables.i"
-
- #ifdef MEM_OPTIMIZED
-@@ -34,7 +36,7 @@
- * fribidi_get_type() returns the bidi type of a character.
- *----------------------------------------------------------------------*/
- FriBidiCharType
--fribidi_get_type (FriBidiChar uch)
-+_pango_fribidi_get_type(FriBidiChar uch)
- {
- int i = uch % 256, j = uch / 256;
- FriBidiPropCharType *block = FriBidiPropertyBlocks[j];
-@@ -81,10 +83,10 @@
- }
-
- gboolean
--fribidi_get_mirror_char ( /* Input */
-- FriBidiChar ch,
-- /* Output */
-- FriBidiChar *mirrored_ch)
-+pango_get_mirror_char ( /* Input */
-+ FriBidiChar ch,
-+ /* Output */
-+ FriBidiChar * mirrored_ch)
- {
- int pos, step;
- gboolean found;
---- /home/otaylor/cvs/fribidi/fribidi_tables.i Sun Sep 2 11:54:01 2001
-+++ fribidi_tables.i Sun Sep 2 12:05:42 2001
-@@ -4,8 +4,6 @@
- *----------------------------------------------------------------------*/
- /* *INDENT-OFF* */
-
--#include "fribidi.h"
--
- #define WS FRIBIDI_PROP_TYPE_WS
- #define BS FRIBIDI_PROP_TYPE_BS
- #define EO FRIBIDI_PROP_TYPE_EO
-@@ -29,7 +27,7 @@
- #define EN FRIBIDI_PROP_TYPE_EN
-
-
--FriBidiPropCharType FriBidiPropertyBlock0000[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0000[256] = {
- BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,SS ,BS ,SS ,WS ,BS ,BN ,BN ,
- BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BN ,BS ,BS ,BS ,SS ,
- WS ,ON ,ON ,ET ,ET ,ET ,ON ,ON ,ON ,ON ,ON ,ET ,CS ,ET ,CS ,ES ,
-@@ -48,7 +46,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,ON ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0100[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0100[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -67,7 +65,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0200[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0200[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -86,7 +84,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0300[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0300[256] = {
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
-@@ -105,7 +103,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0400[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0400[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -124,7 +122,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0500[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0500[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -143,7 +141,7 @@
- RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0600[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0600[256] = {
- CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,
- CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,CS ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
-@@ -162,7 +160,7 @@
- EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,AL ,AL ,AL ,AL ,AL ,AL ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0700[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0700[256] = {
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,BN ,
- AL ,NSM,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
-@@ -181,7 +179,7 @@
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0900[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0900[256] = {
- NSM,NSM,NSM,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -200,7 +198,7 @@
- LTR,LTR,ET ,ET ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0a00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0a00[256] = {
- NSM,NSM,NSM,NSM,NSM,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -219,7 +217,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0b00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0b00[256] = {
- NSM,NSM,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -238,7 +236,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0c00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0c00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -257,7 +255,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0d00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0d00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -276,7 +274,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0e00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0e00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -295,7 +293,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock0f00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock0f00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,NSM,NSM,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -314,7 +312,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1000[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1000[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,NSM,NSM,NSM,
-@@ -333,7 +331,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1600[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1600[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -352,7 +350,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1700[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1700[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -371,7 +369,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1800[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1800[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,BN ,BN ,BN ,BN ,BN ,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -390,7 +388,7 @@
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock1f00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock1f00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -409,7 +407,7 @@
- ON ,ON ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2000[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2000[256] = {
- WS ,WS ,WS ,WS ,WS ,WS ,WS ,WS ,WS ,WS ,WS ,BN ,BN ,BN ,LTR,RTL,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,WS ,BS ,LRE,RLE,PDF,LRO,RLO,WS ,
-@@ -428,7 +426,7 @@
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2100[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2100[256] = {
- ON ,ON ,LTR,ON ,ON ,ON ,ON ,LTR,ON ,ON ,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,ON ,LTR,ON ,ON ,ON ,LTR,LTR,LTR,LTR,LTR,ON ,ON ,
- ON ,ON ,ON ,ON ,LTR,ON ,LTR,ON ,LTR,ON ,LTR,LTR,LTR,LTR,ET ,LTR,
-@@ -447,7 +445,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2200[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2200[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ET ,ET ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
-@@ -466,7 +464,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2300[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2300[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
-@@ -485,7 +483,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2400[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2400[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
-@@ -504,7 +502,7 @@
- EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock2500[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock2500[256] = {
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
-@@ -523,7 +521,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlock3000[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlock3000[256] = {
- WS ,ON ,ON ,ON ,ON ,LTR,LTR,LTR,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- ON ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,NSM,NSM,NSM,NSM,NSM,NSM,
-@@ -542,7 +540,7 @@
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,ON ,LTR,LTR,LTR,LTR,
- };
-
--FriBidiPropCharType FriBidiPropertyBlocka400[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlocka400[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -561,7 +559,7 @@
- ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,ON ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockfb00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockfb00[256] = {
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
- LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,RTL,NSM,RTL,
- RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,RTL,ET ,RTL,RTL,RTL,RTL,RTL,RTL,
-@@ -580,7 +578,7 @@
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockfc00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockfc00[256] = {
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
-@@ -599,7 +597,7 @@
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockfd00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockfd00[256] = {
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
-@@ -618,7 +616,7 @@
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockfe00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockfe00[256] = {
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
- NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,NSM,
-@@ -637,7 +635,7 @@
- AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,AL ,BN ,
- };
-
--FriBidiPropCharType FriBidiPropertyBlockff00[256] = {
-+static FriBidiPropCharType FriBidiPropertyBlockff00[256] = {
- ON ,ON ,ON ,ET ,ET ,ET ,ON ,ON ,ON ,ON ,ON ,ET ,CS ,ET ,CS ,ES ,
- EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,EN ,CS ,ON ,ON ,ON ,ON ,ON ,
- ON ,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,LTR,
-@@ -658,7 +656,7 @@
-
- /* 33 blocks defined */
-
--FriBidiPropCharType *FriBidiPropertyBlocks[256] = {
-+static FriBidiPropCharType *FriBidiPropertyBlocks[256] = {
- FriBidiPropertyBlock0000,
- FriBidiPropertyBlock0100,
- FriBidiPropertyBlock0200,
-@@ -954,7 +952,7 @@
- // of the display engine to actually mirror these.
- //----------------------------------------------------------------------*/
-
--struct {
-+static struct {
- FriBidiChar ch, mirrored_ch;
- } FriBidiMirroredChars[] = {
- {0x0028, 0x0029},
-@@ -1099,7 +1097,7 @@
- {0x301B, 0x301A}
- };
-
--gint nFriBidiMirroredChars = 140;
-+static gint nFriBidiMirroredChars = 140;
-
-
- /* *INDENT-ON* */
---- /home/otaylor/cvs/fribidi/fribidi_types.h Sun Sep 2 11:54:01 2001
-+++ fribidi_types.h Mon Apr 16 18:42:34 2001
-@@ -279,4 +279,6 @@
- #define FRIBIDI_MAX_STRING_LENGTH 65535
- #endif
-
-+FriBidiCharType _pango_fribidi_get_type(FriBidiChar uch);
-+
- #endif
---- /home/otaylor/cvs/fribidi/fribidi.c Sun Sep 2 11:54:01 2001
-+++ fribidi.c Sun Sep 2 12:07:19 2001
+--- /home/otaylor/cvs/fribidi/fribidi.c Thu Oct 18 14:42:36 2001
++++ fribidi.c Thu Oct 18 14:35:42 2001
@@ -21,10 +21,10 @@
* <fwpg@sharif.edu>.
*/
@@ -1473,22 +65,19 @@
fprintf (stderr, "\n");
}
#endif
-@@ -620,9 +586,13 @@
+@@ -620,9 +586,9 @@
/* Determinate character types */
DBG (" Determine character types\n");
{
-+#ifndef _MSC_VER /* just another gccism ... */
- FriBidiCharType char_type[len];
-+#else
-+ FriBidiCharType* char_type = _alloca(len*sizeof(FriBidiCharType));
-+#endif
+- FriBidiCharType char_type[len];
++ FriBidiCharType* char_type = g_alloca (len*sizeof(FriBidiCharType));
for (i = 0; i < len; i++)
- char_type[i] = fribidi_get_type (str[i]);
+ char_type[i] = _pango_fribidi_get_type (str[i]);
/* Run length encode the character types */
type_rl_list = run_length_encode_types (char_type, len);
-@@ -1000,7 +970,7 @@
+@@ -1000,7 +966,7 @@
{
/* if state is on at the very first of string, do this too. */
if (j >= 0)
@@ -1497,7 +86,7 @@
else
k = FRIBIDI_TYPE_ON;
if (!state && FRIBIDI_IS_SEPARATOR (k))
-@@ -1081,228 +1051,36 @@
+@@ -1081,228 +1047,36 @@
return;
}
@@ -1733,7 +322,7 @@
/* output */
&type_rl_list, &max_level);
-@@ -1317,31 +1095,9 @@
+@@ -1317,31 +1091,9 @@
}
free_rl_list (type_rl_list);
@@ -1767,7 +356,7 @@
-#endif
-#endif
- ;
---- /home/otaylor/cvs/fribidi/fribidi_get_type.c Sun Sep 2 11:54:01 2001
+--- /home/otaylor/cvs/fribidi/fribidi_get_type.c Thu Oct 18 14:42:36 2001
+++ fribidi_get_type.c Mon Apr 16 18:42:34 2001
@@ -23,7 +23,9 @@
@@ -1804,8 +393,8 @@
{
int pos, step;
gboolean found;
---- /home/otaylor/cvs/fribidi/fribidi_tables.i Sun Sep 2 11:54:01 2001
-+++ fribidi_tables.i Sun Sep 2 12:05:42 2001
+--- /home/otaylor/cvs/fribidi/fribidi_tables.i Thu Oct 18 14:42:36 2001
++++ fribidi_tables.i Sun Sep 2 13:56:50 2001
@@ -4,8 +4,6 @@
*----------------------------------------------------------------------*/
/* *INDENT-OFF* */
@@ -2139,7 +728,7 @@
/* *INDENT-ON* */
---- /home/otaylor/cvs/fribidi/fribidi_types.h Sun Sep 2 11:54:01 2001
+--- /home/otaylor/cvs/fribidi/fribidi_types.h Thu Oct 18 14:42:36 2001
+++ fribidi_types.h Mon Apr 16 18:42:34 2001
@@ -279,4 +279,6 @@
#define FRIBIDI_MAX_STRING_LENGTH 65535