1
- from .常量 import 常量
2
- from .音韻地位 import 音韻地位
1
+ # -*- coding: utf-8 -*-
2
+
3
+ from QieyunEncoder import 常量
4
+ from QieyunEncoder import 音韻地位
3
5
4
6
'''
5
7
注意!!
8
10
未來寫好後,此檔案將被移除。
9
11
'''
10
12
13
+
11
14
def normalize韻 (韻 ):
12
15
'''
13
16
TODO: 1. 檢查韻典網錯誤
@@ -230,12 +233,13 @@ def normalize韻(韻):
230
233
'末' : '寒' ,
231
234
'霄' : '宵' ,
232
235
'𥬇' : '宵' ,
233
- '敬' : '庚' , # 映韻
234
- '寢' : '侵' , # 寑韻
235
- '帖' : '添' , # 怗韻
236
+ '敬' : '庚' , # 映韻
237
+ '寢' : '侵' , # 寑韻
238
+ '帖' : '添' , # 怗韻
236
239
'䰟' : '魂' ,
237
240
}[韻 ]
238
241
242
+
239
243
'''
240
244
TODO:
241
245
韻目 = {
@@ -274,14 +278,15 @@ def normalize韻(韻):
274
278
'''
275
279
276
280
l韻圖母號2韻圖母位置 = [
277
- '舌齒音第二位' , '舌齒音第一位' , # 舌齒音
278
- '喉音第四位' , '喉音第三位' , '喉音第二位' , '喉音第一位' , # 喉音
279
- '齒音第五位' , '齒音第四位' , '齒音第三位' , '齒音第二位' , '齒音第一位' , # 齒音
280
- '牙音第四位' , '牙音第三位' , '牙音第二位' , '牙音第一位' , # 牙音
281
- '舌音第四位' , '舌音第三位' , '舌音第二位' , '舌音第一位' , # 舌音
282
- '脣音第四位' , '脣音第三位' , '脣音第二位' , '脣音第一位' , # 脣音
281
+ '舌齒音第二位' , '舌齒音第一位' , # 舌齒音
282
+ '喉音第四位' , '喉音第三位' , '喉音第二位' , '喉音第一位' , # 喉音
283
+ '齒音第五位' , '齒音第四位' , '齒音第三位' , '齒音第二位' , '齒音第一位' , # 齒音
284
+ '牙音第四位' , '牙音第三位' , '牙音第二位' , '牙音第一位' , # 牙音
285
+ '舌音第四位' , '舌音第三位' , '舌音第二位' , '舌音第一位' , # 舌音
286
+ '脣音第四位' , '脣音第三位' , '脣音第二位' , '脣音第一位' , # 脣音
283
287
]
284
288
289
+
285
290
def 韻圖母號_韻圖等_切韻韻2韻圖母 (韻圖母號 , 韻圖等 , 切韻韻 ):
286
291
return [
287
292
# 舌齒音
@@ -315,13 +320,15 @@ def 韻圖母號_韻圖等_切韻韻2韻圖母(韻圖母號, 韻圖等, 切韻
315
320
'非' if 韻圖等 == '三' and 切韻韻 in 常量 .輕脣韻 else '幫' ,
316
321
][韻圖母號 ]
317
322
323
+
318
324
def 韻圖等_切韻韻2切韻等 (韻圖等 , 切韻韻 ):
319
325
if 切韻韻 in 常量 .一三等韻 :
320
326
return '一' if 韻圖等 == '一' else '三'
321
327
if 切韻韻 in 常量 .二三等韻 :
322
- return '二' if 韻圖等 == '二' else '三' # TODO: 麻庚韻莊組
328
+ return '二' if 韻圖等 == '二' else '三' # TODO: 麻庚韻莊組
323
329
return ''
324
330
331
+
325
332
def 韻圖母_韻圖等2切韻母 (韻圖母 , 韻圖等 ):
326
333
if 韻圖母 == '喻' :
327
334
return '云' if 韻圖等 == '三' else '以'
@@ -337,17 +344,23 @@ def 韻圖母_韻圖等2切韻母(韻圖母, 韻圖等):
337
344
if 韻圖母 == '禪' :
338
345
return '船' if 韻圖等 == '三' else '俟'
339
346
340
- if 韻圖母 == '非' : return '幫'
341
- if 韻圖母 == '敷' : return '滂'
342
- if 韻圖母 == '奉' : return '並'
343
- if 韻圖母 == '微' : return '明'
347
+ if 韻圖母 == '非' :
348
+ return '幫'
349
+ if 韻圖母 == '敷' :
350
+ return '滂'
351
+ if 韻圖母 == '奉' :
352
+ return '並'
353
+ if 韻圖母 == '微' :
354
+ return '明'
344
355
345
356
return 韻圖母
346
357
358
+
347
359
def 切韻母_切韻韻_韻圖等2重紐 (切韻母 , 切韻韻 , 韻圖等 ):
348
360
return '' if 切韻母 not in 常量 .重紐母 or 切韻韻 not in 常量 .重紐韻 else \
349
- 'B' if 韻圖等 == '三' else \
350
- 'A'
361
+ 'B' if 韻圖等 == '三' else \
362
+ 'A'
363
+
351
364
352
365
def 韻圖2切韻 (轉號 , 韻圖開合修正後 , 韻圖母位置 , 韻圖聲 , 韻圖韻 , 韻圖等 ):
353
366
切韻韻 = normalize韻 (韻圖韻 )
@@ -360,7 +373,7 @@ def 韻圖2切韻(轉號, 韻圖開合修正後, 韻圖母位置, 韻圖聲, 韻
360
373
重紐 = 切韻母_切韻韻_韻圖等2重紐 (切韻母 , 切韻韻 , 韻圖等 )
361
374
音韻描述 = 切韻母 + 韻圖開合修正後 + 切韻等 + 重紐 + 切韻韻 + 韻圖聲
362
375
try :
363
- 當前音韻地位 = 音韻地位 .from描述 (音韻描述 ) # will perform check
376
+ 當前音韻地位 = 音韻地位 .from描述 (音韻描述 ) # will perform check
364
377
except Exception :
365
378
assert False , 音韻描述
366
379
return 韻圖母 , 當前音韻地位
0 commit comments