自製ibus用的大易輸入法表格檔 [論壇 - Ubuntu 與中文]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



自製ibus用的大易輸入法表格檔
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 10911
EXP: 12
離線
ubuntu以ibus做為預設輸入法也有年餘,雖然它沒有提供大易表格檔,但基本上不會有太大問題,因為可以改用gcin(hime)之類的輸入引擎。但是最大的問題在於使用其它的輸入法,無法在dash主目錄的查詢欄直接輸入中文,但是它是可以用中文查詢的,所以提供自製方法給大易的同好者使用。
1.首先必須取得最原始的dayi3表格
wget http://openvanilla.googlecode.com/svn/trunk/Modules/SharedData/dayi3-patched.cin

2.利用底下的指令取得字根表,並且將字根表的空白改為tab,並且加上權重,然後將所有的大寫字母改為小寫字母
awk '/\%chardef begin/{f=1;next}/\%chardef end/{exit}f' dayi3-patched.cin | awk '{count[$1]++}{print $1"\t"$2"\t"101-count[$1]}' | tr '[A-Z]' '[a-z]' > dayi3.txt

3.將/usr/share/ibus-table/table/template.txt空白範例表,拷貝到家目錄
cp /usr/share/ibus-table/tables/template.txt ~/.

4.準備修改template.txt表頭資料,加上大易的相關資料,有修改的地方如下

### 利用 uuidgen 指令產生一組UUID後貼到這裡.
UUID = 730a0da0-20e9-45d9-befa-cbe59375be2d

### 可直接使用日期簡單省事
SERIAL_NUMBER = 20121010

### 出現的圖示,這裡直接使用內建的圖型,可自己另行設計
ICON = cb-mode.svg

### The local names of this table, this is optional
NAME.zh_CN = 大易
NAME.zh_HK = 大易
NAME.zh_TW = 大易

### the gettext tools in runtime as 中.
STATUS_PROMPT = 易

### Valid input chars.
VALID_INPUT_CHARS = ,./;'1234567890-abcdefghijklmnopqrstuvwxyz

BEGIN_TABLE

END_TABlE

### 把最後三行加上三個#號,表示註解,也就是不要用它啦
### BEGIN_GOUCI
### character_1 goucima_1
### character_1 goucima_2
### END_GOUCI

5.將第2項做出來的檔案資料dayi3.txt的所有內容,複製貼上拷貝到template.txt中的BEGIN_TABLE和END_TABLE之間。做好之後假設存檔命名為dayi3_ibus.txt。特別補充說明一下,早期大易輸入法提供使用=來輸入標點符號,但是在這裡無法使用=號,因為轉檔時程式會判斷錯誤,所以我把=號改為-號,如上方第4項的說明VALID_INPUT_CHARS的內容有一個-號,所以當你貼上完畢之後,記得把字根表的=號要改為-號,這樣就可以利用-號來輸入標點符號了。當然如果你有其它特別的想法或需要,也可以自創按鍵組合,讓某些按鍵組合輸出某個字
6.利用下列指令做出dayi3.db表格檔
ibus-table-createdb -s dayi3_ibus.txt -n dayi3.db
7.做出來的dayi3.db拷貝到/usr/share/ibus-table/tables底下
sudo cp dayi3.db /usr/share/ibus-table/tables/dayi3.db
8.從ibus偏好設定中,增加大易輸入法即可

2012/10/10 9:42
應用擴展 工具箱
回覆: 自製ibus用的大易輸入法表格檔
會員三級
註冊日期:
2007/6/11 22:53
所屬群組:
已註冊使用者
等級: 11
HP : 0 / 261
MP : 51 / 12077
EXP: 46
離線
太感謝了,這樣就不用再改用gcin了!

2012/10/10 12:58
Xubuntu 20.04
Sparky Linux (Debian lxqt)
Manjaro (lxde)
應用擴展 工具箱
回覆: 自製ibus用的大易輸入法表格檔
會員三級
註冊日期:
2007/6/11 22:53
所屬群組:
已註冊使用者
等級: 11
HP : 0 / 261
MP : 51 / 12077
EXP: 46
離線
做好了,但選字只能用上下符號鍵嗎?不能直接用數字鍵?
而且打不出全形逗號和句號??

2012/10/14 22:09
Xubuntu 20.04
Sparky Linux (Debian lxqt)
Manjaro (lxde)
應用擴展 工具箱
回覆: 自製ibus用的大易輸入法表格檔
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 10911
EXP: 12
離線
選字只能用上下鍵,但是你可以自行去修改字根表,以大易的選字來說,它也不是用數字1234而是用鍵盤的'[]-=等,所以可以把重覆字自行加上最後選字碼,只是這個工作很累人就是了。
另外,標點符號在字根表就有,你把做好的dayi3.txt用gedit打開之後(依照說明第5點),修改一下將=號改為-號,到時就可以利用-號來輸入全形的標點符號

2012/10/15 20:47
應用擴展 工具箱
回覆: 自製ibus用的大易輸入法表格檔
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 10911
EXP: 12
離線
例如底下是用-和'來做標點符號的輸入
- , 100
- 。 99
- 「 98
- 」 97
- ! 96
- 、 95
- ? 94
- 『 93
- 』 92
- ( 91
- ) 90
' : 100
' ; 99
' 〈 98
' 〉 97
' ! 96
' 、 95
' ? 94
' 《 93
' 》 92

2012/10/15 20:52
應用擴展 工具箱
回覆: 自製ibus用的大易輸入法表格檔
會員三級
註冊日期:
2007/6/11 22:53
所屬群組:
已註冊使用者
等級: 11
HP : 0 / 261
MP : 51 / 12077
EXP: 46
離線
wss大,再請問一下,您第二個步驟中為何要加上權重?它有什麼作用嗎?
我可以自己在dayi3_ibus.txt中加上自訂的詞(二個字以上)嗎?

2012/10/18 21:37
Xubuntu 20.04
Sparky Linux (Debian lxqt)
Manjaro (lxde)
應用擴展 工具箱
回覆: 自製ibus用的大易輸入法表格檔
會員三級
註冊日期:
2006/11/16 8:27
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 228
MP : 41 / 10911
EXP: 12
離線
權重是表示先後次序,數字越大表示會出現在越前面,方便選字。
另外要自訂詞是可以的,例如 口廾工王 分別取中華民國的首首首未碼,就可以做到以前大易輸入法最讓人熱愛的詞輸入功能,要定義也很容易,例如
our5 中華民國 100
這樣就可以自行定義你要的詞了,可以把常用詞定義出來加快輸入速度
備註:our5和中華民國之間,不可以有空白,中間都要按tab鍵做分隔才行,要注意這點

2012/10/22 20:32
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.