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

Default font: Transition from DejaVu to Noto


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:


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:


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:


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.

Gunnar Hjalmarsson

Reply to: