/* 
 * Copyright 1998 by Sun Microsystems, Inc.,
 * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information
 * of Sun Microsystems, Inc. ("Confidential Information").  You
 * shall not disclose such Confidential Information and shall use
 * it only in accordance with the terms of the license agreement
 * you entered into with Sun.
 */

Please refer 

	doc/SPI/Language_Engine_Interface.html

for detail of Language Engine Interface

INSTALLATION 
------------

  Solaris
	After completion of buld for all compoments, make SUNWiiimd
	pkg for Solaris platform. 

	% cd pkgs
	% gnumake
	   will generate SUNWiiimu and SUNWiiimr pkgs
	% gnumake SUNWiiimd
	   will generate SUNWiiimd pkg

	Add these pkgs by pkgadd. htt_server can be started by

	% /usr/lib/im/htt_server -if sampleja &
	% /usr/lib/im/htt_xbe -if sampleja &

	But, please check the following files are installed before
	you run htt_server.

	sampleja.so: leif module

		/usr/lib/im/leif/sampleja.so

	sample_obj.jar: Java Aux

		/usr/lib/im/locale/ja/sampleja/sample_obj.jar

	aux.so: X Aux

		/usr/lib/im/locale/ja/sampleja/aux.so

	aux_ext: X Aux

		/usr/lib/im/locale/ja/sampleja/aux.so

  Windows

	sampleja.dll: leif module

		d:\winnt\system32\iiimf\sampleja.dll

	sample_obj.jar: Java Aux

		d:\sample_obj.jar

OPERATIONS
----------

sampleja LE module is now supporting simple preedit
drawing, status drawing and lookup choice operation.

Basic
	CTRL+SPACE		conversion on/off

Preedit (Preedit is drawn with Underline attribute)

	BACKSPACE		Remove one character of current preedit
	SPACE			Reverse current Preedit
	SPACE			Convert (when reversed preedit exists)
	SPACE			popup LUC (when conversion is performed once)

	CONVERT (Henkan Key)	Reverse current Preedit

	LEFT,CTRL+K		Shrink Reversed Preedit

	RIGHT,CTRL+L		Expand Reversed Preedit

	DOWN,CTRL+N		Commit Reversed Preedit then draw Preedit
				(if no Reversed Preedit, whole preedit
				 will be committed)

	CTRL+LEFT		move caret to left
				   using iml_make_preedit_caret_inst()
	CTRL+RIGHT		move caret to right
				   using iml_make_preedit_caret_inst()

	CTRL+I			to Katakana
	CTRL+U			to Hiragana

Commit
	ENTER			Commit whole Preedit
				  using iml_make_commit_inst()

Lookup Choice (invoked by SPACE)
    When Lookup Choice is invoked by SPACE key, the lookup is
    managed by the Language Engine, which means the LE uses IMIsOwner
    for Lookup Choice start.

	SPACE			popup LUC (when Reversed preedit exists)

	CTRL+P			jump to next LUC page (when LUC exists)
	CTRL+N			jump to prev LUC page (when LUC exists)

	SPACE			focus to next candidate
	LUC Label Key		commit a candidate

Special for Debug
	CTRL+J			replace 4 characters from position 0
				with 2 characters
				  using iml_make_preedit_draw_with_chgpos_inst()

HOW AUX WORKS
-------------
sampleja has two AUX GUIs, Panel and Dictool.

   Panel:   classname=com.sun.iiim.sample.sampleja.SamplePanel
   Dictool: classname=com.sun.iiim.sample.sampleja.SampleAux

The following shows how AUX and sampleja communicate. The source codes
for Java AUX exists under,

    src/client/jdk12_iiimf_adapter/sample_classes/com/sun/iiim/sample/sampleja

Also for X Aux examples exist under

    src/server/programs/language_engines/sampleja/xaux

    However, the example is just reference, will not act same with
    Java AUX.

Please make sure the object files are installed into proper
location on your system.

 Conversion ON/OFF
 -----------------

 Action		Data			From	 TO		AUX
 ------		----			----	 --		---
 Conversion ON	count_integer_values=1	sampleja SamplePanel	Show AUX
 (Ctrl+SPACE)	integer_values[0]=2
		count_string_values=0
		string_values=null

 Conversion OFF	count_integer_values=1	sampleja SamplePanel	Hide AUX
 (Ctrl+SPACE)	integer_values[0]=3
		count_string_values=0
		string_values=null

 Dic tool
 --------

 Action		Data			From	    TO		sampleja
 ------		----			----	    --		--------
 Click on DicBtn count_integer_values=1	SamplePanel sampleja	aux_start
		integer_values[0]=1				for SampleAux
		count_string_values=1
		string_values[0]="DICT"

 Add word on Dic tool
 --------------------
 Click on AddBtn count_integer_values=0	SampleAux sampleja	Add words
		integer_values=null				"FROM" and "TO"
		count_string_values=2				to dictionary
		string_values[0]="FROM"
		string_values[1]="TO"

		"FROM" and "TO" are from
		text fields on SampleAux

For Developer:

	If DONOTSTART_AUX_AT_SC_REALIZE environment variable is set,
	AUX will not be started at the first session is created.

	After turning the conversion on, the following key starts AUX
	and sends the AUX data.

	Ctrl+Q		aux_start()

	Conversion ON
	Ctrl+SPACE	aux_draw()	int[0]=2

	Conversion OFF
	Ctrl+SPACE	aux_draw()	int[0]=3

	Ctrl+E
			aux_draw()	int[0]=1
					string[0]="Japanese"

	It is useful for debugging.
