https://turbowarp.org/1240709294/ this is a little experiment i have tried and which has worked surprisingly well. this project is able to display all of the (valid) unicode characters in the range of U+0000 to U+FFFF. its similar to another project made by @nembence (https://scratch.mit.edu/projects/1048717997/ ), however it uses a completely different method. this project reads the font data from images saved in the project by means of the <touching sprite?> boolean block, then it caches those results for faster rendering later. there are 25 bitmap images that store the entirety of the font data. this different method means that it will also work in TW high quality pen mode, and it also gains the flexibility of a normal pen text renderer. the font data is decoded dynamically instead of all at once, which means that there is less loading time at the start, in exchange for slower speeds when rendering a character for the first time. this is pretty negligible if not a lot of unique characters are used however, and the results get cached anyway. the project is also designed in such a way that neither the bitmap images nor the decoding process is actually shown on screen. this leads to a better user experience since no artifacts of the decoder are shown. the project.json footprint for this project is fairly small, at about 360KB total for this entire project. hence it could be useful for having a text engine with a lot of characters while taking up minimal JSON space. emojis may not work but some special symbols will. NOTE: the surrogate codepoints (from \uD800 to \uDFFF) have been manually generated by me in order for them to not show up as spaces. the high and low surrogate pairs are visually designed to show up as a single connected box, but they won’t render properly beyond that. emojis and other non-plane 0 characters may end up being displayed as some combination of the surrogate characters, as the needed glyph data is not included here.