緣起
由於過去在國外唸書的緣故,鍵盤上沒有注音符號,因而習慣了拼音輸入繁體字。在Mac OS 7, 8 的時代,用的是蘋果 Chinese Language Kit (CLK) 裏的漢音輸入法。這個輸入法是由日本松下研究所開發,可以用注音、拼音輸入,會自動比對內建的詞庫來更換還在輸入區的同音詞。和當時主流的輸入法一個字、一個字的從同音字挑正確的字的使用經驗比較起來,已經很厲害了。在進入Mac OS X朝代後,漢音輸入法一度因爲青黃不接,而出現空窗期。因為找尋可用的輸入法而開始接觸「得意輸入法」(後來改名為「奇易輸入法」)。奇易輸入法最令我激賞的是,它會自動學習詞彙,不必像漢音輸入法那樣,要手動加入詞庫。如鄭先生自己說的,打字越打越輕鬆。過去十多年一直使用鄭安巽先生開發的「奇易輸入法」。也因爲好用,前後買了三套授權碼,給不同的電腦用。
隨着 Mac OS X 版本的更新,Microsoft Office的版本的更新,奇易輸入法已經開始出現不相容的情況。以下是我在oikos 論壇的提問:
我在使用 MS Office 2011 裏的 WORD 時候,有一種情況常會 (但是不保證一定發生) 把 WORD crash,然後 -DerYi-OS-X-IntPPC-5500r3 的 CPU 使用量飆高。必須用 Activity monitor 把「-DerYi-OS-X-IntPPC-5500r3」與「得意輸入法」結束 (非強制結束)。還好,重新啟動 WORD,當輸入法切換到奇易輸入法後,一切重新載入,就好了。從鄭先生的回信,他目前不再維護奇易輸入法了。所以,要開始物色替代方案。
要把 WORD 當掉的方法是:當輸入法是奇易輸入法時 (in-line行內輸入模式),緩衝區是空的情況下,如果滑鼠去點擊功能帶上的字型選單、工具箱裏的樣式選單、或以右鍵點擊欲叫出 contextual menu 時,就當掉。
似乎這新版的 WORD 這些選單從系統看來都是某種視窗,奇易輸入法以為我從文稿切換到另一個文稿視窗,準備建立 hook 替即將要用到的 in-line input 做準備,結果掉入陷阱,引起 WORD 與奇易輸入法當機?(香草輸入法開發者也提過類似的問題)
我現在不敢把輸入法留在奇易,每次輸入完中文,就切換回英文,免得不小心滑鼠按下 WORD 的選單就毀了。
我的機器的狀況:
Mac OS X 10.6.8
MacBookPro 2 GHz i7 (2011 early)
8 GB
奇易輸入法 5500r3
MS WORD 14.2.4 (120824)
QIM 輸入法
目前 Mac OS X 內建的拼音輸入法與 iOS 裏的智慧程度一樣不如意。如果在緩衝區裏的同音字不是我要的,又留在那裏等後文鍵入時自動更正,往往還沒等到,錯字就送出到前端應用程式了。以至於思緒常 常要注意在這裏。以前在用「奇易輸入法」時,思緒完全在構思文字,不必煩這些事。我找到了 QIM (Quickcore Input Method)。智慧程度用起來和奇易輸入法一樣 (但是沒有自動聯想功能)。原先是 shareware,最近變成免費的。耶魯大學 Chinese Mac 網頁對它讚譽有加。是中國的軟體個人作家 Glider 製作,可以設定成輸出成繁體中文。詞庫用起來也是有因應台灣的用法。說明文件在此。
從2012年11月中旬開始使用 QIM 以來,初期遇到的轉移陣痛是
- 不需要加音調。習慣了奇易輸入法每個字後面加調號,現在暫時要繃緊神經、提醒自己不要按調號。
- 隨時都是選字模式,不需特別按space bar。
- 按space bar是把首選字送出。
- 按esc直接清空input buffer。
- 按return可以直接把拼音或英文字送出。
中文字 | 臺灣慣用發音 | QIM |
---|---|---|
暫 | zhan (ㄓㄢˋ) | zan (ㄗㄢˋ) |
驟 | zou (ㄗㄡˋ) | zhou (ㄓㄡˋ) |
淆 | yao (ㄧㄠˊ) | xiao (ㄒㄧㄠˊ) |
熟 | shou (ㄕㄡˊ) | shu (ㄕㄨˊ) |
液 | yi (ㄧˋ) 或 ye (ㄧㄝˋ) | ye (ㄧㄝˋ) |
曳 | yi (ㄧˋ) | ye (ㄧㄝˋ) |
什 | she (ㄕㄜˊ) | shi (ㄕˊ), shen (ㄕㄣˊ) |
躍 | yao (ㄧㄠˋ) 或 yue (ㄩㄝˋ) | yue (ㄩㄝˋ) |
塞 | sai (ㄙㄞ) 或 se (ㄙㄜˋ) | se (ㄙㄜˋ) |
芎 | qiong (ㄑㄩㄥˊ) | xiong (ㄒㄩㄥ) |
括 | gua (ㄍㄨㄚ) 或 kuo (ㄎㄨㄛˋ) | kuo (ㄎㄨㄛˋ) |
和 | han (ㄏㄢˋ) 或 he (ㄏㄜˊ) | he (ㄏㄜˊ) |
鼠鬚管
就在一個星期前,在 oikos 論壇得知另一個可以用的拼音輸入繁體中文的方案,叫做「中州韻輸入法 RIME」。它是跨平臺、開放源碼的輸入法引擎方案。在linux平臺名叫「ibus-rime」,在Windows平臺名叫「weasel/小狼毫」,它在Mac OS X平臺的名稱是「squirrel/鼠鬚管」。以毛筆種類來稱呼,很別緻。目前的版本號碼是 0.9.14.5,還沒到 1.0,有點嚇人。但是使用這一個星期以來,我決定從 QIM 轉到「鼠鬚管」來。還沒有遇到不成熟、不相容的問題。上述的臺灣慣用發音,都有包含在內。目前唯一不如人的,是所有的設定都沒有程式界面,反而要使用者打開設定的文字檔,自己加入、更改設定指令。所幸它的網頁上有許多現成的設定指令可以參考。我還能接受。輸入法選單 (顯示幕選單條右上角) 選擇了「鼠鬚管」後 (圖像是方框裏有個「中」字),再次進入這個輸入法選單則會出現與「鼠鬚管」相關的選項列在中區段,如下圖。選擇「Settings……(設定)」則會請 Finder 叫出設定檔的資料夾,方便點選某個設定檔案打開編輯。
鼠鬚管的設定
參考了網友 Pingveno《在 Mac 使用中州韻輸入法》、網友部落格 Beyond the Void 裏的文章《推薦一個神級輸入法——Rime》,以及各式修改設定的集散地《RIME定製指南》,我做了如下的設定:1. default.custom.yaml
* 除了內定的拼音 (朙月拼音) 之外,再多列了可以追加聲調的拼音 (地球拼音)、朙月拼音・語句流、以及注音。
* 把候選字的選單長度,從內定的5個升到9個。
* 把中西文臨時切換鍵,從 shift 改成 control。
* 修改時可以參考 default.yaml 裏所列的整體設定的語法。
patch:
schema_list:
- schema: luna_pinyin # 朙月拼音
- schema: terra_pinyin # 地球拼音 dì qiú pīn yīn
- schema: luna_pinyin_fluency # 朙月拼音・語句流
- schema: bopomofo # 注音
"menu/page_size": 9 # 候選字的選單長度
ascii_composer/switch_key:
Shift_L: noop
Shift_R: noop
Control_L: inline_ascii
Control_R: inline_ascii
2. luna_pinyin.custom.yaml
* 把「朙月拼音」內定的減號鍵、等號鍵、逗號鍵、句號鍵借去當候選字選單的游標移動鍵,關掉,恢復本來標點符號兼候選字送出鍵。
* 把圓括弧鍵對應,從全形圓括弧改成半形。
* 修改時可以參考 luna_pinyin.custom.yaml 裏所列的整體設定的語法。
patch:3. squirrel.custom.yaml
"key_binder/bindings":
- accept: minus
send: minus
when: has_menu
- accept: equal
send: equal
when: has_menu
- accept: comma
send: comma
when: has_menu
- accept: period
send: period
when: has_menu
punctuator/half_shape:
"(": "("
")": ")"
* 候選窗從直向改成横向顯示。
* 候選窗口圓角半徑設成5。
* 配色方案設成 google 模式。
* 修改時可以參考 squirrel.yaml 裏所列的整體設定的語法。
patch:這些設定檔的語法:
# us_keyboard_layout: true # 鍵盤選項:應用美式鍵盤佈局
# show_notifications_when: growl_is_running # 狀態通知,默認裝有Growl時顯示,也可設爲 全開(always)全關(never)
style/horizontal: true # 候選窗横向顯示
# style/font_face: "儷黑 Pro" # 我喜歡的字體名稱
# style/font_point: 21 # 字號
style/corner_radius: 5 # 窗口圓角半徑
# style/border_height: 0 # 窗口邊界高度,大於圓角半徑才有效果
# style/border_width: 0 # 窗口邊界寬度,大於圓角半徑才有效果
style/color_scheme: google # 選擇配色方案
# 註:預設的配色方案及代碼(指定爲 style/color_scheme )
# 碧水 - aqua
# 青天 - azure
# 明月 - luna
# 墨池 - ink
# 孤寺 - lost_temple
# 暗堂 - dark_temple
# 星際我爭霸 - starcraft
# 谷歌 - google
- 忽略「#」字元之後的字串,把它們當成註解。要關掉某行設定,但是又不想整行刪掉,也許以後還會用到,就把這「#」字元放在行首。
- 每一個設定檔,都有副檔名「.yaml」。
- 每一個設定檔想要修改自己的喜好,要另外在檔名有「custom」的設定檔。如果資料夾沒有,則自己建立一個。例如 default.yaml (所有預設值) 要修改,要把設定值寫在 default.custom.yaml 這個檔案裏。
- 「custom」的設定檔內,只能出現一次「patch:」,所以,所有後來繼續追加的設定,都要寫在它的管轄範圍。
- 用「縮進 (indent)」來表示屬於某個指令的管轄範圍。每層級內縮兩個空格。
鼠鬚管使用心得
以下是我目前從奇易輸入法轉移到鼠鬚管的心得:- 不需要加音調。
- 隨時都是選字模式,不需特別按space bar。
- 按space bar是把首選字送出。
- 按esc直接清空input buffer。
- 按return可以直接把拼音或英文字送出。
- 刪節號是 ^ 破折號是 _
- 左右方括號鍵對應到「」【】〔〕[] 左右大括號對應到『』〖〗{}
- \ 對應到 、\\
- ~$%*<>/ 這些按鍵都有多個以上的中文字型符號對應。
- 以上符號鍵的定義都可以自己在 luna_pinyin.custom.yaml 設定檔案裏自己修改。
- 數字直接以英數模式送出。數字緊接著的句點會以英數模式送出。冒號也是。
- 要用到英數模式的逗號、句點、
左右圓括弧(這已經從設定檔改好了),只能用西文模式按出。 - 臨時的西文模式可以按一下 SHIFT 鍵進入 (可以改成按 CONTROL),再按一次跳出。
- 按 Caps Lock 鈕也會進入西文模式,但是字母一律大寫。
- 按逗號、句號等標點符號,就直接送出目前的首選字串。
- Facebook message 收信人欄,這些會動態依照使用者鍵入字符搜尋資料庫的行為,Squirrel不相容。在文字欄除了中文字之外,還會留有拼音。
- 左、右箭頭按鍵:在拼音輸入緩衝區裏移動游標;上下箭頭按鍵:移動候選字的選擇 (這些行爲原先是以直向候選清單而設計,不會因爲橫向候選清單而改變);Page Up 與 Page Down 鍵:候選字換頁。
- 按下 control ` 可以叫出操作模式清單,例如,要換成「地球拼音」、「朙月拼音・語句流」、「注音」,或者半形、全形切換,中文西文模式切換,繁體簡體切換。按下模式的編號即可切換,如果不要做任何更動,按esc。
- 「朙月拼音・語句流」模式,有點類似奇易輸入法輸入暫存區、候選字清單兩層的概念。選字、改字都先在輸入暫存區,最後在打標點符號時或按return鍵才把整個暫存區內的「句子」整個送到前端應用程式。而「朙 (ㄇㄧㄥˊ) 月拼音 luna pinyin」則是在候選清單選了詞/字後就直接送到前端了。
- 所選的詞/字也會自動學習,記錄到使用者的詞庫裏。
- 如果選用鼠鬚管的注音,有個很重要的不同點 (與一般常用的注音比較),那就是第一聲不可用空格鍵,而是不按任何聲調鍵代表第一聲,繼續按第二字的注音。這是因爲整個輸入法引擎的設計理念裏,空格鍵是把候選字送出。如果這個第一聲的字還要接受後續的同音字詞庫校對,則還不能把它「送出」,要把它留在輸入法裏。
- 【注音】如果要的是注音的拼法,可以拼好後按 shift-return 送出,例如 朙 (ㄇㄧㄥˊ)。