[tor-commits] [Git][tpo/applications/tor-browser][base-browser-102.8.0esr-12.5-1] fixup! Bug 41116: Normalize system fonts.

Richard Pospesel (@richard) git at gitlab.torproject.org
Wed Feb 22 11:26:00 UTC 2023



Richard Pospesel pushed to branch base-browser-102.8.0esr-12.5-1 at The Tor Project / Applications / Tor Browser


Commits:
ca8d87a9 by Pier Angelo Vendrame at 2023-02-22T11:25:47+00:00
fixup! Bug 41116: Normalize system fonts.

Bug 41646: Fixes for the font normalization

- - - - -


1 changed file:

- layout/base/nsLayoutUtils.cpp


Changes:

=====================================
layout/base/nsLayoutUtils.cpp
=====================================
@@ -9565,10 +9565,44 @@ void nsLayoutUtils::ComputeSystemFont(nsFont* aSystemFont,
   gfxFontStyle fontStyle;
   nsAutoString systemFontName;
   if (aDocument->ShouldResistFingerprinting()) {
-#ifdef XP_MACOSX
+#if defined(XP_MACOSX)
     systemFontName = u"-apple-system"_ns;
+    // Values taken from a macOS 10.15 system.
+    switch (aFontID) {
+      case LookAndFeel::FontID::Caption:
+      case LookAndFeel::FontID::Menu:
+        fontStyle.size = 13;
+        break;
+      case LookAndFeel::FontID::SmallCaption:
+        fontStyle.weight = gfxFontStyle::FontWeight(700);
+        // fall-through
+      case LookAndFeel::FontID::MessageBox:
+      case LookAndFeel::FontID::StatusBar:
+        fontStyle.size = 11;
+        break;
+      default:
+        fontStyle.size = 12;
+        break;
+    }
+#elif defined(XP_WIN) || defined(MOZ_WIDGET_ANDROID)
+    // Windows uses Segoe UI for Latin alphabets, but other fonts for some RTL
+    // languages, so we fallback to sans-serif to fall back to the user's
+    // default sans-serif. Size is 12px for all system fonts (tried in an en-US
+    // system).
+    // Several Android systems reported Roboto 12px, so similar to what Windows
+    // does.
+    systemFontName = u"sans-serif"_ns;
+    fontStyle.size = 12;
 #else
+    // On Linux, there is not a default. For example, GNOME on Debian uses
+    // Cantarell, 14.667px. Ubuntu Mate uses the Ubuntu font, but also 14.667px.
+    // Fedora with KDE uses Noto Sans, 13.3333px, but it uses Noto Sans on
+    // GNOME, too.
+    // In general, Linux uses some sans-serif, but its size can vary between
+    // 12px and 16px. We chose 15px because it is what Firefox is doing for the
+    // UI font-size.
     systemFontName = u"sans-serif"_ns;
+    fontStyle.size = 15;
 #endif
   } else if (!LookAndFeel::GetFont(aFontID, systemFontName, fontStyle)) {
     return;



View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ca8d87a945f8325e8d03c536946081d8fa5f7021

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ca8d87a945f8325e8d03c536946081d8fa5f7021
You're receiving this email because of your account on gitlab.torproject.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20230222/d83f999d/attachment-0001.htm>


More information about the tor-commits mailing list