rime / home

Rime::Home is home to Rime users and developers
https://rime.im
4.26k stars 230 forks source link

郑码造词码(stem)不起作用,自造词实际生效的是编码(code) #369

Open Ace-Who opened 5 years ago

Ace-Who commented 5 years ago

zhengma.dict.yaml:

...
encoder:
  rules:
    - length_equal: 2
      formula: "AaAbBaBb"
... 
一   a   2830000000
...
# 構詞碼(第四列)
一           av
...

我的理解是,用户造词时,词中的「一」字应以「av」码在 rules 下进行编码。例如造词「一键」时输入「apxby」,结果「一键」进入用户词典中的编码应该是「avpx」而不是「apx」(姑且忽略「键」字的其它编码),而实际情况与此相反。那么「一」的构词码「av」在什么用例中发挥作用?

zhengma.userdb.txt:

...
encapx    一键  c=1 d=1 t=1056
encapy    一键  c=1 d=1 t=1058
...
Ace-Who commented 5 years ago

再举一例,据 zhengma.dict.yaml,「邮 kiay kiy」的构词码是 ky,自造词「包邮」后,词组编码却是 ryki 而不是 ryky。

Ace-Who commented 5 years ago

我将构词码添加到前面不含构词码的行之后:

一   a   2830000000  av
地   b   853000000   bv
现   c   275000000   cv

就正常了。可是原来的码表为什么不行?原码表的构词码的组织形式,确实与文档范例和五笔、仓颉等码表不同,但是也是放在第四列的,只不过二、三列为空。不起作用是有意安排、只作备用的吗?