diff --git a/base.py b/base.py index 1013ee2..e2cabbb 100644 --- a/base.py +++ b/base.py @@ -78,9 +78,15 @@ def file_size(p: Path) -> str: gr_values: Set[str] = set(PINYIN_TO["romatzyh"].values()) # 国语罗马字的有效拼写 cy_values: Set[str] = set(PINYIN_TO["cyrillic"].values()) # 西里尔转写的有效拼写 -tone_to_ipa: Ldata = {"1": "˥", "2": "˧˥", "3": "˨˩˦", "4": "˥˩", "5": ""} # IPA声调 +TONE_TO_IPA: Final[Ldata] = { + "1": "˥", + "2": "˧˥", + "3": "˨˩˦", + "4": "˥˩", + "5": "", +} # IPA声调 rep_zh: Ldata = load_json("rep_zh") # 连写的中文转写方案替换修正 -finals: Tuple[str, ...] = tuple("aāááàoōóǒòeēéěè") # 可能的零声母开头 +PINYIN_FINALS: Final[Tuple[str, ...]] = tuple("aāááàoōóǒòeēéěè") # 可能的零声母开头 rep_ja_kk: Ldata = load_json("rep_ja_kk") # 片假名替换修正 diff --git a/converter.py b/converter.py index 176d8f1..ccfa11e 100644 --- a/converter.py +++ b/converter.py @@ -19,8 +19,8 @@ PINYIN_TO, gr_values, cy_values, - tone_to_ipa, - finals, + TONE_TO_IPA, + PINYIN_FINALS, rep_zh, rep_ja_kk, ) @@ -348,7 +348,7 @@ def to_pinyin(self, text: str) -> str: ( f"'{py}" if i > 0 - and py.startswith(finals) + and py.startswith(PINYIN_FINALS) and pinyin_list[i - 1][-1].isalpha() else py ) @@ -414,7 +414,7 @@ def to_ipa(self, text: str) -> str: """ pinyin_list = lazy_pinyin(text, style=Style.TONE3, neutral_tone_with_five=True) ipa_list = [ - f"{PINYIN_TO['ipa'].get(p[:-1], p[:-1])}{tone_to_ipa.get(p[-1], p[-1])}" + f"{PINYIN_TO['ipa'].get(p[:-1], p[:-1])}{TONE_TO_IPA.get(p[-1], p[-1])}" for p in pinyin_list ] return " ".join(ipa_list)