Default font: Transition from DejaVu to Noto

Gunnar Hjalmarsson <[email protected]> Sat, 9 Sep 2023 23:08:38 +0200
Newsgroups gmane.linux.debian.devel.gtk-gnome,gmane.linux.debian.devel.general,gmane.linux.debian.devel.fonts,gmane.linux.debian.devel.desktop,gmane.linux.debian.internationalization.general
Message-ID <[email protected]>
Hi!

With fontconfig 2.14, which entered testing last January, upstream 
fontconfig prefers Noto over DejaVu in /etc/fonts/conf.d/60-latin.conf. 
The change was not preceded by any discussion I'm aware of. It appears 
to be related to this Fedora measure:

https://fedoraproject.org/wiki/Changes/DefaultToNotoFonts

So Debian was kind of caught off guard.

My personal view is that it is a change in the right direction, and I 
have taken a couple of follow-up steps in Debian. There are still loose 
ends and more work to be done to achieve a consistent configuration in 
this respect. However, before taking further steps, I feel there is a 
need to reach out to a broader audience about the change. Hence this 
message. Basically I'm asking if this move towards Noto is desirable 
and, if so, I plea for relevant input for the completion of the transition.

While this message was crossposted to several mailing lists, since the 
topic affects multiple packages and teams, I suggest that the replies 
are posted to the general debian-devel list only.


The current situation
---------------------
 From a Debian POV, the effective default font for sans-serif and serif 
depends on whether the fonts-noto-core package is installed or not. For 
some desktop environments that package is pulled by default. As regards 
the GNOME desktop, fonts-noto-core is not installed by default with 
Debian 12 stable, but it does get pulled if you install trixie via a 
weekly build ISO.

The change as regards GNOME is probably my fault:

https://salsa.debian.org/freedesktop-team/fontconfig/-/commit/5aa10dde

While I thought that that commit wouldn't change much in practice, since 
there typically are other fonts which satisfy the fontconfig-config 
alternative dependency list, it probably does make a difference since 
fontconfig is installed early during the installation process.

Some bugs were filed early this year, where people expressed some 
dissatisfaction. The strongest objections were about the change of the 
monospace font. (fonts-noto-mono is included by default also in Debian 
12 stable with GNOME.) So I addressed that in trixie via a Debian level 
patch which changes the default monospace font back to DejaVu Sans Mono.

So at this time we have these preferences in 60-latin.conf:

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

So far so good. Mostly good IMHO. I can mention that I'm also working 
with fonts in Ubuntu, and similar changes will happen in Ubuntu 23.10.


Some steps to consider
----------------------
These are some points for consideration I have in mind:

* The task-* packages should be reconsidered. At first hand I'm thinking 
of all the non-latin task-* packages which recommend a particular font. 
Let's take task-hindi-desktop as an example, which currently recommends 
fonts-lohit-deva. I think it would be consistent to change that to:

Recommends: fonts-noto-core | fonts-lohit-deva

fonts-noto-core covers "all" scripts, so with that package installed 
there shouldn't be a need to install fonts-lohit-deva. (And for many 
non-latin scripts Noto offers better quality than the other non-latin 
font packages in the archive.)

* Maybe it would be motivated to recommend fonts-noto-core in the 
umbrella package task-desktop too. While fontconfig-config seems to pull 
fonts-noto-core for new installs, I suspect that it wouldn't be pulled 
during an upgrade to Debian trixie.

* System admins have the option to do "dpkg-reconfigure 
fontconfig-config" and that way control some fontconfig symlinks 
affecting things like hinting and subpixel rendering. As regards the 
related templates file I recently made a tiny change that appeared to be 
necessary:

https://salsa.debian.org/freedesktop-team/fontconfig/-/commit/45d8eda0

but I suspect that the feature may need an overhaul also in other 
respects if we change the default font.

* I've noticed the fonts-recommended bug 
https://bugs.debian.org/1051314, which rightly points out the need to 
consider Noto in that context.

* Almost 3 years have passed since the fonts-noto source package was 
last updated from upstream. A new update with latest upstream is desirable.


Looking forward to your response.