-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
OCHANGES.jp
1052 lines (724 loc) · 35.6 KB
/
OCHANGES.jp
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
本文書では『かんな』Version 1.2 以降の変更点について時間をさかのぼりな
がら説明いたします。 Version 3.7 以降については、CHANGES.jpを参照して
ください。
0. 『かんな』Version 3.6 におけるパッチ
0.1 パッチレベル4での修正
ここでは主要な変更のみを述べます。詳しくは ChangeLog を参照して下さい。
仕様変更:
・サンプルの初期化ファイルやdefault.cannaを開発中の3.7と同様の構成にした。
・起動スクリプトのサンプルmisc/cannaを廃止して、より現代的なrc.cannaに
置き換えた。
・カナ変換時の自動登録を使えるようにした。verbose.cannaにあるように、
use-dictionaryで:katakana "your-dictionary"のように設定することでこの機能を
利用できる。
・fuzokugo.cldはインストールも生成も止めた。
・lispで設定できるキーシンボルを増やした。(アプリケーション側の対応も必要。)
バグ修正:
・単語登録の時の単語の編集がまだおかしかったので修正。
・条件によって文節を延び縮みさせた時にサーバが落ちる問題を修正。
・cpdicが動かない問題を修正。
・ローマ字仮名変換ファイルを生成する際の特殊文字問題を修正。
・「ん」を「n'」で入力できない問題を修正。
・KC_DOの不適切な挙動を修正。
・単語登録の品詞メニューで「その他」を選んだ時に不正な動作をする問題を修正。
・わずかに間違ったバイナリ辞書が生成される問題を修正。
その他:
・ドキュメントを修正した。特に、doc/man/guide以下のTeXドキュメントを大
幅に更新し、LaTeX2eに対応した他、古い記述を修正した。
・サーバが異常終了した際に適切な終了コードを返すようにした。
・その他、内部の潜在的な問題を修正した。
0.2 パッチレベル3での修正
・manページのインストールに失敗する問題を修正。
・Sunでcanuumが動くようにした。
0.3 パッチレベル2での修正
ここでは主要な変更のみを述べます。詳しくは ChangeLog を参照して下さい。
・canuum を FreeWnn の uum をベースに書き換え。
・共有ライブラリのバージョンを1.1に統一。
・辞書の誤字、品詞の誤りを修正。
・character-based-move が t に設定されていると、単語登録の際に単語の編集
がうまく出来ない不具合を修正。
・TTY ベースのアプリケーションや emacs で、カーソルキーやファンクションキー
を正常に入力できない不具合を修正。
・字種変換、部分確定の際に誤った学習が行われる問題を修正。
・現代的なディレクトリ構造に対応させやすいよう、 Canna.conf.dist を
書き換え。デフォルトのディレクトリ構造は変えていない。
・FreeBSD 5.x,OpenBSD でのワイドキャラクタの扱いを修正。
・mkbindic で同じ読みの単語同士の優先順位を変えないようにした。
・3.6p1 で逐次入力が壊れていたのを修正。
・マニュアル類やカスタマイズファイルのサンプルを更新。
・その他細かなバグ修正。
0.4 パッチレベル1での修正
クライアントから不正なリクエストを送られると、バッファオーバーフローを
起こしたり、内部情報が漏れたりするというセキュリティ問題を修正。
1. 『かんな』Version 3.6 における変更点
『かんな』Version 3.6 では『かんな』Version 3.5 β2版 に対して以下に
示すような機能拡張、変更を行っています。
1.1 従来と互換性のない変更
cannaserverに-inetオプションを付けて起動しない限り、TCP接続は受け付けず、
UNIXドメインソケットでの接続のみを受け付けるようにしました。これは、
Debian GNU/Linuxでの修正を取り入れたものです。なお、UNIXドメインの場合、
サーバ名はunix[:番号]と指定します。
1.2 セキュリティ修正
クライアントから非常に長いユーザ名を送られると、バッファオーバーフロー
を起こすという問題を修正しました。
1.3 辞書、文法データの修正
3.5 β2版リリース後に公開された、狩野氏および藤枝氏によるアンオフィ
シャル文法パッチを適用しました。また、pubdic+の誤字を数箇所修正しま
した。
1.4 変換エンジンの強化
次の機能を実現する、藤枝氏によるアンオフィシャルパッチを適用しました。
・3つ以上付属語が接続した時に、日本語としてあり得ない表現が生じるのを
打ち消すロジックを追加する。
・使われていなかった文節区切り学習の機能を有効にする。
この他、Debian GNU/Linuxで行われていた、読みが一文字の単語では優先度を
無視する修正を加えています。(これは藤枝氏がCanna-mlに流したパッチので、
統合パッチから抜けていたものです。)また、藤枝氏のパッチでは、mkdicで
作った辞書では文節区切り学習が効かないので、それも効くようにしました。
1.5 その他の主な変更
(1) cannaserverの特権の設定
-uオプションで、cannaserverがどのユーザの権限で動作するかを指定できる
ようになりました。これはDebian GNU/Linuxでの修正を取り入れたものです。
(2) 日本語manページのインストール
従来は、日本語と英語のどちらかのmanページしかインストール出来ません
でしたが、両方のmanページが入るようになりました。
2. 『かんな』Version 3.5 β版における変更点
2.1 β2版での変更点
・C-j の問題点の修正
C-j を部分確定機能にわりあてたが、読みモードで最後尾にカーソルがあ
る状態で部分確定すると、空モードに戻らないで読みモードのままである
と言う問題があった。具体的には「わたし C-j C-b」のように Emacs 上で
入力したとき、C-b が Emacs のカーソル移動に用いられれず C-b 自身が
されてしまうという問題があった。
・早稲田大学の狩野氏および北陸先端大学院大学の藤枝氏によるアンオフィ
シャル文法パッチを適用した。
・C-k や C-d の処理の修正
C-k や C-d のような先頭一文字、末尾一文字を取り出す処理を行う場合に、
内部にかかえている読み部分を先頭一文字/末尾一文字などにしていたが、
これだとアンドゥできなくなるので、この処理をやめた。ただし、現状で
は C-k や C-d 後に self-insert(a などを入力)すると C-k や C-d の効
果が無くなってしまうと言う問題がある。
・ライブラリのインストールパスを /usr/local/lib から /usr/lib に戻し
た。
・OS/2 でもコンパイルできるようにした。この部分は日本 IBM の上野さん
による修正です。
・Linux が select 部分で CPU を異常に消費してしまう問題を解決した。
・NetBSD でもコンパイルできるようにした。
・keishiki.t や katakana.t などの足りなかった辞書の追加。
・β1で canuum がコンパイルできなかった件を修正
・SunOS 4.1 のコンパイラではねられる記述を取り除いた。
・その他小さな問題の修正
3. 『かんな』Version 3.5 における変更点
『かんな』Version 3.5 では『かんな』Version 3.4 に対して以下に示すよう
な機能拡張・変更を行っています。
(1) ユーザインタフェースの改善
(2) ファイル拡張子の変更
(3) 辞書の変更
(4) スリムな Canna を作るためのフラグの追加
(5) 旧形式ファイルのサポートとりやめ
(6) SJ3, Wnn のサーバアクセスライブラリのサポートとりやめ
(7) いくつかのコマンドのサポートとりやめ
(8) アプリケーションプログラムインタフェースの改善
(1),(2) の変更は、主に Canna for Windows 95 開発に伴う変更です。
3.1 ユーザインタフェース
(1) 候補一覧のページスクロール
候補一覧の二次元表示時に、画面に収まり切らない候補に関してページ単位
のスクロールアップスクロールダウンができるようになりました。
(2) 一文字選択機能の追加
文節内の先頭あるいは末尾の一文字だけを選択する機能をつけました。C-k
および C-d に割り当ててあります。これに伴い、変換中の C-k の機能(部
分確定を行い残り部分を読みに戻す)は C-k への割当が削除されました。一
文字選択機能は例えば、「直出(ちょくしゅつ)」という単語が辞書に無かっ
た時に、「ちょくせつがいしゅつ<変換>」→「直接外出」→C-k,C-f,C-d→
「直出」として入力することができます。
C-k を以前と同じ意味で利用する場合は以下のように定義してください。
(set-key 'tankouho-mode "\C-k" '(bubun-kakutei quit))
(set-key 'ichiran-mode "\C-k" '(bubun-kakutei quit))
(3) bubun-kakutei 機能
bubun-kakutei 機能を追加しました。これはカレントカーソルポジションの
前までの領域を確定させるものです。キーは C-j に割り当てました。
(4) 文字種変換バリエーションの追加
かな文字字種だけでぐるぐる字種変換する kana-rotate、英数文字だけでぐ
るぐる字種変換する romaji-rotate、大文字小文字キャピタライズを選択す
る case-rotate 機能を入れました。
(5) 文字種変換後の動作がカスタマイズ可能に
文字種変換後、文字種変換部分を確定しないで次の入力を行うかどうかを指
定することができるようになりました。指定するための変数は
mojishu-continue で、t または nil を指定します。デフォルト値は t で、
Version 3.4 のときの仕様と同じ「確定しないで次の入力を行う」です。
(6) defsymbol の拡張
ローマ字かな変換の補助を行う defsymbol 機能を拡張しました。入力キー
に対して他のキーが入力されたように振舞わせることができるようになりま
す。
(例) F1 を押したら全角スペースを入力する。その時入力キーはあたかも
スペースキーであったかのようにする。
(defsymbol ?\F1 ?\Space " ")
(7) defsymbol の動作の若干の変更
defsymbol してある文字については候補一覧表示を行った時にはかならず
defsymbol での定義による一覧が出ていましたが、defsymbol で候補が一つ
しかないときは漢字の一覧が出るようになりました。
(8) 候補一覧モードにおける操作の拡張
文節伸ばし(C-o)など、候補一覧モードでは直接用いられないキーを入力し
たときに、候補一覧を終了し、単候補モードでその機能が実行されるように
なりました。
(9) Capitalize 機能の修正
Capitalize 機能を修正しました。例えば、new york に対しては New York
となるようになりました。
3.2 ファイル拡張子の変更
各種ファイルの拡張子を Canna for Windows 95 に合わせて、以下のように
変更しました。
ローマ字かな変換テーブル *.kp → *.cbp
バイナリ辞書 *.d → *.cbd
テキスト辞書 *.t → *.ctd
学習ファイル *.fq → *.cld
3.3 辞書の変更
(1) pubdic+ の利用
pubdic+ の辞書を簡単に利用できるようになりました。
(2) ユーザ用サンプル辞書とシステム辞書の統合
ユーザ辞書ディレクトリ(user/user) にサンプル辞書がいくつか置いてあり
ましたが、これらの辞書をシステム辞書ディレクトリ(canna)に移動しまし
た。
3.4 スリムな Canna を作るためのフラグの追加
旧プロトコル互換のためのコードや、ユーザインタフェースライブラリにお
けるメニュー部分のコードをコンパイルスイッチで削除することができるよ
うになりました。デフォルトでは、旧プロトコル(『かんな』Version 1.x
のプロトコル)は削除、メニューはそのままとなります。
これにより旧プロトコルしか話せないクライアントやサーバとの接続ができ
なくなります。『かんな』Version 1.x のものとの通信を行なう場合は、旧
プロトコルも利用できるように Canna.conf を書換えてください。
3.5 旧形式ファイルのサポートの取りやめ
以下の旧形式ファイルのサポートをとりやめました。
*.iroha … 旧形式カスタマイズファイル
*.rdef … 旧形式ローマ字かな変換テーブルソース
*.rdic … 旧形式ローマ字かな変換テーブル
これにともない、mkromdic の -n オプションも使用できなくなります。
3.6 SJ3, Wnn のサーバアクセスライブラリのサポートとりやめ
RKSj3(SJ3 サーバアクセスライブラリ)、RKWnn(Wnn の jserver アクセスラ
イブラリ)のサポートをとりやめました。
3.7 いくつかのコマンドのサポートとりやめ
以下のツール、プログラムのサポートをとりやめました。
canvert … 『かんな』Version 1.x のバイナリ辞書やカスタマイズファ
イルを Version 2.1 以降の形式のファイルに変換するツール。
dpwdic … 上記 canvert から呼び出される辞書コンバータ。
itoc … 上記 canvert から呼び出されるカスタマイズファイルコンバー
タ。
3.8 アプリケーションプログラムインタフェース
候補一覧のコールバック API を拡張および変更しました。この API は
Windows 95 用 IME のためのものです。kinput2 もこの API を利用してい
ますが、kinput2v2 fix2 にて対応済です。
4. 『かんな』Version 3.4 における変更点
『かんな』Version 3.4 では『かんな』Version 3.3 に対して以下に示すよう
な機能拡張を行っています。
(1) ユーザインタフェースの改善
(2) アプリケーションインタフェースの追加
(3) その他の変更
本変更は主に Canna for Windows 3.1 開発に伴う変更です。
4.1 ユーザインタフェース
(1) カタカナ自動登録
全角カタカナに字種変換して確定した場合は、そのカタカナを自動登録する
ことができるようになりました。自動登録の指定は、カスタマイズファイル
を利用して以下のように記述します。
(use-dictionary :katakana "katakana")
(2) コード種別の指定
コード変換の機能を利用してコード入力を行う場合、JIS コード(jis)、シ
フト JIS コード(sjis)、区点コード(kuten)の 3 つのコード種別のいずれ
かを指定することができるようになりました。コード種別の指定は、カスタ
マイズファイルを利用して以下のように記述します。
(setq code-input "jis")
ただし、メニューを利用したコード入力は、JIS コードのみサポートします。
4.2 アプリケーションインタフェース
(1) KC_SETUSERINFO
KC_SETUSERINFO によってアプリケーションからユーザ名などの指定が行え
ます。
(2) KC_CHANGESERVER
KC_CHANGESERVER によってアプリケーションから接続しているサーバを変更
することができます。
4.3 その他
メニュー表示をアプリケーションが行ったり、カスタマイズファイルをバイ
ナリ形式にしたりすることができるようになりました。
5. 『かんな』Version 3.3 における変更点
『かんな』Version 3.3 では『かんな』Version 3.2 に対して以下に示すよう
な機能拡張・変更を行っています。
(1) クライアントサーバ間通信プロトコルの追加
(2) 辞書の同期処理の改善
(3) ユーザインタフェースの改善
(4) premountdics サポートとりやめ
(5) その他
5.1 クライアントサーバ間通信プロトコルの追加
サーバの終了要求を送るプロトコルを追加しました。Version 3.2 までは、
サーバの終了処理はシェルスクリプトで行っており、ロックファイルの有無
でサーバの起動状態を判断していたため、ロックファイルを削除すると、サー
バが起動されていても起動していないものと判断されていましたが、
Version 3.3 からは、サーバの終了処理はプロトコルで要求するようになり、
確実にサーバの終了処理が行えるようになりました。
このプロトコルのサポートに伴い、ロックファイルのサポートを中止しまし
た。
5.2 辞書の同期処理の改善
サーバが一定時間アイドルであった場合に、サーバ側で辞書の同期処理を行
うようになりました。
5.3 ユーザインタフェースの改善
(1) 単語登録メニューの改善
メニューを利用した単語登録時に表示される品詞および詳細な品詞決定のた
めの質問を見直し、わかりやすくしました。
(2) 単語削除メニューの改善
メニューを利用した単語削除時に、Version 3.2 までは辞書を選択した後に、
読みを入力して単語を削除していましたが、Version 3.3 からは読みを入力
すると、その読みを持つ単語が表示され、削除する単語を選択した後に辞書
を選択するようになりました。これによって、以前は削除したい単語が登録
されている辞書がわからないと単語削除できなかったのが、単語さえ指定す
れば削除できるようになりました。
(3) カスタマイズファイルの見直し
提供しているカスタマイズファイルをすべて見直し、操作性を変更しました。
5.4 premountdics サポートとりやめ
premountdics ファイルのサポートをとりやめました。
5.5 その他
スタンドアロンタイプとしても make することができるようになりました。
6. 『かんな』Version 3.2 におけるパッチ
6.1 パッチレベル 2 での修正
・INSTALL の修正
- X11R6 環境での作り方の記述しかなかったが、X11R5 と X11R6 の両
方を記述した。
・Imakefile の修正
- INSTALLFLAGS を抜いた(パッチ 1 での修正もれ)。
- chmoddic がインストールされるようにした。
・カスタマイズのキーワードの追加
- inhibit-hankaku-kana を追加した。
・lseek の第 2 引数関連の修正
・cpp がないときの処理の追加
・辞書の修正
- 「台」を #JS でも登録した。
- 「しんがくぎほう」の修正。
・ローマ字かな変換テーブルの修正
- cpp によってはうまく処理できなかったため、「"」や「'」を「\x22」
や「\x27」に変更した。
・マニュアルの修正
- SCREEN という環境を使うようにした。
・rmdic の結果が dics.dir に反映されなかったのを修正した。
・base-kakutei で、確定キーを押すと何もなくなる問題を直した。
・その他細かいバグの修正。
6.2 パッチレベル 1 での修正
・kinput2 で記号の連続入力に対応するための修正。
・サンプルのカスタマイズファイルの修正。
- skk.canna を kinput2 で使えるようにした。
- tut.canna で TUT 記号が入れられるようにした。
・Imakefile の修正。
- X11R5,X11R6 ともに対応できるようにした。
- INSTALLFLAGS を抜いた。
・ドキュメント用 README の修正。
・ドキュメントの修正。\tt の問題。
・いくつかの単語の品詞の修正。
・number.t がインストールされるようにした。
・Sparc の cc で warning が出たのを修正した。
・その他細かい修正。
7. 『かんな』Version 3.2 における変更点
『かんな』Version 3.2 では『かんな』Version 3.1 に対して以下に示すよう
な機能拡張を行っています。
(1) グループ辞書のサポート
(2) 辞書の同期処理のサポート
(3) 分野別学習ファイルのサポート
(4) 辞書コピーの改善
(5) 辞書のアクセス権の設定
(6) 接続クライアント数の拡大
(7) バイナリ辞書からの単語削除のサポート
(8) ユーザインタフェースの改善
7.1 かな漢字変換
(1) グループ辞書のサポート
辞書をコピーしなくても、グループ ID(gid) の同じユーザ間では複数のユー
ザで同一の辞書を使用できるようになりました。
(2) 辞書の同期処理のサポート
辞書ファイルへの同期処理を追加しました。これにより、カスタマイズす
ることによって、単語登録/削除時に辞書をメモリ上の辞書と同期できるよ
うになりました。
(3) 分野別学習ファイルのサポート
一つの辞書に対し複数の学習情報ファイルが扱えるようになり、分野ごと
に学習情報を切替えることができるようになりました。
(4) 辞書コピーの改善
辞書コピー専用の関数を作成し、辞書のコピーが速くなりました。また、
学習ファイルについても、バイナリ辞書のコピーという形で個人別学習ファ
イルとして使用できます。
(5) 辞書のアクセス権の設定
辞書の READ/WRITE 権を設定できるようにしました。
(6) 空白文字を含む単語の登録・削除
空白文字を含む読みや候補を登録・削除できるようになりました。
(7) 接続クライアント数の拡大
システムの資源(メモリ等)が許す限り cannaserver にクライアントが接続
できるようにしました。
(8) バイナリ辞書からの単語削除のサポート
バイナリ辞書からの単語の削除が可能になりました(α版では未サポート)。
7.2 ユーザインタフェース
(1) 逐次自動変換および連文節変換部の統合
『かんな』Version 2.1 において、文節伸縮モードがサポートされました
が、この機能が使用できるのは連文節変換時のみでした(Version 1.2 にお
ける変更点 参照)。この機能が逐次自動変換時にも使用できるようにしま
した(α版では未サポート)。
(2) 編集モード時の処理の変更
編集モードの処理が変更になり、編集モードがなくなりました。かわりに
読みモード、単候補モード、字種モードの混在により処理されるようにな
りました。
(3) メニューのカスタマイズ化
拡張メニューがカスタマイズできるようになりました。
(4) 記号入力時の操作の改良
記号を連続して入力できるようにしました。
(5) 新キーワードの導入
新キーワードが導入され、連文節変換時に英数モードで空白文字の入力時
に変換が行われないようになりました。また、逐次自動変換時においても、
句読点の入力時に変換が起動されるようになっている場合、英数モードで
は句読点を入力しても変換が行われないようになりました。
(6) 文法辞書の指定
ユーザが自由に文法辞書を変えられるようになりました。
(7) 辞書引き順の明確化
カスタマイズファイルに、優先して引きたい順に辞書を指定できるように
なりました。
(8) boiled-egg 的入力方法のサポート
あるタイミングで一括してローマ字かな変換/かな漢字変換を行うことがで
きるようになりました。
(9) ローマ字かな変換優先機能の追加
ローマ字かな変換を優先することができるようになりました。
8. 『かんな』Version 3.1 における変更点
『かんな』Version 3.1 では『かんな』Version 2.2 に対して以下に示すよう
な機能拡張を行っています。
(1) 文節長学習・単語長学習対応
文節長学習・単語長学習の結果をファイルに保管するようになり、翌日に
なってもそれまでの学習結果が反映されるようになりました。
(2) 辞書形式の変更
4Kbyte 単位でアクセスするようになり、アクセス効率および仮想記憶効率
が上がりました。また、辞書が小さくなりました。
9. 『かんな』Version 2.2 におけるパッチ
9.1 パッチレベル4での修正
・Mule を使っている時に接続がきれたり、立ち上げ時に辞書のマウントに失
敗することがあった。この問題を直した。
・パッチ2 で cannaserver にバグを入れていた。具体的には文節伸ばし縮め
を行った時に、余計なデータをクライアントに返していた。これを直した。
・addwords などでタブをうまく処理していなかったことの修正。
・単語登録時に候補を入れて確定した後 romaji 機能を使うと core dump す
ることがあった。これを修正。
・辞書の若干の修正。
・jdvi2kps で epsbox スタイルを使う人のための注意を入れた。
9.2 パッチレベル3での修正
・パッチ2で入れてしまった以下の問題を解決
- iroha.t のコンパイルができなくなっていた。
- rename() を、ポータビリティ向上のため link/unlink で置き換えたが、
置き換え方に一部間違いがあった。
・サービス番号のデフォルト値を用いる時に Little Endian マシンでの値の
設定が間違っていた。
・一般の接尾語辞書 suffix.t を消し、数関係の接尾語辞書 number.t を入
れた。
9.3 パッチレベル2での修正
・DEC αで動作するようにした。今までも大体動いていたが、cannaserver
だけはプロトコル処理部に sizeof(long)==sizeof(int)==4 と仮定してい
る部分があってうまくなかった。これを直した。
・TUT 入力のための tut.canna および tut.kpdef をサポート。
・ヘッダの C++ 対応(つもり)。
・ドキュメントの整備(ASCII TeX への対応、ディレクトリの記述が
Canna.conf にしたがうようにした、など)。
・ライブラリのマニュアルページを doc/man/lib から lib/canna に移した。
・doc/man/guide/tex/texindex の動作が awk に依存していたので C で書き
直し名前も変更し cannaindex とした。
・rename() を使っている部分があったので link()/unlink() で書き換えた。
rename() を持たないシステムへの対応。
・Purify した。
・狩野氏による、文法関連の unofficial patch の反映。(patches.49 まで)
・一部のマシンで make canna 時に辞書コンパイルのところで syntax error
が出る件を修正。
・その他細かいバグ修正。
9.4 パッチレベル1での修正
・sj3serv にも接続できるようにした。
・BSD386 などで見られる、プロトコルエラーを修正した。
・linux に対応した。
・ユーザインストール時に chown で fail する件に対処した。
・cannaserver での free 忘れ/メモリ初期化忘れの修正。
・マニュアルを作る時にディレクトリ表記をインストール時の指定に合わせ
るようにした。
・canuum のベースを Wnn4.108 から Wnn4.109 に変えた。
・canuum の PTY の最大値を大きくした。
・mergeword の引数にファイルが指定できるようにした。また、splitword
に引数を与えない時に標準入力を見るようにした。
・いくつかの文法の修正。
・その他細かいバグの修正。
10. 『かんな』Version 2.2 における変更点
『かんな』Version 2.1 から『かんな』Version 2.2 では以下のことが追加
されました。
(1) エンジンの切り替え
かな漢字変換エンジンを cannaserver(irohaserver) と Wnn の jserver
との間で自由に切り替えることができるようになりました。
(2) マーク
字種変換などの範囲をマークとカーソルで指定できるようにしました。
これらについては参照できるドキュメントがほとんど存在しませんので、こ
こでちょっと説明します。詳しい説明はもうしばらくお待ちください。
(1) エンジンの切り替え
エンジンの切り替えはダイナミックローディング(dlopenなど)を使って行っ
ています。したがって、ダイナミックローディングを利用できない OS では
使えません(実はオブジェクトサイズが大きくなっても良いのであればなん
とでもできるのですが)。ロードされるライブラリは libRKC.so (かんな)
か libRKWnn.so (Wnn) です。
β版の Makefile (Imakefile) では Shared Library のことはあまり考慮し
ていないのでエンジンの切り替えを行うには人手での Makefile の書き換え
が必要になります。
libRKWnn.so はβ版のソース(lib/RKWnn)に加えて、Wnn の libwnn.a と
kinput2 の jclib.o jilib.o があれば作成できます。以後の版で Makefile
を提供する予定ですが、とりあえずやってみたい人は doc/misc/engine.tx
を見てトライしてください。
(2) マーク
マークを打つのは C-<space> です。今までは C-n などで字種変換をすると
入力中の文字全てが字種変換されていましたが、Version 2.2 では
C-<space> が打たれたり、一度字種変換がされたりするとマークが設定され、
そこから後ろだけが字種変換されます。
《例》
fairu C-n a C-p → V1.2 ファイルa (「ファイル」の部分が確定される)
V2.1 fairua
V2.2 ファイルa (「ファイル」の部分も読みのまま)
11. 『かんな』Version 2.1 における変更点
『かんな』Version 2.1 では『かんな』Version 1.2 に対して主に以下に示す
機能拡張を行っています。
(1) 逐次自動変換方式の導入(サーバクライアント方式ではフリーソフト初)
(2) 個人別頻度学習管理のサポート
(3) EUCのG3文字のサポート
(4) ユーザインタフェースの改善
これにともない、かな漢字変換辞書形式の変更、ローマ字かな変換テーブルの
形式の変更、カスタマイズファイル形式の変更を始めとする様々な変更が行わ
れました。詳しくは以下を参照してください。
11.1 かな漢字変換
(1) 逐次自動変換サポート
サーバクライアント方式としては初の逐次自動変換をサポートしました。従
来のパーソナルコンピュータなどでは逐次自動変換の操作方法がぎこちない
場合が多くありましたが、連文節変換でのユーザインタフェースを自然に拡
張する形の操作法を提供しており、誰でも自然に逐次自動変換を利用するこ
とが可能です。
(2) 個人別頻度学習のサポート
今までは同一の辞書を複数のユーザが使用しているときは最後に使用した人
の学習情報によって他の人の学習情報が上書きされていましたが、メインの
辞書とは別に学習情報ファイルをユーザ毎に分散させて持たせることにより
頻度情報を各個人毎に管理することが可能になりました。
今まで通り頻度情報を共有することもユーザ毎の設定により可能です。
(3) EUCのG3文字のサポート
JIS規格により補助漢字集合(JIS X0212)が制定されました。補助漢字集合は
UNIX Internationalの日本語規約ではEUCのG3文字として取り扱うことが定
められております。
『かんな』Version 2.1では補助漢字集合を始めとしてG3領域に置かれるこ
とが多い外字等をサポートできるようにEUCのG3文字をかな漢字変換の「読
み」あるいは「候補」として利用できます。
(4) 辞書形式の変更(バイナリ辞書)
個人別頻度学習とEUCのG3文字のサポートに伴い辞書形式が変更されました
(テキスト形式辞書に関しては以前のままです)。
旧形式の辞書を『かんな』Version 2.1でも活用したいかたのために旧形式
辞書から新形式辞書へのコンバータツールもサポートしています。
11.2 ローマ字かな変換
(1)「ん」の入力のためのデフォルトの変更
従来「あんない」「せんい」などの入力を行う時に「annai」「sen'i」など
のような「n」一文字が「ん」に対応するものをデフォルトとしていました。
もちろん従来からカスタマイズの設定により変更することは可能でしたが、
『かんな』Version 2.1 ではパソコン、ワープロで広く見られる「nn」を
「ん」に対応させる規則をデフォルトに変えました。これにより「あんない」
「せんい」などの入力のしかたは以下のようになります。
┌────┬─────┬───────────┐
│ │ 従来 │『かんな』Version 2.1 │
├────┼─────┼───────────┤
│あんない│ annai │ annnai │
├────┼─────┼───────────┤
│ せんい │ sen'i │ senni │
│ │ semni │ sen'i │
│ │ │ semni │
├────┼─────┼───────────┤
│ べんり │ benri │ benri │
└────┴─────┴───────────┘
(2)ローマ字かな変換テーブルの形式の変更
ローマ字かな変換テーブルのテキスト形式およびバイナリ形式を変更しまし
た。ローマ字かな変換規則の記述の際に中間結果を記述する3番目フィール
ドが設けられ柔軟な規則が記述できるようになりました。
以前作成したローマ字かな変換テーブルに関しても『かんな』Version 2.1
で利用することが可能です(バイナリ形式、テキスト形式両方とも)。
(3)複数のローマ字かな変換テーブルの切り替え可能
複数のローマ字かな変換テーブルを登録しておいて、使用時にそれらを切り
替えることが可能となりました。
(4)多候補シンボル定義が可能
「.」(ピリオド)や「,」(コンマ)を始めとして全てのキーに対して複数の記
号を対応させて使用時に切り替えることが可能となりました。例えば、以下
のような対応が可能です。
┌───┬──────────────┐
│ 入力 │ ローマ字かな変換結果 │
├───┼──────────────┤
│ . │ 。 または . │
├───┼──────────────┤
│ , │ 、または , │
├───┼──────────────┤
│ [ │ 「、『、[、〔 または [ │
├───┼──────────────┤
│ ] │ 」、』、]、〕 または ] │
└───┴──────────────┘
切り替えはかな漢字変換の候補選択と同様の操作で行えます。また、複数の
切り替えをリンクして行うことも可能です。
11.3 日本語入力操作
(1)モード表示の変更
逐次自動変換モードの導入に伴ってモード表示文字列を見直しました。
・「確」の領域の削除
モード表示の左側に設けられていた、確定入力を表す「確」を表示する領
域が削除されました。
確定モードはモード表示を取り囲む括弧の形で表現されます。
・アルファベット入力モードのモード表示が 「」(空文字列)だったものが
「 」(空白文字列)に変更されました。(見た目には同じです)
(2)文字種ベース変更の削除
読みを入力している状態で C-i および C-o を押した時に文字種ベースの変
更が行われるようになっていましたが、誤操作が多いのでオプションとしま
した。
(3)再初期化の削除
ユーティリティメニューにてカスタマイズファイルの再読み込みを行いかな
漢字変換を再初期化するメニューを提供していましたが、アプリケーション
プログラムとの間に設定のずれを生じさせる可能性があるので『かんな』
Version 2.1 ではサポートをとりやめました。
再初期化に関してはアプリケーションプログラムが提供している機能によっ
てのみ行えます(例えば『かんな』版 Nemacs の M-x canna-reset)。
(4)候補番号の表示
候補一覧を出している際に、現在カーソルが指している候補が全体の候補の
何番目かを示す表示が行われるようになりました。
(5)文節伸縮モード
文節を伸ばし縮めするもうひとつの方法として一太郎などでよく見られる方
法もオプションとしてサポートするようにしました。
その場合、文節伸ばし縮め操作を行うとカレント文節以降が一旦読みに戻さ
れ、読みの上でカーソルが移動し、文節長を調整することになります。文節
長が正しくなった時点で変換キーを押すとカーソルがある部分までをひとつ
の文節として変換が行われます。
(6)大文字小文字変換
今までは字種変換時に字種が英数字になっていたときのみ大文字小文字変換
が行われていましたが、かなが表示されている時に大文字小文字変換キーを
押すと一旦英数字に変換した後大文字小文字変換するようにしました。
(7)バージョン情報、サーバ情報の表示
ユーティリティメニューにて『かんな』のバージョンや接続しているサーバ
に関する情報が取り出せるようになりました。
(8)設定の変更
逐次自動変換や学習に関して使用時にオン/オフを切り替えることが可能に
なりました。
11.4 カスタマイズファイル
(1)カスタマイズファイル名の変更
カスタマイズファイルのファイル名が .iroha から .canna に変更になりま
した。また、カスタマイズファイルの記述形式もLispシンタックスを使った
ものに変更になりました。既存の .iroha を新形式に変更するためのコマン
ドも提供します。
既存のシンタックスは拡張性が乏しかったためバージョンアップ時に新しい
カスタマイズ記述を組み入れると古いアプリケーションプログラムが回復不
能なシンタックスエラーとなっていました。新形式では一部理解できない部
分があっても読み飛ばして次の設定を行うことが可能です。
また、新形式では現在の『かんな』のバージョン、接続されているサーバの
バージョンなどを問い合わせることが可能であり、それらのバージョンによっ
て条件的にカスタマイズを行うことが可能です。
(2)InitialMode の削除
今までは InitialMode によってアプリケーション起動時のかな漢字変換の
モードを設定することが可能でしたが、『かんな』Version 2.1 ではこれに
代わって initialize-function という機能を使ってアプリケーション起動
時の状態を設定することが可能です。
initialize-function では「一度ある状態に移行してからそこでの設定を変
更してまた別の状態に戻る」などの処理が行えます。
例えば、initialize-function にて「一度日本語入力モードに移行し、文字
ベースをカタカナに切り替えた後再びアルファベットモードに戻る」という
処理を行っておけば、C-oなどで日本語モードに移った時にカタカナベース
の日本語入力が行えるようになります。
(3)実行可能機能の増加
文字ベースに関する機能が増えた他、逐次自動変換関連、新しい文節伸ばし
縮め操作関連でキーに割り当てることができる機能が増えました。
(4)記号定義
ローマ字かな変換の補助としてピリオドやコンマに対して複数のローマ字か
な変換を定義する機能が追加されました。ユーザの好みで任意のキーに対し
て任意の記号を割り当てることが可能です。
(5)確定モード等の削除
確定モード等のモードがなくなりました。それに代わって以下の2つのうち
のいずれかで代替することができます。
(a) 読み入力時の属性を変更する以下の機能を組み合わせて入力する文字
種や状態を変更します。
名称 機能
base-hiragana 文字ベースをひらがなに変える
base-katakana 文字ベースをカタカナに変える
base-eisu 文字ベースを英数に変える
base-kana 文字ベースをひらがなかカタカナに変える
base-zenkaku 文字ベースを全角に変える
base-hankaku 文字ベースを半角に変える
base-kakutei 確定入力に入る
base-henkan 確定入力を抜ける
base-hiragana-katakana-toggle ひらがなとカタカナをトグルする
base-kana-eisu-toggle かなと英数をトグルする
base-zenkaku-hankaku-toggle 全角と半角をトグルする
base-kakutei-henkan-toggle 確定入力かどうかをトグルする
base-rotate-forward 文字ベースを順送りに変更してゆく
base-rotate-backward 文字ベースを逆送りに変更してゆく
(b) モード定義を使う
以下で説明するモード定義を使い新たにモードを定義します。
(6)モード定義
ユーザが自由にモードを定義することが可能となりました。
モードの定義に伴い、そのモード固有のローマ字かな変換テーブル、モード
表示文字列、文字ベースの状態などが選択できます。
これにより疑似かな入力モードやTコード入力モードなどが定義できます。
またユーザ定義モードだけに対して有効なキーの割り当てを行うことが可能
です。
(7)記号モードでのカスタマイズ
『かんな』Version 1.1 から Version 1.2 へとバージョンアップされた時
に記号モードだけに有効である限定カスタマイズが行えなくなりましたが、
元に戻しました。
したがって、記号モード固有のカスタマイズを行うことが可能となります。
11.5 アプリケーションインタフェース
アプリケーションインタフェースに関しては以下の変更があります。
(1)ワイドキャラクタインタフェースのサポート
ワイドキャラクタベースのかな漢字変換ライブラリをサポートします。これ
により日本語を取り扱い易いワイドキャラクタだけを使って日本語関連のア
プリケーションプログラムを作成することが可能です。
(2)KC_PARSE の変更
KC_PARSE によってアプリケーションプログラム独自にカスタマイズを設定
することが可能でしたが、カスタマイズファイルの形式の変更に伴い
KC_PARSE で与える文字列も変更になります。
(3)IROHA_ から CANNA_ へ
モードや機能、キーなどを表すマクロ名としてIROHA_××××がありました
が、このマクロ名がCANNA_××××に変更されました。
ただし、コンパイル時に -DIROHA_BC を指定することにより旧マクロ名を使っ
ていてもコンパイルが可能です。
(4)モード番号、機能番号
モード番号(CANNA_MODE_××××)、機能番号(CANNA_FN_××××)の番号が
一部入れ替わりました。これらの番号をマクロ名でのみ扱っている場合には
問題ありませんが、直接番号をプログラムに記述している場合には修正が必
要です。
(5)libiroha から libcanna へ
かな漢字変換を行うアプリケーションプログラムがリンクするライブラリが
libiroha から libcanna に変更になりました。
11.6 コマンドの変更
(1)コマンドの追加
かな漢字変換辞書やローマ字かな変換テーブルの新形式に対応するためのユー
ティリティツールを始めとしていくつかのコマンドが追加されました。
追加コマンド 概要
------------+------------------------------------------------------
canvert カスタマイズファイル、かな漢字変換辞書等の形式の変換
addwords 一括単語登録
delwords 一括単語削除