#title=かなローマ字変換 #tooltip=選択文字列中のひらがなをローマ字に変換します。 KANA2TABLE = { "いぇ" : "YE", "うぃ" : "WI", "うぇ" : "WE", "う゛ぁ" : "VA", "う゛ぃ" : "VI", "う゛ぇ" : "VE", "う゛ぉ" : "VO", "う゛" : "VU", "きゃ" : "KYA", "きぃ" : "KYI", "きゅ" : "KYU", "きぇ" : "KYE", "きょ" : "KYO", "くぁ" : "KWA", "しゃ" : "SHA", "しぃ" : "SYI", "しゅ" : "SHU", "しぇ" : "SHE", "しょ" : "SHO", "ちゃ" : "CHA", "ちぃ" : "CYI", "ちゅ" : "CHU", "ちぇ" : "CHE", "ちょ" : "CHO", "てゃ" : "THA", "てぃ" : "THI", "てゅ" : "THU", "てぇ" : "THE", "てょ" : "THO", "にゃ" : "NYA", "にぃ" : "NYI", "にゅ" : "NYU", "にぇ" : "NYE", "にょ" : "NYO", "ひゃ" : "HYA", "ひぃ" : "HYI", "ひゅ" : "HYU", "ひぇ" : "HYE", "ひょ" : "HYO", "ふぁ" : "FA", "ふぃ" : "FI", "ふぇ" : "FE", "ふぉ" : "FO", "ふゃ" : "FYA", "ふゅ" : "FYU", "ふょ" : "FYO", "みゃ" : "MYA", "みぃ" : "MYI", "みゅ" : "MYU", "みぇ" : "MYE", "みょ" : "MYO", "りゃ" : "RYA", "りぃ" : "RYI", "りゅ" : "RYU", "りぇ" : "RYE", "りょ" : "RYO", "ぎゃ" : "GYA", "ぎぃ" : "GYI", "ぎゅ" : "GYU", "ぎぇ" : "GYE", "ぎょ" : "GYO", "じゃ" : "JA", "じぃ" : "JYI", "じゅ" : "JU", "じぇ" : "JE", "じょ" : "JO", "ぢゃ" : "DYA", "ぢぃ" : "DYI", "ぢゅ" : "DYU", "ぢぇ" : "DYE", "ぢょ" : "DYO", "でゃ" : "DHA", "でぃ" : "DHI", "でゅ" : "DHU", "でぇ" : "DHE", "でょ" : "DHO", "びゃ" : "BYA", "びぃ" : "BYI", "びゅ" : "BYU", "びぇ" : "BYE", "びょ" : "BYO", "ぴゃ" : "PYA", "ぴぃ" : "PYI", "ぴゅ" : "PYU", "ぴぇ" : "PYE", "ぴょ" : "PYO" }; KANA1TABLE = { "あ" : "A", "い" : "I", "う" : "U", "え" : "E", "お" : "O", "か" : "KA", "き" : "KI", "く" : "KU", "け" : "KE", "こ" : "KO", "さ" : "SA", "し" : "SHI", "す" : "SU", "せ" : "SE", "そ" : "SO", "た" : "TA", "ち" : "CHI", "つ" : "TSU", "て" : "TE", "と" : "TO", "な" : "NA", "に" : "NI", "ぬ" : "NU", "ね" : "NE", "の" : "NO", "は" : "HA", "ひ" : "HI", "ふ" : "FU", "へ" : "HE", "ほ" : "HO", "ま" : "MA", "み" : "MI", "む" : "MU", "め" : "ME", "も" : "MO", "や" : "YA", "ゆ" : "YU", "よ" : "YO", "ら" : "RA", "り" : "RI", "る" : "RU", "れ" : "RE", "ろ" : "RO", "わ" : "WA", "を" : "WO", "ん" : "NN", "が" : "GA", "ぎ" : "GI", "ぐ" : "GU", "げ" : "GE", "ご" : "GO", "ざ" : "ZA", "じ" : "JI", "ず" : "ZU", "ぜ" : "ZE", "ぞ" : "ZO", "だ" : "DA", "ぢ" : "DI", "づ" : "DU", "で" : "DE", "ど" : "DO", "ば" : "BA", "び" : "BI", "ぶ" : "BU", "べ" : "BE", "ぼ" : "BO", "ぱ" : "PA", "ぴ" : "PI", "ぷ" : "PU", "ぺ" : "PE", "ぽ" : "PO", "ぁ" : "LA", "ぃ" : "LI", "ぅ" : "LU", "ぇ" : "LE", "ぉ" : "LO", "っ" : "LTU", "," : ",", "、" : ",", "。" : ".", "ー" : "-" }; function kana2roman(src) { var result = ""; var i = 0; while (i < src.length) { var next = src.substr(i, 1); if (i + 1 < src.length) { if (next == "っ") { var right = kana2roman(src.substr(1, src.length - 1)); var right1 = right.substr(0, 1); if (right1.match(/[KSTNHMYRWGZJDBVCF]/)) { return result + right1 + right; } } else { var sub = KANA2TABLE[src.substr(i, 2)]; if (sub != null) { result += sub; i += 2; continue; } } } var sub = KANA1TABLE[next]; if (sub != null) { result += sub; } i += 1; } return result; } document.selection.Text = document.selection.Text.replace(/[ぁ-ゖ,、。ー]+/, kana2roman);