** kinput2 で使われる widget の主なリソース **

ここでは kinput2 で使われている widget の主なリソースについて紹介します。た
だしユーザがリソースファイルで指定できない / 指定しても意味がないものについ
ては省略しました。リソースファイルを書く時にはオンラインマニュアルに記載され
ている widget ツリーも参考にして下さい。

なお、ここに記述されているデフォルト値は widget のデフォルトです。アプリケー
ションリソースファイル Kinput によって変更されているものもあるので注意して下
さい。


* CcWnn
変換オブジェクト CcWnn のリソースには次のようなものがあります。

+ jserver (クラス Jserver)
	プライマリ変換サーバ (jserver) のホスト名を指定します。このリソース
	が指定されていなければ環境変数 JSERVER の値が用いられます。

+ jserver2nd (クラス Jserver)
	セカンダリ変換サーバのホスト名を指定します。セカンダリサーバはプライ
	マリサーバと接続できなかった時、および変換の途中でプライマリサーバが
	死んでしまった時に使われます。このリソースが指定されていなければセカ
	ンダリサーバは使われません。

+ wnnEnvname (クラス WnnEnvname)
	変換に使用する環境名を指定します。デフォルトではユーザ名を環境名とし
	て使用しますので特に指定する必要はありませんが、みんなで一つの環境を
	共有したりしたい時に使えます。

+ wnnEnvrc (クラス WnnEnvrc)
	変換環境設定ファイルを指定します。デフォルトでは環境変数 WNNENVRC が
	設定されていればそれを使い、そうでなければデフォルト (Wnn のコンフイ
	ギュレーションによって異なりますが普通は /usr/local/lib/wnn/wnnenvrc)
	が使われます。

+ wnnOverrideEnv (クラス WnnOverrideEnv)
	サーバに同じ名前の環境があった時に初期化の処理を行なうかどうかを指定
	するためのリソースです。true であれば初期化の処理を必ず行ないます。
	false なら行ないません。デフォルトは false です。

+ ccdef (クラス Ccdef)
	入力文字変換ルール定義ファイルを指定します。このリソースが指定されな
	かった場合にはまず環境変数 CC_DEF が設定されていればそれが使われます。
	なければ ccdef.kinput が使用されます。このファイルのサーチパスは環境
	変数 CC_DEF_PATH で指定することができます。ただしリソースではサーチ
	パスを指定することはできません。

+ saveInterval (クラス SaveInterval)
	辞書と頻度ファイルをセーブするタイミングを指定します。セーブはオブジェ
	クトが Destroy されるときに行なわれますが、このリソースにより、変換
	の途中でもセーブされるようになります。セーブは確定の時に行なわれ、こ
	のリソースで指定した回数ごとに一回セーブされます。例えば100を指定す
	ると100回確定するごとに一回辞書・頻度のセーブが行なわれます。このリ
	ソースに 0 を指定すると確定時のセーブは行なわれません。デフォルトは 
	0 です。


* Iroha
変換オブジェクトである Iroha のリソースには次のようなものがあります。

+ irohahost (クラス Irohahost)
	変換サーバ (irohaserver) のホスト名を指定します。

+ irohafile (クラス Irohafile)
	かんなの変換設定ファイルを指定します。


* Sj3
変換オブジェクト Sj3 のリソースには次のようなものがあります。

+ sj3serv (クラス Sj3serv)
	プライマリ変換サーバ (sj3serv) のホスト名を指定します。このリソース
	が指定されていなければ環境変数 Sj3SERV の値が用いられます。
	環境変数 Sj3SERV も指定されていなければ localhost になります。

+ sj3serv2 (クラス Sj3serv2)
	セカンダリ変換サーバのホスト名を指定します。セカンダリサーバは起動時
	や再接続時にプライマリサーバと接続できなかった時に使われます。この
	リソースが指定されていなければ環境変数 Sj3SERV2 の値が用いられます。
	環境変数 Sj3SERV も指定されていなければ localhost になります。

+ sj3user (クラス Sj3user)
	起動時や再接続時に変換サーバと接続時する際にオープンするユーザ辞書の
	名前を指定します。このリソースが指定されていなければ kinput2 を起動
	したユーザ名のユーザ辞書をオープンします。

+ rcfile (クラス Rcfile)
	変換に使用するパラメータやキーバインドの設定ファイルを指定します。この
	リソースが指定されていなければ環境変数 SJRC の値が用いられます。環境
	変数の設定もなければ kinput2 を起動したユーザのホームディレクトリにあ
	る .sjrc というファイル、/usr/lib/X11/sj3def/sjrc の順でサーチします。

+ rkfile (クラス Rkfile)
	ローマ字かな変換の変換テーブルの設定ファイルを指定します。このリソース
	が指定されていなければ環境変数 SJRK の値が用いられます。環境変数の設定
	もなければ kinput2 を起動したユーザのホームディレクトリにある .sjrk
	というファイル、/usr/lib/X11/sj3def/sjrk の順でサーチします。

+ hkfile (クラス Hkfile)
	ひらがな⇔カタカナの変換の変換テーブルの設定ファイルを指定します。この
	リソースが指定されていなければ環境変数 SJHK の値が用いられます。環境変
	数の設定もなければ kinput2 を起動したユーザのホームディレクトリにある
	.sjhk というファイル、/usr/lib/X11/sj3def/sjhk の順でサーチします。

+ hkfile (クラス Hkfile)
	全角文字⇔半角文字の変換の変換テーブルの設定ファイルを指定します。この
	リソースが指定されていなければ環境変数 SJZH の値が用いられます。環境変
	数の設定もなければ kinput2 を起動したユーザのホームディレクトリにある
	.sjzh というファイル、/usr/lib/X11/sj3def/sjzh の順でサーチします。

+ sbfile (クラス Sbfile)
	記号入力時に表示する文字コード一覧の設定ファイルを指定します。このリ
	ソースが指定されていなければ環境変数 SJSB の値が用いられます。環境変数
	の設定もなければ kinput2 を起動したユーザのホームディレクトリにある
	.sjsb というファイル、/usr/lib/X11/sj3def/sjsb の順でサーチします。


* ConvDisplay
描画オブジェクト WcharDisplay のスーパークラスである ConvDisplay のリソース
には次のようなものがあります。

+ cursorBitmap (クラス CursorBitmap)
	インサートカーソルの形状をビットマップで指定します。リソースにはビッ
	トマップファイル名を指定します。

+ hotX, hotY (クラス HotX, HotY)
	cursorBitmap で指定したインサートカーソルのホットスポットを指定しま
	す。カーソルはホットスポットがベースライン上次の文字を書き始める点と
	一致するように描かれます。


* WcharDisplay
描画オブジェクト jpWcharDisplay のスーパークラスである WcharDisplay のリソー
スはすべてサブクラスによってオーバーライドされますのでここでは説明しません。


* jpWcharDisplay
描画オブジェクト jpWcharDisplay のリソースには次のようなものがあります。

+ font (クラス Font)
	デフォルトのアスキーフォントを指定します。入力スタイルによってはクラ
	イアントによるフォントの指定が使われるので必ずしもこのリソースで指定
	したフォントが使われるとは限りません。
	デフォルトは "-Misc-Fixed-Medium-R-*--14-*-*-*-C-*-ISO8859-1" です。

+ kanjiFont (クラス KanjiFont)
	デフォルトの漢字フォントを指定します。font と同じく、入力スタイルに
	よってはクライアントによるフォントの指定が使われるので必ずしもこのリ
	ソースで指定したフォントが使われるとは限りません。
	デフォルトは "-Misc-Fixed-Medium-R-*--14-*-*-*-C-*-JISX0208.1983-0"
	です。

+ kanaFont (クラス KanaFont)
	デフォルトの半角かなフォントを指定します。font と同じく、入力スタイ
	ルによってはクライアントによるフォントの指定が使われるので必ずしもこ
	のリソースで指定したフォントが使われるとは限りません。
	このリソースで指定するフォントのキャラクタセットは "JISX0201.1976-0"
	でなければなりません。
	デフォルトは "-Misc-Fixed-Medium-R-*--14-*-*-*-C-*-JISX0201.1976-0"
	です。

+ fontMapping (クラス FontMapping)
	文字列を書く時に、font, kanjiFont, kanaFont で指定したフォントの GL
	(左半分 MSB が落ちている領域) GR (右半分 MSB が立っている領域) のど
	ちらを使用するかを指定します。指定方法は

		*fontMapping: GL,GL,GR

	のように書きます。デフォルトは GL,GL,GR ですが、kanjiFont に EUC エン
	コーディングのフォント (例えば *-JISX0208.1983-1) を指定した場合には

		*fontMapping: GL,GR,GR

	にして下さい。


* KinputProtocol
kinput ファミリープロトコル用のプロトコルドライバ KinputProtocol のリソース
には次のようなものがあります。

+ backwardCompatible (クラス BackwardCompatible)
	kinput プロトコルでは変換のサービスを行なうことを示すのにアトムを使
	います。このリソースを true にすると、このアトムとして、正式に登録さ
	れた"_JAPANESE_CONVERSION" (日本語の場合) だけではなく、kinput が使
	用していた "JAPANESE_CONVERSION" も同時に使えるようにします。kinput 
	を用いて日本語入力を行なっていたアプリケーションには
	"JAPANESE_CONVERSIN" を用いているものが多いのでそのようなアプリケー
	ションを使用する可能性がある場合にはこのリソースを true にしておいた
	方がよいでしょう。デフォルトは false になっています。
	
+ xlcConversionStartKey (クラス XlcConversionStartKey)
	xlc プロトコルでは変換開始に使われるキーをフロントエンドからア
	プリケーションに教えることができます。このリソースにはこのキー
	を記述します。リソースはツールキットのトランスレーションマネー
	ジャの記述風に、次のように指定します。

		*xlcConversionStartKey:	Shift<Key>Kanji

	"<Key>" の前に書けるのはモディファイアで、これは次の 10 個ある
	うちのいくつかを組合せたものです。
		Shift, Lock, Ctrl, Meta, Alt, Mod1, Mod2, Mod3, Mod4, Mod5
	Meta, Alt, Mod1 は同じ意味になります。
	"<Key>" の後に書かれるのは Keysym 名です。


* XimpProtocol
XIMP プロトコル用のプロトコルドライバ XimpProtocol のリソースには次のような
ものがあります。

+ forceDefaultServer (クラス ForceDefaultServer)
	XIMP プロトコルでは変換サービスの宣言として一つのディスプレイにただ
	一つ存在するセレクションとスクリーン・フロントエンドごとに存在するセ
	レクションの2種類を使用します。このリソースが False だとkinput2 が起
	動した時に前者のセレクションがすでに存在していれば後者のセレクション
	のみを使用します。True ならすでに存在しているかどうかに関わらず両方
	のセレクションを使用して変換サービスの開始を宣言します。

+ conversionStartKeys (クラス ConversionStartKeys)
	XIMP プロトコルには、クライアントに対して変換の開始および終了に使用
	するキーを教える機能があります。このリソースはそのキーを指定するため
	のものです。ただし普通は指定されたキーは変換終了には使用されません。
	変換終了のキーは各変換オブジェクトで指定するキーが使われます。
	リソースはツールキットのトランスレーションマネージャの記述風に、次の
	ように指定します。

		*conversionStartKeys: \
			Shift<Key>Kanji		\n\
			Ctrl ~Shift<Key>F1

	このように複数のキーをキーは改行コードで区切ることで指定できます。
	各キーの記述方法は xlcConversionStartKey とほぼ同じですが、モディファ
	イアの前に '~' をつけることで、そのモディファイアを押してはならない
	ことを示すことができます。

+ defaultFontList (クラス FontList)
	XIMP に従うクライアントが、変換に使用するフォントを指定しなかった時
	に使われるフォントです。本来、クライアントが指定しなかった場合には描
	画オブジェクトのデフォルトフォントが使われますが、XIMP には、デフォ
	ルトのリソース値をクライアントに教える機能があり、それは描画オブジェ
	クトからは知ることができないのでちょっと変ですがこの widget のリソー
	スとして指定するようにしました。
	指定は R5 の FontSet の記述方法と同じです。


* CandidatePanel
候補一覧選択に用いられる CandidatePanel のリソースには次のようなものがありま
す。

+ horizontalSpacing (クラス Spacing)
	左右の候補間のスペースをピクセル単位で指定します。デフォルトは 6 
	です。

+ verticalSpacing  (クラス Spacing)
	上下の候補間のスペースをピクセル単位で指定します。デフォルトは 4 で
	す。

+ defaultWidth (クラス DefaultWidth)
	パネルの大きさは候補数に応じて変化しますが、特に幅の指定がない時に
	デフォルトで使われる幅を指定します。デフォルトは 400 です。


* ConversionControl
OverTheSpotConversion/OffTheSpotConversion/SeparateConversion 共通のスーパー
クラスである ConversionControl のリソースには次のようなものがあります。

+ sendbackKeyPress (クラス SendbackEvent)
	kinput2 は変換中、クライアントに来たキーイベントをなんらかの方法で横
	取りしています。このリソースが true になっていると、
		1. その横取りしたイベントが KeyPress イベントで、
		2. 変換中のテキストがなく、
		3. そのイベントが kinput2 によって使われなかった時に
	そのイベントをクライアントに送ります。ただしアプリケーションによって
	は他のアプリケーションから送られたイベントを無視するようになっている
	ものもありますので注意して下さい。例えば kterm はリソースで
		*allowSendEvents:	true
	を指定しないとせっかく送ったイベントは無視されます。また、プロトコル
	によってはこの手のイベントを別の方法でクライアントに送るものもあり、
	この場合にはこのリソース指定は意味を持ちません。


* OverTheSpotConversion
その場変換入力を実現する OverTheSpotConversion のリソースには次のようなものが
あります。

+ autoSpotForwarding (クラス AutoSpotForwarding)
	文字列を確定した後、自動的に次のテキストの描画開始点をその文字列の長
	さ分ずらすかどうかを指定します。true ならば自動的にずらし、falseなら
	ばクライアントから描画開始点の変更を通知されない限り前と同じ場所から
	書き始めます。デフォルトは false です。

+ modeLocation (クラス ModeLocation)
	入力モードの表示位置を指定します。クライアントから位置の指定があれば
	それに従いますが、なければこのリソースによって決められます。
		TopLeft:	クライアントウィンドウの左上に表示
		TopRight:	クライアントウィンドウの右上に表示
		BottomLeft:	クライアントウィンドウの左下に表示
		BottomRight:	クライアントウィンドウの右下に表示
		TrackText:	変換中の文字列の直下に表示
	TrackText を指定した場合、入力につれてモードの表示位置も移動します。
	デフォルトは BottomLeft です。

+ shrinkWindow (クラス ShrinkWindow)
	その場変換はクライアントのウィンドウの上に変換文字列の書かれたウィン
	ドウをおくことによって実現されています。当然このウィンドウの下の内容
	は隠れてしまいますから、変換文字列の長さによってこのウィンドウの大き
	さは変化させる必要があります。このリソースが true だと変換文字列の長
	さが縮むとそれに合わせてウィンドウも縮むようになります。false だと
	ウィンドウの大きさは伸びるだけで縮みません。
	どうしてこのリソースが用意されているかというと、Xサーバによってはウィ
	ンドウのリサイズに時間がかかるものがあり、伸びるのはしかたないとして
	も縮むのはやめたいということからです。デフォルトは false になってい
	ますが、Xサーバが特に遅くなければ true にした方がよいと思われます。

+ ignoreStatusAreaSpec (クラス IgnoreStatusAreaSpec)
	クライアントがステータス表示領域を指定した場合、通常はそれにしたがっ
	て入力モードは指定位置に表示されます。しかしこのリソースを true にす
	るとその指定を無視し、常に modeLocation で指定される位置に表示される
	ようになります。


* OffTheSpotConversion
off-the-spot タイプの入力を実現するのが OffTheSpotConversion です。これは同
時に従来の kinput のような、別ウィンドウによる入力を実現する
SeparateConversion のスーパークラスでもあります。OffTheSpotConversion のリソー
スには次のようなものがあります。

+ leftMargin, rightMargin (ともにクラス Margin)
	変換テキストの左右のマージンを指定します。デフォルトはともに 2 です。


* SeparateConversion
別ウィンドウによる入力を実現する SeparateConversion にはユーザが設定できるリ
ソースはありません。


* ICLabel
入力モード表示に用いられる ICLabel のリソースには次のようなものがあります。

+ horizontalSpacing (クラス Spacing)
	表示文字列の左右のスペースをピクセル単位で指定します。デフォルトは 1
	です。

+ verticalSpacing  (クラス Spacing)
	表示文字列の上下のスペースをピクセル単位で指定します。デフォルトは 1 
	です。

+ justify (クラス Justify)
	通常は表示文字列に合わせてラベルの大きさが変化しますが、ラベルの大き
	さが固定だった時に文字列をどの位置に書くかを指定します。
		left:	左よせ
		center:	中央
		right:	右よせ
	上下は常に中央に書かれるようになっており、リソースで変えることはでき
	ません。デフォルトは center です。
