normalize-cjk
Version:
[](https://npm.im/normalize-cjk) [](#License) [](https://bundle
413 lines (411 loc) • 7.57 kB
text/typescript
/**
* Normalize chinese characters
*
* @See https://ctext.org/faq/normalization
*/
export const normalizeChinese = (input: string): string => {
let converted = '';
for (const ch of input) {
converted += CONVERSION_TABLE.get(ch) ?? ch;
}
return converted;
};
// Conversion data listed on https://ctext.org/faq/normalization
const CONVERSION_TABLE: Map<string, string> = new Map([
// assumed to be sorted
['‧', '·'],
['⺋', '㔾'],
['⺖', '忄'],
['⺘', '扌'],
['⺞', '歺'],
['⺡', '氵'],
['⺣', '灬'],
['⺤', '爫'],
['⺨', '犭'],
['⺩', '𤣩'],
['⺫', '罒'],
['⺭', '礻'],
['⺮', '𥫗'],
['⺯', '糹'],
['⺰', '纟'],
['⺲', '罒'],
['⺴', '⺳'],
['⺷', '𦍌'],
['⺼', '月'],
['⺾', '艹'],
['⻂', '衤'],
['⻃', '覀'],
['⻈', '讠'],
['⻊', '𧾷'],
['⻌', '辶'],
['⻏', '阝'],
['⻑', '長'],
['⻒', '镸'],
['⻔', '门'],
['⻖', '阝'],
['⻗', '雨'],
['⼇', '亠'],
['⼌', '冂'],
['⼍', '冖'],
['⼎', '冫'],
['⼓', '勹'],
['⼔', '匕'],
['⼛', '厶'],
['⼧', '宀'],
['⼮', '巛'],
['⼹', '彐'],
['⼺', '彡'],
['⽁', '攴'],
['⽧', '疒'],
['⾅', '臼'],
['⾆', '舌'],
['⾌', '虍'],
['⾣', '酉'],
['〸', '十'],
['ム', '厶'],
['㦳', '㘽'],
['䎛', '㖈'],
['内', '內'],
['呑', '吞'],
['尙', '尚'],
['岀', '出'],
['敻', '夐'],
['爲', '為'],
['耈', '耇'],
['蔿', '蒍'],
['説', '說'],
['飮', '飲'],
['龺', '𠦝'],
['豈', '豈'],
['更', '更'],
['車', '車'],
['賈', '賈'],
['滑', '滑'],
['串', '串'],
['句', '句'],
['龜', '龜'],
['龜', '龜'],
['契', '契'],
['金', '金'],
['喇', '喇'],
['奈', '奈'],
['懶', '懶'],
['癩', '癩'],
['羅', '羅'],
['蘿', '蘿'],
['螺', '螺'],
['裸', '裸'],
['邏', '邏'],
['樂', '樂'],
['洛', '洛'],
['烙', '烙'],
['珞', '珞'],
['落', '落'],
['酪', '酪'],
['駱', '駱'],
['亂', '亂'],
['卵', '卵'],
['欄', '欄'],
['爛', '爛'],
['蘭', '蘭'],
['鸞', '鸞'],
['嵐', '嵐'],
['濫', '濫'],
['藍', '藍'],
['襤', '襤'],
['拉', '拉'],
['臘', '臘'],
['蠟', '蠟'],
['廊', '廊'],
['朗', '朗'],
['浪', '浪'],
['狼', '狼'],
['郎', '郎'],
['來', '來'],
['冷', '冷'],
['勞', '勞'],
['擄', '擄'],
['櫓', '櫓'],
['爐', '爐'],
['盧', '盧'],
['老', '老'],
['蘆', '蘆'],
['虜', '虜'],
['路', '路'],
['露', '露'],
['魯', '魯'],
['鷺', '鷺'],
['碌', '碌'],
['祿', '祿'],
['綠', '綠'],
['菉', '菉'],
['錄', '錄'],
['鹿', '鹿'],
['論', '論'],
['壟', '壟'],
['弄', '弄'],
['籠', '籠'],
['聾', '聾'],
['牢', '牢'],
['磊', '磊'],
['賂', '賂'],
['雷', '雷'],
['壘', '壘'],
['屢', '屢'],
['樓', '樓'],
['淚', '淚'],
['漏', '漏'],
['累', '累'],
['縷', '縷'],
['陋', '陋'],
['勒', '勒'],
['肋', '肋'],
['凜', '凜'],
['凌', '凌'],
['稜', '稜'],
['綾', '綾'],
['菱', '菱'],
['陵', '陵'],
['讀', '讀'],
['拏', '拏'],
['樂', '樂'],
['諾', '諾'],
['丹', '丹'],
['寧', '寧'],
['怒', '怒'],
['率', '率'],
['異', '異'],
['北', '北'],
['磻', '磻'],
['便', '便'],
['復', '復'],
['不', '不'],
['泌', '泌'],
['數', '數'],
['索', '索'],
['參', '參'],
['塞', '塞'],
['省', '省'],
['葉', '葉'],
['殺', '殺'],
['辰', '辰'],
['沈', '沈'],
['拾', '拾'],
['若', '若'],
['掠', '掠'],
['略', '略'],
['亮', '亮'],
['兩', '兩'],
['凉', '凉'],
['梁', '梁'],
['糧', '糧'],
['良', '良'],
['諒', '諒'],
['量', '量'],
['勵', '勵'],
['呂', '呂'],
['女', '女'],
['廬', '廬'],
['旅', '旅'],
['濾', '濾'],
['礪', '礪'],
['閭', '閭'],
['驪', '驪'],
['麗', '麗'],
['黎', '黎'],
['力', '力'],
['曆', '曆'],
['歷', '歷'],
['轢', '轢'],
['年', '年'],
['憐', '憐'],
['戀', '戀'],
['撚', '撚'],
['漣', '漣'],
['煉', '煉'],
['璉', '璉'],
['秊', '秊'],
['練', '練'],
['聯', '聯'],
['輦', '輦'],
['蓮', '蓮'],
['連', '連'],
['鍊', '鍊'],
['列', '列'],
['劣', '劣'],
['咽', '咽'],
['烈', '烈'],
['裂', '裂'],
['說', '說'],
['廉', '廉'],
['念', '念'],
['捻', '捻'],
['殮', '殮'],
['簾', '簾'],
['獵', '獵'],
['令', '令'],
['囹', '囹'],
['寧', '寧'],
['嶺', '嶺'],
['怜', '怜'],
['玲', '玲'],
['瑩', '瑩'],
['羚', '羚'],
['聆', '聆'],
['鈴', '鈴'],
['零', '零'],
['靈', '靈'],
['領', '領'],
['例', '例'],
['禮', '禮'],
['醴', '醴'],
['隸', '隸'],
['惡', '惡'],
['了', '了'],
['僚', '僚'],
['寮', '寮'],
['尿', '尿'],
['料', '料'],
['樂', '樂'],
['燎', '燎'],
['療', '療'],
['蓼', '蓼'],
['遼', '遼'],
['龍', '龍'],
['暈', '暈'],
['阮', '阮'],
['劉', '劉'],
['杻', '杻'],
['柳', '柳'],
['流', '流'],
['溜', '溜'],
['琉', '琉'],
['留', '留'],
['硫', '硫'],
['紐', '紐'],
['類', '類'],
['六', '六'],
['戮', '戮'],
['陸', '陸'],
['倫', '倫'],
['崙', '崙'],
['淪', '淪'],
['輪', '輪'],
['律', '律'],
['慄', '慄'],
['栗', '栗'],
['率', '率'],
['隆', '隆'],
['利', '利'],
['吏', '吏'],
['履', '履'],
['易', '易'],
['李', '李'],
['梨', '梨'],
['泥', '泥'],
['理', '理'],
['痢', '痢'],
['罹', '罹'],
['裏', '裏'],
['裡', '裡'],
['里', '里'],
['離', '離'],
['匿', '匿'],
['溺', '溺'],
['吝', '吝'],
['燐', '燐'],
['璘', '璘'],
['藺', '藺'],
['隣', '隣'],
['鱗', '鱗'],
['麟', '麟'],
['林', '林'],
['淋', '淋'],
['臨', '臨'],
['立', '立'],
['笠', '笠'],
['粒', '粒'],
['狀', '狀'],
['炙', '炙'],
['識', '識'],
['什', '什'],
['茶', '茶'],
['刺', '刺'],
['切', '切'],
['度', '度'],
['拓', '拓'],
['糖', '糖'],
['宅', '宅'],
['洞', '洞'],
['暴', '暴'],
['輻', '輻'],
['行', '行'],
['降', '降'],
['見', '見'],
['廓', '廓'],
['兀', '兀'],
['嗀', '嗀'],
['塚', '塚'],
['晴', '晴'],
['凞', '凞'],
['猪', '猪'],
['益', '益'],
['礼', '礼'],
['神', '神'],
['祥', '祥'],
['福', '福'],
['靖', '靖'],
['精', '精'],
['羽', '羽'],
['諸', '諸'],
['逸', '逸'],
['都', '都'],
['飯', '飯'],
['飼', '飼'],
['館', '館'],
['鶴', '鶴'],
['侮', '侮'],
['墨', '墨'],
['悔', '悔'],
['梅', '梅'],
['碑', '碑'],
['臭', '臭'],
['辶', '辶'],
['揄', '揄'],
['晴', '晴'],
['煮', '煮'],
['磌', '磌'],
['節', '節'],
['鬒', '鬒'],
['︰', ':'],
['﹐', ','],
['﹑', '、'],
['﹔', ';'],
['﹕', ':'],
['﹖', '?'],
['﹗', '!'],
['𠑗', '㒨'],
['𣔕', '𠓲'],
['𤈎', '㶷'],
['𤑕', '爋'],
['𤧩', '𤦼'],
['𧅄', '虁'],
['𧥙', '𣁀'],
['割', '割'],
['噴', '噴'],
['城', '城'],
['堍', '堍'],
['浩', '浩'],
['𣴞', '𣴞'],
['䃣', '䃣'],
['䈧', '䈧'],
['𦓚', '𦓚'],
['花', '花'],
['著', '著'],
['菌', '菌'],
['𧢮', '䚕'],
['韠', '韠'],
['馧', '馧'],
['䳭', '䳭'],
['𪄅', '𪄅'],
]);