From bb310c6a105e181ceb1699beecfab2f752e30176 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Mon, 25 Feb 2008 01:26:22 +0000 Subject: [PATCH] Bug 515484 -- Uniscribe interface handles surrogate pairs incorrectly 2008-02-25 Tor Lillqvist Bug 515484 -- Uniscribe interface handles surrogate pairs incorrectly * modules/basic/basic-win32.c (itemize_shape_and_place): Pass correctly offset wchar string to set_up_pango_log_clusters() so that when it passes the string on to unichar_index() it notices the surrogate pairs correctly. svn path=/trunk/; revision=2574 --- ChangeLog | 10 ++++++++++ modules/basic/basic-win32.c | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ee443a4..1e4c2b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-02-25 Tor Lillqvist + + Bug 515484 – Uniscribe interface handles surrogate + pairs incorrectly + + * modules/basic/basic-win32.c (itemize_shape_and_place): Pass + correctly offset wchar string to set_up_pango_log_clusters() so + that when it passes the string on to unichar_index() it notices + the surrogate pairs correctly. + 2008-02-24 Tor Lillqvist Bug 515484 – Pango on Windows is missing Type 1 diff --git a/modules/basic/basic-win32.c b/modules/basic/basic-win32.c index c0880fb..f11b34a 100644 --- a/modules/basic/basic-win32.c +++ b/modules/basic/basic-win32.c @@ -367,7 +367,7 @@ dump_glyphs_and_log_clusters (gboolean rtl, static int unichar_index (wchar_t *wtext, - int ix) + int ix) { int i, index; @@ -606,7 +606,7 @@ itemize_shape_and_place (PangoFont *font, ng = glyphs->num_glyphs; pango_glyph_string_set_size (glyphs, ng + nglyphs); - set_up_pango_log_clusters (wtext, + set_up_pango_log_clusters (wtext + items[item].iCharPos, items[item].a.fRTL, itemlen, log_clusters, nglyphs, glyphs->log_clusters + ng, char_offset); -- 2.7.4