汉字字典序(下)

 

汉字笔画序

 

探求纯形的汉字自然字典序,当然应该从汉字笔画入手。汉字笔画数大致与英文字母数相当,不同作者列出的笔画表都相近,容易统一。作为排序的依据,必须解决笔画表本身的前后次序和汉字笔顺。对笔画表排序,我曾在网上发起“关于笔画排序的投票”,请参见《汉字笔画表征求意见稿》中的详细论述。这里重述3点:

一、             笔画表:语委《GB13000.1字符集汉字折笔规范》(2001-12-19)的25种析笔(注意,有一些笔画包含几种变体),再加上平笔画:横、竖、撇、点、捺、挑、竖(左)钩,应该差不多了。

二、             前后次序:语委的折笔是先按折数排序,0折数的平笔画应在最前面,折数相同时,依次按笔形的走向(按主笔形次序:横、竖、撇、点)分前后。这种按两种以上标准的排序,可称为分级排序,在中文字典中常用,如部首字典都是先按部首次序排,同部首的字再按笔画数排。班门斧则提出不先按折数的统一排序,但0折的主笔形还是排在前面,即其原则没有贯彻到底,如果贯彻到底,大概会不习惯。

三、             笔画名称:语委《折笔规范》中的名称太长,也不直观,我曾应用例字,都改为两个字。如最长的是4折笔画,达8个字“横折竖折横折竖钩”,简称也有5个字“横折折折钩”,我则改称为“乃钩”和“杨钩”(因为《折笔规范》中此笔实际包含这两个笔画)。现在觉得,作为主笔的名称,最好只用一个字。

这样,我提出如下的笔画表,主笔名都只用一个字,折笔名的括弧内是原来用的双字名。每个主笔都配有副笔,他们与主笔相似或性质相近,有些甚至可以代替主笔。笔形栏有数码字者,是因为字库里找不出,用例字中的第几笔来示。

 

次序       主笔名        笔形            副笔名        笔形

                                   短横          1

                                   短竖          1

                     丿              竖撇          1

                     2             平捺          3

                     1             竖点          1

                     3             点挑          3

         己(横折)    1             短折          1

         买(横钩)    1             短钩          1

         又(又折)    1             癸折          1

         亡(竖折)    3             竖弯          1

         创(竖钩)    6             了钩          2

         以(竖提)    1             横弯          2

         私(私折)    1             东折          2

         女(女折)    1             撇钩          1

         弯(弯钩)    2            

         戈(斜钩)    2             心钩          2

         言(言提)    2             凹折          1

         司(同钩)    1             力钩          1

         飞(风钩)    1             九钩          2

         专(专折)    3             折撇          7

         儿(儿钩)                  乙钩         

         走(走之折)  2             建折         

         耳(耳钩)    1             杨钩          5

         马(马钩)    2             鼎折          6

         乃(乃钩)    1             凸折          3

 

以上是完整的笔画表,主笔名可不可以用作序数:横竖撇捺点、挑己买又亡、创以私女弯、戈言司飞专、儿走耳马乃。

笔画还常常被归并为更少的类,如台湾戚桐钦按“永字八法”归纳为8种。字典中常用的是归并为5种:横、竖、撇、捺(点)、折。我不知道它的出处,也不知道为什么不把竖钩当作折笔,而横钩却属于折笔,且常作为折笔的代表。把“点”归并于“捺”有好处,因为捺笔频率小,且永不作首笔。但“横”的频数最大,把“挑”归并进来是不妥当的,虽然它的折数是0,可能还是算到折笔里有利。相对于完整笔画表,我称其为简笔,因为是所有折笔归并简化而来的。

无论是笔画序还是简笔序,每个汉字的序列都太长,动态平均(按使用频率加权)是7笔,比英文字动态平均5个字母长。静态平均是10笔,多的还超过30,英文字如果长达30个字母,恐怕难以认读,大概不会有吧。现在设想,如果把简笔序列每两笔合为一个,长度可缩短一半,序列元素也只有5*5=25个,加上最末不能成对的5种单笔,甚至把最末成对的25种也赋予特殊意义,即加上这30个可同时表示序列结束的元素,也只有55个,与英文大小写字母总数相当。这样的安排看起来很好,但使用起来恐怕仍不方便。

汉字笔顺基本一致,部分不一致的地方可规定严格的规则来解决。但现有的7条规则是:先横后竖;先撇后捺;从上到下;从左到右;先外后里;先外后里再封口;先中间后两边;这7条规则还有更长的“补充规则”。可从网上搜索到完全相同的这种表述,我不知道它的出处,是谁总结的,但不缜密,有歧义,例如“先横后竖”就不适用于“上”字。所以我把它改为下面的3条:

1、          不相交的诸字根或诸笔画,先上后下,先左后右(按起笔位置);

2、          相交的诸笔画,先横后竖,然后再撇后捺;

3、          先外后里再封口,但左下连笔或左下偏旁则要居后。

中间是竖或竖钩,因它必处于最高位置,当然是先中间后两边,已包含在第一条中,可省。

 

汉字字根序

 

直接用笔画序列,序列太长,也不直观,使用不方便。如果先让笔画结合为字根(也叫部件、部首或字元),使用字根排序,序列短,很直观,又可避免笔顺习惯不同引起的歧义。但汉字拆分为字根的方法本身有随意性,字根数目也太多,200600左右。字根拆分是研究输入法时形成的,由于键盘键位少,所以这么多字根都被归并为25-30种。排序用的字根也可这样归并,这样,一种字根会有不同的字形及笔画组成,字根序列就可能不与笔画序列一一对应,尤其是字根排序与笔画排序会不一致。第一部按字根序排列的字典是王竹溪的《新部首大字典》,他归并为56种字根,如下所列(由于一些笔形字库里没有,我用例字后加数字表示,两个数是指第几到第几笔。变体栏有些例字不是原书所列的字,是因为仿宋体字库没有该例字,“、”后没有例字,也是因为字库里没有适当的字):

序号      字根      包括变体

1                 3

2                   2、刈4、了2(及其颠倒)

3         1        1、冲2、豕7、入2

4         丿

5         1        4、买1、书2

6                 2、亡3、弋2、切2

7         1       1

8                   、、

9                 12

10        12

11                冂、丹12

12                12、而12

13                12、年12、亻、入

14                34、关12、空45

15               

16                儿、沈67

17                35、、

18       

19       

20                13、学13、⺗夵

21               

22       

23               

24               

25                14、寿14、、

26                25

27                14、告14、舛47

28       

29                忄、忝58

30                扌,看14、拜14

31                犭、豕35

32                氵、奉68、犀48

33                14、茶69、朮

34                58、炙14

35                14

36                14、灬

37               

38                礻、

39       

40                15

41                14

42                15、皿

43        西        17

44       

45                、、

46                纟、

47               

48                16

49                16、盖16

50                17

51                、、

52               

53                18

54               

55                饣、

56                、、

从上表可见,有许多常见的字根字形没有包含在内,在变体中也没有,它们必须再拆分为笔画(表中第17)。例如“典”的上部和“曲”字要拆分成5个,其笔顺规则也不合理,把最高的两竖定为首笔,故其序列是“竖竖竖折横横”。与输入法不同,这里拆分后不能把任何组成部分抛弃,所以许多汉字的序列仍然很长,虽然该字典只列出首4个。

要进一步缩短序列,必须增加字根种类。而字根种类的增加会产生两个问题:一、记忆难,还因为键盘键位有限,用作输入法时难以分配安排;二、用作汉字内码时,在电脑中存贮一个字根要超过一个字节。我们且看看,字根种类数目可以增加到多少。因为不能把一字节的256种状态都用来存贮字根,需要预留一些作为他用,大概最多可用240,不能超过250。键盘上可用作输入键的,有字母键26个,如果把上部的数码键及右边的标点符号键也利用起来,共46个。同样也要留几个作他用,如果用40个键,每键要管6个字根,才达240。虽然一个键可以同时按SHIFTCTRLALT形成4个输入值,但操作不方便,不如用单击、双击、三击来区分。可以把很少使用的字根安排给操作麻烦的三击、四击,但终究不能使用五击、六击。这样,大概可以使用120160种字根,其他必须归并。首先,所有笔画的变形,不管是同质或异质的变形(参见冯寿忠《汉字笔画的异质变形概观》),以及所有异体字形,都视为同种。其他如:简繁部首可并为一种,字典里正好可排在一起;水和氵可并为一种,仅在序列之首才为三点水;罕用的字根可归并到与它形状或性质相近的字根里。归为一种的各个字根,仅当个别情况需要特别指定时,才需要后附序数加以区别,但这后附序数不参加、不影响整体排序。没有后附序数的,不是指频数最大的代表,就一定是可由前后字根等情况判断出用那一个。用这样的归并法,如果每种包含10个字根,总数可以上千。这样一来,可以让笔画交错的都不再拆分,连接紧密的也不拆,使汉字拆分非常自然,不要定什么规则,不会产生歧义。字根数几乎可以不限制,每键又可安排几十个不同的字根,总可以设计出可行的方案。因为各字根的频数相差很大,安排得好,一定可以做到输入快、存贮省,可以盲打,也可用来组出唯一的正确字形。不过作出并选择其中最佳的一种,还要经过实际验证,实在不容易,我现在还提不出具体的方案,但相信它是存在的。