diff --git a/.vscode/launch.json b/.vscode/launch.json index 49b879c..37c4d42 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -52,6 +52,16 @@ "program": "a200_漢字補注音.py", "console": "integratedTerminal", }, + { + "name": "a300_漢字查標音", + "type": "debugpy", + "request": "launch", + "program": "a300_漢字查標音.py", + "console": "integratedTerminal", + "args": [ + "凍" + ] + }, { "name": "a400_反切查拼音", "type": "debugpy", diff --git a/Kong_Un_V2.db-journal b/Kong_Un_V2.db-journal new file mode 100644 index 0000000..f4e443c Binary files /dev/null and b/Kong_Un_V2.db-journal differ diff --git "a/a300_\346\274\242\345\255\227\346\237\245\346\250\231\351\237\263.py" "b/a300_\346\274\242\345\255\227\346\237\245\346\250\231\351\237\263.py" new file mode 100644 index 0000000..f63f0d4 --- /dev/null +++ "b/a300_\346\274\242\345\255\227\346\237\245\346\250\231\351\237\263.py" @@ -0,0 +1,97 @@ +#============================================================================== +# 輸入漢字,查詢廣韻反切標音 +#============================================================================== +import os +import sys + +from mod_廣韻 import ( + cha_ciat_gu_ha_ji, + cha_ciat_gu_siong_ji, + connect_to_db2, + han_ji_cha_piau_im, +) + + +def main(): + # 確認使用者有輸入反切之切語參數 + if len(sys.argv) != 2: + print("請輸入欲查詢讀音之【漢字】(無需輸入切語之反切上字及下字)!") + sys.exit(-1) + + beh_cha_e_han_ji = sys.argv[1] + + # 連上 DB + with connect_to_db2('.\\Kong_Un_V2.db') as conn: + cursor = conn.cursor() + + # 查漢字之切語 + han_ji_piau_im = han_ji_cha_piau_im(cursor, beh_cha_e_han_ji) + if not han_ji_piau_im: + print("找不到此【漢字】!") + sys.exit(-1) + + ciat_gu = han_ji_piau_im[0]['切語'] + siong_ji = ciat_gu[0] + ha_ji = ciat_gu[1] + + # 顯示結果 + os.system('cls') + print('\n=================================================') + print(f'查詢漢字:【{beh_cha_e_han_ji}】') + print(f'切語:{ciat_gu}') + print(f'標音:{han_ji_piau_im[0]["漢字標音"]}') + print(f'字義:{han_ji_piau_im[0]["字義"]}') + + # 顯示廣韻參考資料 + print('\n-------------------------------------------------') + print('【廣韻查找資料】:\n') + print(f'目次:{han_ji_piau_im[0]["目次"]},小韻字序號:{han_ji_piau_im[0]["小韻字序號"]},小韻字:{han_ji_piau_im[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]['等呼']})") + + # 組合拼音 + 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') + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git "a/a300_\346\274\242\345\255\227\346\237\245\346\213\274\351\237\263.py" "b/a301_\346\274\242\345\255\227\346\237\245\346\213\274\351\237\263_old.py" similarity index 100% rename from "a300_\346\274\242\345\255\227\346\237\245\346\213\274\351\237\263.py" rename to "a301_\346\274\242\345\255\227\346\237\245\346\213\274\351\237\263_old.py" diff --git "a/a400_\345\217\215\345\210\207\346\237\245\346\213\274\351\237\263.py" "b/a400_\345\217\215\345\210\207\346\237\245\346\213\274\351\237\263.py" index aeafbd8..9cc7698 100644 --- "a/a400_\345\217\215\345\210\207\346\237\245\346\213\274\351\237\263.py" +++ "b/a400_\345\217\215\345\210\207\346\237\245\346\213\274\351\237\263.py" @@ -7,7 +7,7 @@ from mod_廣韻 import ( cha_ciat_gu_ha_ji, cha_ciat_gu_siong_ji, - connect_to_db, + connect_to_db2, han_ji_cha_piau_im, ) @@ -26,8 +26,8 @@ def main(): sys.exit(-1) # 連上 DB - with connect_to_db('.\\Kong_Un_V2.db') as conn: - cursor = conn.curson() + with connect_to_db2('.\\Kong_Un_V2.db') as conn: + cursor = conn.cursor() # 根據反切上字和反切下字來查詢台羅拼音 siong_ji = ciat_gu[0] diff --git "a/docs/SDD-420_\346\274\242\345\255\227\345\273\243\351\237\273\346\250\231\351\237\263\346\252\242\350\246\226\350\246\217\346\240\274.md" "b/docs/SDD-420_\346\274\242\345\255\227\345\273\243\351\237\273\346\250\231\351\237\263\346\252\242\350\246\226\350\246\217\346\240\274.md" index 03ca190..ef5d81e 100644 --- "a/docs/SDD-420_\346\274\242\345\255\227\345\273\243\351\237\273\346\250\231\351\237\263\346\252\242\350\246\226\350\246\217\346\240\274.md" +++ "b/docs/SDD-420_\346\274\242\345\255\227\345\273\243\351\237\273\346\250\231\351\237\263\346\252\242\350\246\226\350\246\217\346\240\274.md" @@ -71,3 +71,45 @@ - 閩拼韻母: text - 台羅韻母: text - 方音韻母: text + +## 舊版檢視SQL Script + +```sql +CREATE VIEW 漢字查廣韻標音 AS +SELECT + 字表.識別號, + 字表.字, + 字表.同音字序, + 字表.切語, + 字表.拼音 AS 漢字標音, + 字表.字義, + 小韻表.小韻字, + 小韻表.目次編碼, + 小韻表.小韻字序號, + 小韻表.小韻字集, + 小韻表.字數, + 切語上字表.發音部位, + 切語上字表.聲母, + 切語上字表.清濁, + 切語上字表.發送收, + 切語上字表.聲母拼音碼 AS 上字標音, + 切語上字表.切語上字集, + 切語下字表.韻系列號, + 切語下字表.韻系行號, + 切語下字表.韻目索引, + 切語下字表.目次, + 切語下字表.攝, + 切語下字表.韻系, + 切語下字表.韻目, + 切語下字表.調, + 切語下字表.呼, + 切語下字表.等, + 切語下字表.韻母, + 切語下字表.切語下字集, + 切語下字表.等呼, + 切語下字表.韻母拼音碼 AS 下字標音 +FROM 字表 +JOIN 小韻表 ON 字表.小韻識別號 = 小韻表.識別號 +JOIN 切語上字表 ON 小韻表.上字表識別號 = 切語上字表.識別號 +JOIN 切語下字表 ON 小韻表.下字表識別號 = 切語下字表.識別號 +``` diff --git "a/mod_\345\273\243\351\237\273.py" "b/mod_\345\273\243\351\237\273.py" index 6315c92..8fc0f7f 100644 --- "a/mod_\345\273\243\351\237\273.py" +++ "b/mod_\345\273\243\351\237\273.py" @@ -38,7 +38,7 @@ def connect_to_db2(db_path): conn = sqlite3.connect(db_path) # 創建一個游標 - cursor = conn.cursor() + cursor = conn.cursor() # noqa: F841 return conn