It turns out that PIL seems to have a problem of over-estimating the height of fonts. I've encountered this problem with PIL on App Engine. See more about this problem here
however, i don't have this problem with PILLOW on my local machine. i can kind of work around this problem, but ideally I'd use PILLOW instead of PIL on app engine. Is that possible?