Skip to content

Commit

Permalink
Fix n_song: make 章止開 independent
Browse files Browse the repository at this point in the history
  • Loading branch information
untunt committed Feb 10, 2025
1 parent 3a57988 commit be6e8d0
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions n_song.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ if (!音韻地位) return [
],
},
['蟹一合\n保守:wɔj\n時興:uj', [2, 'wɔj', 'uj'], { hidden: !is表層 }],
['章止同蟹|章止開 = 章蟹開\n《聲音唱和圖》和《蒙古字韻》同音,但北方官話實際不同音。《中原音韻》中,章止開歸支思韻,章蟹開歸齊微韻', false],
['部分蟹攝二等歸假攝', true],
['部分流攝脣音歸遇攝', true],
'調',
Expand Down Expand Up @@ -141,18 +142,19 @@ function get介音(等, 開合) {

function get韻基() {
return when([
['蟹攝 (一二等 或 莊組)', 'aj'], // 一聲下(僅舒聲)

['止蟹攝 合口 非 莊組', 選項.止蟹三四合韻基 ?? 'ɨj'], // 五聲下(舒)
['曾梗攝', is`入聲` ? 'ɨk' : 'ɨŋ'], // 五聲下(入) & 二聲下
['遇攝', 'ɯ'], // 六聲下(僅舒聲)

['止蟹攝', 'ɨ'], // 五聲上(舒)
['止攝 (莊組 或 精章組 開口)', 'ɨ'], // 五聲上(舒)
['臻攝', is`入聲` ? 'ɨt' : 'ɨn'], // 五聲上(入) & 三聲下

['果假攝', 'a'], // 一聲上(舒)
['山攝', is`入聲` ? 'at' : 'an'], // 一聲上(入) & 三聲上

['遇攝', 'ɯ'], // 六聲下(僅舒聲)
['蟹攝 (一二等 或 莊組)', 'aj'], // 一聲下(僅舒聲)

['止蟹攝 合口', 選項.止蟹三四合韻基 ?? 'ɨj'], // 五聲下(舒)
['止蟹攝', 選項.章止同蟹 ? 'ɨ' : 'ɨj'],
['曾梗攝', is`入聲` ? 'ɨk' : 'ɨŋ'], // 五聲下(入) & 二聲下

['流攝', 'ɨw'], // 四聲下(舒)
['通攝', is`入聲` ? 'ɨwk' : 'ɨwŋ'], // 四聲下(入) & 六聲上
Expand Down Expand Up @@ -192,8 +194,9 @@ function 底層to表層(音節) {
} else if (音節.介音.includes('j')) {
// 三四等
替換韻核('ɯ', ['ɯ', 'u']);
替換韻核('ɨ', ['ɨ', 'y'], 音節.韻尾);
替換韻核('ɨ', ['i']);
替換韻核('ɨ', ['i', 'y'], 音節.韻尾);
替換韻核('ɨ', ['i'], 選項.章止同蟹);
替換韻核('ɨ', ['ɨ', 'i']);
替換韻核('ɑ', ['æ', 'ɐ'], !音節.韻尾); // 北宋時麻二麻三未有明確分開的跡象,暫擬作 [jæ]
替換韻核('ɑ', ['ɛ', 'ɔ'], is`鈍音` && !音節.介音.includes('ʲ'));
替換韻核('ɑ', ['ɛ']);
Expand All @@ -214,6 +217,7 @@ function 底層to表層(音節) {
}
音節.介音 = 音節.介音.replace('jw', 'ɥ');
if (['ji', 'ɥy', 'wu'].includes(音節.介音.slice(-1) + 音節.韻核)) 音節.介音 = 音節.介音.slice(0, -1);
if (音節.韻核 === 'i' && 音節.韻尾 === 'j') 音節.韻尾 = '';
}

function 後處理(音節) {
Expand Down

0 comments on commit be6e8d0

Please sign in to comment.