fonts refactoring; support tabs