输入法基本概念

这篇博客探讨了Windows系统中输入法的发展,从IMM到TSF框架的转变,特别是在Win8后的Metro风格应用中对输入法的影响。输入法界面通常包括组合编辑框、候选窗口和输入状态条,而功能模块涉及词库管理、自定义短语和智能组词等。文章还提到了输入模式如全拼、双拼和手写等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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.输入功能模块层

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

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

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

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

 

两周前利用多多输入法生成器生成了一个五笔输入法,有几个版本. 现已成功制作。可 供试用,现已有改进。有个别已知问题,我无暇处理,待有空再说吧。当然,您可以自行添加一些编码的。 http://pan.baidu.com/netdisk/home#dir/path=1859923:/soft软件 特征如下: 一: 遇到重码时, 可以按最后一个键进行切换. (当然也可以定义成z或其它方便控制的编码) 如fcu 去 fcuu 支 fcuuu云 fghy 雨 fghyy 寸 如果需要, 请通知. 其实做起来不难, 用微软输入法生成器导出海峰五笔的码表对应的源文本文件, 用excel 2007 分列, 添加空列作tab符, 使用函数修改编码,如在重码时按重复度添加最后一个码, 生成txt, 再用多多输入法生成器生成. 二: 如捆绑大字符集字体包, 可以显示和输入unicode内的所有汉字.我是利用 孙海峰五笔的超大字符集字体来做的.   ☆ 配套超大字集支持包: http://okuc.net/software/UniFonts.exe 官方主页(文化中国): http://okuc.net 作者邮箱:okuc@163.com 百度搜索 海峰五笔也可以下载到. 另有一种新概念五笔, 发明人李顺, 做得更全面, 如支持按 gbk, GB18030, unicode等在待选字框内显示*,**, ****, 还有更大的字符集扩展(字海集), 但是收费和专用的, 未普及 输入法中的帮助文件也直接使用了海峰五笔的. 三: 我只喜欢单字. 所以只做了单字版. 词汇版, 请参考上面的做法来做. 我推荐五笔学习者只用单字. 下面是多多输入法生成器的特点说明: A 我觉得多多输入法生成器是一个很好的工具, 当然不是没有缺点, 但是有几个优点是我喜欢的: A1: 基本上可以中英文混输入而不必切换. 不像一般输入法, 输入长英文时, 会自动顶在那里不动, 或者清除. 大多输入法按回车输入英文, 但是不支持长串. 有些只对拼音输入法支持, 对五笔不支持. 而多多是通通支持, 多多支持. A2: 构词规则丰富. 不过我还没有有效利用. A345: 支持英文输入法的嵌入, 支持在输入法中用编码调用命令, 自定义码表方便. B 我几个我暂不满意的: B1 : 设置界面-输入驱动-(按键设置-构词规则-码表管理)弹出窗口. 码表规则只能一条条设置. B2: 软键盘不强大. 不能用代码调出. 没有对常用输入法的软键盘作扩展和自定义.没提供快键. B3: 没有象微软拼音那样将预编辑文本嵌入到编辑区内的功能. C 多输入法生成器是我目前最满意的输入法生成工具. 我自己生成这个输入法, 特别满意的是长英文与中文不必切换, 及重码用最后一码切换的功能. 此外, 我设想输入法应当实现下面的功能: C1: 像速录软件一样, 能将编码文本与汉字文本互译. 这样, 更能让中英文无缝输入. 并且, 遇重码没有被选取时, 先保留存疑点,分重点存疑和所有重码存疑等级别(可设置), 输完之后, 可以方便的修改. C2: 可以更加智能一些, 总觉得可以让他更灵活. 例如, 在既没有汉字编码也没有英文编码的输入, 可以设置相近推荐; 在用户按了码元之外的字符时, 会自动关闭输入法而执行其他功能, 或者有提示. C3: 实现更方便的符号输入方案, 将字符映射表适时调用, 利用输入法相应的编码或自定编码, 在多行多列的二维表及标签卡间切换可选码. C4: 可以如excel或其它支持 列处理的文本软件一样, 更加方便的修改码表. 码表分成多种级别和子类, 可以方便的展开与收缩查看, 可以排序,可以在一个码表文件中同时挂接多种编码方案列, 而只选用其中一部分. 这样, 就成了一个通用同用的平台, 有效的节省重复, 统一多种输入法的局面. C5 我想, 肯定能实现更多智能化的方案, 待补充
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农飞飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值