summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-11-27 23:37:23 -0500
committerMatthias Clasen <mclasen@redhat.com>2021-11-27 23:41:18 -0500
commitd5c3348ac714d884cb6be8d04f0e1b96f04d59c9 (patch)
tree98a297eaad6bc3b6c2d59e531639650d470887cf
parentdb4fde572907d837dd994df6c46b77a95b0079e9 (diff)
downloadpango-gravity-fixes.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.c2
-rw-r--r--tests/layouts/valid-20.layout8
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