How to add fonts to Fedora

Fonts help you express your thoughts in creative ways through design. Whether you’re captioning an image, building a presentation, or designing a greeting or advertisement, fonts can boost your idea to the next level. It’s easy to fall in love with them just for their own aesthetic qualities. Fortunately, Fedora makes installation easy. Here’s how to do it.

System-wide installation

If you install a font system-wide, it becomes available to all users. The best way to take advantage of this method is by using RPM packages from the official software repositories.

To get started, open the Software tool in your Fedora Workstation, or other tool that uses the official repositories. Choose the Add-ons category in the group of banners shown. Then in the add-on categories, select Fonts. You’ll see a list of available fonts similar to this screenshot:

When you select a font, some details appear. Depending on several conditions, you may be able to preview how the font looks with some example text. Select the Install button to add it to your system. It may take a few moments for the process to complete, based on your system speed and network bandwidth.

You can also remove previously installed font packages, shown with a check mark, with the Remove button shown in the font details.

Personal installation

This method works better if you have a font you’ve downloaded in a compatible format: .ttfotf.ttc.pfa.pfb or .pcf. These font extensions shouldn’t be installed system-wide by dropping them into a system folder. Non-packaged fonts of this type can’t be updated automatically. They also can potentially interfere with some software operations later. The best way to install these fonts is in your own personal data directory.

Open the Files application in your Fedora Workstation, or a similar file manager app of your choice. If you’re using Files, you may need to use the Ctrl+H key combination to show hidden files and folders. Look for the .fonts folder and open it. If you don’t have a .fonts folder, create it. (Remember the leading dot and to use all lowercase.)

Copy the font file you’ve downloaded to your .fonts folder. You can close the file manager at this point. Open a terminal and type the following command:

fc-cache

This will rebuild font caches that help Fedora locate and reference the fonts it can use. You may also need to restart an application such as Inkscape or LibreOffice in which you want to use the new font. Once you restart, the new font should be available.


Photo by Raphael Schaller on Unsplash.

Using Software

12 Comments

  1. You can also use add custom fonts to ${XDG_DATA_HOME:-$HOME/.local/share/fonts instead of $HOME/.fonts if you prefer to keep your home directory clean.

  2. Dimitri

    As a recent Linux full time user (Fedora KDE), I just tested this with a ttf font and it works great, thanks!
    However, it would be nice to have some command-free option to refresh the font cache, or to be able to install the new font with a transparent font cache refresh. In too many cases I notice that anybody in my family (without IT knowledge) wouldn’t be able to do these things if they were using Linux, as the terminal is not an option for them.
    Anyway, nice article!

    • bitlord

      Since you’re using KDE, you should be able to use font installer inside System Settings.
      Take a look at https://userbase.kde.org/System_Settings/Font_Installer (System Settings > Fonts > Font Management) most likely outdated screenshot, but it should look similar to that one.

      • Dimitri

        Oh wow, I didn’t know about this. Thanks!
        Glad to see that this is not one of those things necessarily requiring the command line!
        I just tested this and it works perfectly 🙂

  3. LEMC

    These were very helpful tips. To add some fonts, I have been using the method of creating the “.fonts” directory, but without running the “fc-cache” command. However, everything has been working as expected. So I wonder what exactly the fc-cache command does. Should I run it whenever I add a new font to the “.fonts” directory ?

    I also would like to suggest that the FOSS serif font EB Garamond be added to the official Fedora repositories. This font is currently available at:

    https://fonts.google.com/specimen/EB+Garamond
    http://www.georgduffner.at/ebgaramond/

    It is a classical, historically accurate Garamond font, and it is very well done. It is excellent for texts or anywhere an elegant serif font is appropriate.

  4. Nauris

    fc-cache -f -v

    And you may also copy your fonts to /usr/share/fonts/ for all users (and run fc-cache with root permissions)

  5. I prefer to install them in .fonts, this way my fonts choice will survive a system reinstall. They will survive also a system move, then you copy your home from a machine to another.

    • …of, forgot to add this: most artistic fonts (if you do graphics, design, DTP) are not available as RPM packages, you have to download them as font files from sites like DaFont, another plus for .fonts

  6. Sasan

    I’m too lazy to manually download and copy fonts, I just use what comes in the repos.
    I only wish Fira Code was available.

  7. Andreas Jonsson

    I normally just open downloaded fonts (e.g. a TTF downloaded from Google Fonts) with the Fonts application in Gnome. From there I install it by clicking the ‘Install’ button. The font is copied to $HOME/.local/share/fonts. Don’t know how this differs from the CLI method explained above?

  8. Joszko

    My favorite font is labiryntowy-fonts
    😉 it is creazy but very nice

  9. Joszko

    @Sasan look at Inconsolata

    and powerline fonts for prompt bash

Comments are Closed

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions