Clearing The Noto Font Clutter

The Noto (“No Tofu”) font family includes nearly All. The. Languages., which is certainly a noble goal, but I’m just not ever going to need fonts like these:

./NotoSerifTelugu-Regular.ttf
./NotoSansBengali-Bold.ttf
./NotoSansGurmukhiUI-Bold.ttf
./NotoSansGurmukhi-Bold.ttf
./NotoSerifTamil-Regular.ttf
./NotoSansOriyaUI-Bold.ttf
./NotoSerifSinhala-Regular.ttf
./NotoSerifSinhala-Bold.ttf
./NotoSerifMalayalam-Bold.ttf
./NotoSansTelugu-Bold.ttf
./NotoSansAvestan-Regular.ttf
… and so forth and so on …

A bit of searching & listing identified the few I might ever use, so armor those against the coming catastrophe:

cd /usr/share/fonts/truetype/noto/
sudo chmod a-w NotoMono-Regular.ttf
sudo chmod a-w NotoSans-Bold*
sudo chmod a-w NotoSansDisplay-*
sudo chmod a-w NotoSans-Italic.ttf
sudo chmod a-w NotoSansGothic-Regular.ttf
sudo chmod a-w NotoSansMono-*
sudo chmod a-w NotoSans-Regular.ttf 
sudo chmod a-w NotoSansSymbols-*
sudo chmod a-w NotoSerif-Bold*
sudo chmod a-w NotoSerifDisplay-*
sudo chmod a-w NotoSerif-Italic.ttf 
sudo chmod a-w NotoSerif-Regular.ttf

There seems no regex-ish way of picking those out; next time, I’ll recycle the list as a script.

With armor in place, remove the rest:

find . -perm -u=w -type f -exec sudo rm '{}' \;

Rebuild the font caches:

sudo fc-cache -v -f

Maybe do such things near the end of the day, when you’re going to shut down anyway, because you’ll want to restart any programs using fonts in any nontrivial way.

Making the desired fonts read-only may confuse the next update involving the Noto fonts, but this setup (Xubuntu 18.04 LTS) is getting old and maybe something else will happen when I get around to installing a whole new release.

5 thoughts on “Clearing The Noto Font Clutter

  1. sudo apt remove fonts-noto-cjk fonts-noto-color-emoji fonts-noto-mono; sudo apt-mark hold fonts-noto-cjk; sudo apt-mark hold fonts-noto-color-emoji; sudo apt-mark hold fonts-noto-mono

    … perhaps? That’ll stop them being reinstalled, too.

    fontconfig does some things that mere mortals are not supposed to understand, like substituting available fonts for other ones (and far more). Just removing the files might end up with lots of ��� on your screen in places you wouldn’t expect.

    1. Your config hand is mighty!

      You’d think, from the list I gave, all the -cjk sets were installed, but nooooo, just the -hinted and -mono packages were present: apparently they’re dead serious about “large unicode coverage” in those two.

      Another box, also running 18.04 with those same two packages installed, has no Noto files at all, save for the droid- versions. Perhaps I killed them with fire and forgot the crime?

      Obviously, I have no idea what’s going on.

      Thanks for the pointer about the mystery symbols, which I devoutly hope to not encounter …

      1. was maybe a bit heavy-handed there. Maybe copy the ones you like to ~/.fonts or ~/.local/share/fonts (because of course there are two hidden user folders for fonts that fc auto-scans) then remove/mark all of the Noto packages. While this has the cost of having to remember to move these hidden folders when you change machines, it does mean that your fonts will stay at the same version, neither losing nor gaining glyphs.

        I care rather too deeply about fonts, and fc has set its hand against me. I love the B612 fonts – commissioned by Airbus for pilot UIs – but fc does something deeply odd with it, substituting some system fonts for a HUGE version of B612. Some packages (Arduino, esp.) become very hard to use with these inflicted huge fonts.

        1. Although the Noto fonts look OK-ish, my main intent was to remove a bazillion lines from the font peepholes in Inkscape & GIMP. I vaguely recall Noto being the default / baked into / required by some system-ish programs, so not burning the whole forest down to bedrock seems like a Good Idea.

          B612: hadn’t seen that one! It just replaced IBM 3270 Narrow in Kate and looks great, although I prefer a dotted zero, and a quick test suggests it hasn’t blown up the Arduino IDE. Thanks!

  2. Occasionally my browser encounters some Unicode that isn’t covered on my machine. Looks like I should pick these up, and do the pruning as you did. 64,000 characters, says Wiki. I don’t know if I should feel deprived or appalled.

    Thanks for the info, and the nudge!

Comments are closed.