在汉字系统中使用组字技术,远不是我开始的。1985年陕西省气象局领导要求我,把已开发的袖珍机PC1500无字库汉字搬到微机上去。因而接触到当时的苹果机时,就知道了朱邦复先生的汉字系统,猜想他就是使用组字技术的。可惜这个课题很快就被停止了。到了新世纪之交,在网上联系到朱先生,下载了他的技术资料,但最终未能读懂。看来读懂别人的这种资料是很困难的,我写的也可能难以被人看懂。下面我尽量简单地介绍我的笔画组字概要。
2003年,台湾易符公司叶健欣先生等6人来西安看我,他曾在朱先生手下工作过,当时与戚桐欣先生合作,是戚先生推荐了我。他向我介绍了他的无限字库及CDL(汉字描述语言)等。虽然因我的英文太差,未能通读所有资料,但基本搞懂了一般的组字办法是:给每个部件指定在汉字中的位置(左上角和右下角)或在两部件间加一个结构码(Unicode已有这种码)。我早在1984年搞的袖珍机无字库汉字,各部件已不必指定位置,其位置由各部件的笔画数按比例自动计算。每个部件都规定一个缺省的组字特性,只有小部分不按缺省特性组字的,才加结构符。进入新世纪,我又提出了由笔画组成部件(独体字)的层积理论。该理论认为,笔画都是按笔顺由上而下,逐步层积才形成汉字的。与横向笔画相交的,按笔顺必排在该笔画下部能到达的那个层,可以认为是它向上伸展了N层而发生的,在该笔画后加一个数N即可。凡左右并列的笔画,放在方括号内,被看作是一个层,可以各自上伸不同的高度,如果第一个笔画后加*N,则都从上一层开始上伸N层。这样一来,笔画序列就可正确地组成字形。所有汉字都可由笔画组出来了。但是,若用通常的图形拷贝方式,笔画和部件经过压缩、拉长等变形,笔画转角的特有形态及首尾笔锋就会变形,笔画粗细也不能保持一致,所以笔画只能用画线方式,即字体只能采用明线体。我循笔画的转折,在每笔中心设一条骨干折线,它可以伸缩变形。真正的笔画轮廓线采用贝塞尔曲线,其控制点则相对于最近的骨干线折点来定位。这样,问题就就解决了,如图所示。
我的软件已经可以组出所有字形了,只是字形还不够美观,显示速度跟不上。最近推出的小字库WORD,原计划常用字采用字库字,罕用字才用组出的合成字,2.0版实际上可用所有字库字,且字库字也可用来组字。
陕西省气象局 张时钊 http://www.chancezoo.net