summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-09-24 12:07:17 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-09-24 12:07:17 -0400
commit2e49eb0c706b5124e7acc30d098564aa929296ae (patch)
treebb82d84dc174b4a04ccf42d87a846b7bfc78d74b
parentd7183073b9b48becc445d73ea980018d9eada856 (diff)
downloadpango-2e49eb0c706b5124e7acc30d098564aa929296ae.tar.gz
Underline spaces againfix-underlined-spaces
in ada1bc9385d638e4c42, I switched to using ink rects for horizontal underline extents, to improve the placement of single-character underlines in the presence of kerning. I overlooked the fact that spaces don't have ink, so the change caused leading and trailing whitespace to not be underlined anymore. Fix this by using the union of ink and logical rectangles. Fixes: #613
-rw-r--r--pango/pango-renderer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pango/pango-renderer.c b/pango/pango-renderer.c
index b3b70549..311c28cd 100644
--- a/pango/pango-renderer.c
+++ b/pango/pango-renderer.c
@@ -362,8 +362,8 @@ add_underline (PangoRenderer *renderer,
int underline_thickness = pango_font_metrics_get_underline_thickness (metrics);
int underline_position = pango_font_metrics_get_underline_position (metrics);
- new_rect.x = base_x + ink_rect->x;
- new_rect.width = ink_rect->width;
+ new_rect.x = base_x + MIN (ink_rect->x, logical_rect->x);
+ new_rect.width = MAX (ink_rect->width, logical_rect->width);
new_rect.height = underline_thickness;
new_rect.y = base_y;