All pastes #423150 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-04-03 22:54 UTC
rendered paste body
sub romaji_to_hiragana($)
{
	my $str=shift;

	my %table=('a'=>'あ','ba'=>'ば','bba'=>'っば','bbe'=>'っべ','bbi'=>'っび','bbo'
	=>'っぼ','bbu'=>'っぶ','bbya'=>'っびゃ','bbye'=>'っびぇ','bbyi'=>'っびぃ','bbyo'
	=>'っびょ','bbyu'=>'っびゅ','be'=>'べ','bi'=>'び','bo'=>'ぼ','bu'=>'ぶ','bya'=>
	'びゃ','bye'=>'びぇ','byi'=>'びぃ','byo'=>'びょ','byu'=>'びゅ','ca'=>'か','cca'
	=>'っか','cce'=>'っせ','ccha'=>'っちゃ','cche'=>'っちぇ','cchi'=>'っち','ccho'=>
	'っちょ','cchu'=>'っちゅ','cci'=>'っし','cco'=>'っこ','ccu'=>'っく','ccya'=>'っちゃ',
	'ccye'=>'っちぇ','ccyi'=>'っちぃ','ccyo'=>'っちょ','ccyu'=>'っちゅ','ce'=>'せ',
	'cha'=>'ちゃ','che'=>'ちぇ','chi'=>'ち','cho'=>'ちょ','chu'=>'ちゅ','ci'=>'し'
	,'co'=>'こ','cu'=>'く','cya'=>'ちゃ','cye'=>'ちぇ','cyi'=>'ちぃ','cyo'=>'ちょ'
	,'cyu'=>'ちゅ','da'=>'だ','dda'=>'っだ','dde'=>'っで','ddha'=>'っでゃ','ddhe'=>
	'っでぇ','ddhi'=>'っでぃ','ddho'=>'っでょ','ddhu'=>'っでゅ','ddi'=>'っぢ','ddo'=>
	'っど','ddu'=>'っづ','ddwa'=>'っどぁ','ddwe'=>'っどぇ','ddwi'=>'っどぃ','ddwo'=>'
	っどぉ','ddwu'=>'っどぅ','ddya'=>'っぢゃ','ddye'=>'っぢぇ','ddyi'=>'っぢぃ','ddyo'=>
	'っぢょ','ddyu'=>'っぢゅ','ddzu'=>'っづ','de'=>'で','dha'=>'でゃ','dhe'=>'でぇ',
	'dhi'=>'でぃ','dho'=>'でょ','dhu'=>'でゅ','di'=>'ぢ','do'=>'ど','du'=>'づ','dwa'
	=>'どぁ','dwe'=>'どぇ','dwi'=>'どぃ','dwo'=>'どぉ','dwu'=>'どぅ','dya'=>'ぢゃ',
	'dye'=>'ぢぇ','dyi'=>'ぢぃ','dyo'=>'ぢょ','dyu'=>'ぢゅ','dzu'=>'づ','e'=>
	'え','fa'=>'ふぁ','fe'=>'ふぇ','ffa'=>'っふぁ','ffe'=>'っふぇ','ffi'=>'っふぃ',
	'ffo'=>'っふぉ','ffu'=>'っふ','ffwa'=>'っふぁ','ffwe'=>'っふぇ','ffwi'=>'っふぃ',
	'ffwo'=>'っふぉ','ffwu'=>'っふぅ','ffya'=>'っふゃ','ffye'=>'っふぇ','ffyi'=>'っふぃ'
	,'ffyo'=>'っふょ','ffyu'=>'っふゅ','fi'=>'ふぃ','fo'=>'ふぉ','fu'=>'ふ','fwa'=>
	'ふぁ','fwe'=>'ふぇ','fwi'=>'ふぃ','fwo'=>'ふぉ','fwu'=>'ふぅ','fya'=>'ふゃ','fye'
	=>'ふぇ','fyi'=>'ふぃ','fyo'=>'ふょ','fyu'=>'ふゅ','ga'=>'が','ge'=>'げ','gga'
	=>'っが','gge'=>'っげ','ggi'=>'っぎ','ggo'=>'っご','ggu'=>'っぐ','ggwa'=>'っぐぁ'
	,'ggwe'=>'っぐぇ','ggwi'=>'っぐぃ','ggwo'=>'っぐぉ','ggwu'=>'っぐぅ','ggya'=>
	'っぎゃ','ggye'=>'っぎぇ','ggyi'=>'っぎぃ','ggyo'=>'っぎょ','ggyu'=>'っぎゅ','gi'
	=>'ぎ','go'=>'ご','gu'=>'ぐ','gwa'=>'ぐぁ','gwe'=>'ぐぇ','gwi'=>'ぐぃ','gwo'=>
	'ぐぉ','gwu'=>'ぐぅ','gya'=>'ぎゃ','gye'=>'ぎぇ','gyi'=>'ぎぃ','gyo'=>'ぎょ',
	'gyu'=>'ぎゅ','ha'=>'は','he'=>'へ','hha'=>'っは','hhe'=>'っへ','hhi'=>'っひ',
	'hho'=>'っほ','hhu'=>'っふ','hhya'=>'っひゃ','hhye'=>'っひぇ','hhyi'=>'っひぃ',
	'hhyo'=>'っひょ','hhyu'=>'っひゅ','hi'=>'ひ','ho'=>'ほ','hu'=>'ふ','hya'=>'ひゃ'
	,'hye'=>'ひぇ','hyi'=>'ひぃ','hyo'=>'ひょ','hyu'=>'ひゅ','i'=>'い','ja'=>'じゃ'
	,'je'=>'じぇ','ji'=>'じ','jja'=>'っじゃ','jje'=>'っじぇ','jji'=>'っじ','jjo'=>
	'っじょ','jju'=>'っじゅ','jjya'=>'っじゃ','jjye'=>'っじぇ','jjyi'=>'っじぃ','jjyo'
	=>'っじょ','jjyu'=>'っじゅ','jo'=>'じょ','ju'=>'じゅ','jya'=>'じゃ','jye'=>'じぇ',
	'jyi'=>'じぃ','jyo'=>'じょ','jyu'=>'じゅ','ka'=>'か','ke'=>'け','ki'=>'き',
	'kka'=>'っか','kke'=>'っけ','kki'=>'っき','kko'=>'っこ','kku'=>'っく','kkwa'=>
	'っくぁ','kkya'=>'っきゃ','kkye'=>'っきぇ','kkyi'=>'っきぃ','kkyo'=>'っきょ','kkyu'
	=>'っきゅ','ko'=>'こ','ku'=>'く','kwa'=>'くぁ','kya'=>'きゃ','kye'=>'きぇ','kyi'
	=>'きぃ','kyo'=>'きょ','kyu'=>'きゅ','la'=>'ぁ','le'=>'ぇ','li'=>'ぃ','lka'=>
	'ヵ','lke'=>'ヶ','lla'=>'っぁ','lle'=>'っぇ','lli'=>'っぃ','llka'=>'っヵ','	llke'
	=>'っヶ','llo'=>'っぉ','lltsu'=>'っっ','lltu'=>'っっ','llu'=>'っぅ','llwa'=>
	'っゎ','llya'=>'っゃ','llye'=>'っぇ','llyi'=>'っぃ','llyo'=>'っょ','llyu'=>
	'っゅ','lo'=>'ぉ','ltsu'=>'っ','ltu'=>'っ','lu'=>'ぅ','lwa'=>'ゎ','lya'=>'ゃ',
	'lye'=>'ぇ','lyi'=>'ぃ','lyo'=>'ょ','lyu'=>'ゅ','ma'=>'ま','mba'=>'んば',
	'mbe'=>'んべ','mbi'=>'んび','mbo'=>'んぼ','mbu'=>'んぶ','mbya'=>'んびゃ','mbye'
	=>'んびぇ','mbyi'=>'んびぃ','mbyo'=>'んびょ','mbyu'=>'んびゅ','me'=>'め','mi'=>
	'み','mma'=>'っま','mme'=>'っめ','mmi'=>'っみ','mmo'=>'っも','mmu'=>'っむ','mmya'
	=>'っみゃ','mmye'=>'っみぇ','mmyi'=>'っみぃ','mmyo'=>'っみょ','mmyu'=>'っみゅ','mo'
	=>'も','mpa'=>'んぱ','mpe'=>'んぺ','mpi'=>'んぴ','mpo'=>'んぽ','mpu'=>'んぷ',
	'mpya'=>'んぴゃ','mpye'=>'んぴぇ','mpyi'=>'んぴぃ','mpyo'=>'んぴょ','mpyu'=>'んぴゅ'
	,'mu'=>'む','mya'=>'みゃ','mye'=>'みぇ','myi'=>'みぃ','myo'=>'みょ','myu'=>
	'みゅ','n\''=>'ん','na'=>'な','ne'=>'ね','ni'=>'に','no'=>'の','nu'=>'ぬ',
	'nya'=>'にゃ','nye'=>'にぇ','nyi'=>'にぃ','nyo'=>'にょ','nyu'=>'にゅ','o'=>'お',
	'pa'=>'ぱ','pe'=>'ぺ','pi'=>'ぴ','po'=>'ぽ','ppa'=>'っぱ','ppe'=>'っぺ','ppi'
	=>'っぴ','ppo'=>'っぽ','ppu'=>'っぷ','ppya'=>'っぴゃ','ppye'=>'っぴぇ','ppyi'=>
	'っぴぃ','ppyo'=>'っぴょ','ppyu'=>'っぴゅ','pu'=>'ぷ','pya'=>'ぴゃ','pye'=>'ぴぇ',
	'pyi'=>'ぴぃ','pyo'=>'ぴょ','pyu'=>'ぴゅ','qa'=>'くぁ','qe'=>'くぇ','qi'=>'くぃ'
	,'qo'=>'くぉ','qqa'=>'っくぁ','qqe'=>'っくぇ','qqi'=>'っくぃ','qqo'=>'っくぉ',
	'qqu'=>'っく','qqwa'=>'っくぁ','qqwe'=>'っくぇ','qqwi'=>'っくぃ','qqwo'=>'っくぉ',
	'qqwu'=>'っくぅ','qqya'=>'っくゃ','qqye'=>'っくぇ','qqyi'=>'っくぃ','qqyo'=>'っくょ'
	,'qqyu'=>'っくゅ','qu'=>'く','qwa'=>'くぁ','qwe'=>'くぇ','qwi'=>'くぃ','qwo'=>
	'くぉ','qwu'=>'くぅ','qya'=>'くゃ','qye'=>'くぇ','qyi'=>'くぃ','qyo'=>'くょ',
	'qyu'=>'くゅ','ra'=>'ら','re'=>'れ','ri'=>'り','ro'=>'ろ','rra'=>'っら','rre'
	=>'っれ','rri'=>'っり','rro'=>'っろ','rru'=>'っる','rrya'=>'っりゃ','rrye'=>
	'っりぇ','rryi'=>'っりぃ','rryo'=>'っりょ','rryu'=>'っりゅ','ru'=>'る','rya'=>'りゃ'
	,'rye'=>'りぇ','ryi'=>'りぃ','ryo'=>'りょ','ryu'=>'りゅ','sa'=>'さ','se'=>'せ'
	,'sha'=>'しゃ','she'=>'しぇ','shi'=>'し','sho'=>'しょ','shu'=>'しゅ','si'=>
	'し','so'=>'そ','ssa'=>'っさ','sse'=>'っせ','ssha'=>'っしゃ','sshe'=>'っしぇ',
	'sshi'=>'っし','ssho'=>'っしょ','sshu'=>'っしゅ','ssi'=>'っし','sso'=>'っそ',
	'ssu'=>'っす','sswa'=>'っすぁ','sswe'=>'っすぇ','sswi'=>'っすぃ','sswo'=>'っすぉ',
	'sswu'=>'っすぅ','ssya'=>'っしゃ','ssye'=>'っしぇ','ssyi'=>'っしぃ','ssyo'=>'っしょ'
	,'ssyu'=>'っしゅ','su'=>'す','swa'=>'すぁ','swe'=>'すぇ','swi'=>'すぃ','swo'=>
	'すぉ','swu'=>'すぅ','sya'=>'しゃ','sye'=>'しぇ','syi'=>'しぃ','syo'=>'しょ',
	'syu'=>'しゅ','ta'=>'た','te'=>'て','tha'=>'てゃ','the'=>'てぇ','thi'=>'てぃ',
	'tho'=>'てょ','thu'=>'てゅ','ti'=>'ち','to'=>'と','tsa'=>'つぁ','tse'=>'つぇ',
	'tsi'=>'つぃ','tso'=>'つぉ','tsu'=>'つ','tta'=>'った','tte'=>'って','ttha'=>
	'ってゃ','tthe'=>'ってぇ','tthi'=>'ってぃ','ttho'=>'ってょ','tthu'=>'ってゅ','tti'=>
	'っち','tto'=>'っと','ttsa'=>'っつぁ','ttse'=>'っつぇ','ttsi'=>'っつぃ','ttso'=>
	'っつぉ','ttsu'=>'っつ','ttu'=>'っつ','ttwa'=>'っとぁ','ttwe'=>'っとぇ','ttwi'=>
	'っとぃ','ttwo'=>'っとぉ','ttwu'=>'っとぅ','ttya'=>'っちゃ','ttye'=>'っちぇ','ttyi'
	=>'っちぃ','ttyo'=>'っちょ','ttyu'=>'っちゅ','tu'=>'つ','twa'=>'とぁ','twe'=>'とぇ'
	,'twi'=>'とぃ','two'=>'とぉ','twu'=>'とぅ','tya'=>'ちゃ','tye'=>'ちぇ','tyi'=>
	'ちぃ','tyo'=>'ちょ','tyu'=>'ちゅ','u'=>'う','va'=>'ヴァ','ve'=>'ヴェ','vi'=>
	'ヴィ','vo'=>'ヴォ','vu'=>'ヴ','vva'=>'っヴァ','vve'=>'っヴェ','vvi'=>'っヴィ',
	'vvo'=>'っヴォ','vvu'=>'っヴ','vvya'=>'っヴャ','vvye'=>'っヴェ','vvyi'=>'っヴィ',
	'vvyo'=>'っヴョ','vvyu'=>'っヴュ','vya'=>'ヴャ','vye'=>'ヴェ','vyi'=>'ヴィ','vyo'=>
	'ヴョ','vyu'=>'ヴュ','wa'=>'わ','we'=>'うぇ','wha'=>'うぁ','whe'=>'うぇ','whi'=>
	'うぃ','who'=>'うぉ','whu'=>'う','wi'=>'うぃ','wo'=>'を','wu'=>'う','wwa'=>
	'っわ','wwe'=>'っうぇ','wwha'=>'っうぁ','wwhe'=>'っうぇ','wwhi'=>'っうぃ','wwho'=>
	'っうぉ','wwhu'=>'っう','wwi'=>'っうぃ','wwo'=>'っを','wwu'=>'っう','wwye'=>'っゑ',
	'wwyi'=>'っゐ','wye'=>'ゑ','wyi'=>'ゐ','xa'=>'ぁ','xe'=>'ぇ','xi'=>'ぃ',
	'xka'=>'ヵ','xke'=>'ヶ','xo'=>'ぉ','xtsu'=>'っ','xtu'=>'っ','xu'=>'ぅ','xwa'=>
	'ゎ','xxa'=>'っぁ','xxe'=>'っぇ','xxi'=>'っぃ','xxka'=>'っヵ','xxke'=>'っヶ',
	'xxo'=>'っぉ','xxtsu'=>'っっ','xxtu'=>'っっ','xxu'=>'っぅ','xxwa'=>'っゎ','
	xxya'=>'っゃ','xxye'=>'っぇ','xxyi'=>'っぃ','xxyo'=>'っょ','xxyu'=>'っゅ',
	'xya'=>'ゃ','xye'=>'ぇ','xyi'=>'ぃ','xyo'=>'ょ','xyu'=>'ゅ','ya'=>'や','ye'=>
	'いぇ','yi'=>'い','yo'=>'よ','yu'=>'ゆ','yya'=>'っや','yye'=>'っいぇ','yyi'=>
	'っい','yyo'=>'っよ','yyu'=>'っゆ','za'=>'ざ','ze'=>'ぜ','zi'=>'じ','zo'=>'ぞ',
	'zu'=>'ず','zya'=>'じゃ','zye'=>'じぇ','zyi'=>'じぃ','zyo'=>'じょ','zyu'=>'じゅ',
	'zza'=>'っざ','zze'=>'っぜ','zzi'=>'っじ','zzo'=>'っぞ','zzu'=>'っず','zzya'
	=>'っじゃ','zzye'=>'っじぇ','zzyi'=>'っじぃ','zzyo'=>'っじょ','zzyu'=>'っじゅ',
	'n'=>'ん');

	$str=~s/(xxtsu|lltsu|ffya|kkyo|ffyo|ttwo|mbye|llka|xxyo|ccho|ffwi|
	ttwe|ssyi|qqwe|cchu|ttse|ppye|wwho|zzye|mmyi|zzyi|llyi|ddhu|mbyu|
	qqya|ddwa|wwyi|xxka|xxye|qqwo|mbyo|ccyu|ttyo|ggyu|ggwi|ffwa|kkyi|
	wwhi|jjyi|kkwa|cche|ddhe|hhye|mpyu|ssha|bbya|mmyo|rrya|vvye|ffyi|
	bbyo|ggwe|jjya|mbyi|ssyu|rryo|mmya|hhyu|bbye|llyu|ffwo|mpya|sswi|
	llye|llke|rrye|mpyi|ggwu|qqwu|ssye|hhyo|llyo|kkye|qqyu|ddyo|ccyo|
	ddya|sswo|zzya|ssya|ggyo|ggya|ttha|qqwa|ppyu|ddyi|qqyo|ffwu|vvyu|
	ddho|ttwa|ttsi|qqwi|ddwu|ttsa|ffye|ffyu|mbya|ccye|ppya|ddwe|ddwi|
	ttwi|rryu|ttho|sshe|bbyu|sshi|tthu|hhya|ddhi|vvya|xxtu|ssho|ltsu|
	mmye|xxyu|ggyi|zzyu|ddzu|xxke|wwhu|wwye|ssyo|sswe|tthi|hhyi|kkyu|
	ffwe|qqyi|ttwu|wwhe|qqye|jjye|ddwo|ddyu|xxya|ddha|xxyi|vvyi|zzyo|
	ttya|ttyi|ppyo|jjyu|ggwa|tthe|ttso|ttyu|vvyo|ccha|mpye|xxwa|ccya|
	jjyo|sshu|llya|sswa|ttye|rryi|cchi|ppyi|ggye|ggwo|bbyi|ccyi|mmyu|
	mpyo|lltu|xtsu|ddye|kkya|sswu|llwa|wwha|ttsu|mpa|lli|zyi|fwa|fwo|cco
	|nya|gye|xtu|mpi|hye|gwu|syo|dda|swe|chi|she|whu|vya|xxa|vyi|qqe|nyu
	|ffi|ryi|sho|kwa|mpu|vvu|mbu|qwa|twa|fwi|gwa|xye|qye|zya|rya|thu|ffo
	|kyi|cce|pye|tti|kku|jji|rri|nye|whe|bbu|kko|dwi|hhe|wha|lyi|hho|tsa
	|mbi|dyo|zze|syu|yyu|yye|twi|jje|sse|gyu|rru|bbe|sso|yyi|bbo|mmo|dyi
	|llu|lya|tta|rra|wwu|mba|sye|tya|wwa|wwo|ltu|nyo|fyu|dya|qwe|mpo|tyi
	|twu|tse|xwa|shu|kyu|jyo|gge|mye|dha|cho|dhi|swo|tyu|zzu|vve|gwo|vyo
	|mmi|gyo|byi|dho|lla|kke|bya|cya|bba|kya|lyo|hya|ddi|xke|ssu|wye|hyu
	|lka|thi|ppi|hha|qqa|qya|dde|chu|dzu|myu|fwe|tha|swa|tto|vye|cyi|ppu
	|twe|xyi|gwe|ddu|xxi|ggo|ryu|hyi|ffe|ttu|ppo|swi|ssa|n\'|dyu|tsu|shi
	|qqi|pya|fye|lyu|ssi|swu|jjo|bye|qyi|wwe|xxe|xyu|mbo|ccu|jye|cyo|mya
	|zye|ggu|xyo|qyu|nyi|vyu|vvi|tso|dwe|xya|cca|gyi|vvo|tho|dwo|jyu|lle
	|qyo|sha|dwu|whi|ppa|fyo|ffa|zza|mma|zzi|gya|jju|zzo|che|ffu|qwi|mpe
	|yyo|qqu|xxo|kki|cyu|dhe|bbi|cha|two|fyi|sya|xka|vva|dye|zyu|jya|lye
	|jja|ggi|wwi|lwa|tsi|kyo|yya|myi|gwi|rre|ryo|hhi|byo|mme|pyo|hyo|jyi
	|cci|qwo|tye|gga|pyi|wyi|kka|pyu|mmu|ppe|who|fwu|tte|byu|mbe|rro|fya
	|zyo|kye|the|tyo|dwa|qqo|myo|syi|llo|xxu|lke|cye|ddo|qwu|dhu|hhu|rye
	|ne|ki|ro|ke|ji|ga|mi|fa|za|xo|ve|na|ba|ma|si|re|me|fi|wo|xa|jo|bi|
	vu|ca|fu|sa|de|he|da|ju|ci|ta|mo|qu|la|gi|qi|hi|ya|tu|ra|vo|ha|xe|ru
	|ku|lo|di|we|to|cu|yu|mu|wa|pe|qa|zi|ja|co|bo|zo|bu|ri|ti|ka|ze|hu|
	se|no|li|pa|go|du|vi|yo|wi|gu|xu|zu|pu|le|xi|nu|fe|ko|ge|va|lu|ho|qe
	|wu|yi|ye|su|po|do|ni|je|fo|so|be|qo|ce|pi|te|a|e|u|o|i|n)/
		$table{$1}
	/gex;
	$str;
}