diff options
author | Tavmjong Bah <tavmjong@free.fr> | 2021-03-17 14:37:13 +0100 |
---|---|---|
committer | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2021-05-05 17:17:48 +0200 |
commit | a7c32cfd053ce49193cba933c10bc25f1ffa5b9f (patch) | |
tree | d09381b9e40bc9197fafbf56c658ca02ba520c21 | |
parent | 1cac253753d25d8b3e17522e3ba07c9868fa17ba (diff) | |
download | pango-a7c32cfd053ce49193cba933c10bc25f1ffa5b9f.tar.gz |
Fix placement of marks in upright vertical text.
(cherry-picked from commit 3396cc20)
-rw-r--r-- | pango/pangofc-fontmap.c | 5 | ||||
-rw-r--r-- | pango/pangofc-shape.c | 7 |
2 files changed, 4 insertions, 8 deletions
diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index 13334a44..86c6b619 100644 --- a/pango/pangofc-fontmap.c +++ b/pango/pangofc-fontmap.c @@ -1530,7 +1530,6 @@ pango_fc_make_pattern (const PangoFontDescription *description, int slant; double weight; PangoGravity gravity; - FcBool vertical; char **families; int i; int width; @@ -1541,7 +1540,6 @@ pango_fc_make_pattern (const PangoFontDescription *description, width = pango_fc_convert_width_to_fc (pango_font_description_get_stretch (description)); gravity = pango_font_description_get_gravity (description); - vertical = PANGO_GRAVITY_IS_VERTICAL (gravity) ? FcTrue : FcFalse; /* The reason for passing in FC_SIZE as well as FC_PIXEL_SIZE is * to work around a bug in libgnomeprint where it doesn't look @@ -1550,13 +1548,14 @@ pango_fc_make_pattern (const PangoFontDescription *description, * Putting FC_SIZE in here slightly reduces the efficiency * of caching of patterns and fonts when working with multiple different * dpi values. + * + * Do not pass FC_VERTICAL_LAYOUT true as HarfBuzz shaping assumes false. */ pattern = FcPatternBuild (NULL, PANGO_FC_VERSION, FcTypeInteger, pango_version(), FC_WEIGHT, FcTypeDouble, weight, FC_SLANT, FcTypeInteger, slant, FC_WIDTH, FcTypeInteger, width, - FC_VERTICAL_LAYOUT, FcTypeBool, vertical, #ifdef FC_VARIABLE FC_VARIABLE, FcTypeBool, FcDontCare, #endif diff --git a/pango/pangofc-shape.c b/pango/pangofc-shape.c index 471d4f55..69f5462b 100644 --- a/pango/pangofc-shape.c +++ b/pango/pangofc-shape.c @@ -409,12 +409,9 @@ pango_hb_shape (PangoFont *font, for (i = 0; i < num_glyphs; i++) { /* 90 degrees rotation counter-clockwise. */ - 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; + infos[i].geometry.x_offset = - hb_position->y_offset; + infos[i].geometry.y_offset = - hb_position->x_offset; hb_position++; } else /* horizontal */ |