【分享】 大易 for ibus 的cin檔 [論壇 - Ubuntu 與中文]


正在瀏覽:   1 名遊客


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

(1) 2 »


【分享】 大易 for ibus 的cin檔
會員三級
註冊日期:
2012/4/26 9:45
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 219
MP : 38 / 4116
EXP: 79
離線
因為最近在學習 RHEL 6,所以就找了幾乎100%相容的Scientific Linux來安裝。但是RHEL6系列普遍有gcin安裝及使用的問題,所以這次把以前沒弄成功的大易for ibus給弄出來了。
表格檔在附件,這次也像我上次做的 大易 for gcin 一樣是「大易四碼」「依預設常用罕用字順序且初始無排序」「支援 = 的全形符號功能」。
不過這次選字得使用「Ctrl」+「數字鍵」來選字,並且僅使用小寫英文字母輸入字根(用大寫會直接輸出大寫英文字母)。其餘的參照表格檔。

背景資料介紹:
系統:Scientific 6.4(幾乎100%相容RHEL6)
ibus:1.3.4-6

ibus的快捷鍵使用說明:
http://code.google.com/p/ibus/wiki/TableReadme

PS、字根區是以空白來分隔(但是刪掉字根區也可以使用,做出字根區僅僅是為了讓輸入時顯示出來的是字根而不是英數字而已),而字庫區則是以Tab鍵來做區隔。

附件:


cin dayi4-ibus.cin 大小: 198.49 KB; 下載次數: 562

2014/1/12 8:42
應用擴展 工具箱
回覆: 【分享】 大易 for ibus 的cin檔
會員一級
註冊日期:
2008/3/15 15:41
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 768
EXP: 0
離線
在ubuntu 14.04 執行產生 dayi4.db 出現下面訊息。。
請問要如何解決?
可是還是有產生 dayi4.db 檔出來。
.....:~/下載$ ibus-table-createdb -s dayi4-ibus.cin -n dayi4.db
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 253, in main
db.update_ime ( attributes )
File "/usr/share/ibus-table/engine/tabsqlitedb.py", line 339, in update_ime
for attr,val in attrs:
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 210, in attribute_parser
attr,val = unicode (l,"utf-8").strip().split ('==')
ValueError: need more than 1 value to unpack

2014/5/10 2:26
應用擴展 工具箱
回覆: 【分享】 大易 for ibus 的cin檔
會員一級
註冊日期:
2008/3/15 15:41
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 768
EXP: 0
離線
自製ibus用的大易輸入法表格檔 [論壇 - Ubuntu 與中文]
2013/4/21/日 於 ubuntu 12.04 用此法安裝大易輸入法,可正常安裝及使用.
2014/2/23/日 於 ubuntu 13.10 用此法安裝大易輸入法,可正常安裝及使用.
2014/5/10/六 從 ubuntu 13.04 升級到 ubuntu 14.04 大易輸入法會出現很多字打不出來,必須重新產生 dayi3.db 並蓋掉原本的檔案才可以.
2014/5/10/六 於 ubuntu 14.04 用此法重新產生 dayi3.db 安裝大易輸入法,可正常安裝及使用.
參考文章
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=58116&forum=8

(1)文章很長,重點是要製做 dayi3_ibus.txt 檔案。

文章重點 首先必須取得最原始的dayi3表格
wget http://openvanilla.googlecode.com/svn/trunk/Modules/SharedData/dayi3-patched.cin
但此網站已無法下載 dayi3-patched.cin, 後來有找到, 依文章做完dayi3_ibus.txt 檔案後就遺失了.還好 dayi3_ibus.txt 檔案還在.可以由附件中下載.

【分享】 大易 for ibus 的cin檔 ===>這個 dayi4-ibus.cin 檔編碼怪怪的,產生db 檔會出現錯誤,無法產生完整db檔.
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=77852&post_id=319854#forumpost319854

將已製做完成的 dayi3_ibus.txt 檔案下載, 放在家目錄。
開啟終端機(Terminal)

(2)利用下列指令做出dayi3.db表格檔
ibus-table-createdb -s dayi3_ibus.txt -n dayi3.db
dayi3.db ==>3.5 MB,有編譯成功

(3)做出來的dayi3.db拷貝到/usr/share/ibus-table/tables底下
sudo cp dayi3.db /usr/share/ibus-table/tables/dayi3.db
ibus restart

(4)從ibus偏好設定中,增加大易輸入法即可

可以自行新增大易輸入法文字編碼,因有些字沒有定義打不出來。
新增大易輸入法文字編碼(2014/5/10)
ob1c 吔 100

附件:


txt dayi3_ibus.txt 大小: 229.33 KB; 下載次數: 584
txt dayi3_ibus.txt 大小: 229.33 KB; 下載次數: 341

2014/5/10 11:33
應用擴展 工具箱
回覆: 【分享】 大易 for ibus 的cin檔
會員三級
註冊日期:
2012/4/26 9:45
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 219
MP : 38 / 4116
EXP: 79
離線
bowing 寫到:
在ubuntu 14.04 執行產生 dayi4.db 出現下面訊息。。
請問要如何解決?
可是還是有產生 dayi4.db 檔出來。
.....:~/下載$ ibus-table-createdb -s dayi4-ibus.cin -n dayi4.db
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 253, in main
db.update_ime ( attributes )
File "/usr/share/ibus-table/engine/tabsqlitedb.py", line 339, in update_ime
for attr,val in attrs:
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 210, in attribute_parser
attr,val = unicode (l,"utf-8").strip().split ('==')
ValueError: need more than 1 value to unpack


經過測試 「VALID_INPUT_CHARS =」的地方由支援設定「=」,變成不支援設定「=」。

所以所有的特殊符號的輸入只有兩種選擇:
1.變更前導符號:把「=」改成其它符號,但是這樣子不符合原太易公司的編碼規則,只能私下用,或自行承擔責任(有人說太易公司已經無法追究了,我不想冒這個險)。
2.把特殊符號從表格中拿掉。


另外,現在的這一版打不出「面」這個字來,用你的也一樣;「面」的字根在表格內是「h7p」,但是就是打不出來,這應該是ibus-table的問題。
附件上傳無特殊符號的版本。

PS、本次的測試是for ubuntu 14.04

附件:


cin dayi4-ibus1.cin 大小: 180.63 KB; 下載次數: 364

2014/5/12 6:53
應用擴展 工具箱
回覆: 【分享】 大易 for ibus 的cin檔
會員一級
註冊日期:
2008/3/15 15:41
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 768
EXP: 0
離線
dear redhung,

剛剛給它試了一下,
將 dayi4-ibus1.cin ==>改為 dayi4-ibus1.txt
執行 ibus-table-createdb -s dayi4-ibus.cin -n dayi4.db
就出現以下錯誤....

bowing@ubuntu1304:~$ ibus-table-createdb -s dayi4_ibus1.txt -n dayi4.db
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 245, in main
source = file ( opts.source, 'r' )
IOError: [Errno 2] No such file or directory: 'dayi4_ibus1.txt'
bowing@ubuntu1304:~$


頭痛啊..

2014/5/16 12:54
應用擴展 工具箱
回覆: 【分享】 大易 for ibus 的cin檔
會員三級
註冊日期:
2012/4/26 9:45
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 219
MP : 38 / 4116
EXP: 79
離線
bowing 寫到:
dear redhung,

剛剛給它試了一下,
將 dayi4-ibus1.cin ==>改為 dayi4-ibus1.txt
執行 ibus-table-createdb -s dayi4-ibus.cin -n dayi4.db
就出現以下錯誤....

bowing@ubuntu1304:~$ ibus-table-createdb -s dayi4_ibus1.txt -n dayi4.db
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 245, in main
source = file ( opts.source, 'r' )
IOError: [Errno 2] No such file or directory: 'dayi4_ibus1.txt'
bowing@ubuntu1304:~$


頭痛啊..

我把dayi4-ibus1.cin複製了一份。

user@local:~/下載/input_typing/ibus$ cp dayi4-ibus1.cin dayi4-ibus1.txt

先測試轉dayi4-ibus1.cin,沒問題。

user@local:~/下載/input_typing/ibus$ ibus-table-createdb -s dayi4-ibus1.cin -n dayi41.db

刪除所產生的dayi41.db,再用dayi4-ibus1.txt轉一次,也沒有問題。

user@local:~/下載/input_typing/ibus$ rm dayi41.db
user@local:~/下載/input_typing/ibus$ ibus-table-createdb -s dayi4-ibus1.txt -n dayi41.db

最後,使用一個不存在的檔名dayi4-ibus2.txt轉,出現了一模一樣的錯誤訊息。

user@local:~/下載/input_typing/ibus$ ibus-table-createdb -s dayi4-ibus2.txt -n dayi41.db
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 245, in main
source = file ( opts.source, 'r' )
IOError: [Errno 2] No such file or directory: 'dayi4-ibus2.txt'
user@local:~/下載/input_typing/ibus$

我想你可能更名沒有成功,所以才出現那個錯誤訊息。

2014/5/16 19:55
應用擴展 工具箱
回覆: 【分享】 大易 for ibus 的cin檔
會員一級
註冊日期:
2008/3/15 15:41
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 768
EXP: 0
離線
dear redhung,

你實在太神了..
試了一下, 我的電腦 對檔名為 dayi4_ibus1.txt 過敏, 換成 dayi4.txt 就可以了...
搞了好久搞死人...

bowing@ubuntu1304:~$ cp dayi4-ibus1.cin dayi4-ibus1.txt
bowing@ubuntu1304:~$ ibus-table-createdb -s dayi4_ibus1.txt -n dayi4.db
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 245, in main
source = file ( opts.source, 'r' )
IOError: [Errno 2] No such file or directory: 'dayi4_ibus1.txt'
bowing@ubuntu1304:~$ sudo ibus-table-createdb -s dayi4_ibus1.txt -n dayi4.db
[sudo] password for bowing:
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 245, in main
source = file ( opts.source, 'r' )
IOError: [Errno 2] No such file or directory: 'dayi4_ibus1.txt'
bowing@ubuntu1304:~$ sudo cp dayi4-ibus1.cin dayi4.txt
bowing@ubuntu1304:~$ sudo ibus-table-createdb -s dayi4.txt -n dayi4.db

不過有發現新問題
在我找到的dayi3, 或是你的 dayi4 都會有些字打不出來..
iy 杰
o8 只
h7p 面(h7o, hp)
meo 同
這幾個字table 表內都找得到, 但使用時, 打也打不出來...

bowing

2014/5/17 9:27
應用擴展 工具箱
回覆: 【分享】 大易 for ibus 的cin檔
會員三級
註冊日期:
2012/4/26 9:45
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 219
MP : 38 / 4116
EXP: 79
離線
bowing 寫到:
dear redhung,

你實在太神了..
試了一下, 我的電腦 對檔名為 dayi4_ibus1.txt 過敏, 換成 dayi4.txt 就可以了...
搞了好久搞死人...

bowing@ubuntu1304:~$ cp dayi4-ibus1.cin dayi4-ibus1.txt
bowing@ubuntu1304:~$ ibus-table-createdb -s dayi4_ibus1.txt -n dayi4.db
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 245, in main
source = file ( opts.source, 'r' )
IOError: [Errno 2] No such file or directory: 'dayi4_ibus1.txt'
bowing@ubuntu1304:~$ sudo ibus-table-createdb -s dayi4_ibus1.txt -n dayi4.db
[sudo] password for bowing:
Traceback (most recent call last):
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 329, in <module>
main ()
File "/usr/share/ibus-table/engine/tabcreatedb.py", line 245, in main
source = file ( opts.source, 'r' )
IOError: [Errno 2] No such file or directory: 'dayi4_ibus1.txt'
bowing@ubuntu1304:~$ sudo cp dayi4-ibus1.cin dayi4.txt
bowing@ubuntu1304:~$ sudo ibus-table-createdb -s dayi4.txt -n dayi4.db

不過有發現新問題
在我找到的dayi3, 或是你的 dayi4 都會有些字打不出來..
iy 杰
o8 只
h7p 面(h7o, hp)
meo 同
這幾個字table 表內都找得到, 但使用時, 打也打不出來...

bowing

所以我才說是ibus-table的問題;一般來說,表格檔內只要符合規則,就應該全部都打的出來,不應該存在某些打的出來,而某些打不出來的狀況。

2014/5/17 11:32
應用擴展 工具箱
我知道為什麼有些字打不出來 也知道如何修正
會員三級
註冊日期:
2007/7/3 16:11
所屬群組:
已註冊使用者
等級: 12
HP : 0 / 286
MP : 60 / 9401
EXP: 47
離線
我知道為什麼有些字打不出來了!不是輸入法的錯,是轉檔程式的錯
但可補救!
如果您會用 SQLite 的話,您可以看到杰,只...等字在 dayi4.db 中的 phrases
表中的 category 值為1。 我測試的結果在繁體中文的環境下 category 值必須
是 2 或 3 而那些打不的字都被設為1或4。 因此可用如下的方法調整:
1.到軟體中心下載 sqliteman 並安裝之
2.進入命令列模式(ctrl-alt-t) 打入 sudo sqliteman 以系統管理員身份執行
3.在程式的 file 功能表中載入您的 dayi4.db或 dayi3.db 位於
/usr/share/ibus-table/tables
4.執行以下命令於sqliteman 右上方的命令列輸入欄:
UPDATE phrases SET category = 2 WHERE (category<2 OR category>3) ;
按綠三角執行鈕執行命令
5.離開 sqliteman
6.重啟 ibus
killall ibus-daemon
ibus-daemon -d

您會發現原來不能打的字現在都能打了!!!

用 sqliteman 還能將一直困擾無法用等號輸入標點符號的問題一併解決!!!
轉檔程式因為用等號來切割資料,害得大易傳統的等號輸入行不通。
幸好被我發現解決的方法。用 sudo sqliteman 以系統管理員身份執行並
載入 dayi4.db或 dayi3.db 然後用以下的方法
1.增加多了等號的按鍵定義 -- 於sqliteman 右上方的命令列輸入欄:
UPDATE ime SET val=",./;'1234567890-abcdefghijklmnopqrstuvwxyz=[]\" WHERE attr="valid_input_chars";
2.加入您要的標點符號,以句點為例
INSERT INTO goucima (zi,g0,g1) VALUES ('。',43,56);
INSERT INTO phrases (id,mlen,clen,m0,m1,category,phrase,freq,user_freq) VALUES (NULL,2,1,43,56,3,'。',100,0);

其中m0,m1,m2,m3 g0,g1,g3 分別對應到第一、 二、三的鍵。 那這些值怎麼來?如何對應呢 ? 我發現 ibus 的 tabdict.py
有一段透露玄機,由下面的程式碼得知 等號(=) 對應的值是 43 , 句號對應的是 56 ...相信到此您應能自行加入其他的
符號了,而且還是用大易最傳統的 ‘=’ 喔!!記得 freq 欄位就是權重喔!(mlen 是有幾個鍵 , clen 是打出來的字有幾個 )
(zi 和 phrase 就是 您要的字)
tab_dict = {
'a':1, 'b':2, 'c':3, 'd':4, 'e':5,
'f':6, 'g':7, 'h':8, 'i':9, 'j':10,
'k':11, 'l':12, 'm':13, 'n':14, 'o':15,
'p':16, 'q':17, 'r':18, 's':19, 't':20,
'u':21, 'v':22, 'w':23, 'x':24, 'y':25,
'z':26, "'":27, ';':28, '`':29, '~':30,
'!':31, '@':32, '#':33, '$':34, '%':35,
'^':36, '&':37, '*':38, '(':39, ')':40,
'-':41, '_':42, '=':43, '+':44, '[':45,
']':46, '{':47, '}':48, '|':49, '/':50,
':':51, '"':52, '<':53, '>':54, ',':55,
'.':56, '?':57, '\\':58, 'A':59, 'B':60,
'C':61, 'D':62, 'E':63, 'F':64, 'G':65,
'H':66, 'I':67, 'J':68, 'K':69, 'L':70,
'M':71, 'N':72, 'O':73, 'P':74, 'Q':75,
'R':76, 'S':77, 'T':78, 'U':79, 'V':80,
'W':81, 'X':82, 'Y':83, 'Z':84, '0':85,
'1':86, '2':87, '3':88, '4':89, '5':90,
'6':91, '7':92, '8':93, '9':94,

2014/8/10 16:55
應用擴展 工具箱
回覆: 【分享】 大易 for ibus 的cin檔
會員三級
註冊日期:
2012/4/26 9:45
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 219
MP : 38 / 4116
EXP: 79
離線
Centos7 在ibus內安裝大易:
sudo yum install ibus*
編譯大易dayi4
使用guidry的修正方法修正打不出來的字;而等號目前我還改不出來。
複製到定位
ibus restart (請注意,是使用你目前的權限,而不是使用root權限)
ibus-setup將大易加入ibus中
到系統設定的語言中將大易加入ibus中 (如果你是更新的話請移除重裝 -- 還有就是我也不知道為什麼要加兩次,目前試出來是這樣)

2017/3/31 23:01
應用擴展 工具箱

(1) 2 »

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


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