《华升汉字编码》 —— 一种数字化的汉字编码系统
麦世基
一、前言 《华升汉字编码》简称《华升码》(专利申请号:96101649.3),是一种以阿拉伯数字为代码的、在《四角号码》基础上发展起来的汉字编码系统。编码的依据是汉字部首和字根,以产生单字或字组的代码,输入/输出计算机,达到打字或检索的目的,并可从中领会字义及其结构的艺术性,做到与汉字学习相辅相成。所以《华升码》直观性好,易于见字识码,见码识打,也便于从代码到单字的反推导。相对而言,它更适合于不善汉语拼音的人和古汉语工作者使用。对于具有中国小学毕业汉语水平的人,只须经过4小时教学或者8小时自学便能掌握,每分钟能打15个汉字以上。《华升码》严格遵循现行的有关标准,完成了GBK 21000个汉字以及120000个字组的编码。 二、定义 一)“字元”:它相当于《新华字典》(《字典》)的部首或字根,或者 相当于《汉字部件规范》的“部件”。 二)“单元字”:不可进行“有理拆分”的字,例如:农、直、口、日、月、元、木、水;笔画复杂、难以划分“字元”的字,例如:爨、龜、慶、寧、壽、夀。 三)“双元字”:由二个“字元”组成的字,例如:昌、明、林、植、远、遠、炎。 四)“三元字”: (一)“简单三元字”:三个字元相同或相似并且都只有一位码,或三个字元有序排列的、其中2个字元各有一位码的字,例如:品、众、毕、幾。 (二)“復合三元字”:对称排列或半对称排列的、对称字元最少各有2位码的字,包括: [一]“对称三元字”:三个字元相同的或三个字元有序排列的字,例如:晶、森、矗、焱、鑫、粥、辨、辦。 [二]“半对称三元字”:在三个字元之中,须有二个相同并起码各有二位自然码,例如:谈、唱、倡、霖、奎、淋、器、肅、螽、輟。 [三]“不对称三元字”:一个字元包含着另一个字元的字,例如:裹、衷、街、術、衡、微、徽。 注:“微、徽”等字是本系统特定的三元字,另外归入一般双元字。 (三)“三元部件” “双元字”的一个字元为“对称三元字”或“半对称三元字”或有序排列的相似部件,例如:“燊、蕊、儡、簫”等字中的“焱、惢、畾、肅”以及“赢、贏、羸、齊、機、繼、夔、巒、燮”中的有序排列部分。 注:根据上述原则,“草、笑、哭、皆、冀”等字都不属于“三元字”,也不含“三元部件”。 五)代码的类别:“自然码”就是某个“字元”的全部代码。“有用码”就是从“自然码”中采集的代码。“无用码”就是 “有用码”以外的代码。 六)符号表示法:为了便于叙述,本文将以ABC分别表示单字的字元,即AB代表双元字,ABC 代表三元字(单元字不作任何表示);abz分别表示字元的采码顺序。 ABCDZ分别表示字组单字的排列顺序,即AB、ABC表示二字、三字字组…… Z表示五个字和五个字以上字组的末位字;abz分别代表单字字元的特定采码顺序。 三、笔画代码 《华升码》参考《四角号码》的特点和优点发展起来的笔画代码是: 1-横①:一,乛; 2-垂②:丨,亅,丿; 3-点捺③:丶,亠,宀 、乀; 4-叉④:十,乂,乄; 5-串⑤:卄,丰,卅;6-方口⑥:口,囗; 7-角⑦:厶,幺,匚,凵,冂,乚,丆,丩,丬,冖,乙,已,冫,卜,臼,凹,凸;弓。 8-八⑧:八,人,入,亻,丷,二,巜,“刈”中的“立刀”; 9-是小⑨:小,三,氵,彡,川,巛; 0-作补缺无他用⑩。 作者根据胡适先生创作的《笔画号码歌》改编的《华升码》口诀是: 1横2垂3点捺,4叉5串6方口,7角8八9是小,0作补缺 无他用。取大兼并最少码(11),6、7保留(12)8、9独立(13)。 注:① 带勾的“一”只作“1”,例如:买-1+843;卖-4+18(4)3。 [()内为“无用码”,下文一概从略] ② 凡带勾的“亅”只作“2”。 ③ 凡带点的字元都作“3”。 ④ 两单笔交叉都作“4”,不另计码。 ⑤ 单笔与多笔交叉都作“5”,不另计码;二笔与多笔交叉作“55”,例如:井-55; 弗-557。 ⑥ 规则的和大致规则的“口”都作“6”,例如:互-86;耳-68; 身-264; 奥-263;骨-67+78;奂-763;門-612612。 ⑦ 概括为: -单拐笔和多拐笔:女-57; 卐-747;學-744+74;肅-55777;發-77+784; 祭-77+89;餐-77+837;乌-771;殷-767874;繼-79+777;弗-557;垒777+41. -半方框和不规则方框:共-78;甘-71;艸-47+47;棗-578578 -不平行的二笔交会:疋-718;走-41+78;冷-7+837;下-17. ⑧ 八字形、人字形以及平行的二笔,包括“寒字底”。 ⑨ 小字形和平行的三顺笔。 ⑩ “0”只用来弥补缺码的空位。 ⑾ 采码顺序(上下或左右)视碼值大小而定,例如:丰-5;卌-5。 “兼并”就是对于相邻的 2 个笔画,只取上一个笔画的代码,把下一个笔画 “兼并”掉。例如:“丶,亠,宀”- 3; “丩,丬”- 7;万-7;敖-57+84;款-499+78;前-8+788;旁-38+37; 常-96+47;當-96+64。 ⑿ 6和7代表的笔画与其他笔画交叉产生新的代码后,6和7 都要保留, 例如:丰-5;中-56;串-566;电-567。 ⒀ 要保持8和9代表的笔画的相对独立性,不得兼并,例如:行-82+82;点-76+88; 恭-78+93;言-396;立-388;王-84;重-856。 四、采码和计码方法 采码方法与笔顺基本相同,但须严格地、独立地围绕字元进行,即从上到下,从左到右,从外到内;取大优先;6、7重复,8、9独立。 “取大优先”就是,具体的某一位码要尽可能取到最大值。 “6、7重复”就是,凡是某一笔画与6和7代表的笔画交叉构成新码时,6或7都要保留,例如: 丰-5;中-56;串-566。农-477;发-473+74;巾-47; 弗-557;冓-551575;帶-577+47。 “8、9独立”就是,要尽量成全8和9,允许兼并其他笔画而不允许被其他笔画兼并。 例如:行-82+82,;款-499+78;熬-474+88;洲-999;恭-78+93。 注:被交叉的所有笔画以及被分隔的任何笔画,都不得单独立码,例如:丳—556(非556+6);肃—578(非575+88)。 五、单字的采码方法 单元字,最多采3位码,即abz。例如:口-6,日-61木-48,水-277, 耳-68,又-74,女-57。 双元字,各字元的采码方法同单元字, 两码组之和超过三位但不满六位时,中间须用“+”或者其他符号隔开,其他例外。 例如:吕-66,昌-61+61,林-48+48,冰-7+277,取-68+74,好-57+14,马-771,绿-71+717,馬-75+88,思-64+97,骤—771687。 三元字,简单三元字的各字元只采一位码;复合三元字的各字元 分别采首末二位码,即A-az, B-az, C-az最多, 倘若某字元的自然码不足二位, 就须用0补够。例如: (1)简单三元字,例如:品-666,;众-888;幾-757。 (2)复合三元字包括: 1)对称三元字,例如: 晶-616161, 森-484848, 矗-494949,焱-888888, 鑫-888888, 粥-708870, 辨-347034, 辦-344734;蠶—776153。 2)半对称三元字,例如:谈-378888, 唱-606161, 霖-184848, 器-664366, 肅-557777,箋-995353, 間-626261。 3)不对称三元字,例如:裹-306887,街-824182, 衍-829082,微-827884。 (3)三元部件, 采相应部件的首码, 例如:燊-888+48, 蕊-44+999, 儡-8+666, 簫-99+577, 赢-376+778, 齊-377+88,機-48+757。 六、字组的采码方法 字组的字数规定为2个字至12个字,都采5位码。例如: 中国—A-az B-abz-56683; 中国人—A-a B-az C-az-56380; 中国人民—A-a B-a C-a D-az-56864; 海上生明月-A-a B-a C-a D-a Z-a- 97267;天涯共此时—19776(方法同上);中国人民银行—5686(8)8。 注:二位字组的末位字如果是个对称或半对称三元字,就须采各字元的首位码,例如:结晶—76666;炮轰—87477;砲轟—77555。 七、执行标准 《华升码》执行的标准包括: GB13000.1字符集 “汉字部件规范”( 560个部件中95%适用); GBK 字库的21000 个古今中外汉字; GB/T 18031-2000“数字键盘汉字输入通用要求”(重码率~10%); 《现代汉语通用字笔顺规范》(90%以上合乎标准)。 八、参考资料 1.《現代漢語詞典》1979年北京-《四角号码查字法》部分 2.《新华字典》(1992年重排版) 3.《现代汉语规范字典》1998年1月 4.《纵横汉字系统》清华大学出版社 1995年6月 九、检测和中间试验 在完成《华升码》的设计之后已进行排序整理,并且根据电脑的简单运算功能,优化了编码,只须再进行“生成”处理就可就可以交付使用了。经过与十几位技术人员的讨论和试验,证明《华升码》是可行的。 |