﻿// escape character
// この語で挟まれた部分は、変換せずそのままにする。
esc_char = "\\";

// ひらがな
var r2k = new Object();
r2k["a"] = "あ";
r2k["i"] = "い";
r2k["u"] = "う";
r2k["e"] = "え";
r2k["o"] = "お";

r2k["k"] = new Object();
r2k["k"]["a"] = "か";
r2k["k"]["i"] = "き";
r2k["k"]["u"] = "く";
r2k["k"]["e"] = "け";
r2k["k"]["o"] = "こ";
r2k["s"] = new Object();
r2k["s"]["a"] = "さ";
r2k["s"]["i"] = "し";
r2k["s"]["u"] = "す";
r2k["s"]["e"] = "せ";
r2k["s"]["o"] = "そ";
r2k["t"] = new Object();
r2k["t"]["a"] = "た";
r2k["t"]["i"] = "ち";
r2k["t"]["u"] = "つ";
r2k["t"]["e"] = "て";
r2k["t"]["o"] = "と";
r2k["n"] = new Object();
r2k["n"]["a"] = "な";
r2k["n"]["i"] = "に";
r2k["n"]["u"] = "ぬ";
r2k["n"]["e"] = "ね";
r2k["n"]["o"] = "の";
r2k["h"] = new Object();
r2k["h"]["a"] = "は";
r2k["h"]["i"] = "ひ";
r2k["h"]["u"] = "ふ";
r2k["h"]["e"] = "へ";
r2k["h"]["o"] = "ほ";
r2k["m"] = new Object();
r2k["m"]["a"] = "ま";
r2k["m"]["i"] = "み";
r2k["m"]["u"] = "む";
r2k["m"]["e"] = "め";
r2k["m"]["o"] = "も";
r2k["y"] = new Object();
r2k["y"]["a"] = "や";
r2k["y"]["i"] = "い";
r2k["y"]["u"] = "ゆ";
r2k["y"]["e"] = "いぇ";
r2k["y"]["o"] = "よ";
r2k["r"] = new Object();
r2k["r"]["a"] = "ら";
r2k["r"]["i"] = "り";
r2k["r"]["u"] = "る";
r2k["r"]["e"] = "れ";
r2k["r"]["o"] = "ろ";
r2k["w"] = new Object();
r2k["w"]["a"] = "わ";
r2k["w"]["i"] = "うぃ";
r2k["w"]["u"] = "う";
r2k["w"]["e"] = "うぇ";
r2k["w"]["o"] = "を";

r2k["q"] = new Object();
r2k["q"]["a"] = "くぁ";
r2k["q"]["i"] = "くぃ";
r2k["q"]["u"] = "く";
r2k["q"]["e"] = "くぇ";
r2k["q"]["o"] = "くぉ";
r2k["p"] = new Object();
r2k["p"]["a"] = "ぱ";
r2k["p"]["i"] = "ぴ";
r2k["p"]["u"] = "ぷ";
r2k["p"]["e"] = "ぺ";
r2k["p"]["o"] = "ぽ";
r2k["d"] = new Object();
r2k["d"]["a"] = "だ";
r2k["d"]["i"] = "ぢ";
r2k["d"]["u"] = "づ";
r2k["d"]["e"] = "で";
r2k["d"]["o"] = "ど";
r2k["f"] = new Object();
r2k["f"]["a"] = "ふぁ";
r2k["f"]["i"] = "ふぃ";
r2k["f"]["u"] = "ふ";
r2k["f"]["e"] = "ふぇ";
r2k["f"]["o"] = "ふぉ";
r2k["g"] = new Object();
r2k["g"]["a"] = "が";
r2k["g"]["i"] = "ぎ";
r2k["g"]["u"] = "ぐ";
r2k["g"]["e"] = "げ";
r2k["g"]["o"] = "ご";
r2k["j"] = new Object();
r2k["j"]["a"] = "じゃ";
r2k["j"]["i"] = "じ";
r2k["j"]["u"] = "じゅ";
r2k["j"]["e"] = "じぇ";
r2k["j"]["o"] = "じょ";
r2k["l"] = new Object();
r2k["l"]["a"] = "ぁ";
r2k["l"]["i"] = "ぃ";
r2k["l"]["u"] = "ぅ";
r2k["l"]["e"] = "ぇ";
r2k["l"]["o"] = "ぉ";
r2k["z"] = new Object();
r2k["z"]["a"] = "ざ";
r2k["z"]["i"] = "じ";
r2k["z"]["u"] = "ず";
r2k["z"]["e"] = "ぜ";
r2k["z"]["o"] = "ぞ";
r2k["x"] = new Object();
r2k["x"]["a"] = "ぁ";
r2k["x"]["i"] = "ぃ";
r2k["x"]["u"] = "ぅ";
r2k["x"]["e"] = "ぇ";
r2k["x"]["o"] = "ぉ";
r2k["c"] = new Object();
r2k["c"]["a"] = "か";
r2k["c"]["i"] = "し";
r2k["c"]["u"] = "く";
r2k["c"]["e"] = "せ";
r2k["c"]["o"] = "こ";
r2k["v"] = new Object();
r2k["v"]["a"] = "ヴぁ";
r2k["v"]["i"] = "ヴぃ";
r2k["v"]["u"] = "ヴ";
r2k["v"]["e"] = "ヴぇ";
r2k["v"]["o"] = "ヴぉ";
r2k["b"] = new Object();
r2k["b"]["a"] = "ば";
r2k["b"]["i"] = "び";
r2k["b"]["u"] = "ぶ";
r2k["b"]["e"] = "べ";
r2k["b"]["o"] = "ぼ";

r2k["n"]["n"] = "ん";

r2k["k"]["y"] = new Object();
r2k["k"]["y"]["a"] = "きゃ";
r2k["k"]["y"]["i"] = "きぃ";
r2k["k"]["y"]["u"] = "きゅ";
r2k["k"]["y"]["e"] = "きぇ";
r2k["k"]["y"]["o"] = "きょ";
r2k["s"]["y"] = new Object();
r2k["s"]["y"]["a"] = "しゃ";
r2k["s"]["y"]["i"] = "しぃ";
r2k["s"]["y"]["u"] = "しゅ";
r2k["s"]["y"]["e"] = "しぇ";
r2k["s"]["y"]["o"] = "しょ";
r2k["t"]["y"] = new Object();
r2k["t"]["y"]["a"] = "ちゃ";
r2k["t"]["y"]["i"] = "ちぃ";
r2k["t"]["y"]["u"] = "ちゅ";
r2k["t"]["y"]["e"] = "ちぇ";
r2k["t"]["y"]["o"] = "ちょ";
r2k["n"]["y"] = new Object();
r2k["n"]["y"]["a"] = "にゃ";
r2k["n"]["y"]["i"] = "にぃ";
r2k["n"]["y"]["u"] = "にゅ";
r2k["n"]["y"]["e"] = "にぇ";
r2k["n"]["y"]["o"] = "にょ";
r2k["h"]["y"] = new Object();
r2k["h"]["y"]["a"] = "ひゃ";
r2k["h"]["y"]["i"] = "ひぃ";
r2k["h"]["y"]["u"] = "ひゅ";
r2k["h"]["y"]["e"] = "ひぇ";
r2k["h"]["y"]["o"] = "ひょ";
r2k["m"]["y"] = new Object();
r2k["m"]["y"]["a"] = "みゃ";
r2k["m"]["y"]["i"] = "みぃ";
r2k["m"]["y"]["u"] = "みゅ";
r2k["m"]["y"]["e"] = "みぇ";
r2k["m"]["y"]["o"] = "みょ";
r2k["r"]["y"] = new Object();
r2k["r"]["y"]["a"] = "りゃ";
r2k["r"]["y"]["i"] = "りぃ";
r2k["r"]["y"]["u"] = "りゅ";
r2k["r"]["y"]["e"] = "りぇ";
r2k["r"]["y"]["o"] = "りょ";

r2k["q"]["y"] = new Object();
r2k["q"]["y"]["a"] = "くゃ";
r2k["q"]["y"]["i"] = "くぃ";
r2k["q"]["y"]["u"] = "くゅ";
r2k["q"]["y"]["e"] = "くぇ";
r2k["q"]["y"]["o"] = "くょ";
r2k["p"]["y"] = new Object();
r2k["p"]["y"]["a"] = "ぴゃ";
r2k["p"]["y"]["i"] = "ぴぃ";
r2k["p"]["y"]["u"] = "ぴゅ";
r2k["p"]["y"]["e"] = "ぴぇ";
r2k["p"]["y"]["o"] = "ぴょ";
r2k["d"]["y"] = new Object();
r2k["d"]["y"]["a"] = "ぢゃ";
r2k["d"]["y"]["i"] = "ぢぃ";
r2k["d"]["y"]["u"] = "ぢゅ";
r2k["d"]["y"]["e"] = "ぢぇ";
r2k["d"]["y"]["o"] = "ぢょ";
r2k["f"]["y"] = new Object();
r2k["f"]["y"]["a"] = "ふゃ";
r2k["f"]["y"]["i"] = "ふぃ";
r2k["f"]["y"]["u"] = "ふゅ";
r2k["f"]["y"]["e"] = "ふぇ";
r2k["f"]["y"]["o"] = "ふょ";
r2k["g"]["y"] = new Object();
r2k["g"]["y"]["a"] = "ぎゃ";
r2k["g"]["y"]["i"] = "ぎぃ";
r2k["g"]["y"]["u"] = "ぎゅ";
r2k["g"]["y"]["e"] = "ぎぇ";
r2k["g"]["y"]["o"] = "ぎょ";
r2k["j"]["y"] = new Object();
r2k["j"]["y"]["a"] = "じゃ";
r2k["j"]["y"]["i"] = "じぃ";
r2k["j"]["y"]["u"] = "じゅ";
r2k["j"]["y"]["e"] = "じぇ";
r2k["j"]["y"]["o"] = "じょ";
r2k["l"]["y"] = new Object();
r2k["l"]["y"]["a"] = "ゃ";
r2k["l"]["y"]["i"] = "ぃ";
r2k["l"]["y"]["u"] = "ゅ";
r2k["l"]["y"]["e"] = "ぇ";
r2k["l"]["y"]["o"] = "ょ";
r2k["z"]["y"] = new Object();
r2k["z"]["y"]["a"] = "じゃ";
r2k["z"]["y"]["i"] = "じぃ";
r2k["z"]["y"]["u"] = "じゅ";
r2k["z"]["y"]["e"] = "じぇ";
r2k["z"]["y"]["o"] = "じょ";
r2k["x"]["y"] = new Object();
r2k["x"]["y"]["a"] = "ゃ";
r2k["x"]["y"]["i"] = "ぃ";
r2k["x"]["y"]["u"] = "ゅ";
r2k["x"]["y"]["e"] = "ぇ";
r2k["x"]["y"]["o"] = "ょ";
r2k["c"]["y"] = new Object();
r2k["c"]["y"]["a"] = "ちゃ";
r2k["c"]["y"]["i"] = "ちぃ";
r2k["c"]["y"]["u"] = "ちゅ";
r2k["c"]["y"]["e"] = "ちぇ";
r2k["c"]["y"]["o"] = "ちょ";
r2k["v"]["y"] = new Object();
r2k["v"]["y"]["a"] = "ヴゃ";
r2k["v"]["y"]["i"] = "ヴぃ";
r2k["v"]["y"]["u"] = "ヴゅ";
r2k["v"]["y"]["e"] = "ヴぇ";
r2k["v"]["y"]["o"] = "ヴょ";
r2k["b"]["y"] = new Object();
r2k["b"]["y"]["a"] = "びゃ";
r2k["b"]["y"]["i"] = "びぃ";
r2k["b"]["y"]["u"] = "びゅ";
r2k["b"]["y"]["e"] = "びぇ";
r2k["b"]["y"]["o"] = "びょ";


r2k["s"]["h"] = new Object();
r2k["s"]["h"]["a"] = "しゃ";
r2k["s"]["h"]["i"] = "し";
r2k["s"]["h"]["u"] = "しゅ";
r2k["s"]["h"]["e"] = "しぇ";
r2k["s"]["h"]["o"] = "しょ";
r2k["t"]["h"] = new Object();
r2k["t"]["h"]["a"] = "てゃ";
r2k["t"]["h"]["i"] = "てぃ";
r2k["t"]["h"]["u"] = "てゅ";
r2k["t"]["h"]["e"] = "てぇ";
r2k["t"]["h"]["o"] = "てょ";

r2k["d"]["h"] = new Object();
r2k["d"]["h"]["a"] = "でゃ";
r2k["d"]["h"]["i"] = "でぃ";
r2k["d"]["h"]["u"] = "でゅ";
r2k["d"]["h"]["e"] = "でぇ";
r2k["d"]["h"]["o"] = "でょ";
r2k["c"]["h"] = new Object();
r2k["c"]["h"]["a"] = "ちゃ";
r2k["c"]["h"]["i"] = "ち";
r2k["c"]["h"]["u"] = "ちゅ";
r2k["c"]["h"]["e"] = "ちぇ";
r2k["c"]["h"]["o"] = "ちょ";

r2k["x"]["w"] = new Object();
r2k["x"]["w"]["a"] = "ゎ";


// カタカナ
r2k["A"] = "ア";
r2k["I"] = "イ";
r2k["U"] = "ウ";
r2k["E"] = "エ";
r2k["O"] = "オ";

r2k["K"] = new Object();
r2k["K"]["A"] = "カ";
r2k["K"]["I"] = "キ";
r2k["K"]["U"] = "ク";
r2k["K"]["E"] = "ケ";
r2k["K"]["O"] = "コ";
r2k["S"] = new Object();
r2k["S"]["A"] = "サ";
r2k["S"]["I"] = "シ";
r2k["S"]["U"] = "ス";
r2k["S"]["E"] = "セ";
r2k["S"]["O"] = "ソ";
r2k["T"] = new Object();
r2k["T"]["A"] = "タ";
r2k["T"]["I"] = "チ";
r2k["T"]["U"] = "ツ";
r2k["T"]["E"] = "テ";
r2k["T"]["O"] = "ト";
r2k["N"] = new Object();
r2k["N"]["A"] = "ナ";
r2k["N"]["I"] = "ニ";
r2k["N"]["U"] = "ヌ";
r2k["N"]["E"] = "ネ";
r2k["N"]["O"] = "ノ";
r2k["H"] = new Object();
r2k["H"]["A"] = "ハ";
r2k["H"]["I"] = "ヒ";
r2k["H"]["U"] = "フ";
r2k["H"]["E"] = "ヘ";
r2k["H"]["O"] = "ホ";
r2k["M"] = new Object();
r2k["M"]["A"] = "マ";
r2k["M"]["I"] = "ミ";
r2k["M"]["U"] = "ム";
r2k["M"]["E"] = "メ";
r2k["M"]["O"] = "モ";
r2k["Y"] = new Object();
r2k["Y"]["A"] = "ヤ";
r2k["Y"]["I"] = "イ";
r2k["Y"]["U"] = "ユ";
r2k["Y"]["E"] = "イェ";
r2k["Y"]["O"] = "ヨ";
r2k["R"] = new Object();
r2k["R"]["A"] = "ラ";
r2k["R"]["I"] = "リ";
r2k["R"]["U"] = "ル";
r2k["R"]["E"] = "レ";
r2k["R"]["O"] = "ロ";
r2k["W"] = new Object();
r2k["W"]["A"] = "ワ";
r2k["W"]["I"] = "ウィ";
r2k["W"]["U"] = "ウ";
r2k["W"]["E"] = "ウェ";
r2k["W"]["O"] = "ヲ";

r2k["Q"] = new Object();
r2k["Q"]["A"] = "クァ";
r2k["Q"]["I"] = "クィ";
r2k["Q"]["U"] = "ク";
r2k["Q"]["E"] = "クェ";
r2k["Q"]["O"] = "クォ";
r2k["P"] = new Object();
r2k["P"]["A"] = "パ";
r2k["P"]["I"] = "ピ";
r2k["P"]["U"] = "プ";
r2k["P"]["E"] = "ペ";
r2k["P"]["O"] = "ポ";
r2k["D"] = new Object();
r2k["D"]["A"] = "ダ";
r2k["D"]["I"] = "ヂ";
r2k["D"]["U"] = "ヅ";
r2k["D"]["E"] = "デ";
r2k["D"]["O"] = "ド";
r2k["F"] = new Object();
r2k["F"]["A"] = "ファ";
r2k["F"]["I"] = "フィ";
r2k["F"]["U"] = "フ";
r2k["F"]["E"] = "フェ";
r2k["F"]["O"] = "フォ";
r2k["G"] = new Object();
r2k["G"]["A"] = "ガ";
r2k["G"]["I"] = "ギ";
r2k["G"]["U"] = "グ";
r2k["G"]["E"] = "ゲ";
r2k["G"]["O"] = "ゴ";
r2k["J"] = new Object();
r2k["J"]["A"] = "ジャ";
r2k["J"]["I"] = "ジ";
r2k["J"]["U"] = "ジュ";
r2k["J"]["E"] = "ジェ";
r2k["J"]["O"] = "ジョ";
r2k["L"] = new Object();
r2k["L"]["A"] = "ァ";
r2k["L"]["I"] = "ィ";
r2k["L"]["U"] = "ゥ";
r2k["L"]["E"] = "ェ";
r2k["L"]["O"] = "ォ";
r2k["Z"] = new Object();
r2k["Z"]["A"] = "ザ";
r2k["Z"]["I"] = "ジ";
r2k["Z"]["U"] = "ズ";
r2k["Z"]["E"] = "ゼ";
r2k["Z"]["O"] = "ゾ";
r2k["X"] = new Object();
r2k["X"]["A"] = "ァ";
r2k["X"]["I"] = "ィ";
r2k["X"]["U"] = "ゥ";
r2k["X"]["E"] = "ェ";
r2k["X"]["O"] = "ォ";
r2k["C"] = new Object();
r2k["C"]["A"] = "カ";
r2k["C"]["I"] = "シ";
r2k["C"]["U"] = "ク";
r2k["C"]["E"] = "セ";
r2k["C"]["O"] = "コ";
r2k["V"] = new Object();
r2k["V"]["A"] = "ヴァ";
r2k["V"]["I"] = "ヴィ";
r2k["V"]["U"] = "ヴ";
r2k["V"]["E"] = "ヴェ";
r2k["V"]["O"] = "ヴォ";
r2k["B"] = new Object();
r2k["B"]["A"] = "バ";
r2k["B"]["I"] = "ビ";
r2k["B"]["U"] = "ブ";
r2k["B"]["E"] = "ベ";
r2k["B"]["O"] = "ボ";

r2k["N"]["N"] = "ン";

r2k["K"]["Y"] = new Object();
r2k["K"]["Y"]["A"] = "キャ";
r2k["K"]["Y"]["I"] = "キィ";
r2k["K"]["Y"]["U"] = "キュ";
r2k["K"]["Y"]["E"] = "キェ";
r2k["K"]["Y"]["O"] = "キョ";
r2k["S"]["Y"] = new Object();
r2k["S"]["Y"]["A"] = "シャ";
r2k["S"]["Y"]["I"] = "シィ";
r2k["S"]["Y"]["U"] = "シュ";
r2k["S"]["Y"]["E"] = "シェ";
r2k["S"]["Y"]["O"] = "ショ";
r2k["T"]["Y"] = new Object();
r2k["T"]["Y"]["A"] = "チャ";
r2k["T"]["Y"]["I"] = "チィ";
r2k["T"]["Y"]["U"] = "チュ";
r2k["T"]["Y"]["E"] = "チェ";
r2k["T"]["Y"]["O"] = "チョ";
r2k["N"]["Y"] = new Object();
r2k["N"]["Y"]["A"] = "ニャ";
r2k["N"]["Y"]["I"] = "ニィ";
r2k["N"]["Y"]["U"] = "ニュ";
r2k["N"]["Y"]["E"] = "ニェ";
r2k["N"]["Y"]["O"] = "ニョ";
r2k["H"]["Y"] = new Object();
r2k["H"]["Y"]["A"] = "ヒャ";
r2k["H"]["Y"]["I"] = "ヒィ";
r2k["H"]["Y"]["U"] = "ヒュ";
r2k["H"]["Y"]["E"] = "ヒェ";
r2k["H"]["Y"]["O"] = "ヒョ";
r2k["M"]["Y"] = new Object();
r2k["M"]["Y"]["A"] = "ミャ";
r2k["M"]["Y"]["I"] = "ミィ";
r2k["M"]["Y"]["U"] = "ミュ";
r2k["M"]["Y"]["E"] = "ミェ";
r2k["M"]["Y"]["O"] = "ミョ";
r2k["R"]["Y"] = new Object();
r2k["R"]["Y"]["A"] = "リャ";
r2k["R"]["Y"]["I"] = "リィ";
r2k["R"]["Y"]["U"] = "リュ";
r2k["R"]["Y"]["E"] = "リェ";
r2k["R"]["Y"]["O"] = "リョ";

r2k["Q"]["Y"] = new Object();
r2k["Q"]["Y"]["A"] = "クャ";
r2k["Q"]["Y"]["I"] = "クィ";
r2k["Q"]["Y"]["U"] = "クュ";
r2k["Q"]["Y"]["E"] = "クェ";
r2k["Q"]["Y"]["O"] = "クョ";
r2k["P"]["Y"] = new Object();
r2k["P"]["Y"]["A"] = "ピャ";
r2k["P"]["Y"]["I"] = "ピィ";
r2k["P"]["Y"]["U"] = "ピュ";
r2k["P"]["Y"]["E"] = "ピェ";
r2k["P"]["Y"]["O"] = "ピョ";
r2k["D"]["Y"] = new Object();
r2k["D"]["Y"]["A"] = "ヂャ";
r2k["D"]["Y"]["I"] = "ヂィ";
r2k["D"]["Y"]["U"] = "ヂュ";
r2k["D"]["Y"]["E"] = "ヂェ";
r2k["D"]["Y"]["O"] = "ヂョ";
r2k["F"]["Y"] = new Object();
r2k["F"]["Y"]["A"] = "フャ";
r2k["F"]["Y"]["I"] = "フィ";
r2k["F"]["Y"]["U"] = "フュ";
r2k["F"]["Y"]["E"] = "フェ";
r2k["F"]["Y"]["O"] = "フョ";
r2k["G"]["Y"] = new Object();
r2k["G"]["Y"]["A"] = "ギャ";
r2k["G"]["Y"]["I"] = "ギィ";
r2k["G"]["Y"]["U"] = "ギュ";
r2k["G"]["Y"]["E"] = "ギェ";
r2k["G"]["Y"]["O"] = "ギョ";
r2k["J"]["Y"] = new Object();
r2k["J"]["Y"]["A"] = "ジャ";
r2k["J"]["Y"]["I"] = "ジィ";
r2k["J"]["Y"]["U"] = "ジュ";
r2k["J"]["Y"]["E"] = "ジェ";
r2k["J"]["Y"]["O"] = "ジョ";
r2k["L"]["Y"] = new Object();
r2k["L"]["Y"]["A"] = "ャ";
r2k["L"]["Y"]["I"] = "ィ";
r2k["L"]["Y"]["U"] = "ュ";
r2k["L"]["Y"]["E"] = "ェ";
r2k["L"]["Y"]["O"] = "ョ";
r2k["Z"]["Y"] = new Object();
r2k["Z"]["Y"]["A"] = "ジャ";
r2k["Z"]["Y"]["I"] = "ジィ";
r2k["Z"]["Y"]["U"] = "ジュ";
r2k["Z"]["Y"]["E"] = "ジェ";
r2k["Z"]["Y"]["O"] = "ジョ";
r2k["X"]["Y"] = new Object();
r2k["X"]["Y"]["A"] = "ャ";
r2k["X"]["Y"]["I"] = "ィ";
r2k["X"]["Y"]["U"] = "ュ";
r2k["X"]["Y"]["E"] = "ェ";
r2k["X"]["Y"]["O"] = "ョ";
r2k["C"]["Y"] = new Object();
r2k["C"]["Y"]["A"] = "チャ";
r2k["C"]["Y"]["I"] = "チィ";
r2k["C"]["Y"]["U"] = "チュ";
r2k["C"]["Y"]["E"] = "チェ";
r2k["C"]["Y"]["O"] = "チョ";
r2k["V"]["Y"] = new Object();
r2k["V"]["Y"]["A"] = "ヴャ";
r2k["V"]["Y"]["I"] = "ヴィ";
r2k["V"]["Y"]["U"] = "ヴュ";
r2k["V"]["Y"]["E"] = "ヴェ";
r2k["V"]["Y"]["O"] = "ヴョ";
r2k["B"]["Y"] = new Object();
r2k["B"]["Y"]["A"] = "ビャ";
r2k["B"]["Y"]["I"] = "ビィ";
r2k["B"]["Y"]["U"] = "ビュ";
r2k["B"]["Y"]["E"] = "ビェ";
r2k["B"]["Y"]["O"] = "ビョ";


r2k["S"]["H"] = new Object();
r2k["S"]["H"]["A"] = "シャ";
r2k["S"]["H"]["I"] = "シ";
r2k["S"]["H"]["U"] = "シュ";
r2k["S"]["H"]["E"] = "シェ";
r2k["S"]["H"]["O"] = "ショ";
r2k["T"]["H"] = new Object();
r2k["T"]["H"]["A"] = "テャ";
r2k["T"]["H"]["I"] = "ティ";
r2k["T"]["H"]["U"] = "テュ";
r2k["T"]["H"]["E"] = "テェ";
r2k["T"]["H"]["O"] = "テョ";

r2k["D"]["H"] = new Object();
r2k["D"]["H"]["A"] = "デャ";
r2k["D"]["H"]["I"] = "ディ";
r2k["D"]["H"]["U"] = "デュ";
r2k["D"]["H"]["E"] = "デェ";
r2k["D"]["H"]["O"] = "デョ";
r2k["C"]["H"] = new Object();
r2k["C"]["H"]["A"] = "チャ";
r2k["C"]["H"]["I"] = "チ";
r2k["C"]["H"]["U"] = "チュ";
r2k["C"]["H"]["E"] = "チェ";
r2k["C"]["H"]["O"] = "チョ";

r2k["X"]["W"] = new Object();
r2k["X"]["W"]["A"] = "ヮ";


// 特殊記号
r2k["."] = "。";
r2k[","] = "、";
r2k["["] = "「";
r2k["]"] = "」";
r2k["-"] = "ー";
r2k["~"] = "〜";
r2k["\\"] = "￥";


// 簡易漢字変換
// 正規表現に引っかかる文字を置換する。
function KanjiHenkan(regexp, result){
  this.regexp = new RegExp(regexp,"g");
  this.result = result;
}
kanji = new Array();

//kanji.push(new KanjiHenkan("(\\d)ねん", "$1年"));
//kanji.push(new KanjiHenkan("(\\d)がつ", "$1月"));
//kanji.push(new KanjiHenkan("(\\d)にち", "$1日"));
kanji.push(new KanjiHenkan("\\(わらい\\)", "(笑)"));
kanji.push(new KanjiHenkan("\\(くしょう\\)", "(苦笑)"));
kanji.push(new KanjiHenkan("\\(なく\\)", "(泣)"));
kanji.push(new KanjiHenkan("\\(ばく\\)", "(爆)"));
kanji.push(new KanjiHenkan("\\(あせ\\)", "(汗)"));
kanji.push(new KanjiHenkan("\\(えあせ\\)", "(^-^;"));
kanji.push(new KanjiHenkan("\\(えなく\\)", "(T-T)"));
kanji.push(new KanjiHenkan("\\(えぎゃふん\\)", "(>_<)"));
kanji.push(new KanjiHenkan("\\(えごめん\\)", "m(_ _)m"));
kanji.push(new KanjiHenkan("\\(えばんざい\\)", "＼(＾▽＾)／"));
kanji.push(new KanjiHenkan("\\(えがっくり\\)", "＿|￣|○"));
kanji.push(new KanjiHenkan("\\(ほし\\)", "☆"));
kanji.push(new KanjiHenkan("\\(おんぷ\\)", "♪"));
