# $Id: README.SKG,v 1.2 2000/10/23 17:06:50 amura Exp $
<<< ****  SKG version 4.2  **** >>>

Ng 用簡易漢字変換(SKG)の解説

  Emacs-lisp上の日本語入力システムSKK *1に準拠した漢字辞書を使用した漢
 字変換機能です。

  漢字変換は、単文節変換です。つまり、変換は頭から行い、残りをひらがな
 として扱う、というタイプです。口語体に対して強く パソコン通信などで書
 き込みを行うのがメイン目的となる場合には妥当だと思い、採用しました。
 これでも充二分に働くと思っています。


* 作成の動機 :

   誰もが指摘するように、Amiga *2ではまだ日本語を安定して扱うことがで
  きません。ミックジャパン *3によってAmigaにバンドルされているANS *4
  も不安定で、とても実用には耐えられません(A4000/040では暴走するし...
  ^^;)。
   しかし、暴走するのは入力時で、漢字表示に関しては 全くと言っていいほ
  ど問題ありません。「ならば、ちゃんと意味ある漢字のコ―ドの文字列を生
  成することさえできればAmigaでも日本語の入力ができる!」というわけで、
  このSKGができました。
   あと、三好新二さんが「SKKのような軽い漢字変換が...」*5 という言葉に
  インスパイアされ、SKKのフォ―マットに準拠した漢字変換を採用しました。
   このSKGを組み込んだNgさえあれば、ANS環境上で、ちょっとしない書き込み
  を(^^;)オフラインでやることができるようになります。ANSと両立すること
  ができるAKシリ―ズ *6 などを用いてください。但し、私自身Amigaで通信し
  たことがないので、実際に試したことはありません。
   また、Amigaでなくとも、漢字の表示は出来るが入力が出来ない環境(英語版
  のWindowsに日本語フォントのみいれてあるとか、仮名漢字変換サーバーが動
  いていないUNIXで使うとか)では役立つかも知れません。


* 使用方法:

   まず、適当なディレクトリに、辞書ファイルとなるSKG-JISYOと ロ―マ字変
  換ファイルとなるSKG-ROMANを置いてください。
  そして、Ng 初期化ファイル(.ng、ng.ini、もしくはS:Ng-Startup)に 以下の
  ように記述してください。(ちなみに Work:tools/KGDOC は SKG-ROMAN と
  SKG-JISYOを置いたディレクトリ名です。)

       (set-skg-roman-dictionary "Work:tools/KGDOC/SKG-ROMAN")
       (set-skg-kanji-dictionary "Work:tools/KGDOC/SKG-JISYO")

   SKGによる漢字変換モ―ドへは、
     
       ESC C-k    ( あるいは M-x skg-input )

  で入ることができます。漢字変換モ―ドになると、

       Skg[あ]:_

  というプロンプトがミニバッファ行にでます。あとはロ―マ字で入力していけ
  ば、自動的にひらがなに変換してくれます。大文字で入力するとカタカナにな
  ります。C-\を打つと、プロンプトが、

       Skg[*a]:_

  にかわり、ANK文字入力モ―ドになります。(注意:"."→"。"といった記号の変
  換はこのANK文字入力モ―ドでやってください)
   SKGを終了するときは、何も入力していない状態で RET か、C-gを押してくだ
  さい。入力文字列が存在する状態で C-gを押すと、入力された文字列がクリア
  されます。また、[←]-KeyがBackSpaceとなっています。

       Skg[あ]:かんじで_

   読みが入力できたら、SPCを打ってください。そうすれば、漢字変換してくれ
  ます。(何も入力していない状態でSPCを打つと半角空白がテキストにInsertさ
  れます) RETを打つと、漢字変換せず、そのままバッファの内容を テキストに
  Insertします。

       Skg[--]?|漢字|で

  ||でくくられた部分が漢字変換されたところです。あとは SPCと C-pで候補を
 選択することができます。(注意:現在の仕様では候補選択方向を逆にする場合、
 キ―を2度押さないといけない)。選びたい文字列が見つかったらRETを押してく
 ださい。SKGでは、変換長を変更することはできないので(最長探索)、変換長を
 変えたいときは C-g を押して、ひらがな入力モードに戻り、入力文字列を再編
 集してください *7。


* システムの説明:

  SKKの漢字辞書フォ―マットで書いてあれば、SKGの辞書として使用できます。
 ア―カイブに入っている辞書は、SKKのミドル版漢字辞書(SKK-JISYO.M)に若干
 エントリを加えたものです。自分がよく使用する単語を辞書に登録することも
 できます。辞書フォ―マットは、

     ：   
   読み /漢字候補1/漢字候補2/.../.../漢字候補n/ 
     ：   

 という構造になっております。好きなようにエントリを加えてください。辞書
 ファイル内の順番は、SKKの準拠してください *8。(読みのあとの空白文字を
 忘れないこと)
  SKG-ROMANにロ―マ字仮名変換ル―ルが記述されています。これも自由に記述
 することができます。自分のキ―タッチに合わせたル―ルに変更することがで
 きます。
  辞書ファイルの漢字コ―ドはEUCを用いています(というより、EUCでないとダ
 メ^^;)です)

  あと、Amiga上で書いたテキストを他のマシンに持っていく場合は、改行コ―
 ドに注意してください。Amiga上で改行は0x0a(=LF)コ―ドのみです。0x0d(=CR)
 が必要なマシンがありますので、必要な変換をほどこしてください。


* 今後の展開:

  漢字の表示はANSにまかせているのですが、このフォントが実に見にくいので
 す。選択した漢字を確認するのに、かなり高いパタ―ン認識力が必要です(^^;)。
 とりあえず K14.fontを使用したほうがマシのようです(^^;)。いずれにしろ、
 もっとクリアな日本語表示システムが登場することが待たれるでしょう。

 それでは、このNgがAmigaのフィ―ルドをさらに拡げることを願っています。

 ---------------------------------------------------------------------
 Usage: 

  ESC C-k skg-input  SKGの起動。

  (入力モード)
   SPC     変換(辞書検索開始.候補選択モードへ)
   RET     無変換(入力バッファの内容をそのままテキストにインサート)
   C-l     現在のテキスト上でのカーソルの位置を表示。
   C-g     SKGの終了。(入力バッファに文字列がある場合、クリアする)
   BS(←)  バックスペース
   C-\     ANK/ひらがな入力モード切替

  (候補選択モード)
   RET     現在、表示されている候補をインサート。
   SPC     次候補
   C-n     次候補(SPCと同じ)
   C-p     前候補
   C-g     入力モードへ戻る。
 ---------------------------------------------------------------------

 ***** History (ここでの Version は Kg の物です)

 Version 2.x からの変更点: 
    ・SKG-ROMANを若干手直し. 記号の入力を追加など. 
    ・辞書検索の高速化。１文字めの内容をみて、そのエントリを読み飛ば
      すかどうか判断するルーティンを追加。これで15%ほど改善。また、
      Kg2.xでは辞書ファイルをいちいち全部スキャンしていたのを、必要
      なエントリを見つけたら、スキャンをうち切るようにした。これで、
      平均辞書探索速度がかなり改善。
    ・おかしなコントロール文字を入力した場合にUSAGEがでるようにした。

 Version 3.2 からの変更点:
    ・辞書検索のスピードアップ。
        130KB(SKG-JISYO.M)の辞書で最悪(体感)３秒以内で検索を終了する
       ようにファイルアクセス・ルーチンを改善。
    ・現在のカーソルポジションの表示機能の追加。
       カーソルがSkgのプロンプトに取られてしまい、日本語のテキストを
      挿入する場所が分からなかったので、Ctrl-Lで現在のテキストのカー
      ソル・ポイントをいったん表示するコマンドを加えた。
    ・候補選択の改善。
        Ctrl-P, Ctrl-Nによる漢字候補選択方法を改善。
    ・SKG入力モードにおけるCtrl-Gの使用を変更。
       プロンプトに 文字列が存在する場合、Ctrl-Gで文字列をクリアする
      使用に変更。またクリアされた状態でもう一度Ctrl-Gを押すとQuitす
      るようにした。 
 Version 4.1 からの変更点:
    ・SKG入力モードで、Ngの編集コマンドが使えるようした。
____
*1 Skkは、佐藤 雅彦 (東北大学電気通信研究所)らのグループが開発した
   Nemacs/mule のために高速で効率的な日本語入力環境を提供するシステム
   で、Gnu General Public Licenseに従ったfree softwareとして配布されて
   います。

*2 今は亡きCommodoreの販売していたMotorola 680x0を使用したパソコンです。
   Commodreが倒産した後、ESCOM->Gatewayと渡り歩き、今はAMIGA,Incが販売
   しています。

*3 Commodoreの正規代理店でした。Commodoreが倒産した余波で倒産しちゃいま
   した。

*4 ミックジャパンが開発した、Amiga で日本語を扱えるようにするソフトで
   す。今は入手できません。かわりにJKFFとか大語界とかを使いましょう。

*5 どうやら、三好新二さんが話していたSKKと僕が採用したSKKとは別ものだっ
   たみたいです(^^;)。

*6 推奨環境は、ANSを動かし、通信ソフトはAK-Termを、Ngで書いた文章をNTV
   で確認といったところでしょうか。
   (でも、僕(小西さん)はAmigaで通信してないので動作確認してません ^^;)

*7 SKGでは、バッファサイズが許すかぎり、候補をバッファリングします。つ
   まり、'あいさつ'を変換すると、"挨拶","愛さつ","哀さつ","相さつ",...,
   "合いさつ"といった感じで、最長候補の長さに合わせ、ひらがなをつめてく
   れます。

*8 SKKの辞書内のエントリは、完全にソートされてなくてはいけません。

                                                       --------------
このドキュメントは 小西宏和氏の Kg 4.2.1 の Readme.doc を元に作成しま
した。

