From 0fd8c1d8b605a2f5e3ee2d089f5f5fcc27f19c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=85=E6=AD=A3=E4=B8=AD?= Date: Thu, 9 Jan 2025 12:02:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=90=E9=9B=85=E4=BF=97?= =?UTF-8?q?=E9=80=9A=E3=80=91=E6=A8=99=E9=9F=B3=E6=96=B9=E6=B3=95=E7=9A=84?= =?UTF-8?q?=E9=8C=AF=E8=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\351\233\205\344\277\227\351\200\232.html" | 91 ++++++++++++++++ "mod_\346\250\231\351\237\263.py" | 83 ++++++++------ ...\345\277\203\347\266\223\343\200\213.xlsx" | Bin 442435 -> 442503 bytes p730_Tng_Sing_Bang_Iah.py | 102 +++++++++--------- 4 files changed, 193 insertions(+), 83 deletions(-) create mode 100644 "docs/\343\200\212\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\345\277\203\347\266\223\343\200\213_\351\233\205\344\277\227\351\200\232.html" diff --git "a/docs/\343\200\212\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\345\277\203\347\266\223\343\200\213_\351\233\205\344\277\227\351\200\232.html" "b/docs/\343\200\212\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\345\277\203\347\266\223\343\200\213_\351\233\205\344\277\227\351\200\232.html" new file mode 100644 index 0000000..48d7976 --- /dev/null +++ "b/docs/\343\200\212\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\345\277\203\347\266\223\343\200\213_\351\233\205\344\277\227\351\200\232.html" @@ -0,0 +1,91 @@ + + + + + 《般若波羅蜜多心經》 + + + + + 《般若波羅蜜多心經》 +
+ + 《般若波羅蜜多心經》 + +
+ +

+ 觀一求(ㄍㄨㄢ) 艍七曾(ㄗㄨ˫) 皆七曾(ㄗㄞ˫) 沽一頗(ㄆㆦ) 干四時(ㄙㄚㆵ) + 經五喜(ㄏㄧㄥˊ) 金一出(ㄑㄧㆬ) 官一邊(ㄅㄨㆩ) 恭八入(ㆢㄧㆦㆻ˙) 高一頗(ㄆㄜ) 高五柳(ㄌㄜˊ) 巾八門(ㆠㄧㆵ˙) 高一地(ㄉㄜ) 居五時(ㄒㄧˊ) + 嬌三曾(ㄐㄧㄠ˪) 堅三求(ㄍㄧㄢ˪) 沽二雅(ㄫㆦˋ) 君三英(ㄨㄣ˪) 皆一求(ㄍㄞ) 公一去(ㄎㆲ) + 沽七地(ㄉㆦ˫) 巾四英(ㄧㆵ) 伽三出(ㄘㆤ˪) 沽二去(ㄎㆦˋ) 嘉四英(ㄝㆷ) +

+

+ 迦二時(ㄒㄧㄚˋ) 居七柳(ㄌㄧ˫) 艍二曾(ㄗㄨˋ) + 經四時(ㄒㄧㆻ) 君四邊(ㄅㄨㆵ) 居七英(ㄧ˫) 公一去(ㄎㆲ) + 公一去(ㄎㆲ) 君四邊(ㄅㄨㆵ) 居七英(ㄧ˫) 經四時(ㄒㄧㆻ) + 經四時(ㄒㄧㆻ) 經四曾(ㄐㄧㆻ) 居七時(ㄒㄧ˫) 公一去(ㄎㆲ) + 公一去(ㄎㆲ) 經四曾(ㄐㄧㆻ) 居七時(ㄒㄧ˫) 經四時(ㄒㄧㆻ) + 丩七時(ㄒㄧㄨ˫) 恭二時(ㄒㄧㆲˋ) 經五喜(ㄏㄧㄥˊ) 經四時(ㄒㄧㆻ) + 經八英(ㄧㆻ˙) 公八喜(ㄏㆦㆻ˙) 艍五入(ㆡㄨˊ) 居七時(ㄒㄧ˫) +

+

+ 迦二時(ㄒㄧㄚˋ) 居七柳(ㄌㄧ˫) 艍二曾(ㄗㄨˋ) + 居七時(ㄒㄧ˫) 艍一曾(ㄗㄨ) 觀四喜(ㄏㄨㄚㆵ) 公一去(ㄎㆲ) 恭三時(ㄒㄧㆲ˪) + 君四邊(ㄅㄨㆵ) 經一時(ㄒㄧㄥ) 君四邊(ㄅㄨㆵ) 堅八門(ㆠㄧㄚㆵ˙) + 君四邊(ㄅㄨㆵ) 沽二求(ㄍㆦˋ) 君四邊(ㄅㄨㆵ) 經七曾(ㄐㄧㄥ˫) + 君四邊(ㄅㄨㆵ) 經一曾(ㄐㄧㄥ) 君四邊(ㄅㄨㆵ) 兼二求(ㄍㄧㆰˋ) + 居七時(ㄒㄧ˫) 沽三求(ㄍㆦ˪) 公一去(ㄎㆲ) 恭一地(ㄉㄧㆲ) 艍五門(ㆠㄨˊ) 經四時(ㄒㄧㆻ) + 艍五門(ㆠㄨˊ) 丩七時(ㄒㄧㄨ˫) 恭二時(ㄒㄧㆲˋ) 經五喜(ㄏㄧㄥˊ) 經四時(ㄒㄧㆻ) + 艍五門(ㆠㄨˊ) 干二語(ㆣㄢˋ) 梔七喜(ㄏㆪ˫) 梔七頗(ㄆㆪ˫) 堅八時(ㄒㄧㄚㆵ˙) 巾一時(ㄒㄧㄣ) 居三英(ㄧ˪) + 艍五門(ㆠㄨˊ) 經四時(ㄒㄧㆻ) 經一時(ㄒㄧㄥ) 恭一喜(ㄏㄧㆲ) 居七門(ㆠㄧ˫) 恭四出(ㄑㄧㆦㆻ) 觀四喜(ㄏㄨㄚㆵ) +

+

+ 艍五門(ㆠㄨˊ) 干二語(ㆣㄢˋ) 皆三求(ㄍㄞ˪) + 皆二耐(ㄋㄞˋ) 居三曾(ㄐㄧ˪) 艍五門(ㆠㄨˊ) 居三英(ㄧ˪) 經四時(ㄒㄧㆻ) 皆三求(ㄍㄞ˪) + 艍五門(ㆠㄨˊ) 艍五門(ㆠㄨˊ) 經五門(ㆠㄧㄥˊ) + 經八英(ㄧㆻ˙) 艍五門(ㆠㄨˊ) 艍五門(ㆠㄨˊ) 經五門(ㆠㄧㄥˊ) 巾七曾(ㄐㄧㄣ˫) + 皆二耐(ㄋㄞˋ) 居三曾(ㄐㄧ˪) 艍五門(ㆠㄨˊ) 高二柳(ㄌㄜˋ) 艍二時(ㄙㄨˋ) + 經八英(ㄧㆻ˙) 艍五門(ㆠㄨˊ) 高二柳(ㄌㄜˋ) 艍二時(ㄙㄨˋ) 巾七曾(ㄐㄧㄣ˫) +

+

+ 艍五門(ㆠㄨˊ) 沽二去(ㄎㆦˋ) 金八曾(ㄐㄧㆴ˙) 堅八門(ㆠㄧㄚㆵ˙) 高七地(ㄉㄜ˫) + 艍五門(ㆠㄨˊ) 居三地(ㄉㄧ˪) + 經八英(ㄧㆻ˙) 艍五門(ㆠㄨˊ) 經四地(ㄉㄧㆻ) + 居二英(ㄧˋ) 艍五門(ㆠㄨˊ) 沽二時(ㄙㆦˋ) 經四地(ㄉㄧㆻ) 沽三求(ㄍㆦ˪) + 沽一頗(ㄆㆦ) 伽五他(ㄊㆤˊ) 干四時(ㄙㄚㆵ) 高一地(ㄉㄜ) + 居一英() 官一邊(ㄅㄨㆩ) 恭八入(ㆢㄧㆦㆻ˙) 高一頗(ㄆㄜ) 高五柳(ㄌㄜˊ) 巾八門(ㆠㄧㆵ˙) 高一地(ㄉㄜ) 沽三求(ㄍㆦ˪) + 金一時(ㄒㄧㆬ) 艍五門(ㆠㄨˊ) 瓜三求(ㄍㄨㄚ˪) 皆七語(ㆣㄞ˫) + 艍五門(ㆠㄨˊ) 瓜三求(ㄍㄨㄚ˪) 皆七語(ㆣㄞ˫) 沽三求(ㄍㆦ˪) + 艍五門(ㆠㄨˊ) 丩二英(ㄧㄨˋ) 恭二去(ㄎㄧㆲˋ) 沽三邊(ㄅㆦ˪) + 觀二英(ㄨㄢˋ) 居七柳(ㄌㄧ˫) 堅一地(ㄉㄧㄢ) 高三地(ㄉㄜ˪) + 江七門(ㆠㄤ˫) 恭二時(ㄒㄧㆲˋ) + 丩三求(ㄍㄧㄨ˪) 經三求(ㄍㄧㄥ˪) 兼四柳(ㄌㄧㄚㆴ) 觀五邊(ㄅㄨㄢˊ) +

+

+ 甘一時(ㄙㆰ) 伽三時(ㄙㆤ˪) 艍一曾(ㄗㄨ) 君八喜(ㄏㄨㆵ˙) + 居一英() 官一邊(ㄅㄨㆩ) 恭八入(ㆢㄧㆦㆻ˙) 高一頗(ㄆㄜ) 高五柳(ㄌㄜˊ) 巾八門(ㆠㄧㆵ˙) 高一地(ㄉㄜ) 沽三求(ㄍㆦ˪) + 經四地(ㄉㄧㆻ) 膠一英() 沽七柳(ㄌㆦ˫) 高一地(ㄉㄜ) 高五柳(ㄌㄜˊ) 甘一時(ㄙㆰ) 嬌二門(ㆠㄧㄠˋ) 甘一時(ㄙㆰ) 沽一頗(ㄆㆦ) 伽五他(ㄊㆤˊ) +

+

+ 沽三求(ㄍㆦ˪) 居一地(ㄉㄧ) 官一邊(ㄅㄨㆩ) 恭八入(ㆢㄧㆦㆻ˙) 高一頗(ㄆㄜ) 高五柳(ㄌㄜˊ) 巾八門(ㆠㄧㆵ˙) 高一地(ㄉㄜ) + 居七時(ㄒㄧ˫) 皆七地(ㄉㄞ˫) 巾五時(ㄒㄧㄣˊ) 丩三曾(ㄐㄧㄨ˪) + 居七時(ㄒㄧ˫) 皆七地(ㄉㄞ˫) 經五門(ㆠㄧㄥˊ) 丩三曾(ㄐㄧㄨ˪) + 居七時(ㄒㄧ˫) 艍五門(ㆠㄨˊ) 姜七時(ㄒㄧㄤ˫) 丩三曾(ㄐㄧㄨ˪) + 居七時(ㄒㄧ˫) 艍五門(ㆠㄨˊ) 經二地(ㄉㄧㄥˋ) 經二地(ㄉㄧㄥˋ) 丩三曾(ㄐㄧㄨ˪) + 經五柳(ㄌㄧㄥˊ) 艍五地(ㄉㄨˊ) 巾四英(ㄧㆵ) 伽三出(ㄘㆤ˪) 沽二去(ㄎㆦˋ) + 巾一曾(ㄐㄧㄣ) 巾八時(ㄒㄧㆵ˙) 君四邊(ㄅㄨㆵ) 居一喜(ㄏㄧ) +

+

+ 沽三求(ㄍㆦ˪) 觀四時(ㄙㄨㄚㆵ) 官一邊(ㄅㄨㆩ) 恭八入(ㆢㄧㆦㆻ˙) 高一頗(ㄆㄜ) 高五柳(ㄌㄜˊ) 巾八門(ㆠㄧㆵ˙) 高一地(ㄉㄜ) 丩三曾(ㄐㄧㄨ˪) + 經四曾(ㄐㄧㆻ) 觀四時(ㄙㄨㄚㆵ) 丩三曾(ㄐㄧㄨ˪) 觀八英(ㄨㄚㆵ˙) + 堅四求(ㄍㄧㄚㆵ) 伽三地(ㄉㆤ˪) + 堅四求(ㄍㄧㄚㆵ) 伽三地(ㄉㆤ˪) + 高一頗(ㄆㄜ) 高五柳(ㄌㄜˊ) 堅四求(ㄍㄧㄚㆵ) 伽三地(ㄉㆤ˪) + 高一頗(ㄆㄜ) 高五柳(ㄌㄜˊ) 經一曾(ㄐㄧㄥ) 堅四求(ㄍㄧㄚㆵ) 伽三地(ㄉㆤ˪) + 沽一頗(ㄆㆦ) 伽五他(ㄊㆤˊ) 干四時(ㄙㄚㆵ) 高五邊(ㄅㄜˊ) 高一英() +

+ + + \ No newline at end of file diff --git "a/mod_\346\250\231\351\237\263.py" "b/mod_\346\250\231\351\237\263.py" index 2f43871..cac7754 100644 --- "a/mod_\346\250\231\351\237\263.py" +++ "b/mod_\346\250\231\351\237\263.py" @@ -87,7 +87,7 @@ def split_tai_gi_im_piau(im_piau): return result -def split_hong_im_hu_ho(hong_im_hu_ho): +def split_hong_im_hu_ho(hong_im_piau_im): # 定義調符對應的字典 Hong_Im_Tiau_Hu_Dict = { "ˋ": 2, @@ -98,13 +98,13 @@ def split_hong_im_hu_ho(hong_im_hu_ho): } # 編譯調符的正則表達式模式 - HongImTiauHu = re.compile(r"[ˋ˪ˊ˫˙]", re.I) + Hong_Im_Tiau_Hu = re.compile(r"[ˋ˪ˊ˫˙]", re.I) - # 定義表示第四聲的尾字元集合 - tone_4_endings = {'ㆴ', 'ㆵ', 'ㆻ', 'ㆷ'} + # 入声韻尾 + Jip_Siann_Un_Bue = {'ㆴ', 'ㆵ', 'ㆻ', 'ㆷ'} # 定義聲母的集合 - sheng_mu_ji = { + Siann_Mu_Ji = { 'ㄅ', 'ㄆ', 'ㆠ', 'ㄇ', 'ㄉ', 'ㄊ', 'ㄋ', 'ㄌ', 'ㄍ', 'ㄎ', 'ㆣ', 'ㄏ', 'ㄫ', @@ -114,29 +114,34 @@ def split_hong_im_hu_ho(hong_im_hu_ho): 'ㄭ', 'ㄪ', 'ㄬ', 'ㄈ', } - # 步驟一:檢查最後一個字元是否為調符 - if HongImTiauHu.match(hong_im_hu_ho[-1]): - tiau_fu = hong_im_hu_ho[-1] - tiau_hao = Hong_Im_Tiau_Hu_Dict[tiau_fu] - # 移除調符,獲得無調符的方音符號 - wu_tiau_fu_hong_im_hu_ho = hong_im_hu_ho[:-1] + # 步驟一:辨識【方音標音】中的【調號】值,並輸出僅有【聲母】和【韻母】的【無調號方音標音】 + if Hong_Im_Tiau_Hu.match(hong_im_piau_im[-1]): + # 有【声調符號】的【方音標音】 + tiau_fu = hong_im_piau_im[-1] + tiau_ho = Hong_Im_Tiau_Hu_Dict[tiau_fu] + # 無【調號】,只有【聲母】和【韻母】的【方音標音】 + siann_ka_un_piau_im = hong_im_piau_im[:-1] else: - # 最後沒有調符,判斷是第一聲還是第四聲 - if hong_im_hu_ho[-1] in tone_4_endings: - tiau_hao = 4 + # 無【声調符號】的【方音標音】,其【調號】值可為1或4,需依【方音標音】尾字,進行【辨識】 + if hong_im_piau_im[-1] in Jip_Siann_Un_Bue: + # 【方音標音】最後一字為【入聲韻尾】,其【調號】值為4 + tiau_ho = 4 else: - tiau_hao = 1 - wu_tiau_fu_hong_im_hu_ho = hong_im_hu_ho - - # 步驟四:提取聲母和韻母 - if wu_tiau_fu_hong_im_hu_ho and wu_tiau_fu_hong_im_hu_ho[0] in sheng_mu_ji: - sheng_mu = wu_tiau_fu_hong_im_hu_ho[0] - yun_mu = wu_tiau_fu_hong_im_hu_ho[1:] + # 【方音標音】最後一字非【入聲韻尾】,其【調號】值為1 + tiau_ho = 1 + siann_ka_un_piau_im = hong_im_piau_im + + # 步驟四:自【無調號方音標音】,取【聲母】和【韻母】 + if siann_ka_un_piau_im and siann_ka_un_piau_im[0] in Siann_Mu_Ji: + # 有【聲母】 + siann_mu = siann_ka_un_piau_im[0] + un_mu = siann_ka_un_piau_im[1:] else: - sheng_mu = '' - yun_mu = wu_tiau_fu_hong_im_hu_ho + # 無【聲母】 + siann_mu = '' + un_mu = siann_ka_un_piau_im - return [sheng_mu, yun_mu, str(tiau_hao)] + return [siann_mu, un_mu, str(tiau_ho)] def tng_uann_han_ji_piau_im(piau_im, zu_im_huat, siann_bu, un_bu, tiau_ho): @@ -705,16 +710,26 @@ def Cu_Hong_Im_Hu_Ho_Tiau_Hu(self, tai_lo_tiau_ho): # 雅俗通十五音(Nga-Siok-Thong) #================================================================ def NST_piau_im(self, siann_bu, un_bu, tiau_ho): - piau_im_huat = "雅俗通" + # piau_im_huat = "雅俗通" + # Tiau_Ho_Remap = { + # 1: "上平", + # 2: "上上", + # 3: "上去", + # 4: "上入", + # 5: "下平", + # 6: "下上", + # 7: "下去", + # 8: "下入", + # } + piau_im_huat = "十五音" Tiau_Ho_Remap = { - 1: "上平", - 2: "上上", - 3: "上去", - 4: "上入", - 5: "下平", - 6: "下上", - 7: "下去", - 8: "下入", + 1: "一", + 2: "二", + 3: "三", + 4: "四", + 5: "五", + 7: "七", + 8: "八", } # 將上標數字替換為普通數字 @@ -729,7 +744,7 @@ def NST_piau_im(self, siann_bu, un_bu, tiau_ho): return piau_im #================================================================ - # 雅俗通十五音(SNI:Sip-Ngoo-Im) + # 十五音(SNI:Sip-Ngoo-Im) #================================================================ def SNI_piau_im(self, siann_bu, un_bu, tiau_ho): piau_im_huat = "十五音" diff --git "a/output7/\343\200\220\346\262\263\346\264\233\346\226\207\350\256\200\346\263\250\351\237\263\343\200\221\343\200\212\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\345\277\203\347\266\223\343\200\213.xlsx" "b/output7/\343\200\220\346\262\263\346\264\233\346\226\207\350\256\200\346\263\250\351\237\263\343\200\221\343\200\212\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\345\277\203\347\266\223\343\200\213.xlsx" index 54852e8acdbd5f0ba2986e7a2c9c341090d79f39..f26ee580aafe8d516a7db4a70fc96af6fbb32c06 100644 GIT binary patch delta 24423 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 diff --git a/p730_Tng_Sing_Bang_Iah.py b/p730_Tng_Sing_Bang_Iah.py index a9419aa..7c06783 100644 --- a/p730_Tng_Sing_Bang_Iah.py +++ b/p730_Tng_Sing_Bang_Iah.py @@ -10,19 +10,6 @@ from mod_標音 import split_tai_gi_im_piau # 分解台語音標 from mod_標音 import PiauIm, is_punctuation, split_hong_im_hu_ho -# ========================================================== -# 注音法設定和共用變數 -# ========================================================== -zu_im_huat_list = { - "SNI": ["fifteen_yin", "rt", "十五音切語"], - "TPS": ["Piau_Im", "rt", "方音符號注音"], - "POJ": ["pin_yin", "rt", "白話字拼音"], - "TL": ["pin_yin", "rt", "台羅拼音"], - "BP": ["pin_yin", "rt", "閩拼標音"], - "TLPA_Plus": ["pin_yin", "rt", "台羅改良式"], - "DBL": ["Siang_Pai", "rtc", "雙排注音"], -} - def create_html_file(output_path, content, title='您的標題'): template = f""" @@ -74,6 +61,8 @@ def tng_uann_piau_im(piau_im, zu_im_huat, siann_bu, un_bu, tiau_ho): """根據指定的標音方法,轉換台語音標之羅馬拚音字母""" if zu_im_huat == "十五音": return piau_im.SNI_piau_im(siann_bu, un_bu, tiau_ho) + elif zu_im_huat == "雅俗通": + return piau_im.NST_piau_im(siann_bu, un_bu, tiau_ho) elif zu_im_huat == "白話字": return piau_im.POJ_piau_im(siann_bu, un_bu, tiau_ho) elif zu_im_huat == "台羅拼音": @@ -106,8 +95,42 @@ def concat_ruby_tag(wb, piau_im, han_ji, tai_gi_im_piau): siong_piau_im = "" zian_piau_im = "" - # 根據【標音方式】,決定【漢字】之上方或右方,是否該顯示【標音】 - if piau_im_hong_sik == "預設": + # 根據【網頁格式】,決定【漢字】之上方或右方,是否該顯示【標音】 + if style == "無預設": + # 若【網頁格式】設定為【無預設】,則根據【標音方式】決定漢字之上方及右方,是否需要放置標音 + if piau_im_hong_sik == "上及右": + # 漢字上方顯示【上邊標音】,下方顯示【下邊標音】 + siong_piau_im = tng_uann_piau_im( + piau_im=piau_im, # 注音法物件 + zu_im_huat=siong_pinn_piau_im, + siann_bu=siann_bu, + un_bu=zu_im_list[1], + tiau_ho=zu_im_list[2] + ) + zian_piau_im = tng_uann_piau_im( + piau_im=piau_im, # 注音法物件 + zu_im_huat=zian_pinn_piau_im, + siann_bu=siann_bu, + un_bu=zu_im_list[1], + tiau_ho=zu_im_list[2] + ) + elif piau_im_hong_sik == "上": + siong_piau_im = tng_uann_piau_im( + piau_im=piau_im, # 注音法物件 + zu_im_huat=siong_pinn_piau_im, + siann_bu=siann_bu, + un_bu=zu_im_list[1], + tiau_ho=zu_im_list[2] + ) + elif piau_im_hong_sik == "右": + zian_piau_im = tng_uann_piau_im( + piau_im=piau_im, # 注音法物件 + zu_im_huat=zian_pinn_piau_im, + siann_bu=siann_bu, + un_bu=zu_im_list[1], + tiau_ho=zu_im_list[2] + ) + else: if style == "POJ" or style == "TL" or style == "BP" or style == "TLPA_Plus": # 羅馬拼音字母標音法,將標音置於漢字上方 siong_piau_im = tng_uann_piau_im( @@ -118,7 +141,7 @@ def concat_ruby_tag(wb, piau_im, han_ji, tai_gi_im_piau): tiau_ho=zu_im_list[2] ) elif style == "SNI": - # 十五音反切法,將標音置於漢字右方 + # 十五音反切法,將標音置於漢字上方 siong_piau_im = tng_uann_piau_im( piau_im=piau_im, # 注音法物件 zu_im_huat=siong_pinn_piau_im, @@ -151,40 +174,8 @@ def concat_ruby_tag(wb, piau_im, han_ji, tai_gi_im_piau): un_bu=zu_im_list[1], tiau_ho=zu_im_list[2] ) - elif piau_im_hong_sik == "上及右": - # 漢字上方顯示【上邊標音】,下方顯示【下邊標音】 - siong_piau_im = tng_uann_piau_im( - piau_im=piau_im, # 注音法物件 - zu_im_huat=siong_pinn_piau_im, - siann_bu=siann_bu, - un_bu=zu_im_list[1], - tiau_ho=zu_im_list[2] - ) - zian_piau_im = tng_uann_piau_im( - piau_im=piau_im, # 注音法物件 - zu_im_huat=zian_pinn_piau_im, - siann_bu=siann_bu, - un_bu=zu_im_list[1], - tiau_ho=zu_im_list[2] - ) - elif piau_im_hong_sik == "上": - siong_piau_im = tng_uann_piau_im( - piau_im=piau_im, # 注音法物件 - zu_im_huat=siong_pinn_piau_im, - siann_bu=siann_bu, - un_bu=zu_im_list[1], - tiau_ho=zu_im_list[2] - ) - elif piau_im_hong_sik == "右": - zian_piau_im = tng_uann_piau_im( - piau_im=piau_im, # 注音法物件 - zu_im_huat=zian_pinn_piau_im, - siann_bu=siann_bu, - un_bu=zu_im_list[1], - tiau_ho=zu_im_list[2] - ) - # 根據標音法及標音方式,設定 Ruby Tag + # 根據標音方式,設定 Ruby Tag if siong_piau_im != "" and zian_piau_im == "": # 將標音置於漢字上方 ruby_tag = f" {han_ji}({siong_piau_im})" @@ -202,6 +193,19 @@ def concat_ruby_tag(wb, piau_im, han_ji, tai_gi_im_piau): # 依據指定的【注音方法】,輸出含 Ruby Tags 之 HTML 網頁 # ========================================================= def build_web_page(wb, sheet, source_chars, total_length, page_type='含頁頭', piau_im_huat='方音符號', piau_im=None): + # ========================================================== + # 注音法設定和共用變數 + # ========================================================== + zu_im_huat_list = { + "SNI": ["fifteen_yin", "rt", "十五音切語"], + "TPS": ["Piau_Im", "rt", "方音符號注音"], + "POJ": ["pin_yin", "rt", "白話字拼音"], + "TL": ["pin_yin", "rt", "台羅拼音"], + "BP": ["pin_yin", "rt", "閩拼標音"], + "TLPA_Plus": ["pin_yin", "rt", "台羅改良式"], + "DBL": ["Siang_Pai", "rtc", "雙排注音"], + "無預設": ["Siang_Pai", "rtc", "雙排注音"], + } write_buffer = "" # =========================================================