2023年12月29日发(作者:简笔画花朵)
基于CJK统一汉字扩充B的输入法研究(可编辑)
基于CJK统一汉字扩充B的输入法研究
内蒙古大学
硕士学位论文
基于CJK统一汉字扩充B的输入法研究
姓名:张瑞
申请学位级别:硕士
专业:计算机应用技术
指导教师:巩政
20090508内蒙古大学硕士学位论文
基于统一汉字扩充的输入法研究
摘 要
汉字输入法研究是自然语言处理的一个重要课题,自
颁布以来‘,许多研究人员一直在研究支持该超大字符 集的输入法,而本课题的主要研究目的是实现处于统一汉字扩充 区汉字的输入与显示’。本文主要从输入法码表的制作和输入法程 序的编写两方面来详细介绍输入法的制作。该输入法码表采用笔画顺 序、笔画模糊匹配和部首笔形码三种模式对四字节汉字进行编码,
在具体使用时,笔画输入法只需要按照汉字的书写顺序输入对应的键 盘码,就可以显示并输出目标汉字,笔画模糊匹配只需要输入汉字对 应笔画的前四笔和后四笔,即可输出目标汉字,部首笔形输入法只
需按照笔形对应码将部首和汉字的编码通过键盘输入,便能输出对应 的汉字。
输入法的实现符合的删/结构规范卜争“,是目前
输入法广泛采用的编程方法之一。由于处于统一汉字扩充区的 汉字主要出现在各种典籍文献中,因此基于统一汉字扩充输入 法的实现,为许多用字量大的汉字辞书、古籍文献实现数字化起到了 有利的推动作用。
关键词:统一汉字扩充,笔画,笔形,删/结构基于统一汉字扩充的输入法研究
匣 . .
一气 .
’.
,
,
,
,
.,
.,
, ,
,,
, ./.: ?十 , .
:,, ,
/ 内蒙古大学硕士学位论文
图标目录
表. 通用编码字符集四维代码结构【引
表.笔画输入法中笔画对应的键盘码.
图.笔画输入过程示例
表.部首编码表.
表.部首编码表.
表.笔形码码元【】表.笔画输入法与简笔输入法部分码表?。 表.部首笔形输入法部分码表??.
表.笔画输入码表重码情况统计?。
表.笔画输入法统计概况表.部首笔形输入法码表重码情况统计? 图. .基本工作过程
图.输入法的组成【.
表. 窗口处理的消息响应.
图.主要接口函数??。
图. 函数功能。
图. 统一汉字扩充输入法运行机制流程图【】【】【】【】【】【】 图.图部首笔形码输入法图.图笔画输入法图.笔画输入法示例?. 图.候选窗口。
图.汉字显示过程?。
图.输入方式的选择。
图.汉文/英文切换?
图.大写键锁定
图. 关于窗口
图.帮助文件.
原创性声明
本人郑重声明:所呈交的学位论文,是本人在导师的指导下独立进行研究所
取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体
己经发表或撰写过的科研成果。对本文的研究作出过重要贡献的个人和集体,均
已在文中以明确方式标明。本声明的法律责任由本人承担。
学位论文作者签名: 指导教师签名:
易次袁易
日 .‖
期:川./.
强:妒..
在学期间研究成果使用承诺书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即内蒙古大
学有权将学位论文的全部内容或部分保留并向国家有关机构、部门送交学位论文
的复印件和磁盘,允许编入有关数据库进行检索,也可以采用影印、缩印或其他
复制手段保存、汇编学位论文。为保护学院和导师的知识产权,作者在学期间取
得的研究成果属于内蒙古大学。作者今后使用涉及在学期间主要研究内容或
研究
成果,须征得内蒙古大学就读期间导师的同意;若用于发表论文,版权单位必
须
署名为内蒙古大学方可投稿或公开发表。
指导教师签名:
学位论文作者签名:
缘乏易
日 。期:
咿期:蛳。‖,内蒙古大学硕士学位论文
第一章 绪论
.
统一表意文字简介
统一表意文字 ,即中日韩统一表意文字,
它是位于基本多文种平面中的一个编码区段,目的是要把分别来自中 文、日文、韩文、越文中本质、意义相同、形状一样或稍异的表意文字主要
为
汉字,但也有仿汉字如日本国字、韩国独有汉字、越南的喃字于 ?:?编码区段,
及标准内赋予相同编码,它处于/
编码为,共个汉字。统一汉字扩充 ,它处于在
/
:编码区段,编码为一,共收录个
汉字。
统一汉字扩充 ,它是位于
表意文字补充平面中的一个编码区段,该区段共收录汉字个,这 些汉字中的大部分在我们日常生活中使用频率很低,它们主要出现在历史典
籍文
献中。统一汉字扩充处于/ :的
代码区段,编码范围为?之间。
高位 低位
表. / 通用编码字符集四维代码结构似
.
/ 通用编码字符集采用如表.所示的四维代码结构,
称之为规范形式或者,它包含个组,每组有个平面,每个平面有 行,每行有个字位。每个字符用个八位位组表示,每个八位位组都用 十六进制标识,图形字符的组
八位为。通常我们使用的汉字都分 布在组中的第一个平面??基本多文种平面。由于组号和面号都是基于统一汉
字扩充的输入法研究
,所以可作为双八位编码字符集独立使用。我们现在 主要支持 两字节的汉字,而统一汉字扩充编目的汉字都位于组的平面,即表 意文字补充平面中,都是由四字节组成的,在现行主流操作系统中,只 有将这些汉字保存为码时才可以正常显示字形,否则识别出的都是乱 码。
..
基本概念
,简称,亦称第零平
基本多文种平面【】:
面 ,它是中的一个编码区段,编码范围从至,
它采用的主要结构如表.所示,但其组号和面号都为,所以基本多文种平 面可作为双八位编码字符集独立使用,按字母、音节、表意符号和各种符号 及数字定义了常规使用的字符。
,简称,
表意文字补充平面【】:
亦称第二平面 ,是中的另一个编码区段,该区段编码范 围从至,它是在中基本多文种平面以外储存字符
的区段。现在整个平面所配置的,全部都是一些罕用的汉字或地区的方言 用字,如粤语用字及越南语的字喃等,我们所研究的统一汉字扩充 区的编码范围从至。
..
统一汉字扩充区段汉字的主要来源【
统一汉字扩充段共包含 个汉字。根据,的相关文件
【】,这四万多个汉字分别从以下字典或字集中取得: 的第平 面到第平面所收录的个汉字;在《汉语大字典》伽中出现的 个未收录汉字;在《康熙字典》?中出现的个未收录汉字包括一个 在补遗篇中出现的汉字;在朝文标准中所收录的个汉字;在越南文
标准中所收录的个字喃随;中出现的个未收录汉字;《汉
语大词典》中出现的个未收录汉字; 《四库全书》中出现的 个未收录汉字;日本国家工业标准的 第平面及第平面的
个未收录汉字:年版的《辞海》钔中出现的个未收录汉字:韩国内蒙古大学硕
士学位论文
.:中出现的个未收录汉字; 《中国大百科全书》中
《辞源》中出现的个未收录汉字;北大方
出现的个未收录汉字;
正排版系统中出现的个未收录汉字:这些汉字中有不少是重复的,经过 整理、筛选之后,合计总数为 个汉字。
.
统一汉字扩充的输入法研究现状及意义
自?颁布以来,一些研究人员一直在研究支持该超大字符集的 输入法。据报道,下支持统一汉字扩充的输入法已经实现。 下也有一种支持统一汉字扩充输入程序,该输入法在马来西亚的一个 网站提供下载,但使用时发现,常用汉字的输入功能正常,而输入统一汉字 扩充中的汉字时,候选框中没有显示出候选字形?,使用不方便。 处于统一汉字扩充区的汉字主要出现在古籍文书中,目前为了保护这 些古代文集,各文物史馆均采用封闭存放,禁止读者浏览。有些图书馆将这些
书
籍扫描成图片供读者浏览,但图片文件占用存储空间过大,网上浏览速度太
慢,
且古籍存放时间太久,有些文字已经模糊不清。如果能够把这些古籍文字录入计
算机保存、浏览,对史料的研究、保护将有非常重要的意义。基于统一汉字
扩种输入法的实现,为许多用字量大的汉字辞书、古籍实现数字化提供了一种
有效的基础录入工具,使原本束之高阁的典籍文献实现数字化、走进寻常百姓的
案头成为可能,从而为弘扬古老的中华文化打开了方便之门。
.本课题主要开展的研究工作
本课题的研究目标是能够用较为适用、简便的方法输入处于统一汉字扩
充区的四字节汉字,为了实现这一目标,需要完成如下几方面的研究内容:
、收集统一汉字扩充的字库。对于一个输入法来说,最基本的元素
就是字库,只有拥有了字库,才能够成功输出目标汉字。
、研究字库中汉字的特点,对汉字结构进行分析、拆分、归纳,制定出一
种便于操作、记忆的输入规则。由于该区段的汉字使用率比较低,所以了解其发
音的学者相对较少,所以为了输入能够方便,本课题采用了形码输入规则,对于
形码规则来说,一个比较重要的指标就是码表的重码率,为降低重码率,就需要基于统一汉字扩充的输入法研究
对汉字进行分析,从而研究出一套符合该区汉字的编码规则。
、根据制定的规则,利用环境设计并实现 操作系统下的
四字节汉字输入法。
.论文结构
本文结构主要按照工作内容划分为五章,其中第二、三、四章为所作的研究 工作,也是本文的重点,内容组织如下:
第一章绪论
本章重点介绍处于统一汉字扩充区汉字的相关情况,具体包括区段汉 字的来源、特点、编码范围以及国内外研究现状与本课题研究意义。最 后介绍了本文主要开展的研究工作。
第二章码表的设计与实现
本章首先简单介绍了课题的编码规则以及规则使用的部分注意事项,然后着 重从编码格式和编码依据两方面来阐述规则的合理性。
第三章输入法概论
本章主要从输入法的现状、种类、实现方式以及删/结构等方面阐述了 输入法的相关概念和技术。
、
第四章统一汉字扩充输入法设计与实现
本章详细讨论了基于统一汉字扩充的输入法的组成及运行机制, 主要从输入法的组成窗口来详细叙述输入法各个功能的具体实现过程。 第五章总结与展望
本章是对课题工作进行了一个总结,给出了已完成的工作以及存在的不足之 处,并对未来的工作提出了一些建议。
内蒙古大学硕士学位论文
第二章码表的设计与实现
.码表的编码规则
统一汉字扩充是对四字节汉字进行编码的一个编码区段,处
于该区段中的汉字基本都出现在历史典籍文献中,因此使用频率都不是很高,而
且仅有极少数人知道他们的发音,所以在制作该类汉字输入法时使用拼音方案输
入就不切合实际,比较可行的是采用形码输入方案。
经过对该区段汉字的观察和实际情况的考虑,本输入法决定采取三种方案对
汉字进行编码。方案一:采用传统的笔画进行输入,即将汉字的拼写笔画分为横、
竖、撇、捺、折五笔,并分别对这五个基本笔画进行编码,其中横编码为、竖
编码为、撇编码为、捺编码为、折编码为,编码如表.所示,对处于
统一汉字扩充中的汉字根据其书写顺序进行笔画串编码,汉字中的笔画
“提’’按照“横”处理,各种“折和“钩都按“折”处理。采用该方案的输
入法本文称之为笔画输入法,在使用时,只要按照汉字本身的书写顺序将基本笔
画的编码输入即可输出对应的目标汉字,不需专业的学习与训练,无需依赖拼音,
不需要对汉字的结构进行拆分,具体实现如图.所示。方案.采用笔画模糊
匹配规则进行汉字输入,此方案的提出主要基于方案一中的笔画输入原则,仍然
将汉字笔画拆分为横、竖、撇、捺、折五笔,分别映射键盘码、、、、,
编码规则同方案一完全相同。采用该方案的输入法本文称之为简笔输入法,在具
体使用时,只要输入汉字笔画的『四笔和后四笔对应的键盘码,就能够输出目标
汉字,此方案在笔画输入正确率方面要远远高于方案一。方案三:使用“部首
笔形码’’的形码规则,其中部首指的是部首的编号,该编号是按照康熙字典中部
首的出现顺序进行编辑的,用两位十六进制数对其进行编码;笔形码包含四个
的数字,这四个数字分别代表汉字不含部首的左上角、右上角、左下角、
右下角四个部分的特征编码,对汉字的这四个部分按照上述顺序用数字进行编
码,这样只要对键盘上数字按键进行布局就可以实现输入法的键盘映射。采用该
方案的输入法本文称之为部首笔形码输入法,方案中的部首编码如表.和表
基于统一汉字扩充的输入法研究
.所示,的数字编号分别代表的笔形特征如表.所示:
键盘码
、
乙
对应笔画
备注 横、提 竖 撇 捺、点 所有“折’’ 表.笔画输入法中笔画对应的键盘码 .
例如输入一个四字节汉字康,具体过程如下图所示:
笔画顺序: 撇撇折 点 撇横 竖撇撩 ?
、 、
,『 乙
对应笔画:对应编码:
编码串:
图.笔画输入过程示例
.
内蒙古大学硕士学位论文
二抖
日
力 / 门
耳 弋 月 刊
女
;
、 止
匕 丁 勺
木
?牟
习
广
???一
欠 二/ ..一
士 与厂 卜
、 乡 .. 幺 一
..一
?
卫
小 歹
彳
几
瓜
卜 尢 心 ,又
.
口
丁 , 戈 毋 瓦
山
厂 户 比 人 甘
肚
二
儿 山 于 毛 ...工
匠
专
入又 用卜 八。 口
......? 田 文 。弋
广
门 疋
己 文 水 ,??, 土 广
上
巾 斗 火 , ? 二罗鬯 工 斤 爪 亡 厶
工
几
厶 父 白
欠 门
炙 广 无 爻 皮 刀 日 皿
夕 月
又一
表.部首编码表
.基于统一汉字扩充的输入法研究
口
幸
户口。
目 刁? 衣 页 套 矛 耳 两 酉 凰 麻 掌
产
市
大 ??卜一 兄 采 最 其
田
石 肉 二 食 黍 角
??一
口暑
么叉
里
兰
不 口 立 首 /?、、 内 自 《
谷 香 黹
禾 二. 显 阴 属 阻 穴 臼 豕 阜 骨 鼎 .
千
、/. 局 鼓
白 豸 隶
乡
舛 只 隹 矽 鼠 竹
.自王
米 舟 赤 雨 同 了 .主
厶
鬯
艮 罔 齑
尔 人巳
口
白二
任 齿 足 习乍 羽 山 鸟
能
网 / /刁 面 鬼 南
芏 亩
堇 囱
,屯 ?? /?、、 匏 ?
....::. .
命
包仁由
曰
羽 , ?. 早 ,习 三匕
血 辰 韭 卤 ?一鹿
而 行: 走 曰 表.部首编码表
.内蒙古大学硕士学位论文
编码 笔形 备注
字例 变形
??.
主
广、病、剖 点与横相结合
天 横、提、竖弯钩、斜钩
活、培、气、兄
/ 旧、顿、力 千、则 竖、撇、竖撇 、
实 点、捺
军、造、瓜
十义 古、对 式、皮、草 两笔交叉 丰丰 青、打 春、申、戈 一笔纵穿两笔或两笔以上
口口 另、四 目、曲、甲 整齐的方形 刀
广 写、阳、亡、兵 折
八。
分、共 午、余、央、羊 八字形及其变形 小、
尖、快 宗、兴、木、录、当 小字形及其变形 表.笔形码码元‘埔’
.
.
码表格式
为了便于对码表的操作和程序的实现,本课题在制作码表时采用了如下格 式:部件汉字换行,其中第一行是字段名,标题是笔画汉字换行 和笔形汉字换行,从第二行开始是正式的编码。笔画输入法与简笔输入 法采用的是相同的码表,具体码表内容如表.所示,部首笔形输入法的码表 如表.所示。
基于统一汉字扩充的输入法研究
笔画 笔画 笔画 笔画 笔画
汉字 ;又 汉字 汉字
汉字
欣 佐 侮 孰柒
胃 饮 恸 乏 汀钦 佃 西 渣
佩且
钷 佩 俩 ‘ 滓
五侈 佃 乙 洪馅 滴
今倪 乏
欲 儆 仙 吾 坎
恶 伏 歌 南 流欣
碧 伏基 浸
仑 欧 充
仉 耕凰 笆 歆 卷 央欣 伉 毳 沃 凋?
堰 仟 牛 活 艺玺 像 耄 沦 洞
...
割 欧 淦 回 恕士毫 俩 乙 玄 才?
土
侨 侪 乙 凶 笔
忾 『巳 囟 欹 抒
仟 偈 乱 活 琶
表.笔画输入法与简笔输入法部分码表
.
内蒙古大学硕士学位论文
笔形 汉字 笔形 汉字 笔形 汉字 笔形 汉字
笔形 汉字??。?一. 偃琶是玄皂乱老卷暑豸笆轨望基艺碧堰豸廛馗 忾袱俩
价佩伉仟伏仙俩恸侮佐倪伯像佩仿仙 保俗侍俅伯炱俊倾侈仲傍俄何邵傈惭侨侨 西竞伞中月它仑乏老老龟琶毫吾髦营磐 磬才抒耕灾卤充亩襄喜佃参伏仉侈
仔但偈饮
表.部首笔形输入法部分码表
.
基于统一汉字扩充的输入法研究
.编码的合理性讨论‘九
首先,由于处于统一汉字扩充中汉字的使用频率比较低,而且只有极 少数学者能够辨认这些汉字的读音,所以我们采取了形码输入规则,其次,为
避
免进行专业的学习与训练,避免背诵冗长的口诀,我们采用了大家熟悉的笔画输
入规则,并在此基础上产生了笔画模糊匹配的简笔输入规则,再次,经过对该区
汉字的观察和分析,还采用了笔形输入规则,而且为进一步降低重码率,该种方
案在笔形的基础上又添加了各个汉字的部首编码。
衡量输入法的一个标准就是输入法的速度。客观上,用户使用一个通用键盘
的输入法打字,受三方面因素影响:其一是软件的反应快慢;其二是编码方案;
其三是码表。大多数输入法软件的反应速度对于用户来说,是不会明显影响到打
字速度的,而如何处理码表,往往又受到输入法编码的影响,所以,编码的质量
往往是我们在评价一个输入法速度的主要依据,而影响编码质量的一个重要因素
就是重码率,所以我们通过码表重码率来说明编码的合理性。
重码率重码字数/总字数
在常用汉字输入法中,五笔字型输入法的重码率最低,不到%。按照本输
入法中的“部首笔形码”输入汉字,重码率虽然接近%,但是在选择候选汉
字时不需要进行翻页操作,因为频率使用最高的汉字输入码串最多仅表示个
汉
字,而候选框每次可以显示出个候选汉字,这样,所有的重码汉字都可以在第
一页显示完毕,用户再按一个序号即可输入所需汉字,所以,本输入法重码率的
高低对输入效率影响不大;而对于笔画输入法,由于其编码串的长度不唯一,所
以重码率就更低,仅有一个串出现了九次,其他串出现的频率都在五次以下,即
当用户输入某一编码串时,除了一个串,其他的都不需要翻页即可找到目标汉字。
表.为笔画输入法码表的重码的情况。
汉字
编码串 出现次数
类侈傻
愣舁
德想内蒙古大学硕士学位论文
偶篱
僭眢伪休
售恪
恕衄
鳓赍类
卜广上
屹老
旨冒置岗内
帽幅
娄楼
蜊捌
蛔帕
崇螺
崛赢
蜗帽
具巾具 粤导
峄阜
磐崎
爆嶷幄 基于统一汉字扩充的输入法研究
蜡封
类
苒苜
亘盲
类
弓袒
稠裙福初初’
耘视
类 赣鳘
啉粜
出瓦蛊
颇顿出品
陴阳
巳琵巴弓
皇皇
艮阪忉叻阴阴 电电
叹迎
乞厶 ,
表.笔画输入码表重码情况统计
. 内蒙古大学硕士学位论文
字数 个
出现次的串 个 个
出现次的串 厶
出现次的串出现次的串
.
出现次的串 个
. %
重码率
平均码长 .笔
表.笔画输入法统计概况
. 肛
字数 个
个
出现次的串
个
出现次的串
个
出现次的串
出现次的串 个
码长
平均击键次数
表.部首笔形输入法码表重码情况统计 .基统一汉字扩充的输入法研究
第三章输入法概论
.
输入法的现状‘捌
根据输入设备的不同,计算机输入方法主要分为以下三类:
一、键盘输入:即通过键盘把编码串输入计算机,从而输入目标文字到计算
机,目前这是最常用的输入方法。
二、笔识别输入:笔识别输入法是指使用手写板、扫描仪等输入设备获取用
户书写汉字或符号的笔划或图像信息,通过使用模式识别的方法,将笔迹转化为
对应的文字。
三、语音输入:指通过麦克风等语音输入设备获取用户文字发音的语音信号,
通过使用各种模式识别的方法,将其转换为对应的目标文字,从而达到输入的效
果。
.输入法的实现方式恤
输入法的实现主要包括三种方式:第一种是直接实现方式;第二种是使用
操作系统提供的挂钩机制方式;第三种是使用输入法管理器
,以下简称管理的方式。
一、直接实现方式:作为编码或识别程序的界面,直接将转换后的字符显示
在转换程序的显示窗口中。这种实现方式简单直观,可以用来直接演示编码方案
或识别器的效果,是开发算法原型阶段常用的方式。一个显著的优点是输入法只
要启动一次,就可以在所有进程中使用,但机动性很差,必须生成程序。
二、使用操作系统提供的挂钩机制方式:这种输入法的核心技术是
使用系统提供的挂钩机制。挂钩机制主要完成以下任务:在输入事件到
达应用程序之前将其截获,将键盘、鼠标等输入设备的动作消息转换为中文字串
消息,而后传递给应用程序窗口。利用挂钩机制有它的优缺点:优点是使用系统
级的挂钩函数可作用于所有应用程序窗口,适应性很强;缺点是当多种输入法并
存,或者不同应用程序窗口需要不同的输入法支持时很难协调,也很难保证在一
内蒙古大学硕士学位论文
种环境下正常工作的输入法可以适用于所有的应用程序窗口,且机制不稳
定,而且容易使系统不稳定,其生成的程序也是程序。
三、使用输入法管理器删来管理的方式:输入法管理器的作用是统一管
理平台的输入法。面向开发人员,允许开发人员设计新的输入法并
添加到系统中。为此, 公司为开发人员提供了一整套用于开发输入
法的工具包,这套工具包包含在开发驱动程序的工具包
中。利用提供的输入法管理器,使用 应用程序
编程接口进行输入法编程的实现,是规范而方便的实现方式。我们开发的基于
统一汉字扩充的输入法就使用了这种实现方式。
. /
结构
系统下键盘输入法实际上是把通过键盘输入的编码串按照一定的
编码规则转换为目标字符串,传递给应用程序窗口。由于应用程序各不相同,
用户不可能自己去设计转换程序,而是利用系统提供的输入法管理器
/输入法编辑器删/结构来完成文字的输入。下面对和她结构作简 单的介绍。
..
/结构的概念 ,简称就是通常意义上讲的输入法,它允许
用户通过标准的键盘输入各种不同的字符,从而达到输入非拼音文字的目
的。在
平台下,一个是作为一个动态链接库,
而存在的,但这个动态链接库较特殊,它的结构必须符合提供的一整 套输入法接口规范。当输入法运行时,它实际上是一个多文种的键盘布局 ,通过它,我们可以把键盘的英文字符映射为非拼音文字,从 而达到输入非拼音文字目的。这个动态链接库的位置是在的系统目录 或者 下,输入法的程序名称为::.。
输入法管理器是操作系统多语言支持环境的内在组成部分, 操作系统通过输入法管理器管理当前系统中活动的各个输入法编辑器,维护
输入
法编辑器和应用程序之间的通信。其中应用程序是输入法的用户,用来接收
输入基于统一汉字扩充的输入法研究
法转换后的字符消息。
..
的特点
平台下的主要有以下特点:
每个仅仅是整个多文种环境 的一个
部件,一个多文种环境可以包含多个不同的。
每个应用程序都拥有自己的一个活动实例,不再为所有的应用 程序所共有,同样的一个,可能同时运行多个实例,每个实例属于不同的应用 程序。
应用程序和之间可以进行消息传递,应用程序可以控制。 ..
/结构的工作过程
在中,用户的键盘输入在被转换为键盘消息之后,系统首先将这些 消息通过删传递给与当前线程对应的。根据提供的输入消息以 及输入上下文记录的数据,将用户的输入代码串转换为结果字符串,以字符
消息
的形式返回给,将其放到应用程序窗口的消息队列中去。而每个不是孤 立地存在的,它们由一个统一管理,/删结构负责输入信息处理,包括 制定系统规范、输入法接口、消息传递和输入法控制等内容。通过调用/ 函数或发送消息控制和管理各个。同样,也提供了一批供调用的函 数,使能主动地向提供自己的状态以及请求执行某些公共操作。 内蒙古大学硕士学位论文
用户键盘输入 显示
,
键盘驱动程序
网冈阿
窗口 窗口窗口
键盘消息
键盘消息
键?争件
’’
转换接口. .
?
. 用户界面窗口
,。潲‰然、卜 函数集 一
某输入法总控窗口
象
用户界面
。 ?
汉字
膏:
消息答辩洲 上二
// 缺省窗口
箕消皂
相
?~?/、 ,
所有输入法共享窗口
相关消息
,
//
应用程序
句柄
图. 基本工作过程
.
基于统一汉字扩充的输入法研究
第四章统一汉字扩充输入法的设计与实现
随着科学技术的发展,语言信息处理工作已进入人们的日常生活,并以日新 月异的速度发展。世界上所有国家都在不同程度地进行着本国语言的信息处
理工
作。对于任何一种文字信息处理系统来讲,包括中文、日文、韩文等,首先要
解
决的关键技术就是文字的输入技术。基于统一汉字扩充输入法的研究为进 一步加强中文信息处理做了重要的补充,是本课题重点完成的工作目标。 .四字节汉字 码与机内码的转化关系伍?
由于现行主流操作系统主要支持字节的汉字显示,因此,要想在其中输入 和处理字节汉字,就要清楚他们在 中的保存的方式及其与
之间的转换关系。例如汉字“糸”的码为,在 中发现其存储内码按进制数表
示为 ,而并不是,如何才能使码的转变为 是解决四字节汉字存储的关键
所在,经过研究发现,码和机内码之间有转换规则,将四字节 码减去,即得’一,然后将得到的’写成
二十位二进制形式:,那么的二进制编码格式就是 ,
,’的二进制为
将其代入的二进制编码格式中,,然后再
转化为十六进制: ,与中的存储码字相符。具体计算过 程如下:
,
’一,
,
’的二进制为:
代入二进制编码格式:,。
转换为进制:
内蒙古大学硕士学位论文
.
统一汉字扩充输入法的基本原理‘“汹
统一汉字扩充输入法的实现,最为规范的方式是利用所提供的输入法管理器
和输入法编辑器,即“脚/结构,使用
应用程序接口实现输入法编程技术原理,在平台下提供输入环境, 系统稳定性高,也是比较规范、方便的一种方式。但是输入法是与所有窗口
都有
关的系统级多语言支持组件,所以有许多不同于一般应用程序开发的特点,
相对
限制更多,处理过程也比较复杂。统一汉字扩充区汉字输入法程序是完成 输入法中键盘响应功能,配合系统的输入法管理器,对用户的键盘输入 做出响应并完成键盘码到汉字编码的转换。统一汉字扩充区输入 法程序适用于中文 .版
环境,编译环境为
本。
.
统一汉字扩充输入法的组成
统一汉字扩充输入法主要由用户接口和转换接口两部分组成,如图. 所示:
图.输入法的组成‘
’.
图中的窗口、,简称窗口、状态窗口、编码输入
窗口和选择窗口构成了输入法的用户接口 。这些窗口主要 基于统一汉字扩充的输入法研究
用来接收和处理由删发出的输入消息,提供与用户交互的界面。下面简单的 对这些窗口进行下介绍。
输入法转换接口 是一批可供或应用程序调
用的接口函数 集合,和应用程序通过调用这批接口
函数来实现从输入代码到机内码的转换和输入法状态的控制,也就是说,在
这里
实现从笔画、简笔和笔形码转换到汉字的过程。
..
窗口
我们开发的基于统一汉字扩充的输入法中利用了缺省的窗口。当 应用程序线程初始化的时候,操作系统会基于.中预定义的全局类 类为其创建一个缺省的窗口,此窗口对用户是不可见的,它管理着应用程序 中所有的可选输入法,处理着输入法中的用户界面和从、及应用程序发 出的所有控制消息,是为所有的输入法共享的一个窗口。
..
窗口
由于不同的用户界面体现了输入法程序的不同特点,因此每一种输入法程序 总是希望向系统注册自己的用户界面类。根据用户界面类创建用户界面窗口 及其组件窗口。用户界面窗口是一个具体的输入法的总控窗口,它是窗口的 子窗口。用户界面窗口的作用是接收由和应用程序发送来的消息,并根据消 息进行相应的处理。在用户界面窗口过程中,将根据当前的输入上下文具体
处理
消息,在此过程中可以调用缺省的窗口过程。因此,用户界面窗 口主要是针对输入上下文进行操作,输入上下文包含了与当前状态有关的所 有数据信息。参考这些信息,用户界面窗口才能创建相应的组件窗口并控制
其行
为。另外,它还创建状态栏窗口、编辑窗口和候选窗口,并保存这些窗口的基
本
数据。
中的消息主要分成两大类:在内的各个窗口间传递的消息和同 姗或应用程序问传递的消息。
、在的各个窗口间传递的消息:此类消息主要用于使的各个窗口 能协调工作。内蒙古大学硕士学位论文
、同或应用程序问传递的消息:这些消息主要在和或应 用程序问传递,便于向或应用程序报告状态信息、的动作等。这类 消息都以?的形式出现。这类消息有多种,其中有的消息还附带子 一
消息。
在窗口处理的消息响应中,主要使用的消息如表.所示: 消 息 介绍
?? 窗口的创建,主要是初始化变量和创建编辑和候 选窗口。
用户改变编码状态时,发送此消息通知。
????
编辑窗中编码结束时,发送此消息通知。
系统或应用程序通过此消息和它所带的参数来通
】『??
知改变输入法当前的状态。
缎? 当选择新输入法时触发此消息相应。
当应用程序被激活时,向消息相应激活输入法。 ????
当用户开始输入编码时,系统发送该消息到, 缎?
打开编辑窗口。
?? 当输入法结束时,进行窗口的销毁。 『?? 当编辑窗口被移动时候,调用此消息来改变编辑窗
口和候选窗口的位置。
表. 窗口处理的消息响应
.
该输入法中涉及到的 消息的子消息如下: 关闭状态窗口时,系统发送此消息
:
?: 打开状态窗口时,系统发送此消息 ?: 设黄输入法状态时,系统发送此消息 ?:设置编码窗口时,系统发送此消息 打开或产生选择窗口时,系统发送此消息 :
:
更新当前的选择窗口时,系统发送此消息 : 关闭选择窗口时,系统发送此消息基于统一汉字扩充的输入法研究
?: 设置选择窗口位置时,系统发送此消息
?: 设置编码窗口字体时,系统发送此消息
输入法运行机制就是窗口通过微软提供的输入法接口来处理消息响 应。下面对主要的几个接口函数进行简单介绍:
、:此接口函数在用户选择某个输入法时最先由输入法管理器 调用,以获得该输入法的有关信息,从而对输入法进行初始化。函数应返回输
入
法编辑器的初始化信息,在结构中设置当前输入法的各种属性,以及当 前输入法的用户界面窗口类名称。
、:接口函数在用户打开或关闭输入法时被调用。在
此函数中对输入法上下文内容进行初始化或恢复释放。 、:系统或应用程序通知输入法根据参数修改输入法的当前状态。 根据接口函数中状态值的不同产生不同的结果。具体如下: : 打开候选窗口。
关闭候选窗口。
:
从候选窗口中选择字符。
?:
?:设置候选窗口开始页号。
: 更新应用程序的信息的输入法信息。
?: 改变输入编码窗口中的输入代码。
、:此接口函数在某个应用程序窗口中打开了统
一汉字扩充输入法后在应用程序窗口获得或失去输入焦点时被调用。在此函
数
中可以获取当前的输入法上下文并通知输入法编辑器用户界面窗口组件,令其刷
新显示。
下面两个接口函数的功能是完成字符的处理工作,并且这两个接口函数一起
构成了键盘输入方式下输入法编辑器转换引擎的主体。
、:此接口函数由输入法管理器在处理键盘事件时调用。在
此函数中对键盘事件进行预处理,根据此函数的返回值,系统确定对于特定的输
入上下文来说此键盘事件是否应送交输入法编辑器进行处理。如果返回,
则表示应该先把键盘消息传送到输入法编辑器进行处理,所以输入法管理器会紧
接着继续调用 函数。如果返回,说明此消息不需要输入法内蒙古大学硕士学位论文
编辑器进行处理,输入法管理器将其直接送到应用程序。
图.主要接口函数
.
、:此接口函数只有当返回时才被调用。
它主要是根据输入法上下文的内容,使用输入法编辑器的转换引擎产生转换结
果,将相应的字符消息放入指定缓冲区中。返回值是产生消息的条数。
在笔画和简笔输入法中, 的简单工作过程为图.所示:基于统一汉字扩充的
输入法研究
函数返回
对字符分类处理
空格键
或数字 嚣鬻处理 的符号键 蓉个英文字母掣毕 键 ‘??一一
调用选择选择
调用符号处理 把输入编码转 调用向上翻页 调用向下翻页
窗口中字符的
函数 换成目标字符 函数 函数
函数
结束
图. 函数功能
.
键盘键弹起事件,此事件发生时输入法说明键已弹起,不
:
’
做其它处理。
图.是该输入法运行机制流程图,其中用到了以上介绍的相关内容。
内蒙古大学硕士学位论文
图.
统一汉字扩充输入法运行机制流程图?‘。‘四?.
基于【统一汉字扩充的输法研究
下面用统一汉字扩充笔画输入法为例对图.输入法运行机制流程图 进行简单的介绍,使读者对输入法的使用和内部运行机制有所了解。 当点击选择统一汉字扩充输入法时,系统从文件夹中找到
输入法的执行程序文件将其加载到内存中,触发 消
息响应。在
消息响应中,创建输入法所有使用的字体,为
以后将文字编辑窗口和候选窗中横排和竖排显示做准备。然后分别注册窗 口,编辑窗,候选窗:,状态栏窗口四个窗口,为输入法的四大窗口进行注册。 ?墨置四
匿璧鳖茁,型
图 图部首笔彤码输入法
然后就是消息循环机制的启动,接的初始化,编辑窗口、候选窗 口、状态栏窗口的初始化和创建。当一切都已经创建完毕后,状态栏窗几将
通过
注册表中的设置属性来显示当前输入法使用属性。为了转换两种不同的状态
进行
输入,需要触发状态栏窗口的消息循环束选择所需要的输入状态。当选择后,
输
入法送码的状态和状态栏的显示将有相应的变化。如图 所示: ?圃鲴墅墅班
至雯雯匝
圈 围笔画输入法到此,输入法已经准备就绪,等待用户输入编辑窗口中的码值。假如想要输
入汉字“?”,只需要连续输入该字的笔画符号即“”到编辑窗口。在这个过
程中.其触发到窗口,编辑窗口,候选窗口几个消息循环。首先,窗不被
触发,接受编码并存储到编辑窗中的变量数组中,同时触发编辑窗口的显示响
应。当编辑窗接收到编码后,通过已经接收的编码经过程序中的转换规则查找
到所有符合浚宁符串集合,并取出所有字符串集合存到候选窗口结构体中的数组
变量中。这样同时触发了候选窗口的消息循环,候选窗门首先选择一定数目的字
符串显示到窗口中,等待用户选择所要输入的内容。内蒙古大学碗七学位论文
囤 笔画输八法示例
当然,并不是所有的重码都显示出来,每页最多可以显示排,每排最多显
示个汉字.如果需要翻页才能找到所需要的字符串.这时可以点击翻页键来进
行向前翻页或向后翻页,而这只不过是改变了候选窗口中记录显示字符串起始位
置的变量,当找到所要的字符串时候,点击它的相应数字键标号,候选窗口就会
通过该标号和显示此编码的起始位置来计算出它所在候选窗口结构体中的位置,
并将该编码串存入输送编码的数组中,向系统发送输送编码的消息响应,这样所
要的编码就会送入机器中。
输入完成后,当退出输入法时,将会触发的 消息
响应,释放所申请的变量和空间,最后,输入法执行文件.腿从内存调出。编辑窗口
编辑窗口是显示当口击键情况的窗口,它是~个可见的窗口。在四个窗口的
消息循环中,编辑窗口消息循环的机制足最简单的。几乎所有的输入法中,编辑
窗口都是用来显示输入的字符串的,而并不需要特殊的功能。统一汉字扩充
输入法将编辑窗口与候选窗口合并为一个窗口柬进行处理。基于统一汉字扩充的输入法研究
候选窗口
候选窗口用于显示当前输入码对应的全部汉字字符,供用户选择或查询,它
足一个可见的窗:。候选窗口也按照中文的行款要求设计成横排显示,且每排显
示个候选汉字,方便读者使用。候选窗口的运行原理就比编辑窗口复杂一些。
因为它涉及到将编辑框中所输入的编码进行转换,将四字节汉字显示到候选
窗
口.提取出所需要的编码供用户选择,其中,因为四字节汉字不是 默认的识别汉字,所以还涉及到转换字体的问题.统一汉字扩充输入法的 候选窗:如图 所示:
图 候选窗口
它的显示汉字的过程如图.所示:内蒙古大学硕士学位论文 图.汉字显示过程.
本文设计的统一汉字扩充输入法是有重码的输入方式,用户可以按相 应的数字键来选择需要的字符或音节。所有重码不可能一次全部显示,部分
需要
翻页才能够显示,可以按“,’’“.键实现向前、向后翻页。 ..状态栏窗口
状态栏窗口是用于显示、切换输入法的状态,如中文/英文状态,输入方式 等信息。
本文设计的统一汉字扩充输入法有三种输入方法:笔画输入法、简笔 输入法和部首笔形码输入法。可以通过状态栏窗口选择不同的输入方法,如
图
.所示:
回氢丑碉回面至园圃
图.输入方式的选择
.
考虑到输入的方便性,可以进行汉文/英文的切换,如图.所示:基于统一汉字
扩充的辅法研究
【哥亚亚圈画面?硼
困.汉文/英文切换
厄
键,必须切换到英文状态
此外.在中文输入状态时,不能锁定
下才允许。一旦 键锁定之后,只能对英文进行大写输入操作,而不能 进行中英文之间的切换工作了,只有取消之后才能继续进行切换。 回面五圈回西豇圈
回塑甄碗回虱豇盈
囤 太写键锁定
关于窗口
为了标明该四字节汉字输入法的名称、版本、版权等信息,专门设计了关于 窗口.图.为统一汉字扩充输入法的关于窗口。
囝 关于窗口
内蒙古大学硕士学位论文帮助文件
码表的编码规则采用了“部首笔形码”,其中对每个汉字的偏旁部首都进行 了编码,为方便用户使用,在帮助文件中显示了每个偏旁部首对应的编码以
及各
个数字所代表的汉字特征码.此外.在帮助文件中还简单叙述了笔画输入法
和简
笔输入法的使用方法以及部分注意事项。该四字节汉字输入法的帮助窗口如
图
.所示
件?嘿书 迎选项咀帮助?
目录《 打?哩
四字节汉字输入法
笔画输入沾
筒笔输浊
部泞笔形码输入沾
囤帮助文件以上几个窗口都属于用户界面组建窗口,包括编辑窗口、候选窗口、状奄窗
口等。用户界面组件窗口对用户是可见的,用户通过它们与输入法交互信息。所
有的组件窗口都由窗口创建并拥有.处于无效状态,即不能获得输
入焦点,只能接收用户输入虬及对其进行编辑。组件窗口应该在输入法被打开时
创建,但这时可以不显示或只显示其中的部分组件窗口;在用户切换到其他窗口
时,组件窗几~般应当隐藏,直到与其有关的应用程序窗口重新获得焦点;在输
入法被关闭时所有组件窗丁被销毁。基于统一汉字扩充的输入法研究
第五章总结与展望
.
工作总结
语言是人类交际的工具,文字是记录语言的符号,语言文字的出现,印刷术
的发明,大大推进了人类文明的进程,社会越发展,人们对文化的追求就越加强
烈。基于统一汉字扩种的输入法的实现,为许多用字量大的汉字辞书、古
籍实现数字化提供了一种有效的录入工具,使原本束之高阁的典籍文献实现数字
化、走进寻常百姓的案头成为可能,从而为弘扬古老的中华文化打开了方便之门。
本文旨在利用计算机对统一汉字扩充区中的汉字进行输入处理,对实
现古籍的数字化提供一种录入工具。本文在完成以下几个方面的工作后,已经基
本达到了输入、显示统一汉字扩充区中汉字的目的。
、收集统一汉字扩充的字库。本输入法采用的是宋体一方正超大字符
集,该字库包括全部汉字以及在第二平面中选出的个在中国
大陆,香港特别行政区以及部分台湾地区使用的汉字。因此包括西文等常用字
符在内,宋体一方正超大字符集共包括个字符,这是目前见到的包含汉字
数目最多的字库;
、研究字库中汉字的特点,对汉字结构进行分析、拆分、归纳,制定出一
种便于操作、记忆的输入规则。经过对汉字的观察和实际情况的考虑,本输入法
采用了三种编码规则,即笔画输入编码规则、简笔输入规则和部首笔形码编码
规则,笔画输入法只要按照汉字的书写顺序将对应的键盘码输入,就能输出目标
汉字,而简笔输入法主要是基于笔画输入法的,在使用时只要输入对应汉字的前
四笔和后四笔,即可输出目标汉字,部首笔形码输入法需要将部首对应的编码
以及目标汉字的笔形码输入键盘,也可输出目标汉字,这三种输入方式都比较容
易操作。
、分析
,研究出用文本文件格式显示统一汉字扩充文字
的方法。在 操作系统中,四字节汉字的码是以一格式
存储的,该格式与之间的转换由系统自动完成,但是在输入法的候选窗
本文发布于:2023-12-29 17:36:05,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1703842566130662.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:基于CJK统一汉字扩充B的输入法研究(可编辑).doc
本文 PDF 下载地址:基于CJK统一汉字扩充B的输入法研究(可编辑).pdf
留言与评论(共有 0 条评论) |