Module:Glag-translit

local export = {}

local letters = {} local digraphs = {}

letters["Glag"] = { ["Ⰰ"]='A', ["ⰰ"]='a', ["Ⱝ"]='A', ["ⱝ"]='a', ["Ⰱ"]='B', ["ⰱ"]='b', ["Ⰲ"]='V', ["ⰲ"]='v', ["Ⰳ"]='G', ["ⰳ"]='g', ["Ⰴ"]='D', ["ⰴ"]='d', ["Ⰵ"]='E', ["ⰵ"]='e', ["Ⰶ"]='Ž', ["ⰶ"]='ž', ["Ⰷ"]='Dz', ["ⰷ"]='dz', ["Ⰸ"]='Z', ["ⰸ"]='z', ["Ⰹ"]='I', ["ⰹ"]='i', ["Ⰺ"]='I', ["ⰺ"]='i', ["Ⰻ"]='I', ["ⰻ"]='i', ["Ⰼ"]='Đ', ["ⰼ"]='đ', ["Ⰽ"]='K', ["ⰽ"]='k', ["Ⰾ"]='L', ["ⰾ"]='l', ["Ⰿ"]='M', ["ⰿ"]='m', ["Ⱞ"]='M', ["ⱞ"]='m', ["Ⱀ"]='N', ["ⱀ"]='n', ["Ⱁ"]='O', ["ⱁ"]='o', ["Ⱉ"]='O', ["ⱉ"]='o', ["Ⱂ"]='P', ["ⱂ"]='p', ["Ⱃ"]='R', ["ⱃ"]='r', ["Ⱄ"]='S', ["ⱄ"]='s', ["Ⱅ"]='T', ["ⱅ"]='t', ["Ⱆ"]='U', ["ⱆ"]='u', ["Ⱇ"]='F', ["ⱇ"]='f', ["Ⱈ"]='X', ["ⱈ"]='x', ["Ⱒ"]='X', ["ⱒ"]='x', ["Ⱌ"]='C', ["ⱌ"]='c', ["Ⱍ"]='Č', ["ⱍ"]='č', ["Ⱎ"]='Š', ["ⱎ"]='š', -- For Ⱋ see below ["Ⱏ"]='Ŭ', ["ⱏ"]='ŭ', ["Ⱐ"]='Ĭ', ["ⱐ"]='ĭ', ["Ⱜ"]='Ĭ', ["ⱜ"]='ĭ', ["Ⱑ"]='Ě', ["ⱑ"]='ě', ["Ⱓ"]='Ju', ["ⱓ"]='ju', ["Ⱔ"]='Ę', ["ⱔ"]='ę', ["Ⱕ"]='Y̨', ["ⱕ"]='y̨', ["Ⱗ"]='Ję', ["ⱗ"]='ję', ["Ⱘ"]='Ǫ', ["ⱘ"]='ǫ', ["Ⱖ"]='Ǫ', ["ⱖ"]='ǫ', ["Ⱙ"]='Jǫ', ["ⱙ"]='jǫ', ["Ⱚ"]='Θ', ["ⱚ"]='θ', ["Ⱛ"]='Ü', ["ⱛ"]='ü', }

digraphs["Glag"] = { ["Ⱏ[ⰉⰊⰋⰹⰺⰻ]"]="Y", ["ⱏ[ⰹⰺⰻ]"]="y", }

function export.tr(text, lang, sc) if not sc then sc = require("Module:languages").getByCode(lang):findBestScript(text):getCode end -- Щ was pronounced differently in Old Church Slavonic if lang == "cu" then letters["Glag"]["Ⱋ"]='Št' letters["Glag"]["ⱋ"]='št' else letters["Glag"]["Ⱋ"]='Šč' letters["Glag"]["ⱋ"]='šč' end -- Transliterate the titlo as colon text = string.gsub(text, mw.ustring.char(0x0483), ":") if sc == "Glag" then for key, repl in pairs(digraphs[sc]) do			text = mw.ustring.gsub(text, key, repl) end -- pattern for one non-ASCII character text = string.gsub(text, '[\194-\244][\128-\191]+', letters[sc]) end

return text end

return export