嵌入式系统汉字输入.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统汉字输入

HYPERLINK /bbs/viewthread.php?tid=8868extra=page%3D2 /bbs/viewthread.php?tid=8868extra=page%3D2 简单知识 中文输入发我不多说,大家都用过,目前嵌入式系统中比较典型的中文输入法有诺基亚的T9 、 摩托罗拉的 i T A P 、爱立信的字能等, 这些 输入法的输入设备一般是数字键 0 ~ 9和一些功能键组成。除了支持中文的拼音和笔画外还支持诸如 日文、 韩文等其他国家的语言。中文输入法可分为拼音输入和笔画输入。 一般情况下拼音输入法相对笔画输入法, 重码率要高, 但简单易用,(再加个模式识别进行手写输入就更高级了,呵呵),我这里也是拼音输入,由于空间有效,不支持联想功能. 2. 硬软件 ? ? 硬件用的NXP的2138,LCD是台湾雄铎科技的,240*160,软件用的zlg的模板,uc2.52版,按键布局与手机一样,如2键为abc,3为def,等等 3.前期准备 3.1网上有许多的资料,给出了键盘数字组合对应的拼音组合和汉字组合,我也利用这个,如 {2,a,(char *)PY_mb_a}, {24,ai,(char *)PY_mb_ai}, {26,an,(char *)PY_mb_an}, {26,ao,(char *)PY_mb_ao}, {22,ba,(char *)PY_mb_ba}, {24,bi,(char *)PY_mb_bi}, const char PY_mb_a[]? ???={阿啊}; const char PY_mb_ai[]? ? ={矮蔼艾爱隘碍霭}; 但有个问题,这个网上流传的拼音-汉字组合中汉字非常少,对于输入是远远不够的,比如说汶川的汶就没有,而且没有多音字,例如还的拼音属于huan,你打还就没有,这对于输入是不可以接收的,下面我讲一下我的解决方法. 3.2寻找所有汉字的拼音,这个如果打开字典一个一个的输,恐怕没有一个月是干不成了,庆幸的是有人替我们做好了,在万能五笔输入法中有一个拼音记录文件,几乎包括了所有的汉字,拿来所用 HYPERLINK /bbs/attachment.php?aid=5180 \t _blank py_gb.rar (264.6 KB) 这个文件中,有许多词组,是我们不需要的,需要剔掉,但手工的方式工作量太大,这里我们发挥计算机比较傻的优势来做这件事,用到一些VC的基本知识,相信大家都有这个能力 CStdioFile read_file,read_new_file; CStdioFile write_file; CString my_str,temp_str,tf=; read_file.Open( py_gb.txt, CFile::modeRead,NULL ) ; write_file.Open( new_py_gb.txt, CFile::modeCreate | CFile::modeWrite,NULL ) ; while (read_file.ReadString(my_str)) { int i = my_str.Find( ); if ((my_str.GetLength() - i) 3) { ??/* 是词组 */ ??continue; } else { ??/* 保存到文件 */ ??write_file.WriteString(my_str); ??write_file.WriteString(\n); } } read_file.Close(); write_file.Close(); 原理也非常简单,如果是词组,汉字的个数肯定大于1,在vc中,一个ASCII占一个字节,一个汉字占两个字节,整理后的文件如下 HYPERLINK /bbs/attachment.php?aid=5181 \t _blank new_py_gb.rar (65.71 KB) 3.3 在文件new_py_gb.txt中,列出了每个字的拼音,如 a 啊 a 阿 a 呵 a 吖 a 嗄 a 腌 a 锕 a 錒 aes 厑 ai 爱 ai 矮 ai 挨 ai 哎 ai 碍 ai 癌 ai 艾 ai 唉 ai 哀 ai 蔼 到这里又产生一个问题,必须将所有的同音汉字组合在一起,例如拼音为a的,应该这样 a啊阿呵吖嗄腌锕錒 vc程序如下: read_file.Open( py_file.c, CFile::modeRead,NULL ) ; read_new_file.Open(new_py_gb.txt, CFile::modeRead,NULL); write_file.Open( zhenli.txt, CFile::modeCrea

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档