[pango/pango-1-44] Translate origin point for vertical layout



commit 1cac253753d25d8b3e17522e3ba07c9868fa17ba
Author: Peng Wu <pwu redhat com>
Date:   Tue Jan 14 16:15:17 2020 +0800

    Translate origin point for vertical layout
    
    The origin point for vertical layout needs to be translated
    for cairo rendering from the horizontal origin to the vertical origin.
    
    (cherry-picked from commit 4c6f0b3c)

 pango/pangofc-shape.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/pango/pangofc-shape.c b/pango/pangofc-shape.c
index 9fe193f6..471d4f55 100644
--- a/pango/pangofc-shape.c
+++ b/pango/pangofc-shape.c
@@ -409,9 +409,12 @@ pango_hb_shape (PangoFont           *font,
     for (i = 0; i < num_glyphs; i++)
       {
         /* 90 degrees rotation counter-clockwise. */
-       infos[i].geometry.width    =   hb_position->y_advance;
-       infos[i].geometry.x_offset =   hb_position->y_offset;
-       infos[i].geometry.y_offset = - hb_position->x_offset;
+       hb_position_t x_origin = 0, y_origin = 0;
+       hb_font_get_glyph_v_origin
+         (hb_font, infos[i].glyph, &x_origin, &y_origin);
+       infos[i].geometry.width    = - hb_position->y_advance;
+       infos[i].geometry.x_offset = - hb_position->y_offset - y_origin;
+       infos[i].geometry.y_offset = - hb_position->x_offset - x_origin;
        hb_position++;
       }
   else /* horizontal */


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