From d5c3348ac714d884cb6be8d04f0e1b96f04d59c9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 27 Nov 2021 23:37:23 -0500 Subject: Fix line heights in improper gravities Without this, we end up with line height being zero in gravity north or west. The visible symptom is that wrapped lines are drawn on top of each other with line-height != 0. Affected tests have been updated. Fixes: #631 --- pango/pango-layout.c | 2 +- tests/layouts/valid-20.layout | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pango/pango-layout.c b/pango/pango-layout.c index 40e24cbb..7b32eeef 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -5664,7 +5664,7 @@ pango_layout_line_get_extents_and_height (PangoLayoutLine *line, } if (height) - *height = MAX (*height, run_height); + *height = MAX (*height, abs (run_height)); x_pos += run_logical.width; tmp_list = tmp_list->next; diff --git a/tests/layouts/valid-20.layout b/tests/layouts/valid-20.layout index 47a9c6dc..7c00d5dc 100644 --- a/tests/layouts/valid-20.layout +++ b/tests/layouts/valid-20.layout @@ -15,7 +15,7 @@ 0.0 ] }, - "comment" : "", + "comment" : "mixed gravity fun", "text" : "abcdef", "attributes" : [ { @@ -139,7 +139,7 @@ { "glyph" : 244, "width" : 19456, - "x-offset" : 34220, + "x-offset" : 14764, "y-offset" : 3844, "is-cluster-start" : true, "log-cluster" : 0 @@ -147,7 +147,7 @@ { "glyph" : 272, "width" : 19456, - "x-offset" : 34220, + "x-offset" : 14764, "y-offset" : 4280, "is-cluster-start" : true, "log-cluster" : 1 @@ -155,7 +155,7 @@ { "glyph" : 273, "width" : 19456, - "x-offset" : 34220, + "x-offset" : 14764, "y-offset" : 3506, "is-cluster-start" : true, "log-cluster" : 2 -- cgit v1.2.1