there are no errors here
refactored out font parsing (with tests and better error recovery)