Module:pine-pron: Difference between revisions
No edit summary |
No edit summary |
||
| Line 23: | Line 23: | ||
["ỏ"] = "oː", ["ủ"] = "uː", ["ỷ"] = "yː", | ["ỏ"] = "oː", ["ủ"] = "uː", ["ỷ"] = "yː", | ||
} | } | ||
-- version of gsub() that returns a 2nd argument boolean indicating whether | |||
-- a substitution was made. | |||
local function gsubb(term, foo, bar) | |||
local retval, nsubs = gsub(term, foo, bar) | |||
return retval, nsubs > 0 | |||
end | |||
local export = {} | local export = {} | ||
local word_internal_clusters = m_table.listToSet({ | |||
"m·pp", "m·p", "m·b", "n·tt", "n·t", "n·d", "n·dv", | |||
"n·ts", "n·tsv", "n·tsġ", "n·tsġv", "n·ttṡ", "n·tṡ", | |||
"n·tṡv", "n·ƛƛ", "n·ƛ", "n·ƛv", "n·kk", "n·kkv", "n·k", "n·kv", | |||
"p·ṃ", | |||
}) | |||
--[[m ṃ p b v | |||
t d ḍ s ṡ ts tṡ r ṛ l ḷ ƛ lį ḷį n ṇ nį ṇį dn ng kn | |||
k g ġ h hį ḥ kṇ tġ]] | |||
function export.crux(term) | function export.crux(term) | ||
-- default to short lax vowels | -- default to short lax vowels | ||
term = term:gsub("[ | term = term:gsub("[aeiouy]", laxen); term = term:gsub("ů", "œ") | ||
-- long vowels | -- long vowels | ||
local nfd_term = mw.ustring.toNFD(term) | local nfd_term = mw.ustring.toNFD(term) | ||
| Line 39: | Line 57: | ||
term = term:gsub("ʊɔ", "ʊu"); term = term:gsub("œɑ", "øy"); term = term:gsub("œɛ", "ʏy") | term = term:gsub("ʊɔ", "ʊu"); term = term:gsub("œɑ", "øy"); term = term:gsub("œɛ", "ʏy") | ||
-- labiodiphthongized vowels | -- labiodiphthongized vowels | ||
term = term:gsub("vʏy", "ᶣy"); term = term:gsub("vøy", "ᶣø"); term = term:gsub("vʊu", "ʷu") | term = term:gsub("vʏy", "ᶣy"); term = term:gsub("vøy", "ᶣø"); term = term:gsub("vʊu", "ʷu") -- different in eastern | ||
term = term:gsub("^ᶣ", "ɥ"); term = term:gsub("^ʷ", "w") | term = term:gsub("^ᶣ", "ɥ"); term = term:gsub("^ʷ", "w") | ||
-- diphthongs | -- diphthongs | ||