Class 音韻地位

《切韻》音系音韻地位。

可使用字串 (母, 呼, 等, 類, 韻, 聲) 初始化。

音韻屬性 中文名稱 英文名稱 可能取值
母
組
聲母
組
initial
group
幫滂並明
端透定泥
來
知徹澄孃
精清從心邪
莊初崇生俟
章昌常書船
日
見溪羣疑
影曉匣云
以
(粗體字為組,未涵蓋「來日以」)
呼 呼 rounding 開口
合口
等 等 division 一二三四
類 類 type ABC
韻
攝
韻母
攝
rime
class
通:東冬鍾
江:江
止:支脂之微
遇:魚虞模
蟹:齊祭泰佳皆夬灰咍廢
臻:真臻文殷魂痕
山:元寒刪山先仙
效:蕭宵肴豪
果:歌
假:麻
宕:陽唐
梗:庚耕清青
曾:蒸登
流:尤侯幽
深:侵
咸:覃談鹽添咸銜嚴凡
(冒號前為攝,後為對應的韻)
聲 聲調 tone 平上去入
仄
舒

音韻地位六要素:母、呼、等、類、韻、聲。

「呼」和「類」可為 null,其餘四個屬性不可為 null。

當聲母為脣音,或韻母為「東冬鍾江模尤侯」(開合中立的韻)之一時,「呼」須為 null。 在其他情況下,「呼」須取 '開' 或 '合'。

當聲母為鈍音(脣牙喉音,不含以母),且為三等韻時,「類」須取 'A'、'B'、'C' 之一。 在其他情況下,「類」須為 null。

依切韻韻目,用殷韻不用欣韻;亦不設諄、桓、戈韻,分別併入真、寒、歌韻。

不支援異體字,請自行轉換:

  • 音 唇 → 脣
  • 母 娘 → 孃
  • 母 荘 → 莊
  • 母 谿 → 溪
  • 母 群 → 羣
  • 韻 餚 → 肴
  • 韻 眞 → 真

Constructors

  • 初始化音韻地位物件。

    Parameters

    • 母: string

      聲母:幫, 滂, 並, 明, …

    • 呼: null | string

      呼:null, 開, 合

    • 等: string

      等:一, 二, 三, 四

    • 類: null | string

      類:null, A, B, C

    • 韻: string

      韻母(平賅上去入):東, 冬, 鍾, 江, …, 祭, 泰, 夬, 廢

    • 聲: string

      聲調:平, 上, 去, 入

    • 邊緣地位種類: 邊緣地位種類指定 = []

      建立邊緣地位時,列明該地位的邊緣地位種類

    Returns 音韻地位

    六要素所描述的音韻地位

    待建立之音韻地位會透過驗證檢驗音節合法性,不合法則拋出異常

    > new TshetUinh.音韻地位('幫', null, '三', 'C', '凡', '入');
    音韻地位<幫三C凡入>
    > new TshetUinh.音韻地位('羣', '開', '三', 'A', '支', '平');
    音韻地位<羣開三A支平>
    > new TshetUinh.音韻地位('章', '開', '三', null, '支', '平');
    音韻地位<章開三支平>
    > new TshetUinh.音韻地位('幫', null, '四', null, '先', '平');
    音韻地位<幫四先平>

Properties

呼: null | string

呼

> 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
> 音韻地位.呼;
null
> 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
> 音韻地位.呼;
'開'
母: string

聲母

> 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
> 音韻地位.母;
'幫'
> 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
> 音韻地位.母;
'羣'
等: string

等

> 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
> 音韻地位.等;
'三'
> 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
> 音韻地位.等;
'三'
聲: string

聲調

> 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
> 音韻地位.聲;
'入'
> 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
> 音韻地位.聲;
'平'
韻: string

韻(舉平以賅上去入,唯祭、泰、夬、廢例外)

> 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
> 音韻地位.韻;
'凡'
> 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
> 音韻地位.韻;
'支'
類: null | string

類

  • AB 類為前元音,在脣牙喉音有最小對立,此情形亦稱「重紐」
  • C 類為非前元音
> 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
> 音韻地位.類;
'C'
> 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
> 音韻地位.類;
'A'
> 音韻地位 = TshetUinh.音韻地位.from描述('章開三支平');
> 音韻地位.類;
null
> 音韻地位 = TshetUinh.音韻地位.from描述('幫四先平');
> 音韻地位.類;
null

Accessors

  • get 字母(): string
  • 三十六字母

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.字母;
    '非'
    > 音韻地位 = TshetUinh.音韻地位.from描述('常開三清平');
    > 音韻地位.字母;
    '禪'
    > 音韻地位 = TshetUinh.音韻地位.from描述('俟開三之上');
    > 音韻地位.字等;
    '禪'
  • get 描述(): string
  • 描述

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.描述;
    '幫三C凡入'
    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.描述;
    '羣開三A支平'
    > 音韻地位 = TshetUinh.音韻地位.from描述('章開三支平');
    > 音韻地位.描述;
    '章開三支平'
    > 音韻地位 = TshetUinh.音韻地位.from描述('幫四先平');
    > 音韻地位.描述;
    '幫四先平'
  • get 攝(): string
  • 攝

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.攝;
    '咸'
    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.攝;
    '止'
  • get 清濁(): string
  • 清濁(全清、次清、全濁、次濁)

    曉母為全清,云以來日母為次濁。

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.清濁;
    '全清'
    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.清濁;
    '全濁'
  • get 簡略描述(): string
  • 簡略描述。會省略可由「母」或由「韻」直接確定的「呼」「等」「類」。

    注意:此項尚未成為穩定功能,不要依賴其輸出值。

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.簡略描述;
    '幫凡入'
    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.簡略描述;
    '羣開A支平'
  • get 組(): null | string
  • 組

    Returns null | string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.組;
    '幫'
    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.組;
    '見'
  • get 表達式(): string
  • 表達式,可用於屬於函數

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.表達式;
    '幫母 開合中立 三等 C類 凡韻 入聲'
    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.表達式;
    '羣母 開口 三等 A類 支韻 平聲'
  • get 音(): string
  • 音(發音部位:脣、舌、齒、牙、喉)

    注意:

    • 不設半舌半齒音,來母歸舌音,日母歸齒音
    • 以母不屬於影組,但屬於喉音

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.音;
    '脣'
    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.音;
    '牙'
  • get 韻別(): string
  • 韻別(陰聲韻、陽聲韻、入聲韻)

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.韻別;
    '入'
    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.韻別;
    '陰'
  • get 韻圖等(): string
  • 韻圖等

    Returns string

    > 音韻地位 = TshetUinh.音韻地位.from描述('羣開三A支平');
    > 音韻地位.韻圖等;
    '四'
    > 音韻地位 = TshetUinh.音韻地位.from描述('常開三清平');
    > 音韻地位.韻圖等;
    '三'
    > 音韻地位 = TshetUinh.音韻地位.from描述('俟開三之上');
    > 音韻地位.韻圖等;
    '二'

Methods

  • 判斷音韻地位是否符合給定的一系列判斷條件之一,傳回第一個符合的判斷條件所對應的自訂值。

    Type Parameters

    • T
    • E extends string | boolean = false

    Parameters

    • 規則: 判斷規則列表<T>

      [判斷式, 結果][] 形式的陣列。

      判斷式可以是:

      •   函數:會被執行;若其傳回值為非空字串,會套用至音韻地位.屬於函數判斷是否符合,若為布林值則由該值決定是否符合本條件,若為其他值則直接視作符合本條件
      • 非空字串:描述音韻地位的表達式,會套用至音韻地位.屬於函數
      •  布林值:直接決定是否符合本條件
      •   其他:均視作符合(可用於當其他條件均不滿足時,指定後備結果)

      建議使用空字串、null 或 true 作末項判斷式以指定後備結果。

      結果可以是任意傳回值或遞迴規則。

    • Optionalthrows: E

      若為 true 或字串,在未涵蓋所有條件時會拋出錯誤;用字串可指定錯誤情報

    • OptionalfallThrough: boolean

      若為 true,在遞迴子陣列未涵蓋所有條件時會繼續嘗試母陣列的下一條件

    Returns E extends string | true
        ? T
        : null | T

    自訂值,在未涵蓋所有條件且不使用 error 時會回傳 null

    未涵蓋所有條件(或 error 參數之文字),或套用至 .屬於 時出現的異常

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.判斷([
    > ['遇果假攝 或 支脂之佳韻', ''],
    > ['蟹攝 或 微韻', 'i'],
    > ['效流攝', 'u'],
    > ['深咸攝', [
    > ['舒聲', 'm'],
    > ['入聲', 'p']
    > ]],
    > ['臻山攝', [
    > ['舒聲', 'n'],
    > ['入聲', 't']
    > ]],
    > ['通江宕梗曾攝', [
    > ['舒聲', 'ng'],
    > ['入聲', 'k']
    > ]]
    > ], '無韻尾規則')
    'p'
  • 判斷某個小韻是否屬於給定的音韻地位限定範圍。

    本方法可使用一般形式(.屬於('...'))或標籤模板語法(.屬於`...`)。

    標籤模板語法僅能用於字面值的字串,但寫出來較簡單清晰。在不嵌入參數時,兩者效果相同。建議當表達式為字面值時使用標籤模板語法。

    Parameters

    • 表達式: string

      描述音韻地位的字串

      字串中音韻地位的描述格式:

      • 音韻地位六要素:
        • ……母, ……等, ……韻, ……聲
        • 呼:開口, 合口, 開合中立
        • 類:A類, B類, C類, 不分類(其中 ABC 可組合書寫,如 AC類)
      • 拓展音韻地位:
        • ……組, ……音, ……攝
        • 清濁:全清, 次清, 全濁, 次濁, 清音, 濁音
        • 韻別:陰聲韻, 陽聲韻, 入聲韻
      • 其他表達式:
        • 仄聲:上去入聲
        • 舒聲:平上去聲
        • 鈍音:幫見影組
        • 銳音:鈍音以外聲母

      支援的運算子:

      • AND 運算子:且, and, &, &&
      •   OR 運算子:或, or, |, ||
      • NOT 運算子:非, not, ~, !
      • 括號:(……), (……)

      各表達式及運算子之間須以空格隔開。

      AND 運算子可省略,如 (端精組 且 入聲) 或 (以母 且 四等 且 去聲) 與 端精組 入聲 或 以母 四等 去聲 同義。

    Returns boolean

    若描述音韻地位的字串符合該音韻地位,回傳 true;否則回傳 false。

    若表達式為空、不合語法、或限定條件不合法,則拋出異常。

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C凡入');
    > 音韻地位.屬於`章母`; // 標籤模板語法(表達式為字面值時推荐)
    false
    > 音韻地位.屬於('章母'); // 一般形式
    false
    > 音韻地位.屬於`一四等`;
    false
    > 音韻地位.屬於`幫組 或 陽韻`;
    true
  • 判斷某個小韻是否屬於給定的音韻地位限定範圍(標籤模板語法)。

    嵌入的參數可以是:

    • 函數:會被執行;若其傳回值為字串,會視作表達式,遞迴套用屬於來判斷,否則會直接檢測其真值
    • 字串:視作表達式,遞迴套用屬於
    • 其他:會檢測其真值

    注意:

    • 該語法僅能用於字面值模板串,不能用於如音韻地位.判斷等
    • .屬於`${...}` 和 .屬於(`${...}`) 不同,只有前者支持上述嵌入參數,後者的模板串會先被求值為普通字串。

    Parameters

    • 表達式: TemplateStringsArray

      描述音韻地位的模板字串列表。

    • Rest...參數: unknown[]

      要嵌入模板的參數列表。

    Returns boolean

    若描述音韻地位的字串符合該音韻地位,回傳 true;否則回傳 false。

    若表達式為空、不合語法、或限定條件不合法,則拋出異常。

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三凡入');
    > 音韻地位.屬於`一四等 或 ${音韻地位.描述 === '幫三凡入'}`;
    true
  • 判斷當前音韻地位是否等於另一音韻地位。

    Parameters

    Returns boolean

    若相等,則回傳 true;否則回傳 false。

    > a = TshetUinh.音韻地位.from描述('羣開三A支平');
    > b = TshetUinh.音韻地位.from描述('羣開三A支平');
    > a === b;
    false
    > a.等於(b);
    true
  • 調整該音韻地位的屬性,會驗證調整後地位的合法性,回傳新的物件。

    注意:原物件不會被修改。

    Parameters

    • 調整屬性: string | Partial<Pick<音韻地位,
          | "母"
          | "呼"
          | "等"
          | "類"
          | "韻"
          | "聲">>

      可為以下種類之一:

      • 物件,其屬性可為六項基本屬性中的若干項,各屬性的值為欲修改成的值。

        不含某屬性或某屬性值為 undefined 則表示不修改該屬性。

      • 字串,可寫出若干項屬性,以空白分隔各項。各屬性的寫法如下:

        • 母、等、韻、聲:如 '見母'、'三等'、'元韻'、'平聲' 等
        • 呼:'開口'、'合口'、'開合中立'
        • 類:'A類'、'B類'、'C類'、'不分類'
    • 邊緣地位種類: 邊緣地位種類指定 = []

      若調整後為邊緣地位,列明其種類

    Returns 音韻地位

    新的 音韻地位,其中會含有指定的修改值

    > 音韻地位 = TshetUinh.音韻地位.from描述('幫三C元上');
    > 音韻地位.調整({ 聲: '平' }).描述
    '幫三C元平'
    > 音韻地位.調整('平聲').描述
    '幫三C元平'
    > 音韻地位.調整({ 母: '見', 呼: '合' }).描述
    '見合三C元上'
    > 音韻地位.調整('見母 合口').描述
    '見合三C元上'
  • 將音韻描述或簡略音韻描述轉換為音韻地位。

    Parameters

    • 音韻描述: string

      音韻地位的描述

    • 簡略描述: boolean = false

      為 true 則允許簡略描述,否則須為完整描述

    • 邊緣地位種類: 邊緣地位種類指定 = []

    Returns 音韻地位

    給定的音韻描述或最簡描述對應的音韻地位

    > TshetUinh.音韻地位.from描述('幫三C凡入');
    音韻地位<幫三C凡入>
    > TshetUinh.音韻地位.from描述('幫凡入', true);
    音韻地位<幫三C凡入>
    > TshetUinh.音韻地位.from描述('羣開三A支平');
    音韻地位<羣開三A支平>
  • 驗證給定的音韻地位六要素是否合法。

    母必須為「幫滂並明端透定泥來知徹澄孃精清從心邪莊初崇生俟章昌常書船日見溪羣疑影曉匣云以」之一。

    韻必須為「東冬鍾江支脂之微魚虞模齊祭泰佳皆夬灰咍廢真臻文殷元魂痕寒刪山先仙蕭宵肴豪歌麻陽唐庚耕清青蒸登尤侯幽侵覃談鹽添咸銜嚴凡」之一。

    當聲母為脣音,或韻母為「東冬鍾江虞模尤幽」(開合中立的韻)時,呼須為 null。 在其他情況下,呼須取「開」或「合」。

    當聲母為脣牙喉音(不含以母),且為三等韻時,類須取 A、B、C 之一。 在其他情況下,類須為 null。

    等:

    • 章組、云以日母:限三等
    • 羣邪俟母:一般限三等
    • 匣母:一般限非三等
    • 端組:限非三等,一般限一四等
    • 精組(邪母除外):限一三四等
    • 知莊組(俟母除外):限二三等
    • 此外等當須與韻搭配

    呼:

    • 脣音、或開合中立韻:限 null(開合中立)
    • 云母:除效流深咸四攝外,限非開口
    • 其餘情形:呼須取「開」或「合」

    類:

    • 限幫見影組三等,其餘情形均須取 null(不分類)
    • 前元音韻(支脂祭真仙宵麻庚清幽侵):須取 A 或 B,其中清韻限 A 類,庚韻限 B 類
    • 其餘韻一般須取 C
    • 蒸韻:須取 C 或 B
    • 陽韻:限 C 類,但有取 A 類之罕見例外
    • 云母:限非 A 類

    韻:

    • 凡韻:限脣音
    • 嚴韻、之魚殷痕韻:限非脣音
    • 臻韻:限莊組
    • 真殷韻開口、清韻:限非莊組
    • 庚韻非二等:銳音限莊組

    Parameters

    • 母: string

      聲母:幫, 滂, 並, 明, …

    • 呼: null | string

      呼:null, 開, 合

    • 等: string

      等:一, 二, 三, 四

    • 類: null | string

      類:null, A, B, C

    • 韻: string

      韻母(舉平以賅上去入):東, 冬, 鍾, 江, …, 祭, 泰, 夬, 廢

    • 聲: string

      聲調:平, 上, 去, 入

    • 邊緣地位種類: 邊緣地位種類指定 = []

      若為邊緣地位,列明其種類

    Returns void

    若給定的音韻地位六要素不合法,則拋出異常