2012年8月24日 星期五

openSUSE 12.2 的其他中文輸入法

0. 輸入法框架

這裡指的輸入法,並非一般人所說的倉頡、注音、行列、嘸蝦米、拼音等等輸入的方法,
這些輸入的方法通常是指一種參照表格,
當你在鍵盤上按某些按鍵的組合,會組成您所需要的文字
有些較複雜的演算方式則需要有輸入法引擎的幫助(不同輸入方法會用到不同的輸入法引擎)
但本文中提到的輸入法指的是輸入法框架
輸入法框架就是提供使用者介面讓您能使用不同的輸入法引擎和參照表格
參考:
 http://vicid603.pixnet.net/blog/post/33244831-%E3%80%8C%E8%BC%B8%E5%85%A5%E6%B3%95%E6%A1%86%E6%9E%B6%E3%80%8D%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AD%98
http://zh.opensuse.org/Packaging_Input_Method_Framework_and_Engines


1. Linux 下常用的中文輸入法框架

fcitx :  http://code.google.com/p/fcitx/
openSUSE 12.2 預設的簡體中文輸入法,
雖然說是簡體,但基於上面所述,輸入法框架主要提供一個使用者介面,
所以很多繁體輸入法的表格和引擎也有支援

gcin : http://hyperrate.com/dir.php?eid=67
openSUSE 12.2 預設的繁體中文輸入法,
在上一篇文章中已介紹過

hime : https://github.com/hime-ime/hime
是 gcin 的一個分支,
他的源起和方向請參考
http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=234&blogId=1

ibus : http://code.google.com/p/ibus/
很多 Linux 發行版本預設使用的輸入法引擎
是個比較國際化的專案

oxim : http://opendesktop.org.tw/demopage/oxim/
似乎已停止開發...

scim : http://www.scim-im.org/
前一代的主流輸入法框架

這些輸入法框架都有 openSUSE 官方或非官方的安裝支援
您可以很輕易的無痛安裝(輸入法通常不建議自行由原始碼自行編譯安裝)
如果需要社群支援,可以在中文論壇中文郵件列表(按此訂閱)中尋求幫助


2. 設定檔

openSUSE 各種輸入法的設定檔位置在  /etc/X11/xim.d/ 目錄中
每個輸入法框架會在它的設定檔中設定好環境變數並啟動它
至於要啟動哪一個輸入法框架則由不同的區域設定目錄中的連結數字來決定
例如在 /etc/X11/xim.d/zh_TW/ 目錄中有
30-gcin  40-ibus  49-scim-bridge  50-scim 這幾個連結
這些連結分別連結到上層目錄中的各輸入法框架設定檔
如果您使用繁體中文環境,就會優先啟動 gcin
gcin 若啟動失敗就會用 ibus, 依此類推


3. 切換輸入法框架的方法

ubuntu 所使用的 im-switch 或 im-config 並不適用於 openSUSE
雖然目前 openSUSE 仍沒有切換輸入法框架的工具
但只要設定好 INPUT_METHOD 這個環境變數
就可以蓋過原先為不同語言所設定的預設值
例如您可以設定  INPUT_METHOD="ibus"
下次登入就會使用 ibus 輸入法框架
(這個變數的值必須為  /etc/X11/xim.d/ 中的設定檔名稱)
這個環境變數可以在
/etc/sysconfig/language


~/.profile

中設定

/etc/sysconfig/language 是全域設定,
你必須以 root 的身份用純文字編輯器編輯  /etc/sysconfig/language
找到  INPUT_METHOD="" 填入您所要用的輸入法框架
這台電腦中所有的使用者都會使用你在這裡設定的輸入法框架作為預設值
除非使用者有自行設定

~/.profile 是進入桌面環境時系統會去讀取的檔案之一
這是在家目錄中的一個隱藏檔
檔名是 .profile
如果您要用圖形介面去編輯它
你得先在檔案管理員中看到它
在 Dolphin 的選單中在 「檢視」-「顯示隱藏檔」
您要自行在此檔案的最後加上(例如)
export INPUT_METHOD="ibus"
重新登入這個使用者就會使用指定的輸入法框架了

您可以參考 /usr/share/doc/packages/ibus/ibus-README.suse


4. 實戰

4-1. 使用 ibus

ibus 仍有不少人使用,所以仍在 OSS 套件庫中(也已經預設安裝)
所以不需要做額外工作
只要修改 ~/.profile 加上 export INPUT_METHOD="ibus"
然後重新登入即可



* ibus-chewing 1.4.0 已經送到 M17N 套件庫,
這版本解決了缺字的問題(http://code.google.com/p/ibus/issues/detail?id=1481)
若來不及進入 12.2 可由 M17N 安裝

4-2. 使用 fcitx

雖然是簡體中文的預設輸入法,但仍支援一些繁體輸入的模組
套件清單:
S | 名稱                           | 摘要                                                        | 類型
--+--------------------------------+-------------------------------------------------------------+-----
i | fcitx                          | Flexible Context-aware Input Tool with eXtension            | 套件
i | fcitx-chewing                  | Chewing Wrapper for Fcitx                                   | 套件
  | fcitx-cloudpinyin              | Cloudpinyin module for fcitx                                | 套件
  | fcitx-config-gtk3              | GTK GUI Config tool for FCITX                               | 套件
  | fcitx-config-kde4              | KDE control module for Fcitx                                | 套件
  | fcitx-devel                    | Development files for fcitx                                 | 套件
  | fcitx-fbterm                   | Fbterm Support for Fcitx                                    | 套件
  | fcitx-googlepinyin             | Googlepinyin module for fcitx                               | 套件
i | fcitx-gtk2                     | Gtk2 IM module for fcitx                                    | 套件
  | fcitx-gtk2-32bit               | Gtk2 IM module for fcitx                                    | 套件
i | fcitx-gtk3                     | Gtk3 IM module for fcitx                                    | 套件
  | fcitx-gtk3-32bit               | Gtk3 IM module for fcitx                                    | 套件
  | fcitx-hangul                   | Hangul Module for Fcitx IM Framework                        | 套件
  | fcitx-libpinyin                | Libpinyin Wrapper for Fcitx                                 | 套件
  | fcitx-m17n                     | M17N engine for fcitx                                       | 套件
i | fcitx-pinyin                   | Chinese Pinyin engine for fcitx                             | 套件
  | fcitx-pinyin-tools             | Fcitx tools to make pinyin match list                       | 套件
i | fcitx-qt4                      | Qt4 IM module for fcitx                                     | 套件
  | fcitx-qt4-32bit                | Qt4 IM module for fcitx                                     | 套件
  | fcitx-quwei                    | Chinese Zone-bit(QuWei) engine for fcitx                    | 套件
  | fcitx-skin-classic             | Fcitx Classic Skin                                          | 套件
  | fcitx-skin-dark                | Fcitx Dark Skin                                             | 套件
  | fcitx-sunpinyin                | Sunpinyin module for fcitx                                  | 套件
i | fcitx-table                    | Table engine for fcitx                                      | 套件
  | fcitx-table-amharic            | Amharic table for Fcitx                                     | 套件
  | fcitx-table-arabic             | Arabic table for Fcitx                                      | 套件
  | fcitx-table-cn-bingchan        | Icefrog Holography(QXM) table for fcitx                     | 套件
  | fcitx-table-cn-cangjie         | Simplified Chinese Tsang-Jei(Cangjie) table for fcitx       | 套件
  | fcitx-table-cn-cantonese       | Standard Guongdonkwa Penkyampji table for Fcitx             | 套件
  | fcitx-table-cn-cns11643        | CNS 11643 table for Fcitx                                   | 套件
  | fcitx-table-cn-dianbao         | Telegram(Dianbao) table for fcitx                           | 套件
  | fcitx-table-cn-erbi            | Two stroke(Erbi) table for fcitx                            | 套件
  | fcitx-table-cn-wanfeng         | Evening Breeze(Wanfeng) table for fcitx                     | 套件
  | fcitx-table-cn-wu              | Wu table for Fcitx                                          | 套件
  | fcitx-table-cn-wubi            | Wubi table for fcitx                                        | 套件
  | fcitx-table-cn-wubi-large      | Wubi large character set table for Fcitx                    | 套件
  | fcitx-table-cn-wubi-pinyin     | Wubi and pinyin(wubi-pinyin) table for fcitx                | 套件
  | fcitx-table-cn-zhengma         | Cheng table for Fcitx                                       | 套件
  | fcitx-table-cn-ziran           | Nature(Ziran) table for fcitx                               | 套件
  | fcitx-table-emoji              | Emoji table for Fcitx                                       | 套件
  | fcitx-table-extra-lang         | Languages for package fcitx-table-extra                     | 套件
  | fcitx-table-hk-cantonese       | Hong Kong Guongdonkwa Penkyampji table for Fcitx            | 套件
  | fcitx-table-hk-jyutping        | Hong Kong jyutping table for Fcitx                          | 套件
  | fcitx-table-hk-stroke5         | Hong Kong 5 stroke input table for Fcitx                    | 套件
  | fcitx-table-ipa-x-sampa        | IPA X-Sampa table for Fcitx                                 | 套件
  | fcitx-table-latex              | Latex table for Fcitx                                       | 套件
  | fcitx-table-malayalam-compose  | Malayalam Compose table for Fcitx                           | 套件
  | fcitx-table-malayalam-phonetic | Malayalam Phonetic table for Fcitx                          | 套件
  | fcitx-table-other              | A fork of ibus-table-others for Fcitx                       | 套件
  | fcitx-table-ru-rustrad         | Traditional Russian table for Fcitx                         | 套件
  | fcitx-table-ru-translit        | Russian Translit table for Fcitx                            | 套件
  | fcitx-table-ru-yawerty         | Russian Yawerty table for Fcitx                             | 套件
  | fcitx-table-tamil-remington    | Tamil Remington tables for Fcitx                            | 套件
  | fcitx-table-thai               | Thai table for Fcitx                                        | 套件
  | fcitx-table-tools              | Fcitx tools to make tables                                  | 套件
  | fcitx-table-tw-array30         | Array 30 table for Traditional Chinese                      | 套件
  | fcitx-table-tw-array30-large   | Array 30 table with large character set for Traditional C-> | 套件
  | fcitx-table-tw-boshiamy        | Boshiamy table for Fcitx                                    | 套件
  | fcitx-table-tw-cangjie-large   | Tsang Jei large character set table for Fcitx               | 套件
  | fcitx-table-tw-cangjie3        | Tsang Jei 3 table for Fcitx                                 | 套件
  | fcitx-table-tw-cangjie5        | Tsang Jei 5 table for Fcitx                                 | 套件
  | fcitx-table-tw-easy-large      | Easy table with large character set for Traditional Chinese | 套件
  | fcitx-table-tw-quick-classic   | Quick Classic table for Traditional Chinese                 | 套件
  | fcitx-table-tw-quick3          | Quick 3 table for Traditional Chinese                       | 套件
  | fcitx-table-tw-quick5          | Quick 5 table for Traditional Chinese                       | 套件
  | fcitx-table-tw-smart-cangjie6  | Smart Tsang Jei 6 table for Fcitx                           | 套件
  | fcitx-table-ua-translit        | Ukrainian Translit table for Fcitx                          | 套件
  | fcitx-table-vi-qr              | Vietnamese Quoted Readable table for Fcitx                  | 套件
  | fcitx-ui-light                 | Light Weight UI for Fcitx                                   | 套件
  | fcitx-unikey                   | Vietnamese unikey support for Fcitx                         | 套件
i | libfcitx-4_2_4                 | Shared libraries for fcitx                                  | 套件
  | libfcitx-4_2_4-32bit           | Shared libraries for fcitx

您可以看見裡面有不少的繁體中文的輸入法
您可以選擇您喜愛的(例如新酷音)
用指令安裝比較方便:
# zypper in fcitx fcitx-chewing

然後設定 INPUT_METHOD=fcitx 重新登入即可
在 ubuntu-tw 論壇中論壇中有一篇推薦文可參考:
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=53570&forum=8&post_id=247156#forumpost247156



4-3. 使用 hime

hime  在兩個月前已發佈更新到 0.9.10
您可以在 home:swyear 套件庫中找到
目前的權值先定在 25
(比 gcin 還優先,您都這麼辛苦的找過來了,一定是很想用這個框架作為預設值吧!
但以後進入到 M17N 的套件庫時會調到比 gcin 後面)
所以可以不必另外設定 INPUT_METHOD 重新登入即可




沒有留言: