Google Webfonts Installer

Bash script to download and install the entire Google Webfonts collection for offline use.

This script will download and install the entire Google Webfonts collection. Many people have asked me for it, so I’m posting it here.

The script will work on Debian GNU/Linux systems (and derivatives, such as Linux Mint and Ubuntu) only. It can be downloaded below, or copied and pasted from this page.

 1 #!/bin/bash
 2 #
 3 # written by Simon <simonjwiles@gmail.com>
 4 # inspired by a script written by Michalis Georgiou <mechmg93@gmail.com>
 5 #   and modified by Andrew http://www.webupd8.org <andrew@webupd8.org>,
 6 #   described at
 7 #   http://www.webupd8.org/2011/01/automatically-install-all-google-web.html
 8 #
 9 #  (but completely re-written)
10 #
11 
12 HGROOT="https://googlefontdirectory.googlecode.com/hg/";
13 FONTDIR="/usr/share/fonts/truetype/google-fonts";
14 
15 set -e;
16 
17 exists() { which "$1" &> /dev/null ; }
18 
19 if [[ $EUID -ne 0 ]]; then
20     echo "This script must be run as root (i.e. with sudo)!" 1>&2;
21     exit 1;
22 fi
23 
24 if ! exists hg ; then
25     echo "Mercurial is required (hint: sudo apt-get install mercurial)!" 1>&2;
26     exit 1;
27 fi
28 
29 mkdir -p "$FONTDIR";
30 
31 TMPDIR=$(mktemp -d);
32 trap 'rm -rf "$TMPDIR"' EXIT INT QUIT TERM;
33 
34 echo -n "Getting data from GoogleCode Repository... "
35 hg clone $HGROOT $TMPDIR > /dev/null;
36 if [ $? != 0 ]; then
37     echo "Couldn't get data from GoogleCode Repository!  Aborting!" 1>&2;
38     exit 1;
39 fi
40 echo "done!"
41 
42 echo -n "Installing fonts... "
43 find $TMPDIR/ -name '*.ttf' -exec install -m644 {} "$FONTDIR" \;
44 echo "done!"
45 
46 echo "Updating font cache... "
47 fc-cache -fvs "$FONTDIR";
48 
49 echo "All done!"

Downloads

blog comments powered by Disqus

CC0

To the extent possible under law, Simon Wiles has waived all copyright and related or neighbouring rights to all original content on this site.