diff options
author | Peng Wu <pwu@redhat.com> | 2020-01-14 16:15:17 +0800 |
---|---|---|
committer | Peng Wu <pwu@redhat.com> | 2021-01-20 13:37:04 +0800 |
commit | 4c6f0b3c0e03731ef4e44cda5ab42c768dc761a2 (patch) | |
tree | 7f4caae62c1c512d3cf915d7c893496fffcf8256 /pango | |
parent | 59074f13f87f09f493b0534da302f915a3f67a8f (diff) | |
download | pango-4c6f0b3c0e03731ef4e44cda5ab42c768dc761a2.tar.gz |
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.
Diffstat (limited to 'pango')
-rw-r--r-- | pango/pangofc-shape.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/pango/pangofc-shape.c b/pango/pangofc-shape.c index b6f74ca1..16d5d84d 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 */ |