normalize-cjk
Version:
470 lines (464 loc) • 12.3 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var src_exports = {};
__export(src_exports, {
normalize: () => normalize,
normalizeChinese: () => normalizeChinese,
normalizeHangul: () => normalizeHangul,
normalizeJapanese: () => normalizeJapanese,
normalizeKatakana: () => normalizeKatakana,
normalizeKorean: () => normalizeKorean
});
module.exports = __toCommonJS(src_exports);
// src/chinese.ts
var normalizeChinese = /* @__PURE__ */ __name((input) => {
let converted = "";
for (const ch of input) {
converted += CONVERSION_TABLE.get(ch) ?? ch;
}
return converted;
}, "normalizeChinese");
var CONVERSION_TABLE = /* @__PURE__ */ new Map([
// assumed to be sorted
["\u2027", "\xB7"],
["\u2E8B", "\u353E"],
["\u2E96", "\u5FC4"],
["\u2E98", "\u624C"],
["\u2E9E", "\u6B7A"],
["\u2EA1", "\u6C35"],
["\u2EA3", "\u706C"],
["\u2EA4", "\u722B"],
["\u2EA8", "\u72AD"],
["\u2EA9", "\u{248E9}"],
["\u2EAB", "\u7F52"],
["\u2EAD", "\u793B"],
["\u2EAE", "\u{25AD7}"],
["\u2EAF", "\u7CF9"],
["\u2EB0", "\u7E9F"],
["\u2EB2", "\u7F52"],
["\u2EB4", "\u2EB3"],
["\u2EB7", "\u{2634C}"],
["\u2EBC", "\u6708"],
["\u2EBE", "\u8279"],
["\u2EC2", "\u8864"],
["\u2EC3", "\u8980"],
["\u2EC8", "\u8BA0"],
["\u2ECA", "\u{27FB7}"],
["\u2ECC", "\u8FB6"],
["\u2ECF", "\u961D"],
["\u2ED1", "\u9577"],
["\u2ED2", "\u9578"],
["\u2ED4", "\u95E8"],
["\u2ED6", "\u961D"],
["\u2ED7", "\u96E8"],
["\u2F07", "\u4EA0"],
["\u2F0C", "\u5182"],
["\u2F0D", "\u5196"],
["\u2F0E", "\u51AB"],
["\u2F13", "\u52F9"],
["\u2F14", "\u5315"],
["\u2F1B", "\u53B6"],
["\u2F27", "\u5B80"],
["\u2F2E", "\u5DDB"],
["\u2F39", "\u5F50"],
["\u2F3A", "\u5F61"],
["\u2F41", "\u6534"],
["\u2F67", "\u7592"],
["\u2F85", "\u81FC"],
["\u2F86", "\u820C"],
["\u2F8C", "\u864D"],
["\u2FA3", "\u9149"],
["\u3038", "\u5341"],
["\u30E0", "\u53B6"],
["\u39B3", "\u363D"],
["\u439B", "\u3588"],
["\u5185", "\u5167"],
["\u5451", "\u541E"],
["\u5C19", "\u5C1A"],
["\u5C80", "\u51FA"],
["\u657B", "\u5910"],
["\u7232", "\u70BA"],
["\u8008", "\u8007"],
["\u853F", "\u848D"],
["\u8AAC", "\u8AAA"],
["\u98EE", "\u98F2"],
["\u9FBA", "\u{2099D}"],
["\uF900", "\u8C48"],
["\uF901", "\u66F4"],
["\uF902", "\u8ECA"],
["\uF903", "\u8CC8"],
["\uF904", "\u6ED1"],
["\uF905", "\u4E32"],
["\uF906", "\u53E5"],
["\uF907", "\u9F9C"],
["\uF908", "\u9F9C"],
["\uF909", "\u5951"],
["\uF90A", "\u91D1"],
["\uF90B", "\u5587"],
["\uF90C", "\u5948"],
["\uF90D", "\u61F6"],
["\uF90E", "\u7669"],
["\uF90F", "\u7F85"],
["\uF910", "\u863F"],
["\uF911", "\u87BA"],
["\uF912", "\u88F8"],
["\uF913", "\u908F"],
["\uF914", "\u6A02"],
["\uF915", "\u6D1B"],
["\uF916", "\u70D9"],
["\uF917", "\u73DE"],
["\uF918", "\u843D"],
["\uF919", "\u916A"],
["\uF91A", "\u99F1"],
["\uF91B", "\u4E82"],
["\uF91C", "\u5375"],
["\uF91D", "\u6B04"],
["\uF91E", "\u721B"],
["\uF91F", "\u862D"],
["\uF920", "\u9E1E"],
["\uF921", "\u5D50"],
["\uF922", "\u6FEB"],
["\uF923", "\u85CD"],
["\uF924", "\u8964"],
["\uF925", "\u62C9"],
["\uF926", "\u81D8"],
["\uF927", "\u881F"],
["\uF928", "\u5ECA"],
["\uF929", "\u6717"],
["\uF92A", "\u6D6A"],
["\uF92B", "\u72FC"],
["\uF92C", "\u90CE"],
["\uF92D", "\u4F86"],
["\uF92E", "\u51B7"],
["\uF92F", "\u52DE"],
["\uF930", "\u64C4"],
["\uF931", "\u6AD3"],
["\uF932", "\u7210"],
["\uF933", "\u76E7"],
["\uF934", "\u8001"],
["\uF935", "\u8606"],
["\uF936", "\u865C"],
["\uF937", "\u8DEF"],
["\uF938", "\u9732"],
["\uF939", "\u9B6F"],
["\uF93A", "\u9DFA"],
["\uF93B", "\u788C"],
["\uF93C", "\u797F"],
["\uF93D", "\u7DA0"],
["\uF93E", "\u83C9"],
["\uF93F", "\u9304"],
["\uF940", "\u9E7F"],
["\uF941", "\u8AD6"],
["\uF942", "\u58DF"],
["\uF943", "\u5F04"],
["\uF944", "\u7C60"],
["\uF945", "\u807E"],
["\uF946", "\u7262"],
["\uF947", "\u78CA"],
["\uF948", "\u8CC2"],
["\uF949", "\u96F7"],
["\uF94A", "\u58D8"],
["\uF94B", "\u5C62"],
["\uF94C", "\u6A13"],
["\uF94D", "\u6DDA"],
["\uF94E", "\u6F0F"],
["\uF94F", "\u7D2F"],
["\uF950", "\u7E37"],
["\uF951", "\u964B"],
["\uF952", "\u52D2"],
["\uF953", "\u808B"],
["\uF954", "\u51DC"],
["\uF955", "\u51CC"],
["\uF956", "\u7A1C"],
["\uF957", "\u7DBE"],
["\uF958", "\u83F1"],
["\uF959", "\u9675"],
["\uF95A", "\u8B80"],
["\uF95B", "\u62CF"],
["\uF95C", "\u6A02"],
["\uF95D", "\u8AFE"],
["\uF95E", "\u4E39"],
["\uF95F", "\u5BE7"],
["\uF960", "\u6012"],
["\uF961", "\u7387"],
["\uF962", "\u7570"],
["\uF963", "\u5317"],
["\uF964", "\u78FB"],
["\uF965", "\u4FBF"],
["\uF966", "\u5FA9"],
["\uF967", "\u4E0D"],
["\uF968", "\u6CCC"],
["\uF969", "\u6578"],
["\uF96A", "\u7D22"],
["\uF96B", "\u53C3"],
["\uF96C", "\u585E"],
["\uF96D", "\u7701"],
["\uF96E", "\u8449"],
["\uF970", "\u6BBA"],
["\uF971", "\u8FB0"],
["\uF972", "\u6C88"],
["\uF973", "\u62FE"],
["\uF974", "\u82E5"],
["\uF975", "\u63A0"],
["\uF976", "\u7565"],
["\uF977", "\u4EAE"],
["\uF978", "\u5169"],
["\uF979", "\u51C9"],
["\uF97A", "\u6881"],
["\uF97B", "\u7CE7"],
["\uF97C", "\u826F"],
["\uF97D", "\u8AD2"],
["\uF97E", "\u91CF"],
["\uF97F", "\u52F5"],
["\uF980", "\u5442"],
["\uF981", "\u5973"],
["\uF982", "\u5EEC"],
["\uF983", "\u65C5"],
["\uF984", "\u6FFE"],
["\uF985", "\u792A"],
["\uF986", "\u95AD"],
["\uF987", "\u9A6A"],
["\uF988", "\u9E97"],
["\uF989", "\u9ECE"],
["\uF98A", "\u529B"],
["\uF98B", "\u66C6"],
["\uF98C", "\u6B77"],
["\uF98D", "\u8F62"],
["\uF98E", "\u5E74"],
["\uF98F", "\u6190"],
["\uF990", "\u6200"],
["\uF991", "\u649A"],
["\uF992", "\u6F23"],
["\uF993", "\u7149"],
["\uF994", "\u7489"],
["\uF995", "\u79CA"],
["\uF996", "\u7DF4"],
["\uF997", "\u806F"],
["\uF998", "\u8F26"],
["\uF999", "\u84EE"],
["\uF99A", "\u9023"],
["\uF99B", "\u934A"],
["\uF99C", "\u5217"],
["\uF99D", "\u52A3"],
["\uF99E", "\u54BD"],
["\uF99F", "\u70C8"],
["\uF9A0", "\u88C2"],
["\uF9A1", "\u8AAA"],
["\uF9A2", "\u5EC9"],
["\uF9A3", "\u5FF5"],
["\uF9A4", "\u637B"],
["\uF9A5", "\u6BAE"],
["\uF9A6", "\u7C3E"],
["\uF9A7", "\u7375"],
["\uF9A8", "\u4EE4"],
["\uF9A9", "\u56F9"],
["\uF9AA", "\u5BE7"],
["\uF9AB", "\u5DBA"],
["\uF9AC", "\u601C"],
["\uF9AD", "\u73B2"],
["\uF9AE", "\u7469"],
["\uF9AF", "\u7F9A"],
["\uF9B0", "\u8046"],
["\uF9B1", "\u9234"],
["\uF9B2", "\u96F6"],
["\uF9B3", "\u9748"],
["\uF9B4", "\u9818"],
["\uF9B5", "\u4F8B"],
["\uF9B6", "\u79AE"],
["\uF9B7", "\u91B4"],
["\uF9B8", "\u96B8"],
["\uF9B9", "\u60E1"],
["\uF9BA", "\u4E86"],
["\uF9BB", "\u50DA"],
["\uF9BC", "\u5BEE"],
["\uF9BD", "\u5C3F"],
["\uF9BE", "\u6599"],
["\uF9BF", "\u6A02"],
["\uF9C0", "\u71CE"],
["\uF9C1", "\u7642"],
["\uF9C2", "\u84FC"],
["\uF9C3", "\u907C"],
["\uF9C4", "\u9F8D"],
["\uF9C5", "\u6688"],
["\uF9C6", "\u962E"],
["\uF9C7", "\u5289"],
["\uF9C8", "\u677B"],
["\uF9C9", "\u67F3"],
["\uF9CA", "\u6D41"],
["\uF9CB", "\u6E9C"],
["\uF9CC", "\u7409"],
["\uF9CD", "\u7559"],
["\uF9CE", "\u786B"],
["\uF9CF", "\u7D10"],
["\uF9D0", "\u985E"],
["\uF9D1", "\u516D"],
["\uF9D2", "\u622E"],
["\uF9D3", "\u9678"],
["\uF9D4", "\u502B"],
["\uF9D5", "\u5D19"],
["\uF9D6", "\u6DEA"],
["\uF9D7", "\u8F2A"],
["\uF9D8", "\u5F8B"],
["\uF9D9", "\u6144"],
["\uF9DA", "\u6817"],
["\uF9DB", "\u7387"],
["\uF9DC", "\u9686"],
["\uF9DD", "\u5229"],
["\uF9DE", "\u540F"],
["\uF9DF", "\u5C65"],
["\uF9E0", "\u6613"],
["\uF9E1", "\u674E"],
["\uF9E2", "\u68A8"],
["\uF9E3", "\u6CE5"],
["\uF9E4", "\u7406"],
["\uF9E5", "\u75E2"],
["\uF9E6", "\u7F79"],
["\uF9E7", "\u88CF"],
["\uF9E8", "\u88E1"],
["\uF9E9", "\u91CC"],
["\uF9EA", "\u96E2"],
["\uF9EB", "\u533F"],
["\uF9EC", "\u6EBA"],
["\uF9ED", "\u541D"],
["\uF9EE", "\u71D0"],
["\uF9EF", "\u7498"],
["\uF9F0", "\u85FA"],
["\uF9F1", "\u96A3"],
["\uF9F2", "\u9C57"],
["\uF9F3", "\u9E9F"],
["\uF9F4", "\u6797"],
["\uF9F5", "\u6DCB"],
["\uF9F6", "\u81E8"],
["\uF9F7", "\u7ACB"],
["\uF9F8", "\u7B20"],
["\uF9F9", "\u7C92"],
["\uF9FA", "\u72C0"],
["\uF9FB", "\u7099"],
["\uF9FC", "\u8B58"],
["\uF9FD", "\u4EC0"],
["\uF9FE", "\u8336"],
["\uF9FF", "\u523A"],
["\uFA00", "\u5207"],
["\uFA01", "\u5EA6"],
["\uFA02", "\u62D3"],
["\uFA03", "\u7CD6"],
["\uFA04", "\u5B85"],
["\uFA05", "\u6D1E"],
["\uFA06", "\u66B4"],
["\uFA07", "\u8F3B"],
["\uFA08", "\u884C"],
["\uFA09", "\u964D"],
["\uFA0A", "\u898B"],
["\uFA0B", "\u5ED3"],
["\uFA0C", "\u5140"],
["\uFA0D", "\u55C0"],
["\uFA10", "\u585A"],
["\uFA12", "\u6674"],
["\uFA15", "\u51DE"],
["\uFA16", "\u732A"],
["\uFA17", "\u76CA"],
["\uFA18", "\u793C"],
["\uFA19", "\u795E"],
["\uFA1A", "\u7965"],
["\uFA1B", "\u798F"],
["\uFA1C", "\u9756"],
["\uFA1D", "\u7CBE"],
["\uFA1E", "\u7FBD"],
["\uFA22", "\u8AF8"],
["\uFA25", "\u9038"],
["\uFA26", "\u90FD"],
["\uFA2A", "\u98EF"],
["\uFA2B", "\u98FC"],
["\uFA2C", "\u9928"],
["\uFA2D", "\u9DB4"],
["\uFA30", "\u4FAE"],
["\uFA3A", "\u58A8"],
["\uFA3D", "\u6094"],
["\uFA44", "\u6885"],
["\uFA4B", "\u7891"],
["\uFA5C", "\u81ED"],
["\uFA66", "\u8FB6"],
["\uFA8D", "\u63C4"],
["\uFA91", "\u6674"],
["\uFA9C", "\u716E"],
["\uFAAB", "\u78CC"],
["\uFAAD", "\u7BC0"],
["\uFACD", "\u9B12"],
["\uFE30", "\uFF1A"],
["\uFE50", "\uFF0C"],
["\uFE51", "\u3001"],
["\uFE54", "\uFF1B"],
["\uFE55", "\uFF1A"],
["\uFE56", "\uFF1F"],
["\uFE57", "\uFF01"],
["\u{20457}", "\u34A8"],
["\u{23515}", "\u{204F2}"],
["\u{2420E}", "\u3DB7"],
["\u{24455}", "\u720B"],
["\u{249E9}", "\u{249BC}"],
["\u{27144}", "\u8641"],
["\u{27959}", "\u{23040}"],
["\u{2F822}", "\u5272"],
["\u{2F84F}", "\u5674"],
["\u{2F852}", "\u57CE"],
["\u{2F854}", "\u580D"],
["\u{2F903}", "\u6D69"],
["\u{2F906}", "\u{23D1E}"],
["\u{2F951}", "\u40E3"],
["\u{2F964}", "\u4227"],
["\u{2F97B}", "\u{264DA}"],
["\u{2F993}", "\u82B1"],
["\u{2F99F}", "\u8457"],
["\u{2F9A2}", "\u83CC"],
["\u{2F9CB}", "\u4695"],
["\u{2F9FA}", "\u97E0"],
["\u{2FA05}", "\u99A7"],
["\u{2FA0E}", "\u4CED"],
["\u{2FA12}", "\u{2A105}"]
]);
// src/japanese.ts
var normalizeKatakana = /* @__PURE__ */ __name((input) => {
return input.replace(
/[\uff60-\uff9f]+/g,
(substr) => substr.normalize("NFKC")
);
}, "normalizeKatakana");
var normalizeJapanese = normalizeKatakana;
// src/korean.ts
var normalizeHangul = /* @__PURE__ */ __name((input) => {
return input.replace(
// Range to normalize
// - Hangul Jamo: 1100 ~ 11FF
// - Hangul Compatibility Jamo: 3130 ~ 318F
// - Enclosed CJK Letters and Months - Hangul: 3200 ~ 321E, 3260 ~ 327F
// - Halfwidth and Fullwidth Forms - Halfwidth Hangul variants: FFA0 ~ FFDC
// - Halfwidth and Fullwidth Forms - FULLWIDTH WON SIGN: FFE6
/[\u1100-\u11ff\u3130-\u318f\u3200-\u321e\u3260-\u327f\uffa0-\uffdc\uffe6]+/g,
(substr) => substr.normalize("NFKC")
);
}, "normalizeHangul");
var normalizeKorean = normalizeHangul;
// src/all.ts
var normalize = /* @__PURE__ */ __name((input) => {
return normalizeChinese(normalizeJapanese(normalizeKorean(input)));
}, "normalize");
/*! For license information please see index.cjs.LEGAL.txt */
//# sourceMappingURL=index.cjs.map