12.10.2004

linux - IM - 1

這是一個不錯的簡報 http://jserv.sayya.org/libxcin/next-im.ppt
這兒, 將我看到的可以理解的寫下,

1) XIM:

  • 第一個缺點是和X緊密相連, 所以要用XIM就要有X, 對以後linux要發展到embeded system時, 較不利.
  • 不支援多國語言, XIM server(input method)不能告訴client(app), 現在用的輸入法, 我想這邊的意思是:當X環境的local固定在某一區時,你就只能用那區的輸入法
  • XIM只能提供單一的使用者...??(尚不懂)
  • 因為沒有通用行,當要輸入多國語言時,要開多個XIM server,很麻煩..只處理純文字資料當輸入,當要加入手寫辨識or語音辨識時可能比較麻煩?
所以... 產生-->
2)IIIMF (Internet/Intranet Input Method Framework)
sun主導,為i18n計劃
  • 解決跨平台問題,將輸入法和GUI分離
  • 切換語系方便,不用多個server
  • 和locale無關
  • 不一定要X window
  • 相容於XIM之應用程式 (這個在研究看看吧...)
3)SCIM (Smart Common Input Method platform)
為FreeDesktop.org的子計劃... (freeDesktop.org是做什麼的...晚點在查...)
SCIM&UIM(Universal Input Method)&m17n library合作
  • 以GTK2.x設計
  • 分離IMEngine, FrontEnd, GUI Panel
  • 選擇性socket communication (IIIMF為強制使用)
  • 以C++/STL實做
  • 動態載入IMEngine, client-server架構

接著是xcin的新發展--XCING (eXtensive Chinese Input Next Generation)
  • 延續XCIN功能
  • 精簡XCIN,移除X相依性 -->可與其他專案合作
計劃:
  • SCIM/IIIMF-libxcin
  • libxcin
  • -libxcin-core :送入滑鼠,鍵盤的輸入
  • -libxcin-gen_inp:通用表格輸入 (在查查看...)
  • -libxcin-bimsphone:酷音輸入模組
  • -以xcinrc設定檔,初始化參數
libxcin的架構:
  • Configuration :讀xcinrc設定
  • Modules Loader :依設定載入libxcin的各module(libxcin-gen_inp, libxcin-bimsphone, libxcin-chewing.
  • Module Routines :接受libxcin_core送來的事件
  • Input Method Logic :輸入法模組針對不同事件,做preeedit或commit
  • Feedback
libxcin-core與IIIMF/SCIM的接軌方式:
  • iiimf-libxcin為與IIIMF接軌Language Engine
  • scim-libxcin是與SCIM接軌的IMEngine

沒有留言: