I was wondering about unicode also. I suppose I understand spacially the reliance one ASCII but it does inhibit making games in other languages. Obviously extensive unicode support, especially on such a limited platform is not a necessarily reasonable request, but even adding in some characters from Latin-Supplement and Latin Extended-A would be nice.
The entire point of the PICO-8 is to simulate a fantasy home computer of the 1980s. There was no widely supported Unicode standard in computing at the time, let alone in home computing.
It'd be more in the spirit of the project (in my opinion) if the ROM had code for mapping an escape sequence in a string to bitmaps of extended characters defined by the programmer, maybe as a reference to a sprite or an arbitrary region in the user RAM or something. That would allow you some limited support for things like accented European characters with a trade-off of using RAM or sprites. That's much closer to how games were historically localized.
Though the Commodore 64 was in 1982 and it had CHR$/ASC command
I think PICO-8 still needs CHR() which turns the first character into ASCII integer and ORD() which gives ASCII character from integer.
It would be much quicker to display all characters rather than writing a string for it.
I took the liberty of making some demos of the extended characters. I'm still curious about what others users who agree that the support should be extended think on how it should be implemented. I don't particularly like the idea of having non-ASCII characters take up more RAM space because it seems still very favoring of English. and let's keep in mind that pico-8 is a fantasy console. The limitations aren't based on hardware; they're contrived. The colors aren't 8-bit/15-bit/16-bit like the colors would be on such a console, but chosen out of preference. That being said, I still understand that perspective, and if that system is chosen, I will still be very happy.
If these characters are used, Catalan, Danish, Dutch, Esperanto, French, Finnish, German, Icelandic, Irish, Italian, Norwegian, Polish, Portuguese, Spanish, and Swedish would be supported, along with others. Because, as far as I know languages that use a macron, do not use a tilde, and the same vice versa, and because fashioning a proper tilde would require 4 pixels horizontal (which would unappealingly dangle off the top of the character), I settled to merge the two, having Ñ and N̄ appear identical (many write the former like the latter anyhow).
I chose characters that are preferred in use in the aforementioned languages .Š and Ž are often written as sh and zh in Finnish, so I didn't include them, whereas Umlauted letters and the Eszett can be replaced by the vowel followed by an E and SS, it is very much avoided in German. Similarly, the second quotation mark in „…“ can be replaced with ", and in the case of ‚…’ a comma and an apostrophe works just as fine. With the letters Ú, Ù, Û, and Ŭ, I've lowered the actual U so that it doesn't appear like an O when connected to the diacritc. All of the characters remain within the horizontal 3 pixel width, with the exception of Œ, Æ, Ą, and Ð. I'm not very fond with how Ę (U+0118) came out, but having stretched my brain to render it, others can play around with it if they like. I tried to only stretch the height up only, as stretching also down (like would be the case for Ç) would result in ridiculous line widths.
[Please log in to post a comment]