patch 9.2.0532: GTK: preedit font size is wrong for fractional point sizes

Problem:  GTK: preedit font size is wrong for fractional point sizes
Solution: Compute the font size as a double and round to the nearest
          integer (Muraoka Taro).

closes: #20316

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Muraoka Taro
2026-05-25 15:26:08 +00:00
committed by Christian Brabandt
parent 3b8ac8f8a4
commit e323740b56
2 changed files with 7 additions and 3 deletions
+5 -3
View File
@@ -474,8 +474,10 @@ im_preedit_window_open(void)
gchar *css = NULL;
const char * const fontname
= pango_font_description_get_family(gui.norm_font);
gint fontsize
= pango_font_description_get_size(gui.norm_font) / PANGO_SCALE;
// Since font sizes can be specified as non-integer values like 10.5,
// they must be handled as floating-point (gdouble).
gdouble fontsize
= (gdouble)pango_font_description_get_size(gui.norm_font) / PANGO_SCALE;
gchar *fontsize_propval = NULL;
if (!pango_font_description_get_size_is_absolute(gui.norm_font))
@@ -488,7 +490,7 @@ im_preedit_window_open(void)
fontsize = dpi * fontsize / 72;
}
if (fontsize > 0)
fontsize_propval = g_strdup_printf("%dpx", fontsize);
fontsize_propval = g_strdup_printf("%dpx", (gint)(fontsize + 0.5));
else
fontsize_propval = g_strdup_printf("inherit");
+2
View File
@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
532,
/**/
531,
/**/