The Ubuntu family Noto font cleaner
Ubuntu-based Linux distros treat all of the Noto fonts as dependencies. This is good because it provides an exhaustive international langauge support, but it means there is a huge list of fonts that may not be relivant to your selected language. I'd tried uninstalling them, which was a lot of trouble to uninstall the right ones, and then they came back with a future update.
This script uses a customizable whitelist of fonts to keep, creating a user fontconfig file 99-hide-noto.conf that uses rejectfont to reject the other fonts. This should be consistent between updates, and leaves the font files installed for maximum compatibility.
Edit the clean_noto.sh and then run it. If you change your mind or want to tweak the results, just edit or delete ~/.config/fontconfig/conf.d/99-hide-noto.conf
It automatically refreshses your font cache with the command fc-cache -f after the file is generated.
To see the list of Noto fonts installed you can use the following:
fc-list : family | grep -i "Noto" Note that fc-list respects your fontconfig files, so check ~/.config/fontconfig/conf.d/ for any other font config files.
Example 99-hide-noto.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<selectfont>
<rejectfont>
<pattern><patelt name="family"><string>Noto Kufi Arabic</string></patelt></pattern>
<pattern><patelt name="family"><string>Noto Looped Lao</string></patelt></pattern>
<pattern><patelt name="family"><string>Noto Looped Thai</string></patelt></pattern>
<!-- ... -->
<pattern><patelt name="family"><string>Noto Serif Tibetan</string></patelt></pattern>
<pattern><patelt name="family"><string>Noto Serif Yezidi</string></patelt></pattern>
<pattern><patelt name="family"><string>Noto Traditional Nushu</string></patelt></pattern>
</rejectfont>
</selectfont>
</fontconfig>