summaryrefslogtreecommitdiff
path: root/modules/basic/basic-fc.c
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2006-01-23 12:43:36 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2006-01-23 12:43:36 +0000
commitce22d934fce30c8fce9b660221419f8a0055d565 (patch)
tree09edaacb296170440c05b930a56be06561785836 /modules/basic/basic-fc.c
parentb96b62b89cadc96e8a1612d7e33db99bfe58d82f (diff)
downloadpango-ce22d934fce30c8fce9b660221419f8a0055d565.tar.gz
Set cluster only on base chars, like the Arabic module does.
2006-01-23 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c: Set cluster only on base chars, like the Arabic module does. * modules/indic/indic-fc.c: Draw an unknown glyph on missing glyphs, like other modules do. (part of bug #326960, LingNing Zhang)
Diffstat (limited to 'modules/basic/basic-fc.c')
-rw-r--r--modules/basic/basic-fc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/basic/basic-fc.c b/modules/basic/basic-fc.c
index d72d7b72..caa46cf4 100644
--- a/modules/basic/basic-fc.c
+++ b/modules/basic/basic-fc.c
@@ -335,6 +335,7 @@ basic_engine_shape (PangoEngineShape *engine,
int n_chars;
int i;
const char *p;
+ int cluster = 0;
g_return_if_fail (font != NULL);
g_return_if_fail (text != NULL);
@@ -367,7 +368,6 @@ basic_engine_shape (PangoEngineShape *engine,
PangoGlyph index;
char buf[6];
const char *input;
- int cluster = 0;
wc = g_utf8_get_char (p);
input = p;
@@ -395,7 +395,8 @@ basic_engine_shape (PangoEngineShape *engine,
}
else
{
- cluster = p - text;
+ if (g_unichar_type (wc) != G_UNICODE_NON_SPACING_MARK)
+ cluster = p - text;
pango_ot_buffer_add_glyph (buffer, index,
unknown_property, cluster);