-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Loading status checks…
修訂程式結構,補需求與設計。
Showing
10 changed files
with
181 additions
and
408 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,90 +1,88 @@ | ||
#============================================================================== | ||
# 程式用於查詢反切拼音 | ||
#============================================================================== | ||
import os | ||
import sqlite3 | ||
import sys | ||
|
||
from mod_廣韻 import ( | ||
cha_ciat_gu_ha_ji, | ||
cha_ciat_gu_siong_ji, | ||
close_db_connection, | ||
connect_to_db, | ||
han_ji_cha_piau_im, | ||
) | ||
|
||
|
||
|
||
def main(): | ||
# 確認使用者有輸入反切之切語參數 | ||
if len(sys.argv) != 2: | ||
print("請輸入欲查詢讀音之【切語】(反切上字及下字)!") | ||
os._exit(-1) | ||
sys.exit(-1) | ||
|
||
ciat_gu = sys.argv[1] | ||
|
||
# 檢查反切拼音是否有兩個字 | ||
if len(ciat_gu) != 2: | ||
print("反切用的切語,必須有兩個漢字!") | ||
os._exit(-1) | ||
sys.exit(-1) | ||
|
||
# 連上 DB | ||
conn, cursor = connect_to_db('.\\Kong_Un_V2.db') | ||
with connect_to_db('.\\Kong_Un_V2.db') as conn: | ||
cursor = conn.curson() | ||
|
||
# 根據反切上字和反切下字來查詢台羅拼音 | ||
siong_ji = ciat_gu[0] | ||
ha_ji = ciat_gu[1] | ||
# 根據反切上字和反切下字來查詢台羅拼音 | ||
siong_ji = ciat_gu[0] | ||
ha_ji = ciat_gu[1] | ||
|
||
# 顯示結果 | ||
os.system('cls') | ||
print('\n=================================================') | ||
print(f'欲查詢拼音之切語為:【{ciat_gu}】') | ||
# 顯示結果 | ||
os.system('cls') | ||
print('\n=================================================') | ||
print(f'欲查詢拼音之切語為:【{ciat_gu}】') | ||
|
||
# 查詢反切上字 | ||
print('\n-------------------------------------------------') | ||
print('【切語上字】:\n') | ||
siong_ji_im = han_ji_cha_piau_im(cursor, siong_ji) | ||
siong_ji_piau = cha_ciat_gu_siong_ji(cursor, siong_ji) | ||
if not siong_ji_piau: | ||
print(f'查不到【反切上字】:{siong_ji}') | ||
else: | ||
print(f"切語上字 = {siong_ji} (標音:{siong_ji_im[0]['漢字標音']})") | ||
print(f"聲母:{siong_ji_piau[0]['聲母']} [{siong_ji_piau[0]['聲母拼音碼']}],國際音標:/{siong_ji_im[0]['聲母國際音標']}/ ") | ||
print(f"(發音部位:{siong_ji_piau[0]['發音部位']},清濁:{siong_ji_piau[0]['清濁']},發送收:{siong_ji_piau[0]['發送收']})") | ||
# 查詢反切上字 | ||
print('\n-------------------------------------------------') | ||
print('【切語上字】:\n') | ||
siong_ji_im = han_ji_cha_piau_im(cursor, siong_ji) | ||
siong_ji_piau = cha_ciat_gu_siong_ji(cursor, siong_ji) | ||
if not siong_ji_piau: | ||
print(f'查不到【反切上字】:{siong_ji}') | ||
else: | ||
print(f"切語上字 = {siong_ji} (標音:{siong_ji_im[0]['漢字標音']})") | ||
print(f"聲母:{siong_ji_piau[0]['聲母']} [{siong_ji_piau[0]['聲母拼音碼']}],國際音標:/{siong_ji_im[0]['聲母國際音標']}/ ") | ||
print(f"(發音部位:{siong_ji_piau[0]['發音部位']},清濁:{siong_ji_piau[0]['清濁']},發送收:{siong_ji_piau[0]['發送收']})") | ||
|
||
# 查詢反切下字 | ||
print('\n-------------------------------------------------') | ||
print('【切語下字】:\n') | ||
ha_ji_im = han_ji_cha_piau_im(cursor, ha_ji) | ||
ha_ji_piau = cha_ciat_gu_ha_ji(cursor, ha_ji) | ||
if not ha_ji_piau: | ||
print(f'查不到【反切下字】:{ha_ji}') | ||
else: | ||
print(f"切語下字 = {ha_ji} (標音:{ha_ji_im[0]['漢字標音']})") | ||
print(f"韻母:{ha_ji_piau[0]['韻母']} [{ha_ji_piau[0]['韻母拼音碼']}],國際音標:/{ha_ji_im[0]['韻母國際音標']}/") | ||
print(f"攝:{ha_ji_piau[0]['攝']},調:{ha_ji_piau[0]['調']}聲,目次:{ha_ji_piau[0]['目次']}") | ||
print(f"{ha_ji_piau[0]['韻系']}韻系,{ha_ji_piau[0]['韻目']}韻,{ha_ji_piau[0]['呼']}口呼,{ha_ji_piau[0]['等']}等 ({ha_ji_piau[0]['等呼']})") | ||
# 查詢反切下字 | ||
print('\n-------------------------------------------------') | ||
print('【切語下字】:\n') | ||
ha_ji_im = han_ji_cha_piau_im(cursor, ha_ji) | ||
ha_ji_piau = cha_ciat_gu_ha_ji(cursor, ha_ji) | ||
if not ha_ji_piau: | ||
print(f'查不到【反切下字】:{ha_ji}') | ||
else: | ||
print(f"切語下字 = {ha_ji} (標音:{ha_ji_im[0]['漢字標音']})") | ||
print(f"韻母:{ha_ji_piau[0]['韻母']} [{ha_ji_piau[0]['韻母拼音碼']}],國際音標:/{ha_ji_im[0]['韻母國際音標']}/") | ||
print(f"攝:{ha_ji_piau[0]['攝']},調:{ha_ji_piau[0]['調']}聲,目次:{ha_ji_piau[0]['目次']}") | ||
print(f"{ha_ji_piau[0]['韻系']}韻系,{ha_ji_piau[0]['韻目']}韻,{ha_ji_piau[0]['呼']}口呼,{ha_ji_piau[0]['等']}等 ({ha_ji_piau[0]['等呼']})") | ||
|
||
# 組合拼音 | ||
tiau_ho_list = { | ||
'清平': 1, | ||
'清上': 2, | ||
'清去': 3, | ||
'清入': 4, | ||
'濁平': 5, | ||
'濁上': 2, | ||
'濁去': 7, | ||
'濁入': 8, | ||
} | ||
siann = siong_ji_piau[0]['聲母拼音碼'] | ||
cing_tok_str = siong_ji_piau[0]['清濁'] | ||
cing_tok = cing_tok_str[-1] | ||
un = ha_ji_piau[0]['韻母拼音碼'] | ||
tiau_ho = tiau_ho_list[ f"{cing_tok}{ha_ji_piau[0]['調']}" ] | ||
# 組合拼音 | ||
tiau_ho_list = { | ||
'清平': 1, | ||
'清上': 2, | ||
'清去': 3, | ||
'清入': 4, | ||
'濁平': 5, | ||
'濁上': 2, | ||
'濁去': 7, | ||
'濁入': 8, | ||
} | ||
siann = siong_ji_piau[0]['聲母拼音碼'] | ||
cing_tok_str = siong_ji_piau[0]['清濁'] | ||
cing_tok = cing_tok_str[-1] | ||
un = ha_ji_piau[0]['韻母拼音碼'] | ||
tiau_ho = tiau_ho_list[ f"{cing_tok}{ha_ji_piau[0]['調']}" ] | ||
|
||
print('\n-------------------------------------------------') | ||
print(f'【切語拼音】:{ciat_gu} [{siann}{un}{tiau_ho}]\n') | ||
print('\n-------------------------------------------------') | ||
print(f'【切語拼音】:{ciat_gu} [{siann}{un}{tiau_ho}]\n') | ||
|
||
# 關閉 DB | ||
close_db_connection(conn) | ||
|
||
|
||
if __name__ == "__main__": | ||
main() |
File renamed without changes.
2 changes: 1 addition & 1 deletion
2
docs/diagrams/SDD-000_DOMAIN_MODEL.md → docs/SDD-400_廣韻字典資料模型.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# 廣韻切語字典資料模型 | ||
# 廣韻字典資料模型 | ||
|
||
```plantuml | ||
@startuml | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
-- 建立小韻檢視 | ||
DROP VIEW IF EXISTS 小韻檢視; | ||
|
||
CREATE VIEW 小韻檢視 AS | ||
SELECT | ||
小韻表.識別號, | ||
小韻表.小韻字, | ||
小韻表.切語 AS 小韻切語, | ||
小韻表.拼音 AS 小韻標音, | ||
小韻表.目次編碼 AS 目次, | ||
小韻表.小韻字序號, | ||
小韻表.小韻字集, | ||
小韻表.字數, | ||
切語上字表.發音部位 AS 聲母發音部位, | ||
切語上字表.清濁, | ||
切語上字表.發送收, | ||
廣韻聲母對照表.廣韻聲母, | ||
廣韻聲母對照表.雅俗通聲母, | ||
聲母對照表.聲母碼 AS 上字標音, | ||
聲母對照表.聲母國際音標, | ||
聲母對照表.白話字聲母, | ||
聲母對照表.閩拼聲母, | ||
聲母對照表.台羅聲母, | ||
聲母對照表.方音聲母, | ||
切語下字表.攝, | ||
切語下字表.韻目, | ||
切語下字表.調, | ||
切語下字表.呼, | ||
切語下字表.等, | ||
切語下字表.韻母, | ||
切語下字表.等呼, | ||
廣韻韻母對照表.廣韻韻母, | ||
廣韻韻母對照表.雅俗通韻母, | ||
韻母對照表.韻母碼 AS 下字標音, | ||
韻母對照表.韻母國際音標, | ||
韻母對照表.白話字韻母, | ||
韻母對照表.閩拼韻母, | ||
韻母對照表.台羅韻母, | ||
韻母對照表.方音韻母 | ||
FROM | ||
小韻表 | ||
JOIN | ||
切語上字表 ON 小韻表.上字表識別號 = 切語上字表.識別號 | ||
JOIN | ||
廣韻聲母對照表 ON 切語上字表.廣韻聲母識別號 = 廣韻聲母對照表.識別號 | ||
JOIN | ||
聲母對照表 ON 廣韻聲母對照表.聲母識別號 = 聲母對照表.識別號 | ||
JOIN | ||
切語下字表 ON 小韻表.下字表識別號 = 切語下字表.識別號 | ||
JOIN | ||
廣韻韻母對照表 ON 切語下字表.廣韻韻母識別號 = 廣韻韻母對照表.識別號 | ||
JOIN | ||
韻母對照表 ON 廣韻韻母對照表.韻母識別號 = 韻母對照表.識別號; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters