This patch turns off the preloading of ascii glyphs and instead caches
each glyph the first time it is actually used.
Rendering font glyphs to bitmaps that we can draw with is not a trivial process and takes measurable time. Therefore we cache them. Once we have processed a character all subsequent uses are very fast. However, we currently preload this cache with about 95 glyphs in the ascii range. As in before we can print any characters for a new font size or style we render out these characters first.
I'm not able to see any advantage to doing this. There isn't a performance advantage in that rendering these 95 in a row takes the same total time as rendering each at any time. And there is a very real chance that you might not even use some of these. Or any at all. So on balance it would be best to cache only as needed, immediately after rending a glyph the first time.
This is what this patch does. First use of a character adds it to the cache. Therefore if your only use of a font size or style is to print out "漢" that is the only character rendered, with no need to wait for 95 others first.
This simplifies the code. It is no longer a requirement to call blf_font_ensure_ascii_table() before any use of BLF_UTF8_NEXT_FAST. And the macro BLF_UTF8_NEXT_FAST can be simplified a bit because we no longer have to pass glyph_ascii_table to it since we can get to that via the passed GlyphCacheBLF.