本文来自微信公众号:果壳 (ID:Guokr42),作者:睿悦,题图来自:《九品芝麻官》
山东日照,冫口(zhan4)子庄的四个村委聚在一起,编村志。它们的官方村名叫“栈子庄”,村委不管这一套:村志就要写“冫口子庄”。
庄子和字一起诞生于晚清时期。两条即将入海的小河夹绕着村庄,人们在此聚集,然后定居。有识字的读书人根据这个地理特征,自创了“冫口”字当作村名——远行游子看到这个字,就能想起家乡模样。
道光年间,经由村内 26 位村民公议,将村庄起源刻在碑上,立在村子里。后来这里成为抗日模范村,还出了著名的地质学家叶连俊。祖祖辈辈,村民每次写地址,都是两点水一个口。
冫口子庄地图,地图中,这里叫栈子村|地图截图
直到上世纪 80 年代,国家开展第一次地名普查,村民这才知道,自己家乡的名字,被称作“生僻字”,在电脑里打不出来。没办法,官方只能选了同音字“栈”来替代。地图、政府网站、公文汇报里,这里是“栈子庄”;但在村子里的服务中心、商户牌匾、小学校名,这里还叫“冫口子庄”。
村民们开启了捍卫“这个电脑里不存在的字”的漫长过程。他们先是集资修复了“公议公称碑”,还在外面建了个亭子为石碑遮风挡雨;然后又开始编撰村志,继续强调村名的来历和其背后的村史——“要是这个字能进电脑就好了。”
第一步:迷失中的打捞
要让生僻字进入计算机,第一步是发现和判断它。
在粗略统计中,中国流传下来的汉字数量在 30 万以上,其中只有大约 3500 个为常用字,剩下的都可称为“生僻字”。
维基百科里,“生僻字”被定义为:使用率极低,甚至音义均难考证的汉字。实际情况比这个有趣。
有的生僻字挺简单,你甚至以为是常见字。比如“口当”,现在在电脑、手机中还不能便捷地输入和显示这个想象中会很常见的拟声字——“叮叮当当”长这样,没有口字旁。
有的则带着故事。Zhao3,由“山、西、人”三个部分组成,山东人用来指口音不同的外地人(有的地方用同音字“侉”表示类似意思,还有写作“山、东、人”的)。山东的地方戏曲枣梆,原来就叫 zhao3 梆,因为这戏就是从山西传来的,唱戏的口音和“大伞冻”话不一样。
左为 zhao3,右为 kua3|生僻字小程序
有的字,源头不一定是汉语,可以是少数民族的字,与汉字搭配着出现在地名或人名中;有的字还在使用着古方音。
图1-2:rang4,含义为水牛,是土家族语,因为土家族没有文字,所以当地人以汉字“水牛”创制该新字
图3-4:peng2,含义为草木旺盛,用四个木会意,用于浙江省南部方言
图5: 网络自造字,biu4,指发射的声音
图片来源:受访者提供、《湖南省永顺县地名录》《浙江省天台县地名志》
还可以是历史中的各种“自造字”。最著名的例子,是武则天在登基后自创“曌(zhao4)”字为自己命名。曌,寓意着日月当空。
“生僻字”散落在生活的每一个角落,其中很多仍未进入计算机字库。对于大众而言的“生僻”,却是每一个生僻字使用者难以逃离的身份认同和日常必需。
尤其当一个生僻字出现在地名和人名,遭遇的就可能是不得不手写的户口本、比常人繁琐数倍的登机手续、无法实名制的支付账户,甚至因为名字打不出而被取消的保研资格。
这些生僻字散落在不被人注意的生活角落,需要人特意拾起。王谢杨就是一位“专业拾字者”,他从大学时就开始乐于挖掘生僻字:利用网上的学术数据库,或是从二手书店里,找到各种地名志、契约、文书、贺信……一页页翻,看到有可能是生僻字的就记下来。
冫口字就经由村志发现|受访者供图
王谢杨的工作,就像在文献大海里淘寻那些形色罕见的贝壳,辛勤之上,运气为主。为了更好地拾字,他曾休学一年,翻完 2000 余本地名专着,最终找到 500 多个生僻字。
每“淘”到一个生僻字,王谢杨都要进行一番“调查”,以证明字的使用价值和实际意义——有一定历史、含义明确的叫做“活字”;而那些个别人一时兴起自造的、音义模糊、价值不明的,叫“死字”。这是对于生僻字生命力强弱的判定。
“出处”,是证据否成立的主要判断标准:1949 年前的,刻版的古籍最优——手抄版字体变化大,不算好证据;1949 年后的,正规出版的印刷体文献才能算证据。
一则出现在正规期刊发表的学术论文里的证据,比出现在学位论文里的更优;字出现在报纸、路牌、路标上,也算证据;政府开的公函,证明该地区的确有人在使用某生僻字的,是最可靠的证明。
人名地名生僻字的常用省份|资料来源:腾讯
如果上述的证据都找不到,或者证据上的字显示得不清晰,王谢杨就只能先把这个字记在脑子里,等着哪天在文献海洋中重逢——现在,装在他脑子的这种字还有四十多个。
好在找证据的过程并不枯燥,追溯字的归属过程有种诗意。王谢杨喜欢登山探险家乔治·马洛里的故事,在现代登山设备还未出现的时候,这位 1886 年生的探险家多次想要攀登珠峰,并最终为此献出生命。有记者问他“为什么要攀登珠穆朗玛峰”,乔治给出了一个简单而后闻名于世的回答,“因为山就在那里”。
第二步:字的“身份”
拾字、考证,都是为了向制定国际字符编码标准的组织提交申请——这是生僻字数字化的第二个关口。
电子设备并非天生显示汉字。电脑、手机……这些电子系统的底层原理都是处理二进制数据,要让电子设备显示汉字,需要让汉字和二进制数据形成映射关系,这便需要对汉字字符进行编码。
近代计算机诞生在西方国家,设计之初没有考虑过显示汉字。80 年代最具代表性的个人电脑,美国的 IBM PC,系统里仅包含了字母、数字、符号共 256 个字符;早期的 Windows 系统,也不支持中文——那个年代开始接触计算的中国人,一定都还记得“汉化软件”“汉化卡”“汉化机”这样红极一时的产品。
IBM PC|wikimedia commons
相对英文字符,汉字的数字化要复杂得多。
首先数量就是一个坎,26 个字母能组成所有的英文表达,而中文这种表意文字(或语素文字),每个字都是单独的符号,编码量和英文完全不在一个等级。
汉字的显示也更复杂,IBM PC 里的英文字符,都以 9 * 14 像素点阵的形式呈现,而汉字至少需要 16 * 16 像素才能显示清晰——这进一步又对储存提出了要求,当时电脑的存储容量还在 KB 的量级,很难容下又大又多的汉字字符。
可电子信息浪潮无差别地冲击着每一个拥抱现代化的地方。BP 机(传呼机)、游戏机、相机……这些全球时兴的电子产品立刻在中国开始流行,解决汉字数字化的需求迫在眉睫。
1991 年,山东一家叫浪潮的公司自行编制“传呼通信用汉字信息表示及其编码字符集”,自定义编码规则,将汉字送进了自家的 BP 机——“我这个,汉显的”,一度成为 BP 机高配的标志。这是一种当时流行的解决方式,各类电子设备和操作系统各自编码,分别解决汉字显示的需求。
BP机|百度百科
在 BP 机这类只需要显示汉字的产品中,自行编码能解决问题。但很快,计算机开始普及了。
与 BP 机不同,计算机的交互是双向的,普通消费者汉字输入的问题就此出现了——而且,这种交互还是跨系统和跨产品的。仅能显示汉字已不足够,这要求汉字有统一的编码标准,否则在 A 软件上能输入和显示的汉字,在 B 软件上很可能是一堆乱码。
没有统一标准,输入法也会出现问题。如果输入法的编码标准和计算机的编码标准不一致,便会出现一个字在输入法键盘里有,但计算机文档显示不出来的情况。
1991 年,Unicode 标准(也叫万国码)在这个背景下诞生,它准备了 17*65536 个码位(17 被称为“平面数”,每个平面能装下 65536 个字符),用于为世界上所有国家/地区的字符、标点、符号赋码。等于将以前编码上的各自为政,收归为统一标准。更关键的是,全球通用。
汉字是一种世界性的文字,通行于中国、日本、朝鲜、越南、新加坡等地。实际上,早在上世纪 60 年代末,日本便开始思考如何将 2 千多个日文汉字塞进计算机系统,是首个研究汉字数字化的国家。
“次”字在中国、韩国、越南、日本汉字标准中的变体|wikipedia
日本最终研究出 JIS C 6226 编码标准;在韩国,这个标准有 KS C 5601;中国有 GB18030;中国香港有 HKSCS——整个汉字世界的编码标准四分五裂。
如果你经历过那个时候,大概率还会记得玩日本盗版游戏时,需要先准备好转码器,才不至于盯着满屏乱码一脸懵的经历——还记得四通利方、南极星、东方快车么?还记得游戏中名叫“变巨”的“治世能臣乱世奸雄”么?
Unicode 标准字符集中的汉字部分被称为“中日韩统一表意文字”,使用汉字的人遵循同样的原则和标准,提交待编码的汉字。不同地区字形一样或差异不大,字义相同的汉字,依次排开,都放在同一个编码下——一种真正的全球化。
字被发现,获得编码,这是一个属于汉字的“千与千寻”,它不仅收获了计算机系统里的唯一位置,也找到了世界汉字家族中的一席之地。
第三步:连接的价值
崙(lun2),昆仑也,源于《山海经》,月山之意。吴晓仑的父母用这个字的简体版给他命名。
lun2 字在 Unicode 标准字符集中的代表字形|受访者供图
这开启了他比常人更难坐飞机、更难乘火车、更难用支付宝和网银转账的生活。
Unicode 标准解决了汉字没有统一标准的问题,但对于生僻字而言,这远远不够。
在 Unicode 标准的 17 个平面中,目前只启用了第 0、第 1、第 2、第 3 和第 14 平面用于编码特定的字符,其中汉字编码在第 0、第 2 和第 3 平面,新加入的汉字一般放在第 3 平面。
为了保证实用性和效率,不让有限码位浪费,汉字编码标准优先收录常用汉字,使用频率少的生僻字则依次排队。运气好,证据充足的,可以在每两年一次提交新字的周期里获得一个站在 Unicode 标准大门前的机会,并在等待 3-5 年的审核后,纳入 Unicode 标准——这就是一个未编码汉字获得编码的常规周期。
这样的时间跨度,对于每一位生僻字使用者而言,太过漫长了。
第一代身份证|百度百科
2004 年,公安部在全国推行二代身份证,将由塑封套和卡片组成的身份证升级为带有电子芯片的版本。公安字库也一并升级,4600 多个曾经手写的生僻字进入公安系统,有了四平八稳的电子字体,和常用汉字一起印在身份证上。
当时,公安系统使用了 PUA 码(私人使用区,Private Use Areas)表示这 4600 多个生僻字——这是 Unicode 标准体系下的私用码区,如果有人想在 Unicode 标准框架下显示 Unicode 标准尚未编码的字符,可以用这些私用码区的编码来暂时表示对应的字符。不过,使用 PUA 码的字符在其他电子设备或系统中难以显示,更不用提互相交流。
当时代进入“实名制+移动互联网时期”,这套作为折衷方案的 PUA 码就引发了新问题。
身份证上能显示的生僻字,并不存在于其他信息系统中,买机票、网购、网银转账、上网发评论……大多需要实名制的地方,这些生僻字还是只能用拼音甚至一个*/□代替,这并不符合实名制规范。
吴晓lun 的银行卡只能使用拼音|受访者供图
也有一些妥协的办法。云南丽江傈僳族的村民,就集体将自己的古姓氏“鸟甲(nia4)”,改成鸭——生活倒是方便了,但他们并不开心。
2022 年,国家标准委联合有关部门推出新版《信息技术 中文编码字符集》(GB 18030-2022),新增 1.7 万余个生僻汉字。这是中国官方的编码标准,具备强制执行力,跟随 Unicode 的更新而更新,但仅专注于中文部分(包括汉字及少数民族文字),有专门的机构和行政部门推广和监督执行。
国标在 2000 年和 2005 年有过两版,其中 2005 版收录了 7 万多个汉字。但其中仅有 2 万多汉字是强制性的,其他均为推荐性。这导致市场上的大部分信息技术产品最多支持 2 万多个汉字。
17 年后推出的新版国标改为全文强制,并将需要数字化的汉字分为三级,电子产品实现级别 1,包含 2 万 7 千多字;政务和公共服务系统需实现级别 3,即包括生僻字在内的全部汉字。
这至少能让生僻字使用者不再被挡在买车票和网银支付等生活基础需求之外。
第四步:画出一个漂亮的字
2017 年,村委执意编写的《冫口子庄村志》被王谢杨发现,他将村志作为证据,向 Unicode 申请为“冫口”编码,五年后,“冫口”和约 300 个生僻字一同通过审核,获得了 Unicode 标准中的编码。
“冫口”字在 Unicode 标准字符集中的代表字形|受访者供图
但这不等于电脑就能打出“冫口”。
电脑显示汉字的逻辑大概如下:首先,电脑读到一串数据,判断是否为文本数据——若是,则根据该数据(该字的编码)调用字体文件中的字形——经一系列渲染操作,电脑上显示出字形。
也就是说,拥有编码只解决字可否在数字系统中存在的问题,要显示字,还需要字库和字形。
新版《信息技术 中文编码字符集》发出征求意见稿时,服务商之一的汉仪字库就开始了生僻字的字库建设工作,其中两个重点:一是让这些字都遵循新版的编码标准(如果字形编码和市场通行的码不在一套标准,也会出现无法显示的问题),二是设计字形。
生僻字的特性在第二步被放大。下面是一张生僻字列表,你可以直观感受下这些字都长什么样。
部分生僻字|GB 18030—2022
当设计师面对一个从未接触过的字形的时候,也只有纸质版的字形标准文件可以参考(无法获取字形字体的电子文件)。笔画繁杂的生僻字在纸张上只有毫米大小,设计师“难免看错”。比如䴎(lei3),正在阅读的你可以想象下没有屏幕放大功能时,不看漏每一笔画有多困难。
保持美观是另一个问题,常规字的结构大多简单,设计起来有一套规律,比如“上下同形,上小下大”“左右同形,左小右大”等。生僻字不管这些,它们或像肿瘤,所有部件恨不得挤在一起;或过于云淡风轻,像一个还没写完的偏旁。
设计常规字时,高频出现的部件/部首还可以从以往的设计中复用。生僻字的部件大多罕见,比如“呙”“兯”“婣”,你很难在常用字当中看到类似组成部分。面对这些一次性的部件,设计师只能重新审视其位置和大小,一笔一划重新来,像是回到手工时代。
比起写字,“更像在画画”——汉仪字库的产品经理这么形容。
生僻字与常规用字的对比|YouTube by οοοooohmygosh
漫长的闯关进入关键一步——输入。
第五步:并非终点的输入法
这里有一个生僻字需要你输入,阒,你会如何输入?肸呢?
不认识很正常,你可能会根据熟悉的字形部分猜它们的读音,在输入法打下“chou”和“pang”,再一页页翻找。只可惜,他们读“qu4”和“xi1”。
既然“生僻”,那就会时常遇到要么不会读要么不会写的情况,最常见的拼音和笔画输入都会碰壁。面对这些问题的输入法就需要新的输入逻辑——拆字。比如“慭”,用户会输入这个字中最常见的“夹”,“犬”和“心”,希望用组合方式找到这个字。
搜狗输入法在内部搭建了生僻字键盘项目组,一个一个模拟用户会如何拆生僻字。这又是一个纯靠直觉的手工活,拆字员 A 的思路和 B 的可能完全不一样。
比如“峄”这个字,有的人按“山+择”的思路拆,有的人更碎,拆成“山+又+丰”,还有人采用模糊拆法,拆成“山+峰”。
这就需要不同的人二拆,三拆。生僻字键盘项目组在 3 个月内,拆字 1 万 7 千多个,前后总共拆字超 9 万个。如果用户反馈不好,再从头拆。目前,每天有 1 万多人通过生僻字键盘输入 4 万多字。
搜狗生僻字键盘|受访者供图
可作为离用户最近也是最直观的环节,输入法总是接到用户投诉,“为什么我身份证上都可以打出来的字,你输入法里都没有”——用户往往认为,生僻字输入输出的问题,都是输入法的锅。
“90% 的用户认为输入法解决生僻字问题就可以了,但不知道生僻字的数字化其实是一个个复杂的系统工程”,搜狗输入法生僻字解决方案项目主管辜海玻解释。“除了输入,还需要解决生僻字的显示、存储、传输、输出、打印等环节,打通生僻字数字化的所有链路,一个生僻字才能在信息系统内顺畅地使用。”
为了执行新国标,搜狗输入法 2022 年开始对输入法产品进行改造。它放弃用了 16 年的底层架构,将以前也用 PUA 码显示的字统一改为 Unicode 编码,并扩展了字体。
这是一套艰难而漫长的流程,理想的终点,是一个生僻汉字能显示、输入、在数字化的世界中无障碍地使用;而回归的起点,则是要让全社会和全部数字系统都贯彻落实统一标准——90 年代编码标准的混乱,依旧很大程度影响着今天,身份证上能显示的字在其他系统依旧“查无此字”,哪怕在同一家医院,挂号和开药都可能是两套编码。
生僻字征集小程序|截图
“其实不需要每个系统都重新编码,做好转码映射,让每个产品都能显示出国标上规定的字即可”,工信部电子工业标准化研究院中文信息研究室主任黄姗姗称,“技术上这些都很容易,重点是让整个社会意识到生僻字标准统一的重要性。”
今年,电子标准研究院加大新国标的宣传力度,也在配合支撑主管部门开展标准符合性检测等工作。
数字系统的各方也在尝试联合。今年春季,联合国中文日前后,一款联合了腾讯、电子标准研究院、汉仪字库等多方机构的生僻字征集小程序曾火热一时。到今年六月入夏时,小程序上就已经有 2.1 万人参与提交 5000 多个(去重后)生僻字,其中有 300 多个生僻字通过此渠道来到专家考证环节,有望在明年收入新国标和国际标准。
生僻字小程序中提交次数前十的生僻字|受访者供图
8 月 1 日,字符编码强制国家标准 GB18030-2022 正式施行。“冫口”字因在 2022 年才获得 Unicode 编码,暂时没能进入新国标。——未进入新国标,后面的步骤就更没人有动力去完成了,“冫口”字就这么被丢在了字形设计和进入字库那一步。
村民倒也并不气馁,他们还专门编写了一首歌,庄里的小孩从小唱着“弯弯的河流,涟然微漾”,记住村子外流淌着两条小河,歌名就叫《冫口子小学校歌》。
希望下次在输入 zhan 时,他们能看到自己的家。
参考文献
[1] 地名生僻字提交编码情况及音义考证
[2] 生僻地名用字编码工作现状
[3] 陈壮. 中国在 ISO/IEC JTC1/SC2 的活动与中文编码的国际标准化[J]. 中文信息学报, 2007, 21(4): 122.
[4] https://www.chinanews.com.cn/cul/2011/12-02/3503995.shtml
[5] https://www.thepaper.cn/newsDetail_forward_16573331
[6] https://www.icst.pku.edu.cn/fqlm/icst_35th/zxbd/1223569.htm
本文来自微信公众号:果壳 (ID:Guokr42),作者:睿悦