TshetUinhEncoder.轉換.韻目到韻 的原始碼

# -*- coding: utf-8 -*-

import warnings

# 經典韻系

# 首字爲認定的標準韻,之後爲非標準韻
# 非標準韻的情況:
# - 異體字(如眞→真)
# - 後世韻書更改韻目(如殷→欣)
# - 後世韻書拆分韻目(如真→真諄)
#
# 特例:王三有兩個嚴韻
_非標準韻表 = (
    '東 董蕫 送 屋',
    '冬 湩 宋 沃𣵽',
    '鍾鐘 腫 用 燭',
    '江 講 絳 覺',
    '支 紙 寘',
    '脂 旨 至',
    '之 止 志',
    '微 尾 未',
    '魚 語 御',
    '虞 麌噳 遇',
    '模 姥 暮莫',
    '齊 薺 霽',
    '佳 蟹 卦',
    '皆𣅜 駭 怪',
    '灰 賄 隊',
    '咍 海 代',
    '真眞諄𧩽 軫準 震稕 質術',
    '臻 𧤛 櫬 櫛',
    '文 吻 問 物勿',
    '殷欣 隱 焮 迄',
    '元 阮 願 月',
    '魂䰟 混 慁圂 沒',
    '痕 很佷 恨𢙃 麧',
    '寒桓 旱緩 翰換 曷末',
    '刪𠜂 潸 諫 鎋舝',
    '山 產産 襇襉 黠',
    '先 銑 霰 屑㞕',
    '仙㒨 獮𤣗 線 薛𧀼',
    '蕭 篠筱 嘯',
    '宵霄 小 笑𥬇',
    '肴爻 巧 效',
    '豪𩫚 晧 号',
    '歌戈 哿果 箇過',
    '麻 馬 禡',
    '陽 養 漾 藥',
    '唐 蕩 宕 鐸',
    '庚 梗 映敬 陌',
    '耕 耿 諍 麥',
    '清淸 靜 勁 昔㫺',
    '青靑 迥 徑 錫',
    '蒸 拯抍 證 職',
    '登 等 嶝隥 德',
    '尤 有 宥',
    '侯矦 厚𠪀 候𠊱𠋫',
    '幽 黝 幼㓜',
    '侵 寑寢 沁 緝',
    '覃𧟹 感 勘 合',
    '談 敢𠭖 闞 盍盇',
    '鹽 琰 豔 葉',
    '添沾 忝 㮇栝 怗帖',
    '咸 豏 陷 洽',
    '銜 檻 鑑㽉 狎',
    '嚴 儼广 釅驗 業',
    '凡 范 梵 乏',
    '祭',
    '廢',
    '泰夳',
    '夬𡗒',
)

_標準韻映射表 = {非標準韻: 非標準韻們[0] for 非標準韻們 in _非標準韻表 for 非標準韻 in 非標準韻們.replace(' ', '')}

[文件] def 韻目到韻(: str) -> str: ''' 將切韻系韻書的韻目轉換爲韻。 此函式具有冪等性,即 ``韻目到韻(韻目到韻(韻目)) == 韻目到韻(韻目)`` 永遠成立。 Examples: >>> 韻目到韻('物') '文' >>> 韻目到韻('敬') '庚' >>> 韻目到韻('東') '東' ''' if == '驗': warning = "There is more confusion between 鹽B and 嚴 in 集韻, so '驗' (廣韻鹽B) becomes 嚴 in 集韻" warnings.warn(warning) return _標準韻映射表[]