Module:Deva-Tirh-translit

From Linguifex
Jump to navigation Jump to search

Documentation for this module may be created at Module:Deva-Tirh-translit/doc

local export = {}

local char = {
	["เค•"] = "๐‘’", ["เค–"] = "๐‘’", ["เค—"] = "๐‘’‘", ["เค˜"] = "๐‘’’", ["เค™"] = "๐‘’“", ["เคš"] = "๐‘’”", ["เค›"] = "๐‘’•", ["เคœ"] = "๐‘’–", ["เค"] = "๐‘’—", ["เคž"] = "๐‘’˜", ["เคŸ"] = "๐‘’™", ["เค "] = "๐‘’š", ["เคก"] = "๐‘’›", ["เคข"] = "๐‘’œ", ["เคฃ"] = "๐‘’", ["เคค"] = "๐‘’ž", ["เคฅ"] = "๐‘’Ÿ", ["เคฆ"] = "๐‘’ ", ["เคง"] = "๐‘’ก", ["เคจ"] = "๐‘’ข", ["เคช"] = "๐‘’ฃ", ["เคซ"] = "๐‘’ค", ["เคฌ"] = "๐‘’ฅ", ["เคญ"] = "๐‘’ฆ", ["เคฎ"] = "๐‘’ง", ["เคฏ"] = "๐‘’จ", ["เคฐ"] = "๐‘’ฉ", ["เคฒ"] = "๐‘’ช", ["เคณ"] = "๐‘’ช๐‘“ƒ", ["เคต"] = "๐‘’ซ", ["เคถ"] = "๐‘’ฌ", ["เคท"] = "๐‘’ญ", ["เคธ"] = "๐‘’ฎ", ["เคน"] = "๐‘’ฏ",
	["เค…"] = "๐‘’", ["เค†"] = "๐‘’‚", ["เค‡"] = "๐‘’ƒ", ["เคˆ"] = "๐‘’„", ["เค‰"] = "๐‘’…", ["เคŠ"] = "๐‘’†", ["เค‹"] = "๐‘’‡", ["เฅ "] = "๐‘’ˆ", ["เคŒ"] = "๐‘’‰", ["เฅก"] = "๐‘’Š", ["เคŽ"] = "๐‘’๐‘’บ", ["เค"] = "๐‘’‹", ["เค"] = "๐‘’Œ", ["เค’"] = "๐‘’๐‘’ฝ", ["เค“"] = "๐‘’", ["เค”"] = "๐‘’Ž",
	["เคพ"] = "๐‘’ฐ", ["เคฟ"] = "๐‘’ฑ", ["เฅ€"] = "๐‘’ฒ", ["เฅ"] = "๐‘’ณ", ["เฅ‚"] = "๐‘’ด", ["เฅƒ"] = "๐‘’ต", ["เฅ„"] = "๐‘’ถ", ["เฅข"] = "๐‘’ท", ["เฅฃ"] = "๐‘’ธ", ["เฅ†"] = "๐‘’บ", ["เฅ‡"] = "๐‘’น", ["เฅˆ"] = "๐‘’ป", ["เฅŠ"] = "๐‘’ฝ", ["เฅ‹"] = "๐‘’ผ", ["เฅŒ"] = "๐‘’พ", ["เฅ"] = "๐‘“‚",
	["เค‚"] = "๐‘“€", ["เคƒ"] = "๐‘“", ["เค"] = "๐‘’ฟ", ["เคผ"] = "๐‘“ƒ", ["เคฝ"] = "๐‘“„", ["เฅ"] = "๐‘“‡", ["เฅฐ"] = "๐‘“†",
	["เฅฆ"] = "๐‘“", ["เฅง"] = "๐‘“‘", ["เฅจ"] = "๐‘“’", ["เฅฉ"] = "๐‘““", ["เฅช"] = "๐‘“”", ["เฅซ"] = "๐‘“•", ["เฅฌ"] = "๐‘“–", ["เฅญ"] = "๐‘“—", ["เฅฎ"] = "๐‘“˜", ["เฅฏ"] = "๐‘“™"
}

-- Override returns text even if some characters cannot be transliterated.
function export.tr(text, lang, sc, override)
	local UTF8_char = "[%z\1-\127\194-\244][\128-\191]*"
	local Tirh = require("Module:scripts").getByCode("Tirh")
	
	text = string.gsub(text, UTF8_char, char)
	
	local reducedText = mw.ustring.gsub(mw.ustring.gsub(text, "<.->", ""), "[%s%p\n]+", "")
	if (mw.ustring.len(reducedText) == Tirh:countCharacters(reducedText) and not mw.ustring.find(text, "๐‘“ƒ๐‘“ƒ")) or override then
		return text
	else
		return nil
	end
end

return export