--------------------------------------------------------------------------
| Ver1.0 for Linux/FreeBSD ʐMvgRdl
        (C) Copyright OMRON SOFTWARE Co., Ltd. 1998 All rights reserved.
--------------------------------------------------------------------------

ʐM̓Xg[^̃\PbgpčsȂ܂B
AhXt@~[ INET ݂̂T|[gA|[gԍ̓ftHg 2744 
gp܂B

-----------------------------------------------------------------------------
1. Lqe̐
    Request
	    NCAgT[oւ̗v܂B
    Response
	    T[oNCAgւ̕ԓ܂B
            Response ̃Xe[^XُIӖlłꍇ́Aȍ~
	    f[^͖|T[oԂ܂BAeg_register_dict ́A
	    Xe[^XُIꍇɂ̂݁AXe[^Xɑf[^|
	    T[oԂ܂B
    ej
	    p|܂B
    je
	    p|܂B

-----------------------------------------------------------------------------
2. f[^^
    4-byte
	    4oCg̐lłBoCgI[_[͎̂悤ɂȂ܂B
	    \Pbg1oCg	32rbgl(31-24)rbgA8rbg
	    \Pbg2oCg	32rbgl(23-16)rbg
	    \Pbg3oCg	32rbgl(15-8)rbg
	    \Pbg4oCg	32rbgl(7-0)rbgA8rbg

    2-byte
	    2oCg̐lłBoCgI[_[͎̂悤ɂȂ܂B
	    \Pbg1oCg	32rbgl(15-8)rbgA8rbg
	    \Pbg2oCg	32rbgl(7-0)rbgA8rbg

    n-byte
	    擪ɁAf[^oCg 4-byte ̌`œϒf[^łłB
	    f[^oCǧɁAw肳ꂽ̃f[^Ă܂B

    string
            1oCgAI[́ANULL(0x00)łB

--------------------------------------------------------------------------
3. vgRtH[}bg

    SẴvgR̐擪ɁA4-bytẽf[^2t܂B

	+-----------+-----------+-------------------------------+
	|   (a)     |   (b)     |            (c)     		|
	+-----------+-----------+-------------------------------+

	(a) 4-byte	0xaabbccdd ̌Œ蒷f[^
	(b) 4-byte	(c)̃oCg
	(c) 	        ȉ̍ڂŏqׂ͂яo̓f[^

--------------------------------------------------------------------------
4. vgRt[

    
	eg_init			    |GW̏
	eg_setdictname		    ̐ݒ
	eg_setmode		    |󃂁[h̃Zbg
	eg_clear_cache 		    LbṼNA

    ̖|
	trns_divide_sentence	    
	eg_translate_one	    ꕶ| i̐sj
	eg_translate_one	    ꕶ|	    F
	eg_translate_one	    ꕶ|	    F

    ύXčĖ|
	eg_translate_one	    ꕶ| iΏۂ̕󂷁j
	eg_getequiv		    Ή iPԍ𓾂j
	eg_getword		    ⃊Xg̎擾
	eg_setword		    ύX
	eg_gettrntxt		    Ė|

    iύXčĖ|
	eg_translate_one	    ꕶ| iΏۂ̕󂷁j
	eg_getequiv		    Ή iPԍ𓾂j
	eg_gethinshi		    i⃊Xg̎擾
	eg_sethinshi		    iύX
	eg_gettrntxt		    Ė|

    Q
	eg_browse_dict		Q

    I
	eg_end			|GW̏I

--------------------------------------------------------------------------
5. ʃR[h

    ̕\̓T[ovgRƎʃR[hƂ̑Ή\łBʃR[hƂ͊e
    vgRʂ邽߂ɁARequest f[^̐擪Ɉʒu鐮lłB

    vgR			ʃR[h
    ---------------------------------------
    eg_init			0xf00001
    eg_end			0xf00002
    eg_translate_one		0xf00004
    eg_getequiv			0xf00007
    eg_getword			0xf00008
    eg_setword			0xf00009
    eg_gethinshi		0xf0000a	p|󎞂̂ݎgp܂
    eg_sethinshi		0xf0000b	p|󎞂̂ݎgp܂
    eg_gettrntxt		0xf0000c
    eg_setmode			0xf00011
    eg_setdictname		0xf00013
    eg_clear_cache		0xf00014	p|󎞂̂ݎgp܂
    eg_browse_dict		0xf00015
    trns_get_status		0xf0001a
    trns_divide_sentence	0xf0001b
    ---------------------------------------

--------------------------------------------------------------------------
6. vgRdl

1) trns_get_status

    Tv T[õXe[^X̎擾܂B

    Request
    	4-byte	ʃR[h 0xf0001a
	4-byte	1w肵܂
    Response
    	4-byte	Xe[^X
		0  c I
		 c ُI	iXe[^X݂̂ԂAȍ~͕̏
				܂j
	4-byte	ڑĂ郆[U̐
	(ȉAuڑĂ郆[U̐v̌JԂ)
	string	[U
	string	NCAgzXg
	string	NCAgzXgIPAhX
	string	VXẽfBNg
	string	ej|󎫏̃fBNg
	string	je|󎫏̃fBNg
	4-byte	|[gԍ
	4-byte	ejgpĂ邩(1:gpĂ 0:gpĂȂ)
	4-byte	jegpĂ邩(1:gpĂ 0:gpĂȂ)
	4-byte	NCAgƂ̊Ԃ̃\Pbgfile descriptor
	4-byte	L-Trans-ejT[oreadpCvfile descriptor
	4-byte	L-Trans-ejT[o writepCvfile descriptor
	4-byte	L-Trans-jeT[oreadpCvfile descriptor
	4-byte	L-Trans-jeT[o writepCvfile descriptor
	4-byte	L-Trans-ejT[õvZXԍ
	4-byte	L-Trans-jeT[õvZXԍ

    trns_get_status ȊÕvgRׂ͂āAeg_init ɑăT[oɑ
    Kv܂B

2) trns_divide_sentence

    Tv ̕s܂B

    Request
    	4-byte	ʃR[h 0xf0001b
	4-byte	ej/je̎w ej:1 je:2
	4-byte	ꂽes̐擪2oCg̏񕶎t邩
		(0:tȂ 1:t)
	string	琬镶
    Response
        4-byte	Xe[^X
		0  c I
		 c ُI
			i֌W̃G[R[h -205, -206 ȊO
			  G[ꍇAȍ~̏͂܂j
	4-byte	̐
	string*n	

     1024 oCg𒴂ꍇ́AKɂłȂ
    ߁A1024 oCgɋIɕA "!" t܂B

3) eg_init

    Tv |GW̏s܂B

    Request
    	4-byte	ʃR[h 0xf00001
	4-byte	ej/je̎w ej:1 je:2
	4-byte	0xe001 w肵܂
	string	[ŨOCA̍\zɎgp܂
    Reqponse
    	4-byte	Xe[^X
		0  c I
		 c ُI

4) eg_end

    Tv |GW̏Is܂B

    Request
    	4-byte	ʃR[h 0xf00002
	4-byte	ej/je̎w ej:1 je:2
    Response
    	4-byte	Xe[^X(Ƀ[ł)

    eg_init Ŏw肵 ej/je ɑΉ|T[oI܂B

5) eg_translate_one

    Tv 1̌|󂵂܂B

    Request
    	4-byte	ʃR[h 0xf00004
	4-byte	ej/je̎w ej:1 je:2
	4-byte	0w肵܂
	4-byte	󕶗pobt@TCY
	2-byte*n  2-byte0w肵܂
	2-byte*n  2-byte0w肵܂
	4-byte	0w肵܂
	string	
    Response
	4-byte	Xe[^X
		0  c I
		 c ُI	iXe[^X݂̂ԂAȍ~͕̏
				܂j
	2-byte*n  2-byte0PԂ܂
	string	

6) eg_getequiv

    Tv Ɩ󕶂̊Ԃ̖Ή擾܂B

    Request
	4-byte	ʃR[h 0xf00007
	4-byte	ej/je̎w ej:1 je:2
	4-byte	Pꂪ󕶂 (which)
		0 = ̒Pw
		1 = 󕶑̒Pw
	4-byte	ΉƂʒu (start)
    Response
	4-byte	Xe[^X
		 c Pԍ
		 c ُI	iXe[^X݂̂ԂAȍ~͕̏
				܂Bj
	2-byte*n	Ή\(pequiv)

    which  start ɂāA͖󕶂̔Cӂ̃Jʒuw肷邱
    ɂAw肵JʒuɂPɑ΂̈ʒu
    ܂B

    Ή\
	typedef struct {
	    2-byte orignum;		/* ̃`N */
	    2-byte trannum;		/* 󕶑̃`N */
	    TEXT_RANGE  range[MAX_EQUIV_RANGE]; /* `NXg */
	} TRAN_EQUIV;

	typedef struct {
	    2-byte start;		/* Jnʒu */
	    2-byte len;			/* ̒ */
	} TEXT_RANGE;

	 \(pequiv)̕
	pequiv[0]	orignum
	pequiv[1]	trannum
	pequiv[2]`pequiv[2*orignum+1]
			start, len ̌JԂ orignum ̒l
	pequiv[2*orignum+2]`pequiv[2*(orignum+trannum)+1]
			start, len ̌JԂ trannum ̒l

7) eg_getword

    Tv eg_getequiv Ŏw肵Pɑ΂ÃXg擾܂B

    Request
	4-byte	ʃR[h 0xf00008
	4-byte	ej/je̎w ej:1 je:2
	4-byte	Pԍ
	4-byte	obt@TCY
	4-byte	ȋSĂ̖\邩ǂ
		0 = ȋSĂ̖擾܂
		  0 = ił߂̓擾܂
		(je  0 Œł)
    Response
	4-byte	Xe[^X
		 c ̐
		 c ُI	iXe[^X݂̂ԂAȍ~͕̏
				܂j
	4-byte	̃TCY
	n-byte	

    ́Aobt@ɁA

		id\0 id\0 id\0ccc

    Ƃ悤ɁA2-byte̎ʎq(eg_setdictnameQ)̌ɖꂪzu
    񂪕Ԃ܂B

8) eg_setword

    Tv ⃊XgI|T[oɒʒm܂B

    Request
	4-byte	ʃR[h 0xf00009
	4-byte	ej/je̎w ej:1 je:2
	4-byte	Pԍ
	4-byte	Iԍ
    Response
	4-byte	Xe[^X
		0  c I
		 c G[R[h

    eg_getword ɂēꂽ⃊XgAIAT[oɒʒm
   ܂BύX̍Ė|󂵂󕶂́Aeg_gettrntxt Ŏ擾܂B

9) eg_gethinshi

    Tv eg_getequiv Ŏw肵P̕ĩXg擾܂B
         ej ł̂ݎgp܂B

    Request
	4-byte	ʃR[h 0xf0000a
	4-byte	ej/je̎w ej:1 je:2
	4-byte	Pԍ
	4-byte	obt@TCY
    Response
	4-byte	Xe[^X
		0  c I
		 c ُI	iXe[^X݂̂ԂAȍ~͕̏
				܂j
	4-byte	ĩTCY
	n-byte	i

    íAobt@ɁA

		id\0 id\0

    Ƃ悤ɁA2-byte̎ʎq(eg_setdictnameQ)̌ɕizu
    Ԃ܂B


10) eg_sethinshi

    Tv i⃊XgIi|T[oɒʒm܂B

    Request
	4-byte	ʃR[h 0xf0000b
	4-byte	ej/je̎w ej:1 je:2
	4-byte	Pԍ
	4-byte	Iiԍ
    Response
	4-byte	Xe[^X
		 c ̐
		   c G[R[h

    eg_gethinshi ɂēꂽ⃊XgAiIA|T[o
    ɒʒm܂BiύX̍Ė|󂵂󕶂́Aeg_gettrntxt Ŏ擾܂B


11) eg_gettrntxt

    Tv ύXEiύX̍Ė|󕶂擾܂B

    Request
	4-byte	ʃR[h 0xf0000c
	4-byte	ej/je̎w ej:1 je:2
	4-byte	obt@TCY
    Response
	4-byte	Xe[^X
		0  c I
		 c ُI	iXe[^X݂̂ԂAȍ~
				͕Ԃ܂j
	string	

    eg_setword, eg_sethinshi ŖIAiI̍Ė|󕶂擾܂B
    O eg_translate_one őꂽgp|󂪍s܂B


12) eg_setmode

    Tv |GW̋ω郂[hݒ肵܂B

    Request
	4-byte	ʃR[h 0xf00011
	4-byte	ej/je̎w ej:1 je:2
	string	|󃂁[h\
    Response
	4-byte	Xe[^X(Ƀ[Ԃ܂)

    |󃂁[h́Aȉ̂悤ȍ\Ŏw肵܂B

    (ej)
	ȉ̕CӂɑIŕׂ́B

	C = 啶ʂȂ
	O = ͂̏ł邾ۑ
	I = ߌ`𕽏ƂĈ
	D = uł܂vɂ
	K = J^JiuEvłȂ
	W = PwKs
	P = iwKs

    (je)
	nnnnm:s0,s1,....sx:m:s0,s1,....sx
	||||| |            | |
	||||| |            | +- ₤ړǏ╶̃Xg(J}ŋ؂)
	||||| |            +- ₤ړIƂĉԖڂ̗̌p邩 
	||||| |               (0n܂)
	||||| +- ₤̌╶̃Xg(J}ŋ؂)
	||||+- ₤ƂĉԖڂ̗̌p邩 (0n܂)
	|||+- u`Ăv̖󂵕('1','2','3'̂ǂꂩ) 
	||+- ȗ̈('1','2','3'̂ǂꂩ)
	|+- not Zk`Ŗ ('1')/ Zk`ɂȂ('0')
	+- wKgp('1')^gpȂ('0')

	n : ꌅ̐
	m : ̐
	s0, s1,,, sx : P

	Eȗ̈:
		'1' c m  s? Ŏw肳ꂽ₢܂
		'2' c 󓮑ԂŖ|󂵂܂
		'3' c ߌ`Ŗ|󂵂܂

	Eu`Ăv̖󂵕:
		'1' c ݌`Ŗ|󂵂܂
		'2' c ݐis`Ŗ|󂵂܂
		'3' c `Ŗ|󂵂܂

	E₤̗̌:
		I,we,you,it,he,she,they

	E₤ړǏ̗: (󔒂́AȂƂ)
		 ,it,you,them,us,me,him,her,that

13) eg_setdictname

    Tv |Ɏgp鎫ݒ肵܂B

    Request
	4-byte	ʃR[h 0xf00013
	4-byte	ej/je̎w ej:1 je:2
	4-byte	Rs[^pꎫ̎gp gp:1 gpȂ:0
	4-byte	wK̎gp gp:1 gpȂ:0
	4-byte	gp鎫̐(ndic)
	n-byte	gp鎫
    Response
	4-byte	Xe[^X
		0  c I
		 c ُI	iXe[^X݂̂ԂAȍ~͕̏
				܂j
	4-byte*n	̎

    Request́ugp鎫v̎ẃAEG_DICNAME_T \̂̕тŎw肵܂B

	typedef struct {
	    2-byte kind;
	    1-byte id[2];
	    1-byte name[256];
	} EG_DICNAME_T;

	kind c ̎
		0 = VXe
		1 = ݉\ȃ[U
		2 = ǂݏop̃[U
		3 = pꎫ
		4 = wK
		99 = w肵I[vłȂꍇɁAResponse ̎
		     ʂ̑Ήʒu99Ԃ܂B

	id c ̎ʎq
	      [0-9A-Z][0-9A-Z]̑głB
	      ⃊XgԂƂɎgp܂

	name c t@C̃pX
		΃pX('/'Ŏn܂pXjwł܂B΃pXȊOw
		肳ꂽꍇ́A|GWŃpX쐬܂B
	        gq͏ȗ邱Ƃ͉\łB

14) eg_clear_cache 

    Tv ẽLbVNAB
         ej ł̂ݎgp܂B

    Request
	4-byte	ʃR[h 0xf00014
	4-byte	ej/je̎w ej:1 je:2
    Response
	4-byte	Xe[^X(Ƀ[Ԃ܂)

    eg_setmode, eg_setdictname ɂāAGW̐ݒύXꍇɁA
    {֐ŕϊGW̃LbVNAKv܂B

15) eg_browse_dict

    Tv ̓eQƌ`(u̎v̌`)Ŏ擾܂B

    Request
	4-byte	ʃR[h 0xf00015
	4-byte	ej/je̎w ej:1 je:2
	4-byte	obt@TCY
	string	o
    Response
	4-byte	Xe[^X
		0  c I
		 c ُI	iXe[^X݂̂ԂAȍ~͕̏
				܂j
	string	Qƌ

    gpׂ̂Ă̖|󎫏ΏۂɁAoA̓o^eQ
    `擾ł܂B

