-
Notifications
You must be signed in to change notification settings - Fork 3
/
README.html
1283 lines (1239 loc) · 54.9 KB
/
README.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!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">