diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1b0fb96c9..46ee08619 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,27 +1,41 @@
-name: Pack and Release
+name: Build and Release
on:
push:
branches:
- main
tags:
- - '[0-9]+.*'
+ - "[0-9]+.*"
paths:
- - '**/**'
- - '!**.md'
- - '!**.gitignore'
- - '!others/**'
- - '!.github/**'
+ - "**/**"
+ - "!**.md"
+ - "!**.gitignore"
+ - "!.github/**"
workflow_dispatch:
jobs:
Release:
runs-on: ubuntu-latest
+ if: github.repository == 'iDvel/rime-ice'
steps:
- name: Checkout
uses: actions/checkout@v4
+ - name: Setup Go
+ if: ${{ contains(github.event.head_commit.message, ' [build]') || github.event_name == 'workflow_dispatch' }}
+ uses: actions/setup-go@v5
+ with:
+ go-version: 1.22
+
+ - name: Check and build
+ id: check_and_build
+ if: ${{ contains(github.event.head_commit.message, ' [build]') || github.event_name == 'workflow_dispatch' }}
+ run: |
+ cd others/script
+ go mod tidy
+ go run main.go --rime_path "${{ github.workspace }}" --auto_confirm
+
- name: Pack dicts
run: |
mkdir dist
@@ -36,21 +50,26 @@ jobs:
zip -r dist/en_dicts.zip en_dicts
echo "Pack opencc ..."
zip -r dist/opencc.zip opencc
+ echo "copy LICENSE and README.md..."
+ cp LICENSE dist/LICENSE.txt
+ cp README.md dist/README.md
- name: Create nightly release
if: ${{ github.ref == 'refs/heads/main' }}
- uses: 'softprops/action-gh-release@v2'
+ uses: "softprops/action-gh-release@v2"
with:
body: |
## 说明
-
+
这里是每次提交后自动打包的版本,包含最新的功能和词库
+ - `README.md`:简易的使用说明
- `full.zip` : 包含所有词典和方案文件
- `cn_dicts.zip`:中文词库
- `en_dicts.zip`:英文词库
- `opencc.zip`:opencc 词库(emoji 等)
- `all_dicts.zip`:以上三个词库的整合
+ - `LICENSE.txt`:开源协议
tag_name: nightly
name: "nightly build"
@@ -60,10 +79,24 @@ jobs:
- name: Create stable release
if: startsWith(github.ref, 'refs/tags/')
- uses: 'softprops/action-gh-release@v2'
+ uses: "softprops/action-gh-release@v2"
with:
body_path: ${{ github.workspace }}/others/CHANGELOG.md
draft: true
make_latest: true
files: |
- dist/*
\ No newline at end of file
+ dist/*
+
+ - name: Push and commit
+ if: ${{ steps.check_and_build.outcome == 'success' }}
+ run: |
+ git config --global user.name "github-actions[bot]"
+ git config --global user.email "github-actions[bot]@users.noreply.github.com"
+ git add --all
+ if ! git diff --cached --quiet; then
+ COMMIT_MSG=$(git log -1 --pretty=%B | sed -e 's/\s\[build\]$//' -e 's/^[a-zA-Z()]*:\s*//')
+ git commit -m "build(ci): auto build for -> ${COMMIT_MSG} <-"
+ git push
+ else
+ echo "No changes to commit."
+ fi
\ No newline at end of file
diff --git a/README.md b/README.md
index 3b2155699..9e1ceaa37 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
这里是 Rime 的一份配置仓库,用户需要下载各平台对应的前端,并将此配置应用到配置目录。
-雾凇拼音提供了一套开箱即用的完整配置,包含了输入方案(全拼、双拼)、长期维护的词库及各项扩展功能。
+雾凇拼音提供了一套开箱即用的完整配置,包含输入方案(全拼、常见双拼)、长期维护的开源词库及各项扩展功能。
详细介绍:[Rime 配置:雾凇拼音](https://dvel.me/posts/rime-ice/)
@@ -24,33 +24,40 @@
- 简体 | 全拼 | 双拼
- 主要功能
- - [melt_eng](https://github.com/tumuyan/rime-melt) 英文输入(@tumuyan | [Apache 2.0](https://github.com/tumuyan/rime-melt/blob/master/LICENSE))
+ - 轻量的英文输入,支持中英混输
- [优化英文输入体验](https://dvel.me/posts/make-rime-en-better/)
- - [部件拆字方案](https://github.com/mirtlecn/rime-radical-pinyin) 反查、辅码(@mirtlecn | [CC BY-SA 4.0](https://github.com/mirtlecn/rime-radical-pinyin/blob/master/LICENSE))
+ - 拆字反查(uU+拼音),拆字辅码(拼音+`+拆字辅码)
- 自整理的 Emoji
- - [以词定字](https://github.com/BlindingDark/rime-lua-select-character)(@BlindingDark | [LGPL 3.0](https://github.com/BlindingDark/rime-lua-select-character/blob/master/LICENSE))
- - [长词优先](https://github.com/tumuyan/rime-melt/blob/master/lua/melt.lua)(@tumuyan | [Apache 2.0](https://github.com/tumuyan/rime-melt/blob/master/LICENSE))
- - [Unicode](https://github.com/shewer/librime-lua-script/blob/main/lua/component/unicode.lua)(@shewer | [MIT](https://github.com/shewer/librime-lua-script/blob/main/lua/component/unicode.lua))
- - [数字、人民币大写](https://github.com/yanhuacuo/98wubi/blob/master/lua/number.lua)(@98wubi)
- - 日期、时间、星期、[农历](https://github.com/boomker/rime-fast-xhup)(@boomker | [LGPL 3.0](https://github.com/boomker/rime-fast-xhup/blob/master/LICENSE))
+ - 以词定字(左右中括号:[、])
+ - 长词优先
+ - Unicode(U+Unicode 码位)
+ - 数字、人民币大写(R+数字)
+ - 日期、时间、星期(详见方案 `/date_translator` 节点)
+ - 农历(转写:N+八位数字;获取当前农历:全拼nl,双拼lunar)
- 常见错音错字提示
- - 置顶候选项
- - 所有标点符号直接上屏,/ 模式改为 v 模式,/ 直接上屏
- - 增加了许多拼音纠错
+ - 置顶候选项(详见方案 `/pin_cand_filter` 节点)
+ - 所有标点符号直接上屏
+ - 特殊符号、字符输入(全拼v+首字母缩写;双拼V+首字母缩写)
+ - 拼音纠错(模糊音)
+ - 更多默认未启用的功能请参考 `rime.lua` 文件以及方案注释
- 简体字表、词库
- - [《通用规范汉字表》](https://github.com/iDvel/The-Table-of-General-Standard-Chinese-Characters)
- - [华宇野风系统词库](http://bbs.pinyin.thunisoft.com/forum.php?mod=viewthread&tid=30049)(@野风)
- - [清华大学开源词库](https://github.com/thunlp/THUOCL)(@THUNLP | [MIT](https://github.com/thunlp/THUOCL/blob/master/LICENSE))
- - [现代汉语常用词表](https://gist.github.com/indiejoseph/eae09c673460aa0b56db)(@Joseph cheng)
- - [腾讯词向量](https://ai.tencent.com/ailab/nlp/en/download.html)(@Tencent AI Lab | [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/))
- - 参考
- - 《现代汉语词典》
- - 《同义词词林》
- - 《新华成语大词典》
+ - [《通用规范汉字表》](https://github.com/iDvel/The-Table-of-General-Standard-Chinese-Characters) 8K 常用汉字
+ - [Unihan 字库](https://www.unicode.org/Public/)(by Unicode lnc | [UNICODE LICENSE V3](https://www.unicode.org/license.txt))40K 大字库, **默认未启用**
+ - [华宇野风词库](http://bbs.pinyin.thunisoft.com/forum.php?mod=viewthread&tid=30049)(by 野风)
+ - [简化字八股文](https://github.com/rime/rime-essay-simp)(by rime | [LGPL](https://github.com/rime/rime-essay-simp/blob/master/LICENSE))
+ - [清华大学开源词库](https://github.com/thunlp/THUOCL)(by THUNLP | [MIT](https://github.com/thunlp/THUOCL/blob/master/LICENSE))
+ - [现代汉语常用词表](https://zh.wikipedia.org/wiki/%E7%8E%B0%E4%BB%A3%E6%B1%89%E8%AF%AD%E5%B8%B8%E7%94%A8%E8%AF%8D%E8%A1%A8)(by 中国国家语言文字工作委员会)
+ - [腾讯词向量](https://ai.tencent.com/ailab/nlp/en/download.html)(Huandeep [整理](https://github.com/iDvel/rime-ice/issues/24) | by Tencent AI Lab | [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/))
- 词库修订
- 校对大量异形词、错别字、错误注音
- 全词库完成注音
- 同义多音字注音
+ - 参考
+ - 《现代汉语词典》
+ - 《同义词词林》
+ - 《新华成语大词典》
+ - [校对标准论坛](http://www.jiaodui.com/bbs/)
+- Rime、Squirrel、Weasel 常用配置项的详尽注释
@@ -199,7 +206,16 @@ patch:
## 感谢 ❤️
-感谢上述提到的词库、方案及功能参考。
+特别感谢上文已经提及的词库、词典的作者、贡献者及整理者;特别感谢以及下列词库、方案、脚本的作者及贡献者(提及的均为 GitHub id):
+
+- @mozillazg 开发的汉字转拼音工具和数据库(MIT)
+- [melt_eng](https://github.com/tumuyan/rime-melt)(@tumuyan | [Apache 2.0](https://github.com/tumuyan/rime-melt/blob/master/LICENSE)) :提供了部分(约 1000 条)英文词汇以及原始英文方案参考;
+- [部件拆字方案 v1](https://github.com/mirtlecn/rime-radical-pinyin)(@mirtlecn | [CC BY-SA 4.0](https://github.com/mirtlecn/rime-radical-pinyin/blob/master/LICENSE)):提供的拆字反查,辅码插件;
+- [长词优先插件](https://github.com/tumuyan/rime-melt/blob/master/lua/melt.lua)(@tumuyan | [Apache 2.0](https://github.com/tumuyan/rime-melt/blob/master/LICENSE))
+- [Unicode 插件](https://github.com/shewer/librime-lua-script/blob/main/lua/component/unicode.lua)(@shewer | [MIT](https://github.com/shewer/librime-lua-script/blob/main/lua/component/unicode.lua))
+- [数字、人民币大写插件](https://github.com/yanhuacuo/98wubi/blob/master/lua/number.lua)(@98wubi)
+- [农历插件](https://github.com/boomker/rime-fast-xhup)(@boomker | [LGPL 3.0](https://github.com/boomker/rime-fast-xhup/blob/master/LICENSE))
+- 未能在此处详述的、在本库源码注释中提及的项目及作者给予的帮助和参考
感谢 [@Huandeep](https://github.com/Huandeep) 整理的多个词库。
@@ -207,9 +223,7 @@ patch:
感谢所有贡献者。
-搜狗转 Rime:[lewangdev/scel2txt](https://github.com/lewangdev/scel2txt)
-
-大量参考 [校对标准论坛](http://www.jiaodui.com/bbs/)
+
Thanks to JetBrains for the OSS development license.
diff --git a/cn_dicts/41448.dict.yaml b/cn_dicts/41448.dict.yaml
index 463647586..632eef256 100644
--- a/cn_dicts/41448.dict.yaml
+++ b/cn_dicts/41448.dict.yaml
@@ -17,7 +17,7 @@
# 这样小字表里存在的字按权重靠前排列,大字表殿后,生僻字自动就排在末尾。
---
name: 41448
-version: "2024-05-16"
+version: "2024-07-28"
sort: by_weight
...
# 注释掉了一些
@@ -8676,6 +8676,7 @@ sort: by_weight
𩙣 feng
𩪌 feng
𪐃 feng
+覅 fiao
㤇 fo
仏 fo
仸 fo
@@ -23500,11 +23501,11 @@ sort: by_weight
溺 ni
濔 ni
狔 ni
-祢 ni
猊 ni
疑 ni
眤 ni
睨 ni
+祢 ni
秜 ni
籾 ni
縌 ni
diff --git a/cn_dicts/base.dict.yaml b/cn_dicts/base.dict.yaml
index 77badb729..adae08f8a 100644
--- a/cn_dicts/base.dict.yaml
+++ b/cn_dicts/base.dict.yaml
@@ -1911,10 +1911,11 @@
# 「喜剧届、音乐届、体育届」→「喜剧界、音乐界、体育界」
# 「全天侯」→「全天候」
# 「夏侯敦」→「夏侯惇」
+# 「纨裤子弟」-->「纨绔子弟」
#///
---
name: base
-version: "2024-06-10"
+version: "2024-08-18"
sort: by_weight
...
# +_+
@@ -7375,7 +7376,7 @@ sort: by_weight
傲游浏览器 ao you liu lan qi 112
遨游世界 ao you shi jie 545
遨游四海 ao you si hai 295
-遨游四海求其皇 ao you si hai qiu qi huang 1
+遨游四海求其凰 ao you si hai qiu qi huang 1
遨游太空 ao you tai kong 2355
遨游天下 ao you tian xia 400
敖幼祥 ao you xiang 37
@@ -9150,7 +9151,7 @@ sort: by_weight
拔丝楂糕 ba si zha gao 2
罢讼 ba song 9999
巴松 ba song 8
-巴松错 ba song cuo 2835
+巴松措 ba song cuo 2835
八松乡 ba song xiang 3
八艘 ba sou 8
罢诉 ba su 9999
@@ -24264,6 +24265,7 @@ sort: by_weight
避暑胜地 bi shu sheng di 6810
鼻舒适片 bi shu shi pian 1
必输无疑 bi shu wu yi 755
+必输性 bi shu xing 111
笔刷 bi shua 1111
避税 bi shui 28910
碧水 bi shui 4037
@@ -38568,12 +38570,13 @@ sort: by_weight
不眨眼 bu zha yan 1570
布渣叶 bu zha ye 29
卜宅卜邻 bu zhai bu lin 1
-布展 bu zhan 37150
-不占 bu zhan 31290
-不粘 bu zhan 15145
-不沾 bu zhan 14805
-不战 bu zhan 12135
-不展 bu zhan 1840
+不占 bu zhan 37150
+不沾 bu zhan 31290
+布展 bu zhan 15145
+不战 bu zhan 14805
+不粘 bu zhan 12135
+不站 bu zhan 1840
+不展 bu zhan 1830
步战 bu zhan 1825
不占白不占 bu zhan bai bu zhan 125
不沾边 bu zhan bian 1725
@@ -63028,6 +63031,7 @@ sort: by_weight
磁带录音机 ci dai lu yin ji 800
磁带驱动器 ci dai qu dong qi 195
次贷危机 ci dai wei ji 1
+此单 ci dan 111
次单位 ci dan wei 120
刺刀 ci dao 17460
磁道 ci dao 16615
@@ -78948,6 +78952,7 @@ sort: by_weight
倒叙 dao xu 3490
捣虚敌随 dao xu di sui 1
倒序排列 dao xu pai lie 550
+倒序排序 dao xu pai xu 111
捣虚撇抗 dao xu pie kang 1
倒悬 dao xuan 4125
道学 dao xue 8580
@@ -108187,7 +108192,8 @@ sort: by_weight
繁衍着 fan yan zhe 715
犯颜直谏 fan yan zhi jian 425
犯言直谏 fan yan zhi jian 65
-范阳 fan yang 1
+范阳 fan yang 111
+返样 fan yang 2
樊羊路北口 fan yang lu bei kou 4
凡要 fan yao 3065
反要 fan yao 1600
@@ -122914,6 +122920,7 @@ sort: by_weight
改打 gai da 2120
钙代谢紊乱 gai dai xie wen luan 1
改单 gai dan 1690
+该单 gai dan 111
钙蛋白 gai dan bai 65
该当 gai dang 7475
该党 gai dang 7010
@@ -133588,6 +133595,7 @@ sort: by_weight
共聚 gong ju 13155
共居 gong ju 2045
贡举 gong ju 1240
+贡菊 gong ju 1200
贡橘 gong ju 1180
公举 gong ju 680
工具安装 gong ju an zhuang 1223
@@ -148561,6 +148569,7 @@ sort: by_weight
过于靠近 guo yu kao jin 735
过于苛刻 guo yu ke ke 1930
过于频繁 guo yu pin fan 151
+国语水平 guo yu shui ping 111
国于天地 guo yu tian di 1
过于小心 guo yu xiao xin 350
国语专辑 guo yu zhuan ji 10220
@@ -149972,6 +149981,7 @@ sort: by_weight
还老 hai lao 111
害了 hai le 3465
嗨了 hai le 1111
+害了你 hai le ni 111
海了去了 hai le qu le 516
海乐社区 hai le she qu 120
海乐世界 hai le shi jie 165
@@ -190433,6 +190443,7 @@ sort: by_weight
简洁性 jian jie xing 2138
间接选举 jian jie xuan ju 1565
间接寻址 jian jie xun zhi 1273
+简洁一点 jian jie yi dian 111
间接引语 jian jie yin yu 725
间接影响 jian jie ying xiang 4510
间接原因 jian jie yuan yin 990
@@ -194406,6 +194417,7 @@ sort: by_weight
降序 jiang xu 4600
姜旭光 jiang xu guang 12
降序排列 jiang xu pai lie 2860
+降序排序 jiang xu pai xu 111
讲学 jiang xue 47280
降雪 jiang xue 10590
江雪 jiang xue 6070
@@ -282654,6 +282666,7 @@ sort: by_weight
你休想 ni xiu xiang 2210
逆序 ni xu 12675
逆序对 ni xu dui 2191
+逆序排序 ni xu pai xu 111
逆序数 ni xu shu 2329
逆序输出 ni xu shu chu 1451
逆序数对 ni xu shu dui 140
@@ -344753,6 +344766,7 @@ sort: by_weight
圣雄甘地 sheng xiong gan di 1375
生锈 sheng xiu 26165
升序 sheng xu 25212
+升序排序 sheng xu pai xu 111
胜选 sheng xuan 1111
盛宣怀 sheng xuan huai 239
胜选连任 sheng xuan lian ren 1111
@@ -363871,6 +363885,7 @@ sort: by_weight
顺序进程 shun xu jin cheng 53
顺序控制 shun xu kong zhi 1605
顺序排列 shun xu pai lie 18610
+顺序排序 shun xu pai xu 111
顺序容器 shun xu rong qi 1017
顺序搜索 shun xu sou suo 889
顺序索引 shun xu suo yin 364
@@ -398154,7 +398169,7 @@ sort: by_weight
纨绔膏粱 wan ku gao liang 2
纨绔世子妃 wan ku shi zi fei 118
纨绔子弟 wan ku zi di 341
-纨裤子弟 wan ku zi di 28
+# 纨裤子弟 wan ku zi di 0
碗筷 wan kuai 13950
万块 wan kuai 13720
挽狂澜 wan kuang lan 2055
@@ -425936,6 +425951,7 @@ sort: by_weight
夏庄村 xia zhuang cun 40
下坠 xia zhui 14970
瞎子 xia zi 30750
+虾子 xia zi 20000
匣子 xia zi 10835
虾籽 xia zi 5350
下子 xia zi 1
@@ -450517,6 +450533,7 @@ sort: by_weight
轩逸 xuan yi 2222
选译 xuan yi 1560
悬椅 xuan yi 15
+选一次 xuan yi ci 111
选一个 xuan yi ge 17770
宣颐家园 xuan yi jia yuan 15
悬疑剧 xuan yi ju 530
@@ -493363,6 +493380,7 @@ sort: by_weight
予以保密 yu yi bao mi 3470
玉翼婵娟 yu yi chan juan 1
予以承认 yu yi cheng ren 3345
+语义重复 yu yi chong fu 111
语义词典 yu yi ci dian 16
余亦辞家西入秦 yu yi ci jia xi ru qin 3
语义错误 yu yi cuo wu 118
@@ -503112,6 +503130,8 @@ sort: by_weight
在宣布 zai xuan bu 4790
在宣传 zai xuan chuan 21160
在选购 zai xuan gou 24830
+再选了 zai xuan le 4420
+在选了 zai xuan le 1442
在选择 zai xuan ze 81650
再选择 zai xuan ze 19670
在学 zai xue 65280
@@ -513448,8 +513468,8 @@ sort: by_weight
这种状况 zhe zhong zhuang kuang 70
这种子 zhe zhong zi 580
这种做法 zhe zhong zuo fa 215
-褶皱 zhe zhou 21985
-这周 zhe zhou 12830
+这周 zhe zhou 21985
+褶皱 zhe zhou 12830
折皱 zhe zhou 2370
这周二 zhe zhou er 89
这周六 zhe zhou liu 12
@@ -517411,6 +517431,8 @@ sort: by_weight
郑秀生 zheng xiu sheng 107
郑秀文 zheng xiu wen 13650
正需 zheng xu 2610
+正序 zheng xu 111
+正序排序 zheng xu pai xu 111
正虚邪实 zheng xu xie shi 26
正需要 zheng xu yao 8305
征选 zheng xuan 3333
@@ -533650,6 +533672,7 @@ sort: by_weight
猪油夹沙粽子 zhu you jia sha zong zi 27
住友家园 zhu you jia yuan 2
朱由检 zhu you jian 25
+朱由校 zhu you jiao 680
猪油开花包 zhu you kai hua bao 1
杼柚空虚 zhu you kong xu 1
朱由榔 zhu you lang 21
@@ -533663,7 +533686,6 @@ sort: by_weight
猪油汤团 zhu you tang tuan 105
猪油汤圆 zhu you tang yuan 45
主油箱 zhu you xiang 280
-朱由校 zhu you jiao 680
朱有勇 zhu you yong 176
猪油渣面 zhu you zha mian 19
朱友贞 zhu you zhen 2
diff --git a/cn_dicts/ext.dict.yaml b/cn_dicts/ext.dict.yaml
index e786d101e..59c4cbdd5 100644
--- a/cn_dicts/ext.dict.yaml
+++ b/cn_dicts/ext.dict.yaml
@@ -16,7 +16,7 @@
# - 简化字八股文 https://github.com/rime/rime-essay-simp
---
name: ext
-version: "2024-06-10"
+version: "2024-07-28"
sort: by_weight
...
# +_+
@@ -20065,7 +20065,6 @@ sort: by_weight
不认同 bu ren tong 100
不仁义的 bu ren yi de 100
不忍远离 bu ren yuan li 100
-不认账 bu ren zhang 100
不认这个账 bu ren zhe ge zhang 100
不认真履行职责 bu ren zhen lv xing zhi ze 100
不忍直视 bu ren zhi shi 100
@@ -71526,7 +71525,6 @@ sort: by_weight
反经合义 fan jing he yi 100
范九利 fan jiu li 100
犯酒瘾 fan jiu yin 100
-翻旧账 fan jiu zhang 100
翻卷子 fan juan zi 100
反绝杀 fan jue sha 100
翻开了新的一页 fan kai le xin de yi ye 100
@@ -101308,7 +101306,7 @@ sort: by_weight
喝一瓶水 he yi ping shui 100
喝一瓶饮料 he yi ping yin liao 100
和以前一样 he yi qian yi yang 100
-何以笙萧默 he yi sheng xiao mo 100
+何以笙箫默 he yi sheng xiao mo 100
和意同心 he yi tong xin 100
何以为战 he yi wei zhan 100
何意义 he yi yi 100
@@ -154687,6 +154685,7 @@ sort: by_weight
罗志明 luo zhi ming 100
罗致人才 luo zhi ren cai 100
罗郅阳 luo zhi yang 100
+裸指针 luo zhi zhen 100
罗致政 luo zhi zheng 100
洛钟东应 luo zhong dong ying 100
罗竹君 luo zhu jun 100
@@ -268822,6 +268821,7 @@ sort: by_weight
写出了 xie chu le 100
写出去 xie chu qu 100
泻出去 xie chu qu 100
+写错成 xie cuo cheng 100
写错成了 xie cuo cheng le 100
写错啦 xie cuo la 100
写错了呗 xie cuo le bei 100
@@ -310115,7 +310115,6 @@ sort: by_weight
折臂三公 zhe bi san gong 100
这笔手续费 zhe bi shou xu fei 100
这逼样 zhe bi yang 100
-这笔账 zhe bi zhang 100
遮蔽罩 zhe bi zhao 100
这逼装得 zhe bi zhuang de 100
这边的 zhe bian de 100
diff --git a/cn_dicts/tencent.dict.yaml b/cn_dicts/tencent.dict.yaml
index ad561d1fa..7dcdc1a88 100644
--- a/cn_dicts/tencent.dict.yaml
+++ b/cn_dicts/tencent.dict.yaml
@@ -22,7 +22,7 @@
# 需要注音的字词设定在 others/script/rime/需要注音.txt
---
name: tencent
-version: "2024-06-10"
+version: "2024-08-18"
sort: by_weight
columns:
- text
@@ -12320,7 +12320,6 @@ columns:
一笔小钱 100
一笔巨大的财富 100
一笔巨资 100
-一笔账 100
一笔收入 100
一笔横财 100
一笔生意 100
@@ -30274,7 +30273,6 @@ columns:
不买单 100
不买卖 100
不买吧 100
-不买账 100
不买房子 100
不买的话 100
不买社保 100
@@ -105857,7 +105855,6 @@ columns:
代理网络 100
代理联盟 100
代理要求 100
-代理记账 100
代理记账业务 100
代理记账公司 100
代理记账报税 100
@@ -121437,7 +121434,6 @@ columns:
何以玫 100
何以琛 100
何以知 100
-何以笙箫默 100
何以至此 100
何以言 100
何伟业 100
@@ -190983,7 +190979,6 @@ columns:
分类导航图 100
分类展示 100
分类工作 100
-分类账 100
分类帮扶 100
分类建设 100
分类引导 100
@@ -199420,7 +199415,6 @@ columns:
到市中心 100
到市区 100
到市场 100
-到账时间 100
到平台 100
到平面 100
到年中 100
@@ -223273,7 +223267,6 @@ columns:
升州路 100
升平公主 100
升序排列 100
-升序排序 100
升技能 100
升挂国旗 100
升旗山 100
@@ -282036,7 +282029,6 @@ columns:
商家销售 100
商家门店 100
商家需求 100
-商账追收 100
商店上架 100
商店中 100
商店中购买 100
@@ -282415,6 +282407,7 @@ columns:
商谈价格 100
商谈合作 100
商谈指数 100
+商账追收 100
商贩们 100
商贩占道经营 100
商贸业 100
@@ -300807,7 +300800,6 @@ columns:
坏家伙们 100
坏小子军团 100
坏就坏 100
-坏账准备 100
坏弟弟 100
坏影响 100
坏心思 100
@@ -399301,7 +399293,6 @@ columns:
巴普蒂斯特 100
巴朗山 100
巴木玉布木 100
-巴松措 100
巴林国王杯 100
巴林氏 100
巴林第纳尔 100
@@ -403515,8 +403506,6 @@ columns:
希阿荣博堪布 100
希鲁鲁克 100
帏薄不修 100
-账务处理 100
-账房先生 100
帐汗国 100
帐篷内 100
帐篷出租 100
@@ -403529,7 +403518,6 @@ columns:
帐篷酒店 100
帐篷露营 100
帐篷顶 100
-账面价值 100
帕丁顿 100
帕丁顿熊 100
帕亚加尼 100
@@ -414492,7 +414480,6 @@ columns:
应付利息 100
应付利润 100
应付工作 100
-应付账款 100
应付应付 100
应付式 100
应付性 100
@@ -415147,7 +415134,6 @@ columns:
应收债权 100
应收利息 100
应收尽收 100
-应收账款 100
应收应付 100
应收款项融资 100
应收申购款 100
@@ -433862,7 +433848,6 @@ columns:
往来信件 100
往来单位 100
往来密切 100
-往来账 100
往来港澳 100
往来穿梭 100
往来车辆 100
@@ -469775,7 +469760,6 @@ columns:
扇车门 100
扇面形 100
扇面画 100
-扇风点火 100
扈耀之 100
扉页故事 100
手一伸 100
@@ -470131,7 +470115,6 @@ columns:
手工巧克力 100
手工布艺 100
手工布鞋 100
-手工账 100
手工店 100
手工录入 100
手工彩绘 100
@@ -541546,7 +541529,6 @@ columns:
日记初一 100
日记初二 100
日记大全 100
-日记账 100
日记怎么写 100
日记本里 100
日记满分 100
@@ -546578,7 +546560,6 @@ columns:
明细信息 100
明细分类账 100
明细单 100
-明细账 100
明细情况 100
明细数据 100
明细查询 100
@@ -595834,7 +595815,6 @@ columns:
樱井玲香 100
樱井由纪 100
樱井知香 100
-樱井莉亚 100
樱井透 100
樱前街 100
樱吹雪 100
@@ -629375,7 +629355,6 @@ columns:
流水图 100
流水图片 100
流水对 100
-流水账 100
流水式 100
流水式转向灯 100
流水摆件 100
@@ -638731,9 +638710,9 @@ columns:
淫秽色情视频 100
淫秽视频 100
淫羊霍 100
+淫荡图片 100
淫荡女 100
淫荡女人 100
-淫荡图片 100
淫荡对白 100
淫荡少妇 100
淫荡护士 100
@@ -641132,7 +641111,6 @@ columns:
混子玩家 100
混官场 100
混小子 100
-混账东西 100
混帐门 100
混干皮 100
混床树脂 100
@@ -653005,7 +652983,6 @@ columns:
激酶抑制剂 100
濂溪区 100
濉溪路 100
-濑亚美莉 100
濑尿虾 100
濑户内 100
濑户内寂听 100
@@ -723535,7 +723512,6 @@ columns:
石原夏织 100
石原立也 100
石原聪美 100
-石原莉奈 100
石友三 100
石台阶 100
石呆子 100
@@ -759057,7 +759033,6 @@ columns:
糊汤粉 100
糊涂一点 100
糊涂侦探 100
-糊涂账 100
糊涂点 100
糊涂的人 100
糊涂鬼 100
@@ -769472,7 +769447,6 @@ columns:
经常学习 100
经常家暴 100
经常尿床 100
-经常账 100
经常带 100
经常帮助别人 100
经常干 100
@@ -769653,6 +769627,7 @@ columns:
经常说谎 100
经常请假 100
经常谈 100
+经常账 100
经常账户盈余 100
经常账户赤字 100
经常账户顺差 100
@@ -770079,7 +770054,6 @@ columns:
经济师考试 100
经济师职称 100
经济师证书 100
-经济账 100
经济带动 100
经济常识 100
经济平台 100
@@ -850488,7 +850462,6 @@ columns:
记大过处分 100
记好笔记 100
记工分 100
-记账凭证 100
记录一 100
记录一切 100
记录三 100
@@ -867319,7 +867292,6 @@ columns:
贸易展会 100
贸易展览 100
贸易展览会 100
-贸易账 100
贸易平台 100
贸易广场 100
贸易开放 100
@@ -867394,6 +867366,7 @@ columns:
贸易融资业务 100
贸易街 100
贸易规则 100
+贸易账 100
贸易路线 100
贸易过程 100
贸易运输 100
@@ -869813,7 +869786,6 @@ columns:
赌王之子何猷君 100
赌王之王 100
赌王何鸿燊 100
-赌王何鸿燊 100
赌王儿子 100
赌王儿子何猷君 100
赌王千金 100
@@ -902258,7 +902230,6 @@ columns:
选一家 100
选一张 100
选一条 100
-选一次 100
选一种 100
选一选 100
选一首 100
@@ -954544,7 +954515,6 @@ columns:
顺序安排 100
顺序录取 100
顺序性 100
-顺序排序 100
顺序播放 100
顺序码 100
顺序练习 100
@@ -955233,7 +955203,6 @@ columns:
预产期提前 100
预付卡 100
预付卡消费 100
-预付账款 100
预付式 100
预付式消费 100
预付款保函 100
diff --git a/double_pinyin.schema.yaml b/double_pinyin.schema.yaml
index aae9e29d8..154adbdb7 100644
--- a/double_pinyin.schema.yaml
+++ b/double_pinyin.schema.yaml
@@ -157,6 +157,7 @@ pin_cand_filter:
# 主翻译器,拼音
translator:
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
+ enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
prism: double_pinyin # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
diff --git a/double_pinyin_abc.schema.yaml b/double_pinyin_abc.schema.yaml
index 7fa54b166..c5356ebd6 100644
--- a/double_pinyin_abc.schema.yaml
+++ b/double_pinyin_abc.schema.yaml
@@ -157,6 +157,7 @@ pin_cand_filter:
# 主翻译器,拼音
translator:
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
+ enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
prism: double_pinyin_abc # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
diff --git a/double_pinyin_flypy.schema.yaml b/double_pinyin_flypy.schema.yaml
index b4a6b870d..2fe79a3ac 100644
--- a/double_pinyin_flypy.schema.yaml
+++ b/double_pinyin_flypy.schema.yaml
@@ -157,6 +157,7 @@ pin_cand_filter:
# 主翻译器,拼音
translator:
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
+ enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
prism: double_pinyin_flypy # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
diff --git a/double_pinyin_mspy.schema.yaml b/double_pinyin_mspy.schema.yaml
index 8b29a6d7d..37a9e9366 100644
--- a/double_pinyin_mspy.schema.yaml
+++ b/double_pinyin_mspy.schema.yaml
@@ -157,6 +157,7 @@ pin_cand_filter:
# 主翻译器,拼音
translator:
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
+ enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
prism: double_pinyin_mspy # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
diff --git a/double_pinyin_sogou.schema.yaml b/double_pinyin_sogou.schema.yaml
index 0188e8a6a..49fe3525e 100644
--- a/double_pinyin_sogou.schema.yaml
+++ b/double_pinyin_sogou.schema.yaml
@@ -157,6 +157,7 @@ pin_cand_filter:
# 主翻译器,拼音
translator:
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
+ enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
prism: double_pinyin_sogou # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
diff --git a/double_pinyin_ziguang.schema.yaml b/double_pinyin_ziguang.schema.yaml
index 549daa658..16cb00e90 100644
--- a/double_pinyin_ziguang.schema.yaml
+++ b/double_pinyin_ziguang.schema.yaml
@@ -157,6 +157,7 @@ pin_cand_filter:
# 主翻译器,拼音
translator:
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
+ enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
prism: double_pinyin_ziguang # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
diff --git a/en_dicts/cn_en.txt b/en_dicts/cn_en.txt
index a434e4e2f..200b21ef3 100644
--- a/en_dicts/cn_en.txt
+++ b/en_dicts/cn_en.txt
@@ -912,3 +912,7 @@ O不OK obuok
人均GDP renjungdp
V8引擎 Vbayinqing
V8引擎 vbayinqing
+4A级 siAji
+4A级 siaji
+5A级 wuAji
+5A级 wuaji
diff --git a/en_dicts/cn_en_abc.txt b/en_dicts/cn_en_abc.txt
index 89b2668e3..ff519f19b 100644
--- a/en_dicts/cn_en_abc.txt
+++ b/en_dicts/cn_en_abc.txt
@@ -912,3 +912,7 @@ O不OK obuok
人均GDP rfjngdp
V8引擎 Vbaycqy
V8引擎 vbaycqy
+4A级 siAji
+4A级 siaji
+5A级 wuAji
+5A级 wuaji
diff --git a/en_dicts/cn_en_double_pinyin.txt b/en_dicts/cn_en_double_pinyin.txt
index 1705e0c3b..5ee001ac0 100644
--- a/en_dicts/cn_en_double_pinyin.txt
+++ b/en_dicts/cn_en_double_pinyin.txt
@@ -912,3 +912,7 @@ O不OK obuok
人均GDP rfjpgdp
V8引擎 Vbaynqy
V8引擎 vbaynqy
+4A级 siAji
+4A级 siaji
+5A级 wuAji
+5A级 wuaji
diff --git a/en_dicts/cn_en_flypy.txt b/en_dicts/cn_en_flypy.txt
index 328a3ee5f..a269813eb 100644
--- a/en_dicts/cn_en_flypy.txt
+++ b/en_dicts/cn_en_flypy.txt
@@ -912,3 +912,7 @@ O不OK obuok
人均GDP rfjygdp
V8引擎 Vbaybqk
V8引擎 vbaybqk
+4A级 siAji
+4A级 siaji
+5A级 wuAji
+5A级 wuaji
diff --git a/en_dicts/cn_en_mspy.txt b/en_dicts/cn_en_mspy.txt
index 2003738a7..b31940a0d 100644
--- a/en_dicts/cn_en_mspy.txt
+++ b/en_dicts/cn_en_mspy.txt
@@ -912,3 +912,7 @@ O不OK obuok
人均GDP rfjpgdp
V8引擎 Vbaynq;
V8引擎 vbaynq;
+4A级 siAji
+4A级 siaji
+5A级 wuAji
+5A级 wuaji
diff --git a/en_dicts/cn_en_sogou.txt b/en_dicts/cn_en_sogou.txt
index ed80448c5..13b68585c 100644
--- a/en_dicts/cn_en_sogou.txt
+++ b/en_dicts/cn_en_sogou.txt
@@ -912,3 +912,7 @@ O不OK obuok
人均GDP rfjpgdp
V8引擎 Vbaynq;
V8引擎 vbaynq;
+4A级 siAji
+4A级 siaji
+5A级 wuAji
+5A级 wuaji
diff --git a/en_dicts/cn_en_ziguang.txt b/en_dicts/cn_en_ziguang.txt
index 00a205db3..5495c4af4 100644
--- a/en_dicts/cn_en_ziguang.txt
+++ b/en_dicts/cn_en_ziguang.txt
@@ -912,3 +912,7 @@ O不OK obuok
人均GDP rwjmgdp
V8引擎 Vbayyq;
V8引擎 vbayyq;
+4A级 siAji
+4A级 siaji
+5A级 wuAji
+5A级 wuaji
diff --git a/lua/cold_word_drop/processor.lua b/lua/cold_word_drop/processor.lua
index 435513cf2..3bb304bc2 100644
--- a/lua/cold_word_drop/processor.lua
+++ b/lua/cold_word_drop/processor.lua
@@ -3,19 +3,18 @@ require("cold_word_drop.metatable")
local processor = {}
local function get_record_filername(record_type)
+ local path_sep = "/"
+ local user_data_dir = rime_api:get_user_data_dir()
local user_distribute_name = rime_api:get_distribution_code_name()
- if user_distribute_name:lower():match("weasel") then
- return string.format("%s\\lua\\cold_word_drop\\%s_words.lua", rime_api:get_user_data_dir(), record_type)
- elseif user_distribute_name:lower():match("squirrel") then
- return string.format("%s/lua/cold_word_drop/%s_words.lua", rime_api:get_user_data_dir(), record_type)
- elseif user_distribute_name:lower():match("fcitx") then
- return string.format("%s/lua/cold_word_drop/%s_words.lua", rime_api:get_user_data_dir(), record_type)
- elseif user_distribute_name:lower():match("ibus") then
- return string.format(
- "%s/rime/lua/cold_word_drop/%s_words.lua",
+ if user_distribute_name:lower():match("weasel") then path_sep = "\\" end
+ if user_distribute_name:lower():match("ibus") then
+ return string.format("%s/rime/lua/cold_word_records/%s_words.lua",
os.getenv("HOME") .. "/.config/ibus",
record_type
)
+ else
+ local file_path = string.format("%s/lua/cold_word_records/%s_words.lua", user_data_dir, record_type)
+ return file_path:gsub("/", path_sep)
end
end
diff --git a/lua/search.lua b/lua/search.lua
index 68033ca6f..6345a95c6 100755
--- a/lua/search.lua
+++ b/lua/search.lua
@@ -32,6 +32,7 @@ local function update_dict_entry( s, code, mem, proj )
return 0
end
local e = DictEntry()
+ s = s:gsub( '^%s+', '' ):gsub( '%s+$', '' )
e.text = s
local pos = {}
@@ -80,7 +81,7 @@ end
-- 通过 reverse db 查询(以字查码,然后比对辅码是否相同,快,但只能匹配未经算法转换的码)
local function reverse_lookup( code_projection, db_table, wildcard, text, s, global_match )
- if wildcard then s = s:gsub( wildcard, '.*' ) end
+ if wildcard then s = s:gsub( wildcard, '.+' ) end
if code_projection then
-- old librime do not return original string when apply failed
local p = code_projection:apply( s, true )
@@ -294,6 +295,8 @@ function f.fini( env )
if env.if_reverse_lookup or env.if_schema_lookup then
env.notifier:disconnect()
env.commit_notifier:disconnect()
+ if env.mem and env.mem.disconnect then env.mem:disconnect() end
+ if env.search and env.search.disconnect then env.search:disconnect() end
if env.mem or env.search or env.db_table then
env.db_table = nil
env.mem = nil
diff --git a/opencc/emoji.txt b/opencc/emoji.txt
index 1e4715b0f..6813c57e3 100644
--- a/opencc/emoji.txt
+++ b/opencc/emoji.txt
@@ -12,6 +12,12 @@
新加坡币 新加坡币 S$
欧元 欧元 € 💶
英镑 英镑 £ 💷
+镑 镑 £
+比特币 比特币 ₿
+泰铢 泰铢 ฿
+铢 铢 ฿
+卢比 卢比 ₨
+印度卢比 印度卢比 ₹
笑脸 笑脸 😀
露齿笑 露齿笑 😃
哈 哈 😄
diff --git a/opencc/others.txt b/opencc/others.txt
index f4d518b5d..6bff4a4ba 100644
--- a/opencc/others.txt
+++ b/opencc/others.txt
@@ -1369,8 +1369,8 @@ rime rime 㞢
九次方 九次方 ⁹
十次方 十次方 ¹⁰
度 度 °
-摄氏度 摄氏度 °C
-华氏度 华氏度 °F
+摄氏度 摄氏度 ℃
+华氏度 华氏度 ℉
点 点 · 丶
间隔号 间隔号 ·
连接号 连接号 —
diff --git a/others/CHANGELOG.md b/others/CHANGELOG.md
index 2fb0084ac..02b7194cf 100644
--- a/others/CHANGELOG.md
+++ b/others/CHANGELOG.md
@@ -2,10 +2,10 @@
除日常更新词库外的一些主要更新 🆕 及破坏性变更 ⚠️。
-## 2024.07.27
+## 2024-07-27
-- `number_translator.lua`: 转换时,将「拾万」和「壹拾万」作为两个独立的候选。
-- `en_spacer.lua`:现在不会在中英标点、空字符前添加空格。将在英文后添加空格,修改为在英文前添加空格。
+- `number_translator.lua`: 🆕 转换时,将「拾万」和「壹拾万」作为两个独立的候选。
+- `en_spacer.lua`:⚠️ 现在不会在中英标点、空字符前添加空格。将在英文后添加空格,修改为在英文前添加空格。
## 2024-05-15
diff --git a/others/cn_en.txt b/others/cn_en.txt
index 699e2e292..dd5ae2348 100644
--- a/others/cn_en.txt
+++ b/others/cn_en.txt
@@ -462,3 +462,5 @@ TF版本
O不OK
人均GDP
V8引擎
+4A级
+5A级
diff --git a/others/demo.webp b/others/demo.webp
index 316e5bf57..34829856c 100644
Binary files a/others/demo.webp and b/others/demo.webp differ
diff --git a/others/emoji-map.txt b/others/emoji-map.txt
index 3ec19859c..7924db1de 100644
--- a/others/emoji-map.txt
+++ b/others/emoji-map.txt
@@ -24,7 +24,11 @@ HK$ 港元 港币
MOP$ 澳门元 澳门币 葡币
S$ 新加坡元 新加坡币
€ 欧元
-£ 英镑
+£ 英镑 镑
+₿ 比特币
+฿ 泰铢 铢
+₨ 卢比
+₹ 印度卢比
### Smileys & Emotion
diff --git a/others/script/go.mod b/others/script/go.mod
index 6fab3d703..d009a0b60 100644
--- a/others/script/go.mod
+++ b/others/script/go.mod
@@ -1,6 +1,6 @@
module script
-go 1.20
+go 1.22
require github.com/deckarep/golang-set/v2 v2.3.0
diff --git a/others/script/main.go b/others/script/main.go
index 3ef4c54f0..f718b35a9 100644
--- a/others/script/main.go
+++ b/others/script/main.go
@@ -68,6 +68,11 @@ SORT:
}
func areYouOK() {
+ if rime.AutoConfirm {
+ fmt.Println("Auto confirm enabled. Skipping prompt.")
+ return
+ }
+
fmt.Println("Are you OK:")
var isOK string
_, _ = fmt.Scanf("%s", &isOK)
diff --git a/others/script/rime/check.go b/others/script/rime/check.go
index 229dcb5a4..8db5693c7 100644
--- a/others/script/rime/check.go
+++ b/others/script/rime/check.go
@@ -28,7 +28,7 @@ var (
)
// 初始化特殊词汇列表、需要注音列表、错别字列表、拼音列表
-func init() {
+func initCheck() {
// 特殊词汇列表,不进行任何检查
specialWords.Add("狄尔斯–阿尔德反应")
specialWords.Add("特里斯坦–达库尼亚")
@@ -102,7 +102,7 @@ func init() {
text, code := parts[0], parts[1]
hanPinyin[text] = append(hanPinyin[text], code)
}
- // 给 hanPinyin 补充不再字表的读音,和过滤列表 hanPinyinFilter
+ // 给 hanPinyin 补充不在字表的读音,和过滤列表 hanPinyinFilter
file4, err := os.Open(汉字拼音映射TXT)
if err != nil {
log.Fatalln(err)
diff --git a/others/script/rime/cn_en.go b/others/script/rime/cn_en.go
index 261261f3a..268efa40e 100644
--- a/others/script/rime/cn_en.go
+++ b/others/script/rime/cn_en.go
@@ -118,330 +118,341 @@ type schema struct {
file *os.File
}
-var doublePinyin = schema{
- name: "cn_en_double_pinyin",
- desc: "自然码双拼",
- combinationType: "unique",
- path: filepath.Join(RimeDir, "en_dicts/cn_en_double_pinyin.txt"),
- mapping: map[string]string{
- // 零声母
- "-a-": "aa",
- "-e-": "ee",
- "-o-": "oo",
- "-ai-": "ai",
- "-ei-": "ei",
- "-ou-": "ou",
- "-an-": "an",
- "-en-": "en",
- "-ang-": "ah",
- "-eng-": "eg",
- "-ao-": "ao",
- "-er-": "er",
- // zh ch sh
- "zh": "v",
- "ch": "i",
- "sh": "u",
- // 韵母
- "iu": "q",
- "ia": "w",
- "ua": "w",
- "uan": "r",
- "ue": "t",
- "ve": "t",
- "ing": "y",
- "uai": "y",
- "uo": "o",
- "un": "p",
- "iong": "s",
- "ong": "s",
- "iang": "d",
- "uang": "d",
- "en": "f",
- "eng": "g",
- "ang": "h",
- "an": "j",
- "ao": "k",
- "ai": "l",
- "ei": "z",
- "ie": "x",
- "iao": "c",
- "ui": "v",
- "ou": "b",
- "in": "n",
- "ian": "m",
- },
-}
+var (
+ doublePinyin schema
+ doublePinyinFlypy schema
+ doublePinyinMSPY schema
+ doublePinyinSogou schema
+ doublePinyinZiGuang schema
+ doublePinyinABC schema
+)
-var doublePinyinFlypy = schema{
- name: "cn_en_flypy",
- desc: "小鹤双拼",
- combinationType: "unique",
- path: filepath.Join(RimeDir, "en_dicts/cn_en_flypy.txt"),
- mapping: map[string]string{
- // 零声母
- "-a-": "aa",
- "-e-": "ee",
- "-o-": "oo",
- "-ai-": "ai",
- "-ei-": "ei",
- "-ou-": "ou",
- "-an-": "an",
- "-en-": "en",
- "-ang-": "ah",
- "-eng-": "eg",
- "-ao-": "ao",
- "-er-": "er",
- // zh ch sh
- "zh": "v",
- "ch": "i",
- "sh": "u",
- // 韵母
- "iu": "q",
- "ei": "w",
- "uan": "r",
- "ue": "t",
- "ve": "t",
- "un": "y",
- "uo": "o",
- "ie": "p",
- "iong": "s",
- "ong": "s",
- "ai": "d",
- "en": "f",
- "eng": "g",
- "ang": "h",
- "an": "j",
- "ing": "k",
- "uai": "k",
- "iang": "l",
- "uang": "l",
- "ou": "z",
- "ia": "x",
- "ua": "x",
- "ao": "c",
- "ui": "v",
- "in": "b",
- "iao": "n",
- "ian": "m",
- },
-}
+func initSchemas() {
+ doublePinyin = schema{
+ name: "cn_en_double_pinyin",
+ desc: "自然码双拼",
+ combinationType: "unique",
+ path: filepath.Join(RimeDir, "en_dicts/cn_en_double_pinyin.txt"),
+ mapping: map[string]string{
+ // 零声母
+ "-a-": "aa",
+ "-e-": "ee",
+ "-o-": "oo",
+ "-ai-": "ai",
+ "-ei-": "ei",
+ "-ou-": "ou",
+ "-an-": "an",
+ "-en-": "en",
+ "-ang-": "ah",
+ "-eng-": "eg",
+ "-ao-": "ao",
+ "-er-": "er",
+ // zh ch sh
+ "zh": "v",
+ "ch": "i",
+ "sh": "u",
+ // 韵母
+ "iu": "q",
+ "ia": "w",
+ "ua": "w",
+ "uan": "r",
+ "ue": "t",
+ "ve": "t",
+ "ing": "y",
+ "uai": "y",
+ "uo": "o",
+ "un": "p",
+ "iong": "s",
+ "ong": "s",
+ "iang": "d",
+ "uang": "d",
+ "en": "f",
+ "eng": "g",
+ "ang": "h",
+ "an": "j",
+ "ao": "k",
+ "ai": "l",
+ "ei": "z",
+ "ie": "x",
+ "iao": "c",
+ "ui": "v",
+ "ou": "b",
+ "in": "n",
+ "ian": "m",
+ },
+ }
-var doublePinyinMSPY = schema{
- name: "cn_en_mspy",
- desc: "微软双拼",
- combinationType: "unique",
- path: filepath.Join(RimeDir, "en_dicts/cn_en_mspy.txt"),
- mapping: map[string]string{
- // 零声母
- "-a-": "oa",
- "-e-": "oe",
- "-o-": "oo",
- "-ai-": "ol",
- "-ei-": "oz",
- "-ou-": "ob",
- "-an-": "oj",
- "-en-": "of",
- "-ang-": "oh",
- "-eng-": "og",
- "-ao-": "ok",
- "-er-": "or",
- // zh ch sh
- "zh": "v",
- "ch": "i",
- "sh": "u",
- // 韵母
- "iu": "q",
- "ia": "w",
- "ua": "w",
- "er": "r",
- "uan": "r",
- "ue": "t",
- "uai": "y",
- "uo": "o",
- "un": "p",
- "iong": "s",
- "ong": "s",
- "iang": "d",
- "uang": "d",
- "en": "f",
- "eng": "g",
- "ang": "h",
- "an": "j",
- "ao": "k",
- "ai": "l",
- "ing": ";",
- "ei": "z",
- "ie": "x",
- "iao": "c",
- "ui": "v",
- "ve": "v",
- "ou": "b",
- "in": "n",
- "ian": "m",
- },
-}
+ doublePinyinFlypy = schema{
+ name: "cn_en_flypy",
+ desc: "小鹤双拼",
+ combinationType: "unique",
+ path: filepath.Join(RimeDir, "en_dicts/cn_en_flypy.txt"),
+ mapping: map[string]string{
+ // 零声母
+ "-a-": "aa",
+ "-e-": "ee",
+ "-o-": "oo",
+ "-ai-": "ai",
+ "-ei-": "ei",
+ "-ou-": "ou",
+ "-an-": "an",
+ "-en-": "en",
+ "-ang-": "ah",
+ "-eng-": "eg",
+ "-ao-": "ao",
+ "-er-": "er",
+ // zh ch sh
+ "zh": "v",
+ "ch": "i",
+ "sh": "u",
+ // 韵母
+ "iu": "q",
+ "ei": "w",
+ "uan": "r",
+ "ue": "t",
+ "ve": "t",
+ "un": "y",
+ "uo": "o",
+ "ie": "p",
+ "iong": "s",
+ "ong": "s",
+ "ai": "d",
+ "en": "f",
+ "eng": "g",
+ "ang": "h",
+ "an": "j",
+ "ing": "k",
+ "uai": "k",
+ "iang": "l",
+ "uang": "l",
+ "ou": "z",
+ "ia": "x",
+ "ua": "x",
+ "ao": "c",
+ "ui": "v",
+ "in": "b",
+ "iao": "n",
+ "ian": "m",
+ },
+ }
-var doublePinyinSogou = schema{
- name: "cn_en_sogou",
- desc: "搜狗双拼",
- combinationType: "unique",
- path: filepath.Join(RimeDir, "en_dicts/cn_en_sogou.txt"),
- mapping: map[string]string{
- // 零声母
- "-a-": "oa",
- "-e-": "oe",
- "-o-": "oo",
- "-ai-": "ol",
- "-ei-": "oz",
- "-ou-": "ob",
- "-an-": "oj",
- "-en-": "of",
- "-ang-": "oh",
- "-eng-": "og",
- "-ao-": "ok",
- "-er-": "or",
- // zh ch sh
- "zh": "v",
- "ch": "i",
- "sh": "u",
- // 韵母
- "iu": "q",
- "ia": "w",
- "ua": "w",
- "er": "r",
- "uan": "r",
- "ue": "t",
- "uai": "y",
- "uo": "o",
- "un": "p",
- "iong": "s",
- "ong": "s",
- "iang": "d",
- "uang": "d",
- "en": "f",
- "eng": "g",
- "ang": "h",
- "an": "j",
- "ao": "k",
- "ai": "l",
- "ing": ";",
- "ei": "z",
- "ie": "x",
- "iao": "c",
- "ui": "v",
- "ve": "t",
- "ou": "b",
- "in": "n",
- "ian": "m",
- },
-}
+ doublePinyinMSPY = schema{
+ name: "cn_en_mspy",
+ desc: "微软双拼",
+ combinationType: "unique",
+ path: filepath.Join(RimeDir, "en_dicts/cn_en_mspy.txt"),
+ mapping: map[string]string{
+ // 零声母
+ "-a-": "oa",
+ "-e-": "oe",
+ "-o-": "oo",
+ "-ai-": "ol",
+ "-ei-": "oz",
+ "-ou-": "ob",
+ "-an-": "oj",
+ "-en-": "of",
+ "-ang-": "oh",
+ "-eng-": "og",
+ "-ao-": "ok",
+ "-er-": "or",
+ // zh ch sh
+ "zh": "v",
+ "ch": "i",
+ "sh": "u",
+ // 韵母
+ "iu": "q",
+ "ia": "w",
+ "ua": "w",
+ "er": "r",
+ "uan": "r",
+ "ue": "t",
+ "uai": "y",
+ "uo": "o",
+ "un": "p",
+ "iong": "s",
+ "ong": "s",
+ "iang": "d",
+ "uang": "d",
+ "en": "f",
+ "eng": "g",
+ "ang": "h",
+ "an": "j",
+ "ao": "k",
+ "ai": "l",
+ "ing": ";",
+ "ei": "z",
+ "ie": "x",
+ "iao": "c",
+ "ui": "v",
+ "ve": "v",
+ "ou": "b",
+ "in": "n",
+ "ian": "m",
+ },
+ }
-var doublePinyinZiGuang = schema{
- name: "cn_en_ziguang",
- desc: "紫光双拼",
- combinationType: "unique",
- path: filepath.Join(RimeDir, "en_dicts/cn_en_ziguang.txt"),
- mapping: map[string]string{
- // 零声母
- "-a-": "oa",
- "-e-": "oe",
- "-o-": "oo",
- "-ai-": "op",
- "-ei-": "ok",
- "-ou-": "oz",
- "-an-": "or",
- "-en-": "ow",
- "-ang-": "os",
- "-eng-": "ot",
- "-ao-": "oq",
- "-er-": "oj",
- // zh ch sh
- "zh": "u",
- "ch": "a",
- "sh": "i",
- // 韵母
- "ao": "q",
- "en": "w",
- "an": "r",
- "eng": "t",
- "in": "y",
- "uai": "y",
- "uo": "o",
- "ai": "p",
- "ang": "s",
- "ie": "d",
- "ian": "f",
- "iang": "g",
- "uang": "g",
- "iong": "h",
- "ong": "h",
- "er": "j",
- "iu": "j",
- "ei": "k",
- "uan": "l",
- "ing": ";",
- "ou": "z",
- "ia": "x",
- "ua": "x",
- "iao": "b",
- "ue": "n",
- "ui": "n",
- "un": "m",
- },
-}
+ doublePinyinSogou = schema{
+ name: "cn_en_sogou",
+ desc: "搜狗双拼",
+ combinationType: "unique",
+ path: filepath.Join(RimeDir, "en_dicts/cn_en_sogou.txt"),
+ mapping: map[string]string{
+ // 零声母
+ "-a-": "oa",
+ "-e-": "oe",
+ "-o-": "oo",
+ "-ai-": "ol",
+ "-ei-": "oz",
+ "-ou-": "ob",
+ "-an-": "oj",
+ "-en-": "of",
+ "-ang-": "oh",
+ "-eng-": "og",
+ "-ao-": "ok",
+ "-er-": "or",
+ // zh ch sh
+ "zh": "v",
+ "ch": "i",
+ "sh": "u",
+ // 韵母
+ "iu": "q",
+ "ia": "w",
+ "ua": "w",
+ "er": "r",
+ "uan": "r",
+ "ue": "t",
+ "uai": "y",
+ "uo": "o",
+ "un": "p",
+ "iong": "s",
+ "ong": "s",
+ "iang": "d",
+ "uang": "d",
+ "en": "f",
+ "eng": "g",
+ "ang": "h",
+ "an": "j",
+ "ao": "k",
+ "ai": "l",
+ "ing": ";",
+ "ei": "z",
+ "ie": "x",
+ "iao": "c",
+ "ui": "v",
+ "ve": "t",
+ "ou": "b",
+ "in": "n",
+ "ian": "m",
+ },
+ }
-var doublePinyinABC = schema{
- name: "cn_en_abc",
- desc: "智能 ABC 双拼",
- combinationType: "unique",
- path: filepath.Join(RimeDir, "en_dicts/cn_en_abc.txt"),
- mapping: map[string]string{
- // 零声母
- "-a-": "oa",
- "-e-": "oe",
- "-o-": "oo",
- "-ai-": "ol",
- "-ei-": "oq",
- "-ou-": "ob",
- "-an-": "oj",
- "-en-": "of",
- "-ang-": "oh",
- "-eng-": "og",
- "-ao-": "ok",
- "-er-": "or",
- // zh ch sh
- "zh": "a",
- "ch": "e",
- "sh": "v",
- // 韵母
- "ao": "k",
- "en": "f",
- "an": "j",
- "eng": "g",
- "in": "c",
- "uai": "c",
- "uo": "o",
- "ai": "l",
- "ang": "h",
- "ie": "x",
- "ian": "w",
- "iang": "t",
- "uang": "t",
- "iong": "s",
- "ong": "s",
- "er": "r",
- "iu": "r",
- "ei": "q",
- "uan": "p",
- "ing": "y",
- "ou": "b",
- "ia": "d",
- "ua": "d",
- "iao": "z",
- "ue": "m",
- "ui": "m",
- "un": "n",
- },
+ doublePinyinZiGuang = schema{
+ name: "cn_en_ziguang",
+ desc: "紫光双拼",
+ combinationType: "unique",
+ path: filepath.Join(RimeDir, "en_dicts/cn_en_ziguang.txt"),
+ mapping: map[string]string{
+ // 零声母
+ "-a-": "oa",
+ "-e-": "oe",
+ "-o-": "oo",
+ "-ai-": "op",
+ "-ei-": "ok",
+ "-ou-": "oz",
+ "-an-": "or",
+ "-en-": "ow",
+ "-ang-": "os",
+ "-eng-": "ot",
+ "-ao-": "oq",
+ "-er-": "oj",
+ // zh ch sh
+ "zh": "u",
+ "ch": "a",
+ "sh": "i",
+ // 韵母
+ "ao": "q",
+ "en": "w",
+ "an": "r",
+ "eng": "t",
+ "in": "y",
+ "uai": "y",
+ "uo": "o",
+ "ai": "p",
+ "ang": "s",
+ "ie": "d",
+ "ian": "f",
+ "iang": "g",
+ "uang": "g",
+ "iong": "h",
+ "ong": "h",
+ "er": "j",
+ "iu": "j",
+ "ei": "k",
+ "uan": "l",
+ "ing": ";",
+ "ou": "z",
+ "ia": "x",
+ "ua": "x",
+ "iao": "b",
+ "ue": "n",
+ "ui": "n",
+ "un": "m",
+ },
+ }
+
+ doublePinyinABC = schema{
+ name: "cn_en_abc",
+ desc: "智能 ABC 双拼",
+ combinationType: "unique",
+ path: filepath.Join(RimeDir, "en_dicts/cn_en_abc.txt"),
+ mapping: map[string]string{
+ // 零声母
+ "-a-": "oa",
+ "-e-": "oe",
+ "-o-": "oo",
+ "-ai-": "ol",
+ "-ei-": "oq",
+ "-ou-": "ob",
+ "-an-": "oj",
+ "-en-": "of",
+ "-ang-": "oh",
+ "-eng-": "og",
+ "-ao-": "ok",
+ "-er-": "or",
+ // zh ch sh
+ "zh": "a",
+ "ch": "e",
+ "sh": "v",
+ // 韵母
+ "ao": "k",
+ "en": "f",
+ "an": "j",
+ "eng": "g",
+ "in": "c",
+ "uai": "c",
+ "uo": "o",
+ "ai": "l",
+ "ang": "h",
+ "ie": "x",
+ "ian": "w",
+ "iang": "t",
+ "uang": "t",
+ "iong": "s",
+ "ong": "s",
+ "er": "r",
+ "iu": "r",
+ "ei": "q",
+ "uan": "p",
+ "ing": "y",
+ "ou": "b",
+ "ia": "d",
+ "ua": "d",
+ "iao": "z",
+ "ue": "m",
+ "ui": "m",
+ "un": "n",
+ },
+ }
}
// CnEn 从 others/cn_en.txt 生成全拼和各个双拼的中英混输词库
diff --git a/others/script/rime/dir_linux.go b/others/script/rime/dir_linux.go
new file mode 100644
index 000000000..0b2cbebea
--- /dev/null
+++ b/others/script/rime/dir_linux.go
@@ -0,0 +1,18 @@
+//go:build linux
+// +build linux
+
+package rime
+
+import (
+ "log"
+ "os/user"
+ "path/filepath"
+)
+
+func getRimeDirForPlatform() string {
+ u, err := user.Current()
+ if err != nil {
+ log.Fatalln(err)
+ }
+ return filepath.Join(u.HomeDir, ".config", "rime")
+}
diff --git a/others/script/rime/dir_mac.go b/others/script/rime/dir_mac.go
index 1f21f43a4..4cc861029 100644
--- a/others/script/rime/dir_mac.go
+++ b/others/script/rime/dir_mac.go
@@ -5,26 +5,14 @@ package rime
import (
"log"
- "os/user"
"path/filepath"
- "runtime"
)
-// 获取 macOS/Windows Rime 配置目录
-func getRimeDir() string {
- var dir string
- switch runtime.GOOS {
- case "darwin": // macOS
- u, err := user.Current()
- if err != nil {
- log.Fatalln(err)
- }
- dir = filepath.Join(u.HomeDir, "Library/Rime")
- // case "windows": // Windows
- // dir = getWeaselDir()
- default:
- log.Fatalf("Unsupported OS: %s so far", runtime.GOOS)
+// 获取 macOS Rime 配置目录
+func getRimeDirForPlatform() string {
+ u, err := user.Current()
+ if err != nil {
+ log.Fatalln(err)
}
-
- return dir
+ return filepath.Join(u.HomeDir, "Library/Rime")
}
diff --git a/others/script/rime/dir_windows.go b/others/script/rime/dir_windows.go
index ec6dbf956..df85fb5e5 100644
--- a/others/script/rime/dir_windows.go
+++ b/others/script/rime/dir_windows.go
@@ -7,31 +7,11 @@ import (
"golang.org/x/sys/windows/registry"
"log"
"os"
- "os/user"
"path/filepath"
- "runtime"
)
-// 获取 macOS/Windows Rime 配置目录
-func getRimeDir() string {
- var dir string
- switch runtime.GOOS {
- case "darwin": // macOS
- u, err := user.Current()
- if err != nil {
- log.Fatalln(err)
- }
- dir = filepath.Join(u.HomeDir, "Library/Rime")
- case "windows": // Windows
- dir = getWeaselDir()
- default:
- log.Fatalf("Unsupported OS: %s so far", runtime.GOOS)
- }
-
- return dir
-}
-
-func getWeaselDir() string {
+// 获取 Windows Rime 配置目录
+func getRimeDirForPlatform() string {
keyPath := `Software\Rime\Weasel`
valueName := "RimeUserDir"
diff --git a/others/script/rime/pinyin.go b/others/script/rime/pinyin.go
index 927ecd6d5..84a84464d 100644
--- a/others/script/rime/pinyin.go
+++ b/others/script/rime/pinyin.go
@@ -238,7 +238,7 @@ var onlyOne = map[string]string{
"给": "gei",
}
-func init() {
+func initPinyin() {
// 从 base、ext 准备结巴的词典和词组拼音映射
for _, dictPath := range []string{BasePath, ExtPath} {
file, err := os.Open(dictPath)
diff --git a/others/script/rime/rime.go b/others/script/rime/rime.go
index efd14779c..52fdb21af 100644
--- a/others/script/rime/rime.go
+++ b/others/script/rime/rime.go
@@ -2,6 +2,7 @@ package rime
import (
"bufio"
+ "flag"
"fmt"
mapset "github.com/deckarep/golang-set/v2"
"log"
@@ -21,26 +22,66 @@ type lemma struct {
}
var (
- mark = "# +_+" // 词库中的标记符号,表示从这行开始进行检查或排序
- RimeDir = getRimeDir() // Rime 配置目录
+ mark = "# +_+" // 词库中的标记符号,表示从这行开始进行检查或排序
+ RimeDir string
+ EmojiMapPath string
+ EmojiPath string
+ HanziPath string
+ BasePath string
+ ExtPath string
+ TencentPath string
+ HanziSet mapset.Set[string]
+ BaseSet mapset.Set[string]
+ ExtSet mapset.Set[string]
+ TencentSet mapset.Set[string]
+ 需要注音TXT string
+ 错别字TXT string
+ 汉字拼音映射TXT string
+ AutoConfirm bool
+)
+
+func init() {
+ // 定义命令行参数
+ flag.StringVar(&RimeDir, "rime_path", "", "Specify the Rime configuration directory")
+ flag.BoolVar(&AutoConfirm, "auto_confirm", false, "Automatically confirm the prompt")
+ flag.Parse()
+
+ RimeDir = getRimeDir(RimeDir) // Rime 配置目录
EmojiMapPath = filepath.Join(RimeDir, "others/emoji-map.txt")
- EmojiPath = filepath.Join(RimeDir, "opencc/emoji.txt")
+ EmojiPath = filepath.Join(RimeDir, "opencc/emoji.txt")
- HanziPath = filepath.Join(RimeDir, "cn_dicts/8105.dict.yaml")
- BasePath = filepath.Join(RimeDir, "cn_dicts/base.dict.yaml")
- ExtPath = filepath.Join(RimeDir, "cn_dicts/ext.dict.yaml")
+ HanziPath = filepath.Join(RimeDir, "cn_dicts/8105.dict.yaml")
+ BasePath = filepath.Join(RimeDir, "cn_dicts/base.dict.yaml")
+ ExtPath = filepath.Join(RimeDir, "cn_dicts/ext.dict.yaml")
TencentPath = filepath.Join(RimeDir, "cn_dicts/tencent.dict.yaml")
- HanziSet = readToSet(HanziPath)
- BaseSet = readToSet(BasePath)
- ExtSet = readToSet(ExtPath)
+ HanziSet = readToSet(HanziPath)
+ BaseSet = readToSet(BasePath)
+ ExtSet = readToSet(ExtPath)
TencentSet = readToSet(TencentPath)
- 需要注音TXT = filepath.Join(RimeDir, "others/script/rime/需要注音.txt")
- 错别字TXT = filepath.Join(RimeDir, "others/script/rime/错别字.txt")
+ 需要注音TXT = filepath.Join(RimeDir, "others/script/rime/需要注音.txt")
+ 错别字TXT = filepath.Join(RimeDir, "others/script/rime/错别字.txt")
汉字拼音映射TXT = filepath.Join(RimeDir, "others/script/rime/汉字拼音映射.txt")
-)
+
+ initCheck()
+ initSchemas()
+ initPinyin()
+}
+
+func getRimeDir(rimePath string) string {
+ if rimePath != "" {
+ absPath, err := filepath.Abs(rimePath)
+ if err != nil {
+ log.Fatalf("Failed to get absolute path: %v", err)
+ }
+ // 使用传入的路径
+ return absPath
+ }
+
+ return getRimeDirForPlatform()
+}
// 将所有词库读入 set,供检查或排序使用
func readToSet(dictPath string) mapset.Set[string] {
diff --git a/others/script/rime/sort.go b/others/script/rime/sort.go
index f52dde1ab..bb094048b 100644
--- a/others/script/rime/sort.go
+++ b/others/script/rime/sort.go
@@ -123,7 +123,7 @@ func Sort(dictPath string, _type int) {
return false
})
} else {
- sort.Slice(contents, func(i, j int) bool {
+ sort.SliceStable(contents, func(i, j int) bool {
if contents[i].code != contents[j].code {
return contents[i].code < contents[j].code
}
diff --git a/radical_pinyin.dict.yaml b/radical_pinyin.dict.yaml
index 74905a3a6..56eccc689 100644
--- a/radical_pinyin.dict.yaml
+++ b/radical_pinyin.dict.yaml
@@ -83,7 +83,7 @@
---
name: radical_pinyin
-version: "2024.05.13"
+version: "2024.05.15"
sort: original
@@ -27539,7 +27539,10 @@ sort: original
札 mu'gou
本 mu'heng
末 mu'heng
+末 heng'mu
+未 mu'heng
未 heng'mu
+未 er'xiao
朩 heng'xiao
木 shi'ren
木 shi'ba
@@ -39240,9 +39243,48 @@ sort: original
䏡 rou'shi
䏝 yue'zhuan
䏝 rou'zhuan
+䏍 si'yue
+䏌 ba'yue
+䏊 er'long
+䏉 er'xian
+䏈 er'si
+䏇 er'piao
+䏆 er'cao
+䏅 er'ji
+䏄 er'zhi
+䏃 er'ming
+䏂 er'sou
+䏁 er'zai
+䏀 er'la
+䎿 er'qiu
+䎾 er'lun
+䎽 er'hun
+䎼 er'lu
+䎻 er'zhou
+䎺 er'zhi
+䎹 cai'er
+䎸 er'wu
+䎷 er'zhu
+䎶 er'shen
+䎵 er'bi
+䎴 er'jing
+䎳 er'yue
+䎲 er'yi
+䎡 er'huo
+䎠 wan'er
+䎟 nv'er
䎜 lao'lao
䎖 ceng'yu
䎃 ran'yu
+䍲 yang'ni
+䍲 yang'er
+䍱 yang'yu
+䍯 yang'wei
+䍮 yang'zhao
+䍬 yang'ping
+䍫 yang'ta
+䍪 yang'mo
+䍩 yang'wen
䍇 fou'fa
䍁 si'sui
䍀 si'jian
diff --git a/rime_ice.schema.yaml b/rime_ice.schema.yaml
index 061fe77b6..fdc7b4d68 100644
--- a/rime_ice.schema.yaml
+++ b/rime_ice.schema.yaml
@@ -289,19 +289,20 @@ pin_cand_filter:
# 主翻译器,拼音
translator:
- dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
- spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
- always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
- initial_quality: 1.2 # 拼音的权重应该比英文大
- comment_format: # 标记拼音注释,供 corrector.lua 做判断用
+ dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
+ enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
+ spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
+ always_show_comments: true # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
+ initial_quality: 1.2 # 拼音的权重应该比英文大
+ comment_format: # 标记拼音注释,供 corrector.lua 做判断用
- xform/^/[/
- xform/$/]/
- preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- - xform/([jqxy])v/$1u/ # 显示为 ju qu xu yu
- # - xform/([nl])v/$1ü/ # 显示为 nü lü
- # - xform/([nl])ue/$1üe/ # 显示为 nüe lüe
- - xform/([nl])v/$1v/ # 显示为 nv lv
- - xform/([nl])ue/$1ve/ # 显示为 nve lve
+ preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
+ - xform/([jqxy])v/$1u/ # 显示为 ju qu xu yu
+ # - xform/([nl])v/$1ü/ # 显示为 nü lü
+ # - xform/([nl])ue/$1üe/ # 显示为 nüe lüe
+ - xform/([nl])v/$1v/ # 显示为 nv lv
+ - xform/([nl])ue/$1ve/ # 显示为 nve lve
# 次翻译器,英文
diff --git a/weasel.yaml b/weasel.yaml
index b97e662d2..cb9c6cbad 100644
--- a/weasel.yaml
+++ b/weasel.yaml
@@ -14,7 +14,7 @@ config_version: "2024-05-14"
app_options:
firefox.exe:
inline_preedit: true # 行内显示预编辑区:规避
- # cmd.exe: # 带 .exe 的进程名:Weasel 15.0 及之前版本须小写; PR #1049 合并后释出的版本大小写不敏感
+ # cmd.exe: # 带 .exe 的进程名:Weasel 15.0 及之前版本须小写
# ascii_mode: true # 英文模式
# conhost.exe:
# ascii_mode: true