hangultest: not using hardcoded character value

This commit is contained in:
minjaesong
2021-12-17 19:51:53 +09:00
parent 826e9654c9
commit b691eb8244
2 changed files with 83 additions and 83 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -17,99 +17,99 @@ let chrmap = {
12: '\xD2', // ㅍ 12: '\xD2', // ㅍ
13: '\xD3', // ㅎ 13: '\xD3', // ㅎ
10: '\xD4', // ㅏ 20: '\xD4', // ㅏ
11: '\xD5', // ㅐ 21: '\xD5', // ㅐ
12: '\xD6', // ㅑ 22: '\xD6', // ㅑ
13: '\xD7', // ㅒ 23: '\xD7', // ㅒ
14: '\xB5', // ㅓ 24: '\xB5', // ㅓ
15: '\xB6', // ㅔ 25: '\xB6', // ㅔ
16: '\xB7', // ㅕ 26: '\xB7', // ㅕ
17: '\xB8', // ㅖ 27: '\xB8', // ㅖ
18: '\xBD', // ㅗ 28: '\xBD', // ㅗ
19: '\xBE', // ㅛ 29: '\xBE', // ㅛ
20: '\xC6', // ㅜ 30: '\xC6', // ㅜ
21: '\xC7', // ㅠ 31: '\xC7', // ㅠ
22: '\xD8', // ㅡ 32: '\xD8', // ㅡ
23: '\xCF', // ㅣ 33: '\xCF', // ㅣ
30: '\x9D', // ₩ 50: '\x9D', // ₩
} }
let hangulIdisasm = [ let hangulIdisasm = [
'\xA6', chrmap[0],
'\xA6\xA6', chrmap[0]+chrmap[0],
'\xA7', chrmap[1],
'\xA8', chrmap[2],
'\xA8\xA8', chrmap[2]+chrmap[2],
'\xA9', chrmap[3],
'\xAA', chrmap[4],
'\xAB', chrmap[5],
'\xAB\xAB', chrmap[5]+chrmap[5],
'\xAC', chrmap[6],
'\xAC\xAC', chrmap[6]+chrmap[6],
'\xAD', chrmap[7],
'\xAE', chrmap[8],
'\xAE\xAE', chrmap[8]+chrmap[8],
'\xAF', chrmap[9],
'\xD0', chrmap[10],
'\xD1', chrmap[11],
'\xD2', chrmap[12],
'\xD3', chrmap[13],
] ]
let hangulPdisasm = [ let hangulPdisasm = [
'\xD4', chrmap[20],
'\xD5', chrmap[21],
'\xD6', chrmap[22],
'\xD7', chrmap[23],
'\xB5', chrmap[24],
'\xB6', chrmap[25],
'\xB7', chrmap[26],
'\xB8', chrmap[27],
'\xBD', chrmap[28],
'\xBD\xD4', chrmap[18]+chrmap[10],
'\xBD\xD5', chrmap[18]+chrmap[11],
'\xBD\xCF', chrmap[18]+chrmap[33],
'\xBE', chrmap[29],
'\xC6', chrmap[30],
'\xC6\xB5', chrmap[30]+chrmap[24],
'\xC6\xB6', chrmap[30]+chrmap[25],
'\xC6\xCF', chrmap[30]+chrmap[33],
'\xC7', chrmap[31],
'\xD8', chrmap[32],
'\xD8\xCF', chrmap[32]+chrmap[33],
'\xCF', chrmap[33],
] ]
let hangulFdisasm = [ let hangulFdisasm = [
'', '',
'\xA6', chrmap[0],
'\xA6\xA6', chrmap[0]+chrmap[0],
'\xA6\xAC', chrmap[0]+chrmap[6],
'\xA7', chrmap[1],
'\xA7\xAE', chrmap[1]+chrmap[8],
'\xA7\xD3', chrmap[1]+chrmap[13],
'\xA8', chrmap[2],
'\xA9', chrmap[3],
'\xA9\xA6', chrmap[3]+chrmap[0],
'\xA9\xAA', chrmap[3]+chrmap[4],
'\xA9\xAB', chrmap[3]+chrmap[5],
'\xA9\xAC', chrmap[3]+chrmap[6],
'\xA9\xD1', chrmap[3]+chrmap[11],
'\xA9\xD2', chrmap[3]+chrmap[12],
'\xA9\xD3', chrmap[3]+chrmap[13],
'\xAA', chrmap[4],
'\xAB', chrmap[5],
'\xAB\xAC', chrmap[5]+chrmap[6],
'\xAC', chrmap[6],
'\xAC\xAC', chrmap[6]+chrmap[6],
'\xAD', chrmap[7],
'\xAE', chrmap[8],
'\xAF', chrmap[9],
'\xD0', chrmap[10],
'\xD1', chrmap[11],
'\xD2', chrmap[12],
'\xD3', chrmap[13],
] ]
let UTF8_ACCEPT = 0 let UTF8_ACCEPT = 0
@@ -175,7 +175,7 @@ function hangulDecode(codepoints) {
s += (hangulIdisasm[i] + hangulPdisasm[p] + hangulFdisasm[f]) s += (hangulIdisasm[i] + hangulPdisasm[p] + hangulFdisasm[f])
if (0xAC00 <= c1 && c1 <= 0xD7A3) s += ' ' if (0xAC00 <= c1 && c1 <= 0xD7A3) s += ' '
} }
else if (0x20A9 == codepoint) s += '\x9D' else if (0x20A9 == codepoint) s += chrmap[50]
else { else {
s += String.fromCharCode(codepoint) s += String.fromCharCode(codepoint)
if (0xAC00 <= c1 && c1 <= 0xD7A3) s += ' ' if (0xAC00 <= c1 && c1 <= 0xD7A3) s += ' '