[pango/baseline-handling] layout: Handle vertical text baselines



commit 808df00b939f0f32bc37141912a7e20c2ae64d23
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Feb 16 14:04:41 2022 -0600

    layout: Handle vertical text baselines
    
    Use the central baseline for vertical text.
    This makes the special-casing of centered
    baselines in the renderer unnecessary.

 pango/pango-layout.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index 0c16e106..9420a1c9 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -6725,7 +6725,10 @@ apply_baseline_shift (PangoLayoutLine *line,
 
       if (baseline_tag == 0)
         {
-          baseline_tag = hb_ot_layout_get_baseline_tag_for_script (script);
+          if (PANGO_GRAVITY_IS_VERTICAL (item->analysis.gravity))
+            baseline_tag = HB_OT_LAYOUT_BASELINE_TAG_CENTRAL;
+          else
+            baseline_tag = hb_ot_layout_get_horizontal_baseline_tag_for_script (script);
           hb_ot_layout_get_baseline_with_fallback (hb_font,
                                                    baseline_tag,
                                                    direction,


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