모듈:Hangul/data

-- data definition
 
local final_vowel = 1
local final_consonant = 2
local final_rieul = 3
local final_unknown = 4

final_map = {
    ["ㄱ"]= final_consonant,    --기역/기윽
    ["ㄴ"]= final_consonant,    --니은
    ["ㄷ"]= final_consonant,    --디귿/디읃
    ["ㄹ"]= final_rieul,        --리을
    ["ㅁ"]= final_consonant,    --미음
    ["ㅂ"]= final_consonant,    --비읍
    ["ㅅ"]= final_consonant,    --시옷/시읏
    ["ㅇ"]= final_consonant,    --이응
    ["ㅈ"]= final_consonant,    --지읒
    ["ㅊ"]= final_consonant,    --치읓
    ["ㅋ"]= final_consonant,    --키읔
    ["ㅌ"]= final_consonant,    --티읕
    ["ㅍ"]= final_consonant,    --피읖
    ["ㅎ"]= final_consonant,    --히읗
    ["ㄲ"]= final_consonant,    --쌍기역/된기윽
    ["ㄸ"]= final_consonant,    --쌍디귿/된디읃
    ["ㅃ"]= final_consonant,    --쌍비읍/된비읍
    ["ㅆ"]= final_consonant,    --쌍시옷/된시읏
    ["ㅉ"]= final_consonant,    --씽지읒/된지읒
 
    ["0"] = final_consonant,    -- 영, 십, 백, 천, 만, 억 (조 이상은 에러)
    ["1"] = final_rieul,        -- 일
    ["2"] = final_vowel,        -- 이
    ["3"] = final_consonant,    -- 삼
    ["4"] = final_vowel,        -- 사
    ["5"] = final_vowel,        -- 오
    ["6"] = final_consonant,    -- 육
    ["7"] = final_rieul,        -- 칠
    ["8"] = final_rieul,        -- 팔
    ["9"] = final_vowel,        -- 구
 
    ["A"] = final_vowel,        -- 에이
    ["B"] = final_vowel,        -- 비
    ["C"] = final_vowel,        -- 시
    ["D"] = final_vowel,        -- 디
    ["E"] = final_vowel,        -- 이
    ["F"] = final_vowel,        -- 에프
    ["G"] = final_vowel,        -- 지
    ["H"] = final_vowel,        -- 에이치
    ["I"] = final_vowel,        -- 아이
    ["J"] = final_vowel,        -- 제이
    ["K"] = final_vowel,        -- 케이
    ["L"] = final_rieul,        -- 엘
    ["M"] = final_consonant,    -- 엠
    ["N"] = final_consonant,    -- 엔
    ["O"] = final_vowel,        -- 오
    ["P"] = final_consonant,    -- 피
    ["Q"] = final_consonant,    -- 큐
    ["R"] = final_vowel,        -- 아르 (알?)
    ["S"] = final_vowel,        -- 에스
    ["T"] = final_vowel,        -- 티
    ["U"] = fianl_vowel,        -- 유
    ["V"] = final_vowel,        -- 브이
    ["W"] = final_vowel,        -- 더블유
    ["X"] = final_vowel,        -- 엑스
    ["Y"] = final_vowel,        -- 와이
    ["Z"] = final_vowel,        -- 지, 제드, 제트
}

local particle_map = {
    -- 기본형, 배~, 감~, 귤~
    { "은(는)", "는", "은", "은"},
    { "이(가)", "가", "이", "이"},
    { "을(를)", "를", "을", "을"},
    { "와(과)", "와", "과", "과"},
    { "야(아)", "야", "아", "아"},
    { "(으)로", "로", "으로", "로"},
    { "(으)로서", "로서", "으로서", "로서"},
    { "(으)로써", "로써", "으로써", "로써"},
    { "(이)랑", "랑", "이랑", "이랑"},
    { "(이)나", "나", "이나", "이나"},
    { "(이)여", "여", "이여", "이여"},
    { "(이)시여", "시여", "이시여", "이시여"},
    { "(이)다", "다", "이다", "이다"},
    { "(이)라고", "라고", "이라고", "이라고"},
}
 
finalform_basic = {}
finalform_vowel = {}
finalform_consonant = {}
finalform_rieul = {}
 
local function registerParticleMap(rules)
    local finalform = { {}, {}, {}, {} }
    mw.log(#rules)
    for i = 1, #rules do
        rule = rules[i]
        for j = 1, 4 do
            finalform_basic[ rule[j] ] = rule[1]
            finalform_vowel[ rule[j] ] = rule[2]
            finalform_consonant[ rule[j] ] = rule[3]
            finalform_rieul[ rule[j] ] = rule[4]
        end
    end
 
    return #rules
end
 
registerParticleMap(particle_map)

return {
    final_vowel = final_vowel,
    final_consonant = final_consonant,
    final_rieul = final_rieul,
    final_unknown = final_unknown,

    finalform_basic = finalform_basic,
    finalform_vowel = finalform_vowel,
    finalform_consonant = finalform_consonant,
    finalform_rieul = finalform_rieul,
    
    final_map = final_map,
}