科研软件

输入法/PC|RIME小狼毫/①认识Rime

2018-12-05  本文已影响47人  生信义博

转自 https://github.com/rime

认识 La Rime

自序

做这项目是发自对输入法创新的兴趣,爲实验新的输入法而打造一款易于定製的智能输入软件。
实现好用的方言拼音输入,也是开发这款软件主要的目标。

乃定名爲:中州韵输入法引擎 / Rime Input Method Engine

取意历史上通行的中州韵,愿写就一部彙集音韵学智慧的输入法经典之作。

项目网站设在 http://rime.github.io/

感谢 Github. 感谢 Pages.

创造应用价值是一方面,更要坚持对好技术的追求,希望能写出灵动而易于扩展的代码,使其成爲一款个性十足的开源输入法。

历史

2009年底,佛振按这一思路,借助强大的IBus输入法框架和Python脚本语言,快速开发出「中州韵」的原型。
2010年,将这一算法引擎由Linux移植到Windows平臺。
几大方言社区的输入法爱好者创作了粤语、吴语、中古音输入方案,竟做到了用曾经梦想的方式打字。

如今有许多朋友关注并乐于帮忙完善这一软件。俺打盘接受同学们的建议用C++来写一部正式版。

概念

相对于最初的实验品,概念没有多大变化。佛振重新来归纳。

组成这个软件系统的对象,我给他粗略分成三类:
逻辑对象、数据对象、交互对象。

逻辑对象,各自表达解决输入法中某类问题的算法,以及描述输入法的工作流程。

咱假定,从不同种类的输入法中,可归纳出几种类型的实现机制,即通用于一类输入法的算法和数据结构。

输入法引擎/engine 佛振把他解读爲用来实现输入功能的程序,是这些算法及相关数据结构的总和。

输入法典型的工作流程,大致如此:

将这一流程中纯粹的逻辑部份用程序写出来,就是我所形容的输入引擎。

其中不包括:

输入法中的数据对象,有输入引擎处理用户输入动作所得的动态数据,又有预先配置到输入法中的输入方案。

若要讲,输入引擎是跨输入法的通用程序,输入方案/schema 即是那差异的部份。
输入法引擎配置了不同的输入方案,便是用户视角下、统一框架内的不同输入法。
输入方案按一定的规格撰写,用户可于需要时导入到软件,这便是本项目软件开发者与输入方案创作者分工、协作的方式。

输入方案包含:

爲了足够灵活而能支持广泛的输入法类型,在输入方案中,利用 拼写运算/spelling algebra 机制在输入码与字典编码之间建立一组映射,以此将个别方案中的特殊检索方式统一到通用的算法。

交互对象,承担与用户交换信息的功能。不同于输入引擎、输入方案的跨平臺特点,交互对象的实现是系统相关的。
具体地有,输入法框架通过操作系统与输入设备、输入目标程序通信;输入法介面显示输入法的状态和输入内容。

项目构成

于是整个工程又可分爲若干子项目:

开发计划

伟大雄图,还是分期来完成吧。

初创期,完成软件架构和基础功能。

第一期,要把用户体验做到一款正式产品的标准。

第二期,兼容更多系统平臺。可以尝试一些创新的设计,形成开发者暨输入方案创作者社羣。

第三期,添加网络功能,持续优化输入效果;建立输入法创作平臺。

计划于 八月初八 发表1.0版。即完成初创期,进入第一期的初级阶段。

万事开头难,虽然实验版的经验可做参考,让这项目高速运转起来,仍需要大的智慧。

有同学索要文档,却真的没有。千头万绪,未及梳理,暂且概说一番,也可意会创作此软件的思路。

是爲之序。

上一篇下一篇

猜你喜欢

热点阅读