第5章…輸入法·5.3·碼表輸入法
fcitx支持用戶自定義碼表輸入法。
系統的碼表放置在prefix/share/fcitx/data/table/*.conf
, 用戶的碼表和配置放置在~/.config/fcitx/table/*.conf
該文件用「[CodeTable]」來區分不同的碼表。其它設置說明如下:
[CodeTable]
- Name:
- 名稱,顯示在程序主窗口的輸入法名稱。
- IconName
- 圖標名稱,皮膚中對應圖標文件名。
- File
- 碼表文件,該碼表輸入法的碼表文件名,程序會先查找
~/.config/fcitx/table
,然後在安裝目錄中找。 - AdjustOrder
- 調頻,與拼音中的相應設置意義一樣。
- Priority
- 優先級,碼表輸入法的優先級排序。
- UsePY
- 使用拼音,是否使用臨時拼音輸入。
- PYKey
- 拼音鍵,如果「拼音」選項打開,則以該字母起頭的輸入按全拼處理。
- AutoSend
- 自動上屏,當輸入達到最大碼表且只有一個候選詞時是否自動上屏。
- NoneMatchAutoSend:
- 空碼自動上屏,空碼時出空碼前的內容。比如說abcd是空碼,而abc不是,那麼打abcd時,就將abc的內容自動上屏,d留在提示行中待處理。
- UseMatchingKey
- 使用模糊鍵,是否使用模糊(通配符)輸入。
- MatchingKey
- 模糊鍵,模糊鍵(通配符)。
- AutoPhrase
- 自動詞組,是否使用自動組詞功能(後面有詳細說明)。
- AutoPhraseLength
- 自動詞組長度。
- AutoPhrasePhrase
- 詞組參與自動造詞,指定錄入的詞組是否參與自動組詞。
- SaveAutoPhrase
- 保存自動詞組,設定自動生成的詞組被選擇多少次後才被保存。0表示不保存。
- ExactMatch
- 精確匹配,是否只在候選字表中顯示精確匹配的結果。
- PromptTableCode
- 提示編碼,是否提示錄入字/詞的編碼。
- Symbol
- 符號,設置該選項則開啓特殊符號輸入功能。
- SymbolFile
- 符號文件,特殊符號所在的文件。
- Enabled
- 是否啓用該碼表。
碼表輸入法提供了兩種在線造詞方法(詞組最長為10個漢字):
- 在中文輸入方式下按CTRL 8,則利用將剛剛輸入的內容造詞,默認為最近輸入法兩個字,可以用左右方向鍵的增加或減少詞組中的字數。
- 自動組詞:將需要造的詞按單字連續輸入後,再按它的組詞規則連續輸入編碼,程序會提示用戶這個新詞。 如果此時按空格或它前面的序號則將這個新詞輸入到用戶程序中,您可以設置這個新詞是否進入詞庫。 如果不想錄入該詞,繼續進行下一次輸入即可(fcitx會記錄最近2048個輸入的漢字)。
如果想刪除詞庫中的詞,先讓該詞顯示中輸入條上,按CTRL 7,並按提示操作即可;或是當程序提示有該詞組時,按CTRL DEL刪除。
如果想調整詞庫中詞的順序,按CTRL 6,並按提示操作即可。(如果調頻設置為1或2,您可能看不到有什麼變化)。
5.3.1. 製作碼表
data目錄下包括製造碼表的工具:txt2mb
和mb2txt
。 前者是將碼表源文件轉換為碼表輸入法所需的格式;後者是將碼表文件轉換為文本文件。碼表源文件格式如下:
;fcitx 版本 0x03 码表文件 键码=abcdefghijklmnopqrstuvwxy 码长=4 规避字符=;iuv 拼音=@ 拼音长度=12 [组词规则] e2=p11+p12+p21+p22 e3=p11+p21+p31+p32 a4=p11+p21+p31+n11 [数据] a 工 a 戈 a 或 a 其 @a 阿 @a 啊 @a 呵
- 鍵碼
- 表示該碼表輸入法需要用的鍵;
- 碼長
- 指該碼表輸入法最長碼長;
- 規避字符
- 在象二筆這樣的碼表輸入法中,某些字符如果出現在編碼的第一個,表示特殊用途,雖然可以組成單字,但卻不參與組詞。如果有這樣的字符,可以列在這個地方,以免自動造詞出錯;
- 拼音
- 以此字母開頭的為拼音;
- 拼音長度
- 表示該碼表中拼音的最長長度;
- [組詞規則]
- 表示自動組詞的規則,如果沒該標誌,則不能在線造詞;
- 組詞規則的數目應該比碼長小1。
- 等號左邊為詞組的漢字個數。其中e表示「等於」,a表示「大於等於」(只能有這兩個設置)。
- 等號右邊為規則,其中p指正序,n指逆序。如p11指第一個字的第一個編碼,n11則是指最後一個字的第一個編碼。
- [數據]
- 該標誌以下為該碼表輸入法的數據,按「編碼<空格>對應的漢字」。這部分無需排序。
按上述格式製作好編碼後,利用txt2mb
將其轉換為fcitx需要的格式:
./txt2mb {源文件} {目標文件}
然後將目標文件複製到~/.config/fcitx/table
中, 並在~/.config/fcitx/table/
中建立對應conf文件, 然後在中文輸入狀態下按CTRL 5重新讀入配置文件即可。
如果希望將已經製作好的碼表文件轉換為文本文件,可以:
./mb2txt {碼表文件} [ > 文本文件]
生成的文本文件將形如上述碼表源文件的格式。
在碼表輸入法模式下,只輸入單個「拼音鍵」指定的字符可以重復上次的錄入。
5.3.2. 反查拼音
如果不知道某個漢字的讀音,可以先用碼表輸入法錄入這個字,然後按反查拼音的熱鍵(默認為CTRL ALT E),就可以查到該字的讀音。