I am wondering how a system knows which font should be used for an output. E.g. recently I was setting up my Debian for Japanese support, so first: installed Japanese locale, then a package with fonts, rebooted - and whola! - the system is in Japanese now. But I would not get that without installing the specific fonts. How does the system know that a particular font should be used for particular language/locale? Thank you.
The piece of software responsible for font selection in Linux is Fontconfig. It examines the properties of each font as well as its own configuration to determine which ones have glyphs that cover specific languages partially or fully and substitutes them as appropriate.