@Thaddy what if the HOME/.fonts can't be created. I have a Linux system with the HOME folder blocked.
Or they refer as HOME as HOME/username?
Not completely on topic, but...
(keep in mind, the following are just cursory details, there is a bit more involved...)
By HOME I assume you mean the environment variable. Which is set by your login environment and points to your home directory.
This is
usually /home/username (both case sensitive) but that is not always the case.
Tilde / (
~/) is expanded by the command shell (bash as least, not sure about others) to
$HOME/ which might by /home/username/, but might be some other location that does have have home or your username in it.
As @PascalDragon pointed out, you should have write access on most Linux setups to what
$HOME/ expands to, if you don't, that is almost always a problem.
If this is a normal desktop Linux install (not some highly custom one for some specific appliance or device) you will always have write access to your
$HOME/.