18

I understand that I can import my fonts through html/css but I am wondering if this is a achievable approach.

Thanks!

The John Smith
  • 431
  • 3
  • 10

1 Answers1

16

Yes, if you add fonts to your manifest file they will be downloaded along with the rest of the files, and then be available offline. The fonts will need to be available from the same server where your offline app is, because you can't cache resources not on your domain. You couldn't cache a Google Web Font, for instance. I've been doing some testing on this, it seems fonts from Google are cached fine on Chrome and Opera, only Firefox has problems. The 'not on your domain' restriction for the manifest only applies when it's served over HTTPS.

You will still need to reference the fonts with a @font-face rule in your CSS for them to be used in your page. For example, in your manifest file:

CACHE MANIFEST
# v1
index.html
style.css
GenBasR-webfont.eot
GenBasR-webfont.woff
GenBasR-webfont.ttf
GenBasR-webfont.svg

In style.css:

@font-face {
    font-family: 'GentiumBasicRegular';
    src: url('GenBasR-webfont.eot');
    src: url('GenBasR-webfont.eot?iefix') format('eot'),
         url('GenBasR-webfont.woff') format('woff'),
         url('GenBasR-webfont.ttf') format('truetype'),
         url('GenBasR-webfont.svg#webfontLblSsz1O') format('svg');
    font-weight: normal;
    font-style: normal;
}

body {
    font-family: 'GentiumBasicRegular';
}

Get the Gentium files from Font Squirrel.

robertc
  • 74,533
  • 18
  • 193
  • 177
  • Super sweet! I'm going to be using this in the future for sure! – The John Smith Apr 16 '12 at 19:57
  • 1
    when you'd like to download all google font formats, check out this stackoverflow post: http://stackoverflow.com/questions/10300143/how-to-download-multiple-formats-of-a-web-font-from-the-official-google-web-fo – Laurens Rietveld Sep 10 '13 at 15:43