Generates the tables for Appendix:Middle Chinese.
local export = {}
local m_baxter = require("Module:ltc-pron/baxter")
local data = mw.loadData("Module:ltc-pron/data")
local people = {
Baxter = {"B", "]"},
Karlgren = {"K", "]"},
Shao = {"S", "]"},
Wang = {"W", "]"},
Pulleyblank = {"Pb", "]"},
Zhengzhang = {"Zz", "]"},
Li = {"Li", "]"},
Pan = {"Pan", "]"}
}
local function show(N,info,prons)
local reconstructions = {}
for key,val in pairs(prons) do
table.insert(reconstructions,key)
for i=1,N do
info.pron = val
end
end
local res = '(Keys: '
for key,val in pairs(people) do
res = res .. val .. '=' .. val .. ', '
end
res = res:sub(1,-3)
res = res .. ')\n {| class="wikitable" \n' ..
'! scope=col | # \n' ..
'! scope=col | Name \n' ..
'! scope=col | B \n'
for _,person in ipairs(reconstructions) do
res = res .. ' ! scope=col | ' .. people .. '\n'
end
res = res .. '\n'
local ncol = #reconstructions + 3
for i=1,N do
if info.caption then
res = res .. '|-\n'
res = res .. '| colspan=' .. ncol .. ' align=center | ' ..
info.caption .. '\n'
end
res = res .. '|-\n'
res = res .. '! scope=row | ' .. i .. '\n'
res = res .. '|' .. table.concat(info.names,'/') .. '\n'
res = res .. '|' .. info.baxter .. '\n'
for _,person in ipairs(reconstructions) do
res = res .. '|' .. info.pron .. '\n'
end
end
res = res .. '|}'
return res
end
function export.init(frame)
local N = 38
local inits = {}
for i=1,N do
inits = {names={}, pron={}}
inits.baxter = m_baxter.baxter_initial
end
for key,val in pairs(data.init_type) do
table.insert(inits.names,key)
end
inits.caption = "脣音 / bilabial"
inits.caption = "舌頭音 / alveolar"
inits.caption = "舌上音 / retroflex"
inits.caption = "齒頭音 / dental"
inits.caption = "正齒音 / retroflex?"
inits.caption = "正齒音 / post-alveolar"
inits.caption = "? / velar"
inits.caption = "喉音 / glottal"
inits.caption = "miscellaneous"
return show(N,inits,data.initialConv)
end
function export.final(frame)
local N = 160
local finals = {}
for i=1,N do
finals = {names={}, pron={}}
finals.baxter = m_baxter.baxter_final
end
local sources = {
data.fin_type,
data.fin_type_open,
data.fin_type_deng_open,
data.final_deng,
data.final_openness
}
for _,s in ipairs(sources) do
for key,val in pairs(s) do
table.insert(finals.names,key)
end
end
finals.caption = "通攝 ung"
finals.caption = "江攝 ong"
finals.caption = "止攝 i"
finals.caption = "遇攝 o"
finals.caption = "蟹攝 ai"
finals.caption = "臻攝 en"
finals.caption = "山攝 an"
finals.caption = "效攝 au"
finals.caption = "果攝 ar"
finals.caption = "假攝 a"
finals.caption = "宕攝 ang"
finals.caption = "梗攝 eng"
finals.caption = "曾攝 erng"
finals.caption = "流攝 eu"
finals.caption = "深攝 em"
finals.caption = "咸攝 am"
return show(N,finals,data.finalConv)
end
return export