大家好,又见面了,我是你们的朋友全栈君。
和昆明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:「我就是在瞎说, 别让我举证」
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158315.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...