--[[

based on https://support.microsoft.com/ja-jp/help/883232
 - all caps → katakana
 - "ぃぇ [ye]" is a typo for "いぇ [ye]"
 - "ゐ [wi]" conflicts with "うぃ [wi]" and has been left out
 - "ゑ [we]" conflicts with "うぇ [we]" and has been left out
 - "ゐ [wyi]" and "ゑ [wye]" are not listed but has been added
 - "ヵ [lka/xka]" and "ヶ [lke/xke]" have been changed to "ゕ [lka/xka]", "ゖ [lke/xke]", "ヵ [LKA/XKA]", and "ヶ [LKE/XKE]"

 - "ん [nn]" must be prioritized -- testcase "こんよう [konnyou]"

]]

local data = {}

data["ja"] = {
	[1] = {
		['([bcdfghjklmpqrstvwxyz])%1'] = 'っ%1',
		['([BCDFGHJKLMPQRSTVWXYZ])%1'] = 'ッ%1',
	},
	[2] = {
		['ltsu'] = 'っ',
		['nn'] = 'ん',

		['LTSU'] = 'ッ',
		['NN'] = 'ン',
	},
	[3] = {
		['bya'] = 'びゃ',
		['bye'] = 'びぇ',
		['byi'] = 'びぃ',
		['byo'] = 'びょ',
		['byu'] = 'びゅ',
		['cha'] = 'ちゃ',
		['che'] = 'ちぇ',
		['chi'] = 'ち',
		['cho'] = 'ちょ',
		['chu'] = 'ちゅ',
		['cya'] = 'ちゃ',
		['cye'] = 'ちぇ',
		['cyi'] = 'ちぃ',
		['cyo'] = 'ちょ',
		['cyu'] = 'ちゅ',
		['dha'] = 'でゃ',
		['dhe'] = 'でぇ',
		['dhi'] = 'でぃ',
		['dho'] = 'でょ',
		['dhu'] = 'でゅ',
		['dwa'] = 'どぁ',
		['dwe'] = 'どぇ',
		['dwi'] = 'どぃ',
		['dwo'] = 'どぉ',
		['dwu'] = 'どぅ',
		['dya'] = 'ぢゃ',
		['dye'] = 'ぢぇ',
		['dyi'] = 'ぢぃ',
		['dyo'] = 'ぢょ',
		['dyu'] = 'ぢゅ',
		['fwa'] = 'ふぁ',
		['fwe'] = 'ふぇ',
		['fwi'] = 'ふぃ',
		['fwo'] = 'ふぉ',
		['fwu'] = 'ふぅ',
		['fya'] = 'ふゃ',
		['fye'] = 'ふぇ',
		['fyi'] = 'ふぃ',
		['fyo'] = 'ふょ',
		['fyu'] = 'ふゅ',
		['gwa'] = 'ぐぁ',
		['gwe'] = 'ぐぇ',
		['gwi'] = 'ぐぃ',
		['gwo'] = 'ぐぉ',
		['gwu'] = 'ぐぅ',
		['gya'] = 'ぎゃ',
		['gye'] = 'ぎぇ',
		['gyi'] = 'ぎぃ',
		['gyo'] = 'ぎょ',
		['gyu'] = 'ぎゅ',
		['hya'] = 'ひゃ',
		['hye'] = 'ひぇ',
		['hyi'] = 'ひぃ',
		['hyo'] = 'ひょ',
		['hyu'] = 'ひゅ',
		['jya'] = 'じゃ',
		['jye'] = 'じぇ',
		['jyi'] = 'じぃ',
		['jyo'] = 'じょ',
		['jyu'] = 'じゅ',
		['kwa'] = 'くぁ',
		['kya'] = 'きゃ',
		['kye'] = 'きぇ',
		['kyi'] = 'きぃ',
		['kyo'] = 'きょ',
		['kyu'] = 'きゅ',
		['lka'] = 'ゕ',
		['lke'] = 'ゖ',
		['ltu'] = 'っ',
		['lwa'] = 'ゎ',
		['lya'] = 'ゃ',
		['lye'] = 'ぇ',
		['lyi'] = 'ぃ',
		['lyo'] = 'ょ',
		['lyu'] = 'ゅ',
		['mya'] = 'みゃ',
		['mye'] = 'みぇ',
		['myi'] = 'みぃ',
		['myo'] = 'みょ',
		['myu'] = 'みゅ',
		['nya'] = 'にゃ',
		['nye'] = 'にぇ',
		['nyi'] = 'にぃ',
		['nyo'] = 'にょ',
		['nyu'] = 'にゅ',
		['pya'] = 'ぴゃ',
		['pye'] = 'ぴぇ',
		['pyi'] = 'ぴぃ',
		['pyo'] = 'ぴょ',
		['pyu'] = 'ぴゅ',
		['qwa'] = 'くぁ',
		['qwe'] = 'くぇ',
		['qwi'] = 'くぃ',
		['qwo'] = 'くぉ',
		['qwu'] = 'くぅ',
		['qya'] = 'くゃ',
		['qye'] = 'くぇ',
		['qyi'] = 'くぃ',
		['qyo'] = 'くょ',
		['qyu'] = 'くゅ',
		['rya'] = 'りゃ',
		['rye'] = 'りぇ',
		['ryi'] = 'りぃ',
		['ryo'] = 'りょ',
		['ryu'] = 'りゅ',
		['sha'] = 'しゃ',
		['she'] = 'しぇ',
		['shi'] = 'し',
		['sho'] = 'しょ',
		['shu'] = 'しゅ',
		['swa'] = 'すぁ',
		['swe'] = 'すぇ',
		['swi'] = 'すぃ',
		['swo'] = 'すぉ',
		['swu'] = 'すぅ',
		['sya'] = 'しゃ',
		['sye'] = 'しぇ',
		['syi'] = 'しぃ',
		['syo'] = 'しょ',
		['syu'] = 'しゅ',
		['tha'] = 'てゃ',
		['the'] = 'てぇ',
		['thi'] = 'てぃ',
		['tho'] = 'てょ',
		['thu'] = 'てゅ',
		['tsa'] = 'つぁ',
		['tse'] = 'つぇ',
		['tsi'] = 'つぃ',
		['tso'] = 'つぉ',
		['tsu'] = 'つ',
		['twa'] = 'とぁ',
		['twe'] = 'とぇ',
		['twi'] = 'とぃ',
		['two'] = 'とぉ',
		['twu'] = 'とぅ',
		['tya'] = 'ちゃ',
		['tye'] = 'ちぇ',
		['tyi'] = 'ちぃ',
		['tyo'] = 'ちょ',
		['tyu'] = 'ちゅ',
		['vya'] = 'ヴゃ',
		['vye'] = 'ヴぇ',
		['vyi'] = 'ヴぃ',
		['vyo'] = 'ヴょ',
		['vyu'] = 'ヴゅ',
		['wha'] = 'うぁ',
		['whe'] = 'うぇ',
		['whi'] = 'うぃ',
		['who'] = 'うぉ',
		['whu'] = 'う',
		['wye'] = 'ゑ',
		['wyi'] = 'ゐ',
		['xka'] = 'ゕ',
		['xke'] = 'ゖ',
		['xtu'] = 'っ',
		['xwa'] = 'ゎ',
		['xya'] = 'ゃ',
		['xye'] = 'ぇ',
		['xyi'] = 'ぃ',
		['xyo'] = 'ょ',
		['xyu'] = 'ゅ',
		['zya'] = 'じゃ',
		['zye'] = 'じぇ',
		['zyi'] = 'じぃ',
		['zyo'] = 'じょ',
		['zyu'] = 'じゅ',

		['BYA'] = 'ビャ',
		['BYE'] = 'ビェ',
		['BYI'] = 'ビィ',
		['BYO'] = 'ビョ',
		['BYU'] = 'ビュ',
		['CHA'] = 'チャ',
		['CHE'] = 'チェ',
		['CHI'] = 'チ',
		['CHO'] = 'チョ',
		['CHU'] = 'チュ',
		['CYA'] = 'チャ',
		['CYE'] = 'チェ',
		['CYI'] = 'チィ',
		['CYO'] = 'チョ',
		['CYU'] = 'チュ',
		['DHA'] = 'デャ',
		['DHE'] = 'デェ',
		['DHI'] = 'ディ',
		['DHO'] = 'デョ',
		['DHU'] = 'デュ',
		['DWA'] = 'ドァ',
		['DWE'] = 'ドェ',
		['DWI'] = 'ドィ',
		['DWO'] = 'ドォ',
		['DWU'] = 'ドゥ',
		['DYA'] = 'ヂャ',
		['DYE'] = 'ヂェ',
		['DYI'] = 'ヂィ',
		['DYO'] = 'ヂョ',
		['DYU'] = 'ヂュ',
		['FWA'] = 'ファ',
		['FWE'] = 'フェ',
		['FWI'] = 'フィ',
		['FWO'] = 'フォ',
		['FWU'] = 'フゥ',
		['FYA'] = 'フャ',
		['FYE'] = 'フェ',
		['FYI'] = 'フィ',
		['FYO'] = 'フョ',
		['FYU'] = 'フュ',
		['GWA'] = 'グァ',
		['GWE'] = 'グェ',
		['GWI'] = 'グィ',
		['GWO'] = 'グォ',
		['GWU'] = 'グゥ',
		['GYA'] = 'ギャ',
		['GYE'] = 'ギェ',
		['GYI'] = 'ギィ',
		['GYO'] = 'ギョ',
		['GYU'] = 'ギュ',
		['HYA'] = 'ヒャ',
		['HYE'] = 'ヒェ',
		['HYI'] = 'ヒィ',
		['HYO'] = 'ヒョ',
		['HYU'] = 'ヒュ',
		['JYA'] = 'ジャ',
		['JYE'] = 'ジェ',
		['JYI'] = 'ジィ',
		['JYO'] = 'ジョ',
		['JYU'] = 'ジュ',
		['KWA'] = 'クァ',
		['KYA'] = 'キャ',
		['KYE'] = 'キェ',
		['KYI'] = 'キィ',
		['KYO'] = 'キョ',
		['KYU'] = 'キュ',
		['LKA'] = 'ヵ',
		['LKE'] = 'ヶ',
		['LTU'] = 'ッ',
		['LWA'] = 'ヮ',
		['LYA'] = 'ャ',
		['LYE'] = 'ェ',
		['LYI'] = 'ィ',
		['LYO'] = 'ョ',
		['LYU'] = 'ュ',
		['MYA'] = 'ミャ',
		['MYE'] = 'ミェ',
		['MYI'] = 'ミィ',
		['MYO'] = 'ミョ',
		['MYU'] = 'ミュ',
		['NYA'] = 'ニャ',
		['NYE'] = 'ニェ',
		['NYI'] = 'ニィ',
		['NYO'] = 'ニョ',
		['NYU'] = 'ニュ',
		['PYA'] = 'ピャ',
		['PYE'] = 'ピェ',
		['PYI'] = 'ピィ',
		['PYO'] = 'ピョ',
		['PYU'] = 'ピュ',
		['QWA'] = 'クァ',
		['QWE'] = 'クェ',
		['QWI'] = 'クィ',
		['QWO'] = 'クォ',
		['QWU'] = 'クゥ',
		['QYA'] = 'クャ',
		['QYE'] = 'クェ',
		['QYI'] = 'クィ',
		['QYO'] = 'クョ',
		['QYU'] = 'クュ',
		['RYA'] = 'リャ',
		['RYE'] = 'リェ',
		['RYI'] = 'リィ',
		['RYO'] = 'リョ',
		['RYU'] = 'リュ',
		['SHA'] = 'シャ',
		['SHE'] = 'シェ',
		['SHI'] = 'シ',
		['SHO'] = 'ショ',
		['SHU'] = 'シュ',
		['SWA'] = 'スァ',
		['SWE'] = 'スェ',
		['SWI'] = 'スィ',
		['SWO'] = 'スォ',
		['SWU'] = 'スゥ',
		['SYA'] = 'シャ',
		['SYE'] = 'シェ',
		['SYI'] = 'シィ',
		['SYO'] = 'ショ',
		['SYU'] = 'シュ',
		['THA'] = 'テャ',
		['THE'] = 'テェ',
		['THI'] = 'ティ',
		['THO'] = 'テョ',
		['THU'] = 'テュ',
		['TSA'] = 'ツァ',
		['TSE'] = 'ツェ',
		['TSI'] = 'ツィ',
		['TSO'] = 'ツォ',
		['TSU'] = 'ツ',
		['TWA'] = 'トァ',
		['TWE'] = 'トェ',
		['TWI'] = 'トィ',
		['TWO'] = 'トォ',
		['TWU'] = 'トゥ',
		['TYA'] = 'チャ',
		['TYE'] = 'チェ',
		['TYI'] = 'チィ',
		['TYO'] = 'チョ',
		['TYU'] = 'チュ',
		['VYA'] = 'ヴャ',
		['VYE'] = 'ヴェ',
		['VYI'] = 'ヴィ',
		['VYO'] = 'ヴョ',
		['VYU'] = 'ヴュ',
		['WHA'] = 'ウァ',
		['WHE'] = 'ウェ',
		['WHI'] = 'ウィ',
		['WHO'] = 'ウォ',
		['WHU'] = 'ウ',
		['WYE'] = 'ヱ',
		['WYI'] = 'ヰ',
		['XKA'] = 'ヵ',
		['XKE'] = 'ヶ',
		['XTU'] = 'ッ',
		['XWA'] = 'ヮ',
		['XYA'] = 'ャ',
		['XYE'] = 'ェ',
		['XYI'] = 'ィ',
		['XYO'] = 'ョ',
		['XYU'] = 'ュ',
		['ZYA'] = 'ジャ',
		['ZYE'] = 'ジェ',
		['ZYI'] = 'ジィ',
		['ZYO'] = 'ジョ',
		['ZYU'] = 'ジュ',
	},
	[4] = {
		['ba'] = 'ば',
		['be'] = 'べ',
		['bi'] = 'び',
		['bo'] = 'ぼ',
		['bu'] = 'ぶ',
		['ca'] = 'か',
		['ce'] = 'せ',
		['ci'] = 'し',
		['co'] = 'こ',
		['cu'] = 'く',
		['da'] = 'だ',
		['de'] = 'で',
		['di'] = 'ぢ',
		['do'] = 'ど',
		['du'] = 'づ',
		['fa'] = 'ふぁ',
		['fe'] = 'ふぇ',
		['fi'] = 'ふぃ',
		['fo'] = 'ふぉ',
		['fu'] = 'ふ',
		['ga'] = 'が',
		['ge'] = 'げ',
		['gi'] = 'ぎ',
		['go'] = 'ご',
		['gu'] = 'ぐ',
		['ha'] = 'は',
		['he'] = 'へ',
		['hi'] = 'ひ',
		['ho'] = 'ほ',
		['hu'] = 'ふ',
		['ja'] = 'じゃ',
		['je'] = 'じぇ',
		['ji'] = 'じ',
		['jo'] = 'じょ',
		['ju'] = 'じゅ',
		['ka'] = 'か',
		['ke'] = 'け',
		['ki'] = 'き',
		['ko'] = 'こ',
		['ku'] = 'く',
		['la'] = 'ぁ',
		['le'] = 'ぇ',
		['li'] = 'ぃ',
		['lo'] = 'ぉ',
		['lu'] = 'ぅ',
		['ma'] = 'ま',
		['me'] = 'め',
		['mi'] = 'み',
		['mo'] = 'も',
		['mu'] = 'む',
		['n\''] = 'ん', -- [n']
		['na'] = 'な',
		['ne'] = 'ね',
		['ni'] = 'に',
		--['nn'] = 'ん',
		['no'] = 'の',
		['nu'] = 'ぬ',
		['pa'] = 'ぱ',
		['pe'] = 'ぺ',
		['pi'] = 'ぴ',
		['po'] = 'ぽ',
		['pu'] = 'ぷ',
		['qa'] = 'くぁ',
		['qe'] = 'くぇ',
		['qi'] = 'くぃ',
		['qo'] = 'くぉ',
		['qu'] = 'く',
		['ra'] = 'ら',
		['re'] = 'れ',
		['ri'] = 'り',
		['ro'] = 'ろ',
		['ru'] = 'る',
		['sa'] = 'さ',
		['se'] = 'せ',
		['si'] = 'し',
		['so'] = 'そ',
		['su'] = 'す',
		['ta'] = 'た',
		['te'] = 'て',
		['ti'] = 'ち',
		['to'] = 'と',
		['tu'] = 'つ',
		['va'] = 'ヴぁ',
		['ve'] = 'ヴぇ',
		['vi'] = 'ヴぃ',
		['vo'] = 'ヴぉ',
		['vu'] = 'ヴ',
		['wa'] = 'わ',
		['we'] = 'うぇ',
		['wi'] = 'うぃ',
		['wo'] = 'を',
		['wu'] = 'う',
		['xa'] = 'ぁ',
		['xe'] = 'ぇ',
		['xi'] = 'ぃ',
		['xn'] = 'ん',
		['xo'] = 'ぉ',
		['xu'] = 'ぅ',
		['ya'] = 'や',
		['ye'] = 'ぃぇ',
		['yi'] = 'い',
		['yo'] = 'よ',
		['yu'] = 'ゆ',
		['za'] = 'ざ',
		['ze'] = 'ぜ',
		['zi'] = 'じ',
		['zo'] = 'ぞ',
		['zu'] = 'ず',

		['BA'] = 'バ',
		['BE'] = 'ベ',
		['BI'] = 'ビ',
		['BO'] = 'ボ',
		['BU'] = 'ブ',
		['CA'] = 'カ',
		['CE'] = 'セ',
		['CI'] = 'シ',
		['CO'] = 'コ',
		['CU'] = 'ク',
		['DA'] = 'ダ',
		['DE'] = 'デ',
		['DI'] = 'ヂ',
		['DO'] = 'ド',
		['DU'] = 'ヅ',
		['FA'] = 'ファ',
		['FE'] = 'フェ',
		['FI'] = 'フィ',
		['FO'] = 'フォ',
		['FU'] = 'フ',
		['GA'] = 'ガ',
		['GE'] = 'ゲ',
		['GI'] = 'ギ',
		['GO'] = 'ゴ',
		['GU'] = 'グ',
		['HA'] = 'ハ',
		['HE'] = 'ヘ',
		['HI'] = 'ヒ',
		['HO'] = 'ホ',
		['HU'] = 'フ',
		['JA'] = 'ジャ',
		['JE'] = 'ジェ',
		['JI'] = 'ジ',
		['JO'] = 'ジョ',
		['JU'] = 'ジュ',
		['KA'] = 'カ',
		['KE'] = 'ケ',
		['KI'] = 'キ',
		['KO'] = 'コ',
		['KU'] = 'ク',
		['LA'] = 'ァ',
		['LE'] = 'ェ',
		['LI'] = 'ィ',
		['LO'] = 'ォ',
		['LU'] = 'ゥ',
		['MA'] = 'マ',
		['ME'] = 'メ',
		['MI'] = 'ミ',
		['MO'] = 'モ',
		['MU'] = 'ム',
		['N\''] = 'ン', -- [N']
		['NA'] = 'ナ',
		['NE'] = 'ネ',
		['NI'] = 'ニ',
		--['NN'] = 'ン',
		['NO'] = 'ノ',
		['NU'] = 'ヌ',
		['PA'] = 'パ',
		['PE'] = 'ペ',
		['PI'] = 'ピ',
		['PO'] = 'ポ',
		['PU'] = 'プ',
		['QA'] = 'クァ',
		['QE'] = 'クェ',
		['QI'] = 'クィ',
		['QO'] = 'クォ',
		['QU'] = 'ク',
		['RA'] = 'ラ',
		['RE'] = 'レ',
		['RI'] = 'リ',
		['RO'] = 'ロ',
		['RU'] = 'ル',
		['SA'] = 'サ',
		['SE'] = 'セ',
		['SI'] = 'シ',
		['SO'] = 'ソ',
		['SU'] = 'ス',
		['TA'] = 'タ',
		['TE'] = 'テ',
		['TI'] = 'チ',
		['TO'] = 'ト',
		['TU'] = 'ツ',
		['VA'] = 'ヴァ',
		['VE'] = 'ヴェ',
		['VI'] = 'ヴィ',
		['VO'] = 'ヴォ',
		['VU'] = 'ヴ',
		['WA'] = 'ワ',
		['WE'] = 'ウェ',
		['WI'] = 'ウィ',
		['WO'] = 'ヲ',
		['WU'] = 'ウ',
		['XA'] = 'ァ',
		['XE'] = 'ェ',
		['XI'] = 'ィ',
		['XN'] = 'ン',
		['XO'] = 'ォ',
		['XU'] = 'ゥ',
		['YA'] = 'ヤ',
		['YE'] = 'ィェ',
		['YI'] = 'イ',
		['YO'] = 'ヨ',
		['YU'] = 'ユ',
		['ZA'] = 'ザ',
		['ZE'] = 'ゼ',
		['ZI'] = 'ジ',
		['ZO'] = 'ゾ',
		['ZU'] = 'ズ',
	},
	[5] = {
		['a'] = 'あ',
		['e'] = 'え',
		['i'] = 'い',
		['n'] = 'ん',
		['o'] = 'お',
		['u'] = 'う',

		['A'] = 'ア',
		['E'] = 'エ',
		['I'] = 'イ',
		['N'] = 'ン',
		['O'] = 'オ',
		['U'] = 'ウ',
	},
	[6] = {
		['-'] = 'ー',
		['/'] = '・',
	},
}

return data
"https://si.wiktionary.org/w/index.php?title=Module:typing-aids/data/ja&oldid=193515" වෙතින් සම්ප්‍රවේශනය කෙරිණි