gcin
出自DebianWiki
網址
首頁 http://www.csie.nctu.edu.tw/~cp76/gcin
gcin 同好會 http://cle.linux.org.tw/gcin/
特點:
- 當你輸入前兩個字的注音後,會自動跳出一個視窗讓你預先選詞,在這個例子中如果你要選今日事,今日畢,你可以按 'Shift-2'。
http://www.csie.nctu.edu.tw/~cp76/gcin/pre-select.png
- 選擇方式改成垂直視窗且詞與字並排。
http://www.csie.nctu.edu.tw/~cp76/gcin/select.png http://www.csie.nctu.edu.tw/~cp76/gcin/asdf.png
- 倉頡與行列及任何.cin 輸入法皆可輸入詞。在這個範例中,我們輸入 tw 與空白鍵後,詞可以與字並存候選。
http://www.csie.nctu.edu.tw/~cp76/gcin/gtab-phrase.png
- 提供符號選擇視窗
http://www.csie.nctu.edu.tw/~cp76/gcin/symbol.png
- 可以針對每一個視窗設定不同的固定 gcin 視窗的位置。
http://www.csie.nctu.edu.tw/~cp76/gcin/pin-float-demo.png
- 如果更要更簡潔的風格,也提供精簡的介面,完全沒有多餘的東西。
http://www.csie.nctu.edu.tw/~cp76/gcin/simple.png
http://www.csie.nctu.edu.tw/~cp76/gcin/simple-gtab.png
- 提供容易使用的使用者設定介面
http://www.csie.nctu.edu.tw/~cp76/gcin/setup.png
- 支援 Unicode(UTF-8) 輸入
http://www.csie.nctu.edu.tw/~cp76/gcin/utf-8.png
- 在倉頡、行列…等輸入法中,可以由詞庫幫你自動選字。
http://www.csie.nctu.edu.tw/~cp76/gcin/gtab-dup-select-phrase.png
- 可以從文章中學習詞
http://www.csie.nctu.edu.tw/~cp76/gcin/tslearn.png
Mandrake
urpmi gcin-0.X.X-liu_mdk.i586.rpm or rpm -i gcin-0.X.X-liu_mdk.i586.rpm
如果是用 Mandrake, rpm install 完成之後會自動修改
/etc/X11/xinit/XIM
在 login 時會執行 gcin 而不是 xcin。 原來的 /etc/X11/xinit/XIM rename 成 /etc/X11/xinit/XIM/XIM.orig.gcin 在 'rpm -e' uninstall 解除安裝時不會自動還原.
其他的 distribution 可能會失敗, 因為 file 位置 or 內容不一樣. 請自行修改 X 中有關的 XIM startup script, 把原來執行 xcin 的部份改成執行 gcin
如果使用 .tar.bz2 安裝者, table path 是 /usr/local/share/gcin/table,而不是 /usr/share/gcin/table 選擇 .tar.bz2 者,預設的 compile flags 是 -g,這樣如果 gcin 如果有 coredump 時可以方便 debug 且回報給作者 (gcin 的 source code 不要 remove 掉),不過 compile 出來的可執行檔的大小大很多,如果不喜歡,可以在 ./configure 後修改 config.mak。
gcin-x.x.x.tar.bz2 install 步驟,
$ tar xvfj gcin-x.x.x.tar.bz2 $ cd gcin-x.x.x $ ./configure $ make su as root # make install logout & login
由 .tar.bz2 需要 install libgtk+2.0_0-devel 這個 .rpm,不過各家的名字可能不太一樣,可能要找一下。另外,你還需要 install pkg-config 這個 .rpm 。
設定 gcin:
按 ctrl-Space 叫出 gcin window 後, 在第一排的注音輸入的按鈕(button) 按 mouse
右鍵可以叫出 gcin-setup window 設定視窗; 按 mouse 左鍵可以叫出符號輸入視窗。 如果要修改符號輸入視窗, 編輯 ~/.gcin/symbol-table, gcin 會偵測 file 是否有改變, 自動 reload 檔案。
詞音標點符號輸入:
(取發音的第一個注音符號 + 輕聲(‧) or 1/2/3/輕 聲)
(如果要輸入注音符號, 就按向下鍵去選)
ㄐ 。 (句點) ㄉ , (逗號) ㄇ : (冒號) ㄨ‧ ? (問號) ㄈ ; (分號) ㄊ ! (驚嘆號) ㄉˋ 、 (頓號) ㄉˊ ‧ (點) ㄑ‧ $ (錢) ㄒ‧ * (星) # 以下是 0.2.0 新增的注音 ㄣ‧ 『 (引號) ㄣ 『 (因與恩同音,應避免使用) ㄣˊ 』 ㄣˇ 「 ㄣˋ 」 ㄌ2 – (連接號) ㄇ3 《 (書'名'號) ㄇ4 》 ㄌ … (省'略'號) ㄆ4 — (破折號) ㄒ ℃ (攝氏 Celsius) ㄒ2 ㏄ (毫升)
酷音輸入 的 shift + ",./;'" 也可以用
現在滑鼠的指標移到符號視窗的按鈕,約一秒鐘會顯示對應的注音按鍵提示,方便學習。
你可以在注音表中自己加入或刪除想要的符號或字
cd ~/.gcin phod2a pho.tab > pho.tab.src (轉成文字檔) gedit pho.tab.src phoa2d pho.tab.src (轉成 gcin 的 pho.tab)
由於 '一' 與 '不' 同音字詞過多, 輸入此兩字的注音應該以口語發音為主. 譬如,輸入 '不會', '不'應該輸入第2聲.
當輸入一個詞的前兩個字的注音,就會跳出選詞的視窗,此時可以按 shift + 數字來 選詞,也可以不予理會,當輸入下一個字時,視窗會自動關閉。 你可以在 gcin 設定中 把這項功能關掉.
如何加入新詞: 把 cursor 游標移至要存的詞句的開頭,按下 shift-Enter, 則會自 cursor 所在位置存 到編輯區的結尾,cursor 也會自動跳到結尾, 方便繼續輸入.
標點符號與特殊符號可不可以存成詞?
只要字有在注音表內就可以存成詞,請參考前面的說明,但目前不支援半型字。
為什麼有時候gcin的輸入視窗不會跟著程式的游標 ? 這是因為有些程式只支援 root input style, 程式不會回報游標所在位置。 像用 GTK2/Gnome2 開發的程式都有這個問題. 目前 gcin 的視窗是擺在滑鼠指標所在的位置. 這樣好像比目前 xcin 的方式容易使用。 你可以按輸入視窗中的圖釘來固定或解除固定視窗。
現在你可以 download
http://www.csie.nctu.edu.tw/~cp76/linux/gtk-xim/im-xim.so cp im-xim.so /usr/lib/gtk-2.0/2.2.0/immodules
就可以在 Gnome 2.X 上使用 over-the-spot。 依照不同的 gtk 版本,必須把上述的 2.2.0 換成 2.4.0 或 2.6.0
mozilla gtk2-ft 的版本中是不支援 over-the-spot,如果要用 over-the-spot,必須 download http://www.csie.nctu.edu.tw/~cp76/linux/mozilla mozilla gtk2-ft 有什麼優點,用 GTK2 的優點就是與系統的主題(theme) 完全整合,比較漂亮, 而且 GTK1 完全不用了之後,比較節省 memory。
Firefox over-the-spot 支援可以看下面的 link download .so http://moto.debian.org.tw/viewtopic.php?t=5311
按 control-u 可以把整個編輯區的內容清除。
如何在非 gnome environment(如 KDE) 修改 gcin 顯示的 button 外觀
執行 gnome-theme-manager 可以選擇主題, 修改外觀. 但是必須在 KDE startup script 中執行 gnome-settings-daemon.
把 gcin 一類的 XIM server kill 掉再重新啟動,容易造成 X window 底下程式運作 不正常(特別是 mozilla),最好還是 logout 再 login。
現在可以用 GCIN_XIM 這個環境變數來控制 gcin XIM 的名字 (內定值是 xcin) export GCIN_XIM=gcin_test
一般程式就可以用 以下方式來控制要連接到那一個 XIM server export XMODIFIERS=@im=gcin_test
如果加錯詞怎麼辦? 按滑鼠右鍵叫出設定視窗後,使用詞庫編輯的功能。你剛才加的詞 在檔案最後。修改或刪除成正確的,輕聲是 '1'。在 gedit 中要用 UTF-8 儲存, 不要弄成 Big5 了。
使用者的 gcin 資料毀損,要如何還原成 gcin 原來的設定:
執行 rm -fr ~/.gcin 當然了,使用者自己的詞庫也跟著不見。使用者可以 copy 此目錄來複製 gcin 的設定。
如何加入新的 .cin 中文輸入 執行 $ gcin2tab file
- cp *.gtab /usr/share/gcin/table
編輯
/usr/share/gcin/table/gtab.list
加入一行
按 control-alt-數字鍵 切換到你在 gtab.list 中定的數字鍵。注音與詞音是固定在 3 & 6 鍵上, 不能更改的。 執行 gcin-setup 可以設定內定的輸入法。
gcin 的行列 & 倉頡(.gtab) 可不可以輸入詞 ? 只要把詞定義在 .cin 後面即可,然後執行上述的步驟,以下是幾行 examples ... tw 台灣 down 下載 talk 聊天 net 上網
那可不可以與單字重覆定義按鍵呢?可以的,在按空白鍵後就可以選字 or 詞。
以下的 嘸蝦米 table 僅供測試用,如果有長期使用,請購買合法版權。 download
http://edt1023.sayya.org/misc/noseeing-2.tar.gz tar xvfz noseeing-2.tar.gz cp noseeing.gtab /usr/share/gcin/table
logout & login 按 ctrl-alt-9 就可以開始用。 可以用 gcin-setup 把嘸蝦米設定成內定的輸入法。
如何修改 Alt-Shift-key 送出的字串。
修改 /usr/share/gcin/table/phrase.table
gaim 及 gqview 內使用詞音時按 enter 無法送出編輯區內容。 這是因為某些程式會把 enter 吃掉,沒有送給 gcin 處理,可能解決辦法有: 1. 使用 Tab key 2. 中文輸入狀態可使用 shift-space
gcin 的 .cin format 與 .xcin 有些不同,並不支援 * 第三欄位, 目前好像只有行列有使用,如果有需求時,可以加在 %quick 段落內。
如何使用 utf8 encoding : 使用雙重 XIM
- gcin 現在內定可以執行一個 process 卻可以同時支援雙 Big5 & UTF-8,以下是一個範例,
export GCIN_XIM=xcin
export LC_ALL=zh_TW.Big5
export XMODIFIERS=@im=$GCIN_XIM
./gcin.test &
sleep 1
rxvt.bin &
export LC_ALL=zh_TW.UTF-8
export XMODIFIERS=@im=$GCIN_XIM.UTF-8
gedit
這樣 gcin 會自動多一個 zh_TW.UTF-8 的 XIM server,在上面一個例子中, crxvt 是用 zh-TW.Big5,
gedit 是用 zh_TW.UTF-8,export XMODIFIERS=@im=xcin.UTF-8,這個 gedit 就可以以注音輸入(方方土),
如果你想要把 這個功能關掉,可以用,
export GCIN_DUAL_XIM_OFF=
上面的例子是 Big5 為主,底下的範例是 UTF-8 為主,主要差別就在 xport XMODIFIERS=@im= 部份。
export GCIN_XIM=xcin
export LC_ALL=zh_TW.UTF-8
export XMODIFIERS=@im=$GCIN_XIM
./gcin.test &
sleep 1
gnome-termial &
export LC_ALL=zh_TW.Big5
export XMODIFIERS=@im=$GCIN_XIM.Big5
gedit
我想使用倉頡行列的重複字選擇鈴聲,但是嫌聲音太長。 你可以在用 xset b 1 設定鈴聲長短
> 關於嘸蝦米打字時,底下會出來所有的拆碼 > 這點實在是好啊,(因為小弟雖然用嘸蝦米用了一段時間了,不過很多字都還不是 > 最簡碼,所以非常感謝這個設計,也因為這個設計讓小弟的嘸蝦米可以再進步 > 所以,想問,有沒有可能像 MS 那樣, > 打注音字出來 嘸蝦米的拆碼參照? > 如… > 打:ㄅㄛ/ 出來 「嘸 PPD」這樣?
有啊,按 ctrl-alt-3 輸入注音 & 選字,就會顯示你選用的目前 gtab 輸入法的所有的可能拆字。gcin 和 windows 的不一樣,不需要去設定 你要顯示的輸入法。
另外,如果字的某部份忘了如何拆,你可以用 '*' or '?' wildcard 來幫助你選字。
- 新增類似嘸蝦米的同音字查詢,按 '`' (backquote) 後就會出現注音的視窗,輸入要查詢的同音字就可以了。
為什麼倉頡按第二鍵後會跑出(譬如按 AA日日)
1昌 2昍 5曝 6暻 7暘 0暍
這是引導初學者按鍵的功能,5曝代表'曝'是在5這個行(TGB廿土月)上。 34 是空白,表示沒有任何字。
- gcin 的內部資料庫,已經全部轉成 UTF-8 encoding,所以現在注音/詞音可以輸入(方方土)等的 utf-8,如果要編輯 gcin 的 file,必需使用支援 utf8 encoding 的 editor 如 'gedit',儲存的時候要確定是存成 UTF-8 encoding。 - install 0.4.0 前請先把 詞音的資料庫匯出,並且用 iconv 轉成 utf-8 encoding:
執行 gcin-setup 做匯出詞庫的動作,存成 tsin.src.big5 執行 iconv -f big5 -t utf-8 tsin.src.big5 > tsin.src.utf-8 install gcin 0.4.0, 接著匯入詞庫,file name 是 tsin.src.utf-8
- 如果已經執行 0.4.0 想還原成原來的資料(在 ~/.gcin.big5),請重新 install 0.3.x 並執行以下動作
rm -fr .gcin mv .gcin.big5 .gcin 接下來就可以做上述的 匯出詞庫 & encoding 轉換動作。
gtab(倉頡、行列) 輸入法中要如何加入新詞? 用詞音輸入法加入。
如果使用許氏鍵盤,'q' 是用來選字詞。
為什麼 crxvt 內 不能用 gcin,這是因為你在某個地方有設定 XMODIFIERS=@im=gcin, gcin 就用 這個來當 XIM name, /usr/X11R6/bin/crxvt 這個 shell script 會設定
XMODIFIERS=@im=xcin, 所以 crxvt 連不到。
解決方式有兩種:
1. 設定 XMODIFIERS=@im=xcin 2. 修改 /usr/X11R6/bin/crxvt, 把 XIM=xcin 拿掉。
KDE 中 gcin 的 window 為什麼不會跟著 cursor 移動? 你可以用 qtconfig 把 XIM input style 設定成 over-the-spot 就可以了。
gcin 的詞庫不夠多,想貢獻給 gcin 作者自己的詞庫。 cd .gcin tsd2a tsin > your diff your gcin-0.x.x/data/tsin.src > diff.txt gedit diff.txt
這樣就可以看到 兩個 file 的差異,注意看你的詞庫是否有那些 現代人用不到的詞,這些沒用的詞只會增加詞音錯誤的機率, 刪除以後再寄給我 (cp76@csie.nctu.edu.tw)。
在 Mandrake 10.1 中出現
輸入區出現方框的亂碼,注音的 '一' 變成 '|' 一直線。
請去
http://www.csie.nctu.edu.tw/~cp76/linux/fontconfig
下載暫時修正,這是 Mandrake 的問題。
1. chmod 755 libpango-1.0.so.0.400.1; cp libpango-1.0.so.0.400.1 /usr/lib 2. cp fonts.conf /etc/fonts
詞音輸入的視窗在打滿注音後會縮回去,看起來有點討厭。 Answer: 注音輸入的區域的字型必須比編輯區的小個幾點就沒有這個問題。如果你有 install 日文字型, 且使用 12/23/2004 以前的 fonts.conf,則還是會有縮回去的問題,請下載最新的 fonts.conf。
gcin coredump 如幫忙 debug
cd gcin-0.5.x export GCIN_DEBUG=1 make clean ./configure
修改 config.mak 把 OPTFLAGS=-O 取代成 OPTFLAGS=-g
make
make 完了之後,執行
./tgdb
(gdb) r
r 指令會開始執行 gcin, 掛了之後,
(gdb) bt
下了 bt 以後會有類似以下的訊息,把這個 post 出來。
- 0 0xffffe410 in ?? ()
- 1 0xbffff278 in ?? ()
- 2 0xffffffff in ?? ()
- 3 0x00000001 in ?? ()
- 4 0x40548e5d in poll () from /lib/tls/libc.so.6
- 5 0x404212e7 in g_main_loop_get_context () from /usr/lib/libglib-2.0.so.0
GTK_IM_MODULE 使用 gcin 自己的 .so,和XIM相比,有何好處?
1. gcin 掛掉重新執行時比較不會有程式跟著一起掛掉的情形,現在可以直接在 gnome-terminal 下
'pkill gcin',不用擔心 gnome-terminal 會停在那邊不動 (mozilla-gtk2 除外)。
2. GTK2 的程式 locale 即使設定成 zh_TW.Big5 也還是可以輸入所有的 UTF-8 字。
3. 詞音由於現在有了 key release event,現在也可以用 Shift 來切換中/英。
3. gcin 的協定對 input focus 的處理比 XIM 好。
4. client 直接 對 gcin server 互傳資料,不透過 X server,延遲會比較少。
5. 如果發現 gcin server 沒有在執行,會自動執行 gcin。
大部份(Mdk 10.0,10.1) install gcin即可直接使用,如果沒有,
export GTK_IM_MODULE=gcin
通常是設定在
/etc/sysconfig/i18n
gcin 會先使用 unix socket,如果不行,則使用 TCP port 9999 - 20000。 如果因為 firewall 的緣故無法使用, export GTK_IM_MODULE=xim 可以指定使用 XIM。 目前支援很簡單的編碼以避免 plaintext 在傳送,未來可能會支援 SSL。 雖然目前是用很簡單的 encoding,如果 gcin 搭配 ssh X11 forwarding 應該是非常安全的。 而且 data 不像 SSL 會變大,更適合在 low bandwidth 使用。
目前只支援 GTK2,但是 gcin 有提供非常容易使用的 API 介面供其他 terminal & QT_IM_MODULE 使用,歡迎來把這部份完成,詳細的介面,請看 /usr/local/include/gcin-im-client.h
gcin 如果使用到自己的 IM_MODULE 時,且用 export GCIN_CONNECT_MSG_ON= tty (console) 會出現以下 message a. connected to unix socket addr /tmp/gcin-????/socket-:0.0-xcin 或是 b. gcin client connected to server 172.x.x.x:9999
只需要一個 gcin 執行就可以,不需要為了同時支援 GTK_IM_MODULE & XIM 而執行兩個 gcin process。
目前 OpenOffice GTK2 的版本好像仍然是使用 XIM。
http://www.csie.nctu.edu.tw/~cp76/linux/mrxvt.tbz 是一個使用 gcin IM client 的 mrxvt。
![[Main Page]](/upload/4/49/Debian_taiwan_out.png)