3.5     I[g}giRiQsj

3.5.1@͂߂
@I[g}ǵAȊϊtgGhvZbT uum Ȃ (ȌAP
uum ƌĂ) ̃[}ȕϊĂ@\ŁAϊeݒ肵
\ (ϊ\ƌĂ) ς邱ƂŔCӂ̕ϊɂ邱ƂłB܂A
VXeɂ́AƓ̋@\I[g}gCu ({
Cu (libwnn)  romkan_ Ŏn܂֐) A푽lȕϊvO
ɉpłB


3.5.2@@\  
@I[g}ǵAϊ\ɏ]ĒɌ΂ꂽR̕ϊ (ɁAOA
{A㏈ƌĂ) sA̍ŏIʂo͂BR̏́A
ꂼ̕ϊ\ɊÂĕϊsB܂AI[g}ǵA[h@
\B[h؂ւ邱ƂɂAR̏Ŏgp\̑gݍ
킹𓮓IɕύXłB̃[h̐ݒA؂ւR[h̐ݒϊ\
ōsB

@ϊ\AeLXgt@Cł邽߁A\͗eՂɕύXłACӂ̕
\ɕύXłB܂AP̕ϊsA̕ϊs܂ł́A BS
(obNXy[X) ɂϊ̂PȌԂɖ߂ƂłB
    
@uum ̃[}ȕϊł́A{Łup啶Ђ炪ȁv̕ϊ
sȂAOŁup啶p啶vAupp啶v̐؂
ւA܂㏈ł́uЂ炪ȁЂ炪ȁvAuЂ炪ȁJ^JivAuЂ
ȁpJ^Jiv̐؂ւsƂɂA[}ȕϊ̓́E
o͂̐̃P[XɑΏĂB
 
			I[g}g		
			      	          
	       O 
	    ̈́  \  ͑啶              
	        ϊ               
	   p (p)      
	   E               	   
			 { 
			 p啶Ђ炪Ȅ             
			 ̕\ɊÂĕϊ  
			  
			                      	 
			 ㏈ 	
			  Ђ炪ȂKv           
			  ăJ^Ji  \  o  ̈́ 
			  pJiɕϊ        
			      
			

3.5.3@ϊ\
@I[g}ǵAϊ\ƂĎ̕\gpB


		iPj[h`\
		                [h錾EgpΉ\w肷\B
		                t@C "mode" łB     
		
		
	ϊ\               
				 O\ ... OŎgpΉ\B    
						'1'Ŏn܂t@CB
				 
				
		iQjΉ\   {\ ... {ŎgpΉ\B
						'2'Ŏn܂t@CB
				
				
				 ㏈\ ... ㏈ŎgpΉ\B
						'3'Ŏn܂t@CB
					     
					OE{E㏈łꂼ
					Cӂ̐̑Ή\gpłB 


@[h`\ɂ́A[h̐錾Ae[hŎgpΉ\̑gݍ킹
Ƃ̌KLqB

@Ή\ɂ́A̓R[hƏo̓R[hƂ̑ΉLqBΉ\́AOE
{E㏈̂RɕAꂼACӂ̐̕\gpłB

@uum ́A[h`\ȉ̏ԂŒTB

@@1. uum ̃IvV -r ɂwB

@@2. uum t@C uumrc  setrkfile GgɂwB

@@3. t@C /usr/local/lib/wnn/rk/mode


@\̋Lq@̂A

@@c @	́AOȏ̌JԂA
@@c c	́APȏ̌JԂA
@@[   ]	́Aȗ\

Aꂼ\킷B

3.5.4@[h`\
@[h`\ɂ́A[h錾Ae[hŎgpΉ\̑gݍ킹
̌KA[h\񂪋LqB
@[h`\́A (1),(2),(3),(4) ō\BAs̐擪
܂͋󔒕 (^u܂) ɑAGXP[vĂȂG
s܂ł́̕AߕƂĈB

@(1) ꕶ

@@@ꕶƂẮAȉɎ̂B

	@HOME		ϐ HOME \킷B
	@MODEDIR	[h`\݂̑fBNg\킷B
	@LIBDIR		Wݒ肪Ăϊ\݂fBNg
			(/usr/local/lib/wnn/)

	~user		user [UȂ΁Ã[ŨOCfB
			Ng\킷Buser ̎w肪Ȃ΁A
			̃OCEfBNg\킷B

@(2) [h錾

@@@[h錾̏́ÂƂB

	(defmode  [h [])

	E[h́ApȂ镶łB
	EԂ́Aon ܂ off w肷B ȗ́Aoff łB
	E[h錾́Ã[hgpOɍsB

@(3) Ή\̃T[`w

@@@Ή\̃T[`w̏́ÂƂB

	(search@fBNg c c )

	E[h`\Ŏw肳ꂽΉ\[h`\ƓfBNg
	@ȂꍇATɂfBNgw肷B

	EfBNǵA󔒂ŋ؂ĕwłB

	Esearch ́AΉ\̎wOɎw肳ĂȂ΂ȂȂB

	(path@fBNg c c )
	      
	EΉ\T[`邽߂ɊɊi[ĂfBNg폜A
	@Ɏw肳ꂽfBNgi[B

	EfBNǵA󔒂ŋ؂ĕwłB

	Esearch ́AΉ\̎wOɎw肳ĂȂ΂ȂȂB
	      
@(4) Ή\ƃ[h\̎w

@@@w@́ÂRB

	[1] Ή\̃t@C܂̓[h\ c c@

	[2] (if     Ή\̎w܂̓[h\ c )

	[3] (when    Ή\̎w܂̓[h\ c )

@@@Ή\ '1'A'2'A'3' ̂ǂꂩŎn܂t@Cw肷B
@@pXɂwłB
@@@[h\́ÂƂ̃[h\ " " ň͂񂾕
    łB

	(a) " "  		ϊ ON ̂Ƃ̃[h\\킷B 

	(b) (on_dispmode " ")	ϊ ON ̂Ƃ̃[h\\킷B 

	(c) (off_dispmode " ")	ϊ OFF ̂Ƃ̃[h\\킷B 

	(d) (on_unchg)		ϊ ON ̂Ƃ̃[h\[h
				`FWOƓ[h\\킷B
 
	(e) (off_unchg)		ϊ OFF ̂Ƃ̃[h\[h
				`FWOƓ[h\\킷B

@@@uum ł́A̕񂪃[h\ɎgpB

@@@I[g}gECu romkan_dispmode() ɂāA̕
    oƂłBA[h`\ɂ郂[h̃[h\
    񂪕悤ɋLqĂꍇAŌ̂̂Lł
    B

@@@[2]A[3] ́AɂđIΉ\ςƂɎgpB
@@[2]  if  ́Ȁ̌ʂ^Ȃ΁A if ̎wQ
    Aif ̎̎w͎QƂȂBUȂ΁A if 𔲂o
     if ̎̎wQƂB

@@@[3]  when ́Ȁ̌ʂ^Ȃ΁A̎̕wQ
    AUȂΎQƂȂBAif ƈقȂA̐^Uɂ炸
    when ̎̎wQƂB

@@@ȂA[2]A[3] ̑Ή\w肷ꍇɂ́A[2] ܂ [3] 
    AIɒ`łB


@@@ɂ͎̓PLqB

	[h		[h̏Ԃ on ̂Ƃ^
	(and    )	2̏^̂Ƃ^
	(or     )	ǂ炩̏^̂Ƃ^
	(not  )		ÛƂ^
	(false)			ɋU
	(true)			ɐ^
   
@@@Ⴆ΁A( [h` (defmode  kana)  (defmode  romajikana) 
    Ƃ) (and  kana  romajikana)́Aõ[h on ̂Ƃ^ɂȂB

@@@܂Ⴆ΁A(ł́Aŕ\Aϊ\̖O`abc
    ŕ\ƂK̂Ƃ)

	      (when  ` (if  a ) b ) (if  c ) d
   
@@ƏĂBāAɐ藧ĂƂ
@  B̕тŏ猩ĂB܂A(when  ` (if  a) b)
@   Bł́͐藧̂ŁAu` (if  a) bvƂтB
@  ͂߂ɁA\`IB

@    ɁA(if  a )āA藧̂ŁA\aIB
@  ̕ifŁA藧Ă̂ŁAݒڂĂ
@  u`(if  a)bv̂c͌̕ȂĂ悢BŁAu`(if  a)
@  bvƂтIƂɂȂ邪A̕т܂ł̂́Awhen
@  Ȃ̂ŁAɁu(when  ` (if  a )b) (if  c) dvƂ
@  ́Ac̕ɂB

@  @ɏĂ̂́A(if  c)łB藧̂ŁA\cI
@  邪AifȂ̂ŁAu(when  ` (if  a ) b ) (if  c ) dv
@  т̂Ac͌̕ȂĂ悢BāA\`AaAcI
@  B
@


@@@ɁAuum gp郂[h`\ƂĎB

@@@̃[h`\ł́AR̃[h`ĂB̌ 2A
@  _CTRL Ō܂łgpΉ\ƃ[h\̎włB
@  [hς邲ƂɁA̕\āAL̂悤ɂĎgp\̑I
@  sB

	  (defmode romkan)
	  (defmode katakana)
	  (defmode zenkaku)

	  2A_CTRL
	  (if romkan
		  1B_TOUPPER
		  2B_ROMKANA 2B_JIS
		  (if (not katakana) "[r]")
		  (if zenkaku 3B_KATAKANA "[Ar]")
		  3B_HANKATA "[r]")

	  2B_DAKUTEN
	  (if (not katakana)
		  1B_ZENHIRA
		  (if zenkaku 3B_ZENKAKU "[ ]")
		  "[A]")
	  (if zenkaku
		  1B_ZENKATA
		  3B_ZENKAKU
		  "[A ]")
	  "[A]"
								
@@@Ԃ́AromkanAkatakanaAzenkaku ̃[hSĂ off łB
@  ̂Ƃ\́An߂ 2A_CTRL IBromkan  off Ȃ̂ŁA
@   if͎QƂȂBāA2B_DAKUTEN IB if̏
@   (not katakana) ́Akatakana off ̂Ő^ƂȂB if
@  QƂA1B_ZENHIRA IB if ifQƂB
@  ifł zenkaku  off ɂȂĂ邽ߏUƂȂBāA
@   if ͎QƂȂB
@@@ɁA[h\ "[A]" IBāAc̕ϊ\
@@͌ȂB

3.5.5@Ή\
@Ή\ɂ́AOE{E㏈̂ꂼꂪsϊf[^ (̓R[hƏo
̓R[hƂ̑Ή) LqB

@OE㏈́A{̕⏕ƂʒutȂĂB̂ƂA
OE㏈̑Ή\ɂ͎̐ۂB

O\@@L (2) ̋LqłȂB
	@@܂A(1) ̓̓R[hEo̓R[hɂ́Aꂼ]ƕ
	    ɂȂ鎮PBobt@cɂ͏ȂB

㏈\@@L (2) ̋LqłȂB
	@@܂A(1) ̓̓R[hɂ́A]ƕɂȂ鎮P
	    Bobt@cɂ͏ȂB

@Ή\̍ŝAs͎ (1)|(3) ̂PA܂͋słB
̌JԂőΉ\\B

	(1)    ̓R[h     [o̓R[h     [obt@c]]

	(2)    ̓R[h     @\

	(3)    ϐ錾    

@QsɓnċLqĂ͂ȂȂB܂As܂͋󔒕(^
u܂) ɑAGXP[vĂȂ ; s܂ł́̕A
ߕƂĈB
@o̓R[h̏ȗAуobt@c̏ȗ̓kXgO̕Ƃ
B
@̓R[hAo̓R[hAуobt@cɋLqł̂́Au]
ƕɂȂ鎮vƁu]ƕɂȂ鎮v󔒂Ȃɕׂ̂
B
@ŁA]ƕ܂͕ɂȂ鎮Ƃ́A̎ɂĕ
邢͕ɒuÂ悤Ȏ̂ƂłB



@]ƕɂȂ鎮ɂ́Â̂B

@(1) \L

@@@\LLɎ(u]ƕɂȂ鎮v̕\LƂ͈ق
    )B

@@@	u(vu)vu'vu"vu\vu;vu vB

@@@''	̎łu'vu\vu^v͏B

@@@'^'	Rg[\B ASCIIR[h 32`126 ̕
		܂͉pB
		u^?v́ADELR[h\킷B

@@@'\'	u\v̎̕\B̎ł͐
		odx ͏B
		'\n','\t','\b','\r','\f' ͂b̃GXP[vƓ
		B'\e','\E'  ESCR[h\킷B

@@@'\WiR[h c c'	̂WiR[h\B

@@@'\oWiR[h c c'	̂WiR[h\B

@@@'\d10iR[h c c'	10iR[h\B

@@@'\x16iR[h c c'	16iR[h\B

@(2) (֐  ]ƕɂȂ鎮)  

@@@@֐			@  \

@@@toupper		 ASCII pȂΑ啶ɕςB
				(toupper  a)  A 

@@@tolower		 ASCII p啶ȂΏɕςB
				(tolower  A)  a  

@@@toupdown		 ASCII p()ȂΑ()ɕςB  
				(toupdown  a)  A 
				(toupdown  A)  a 

@@@tozenalpha	 ASCII ȂΑΉSpɕςB
				(tozenalpha  A)  `

@@@tohira		SpJ^JiȂ΂Ђ炪ȂɕςB
				(tohira  A)  

@@@tokata		Ђ炪ȂȂΑSpJ^JiɕςB
				(tokata  )  A

@@@tozenhira		pJ^JiȂ΂Ђ炪ȂɕςB
				(tozenhira  )  

@@@tozenkata		pJ^JiȂΑSpJ^JiɕςB
				(tozenkata  )  A

@@@value		̕R[hۂ̐lɂB
				(value  0)  '\x0'
				(value  A)  '\xA'
				(value  F)  '\xf'

@(3) (֐  ]ƕɂȂ鎮  ]ƕɂȂ鎮)

@@@֐			@  \

	+		̘alɂB 

	-		̍lɂB

	*		̐ςlɂB

	/		̏lɂB
				(+    '\d256' )  A
				(+  0  (value 3))  3

@(4) (ϐ)

@@֐A@\A錾 (defvar) ƂvȂpŎn܂p
@Ȃ镶B(ϐ̍QƁB)
@A'_' pƂ݂ȂB


@]ƕɂȂ鎮ɂ́Â̂B

@(1) "\L c "

@@@\LLɎ(u]ƕɂȂ鎮v̕\LƂ͈ق
    )B

@@@	u"vu^vu\vB

@@@^	Rg[\B ASCII R[h 32`126 ̕
		܂͉pBu^?v́ADELR[h\킷B

@@@\	͐ odx B
		'\n','\t','\b','\r','\f' ͂b̃GXP[vƓ
		B'\e','\E'  ESCR[h\킷B

@@@\WiR[h  c c[G]	̂WiR[h\B
				ɐꍇuGvKvB     

@@@\oWiR[h c c[G]	̂WiR[h\B
				ɐꍇuGvKvB     

@@@\d10iR[h c c[G]	10iR[h\B
				ɐꍇuGvKvB     

@@@\x16iR[h c c[G]	16iR[h\B
				ɐꍇuGvKvB     

@@@"" (\L̏ȗ)̓kXgO\B

@(2) (֐  ]ƕɂȂ鎮)

	֐                @  \
@@@tohankata		SpЂ炪ȁESpJ^JiȂΔpJ
			^JiɕςB
				(tohankata  )  

@@@last=		ŌɃ}b`̍Ō̕Ɗ֐̈
			(]ƕɂȂ鎮) v邩Bv
			Ȃ (last= ]ƕɂȂ鎮) ͋󕶎
			ɂȂB
				 (last=  A) `    

			 Alast= ́A̓R[hɂ̂݋LqłB

@@@todigit		ŗ^ꂽR[h̃R[h
			i@̐ɕϊB

@@@dakuadd		̌ɑ_tB

@@@handakuadd	̌ɔ_tB 


@(3) (֐  [h)

@@@[h̓[h`\Ő錾ꂽ̂ł͂ȂĂ͂ȂȂB

	֐		@  \

@@@if	ł郂[h on Ȃ(if  [h)͋󕶎
		ɂȂB 
			(if  katakana)VU     

@@@unless	ł郂[h off Ȃ(unless  [h) 
		󕶎ɂȂB 
			(unless  katakana)VU     

@@@on	ł郂[h on ɂB
			(on  katakana)

@@@off	ł郂[h off ɂB
			(off  katakana)

@@@switch	ł郂[h on Ȃ off ɁA off Ȃ on 
		B
			(switch  katakana) 

@@@Aif,unless ́A̓R[hɂ̂݋LqłB
@@@܂Aon,off,switch ́A{\̏o̓R[hɂ̂݋LqłB


@(4) (֐)

@@@{\̏o̓R[hɂ̂݋LqłB

	֐                @  \

@@@allon                 SẴ[h on ɂB

@@@alloff                SẴ[h off ɂB



@@  \

@@@\ɂ͉L̂QAꂼPƂŗpB

@@(error) 	̓R[h̃̕R[h͂ꂽG[Ƃ݂ȂB

@@(restart)	Õ[h`\߂ēǂݍŕϊ̍Đݒs
		B
		Vϊ\ɃG[΃G[bZ[W\
		A̕ϊ\̐ݒɖ߂B



@ϐ錾

	(defvar   ϐ\L   (list \L c c ))
	(defvar   ϐ\L   (all))

@@]ƕɂȂ鎮ƂĎgpϐƂ̕ψ̒`sB
@@錾́AL̕@ōsB
@@ϐ\ĹAϐ ܂ (ϐ c c ) łB
@@\ĹAu]ƕɂȂ鎮v̕\LƓB
@@list ́Ä̕ψƂB
@@all ́ASĂ̕ψƂB
@@ϐ̍QƁB




@֐̎gp̒

@@֐͕]ƕ܂͕ɂȂ鎮ł邽߁A
	(toupper (tolower Y))
@ƏBÂ悤ɕ]ƕɂȂ֐͑̊֐̈
  ɂłȂB
	(toupper (tohankata ))

3.5.6@ϐ
@ϐ͓p^[̕ϊʂꍇɌʂ𔭊B
Ⴆ΁A

	
	  (defvar   a1   (list  K S T H Y R W G Z D B P)) 
	  (a1)(a1)     (a1)                             
	

@̂Qs͎̋LqƓϊB
@̓[}ȕϊɂ鑣łB

	
	  KK        K   
	  SS        S        
	  TT        T       
	  E    E    E    
	  E    E    E   
	  (        )  
	  PP        P    
	  
   
@ϐ́Aϐ錾 (defvar) ōsψ̕lƂB


ϐgp̒ӎ

  (1) gpϐ͂̕\̒ɂ defvar Œ`Ȃ΂Ȃ
      B

  (2) ϐ̒`͂̕\̒ŜŗLłB
      P̕\a1Ƃϐ`Aʂȕ\a1Ƃϐʗlɒ`
      Ă܂ȂB
      ̂Qa1͕ʂ̕ϐƂĈB
      ̂ƂAtɂP̕\̒œ̕ϐQx defvar 邱Ƃ͂ł
      B

  (3) Ή\̂Ps̒ł́A̕ϐ͏ɓlB

	(defvar  a1  (list  `  a))
	(a1)(tolower (a1))   R

@@@̏ꍇAuAav,uBbvƂ񂪁uRvɕϊB
     uAbv,uBav͕ϊȂB

  (4) ̓R[hƕ\̓̓R[hƂ̃}b`O͍sB̂߁A
      \̓̓R[h猩ĂƂAϐ̕Ƀ}b`
      OɊ֐̈ƂČĂ͂ȂB

	(defvar  a1  (list    ))
	(toupper (a1))(a1)   R

      ̏ꍇuAavƓ͂ƁuRvɕϊĂꂻɎv邪Aۂ
      ͍}b`悤ƂāAu`v (toupper (a1)) ̃}b`O
      ݂ĂA܂lȂϐa1 toupper ̈ɂȂĂ̂ŋ
      ȂB
      ̂悤Ȑݒ́A\ǂݍݎɃ`FbNB

  (5) ϐo̓R[hobt@c蕔ɏꍇA̓R[hɌ
@@@(܂A̓R[hƂ̃}b`Oŉ炩̒l) ϐł
      ΂ȂȂB

	(defvar  a1  (list  j  r))
	(defvar  a2  (list  ))
	(a1)(a1)   (a2)    (a1) 

      ̏ꍇA̓R[hŃ}b`OsȂϐ a2 o̓R[h
      ɌĂ̂ŋKᔽłB

3.5.7    ϊ̕
@܂A͂R[h𕶎Pʂɂ܂Ƃ߂ (QoCgR[h̕
PƂĈ)B̓R[hƂB́AOE{ÊRo
čŏIo͂ƂȂBOł́A̓R[hPɑ΂ďo̓R[hP
tB̏o̓R[h{R[h̓̓R[hɂȂB

@O\̂ݎgpĂ\̓̓R[h̕ォ珇Ɍ
BŏɎۂ̓̓R[hƍvƂŁA̍s̏o̓R[h̕
ɏĂ̂o͂BA\IĂƂ́A
[h`\ŐɎQƂꂽ̂猩ĂB܂Aۂ̓̓R[h
v̂\ɂȂƂ (\PIȂ܂) ́A̓R
[ĥ܂܏o͂B́A{A㏈ɂĂlłB

@{ł́A̓R[h\̓̓R[h̕ƍv\ (
̓R[h̐̕擪牽͈vĂ) A̓R[h́A
obt@ɒǉBobt@ɓ̓R[hǉ邲ƂɁA{\
̓̓R[h̕ォ珇ɌĂăobt@ƔrBŁA
obt@̓e\̓̓R[h̍̕Œ̂̂ƍv\ (
R[hɕ̐擪牽͈vĂ) ΁Aϊm
Ƃf̂ƂɁAϊs킸Ɏ̓̓R[h҂B

@AʏȂǂ̓sAobt@̃R[h͖m蕶Ƃďo
͂Bɓ̓G[A[hύXȂǂm点R[ho͂B

@̏o̓R[h͖{̏o̓R[hƂ͋ʂA㏈͍sȂB
(ڍׂ́ACu romkan_getc(3J_T) Q)

@obt@̓e\̓̓R[h̍̕Œ̂̂ƍv (
̂̂ΐɌ̂ƍv)Ȁo̓R[ho͂
Bobt@c̕Ȃ΃obt@̍vA
΁Aobt@̍vƓւAȏ̑삪JԂB

@\ɍv\̂̂ȂꍇAobt@̐擪
P̂܂܏o͂Bv̂̏o̓R[h̕[h̏
Ԃς֐ (on,off,switch Ȃ) łꍇAgpΉ\[
h`\̋LqɂĕύXB̃[hς֐́A
[h̏ (on, off) Ɋ֌WȂA₦gp\ɋLqĂ
B܂A@\ (restart) ̓̓R[h̕ɍvꍇ́A[h
`\̂̂̍ēǂݍ݂sBÃ[h`\͑OƓ
t@CłB̋@\gƂŁAI[g}g̎gpɏC
ϊ\ ([h`\܂) AI[g}gIɂ̕ϊe
邱ƂłB

@㏈ł́AP̓̓R[hɑ΂ĂPȏ̏o̓R[hŏIo͂
ďo͂Bo̓R[hPȏo͂邱ƂđOƓ
łB

@L̗ł́AuLsv܂́uLSv͂ꂽƂuls -la svo
B


	O\
	      
	        (defvar   a1   (list s))  
	        (a1)      (toupper (a1))  
	        

	{\
	      
	         LS        "LS -la\n"          
	        

	㏈\
	      
	         (defvar   a1   (all))    
	         (a1)      (tolower (a1))                
	        
