I suggest something like this

diff --git a/src/sciwrappers.c b/src/sciwrappers.c
index 647c44454..5dc59b93e 100644
--- a/src/sciwrappers.c
+++ b/src/sciwrappers.c
@@ -968,9 +968,9 @@ void sci_set_font(ScintillaObject *sci, gint style, const gchar *font, gint size
 }
 
 
-gint sci_get_fontsize(ScintillaObject *sci, gint style)
+gdouble sci_get_font_size(ScintillaObject *sci, gint style)
 {
-	return (gint) SSM(sci, SCI_STYLEGETSIZE, (uptr_t) style, 0);
+	return SSM(sci, SCI_STYLEGETSIZEFRACTIONAL, (uptr_t) style, 0) / (gdouble) SC_FONT_SIZE_MULTIPLIER;
 }
 
 
diff --git a/src/sciwrappers.h b/src/sciwrappers.h
index fca3efa65..fa2a88a29 100644
--- a/src/sciwrappers.h
+++ b/src/sciwrappers.h
@@ -219,7 +219,7 @@ void				sci_move_selected_lines_up      (ScintillaObject *sci);
 
 void				sci_set_font_fractional		(ScintillaObject *sci, gint style, const gchar *font, gdouble size);
 
-gint				sci_get_fontsize			(ScintillaObject *sci, gint style);
+gdouble				sci_get_font_size			(ScintillaObject *sci, gint style);
 
 #endif /* GEANY_PRIVATE */
 
diff --git a/src/ui_utils.c b/src/ui_utils.c
index 644259bec..5f3ad4abf 100644
--- a/src/ui_utils.c
+++ b/src/ui_utils.c
@@ -309,13 +309,13 @@ static gchar *create_statusbar_statistics(GeanyDocument *doc,
 				zoom = sci_get_zoom(doc->editor->sci);
 				if (zoom != 0)
 				{
-					gint size, percent;
+					gdouble size, percent;
 
-					size = sci_get_fontsize(doc->editor->sci, STYLE_DEFAULT);
-					if (size > 0)
+					size = sci_get_font_size(doc->editor->sci, STYLE_DEFAULT);
+					if (size > 0.0)
 					{
 						percent = (size + zoom) * 100 / size;
-						g_string_append_printf(stats_str, _("Zoom: %d%%"), percent);
+						g_string_append_printf(stats_str, _("Zoom: %.0f%%"), percent);
 						g_string_append(stats_str, sp);
 					}
 				}


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.