第42章 五天!刀尖上的舞蹈

投票推薦 加入書籤 小說報錯

  第一天,星期二。

  金牧公司進入了某種戰爭狀態。

  食堂真的開始 24小時供應伙食——不是精緻小炒,是大鍋熬的排骨湯、成筐的饅頭和整箱的方便麵。會議室的白板上,「閃電計劃」的流程圖被細化成幾十個任務項,每完成一項就用紅筆打個勾。

  雷軍和小周一頭扎進了中文排版規則的汪洋大海。

  「這個規則……中英文混排時,英文單詞間用西文空格,中文標點後不用空格……」小周盯著從王選院士那兒拿來的厚厚一沓資料,眼睛發直,「但如果是中文裡夾雜英文縮寫呢?比如『CPU性能』?」

  「看上下文。」雷軍敲著鍵盤,屏幕上是他正在編寫的規則引擎框架,「如果縮寫是全大寫字母,按英文處理;如果已經變成中文習慣說法,比如『拷貝』,就當中文詞處理。」

  「那『Windows 3.1』呢?中間這個空格留不留?按西文習慣要留,但中文排版傳統里……」

  「留!」林牧的聲音從門口傳來。他端著一個不鏽鋼餐盤,上面放著幾個饅頭和一碗湯,「用戶需要清晰地區分這是專有名詞。我們的智能排版,不是要強行『漢化』一切,而是在尊重專業習慣的前提下優化閱讀體驗。」

  他把餐盤放在桌上:「先吃飯。規則可以慢慢磨,但引擎的架構必須今天搭出來。」

  雷軍拿起饅頭咬了一口,眼睛還盯著屏幕:「架構差不多了,基於優先級的事件驅動模型。但測試數據……」

  「溪溪晚上會送過來。」林牧說,「她聯繫了師大印刷廠,拿到了他們歷年排版中的典型錯誤案例,還有正確排版的樣張。足夠我們訓練第一版規則集。」

  另一邊,趙磊和老吳在攻關文件格式兼容層。

  「最大的問題是字體映射。」老吳眉頭皺成了川字,「DOS下的點陣字體,到了 Windows變成 TrueType矢量字體。一個字的大小、粗細、間距全變了。直接轉換,版面肯定亂。」

  趙磊調出兩個並排的窗口——左邊是 DOS版 WPS打開的文檔,右邊是 Windows預覽版打開的同一個文件。果然,Windows下的文字明顯「發虛」,行間距也不對。

  「我們不能簡單映射,」趙磊推了推眼鏡,「得做智能匹配。比如 DOS下的宋體 16點陣,應該對應 Windows下 12磅的宋體 TrueType,但這個換算關係不是線性的……」

  「做查找表。」林牧走過來,「把常用的字體搭配做成預設映射表。用戶第一次打開文件時,自動檢測並匹配,允許手動微調。最重要的是——」他指著屏幕,「轉換後的文件保存時,要能記錄下這種映射關係,下次打開時直接調用。」

  「那會增加文件頭大小……」趙磊猶豫。

  「增加就增加。兼容性優先。」林牧拍板,「先解決『有沒有』,再優化『好不好』。」

  深夜十一點,葉溪溪抱著一大摞資料來了公司。她看到燈火通明的辦公區和一個個眼眶發黑的程式設計師,嚇了一跳。

  「哥,你們真不睡覺啊?」

  「睡過了,剛醒。」林牧接過資料,發現這姑娘也頂著黑眼圈,「你也沒睡?」

  「幫你整理這些,可比背英語單詞有意思多了。」葉溪溪小聲說,又從包里掏出幾個飯盒,「我媽燉的雞湯,給大家補補。」

  雞湯的香味在技術氛圍濃厚的辦公區里顯得格外溫暖。幾個年輕程式設計師湊過來,眼巴巴地看著。

  「都有份。」林牧笑著分發,「喝完繼續幹活。」

  第二天,星期三。

  問題開始集中爆發。

  小周的規則引擎在測試時頻繁崩潰——不是邏輯錯誤,是內存泄漏。每處理完一個複雜文檔,Windows的可用內存就少一大截,運行幾個文件後直接死機。

  「指針沒有及時釋放……」小周抓著頭髮,「我明明檢查過了……」

  「不是你的問題。」林牧看著調試信息,「是 Windows的 GDI對象泄漏。我們頻繁創建字體句柄、畫筆句柄,用完後系統沒有及時回收。得手動管理。」

  「手動管理 GDI對象?」雷軍倒吸一口涼氣,「那代碼複雜度……」

  「總比崩潰強。」林牧坐下來,開始修改小周的代碼,「每創建一個 GDI對象,就登記到一個鍊表里。文檔關閉時,遍歷鍊表統一釋放。雖然笨,但管用。」


  趙磊那邊進展更不順利。字體映射表做了三套方案,測試結果都不理想。有些文檔轉換後版面錯亂得一塌糊塗。

  「要不……我們放棄完美兼容?」趙磊試探著問,「只要內容不錯就行,版面讓用戶自己調整?」

  「不行。」林牧堅決搖頭,「評審組裡有很多老專家,他們用慣了 DOS版 WPS。如果看到 Windows版把他們的文件排得亂七八糟,第一印象就毀了。繼續試。」

  下午四點,壞消息傳來。

  葉文斌打來電話,語氣凝重:「聯想動手了。他們在全國主要城市的代理商那裡,推出了『買聯想電腦,送正版 Microsoft Works』的活動。雖然不是完整的 Office,但足夠有吸引力。」

  「我們的預裝比例呢?」

  「從昨天的 32%跌到 19%,而且還在降。」葉文斌頓了頓,「更麻煩的是,我收到風聲,聯想的人在接觸我們幾個核心渠道商,想讓他們主推『聯想-微軟』組合。」

  「明白了。」林牧掛掉電話,走到窗前。

  窗外天色漸暗,中關村的霓虹開始亮起。街道上,一輛印著「聯想電腦」GG的公交車緩緩駛過。

  競爭從來不會等你準備好。

  他轉身回到辦公區,拍了拍手:「所有人,停一下。」

  幾十雙疲憊的眼睛看向他。

  「剛得到消息,聯想開始用微軟的產品打壓我們。」林牧的聲音平靜,但每個字都清晰,「他們說,國產軟體不行,還是要用國外的。」

  會議室里一片死寂。

  「我想問問大家,」林牧環視眾人,「我們這五天在這裡拼命,是為了證明他們說得對嗎?」

  「當然不是!」雷軍第一個站起來,眼睛通紅。

  「那是什麼?」林牧追問。

  「是為了證明……」趙磊也站了起來,聲音不大但堅定,「我們中國人做的軟體,可以更好用。」

  「對!」小周把鍵盤往前一推,「微軟懂個屁的中文排版!他們連中文標點懸掛都做不好!」

  情緒像火星濺入油桶,瞬間點燃。

  「那就讓他們看看。」林牧走到白板前,把「閃電計劃」四個字圈起來,「五天,我們要做出一個讓微軟都做不到的東西。不是為了賭氣,是為了告訴所有中國用戶——」

  「你們可以有更好的選擇。」

  第三天的凌晨,奇蹟開始出現。

  小周改進了 GDI對象管理算法,內存泄漏問題解決了 80%。雷軍的規則引擎第一次完整處理完一份二十頁的學術論文,自動修正了十七處排版錯誤。

  趙磊和老吳在試到第九套字體映射方案時,終於找到一個平衡點——轉換後的版面不能說完美,但至少「不亂」,關鍵的文字對齊和段落縮進都保住了。

  「可以接受。」林牧看著測試文檔,「保存映射信息的功能做好了嗎?」

  「做好了。」趙磊調出文件頭的十六進位數據,「這裡記錄著源字體、目標字體、縮放比例……下次打開時直接讀取。」

  「好。」林牧看了眼時間,「現在是凌晨三點。還有兩天半。」

  第四天,星期五。

  成品開始成型。

  Windows預覽版的主界面被徹底重做——不再是簡陋的灰盒子,而是有了符合 Windows3.1風格的菜單欄、工具欄,圖標雖然還是粗糙,但至少是「現代軟體」的樣子了。

  智能排版引擎集成進了「工具」菜單,用戶可以對選中的段落或全文應用自動優化。

  公文模板庫做了出來,雖然只收錄了最常見的十種格式(請示、報告、通知等),但每個模板都嚴格遵循國家標準。

  多版本兼容經過幾百個文件的測試,穩定在「85分」水準——不是完美,但絕對可用。

  下午,林牧召集了一次全體演示。

  當雷軍打開一個在 DOS下精心排版的複雜文檔,Windows版幾乎瞬間加載,版面保持度超過 90%時,會議室里響起了掌聲。

  當小周演示智能排版,把一段中英文混雜、標點混亂的文字一鍵優化成出版級水準時,掌聲更熱烈了。


  當趙磊展示公文模板,三分鐘生成一份格式規範的紅頭文件時,老吳都忍不住叫了聲「好」。

  「還有一天。」演示結束,林牧站在台前,「明天周六,大家……再堅持最後二十四小時。」

  沒人抱怨。所有人的眼睛裡都有光——那是看到自己親手創造的東西從無到有、從丑到美時,才會有的光。

  晚上八點,葉溪溪又來了,這次帶著她媽媽做的紅燒肉。

  「我爸說,」她一邊分飯盒一邊小聲對林牧說,「聯想那邊暫時穩住了。他找了幾個大渠道商吃了頓飯,曉之以情動之以理,還……稍微提了提部里項目的風聲。那些人精,知道該站哪邊。」

  「謝謝叔叔。」林牧夾了塊紅燒肉,感覺這是這幾天吃過最香的東西。

  「還有……」葉溪溪臉忽然紅了,「房子裝修好了。我媽說……等你忙完這陣,可以……可以去看看。」

  林牧看著她微紅的臉頰,心頭一軟:「好。忙完就去。」

  第五天,星期六。

  最後衝刺。

  上午主要是打磨細節——修正已知的 bug,優化啟動速度,完善幫助文檔。

  下午三點,林牧要求所有人停下來,進行最後一次全功能測試。

  測試文件是一個故意製造出來的「地獄級」文檔:混合了中文、英文、日文片假名(測試亂碼處理),包含複雜表格、數學公式、插入圖片,排版一塌糊塗。

  雷軍深吸一口氣,點擊打開。

  加載進度條緩慢移動……10%……50%……90%……

  文檔打開了。雖然有些日文字符顯示成亂碼(這在意料之中),但整體版面完整。

  應用智能排版。

  屏幕閃爍了一下,文檔重新渲染。混亂的段落對齊了,中英文間距規整了,懸掛標點修正了。

  另存為 DOS版 WPS格式。

  再重新用 Windows版打開。

  版面保持度,測試軟體顯示:92.7%。

  「過了!」雷軍猛地揮拳。

  會議室里爆發出歡呼聲。有人把手中的筆記本拋向空中,有人抱著身邊的人又跳又叫。

  趙磊摘下眼鏡,使勁揉了揉眼睛。小周癱在椅子上,長長吐出一口氣。

  老吳看著屏幕上那個規整的文檔,沉默了很久,最終拍了拍林牧的肩膀:「小子,你們……確實做到了。」

  林牧沒有歡呼。他走到窗邊,看著外面已經暗下來的天空。

  五天,一百二十個小時。

  他們真的在不可能的時間裡,做出了一個「演示版中的戰鬥機」。

  但這只是開始。

  下周三的初審會,才是真正的戰場。

  「所有人,」他轉過身,聲音因為疲憊而沙啞,但異常清晰,「今晚好好睡覺。明天周日,放假。周一……我們開始準備匯報材料。」

  人群逐漸散去。

  林牧最後離開公司時,已經是晚上十點。他站在樓下,抬頭看著金牧公司那層還亮著幾盞燈的窗戶。

  口袋裡的大哥大震動,是葉文斌。

  「我剛跟評審組的一個老朋友通了電話。」葉文斌的聲音很輕,「他透露了個消息……周三的初審,微軟中國的人會作為『特邀觀察員』列席。」

  林牧握緊了電話。

  「還有,」葉文斌頓了頓,「聯想的人,也在想辦法入場。」

  「明白了。」林牧說。

  掛掉電話,夜風吹來,帶著深春的暖意。

  林牧最後看了一眼公司的窗戶,轉身走向夜色。

  刀尖上的舞蹈,才剛剛跳完開場。

  真正的觀眾,現在才要入場。

  而他準備好的節目,一定會讓所有人都記住。

章節目錄