`
san_yun
  • 浏览: 2652301 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

开源中文输入法汇总

    博客分类:
  • nltk
 
阅读更多

原文:http://www.cnblogs.com/Lvkun/archive/2012/12/27/open-source-input-method.html

 

开源中文输入法

在Windows上面中文拼音输入法数不胜数。简单数了一下自己用过,就有六种以上:

  • 智能ABC
  • 微软拼音
  • 紫光拼音
  • 搜狗输入法
  • 谷歌输入法
  • QQ输入法
  • ......

可参考wikipedia 中文输入法列表,以及小众软件 我最喜欢的《拼音输入法》。在手机端各种拼音输入法种类更多。

而在Unix和Linux平台上也存在不少中文输入法,它们不仅免费,而且开源。如果想要了解输入法的实现,不妨从它们入手。

输入法大致可分为三部分:

  1. 输入法框架
  2. 输入法引擎
  3. 输入法界面

关于输入法结构的介绍,可以参见这篇文章Packaging Input Method Framework and Engines

输入法框架

Windows系统提供统一的输入法框架,在Windows XP和之前版本是IMM(Input Method Manger),之后是TSF(Text Service Framework)。搜狗,谷歌,QQ等输入法都是在IMM框架下面实现了引擎和界面。而Linux下面输入法框架并不统一,这给兼容性带来很大问题。

IBus

Intelligent Input Bus。相对较新。使用C和Python开发。

特点:

  • 输入法引擎可以按需加载\卸载
  • 支持系统托盘(Systray)
  • 支持XKB
  • 配置更改即可生效
  • 提供C和Python的绑定

提供以下拼音输入法引擎:

  • ibus-pinyin IBus主要开发者开发的
  • ibus-googlepinyin 由Android项目移植过来

Scim

Smart Common Input Method。历史比较悠久,曾作为多数Linux发行版默认的中文输入法。使用C++开发。

特点:

  • 使用C++编写,完全面向对象。
  • 高度模块化。
  • 非常灵活的架构,即可以用作动态加载的库,也可以作为C/S输入法环境。
  • 简单的编程接口。
  • 完全支持i18n,及UCS-4/UTF-8编码
  • 包含很多方便实用的函数来加速开发
  • 特性非常丰富的GUI Panel
  • 统一的配置框架

提供以下拼音输入法引擎:

  • scim-ccinput
  • novel-pinyin
  • scim-pinyin
  • fitx
  • scim-sunpinyin

Fcitx

小企鹅输入法,Free Chinese Input Toy for X。

特点:

  • 支持主题(Theme)
  • 支持系统托盘(Systray)
  • 支持Kimpanel
  • 支持KDE配置模块
  • 全局简繁转换

提供以下拼音输入法引擎:

  • fcitx-pinyin
  • fcitx-sunpinyin
  • fcitx-googlepinyin

Rime

全名中州韵输入法,不仅仅是一个输入法,而是一个输入法算法框架。 非常有创意地通过YAML格式的配置文件,定制输入法。参见RimeWithSchemata

Rime 是一款强调个性的输入法。 Rime 不要定义输入法应当是哪个样、而要定义输入法可以玩出哪些花样。 Rime 不可能通过预设更多的输入方桉来满足玩家的需求;真正的玩家一定有一般人想不到的高招。

它支持主流操作系统:

  • Linux: 中州韵 ibus-rime
  • Windows: 小狼毫 Weasel
  • Mac OS X: 鼠须管 Squirrel

输入法引擎

除了输入法框架自带的pinyin输入法引擎,sunpinyinlibgooglepinyin比较常用。

sunpinyin

sunpinyin是基于统计语言模型(Statistical Language Model)输入法引擎。支持上述的三个输入法框架。 Mac下面的FIT输入法也将sunpinyin作为输入法引擎。参见FIT携手sunpinyin

SunPinyin是由Sun中国工程研究院的北京国际化中心开发,并贡献给开源社区的。最初由张磊(Phill.Zhang)博士独立完成,后来 由众多的社区开发者共同推进,目前的版本是2.0.x。支持整句输入,能够记录用户的词汇和语言模型,从而训练出更适合你的输入法。

在Google code的项目的wiki上面,有三篇非常详细的代码导读系列文章,可以让有兴趣的人能有相对深入了解的途径。 很少能看到类似关于拼音输入法引擎如何实现的文章。

libgooglepinyin

Google pinyin Android 版本(注意不是桌面版本)是曾经开源的,但从2009年后就再未更新。libgooglepinyin就是从这个版本移植过来的。同样的项目还有scim-googlepinyinfcitx-googlepinyin

Github上还有反向工程版本com.google.android.inputmethod.pinyin

分享到:
评论

相关推荐

    Javascript 开源中文输入法

    改编自一个网上js输入法。正在修改完善中。已经添加了许多功能

    嵌入式Qt开源中文输入法

    syszuxpinyin是一款开源的嵌入式qt输入法,原版一直存在一个乱码的问题,现在qt一般设置为UTF-8编码,可是该输入法只支持GBK编码,所以对其进行稍微修改了下,支持UTF-8编码,亲测不再乱码,代码中需要指定编码方式...

    PinyinDemo:谷歌开源中文输入法原始码(带注释)

    《拼音Demo:深入解析谷歌开源中文输入法源码》 谷歌开源的PinyinDemo项目,是其对中文输入法的一种实现,提供了丰富的源代码供开发者参考和学习。这个项目不仅包含了一个完整的拼音输入法框架,还附带了详尽的注释...

    LVGL中文输入法代码

    LVGL中文输入法代码是指在LVGL库中实现的、支持中文输入的功能模块。这个功能使得在LVGL上运行的应用程序能够接收和处理中文字符输入,为嵌入式设备的本地化提供了便利。 在LVGL库中,中文输入法通常会涉及以下几个...

    c++手写中文输入法MFC实现

    《C++手写中文输入法MFC实现详解》 C++是一种通用的、面向对象的编程语言,其强大的性能和灵活性使其在各种领域都有广泛的应用,包括开发输入法软件。MFC(Microsoft Foundation Classes)是微软提供的一个C++类库...

    极速五笔——开源输入法

    【极速五笔——开源输入法】是一款以快速、高效为特点的中文输入法软件,它以开源的形式提供给用户,鼓励社区参与开发和优化。开源意味着源代码对公众开放,任何人都可以查看、学习、修改并分发代码,这使得极速五笔...

    C#实现中文、五笔输入法

    这两种输入法在中国及华人社区中非常常见,中文输入法允许用户通过键入汉字拼音来选择相应的汉字,而五笔输入法则依赖于汉字的五笔字型编码。 首先,我们来理解C#的基本概念。C#是微软公司推出的面向对象的编程语言...

    非常不错的手写输入法源码

    5. **字库与词库**:为了进行字符和词汇的识别,源码中可能会包含字库(包括常用汉字和特殊字符的模板)和词库(常见词汇的集合)。 6. **性能优化**:为了提供流畅的用户体验,源码中可能涉及到各种性能优化技术,...

    华宇拼音输入法V6.9开源源码包(IME框架)

    华宇拼音输入法V6.9的源码中包含的字库,存储了大量汉字的拼音和五笔码信息,用于快速响应用户的输入需求。词库则包含常见词汇和短语,通过统计分析和用户习惯学习,确保输入法能提供最合适的候选词。开发者可以通过...

    CentOS中文输入法rpm安装包

    "CentOS中文输入法rpm安装包" 这个标题表明我们要讨论的是在CentOS操作系统中安装中文输入法的过程,采用的是RPM(Red Hat Package Manager)包管理方式。RPM是Linux系统中广泛使用的软件包管理器,用于安装、升级、...

    redhat linux中安装中文输入法

    Red Hat Linux,作为一款流行的开源操作系统,虽然默认支持多种语言,但并不包括中文输入法。这篇教程将详细解释如何在Red Hat Linux中安装并配置中文输入法。 首先,我们需要了解的是,Linux系统中的中文输入法...

    openwnn开源输入法应用源码.zip

    这是一款不错的开源输入法应用源码,该应用不但可以支持输入中文之外,还可以输入英文,日语的功能,而且还带有多种风格的输入法可以提供给用户切换等,功能非常强大,是一款非常难得的android输入法应用。...

    中文首拼代码输入法 C++中文输入法 自由中文输入法 多行短句输入法

    【标题】中的“中文首拼代码输入法 C++中文输入法 自由中文输入法 多行短句输入法”指的是一个编程实现的中文输入法系统,它基于C++语言开发,具备首拼音编码功能,同时支持五笔码和拼音的混合输入。这种输入法旨在...

    redhat9安装中文输入法

    在Red Hat Linux 9操作系统中,用户可能会遇到需要安装中文输入法的需求,以便更方便地进行汉字输入。本文将详细讲解如何使用fcitx-3.0.0-1.i386.rpm这个rpm安装包在Red Hat 9上安装中文输入法。 首先,fcitx是一个...

    开源输入法 源代码 中文 日文 英文 带联想输入值得参考

    本项目名为"开源输入法 源代码 中文 日文 英文 带联想输入值得参考",表明这是一个支持多语言(中文、日文、英文)的输入法,并且包含联想输入功能。其核心是用JNI(Java Native Interface)和C语言编写的字典库,这...

    Linux下的中文输入法

    1. **fcitx**:fcitx(五笔拼音输入法框架)是一款开源的输入法框架,支持多种语言输入,特别是在中文输入方面有着良好的表现。它提供了丰富的插件,可以根据个人需求进行扩展。 2. **scim**:scim(Smart Common ...

    Linux中文输入法

    在Linux操作系统中,由于其开源和自由的特性,用户可以选择多种不同的中文输入法来满足日常的文本输入需求。本文将详细探讨Linux系统下的中文输入法,包括其重要性、常见种类、安装方法以及使用技巧。 一、Linux...

    安卓T9实体按键中文输入法

    4. **LICENCE**:可能包含了软件的开源许可协议,表明该输入法遵循的开源条款。 5. **assets** 文件夹:可以放置非结构化的数据文件,如字体、音频或自定义的XML文件。 6. **gen** 文件夹:自动生成的Java源代码,...

    linux中文输入法安装包

    在Linux操作系统中,由于其开源和自由的特性,用户可以根据自己的需求定制系统功能,包括选择适合自己的中文输入法。这个“Linux中文输入法安装包”提供了多种输入法选项,使得在Linux环境下输入中文变得更加便捷。...

    centos中中文输入法包

    在处理中文输入法时,对于非中文环境的操作系统来说,通常需要额外安装支持中文显示和输入的软件包。标题提到的“centos中中文输入法包”主要涉及如何在CentOS上安装和配置中文输入法。 `fonts-chinese-3.02-12.el5...

Global site tag (gtag.js) - Google Analytics