Is it possible to render UTF-8 characters (Kanji)?
Right now you only have native support for simple 8 bit character encoding, and that's handled in the 6x8 font as ISO10646-1 (chars 0-255 of UTF-16) - Vector and 4x6 fonts use just ASCII (chats 0-127).
Unfortunately the limit is really the amount of memory available - there just isn't the flash to build in >256 chars of fonts.
The simplest way would be to create your own font that used an 8 bit Japanese codepage too, like https://en.wikipedia.org/wiki/JIS_X_0201 - but it sounds like that's not really complex enough for modern use.
But... Nothing actually stops you from storing a proper (>8 bit) character map in flash and rendering from there with g.drawImage - you could then write your own drawString implementation that would work with UTF-8.
It depends what you're after though - if you're trying to render text that comes from a phone or PC it's probably much easier and better (maybe even antialiased) to render on the host device and send a bitmap over.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Right now you only have native support for simple 8 bit character encoding, and that's handled in the 6x8 font as ISO10646-1 (chars 0-255 of UTF-16) - Vector and 4x6 fonts use just ASCII (chats 0-127).
Unfortunately the limit is really the amount of memory available - there just isn't the flash to build in >256 chars of fonts.
The simplest way would be to create your own font that used an 8 bit Japanese codepage too, like https://en.wikipedia.org/wiki/JIS_X_0201 - but it sounds like that's not really complex enough for modern use.
But... Nothing actually stops you from storing a proper (>8 bit) character map in flash and rendering from there with
g.drawImage
- you could then write your owndrawString
implementation that would work with UTF-8.It depends what you're after though - if you're trying to render text that comes from a phone or PC it's probably much easier and better (maybe even antialiased) to render on the host device and send a bitmap over.