[How To:] Get rid of Noto fonts clutter

By default KDE, XFCE and probably other DEs come with Noto Fonts as a dependency. This pulls 511 fonts, polluting the font list for any app that has a font selection dialog:
capture-200526-084757

Result of $ fc-list | grep noto > fonts.txt:
capture-200526-083556

Again that’s 511 font variants!

This ensures any user on this globe can use a font that allows him to see his native characters as intended.

The fact that this is marked as a dependency makes it a hard to solve problem if you’d rather not have the fonts for all the languages in the world installed on your system.

I have searched for a solution and found the following thread on Arch Linux forums:
https://bbs.archlinux.org/viewtopic.php?id=230195

To summarize the solution contained in that thread:

0.5 You might want to store a list of all the Noto fonts currently on the system, for use as reference for step 2, before you start

$  fc-list | grep noto > ~/Desktop/fonts.txt

1. Remove the Noto fonts package without affecting packages depending on it:

sudo pacman -Rdd noto-fonts 

2. Edit the /etc/pacman.conf file, uncommenting the “NoExtract” line and edit it so it looks like this:

NoExtract  = usr/share/fonts/noto/* !*NotoMono-* !*NotoSansDisplay-* !*NotoSansLinearB-* !*NotoSansMono-* !*NotoSansSymbols* !*NotoSerif-* !*NotoSerifDisplay-*

You might want to adapt this to include some of the variants relevant to you (basically everything that starts with a ! are exceptions to the general exclusion rule). You can use the file generated at step 0.5 to check out which font variants you want to keep.
The line above just leaves you with 10% of the original list of Noto fonts

Summary
$  fc-list | grep noto
/usr/share/fonts/noto/NotoSansMono-Light.ttf: Noto Sans Mono,Noto Sans Mono Light:style=Light,Regular
/usr/share/fonts/noto/NotoSansDisplay-LightItalic.ttf: Noto Sans Display,Noto Sans Display Light:style=Light Italic,Italic
/usr/share/fonts/noto/NotoSansMono-Bold.ttf: Noto Sans Mono:style=Bold
/usr/share/fonts/noto/NotoSansMono-Black.ttf: Noto Sans Mono,Noto Sans Mono Black:style=Black,Regular
/usr/share/fonts/noto/NotoSansSymbols-Medium.ttf: Noto Sans Symbols,Noto Sans Symbols Med:style=Medium,Regular
/usr/share/fonts/noto/NotoSansSymbols-Thin.ttf: Noto Sans Symbols,Noto Sans Symbols Thin:style=Thin,Regular
/usr/share/fonts/noto/NotoSansSymbols-Black.ttf: Noto Sans Symbols,Noto Sans Symbols Blk:style=Black,Regular
/usr/share/fonts/noto/NotoSerif-Thin.ttf: Noto Serif,Noto Serif Thin:style=Thin,Regular
/usr/share/fonts/noto/NotoSansLinearB-Regular.ttf: Noto Sans Linear B:style=Regular
/usr/share/fonts/noto/NotoSansSymbols-Bold.ttf: Noto Sans Symbols:style=Bold
/usr/share/fonts/noto/NotoSerif-BoldItalic.ttf: Noto Serif:style=Bold Italic
/usr/share/fonts/noto/NotoSerifDisplay-Italic.ttf: Noto Serif Display:style=Italic
/usr/share/fonts/noto/NotoSansDisplay-BlackItalic.ttf: Noto Sans Display,Noto Sans Display Black:style=Black Italic,Italic
/usr/share/fonts/noto/NotoSerif-ThinItalic.ttf: Noto Serif,Noto Serif Thin:style=Thin Italic,Italic
/usr/share/fonts/noto/NotoSansDisplay-MediumItalic.ttf: Noto Sans Display,Noto Sans Display Medium:style=Medium Italic,Italic
/usr/share/fonts/noto/NotoSansMono-Medium.ttf: Noto Sans Mono,Noto Sans Mono Medium:style=Medium,Regular
/usr/share/fonts/noto/NotoSansDisplay-Medium.ttf: Noto Sans Display,Noto Sans Display Medium:style=Medium,Regular
/usr/share/fonts/noto/NotoSerif-Bold.ttf: Noto Serif:style=Bold
/usr/share/fonts/noto/NotoSerifDisplay-MediumItalic.ttf: Noto Serif Display,Noto Serif Display Medium:style=Medium Italic,Italic
/usr/share/fonts/noto/NotoSerifDisplay-Regular.ttf: Noto Serif Display:style=Regular
/usr/share/fonts/noto/NotoSansMono-Thin.ttf: Noto Sans Mono,Noto Sans Mono Thin:style=Thin,Regular
/usr/share/fonts/noto/NotoSansDisplay-Bold.ttf: Noto Sans Display:style=Bold
/usr/share/fonts/noto/NotoSerifDisplay-Medium.ttf: Noto Serif Display,Noto Serif Display Medium:style=Medium,Regular
/usr/share/fonts/noto/NotoSerifDisplay-Thin.ttf: Noto Serif Display,Noto Serif Display Thin:style=Thin,Regular
/usr/share/fonts/noto/NotoSerif-MediumItalic.ttf: Noto Serif,Noto Serif Medium:style=Medium Italic,Italic
/usr/share/fonts/noto/NotoSerifDisplay-BlackItalic.ttf: Noto Serif Display,Noto Serif Display Black:style=Black Italic,Italic
/usr/share/fonts/noto/NotoSerif-Medium.ttf: Noto Serif,Noto Serif Medium:style=Medium,Regular
/usr/share/fonts/noto/NotoSansDisplay-Black.ttf: Noto Sans Display,Noto Sans Display Black:style=Black,Regular
/usr/share/fonts/noto/NotoSerif-Regular.ttf: Noto Serif:style=Regular
/usr/share/fonts/noto/NotoSerifDisplay-Black.ttf: Noto Serif Display,Noto Serif Display Black:style=Black,Regular
/usr/share/fonts/noto/NotoSerifDisplay-ThinItalic.ttf: Noto Serif Display,Noto Serif Display Thin:style=Thin Italic,Italic
/usr/share/fonts/noto/NotoSerifDisplay-Light.ttf: Noto Serif Display,Noto Serif Display Light:style=Light,Regular
/usr/share/fonts/noto/NotoSansDisplay-Italic.ttf: Noto Sans Display:style=Italic
/usr/share/fonts/noto/NotoSansDisplay-ThinItalic.ttf: Noto Sans Display,Noto Sans Display Thin:style=Thin Italic,Italic
/usr/share/fonts/noto/NotoSerif-Light.ttf: Noto Serif,Noto Serif Light:style=Light,Regular
/usr/share/fonts/noto/NotoSansSymbols-Regular.ttf: Noto Sans Symbols:style=Regular
/usr/share/fonts/noto/NotoSerifDisplay-Bold.ttf: Noto Serif Display:style=Bold
/usr/share/fonts/noto/NotoSansDisplay-Light.ttf: Noto Sans Display,Noto Sans Display Light:style=Light,Regular
/usr/share/fonts/noto/NotoSansDisplay-BoldItalic.ttf: Noto Sans Display:style=Bold Italic
/usr/share/fonts/noto/NotoSansSymbols2-Regular.ttf: Noto Sans Symbols2:style=Regular
/usr/share/fonts/noto/NotoSerif-Italic.ttf: Noto Serif:style=Italic
/usr/share/fonts/noto/NotoSansMono-Regular.ttf: Noto Sans Mono:style=Regular
/usr/share/fonts/noto/NotoSerif-Black.ttf: Noto Serif,Noto Serif Black:style=Black,Regular
/usr/share/fonts/noto/NotoSansDisplay-Thin.ttf: Noto Sans Display,Noto Sans Display Thin:style=Thin,Regular
/usr/share/fonts/noto/NotoSerif-LightItalic.ttf: Noto Serif,Noto Serif Light:style=Light Italic,Italic
/usr/share/fonts/noto/NotoSansDisplay-Regular.ttf: Noto Sans Display:style=Regular
/usr/share/fonts/noto/NotoSerif-BlackItalic.ttf: Noto Serif,Noto Serif Black:style=Black Italic,Italic
/usr/share/fonts/noto/NotoSansSymbols-Light.ttf: Noto Sans Symbols,Noto Sans Symbols Light:style=Light,Regular
/usr/share/fonts/noto/NotoSerifDisplay-BoldItalic.ttf: Noto Serif Display:style=Bold Italic
/usr/share/fonts/noto/NotoSerifDisplay-LightItalic.ttf: Noto Serif Display,Noto Serif Display Light:style=Light Italic,Italic

3. Reinstall the font and mark it as a dependency

sudo pacman -S --asdeps noto-fonts

During the install, given the restrictions set in place at step 2, it will skip everything but the fonts marked as exceptions in that rule (which is just 7 happy Noto font variants).

capture-200526-085512

12 Likes

I love learning stuff I didn’t know - especially this way (painlessly!). Thank you!

1 Like

I hate Noto pollution too! I don’t have to deal with it right now, because of simple reason of not having any DE, but you never know. Thank you for the howto, bookmarked :slight_smile:

1 Like

I just noticed an AUR package called noto-fonts-lite. I wonder how that compares with the how-to shown here - and if it works as a dep? I’m still doing it as described though! :grin:

Nice approach to reducing font obesity.

Another method to reduce font clutter is in the Endeavour Wiki.

https://endeavouros.com/docs/general-system-settings/font-management/

And the forum discussion:

1 Like

I don’t gussy up my desktops, I pretty much use them as is out of the box. So my question is what would one be missing if Noto fonts were eliminated? Would certain web sites be messed up font wise. Would text documents written in Noto fonts be messed up in a text editor without Noto fonts? How extensively is Noto fonts being used?

Pudge

This install of mine is pretty fresh, but I’ve seen nothing messed up so far with no Noto fonts installed. Actually many apps just require some ttf-font to be installed, not necessarily Noto family.
https://www.archlinux.org/packages/extra/any/noto-fonts/

1 Like

Not exactly sure but I think noto fonts provide useful fonts for Asian users.

@Tasia91 Thanks for the link. I noticed there are 32 packages that require this package.
Another thing about Noto that kind of bothers me, they are often referred to as Google Noto fonts. :face_with_raised_eyebrow:

Google is trying to go down the path that Microsoft followed. Namely be the controller of the universe for everything computer related. My Google rant for the day. Ah, that feels better.

Pudge

4 Likes

It actually says requires ttf-font, which is any of the following as I understand it - ttf-font (ttf-dejavu, ttf-liberation, ttf-bitstream-vera, ttf-droid, gnu-free-fonts, noto-fonts, ttf-croscore, ttf-ibm-plex). I am using Firefox right now without Noto, even though it’s listed in Required By :slight_smile:

1 Like

I already tried to remove some of these noto fonts some time ago. There indeed are some more dependencies if I remember correctly. I guess they can not just be removed walking by. For me the possible gain was not worth investing the time.
It most likely will depend on what programs and packages you have installed.

There is a font manager I can’t remember the name of right now that allows you to hide fonts without uninstalling them. Might be worth ducking for…

Actually I just removed all the Noto fonts on Plasma as well (just the package without touching the deps). Nothing seems to be broken as far as I can tell so far. Maybe it would differ on a fresh install and setting system fonts to something different than Noto is probably required (Plasma seems to use them by default).

This thread is a bit old, but I wanted to mention that this method worked for me as well, so thank you to OP for writing this!

I’m on linux mint, Cinnamon DE, and uninstalling “noto extra” was as quick and easy as it should be…
anyway, it was great to see a Google-conscious comment !:slight_smile:
that’s why I registered and replied :slight_smile:

1 Like

Welcome to the EndeavourOS forum. I hope you enjoy your time here.

The ironic thing is, my Grandson now works for Google. So I have to bite my tongue at family get togethers. :zipper_mouth_face:

Pudge

2 Likes

Also old thread… but i am currently had the issue on doing some gimping and find out the same can be done with a single file in configs …
I was following some posts on the web and find that fontconfig has the option to <rejectfont>
Plus what i read in this post i was simple creating a list of all noto-fonts:
ls /usr/share/fonts/noto/ > noto.list
This will create a list of all not ttf files i used to create this fonts.conf to put under:
~/.config/fontconfig/fonts.conf

first thing i was thinking… ? omg over 2000 fonts… thats a lot… and after i removed the ones i want to have all the regular noto fonts aside from the language specific variants still 1900 …

The issue is that they are not avaialable too for any apps ma yneed them like my Browser or chat where i may want it to show asian signs in uswernames and others… workaround is to start firefox with the defaults not using the user override:

FONTCONFIG_FILE=/etc/fonts/fonts.conf firefox-nightly

so it will have all fonts available…

Working for me but still a huzzle…