手机多语言输入法模块的管理和开发姓名:学号:班级:指导老师:•中兴通讯P600B1WCDMA/GSM双模移动电话机的一个子模块。项目来源和意义手机输入法总体结构图操作系统输入法搜索引擎字库人机界面LCD显示键盘输入在这些过程中,输入法搜索引擎和字库由ZI提供,键盘输入和LCD显示由硬件支持,人机界面将调用相应函数来处理这些过程。所以,在本模块中,处理的是人机界面及人机界面与各个过程模块之间的关系。界面需求bucucunbu不埔补步部布捕m/n文字编辑区录入区候选词区导航区确定1.文字编辑区用户编辑的结果在文本编辑里显示。2.录入区用户的录入过程的提示显示在录入区。3.候选词区用户完成录入后可能会得到一系列满足条件的候选词,需要从候选词里调出所需要的单词。这些候选词放在候选词区里被显示。文字和符号的显示•在编辑框中,要求文字和符号正常显示,•一行不能显示则分行显示。•在英文输入法下,要求单词完整显示。•在编辑状态下,随光标的位置显示相应的文字行。目前适合文本串显示的是AEE_FONT_NORMAL类型,相当于word里的正常型,不加粗和下划线。功能结构图输入法输入法切换数字字母输入符号输入英文输入中文输入模块说明界面显示模块文本区域处理模块通用输入法处理模块ZI搜索引擎显示显示输入取字处理文本•界面显示模块,与LCD显示相关。•通用输入法处理模块,与键盘输入和输入法搜索引擎相关。•文本区域处理模块,处理文本区域的按键事件,包括输入法的切换等系统设计和实现•界面元素的显示:光标,字符及字符反显,编辑框和提示框•文本区域处理模块•通用输入法处理模块整体程序设计初始化输入法结构体,设置参数开始调用显示模块显示用户界面键盘映射ZI搜索引擎显示候选词上移下移事件控制显示被选字输入法切换NY释放空间界面元素显示:编辑框和提示框•IDISPLAY_DrawRect来画图实现•确认编辑框和提示框的位图坐标,宽度和长度•无提示框时,编辑框大小等于上层应用设置的控件大小,其左上角位图坐标设为(x,y),手机屏幕大小为d,l,提示框出现时,提示框的宽度和长度固定,宽度为两个字符的高度,设为h,而长度等于屏幕长度l,则提示框位图坐标为(d-h,0)。而符号提示框的宽度和长度固定,宽度是5个小矩形宽度为m,长度和屏幕长度一致为l,左上角位图坐标是(d-m,0),覆盖整个控件。界面元素显示:字符和光标显示开始字符数或光标位置改变获取新的字符数,记录光标新位置pwLineStarts[i]和wLines的获取wDisplayStartLine的获取画显示区域的文本串画光标结束YN•IDISPLAY_DrawText实现字符显示•整个输入字符串psText。•每行行首字符在psText的位置•屏幕显示的首行的是第几行•计算屏幕显示的行首的位图坐标•IDISPLAY_DrawVLine实现光标显示•光标在整个字串的位置•光标的位图坐标文本区域处理•左右键,上下键,#键,*键,Clr键和添加字符•#键用来切换输入法。1.若当前输入法状态不在原始初始状态,则释放输入法模块结构体。取得当前的输入法类型,判断当前输入法类型是内置所有输入法数组的第几个,设为index。2.index++,如果index等于输入法数组最大下标数,则index等于0,取得下标为index的值,为下一个输入法类型。3.将这个输入法类型与用户设置的所有输入法类型的位逻辑或进行位逻辑与,若等于零,则继续转到3,直到循环一次,若没有找到,则将输入法设置为数字输入法。不等于零则将输入法设置为这个输入法类型。•添加字符•添加字符时确认当前wselStart和wselEnd是否相等,不相等,删除wselStart和wselEnd之间的字符,wselStart和wselEnd等于wselStart,将字符添加到字符串wselStart的位置,wselStart以后的字符依次往后串。通用输入法处理模块开始是否0键是否2-9键N用户按键添加一个空格初始化输入法结构体状态为输入PINYIN状态,按键映射ZI模块YY用户有效按键是否ok键Y状态为PINYIN选取状态,按固定PINYIN取候选字用户有效按键是否ok键添加一个字符,状态为联想输入状态,固定字组Y用户按键是否Clr键NN是否Clr键N用户按键数是否为1N释放输入法结构体结束YY•以PINYIN输入法为例•四个状态•按键处理PINYIN输入示例符号处理•两...