summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-07-31 15:50:50 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-07-31 15:50:50 +0000
commitaf343a36c239e9bb8f09af4676c18d8bd496723f (patch)
tree3a39846c271b12b13c888c04ec1ef2d98009ad1d
parentcfd9bf4284de4e6a82f3b52f6b5e39f7205a6cac (diff)
downloadpango-af343a36c239e9bb8f09af4676c18d8bd496723f.tar.gz
Set is_cluster_start attributes based on the log_clusters[] set by the
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.)
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLog.pre-1-106
-rw-r--r--ChangeLog.pre-1-26
-rw-r--r--ChangeLog.pre-1-46
-rw-r--r--ChangeLog.pre-1-66
-rw-r--r--ChangeLog.pre-1-86
-rw-r--r--pango/shape.c16
7 files changed, 52 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 83ce2b40..17f0dbfe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Jul 30 20:19:15 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.)
+
2002-07-28 Michael Natterer <mitch@gimp.org>
* modules/thai/thai-xft.c (make_glyph): added missing cast
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index 83ce2b40..17f0dbfe 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,3 +1,9 @@
+Tue Jul 30 20:19:15 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.)
+
2002-07-28 Michael Natterer <mitch@gimp.org>
* modules/thai/thai-xft.c (make_glyph): added missing cast
diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2
index 83ce2b40..17f0dbfe 100644
--- a/ChangeLog.pre-1-2
+++ b/ChangeLog.pre-1-2
@@ -1,3 +1,9 @@
+Tue Jul 30 20:19:15 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.)
+
2002-07-28 Michael Natterer <mitch@gimp.org>
* modules/thai/thai-xft.c (make_glyph): added missing cast
diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4
index 83ce2b40..17f0dbfe 100644
--- a/ChangeLog.pre-1-4
+++ b/ChangeLog.pre-1-4
@@ -1,3 +1,9 @@
+Tue Jul 30 20:19:15 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.)
+
2002-07-28 Michael Natterer <mitch@gimp.org>
* modules/thai/thai-xft.c (make_glyph): added missing cast
diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6
index 83ce2b40..17f0dbfe 100644
--- a/ChangeLog.pre-1-6
+++ b/ChangeLog.pre-1-6
@@ -1,3 +1,9 @@
+Tue Jul 30 20:19:15 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.)
+
2002-07-28 Michael Natterer <mitch@gimp.org>
* modules/thai/thai-xft.c (make_glyph): added missing cast
diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8
index 83ce2b40..17f0dbfe 100644
--- a/ChangeLog.pre-1-8
+++ b/ChangeLog.pre-1-8
@@ -1,3 +1,9 @@
+Tue Jul 30 20:19:15 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.)
+
2002-07-28 Michael Natterer <mitch@gimp.org>
* modules/thai/thai-xft.c (make_glyph): added missing cast
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);
}