모듈:ko-pron

위키낱말사전, 말과 글의 누리

한국어 발음 모듈입니다.

개정 로마자 표기(rr), 한글 자모로 쓴 발음(ph), 예일 표기(yr), 매큔-라이샤워 표기(mr), 한글의 로마자 표기(rrr), IPA(ipa)를 지원합니다.

자세한 것은 틀:ko-IPA 참고하세요.

예시[편집]

한글 발음(ph):

{{#invoke:ko-pron|revised|부엌 광 흙바닥은 올몽졸몽 혹이 튀어나와 있고 천장 흙벽 서까래 기둥은 까맣게 그을려 있었다.|ph}}

.


개정 로마자 표기(rr):

{{#invoke:ko-pron|revised|부엌 광 흙바닥은 올몽졸몽 혹이 튀어나와 있고 천장 흙벽 서까래 기둥은 까맣게 그을려 있었다.|rr}}

bueok gwang heukbadageun olmongjolmong hogi twieonawa itgo cheonjang heukbyeok seokkarae gidung-eun kkamatke geueullyeo isseotda.


예일 표기(yr):

{{#invoke:ko-pron|revised|부엌 광 흙바닥은 올몽졸몽 혹이 튀어나와 있고 천장 흙벽 서까래 기둥은 까맣게 그을려 있었다.|yr}}

puekh kwang hulkqpatak.un olmongcolmong hok.i thwienawa issqko çencang hulkqpyek sekkalay kitwung.un kkamahkey kuullye iss.essqta.


매큔-라이샤워 표기(mr):

{{#invoke:ko-pron|revised|부엌 광 흙바닥은 올몽졸몽 혹이 튀어나와 있고 천장 흙벽 서까래 기둥은 까맣게 그을려 있었다.|mr}}

puŏk gwang hŭkbadagŭn olmongjolmong hogi t'wiŏnawa itko ch'ŏnjang hŭkbyŏk sŏkkarae gidungŭn kkamak'e gŭŭllyŏ issŏtta.


한글의 로마자 표기(rrr):

{{#invoke:ko-pron|revised|부엌 광 흙바닥은 올몽졸몽 혹이 튀어나와 있고 천장 흙벽 서까래 기둥은 까맣게 그을려 있었다.|rrr}}

bueok gwang heulgbadag-eun olmongjolmong hog-i twieonawa issgo cheonjang heulgbyeog seokkalae gidung-eun kkamahge geueullyeo iss-eossda.


IPA(ipa):

{{#invoke:ko-pron|revised|부엌 광 흙바닥은 올몽졸몽 혹이 튀어나와 있고 천장 흙벽 서까래 기둥은 까맣게 그을려 있었다|ipa}}

/pˀuʌ̹k̚ kˀwa̠ŋ xɯk̚p͈a̠da̠ɡɯn o̞ɭmo̞ŋd͡ʑo̞ɭmo̞ŋ ɸʷo̞ɡi tʰɥiʌ̹na̠wa̠ it̚k͈o̞ t͡ɕʰʌ̹nd͡ʑa̠ŋ xɯk̚p͈jʌ̹k̚ sʰʌ̹k͈a̠ɽɛ̝ kˀiduŋɯn k͈a̠ma̠kʰe̞ kˀɯɯɭʎjʌ̹ is͈ʌ̹t̚t͈a̠/ ~ /pˀuʌ̹k̚ kˀwa̠ŋ xɯk̚p͈a̠da̠ɡɯn o̞ɭmo̞ŋd͡ʑo̞ɭmo̞ŋ ɸʷo̞ɡi tʰyʌ̹na̠wa̠ it̚k͈o̞ t͡ɕʰʌ̹nd͡ʑa̠ŋ xɯk̚p͈jʌ̹k̚ sʰʌ̹k͈a̠ɽɛ̝ kˀiduŋɯn k͈a̠ma̠kʰe̞ kˀɯɯɭʎjʌ̹ is͈ʌ̹t̚t͈a̠/


local export = {}

local gsub = mw.ustring.gsub
local match = mw.ustring.match
local sub = mw.ustring.sub
local char = mw.ustring.char
local codep = mw.ustring.codepoint

function export.revised(frame)
	local word = frame.args[1] or ''
	local convtype = frame.args[2] or 'rr'
	local nn = frame.args["nn"] or 'no'
	local rr = frame.args["rr"] or ''
	local ph = frame.args["ph"] or ''
	local ph2 = ''
	local ipa = frame.args["ipa"] or ''
	local mr = frame.args["mr"] or ''
	local yr = frame.args["yr"] or ''
	local rrr = frame.args["rrr"] or ''
	local long = frame.args["l"] or ''
	local com = frame.args["com"] or ''
	local cap = frame.args["cap"] or 'no'
	local ui = frame.args["ui"] or ''
	local uie = frame.args["ui-e"] or ''
	local nobc = frame.args["nobc"] or ''
	local ni = frame.args["ni"] or ''
	local bcred = frame.args["bcred"] or ''
	local svar = frame.args["svar"] or ''
	local iot = frame.args["iot"] or ''
	local yeored = frame.args["yeored"] or ''
	local pron2 = {}
	local wordpron = {}
	local varpron = ''
	local convtext = ''
	local initial = {}
	local vowel = {}
	local final = {}
	local syllable = {}
	local conv = {}
	local syllableindex = {}
	
	wordlen = mw.ustring.len(word)
	for i = 1,wordlen,1 do
		syllable[i] = sub(word,i,i)
		pron2[i] = syllable[i]
		if gsub(syllable[i],'[가-힣]','') == '' then
			syllableindex[i] = codep(syllable[i])- 0xAC00
			initial[i] = char(0x1100 + math.floor(syllableindex[i] / 588))
			vowel[i] = char(0x1161 + math.floor((syllableindex[i] % 588) / 28))
			final[i] = syllableindex[i] % 28
			if final[i] == 0 then
				final[i] = ''
			else
				final[i] = char(0x11A7 + final[i])
			end
		else
			initial[i],vowel[i],final[i]='','',''
		end
		if nobc ~= '' then
			if i == tonumber(nobc) then
				varpron = 'y'
				if final[i] == 'ᆺ' then
					pron2[i] = char(syllableindex[i] + 0xAC00 - 19)
				elseif final[i] == 'ᆻ' then
					pron2[i] = char(syllableindex[i] + 0xAC00 - 20)
				end
			end
			if i == tonumber(nobc) + 1 then
				if match(initial[i],'[ᄀᄃᄇᄉᄌ]') then
					pron2[i] = char(syllableindex[i] + 0xAC00 + 588)
				end
			end
		end
		if i == tonumber(svar) then
			varpron = 'y'
			pron2[i] = char(syllableindex[i] + 0xAC00 - 12)
		end
		if syllable[i] == '의' then
			if tonumber(ui) == i then
				varpron = 'y'
				pron2[i] = char(syllableindex[i] + 0xAC00 + 28)
			elseif tonumber(uie) == i then
				varpron = 'y'
				pron2[i] = char(syllableindex[i] + 0xAC00 - 392)
			end
		end
		if syllable[i] == '어' and tonumber(iot) == i then
			varpron = 'y'
			pron2[i] = char(syllableindex[i] + 0xAC00 + 56)
		end
		if vowel[i] == 'ᅨ' then
			if initial[i] ~= 'ᄋ' then
				varpron = 'y'
				pron2[i] = char(syllableindex[i] + 0xAC00 - 56)
			end
		end
		if vowel[i] == 'ᅬ' then
			varpron = 'y'
			pron2[i] = char(syllableindex[i] + 0xAC00 + 112)
		end
	end
	syllable[wordlen+1],initial[wordlen+1],vowel[wordlen+1],final[wordlen+1]='','','',''

	if convtype == 'rr' then
		if rr == '' then
			for i = 1,wordlen,1 do
				if i == tonumber(bcred) then
					final[i] = gsub(final[i],'[ᆰᆪᆹᆽᆾᆺᇀ]',{['ᆰ']='ᆨ',['ᆪ']='ᆨ',['ᆹ']='ᆸ',['ᆽ']='ᆮ',['ᆾ']='ᆮ',['ᆺ']='ᆮ',['ᇀ']='ᆮ'})
				end
				if ni ~= '' then
					if i + 1 == tonumber(ni) then
						initial[i+1] = 'ᄂ'
					end
				end
				if vowel[i+1] ~= '' then
					if gsub((final[i] .. syllable[i+1]),'[ᇀᆴ][이히]','') == '' then
						final[i] = 'ᆾ'
					end
					if gsub((final[i] .. syllable[i+1]),'ᆮ[이히]','') == '' then
						final[i] = gsub(syllable[i+1],'[이히]',{['이']='ᆽ',['히']='ᆾ'})
					end
					if gsub((final[i] .. initial[i+1]),'ᆺᄋ','') == '' then
						if gsub(syllable[i+1],'[이아어은으음읍을었았에입]','') ~= '' then
							final[i] = 'ᆮ'
						end
					end
				end
				if initial[i+1] == 'ᄋ' then
					final[i] = gsub(final[i],'[ᆨᆩᆪᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆸᆹᆺᆻᆼᆽᆾᇂ]',{['ᆨ']='g',['ᆩ']='kk',['ᆪ']='ks',['ᆬ']='nj',['ᆭ']='n',['ᆮ']='d',['ᆯ']='r',['ᆰ']='lg',['ᆱ']='lm',['ᆲ']='lb',['ᆳ']='ls',['ᆴ']='lt',['ᆵ']='lp',['ᆶ']='r',['ᆸ']='b',['ᆹ']='ps',['ᆺ']='s',['ᆻ']='ss',['ᆼ']='ng-',['ᆽ']='j',['ᆾ']='ch',['ᇂ']=''})
				elseif syllable[i] == '밟' then
					final[i] = 'ᆸ'
				end
				if final[i] == 'ᆭ' then
					initial[i+1] = gsub(initial[i+1],'[ᄀᄁᄃᄄᄅᄇᄈᄌᄍ]',{['ᄀ']='k',['ᄁ']='k',['ᄃ']='t',['ᄄ']='t',['ᄅ']='n',['ᄇ']='p',['ᄈ']='p',['ᄌ']='ch',['ᄍ']='ch'})
				end	
				if final[i] == 'ᆶ' then
					initial[i+1] = gsub(initial[i+1],'[ᄀᄁᄂᄃᄄᄅᄇᄈᄌᄍ]',{['ᄀ']='k',['ᄁ']='k',['ᄂ']='l',['ᄃ']='t',['ᄄ']='t',['ᄅ']='l',['ᄇ']='p',['ᄈ']='p',['ᄌ']='ch',['ᄍ']='ch'})
				end
				if final[i] == 'ᇂ' then
					initial[i+1] = gsub(initial[i+1],'[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄌᄍ]',{['ᄀ']='k',['ᄁ']='k',['ᄂ']='nn',['ᄃ']='t',['ᄄ']='t',['ᄅ']='nn',['ᄆ']='nm',['ᄇ']='p',['ᄈ']='p',['ᄌ']='ch',['ᄍ']='ch'})
					if initial[i+1] == 'ᄎ' then
						final[i] = 't'
					end
				end
				if initial[i+1] == 'ᄂ' then
					if match(final[i],'[ᆯᆲᆴᆶ]') then
						final[i] = 'l'
						initial[i+1] = 'l'
					else
						final[i] = gsub(final[i],'[ᆨᆩᆪᆫᆬᆭᆮᆰᆱᆵᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]',{['ᆨ']='ng',['ᆩ']='ng',['ᆪ']='ng',['ᆫ']='n',['ᆬ']='n',['ᆭ']='n',['ᆮ']='n',['ᆰ']='ng',['ᆱ']='m',['ᆵ']='m',['ᆷ']='m',['ᆸ']='m',['ᆹ']='m',['ᆺ']='n',['ᆻ']='n',['ᆼ']='ng',['ᆽ']='n',['ᆾ']='n',['ᆿ']='ng',['ᇀ']='n',['ᇁ']='m',['ᇂ']='n'})
					end
				end
				if initial[i+1] == 'ᄅ' then
					if final[i] == 'ᆫ' then
						if nn ~= 'y' then
							final[i] = 'l'
							initial[i+1] = 'l'
						else
							initial[i+1] = 'n'
						end
					elseif match(final[i],'[ᆯᆲᆴ]') then
						final[i] = 'l'
						initial[i+1] = 'l'
					else
						final[i] = gsub(final[i],'[ᆨᆩᆪᆬᆮᆰᆱᆵᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁ]',{['ᆨ']='ng',['ᆩ']='ng',['ᆪ']='ng',['ᆬ']='n',['ᆮ']='n',['ᆰ']='ng',['ᆱ']='m',['ᆵ']='m',['ᆷ']='m',['ᆸ']='m',['ᆹ']='m',['ᆺ']='n',['ᆻ']='n',['ᆼ']='ng',['ᆽ']='n',['ᆾ']='n',['ᆿ']='ng',['ᇀ']='n',['ᇁ']='m'})
						if final[i] ~= '' then
							initial[i+1] = 'n'
						end
					end
				end
				if initial[i+1] == 'ᄆ' then
					final[i] = gsub(final[i],'[ᆨᆩᆪᆮᆰᆵᆸᆹᆺᆻᆽᆾᆿᇀᇁ]',{['ᆨ']='ng',['ᆩ']='ng',['ᆪ']='ng',['ᆮ']='n',['ᆰ']='ng',['ᆵ']='m',['ᆸ']='m',['ᆹ']='m',['ᆺ']='n',['ᆻ']='n',['ᆽ']='n',['ᆾ']='n',['ᆿ']='ng',['ᇀ']='n',['ᇁ']='m'})
				end
				if final[i] == 'ᆰ' then
					if match(initial[i+1],'[ᄀᄁᄏ]') then
						final[i] = 'l'
					elseif initial[i+1] == 'ᄒ' then
						final[i] = 'l'
						initial[i+1] = 'k'
					end
				end
				if (final[i] .. initial[i+1]) == 'ᆫᄀ' then
					final[i] = 'n-'
				end
				if (final[i] .. initial[i+1]) == 'ᆽᄒ' then
					final[i] = 'c'
				end
				if (final[i] .. initial[i+1]) == 'ᆬᄒ' then
					final[i] = 'nc'
				end
				if (final[i] .. initial[i+1]) == 'ᆲᄒ' then
					final[i] = 'lp'
				end
				if vowel[i] ~= '' then
					if (final[i] .. initial[i+1]) == 'ᄋ' then
						final[i] = '…'
					end
				end
				final[i] = gsub(final[i],'[ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]',{['ᆨ']='k',['ᆩ']='k',['ᆪ']='k',['ᆫ']='n',['ᆬ']='n',['ᆭ']='n',['ᆮ']='t',['ᆯ']='l',['ᆰ']='k',['ᆱ']='m',['ᆲ']='l',['ᆳ']='l',['ᆴ']='l',['ᆵ']='p',['ᆶ']='l',['ᆷ']='m',['ᆸ']='p',['ᆹ']='p',['ᆺ']='t',['ᆻ']='t',['ᆼ']='ng',['ᆽ']='t',['ᆾ']='t',['ᆿ']='k',['ᇀ']='t',['ᇁ']='p',['ᇂ']='t'})
				initial[i] = gsub(initial[i],'[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ]',{['ᄀ']='g',['ᄁ']='kk',['ᄂ']='n',['ᄃ']='d',['ᄄ']='tt',['ᄅ']='r',['ᄆ']='m',['ᄇ']='b',['ᄈ']='pp',['ᄉ']='s',['ᄊ']='ss',['ᄋ']='',['ᄌ']='j',['ᄍ']='jj',['ᄎ']='ch',['ᄏ']='k',['ᄐ']='t',['ᄑ']='p',['ᄒ']='h'})
				vowel[i] = gsub(vowel[i],'[ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ]',{['ᅡ']='a',['ᅢ']='ae',['ᅣ']='ya',['ᅤ']='yae',['ᅥ']='eo',['ᅦ']='e',['ᅧ']='yeo',['ᅨ']='ye',['ᅩ']='o',['ᅪ']='wa',['ᅫ']='wae',['ᅬ']='oe',['ᅭ']='yo',['ᅮ']='u',['ᅯ']='wo',['ᅰ']='we',['ᅱ']='wi',['ᅲ']='yu',['ᅳ']='eu',['ᅴ']='ui',['ᅵ']='i'})
				if i == tonumber(ni) then
					initial[i] = '<sup>' .. initial[i] .. '</sup>'
				end
				conv[i] = initial[i] .. vowel[i] .. final[i]
				if conv[i] == '' then
					if syllable[i] ~= '' then
						conv[i] = syllable[i]
					end
				end
			end
			rr = table.concat(conv,"")
			rr = gsub(gsub(gsub(gsub(gsub(gsub(rr,'o…e','o~e'),'e…([ou])','e~%1'),'a…e','a~e'),'u…i','u~i'),'…',''),'~','-')
		end
		convtext = rr

	elseif convtype == 'mr' then
		if mr == "" then
			for i = 1,wordlen,1 do
				if i == tonumber(bcred) then
					final[i] = gsub(final[i],'[ᆰᆪᆹᆽᆾᆺᇀ]',{['ᆰ']='ᆨ',['ᆪ']='ᆨ',['ᆹ']='ᆸ',['ᆽ']='ᆮ',['ᆾ']='ᆮ',['ᆺ']='ᆮ',['ᇀ']='ᆮ'})
				end
				if ni ~= '' then
					if i + 1 == tonumber(ni) then
						initial[i+1] = 'ᄂ'
					end
				end
				if vowel[i+1] ~= "" then
					if gsub((final[i] .. syllable[i+1]),'[ᇀᆴ][이히]','') == '' then
						final[i] = 'ᆾ'
					end
					if gsub((final[i] .. syllable[i+1]),'ᆮ[이히]','') == '' then
						final[i] = gsub(syllable[i+1],'[이히]',{['이']='ᆽ',['히']='ᆾ'})
					end
					if gsub((final[i] .. initial[i+1]),"ᆺᄋ","") == "" then
						if gsub(syllable[i+1],"[이아어은으음읍을었았에입]","") ~= "" then
							final[i] = "ᆮ"
						end
					end
				end
				if initial[i+1] == "ᄋ" then
					final[i] = gsub(final[i],"[ᆨᆩᆪᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆸᆹᆺᆻᆼᆽᆾᇂᆿᇀᇁ]",{["ᆨ"]="g",["ᆩ"]="kk",["ᆪ"]="ks",["ᆬ"]="nj",["ᆭ"]="n",["ᆮ"]="d",["ᆯ"]="r",["ᆰ"]="lg",["ᆱ"]="lm",["ᆲ"]="lb",["ᆳ"]="ls",["ᆴ"]="lt",["ᆵ"]="lp",["ᆶ"]="r",["ᆸ"]="b",["ᆹ"]="ps",["ᆺ"]="s",["ᆻ"]="ss",["ᆼ"]="ng",["ᆽ"]="j",["ᆾ"]="ch",["ᇂ"]="",["ᆿ"]="k'",["ᇀ"]="t'",["ᇁ"]="p'"})
				elseif syllable[i] == "밟" then
					final[i] = "ᆸ"
				end
				if final[i] == "ᆭ" then
					initial[i+1] = gsub(initial[i+1],"[ᄀᄁᄃᄄᄅᄇᄈᄌᄍ]",{["ᄀ"]="k'",["ᄁ"]="k'",["ᄃ"]="t'",["ᄄ"]="t'",["ᄅ"]="n",["ᄇ"]="p'",["ᄈ"]="p'",["ᄌ"]="ch'",["ᄍ"]="ch'"})
				end	
				if final[i] == "ᆶ" then
					initial[i+1] = gsub(initial[i+1],"[ᄀᄁᄂᄃᄄᄅᄇᄈᄌᄍ]",{["ᄀ"]="k'",["ᄁ"]="k'",["ᄂ"]="l",["ᄃ"]="t'",["ᄄ"]="t'",["ᄅ"]="l",["ᄇ"]="p'",["ᄈ"]="p'",["ᄌ"]="ch'",["ᄍ"]="ch'"})
				end
				if final[i] == "ᇂ" then
					initial[i+1] = gsub(initial[i+1],"[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄌᄍ]",{["ᄀ"]="k'",["ᄁ"]="k'",["ᄂ"]="nn",["ᄃ"]="t'",["ᄄ"]="t'",["ᄅ"]="nn",["ᄆ"]="nm",["ᄇ"]="p'",["ᄈ"]="p'",["ᄌ"]="ch'",["ᄍ"]="ch'"})
					if initial[i+1] == 'ᄎ' then
						final[i] = 't'
					end
				end
				if initial[i+1] == "ᄂ" then
					if match(final[i],"[ᆯᆲᆴᆶ]") then
						final[i] = "l"
						initial[i+1] = "l"
					else
						final[i] = gsub(final[i],"[ᆨᆩᆪᆫᆬᆭᆮᆰᆱᆵᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]",{["ᆨ"]="ng",["ᆩ"]="ng",["ᆪ"]="ng",["ᆫ"]="n",["ᆬ"]="n",["ᆭ"]="n",["ᆮ"]="n",["ᆰ"]="ng",["ᆱ"]="m",["ᆵ"]="m",["ᆷ"]="m",["ᆸ"]="m",["ᆹ"]="m",["ᆺ"]="n",["ᆻ"]="n",["ᆼ"]="ng",["ᆽ"]="n",["ᆾ"]="n",["ᆿ"]="ng",["ᇀ"]="n",["ᇁ"]="m",["ᇂ"]="n"})
					end
				end
				if initial[i+1] == "ᄅ" then
					if final[i] == "ᆫ" then
						if nn ~= "y" then
							final[i] = "l"
							initial[i+1] = "l"
						else
							initial[i+1] = "n"
						end
					elseif match(final[i],"[ᆯᆲᆴ]") then
						final[i] = "l"
						initial[i+1] = "l"
					else
						final[i] = gsub(final[i],"[ᆨᆩᆪᆬᆮᆰᆱᆵᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁ]",{["ᆨ"]="ng",["ᆩ"]="ng",["ᆪ"]="ng",["ᆬ"]="n",["ᆮ"]="n",["ᆰ"]="ng",["ᆱ"]="m",["ᆵ"]="m",["ᆷ"]="m",["ᆸ"]="m",["ᆹ"]="m",["ᆺ"]="n",["ᆻ"]="n",["ᆼ"]="ng",["ᆽ"]="n",["ᆾ"]="n",["ᆿ"]="ng",["ᇀ"]="n",["ᇁ"]="m"})
						if final[i] ~= "" then
							initial[i+1] = "n"
						end
					end
				end
				if initial[i+1] == "ᄆ" then
					final[i] = gsub(final[i],"[ᆨᆩᆪᆮᆰᆵᆸᆹᆺᆻᆽᆾᆿᇀᇁ]",{["ᆨ"]="ng",["ᆩ"]="ng",["ᆪ"]="ng",["ᆮ"]="n",["ᆰ"]="ng",["ᆵ"]="m",["ᆸ"]="m",["ᆹ"]="m",["ᆺ"]="n",["ᆻ"]="n",["ᆽ"]="n",["ᆾ"]="n",["ᆿ"]="ng",["ᇀ"]="n",["ᇁ"]="m"})
				end
				if final[i] == "ᆰ" then
					if match(initial[i+1],"[ᄀᄁᄏ]") then
						final[i] = "l"
					elseif initial[i+1] == "ᄒ" then
						final[i] = "l"
						initial[i+1] = "k'"
					end
				end
				if (final[i] .. initial[i+1]) == "ᆫᄀ" then
					final[i] = "n'"
				end
				if (final[i] .. initial[i+1]) == "ᆽᄒ" then
					final[i] = "c"
					initial[i+1] = "h'"
				end
				if (final[i] .. initial[i+1]) == "ᆬᄒ" then
					final[i] = "nc"
					initial[i+1] = "h'"
				end
				if (final[i] .. initial[i+1]) == 'ᆲᄒ' then
					final[i] = "lp"
					initial[i+1] = "h'"
				end
				if match((final[i] .. initial[i+1]),"[ᆨᆩᆮᆸᆺᆻᆽᆾᆿᇀᇁ][ᄀᄁᄃᄄᄇᄈᄉᄊᄌᄍᄎᄏᄐᄑ]") then
					initial[i+1] = gsub(initial[i+1],"[ᄀᄃᄇᄌ]",{["ᄀ"]="k",["ᄃ"]="t",["ᄇ"]="p",["ᄌ"]="ch"})
				end
				final[i] = gsub(final[i],"[ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]",{["ᆨ"]="k",["ᆩ"]="k",["ᆪ"]="k",["ᆫ"]="n",["ᆬ"]="n",["ᆭ"]="n",["ᆮ"]="t",["ᆯ"]="l",["ᆰ"]="k",["ᆱ"]="m",["ᆲ"]="l",["ᆳ"]="l",["ᆴ"]="l",["ᆵ"]="p",["ᆶ"]="l",["ᆷ"]="m",["ᆸ"]="p",["ᆹ"]="p",["ᆺ"]="t",["ᆻ"]="t",["ᆼ"]="ng",["ᆽ"]="t",["ᆾ"]="t",["ᆿ"]="k",["ᇀ"]="t",["ᇁ"]="p",["ᇂ"]=""})
				if i == 1 then
					initial[i] = gsub(initial[i],"[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ]",{["ᄀ"]="k",["ᄁ"]="kk",["ᄂ"]="n",["ᄃ"]="t",["ᄄ"]="tt",["ᄅ"]="r",["ᄆ"]="m",["ᄇ"]="p",["ᄈ"]="pp",["ᄉ"]="s",["ᄊ"]="ss",["ᄋ"]="",["ᄌ"]="ch",["ᄍ"]="tch",["ᄎ"]="ch'",["ᄏ"]="k'",["ᄐ"]="t'",["ᄑ"]="p'",["ᄒ"]="h"})
				else
					initial[i] = gsub(initial[i],"[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ]",{["ᄀ"]="g",["ᄁ"]="kk",["ᄂ"]="n",["ᄃ"]="d",["ᄄ"]="tt",["ᄅ"]="r",["ᄆ"]="m",["ᄇ"]="b",["ᄈ"]="pp",["ᄉ"]="s",["ᄊ"]="ss",["ᄋ"]="",["ᄌ"]="j",["ᄍ"]="tch",["ᄎ"]="ch'",["ᄏ"]="k'",["ᄐ"]="t'",["ᄑ"]="p'",["ᄒ"]="h"})
				end
				vowel[i] = gsub(vowel[i],"[ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ]",{["ᅡ"]="a",["ᅢ"]="ae",["ᅣ"]="ya",["ᅤ"]="yae",["ᅥ"]="ŏ",["ᅦ"]="e",["ᅧ"]="yŏ",["ᅨ"]="ye",["ᅩ"]="o",["ᅪ"]="wa",["ᅫ"]="wae",["ᅬ"]="oe",["ᅭ"]="yo",["ᅮ"]="u",["ᅯ"]="wŏ",["ᅰ"]="we",["ᅱ"]="wi",["ᅲ"]="yu",["ᅳ"]="ŭ",["ᅴ"]="ŭi",["ᅵ"]="i"})
				if i == tonumber(ni) then
					initial[i] = '<sup>' .. initial[i] .. '</sup>'
				end
				conv[i] = initial[i] .. vowel[i] .. final[i]
				if conv[i] == "" then
					if syllable[i] ~= "" then
						conv[i] = syllable[i]
					end
				end
			end
			mr = gsub(table.concat(conv,""),'swi','shwi')
		end
		convtext = mr

	elseif convtype == 'yr' then
		if yr == '' then
			for i = 1,wordlen,1 do
				if ni ~= '' then
					if i + 1 == tonumber(ni) then
						initial[i+1] = 'ᄂ'
					end
				end
				if vowel[i+1] ~= '' then
					if vowel[i] ~= '' then
						if initial[i+1] == 'ᄋ' then
							initial[i+1] = ''
							initial[i+1] = gsub(final[i],'[ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]','.')
						elseif initial[i+1] == 'ᄒ' then
							if match(final[i],'[ᆨᆩᆪᆫᆬᆮᆯᆰᆱᆲᆴᆵᆸᆻᆽᆾᆿᇀᇁᇂ]') then
								initial[i+1] = '.ᄒ'
							end
						else
							if match(final[i]..initial[i+1],'[^ᆭᆶᆫᆯᆳᆷᆼᇂ][^ᄂᄅᄆᄁᄄᄈᄊᄍᄎᄏᄐᄑ]') and not match(final[i]..initial[i+1], 'ᆱᄃ') and final[i] ~= '' then
								final[i] = final[i] .. 'q'
							end
						end
					end
				end
				if vowel[i] == 'ᅮ' then
					if match(initial[i],'[ᄆᄇᄈᄑ]') then
						vowel[i] = 'ᅳ'
					end
				end
				if i == tonumber(com) then
					final[i] = final[i] .. 'q'
				end
				initial[i] = gsub(initial[i],'[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄌᄍᄎᄋᄏᄐᄑᄒ]',{['ᄀ']='k',['ᄁ']='kk',['ᄂ']='n',['ᄃ']='t',['ᄄ']='tt',['ᄅ']='l',['ᄆ']='m',['ᄇ']='p',['ᄈ']='pp',['ᄉ']='s',['ᄊ']='ss',['ᄌ']='c',['ᄍ']='cc',['ᄋ']='',['ᄎ']='ç',['ᄏ']='kh',['ᄐ']='th',['ᄑ']='ph',['ᄒ']='h'})
				vowel[i] = gsub(vowel[i],'[ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ]',{['ᅡ']='a',['ᅢ']='ay',['ᅣ']='ya',['ᅤ']='yay',['ᅥ']='e',['ᅦ']='ey',['ᅧ']='ye',['ᅨ']='yey',['ᅩ']='o',['ᅪ']='wa',['ᅫ']='way',['ᅬ']='oy',['ᅭ']='yo',['ᅮ']='wu',['ᅯ']='we',['ᅰ']='wey',['ᅱ']='wi',['ᅲ']='yu',['ᅳ']='u',['ᅴ']='uy',['ᅵ']='i'})
				final[i] = gsub(final[i],'[ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]',{['ᆨ']='k',['ᆩ']='kk',['ᆪ']='ks',['ᆫ']='n',['ᆬ']='nc',['ᆭ']='nh',['ᆮ']='t',['ᆯ']='l',['ᆰ']='lk',['ᆱ']='lm',['ᆲ']='lp',['ᆳ']='ls',['ᆴ']='lth',['ᆵ']='lph',['ᆶ']='lh',['ᆷ']='m',['ᆸ']='p',['ᆹ']='ps',['ᆺ']='s',['ᆻ']='ss',['ᆼ']='ng',['ᆽ']='c',['ᆾ']='ç',['ᆿ']='kh',['ᇀ']='th',['ᇁ']='ph',['ᇂ']='h'})
				if i == tonumber(ni) then
					initial[i] = '<sup>' .. initial[i] .. '</sup>'
				end
				if tonumber(com) == 0 and i == 1 then
					initial[i] = 'q' .. initial[i]
				end
				conv[i] = initial[i] .. vowel[i] .. final[i]
				if conv[i] == '' then
					conv[i] = syllable[i]
				end
			end
			if long ~= '' then
				conv[1] = gsub(conv[1],'[aeiou]',{['a']='ā',['e']='ē',['i']='ī',['o']='ō',['u']='ū'})
			end
			yr = table.concat(conv,"")
		end
		convtext = yr
		
	elseif convtype == 'rrr' then
		if rrr == '' then
			for i = 1,wordlen,1 do
				if ni ~= '' then
					if i + 1 == tonumber(ni) then
						initial[i+1] = 'ᄂ'
					end
				end
				if vowel[i+1] ~= '' then
					if vowel[i] ~= '' then
						if initial[i+1] == 'ᄋ' then
							initial[i+1] = ''
							initial[i+1] = gsub(final[i],'[ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]','-')
						elseif initial[i+1] == 'ᄒ' then
							if match(final[i],'[ᆨᆩᆪᆫᆬᆮᆯᆰᆱᆲᆴᆵᆸᆻᆽᆾᆿᇀᇁᇂ]') then
								initial[i+1] = '-ᄒ'
							end
						end
					end
				end
				if vowel[i] ~= '' then
					if (final[i] .. initial[i+1]) == 'ᄋ' then
						final[i] = '…'
					end
				end
				initial[i] = gsub(initial[i],'[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄌᄍᄎᄋᄏᄐᄑᄒ]',{['ᄀ']='g',['ᄁ']='kk',['ᄂ']='n',['ᄃ']='d',['ᄄ']='tt',['ᄅ']='l',['ᄆ']='m',['ᄇ']='b',['ᄈ']='pp',['ᄉ']='s',['ᄊ']='ss',['ᄌ']='j',['ᄍ']='jj',['ᄋ']='',['ᄎ']='ch',['ᄏ']='k',['ᄐ']='t',['ᄑ']='p',['ᄒ']='h'})
				vowel[i] = gsub(vowel[i],'[ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ]',{['ᅡ']='a',['ᅢ']='ae',['ᅣ']='ya',['ᅤ']='yae',['ᅥ']='eo',['ᅦ']='e',['ᅧ']='yeo',['ᅨ']='ye',['ᅩ']='o',['ᅪ']='wa',['ᅫ']='wae',['ᅬ']='oe',['ᅭ']='yo',['ᅮ']='u',['ᅯ']='wo',['ᅰ']='we',['ᅱ']='wi',['ᅲ']='yu',['ᅳ']='eu',['ᅴ']='ui',['ᅵ']='i'})
				final[i] = gsub(final[i],'[ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]',{['ᆨ']='g',['ᆩ']='kk',['ᆪ']='gs',['ᆫ']='n',['ᆬ']='nj',['ᆭ']='nh',['ᆮ']='d',['ᆯ']='l',['ᆰ']='lg',['ᆱ']='lm',['ᆲ']='lb',['ᆳ']='ls',['ᆴ']='lt',['ᆵ']='lp',['ᆶ']='lh',['ᆷ']='m',['ᆸ']='b',['ᆹ']='bs',['ᆺ']='s',['ᆻ']='ss',['ᆼ']='ng',['ᆽ']='j',['ᆾ']='ch',['ᆿ']='k',['ᇀ']='t',['ᇁ']='p',['ᇂ']='h'})
				if i == tonumber(ni) then
					initial[i] = '<sup>' .. initial[i] .. '</sup>'
				end
				conv[i] = initial[i] .. vowel[i] .. final[i]
				if conv[i] == '' then
					conv[i] = syllable[i]
				end
			end
			rrr = table.concat(conv,"")
			rrr = gsub(gsub(gsub(gsub(gsub(gsub(rrr,'o…e','o~e'),'e…([ou])','e~%1'),'a…e','a~e'),'u…i','u~i'),'…',''),'~','-')
		end
		convtext = rrr

	else
		if ph == '' then
			wordpron[1] = word
			wordpron[2] = ''
			if varpron ~= '' then
				wordpron[2] = table.concat(pron2,"")
				wordpron[3] = ''
			end
			for i = 1,2,1 do
				if wordpron[i] ~= '' then
					for j = 1,wordlen,1 do
						syllable[j] = sub(wordpron[i],j,j)
						if gsub(syllable[j],'[가-힣]','') == '' then
							syllableindex[j] = codep(syllable[j])- 0xAC00
							initial[j] = char(0x1100 + math.floor(syllableindex[j] / 588))
							vowel[j] = char(0x1161 + math.floor((syllableindex[j] % 588) / 28))
							final[j] = syllableindex[j] % 28
							if final[j] == 0 then
								final[j] = ''
							else
								final[j] = char(0x11A7 + final[j])
							end
						else
							initial[j],vowel[j],final[j]='','',''
						end
					end
					for j = 1,wordlen,1 do
						if vowel[j] == 'ᅴ' then
							if syllable[j] ~= '의' then
								vowel[j] = 'ᅵ'
							end
						end
						if j == tonumber(bcred) then
							final[j] = gsub(final[j],'[ᆰᆪᆹᆽᆾᆺᇀ]',{['ᆰ']='ᆨ',['ᆪ']='ᆨ',['ᆹ']='ᆸ',['ᆽ']='ᆮ',['ᆾ']='ᆮ',['ᆺ']='ᆮ',['ᇀ']='ᆮ'})
						end
						if j == tonumber(yeored) then
							vowel[j] = 'ᅥ'
						end
						if ni ~= '' then
							if j + 1 == tonumber(ni) then
								initial[j+1] = 'ᄂ'
							end
						end
						if j == tonumber(com) then
							initial[j+1] = gsub(initial[j+1],'[ᄀᄃᄇᄉᄌ]',{['ᄀ']='ᄁ',['ᄃ']='ᄄ',['ᄇ']='ᄈ',['ᄉ']='ᄊ',['ᄌ']='ᄍ'})
						end
						if j - 1 == tonumber(com) then
							initial[j] = gsub(initial[j],'[ᄀᄃᄇᄉᄌ]',{['ᄀ']='ᄁ',['ᄃ']='ᄄ',['ᄇ']='ᄈ',['ᄉ']='ᄊ',['ᄌ']='ᄍ'})
						end
						if vowel[j+1] ~= '' then
							if gsub((final[j] .. syllable[j+1]),'[ᇀᆴ][이히]','') == '' then
								final[j] = 'ᆾ'
							end
							if gsub((final[j] .. syllable[j+1]),'ᆮ[이히]','') == '' then
								final[j] = gsub(syllable[j+1],'[이히]',{['이']='ᆽ',['히']='ᆾ'})
							end
							if gsub((final[j] .. initial[j+1]),'ᆺᄋ','') == '' then
								if gsub(syllable[j+1],'[이아어은으음읍을었았에입]','') ~= '' then
									final[j] = 'ᆮ'
								end
							end
						end
						if initial[j+1] == 'ᄋ' then
							if final[j] ~= '' then
								initial[j+1] = gsub(final[j],'[ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]',{['ᆨ']='ᄀ',['ᆩ']='ᄁ',['ᆪ']='ᄊ',['ᆫ']='ᄂ',['ᆬ']='ᄌ',['ᆭ']='ᄂ',['ᆮ']='ᄃ',['ᆯ']='ᄅ',['ᆰ']='ᄀ',['ᆱ']='ᄆ',['ᆲ']='ᄇ',['ᆳ']='ᄊ',['ᆴ']='ᄐ',['ᆵ']='ᄑ',['ᆶ']='ᄅ',['ᆷ']='ᄆ',['ᆸ']='ᄇ',['ᆹ']='ᄊ',['ᆺ']='ᄉ',['ᆻ']='ᄊ',['ᆼ']='ᄋ',['ᆽ']='ᄌ',['ᆾ']='ᄎ',['ᆿ']='ᄏ',['ᇀ']='ᄐ',['ᇁ']='ᄑ',['ᇂ']='ᄋ'})
								final[j] = gsub(final[j],'[ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]',{['ᆨ']='',['ᆩ']='',['ᆪ']='ᆨ',['ᆫ']='',['ᆬ']='ᆫ',['ᆭ']='',['ᆮ']='',['ᆯ']='',['ᆰ']='ᆯ',['ᆱ']='ᆯ',['ᆲ']='ᆯ',['ᆳ']='ᆯ',['ᆴ']='ᆯ',['ᆵ']='ᆯ',['ᆶ']='',['ᆷ']='',['ᆸ']='',['ᆹ']='ᆸ',['ᆺ']='',['ᆻ']='',['ᆽ']='',['ᆾ']='',['ᆿ']='',['ᇀ']='',['ᇁ']='',['ᇂ']=''})
							else
								initial[j+1] = 'ᄋ'
							end
						elseif syllable[j] == '밟' then
							final[j] = 'ᆸ'
						end
						if syllable[j] == '넓' then
							if match(initial[j+1],'[ᄌᄉ]') then
								final[j] = 'ᆸ'
							elseif initial[j+1] == 'ᄃ' then
								if match(syllable[j+1],'[다디]') then
								else
									final[j] = 'ᆸ'
								end
							end
						end
						if final[j] == 'ᆭ' then
							initial[j+1] = gsub(initial[j+1],'[ᄀᄁᄃᄄᄅᄇᄈᄌᄍᄉ]',{['ᄀ']='ᄏ',['ᄁ']='ᄏ',['ᄃ']='ᄐ',['ᄄ']='ᄐ',['ᄅ']='ᄂ',['ᄇ']='ᄑ',['ᄈ']='ᄑ',['ᄌ']='ᄎ',['ᄍ']='ᄎ',['ᄉ']='ᄊ'})
						end	
						if final[j] == 'ᆶ' then
							initial[j+1] = gsub(initial[j+1],'[ᄀᄁᄂᄃᄄᄅᄇᄈᄌᄍᄉ]',{['ᄀ']='ᄏ',['ᄁ']='ᄏ',['ᄂ']='ᆯ',['ᄃ']='ᄐ',['ᄄ']='ᄐ',['ᄅ']='ᄅ',['ᄇ']='ᄑ',['ᄈ']='ᄑ',['ᄌ']='ᄎ',['ᄍ']='ᄎ',['ᄉ']='ᄊ'})
						end
						if final[j] == 'ᇂ' then
							if match(initial[j+1],'[ᄂᄅᄆ]') then
								initial[j+1] = gsub(initial[j+1],'[ᄂᄅᄆ]',{['ᄂ']='ᄂ',['ᄅ']='ᄂ',['ᄆ']='ᄆ'})
								final[j] = gsub(initial[j+1],'[ᄂᄅᄆ]',{['ᄂ']='ᆫ',['ᄅ']='ᆫ',['ᄆ']='ᆷ'})
							elseif match(initial[j+1],'[ᄀᄁᄃᄄᄇᄈᄌᄍᄉ]') then
								initial[j+1] = gsub(initial[j+1],'[ᄀᄁᄃᄄᄇᄈᄌᄍᄉ]',{['ᄀ']='ᄏ',['ᄁ']='ᄏ',['ᄃ']='ᄐ',['ᄄ']='ᄐ',['ᄇ']='ᄑ',['ᄈ']='ᄑ',['ᄌ']='ᄎ',['ᄍ']='ᄎ',['ᄉ']='ᄊ'})
								final[j] = ''
							elseif initial[j+1] == 'ᄎ' then
								final[j] = 'ᆮ'
							end
						end
						if match(final[j],'[ᆬᆲᆴ]') then
							initial[j+1] = gsub(initial[j+1],'[ᄀᄃᄇᄉᄌ]',{['ᄀ']='ᄁ',['ᄃ']='ᄄ',['ᄇ']='ᄈ',['ᄉ']='ᄊ',['ᄌ']='ᄍ'})
						elseif match(final[j],'ᆱ') then
							initial[j+1] = gsub(initial[j+1],'ᄃ','ᄄ')
						end
						if initial[j+1] == 'ᄂ' then
							if match(final[j],'[ᆯᆲᆴᆶ]') then
								final[j] = 'ᆯ'
								initial[j+1] = 'ᄅ'
							else
								final[j] = gsub(final[j],'[ᆨᆩᆪᆫᆬᆭᆮᆰᆱᆵᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ]',{['ᆨ']='ᆼ',['ᆩ']='ᆼ',['ᆪ']='ᆼ',['ᆫ']='ᆫ',['ᆬ']='ᆫ',['ᆭ']='ᆫ',['ᆮ']='ᆫ',['ᆰ']='ᆼ',['ᆱ']='ᆷ',['ᆵ']='ᆷ',['ᆷ']='ᆷ',['ᆸ']='ᆷ',['ᆹ']='ᆷ',['ᆺ']='ᆫ',['ᆻ']='ᆫ',['ᆼ']='ᆼ',['ᆽ']='ᆫ',['ᆾ']='ᆫ',['ᆿ']='ᆼ',['ᇀ']='ᆫ',['ᇁ']='ᆷ',['ᇂ']='ᆫ'})
							end
						elseif initial[j+1] == 'ᄅ' then
							if final[j] == 'ᆫ' then
								if nn ~= 'y' then
									final[j] = 'ᆯ'
									initial[j+1] = 'ᄅ'
								else
									initial[j+1] = 'ᄂ'
								end
							elseif match(final[j],'[ᆯᆲᆴᆶ]') then
								final[j] = 'ᆯ'
								initial[j+1] = 'ᄅ'
							else
								final[j] = gsub(final[j],'[ᆨᆩᆪᆬᆮᆰᆱᆵᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁ]',{['ᆨ']='ᆼ',['ᆩ']='ᆼ',['ᆪ']='ᆼ',['ᆬ']='ᆫ',['ᆮ']='ᆫ',['ᆰ']='ᆼ',['ᆱ']='ᆷ',['ᆵ']='ᆷ',['ᆷ']='ᆷ',['ᆸ']='ᆷ',['ᆹ']='ᆷ',['ᆺ']='ᆫ',['ᆻ']='ᆫ',['ᆼ']='ᆼ',['ᆽ']='ᆫ',['ᆾ']='ᆫ',['ᆿ']='ᆼ',['ᇀ']='ᆫ',['ᇁ']='ᆷ'})
								if final[j] ~= '' then
									initial[j+1] = 'ᄂ'
								end
							end
						end
						if initial[j+1] == 'ᄆ' then
							final[j] = gsub(final[j],'[ᆨᆩᆪᆮᆰᆵᆸᆹᆺᆻᆽᆾᆿᇀᇁ]',{['ᆨ']='ᆼ',['ᆩ']='ᆼ',['ᆪ']='ᆼ',['ᆮ']='ᆫ',['ᆰ']='ᆼ',['ᆵ']='ᆷ',['ᆸ']='ᆷ',['ᆹ']='ᆷ',['ᆺ']='ᆫ',['ᆻ']='ᆫ',['ᆽ']='ᆫ',['ᆾ']='ᆫ',['ᆿ']='ᆼ',['ᇀ']='ᆫ',['ᇁ']='ᆷ'})
						end
						if final[j] == 'ᆰ' then
							if match(initial[j+1],'[ᄀᄁᄏ]') then
								final[j] = 'ᆯ'
								initial[j+1] = gsub(initial[j+1],'ᄀ','ᄁ')
							elseif initial[j+1] == 'ᄒ' then
								final[j] = 'ᆯ'
								initial[j+1] = 'ᄏ'
							end
						end
						if initial[j+1] == 'ᄒ' then
							if final[j] ~= '' then
								initial[j+1] = gsub(final[j],'[ᆨᆩᆪᆫᆬᆮᆯᆰᆱᆲᆳᆴᆵᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁ]',{['ᆨ']='ᄏ',['ᆩ']='ᄏ',['ᆪ']='ᄏ',['ᆫ']='ᄒ',['ᆬ']='ᄎ',['ᆮ']='ᄐ',['ᆯ']='ᄒ',['ᆰ']='ᄏ',['ᆱ']='ᄒ',['ᆲ']='ᄑ',['ᆴ']='ᄐ',['ᆵ']='ᄑ',['ᆷ']='ᄒ',['ᆸ']='ᄑ',['ᆹ']='ᄑ',['ᆺ']='ᄐ',['ᆻ']='ᄐ',['ᆼ']='ᄒ',['ᆽ']='ᄎ',['ᆾ']='ᄎ',['ᆿ']='ᄏ',['ᇀ']='ᄐ',['ᇁ']='ᄑ'})
								final[j] = gsub(final[j],'[ᆨᆩᆪᆬᆮᆰᆱᆲᆳᆴᆵᆷᆸᆹᆺᆻᆽᆾᆿᇀᇁ]',{['ᆨ']='',['ᆩ']='',['ᆪ']='',['ᆬ']='ᆫ',['ᆮ']='',['ᆰ']='ᆯ',['ᆱ']='ᆯ',['ᆲ']='ᆯ',['ᆴ']='ᆯ',['ᆵ']='ᆯ',['ᆷ']='ᆷ',['ᆸ']='',['ᆹ']='',['ᆺ']='',['ᆻ']='',['ᆽ']='',['ᆾ']='',['ᆿ']='',['ᇀ']='',['ᇁ']=''})
							else
								initial[j+1] = 'ᄒ'
							end
						end
						final[j] = gsub(final[j],'[ᆩᆪᆬᆭᆰᆱᆲᆳᆴᆵᆶᆷᆹᆺᆻᆽᆾᆿᇀᇁᇂ]',{['ᆩ']='ᆨ',['ᆪ']='ᆨ',['ᆬ']='ᆫ',['ᆭ']='ᆫ',['ᆰ']='ᆨ',['ᆱ']='ᆷ',['ᆲ']='ᆯ',['ᆳ']='ᆯ',['ᆴ']='ᆯ',['ᆵ']='ᆸ',['ᆶ']='ᆯ',['ᆷ']='ᆷ',['ᆹ']='ᆸ',['ᆺ']='ᆮ',['ᆻ']='ᆮ',['ᆽ']='ᆮ',['ᆾ']='ᆮ',['ᆿ']='ᆨ',['ᇀ']='ᆮ',['ᇁ']='ᆸ',['ᇂ']='ᆮ'})
						if match((final[j] .. initial[j+1]),'[ᆨᆩᆮᆸᆺᆻᆽᆾᆿᇀᇁ][ᄀᄁᄃᄄᄇᄈᄉᄊᄌᄍᄎᄏᄐᄑ]') then
							final[j] = gsub(final[j],'[ᆩᆺᆻᆽᆾᆿᇀᇁ]',{['ᆩ']='ᆨ',['ᆺ']='ᆮ',['ᆻ']='ᆮ',['ᆽ']='ᆮ',['ᆾ']='ᆮ',['ᆿ']='ᆨ',['ᇀ']='ᆮ',['ᇁ']='ᆸ'})
							initial[j+1] = gsub(initial[j+1],'[ᄀᄃᄇᄉᄌ]',{['ᄀ']='ᄁ',['ᄃ']='ᄄ',['ᄇ']='ᄈ',['ᄉ']='ᄊ',['ᄌ']='ᄍ'})
						end
						conv[j] = initial[j] .. vowel[j] .. final[j]
						if conv[j] == '' then
							if syllable[j] ~= '' then
								conv[j] = syllable[j]
							end
						end
					end
					if long ~= '' then
						conv[1] = conv[1] .. ':'
					end
					if ph == '' then
						ph = table.concat(conv,"")
						convtext = ph
					else
						if svar ~= '' then
							i = tonumber(svar) + 1
							conv[i] = gsub(conv[i],'ᄃ','ᄉ')
						end
						ph2 = table.concat(conv,"")
						convtext = convtext .. '/' .. ph2
					end
				end
			end
		else
			convtext = ph
		end
		if convtype == 'ipa' then
			if ipa == '' then
				ipa = convtext
				ipa = gsub(ipa,'(.?)([ᄀᄃᄇᄌᄒ])',function(a,b)
					if a == '' or a == ' ' or a == '/' then
						return a..gsub(b,'.',{['ᄀ']='kˀ',['ᄃ']='tˀ',['ᄇ']='pˀ',['ᄌ']='t͡ɕˀ',['ᄒ']='h'})
					end end)
				ipa = gsub(ipa,'[ᆨᆫᆮᆯᆷᆸᆼᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ]',{['ᆨ']='k̚',['ᆫ']='n',['ᆮ']='t̚',['ᆯ']='ɭ',['ᆷ']='m',['ᆸ']='p̚',['ᆼ']='ŋ',['ᄀ']='ɡ',['ᄁ']='k͈',['ᄂ']='n',['ᄃ']='d',['ᄄ']='t͈',['ᄅ']='ɽ',['ᄆ']='m',['ᄇ']='b',['ᄈ']='p͈',['ᄉ']='sʰ',['ᄊ']='s͈',['ᄋ']='',['ᄌ']='d͡ʑ',['ᄍ']='t͡ɕ͈',['ᄎ']='t͡ɕʰ',['ᄏ']='kʰ',['ᄐ']='tʰ',['ᄑ']='pʰ',['ᄒ']='ɦ'})
				ipa = gsub(ipa,'[ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ]',{['ᅡ']='a̠',['ᅢ']='ɛ̝',['ᅣ']='ja̠',['ᅤ']='jɛ̝',['ᅥ']='ʌ̹',['ᅦ']='e̞',['ᅧ']='jʌ̹',['ᅨ']='je̞',['ᅩ']='o̞',['ᅪ']='wa̠',['ᅫ']='wɛ̝',['ᅬ']='ø̞',['ᅭ']='jo̞',['ᅮ']='u',['ᅯ']='wʌ̹',['ᅰ']='we̞',['ᅱ']='ɥi',['ᅲ']='ju',['ᅳ']='ɯ',['ᅴ']='ɰi',['ᅵ']='i'})
				ipa = gsub(ipa,':','ː')
				ipa = gsub(ipa,'([mnŋkptlɭ][̚]?)ː','ː%1')
				ipa = gsub(ipa,'ʌ̹ː','ɘː')
				ipa = gsub(ipa,'([kp])̚s','%1s')
				ipa = gsub(ipa,'ɭɽ','ɭɭ')
				ipa = gsub(ipa,'ɭɭ([ji])','ɭʎ%1')
				ipa = gsub(ipa,'s([͈]?)ʰɥi','ʃ%1ʰɥi')
				ipa = gsub(ipa,'s([ʰ͈])([ji])','ɕ%1%2')
				ipa = gsub(ipa,'/','/ ~ /')
				ipa = gsub(ipa,'ɭɦ','ɽɦ')
				ipa = gsub(gsub(ipa,'kʰ[ijɯ]',{['kʰi']='kçi',['kʰj']='kçj',['kʰɯ']='kxɯ'}),'nj','ɲj')
				ipa = gsub(ipa,'[hɦ][ijɯouw]',{['hi']='çi',['hj']='çj',['hɯ']='xɯ',['ho']='ɸʷo',['hu']='ɸʷu',['hw']='ɸw',['ɦi']='ʝi',['ɦj']='ʝj',['ɦɯ']='ɣɯ',['ɦo']='βʷo',['ɦu']='βʷu',['ɦw']='βw'})
				if match(ipa,'ɥi') then
					ipa = ipa .. '/ ~ /' .. gsub(ipa,'ɥi','y')
				end
				if long ~= '' then
					ipa = 'ˈ' .. gsub(ipa, '/ ~ /', '/ ~ /ˈ')
				end
			end
			convtext = '<span class="IPA">/' .. ipa .. '/</span>'
		end
	end
	if cap == 'y' then
		convtext = mw.ustring.upper(sub(convtext,1,1)) .. sub(convtext,2,-1)
	end
	if convtype == 'ph' then
		local result = {}
		for wd in mw.text.gsplit(mw.ustring.toNFC(mw.ustring.gsub(convtext, ":", "")), "/") do
			local words = {}
			for i = 1, mw.ustring.len(wd) do
				local syllable = mw.ustring.sub(wd, i, i)
				if syllable ~= mw.ustring.sub(word, i, i) then
					table.insert(words, '<span style="font-size:110%; color:#006600"><b>'..syllable..'</b></span>')
				else
					table.insert(words, '<span style="font-size:110%">'..syllable..'</span>')
				end
			end
			if long ~= '' then
				table.insert(words, 2, '<span style="font-size:110%; color:#006600"><b>:</b></span>')
			end
			table.insert(result, table.concat(words))
		end
		convtext = table.concat(result, "/")
	end
	return convtext
end

return export