




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机图形学 中南大学国土与测绘系主讲 向南平教授E mail harry xiang 第8章西文图形方式下汉字输入接口设计 第六章介绍了西文图形方式下的汉字的显示 解决了汉字的点阵显示问题 第七章又介绍了矢量汉字的生成及显示 矢量汉字的引入使得汉字可以任意大小 任意方向在屏幕上显示或在绘图仪上输出 剩下的问题是 在西文图形方式下 如何以交互方式直接输入汉字 也即 我们要解决在西文图形方式下的汉字输入接口程序的设计问题 8 1汉字输入接口设计的基本原理8 2区位码 拼音码输入接口程序设计8 3一个带汉字输入的交互式图形系统 8 1汉字输入接口设计的基本原理 要设计一个汉字输入接口模块 首先要确定一组可代表全部国标汉字字音或字形的编码 如 汉字拼音码就是一组可代表汉字字音的编码 五笔字形码就是一组可代表汉字字形的编码 找出这组编码与汉字国标码的对应关系 并用程序方式实现这种关系的转换 就得到了汉字输入接口模块 简单的说 汉字输入模块就是要完成下述工作 1 从键盘接收该汉字的编码信息 2 根据对应关系确定该汉字的内码 3 由汉字的内码得到汉字区位码 4 在点阵字库中读取汉字字模 5 根据汉字字模 以点阵方式将汉字显示在屏幕上 或者说 能够完成上述工作的程序 就是一个汉字输入接口程序 8 1汉字输入接口设计的基本原理 continue 从程序的使用者来说 理想的编码信息是应该是编码量少 且易学易记 而从程序设计人员的角度考虑 则希望编码规则简单 对应关系明确 便于程序实现 但限于汉字字形的复杂性 得到一个理想的编码相当困难 也正因为如此 研究汉字的编码信息已形成了一个专门学科 如果不考虑编码的合理性 则汉字输入接口程序的设计 就是要选择一种汉字编码信息 根据上述原理 设计一个可 翻译 对应关系的模块 即将汉字编码信息 翻译 成汉字国标码 再将模块连接到自己的图形系统中去 就解决了在西文图形方式下的汉字输入问题 从上述汉字输入模块的工作步骤可知 无论使用何种汉字编码信息 最终都要通过汉字区位码去读取汉字点阵字库 显然 如果我们所选的编码信息就是汉字区位码 则前面的 翻译 过程就可省去 这说明两个问题 第一 汉字区位码输入接口是一个最简单的输入接口方式 第二 汉字输入接口模块设计的关键 就是要编写由汉字编码信息到汉字区位码的翻译模块 8 2区位码 拼音码输入接口程序设计 8 2 1拼音码与汉字国标码的对应关系在说明拼音码输入接口模块之前 应先了解汉字拼音码与汉字国标码的对应关系 在6 2 1中讲述汉字显示原理时 我们曾介绍了国标一级字库 常用字 是以汉语拼音顺序排列的 二级字库 不常用字 则是按汉字的偏旁部首排列的 因此 对拼音码编码信息来说 存在以下两个问题 1 由于汉语拼音的重码多 所以对应关系不是一对一的 2 一级字库的对应关系简单 但二级字库的排列顺序与拼音编码无对应性 因此 在设计输入接口时 就要顾及这两个问题 通常 解决这两个问题的办法是 在模块设计时 考虑拼音码输入时的重码选择问题 包括候选重码字的前后翻页显示等 对二级字库则只能逐字加注拼音 并连接到相应的重码候选字之后 本例中的程序 为简便起见 只考虑了第一个问题 对第二个问题未考虑 8 2区位码 拼音码输入接口程序设计 8 2 2输入接口模块设计的说明函数getstring 是输入主控模块 当函数被调用时 即在屏幕中部弹出一个交互式会话窗口 同时在屏幕底行显示 若要输入汉字 按F1选择区位码 F3选择拼音码 F6西文输入 当用户按F1键或F3键选中某种汉字输入方式后 相应的输入法模块pym input 拼音码输入模块 和qwm input 区位码输入模块 即被调用 屏幕底部的行窗口用来显示用户从键盘输入的拼音码 或区位码 及该拼音码对应的重码汉字 在屏幕中部的交互式会话窗口内 允许用户任意输入 修改 删除已输入的内容 当输入完毕并打入回车键时 该窗口中的信息通过函数的参数str传递回函数调用处 而函数py qw alt 则是被py input 函数所调用的 其功能是根据所输入的拼音码 找出所对应的区位码 8 2区位码 拼音码输入接口程序设计 以下是在程序中对两种输入法的设计原则 1 区位码输入法对区位码输入法 完全按照 中华人民共和国国家汉字标准信息交换码 编制 在屏幕底行窗口中每输入代表汉字区位码的的四个数字就调出一个汉字 并将该汉字显示在交互式窗口中当前光标位置处 8 2区位码 拼音码输入接口程序设计 2 拼音码输入法对拼音码输入法 基本上是采用全拼音输入方式 但考虑到超过五个拼音码的汉字很少 因此 程序设计成最多只接受 个拼音码 为了输入方便起见 也允许用户只输入一个拼音码 即可调出全部同码汉字 不足 码用一个空格结束字符的输入 对重码汉字允许向后翻页 使用 键 和向前翻页 使用 键 并显示当前页之前和之后的重码字字数 如 若要输入 武 字 在拼音码方式输入 wu 并加空格 则屏幕底行显示 拼音 wu0巫1呜2钨3乌4污5诬6屋7无8芜9梧 19 在本页所显示的十个汉字中没有要选的 武 字 按 键继续显示下页汉字 拼音 wu 10 0吾1吴2毋3武4五5捂6午7舞8伍9侮 9 此时键入数字键3 所需的汉字 武 就显示到交互式窗口中当前光标所在位置 函数只考虑了一级汉字的显示 但提供一个 v 键作为万能键 当输入该键时 将显示全部一二级汉字 8 3汉字输入接口模块 8 3 1汉字输入接口主模块8 3 2从键盘接收拼音码输入8 3 3从键盘接收区位码输入8 3 4拼音码翻译成区位码模块 8 3 1汉字输入接口主模块 函数入口信息 intX Y交互式会话窗口之左上角在屏幕上的象点坐标 inttext num窗口中可接收的西文字符个数 一个汉字占两个西文字符宽 char mes在会话窗口左边显示的提示信息 函数返回信息 char str用来接收会话窗口最终得到的文字串 函数功能 函数在屏幕中部弹出一个信息交互窗口 并在窗口左端显示由参数 mes传递的提示信息 该窗口用来接收用户输入的汉字和字符 在窗口内允许用户用退格键删除已输入的错误字符或汉字 用户可按F1或F3分别进入汉字的区位码和拼音码输入方式 用F6进入直接向交互窗口输入西文字符方式 8 3 2从键盘接收拼音码输入 函数入口信息 int i num会话窗口中已接收的字符个数 intX Y交互式会话窗口之左上角在屏幕上的象点坐标 inttext num窗口中可接收的西文字符个数 一个汉字占两个西文字符宽 intlength会话窗口中接收信息的显示开始位置 函数返回信息 char str用来接收会话窗口最终得到的文字串 int i num会话窗口中已接收的字符的个数 函数功能 函数在屏幕底行给出一个汉字输入显示行 最左端显示 拼音码 以表示当前输入方式 紧挨着有一个可显示5个字符的拼音码接收区 函数设计成最多可接收5个拼音码 当不足5码时按空格键表示输入码结束 拼音码若输入有错 可以用退格键修改 若最终确认接收的拼音码有错 则函数取n个有效拼音码 并将同码汉字显示出来 当重码汉字多于10个时 将分多页显示 可用 和 键向前或向后翻页 8 3 3从键盘接收区位码输入 函数入口信息 int i num会话窗口中已接收的字符个数 intX Y交互式会话窗口之左上角在屏幕上的象点坐标 inttext num窗口中可接收的西文字符个数 一个汉字占两个西文字符宽 intlength会话窗口中接收信息的显示开始位置 函数返回信息 char str用来接收会话窗口最终得到的文字串 int i num会话窗口中已接收的字符的个数 函数功能 函数在屏幕底行给出一个汉字输入显示行 最左端显示 区位码 以表示当前输入方式 紧挨着有一个可显示4个字符的区位码接收区 每输入4个数字即显示该数字对应的汉字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电厂防雨棚施工方案(3篇)
- 学校主题墙施工方案(3篇)
- 新疆化学考试题库及答案
- 北京市门头沟区2023-2024学年八年级上学期期末质量监测历史考试题目及答案
- 安徽省宣城市郎溪县2024-2025学年高一下学期第一次月考数学考试题目及答案
- 写升国旗应用题目及答案
- 小学作文题目试卷及答案
- 第一次买东西作文12篇
- 海燕象征意义与精神力量探究教案
- 我的校园故事300字9篇
- 2025一建《建设工程经济》计算、时间、数字考点笔记
- 校园基孔肯雅热防控措施课件
- 第1课 中国古代政治制度的形成与发展 课件 统编版高中历史选择性必修1
- 2025年团场人员考试题库
- 2024新版《药品管理法》培训课件
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 心脏起搏器植入指南
- 《护理伦理学》教学大纲(本科)
- 建筑幕墙节能工程施工方案
- 板带轧机刚度对热轧板形的影响
- 老年人睡眠障碍护理
评论
0/150
提交评论