汉字字典序(下)
汉字笔画序
探求纯形的汉字自然字典序,当然应该从汉字笔画入手。汉字笔画数大致与英文字母数相当,不同作者列出的笔画表都相近,容易统一。作为排序的依据,必须解决笔画表本身的前后次序和汉字笔顺。对笔画表排序,我曾在网上发起“关于笔画排序的投票”,请参见《汉字笔画表征求意见稿》中的详细论述。这里重述3点:
一、
笔画表:语委《GB13000.1字符集汉字折笔规范》(2001-12-19)的25种析笔(注意,有一些笔画包含几种变体),再加上平笔画:横、竖、撇、点、捺、挑、竖(左)钩,应该差不多了。
二、
前后次序:语委的折笔是先按折数排序,0折数的平笔画应在最前面,折数相同时,依次按笔形的走向(按主笔形次序:横、竖、撇、点)分前后。这种按两种以上标准的排序,可称为分级排序,在中文字典中常用,如部首字典都是先按部首次序排,同部首的字再按笔画数排。班门斧则提出不先按折数的统一排序,但0折的主笔形还是排在前面,即其原则没有贯彻到底,如果贯彻到底,大概会不习惯。
三、
笔画名称:语委《折笔规范》中的名称太长,也不直观,我曾应用例字,都改为两个字。如最长的是4折笔画,达8个字“横折竖折横折竖钩”,简称也有5个字“横折折折钩”,我则改称为“乃钩”和“杨钩”(因为《折笔规范》中此笔实际包含这两个笔画)。现在觉得,作为主笔的名称,最好只用一个字。
这样,我提出如下的笔画表,主笔名都只用一个字,折笔名的括弧内是原来用的双字名。每个主笔都配有副笔,他们与主笔相似或性质相近,有些甚至可以代替主笔。笔形栏有数码字者,是因为字库里找不出,用例字中的第几笔来示。
次序 主笔名 笔形 副笔名
笔形
A 横 一
短横 于1
B 竖 丨
短竖 刂1
C 撇 丿
竖撇 川1
D 捺 人2
平捺 辶3
E 点 亠1
竖点 忄1
F 挑 地3
点挑 氵3
G 己(横折) 已1
短折 书1
H 买(横钩) 买1
短钩 子1
I 又(又折) 又1
癸折 癸1
J 亡(竖折) 亡3
竖弯 疑1
K 创(竖钩) 创6
了钩 了2
L 以(竖提) 以1
横弯 殳2
M 私(私折) 厶1
东折 东2
N 女(女折) 女1
撇钩 乄1
O 弯(弯钩) 犭2
P 戈(斜钩) 戈2
心钩 心2
Q 言(言提) 讠2
凹折 凹1
R 司(同钩) 司1
力钩 力1
S 飞(风钩) 飞1
九钩 九2
T 专(专折) 专3
折撇 奊7
U 儿(儿钩) 乚 乙钩 乙
V 走(走之折) 辶2
建折 廴
W 耳(耳钩) 阝1
杨钩 杨5
X 马(马钩) 马2
鼎折 鼎6
Y 乃(乃钩) 乃1
凸折 凸3
以上是完整的笔画表,主笔名可不可以用作序数:横竖撇捺点、挑己买又亡、创以私女弯、戈言司飞专、儿走耳马乃。
笔画还常常被归并为更少的类,如台湾戚桐钦按“永字八法”归纳为8种。字典中常用的是归并为5种:横、竖、撇、捺(点)、折。我不知道它的出处,也不知道为什么不把竖钩当作折笔,而横钩却属于折笔,且常作为折笔的代表。把“点”归并于“捺”有好处,因为捺笔频率小,且永不作首笔。但“横”的频数最大,把“挑”归并进来是不妥当的,虽然它的折数是0,可能还是算到折笔里有利。相对于完整笔画表,我称其为简笔,因为是所有折笔归并简化而来的。
无论是笔画序还是简笔序,每个汉字的序列都太长,动态平均(按使用频率加权)是7笔,比英文字动态平均5个字母长。静态平均是10笔,多的还超过30,英文字如果长达30个字母,恐怕难以认读,大概不会有吧。现在设想,如果把简笔序列每两笔合为一个,长度可缩短一半,序列元素也只有5*5=25个,加上最末不能成对的5种单笔,甚至把最末成对的25种也赋予特殊意义,即加上这30个可同时表示序列结束的元素,也只有55个,与英文大小写字母总数相当。这样的安排看起来很好,但使用起来恐怕仍不方便。
汉字笔顺基本一致,部分不一致的地方可规定严格的规则来解决。但现有的7条规则是:先横后竖;先撇后捺;从上到下;从左到右;先外后里;先外后里再封口;先中间后两边;这7条规则还有更长的“补充规则”。可从网上搜索到完全相同的这种表述,我不知道它的出处,是谁总结的,但不缜密,有歧义,例如“先横后竖”就不适用于“上”字。所以我把它改为下面的3条:
1、
不相交的诸字根或诸笔画,先上后下,先左后右(按起笔位置);
2、
相交的诸笔画,先横后竖,然后再撇后捺;
3、
先外后里再封口,但左下连笔或左下偏旁则要居后。
中间是竖或竖钩,因它必处于最高位置,当然是先中间后两边,已包含在第一条中,可省。
汉字字根序
直接用笔画序列,序列太长,也不直观,使用不方便。如果先让笔画结合为字根(也叫部件、部首或字元),使用字根排序,序列短,很直观,又可避免笔顺习惯不同引起的歧义。但汉字拆分为字根的方法本身有随意性,字根数目也太多,200到600左右。字根拆分是研究输入法时形成的,由于键盘键位少,所以这么多字根都被归并为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 马 、、
从上表可见,有许多常见的字根字形没有包含在内,在变体中也没有,它们必须再拆分为笔画(表中第1到7)。例如“典”的上部和“曲”字要拆分成5个,其笔顺规则也不合理,把最高的两竖定为首笔,故其序列是“竖竖竖折横横”。与输入法不同,这里拆分后不能把任何组成部分抛弃,所以许多汉字的序列仍然很长,虽然该字典只列出首4个。
要进一步缩短序列,必须增加字根种类。而字根种类的增加会产生两个问题:一、记忆难,还因为键盘键位有限,用作输入法时难以分配安排;二、用作汉字内码时,在电脑中存贮一个字根要超过一个字节。我们且看看,字根种类数目可以增加到多少。因为不能把一字节的256种状态都用来存贮字根,需要预留一些作为他用,大概最多可用240,不能超过250。键盘上可用作输入键的,有字母键26个,如果把上部的数码键及右边的标点符号键也利用起来,共46个。同样也要留几个作他用,如果用40个键,每键要管6个字根,才达240。虽然一个键可以同时按SHIFT、CTRL、ALT形成4个输入值,但操作不方便,不如用单击、双击、三击来区分。可以把很少使用的字根安排给操作麻烦的三击、四击,但终究不能使用五击、六击。这样,大概可以使用120到160种字根,其他必须归并。首先,所有笔画的变形,不管是同质或异质的变形(参见冯寿忠《汉字笔画的异质变形概观》),以及所有异体字形,都视为同种。其他如:简繁部首可并为一种,字典里正好可排在一起;水和氵可并为一种,仅在序列之首才为三点水;罕用的字根可归并到与它形状或性质相近的字根里。归为一种的各个字根,仅当个别情况需要特别指定时,才需要后附序数加以区别,但这后附序数不参加、不影响整体排序。没有后附序数的,不是指频数最大的代表,就一定是可由前后字根等情况判断出用那一个。用这样的归并法,如果每种包含10个字根,总数可以上千。这样一来,可以让笔画交错的都不再拆分,连接紧密的也不拆,使汉字拆分非常自然,不要定什么规则,不会产生歧义。字根数几乎可以不限制,每键又可安排几十个不同的字根,总可以设计出可行的方案。因为各字根的频数相差很大,安排得好,一定可以做到输入快、存贮省,可以盲打,也可用来组出唯一的正确字形。不过作出并选择其中最佳的一种,还要经过实际验证,实在不容易,我现在还提不出具体的方案,但相信它是存在的。