这段时间忙于各种事情,BeCJK 输入法完成了移植,现在能够静下心来做一个总结。
BeCJK 简史
BeCJK 原本是 BeOS 上的一个输入法,原作者为 Anthony Lee,中文名字,还真不知道,姑且称为老李吧。现在老李早已经不负责该输入法了。
现在 BeCJK 的源码来自于 Andraw Bachmann 。
我的主要工作就是把这部分的代码能够在 Haiku 下完成编译,并且能够在 Haiku 操作系统中正常的运行,方便中文的爱好者对 Haiku 系统的使用。在进行移植的时候,我使用了现在开源社区中使用比较多的一种构建工具,叫做 scons ,而不是 make 脚本。关于 scons 的使用方法,可以参考 scons 官网 http://www.scons.org/
BeCJK 源码
BeCJK 的源码主要由三个部分组成,还包括一些小的字典转换工具,cin2dict,XDict,MuTerm 等,我们在构建源代码的时候,将这些小工具的代码和可执行文件进行了删减,并且对原来的代码结构进行了重新的排布以方便和适应新的代码构建工具。
主要的三个部分如下:
- besavager,是 Savager Workroom Development Toolkit for BeOS 的简称,应该是原作者自己方便于在原 BeOS 上面进行开发,自己在系统 API 上定制的一个开发库,在新的源码中将编译为一个动态库和一个静态库。
- src,是 BeCJK 输入法的主代码,在构建中会生成一个类似于共享库的 Add-on,属于 Haiku/BeOS 上特有的一种格式,主要应用于内核可动态加载驱动和内核模块,包括音视频格式处理模块.
- data,是 BeCJK 输入法的输入法模块,包括汉语拼音,仓吉输入法,韩语和日语输入组件,在