本ページには広告が含まれています。
目次
入力された文字列をローマ字またはひらがなに変換します。
- 構文
- UString = Romaji.Nippon( str )
- UString = Romaji.Kunrei( str )
- UString = Romaji.KunreiEx( str )
- UString = Romaji.Hepbum( str )
- UString = Romaji.English( str )
- UString = Romaji.Passport( str )
- UString = Romaji.PassportKuniei( str )
- UString = Romaji.Kana( str )
- UString = Romaji.Nippon( str )
- 引数
- str 必須
- ローマ字に変換する文字列(Romaji.Kanaのみ日本語に変換する文字列)
- 戻り値
- ローマ字またはかなに変換した文字列
プログラム
//////////////////////////////////////////////////
// 【引数】
// 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
引数に指定した"かな"を日本式ローマ字に変換します。
- 撥音(ん)は「n」で表します。「n」の直後に「a,i,u,e,o,y」が続くときは「n」の後ろに「'(アポストロフィ)」を入れます。
- 長音(ー)は母音に「^(サーカムフレックス)」をつけます。
- 促音(っ)は次にくる子音を重ねて記述します。
ア | a | i | u | e | o |
---|---|---|---|---|---|
カ | ka | ki | ku | ke | ko |
ガ | ga | gi | gu | ge | go |
サ | sa | si | su | se | so |
ザ | za | zi | zu | ze | zo |
タ | ta | ti | tu | te | to |
ダ | da | di | du | de | do |
ナ | na | ni | nu | ne | no |
ハ | ha | hi | hu | he | ho |
バ | ba | bi | bu | be | bo |
パ | pa | pi | pu | pe | po |
マ | ma | mi | mu | me | mo |
ヤ | ya | - | yu | - | yo |
ラ | ra | ri | ru | re | ro |
ワ | wa | wi | we | wo | |
キャ | 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
引数に指定した"かな"を訓令式ローマ字に変換します。
- 撥音(ん)は「n」で表します。「n」の直後に「a,i,u,e,o,y」が続くときは「n」の後ろに「'(アポストロフィ)」を入れます。
- 長音(ー)は母音に「^(サーカムフレックス)」をつけます。
- 促音(っ)は次にくる子音を重ねて記述します。
ア | a | i | u | e | o |
---|---|---|---|---|---|
カ | ka | ki | ku | ke | ko |
ガ | ga | gi | gu | ge | go |
サ | sa | si | su | se | so |
ザ | za | zi | zu | ze | zo |
タ | ta | ti | tu | te | to |
ダ | da | zi | zu | de | do |
ナ | na | ni | nu | ne | no |
ハ | ha | hi | hu | he | ho |
バ | ba | bi | bu | be | bo |
パ | pa | pi | pu | pe | po |
マ | ma | mi | mu | me | mo |
ヤ | ya | - | yu | - | yo |
ラ | ra | ri | ru | re | ro |
ワ | wa | i | e | o | |
キャ | 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
引数に指定した"かな"を訓令式ローマ字(拡張版)に変換します。
- 撥音(ん)は「n」で表します。「n」の直後に「a,i,u,e,o,y」が続くときは「n」の後ろに「'(アポストロフィ)」を入れます。
- 長音(ー)は母音に「^(サーカムフレックス)」をつけます。
- 促音(っ)は次にくる子音を重ねて記述します。
ア | a | i | u | e | o |
---|---|---|---|---|---|
カ | ka | ki | ku | ke | ko |
ガ | ga | gi | gu | ge | go |
サ | sa | si | su | se | so |
ザ | za | zi | zu | ze | zo |
タ | ta | ti | tu | te | to |
ダ | da | zi | zu | de | do |
ナ | na | ni | nu | ne | no |
ハ | ha | hi | hu | he | ho |
バ | ba | bi | bu | be | bo |
パ | pa | pi | pu | pe | po |
マ | ma | mi | mu | me | mo |
ヤ | ya | - | yu | ye | yo |
ラ | ra | ri | ru | re | ro |
ワ | wa | i | e | o | |
キャ | 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 | bu | be | 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
引数に指定した"かな"をヘボン式ローマ字に変換します。
- 撥音(ん)は「n」で表します。b,m,pの直前は「n」ではなく「m」で表記します。
- 長音(ー)は省略します。
- 促音(っ)は次にくる子音を重ねて記述します。
ア | a | i | u | e | o |
---|---|---|---|---|---|
カ | ka | ki | ku | ke | ko |
ガ | ga | gi | gu | ge | go |
サ | sa | shi | su | se | so |
ザ | za | ji | zu | ze | zo |
タ | ta | chi | tsu | te | to |
ダ | da | ji | zu | de | do |
ナ | na | ni | nu | ne | no |
ハ | ha | hi | fu | he | ho |
バ | ba | bi | bu | be | bo |
パ | pa | pi | pu | pe | po |
マ | ma | mi | mu | me | mo |
ヤ | ya | - | yu | - | yo |
ラ | ra | ri | ru | re | ro |
ワ | wa | i | e | o | |
キャ | 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
引数に指定した"かな"を英語式ローマ字に変換します。
ア | a | i | u | e | o |
---|---|---|---|---|---|
カ | ka | ki | ku | ke | ko |
ガ | ga | gi | gu | ge | go |
サ | sa | shi | su | se | so |
ザ | za | ji | zu | ze | zo |
タ | ta | chi | tsu | te | to |
ダ | da | ji | zu | de | do |
ナ | na | ni | nu | ne | no |
ハ | ha | hi | fu | he | ho |
バ | ba | bi | bu | be | bo |
パ | pa | pi | pu | pe | po |
マ | ma | mi | mu | me | mo |
ヤ | ya | - | yu | - | yo |
ラ | ra | ri | ru | re | ro |
ワ | wa | i | e | o | |
キャ | 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
引数に指定した"かな"をパスポート式ローマ字に変換します。
ア | A | I | U | E | O |
---|---|---|---|---|---|
カ | KA | KI | KU | KE | KO |
ガ | GA | GI | GU | GE | GO |
サ | SA | SHI | SU | SE | SO |
ザ | ZA | JI | ZU | ZE | ZO |
タ | TA | CHI | TSU | TE | TO |
ダ | DA | JI | ZU | DE | DO |
ナ | NA | NI | NU | NE | NO |
ハ | HA | HI | FU | HE | HO |
バ | BA | BI | BU | BE | BO |
パ | PA | PI | PU | PE | PO |
マ | MA | MI | MU | ME | MO |
ヤ | YA | - | YU | IE | YO |
ラ | RA | RI | RU | RE | RO |
ワ | WA | I | E | O | |
キャ | 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 | BU | BUE | BUO |
クァ | KUA | KUI | - | KUE | KUO |
グァ | GUA | GUI | - | GUE | GUO |
スァ | - | - | - | - | - |
ズァ | - | - | - | - | - |
ツァ | TSUA | TSUI | - | TSUE | TSUO |
ヅァ | - | - | - | - | - |
トァ | - | - | - | - | - |
ドァ | - | - | DOU | - | - |
ヌァ | - | - | - | - | - |
ファ | FUA | FUI | - | FUE | FUO |
ブァ | - | - | - | - | - |
プァ | - | - | - | - | - |
ホァ | - | - | - | - | - |
ムァ | - | - | - | - | - |
ルァ | - | - | - | - | - |
Romaji.PassportKunrei
引数に指定した"かな"をパスポート向け訓令式ローマ字に変換します。
- 書き方は基本的に訓令式と同じです。
- 撥音(ん)は「n」で表します。「n」の直後に「a,i,u,e,o,y」が続くときは「n」の後ろに「'(アポストロフィ)」を入れます。
- 長音(ー)は母音を重ねます。
- 促音(っ)は次にくる子音を重ねて記述します。
ア | A | I | U | E | O |
---|---|---|---|---|---|
カ | KA | KI | KU | KE | KO |
ガ | GA | GI | GU | GE | GO |
サ | SA | SI | SU | SE | SO |
ザ | ZA | ZI | ZU | ZE | ZO |
タ | TA | TI | TU | TE | TO |
ダ | DA | ZI | ZU | DE | DO |
ナ | NA | NI | NU | NE | NO |
ハ | HA | HI | HU | HE | HO |
バ | BA | BI | BU | BE | BO |
パ | PA | PI | PU | PE | PO |
マ | MA | MI | MU | ME | MO |
ヤ | YA | - | YU | YE | YO |
ラ | RA | RI | RU | RE | RO |
ワ | WA | I | E | O | |
キャ | 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 | BU | BE | 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に指定された文字列を日本式・訓令式・訓令式(拡張)・英語式・パスポート式・パスポート式(拡張)のローマ字に変換します。
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
結果
日本式, 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
----------
使用関数
逆再生文字列を生成
逆再生したい文字列をローマ字に変換して並び順を反転させ、その文字をかな変換することで逆再生文字列を作ることができます。
すべての文字列が成り立つわけではありませんので参考程度に。
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
結果
ローマ字, omedetou
反転, uotedemo
反転"かな", ウォテデモ
使用関数