-
Notifications
You must be signed in to change notification settings - Fork 794
Description
📢最新消息📢
若輸入法ibrime版本≥ 1.10,則不必這麼麻煩,
只需在rime_ice.custom.yaml
加一行:
traditionalize/opencc_config: s2tw.json
⭐懒人包⭐(以下內容皆已過期)
若用户文件夹内无同名文件,请自行创建,注意副档名为.yaml
。
rime_ice.custom.yaml
patch:
# 开关
switches:
- name: ascii_mode
states: [ 中, A ]
- name: ascii_punct
states: [ ¥, $ ]
- name: traditionalization
states: [ 简, 繁 ]
reset: 1 # 不需预设台繁可注释掉
- name: traditionalization_tw
states: [ 港, 臺 ]
reset: 1 # 不需预设台繁可注释掉
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角, 全角 ]
- name: single_char
abbrev: [ 词, 单 ]
states: [ 正常, 单字 ]
# 输入引擎
engine/filters:
- lua_filter@corrector
- reverse_lookup_filter@radical_reverse_lookup
- lua_filter@autocap_filter
- lua_filter@v_filter
- lua_filter@pin_cand_filter
- lua_filter@long_word_filter
- lua_filter@reduce_english_filter
- simplifier@emoji
- simplifier@traditionalize
- simplifier@traditionalize_tw # 台湾繁体,随着更新filters可能会变动位置,总之把它放在@traditionalize下面就对了
- lua_filter@search@radical_pinyin
- uniquifier
# 简繁切换
traditionalize/opencc_config: s2tw.json
# 台湾繁体
traditionalize_tw:
option_name: traditionalization_tw
opencc_config: t2tw.json
tips: none
tags: [abc, number, gregorian_to_lunar]
default.custom.yaml
patch:
# 开关记忆
switcher/save_options/+:
- traditionalization_tw
# 快捷键
key_binder/bindings/+:
- { when: always, accept: Control+Shift+F, toggle: traditionalization_tw } # 切换台繁
↓以下内容由于项目辛勤更新,部分示例已不符现况,建议参考上面懒人包的部分🙏↓
目的
首先,非常感谢主维护者iDvel花费许多心力提供了RIME-ICE这项输入方案,
在常见问答里,也贴心地提供了输出台湾繁体的方式。
由于单纯修改opencc_config: s2t.json
为opencc_config: s2tw.json
,
会发生某些字依然出现香港繁体的情况:
⑤是正确的
啟
,但①卻是香港用字的啓
。
因此需要一并修改OpenCC文件来避免这个问题,
(常见问题里也有提供修改后的档案)
但这么做感觉不够优雅,未来更新OpenCC文件也麻烦,
这边建议采取另一种做法。
原理
RIME预设的朙月拼音.臺灣正體
,
其实就是输出前透过t2tw.json
转换过,
由于内建的是繁体词库,所以这种方式不会出现香港繁体的用字;
而RIME-ICE精心更新调整的是简体词库,
经过s2tw.json
简转繁后,某些词语转换后却是香港繁体,
那么何不将s2tw.json
处理过的结果,再用t2tw.json
处理过一遍?
实作
这项操作会需要更动两份文件,分别为rime_ice.schema.yaml
和default.yaml
,
(当然也可以透过rime_ice.custom.yaml
和default.custom.yaml
来实现,我自己是这么做的)
rime_ice.schema.yaml
- 加入要调用的OpenCC方案:
zh_tw:
option_name: zh_tw
opencc_config: t2tw.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
excluded_types: [ reverse_lookup ] # 不转换反查(两分拼字)的内容
- 于
engine/filters
加上simplifier@zh_tw
:
engine:
...
filters:
- lua_filter@corrector
- simplifier@emoji
- simplifier@traditionalize
- simplifier@zh_tw # 台湾繁体
- lua_filter@v_filter
- lua_filter@autocap_filter
- lua_filter@reduce_english_filter
- uniquifier
⚠️ 注意位置⚠️ 必須在- simplifier@traditionalize
下面,才会在简转繁后再转换为台湾繁体!
- 加入开关,需要记忆的話,记得在
reset
前加上#
备注掉:
switches:
...
- name: zh_tw # 台湾繁体
states: [ 港, 臺 ]
reset: 1
...
default.yaml
- 为开关设定一个快捷键:
key_binder:
bindings:
...
- { when: always, accept: Control+Shift+F, toggle: traditionalization } # 切换简繁
- { when: always, accept: Control+Shift+G, toggle: zh_tw } # 切换台繁
...
如果需要打简体的话,记得选个好按的快捷键,会用得到的😅
- 需要记忆选项的话,加上开关记忆:
switcher:
save_options:
- ascii_punct
- traditionalization
- zh_tw
- emoji
- full_shape
成果
没有问题的话,你应该可以输出正确的台湾繁体,
完全摆脱选字表出现纔
、麪
等香港汉字的困扰了🎉
备注
由于经过t2tw.json
的转换,某些字又刚好是香港繁体的话,
在简体模式下会出现这些字变成台湾繁体的情况,比如:
①着迷的
着
变成了著
。
因此若要输出未经任何转换的简体字,需要同時将zh_tw
关闭,
才能正确地输出简体字。
面板长这样子才能输出简体,开关在
简
和港
上面。
如果需要经常来回切换台繁↔简中,
可以用AHK、PowerToy或VIA等键盘管理器设定个快捷键,
按下去就自动按下Control+Shift+F
和Control+Shift+G
(土法炼钢)
不知道RIME有没有语法能一键切换两个开关?我设定两个一样会报错😄
结语
大神肯定觉得写了不少废话,但身为小白的我知道,
不写到这个地步是不会懂的😅
很多RIME的选项也是看了项目里详细的备注才搞懂,
(甚至会修备注增加可读性或流畅度,我哭死)
以前知道RIME功能很多,但自己怎么样都搞不出来…
希望这篇文能帮助到想用RIME-ICE输出台湾繁体的朋友,
也再次感谢iDvel大大和众多热心人士用心维护了这个项目!