Skip to content

Commit

Permalink
Update mid_tang and chiangxhua: [ɨ] and 鍾韻
Browse files Browse the repository at this point in the history
  • Loading branch information
untunt committed Jan 1, 2024
1 parent 2e9950e commit c6c6bca
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 21 deletions.
3 changes: 1 addition & 2 deletions chiangxhua.js
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,7 @@ function 音位to音值(音節) {
替換韻核('ɔ', ['o'], 音節.韻尾 === 'j'); // /wɑj/ 離 [i] 更近
}
if (['wŋ', 'wk'].includes(音節.韻尾)) {
替換韻核(/[iɨ]/, ['u']);
替換韻核('y', ['o']);
替換韻核(/[iɨy]/, ['u']);
替換韻核(/[ɛɔ]/, ['ɑ']);
音節.韻尾 = 音節.韻尾.replace('w', '');
}
Expand Down
47 changes: 28 additions & 19 deletions mid_tang.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,11 @@ if (!音韻地位) return [
選項.顯示更多選項 ? ['見組一二等簡寫作軟腭音', false] : [],

'韻',
['低元音', [2, '前\u2006æ 非前\u2006a', '前\u2006æ 非前\u2006ɑ', '前\u2006a 非前\u2006ɑ']],
['低元音', [2, '前\u2006æ 後\u2006a', '前\u2006æ 後\u2006ɑ', '前\u2006a 後\u2006ɑ']],
['後高元音' + 刷新, [is盛唐 ? 2 : 1, 'ɨ', '開音節\u2006ɨ 閉音節\u2006ə', '開音節\u2006ɯ 閉音節\u2006ə']],
['部分蟹攝二等入假攝' + 刷新, !is韻圖],
['部分流攝脣音入遇攝' + 刷新, !is韻圖],
['同攝BC韻合併(文韻除外)' + 刷新, !is盛唐],
['同攝 BC 韻合併' + 刷新, !is盛唐],
['清青合併' + 刷新, !is盛唐],
['咍泰合併' + 刷新, !is盛唐],
選項.顯示更多選項 ? ['覃談合併' + 刷新, true] : [],
Expand All @@ -57,7 +58,7 @@ if (!音韻地位) return [
];

Object.entries(選項).forEach(([k, v]) => { 選項[k.trim()] = v; });
選項.BC合併 = 選項['同攝BC韻合併(文韻除外)'];
選項.BC合併 = 選項['同攝 BC 韻合併'];
選項.常船合併 = 選項['常船合併、崇俟合併'];
選項.崇俟合併 = 選項['常船合併、崇俟合併'];
選項.覃談合併 = 選項.覃談合併 ?? true;
Expand Down Expand Up @@ -155,7 +156,7 @@ function get韻基() {
const = 韻圖等 === '二';
const 三四 = 韻圖等 === '三' || 韻圖等 === '四';
let result = when([
['止攝', [ // /əj/
['止攝', [ // /ɨj/
[!選項.BC合併 && '微韻', [
['開口', 'ɨj'],
['', 'uj'],
Expand All @@ -169,9 +170,10 @@ function get韻基() {
[!選項.咍泰合併 && '咍灰韻', 'əj'],
[, 'ɑj'],
]],
['臻攝 非 元韻', [ // /ən/
['文韻', 'un'],
[, 'ən'],
['臻攝 非 元韻', [ // /ɨn/
[!選項.BC合併 && '眞韻', 'in'],
['文韻 或 眞韻 (重紐B類 或 云母) 合口', 'un'],
[, 'ɨn'],
['', 'in'],
]],
['山攝 或 元韻', [ // /an/
Expand All @@ -181,33 +183,37 @@ function get韻基() {
[, 'ɑn'],
]],

['遇攝', [ // /ə/
['魚韻', 'ɯ'],
['', 'u'],
['遇攝', [ // /ɨ/
['魚韻', 'ɨ'],
['', 'u'], // /wɨ/ 同時相當於 /wɨw/
]],
['果假攝', [ // /a/
['假攝', 'æ'],
['', 'ɑ'],
]],
['曾攝', 'əŋ'], // /əŋ/
['通攝', [ // /əwŋ/
['鍾韻 非 幫組', 'oŋ'], // 輕唇不分東鍾
['', 'uŋ'],
['曾攝', 'ɨŋ'], // /ɨŋˠ/
['通攝', [ // /ɨwŋˤ/
[輕唇化條件, 'uŋ'], // 輕唇不分東鍾
['鍾韻', 'uŋ'], // /wɨwŋˤ/ 同時相當於 /wɨŋˤ/
['', 'ɨwŋ'],
]],
['梗攝', [ // /ajŋ/
['梗攝', [ // /aŋʲ/
[選項.清青合併 || '青韻', 'ɛŋ'],
['', 'æŋ'],
]],
['宕攝', 'ɑŋ'], // //
['江攝', 'ɔŋ'], // /awŋ/
['宕攝', 'ɑŋ'], // /aŋˤ/
['江攝', 'ɔŋ'], // /awŋˤ/

['流攝', 'əw'], // /əw/
['流攝', 'ɨw'], // /ɨw/
['效攝', [ // /aw/
[三四, 'ɛw'],
[, 'æw'],
[, 'ɑw'],
]],
['深攝', 'im'], // /əm/
['深攝', [ // /ɨm/
[, 'ɨm'],
['', 'im'],
]],
['咸攝', [ // /am/
[!選項.BC合併 && '嚴凡韻', 'ɜm'],
[三四, 'ɛm'],
Expand All @@ -220,6 +226,9 @@ function get韻基() {
let 兩個低元音 = 選項.低元音.split(' ').map(e => e.slice(-1));
result = result.replace('æ', 兩個低元音[0]);
result = result.replace('ɑ', 兩個低元音[1]);
let 兩個後高元音 = 選項.後高元音.split(' ').map(e => e.slice(-1));
result = result.replace(/ɨ(?=$|j)/, 兩個後高元音[0]);
result = result.replace(/ɨ(?=[^j])/, 兩個後高元音.slice(-1));
return result;
}

Expand Down

0 comments on commit c6c6bca

Please sign in to comment.