From 96ac85038bdf893a1d60ed0255c4031d0a881e22 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 2 Mar 2021 11:32:29 -0500 Subject: rendernode: Fix glyph serialization We serializing to a string of ASCII, we need to escape some chars, such as '\' and '"'. Fixes: #3710 --- gsk/gskrendernodeparser.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gsk/gskrendernodeparser.c') diff --git a/gsk/gskrendernodeparser.c b/gsk/gskrendernodeparser.c index c53597732d..8d72f94aa1 100644 --- a/gsk/gskrendernodeparser.c +++ b/gsk/gskrendernodeparser.c @@ -2338,7 +2338,18 @@ gsk_text_node_serialize_glyphs (GskRenderNode *node, glyphs[i].geometry.y_offset == 0 && glyphs[i].attr.is_cluster_start) { - g_string_append_c (str, j + MIN_ASCII_GLYPH); + switch (j + MIN_ASCII_GLYPH) + { + case '\\': + g_string_append (str, "\\\\"); + break; + case '"': + g_string_append (str, "\\\""); + break; + default: + g_string_append_c (str, j + MIN_ASCII_GLYPH); + break; + } break; } else if (glyphs[i].glyph == ascii->glyphs[j].glyph) -- cgit v1.2.1