網誌|思想用鍵盤表達
問與答
——「RIME」這個名字,還有「中州韻」「小狼毫」和「鼠鬚管」這些有趣的稱呼都是怎麼想出來的呢?方便的話可否講講這裏面的故事?
——不起個好名,寫碼興致索然。
Rime 輸入法初創時期打字演示 2013-11-24 留言
最近錄製了一些Rime 輸入法的打字視頻:
- 重度輸入法控
- 中古漢語拼音輸入「鼠鬚管」
- 粵拼輸入 馬德鐘《江山》
- 注音並擊輸入 周杰倫《煙花易冷》
- 地球拼音輸入 顧念之《運去殊途》
- 宮保拼音並擊輸入《精忠傳奇》
- 心湖雨又風
- 倉頡轉世賦
- 越明年,再錄《煙花易冷》
菜鳥俺用了這幾樣工具完成以上視頻的製作:
- QuickTime Player 用於 OS X 上的屏幕錄像、錄音,以及簡單的視頻剪輯
- Open Broadcaster Software 用於 Windows 上的屏幕錄像、錄音
- GoldWave 用於編輯音頻、混音
- VirtualDub 用於編輯視頻、轉碼
哈,純粹地用於學習和研究輸入法。音樂的神碼版權問題,看官都莫要深究啦。
中秋之夜,可想在部落格上寫二句。
於是 vim ~/Library/Rime/squirrel.custom.yaml 寫下
patch:
style/color_scheme: luna
部署後,按 Control+~ 切換到【朙月拼音】。

問題
拼音類輸入法,都有一個由固定數目音節碼組成的的音節表。
如漢語拼音以數百音節表達萬餘漢字。
Rime 希望用家能自定義音節表,以及音節碼與文字的對應關係。
這通過編寫 Rime 詞典中的碼表來實現。如粵語、吳語等方言拼音的詞典,音節碼採用特定於該方言的拼寫方式。
在使用中,可以通過不同的按鍵序列鍵入這些音節。
如拼音輸入法以音節中的聲母或首字母略代整個音節,稱「簡拼」;將聲、韻各以一字母代之,稱「雙拼」。
Rime 希望這些不同的輸入形式是用家可以自定義的。如每一種雙拼方案,將按鍵映射到音節碼的方式皆不同。
方案
拼寫運算/Spelling Algebra 是 Rime 輸入法的一項獨創技術。
其思想是用一組規則描述輸入碼到音節碼的對應關係。
拼寫運算規則基於正則表達式/regular expression,基本運算有轉寫、變形、派生、消除等。通過組合這幾種操作,完成由音節碼集合到輸入碼集合的投影。
雖然有文檔 對算法作了解釋,又有 Rime 預設的輸入方案提供了多個用例,但是因爲算法本身十分複雜和抽象,編制拼寫運算規則及除錯仍有不小難度。
工具
早早便發願,做一臺「拼寫運算調試器」。
用他來演繹拼寫運算的過程,輸入碼如何推導出來便可一目瞭然。
又可用來做演示,幫助大家直觀地理解拼寫運算的原理和功用。
近日,「拼寫運算調試器」預覽版出爐,預備將其納入「Rime 工具箱」,與輸入法設定工具一同發佈。