Skip to content

Commit 2fd3284

Browse files
committed
Add position.js
1 parent 07836c3 commit 2fd3284

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ https://nk2028-1305783649.file.myqcloud.com/tshet-uinh-examples/<filename>
1010

1111
## List of included examples
1212

13+
**音韻地位 phonological position:** `position.js`
14+
1315
**切韻音系拼音或轉寫 romanization/transcription of the Qieyun system**
1416

1517
- 切韻拼音 (Tshet-uinh Phonetic Alphabet): `tupa.js`

position.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/* 音韻地位
2+
*
3+
* @author unt
4+
*/
5+
6+
const sextupleKeys = ['母', '呼', '等', '類', '韻', '聲'];
7+
if (選項._六元組全選) sextupleKeys.forEach(k => 選項[k] = true);
8+
if (選項._六元組全不選) sextupleKeys.forEach(k => 選項[k] = false);
9+
const keys = Object.keys(選項).filter(k => !k.startsWith('_'));
10+
const checkedKeys = keys.filter(k => 選項[k]);
11+
const checkedSextupleKeys = checkedKeys.filter(k => sextupleKeys.includes(k));
12+
13+
if (!音韻地位) return [
14+
'整體',
15+
['描述|音韻地位描述', true],
16+
['簡略描述|音韻地位簡略描述\n不推薦', false],
17+
'單項',
18+
['母|聲母', false],
19+
['呼', false],
20+
['等\n切韻等', false],
21+
['類', false],
22+
['韻|韻系\n平賅上去入', false],
23+
['聲|聲調', false],
24+
['_六元組全選|六項全選', false, { hidden: checkedSextupleKeys.length === 6, reset: true }],
25+
['_六元組全不選|六項全不選', false, { hidden: checkedSextupleKeys.length === 0, reset: true }],
26+
'更多',
27+
['組|聲母組', false],
28+
['音|五音', false],
29+
['清濁', false],
30+
['韻別|韻母陰陽入', false],
31+
// ['表達式|音韻地位表達式', false],
32+
'對應韻圖音系屬性',
33+
['字母|三十六字母', false],
34+
['韻圖等', false],
35+
['攝', false],
36+
'',
37+
['_分隔符|多個屬性間的連接符', ',', { hidden: checkedKeys.length < 2 }],
38+
];
39+
40+
return checkedKeys.map(k => 音韻地位[k]).join(選項._分隔符);

test/main.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import * as TshetUinhExamples from '../dist/index.js';
77
const 地位 = 音韻地位.from描述('書開三宵上');
88

99
const testCases = [
10+
['position', '書開三宵上'],
1011
['tupa', 'sjiewq'],
1112
['baxter', 'syewX'],
1213
['karlgren', 'ɕi̯ɛu꞉'],

0 commit comments

Comments
 (0)