summaryrefslogtreecommitdiff
path: root/modules/arabic
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2005-11-23 11:53:03 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2005-11-23 11:53:03 +0000
commitb13b45f0a9189a1ee49d1cd0eb31d9943befbb6a (patch)
treee3b4d36e78ef1916ecbc8a859e0cd2d9fb64aca5 /modules/arabic
parent7a9b3b03a4df17427ffc8a52a6d18db52b9360dd (diff)
downloadpango-b13b45f0a9189a1ee49d1cd0eb31d9943befbb6a.tar.gz
Reworked basic shaper with OpenType support. (#101079, based on patch from
2005-11-23 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c: Reworked basic shaper with OpenType support. (#101079, based on patch from Denis Jacquerye and Noah Levitt) * modules/basic/basic-fc.c (basic_scripts): Added Unicode 4.1 addition script PANGO_SCRIPT_GLAGOLITIC that is a "simple" script. * modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c: Replace g_utf8_to_ucs4_fast() with g_utf8_strlen()! * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_add_feature): Remove reference in docs to pango_ot_ruleset_shape() that was removed long ago.
Diffstat (limited to 'modules/arabic')
-rw-r--r--modules/arabic/arabic-fc.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/modules/arabic/arabic-fc.c b/modules/arabic/arabic-fc.c
index 657eaf2a..3afb9d55 100644
--- a/modules/arabic/arabic-fc.c
+++ b/modules/arabic/arabic-fc.c
@@ -169,8 +169,7 @@ fallback_shape (PangoEngineShape *engine,
PangoGlyphString *glyphs)
{
PangoFcFont *fc_font = PANGO_FC_FONT (font);
- glong n_chars;
- gunichar *wcs = g_utf8_to_ucs4_fast (text, length, &n_chars);
+ glong n_chars = g_utf8_strlen (text, length);
const char *p;
int i;
@@ -236,8 +235,6 @@ fallback_shape (PangoEngineShape *engine,
/* Swap all glyphs */
swap_range (glyphs, 0, glyphs->num_glyphs);
}
-
- g_free (wcs);
}
static void
@@ -284,6 +281,8 @@ arabic_engine_shape (PangoEngineShape *engine,
properties = g_new0 (gulong, n_chars);
Arabic_Assign_Properties (wcs, properties, n_chars);
+
+ g_free (wcs);
p = text;
for (i=0; i < n_chars; i++)
@@ -346,7 +345,6 @@ arabic_engine_shape (PangoEngineShape *engine,
pango_ot_ruleset_position (ruleset, buffer);
pango_ot_buffer_output (buffer, glyphs);
- g_free (wcs);
g_free (properties);
pango_ot_buffer_destroy (buffer);