From 0d0bdaa02e6e38e2b1997e50a4f3411fcf70176b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 28 Jan 2021 18:16:16 -0500 Subject: [PATCH] gsk: Fix a thinko With subpixel positioning, we need to offset the cached glyphs by their phase. --- gsk/gl/gskglglyphcache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gsk/gl/gskglglyphcache.c b/gsk/gl/gskglglyphcache.c index b147dcef21..9cff7d7ca1 100644 --- a/gsk/gl/gskglglyphcache.c +++ b/gsk/gl/gskglglyphcache.c @@ -149,10 +149,10 @@ render_glyph (GlyphCacheKey *key, glyph_info.glyph = key->data.glyph; glyph_info.geometry.width = value->draw_width * 1024; if (glyph_info.glyph & PANGO_GLYPH_UNKNOWN_FLAG) - glyph_info.geometry.x_offset = 0; + glyph_info.geometry.x_offset = 250 * key->data.xshift; else - glyph_info.geometry.x_offset = - value->draw_x * 1024; - glyph_info.geometry.y_offset = - value->draw_y * 1024; + glyph_info.geometry.x_offset = 250 * key->data.xshift - value->draw_x * 1024; + glyph_info.geometry.y_offset = 250 * key->data.yshift - value->draw_y * 1024; glyph_string.num_glyphs = 1; glyph_string.glyphs = &glyph_info;