我的形码输入法[C语言] 之三:输入法的设计(1)

类别:编程语言 点击:0 评论:0 推荐:

本篇只叙述我的形码输入法内部从输入到输出转换的原理,如果想要了解输入法程序的框架是怎么样的、到底是怎么被调用出来的,请参见自由拼音输入法源码3.1版,我最初的程序就是用这个改的

如果想要了解windows平台输入法编程时的接口、convension等等,请参见以下这几篇文章,其中详细的说明输入法程序是如何进行工作的:

http://forum.mywuzhen.com/thread.jsp?forum=7&thread=1835&tstart=0&trange=15

http://www.petrocn.com/cgi-bin/topic.cgi?forum=5&topic=3&replynum=last#bottom

http://wwsys.51.net/wwwboard/messages/253.html

关于编写输入法程序要注意的问题以后我可能会写一些,有问题,直接跟我email联系交流:

mail to : [email protected]

输入法乍听起来好像很难做,其实原理却很简单:

从输入的数字或者英文找出与之汉字或者词语

对于我这个输入法而言,最长的编码就是四位数字[参见我前面的文档] (后来添加了数码转中和拼音、英文转中不算,这个是附加功能),而且词的编码可以由字的编码来生成,所以只需要有个有编码字库就可以了,然后到网上去下载一个别人的什么十三万啦、三十万啦,稍稍修改以后往里面导入就可以具备一个不错的大词库了

现在的汉字有好几万,但常用的汉字有六千七百多,所以输入法中常用字和难字是分开的,一般输入的编码查处来的只是常用字,可以用个键进行切换,暂定的是'`'键,就是tab键上面按个键,称为难字键

同时,词库也有很多内容,如果都放在一起使用起来翻页较多影响效率,所以把词库也分为两类:常用词库和罕用词库(也叫常用词库),使用'/'键进行切换。

由于输入法只需要输入数字和翻页,所以只要小键盘就可以完成(这个特点对于以后把输入法移植到手机上极为有利)

小键盘功能说明:

NumLock : 未使用

1-9:输入编码,选字词

/    :常用词语和罕用词语切换

*   :类似于空格上屏,但是不一样的是可以终止编码输入用来选字,如输入123,这时候并没有处于选字状态,还可以输入4,如果想选字,可以使用星号键,就处于选字状态了,

- + :上下翻页以及激活选字(这个以后再说),其中-还可以用来删除前面输入的词,即一次回退一个输入的词,如输入了词语“身体”,然后按-,就可以删除这两个字,多个字也是一样

. (Del) :删除一个词,也可以在编码输入状态删除一个编码

Enter   :删除输入的编码,用于编码输入错误的情况下进行修正

 

本文地址:http://com.8s8s.com/it/it28404.htm