美文网首页科研软件
输入法/PC|RIME小狼毫/①认识Rime

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

作者: 生信义博 | 来源:发表于2018-12-05 10:53 被阅读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 机制在输入码与字典编码之间建立一组映射,以此将个别方案中的特殊检索方式统一到通用的算法。

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

    项目构成

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

    • librime-输入法引擎

    • ibus-rime-Linux发行版

    • weasel/小狼毫-Windows发行版

    • squirrel/鼠鬚管-Mac发行版

    • plum/东风破-配置管理器及输入方案仓库

    • essay/八股文-预设词典及语言模型

    开发计划

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

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

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

    • 易用性:操作方式简明,有文档,有配置工具
    • 性能和稳定性:适应主流配置+日常应用场景
    • 输入效果:优于传统的码表输入法平臺,达到开源输入法的平均水平

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

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

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

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

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

    是爲之序。

    相关文章

      网友评论

        本文标题:输入法/PC|RIME小狼毫/①认识Rime

        本文链接:https://www.haomeiwen.com/subject/dhjicqtx.html