@satodai42/firis
Version:
Input support module for Japanese typing software
301 lines (300 loc) • 6.56 kB
JavaScript
/**
* かなとローマ字の対応表
* 1文字目: かな
* 2文字目: かなの文字特性を表す値
* 3文字目以降: かなに対応するローマ字入力。先のものがデフォルトでの変換として利用される
*
* かなの文字特性について
* 1bit目 後ろに小さい文字がつく可能性がある 例:「し」は「しゃ」という入力があるのでフラグが立つ
* 2bit目 小さい文字 例:「ぁ」「ゃ」「ゅ」「ょ」
* 3bit目 小さい「っ」
* 4bit目 小さい「っ」を入力する際に次文字の頭での入力を許さない文字 母音と「な」行が対象
* 5bit目 記号 ★基本的に本ファイルへの追加が必要な状況は記号の追加なので、その場合このビットを立てること
* 6bit目 「ん」
* 上記のビット列を10進数に変換したものがinstructionSetの2番目の要素になる
*/
const instructionSet = [
["あ",8,"a"],
["い",9,"i"],
["う",9,"u","wu","whu"],
["え",8,"e","ye"],
["お",8,"o"],
["か",0,"ka","ca"],
["き",1,"ki"],
["く",1,"ku","cu","qu"],
["け",0,"ke"],
["こ",0,"ko","co"],
["さ",0,"sa"],
["し",1,"si","shi","ci"],
["す",1,"su"],
["せ",0,"se","ce"],
["そ",0,"so"],
["た",0,"ta"],
["ち",1,"ti","chi"],
["つ",1,"tu","tsu"],
["て",1,"te"],
["と",1,"to"],
["な",8,"na"],
["に",9,"ni"],
["ぬ",8,"nu"],
["ね",8,"ne"],
["の",8,"no"],
["は",0,"ha"],
["ひ",1,"hi"],
["ふ",1,"hu","fu"],
["へ",0,"he"],
["ほ",0,"ho"],
["ま",0,"ma"],
["み",1,"mi"],
["む",0,"mu"],
["め",0,"me"],
["も",0,"mo"],
["や",0,"ya"],
["ゆ",0,"yu"],
["よ",0,"yo"],
["ら",0,"ra"],
["り",1,"ri"],
["る",0,"ru"],
["れ",0,"re"],
["ろ",0,"ro"],
["わ",0,"wa"],
["を",0,"wo"],
["ん",32,"nn"],
["ー",0,"-"],
["が",0,"ga"],
["ぎ",1,"gi"],
["ぐ",1,"gu"],
["げ",0,"ge"],
["ご",0,"go"],
["ざ",0,"za"],
["じ",1,"zi","ji"],
["ず",0,"zu"],
["ぜ",0,"ze"],
["ぞ",0,"zo"],
["だ",0,"da"],
["ぢ",1,"di"],
["づ",0,"du"],
["で",1,"de"],
["ど",0,"do"],
["ば",0,"ba"],
["び",1,"bi"],
["ぶ",0,"bu"],
["べ",0,"be"],
["ぼ",0,"bo"],
["ぱ",0,"pa"],
["ぴ",1,"pi"],
["ぷ",0,"pu"],
["ぺ",0,"pe"],
["ぽ",0,"po"],
["きゃ",0,"kya"],
["きぃ",0,"kyi"],
["きゅ",0,"kyu"],
["きぇ",0,"kye"],
["きょ",0,"kyo"],
["しゃ",0,"sya","sha"],
["しぃ",0,"syi"],
["しゅ",0,"syu","shu"],
["しぇ",0,"sye","she"],
["しょ",0,"syo","sho"],
["ちゃ",0,"tya","cha","cya"],
["ちぃ",0,"tyi","tyi","cyi"],
["ちゅ",0,"tyu","chu","cyu"],
["ちぇ",0,"tye","che","cye"],
["ちょ",0,"tyo","cho","cyo"],
["にゃ",8,"nya"],
["にぃ",8,"nyi"],
["にゅ",8,"nyu"],
["にぇ",8,"nye"],
["にょ",8,"nyo"],
["ひゃ",0,"hya"],
["ひぃ",0,"hyi"],
["ひゅ",0,"hyu"],
["ひぇ",0,"hye"],
["ひょ",0,"hyo"],
["みゃ",0,"mya"],
["みぃ",0,"myi"],
["みゅ",0,"myu"],
["みぇ",0,"mye"],
["みょ",0,"myo"],
["りゃ",0,"rya"],
["りぃ",0,"ryi"],
["りゅ",0,"ryu"],
["りぇ",0,"rye"],
["りょ",0,"ryo"],
["ぎゃ",0,"gya"],
["ぎぃ",0,"gyi"],
["ぎゅ",0,"gyu"],
["ぎぇ",0,"gye"],
["ぎょ",0,"gyo"],
["じゃ",0,"zya","ja","jya"],
["じぃ",0,"zyi","zyi","jyi"],
["じゅ",0,"zyu","ju","jyu"],
["じぇ",0,"zye","je","jye"],
["じょ",0,"zyo","jo","jyo"],
["ぢゃ",0,"dya"],
["ぢぃ",0,"dyi"],
["ぢゅ",0,"dyu"],
["ぢぇ",0,"dye"],
["ぢょ",0,"dyo"],
["びゃ",0,"bya"],
["びぃ",0,"byi"],
["びゅ",0,"byu"],
["びぇ",0,"bye"],
["びょ",0,"byo"],
["ぴゃ",0,"pya"],
["ぴぃ",0,"pyi"],
["ぴゅ",0,"pyu"],
["ぴぇ",0,"pye"],
["ぴょ",0,"pyo"],
["ふぁ",0,"fa","fwa"],
["ふぃ",0,"fi","fwi","fyi"],
["ふぇ",0,"fe","fwu"],
["ふぉ",0,"fo","fwe","fye"],
["ふゅ",0,"fyu","fwo"],
["てゃ",0,"tha"],
["てぃ",0,"thi"],
["てゅ",0,"thu"],
["てぇ",0,"the"],
["てょ",0,"tho"],
["とぁ",0,"tha"],
["とぃ",0,"thi"],
["とぅ",0,"thu"],
["とぇ",0,"the"],
["とぉ",0,"tho"],
["でゃ",0,"dha"],
["でぃ",0,"dhi"],
["でゅ",0,"dhu"],
["でぇ",0,"dhe"],
["でょ",0,"dho"],
["どぁ",0,"dwa"],
["どぃ",0,"dwi"],
["どぅ",0,"dwu"],
["どぇ",0,"dwe"],
["どぉ",0,"dwo"],
["いぇ",0,"ye"],
["うぁ",0,"wha"],
["うぃ",0,"wi","whi"],
["うぇ",0,"we","whe"],
["うぉ",0,"who"],
["くぁ",0,"qa","kwa","qwa"],
["くぃ",0,"qi","kwi","qwi"],
["くぅ",0,"qwu"],
["くぇ",0,"qe","kwe","qwe"],
["くぉ",0,"qo","kwo","qwo"],
["くゃ",0,"qya"],
["くゅ",0,"qyu"],
["くょ",0,"qyo"],
["すぁ",0,"swa"],
["すぃ",0,"swi"],
["すぅ",0,"swu"],
["すぇ",0,"swe"],
["すぉ",0,"swo"],
["つぁ",0,"tsa"],
["つぃ",0,"tsi"],
["つぇ",0,"tse"],
["つぉ",0,"tso"],
["ふゃ",0,"fya"],
["ふゅ",0,"fyu"],
["ふょ",0,"fyo"],
["ぐぁ",0,"gwa"],
["ぐぃ",0,"gwi"],
["ぐぅ",0,"gwu"],
["ぐぇ",0,"gwe"],
["ぐぉ",0,"gwo"],
["ヴぁ",0,"va"],
["ヴぃ",0,"vi"],
["ヴ",1,"vu"],
["ヴぇ",0,"ve"],
["ヴぉ",0,"vo"],
["ヴゃ",0,"vya"],
["ヴゅ",0,"vyu"],
["ヴょ",0,"vyo"],
["っ",4,"xtu","ltu","xtsu","ltsu"],
["ぁ",2,"xa","la"],
["ぃ",2,"xi","li","xyi","lyi"],
["ぅ",2,"xu","lu"],
["ぇ",2,"xe","le","xye","lye"],
["ぉ",2,"xo","lo"],
["ゃ",2,"xya","lya"],
["ゅ",2,"xyu","lyu"],
["ょ",2,"xyo","lyo"],
["A",16,"A"],
["B",16,"B"],
["C",16,"C"],
["D",16,"D"],
["E",16,"E"],
["F",16,"F"],
["G",16,"G"],
["H",16,"H"],
["I",16,"I"],
["J",16,"J"],
["K",16,"K"],
["L",16,"L"],
["M",16,"M"],
["N",16,"N"],
["O",16,"O"],
["P",16,"P"],
["Q",16,"Q"],
["R",16,"R"],
["S",16,"S"],
["T",16,"T"],
["U",16,"U"],
["V",16,"V"],
["W",16,"W"],
["X",16,"X"],
["Y",16,"Y"],
["Z",16,"Z"],
["a",16,"a"],
["b",16,"b"],
["c",16,"c"],
["d",16,"d"],
["e",16,"e"],
["f",16,"f"],
["g",16,"g"],
["h",16,"h"],
["i",16,"i"],
["j",16,"j"],
["k",16,"k"],
["l",16,"l"],
["m",16,"m"],
["n",16,"n"],
["o",16,"o"],
["p",16,"p"],
["q",16,"q"],
["r",16,"r"],
["s",16,"s"],
["t",16,"t"],
["u",16,"u"],
["v",16,"v"],
["w",16,"w"],
["x",16,"x"],
["y",16,"y"],
["z",16,"z"],
["0",16,"0"],
["1",16,"1"],
["2",16,"2"],
["3",16,"3"],
["4",16,"4"],
["5",16,"5"],
["6",16,"6"],
["7",16,"7"],
["8",16,"8"],
["9",16,"9"],
["「",16,"["],
["」",16,"]"],
["!",16,"!"],
["?",16,"?"],
["、",16,"",""],
["。",16,"."],
["~",16,"~"],
["・",16,"/"],
[" ",16,"_"],
["[",16,"["],
["]",16,"]"],
["!",16,"!"],
["?",16,"?"],
[".",16,"."],
["~",16,"~"],
[" ",16,"_"]
]
module.exports = {instructionSet}