输入法基本概念

万里之行始于足下,在真正的开发输入法之前需要了解输入法的相关概念。这里根据作用的层次不同将输入法的基本概念分为三类:

1.框架层概念(和系统交互)

2.UI层概念(和用户交互)

3.功能模块层概念(和输入引擎交互)

 

1 先介绍一下框架层的一些概念

在windows系统从win98到winxp再到后来的win7、win8、win10。Windows 提供了两套输入法框架:在 Windows XP及之前,是 IMM(Input Method Manager),即输入法引擎,基于纯函数 API;Windows XP 及以后,提供了新的输入法框架 TSF(Text Service Framework),是基于COM组件对象模型)的。目前现有的各个版本输入法大多采用输入法管理器―输入法生成器(IMM-IME)框架进行开发,然而在 Windows 8系统之后的 Metro 风格的应用是不支持该框架的,在这些应用下进行输入,需要使用文本服务框架(TSF)开发的输入法。[1] IME(Input Method Editor)指代的就是输入法本身。

依据windows系统的演进,可以将输入法分为win8系统之前的输入法和win8系统之后的输入,由于win8系统出现了Metro界面导致老的输入法框架不能兼容,所以输入法框架不得不采用新的输入法框架,自此也产生了输入法开发的分水岭。很多人可能对Metro界面不太熟悉,这里以win10的Metro界面进行说明一下。

输入法基本概念

win10系统中全局检索的这个窗口就是Metro风格的应用,这种应用和传统windows桌面应用不同,在响应输入焦点时需要进行额外的处理,并且只能通过TSF框架获得输入焦点。

 

2 UI层

输入法基本概念

如上图所示,输入法界面通常由三部分组成:

用于显示用户输入字符组合的组合编辑框

用户显示候选词的候选窗口

用于显示功能模块的输入状态条

并不是所有的输入法都有这三个窗口,就比如微软自带的输入法就只有候选窗口。

输入法基本概念

语言栏是系统显示输入法列表的模块,主要用来查看系统当前加载了哪些输入法。

 

3.输入功能模块层

输入法基本概念

输入法模块中最核心的是词库管理模块,词库管理模块主要负责通过解析用户输入的拼音组合查询词库获得对应的候选词。

自定义短语模块主要是用户通过添加字符和对应的短语映射,实现自定义内容的快捷输入。

智能组词是指通过提前训练好的数据模型,在用户输入的时候快捷的查找到词与词之间的最佳匹配关系。

输入模式是一个更高层次的概念,常用的输入模式有:全拼输入、双拼输入、五笔输入、手写输入、语音输入等等。细化的输入模式还有拆分输入、笔画输入等等,这里就不一一列举了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA捐赠
共{{data.count}}人
人已捐赠
应用教程

【游戏】别点白方块,自动点击(自定义热键)

2023-9-4 21:00:44

教程

快速搭建一款输入法(封装输入法引擎)

2023-9-10 9:02:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索