Looking for advice/experience please choosing an approach to unicode chars in a font library. Ideally for TFT_eSPI. Found five possible avenues (list below) and would like to avoid trying one by one. Need
(some) unicode support, at least for common umlauts, diacritics, etc.
anti-aliasing is not a must. my display probably has sufficient resolution
memory consumption for the font should not be too wasteful
ram is limited (currently samd21 platform)
Any advice?
Read the last post of that discussion. Render the font in runtime is a wrong approach. The best way is convert font on your PC with tools like the Adafruit GFX fontconvert utility.
It is as I do it in my DMD_STM32 library, converting the unicode fonts from TTF
I pretty much discarded the runtime rendering of fonts as well for a samd21 platform.
I see that the topic didn't gather a huge amount of interest. Combined with the fact that my research isn't all-encompassing and possibly insufficient, I don't want to make incorrect suggestions to others that may be interested.
But, just to contribute to the community, the most promising two avenues to me appear:
the u8g2 extension to TFT_eSPI. Olikraus has fonts with many glyphs and utf-8 support to readily support them. I found the fonts a little confusing to sift through, but at least Olikraus has previews which almost no one had. The fonts are also pixel-designed, which turns out to be very important for smaller display: Taking a ttf and rendering it at small size (even offline) just looks very jagged and ugly. Didn't think about that at first. So his Helvetica font has some 759 glyphs, IIRC, mostly "language characters", so very good for multi-lingual projects. Olikraus also has RLE compression.
Bodmer's TFT_eSPI "smooth fonts". Haven't tried yet and not sure how good they would look at small sizes compared to a pixel font. But his example sketch suggests that it has utf-8 support and unicode support in his font format. The example suggests that at least one font contains Chinese and Korean characters. That is the vastest collection I found.
On the one hand I wanted to "give back" to the community because I wish I had found a nice concise summary somewhere. On the other hand I realize that I may do injustice to many good libraries out there. Hence, at best, this may just serve as a starting point if someone faces the same challenge. Cheers