File dont_round_font_scaling.patch of Package MozillaThunderbird
diff --git a/gfx/thebes/gfxPlatformGtk.cpp b/gfx/thebes/gfxPlatformGtk.cpp
--- a/gfx/thebes/gfxPlatformGtk.cpp
+++ b/gfx/thebes/gfxPlatformGtk.cpp
@@ -477,32 +477,13 @@
sDPI = dpi;
return dpi;
}
double gfxPlatformGtk::GetFontScaleFactor() {
- // Integer scale factors work well with GTK window scaling, image scaling, and
- // pixel alignment, but there is a range where 1 is too small and 2 is too
- // big.
- //
- // An additional step of 1.5 is added because this is common scale on WINNT
- // and at this ratio the advantages of larger rendering outweigh the
- // disadvantages from scaling and pixel mis-alignment.
- //
- // A similar step for 1.25 is added as well, because this is the scale that
- // "Large text" settings use in gnome, and it seems worth to allow, especially
- // on already-hidpi environments.
- int32_t dpi = GetFontScaleDPI();
- if (dpi < 120) {
- return 1.0;
- }
- if (dpi < 132) {
- return 1.25;
- }
- if (dpi < 168) {
- return 1.5;
- }
- return round(dpi / 96.0);
+ // Modern GTK works fine with non-integer scaling, and scaling factors like
+ // 1.25 are common as "Large text" in gnome as well, so no need to round.
+ return GetFontScaleDPI() / 96.0;
}
gfxImageFormat gfxPlatformGtk::GetOffscreenFormat() {
// Make sure there is a screen
GdkScreen* screen = gdk_screen_get_default();