มอดูล:Laoo-sortkey
- เอกสารการใช้งานต่อไปนี้ตั้งอยู่ที่ มอดูล:Laoo-sortkey/documentation [แก้ไข]
- ลิงก์ที่เป็นประโยชน์: รายชื่อหน้าย่อย • การรวมมา • มอดูลทดสอบ
มอดูลนี้จำเป็นสำหรับ มอดูล:collation ส่วนการเรียงในหมวดหมู่ไม่ต้องใส่ เพราะระบบ thwikt เรียง Laoo ให้อยู่แล้ว
local export = {}
local u = mw.ustring.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