I just checked in a major refactor of the runtime system to have strings with full Unicode support. See the commit logs, specifically the most recent one, for more details.
There are probably many bugs in parts of the system that haven't been converted to handle the new string type. I fixed all of the ones I could find through automated tests, three-stage compilation, and simple manual testing of Edwin.
If you run into these bugs and don't want to fix them yourself, let me know about them and I'll (eventually) get them cleared up. Otherwise, it's usually sufficient to just replace ordinary string operations with the corresponding "ustring" procedures. However, Edwin should *NOT* be changed to use Unicode strings; again, see the commit logs for details.