Module:User:DerekWinters/Baybayin
- This module sandbox lacks a documentation subpage. You may create it.
- Useful links: root page • root page’s subpages • links • transclusions • testcases • user page • user talk page • userspace
This is a private module sandbox of DerekWinters, for their own experimentation. Items in this module may be added and removed at DerekWinters's discretion; do not rely on this module's stability.
local export = {}
local consonants = {
--consonants
['k']='ᜃ', ['g']='ᜄ', ['ŋ']='ᜅ',
['t']='ᜆ', ['d']='ᜇ', ['r']='ᜇ', ['n']='ᜈ',
['p']='ᜉ', ['b']='ᜊ', ['m']='ᜋ',
['y']='ᜌ', ['l']='ᜎ',
['w']='ᜏ', ['s']='ᜐ', ['h']='ᜑ',
}
local diacritics = {
--vowels
['a']='', ['i']='ᜒ', ['e']='ᜒ', ['u']='ᜓ', ['o']='ᜓ',
}
local tt = {
--vowels
['a']='ᜀ', ['i']='ᜁ', ['e']='ᜁ', ['u']='ᜂ', ['o']='ᜂ',
}
function export.tr(text, lang, sc)
if sc ~= "Latn" then
return nil
end
text = mw.ustring.gsub(text, 'ng', 'ŋ')
text = mw.ustring.gsub(
text,
'([kgŋtdrnpbmylwsh])'..
'([aieuo]?)',
function(c, d)
if d == "" then
return consonants[c] .. '᜔'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export