[gtk/fix-glyph-serialization] rendernode: Fix glyph serialization




commit 96ac85038bdf893a1d60ed0255c4031d0a881e22
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Mar 2 11:32:29 2021 -0500

    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(-)
---
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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]