use a font cache, to avoid reparsing font.