From 5a23c0f038be973fed7b2e0fe6e0a5bb2cb307ee Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 1 Dec 2018 10:38:10 +0100 Subject: [PATCH] GDK W32: set default settings for fontconfig Enables hinting, antialiasing and set the subpixel orientation according to the active clear type setting. This ensures that font rendering with the fontconfig backend looks similar to the win32 backend, at least with the default system font. --- gdk/win32/gdkproperty-win32.c | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c index 3524cd13a2..7c780428c0 100644 --- a/gdk/win32/gdkproperty-win32.c +++ b/gdk/win32/gdkproperty-win32.c @@ -333,6 +333,42 @@ _gdk_win32_screen_get_setting (GdkScreen *screen, g_value_set_boolean (value, TRUE); return TRUE; } + else if (strcmp ("gtk-xft-hinting", name) == 0) + { + GDK_NOTE(MISC, g_print ("gdk_screen_get_setting(\"%s\") : 1\n", name)); + g_value_set_int (value, 1); + return TRUE; + } + else if (strcmp ("gtk-xft-antialias", name) == 0) + { + GDK_NOTE(MISC, g_print ("gdk_screen_get_setting(\"%s\") : 1\n", name)); + g_value_set_int (value, 1); + return TRUE; + } + else if (strcmp ("gtk-xft-hintstyle", name) == 0) + { + g_value_set_static_string (value, "hintfull"); + GDK_NOTE(MISC, g_print ("gdk_screen_get_setting(\"%s\") : %s\n", name, g_value_get_string (value))); + return TRUE; + } + else if (strcmp ("gtk-xft-rgba", name) == 0) + { + unsigned int orientation = 0; + if (SystemParametersInfoW (SPI_GETFONTSMOOTHINGORIENTATION, 0, &orientation, 0)) + { + if (orientation == FE_FONTSMOOTHINGORIENTATIONRGB) + g_value_set_static_string (value, "rgb"); + else if (orientation == FE_FONTSMOOTHINGORIENTATIONBGR) + g_value_set_static_string (value, "bgr"); + else + g_value_set_static_string (value, "none"); + } + else + g_value_set_static_string (value, "none"); + + GDK_NOTE(MISC, g_print ("gdk_screen_get_setting(\"%s\") : %s\n", name, g_value_get_string (value))); + return TRUE; + } else if (strcmp ("gtk-font-name", name) == 0) { NONCLIENTMETRICS ncm;