Thanks. I agree with you about the generator. Using your first suggestion, code points above U+FFFF get separated into two "surrogate pair" characters fron UTF-16. So instead of U=10FFFF I get U+DBFF and U+DFFF.