From 60beaf2e3aa27e50fabc5f15df331c1aa147a659 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Feb 2023 18:30:57 -0500 Subject: cairo: Apply hinting to underlines too When hint-metrics is on, make sure underline and strikethrough position and thickness are in whole pixels. This should help with disappearing mnemonics in GTK widgets. --- pango/pangocairo-fcfont.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pango/pangocairo-fcfont.c b/pango/pangocairo-fcfont.c index 4453b5ab..02eefb69 100644 --- a/pango/pangocairo-fcfont.c +++ b/pango/pangocairo-fcfont.c @@ -86,6 +86,10 @@ pango_cairo_fc_font_create_base_metrics_for_context (PangoCairoFont *cfont, metrics->ascent = PANGO_PIXELS_CEIL (metrics->ascent) * PANGO_SCALE; metrics->descent = PANGO_PIXELS_CEIL (metrics->descent) * PANGO_SCALE; metrics->height = PANGO_PIXELS_CEIL (metrics->height) * PANGO_SCALE; + metrics->underline_position = PANGO_PIXELS_CEIL (metrics->underline_position) * PANGO_SCALE; + metrics->underline_thickness = PANGO_PIXELS_CEIL (metrics->underline_thickness) * PANGO_SCALE; + metrics->strikethrough_position = PANGO_PIXELS_CEIL (metrics->strikethrough_position) * PANGO_SCALE; + metrics->strikethrough_thickness = PANGO_PIXELS_CEIL (metrics->strikethrough_thickness) * PANGO_SCALE; } return metrics; -- cgit v1.2.1 From 71e2d0c7899e789a4f43c58ec466aaee3f46f57e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Feb 2023 18:32:14 -0500 Subject: Fix compiler warnings --- pango/pango-utils.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pango/pango-utils.c b/pango/pango-utils.c index 7c85b0aa..a78dcd35 100644 --- a/pango/pango-utils.c +++ b/pango/pango-utils.c @@ -749,9 +749,9 @@ _pango_parse_enum (GType type, s->str); if (possible_values) - *possible_values = s->str; - - g_string_free (s, possible_values ? FALSE : TRUE); + *possible_values = g_string_free (s, FALSE); + else + g_string_free (s, TRUE); } } @@ -811,9 +811,7 @@ pango_parse_flags (GType type, g_string_append (s, v->value_nick); } - *possible_values = s->str; - - g_string_free (s, FALSE); + *possible_values = g_string_free (s, FALSE); } } -- cgit v1.2.1