-- 穴位名称拼音首字母(简化版:仅覆盖常用汉字,取 GB2312 首字母)
local p = {}

local function first_pinyin_letter(ch)
    local code = mw.ustring.codepoint(ch)
    if not code then return nil end
    -- 汉字区间 0x4E00-0x9FA5,按拼音首字母分段
    local ranges = {
        {0xB0A1, 0xB0C4, "A"}, {0xB0C5, 0xB2C0, "B"}, {0xB2C1, 0xB4ED, "C"},
        {0xB4EE, 0xB6E9, "D"}, {0xB6EA, 0xB7A1, "E"}, {0xB7A2, 0xB8C0, "F"},
        {0xB8C1, 0xB9FD, "G"}, {0xB9FE, 0xBBF6, "H"}, {0xBBF7, 0xBFA5, "J"},
        {0xBFA6, 0xC0AB, "K"}, {0xC0AC, 0xC2E7, "L"}, {0xC2E8, 0xC4C2, "M"},
        {0xC4C3, 0xC5B5, "N"}, {0xC5B6, 0xC5BD, "O"}, {0xC5BE, 0xC6D9, "P"},
        {0xC6DA, 0xC8BA, "Q"}, {0xC8BB, 0xC8F5, "R"}, {0xC8F6, 0xCBF9, "S"},
        {0xCBFA, 0xCDD9, "T"}, {0xCDDA, 0xCEF3, "W"}, {0xCEF4, 0xD188, "X"},
        {0xD189, 0xD4D0, "Y"}, {0xD4D1, 0xD7F9, "Z"}
    }
    -- GB2312 码位: ch 需转 GBK。此处用近似表:中文按 Unicode 码位映射到常用字母
    local map = {
        ["内"] = "N", ["关"] = "G", ["足"] = "Z", ["三"] = "S", ["里"] = "L",
        ["合"] = "H", ["谷"] = "G", ["太"] = "T", ["冲"] = "C", ["中"] = "Z",
        ["膻"] = "S", ["涌"] = "Y", ["泉"] = "Q", ["血"] = "X", ["海"] = "H",
        ["丰"] = "F", ["隆"] = "L", ["阴"] = "Y", ["陵"] = "L", ["百"] = "B",
        ["会"] = "H", ["风"] = "F", ["池"] = "C", ["大"] = "D", ["椎"] = "Z",
        ["天"] = "T", ["枢"] = "S", ["神"] = "S", ["门"] = "M", ["阙"] = "Q",
        ["期"] = "Q", ["印"] = "Y", ["堂"] = "T", ["迎"] = "Y", ["香"] = "X",
        ["悬"] = "X", ["钟"] = "Z", ["照"] = "Z", ["宗"] = "Z", ["曲"] = "Q",
        ["手"] = "S", ["后"] = "H", ["顶"] = "D", ["肺"] = "F", ["俞"] = "S",
        ["命"] = "M", ["肾"] = "S", ["渚"] = "Z", ["陵"] = "L", ["承"] = "C",
        ["山"] = "S", ["临"] = "L", ["支"] = "Z", ["沟"] = "G", ["丘"] = "Q",
        ["墟"] = "X", ["环"] = "H", ["跳"] = "T", ["公"] = "G", ["孙"] = "S",
        ["地"] = "D", ["机"] = "J", ["昆"] = "K", ["仑"] = "L", ["鬼"] = "G",
        ["气"] = "Q", ["梁"] = "L", ["肩"] = "J", ["井"] = "J", ["劳"] = "L",
        ["宫"] = "G", ["丹"] = "D", ["田"] = "T", ["柱"] = "Z", ["申"] = "S",
        ["脉"] = "M", ["复"] = "F", ["溜"] = "L", ["八"] = "B", ["邪"] = "X",
        ["翳"] = "Y", ["攒"] = "Z", ["竹"] = "Z", ["白"] = "B", ["极"] = "J",
        ["商"] = "S", ["丘"] = "Q", ["府"] = "F", ["水"] = "S", ["花"] = "H",
        ["庭"] = "T", ["膈"] = "G", ["溪"] = "X", ["都"] = "D", ["虎"] = "H",
        ["口"] = "K", ["腰"] = "Y", ["阳"] = "Y", ["四"] = "S", ["身"] = "S",
        ["解"] = "J", ["列"] = "L", ["缺"] = "Q", ["道"] = "D", ["间"] = "J",
        ["睛"] = "J", ["明"] = "M", ["颊"] = "J", ["车"] = "C", ["渊"] = "Y",
        ["条"] = "T", ["然"] = "R", ["伏"] = "F", ["兔"] = "T", ["完"] = "W",
        ["骨"] = "G", ["尺"] = "C", ["泽"] = "Z", ["养"] = "Y", ["老"] = "L",
        ["鱼"] = "Y", ["际"] = "J", ["耳"] = "E", ["根"] = "G", ["极"] = "J",
        ["至"] = "Z", ["鼻"] = "B", ["通"] = "T", ["市"] = "S", ["筑"] = "Z",
        ["宾"] = "B", ["女"] = "N", ["膝"] = "X", ["行"] = "X", ["带"] = "D",
        ["液"] = "Y", ["腕"] = "W", ["脾"] = "P", ["池"] = "C", ["下"] = "X",
        ["曲"] = "Q", ["天"] = "T", ["井"] = "J", ["陷"] = "X", ["光"] = "G",
        ["秩"] = "Z", ["边"] = "B", ["廉"] = "L", ["府"] = "F", ["小"] = "X",
        ["包"] = "B", ["金"] = "J", ["孔"] = "K", ["最"] = "Z", ["关"] = "G",
        ["津"] = "J", ["玉"] = "Y", ["定"] = "D", ["喘"] = "C", ["心"] = "X",
        ["冲"] = "C", ["脘"] = "W", ["隐"] = "Y", ["鹤"] = "H", ["肝"] = "G",
        ["听"] = "T", ["胆"] = "D", ["囊"] = "N", ["宫"] = "G", ["云"] = "Y",
        ["蠡"] = "L", ["山"] = "S", ["大肠"] = "D", ["髀"] = "B", ["瞳"] = "T",
        ["髎"] = "L", ["指"] = "Z", ["分"] = "F", ["地"] = "D", ["仓"] = "C",
        ["乳"] = "R", ["少"] = "S", ["殷"] = "Y", ["璇"] = "X", ["玑"] = "J",
        ["会"] = "H", ["郄"] = "X", ["率"] = "S", ["杼"] = "Z", ["丝"] = "S",
        ["漏"] = "L", ["侠"] = "X", ["颧"] = "Q", ["玉"] = "Y", ["贞"] = "Z",
        ["飞"] = "F", ["扬"] = "Y", ["灵"] = "L", ["台"] = "T", ["角"] = "J",
        ["牖"] = "Y", ["京"] = "J", ["交"] = "J", ["感"] = "G", ["人"] = "R",
        ["迎"] = "Y", ["胱"] = "G", ["容"] = "R", ["宣"] = "X", ["庭"] = "T",
        ["委"] = "W", ["横"] = "H", ["尖"] = "J", ["封"] = "F", ["胃"] = "W",
        ["束"] = "S", ["犊"] = "D", ["星"] = "X", ["断"] = "D", ["红"] = "H",
        ["厉"] = "L", ["兑"] = "D", ["子"] = "Z", ["长"] = "C", ["强"] = "Q",
        ["幽"] = "Y", ["辅"] = "F", ["箕"] = "J", ["哑"] = "Y", ["神"] = "S",
        ["眼"] = "Y", ["商"] = "S", ["梁"] = "L", ["颞"] = "N", ["水"] = "S",
        ["突"] = "T", ["颈"] = "J", ["皮"] = "P", ["质"] = "Z", ["脚"] = "J",
        ["温"] = "W", ["秉"] = "B", ["巨"] = "J", ["渎"] = "D", ["肓"] = "H",
        ["气"] = "Q", ["舍"] = "S", ["章"] = "Z", ["使"] = "S", ["郄"] = "X",
        ["少"] = "S", ["白"] = "B", ["胁"] = "X", ["滑"] = "H", ["肉"] = "R",
        ["偏"] = "P", ["历"] = "L", ["渊"] = "Y", ["腑"] = "F", ["脑"] = "N",
        ["肛"] = "G", ["通"] = "T", ["大"] = "D", ["钟"] = "Z", ["居"] = "J",
        ["神"] = "S", ["交"] = "J", ["泉"] = "Q", ["前"] = "Q", ["四"] = "S",
        ["聪"] = "C", ["舌"] = "S", ["针"] = "Z", ["头"] = "T", ["维"] = "W",
        ["次"] = "C", ["颔"] = "H", ["厌"] = "Y", ["阑"] = "L", ["安"] = "A",
        ["眠"] = "M", ["垣"] = "Y", ["管"] = "G", ["藏"] = "C", ["外"] = "W",
        ["丘"] = "Q", ["五"] = "W", ["上"] = "S", ["乳"] = "R", ["承"] = "C",
        ["额"] = "E", ["咽"] = "Y", ["喉"] = "H", ["腹"] = "F", ["气"] = "Q",
        ["灵"] = "L", ["臂"] = "B", ["跗"] = "F", ["骑"] = "Q", ["马"] = "M",
        ["都"] = "D", ["殖"] = "Z", ["石"] = "S", ["大"] = "D", ["膈"] = "G",
        ["膏"] = "G", ["肓"] = "H", ["阴"] = "Y", ["五"] = "W", ["脏"] = "Z",
        ["关"] = "G", ["盲"] = "M", ["尾"] = "W", ["络"] = "L", ["客"] = "K",
        ["八"] = "B", ["廉"] = "L", ["耳"] = "E", ["扁"] = "B", ["桃"] = "T",
        ["消"] = "X", ["泺"] = "L", ["肘"] = "Z", ["库"] = "K", ["房"] = "F",
        ["浮"] = "F", ["伴"] = "B", ["华"] = "H", ["提"] = "T", ["陶"] = "T",
        ["薜"] = "B", ["纲"] = "G", ["正"] = "Z", ["营"] = "Y", ["胸"] = "X",
        ["颅"] = "L", ["石"] = "S", ["曜"] = "Y", ["命"] = "M", ["当"] = "D",
        ["崇"] = "C", ["颊"] = "J", ["廉"] = "L", ["陵"] = "L", ["阙"] = "Q",
        ["脐"] = "Q", ["侠"] = "X", ["清"] = "Q", ["迎"] = "Y", ["极"] = "J",
        ["明"] = "M", ["颔"] = "H", ["龙"] = "L", ["髋"] = "K", ["疟"] = "N",
        ["压"] = "Y", ["肱"] = "G", ["逆"] = "N", ["聚"] = "J", ["颈"] = "J",
        ["满"] = "M", ["健"] = "J", ["拇"] = "M", ["夺"] = "D", ["设"] = "S",
        ["建"] = "J", ["燕"] = "Y", ["肠"] = "C", ["遗"] = "Y", ["发"] = "F",
        ["理"] = "L", ["刺"] = "C", ["点"] = "D", ["椎"] = "Z", ["阴"] = "Y",
        ["寸"] = "C", ["节"] = "J", ["横"] = "H", ["纹"] = "W", ["膂"] = "L",
        ["臑"] = "N", ["垂"] = "C", ["曲"] = "Q", ["差"] = "C", ["魄"] = "P",
        ["眉"] = "M", ["目"] = "M", ["静"] = "J", ["脉"] = "M", ["痛"] = "T",
        ["顶"] = "D", ["松"] = "S", ["肌"] = "J", ["老"] = "L", ["四"] = "S",
        ["王"] = "W", ["散"] = "S", ["笑"] = "X", ["旁"] = "P", ["鸡"] = "J",
        ["淋"] = "L", ["颥"] = "R", ["痨"] = "L", ["觉"] = "J", ["哮"] = "X",
        ["抬"] = "T", ["踝"] = "H", ["飞"] = "F", ["立"] = "L", ["痱"] = "F",
        ["纠"] = "J", ["翻"] = "F", ["举"] = "J", ["截"] = "J", ["指"] = "Z",
        ["彩"] = "C", ["穿"] = "C", ["耳"] = "E", ["鸣"] = "M", ["防"] = "F",
        ["近"] = "J", ["镇"] = "Z", ["咳"] = "K", ["腮"] = "S", ["聤"] = "T",
        ["肢"] = "Z", ["睾"] = "G", ["丸"] = "W", ["焦"] = "J", ["热"] = "R",
        ["肛"] = "G", ["孔"] = "K", ["蛾"] = "E", ["闭"] = "B", ["膜"] = "M",
        ["兴"] = "X", ["江"] = "J", ["晕"] = "Y", ["直"] = "Z", ["惊"] = "J",
        ["天"] = "T", ["斗"] = "D", ["急"] = "J", ["新"] = "X", ["股"] = "G",
        ["环"] = "H", ["薄"] = "B", ["恢"] = "H", ["弛"] = "C", ["假"] = "J",
        ["脊"] = "J", ["生"] = "S", ["鼠"] = "S", ["蹊"] = "X", ["屈"] = "Q",
        ["短"] = "D", ["髂"] = "Q", ["髌"] = "B", ["钱"] = "Q", ["听"] = "T",
        ["盲"] = "M", ["胯"] = "K", ["剑"] = "J", ["掘"] = "J", ["林"] = "L",
        ["解"] = "J", ["剪"] = "J", ["鸠"] = "J", ["全"] = "Q", ["知"] = "Z",
        ["屏"] = "P", ["尖"] = "J", ["声"] = "S", ["带"] = "D", ["眼"] = "Y",
        ["疾"] = "J", ["柱"] = "Z", ["灸"] = "J", ["跟"] = "G", ["胃"] = "W",
        ["肠"] = "C", ["呃"] = "E", ["承"] = "C", ["踪"] = "Z", ["传"] = "C",
        ["研"] = "Y", ["癍"] = "B", ["疬"] = "L", ["侠"] = "X", ["咬"] = "Y",
        ["小"] = "X", ["岩"] = "Y", ["募"] = "M", ["里"] = "L", ["食"] = "S",
        ["痫"] = "X", ["容"] = "R", ["风"] = "F", ["筋"] = "J", ["升"] = "S",
        ["维"] = "W", ["壳"] = "K", ["马"] = "M", ["囊"] = "N", ["缝"] = "F",
        ["强"] = "Q", ["热"] = "R", ["收"] = "S", ["区"] = "Q", ["上"] = "S",
        ["闪"] = "S", ["电"] = "D", ["枢"] = "S", ["尿"] = "N", ["琶"] = "P",
        ["旁"] = "P", ["疡"] = "Y", ["便"] = "B", ["肋"] = "L", ["靠"] = "K",
        ["额"] = "E", ["线"] = "X", ["珠"] = "Z", ["白"] = "B", ["喉"] = "H",
        ["种"] = "Z", ["亭"] = "T", ["连"] = "L", ["字"] = "Z", ["梅"] = "M",
        ["落"] = "L", ["枕"] = "Z", ["东"] = "D", ["睡"] = "S", ["交"] = "J",
        ["缩"] = "S", ["推"] = "T", ["拿"] = "N", ["聪"] = "C", ["隐"] = "Y",
        ["跟"] = "G", ["牙"] = "Y", ["拇"] = "M", ["疔"] = "D"
    }
    local m = map[ch]
    if m then return m end
    return nil
end

function p.get(frame)
    local title = frame.args[1] or mw.title.getCurrentTitle().text
    local first = mw.ustring.sub(title, 1, 1)
    local letter = first_pinyin_letter(first)
    if letter then
        return letter
    end
    return first
end

return p