为什么 rime 朙月拼音简体方案时输入 tai 第一页出现「擡」字,第十页才出现「抬」字?

而且常用词也都默认是「擡」字,例如:擡头、擡举、擡杠。

重现步骤:

  1. 清除 userdb:trash ~/Library/Rime/luna_pinyin.userdb
  2. 重新部署
  3. 输入 tai

看了字典文件,并未发现这两字的词频有特殊之处:

⋊> rg 擡 ~/Library/Rime/
~/Library/Rime/luna_pinyin.dict.yaml
14387:擡        tai

⋊> rg 抬 ~/Library/Rime/
~/Library/Rime/luna_pinyin.dict.yaml
13614:抬        tai
56519:抬行市    tai hang shi
56520:抬頦      tai hai
  • macOS 10.13.6
  • rime/squirrel 0.15.2
  • luna-pinyin 2020.08.03

我的 rime/squirrel 完整配置步骤
⋊> [~/Library/Rime] git hist
* <commit_3>  squirrel.custom.yaml: new file  2021-09-10
* <commit_2>  Add luna-pinyin  2021-09-10
* <commit_1>  Init commit  2021-09-10
commt_1
⋊> [~/Library/Rime] git show <commit_1> --name-only

    Init commit

.gitignore
installation.yaml
user.yaml
commit_2
⋊> [~/Library/Rime] git show <commit_2> --name-only

    Add luna-pinyin

    ┌───bash
    │./rime-install luna-pinyin
    └───

luna_pinyin.dict.yaml
luna_pinyin.schema.yaml
luna_pinyin_fluency.schema.yaml
luna_pinyin_simp.schema.yaml
luna_pinyin_tw.schema.yaml
luna_quanpin.schema.yaml
pinyin.yaml
commit_3
⋊> [~/Library/Rime] git --no-pager show <commit_3>

    squirrel.custom.yaml: new file

diff --git a/squirrel.custom.yaml b/squirrel.custom.yaml
new file mode 100644
index 0000000..c3945ab
--- /dev/null
+++ b/squirrel.custom.yaml
@@ -0,0 +1,15 @@
+patch:
+  us_keyboard_layout: true                  # 鍵盤選項:應用美式鍵盤佈局
+  show_notifications_when: growl_is_running # 狀態通知,默認裝有Growl時顯示,也可設爲全開(always)全關(never)
+
+  style:
+    horizontal: true                        # 水平/竖直显示
+    inline_preedit: true                    # 內嵌編碼行
+    font_point: 17
+
+  app_options:
+    com.googlecode.iterm2:
+      ascii_mode: false
+    org.gnu.Emacs:
+      ascii_mode: false
+      no_inline: true

关于简繁词序乱,可以看看这个 https://github.com/rime/home/issues/322

解释(源于 https://www.neko7ina.com/rime.html):

  • 朙月拼音简化字实际上是繁转简而来,这也是你在查看用户词典时发现所有文字记录都是繁体的原因。
  • 用户词典记录的词频是按繁体字来计的,转换出的所有简体字共享词频,这个是这些字都会紧跟其他字的原因。

可以用 袖珍簡化字拼音 试试,如果你没有繁体输入的需求,再扩充一下词库,推荐词库 https://github.com/felixonmars/fcitx5-pinyin-zhwiki

也可以看看一些别人配置好的方案:

2 个赞

如果你使用的是双拼,需要修改一下配置的文件:

default.custom.yaml:
patch:
  schema_list:
    - schema: double_pinyin_flypy
double_pinyin_flypy.schema.yaml:
translator:
  dictionary: pinyin_simp
1 个赞

感谢。

不过还是没看明白。

从字典文件看,「擡」「抬」的词频并未看到有特殊处理,我搜索了 ~/Library/Rime 也未找到把「抬」字放在第10页的依据。tai tou/tai gang/tai ju 这几个组合在字典文件中也未定义,但却能打出「擡头」、「擡举」、「擡杠」,不知是不是还有词典藏在其它地方?

⋊> [~/L/Rime] rg '(抬|擡)' ~/Library/Rime/
~/Library/Rime/luna_pinyin.dict.yaml
13614:抬        tai
14387:擡        tai
56519:抬行市    tai hang shi
56520:抬頦      tai hai

另据 取消不規範的簡繁轉換:擡<=>抬 by danny0838 · Pull Request #497 · BYVoid/OpenCC · GitHub ,「擡」/「抬」不完全对等。

1 个赞

你默认启用的繁体吧

果然有内置的词典:

⋊> rg '擡.*tai.*' /Library/Input\ Methods/Squirrel.app/
/Library/Input Methods/Squirrel.app/Contents/SharedSupport/luna_pinyin.dict.yaml
14387:擡        tai
57379:擡行市    tai hang shi
57380:擡頦      tai hai

/Library/Input Methods/Squirrel.app/Contents/SharedSupport/terra_pinyin.dict.yaml
14070:擡        tai2
47982:不中擡舉  bu2 zhong4 tai2 ju3
48095:不受擡舉  bu2 shou4 tai2 ju5
48599:不識擡舉  bu2 shi4 tai2 ju5
56963:哄擡      hong1 tai2
56964:哄擡物價  hong1 tai2 wu4 jia4
59707:大擡其槓  da4 tai2 qi2 gang4
69408:擔架擡    dan1 jia4 tai2
69460:擡帖      tai2 tie3
69461:擡槓      tai2 gang4
69462:擡舉      tai2 ju5
69463:擡行市    tai2 hang2 shi4
69464:擡轎子    tai2 jiao4 zi5
69465:擡頦      tai2 hai2
69466:擡鼓弄    tai2 gu3 nong4
1 个赞
2 个赞

rime 的简繁问题太坑,连我的名字都打不出来。最后我直接用了一个简体字库。

1 个赞

RIME默认就是繁体,你应该是没有另外设置。

表示两边一起用力向上的「擡」,本字就是这么写的,而现在写作「抬」,应该是跟右边的部分「台」用了一样的简化方式:这个字形应该是读作阴平,如地名「台tāi州」,跟对岸「臺灣」不同形且不同音。只是简化的时候二合一了,类似的还有「捨棄(舍弃)」「房舍」中的「舍」。再举个栗子:「广」和「厂」在古代只有an的音,跟刘墉的号「石庵」意义相近,简化的时候用「广」这个字形代替了「廣」,用「厂」代替了「廠」,所以现在都写广州而非廣州,工厂而非工廠;贮藏以前写作貯藏,「宁」应念zhu,但是因其现在作为「寧」的简化字,只好用「㝉」来作为「宁」的简化字了。

为了解决一简对多繁的问题,RIME的实现方式是,默认繁体词库,输出的时候如果用户选择简体,则利用opencc将繁体转换为对应的结果。

修改为默认简体的解决方法:在对应的方案里,这样写:

switches:
  - name: simplification
    reset: 1
    states: [ 漢字, 汉字 ]

reset后边,默认是0,繁体,改成1重新部署就是简体了。

2 个赞