认识 La Rime自序做这项目是发自对输入法创新的兴趣,爲实验新的输入法而打造一款易于定製的智能输入软件。 乃定名爲:中州韵输入法引擎 / Rime Input Method Engine 取意历史上通行的中州韵,愿写就一部彙集音韵学智慧的输入法经典之作。 项目网站设在 http://rime./ 感谢 Github. 感谢 Pages. 创造应用价值是一方面,更要坚持对好技术的追求,希望能写出灵动而易于扩展的代码,使其成爲一款个性十足的开源输入法。 历史2009年底,佛振按这一思路,借助强大的IBus输入法框架和Python脚本语言,快速开发出「中州韵」的原型。 如今有许多朋友关注并乐于帮忙完善这一软件。俺打盘接受同学们的建议用C++来写一部正式版。 概念相对于最初的实验品,概念没有多大变化。佛振重新来归纳。 组成这个软件系统的对象,我给他粗略分成三类: 逻辑对象,各自表达解决输入法中某类问题的算法,以及描述输入法的工作流程。 咱假定,从不同种类的输入法中,可归纳出几种类型的实现机制,即通用于一类输入法的算法和数据结构。 输入法引擎/engine 佛振把他解读爲用来实现输入功能的程序,是这些算法及相关数据结构的总和。 输入法典型的工作流程,大致如此:
将这一流程中纯粹的逻辑部份用程序写出来,就是我所形容的输入引擎。 其中不包括:
输入法中的数据对象,有输入引擎处理用户输入动作所得的动态数据,又有预先配置到输入法中的输入方案。 若要讲,输入引擎是跨输入法的通用程序,输入方案/schema 即是那差异的部份。 输入方案包含:
爲了足够灵活而能支持广泛的输入法类型,在输入方案中,利用 拼写运算/spelling algebra 机制在输入码与字典编码之间建立一组映射,以此将个别方案中的特殊检索方式统一到通用的算法。 交互对象,承担与用户交换信息的功能。不同于输入引擎、输入方案的跨平臺特点,交互对象的实现是系统相关的。 项目构成于是整个工程又可分爲若干子项目:
开发计划伟大雄图,还是分期来完成吧。 初创期,完成软件架构和基础功能。 第一期,要把用户体验做到一款正式产品的标准。
第二期,兼容更多系统平臺。可以尝试一些创新的设计,形成开发者暨输入方案创作者社羣。 第三期,添加网络功能,持续优化输入效果;建立输入法创作平臺。 计划于 八月初八 发表1.0版。即完成初创期,进入第一期的初级阶段。 万事开头难,虽然实验版的经验可做参考,让这项目高速运转起来,仍需要大的智慧。 有同学索要文档,却真的没有。千头万绪,未及梳理,暂且概说一番,也可意会创作此软件的思路。 是爲之序。 |
|