@koozaki/romaji-conv
Version:
Convert romaji into kana
322 lines (321 loc) • 5.64 kB
JavaScript
/**
* ローマ字→ひらがなのマッピング表
*
* - 上から順番に評価される
* - キーはパターンに利用されるため正規表現可
*/
module.exports = {
// ん対応
'nn': 'ん', // ni や nyo より下で評価すると「原因(gennnin)」や「信用(sinnyou)」に対応できなくなるため評価順を上げる
// B, M, P, の前は M で表す。NAMBA, HOMMA, SAMPEI など
'mb': 'んb',
'mm': 'んm',
'mp': 'んp',
// 促音
// - tokkkyo などに対応するため3文字よりも先に評価させる
'bb': 'っb',
'cc': 'っc',
'dd': 'っd',
'ff': 'っf',
'gg': 'っg',
'hh': 'っh',
'jj': 'っj',
'kk': 'っk',
'll': 'っl',
'pp': 'っp',
'qq': 'っq',
'rr': 'っr',
'ss': 'っs',
'tt': 'っt',
'vv': 'っv',
'ww': 'っw',
'xx': 'っx',
'yy': 'っy',
'zz': 'っz',
/**
* 4文字
*/
'ltsu': 'っ',
'xtsu': 'っ',
'hwyu': 'ふゅ',
/**
* 3文字
*/
// 拗音など
'vya': 'ゔゃ',
'vyi': 'ゔぃ',
'vyu': 'ゔゅ',
'vye': 'ゔぇ',
'vyo': 'ゔょ',
'kya': 'きゃ',
'kyi': 'きぃ',
'kyu': 'きゅ',
'kye': 'きぇ',
'kyo': 'きょ',
'kwa': 'くぁ',
'kwi': 'くぃ',
'kwu': 'くぅ',
'kwe': 'くぇ',
'kwo': 'くぉ',
'gya': 'ぎゃ',
'gyi': 'ぎぃ',
'gyu': 'ぎゅ',
'gye': 'ぎぇ',
'gyo': 'ぎょ',
'gwa': 'ぐぁ',
'gwi': 'ぐぃ',
'gwu': 'ぐぅ',
'gwe': 'ぐぇ',
'gwo': 'ぐぉ',
'sya': 'しゃ',
'syi': 'しぃ',
'syu': 'しゅ',
'sye': 'しぇ',
'syo': 'しょ',
'sha': 'しゃ',
'shi': 'し',
'shu': 'しゅ',
'she': 'しぇ',
'sho': 'しょ',
'jya': 'じゃ',
'jyi': 'じぃ',
'jyu': 'じゅ',
'jye': 'じぇ',
'jyo': 'じょ',
'zya': 'じゃ',
'zyi': 'じぃ',
'zyu': 'じゅ',
'zye': 'じぇ',
'zyo': 'じょ',
'tsa': 'つぁ',
'tsi': 'つぃ',
'tsu': 'つ',
'tse': 'つぇ',
'tso': 'つぉ',
'tya': 'ちゃ',
'tyi': 'ちぃ',
'tyu': 'ちゅ',
'tye': 'ちぇ',
'tyo': 'ちょ',
'tha': 'てゃ',
'thi': 'てぃ',
'thu': 'てゅ',
'the': 'てぇ',
'tho': 'てょ',
'cya': 'ちゃ',
'cyi': 'ちぃ',
'cyu': 'ちゅ',
'cye': 'ちぇ',
'cyo': 'ちょ',
'cha': 'ちゃ',
'chi': 'ち',
'chu': 'ちゅ',
'che': 'ちぇ',
'cho': 'ちょ',
'twa': 'とぁ',
'twi': 'とぃ',
'twu': 'とぅ',
'twe': 'とぇ',
'two': 'とぉ',
'dya': 'ぢゃ',
'dyi': 'ぢぃ',
'dyu': 'ぢゅ',
'dye': 'ぢぇ',
'dyo': 'ぢょ',
'dha': 'でゃ',
'dhi': 'でぃ',
'dhu': 'でゅ',
'dhe': 'でぇ',
'dho': 'でょ',
'nya': 'にゃ',
'nyi': 'にぃ',
'nyu': 'にゅ',
'nye': 'にぇ',
'nyo': 'にょ',
'hya': 'ひゃ',
'hyi': 'ひぃ',
'hyu': 'ひゅ',
'hye': 'ひぇ',
'hyo': 'ひょ',
'hwa': 'ふぁ',
'hwi': 'ふぃ',
'hwe': 'ふぇ',
'hwo': 'ふぉ',
'fya': 'ふゃ',
'fyu': 'ふゅ',
'fyo': 'ふょ',
'bya': 'びゃ',
'byi': 'びぃ',
'byu': 'びゅ',
'bye': 'びぇ',
'byo': 'びょ',
'pya': 'ぴゃ',
'pyi': 'ぴぃ',
'pyu': 'ぴゅ',
'pye': 'ぴぇ',
'pyo': 'ぴょ',
'mya': 'みゃ',
'myi': 'みぃ',
'myu': 'みゅ',
'mye': 'みぇ',
'myo': 'みょ',
'rya': 'りゃ',
'ryi': 'りぃ',
'ryu': 'りゅ',
'rye': 'りぇ',
'ryo': 'りょ',
'wha': 'うぁ',
'whi': 'うぃ',
'whu': 'う',
'whe': 'うぇ',
'who': 'うぉ',
// 促音
'ltu': 'っ',
'xtu': 'っ',
// 捨て仮名
'lya': 'ゃ',
'lyi': 'ぃ',
'lyu': 'ゅ',
'lye': 'ぇ',
'lyo': 'ょ',
'xya': 'ゃ',
'xyi': 'ぃ',
'xyu': 'ゅ',
'xye': 'ぇ',
'xyo': 'ょ',
'lwa': 'ゎ',
'xwa': 'ゎ',
/**
* 2文字
*/
'ka': 'か',
'ki': 'き',
'ku': 'く',
'ke': 'け',
'ko': 'こ',
'sa': 'さ',
'si': 'し',
'su': 'す',
'se': 'せ',
'so': 'そ',
'ca': 'か',
'ci': 'し',
'cu': 'く',
'ce': 'せ',
'co': 'こ',
'ta': 'た',
'ti': 'ち',
'tu': 'つ',
'te': 'て',
'to': 'と',
'na': 'な',
'ni': 'に',
'nu': 'ぬ',
'ne': 'ね',
'no': 'の',
'ha': 'は',
'hi': 'ひ',
'hu': 'ふ',
'he': 'へ',
'ho': 'ほ',
'ma': 'ま',
'mi': 'み',
'mu': 'む',
'me': 'め',
'mo': 'も',
'ya': 'や',
'yu': 'ゆ',
'yo': 'よ',
'ra': 'ら',
'ri': 'り',
'ru': 'る',
're': 'れ',
'ro': 'ろ',
'wa': 'わ',
'wi': 'うぃ',
'wu': 'う',
'we': 'うぇ',
'wo': 'を',
'qa': 'くぁ',
'qi': 'くぃ',
'qu': 'く',
'qe': 'くぇ',
'qo': 'くぉ',
'fa': 'ふぁ',
'fi': 'ふぃ',
'fu': 'ふ',
'fe': 'ふぇ',
'fo': 'ふぉ',
// 濁音
'va': 'ゔぁ',
'vi': 'ゔぃ',
'vu': 'ゔ',
've': 'ゔぇ',
'vo': 'ゔぉ',
'ga': 'が',
'gi': 'ぎ',
'gu': 'ぐ',
'ge': 'げ',
'go': 'ご',
'za': 'ざ',
'zi': 'じ',
'zu': 'ず',
'ze': 'ぜ',
'zo': 'ぞ',
'ja': 'じゃ',
'ji': 'じ',
'ju': 'じゅ',
'je': 'じぇ',
'jo': 'じょ',
'da': 'だ',
'di': 'ぢ',
'du': 'づ',
'de': 'で',
'do': 'ど',
'ba': 'ば',
'bi': 'び',
'bu': 'ぶ',
'be': 'べ',
'bo': 'ぼ',
// 半濁音
'pa': 'ぱ',
'pi': 'ぴ',
'pu': 'ぷ',
'pe': 'ぺ',
'po': 'ぽ',
// 捨て仮名
'la': 'ぁ',
'li': 'ぃ',
'lu': 'ぅ',
'le': 'ぇ',
'lo': 'ぉ',
'xa': 'ぁ',
'xi': 'ぃ',
'xu': 'ぅ',
'xe': 'ぇ',
'xo': 'ぉ',
/**
* 1文字
*/
'a': 'あ',
'i': 'い',
'u': 'う',
'e': 'え',
'o': 'お',
'n': 'ん',
'0': '0',
'1': '1',
'2': '2',
'3': '3',
'4': '4',
'5': '5',
'6': '6',
'7': '7',
'8': '8',
'9': '9',
'-': 'ー',
',': '、',
'\\.': '。',
'\\!': '!',
'\\?': '?'
};