On the latest Python 2.7.10, struct accepts both unicode and str as 'fmt'. However on Travis for py27 we use the built-in OSX Python, which on OSX 10.9 is Python 2.7.5. Travis log: https://travis-ci.org/anthrotype/fonttools/jobs/96473892#L3010 Python issue: https://bugs.python.org/issue19099
If nTracks == 0, nSizes is also == 0, the `else` part is sufficient. There's a limit case when nTracks can be > 0, and nSizes == 0, but it's unlikely or useless.