我出生在1980年,我太太出生在1990年。人家問我是70後還是80後,問我太太是80後還是90後,至今,我們倆都猶猶豫豫,我有時說是70後,有時說是80後,但怎麽回答都不能很堅定。所以,在家我們叫自己00後(取自80的0,和90的0),我是大零,她是小零。我們都是在童年的時候就開始玩計算機了。前兩天我跟她說看網上有人在爭是漢語更先進,還是其它語言更先進。她不經意地問了句:是誰,什麽時候把漢語字體編寫進個人電腦的?我說我還真不知道。用了半輩子了,我們卻不知道到底最初是誰,什麽時候,怎樣把博大精深的漢語字體編程進0與1的世界的,特別是微機(micro computer) 或者是PC(personal computer)的。於是我就稍微查了一下。
中國是當今世界上在電商領域最富有的國家之一,比如像阿裏巴巴、騰訊、字節跳動這樣有著無與倫比和琳琅滿目的商品供應鏈的世界著名龍頭公司。然而,這些當今前沿的技術革新都基於40年前的一項計算機技術的成果:中文處理技術的研發。中華文化博大精深,中國文字源遠流長,然而中文數字化曆史卻始於80年代,離我們並不久遠。我們現在之所以能在電腦上閱讀、書寫中文,離不開最初花費巨大的努力,將中文“搬到”電腦裏的那些人。斯坦福大學曾展出過2500餘件現代中國信息技術收藏品。
Image Credits: Louis Rosenblum Papers, Stanford University Special Collections
Draft bitmaps from the Sinotype III Chinese font, prepared prior to digitization.
Image Credits: Louis Rosenblum Papers, Stanford University Special Collections
80年代初期,中國從美國和西方大量購進計算機設備。1980年的時候中國僅僅進口600台微機,相比之下1985年進口了13萬台。可是不久中國的用戶和西方的生產商就發現了一個大問題:沒有任何一台西方生產的個人電腦、打印機、顯示器、操作係統、軟件程序等等能處理中文輸入或輸出。也正因為這樣的局限性,一個偉大的現代計算機技術的曆史瞬間,一個大膽的創業和別出心裁的工程設計故事造就了數字革命的全球化發展。
我們的故事要從美國圖形藝術基金會(Graphic Arts Research Foundation - GARF)講起,那裏是中文數字化的搖籃。那裏有一台叫做Sinotype的表意文字書寫機器。這個機器是在50年代後期由GARF資助,麻省理工學院的一位電子工程師Samuel Hawks Caldwell發明的(我估計是在美蘇冷戰時期,在中美建交前根據需要研發的)。這位工程師去世後,那個項目被擱置,幾經轉手又回到GARF手裏。
Keyboard of Sinotype I, designed by Samuel Caldwell in the late 1950s. Image Credits: Louis Rosenblum Papers, Stanford University Special Collections
這個項目能再次回到這個基金會還要感謝麻省理工學院的另一位大拿:Louis Rosenblum(路易斯·羅森布魯姆)。這位先生1921年生於紐約市,1942年從MIT應用數學本科畢業,師從Halrold Edgerton,這位可是世界級的電子工程教授 (他在30年代拍攝的照片“milk drop coronet”現在還在MIT博物館裏供人欣賞)。羅森布魯姆在70年代中葉接手Sinotype項目,後來還有其他幾位重量級人物加入——哈佛的漢語言學家Susumo Kuno, Richard Solomon 尼克鬆訪華時的外交使者等。GARF先後研製出在小型機上運行的Sinotype II,和在微機上運行的Sinotype III。Sinotype III 的開發要感謝路易斯的兒子,Bruce Rosenblum, 的加入。
布魯斯當時還是賓州大學的本科學生,他酷愛新聞攝影。1981年5月,布魯斯考完期末考試,造訪他父親的辦公室,在他逗留的30分鍾時間裏,被工程師們研發Sinotype II 所吸引,從而要求加入公司研發團隊。1981年6月布魯斯就呈現給他父親及同僚他的Sinotype III的提案,他要求基金能提供給他$7,500美金購置硬件和$5,000美金購置軟件的費用。他的提案承諾在4個月後交出能在Apple II上運行的中文處理係統。布魯斯遇到的最大的問題就是計算機內存問題——中文字體需要大量的內存。計算技術當初是基於拉丁文設計的,所以西方工程師和設計師隻需要用5x7的點陣圖就可以生出一個英文字母,每個字母或符號隻需要5個字節的內存。存儲95個可打印的字隻需要475個字節的內存,然而5x7的點陣對於中文字體是遠遠不夠的。工程師們嚐試著用16x16或更大的像素,每一個中文字需要至少32字節的內存。在80年代,8000個中文常用字需要25萬6千字節的內存,這就是4倍於市麵上的電腦內存,需要多大的隨機內存(RAM)和其他軟件支持還須另外設計。為了讓Apple II 能夠擁有80KB的內存,布魯斯自己重新寫操作係統,居然能夠比原來的內存多出25%,這樣就可以多存儲400多個漢字。11月感恩節前夕,布魯斯完成Sinotype III中文字庫,雖然當時隻能存儲1000個漢字,也沒有商業發布,但它的確是世界上最早能處理,顯示,輸入輸出中文的PC.
Sinotype III Computer Monitor. Image Credits: Louis Rosenblum Papers, Stanford University Special Collections
後來為了繼續增加中文字庫數量和提高速度,布魯斯和路易斯嚐試用過無數不同的方法。之後很多工程師開始設計各種硬件方案,比如“漢卡”,“中文卡”,“漢字發生器”等等,這些都被稱作“Chinese-on-a-Chip”(中文芯片)。清華大學在此基礎上研發出“Chinese Character Cards”, 可以存貯6000個32x32的點陣。80年代中後期,“漢卡”打入市場。
雖然路易斯和布魯斯及其團隊製作字體的方法在當今的技術語境下看起來是那麽古板和幼稚,但是也是因為他們那種很笨的逐字畫稿、反複修改的方法,漢字才得以進入數字世界,而當代畢生王選院士主持研製的高分辨率字形壓縮技術,更是徹底解決了漢字編碼儲存的困境。在這些前輩們的不懈努力下,中文正式走入互聯網大潮。當你在中文電商網站上購物,在中文論壇辯論的時候,你會不會在某個瞬間想到發生在40年前的這些故事,還有這些人?你們此時此刻在鍵盤上打出的每一個漢字都是他們孜孜不倦的努力成果。
後記:因為我出生的時候就用中文,所以我沒必要感恩祖先,免費的嘛,別人貢獻的嘛。因為我一出生就用電燈,所以我沒必要感恩發明家,免費的嘛,別人貢獻的嘛。Should we take everything as granted like this and never or no need to be thankful to the scientists and inventors? 在我把這個真實的故事講給你聽之後,你可以說我不是中國人,不是美國人,(I don't really care and I believe nationality will be gone one day)但是我能請你回答:我是不是一個decent的地球人? 如果你年齡比我大,我原諒你,你老了。如果你的年齡比我年輕,我會感到一絲悲哀,因為你代表著未來。 哦,另外請不要罵我不是人,因為你能看懂我寫的,我不是人你是什麽?謝謝!