Wednesday, 1 October 2025

Removing non-western-character-set fonts from Linux

My Linux Mint system contains a bewildering array of fonts, and I have installed numerous others: the list has become unmanageably long.  It contains fonts optimised for languages I don't speak and don't write -- dozens of them -- so it seemed to me that there's a quick win in removing all those for a start.

Note: for the avoidance of doubt, I have not the slightest objection to the use of such fonts by people who need them, i.e. those who speak and write south Asian and far Eastern languages. But I don't, and I'll never use them.

Mint doesn't offer a way of removing fonts, so far as I can see.  There are downloadable tools, which you may find easier.  But I'm a keyboard jockey, and command-line tools are second nature; so I did it that way.

 Here's a list of the directories within /usr/share/fonts which contain the fonts I want to delete:

/usr/share/fonts/opentype/noto/
/usr/share/fonts/truetype/Gubbi/
/usr/share/fonts/truetype/Nakula/
/usr/share/fonts/truetype/Navilu/
/usr/share/fonts/truetype/Sahadeva/
/usr/share/fonts/truetype/Sarai/
/usr/share/fonts/truetype/abyssinica/
/usr/share/fonts/truetype/droid/
/usr/share/fonts/truetype/fonts-beng-extra/
/usr/share/fonts/truetype/fonts-deva-extra/
/usr/share/fonts/truetype/fonts-guru-extra/
/usr/share/fonts/truetype/fonts-kalapi/
/usr/share/fonts/truetype/fonts-telu-extra/
/usr/share/fonts/truetype/fonts-yrsa-rasa/
/usr/share/fonts/truetype/fonts-yrsa-rasa/
/usr/share/fonts/truetype/kacst-one/
/usr/share/fonts/truetype/kacst/
/usr/share/fonts/truetype/lao/
/usr/share/fonts/truetype/lohit-assamese/
/usr/share/fonts/truetype/lohit-bengali/
/usr/share/fonts/truetype/lohit-devanagari/
/usr/share/fonts/truetype/lohit-gujarati/
/usr/share/fonts/truetype/lohit-kannada/
/usr/share/fonts/truetype/lohit-malayalam/
/usr/share/fonts/truetype/lohit-oriya/
/usr/share/fonts/truetype/lohit-punjabi/
/usr/share/fonts/truetype/lohit-tamil-classical/
/usr/share/fonts/truetype/lohit-tamil/
/usr/share/fonts/truetype/lohit-telugu/
/usr/share/fonts/truetype/malayalam/
/usr/share/fonts/truetype/padauk/
/usr/share/fonts/truetype/pagul/
/usr/share/fonts/truetype/samyak-fonts/
/usr/share/fonts/truetype/samyak/
/usr/share/fonts/truetype/sinhala/
/usr/share/fonts/truetype/teluguvijayam/
/usr/share/fonts/truetype/tlwg/
/usr/share/fonts/truetype/ttf-khmeros-core/

 If you create a file with those in it, then you can use this incantation to delete them (with all applications which use fonts closed, I might add)

cat font_directories_to_remove | while read D
> do if [ -d "$D" ];then
> sudo rm -r "$D";echo "$D deleted"
> else echo "$D not found"
> fi
> done
 

I expect that this method is not in the least particular to Linux Mint; but the fonts that it installs may not be the same on other systems.

Note: I published an article on this subject a few years ago, which used package management to do the same job.  That technique is still valid, and probably would keep apt happier than doing it this way!