LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1172|回复: 5

发现 scim 和 xsim 太像了

[复制链接]
发表于 2004-6-14 23:18:39 | 显示全部楼层 |阅读模式
当然 xsim 没有 scim 那么复杂的结构,没有自己的信号处理机制,没有自己的模块动态加载机制,没有自己的通信协议,没有用到统一码,没有用到 gettext,没有 doxygen 那么好的文档
但是看到 im.h 和 imc.h,简直和 scim 中的 factory / instance 一样了。在 im.h 中有 create_imc(),对应 scim 中的 create_instance();在 im.h 中有 processinput() 但是要传给 imc 对象,对应 scim 中的 process_key_event(),并且参数中的 KeyEvent 很相似,函数的结构也很相似,最后调用的函数分别是 processnormal() 和 postprocess()
我想 scim 应该算是 xsim 进行重构的结果,比起 xsim 要更成熟一些了,代码更加主动地运用了那些设计模式。如果 xsim 的发展速度足够快,应该和现在的 scim 差不多吧

不知道这样想对不对?在 scim 的输入法中完全不必关心界面,caret position 仅仅是逻辑上的位置,而在 xsim 或者 fcitx 中则是实际的位置
发表于 2004-6-15 07:30:03 | 显示全部楼层

回复: 发现 scim 和 xsim 太像了

最初由 bbbush 发表
当然 xsim 没有 scim 那么复杂的结构,没有自己的信号处理机制,没有自己的模块动态加载机制,没有自己的通信协议,没有用到统一码,没有用到 gettext,没有 doxygen 那么好的文档
但是看到 im.h 和 imc.h,简直和 scim 中的 factory / instance 一样了。在 im.h 中有 create_imc(),对应 scim 中的 create_instance();在 im.h 中有 processinput() 但是要传给 imc 对象,对应 scim 中的 process_key_event(),并且参数中的 KeyEvent 很相似,函数的结构也很相似,最后调用的函数分别是 processnormal() 和 postprocess()
我想 scim 应该算是 xsim 进行重构的结果,比起 xsim 要更成熟一些了,代码更加主动地运用了那些设计模式。如果 xsim 的发展速度足够快,应该和现在的 scim 差不多吧

不知道这样想对不对?在 scim 的输入法中完全不必关心界面,caret position 仅仅是逻辑上的位置,而在 xsim 或者 fcitx 中则是实际的位置


我在开发 SCIM 的时候没有看过 xsim 的代码。不知道楚狂兄是不是看过 SCIM 的代码。也许是巧合。
 楼主| 发表于 2004-6-15 09:35:06 | 显示全部楼层
我觉得输入法本身结构就是这样 再用c++进行描述,应用合适的设计模式,结果当然就是差不多了 可见你们都是能学以致用的高手

怎么实现在五笔中暂时调用拼音输入法,你有什么好办法?
如果同时创建两个 instance 那么好像通信就复杂了
发表于 2004-6-17 11:53:24 | 显示全部楼层

回复: 回复: 发现 scim 和 xsim 太像了

最初由 james_su 发表
我在开发 SCIM 的时候没有看过 xsim 的代码。不知道楚狂兄是不是看过 SCIM 的代码。也许是巧合。

??? SCIM原来不是不开源吗?
发表于 2004-6-17 11:58:36 | 显示全部楼层

回复: 回复: 回复: 发现 scim 和 xsim 太像了

最初由 baif 发表
??? SCIM原来不是不开源吗?

scim 从最开始就是开源的,不开源的是 scim-chinese。
发表于 2004-6-26 01:33:22 | 显示全部楼层
现在连scim-chinese都开源了。呼唤scim-chinese赶紧也进入debian,hoho
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表