1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
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.
|