顯示具有 i18n 標籤的文章。 顯示所有文章
顯示具有 i18n 標籤的文章。 顯示所有文章

2007年6月20日 星期三

多國語言支援的圖形化kboot

上週二 (Jun 12) 在TOSSUG聚會活動「2007 年第 7 場心得分享 - 組字的核心:字的結構」時,展示「Xorz/Embedded的動態組字實做」並提及可能的應用形式,我舉了關於boot loader的例子,作為說明動態組字技術在嵌入式系統的重要性。的確,隨著虛擬化技術與能源管理技術的突破,boot loader越來越多元,針對前者,得配合virtualization executive做出不同的啟動程序,而對後者來說,動態進階能源管理所建立的「中間資訊」(suspend to RAM / suspend to Disk),也需要作合理的處理,這都需要高度彈性的boot loader涉入。另外,我們可從DSLinux (port Linux to the Nintendo DS gaming console) 與PS3 Linux (SONY PlayStation 3的Linux移植) 等計畫發現,其移植的途徑不同以往,而是大膽採用kboot/kexec的機制來降低移植的難度,並提供多樣的應用方式,詳情可參考之前的文章「kboot初探與模擬驗證」。

早上在hack OLPC時,又想到上述議題,所以我決定作個概念性驗證的實做,驗證kboot這個「功能強大的Linux boot loader」對OLPC的影響。以往的boot loader雖然實做了圖形介面,但功能是很侷限的,頂多只能產生靜態選單與底圖,筆者的想法就是,用一個簡單的圖形系統取而代之,提供真正有彈性的使用者互動機制,而我們有Xorz/Embedded。另外一個議題是,我們應該允許不同的開機方式,比方說透過網路或USB隨身碟,而且可在任何時間切換,使用情境很直覺,可以假設一開始運作缺乏中文系統的OLPC預設Sugar UI,等有需要的時候,插入USB隨身碟,系統會彈出一個boot畫面,提示使用者是否要重新開機,因為透過kexec系統呼叫,這一切將會非常快速 (跳過BIOS與硬體初始化),而USB隨身碟上面的系統當然就可以有中文或者其他客制化的環境。

同時,筆者也想藉此彰顯在「組字技術與手持式裝置的新機會」一文表達的想法,為何我們千方百計想把CJK (中日韓) 語文整合到嵌入式系統設計呢?或許我們會犧牲美觀,但是可帶來對於多國語文最基本的顯示能力,這大可整合到boot loader或kernel中。聽起來很玄,俗語說:「一圖勝千言」,看看現在的進度:
以上呈現的想法就是動態讀取裝置列表 (透過udev與FreeDesktop HAL),讓OLPC的軟體建設得以作基本的probing處理,進而在小型的圖形環境中產生對應的動態選單與動作描述。圖片展示了讀取USB Disk,並取出其中的中文標籤,以選單方式讓使用者決定系統的啟動與否,甚至,我們可透過網路來啟動或更新整個OLPC,這一切將可相當有彈性。

附帶一提,右下角的圖示就是「OrzLab的吉祥物」:「囧囧」,正準備跳出傳統的PC,走向多種嵌入式系統裝置的新應用。

OLPC Hack Meet-Up Day

Mat稍早寫了「PCManX on OLPC」一文,提到他最近對OLPC所作的修改,並試圖移植知名的BBS連線程式PCManX到該平台上,不過礙於OLPC底層未能提供足夠的基礎建設,所以Mat發起一個活動「OLPCHackMeetUp」,邀請更多同好齊聚hacking。以下引述介紹文字:

== 活動宗旨 ==
國際知名的OLPC(One Latop Per Child,百元電腦)計劃正在進行,硬體製造的業務也由國內的廣達代工。然而國內社群對OLPC相關的知識並不多,軟體方面也參與的很少。 因此希望能藉著發起這個活動,引介自由軟體愛好者實際參與OLPC的軟體開發,同時能互相交流軟體開發的經驗和心得,並以開放的方式回饋給OLPC計劃與自由軟體社群。

== 活動目標 ==
在目標的選定上,我們希望能以一個近程目標來秀出我們的特有的特色軟體。於是我們選定開放的BBS軟體PCManX作為目標,同時也希望能在實作過程中,找出OLPC的中文支援的方法:

  • PCManX放進OLPC環境執行,並調整成符合Sugar (OLPC的外觀風格) 的應用程式風格
  • 實作glibc locale + Fontconfig data + TTF + SCIM以提供中文顯示、輸入環境

時間預定於June 28, 2007 (四),晚間19:00~22:00舉辦,歡迎參與OrzLab的討論「OLPC Hack Meet-Up Day」。至少有以下議題需要思考:

  • 輸入法的型態:傳統的GTK+ IM module或Ajax web IM
  • OLPC的軟體開發方式與模擬器的整合
  • 底層i18/L10n基礎建設

期待您的參與及指教!