布目のマニュアル
起動
コマンド・ラインからは、
nnmime
で起動します。
(注意)式神ウィンドウ・マネージャ以外では、オプション+popupを指定します。
指定しない場合は、nnmimeのウィンドウは表示されません。
nnmime +popup
布目は、フロントエンド・プログラムnnmimeと、認識エンジン
nnmsrvの二つのプログラムで構成されます。nnmsrvは、nnmimeから起動され
nnmimeが終了すると終了します。nnmimeを起動する場合には、nnmsrvが起動で
きるようにPATHに入っている必要があります。
布目をつかっての入力
布目は、XIMを利用してアプリケーションに日本語を渡しています。
布目をつかって日本語を入力するためには、Xのアプリケーションに対しXIMを
使って布目と通信するように指示する必要があります。そのためには、環境変
数XMODIFIERSの値を@im=_NUNOMEに指定して、nnmime起動後にアプリケーショ
ンを起動する必要があります。
 cshの場合は、
setenv XMODIFIERS="@im=_NUNOME"
shの場合は、
XMODIFIERS="@im=_NUNOME"
export XMODIFIERS
となります。.cshrcなどであらかじめ指定しておくと良いでしょう。
また、アテナ・ウィジェットを使ったアプリケーションでは、Xのリソースに
*inputMethod: @im=_NUNOME
を加える必要があります。
さらに、ktermの場合は引数に
-xim
を指定して起動する必要があります。
 キーボード入力モードを使う
キーボード入力モードでは、認識後の文字と異なり、XのKeyPressイベントを
シミュレーションすることにより、文字をアプリケーションに渡しています。
そのために、以下のような制限があります。
-  キーフォーカスを完全にカーソルの位置に任せるようなウィンドウ・マネー
ジャ(twmなど)では、利用できない。
 -  ウィンドウ・マネージャがキーフォーカスを設定する場合でも、
アテナ・ウィジェットのように、ウィンドウ内のキーフォーカスをカーソルの
現在位置に任せる場合は、利用できない場合がある。利用できるかできないか
は、アプリケーションによる。
 -  xtermやktermでは、SendEventを許可する必要がある。SendEventを許可
するには、"Main Option"メニューを開いて"Allow SendEvents"を選択する。
 
アプリケーションにキーコードを渡すもうひとつの手段としては、XのXTest拡
張のXTestFakeKeyEventを使う方法があります。この方法では、上のような制
限はなくなりますが、XサーバがXTest拡張をサポートしている必要があります。
コンパイル時に、libXtstを見つけると、XTestFakeKeyEventを使うことができ
るようになります。このようにしてコンパイルしたnnmimeは、実行時に、Xサー
バがXTest拡張をサポートしていることが分かれば、XSendEventの代わりに
XTestFakeKeyEventを使います。
 学習機能 
布目は、ユーザ毎の文字の癖を学習する機能を持ちます。
そのため、ユーザのホーム・ディレクトリの下にnnmuser.dicという名前でユー
ザ辞書を作成します。
この辞書に、第1候補にならなかった文字種の入力特徴量を自動的に登録し
ます。また、登録ボタンからツールを使って登録した文字もこの辞書に登録され
ます。認識の際には、システムの辞書とユーザ辞書の両方を参照します。
nnmimeの起動時に指定できるオプション
nnmimeを起動するときに指定できるオプションの説明をします。
- +popup
 - 起動時にポップアップします。このオプションが指定されない場合、起動
時にポップアップするか否かはリソースの値によります。(注意)式神ウィンドウ・マ
ネージャ以外のウィンドウ・マネージャで動作させる場合は、ポップアップを
指定しないと布目のウィンドウは、表示されません。
 - -popup
 - 起動時にポップアップしません。このオプションが指定されない場合、起
動時にポップアップするか否かはリソースの値によります。
 - --write-sample
 - ストロークのデータをファイルに保存します。このオプションが指定されな
い場合、ストロークのデータを保存するか否かはリソースの値によります。
 -  -dictionary 認識辞書ファイル名
 
 -  文字認識辞書ファイルの名前を指定します。このオプションが指定され
 ない場合、辞書ファイルの名前は、リソースの値によります。
 -  -nolearn
 
 -  学習機能を使わない。このオプションが指定され
 ない場合、学習機能を使うかどうかは、リソースの値によります。
 
布目で使用されているリソース
布目で使用している各リソースについての説明をします。
- これらは布目の機能に関するリソースです。
- *Nunome.jserver
 - jserverのホストを指定する。デフォルトの値はlocalhost
 - *Nunome.wnnenvrc
 - wnnenvrcの場所を指定する。デフォルトの値は/usr/local/wnn/ja_JP/wnnenvrc
 - *Nunome.popup
 - 起動時に布目をポップアップするか指定します。
  (注意)式神ウィンドウ・マネージャ以外では、trueにしないと布目のウィンドウが
  表示されません。
 - *Nunome.writeSample
 - ストロークデータを残すかどうかを指定します。
 - *Nunome.dictionary
  
 - 文字認識辞書のファイルを指定します。デフォルトの値は、
  /usr/local/share/nunome/nunome.dicです。
 - *Nunome.nolearn
  
 - trueにすると学習機能を使わない。デフォルトの値は、falseで、学習
  機能が働きます。
 
 - 以下のリソースは布目の外観に関するリソースです。
- *nnmtop
 - これは布目のトップシェルウィジェットのリソースで、布目のウィンドウのサイズを指定しています。
 
 - 
次に、布目の各モードのリソースについて説明します。
- 手書き文字入力モード
手書き文字入力モードは各ボタンが配置されているcommandform、手書きフィールドのcanvasform、認識文字フィールドのresutformの3つのフォームから構成されています。また、認識候補を表示するポップアップウィンドウと漢字変換の候補を表示するポップアップウィンドウの中にはそれぞれcandform、kouhoformの2つのフォームがあります。ここではそれらについて説明します。
- *commandform
 - commandform内には下記の9つのコマンドウィジェットがあります。(注意)リソースによりこれらのウィジェットの配置を変更することが可能ですが、指定されたリソースの値によっては正常に表示されないことがあります。
- *commandform.conv
- *commandform.recog
- *commandform.esc
- *commandform.cr
- *commandform.ent
- *commandform.spc
- *commandform.bs
- *commandform.reg
- *commandform.kbd
- *commandform.kigou
           - *canvasform
 - resultform内にはシンプルウィジェットのみで構成されます。
 - *resultform
 - resultform内にはコマンドウィジェットのみで構成されます。
 - *candform
 - candformは下記の2つのコマンドウィジェットと候補を表示するコマンドウィジェットで構成されます。下記の2つを除く、ウィジェットには*canform.Commandでリソースを指定します。
- *candform.prev
- *candform.next
   - *kouhoform
 - kouhoformは下記の2つのコマンドウィジェットと候補を表示するコマンドウィジェットで構成されます。下記の2つを除く、ウィジェットには*kouhoform.Commandでリソースを指定します。
- *kouhoform.prev
- *kouhoform.next
   
 - キーボード入力モード
キーボード入力モードはkbdformという1つのフォームで構成されています。kbdform内には1つのリストウィジェットと2つのトグルウィジェットと5つのコマンドウィジェットがあります。
- *kbdform.keyboard
 - これはキーを表示しているリストウィジェットです。
 - *kbdform.shift
- *kbdform.ctrl
- *kbdform.caps
   - これらのトグルウィジェットはSHT,CTRL,CAPSボタンのリソースです。
 - *kbdform.cr
- *kbdform.bs
- *kbdform.del
- *kbdform.esc
- *kbdform.return
     - 上記5つはコマンドウィジェットです。リソースによりこれらのウィジェットの配置を変更することが可能ですが、指定されたリソースの値によっては正常に表示されないことがあります。
 
 - 
記号入力モード
記号入力モードはkigouformという1つのフォームで構成されます。kigouform内には1つのリストウィジェットと4つのコマンドウィジェッがあります。
- *kigouform.list
 - これは記号を表示しているリストウィジェットです。
 - *kigouform.code
- *kigouform.prev
- *kigouform.next
- *kigouform.return
    - 上記3つはコマンドウィジェットです。リソースによりこれらのウィジェットの配置を変更することが可能ですが、指定されたリソースの値によっては正常に表示されないことがあります。
 
記号入力モードでは、jisformというJISコード入力用のフォームも表示されま
す。
- *jisform.label
 - これはJISコードを表示しているラベルウィジェットです。
 - *jisform.0〜*jisform.F
 - これはJISコードを入力するための16進数ボタンです。
 - *jisform.bs
- *jisform.close
  - 上記2つはコマンドウィジェットです。リソースによりこれらのウィジェットの配置を変更することが可能ですが、指定されたリソースの値によっては正常に表示されないことがあります。