linux 拼音输出繁体_解决rime仓颉拼音反查为繁体的问题

和昆明IT没关系, 不过困扰我好几年的事解决了, 占地发一下:

rime 有个很强的地方: 仓颉输入的时候, 想不起来, 可以输入拼音, 能提示对应字的仓颉的输入法. 也就是能用拼音反查对应的仓颉输入码.

这样太方便学习了, 可是... 切到简体输入后, 输拼音反查时, 有时提示的是对应字的繁体字, 囧.

改配置(无效)

编辑文件

linux 在

vim /home/bigzhu/.config/fcitx/rime/cangjie5.schema.yaml

mac 在

vim /Users/bigzhu/Library/Rime/cangjie5.schema.yaml

看到有这一段

simplifier:

tips: all * 簡化字模式下提示對應的傳統漢字

看了对应源代码, 只接受 all 和 char 两个参数, 不知有什么区别

以为注释以后就可以, 结果反查出来的仓颉码是对应繁体字的, 字显示的是简体的. 没用嘛.

问了作者佛振, 他说因为优先支持繁体, 简体字是繁体字对应出来的, 反查时找到的其实是繁字, 所以当拼音反查同一个字有繁有简时, 只能让简体的反查那里显示对应繁字, 而且他也不准备改.

看来改配置是没法达到我想要的效果了.

改为繁体(半无效)

ctrl+`

叫出配置, 改为繁体

拼音反查时, 多翻几页, 还是能找到对应的简体字的打法的.

但这个方法太可怕了, 有时要在各种奇怪的字里找十多页, 才能看到那个简体字和它的输入码, 这时的输入码倒是对的, 是对应简体字的仓颉输入码.

看来全世界只有我有用 rime 打简体的需求了, 就这么过了好几年, 我都弄的养成了仓颉拼音混用的坏习惯

终于在昨天发现了办法

改反查字典(完美)

最近写微信公众号, 打字多了太痛苦了, 不死心, 找了 rime 的源代码下来看.

void Simplifier::PushBack(const an& original,

CandidateQueue* result, const string& simplified) {

string tips;

string text;

size_t length = utf8::unchecked::distance(original->text().c_str(),

original->text().c_str()

+ original->text().length());

bool show_tips = (tips_level_ == kTipsChar && length == 1) || tips_level_ == kTipsAll;

if (show_in_comment_) {

text = original->text();

if (show_tips) {

tips = simplified;

comment_formatter_.Apply(&tips);

}

} else {

text = simplified;

if (show_tips) {

tips = original->text();

bool modified = comment_formatter_.Apply(&tips);

if (!modified) {

tips = quote_left + original->text() + quote_right;

}

}

}

result->push_back(

New(

original,

"simplified",

text,

tips));

}

这段就是决定反查时是显示仓颉码还是对应繁体字的, 看了才真正明白作者说的意思了.

不是改代码, 编译个自已的版本就能解决的.

原因出在反查的 luna_pinyin 输入法是全中文的, 也就是它的字典库里有所有的繁体字和简体字. 作者在输入法上做了对应转换的功能, 来实现切换繁简输入的功能.

那我弄个只有简体字的反查库, 不就搞定了?

都想自已做个库了, 结果发现了这个项目 pinyin-simp, 现成有了, 赞!

clone 下来, 放到 ~/Library/Rime 里, 加一个自已的 default.custom.yaml

patch:

menu:

page_size: 9

schema_list:

- schema: pinyin_simp

#- schema: luna_pinyin

- schema: cangjie5

#- schema: luna_pinyin_fluency

#- schema: luna_pinyin_simp

#- schema: luna_pinyin_tw

把 pinyin_simp 加到了输入法里, 这样 rime 才会把它的 dict 文件编译成对应反查字典.

直接改了 cangjie5.schema.yaml 把反查字典由 luna_pinyin 改为 pinyin_simp

reverse_lookup:

comment_format:

- "xlit|abcdefghijklmnopqrstuvwxyz|日月金木水火土竹戈十大中一弓人心手口尸廿山女田難卜符|"

dictionary: pinyin_simp

......

schema:

author:

- "發明人 朱邦復先生"

dependencies:

- pinyin_simp

重新部署!

完美!

bigzhu:「我就是在瞎说, 别让我举证」

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值