GNOME Bugzilla – Bug 793744
gedit should support fractional scaling on windows
Last modified: 2020-11-24 09:59:02 UTC
I already reported this bug (bug 793700) but it has been moved to GTK+, so I am opening a new one here. Gedit does not support well fractional scaling on windows: at a 150% zoom level, all fonts appear blurry. Fractional scaling is not well supported in GTK+ 2 and 3, but apparently there is something which can be done at the application level, since both inkscape and gimp have crisp display on windows with fractional scaling. See the GTK+ bug for more details.
Hi Frédéric, For GIMP and Inkscape (which both use GTK+-2.x), do take a look at the following links: GIMP: https://github.com/GNOME/gimp/blob/master/build/windows/gimp.manifest Inkscape: https://gitlab.com/inkscape/inkscape/blob/master/src/inkscape-manifest.xml Look especially for the line that has the <dpiAware> tag, which have the value "true" in both cases, which, as the link to MSDN I posted in the other bug report, means that "Hi Windows, please do not automatically scale up". Note that these applications have this manifest embedded into their executables during their build process. As LRN mentioned, if this automatic scaling is enabled, you will see the blurry text as you saw in gedit, which does not have this manifest embedded. It is unlikely that gedit will have this kind of manifest embedded into it since GTK+-3.x has support for integer-based scaling factors (in addition to enabling DpiAware that is built in the Windows GTK+ (GDK, really, which is a part of GTK+) DLLs since 3.22.4 and improved in 3.22.19 and later). Again, we won't expect to have fractional scaling until GTK+-4.x, but it is not clear at the moment how this will be done, as things need to coordinate with the other backends (Wayland, in this case at least), but this is the best we can do with GTK+-3.x. The best way to "fix" this is that there can be a new GEdit Windows binary installer release (the installer is probably how you got gedit, albeit an older version) that contains the latest GTK+-3.22.x DLLs, which, I am unable to do. Before such a release comes out, if you have the mt utility (a part of Visual Studio/Visual C++ 2008, including express and community versions), copy and paste the manifest sample (save it as dpi.manifest, for example) at [1] without the "..."'s and run something like mt /manifest dpi.manifest /outputresource:gedit.exe;1. [1]: https://msdn.microsoft.com/zh-tw/library/windows/desktop/ms633543(v=vs.85).aspx Hope this helps. With blessings, and cheers!
Mass-closing of all gedit bugzilla tickets. Special "code" to find again all those gedit bugzilla tickets that were open before the mass-closing: 2bfe1b0590a78457e1f1a6a90fb975f5878cb60064ccfe1d7db76ca0da52f0f3 By searching the above sha256sum in bugzilla, the gedit contributors can find again the tickets. We may be interested to do so when we work on a specific area of the code, to at least know the known problems and possible enhancements. We do this mass-closing because bugzilla.gnome.org is being replaced by gitlab.gnome.org.