diff --git a/README.md b/README.md index aeaf291..4fb2318 100644 --- a/README.md +++ b/README.md @@ -79,20 +79,21 @@ 依赖python环境: -配置`scripts/common.py`中双拼方案配置和解析方法 +配置`scripts/common.py`中双拼方案配置和解析方法,例如改为小鹤双拼方案: ``` ··· # 修改双拼方案配置 - layout = Your_Scheme_layout + layout = Xiaohe_Layout # 修改声母韵母转换方法 - initial_key_parser = Your_Scheme_initial_key_parser - final_key_parser = Your_Scheme_final_key_parser + initial_key_parser = Xiaohe_initial_key_parser + final_key_parser = Xiaohe_final_key_parser ``` 安装依赖,执行脚本 ```shell pip3 install -r scripts/requirements.txt - python3 scripts/generate.py + cd scripts + python3 generate.py ``` 生成的`PhraseEdit.shuangpin.txt`使用方法与上述相同。 diff --git a/scripts/common.py b/scripts/common.py index 8ede2de..da35d44 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -70,6 +70,63 @@ def MSPY_final_key_parser(pinyin_part: str, bare: bool) -> str: return pinyin_part return layout[pinyin_part] +Xiaohe_Layout: Dict = { + "iu": "q", + "ei": "w", + "uan": "r", + "ue": "t", + "ve": "t", + "un": "y", + "uo":"o", + "ie":"p", + "ong": "s", + "iong": "s", + "ai": "d", + "en": "f", + "eng": "g", + "ang": "h", + "an": "j", + "uai": "k", + "ing": "k", + "uang": "l", + "iang": "l", + "ou": "z", + "ua": "x", + "ia": "x", + "ao": "c", + "ui": "v", + "in": "b", + "iao": "n", + "ian": "m", + "sh": "u", + "ch": "i", + "zh": "v", +} + +def Xiaohe_initial_key_parser(pinyin_part: str) -> str: + if len(pinyin_part) > 1: + return layout[pinyin_part] + elif pinyin_part in "qwrtypsdfghjklzxcbnm": + return pinyin_part + return "" + + +def Xiaohe_final_key_parser(pinyin_part: str, bare: bool) -> str: + if bare: + # 小鹤双拼零声母情况 + # 单字母韵母,零声母 + 韵母所在键,如: 啊=aa 哦=oo 额=ee + if len(pinyin_part) == 1 and pinyin_part in "euioa": + return pinyin_part + pinyin_part + # 双字母韵母,零声母 + 韵母末字母,如: 爱=ai 恩=en 欧=ou + elif len(pinyin_part) == 2: + return pinyin_part + # 三字母韵母,零声母 + 韵母所在键,如: 昂=ah + else: + return pinyin_part[0] + layout[pinyin_part] + if len(pinyin_part) == 1: + return pinyin_part + else: + return layout[pinyin_part] # 修改键盘配置 layout = MS_Layout diff --git a/scripts/emoji_all_parser.py b/scripts/emoji_all_parser.py index ff5c6f1..e129650 100644 --- a/scripts/emoji_all_parser.py +++ b/scripts/emoji_all_parser.py @@ -4,7 +4,7 @@ from bs4 import BeautifulSoup from bs4.element import Tag -from scripts.common import write_json +from common import write_json def write_emoji_json(emoji_all: str, output: str): diff --git a/scripts/generate.py b/scripts/generate.py index 0e997b9..5a6fe46 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -1,6 +1,6 @@ -from scripts.emoji_all_parser import write_emoji_json -from scripts.sogou_config import write_config -from scripts.translate_pinyin import write_shuangpin_json, write_quanpin_json +from emoji_all_parser import write_emoji_json +from sogou_config import write_config +from translate_pinyin import write_shuangpin_json, write_quanpin_json emoji_all_html = "emoji_all.html" raw_data_path = "../json/data.json" quanpin_data_path = "../json/quanpin.json" diff --git a/scripts/translate_pinyin.py b/scripts/translate_pinyin.py index 620a44b..4a098a5 100644 --- a/scripts/translate_pinyin.py +++ b/scripts/translate_pinyin.py @@ -6,7 +6,7 @@ from pypinyin import pinyin, NORMAL, INITIALS, FINALS -from scripts.common import write_json, initial_key_parser, final_key_parser +from common import write_json, initial_key_parser, final_key_parser emoji_data_path = "../json/data.json"