BeCJK输入法移植
来源:互联网 发布:国内酒店预订网站 知乎 编辑:程序博客网 时间:2024/06/04 19:21
这段时间忙于各种事情,BeCJK 输入法完成了移植,现在能够静下心来做一个总结。
BeCJK 原本是 BeOS 上的一个输入法,原作者为 Anthony Lee,中文名字,还真不知道,姑且称为老李吧。现在老李早已经不负责该输入法了。
现在 BeCJK 的源码来自于 Andraw Bachmann 。
我的主要工作就是把这部分的代码能够在 Haiku 下完成编译,并且能够在 Haiku 操作系统中正常的运行,方便中文的爱好者对 Haiku 系统的使用。在进行移植的时候,我使用了现在开源社区中使用比较多的一种构建工具,叫做 scons ,而不是 make 脚本。关于 scons 的使用方法,可以参考 scons 官网http://www.scons.org/
BeCJK 的源码主要由三个部分组成,还包括一些小的字典转换工具,cin2dict,XDict,MuTerm 等,我们在构建源代码的时候,将这些小工具的代码和可执行文件进行了删减,并且对原来的代码结构进行了重新的排布以方便和适应新的代码构建工具。主要的三个部分如下:
上述的这些模块在完成构建后分别会被打包到相应的路径,具体情况可以查看 Haikuports 中 BeCJK 的 recipe 文件或者 BeCJK 的 hpkg 包。
BeCJK github 仓库:https://github.com/pengphei/becjk
BeCJK recipe 文件:https://bitbucket.org/haikuports/haikuports [查阅其中 app-i18n/becjk 目录]
手动测试:因为 Haiku 包管理工具的增加,现在测试 BeCJK 源码有两种方式:
* 构建软件。
~> cd /path/to/becjk/
~> scons -q
* 将generated目录相应的生成文件,拷贝到 system/non-packaged 目录下相应的位置。
* 重启系统即可
* 配置 haikuporter 及下载最新的 haikuports。
* 生成 becjk 的 hpkg 格式包。
~> cd /path/to/haikuports/
~> haikuporter -i becjk-1.0.1
* 将 haikuports 目录中 packages 目录下的 becjk 的 hpkg 包拷贝到 /system/packages 下。
* 重启系统,或者稍等一会儿将会在系统图标栏显示输入的图标,在文本编辑器中即可进行输入法输入。
在早期的 BeOS 上还有其他的中文输入法包括 BeChinput 以及现在的 BeCJK 。还有一些有关的介绍可供参考:
BeChinput 是 "Chinput界面思想 + Unicon 核心 + BeOS输入法附件编写尝试",优点为可利用Unicon下的输入法在编译后使用。
BeCJK 是 “BeOS输入法通用模块 + 自编字典式输入法编写范例 + 一些本地化及附加功能等”,目的是可使程序员不必过多关心如何与input_server打交道甚至不必关心界面如何写就可编写输入法程序,统一输入法输 入习惯,韩文输入法 Ami 的移植就是典型的例子。
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 输入法的输入法模块,包括汉语拼音,仓吉输入法,韩语和日语输入组件,在 BeCJK 输入法启动之后,会加载这些模块,然后提供不同的输入法。
上述的这些模块在完成构建后分别会被打包到相应的路径,具体情况可以查看 Haikuports 中 BeCJK 的 recipe 文件或者 BeCJK 的 hpkg 包。
说明
BeCJK github 仓库:https://github.com/pengphei/becjk
BeCJK recipe 文件:https://bitbucket.org/haikuports/haikuports [查阅其中 app-i18n/becjk 目录]
手动测试:因为 Haiku 包管理工具的增加,现在测试 BeCJK 源码有两种方式:
- 不经过 haikuporter:
* 构建软件。
~> cd /path/to/becjk/
~> scons -q
* 将generated目录相应的生成文件,拷贝到 system/non-packaged 目录下相应的位置。
* 重启系统即可
- 使用 haikuporter:
* 配置 haikuporter 及下载最新的 haikuports。
* 生成 becjk 的 hpkg 格式包。
~> cd /path/to/haikuports/
~> haikuporter -i becjk-1.0.1
* 将 haikuports 目录中 packages 目录下的 becjk 的 hpkg 包拷贝到 /system/packages 下。
* 重启系统,或者稍等一会儿将会在系统图标栏显示输入的图标,在文本编辑器中即可进行输入法输入。
在早期的 BeOS 上还有其他的中文输入法包括 BeChinput 以及现在的 BeCJK 。还有一些有关的介绍可供参考:
BeChinput 是 "Chinput界面思想 + Unicon 核心 + BeOS输入法附件编写尝试",优点为可利用Unicon下的输入法在编译后使用。
BeCJK 是 “BeOS输入法通用模块 + 自编字典式输入法编写范例 + 一些本地化及附加功能等”,目的是可使程序员不必过多关心如何与input_server打交道甚至不必关心界面如何写就可编写输入法程序,统一输入法输 入习惯,韩文输入法 Ami 的移植就是典型的例子。
0 0
- BeCJK输入法移植
- 输入法移植
- Qtopia中文输入法移植
- 输入法移植的笔记
- Qtopia中文输入法移植
- 手机平台输入法移植
- Qtopia中文输入法移植
- qt输入法SYSZUXpinyin移植
- qt移植输入法
- qt移植输入法
- qt移植输入法二
- Qtopia中文输入法移植 收藏
- qt移植 SYSZUXpinyin中文输入法
- 移植智能ABC输入法到Windows XP
- Qt输入法Murphytalk0.05编译移植
- SYSZUXpinyin中文输入法的移植(到…
- QT SYSZUXpinyin 开源输入法移植
- freepCE--我移植的winCE下的中文输入法源代码
- LabVIEW上位机与串口通信
- 网卡驱动编写必读-重要概念 分享
- C#中unhandled异常处理的问题
- 向上管理:管理自己的老板
- BW架构概述
- BeCJK输入法移植
- CentOS配置smaba与Windows共享文件
- Monkey 自动测试
- quick-cocos2dx 那些事儿 (二):开发环境sublime text 3.0的配置过程
- AndroidRuntimeException: You cannot combine custom titles with other title feature
- getClass().getResourceAsStream() .
- 三极管的电平转换及驱动电路分析
- 异常处理之ThreadException、unhandledException及多线程异常处理
- IOS快速工匠化系列教程-序言