Romajiローマジ関数

本ページには広告が含まれています。

入力された文字列をローマ字またはひらがなに変換します。

構文
  1. UString = Romaji.Nippon( str )
  2. UString = Romaji.Kunrei( str )
  3. UString = Romaji.KunreiEx( str )
  4. UString = Romaji.Hepbum( str )
  5. UString = Romaji.English( str )
  6. UString = Romaji.Passport( str )
  7. UString = Romaji.PassportKuniei( str )
  8. UString = Romaji.Kana( str )
引数
str 必須
ローマ字に変換する文字列(Romaji.Kanaのみ日本語に変換する文字列)
戻り値
ローマ字またはかなに変換した文字列

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   str : ローマ字に変換する文字列(Romaji.Kanaのみ日本語に変換する文字列) 
// 【戻り値】
//   ローマ字またはかなに変換した文字列 
//////////////////////////////////////////////////
MODULE Romaji
	CONST RMJ_NIPPON = 1			// 日本式
	CONST RMJ_KUNREI = 2			// 訓令式
	CONST RMJ_KUNREIEX = 3			// 訓令式(拡張版)
	CONST RMJ_HEPBUM = 4			// ヘボン式
	CONST RMJ_ENGLISH = 5			// 英語式
	CONST RMJ_PASSPORT = 6			// パスポート式
	CONST RMJ_PASSPORTKUNREI = 7	// パスポート向け訓令式
	// 日本式
	FUNCTION Nippon(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_NIPPON)
		str = seion(str, RMJ_NIPPON)
		str = hatsuon(str, RMJ_NIPPON)
		str = sokuon(str, RMJ_NIPPON)
		str = chouon(str, RMJ_NIPPON)
		RESULT = str
	FEND
	// 訓令式
	FUNCTION Kunrei(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_KUNREI)
		str = seion(str, RMJ_KUNREI)
		str = hatsuon(str, RMJ_KUNREI)
		str = sokuon(str, RMJ_KUNREI)
		str = chouon(str, RMJ_KUNREI)
		RESULT = str
	FEND
	// 訓令式(拡張版)
	FUNCTION KunreiEx(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_KUNREIEX)
		str = seion(str, RMJ_KUNREIEX)
		str = hatsuon(str, RMJ_KUNREIEX)
		str = sokuon(str, RMJ_KUNREIEX)
		str = chouon(str, RMJ_KUNREIEX)
		RESULT = str
	FEND
	// ヘボン式
	FUNCTION Hepbum(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_HEPBUM)
		str = seion(str, RMJ_HEPBUM)
		str = hatsuon(str, RMJ_HEPBUM)
		str = sokuon(str, RMJ_HEPBUM)
		str = chouon(str, RMJ_HEPBUM)
		RESULT = str
	FEND
	// 英語式
	FUNCTION English(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_ENGLISH)
		str = seion(str, RMJ_ENGLISH)
		str = hatsuon(str, RMJ_ENGLISH)
		str = sokuon(str, RMJ_ENGLISH)
		str = chouon(str, RMJ_ENGLISH)
		RESULT = str
	FEND
	// パスポート式
	FUNCTION Passport(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_PASSPORT)
		str = seion(str, RMJ_PASSPORT)
		str = hatsuon(str, RMJ_PASSPORT)
		str = sokuon(str, RMJ_PASSPORT)
		str = chouon(str, RMJ_PASSPORT)
		RESULT = STRCONV(str, SC_UPPERCASE)
	FEND
	// パスポート向け訓令式
	FUNCTION PassportKunrei(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_PASSPORTKUNREI)
		str = seion(str, RMJ_PASSPORTKUNREI)
		str = hatsuon(str, RMJ_PASSPORTKUNREI)
		str = sokuon(str, RMJ_PASSPORTKUNREI)
		str = chouon(str, RMJ_PASSPORTKUNREI)
		RESULT = STRCONV(str, SC_UPPERCASE)
	FEND
	// 清音
	FUNCTION seion(str, type)
		str = Replaces(str, "ア イ ウ エ オ", "a i u e o")
		str = Replaces(str, "カ キ ク ケ コ", "ka ki ku ke ko")
		str = Replaces(str, "ナ ニ ヌ ネ ノ", "na ni nu ne no")
		str = Replaces(str, "マ ミ ム メ モ", "ma mi mu me mo")
		str = Replaces(str, "ラ リ ル レ ロ", "ra ri ru re ro")
		str = Replaces(str, "ヤ ユ ヨ", "ya yu yo")
		str = Replaces(str, "ガ ギ グ ゲ ゴ", "ga gi gu ge go")
		str = Replaces(str, "バ ビ ブ ベ ボ", "ba bi bu be bo")
		str = Replaces(str, "パ ピ プ ペ ポ", "pa pi pu pe po")
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa wi we wo")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da di du de do")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
				str = REPLACE(str, "ヴ", "bu")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
				str = REPLACE(str, "ヴ", "bu")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
				str = REPLACE(str, "ヴ", "bu")
		SELEND
		RESULT = str
	FEND
	// 拗音
	FUNCTION youon(str, type)
		str = Replaces(str, "キャ キュ キョ", "kya kyu kyo")
		str = Replaces(str, "ニャ ニュ ニョ", "nya nyu nyo")
		str = Replaces(str, "ヒャ ヒュ ヒョ", "hya hyu hyo")
		str = Replaces(str, "ミャ ミュ ミョ", "mya myu myo")
		str = Replaces(str, "リャ リュ リョ", "rya ryu ryo")
		str = Replaces(str, "ギャ ギュ ギョ", "gya gyu gyo")
		str = Replaces(str, "ビャ ビュ ビョ", "bya byu byo")
		str = Replaces(str, "ピャ ピュ ピョ", "pya pyu pyo")
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "dya dyu dyo")
				str = Replaces(str, "クヮ グヮ", "kwa gwa")
				str = Replaces(str, "スィ ティ トゥ", "s'i t'i t'u")
				str = Replaces(str, "ズィ ディ ドゥ", "z'i d'i d'u")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				str = Replaces(str, "スィ ティ トゥ", "s'i t'i t'u")
				str = Replaces(str, "ズィ ディ ドゥ", "z'i d'i d'u")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "イャ イュ イョ", "ya yu yo")
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				// 特殊音
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				str = Replaces(str, "イェ", "ye")
				str = Replaces(str, "キェ", "kye")
				str = Replaces(str, "シェ", "sye")
				str = Replaces(str, "チェ", "tye")
				str = Replaces(str, "ニェ", "nye")
				str = Replaces(str, "ヒェ", "hye")
				str = Replaces(str, "ミェ", "mye")
				str = Replaces(str, "リェ", "rye")
				str = Replaces(str, "ギェ", "gye")
				str = Replaces(str, "ジェ", "zye")
				str = Replaces(str, "ヂェ", "zye")
				str = Replaces(str, "ビェ", "bye")
				str = Replaces(str, "ピェ", "pye")
				str = REPLACE(str, "ヮ", "ァ")
				str = Replaces(str, "ウァ ウィ ウェ ウォ", "wa wi we wo")
				str = Replaces(str, "クァ クィ クェ クォ", "kwa kwi kwe kwo")
				str = Replaces(str, "スァ スィ スェ スォ", "swa swi swe swo")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "twa twi twe two")
				str = Replaces(str, "ヌァ ヌィ ヌェ ヌォ", "nwa nwi nwe nwo")
				str = Replaces(str, "ファ フィ フェ フォ", "hwa hwi hwe hwo")
				str = Replaces(str, "ムァ ムィ ムェ ムォ", "mwa mwi mwe mwo")
				str = Replaces(str, "ルァ ルィ ルェ ルォ", "rwa rwi rwe rwo")
				str = Replaces(str, "グァ グィ グェ グォ", "gwa gwi gwe gwo")
				str = Replaces(str, "ズァ ズィ ズェ ズォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ヅァ ヅィ ヅェ ヅォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ブァ ブィ ブェ ブォ", "bwa bwi bwe bwo")
				str = Replaces(str, "プァ プィ プェ プォ", "pwa pwi pwe pwo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "ba bi be bo")
				str = Replaces(str, "テャ ティ テュ テョ", "tja tji tju tjo")
				str = Replaces(str, "デャ ディ デュ デョ", "dja dji dju djo")
				str = Replaces(str, "トァ トィ トゥ トェ", "tva tvi tvu tve")
				str = Replaces(str, "ドァ ドィ ドゥ ドェ", "dva dvi dvu dve")
				str = Replaces(str, "フャ フュ フョ", "hwya hwyu hwyo")
				str = Replaces(str, "ブャ ブュ ブョ", "bwya bwyu bwyo")
				str = Replaces(str, "ヴャ ヴュ ヴョ", "bwya bwyu bwyo")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
				// 特殊音
				str = Replaces(str, "イェ ウィ ウェ ウォ", "ie ui ue uo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "bua bui bue buo")
				str = Replaces(str, "クァ クィ クェ クォ", "kua kui kue kuo")
				str = Replaces(str, "グァ グィ グェ グォ", "gua gui gue guo")
				str = Replaces(str, "ジェ チェ", "jie chie")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "tsua tsui tsue tsuo")
				str = Replaces(str, "ティ ディ デュ ドゥ", "tei dei deyu dou")
				str = Replaces(str, "ファ フィ フェ フォ", "fua fui fue fuo")
				str = Replaces(str, "フョ", "fuyo")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "イャ イュ イョ", "ya yu yo")
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				// 特殊音
				str = Replaces(str, "イェ", "ye")
				str = Replaces(str, "キェ", "kye")
				str = Replaces(str, "シェ", "sye")
				str = Replaces(str, "チェ", "tye")
				str = Replaces(str, "ニェ", "nye")
				str = Replaces(str, "ヒェ", "hye")
				str = Replaces(str, "ミェ", "mye")
				str = Replaces(str, "リェ", "rye")
				str = Replaces(str, "ギェ", "gye")
				str = Replaces(str, "ジェ", "zye")
				str = Replaces(str, "ヂェ", "zye")
				str = Replaces(str, "ビェ", "bye")
				str = Replaces(str, "ピェ", "pye")
				str = REPLACE(str, "ヮ", "ァ")
				str = Replaces(str, "ウァ ウィ ウェ ウォ", "wa wi we wo")
				str = Replaces(str, "クァ クィ クェ クォ", "kwa kwi kwe kwo")
				str = Replaces(str, "スァ スィ スェ スォ", "swa swi swe swo")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "twa twi twe two")
				str = Replaces(str, "ヌァ ヌィ ヌェ ヌォ", "nwa nwi nwe nwo")
				str = Replaces(str, "ファ フィ フェ フォ", "hwa hwi hwe hwo")
				str = Replaces(str, "ムァ ムィ ムェ ムォ", "mwa mwi mwe mwo")
				str = Replaces(str, "ルァ ルィ ルェ ルォ", "rwa rwi rwe rwo")
				str = Replaces(str, "グァ グィ グェ グォ", "gwa gwi gwe gwo")
				str = Replaces(str, "ズァ ズィ ズェ ズォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ヅァ ヅィ ヅェ ヅォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ブァ ブィ ブェ ブォ", "bwa bwi bwe bwo")
				str = Replaces(str, "プァ プィ プェ プォ", "pwa pwi pwe pwo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "ba bi be bo")
				str = Replaces(str, "テャ ティ テュ テョ", "tja tji tju tjo")
				str = Replaces(str, "デャ ディ デュ デョ", "dja dji dju djo")
				str = Replaces(str, "トァ トィ トゥ トェ", "tva tvi tvu tve")
				str = Replaces(str, "ドァ ドィ ドゥ ドェ", "dva dvi dvu dve")
				str = Replaces(str, "フャ フュ フョ", "hwya hwyu hwyo")
				str = Replaces(str, "ブャ ブュ ブョ", "bwya bwyu bwyo")
				str = Replaces(str, "ヴャ ヴュ ヴョ", "bwya bwyu bwyo")
		SELEND
		RESULT = str
	FEND
	// 撥音
	FUNCTION hatsuon(str, type)
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n'a n'i n'u n'e n'o n'y")
				str = REPLACE(str, "ン", "n")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n'a n'i n'u n'e n'o n'y")
				str = REPLACE(str, "ン", "n")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy ンw", "n'a n'i n'u n'e n'o n'y n'w")
				str = REPLACE(str, "ン", "n")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n-a n-i n-u n-e n-o n-y")
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// 英語式
			CASE RMJ_ENGLISH
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// パスポート式
			CASE RMJ_PASSPORT
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy ンw", "n'a n'i n'u n'e n'o n'y n'w")
				str = REPLACE(str, "ン", "n")
		SELEND
		RESULT = str
	FEND
	// 促音
	FUNCTION sokuon(str, type)
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "'")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt n hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt n hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "q")
		SELEND
		RESULT = str
	FEND
	// 長音
	FUNCTION chouon(str, type)
		DIM aa = "â";	DIM ii = "î";	DIM uu = "û";	DIM ee = "ê";	DIM oo = "ô"
		SELECT TRUE
			// 日本式・訓令式・訓令式(拡張版)・ヘボン式
			CASE type = RMJ_NIPPON OR type = RMJ_KUNREI OR type = RMJ_KUNREIEX OR type = RMJ_HEPBUM
				str = REPLACE(str, "aー", aa)
				str = REPLACE(str, "iー", ii)
				str = REPLACE(str, "uー", uu)
				str = REPLACE(str, "eー", ee)
				str = REPLACE(str, "oー", oo)
			// 英語式・パスポート式
			CASE type = RMJ_ENGLISH OR type = RMJ_PASSPORT
				str = REPLACE(str, "iー", "ii")
				str = REPLACE(str, "ー", "")
			// パスポート向け訓令式
			CASE type = RMJ_PASSPORTKUNREI
				str = REPLACE(str, "aー", aa)
				str = REPLACE(str, "iー", ii)
				str = REPLACE(str, "uー", uu)
				str = REPLACE(str, "eー", ee)
				str = REPLACE(str, "oー", oo)
				str = REPLACE(str, aa + aa, aa + "'" + aa)
				str = REPLACE(str, ii + ii, ii + "'" + ii)
				str = REPLACE(str, uu + uu, uu + "'" + uu)
				str = REPLACE(str, ee + ee, ee + "'" + ee)
				str = REPLACE(str, oo + oo, oo + "'" + oo)
				str = REPLACE(str, aa + "a", aa + "'a")
				str = REPLACE(str, ii + "i", ii + "'i")
				str = REPLACE(str, uu + "u", uu + "'u")
				str = REPLACE(str, ee + "e", ee + "'e")
				str = REPLACE(str, oo + "o", oo + "'o")
				str = REPLACE(str, "a" + aa, "a'" + aa)
				str = REPLACE(str, "i" + ii, "i'" + ii)
				str = REPLACE(str, "u" + uu, "u'" + uu)
				str = REPLACE(str, "e" + ee, "e'" + ee)
				str = REPLACE(str, "o" + oo, "o'" + oo)
				str = REPLACE(str, aa, "aa")
				str = REPLACE(str, ii, "ii")
				str = REPLACE(str, uu, "uu")
				str = REPLACE(str, ee, "ee")
				str = REPLACE(str, oo, "oo")
		SELEND
		RESULT = str
	FEND
	FUNCTION Kana(str)
		// 長音
		str = Replaces(str, "â î û ê ô", "aー iー uー eー oー")
		// 撥音(追加)
		str = Replaces(str, "nna nni nnu nne nno", "ンナ ンニ ンヌ ンネ ンノ")
		// 撥音
		str = Replaces(str, "qa qi qu qe qo", "ッa ッi ッu ッe ッo")
		str = Replaces(str, "kk ss tt qn hh mm yy rr ww", "ッk ッs ッt ッn ッh ッm ッy ッr ッw")
		str = Replaces(str, "gg zz dd bb pp", "ッg ッz ッd ッb ッp")
		str = Replaces(str, "tc ff jj", "ッc ッf ッj")
		str = Replaces(str, "kk ss tt n hh mm yy rr ww", "ッk ッs ッt ッn ッh ッm ッy ッr ッw")
		// 清音
		str = Replaces(str, "ka ki ku ke ko", "カ キ ク ケ コ")
		str = Replaces(str, "na ni nu ne no", "ナ ニ ヌ ネ ノ")
		str = Replaces(str, "ma mi mu me mo", "マ ミ ム メ モ")
		str = Replaces(str, "ra ri ru re ro", "ラ リ ル レ ロ")
		str = Replaces(str, "ya yu yo", "ヤ ユ ヨ")
		// 清音(重複)
		str = Replaces(str, "sa si su se so", "サ シ ス セ ソ")
		str = Replaces(str, "ta ti tu te to", "タ チ ツ テ ト")
		str = Replaces(str, "ha hi hu he ho", "ハ ヒ フ ヘ ホ")
		str = Replaces(str, "sa shi su se so", "サ シ ス セ ソ")
		str = Replaces(str, "ta chi tsu te to", "タ チ ツ テ ト")
		str = Replaces(str, "ha hi fu he ho", "ハ ヒ フ ヘ ホ")
		// 濁音・半濁音
		str = Replaces(str, "ga gi gu ge go", "ガ ギ グ ゲ ゴ")
		str = Replaces(str, "ba bi bu be bo", "バ ビ ブ ベ ボ")
		str = Replaces(str, "pa pi pu pe po", "パ ピ プ ペ ポ")
		str = Replaces(str, "za zi zu ze zo", "ザ ジ ズ ゼ ゾ")
		str = Replaces(str, "da di du de do", "ダ ヂ ヅ デ ド")
		str = Replaces(str, "da zi zu de do", "ダ ヂ ヅ デ ド")
		str = Replaces(str, "za ji zu ze zo", "ザ ジ ズ ゼ ゾ")
		str = Replaces(str, "da ji zu de do", "ダ ヂ ヅ デ ド")
		// 拗音
		str = Replaces(str, "kya kyu kyo", "キャ キュ キョ")
		str = Replaces(str, "nya nyu nyo", "ニャ ニュ ニョ")
		str = Replaces(str, "hya hyu hyo", "ヒャ ヒュ ヒョ")
		str = Replaces(str, "mya myu myo", "ミャ ミュ ミョ")
		str = Replaces(str, "rya ryu ryo", "リャ リュ リョ")
		str = Replaces(str, "gya gyu gyo", "ギャ ギュ ギョ")
		str = Replaces(str, "bya byu byo", "ビャ ビュ ビョ")
		str = Replaces(str, "pya pyu pyo", "ピャ ピュ ピョ")
		str = Replaces(str, "sya syu syo", "シャ シュ ショ")
		str = Replaces(str, "tya tyu tyo", "チャ チュ チョ")
		str = Replaces(str, "zya zyu zyo", "ジャ ジュ ジョ")
		str = Replaces(str, "dya dyu dyo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "kwa gwa", "クヮ グヮ")
		str = Replaces(str, "s'i t'i t'u", "スィ ティ トゥ")
		str = Replaces(str, "z'i d'i d'u", "ズィ ディ ドゥ")
		str = Replaces(str, "zya zyu zyo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "ya yu yo", "イャ イュ イョ")
		str = Replaces(str, "ye", "イェ")
		str = Replaces(str, "kye", "キェ")
		str = Replaces(str, "sye", "シェ")
		str = Replaces(str, "tye", "チェ")
		str = Replaces(str, "nye", "ニェ")
		str = Replaces(str, "hye", "ヒェ")
		str = Replaces(str, "mye", "ミェ")
		str = Replaces(str, "rye", "リェ")
		str = Replaces(str, "gye", "ギェ")
		str = Replaces(str, "zye", "ジェ")
		str = Replaces(str, "zye", "ヂェ")
		str = Replaces(str, "bye", "ビェ")
		str = Replaces(str, "pye", "ピェ")
		str = Replaces(str, "wa wi we wo", "ウァ ウィ ウェ ウォ")
		str = Replaces(str, "kwa kwi kwe kwo", "クァ クィ クェ クォ")
		str = Replaces(str, "swa swi swe swo", "スァ スィ スェ スォ")
		str = Replaces(str, "twa twi twe two", "ツァ ツィ ツェ ツォ")
		str = Replaces(str, "nwa nwi nwe nwo", "ヌァ ヌィ ヌェ ヌォ")
		str = Replaces(str, "hwa hwi hwe hwo", "ファ フィ フェ フォ")
		str = Replaces(str, "mwa mwi mwe mwo", "ムァ ムィ ムェ ムォ")
		str = Replaces(str, "rwa rwi rwe rwo", "ルァ ルィ ルェ ルォ")
		str = Replaces(str, "gwa gwi gwe gwo", "グァ グィ グェ グォ")
		str = Replaces(str, "zwa zwi zwe zwo", "ズァ ズィ ズェ ズォ")
		str = Replaces(str, "zwa zwi zwe zwo", "ヅァ ヅィ ヅェ ヅォ")
		str = Replaces(str, "bwa bwi bwe bwo", "ブァ ブィ ブェ ブォ")
		str = Replaces(str, "pwa pwi pwe pwo", "プァ プィ プェ プォ")
		str = Replaces(str, "ba bi be bo", "ヴァ ヴィ ヴェ ヴォ")
		str = Replaces(str, "tja tji tju tjo", "テャ ティ テュ テョ")
		str = Replaces(str, "dja dji dju djo", "デャ ディ デュ デョ")
		str = Replaces(str, "tva tvi tvu tve", "トァ トィ トゥ トェ")
		str = Replaces(str, "dva dvi dvu dve", "ドァ ドィ ドゥ ドェ")
		str = Replaces(str, "hwya hwyu hwyo", "フャ フュ フョ")
		str = Replaces(str, "bwya bwyu bwyo", "ブャ ブュ ブョ")
		str = Replaces(str, "bwya bwyu bwyo", "ヴャ ヴュ ヴョ")
		str = Replaces(str, "sha shu sho", "シャ シュ ショ")
		str = Replaces(str, "cha chu cho", "チャ チュ チョ")
		str = Replaces(str, "ja ju jo", "ジャ ジュ ジョ")
		str = Replaces(str, "ja ju jo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "ie ui ue uo", "イェ ウィ ウェ ウォ")
		str = Replaces(str, "bua bui bue buo", "ヴァ ヴィ ヴェ ヴォ")
		str = Replaces(str, "kua kui kue kuo", "クァ クィ クェ クォ")
		str = Replaces(str, "gua gui gue guo", "グァ グィ グェ グォ")
		str = Replaces(str, "jie chie", "ジェ チェ")
		str = Replaces(str, "tsua tsui tsue tsuo", "ツァ ツィ ツェ ツォ")
		str = Replaces(str, "tei dei deyu dou", "ティ ディ デュ ドゥ")
		str = Replaces(str, "fua fui fue fuo", "ファ フィ フェ フォ")
		str = Replaces(str, "fuyo", "フョ")
		str = REPLACE(str, "ァ", "ヮ")
		str = Replaces(str, "n-a n-i n-u n-e n-o n-y", "ンa ンi ンu ンe ンo ンy")
		str = Replaces(str, "mb mm mp", "nb nm np")
		str = Replaces(str, "n'a n'i n'u n'e n'o n'y n'w", "ンa ンi ンu ンe ンo ンy ンw")
		// 母音
		str = Replaces(str, "a i u e o", "ア イ ウ エ オ")
		str = Replaces(str, "wa i e o", "ワ ヰ ヱ ヲ")
		RESULT = str
	FEND
ENDMODULE

FUNCTION Replaces(a, b, c)
	DIM arr1 = SPLIT(b)
	DIM arr2 = SPLIT(c)
	FOR i = 0 TO RESIZE(arr1)
		a = REPLACE(a, arr1[i], arr2[i])
	NEXT
	RESULT = a
FEND

使い方

Romaji.Nippon

引数に指定した"かな"を日本式ローマ字に変換します。

  1. 撥音はつおん(ん)は「n」で表します。「n」の直後に「a,i,u,e,o,y」が続くときは「n」の後ろに「'(アポストロフィ)」を入れます。
  2. 長音ちょうおん(ー)は母音に「^(サーカムフレックス)」をつけます。
  3. 促音そくおん(っ)は次にくる子音を重ねて記述します。
赤字は方式により書き方が違うものです。
aiueo
kakikukeko
gagigugego
sasisuseso
zazizuzezo
tatituteto
dadidudedo
naninuneno
hahihuheho
babibubebo
papipupepo
mamimumemo
ya-イィyu-イェyo
rarirurero
wawiwewo
キャkyaキャ-キィkyuキュ-キェkyoキョ
ギャgyaギャ-ギィgyuギュ-ギェgyoギョ
シャsyaシャ-シィsyuシュ-シェsyoショ
ジャzyaジャ-ジィzyuジュ-ジェzyoジョ
チャtyaチャ-チィtyuチュ-チェtyoチョ
ヂャdyaヂャ-ヂィdyuヂュ-ヂェdyoヂョ
テャ-テャ-ティ-テュ-テェ-テョ
デャ-デャ-ディ-デュ-デェ-デョ
ニャnyaニャ-ニィnyuニュ-ニェnyoニョ
ヒャhyaヒャ-ヒィhyuヒュ-ヒェhyoヒョ
ビャbyaビャ-ビィbyuビュ-ビェbyoビョ
ピャpyaピャ-ピィpyuピュ-ピェpyoピョ
フャ-フャ-フュ-フョ
ヴャ-ヴャ-ヴュ-ヴョ
ミャmyaミャ-ミィmyuミュ-ミェmyoミョ
リャryaリャ-リィryuリュ-リェryoリョ
ウァ-ウァ-ウィ-ウゥ-ウェ-ウォ
ヴァ-ヴァ-ヴィ--ヴェ-ヴォ
クァ-クァ-クィ-クゥ-クェ-クォ
グァ-グァ-グィ-グゥ-グェ-グォ
スァ-スァ-スィ-スゥ-スェ-スォ
ズァ-ズァ-ズィ-ズゥ-ズェ-ズォ
ツァ-ツァ-ツィ-ツゥ-ツェ-ツォ
ヅァ-ヅァ-ヅィ-ヅゥ-ヅェ-ヅォ
トァ-トァ-トィ-トゥ-トェ-トォ
ドァ-ドァ-ドィ-ドゥ-ドェ-ドォ
ヌァ-ヌァ-ヌィ-ヌゥ-ヌェ-ヌォ
ファ-ファ-フィ-フゥ-フェ-フォ
ブァ-ブァ-ブィ-ブゥ-ブェ-ブォ
プァ-プァ-プィ-プゥ-プェ-プォ
ホァ-ホァ-ホィ-ホゥ-ホェ-ホォ
ムァ-ムァ-ムィ-ムゥ-ムェ-ムォ
ルァ-ルァ-ルィ-ルゥ-ルェ-ルォ

Romaji.Kunrei

引数に指定した"かな"を訓令式ローマ字に変換します。

  1. 撥音はつおん(ん)は「n」で表します。「n」の直後に「a,i,u,e,o,y」が続くときは「n」の後ろに「'(アポストロフィ)」を入れます。
  2. 長音ちょうおん(ー)は母音に「^(サーカムフレックス)」をつけます。
  3. 促音そくおん(っ)は次にくる子音を重ねて記述します。
赤字は方式により書き方が違うものです。
aiueo
kakikukeko
gagigugego
sasisuseso
zazizuzezo
tatituteto
dazizudedo
naninuneno
hahihuheho
babibubebo
papipupepo
mamimumemo
ya-イィyu-イェyo
rarirurero
waieo
キャkyaキャ-キィkyuキュ-キェkyoキョ
ギャgyaギャ-ギィgyuギュ-ギェgyoギョ
シャsyaシャ-シィsyuシュ-シェsyoショ
ジャzyaジャ-ジィzyuジュ-ジェzyoジョ
チャtyaチャ-チィtyuチュ-チェtyoチョ
ヂャzyaヂャ-ヂィzyuヂュ-ヂェzyoヂョ
テャ-テャ-ティ-テュ-テェ-テョ
デャ-デャ-ディ-デュ-デェ-デョ
ニャnyaニャ-ニィnyuニュ-ニェnyoニョ
ヒャhyaヒャ-ヒィhyuヒュ-ヒェhyoヒョ
ビャbyaビャ-ビィbyuビュ-ビェbyoビョ
ピャpyaピャ-ピィpyuピュ-ピェpyoピョ
フャ-フャ-フュ-フョ
ヴャ-ヴャ-ヴュ-ヴョ
ミャmyaミャ-ミィmyuミュ-ミェmyoミョ
リャryaリャ-リィryuリュ-リェryoリョ
ウァ-ウァ-ウィ-ウゥ-ウェ-ウォ
ヴァ-ヴァ-ヴィ--ヴェ-ヴォ
クァ-クァ-クィ-クゥ-クェ-クォ
グァ-グァ-グィ-グゥ-グェ-グォ
スァ-スァ-スィ-スゥ-スェ-スォ
ズァ-ズァ-ズィ-ズゥ-ズェ-ズォ
ツァ-ツァ-ツィ-ツゥ-ツェ-ツォ
ヅァ-ヅァ-ヅィ-ヅゥ-ヅェ-ヅォ
トァ-トァ-トィ-トゥ-トェ-トォ
ドァ-ドァ-ドィ-ドゥ-ドェ-ドォ
ヌァ-ヌァ-ヌィ-ヌゥ-ヌェ-ヌォ
ファ-ファ-フィ-フゥ-フェ-フォ
ブァ-ブァ-ブィ-ブゥ-ブェ-ブォ
プァ-プァ-プィ-プゥ-プェ-プォ
ホァ-ホァ-ホィ-ホゥ-ホェ-ホォ
ムァ-ムァ-ムィ-ムゥ-ムェ-ムォ
ルァ-ルァ-ルィ-ルゥ-ルェ-ルォ

Romaji.KunreiEx

引数に指定した"かな"を訓令式ローマ字(拡張版)に変換します。

  1. 撥音はつおん(ん)は「n」で表します。「n」の直後に「a,i,u,e,o,y」が続くときは「n」の後ろに「'(アポストロフィ)」を入れます。
  2. 長音ちょうおん(ー)は母音に「^(サーカムフレックス)」をつけます。
  3. 促音そくおん(っ)は次にくる子音を重ねて記述します。
赤字は方式により書き方が違うものです。
aiueo
kakikukeko
gagigugego
sasisuseso
zazizuzezo
tatituteto
dazizudedo
naninuneno
hahihuheho
babibubebo
papipupepo
mamimumemo
ya-イィyuyeイェyo
rarirurero
waieo
キャkyaキャ-キィkyuキュkyeキェkyoキョ
ギャgyaギャ-ギィgyuギュgyeギェgyoギョ
シャsyaシャ-シィsyuシュsyeシェsyoショ
ジャzyaジャ-ジィzyuジュzyeジェzyoジョ
チャtyaチャ-チィtyuチュtyeチェtyoチョ
ヂャzyaヂャ-ヂィzyuヂュzyeヂェzyoヂョ
テャtjaテャtjiティtjuテュ-テェtjoテョ
デャdjaデャdjiディdjuデュ-デェdjoデョ
ニャnyaニャ-ニィnyuニュnyeニェnyoニョ
ヒャhyaヒャ-ヒィhyuヒュhyeヒェhyoヒョ
ビャbyaビャ-ビィbyuビュbyeビェbyoビョ
ピャpyaピャ-ピィpyuピュpyeピェpyoピョ
フャhwyaフャhwyuフュhwyoフョ
ヴャbwyaヴャbwyuヴュbwyoヴョ
ミャmyaミャ-ミィmyuミュmyeミェmyoミョ
リャryaリャ-リィryuリュryeリェryoリョ
ウァwaウァwiウィ-ウゥweウェwoウォ
ヴァbaヴァbiヴィbubeヴェboヴォ
クァkwaクァkwiクィ-クゥkweクェkwoクォ
グァgwaグァgwiグィ-グゥgweグェgwoグォ
スァswaスァswiスィ-スゥsweスェswoスォ
ズァzwaズァzwiズィ-ズゥzweズェzwoズォ
ツァtwaツァtwiツィ-ツゥtweツェtwoツォ
ヅァzwaヅァzwiヅィ-ヅゥzweヅェzwoヅォ
トァtvaトァtviトィtvuトゥtveトェ-トォ
ドァdvaドァdviドィdvuドゥdveドェ-ドォ
ヌァnwaヌァnwiヌィ-ヌゥnweヌェnwoヌォ
ファhwaファhwiフィ-フゥhweフェhwoフォ
ブァbwaブァbwiブィ-ブゥbweブェbwoブォ
プァpwaプァpwiプィ-プゥpweプェpwoプォ
ホァ-ホァ-ホィ-ホゥ-ホェ-ホォ
ムァmwaムァmwiムィ-ムゥmweムェmwoムォ
ルァrwaルァrwiルィ-ルゥrweルェrwoルォ

Romaji.Hepbum

引数に指定した"かな"をヘボン式ローマ字に変換します。

  1. 撥音はつおん(ん)は「n」で表します。b,m,pの直前は「n」ではなく「m」で表記します。
  2. 長音ちょうおん(ー)は省略します。
  3. 促音そくおん(っ)は次にくる子音を重ねて記述します。
赤字は方式により書き方が違うものです。
aiueo
kakikukeko
gagigugego
sashisuseso
zajizuzezo
tachitsuteto
dajizudedo
naninuneno
hahifuheho
babibubebo
papipupepo
mamimumemo
ya-イィyu-イェyo
rarirurero
waieo
キャkyaキャ-キィkyuキュ-キェkyoキョ
ギャgyaギャ-ギィgyuギュ-ギェgyoギョ
シャshaシャ-シィshuシュ-シェshoショ
ジャjaジャ-ジィjuジュ-ジェjoジョ
チャchaチャ-チィchuチュ-チェchoチョ
ヂャjaヂャ-ヂィjuヂュ-ヂェjoヂョ
テャ-テャ-ティ-テュ-テェ-テョ
デャ-デャ-ディ-デュ-デェ-デョ
ニャnyaニャ-ニィnyuニュ-ニェnyoニョ
ヒャhyaヒャ-ヒィhyuヒュ-ヒェhyoヒョ
ビャbyaビャ-ビィbyuビュ-ビェbyoビョ
ピャpyaピャ-ピィpyuピュ-ピェpyoピョ
フャ-フャ-フュ-フョ
ヴャ-ヴャ-ヴュ-ヴョ
ミャmyaミャ-ミィmyuミュ-ミェmyoミョ
リャryaリャ-リィryuリュ-リェryoリョ
ウァ-ウァ-ウィ-ウゥ-ウェ-ウォ
ヴァ-ヴァ-ヴィ--ヴェ-ヴォ
クァ-クァ-クィ-クゥ-クェ-クォ
グァ-グァ-グィ-グゥ-グェ-グォ
スァ-スァ-スィ-スゥ-スェ-スォ
ズァ-ズァ-ズィ-ズゥ-ズェ-ズォ
ツァ-ツァ-ツィ-ツゥ-ツェ-ツォ
ヅァ-ヅァ-ヅィ-ヅゥ-ヅェ-ヅォ
トァ-トァ-トィ-トゥ-トェ-トォ
ドァ-ドァ-ドィ-ドゥ-ドェ-ドォ
ヌァ-ヌァ-ヌィ-ヌゥ-ヌェ-ヌォ
ファ-ファ-フィ-フゥ-フェ-フォ
ブァ-ブァ-ブィ-ブゥ-ブェ-ブォ
プァ-プァ-プィ-プゥ-プェ-プォ
ホァ-ホァ-ホィ-ホゥ-ホェ-ホォ
ムァ-ムァ-ムィ-ムゥ-ムェ-ムォ
ルァ-ルァ-ルィ-ルゥ-ルェ-ルォ

Romaji.English

引数に指定した"かな"を英語式ローマ字に変換します。

赤字は方式により書き方が違うものです。
aiueo
kakikukeko
gagigugego
sashisuseso
zajizuzezo
tachitsuteto
dajizudedo
naninuneno
hahifuheho
babibubebo
papipupepo
mamimumemo
ya-イィyu-イェyo
rarirurero
waieo
キャkyaキャ-キィkyuキュ-キェkyoキョ
ギャgyaギャ-ギィgyuギュ-ギェgyoギョ
シャshaシャ-シィshuシュ-シェshoショ
ジャjaジャ-ジィjuジュ-ジェjoジョ
チャchaチャ-チィchuチュ-チェchoチョ
ヂャjaヂャ-ヂィjuヂュ-ヂェjoヂョ
テャ-テャ-ティ-テュ-テェ-テョ
デャ-デャ-ディ-デュ-デェ-デョ
ニャnyaニャ-ニィnyuニュ-ニェnyoニョ
ヒャhyaヒャ-ヒィhyuヒュ-ヒェhyoヒョ
ビャbyaビャ-ビィbyuビュ-ビェbyoビョ
ピャpyaピャ-ピィpyuピュ-ピェpyoピョ
フャ-フャ-フュ-フョ
ヴャ-ヴャ-ヴュ-ヴョ
ミャmyaミャ-ミィmyuミュ-ミェmyoミョ
リャryaリャ-リィryuリュ-リェryoリョ
ウァ-ウァ-ウィ-ウゥ-ウェ-ウォ
ヴァ-ヴァ-ヴィ--ヴェ-ヴォ
クァ-クァ-クィ-クゥ-クェ-クォ
グァ-グァ-グィ-グゥ-グェ-グォ
スァ-スァ-スィ-スゥ-スェ-スォ
ズァ-ズァ-ズィ-ズゥ-ズェ-ズォ
ツァ-ツァ-ツィ-ツゥ-ツェ-ツォ
ヅァ-ヅァ-ヅィ-ヅゥ-ヅェ-ヅォ
トァ-トァ-トィ-トゥ-トェ-トォ
ドァ-ドァ-ドィ-ドゥ-ドェ-ドォ
ヌァ-ヌァ-ヌィ-ヌゥ-ヌェ-ヌォ
ファ-ファ-フィ-フゥ-フェ-フォ
ブァ-ブァ-ブィ-ブゥ-ブェ-ブォ
プァ-プァ-プィ-プゥ-プェ-プォ
ホァ-ホァ-ホィ-ホゥ-ホェ-ホォ
ムァ-ムァ-ムィ-ムゥ-ムェ-ムォ
ルァ-ルァ-ルィ-ルゥ-ルェ-ルォ

Romaji.Passport

引数に指定した"かな"をパスポート式ローマ字に変換します。

赤字は方式により書き方が違うものです。
AIUEO
KAKIKUKEKO
GAGIGUGEGO
SASHISUSESO
ZAJIZUZEZO
TACHITSUTETO
DAJIZUDEDO
NANINUNENO
HAHIFUHEHO
BABIBUBEBO
PAPIPUPEPO
MAMIMUMEMO
YA-イィYUIEイェYO
RARIRURERO
WAIEO
キャKYAキャ-キィKYUキュ-キェKYOキョ
ギャGYAギャ-ギィGYUギュ-ギェGYOギョ
シャSHAシャ-シィSHUシュ-シェSHOショ
ジャJAジャ-ジィJUジュJIEジェJOジョ
チャCHAチャ-チィCHUチュCHIEチェCHOチョ
ヂャJAヂャ-ヂィJUヂュ-ヂェJOヂョ
テャ-テャTEIティ-テュ-テェ-テョ
デャ-デャDEIディDEYUデュ-デェ-デョ
ニャNYAニャ-ニィNYUニュ-ニェNYOニョ
ヒャHYAヒャ-ヒィHYUヒュ-ヒェHYOヒョ
ビャBYAビャ-ビィBYUビュ-ビェBYOビョ
ピャPYAピャ-ピィPYUピュ-ピェPYOピョ
フャ-フャ-フュFUYOフョ
ヴャ-ヴャ-ヴュ-ヴョ
ミャMYAミャ-ミィMYUミュ-ミェMYOミョ
リャRYAリャ-リィRYUリュ-リェRYOリョ
ウァ-ウァUIウィ-ウゥUEウェUOウォ
ヴァBUAヴァBUIヴィBUBUEヴェBUOヴォ
クァKUAクァKUIクィ-クゥKUEクェKUOクォ
グァGUAグァGUIグィ-グゥGUEグェGUOグォ
スァ-スァ-スィ-スゥ-スェ-スォ
ズァ-ズァ-ズィ-ズゥ-ズェ-ズォ
ツァTSUAツァTSUIツィ-ツゥTSUEツェTSUOツォ
ヅァ-ヅァ-ヅィ-ヅゥ-ヅェ-ヅォ
トァ-トァ-トィ-トゥ-トェ-トォ
ドァ-ドァ-ドィDOUドゥ-ドェ-ドォ
ヌァ-ヌァ-ヌィ-ヌゥ-ヌェ-ヌォ
ファFUAファFUIフィ-フゥFUEフェFUOフォ
ブァ-ブァ-ブィ-ブゥ-ブェ-ブォ
プァ-プァ-プィ-プゥ-プェ-プォ
ホァ-ホァ-ホィ-ホゥ-ホェ-ホォ
ムァ-ムァ-ムィ-ムゥ-ムェ-ムォ
ルァ-ルァ-ルィ-ルゥ-ルェ-ルォ

Romaji.PassportKunrei

引数に指定した"かな"をパスポート向け訓令式ローマ字に変換します。

  1. 書き方は基本的に訓令式と同じです。
  2. 撥音はつおん(ん)は「n」で表します。「n」の直後に「a,i,u,e,o,y」が続くときは「n」の後ろに「'(アポストロフィ)」を入れます。
  3. 長音ちょうおん(ー)は母音を重ねます。
  4. 促音そくおん(っ)は次にくる子音を重ねて記述します。
赤字は方式により書き方が違うものです。
AIUEO
KAKIKUKEKO
GAGIGUGEGO
SASISUSESO
ZAZIZUZEZO
TATITUTETO
DAZIZUDEDO
NANINUNENO
HAHIHUHEHO
BABIBUBEBO
PAPIPUPEPO
MAMIMUMEMO
YA-イィYUYEイェYO
RARIRURERO
WAIEO
キャKYAキャ-キィKYUキュKYEキェKYOキョ
ギャGYAギャ-ギィGYUギュGYEギェGYOギョ
シャSYAシャ-シィSYUシュSYEシェSYOショ
ジャZYAジャ-ジィZYUジュZYEジェZYOジョ
チャTYAチャ-チィTYUチュTYEチェTYOチョ
ヂャZYAヂャ-ヂィZYUヂュZYEヂェZYOヂョ
テャTJAテャTJIティTJUテュ-テェTJOテョ
デャDJAデャDJIディDJUデュ-デェDJOデョ
ニャNYAニャ-ニィNYUニュNYEニェNYOニョ
ヒャHYAヒャ-ヒィHYUヒュHYEヒェHYOヒョ
ビャBYAビャ-ビィBYUビュBYEビェBYOビョ
ピャPYAピャ-ピィPYUピュPYEピェPYOピョ
フャHWYAフャHWYUフュHWYOフョ
ヴャBWYAヴャBWYUヴュBWYOヴョ
ミャMYAミャ-ミィMYUミュMYEミェMYOミョ
リャRYAリャ-リィRYUリュRYEリェRYOリョ
ウァWAウァWIウィ-ウゥWEウェWOウォ
ヴァBAヴァBIヴィBUBEヴェBOヴォ
クァKWAクァKWIクィ-クゥKWEクェKWOクォ
グァGWAグァGWIグィ-グゥGWEグェGWOグォ
スァSWAスァSWIスィ-スゥSWEスェSWOスォ
ズァZWAズァZWIズィ-ズゥZWEズェZWOズォ
ツァTWAツァTWIツィ-ツゥTWEツェTWOツォ
ヅァZWAヅァZWIヅィ-ヅゥZWEヅェZWOヅォ
トァTVAトァTVIトィTVUトゥTVEトェ-トォ
ドァDVAドァDVIドィDVUドゥDVEドェ-ドォ
ヌァNWAヌァNWIヌィ-ヌゥNWEヌェNWOヌォ
ファHWAファHWIフィ-フゥHWEフェHWOフォ
ブァBWAブァBWIブィ-ブゥBWEブェBWOブォ
プァPWAプァPWIプィ-プゥPWEプェPWOプォ
ホァ-ホァ-ホィ-ホゥ-ホェ-ホォ
ムァMWAムァMWIムィ-ムゥMWEムェMWOムォ
ルァRWAルァRWIルィ-ルゥRWEルェRWOルォ

Romaji.Kana

引数に指定した文字列を"かな"に変換します。

プログラム実行例

かなをローマ字に変換

arrayに指定された文字列を日本式・訓令式・訓令式(拡張)・英語式・パスポート式・パスポート式(拡張)のローマ字に変換します。

UWSC
DIM array[] = "とけい", "ざっし", "スケート", "やっきょく", "ボールペン"

FOR item IN array
	WITH Romaji
		PRINT "日本式," + .Nippon(item)
		PRINT "訓令式," + .Kunrei(item)
		PRINT "訓令式(拡張)," + .KunreiEx(item)
		PRINT "英語式," + .English(item)
		PRINT "パスポート式," + .Passport(item)
		PRINT "パスポート式(拡張)," + .PassportKunrei(item)
		PRINT "----------"
	ENDWITH
NEXT

//////////////////////////////////////////////////
// 【引数】
//   str : ローマ字に変換する文字列(Romaji.Kanaのみ日本語に変換する文字列) 
// 【戻り値】
//   ローマ字またはかなに変換した文字列 
//////////////////////////////////////////////////
MODULE Romaji
	CONST RMJ_NIPPON = 1			// 日本式
	CONST RMJ_KUNREI = 2			// 訓令式
	CONST RMJ_KUNREIEX = 3			// 訓令式(拡張版)
	CONST RMJ_HEPBUM = 4			// ヘボン式
	CONST RMJ_ENGLISH = 5			// 英語式
	CONST RMJ_PASSPORT = 6			// パスポート式
	CONST RMJ_PASSPORTKUNREI = 7	// パスポート向け訓令式
	// 日本式
	FUNCTION Nippon(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_NIPPON)
		str = seion(str, RMJ_NIPPON)
		str = hatsuon(str, RMJ_NIPPON)
		str = sokuon(str, RMJ_NIPPON)
		str = chouon(str, RMJ_NIPPON)
		RESULT = str
	FEND
	// 訓令式
	FUNCTION Kunrei(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_KUNREI)
		str = seion(str, RMJ_KUNREI)
		str = hatsuon(str, RMJ_KUNREI)
		str = sokuon(str, RMJ_KUNREI)
		str = chouon(str, RMJ_KUNREI)
		RESULT = str
	FEND
	// 訓令式(拡張版)
	FUNCTION KunreiEx(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_KUNREIEX)
		str = seion(str, RMJ_KUNREIEX)
		str = hatsuon(str, RMJ_KUNREIEX)
		str = sokuon(str, RMJ_KUNREIEX)
		str = chouon(str, RMJ_KUNREIEX)
		RESULT = str
	FEND
	// ヘボン式
	FUNCTION Hepbum(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_HEPBUM)
		str = seion(str, RMJ_HEPBUM)
		str = hatsuon(str, RMJ_HEPBUM)
		str = sokuon(str, RMJ_HEPBUM)
		str = chouon(str, RMJ_HEPBUM)
		RESULT = str
	FEND
	// 英語式
	FUNCTION English(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_ENGLISH)
		str = seion(str, RMJ_ENGLISH)
		str = hatsuon(str, RMJ_ENGLISH)
		str = sokuon(str, RMJ_ENGLISH)
		str = chouon(str, RMJ_ENGLISH)
		RESULT = str
	FEND
	// パスポート式
	FUNCTION Passport(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_PASSPORT)
		str = seion(str, RMJ_PASSPORT)
		str = hatsuon(str, RMJ_PASSPORT)
		str = sokuon(str, RMJ_PASSPORT)
		str = chouon(str, RMJ_PASSPORT)
		RESULT = STRCONV(str, SC_UPPERCASE)
	FEND
	// パスポート向け訓令式
	FUNCTION PassportKunrei(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_PASSPORTKUNREI)
		str = seion(str, RMJ_PASSPORTKUNREI)
		str = hatsuon(str, RMJ_PASSPORTKUNREI)
		str = sokuon(str, RMJ_PASSPORTKUNREI)
		str = chouon(str, RMJ_PASSPORTKUNREI)
		RESULT = STRCONV(str, SC_UPPERCASE)
	FEND
	// 清音
	FUNCTION seion(str, type)
		str = Replaces(str, "ア イ ウ エ オ", "a i u e o")
		str = Replaces(str, "カ キ ク ケ コ", "ka ki ku ke ko")
		str = Replaces(str, "ナ ニ ヌ ネ ノ", "na ni nu ne no")
		str = Replaces(str, "マ ミ ム メ モ", "ma mi mu me mo")
		str = Replaces(str, "ラ リ ル レ ロ", "ra ri ru re ro")
		str = Replaces(str, "ヤ ユ ヨ", "ya yu yo")
		str = Replaces(str, "ガ ギ グ ゲ ゴ", "ga gi gu ge go")
		str = Replaces(str, "バ ビ ブ ベ ボ", "ba bi bu be bo")
		str = Replaces(str, "パ ピ プ ペ ポ", "pa pi pu pe po")
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa wi we wo")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da di du de do")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
				str = REPLACE(str, "ヴ", "bu")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
				str = REPLACE(str, "ヴ", "bu")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
				str = REPLACE(str, "ヴ", "bu")
		SELEND
		RESULT = str
	FEND
	// 拗音
	FUNCTION youon(str, type)
		str = Replaces(str, "キャ キュ キョ", "kya kyu kyo")
		str = Replaces(str, "ニャ ニュ ニョ", "nya nyu nyo")
		str = Replaces(str, "ヒャ ヒュ ヒョ", "hya hyu hyo")
		str = Replaces(str, "ミャ ミュ ミョ", "mya myu myo")
		str = Replaces(str, "リャ リュ リョ", "rya ryu ryo")
		str = Replaces(str, "ギャ ギュ ギョ", "gya gyu gyo")
		str = Replaces(str, "ビャ ビュ ビョ", "bya byu byo")
		str = Replaces(str, "ピャ ピュ ピョ", "pya pyu pyo")
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "dya dyu dyo")
				str = Replaces(str, "クヮ グヮ", "kwa gwa")
				str = Replaces(str, "スィ ティ トゥ", "s'i t'i t'u")
				str = Replaces(str, "ズィ ディ ドゥ", "z'i d'i d'u")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				str = Replaces(str, "スィ ティ トゥ", "s'i t'i t'u")
				str = Replaces(str, "ズィ ディ ドゥ", "z'i d'i d'u")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "イャ イュ イョ", "ya yu yo")
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				// 特殊音
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				str = Replaces(str, "イェ", "ye")
				str = Replaces(str, "キェ", "kye")
				str = Replaces(str, "シェ", "sye")
				str = Replaces(str, "チェ", "tye")
				str = Replaces(str, "ニェ", "nye")
				str = Replaces(str, "ヒェ", "hye")
				str = Replaces(str, "ミェ", "mye")
				str = Replaces(str, "リェ", "rye")
				str = Replaces(str, "ギェ", "gye")
				str = Replaces(str, "ジェ", "zye")
				str = Replaces(str, "ヂェ", "zye")
				str = Replaces(str, "ビェ", "bye")
				str = Replaces(str, "ピェ", "pye")
				str = REPLACE(str, "ヮ", "ァ")
				str = Replaces(str, "ウァ ウィ ウェ ウォ", "wa wi we wo")
				str = Replaces(str, "クァ クィ クェ クォ", "kwa kwi kwe kwo")
				str = Replaces(str, "スァ スィ スェ スォ", "swa swi swe swo")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "twa twi twe two")
				str = Replaces(str, "ヌァ ヌィ ヌェ ヌォ", "nwa nwi nwe nwo")
				str = Replaces(str, "ファ フィ フェ フォ", "hwa hwi hwe hwo")
				str = Replaces(str, "ムァ ムィ ムェ ムォ", "mwa mwi mwe mwo")
				str = Replaces(str, "ルァ ルィ ルェ ルォ", "rwa rwi rwe rwo")
				str = Replaces(str, "グァ グィ グェ グォ", "gwa gwi gwe gwo")
				str = Replaces(str, "ズァ ズィ ズェ ズォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ヅァ ヅィ ヅェ ヅォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ブァ ブィ ブェ ブォ", "bwa bwi bwe bwo")
				str = Replaces(str, "プァ プィ プェ プォ", "pwa pwi pwe pwo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "ba bi be bo")
				str = Replaces(str, "テャ ティ テュ テョ", "tja tji tju tjo")
				str = Replaces(str, "デャ ディ デュ デョ", "dja dji dju djo")
				str = Replaces(str, "トァ トィ トゥ トェ", "tva tvi tvu tve")
				str = Replaces(str, "ドァ ドィ ドゥ ドェ", "dva dvi dvu dve")
				str = Replaces(str, "フャ フュ フョ", "hwya hwyu hwyo")
				str = Replaces(str, "ブャ ブュ ブョ", "bwya bwyu bwyo")
				str = Replaces(str, "ヴャ ヴュ ヴョ", "bwya bwyu bwyo")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
				// 特殊音
				str = Replaces(str, "イェ ウィ ウェ ウォ", "ie ui ue uo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "bua bui bue buo")
				str = Replaces(str, "クァ クィ クェ クォ", "kua kui kue kuo")
				str = Replaces(str, "グァ グィ グェ グォ", "gua gui gue guo")
				str = Replaces(str, "ジェ チェ", "jie chie")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "tsua tsui tsue tsuo")
				str = Replaces(str, "ティ ディ デュ ドゥ", "tei dei deyu dou")
				str = Replaces(str, "ファ フィ フェ フォ", "fua fui fue fuo")
				str = Replaces(str, "フョ", "fuyo")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "イャ イュ イョ", "ya yu yo")
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				// 特殊音
				str = Replaces(str, "イェ", "ye")
				str = Replaces(str, "キェ", "kye")
				str = Replaces(str, "シェ", "sye")
				str = Replaces(str, "チェ", "tye")
				str = Replaces(str, "ニェ", "nye")
				str = Replaces(str, "ヒェ", "hye")
				str = Replaces(str, "ミェ", "mye")
				str = Replaces(str, "リェ", "rye")
				str = Replaces(str, "ギェ", "gye")
				str = Replaces(str, "ジェ", "zye")
				str = Replaces(str, "ヂェ", "zye")
				str = Replaces(str, "ビェ", "bye")
				str = Replaces(str, "ピェ", "pye")
				str = REPLACE(str, "ヮ", "ァ")
				str = Replaces(str, "ウァ ウィ ウェ ウォ", "wa wi we wo")
				str = Replaces(str, "クァ クィ クェ クォ", "kwa kwi kwe kwo")
				str = Replaces(str, "スァ スィ スェ スォ", "swa swi swe swo")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "twa twi twe two")
				str = Replaces(str, "ヌァ ヌィ ヌェ ヌォ", "nwa nwi nwe nwo")
				str = Replaces(str, "ファ フィ フェ フォ", "hwa hwi hwe hwo")
				str = Replaces(str, "ムァ ムィ ムェ ムォ", "mwa mwi mwe mwo")
				str = Replaces(str, "ルァ ルィ ルェ ルォ", "rwa rwi rwe rwo")
				str = Replaces(str, "グァ グィ グェ グォ", "gwa gwi gwe gwo")
				str = Replaces(str, "ズァ ズィ ズェ ズォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ヅァ ヅィ ヅェ ヅォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ブァ ブィ ブェ ブォ", "bwa bwi bwe bwo")
				str = Replaces(str, "プァ プィ プェ プォ", "pwa pwi pwe pwo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "ba bi be bo")
				str = Replaces(str, "テャ ティ テュ テョ", "tja tji tju tjo")
				str = Replaces(str, "デャ ディ デュ デョ", "dja dji dju djo")
				str = Replaces(str, "トァ トィ トゥ トェ", "tva tvi tvu tve")
				str = Replaces(str, "ドァ ドィ ドゥ ドェ", "dva dvi dvu dve")
				str = Replaces(str, "フャ フュ フョ", "hwya hwyu hwyo")
				str = Replaces(str, "ブャ ブュ ブョ", "bwya bwyu bwyo")
				str = Replaces(str, "ヴャ ヴュ ヴョ", "bwya bwyu bwyo")
		SELEND
		RESULT = str
	FEND
	// 撥音
	FUNCTION hatsuon(str, type)
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n'a n'i n'u n'e n'o n'y")
				str = REPLACE(str, "ン", "n")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n'a n'i n'u n'e n'o n'y")
				str = REPLACE(str, "ン", "n")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy ンw", "n'a n'i n'u n'e n'o n'y n'w")
				str = REPLACE(str, "ン", "n")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n-a n-i n-u n-e n-o n-y")
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// 英語式
			CASE RMJ_ENGLISH
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// パスポート式
			CASE RMJ_PASSPORT
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy ンw", "n'a n'i n'u n'e n'o n'y n'w")
				str = REPLACE(str, "ン", "n")
		SELEND
		RESULT = str
	FEND
	// 促音
	FUNCTION sokuon(str, type)
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "'")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt n hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt n hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "q")
		SELEND
		RESULT = str
	FEND
	// 長音
	FUNCTION chouon(str, type)
		DIM aa = "â";	DIM ii = "î";	DIM uu = "û";	DIM ee = "ê";	DIM oo = "ô"
		SELECT TRUE
			// 日本式・訓令式・訓令式(拡張版)・ヘボン式
			CASE type = RMJ_NIPPON OR type = RMJ_KUNREI OR type = RMJ_KUNREIEX OR type = RMJ_HEPBUM
				str = REPLACE(str, "aー", aa)
				str = REPLACE(str, "iー", ii)
				str = REPLACE(str, "uー", uu)
				str = REPLACE(str, "eー", ee)
				str = REPLACE(str, "oー", oo)
			// 英語式・パスポート式
			CASE type = RMJ_ENGLISH OR type = RMJ_PASSPORT
				str = REPLACE(str, "iー", "ii")
				str = REPLACE(str, "ー", "")
			// パスポート向け訓令式
			CASE type = RMJ_PASSPORTKUNREI
				str = REPLACE(str, "aー", aa)
				str = REPLACE(str, "iー", ii)
				str = REPLACE(str, "uー", uu)
				str = REPLACE(str, "eー", ee)
				str = REPLACE(str, "oー", oo)
				str = REPLACE(str, aa + aa, aa + "'" + aa)
				str = REPLACE(str, ii + ii, ii + "'" + ii)
				str = REPLACE(str, uu + uu, uu + "'" + uu)
				str = REPLACE(str, ee + ee, ee + "'" + ee)
				str = REPLACE(str, oo + oo, oo + "'" + oo)
				str = REPLACE(str, aa + "a", aa + "'a")
				str = REPLACE(str, ii + "i", ii + "'i")
				str = REPLACE(str, uu + "u", uu + "'u")
				str = REPLACE(str, ee + "e", ee + "'e")
				str = REPLACE(str, oo + "o", oo + "'o")
				str = REPLACE(str, "a" + aa, "a'" + aa)
				str = REPLACE(str, "i" + ii, "i'" + ii)
				str = REPLACE(str, "u" + uu, "u'" + uu)
				str = REPLACE(str, "e" + ee, "e'" + ee)
				str = REPLACE(str, "o" + oo, "o'" + oo)
				str = REPLACE(str, aa, "aa")
				str = REPLACE(str, ii, "ii")
				str = REPLACE(str, uu, "uu")
				str = REPLACE(str, ee, "ee")
				str = REPLACE(str, oo, "oo")
		SELEND
		RESULT = str
	FEND
	FUNCTION Kana(str)
		// 長音
		str = Replaces(str, "â î û ê ô", "aー iー uー eー oー")
		// 撥音(追加)
		str = Replaces(str, "nna nni nnu nne nno", "ンナ ンニ ンヌ ンネ ンノ")
		// 撥音
		str = Replaces(str, "qa qi qu qe qo", "ッa ッi ッu ッe ッo")
		str = Replaces(str, "kk ss tt qn hh mm yy rr ww", "ッk ッs ッt ッn ッh ッm ッy ッr ッw")
		str = Replaces(str, "gg zz dd bb pp", "ッg ッz ッd ッb ッp")
		str = Replaces(str, "tc ff jj", "ッc ッf ッj")
		str = Replaces(str, "kk ss tt n hh mm yy rr ww", "ッk ッs ッt ッn ッh ッm ッy ッr ッw")
		// 清音
		str = Replaces(str, "ka ki ku ke ko", "カ キ ク ケ コ")
		str = Replaces(str, "na ni nu ne no", "ナ ニ ヌ ネ ノ")
		str = Replaces(str, "ma mi mu me mo", "マ ミ ム メ モ")
		str = Replaces(str, "ra ri ru re ro", "ラ リ ル レ ロ")
		str = Replaces(str, "ya yu yo", "ヤ ユ ヨ")
		// 清音(重複)
		str = Replaces(str, "sa si su se so", "サ シ ス セ ソ")
		str = Replaces(str, "ta ti tu te to", "タ チ ツ テ ト")
		str = Replaces(str, "ha hi hu he ho", "ハ ヒ フ ヘ ホ")
		str = Replaces(str, "sa shi su se so", "サ シ ス セ ソ")
		str = Replaces(str, "ta chi tsu te to", "タ チ ツ テ ト")
		str = Replaces(str, "ha hi fu he ho", "ハ ヒ フ ヘ ホ")
		// 濁音・半濁音
		str = Replaces(str, "ga gi gu ge go", "ガ ギ グ ゲ ゴ")
		str = Replaces(str, "ba bi bu be bo", "バ ビ ブ ベ ボ")
		str = Replaces(str, "pa pi pu pe po", "パ ピ プ ペ ポ")
		str = Replaces(str, "za zi zu ze zo", "ザ ジ ズ ゼ ゾ")
		str = Replaces(str, "da di du de do", "ダ ヂ ヅ デ ド")
		str = Replaces(str, "da zi zu de do", "ダ ヂ ヅ デ ド")
		str = Replaces(str, "za ji zu ze zo", "ザ ジ ズ ゼ ゾ")
		str = Replaces(str, "da ji zu de do", "ダ ヂ ヅ デ ド")
		// 拗音
		str = Replaces(str, "kya kyu kyo", "キャ キュ キョ")
		str = Replaces(str, "nya nyu nyo", "ニャ ニュ ニョ")
		str = Replaces(str, "hya hyu hyo", "ヒャ ヒュ ヒョ")
		str = Replaces(str, "mya myu myo", "ミャ ミュ ミョ")
		str = Replaces(str, "rya ryu ryo", "リャ リュ リョ")
		str = Replaces(str, "gya gyu gyo", "ギャ ギュ ギョ")
		str = Replaces(str, "bya byu byo", "ビャ ビュ ビョ")
		str = Replaces(str, "pya pyu pyo", "ピャ ピュ ピョ")
		str = Replaces(str, "sya syu syo", "シャ シュ ショ")
		str = Replaces(str, "tya tyu tyo", "チャ チュ チョ")
		str = Replaces(str, "zya zyu zyo", "ジャ ジュ ジョ")
		str = Replaces(str, "dya dyu dyo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "kwa gwa", "クヮ グヮ")
		str = Replaces(str, "s'i t'i t'u", "スィ ティ トゥ")
		str = Replaces(str, "z'i d'i d'u", "ズィ ディ ドゥ")
		str = Replaces(str, "zya zyu zyo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "ya yu yo", "イャ イュ イョ")
		str = Replaces(str, "ye", "イェ")
		str = Replaces(str, "kye", "キェ")
		str = Replaces(str, "sye", "シェ")
		str = Replaces(str, "tye", "チェ")
		str = Replaces(str, "nye", "ニェ")
		str = Replaces(str, "hye", "ヒェ")
		str = Replaces(str, "mye", "ミェ")
		str = Replaces(str, "rye", "リェ")
		str = Replaces(str, "gye", "ギェ")
		str = Replaces(str, "zye", "ジェ")
		str = Replaces(str, "zye", "ヂェ")
		str = Replaces(str, "bye", "ビェ")
		str = Replaces(str, "pye", "ピェ")
		str = Replaces(str, "wa wi we wo", "ウァ ウィ ウェ ウォ")
		str = Replaces(str, "kwa kwi kwe kwo", "クァ クィ クェ クォ")
		str = Replaces(str, "swa swi swe swo", "スァ スィ スェ スォ")
		str = Replaces(str, "twa twi twe two", "ツァ ツィ ツェ ツォ")
		str = Replaces(str, "nwa nwi nwe nwo", "ヌァ ヌィ ヌェ ヌォ")
		str = Replaces(str, "hwa hwi hwe hwo", "ファ フィ フェ フォ")
		str = Replaces(str, "mwa mwi mwe mwo", "ムァ ムィ ムェ ムォ")
		str = Replaces(str, "rwa rwi rwe rwo", "ルァ ルィ ルェ ルォ")
		str = Replaces(str, "gwa gwi gwe gwo", "グァ グィ グェ グォ")
		str = Replaces(str, "zwa zwi zwe zwo", "ズァ ズィ ズェ ズォ")
		str = Replaces(str, "zwa zwi zwe zwo", "ヅァ ヅィ ヅェ ヅォ")
		str = Replaces(str, "bwa bwi bwe bwo", "ブァ ブィ ブェ ブォ")
		str = Replaces(str, "pwa pwi pwe pwo", "プァ プィ プェ プォ")
		str = Replaces(str, "ba bi be bo", "ヴァ ヴィ ヴェ ヴォ")
		str = Replaces(str, "tja tji tju tjo", "テャ ティ テュ テョ")
		str = Replaces(str, "dja dji dju djo", "デャ ディ デュ デョ")
		str = Replaces(str, "tva tvi tvu tve", "トァ トィ トゥ トェ")
		str = Replaces(str, "dva dvi dvu dve", "ドァ ドィ ドゥ ドェ")
		str = Replaces(str, "hwya hwyu hwyo", "フャ フュ フョ")
		str = Replaces(str, "bwya bwyu bwyo", "ブャ ブュ ブョ")
		str = Replaces(str, "bwya bwyu bwyo", "ヴャ ヴュ ヴョ")
		str = Replaces(str, "sha shu sho", "シャ シュ ショ")
		str = Replaces(str, "cha chu cho", "チャ チュ チョ")
		str = Replaces(str, "ja ju jo", "ジャ ジュ ジョ")
		str = Replaces(str, "ja ju jo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "ie ui ue uo", "イェ ウィ ウェ ウォ")
		str = Replaces(str, "bua bui bue buo", "ヴァ ヴィ ヴェ ヴォ")
		str = Replaces(str, "kua kui kue kuo", "クァ クィ クェ クォ")
		str = Replaces(str, "gua gui gue guo", "グァ グィ グェ グォ")
		str = Replaces(str, "jie chie", "ジェ チェ")
		str = Replaces(str, "tsua tsui tsue tsuo", "ツァ ツィ ツェ ツォ")
		str = Replaces(str, "tei dei deyu dou", "ティ ディ デュ ドゥ")
		str = Replaces(str, "fua fui fue fuo", "ファ フィ フェ フォ")
		str = Replaces(str, "fuyo", "フョ")
		str = REPLACE(str, "ァ", "ヮ")
		str = Replaces(str, "n-a n-i n-u n-e n-o n-y", "ンa ンi ンu ンe ンo ンy")
		str = Replaces(str, "mb mm mp", "nb nm np")
		str = Replaces(str, "n'a n'i n'u n'e n'o n'y n'w", "ンa ンi ンu ンe ンo ンy ンw")
		// 母音
		str = Replaces(str, "a i u e o", "ア イ ウ エ オ")
		str = Replaces(str, "wa i e o", "ワ ヰ ヱ ヲ")
		RESULT = str
	FEND
ENDMODULE

FUNCTION Replaces(a, b, c)
	DIM arr1 = SPLIT(b)
	DIM arr2 = SPLIT(c)
	FOR i = 0 TO RESIZE(arr1)
		a = REPLACE(a, arr1[i], arr2[i])
	NEXT
	RESULT = a
FEND
結果
CSV
日本式,               tokei
訓令式,               tokei
訓令式(拡張),         tokei
英語式,               tokei
パスポート式,         TOKEI
パスポート式(拡張),   TOKEI
----------
日本式,               zassi
訓令式,               zassi
訓令式(拡張),         zassi
英語式,               zasshi
パスポート式,         ZASSHI
パスポート式(拡張),   ZASSI
----------
日本式,               sukêto
訓令式,               sukêto
訓令式(拡張),         sukêto
英語式,               suketo
パスポート式,         SUKETO
パスポート式(拡張),   SUKEETO
----------
日本式,               yakkyoku
訓令式,               yakkyoku
訓令式(拡張),         yakkyoku
英語式,               yakkyoku
パスポート式,         YAKKYOKU
パスポート式(拡張),   YAKKYOKU
----------
日本式,               bôrupen
訓令式,               bôrupen
訓令式(拡張),         bôrupen
英語式,               borupen
パスポート式,         BORUPEN
パスポート式(拡張),   BOORUPEN
----------
使用関数

逆再生文字列を生成

逆再生したい文字列をローマ字に変換して並び順を反転させ、その文字をかな変換することで逆再生文字列を作ることができます。

すべての文字列が成り立つわけではありませんので参考程度に。

UWSC
DIM str = "おめでとう"
DIM rmj = Romaji.Nippon(str)
DIM reverse = strReverse(rmj)

PRINT "ローマ字," + rmj
PRINT "反転," + reverse
PRINT "反転<#DBL>かな<#DBL>," + Romaji.Kana(reverse)

//////////////////////////////////////////////////
// 【引数】
//   str : ローマ字に変換する文字列(Romaji.Kanaのみ日本語に変換する文字列) 
// 【戻り値】
//   ローマ字またはかなに変換した文字列 
//////////////////////////////////////////////////
MODULE Romaji
	CONST RMJ_NIPPON = 1			// 日本式
	CONST RMJ_KUNREI = 2			// 訓令式
	CONST RMJ_KUNREIEX = 3			// 訓令式(拡張版)
	CONST RMJ_HEPBUM = 4			// ヘボン式
	CONST RMJ_ENGLISH = 5			// 英語式
	CONST RMJ_PASSPORT = 6			// パスポート式
	CONST RMJ_PASSPORTKUNREI = 7	// パスポート向け訓令式
	// 日本式
	FUNCTION Nippon(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_NIPPON)
		str = seion(str, RMJ_NIPPON)
		str = hatsuon(str, RMJ_NIPPON)
		str = sokuon(str, RMJ_NIPPON)
		str = chouon(str, RMJ_NIPPON)
		RESULT = str
	FEND
	// 訓令式
	FUNCTION Kunrei(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_KUNREI)
		str = seion(str, RMJ_KUNREI)
		str = hatsuon(str, RMJ_KUNREI)
		str = sokuon(str, RMJ_KUNREI)
		str = chouon(str, RMJ_KUNREI)
		RESULT = str
	FEND
	// 訓令式(拡張版)
	FUNCTION KunreiEx(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_KUNREIEX)
		str = seion(str, RMJ_KUNREIEX)
		str = hatsuon(str, RMJ_KUNREIEX)
		str = sokuon(str, RMJ_KUNREIEX)
		str = chouon(str, RMJ_KUNREIEX)
		RESULT = str
	FEND
	// ヘボン式
	FUNCTION Hepbum(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_HEPBUM)
		str = seion(str, RMJ_HEPBUM)
		str = hatsuon(str, RMJ_HEPBUM)
		str = sokuon(str, RMJ_HEPBUM)
		str = chouon(str, RMJ_HEPBUM)
		RESULT = str
	FEND
	// 英語式
	FUNCTION English(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_ENGLISH)
		str = seion(str, RMJ_ENGLISH)
		str = hatsuon(str, RMJ_ENGLISH)
		str = sokuon(str, RMJ_ENGLISH)
		str = chouon(str, RMJ_ENGLISH)
		RESULT = str
	FEND
	// パスポート式
	FUNCTION Passport(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_PASSPORT)
		str = seion(str, RMJ_PASSPORT)
		str = hatsuon(str, RMJ_PASSPORT)
		str = sokuon(str, RMJ_PASSPORT)
		str = chouon(str, RMJ_PASSPORT)
		RESULT = STRCONV(str, SC_UPPERCASE)
	FEND
	// パスポート向け訓令式
	FUNCTION PassportKunrei(str)
		str = STRCONV(str, SC_KATAKANA)
		str = youon(str, RMJ_PASSPORTKUNREI)
		str = seion(str, RMJ_PASSPORTKUNREI)
		str = hatsuon(str, RMJ_PASSPORTKUNREI)
		str = sokuon(str, RMJ_PASSPORTKUNREI)
		str = chouon(str, RMJ_PASSPORTKUNREI)
		RESULT = STRCONV(str, SC_UPPERCASE)
	FEND
	// 清音
	FUNCTION seion(str, type)
		str = Replaces(str, "ア イ ウ エ オ", "a i u e o")
		str = Replaces(str, "カ キ ク ケ コ", "ka ki ku ke ko")
		str = Replaces(str, "ナ ニ ヌ ネ ノ", "na ni nu ne no")
		str = Replaces(str, "マ ミ ム メ モ", "ma mi mu me mo")
		str = Replaces(str, "ラ リ ル レ ロ", "ra ri ru re ro")
		str = Replaces(str, "ヤ ユ ヨ", "ya yu yo")
		str = Replaces(str, "ガ ギ グ ゲ ゴ", "ga gi gu ge go")
		str = Replaces(str, "バ ビ ブ ベ ボ", "ba bi bu be bo")
		str = Replaces(str, "パ ピ プ ペ ポ", "pa pi pu pe po")
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa wi we wo")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da di du de do")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
				str = REPLACE(str, "ヴ", "bu")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
				str = REPLACE(str, "ヴ", "bu")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
				str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
				str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
				str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
				str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
				str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
				str = REPLACE(str, "ヴ", "bu")
		SELEND
		RESULT = str
	FEND
	// 拗音
	FUNCTION youon(str, type)
		str = Replaces(str, "キャ キュ キョ", "kya kyu kyo")
		str = Replaces(str, "ニャ ニュ ニョ", "nya nyu nyo")
		str = Replaces(str, "ヒャ ヒュ ヒョ", "hya hyu hyo")
		str = Replaces(str, "ミャ ミュ ミョ", "mya myu myo")
		str = Replaces(str, "リャ リュ リョ", "rya ryu ryo")
		str = Replaces(str, "ギャ ギュ ギョ", "gya gyu gyo")
		str = Replaces(str, "ビャ ビュ ビョ", "bya byu byo")
		str = Replaces(str, "ピャ ピュ ピョ", "pya pyu pyo")
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "dya dyu dyo")
				str = Replaces(str, "クヮ グヮ", "kwa gwa")
				str = Replaces(str, "スィ ティ トゥ", "s'i t'i t'u")
				str = Replaces(str, "ズィ ディ ドゥ", "z'i d'i d'u")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				str = Replaces(str, "スィ ティ トゥ", "s'i t'i t'u")
				str = Replaces(str, "ズィ ディ ドゥ", "z'i d'i d'u")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "イャ イュ イョ", "ya yu yo")
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				// 特殊音
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				str = Replaces(str, "イェ", "ye")
				str = Replaces(str, "キェ", "kye")
				str = Replaces(str, "シェ", "sye")
				str = Replaces(str, "チェ", "tye")
				str = Replaces(str, "ニェ", "nye")
				str = Replaces(str, "ヒェ", "hye")
				str = Replaces(str, "ミェ", "mye")
				str = Replaces(str, "リェ", "rye")
				str = Replaces(str, "ギェ", "gye")
				str = Replaces(str, "ジェ", "zye")
				str = Replaces(str, "ヂェ", "zye")
				str = Replaces(str, "ビェ", "bye")
				str = Replaces(str, "ピェ", "pye")
				str = REPLACE(str, "ヮ", "ァ")
				str = Replaces(str, "ウァ ウィ ウェ ウォ", "wa wi we wo")
				str = Replaces(str, "クァ クィ クェ クォ", "kwa kwi kwe kwo")
				str = Replaces(str, "スァ スィ スェ スォ", "swa swi swe swo")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "twa twi twe two")
				str = Replaces(str, "ヌァ ヌィ ヌェ ヌォ", "nwa nwi nwe nwo")
				str = Replaces(str, "ファ フィ フェ フォ", "hwa hwi hwe hwo")
				str = Replaces(str, "ムァ ムィ ムェ ムォ", "mwa mwi mwe mwo")
				str = Replaces(str, "ルァ ルィ ルェ ルォ", "rwa rwi rwe rwo")
				str = Replaces(str, "グァ グィ グェ グォ", "gwa gwi gwe gwo")
				str = Replaces(str, "ズァ ズィ ズェ ズォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ヅァ ヅィ ヅェ ヅォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ブァ ブィ ブェ ブォ", "bwa bwi bwe bwo")
				str = Replaces(str, "プァ プィ プェ プォ", "pwa pwi pwe pwo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "ba bi be bo")
				str = Replaces(str, "テャ ティ テュ テョ", "tja tji tju tjo")
				str = Replaces(str, "デャ ディ デュ デョ", "dja dji dju djo")
				str = Replaces(str, "トァ トィ トゥ トェ", "tva tvi tvu tve")
				str = Replaces(str, "ドァ ドィ ドゥ ドェ", "dva dvi dvu dve")
				str = Replaces(str, "フャ フュ フョ", "hwya hwyu hwyo")
				str = Replaces(str, "ブャ ブュ ブョ", "bwya bwyu bwyo")
				str = Replaces(str, "ヴャ ヴュ ヴョ", "bwya bwyu bwyo")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "シャ シュ ショ", "sha shu sho")
				str = Replaces(str, "チャ チュ チョ", "cha chu cho")
				str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
				// 特殊音
				str = Replaces(str, "イェ ウィ ウェ ウォ", "ie ui ue uo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "bua bui bue buo")
				str = Replaces(str, "クァ クィ クェ クォ", "kua kui kue kuo")
				str = Replaces(str, "グァ グィ グェ グォ", "gua gui gue guo")
				str = Replaces(str, "ジェ チェ", "jie chie")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "tsua tsui tsue tsuo")
				str = Replaces(str, "ティ ディ デュ ドゥ", "tei dei deyu dou")
				str = Replaces(str, "ファ フィ フェ フォ", "fua fui fue fuo")
				str = Replaces(str, "フョ", "fuyo")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "イャ イュ イョ", "ya yu yo")
				str = Replaces(str, "シャ シュ ショ", "sya syu syo")
				str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
				str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
				str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
				// 特殊音
				str = Replaces(str, "イェ", "ye")
				str = Replaces(str, "キェ", "kye")
				str = Replaces(str, "シェ", "sye")
				str = Replaces(str, "チェ", "tye")
				str = Replaces(str, "ニェ", "nye")
				str = Replaces(str, "ヒェ", "hye")
				str = Replaces(str, "ミェ", "mye")
				str = Replaces(str, "リェ", "rye")
				str = Replaces(str, "ギェ", "gye")
				str = Replaces(str, "ジェ", "zye")
				str = Replaces(str, "ヂェ", "zye")
				str = Replaces(str, "ビェ", "bye")
				str = Replaces(str, "ピェ", "pye")
				str = REPLACE(str, "ヮ", "ァ")
				str = Replaces(str, "ウァ ウィ ウェ ウォ", "wa wi we wo")
				str = Replaces(str, "クァ クィ クェ クォ", "kwa kwi kwe kwo")
				str = Replaces(str, "スァ スィ スェ スォ", "swa swi swe swo")
				str = Replaces(str, "ツァ ツィ ツェ ツォ", "twa twi twe two")
				str = Replaces(str, "ヌァ ヌィ ヌェ ヌォ", "nwa nwi nwe nwo")
				str = Replaces(str, "ファ フィ フェ フォ", "hwa hwi hwe hwo")
				str = Replaces(str, "ムァ ムィ ムェ ムォ", "mwa mwi mwe mwo")
				str = Replaces(str, "ルァ ルィ ルェ ルォ", "rwa rwi rwe rwo")
				str = Replaces(str, "グァ グィ グェ グォ", "gwa gwi gwe gwo")
				str = Replaces(str, "ズァ ズィ ズェ ズォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ヅァ ヅィ ヅェ ヅォ", "zwa zwi zwe zwo")
				str = Replaces(str, "ブァ ブィ ブェ ブォ", "bwa bwi bwe bwo")
				str = Replaces(str, "プァ プィ プェ プォ", "pwa pwi pwe pwo")
				str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "ba bi be bo")
				str = Replaces(str, "テャ ティ テュ テョ", "tja tji tju tjo")
				str = Replaces(str, "デャ ディ デュ デョ", "dja dji dju djo")
				str = Replaces(str, "トァ トィ トゥ トェ", "tva tvi tvu tve")
				str = Replaces(str, "ドァ ドィ ドゥ ドェ", "dva dvi dvu dve")
				str = Replaces(str, "フャ フュ フョ", "hwya hwyu hwyo")
				str = Replaces(str, "ブャ ブュ ブョ", "bwya bwyu bwyo")
				str = Replaces(str, "ヴャ ヴュ ヴョ", "bwya bwyu bwyo")
		SELEND
		RESULT = str
	FEND
	// 撥音
	FUNCTION hatsuon(str, type)
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n'a n'i n'u n'e n'o n'y")
				str = REPLACE(str, "ン", "n")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n'a n'i n'u n'e n'o n'y")
				str = REPLACE(str, "ン", "n")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy ンw", "n'a n'i n'u n'e n'o n'y n'w")
				str = REPLACE(str, "ン", "n")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n-a n-i n-u n-e n-o n-y")
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// 英語式
			CASE RMJ_ENGLISH
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// パスポート式
			CASE RMJ_PASSPORT
				str = REPLACE(str, "ン", "n")
				str = Replaces(str, "nb nm np", "mb mm mp")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "ンa ンi ンu ンe ンo ンy ンw", "n'a n'i n'u n'e n'o n'y n'w")
				str = REPLACE(str, "ン", "n")
		SELEND
		RESULT = str
	FEND
	// 促音
	FUNCTION sokuon(str, type)
		SELECT type
			// 日本式
			CASE RMJ_NIPPON
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// 訓令式
			CASE RMJ_KUNREI
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// 訓令式(拡張版)
			CASE RMJ_KUNREIEX
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "'")
			// ヘボン式
			CASE RMJ_HEPBUM
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "'")
			// 英語式
			CASE RMJ_ENGLISH
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt n hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "")
			// パスポート式
			CASE RMJ_PASSPORT
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt n hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = Replaces(str, "ッc ッf ッj", "tc ff jj")
				str = REPLACE(str, "ッ", "")
			// パスポート向け訓令式
			CASE RMJ_PASSPORTKUNREI
				str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
				str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
				str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
				str = REPLACE(str, "ッ", "q")
		SELEND
		RESULT = str
	FEND
	// 長音
	FUNCTION chouon(str, type)
		DIM aa = "â";	DIM ii = "î";	DIM uu = "û";	DIM ee = "ê";	DIM oo = "ô"
		SELECT TRUE
			// 日本式・訓令式・訓令式(拡張版)・ヘボン式
			CASE type = RMJ_NIPPON OR type = RMJ_KUNREI OR type = RMJ_KUNREIEX OR type = RMJ_HEPBUM
				str = REPLACE(str, "aー", aa)
				str = REPLACE(str, "iー", ii)
				str = REPLACE(str, "uー", uu)
				str = REPLACE(str, "eー", ee)
				str = REPLACE(str, "oー", oo)
			// 英語式・パスポート式
			CASE type = RMJ_ENGLISH OR type = RMJ_PASSPORT
				str = REPLACE(str, "iー", "ii")
				str = REPLACE(str, "ー", "")
			// パスポート向け訓令式
			CASE type = RMJ_PASSPORTKUNREI
				str = REPLACE(str, "aー", aa)
				str = REPLACE(str, "iー", ii)
				str = REPLACE(str, "uー", uu)
				str = REPLACE(str, "eー", ee)
				str = REPLACE(str, "oー", oo)
				str = REPLACE(str, aa + aa, aa + "'" + aa)
				str = REPLACE(str, ii + ii, ii + "'" + ii)
				str = REPLACE(str, uu + uu, uu + "'" + uu)
				str = REPLACE(str, ee + ee, ee + "'" + ee)
				str = REPLACE(str, oo + oo, oo + "'" + oo)
				str = REPLACE(str, aa + "a", aa + "'a")
				str = REPLACE(str, ii + "i", ii + "'i")
				str = REPLACE(str, uu + "u", uu + "'u")
				str = REPLACE(str, ee + "e", ee + "'e")
				str = REPLACE(str, oo + "o", oo + "'o")
				str = REPLACE(str, "a" + aa, "a'" + aa)
				str = REPLACE(str, "i" + ii, "i'" + ii)
				str = REPLACE(str, "u" + uu, "u'" + uu)
				str = REPLACE(str, "e" + ee, "e'" + ee)
				str = REPLACE(str, "o" + oo, "o'" + oo)
				str = REPLACE(str, aa, "aa")
				str = REPLACE(str, ii, "ii")
				str = REPLACE(str, uu, "uu")
				str = REPLACE(str, ee, "ee")
				str = REPLACE(str, oo, "oo")
		SELEND
		RESULT = str
	FEND
	FUNCTION Kana(str)
		// 長音
		str = Replaces(str, "â î û ê ô", "aー iー uー eー oー")
		// 撥音(追加)
		str = Replaces(str, "nna nni nnu nne nno", "ンナ ンニ ンヌ ンネ ンノ")
		// 撥音
		str = Replaces(str, "qa qi qu qe qo", "ッa ッi ッu ッe ッo")
		str = Replaces(str, "kk ss tt qn hh mm yy rr ww", "ッk ッs ッt ッn ッh ッm ッy ッr ッw")
		str = Replaces(str, "gg zz dd bb pp", "ッg ッz ッd ッb ッp")
		str = Replaces(str, "tc ff jj", "ッc ッf ッj")
		str = Replaces(str, "kk ss tt n hh mm yy rr ww", "ッk ッs ッt ッn ッh ッm ッy ッr ッw")
		// 清音
		str = Replaces(str, "ka ki ku ke ko", "カ キ ク ケ コ")
		str = Replaces(str, "na ni nu ne no", "ナ ニ ヌ ネ ノ")
		str = Replaces(str, "ma mi mu me mo", "マ ミ ム メ モ")
		str = Replaces(str, "ra ri ru re ro", "ラ リ ル レ ロ")
		str = Replaces(str, "ya yu yo", "ヤ ユ ヨ")
		// 清音(重複)
		str = Replaces(str, "sa si su se so", "サ シ ス セ ソ")
		str = Replaces(str, "ta ti tu te to", "タ チ ツ テ ト")
		str = Replaces(str, "ha hi hu he ho", "ハ ヒ フ ヘ ホ")
		str = Replaces(str, "sa shi su se so", "サ シ ス セ ソ")
		str = Replaces(str, "ta chi tsu te to", "タ チ ツ テ ト")
		str = Replaces(str, "ha hi fu he ho", "ハ ヒ フ ヘ ホ")
		// 濁音・半濁音
		str = Replaces(str, "ga gi gu ge go", "ガ ギ グ ゲ ゴ")
		str = Replaces(str, "ba bi bu be bo", "バ ビ ブ ベ ボ")
		str = Replaces(str, "pa pi pu pe po", "パ ピ プ ペ ポ")
		str = Replaces(str, "za zi zu ze zo", "ザ ジ ズ ゼ ゾ")
		str = Replaces(str, "da di du de do", "ダ ヂ ヅ デ ド")
		str = Replaces(str, "da zi zu de do", "ダ ヂ ヅ デ ド")
		str = Replaces(str, "za ji zu ze zo", "ザ ジ ズ ゼ ゾ")
		str = Replaces(str, "da ji zu de do", "ダ ヂ ヅ デ ド")
		// 拗音
		str = Replaces(str, "kya kyu kyo", "キャ キュ キョ")
		str = Replaces(str, "nya nyu nyo", "ニャ ニュ ニョ")
		str = Replaces(str, "hya hyu hyo", "ヒャ ヒュ ヒョ")
		str = Replaces(str, "mya myu myo", "ミャ ミュ ミョ")
		str = Replaces(str, "rya ryu ryo", "リャ リュ リョ")
		str = Replaces(str, "gya gyu gyo", "ギャ ギュ ギョ")
		str = Replaces(str, "bya byu byo", "ビャ ビュ ビョ")
		str = Replaces(str, "pya pyu pyo", "ピャ ピュ ピョ")
		str = Replaces(str, "sya syu syo", "シャ シュ ショ")
		str = Replaces(str, "tya tyu tyo", "チャ チュ チョ")
		str = Replaces(str, "zya zyu zyo", "ジャ ジュ ジョ")
		str = Replaces(str, "dya dyu dyo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "kwa gwa", "クヮ グヮ")
		str = Replaces(str, "s'i t'i t'u", "スィ ティ トゥ")
		str = Replaces(str, "z'i d'i d'u", "ズィ ディ ドゥ")
		str = Replaces(str, "zya zyu zyo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "ya yu yo", "イャ イュ イョ")
		str = Replaces(str, "ye", "イェ")
		str = Replaces(str, "kye", "キェ")
		str = Replaces(str, "sye", "シェ")
		str = Replaces(str, "tye", "チェ")
		str = Replaces(str, "nye", "ニェ")
		str = Replaces(str, "hye", "ヒェ")
		str = Replaces(str, "mye", "ミェ")
		str = Replaces(str, "rye", "リェ")
		str = Replaces(str, "gye", "ギェ")
		str = Replaces(str, "zye", "ジェ")
		str = Replaces(str, "zye", "ヂェ")
		str = Replaces(str, "bye", "ビェ")
		str = Replaces(str, "pye", "ピェ")
		str = Replaces(str, "wa wi we wo", "ウァ ウィ ウェ ウォ")
		str = Replaces(str, "kwa kwi kwe kwo", "クァ クィ クェ クォ")
		str = Replaces(str, "swa swi swe swo", "スァ スィ スェ スォ")
		str = Replaces(str, "twa twi twe two", "ツァ ツィ ツェ ツォ")
		str = Replaces(str, "nwa nwi nwe nwo", "ヌァ ヌィ ヌェ ヌォ")
		str = Replaces(str, "hwa hwi hwe hwo", "ファ フィ フェ フォ")
		str = Replaces(str, "mwa mwi mwe mwo", "ムァ ムィ ムェ ムォ")
		str = Replaces(str, "rwa rwi rwe rwo", "ルァ ルィ ルェ ルォ")
		str = Replaces(str, "gwa gwi gwe gwo", "グァ グィ グェ グォ")
		str = Replaces(str, "zwa zwi zwe zwo", "ズァ ズィ ズェ ズォ")
		str = Replaces(str, "zwa zwi zwe zwo", "ヅァ ヅィ ヅェ ヅォ")
		str = Replaces(str, "bwa bwi bwe bwo", "ブァ ブィ ブェ ブォ")
		str = Replaces(str, "pwa pwi pwe pwo", "プァ プィ プェ プォ")
		str = Replaces(str, "ba bi be bo", "ヴァ ヴィ ヴェ ヴォ")
		str = Replaces(str, "tja tji tju tjo", "テャ ティ テュ テョ")
		str = Replaces(str, "dja dji dju djo", "デャ ディ デュ デョ")
		str = Replaces(str, "tva tvi tvu tve", "トァ トィ トゥ トェ")
		str = Replaces(str, "dva dvi dvu dve", "ドァ ドィ ドゥ ドェ")
		str = Replaces(str, "hwya hwyu hwyo", "フャ フュ フョ")
		str = Replaces(str, "bwya bwyu bwyo", "ブャ ブュ ブョ")
		str = Replaces(str, "bwya bwyu bwyo", "ヴャ ヴュ ヴョ")
		str = Replaces(str, "sha shu sho", "シャ シュ ショ")
		str = Replaces(str, "cha chu cho", "チャ チュ チョ")
		str = Replaces(str, "ja ju jo", "ジャ ジュ ジョ")
		str = Replaces(str, "ja ju jo", "ヂャ ヂュ ヂョ")
		str = Replaces(str, "ie ui ue uo", "イェ ウィ ウェ ウォ")
		str = Replaces(str, "bua bui bue buo", "ヴァ ヴィ ヴェ ヴォ")
		str = Replaces(str, "kua kui kue kuo", "クァ クィ クェ クォ")
		str = Replaces(str, "gua gui gue guo", "グァ グィ グェ グォ")
		str = Replaces(str, "jie chie", "ジェ チェ")
		str = Replaces(str, "tsua tsui tsue tsuo", "ツァ ツィ ツェ ツォ")
		str = Replaces(str, "tei dei deyu dou", "ティ ディ デュ ドゥ")
		str = Replaces(str, "fua fui fue fuo", "ファ フィ フェ フォ")
		str = Replaces(str, "fuyo", "フョ")
		str = REPLACE(str, "ァ", "ヮ")
		str = Replaces(str, "n-a n-i n-u n-e n-o n-y", "ンa ンi ンu ンe ンo ンy")
		str = Replaces(str, "mb mm mp", "nb nm np")
		str = Replaces(str, "n'a n'i n'u n'e n'o n'y n'w", "ンa ンi ンu ンe ンo ンy ンw")
		// 母音
		str = Replaces(str, "a i u e o", "ア イ ウ エ オ")
		str = Replaces(str, "wa i e o", "ワ ヰ ヱ ヲ")
		RESULT = str
	FEND
ENDMODULE

FUNCTION Replaces(a, b, c)
	DIM arr1 = SPLIT(b)
	DIM arr2 = SPLIT(c)
	FOR i = 0 TO RESIZE(arr1)
		a = REPLACE(a, arr1[i], arr2[i])
	NEXT
	RESULT = a
FEND

//////////////////////////////////////////////////
// 【引数】
//   str : 反転させる文字列 
// 【戻り値】
//   
//////////////////////////////////////////////////
FUNCTION strReverse(str)
	DIM res = ""
	FOR i = 1 TO LENGTH(str)
		res = COPY(str, i, 1) + res
	NEXT
	RESULT = res
FEND
結果
CSV
ローマ字,     omedetou
反転,         uotedemo
反転"かな",   ウォテデモ
使用関数

参考文献

  1. ローマ字 変換 プログラム
  2. https://youtu.be/QnzvxM6wBMM
  3. なにわTube【2022年7月26日】感想文:逆再生について | なにわde音声学