view doc/protocol @ 11:983aff0dcf18

imported patch 14_kinput2-v3.1-beta3-freewnn.diff
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 08 Mar 2010 20:37:40 +0900
parents 92745d501b9a
children
line wrap: on
line source

$Id: protocol,v 1.2 1998/07/21 08:51:24 ishisone Exp $

** kinput2 $B%W%m%H%3%k(B **


*$B$O$8$a$K(B

  kinput2 $B%W%m%H%3%k$O%*%j%8%J%k$N(B kinput $B$,;HMQ$7$F$$$?%W%m%H%3%k(B (kinput 
$B%W%m%H%3%k$H8F$V(B) $B$KBP$7$F>e0L8_49@-$r;}$D!#(B

  kinput $B%W%m%H%3%k$G$OJQ493+;O$N%j%/%(%9%H;~$K%*%W%7%g%s$H$7$F%W%m%Q%F%#(B
$BL>$r;XDj$G$-$k$h$&$K$J$C$F$$$?!#$3$l$O>-Mh$N3HD%$N$?$a$KMQ0U$5$l$?$b$N$G$"(B
$B$j!"%W%m%H%3%k%9%Z%C%/$G$O$3$3$K(B None $B$r;XDj$9$k$h$&$K=q$+$l$F$$$?$,!">-Mh(B
$B$O$3$3$K$"$k%G!<%?$,F~$C$?%W%m%Q%F%#L>$r;XDj$7!"%/%i%$%"%s%H$+$iJQ49%5!<%P(B
$B$KBP$7$FJQ49$NB0@-$J$I$r;XDj$9$k$3$H$rA@$C$?$b$N$G$"$C$?!#(B

  kinput2 $B%W%m%H%3%k$G$O$3$N3HD%%G!<%?$N7A<0$rDj5A$7!"$+$D(B kinput $B%W%m%H%3(B
$B%k$r<BAu$7$?$b$N$H6hJL$,$D$/$h$&!"%W%m%H%3%k%P!<%8%g%s$rDI2C$7$?!#(B

  $B3HD%%G!<%?$K;XDj$9$kJQ49B0@-$O!"$3$3$KDj5A$7$?%9%?%s%@!<%I$J$b$N$K2C$($F!"(B
$B%W%i%$%Y!<%H$J3HD%$,2DG=$J$h$&$K@_7W$5$l$F$$$k!#(B

  $B$5$i$KJQ49ESCf$G$bB0@-$NJQ99$rEA$($i$l$k$h$&$K%W%m%H%3%k$N3HD%$r9T$J$C$?!#(B


* $B35MW(B

  $B$^$:!"4JC1$K%W%m%H%3%k$NFbMF$r@bL@$7$F$*$/$3$H$K$9$k!#(B

  $BJQ49%5!<%P$ON)$A>e$,$k$H!"JQ49%5!<%P$HF1$8%G%#%9%W%l%$$r6&M-$9$kB>$N%/%i(B
$B%$%"%s%H$KBP$7$F!"JQ49%5!<%S%9$rDs6!$9$k$3$H$r@k8@$9$k!#$3$l$K$O%;%l%/%7%g(B
$B%s$N%a%+%K%:%`$r;HMQ$9$k!#$D$^$j!"JQ49%5!<%P$OF~NO8@8lKh$K7h$a$i$l$?$"$k%;(B
$B%l%/%7%g%s$N%*!<%J!<$H$J$k!#0l$D$N%G%#%9%W%l%$$GF1$8%;%l%/%7%g%sL>$KBP$7$F(B
$BJ#?t$N%*!<%J!<$OB8:_$G$-$J$$$?$a!"JQ49%5!<%P$O3F8@8l$K$D$$$F0l$D$:$D$7$+B8(B
$B:_$G$-$J$$!#(B

  $BJQ49%5!<%P$O%;%l%/%7%g%s$N%*!<%J!<$H$J$k$HF1;~$K!"%5%]!<%H$9$kF~NO%9%?%$(B
$B%k$J$I$N>pJs$r%*!<%J!<%&%#%s%I%&$N%W%m%Q%F%#$K3JG<$9$k!#(B

  $B$"$k8@8l$NJQ49%5!<%S%9$r<u$1$?$$%/%i%$%"%s%H$O!"$^$:$=$N8@8l$KBP1~$9$k%;(B
$B%l%/%7%g%s$N%*!<%J!<$rC5$9!#$b$7%*!<%J!<$,8+$D$+$l$P!"$^$:%W%m%Q%F%#$r%A%'%C(B
$B%/$7!"<+J,$N%j%/%(%9%H$7$h$&$H$7$F$$$kF~NO%9%?%$%k$J$I$rJQ49%5!<%P$,%5%]!<(B
$B%H$7$F$$$k$+$r%A%'%C%/$9$k$3$H$,$G$-$k!#$=$N8e!"%*!<%J!<$KBP$7$FJQ49F~NO$r(B
$B%j%/%(%9%H$9$k!#$3$l$O%*!<%J!<$N%&%#%s%I%&$KBP$7$F(B ClientMessage $B%$%Y%s%H(B
$B$rAw$k$3$H$G9T$J$o$l$k!#(B

  $B$3$N%j%/%(%9%H%$%Y%s%H$K$O!"%/%i%$%"%s%H$N4uK>$9$kF~NO%9%?%$%k$d!";HMQ$9(B
$B$k%U%)%s%H$J$I$5$^$6$^$JB0@-$,=q$+$l$?%W%m%Q%F%#L>$,4^$^$l$F$$$k!#JQ49%5!<(B
$B%P$O!"$3$N%$%Y%s%H$r<u$1$H$k$HF1;~$K$=$N%W%m%Q%F%#$NFbMF$rD4$Y$FJQ49$NB0@-(B
$B$r@_Dj$9$k!#JQ49B0@-$K$O<!$N$h$&$J$b$N$,$"$k!#(B

	* $BJQ49%F%-%9%H$NI=<(3+;O0LCV(B
	* $BI=<(%U%)%s%H(B
	* $BI=<(?'(B

  $B$=$N8eJQ49$r%9%?!<%H$5$;!"F1;~$K%/%i%$%"%s%H$KBP$7$FJQ49%5!<%S%9$r;O$a$?(B
$B$3$H$r(B ClientMessage $B%$%Y%s%H$GDLCN$9$k!#(B

  $BJQ49$O$9$Y$FJQ49%5!<%PB&$G9T$J$o$l!"%/%i%$%"%s%H$OJQ497k2L$,JV$C$F$/$k$N(B
$B$rBT$D$@$1$G$"$k!#$?$@$7JQ49Cf$K%U%)%s%H$,JQ$o$C$?$j$7$FJQ49$NB0@-$,JQ2=$7(B
$B$?>l9g$K$O(B ClientMessage $B%$%Y%s%H$rMxMQ$7$F$=$l$rJQ49%5!<%P$KEA$($k$3$H$,(B
$B$G$-$k!#(B

  $B0l$DLdBj$H$J$k$N$OJQ49%5!<%P$NF~NO%$%Y%s%H$N<hF@J}K!$G$"$k!#JQ49Cf$O%/%i(B
$B%$%"%s%H$K$$$/F~NO%$%Y%s%H$rJQ49%5!<%P$,2#<h$j$7$J$/$F$O$J$i$J$$!#$3$l$K$O(B 
3 $B<oN`$NJ}K!$,$"$j!"%/%i%$%"%s%H$OJQ49B0@-$H$7$F$I$l$r;HMQ$9$k$+;XDj$9$k$3(B
$B$H$,$G$-$k!#(B

  $B0l$D$O!"(Bkinput $B%W%m%H%3%k$G:NMQ$5$l$F$$$?!"JQ49%5!<%P$,%/%i%$%"%s%H$N%&%#(B
$B%s%I%&$N>e$K(B InputOnly $B%&%#%s%I%&$r:n$j!"$=$N%&%#%s%I%&$GF~NO%$%Y%s%H$r(B
$B!VEp$`!WJ}K!$G$"$k!#%/%i%$%"%s%H$K$H$C$F$O$3$l$,0lHV=hM}$,3Z(B ($B<+J,$G$O2?$b(B
$B$7$J$/$F$b$h$$(B) $B$,!"%U%)!<%+%9$N4X78$G!"JQ49%5!<%P$K%-!<%$%Y%s%H$,Mh$J$$$3(B
$B$H$,$"$k!#(B

  $B<!$OJQ49%5!<%P$,%/%i%$%"%s%H$N%&%#%s%I%&(B ($B@53N$K$O%U%)!<%+%9%&%#%s%I%&(B) 
$B$GF~NO%$%Y%s%H$r%;%l%/%H$9$k$H$$$&J}K!$G$"$k!#$3$N>l9g%$%Y%s%H$OJQ49%5!<%P(B
$B$H%/%i%$%"%s%H$NN>J}$KAw$i$l$k$N$G!"$3$NJ}<0$rA*Br$7$?%/%i%$%"%s%H$O!"JQ49(B
$BCf$OF~NO$5$l$?%$%Y%s%H$rL5;k$7$J$/$F$O$J$i$J$$!#(B

  3$BHVL\$O2?$b$7$J$$!"$H$$$&J}K!$G!"$D$^$j$3$l$OJQ49Cf$O%/%i%$%"%s%H$O%U%)!<(B
$B%+%9%&%#%s%I%&$KMh$?%-!<%$%Y%s%H$r$9$Y$FJQ49%5!<%P$K(B SendEvent $B$GAw$k!"$H(B
$B$$$&$3$H$G$"$k!#(B

  $BJQ49%5!<%P$OJQ49$5$l$?J8;zNs$rE,59%/%i%$%"%s%H$KAw$k$3$H$,$G$-$k!#$3$l$O(B
$B%/%i%$%"%s%H$N%&%#%s%I%&$N%W%m%Q%F%#$KJ8;zNs$r=q$-9~$`$3$H$G<B8=$9$k!#(B

  $BJQ49$,=*N;$9$k$H!"JQ49%5!<%P$O%/%i%$%"%s%H$K(B ClientMessage $B$rAw$j!"CN$i(B
$B$;$k!#%/%i%$%"%s%H$+$i$bJQ49%5!<%P$KBP$7$F(B ClientMessage $B%$%Y%s%H$rAw$C$F(B
$BJQ49$N=*N;$r%j%/%(%9%H$9$k$3$H$,$G$-$k!#$3$N>l9g$bJQ49%5!<%P$OJQ49$,=*N;$7(B
$B$?$3$H$r%/%i%$%"%s%H$KCN$i$;$k!#(B


* $B%W%m%H%3%k>\@b(B

  $B35MW$K0zB3$-$3$3$G$O(B kinput2 $B%W%m%H%3%k$K$D$$$F(B kinput $B%W%m%H%3%k$HHf$Y(B
$B$J$,$i2r@b$7$F$$$/!#(B

* $BJQ49%5!<%P%9%?!<%H%"%C%W(B

** $B%;%l%/%7%g%s(B

  $BJQ49%5!<%P$O!"%/%i%$%"%s%H$KBP$7$FJQ49%5!<%S%9$rDs6!$9$k$3$H$r<($9$?$a$K(B
$B%;%l%/%7%g%s%*!<%J!<$H$J$k!#$3$l$O(B kinput $B%W%m%H%3%k$HA4$/F1$8$@$,!"%;%l%/(B
$B%7%g%s%"%H%`$H$7$F$O(B "<language>_CONVERSION" $B$G$O$J$/!"@5<0$KEPO?$5$l$?%;(B
$B%l%/%7%g%sL>$G$"$k(B "_<language>_CONVERSION" ($BF|K\8l$G$"$l$P(B
"_JAPANESE_CONVERSION") $B$r;HMQ$9$k$3$H$K$9$k!#$?$@$7%P%C%/%o!<%I%3%s%Q%A%S(B
$B%j%F%#$N$?$a!"%*%j%8%J%k(B kinput $B$,;HMQ$7$F$$$?%;%l%/%7%g%sL>$r;H$&$3$H$bG'(B
$B$a$i$l$k!#(B

  $BJQ49%5!<%P$O(B SetSelectionOwner $B$rMxMQ$7$F%;%l%/%7%g%s%*!<%J!<$K$J$k!#(B

    SetSelectionOwner
	selection:  "_<language>_CONVERSION"
	owner:  $BJQ49%5!<%P$N%&%#%s%I%&(BID
	time:  timestamp $B$^$?$O(B CurrentTime

$B%/%i%$%"%s%H$O(B GetSelectionOwner $B$K$h$j!"JQ49%5!<%P$NB8:_$H%&%#%s%I%&(BID $B$r(B
$BCN$k$3$H$,$G$-$k!#(B

    GetSelectionOwner
	selection:  "_<language>_CONVERSION"
    =>
	owner:  $BJQ49%5!<%P$N%&%#%s%I%&(BID


*** SelectionClear $B%$%Y%s%H$N07$$$K$D$$$F(B

  $B$b$7JQ49%5!<%P$,%;%l%/%7%g%s%*!<%J!<$K$J$C$?8e(B SelectionClear $B%$%Y%s%H$r(B
$B<u$1$H$C$?;~$K$O!"8=:_JQ49Cf$N%/%i%$%"%s%H$,$"$l$P$=$l$i$9$Y$F$KBP$7$FJQ49(B
$B=*N;$N=hM}!"$D$^$j!"$b$7$^$@%/%i%$%"%s%H$KAw$C$F$$$J$$JQ49%F%-%9%H$,$"$l$P(B
$BAw$j!"$=$N8eJQ49=*N;$N(B ClientMessage $B%$%Y%s%H$rAw=P$9$k!"$H$$$&=hM}$r9T$J(B
$B$$!"$=$N8e$9$_$d$+$K(B exit $B$9$k!#(B

** $BJQ49%W%m%U%!%$%k(B

  $B$3$l$@$1$G$O%/%i%$%"%s%H$OJQ49%5!<%P$,(B kinput $B$N%W%m%H%3%k$r%$%s%W%j%a%s(B
$B%H$7$?$b$N$J$N$+!"$=$l$H$b(B kinput2 $B%W%m%H%3%k$r%$%s%W%j%a%s%H$7$?$b$N$J$N(B
$B$+$,$o$+$i$J$$!#$^$?!"JQ49%5!<%P$,$I$N$h$&$JF~NO%9%?%$%k$r%5%]!<%H$7$F$$$k(B
$B$+$b$o$+$i$J$$!#(B

  $B$=$3$G%;%l%/%7%g%s$N%*!<%J!<%&%#%s%I%&$K$=$l$i$N>pJs$,=q$+$l$?%W%m%Q%F%#(B
$B$rCV$/$3$H$K$9$k!#(B

    ChangeProperty
	window:  $B%;%l%/%7%g%s$N%*!<%J!<%&%#%s%I%&(B
	property:  Atom "_CONVERSION_PROFILE"
	type:  Atom "_CONVERSION_ATTRIBUTE_TYPE"
	format:  32
	mode:  Replace
	data:  $B8e=R(B

  $B$3$l$rJQ49%W%m%U%!%$%k$H8F$V$3$H$K$9$k!#JQ49%W%m%U%!%$%k$,B8:_$9$k$+$I$&(B
$B$+$G!"%/%i%$%"%s%H$OJQ49%5!<%P$,(B kinput2 $B%W%m%H%3%k$r%5%]!<%H$7$F$$$k$N$+!"(B
$B$=$l$H$b(B kinput $B$N%W%m%H%3%k$7$+%5%]!<%H$7$F$$$J$$$N$+$rCN$k$3$H$,$G$-$k!#(B

  $B%/%i%$%"%s%H$O(B GetProperty $B$r;HMQ$7$F$3$N%G!<%?$rFI$_=P$9$3$H$,$G$-$k!#(B

    GetProperty
	window:  $B%;%l%/%7%g%s$N%*!<%J!<%&%#%s%I%&(B
	property:  Atom "_CONVERSION_PROFILE"
	type:  Atom "_CONVERSION_ATTRIBUTE_TYPE"
	format:  32
	delete:  False

$BJQ49%W%m%U%!%$%k$N%U%)!<%^%C%H$,(B 32 $B$G$"$k$3$H$+$i$b$o$+$k$h$&$K!"$3$N%W%m(B
$B%Q%F%#$NFbMF$O(B 32bit $BCM$NG[Ns$G$"$k!#JQ49%W%m%U%!%$%k$K4^$^$l$k3F!9$N>pJs(B
$B$O!">pJs$N<oN`$H%G!<%?D9$rI=$9(B1$B%o!<%I$N%X%C%@$H$=$l$KB3$/%G!<%?(B ($B%G!<%?$O(B
$B$J$/$F$b$h$$(B) $B$+$i9=@.$5$l$k!#%X%C%@$N>e0L(B 16bit $B$,$=$N>pJs$N<oN`$rI=$7!"(B
$B2<0L(B 16 bit $B$OB3$/%G!<%?$N%o!<%I?t(B (32bit $BC10L(B) $B$rI=$9!#(B

	+----------------+----------------+
	|  Code (16bit)  | Length (16bit) |
	+----------------+----------------+
	|              Data1              |
	+---------------------------------+
	|              .....              |
	+---------------------------------+
	|              DataN              |
	+---------------------------------+

$BDj5A$5$l$F$$$k>pJs$O<!$N(B4$B$D$G$"$k!#(B

  + Protocol Version (code = 1, length = 1)
	$BJQ49%5!<%P$,;HMQ$7$F$$$k%W%m%H%3%k$N%P!<%8%g%sL>$r<($9!#%G!<%?$K$O(B
	$B%W%m%H%3%k$N%P!<%8%g%sL>$=$N$b$N$G$O$J$/!"$=$l$r%"%H%`2=$7$?CM$,F~(B
	$B$k!#$3$N%I%-%e%a%s%H$O(B "PROTOCOL-2.0" $B$H$$$&%P!<%8%g%s$K$D$$$F5-=R(B
	$B$7$F$$$k!#(B

  + Supported Styles (code = 2, length = 1)
	$BJQ49%5!<%P$,%5%]!<%H$7$F$$$kF~NO%9%?%$%k$r<($9!#Dj5A$5$l$F$$$kF~NO(B
	$B%9%?%$%k$O<!$NDL$j$G$"$k!#(B
		root window style:	1
		off-the-spot style:	2
		over-the-spot style:	4
	$B%G!<%?$K$OJQ49%5!<%P$,%5%]!<%H$9$k%9%?%$%k$N(B bitwise-or $BCM$,F~$k!#(B
	
  + Supported Extensions (code = 3, length = N)
	$BJQ49%5!<%P$,%5%]!<%H$7$F$$$k3HD%$r<($9!#%G!<%?$K$O%5%]!<%H$7$F$$$k(B
	$B3HD%L>$r%"%H%`2=$7$?CM$,F~$k!#J#?t$N3HD%$rF~$l$k$3$H$,$G$-$k!#(B

  + Extension Data (code = 4, length = N)
	$B3HD%FCM-$N%W%m%U%!%$%k%G!<%?$r<($9!#=>$C$F$3$3$G%G!<%?$NFbMF$K$D$$(B
	$B$F5-=R$9$k$3$H$O$G$-$J$$$,!"$?$@0l$D7h$^$C$F$$$k$3$H$O%G!<%?$N@hF,(B
	$B$O$=$N3HD%L>$r%"%H%`2=$7$?CM$G$J$1$l$P$J$i$J$$$H$$$&$3$H$@$1$G$"$k!#(B
	$B;D$j$N%G!<%?$NFbMF$O40A4$K3F3HD%$N<+M3$G$"$j!"$3$3$G$O5,Dj$7$J$$!#(B

  $B%/%i%$%"%s%HB&$NL5MQ$N:.Mp$rKI$0$?$a!"(BProtocol Version $B$H(B Supported
Styles$B$N9`L\$OI,$:$J$1$l$P$J$i$J$$!#$^$?!"(BExtension Data $B0J30$O%W%m%U%!%$(B
$B%k%G!<%?$NCf$KF1$8%3!<%I$N%G!<%?$,J#?t$"$C$F$O$J$i$J$$!#(B


* $BJQ49$N%j%/%(%9%H(B

  $BJQ49$N%j%/%(%9%H$NJ}K!$O%*%j%8%J%k$N%W%m%H%3%k$HF1$8$G$"$k!#$D$^$j!"%/%i(B
$B%$%"%s%H$O$^$:(B XGetSelectionOwner() $B$r;HMQ$7$FJQ49%5!<%P$rC5$9!#8+$D$+$l$P(B
$B%*!<%J!<%&%#%s%I%&$KBP$7$FJQ493+;O$r%j%/%(%9%H$9$k%$%Y%s%H$rAw$k!#(B

    SendEvent
	destination:  $B%;%l%/%7%g%s%*!<%J!<%&%#%s%I%&(B
	propergate:  False
	event-mask:  NoEventMask
	event:  ClientMessage
		window: $B%;%l%/%7%g%s%*!<%J!<(B
		type: Atom "CONVERSION_REQUEST"
		format: 32
		data:
			l[0]: $B%;%l%/%7%g%s%"%H%`(B
			l[1]: $B%/%i%$%"%s%H%&%#%s%I%&(BID
			l[2]: $BJQ49%F%-%9%H$N%(%s%3!<%G%#%s%0%"%H%`(B
			l[3]: $BJQ49%F%-%9%HMQ%W%m%Q%F%#(B or None
			l[4]: $B%W%m%Q%F%#L>$+(B None

  data.l[0] $B$O%;%l%/%7%g%s%"%H%`$rF~$l$k!#(Bdata.l[1] $B$O%/%i%$%"%s%H%&%#%s%I(B
$B%&(BID $B$G$"$k!#%/%i%$%"%s%H%&%#%s%I%&$OJQ49%5!<%P$,3FJQ49%;%C%7%g%s$r6hJL$9(B
$B$k$N$K;H$o$l$k!#$3$l$OF10l$N%/%i%$%"%s%H%&%#%s%I%&$GJ#?t$NJQ49$rF1;~$K9T$J(B
$B$&$3$H$,$G$-$J$$$3$H$r0UL#$9$k!#(B

  data.l[2] $B$K$O!"JQ497k2LJ8;zNs$N%(%s%3!<%G%#%s%0$H$7$F%/%i%$%"%s%H$N4uK>(B
$B$9$k%(%s%3!<%G%#%s%0$N%"%H%`$rF~$l$k!#Nc$($P(B COMPOUND_TEXT $B$G$"$k!#JQ49J8(B
$B;zNs$O%W%m%Q%F%#$G%/%i%$%"%s%H$KAw$i$l$k$N$G!"$3$N%(%s%3!<%G%#%s%0$H$$$&$N(B
$B$O<B$O$=$N%W%m%Q%F%#$N%?%$%W$G$"$k!#$?$@$7$3$l$O$"$/$^$G$bJQ49%5!<%P$KBP$9(B
$B$k%R%s%H$G$"$C$F!"JQ49%5!<%P$O$3$l$H0[$J$k%(%s%3!<%G%#%s%0$r;HMQ$9$k$+$b$7(B
$B$l$J$$!#$?$@$7!"JQ49%5!<%P$O(B COMPOUND_TEXT $B%(%s%3!<%G%#%s%0$@$1$O%5%]!<%H(B
$B$7$J$/$F$O$J$i$J$$!#$D$^$j!"$b$7%/%i%$%"%s%H$,(B COMPOUND_TEXT $B%(%s%3!<%G%#(B
$B%s%0$r4uK>$7$?>l9g$K$O!"$=$N%(%s%3!<%G%#%s%0$GJ8;zNs$,JV$5$l$k$3$H$,J]>Z$5(B
$B$l$k!#(B

  data.l[3] $B$K$OJQ497k2LJ8;zNs$rF~$l$k%W%m%Q%F%#L>$r;XDj$9$k!#JQ497k2L$O(B
data.l[1] $B$G;XDj$7$?%&%#%s%I%&$N!"(Bdata.l[3] $B$G;XDj$5$l$k%W%m%Q%F%#$KAw$i$l(B
$B$k!#$b$7%W%m%Q%F%#L>$H$7$F(B None $B$r;XDj$7$?>l9g!"%W%m%Q%F%#L>$OJQ49%5!<%P$K(B
$B$h$C$F7hDj$5$l$k!#(B

  kinput $B%W%m%H%3%k$H0[$J$kE@$O(B data.l[4] $B$G$"$k!#%*%j%8%J%k$G$O$3$3$K$O(B 
None $B$r;XDj$9$k$3$H$K$J$C$F$$$?!#JQ49%5!<%P$O!"$b$7$3$3$,(B None $B$G$"$l$P%/(B
$B%i%$%"%s%H$,(B kinput $B%W%m%H%3%k$r;HMQ$9$k$b$N$H$7$F07$&!#(BNone $B$G$J$1$l$P!"(B
$B$3$l$OJQ49B0@-$N$O$$$C$F$$$k%W%m%Q%F%#L>$G$"$k!#$3$l$O%/%i%$%"%s%H%&%#%s%I(B
$B%&(B (data.l[1] $B$K;XDj$7$?$b$N(B) $B$N%W%m%Q%F%#$G!"%?%$%W$OJQ49%W%m%U%!%$%k$HF1(B
$B$8$/(B "_CONVERSION_ATTRIBUTE_TYPE" $B$G$"$k!#=>$C$F$3$NJQ49B0@-%W%m%Q%F%#$N9=(B
$BB$$bJQ49%W%m%U%!%$%k%W%m%Q%F%#$HF1$8$G!"(B1 $B%o!<%I$N%X%C%@$H$=$l$KB3$/(B 0 $B%o!<(B
$B%I0J>e$N%G!<%?$H$+$i$J$k!#JQ49%5!<%P$O(B GetProperty $B$rMQ$$$F$3$NJQ49B0@-$r(B
$BFI$_=P$9!#(B

    GetProperty
	window: $B%/%i%$%"%s%H%&%#%s%I%&(B
	property:  "CONVERSION_REQUEST" $B$G;XDj$5$l$?%W%m%Q%F%#(B
	type:  Atom "_CONVERSION_ATTRIBUTE_TYPE"
	format:  32
	delete:  False


* $BJQ49B0@-(B

  $BJQ49%W%m%U%!%$%k$HF1$8$/!"JQ49B0@-%W%m%Q%F%#$b3F!9$N>pJs$O!">pJs$N<oN`$H(B
$B%G!<%?D9$rI=$9(B 32bit 1$B%o!<%I$N%X%C%@$H$=$l$KB3$/%G!<%?(B($B%G!<%?$O$J$/$F$b$h(B
$B$$(B) $B$+$i9=@.$5$l$k!#%X%C%@$N>e0L(B 16bit $B$,B0@-%3!<%I$rI=$7!"2<0L(B 16bit $B$OB3(B
$B$/%G!<%?$N%o!<%I?t(B (32bit $BC10L(B) $B$rI=$9!#(B

  $BB0@-%3!<%I$H$7$F(B 0 $B$+$i(B 65535 $B$^$G$NCM$,;HMQ$G$-$k$,!"$3$l$r<!$N$h$&$J(B 2
$B$D$NNN0h$KJ,$1$k!#(B

	0 - 255:	$BI8=`B0@-%3!<%I(B
	256 - 65535:	$B3HD%$G;HMQ$9$kB0@-%3!<%I(B

$B$5$i$KI8=`B0@-%3!<%I$O(B2$B$D$NNN0h$KJ,$1$i$l$k!#(B

	0 - 127:	$BJQ49$NESCf$GCM$rJQ$($F$b$h$$B0@-$N%3!<%I(B
	128 - 255:	$BJQ493+;O;~$K$7$+@_Dj$G$-$J$$B0@-$N%3!<%I(B

$BDj5A$5$l$F$$$kB0@-$r<($9!#(B

  + No Operation (code = 0, length = N)
	$B2?$b$7$J$$!#(Blength $B$OG$0U$J$N$G%W%m%Q%F%#$N$"$kItJ,$r%9%-%C%W$5$;(B
	$B$k$N$KJXMx!#(B
	
  + Indirect Attribute (code = 1, length = 1)
	$BB0@-$N4V@\;XDj$G$"$k!#%G!<%?$K$O%W%m%Q%F%#L>$,F~$C$F$*$j!"$=$N%W%m(B
	$B%Q%F%#$K=>$C$FB0@-$r@_Dj$9$k!#;XDj$7$?%W%m%Q%F%#$O%/%i%$%"%s%H%&%#(B
	$B%s%I%&$N%W%m%Q%F%#$G$J$1$l$P$J$i$J$$!#(BCONVERSION_ATTRIBUTE$B%$%Y%s%H(B 
	($B8e=R(B) $B$GJ#?t$NB0@-%G!<%?$r@_Dj$7$?$$;~$d!"%$%Y%s%H$KB0@-%G!<%?$,(B
	$BF~$j@Z$i$J$$;~$K;HMQ$9$k!#(B

  + Focus Window (code = 2, length = 1)
	$B%U%)!<%+%9%&%#%s%I%&$r;XDj$9$k!#%G!<%?$K$O%U%)!<%+%9%&%#%s%I%&$N%&%#(B
	$B%s%I%&(BID $B$,F~$k!#$3$NB0@-$,;XDj$5$l$J$+$C$?;~$O%/%i%$%"%s%H%&%#%s(B
	$B%I%&$,%U%)!<%+%9%&%#%s%I%&$H$J$k!#(B

  + Spot Location (code = 3, length = 1)
	$B%9%]%C%H%m%1!<%7%g%s$r;XDj$9$k!#%Y!<%9%i%$%s$N3+;OE@$G;XDj$9$k!#%G!<(B
	$B%?$N>e0L(B 16bit $B$,(B x $B:BI8!"2<0L(B 16bit $B$,(B y $B:BI8$G$"$k!#$3$NB0@-$O(B 
	over-the-spot style $B$NJQ49$N;~$7$+0UL#$r;}$?$J$$!#(B

  + Client Area (code = 4, length = 2)
	$BJQ49%F%-%9%HI=<(NN0h$r;XDj$9$k!#%G!<%?$O(B 32bit 2$B%o!<%I$+$i$J$j!":G(B
	$B=i$N%o!<%I$N>e0L(B 16bit / $B2<0L(B 16bit $B$,NN0h$N:8>e$N(B x / y $B:BI8!"<!(B
	$B$N%o!<%I$N>e0L(B 16bit / $B2<0L(B 16bit $B$,NN0h$NI}$H9b$5$rI=$9!#%G%U%)%k(B
	$B%H$O%U%)!<%+%9%&%#%s%I%&A4BN$G$"$k!#(B

  + Status Area (code = 5, length = 2)
	$B%9%F!<%?%9I=<(NN0h$r;XDj$9$k!#%G!<%?$N%U%)!<%^%C%H$OA0$HF1$8!#(B

  + Colormap (code = 6, length = 1)
	$B%+%i!<%^%C%W$r;XDj$9$k!#%G!<%?$K$O%+%i!<%^%C%W(BID $B$,F~$k!#%G%U%)%k(B
	$B%H$O%9%/%j!<%s$N%G%U%)%k%H%+%i!<%^%C%W$G$"$k!#(B

  + Color (code = 7, length = 2)
	$B%U%)%"%0%i%&%s%I$H%P%C%/%0%i%&%s%I$N%T%/%;%kCM$r;XDj$9$k!#%G!<%?$O(B
	2$B%o!<%I$+$i$J$j!":G=i$N%o!<%I$,%U%)%"%0%i%&%s%I$N%T%/%;%kCM!"<!$N(B
	$B%o!<%I$,%P%C%/%0%i%&%s%I$N%T%/%;%kCM$G$"$k!#;XDj$5$l$J$+$C$?>l9g!"(B
	$BJQ49%5!<%P$OE,Ev$JCM$r;HMQ$9$k!#(B

  + Background Pixmap (code = 8, length = 1)
	$B%P%C%/%0%i%&%s%I$N(B Pixmap $B$r;XDj$9$k!#%G!<%?$K$O(B Pixmap ID $B$,F~$k!#(B

  + Line Spacing (code = 9, length = 1)
	$B9T4V$r;XDj$9$k!#%Y!<%9%i%$%s4V$N5wN%$G;XDj$9$k!#;XDj$5$l$J$+$C$?>l(B
	$B9g!"JQ49%5!<%P$O<!$N;HMQ$5$l$k%U%)%s%H$+$iE,Ev$JCM$r;;=P$7$F;HMQ$9(B
	$B$k!#(B

  + Font Atoms (code = 10, length = N)
	$B;HMQ$9$k%U%)%s%H$r;XDj$9$k!#%G!<%?$K$O3F%U%)%s%H$N(B "FONT" $B%W%m%Q%F%#(B
	($B$3$l$O$=$N%U%)%s%H$N@5<0L>$r%"%H%`2=$7$?$b$N$K$J$C$F$$$k(B) $B$N%j%9(B
	$B%H$r;XDj$9$k!#%j%9%HCf$N=gHV$OG$0U$G$"$k!#JQ49%5!<%P$OM?$($i$l$?%U%)(B
	$B%s%H$N%W%m%Q%F%#$+$i%-%c%i%/%?%;%C%H$rD4$Y!"I,MW$J$b$N$rMxMQ$9$k$+(B
	$B$i$G$"$k!#;XDj$5$l$J$+$C$?>l9g!"JQ49%5!<%P$OE,Ev$J%U%)%s%H$r;HMQ$9(B
	$B$k!#(B

  + Cursor (code = 11, length = 1)
	$B%+!<%=%k$r;XDj$9$k!#%G!<%?$K$O%+!<%=%k(B ID $B$,F~$k!#;XDj$5$l$J$+$C$?(B
	$B>l9g!"JQ49%5!<%P$OE,Ev$J%+!<%=%k$r;HMQ$9$k!#(B

$B0J9_$OJQ493+;O;~$K$7$+;XDj$G$-$J$$B0@-$G$"$k!#(B

  + Input Style (code = 128, length = 1)
	$BF~NOJ}K!$r;XDj$9$k!#CM$O(B
		root window style:	1
		off-the-spot style:	2
		over-the-spot style:	4
	$B$N$I$l$+$G$J$1$l$P$J$i$:!"JQ49%W%m%U%!%$%k$N(B Supported Styles $B$KF~$C(B
	$B$F$$$k%9%?%$%k$G$J$1$l$P$J$i$J$$!#$3$NB0@-$,;XDj$5$l$J$+$C$?;~$N%G(B
	$B%U%)%k%H$O(B Root Window Style $B$G$"$k!#(B

  + Event Capture Method (code = 129, length = 1)
	$B%/%i%$%"%s%H%&%#%s%I%&$+$i$N%$%Y%s%H$N<hF@J}K!$r;XDj$9$k!#%$%Y%s%H(B
	$B$N<hF@J}K!$O(B3$B<oN`$"$j!"$=$l$>$l%G!<%?$K;XDj$9$kCM$O(B
		$B$J$K$b$7$J$$(B:			0
		InputOnly $B%&%#%s%I%&$K$h$kJ}K!(B:	1
		$B%U%)!<%+%9%&%#%s%I%&$r%;%l%/%H(B:	2
	$B$G$"$k!#%G%U%)%k%H$O(B InputOnly $B%&%#%s%I%&$K$h$kJ}K!$G$"$k!#(B

  + Use Extension (code = 130, length = N)
	$B$3$NB0@-@_Dj$G;HMQ$5$l$k3HD%$r;XDj$9$k!#$3$3$G;XDj$9$k3HD%$O%5!<%P(B
	$B$,%5%]!<%H$7$F$$$k$b$N!"$D$^$j%W%m%U%!%$%k%G!<%?Cf$N(BSupported
	Extensions $B$K=q$+$l$?3HD%$G$J$1$l$P$J$i$J$$!#$^$?!"$3$N@_Dj$O;HMQ(B
	$B$9$k3HD%B0@-%3!<%I$,B0@-%G!<%?Cf$K8=$l$kA0$K$J$1$l$P$J$i$J$$!#(B


* $BJQ493+;O$NDLCN(B

  $BJQ49$N%j%/%(%9%H$r<u$1$?JQ49%5!<%P$OJQ49B0@-$NFI$_=P$7$J$II,MW$J=hM}$r9T(B
$B$J$C$?8e!"%/%i%$%"%s%H$KBP$7$FJQ493+;O$NDLCN$r$9$k$H$H$b$K<B:]$NJQ49:n6H$r(B
$B;O$a$k!#(B

  $BJQ493+;O$NDLCN$O(B ClientMessage $B%$%Y%s%H$K$h$j9T$J$&!#(B

    SendEvent
	destination:  $B%/%i%$%"%s%H%&%#%s%I%&(B
	propergate:  False
	event-mask:  NoEventMask
	event:  ClientMessage
		window: $B%/%i%$%"%s%H%&%#%s%I%&(B
		type: Atom "CONVERSION_NOTIFY"
		format: 32
		data:
			l[0]: $B%;%l%/%7%g%s%"%H%`(B
			l[1]: $BJQ49%F%-%9%H$N%(%s%3!<%G%#%s%0%"%H%`(B
			l[2]: $BJQ49%F%-%9%HMQ%W%m%Q%F%#(B or None
			l[3]: $BJQ49%&%#%s%I%&(BID 
			l[4]: unused

  data.l[1] $B$OJQ49J8;zNs$r%/%i%$%"%s%H$KAw$k;~$NJ8;zNs$N%(%s%3!<%G%#%s%0$G(B
$B$"$k!#(Bdata.l[2] $B$O$=$NJ8;zNs$,Aw$i$l$k%W%m%Q%F%#$G$"$j!"(B
"CONVERSION_REQUEST" $B$G%/%i%$%"%s%H$,;XDj$7$?>l9g$K$O$=$l$,$=$N$^$^F~$j!"(B
None $B$r;XDj$7$?>l9g$K$OJQ49%5!<%P$OE,Ev$J%W%m%Q%F%#$rA*$s$G$=$l$rF~$l$k!#(B

  $B$b$7!"$J$s$i$+$NM}M3$GJQ49%5!<%P$,$=$N%/%i%$%"%s%H$N$?$a$NJQ49%5!<%S%9$r(B
$BDs6!$G$-$J$$>l9g$K$O(B data.l[2] $B$K$O(B None $B$rF~$l$k!#(B

  data.l[3] $B$O<B:]$KJQ49=hM}$,9T$J$o$l$k%&%#%s%I%&(BID $B$r;XDj$9$k!#$3$l$O!"(B
$B%/%i%$%"%s%H$,<+J,$N$H$3$m$KMh$?%-!<%$%Y%s%H$rJQ49%5!<%P$KAw$k;~$K$=$NAw$j(B
$B@h$H$7$F;HMQ$9$k$?$a$N$b$N$G$"$k!#(B

  $B$3$N%$%Y%s%H$rAw$C$?;~$K$O$9$G$KJQ49%5!<%P$OB0@-%W%m%Q%F%#$NFbMF$rFI$s$G(B
$B$7$^$C$F$$$k$N$G!"$3$N%$%Y%s%H$r<u$1$H$C$?%/%i%$%"%s%H$OJQ49B0@-%W%m%Q%F%#(B
$B$r>C$7$?$jFbMF$rJQ99$7$?$j$7$F$h$$!#(B


* $BJQ49B0@-$NJQ99(B

  $BJQ493+;O$,DLCN$5$l$?8e!"JQ49$,=*N;$9$k$^$G$N4V$KJQ49B0@-$NJQ2=$,5/$3$C$?(B
$B>l9g!"%/%i%$%"%s%H$O$=$l$rJQ49%5!<%P$KEA$($k$3$H$,$G$-$k!#(B

  $B%/%i%$%"%s%H$OJQ49%5!<%P$K(B ClientMessage $B%$%Y%s%H$rAw$k$3$H$GJQ49B0@-$N(B
$BJQ2=$rDLCN$9$k!#(B

    SendEvent
	destination:  $B%;%l%/%7%g%s%*!<%J!<%&%#%s%I%&(B
	propergate:  False
	event-mask:  NoEventMask
	event:  ClientMessage
		window: $B%;%l%/%7%g%s%*!<%J!<%&%#%s%I%&(B
		type: Atom "CONVERSION_ATTRIBUTE_NOTIFY"
		format: 32
		data:
			l[0]: $B%;%l%/%7%g%s%"%H%`(B
			l[1]: $B%/%i%$%"%s%H%&%#%s%I%&(BID
			l[2]-l[4]: $BB0@-%G!<%?(B

  data.l[2] $B$+$i(B data.l[4] $B$KJQ99$5$l$?B0@-%G!<%?$rF~$l$k!#B0@-%G!<%?$N7A(B
$B<0$OJQ49B0@-$N%W%m%Q%F%#$N7A<0$HA4$/F1$8$G$"$k!#$?$@$78+$l$P$o$+$k$h$&$K%$(B
$B%Y%s%H$KF~$l$i$l$kB0@-%G!<%?$NBg$-$5$O:GBg(B3$B%o!<%I$G$"$k!#=>$C$FJQ99$5$l$?(B
$BB0@-%G!<%?$,$3$l$h$jBg$-$$$H$+!"JQ99$5$l$?B0@-%G!<%?$,J#?t$"$k$H$-(B ($B$3$N>l(B
$B9g$K$O$3$N%$%Y%s%H$rJ#?t2sAw$C$F$b$$$$$N$@$,(B) $B$K$OB0@-%G!<%?$O%W%m%Q%F%#$K(B
$BF~$l!"(BIndirect Attribute $B$N5!G=$r;H$C$F$=$N%W%m%Q%F%#$r;XDj$9$l$P$h$$!#(B


* $BJQ49J8;zNs$NAw?.(B

  $B3NDj$5$l$?JQ49J8;zNs$O!"?o;~JQ49%5!<%P$+$i%/%i%$%"%s%H$K%W%m%Q%F%#$r;HMQ(B
$B$7$FAw$i$l$k!#(B

    ChangeProperty
	window:  $B%/%i%$%"%s%H%&%#%s%I%&(B
	property:  "CONVERSION_NOTIFY" $B$G;XDj$7$?%W%m%Q%F%#(B
	type:  "CONVERSION_NOTIFY" $B$G;XDj$7$?%(%s%3!<%G%#%s%0(B
	format:  $B%(%s%3!<%G%#%s%0$K$h$k(B
	mode:  Append
	data:  $BJQ49J8;zNs(B

  $B%/%i%$%"%s%H$O$"$i$+$8$a%/%i%$%"%s%H%&%#%s%I%&$N(B PropertyNotify $B%$%Y%s%H(B
$B$r%;%l%/%H$7$F$*$-!"%W%m%Q%F%#$,JQ99$5$l$?$iJQ497k2L$r<h$j=P$9$h$&$K$9$k!#(B

    GetProperty
	window:  $B%/%i%$%"%s%H%&%#%s%I%&(B
	property:  "CONVERSION_NOTIFY" $B$G;XDj$5$l$?%W%m%Q%F%#(B
	type:  "CONVERSION_NOTIFY" $B$G;XDj$5$l$?%(%s%3!<%G%#%s%0(B
	format: $B%(%s%3!<%G%#%s%0$K$h$k(B
	delete: True


* $BJQ49=*N;$NDLCN(B

  $BJQ49%5!<%P$OJQ49$,=*N;$9$k$H%/%i%$%"%s%H$K(B ClientMessage $B$rAw$C$F$=$l$r(B
$BDLCN$9$k!#(B

    SendEvent
	destination:  $B%/%i%$%"%s%H%&%#%s%I%&(B
	propergate:  False
	event-mask:  NoEventMask
	event:  ClientMessage
		window: $B%/%i%$%"%s%H%&%#%s%I%&(B
		type: Atom "CONVERSION_END"
		format: 32
		data:
			l[0]: $B%;%l%/%7%g%s%"%H%`(B
			l[1]: $B%;%l%/%7%g%s%*!<%J!<%&%#%s%I%&(BID
			l[2]-l[4]: unused

* $BJQ49=*N;$N%j%/%(%9%H(B

  $B%/%i%$%"%s%HB&$+$iJQ49%5!<%P$KBP$7$FJQ49$N=*N;$r%j%/%(%9%H$9$k$3$H$b$G$-(B
$B$k!#%/%i%$%"%s%H$OJQ49%5!<%P$K<!$N$h$&$J(B ClientMessage $B$rAw$k!#(B

    SendEvent
	destination:  $B%;%l%/%7%g%s%*!<%J!<%&%#%s%I%&(B
	propergate:  False
	event-mask:  NoEventMask
	event:  ClientMessage
		window: $B%;%l%/%7%g%s%*!<%J!<(B
		type: Atom "CONVERSION_END_REQUEST"
		format: 32
		data:
			l[0]: $B%;%l%/%7%g%s%"%H%`(B
			l[1]: $B%/%i%$%"%s%H%&%#%s%I%&(BID
			l[2]-l[4]: unused

  $BJQ49%5!<%P$O$3$N%$%Y%s%H$r<u$1$H$k$H!"$^$@%/%i%$%"%s%H$KAw$C$F$$$J$$JQ49(B
$BJ8;zNs$,$"$l$P$=$l$rAw$j!"$=$N8e(B CONVERSION_END $B$N(B ClientMessage $B$rAw$k!#(B


* $B3HD%$K$D$$$F(B

  $B3HD%$K$OB0@-$N3HD%$H%W%m%H%3%k3HD%$H$,$"$k!#B0@-$N3HD%$OJQ49B0@-$NDI2C$G(B
$B$"$j!"%W%m%H%3%k3HD%$OJQ49%5!<%P$H%/%i%$%"%s%H$NDL?.$K?7$?$J%a%C%;!<%8$rDI(B
$B2C$9$k$3$H$G$"$k!#$b$A$m$s0l$D$N3HD%$,$3$NN>J}$r4^$s$G$$$F$b$h$$!#(B

  $B$I$A$i$N%?%$%W$N3HD%$r$9$k$K$7$F$b$^$:$=$N3HD%$KL>A0$r$D$1$J$/$F$O$J$i$J(B
$B$$!#$=$7$F$=$N3HD%$r<BAu$7$?JQ49%5!<%P$OJQ49%W%m%U%!%$%k$N(B Supported
Extensions$B$K$=$N3HD%L>$rF~$l!"%/%i%$%"%s%H$KBP$7$F$=$N3HD%$r<BAu$7$F$$$k$3(B
$B$H$r@k8@$7$J$/$F$O$J$i$J$$!#(B

  $B3HD%$r;H$*$&$H$9$k%/%i%$%"%s%H$O$^$:JQ49%5!<%P$NJQ49%W%m%U%!%$%k$rD4$Y!"(B
$B%5!<%P$,$=$N3HD%$r%5%]!<%H$7$F$$$k$+3N$+$a$kI,MW$,$"$k!#$b$7%5!<%P$,$=$N3H(B
$BD%$r%5%]!<%H$7$F$$$J$1$l$P!"$=$N%5!<%P$KBP$7$F$=$N3HD%$r;H$C$F$O$J$i$J$$!#(B

  $BB0@-$N3HD%$N>l9g!"?7$?$K3HD%B0@-%3!<%I$r7h$a$J$/$F$O$J$i$J$$!#$3$N%3!<%I(B
$B$K$D$$$F$O$=$N%3!<%I$NHO0O$,(B 256 $B$+$i(B 65535 $B$G$J$1$l$P$J$i$J$$$H$$$&$3$H$r(B
$B=|$-!"$3$N%W%m%H%3%k$G$O0l@Z5,Dj$7$J$$!#3HD%%3!<%I$O$3$NHO0O$G>!<j$K%3!<%I(B
$B$r7h$a$k$3$H$,$G$-$k!#$3$N>l9g!"J#?t$N3HD%$G;H$&%3!<%I$,=EJ#$9$k$3$H$,9M$((B
$B$i$l$k!#$7$+$7$3$N;vBV$rHr$1$k<jCJ$O0l@ZDs6!$5$l$J$$!#$b$7Fs$D$N3HD%$GDj5A(B
$B$5$l$?%3!<%I$,=E$J$C$F$7$^$C$?>l9g$K$O$=$NFs$D$N3HD%$OF1;~$K;H$($J$$$@$1$N(B
$B$3$H$G$"$k!#(B

  $B$3$N$h$&$JIT9,$J;vBV$rHr$1$k$?$a$K!"3HD%$r$7$?$i$=$N3HD%L>$H$=$N3HD%$N>\(B
$B:Y$rH/I=$9$k$N$,$h$$$@$m$&$H;W$o$l$k$,!"$I$3$K$I$&H/I=$9$k$+$J$I$N>\:Y$OL@(B
$B$i$+$K%W%m%H%3%k$G5,Dj$9$Y$-$b$N$G$O$J$$$N$G$3$3$K$O=q$+$J$$!#$@$$$?$$$3$N(B
$B%W%m%H%3%k$r3HD%$7$h$&$J$I$H$$$&$b$N$O$[$H$s$I$$$J$$$G$"$m$&$,!#(B