阿江前辈日前在中研院 OpenFoundry 电子报发表了一系列名为「等待新汉码-汉字的数字化与中华文化的冲击」的文章,采用 Creative Commons「姓名标示 2.5 台湾」方式释出,鞭辟入里指出,在这电子数字时代,我们的语文系统潜在的危机与新愿景,全文张贴如下:
[名家专栏] 等待新汉码-汉字的数字化与中华文化的冲击
陈昌江/文 2006/09 (感谢张正一等人协助校稿)
◎ 前言
一百多年来,中华民族在优势的外来文明冲击下,人民普遍丧失民族自信心,不仅使得中国传统文化成了代罪羔羊,也使其更新的脚步停滞不前,无法受到应有的重视与发展。最无奈的是,许多中华文化的宝贵资产,就在这样的时代大洪流中无声无息流失!
今天,两岸的大汉民族普遍都富足了,然而这种文化上的自卑,仍然存在着。所以当下重要工作就是促成中华文化的更新与再兴。汉字是中华文化的根本材料,其影响无所不在,因此汉字的数字化工程,也就成了中华文化进化到数字时代的重要基础工程。
汉字数字化工程中最基本的就是汉字表达的基础结构。汉字数字架构的良窳,深深地影响到中文数据储存成本、交换成本以及检索效能等,也关系着中华文化的传承与创新的能力。
◎ 汉字信息的五大要素
自古汉字就由「形、音、义」三个要素所构成,在信息时代则必需加上「码」和「序」二个要素。
「码」是计算机认定一个汉字的一个相对数字,通称为「字码」,所有的计算机的数据处理、数据交换都是针对「字码」进行认定和处理。
「序」系人类认知的排列方式。由于有查找排序和比对等数据处理的需要,一个自然、共同认定的「字序」是一个文字系统重要而有价值的本质。以查字典为例,查英文字典是简单方便且准确,但查汉字字典就很不确定,这种问题相信你一定能感受到,这是因为汉字还没有确定字序的缘故。
◎ 当前的汉字信息表达的情况
一、形
汉字字形的产生主要有点阵字和向量字两种:
(一)点阵字形
点阵字对计算机来说其实是一种「字图」,就是在有笔画的地方描上细细的点。点阵字的好处就是处理简单,缺点就是每一种尺寸都需要一套点阵数据,因为一个点阵字就是一张图片,且数据量与字形的大小成等比级数上升,字形变大,数据量快速变大。这使得内存受限的小型数字装置所能提供的字形就非常有限。
另一方面,要从这点阵资料图中取得有关这个字形的特征信息不多,因此,除了进行高级的影像处理外,点阵数据的进阶处理并不容易。
(二)向量字形
向量字则是只记录各笔画内容的位置、长度宽度等字形数据,而在最后展现时,才由计算机转换成位图来呈现。
向量字的发展主要为解决点阵字资料量庞大的问题。但向量字形在呈现成点阵时所需要的转换非常复杂,目前在机能不够强大的数字设备上仍不易实现。
二、音
由于汉字是一种形意文字,与音韵并无紧密的连结,加上古今汉语音韵之变迁,形和音的对映是多对多的(多字同音,一字多音),其中字音可以简单地用建表的方式解决。但如果要处理破音和语境问题,就涉及自然语言处理的范畴,这方面学术单位已有相当多的有关研究。
三、义
形是义的视觉接口,音是义的听觉接口,有形无音,称为「符号」,有音无形,叫作「语言」,只有同时具备形、音两要素,才构成文字。
四、码
中文在信息时代的第一个挑战是「编码」,也就是为每一个汉字编上一个数字码。一个汉字没被编上一个对应的字码,就无法进行数字化处理,也等于「不存在」在数字世界中,甚至会造成世界上「没有这件事」的假象。
码可分为「内码」和「输入码」两种,内码是中文字的数字代码,是方便计算机处理的代码,人无法记忆,因此才衍生了各种方便人记忆或辨识的输入法来产生相应的内码,输入码主要是针对输入汉字的人机接口,也是人和机器沟通时的中介表达方式。
(一)内码
内码的主要考虑是软件的兼容性、储存的效率和程序处理的简易性,因为在这数字世界中,汉字字码是无所不在的,因此汉字的处理成本,这也就成了无所不在的成本负担。
在早期计算机的文字模式 (text mode) 时代,为了迁就 ASCII 码表,故有 Big5、GB、 JIS 等双字符(一个字符就是一个 BYTE,一个 BYTE= 8位,双字符= 16 位)的设计。然而,计算机进入图形模式的现在,字形在屏幕上的显示,已不再限定为固定宽度,加上当今计算机的容量与速度,因此对于实际储存的字符数以及运算的复杂度已经不在,让是中文内码的设计上有了很大的自由度。
目前计算机平台上涵盖面最广、最成功的内码 Unicode(统一码),已经成为当今 Windows、Mac 及 Unix-like 等主流平台的内码,因此 Unicode 事实上已取代 ASCII 、Big5、GBK 码,成为各操作系统的预设编码,并渐渐地成为国际间交换数据时主要的交换码。
(二)输入码
输入码可分为「拆形」和「拼音」两大类。「计算机中文化」的历程就是利用英文计算机的键盘,编上部首和注音的映对键位。然而中文部首的数目远远超过了键盘的键数(「康熙字典」的基本部首有 224 个),因此就必须在有限的键盘上,用一个键对应多个部首的方式来输入。
由于这些分解动作,都加入了人为指定与巧思,并非来自文字的本质,因此需要很多的学习和记忆,对汉字使用者无疑是建立了一个很大的门坎。现在社会上还有很多人「不会计算机」,其实大部分都是「不会输入」的意思。这种现象不仅在大人的世界发生,在儿童方面,也因为这个缘故,在计算机的启蒙时间也被延后了,这使得华文的小孩在计算机应用与普及上与英语世界相较,有输在起跑点的无奈。
◎ 一字一码的时代困境
我们必须深刻地觉悟到,承载中文信息的中文码,其设计对「数字中华」的影响是既深且远的,不深入观察分析,大家也习以为常,难以发现它无所不在的影响以及其严肃性。就以康熙字典为例,一万多字的 BIG5 码是做不出有四万多字的康熙字典的。
为了让你发现这些在我们数字生活中存在的诸多无奈事实,且让我们来分析观察英文字 (word) 的结构。
首先我们来看字序的问题。我们都知道,英文码的基本定义是 0~127 的 ASCII 码,其中有 "A~Z"、"a~z" 的 52 个「英文字母」 (character),其余为字符码及句柄。由 ASCII 码的英文字母所构成有意义语素是 word,我们就以「英文字」称之。各位请注意到,英文字循着 ABC 的排序,就有了一个自然的、本质的排序。
在此基石之上,举凡字典的安排、数据库的制作、物料的列举、二元搜寻 (binary search) 的方法、键盘的设计、操作系统窗体的设计、快捷键 (HOT KEY) 的安排等,无不存在这 ASCII 编码的基本设想,可是中文字却没有这个序,只要稍微有中文处理经验的人,便可以知道,数据域位没有确定的排序,电话簿中的人名没有确定的排序!
为了这样的缘故,中文数据总是要另外自行设代码或编号字段等,以方便处理。相对于英文,中文的数据处理,便增加了一层无所不在的额外成本。
一、发现潜藏在当今「一字一码」架构中的意义
现在,再让我们来看看当今中文字一字一码的问题。
为了让读者发现这些潜藏在文字架构中影响力,让我们来考虑下面的文字假设情况:
如果,我们把 ASCII码拿掉,改用一个英文字也像中文一样一字一码,那么将会是个怎样的景象?
我们先假设下列英文字都有了内码:
PERSONAL 内码是 $FF3A
CENTRAL 内码是 $BB01
PROCESSING 内码是 $FF3B
UNIT 内码是 $FF3C
MACHINE 内码是 $CC01
COMPUTING 内码是 $DD02
那么 COMPUTING MACHINE(内码为 $DD02 $CC01)就没有机会因为它的重要性日增而改称 COMPUTER。请注意:因为没有 "COMPUTER" 这个内码,如果要,就要经过标准机构公布新码才会存在!
好!假设真有那么一天,「标准机构」「收录」了 COMPUTER 这个新字:
一样的问题又来了,在有了 "COMPUTER" 这个新字码之后,PERSONAL COMPUTER(内码 $FF3A $AA01)仍不能马上改称 PC,因为还没有定下 "PC" 这个字码!
同样地,中央处理单元 CENTRAL PROCESSOING UNIT(内码$BB01 $FF3B $FF3C)更不会简称 CPU了,因为如果英文字也是像中文一字一码的话,也就没有机会新创 "CPU" 这个字了。
当然这是个假设性的探索,英文文字事实上可以自然地随着时代的需要「进化」,这可是关乎到一个文化的根本活力。
然而,这却也正是这些年来,一字一码的中文所经历的过程。
诸位一定可以体会到,所谓的一字一码,就是拿处理「英文字」(word) 的方式来处理中文字,这是一个耗时费力而不切实际的过程!
然而,我们更需要严肃看待是这样的困局所引发的严重后果: 汉字停止演化!
只因为在一字一码的架构中,要增加一个新字,是一个令人无法承受的梦魇!
读者是否可以看出来,当一字定成一码的时候,由于是人为指定,于是一个新字必须经过标准机构的公布才有可能流通和使用,然而即便一个新字已经公布了,无数已经在运行的系统又如何去更新呢?所以,这是成本非常高、过程复杂且时间漫长的过程!其真正的结果就是「停止造新字!」,这就是这几十年汉字僵化的景况。
于是,当今的一字一码架构也就成了汉文字生机的死胡同!很无奈地,这却是当今汉字数字化所存在的事实困局!
二、沉重的一字一码
虽然现在这种人为的一字一码并不是完全地不可行,问题就在必须每隔一段时间以人工审议的方式追加新字码,而在字码尚未公布前,中文数字数据的转换、交换、搜寻比对都是不可能的,更别说是无法输入和无法印出这样的基本动作了。以佛教经典来举例,佛教典籍有庞大数量古字未被编码,早期佛教界做了许多典籍的输入,虽然耗费庞大的人力物力来造字,至今却仍是难以流通,但今天要全面的更新既有的系统又谈何容易!
既使在新标准公布之后,由于许多已存在多年的系统无法随着更新,要能全面地交换、搜寻和比对,仍然是一条漫漫长路,更别提 UNICODE 到 2006 年已经公布的七万多个汉字,表面上好像是解决了缺字的问题,但却也是一个庞大的系统负担(2006 年 Windows XP 大部分的字型也只放了两万字)。因此,这些汉字只是「存在」但并非常用,这不仅是小型信息设备无法承受内存的消耗(相较于英文文字系统是非常的庞大),就连我们在输入时,也无法忍受输入时每次从上百个字中挑选你要的字。
由于 BIG5、GBK、UNICODE 等几个主要中文码一样都是这种一字一码的架构,所以皆面临相同的困境。
因此,我要说「人为指定的一字一码是汉字数字化进程中的历史错误!」。
三、中文在一字一码的架构下固化了
我们中文汉字在每字指定一码的架构下,「以笔书写,自由创造」的汉字本来生命力不见了,因为这汉字在数字世界中「固化」了!
这样的固化现象是无所不在的,其效应也是无声无息地不易被察觉的。为了更具体的剖析说明这种失去活力的「固化」过程,这里再举几个例子来加以说明。
百年来,对人类非常重要的日常用具──电灯,按仓颉以来中文形声造字的法则,最终应是进化为「电登」这个「字」(注意「电」「登」两个部首并写成一个汉字,因为「现在计算机还没这个字码」,所以这里无法显示)(这个新字应是念做「登」)。
想一想,当电灯刚出现时,中国仍处于油灯的时代,借用火旁油灯的「灯」再加上一个电字来修饰当时的灯字。另外,像因特网(互联网)更已经是这数字时代生活密不可分的一部分,按仓颉造字进化的原理,它的新字应该是「互罔」,这便是一个文字活力成长的机制。
近几十年,我小时候的油灯现在已几乎看不到了,「电灯」普及了,我们已经不需要再说「开电灯」「关电灯」来与油灯分别,而直接说「开灯」「关灯」,这是语言本身随着生活时代不断演进的例子。你只要仔细观察,这种例子俯拾皆是。
其实,这个新时代新增的字很多,像 MODEM 这个英文字便是从 "MODulation and DEModulation" 复合而成,然而,由于目前中文码是「一字一码」,因此这个「调变解调机」(或用「调制解调器」简化)就被「困住」了,只因为中文没有字码也「不容易」另定字码!
这都是因为现在使用的是一字一码的定码机制,我们所能做的,就只是用现有的字码来组新词,无法造新字!尽管时代不断地演化,重要用品和概念不断地出现,我们却无法进一步跟着简化。
于是,英文字在进化,中文字却僵在原处!
四、中文在一字一码的架构下僵住了
在这个案例中,中文僵住了!OK,也许会有人说,「中文僵住了又怎样?日子还不是一样在过?」
当然,在 BIG5 时,用计算机、打手机简讯也都可以啊!没错,但是,其结果就是下面的光景在不知不觉中大量普遍地在进行着:
以「中央处理器」和 "CPU" 为例,许多人在生活中、文章中会不知不觉地会直接用 "CPU" 而放弃写冗长的「中央处理器」,真的,实在太累了,可是一用 CPU,就有许多小孩、老人和那些非信息背景的人不知道意思了!(像 ADSL、MODEM 这种字也都是一样的情形)。
而这样的情况不只是发生在信息界,也同样发生在学术、工程、科学、医疗、农业、生物、经济、管理…等等所有进化中的领域。这样的情况越久,中文所不能表达(或因不实用而被弃置不用)的字词就会累积得更多,长久下去,中文就这样无声无息渐渐地与时代脱节,也就慢慢失去一个语言的实用性与优越性!
各位要觉悟到,这种汉字的困局,是汉字的使用者必须自己关心解决的问题,外人不会替你解决,UNICODE 不断地编码,只是在解决跨国市场全球化的需求而已,至于这架构的好坏,对汉字文化的未来冲击,外人怎么可能替我们认真的面对!
五、字码在无声无息无所不再地影响我们!
字码的影响力是无声无息的,无所不在的,我们在不知不觉中,受到这种基本机制所制约而不自知。
为了让各位更清楚地看见中文码对中文活力的影响,让我们再举下面的这些例子来观察思考:
CPU 是计算机的心脏,在这个数字时代是如此的重要,所以常常被使用到。前面提到,大家宁可写 "CPU" 而不用「中央处理器」,因为写起来太冗长了。然而,换个角度,也是因为我们无法用「电心」(注意,这是一个汉字,因为 BIG5、GB、UNICODE 里还没有「指定」这个字,因为没有这个字码,所以也无法用计算机显示)这是个极简洁而恰当的新字。同样的,就像英文可以把 Personal Computer 简化成 "PC",但中国人却得永远写成「个人计算机」,难怪会有很多人直接写 PC。另外像「光盘」这个数字时代的关键储存装置,因为没有「光枼」这个字,所以只能用「光盘」,但「光枼」(这是一个字)就明显比「光盘」两个字来的有效率。(「计算机」的新「字」你一定马上可以想得到如何写了!停下来想一想,其实,字的演化是这么自然而且简单。)
再如英文 BIT 在计算机方面我们叫做「位」或「比特」,BYTE 则译做「字节」或「字节」,但其实 BIT 的零一单位就是在易经八卦中的「爻」(音「姚」或念成英译的「必」也很好),而 8 个 BIT 叫「爻八」(一样,要并写成一个汉字,念「拜」,再自然不过了),依此原则可以进一步造出 16BIT WORD,32 BIT WORD 的字,这样的自然演化其实只是还给汉字本有的活力而已。
六、新中文码的时代需求
我们需要一个能承载数字中文汉字的字码架构。
前面的分析应该能让你感受到,数字汉字码若要能承载中华文化中的活力,就必须具有新字词的演化架构,因为这个质素代表着数字汉字在中华文化中能继续具有重组与创新能力,而这些本来就是传统汉字既有的本质机能,并且也是一个文化要能继续生存发展所需具备的。
这种独特的构字能力,进一步来说,主要就是形声造字法,这是汉字特质,也是汉字的活力和魅力所在。如果无法造新字,其结果就是迫使文辞变得冗长生硬,因而渐渐失去它的简洁与优雅,减损了文字效率与实用价值,最后,终将面临被更简洁有效的文字系统所取代的命运。
汉字是把概念分类和发音浓缩到小小的方块内,这种二维的表达,比一维的英文字符串,承载了更丰富而精致的信息,实在是有效而理想的文字表达方式。我们只有找出汉字在数字世界中进化的活路,才能够让汉字继续保持它的实用与优雅。
相较于英文,汉字的优点,其实俯拾皆是,这方面的探讨很多,无庸赘述。在这里仅举一个简单例来说:「鱐、鯦、鱞、鲀、鳇、鲿、鱴、魦、鰇、鰗」,虽然你可能都没见过,不过大概知道不是鱼的名称、就是跟鱼有关系的事物,甚至已经可以想象,大概是属哪一型的鱼。有了鱼的部首,「有边读边,没边读中间」,就算读音不甚确定,也是八九不离十。反观英文就没这个好处,Tuna , crucian , salmon , bass, abalone , trout , scombroid,虽然都念得出来,但没有事先学过,根本看不出任何关连,恐怕只有鱼类学者才能弄明白真正的义涵。
◎ 结语
自从英文计算机发展以来的这几十年来,我们进行了一场「计算机中文化」的努力。然而,在计算机普遍使用的今天,事实上我们已经渐渐地从硬件与技术的限制中解放出来,整个信息产业正从「硬件技术」主导的产业转移到以「数据内容」为主导的产业。因此「计算机中文化」也进入了「中文计算机化」的新阶段,我们要从中文的真正本质与需求来运用计算机,而不再迁就于计算机硬件与技术。
当今的字码,不管是 BIG5、GBK、或 Unicode 都是人为指定的一字一码架构,而使得数字化的汉字失去既有的生命力,不仅使得汉字变成一种僵化的文字,也使得汉字渐渐地降低了他的实用性。这样的「历史错误」是我们要严肃地重新审视的。
中文码对一个数字中华文化的发展,其影响可说是既深且远,并且是无所不在的。在这中华文化迈入数字新世纪当中,中文字码的架构正从根从本地影响了我中华文化的未来,希望我们能及早发现这个议题的严肃意义,期能引发各界深思熟虑,寻求解决之道。
作者注:本篇文章希望让大众发现潜藏在我们生活中的字码是如何地影响着我们中华文化的现在与未来。如果能获得你的认同,欢迎转载与拷贝,让我们一起来等待新汉码的未来。
关于作者:陈昌江,网名阿江,部落格;毕业于台湾科技大学电机系,曾任易符智慧科技董事长(易符科技从事 CPU及嵌入系统的开发其中也包括中文字形及其相关的中文造字系统),现为「剎那搜寻工坊」筹备处负责人,主要从事中文数据库之搜寻及中文缺字之处理。
本文章参考易符智慧科技所发表「中文信息的表达与易符无限字库」,针对当今中文数字化之困局加以剖析阐述,文中许多观念源于中央研究院谢清俊教授之启发及叶健欣先生之导入,特此铭谢。全文依据创用CC「姓名标示 2.5 台湾」授权条款出版,授权条款之详细内容,请参考此处。