Module:Laoo-sortkey

local export = {} local u = require("Module:string/char") local a = u(0xF000) local minorMarkSet = "([" .. u(0xEC8) .. "-" .. u(0xECE) .. "])"

local minorMarks = { [u(0xEC8)] = "1", [u(0xEC9)] = "2", [u(0xECA)] = "3", [u(0xECB)] = "4", [u(0xECC)] = "5", [u(0xECD)] = "6", [u(0xECE)] = "7" }

local monographs = { ["[%pໆ]"] = "", ["ຼ"] = "ລ" .. a, ["ຽ"] = "ຍ" .. a, ["ໜ"] = "ຫນ" .. a, ["ໝ"] = "ຫມ" .. a }

function export.makeSortKey(text, lang, sc) local minorKey = "" for mark in mw.ustring.gmatch(text, minorMarkSet) do minorKey = minorKey .. minorMarks[mark] end text = mw.ustring.gsub(text, minorMarkSet, "") for from, to in pairs(monographs) do		text = mw.ustring.gsub(text, from, to) end text = mw.ustring.gsub(text, "([ເແໂໃໄ])([ກ-ຮໞໟ])", "%2%1") return text .. minorKey end

return export