diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.pre-1-10 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-1-2 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-1-4 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-1-6 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-1-8 | 6 | ||||
-rw-r--r-- | pango/shape.c | 16 |
7 files changed, 52 insertions, 0 deletions
@@ -1,3 +1,9 @@ +Tue Jul 30 23:10:14 2002 Owen Taylor <otaylor@redhat.com> + + * pango/shape.c (pango_shape): Set is_cluster_start + attributes based on the log_clusters[] set by the shape + engine. (Fix for #84307, Reported by Alex Larsson, others.) + Sat Jul 27 09:46:51 2002 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-shaper.[ch],thai-x.c,thai-xft.c} diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index 44bbe7ba..13d4e345 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,9 @@ +Tue Jul 30 23:10:14 2002 Owen Taylor <otaylor@redhat.com> + + * pango/shape.c (pango_shape): Set is_cluster_start + attributes based on the log_clusters[] set by the shape + engine. (Fix for #84307, Reported by Alex Larsson, others.) + Sat Jul 27 09:46:51 2002 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-shaper.[ch],thai-x.c,thai-xft.c} diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2 index 44bbe7ba..13d4e345 100644 --- a/ChangeLog.pre-1-2 +++ b/ChangeLog.pre-1-2 @@ -1,3 +1,9 @@ +Tue Jul 30 23:10:14 2002 Owen Taylor <otaylor@redhat.com> + + * pango/shape.c (pango_shape): Set is_cluster_start + attributes based on the log_clusters[] set by the shape + engine. (Fix for #84307, Reported by Alex Larsson, others.) + Sat Jul 27 09:46:51 2002 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-shaper.[ch],thai-x.c,thai-xft.c} diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4 index 44bbe7ba..13d4e345 100644 --- a/ChangeLog.pre-1-4 +++ b/ChangeLog.pre-1-4 @@ -1,3 +1,9 @@ +Tue Jul 30 23:10:14 2002 Owen Taylor <otaylor@redhat.com> + + * pango/shape.c (pango_shape): Set is_cluster_start + attributes based on the log_clusters[] set by the shape + engine. (Fix for #84307, Reported by Alex Larsson, others.) + Sat Jul 27 09:46:51 2002 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-shaper.[ch],thai-x.c,thai-xft.c} diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6 index 44bbe7ba..13d4e345 100644 --- a/ChangeLog.pre-1-6 +++ b/ChangeLog.pre-1-6 @@ -1,3 +1,9 @@ +Tue Jul 30 23:10:14 2002 Owen Taylor <otaylor@redhat.com> + + * pango/shape.c (pango_shape): Set is_cluster_start + attributes based on the log_clusters[] set by the shape + engine. (Fix for #84307, Reported by Alex Larsson, others.) + Sat Jul 27 09:46:51 2002 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-shaper.[ch],thai-x.c,thai-xft.c} diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8 index 44bbe7ba..13d4e345 100644 --- a/ChangeLog.pre-1-8 +++ b/ChangeLog.pre-1-8 @@ -1,3 +1,9 @@ +Tue Jul 30 23:10:14 2002 Owen Taylor <otaylor@redhat.com> + + * pango/shape.c (pango_shape): Set is_cluster_start + attributes based on the log_clusters[] set by the shape + engine. (Fix for #84307, Reported by Alex Larsson, others.) + Sat Jul 27 09:46:51 2002 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-shaper.[ch],thai-x.c,thai-xft.c} diff --git a/pango/shape.c b/pango/shape.c index 2c95f2e8..5cfdf13b 100644 --- a/pango/shape.c +++ b/pango/shape.c @@ -40,6 +40,9 @@ pango_shape (const gchar *text, PangoAnalysis *analysis, PangoGlyphString *glyphs) { + int i; + int last_cluster = -1; + if (analysis->shape_engine) analysis->shape_engine->script_shape (analysis->font, text, length, analysis, glyphs); else @@ -55,5 +58,18 @@ pango_shape (const gchar *text, glyphs->log_clusters[0] = 0; } + /* Set glyphs[i].attr.is_cluster_start based on log_clusters[] + */ + for (i = 0; i < glyphs->num_glyphs; i++) + { + if (glyphs->log_clusters[i] != last_cluster) + { + glyphs->glyphs[i].attr.is_cluster_start = TRUE; + last_cluster = glyphs->log_clusters[i]; + } + else + glyphs->glyphs[i].attr.is_cluster_start = FALSE; + } + g_assert (glyphs->num_glyphs > 0); } |