rime / librime

Rime Input Method Engine, the core library
https://rime.im
BSD 3-Clause "New" or "Revised" License
3.36k stars 550 forks source link

恢复字符集过滤charset_filter插件 #929

Closed linzianabc closed 1 month ago

linzianabc commented 1 month ago

现有的字符集过滤功能严重依赖lua。但是一来lua配置繁琐,二来容易导致性能下降,打字卡顿,影响效率。而Rime旧有的charset_filter插件,完全可以恢复,便利用户,何乐而不为呢?

替代方案 / Alternative Solution No response

附加信息 / Additional Context No response

系统版本 / OS Version Manufacturer: Xiaomi OS Version: 4.19.113-perf-g591bf45845ee (V13.0.2.0.SLMCNXM)

应用版本 / App Version Version Name: 0.0.9-64-gb381b414

插件版本 / Plugins Version No response

ksqsf commented 1 month ago

charcode插件不可移植,建议要么使用librime自带的基本charset_filter,要么使用lua实现的filter。

导致性能下降,打字卡顿,影响效率

换一个性能高的实现就行了。

lotem commented 1 month ago

一直都有 https://github.com/rime/librime/blob/72564a763f1c897475667da5c81fa49986b1ca81/src/rime/gear/charset_filter.cc

linzianabc commented 1 month ago

一直都有 https://github.com/rime/librime/blob/72564a763f1c897475667da5c81fa49986b1ca81/src/rime/gear/charset_filter.cc

最新版的Rime不可用,提示不支持: charset parameter is unsupported by basic charset_filter

ksqsf commented 1 month ago

基本charset filter只支持过滤掉扩A以后的扩展集字。如果你只是用来保留GBK字,这已经够用了。

用法请参考Rime自带仓颉方案 https://github.com/rime/rime-cangjie/blob/master/cangjie5.schema.yaml#L62

linzianabc commented 1 month ago

基本charset filter只支持过滤掉扩A以后的扩展集字。如果你只是用来保留GBK字,这已经够用了。

用法请参考Rime自带仓颉方案 https://github.com/rime/rime-cangjie/blob/master/cangjie5.schema.yaml#L62

能过滤这个就可以了,不需要这么复杂。目前同文还保留着这个插件,我是这么用的:

ksqsf commented 1 month ago

那我感觉不到你有用到 charcode 插件的理由?

LEOYoon-Tsaw commented 1 month ago

這個是 https://github.com/rime/librime-charcode 提供的功能,需要可以自己加上

linzianabc commented 1 month ago

那我感觉不到你有用到 charcode 插件的理由?

是用不到。但是Rime自带的过滤都不能用了。

linzianabc commented 1 month ago

基本charset filter只支持过滤掉扩A以后的扩展集字。如果你只是用来保留GBK字,这已经够用了。

用法请参考Rime自带仓颉方案 https://github.com/rime/rime-cangjie/blob/master/cangjie5.schema.yaml#L62

你引用的这个,现在也不能用了。

ksqsf commented 1 month ago

那我感觉不到你有用到 charcode 插件的理由?

是用不到。但是Rime自带的过滤都不能用了。

我已经给过你用例了。

linzianabc commented 1 month ago

那我感觉不到你有用到 charcode 插件的理由?

是用不到。但是Rime自带的过滤都不能用了。

我已经给过你用例了。 抱歉,如果你指明是这个用例: https://github.com/rime/rime-cangjie/blob/master/cangjie5.schema.yaml#L62 那么,这个用例也是不能用的。

ksqsf commented 1 month ago

https://github.com/rime/rime-cangjie/blob/master/cangjie5.schema.yaml#L25-L26

linzianabc commented 1 month ago

https://github.com/rime/rime-cangjie/blob/master/cangjie5.schema.yaml#L25-L26

谢谢。不过我用的都是scrpit trans,所以无法实现。考虑到平台通用性,我最终还是选择用lua实现了。这样不会因为小狼毫、小企鹅还是同文,不论是table和scrpit,都能实现。