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 '\blang' lang: aa|ab|af|ar|ast|av|ay|az-az|az-ir|ba|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|he|ho|hr|hu|hy|ia|ig|id|ie|ik|io|is|it|iu|ka|kaa|ki|kk|kl|ku-am|ku-ir|kum|kv|kw|ky|la|lb|lez|ln|lo|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|sco|se|sel|sh|shs|sk|sl|sm|sma|smj|smn|sms|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|to|tr|ts|tt|tw|tyv|ug|uk|uz|ve|vi|vo|vot|wa|wen|wo|xh|yap|yi|yo|zu|ak|an|ber-dz|ber-ma|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-iq|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|ota|pap-an|pap-aw|qu|quz|rn|rw|sc|sd|sg|sn|su|ty|za(s)

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 DejaVu.

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'.

https://discourse.ubuntu.com/t/excessive-fonts-installed-by-default/20924

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 mantic.

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.

--
Cheers,

Gunnar Hjalmarsson
https://launchpad.net/~gunnarhj

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Reply via email to