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:
Result of $ fc-list | grep noto > fonts.txt
:
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).