<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="generator" content="AsciiDoc 8.2.7" /> <style type="text/css"> /* Debug borders */ p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { /* border: 1px solid red; */ } body { margin: 1em 5% 1em 5%; } a { color: blue; text-decoration: underline; } a:visited { color: fuchsia; } em { font-style: italic; color: navy; } strong { font-weight: bold; color: #083194; } tt { color: navy; } h1, h2, h3, h4, h5, h6 { color: #527bbd; font-family: sans-serif; margin-top: 1.2em; margin-bottom: 0.5em; line-height: 1.3; } h1, h2, h3 { border-bottom: 2px solid silver; } h2 { padding-top: 0.5em; } h3 { float: left; } h3 + * { clear: left; } div.sectionbody { font-family: serif; margin-left: 0; } hr { border: 1px solid silver; } p { margin-top: 0.5em; margin-bottom: 0.5em; } ul, ol, li > p { margin-top: 0; } pre { padding: 0; margin: 0; } span#author { color: #527bbd; font-family: sans-serif; font-weight: bold; font-size: 1.1em; } span#email { } span#revision { font-family: sans-serif; } div#footer { font-family: sans-serif; font-size: small; border-top: 2px solid silver; padding-top: 0.5em; margin-top: 4.0em; } div#footer-text { float: left; padding-bottom: 0.5em; } div#footer-badges { float: right; padding-bottom: 0.5em; } div#preamble, div.tableblock, div.imageblock, div.exampleblock, div.verseblock, div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, div.admonitionblock { margin-right: 10%; margin-top: 1.5em; margin-bottom: 1.5em; } div.admonitionblock { margin-top: 2.5em; margin-bottom: 2.5em; } div.content { /* Block element content. */ padding: 0; } /* Block element titles. */ div.title, caption.title { color: #527bbd; font-family: sans-serif; font-weight: bold; text-align: left; margin-top: 1.0em; margin-bottom: 0.5em; } div.title + * { margin-top: 0; } td div.title:first-child { margin-top: 0.0em; } div.content div.title:first-child { margin-top: 0.0em; } div.content + div.title { margin-top: 0.0em; } div.sidebarblock > div.content { background: #ffffee; border: 1px solid silver; padding: 0.5em; } div.listingblock { margin-right: 0%; } div.listingblock > div.content { border: 1px solid silver; background: #f4f4f4; padding: 0.5em; } div.quoteblock { padding-left: 2.0em; } div.quoteblock > div.attribution { padding-top: 0.5em; text-align: right; } div.verseblock { padding-left: 2.0em; } div.verseblock > div.content { white-space: pre; } div.verseblock > div.attribution { padding-top: 0.75em; text-align: left; } /* DEPRECATED: Pre version 8.2.7 verse style literal block. */ div.verseblock + div.attribution { text-align: left; } div.admonitionblock .icon { vertical-align: top; font-size: 1.1em; font-weight: bold; text-decoration: underline; color: #527bbd; padding-right: 0.5em; } div.admonitionblock td.content { padding-left: 0.5em; border-left: 2px solid silver; } div.exampleblock > div.content { border-left: 2px solid silver; padding: 0.5em; } div.imageblock div.content { padding-left: 0; } div.imageblock img { border: 1px solid silver; } span.image img { border-style: none; } dl { margin-top: 0.8em; margin-bottom: 0.8em; } dt { margin-top: 0.5em; margin-bottom: 0; font-style: normal; } dd > *:first-child { margin-top: 0.1em; } ul, ol { list-style-position: outside; } div.olist > ol { list-style-type: decimal; } div.olist2 > ol { list-style-type: lower-alpha; } div.tableblock > table { border: 3px solid #527bbd; } thead { font-family: sans-serif; font-weight: bold; } tfoot { font-weight: bold; } div.hlist { margin-top: 0.8em; margin-bottom: 0.8em; } div.hlist td { padding-bottom: 15px; } td.hlist1 { vertical-align: top; font-style: normal; padding-right: 0.8em; } td.hlist2 { vertical-align: top; } @media print { div#footer-badges { display: none; } } div#toctitle { color: #527bbd; font-family: sans-serif; font-size: 1.1em; font-weight: bold; margin-top: 1.0em; margin-bottom: 0.1em; } div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel2 { margin-left: 2em; font-size: 0.9em; } div.toclevel3 { margin-left: 4em; font-size: 0.9em; } div.toclevel4 { margin-left: 6em; font-size: 0.9em; } /* Workarounds for IE6's broken and incomplete CSS2. */ div.sidebar-content { background: #ffffee; border: 1px solid silver; padding: 0.5em; } div.sidebar-title, div.image-title { color: #527bbd; font-family: sans-serif; font-weight: bold; margin-top: 0.0em; margin-bottom: 0.5em; } div.listingblock div.content { border: 1px solid silver; background: #f4f4f4; padding: 0.5em; } div.quoteblock-attribution { padding-top: 0.5em; text-align: right; } div.verseblock-content { white-space: pre; } div.verseblock-attribution { padding-top: 0.75em; text-align: left; } div.exampleblock-content { border-left: 2px solid silver; padding-left: 0.5em; } /* IE6 sets dynamically generated links as visited. */ div#toc a:visited { color: blue; } /* Because IE6 child selector is broken. */ div.olist2 ol { list-style-type: lower-alpha; } div.olist2 div.olist ol { list-style-type: decimal; } </style> <script type="text/javascript"> /*<![CDATA[*/ window.onload = function(){generateToc(2)} /* Author: Mihai Bazon, September 2002 * http://students.infoiasi.ro/~mishoo * * Table Of Content generator * Version: 0.4 * * Feel free to use this script under the terms of the GNU General Public * License, as long as you do not remove or alter this notice. */ /* modified by Troy D. Hanson, September 2006. License: GPL */ /* modified by Stuart Rackham, October 2006. License: GPL */ function getText(el) { var text = ""; for (var i = el.firstChild; i != null; i = i.nextSibling) { if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants. text += i.data; else if (i.firstChild != null) text += getText(i); } return text; } function TocEntry(el, text, toclevel) { this.element = el; this.text = text; this.toclevel = toclevel; } function tocEntries(el, toclevels) { var result = new Array; var re = new RegExp('[hH]([2-'+(toclevels+1)+'])'); // Function that scans the DOM tree for header elements (the DOM2 // nodeIterator API would be a better technique but not supported by all // browsers). var iterate = function (el) { for (var i = el.firstChild; i != null; i = i.nextSibling) { if (i.nodeType == 1 /* Node.ELEMENT_NODE */) { var mo = re.exec(i.tagName) if (mo) result[result.length] = new TocEntry(i, getText(i), mo[1]-1); iterate(i); } } } iterate(el); return result; } // This function does the work. toclevels = 1..4. function generateToc(toclevels) { var toc = document.getElementById("toc"); var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels); for (var i = 0; i < entries.length; ++i) { var entry = entries[i]; if (entry.element.id == "") entry.element.id = "toc" + i; var a = document.createElement("a"); a.href = "#" + entry.element.id; a.appendChild(document.createTextNode(entry.text)); var div = document.createElement("div"); div.appendChild(a); div.className = "toclevel" + entry.toclevel; toc.appendChild(div); } if (entries.length == 0) document.getElementById("header").removeChild(toc); } /*]]>*/ </script> <title>gcin 使用手冊</title> </head> <body> <div id="header"> <h1>gcin 使用手冊</h1> <span id="author">eliu</span><br /> 2009-02-03 <div id="toc"> <div id="toctitle">Table of Contents</div> <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript> </div> </div> <div id="preamble"> <div class="sectionbody"> <div class="para"><p>本文使用 UTF-8 編碼,請使用支援 UTF-8 編碼的編輯器,例如:gedit。</p></div> </div> </div> <h2 id="_">1. 各平台上的安裝方式</h2> <div class="sectionbody"> <h3 id="_mandriva">1.1. Mandriva</h3><div style="clear:left"></div> <div class="listingblock"> <div class="content"> <pre><tt># urpmi gcin-X.X.X-liu_mdk.i586.rpm</tt></pre> </div></div> <div class="para"><p>或</p></div> <div class="listingblock"> <div class="content"> <pre><tt># rpm -i gcin-X.X.X-liu_mdk.i586.rpm</tt></pre> </div></div> <h3 id="_debian">1.2. Debian</h3><div style="clear:left"></div> <h4 id="_gcin">1.2.1. gcin 的安裝方式</h4> <div class="listingblock"> <div class="content"> <pre><tt># aptitude install gcin</tt></pre> </div></div> <div class="para"><p>或</p></div> <div class="listingblock"> <div class="content"> <pre><tt># dpkg -i gcin_X.X.X-X~X_iX86.deb gcin-qt3-immodule_X.X.X-1~X_iX86.deb</tt></pre> </div></div> <h3 id="_fedora">1.3. Fedora</h3><div style="clear:left"></div> <div class="listingblock"> <div class="content"> <pre><tt># yum install gcin</tt></pre> </div></div> <h3 id="_tarball_gcin">1.4. 下載 tarball 自行編譯 gcin</h3><div style="clear:left"></div> <div class="para"><p>如果使用 .tar.bz2 安裝者, table path 是 <em>/usr/local/share/gcin/table</em> ,而不是 <em>/usr/share/gcin/table</em> ,預設的 compile flags 是 -g,這樣如果 gcin 如果有 coredump 時可以方便 debug 且回報給作者 (gcin 的 source code 不要 remove 掉),不過 compile 出來的可執行檔的大小大很多,如果不喜歡,可以在 <em>./configure</em> 後修改 <em>config.mak</em> ,把 <em>OPTFLAGS=-g</em> 改成 <em>OPTFLAGS=-O</em> 。</p></div> <h4 id="_gcin_x_x_x_tar_bz2">1.4.1. gcin-x.x.x.tar.bz2 的安裝步驟 (適用於各平台)</h4> <div class="listingblock"> <div class="content"> <pre><tt>$ tar xvfj gcin-x.x.x.tar.bz2 $ cd gcin-x.x.x $ ./configure $ make su as root # make install logout & login</tt></pre> </div></div> <div class="para"><p>由 gcin-x.x.x.tar.bz2 自行編譯需要 GTK+ devel、Qt3 devel、Qt4 devel。</p></div> <h4 id="_mandriva_gcin">1.4.2. 在 Mandriva 自行編譯 gcin</h4> <div class="para"><p>在 Mandriva 需要 install libgtk+2.0_0-devel & libqt3-devel & libqt4-devel 這三個 .rpm,不過各家的名字可能不太一樣,可能要找一下。另外,你還需要 install pkgconfig 這個 .rpm 。</p></div> <h4 id="_debian_gcin">1.4.3. 在 Debian 自行編譯 gcin</h4> <div class="listingblock"> <div class="content"> <pre><tt># apt-get update # apt-get build-dep gcin # apt-get source gcin # cd gcin-X.X.X(此處填入 gcin 的版本號) # dpkg-buildpackage -b</tt></pre> </div></div> <h4 id="_gcin_rpm">1.4.4. 編譯自己的 gcin rpm</h4> <div class="olist"><ol> <li> <p> 安裝 libgtk+2.0_0-devel 這個 rpm。 </p> </li> <li> <p> $ tar jxvf gcin-x.x.x.tar.bz2 建立編譯目錄/檔案 </p> </li> <li> <p> 執行 .tar.bz2 內的 gcin-0.x.x/setup-rpm,這個 shell script 會幫你把 environment 設定好。 </p> </li> <li> <p> $ cp gcin-x.x.x.tar.bz2 ~/rpm/SOURCES </p> </li> <li> <p> 在 gcin-x.x.x 裏面執行./configure 完後,會有一個 gcin.spec (這是給 Mandriva 用的,其它的 distribution 可能要稍微修改一下。) </p> </li> <li> <p> # rpmbuild -ba gcin.spec (等 compile 完,就可以在 ~/rpm/RPMS/i586 看到你的 .rpm) </p> </li> </ol></div> </div> <h2 id="_gcin_2">2. 使用 gcin</h2> <div class="sectionbody"> <h3 id="__2">2.1. 介面簡介</h3><div style="clear:left"></div> <div class="para"><p>按 ctrl-Space 叫出 gcin 視窗後,在第一排的注音輸入的按鈕 (button) 按滑鼠右鍵 右鍵可以叫出 gcin-tools window 設定視窗; 按 mouse 左鍵可以叫出符號輸入視窗。</p></div> <h3 id="__3">2.2. 詞音輸入法</h3><div style="clear:left"></div> <div class="ilist"><ul> <li> <p> 由於 <em>一</em> 與 <em>不</em> 同音字詞過多,輸入此兩字的注音應該以口語發音為主。 譬如,輸入 <em>不會</em> , <em>不</em> 應該輸入第2聲。 </p> </li> <li> <p> 在詞音中按向上鍵可以查詢近音字,如 ㄥㄣ ㄓㄗ </p> </li> <li> <p> 當輸入一個詞的前兩個字的注音,就會跳出選詞的視窗,此時可以按 shift + 數字來 選詞,也可以不予理會,當輸入下一個字時,視窗會自動關閉。 你可以在 gcin 設定中 把這項功能關掉。 </p> </li> <li> <p> 如何加入新詞?把 cursor (游標) 移至要存的詞句的開頭,按下 shift-Enter,則會自 cursor 所在位置存到編輯區的結尾,cursor 也會自動跳到結尾,方便繼續輸入。 </p> </li> <li> <p> 標點符號與特殊符號可不可以存成詞?只要字有在注音表內就可以存成詞,請參考前面的說明,支援半型字。 </p> </li> <li> <p> 在詞音中按 control-u 可以把整個編輯區的內容清除。 </p> </li> <li> <p> 如果加錯詞怎麼辦?按滑鼠右鍵叫出設定視窗後,使用「詞庫編輯」的功能,你剛才加的詞在檔案最後。修改或刪除成正確的,輕聲是 '1'。在 gedit 中要用 UTF-8 儲存,不要弄成 Big5 了。 </p> </li> <li> <p> 你可以在注音表中自己加入或刪除想要的符號或字 </p> <div class="listingblock"> <div class="content"> <pre><tt>$ cd ~/.gcin $ phod2a pho.tab > pho.tab.src (轉成文字檔) $ gedit pho.tab.src $ phoa2d pho.tab.src (轉成 gcin 的 pho.tab)</tt></pre> </div></div> </li> </ul></div> <h3 id="__4">2.3. 詞音標點符號輸入</h3><div style="clear:left"></div> <div class="para"><p>取發音的第一個注音符號 + 輕聲(‧) or 1/2/3/輕 聲 如果要輸入注音符號, 就按向下鍵或空白鍵去選</p></div> <div class="listingblock"> <div class="content"> <pre><tt> ㄐ 。 (句點) ㄉ , (逗號) ㄇ : (冒號) ㄨ‧ ? (問號) ㄈ ; (分號) ㄊ ! (驚嘆號) ㄊ 他 ㄊ 她 ㄊ‧ 他 (由於!的注音是ㄊ,如果不想造成困擾,就用這一個。) ㄊ‧ 她 ㄋ 你 ㄋ 妳 ㄉˋ 、 (頓號) ㄉˊ ‧ (點) ㄑ‧ $ (錢) ㄒ‧ * (星) [ 『 ] 』 [ 「 (直接按中括號 '[' ,這個最容易使用) ] 」 (直接按中括號 '[' ,這個最容易使用) ㄌ‧ 了 ㄌ2 – (連接號) ㄌ … (省'略'號) ㄌ 了 ㄇ3 《 (書'名'號) ㄇ4 》 ㄆ4 — (破折號) ㄒ ℃ (攝氏 Celsius) ㄒ2 ㏄ (毫升) ㄉ˙ 的 ㄍ 個 ㄍ‧ ♂ (公) ㄇ‧ ♀ (母) ㄇ‧ 嗎 ㄇ‧ 麼</tt></pre> </div></div> <div class="para"><p>酷音輸入 的 shift + ",./;'" 也可以用 現在滑鼠的指標移到符號視窗的按鈕,約一秒鐘會顯示對應的注音按鍵提示,方便學習。 使用許氏鍵盤者某些符號會不能用,例如 '。' ,這是許氏鍵盤先天的問題。</p></div> <div class="para"><p>要輸入<em>「」『』《》</em> 還有一種方法就是,用 <em>[ ]</em> 兩個鍵,輸入以後可以用空白鍵選擇。 在詞音中可以輸入中括號 <em>[]</em> ,由於詞庫中 <em>[]</em> 有定義各種括號、引號及書名號的組合,這邊就可以用預選詞的方式來選擇你要的括號。</p></div> <div class="para"><p>gcin 0.8.8 後的版本可以用注音輸入半/全形 數字 <em>(0..9 及減(-))</em> 及 用 <em>[]</em> 鍵輸入 '()[]{}',現在也可以加入含有數字的詞,譬如:「7月, 5點, 3個」。你也可以用這來儲存電話號碼,只要用注音輸入姓名,然後用 shift 選就可以了。例如:可以加入「周潔輪:0935-123456」。</p></div> <div class="para"><p>gcin 1.4.0 後的版本,可用類似微軟新注音前導字元的方式輸入符號,用法為:在詞音輸入法中文輸入的狀態下,按一下 ` (grave,位於鍵盤左上方,與 <em>~</em> 同鍵),再按鍵盤上任何可輸入實體字元的按鍵,就可以輸入各種不同的符號,若想知道可輸入哪些符號,可參考 <a href="http://hyperrate.com/thread.php?tid=3613">Hyperrate: 整理新注音前導字元 ` 可以輸入的符號</a>。</p></div> <h3 id="__5">2.4. 自訂符號表</h3><div style="clear:left"></div> <div class="para"><p>如果要修改符號輸入視窗,編輯 <em>~/.gcin/symbol-table</em> , gcin 會偵測檔案是否有改變, 如有變動就自動重新載入 <em>symbol-table</em> 這個檔。</p></div> <div class="para"><p>如要修改 Alt-Shift-key 送出的字串,修改 <em>~/.gcin/phrase.table</em> 即可。</p></div> <h3 id="_gtab">2.5. gtab 輸入法</h3><div style="clear:left"></div> <h4 id="__6">2.5.1. 行列輸入法說明</h4> <div class="para"><p>葉光哲(老刀)先生根據行列輸入法發明人–廖明德先生提供的對照檔,整理了支援 CJK 七萬餘字的行列輸入法表格 (包含 Unicode 前 20902 字、一些特殊符號、與 Extension A & B), gcin 1.4.3 pre9 以後的版本已加入此表格。相關討論可見 <a href="http://hyperrate.com/thread.php?tid=7757">Hyperrate| 新版 OpenVanilla 行列輸入法表格</a>。</p></div> <div class="para"><p>如要使用此表格,請編輯 gtab.list (位於 <em>/usr/share/gcin/table/gtab.list</em> 或 <em>$HOME/.gcin</em> ),將:</p></div> <div class="listingblock"> <div class="content"> <pre><tt>行列 8 ar30.gtab ar30.png</tt></pre> </div></div> <div class="para"><p>改成</p></div> <div class="listingblock"> <div class="content"> <pre><tt>行列 8 ar30-big.gtab ar30.png</tt></pre> </div></div> <div class="para"><p>退出 X window 再重新進入後,執行 gcin 即可。</p></div> <h4 id="_gcin_amp_gtab">2.5.2. gcin 的行列 & 倉頡(.gtab) 可不可以輸入詞 ?</h4> <div class="para"><p>倉頡、行列輸入法中,現在可以直接輸入 linux,就可以跑出 linux,其餘的輸入法可以自己加到 .cin 後重新執行 gcin2tab。還有 (gnome kde gaim gcin xmms xine gedit kate kedit adsl hbo tvbs dvd vcd lcd)</p></div> <div class="para"><p>新加入的 keys 最好不要與原有的重複,如果原有的本來就重複,那就沒關係。</p></div> <div class="para"><p>只要把詞定義在 .cin 後面即可,然後執行上述的步驟,以下是幾行 examples</p></div> <div class="listingblock"> <div class="content"> <pre><tt>... tw 台灣 down 下載 talk 聊天 net 上網</tt></pre> </div></div> <h4 id="__7">2.5.3. 那可不可以與單字重覆定義按鍵呢?</h4> <div class="para"><p>可以的,在按空白鍵後就可以選字 or 詞。</p></div> <h4 id="_gcin_3">2.5.4. gcin 有嘸蝦米輸入法可用嗎?</h4> <div class="para"><p>以下的 嘸蝦米 table 僅供測試用,如果有長期使用,請購買合法版權。</p></div> <div class="listingblock"> <div class="content"> <pre><tt>$ /usr/share/gcin/script/noseeing-inst</tt></pre> </div></div> <div class="para"><p>logout & login 按 ctrl-alt-9 就可以開始用。 可以用 gcin-tools 把嘸蝦米設定成內定的輸入法。</p></div> <h4 id="_gcin_4">2.5.5. gcin 的拼音輸入法可以不打音調嗎?</h4> <div class="para"><p>pinyin 輸入法必需打音調。輸入拼音後,按 <em>1/2/3/4/5/空白鍵</em> 會進入選字狀態,其中,按 1 或空白鍵時,都只會顯示第一聲的字。</p></div> <div class="para"><p>gcin 另有一個 <em>通用拼音輸入法</em> ,可以不必打音調,可於 <a href="http://hyperrate.com/thread.php?tid=7692">Hyperrate: 通用拼音</a> 找到 cin 檔與相關討論。這個通用拼音輸入法的改編版,輸入拼音後,按 <em>空白鍵</em> 會顯示 <em>1/2/3/4/5</em> 聲的字,且支援以前導字元的方式輸入符號。</p></div> <h3 id="__8">2.6. 按鍵功能一覽表</h3><div style="clear:left"></div> <div class="para"><p>部份按鍵在某些 Window Manager 或 Application 中可能無法作用。本頁沒有「剪貼區管理視窗(gcb)」的用法。</p></div> <div class="listingblock"> <div class="content"> <pre><tt>* gtab輸入法拆碼中代表任意數量字元 非gtab輸入法中輸出*或* ? gtab輸入法拆碼中代表任意單一字元 輸出?或? ` gtab輸入法中開啟同音字選擇視窗 < 注音輸入法顯示上一頁重覆字 ' 詞音中輸出全形、符號 h 詞音 vi 編輯模式遊標左移一個字元 l 詞音 vi 編輯模式遊標右移一個字元 Q 詞音許氏鍵盤排列時可選擇同音字(跟向下鍵一樣) q 詞音許氏鍵盤排列時可選擇同音字(跟向下鍵一樣) x 詞音 vi 編輯模式刪除一個字元 Alt+Shift+按鍵 輸出phrase.table定義的字串 Alt+Space 可設定為輸入法狀態切換開關 BackSpace 清除一個拆碼 清除緩衝區的一個字元 CapsLock 詞音/日本anthy 切換中英文狀態 Ctrl+Alt+Space 在輸入視窗畫紅色的 X 用以協助除錯 Ctrl+Alt+, 符號視窗開關切換 Ctrl+Alt+0 切換為內碼輸入法 Ctrl+Alt+3 切換為注音輸入法 Ctrl+Alt+6 切換為詞音輸入法 Ctrl+Alt+= 切換為日本anthy輸入法 Ctrl+Alt+g 輸出前一次的字串 Ctrl+Alt+r 輸出前一次的字串 Ctrl+Alt+【-1245789=[\]`】 切換為gtab輸入法 Ctrl+Shift 循環切換輸入法 Ctrl+Shift+; 在非XIM模式輸出全形:符號 Ctrl+Space 輸入法狀態切換開關 Ctrl+e 詞音切換 vi 編輯模式 Ctrl+u 清除詞音緩衝區 Ctrl+按鍵 輸出phrase-ctrl.table定義的字串 Delete 刪除緩衝區遊標所在的字 刪除內碼輸入法的一個拆碼 Down 詞音中選擇同音字 End 關閉選擇視窗並移動到緩衝區末端 Enter 輸出緩衝區內容 Escape 清除所有拆碼 關閉gtab同音字選擇視窗 F11 日本anthy輸入法中呼叫 kasumi 管理模式 F12 日本anthy輸入法中呼叫 kasumi 加詞模式(先圈選想加的詞再按 F12) Home 關閉選擇視窗並移動到緩衝區最前端 Left 關閉選擇視窗並在緩衝區左移一個字元 PageDown gtab/日本anthy 輸入法顯示下一頁重覆字(若在末頁則回到第一頁) PageUp gtab/日本anthy 輸入法顯示上一頁重覆字(到第一頁為止) 數字盤的+鍵 gtab輸入法顯示下一頁重覆字(若在末頁則回到第一頁) 數字盤的-鍵 gtab輸入法顯示上一頁重覆字(到第一頁為止) Right 關閉選擇視窗並在緩衝區右移一個字元 Shift 可設定為 詞音/日本anthy 切換中英文狀態 Shift+Enter 詞音新增詞(從遊標所在位置到緩衝區末端) Shift+Space 全形狀態切換開關 可設定為輸入法狀態切換開關 Shift+按鍵 可設定在gtab狀態中取代「Alt+Shift+按鍵」 Shift+數字 詞音中選擇候選詞 Shift+標點 詞音中輸出全形標點符號 Space 拆碼輸入完成顯示候選字 翻頁顯示重覆字 輸出第一個候選字 輸出半形或全形空白 注音及詞音狀態下表示音調的一聲 Tab 可在詞音中代替Enter鍵輸出緩衝區內容 可設定為詞音切換中英文狀態 Up 詞音中選擇近音字 Windows+Space 可設定為輸入法狀態切換開關 滑鼠左鍵 符號視窗開關切換 系統列繁體轉簡體開關切換 滑鼠中鍵 選擇輸入法 滑鼠右鍵 執行gcin-tools 系統列顯示選單 滑鼠滾輪往上 符號視窗循環切換成上一組符號表(滑鼠遊標須在符號視窗範圍內) 滑鼠滾輪往下 符號視窗循環切換成下一組符號表(滑鼠遊標須在符號視窗範圍內)</tt></pre> </div></div> </div> <h2 id="_gcin_faq">3. gcin FAQ</h2> <div class="sectionbody"> <h3 id="_gcin_5">3.1. 為什麼有時候gcin的輸入視窗不會跟著程式的游標 ?</h3><div style="clear:left"></div> <div class="para"><p>如果是 GTK(gnome) 的程式,可能你沒有設定 GTK_IM_MODULE=gcin, QT 的程式必須在在 qtconfig 設定 XIM over-the-spot。如果你的 QT 支援 QT_IM_MODULE,只要設定 QT_IM_MODULE=gcin就可以了。</p></div> <h3 id="_gnome_environment_kde_gcin_button">3.2. 如何在非 gnome environment(如 KDE) 修改 gcin 顯示的 button 外觀?</h3><div style="clear:left"></div> <div class="para"><p>執行 gnome-theme-manager 可以選擇主題, 修改外觀. 但是必須在 KDE startup script 中執行 gnome-settings-daemon.</p></div> <h3 id="_gcin_6">3.3. 可以啟動多個 gcin 嗎?</h3><div style="clear:left"></div> <div class="para"><p>XIM name 是由環境變數中 XMODIFIERS=@im=XXXX 裏面的 XXXX自動設定 export XMODIFIERS=@im=gcin_test</p></div> <div class="para"><p>一般程式就可以用 以下方式來控制要連接到那一個 XIM server</p></div> <div class="listingblock"> <div class="content"> <pre><tt>export XMODIFIERS=@im=gcin_test</tt></pre> </div></div> <h3 id="_gcin_7">3.4. 可以在遠端使用 gcin 嗎?</h3><div style="clear:left"></div> <div class="para"><p>gcin 有支援遠端的功能。</p></div> <div class="para"><p>勾選 <em>設定</em> (<em>gcin-tools</em>) → <em>內定輸入法&開啟/關閉</em> → <em>遠端 client 程式支援</em> 這個選項,內定是 port 9999,如果9999 被佔用,會自動往下尋找 10000、10001……。gcin im client 會從 XMODIFIERS 自動去找對應的 port。只是如果你有用 IP table,就必須打開對應的 port。</p></div> <div class="para"><p>那如果 gcin server 在 firewall/NAT 裡面,client 在 firwall 外面,然後是用 ssh X11 forward 方式,有兩種解決方式:</p></div> <div class="ilist"><ul> <li> <p> 一種方式是用 XIM </p> <div class="listingblock"> <div class="content"> <pre><tt>$ export GTK_IM_MODULE=xim $ export QT_IM_MODULE=xim</tt></pre> </div></div> </li> <li> <p> 也可以用在 remote 另外執行一個 gcin 的方式,變成直接 local 的 connection </p> <div class="listingblock"> <div class="content"> <pre><tt>$ export XMODIFIERS=@im=gcin2 $ gcin & $ gedit .......</tt></pre> </div></div> </li> </ul></div> <div class="para"><p>未來 gcin 有可能會用 X11 ipc 的方式再弄一個傳輸方式,由於遠端的需求很少,而且有替代方式,可能會等到真的閒到無聊的時候才可能去弄。目前 XIM 一個嚴重的缺陷是XIM server 結束時,某些情況會造成 client 跟著結束或鎖死的情況,不知道是 XIM 設計的問題還是 X11 的問題。XIM 的另外一個缺陷是不支援 KeyRelease 的 event,造成沒辦法在詞音中使用 Shift 切換中/英。</p></div> <h3 id="_gcin_gcin">3.5. 使用者的 gcin 資料毀損,要如何還原成 gcin 原來的設定?</h3><div style="clear:left"></div> <div class="para"><p>執行</p></div> <div class="listingblock"> <div class="content"> <pre><tt>$ rm -fr ~/.gcin</tt></pre> </div></div> <div class="para"><p>當然了,使用者自己的詞庫也跟著不見。使用者可以 copy 此目錄來複製 gcin 的設定。</p></div> <h3 id="_xxx_cin">3.6. 如何利用 xxx.cin 新增中文輸入的方式?</h3><div style="clear:left"></div> <div class="olist"><ol> <li> <p> 如果你的 .cin file 仍然是 big5 編碼,請先將檔案的編碼轉換成 utf-8 </p> <div class="listingblock"> <div class="content"> <pre><tt>$ mv file.cin file.cin.big5 $ iconv -f big5 -t utf-8 file.cin.big5 > file.cin</tt></pre> </div></div> </li> <li> <p> 將 cin 檔轉換成 gtab 檔 </p> <div class="listingblock"> <div class="content"> <pre><tt>$ gcin2tab file # cp *.gtab /usr/share/gcin/table</tt></pre> </div></div> </li> <li> <p> 編輯 <em>/usr/share/gcin/table/gtab.list</em> ,依其他輸入法的格式加入設定: </p> <div class="listingblock"> <div class="content"> <pre><tt> 輸入法 數字 gtab檔 Icon檔</tt></pre> </div></div> <div class="para"><p>例如:</p></div> <div class="listingblock"> <div class="content"> <pre><tt> 行列 8 ar30.gtab ar30.png</tt></pre> </div></div> </li> <li> <p> 按 control-alt-數字鍵,切換到你在 gtab.list 中定的數字鍵。注音與詞音是固定在 3 & 6 鍵上,不能更改的。執行 gcin-tools 可以設定內定的輸入法。 </p> </li> </ol></div> <h3 id="_gnome_terminal_ctrl_atl">3.7. 在 gnome-terminal 等軟體無法用 ctrl-atl-???? 切換輸入法,該怎麼辨?</h3><div style="clear:left"></div> <div class="para"><p>其實有更好的切換方法,就是用 Ctrl-Shift。</p></div> <div class="para"><p>譬如你是用行列輸入法,想要與注音循環切換:</p></div> <div class="para"><p>gcin-tools → 輸入法開啟關閉→使用 (選 注音 & 行列) , 第一次內定選行列 設定完成之後,就可以用 Ctrl-Shift 循環切換 注音/行列</p></div> <h3 id="_gaim_gqview_enter">3.8. gaim 及 gqview 內使用詞音時按 enter 無法送出編輯區內容?</h3><div style="clear:left"></div> <div class="para"><p>這是因為某些程式會把 enter 吃掉,沒有送給 gcin 處理,可能解決辦法有:</p></div> <div class="olist"><ol> <li> <p> 使用 Tab key </p> </li> <li> <p> 中文輸入狀態可使用 shift-space </p> </li> </ol></div> <div class="para"><p>gaim 裏面有選項可以設定成用 ctrl-Enter 送出內容,這樣就可以在 gcin 內用 Enter。</p></div> <h3 id="_utf8_encoding">3.9. 如何使用 utf8 encoding?</h3><div style="clear:left"></div> <div class="listingblock"> <div class="content"> <pre><tt>export XMODIFIERS=@im=gcin_utf8 export LC_ALL=zh_TW.UTF-8 gcin & gedit</tt></pre> </div></div> <div class="para"><p>這個 gedit 就可以以注音輸入(方方土)</p></div> <h3 id="__9">3.10. 我想使用倉頡行列的重複字選擇鈴聲,但是嫌聲音太長,有辨法解決嗎?</h3><div style="clear:left"></div> <div class="para"><p>gcin 的嗶聲是呼叫 X 的 XBell() 函式,你可以用 <em>xset b 30 1000 100</em> 設定鈴聲音量、頻率、與長短,但這個方法會影響到整個系統的鈴聲。</p></div> <div class="para"><p>如果只想設定 gcin 的鈴聲音量,可升級到 gcin 1.4.4 以後的版本。gcin 1.4.4 以後的版本支援在 <em>~/.gcin/config/gcin-bell-volume</em> 內自訂鈴聲音量,值必需介於 -100 至 100 之間 (內定值是 -97)。例如:</p></div> <div class="listingblock"> <div class="content"> <pre><tt>echo 50 > ~/.gcin/config/gcin-bell-volume</tt></pre> </div></div> <div class="para"><p><a href="http://hyperrate.com/thread.php?tid=8462">hyperrate 上關於鈴聲的相關討論</a></p></div> <h3 id="_gcin_8">3.11. gcin 可以在使用某種輸入法時,顯示另一種輸入法的拆碼,以幫助使用者學習輸入法嗎?</h3><div style="clear:left"></div> <div class="para"><p>有人反應:</p></div> <div class="listingblock"> <div class="content"> <pre><tt>> 關於嘸蝦米打字時,底下會出來所有的拆碼 > 這點實在是好啊,(因為小弟雖然用嘸蝦米用了一段時間了,不過很多字都還不是 > 最簡碼,所以非常感謝這個設計,也因為這個設計讓小弟的嘸蝦米可以再進步 > 所以,想問,有沒有可能像 MS 那樣, > 打注音字出來 嘸蝦米的拆碼參照? > 如… > 打:ㄅㄛ/ 出來 「嘸 PPD」這樣?</tt></pre> </div></div> <div class="para"><p>有啊,按 ctrl-alt-3 輸入注音 & 選字,就會顯示 <em>設定</em> (<em>gcin-tools</em>) → <em>內定輸入法 & 開啟/關閉</em> → <em>第一次內定</em> 的所有的可能拆字。如果沒有指定內定的 .gtab 輸入法,則顯示最近一次的 gtab 輸入法。</p></div> <div class="para"><p>gcin 和 windows 的不一樣, 是直接顯示你內定使用的輸入法,不需要另外去設定。所以,你也可以用 gtab 的拼音輸入法去查詢倉頡等 gtab 輸入法。</p></div> <div class="para"><p>另外,如果字的某部份忘了如何拆,你可以用 <em>*</em> or <em>?</em> 萬用字元 (wildcard) 來幫助你選字。</p></div> <div class="para"><p>gcin 0.6.2 後的版本有類似嘸蝦米的同音字查詢,按 <em>`</em> (backquote) 後就會出現注音的視窗,輸入要查詢的同音字就可以了。</p></div> <div class="para"><p>如果需要查詢許多字的讀音,可使用 <em>設定</em> (<em>gcin-tools</em>) → <em>剪貼區 注音查詢</em> 來大量查詢。從網頁或文章中直接選取整段文字,開啟 <em>剪貼區 注音查詢</em> 後即可標示注音,也可在裡面輸入字,用滑鼠選取後,按 <em>自剪貼區更新</em> 。</p></div> <h3 id="__10">3.12. 為什麼倉頡按第二鍵後會跑出一些字,選字視窗中數字的順序還會跳?</h3><div style="clear:left"></div> <div class="para"><p>譬如:按 AA日日後</p></div> <div class="listingblock"> <div class="content"> <pre><tt> 1昌 2昍 5曝 6暻 7暘 0暍</tt></pre> </div></div> <div class="para"><p>這是引導初學者按鍵的功能,5曝代表'曝'是在5這個行(TGB廿土月)上。 34 是空白,表示沒有任何字。</p></div> <div class="para"><p>如果不喜歡,有選項可以關掉 ( <em>gcin-tools</em> → <em>倉頡/行列…</em> → <em>顯示部份符合的字</em> )。</p></div> <div class="para"><p>如果是嘸蝦米,則顯示的號碼必須加一。</p></div> <h3 id="_gtab_2">3.13. gtab(倉頡、行列) 輸入法中要如何加入新詞?</h3><div style="clear:left"></div> <div class="para"><p>用詞音輸入法加入。在中文輸入的狀態下,把 cursor (游標) 移至要存的詞句的開頭,按下 shift-Enter,則會自 cursor 所在位置存到編輯區的結尾,cursor 也會自動跳到結尾,方便繼續輸入。</p></div> <h3 id="__11">3.14. 許氏鍵盤注意事項:</h3><div style="clear:left"></div> <div class="para"><p>如果使用許氏鍵盤,<em>q</em> 是用來選字詞。</p></div> <h3 id="_kde_gcin_window_cursor">3.15. KDE 中 gcin 的 window 為什麼不會跟著 cursor 移動?</h3><div style="clear:left"></div> <div class="para"><p>你可以用 qtconfig 把 XIM input style 設定成 over-the-spot 就可以了。</p></div> <h3 id="_gcin_gcin_2">3.16. gcin 的詞庫不夠多,想貢獻給 gcin 作者自己的詞庫,要怎麼做呢?</h3><div style="clear:left"></div> <div class="para"><p>這樣就可以看到兩個 file 的差異:</p></div> <div class="listingblock"> <div class="content"> <pre><tt>cd .gcin tsd2a tsin > your diff your gcin-0.x.x/data/tsin.src > diff.txt gedit diff.txt</tt></pre> </div></div> <div class="para"><p>注意看你的詞庫是否有那些現代人用不到的詞,這些沒用的詞只會增加詞音錯誤的機率。</p></div> <h3 id="__12">3.17. 詞音輸入的視窗在打滿注音後會縮回去,看起來有點討厭。</h3><div style="clear:left"></div> <div class="para"><p>注音輸入的區域的字型必須比編輯區的小個幾點就沒有這個問題。如果你有安裝日文字型,且使用 12/23/2004 以前的 fonts.conf,則還是會有縮回去的問題,請下載最新的 fonts.conf。</p></div> <h3 id="_gcin_coredump_debug">3.18. gcin coredump 如果要幫忙 debug,該怎麼做?</h3><div style="clear:left"></div> <div class="olist"><ol> <li> <p> 首先先編譯 gcin </p> <div class="listingblock"> <div class="content"> <pre><tt>cd gcin-0.x.x make clean ./configure make</tt></pre> </div></div> </li> <li> <p> make 完了之後,執行: </p> <div class="listingblock"> <div class="content"> <pre><tt>./tgdb</tt></pre> </div></div> </li> <li> <p> 執行 r </p> <div class="listingblock"> <div class="content"> <pre><tt>(gdb) r</tt></pre> </div></div> </li> <li> <p> r 指令會開始執行 gcin, 在跑出來的 gedit 輸入一些字,gcin 掛了之後: </p> <div class="listingblock"> <div class="content"> <pre><tt>(gdb) bt</tt></pre> </div></div> </li> <li> <p> 下了 bt 以後會有類似以下的訊息,把這個 post 出來。 </p> <div class="para"><p>看起來可能像這樣:</p></div> <div class="listingblock"> <div class="content"> <pre><tt>#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</tt></pre> </div></div> </li> </ol></div> <h3 id="_gtk_im_module_qt_im_module_qt_4_0_or_mandriva_2006_gcin_so_xim">3.19. GTK_IM_MODULE/QT_IM_MODULE(qt 4.0 or Mandriva 2006) 使用 gcin 自己的 .so,和XIM相比,有何好處?</h3><div style="clear:left"></div> <div class="olist"><ol> <li> <p> gcin 掛掉重新執行時比較不會有程式跟著一起掛掉的情形,現在可以直接在 gnome-terminal 下, <em>pkill gcin</em> ,不用擔心 gnome-terminal 會停在那邊不動 (mozilla-gtk2 除外,這是因為如果你有安裝 flash player,flash 會 open XIM 的 sesseion,X11 裏面的 XIM close 時在 server當掉時也會跟著當掉。)。 </p> </li> <li> <p> GTK2/QT 的程式 locale 即使設定成 zh_TW.Big5 也還是可以輸入所有的 UTF-8 字。 </p> </li> <li> <p> 詞音由於現在有了 key release event,現在也可以用 Shift 來切換中/英。 </p> </li> <li> <p> gcin 的協定對 input focus 的處理比 XIM 好。 </p> </li> <li> <p> client 直接 對 gcin server 互傳資料,不透過 X server,延遲會比較少。 </p> </li> <li> <p> 如果發現 gcin server 沒有在執行,會自動執行 gcin。 </p> </li> </ol></div> <h3 id="_mandrake_10_0_10_1_gcin">3.20. 大部份(Mandrake 10.0,10.1) 安裝 gcin 後即可直接使用,如果不行該怎麼辨?</h3><div style="clear:left"></div> <div class="para"><p>執行</p></div> <div class="listingblock"> <div class="content"> <pre><tt> export GTK_IM_MODULE=gcin</tt></pre> </div></div> <div class="para"><p>通常是設定在 <em>/etc/sysconfig/i18n</em> 。</p></div> <div class="para"><p>gcin 會先使用 unix socket,如果不行,則使用 TCP port 9999 - 20000。</p></div> <div class="para"><p>如果因為 firewall 的緣故無法使用, export GTK_IM_MODULE=xim 可以指定使用 XIM。</p></div> <div class="para"><p>另外,如果你遠端也有 install gcin,可以 export XMODIFIERS=@im=gcin.remote,這樣就會在 remote 端自動執行一個新的 gcin。</p></div> <div class="para"><p>目前支援很簡單的編碼以避免 plaintext 在傳送,未來可能會支援 SSL。</p></div> <div class="para"><p>雖然目前是用很簡單的 encoding,如果 gcin 搭配 ssh X11 forwarding 應該是非常安全的,而且 data 不像 SSL 會變大,更適合在 low bandwidth 使用。</p></div> <div class="para"><p>目前支援 GTK2 & QT,gcin 有提供非常容易使用的 API 介面供其他 terminal 使用,歡迎來把這部份完成,詳細的介面,請看 <em>/usr/local/include/gcin-im-client.h</em> 。</p></div> <h3 id="_gcin_im_module_em_export_gcin_connect_msg_on_tty_em_console">3.21. gcin 如果使用到自己的 IM_MODULE 時,且用 <em>export GCIN_CONNECT_MSG_ON=tty</em> (console) 會出現錯誤訊息:</h3><div style="clear:left"></div> <div class="olist2"><ol> <li> <p> connected to unix socket addr /tmp/gcin-????/socket-:0.0-xcin 或是 </p> </li> <li> <p> gcin client connected to server 172.x.x.x:9999 </p> </li> </ol></div> <div class="para"><p>只需要一個 gcin 執行就可以,不需要為了同時支援 GTK_IM_MODULE/QT_IM_MODULE & XIM 而執行兩個 gcin process。</p></div> <div class="para"><p>目前 OpenOffice 1.1.x GTK2 的版本好像是使用 XIM,1.9.x & 2.x 則是改成用 GTK_IM_MODULE。</p></div> <div class="olist"><ol> <li> <p> <a href="http://www.csie.nctu.edu.tw/~cp76/linux/mrxvt-gcin-0.4.1.tar.bz2">mrxvt-gcin-0.4.1.tar.bz2</a> 是一個使用 gcin IM client 的 mrxvt。 </p> </li> <li> <p> <a href="http://www.csie.nctu.edu.tw/~cp76/linux/rxvt-gcin.tbz">rxvvt-gcin.tbz</a> 是一個使用 gcin IM client 的 rxvt (crxvt)。 </p> </li> </ol></div> <div class="para"><p>如果你因為 install 其他的輸入法把 gcin 的設定弄亂,可以用 root 執行看看 /usr/share/gcin/script/modify-XIM</p></div> <div class="para"><p>tsd2a 新增 "-nousecount" 的參數。由於現在 gcin 會統計詞的使用頻率,dump出來的 file 會有 usecount,如果你要比較兩個詞庫時會造成困擾,這時候就可以用這個參數。</p></div> <h3 id="_ctrl_space_gcin">3.22. Ctrl-Space 無法叫出 gcin 的視窗,檢查事項</h3><div style="clear:left"></div> <div class="para"><p>一般看 environ variable 的內容可以用 printenv,由於可以設定 environ variable 的地方太多了,用開 terminal 的方式看,不見得一定符合應用程式用的實際值,所以還是直接用 proc file system 最準。</p></div> <div class="olist"><ol> <li> <p> pgrep gcin 是否可以看到 gcin 的 process Id (一個數字),如果可以,goto 3 </p> </li> <li> <p> 直接在 terminal 執行 gcin,看有什麼錯誤訊息。 如果最後一行出現的訊息是 </p> <div class="listingblock"> <div class="content"> <pre><tt> IMOpenIM failed. Maybe another XIM server is running.</tt></pre> </div></div> <div class="para"><p>這表示 xcin 可能仍然在執行,試試 pkill xcin再執行 gcin 看看。當然,還是必須修改你的 X window 的 script把執行 xcin 的部份改成 gcin 才能把問題真正解決,也有可能你忘了 logout & login。<br /></p></div> </li> <li> <p> 檢查 XMODIFIERS 是否設定成一致的內容。 </p> <div class="listingblock"> <div class="content"> <pre><tt>$ pgrep gcin 7438 $ vi /proc/7438/environ</tt></pre> </div></div> <div class="para"><p>這個 file 是這個 process 所有的 environ variables 的內容,檢查 XMODIFIERS 內容。你可以用同樣的方法檢查應用程式的內容,例如 firefox。</p></div> <div class="para"><p>gcin 的XMODIFIERS 可以不設定,但應用程式的就必須設定成 <em>XMODIFIERS=@im=xcin</em> 如果有設定,就必須一致,例如都設定成 <em>XMODIFIERS=@im=gcin</em> 也可以。<br /></p></div> </li> <li> <p> gtk2 (gnome) 程式檢查事項。 </p> <div class="listingblock"> <div class="content"> <pre><tt>$ gtk-query-immodules-2.0</tt></pre> </div></div> <div class="para"><p>是否有底下的內容,</p></div> <div class="listingblock"> <div class="content"> <pre><tt>"/usr/lib/gtk-2.0/immodules/im-gcin.so" "gcin" "gcin Input Method" "gtk20" "/usr/share/locale" "*"</tt></pre> </div></div> <div class="para"><p>如果沒有,以 root 執行底下的 script 看看 <em>/usr/share/gcin/script/modify-XIM</em> 。<br /></p></div> </li> <li> <p> 檢查是否有設定 <em>GTK_IM_MODULE=gcin</em> 這個 environ variable。設定成 <em>GTK_IM_MODULE=xim</em> 也是可以用,只是 over-the-spot 會有問題,gcin 視窗不會跟著程式的游標移動,除非有安裝 gtk2 xim over-the-spot 的 patch,還是用 <em>GTK_IM_MODULE=gcin</em> 最好。 </p> </li> <li> <p> 如果是用 XIM,建議設定 <em>export LC_CTYPE=zh_TW.Big5</em> 。 </p> </li> </ol></div> <h3 id="_gcin_9">3.23. 覺得 gcin 的釘子不好看,想要換掉。</h3><div style="clear:left"></div> <div class="para"><p>有此需求的的人自己 替換 <em>/usr/share/icons/gcin</em> 。</p></div> <h3 id="_gcin_0_9_8_cin_em_space_style_em">3.24. gcin 0.9.8 替 .cin 新增 <em>%space_style</em> 的選項,後面的數字代表的意義:</h3><div style="clear:left"></div> <div class="listingblock"> <div class="content"> <pre><tt>1: 嘸蝦米、大易 2: 倉頡等 4: 行列輸入法</tt></pre> </div></div> <div class="para"><p>有了這個,且在 gcin-tools 中設定成「由 .gtab 指定」,就可以自動設定空白鍵的選項,而且用 ctrl-alt- 切換輸入法時也會自動切換。</p></div> <div class="listingblock"> <div class="content"> <pre><tt>%selkey 1234567890 %space_style 2 %keyname begin</tt></pre> </div></div> <h3 id="_gtab_em_keep_key_case_em">3.25. gtab 中 <em>%keep_key_case</em> 選項是做什麼用的?</h3><div style="clear:left"></div> <div class="para"><p>gcin 0.9.8 替 gtab 新增 <em>%keep_key_case</em> 的選項。</p></div> <div class="para"><p>用在需要分別大小寫的輸入法,例如舊版的日文輸入表格。</p></div> <div class="listingblock"> <div class="content"> <pre><tt> %space_style 4 %keep_key_case <--------------------------- %keyname begin</tt></pre> </div></div> <h3 id="_gcin_gtk_qt_im_module">3.26. 如何確定目前是使用 gcin 自己的 gtk/qt im module?</h3><div style="clear:left"></div> <div class="olist"><ol> <li> <p> 可以先用 gedit or kedit 測試,在編輯區按 mouse 右鍵,menu 裏選輸入法,會顯示出目前正在使用的輸入法,如果是 <em>gcin Input Method</em> 就是對的,其他的是錯的。 </p> </li> <li> <p> 在terminal 用 export GCIN_CONNECT_MSG_ON=, 再執行自己要的測試程式, terminal (console) 會出現以下 message : </p> </li> </ol></div> <div class="listingblock"> <div class="content"> <pre><tt> connected to unix socket addr /tmp/gcin-????/socket-:0.0-xcin</tt></pre> </div></div> <h3 id="_gcin_scim_memory">3.27. gcin 與 scim memory 使用比較</h3><div style="clear:left"></div> <div class="para"><p>分別以 gcin 的詞音與 scim chewing 用 kedit/gedit/leafpad 輸入「測試」兩個字, 由於 scim 有數個 process,必須全部加起來。這個測試也比較 qt-im-module/gtk-im-module 的 memory 使用。</p></div> <div class="literalblock"> <div class="content"> <pre><tt> vsz rss kedit-vsz kedit-rss scim 80168 31312 47052 17368 gcin 29132 8568 41840 16144</tt></pre> </div></div> <div class="literalblock"> <div class="content"> <pre><tt> gedit-vsz gedit-rss leafpad-vsz leafpad-rss (測試 gtk-im-module) scim 67148 16444 34084 9756 gcin 61008 14924 26880 7884</tt></pre> </div></div> <div class="para"><p>kedit: 3.4.1 scim: scim 1.4.2 + scim-chewing 0.2.1 gcin: gcin 1.0.4</p></div> <h3 id="_mozilla_firefox_coredump_gtk_im_module">3.28. Mozilla Firefox 中 coredump,想看是不是 gtk-im module 造成的。</h3><div style="clear:left"></div> <div class="olist"><ol> <li> <p> 試著去 compile firefox,把 error 回報 mozilla,改成直接 coredump。Mandriva 中的firefox是改成直接 coredump。 </p> </li> <li> <p> 在 make gcin 修改 config.mak 設定 OPTFLAGS=-g 去 compile,這樣才有 debug 的 information。然後用 root make install。 </p> </li> <li> <p> 當 coredump 發生時 gdb /usr/lib/mozilla-firefox-1.0.7/mozilla-firefox-bin core.xxxx 這邊這個可執行檔是要真正的那一個,不是 shell script。 core.xxxx 是 coredump 的 file。 這樣就可以看到 coredump 在那邊發生。 </p> </li> </ol></div> <div class="para"><p>與 caleb 討論,所想到如何避免 flash player plugin open XIM,由於 flash player XIM 寫的有問題,有時候會造成 firefox coredump。gcin 是可以 compile 成不支援 XIM,但有時候又需要用(wine, rxvt-unicode)</p></div> <div class="para"><p>其實很簡單,修改 <em>/usr/bin/mozilla-firefox</em> or <em>/usr/bin/firefox</em> 執行的 script 加入 <em>unset XMODIFIERS</em> 。原理是 gcin 如果沒有設定 XMODIFIERS 內定的 XIM name 就是 gcin, 把 XMODIFIERS unset 後,gcin 用 <em>GTK_IM_MODULE=gcin</em> 仍然可以輸入,但是 XIM 需要 XMODIFIERS 才能,這樣就達到防止 flash player open XIM。</p></div> <h3 id="__13">3.29. 請問一下內定輸入法,是由那個設定檔來決定的?</h3><div style="clear:left"></div> <div class="para"><p><em>~/.gcin/config/default-input-method</em></p></div> <h3 id="_su_sudo_gcin">3.30. 使用 su 或 sudo 後,無法使用 gcin,該怎麼辦?</h3><div style="clear:left"></div> <div class="para"><p>如果使用的 gcin 是 1.4.3 pre7 之前的版本(含 1.4.3 pre7),可以這麼做:</p></div> <div class="para"><p>設定 (<em>gcin-tools</em>) → 內定輸入法 & 開啟/關閉 → 遠端 client 程式支援 (port 9999-)</p></div> <div class="para"><p>完成這個動作後,重新登入 X Window System 試試看。</p></div> <div class="para"><p>如果用的 gcin 是 1.4.3 pre8 後的版本(含 1.4.3 pre8),已支援 su root 的中文輸入,注意—要配合新的 libgcin-im-client.so.1.1.0 才可!</p></div> <h3 id="_kde_gcin">3.31. 在 KDE 的系統管理頁面無法使用 gcin,該怎麼辦?</h3><div style="clear:left"></div> <div class="para"><p>問題同上。開啟設定中的 <em>遠端 client 程式支援 (port 9999-)</em> 並重新登入 X Window System 試試看。</p></div> <h3 id="_gcin_1_4_3">3.32. 升級到 gcin 1.4.3 後,桌面多出三個方格是什麼東西?</h3><div style="clear:left"></div> <div class="para"><p>gcin 1.4.3 pre 8 後的版本,整合了 gcb,gcb 是一個管理剪貼簿 (clipboard) 的小工具。</p></div> <div class="para"><p>一般 X Window 會自動複製選取的內容,但如果你不小心再次選取到其他內容,原本複製的東西就會被新選取的內容所覆蓋,gcb 可以避免這種狀況發生。</p></div> <div class="para"><p>gcb 提供了三個儲存格,在 gcb 的任一個儲存格上按右鍵可以設定儲存按鈕,每5秒鐘從剪貼區更新。按左鍵把儲存格的內容存到剪貼區。按中鍵可以選擇之前的剪貼區內容的改變。如果不想用,可以在 gcin-tools 內關掉。</p></div> <h3 id="_gcin_10">3.33. gcin 支援輸入日文嗎?</h3><div style="clear:left"></div> <div class="para"><p>gcin 1.4.3 pre13 以後的版本支援使用 <a href="http://sourceforge.jp/projects/anthy/">anthy</a> 來輸入日文。</p></div> <div class="para"><p><a href="http://hyperrate.com/thread.php?tid=8338#8338">使用方法</a>:</p></div> <div class="olist"><ol> <li> <p> 切換到「日本anthy」(廢話) </p> </li> <li> <p> 開始打羅馬拼音 </p> </li> <li> <p> 按 enter 可輸出 buffer 中的內容 </p> </li> <li> <p> 按空白鍵可自動轉換「假名←→漢字」 「平假名←→片假名」「假名←→符號」(依 anthy dictionary 內容決定) </p> </li> <li> <p> 再按一次空白鍵可選擇其它想轉換的內容 (當可轉換內容不止一種時) </p> </li> <li> <p> 選字的選單設定與詞音的相同(可修改成用 1234 選詞)。 </p> </li> <li> <p> 與 UIM 一樣,可以用 Shift-Left/Right 調整詞的範圍。 </p> </li> <li> <p> gcin 1.4.4 後支援以 shift 切換日/英文輸入模式。 </p> </li> </ol></div> <div class="para"><p>加字加詞的方法:</p></div> <div class="olist"><ol> <li> <p> 可手動編輯純文字檔 $HOME/.anthy/private_words_default 例如加入「としば #T35*500 東芝」 </p> </li> <li> <p> 可用 <a href="http://sourceforge.jp/projects/kasumi/">kasumi</a> ,如 <a href="http://hyperrate.com/topic-files-dir/38/8338-eQTwr1J0qF/toshiba.gif">圖</a> 。 </p> </li> </ol></div> <div class="para"><p>在 BBS 輸入日文時,請參考 <a href="http://cle.linux.org.tw/trac/wiki/GcinBBSHiragana">在 BBS 輸入日文</a>。</p></div> <div class="para"><p>(如果不想使用 anthy,系統裡可完全不安裝 anthy 相關檔案。)</p></div> </div> <h2 id="__14">4. 注意事項</h2> <div class="sectionbody"> <div class="para"><p>gcin 的 .cin format 與 .xcin 有些不同,並不支援 * 第三欄位,目前好像只有行列有使用,如果有需求時,可以加在 %quick 段落內。</p></div> <div class="para"><p>把 gcin 一類的 XIM server kill 掉再重新啟動,容易造成 X window 底下程式運作不正常(特別是 mozilla),最好還是 logout 再 login。</p></div> <div class="para"><p>gcin 1.3.0 後,使用者可以在 ~/.gcin 裏加自己的 gtab.list *.gtab,gcin 會優先使用這裡的 files。</p></div> <div class="para"><p>gcin 0.9.8 的 .gtab format 有變動,如果你不是使用 gcin 內附的 .gtab file,一定要用 gcin2tab 重新產生新的 .gtab file,否則會 coredump。</p></div> <div class="para"><p>gcin 0.6.5 新增關掉 gcin remote client 支援的選項 ,如果你是 su 成另外一個 user,這個選項仍然必須打開,否則無法輸入中文。</p></div> </div> <h2 id="_gcin_11">5. 更多 gcin 相關資源</h2> <div class="sectionbody"> <div class="para"><div class="title">gcin 論壇<br /></div><p><a href="http://hyperrate.com/dir.php?eid=67">http://hyperrate.com/dir.php?eid=67</a></p></div> <div class="para"><div class="title">gcin 原始碼<br /></div><p><a href="http://www.csie.nctu.edu.tw/~cp76/gcin/download/">http://www.csie.nctu.edu.tw/~cp76/gcin/download/</a></p></div> <div class="para"><div class="title">各平台 gcin 套件下載區<br /></div><p><a href="http://cle.linux.org.tw/trac/wiki/GcinDistros">http://cle.linux.org.tw/trac/wiki/GcinDistros</a></p></div> <div class="para"><div class="title">各種輸入法表格下載<br /></div><p><a href="http://cle.linux.org.tw/trac/wiki/GcinTables">http://cle.linux.org.tw/trac/wiki/GcinTables</a></p></div> <div class="para"><div class="title">安裝額外的輸入法<br /></div><p><a href="http://cle.linux.org.tw/trac/wiki/GcinInstallTables">http://cle.linux.org.tw/trac/wiki/GcinInstallTables</a></p></div> <div class="para"><div class="title">製作新的輸入法 cin 檔<br /></div><p><a href="http://cle.linux.org.tw/trac/wiki/GcinMakeCin">http://cle.linux.org.tw/trac/wiki/GcinMakeCin</a></p></div> </div> <div id="footer"> <div id="footer-text"> Last updated 2009-02-22 16:59:06 CST </div> </div> </body> </html>