Skip to main content

A cli tool to dump the CSS and different formats offonts for Google Fonts

Project description

A command line tool to dump the CSS and different formats of fonts for Google Fonts, so you can serve them on your local servers.


$ fontdump -h
fontdump heps you dump google web fonts.
  __            _      _
 / _|          | |    | |
| |_ ___  _ __ | |_ __| |_   _ _ __ ___  _ __
|  _/ _ \| '_ \| __/ _` | | | | '_ ` _ \| '_ \
| || (_) | | | | || (_| | |_| | | | | | | |_) |
|_| \___/|_| |_|\__\__,_|\__,_|_| |_| |_| .__/
                                        | |
  fontdump <google-fonts-url> [--font-dir-path=<path>]
  fontdump (-h | --help)

  -h --help                 Show this screen.
  --font-dir-path=<path>    Path to the font dir(ends with /).
                            e.g('staic/fonts/', 'http://cdn/.../fonts/')
  --output=<dir>            The directory saves the dumped css and font files


Question: What’s wrong with Google Fonts? Why do I want to serve the fonts on my own server?

Answer: Google Fonts is Great. You shall use it normally. But for users in some countries, Google Fonts is very slow and sometimes even inaccessible. Serving your own fonts is the only choice for them. Besides, some developers may wish to have more control over web fonts. They might want to embed fonts as base64 strings into the css to bypass crazy firewalls. They might to store the fonts as jsons to the localstorage to speed up page loading.

Question: Why do I need to install a software to download these fonts? Can’t I just open the Chrome developer tools and download the css and fonts manually?

Answer: Making css font rules compatible with different browsers is not easy. Thus Google detects the browser’s User Agent string and serve the css that is only compatible with the given browser.

As a web developer/designer, it is very likely that you are using a modern browser, so the css you get from Google only works in modern browsers. To improve the user experience for old browser users , we need to download the 4 differnet formats of fonts and merge the css rules into a single stylesheet. A tool can simplify the process.

Question: What would the merged css look like?


like this:

@font-face {
  font-family: 'WebFont';
  src: url('webfont.eot'); /* IE9 Compat Modes */
  src: local('WebFont'),
       url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('webfont.woff') format('woff'), /* Modern Browsers */
       url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */


Using @font-face

Bulletproof @font-face Syntax


Avoiding Faux Weights And Styles With Google Web Fonts

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fontdump-1.3.0.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

fontdump-1.3.0-py2.py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page