One quick thing you can try is to use a CDN to deliver the fonts (and font css), the CDN should set the correct Etag or Cache Control headers so the browser knows when to refresh or not.
To test that, open sources/Load.php
// Load font Awesome fonts
loadCSSFile('font-awesome.min.css');
// Load font Awesome fonts
//loadCSSFile('font-awesome.min.css');
loadCSSFile('https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');
If you want to serve the fonts from your server, then you need to add the cache directives to your server files. For nginx it would be something like:
location ~* \.(?:ttf|ttc|otf|eot|woff|woff2)$ {
expires 1M;
access_log off;
add_header Pragma public;
add_header Cache-Control "public";
}
For Apache it would be done using its mod_expires module (I think, been so long since I used Apache I can hardly remember it ) and then propbably you have to add those extension types and then set a time limit for the types. Something like ExpiresByType application/x-font-woff "access plus 1 month"
thats just a guess, I'd do a web search for what the correct commands are or you will end up with a nice 500 white page.