本篇只叙述我的形码输入法内部从输入到输出转换的原理,如果想要了解输入法程序的框架是怎么样的、到底是怎么被调用出来的,请参见自由拼音输入法源码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