[pango/gravity-fixes] Fix line heights in improper gravities




commit d5c3348ac714d884cb6be8d04f0e1b96f04d59c9
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Nov 27 23:37:23 2021 -0500

    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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]