Options
All
  • Public
  • Public/Protected
  • All
Menu

Class 音韻地位

《切韻》音系音韻地位。

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

音韻屬性 中文名稱 英文名稱 可能取值

聲母
initial
group
滂並明
透定泥

徹澄孃
清從心邪
初崇生俟
昌常書船

溪羣疑
曉匣云

(粗體字為組,未涵蓋「來日以」)
rounding 開口
合口
division 一二三四
重紐 重紐 repeated initials 重紐A類
重紐B類

韻母
rhyme
class
通:東冬鍾
江:江
止:支脂之微
遇:魚虞模
蟹:齊祭泰佳皆夬灰咍廢
臻:眞臻文欣元魂痕
山:寒刪山先仙
效:蕭宵肴豪
果:歌
假:麻
宕:陽唐
梗:庚耕清青
曾:蒸登
流:尤侯幽
深:侵
咸:覃談鹽添咸銜嚴凡
(冒號前為攝,後為對應的韻)
聲調 tone 平上去入

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

「呼」和「重紐」可為 null,其餘四個屬性不可為 null

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

當聲母為脣牙喉音(云以母除外),且韻母為「支脂祭眞仙宵侵鹽」八韻之一時,重紐必須取 AB。 在其他情況下,重紐可以(並最好)取 null

注意:元韻置於臻攝而非山攝。

不設諄、桓、戈韻。分別併入眞、寒、歌韻。

不支援異體字,請手動轉換:

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

Hierarchy

  • 音韻地位

Index

Constructors

  • new 音韻地位(: string, 呼: string, 等: string, 重紐: string, 韻: string, 聲: string): 音韻地位
  • 初始化音韻地位物件。

    example
    > new Qieyun.音韻地位('幫', null, '三', null, '凡', '入');
    音韻地位 { '幫三凡入' }
    > new Qieyun.音韻地位('羣', '開', '三', 'A', '支', '平');
    音韻地位 { '羣開三A支平' }

    Parameters

    • 母: string

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

    • 呼: string

      呼:null, 開, 合

    • 等: string

      等:一, 二, 三, 四

    • 重紐: string

      重紐:null, A, B

    • 韻: string

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

    • 聲: string

      聲調:平, 上, 去, 入

    Returns 音韻地位

    字串所描述的音韻地位。

Properties

: string

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

聲母

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

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

聲調

example
> 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
> 音韻地位.;
'入'
> 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
> 音韻地位.;
'平'
重紐: string

重紐

example
> 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
> 音韻地位.重紐;
null
> 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
> 音韻地位.重紐;
'A'
: string

韻(舉平以賅上去入)

example
> 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
> 音韻地位.;
'凡'
> 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
> 音韻地位.;
'支'

Accessors

  • get 描述(): string
  • 描述

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.描述;
    '幫三凡入'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.描述;
    '羣開三A支平'

    Returns string

  • get(): string
  • example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.;
    '咸'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.;
    '止'

    Returns string

  • get 最簡描述(): string
  • 最簡描述

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.最簡描述;
    '幫凡入'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.最簡描述;
    '羣開A支平'

    Returns string

  • get 清濁(): string
  • 清濁(全清、次清、全濁、次濁)

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

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.清濁;
    '全清'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.清濁;
    '全濁'

    Returns string

  • get(): string
  • example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.;
    '幫'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.;
    '見'

    Returns string

  • get 編碼(): string
  • 音韻地位對應的編碼。音韻編碼與音韻地位之間存在一一映射關係。

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.編碼;
    'A9D'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.編碼;
    'fFA'

    Returns string

  • get 表達式(): string
  • 表達式,可用於 屬於 函數

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.表達式;
    '幫母 開合中立 三等 不分重紐 凡韻 入聲'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.表達式;
    '羣母 開口 三等 重紐A類 支韻 平聲'

    Returns string

  • get(): string
  • 音(發音部位:脣、舌、齒、牙、喉)

    注意

    • 不設半舌半齒音,來母歸舌音,日母歸齒音
    • 以母不屬於影組,但屬於喉音
    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.;
    '脣'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.;
    '牙'

    Returns string

  • get 韻別(): string
  • 韻別(陰聲韻、陽聲韻、入聲韻)

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.韻別;
    '入'
    > 音韻地位 = Qieyun.音韻地位.from描述('羣開三A支平');
    > 音韻地位.韻別;
    '陰'

    Returns string

Methods

  • 判斷<T, E>(規則: 規則<T>, error?: E, fallback?: boolean): E extends Falsy ? T : T
  • 判斷某個小韻是否符合給定的某個條件,傳回自訂值。

    throws

    未涵蓋所有條件(或 error 參數), 規則需符合格式, 無效的表達式, 表達式為空, 非預期的運算子, 非預期的閉括號, 括號未匹配

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.判斷([
    > ['遇果假攝 或 支脂之佳韻', ''],
    > ['蟹攝 或 微韻', 'i'],
    > ['效流攝', 'u'],
    > ['深咸攝', [
    > ['舒聲', 'm'],
    > ['入聲', 'p']
    > ]],
    > ['臻山攝', [
    > ['舒聲', 'n'],
    > ['入聲', 't']
    > ]],
    > ['通江宕梗曾攝', [
    > ['舒聲', 'ng'],
    > ['入聲', 'k']
    > ]]
    > ], '無韻尾規則')
    'p'

    Type Parameters

    • T

    • E = undefined

    Parameters

    • 規則: 規則<T>

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

      判斷式可以是:

      •   函數:會被執行;若其傳回值為非空字串,會套用至 音韻地位.屬於 函數,若為布林值則直接決定是否跳過本規則,否則規則永遠不會被跳過
      • 非空字串:描述音韻地位的表達式,會套用至 音韻地位.屬於 函數
      •  布林值:直接決定是否跳過本規則
      •   其他:規則永遠不會被跳過(可用作指定後備結果)

      建議使用空字串、nulltrue 作判斷式以指定後備結果。

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

    • Optional error: E

      若為 true 或非空字串,在未涵蓋所有條件時會拋出錯誤。

    • Optional fallback: boolean

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

    Returns E extends Falsy ? T : T

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

  • 屬於(表達式: string): boolean
  • 屬於(表達式: readonly string[], ...參數: unknown[]): boolean
  • 判斷某個小韻是否屬於給定的音韻地位限定範圍。

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

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

    throws

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

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.屬於`章母`; // 標籤模板語法(表達式為字面值時推荐)
    false
    > 音韻地位.屬於('章母'); // 一般形式
    false
    > 音韻地位.屬於`一四等`;
    false
    > 音韻地位.屬於`幫組 或 陽韻`;
    true

    Parameters

    • 表達式: string

      描述音韻地位的字串

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

      • 音韻地位六要素:
        • ……母, ……等, ……韻, ……聲
        • 呼:開口, 合口, 開合中立
        • 重紐:重紐A類, 重紐B類, 不分重紐
      • 拓展音韻地位:
        • ……組, ……音, ……攝
        • 清濁:全清, 次清, 全濁, 次濁, 清音, 濁音
        • 韻別:陰聲韻, 陽聲韻, 入聲韻
      • 其他表達式:
        • 輕脣韻:東鍾微虞廢文元陽尤凡韻三等(僅判斷韻與等,不判斷聲母)
        • 次入韻:祭泰夬廢韻
        • 仄聲:上去入聲
        • 舒聲:平上去聲
        • 鈍音:幫見影組
        • 銳音:鈍音以外聲母

      支援的運算子:

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

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

      AND 運算子可省略。

      (端精組 且 入聲) 或 (以母 且 四等 且 去聲)端精組 入聲 或 以母 四等 去聲 同義。

    Returns boolean

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

  • 判斷某個小韻是否屬於給定的音韻地位限定範圍(標籤模板語法)。

    嵌入的參數可以是:

    • 函數:會被執行;若其傳回值為字串,會遞迴套用至 音韻地位.屬於 函數,否則會檢測其真值
    • 字串:會遞迴套用至 音韻地位.屬於 函數
    • 其他:會檢測其真值

    注意

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

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

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三凡入');
    > 音韻地位.屬於`一四等 或 ${音韻地位.描述 === '幫三凡入'}`;
    true

    Parameters

    • 表達式: readonly string[]

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

    • Rest ...參數: unknown[]

      要嵌入模板的參數列表。

    Returns boolean

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

  • 判斷當前音韻地位是否等於另一音韻地位。

    example
    > a = Qieyun.音韻地位.from描述('羣開三A支平');
    > b = Qieyun.音韻地位.from描述('羣開三A支平');
    > a === b;
    false
    > a.等於(b);
    true

    Parameters

    Returns boolean

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

  • 調整該音韻地位的屬性,會驗證調整後地位的合法性,返回新的對象。

    注意:原對象不會被修改。

    example
    > 音韻地位 = Qieyun.音韻地位.from描述('幫三元上');
    > 音韻地位.調整({ 聲: '平' }).描述
    '幫三元平'
    > 音韻地位.調整({ 母: '見', 呼: '合' }).描述
    '見合三元上'

    Parameters

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

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

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

    Returns 音韻地位

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

  • 將音韻描述或最簡音韻描述轉換為音韻地位。

    example
    > Qieyun.音韻地位.from描述('幫三凡入');
    音韻地位 { '幫三凡入' }
    > Qieyun.音韻地位.from描述('羣開三A支平');
    音韻地位 { '羣開三A支平' }

    Parameters

    • 音韻描述: string

      音韻地位的描述或最簡描述

    Returns 音韻地位

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

  • 將音韻編碼轉換為音韻地位。

    example
    > Qieyun.音韻地位.from編碼('A9D');
    音韻地位 { '幫三凡入' }
    > Qieyun.音韻地位.from編碼('fFA');
    音韻地位 { '羣開三A支平' }

    Parameters

    • 音韻編碼: string

      音韻地位的編碼

    Returns 音韻地位

    給定的音韻編碼對應的音韻地位。

  • 驗證(: string, 呼: string, 等: string, 重紐: string, 韻: string, 聲: string): void
  • 驗證給定的音韻地位六要素是否合法。此為最小程度的驗證,想要更強限定請用 適配分析體系

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

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

    注意:不設諄、桓、戈韻。分別併入眞、寒、歌韻。

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

    當聲母為脣牙喉音,且韻母為「支脂祭眞仙宵侵鹽」八韻之一時,重紐必須取 AB。 在其他情況下,重紐可以取 null

    throws

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

    Parameters

    • 母: string

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

    • 呼: string

      呼:null, 開, 合

    • 等: string

      等:一, 二, 三, 四

    • 重紐: string

      重紐:null, A, B

    • 韻: string

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

    • 聲: string

      聲調:平, 上, 去, 入

    Returns void

Generated using TypeDoc