Created
May 14, 2023 09:44
-
-
Save chalkygames123/8717243d242e648fa13d9c91dc04d96b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
// 参照: https://tama-san.com/resolve-kanji/ | |
const table = { | |
'⺃': '乚', | |
'⺅': '亻', | |
'⺇': '𠘨', | |
'⺉': '刂', | |
'⺋': '㔾', | |
'⺍': '𭕄', | |
'⺎': '兀', | |
'⺏': '尣', | |
'⺐': '尢', | |
'⼪': '尢', | |
'⺒': '巳', | |
'⺓': '幺', | |
'⼳': '幺', | |
'⺔': '彑', | |
'⺖': '忄', | |
'⺗': '㣺', | |
'⺘': '扌', | |
'⺙': '攵', | |
'⺛': '旡', | |
'⺞': '歺', | |
'⺟': '母', | |
'⺠': '民', | |
'⺡': '氵', | |
'⺣': '灬', | |
'⺤': '爫', | |
'⺦': '丬', | |
'⺨': '犭', | |
'⺪': '𤴔', | |
'⺫': '罒', | |
'⺲': '罒', | |
'⺭': '礻', | |
'⺮': '𥫗', | |
'⺱': '罓', | |
'⺳': '𦉪', | |
'⺹': '耂', | |
'⺽': '𦥑', | |
'⺾': '艹', | |
'⺿': '艹', | |
'⻀': '艹', | |
'⻁': '虎', | |
'⻂': '衤', | |
'⻃': '覀', | |
'⻄': '西', | |
'⻊': '𧾷', | |
'⻌': '辶', | |
'⻍': '辶', | |
'⻏': '阝', | |
'⻖': '阝', | |
'⻑': '長', | |
'⾧': '長', | |
'⻒': '镸', | |
'⻘': '青', | |
'⻞': '𩙿', | |
'⻟': '飠', | |
'⻤': '鬼', | |
'⿁': '鬼', | |
'⻨': '麦', | |
'⻩': '黄', | |
'⻫': '斉', | |
'⻭': '歯', | |
'⻯': '竜', | |
'⻲': '亀', | |
'⼀': '一', | |
'⼁': '丨', | |
'⼂': '丶', | |
'⼃': '丿', | |
'⼄': '乙', | |
'⼅': '亅', | |
'⼆': '二', | |
'⼇': '亠', | |
'⼈': '人', | |
'⼉': '儿', | |
'⼊': '入', | |
'⼋': '八', | |
'⼌': '冂', | |
'⼍': '冖', | |
'⼎': '冫', | |
'⼏': '几', | |
'⼐': '凵', | |
'⼑': '刀', | |
'⼒': '力', | |
'⼓': '勹', | |
'⼔': '匕', | |
'⼕': '匚', | |
'⼖': '匸', | |
'⼗': '十', | |
'⼘': '卜', | |
'⼙': '卩', | |
'⼚': '厂', | |
'⼛': '厶', | |
'⼜': '又', | |
'⼝': '口', | |
'⼞': '囗', | |
'⼟': '土', | |
'⼠': '士', | |
'⼡': '夂', | |
'⼢': '夊', | |
'⼣': '夕', | |
'⼤': '大', | |
'⼥': '女', | |
'⼦': '子', | |
'⼧': '宀', | |
'⼨': '寸', | |
'⼩': '小', | |
'⼫': '尸', | |
'⼬': '屮', | |
'⼭': '山', | |
'⼮': '巛', | |
'⼯': '工', | |
'⼰': '己', | |
'⼱': '巾', | |
'⼲': '干', | |
'⼴': '广', | |
'⼵': '廴', | |
'⼶': '廾', | |
'⼷': '弋', | |
'⼸': '弓', | |
'⼹': '彐', | |
'⼺': '彡', | |
'⼻': '彳', | |
'⼼': '心', | |
'⼽': '戈', | |
'⼾': '戸', | |
'⼿': '手', | |
'⽀': '支', | |
'⽁': '攴', | |
'⽂': '文', | |
'⽃': '斗', | |
'⽄': '斤', | |
'⽅': '方', | |
'⽆': '无', | |
'⽇': '日', | |
'⽈': '曰', | |
'⽉': '月', | |
'⽊': '木', | |
'⽋': '欠', | |
'⽌': '止', | |
'⽍': '歹', | |
'⽎': '殳', | |
'⽏': '毋', | |
'⽐': '比', | |
'⽑': '毛', | |
'⽒': '氏', | |
'⽓': '气', | |
'⽔': '水', | |
'⽕': '火', | |
'⽖': '爪', | |
'⽗': '父', | |
'⽘': '爻', | |
'⽙': '爿', | |
'⽚': '片', | |
'⽛': '牙', | |
'⽜': '牛', | |
'⽝': '犬', | |
'⽞': '玄', | |
'⽟': '玉', | |
'⽠': '瓜', | |
'⽡': '瓦', | |
'⽢': '甘', | |
'⽣': '生', | |
'⽤': '用', | |
'⽥': '田', | |
'⽦': '疋', | |
'⽧': '疒', | |
'⽨': '癶', | |
'⽩': '白', | |
'⽪': '皮', | |
'⽫': '皿', | |
'⽬': '目', | |
'⽭': '矛', | |
'⽮': '矢', | |
'⽯': '石', | |
'⽰': '示', | |
'⽱': '禸', | |
'⽲': '禾', | |
'⽳': '穴', | |
'⽴': '立', | |
'⽵': '竹', | |
'⽶': '米', | |
'⽷': '糸', | |
'⽸': '缶', | |
'⽹': '网', | |
'⽺': '羊', | |
'⽻': '羽', | |
'⽼': '老', | |
'⽽': '而', | |
'⽾': '耒', | |
'⽿': '耳', | |
'⾀': '聿', | |
'⾁': '肉', | |
'⾂': '臣', | |
'⾃': '自', | |
'⾄': '至', | |
'⾅': '臼', | |
'⾆': '舌', | |
'⾇': '舛', | |
'⾈': '舟', | |
'⾉': '艮', | |
'⾊': '色', | |
'⾋': '艸', | |
'⾌': '虍', | |
'⾍': '虫', | |
'⾎': '血', | |
'⾏': '行', | |
'⾐': '衣', | |
'⾑': '襾', | |
'⾒': '見', | |
'⾓': '角', | |
'⾔': '言', | |
'⾕': '谷', | |
'⾖': '豆', | |
'⾗': '豕', | |
'⾘': '豸', | |
'⾙': '貝', | |
'⾚': '赤', | |
'⾛': '走', | |
'⾜': '足', | |
'⾝': '身', | |
'⾞': '車', | |
'⾟': '辛', | |
'⾠': '辰', | |
'⾡': '辵', | |
'⾢': '邑', | |
'⾣': '酉', | |
'⾤': '釆', | |
'⾥': '里', | |
'⾦': '金', | |
'⾨': '門', | |
'⾩': '阜', | |
'⾪': '隶', | |
'⾫': '隹', | |
'⾬': '雨', | |
'⾭': '靑', | |
'⾮': '非', | |
'⾯': '面', | |
'⾰': '革', | |
'⾱': '韋', | |
'⾲': '韭', | |
'⾳': '音', | |
'⾴': '頁', | |
'⾵': '風', | |
'⾶': '飛', | |
'⾷': '食', | |
'⾸': '首', | |
'⾹': '香', | |
'⾺': '馬', | |
'⾻': '骨', | |
'⾼': '高', | |
'⾽': '髟', | |
'⾾': '鬥', | |
'⾿': '鬯', | |
'⿀': '鬲', | |
'⿂': '魚', | |
'⿃': '鳥', | |
'⿄': '鹵', | |
'⿅': '鹿', | |
'⿆': '麥', | |
'⿇': '麻', | |
'⿈': '黃', | |
'⿉': '黍', | |
'⿊': '黒', | |
'⿋': '黹', | |
'⿌': '黽', | |
'⿍': '鼎', | |
'⿎': '鼓', | |
'⿏': '鼠', | |
'⿐': '鼻', | |
'⿑': '齊', | |
'⿒': '齒', | |
'⿓': '龍', | |
'⿔': '龜', | |
'⿕': '龠', | |
}; | |
// 変換テーブルを正規表現に変換する | |
const tableRegExp = new RegExp(Object.keys(table).join('|'), 'g'); | |
/** | |
* 渡された文字列に含まれる康煕部首と CJK 部首補助を正規化する。 | |
* | |
* @param {string} string - 正規化する文字列 | |
* @returns {string} 正規化された文字列 | |
*/ | |
const normalizeKanji = (string) => | |
string.replaceAll(tableRegExp, (match) => table[match]); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment