local data = {}
local U = mw.ustring.char
local anusvAra = U(0x11001)
local visarga = U(0x11002)
local virAma = U(0x11046)
local consonants = "𑀓𑀔𑀕𑀖𑀗𑀘𑀙𑀚𑀛𑀜𑀝𑀞𑀟𑀠𑀡𑀢𑀣𑀤𑀥𑀦𑀧𑀨𑀩𑀪𑀫𑀬𑀭𑀮𑀯𑀰𑀱𑀲𑀳𑀴𑀵𑀶𑀷"
local consonant = ""
local acute = U(0x301) -- combining acute
data = {
= {
= "𑀐",
= "𑀒",
},
= {
= anusvAra,
= visarga,
= "𑀔",
= "𑀖",
= "𑀗",
= "𑀙",
= "𑀛",
= "𑀜",
= "𑀞",
= "𑀠",
= "𑀡",
= "𑀣",
= "𑀥",
= "𑀦",
= "𑀨",
= "𑀪",
= "𑀫",
= "𑀬",
= "𑀭",
= "𑀮",
= "𑀯",
= "𑀰",
= "𑀱",
= "𑀲",
= "𑀴",
= "𑀵",
= "𑀶",
= "𑀷",
},
= {
= "𑀅",
= "𑀆",
= "𑀇",
= "𑀈",
= "𑀉",
= "𑀊",
= "𑀏",
= "𑀑",
= "𑀓",
= "𑀕",
= "𑀘",
= "𑀚",
= "𑀝",
= "𑀟",
= "𑀢",
= "𑀤",
= "𑀦",
= "𑀧",
= "𑀩",
= "𑀳",
},
= {
= "i",
= "u",
"] = "", -- a-i, a-u for अइ, अउ
= "%1" .. virAma .. "%2",
= "%1" .. virAma,
= "",
},
= { -- this rule must be applied twice because a consonant may only be in one caoture per operation, so "CCC" will only recognize the first two consonants
= "%1" .. virAma .. "%2",
= "𑀇",
= "𑀉",
},
= { -- This table is filled below
},
}
local vowels = {
= "",
= U(0x1103A),
= U(0x1103C),
= U(0x1103E),
= U(0x11040),
= U(0x11042),
= U(0x11044),
= U(0x11038),
= U(0x1103B),
= U(0x1103D),
= U(0x1103F),
= U(0x11041),
= U(0x11043),
= U(0x11045),
}
for independentForm, diacriticalForm in pairs(vowels) do
data = "%1" .. diacriticalForm
end
-- ] to ]
data = {
= {
= "ā",
= "ī",
= "ū",
= "ñ",
= "ṭ",
= "ḍ",
= "ṇ",
= "ṅ",
= "ś",
= "ṣ",
= "ṃ",
= "ḥ",
= acute,
},
= {
= "ḷ",
= "ṟ",
= "ḻ",
= "ṉ",
},
}
return data