Verified Commit 9aef96d6 authored by Pier Angelo Vendrame's avatar Pier Angelo Vendrame 🎃
Browse files

Bug 41043: Hardcode the UI font on Linux

The mechanism to choose the UI font does not play well with our
fontconfig configuration. As a result, the final criterion to choose
the font for the UI was its version.

Since we hardcode Arimo as a default sans-serif on preferences, we use
it also for the UI. FontConfig will fall back to some other font for
scripts Arimo does not cover as expected (we tested with Japanese).
parent eb471e9f
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2035,10 +2035,12 @@ void gfxFcPlatformFontList::GetFontList(nsAtom* aLangGroup,
FontFamily gfxFcPlatformFontList::GetDefaultFontForPlatform(
    nsPresContext* aPresContext, const gfxFontStyle* aStyle,
    nsAtom* aLanguage) {
  // Get the default font by using a fake name to retrieve the first
  // scalable font that fontconfig suggests for the given language.
  // We hardcode Arimo also in preferences, and using the original code that
  // tried to resolve a non-existing font did not play well with our fontconfig
  // configuration. See
  // https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41043
  PrefFontList* prefFonts =
      FindGenericFamilies(aPresContext, "-moz-default"_ns,
      FindGenericFamilies(aPresContext, "Arimo"_ns,
                          aLanguage ? aLanguage : nsGkAtoms::x_western);
  NS_ASSERTION(prefFonts, "null list of generic fonts");
  if (prefFonts && !prefFonts->IsEmpty()) {