Thread:ヌヌハラ/@comment-31720212-20200206230108/@comment-44256294-20200210014350

Yeah it's all SJIS internally, text is only converted to UTF-8 right before its displayed using the sjis2utf function. You can find the code that reads strings from the script in nact.c (sys_getString, etc.).

One option would be to invent your own SJIS extension to support the characters you need. This could be done by editing the tables in s2utbl.h (minor changes to utfsjis.h/utfsjis.c/nact.c would likely be required as well). For example, the initial byte 0xA0 is unused in SJIS, so you could encode the characters you need as A0 00, A0 01, etc. The code seems to treat A0 as if its a valid half-width katakana character (its not) so it's probably safe to assume that it doesn't have some other usage.

Of course, that would require that you're able to control how text is encoded in your script files.