UNPKG

jtc-utils

Version:
80 lines (79 loc) 2.24 kB
import { PackedMap } from "../util/PackedMap.mjs"; import { cp930 } from "./cp930.mjs"; export const IBMKanjiEncodeMap = new PackedMap((m) => { const decoder = cp930.createDecoder({ fatal: false }); m.set(0xa6, 0x426a); m.set(0xa7, 0x446a); m.set(0xa8, 0x4460); m.set(0xb0, 0x44ed); m.set(0xb1, 0x444b); m.set(0xb4, 0x4450); m.set(0xb6, 0x4379); m.set(0xd7, 0x447a); m.set(0xf7, 0x447b); m.set(0x2014, 0x444a); m.set(0x2016, 0x447c); m.set(0x2212, 0x4260); m.set(0x301c, 0x43a1); m.set(0x4fe0, 0x52ec); m.set(0x525d, 0x5481); m.set(0x555e, 0x54d4); m.set(0x5699, 0x547d); m.set(0x56ca, 0x5190); m.set(0x5861, 0x4f5e); m.set(0x5c5b, 0x5443); m.set(0x5c62, 0x55c0); m.set(0x6414, 0x54a3); m.set(0x6451, 0x54cd); m.set(0x6522, 0x5b72); m.set(0x6805, 0x51f1); m.set(0x688e, 0x5bfe); m.set(0x6be1, 0x54d4); m.set(0x6d00, 0x5550); m.set(0x6f51, 0x54fa); m.set(0x7006, 0x5550); m.set(0x70ff, 0x52ec); m.set(0x7130, 0x53ee); m.set(0x7626, 0x54a4); m.set(0x79b1, 0x5553); m.set(0x7c1e, 0x54ca); m.set(0x7e48, 0x60f1); m.set(0x7e61, 0x52da); m.set(0x7e6b, 0x5373); m.set(0x8141, 0x61b0); m.set(0x8346, 0x53b3); m.set(0x840a, 0x52c9); m.set(0x841d, 0x53e8); m.set(0x841f, 0x52a1); m.set(0x8523, 0x53f8); m.set(0x87ec, 0x53e8); m.set(0x881f, 0x52a1); m.set(0x8ec0, 0x5353); m.set(0x8f91, 0x446e); m.set(0x91ac, 0x507f); m.set(0x91b1, 0x51fa); m.set(0x92ca, 0x547d); m.set(0x9830, 0x4eb3); m.set(0x9839, 0x66c8); m.set(0x985a, 0x55c1); m.set(0x9a52, 0x53da); m.set(0x9b7e, 0x53da); m.set(0x9dd7, 0x5464); m.set(0x9e7c, 0x4c7d); m.set(0x9eb4, 0x5261); m.set(0x9eb5, 0x555f); m.set(0xf86f, 0x446e); const buf = new Uint8Array(4); buf[0] = 0x0e; buf[3] = 0x0f; for (let hb = 0x40; hb <= 0xfe; hb++) { buf[1] = hb; for (let lb = 0x40; lb <= 0xfe; lb++) { buf[2] = lb; const decoded = decoder.decode(buf); if (decoded && decoded !== "\uFFFD") { m.set(decoded.charCodeAt(0), (hb << 8) | lb); } } } });