Improve unicode more.

This commit is contained in:
Brad Nelson
2022-08-02 22:54:44 -07:00
parent 23c0f4ec98
commit ddff748e66
2 changed files with 8 additions and 22 deletions

View File

@ -287,7 +287,7 @@ r|
r| r|
(function(sp) { (function(sp) {
if (globalObj.readline && !context.inbuffer.length) { if (globalObj.readline && !context.inbuffer.length) {
var line = readline(); var line = unescape(encodeURIComponent(readline()));
for (var i = 0; i < line.length; ++i) { for (var i = 0; i < line.length; ++i) {
context.inbuffer.push(line.charCodeAt(i)); context.inbuffer.push(line.charCodeAt(i));
} }

View File

@ -55,33 +55,19 @@ function Call(sp) {
} }
function Load(addr, content) { function Load(addr, content) {
if (globalObj.write) { var data = unescape(encodeURIComponent(content));
for (var i = 0; i < content.length; ++i) { for (var i = 0; i < data.length; ++i) {
u8[addr++] = content.charCodeAt(i); u8[addr++] = data.charCodeAt(i);
}
} else {
var data = new TextEncoder().encode(content);
for (var i = 0; i < data.length; ++i) {
u8[addr++] = data[i];
}
} }
return addr; return addr;
} }
function GetString(a, n) { function GetString(a, n) {
if (globalObj.write) { var data = '';
var ret = ''; for (var i = 0; i < n; ++i) {
for (var i = 0; i < n; ++i) { data += String.fromCharCode(u8[a + i]);
ret += String.fromCharCode(u8[a + i]);
}
return ret;
} else {
var data = new Uint8Array(n);
for (var i = 0; i < n; ++i) {
data[i] = u8[a + i];
}
return new TextDecoder('utf-8').decode(data);
} }
return decodeURIComponent(escape(data));
} }
function CELL_ALIGNED(n) { return (n + 3) & ~3; } function CELL_ALIGNED(n) { return (n + 3) & ~3; }