Idea: Let selection of default fonts be based on Noto

Gunnar Hjalmarsson gunnarhj at
Tue Jul 11 01:30:24 UTC 2023

Hi all,

I would like to make an overhaul of the selection of fonts we ship by 
default in the Ubuntu desktop. In short I would like to:

1. Install the fonts-noto-core package by default

- That package includes sans-serif and serif fonts covering latin as 
well as a large number of non-latin scripts.

2. Keep installing the fonts-noto-cjk package by default

- To cover Chinese, Japanese and Korean.

3. Drop quite a few font packages for non-latin scripts from the seed

- Simply because those scripts would be covered by fonts-noto-core, 
which typically offers fonts of better quality than the non-latin fonts 
from various sources we currently include by default.

4. Keep DejaVu Sans Mono as the default monospace font for most scripts 
for now.

- The quality of the DejaVu monospace fonts seems to be generally good. 
No urgent need to change it for monospace.

(Please note that I'm not suggesting that we would replace the Ubuntu 
font in the desktop environment. I'm talking about the default font 
picked by fontconfig in other contexts, not least web browsing.)

What would the point with this be?

Currently the DejaVu fonts are default for most scripts. Glyphs for a 
large number of scripts are bundled into the same DejaVu font. Example:

$ fc-query /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf | grep -E 

While you can argue that this is convenient, it makes it cumbersome to 
replace the default font for a particular script with some better 
default font. 
/usr/share/fontconfig/conf.avail/56-language-selector-ar.conf is a 
convoluted way to do that for Arabic, but that works only under an 
Arabic locale. And many Arabic speaking users prefer to use English as 
display language.

Changing the default font for sans-serif and serif to Noto for most 
scripts would improve the situation in two ways:

1. Typically it would improve the font quality for non-latin scripts. As 
regards latin I think the quality of the Noto font is well as good as 

2. To the extent we would want to provide non-Noto default fonts for a 
few scripts, it would be easy to change the font configuration 
accordingly, and we wouldn't need to restrict it to certain locales.

It's worth mentioning that e.g. Fedora and some of our own flavors 
already use Noto fonts by default. Debian does so too if you install 
e.g. the GNOME desktop on Debian, since fonts-noto-core is pulled in 
that case and fontconfig upstream prefers Noto nowadays.

User complaints about too many fonts

There is a discourse topic where some users complain about the large 
number of fonts currently installed by default. Would this change make 
those users happy? I'd say 'yes' and 'no'.

I can understand that users who create advanced documents and often need 
to switch between only a few fonts don't like the idea with fonts 
covering a lot of scripts around the world. Apparently the tools for 
selecting fonts typically show the whole list of installed fonts. So 
would the proposed change reduce the total number of fonts installed by 
default? Probably not. I think there would be more of them.

But the good news is that the proposed change would make it much easier 
for such users to uninstall one or two font packages:

sudo apt purge fonts-noto-core

(I'm assuming that the ubuntu-desktop package would only recommend 
fonts-noto-core, not depend on it.)

That would leave a significantly smaller number of fonts, where DejaVu 
would return as the default font for most scripts, and make life easier 
for advanced content creators.

So how to go about this?

I'm seeking a green light for starting the changes described above in 

As regards the font configuration, the snaps do (or will soon do) that 
separately, and do not parse the system host's /etc/fonts/conf.d . So we 
would need to start with the system, and once there is a decent set of 
fonts including related font configuration, we would need to copy that 
into the snaps later.

Looking forward to your response on the proposed changes.


Gunnar Hjalmarsson

More information about the ubuntu-devel mailing list