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 54852e8..f26ee58 100644
Binary files "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" and "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" differ
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"