Nuke the python script as it's completely obsolete now
diff --git a/README b/README
index e737bcb..f3b5489 100644
--- a/README
+++ b/README
@@ -4,8 +4,7 @@
 Requirements:
 
   php-Smarty >= 3.0
-  perl   (for language file processing)
-  python (for font converage processing)
+  perl   (for language file & font stats processing)
 
 To set up:   (assuming user/group for web server is apache/apache)
 
@@ -16,11 +15,10 @@
 Then set up cron job (or some sort of post-commit hook) to run:
 
  php update.php
- fontstats.py > fontcoverage.ini
- fontstats.py missing > missingchars.ini
+ fontstats.pl > fontcoverage.ini
 
 Note that the only files that matter for these scripts are:
 
    rockbox/tools/genlang       (update.php only)
-   rockbox/apps/lang/*.lang    (both update.php and fontstats.py)
+   rockbox/apps/lang/*.lang    (both update.php and fontstats.pl)
    rockbox/fonts/*.bdf         (fontstats.py only)
diff --git a/fontstats.py b/fontstats.py
deleted file mode 100755
index 7bf4ead..0000000
--- a/fontstats.py
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/env python2
-# -*- coding: utf8 -*-
-##################################
-# *             __________               __   ___.
-# *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
-# *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
-# *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
-# *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
-# *                     \/            \/     \/    \/            \/
-# * Copyright (C) 2010 Jonas Häggqvist
-# *
-# * This program is free software; you can redistribute it and/or
-# * modify it under the terms of the GNU General Public License
-# * as published by the Free Software Foundation; either version 2
-# * of the License, or (at your option) any later version.
-# *
-# * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# * KIND, either express or implied.
-# *
-##################################
-
-import re
-import sys
-import locale
-import codecs
-from glob import glob
-from os.path import basename, dirname, join
-from pprint import pprint
-
-def langs():
-    return glob(join(dirname(__file__), 'rockbox/apps/lang/*.lang'))
-
-def fonts():
-    return glob(join(dirname(__file__), 'rockbox/fonts/*.bdf'))
-
-def charusage(langfile):
-    usage = {}
-    fp = codecs.open(langfile, 'r', 'UTF-8')
-    indest = False
-    for line in fp:
-        if re.match(r'^\s*<dest>\s*$', line):
-            indest = True
-        elif re.match(r'^\s*</dest>\s*$', line):
-            indest = False
-
-        if indest:
-            string = re.match(r'\s*\S*\s*:\s*"([^"]*)"\s*', line)
-            if string:
-                for char in string.group(1):
-                    if char not in usage:
-                        usage[char] = 0
-                    usage[char] += 1
-    return usage
-
-def charsavailable(fontfile):
-    chars = []
-    fp = open(fontfile, 'r')
-    for line in fp:
-        encoding = re.match(r'ENCODING\s+(\d+)\s*', line)
-        if encoding:
-            chars.append(unichr(int(encoding.group(1))))
-    return chars
-
-def calculatecoverage(charsused, charsavailable):
-    total = 0
-    covered = 0
-    for char, uses in charsused.iteritems():
-        if char == u' ':
-            continue
-        total += uses
-        if char in charsavailable:
-            covered += uses
-    return float(covered)/float(total)
-
-def generate_summary(fontstats, langusage):
-    for langfile, charsused in sorted(langusage.items()):
-        print("[%s]" % basename(langfile).replace('.lang', ''))
-        for fontfile, charsavailable in sorted(fontstats.items()):
-            coverage = calculatecoverage(charsused, charsavailable)
-            print("  %s = %f" % (basename(fontfile).replace('.bdf', ''), coverage))
-
-def generate_missing(fontstats, langusage):
-    for langfile, charsused in sorted(langusage.items()):
-        print("[%s]" % basename(langfile).replace('.lang', ''))
-        for fontfile, charsavailable in sorted(fontstats.items()):
-            missingchars = []
-            for char, uses in charsused.iteritems():
-                if char not in charsavailable:
-                    missingchars.append(char)
-            # If more than 50 characters are missing, don't print them all
-            if 25 > len(missingchars) > 0:
-                print("  %s = %s" % (basename(fontfile).replace('.bdf', ''), " ".join(["%s (u+%X)" % (c, ord(c)) for c in missingchars])))
-
-
-if __name__ == '__main__':
-    sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout);
-
-    fontstats = dict([(font, charsavailable(font)) for font in fonts()])
-    langusage = dict([(lang, charusage(lang)) for lang in langs()])
-
-    if len(sys.argv) > 1 and sys.argv[1] == 'missing':
-        generate_missing(fontstats, langusage)
-    else:
-        generate_summary(fontstats, langusage)