comparison man/mule/canna-jp.texi @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents
children
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
1 \def\lang{jp}
2 %\kanjifiletype=20
3 \overfullrule=0pt
4 \input texinfo @c -*-texinfo-*-
5 @comment %**start of header
6 @c canna.texinfo release 1.2 91-Sep-6
7 @setfilename canna
8 @settitle 『かんな/emacs』の手引
9 @iftex
10 @finalout
11 @end iftex
12 @comment %**@setchapternewpage odd
13 @c @smallbook
14 @comment %**end of header
15
16 @titlepage
17 @sp 3
18 @center @titlefont{『かんな/emacs』の手引}
19 @sp 4
20 @center 第7版
21 @sp 1
22 @center 1993年11月12日
23 @sp 5
24 @center 大熊 友嘉里
25 @sp 1
26 @center 今   昭
27 @sp 1
28 @center NEC 日本電気株式会社
29 @page
30
31 @vskip 0pt plus 1filll
32
33 一太郎は、(株)ジャストシステムの商標です。
34
35 Canna on Nemacs or Mule is distributed in the forms of patches
36 to Nemacs or Mule under the terms of the GNU EMACS GENERAL
37 PUBLIC LICENSE which is distributed along with GNU Emacs
38 by the Free Software Foundation.
39
40 Canna on Nemacs or Mule is distributed in the hope that it will
41 be useful, but WITHOUT ANY WARRANTY; without even the
42 implied warranty of MERCHANTABILITY or FITNESS FOR A
43 PARTICULAR PURPOSE. See the GNU EMACS GENERAL PUBLIC
44 LICENSE for more details.
45
46 You should have received a copy of the GNU EMACS GENERAL
47 PUBLIC LICENSE along with Nemacs or Mule; see the file COPYING.
48 If not, write to the Free Software Foundation, 675 Mass
49 Ave, Cambridge, MA 02139, USA.
50
51 !Id: canna.texinfo,v 1.12 1993/11/15 04:32:10 kon Exp !
52 @end titlepage
53 @synindex vr fn
54 @parindent=0.0pt
55
56 @c ========================================
57 @node Top, 概説, (dir), (dir)
58
59 @ifinfo
60 『かんな/emacs』へようこそ。
61
62 この info ファイルはスペースキーと@kbd{n}だけで全て通して読むことができ
63 るようになっています。スペースキーを押し、ページスクロールした時に、もう
64 それ以上スクロールできず、ベルがなる様な場合には@kbd{n}を押して下さい。
65 次のセクションに進むことができます。@refill
66
67 もちろんtexinfoの機能を使って目的の部分だけをツリー上のメニューからたどっ
68 て読むこともできます。
69
70 是非スペースキーと@kbd{n}を使って一度全体を通して読んでみて下さい。
71 @end ifinfo
72
73 @menu
74 * Intro: 概説. 『かんな/emacs』とは?
75 * Init: 初期設定. 『かんな/emacs』で日本語入力するための準備
76 * Input: 漢字入力. 日本語入力のしかた
77 * Customize: カスタマイズ カスタマイズ
78 * Others: その他. その他特殊なことについて
79 * Changes: 変更点. 変更点
80
81 * Index: 索引. 索引
82 @end menu
83
84 @c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
85 @node 概説, 特徴, Top, Top
86 @chapter 『かんな/emacs』とは?
87 @c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88 @c @dm @multiply@jintercharskip by 30@multiply@jasciikanjiskip by 30
89 @cindex かんな[かんな]
90 @cindex Nemacs
91 @cindex Mule
92 @cindex cannaserver
93 @cindex いろは[いろは]
94 @cindex Canna
95 @cindex クライアント[くらいあんと]
96
97 『かんな/emacs』とは日本語入力システム『かんな』を組み込んだNemacsまたは
98 Muleのことであり、日本語を入力するための機能を追加したNemacsまたはMuleで
99 す。かな漢字変換はかな漢字変換サーバであるcannaserverと接続して行います。
100 この意味では「『かんな/emacs』はcannaserverのクライアントである」と言え
101 ます。
102
103 『かんな』と言う名前は「かな漢字変換」の「かな」(仮名)の古い読
104 み方である『かんな』によっています。『かんな』を英語で表記する場
105 合はCannaとつづります。
106
107 @menu
108 * Features: 特徴. 『かんな/emacs』の特徴
109 * Config: 物件. 『かんな/emacs』を構成する物件
110 @end menu
111
112 @c ============================================================
113 @node 特徴, 物件, 概説, 概説
114 @section 『かんな/emacs』の特徴
115 @cindex たまご[たまご]
116 @cindex サーバクライアント方式[さーばくらいあんとほうしき]
117 @cindex 再変換機能[さいへんかんきのう]
118 @cindex カスタマイズ機能[かすたまいずきのう]
119 @cindex ユーザインタフェース[ゆーざいんたふぇーす]
120 @cindex TTY上のフロントエンド[TTYじょうのふろんとえんど]
121 @cindex Xウィンドウ上のフロントエンド[Xうぃんどうじょうのふろんとえんど]
122 @cindex カスタマイズファイル[かすたまいずふぁいる]
123
124 『かんな/emacs』は次のような特徴を持っています。
125
126 @enumerate
127 @item
128 『たまご』のようなユーザインタフェース
129
130 『たまご』のようなユーザインタフェースがいいなら『たまご』を使えば良いと
131 思われるでしょう。『かんな』のユーザインタフェースは『たまご』のものと良
132 く似ているのですが、『かんな』が『たまご』と比べて大きく異なる点は、
133 「『かんな』はemacs以外の環境でも使える」という事です。『かんな』はほと
134 んど同じユーザインタフェースをTTY上のフロントエンド(canuum)、Xウィンドウ上
135 のフロントエンド(kinput2)、等の形で提供しています。
136
137 すなわち、UNIXのほとんどすべての環境で『かんな』のユーザインタフェースが
138 使えるのです。
139
140 『かんな/emacs』は『かんな』ユーザインタフェースを提供するプログラムの1
141 つとして準備されています。『かんな』を用いて日本語入力を行うプログラムは
142 共通のカスタマイズファイルによってカスタマイズが行えるのはもとより、ほぼ
143 共通のかな漢字変換操作を提供します。
144
145 @item
146 逐次自動変換方式
147
148 Nemacs または Mule で逐次自動変換をサポートしたのはおそらく『かんな』が
149 初めてでしょう。将来的には一太郎に見られるフル再変換処理を Nemacs または
150 Mule との組み合わせでやりたいところです。
151
152 @item
153 カスタマイズ機能
154
155 機能のキーに対する割り当てや、ローマ字かな変換規則などがカスタマイズで
156 きます。
157
158 また、このとき用いるカスタマイズファイルは『かんな』の他のアプリケーショ
159 ンで日本語入力を伴うものと共有されます。
160
161 @item
162 サーバクライアント方式。
163
164 どのマシンで使うときも常に同一マシン上の同一の辞書を使えます。
165
166 @item
167 日本語入力のための付加機能
168
169 入力した文字の字種変換によりローマ字やカタカナに変換する機能、入力した英
170 単語のCASE(大文字、小文字)を変更する機能、
171 記号入力機能、部首入力機能、1
172 6進コード入力機能、かな漢字変換中に特定の文節の読みを修正し変換し直す機
173 能、接続するサーバを変更する機能、単語登録削除機能、辞書マウントアンマウ
174 ント機能等をユーザインタフェースの一端として提供します。
175
176 @cindex 字種変換[じしゅへんかん]
177 @cindex CASE変換[CASEへんかん]
178 @cindex 記号入力[きごうにゅうりょく]
179 @cindex 部首入力[ぶしゅにゅうりょく]
180 @cindex 16進コード入力[16しんこーどにゅうりょく]
181 @cindex 単語登録[たんごとうろく]
182 @cindex 単語削除[たんごさくじょ]
183 @cindex 辞書マウント[じしょまうんと]
184 @cindex 辞書アンマウント[じしょあんまうんと]
185 @item
186 再変換機能
187
188 間違って確定キーを押してしまっても一歩前になら戻れます。
189 @end enumerate
190
191 @c ============================================================
192 @node 物件, 初期設定, 特徴, 概説
193 @section 『かんな/emacs』を構成する物件
194
195 『かんな/emacs』を構成する物件は次の通りです。
196
197 @enumerate
198 @item
199 emacs (『かんな/emacs』本体)
200
201 『かんな』ライブラリを組み込んだemacsです。いくつかの『かんな』ライブラ
202 リ関数がemacs-lispから呼び出せるようにしてあります。『かんな/emacs』は日
203 本語入力システム『かんな』がインストールされている環境で動作します。
204
205 ベースとなっているemacsのバージョンは18.55(Nemacs)または18.59(Mule)で、
206 nemacsのバージョンは3.3.2、Muleのバージョンは1.0になっています。
207
208 @item
209 /usr/local/@{emacs,mule@}/etc/DOC-18.5[59].××
210
211 上記emacsに対応するドキュメントファイルです。
212
213 @item
214 /usr/local/@{emacs,mule@}/lisp/canna.@{el,elc@}
215
216 emacsのキー入力を横取りして日本語入力にしてしまうプログラムです。lispで
217 書かれたソース(@file{canna.el})とコンパイルされたオブジェクト
218 (@file{canna.elc})があります。@refill
219 @end enumerate
220 @cindex canna.el
221 @cindex canna.elc
222
223 上記4つのファイルをemacsの18.55または18.59、nemacsの3.3.2またはmuleの
224 1.0が走っている環境に持ってくれば『かんな/emacs』が使えることになりま
225 す。
226
227 @c ============================================================
228 @node 初期設定, 漢字入力, 物件, Top
229 @chapter 『かんな/emacs』で日本語入力するための準備
230
231 『かんな/emacs』で日本語を入力するためには、@file{.emacs}ファイルにある
232 程度の記述を加えなければなりません。基本的には次の記述を加えることになり
233 ます。@refill
234
235 @cindex .emacs
236 @cindex canna-initialize
237 @example
238 (if (and (boundp 'CANNA) CANNA) ; 『かんな/emacs』であることを確認して
239 ;; 『かんな/emacs』 の場合だけ以下を実行します。
240 (progn
241 (require 'canna)
242 (canna) ))
243 @end example
244
245 上記の設定をすると、『かんな/emacs』を利用するためのlispプログラムをロー
246 ドし、『かんな』の初期化を行います。
247
248 これ以外にも@file{.emacs}に記述しておくと便利な機能がありますが、それら
249 については追って説明いたします。@refill
250
251 『かんな/emacs』がインストールされている状態で、@file{.emacs}に上記の記
252 述が存在すれば、『かんな/emacs』で日本語が入力できるようになります。@refill
253
254 @c ============================================================
255 @node 漢字入力, Change mode, 初期設定, Top
256 @chapter 日本語入力のしかた
257
258 ここでは『かんな』での日本語入力のしかたについて簡単に説明をします。詳し
259 くは『かんな』マニュアルをご参照ください。
260
261 @menu
262 * Change mode: Change mode. 日本語モードへの切り替え
263 * Romaji : Romaji . ローマ字かな変換入力
264 * Henkan to kanji : 変換. 漢字への変換
265 * Kouho selection : 選択. 候補選択(次候補、前候補)
266 * Kouho ichiran : 一覧. 候補一覧表示
267 * Bunsetsu : 文節. 文節
268 * Bubun kakutei :Bubun kakutei. 部分確定
269 * Jishu : 字種. 字種変換
270 * Sign : 記号. 記号入力
271 * Hex : 16進. 16 進コード入力
272 * Bushu : 部首. 部首入力
273 * Touroku : 単語登録. 単語登録
274 * Other functions :: その他の機能
275 @end menu
276
277 @c ============================================================
278 @node Change mode, Romaji, 漢字入力, 漢字入力
279 @section 日本語モードへの切り替え
280
281 キーを入力するとアルファベットが入力されるアルファベットモードから、キー
282 を入力するとローマ字かな変換が行われ日本語入力ができる日本語入力モードへ
283 切り替えるためには、@kbd{C-o}か@key{XFER}を押します。
284
285 読みを入力してない状態でもう一度@kbd{C-o}か@key{XFER}を入力することでア
286 ルファベットモードへ戻ります。
287
288 @file{.canna}ファイルで、@refill
289
290 @cindex C-c
291 @cindex XFER
292 @cindex .canna
293 @cindex japanese-mode
294 @cindex global-unbind-key-function
295 @cindex global-set-key
296 @cindex エスケープシーケンス[えすけーぷしーけんす]
297 @cindex ファンクションキー[ふぁんくしょんきー]
298 @example
299 (global-unbind-key-function 'japanese-mode)
300 (global-set-key "\C-e" 'japanese-mode)
301 @end example
302
303 のように指定するとemacsでも自動的に@kbd{C-e}がモード切り替えのキーになり
304 ます。ただし、@key{XFER}は相変わらずモード切り替えキーとして有効です。@refill
305
306 @example
307 (global-unbind-key-function 'japanese-mode)
308 (global-set-key "\Nfer" 'japanese-mode)
309 @end example
310
311 のようにしても、『かんな/emacs』では@key{XFER}がモード切り替えキーとして
312 機能するままであり、しかも@key{NFER}がモード切り替えキーになることはあり
313 ません。@kbd{C-e}を指定したときと@key{NFER}を指定したときの違いは、
314 @kbd{C-e}が1バイトキーなのに対し、@key{NFER}がエスケープシーケンスで構
315 成されることです。エスケープシーケンスで構成されるキーに対する機能の割り
316 当ては「ファンクションキーへの機能の割り当て」の項を参照して下さい。@refill
317
318 このように、若干の例外はあるのですが、日本語の入力のしかたは『かんな』を
319 使った他のアプリケーションなどの場合と同じです。
320
321
322 ※注
323
324 『かんな/emacs』では、他のアプリケーションでの日本語入力と違い、ある制限
325 があります。それは、エスケープシーケンスを発生するキーに対して簡単には機
326 能を割り当てられないことです。→「ファンクションキーへの機能の割り当て」
327
328 @c ============================================================
329 @node Romaji, 変換, Change mode, 漢字入力
330 @section ローマ字かな変換入力
331
332 @kbd{C-o}あるいは@key{XFER}を入力し日本語入力モードになるとローマ字かな
333 変換が行われます。ローマ字はヘボン式、訓令式のどちらでも受け付けます。
334 『ん』、や『ぁ』『っ』のような拗音については次のように入力します。
335
336 @cindex 撥音[はつおん]
337 @cindex 拗音[ようおん]
338 @cindex 長音[ちょうおん]
339
340 @example
341 ん(撥音) n あるいは mn
342 んい(ん+母音) nni (または、mni または n'i)
343 拗音 x を先行させる
344 長音 - (ハイフン)を入力する
345 @end example
346
347 例えば次のようになります。
348
349 @example
350 へんかん henkan
351 あんない annnai / amnnai / an'nai
352 たんい tanni / tamni / tan'i
353 てぃー texi- / thi-
354 @end example
355
356 @c ============================================================
357 @node 変換, 選択, Romaji, 漢字入力
358 @section 漢字への変換
359
360 読みを入力した後で@key{space}を入力することによりかな漢字変換が行われ
361 候補が表示されます。変換した漢字を確定するには@key{return}を押します。
362
363 @cindex かな漢字変換[かなかんじへんかん]
364 @cindex SPACE
365 @cindex RETURN
366 @example
367 きょうは
368 SPACE 今日は
369 @end example
370
371
372 候補が表示されている状態で@key{BS}を入力することにより読みの状態に戻す
373 ことができます。
374
375 @example
376 今日は
377 BS きょうは
378 @end example
379
380
381 @c ============================================================
382 @node 選択, 一覧, 変換, 漢字入力
383 @section 候補選択(次候補、前候補)
384
385 かな漢字変換により表示された候補が希望する語でなかった場合には、
386 @key{↓}(または@kbd{C-n})を入力することによって次候補を表示する
387 ことができます。希望の漢字が出てくるまで何度でも@key{↓}を入力できます。
388
389 @cindex 候補[こうほ]
390 @cindex 候補選択[こうほせんたく]
391 @cindex 次候補[じこうほ]
392 @cindex 前候補[まえこうほ]
393 @example
394 今日は
395 ↓ 京は
396 ↓ 興は
397 @end example
398
399 @key{↓}を叩きすぎて希望する語が行きすぎてしまた時には@key{↑}
400 (または@kbd{C-p})を入力します。
401
402 @example
403 今日は
404 ↓ 京は
405 ↓ 興は
406 ↑ 京は
407 @end example
408
409 @c ============================================================
410 @node 一覧, 文節, 選択, 漢字入力
411 @section 候補一覧表示
412
413 @cindex 候補一覧表示[こうほいちらんひょうじ]
414 @cindex XFER
415 @cindex C-w
416 同音異義語がたくさんある場合は、候補の一覧を表示させることもできます。
417 漢字に変換した状態で、@key{space}(または@key{XFER}、@kbd{C-w})を入力する
418 と候補一覧が表示されます。
419
420 @example
421 今日は
422 SPACE 1今日は 2京は 3興は 4強は 5凶は
423 @end example
424
425 候補一覧を出した状態では、@key{space}あるいは@key{→}にて次候補(右候補)
426 を選択します。@key{←}は前候補(左候補)を選択します。@key{↓}・@key{↑}は
427 それぞれ前候補列・次候補列の表示を行います。また、各候補に振られている一
428 桁の数字を入力することにより、その候補までカーソルを移動することができま
429 す。
430
431 カーソルが希望する候補の所まできたところで@key{return}を打つことでその候
432 補を選択できます。
433
434 どの候補も選択せずに候補一覧モードを抜ける時には@key{BS}または@kbd{C-g}
435 を入力します。
436
437 @c ============================================================
438 @node 文節, Bubun kakutei, 一覧, 漢字入力
439 @section 文節
440
441 比較的長い読みを入力し@key{space}を押すと、表示されている候補が複数の文
442 節に区切られていることがあります。
443
444 @cindex 文節[ぶんせつ]
445 @cindex カレント文節[カレント文節]
446 @cindex C-f
447 @cindex C-b
448 @example
449 |きょうははやくかえりたい|
450 SPACE |今日は| 早く 帰りたい
451 @end example
452
453 次候補・前候補選択や、候補一覧表示などは文字が反転表示されている文節(カ
454 レント文節)に対してのみ行われます。別の文節をカレント文節にするためには、
455 @kbd{C-f}または@key{→}や、@kbd{C-b}または@key{←}を用いてカレント文節
456 を移動します。
457
458 @example
459 |今日は| 早く 帰りたい
460 → 今日は |早く| 帰りたい
461 → 今日は 早く |帰りたい|
462 ← 今日は |早く| 帰りたい
463 @end example
464
465 また、カレント文節の長さが適当でない時があります。このような場合には
466 @kbd{C-i}・@kbd{C-o}を用いて文節の長さを調整して下さい。@kbd{C-i}・
467 @kbd{C-o}はそれぞれ、文節縮め・文節伸ばしを意味します。
468
469 @cindex 文節縮め[ぶんせつちぢめ]
470 @cindex 文節伸ばし[ぶんせつのばし]
471 @cindex C-i
472 @cindex C-o
473 @example
474 |ここではきものを|
475 SPACE |ここでは| 着物を
476 C-i |ここで| 履き物を
477 C-o |ここでは| 着物を
478 @end example
479
480 @c ============================================================
481 @node Bubun kakutei, 字種, 文節, 漢字入力
482 @section 部分確定
483
484 @kbd{C-k}を入力することにより、カーソルのあった文節より左側の部分を確定
485 させることができます。カーソル部分より後の文節は読みに戻されます。
486
487 @cindex 部分確定[ぶぶんかくてい]
488 @cindex C-k
489 @example
490 |ながさきはきょうもあめです|
491 SPACE |長崎は| 今日も 雨です
492 → 長崎は |今日も| 雨です
493 C-k 長崎は|きょうもあめです|
494 @end example
495
496 この部分確定機能は、読みを間違えて入力してしまった場合、正しい部分を確定
497 させるという場合に便利です。
498
499 @c ============================================================
500 @node 字種, 記号, Bubun kakutei, 漢字入力
501 @section 字種変換
502
503 読みを入力している状態や単候補表示状態では、読みの文字列を全角カタカナ・
504 半角カタカナ・全角アルファベット・半角アルファベットなどの文字列に変換す
505 ることが可能です。
506 字種変換には@kbd{C-n}または@key{↓}と、@kbd{C-p}または@key{↑}を用います。
507 @kbd{C-n}または@key{↓}を入力することで『ひらがな〜全角カタカナ〜半角カ
508 タカナ〜全角アルファベット〜半角アルファベット』と字種変換が行われ、もう
509 一度@kbd{C-n}または@key{↓}を入力すると元の読みの状態に戻ります。
510 @kbd{C-p}または@key{↑}を入力すると逆周りの字種変換が行われます。
511
512 @cindex 字種変換[じしゅへんかん]
513 @cindex C-p
514 @cindex C-n
515 @example
516 ふぉとぐらふ
517 ↓ フォトグラフ
518 ↓ フォトグラフ(半角)
519 ↓ fotogurafu
520 ↓ fotogurafu
521 @end example
522
523 ※注 Nemacs では半角カタカナはスキップされます。
524
525 また、字種変換している状態で@kbd{C-i}や、@kbd{C-o}を入力すると字種変換の
526 対象となる領域が伸縮します。
527
528
529 @example
530 ふぉとぐらふを
531 ↓ フォトグラフヲ
532 C-i フォトグラフを
533 @end example
534
535 入力している読みに、かなに変換されないアルファベットが入っている場合は、
536 カタカナに変換されず、『ひらがな〜全角アルファベット〜半角アルファベット
537 〜ひらがな』の順で字種変換が行われます。
538
539 @example
540 こmぷてr
541 ↓ computer
542 ↓ computer
543 @end example
544
545 @c ============================================================
546 @node 記号, 16進, 字種, 漢字入力
547 @section 記号入力
548
549 @key{INS}を入力することにより記号一覧表示を得ることができます。読みで
550 「きごう」と入力して漢字変換することによっても、一般的な記号が候補として
551 出てきます。選択の方法は数字による選択ができないことを除いて候補一覧表示
552 の時と同じです。
553
554 @cindex 記号入力[きごうにゅうりょく]
555 @cindex canna-kigo-mode
556 @cindex INS
557 @example
558 INS [2121] 、 。 , . ・ : ; ? !
559 @end example
560
561 記号を選択しないで記号一覧表示を消すためには@kbd{C-g}を入力して下さい。
562 @key{ins}キーの変わりに@kbd{M-x canna-kigo-mode}によっても同じことが行え
563 ます。
564
565 @c ============================================================
566 @node 16進, 部首, 記号, 漢字入力
567 @section 16 進コード入力
568
569 16 進コード入力の方法には 2 つありますが、ここでは 16 進コードを読みとし
570 て入力する方法について説明します。
571
572 4 桁の 16 進数を読みとして入力した後に@kbd{C-y}を押すと 4 桁の 16 進数に
573 対応する文字が表示されます。
574
575 @cindex 16進コード入力
576 @example
577 2276 2276
578 C-y ♪
579 @end example
580
581 @c ============================================================
582 @node 部首, 単語登録, 16進, 漢字入力
583 @section 部首入力
584
585 読めない漢字でも部首さえわかればなんとかできるのが部首入力です。ある部首
586 を持つ漢字の一覧を表示させることができます。
587 部首入力の方法には 2 つの方法がありますが、ここでは部首名を読みとして入
588 力し、その入力に対応した部首一覧を表示させる方法について説明します。
589 部首名を読みとして入力した後に@kbd{C-w}を押すと部首一覧が表示されます。
590 目的の漢字を選択する手順は候補一覧の場合と同じです。
591
592 @cindex 部首入力
593 @example
594 kigamae きがまえ
595 C-w 1气 2氛 3氤 4氣
596 @end example
597
598 @c ============================================================
599 @node 単語登録, Help key, 部首, 漢字入力
600 @section 単語登録
601
602 @menu
603 * Help key: Help key. HELPキーでの単語登録
604 * Touroku region:: M-x canna-touroku-region を用いる場合
605 @end menu
606
607 @cindex 単語登録[たんごとうろく]
608 @cindex ユーザ辞書[ゆーざじしょ]
609 日本語入力機能には、変換をより早く的確に行えるようにするために、単語登録
610 機能があります。単語登録は、読みが入力されていない状態の時に行う方法と、
611 リージョンを設定し、@kbd{M-x canna-touroku-region}で登録する方法がありま
612 す。
613
614 単語登録はユーザ辞書が指定されているときのみ有効です。ユーザ辞書の指定方
615 法については、後述のカスタマイズの項を参照して下さい。
616
617 マウントしているユーザ辞書がなくマウントに失敗したユーザ辞書(userdic)が
618 ある場合、単語登録を行うときにその辞書を作成するか否かを聞いてきます。
619 「y」と答えると辞書を作成した後に以下の単語登録を行います。
620
621 @c ============================================================
622 @node Help key, Touroku region, 単語登録, 単語登録
623 @subsection HELP キーでの単語登録
624
625 @cindex HELP
626 @cindex 品詞分け[ひんしわけ]
627 ユーティリティキー@key{help}を押し、「4単語登録」を選択し、次に「1単語
628 登録」を選択します。
629
630 (このとき、カスタマイズファイルにユーザ辞書を指定しないと単語登録はでき
631 ません。)
632
633 登録する単語を入力します。動詞、形容詞、形容動詞は、終止形で入力し、他は
634 すべて語幹で入力します。@key{return}を押すと、読みの入力要求がされます。
635 次に読みを入力します。@key{return}を押すと、品詞の候補が表示されます。こ
636 こで、登録する単語の品詞を入力します。選択した品詞によってはさらに細かい
637 品詞分けをするかどうかが表示されることもありますので、正しいかどうかを考
638 えて答えて下さい。
639
640 「第1開発部」を「いちかい」で登録する例は次のようになります。
641
642 @example
643 HELP [拡張]|1記号入力| 2コード入力 3部首入力 4単語登録 5環境設定
644 4 [拡張]1記号入力 2コード入力 3部首入力 |4単語登録| 5環境設定
645 RETURN [拡張]|1単語登録| 2単語削除 3辞書マウント/アンマウント
646 RETURN [登録]単語?[]
647 第1開発部 [登録]単語?[第1開発部]
648 RETURN [登録]単語?[第1開発部] 読み?[]
649 いちかい [登録]単語?[第1開発部] 読み?[いちかい]
650 RETURN [品詞]|1人名| 2地名 3団体・会社 4名詞 5サ変名詞 6単漢字
651 4 [品詞]さらに細かい品詞分けのために質問をしてもよいですか?(y/n)
652 y [品詞]「第1開発部な」は正しいですか。(y/n)
653 n [辞書]|1user| 2d1jinmei
654 RETURN [あ] 『第1開発部』を登録しました
655 @end example
656
657 @c ============================================================
658 @node Touroku region, Other functions, Help key, 単語登録
659 @subsection M-x canna-touroku-region を用いる場合
660
661 @key{help}キーの代わりに@kbd{M-x canna-extend-mode}でも同じことが行えま
662
663 @cindex canna-touroku-region
664 @cindex canna-extend-mode
665
666 @c ============================================================
667 @node Other functions, カスタマイズ, Touroku region, 漢字入力
668 @section その他
669
670 その他の機能としては以下のものがあります。
671
672 @enumerate
673 @item
674 逐次自動変換による入力
675 @item
676 確定入力モードによる入力(ひらがな、カタカナ(全角/半角)、英数(全角/半角))
677 @item
678 記号入力モード(記号全般、ロシア文字、ギリシャ文字、罫線)
679 @item
680 コード入力モード
681 @item
682 部首入力モード
683 @end enumerate
684
685 @c ============================================================
686 @node カスタマイズ, ファイル, Other functions, Top
687 @chapter カスタマイズ
688
689 @menu
690 * Intial File: ファイル. カスタマイズのための初期設定
691 * Learning:学習. 個人別学習ファイルの作成
692 * Dictionary: 辞書. ユーザ辞書の利用
693 * Romaji table: ローマ字. ローマ字かな変換のカスタマイズ
694 * Key def: キー割り当て. 機能のキーへの割り当て
695 * Konnna: こんな. こんな風にカスタマイズしてみたい
696 @end menu
697
698 かな漢字変換に関して変換に利用する辞書を始めとしてキー操作やローマ字かな
699 変換テーブルにいたるまでカスタマイズすることができます。
700
701 ここでは、カスタマイズをいかに行うかについて説明します。
702
703 @c ============================================================
704 @node ファイル, 学習, カスタマイズ, カスタマイズ
705 @section カスタマイズのための初期設定
706
707 カスタマイズを行うにはまず@file{$(CANNALIBDIR)/sample/default.canna}
708 を自分のホームディレクトリに持ってきて@file{.canna}という名前でセーブ
709 します。
710
711 @cindex カスタマイズ[かすたまいず]
712 @cindex .canna
713 @example
714 % cp $(CANNALIBDIR)/sample/default.canna .canna
715 % chmod u+w .canna
716 @end example
717
718 すでに@file{.canna}を持っている人は上記の操作は不要です。
719
720 ※注
721
722 $(CANNALIBDIR) は『かんな』の種々のファイルが置かれているディレクト
723 リです。『かんな』をインストールした際のコンフィギュレーショ
724 ンによって、その位置は異なります。例えば、/usr/lib/canna であったり、
725 /usr/local/canna/lib であったりします。そのマシンでの正確な位置について
726 はマシンのシステム管理者にお問い合わせください。
727
728 @c ============================================================
729 @node 学習, 辞書, ファイル, カスタマイズ
730 @section 個人別学習ファイルの作成
731
732 基本辞書@code{iroha}は各ユーザに共有されており、各ユーザの使用状況によっ
733 て候補順が並べかえられます。
734
735 他の人の利用により候補順が変わるのがいやな場合、次のようにして個人別学習
736 ファイルを作ります。
737
738 @cindex 学習ファイル[がくしゅうふぁいる]
739 @example
740 % mkdic -fq iroha
741 @end example
742
743 @c ============================================================
744 @node 辞書, ローマ字, 学習, カスタマイズ
745 @section ユーザ辞書の利用
746
747 新規に単語を登録するためにはユーザ辞書を設定しなくてはなりません。
748
749 ユーザ辞書は mkdic コマンドで作成できます。kuma というユーザ辞書を作成する
750 ときは次のようにします。
751
752 @cindex ユーザ辞書[ゆーざじしょ]
753 @cindex mkdic
754 @example
755 % mkdic kuma
756 @end example
757
758 次に、カスタマイズファイル@file{.canna}に以下の行を加えます。
759
760 @example
761 (use-dictionary :user "kuma")
762 @end example
763
764 最初は中身が空のファイルを指定しておき、順次辞書登録により単語を追加して
765 いくのがよいでしょう。
766
767 @c ============================================================
768 @node ローマ字, キー割り当て, 辞書, カスタマイズ
769 @section ローマ字かな変換のカスタマイズ
770
771 ローマ字かな変換に関して、例えば「こんにちは」と入力するのに「konnichiha」
772 と入力するのになれている場合と「konnnichiha」と入力する(「n」の回数が違
773 います)のになれている場合があります。
774
775 このようにローマ字かな変換だけをとってみても好みはいろいろあります。
776
777 ローマ字変換に関してはカスタマイズファイルにより、好みのテーブルを指定す
778 ることができます。また、標準的に用意しているテーブルに好みのものがない場
779 合は、自分でローマ字かな変換テーブルを作成することもできます。
780
781 ここでは、標準的に提供されているローマ字かな変換テーブルについて説明しま
782 す。
783
784 標準的に提供されるローマ字かな変換テーブルとしては以下のものがあります。
785
786 これらのテーブルは $(CANNALIBDIR)/dic の下にファイルの形で存在します。
787
788 @cindex default.kp
789 @cindex just.kp
790 @cindex newjis.kp
791 @cindex kaisoku.kp
792 @cindex romkana-table
793 @cindex tut.kp
794 @table @var
795 @item default.kp
796 デフォルトのローマ字かな変換テーブル
797 @item just.kp
798 一太郎と同一のローマ字かな変換規則を持つテーブル
799 @item kana.kp
800 アルファベットキーボードで疑似的にかな入力を行うためのテーブル。このテー
801 ブルを用いることにより、日本語モードとアルファベットモードの切り替えだけ
802 で、かな入力とアルファベット入力の切り替えも行えます
803 @item newjis.kp
804 アルファベットキーボードで疑似的に新JISキーボードのカナ配列をシミュレー
805 トするためのテーブル
806 @item kaisoku.kp
807 快速ローマ字配列をシミュレートするためのテーブル
808 @item tut.kp
809 TUT入力用のテーブル
810 @end table
811
812 デフォルトではdefault.kpが選ばれますが、その他のローマ字かな変換テーブル
813 を利用する場合はカスタマイズファイルにて次のような行を加えます。kana.kp
814 を利用する場合は、
815
816 @example
817 (setq romkana-table "kana.kp")
818 @end example
819
820 指定した名前はファイル名とみなされサーチされます。サーチは次の順番で行わ
821 れます。
822
823 @enumerate
824
825 @item
826 カレントディレクトリ
827
828 指定されたファイルをカレントディレクトリでサーチします。
829
830 @item
831 ホームディレクトリ
832
833 指定されたファイルをホームディレクトリでサーチします。
834
835 @item
836 辞書ディレクトリ
837
838 指定されたファイルを $(CANNALIBDIR)/dic でサーチします。
839 @end enumerate
840
841 いずれのディレクトリにもローマ字かな変換テーブルが存在しない場合はローマ
842 字かな変換入力が行えませんのでご注意下さい。
843
844 @c ============================================================
845 @node キー割り当て, こんな, ローマ字, カスタマイズ
846 @section 機能のキーへの割り当て
847
848 デフォルトではどのキーにも割り当てられていない機能(16進コード入力、部
849 首変換など)が存在します。これらの機能を特定のキーに割り当てたり既に割
850 り当てられている機能についても別のキーに割り当てたりすることができます。
851
852 以下に例を示します。
853
854 @example
855 (global-set-key "\F2" 'hex-mode)
856 (global-set-key "\F3" 'bushu-mode)
857
858 (set-key 'yomi-mode "\F2" 'convert-as-hex)
859 @end example
860
861 上記を@file{.canna}に追加すると、@key{F2},@key{F3}キーがそれぞれ、
862
863 @table @key
864 @item F2
865 16 進入力
866 @item F3
867 部首選択入力
868 @end table
869
870 として機能するようになります。ただし、Emacs から利用する場合には上記だ
871 けでは不足であり、さらにいくつかの記述を @file{.emacs}に入れる必要があります。
872 本件につきましては「5.2 ファンクションキーへの機能の割り当て」をご覧いただく
873 ようお願いします。
874
875 @c 具体例として、上記のようなカスタマイズを @file{.canna}で行った場合の記述を示
876 @c します。@file{.emacs}などで以下の記述を追加してください。
877 @c
878 @c @example
879 @c (global-set-key "\e[12~" 'canna-hex-mode)
880 @c (global-set-key "\e[13~" 'canna-bushu-mode)
881 @c @end example
882
883 @c ============================================================
884 @node こんな, 空白文字, キー割り当て, カスタマイズ
885 @section こんな風にカスタマイズしてみたい
886
887 以下では、次のようにカスタマイズしてみたいときにどのようにカスタマイズファ
888 イルに記述すれば良いかの例を示します。
889
890 @enumerate
891
892 @item
893 変換は@key{xfer}ですることにし、スペースは全角空白文字の入力として使いた
894 い。
895
896 @item
897 候補を数字で選んだら候補一覧を抜けたい。
898
899 @item
900 候補を選択したら次の文節に移動したい。
901
902 @item
903 一太郎のような操作性で入力したい。
904
905 @item
906 「 と [ を両方使いたい。
907
908 @end enumerate
909
910 @menu
911 * Self insert: 空白文字. 変換はXFERですることにし、スペースは全角空白文字の入力として使いたい
912 * Select direct:: 候補を数字で選んだら候補一覧を抜けたい
913 * Stay after validate:: 候補を選択したら次の文節に移動したい
914 * Just canna: 一太郎. 一太郎のような操作性で入力したい
915 * Brackets: カッコ. 「 と [ を両方使いたい
916 @end menu
917
918 @c ============================================================
919 @node 空白文字, Select direct, こんな, こんな
920 @subsection 変換はXFERですることにし、スペースは全角空白文字の入力として使いたい
921
922 このようにするにはまず、スペースキーに対して通常の入力機能(self-insert)
923 を割り当てます。self-insert の self とはキー自身を指します。すなわち、ス
924 ペースキーに対してself-insertを割り当てると空白を挿入すると言う機能がス
925 ペースキーに割り当てられます。
926
927 スペースキーに self-insert 機能を割り当てるには以下のようにします。
928
929 @cindex self-insert
930 @example
931 (global-set-key "\Space", 'self-insert)
932 @end example
933
934 "\Space"はスペースキーを示します。"\Space"の代わりに" "のように記述して
935 も同じ意味になります。
936
937 このように設定するとスペースキーが変換操作に使えなくなり、代わりに全
938 角空白が挿入されます。
939
940 @c ============================================================
941 @node Select direct, Stay after validate, 空白文字, こんな
942 @subsection 候補を数字で選んだら候補一覧を抜けたい
943
944 『かんな』では候補一覧を表示している状態で候補に振られている数字を押し
945 た場合、カーソルがその候補に移動するだけで実際の選択は行われません。
946
947 実際に選択を行うには確定キー(デフォルトではリターンキー)を押さなければな
948 りません。
949
950 これが面倒で数字を選んだ時点でその候補を選択して、候補一覧表示を終わって
951 しまいたい場合は次のようにカスタマイズファイルに記述します。
952
953 @cindex select-direct
954 @example
955 (setq select-direct t)
956 @end example
957
958 これにより、数字を選択しただけで、候補が選択され候補一覧が終了します。
959
960 @c ============================================================
961 @node Stay after validate, 一太郎, Select direct, こんな
962 @subsection 候補を選択したら次の文節に移動したい
963
964 長い文章を入れて変換キーを押し、前の文章から候補選択をするようなやり方を
965 している人も多くいるでしょう。
966
967 そのような人の場合、候補一覧で選択した時にカレント文節が同じ部分にとどまっ
968 てしまうといちいち文節移動をしなければならなくなるので不便を感じてはいな
969 いでしょうか。
970
971 「一覧を選択したのだからその文節での仕事は終わっているはずだ。一覧選択を
972 終わったら次の文節に移動して欲しい。」というふうにお思いのかたも多いでしょ
973 う。そのような場合は、次のようにカスタマイズします。
974
975 @cindex stay-after-validate
976 @example
977 (setq stay-after-validate nil)
978 @end example
979
980 @c ============================================================
981 @node 一太郎, カッコ, Stay after validate, こんな
982 @subsection 一太郎のような操作法で入力したい
983
984 「一太郎に慣れているので一太郎とできるだけ同じ操作で日本語入力がしたい」
985 と言うかたもいらっしゃるでしょう。
986
987 一太郎とだいたい同じキー操作を提供するカスタマイズファイルが
988 @file{$(CANNALIBDIR)/sample/just.canna}として提供されていますので、以下
989 のコマンドによりそのファイルをカスタマイズファイルとして使うようにして下
990 さい。
991
992 @cindex just.canna
993 @example
994 % cd
995 % cp $(CANNALIBDIR)/sample/just.canna .canna
996 @end example
997
998 @c ============================================================
999 @node カッコ, その他, 一太郎, こんな
1000 @subsection 「 と [ を両方使いたい
1001
1002 ワープロによっては「.」(ピリオド)を打った時に「。」が入力されるか「.」が
1003 入力されるかを選択できたり、「[」(角かっこ)を入力した時に「「」(かぎかっ
1004 こ)が入力されるか「[」(全角のかっこ)が入力されるかが選択できるものがあ
1005 ります。
1006
1007 『かんな』でもローマ字かな変換テーブルを書き換えれば「.」や「[」に対応す
1008 る記号を変更することができますが、ローマ字かな変換テーブルの書き換えは若
1009 干面倒な作業でもあります。
1010
1011 このような場合以下のカスタマイズを行うことによってそれぞれの記号を両方定
1012 義しておき、必要に応じて簡単に切り替えることが可能になります。
1013
1014 @cindex defsymbol
1015 @example
1016 (defsymbol ?. "。" ".")
1017 (defsymbol ?[ "「" "[")
1018 @end example
1019
1020 このようにしておくと「.」を入力した時に変換キーを押すことによって「。」
1021 か「.」を選択することができるようになります。
1022
1023
1024 @c ============================================================
1025 @node その他, Empty status, カッコ, Top
1026 @chapter その他特殊なことについて
1027
1028 @menu
1029 * Empty status: Empty status. 未入力状態について
1030 * Function Keys: Func key. ファンクションキーへの機能の割り当て
1031 * Undo: アンドゥ. アンドゥ
1032 * Region: 再変換. リージョンの再変換.
1033 * Style: スタイル. 未確定文字列のスタイル
1034 * Specifying server:: かな漢字変換サーバの指定
1035 * Specifying customization:: カスタマイズファイルの指定
1036 * Boiled-egg like:: boiled-egg みたいな使いかた
1037 * Functions:: 『かんな/emacs』で使える機能
1038 * Summary: まとめ. まとめ
1039 @end menu
1040
1041 @c ============================================================
1042 @node Empty status, Func key, その他, その他
1043 @section 未入力状態について
1044
1045 ここでは、アルファベット入力状態や、日本語入力状態でも入力中の文字列が
1046 存在しない状態を「未入力状態」と呼びます。
1047
1048 『かんな/emacs』における未入力状態のとりあつかいは、通常の『かんな』ア
1049 プリケーションプログラムにおける未入力状態と若干異なります。これは『か
1050 んな/emacs』におけるキーの取り扱いとして以下の方針を採用しているためで
1051 す。
1052
1053 『かんな/emacs』では『かんな』起動時にカスタマイズファイルにおける日本
1054 語入力モードとアルファベット入力モードの切り替えのカスタマイズを読み込
1055 んで、Emacs におけるモード切り替え機能をそのキーに設定します。そのキー
1056 には@code{canna-toggle-japanese-mode}と言う関数が set されます。
1057 @code{canna-toggle-japanese-mode}は、Emacs におけるキーバインディング
1058 を大幅に変更します。@code{canna-toggle-japanese-mode}は空白文字を含む
1059 グラフィカルキャラクタに対応するキーを Emacs のデフォルトである
1060 @code{self-insert}と、日本語入力モードにおける
1061 @code{canna-self-insert}との間で切り替えます。ここで、注意しなければ
1062 ならないのは、コントロールキャラクタに関しては常に Emacs のバインディ
1063 ングのままであることです。
1064
1065 したがって、『かんな/emacs』における未入力時のバインディングは
1066 @file{.canna}からは変更できません。『かんな/emacs』における未入力時の
1067 バインディングのカスタマイズに関しては@file{.emacs}で行う必要があり
1068 ます。
1069
1070 @c ============================================================
1071 @node Func key, アンドゥ, Empty status, その他
1072 @section ファンクションキーへの機能の割り当て
1073
1074 「『かんな/emacs』で日本語入力するための準備」で説明した設定が
1075 @file{.emacs}で行われていれば、@key{F1}〜@key{F3}などのキーに以下の機能
1076 が設定されます。@refill
1077
1078 @table @key
1079 @item F1
1080 記号入力
1081 @item F2
1082 16進コード入力
1083 @item F3
1084 部首入力
1085 @item HELP
1086 ユーティリティ機能呼び出し
1087 @item INS
1088 記号入力
1089 @end table
1090 @cindex F1
1091 @cindex F2
1092 @cindex F3
1093 @cindex 記号入力[きごうにゅうりょく]
1094 @cindex 16進コード入力[16しんこーどにゅうりょく]
1095 @cindex 部首入力[ぶしゅにゅうりょく]
1096 @cindex ユーティリティ機能[ゆーてぃりてぃきのう]
1097 @cindex .canna
1098 @cindex INS
1099
1100 この割り当ては@file{.canna}での記述と無関係に行われます。
1101
1102 @file{.canna}にてファンクションキーに、ある機能を割り当てても『かんな
1103 /emacs』では無視されてしまいます。というのは、emacsでのファンクションキー
1104 の使い方がちょっと変わっているためです。@refill
1105
1106 それではファンクションキーにこれらのモードへの移行のための機能を割り当て
1107 るにはどのようにするのでしょうか?
1108
1109 emacsではファンクションキーを押すと例えば@kbd{ESC [ 1 1 ~}のようなキーを発
1110 生します(@key{F1}キーの場合)。デフォルトでは@kbd{ESC [ (}すなわち、
1111 @kbd{M-[})が@code{backward-paragraph}にバインドされていますので、前の段
1112 落に移動して、``11~''が挿入されてしまうことになります。@refill
1113
1114 「『かんな/emacs』で日本語入力するための準備」で示した処理を行っている場
1115 合には@kbd{M-[}と@code{backward-paragraph}のバインドを壊して、@kbd{ESC
1116 [ 1 1 ~}のような長いキーシーケンスに対して機能を割り当てることができるよう
1117 にしてあります。すなわち、@kbd{ESC [ 1 1 ~}に対して次のような処理で
1118 @code{canna-kigou-mode}を割り当てています。@refill
1119
1120 @cindex backward-paragraph
1121 @cindex canna-kigou-mode
1122 @example
1123 (global-set-key "\e[11~" 'canna-kigou-mode)
1124 @end example
1125
1126 『かんな/emacs』ではこの方法で@key{F1}、@key{F2}、@key{F3}などにキーを割
1127 り当てていたのです。@key{F1}〜@key{F3}などのキーに対してこの設定を行いた
1128 くない場合には、emacsで『かんな』を起動する前に
1129 @var{canna-do-keybind-for-functionkeys}という名前の変数に@code{nil}を代
1130 入しておいて下さい。例えば、@file{.emacs}の記述は次のようになることにな
1131 ります。@refill
1132
1133 @cindex canna-do-keybind-for-functionkeys
1134 @example
1135 (if (and (boundp 'CANNA) CANNA) ; 『かんな/emacs』であることを確認して
1136 ;; 『かんな/emacs』 の場合だけ以下を実行します。
1137 (progn
1138 (require 'canna)
1139 (setq canna-do-keybind-for-functionkeys nil)
1140 (canna) ))
1141 @end example
1142
1143 @c ============================================================
1144 @node アンドゥ, 基本操作, Func key, その他
1145 @section アンドゥ
1146 @cindex アンドゥ
1147
1148 @menu
1149 * Basic operations: 基本操作. 基本操作
1150 * Key binding: キー操作. キーへのバインディング
1151 * Undo and canna-undo:: undo と canna-undo
1152 * Undo buffer: バッファ. アンドゥバッファに入れる・入れない
1153 * Undo plus alpha: プラスα. アンドゥ+α
1154 @end menu
1155
1156 @c ============================================================
1157 @node 基本操作, キー操作, アンドゥ, アンドゥ
1158 @subsection 基本操作
1159
1160 『かんな/emacs』ではアンドゥ機能をサポートしています。直前に確定した部分
1161 をもう一度読みに戻すことができます。もう一度読みに戻すには次のようにしま
1162 す。
1163
1164 @example
1165 M-x canna-undo
1166 @end example
1167 @cindex canna-undo
1168
1169 @c ============================================================
1170 @node キー操作, Undo and canna-undo, 基本操作, アンドゥ
1171 @subsection キーへのバインディング
1172
1173 実はこの@code{canna-undo}、普通の@code{undo}を含んでいます。すなわち、直
1174 前に確定した日本語の入力がない場合には普通の@code{undo}が行われます。し
1175 たがって、今まで@code{undo}がバインドされていたキーに@code{canna-undo}を
1176 バインドすると便利に使えます。例えば@code{undo}を@kbd{C-_}に割り当ててい
1177 た人は @file{.emacs}ファイルにて次のように記述すると@code{undo}の代わり
1178 に@code{canna-undo}を割り当てることができます。@refill
1179
1180 @cindex undo
1181 @cindex C-_
1182 @example
1183 (global-set-key "\C-_" 'canna-undo)
1184 @end example
1185
1186 @c ============================================================
1187 @node Undo and canna-undo, バッファ, キー操作, アンドゥ
1188 @subsection undo と canna-undo
1189 @cindex C-k
1190 @cindex C-g
1191
1192 さて、``直前に確定した日本語''とはどのくらい前までの入力のことを指すので
1193 しょうか?@refill
1194
1195 @code{canna-undo}は@kbd{C-o}などによって日本語入力モードを抜けてしまった
1196 時にアンドゥの情報を捨ててしまいます。したがって、日本語を入力して確定し
1197 た場合、日本語入力モードを抜けさえしなければ``直前に確定した日本語''とみ
1198 なされるわけです。@refill
1199
1200 @code{undo}のキーに@code{canna-undo}を割り当てると便利なようで不便なこと
1201 があります。例えば、日本語入力モードを抜けないで、@kbd{C-k}などの操作で
1202 行消去を行うことがありますが、このときウッカリ@kbd{C-_}などを打ってしま
1203 うもんであれば、行の復活の代わりにさっき確定した文字が読みに戻ってしまい
1204 ます。@refill
1205
1206 本来であれば、@kbd{C-_}を打つまえに@kbd{C-o}を打つなどして日本語入力モー
1207 ドから抜ければ良かったのですが、ここは一発元に戻す方法があります。@refill
1208
1209 本当は本来のアンドゥが行いたかった場合に@code{canna-undo}が作動してしまっ
1210 た場合には@kbd{C-g C-_ C-_}と打って下さい。最初の@kbd{C-g}で読みを放棄し
1211 ます。実は読みを放棄した場合にも@code{canna-undo}のための情報が失われるの
1212 です。この状態ではさっき入力した日本語までなくなってしまいますが、その次
1213 の@kbd{C-_}でそれが復活し、次の@kbd{C-_}が本来の目的であったアンドゥとして
1214 機能します。@refill
1215
1216 @c ============================================================
1217 @node バッファ, プラスα, Undo and canna-undo, アンドゥ
1218 @subsection アンドゥバッファに入れる・入れない
1219
1220 アンドゥを@kbd{C-_}などに割り当てて使っていると結構便利だったりするので
1221 すが、マルやテンを分けて入力した場合はあまりアンドゥが効果がない場合があ
1222 ります。例えば、次のように入力する場合です。@refill
1223
1224 @example
1225 このようににゅうりょくするばあいです<space>。<return>
1226 @end example
1227
1228 このように入力して、
1229
1230 @example
1231 子のように入力する場合です。
1232 @end example
1233
1234 のように変換されてしまってから@kbd{C-_}と打っても、
1235
1236 @example
1237 子のように入力する場合です|。|
1238 @end example
1239 @cindex canna-save-undo-text-predicate
1240
1241 となるだけで、寂しい思いをしてしまいます。
1242
1243 「マルとかテンを分けて打つ癖がある僕も悪いけれどもマルやテンだったらアン
1244 ドゥバッファに入れなくてもいいんじゃないの?」と思うかたもいるでしょう。
1245 ご安心下さい。そういう場合にもちゃんと対応できるのです。
1246
1247 そのからくりは、@code{canna-save-undo-text-predicate}という変数です。
1248
1249 @code{canna-undo}は入力が確定した時にその確定した入力をアンドゥバッファ
1250 にとって置くかどうかを@code{canna-save-undo-text-predicate}にお伺いして
1251 判断します。@code{canna-save-undo-text-predicate}にはその判断を行うため
1252 の関数を代入しておきます。@code{canna-save-undo-text-predicate}という変
1253 数に値が束縛されていなかったり、値が@code{nil}だった場合には無条件にバッ
1254 ファにセーブしておきます。@code{canna-save-undo-text-predicate}は読みと
1255 読みを入力した時のローマ字テキストの2つの文字列を@code{car}と@code{cdr}
1256 に持つ2進木に対して適用されます。例えば、確定した文字列を表す読みが2バ
1257 イトより長い文字列でなければセーブしないということを指定するには次のよう
1258 に記述することになります。@refill
1259
1260 @example
1261 (setq canna-save-undo-text-predicate
1262 '(lambda (s)
1263 (> (length (car s)) 2) ))
1264 @end example
1265
1266 これで、さっきの例で@kbd{C-_}を打つと、マルは飛ばされて次のようになりま
1267 す。@refill
1268
1269 @example
1270 |このようににゅうりょくするばあいです|。
1271 @end example
1272
1273 @c ============================================================
1274 @node プラスα, 再変換, バッファ, アンドゥ
1275 @subsection アンドゥ+α
1276
1277 「再変換機能というからには、読みに戻るのでは駄目で確定する直前に戻るのが
1278 本当じゃないの?」という気がしないでもありません。確定する直前に戻るのは
1279 ひじょ〜〜に大変ですが、それらしくはなんとかすることができます。
1280
1281 それは、アンドゥしたテキストを変換した状態にすることです。アンドゥの後に
1282 何かを行いたい場合は、@var{canna-undo-hook}という変数に関数を代入します。
1283 アンドゥの後に変換を行いたい場合には次のようにします。@refill
1284
1285 @cindex canna-undo-hook
1286 @example
1287 (setq canna-undo-hook
1288 '(lambda () (message "再変換します....")
1289 (canna-do-function canna-func-henkan)) )
1290 @end example
1291 @cindex canna-func-henkan
1292 @cindex canna-do-function
1293
1294 このようにしておくことにより、@code{canna-undo}では「読みに戻します」と
1295 いうメッセージが出ていたものが「再変換します」というメッセージになり、先
1296 に確定した文字列が再変換されます。@refill
1297
1298 @var{canna-func-henkan}は「変換」を表す機能の番号です。
1299 @code{canna-do-function}では『かんな』の色々な機能を直接実行することがで
1300 きます。どのような機能が存在するかは「付録」を参照して下
1301 さい。@refill
1302
1303 @c ============================================================
1304 @node 再変換, スタイル, プラスα, その他
1305 @section リージョンの再変換
1306 @cindex canna-henkan-region
1307 @cindex C-@@
1308 @cindex canna-use-space-key-as-henkan-region
1309
1310 Emacs上の任意のテキストを再変換する機能を付加しました。リージョンを引い
1311 て@kbd{M-x canna-henkan-region}としても良いのですが、かな漢字変換用のマー
1312 クを設定して、ポイント(カーソル)位置を移動し、スペースバーを打つとマーク
1313 とポイントの間がかな漢字変換されます。スペースバーはマークの直後は再変換
1314 用のキーとして使われますが、日本語モードを抜けたり文字を挿入したりした後
1315 には通常の空白を入れるキーに戻ります。かな漢字変換用のマークを打つにはキー
1316 ボードより@kbd{C-@@}を入れることにより行えます。@refill
1317
1318 スペースバーはいつでも空白の挿入として使いたいと言う場合には
1319 @code{(canna)}を実行するまえに
1320 @code{canna-use-space-key-as-henkan-region}に@code{nil}を代入しておいて
1321 ください。このことにより@kbd{C-@@}へのかな漢字変換用マークを行うバ
1322 インドも行われなくなります。@refill
1323
1324 @c ============================================================
1325 @node スタイル, Specifying server, 再変換, その他
1326 @section 未確定文字列のスタイル
1327
1328 未確定文字列に関する『かんな』のデフォルトのスタイルはアンダーラインを引
1329 くというものです。これに対して『かんな/emacs』では2本の縦棒で囲むという
1330 スタイルをとっていますが、やはりアンダーラインの方が良いと言うリクエスト
1331 にお答えすることができます。それには、@code{canna-set-fence-mode-format}
1332 という関数を使います。
1333 例えば次のようになります。@refill
1334
1335 @cindex アンダーライン[あんだーらいん]
1336 @cindex canna-set-fence-mode-format
1337 @example
1338 (canna-set-fence-mode-format nil nil t)
1339 @end example
1340
1341 @code{canna-set-fence-mode-format}の各引数では次のことを指定します。
1342 @refill
1343
1344 第1引数は入力中の文字列の両脇を縦棒(@kbd{|})で囲むかどうかを指定します。
1345 @refill
1346
1347 第2引数は変換を行っている時に文節と文節の間を空白で区切るかどうかを指定
1348 します。@code{nil}を指定すると文節と文節の間にすき間を入れません。
1349 @refill
1350
1351 第3引数はアンダーラインや反転を使うかどうかを指定します。アンダーライン
1352 や反転を使う場合には@file{attribute.el}が必要です。@refill
1353
1354 ちなみに筆者は@code{nil t nil}で使っていますが、最初のうちは
1355 @file{attribute.el}があるなら@code{nil nil t}、ないなら@code{t t nil}で
1356 使うのが良いでしょう。@refill
1357
1358 @c ============================================================
1359 @node Specifying server, Specifying customization, スタイル, その他
1360 @section かな漢字変換サーバの指定
1361
1362 『かんな』では通常かな漢字変換サーバは環境変数の@var{CANNAHOST}で指定し
1363 ますが、『かんな/emacs』ではそれに加えて@var{canna-server}という変数にサー
1364 バ名を代入しておくことで指定することができます。@refill
1365
1366 『かんな/emacs』での設定の方が環境変数による設定より優先します。
1367
1368 @cindex CANNAHOST
1369 @cindex canna-server
1370 @example
1371 (setq canna-server "wink")
1372 @end example
1373
1374 @c ============================================================
1375 @node Specifying customization, Boiled-egg like, Specifying server, その他
1376 @section カスタマイズファイルの指定
1377
1378 『かんな』では通常カスタマイズファイルは環境変数の@var{CANNAFILE}で指定
1379 しますが、『かんな/emacs』ではそれに加えて@var{canna-file}という変数にファ
1380 イル名を代入しておくことで指定することができます。@refill
1381
1382 『かんな/emacs』での設定の方が環境変数による設定より優先します。
1383
1384 @cindex CANNAFILE
1385 @example
1386 (setq canna-file (expand-file-name "~/.canna-emacs"))
1387 @end example
1388
1389 @c ============================================================
1390 @node Boiled-egg like, Functions, Specifying customization, その他
1391 @section boiled-egg みたいな使いかた
1392 @cindex boiled-egg
1393
1394 『かんな』を使って boiled-egg みたいな使いかたをすることができます。
1395 boiled-egg みたいな使いかたをするには@var{rK-trans-key}と言う変数に
1396 boiled-egg 的使いかたをする時の起動キーを定義します。例えば以下のように
1397 なります。@refill
1398 @cindex rK-trans-key
1399
1400 @example
1401 (setq rK-trans-key "\C-t")
1402 @end example
1403
1404 何も指定をしないと@key{C-j}がデフォルトとして用いられます。@refill
1405
1406 さて、boiled-egg 的な使いかたをする場合には、boiled-egg 的な使いかたをし
1407 たいバッファにて、
1408
1409 @example
1410 M-x canna-boil
1411 @end example
1412 @cindex canna-boil
1413
1414 を実行します。そうすると、@var{rK-trans-key}で指定したキーが起動キーとし
1415 て定義され、以下のような操作で、日本語入力が行えます。@refill
1416
1417 @example
1418 boiled-egg mitainitukaemasu<C-j>
1419 @end example
1420
1421 上記の入力の結果は以下のようになります。
1422
1423 @example
1424 boiled-egg |みたいに 使えます|
1425 @end example
1426
1427 これは『かんな』で変換キーを押した時と同じような状態です。あとは『かんな』
1428 の通常の変換操作で入力できます。
1429
1430 @c ============================================================
1431 @node Functions, まとめ, Boiled-egg like, その他
1432 @section 『かんな/emacs』で使える関数
1433
1434 『かんな/emacs』で利用できる関数としては次のものがあります。
1435
1436 @table @code
1437 @item canna-bushu-mode
1438 @cindex canna-bushu-mode
1439 @cindex 部首変換[ぶしゅへんかん]
1440 部首変換モード
1441 @item canna-henkan-region
1442 @cindex canna-henkan-region
1443 指定されたリージョンの文字を漢字に変換します
1444 @item canna-hex-mode
1445 @cindex canna-hex-mode
1446 @cindex 16進コード入力[16しんこーどにゅうりょく]
1447 16進コード入力モード
1448 @item canna-kigou-mode
1449 @cindex canna-kigou-mode
1450 @cindex 記号入力[きごうにゅうりょく]
1451 記号入力モード
1452 @item canna-extend-mode
1453 @cindex canna-extend-mode
1454 @cindex ユーティリティモード[ゆーてぃりてぃもーど]
1455 ユーティリティモード
1456 @item canna-reset
1457 @cindex canna-reset
1458 @cindex 再起動[さいきどう]
1459 日本語入力システムの再起動
1460 @item canna-toggle-japanese-mode
1461 @cindex canna-toggle-japanese-mode
1462 アルファベットモードと日本語モードの切り替え
1463 @item canna-touroku
1464 @cindex canna-touroku
1465 @cindex 単語登録[たんごとうろく]
1466 単語登録
1467 @item canna-touroku-region
1468 @cindex canna-touroku-region
1469 リージョンで指定された単語を登録
1470 @item canna-undo
1471 @cindex canna-undo
1472 直前に確定した日本語入力を読みに戻す
1473 @item canna-version
1474 @cindex canna-version
1475 @cindex バージョン[ばーじょん]
1476 『かんな/emacs』のバージョンの表示
1477 @item canna-do-function
1478 @cindex canna-do-function
1479 『かんな』の機能を実行します。該当する機能が@code{canna-do-function}呼び
1480 だし時の状態で無効である場合はその機能は実行されません。どのような機能が
1481 あるかは付録を参照して下さい。
1482 @item canna-set-fence-mode-format
1483 @cindex canna-set-fence-mode-format
1484 『かんな』で入力を行っている部分の見え方を指定します。
1485 @item canna-rk-trans
1486 @cindex canna-rk-trans
1487 左にあるローマ字列をローマ字かな変換し、『かんな』の読み入力状態に移行
1488 します。
1489 @item canna-rk-trans-region
1490 @cindex canna-rk-trans-region
1491 リージョンで指定された部分にあるローマ字をローマ字かな変換し、『かんな』
1492 の読み入力状態に移行します。
1493 @item canna-boil
1494 @cindex canna-boil
1495 boiled-egg 的な使いかたをする準備をします。この関数はこの関数を実行した
1496 バッファだけに効力を持ちます。
1497 @end table
1498
1499 @c ============================================================
1500 @node まとめ, 変更点, Functions, その他
1501 @section まとめ
1502
1503 ここで説明した機能を使って@file{.emacs}の記述を行うとおおよそ次のように
1504 なります。@file{.emacs}の修正をするときの参考にして下さい。@refill
1505
1506 @cindex .emacs
1507 @example
1508 (if (and (boundp 'CANNA) CANNA) ; 『かんな/emacs』であることを確認して
1509 ;;『かんな/emacs』の場合だけ以下を実行します。
1510 (progn
1511 (require 'canna) ;ライブラリのロード(ロードされてないなら)
1512 (setq canna-do-keybind-for-functionkeys t)
1513 (setq canna-server "wink") ;かな漢字変換サーバの指定
1514 (setq canna-file (expand-file-name "~/.canna-emacs"))
1515
1516 (canna) ;『かんな』の初期化
1517
1518 (canna-set-fence-mode-format nil t nil) ; 入力中の見え方
1519 (global-set-key "\e[209z" 'canna-japanese-mode) ;NFER
1520 (global-set-key "\C-_" 'canna-undo) ;アンドゥの設定
1521 (setq canna-save-undo-text-predicate ;アンドゥバッファへ入れる条件
1522 '(lambda (s) (> (length (car s)) 2)) )
1523 (setq canna-undo-hook ;アンドゥ+α
1524 '(lambda () (message "再変換します....")
1525 (canna-do-function canna-func-henkan)) )
1526 ))
1527 @end example
1528
1529 @c ============================================================
1530 @node 変更点, v22to23, まとめ, Top
1531 @chapter 変更点
1532
1533 『かんな/emacs』に関しては今まで特別にバージョンをつけてはいませんでした
1534 が、『かんな』Version 1.2 対応のものを 1.2、Version 2.2 対応のものを 2.2
1535 とさせていただきます。今回提供するバージョンも『かんな』Version 2.2 をベー
1536 スにしていますが、以前の『かんな/emacs』から機能変更がありますので、
1537 Version 2.3 とさせていただきます。
1538
1539 @menu
1540 * v22to23:: Version 2.2 から 2.3 への変更点
1541 * v12to22:: Version 1.2 から 2.2 への変更点
1542 @end menu
1543
1544 @c ============================================================
1545 @node v22to23, v12to22, 変更点, 変更点
1546 @section Version 2.2 から 2.3 への変更点
1547
1548 以下に『かんな/emacs』Version 2.2 から 2.3 への変更点を示します。
1549
1550 @enumerate
1551
1552 @item
1553 最初のモード表示の変更
1554
1555 最初のモード表示を「かんな」にしました。(今まではハイフン6つでした)。
1556
1557 @item
1558 ミニバッファ利用時のモード表示
1559
1560 ミニバッファで入力を行っている場合もモード表示をするようにしました。
1561
1562 @item
1563 ミニバッファ入力中のバグの修正
1564
1565 ミニバッファで入力を行っている時に、候補一覧などを表示させると、今までミ
1566 ニバッファにあった文字列を消してしまうと言うバグがありました。これを直し
1567 ました。
1568
1569 @item
1570 boiled-egg 対応
1571
1572 boiled-egg のような入力もできるようにしました。また、mlh もオプション
1573 (mlh 側の若干の対応)で対応可としました。
1574
1575 @end enumerate
1576
1577 @c ============================================================
1578 @node v12to22, 付録, v22to23, 変更点
1579 @section Version 1.2 から 2.2 への変更点
1580
1581 以下に『かんな』Version 1.2 で提供されていた『かんな/emacs』から Version
1582 2.2 ベースの『かんな/emacs』への変更点を示します。
1583
1584 @enumerate
1585
1586 @item
1587 名前の変更
1588
1589 各関数、変数などの名前として@code{iroha}とあったものが@code{canna}になり
1590 ました。また、lisp ファイル名が@file{iroha.el}から@file{canna.el}になり
1591 ました。
1592
1593 @item
1594 各種定数の定義
1595
1596 『かんな』における各種定数が以前はlispファイル(@file{iroha.el})で定義
1597 されていましたが、これを Emacs のソースファイル(@file{canna.c})で定義する
1598 ようにしました。
1599
1600 @item
1601 Emacs とのインタフェースの変更
1602
1603 lisp ファイル(@file{canna.el})と Emacs (@file{canna.c})との間のインタ
1604 フェースを変更し、consセルの消費を削減しました。
1605
1606 @end enumerate
1607
1608
1609 @c ============================================================
1610 @node 付録, 索引, v12to22, Top
1611 @unnumbered 付録
1612
1613 以下の変数の値を@code{canna-do-func}に与えると該当する機能が実行されます。
1614
1615 @table @var
1616 @item canna-func-self-insert
1617 @cindex canna-func-self-insert
1618 入力された文字をそのまま入力とする
1619 @item canna-func-functional-insert
1620 @cindex canna-func-functional-insert
1621 入力された文字を適当にローマ字かな変換などで修飾し入力とする
1622 @item canna-func-quoted-insert
1623 @cindex canna-func-quoted-insert
1624 次の一文字をそのまま入力とする
1625 @item canna-func-japanese-mode
1626 @cindex canna-func-japanese-mode
1627 日本語入力モードに移行する
1628 @item canna-func-alpha-mode
1629 @cindex canna-func-alpha-mode
1630 アルファベット入力モードに移行する
1631 @item canna-func-henkan-nyuryoku-mode
1632 @cindex canna-func-henkan-nyuryoku-mode
1633 全角ひらがな変換入力モードに移行する
1634 @item canna-func-forward
1635 @cindex canna-func-forward
1636 右へ移動
1637 @item canna-func-backward
1638 @cindex canna-func-backward
1639 左へ移動
1640 @item canna-func-next
1641 @cindex canna-func-next
1642 下または次へ移動
1643 @item canna-func-previous
1644 @cindex canna-func-previous
1645 上または前へ移動
1646 @item canna-func-beginning-of-line
1647 @cindex canna-func-beginning-of-line
1648 左端へ移動
1649 @item canna-func-end-of-line
1650 @cindex canna-func-end-of-line
1651 右端へ移動
1652 @item canna-func-delete-next
1653 @cindex canna-func-delete-next
1654 次の一文字の削除
1655 @item canna-func-delete_previous
1656 @cindex canna-func-delete_previous
1657 左の一文字の削除
1658 @item canna-func-kill-to-end-of-line
1659 @cindex canna-func-kill-to-end-of-line
1660 カーソルから行末まで削除
1661 @item canna-func-henkan
1662 @cindex canna-func-henkan
1663 変換
1664 @item canna-func-kakutei
1665 @cindex canna-func-kakutei
1666 確定
1667 @item canna-func-extend
1668 @cindex canna-func-extend
1669 伸ばし
1670 @item canna-func-shrink
1671 @cindex canna-func-shrink
1672 縮め
1673 @item canna-func-quit
1674 @cindex canna-func-quit
1675 中止
1676 @item canna-func-convert-as-hex
1677 @cindex canna-func-convert-as-hex
1678 読みを16進コードとみなして変換
1679 @item canna-func-convert-as-bushu
1680 @cindex canna-func-convert-as-bushu
1681 読みを部首名とみなして部首一覧表示
1682 @item canna-func-kouho-ichiran
1683 @cindex canna-func-kouho-ichiran
1684 候補一覧表示
1685 @item canna-func-bubun-muhenkan
1686 @cindex canna-func-bubun-muhenkan
1687 無変換
1688 @item canna-func-zenkaku
1689 @cindex canna-func-zenkaku
1690 全角に変換
1691 @item canna-func-hankaku
1692 @cindex canna-func-hankaku
1693 半角に変換
1694 @item canna-func-to-upper
1695 @cindex canna-func-to-upper
1696 大文字に変換
1697 @item canna-func-capitalize
1698 @cindex canna-func-capitalize
1699 先頭文字を大文字に変換
1700 @item canna-func-to-lower
1701 @cindex canna-func-to-lower
1702 小文字に変換
1703 @item canna-func-hiragana
1704 @cindex canna-func-hiragana
1705 ひらがなに変換
1706 @item canna-func-katakana
1707 @cindex canna-func-katakana
1708 カタカナに変換
1709 @item canna-func-romaji
1710 @cindex canna-func-romaji
1711 ローマ字に変換
1712 @item canna-func-extend-mode
1713 @cindex canna-func-extend-mode
1714 ユーティリティモードのメニューの表示
1715 @item canna-func-touroku
1716 @cindex canna-func-touroku
1717 単語登録モードへの移行
1718 @item canna-func-hex-mode
1719 @cindex canna-func-hex-mode
1720 16進コード入力モードへの移行
1721 @item canna-func-bushu-mode
1722 @cindex canna-func-bushu-mode
1723 部首入力モードへの移行
1724 @item canna-func-kigo-mode
1725 @cindex canna-func-kigo-mode
1726 記号入力モードへの移行
1727 @end table
1728
1729 以下の機能は『かんな/emacs』の『かんな』の部分が Version 2.1 以上のとき
1730 のみ有効です。
1731
1732 @table @var
1733 @item canna-func-adjust-bunsetsu
1734 @cindex canna-func-adjust-bunsetsu
1735 一太郎の文節伸ばし縮めモードのような文節伸ばし縮めモードへの移行
1736 @item canna-func-base-hiragana
1737 @cindex canna-func-base-hiragana
1738 入力文字のベースをひらがなに変更
1739 @item canna-func-base-katakana
1740 @cindex canna-func-base-katakana
1741 入力文字のベースをカタカナに変更
1742 @item canna-func-base-eisu
1743 @cindex canna-func-base-eisu
1744 入力文字のベースを英数に変更
1745 @item canna-func-base-zenkaku
1746 @cindex canna-func-base-zenkaku
1747 入力文字のベースを全角に変更
1748 @item canna-func-base-hankaku
1749 @cindex canna-func-base-hankaku
1750 入力文字のベースを半角に変更
1751 @item canna-func-base-kana
1752 @cindex canna-func-base-kana
1753 入力文字のベースをカナ(ひらがなかカタカナ)に変更
1754 @item canna-func-base-kakutei
1755 @cindex canna-func-base-kakutei
1756 入力ベースを確定入力モードに変更
1757 @item canna-func-base-henkan
1758 @cindex canna-func-base-henkan
1759 入力ベースを変換入力モードに変更
1760 @item canna-func-base-hiragana-katakana-toggle
1761 @cindex canna-func-base-hiragana-katakana-toggle
1762 入力ベースをひらがなとカタカナの間でトグル
1763 @item canna-func-base-zenkaku-hankaku-toggle
1764 @cindex canna-func-base-zenkaku-hankaku-toggle
1765 入力ベースを全角と半角の間でトグル
1766 @item canna-func-base-kana-eisu-toggle
1767 @cindex canna-func-base-kana-eisu-toggle
1768 入力ベースをカナと英数の間でトグル
1769 @item canna-func-base-kakutei-henkan-toggle
1770 @cindex canna-func-base-kakutei-henkan-toggle
1771 入力ベースを確定入力と変換入力の間でトグル
1772 @item canna-func-base-rotate-forward
1773 @cindex canna-func-base-rotate-forward
1774 入力ベースの順次切り替え
1775 @item canna-func-base-rotate-backward
1776 @cindex canna-func-base-rotate-backward
1777 入力ベースの順次切り替え(逆回転)
1778 @end table
1779
1780 以下の機能は『かんな/emacs』の『かんな』の部分が Version 2.2 以上のとき
1781 のみ有効です。
1782
1783 @table @var
1784 @item canna-func-mark
1785 @cindex canna-func-mark
1786 マーク
1787 @item canna-func-temporal-mode
1788 @cindex canna-func-temporal-mode
1789 現在の入力モードを一時保管
1790 @end table
1791
1792 @node 索引, , 付録, Top
1793 @unnumbered 索引
1794
1795 @printindex cp
1796
1797 @contents
1798 @bye