[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Smart Chinese/Common Input Mathod platform.



Hi,
大家好. Linux 上的中文输入法不好一直是一个老大难问题. 很重要的一个原因就
是没有一个统一、简单的开发平台供输入法开发者使用. 大家各自为政, 浪费了大
量精力在开发界面, 学习 IMdkit 上面. 为了彻底解决这个问题, 我写了这个通用
输入法平台库,
这个库从结构上主要有四大部分, BackEnd, ServerFactory/ServerInstance 和
FrontEnd. FrontEnd 负责用户交互和界面, BackEnd 负责管理输入法模块,
ServerFactory/ServerInstance 为真正的输入法模块. 其中ServerInstance 为真
正负责处理用户输入的输入法事例类. ServerFactory 类负责创建和维护
ServerInstance 及其公用的数据. 将四大块组合在一起就成了一个输入法.
目前 SCIM 里面已经有了 X11 的 FrontEnd, 也就是说只要编写好
ServerFactory/ServerInstance 和 BackEnd 类, 再加上已经有的 X11FrontEnd,
就构成 X11 底下的输入法了.
FrontEnd 和 ServerInstance 之间采用了 signal-slot 机制传递事件, 使得
Server 类和 FrontEnd 类完全独立, 大大简化了编程接口.
目前 SCIM 仍然处在起步阶段, 仅有一个实用的 X11FrontEnd 和内码输入法模块.
还需要做很多工作. 希望大家支持. 如果有人正在或想开发 Linux 下的输入法,
可以尝试用 SCIM 作为开发平台.

请到 http://www.gnuchina.org/~suzhe/scim/ 下载 SCIM 0.0.4 版及源码.

目前还没有什么开发文档. 大家可以参照里面的例子学习怎么使用这个库.

里面的 scim-test 是一个演示用的X Window输入法. 输入法名称为 SCIM, 即必须
export XMODIFIERS=@im=SCIM后才能在应用程序中使用输入法. 用 ctrl-space 打
开/关闭输入法. 目前有三个输入法模块, 只有内码输入是实用的. 内码输入法里
面可以使用 ctrl-u 切换 Unicode/Multibyte 输入模式, shift-space 切换全角/
半角字符模式, ctrl-, 切换全角/半角标点模式.
如果想使用 anti-alias 的界面字体, 使用 GDK_USE_XFT=1 scim-test 启动输入法.

SCIM 倚赖于 gtk2, glib2, GConf2, pango, libsigc++ 1.0.3.

欢迎大家提建议.

James Su


-- 
To UNSUBSCRIBE, email to debian-chinese-gb-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: