		       IM Server Developers Kit
				    
			    Release Notes

			   Hidetoshi Tajima
				    
		   X11R6 Xi18n Implementation Group
				    
			     May 15, 1995

   Here is an introduction of IMserver Developers Kit, in short IMdkit,
which is distributed with X11R6 contributions.

1.  Scope of IMdkit

   IMdkit has the following six primary features.

1.1.  Providing C language Interface

   IMdkit provides a low level interface to IMProtocol. It binds
each IMProtocol operation to the interface for C language, so that you
will take less efforts to make your IMservers communicable with XIM
clients rather than handling IMProtocol directly. An XIM client is
defined as an application program which is internationalized by using
XIM API defined in X11R6.

1.2.   Encapsulating actual IMProtocol operations

   IMdkit is designed to encapsulate the details of IMProtocol model.
Using this kit, you don't have to deal with the actual byte-stream
packets for yourselves, instead, you can use a set of data structures,
each of which is corresponding to each actual IMProtocols, and you can
deal with them in the same way as you deal with XEvent data structures.

1.3.   Encapsulating Transport mechanism difference

   IMdkit is designed to encapsulate the transport mechanism, such as X
Protocol, TCP/IP, Decnet, which are used in transmission of IMProtocol
packets between Input Method library(IMlibrary, a part of Xlib) and
IMserver.

1.4.  Encapsulating Byte Order difference

   IMdkit is designed to encapsulate the difference in Byte Order
between IMserver and clients, so IMservers using IMdkit can serve both
little endian clients and Big endian clients at the same time, without
taking care of the difference for themselves.

1.5.   Encapsulating multiple IMProtocol models

   IMdkit is designed to be, to some extent, independent of IMProtocol
model. At the current release, it deals with two different IMProtocol
models, Ximp model, one of R5 sample IMProtocol models, and the R6
standard IMProtocol model.

1.6.   Modeled after XIM APIs

   IMdkit is to IMserver Developers what XIM is to I18N application
Developers, so IMdkit is modeled after XIM APIs. For example:

	XIM has XOpenIM and XCloseIM, and IMdkit has IMOpenIM and
	IMCloseIM.

	XIM has a concept of IMValues and provides XSetIMValues and
	XGetIMValues to set and get them, and IMdkit also uses IMValues
	and provides IMSetIMValues and IMGetIMValues to set and get
	them.

2.  Building

	There is one special build instruction. Please use xmkmf with -a
	option, and with the top directory(path to xc) and the path to
	the current directory from the top directory in order to make a
	Makefile, include all the necessary files and check dependency.
	Type:

	xmkmf -a path_to_top(xc)_directory \
		path_from_top(xc)_to_current_directory

	This is because IMdkit refers to some files in xc/lib/xtrans
	directory to support X TransportServer mechinism.

3.  Documents

   For any detailed information, please refer to the documentation in
the doc/ subdirectory.

4.  Testing

The IMdkit has been built and tested with the current X11R6 release
(patchlevel 1) on the following systems:

	FUJITSU DS 7742		UXP/DS V10L20
	IBM RS/6000 320H	AIX 3.2.5
	Sony NWS-5000		NEWS-OS 6.0.2
	SPARCstation		SunOS 4.1
	SPARCstation		Solaris 2.3
	SPARCstation		Solaris 2.4
	HP9000 S700		HP-UX9.01

5.  Bug Reports

If you find a reproducible bug in this software or the documentation,
please send a bug report to the following destination address:

	tajima@Eng.Sun.Com

6.   Acknowledgements

I would like to thank all the members in xi18n sample implementation
group for giving useful comments and suggestions and partcipating in
tests of IMdkit: Takashi Fujiwara, Hideki Hiura, Yoshio Horiuchi,
Makoto Inada, Hiromu Inukai, Hiroyuki Miyamoto, Makoto Wakamatsu,
Masaki Wakao, Nobuyuki Tanaka, Shigeru Yamada and Katsuhisa Yano. And I
would like to make special thanks to Hiromu Inukai, who is the principal
author of the Ximp facilities, and special thanks to Makoto Inada and
Hiroyuki Miyamoto for providing the Frame Manager Interfaces.
