The fontconfig library performs font substitution when either entire fonts, or individual characters, are not present. If the system needs to display a font that is not available, fontconfig attempts to display another, similar font. For example, if a web page requests to display the Verdana font, and that font is not installed on the system, fontconfig displays a similar font, such as Helvetica. The list of similar fonts is defined in the /etc/fonts/fonts.conf file.
If the system needs to display a character that is not present in the selected font, fontconfig attempts to display the character in another, similar font. For example, you might select Bitstream Vera Sans as the font for the Text Editor application. The Bitstream Vera font family does not include Cyrillic characters. If you open a document which contains a Cyrillic character, Text Editor uses a similar font that includes Cyrillic characters to display the character.
The fontconfig library also defines aliases for fonts, for example, serif, sans-serif, and monospace. When you select one of the aliases for a font, the system uses the first font that is defined for that alias in the /etc/fonts/fonts.conf.