diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-11-27 23:37:23 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-11-27 23:41:18 -0500 |
commit | d5c3348ac714d884cb6be8d04f0e1b96f04d59c9 (patch) | |
tree | 98a297eaad6bc3b6c2d59e531639650d470887cf | |
parent | db4fde572907d837dd994df6c46b77a95b0079e9 (diff) | |
download | pango-d5c3348ac714d884cb6be8d04f0e1b96f04d59c9.tar.gz |
Fix line heights in improper gravitiesgravity-fixes
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
-rw-r--r-- | pango/pango-layout.c | 2 | ||||
-rw-r--r-- | 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 |