[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Default font: Transition from DejaVu to Noto

On 2023-09-09 23:08, Gunnar Hjalmarsson wrote:
My personal view is that it is a change in the right direction,

It struck me that I stated a position in my initial post without really arguing for it. Silly me.

So with this message I try to repair that, and also highlight the questions I think this topic really boils down to.

There are at least two questions:

1. Should fonts-noto-core be installed by default?

2. Which font should fontconfig prefer?

At this moment, i.e. if you install Debian via a trixie ISO, the situation is:

* fonts-noto-core gets installed by default. How? Because it's first in this list:

  $ apt-cache depends fontconfig-config | grep fonts
   |Depends: fonts-noto-core
   |Depends: fonts-dejavu-core
   |Depends: fonts-liberation
   |Depends: fonts-croscore
   |Depends: fonts-freefont-otf
   |Depends: fonts-freefont-ttf
   |Depends: fonts-urw-base35
    Depends: fonts-texgyre

* fontconfig prefers Noto for sans-serif and serif, while it prefers DejaVu for monospace.

Hence the current defaults for latin scripts are:

sans-serif   Noto Sans
serif        Noto Serif
monospace DejaVu Sans Mono (or Noto Mono if fonts-dejavu-mono is not installed)

Note that that differs from Debian 12. In Debian 12 with GNOME, for instance, fonts-noto-core is not installed by default, but fonts-noto-mono is (because of a long chain of "Recommends:"). At the same time fontconfig prefers Noto also for monospace, which lead to these defaults:

sans-serif   DejaVu Sans
serif        DejaVu Serif
monospace    Noto Sans Mono

I think that is the situation which lead to some reactions in bug reports in the beginning of the year. Several users expressed their dissatisfaction with the switch from DejaVu Sans Mono to Noto Sans Mono. And in response to that the default monospace font has been changed back to DejaVu Sans Mono in trixie.

But let us discuss the two questions above.

Should fonts-noto-core be installed by default?
Personally I think it should. The primary reason is that fonts-noto-core offers a broad coverage of Unicode characters, and the quality is in many cases superior to the free alternatives. Ask for instance an Arabic or Sinhala speaking user.

To really make use of a Noto font, the font configuration may need to be tweaked. But having it installed is the basic prerequisite, and I think it makes sense that Debian as an internationally spread OS provides fonts of good quality for most languages.

There is a problem with fonts-noto-core, though, as several people have mentioned already: For non-LCG scripts it provides one font per script. And there are quite a few of those. So for a user, who wants to actively and often select font in a font picker, the list of font options gets horribly long.

Personally I see that as a shortcoming in the font pickers. They ought to offer some "favorites" functionality, in the same manner as it works with keyboard layouts. Unfortunately they don't, at least as far as I know.

So we have a conflict of goals here. The good news is that a user who speaks some latin language, and who thinks it's important to be able to easily select font directly in various applications, can do:

apt purge fonts-noto-core

But the many fonts is not only a disadvantage. It allows you to prefer Noto fonts for some non-latin scripts, and other fonts for other ditto. This flexibility is effectively blocked if DejaVu Sans, where everything is bundled into the same font, is installed and default.

Which font should fontconfig prefer?
Since it already has been changed back to DejaVu Sans Mono for monospace, let's talk about sans-serif/serif here.

Which font looks best? Noto, DejaVu, or something else? Apparently it's primarily a matter of personal preferences. Personally I'm not very sensitive, and I find several available fonts acceptable.

Things which speak for Noto is that it's being maintained upstream, it's preferred by fontconfig upstream, and several other distros have choosen Noto.

One thing I would like to say here is that when comparing different fonts, you need to be attentive to the font rendering settings. As an example I think that enabling 10-sub-pixel-rgb.conf is a good idea for many screens when using Noto fonts.

Gunnar Hjalmarsson

Reply to: