Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望能添加对异体字「貍」和「悳」的支持 #452

Closed
wold9168 opened this issue Aug 25, 2023 · 5 comments
Closed

希望能添加对异体字「貍」和「悳」的支持 #452

wold9168 opened this issue Aug 25, 2023 · 5 comments

Comments

@wold9168
Copy link

「貍」是「狸」的异体字。
「悳」是「德」的异体字。
希望能添加对这两个字的支持。

@iDvel
Copy link
Owner

iDvel commented Aug 25, 2023

你说的是输入繁体的时候,「狸猫」没有被转换为「貍貓」,而是「狸貓」?
简繁转换是通过 opencc 实现的,如果 s2hk.jsons2tw.json 没有满足需求,你可以修改 ocd2 文件,参考 #291

简单的办法比如修改程序目录的 s2t.json:

{
  "name": "Simplified Chinese to Traditional Chinese",
  "segmentation": {
    "type": "mmseg",
    "dict": {
      "type": "ocd2",
      "file": "STPhrases.ocd2"
    }
  },
  "conversion_chain": [{
    "dict": {
      "type": "group",
      "dicts": [{
        "type": "text",
        "file": "1.txt"
      },{
        "type": "ocd2",
        "file": "STPhrases.ocd2"
      }, {
        "type": "ocd2",
        "file": "STCharacters.ocd2"
      }]
    }
  }]
}

在前面加入一个自己的 txt 文件,创建并写入(Tab 分割):

狸	貍
德	悳

@wold9168
Copy link
Author

wold9168 commented Aug 25, 2023

@iDvel

是这样,我希望这两个异体字能和「狸」和「德」这两个字同时出现作为候选,而不是把「狸」和「德」两个字在繁体输入中取代掉。

我尝试过使用自定义短语——通过添加custom_phrase_double.txt文件的方式添加对这两个字的支持,但是失败了。

我发现我的opencc文件夹内没有s2t.json等文件,而只有emoji.jsonemoji.txtother.txt。您上面给出的 #291 号Issue我看了,并且将其中的OpenCC相关文件放入到我的rime/opencc/文件夹中了,能注意到该文件生效。例如「面条」的「面」字的繁体被修正为了「麵」

@iDvel
Copy link
Owner

iDvel commented Aug 25, 2023

s2t.json 等等这些 JSON 和 ocd2 文件在【程序目录】中,不是【配置目录】。
鼠须管在 /Library/Input Methods/Squirrel.app/Contents/SharedSupport/opencc/,小狼毫右键选择【程序文件夹】。

你可以写成这样试试:

狸	狸 貍
德	德 悳

第一个是 Tab,后续的是空格。

@wold9168
Copy link
Author

wold9168 commented Aug 26, 2023

感谢答复:D

抱歉我真的不是很懂opencc……(狼狈)

我按照您的方法在我opencc的安装目录/usr/share/opencc下面修改了s2t.json文件,并且添加了custom.txt文件——现在问题已经解决了。

然后发现用户目录/.config/ibus/rime/opencc(也就是【配置目录】里的opencc文件夹)里的文件能覆盖掉/usr/share/opencc(【程序目录】)里的同名文件,所以又直接把【程序目录】里的文件拷贝了一份到【配置目录】的opencc文件夹,然后修改。发现也生效。

总之还是非常感谢,感谢开发雾凇拼音,感谢答复,真的很好用!:D

顺带想问一下,如果我希望异体字直接在简体的输入状态下作为候选,应该怎么操作呢?

按照上面的做法来的话,繁体输入状态下面可以输入我指定好的异体字,但是简体输入状态下面就没有异体字可用了。

姑且还是想问一下……

Update:

问题已经被我自己解决了,在custom_phrase.txt/custom_phrase_double.txt(视情况而定)文件里面是可以直接添加异体字的,只是我之前添加以后不知道为什么没有生效,现在生效了。

辛苦大大了。

@iDvel
Copy link
Owner

iDvel commented Aug 26, 2023

custom_phrase.txt 会导致这个字置顶。
你直接在词库中增加需要的字就行了,都不用修改 opencc 了,参考 cn_dicts/8105.dict.yaml(加在任意词库都行)。
如果你有很多生僻字的需求,在 rime_ice.dict.yaml 里启用 41448 那个大字表也可以。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants