From 20fb155e8c360b0c84f3115e6fd7b32fbea130e9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 28 Jan 2021 18:19:42 -0500 Subject: [PATCH] gsk: Fix render node serialization When looking for ascii glyphs, we must match the pango shape flags that GTK is using. --- gsk/gskrendernodeparser.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gsk/gskrendernodeparser.c b/gsk/gskrendernodeparser.c index 90183482f2..c53597732d 100644 --- a/gsk/gskrendernodeparser.c +++ b/gsk/gskrendernodeparser.c @@ -689,14 +689,16 @@ create_ascii_glyphs (PangoFont *font) for (i = MIN_ASCII_GLYPH; i < MAX_ASCII_GLYPH; i++) { const char text[2] = { i, 0 }; + PangoShapeFlags flags = 0; - pango_shape_with_flags (text, - 1, - text, - 1, + if (cairo_version () < CAIRO_VERSION_ENCODE (1, 17, 4)) + flags = PANGO_SHAPE_ROUND_POSITIONS; + + pango_shape_with_flags (text, 1, + text, 1, ¬_a_hack, glyph_string, - PANGO_SHAPE_ROUND_POSITIONS); + flags); if (glyph_string->num_glyphs != 1) {