形控模块缩写汉字输入法技术领域 本发明属于计算机汉字输入法技术领域,特别是一种字形输入法。
背景技术 一般字形输入法的主流均是将汉字拆分为一二百个,或更多的部件(字根),将它们纳入26个左右的部,并将26个英文字母分别赋予各部。也就是被纳入各部的部件都有了与各该部相同的代码。既然组成某一特定汉字的各部件都已有代码,那么这个汉字也自然可以在这个基础上,按各种输入法的不同的规则,来确定它的代码。
这个道理简单明了;但是实践起来难度极大。
第一,因为一般方法对这26个部的设置,名称,代码的设置,部件的归属,都缺乏科学的、严谨的规律,任意性大,因此对设置,名称,代码的设置,部件的归属的记忆,只能靠硬记死背。
例如:王码规定,F部有“土士二干十寸雨”七个字根。为什么是这七个字?它们合成的部有名称没有,为什么编码为“F”,和它们什么关系?这些都不必知道;只知道要硬记死背F和这七个字,还要背同样的25句。而且还要会用,就是看到字根就能指出它在哪一个部。因此,很多人望而生畏,或学而不成,就选择拼音输入法了。
在本发明中,F用来作“厂”部的代码,因为F和“厂”字形相近只差一小横。“厂”的部下很容易找。“广,尸、户、”都是;“皮、虍”也是;“反”的左上旁也是。只要“字形相近”,没有别的更适合的部可去的,都集中在此。这7个字(元件)中为何选“厂”即为其代表?这是因为“厂”是最简单的,也就是最基本的字形,其它字都是“厂”的衍生或变体。
所以这七个字和为什么称为“厂”部,为什么以F为代码,就不需要死记了。这就是“见(字)形编码”。这个“厂”部还只是26部中的一部。26个部整体更是有理性的,有序的,科学的组合。
第二,必须把由若干部件在二维平面上组成的汉字,拆分开来,作线性排列;然后才能把记忆中的部件的码应用到全部或选定的部件上,从而把汉字变成线性排列的英文字母,从而完成编码,才能与计算机的键盘相结合。
各种字形输入法的拆分、排列和选定部件的方法,各有不同,各有其规则和规定。汉字输入者必须在拆分和编码上作得和所采用的输入法一致。否则,把与输入法不一致的编码输入计算机显然是无用的。
但是字形输入法的拆分方法的说明和规则也常是细致复杂的。王码的拆分说明,在不同的书中多少有所不同;但至少是以万字计的。练习和记忆这些拆分说明也需要很大的工作量和记忆量。
在本发明中采用模块缩写法。将汉字拆分为模块,拆分后生成的单位大了,拆分的变化就少了,需要的规则也少而简单。而且缩写只需首码。所以绝大多数的字,一眼看去,就可以看出三个模块,看出首码,可以“见字编码”。
发明内容
汉字由笔画组成成字的途径是:笔画-元件-模块-偏旁-成字-再成字。从笔画、元件、模块、偏旁中都有成字和非成字,但是越往后非成字的比例越小。
汉字是以字组字的。前一字是后一字的字根。后一字如还能衍生成字,它也成为字根;如不能,则是“终字”。前一字也有它的字根;向前推,从笔画到偏旁都是字根。所以众多汉字应有若干最基本的字根。他们是笔画加上最基本的元件。
一因此,在本发明中首先编成26个能覆盖汉字楷书中所有元件的基本部。这26个部的部首也就是楷书字形的“最基本的元件和笔画”,代表组成汉字楷书的基本形,并能和键盘上的26个英文字母键形成1对1的固定衔接。为达到这个目的,经过以下的科学分析和严格推理:
A经过对汉字生成的探讨和分析,确定以下原则:
表一基本部首表
(编码及分部首)
1最基本的元件,也就是基本几何图形,是由基本笔画以及它们的,最简单的,而又是楷书中最喜用的“组合”及“组合的部分”形成。
2基本笔画就是横、竖、撇、捺、点、翘。其中横、竖、撇是形成汉字架构的主要笔画,(捺基本上是和撇配套使用的;翘基本上需与竖结合使用;点,是附加件)。
3所以基本笔画形成的组合只有横竖组合,撇捺组合,横竖撇组合。横竖组合中楷书最喜用的是“十”,“口”和它们的“部分”。十的“部分”有上、下两部。口的“部分”有四角和四缺。
4据此,将探索基本几何形的顺序,定为:横组、竖组、横竖组(包括十组、口角组、口缺组)、撇捺组、撇横竖组、点组,依序探索各组内所能形成的组合。
5探索穷举的结果得出各组的基本几何形,列于表一:
横组为:一、二、三;四横则并入三横内。
竖组为:竖、并、翘;三竖并入“三”部内。
十组为:十、上、下;
口角组:口、厂、角;口字四个角,“厂”为左上,“角”为右上。“辶”为左下,但笔顺在最后,不能作部首。右下角用毛笔书写不便,从不使用。所以只用两个角。
口缺组:门、心、卧;口缺一面为“缺”。缺口向下为“门”;向上为“心”;卧倒,则缺口朝左右,为“卧”。
撇捺组:撇、捺、人、交;两撇列入“二”部;三撇列入“三”部。八字为撇捺组合,命名为捺(利用N码)。撇捺靠拢,点接为“人”;再靠拢,相交为“交”。
撇横竖:折(二折)、转(三折以及四折)将一长条纸板,向下一弯成“折”,成一锐角。再“转”向上一弯成三节,为“转”。不论形成的角度,或哪一节是横或竖或撇。
只要是三(或四)节构成,都纳入“转”部。
点盖组:点、盖(形似锅盖)“点”部字太多,故将以“盖”为首的字分出。
至此,可能构成的基本图形已全部在此,共23个。还有三个空额,采用日、月、大,三个字形突出,使用较广的成字为基本型。
理解了设置26个基本部的思路和原则,和“横、竖、十、口、撇、捺、折、点”的顺序,使用者就会觉得这是理有必然,则事有必至,不靠无理由的死记也能导出这26个部来。
B 26个基本部的命名及代码
各部的汉字名称必须能概括该部的内涵才能容易地被记住;并希望该名称的汉语拼音首码能被用作该部的代码;这样基本部的代码就很容易的被记住了。但因不可重码;所以不能26个部均如此。
多次调整后其结果列于表1。共有16个部是用该部名称的汉语拼音首码作为代码;6个部是从形,其基本图形与代码字母相同或相似。两个部,“十”和“人”使用英语Cross和Human的第一个字母为代码。还有两个部是会意:“月”圆为O;A最“大”。这样26个部的内容,名称和代码就都很容易记得了。这就为汉字与键盘密切联系打下基础。
二本发明将,从《新华字典》所有的字,除去异体字、繁体字、方言字以及个别的,实在罕见的古地名,古生物名等,所得到的约6600余字,分解得出的约二百个元件纳入26个基本组,不靠死记,而是“字以形聚,大同小异,变体延伸,突出特征以及借用简体,连笔等等”将各元件理性的归属于各基本部。使用者理解了归纳的原则和方法,就可以不靠死记,也能同样地看到元件就知归属于哪个基本部。
具体做法是:
1首先是依常规,即依元件的规范写法和笔顺按照其首码归入相应的基本形部。所以,根据基本形延伸的自然列入。如“一”延伸为“草”字头,二延伸为“礼(示)”字旁。大部分的元件是这样决定归属的:例如十(木);人(金);上(止土);下(王、雨、西);日(日、目、田);丿(亻、禾)等等。
但是,为了便于见字编码,采取“形控”,就是以字形控制编码为原则,某些部和部分字的归属就以 突出字形的架构和特点为主。忽略笔顺或理性的改动或简化一些规范笔画,以使编码更简单,使用者也就更容易见形编码。作法列举于下(上节的“依常规”也是“形控”):
2基本型的变体,例如“卧”部的匚的两角可以变为非直角,上下两直线的长度可以变为不等长;直线可以在角顶出头。如“丘”的外围,这三种变化都有,仍然属“卧”部。
还有,冂可以有门几风冖等变体;欠的上旁与“角饣包”等字的上旁,也都是大同小异的变体,可以收到一个部里。
更大的变化如,“二”部的“二”,移作偏旁成两点,将“冫”字部,“疒”字部收入“二”部。如二横变为二斜,则将彳、犭收入“二”部;然后,“豕、豸”也跟着犭进入。同理,“三”部也就包括了三点,三竖,三撇,三折等所有的三笔相同的部件。
3将架构大同小异的元件编入同一基本形部,如前述的“厂”部,和它架构相似的,除“疒”外都已收入。“大”部各也是如此收入了“有人字形天花板的”上层部件。
4突出字形特征:如果“竖”在元件中直通上下,就可以不顾其他,以“I”为其首码。符合这一条的,不仅是元件,连巾、申等字也都收入(仅忄为一个大部之首不能收入)。这样只要看见字旁中有一“竖”,顶天立地,就可肯定其首码为“I”。“Q”也是如此将翘提高到首码以突出字形,可使见形编码更容易。
5利用简化字的延伸以简化编码如“坚”字中的“臣”字,已被简化为两竖,属“并”字部。因此在本输入法中将“熙”,“卧”与“坚、贤”等并列,其中的“臣”字也按“并”部编码。
6利用连写简化编码。例如“采”字头,连写成为“折”字部。
三汉字需要分割成元件,然后才能把元件的代码结合上去,形成汉字的代码。如何分割,现有各种输入法各不相同,也相当复杂。
本发明采用特有的“模块缩写法”。将汉字分为三个模块,每一模块不论内容复杂或简单,全部代码有多少,只取首码。三码构成该汉字的输入码,如同英语的缩写,如GDP一样。
1如何将汉字分割成三模块编成三码;首先要研究汉字组成的途径和方法。知道如何组成,就知道如何分割了。
汉字由笔画组成成字的途径是:笔画-元件-模块-偏旁-成字-再成字。
汉字组成的过程是以字组字。一种是从最简单的笔划和元件起,增加笔画,一笔一划地扩充,可称为结合字,多是用于组字过程的开始。另一种是增加已有的模块,可称为组成字,用于组字过程的后期。
例如:一→十→土→王→主→注柱住…等,在前面是结合字,后面就是组成字了。
又如:“刀”下面加“口”为“召”,左边加“日”为“昭”,下面再加四点为“照”,则全为组合字。
由于本发明之要求将汉字分割为至多三模块,对模块的大小没有限制。小到一个基本元件,大到成字都可以。所以“昭”字自然切割为“日,刀,口”三个模块。而“照”字就要切割为“日、召”和“四点”,三个模块,以适应三码。
2如何分割
组成字,由模块组成,已分割清楚,不存在问题。照是典型;模块间的间隙横平竖直。非典型的如:圣、眉、旬、周等,模块间的间隙不那末平整;但无碍分割。
结合字,笔划连接需要分割。但是结合字的构成也离不开基本元件,还是可以分割为模块和元件的。其结合的方式有点接、搭接和嵌入以及融合等。点接和搭接很容易分割。嵌入和融合,掌握了26个基本型也不难分割。例如:内是人和冂的搭接。柬是四嵌入了木。未是一嵌入了木。占是上与口融合。我字可以中断,拆为撇、翘和戈。胤是幺和月插入“并”的当中。亟是了插入叹的当中,分开来是“了、叹、一”。
3模块的排列与部首的选定
组成汉字的模块通常有横排(自左到右,成列)和竖排(自上至下,分层),以横排居多。编码的顺序也是自左而右,自上而下。
两模块的排列简单;就是1+1,两列或两层,组成该字的前旁(左旁或上层)和后旁(右旁或下层)。通常前旁是部首,取一码;后旁是偏旁取两码。部首如在后旁也只取一码;大部的部首永远只取一码。
有些部首也做偏旁,如羊字。这类字,两字相并,要决定出哪一个是较强的部首,取一码。如难分高 下,则以位在前旁的为部首。
三模块常见的排列方式为:1+2,对横排是一列加上第二列的两模块重叠竖排。对竖排则有2+1,如“监”字。三列或三层即1+1+1也常有。无论哪种形式都是三块各取首码,不存在问题。
四模块有很多是成字加部首组成。如果原来的成字是1+2,将2合并为1很容易地就解决了。如果是1+1+1,就需要去掉最后两码中的一个,通常是尾码。
4编码时抓大放小忽略一些小挂件,平台,托盘,忽略点、顿、短横,只取主要架构可以使编码简化,有利于见字编码
小挂件:如“黹”字只取“业+巾”,很快就可以编成“bim”。同理,“弊”就是“iab”。
平台:如“前”字,如分解为“丷、一,月,刂”,则超出三码。故以“丷、一”组合为一个元件,则仍为三码,编码为“noq”。
又如“贵”字,其构成为“中一贝”编码iyo。加了部首为“溃”字,增加一码,就需去掉一码。保留架构,舍掉平台,故其构成为“氵、中、贝”三个模块,其编码为“sio”。
由于26个基本部的名称、字形特点已与键盘上的英文字母密切地,理性地结合;所以分割完成后,见字编码就不成问题了。
四分部与总字表
26个基本部是按“大同小异,字以形聚”的原则组建的。但在部内还要因“小异”设立分部,才能使汉字更好地以形聚。例如,在F部就有厂、广、尸、户、反、虍六个分部。各分部的编码都是F,但为了有区别加上附加码。其中,厂为主部首,其附加码为a;其余五个分部的编码依次为Fg、Fk、Fd、Fp、Fy(虍下旁是“七”字,编码为yu)。它们的附加码可以看出都是和字形有联系的。
以最小的分部虍的分部字表为例:虍字的编码与其部首码Fy相同,但输入码均为小写。以它为前旁的字均收集在此(其中有一个非字偏旁噱),共8个依英文字母码序排成一行。
其中有6个还可以衍生成字,被称为字根,并各自再成一行,依码序列于“虍”下如表2。
每个字根的衍生字均列于其后,并显示它在组成各该衍生字时的代码。例如虎字:它以前旁位置组成彪字;但因为后旁彡是个部首,所以代码取两码;大写为FM,表示位于前旁。
虍字处于后旁的字也都聚集于此。在“唬琥”中,前旁是大部首,位于后旁的自然是两码,用小写字fm表示它是在后旁。在虢字中,因为前后旁都是偏旁,所以前旁比照部首取一码,后旁取两码。但在篪褫两字中,因为是三模块字,每块都是一码。
可以看出,编码大写的字都是以虍为首码的,可称为分部部首虍的直系字。编码小写的字都是以直系字为偏旁的字,它的归属要看前旁的首码。好像是女儿外嫁,生下孩子要从夫家的姓;所以称为旁系字。
直系字和旁系字合起来就概括了在6600多的汉字中所有含有“虍“元件的字。
将F部的各个分部字表合起来依码序排列,就得出F基本部的字表。将26个基本部的字表会合一起就得出这6000余字的有序的总字表。
表2虍的分部字表
总字表是有序的,其中每个字均按码序有规定的位置。所以可以用于检索,编字典,代替“姓氏笔划为序”。还可以帮助学习汉字,“学1个字可以知道10个字”,不认识的字也可很容易地查字典。
在此仅指出,如果打字者在编码上有问题,可以在总字表中查出本输入法对该字是如何编码的。
五重码问题
键盘上26个英文字母可以组成17576个不同的三码组合。但由于汉字的生成中对部件的使用不均衡,所以6600余字只占用了约6000多个码;一方面,尚余一万多的码未使用;另一方面,有500多个字进入已被占用的400多个码,形成多字一码,即重码。但大多数都是两字一码,最多四字一码。
本输入法中,除26个基本部首为一码加空格外,所有的字均为三码(两码字则加一个空格键也是三码)。所以每三击(键)显示一个字。再击就开始下一个字了,中间无需空格键。
如遇重码,则显示大面积的选字框。由于编码相同的字常为2个,最多为4个,所以选字也是看一眼就可选定。
选字框中重码字按常用程度排列。最常用在最前,它的选字键是26个字母,数字和标点符号中任一个。所以对于这个最常用的字只要照常输入,在连续打下一个字的首码时,它就同时被选定了。这种情况(约有200个码)基本上不影响连续打字。
一个码代表了两个常用字的情况大约不到100个,则第二常用字将排在第二位。这时只要揿空格键就可选定它。如果它的后面还有非常用字,可依序揿Shift键、Ctrl键,即可选定。
所以,如遇重码,只需在选字框出现后,在较多的情况下可以继续打;较少的情况下需按以键即可;对打字速度影响不大。
如何消灭重码 如果对500多个字增加一码:分部首重码的,增加附加码,改用两码;偏旁重码的由两码改为三码;就可避免重码。但可能给输入者增加麻烦。所以可以在计算机内,除三码字库外,增设这500多字的四码字库,并以Alt键为切换键,供输入者选用。
六多码方案
在同一“26基本部”方案下,可以采取任何多码方案。例如,部首取两码,偏旁去三码不仅可消灭重码,而且字形更有序,可以用于汉字编序,检索。
具体实施方式
1使用“型控模块缩写汉字输入法“向计算机输入汉字需理解和掌握表一:
即首先理解表一中26个部的形控编制原则,并进行试编。
然后理解26个部的名称,及与键盘上26个英文字母键的等同关系;
然后理解表一中各基本部内的各分部是如何按形控原则编入各该部的;
2对汉字进行切块编码,先易后难;即先试容易分割的组成字,后试简单的结合字,然后试复杂的结合字。
遇有问题,可以从总字表中查阅该字在本输入法中是如何和为什么这样编码的。
3经过上述熟悉阶段,就可以上机使用,以表一和总字表为助。在使用中熟悉编码后,就不用这两根拐杖了。全过程中要按形控原则,从理解中掌握记忆,无须不理解的死记硬背,就可以将汉字与键盘上的字母键固定地结合起来。