summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-12-21 10:46:59 -0500
committerMatthias Clasen <mclasen@redhat.com>2020-12-21 10:49:56 -0500
commitaa95ae774fdc762c11025bbde37d6db24ff5d65a (patch)
tree35f80ea7da7d4b36b41f7398cda7a0ab8d2cf70b
parent933d241bbae6785c597798a2b804e57bf20301da (diff)
downloadgtk+-fix-node-glyphs.tar.gz
gsk: Fix serialization of glyphsfix-node-glyphs
We were forgetting to put a space between two numbers in some cases, confusing the parser. Test included. Fixes: #3496
-rw-r--r--gsk/gskrendernodeparser.c2
-rw-r--r--testsuite/gsk/nodeparser/text.node6
-rw-r--r--testsuite/gsk/nodeparser/text.ref.node6
3 files changed, 13 insertions, 1 deletions
diff --git a/gsk/gskrendernodeparser.c b/gsk/gskrendernodeparser.c
index 756147adb2..a77e8a5a9a 100644
--- a/gsk/gskrendernodeparser.c
+++ b/gsk/gskrendernodeparser.c
@@ -2692,7 +2692,7 @@ render_node_print (Printer *p,
glyphs[i].geometry.x_offset != 0 ||
glyphs[i].geometry.y_offset != 0)
{
- g_string_append_printf (p->str, "%g %g",
+ g_string_append_printf (p->str, " %g %g",
(double) glyphs[i].geometry.x_offset / PANGO_SCALE,
(double) glyphs[i].geometry.y_offset / PANGO_SCALE);
if (!glyphs[i].attr.is_cluster_start)
diff --git a/testsuite/gsk/nodeparser/text.node b/testsuite/gsk/nodeparser/text.node
new file mode 100644
index 0000000000..58cd1021f7
--- /dev/null
+++ b/testsuite/gsk/nodeparser/text.node
@@ -0,0 +1,6 @@
+text {
+ color: rgb(50,50,50);
+ font: "Cantarell 11";
+ glyphs: "N", 430 5, 406 8, 417 7, 772 4, 783 5, 783 5, 793 6 0 0 same-cluster;
+ offset: 0 32.0186;
+}
diff --git a/testsuite/gsk/nodeparser/text.ref.node b/testsuite/gsk/nodeparser/text.ref.node
new file mode 100644
index 0000000000..58cd1021f7
--- /dev/null
+++ b/testsuite/gsk/nodeparser/text.ref.node
@@ -0,0 +1,6 @@
+text {
+ color: rgb(50,50,50);
+ font: "Cantarell 11";
+ glyphs: "N", 430 5, 406 8, 417 7, 772 4, 783 5, 783 5, 793 6 0 0 same-cluster;
+ offset: 0 32.0186;
+}