Fonts are a core part of the system and are necessary in order to represent text on a display.
Font installation in Gentoo is handled much like other distributions. It can be as easy as copying the font file into the proper directory. Other methods, such as fontconfig are also possible.
When installing fonts on a local basis, each user can create a .local/share/fonts directory in their home directory. This directory can then be filled with font files:
mkdir -p ~/.local/share/fonts
cp ~/Downloads/Inconsolata.otf ~/.local/share/fonts
Historically, the ~/.fonts directory was used to store fonts on a per-user basis. The modern equivalent is ~/.local/share/fonts.
Fonts can also be installed in a subfolder of the ~/.local/share/fonts directory.
Check in a few applications to see if the newly copied font has been made available. A terminal emulator or an office program should work nicely for this purpose.
System administrators (those with root privileges) can copy fonts into the system's /usr/share/fonts directory. This will make fonts available to any user on the system.
cp /home/larry/Downloads/Inconsolata.otf /usr/share/fonts
In order to use a specific font in the console, set the consolefont variable in /etc/conf.d/consolefont to the name of a file found in /usr/share/consolefonts/ (without the .psfu.gz suffix).
Next add consolefont init script to boot runlevel:
rc-update add consolefont boot
is a good option; It has fonts with sizes from 12 to 32 pixels making it suitable for HD screens or providing an option for larger console fonts.
Configuration of the systemd virtual console is done using the /etc/vconsole.conf configuration file.
To set a specific font set the FONT to the name of a file found in /usr/share/consolefonts/ (without the .psfu.gz suffix). The FONT_MAP is set to the name of a file found in /usr/share/unimaps/ (also without any suffix).
New configuration can be reloaded by:
systemctl restart systemd-vconsole-setup.service
It is also possible to override the FONT and FONT_MAP using vconsole.font= and vconsole.font_map= kernel command line parameters.
To configure fonts for use in graphical applications see the Fontconfig article.
Font installation to support viewing more scripts
Emoji and symbols
emerge --ask media-fonts/noto-emoji
Once installed, Noto Emoji can be configured selected for use as a fallback font (used when a glyph does not exist in the selected font) for emoji symbols using the following command:
eselect fontconfig enable 75-noto-emoji-fallback.conf
Currently available through the GURU overlay:
emerge --ask media-fonts/symbola
Gentoo doesn't install many fonts by default; if a character needs to be displayed that the system does not have a glyph for it will be rendered using the .notdef character also known as tofu this is typically:
- a little square which is often empty, ☐
- a box with an X in it, ☒
- a box with a question mark in it, ⍰
- a box containing the unicode code point
The web browser used to view this page renders it as .
The Noto (no tofu) font family provides a single (if large) package that contains a consistent set of glyphs covering most commonly used languages.
If support for additional glyphs is required consider installing a selection of the following packages:
Additional package considerations
(Meta package for fonts to cover most needs):
emerge --ask media-fonts/fonts-meta
emerge --ask media-fonts/corefonts
Configuring fonts in applications
The way programs handle fonts can be different for every program. But most applications follow a certain convention. They accept the name of the font as a variable for their font configuration. The following command will give the list of all fonts that are currently available to the user issuing it (all fonts in ~/.local/share/fonts and /usr/share/fonts).
... /usr/share/fonts/FiraCode-Medium.ttf: Fira Code,Fira Code Medium:style=Medium,Regular ...
Here, the first field after the
Fira Code in this case) is the family of the font that should be used in the configuration of most applications.
- About Picking fonts in the Fontconfig docs
- Localization/Guide/The_Euro_symbol — how to display the Euro symbol (€) for the console and in X.
- https://fontlibrary.org/ - A font distribution website that beautifully displays fonts.