The Linux console driver doesn't support underlines on color displays because it's a compromise between readability and ease of implementation. It's been that way since the mid 1990s, and is documented in console_codes(4):
4 set underscore (simulated with color on a color display)
(the colors used to simulate dim or underline are set
I can't address the "why" and don't see any way of avoiding the installation of all these fonts. But I use the following code to remove fonts I don't need. Obviously, you may not want to remove all of the fonts I remove. So edit as per your needs:
sudo apt purge \
If you want to use the FAM string to specify a font family you will need to use conventional names with the suffixes R B I BI for roman, bold, italic, and bold-italic. In the linked-to example, the font family was DejaVuSans, so you need to provide fonts DejaVuSansR, DejaVuSansB, DejaVuSansI, and DejaVuSansBI. The following worked for me:
mkdir -p /tmp/font/...
In order to display Chinese, Japanese and/or Korean characters, you must install some font packages:
Chinese: fonts-arphic-ukai (Serif), fonts-arphic-uming (Sans serif)
Japanese: fonts-ipafont-mincho (Serif), fonts-ipafont-gothic (Sans serif)
Korean: fonts-unfonts-core (Serif + Sans serif)
There are some alternative packages for ...