[0021] 以下结合附图通过实施例对本发明特征及其它相关特征作进一步详细说明,以便于同行业技术人员的理解:
[0022] 如图1-2所示,图中标记1-2分别表示为:折1、插2。
[0023] 实施例:本实施例具体涉及一种汉字编码输入法,该汉字编码输入法通过把汉字字形为数字进行汉字输入,主要原理为:曲小数、直是一;折偶插奇超即分;撇在首位成整6;
点位对称等于0。
[0024] 本实施例中的汉字编码方法具体为:
[0025] (1)将汉字的字形与数字建立如下对应关系。如图1所示,“折1”指的是汉字笔画的弯折部,图中四个部分分别对应表示一折(<)、二折(<<)、三折(<<<)以及四折(<<<<),即“么”字具有一个折1、“页”字具有两个折1,“瓦”字具有三个折1、“口”字具有四个折1,“折1”在图1中由圆圈框出标记。如图2所示,“插2”指的是汉字笔画的交插部,图中四个部分分别对应表示一插(十)、二插( )、三插( )和四插( ),即第一部分具有一个插1,第二部分具有两个插2,依此类推,“插2”在图2中由圆圈框出标记。
[0026]
[0027] (2)若汉字为单体字,根据汉字的字形结合其笔画数顺序并按上述字形对应关系进行数字编码。
[0028] 例如:八,该按上述字形对应关系属于点位对称,其编码取0。
[0029] 火,按其笔画顺序,该字拆分为两点间的点位对称和撇、捺间的点位对称这两部分;每个部分均取0,因此火字的字形数字编码为00。
[0030] 丫,按其笔画顺序,该字拆分为点、撇间的点位对称和一竖这两部分;点位对称取0,一竖取10,因此丫字的字形数字编码为010。
[0031] 羊,按其笔画顺序,该字拆分为点、撇间的点位对称、一横和两插( )这三个部分;点位对称取0,一横取1, 取5,因此羊字的字形数字编码为015。
[0032] 关,按其笔画顺序,该字拆分为点、撇间的点位对称、一横和一插(十)这三个部分;点位对称取0,一横取1,一插(十)取3,然后关字具有不对称的一撇和一捺,因此各取0.3,而由于撇、捺属于相同类型可以相加,因此一撇一捺取为0.6,因此关字的字形数字编码为
013.6。
[0033] 羔,按其笔画顺序,该字拆分为点、撇间的点位对称,一横、一插(十)、一横和四个点;点位对称取0,一横取1,一插(十)取3,一横取1,四个点由于不对称,取四个点之和,即0.1+0.1+0.1+0.1=0.4,因此羔字的字形数字编码为0131.4。
[0034] 首,按其笔画顺序,该字拆分为点、撇间的点位对称,一横、位于“口”内的四折(<<<<)、“口”内的两横以及位于“口”上方的一撇;点位对称取0,一横取1,四折(<<<<)取8,两横取2,一撇取0.3,因此首字的字形数字编码为0182.3。
[0035] 兼,按其笔画顺序,该字拆分为点、撇间的点位对称,一横,两个三插( )、一个倒“匚”内的二折(<<);点位对称取0,一横取1,两个三插( )取77,二折(<<)取4,因此兼字的字形数字编码为01774。
[0036] 瓦,按其笔画顺序,该字具有一横、一竖钩的一折(<),一横折弯钩的三折(<<<),两个弯折钩以及一点,一横取1,一折(<)取2,三折(<<<)取6,两个弯折钩取0.2+0.2=0.4,一点取0.1,那么瓦字的字形数字编码为126.5。
[0037] 再,按其笔画顺序,该字具有一横、一个两插( )、一个三折(<<<)以及一个两插(),一横取1,一个两插( )取5,一个三折(<<<)取6,一个两插( )取5,那么再字的字形数字编码为1565。
[0038] 己,按其笔画顺序,该字具有一个倒“匚”内的二折(<<)以及竖弯钩的三折(<<<),二折取4,三折取6,因此己字的字形数字编码为46。
[0039] 已,与“己”相比,已字的竖弯钩在倒“匚”位置出头,因此具有两个三折(<<<),所以已字的字形数字编码为66。
[0040] 巳,与“已”相比,巳字的竖弯钩在倒“匚”位置封口,因此具有一个四折(<<<<)和一个三折(<<<),所以巳字的字形编码为86。
[0041] 当一个汉字具有若干点、若干弯、若干撇或若干捺时,相同类型的笔画所对应的小数相加;然后按汉字的笔画顺序摆放各小数在字形汉字编码中的次序,即笔画在先,小数靠前,笔画在后,小数靠后。
[0042] 例如:豸,按其笔画顺序,该字拆分为一撇,两个不成点位对称的点,三撇,一竖弯钩;一撇取6,两个点属于相同类型的笔画,便将两个点所对应的字形编码相加,即0.1+0.1=0.2,同理,三撇为0.3+0.3+0.3=0.9,一竖弯钩取0.2,此时,按豸字的笔画顺序依次摆放各小数在字形汉字编码中的次序,因此豸字的字形数字编码为6.292。
[0043] 当一个汉字的折或插的数量超过四时,将大于四的部分拆分并构成两位字形汉字编码,其中前一位是折或插的数量为四时所对应的字形汉字编码,后一位是折或插大于四
的部分所对应的字形汉字编码。
[0044] 例如:聿,按其笔画顺序,该字具有五个插以及一个倒“匚”,此时,将五个插拆分为一个四插和一个一插,而四个插的字形汉字编码是9,一个插的字形汉字编码是3,而一个倒“匚”的字形汉字编码为4,因此聿字的字形汉字编码为934。
[0045] 凹,按其笔画顺序,该字具有八个折,此时,将八个折拆分为两个四折,而四折的字形汉字编码是8,因此凹字的字形汉字编码为88。
[0046] 当汉字的折、插在一笔里面时,两者相加。
[0047] 例如,也,按其笔画顺序,该字具有两个一插(十),两个二折(<<),然而因为这两个一插和两个二折都是由同一笔的一竖弯钩和同一笔的一竖形成的,因此每个一插均可以和每一个二折相加,即3+4=7,因此也字的字形汉字编码为77。
[0048] 当汉字具有弯折钩时,用“弯”所对应的字形数字编码补注,且补注在该汉字的字形数字编码的最后一位。
[0049] 例如,乙,按其笔画顺序,该字分为三折(<<<),且具有弯折钩,则补注0.2,因此乙字的字形数字编码为6.2。
[0050] 此处额外需要说明的是:由于单体字的字形复杂,可能会拆解成五个或五个以上的部分,但由于五个数字足矣代表一个单体字,因此一般取五位数字即可,剩余的部分省
去。例如,兼字还具有一撇一捺的点位对称取0,其字形数字编码应为017740,但01774已经构成五位,因此点位对称所对应的0略去。
[0051] 当汉字的字形数字编码出现重码时,通过补位的方法可进行有效处理。一般而言,出现重码的汉字大都是以成对的形式出现,例如“土”和“士”、“未”和“末”、“凹”和“凸”、“日”和“曰”等。为了区分以成对的形式出现的两个重码汉字,在编码时,可采用“正、负”的概念,约定其中一个汉字为其原本的字形数字编码,而另一个汉字,在其原本的字形数字编码后补注0.1,从而区分重码的两个汉字。
[0052] 以“土”和“士”为例,就笔画顺序以及字形编码规则而言,两者的字形数字编码均为31,无法区分。因此在编码时,可以约定“土”为正,即保留其原本的字形数字编码31,同时约定“士”为负,而后在“士”原本的字形数字编码31后补注0.1,使“士”的字形数字编码改变为31.1;这样一来“土”与“士”的重码问题便得到解决。此处额外需要说明的是,在编码时,同样可以约定“士”为正,其字形数字编码为31,“土”为负,其字形数字编码为31.1;也就是说,所谓正负是两个重码的汉字之间的相对关系,约定重码的两个汉字中的任意一个为正,那么就保留该汉字原本的字形数字编码,而另一个即为负,则在该汉字原本的字形数字编码后补注0.1,就可有效处理重码的情况。
[0053] 以上述的方法进行类推,下表为若干单体字的举例说明:
[0054] 表一(第一位数字为1)
[0055]卜 10.1 厂 1.3 疒 1.33 六 10.1
下 11.1 卞 11.2 不 11.31 上 12
亡 12.1 丁 12.2 干 13 门 14.1
万 14.3 方 14.4 于 15 开 15.2
牙 17.3 石 18.3 亢 18.4 立 101.1
平 103 工 111 止 112 云 112.1
正 113 占 118 点 118.4 豕 120.9
玄 122.2 王 131 主 131.1 无 134.2
页 140.3 五 151 瓦 126.5 与 161
百 181.3 可 182 西 185.22 更 198.6
亚 1110 业 1101 丐 1116 丏 1124
非 1133 韭 11331 互 1221 竖 1152.3
再 1565 雨 1900 而 1611.3 豆 1801
面 1822.3 画 1834 酉 1851.22 高 1868
商 10608 临 11681
[0056] 表二(第一位数字为2)
[0057]二 2 厶 2.1 又 20 礻 21.2
衤 21.3 亍 22 幺 22.1 了 22.2
买 23.3 疋 211.6 示 220 彑 221
矛 222.3 丑 231 马 261 甬 265.1
[0058] 表三(第一位数字为3)
[0059]三 3 十 3 土 31 士 31
斗 3.2 头 3.3 大 3.6 巾 36
米 300 卫 411 耳 313 老 334.3
丧 3012.6 赤 3120.3
[0060] 表四(第一位数字为4)
[0061]刁 4.1 习 4.2 刀 4.3 匕 4.32
尸 4.3 尺 4.6 户 4.4 贝 40
卩 41 永 42.7 且 43 子 43.2
孑 43.1 孓 43.3 见 44.3 已 46
尹 45 司 418 羽 4040 匡 4131
[0062] 表五(第一位数字为5)
[0063]卄 5 廾 5.2 寸 5.1 才 5.3
犭 5.32 戈 5.12 丈 5.22 夫 5.23
长 50 甘 51 农 72.6 女 53
车 55 中 58 由 58 丹 56.3
求 500.1 书 524.1 东 550 发 55.5
皮 55.3 冉 556 朿 560 虫 581.1
[0064] 按汉字的笔画顺序,其第一笔为撇时,汉字的字形数字编码第一个数取6。
[0065] 例如,人,按其笔画顺序,该字分为一撇、一捺,且一撇为人字的第一笔,则一撇为第一笔时取6,一捺取0.3,因此人的字形数字编码为6.3。
[0066] 么,按其笔画顺序,该字分为一撇、一个“厶”,一撇为么字的第一笔取6,一个“厶”取2.1,因此么字的字形数字编码为62.1。
[0067] 以撇字为第一笔的若干汉字的字形数字编码以及首位字形数字编码为6的汉字,如下表举例所示:
[0068] 表六(第一位数字为6)
[0069]久 62.3 乏 62.4 千 63 牛 65
失 65.5 夭 63.5 毛 69.2 爪 610
川 611 乍 613 欠 620 乎 650.2
朱 650 生 651 彳 661 矢 613.5
乞 616.2 气 626.2 同 618 禾 630
几 68.2 氏 625.2 冈 630 月 663
豸 6.292 身 663.3 用 665 向 668
白 681 自 682 饣 622 攵 6130
片 6112 全 6131.3 缶 6134 年 6115
尓 6220 采 6030 乌 6261 鸟 6261.1
龟 6289 先 6314.3 丢 6312.1 血 6412
舟 6560.2 斥 6611.1 后 6618 臼 6811
舞 61927 鬼 68542 禹 68671
[0070] 以上述的方法进行类推,继续为若干单体字的举例说明:
[0071] 表7(第一位数字为7)
[0072]丰 7 卅 7.3 耒 70 力 7.2
为 7.5 必 7.3 也 77 申 78
史 78.23 肀 74 扌 7 韦 74
弗 7784 春 781.3
[0073] 表8(第一位数字为8)
[0074]口 8 乃 8.3 日 81 曰 81
艮 821.6 目 82 田 83 四 82.3
甲 85 民 825.2 果 870 凹 88
凸 88 电 874.2 足 811.6 母 8250
毋 8277 黑 85014
[0075] 表9(第一位数字为9)
[0076]专 9.1 屯 94.2 内 9.3 甫 96.1
吏 98.4 事 9784
[0077] (3)当汉字为包含两个单体部分的多体字时,先取其部首的字形数字编码中的第一个数,然后在该数之后进位加入一个空格,接着按笔画顺序再取该汉字的另一单体部分
的字形汉字编码进行收尾。
[0078] 当汉字为上、下结构的多体字且其上、下两部分均为部首时,取其上部为部首;若汉字为左、右结构的多字体且其左、右部分均为部首时,取其左部为部首。
[0079] 例如,郯,按其字形结构,其右半部分为部首阝,部首阝的字形数字编码为41,之后郯字的左半部分“炎”为剩余部分,而炎由于具有四组点位对称,因此其字形数字编码为0000,此时郯字的字形编码即为4(空格)0000。
[0080] 阿,按其字形结构,其左半部分为部首阝,部首阝的字形数字编码为41,之后阿字的右半部分“可”为剩余部分,而可为一横、一竖弯钩和一“口”字结构,三者分别取1、2、8,因此阿字的字形数字编码为4(空格)128。
[0081] 以上述的方法进行类推,下表为若干多体字的举例说明:
[0082] 表10
[0083]郯 4 0000 郤 4 008 隧 4 0120 隘 4 0141
邠 4 013 郑 4 013.1 郸 4 085 邝 4 1.4
邛 4 111 邶 4 1121 邳 4 111.4 陪 4 118.3
阽 4 118 障 4 1183 陔 4 12.62 邺 4 120
郅 4 1231 阿 4 128 邗 4 13 郊 4 13.5
防 4 14.4 陟 4 141.4 鄢 4 1460 邢 4 15.1
鄌 4 1548 鄹 4 1562 鄘 4 1565 鄄 4 1583
酃 4 1788 陌 4 181.1 隙 4 182.4 隔 4 1860
郭 4 187.1 鄗 4 1868 阬 4 18.4 邴 4 19.1
邪 4 19.3 陋 4 192.1 祁 4 21.2 邓 4 23
陉 4 212.1 际 4 220 阮 4 24.3 陛 4 2431
郦 4 2600 陝 4 300.3 邽 4 3131 隋 4 3162
隨 4 3162 郄 4 332.1 郗 4 339 随 4 362
陵 4 3105 郝 4 3102 陡 4 311.6 都 4 3381
陇 4 35.1 阻 4 43 那 4 45 邵 4 48.3
陀 4 45.1 郡 4 458 郏 4 50.3 邯 4 52
陆 4 54 阵 4 55 陈 4 550 阱 4 55.2
陷 4 6282 郐 4 622.4 险 4 611.6 隆 4 6161
酂 4 6640 卸 4 650 降 4 657 附 4 65.1
郛 4 67.3 陂 4 55.3 队 4 6.3 郎 4 61.2
阶 4 61.6 除 4 6150 邱 4 614 郃 4 618.3
邸 4 625.1 邻 4 62.5 阡 4 63 鄱 4 6383
郜 4 633 邬 4 6461 郇 4 6481 陲 4 6561
陶 4 6634 阪 4 665 郫 4 6853 隍 4 6813
鄚 4 683.1 隗 4 6854 邦 4 81 鄙 4 8388
陨 4 84.4 邮 4 85 邲 4 7.3 酆 4 7741
限 4 81.6 隅 4 856 隰 4 844.6 鄂 4 8826
郪 4 9453 鄞 4 991
[0084] 此处额外需要说明的是:由于多体字的字形复杂,可能会拆解成六个或六个以上的单体部分,但由于六个数字足矣代表一个多体的汉字,因此一般取六位数字即可,剩余的部分省去。例如,鄗字还具有位于“高”字顶部的一点,其字形数字编码应该为4 1868.1,但4(空格)1868已经有六位,因此0.1的小数部分略去。
[0085] (4)当汉字包括两个单体部分以上的多体字时,先取其部首的字形数字编码中的第一个数,然后在该数之后进位加入一个空格,接着按笔画顺序再
[0086] 取该汉字其余单体部分的第一个数,之后再以最后一个单体部分的剩余字形数字编码进行收尾。
[0087] 其中,“再以最后一个单体部分的剩余字形数字编码进行收尾”指的是,当某一多体字的部首加空格以及先前各单体部分的首位所组成的字形数字编码不足六位时,采用该多体字最后一个单体部分的剩余字形数字编码进行收尾,以使该多体字的字形数字编码构
成六位,从而降低重码率。
[0088] 例如,酂,按笔画顺序分为部首“阝”和“先”、“先”、“贝”这四个部分,以字形数字编码规则,部首“阝”取首位4,“先”取首位6,“先”取首位6,“贝”先取首位4,此时“酂”字的部首加空格以及各单体部分的首位所组成的字形数字编码为4(空格)664,共有五位,不足六位,因此按“酂”字的笔画顺序,取其最后一个单体部分,即“贝”的剩余字形数字编码进行收尾,以使“酂”字的字形数字编码构成六位,“贝”字剩余部分为点位对称的“人”取0,那么“酂”字的字形数字编码为4(空格)6640。
[0089] 但,包含两个部分以上的多体字也遵循于字形数字编码超过六位时,超过六位的部分省去这一规则。
[0090] 例如,“瀛”,按笔画顺序分为部首“氵”、“亡”、“口”、“月”、“女”、“凡”,这六个部分,以字形数字编码规则,“氵”取首位0,“亡”取首位1,“口”取首位8,“月”取首位6,“凡”取首位6,那么“瀛”字的字形数字编码为0(空格)18656,为七位编码,超过六位,此时最后“凡”这一单体部分所取的6就应省去,所以这样一来,“瀛”字的字形数字编码为0(空格)1865。
[0091] 也就是说,当某一多体字的部首加空格以及各单体部分的首位所组成的字形数字编码正好为六位时,就不再以该多体字最后一个单体部分的剩余字形数字编码进行收尾。
而当某一多体字的部首加空格以及各单体部分的首位所组成的字形数字编码超过六位时,
省去其超过六位的部分的字形数字编码。