中文輸入法新挑戰(zhàn)_第1頁
中文輸入法新挑戰(zhàn)_第2頁
中文輸入法新挑戰(zhàn)_第3頁
中文輸入法新挑戰(zhàn)_第4頁
中文輸入法新挑戰(zhàn)_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Linux中文輸入法新挑戰(zhàn)JimHuang(黃敬群)

ProjectManager,W-ChannelInc.(宇動科技)<>KaffeDeveloper<>September16,2004題綱挑戰(zhàn)在哪?走出XIM下一代輸入法架構(gòu)IIIMFSCIM當輸入法遇見ThinClient新興專案介紹XCING新酷音挑戰(zhàn)在哪?過去中文輸入法的問題架構(gòu)上難以支援輸入法選擇少平臺差異大當今的挑戰(zhàn)重複開發(fā),無謂的資源浪費已有的輸入法模組或系統(tǒng),難以與新系統(tǒng)銜接選擇性太多,缺乏統(tǒng)整開發(fā)的架構(gòu)ThinClient模式的引入多國語文支援的需求為何採納GNU/Linux?100%198019902000202120212030204020502060我們在這MarketShareYear0%作業(yè)系統(tǒng)發(fā)展藍圖WindowsGNU/LinuxCyborgOSMatrixOSInternet興起改變什麼?寬頻軟體租賃成為可能分散式系統(tǒng)大行其道本錢效益比合久必分、分久必合分散式集中式典型網(wǎng)路服務(wù)架構(gòu)輸入法為何不能當作服務(wù)?GNU/Linuxi18n/L10n架構(gòu)XIM簡介XIM缺陷走出XIM名詞解釋i18n:InternationalizationL10n:Localizationm17n:MultilingualizationCJK(V):Chinese,Japanese,Korean,(Vietnamese)OpenI18N:OpenInternationalizationInitiative(舊稱:LI18NUX)把系統(tǒng)或應(yīng)用程式轉(zhuǎn)變成相容特定語言的過程

例如將某個軟體中文化主要項目:訊息翻譯、使用介面,圖形顯示等在i18n的局部中只處理語言的局部稱為m17n比方,一個「多國語言化」的軟體可同時處理英文、法文、中日韓,甚至阿拉伯文等GNU/Linux的i18n/L10n架構(gòu)把原來英文為主的系統(tǒng)或應(yīng)用程式改寫為同時支援多種語文或特定文化慣例的過程一般的開發(fā)流程只使用英文,但是為了符合廣泛的語言文化慣例,軟體必須在設(shè)計架構(gòu)與機制上針對多國語文作擴充I18n僅是在軟體設(shè)計上提供使用多國語文的可能性觀念釐清「中文化」是模糊的概念Linux上的「中文化」兼具i18n與L10n中文平臺發(fā)展技術(shù)不需修改既有應(yīng)用程式,便可顯示、印列輸入中文不侷限於特定環(huán)境Linuxtty(console)、XWindow、ApplicationResourceGNU/Linux的i18n/L10n架構(gòu)(續(xù))關(guān)連鍊(chain)LinuxkernelGNUCLibrary(glibc)XFree86(X11)Gtk/GNOMEQt/KDE其他函式庫或工具程式“chain〞的涵意GNU/Linux的i18n/L10n架構(gòu)(續(xù))國際化的四大等級語言可切換,在系統(tǒng)啟動時可指定某語言使用不同語言的軟體可同時使用,在應(yīng)用軟體啟動時可指定某語言使用不同語言的軟體可同時使用,而且應(yīng)用程式的語言可動態(tài)切換使用不同語言的軟體可同時使用,而且在應(yīng)用程式中可同時使用不同語言語系(Locale)的概念XIM概況XIM特徵XIM歷史回顧XIM架構(gòu)XIM簡介XIM(XInputMethod)架構(gòu)在I18N

(InternationizatioN)與Locale

上的輸入法協(xié)定目的是不需要更改原始碼本身就能接受各語系輸入法用來處理非歐美語系的輸入法規(guī)範XIMClient:應(yīng)用程式XIMServer:輸入法XIM特徵X11R4沒有統(tǒng)一的輸入法系統(tǒng),由個別軟體自行處理輸入法需求由Fujitus與Omron提供XjpX11R51989年XI18n開始在X協(xié)會推動輸入法開始定義XIM/XFontSetAPIs分歧發(fā)展Omron/NTT實作XsiUnixInternational(UI)實作XimpUnixInternational將XIM定義為標準XIM發(fā)展歷史回顧X11R5輸入法系統(tǒng)的衝突Omron/NTTUI(Fijitsu、Sony、Xerox、ATT/USL、Hitachi、Sun、…)X11R6OSF(IBM、DEC、HP)加盟UIXIMProtocol定義但不與Xsi/Ximp相容強化XIM/XOM/XLCAPIsXlibXIM實作獨立為SIIMdKit(IMserverDeveloperKit)引入XIM發(fā)展歷史回顧(續(xù))X11R6.5X協(xié)會重新啟動,X.org更新X標準與SISun移轉(zhuǎn)Solaris的XI18N貢獻到X.orgXFree86從XI18N相關(guān)改變帶回X.orgOpenI18N.org發(fā)佈xiiimp.soXIM相容IIIMF模組XIM發(fā)展歷史回顧(續(xù))XIM架構(gòu)XIM結(jié)構(gòu)與XWindowSystem緊密相連,所以使用XIM之系統(tǒng)必須擁有X,對EmbededSystem而言限制很大不支援多種語言XIM輸入法Server無法告知Client端,用戶輸入何種語言或編碼案例:Mozilla

可進行多國語文網(wǎng)頁瀏覽,可是卻缺乏對應(yīng)的XIMclient/server互動XIM的缺陷XIM的缺陷(續(xù))XIM的缺陷(續(xù))HidekiHiura指出:「根本上XIM太多問題…根本無法透過patch改正」1995年重新設(shè)計輸入法,提出IIIMF架構(gòu)XIM的缺陷(續(xù))許多輸入法系統(tǒng)相繼提出但唯有兼具質(zhì)(彈性、擴充性)與量(支援多語文、多輸入法需求)者將勝出首選IIIMFSun主導(dǎo),為OpenI18N正式計畫SCIM/UIM/m17n由SCIM與UIM作者共同推動,為FreeD

子計畫下一代輸入法架構(gòu)推動IIIMF的理由IIIMFvs.XIMIIIMF發(fā)展目標IIIMFramework特性IIIMF(Internet/IntranetInputMethodFramework)1.解決跨平臺問題(將輸入法模組與GUI分離),更完善的Server-Client架構(gòu)2.XIM受限於Locale,不同語系輸入困難(IIIMF與Locale無關(guān))3.較容易發(fā)展新的LanguageEngine4.適用於嵌入式系統(tǒng)5.適用於在Internet環(huán)境,Client端對Server端要求輸入法服務(wù)推動IIIMF的理由不同平臺局部由IIIMClient端處理,解決跨平臺問題IIIMP用Utf-16傳送,可支援多語系與編碼輸入LEvendor不需要再去著重於一些“non-languagespecific〞的基礎(chǔ)建設(shè),而可專注於輸入法本體的呈現(xiàn)contextmanagementsInputMethodProtocolplatformsecificinputmethodinterfacerenderingIIIMFvs.XIMXIMIIIMF應(yīng)Client端需求,可能產(chǎn)生多個ServerDaemon存在,只需啟動一次應(yīng)用程式受Locale限制轉(zhuǎn)換狀態(tài)需更換Locale變數(shù)與Locale無關(guān)直接切換Locale切換較麻煩不需切換Locale輸入法engine等同於XIMServer輸入法engine以動態(tài)模組掛入IIIMServer必須有XWindowsystemplatformindependent可相容於支援XIM之應(yīng)用程式IIIMFvs.XIM(續(xù))徹底解決XIM弊端去除對WindowSystem的相依性完全Unicode支援、實現(xiàn)真正多語文支援在Unix運作的server可讓W(xué)indows或其他環(huán)境的client使用完整的IM架構(gòu)無所不在,可透過網(wǎng)路動態(tài)提供輸入法可攜性與擴展能力提供現(xiàn)有XIM、GTK+immodule、JavaInputFramework等架構(gòu)的溝通介面擴展性強的client-sideAPIIIIMF發(fā)展目標多平臺、跨平臺支援不依賴與底層視窗系統(tǒng)

同時運行多個LE(LanguageEngine)多使用者支援輸入法Protocol可再低頻寬的系統(tǒng),如Modem連線,上運作讓LE開發(fā)者專注開發(fā)輸入法本身元件ServerFrameworkClientFrameworkLanguageEngineIIIMFramework特性

Internet/IntranetIIIMProtocol

IIIMClient1IIIMClient2IIIMClient3

IIIMServerMicrosoftWindowsIME

XWindowSystem

QTimmoduleIIIMFrameworkAppXlib

xiiimp.soxcin-guiIIIMServer(httserver)

Xcin-IMmoduleOtherIMIIIMServerFramework

IIIMClientFrameworkIIIMServer(HttServer)1.作為UNIXDaemon2.只需要運作一個IIIMserver3.提供標準輸入法系統(tǒng)API(LEIF)-/usr/lib/im/leif4.所有的LE都是動態(tài)載入的so(sharedobject)或dll精髓:提供一個LE的plugin介面與Client端以IIIMProtocol來溝通,用以處理Client的要求(InputEvent)IIIMServerFrameworkPCE/EMILLE與IIIMSF聯(lián)繫的XML-basedIDLEMIL可用以設(shè)計輸入法新的輸入法應(yīng)該是一個genericEMILprocessor,把使用者指定的輸入法行為翻譯出來,而不是針對各別輸入法做specificcaseXAuxiliaryLibraryXAuxiliaryObject共通性Client-sideconfigurationlibraryIIIMF的擴充設(shè)計SCIM背景SCIM/UIM/m17nSCIM支援度快照(ToSeeIsToBelieve.)SCIM特點SCIM(SmartCommonInputMethodplatform)SCIM、UIM與m17nlibrary原本是三路人馬SCIM(SmartCommonInputMethodplatform)為蘇哲發(fā)展完整的簡體中文與優(yōu)秀的架構(gòu)UIM(UniversalInputMethod)為TOKUNAGAHiroyuki、MasahitoOmote、Yamaken等人發(fā)展眾多CJK輸入法支援2004-06-12SCIM/UIM整合2004-06-14SCIM/m17n整合SCIM/UIM成為多國語文輸入法解決方案SCIM/UIM/m17nSCIM/UIM快照SCIM/UIM快照(續(xù))與現(xiàn)有架構(gòu)良好的整合能力scim-uim(使用UIM作為backend)scim-m17n(使用m17nlibrary作為backend)完善的使用者介面與設(shè)定工具scim-panel-gtk:GTK+2.x打造的設(shè)定介面(預(yù)設(shè))skim:KDE環(huán)境下的SCIM設(shè)定介面設(shè)計哲學(xué)兼具簡易與彈性的API高度延展與動態(tài)性徹底分離IMEngine、FrontEnd,與GUIPanel各元件間維持低耦合度(loosebinding)選擇性的socketcommunication(IIIMF是強制使用)SCIM特點重要特徵以C++/STL實作,提供有效與簡易清楚的API(也提供CAPIbinding)提供眾多函示簡化IMEngine開發(fā)的困難度兼具dynamicloading的InputMethodbackend特徵(類似UIM)與採用Client-Server架構(gòu)(類似IIIMF)SCIM特點(續(xù))SCIM運作模式SCIM運作模式:動態(tài)載入IMEngineSCIM運作模式:Client-Server架構(gòu)七月份SCIMmailing-list上,SCIM/UIM開發(fā)者與IIIMF設(shè)計人Hideki大興筆戰(zhàn)SCIM將與IIIMF分道揚鑣?SCIM主要開發(fā)者蘇哲成為IIIMFcvscommitter,致力輸入法平臺的整合SunJDS(JavaDesktopSystem)全面支援Unicode只保存UTF-8,其餘localecodec一律捨棄內(nèi)建強化的IIIMFSCIM與IIIMF的八卦當輸入法遇見ThinClient原則輸入法是一種服務(wù)ThinClient與輸入法系統(tǒng)的整合ThinClient在多國語文環(huán)境遇到的問題W-Channel的Peach(發(fā)展代號)ThinClient與輸入法系統(tǒng)的整合實際上的問題對中文、日文,以及韓文使用者來說,永遠無法一套輸入法方式滿足所有使用者需求ThinClient內(nèi)建多種輸入法不經(jīng)濟某些輸入法,如日文手寫辨識,容量很大解決方案將輸入法視作服務(wù)!貫徹Client-Server架構(gòu),發(fā)揮ThinClient優(yōu)勢InputMethod-on-DemandThinClient在多國語文環(huán)境遇到的問題案例分析Kiosk的應(yīng)用可能放置於機場提供服務(wù),必須對不同國籍使用者作最快速的線上更換語言,並且提供所需輸入法服務(wù)過去X-basedThinClient難以動態(tài)更換XIMserver,也無法動態(tài)切換不同語系的輸入法解決方案徹底採用Unicode引入IIIMF或SCIM等新一代的輸入法架構(gòu)W-Channel的PeachPeach(發(fā)展代號)ThinClient關(guān)鍵特性:Smart-Install/Update(以Zero-Install為基礎(chǔ))TinyX/GTK+2.2提供高效能與良好的多國語文支援CoreWM/DesktopEnvironment支援FreeD最新規(guī)格全新打造,精簡又具彈性InternationalEdition內(nèi)建

SCIM動態(tài)載入IMEngine(localhost)Client-Server架構(gòu)(accessremoteIMservices)Smart-Install/Update以Zero-Install為基礎(chǔ)將JavaWebStart的理念與實作方式引入ThinClient軟體租賃、維護,以及授權(quán)方式的新選擇與DesktopEnvironment的整合不需要系統(tǒng)管理者權(quán)限,使用者可以透明的取用任何有效的軟體無論是否存在於localhost上所有軟體只會被cache,並不會真正安裝Smart-Install/Update(續(xù))Download-on-Demand降低過度集中的運算資源消耗搭配版本控管允許ThinClient有更加的自訂能力Smart-Install/Update(續(xù))InputMethodonDemandDemoXCIN的反思XCIN的新發(fā)展–XCINGeXtensiveChineseInputNextGeneration酷音輸入法的新發(fā)展--Qooing(新酷音)新興專案介紹中文輸入概況XCIN(XIM版本)中文輸入的重複開發(fā)XCIN的啟示XCIN的反思以「字型」為主Cangjie(Changjei)(倉頡)Wubizixing(五筆字型)Array30(行列)以「字音」為主Pinyin(拼音)Zhuyin(Phonetic)(注音)CantonesePinyin(廣東話拼音、粵拼)以「字義」為主辭典輸入法(英漢、漢英)混合「形、音、義」中文輸入法概況支援BIG5、BIG5HKSCS、GB2312,以及UTF-8只要在不同Locale下啟動,自動採用該語系的編碼

目標輸入法模組功能改進處理多區(qū)域化資料庫的XIMclient請求更多Unix平臺支援XCIN(XIMversion)著名中文輸入應(yīng)用JMCCE/zhcon/yact/chdrv/cce2kIIIMF-xcinIIIMF-chewingCKeyboard個人經(jīng)驗JMCCE1.5的遺憾接手iiimf-chewing開發(fā)scim-chewing中文輸入法資源重複開發(fā)XCIN程式碼品質(zhì)優(yōu)良,在許多Unix平臺均有不錯的表現(xiàn)XCIN有最正確的繁體中文輸入環(huán)境XCIN太依賴X許多需要中文輸入的專案仍自行作重複的工作,成果無法累積XCIN的啟示XCING=eXtensiveChineseInputNextGeneration目標:延續(xù)XCIN功能整合現(xiàn)有中文輸入成果精簡XCIN,移除所有X相依性更容易與其他專案合作協(xié)同開發(fā)XCIN的新發(fā)展--XCINGXCING=eXtensiveChineseInputNextGeneration目標:延續(xù)XCIN功能精簡XCIN,移除所有X相依性更容易與其他專案合作協(xié)同開發(fā)XCIN的新發(fā)展–XCING(續(xù))SCIM/IIIMF-libxcinlibxcinlibxcin-corelibxcin-gen_inplibxcin-bimsphoneXCING子計畫libxcin架構(gòu)ConfigurationModulesLoaderModuleRoutinesInputMehodLogicFeedback讀取xcinrc設(shè)定檔,初始化各項參數(shù)接受libxcin-core送來的事件(鍵盤輸入或滑鼠點選)依據(jù)設(shè)定,動態(tài)載入libxcin的各

modulelibxcin-gen_inp(通用表格輸入)libxcin-bimsphone(詞音輸入模組)libxcin-chewing(酷音輸入模組)輸入法模組會針對不同事件,作preedit區(qū)編輯或commit動作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論