首页> 中国专利> 汉字编码部件键盘兼并的零重码设计方法

汉字编码部件键盘兼并的零重码设计方法

摘要

本发明提供一种汉字部件键盘兼并的零重码设计方法,该方法首先把汉字部件划分为不可控配置部件和可控配置部件二类,划分条件是,首先确保更新后的所有不可控配置部件之间产生的键盘兼并重码为零,接着在二类不同配置部件间运行一种特殊设计的零重码汉字部件键盘兼并程序,以实现全部汉字部件的键盘兼并重码为零。这种部件间的选择性兼并设计方法可以最大限度地利用不同部件间的离散特性。然而零重码部件兼并不是人脑所能负荷,唯有在规避兼并重码的设计条件下,运行零重码汉字部件兼并程序,才可能把兼并重码科学地和理性地降至零,从而在5000常用字范围内、四码甚至三码长条件下真实地实施零重码字输入操作。

著录项

  • 公开/公告号CN106919269A

    专利类型发明专利

  • 公开/公告日2017-07-04

    原文格式PDF

  • 申请/专利权人 陈莉英;

    申请/专利号CN201610250312.7

  • 发明设计人 陈玉龙;

    申请日2016-04-20

  • 分类号G06F3/023;

  • 代理机构苏州翔远专利代理事务所(普通合伙);

  • 代理人刘计成

  • 地址 215000 江苏省苏州市吴中区龙港村10幢401室

  • 入库时间 2023-06-19 02:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-13

    授权

    授权

  • 2017-07-28

    实质审查的生效 IPC(主分类):G06F3/023 申请日:20160420

    实质审查的生效

  • 2017-07-04

    公开

    公开

说明书

技术领域

本发明涉及计算机中文信息处理领域,特别涉及一种汉字部件键盘兼并的零重码程序设计方法,籍此实现真实的零重码字输入操作,即所谓“盲打”字操作。

背景技术

当今中文输入法正向着汉字全面拼音化的趋势发展,这不仅会导致汉字输入永远落后于西方的拼音文字输入,甚至会对中华汉文化产生冲击。形码的优势是输入效果优于音码和笔码。至今落到边缘化的根本原因在于形码设计一开始走上了一条码表检索道路。从因果关系看,这个问题好像与码表关系不大,码表作为汉字检索工具,简单又直观,殊不知这不是明智之举。码表不仅捆绑了操作员手脚,同样也捆绑了设计者手脚。码表系统中,即使修改一个部件的键盘设置,也将涉及一大片码表更改,修改部件配置表很容易,修改码表很难,所以形码一般都是原地踏步,很难前进一步。形码设计应该走自动编码道路,不应把汉字键盘表作为编码检索工具,应把它作为汉字的信息源走程序设计道路。自动编码系统中,创建任何编码设计方案不仅更简单更灵活,修改编码设计也不再有后顾之忧,只需要修改部件配置表。同时又为零重码汉字部件的键盘兼并设计铺平道路。自动编码系统中部件兼并产生的重码是可以测定的,因而也是可以规避的,但实施零重码汉字部件的键盘兼并设计非人脑所能负荷,唯有在回避兼并重码的设计条件下,由系统程序实施部件间的选择性键盘兼并,这项工程只能由自动编码系统来完成。

通过汉字部件键盘兼并转换为可操作的码元是汉字编码的核心技术。不同的字汉部件兼并方式决定着系统的输入效果。目前汉字系统几乎都是按部件本身特征来配置键盘,属于一种“固定配置部件”。编码设计者无法控制这类配置部件的重码产生,如依据部件的双笔组合(五笔字型)配置键盘;依据部件的“音托”(部件名称的发音或其“称说”,如沈码)或“形托”来配置。上述配置方式一定程度上便于操作者对键位的辨识,即所谓“易记”方式。由于汉字构字特殊性,无论用双笔组合还是用音托、形托方式,都会有相当一部分部件无法按既定规则来配置键盘,这些部件配置依然要记忆。然而这种键盘配置方式必然会导致大量重码产生。为此,有人添加辅助码,有人则添加离奇的编码规则,重码降低了,输入速度也降低了。为此,有人提出降低重码是一个“误区”,以此来回避汉字编码设计中的这个难题。

发明内容

鉴于以上所述现有技术的不足,本发明的目的在于提供一种零重码的汉字编码部件键盘兼并的零重码设计方法,试图从根本上解决汉字编码设计中的兼并重码问题。

为实现上述目的及其他相关目的,本发明提供的汉字编码部件键盘兼并零重码设计方法,其中所述汉字编码既可以是单一部件信息,也可以还辅以字的拼音与笔划等综合类信息,其特征在于该设计方法包括如下步骤:在系统中采用了一种汉字部件配置键盘的新方法和一种零重码汉字部件键盘兼并的程序设计方法二项重要技术措施,以实现在设定的编码汉字表范围内和设定的码长条件下的零重码字输入操作,实施方法是,根据规避重码条件把汉字编码部件划分为二类:不可控配置部件和可控配置部件,二类部件分别作出不同的键盘配置,其中不可控配置部件按常规方式配置键盘,以便于记忆和操作,如根据汉字部件的首、次笔划配置于相应字符键,这类部件的键盘配置是固定的,不受零重码汉字部件兼并程序操控,选择不可控配置部件的条件是,不论是部件信息,或是包含有拼音和笔划等综合类信息,所有这些不可控配置信息的键盘兼并产生的兼并重码应为零,不可控配置部件以外的汉字部件都划归可控配置部件,可控配置部件的键盘兼并由系统运行零重码部件兼并设计程序作出选择,实施零重码部件兼并的设计条件是,这二类不同配置部件之间的键盘兼并产生的兼并重码必须控制在一个极低的系统设定值之内,符合此条件的键盘兼并测试系统被选定为零重码汉字部件键盘兼并实验系统,在系统设定值之内的个别重码字将取代与之键序操作一致的相应简码,以此确保实验系统的字重码率为真实的“零”。

优选地,划归不可控配置部件的方法为:首先,把全部汉字编码部件临时设定为不可控配置部件,根据系统设定的编码规则构建相应的键盘表测定系统重码,并在每个系统重码字组中取出一个组字部件,如果前面划出的部件中已包含有该重码字的一个组字部件,就无需再从中划出部件,跳过它取下一个重码字,直至所有系统重码字处理完毕;从重码字中被划出的部件都归入可控配置部件,其余所有部件,包括不产生重码的部件都留归不可控配置部件,经过部件更新处理后,所有的不可控配置部件以及拼音、笔划等不可控配置信息,它们之间产生的兼并重码应为零。

优选地,为了确保不可控配置部件和可控配置部件二类不同配置部件的键盘兼并产生的兼并重码接近零,按以下方法和步骤首先测出一系列零重码汉字部件兼并测试单元:

1)逐个地提取汉字的可控配置部件,测定它与各个键位的不可控配置部件的键盘兼并是否会产生重码,系统记录下不产生兼并重码的单个可控配置部件,于是各键位组建起一系列零重码单部件可容性兼并对;

2)接着根据零重码部件互容性兼并原则,即在同一键位的零重码单部件可容性兼并对之间才 具有提升为双部件互容性合成兼并对的必要条件,据此条件,并经兼并重码测定与筛检,把每个单部件可容性兼并对提升为一组双部件互容性兼并对;

3)同样方法,进一步提升可控配置部件兼并对至系统设定值。考虑到可控配置部件将被均衡标识于26个字符键键面,可控配置部件兼并对的系统设定值,不宜超过“4”,即提升至最高的互容性合成兼并对为4个可控配置部件,至此,组建成26个键位属下的一系列零重码汉字部件的兼并测试单元,并依次给各键位属下的每一个兼并测试单元赋于一个序号,如“A”键位属下的第1个测试单元的序号为Ja1,第n个测试单元的序号为Jan,同样,“B”键位属下的第1个、第n个测试单元序号分别为Jb1、Jbn,也因此把Ja~Jz分别设定为26个键位的零重码部件兼并测试单元的本地计数器,而这26个本地计数器的集合体便设定为零重码部件兼并测试系统的系统计数器J*。

优选地,经过系统测定,每个字符键均包含有一系列零重码汉字部件兼并测试单元,依次从每个键位取出一个兼并测试单元有序地组建成一个零重码汉字部件兼并测试系统,具体包括如下步骤:

1)依次取出的26个不同键位的测试单元而组建成一个零重码汉字部件兼并测试系统。测试系统中全体可控配置部件必须保持“互补性兼并”条件,即从各键位提取的零重码汉字部件兼并测试单元中不能有相同的可控配置部件;

2)接着测定其中每一个符合“互补性兼并”条件的零重码汉字部件兼并测试系统产生的兼并重码,系统程序将自动排除掉超过系统重码设定值的部件兼并测试系统,留下不超过系统重码设定值的测试系统被选定为“零重码汉字部件键盘兼并实验系统”。

优选地,零重码汉字部件兼并测试系统的检测条件是系统中26个键位的零重码部件兼并测试单元中无相同的可控配置部件,为达成这一条件又不遗漏掉任何一个可能的零重码汉字部件键盘兼并测试系统,在系统中创建二类计数器以保证测试过程有序而自动地进行:一类是本地计数器Ja~Jz,共26个,用以指示各键位系列中当前的零重码汉字部件兼并测试单元的序号;另一类是系统计数器J*,是系统26个键位本地计数器Ja~Jz的集合,其中“Ja”为最低键位,“Jz”为最高键位,系统计数器J*的计数特点:只有检测到当前键位的兼并测试单元和之前检测过的所有低键位当前测试单元中无一个相同可控配置部件,系统计数器J*才向相邻的一个高键位本地计数器进位,否则继续往下计数,直至该键位本地计数器计数至最高值,接着该键位本地计数器清零,系统计数器J*向相邻的一个低键位本地计数器进位,并继续往下计数,直到在该键位上搜索到当前键位测试单元和之前检测过的所有低键位当前测试单元中无一个相同可控配置部件,系统计数器J*才向相邻的一个高键位本地计数器进位, 这样的搜索过程直到系统计数器J*增至极限值,即26个本地计数器均计数至最高值,零重码汉字部件兼并测试系统搜索完毕,搜索到的零重码汉字部件兼并测试系统按系统计数器J*当前指示值,即26个键位本地计数器Ja~Jz的当前指示值,记录在“系统待测区”,等待作零重码汉字部件兼并测试系统的兼并重码测定。其中,兼并重码数不超过系统重码设定值的测试系统被选定为“零重码汉字部件键盘兼并实验系统”。

如上所述,本发明的汉字编码部件键盘兼并的零重码设计方法具有以下有益效果:该设计方法基本原理是籍助程序对部件兼并进行重码检测和规避处理。部件兼并产生的是“兼并重码”,通过程序设计是可以预先测定的,因而也是可以规避的,以达到最大限度地利用不同部件间的离散特性,其得益最大,付出代价几乎是零。然而零重码部件兼并不是人脑所能负荷。唯有在规避兼并重码的设计条件下,运行零重码汉字部件键盘兼并程序,由系统程序实施部件间的选择性兼并组合,才可能把兼并重码科学地和理性地降至零,从而在5000常用字范围内、四码甚至三码长条件下真实地实施零重码字输入操作。

附图说明

图1为本发明实施例的基本设计流程。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容了解本发明的技术特点与功效。本发明还可以通过另外不同的方式加以实施或应用,本说明书中的各项细节也可以基于不同应用场合,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明中相关的一些构件,而在实际实施时的构件内容与图示中描述的可能有所变化。本发明将通过这个设计方案来说明汉字部件键盘兼并的零重码设计方法。至今尚未查到类似的设计方法及其资料,为此这里对本发明从原理开始作较详细说明。

一,汉字离散性分析

汉字编码设计的目的在于,利用汉字特征信息(部件、拼音、笔划等)充分地离散汉字以利于机器能自动地识别不同汉字。因此编码设计的核心技术就是在易识别的编码规则、有规则的键盘配置与零重码部件兼并设计等编码三要素之间,找到一个互相依托的支撑点。

这里提出5000常用字、三码(或四码)的零重码字操作设计方案正是出于这种均衡性、实用性和可行性的综合考量。

字元(部件、拼音、笔划等构字元素)兼并重码是怎么产生的?以三码长字编码为例,如果字的首、次、末三个同序字元分别兼并于相同键位,这些字便构成重码字。只要其中一个 键序处于不同键位即可避免兼并重码。零重码部件兼并设计就是根据这一简单原理,但是要把数百个部件配置到26个字符键而不产生兼并重码就不简单了,非人脑所能负荷。

实施零重码字元兼并设计必须充分提升汉字离散性。否则,难以在易识别的编码规则、有规则的键盘配置环境下达成5000常用字、三码(或四码)的零重码字输入目的。

传统汉字系统提升离散性的措施通常是细化汉字部件拆分规则。部件划分越细,分配给每个部件的汉字数就少,其离散性就越好,但是大部件(高频组字部件)往往很难进一步拆分,所以增加部件数量未必是提升汉字离散性的有效措施,反而会增加操作难度。

那末,本方案将采取哪些措施来提升汉字离散性?

1,信息分类编码:充分利用汉字多信息类特征,采用综合信息(部件、声母和笔划等)编码可增加字的信息量,提升汉字离散性。其中的声母和笔划也容易分辨。

2,键序分级编码:不同键序级别下的汉字分别进行编码,可大幅提升汉字离散性。

对于一个真实的零重码输入系统,数字键已失去“选字”功能。键序分级编码系统将重新开发数字键功能:同一数字键视其不同键序位既可执行原始的数字或符号功能、代行笔划功能或作为辅助键替代“字结束键(Space)”,起到一键多功能作用(见下述表一)。

3,运行零重码部件兼并程序,籍助程序对部件兼并进行重码检测和规避处理,最大限度地发挥不同部件间的离散特性,是降低系统重码乃至实施零重码的最科学有效方法。

二,易识别的编码规则

编码规则关系到键盘操作的品质和效率。编码规则与汉字离散性往往有矛盾,“易识别的编码规则”会造成汉字离散性不足。为弥补离散性不足,本方案规则作了全面革新:

1,易识别的字体结构为编码要素:传统编码设计都把汉字直接拆分为部件。这种解析汉字的离散性虽好,但汉字结构复杂多变,难以确立明析的拆分规则,易产生歧义。拆分标准往往因人迥异,当今形码方案,几乎是一个方案一个标准,让人们无所适从。为此,本系统提供一种新的编码设计方案:回避直接部件拆分法,以人们容易辨识的字体结构为先导。在此基础上划定编码单体,并以大众熟悉的传统偏旁部首为主体字元,辅以汉字的其它类信息元素(声母、笔划等),构建5000常用字的编码字元表。这样一来,好处是小部件拆分改换为大部件拆分,汉字拆分规则中一些难鉴定,一直存在争议和歧义的问题较容易解决。不足处是,这种解析方法的编码部件数量较少,对于独体字仅一码,双体字也只二码,汉字离散性较差,因此要用字的其它类信息,如字的声母(Shift/字符键为代码)作补充,再辅以一个字末笔划(数字键1~5为代码),充分提升离散性。同时,笔划键充当“字结束键”。

2,汉字编码字元:

①独体字:5000常用字内有组字功能的独体字(成字部件)构成一类组字部件。

②类独体:为了便于用户对汉字字体结构的分析和编码,汉字拆分过程中,凡遇到既不属于有组字功能的独体字,又不属于偏旁部首,都将归纳为“类独体”部件。

③偏旁部首:独体字以外有组字功能的部件,也是人们查字典养成的习惯。

④声母:汉字声母按其辅音配置键盘(ch、sh、zh分别定位i、u、v)。

⑤末笔划:选择末笔作为辅助键是它与部件离散没有冲突,对提升汉字离散性有一定作用。

3,确立5000常用字编码规则:

①独体字(包含难检字):5000常用字内不论有组字和无组字功能的独体字以及按字体结构难以解析的字(所谓的“难检字”)以及少于三笔(含三笔)的字,均称之谓独体字。

②双体字:明显分为左右型、上下型、包围(内外)型二个单体的字,均称双体字。

凡属“交接型”结构的单体不再拆分为二个部件或单体,如“中”不拆分为“口”和“丨”。“相接型”结构单体除可明显拆分为二部件(如“另”可拆为“口”和“力”)的,一般不拆。

③三体字(或多体字):包含左中右型、上中下型、框内左右、框内上下等汉字,即使包含不止三个单体,均按三体字取码,按序取其首、次、末三个单体(部件)进行编码。

若双体字中的一个单体既不是独体字,又能被分解为二个独体字(或构字部件)或一个独体字和一个构字部件,则按三体字取码。三体字一般不作进一步拆分。

④双体或三体字的取码按其字体结构而非书写次序:先外后内、先上后下、先左后右。

⑤遇到与传统部件相似不相同构件(个别笔划有异),作模糊处理,按传统部件取码。

列出5000常用字编码的压键规则见表一。

表一:5000常用字编码的压键规则

注:表中所述重码,即是经零重码部件兼并设计程序处理后留下的个别重码;表中“X”为无效键。

三,汉字特征码信息结构

特征码汉字(编码)表分为字元表与键盘表二类。前者用于编码设计,后者用于编码操作。1,汉字特征码字元表(以下简称YG表)

构建特征码字元表(构字元素表),首先要设定汉字构字(编码)字元的代码表,依次分解汉字库(如GB2312)中的每个汉字。汉字特征码包括国标地址及特征单元二部份。其中所述的“国标地址”是虚拟地址,用来标示PC(处理器)地址到国标汉字的一种特定“映射”关系,用国标地址来映射汉字。在这里,有二种处理方式可供选择:

通常的程序处理采用汉字集成式字元表,因集成式字元表中汉字排列与字库地址(存放汉字国标码)都是连续的,一种简单处理方式,使二者的高位地址码保持区域差,而低位地址码则相同,通过(立即)寻址找出国标地址在字库中映射的国标码(汉字),简单直观;

确定编码字元和编码规则后,就可以构建5000常用字集成式编码字元表,作为实施零重码部件兼并设计系统的信息源,其示例见表二。

表二:5000常用字编码字元表(YG表)示例

注1,实际列表中字库采用GB2312,按国标码排序。示例是为体现5000常用字编码特征和分类;

2,辅助(字结束)字元栏中“00”标示为无效位。

当处理零重码部件兼并设计时,宜采用汉字分列式字元表,由于表中汉字排列是离散的,要设置一个地址转换器,其中的操作数存放字库中每个汉字的地址码,通过(直接)寻址找出它在字库中映射的国标码(汉字),直接便捷。

程序设计时,为使双字节国标码有别于单字节字符代码,免于机器难以分辨而产生乱码,系统中的国标码常用机内码替代。

2,汉字特征码键盘表(以下简称JG表)

为了实施有效的键盘输入操作,要在上述汉字特征码YG表基础上进行编码设计,即要对字元(部件)进行键盘兼并,设计一个高效高质的“字元(部件)/键位代码配置表”是一项艰难任务,但把特征码YG表转换为特征码JG表十分简单,通过变换字元(部件)代码为所属键位代码(如ASCII码),电脑将自动把YG表转换为JG表。因此JG表与YG表的结构相同,同样包含国标地址和特征单元二部分。

分列式特征码信息列表是一种开放型挂接式结构,处理信息快速灵活。它的一个重要特征:复合部件的分列式特征码键盘表可通过配置于同一键位的各个部件的分列式特征码键盘表的“或”操作直接生成,无需另建JG表,因而有利于零重码部件兼并程序的自动化处理。兼并重码是在JG表基础上测定的,涉及到各键位复合配置部件的急速变换,若不采用分列式 特征码列表结构,每次都要转换为集成式JG表再来测定系统重码,势必严重影响零重码部件兼并程序的自动化进程。分列式信息列表结构的这一特性将简化零重码部件兼并设计程序,加速系统程序的自动化处理。

3,设立字编码缓冲区。

字编码缓冲区包含国标地址和国标单元二部份。同上所述,国标地址映射汉字库。国标单元记录字输入信息。国标单元与特征码键位表(JG表)中的特征单元,二者结构与作用完全不同。特征单元是预先设定的系统信息源,与输入信息无关,信息单位是Byte(字节);而国标单元中的数据是输入操作决定的,记录的是输入信息与特征单元中相应键序信息的比对结果:“是”或“否”,其信息单位是Bit(位元)。

缓冲区的作用是储存输入信息、判别编码操作,在零重码兼并设计中参与重码监测过程。4,实施本方案要创建每一个部件、声母和末笔的分列式特征码字元表。

声母与末笔的分列式键盘表与其字元表是同一的(不存在键盘兼并问题),而部件的分列式键盘表即是配置于同一键位的复合部件表。

分列式部件表均可通过系统程序对其集成式部件表搜索和处理自动生成。以建立部件“口”的分列式列表为例,其生成步骤如下:

①从5000常用字编码字元表(表二)中依次搜索每个汉字的首键序是否属于部件“口”?若“是”,在其分列式部件“口”列表中该字控制码的相应位D0标记“1”。若“不是”,则保持“0”。

②同样方法,从YG表中依次搜索每个字的次键序和末键序是否属于部件“口”?若“是”,在其分列式部件“口”列表中该字控制码的相应位D1、D2分别标记“1”。若“不是”,则保持“0”。

部件“口”分列式特征码列表结构(示例)见表三。

表三:汉字特征码分列式字元(部件)列表结构(示例)

声母的分列式列表需分别列出其代码“Shift/A~Z”等26个不同声母及类声母的汉字表;末笔划的分列式列表需分别列出其代码“数字1~5”等5个不同末笔划的汉字表。

以上内容为实施本发明有关的技术支柱,下面是与本发明相关的实质性(主体)内容。

四,合理的键盘配置

键盘配置把字元转换为可操作的码元,也因此产生重码。规避兼并重码是编码设计的重要内容。

1,汉字系统中的重码分为固有重码和兼并重码:固有重码是字元码基础上产生的重码,而兼并重码是键盘码基础上产生的重码。

2,合理的键盘配置意味着在同等的记忆条件下,操作容易和重码最低。这里提出一种行之有效的汉字部件配置方法,在同样的记忆负担下甚至有可能把字重码降至零。实施方法:设计 者主动把编码部件划归二类:不可控配置部件和可控配置部件。二者不同配置部件分别作不同配置处理:

①不可控配置部件:一般按部件本身特点,如构件笔顺或其发音等特点来配置键盘。不可控配置部件产生的重码,无法运行零重码部件兼并程序来控制,但可以通过更新部件配置方式来规避重码,如控制配置部件范围和产生重码条件,也就是说,把其中的一部分不可控配置部件划归为可控配置部件,使更新后的不可控配置(复合)部件之间不再产生重码。由于不可控(固定)配置部件的键盘定位有规则可循,这类配置部件一般无需标识于键面;

②可控配置部件:不可控配置部件以外的编码部件均划归可控配置部件,将运行零重码汉字部件兼并程序与上述不可控(固定)配置部件作兼并处理,以此规避所有可控配置部件产生键盘兼并重码。可控配置部件的键盘配置无规则可循,为便于操作,拟应标识在键面。出于均衡配置,每个字符键面不宜超过4个,因此可控配置部件数量应控制在100个以内。

3,那么,究竟如何规划上述二类不同配置部件?

首先把全部编码部件暂定为不可控配置部件,从中选定组字率最高的一个部件(如独体字“口”),定位于“Z”键,其余部件按首次笔划配置在“A~Y”等25个键位中的相应键位。为此,建立一个“不可控(固定)配置部件键盘表”,见表四。

表四:不可控(固定)配置部件键盘表(按标准键盘位置列表,配置部件均按首次笔划定位)

根据表四,把YG表转换成JG表,即把YG表中的部件代码改换为所属键位代码。前面曾说过,若系统中采用的是分列式信息结构的YG列表,无需把YG表转换成JG表。从不可控(固定)配置(复合)部件键盘表(表四)中搜索同键位的所属部件,通过这些分列式YG表的“或”操作即可直接生成相应键位的分列式JG表。

4,搜索系统重码。搜索系统固有重码是在汉字字元表(即YG表)基础上展开的,而兼并重码是在汉字键盘表(JG表)基础上展开的。

搜索固有重码:

在汉字编码字元表(表二)中搜索出首字元、次字元、末字元以及辅助字元等信息都相同 的汉字,便构成系统固有重码。由于部件的离散率大大高于码元,因此固有重码一般极少。

搜索兼并重码:

①从5000常用字编码字元表(表二)中排除固有重码字。把其余所有字列为“重码监测字组”,并把指针指向其字组的第一个字作为“当前重码监测字”进行兼并重码监测。

②检出“当前重码监测字”的首键序、次键序、末键序、辅助键序等信息,根据“不可控(固定)配置(复合)部件键盘表”(表四)中各个键序信息所属键位。找出配置于所属键位的各字元分列式YG列表,把列表中相应控制码为“1”的字分别置入字编码缓冲区该字国标单元的D0、D1、D2、D3位。

③搜索字编码缓冲区国标单元,其中D0D1D2D3均为“1”的汉字即为“当前重码监测字”的兼并重码字,记录这些字在系统设定的“重码列表”。若没有搜索到D0D1D2D3均为“1”的汉字,说明该“当前重码监测字”不存在兼并重码。

④接着把系统缓冲区清零,并检出“重码监测字组”中的第二个汉字移入“当前重码监测字”作以上相同监测。直至“重码监测字组”中最后一个汉字移出为止。“重码列表”记录有搜索到的所有兼并重码。

5,分析“重码列表”与划定二类不同配置部件

实现零重码字操作的条件是系统重码降至零,方法是调整每个重码字组中一个部件的配置地位。依次从“重码列表”找出每一组重码字,如果其中没有发现改编后的可控配置部件,一般地把其中的高频组字部件改编为可控配置部件。这是因为组字频率较高的部件产生重码的几率一般也较高,因此调整重码的效果也较好。除此以外的编码部件留归不可控配置(复合)部件。调整后的“不可控配置部件”与声母及末笔等其它“不可控配置信息”之间产生的重码应降至零(固有重码除外)。接着,被划出的“可控配置部件”与调整后的“不可控配置部件”将运行零重码部件兼并程序把系统兼并重码降至零。

五,零重码汉字部件兼并测试单元

零重码汉字部件兼并测试单元是创建零重码汉字部件兼并测试系统的基本测试单位。

1,规划了不可控配置部件和可控配置部件,接着要进行二者不同配置部件间的键盘兼并。参与零重码兼并测试的汉字只是包含可控配置部件的双体字和三(多)体字。声母和末笔划要参与零重码兼并测定,但它们与部件属不同键位、键序特征,二者间不作兼并,实施键盘兼并只是在可控配置部件与不可控(固定)配置部件之间。

2,参与零重码字元兼并测试的字元有二部分:

一是将被测定(兼并)的可控配置部件。这里假定参与测定的可控配置部件不足80个。根据可控配置部件均衡分配原则,系统可控配置部件设定值为其部件实际数量的1/26,这里可控配置部件的系统设定值取“3”。Y0即为可控配置部件列表(表五纵列所示)。

二是经过重码测定与分析,更新后的不可控(固定)配置字元列表Y1(表五横列所示)包含有Ya~Yy和Yz等26个键位列表,更新后的复合配置字元之间经过系统测定不会产生兼并重码。这是确保系统重码为零的一个必要条件。

为了有序地测定一系列的部件兼并测试单元,拟建一个“可控配置部件与不可控(固定)配置部件之间的零重码部件兼并测定图表”是有助的,其示例见表五。

在此基础上测定出每个键位的不可控(固定)配置(复合)部件表Y1与每个可控配置部件Y0之间是否产生兼并重码?籍此完成整个零重码汉字部件兼并测试图表(表五)的测定。

表五:可控配置部件与不可控(固定)配置部件之间零重码汉字部件兼并测定图表(示例)

注1,横向列表Y1标示不可控配置(复合)部件兼并键盘后的相应键位代码,纵向列表(Y0)为可控配置部件代码。

2,图表中“X”标示二者不同配置字元兼并后有重码,空格标示没有重码(本图表仅是示例,非实例)。

为了兼并处理和重码测定能有序地进行,系统给每个键位在测定零重码兼并测试单元时设立一个本地计数器Ja~Jz。测定之前,本地计数器Ja~Jz置“0”。

3,独体字、双体字的编码都辅以声母信息,各有独特的键序操作(分级编码),它门之间不会产生兼并重码,也不会与三体字产生兼并重码,因此测定零重码部件兼并测试单元只需在同一字体内进行。独体字、双体字及三体字既可以分别进行兼并重码测定,以便提高测定效率,也可以合并一起进行兼并重码测定,以便简化程序设计,二种测定结果是相同的。这里将以双体字进行兼并重码测定为例,叙述可控配置部件与不可控配置部件二者之间的零重码部件兼并测试过程,通过这项测试,检出其中一个键位的不可控配置(复合)部件与一个可控配置部件的兼并不产生兼并重码,而成为零重码单个(可控配置)部件可容性兼并对,并在此基础上逐步提升零重码可控配置部件的兼并率,直至达系统设定值(这里系统兼并率设定值选定为“3”),即完成一个零重码可控配置部件兼并测试单元的测定,同时该键位本地计数器增“1”。4,测定零重码汉字部件兼并测试单元与搜索兼并重码是不同的,零重码部件兼并测试单元属二者不同配置部件间的兼并重码测定,要把可控配置部件的兼并率提升至系统设定值:

①从表五中取出Y1列表中的a键位复合部件列表Ya,Ya与Y0列表中01号可控配置部件Y01(如:部件“扌”)作兼并,二者兼并后的更新复合部件列表(Y=Ya+Y01)将是不可控配置分列式复合列表Ya加入可控配置部件Y01分列式列表(二者的“或操作”)。从“5000常用字编码字元表”(表五)中检出具双体字特征(其末键序是声母信息)的汉字作为“重码监测字组”。这些字有可能因Y1与Ya兼并而产生兼并重码。把其中的第一个汉字移入“当前重码监测字”开始作部件兼并重码监测。

②检出“当前重码监测字”的首键序信息,找出该信息所属键位(更新后的)分列式复合部件列表。检出列表中D0=1的所有字移入字缓冲区同一字(相应国标地址)国标单元D0位;

③检出“当前重码监测字”的次键序信息,找出该信息所属键位(更新后的)分列式复合部件列表。检出列表中D1=1的所有字移入字缓冲区同一字(相应国标地址)国标单元D1位;

④检出“当前重码监测字”的末键序信息,找出该声母的分列式(Shift/字符信息)列表。检出列表中D2=1的所有字移入字缓冲区同一字(相应国标地址)国标单元D2位。这里需要注意的是末键序信息对双体字来说属字的声母;

⑤最后检出“当前重码监测字”的辅助(字结束键)信息,找出该字末笔的分列式(数字1~5)列表。检出列表中D3=1的所有字移入字缓冲区同一字(相应国标地址)国标单元D3位。这里需要注意的是辅助键序对双体字属字结束键。

⑥搜索字缓冲区国标单元的D0D1D2D3均为“1”的汉字,即为“当前重码监测字”的兼并重码。有二种情况需分别处理:

一是没有搜索到D0D1D2D3均为“1”的汉字,说明该“当前重码监测字”不存在兼并重码。接着把系统缓冲区清零,并检出“当前重码监测字”中的第二个汉字,并把它列为“当前重码监测字”作以上相同监测,从②开始。直至“重码监测字组”中最后一个汉字移入“当前重码监测字”,若都没有产生兼并重码,说明二者兼并不会产生重码,表五中相应格不作标记,并在此合成兼并对(即把原来的合成字元Y重新定义为Ya)基础上“提升”下一个可控配置字元(部件)Y02,作新的合成兼并对Y=Ya+Y02的监测,从①开始。

二是若搜索到D0D1D2D3均为“1”的汉字,说明该“当前重码监测字”因二者兼并而产生了兼并重码,表明零重码兼并监测失败。立刻停止当前监测,在表五相应格作出标记“x”。并在原有合成兼并对(即原来的合成部件Ya)基础上把Y01“换成”下一个兼并部件Y02,作新的合成兼并对Y=Ya+Y02的监测,从①开始。

直至表五中最末一个可控配置部件合成兼并对Y=Ya+Y4FH的监测完成,表五a键位系列作出相应可行性“兼并”标记。

接着监测b键位的合成兼并对Y=Yb+Y1,------直至表五b键位系列的最末一个可控配置部件与不可控配置(复合)部件二者兼并监测完成。------

直至表五的最末一个可控配置部件(如“廴”)与尾键位(Z)系列的不可控配置(复合)部件,二者的合成兼并对Y=Yz+Y4FH全部测定完成,如同表五中所示。

虽然完成整个表五的过程很繁杂,但并不十分复杂。均由系统高速循环程序完成。

5,完成了表五制作,只是实现了单个可控配置部件与固定配置复合部件间的零重码部件兼并测定,必须提升可控配置部件兼并率至系统设定值(如“3”),即逐步提升至Y0的三个可控配置部件合成兼并对,成为一个零重码可控配置部件兼并测试单元。步骤如下:

①以测定后的表五为示例。可以看出A键位固定配置(复合)部件Ya构建零重码单部件兼并对的可控配置部件有:Y01、Y03、Y06、Y08、Y0A、-------等部件,属Ya的可容性兼并部件。而Ya与其它可控配置部件如:Y02、Y04、Y05、Y07、Y09、Y0B、-------等部件之间的兼并测定会产生兼并重码。在Ya单部件可容性兼并对基础上逐个地提升为双部件互容性兼并对,并作提升后的兼并测定。

②搜索表五中Ya的可容性兼并部件,列出全部的单部件可容性合成兼并对,如Y=Ya+Y01、Y=Ya+Y03、Y=Ya+Y06、Y=Ya+Y08,------,根据零重码部件互容性兼并原则,即在同一Ya单部件可容性合成兼并对之间才具有提升为双部件互容性兼并对的必要条件。据此条件,把每个单部件可容性兼并对提升为双部件互容性兼并对。提升后的双部件互容性兼并对:

Y=Ya+Y01升至Y=Ya+Y01+Y03、Y=Ya+Y01+Y06、Y=Ya+Y01+Y08、Y=Ya+Y01+Y0A------,Y=Ya+Y03升至Y=Ya+Y03+Y06、Y=Ya+Y03+Y08、Y=Ya+Y03+Y0A、Y=Ya+Y03+Y0C------,Y=Ya+Y06升至Y=Ya+Y06+Y08、Y=Ya+Y06+Y0A、Y=Ya+Y06+Y0C、------等双部件互容性兼并对系列。并逐一地对每个提升后的双部件兼并对作兼并重码测定(方法同上)。淘汰产生兼并重码的双部件兼并对,留下不产生兼并重码的双部件互容性兼并对,并在零重码双部件互容性兼并对基础上再进一步提升为三部件互容性合戍兼并对。如果系统设定的零重码兼并测试单元的兼并率为“3”,那末,经互容性测定后的三部件兼并对就是一个待测定的零重码兼并测试单元。如果系统设定的零重码兼并测试单元的兼并率为“4”,那末,要继续把三部件合成兼并对提升为四部件互容性合成兼并对。测定方法和步骤是相似的。一旦完成一个零重码兼并测试单元,相应键位本地计数器(Ja)增“1”。------直至Ya与最末一个可控配置部件的零重码兼并测试单元测定完成。此时,该键位本地计数器(Ja)增至最高值。

③接着同样方法完成其它键位的固定配置复合部件Yb~Yz的零重码部件兼并测试单元的系列测定。至此,26个键位本地计数器(Ja~Jz)都增至最高值,但各键位的计数值是不同的。所有26个键位的每一个零重码兼并测试单元都有各自本地计数器的一个序号。

最终产生的零重码部件兼并测试单元数量将是十分庞大,这庞大数量或许是必要的,因为一个零重码汉字部件的键盘兼并系统就是在众多部件相互兼并的夹缝中产生的。重要的是,在不遗留任何一个零重码测试单元的同时,把运行零重码部件兼并程序限定在有限时段之内。

六,组建零重码汉字部件兼并测试系统

组建零重码汉字部件兼并测试系统的一个基本条件,就是各键位的零重码汉字部件兼并测试单元间不应包含有相同的可控配置部件,遵循测试系统部件“互补性兼并”条件。

被测定的26个兼并单元Ya~Yz,其中每个键位都包含有一定数量的零重码测试单元(系列)。为了从中疏而不漏地组建零重码字元(部件)兼并测试系统,接着要在26个不同键位的零重码测试单元系列之间进行互补性兼并条件检测,这也是组建零重码测试系统的一个必要条件。检测方法如下:

1,这里设定另一个计数器:系统计数器J*。它只是26个本地(键位)计数器的集合体,其中Ja为低键位,Jz为高键位。J*进位模式和普通计数器稍有不同。

2,从26个兼并测试单元系列中取出Ya系列中的第一组兼并测试单元(Ja增至为“1”),同时又取出Yb系列中的第一组兼并测试单元(Jb=1)。接着检测它们二组之间有无相同部件?若有,则Jb增“1”(Jb=2),取Yb系列中的第二组兼并测试单元,继续检测它和Ya的当前测 试单元(Ja=1)二组之间有无相同部件?------直到发现当前的这二组测试单元之间没有一个相同部件,即符合部件互补性兼并条件,同时Jb本地计数器停止计数,随即系统计数器J*进入高键位(Z方向)开始计数,即Yc本地计数器Jc从0增至“1”(即Jc=1);若Jb计数至尾值(最高值)依然存在有相同部件,即全部测试单元都不符合互补性兼并条件,Jb返“0”,但不是往高键进位,而是往低键进位(A方向),即Ja增“1”(Ja=2)。接着如同上述计数那样作互补性兼并条件测定,直到发现当前的这二个测试单元间无相同部件,即二者符合互补性兼并条件,系统计数器J*才进入高键位计数(Jc=1)。

3,接着取出下一个键位Yc系列中的第一组兼并测试单元,检测它与前二组(Ya、Yb)之间有无相同部件?若有,本地计数器Jc计数增至“2”(即Jc=2),取出Yc系列中的第二组兼并测试单元,并检测它和Ya、Yb当前测试单元之间有无相同部件?若有,Jc继续计数(Jc=3),若Jc计数至尾值(最高值)依然存在有相同部件,即当前三个测试单元Ya、Yb、Yc之间依然不符合互补性兼并条件,Jc返“0”,Jb增“1”。接着J*继续计数,并作互补性兼并条件测定,直到发现当前的这三个测试单元之间符合互补性兼并条件,系统计数器J*才进入高键位计数(Jd=1)。

4,从Yd取出第一组兼并测试单元,同法处理。------直至检出第26个键位Yz中的首组零重码兼并测试单元(Jz=1),并检索和前面25个键位中检出的当前测试单元(本地计数器指示值)中有无相同部件?若有,当前本地计数器Jz增“1”,即取当前键位的下一组兼并测试单元,继续检索和前面检出的所有测试单元中有无相同部件?若无,则把该键位计数器Jz指向当前兼并测试单元。至此,找出了首个符合互补性兼并条件的零重码字元(部件)兼并测试系统。把即时的系统计数器J*当前计数值(即26个键位本地计数器Ja~Jz的当前计数值)列入“零重码系统待测区”,编号为“待测系统#1”。

5,不论Jz测试单元中有没有找出和前25个键位测试单元中有无相同部件,只要Jz本地计数器计数至尾值,Jz即刻返回至“0”(Jz=0),即Yy本地计数器Jy增“1”(也即系统计数器J*增“1”)。接着按此计数规则继续往下计数。如果本地计数器Jy、Jz计数至尾值都没有发现符合互补性兼并条件的测试单元,同样,系统计数器J*向低键进位,即本地计数器Jy、Jz返“0”,而Jx增“1”,J*继续往下计数。

6,总之,根据互补性兼并条件,搜索零重码字元(部件)兼并测试系统过程中,遵循一个原则:只有检测到当前键位测试单元和之前所有的当前测试单元(本地计数器指示值)中的兼并部件无一个相同部件,系统计数器J*才向高键进位,否则和普通计数器相同,往低键进位。直至 系统计数器J*增至极限值(26个键位的本地计数器都计数至最高值)。检测到的符合互补性部件兼并条件的零重码测试系统均按系统计数器J*当时的指示值有序地记录在“零重码系统待测区”,等待作零重码部件兼并测试系统的最终重码测定。

七,零重码部件兼并测试系统的重码测定

“零重码系统待测区”中每一个符合互补性兼并条件的测试系统只是符合了零重码汉字部件兼并系统的一个基本测试条件,并不是充分的。接着要逐一测定“零重码系统待测区”中的每一个部件兼并测试系统实际产生的兼并重码及其数目。首先确定系统重码设定值(如设定值为“5”),然后从5000常用字YG表中排除一级简码字以及独体、双体和三体字中消释的固有重码字,列为“重码监测字组”。把其中第一个字移入“当前重码监测字”进行重码监测。待测系统的重码测定与前面所述的兼并重码搜索方法基本相同。

1,从“零重码系统待测区”中检出“待测系统#1”(根据待测区中J*指示值更新待测系统)。待测系统汉字键盘表即为各键位的不可控配置部件和可控配置部件二者组成的复合部件键盘表。前面说过,复合部件的分列式键盘表可通边配置于同一键位的各个部件的分列式键盘表的“或”操作生成。根据键盘表即可测定兼并重码,具体步骤:

①检出“当前重码监测字”首键序信息,搜索“待测系统键盘表”中该信息所属键位。找出配置于所属键位的各部件分列式列表,把其中控制码D0=1的字置入编码缓冲区该字国标单元D0位。

②检出“当前重码监测字”的次键序、末键序、辅助键序等信息,分别搜索“待测系统键盘表”中各键序代码所属键位。找出配置于所属键位的各部件分列式列表,把其中相应控制码为“1”的字分别置入系统字编码缓冲区该字国标单元D1、D2、D3位;

③搜索字缓冲区国标单元,其中D0D1D2D3均为“1”的字即为“当前重码监测字”的兼并重码,被记录在“重码列表”。只要其中有一位是“0”,说明该字不存在兼并重码。

接着把缓冲区清零,并检出“重码监测字组”中的第二个字移入“当前重码监测字”作以上相同监测。直至字组中最后一个字移出为止。“重码列表”记录有搜索到的重码字。

2,接着把“重码监测字组”中第二个字移入“当前重码监测字”进行上述同样的重码监测------,检测到的重码字存入“重码列表”,一旦“重码列表”中记录的重码数超过系统设定值,立即取消当前系统重码测定,转向“零重码系统待测区”中下一个兼并测试系统。如果没有超过,重码测定继续进行。直至“重码监测字组”中最后一个字的兼并重码测定完毕,从中列出低于系统重码设定值的汉字部件兼并测试系统作进一步的消释系统重码处理。

3,接着从“零重码系统待测区”中检出“待测系统#2”。同法测定出它的系统重码。直至从“零重码系统待测区”中检出最后一个兼并测试系统和测定出它的系统重码。

4,依次列出重码数低于系统设定值的零重码部件兼并测试系统及其重码列表,采用下述方法消释其中系统重码,并作为“零重码汉字部件兼并实验系统”进入实际操作和检验。

八,消释系统重码(固有重码和兼并重码)

实际上,系统可能还会出现极少量的固有重码和兼并重码,尤其是独体字重码。虽说独体字数量不多,加之声母与末笔的离散,产生重码的几率很小,但独体字编码信息中的汉字部件(只有部件能转换为可控配置地位)仅占一个键序,其它的声母和末笔键序都属不可控配置字元,无法更新键盘配置。双体字键序中,部件也仅占二个键序,最终也可能留存极少量重码无法靠更新键盘配置来化解。为此都可采用简码校正法来消释留存的个别重码:

重码属独体字:选择其中符合键序操作的重码字作为一级简码;

重码属双或三(多)体字:可选择其中符合键序操作的重码字选为二级简码。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。熟悉了本发明的技术人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此一切在本发明所揭示的精神与思想下完成的等效修饰或改变,仍应由本发明权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号