10

I had "WinFonts" folder in home directory including many true type fonts (.ttf) which I would like to install to be applied for use widely across Ubuntu system and apps. I need help guiding me to make this step?

1 Answer 1

12

Installing TTF fonts system wide it's not difficult. You just need to create a directory inside one of the system font directories (you find them listed in /etc/fonts/fonts.conf), put there your *.ttf fonts and then update system font cache with fc-cache -fv (With the options -f for Force re-generation of cache files and -v for Verbose).

As suggested by @emk2203 you should put custom fonts in a subdirectory of /usr/local/share/fonts, so it's easy to tell them apart from distributor provided fonts (they are in /usr/share/fonts), and it's easier to backup or restore them if needed.

Step by step:

  1. Create your custom fonts directory:

    sudo mkdir /usr/local/share/fonts/truetype

  2. Copy your *.ttffonts there:

    sudo cp ~/myfonts/*.ttf /usr/local/share/fonts/truetype/

  3. Update system font cache:

    sudo fc-cache -fv

If you want to add more fonts later, just copy them to your /usr/local/share/fonts/truetype/ directory and update system font cache as above.

6
  • 2
    and don't forget that extension also are case sensitive. So for example copy TTF files also.
    – SirSaleh
    Mar 19, 2017 at 12:25
  • 1
    Right. To avoid this kind of annoying case problems, it may be a good idea to stick with a case convention for these files, i.e. use only lower case extensions.
    – gerlos
    Mar 22, 2017 at 13:53
  • FYI I didn't need sudo - so perhaps try without first Mar 15, 2019 at 3:55
  • 1
    @ErichBSchulz this is because font cache are stored both system wide (in /var/cache/fontconfig/) and per-user (in ~/.cache/fontconfig). If you have only one user on your system both commands will work. If you have more users, you may prefer to generate the cache once for everyone, using sudo.
    – gerlos
    Mar 15, 2019 at 11:49
  • 1
    For a lot of reasons, it's better to use directories specifically designed to hold user- or site-specific content, instead of distributor-specific content. Put your fonts (in appropriate subdirectories) in /usr/local/share/fonts instead. It exists for a reason. If you decide to reinstall a system, you have everything you installed yourself in /usr/local for reference and backup.
    – emk2203
    Aug 28, 2022 at 5:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy