Google 有不少宏伟的计划,比如图书数字化和无人驾驶汽车,而其字体计划 Noto 却鲜有人关注。一般来说,如果系统不支持某种语言,就会显示一个空白的方框,国外一般将它称为“豆腐”(Tofu),而 Noto 就是“No Tofu”的缩写,旨在统一全世界语言的字体,消灭乱码。
前不久,Google 联合 Adobe 推出的泛亚字体——思源黑体,它适用于中文、日文和韩文,就是 Google Noto 项目的一部分。Google 似乎往前迈出了一步,但想要统一字体,还有很多困难。
编码问题
字体统一计划最早可追溯到 1987 年,当时 Unicode 联盟发起了一项语言字体研究,并在后来推出了 Unicode 标准,一套支持多语言处理和显示的字符编码系统。Unicode 会为每种语言的每一字符提供唯一的编号,称为码点(code point)。Google 的 Noto 也与 Unicode 标准相兼容。
Unicode 在统一汉字的过程中就遇到过困难,它想为中日韩共用的字符创建一个单一的字符库,不过当时技术条件不允许,而且码点很快就用完了,这对想统一世界语言的计划来说,是一个很大的打击。而且,即便中日韩的汉字看起来很相近,但他们却代表了不同的文化模式,有很多细微的差别。统一的字符集会造成拼写混乱。
不过技术在进步,现在同一字符的变形不必再使用同一编码,Noto 也是第一个真正支持中日韩三国汉字的开源字体。
小语种问题
Noto 支持的语言很多,即便是一些濒临灭绝的语言,如因纽特语(Inuktitut),也在其射程范围。这让很多使用着几乎被世人遗忘的语言的人感到很欣慰。
Tlingit 一种濒临灭绝的印第安语言。这种语言还算幸运,因为它使用拉丁字母表进行书字。Noto 的拉丁字体就能支持 Tlingit,不过也仅仅是部分。许多词汇要加注变音符号,书字时要加以区别,但 Noto 现在这方面做的还不够多。
有趣的是,除了一些快灭绝的语言,Noto 还支持一些古怪而有趣的语言字体,比如萧伯纳字母(shavian alphabet),《魔戒》作者托尔金所创制的架空文字。不过被数百万人使用的另一种印度语 Oriya 却不在其中,也让很多人感到不满。
字体不能反应文化背景
另一种情况是,即使 Noto 支持某种语言,其字体也不能准确反应出语言背后的文化。乌尔都语(Urdu)就是一个例子。
nastaliq 体的乌尔都语书写华丽不规则,有很多古老的诗集都是用这种字体写成,被认为是乌尔都语的精髓,但并不受 Noto 支持。而 naskh 体的乌尔都语则线条分明有规律,编码起来很简单,也因此包括在 Noto 中。这让很多人感到不满,因为系统中的文字并不能真正反映当地的使用情况,而不少人在分享相关文本时,也不能直接复制粘贴,只能以图片的形式传送。
乌尔都语的情况与汉字当时的情况相反,前者是需要多个编码对应一个字符(有文体区别),而后者是试图用一个编码代表多个字符。类似的情况还有中文的草书、行书、楷书等,这都需要更进一步的研究。
Google 的字体计划是一个不断调整与妥协的过程,要兼职美观与功能性有很大的难度。不过语言文字是人类社会的重要组成部分,多花一些时间也是值得的。