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
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:
Create your custom fonts directory:
sudo mkdir /usr/local/share/fonts/truetype
Copy your
*.ttf
fonts there:sudo cp ~/myfonts/*.ttf /usr/local/share/fonts/truetype/
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.
-
2and don't forget that extension also are case sensitive. So for example copy
TTF
files also.– SirSalehMar 19, 2017 at 12:25 -
1Right. 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.– gerlosMar 22, 2017 at 13:53
-
-
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, usingsudo
.– gerlosMar 15, 2019 at 11:49 -
1For 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.– emk2203Aug 28, 2022 at 5:14