汉字分列结构三笔显屏编码法及键盘 本发明涉及用于输入电子计算机的汉字编码以及键面带有这种编码分布的键盘。
现有技术中,用于将汉字输入电子计算机的汉字编码法已为数众多,为把汉字输入到计算机中起到重要作用。到目前为止,提高汉字的计算机输入速度和减少以致消除重码,仍然是汉字编码努力的方向。
本发明的目的是设计一种汉字分列结构三笔显屏编码法及键盘,对汉字拆分及键盘键位字根分布进行优化处理,由此提高汉字编码输入速度和降低重码率。
本发明的技术方案是:
(1)所述编码的组成是:[纟幺厶マスㄨ川业][匕七巴包贝页疒白冖不可韦][寸艹廾凵冂彡][大犬丁刀日曰礻衤气][耳阝卩 乃ㄋ廿儿见亦][方镸臼饣一古][工戈弓三虫][禾户尸火丨][羊心爫灬彳宀酉毛][斤斥九几钅金甲丶亠][口巛巜][了力立六耒目自干于殳][木皿四比占支亍][女冫丬乛][口彐巾山马穴之辶 廴][卜手扌丿八][乞勹ク夕リ刂车石癶][人亻欠有][示十水氵氺][土士田ナ][言讠文夂攵各戋圭米反][戊广厂犭豸门][王二豕鸟右][西习忄小玄已己巳][又月用黑雨由也][子孑舟竹止五乙匚]
以上每个方括号内代码为一个主键位代码,并设置五个副键位代码,这五个副键位代码分别表示上述第1至第6、第7至第11、第12至第16、第17至21、第22至26个主键位代码;
(2)所述键盘的键面代码分布有:[a纟幺厶マスㄨ川业][b匕七巴包贝页疒白冖不可韦][c寸艹廾凵冂彡][d大犬丁刀日曰礻衤气][e耳阝卩乃ㄋ廿儿见亦][f方镸臼饣一古][g工戈弓三虫][h禾户尸火|][i羊心爫灬彳宀酉毛][j斤斥九几钅金甲丶亠][k口巛巜][レ了力立六耒目自干于殳][m木皿四比占支亍][n女冫丬乛][o口彐巾山马穴之辶廴][p卜手扌丿八][q乞勹ク夕リ刂车石癶][r人亻欠有][s示十水氵氺][t土士田ナ][u言讠文夂攵各戋圭米反][v戊广厂犭豸门][w王二豕鸟右][x西习忄小玄已己巳][y又月用黑雨由也][z子孑舟竹止五乙匚][;][′][,][.][/][[]
上述每一方括号表示一个键位,其中的符号为分布于该键位上的代码,首个西文字母或标点符号表示该键位在标准键盘中对应的位置,有标点符号的上述第27至31个方括号之键位为副键位,其代码依次表示上述a至f、g至k、l至p、q至u、v至z主键位所含代码,第32个方括号之键位即"["为待定副键位,当汉字操作系统预定义了第27至31个方括号之任一键位时,则以第32个方括号之键位代之。
本发明作为一种三笔形码,每一笔(即:每一键)均对应键盘键位中某一字根,其编码规则是:
(1)任一汉字最多取3码;
(2)对任一汉字取码时,依照文字书写规范即先上后下、先左后右、先外后内的顺序分别对首字根、首尾间一个字根、尾字根取码,并依书写习惯首、尾码尽可能取大字根,首尾间字根码亦取大字根码优先;二笔简码字取该汉字三键码中前两码并加空格键,一笔简码为26个主键位的常用高频汉字和5个副键位汉语标点符号(该5个副键位即为标准键盘中“L”键右侧两键及“M”键右侧三键)及1个待定副键位为标准键盘中“P”键右侧一键。 副键位代码在出现重码时代换对应主键位字根码。
以下对本发明做出进一步说明。
本发明对于汉字结构约定其界线分明、互相分离的单一笔画或多笔画结构称为字根,并将单一笔画字根称为笔形根,而将多笔画结构字根称为字形根。又将汉字的四种基本结构归纳为单列型和多列型两种基本类型。
单列型的汉字结构包括了汉字的单体结构,上下结构,内外结构以及字根型汉字的左右结构。例如,“弓”、“立”、“日”、“亚”、“再”等属于单体结构,“只”、“字”、“旦”、“荣”、“崖”等属上下结构,“回”、“问”、“达”、“区”、“函”等属内外结构,“比”等属字根型左右结构。
多列型的汉字结构包容了非字根型汉字的左右结构。例如,“从”、“好”、“勉”、“列”、“结”、“彻”、“淮”、“侯”等均属左右结构,且在本发明中为非字根型的,故都是多列汉字结构。
在多列型汉字结构中,占有上下结构位置完整、左右结构位置互为分离的独立结构部分称为多列型汉字地列。由一个笔形根或多个笔形根构成的最大字根并在多列型汉字结构中具有“列”的意义,则称这样的字根为单一字根(上下结构位置完整是指独立结构部分的上下位置除该独立结构外再无其他结构;结构位置互为分离即结构位置间不存在重合的笔画结构)。例如,“结”字的“纟”与“吉”为上下结构位置完整、左右结构位置互为分离的独立部分,故它们均为“结”的一个列;“咐”的“口”、“亻”、“寸”均为上下结构位置完整、左右结构位置互为分离的独立结构部分,故均为“咐”的一个列;“洲”的“氵”、均为上下结构位置完整、左右结构位置互为分离的独立结构部分,故均为“洲”的一个列;又“弓”、“立”、“日”、“力”等字根型汉字在多列型汉字结构中均可成某一列,故它们为单一字根。“纟”、“丿”、“扌”、“礻”、“亻”亦为单一字根。
多列型汉字结构若为两列的,则称其为两列汉字,若为三列的,称为三列型汉字,其余依此类推,并约定多列型汉字的每一列按书写顺序分别称为第一、二、三……列。例如,“朋”(序列:1.月、2.月)、“趟”(序列:1.走、2.尚)、“绸”(序列:1.“纟”、2.周)为二列型汉字;“鹏”(序列:1.月、2.月、3.鸟)、“趣”(序列:1.走、2.耳、3.又)为三列型汉字。
本发明汉字拆分的基本原则以汉字书写顺序与一般性书写习惯为依托,以汉字的基本结构为确定字根取舍的基本依据,并按上述汉字结构分类规则,确定本发明的汉字拆分基本方法如下。
1、单列型汉字结构的拆分(取码)
1.1非单一字根的拆分
1.1.1分离大字根数≥3时,依笔顺取分离的字根,首、尾及首尾间所取的字根尽可能取其大字根。例如,“型”(所取字根:“一”、“刂”、“土”)编码为fqt。其中字根“一”是遵循书写习惯,该字原始结构为上下结构,上部为“刑”,按多列型顺序取首大字根,即“刂”为“刑”的第二列首大字根(亦为单一字根),“土”为尾大字根。应当注意,当两字根结构位置间不存在重合笔画结构时,称两字根为分离的。
1.1.2分离大字根数<3时,三码依笔顺尽可能取不同的大字根。若前二码为分离大字根,则优先取前两码为分离大字根,第三码取与第二码字根不同的大字根(若第三码不可能取字形根,则取笔形根),第三码无法取与第二码不同的字根,则取与第二码相同的笔形根。例如,“尘”(所取字根:“小”、“土”、“一” 编码是xtf,其中“小”、“土”为分离大字根,“一”为不同于第二码的尾笔形根;“军”(所取字根;“冖”、“车”、“十”)编码为bqs,其中“冖”、“车”为分离大字根,“十”为不同于第二码的尾大字根;“旦”(所取字根:“日”、“一”、“一”)编码为dff,其中“日”、“一”为分离大字根,第三码无法取与第二码不同的字根,故仍取第二码字根“一”。
1.2单一字根的拆分
第一码取单一字根,第二、第三码取首、尾分离大字根。若第二、三码无法取与第一、二码不同的字根,则取同第一、二码相同的字根。例如,“力”(所取字根“力”、“丿”、)编码为lpn,其中“力”为单一字根,“丿”、为首尾分离笔形根;“目”(所取字根:“目”、“冂”、“三”)编码为lcg,其中“目”为单一字根,“冂”、“三”为首尾分离大字根;“一”(所取字根:“一”、“一”、“一”)编码为fff,因其第二、三码无法取与第一、二码不同的字根,故第二、三码均取与第一码相同的字根“一”。
当单列型中含有多列型结构部分时拆分按多列型列顺序依次取首大字根,但单列型汉字的第三码必须取属该汉字的尾大字根;非常用汉字属国标汉字集的字根拆分与单列型汉字单一字根拆分法相同。
2、多列型汉字结构的拆分(取码)
2.1二列型汉字结构的拆分。
2.1.1第一、二列均为单一字根时,第一码取第一列单一字根,第二码取第二列单一字根,第三码取第二列不同于第二码字根的尾大字根。如第三码无法取与第二码不同的字根,则取与第二码相同的字根。例如,“林”(所取字根:“木”、“木”、“小”)编码为mmx,其中“木”、“木”为单一字根,“小”为尾大字根;“扎”(所取字根:“扌”、)编码为pzz,其中第三码无法取不同于第二码的字根,故只能取与其相同的字根码。
2.1.2第一列为单一字根,第二列为非单一字根时,第一码取第一列单一字根,第二、三码取第二列首、尾分离大字根。例如,“理”(所取字根:“王”、“日”、“土”)编码为wdt,其中“王”为单一字根,“日”、“土”为第二列首尾分离大字根。
2.1.3第一列为非单一字根,第二列为单一字根时,第一、二码取第一列首、尾分离大字根,第三码取第二列单一字根。例如,“献”(所取字根“十”、“十”、“犬”)编码为ssd,其中“十”、“十”为第一列首尾分离大字根,“犬”为第二列单一字根。
2.1.4第一、二列均为非单一字根时,第一码取第一列首大字根,第二、三码取第二列首、尾分离大字根。例如,“豁”(所取字根,“宀”、“八”、“口”)编码为ipk,其中““宀”为第一列首大字根,“八”、“口”为第二列首尾分离大字根。
2.2三列与大于三列的多列型汉字结构(第一、二列、最后一列为单一字根或非单一字根)的拆分
2.2.1三列型:第一、二码取第一、二列单一字根或首大字根,第三码取第三列单一字根或尾大字根。例如,“淞”(所取字根:“氵”、“木”、“厶”)编码为sma,其中“氵”为第一列单一字根,“木”为第二列单一字根,“厶”为第三列尾大字根。
2.2.2大于三列的多列型,第一、二码取第一、二列的单一字根或首大字根,第三码取最后一列单一字根或尾大字根。例如,“渊”(所取字根“氵”、“丿”、“丨”)编码为sph,其中“氵”为第一列单一字根,“丿”为第二列单一字根,“丨”为最后一列(第四列)单一字根。
由以上取码规则可知,对于主键位,任一汉字全码由a至z26个英文字母(键)中可作重复排列的三个字母(键)构成,在结构位置及字根对应方面,三个相同、部分相同、完全不同的字母对应;(1)三个结构位置相同的字根或二个结构位置相同、一个结构位置不同的三个字根或三个结构位置不同的字根;(2)二个结构位置相同、一个结构位置不同的三个字根或三个结构位置不同的字根;(3)三个结构位置不同的字根(两字根的结构位置完全重合,称为两字根结构位置相同,否则称为结构位置不同)。例如,“晶”全码为ddd,其所取三个字根的结构位置不同,但字根相同,即“日”、“日”、“日”;“巯”全码为“aaa”,所取三个字根结构位置不同,字根亦不同,即“ス”、“一”全码为“fff”,所取三个字根结构位置相同,字根亦相同,即“一”、“一”、“一”;“札”全码为“mzz”,所取三个字根一个结构位置不同,两个结构位置相同,三个字根中一个相异,两个相同,即“木”、“魄”全码为“bba”,所取三个字根结构位置不同,三个字根中两个相同,一个相异,即“白”、“白”、“厶”;“统”全码为“aae”,所取三个字根结构位置不同,字根亦不同,即“纟”、、“儿”;“缨”全码为“abn”,所取三个字根结构位置不同,字根亦不同,即“纟”、“贝”、“女”。显然,在任一汉字编码全码中,不同字母(键)必代表不同的结构位置及不同的字根,而结构位置相同的字根其字母(键)必相同。
两个或多于两个的相异汉字全码存在相同编码时,称其中任一汉字存在理论重码,并取其中较常用一汉字保留其主键位全码,其余作副键位代换编码。汉字的二键简码第一、二码与该汉字全码的前两码相同,对于具有理论重码的常用汉字优先作二键编码。汉字的一键简码以该汉字全码的第一码为主,以该汉字另一字根的取码为辅,对常用高频汉字优先作一键编码。对任一汉字主键位理论重码均进行副键代换编码与主键位无重码式重复编码。副键位代换编码使主键位理论重码消失。当进行主键位重复编码时,其全码第一、二码为理论重码的第一、二码,第三码取a至z26个英文字母(键)中适当的一个,重复编码得到的全码不存在重码。例如,“郄”的主键位全码“aae”是“统”编码“aae”的主键位理论重码。对“郄”进行主键位无重码式重复编码:以“i”取代理论重码的第三码,故有“郄”主键位全码“aaj”。
副键位代换编码过程中,若再次出现重码,则称其为拟理论重码。对主键位的理论重码进行编码时,第一码以五个副键位“;”至“/”中的某一个等价字符取代主键位全码中的第一码,如出现拟理论重码时,则以前述五个副键位中的某一个等价字符(码)或某两个等价字符(码)取代主键位全码中的第三码或第二码,或第二与第三码。例如,“郄”编码“aae”是“统”编码“aae”的理论重码,故其副键位全码为“;ae”;“钒”的副键编码“jj”的拟理论重码,以五个副键位中的等价字符(码)取代理论重码中的第二、三码(或第二、或第三码)得到“钒”的副键位全码“”。优先对副键位代换全码中具有拟理论重码中的一较常用汉字作二键码编码,其第一、二码与该汉字的副键位代换全码的前二码相同。对任一汉字副键位拟理论重码进行重复编码时,第一码为该汉字主键位全码中的第一码,第二码以五个副键位中的等价字符(码)取代该汉字主键位全码中的第二码,或第二、三码,优先对较常用汉字作二键码编码(例如对拟理论重码汉字“钒”的副键位全码“”进行重码编码,得到副键位二键码为“j′”。
副键位代换的第一个功能是汉字单字编码全码码长在尽可能短及整个键盘汉字输入系统设有词组编码的情况下,以逻辑形式消除键位汉字全码与词组全码前三码间依排列顺序存在的重码,为实现汉字单字三键上屏提供重要条件。例如,当确定一个键盘汉字输入系统编码的最大码长为4时,而设定单个汉字编码的最大码长为3,若在系统中同时设有较大数量的词组编码,则不难设想单个汉字的全码与词组全码的前3码间依排列顺序会存在较多重复。这时对单个汉字键足其最大码长3码即上屏便失去了实际意义。采用副键位代换解决这一问题的办法是,以一个或多个副键位码替换词组主键位编码全码中的一个或多个主键位码。例如,“谦”的主键位全码为“una”,而“词组”的主键位全码为“unay”,可见“谦”的全码与“词组”全码的前3码依排列顺序完全相同,按通常方法(设“谦”无任何单字重码)输入una后仍需补加空格键后“谦”才能上屏;采用副键位代换,令“,”对应等价“n”并原则约定二字词主键位编码的第二码以副键位码替换,于是得到“词组”的副键位代换全码“u,ay”,由此使主键位单个汉字全码与词组全码中的顺序等长码不存在三键重码。
副键位代换的第二个功能是以逻辑形式消除汉字间主键位重码,即以一个或多个副键位等价码替换汉字主键位重码中的一个或多个主键位码,而消除汉字主键位重码。例如,前已述及的的“统”的主键位编码a、a、e与“郄”的主键位码重复,不妨认定“郄” 全码即为“统”编码的重码,以副键位代换对“郄”进行编码,令“;”对应等价“a”并原则约定汉字主键位重码的第一码以副键位等价替换,得到其副键位代换全码“;ae”,主键位“统”的重码消失。同时,由于在作副键位代换时等价码的排列顺序与词组副键位代换全码中等价码的排列顺序不同,故汉字主键位重码的副键位代换全码与词组副键位代换全码间前三码依排列顺序不会出现重码。由此可知,当主键位重码率较低时,副键位代换可较合理地完全消除主键位重码。显然,当任一汉字全码具有单字重码时,键足其全码即单字上屏是不可能的。可见副键位代换法消除汉字间主键位重码为汉字输入实现三键上屏提供了另一个重要条件。
上述副键位代换的两个功能,在主键位重码率较低的情况下,完全消除汉字全码与词组全码间顺序等长码三键重码及汉字间主键位重码,是实现汉字单字三键上屏编码的充要条件。与此同时,副键位代换编码逻辑与原编码逻辑间存在的差异不大,有利于操作者记忆。
为了使主键位三键重码率降至极低,本发明在制定编码方案时,力求使用户在使用时不感到困难的前提下,在键位字根设置与配置方面,采用优化设计方法而尽可能减少重码,在五个副键位不参与编码的情况下,主键位三键无重码率约为87%多(一般较佳的汉字输入法约为70%,且未计附加上屏空格键)。启用五个副键位代换,使整个编码系统的实际三键重码率降至零。副键位代换重复编码是对副键位代换拟理论重码进行的(约占主键位理论重码的17%),其中一个目的是为了便于记忆和提高输入速度。例如,副键位代换重复编码大部分均为二键简码。本发明对主键位理论重码及三键码中未包含的一、二键码在主键位上再次进行了前述无重码式重复编码,其第一、二码与原码(理论重码)第一、二码相同,第三码的取码有以下形式:(1)取原码第三码字根包含的又不同于第三码字根的一个字根:取最后一个笔形根或取最后一个小于原第三码的字形根,(2)取原码的第二码(以上情况约占主键位无重码式重复编码的58%),(3)原第三码取V字母对应等价于a至i9个字母,u字母对应等价于j至r9个字母,i字母对应等价于s至z8个字母,即在重复编码中第三码以字母V取代原码第三码a至i9个字母中的任一个字母,以u取代原码第三码为i至r9个字母中的任一字母,以i取代原码第三码为s至z8个字母中的任一字母,(4)取与最后一个笔形根相邻的一个笔形根,或取与原第三码相邻但非第二码的字形根或笔形根,(5)随机取第三码。以上(3)(4)情况约占主键位无重码式重复编码的22%,(5)情况约占20%。
本发明为了实现汉字三键显屏,将词组编码全部设置为副键位代换码。词组编码的全码为4码,情形有:
(1)二字词:第一码取第一个汉字主键位全码第一码,第二码取五个副键位中某一等价字符(码)代替第一个汉字主键位全码的第二码,第三、四码取第二个汉字主键位全码的第一、二码。
(2)三字词:第一、二码取第一、二个汉字主键位全码的第一码,第三码取五个副键位中某一等价字符取代第三个汉字主键位全码第一码,第四码取第三个汉字主键位全码的第二码。
(3)多于三字的多字词:第一、二码取第一、二个汉字主键位全码的第一码,第三码取五个副键位中某一等价字符取代第三个汉字主键位全码的第一码,第四码取最后一个汉字主键位全码的第一码。
类似于汉字副键位拟理论重码,称词组副键位全码的重码为词拟理论重码。消除词拟理论重码的编码方法包括:
(1)二字词:a.取词拟理论重码副键位全码(原码,以下简称词拟原码的第一、二、三码为实际编码的第一、二、三码,第四码按空格键。b.取词拟原码的第一、二码为实际编码的第一、二码,第三码取五个副键位中某一等价字符(键)取代原码第三码,第四码取空格键。c.取词拟原码的第一、二码为实际编码的第一、二码,第三码取五个副键位中某二个等价字符(键)取代原码第三、第四码。
(2)三字词及多于三字的多字词:a.取词拟原码的第一、二、三码为实际编码的第一、二、三码,第四码取空格键。b.取词拟原码的第一、二、三码为实际编码的第一、二、三码,第四码取五个副键位中某一等价字符(键取代原码第四码。
在设置词组编码时以词组中单个汉字第一、二码为取码依据,是因为在本发明任意汉字主键位全码中第一、二码的取法均是按约定的一般性取码规则进行的。
本发明键盘采用已有技术之通用产品,即现行电子计算机标准键盘(例如现有的PC机的“101”键之键盘),其设计特点是本发明之代码在键面上的特定分布。本发明键位字根分布前已述及,其分布规律为:以字根的汉语发音声母为主,以象形归类为辅(其中字根的声形归类约为字根总数的37%,象形归类约为33%,其他约为30%)。可见,键盘键位要求操作者纯记忆的部分较少。
由以上可知,本发明为一种汉字分列结构三笔显屏编码方法和键盘。本发明使国标C82312-80的6763个汉字单字编码最长码为3,其三键实际重码率为零,且对于在设有词组编码的情况下单字三键码需加空格键才能上屏的计算机键盘输入技术在速度及输入技法上无疑是一个进步,因而有效地实现了本发明目的。
做为一种实际应用,由本发明的编码方法制成的支持软件V3.0的运行过程是,将KSB.CON、KSB.OVR、ZOY.TXT文件拷贝至您使用的汉字系统当前目录下,启动汉字系统,在提示符下键入KSB.CON文件名,屏幕将出现可供选择功能的菜单,当选择1至8任一种符合您当前使用的汉字系统时,KSB.CON将自行加载码表文件KSB.0VR,自定义词组码表文件ZOY.TXT,至此本发明的V3.0加载完成,按ALT-F8组合键即可运行所述V3.0。