Canna37p3/0040755000076500001200000000000010052700747011652 5ustar shinraadminCanna37p3/.cvsignore0100644000076500001200000000024410043314005013633 0ustar shinraadmin.depend Makefile Canna.conf include cannaconf.h accanna.h accanna.h.in configure config.status config.log config.cache autom4te.cache pubconf.h cwenv.sh cwlocal.sh Canna37p3/accanna.h.in0100644000076500000000000001536310052700746014031 0ustar shinrawheel/* accanna.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the `bcopy' function. */ #undef HAVE_BCOPY /* Define to 1 if you have the `bzero' function. */ #undef HAVE_BZERO /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ #undef HAVE_DOPRNT /* Define to 1 if you have the `dup2' function. */ #undef HAVE_DUP2 /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `FD_ISSET' function. */ #undef HAVE_FD_ISSET /* Define to 1 if the system has the type `fd_set'. */ #undef HAVE_FD_SET /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK /* Define to 1 if you have the `gethostbyaddr' function. */ #undef HAVE_GETHOSTBYADDR /* Define to 1 if you have the `gethostbyname' function. */ #undef HAVE_GETHOSTBYNAME /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define to 1 if you have the `index' function. */ #undef HAVE_INDEX /* Define to 1 if you have the `inet_aton' function. */ #undef HAVE_INET_ATON /* Define to 1 if you have the `inet_ntoa' function. */ #undef HAVE_INET_NTOA /* Define to 1 if the system has the type `int32_t'. */ #undef HAVE_INT32_T /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if the system has the type `in_addr_t'. */ #undef HAVE_IN_ADDR_T /* Define to 1 if you have the `isascii' function. */ #undef HAVE_ISASCII /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define to 1 if you have the `memchr' function. */ #undef HAVE_MEMCHR /* Define to 1 if you have the `memcpy' function. */ #undef HAVE_MEMCPY /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the `mkdir' function. */ #undef HAVE_MKDIR /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP /* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP /* Define to 1 if you have the header file. */ #undef HAVE_NETDB_H /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the `rename' function. */ #undef HAVE_RENAME /* Define to 1 if you have the `select' function. */ #undef HAVE_SELECT /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if you have the `setsid' function. */ #undef HAVE_SETSID /* Define to 1 if you have the `socket' function. */ #undef HAVE_SOCKET /* Define to 1 if the system has the type `socklen_t'. */ #undef HAVE_SOCKLEN_T /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ #undef HAVE_STAT_EMPTY_STRING_BUG /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strlcpy' function. */ #undef HAVE_STRLCPY /* Define to 1 if you have the `strrchr' function. */ #undef HAVE_STRRCHR /* Define to 1 if you have the `strspn' function. */ #undef HAVE_STRSPN /* Define to 1 if `h_addr_list' is member of `struct hostent'. */ #undef HAVE_STRUCT_HOSTENT_H_ADDR_LIST /* Define to 1 if you have the `syslog' function. */ #undef HAVE_SYSLOG /* Define to 1 if you have the header file. */ #undef HAVE_SYSLOG_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIMEB_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if the system has the type `time_t'. */ #undef HAVE_TIME_T /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the header file. */ #undef HAVE_VFORK_H /* Define to 1 if you have the `vprintf' function. */ #undef HAVE_VPRINTF /* Define to 1 if you have the `vsyslog' function. */ #undef HAVE_VSYSLOG /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK /* Define to 1 if `vfork' works. */ #undef HAVE_WORKING_VFORK /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ #undef LSTAT_FOLLOWS_SLASHED_SYMLINK /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE /* Define to 1 if the `setpgrp' function takes no argument. */ #undef SETPGRP_VOID /* The size of a `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to `long' if does not define. */ #undef off_t /* Define to `int' if does not define. */ #undef pid_t /* Define to `unsigned' if does not define. */ #undef size_t /* Define as `fork' if `vfork' does not work. */ #undef vfork Canna37p3/canna/0040755000076500001200000000000010052700672012727 5ustar shinraadminCanna37p3/canna/.cvsignore0100644000076500001200000000002107601177333014725 0ustar shinraadmin.depend Makefile Canna37p3/canna/ccompat.h0100644000076500001200000000666307734515543014554 0ustar shinraadmin/* Copyright (c) 2002 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: ccompat.h,v 1.10 2003/09/25 07:38:11 aida_s Exp $ */ #ifndef CCOMPAT_H #define CCOMPAT_H #include "cannaconf.h" #if defined(__STDC__) || defined(__cplusplus) # define pro(x) x #else # define pro(x) () #endif #ifdef HAVE_STDLIB_H # include #else extern char *malloc(), *realloc(), *calloc(); extern void free(); #endif #ifdef HAVE_STRING_H # include #endif #ifdef HAVE_STRINGS_H # include #endif #if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H) # include #endif #include #ifdef luna68k extern int errno; #endif #include "canna/sysdep.h" #if defined(HAVE_STRCHR) && !defined(HAVE_INDEX) && !defined(index) # define index(s, c) strchr(s, c) # define rindex(s, c) strrchr(s, c) #elif !defined(HAVE_STRCHR) && defined(HAVE_INDEX) && !defined(strchr) # define strchr(s, c) index(s, c) # define strrchr(s, c) rindex(s, c) #endif #if defined(HAVE_MEMSET) && !defined(HAVE_BZERO) && !defined(bzero) # define bzero(buf, size) ((void)memset((char *)(buf), 0x00, (size))) #endif #if defined(HAVE_MEMCPY) && !defined(HAVE_BCOPY) && !defined(bcopy) # define bcopy(src, dst, size) ((void)memmove((char *)(dst), (char *)(src), (size))) #elif !defined(HAVE_MEMCPY) && defined(HAVE_BCOPY) && !defined(memcpy) /* Don't use return value; bcopy() returns void */ # define memcpy(dst, src, size) bcopy((char *)(src), (char *)(dst), (size)) # define memmove(dst, src, size) bcopy((char *)(src), (char *)(dst), (size)) #endif #include "RKindep/cfuncs.h" #ifdef __GNUC__ # define UNUSED_SYMBOL __attribute__((__unused__)) # ifdef __ELF__ # ifdef __STDC__ # define WARN_REFERENCES(sym,msg) \ __asm__(".section .gnu.warning." #sym); \ __asm__(".asciz \"" msg "\""); \ __asm__(".previous") # else # define WARN_REFERENCES(sym,msg) \ __asm__(".section .gnu.warning.sym"); \ __asm__(".asciz \"msg\""); \ __asm__(".previous") # endif /* __STDC__ */ # endif /* __ELF__ */ #endif /* __GNUC__ */ #ifndef WARN_REFERENCES # define WARN_REFERENCES(sym, msg) struct cannahack #endif #ifndef UNUSED_SYMBOL # define UNUSED_SYMBOL #endif #if !defined(lint) && !defined(__CODECENTER__) # define RCSID(id) static const char rcsid[] UNUSED_SYMBOL = id #else # define RCSID(id) struct cannahack #endif #endif /* CCOMPAT_H */ Canna37p3/canna/Imakefile0100644000076500001200000000106307731751500014543 0ustar shinraadmin/* $Id: Imakefile,v 1.4 2003/09/17 03:21:36 aida_s Exp $ */ #include "../Canna.conf" CANNAROOT = .. CANNA_HEADER = jrkanji.h keydef.h mfdef.h sysdep.h OSDEP_HEADER = ccompat.h net.h widedef.h INT_HEADER = symbolname.h patchlevel.h protodefs.h rkcapi.h all:: LinkFileList(includes,$(CANNA_HEADER),$(CANNAROOT)/include/canna,../../canna) LinkFileList(includes,$(INT_HEADER),$(CANNAROOT)/include,../canna) LinkFileList(includes,$(OSDEP_HEADER),$(CANNAROOT)/include,../canna) InstallMultiple($(CANNA_HEADER),$(cannaIncDir)) depend:: Canna37p3/canna/jrkanji.h0100644000076500001200000002150007773337050014537 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * * 8/16 bit String Manipulations. * * "@(#)kanji.h 2.3 88/10/03 10:25:34" * "@(#) 102.1 $Id: jrkanji.h,v 1.8.2.2 2003/12/27 17:15:20 aida_s Exp $" */ #ifndef _JR_KANJI_H_ #define _JR_KANJI_H_ #ifndef _WCHAR_T # if defined(WCHAR_T) || defined(_WCHAR_T_) || defined(__WCHAR_T) \ || defined(_GCC_WCHAR_T) || defined(_WCHAR_T_DEFINED) # define _WCHAR_T # endif #endif #ifdef pro #define CANNA_PRO_PREDEFINED #else #if defined(__STDC__) || defined(__cplusplus) #define pro(x) x #else #define pro(x) () #endif #endif #include #include #include /* ¤É¤Î¤è¤¦¤Ê¾ðÊ󤬤¢¤ë¤«¤ò¼¨¤¹¥Õ¥é¥° */ #define KanjiModeInfo 0x1 #define KanjiGLineInfo 0x2 #define KanjiYomiInfo 0x4 #define KanjiThroughInfo 0x8 #define KanjiEmptyInfo 0x10 #define KanjiExtendInfo 0x20 #define KanjiKigoInfo 0x40 #define KanjiRussianInfo 0x80 #define KanjiGreekInfo 0x100 #define KanjiLineInfo 0x200 #define KanjiAttributeInfo 0x400 #define KanjiSpecialFuncInfo 0x800 /* KanjiControl ´Ø·¸ */ #define KC_INITIALIZE 0 #define KC_FINALIZE 1 #define KC_CHANGEMODE 2 #define KC_SETWIDTH 3 #define KC_SETUNDEFKEYFUNCTION 4 #define KC_SETBUNSETSUKUGIRI 5 #define KC_SETMODEINFOSTYLE 6 #define KC_SETHEXINPUTSTYLE 7 #define KC_INHIBITHANKAKUKANA 8 #define KC_DEFINEKANJI 9 #define KC_KAKUTEI 10 #define KC_KILL 11 #define KC_MODEKEYS 12 #define KC_QUERYMODE 13 #define KC_QUERYCONNECTION 14 #define KC_SETSERVERNAME 15 #define KC_PARSE 16 #define KC_YOMIINFO 17 #define KC_STOREYOMI 18 #define KC_SETINITFILENAME 19 #define KC_DO 20 #define KC_GETCONTEXT 21 #define KC_CLOSEUICONTEXT 22 #define KC_INHIBITCHANGEMODE 23 #define KC_LETTERRESTRICTION 24 #define KC_QUERYMAXMODESTR 25 #define KC_SETLISTCALLBACK 26 #define KC_SETVERBOSE 27 #define KC_LISPINTERACTION 28 #define KC_DISCONNECTSERVER 29 #define KC_SETAPPNAME 30 #define KC_DEBUGMODE 31 #define KC_DEBUGYOMI 32 #define KC_KEYCONVCALLBACK 33 #define KC_QUERYPHONO 34 #define KC_CHANGESERVER 35 #define KC_SETUSERINFO 36 #define KC_QUERYCUSTOM 37 #define KC_CLOSEALLCONTEXT 38 #define KC_ATTRIBUTEINFO 39 #define MAX_KC_REQUEST (KC_ATTRIBUTEINFO + 1) #define kc_normal 0 #define kc_through 1 #define kc_kakutei 2 #define kc_kill 3 #define CANNA_NOTHING_RESTRICTED 0 #define CANNA_ONLY_ASCII 1 #define CANNA_ONLY_ALPHANUM 2 #define CANNA_ONLY_HEX 3 #define CANNA_ONLY_NUMERIC 4 #define CANNA_NOTHING_ALLOWED 5 #ifdef IROHA_BC #define IROHA_NOTHING_RESTRICTED CANNA_NOTHING_RESTRICTED #define IROHA_ONLY_ASCII CANNA_ONLY_ASCII #define IROHA_ONLY_ALPHANUM CANNA_ONLY_ALPHANUM #define IROHA_ONLY_HEX CANNA_ONLY_HEX #define IROHA_ONLY_NUMERIC CANNA_ONLY_NUMERIC #define IROHA_NOTHING_ALLOWED CANNA_NOTHING_ALLOWED #endif #define CANNA_ATTR_INPUT ((char)'.') #define CANNA_ATTR_TARGET_CONVERTED ((char)'O') #define CANNA_ATTR_CONVERTED ((char)'_') #define CANNA_ATTR_TARGET_NOTCONVERTED ((char)'x') #define CANNA_ATTR_INPUT_ERROR ((char)'E') #define CANNA_MAXAPPNAME 256 typedef struct { unsigned char *echoStr; /* local echo string */ int length; /* length of echo string */ int revPos; /* reverse position */ int revLen; /* reverse length */ unsigned long info; /* ¤½¤Î¾¤Î¾ðÊó */ unsigned char *mode; /* ¥â¡¼¥É¾ðÊó */ struct { unsigned char *line; int length; int revPos; int revLen; } gline; /* °ìÍ÷ɽ¼¨¤Î¤¿¤á¤Î¾ðÊó */ } jrKanjiStatus; typedef struct { int val; unsigned char *buffer; int bytes_buffer; jrKanjiStatus *ks; } jrKanjiStatusWithValue; typedef struct { char *uname; /* ¥æ¡¼¥¶Ì¾ */ char *gname; /* ¥°¥ë¡¼¥×̾ */ char *srvname; /* ¥µ¡¼¥Ð̾ */ char *topdir; /* ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê */ char *cannafile; /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë̾ */ char *romkanatable; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë̾ */ char *appname; /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾ */ } jrUserInfoStruct; typedef struct { char *codeinput; /* ¥³¡¼¥É¼ïÊÌ */ int quicklyescape; /* µ­¹æÏ¢Â³ÆþÎÏ flag */ int indexhankaku; /* ¥¬¥¤¥É¥é¥¤¥ó¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹»ØÄê */ int indexseparator; /* ¥¬¥¤¥É¥é¥¤¥ó¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹»ØÄê */ int selectdirect; /* ¿ô»ú¥­¡¼¤Ë¤è¤ëÁªÂò flag */ int numericalkeysel; /* ¿ô»ú¥­¡¼¤Ë¤è¤ë¸õÊäÁªÂò»ØÄê */ int kouhocount; /* ¸õÊä¿ôɽ¼¨ */ } jrCInfoStruct; #define CANNA_EUC_LISTCALLBACK typedef struct { char *client_data; int (*callback_func) pro((char *, int, char **, int, int *)); } jrEUCListCallbackStruct; #ifndef CANNAWC_DEFINED # if defined(_WCHAR_T) || defined(CANNA_NEW_WCHAR_AWARE) # define CANNAWC_DEFINED # ifdef CANNA_NEW_WCHAR_AWARE # ifdef CANNA_WCHAR16 typedef canna_uint16_t cannawc; # else typedef canna_uint32_t cannawc; # endif # elif defined(_WCHAR_T) /* !CANNA_NEW_WCHAR_AWARE */ typedef wchar_t cannawc; # endif # endif #endif #ifdef CANNAWC_DEFINED typedef struct { cannawc *echoStr; /* local echo string */ int length; /* length of echo string */ int revPos; /* reverse position */ int revLen; /* reverse length */ unsigned long info; /* ¤½¤Î¾¤Î¾ðÊó */ cannawc *mode; /* ¥â¡¼¥É¾ðÊó */ struct { cannawc *line; int length; int revPos; int revLen; } gline; /* °ìÍ÷ɽ¼¨¤Î¤¿¤á¤Î¾ðÊó */ } wcKanjiStatus; typedef struct { int val; cannawc *buffer; int n_buffer; wcKanjiStatus *ks; } wcKanjiStatusWithValue; typedef struct { char *client_data; int (*callback_func) pro((char *, int, cannawc **, int, int *)); } jrListCallbackStruct; typedef struct { char *attr; long caretpos; } wcKanjiAttribute; #define listCallbackStruct jrListCallbackStruct #define CANNA_LIST_Start 0 #define CANNA_LIST_Select 1 #define CANNA_LIST_Quit 2 #define CANNA_LIST_Forward 3 #define CANNA_LIST_Backward 4 #define CANNA_LIST_Next 5 #define CANNA_LIST_Prev 6 #define CANNA_LIST_BeginningOfLine 7 #define CANNA_LIST_EndOfLine 8 #define CANNA_LIST_Query 9 #define CANNA_LIST_Bango 10 #define CANNA_LIST_PageUp 11 #define CANNA_LIST_PageDown 12 #define CANNA_LIST_Convert 13 #define CANNA_LIST_Insert 14 #endif /* CANNAWC_DEFINED */ #define CANNA_NO_VERBOSE 0 #define CANNA_HALF_VERBOSE 1 #define CANNA_FULL_VERBOSE 2 #define CANNA_CTERMINAL 0 #define CANNA_XTERMINAL 1 #ifdef __cplusplus extern "C" { #endif extern char *jrKanjiError; #ifdef CANNA_NEW_WCHAR_AWARE /* to avoid problems in old programs */ extern int (*jrBeepFunc) pro((void)); # define CANNA_JR_BEEP_FUNC_DECLARED #endif #ifdef __cplusplus } #endif #define wcBeepFunc jrBeepFunc #ifdef __cplusplus extern "C" { #endif int jrKanjiString pro((const int, const int, char *, const int, jrKanjiStatus *)); int jrKanjiControl pro((const int, const int, char *)); int kanjiInitialize pro((char ***)); int kanjiFinalize pro((char ***)); int createKanjiContext pro((void)); int jrCloseKanjiContext pro((const int, jrKanjiStatusWithValue *)); #ifdef CANNAWC_DEFINED #ifdef CANNA_NEW_WCHAR_AWARE # define wcKanjiString cannawcKanjiString # define wcKanjiControl cannawcKanjiControl # define wcCloseKanjiContext cannawcCloseKanjiContext #endif /*CANNA_NEW_WCHAR_AWARE */ int wcKanjiString pro((const int, const int, cannawc *, const int, wcKanjiStatus *)); int wcKanjiControl pro((const int, const int, char *)); int wcCloseKanjiContext pro((const int, wcKanjiStatusWithValue *)); #endif /* CANNAWC_DEFINED */ #ifdef __cplusplus } #endif #ifdef CANNA_PRO_PREDEFINED #undef CANNA_PRO_PREDEFINED #else #undef pro #endif #endif /* _JR_KANJI_H_ */ Canna37p3/canna/keydef.h0100644000076500001200000001661607554213560014366 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* @(#) 102.1 $Id: keydef.h,v 1.1.1.1 2002/10/19 08:27:28 aida_s Exp $ */ /* normal function keys */ #define CANNA_KEY_Nfer 0x80 #define CANNA_KEY_Xfer 0x81 #define CANNA_KEY_Up 0x82 #define CANNA_KEY_Left 0x83 #define CANNA_KEY_Right 0x84 #define CANNA_KEY_Down 0x85 #define CANNA_KEY_Insert 0x86 #define CANNA_KEY_Rollup 0x87 #define CANNA_KEY_PageDown CANNA_KEY_Rollup #define CANNA_KEY_Rolldown 0x88 #define CANNA_KEY_PageUp CANNA_KEY_Rolldown #define CANNA_KEY_Home 0x89 #define CANNA_KEY_Help 0x8a #define CANNA_KEY_KP_Key 0x8b /* ¤É¤¦¤¤¤¦°ÕÌ£¤ÇÆþ¤ì¤¿¤ó¤À¤Ã¤±¡© */ #define CANNA_KEY_End 0x8c /* shifted function keys */ #define CANNA_KEY_Shift_Nfer 0x90 #define CANNA_KEY_Shift_Xfer 0x91 #define CANNA_KEY_Shift_Up 0x92 #define CANNA_KEY_Shift_Left 0x93 #define CANNA_KEY_Shift_Right 0x94 #define CANNA_KEY_Shift_Down 0x95 /* control-shifted function keys */ #define CANNA_KEY_Cntrl_Nfer 0x96 #define CANNA_KEY_Cntrl_Xfer 0x97 #define CANNA_KEY_Cntrl_Up 0x98 #define CANNA_KEY_Cntrl_Left 0x99 #define CANNA_KEY_Cntrl_Right 0x9a #define CANNA_KEY_Cntrl_Down 0x9b /* The followings should have special translation rule */ #define CANNA_KEY_KP_Separator 0x9c #define CANNA_KEY_KP_Decimal 0x9d #define CANNA_KEY_KP_Divide 0x9e #define CANNA_KEY_KP_Subtract 0x9f #define CANNA_KEY_Shift_Space 0xa0 /* application keypad mode keys */ #ifdef DoNotConflictWithKatakanaKeys /* °Ê²¼¤Î¥­¡¼¤Ï¥«¥¿¥«¥Êʸ»ú¤È¤Ö¤Ä¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á»È¤¨¤Ê¤¤¡£*/ #define CANNA_KEY_KP_Up 0xc0 /* \eOA */ #define CANNA_KEY_KP_Left 0xc1 /* \eOB */ #define CANNA_KEY_KP_Right 0xc2 /* \eOC */ #define CANNA_KEY_KP_Down 0xc3 /* \eOD */ #define CANNA_KEY_KP_Tab 0xc4 /* \eOI */ #define CANNA_KEY_KP_Enter 0xc5 /* \eOM */ #define CANNA_KEY_KP_Equal 0xc6 /* \eOX */ #define CANNA_KEY_KP_Multiply 0xc7 /* \eOj */ #define CANNA_KEY_KP_Add 0xc8 /* \eOk */ #define CANNA_KEY_KP_Separator 0xc9 /* \eOl */ #define CANNA_KEY_KP_Subtract 0xca /* \eOm */ #define CANNA_KEY_KP_Decimal 0xcb /* \eOn */ #define CANNA_KEY_KP_Divide 0xcc /* \eOo */ #define CANNA_KEY_KP_0 0xd0 /* \eOp */ #define CANNA_KEY_KP_1 0xd1 /* \eOq */ #define CANNA_KEY_KP_2 0xd2 /* \eOr */ #define CANNA_KEY_KP_3 0xd3 /* \eOs */ #define CANNA_KEY_KP_4 0xd4 /* \eOt */ #define CANNA_KEY_KP_5 0xd5 /* \eOu */ #define CANNA_KEY_KP_6 0xd6 /* \eOv */ #define CANNA_KEY_KP_7 0xd7 /* \eOw */ #define CANNA_KEY_KP_8 0xd8 /* \eOx */ #define CANNA_KEY_KP_9 0xd9 /* \eOy */ #endif /* numeral-function keys */ #define CANNA_KEY_F1 0xe0 #define CANNA_KEY_F2 0xe1 #define CANNA_KEY_F3 0xe2 #define CANNA_KEY_F4 0xe3 #define CANNA_KEY_F5 0xe4 #define CANNA_KEY_F6 0xe5 #define CANNA_KEY_F7 0xe6 #define CANNA_KEY_F8 0xe7 #define CANNA_KEY_F9 0xe8 #define CANNA_KEY_F10 0xe9 #define CANNA_KEY_PF1 0xf0 #define CANNA_KEY_PF2 0xf1 #define CANNA_KEY_PF3 0xf2 #define CANNA_KEY_PF4 0xf3 #define CANNA_KEY_PF5 0xf4 #define CANNA_KEY_PF6 0xf5 #define CANNA_KEY_PF7 0xf6 #define CANNA_KEY_PF8 0xf7 #define CANNA_KEY_PF9 0xf8 #define CANNA_KEY_PF10 0xf9 #define CANNA_KEY_HIRAGANA 0xfa #define CANNA_KEY_KATAKANA 0xfb #define CANNA_KEY_HANKAKUZENKAKU 0xfc #define CANNA_KEY_EISU 0xfd #define CANNA_KEY_Undefine 0xff #ifdef IROHA_BC #define IROHA_KEY_Nfer CANNA_KEY_Nfer #define IROHA_KEY_Xfer CANNA_KEY_Xfer #define IROHA_KEY_Up CANNA_KEY_Up #define IROHA_KEY_Left CANNA_KEY_Left #define IROHA_KEY_Right CANNA_KEY_Right #define IROHA_KEY_Down CANNA_KEY_Down #define IROHA_KEY_Insert CANNA_KEY_Insert #define IROHA_KEY_Rollup CANNA_KEY_Rollup #define IROHA_KEY_Rolldown CANNA_KEY_Rolldown #define IROHA_KEY_Home CANNA_KEY_Home #define IROHA_KEY_Help CANNA_KEY_Help #define IROHA_KEY_KP_Key CANNA_KEY_KP_Key /* shifted function keys */ #define IROHA_KEY_Shift_Nfer CANNA_KEY_Shift_Nfer #define IROHA_KEY_Shift_Xfer CANNA_KEY_Shift_Xfer #define IROHA_KEY_Shift_Up CANNA_KEY_Shift_Up #define IROHA_KEY_Shift_Left CANNA_KEY_Shift_Left #define IROHA_KEY_Shift_Right CANNA_KEY_Shift_Right #define IROHA_KEY_Shift_Down CANNA_KEY_Shift_Down /* control-shifted function keys */ #define IROHA_KEY_Cntrl_Nfer CANNA_KEY_Cntrl_Nfer #define IROHA_KEY_Cntrl_Xfer CANNA_KEY_Cntrl_Xfer #define IROHA_KEY_Cntrl_Up CANNA_KEY_Cntrl_Up #define IROHA_KEY_Cntrl_Left CANNA_KEY_Cntrl_Left #define IROHA_KEY_Cntrl_Right CANNA_KEY_Cntrl_Right #define IROHA_KEY_Cntrl_Down CANNA_KEY_Cntrl_Down /* application keypad mode keys */ #ifdef DoNotConflictWithKatakanaKeys /* °Ê²¼¤Î¥­¡¼¤Ï¥«¥¿¥«¥Êʸ»ú¤È¤Ö¤Ä¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á»È¤¨¤Ê¤¤¡£*/ #define IROHA_KEY_KP_Up CANNA_KEY_KP_Up #define IROHA_KEY_KP_Left CANNA_KEY_KP_Left #define IROHA_KEY_KP_Right CANNA_KEY_KP_Right #define IROHA_KEY_KP_Down CANNA_KEY_KP_Down #define IROHA_KEY_KP_Tab CANNA_KEY_KP_Tab #define IROHA_KEY_KP_Enter CANNA_KEY_KP_Enter #define IROHA_KEY_KP_Equal CANNA_KEY_KP_Equal #define IROHA_KEY_KP_Multiply CANNA_KEY_KP_Multiply #define IROHA_KEY_KP_Add CANNA_KEY_KP_Add #define IROHA_KEY_KP_Separator CANNA_KEY_KP_Separator #define IROHA_KEY_KP_Subtract CANNA_KEY_KP_Subtract #define IROHA_KEY_KP_Decimal CANNA_KEY_KP_Decimal #define IROHA_KEY_KP_Divide CANNA_KEY_KP_Divide #define IROHA_KEY_KP_0 CANNA_KEY_KP_0 #define IROHA_KEY_KP_1 CANNA_KEY_KP_1 #define IROHA_KEY_KP_2 CANNA_KEY_KP_2 #define IROHA_KEY_KP_3 CANNA_KEY_KP_3 #define IROHA_KEY_KP_4 CANNA_KEY_KP_4 #define IROHA_KEY_KP_5 CANNA_KEY_KP_5 #define IROHA_KEY_KP_6 CANNA_KEY_KP_6 #define IROHA_KEY_KP_7 CANNA_KEY_KP_7 #define IROHA_KEY_KP_8 CANNA_KEY_KP_8 #define IROHA_KEY_KP_9 CANNA_KEY_KP_9 #endif /* numeral-function keys */ #define IROHA_KEY_F1 CANNA_KEY_F1 #define IROHA_KEY_F2 CANNA_KEY_F2 #define IROHA_KEY_F3 CANNA_KEY_F3 #define IROHA_KEY_F4 CANNA_KEY_F4 #define IROHA_KEY_F5 CANNA_KEY_F5 #define IROHA_KEY_F6 CANNA_KEY_F6 #define IROHA_KEY_F7 CANNA_KEY_F7 #define IROHA_KEY_F8 CANNA_KEY_F8 #define IROHA_KEY_F9 CANNA_KEY_F9 #define IROHA_KEY_F10 CANNA_KEY_F10 #define IROHA_KEY_PF1 CANNA_KEY_PF1 #define IROHA_KEY_PF2 CANNA_KEY_PF2 #define IROHA_KEY_PF3 CANNA_KEY_PF3 #define IROHA_KEY_PF4 CANNA_KEY_PF4 #define IROHA_KEY_PF5 CANNA_KEY_PF5 #define IROHA_KEY_PF6 CANNA_KEY_PF6 #define IROHA_KEY_PF7 CANNA_KEY_PF7 #define IROHA_KEY_PF8 CANNA_KEY_PF8 #define IROHA_KEY_PF9 CANNA_KEY_PF9 #define IROHA_KEY_PF10 CANNA_KEY_PF10 #define IROHA_KEY_Undefine CANNA_KEY_Undefine #endif /* IROHA_BC */ Canna37p3/canna/mfdef.h0100644000076500001200000003401007554213560014164 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef _MFDEF_H_ #define _MFDEF_H_ /* @(#) 102.1 $Id: mfdef.h,v 1.1.1.1 2002/10/19 08:27:28 aida_s Exp $ */ /* ¤³¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤Ï¥â¡¼¥É¤Ë³ä¤ê¿¶¤é¤ì¤¿ÈÖ¹æ¤ä¡¢´Ø¿ô¤Ë³ä¤ê¿¶¤é¤ì¤¿ ÈÖ¹æ¤ò´ÉÍý¤¹¤ë¡£ */ /* ¥â¡¼¥É */ /* real modes */ /* ¼Â¥â¡¼¥É(real mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤ë¥â¡¼¥É */ #define CANNA_MODE_AlphaMode 0 /* ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É */ #define CANNA_MODE_EmptyMode 1 /* ÆÉ¤ßÆþÎϤ¬¤Ê¤¤¾õÂÖ */ #define CANNA_MODE_KigoMode 2 /* µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ */ #define CANNA_MODE_YomiMode 3 /* ÆÉ¤ßÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ */ #define CANNA_MODE_JishuMode 4 /* ʸ»ú¼ïÊÑ´¹¤·¤Æ¤¤¤ë¾õÂÖ */ #define CANNA_MODE_TankouhoMode 5 /* ñ°ì¸õÊäɽ¼¨¾õÂÖ */ #define CANNA_MODE_IchiranMode 6 /* ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ */ #define CANNA_MODE_YesNoMode 7 /* ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ */ #define CANNA_MODE_OnOffMode 8 /* ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ */ #define CANNA_MODE_AdjustBunsetsuMode 9 /* ʸÀá¿­½Ì¥â¡¼¥É */ #define CANNA_MODE_ChikujiYomiMode 10 /* Ã༡ÊÑ´¹¥â¡¼¥É¤ÎÆÉ¤ßÉôʬ */ #define CANNA_MODE_ChikujiTanMode 11 /* Ã༡ÊÑ´¹¥â¡¼¥É¤Î¸õÊäÉôʬ */ #define CANNA_MODE_MAX_REAL_MODE (CANNA_MODE_ChikujiTanMode + 1) /* imaginary modes */ /* µõ¥â¡¼¥É(imaginary mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤Ê¤¤¥â¡¼¥É */ #define CANNA_MODE_HenkanMode CANNA_MODE_EmptyMode #define CANNA_MODE_HenkanNyuryokuMode 12 #define CANNA_MODE_ZenHiraHenkanMode 13 #define CANNA_MODE_HanHiraHenkanMode 14 #define CANNA_MODE_ZenKataHenkanMode 15 #define CANNA_MODE_HanKataHenkanMode 16 #define CANNA_MODE_ZenAlphaHenkanMode 17 #define CANNA_MODE_HanAlphaHenkanMode 18 #define CANNA_MODE_ZenHiraKakuteiMode 19 #define CANNA_MODE_HanHiraKakuteiMode 20 #define CANNA_MODE_ZenKataKakuteiMode 21 #define CANNA_MODE_HanKataKakuteiMode 22 #define CANNA_MODE_ZenAlphaKakuteiMode 23 #define CANNA_MODE_HanAlphaKakuteiMode 24 #define CANNA_MODE_HexMode 25 /* £±£¶¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É */ #define CANNA_MODE_BushuMode 26 /* Éô¼ó¤ÎÆÉ¤ß¤ÎÆþÎϾõÂÖ */ #define CANNA_MODE_ExtendMode 27 /* ³ÈÄ¥µ¡Ç½ÁªÂò */ #define CANNA_MODE_RussianMode 28 /* ¥í¥·¥¢Ê¸»úÁªÂò */ #define CANNA_MODE_GreekMode 29 /* ¥®¥ê¥·¥¢Ê¸»úÁªÂò */ #define CANNA_MODE_LineMode 30 /* ·ÓÀþÁªÂò */ #define CANNA_MODE_ChangingServerMode 31 /* ¥µ¡¼¥ÐÊѹ¹ */ #define CANNA_MODE_HenkanMethodMode 32 /* ÊÑ´¹Êý¼°ÁªÂò */ #define CANNA_MODE_DeleteDicMode 33 /* ñ¸ìºï½ü */ #define CANNA_MODE_TourokuMode 34 /* ñ¸ìÅÐÏ¿¥â¡¼¥É */ #define CANNA_MODE_TourokuEmptyMode CANNA_MODE_TourokuMode #define CANNA_MODE_TourokuHinshiMode 35 /* ñ¸ìÅÐÏ¿¤ÎÉÊ»ìÁªÂò¾õÂÖ */ #define CANNA_MODE_TourokuDicMode 36 /* ñ¸ìÅÐÏ¿¤Î¼­½ñÁªÂò¾õÂÖ */ #define CANNA_MODE_QuotedInsertMode 37 /* °úÍÑÆþÎϥ⡼¥É */ #define CANNA_MODE_BubunMuhenkanMode 38 /* Éôʬ̵ÊÑ´¹¾õÂÖ */ #define CANNA_MODE_MountDicMode 39 /* ¼­½ñ¤Îmount,unmount¾õÂÖ */ #define CANNA_MODE_MAX_IMAGINARY_MODE (CANNA_MODE_MountDicMode + 1) #ifdef IROHA_BC /* real modes */ /* ¼Â¥â¡¼¥É(real mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤ë¥â¡¼¥É */ #define IROHA_MODE_AlphaMode CANNA_MODE_AlphaMode #define IROHA_MODE_EmptyMode CANNA_MODE_EmptyMode #define IROHA_MODE_KigoMode CANNA_MODE_KigoMode #define IROHA_MODE_YomiMode CANNA_MODE_YomiMode #define IROHA_MODE_JishuMode CANNA_MODE_JishuMode #define IROHA_MODE_TankouhoMode CANNA_MODE_TankouhoMode #define IROHA_MODE_IchiranMode CANNA_MODE_IchiranMode #define IROHA_MODE_YesNoMode CANNA_MODE_YesNoMode #define IROHA_MODE_OnOffMode CANNA_MODE_OnOffMode #define IROHA_MODE_AdjustBunsetsuMode CANNA_MODE_AdjustBunsetsuMode #define IROHA_MODE_MAX_REAL_MODE CANNA_MODE_MAX_REAL_MODE /* imaginary modes */ /* µõ¥â¡¼¥É(imaginary mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤Ê¤¤¥â¡¼¥É */ #define IROHA_MODE_HenkanMode CANNA_MODE_HenkanMode #define IROHA_MODE_HenkanNyuryokuMode CANNA_MODE_HenkanNyuryokuMode #define IROHA_MODE_HexMode CANNA_MODE_HexMode #define IROHA_MODE_BushuMode CANNA_MODE_BushuMode #define IROHA_MODE_ExtendMode CANNA_MODE_ExtendMode #define IROHA_MODE_RussianMode CANNA_MODE_RussianMode #define IROHA_MODE_GreekMode CANNA_MODE_GreekMode #define IROHA_MODE_LineMode CANNA_MODE_LineMode #define IROHA_MODE_ChangingServerMode CANNA_MODE_ChangingServerMode #define IROHA_MODE_HenkanMethodMode CANNA_MODE_HenkanMethodMode #define IROHA_MODE_DeleteDicMode CANNA_MODE_DeleteDicMode #define IROHA_MODE_TourokuMode CANNA_MODE_TourokuMode #define IROHA_MODE_TourokuEmptyMode CANNA_MODE_TourokuEmptyMode #define IROHA_MODE_TourokuHinshiMode CANNA_MODE_TourokuHinshiMode #define IROHA_MODE_TourokuDicMode CANNA_MODE_TourokuDicMode #define IROHA_MODE_QuotedInsertMode CANNA_MODE_QuotedInsertMode #define IROHA_MODE_BubunMuhenkanMode CANNA_MODE_BubunMuhenkanMode #define IROHA_MODE_MountDicMode CANNA_MODE_MountDicMode #define IROHA_MODE_ZenHiraHenkanMode CANNA_MODE_ZenHiraHenkanMode #define IROHA_MODE_HanHiraHenkanMode CANNA_MODE_HanHiraHenkanMode #define IROHA_MODE_ZenKataHenkanMode CANNA_MODE_ZenKataHenkanMode #define IROHA_MODE_HanKataHenkanMode CANNA_MODE_HanKataHenkanMode #define IROHA_MODE_ZenAlphaHenkanMode CANNA_MODE_ZenAlphaHenkanMode #define IROHA_MODE_HanAlphaHenkanMode CANNA_MODE_HanAlphaHenkanMode #define IROHA_MODE_ZenHiraKakuteiMode CANNA_MODE_ZenHiraKakuteiMode #define IROHA_MODE_HanHiraKakuteiMode CANNA_MODE_HanHiraKakuteiMode #define IROHA_MODE_ZenKataKakuteiMode CANNA_MODE_ZenKataKakuteiMode #define IROHA_MODE_HanKataKakuteiMode CANNA_MODE_HanKataKakuteiMode #define IROHA_MODE_ZenAlphaKakuteiMode CANNA_MODE_ZenAlphaKakuteiMode #define IROHA_MODE_HanAlphaKakuteiMode CANNA_MODE_HanAlphaKakuteiMode #define IROHA_MODE_MAX_IMAGINARY_MODE CANNA_MODE_MAX_IMAGINARY_MODE #endif /* IROHA_BC */ /* ¥­¡¼´Ø¿ô */ /* ̤ÄêµÁ¤Ë¤¹¤ë */ #define DEFAULTBEHAVIOR 0 #define CANNA_FN_Undefined 0 /* ̤ÄêµÁ */ /* ʸ»úÁÞÆþ */ #define CANNA_FN_SelfInsert 1 /* ²¡¤µ¤ì¤¿¥­¡¼¤ò¤½¤Î¤Þ¤ÞÁÞÆþ */ #define CANNA_FN_FunctionalInsert 2 /* ²¡¤µ¤ì¤¿¥­¡¼¤ÎÁÞÆþ */ #define CANNA_FN_QuotedInsert 3 /* ¼¡¤Îʸ»ú¤ò¤½¤Î¤Þ¤ÞÁÞÆþ */ /* ´ðËÜŪ¥â¡¼¥ÉÀڤ괹¤¨ */ #define CANNA_FN_JapaneseMode 4 /* ÆüËܸìÆþÎϥ⡼¥É¤Ø°Ü¹Ô */ #define CANNA_FN_AlphaMode 5 /* ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤Ø°Ü¹Ô */ #define CANNA_FN_HenkanNyuryokuMode 6 /* ÊÑ´¹ÆþÎϥ⡼¥É¤Ø°Ü¹Ô */ /* ÊÔ½¸ */ #define CANNA_FN_Forward 7 /* ±¦ */ #define CANNA_FN_Backward 8 /* º¸ */ #define CANNA_FN_Next 9 /* ¼¡¤Î¹Ô */ #define CANNA_FN_Prev 10 /* Á°¤Î¹Ô */ #define CANNA_FN_BeginningOfLine 11 /* ¹ÔƬ */ #define CANNA_FN_EndOfLine 12 /* ¹ÔËö */ #define CANNA_FN_DeleteNext 13 /* ±¦ºï½ü */ #define CANNA_FN_DeletePrevious 14 /* º¸ºï½ü */ #define CANNA_FN_KillToEndOfLine 15 /* ¹ÔËö¤Þ¤Çºï½ü */ /* ¥«¥Ê´Á»úÊÑ´¹µ¡Ç½ */ #define CANNA_FN_Henkan 16 /* ÊÑ´¹ */ #define CANNA_FN_Kakutei 17 /* ³ÎÄê */ #define CANNA_FN_Extend 18 /* ¿­¤Ð¤· */ #define CANNA_FN_Shrink 19 /* ½Ì¤á */ #define CANNA_FN_AdjustBunsetsu 20 /* ʸÀá¿­½Ì¥â¡¼¥É¤ËÆþ¤ë */ #define CANNA_FN_Quit 21 /* ¼è¤ê¤ä¤á */ #define CANNA_FN_ConvertAsHex 22 /* £±£¶¿Ê¥³¡¼¥É¤È¤·¤ÆÊÑ´¹ */ #define CANNA_FN_ConvertAsBushu 23 /* Éô¼ó̾¤È¤·¤ÆÊÑ´¹ */ #define CANNA_FN_KouhoIchiran 24 /* ¸õÊä°ìÍ÷ */ #define CANNA_FN_BubunMuhenkan 25 /* Éôʬ̵ÊÑ´¹ */ /* ʸ»ú¼ïÊÑ´¹¤À¤±¤Ë»È¤ï¤ì¤ëµ¡Ç½ */ #define CANNA_FN_Zenkaku 26 /* Á´³Ñ */ #define CANNA_FN_Hankaku 27 /* Ⱦ³Ñ */ #define CANNA_FN_ToUpper 28 /* Âçʸ»ú */ #define CANNA_FN_Capitalize 29 /* ÀèÆ¬¤À¤±Âçʸ»ú¤Ë */ #define CANNA_FN_ToLower 30 /* ¾®Ê¸»ú */ #define CANNA_FN_Hiragana 31 /* ¤Ò¤é¤¬¤Ê */ #define CANNA_FN_Katakana 32 /* ¥«¥¿¥«¥Ê */ #define CANNA_FN_Romaji 33 /* ¥í¡¼¥Þ»ú */ /* ÆÉ¤ß¥â¡¼¥É¤Ç¤Î¥Ù¡¼¥¹Ê¸»ú¤ÎÀÚ¤êÂØ¤¨ */ #define CANNA_FN_BaseHiragana 34 /* ¤Ò¤é¤¬¤Ê¥â¡¼¥É */ #define CANNA_FN_BaseKatakana 35 /* ¥«¥¿¥«¥Ê¥â¡¼¥É */ #define CANNA_FN_BaseEisu 36 /* ±Ñ¿ô¥â¡¼¥É */ #define CANNA_FN_BaseZenkaku 37 /* Á´³Ñ¥â¡¼¥É */ #define CANNA_FN_BaseHankaku 38 /* Ⱦ³Ñ¥â¡¼¥É */ #define CANNA_FN_BaseKana 39 /* ¤«¤Ê¥â¡¼¥É */ #define CANNA_FN_BaseKakutei 40 /* ³ÎÄêÆþÎϥ⡼¥É */ #define CANNA_FN_BaseHenkan 41 /* ÊÑ´¹ÆþÎϥ⡼¥É */ #define CANNA_FN_BaseHiraKataToggle 42 /* ¤Ò¤é¤¬¤Ê¥â¡¼¥É/¥«¥¿¥«¥Ê¥â¡¼¥É */ #define CANNA_FN_BaseZenHanToggle 43 /* Á´³Ñ¥â¡¼¥É/Ⱦ³Ñ¥â¡¼¥É */ #define CANNA_FN_BaseKanaEisuToggle 44 /* ¤«¤Ê¥â¡¼¥É/±Ñ¿ô¥â¡¼¥É */ #define CANNA_FN_BaseKakuteiHenkanToggle 45 /* ³ÎÄêÆþÎϥ⡼¥É/ÊÑ´¹ÆþÎϥ⡼¥É */ #define CANNA_FN_BaseRotateForward 46 /* ¥â¡¼¥É¤ò½ç·«¤ê¤ËÀÚ¤êÂØ¤¨¤ë */ #define CANNA_FN_BaseRotateBackward 47 /* ¥â¡¼¥É¤òµÕ·«¤ê¤ËÀÚ¤êÂØ¤¨¤ë */ /* ¤½¤Î¾¤Î¥â¡¼¥ÉÀÚ¤êÂØ¤¨ */ #define CANNA_FN_ExtendMode 48 /* ³ÈÄ¥¥â¡¼¥É */ #define CANNA_FN_Touroku CANNA_FN_ExtendMode /* µì¸ß´¹ */ #define CANNA_FN_HexMode 49 /* £±£¶¿ÊÆþÎϥ⡼¥É */ #define CANNA_FN_BushuMode 50 /* Éô¼óÆþÎϥ⡼¥É */ #define CANNA_FN_KigouMode 51 /* µ­¹æÆþÎϥ⡼¥É */ #define CANNA_FN_Mark 52 /* ¥Þ¡¼¥¯ */ #define CANNA_FN_TemporalMode 53 /* ¥â¡¼¥É¤Î°ì»þŪ¥»¡¼¥Ö */ #define CANNA_FN_UserMode 54 /* ¥æ¡¼¥¶ÄêµÁ¥â¡¼¥É */ /* ¸½ºß¤Îɽ¼¨¤òÊÖ¤·¤ÆÍߤ·¤¤¤È¤­¤Ë»È¤¦µ¡Ç½ */ #define CANNA_FN_Nop 55 /* ²¿¤â¤·¤Ê¤¤ */ /* Version 2.1 ¤Ë¤ÏÆþ¤Ã¤Æ¤¤¤Ê¤¤µ¡Ç½ */ #define CANNA_FN_HenkanOrInsert 56 /* ÊÑ´¹¤â¤·¤¯¤Ï¤½¤Î¤Þ¤ÞÆþÎÏ */ #define CANNA_FN_HenkanNaive CANNA_FN_HenkanOrInsert /* Version 2.2 ¤Ë¤ÏÆþ¤Ã¤Æ¤¤¤Ê¤¤µ¡Ç½ */ #define CANNA_FN_HenkanOrNothing 57 /* ÊÑ´¹¤â¤·¤¯¤Ï¤Ê¤Ë¤â¤·¤Ê¤¤ */ #define CANNA_FN_RussianMode 58 /* ¥í¥·¥¢Ê¸»ú¥â¡¼¥É */ #define CANNA_FN_GreekMode 59 /* ¥®¥ê¥·¥ãʸ»ú¥â¡¼¥É */ #define CANNA_FN_LineMode 60 /* ·ÓÀþ¥â¡¼¥É */ #define CANNA_FN_DicMountMode 61 /* ¼­½ñÁªÂò¥â¡¼¥É */ #define CANNA_FN_ChangeServerMode 62 /* ¥µ¡¼¥ÐÁªÂò¥â¡¼¥É */ #define CANNA_FN_DisconnectServer 63 /* ¥µ¡¼¥ÐÀÚ¤êÎ¥¤· */ #define CANNA_FN_ShowServer 64 /* ¥µ¡¼¥Ðɽ¼¨ */ #define CANNA_FN_ShowGakushu 65 /* ³Ø½¬¾õ¶·É½¼¨ */ #define CANNA_FN_ShowVersion 66 /* ¥Ð¡¼¥¸¥ç¥óɽ¼¨ */ #define CANNA_FN_ShowPhonogramFile 67 /* ¥í¡¼¥Þ»ú¥Õ¥¡¥¤¥ëɽ¼¨ */ #define CANNA_FN_ShowCannaFile 68 /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ëɽ¼¨ */ #define CANNA_FN_DefineDicMode 69 /* ñ¸ìÅÐÏ¿ */ #define CANNA_FN_DeleteDicMode 70 /* ñ¸ìºï½ü */ #define CANNA_FN_SyncDic 71 /* ¼­½ñ½ñ¤­¹þ¤ß */ #define CANNA_FN_EnterChikujiMode 72 /* Ã༡¼«Æ°ÊÑ´¹¥â¡¼¥É */ #define CANNA_FN_EnterRenbunMode 73 /* ϢʸÀáÊÑ´¹¥â¡¼¥É */ /* Version 3.5 ¤ÇÄɲ䵤줿¤â¤Î */ #define CANNA_FN_PageUp 74 /* ¥Ú¡¼¥¸¥¢¥Ã¥× */ #define CANNA_FN_PageDown 75 /* ¥Ú¡¼¥¸¥À¥¦¥ó */ #define CANNA_FN_Edit 76 /* ÊÔ½¸ */ #define CANNA_FN_BubunKakutei 77 /* ¥«¡¼¥½¥ë°ÊÁ°³ÎÄê */ #define CANNA_FN_HenkanRegion 78 /* ÁªÂòÎΰè¤ÎÊÑ´¹ */ #define CANNA_FN_PhonoEdit 79 /* ¥í¡¼¥Þ»ú¥¨¥Ç¥£¥¿ */ #define CANNA_FN_DicEdit 80 /* ¼­½ñ¥¨¥Ç¥£¥¿ */ #define CANNA_FN_Configure 81 /* Canna ¤ÎÀßÄê */ #define CANNA_FN_KanaRotate 82 /* ¥«¥Ê»ú¼ïÊÑ´¹ */ #define CANNA_FN_RomajiRotate 83 /* ±Ñ¿ô»ú¼ïÊÑ´¹ */ #define CANNA_FN_CaseRotate 84 /* Âçʸ»ú¾®Ê¸»úÊÑ´¹ */ /* °Ê²¼¤Î£²¤Ä¤Ïɬ¤ººÇ¸å¤ËÃÖ¤¯¤³¤È¡£ccustom ¤¬¤é¤ß¤ÎÍýͳ¤«¤é */ #define CANNA_FN_FuncSequence 85 /* Ê£¿ô¤Îµ¡Ç½¤Î³ä¤êÅö¤Æ */ #define CANNA_FN_UseOtherKeymap 86 /* ¥­¡¼¥·¡¼¥±¥ó¥¹¤ÎÂбþ */ #define CANNA_FN_MAX_FUNC (CANNA_FN_UseOtherKeymap + 1) #ifdef IROHA_BC #define IROHA_FN_Undefined CANNA_FN_Undefined /* ʸ»úÁÞÆþ */ #define IROHA_FN_SelfInsert CANNA_FN_SelfInsert #define IROHA_FN_FunctionalInsert CANNA_FN_FunctionalInsert #define IROHA_FN_QuotedInsert CANNA_FN_QuotedInsert /* ´ðËÜŪ¥â¡¼¥ÉÀڤ괹¤¨ */ #define IROHA_FN_JapaneseMode CANNA_FN_JapaneseMode #define IROHA_FN_AlphaMode CANNA_FN_AlphaMode #define IROHA_FN_HenkanNyuryokuMode CANNA_FN_HenkanNyuryokuMode /* ÊÔ½¸ */ #define IROHA_FN_Forward CANNA_FN_Forward #define IROHA_FN_Backward CANNA_FN_Backward #define IROHA_FN_Next CANNA_FN_Next #define IROHA_FN_Prev CANNA_FN_Prev #define IROHA_FN_BeginningOfLine CANNA_FN_BeginningOfLine #define IROHA_FN_EndOfLine CANNA_FN_EndOfLine #define IROHA_FN_DeleteNext CANNA_FN_DeleteNext #define IROHA_FN_DeletePrevious CANNA_FN_DeletePrevious #define IROHA_FN_KillToEndOfLine CANNA_FN_KillToEndOfLine /* ¥«¥Ê´Á»úÊÑ´¹µ¡Ç½ */ #define IROHA_FN_Henkan CANNA_FN_Henkan #define IROHA_FN_Kakutei CANNA_FN_Kakutei #define IROHA_FN_Extend CANNA_FN_Extend #define IROHA_FN_Shrink CANNA_FN_Shrink #define IROHA_FN_AdjustBunsetsu CANNA_FN_AdjustBunsetsu #define IROHA_FN_Quit CANNA_FN_Quit #define IROHA_FN_ConvertAsHex CANNA_FN_ConvertAsHex #define IROHA_FN_ConvertAsBushu CANNA_FN_ConvertAsBushu #define IROHA_FN_KouhoIchiran CANNA_FN_KouhoIchiran #define IROHA_FN_BubunMuhenkan CANNA_FN_BubunMuhenkan /* ʸ»ú¼ïÊÑ´¹¤À¤±¤Ë»È¤ï¤ì¤ëµ¡Ç½ */ #define IROHA_FN_Zenkaku CANNA_FN_Zenkaku #define IROHA_FN_Hankaku CANNA_FN_Hankaku #define IROHA_FN_ToUpper CANNA_FN_ToUpper #define IROHA_FN_Capitalize CANNA_FN_Capitalize #define IROHA_FN_ToLower CANNA_FN_ToLower #define IROHA_FN_Hiragana CANNA_FN_Hiragana #define IROHA_FN_Katakana CANNA_FN_Katakana #define IROHA_FN_Romaji CANNA_FN_Romaji /* ¤½¤Î¾¤Î¥â¡¼¥ÉÀÚ¤êÂØ¤¨ */ #define IROHA_FN_ExtendMode CANNA_FN_ExtendMode #define IROHA_FN_Touroku CANNA_FN_Touroku #define IROHA_FN_HexMode CANNA_FN_HexMode #define IROHA_FN_BushuMode CANNA_FN_BushuMode #define IROHA_FN_KigouMode CANNA_FN_KigouMode #define IROHA_FN_UserMode CANNA_FN_UserMode /* Ê£»¨¤Êµ¡Ç½ */ #define IROHA_FN_FuncSequence CANNA_FN_FuncSequence #define IROHA_FN_UseOtherKeymap CANNA_FN_UseOtherKeymap #define IROHA_FN_MAX_FUNC CANNA_FN_MAX_FUNC #endif /* IROHA_BC */ #endif /* _MFDEF_H_ */ Canna37p3/canna/net.h0100644000076500001200000000362007773337050013700 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* sccs_id[]="@(#) NEC UNIX( PC-UX/EWS-UX ) net.h 1.1 90/11/01 16:25:42"; */ /* $Id: net.h,v 1.3.2.2 2003/12/27 17:15:20 aida_s Exp $ */ #ifndef NET_H #define NET_H #include "ccompat.h" #if defined(nec_ews_svr2) || defined(pcux) #include #include #include #include #include #else #include #include #include #ifdef UNIXCONN #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #endif #ifdef HAVE_IN_ADDR_T typedef in_addr_t canna_in_addr_t; #else typedef canna_uint32_t canna_in_addr_t; #endif #ifdef HAVE_SOCKLEN_T typedef socklen_t canna_socklen_t; #else typedef int canna_socklen_t; #endif #endif /* NET_H */ Canna37p3/canna/patchlevel.h0100644000076500001200000000244510052700625015227 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: patchlevel.h,v 1.8.2.4 2004/05/19 15:47:33 aida_s Exp $ */ #define CANNA_MAJOR_MINOR 3007 #define CANNA_PATCH_LEVEL "p3" Canna37p3/canna/protodefs.h0100644000076500001200000001324307733317774015130 0ustar shinraadmin/* Copyright 1993 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: protodefs.h,v 1.6 2003/09/21 12:56:28 aida_s Exp $ */ #define canna_version(majv, minv) ((majv) * 1024 + (minv)) typedef canna_uint16_t Ushort; typedef unsigned char BYTE; #ifndef CBUFSIZE #define CBUFSIZE 512 #define CBIGBUFSIZE 4096 #endif /* ¤³¤³¤Þ¤Ç */ #define OLD_MAX_CX 100 #define FALSE 0 #define TRUE 1 /* #define SERVER_VERSION "3.5" */ #define E_VERSION "1.2" #define W_VERSION "3.3" #define IR_SERVICE_NAME "canna" #define IR_DEFAULT_PORT 5680 #define IR_UNIX_PATH IR_UNIX_DIR "/" IR_UNIX_SOCKNAME #define NAME_LENGTH 15 #define HOST_NAME 15 #define LOMASK(x) ((x)&255) #define L4TOL(l4)\ ((((((((unsigned long) ((unsigned char)(l4)[0])) << 8) | \ ((unsigned long) ((unsigned char)(l4)[1]))) << 8) | \ ((unsigned long) ((unsigned char)(l4)[2]))) << 8) | \ ((unsigned long) ((unsigned char)(l4)[3]))) #define L3TOL(l3)\ ((unsigned long)(((((unsigned char)(l3)[0]<<8)|\ (unsigned char)(l3)[1])<<8) | (unsigned char)(l3)[2])) #define S2TOS(s2) ((unsigned short)(((unsigned char)(s2)[0]<<8)|\ (unsigned char)(s2)[1])) #define LTOL4(l, l4) {\ (l4)[0] = LOMASK((l)>>24); (l4)[1] = LOMASK((l)>>16);\ (l4)[2] = LOMASK((l)>> 8); (l4)[3] = LOMASK((l));\ } #define LTOL3(l, l3) {\ (l3)[0] = LOMASK((l)>>16); (l3)[1] = LOMASK((l)>> 8); (l3)[2] = LOMASK((l));\ } #define STOS2(s, s2) {\ (s2)[0] = LOMASK((s)>> 8); (s2)[1] = LOMASK((s));\ } /* IXXtoIXX ¤ÏɬÍ×À­¤ò¹Í¤¨¤Æ¤¢¤È¤Çºï¤ì¤ë¤Ê¤éºï¤ë */ #if 0 #define I16toI32(x) (((x) & 0x8000) ? ((x) | 0xffff8000) : (x)) #endif #define I16toI32(x) (x) #define I8toI32(x) (((x) & 0x80) ? ((x) | 0xffffff80) : (x)) #if defined(__bsdi__) || defined(__FreeBSD__) #include #endif #define BUFSIZE 4096 #define MAXDATA 1024 /* ¤«¤ó¤Ê¥µ¡¼¥Ð¥×¥í¥È¥³¥ë */ #define wInitialize 0x01 #define wFinalize 0x02 #define wCreateContext 0x03 #define wDuplicateContext 0x04 #define wCloseContext 0x05 #define wGetDictionaryList 0x06 #define wGetDirectoryList 0x07 #define wMountDictionary 0x08 #define wUnmountDictionary 0x09 #define wRemountDictionary 0x0a #define wGetMountDictionaryList 0x0b #define wQueryDictionary 0x0c #define wDefineWord 0x0d #define wDeleteWord 0x0e #define wBeginConvert 0x0f #define wEndConvert 0x10 #define wGetCandidacyList 0x11 #define wGetYomi 0x12 #define wSubstYomi 0x13 #define wStoreYomi 0x14 #define wStoreRange 0x15 #define wGetLastYomi 0x16 #define wFlushYomi 0x17 #define wRemoveYomi 0x18 #define wGetSimpleKanji 0x19 #define wResizePause 0x1a #define wGetHinshi 0x1b #define wGetLex 0x1c #define wGetStatus 0x1d #define wSetLocale 0x1e #define wAutoConvert 0x1f #define wQueryExtensions 0x20 #define wSetApplicationName 0x21 #define wNoticeGroupName 0x22 #define wThrough 0x23 #define wKillServer 0x24 #define W_REALREQUEST 0x24 /* same as the max number */ #define W_MAXREQUESTNO (W_REALREQUEST + 1) #ifdef EXTENSION #define wGetServerInfo 0x01 #define wGetAccessControlList 0x02 #define wCreateDictionary 0x03 #define wDeleteDictionary 0x04 #define wRenameDictionary 0x05 #define wGetWordTextDictionary 0x06 #define wListDictionary 0x07 #define wSync 0x08 #define wChmodDictionary 0x09 #define wCopyDictionary 0x0a #endif /* EXTENSION */ #define W_MAXEXTREQUESTNO 0x0b /* the max number plus 1 */ /* ¤¤¤í¤Ï¥µ¡¼¥Ð¥×¥í¥È¥³¥ë */ #define OLD_MAXREQUESTNO 0x18 #define MAXREQUESTNO 0x1b #define REALREQUEST 0x1a #define IR_INIT 0x01 #define IR_FIN 0x02 #define IR_CRE_CON 0x03 #define IR_DUP_CON 0x04 #define IR_CLO_CON 0x05 #define IR_DIC_LIST 0x06 #define IR_GET_YOMI 0x07 #define IR_DEF_DIC 0x08 #define IR_UNDEF_DIC 0x09 #define IR_DIC_PATH 0x0a #define IR_DIR_LIST 0x0b #define IR_MNT_DIC 0x0c #define IR_UMNT_DIC 0x0d #define IR_RMNT_DIC 0x0e #define IR_MNT_LIST 0x0f #define IR_CONVERT 0x10 #define IR_CONV_END 0x11 #define IR_KAN_LST 0x12 #define IR_RESIZE 0x13 #define IR_STO_YOMI 0x14 #define IR_GET_LEX 0x15 #define IR_GET_STA 0x16 #define IR_SER_STAT 0x17 #define IR_SER_STAT2 0x18 #define IR_HOST_CTL 0x19 #define IR_QUERY_EXT 0x1a #ifdef EXTENSION #define EXTBASEPROTONO 0x00010000 #define MAXEXTREQUESTNO 0x04 #define REMOTE_DIC_UTIL "remote_dictionary_maintenance" #define IR_LIST_DIC 0x00 #define IR_CREAT_DIC 0x01 #define IR_DEST_DIC 0x02 #define IR_RENAME_DIC 0x03 #define IR_GET_WORD_DIC 0x04 #endif /* !EXTENSION */ Canna37p3/canna/rkcapi.h0100644000076500001200000000370007733771042014361 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: rkcapi.h,v 1.2 2003/09/23 07:11:30 aida_s Exp $ */ #ifndef RKCAPI_H #define RKCAPI_H typedef void (*RkcConfigErrorProc) pro((const char *const *errors)); int RkcGetServerFD pro((void)); int RkcConnectIrohaServer pro((char *servername)); void RkcListenConfigErrors pro((RkcConfigErrorProc handler)); int RkcRecvEReply pro((unsigned char *buf, int bufsize, int requiredsize, int *len_return)); int RkcSendERequest pro((const unsigned char *Buffer, int size)); int RkcRecvWReply pro((unsigned char *buf, int bufsize, int *len_return, unsigned char **allocptr)); int RkcSendWRequest pro((const unsigned char *Buffer, int size)); int RkwGetProtocolVersion pro((int *majorp, int *minorp)); #endif /* RKCAPI_H */ /* vim: set sw=2: */ Canna37p3/canna/symbolname.h0100644000076500001200000002412107713716365015263 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: symbolname.h,v 1.4 2003/08/05 12:03:01 aida_s Exp $ */ #define S_HenkanNyuuryokuMode "henkan-nyuuryoku-mode" #define S_ZenHiraHenkanMode "zen-hira-henkan-mode" #define S_HanHiraHenkanMode "han-hira-henkan-mode" #define S_ZenKataHenkanMode "zen-kata-henkan-mode" #define S_HanKataHenkanMode "han-kata-henkan-mode" #define S_ZenAlphaHenkanMode "zen-alpha-henkan-mode" #define S_HanAlphaHenkanMode "han-alpha-henkan-mode" #define S_ZenHiraKakuteiMode "zen-hira-kakutei-mode" #define S_HanHiraKakuteiMode "han-hira-kakutei-mode" #define S_ZenKataKakuteiMode "zen-kata-kakutei-mode" #define S_HanKataKakuteiMode "han-kata-kakutei-mode" #define S_ZenAlphaKakuteiMode "zen-alpha-kakutei-mode" #define S_HanAlphaKakuteiMode "han-alpha-kakutei-mode" #define S_AlphaMode "alpha-mode" #define S_YomiganaiMode "empty-mode" #define S_YomiMode "yomi-mode" #define S_MojishuMode "mojishu-mode" #define S_TankouhoMode "tankouho-mode" #define S_IchiranMode "ichiran-mode" #define S_ShinshukuMode "shinshuku-mode" #define S_HexMode "hex-mode" #define S_BushuMode "bushu-mode" #define S_YesNoMode "yes-no-mode" #define S_OnOffMode "on-off-mode" #define S_ExtendMode "extend-mode" #define S_RussianMode "russian-mode" #define S_GreekMode "greek-mode" #define S_LineMode "line-mode" #define S_ChangingServerMode "changing-server-mode" #define S_HenkanMethodMode "henkan-method-mode" #define S_DeleteDicMode "delete-dic-mode" #define S_TourokuMode "touroku-mode" #define S_TourokuHinshiMode "touroku-hinshi-mode" #define S_TourokuDicMode "touroku-dic-mode" #define S_QuotedInsertMode "quoted-insert-mode" #define S_BubunMuhenkanMode "bubun-muhenkan-mode" #define S_MountDicMode "mount-dic-mode" #define S_KigouMode "kigou-mode" #define S_AutoYomiMode "chikuji-yomi-mode" #define S_AutoBunsetsuMode "chikuji-bunsetsu-mode" #define S_UnbindKey "unbind-key-function" #define S_GUnbindKey "global-unbind-key-function" #define S_SetKey "set-key" #define S_GSetKey "global-set-key" #define S_SetModeDisp "set-mode-display" #define S_DefMode "defmode" #define S_DefSymbol "defsymbol" #define S_DefSelection "defselection" #define S_DefMenu "defmenu" #define S_SetInitFunc "initialize-function" #define S_FN_UseDictionary "use-dictionary" #define S_defEscSequence "define-esc-sequence" #define S_FN_Undefined "undefined" #define S_FN_SelfInsert "self-insert" #define S_FN_FunctionalInsert "self-insert" #define S_FN_QuotedInsert "quoted-insert" #define S_FN_JapaneseMode "japanese-mode" #define S_FN_AlphaMode S_AlphaMode #define S_FN_HenkanNyuryokuMode S_HenkanNyuuryokuMode #define S_FN_ZenHiraKakuteiMode S_ZenHiraKakuteiMode #define S_FN_ZenKataKakuteiMode S_ZenKataKakuteiMode #define S_FN_HanKataKakuteiMode S_HanKataKakuteiMode #define S_FN_ZenAlphaKakuteiMode S_ZenAlphaKakuteiMode #define S_FN_HanAlphaKakuteiMode S_HanAlphaKakuteiMode #define S_FN_HexMode S_HexMode #define S_FN_BushuMode S_BushuMode #define S_FN_KigouMode S_KigouMode #define S_FN_Forward "forward" #define S_FN_Backward "backward" #define S_FN_Next "next" #define S_FN_Prev "previous" #define S_FN_BeginningOfLine "beginning-of-line" #define S_FN_EndOfLine "end-of-line" #define S_FN_DeleteNext "delete-next" #define S_FN_DeletePrevious "delete-previous" #define S_FN_KillToEndOfLine "kill-to-end-of-line" #define S_FN_Henkan "henkan" #define S_FN_HenkanNaive "henkan-naive" #define S_FN_HenkanOrSelfInsert "henkan-or-self-insert" #define S_FN_HenkanOrDoNothing "henkan-or-do-nothing" #define S_FN_Kakutei "kakutei" #define S_FN_Extend "extend" #define S_FN_Shrink "shrink" #define S_FN_AdjustBunsetsu S_ShinshukuMode #define S_FN_Quit "quit" #define S_FN_ExtendMode S_ExtendMode #define S_FN_Touroku "touroku" #define S_FN_ConvertAsHex "convert-as-hex" #define S_FN_ConvertAsBushu "convert-as-bushu" #define S_FN_KouhoIchiran "kouho-ichiran" #define S_FN_BubunMuhenkan "henshu" #define S_FN_Zenkaku "zenkaku" #define S_FN_Hankaku "hankaku" #define S_FN_ToUpper "to-upper" #define S_FN_Capitalize "capitalize" #define S_FN_ToLower "to-lower" #define S_FN_Hiragana "hiragana" #define S_FN_Katakana "katakana" #define S_FN_Romaji "romaji" #define S_FN_BaseHiragana "base-hiragana" #define S_FN_BaseKatakana "base-katakana" #define S_FN_BaseKana "base-kana" #define S_FN_BaseEisu "base-eisu" #define S_FN_BaseZenkaku "base-zenkaku" #define S_FN_BaseHankaku "base-hankaku" #define S_FN_BaseKakutei "base-kakutei" #define S_FN_BaseHenkan "base-henkan" #define S_FN_BaseHiraKataToggle "base-hiragana-katakana-toggle" #define S_FN_BaseKanaEisuToggle "base-kana-eisu-toggle" #define S_FN_BaseZenHanToggle "base-zenkaku-hankaku-toggle" #define S_FN_BaseKakuteiHenkanToggle "base-kakutei-henkan-toggle" #define S_FN_BaseRotateForward "base-rotate-forward" #define S_FN_BaseRotateBackward "base-rotate-backward" #define S_FN_Mark "mark" #define S_FN_Temporary "temporary" #define S_FN_SyncDic "sync-dictionary" #define S_FN_FuncSequence "XXXXXXXXXXXXXX" #define S_FN_UseOtherKeymap "XXXXXXXXXXXXXX" #define S_FN_DefineDicMode S_TourokuMode #define S_FN_DeleteDicMode S_DeleteDicMode #define S_FN_DicMountMode "jisho-ichiran" #define S_FN_EnterChikujiMode "chikuji-mode" #define S_FN_EnterRenbunMode "renbun-mode" #define S_FN_DisconnectServer "disconnect-server" #define S_FN_ChangeServerMode "switch-server" #define S_FN_ShowServer "show-server-name" #define S_FN_ShowGakushu "show-gakushu" #define S_FN_ShowVersion "show-canna-version" #define S_FN_ShowPhonogramFile "show-romkana-table" #define S_FN_ShowCannaFile "show-canna-file" #define S_FN_KanaRotate "kana-rotate-forward" #define S_FN_RomajiRotate "romaji-rotate-forward" #define S_FN_CaseRotate "case-rotate-forward" #define S_VA_RomkanaTable "romkana-table" #define S_VA_EnglishTable "english-table" #define S_VA_InitMode "initial-mode" #define S_VA_CursorWrap "cursor-wrap" #define S_VA_SelectDirect "select-direct" #define S_VA_NumericalKeySelect "numerical-key-select" #define S_VA_BunsetsuKugiri "bunsetsu-kugiri" #define S_VA_CharacterBasedMove "character-based-move" #define S_VA_ReverseWidely "reverse-widely" #define S_VA_ReverseWord "reverse-word" #define S_VA_Gakushu "gakushu" #define S_VA_QuitIfEOIchiran "quit-if-end-of-ichiran" #define S_VA_KakuteiIfEOBunsetsu "kakutei-if-end-of-bunsetsu" #define S_VA_StayAfterValidate "stay-after-validate" #define S_VA_BreakIntoRoman "break-into-roman" #define S_VA_NHenkanForIchiran "n-henkan-for-ichiran" #define S_VA_nKouhoBunsetsu "n-kouho-bunsetsu" #define S_VA_keepCursorPosition "keep-cursor-position" #define S_VA_GrammaticalQuestion "grammatical-question" #define S_VA_ForceKana "force-kana" #define S_VA_KouhoCount "kouho-count" #define S_VA_Auto "auto" #define S_VA_LearnNumericalType "learn-numerical-type" #define S_VA_BackspaceBehavesAsQuit "backspace-behaves-as-quit" #define S_VA_InhibitListCallback "inhibit-list-callback" #define S_VA_CannaVersion "canna-version" #define S_VA_ProtocolVersion "protocol-version" #define S_VA_ServerVersion "server-version" #define S_VA_ServerName "server-name" #define S_VA_Abandon "abandon-illegal-phonogram" #define S_VA_HexDirect "hex-direct" #define S_VA_Kojin "kojin" #define S_VA_IndexHankaku "index-hankaku" #define S_VA_IndexSeparator "index-separator" #define S_VA_AllowNextInput "allow-next-input" #define S_VA_KeepCursorPosition "keep-cursor" #define S_VA_ChikujiContinue "chikuji-continue" #define S_VA_RenbunContinue "renbun-continue" #define S_VA_MojishuContinue "mojishu-continue" #define S_VA_ChikujiRealBackspace "chikuji-force-backspace" #define S_VA_doKatakanaGakushu "katakana-touroku" #define S_VA_doHiraganaGakushu "hiragana-touroku" #define S_VA_chikuji_debug "chikuji-debug" #define S_VA_nDisconnectServer "n-keys-to-disconnect" #define S_VA_ignoreCase "ignore-case" #define S_VA_RomajiYuusen "romaji-yuusen" #define S_VA_CannaDir "canna-directory" #define S_VA_AutoSync "auto-sync" #define S_VA_QuicklyEscape "quickly-escape-from-kigo-input" #define S_VA_InhibitHanKana "inhibit-hankaku-kana" #define S_VA_CodeInput "code-input" #define S_VA_DelayConnect "delay-connect" #define S_IF_HenkanNyuryoku "(japanese-mode)" #define S_IF_ZenHiraKakutei "(japanese-mode base-kakutei)" #define S_IF_ZenKataKakutei "(japanese-mode base-kakutei base-katakana)" #define S_IF_ZenAlphaKakutei "(japanese-mode base-kakutei base-eisu base-zenkaku)" #define S_IF_HanKataKakutei "(japanese-mode base-kakutei base-katakana base-hankaku)" #define S_IF_HanAlphaKakutei "(japanese-mode base-kakutei base-eisu base-hankaku)" #define S_IF_ZenKataHenkan "(japanese-mode base-katakana)" #define S_IF_ZenAlphaHenkan "(japanese-mode base-eisu base-zenkaku)" #define S_IF_HanKataHenkan "(japanese-mode base-katakana base-hankaku)" #define S_IF_HanAlphaHenkan "(japanese-mode hase-eisu base-hankaku)" #define S_FN_PageUp "page-up" #define S_FN_PageDown "page-down" #define S_FN_Edit "edit" #define S_FN_BubunKakutei "bubun-kakutei" #define S_FN_HenkanRegion "henkan-region" #define S_FN_PhonoEdit "phono-edit" #define S_FN_DicEdit "dic-edit" #define S_FN_Configure "configure" Canna37p3/canna/sysdep.h0100644000076500001200000000453107736753155014432 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: sysdep.h,v 1.4 2003/10/02 07:40:29 aida_s Exp $ */ #ifndef CANNA_SYSDEP_H #define CANNA_SYSDEP_H #include #if defined(CANNA_HAVE_INTTYPES_H) # include #elif defined(CANNA_HAVE_STDINT_H) # include #else # include #endif #ifndef _WCHAR_T # if defined(WCHAR_T) || defined(_WCHAR_T_) || defined(__WCHAR_T) \ || defined(_GCC_WCHAR_T) || defined(_WCHAR_T_DEFINED) # define _WCHAR_T # endif #endif #ifdef CANNA_HAVE_INT32_T typedef int8_t canna_int8_t; typedef int16_t canna_int16_t; typedef int32_t canna_int32_t; typedef intptr_t canna_intptr_t; typedef uint8_t canna_uint8_t; typedef uint16_t canna_uint16_t; typedef uint32_t canna_uint32_t; typedef uintptr_t canna_uintptr_t; #else /* CANNA_HAVE_INT32_T */ /* ILP32 and LP64 */ typedef signed char canna_int8_t; typedef short canna_int16_t; typedef int canna_int32_t; typedef unsigned long canna_intptr_t; typedef unsigned char canna_uint8_t; typedef unsigned short canna_uint16_t; typedef unsigned int canna_uint32_t; typedef unsigned long canna_uintptr_t; #endif /* !CANNA_HAVE_INT32_T */ #endif /* CANNA_SYSDEP_H */ /* vim: set sw=2: */ Canna37p3/canna/widedef.h0100644000076500001200000000513507773337050014524 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * @(#) 102.1 $Id: widedef.h,v 1.7.2.2 2003/12/27 17:15:20 aida_s Exp $ */ #ifndef _WIDEDEF_H_ #define _WIDEDEF_H_ #ifdef __FreeBSD__ # include #endif #if (defined(__FreeBSD__) && __FreeBSD_version < 500000) \ || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) # include #endif #if (defined(__FreeBSD__) && __FreeBSD_version < 500000) \ || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) # ifdef _BSD_WCHAR_T_ # undef _BSD_WCHAR_T_ # ifdef WCHAR16 # define _BSD_WCHAR_T_ unsigned short # else # define _BSD_WCHAR_T_ unsigned long # endif # if defined(__APPLE__) && defined(__WCHAR_TYPE__) # undef __WCHAR_TYPE__ # define __WCHAR_TYPE__ _BSD_WCHAR_T_ # endif # include # define _WCHAR_T # endif #elif defined(__FreeBSD__) && __FreeBSD_version >= 500000 # ifdef WCHAR16 typedef unsigned short wchar_t; # define _WCHAR_T_DECLARED # endif # include # define _WCHAR_T #else #if !defined(WCHAR_T) && !defined(_WCHAR_T) && !defined(_WCHAR_T_) \ && !defined(__WCHAR_T) && !defined(_GCC_WCHAR_T) && !defined(_WCHAR_T_DEFINED) # ifdef WCHAR16 typedef unsigned short wchar_t; # else /* replace this with #include or typedef appropriate for your system */ typedef unsigned long wchar_t; # endif # define WCHAR_T # define _WCHAR_T # define _WCHAR_T_ # define __WCHAR_T # define _GCC_WCHAR_T #define _WCHAR_T_DEFINED #endif #endif #endif /* _WIDEDEF_H_ */ Canna37p3/Canna.conf0100644000076500001200000005047110052700737013544 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * ¤³¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢³Æ¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤É¤ò * ·èÄꤹ¤ë¤¿¤á¤Î¥Þ¥¯¥í¤òÀßÄꤷ¤Þ¤¹¡£ * * ¢¨¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦Á°¤Ëɬ¤º Canna.conf ¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£ * * °Ê²¼¤Ë¼¨¤¹¥Þ¥¯¥í¤òÀßÄꤷ¤Æ²¼¤µ¤¤¡£ * * cannaBinDir; * ¥³¥Þ¥ó¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Þ¥ó¥É¥µ¡¼¥Á¥Ñ¥¹¤òÄ¥¤ë¤è¤¦¤Ë * ¤·¤Æ¤¯¤À¤µ¤¤¡£ * cannaSrvDir; * cannaserver ¤ª¤è¤Ó cannakill ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê * ¤Ç¤¹¡£ * libCannaDir; * libcanna Åù¥é¥¤¥Ö¥é¥êÅù¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * cannaLibDir; * ¡Ø¤«¤ó¤Ê¡Ù¤Î¼ï¡¹¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * cannaManDir; * ¡Ø¤«¤ó¤Ê¡Ù´ØÏ¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê * ¤Ç¤¹¡£ * cannaIncDir; * ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * ErrDir; * ¥í¥°¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * ¥í¥°¥Õ¥¡¥¤¥ë¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò * ½ÐÎϤ¹¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ * * cannaOwner: * ¼­½ñ¤È¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥ª¡¼¥Ê¤ò»ØÄꤷ¤Þ¤¹¡£ * * cannaGroup: * ¼­½ñ¤È¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥°¥ë¡¼¥×¤ò»ØÄꤷ¤Þ¤¹¡£ * * sharedLibExtension: * shared library ¤Î³ÈÄ¥»Ò¤ò»ØÄꤷ¤Þ¤¹¡£Ä̾ï¤Ï so.1 ¤Ê¤É * ¤¬»È¤ï¤ì¤Þ¤¹¡£ HP-UX ¤Ç¤Ï sl ¤Ç¤¹¡£ * * cannaDsoRev: * shared library ¤Î¥ê¥Ó¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£so.1 ¤Ê¤é 1 * ¤Ç¤¹¡£so.1.1 ¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢ 1.1 ¤È»ØÄꤷ¤Þ¤¹¡£ * * pubdicDir: * Pubdic+ ¤Ç¤ÏºÇ¿·¤Î¼­½ñ¤¬½àÈ÷¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤Á¤é¤òÍøÍÑ * ¤¹¤ë¾ì¹ç¤Ë¤Ï¤³¤³¤Ç¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£Canna * ¤Î make ¤ò¤¹¤ëÁ°¤Ë¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë iroha.t * ¤¬ºî¤é¤ì¤Æ¤¤¤ë¾õÂ֤ˤʤäƤ¤¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ * * engineSwitch: * (¸½ºß¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£) * * cannaLight: * (ÆÃÊ̤ÊÍýͳ¤¬Ìµ¤¤¸Â¤ê1¤Î¤Þ¤Þ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£) * * USE_OBSOLETE_STYLE_FILENAME: * ´Á»ú¼­½ñ̾¡¢¥í¡¼¥Þ»ú¥Æ¡¼¥Ö¥ë̾¤ò Version 3.4 °ÊÁ°¤Î̾ * Á°¤Î¤Þ¤Þ¤Ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥Þ¥¯¥í¤ò #define ¤·¤Æ¤¯¤À * ¤µ¤¤¡£¤Á¤Ê¤ß¤Ë¡¢Version 3.5 ¤«¤é¡¢¥í¡¼¥Þ»ú¤«Ì¾ÊÑ´¹¥Æ¡¼ * ¥Ö¥ë¤Î³ÈÄ¥»Ò¤¬ .kp ¤«¤é .cbp ¤Ø¡¢¥Æ¥­¥¹¥È¼­½ñ¥Õ¥¡¥¤¥ë¡¢ * ¥Ð¥¤¥Ê¥ê¼­½ñ¥Õ¥¡¥¤¥ë¡¢¼­½ñ³Ø½¬¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤¬¤½¤ì¤¾ * ¤ì¡¢.t, .d, .fq ¤«¤é .cbd, .ctd, .cld ¤ËÊѹ¹¤Ë¤Ê¤ê¤Þ¤· * ¤¿¡£ * * ¡Ô°Ê²¼¤Î£²¤Ä¤Ï½¤ÀµÉÔÍפȤϻפ¤¤Þ¤¹¤¬ÀâÌÀ¤ò¤·¤Æ¤ª¤­¤Þ¤¹¡Õ * * DicDir; * ¼­½ñ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * * JAPANESEMAN; * ¥Þ¥Ë¥å¥¢¥ë¤È¤·¤ÆÆüËܸì¥Þ¥Ë¥å¥¢¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤Ë * ¤Ï¤³¤Î¥Þ¥¯¥í¤ò #define ¤·¤Þ¤¹¡£±Ñ¸ì¥Þ¥Ë¥å¥¢¥ë¤Ï½½Ê¬¤Ë * ¤½¤í¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç #define ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ */ /* * $Id: Canna.conf.dist,v 1.23.2.4 2004/04/26 23:15:17 aida_s Exp $ */ /* root¤Ë¤Ê¤é¤º¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤Ï¤³¤ì¤òÄêµÁ¤·¤Æ²¼¤µ¤¤ */ /* #define InstallAsUser */ /* ½¾Íè¤È¸ß´¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤Ë¤¹¤ë¾ì¹ç¤Ï¤³¤ì¤òÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */ /* #define ObsoleteInstallDir */ /* °Ê²¼¥Ç¥Õ¥©¥ë¥ÈÃÍ¡¢Êѹ¹ÉÔÍ× */ #ifdef InstallAsUser # define DefCannaPrefix $(HOME)/canna # define DefErrDir $(cannaPrefix)/log # define DefLibCannaDir $(cannaExecPrefix)/lib #else # define DefCannaPrefix /usr/local/canna # ifdef ObsoleteInstallDir # define DefErrDir /usr/spool/canna # define DefLibCannaDir /usr/lib # else # define DefErrDir /var/log # define DefLibCannaDir $(cannaExecPrefix)/lib # endif #endif #ifdef ObsoleteInstallDir # define DefCannaSrvDir $(cannaExecPrefix)/bin # define DefCannaLibDir $(cannaPrefix)/lib #else # define DefCannaSrvDir $(cannaExecPrefix)/sbin # define DefCannaLibDir $(cannaPrefix)/share/canna #endif #if defined(LinuxArchitecture) || defined(FreeBSDArchitecture) \ || defined(NetBSDArchitecture) || defined(OpenBSDArchitecture) # ifdef UseElfFormat # define ModernElfLinkAvailable UseElfFormat # define CannaGccElfArchitecture # else # define ModernElfLinkAvailable NO # endif #elif defined(SVR4Architecture) # define ModernElfLinkAvailable YES #else # define ModernElfLinkAvailable NO #endif cannaPrefix = DefCannaPrefix cannaExecPrefix = $(cannaPrefix) cannaBinDir = $(cannaExecPrefix)/bin cannaSrvDir = DefCannaSrvDir XCOMM cannaLibDir = /var/lib/canna XCOMM cannaLibDir = /var/db/canna cannaLibDir = DefCannaLibDir XCOMM cannaManDir = $(cannaPrefix)/share/man cannaManDir = $(cannaPrefix)/man cannaIncDir = $(cannaPrefix)/include/canna libCannaDir = DefLibCannaDir ErrDir = DefErrDir /* µì¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹API¤ò̵¸ú¤Ë¤¹¤ë¾ì¹ç¤Ï0¤ÈÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */ #define SupportOldWchar 1 /* IPv6¤òÍѤ¤¤ë¾ì¹ç¤Ï1¤ÈÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */ #define UseInet6 0 /* requires newer IPv6 implementation */ /* 3.2·Ï¤«¤é3.6·Ï¤Þ¤Ç¤Î·Á¼°¤Î¼­½ñ¤òºî¤ë¾ì¹ç¤Ï¤³¤ì¤òÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */ /* #define DIC_3_6_COMPAT */ /* ELF¤ò»È¤¦¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î°·¤¤¤ò¡¢Linux¤äNetBSD¡¢ * OpenBSD¤Î¤è¤¦¤Ê¸½ÂåŪ¤Ê°·¤¤¤Ë¤·¤¿¤¤¾ì¹ç¡¢YES¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ */ #define ModernElfLink NO /* experimental */ cannaOwner = bin cannaGroup = bin #ifdef InstallAsUser cannaOwnerGroup = #else cannaOwnerGroup = -o $(cannaOwner) -g $(cannaGroup) #endif cannaDsoRev = 1.2 #if defined(cygwinArchitecture) /* import library¤ÎÊý¤ò»ØÄꤷ¤Æ¤ª¤¯¡£DLLËÜÂΤÏ/usr/X11R6/bin¤ËÆþ¤ë¡£ */ sharedLibExtension = a #elif defined(HPArchitecture) && !defined(LinuxArchitecture) sharedLibExtension = sl.$(cannaDsoRev) #elif defined(DarwinArchitecture) sharedLibExtension = $(cannaDsoRev).dylib #else sharedLibExtension = so.$(cannaDsoRev) #endif /* iroha.t ¤Î¾ì½ê¤ò»ØÄê¡£pubdic+ ¤¬¤¢¤ì¤Ð¤½¤Á¤é¤ò»ØÄꤷ¤Þ¤¹¡£ */ pubdicDir = $(CANNAROOT)/dic/ideo/pubdic #ifdef InstallAsUser CHOWN = : CHGRP = : CHMOD = : #else CHOWN = chown CHGRP = chgrp CHMOD = chmod #endif /* ÆüËܸì¥Þ¥Ë¥å¥¢¥ë¤ò»È¤ï¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¥³¥á¥ó¥È¥¢¥¦¥È */ #define JAPANESEMAN /* #define engineSwitch */ /* °Ê²¼¥¨¥ó¥¸¥ó¥¹¥¤¥Ã¥Á¤¬¤é¤ß */ #ifdef engineSwitch kinput2SrcDir = /work/X11R5/contrib/im/kinput2 wnn4SrcDir = /work/X11R5/contrib/im/Xsi/Wnn sj3SrcDir = /work/X11R5/contrib/im/Ximp/sony/sj3 DLLIB = -ldl cannaDsoRevDef = -DCANNA_DSOREV=\"$(cannaDsoRev)\" #endif /* cannaserver¡¢libcanna ¤Ë EUC ¥×¥í¥È¥³¥ë½èÍýÉô¤òÁȤ߹þ¤ß¤Þ¤»¤ó¡£ * EUC¥×¥í¥È¥³¥ë¤Î¥µ¥Ý¡¼¥È¤ÏÂǤÁÀÚ¤é¤ì¤¿¤Î¤Ç¡¢ÆÃÊ̤ÊÍýͳ¤¬Ìµ¤¤¸Â¤ê1¤Ë * ÀßÄꤷ¤Æ²¼¤µ¤¤¡£ */ cannaLight = 1 /* ´Á»ú¼­½ñ̾¡¢¥í¡¼¥Þ»ú¥Æ¡¼¥Ö¥ë̾¤ò°ÊÁ°¤Î̾Á°¤Î¤Þ¤Þ¤Ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ USE_OBSOLETE_STYLE_FILENAME ¤òÄêµÁ¤¹¤ë */ /* #define USE_OBSOLETE_STYLE_FILENAME */ /* * ¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê¤òÍѤ¤¤Æ Canna ¤Î * ¥³¥Þ¥ó¥ÉÎà¤ò¥ê¥ó¥¯¤¹¤ë»þ¤Ï¡¢¼¡¤ò YES ¤Ë¤·¤Æ¤¯¤À¤¤¡£ */ /* #define UseInstalledLibCanna YES */ #define UseInstalledLibCanna NO DicDir = $(cannaLibDir)/dic /* ¤³¤³¤«¤é²¼¤ÏÊѹ¹ÉÔÍפǤ¹ */ /* * ¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Ï ¤â¸«¤Æ¤¯¤À¤¤¡£ */ #ifndef DoSharedLib #define DoSharedLib HasSharedLibraries #endif #if DoSharedLib == YES && defined(cygwinArchitecture) #define CYGWIN_DLL #endif #ifndef CYGWIN_DLL /* cygwin¤Ç¤Ï¡¢imake¤¬import library¤ò*.dll.a¤Ç¤Ê¤¯*.a¤Ë¤·¤Æ¤·¤Þ¤¦¤¿¤á¡¢ static library¤È¶¦Â¸¤Ç¤­¤Ê¤¤ */ #define DoNormalLib YES #endif #define DoDebugLib NO #define DoProfileLib NO #ifndef UseInstalledLibCanna #define UseInstalledLibCanna NO #endif /* UseInstalledLibCanna */ #if 0 && defined(OS2Architecutre) # ifdef LibraryTargetName # undef LibraryTargetName # endif # define LibraryTargetName(libname) libname.a #endif #if DoSharedLib # define CannaDepLibraryName(libname) Concat(lib,libname.$(sharedLibExtension)) #else # define CannaDepLibraryName(libname) LibraryTargetName(libname) #endif #if UseInstalledLibCanna DEPCANNALIB = $(libCannaDir)/CannaDepLibraryName(canna) CANNALIB = -L$(libCannaDir) -lcanna $(DLLIB) DEPCANNALIB16 = $(libCannaDir)/CannaDepLibraryName(canna16) CANNALIB16 = -L$(libCannaDir) -lcanna16 $(DLLIB) #else DEPCANNALIB = $(CANNASRC)/CannaDepLibraryName(canna) CANNALIB = -L$(CANNASRC) -lcanna $(DLLIB) DEPCANNALIB16 = $(CANNASRC)/CannaDepLibraryName(canna16) CANNALIB16 = -L$(CANNASRC) -lcanna16 $(DLLIB) #endif #if DoSharedLib DEPRKCLIB = $(DEPCANNALIB) RKCLIB = $(CANNALIB) #else /* !HasSharedLibraries */ DEPRKCLIB = $(RKCSRC)/LibraryTargetName(RKC) RKCLIB = -L$(RKCSRC) -lRKC #endif /* !HasSharedLibraries */ DEPRKLIB = $(CANNAROOT)/lib/RK/LibraryTargetName(RK) RKLIB = -L$(CANNAROOT)/lib/RK -lRK DEPRKINDEPLIB = $(CANNAROOT)/lib/RKindep/LibraryTargetName(RKindep) RKINDEPLIB = -L$(CANNAROOT)/lib/RKindep -lRKindep LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) #if ModernElfLink /* best effort */ # if defined(CannaGccElfArchitecture) SHLIBLDFLAGS = -shared -Wl,-rpath,$(libCannaDir) # elif defined(SVR4Architecture) SHLIBLDFLAGS = -G -z text # endif USRLIBDIRPATH = $(libCannaDir) CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH) SOSYMLINK = true #endif /* * ¤³¤³¤«¤é²¼¤ÏÊѹ¹¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ */ #if defined(SunArchitecture) # define CannaDefines -D__EXTENSIONS__ #else # define CannaDefines #endif CANNA_DEFINES = CannaDefines CANNASERVER_DEFINES = $(CANNA_DEFINES) RK_DEFINES = $(CANNA_DEFINES) RKC_DEFINES = -DCPP='"$(CPP)"' $(CANNA_DEFINES) UILIB_DEFINES = $(cannaDsoRevDef) $(CANNA_DEFINES) SCRIPTS_DEFINES = $(CANNA_DEFINES) #ifdef JAPANESEMAN JMNLOCALE = ja #endif /* USE_OBSOLETE_STYLE_FILENAME ¤òÄêµÁ¤¹¤ë¤¿¤á¤ÎÄêµÁ */ #ifdef USE_OBSOLETE_STYLE_FILENAME useObsoleteFilename = -DUSE_OBSOLETE_STYLE_FILENAME #endif #ifdef InstallAsUser UnixSockDir = $(cannaPrefix)/tmp/.iroha_unix AccessFile = $(cannaPrefix)/etc/hosts.canna #else UnixSockDir = /tmp/.iroha_unix AccessFile = /etc/hosts.canna #endif UnixSockName = IROHA /* * °Ê²¼man¥Ú¡¼¥¸¤Ë´Ø¤¹¤ëÄêµÁ */ #ifndef OS2Architecutre MANUALSED = $(CANNAROOT)/misc/manual.sed #define ConvertPathName(dst,src) @@\ dst:: src $(MANUALSED) @@\ sed -f $(MANUALSED) src > dst @@\ $(MANUALSED):: $(CANNAROOT)/Canna.conf @@\ (echo "s%@(cannaBinDir)%$(cannaBinDir)%g"; \ @@\ echo "s%@(cannaLibDir)%$(cannaLibDir)%g"; \ @@\ echo "s%@(cannaIncDir)%$(cannaIncDir)%g"; \ @@\ echo "s%@(UnixSockDir)%$(UnixSockDir)%g"; \ @@\ echo "s%@(UnixSockName)%$(UnixSockName)%g"; \ @@\ echo "s%@(AccessFile)%$(AccessFile)%g"; \ @@\ echo "s%@(DicDir)%$(DicDir)%g"; \ @@\ echo "s%@(ErrDir)%$(ErrDir)%g") > $(MANUALSED) @@\ clean:: @@\ $(RM) $(MANUALSED) #else MANUALSED = manual.sed #define ConvertPathName(dst,src) @@\ dst:: src $(MANUALSED) @@\ sed -f $(MANUALSED) src > dst @@\ $(MANUALSED):: $(CANNAROOT)/Canna.conf @@\ echo "s%@(cannaBinDir)%$(cannaBinDir)%g" > $(MANUALSED) @@\ echo "s%@(cannaLibDir)%$(cannaLibDir)%g" >> $(MANUALSED) @@\ echo "s%@(cannaIncDir)%$(cannaIncDir)%g" >> $(MANUALSED) @@\ echo "s%@(UnixSockDir)%$(UnixSockDir)%g" >> $(MANUALSED) @@\ echo "s%@(UnixSockName)%$(UnixSockName)%g" >> $(MANUALSED) @@\ echo "s%@(AccessFile)%$(AccessFile)%g" >> $(MANUALSED) @@\ echo "s%@(DicDir)%$(DicDir)%g" >> $(MANUALSED) @@\ echo "s%@(ErrDir)%$(ErrDir)%g" >> $(MANUALSED) @@\ clean:: @@\ $(RM) $(MANUALSED) #endif #ifdef InstallManPageLong #undef InstallManPageLong #endif #ifdef ObsoleteInstallDir #define ManInstDir man$(MANSUFFIX) #define ManBase(dest) dest.$(MANSUFFIX) #define LibManInstDir man$(LIBMANSUFFIX) #define LibManBase(dest) dest.$(LIBMANSUFFIX) #else /* !ObsoleteInstallDir */ #define ManInstDir man1 #define ManBase(dest) dest.1 #define LibManInstDir man3 #define LibManBase(dest) dest.3 #endif /* !ObsoleteInstallDir */ #define ManDest(dest) ManInstDir/ManBase(dest) #define LibManDest(dest) LibManInstDir/LibManBase(dest) #define ManTop(destdir) $(DESTDIR)destdir #define JManTop(destdir) $(DESTDIR)destdir/$(JMNLOCALE) #ifdef JAPANESEMAN #define InstallManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ ConvertPathName(file.jtmp,file.jmn) @@\ install.man:: file.tmp file.jtmp @@\ MakeDir($(DESTDIR)destdir/ManInstDir) @@\ MakeDir($(DESTDIR)destdir/$(JMNLOCALE)/ManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/ManDest(dest) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.jtmp JManTop(destdir)/ManDest(dest) @@\ $(RM) file.tmp file.jtmp @@\ clean:: @@\ $(RM) file.tmp file.jtmp #else #define InstallManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ install.man:: file.tmp @@\ MakeDir($(DESTDIR)destdir/ManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/ManDest(dest) @@\ $(RM) file.tmp @@\ clean:: @@\ $(RM) file.tmp #endif #ifdef InstallManPage #undef InstallManPage #endif #define InstallManPage(file,destdir) @@\ InstallManPageLong(file,destdir,file) #ifdef InstallLibManPageLong #undef InstallLibManPageLong #endif #ifdef JAPANESEMAN #define InstallLibManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ ConvertPathName(file.jtmp,file.jmn) @@\ install.man:: file.tmp file.jtmp @@\ MakeDir($(DESTDIR)destdir/LibManInstDir) @@\ MakeDir($(DESTDIR)destdir/$(JMNLOCALE)/LibManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/LibManDest(dest) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.jtmp JManTop(destdir)/LibManDest(dest) @@\ $(RM) file.tmp file.jtmp @@\ clean:: @@\ $(RM) file.tmp file.jtmp #else #define InstallLibManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ install.man:: file.tmp @@\ MakeDir($(DESTDIR)destdir/LibManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/LibManDest(dest) @@\ $(RM) file.tmp @@\ clean:: @@\ $(RM) file.tmp #endif #ifdef InstallLibManPage #undef InstallLibManPage #endif #define InstallLibManPage(file,destdir) @@\ InstallLibManPageLong(file,destdir,file) #ifdef InstallLibManPageAliases #undef InstallLibManPageAliases #endif #ifdef JAPANESEMAN #define InstallLibManPageAliases(file,destdir,aliases) @@\ install.man:: @@\ @for i in aliases; do (set -x; \ @@\ $(RM) $(DESTDIR)destdir/LibManDest($$i); \ @@\ $(LN) LibManBase(file) ManTop(destdir)/LibManDest($$i); \ @@\ $(RM) $(DESTDIR)destdir/$(JMNLOCALE)/LibManDest($$i); \ @@\ $(LN) LibManBase(file) JManTop(destdir)/LibManDest($$i) \ @@\ ); done #else #define InstallLibManPageAliases(file,destdir,aliases) @@\ install.man:: @@\ @for i in aliases; do (set -x; \ @@\ $(RM) $(DESTDIR)destdir/LibManDest($$i); \ @@\ $(LN) LibManBase(file) JManTop(destdir)/LibManDest($$i) \ @@\ ); done #endif /* * °Ê²¼¥é¥¤¥Ö¥é¥ê¤Ë´Ø¤¹¤ëÄêµÁ */ #if ModernElfLink # define CannaLongShLib(libname,rev) Concat(lib,libname.so.rev) # define CannaShortShLib(libname) Concat(lib,libname.so) # if defined(CannaGccElfArchitecture) # define CannaLinkTmpSharedLibrary(tmpso,dlname,solist) \ $(CC) -o tmpso $(SHLIBLDFLAGS) -Wl,-soname,dlname solist $(REQUIREDLIBS) BaseShLibReqs # elif defined(SVR4Architecture) # define CannaLinkTmpSharedLibrary(tmpso,dlname,solist) \ $(CCENVSETUP) $(LD) -o tmpso $(SHLIBLDFLAGS) -h dlname solist $(REQUIREDLIBS) BaseShLibReqs # else # error unsupported platform # endif /* CannaLinkTmpSharedLibrary */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(CannaLongShLib(libname,rev)) @@\ @@\ CannaLongShLib(libname,rev): solist $(EXTRALIBRARYDEPS) @@\ $(RM) $@~ @@\ @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \ @@\ (cd down; CannaLinkTmpSharedLibrary(up/$@~,$$SONAME,solist)); \ @@\ $(RM) $$SONAME; $(LN) $@ $$SONAME @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @if $(SOSYMLINK); then (set -x; \ @@\ $(RM) CannaShortShLib(libname); \ @@\ $(LN) $@ CannaShortShLib(libname)); fi @@\ @@\ clean:: @@\ @MAJREV=`expr rev : '\([^.]*\)'`; \ @@\ set -x; $(RM) CannaLongShLib(libname,$$MAJREV) @@\ $(RM) CannaLongShLib(libname,rev) CannaShortShLib(libname) /* CannaSharedLibraryTarget */ # define CannaInstallSharedLibrary(libname,rev,dest) @@\ install:: CannaLongShLib(libname,rev) @@\ MakeDir($(DESTDIR)dest) @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) CannaLongShLib(libname,rev) $(DESTDIR)dest @@\ @T=`echo $(DESTDIR)dest/CannaLongShLib(libname,rev) | sed 's/\.[^\.]*$$//'`;\ set -x; $(RM) $$T && $(LN) CannaLongShLib(libname,rev) $$T @@\ @if $(SOSYMLINK); then (set -x; \ $(RM) $(DESTDIR)dest/CannaShortShLib(libname); \ @@\ $(LN) CannaLongShLib(libname,rev) $(DESTDIR)dest/CannaShortShLib(libname)); fi /* CannaInstallSharedLibrary */ #elif defined(CYGWIN_DLL) /* libname-def.cpp¤òºî¤ë¤Î¤¬ÌÌÅݤʤΤÇX¤ÎSharedLibraryTarget¤ò¾å½ñ¤­ */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat3(lib,libname,.dll)) @@\ @@\ Concat3(lib,libname,.dll): solist @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(Concat3(lib,libname,.dll)) @@\ gcc -shared -nostartfiles -Wl,--out-implib=Concat(lib,libname.a) -o Concat3(lib,libname,.dll) solist $(REQUIREDLIBS) @@\ @@\ clean:: @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(Concat3(lib,libname,.dll)) /* CannaSharedLibraryTarget */ /* 4.3.0¤Ç¤Ï¥é¥¤¥Ö¥é¥ê¤Î̿̾¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ê¤Î¤Ç¸Å¤¤Ì¿Ì¾¤ò»È¤¦ */ # define CannaInstallSharedLibrary(libname,rev,dest) @@\ InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\ InstallTarget(install,Concat3(lib,libname,.dll),$(INSTBINFLAGS),$(BINDIR)) /* CannaInstallSharedLibrary */ #elif defined(RsArchitecture) /* °Ê²¼¤Ï IBM ´ðÁø¦¤Î¸ÅȪ¤µ¤ó(furuhata@trl.ibm.co.jp)¤Ë¤è¤ê½ñ¤«¤ì¤Þ¤·¤¿ */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat(lib,libname.a)) @@\ @@\ Concat(lib,libname.a): solist $(UNSHAREDOBJS) @@\ $(RM) $@~ shr.o @@\ (cd down; $(AR) up/$@~ solist) @@\ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' > $@.syms @@\ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) -lc -lm -L$(libCannaDir) @@\ $(RM) $@~ @@\ $(AR) $@~ shr.o $(UNSHAREDOBJS) @@\ $(RM) $@ shr.o @@\ $(MV) $@~ $@ @@\ @@\ clean:: @@\ $(RM) Concat(lib,libname.a) /* CannaSharedLibraryTarget */ #endif /* Special link rules */ /* ɬÍפ˱þ¤¸¤ÆX¤Î¥ë¡¼¥ë¤ò¾å½ñ¤­ */ #ifdef CannaSharedLibraryTarget # ifdef SharedLibraryTarget # undef SharedLibraryTarget # endif # define SharedLibraryTarget CannaSharedLibraryTarget #endif #ifdef CannaInstallSharedLibrary # ifdef InstallSharedLibrary # undef InstallSharedLibrary # endif # define InstallSharedLibrary CannaInstallSharedLibrary #endif #ifdef LinkBuildLibrary # undef LinkBuildLibrary #endif #define LinkBuildLibrary(lib) $(_NULLCMD_) #if defined(DarwinArchitecture) && OSMajorVersion >= 7 \ && defined(XFree86Version) && defined(XF86_VERSION_NUMERIC) # if XFree86Version < XF86_VERSION_NUMERIC(4, 3, 99, 16, 0) # ifdef CppSedMagic # undef CppSedMagic # endif # define CppSedMagic sed -e '/^# *[0-9][0-9]* *.*$$/d' -e '/# *pragma /d' -e '/^XCOMM$$/s//#/' -e '/^XCOMM[^a-zA-Z0-9_]/s/^XCOMM/#/' # endif #endif /* Apple X11 and MacOS X 10.3 */ /* °Ê²¼ÄêµÁ¤¬·ç¤±¤Æ¤¤¤ë¾ì¹ç¤Î¤¿¤á¤ÎÂåÂØÄêµÁ */ #ifndef ProgramTargetName # if defined(OS2Architecutre) || defined(cygwinArchitecture) # define ProgramTargetName(target) Concat(target,.exe) # else # define ProgramTargetName(target) target # endif #endif /* ProgramTargetName */ #ifndef MakeDirectoriesLong # define MakeDirectoriesLong(step,dirs,owner,group) @@\ step:: @@\ @case '${MFLAGS}' in *[i]*) set +e;; esac; @@\ DirFailPrefix@for i in dirs; do if [ -d $(DESTDIR)$$i ]; then \ @@\ set +x; else (set -x; $(MKDIRHIER) $(DESTDIR)$$i;$(CHOWN) owner $(DESTDIR)$$i;$(CHGRP) group $(DESTDIR)$$i); fi; \ @@\ done #endif /* MakeDirectoriesLong */ #ifndef BaseShLibReqs # define BaseShLibReqs #endif Canna37p3/Canna.conf.dist0100644000076500001200000005047110043314005014473 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * ¤³¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢³Æ¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤É¤ò * ·èÄꤹ¤ë¤¿¤á¤Î¥Þ¥¯¥í¤òÀßÄꤷ¤Þ¤¹¡£ * * ¢¨¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦Á°¤Ëɬ¤º Canna.conf ¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£ * * °Ê²¼¤Ë¼¨¤¹¥Þ¥¯¥í¤òÀßÄꤷ¤Æ²¼¤µ¤¤¡£ * * cannaBinDir; * ¥³¥Þ¥ó¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Þ¥ó¥É¥µ¡¼¥Á¥Ñ¥¹¤òÄ¥¤ë¤è¤¦¤Ë * ¤·¤Æ¤¯¤À¤µ¤¤¡£ * cannaSrvDir; * cannaserver ¤ª¤è¤Ó cannakill ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê * ¤Ç¤¹¡£ * libCannaDir; * libcanna Åù¥é¥¤¥Ö¥é¥êÅù¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * cannaLibDir; * ¡Ø¤«¤ó¤Ê¡Ù¤Î¼ï¡¹¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * cannaManDir; * ¡Ø¤«¤ó¤Ê¡Ù´ØÏ¢¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê * ¤Ç¤¹¡£ * cannaIncDir; * ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * ErrDir; * ¥í¥°¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * ¥í¥°¥Õ¥¡¥¤¥ë¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò * ½ÐÎϤ¹¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ * * cannaOwner: * ¼­½ñ¤È¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥ª¡¼¥Ê¤ò»ØÄꤷ¤Þ¤¹¡£ * * cannaGroup: * ¼­½ñ¤È¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥°¥ë¡¼¥×¤ò»ØÄꤷ¤Þ¤¹¡£ * * sharedLibExtension: * shared library ¤Î³ÈÄ¥»Ò¤ò»ØÄꤷ¤Þ¤¹¡£Ä̾ï¤Ï so.1 ¤Ê¤É * ¤¬»È¤ï¤ì¤Þ¤¹¡£ HP-UX ¤Ç¤Ï sl ¤Ç¤¹¡£ * * cannaDsoRev: * shared library ¤Î¥ê¥Ó¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£so.1 ¤Ê¤é 1 * ¤Ç¤¹¡£so.1.1 ¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢ 1.1 ¤È»ØÄꤷ¤Þ¤¹¡£ * * pubdicDir: * Pubdic+ ¤Ç¤ÏºÇ¿·¤Î¼­½ñ¤¬½àÈ÷¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤Á¤é¤òÍøÍÑ * ¤¹¤ë¾ì¹ç¤Ë¤Ï¤³¤³¤Ç¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£Canna * ¤Î make ¤ò¤¹¤ëÁ°¤Ë¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë iroha.t * ¤¬ºî¤é¤ì¤Æ¤¤¤ë¾õÂ֤ˤʤäƤ¤¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ * * engineSwitch: * (¸½ºß¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£) * * cannaLight: * (ÆÃÊ̤ÊÍýͳ¤¬Ìµ¤¤¸Â¤ê1¤Î¤Þ¤Þ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£) * * USE_OBSOLETE_STYLE_FILENAME: * ´Á»ú¼­½ñ̾¡¢¥í¡¼¥Þ»ú¥Æ¡¼¥Ö¥ë̾¤ò Version 3.4 °ÊÁ°¤Î̾ * Á°¤Î¤Þ¤Þ¤Ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥Þ¥¯¥í¤ò #define ¤·¤Æ¤¯¤À * ¤µ¤¤¡£¤Á¤Ê¤ß¤Ë¡¢Version 3.5 ¤«¤é¡¢¥í¡¼¥Þ»ú¤«Ì¾ÊÑ´¹¥Æ¡¼ * ¥Ö¥ë¤Î³ÈÄ¥»Ò¤¬ .kp ¤«¤é .cbp ¤Ø¡¢¥Æ¥­¥¹¥È¼­½ñ¥Õ¥¡¥¤¥ë¡¢ * ¥Ð¥¤¥Ê¥ê¼­½ñ¥Õ¥¡¥¤¥ë¡¢¼­½ñ³Ø½¬¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤¬¤½¤ì¤¾ * ¤ì¡¢.t, .d, .fq ¤«¤é .cbd, .ctd, .cld ¤ËÊѹ¹¤Ë¤Ê¤ê¤Þ¤· * ¤¿¡£ * * ¡Ô°Ê²¼¤Î£²¤Ä¤Ï½¤ÀµÉÔÍפȤϻפ¤¤Þ¤¹¤¬ÀâÌÀ¤ò¤·¤Æ¤ª¤­¤Þ¤¹¡Õ * * DicDir; * ¼­½ñ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ * * JAPANESEMAN; * ¥Þ¥Ë¥å¥¢¥ë¤È¤·¤ÆÆüËܸì¥Þ¥Ë¥å¥¢¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤Ë * ¤Ï¤³¤Î¥Þ¥¯¥í¤ò #define ¤·¤Þ¤¹¡£±Ñ¸ì¥Þ¥Ë¥å¥¢¥ë¤Ï½½Ê¬¤Ë * ¤½¤í¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç #define ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ */ /* * $Id: Canna.conf.dist,v 1.23.2.4 2004/04/26 23:15:17 aida_s Exp $ */ /* root¤Ë¤Ê¤é¤º¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤Ï¤³¤ì¤òÄêµÁ¤·¤Æ²¼¤µ¤¤ */ /* #define InstallAsUser */ /* ½¾Íè¤È¸ß´¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤Ë¤¹¤ë¾ì¹ç¤Ï¤³¤ì¤òÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */ /* #define ObsoleteInstallDir */ /* °Ê²¼¥Ç¥Õ¥©¥ë¥ÈÃÍ¡¢Êѹ¹ÉÔÍ× */ #ifdef InstallAsUser # define DefCannaPrefix $(HOME)/canna # define DefErrDir $(cannaPrefix)/log # define DefLibCannaDir $(cannaExecPrefix)/lib #else # define DefCannaPrefix /usr/local/canna # ifdef ObsoleteInstallDir # define DefErrDir /usr/spool/canna # define DefLibCannaDir /usr/lib # else # define DefErrDir /var/log # define DefLibCannaDir $(cannaExecPrefix)/lib # endif #endif #ifdef ObsoleteInstallDir # define DefCannaSrvDir $(cannaExecPrefix)/bin # define DefCannaLibDir $(cannaPrefix)/lib #else # define DefCannaSrvDir $(cannaExecPrefix)/sbin # define DefCannaLibDir $(cannaPrefix)/share/canna #endif #if defined(LinuxArchitecture) || defined(FreeBSDArchitecture) \ || defined(NetBSDArchitecture) || defined(OpenBSDArchitecture) # ifdef UseElfFormat # define ModernElfLinkAvailable UseElfFormat # define CannaGccElfArchitecture # else # define ModernElfLinkAvailable NO # endif #elif defined(SVR4Architecture) # define ModernElfLinkAvailable YES #else # define ModernElfLinkAvailable NO #endif cannaPrefix = DefCannaPrefix cannaExecPrefix = $(cannaPrefix) cannaBinDir = $(cannaExecPrefix)/bin cannaSrvDir = DefCannaSrvDir XCOMM cannaLibDir = /var/lib/canna XCOMM cannaLibDir = /var/db/canna cannaLibDir = DefCannaLibDir XCOMM cannaManDir = $(cannaPrefix)/share/man cannaManDir = $(cannaPrefix)/man cannaIncDir = $(cannaPrefix)/include/canna libCannaDir = DefLibCannaDir ErrDir = DefErrDir /* µì¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹API¤ò̵¸ú¤Ë¤¹¤ë¾ì¹ç¤Ï0¤ÈÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */ #define SupportOldWchar 1 /* IPv6¤òÍѤ¤¤ë¾ì¹ç¤Ï1¤ÈÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */ #define UseInet6 0 /* requires newer IPv6 implementation */ /* 3.2·Ï¤«¤é3.6·Ï¤Þ¤Ç¤Î·Á¼°¤Î¼­½ñ¤òºî¤ë¾ì¹ç¤Ï¤³¤ì¤òÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */ /* #define DIC_3_6_COMPAT */ /* ELF¤ò»È¤¦¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î°·¤¤¤ò¡¢Linux¤äNetBSD¡¢ * OpenBSD¤Î¤è¤¦¤Ê¸½ÂåŪ¤Ê°·¤¤¤Ë¤·¤¿¤¤¾ì¹ç¡¢YES¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ */ #define ModernElfLink NO /* experimental */ cannaOwner = bin cannaGroup = bin #ifdef InstallAsUser cannaOwnerGroup = #else cannaOwnerGroup = -o $(cannaOwner) -g $(cannaGroup) #endif cannaDsoRev = 1.2 #if defined(cygwinArchitecture) /* import library¤ÎÊý¤ò»ØÄꤷ¤Æ¤ª¤¯¡£DLLËÜÂΤÏ/usr/X11R6/bin¤ËÆþ¤ë¡£ */ sharedLibExtension = a #elif defined(HPArchitecture) && !defined(LinuxArchitecture) sharedLibExtension = sl.$(cannaDsoRev) #elif defined(DarwinArchitecture) sharedLibExtension = $(cannaDsoRev).dylib #else sharedLibExtension = so.$(cannaDsoRev) #endif /* iroha.t ¤Î¾ì½ê¤ò»ØÄê¡£pubdic+ ¤¬¤¢¤ì¤Ð¤½¤Á¤é¤ò»ØÄꤷ¤Þ¤¹¡£ */ pubdicDir = $(CANNAROOT)/dic/ideo/pubdic #ifdef InstallAsUser CHOWN = : CHGRP = : CHMOD = : #else CHOWN = chown CHGRP = chgrp CHMOD = chmod #endif /* ÆüËܸì¥Þ¥Ë¥å¥¢¥ë¤ò»È¤ï¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¥³¥á¥ó¥È¥¢¥¦¥È */ #define JAPANESEMAN /* #define engineSwitch */ /* °Ê²¼¥¨¥ó¥¸¥ó¥¹¥¤¥Ã¥Á¤¬¤é¤ß */ #ifdef engineSwitch kinput2SrcDir = /work/X11R5/contrib/im/kinput2 wnn4SrcDir = /work/X11R5/contrib/im/Xsi/Wnn sj3SrcDir = /work/X11R5/contrib/im/Ximp/sony/sj3 DLLIB = -ldl cannaDsoRevDef = -DCANNA_DSOREV=\"$(cannaDsoRev)\" #endif /* cannaserver¡¢libcanna ¤Ë EUC ¥×¥í¥È¥³¥ë½èÍýÉô¤òÁȤ߹þ¤ß¤Þ¤»¤ó¡£ * EUC¥×¥í¥È¥³¥ë¤Î¥µ¥Ý¡¼¥È¤ÏÂǤÁÀÚ¤é¤ì¤¿¤Î¤Ç¡¢ÆÃÊ̤ÊÍýͳ¤¬Ìµ¤¤¸Â¤ê1¤Ë * ÀßÄꤷ¤Æ²¼¤µ¤¤¡£ */ cannaLight = 1 /* ´Á»ú¼­½ñ̾¡¢¥í¡¼¥Þ»ú¥Æ¡¼¥Ö¥ë̾¤ò°ÊÁ°¤Î̾Á°¤Î¤Þ¤Þ¤Ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ USE_OBSOLETE_STYLE_FILENAME ¤òÄêµÁ¤¹¤ë */ /* #define USE_OBSOLETE_STYLE_FILENAME */ /* * ¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê¤òÍѤ¤¤Æ Canna ¤Î * ¥³¥Þ¥ó¥ÉÎà¤ò¥ê¥ó¥¯¤¹¤ë»þ¤Ï¡¢¼¡¤ò YES ¤Ë¤·¤Æ¤¯¤À¤¤¡£ */ /* #define UseInstalledLibCanna YES */ #define UseInstalledLibCanna NO DicDir = $(cannaLibDir)/dic /* ¤³¤³¤«¤é²¼¤ÏÊѹ¹ÉÔÍפǤ¹ */ /* * ¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Ï ¤â¸«¤Æ¤¯¤À¤¤¡£ */ #ifndef DoSharedLib #define DoSharedLib HasSharedLibraries #endif #if DoSharedLib == YES && defined(cygwinArchitecture) #define CYGWIN_DLL #endif #ifndef CYGWIN_DLL /* cygwin¤Ç¤Ï¡¢imake¤¬import library¤ò*.dll.a¤Ç¤Ê¤¯*.a¤Ë¤·¤Æ¤·¤Þ¤¦¤¿¤á¡¢ static library¤È¶¦Â¸¤Ç¤­¤Ê¤¤ */ #define DoNormalLib YES #endif #define DoDebugLib NO #define DoProfileLib NO #ifndef UseInstalledLibCanna #define UseInstalledLibCanna NO #endif /* UseInstalledLibCanna */ #if 0 && defined(OS2Architecutre) # ifdef LibraryTargetName # undef LibraryTargetName # endif # define LibraryTargetName(libname) libname.a #endif #if DoSharedLib # define CannaDepLibraryName(libname) Concat(lib,libname.$(sharedLibExtension)) #else # define CannaDepLibraryName(libname) LibraryTargetName(libname) #endif #if UseInstalledLibCanna DEPCANNALIB = $(libCannaDir)/CannaDepLibraryName(canna) CANNALIB = -L$(libCannaDir) -lcanna $(DLLIB) DEPCANNALIB16 = $(libCannaDir)/CannaDepLibraryName(canna16) CANNALIB16 = -L$(libCannaDir) -lcanna16 $(DLLIB) #else DEPCANNALIB = $(CANNASRC)/CannaDepLibraryName(canna) CANNALIB = -L$(CANNASRC) -lcanna $(DLLIB) DEPCANNALIB16 = $(CANNASRC)/CannaDepLibraryName(canna16) CANNALIB16 = -L$(CANNASRC) -lcanna16 $(DLLIB) #endif #if DoSharedLib DEPRKCLIB = $(DEPCANNALIB) RKCLIB = $(CANNALIB) #else /* !HasSharedLibraries */ DEPRKCLIB = $(RKCSRC)/LibraryTargetName(RKC) RKCLIB = -L$(RKCSRC) -lRKC #endif /* !HasSharedLibraries */ DEPRKLIB = $(CANNAROOT)/lib/RK/LibraryTargetName(RK) RKLIB = -L$(CANNAROOT)/lib/RK -lRK DEPRKINDEPLIB = $(CANNAROOT)/lib/RKindep/LibraryTargetName(RKindep) RKINDEPLIB = -L$(CANNAROOT)/lib/RKindep -lRKindep LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) #if ModernElfLink /* best effort */ # if defined(CannaGccElfArchitecture) SHLIBLDFLAGS = -shared -Wl,-rpath,$(libCannaDir) # elif defined(SVR4Architecture) SHLIBLDFLAGS = -G -z text # endif USRLIBDIRPATH = $(libCannaDir) CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH) SOSYMLINK = true #endif /* * ¤³¤³¤«¤é²¼¤ÏÊѹ¹¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ */ #if defined(SunArchitecture) # define CannaDefines -D__EXTENSIONS__ #else # define CannaDefines #endif CANNA_DEFINES = CannaDefines CANNASERVER_DEFINES = $(CANNA_DEFINES) RK_DEFINES = $(CANNA_DEFINES) RKC_DEFINES = -DCPP='"$(CPP)"' $(CANNA_DEFINES) UILIB_DEFINES = $(cannaDsoRevDef) $(CANNA_DEFINES) SCRIPTS_DEFINES = $(CANNA_DEFINES) #ifdef JAPANESEMAN JMNLOCALE = ja #endif /* USE_OBSOLETE_STYLE_FILENAME ¤òÄêµÁ¤¹¤ë¤¿¤á¤ÎÄêµÁ */ #ifdef USE_OBSOLETE_STYLE_FILENAME useObsoleteFilename = -DUSE_OBSOLETE_STYLE_FILENAME #endif #ifdef InstallAsUser UnixSockDir = $(cannaPrefix)/tmp/.iroha_unix AccessFile = $(cannaPrefix)/etc/hosts.canna #else UnixSockDir = /tmp/.iroha_unix AccessFile = /etc/hosts.canna #endif UnixSockName = IROHA /* * °Ê²¼man¥Ú¡¼¥¸¤Ë´Ø¤¹¤ëÄêµÁ */ #ifndef OS2Architecutre MANUALSED = $(CANNAROOT)/misc/manual.sed #define ConvertPathName(dst,src) @@\ dst:: src $(MANUALSED) @@\ sed -f $(MANUALSED) src > dst @@\ $(MANUALSED):: $(CANNAROOT)/Canna.conf @@\ (echo "s%@(cannaBinDir)%$(cannaBinDir)%g"; \ @@\ echo "s%@(cannaLibDir)%$(cannaLibDir)%g"; \ @@\ echo "s%@(cannaIncDir)%$(cannaIncDir)%g"; \ @@\ echo "s%@(UnixSockDir)%$(UnixSockDir)%g"; \ @@\ echo "s%@(UnixSockName)%$(UnixSockName)%g"; \ @@\ echo "s%@(AccessFile)%$(AccessFile)%g"; \ @@\ echo "s%@(DicDir)%$(DicDir)%g"; \ @@\ echo "s%@(ErrDir)%$(ErrDir)%g") > $(MANUALSED) @@\ clean:: @@\ $(RM) $(MANUALSED) #else MANUALSED = manual.sed #define ConvertPathName(dst,src) @@\ dst:: src $(MANUALSED) @@\ sed -f $(MANUALSED) src > dst @@\ $(MANUALSED):: $(CANNAROOT)/Canna.conf @@\ echo "s%@(cannaBinDir)%$(cannaBinDir)%g" > $(MANUALSED) @@\ echo "s%@(cannaLibDir)%$(cannaLibDir)%g" >> $(MANUALSED) @@\ echo "s%@(cannaIncDir)%$(cannaIncDir)%g" >> $(MANUALSED) @@\ echo "s%@(UnixSockDir)%$(UnixSockDir)%g" >> $(MANUALSED) @@\ echo "s%@(UnixSockName)%$(UnixSockName)%g" >> $(MANUALSED) @@\ echo "s%@(AccessFile)%$(AccessFile)%g" >> $(MANUALSED) @@\ echo "s%@(DicDir)%$(DicDir)%g" >> $(MANUALSED) @@\ echo "s%@(ErrDir)%$(ErrDir)%g" >> $(MANUALSED) @@\ clean:: @@\ $(RM) $(MANUALSED) #endif #ifdef InstallManPageLong #undef InstallManPageLong #endif #ifdef ObsoleteInstallDir #define ManInstDir man$(MANSUFFIX) #define ManBase(dest) dest.$(MANSUFFIX) #define LibManInstDir man$(LIBMANSUFFIX) #define LibManBase(dest) dest.$(LIBMANSUFFIX) #else /* !ObsoleteInstallDir */ #define ManInstDir man1 #define ManBase(dest) dest.1 #define LibManInstDir man3 #define LibManBase(dest) dest.3 #endif /* !ObsoleteInstallDir */ #define ManDest(dest) ManInstDir/ManBase(dest) #define LibManDest(dest) LibManInstDir/LibManBase(dest) #define ManTop(destdir) $(DESTDIR)destdir #define JManTop(destdir) $(DESTDIR)destdir/$(JMNLOCALE) #ifdef JAPANESEMAN #define InstallManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ ConvertPathName(file.jtmp,file.jmn) @@\ install.man:: file.tmp file.jtmp @@\ MakeDir($(DESTDIR)destdir/ManInstDir) @@\ MakeDir($(DESTDIR)destdir/$(JMNLOCALE)/ManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/ManDest(dest) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.jtmp JManTop(destdir)/ManDest(dest) @@\ $(RM) file.tmp file.jtmp @@\ clean:: @@\ $(RM) file.tmp file.jtmp #else #define InstallManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ install.man:: file.tmp @@\ MakeDir($(DESTDIR)destdir/ManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/ManDest(dest) @@\ $(RM) file.tmp @@\ clean:: @@\ $(RM) file.tmp #endif #ifdef InstallManPage #undef InstallManPage #endif #define InstallManPage(file,destdir) @@\ InstallManPageLong(file,destdir,file) #ifdef InstallLibManPageLong #undef InstallLibManPageLong #endif #ifdef JAPANESEMAN #define InstallLibManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ ConvertPathName(file.jtmp,file.jmn) @@\ install.man:: file.tmp file.jtmp @@\ MakeDir($(DESTDIR)destdir/LibManInstDir) @@\ MakeDir($(DESTDIR)destdir/$(JMNLOCALE)/LibManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/LibManDest(dest) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.jtmp JManTop(destdir)/LibManDest(dest) @@\ $(RM) file.tmp file.jtmp @@\ clean:: @@\ $(RM) file.tmp file.jtmp #else #define InstallLibManPageLong(file,destdir,dest) @@\ ConvertPathName(file.tmp,file.man) @@\ install.man:: file.tmp @@\ MakeDir($(DESTDIR)destdir/LibManInstDir) @@\ $(INSTALL) -c $(INSTMANFLAGS) file.tmp ManTop(destdir)/LibManDest(dest) @@\ $(RM) file.tmp @@\ clean:: @@\ $(RM) file.tmp #endif #ifdef InstallLibManPage #undef InstallLibManPage #endif #define InstallLibManPage(file,destdir) @@\ InstallLibManPageLong(file,destdir,file) #ifdef InstallLibManPageAliases #undef InstallLibManPageAliases #endif #ifdef JAPANESEMAN #define InstallLibManPageAliases(file,destdir,aliases) @@\ install.man:: @@\ @for i in aliases; do (set -x; \ @@\ $(RM) $(DESTDIR)destdir/LibManDest($$i); \ @@\ $(LN) LibManBase(file) ManTop(destdir)/LibManDest($$i); \ @@\ $(RM) $(DESTDIR)destdir/$(JMNLOCALE)/LibManDest($$i); \ @@\ $(LN) LibManBase(file) JManTop(destdir)/LibManDest($$i) \ @@\ ); done #else #define InstallLibManPageAliases(file,destdir,aliases) @@\ install.man:: @@\ @for i in aliases; do (set -x; \ @@\ $(RM) $(DESTDIR)destdir/LibManDest($$i); \ @@\ $(LN) LibManBase(file) JManTop(destdir)/LibManDest($$i) \ @@\ ); done #endif /* * °Ê²¼¥é¥¤¥Ö¥é¥ê¤Ë´Ø¤¹¤ëÄêµÁ */ #if ModernElfLink # define CannaLongShLib(libname,rev) Concat(lib,libname.so.rev) # define CannaShortShLib(libname) Concat(lib,libname.so) # if defined(CannaGccElfArchitecture) # define CannaLinkTmpSharedLibrary(tmpso,dlname,solist) \ $(CC) -o tmpso $(SHLIBLDFLAGS) -Wl,-soname,dlname solist $(REQUIREDLIBS) BaseShLibReqs # elif defined(SVR4Architecture) # define CannaLinkTmpSharedLibrary(tmpso,dlname,solist) \ $(CCENVSETUP) $(LD) -o tmpso $(SHLIBLDFLAGS) -h dlname solist $(REQUIREDLIBS) BaseShLibReqs # else # error unsupported platform # endif /* CannaLinkTmpSharedLibrary */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(CannaLongShLib(libname,rev)) @@\ @@\ CannaLongShLib(libname,rev): solist $(EXTRALIBRARYDEPS) @@\ $(RM) $@~ @@\ @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \ @@\ (cd down; CannaLinkTmpSharedLibrary(up/$@~,$$SONAME,solist)); \ @@\ $(RM) $$SONAME; $(LN) $@ $$SONAME @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @if $(SOSYMLINK); then (set -x; \ @@\ $(RM) CannaShortShLib(libname); \ @@\ $(LN) $@ CannaShortShLib(libname)); fi @@\ @@\ clean:: @@\ @MAJREV=`expr rev : '\([^.]*\)'`; \ @@\ set -x; $(RM) CannaLongShLib(libname,$$MAJREV) @@\ $(RM) CannaLongShLib(libname,rev) CannaShortShLib(libname) /* CannaSharedLibraryTarget */ # define CannaInstallSharedLibrary(libname,rev,dest) @@\ install:: CannaLongShLib(libname,rev) @@\ MakeDir($(DESTDIR)dest) @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) CannaLongShLib(libname,rev) $(DESTDIR)dest @@\ @T=`echo $(DESTDIR)dest/CannaLongShLib(libname,rev) | sed 's/\.[^\.]*$$//'`;\ set -x; $(RM) $$T && $(LN) CannaLongShLib(libname,rev) $$T @@\ @if $(SOSYMLINK); then (set -x; \ $(RM) $(DESTDIR)dest/CannaShortShLib(libname); \ @@\ $(LN) CannaLongShLib(libname,rev) $(DESTDIR)dest/CannaShortShLib(libname)); fi /* CannaInstallSharedLibrary */ #elif defined(CYGWIN_DLL) /* libname-def.cpp¤òºî¤ë¤Î¤¬ÌÌÅݤʤΤÇX¤ÎSharedLibraryTarget¤ò¾å½ñ¤­ */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat3(lib,libname,.dll)) @@\ @@\ Concat3(lib,libname,.dll): solist @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(Concat3(lib,libname,.dll)) @@\ gcc -shared -nostartfiles -Wl,--out-implib=Concat(lib,libname.a) -o Concat3(lib,libname,.dll) solist $(REQUIREDLIBS) @@\ @@\ clean:: @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(Concat3(lib,libname,.dll)) /* CannaSharedLibraryTarget */ /* 4.3.0¤Ç¤Ï¥é¥¤¥Ö¥é¥ê¤Î̿̾¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ê¤Î¤Ç¸Å¤¤Ì¿Ì¾¤ò»È¤¦ */ # define CannaInstallSharedLibrary(libname,rev,dest) @@\ InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\ InstallTarget(install,Concat3(lib,libname,.dll),$(INSTBINFLAGS),$(BINDIR)) /* CannaInstallSharedLibrary */ #elif defined(RsArchitecture) /* °Ê²¼¤Ï IBM ´ðÁø¦¤Î¸ÅȪ¤µ¤ó(furuhata@trl.ibm.co.jp)¤Ë¤è¤ê½ñ¤«¤ì¤Þ¤·¤¿ */ # define CannaSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat(lib,libname.a)) @@\ @@\ Concat(lib,libname.a): solist $(UNSHAREDOBJS) @@\ $(RM) $@~ shr.o @@\ (cd down; $(AR) up/$@~ solist) @@\ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' > $@.syms @@\ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) -lc -lm -L$(libCannaDir) @@\ $(RM) $@~ @@\ $(AR) $@~ shr.o $(UNSHAREDOBJS) @@\ $(RM) $@ shr.o @@\ $(MV) $@~ $@ @@\ @@\ clean:: @@\ $(RM) Concat(lib,libname.a) /* CannaSharedLibraryTarget */ #endif /* Special link rules */ /* ɬÍפ˱þ¤¸¤ÆX¤Î¥ë¡¼¥ë¤ò¾å½ñ¤­ */ #ifdef CannaSharedLibraryTarget # ifdef SharedLibraryTarget # undef SharedLibraryTarget # endif # define SharedLibraryTarget CannaSharedLibraryTarget #endif #ifdef CannaInstallSharedLibrary # ifdef InstallSharedLibrary # undef InstallSharedLibrary # endif # define InstallSharedLibrary CannaInstallSharedLibrary #endif #ifdef LinkBuildLibrary # undef LinkBuildLibrary #endif #define LinkBuildLibrary(lib) $(_NULLCMD_) #if defined(DarwinArchitecture) && OSMajorVersion >= 7 \ && defined(XFree86Version) && defined(XF86_VERSION_NUMERIC) # if XFree86Version < XF86_VERSION_NUMERIC(4, 3, 99, 16, 0) # ifdef CppSedMagic # undef CppSedMagic # endif # define CppSedMagic sed -e '/^# *[0-9][0-9]* *.*$$/d' -e '/# *pragma /d' -e '/^XCOMM$$/s//#/' -e '/^XCOMM[^a-zA-Z0-9_]/s/^XCOMM/#/' # endif #endif /* Apple X11 and MacOS X 10.3 */ /* °Ê²¼ÄêµÁ¤¬·ç¤±¤Æ¤¤¤ë¾ì¹ç¤Î¤¿¤á¤ÎÂåÂØÄêµÁ */ #ifndef ProgramTargetName # if defined(OS2Architecutre) || defined(cygwinArchitecture) # define ProgramTargetName(target) Concat(target,.exe) # else # define ProgramTargetName(target) target # endif #endif /* ProgramTargetName */ #ifndef MakeDirectoriesLong # define MakeDirectoriesLong(step,dirs,owner,group) @@\ step:: @@\ @case '${MFLAGS}' in *[i]*) set +e;; esac; @@\ DirFailPrefix@for i in dirs; do if [ -d $(DESTDIR)$$i ]; then \ @@\ set +x; else (set -x; $(MKDIRHIER) $(DESTDIR)$$i;$(CHOWN) owner $(DESTDIR)$$i;$(CHGRP) group $(DESTDIR)$$i); fi; \ @@\ done #endif /* MakeDirectoriesLong */ #ifndef BaseShLibReqs # define BaseShLibReqs #endif Canna37p3/canuum/0040755000076500001200000000000010052700752013136 5ustar shinraadminCanna37p3/canuum/.cvsignore0100644000076500001200000000020710043314005015122 0ustar shinraadmin.depend Makefile canuum config.h config.h.in configure config.status config.log config.cache autom4te.cache cvstmp cwenv.sh cwlocal.sh Canna37p3/canuum/acconfig.h0100644000076500001200000000114307614250272015063 0ustar shinraadmin/* acconfig.h,v 1.4 2002/06/22 13:15:25 hiroo Exp */ /* Canna: $Id: acconfig.h,v 1.3 2003/01/24 14:42:02 aida_s Exp $ */ /* Define `socklen_t' to int if does not define. */ #undef socklen_t /* Define to `long' if does not define. */ #undef time_t /* * Defined if you allow creating a file in an arbitrary path * which is the traditional feature. */ #undef WNN_ALLOW_UNSAFE_PATH /* Define if the signal function returns void. */ #undef RETSIGTYPE_VOID /* Define when terminfo support found */ #undef HAVE_TERMINFO /* Define when union wait exists */ #undef HAVE_UNION_WAIT Canna37p3/canuum/buffer.h0100644000076500001200000000772707605506666014614 0ustar shinraadmin/* * buffer.h,v 1.3 2001/06/14 18:16:06 ura Exp * Canna: $Id: buffer.h,v 1.2 2003/01/04 07:31:02 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* buffer¤Îɽ¼¨¤Î¤µ¤ìÊý¤Ï¡¢hanten¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤ë¡£ ȿž¤¹¤ë¤«¡¢²¼Àþ¾õÂ֤ˤ¹¤ë¤«¤ò³ÆÆÈΩ¤Ë¡¢ ¥Ð¥Ã¥Õ¥¡¡¼¤ÎÆâ¤Ç¡¢Ê¸Æ¬¤«¤émark¤Þ¤Ç¡¢mark¤«¤écursor¤Þ¤Ç¡¢ cursor¤«¤ébuffer¤ÎºÇ¸å¤Þ¤Ç¤Î¾õÂÖ¤òÆÈΩ¤ËÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ when mark is set hanten bit0(0x01),bit1(0x02): --- mark bit2(0x04),bit3(0x08): mark --- cursor bit4(0x10),bit5(0x20): cursor --- when mark is not set(-1) bit4,bit5: bit6(0x40): t_b_st --- t_b_end ¥Ü¡¼¥ë¥Éɽ¼¨ first one....hanten second one...under_line */ struct buf { w_char *buffer; /* ÅÐÏ¿ÍѥХåե¡ */ char *buf_msg; /** ²¾Ì¾¤òÆþÎϤ¹¤ë»þ¤Î¥Ð¥Ã¥Õ¥¡¡¼¤ÎÁ°¤Ëɽ¼¨¤¹¤ëʸ»úÎó */ int start_col; /** ²¾Ì¾ÆþÎÏ»þ¤Î²èÌ̾å¤Î¥³¥é¥à¤Î¥¹¥¿¡¼¥È°ÌÃÖ */ int t_c_p; /** ²¾Ì¾ÆþÎÏÍѥХåե¡¡¼¾å¤Ç¤Î¥«¡¼¥½¥ë°ÌÃÖ */ int hanten; /** ²¾Ì¾ÆþÎÏÍѥХåե¡¡¼¤òȿžɽ¼¨¤µ¤»¤Æ¤¤¤ë¤«¤É¤¦¤« */ int maxlen; /**²¾Ì¾ÆþÎÏÍѥХåե¡¡¼¤ÎÃæ¤Ë¤Ï¤¤¤Ã¤Æ¤¤¤ëʸ»ú¿ô */ int buflen; /** length of the buffer */ int t_m_start; /* -1 : mark¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£ */ /* 0 °Ê¾å : ¥Þ¡¼¥¯¤Î°ÌÃÖ */ int t_b_st; /**¥Ü¡¼¥ë¥Éɽ¼¨¤Î³«»Ï°ÌÃÖ */ int t_b_end; /**¥Ü¡¼¥ë¥Éɽ¼¨¤Î½ªÎ»°ÌÃÖ */ int vlen; /*¥Ð¥Ã¥Õ¥¡¡¼Ãæ¤Ç¥¹¥¯¥ê¡¼¥ó¤Ëɽ¼¨¤µ¤ì¤ëÉý */ int duplicate; /* ¥¹¥¯¥ê¡¼¥ó¤¬¥¹¥¯¥í¡¼¥ë¤¹¤ë»þ¤Ë¡¢½ÅÊ£¤·¤ÆÉ½¼¨¤¹¤ëʸ»ú¿ô */ int vst; /* buffer¤ÎÃæ¤Ç²èÌ̤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ëºÇ½é¤Î°ÌÃÖ */ /*¤³¤ì¤Ï¡¢¾¡¼ê¤Ë¾å¤Î¥ë¡¼¥Á¥ó¤Ç¤¤¤¸¤é¤Ê¤¤Êý¤¬Ë¾¤Þ¤·¤¤¡£ */ int (*key_in_fun) (); /*¤³¤³¤Ë´Ø¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢key_table¤Ë¥Ð¥¤¥ó¥É¤¬ ¤Ê¤¤Ê¸»ú¤ÎÆþÎϤò ¼õ¤±¤¿»þ¤Ë¥Ð¥Ã¥Õ¥¡¡¼¤Ë¤½¤Îʸ»ú¤òÆþ¤ì¤º¤ËÂå¤ï¤ê¤Ë¤½¤Î´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë */ int (*redraw_fun) (); /* romkan kara redraw ga kaette kitatoki */ int (*ctrl_code_fun) (); /*¤³¤³¤Ë´Ø¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢key_table¤Ë¥Ð¥¤¥ó¥É¤¬ ¤Ê¤¤¥³¥ó¥È¥í¡¼¥ëʸ»ú¤ÎÆþÎϤò¼õ¤±¤¿»þ¤Ë¥Ù¥ë¤òÌĤ餹Âå¤ï¤ê¤Ë ¤½¤Î´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë */ int (**key_table) (); /*¥­¡¼¥Ð¥¤¥ó¥É¤Î¥Æ¡¼¥Ö¥ë */ char *rk_clear_tbl; /* romakn_clear ¤¬ hituyouka */ }; extern int *bunsetsu; extern int *bunsetsuend; extern struct wnn_env **bunsetsu_env; /* ʸÀá¤ÎÊÑ´¹¤Ë»È¤Ã¤¿ env */ extern int *touroku_bnst; /* extern int bunsetsucnt; */ extern int touroku_bnst_cnt; extern struct buf *c_b; /* ¸½ºßÍѤ¤¤é¤ì¤Æ¤¤¤ëbuf¤ò¼¨¤¹¥°¥í¡¼¥Ð¥ëÊÑ¿ô */ extern w_char *kill_buffer; /* ¥­¥ë¥Ð¥Ã¥Õ¥¡¡¼Â礭¤µ¤Ï¡¢maxchg¤È¤Ê¤Ã¤Æ¤¤¤ë */ extern int kill_buffer_offset; /* ¥­¥ë¥Ð¥Ã¥Õ¥¡¡¼»È¤ï¤ì¤Æ¤¤¤ëŤµ */ extern w_char *remember_buf; /* ¥ê¥á¥ó¥Ð¥¡¥Ð¥Ã¥Õ¥¡Â礭¤µ¤Ï¡¢maxchg¤È¤Ê¤Ã¤Æ¤¤¤ë */ Canna37p3/canuum/canna.c0100644000076500001200000010025707732020154014366 0ustar shinraadmin/* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* Copyright 1993 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[] = "$Id: canna.c,v 1.9 2003/09/17 08:50:52 aida_s Exp $"; #endif #include "commonhd.h" #include "sdefine.h" #include "sheader.h" #include "wnn_config.h" #if defined(__STDC__) || defined(__cplusplus) # define pro(x) x #else # define pro(x) () #endif #include #if 0 /* old wchar(this also must work unless !SUPPORT_OLD_WCHAR) */ #ifndef _WCHAR_T #define _WCHAR_T #define _WCHAR_T_NOTDEFINED #endif #define wchar_t w_char #include #include #undef wchar_t #ifdef _WCHAR_T_NOTDEFINED #undef _WCHAR_T_NOTDEFINED #undef _WCHAR_T #endif #else #define CANNA_WCHAR16 #define CANNA_NEW_WCHAR_AWARE #include #include #endif #include #include #include "wnn_os.h" #define MAXSIZE 1024 #define FULLREDRAW 2 #define PARTIALREDRAW 1 #define NOREDRAW 0 extern int errno; static int maxmodelen; static int maxwidth = 0; static struct linebuf { w_char line[MAXSIZE]; int length; int revPos; int revLen; int cursorPos; int displayLeft, displayRight; int unchangedLeft, unchangedRight; w_char mode_string[MAXSIZE]; int mode_string_length; int mode_string_width; } lbuf[2]; #define PREV 0 #define CRNT 1 static int curlbuf = 0; #define prevlbuf (curlbuf ? 0 : 1) static w_char leftover[2] = {(w_char)'<', (w_char)0}; static w_char rightover[2] = {(w_char)'>', (w_char)0}; static w_char lrok[2] = {(w_char)' ', (w_char)0}; static unsigned char buf[MAXSIZE * 2]; char *terminalname; #ifdef NODEBUG #define debug(fmt, a, b, c) #else #define debug debugprint #endif /* The following three functions are defined in "w_string.c" in the original uum source file. Canna rewrote these functions. w_char *Strncpy(); int eu_columlen(); */ w_char * Strncpy(ws1, ws2, cnt) w_char *ws1, *ws2; int cnt; { w_char *ws; if (ws2 == (w_char *)0) return((w_char *)0); if (ws2 < ws1 && ws1 < ws2 + cnt) { while (cnt--) { ws1[cnt] = ws2[cnt]; } } else { int i = 0; ws = ws1; while (i++ < cnt && *ws2) { *ws++ = *ws2++; } } return ws1; } /* eu_columlen counts the string width by `column'. The following definition is very Japanese dependent. */ int eu_columlen(c) unsigned char *c; { int len = 0; unsigned char ch; while (ch = *c) { if (ch & 0x80) { if (ch == 0x8e) { c++; len++; /* kana with half column width */ } else if (ch == 0x8f) { c += 3; len += 2; /* G3 kanji character */ } else { c += 2; len += 2; /* G1 kanji character */ } } else { c++; len++; /* ascii alphabet */ } } return(len); } /* The following functions are added for Canna. In fact these functions are brought from Canna/lib/canna/util.c. */ int WStrlen(ws) w_char *ws; { int res = 0; while (*ws++) { res++; } return res; } int WStrcmp(w1, w2) w_char *w1, *w2; { for (; *w1 && *w1 == *w2; w1++, w2++); return(*w1 - *w2); } w_char * WStrcpy(ws1, ws2) w_char *ws1, *ws2; { w_char *ws; int cnt, len; for (ws = ws2, cnt = 0 ; *ws ; ws++, cnt++) ; len = cnt; if (ws2 < ws1 && ws1 < ws2 + cnt) { while (cnt--) { ws1[cnt] = ws2[cnt]; } } else { ws = ws1; while (*ws2) { *ws++ = *ws2++; } } ws1[len] = (w_char)0; return ws1; } static colwidth(s, len) w_char *s; int len; { int ret = 0; w_char *es = s + len; for (; s < es ; s++) { switch (*s & 0x8080) { case 0: case 0x80: ret ++; break; case 0x8000: case 0x8080: ret += 2; break; } } return ret; } /* skipchar -- To skip characters until specified column width is exhaused. skipchar returns the number of skipped characters. Sometimes this function over-run the column width. The amount to be over-run returns in the argument ov. This function is very Japanese dependent. */ static skipchars(s, wi, ov) w_char *s; int wi, *ov; { int ret, swi; for (swi = 0, ret = 0 ; swi < wi && s[ret] ; ret++) { switch (s[ret] & 0x8080) { case 0: case 0x80: swi ++; break; case 0x8000: case 0x8080: swi += 2; break; } } *ov = swi - wi; return ret; } void set_screen_vars_default() /* originally defined in basic_op.c */ { maxwidth = maxlength - maxmodelen - 2 + (conv_lines - 1) * (maxlength - 1) - 1; } /* canna routines */ int init_uum() /* originally defined in prologue.c */ { char **msg, *p; extern char *prog; extern void ring_bell(); extern (*jrBeepFunc) pro((void)); void registerkeys(), cannakeydef(); for (p = prog ; *p ; p++) { /* use basename */ if (*p == '/' && *(p + 1)) { prog = p + 1; } } if (def_servername[0]) { wcKanjiControl(0, KC_SETSERVERNAME, def_servername); } if (defined_by_option & OPT_WNNKEY) { wcKanjiControl(0, KC_SETINITFILENAME, uumkey_name_in_uumrc); } wcKanjiControl(0, KC_KEYCONVCALLBACK, (char *)cannakeydef); wcKanjiControl(0, KC_INITIALIZE, (char *)&msg); registerkeys(); jrBeepFunc = (int (*)())ring_bell; if (msg) { for (; *msg; msg++) { puteustring(*msg, stdout); puteustring("\r\n", stdout); } } #ifdef KC_SETAPPNAME wcKanjiControl(0, KC_SETAPPNAME, prog); #endif maxmodelen = wcKanjiControl(0, KC_QUERYMAXMODESTR, 0); if (maxmodelen > MAXSIZE - 1) { maxmodelen = MAXSIZE - 1; } set_screen_vars_default(); /* will set maxwidth */ wcKanjiControl(0, KC_SETWIDTH, (char *)(maxwidth + 1)); /* plus 1 is for ``rightover'' character. */ throw_cur_raw(0 ,crow + conv_lines); if (keypad_fun) set_keypad_on(); scroll_up(); set_scroll_region(0 , crow - 1); throw_cur_raw(0 ,crow - 1); flush(); return 0; /* succeeded */ } /* The following function epilogue_no_close is copied from the original uum source file epilogue.c, and a little bit modified for canna. */ static struct RkRxDic *eseqdic; /* used at keyin1 */ void epilogue_no_close() /* originally defined in epilogue.c */ { wcKanjiControl(0, KC_FINALIZE, 0); RkCloseRoma(eseqdic); eseqdic = (struct RkRxDic *)0; throw_col(0); clr_line(); if (keypad_fun) set_keypad_off(); set_scroll_region(0 , crow + conv_lines - 1); kk_restore_cursor(); flush(); #ifdef TERMINFO closeTermData(); #endif } void epilogue() /* originally defined in epilogue.c */ { epilogue_no_close(); } extern int ptyfd, ttyfd; static void ptyout(s, n) w_char *s; int n; { int ml; if ((ml = (*code_trans[(internal_code << 2) | pty_c_flag]) (buf, s, n * sizeof(w_char))) > 0) { write(ptyfd, buf, ml); } } static void ttyout(s, n) w_char *s; int n; { int ml; if ((ml = (*code_trans[(internal_code << 2) | tty_c_flag]) (buf, s, n * sizeof(w_char))) > 0) { write(ttyfd, buf, ml); } } static int cursor_saved = 0; static void cursor_restore_if_saved() { if (cursor_saved) { restore_cursor_raw(); flush(); cursor_saved = 0; } } static int cursor_save_if_not_saved() { if (!cursor_saved) { save_cursor_raw(); flush(); cursor_saved = 1; return 1; } return 0; } #if defined(KC_DISCONNECTSERVER) && defined(KanjiThroughInfo) #define MAXTHROUGHCOUNT 300 static int throughcount = 1; #endif #define MAXSEQUENCELEN 8 static char seqbuf[MAXSEQUENCELEN]; static int spooled; /* treated mainly in keyin1(); */ static void normalize(dstat) struct linebuf *dstat; { switch (dstat->revLen) { case 0: dstat->cursorPos = dstat->revPos = dstat->length; break; case 1: dstat->cursorPos = dstat->revPos; dstat->revLen = 0; break; default: dstat->cursorPos = dstat->revPos; break; } } static int diff(pr, cr) struct linebuf *pr, *cr; { w_char *pstr, *cstr; int maxUnchanged, i; int pRevPos = pr->revPos, cRevPos = cr->revPos; if (pr->revLen == 0) { pRevPos = pr->length; } if (cr->revLen == 0) { cRevPos = cr->length; } if (pRevPos == cRevPos) { if (pr->revLen == cr->revLen) { if (pr->length < cr->length) { maxUnchanged = pr->length; } else { maxUnchanged = cr->length; } } else if (pr->revLen < cr->revLen) { maxUnchanged = pRevPos + pr->revLen; } else { maxUnchanged = cRevPos + cr->revLen; } } else if (pRevPos < cRevPos) { maxUnchanged = pRevPos; } else { maxUnchanged = cRevPos; } pstr = pr->line; cstr = cr->line; for (i = 0 ; i < maxUnchanged ; i++) { if (*pstr++ != *cstr++) { break; } } cr->unchangedLeft = i; if (i == pr->length || i == cr->length) { cr->unchangedRight = 0; return pr->length != cr->length; } else if (pr->length - pRevPos - pr->revLen == cr->length - cRevPos - cr->revLen) { if (pr->length - pRevPos == cr->length - cRevPos) { if (pr->length < cr->length) { maxUnchanged = pr->length; } else { maxUnchanged = cr->length; } } else if (pr->length - pRevPos < cr->length - cRevPos) { maxUnchanged = pr->length - pRevPos; } else { maxUnchanged = cr->length - cRevPos; } } else if (pr->length - pRevPos - pr->revLen < cr->length - cRevPos - cr->revLen) { maxUnchanged = pr->length - pRevPos - pr->revLen; } else { maxUnchanged = cr->length - cRevPos - cr->revLen; } if (maxUnchanged > cr->length - cr->unchangedLeft) { maxUnchanged = cr->length - cr->unchangedLeft; } if (maxUnchanged > pr->length - cr->unchangedLeft) { maxUnchanged = pr->length - cr->unchangedLeft; } pstr = pr->line + pr->length; cstr = cr->line + cr->length; for (i = 0 ; i < maxUnchanged ; i++) { if (*--pstr != *--cstr) { break; } } cr->unchangedRight = i; return 1; } /* check_redraw -- to check the difference from the previous display. check_redraw have a side effect, that is, it sets display data from ks to lbc. */ int check_redraw(ks, lbc, lbp) wcKanjiStatus *ks; struct linebuf *lbp, *lbc; { int result = NOREDRAW; w_char *modstr = lbc->mode_string; if (ks->info & KanjiModeInfo) { int width, length; WStrcpy(modstr, ks->mode); length = WStrlen(modstr); width = colwidth(modstr, length); while (width < maxmodelen) { modstr[length++] = (w_char)' '; width++; } modstr[length] = (w_char)'\0'; if (WStrcmp(modstr, lbp->mode_string)) { result = FULLREDRAW; } lbc->mode_string_length = length; lbc->mode_string_width = width; } else { WStrcpy(modstr, lbp->mode_string); lbc->mode_string_length = lbp->mode_string_length; lbc->mode_string_width = lbp->mode_string_width; } if ((ks->info & KanjiGLineInfo) && ks->gline.length > 0) { Strncpy(lbc->line, ks->gline.line, ks->gline.length); lbc->line[ks->gline.length] = (w_char)0; lbc->length = ks->gline.length; lbc->revLen = ks->gline.revLen; lbc->revPos = ks->gline.revPos; } else if (ks->length >= 0) { Strncpy(lbc->line, ks->echoStr, ks->length); lbc->line[ks->length] = (w_char)0; lbc->length = ks->length; lbc->revPos = ks->revPos; lbc->revLen = ks->revLen; } else { WStrcpy(lbc->line, lbp->line); lbc->length = lbp->length; lbc->revPos = lbp->revPos; lbc->revLen = lbp->revLen; } normalize(lbc); lbc->unchangedLeft = lbc->unchangedRight = 0; if (result == NOREDRAW) { if (diff(lbp, lbc)) { result = PARTIALREDRAW; } } return result; } static void cursorWarp(lbc, to) struct linebuf *lbc; int to; { int pos; pos = colwidth(lbc->line + lbc->displayLeft, to - lbc->displayLeft) + maxmodelen + 1; throw_cur_raw(pos, crow); flush(); } static void cursorMoveForward(lbc, from, to) struct linebuf *lbc; int from, to; { int n; if ((n = to - from) > 0) { if (n < 8 && (lbc->revLen == 0 || to <= lbc->revPos || lbc->revPos + lbc->revLen <= from) ) { /* confirm that this doesn't cross the reversed area */ ttyout(lbc->line + from, n); } else { cursorWarp(lbc, to); } } } /* cursorMove -- to move cursor. Note: lbc->displayLeft should be fixed before this function is called. */ static void cursorMove(lbc, from, to) struct linebuf *lbc; int from, to; { if (to < from) { cursorWarp(lbc, to); } else { cursorMoveForward(lbc, from, to); } } static void adjust_reverse(length, revPos, revLen, uLeft) int length, *revPos, *revLen, uLeft; { if (*revPos < uLeft) { *revLen -= uLeft - *revPos; if (*revLen < 0) *revLen = 0; *revPos = 0; } else { *revPos -= uLeft; } if (*revPos > length) { *revPos = length; } else if (*revPos + *revLen > length) { *revLen = length - *revPos; } } static void redraw_it(gline, length, revPos, revLen) w_char *gline; int length, revPos, revLen; { ttyout(gline, revPos); if (revLen) { h_r_on_raw(); flush(); ttyout(gline + revPos, revLen); h_r_off_raw(); flush(); } ttyout(gline + revPos + revLen, length - revPos - revLen); } /* redraw -- to redraw display redraw has a side effect, that is, it affects lbc->displayLeft and lbc->displayRight. */ static int redraw(how, lbc, lbp) int how; struct linebuf *lbp, *lbc; { int restwidth, skips, ov; w_char *gline = lbc->line; int length = lbc->length; int revLen = lbc->revLen; int revPos = lbc->revPos; int csrPos = lbc->cursorPos; int uLeft = lbc->unchangedLeft; int dLeft = lbp->displayLeft; if (uLeft < dLeft || csrPos < dLeft || colwidth(gline + dLeft, revPos + revLen - dLeft) > maxwidth || (colwidth(gline + dLeft, csrPos - dLeft) >= maxwidth - 1 && revLen == 0 && length - revPos > 0)) { how = FULLREDRAW; } if (!cursor_invisible_fun && revLen > 0) { lbc->cursorPos = lbc->length; } switch (how) { case NOREDRAW: lbc->displayLeft = dLeft; lbc->displayRight = lbp->displayRight; cursorMove(lbc, lbp->cursorPos, lbc->cursorPos); break; case PARTIALREDRAW: if (length == 0) { lbc->displayLeft = lbc->displayRight = 0; cursorMove(lbc, lbp->cursorPos, 0); clr_end_screen(); flush(); } else { lbc->displayLeft = dLeft; cursorMove(lbc, lbp->cursorPos, uLeft); if (lbc->unchangedRight > lbp->length - lbp->displayRight && colwidth(gline + uLeft, length - uLeft - lbc->unchangedRight) == colwidth(lbp->line + uLeft, lbp->length - uLeft - lbc->unchangedRight)) { /* The width of changed area is the same as the previous one */ gline += uLeft; length -= uLeft + lbc->unchangedRight; adjust_reverse(length, &revPos, &revLen, uLeft); lbc->displayRight = lbp->displayRight + lbc->length - lbp->length; redraw_it(gline, length, revPos, revLen); if (lbc->cursorPos != lbc->length - lbc->unchangedRight) { if (lbc->cursorPos > lbc->displayRight) { cursorWarp(lbc, lbc->displayRight); ttyout(rightover, 1); } else { cursorWarp(lbc, lbc->cursorPos); } } } else { restwidth = maxwidth; restwidth -= colwidth(gline + dLeft, uLeft - dLeft); gline += uLeft; skips = skipchars(gline, restwidth, &ov); if (ov > 0) { skips -= ov; } length = skips; adjust_reverse(length, &revPos, &revLen, uLeft); lbc->displayRight = uLeft + length; redraw_it(gline, length, revPos, revLen); if (lbc->displayRight < lbc->length) { ttyout(rightover, 1); } clr_end_screen(); flush(); if (lbc->cursorPos != lbc->length && lbc->cursorPos != lbc->displayRight) { cursorWarp(lbc, lbc->cursorPos); } } } break; case FULLREDRAW: throw_cur_raw(0, crow); flush(); ttyout(lbc->mode_string, lbc->mode_string_length); lbc->displayLeft = 0; lbc->displayRight = length; if (length > 0) { int l, l1, l2; l = colwidth(gline, length); if (l > maxwidth) { /* In this condition, it is impossible to display the whole pre-edit characters. Some part of the pre-edit string will be cut */ l1 = colwidth(gline, revPos); l2 = revLen > 0 ? colwidth(gline + revPos, revLen) : 0; if (cursor_invisible_fun) { if (revLen > 1) { cursor_invisible_raw(); } else { cursor_normal_raw(); } } if (l2 > maxwidth) { /* Align to the right border of reverse area. */ skips = skipchars(gline + revPos, l2 - maxwidth, &ov); gline += revPos + skips; revLen = length = revLen - skips; lbc->displayLeft = revPos + skips; revPos = 0; #if 0 /* In case Aline to the left */ gline += revPos; skips = skipchars(gline, maxwidth, &ov); revLen = length = skips - ov; lbc->displayLeft = revPos; revPos = 0; #endif } else if (l1 + l2 > maxwidth || (length - revPos - revLen > 0 && l1 >= maxwidth - 1)) { /* Place reverse area to the middle of line. */ skips = skipchars(gline, l1 - (maxwidth - l2) / 2, &ov); /* ov is not used */ gline += skips; revPos -= skips; length = skipchars(gline, maxwidth, &ov); if (ov > 0) { length -= ov; } lbc->displayLeft = skips; } else { /* length > maxwidth */ /* Just cut off the rest */ skips = skipchars(gline, maxwidth, &ov); length = skips - ov; lbc->displayLeft = 0; } lbc->displayRight = lbc->displayLeft + length; } if (lbc->displayLeft > 0) { ttyout(leftover, 1); } else { ttyout(lrok, 1); } redraw_it(gline, length, revPos, revLen); if (lbc->displayRight < lbc->length) { ttyout(rightover, 1); } } clr_end_screen(); flush(); if (lbc->length != lbc->cursorPos && lbc->displayRight != lbc->cursorPos) { cursorWarp(lbc, lbc->cursorPos); } break; } return 0; } /* The following function t_print_l_normal is originally defined in functions.c in uum source code. */ int t_print_l_normal() { cursor_restore_if_saved(); save_cursor_raw(); flush(); redraw(FULLREDRAW, lbuf + curlbuf, lbuf + prevlbuf); restore_cursor_raw(); flush(); return 0; } char * romkan_dispmode() { return (char *)"\244\253\244\363\244\312"; /* "¤«¤ó¤Ê" in EUC */ } char * romkan_offmode() { return romkan_dispmode(); } /* The following two functions are defined originally in etc/msg.c. And these two functions are for messaging facility. Here canna rewrote them as dummy functions. struct msg_cat *msg_open(); char *get_msg(); */ struct msg_cat * msg_open(name, nlspath, lang) /* originally defined in etc/msg.c */ char *name; char *nlspath; char *lang; /* ARGSUSED */ { return 0; } char * msg_get(cad, n, mesg, lang) /* originally defined in etc/msg.c */ struct msg_cat *cad; int n; char *mesg; register char *lang; /* ARGSUSED */ { static char *msgtbl[] = { "\r\243\343\243\341\243\356\243\365\243\365\243\355(\244\253\244\312\264\301\273\372\312\321\264\271\245\325\245\355\245\363\245\310\245\250\245\363\245\311\245\327\245\355\245\273\245\303\245\265)\r\n", /* "\r£ã£á£î£õ£õ£í(¤«¤Ê´Á»úÊÑ´¹¥Õ¥í¥ó¥È¥¨¥ó¥É¥×¥í¥»¥Ã¥µ)\r\n", */ "Malloc\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243", /* "Malloc¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£", */ "\r\n\243\343\243\341\243\356\243\365\243\365\243\355\244\362\275\252\244\357\244\352\244\336\244\271\241\243\r\n", /* "\r\n£ã£á£î£õ£õ£í¤ò½ª¤ï¤ê¤Þ¤¹¡£\r\n", */ "\243\365\243\365\243\355\244\253\244\351\243\365\243\365\243\355\244\317\265\257\244\263\244\273\244\336\244\273\244\363\241\243\n", /* "£õ£õ£í¤«¤é£õ£õ£í¤Ïµ¯¤³¤»¤Þ¤»¤ó¡£\n", */ "", "", "", " (\307\241\262\277)", /* " (Ç¡²¿)", */ "", }; static int msgtblsize = sizeof(msgtbl) / sizeof(char *); if (n <= 0 || msgtblsize < n) { return ""; } else { return msgtbl[n - 1]; } } char * get_kbd_env() /* originally defined in wnnrc_op.c */ { extern char *getenv(); return getenv("TERM"); } typedef struct { char *seq; int id; } SeqToID; #define INITIALSIZE 256 static struct RkRxDic * RkCreateRoma(keywords, n) SeqToID *keywords; int n; { struct RkRxDic *rdic; unsigned char *p; int i; rdic = (struct RkRxDic *)malloc(sizeof(struct RkRxDic)); if (rdic) { rdic->dic = RX_KPDIC; rdic->nr_nkey = n; rdic->nr_strsz = INITIALSIZE; rdic->nr_string = (unsigned char *)malloc(INITIALSIZE); if (rdic->nr_string) { rdic->nr_brules = (unsigned char *)0; rdic->nr_bchars = rdic->nr_string; p = rdic->nr_string; *p = (unsigned char)0; p++; for (i = 0 ; i < n ; i++) { int len; len = strlen(keywords[i].seq); while (p + len + 4 > rdic->nr_string + rdic->nr_strsz) { int offset = p - rdic->nr_string; rdic->nr_string = (unsigned char *)realloc(rdic->nr_string, rdic->nr_strsz + INITIALSIZE); if (!rdic->nr_string) { goto exit_nr_string; } rdic->nr_strsz += INITIALSIZE; p = rdic->nr_string + offset; } strcpy((char *)p, keywords[i].seq); p += len + 1; *p++ = (unsigned char)keywords[i].id; *p++ = (unsigned char)0; *p++ = (unsigned char)0; /* for temp and bang */ } rdic->nr_strsz = p - rdic->nr_string; rdic->nr_string = (unsigned char *)realloc(rdic->nr_string, rdic->nr_strsz); if (!rdic->nr_string) { goto exit_nr_string; } rdic->nr_keyaddr = (unsigned char **)calloc((unsigned)n + 1, sizeof(unsigned char *)); /* n + 1 ¤Ë¤·¤¿¤Î¤Ï alloc(0) ¤Î¥Á¥§¥Ã¥¯¤¬ÌÌÅݤʤ¿¤á */ if (rdic->nr_keyaddr) { for (i = 0, p = rdic->nr_string + 1 ; i < n ; i++) { rdic->nr_keyaddr[i] = p; while ( *p++ ); /* roma */ while ( *p++ ); /* kana */ while ( *p++ ); /* temp */ } return rdic; } exit_nr_string: free((char *)rdic->nr_string); } free((char *)rdic); rdic = (struct RkRxDic *)0; } return rdic; } #define INITIALKEYS 128 static SeqToID *sequences; static int nsequences = 0, seqsize = 0; static int compar(p, q) SeqToID *p, *q; { char *s = p->seq; char *t = q->seq; while ( *s == *t ) if ( *s ) s++, t++; else return 0; return ((int)*s) - ((int)*t); } void registerkeys() { qsort((char *)sequences, nsequences, sizeof(SeqToID), compar); eseqdic = RkCreateRoma(sequences, nsequences); } static cannakeyentry(s, ident) char *s; int ident; { if (!s || s[0] != '\033' || !s[1]) { return -1; } s++; while (!(nsequences < seqsize)) { sequences = (seqsize == 0) ? (SeqToID *)malloc(INITIALKEYS * sizeof(SeqToID)) : (SeqToID *)realloc(sequences, (seqsize + INITIALKEYS) * sizeof(SeqToID)); if (sequences) { seqsize += INITIALKEYS; } else { seqsize = 0; return -1; } } sequences[nsequences].seq = malloc(strlen(s) + 1); if (sequences[nsequences].seq) { strcpy(sequences[nsequences].seq, s); sequences[nsequences].id = ident; nsequences++; return 0; } else { return -1; } } void cannakeydef(xterm, term, seq, id) int xterm; char *term, *seq; int id; { if (xterm == CANNA_CTERMINAL) { if (terminalname && !strcmp(terminalname, term)) { cannakeyentry(seq, id); } } } /* convert_getterm is called from termio.c and termcap.c. Here provides a dummy convert_getterm(). */ #define MAXSEQUENCE 20 #define AREASIZE 1024 int convert_getterm(term, flag) /* originally defined in conv/cvt_read.c */ char *term; int flag; /* ARGSUSED */ { #ifdef TERMCAP char xx[MAXSEQUENCE], *p = xx, *q, *tgetstr(); char tcaparea[AREASIZE]; if (tgetent(tcaparea, term) > 0) { p = xx; if (q = tgetstr("k1", &p)) cannakeyentry(q, CANNA_KEY_F1); p = xx; if (q = tgetstr("k2", &p)) cannakeyentry(q, CANNA_KEY_F2); p = xx; if (q = tgetstr("k3", &p)) cannakeyentry(q, CANNA_KEY_F3); p = xx; if (q = tgetstr("k4", &p)) cannakeyentry(q, CANNA_KEY_F4); p = xx; if (q = tgetstr("k5", &p)) cannakeyentry(q, CANNA_KEY_F5); p = xx; if (q = tgetstr("k6", &p)) cannakeyentry(q, CANNA_KEY_F6); p = xx; if (q = tgetstr("k7", &p)) cannakeyentry(q, CANNA_KEY_F7); p = xx; if (q = tgetstr("k8", &p)) cannakeyentry(q, CANNA_KEY_F8); p = xx; if (q = tgetstr("k9", &p)) cannakeyentry(q, CANNA_KEY_F9); p = xx; if (q = tgetstr("k;", &p)) cannakeyentry(q, CANNA_KEY_F10); p = xx; if (q = tgetstr("ku", &p)) cannakeyentry(q, CANNA_KEY_Up); p = xx; if (q = tgetstr("kr", &p)) cannakeyentry(q, CANNA_KEY_Right); p = xx; if (q = tgetstr("kl", &p)) cannakeyentry(q, CANNA_KEY_Left); p = xx; if (q = tgetstr("kd", &p)) cannakeyentry(q, CANNA_KEY_Down); p = xx; if (q = tgetstr("kF", &p)) cannakeyentry(q, CANNA_KEY_Rollup); p = xx; if (q = tgetstr("kR", &p)) cannakeyentry(q, CANNA_KEY_Rolldown); #ifdef CANNA_KEY_PageDown p = xx; if (q = tgetstr("kN", &p)) cannakeyentry(q, CANNA_KEY_PageDown); p = xx; if (q = tgetstr("kP", &p)) cannakeyentry(q, CANNA_KEY_PageUp); #endif p = xx; if (q = tgetstr("kh", &p)) cannakeyentry(q, CANNA_KEY_Home); p = xx; if (q = tgetstr("%1", &p)) cannakeyentry(q, CANNA_KEY_Help); p = xx; if (q = tgetstr("kI", &p)) cannakeyentry(q, CANNA_KEY_Insert); #ifdef CANNA_KEY_End p = xx; if (q = tgetstr("@7", &p)) cannakeyentry(q, CANNA_KEY_End); #endif } #endif #ifdef TERMINFO int fd, res; fd = open("/dev/null", O_WRONLY, &res); setupterm(term, fd, (int *)0); cannakeyentry(key_f1, CANNA_KEY_F1); cannakeyentry(key_f2, CANNA_KEY_F2); cannakeyentry(key_f3, CANNA_KEY_F3); cannakeyentry(key_f4, CANNA_KEY_F4); cannakeyentry(key_f5, CANNA_KEY_F5); cannakeyentry(key_f6, CANNA_KEY_F6); cannakeyentry(key_f7, CANNA_KEY_F7); cannakeyentry(key_f8, CANNA_KEY_F8); cannakeyentry(key_f9, CANNA_KEY_F9); cannakeyentry(key_f10, CANNA_KEY_F10); cannakeyentry(key_up, CANNA_KEY_Up); cannakeyentry(key_right, CANNA_KEY_Right); cannakeyentry(key_left, CANNA_KEY_Left); cannakeyentry(key_down, CANNA_KEY_Down); cannakeyentry(key_home, CANNA_KEY_Home); cannakeyentry(key_help, CANNA_KEY_Help); cannakeyentry(key_sf, CANNA_KEY_Rollup); cannakeyentry(key_sr, CANNA_KEY_Rolldown); #ifdef CANNA_KEY_PageDown cannakeyentry(key_npage, CANNA_KEY_PageDown); cannakeyentry(key_ppage, CANNA_KEY_PageUp); #endif cannakeyentry(key_ic, CANNA_KEY_Insert); #ifdef CANNA_KEY_End cannakeyentry(key_end, CANNA_KEY_End); #endif resetterm(); #endif if (terminalname = malloc(strlen(term) + 1)) { strcpy(terminalname, term); } return 0; } int keyin1(gch, yyy) /* originally defined in conv/cvt_read.c */ int (*gch) pro((void)); char *yyy; /* ARGSUSED */ { int ch, n, dummy1, dummy2, dummy3; char xxx[MAXSEQUENCELEN]; if (spooled && seqbuf[spooled]) { return seqbuf[spooled++]; } while ((ch = (*gch)()) < 0) ; if (ch == 0x1b && eseqdic) { int i = 1, res; seqbuf[0] = 0x1b; seqbuf[1] = 0; do { ch = (*gch)(); if (ch < 0) { break; } seqbuf[i++] = ch; seqbuf[i] = '\0'; res = RkMapPhonogram(eseqdic, xxx, MAXSEQUENCELEN, seqbuf + 1, i - 1, 0, 0, &n, &dummy1, &dummy2, &dummy3); } while (!n && i < MAXSEQUENCELEN - 1); if (!(ch < 0) && res) { spooled = 0; return (int)xxx[0] & 0xff; } else { seqbuf[0] = '\0'; spooled = 1; return 0x1b; } } seqbuf[0] = '\0'; return ch; } void canna_mainloop() { w_char workbuf[MAXSIZE]; int wch, ml, howtoredraw; wcKanjiStatus ks; for (;;) { #ifdef MAXTHROUGHCOUNT if (throughcount) { if (throughcount > MAXTHROUGHCOUNT) { wcKanjiControl(0, KC_DISCONNECTSERVER, 0); throughcount = 0; } else { throughcount++; } } #endif /* keyin is wrong. keyin can not treat G3 code correctly. keyin should be modified someday. */ wch = keyin(); if (wch != -1) { if (wch & 0x8000) { /* G1 or G3 kanji is entered. */ w_char xx[2]; cursor_restore_if_saved(); xx[0] = (w_char)wch; xx[1] = (w_char)0; ptyout(xx, 1); } else { ml = wcKanjiString(0, wch, workbuf, MAXSIZE, &ks); #ifdef MAXTHROUGHCOUNT if (!(ks.info & KanjiThroughInfo)) { throughcount = 1; } #endif curlbuf = prevlbuf; /* Note: prevlbuf is a macro */ howtoredraw = check_redraw(&ks, lbuf + curlbuf, lbuf + prevlbuf); if (howtoredraw || lbuf[curlbuf].cursorPos != lbuf[prevlbuf].cursorPos) { if (cursor_save_if_not_saved()) { howtoredraw = FULLREDRAW; } redraw(howtoredraw, lbuf + curlbuf, lbuf + prevlbuf); if (lbuf[curlbuf].length == 0) { cursor_restore_if_saved(); } } if (ml > 0) { cursor_restore_if_saved(); if ((ks.info & KanjiThroughInfo) && seqbuf[0]) { write(ptyfd, seqbuf, strlen(seqbuf)); } else { ptyout(workbuf, ml); } } } } } } /* dummy function definitions are below this line */ /* The following 3 functions are defined in Wnn system. Canna rewrote them. char *wnn_perror(); char *get_server_env(); char *get_kbd_env(); */ char * wnn_perror() { return "??"; } char * get_server_env(lang) /* originally defined in etc/server_env.c */ char *lang; /* ARGSUSED */ { return "CANNAHOST"; } int hani_settei_normal(c_b) /* originally defined in touroku.c */ /* struct buf *c_b; */ /* ARGSUSED */ { return 0; } int initial_message_out() /* originally defined in prologue.c */ { return 1; /* dummy function */ } int set_cur_env(s) /* originally defined in uif.c. */ char s; /* ARGSUSED */ { return 0; } /* The following functions are originally defined in functions.c, and refered from header.c. */ int char_len_normal(x) w_char x; /* ARGSUSED */ { return 0; } int c_top_normal() { return 0; } int c_end_normal() { return 0; } int call_t_print_l_normal(x, add) int x, add; /* ARGSUSED */ { return 0; } int char_q_len_normal(x) w_char x; /* ARGSUSED */ { return 0; } int call_jl_yomi_len() { return 0; } int t_redraw_move_normal(x , start , end,clr_l) int x, start, end, clr_l; /* ARGSUSED */ { return 0; } int call_t_redraw_move_normal(x, start, end, clt_l, add) int x, start, end, clt_l, add; /* ARGSUSED */ { return 0; } int call_t_redraw_move_1_normal(x, start, end, clt_l, add1, add2, mode) int x, start, end, clt_l, add1, add2, mode; /* ARGSUSED */ { return 0; } int call_t_redraw_move_2_normal(x, start1, start2, end1, end2, clt_l, add) int x, start1, start2, end1, end2, clt_l, add; /* ARGSUSED */ { return 0; } int call_redraw_line_normal(x, add) int x, add; /* ARGSUSED */ { return 0; } debugprint(fmt, a, b, c) char *fmt, *a, *b, *c; { FILE *f, *fopen(); f = fopen("/tmp/kon", "a"); fprintf(f, fmt, a, b, c); fclose(f); } Canna37p3/canuum/canuum.jmn0100644000076500001200000001317210043301665015135 0ustar shinraadmin.\" $Id: canuum.jmn,v 1.2.2.1 2004/04/26 21:48:37 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} canuum 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" canuum \- TTY ÍÑ¤ÎÆüËܸìÆþÎÏ¥Õ¥í¥ó¥È¥¨¥ó¥É¥×¥í¥»¥Ã¥µ .SH "·Á¼°" .B "canuum [\fI\-JUSjushHxXkcrDnl\fP]" .SH "ÀâÌÀ" .PP canuum (¥­¥ã¥Ë¥å¥¦¥à¤ÈÆÉ¤ß¤Þ¤¹)¤Ï¡¢Wnn ¤Î TTY ÍѤΥեí¥ó¥È¥¨¥ó¥É¥×¥í ¥»¥Ã¥µ uum ¤ò¡Ø¤«¤ó¤Ê¡ÙÂбþ¤Ë¤·¤¿¤â¤Î¤Ç¤¹¡£ ¤É¤¦¡Ø¤«¤ó¤Ê¡ÙÂбþ¤µ¤ì¤Æ¤¤¤ë¤«¤È¸À¤¦¤È¡¢¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¡Ø¤«¤ó¤Ê¡Ù ¤Î¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ °Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»È¤¨¤Þ¤¹¡£ .IP \-H 12 ÊÑ´¹ on ¤Î¾õÂÖ¤ÇΩ¤Á¾å¤²¤Þ¤¹¡£(¥Ç¥Õ¥©¥ë¥È) .IP \-h 12 ÊÑ´¹ off ¤Î¾õÂÖ¤ÇΩ¤Á¾å¤²¤Þ¤¹¡£ .IP \-U 12 canuum ¤òµ¯Æ°¤·¤¿Ã¼Ëö¤È¤Î´Á»ú¤Î¤ä¤ê¼è¤ê¤ò EUC-JP ¥³¡¼¥É¤Ç¹Ô¤¤¤Þ¤¹¡£ .IP \-J 12 canuum ¤òµ¯Æ°¤·¤¿Ã¼Ëö¤È¤Î´Á»ú¤Î¤ä¤ê¼è¤ê¤ò JIS ¥³¡¼¥É¤Ç¹Ô¤¤¤Þ¤¹¡£(¥Ç¥Õ¥©¥ë¥È) .IP \-S 12 canuum ¤òµ¯Æ°¤·¤¿Ã¼Ëö¤È¤Î´Á»ú¤Î¤ä¤ê¼è¤ê¤ò ¥·¥Õ¥È JIS ¥³¡¼¥É¤Ç¹Ô¤¤¤Þ¤¹¡£ .IP \-u 12 canuum ¤«¤éµ¯Æ°¤µ¤ì¤ë¥·¥§¥ë¤ä¥×¥í¥°¥é¥à¤È¤Î´Á»ú¤Î¤ä¤ê¼è¤ê¤ò EUC-JP ¥³¡¼¥É¤Ç¹Ô¤¤¤Þ¤¹¡£ .IP \-j 12 canuum ¤«¤éµ¯Æ°¤µ¤ì¤ë¥·¥§¥ë¤ä¥×¥í¥°¥é¥à¤È¤Î´Á»ú¤Î¤ä¤ê¼è¤ê¤ò JIS ¥³¡¼¥É¤Ç¹Ô¤¤¤Þ¤¹¡£(¥Ç¥Õ¥©¥ë¥È) .IP \-s 12 canuum ¤«¤éµ¯Æ°¤µ¤ì¤ë¥·¥§¥ë¤ä¥×¥í¥°¥é¥à¤È¤Î´Á»ú¤Î¤ä¤ê¼è¤ê¤ò ¥·¥Õ¥È JIS ¥³¡¼¥É¤Ç¹Ô¤¤¤Þ¤¹¡£ .IP \-X 12 tty ¤Î¥Õ¥í¡¼¥³¥ó¥È¥í¡¼¥ë¤ò on ¤Ë¤·¤ÆÎ©¤Á¾å¤²¤Þ¤¹¡£(¥Ç¥Õ¥©¥ë¥È) .IP \-x 12 tty ¤Î¥Õ¥í¡¼¥³¥ó¥È¥í¡¼¥ë¤ò off ¤Ë¤·¤ÆÎ©¤Á¾å¤²¤Þ¤¹¡£ .IP "\-k cannafile" 12 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ »ØÄê¤ò¹Ô¤ï¤Ê¤«¤Ã¤¿¤È¤­¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Îõ¤·Êý¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Î°ìÈÌ ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ç¤Îõ¤·Êý¤Ë½à¤¸¤Þ¤¹¡£ .IP "\-c cannakeyfile" 12 uum ¤È¤Î¸ß´¹À­¤Î¤¿¤á¤Ë½àÈ÷¤µ¤ì¤Æ¤¤¤Þ¤¹¡£canuum ¤Ç¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ .IP "\-r romkan-mode-file" 12 uum ¤È¤Î¸ß´¹À­¤Î¤¿¤á¤Ë½àÈ÷¤µ¤ì¤Æ¤¤¤Þ¤¹¡£canuum ¤Ç¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ .IP "\-l ÊÑ´¹¹Ô¿ô" 12 ¤«¤Ê´Á»úÊÑ´¹¤Ë»ÈÍѤ¹¤ë¹Ô¿ô(0 < ÊÑ´¹¹Ô¿ô < ²èÌ̹Կô \- 1)¤ò»ØÄꤷ¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 1 ¤Ç¤¹¡£ .IP "\-D ¡Ø¤«¤ó¤Ê¡Ù¥µ¡¼¥Ð̾" 12 ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð(cannaserver)¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¤È¤­¤Ï¡¢°ìÈ̤Ρؤ«¤ó¤Ê¡Ù¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¥×¥í¥°¥é¥à¤ÈƱÍͤΤä¤êÊý¤Ç¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òõ¤·¤Þ¤¹¡£ .IP "\-n ´Ä¶­Ì¾" 12 uum ¤È¤Î¸ß´¹À­¤Î¤¿¤á¤Ë½àÈ÷¤µ¤ì¤Æ¤¤¤Þ¤¹¡£canuum ¤Ç¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ .SH Ãí°Õ»ö¹à .IP (1) 4 canuum ¤Ï¡¢pty ¤ò£±¤Ä³ÍÆÀ¤¹¤ë¤Î¤Ç¡¢pty ¤¬³ÍÆÀ¤Ç¤­¤Ê¤¤¾ì¹ç¤Ïµ¯Æ°¤Ç¤­¤Þ ¤»¤ó¡£ .IP (2) 4 uum ¤Î½é´ü²½¥Õ¥¡¥¤¥ë uumrc ¤Ï»²¾È¤µ¤ì¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥­¡¼¥Ð¥¤¥ó¥ÉÄêµÁ¥Õ¥¡ ¥¤¥ë¤ä¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î¥â¡¼¥ÉÄêµÁɽ¡¢¥­¡¼¥³¡¼¥ÉÊÑ´¹É½¤â»²¾È¤µ¤ì¤Þ¤»¤ó¡£ ¤«¤Ê´Á»úÊÑ´¹¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Ï .canna ¤Ë¤Æ¹Ô¤¤¤Þ¤¹¡£ .IP (3) 4 ¥ª¥ê¥¸¥Ê¥ë¤Î uum ¤Ë¸ºß¤¹¤ë¥Ò¥¹¥È¥êµ¡¹½¤Ï canuum ¤Ç¤Ï»È¤¨¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¥ª¥ê¥¸¥Ê¥ë¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¥ó¥°µ¡¹½(³Æ¼ï¥á¥Ã¥»¡¼ ¥¸¤ò¥ª¥Ö¥¸¥§¥¯¥È¥×¥í¥°¥é¥à¥Õ¥¡¥¤¥ë¤«¤éʬΥ¤·¤¿¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¡¢¹ñËè¤Ë ÀÚ¤êÂØ¤¨¤ëµ¡¹½)¤ä¡¢Ãæ¹ñ¸ìÂбþ¤Ï canuum ¤Ç¤Ï¤ª¤³¤Ê¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¥á¥Ã¥»¡¼¥¸¤Ï¥×¥í¥°¥é¥à¤ËľÀÜÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ .SH »ÈÍÑÎã .ft CW % canuum \-S \-j .ft .br üËö¥³¡¼¥É¤ò¥·¥Õ¥È JIS ¤Ë¤·¡¢canuum ¾å¤Çưºî¤·¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤ËÂФ·¤Æ¤Ï JIS ¤ò»È¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£ .PP .ft CW % canuum \-D quincy .ft .br ¥Û¥¹¥È̾ quincy ¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð(cannaserver)¤ËÀܳ¤·¤Æ¤«¤Ê´Á»úÊÑ ´¹¤·¤Þ¤¹¡£ .PP .ft CW % canuum \-k ~/.canna-uum .ft .br ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î .canna-uum ¤ò¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ canuum ¤ò µ¯Æ°¤·¤Þ¤¹¡£ .ft .SH ¥Ð¥° .IP (1) 4 -l ¥ª¥×¥·¥ç¥ó¤Ç 2 °Ê¾å¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¸½ºß¤Î¤È¤³¤íÂбþ¤·¤Æ¤ª¤ê¤Þ¤»¤ó¡£ .IP (2) 4 kterm ¤Ê¤É¤ÇÁö¤Ã¤Æ¤¤¤ë»þ¡¢Ã¼Ëö¤ò¥ê¥µ¥¤¥º¤·¤¿¤È¤­¤Î½èÍý¤¬¥¹¥Þ¡¼¥È¤Ç¤Ï¤¢ ¤ê¤Þ¤»¤ó¡£ .SH "´ØÏ¢¾ðÊó" .PP cannaserver(1) .SH "Ãøºî¸¢É½¼¨" .ft CW .nf /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* Copyright 1993 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ .fi Canna37p3/canuum/canuum.man0100644000076500001200000000526207601167350015134 0ustar shinraadmin.\" $Id: canuum.man,v 1.1 2002/12/21 22:44:56 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} canuum 1 "Japanese input utility" "\&" .TH \*(X} .SH "NAME" canuum \- Japanese input frontend processor on TTY .SH "SYNOPSIS" .B "canuum [\fI\-JUSjushHxXkcrDnl\fP]" .SH "DESCRIPTION" .PP English manual is not complete now. See Japanese one. .SH "COPYRIGHT" .ft CW .nf /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* Copyright 1993 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ .fi Canna37p3/canuum/checkout.sh0100755000076500001200000000044707601167350015313 0ustar shinraadmin#!/bin/sh # $Id: checkout.sh,v 1.2 2002/12/21 22:44:56 aida_s Exp $ cvscmd="cvs -z 6 -d :pserver:anonymous@cvs.m17n.org:/cvs/freewnn" $cvscmd checkout -kv -N -d cvstmp FreeWnn/Wnn/etc/xutoj.c FreeWnn/Wnn/include/ FreeWnn/Wnn/uum/ && $cvscmd checkout -kv -N -d cvstmp -l FreeWnn rm -r cvstmp/CVS Canna37p3/canuum/commonhd.h0100644000076500001200000001542407617025441015126 0ustar shinraadmin/* * commonhd.h,v 1.9 2002/05/05 05:13:08 hiroo Exp * Canna: $Id: commonhd.h,v 1.6 2003/02/01 20:16:33 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2001, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef WNN_COMMONHD_H #define WNN_COMMONHD_H /**************** * Common header ****************/ #include #define JSERVER_VERSION 0x4200 /* minor version */ #define _SERVER_VERSION "FreeWnn 1.1.0 pl20" #ifndef JS typedef unsigned int UINT; typedef unsigned char UCHAR; #ifndef w_char # define w_char unsigned short #endif /* w_char */ #endif /*JS */ #ifdef TAIWANESE #ifndef CHINESE #define CHINESE #endif #endif #ifdef CHINESE #define CONVERT_from_TOP #define CONVERT_by_STROKE /* É®·Á(Bi Xing) */ #define CONVERT_with_SiSheng /* »ÍÀ¼(Si Sheng) */ #define NO_FZK /* ÉÕ°¸ì¤Ï¡¢¤Ê¤¤ */ #define NO_KANA /* ¤Ò¤é¤¬¤Ê(ÆÉ¤ß¤ÈƱ¤¸¸õÊä)¤Ï¡¢¤Ê¤¤ */ #endif #ifdef KOREAN #define CONVERT_from_TOP #define NO_FZK #endif #ifdef luna #ifdef uniosu # ifndef SYSVR2 # define SYSVR2 # endif # ifndef TERMINFO # define TERMINFO # endif #else /* if defined(MACH) || defined(uniosb) */ # ifndef BSD42 # define BSD42 # endif # ifndef BSD43 # define BSD43 # endif # if defined(luna68k) # ifndef BSD44 # define BSD44 # endif # endif /* defined(luna68k) */ # ifndef TERMCAP # define TERMCAP # endif #endif #else /* defined(luna) */ #if defined(sun) && !defined(SVR4) # ifndef BSD42 # define BSD42 # endif # ifndef TERMCAP # define TERMCAP # endif #else /* sun else */ #if defined(DGUX) || defined(linux) # ifndef SYSVR2 # define SYSVR2 # endif # ifndef TERMCAP # define TERMCAP # endif #else #if defined(SVR4) || defined(hpux) || defined(SYSV) || defined(USG) # ifndef SYSVR2 # define SYSVR2 # endif # ifndef TERMINFO # define TERMINFO # endif # ifdef sun # define SOLARIS # endif #else # ifndef BSD43 # define BSD43 # endif # ifndef BSD42 # define BSD42 # endif # ifndef TERMCAP # define TERMCAP # endif #endif /* defined(SVR4) || defined(hpux) || defined(SYSV) || defined(USG) */ #endif /* DGUX */ #endif /* sun */ #endif /* luna */ #ifdef CONFIG_TERMINFO # undef TERMCAP # undef TERMINFO # ifdef HAVE_TERMINFO # define TERMINFO # else # define TERMCAP # endif #endif #if defined(SVR4) || defined(hpux) #ifndef F_OK #define F_OK 0 #endif #ifndef R_OK #define R_OK 4 #endif #endif #define MAXBUNSETSU 80 #define LIMITBUNSETSU 400 #define MAXJIKOUHO 400 #define J_IUJIS 0 #define J_EUJIS 1 #define J_JIS 2 #define J_SJIS 3 #define C_IUGB 0 #define C_EUGB 1 #define C_ICNS11643 0 #define C_ECNS11643 1 #define C_BIG5 2 #define K_IUKSC 0 #define K_EUKSC 1 #define K_KSC 2 #ifndef True #define True 1 #endif #ifndef False #define False 0 #endif #define KANJI(x) ((x) & 0x80) #define Ctrl(X) ((X) & 0x1f) #define NEWLINE Ctrl('J') #define CR Ctrl('M') #define ESC '\033' #ifdef luna #ifdef uniosu #define RUBOUT 0x08 /* BS */ #else #define RUBOUT '\177' #endif #else #define RUBOUT '\177' #endif #define SPACE ' ' #define JSPACE 0xa1a1 #ifdef KOREAN #define BAR 0xA1aa /* ¡¼ */ #else #define BAR 0xA1BC /* ¡¼ */ #endif #define KUTEN_NUM 0xA1A3 /* ¡£ */ #define TOUTEN_NUM 0xA1A2 /* ¡¢ */ #define S_NUM 0xA3B0 /* £° */ #define E_NUM 0xA3B9 /* £¹ */ #ifdef KOREAN #define S_HIRA 0xAAA1 /* ¤¡ */ #define E_HIRA 0xAAF3 /* ¤ó */ #define S_KATA 0xABA1 /* ¥¡ */ #define E_KATA 0xABF6 /* ¥ö */ #else #define S_HIRA 0xA4A1 /* ¤¡ */ #define E_HIRA 0xA4F3 /* ¤ó */ #define S_KATA 0xA5A1 /* ¥¡ */ #define E_KATA 0xA5F6 /* ¥ö */ #endif #define S_HANKATA 0x00A1 /* Ž¡ */ #define E_HANKATA 0x00DF /* Žß */ #ifdef KOREAN #define S_JUMO 0xa4a1 /* ¤¡ */ #define E_JUMO 0xa4fe /* ¤þ */ #define S_HANGUL 0xb0a1 /* °¡ */ #define E_HANGUL 0xc8fe /* Èþ */ #define S_HANJA 0xcaa1 /* Ê¡ */ #define E_HANJA 0xfdfe /* ýþ */ #define ishanja(x) ((unsigned)((x) - S_HANJA) <= (E_HANJA - S_HANJA)) #define ishangul(x) ((unsigned)((x) - S_HANGUL) <= (E_HANGUL - S_HANGUL)) #endif #define HIRAP(X) ((X) >= S_HIRA && (X) <= E_HIRA) #define KATAP(X) (((X) >= S_KATA && (X) <= E_KATA) || ((X) == BAR)) #define ASCIIP(X) ((X) < 0x7f) #define KANJIP(X) (!(HIRAP(X) || KATAP(X) || ASCIIP(X))) #define YOMICHAR(X) ((HIRAP(X)) || \ ('0'<=(X)&&'9'>=(X)) || \ ('A'<=(X)&&'Z'>=(X)) || \ ('a'<=(X)&&'z'>=(X)) || \ (BAR == X) \ ) #define HIRA_OF(X) ((KATAP(X) && !(BAR == (X)))? ((X) & ~0x0100) : (X)) #ifdef CONVERT_by_STROKE # define Q_MARK '?' #endif /* CONVERT_by_STROKE */ #define LENGTHYOMI 256 /* jisho ni touroku suru yomi no nagasa */ #define LENGTHKANJI 256 /* jisho ni touroku suru kanji no nagasa */ #define LENGTHBUNSETSU 264 /* ʸÀá¤ÎºÇÂçĹ */ #define LENGTHCONV 512 /* ÊÑ´¹²ÄǽºÇÂçʸ»ú¿ô */ #define JISHOKOSUU 20 #define DIC_RDONLY 1 /* ¼­½ñ¤¬¥ê¡¼¥É¡¦¥ª¥ó¥ê¡¼¤Ç¤¢¤ë¡£ */ /* Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤¬¤Ã¤ÆÍѤ¤¤é¤ì¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤ÎÄêµÁ */ #define EXPAND_PATH_LENGTH 256 /* expand_expr()¤¬ÍѤ¤¤ë¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º */ #define WNN_FILE_STRING "£×£î£î¤Î¥Õ¥¡¥¤¥ë" #define WNN_FILE_STRING_LEN 16 #define F_STAMP_NUM 64 #define FILE_ALREADY_READ -2 #define FILE_NOT_READ -3 /* file ID */ #endif /* WNN_COMMONHD_H */ Canna37p3/canuum/config.guess0100644000076500001200000011461707601074446015474 0ustar shinraadmin#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-04-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Written by Per Bothner . # Please send patches to . # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi dummy=dummy-$$ trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int dummy(){}" > $dummy.c for c in cc gcc c89 ; do ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 if test $? = 0 ; then CC_FOR_BUILD="$c"; break fi done rm -f $dummy.c $dummy.o $dummy.rel if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 8/24/94.) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # Netbsd (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # Determine the machine/vendor (is the vendor relevant). case "${UNAME_MACHINE}" in amiga) machine=m68k-unknown ;; arm32) machine=arm-unknown ;; atari*) machine=m68k-atari ;; sun3*) machine=m68k-sun ;; mac68k) machine=m68k-apple ;; macppc) machine=powerpc-apple ;; hp3[0-9][05]) machine=m68k-hp ;; ibmrt|romp-ibm) machine=romp-ibm ;; *) machine=${UNAME_MACHINE}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE}" in i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. cat <$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; esac fi rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; arc64:OpenBSD:*:*) echo mips64el-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hkmips:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; atari*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; sun3*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD $dummy.c -o $dummy \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) case "${HPUX_REV}" in 11.[0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; esac ;; esac fi ;; esac if [ "${HP_ARCH}" = "" ]; then sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi rm -f $dummy.c $dummy fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; hppa*:OpenBSD:*:*) echo hppa-unknown-openbsd exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*X-MP:*:*:*) echo xmp-cray-unicos exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3D:*:*:*) echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY-2:*:*:*) echo cray2-cray-unicos exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i386-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) cat >$dummy.c < /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #ifdef __MIPSEB__ printf ("%s-unknown-linux-gnu\n", argv[1]); #endif #ifdef __MIPSEL__ printf ("%sel-unknown-linux-gnu\n", argv[1]); #endif return 0; } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy ;; ppc:Linux:*:*) # Determine Lib Version cat >$dummy.c < #if defined(__GLIBC__) extern char __libc_version[]; extern char __libc_release[]; #endif main(argc, argv) int argc; char *argv[]; { #if defined(__GLIBC__) printf("%s %s\n", __libc_version, __libc_release); #else printf("unknown\n"); #endif return 0; } EOF LIBC="" $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null if test "$?" = 0 ; then ./$dummy | grep 1\.99 > /dev/null if test "$?" = 0 ; then LIBC="libc1" ; fi fi rm -f $dummy.c $dummy echo powerpc-unknown-linux-gnu${LIBC} exit 0 ;; alpha:Linux:*:*) cat <$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF LIBC="" $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; esac objdump --private-headers $dummy | \ grep ld.so.1 > /dev/null if test "$?" = 0 ; then LIBC="libc1" fi fi rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. ld_supported_emulations=`cd /; ld --help 2>&1 \ | sed -ne '/supported emulations:/!d s/[ ][ ]*/ /g s/.*supported emulations: *// s/ .*// p'` case "$ld_supported_emulations" in i*86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; elf_i*86) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; i*86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; esac # Either a pre-BFD a.out linker (linux-gnuoldld) # or one that does not give us useful --help. # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. # If ld does not provide *any* "supported emulations:" # that means it is gnuoldld. test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 case "${UNAME_MACHINE}" in i*86) VENDOR=pc; ;; *) VENDOR=unknown; ;; esac # Determine whether the default compiler is a.out or elf cat >$dummy.c < #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); # else printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); # endif # else printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); # endif #else printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); #endif return 0; } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions # are messed up and put the nodename in both sysname and nodename. i*86:DYNIX/ptx:4*:*) echo i386-sequent-sysv4 exit 0 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; i*86:*:5:7*) # Fixed at (any) Pentium or better UNAME_MACHINE=i586 if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} fi exit 0 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit 0 ;; PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) if test "${UNAME_MACHINE}" = "x86pc"; then UNAME_MACHINE=pc fi echo `uname -p`-${UNAME_MACHINE}-nto-qnx exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[KW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: Canna37p3/canuum/config.h.in0100644000076500000000000001437310052700752015177 0ustar shinrawheel/* config.h.in. Generated from configure.in by autoheader. */ /* acconfig.h,v 1.4 2002/06/22 13:15:25 hiroo Exp */ /* Canna: $Id: acconfig.h,v 1.3 2003/01/24 14:42:02 aida_s Exp $ */ /* Define `socklen_t' to int if does not define. */ #undef socklen_t /* Define to `long' if does not define. */ #undef time_t /* * Defined if you allow creating a file in an arbitrary path * which is the traditional feature. */ #undef WNN_ALLOW_UNSAFE_PATH /* Define if the signal function returns void. */ #undef RETSIGTYPE_VOID /* Define when terminfo support found */ #undef HAVE_TERMINFO /* Define when union wait exists */ #undef HAVE_UNION_WAIT /* Define to 1 if the `getpgrp' function requires zero arguments. */ #undef GETPGRP_VOID /* Define to 1 if you have the `bcmp' function. */ #undef HAVE_BCMP /* Define to 1 if you have the `bcopy' function. */ #undef HAVE_BCOPY /* Define to 1 if you have the `bzero' function. */ #undef HAVE_BZERO /* Define to 1 if you have the `closesocket' function. */ #undef HAVE_CLOSESOCKET /* Define to 1 if you have the header file. */ #undef HAVE_CURSES_H /* Define to 1 if you have the `drand48' function. */ #undef HAVE_DRAND48 /* Define to 1 if you have the `dup2' function. */ #undef HAVE_DUP2 /* Define to 1 if you have the `fchmod' function. */ #undef HAVE_FCHMOD /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `FD_SET' function. */ #undef HAVE_FD_SET /* Define to 1 if you have the `getdtablesize' function. */ #undef HAVE_GETDTABLESIZE /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME /* Define to 1 if you have the `getopt' function. */ #undef HAVE_GETOPT /* Define to 1 if you have the `getpgid' function. */ #undef HAVE_GETPGID /* Define to 1 if you have the `getpgrp' function. */ #undef HAVE_GETPGRP /* Define to 1 if you have the `getrlimit' function. */ #undef HAVE_GETRLIMIT /* Define to 1 if you have the `index' function. */ #undef HAVE_INDEX /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `killpg' function. */ #undef HAVE_KILLPG /* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H /* Define to 1 if you have the `memcpy' function. */ #undef HAVE_MEMCPY /* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the header file. */ #undef HAVE_NCURSES_H /* Define to 1 if you have the `random' function. */ #undef HAVE_RANDOM /* Define to 1 if you have the `recv' function. */ #undef HAVE_RECV /* Define to 1 if you have the `rindex' function. */ #undef HAVE_RINDEX /* Define to 1 if you have the `select' function. */ #undef HAVE_SELECT /* Define to 1 if you have the `send' function. */ #undef HAVE_SEND /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `setpgrp' function. */ #undef HAVE_SETPGRP /* Define to 1 if you have the `setsid' function. */ #undef HAVE_SETSID /* Define to 1 if you have the `setsockopt' function. */ #undef HAVE_SETSOCKOPT /* Define to 1 if you have the header file. */ #undef HAVE_SGTTY_H /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF /* Define to 1 if you have the `socket' function. */ #undef HAVE_SOCKET /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strrchr' function. */ #undef HAVE_STRRCHR /* Define to 1 if you have the `syslog' function. */ #undef HAVE_SYSLOG /* Define to 1 if you have the header file. */ #undef HAVE_SYSLOG_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_FILE_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TERMIO_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the header file. */ #undef HAVE_TERMCAP_H /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H /* Define to 1 if you have the header file. */ #undef HAVE_TERMIO_H /* Define to 1 if you have the header file. */ #undef HAVE_TERM_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `vsyslog' function. */ #undef HAVE_VSYSLOG /* Define to 1 if you have the `wait3' function. */ #undef HAVE_WAIT3 /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE /* Define if the signal function returns void. */ #undef RETSIGTYPE_VOID /* Define to 1 if the `setpgrp' function takes no argument. */ #undef SETPGRP_VOID /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to `int' if does not define. */ #undef mode_t /* Define to `long' if does not define. */ #undef time_t Canna37p3/canuum/config.sub0100644000076500001200000006571207601074446015140 0ustar shinraadmin#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-04-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit 0;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \ | pyramid | mn10200 | mn10300 | tron | a29k \ | 580 | i960 | h8300 \ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ | hppa64 \ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ | alphaev6[78] \ | we32k | ns16k | clipper | i370 | sh | sh[34] \ | powerpc | powerpcle \ | 1750a | dsp16xx | pdp10 | pdp11 \ | mips16 | mips64 | mipsel | mips64el \ | mips64orion | mips64orionel | mipstx39 | mipstx39el \ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ | mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \ | sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \ | v850 | c4x \ | thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \ | pj | pjl | h8500) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. # FIXME: clean up the formatting here. vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \ | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ | xmp-* | ymp-* \ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ | hppa2.0n-* | hppa64-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ | alphaev6[78]-* \ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ | clipper-* | orion-* \ | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \ | mips16-* | mips64-* | mipsel-* \ | mips64el-* | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ | mipstx39-* | mipstx39el-* | mcore-* \ | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \ | [cjt]90-* \ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \ | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | ymp) basic_machine=ymp-cray os=-unicos ;; cray2) basic_machine=cray2-cray os=-unicos ;; [cjt]90) basic_machine=${basic_machine}-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mipsel*-linux*) basic_machine=mipsel-unknown os=-linux-gnu ;; mips*-linux*) basic_machine=mips-unknown os=-linux-gnu ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i686-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sparclite-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=t3e-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; tower | tower-32) basic_machine=m68k-ncr ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xmp) basic_machine=xmp-cray os=-unicos ;; xps | xps100) basic_machine=xps100-honeywell ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; mips) if [ x$os = x-linux-gnu ]; then basic_machine=mips-unknown else basic_machine=mips-mips fi ;; romp) basic_machine=romp-ibm ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4) basic_machine=sh-unknown ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; c4x*) basic_machine=c4x-none os=-coff ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto*) os=-nto-qnx ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: Canna37p3/canuum/configure0100755000076500001200000022513010052700747015051 0ustar shinraadmin#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # Defaults: ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help --with-x use the X Window System" ac_help="$ac_help --with-term-libs=-lLIB terminal library to be used " # Initialize some variables set by options. # The variables have the same names as the options, with # dashes changed to underlines. build=NONE cache_file=./config.cache exec_prefix=NONE host=NONE no_create= nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= target=NONE verbose= x_includes=NONE x_libraries=NONE bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi case "$ac_option" in -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) ac_optarg= ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case "$ac_option" in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir="$ac_optarg" ;; -build | --build | --buil | --bui | --bu) ac_prev=build ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build="$ac_optarg" ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file="$ac_optarg" ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir="$ac_optarg" ;; -disable-* | --disable-*) ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` eval "enable_${ac_feature}=no" ;; -enable-* | --enable-*) ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "enable_${ac_feature}='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix="$ac_optarg" ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he) # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat << EOF Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [same as prefix] --bindir=DIR user executables in DIR [EPREFIX/bin] --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] --libexecdir=DIR program executables in DIR [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data in DIR [PREFIX/share] --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data in DIR [PREFIX/com] --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] --libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include] --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] --infodir=DIR info documentation in DIR [PREFIX/info] --mandir=DIR man documentation in DIR [PREFIX/man] --srcdir=DIR find the sources in DIR [configure dir or ..] --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names EOF cat << EOF Host type: --build=BUILD configure for building on BUILD [BUILD=HOST] --host=HOST configure for HOST [guessed] --target=TARGET configure for TARGET [TARGET=HOST] Features and packages: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR EOF if test -n "$ac_help"; then echo "--enable and --with options recognized:$ac_help" fi exit 0 ;; -host | --host | --hos | --ho) ac_prev=host ;; -host=* | --host=* | --hos=* | --ho=*) host="$ac_optarg" ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir="$ac_optarg" ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir="$ac_optarg" ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir="$ac_optarg" ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir="$ac_optarg" ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir="$ac_optarg" ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir="$ac_optarg" ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir="$ac_optarg" ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix="$ac_optarg" ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix="$ac_optarg" ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix="$ac_optarg" ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name="$ac_optarg" ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir="$ac_optarg" ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir="$ac_optarg" ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site="$ac_optarg" ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir="$ac_optarg" ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir="$ac_optarg" ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target="$ac_optarg" ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers) echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "with_${ac_package}='$ac_optarg'" ;; -without-* | --without-*) ac_package=`echo $ac_option|sed -e 's/-*without-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` eval "with_${ac_package}=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes="$ac_optarg" ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries="$ac_optarg" ;; -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ;; *) if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then echo "configure: warning: $ac_option: invalid host type" 1>&2 fi if test "x$nonopt" != xNONE; then { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } fi nonopt="$ac_option" ;; esac done if test -n "$ac_prev"; then { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } fi trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 # File descriptor usage: # 0 standard input # 1 file creation # 2 errors and warnings # 3 some systems may open it to /dev/tty # 4 used on the Kubota Titan # 6 checking for... messages and results # 5 compiler messages saved in config.log if test "$silent" = yes; then exec 6>/dev/null else exec 6>&1 fi exec 5>./config.log echo "\ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. " 1>&5 # Strip out --no-create and --no-recursion so they do not pile up. # Also quote any args containing shell metacharacters. ac_configure_args= for ac_arg do case "$ac_arg" in -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) ac_configure_args="$ac_configure_args '$ac_arg'" ;; *) ac_configure_args="$ac_configure_args $ac_arg" ;; esac done # NLS nuisances. # Only set these to C if already set. These must not be set unconditionally # because not all systems understand e.g. LANG=C (notably SCO). # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! # Non-C LC_CTYPE values break the ctype check. if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo > confdefs.h # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. ac_unique_file=canna.c # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_prog=$0 ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } else { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } fi fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then echo "loading site script $ac_site_file" . "$ac_site_file" fi done if test -r "$cache_file"; then echo "loading cache $cache_file" . $cache_file else echo "creating cache $cache_file" > $cache_file fi ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross ac_exeext= ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then ac_n= ac_c=' ' ac_t=' ' else ac_n=-n ac_c= ac_t= fi else ac_n= ac_c='\c' ac_t= fi if test "x$IN_MAKE" != xyes; then { echo "configure: error: You cannot invloke configure directly." 1>&2; exit 1; } fi ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break fi done if test -z "$ac_aux_dir"; then { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } fi ac_config_guess=$ac_aux_dir/config.guess ac_config_sub=$ac_aux_dir/config.sub ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # Make sure we can run config.sub. if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 echo "configure:563: checking host system type" >&5 host_alias=$host case "$host_alias" in NONE) case $nonopt in NONE) if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } fi ;; *) host_alias=$nonopt ;; esac ;; esac host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$ac_t""$host" 1>&6 # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:589: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:619: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" break fi done IFS="$ac_save_ifs" if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# -gt 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift set dummy "$ac_dir/$ac_word" "$@" shift ac_cv_prog_CC="$@" fi fi fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$CC"; then case "`uname -s`" in *win32* | *WIN32*) # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:670: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="cl" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi ;; esac fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 echo "configure:702: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF #line 713 "configure" #include "confdefs.h" main(){return(0);} EOF if { (eval echo configure:718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then ac_cv_prog_cc_cross=no else ac_cv_prog_cc_cross=yes fi else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_works=no fi rm -fr conftest* ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 echo "configure:744: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 echo "configure:749: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no fi fi echo "$ac_t""$ac_cv_prog_gcc" 1>&6 if test $ac_cv_prog_gcc = yes; then GCC=yes else GCC= fi ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 echo "configure:777: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then ac_cv_prog_cc_g=yes else ac_cv_prog_cc_g=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 if test "$ac_test_CFLAGS" = set; then CFLAGS="$ac_save_CFLAGS" elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 echo "configure:811: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # This must be in double quotes, not single quotes, because CPP may get # substituted into the Makefile and "${CC-cc}" will confuse make. CPP="${CC-cc} -E" # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:832: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:849: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:866: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP=/lib/cpp fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* ac_cv_prog_CPP="$CPP" fi CPP="$ac_cv_prog_CPP" else ac_cv_prog_CPP="$CPP" fi echo "$ac_t""$CPP" 1>&6 # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 echo "configure:903: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" for ac_dir in $PATH; do # Account for people who put trailing slashes in PATH elements. case "$ac_dir/" in /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do if test -f $ac_dir/$ac_prog; then if test $ac_prog = install && grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : else ac_cv_path_install="$ac_dir/$ac_prog -c" break 2 fi fi done ;; esac done IFS="$ac_save_IFS" fi if test "${ac_cv_path_install+set}" = set; then INSTALL="$ac_cv_path_install" else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL="$ac_install_sh" fi fi echo "$ac_t""$INSTALL" 1>&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 echo "configure:956: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftestdata if ln -s X conftestdata 2>/dev/null then rm -f conftestdata ac_cv_prog_LN_S="ln -s" else ac_cv_prog_LN_S=ln fi fi LN_S="$ac_cv_prog_LN_S" if test "$ac_cv_prog_LN_S" = "ln -s"; then echo "$ac_t""yes" 1>&6 else echo "$ac_t""no" 1>&6 fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 echo "configure:977: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftestmake <<\EOF all: @echo 'ac_maketemp="${MAKE}"' EOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftestmake fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$ac_t""yes" 1>&6 SET_MAKE= else echo "$ac_t""no" 1>&6 SET_MAKE="MAKE=${MAKE-make}" fi # If we find X, set shell vars x_includes and x_libraries to the # paths, otherwise set no_x=yes. # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 echo "configure:1011: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" : fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then # Both variables are already set. have_x=yes else if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=NO ac_x_libraries=NO rm -fr conftestdir if mkdir conftestdir; then cd conftestdir # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat > Imakefile <<'EOF' acfindx: @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' EOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && test -f $ac_im_libdir/libX11.$ac_extension; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case "$ac_im_incroot" in /usr/include) ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;; esac case "$ac_im_usrlibdir" in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;; esac fi cd .. rm -fr conftestdir fi if test "$ac_x_includes" = NO; then # Guess where to find include files, by looking for this one X11 .h file. test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* # We can compile using X headers with no special include directory. ac_x_includes= else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* # Look for the header file in a standard set of common directories. # Check X11 before X11Rn because it is often a symlink to the current release. for ac_dir in \ /usr/X11/include \ /usr/X11R6/include \ /usr/X11R5/include \ /usr/X11R4/include \ \ /usr/include/X11 \ /usr/include/X11R6 \ /usr/include/X11R5 \ /usr/include/X11R4 \ \ /usr/local/X11/include \ /usr/local/X11R6/include \ /usr/local/X11R5/include \ /usr/local/X11R4/include \ \ /usr/local/include/X11 \ /usr/local/include/X11R6 \ /usr/local/include/X11R5 \ /usr/local/include/X11R4 \ \ /usr/X386/include \ /usr/x386/include \ /usr/XFree86/include/X11 \ \ /usr/include \ /usr/local/include \ /usr/unsupported/include \ /usr/athena/include \ /usr/local/x11r5/include \ /usr/lpp/Xamples/include \ \ /usr/openwin/include \ /usr/openwin/share/include \ ; \ do if test -r "$ac_dir/$x_direct_test_include"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest* fi # $ac_x_includes = NO if test "$ac_x_libraries" = NO; then # Check for the libraries. test -z "$x_direct_test_library" && x_direct_test_library=Xt test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. ac_x_libraries= else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* LIBS="$ac_save_LIBS" # First see if replacing the include by lib works. # Check X11 before X11Rn because it is often a symlink to the current release. for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ /usr/X11/lib \ /usr/X11R6/lib \ /usr/X11R5/lib \ /usr/X11R4/lib \ \ /usr/lib/X11 \ /usr/lib/X11R6 \ /usr/lib/X11R5 \ /usr/lib/X11R4 \ \ /usr/local/X11/lib \ /usr/local/X11R6/lib \ /usr/local/X11R5/lib \ /usr/local/X11R4/lib \ \ /usr/local/lib/X11 \ /usr/local/lib/X11R6 \ /usr/local/lib/X11R5 \ /usr/local/lib/X11R4 \ \ /usr/X386/lib \ /usr/x386/lib \ /usr/XFree86/lib/X11 \ \ /usr/lib \ /usr/local/lib \ /usr/unsupported/lib \ /usr/athena/lib \ /usr/local/x11r5/lib \ /usr/lpp/Xamples/lib \ /lib/usr/lib/X11 \ \ /usr/openwin/lib \ /usr/openwin/share/lib \ ; \ do for ac_extension in a so sl; do if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f conftest* fi # $ac_x_libraries = NO if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then # Didn't find X anywhere. Cache the known absence of X. ac_cv_have_x="have_x=no" else # Record where we found X for the cache. ac_cv_have_x="have_x=yes \ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi fi fi eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then echo "$ac_t""$have_x" 1>&6 no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6 fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 echo "configure:1241: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include #include #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1254: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* ac_cv_header_stdc=yes else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "memchr" >/dev/null 2>&1; then : else rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "free" >/dev/null 2>&1; then : else rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF if { (eval echo configure:1321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* ac_cv_header_stdc=no fi rm -fr conftest* fi fi fi echo "$ac_t""$ac_cv_header_stdc" 1>&6 if test $ac_cv_header_stdc = yes; then cat >> confdefs.h <<\EOF #define STDC_HEADERS 1 EOF fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 echo "configure:1345: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include #ifndef WEXITSTATUS #define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) #endif #ifndef WIFEXITED #define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif int main() { int s; wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF if { (eval echo configure:1366: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_header_sys_wait_h=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6 if test $ac_cv_header_sys_wait_h = yes; then cat >> confdefs.h <<\EOF #define HAVE_SYS_WAIT_H 1 EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 echo "configure:1387: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include #include int main() { struct tm *tp; ; return 0; } EOF if { (eval echo configure:1401: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_header_time=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_header_time" 1>&6 if test $ac_cv_header_time = yes; then cat >> confdefs.h <<\EOF #define TIME_WITH_SYS_TIME 1 EOF fi for ac_hdr in fcntl.h sgtty.h syslog.h unistd.h \ sys/file.h sys/ioctl.h sys/time.h sys/types.h sys/param.h \ malloc.h strings.h memory.h \ curses.h ncurses.h term.h termio.h \ termcap.h sgtty.h sys/termio.h termios.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo "configure:1430: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1440: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` cat >> confdefs.h <&6 fi done olibs="$LIBS" echo $ac_n "checking --with-term-libs argument""... $ac_c" 1>&6 echo "configure:1469: checking --with-term-libs argument" >&5 # Check whether --with-tlib or --without-tlib was given. if test "${with_tlib+set}" = set; then withval="$with_tlib" : fi if test -n "$with_term_libs"; then echo "$ac_t""$with_term_libs" 1>&6 LIBS="$LIBS $with_term_libs" else echo "$ac_t""automatic terminal library selection" 1>&6 case "`uname -s 2>/dev/null`" in OSF1) tlibs="ncurses curses termlib termcap";; *) tlibs="ncurses termlib termcap curses";; esac for libname in $tlibs; do echo $ac_n "checking for tgetent in -l${libname}""... $ac_c" 1>&6 echo "configure:1487: checking for tgetent in -l${libname}" >&5 ac_lib_var=`echo ${libname}'_'tgetent | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-l${libname} $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_lib=HAVE_LIB`echo ${libname} | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >> confdefs.h <&6 fi if test "x$olibs" != "x$LIBS"; then if test "$cross_compiling" = yes; then res="FAIL" else cat > conftest.$ac_ext < #endif main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); } EOF if { (eval echo configure:1546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then res="OK" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* res="FAIL" fi rm -fr conftest* fi if test "$res" = "OK"; then break fi echo "$ac_t""$libname library is not usable" 1>&6 LIBS="$olibs" fi done fi if test "x$olibs" != "x$LIBS"; then echo $ac_n "checking whether we talk terminfo""... $ac_c" 1>&6 echo "configure:1568: checking whether we talk terminfo" >&5 if test "$cross_compiling" = yes; then { echo "configure: error: failed to compile test program." 1>&2; exit 1; } else cat > conftest.$ac_ext < #endif main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); } EOF if { (eval echo configure:1582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then echo "$ac_t""no -- we are in termcap land" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* echo "$ac_t""yes -- terminfo spoken here" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_TERMINFO 1 EOF fi rm -fr conftest* fi else echo "$ac_t""none found" 1>&6 fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 echo "configure:1602: checking for mode_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS #include #include #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_mode_t=yes else rm -rf conftest* ac_cv_type_mode_t=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_type_mode_t" 1>&6 if test $ac_cv_type_mode_t = no; then cat >> confdefs.h <<\EOF #define mode_t int EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 echo "configure:1635: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include #include int main() { struct tm *tp; ; return 0; } EOF if { (eval echo configure:1649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_header_time=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_header_time" 1>&6 if test $ac_cv_header_time = yes; then cat >> confdefs.h <<\EOF #define TIME_WITH_SYS_TIME 1 EOF fi echo $ac_n "checking for time_t""... $ac_c" 1>&6 echo "configure:1670: checking for time_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS #include #include #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "(^|[^a-zA-Z_0-9])time_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_time_t=yes else rm -rf conftest* ac_cv_type_time_t=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_type_time_t" 1>&6 if test $ac_cv_type_time_t = no; then cat >> confdefs.h <<\EOF #define time_t long EOF fi echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 echo "configure:1704: checking for socklen_t" >&5 cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "socklen_t" >/dev/null 2>&1; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else rm -rf conftest* cat >> confdefs.h <<\EOF #define socklen_t int EOF echo "$ac_t""no" 1>&6 fi rm -f conftest* echo $ac_n "checking for union wait""... $ac_c" 1>&6 echo "configure:1727: checking for union wait" >&5 if test "$ac_cv_header_sys_wait_h" = yes; then cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "union wait" >/dev/null 2>&1; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_UNION_WAIT 1 EOF echo "$ac_t""yes" 1>&6 else rm -rf conftest* echo "$ac_t""no" 1>&6 fi rm -f conftest* else echo "$ac_t""no" 1>&6 fi if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 echo "configure:1755: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "$ac_pattern" >/dev/null 2>&1; then rm -rf conftest* ac_cv_prog_gcc_traditional=yes else rm -rf conftest* ac_cv_prog_gcc_traditional=no fi rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "$ac_pattern" >/dev/null 2>&1; then rm -rf conftest* ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6 if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 echo "configure:1802: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include #ifdef signal #undef signal #endif #ifdef __cplusplus extern "C" void (*signal (int, void (*)(int)))(int); #else void (*signal ()) (); #endif int main() { int i; ; return 0; } EOF if { (eval echo configure:1824: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_type_signal=int fi rm -f conftest* fi echo "$ac_t""$ac_cv_type_signal" 1>&6 cat >> confdefs.h <> confdefs.h <<\EOF #define RETSIGTYPE_VOID 1 EOF fi echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 echo "configure:1850: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* ac_cv_func_memcmp_clean=no fi rm -fr conftest* fi fi echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}" for ac_func in wait3 setpgrp setsid dup2 killpg getpgid getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:1888: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:1916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 fi done echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6 echo "configure:1941: checking whether setpgrp takes no argument" >&5 if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then { echo "configure: error: cannot check setpgrp if cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #endif /* * If this system has a BSD-style setpgrp, which takes arguments, exit * successfully. */ main() { if (setpgrp(1,1) == -1) exit(0); else exit(1); } EOF if { (eval echo configure:1969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_setpgrp_void=no else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* ac_cv_func_setpgrp_void=yes fi rm -fr conftest* fi fi echo "$ac_t""$ac_cv_func_setpgrp_void" 1>&6 if test $ac_cv_func_setpgrp_void = yes; then cat >> confdefs.h <<\EOF #define SETPGRP_VOID 1 EOF fi echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 echo "configure:1993: checking whether getpgrp takes no argument" >&5 if eval "test \"`echo '$''{'ac_cv_func_getpgrp_void'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then { echo "configure: error: cannot check getpgrp if cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include int pid; int pg1, pg2, pg3, pg4; int ng, np, s, child; main() { pid = getpid(); pg1 = getpgrp(0); pg2 = getpgrp(); pg3 = getpgrp(pid); pg4 = getpgrp(1); /* * If all of these values are the same, it's pretty sure that * we're on a system that ignores getpgrp's first argument. */ if (pg2 == pg4 && pg1 == pg3 && pg2 == pg3) exit(0); child = fork(); if (child < 0) exit(1); else if (child == 0) { np = getpid(); /* * If this is Sys V, this will not work; pgrp will be * set to np because setpgrp just changes a pgrp to be * the same as the pid. */ setpgrp(np, pg1); ng = getpgrp(0); /* Same result for Sys V and BSD */ if (ng == pg1) { exit(1); } else { exit(0); } } else { wait(&s); exit(s>>8); } } EOF if { (eval echo configure:2056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_getpgrp_void=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* ac_cv_func_getpgrp_void=no fi rm -fr conftest* fi fi echo "$ac_t""$ac_cv_func_getpgrp_void" 1>&6 if test $ac_cv_func_getpgrp_void = yes; then cat >> confdefs.h <<\EOF #define GETPGRP_VOID 1 EOF fi for ac_func in random drand48 fchmod getopt \ gethostname select socket closesocket setsockopt send recv \ FD_SET \ getdtablesize getrlimit syslog vsyslog setenv snprintf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:2086: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:2114: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 fi done for ac_func in bcopy bzero bcmp index rindex \ memcpy memmove memset strchr strrchr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:2142: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else $ac_func(); #endif ; return 0; } EOF if { (eval echo configure:2170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 fi done trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # EOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). sed -n \ -e "s/'/'\\\\''/g" \ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' ;; esac >> confcache if cmp -s $cache_file confcache; then : else if test -w $cache_file; then echo "updating cache $cache_file" cat confcache > $cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Any assignment to VPATH causes Sun make to only execute # the first set of double-colon rules, so remove it if not needed. # If there is a colon in the path, we need to keep it. if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 DEFS=-DHAVE_CONFIG_H # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} echo creating $CONFIG_STATUS rm -f $CONFIG_STATUS cat > $CONFIG_STATUS </dev/null | sed 1q`: # # $0 $ac_configure_args # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" for ac_option do case "\$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; *) echo "\$ac_cs_usage"; exit 1 ;; esac done ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" trap 'rm -fr `echo " config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF $ac_vpsub $extrasub s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g s%@exec_prefix@%$exec_prefix%g s%@prefix@%$prefix%g s%@program_transform_name@%$program_transform_name%g s%@bindir@%$bindir%g s%@sbindir@%$sbindir%g s%@libexecdir@%$libexecdir%g s%@datadir@%$datadir%g s%@sysconfdir@%$sysconfdir%g s%@sharedstatedir@%$sharedstatedir%g s%@localstatedir@%$localstatedir%g s%@libdir@%$libdir%g s%@includedir@%$includedir%g s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g s%@host@%$host%g s%@host_alias@%$host_alias%g s%@host_cpu@%$host_cpu%g s%@host_vendor@%$host_vendor%g s%@host_os@%$host_os%g s%@CC@%$CC%g s%@CPP@%$CPP%g s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g s%@INSTALL_DATA@%$INSTALL_DATA%g s%@LN_S@%$LN_S%g s%@SET_MAKE@%$SET_MAKE%g s%@LIBOBJS@%$LIBOBJS%g CEOF EOF cat >> $CONFIG_STATUS <<\EOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. ac_file=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_cmds # Line after last line for current file. ac_more_lines=: ac_sed_cmds="" while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file else sed "${ac_end}q" conftest.subs > conftest.s$ac_file fi if test ! -s conftest.s$ac_file; then ac_more_lines=false rm -f conftest.s$ac_file else if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f conftest.s$ac_file" else ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" fi ac_file=`expr $ac_file + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_cmds` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` else ac_dir_suffix= ac_dots= fi case "$ac_given_srcdir" in .) srcdir=. if test -z "$ac_dots"; then top_srcdir=. else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; *) # Relative path. srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" top_srcdir="$ac_dots$ac_given_srcdir" ;; esac case "$ac_given_INSTALL" in [/$]*) INSTALL="$ac_given_INSTALL" ;; *) INSTALL="$ac_dots$ac_given_INSTALL" ;; esac echo creating "$ac_file" rm -f "$ac_file" configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." case "$ac_file" in *Makefile*) ac_comsub="1i\\ # $configure_input" ;; *) ac_comsub= ;; esac ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` sed -e "$ac_comsub s%@configure_input@%$configure_input%g s%@srcdir@%$srcdir%g s%@top_srcdir@%$top_srcdir%g s%@INSTALL@%$INSTALL%g " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file fi; done rm -f conftest.s* # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' ac_dC='\3' ac_dD='%g' # ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='\([ ]\)%\1#\2define\3' ac_uC=' ' ac_uD='\4%g' # ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_eB='$%\1#\2define\3' ac_eC=' ' ac_eD='%g' if test "${CONFIG_HEADERS+set}" != set; then EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF fi for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac echo creating $ac_file rm -f conftest.frag conftest.in conftest.out ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` cat $ac_file_inputs > conftest.in EOF # Transform confdefs.h into a sed script conftest.vals that substitutes # the proper values into config.h.in to produce config.h. And first: # Protect against being on the right side of a sed subst in config.status. # Protect against being in an unquoted here document in config.status. rm -f conftest.vals cat > conftest.hdr <<\EOF s/[\\&%]/\\&/g s%[\\$`]%\\&%g s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp s%ac_d%ac_u%gp s%ac_u%ac_e%gp EOF sed -n -f conftest.hdr confdefs.h > conftest.vals rm -f conftest.hdr # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >> conftest.vals <<\EOF s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% EOF # Break up conftest.vals because some shells have a limit on # the size of here documents, and old seds have small limits too. rm -f conftest.tail while : do ac_lines=`grep -c . conftest.vals` # grep -c gives empty output for an empty file on some AIX systems. if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi # Write a limited-size here document to conftest.frag. echo ' cat > conftest.frag <> $CONFIG_STATUS sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS echo 'CEOF sed -f conftest.frag conftest.in > conftest.out rm -f conftest.in mv conftest.out conftest.in ' >> $CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail rm -f conftest.vals mv conftest.tail conftest.vals done rm -f conftest.vals cat >> $CONFIG_STATUS <<\EOF rm -f conftest.frag conftest.h echo "/* $ac_file. Generated automatically by configure. */" > conftest.h cat conftest.in >> conftest.h rm -f conftest.in if cmp -s $ac_file conftest.h 2>/dev/null; then echo "$ac_file is unchanged" rm -f conftest.h else # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" fi rm -f $ac_file mv conftest.h $ac_file fi fi; done EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF exit 0 EOF chmod +x $CONFIG_STATUS rm -fr confdefs* $ac_clean_files test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 Canna37p3/canuum/configure.in0100644000076500001200000004134107637503132015457 0ustar shinraadmindnl dnl configure.in,v 1.32 2002/09/01 17:48:19 hiroo Exp dnl Canna: $Id: configure.in,v 1.8 2003/03/24 04:15:22 aida_s Exp $ dnl dnl dnl FreeWnn is a network-extensible Kana-to-Kanji conversion system. dnl This file is part of FreeWnn. dnl dnl Copyright Kyoto University Research Institute for Mathematical Sciences dnl 1987, 1988, 1989, 1990, 1991, 1992 dnl Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 dnl Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 dnl Copyright FreeWnn Project 1999, 2000, 2001, 2002 dnl dnl Maintainer: FreeWnn Project dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA dnl dnl dnl Process this file with autoconf to produce a configure script. dnl define([CANNA]) AC_INIT(ifdef([CANNA],canna.c,Wnn/conv/cvt_head.h)) AC_CONFIG_HEADER(config.h) ifdef([CANNA],[ if test "x$IN_MAKE" != xyes; then AC_MSG_ERROR([You cannot invloke configure directly.]) fi ])dnl CANNA dnl ==================================================================== dnl Check optional features dnl ==================================================================== AC_CANONICAL_HOST dnl build and install libraries, server or client ifdef([CANNA],,[ AC_ARG_ENABLE(debug, [ --enable-debug enable debug options [default=no]], [case "${enableval}" in yes) debug=true ;; no) debug=false ;; *) AC_MSG_ERROR(bad value for --enable-debug) esac], debug=false) AC_ARG_ENABLE(libraries, [ --enable-libraries build and install libraries [default=yes]], [case "${enableval}" in yes) libraries=true ;; no) libraries=false ;; *) AC_MSG_ERROR(bad value for --enable-libraries) ;; esac], libraries=true) AC_ARG_ENABLE(server, [ --enable-server build and install server [default=yes]], [case "${enableval}" in yes) server=true ;; no) server=false ;; *) AC_MSG_ERROR(bad value for --enable-server) ;; esac], server=true) AC_ARG_ENABLE(client, [ --enable-client build and install clients [default=no]], [case "${enableval}" in yes) client=true ;; no) client=false ;; *) AC_MSG_ERROR(bad value for --enable-client) ;; esac], client=false) if test $libraries = true; then SUBDIRS="\$(LIB_SUBDIRS)" WNNMANDIR="\$(LIB_WNNMANDIR)" fi if test $server = true; then SUBDIRS="$SUBDIRS \$(SERVER_SUBDIRS)" WNNMANDIR="$WNNMANDIR \$(SERVER_WNNMANDIR)" fi if test $client = true; then SUBDIRS="$SUBDIRS \$(CLIENT_SUBDIRS)" dnl currently client is only uum and its man is in SERVER_WNNMANDIR dnl WNNMANDIR=$WNNMANDIR \$(CLIENT_WNNMANDIR)" fi AC_SUBST(SUBDIRS) AC_SUBST(WNNMANDIR) dnl For Severs AC_ARG_ENABLE(Wnn, [ --enable-Wnn build and install Wnn [default=yes]], [case "${enableval}" in yes) Wnn="Wnn";; no) Wnn="" ;; *) AC_MSG_ERROR(bad value for --enable-Wnn) ;; esac], Wnn="Wnn") AC_SUBST(Wnn) if test "$server" = true -a "$Wnn" = Wnn; then # JSERVER_SUBDIRS1="\$(JSERVER_SUBDIRS1)" JSERVER_SUBDIRS2="\$(JSERVER_SUBDIRS2)" else # JSERVER_SUBDIRS1="" JSERVER_SUBDIRS2="" fi dnl AC_SUBST(JSERVER_SUBDIRS1) AC_SUBST(JSERVER_SUBDIRS2) AC_ARG_ENABLE(cWnn, [ --enable-cWnn build and install cWnn [default=yes]], [case "${enableval}" in yes) cWnn="cWnn" ;; no) cWnn="" ;; *) AC_MSG_ERROR(bad value for --enable-cWnn) ;; esac], cWnn="cWnn") AC_SUBST(cWnn) AC_ARG_ENABLE(kWnn, [ --enable-kWnn build and install kWnn [default=yes]], [case "${enableval}" in yes) kWnn="kWnn" ;; no) kWnn="" ;; *) AC_MSG_ERROR(bad value for --enable-kWnn) ;; esac], kWnn="kWnn") AC_SUBST(kWnn) dnl For a library libwnn dnl AC_ARG_WITH(libwnn, dnl [ --with-libwnn use installed Wnn library [default=no]], dnl [case "${withval}" in dnl yes|no) with_libwnn=${withval};; dnl *) AC_MSG_ERROR(invalid argument to --with-libwnn) ;; dnl esac], with_libwnn=no) dnl AC_ARG_WITH(libwnn, [ --with-libwnn use installed Wnn library [default=no]], [ with_libwnn="${withval}" AC_ARG_WITH(wnn-includes, [ --with-wnn-includes=DIR WNN include files are in DIR], [wnnincludedir="-I${withval}"], [wnnincludedir='']) AC_ARG_WITH(wnn-libraries, [ --with-wnn-libraries=DIR Search for WNN libraries in DIR[default=/usr/local/lib]], [wnnlibdir="${withval}"], [wnnlibdir='/usr/local/lib']) if test "X${with_libwnn}" = X-lwnn; then WNNJLIB="-L${wnnlibdir} -lwnn" elif test X"`echo ${with_libwnn} | grep '^/.*'`" != X ; then WNNJLIB="${with_libwnn}" else WNNJLIB="${wnnlibdir}/libwnn.a" fi DEPWNNJLIB="" HINSI_DATA="\$(JWNNWNNDIR)/hinsi.data" ], [ WNNJLIB="\$(WNNJLIBSRC)/libwnn.la" DEPWNNJLIB="\$(WNNJLIB)" HINSI_DATA="\$(WNNJDSRC)/hinsi.data" ]) AC_SUBST(WNNJLIB) AC_SUBST(DEPWNNJLIB) AC_SUBST(HINSI_DATA) AC_ARG_WITH(libcwnn, [ --with-libcwnn use installed cWnn library [default=no]], [ AC_ARG_WITH(cwnn-includes, [ --with-cwnn-includes=DIR CWNN include files are in DIR], [cwnnincludedir="-I${withval}"], [cwnnincludedir='']) AC_ARG_WITH(cwnn-libraries, [ --with-cwnn-libraries=DIR Search for CWNN libraries in DIR[default=/usr/local/lib]], [cwnnlibdir="${withval}"], [cwnnlibdir='/usr/local/lib']) if test "X${with_libcwnn}" = X-lcwnn; then CWNNJLIB="-L${cwnnlibdir} -lcwnn" elif test X"`echo ${with_libcwnn} | grep '^/.*'`" != X ; then CWNNJLIB="${with_libcwnn}" else CWNNJLIB="${cwnnlibdir}/libcwnn.a" fi DEPCWNNJLIB="" CHINSI_DATA="\$(CWNNWNNDIR)/cixing.data" THINSI_DATA="\$(TWNNTDSRC)/cixing.data" ], [ CWNNJLIB="\$(CWNNJLIBSRC)/libcwnn.la" DEPCWNNJLIB="\$(CWNNJLIB)" CHINSI_DATA="\$(CWNNCDSRC)/cixing.data" THINSI_DATA="\$(TWNNTDSRC)/cixing.data" ]) AC_SUBST(CWNNJLIB) AC_SUBST(DEPCWNNJLIB) AC_SUBST(CHINSI_DATA) AC_SUBST(THINSI_DATA) AC_ARG_WITH(libkwnn, [ --with-libkwnn use installed kWnn library [default=no]], [ AC_ARG_WITH(kwnn-includes, [ --with-kwnn-includes=DIR KWNN include files are in DIR], [kwnnincludedir="-I${withval}"], [kwnnincludedir='']) AC_ARG_WITH(kwnn-libraries, [ --with-kwnn-libraries=DIR Search for KWNN libraries in DIR[default=/usr/local/lib]], [kwnnlibdir="${withval}"], [kwnnlibdir='/usr/local/lib']) if test "X${with_libkwnn}" = X-lkwnn; then KWNNJLIB="-L${kwnnlibdir} -lkwnn" elif test X"`echo ${with_libkwnn} | grep '^/.*'`" != X ; then KWNNJLIB="${with_libkwnn}" else KWNNJLIB="${kwnnlibdir}/libkwnn.a" fi DEPKWNNJLIB="" KHINSI_DATA="\$(KWNNWNNDIR)/hinsi.data" ], [ KWNNJLIB="\$(KWNNJLIBSRC)/libkwnn.la" DEPKWNNJLIB="\$(KWNNJLIB)" KHINSI_DATA="\$(KWNNKDSRC)/hinsi.data" ]) AC_SUBST(KWNNJLIB) AC_SUBST(DEPKWNNJLIB) AC_SUBST(KHINSI_DATA) dnl dnl Build Options dnl AC_ARG_ENABLE(ipv6, [ --enable-ipv6 build and install IPv6 [default=no]], [case "${enableval}" in yes) ipv6="-DINET6";; no) ipv6="" ;; *) AC_MSG_ERROR(bad value for --enable-ipv6) ;; esac], ipv6="") AC_SUBST(ipv6) AC_ARG_ENABLE(unsafe-path, [ --enable-unsafe-path allow creating files in an arbitrary path [default=no]], [case "${enableval}" in yes) unsafe_path=true;; no) unsafe_path=false;; *) AC_MSG_ERROR(bad value for --enable-unsafe-path) ;; esac], unsafe_path=false) AC_SUBST(unsafe_path) if test ${unsafe_path} = true; then AC_DEFINE(WNN_ALLOW_UNSAFE_PATH) fi ]) dnl not CANNA dnl dnl Checks for cc and cpp. dnl AC_PROG_CC ifdef([CANNA],,[ dnl Use environment variable (if set). It will be overridden dnl in supported system though... CDEBUGFLAGS=${CDEBUGFLAGS:-"-O"} case $host in *-*-linux*) CCOPTIONS="-Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE" CDEBUGFLAGS="-O2 -fno-strength-reduce" ;; *-*-freebsd*|*-*-netbsd*|*-*-openbsd*) CDEBUGFLAGS="-O2 -fno-strength-reduce" ;; *-*-bsdi*) CDEBUGFLAGS="-O2 -fno-strength-reduce" ;; *-*-sunos*) if test $GCC = yes; then CCOPTIONS="-Dsun -Dsparc" CDEBUGFLAGS=-O2 else CCOPTIONS="" CDEBUGFLAGS=-O4 fi ;; *-*-solaris2.*) # Will 'solaris*' be OK? if test $GCC = yes; then CCOPTIONS="-Dsun -D`uname -p` -DSVR4 -DSYSV" CDEBUGFLAGS=-O2 else CCOPTIONS="-Xc -xF -xcg92 -Dsun -D`uname -p` -DSVR4 -DSYSV" CDEBUGFLAGS=-O4 fi ;; *-*-hpux*) if test $GCC = yes; then CCOPTIONS="-Dhpux -DSYSV" CDEBUGFLAGS=-O2 else CCOPTIONS="-Ae -Dhpux -DSYSV" fi ;; i[[34567]]86-pc-beos*) CCOPTIONS="-DBEOS -D_POSIX_SOURCE -D_BSD_SOURCE" CDEBUGFLAGS="-O2 -fno-strength-reduce" ;; powerpc-*-beos*) CCOPTIONS="-DBEOS -D_POSIX_SOURCE -D_BSD_SOURCE" ;; *-*-aix*) if test $GCC = yes; then CDEBUGFLAGS=-O2 else CDEBUGFLAGS=-O fi CCOPTIONS="-DSYSV" ;; *) AC_MSG_WARN("It is not reported if FreeWnn works on this system. But continuing...") AC_MSG_WARN([(It may or may not work if you set CCOPTIONS properly.)]) ;; esac dnl Checking if we use gcc or not if test $debug = true; then if test $GCC = yes; then CDEBUGFLAGS="-g2 -Wall -fstack-check $CDEBUGFLAGS" fi INSTPGMFLAGS= else INSTPGMFLAGS="-s" fi AC_SUBST(INSTPGMFLAGS) echo "Set CDEBUGFLAGS and CCOPTIONS to following:" echo ' CDEBUGFLAGS="'"$CDEBUGFLAGS"'"' echo ' CCOPTIONS="'"$CCOPTIONS"'"' ])dnl not CANNA dnl ¼«Æ°Ç§¼±¤Ç·èÄꤵ¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¤Ïconfigure»þ¤Ë´Ä¶­ÊÑ¿ôCPP¤òÀßÄꤻ¤è¡£ dnl ¤³¤Î°ÌÃ֤ʤé¤Ð¤Þ¤À¥·¥¹¥Æ¥à¸ÇÍ­Éôʬ¤ÇCPP¤ò¥ª¡¼¥Ð¥é¥¤¥É¤Ç¤­¤ë¤¬¡¢ dnl ¡ÖCPP=${CPP:-"/usr/ccs/lib/cpp"}¡×¤Î¤´¤È¤¯¥æ¡¼¥¶¤Î°Õ»Ö¤òº½Å¤·¤¿Êý¤¬ dnl ¤è¤¤¤È»×¤ï¤ì¤ë¡£ AC_PROG_CPP dnl dnl Checks for programs. dnl dnl ### AC_PROG_YACC dnl ### AC_PROG_LEX AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET ifdef([CANNA],,[ AC_PROG_LIBTOOL AC_SUBST(LIBTOOL_DEPS) AC_SUBST(CCOPTIONS) AC_SUBST(CDEBUGFLAGS) ])dnl not CANNA dnl Checks for libraries. dnl ### dnl Replace `main' with a function in -lX11: dnl ### AC_CHECK_LIB(X11, main) dnl ### dnl Replace `main' with a function in -lcurses: dnl ### AC_CHECK_LIB(curses, main) ifdef([CANNA],,[ AC_CHECK_LIB(crypt, crypt) AC_CHECK_LIB(socket, connect) AC_CHECK_LIB(bind, getservbyname) AC_CHECK_LIB(nsl, gethostbyname) ])dnl not CANNA dnl dnl Checks for header files. dnl AC_PATH_X AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_HEADER_TIME AC_CHECK_HEADERS(fcntl.h sgtty.h syslog.h unistd.h \ sys/file.h sys/ioctl.h sys/time.h sys/types.h sys/param.h \ malloc.h strings.h memory.h \ curses.h ncurses.h term.h termio.h \ termcap.h sgtty.h sys/termio.h termios.h ) dnl If you don't use ansidecl.h, use this (and modify Wnn/jserver/error.c) dnl AC_CHECK_HEADERS(stdarg.h varargs.h, break) dnl dnl Terminal library selection. (ported from vim6.1) dnl FIXME: cross compilation dnl olibs="$LIBS" AC_MSG_CHECKING(--with-term-libs argument) AC_ARG_WITH(tlib, [ --with-term-libs=-lLIB terminal library to be used ],) if test -n "$with_term_libs"; then AC_MSG_RESULT($with_term_libs) LIBS="$LIBS $with_term_libs" else AC_MSG_RESULT([automatic terminal library selection]) dnl On HP-UX 10.10 termcap or termlib should be used instead of dnl curses, because curses is much slower. dnl Newer versions of ncurses are preferred over anything. dnl Older versions of ncurses have bugs, get a new one! dnl Digital Unix (OSF1) should use curses (Ronald Schild). case "`uname -s 2>/dev/null`" in OSF1) tlibs="ncurses curses termlib termcap";; *) tlibs="ncurses termlib termcap curses";; esac for libname in $tlibs; do AC_CHECK_LIB(${libname}, tgetent,,) if test "x$olibs" != "x$LIBS"; then dnl It's possible that a library is found but it doesn't work dnl e.g., shared library that cannot be found dnl compile and run a test program to be sure AC_TRY_RUN([ #ifdef HAVE_TERMCAP_H # include #endif main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }], res="OK", res="FAIL", res="FAIL") if test "$res" = "OK"; then break fi AC_MSG_RESULT($libname library is not usable) LIBS="$olibs" fi done fi if test "x$olibs" != "x$LIBS"; then AC_MSG_CHECKING(whether we talk terminfo) AC_TRY_RUN([ #ifdef HAVE_TERMCAP_H # include #endif main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }], AC_MSG_RESULT([no -- we are in termcap land]), AC_MSG_RESULT([yes -- terminfo spoken here]); AC_DEFINE(HAVE_TERMINFO), AC_MSG_ERROR(failed to compile test program.)) else AC_MSG_RESULT(none found) fi dnl dnl Checks for typedefs, structures, and compiler characteristics. dnl AC_TYPE_MODE_T AC_HEADER_TIME AC_CHECK_TYPE(time_t, long) dnl dnl socklen_t ¤Ï sys/socket.h ¤ä bits/socket.h ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ dnl AC_CHECK_TYPE ¤Ç¤Ï¸¡½Ð¤Ç¤­¤Ê¤¤ dnl AC_MSG_CHECKING(for socklen_t) AC_EGREP_CPP(socklen_t, [#include ], AC_MSG_RESULT(yes), [ AC_DEFINE(socklen_t, int) AC_MSG_RESULT(no) ]) dnl code below is for the same thing with autoconf 2.53 dnl AC_CHECK_TYPES(socklen_t,, dnl AC_DEFINE(socklen_t, int), dnl [INCLUDES = sys/socket.h]) AC_MSG_CHECKING(for union wait) if test "$ac_cv_header_sys_wait_h" = yes; then AC_EGREP_CPP(union wait, [#include ], [AC_DEFINE(HAVE_UNION_WAIT) AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)]) else AC_MSG_RESULT(no) fi dnl dnl Checks for symbol dnl dnl dnl Checks for library functions. dnl AC_PROG_GCC_TRADITIONAL dnl idea borrowed from EB Library http://www.sra.co.jp/people/m-kasahr/eb/ AC_TYPE_SIGNAL if test "$ac_cv_type_signal" = void; then AC_DEFINE(RETSIGTYPE_VOID, 1, [Define if the signal function returns void.]) fi AC_FUNC_MEMCMP AC_CHECK_FUNCS(wait3 setpgrp setsid dup2 killpg getpgid getpgrp) AC_FUNC_SETPGRP AC_FUNC_GETPGRP dnl FreeWnn do not use the 3rd parameter of wait3(). dnl AC_FUNC_WAIT3 AC_CHECK_FUNCS(random drand48 fchmod getopt \ gethostname select socket closesocket setsockopt send recv \ FD_SET \ getdtablesize getrlimit syslog vsyslog setenv snprintf) dnl for bcopy/index -> memcpy/strchr conversion (preparation): AC_CHECK_FUNCS(bcopy bzero bcmp index rindex \ memcpy memmove memset strchr strrchr) ifdef([CANNA],,[ dnl Check fallback functions for jserver (should use AC_REPLACE_FUNCS?) JS_SUPPORTOBJS= AC_CHECK_FUNCS(mkdir vasprintf, , [JS_SUPPORTOBJS="${JS_SUPPORTOBJS} ${ac_func}.o"]) AC_SUBST(JS_SUPPORTOBJS) dnl dnl Creating Makefiles. dnl # mkdir -p Contrib/dic/gerodic in case builddir != srcdir for dir in Contrib Contrib/dic Contrib/dic/gerodic; do if test ! -d $dir; then echo "creating $dir ..." mkdir $dir fi done dnl dnl Generate Makefiles dnl dnl Generic makefiles_generic="makerule.mk Makefile" dnl Japanese if test "x${Wnn}" = "xWnn"; then makefiles_wnn="Wnn/Makefile Wnn/conv/Makefile Wnn/include/Makefile \ Wnn/jd/Makefile Wnn/jd/rk/Makefile Wnn/jd/rk.vi/Makefile \ Wnn/jlib/Makefile Wnn/jlib.V3/Makefile Wnn/jserver/Makefile \ Wnn/jutil/Makefile Wnn/ld/Makefile Wnn/ld/rk/Makefile \ Wnn/romkan/Makefile Wnn/uum/Makefile \ Wnn/man/Makefile Wnn/man/2.env/Makefile Wnn/man/3.libwnn/Makefile \ Wnn/man/4.cmd/Makefile Wnn/man/6.jutil/Makefile \ Wnn/man/2.env/dic/Makefile Wnn/man/2.env/wnn/Makefile \ Wnn/man/3.libwnn/jl_lib/Makefile Wnn/man/3.libwnn/js_lib/Makefile \ Wnn/man/3.libwnn/misc_lib/Makefile Wnn/man/3.libwnn/rk_lib/Makefile" makefiles_wnn_dic="Contrib/dic/gerodic/Makefile Wnn/pubdicplus/Makefile \ Wnn/wnncons/Makefile Wnn/wnncons/dic/Makefile" fi dnl Chinese and Taiwanese if test "x$cWnn" = "xcWnn"; then makefiles_cwnn="cWnn/Makefile cWnn/conv/Makefile cWnn/etc/Makefile \ cWnn/cd/Makefile cWnn/cd/rk/Makefile \ cWnn/cd/rk_p/Makefile cWnn/cd/rk_z/Makefile \ cWnn/td/Makefile cWnn/td/rk/Makefile \ cWnn/td/rk_z/Makefile cWnn/td/rk_p/Makefile \ cWnn/include/Makefile cWnn/jlib/Makefile \ cWnn/jserver/Makefile cWnn/jutil/Makefile \ cWnn/man/Makefile cWnn/man/1.intro/Makefile cWnn/man/2.env/Makefile \ cWnn/man/4.cmd/Makefile cWnn/man/6.jutil/Makefile \ cWnn/romkan/Makefile cWnn/uum/Makefile" makefiles_cwnn_dic="cWnn/cdic/Makefile cWnn/tdic/Makefile" fi dnl Korean if test "x$kWnn" = "xkWnn"; then makefiles_kwnn="kWnn/Makefile kWnn/conv/Makefile kWnn/etc/Makefile \ kWnn/include/Makefile kWnn/jlib/Makefile kWnn/jutil/Makefile \ kWnn/jserver/Makefile kWnn/kd/Makefile kWnn/kd/rk/Makefile \ kWnn/romkan/Makefile kWnn/uum/Makefile" makefiles_kwnn_dic="kWnn/kdic/Makefile" fi AC_OUTPUT(${makefiles_generic} \ ${makefiles_wnn} ${makefiles_wnn_dic} \ ${makefiles_cwnn} ${makefiles_cwnn_dic} \ ${makefiles_kwnn} ${makefiles_kwnn_dic}) ])dnl not CANNA ifdef([CANNA],[ dnl AC_OUTPUT(canuum.tmpl) AC_OUTPUT ])dnl not CANNA Canna37p3/canuum/COPYRIGHT0100644000076500001200000004312707601074446014447 0ustar shinraadmin GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. Canna37p3/canuum/cursor.c0100644000076500001200000001361707605506666014646 0ustar shinraadmin/* * cursor.c,v 1.3 2001/06/14 18:16:06 ura Exp * Canna: $Id: cursor.c,v 1.2 2003/01/04 07:31:02 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include #include #include "commonhd.h" #include "sdefine.h" #include "sheader.h" int cursor_colum = 0; static int cursor_upscreen = 1; static int cursor_reverse = 0; static int cursor_underline = 0; static int cursor_bold = 0; int uum_cursor_invisible = 0; void throw_col (col) int col; { if (cursor_upscreen) { kk_save_cursor (); } throw_cur_raw (col % maxlength, crow + (col / maxlength)); cursor_colum = col; } void h_r_on () { if (!cursor_reverse) { h_r_on_raw (); cursor_reverse = 1; } } void h_r_off () { if (cursor_reverse) { h_r_off_raw (); cursor_reverse = 0; } if (cursor_bold) { b_s_on_raw (); } } void u_s_on () { if (!cursor_underline) { u_s_on_raw (); cursor_underline = 1; } } void u_s_off () { if (cursor_underline) { u_s_off_raw (); cursor_underline = 0; } } void b_s_on () { if (!cursor_bold) { b_s_on_raw (); cursor_bold = 1; } if (cursor_reverse) { h_r_on_raw (); } } void b_s_off () { if (cursor_bold) { b_s_off_raw (); cursor_bold = 0; } } void kk_cursor_invisible () { if (cursor_invisible_fun && (uum_cursor_invisible == 0)) { cursor_invisible_raw (); flush (); } uum_cursor_invisible = 1; } void kk_cursor_normal () { if (cursor_invisible_fun && uum_cursor_invisible) { cursor_normal_raw (); flush (); } uum_cursor_invisible = 0; } void kk_save_cursor () { if (cursor_upscreen) { save_cursor_raw (); cursor_upscreen = 0; set_cursor_status (); flush (); } } void kk_restore_cursor () { if (!cursor_upscreen) { reset_cursor_status (); restore_cursor_raw (); cursor_upscreen = 1; flush (); } } void reset_cursor_status () { if (!cursor_upscreen) { kk_cursor_normal (); h_r_off (); u_s_off (); flush (); } } void set_cursor_status () { if (!cursor_upscreen) { if (uum_cursor_invisible) { if (cursor_invisible_fun) { cursor_invisible_raw (); } else { throw_col (maxlength - 1); } } else { if (cursor_invisible_fun) { cursor_normal_raw (); } } if (cursor_reverse) { h_r_on_raw (); } if (cursor_underline) { u_s_on_raw (); } throw_cur_raw (cursor_colum % maxlength, crow + (cursor_colum / maxlength)); flush (); } } void scroll_up () { int k; for (k = conv_lines; k > 0; k--) { putchar ('\n'); } } void clr_line_all () { throw_c (0); clr_end_screen (); } #define STACKLENGTH 20 struct cursor_state { int colum; int upscreen; int reverse; int underline; int invisible; }; static struct cursor_state savedupscreen[STACKLENGTH]; static int top = 0; void reset_cursor () { top = 0; } /* ¸½ºß¤Î¥«¡¼¥½¥ë¤Î°ÌÃÖ¤ò(¾å¤«²¼¤«)Êݸ¤¹¤ë*/ /* You can push the status of cursor. buf terminal can remember only one cursor point!!. */ void push_cursor () { if (top >= STACKLENGTH) { printf ("Error Cursor Stack"); } savedupscreen[top].upscreen = cursor_upscreen; savedupscreen[top].colum = cursor_colum; savedupscreen[top].reverse = cursor_reverse; savedupscreen[top].underline = cursor_underline; savedupscreen[top].invisible = uum_cursor_invisible; top++; reset_cursor_status (); } /* push_cursor¤ÇÊݸ¤µ¤ì¤¿°ÌÃ֤˥«¡¼¥½¥ë¤òÈô¤Ð¤¹¡£*/ void pop_cursor () { if (top <= 0) { printf ("Error Empty Stack"); } top--; if (savedupscreen[top].upscreen) { kk_restore_cursor (); } else { kk_save_cursor (); } cursor_colum = savedupscreen[top].colum; cursor_reverse = savedupscreen[top].reverse; cursor_underline = savedupscreen[top].underline; uum_cursor_invisible = savedupscreen[top].invisible; set_cursor_status (); flush (); } static int saved_cursor_rev; static int saved_cursor_und; void push_hrus () { saved_cursor_rev = cursor_reverse; saved_cursor_und = cursor_underline; h_r_off (); u_s_off (); } void pop_hrus () { if (saved_cursor_rev) h_r_on (); if (saved_cursor_und) u_s_on (); } void set_hanten_ul (x, y) int x, y; { if (!x) h_r_off (); if (!y) u_s_off (); if (x) h_r_on (); if (y) u_s_on (); flush (); } void set_bold (x) int x; { if (x) b_s_on (); flush (); } void reset_bold (x) int x; { if (x) b_s_off (); flush (); } Canna37p3/canuum/freewnn-uum.files0100644000076500001200000000301707605506666016452 0ustar shinraadmin; Copyright 1994 NEC Corporation, Tokyo, Japan. ; ; Permission to use, copy, modify, distribute and sell this software ; and its documentation for any purpose is hereby granted without ; fee, provided that the above copyright notice appear in all copies ; and that both that copyright notice and this permission notice ; appear in supporting documentation, and that the name of NEC ; Corporation not be used in advertising or publicity pertaining to ; distribution of the software without specific, written prior ; permission. NEC Corporation makes no representations about the ; suitability of this software for any purpose. It is provided "as ; is" without express or implied warranty. ; ; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ; PERFORMANCE OF THIS SOFTWARE. ; $Id: freewnn-uum.files,v 1.3 2003/01/04 07:31:02 aida_s Exp $ Wnn/include/commonhd.h Wnn/include/wnn_config.h Wnn/include/wnn_os.h Wnn/uum/header.c Wnn/uum/jhlp.c Wnn/uum/sdefine.h Wnn/uum/sheader.h Wnn/uum/termcap.c Wnn/uum/termio.c Wnn/etc/xutoj.c Wnn/uum/printf.c Wnn/uum/screen.c Wnn/uum/buffer.h Wnn/uum/cursor.c COPYRIGHT acconfig.h config.guess config.sub configure.in install-sh Canna37p3/canuum/header.c0100644000076500001200000001561307773337051014553 0ustar shinraadmin/* * header.c,v 1.5 2001/09/16 11:42:58 hiroo Exp * Canna: $Id: header.c,v 1.3.4.2 2003/12/27 17:15:21 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include "commonhd.h" #include "wnn_config.h" #include "sdefine.h" #include "sheader.h" #include "buffer.h" int not_redraw; w_char *input_buffer; w_char *return_buf; /* return you mojiretsu buffer */ struct wnn_buf *bun_data_; WnnEnv *normal_env = NULL; WnnEnv *reverse_env = NULL; WnnEnv *cur_normal_env = NULL; WnnEnv *cur_reverse_env = NULL; int cur_bnst_ = 0; /* current bunsetsu pointer */ int crow; int disp_mode_length = WNN_DISP_MODE_LEN; /* ¥â¡¼¥Éɽ¼¨¤ËɬÍפÊcolumn¿ô */ char Term_Name[128]; int rubout_code = 127; int kk_on = 0; int quote_code = -1; int quote_flag = 0; int max_history; int (*main_table[TBL_CNT][TBL_SIZE]) (); char romkan_clear_tbl[TBL_CNT][TBL_SIZE]; w_char jishopath[64]; w_char hindopath[64]; w_char fuzokugopath[64]; struct buf *c_b; short pty_c_flag; short tty_c_flag; int cursor_invisible_fun = 0; int keypad_fun = 0; int send_ascii_char = 0; int excellent_delete = 1; int convkey_on = 0; int *bunsetsu; int *bunsetsuend; struct wnn_env **bunsetsu_env; int *touroku_bnst; int touroku_bnst_cnt; /* int bunsetsucnt = 0; */ w_char *kill_buffer; w_char *remember_buf; int kill_buffer_offset = 0; int touroku_comment = 0; /* Comment for Words in Word_add */ char lang_dir[LANGDIRLEN] = { '\0' }; char uumkey_name_in_uumrc[PATHNAMELEN] = { '\0' }; char convkey_name_in_uumrc[PATHNAMELEN] = { '\0' }; char rkfile_name_in_uumrc[PATHNAMELEN] = { '\0' }; short defined_by_option = 0; int conv_lines = 1; int flow_control = 0; int henkan_off_flag = 0; /* Ω¤Á¾å¤²»þ¤ËÊÑ´¹¤òoff¤Ë¤·¤¿¾õÂ֤ˤ·¤Þ¤¹ */ int henkan_on_kuten = 0; /* ¶çÅÀÆþÎϤÇÊÑ´¹¤·¤Ê¤¤ */ char def_servername[PATHNAMELEN] = { '\0' }; /* V3.0 */ char def_reverse_servername[PATHNAMELEN] = { '\0' }; char username[PATHNAMELEN] = { '\0' }; /* V3.0 */ int remove_cs_from_termcap = 1; int maxbunsetsu; int max_ichiran_kosu; int maxchg; int maxlength; /* w_char kugiri_str[MAXKUGIRI] = {' ',0}; */ WNN_DIC_INFO *dicinfo; int dic_list_size; short internal_code; short file_code; int (**code_trans) (char *x, char *y, int z); struct msg_cat *cd; FuncDataBase *lang_db = NULL; FunctionTable *f_table = NULL; FuncDataBase function_db[] = { #ifdef JAPANESE {WNN_J_LANG, {NULL, NULL, call_t_redraw_move_normal, call_t_redraw_move_1_normal, call_t_redraw_move_2_normal, call_t_print_l_normal, NULL, char_len_normal, char_q_len_normal, t_redraw_move_normal, t_print_l_normal, c_top_normal, c_end_normal, c_end_normal, call_redraw_line_normal, hani_settei_normal, errorkeyin, call_jl_yomi_len}, TTY_KCODE, PTY_KCODE, J_IUJIS, J_EUJIS, { through, iujis_to_eujis, iujis_to_jis8, iujis_to_sjis, eujis_to_iujis, through, eujis_to_jis8, eujis_to_sjis, jis_to_iujis, jis_to_eujis, through, jis_to_sjis, sjis_to_iujis, sjis_to_eujis, sjis_to_jis8, through}, "ujsUJS", "ujsUJS", { do_u_opt, do_j_opt, do_s_opt, do_U_opt, do_J_opt, do_S_opt} }, #endif /* JAPANESE */ #ifdef CHINESE {WNN_C_LANG, /* Simplified Chinese */ {print_out_yincod, input_yincod, call_t_redraw_move_yincod, call_t_redraw_move_1_yincod, call_t_redraw_move_2_yincod, call_t_print_l_yincod, redraw_when_chmsig_yincod, char_len_yincod, char_q_len_yincod, t_redraw_move_yincod, t_print_l_yincod, c_top_yincod, c_end_yincod, c_end_nobi_yincod, call_redraw_line_yincod, hani_settei_yincod, errorkeyin_q, not_call_jl_yomi_len}, TTY_CCODE, PTY_CCODE, C_IUGB, C_EUGB, { through, iugb_to_eugb, through, through, eugb_to_iugb, through, through, through, through, through, through, through, through, through, through, through}, "", "", { NULL, NULL, NULL, NULL, NULL, NULL} }, {WNN_T_LANG, /* Traditional Chinese */ {print_out_yincod, input_yincod, call_t_redraw_move_yincod, call_t_redraw_move_1_yincod, call_t_redraw_move_2_yincod, call_t_print_l_yincod, redraw_when_chmsig_yincod, char_len_yincod, char_q_len_yincod, t_redraw_move_yincod, t_print_l_yincod, c_top_yincod, c_end_yincod, c_end_nobi_yincod, call_redraw_line_yincod, hani_settei_yincod, errorkeyin_q, not_call_jl_yomi_len}, TTY_TCODE, PTY_TCODE, C_ICNS11643, C_ECNS11643, { through, icns_to_ecns, icns_to_big5, through, ecns_to_icns, through, ecns_to_big5, through, big5_to_icns, big5_to_ecns, through, through, through, through, through, through}, "btBT", "btBT", { do_b_opt, do_t_opt, do_B_opt, do_T_opt, NULL, NULL} }, #endif /* CHINESE */ #ifdef KOREAN {"ko_KR", {NULL, NULL, call_t_redraw_move_normal, call_t_redraw_move_1_normal, call_t_redraw_move_2_normal, call_t_print_l_normal, NULL, char_len_normal, char_q_len_normal, t_redraw_move_normal, t_print_l_normal, c_top_normal, c_end_normal, c_end_normal, call_redraw_line_normal, hani_settei_normal, errorkeyin, call_jl_yomi_len}, TTY_HCODE, PTY_HCODE, K_IUKSC, K_EUKSC, { through, iuksc_to_euksc, through, through, euksc_to_iuksc, through, through, through, through, through, through, through, through, through, through, through}, "uU", "uU", { do_u_opt, do_U_opt, NULL, NULL, NULL, NULL} }, #endif /* KOREAN */ {NULL, {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, 0, 0, 0, 0, {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, NULL, NULL, { NULL, NULL, NULL, NULL, NULL, NULL} } }; int (*default_code_trans[]) () = { through, through, through, through, through, through, through, through, through, through, through, through, through, through, through, through}; Canna37p3/canuum/Imakefile0100644000076500001200000000356310052677652014767 0ustar shinraadmin/* $Id: Imakefile,v 1.8.2.4 2004/05/19 15:39:22 aida_s Exp $ */ #include "../Canna.conf" #ifdef TermcapLibrary TERMCAP_LIB = TermcapLibrary #else # if SystemV || SystemV4 TERMCAP_LIB = -lcurses # else TERMCAP_LIB = -ltermcap # endif #endif #ifndef CanuumConfigureArgs # define CanuumConfigureArgs --with-term-libs="$(TERMCAP_LIB)" #endif CANNAROOT = .. INSTUGIDFLAGS = CANNASRC = $(CANNAROOT)/lib/canna16 DEFINES = -DCANNA -DJAPANESE $(SIGNAL_DEFINES) -DHAVE_CONFIG_H \ -DCONFIG_TERMINFO -DUSE_LIBSPT INCLUDES = -I$(CANNAROOT)/include -I. `libspt-config --cflags` SYS_LIBRARIES = $(TERMCAP_LIB) `libspt-config --libs` SRCS = header.c printf.c termio.c termcap.c \ screen.c cursor.c jhlp.c xutoj.c canna.c OBJS = header.o printf.o termio.o termcap.o \ screen.o cursor.o jhlp.o xutoj.o canna.o TARGET = canuum XCOMM --prefix is not used but add just in case CONFIGURE_CMD = IN_MAKE=yes $(CANNAROOT)/confwrapper run ./configure --prefix=$(cannaPrefix) CanuumConfigureArgs PURE_CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) /* $(THREADS_CFLAGS) $(MODULE_CFLAGS) */ AllTarget(ProgramTargetName($(TARGET))) NormalProgramTarget($(TARGET),$(OBJS),$(DEPCANNALIB16),$(CANNALIB16),) InstallMultipleFlags($(TARGET),$(cannaBinDir),$(INSTUGIDFLAGS)) InstallManPage($(TARGET),$(cannaManDir)) DependTarget() LintTarget() distclean:: $(RM) config.h config.cache config.status cwenv.sh includes:: config.h XCOMM Invoke configure only when config.h does not exist for faster build config.h: $(CONFIGURE_CMD) XCOMM If you want to invoke configure explicitly, do "make config" config:: $(CONFIGURE_CMD) reconfig:: $(RM) config.cache cwenv.sh $(CONFIGURE_CMD) XCOMM Invoked from confwrapper cwenv.sh: $(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) > $@ $(CANNAROOT)/confwrapper mkenv CC env $(CC) >> $@ $(CANNAROOT)/confwrapper mkenv CFLAGS $(PURE_CFLAGS) >> $@ Canna37p3/canuum/impdir.sh0100755000076500001200000000246007601076646014776 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. rm -rf freewnn-uum mkdir freewnn-uum for i in `sed '/;/d' freewnn-uum.files` do cp $1/$i freewnn-uum done # $Id: impdir.sh,v 1.1 2002/12/21 14:41:42 aida_s Exp $ Canna37p3/canuum/install-sh0100755000076500001200000001272107601074447015155 0ustar shinraadmin#! /bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 Canna37p3/canuum/jhlp.c0100644000076500001200000013661710043301665014252 0ustar shinraadmin/* * jhlp.c,v 1.13 2002/08/26 09:27:21 aono Exp * Canna: $Id: jhlp.c,v 1.9.2.1 2004/04/26 21:48:37 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef lint static char *rcs_id = "jhlp.c,v 1.13 2002/08/26 09:27:21 aono Exp"; #endif /* lint */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #if STDC_HEADERS # include # include #else # if HAVE_STRINGS_H # include # endif # if HAVE_MALLOC_H # include # endif #endif /* STDC_HEADERS */ #include #include #ifdef HAVE_SYS_PARAM_H # include #endif #include #include #include #if HAVE_FCNTL_H # include #endif #include #ifdef HAVE_UNISTD_H # include #endif #ifdef UX386 #include #endif #include "commonhd.h" #include "sdefine.h" #include "sheader.h" #include "wnn_config.h" #include "wnn_os.h" jmp_buf kk_env; #ifdef HAVE_WAIT3 # include #endif /* HAVE_WAIT3 */ #ifdef USE_LIBSPT # include #endif #if defined(HAVE_TERMIOS_H) # include # define USE_TERMIOS #elif defined(HAVE_TERMIO_H) # include # define USE_TERMIO #elif defined(HAVE_SYS_TERMIO_H) # include # define USE_TERMIO #elif defined(HAVE_SGTTY_H) # include # define USE_SGTTY #else # error "No termio header." #endif #ifdef linux /* # define USE_LINUX_TERM */ #endif #ifdef nec_ews_svr2 #include #endif /* nec_ews_svr2 */ #if defined(uniosu) # include #endif /* defined(uniosu) */ #ifdef SVR4 #include #include #include #endif /* SVR4 */ #ifdef CANNA #ifndef LIBDIR #define LIBDIR "/usr/local/lib/wnn" #endif #endif /* CANNA */ #define ERROR -1 #ifdef TIOCSSIZE struct ttysize pty_rowcol; #endif /* TIOCSSIZE */ int ttyfd; char *tname; /* terminal name */ char *cmdnm = "csh"; /* char *cmdnm = "csh"; */ int child_id; char *prog; #ifdef USE_LIBSPT spt_handle *spth = NULL; int need_utmp_clear = 0; #endif extern char *optarg; extern int optind; extern char *ttyname (); static void save_signals (); static void restore_signals (); static RETSIGTYPE terminate_handler (); static void do_end (), open_pty (), open_ttyp (), do_main (), exec_cmd (), parse_options (), setsize (), get_rubout (), usage (), change_size (), default_usage (); static void j_term_save (), j_term_restore (), j_term_p_init (int); /** ¥á¥¤¥ó */ int main (argc, argv) int argc; char **argv; { char *name; char *p; char nlspath[64]; FuncDataBase *f; char *server_env; char errprefix[1024] = "error"; int i; extern char *get_server_env (); prog = argv[0]; flow_control = FLOW_CONTROL; code_trans = default_code_trans; strcpy (username, getpwuid (getuid ())->pw_name); if ((name = getenv (WNN_USERNAME_ENV)) != NULL) { strncpy(username, name, PATHNAMELEN-1); username[PATHNAMELEN-1] = '\0'; } for (i = 1; i < argc;) { if (!strcmp (argv[i++], "-L")) { if (i >= argc || argv[i][0] == '-') default_usage (); strncpy(lang_dir, argv[i++], LANGDIRLEN-1); lang_dir[LANGDIRLEN-1] = '\0'; for (; i < argc; i++) { argv[i - 2] = argv[i]; } argv[i - 2] = NULL; argc -= 2; break; } } if (*lang_dir == '\0') { #ifndef CANNA if ((p = getenv ("LANG")) != NULL) { if (strlen (p) >= 4) { strncpy (lang_dir, p, 5); lang_dir[5] = '\0'; } else { strcpy (lang_dir, p); } } #else /* CANNA */ strcpy (lang_dir, WNN_DEFAULT_LANG); #endif /* CANNA */ } for (f = function_db; *lang_dir && f && f->lang; f++) { if (!strcmp (f->lang, lang_dir)) { lang_db = f; break; } } if (lang_db == NULL) { if (*lang_dir) fprintf (stderr, "Lang \"%s\" is wrong, use default lang \"%s\".\n", lang_dir, WNN_DEFAULT_LANG); strcpy (lang_dir, WNN_DEFAULT_LANG); for (f = function_db; *lang_dir && f && f->lang; f++) { if (!strcmp (f->lang, lang_dir)) { lang_db = f; break; } } if (lang_db == NULL) { fprintf (stderr, "Default lang \"%s\" is wrong.\n", lang_dir); exit (1); } } f_table = &(lang_db->f_table); code_trans = lang_db->code_trans; tty_c_flag = lang_db->tty_code; pty_c_flag = lang_db->pty_code; internal_code = lang_db->internal_code; file_code = lang_db->file_code; parse_options (argc, argv); strcpy (nlspath, LIBDIR); strcat (nlspath, "/%L/%N"); cd = msg_open ("uum.msg", nlspath, lang_dir); if (*def_servername == '\0') { if (!(server_env = get_server_env (lang_dir))) { server_env = WNN_DEF_SERVER_ENV; } if (name = getenv (server_env)) { strncpy(def_servername, name, PATHNAMELEN-1); def_servername[PATHNAMELEN-1] = '\0'; strcpy(def_reverse_servername, def_servername); } } if (!isatty (0)) { fprintf (stderr, "Input must be a tty.\n"); exit (1); } if ((p = getenv (WNN_COUNTDOWN_ENV)) == NULL) { if (setenv (WNN_COUNTDOWN_ENV, "0", 1) != 0) { #if HAVE_SNPRINTF snprintf (errprefix, sizeof (errprefix), "error at %s (%d)", __FILE__, __LINE__); #endif /* HAVE_SNPRINTF */ perror (errprefix); exit (1); } } else if (atoi (p) <= 0) { puteustring (MSG_GET (4), stdout); /* puteustring("£õ£õ£í¤«¤é£õ£õ£í¤Ïµ¯¤³¤»¤Þ¤»¤ó¡£\n",stdout); */ exit (126); } else { sprintf (p, "%d", atoi (p) - 1); if (setenv (WNN_COUNTDOWN_ENV, p, 1) != 0) { #if HAVE_SNPRINTF snprintf (errprefix, sizeof (errprefix), "error at %s (%d)", __FILE__, __LINE__); #endif /* HAVE_SNPRINTF */ perror (errprefix); exit (1); } } if ((tname = getenv ("TERM")) == NULL) { fprintf (stderr, "Sorry. Please set your terminal type.\r\n"); exit (1); } if (optind) { optind--; argc -= optind; argv += optind; } if (argc > 1) { cmdnm = *++argv; } else { if ((name = getenv ("SHELL")) != NULL) { cmdnm = name; } argv[0] = cmdnm; argv[1] = NULL; } j_term_save (); /* do_end() is allowed after here */ save_signals (); #ifdef TERMCAP if (getTermData () == -1) { fprintf (stderr, "Sorry. Something is wrong with termcap, maybe.\r\n"); exit (21); } #endif /* TERMCAP */ #ifdef TERMINFO if (openTermData () == -1) { fprintf (stderr, "Sorry. Something is wrong with terminfo, maybe.\r\n"); exit (21); } maxlength = columns; crow = lines - conv_lines; #endif /* TERMINFO */ #if defined(BSD43) || defined(DGUX) setsize (); #endif /* BSD43 */ #ifdef TERMCAP if (set_TERMCAP () == -1) { fprintf (stderr, "Sorry. Something is wrong with termcap, maybe.\r\n"); exit (21); } #endif /* TERMCAP */ ttyfd = 0; open_pty (); #ifndef USE_LINUX_TERM open_ttyp (); #endif exec_cmd (argv); get_rubout (); switch (init_uum ()) { /* initialize of kana-kanji henkan */ case -1: terminate_handler (); break; case -2: epilogue (); do_end (); break; } fcntl (ttyfd, F_SETFL, O_NDELAY); if (j_term_init () == ERROR) { err ("term initialize fault."); } #ifndef CANNA if (!jl_isconnect (bun_data_)) { if (!servername || *servername == 0) { printf ("%s\r\n", wnn_perror ()); } else { printf ("jserver(at %s):%s\r\n", servername, wnn_perror ()); } flush (); } #endif /* !CANNA */ puteustring (MSG_GET (1), /* "\r£õ£õ£í(¤«¤Ê´Á»úÊÑ´¹¥Õ¥í¥ó¥È¥¨¥ó¥É¥×¥í¥»¥Ã¥µ)\r\n", */ stdout); initial_message_out (); /* print message if exists. */ #if defined(uniosu) if (setjmp (kk_env)) { disconnect_jserver (); ioctl_off (); connect_jserver (0); } #endif /* defined(uniosu) */ do_main (); } /* each options handling functions */ static int do_h_opt () { henkan_off_flag = 1; defined_by_option |= OPT_WAKING_UP_MODE; return 0; } static int do_H_opt () { henkan_off_flag = 0; defined_by_option |= OPT_WAKING_UP_MODE; return 0; } #ifdef JAPANESE int do_u_opt () { pty_c_flag = J_EUJIS; return 0; } int do_j_opt () { pty_c_flag = J_JIS; return 0; } int do_s_opt () { pty_c_flag = J_SJIS; return 0; } int do_U_opt () { tty_c_flag = J_EUJIS; return 0; } int do_J_opt () { tty_c_flag = J_JIS; return 0; } int do_S_opt () { tty_c_flag = J_SJIS; return 0; } #endif /* JAPANESE */ #ifdef CHINESE int do_b_opt () { pty_c_flag = C_BIG5; return 0; } int do_t_opt () { pty_c_flag = C_ECNS11643; return 0; } int do_B_opt () { tty_c_flag = C_BIG5; return 0; } int do_T_opt () { tty_c_flag = C_ECNS11643; return 0; } #endif /* CHINESE */ #ifdef KOREAN int do_u_opt () { pty_c_flag = K_EUKSC; return 0; } int do_U_opt () { tty_c_flag = K_EUKSC; return 0; } #endif /* KOREAN */ static int do_P_opt () { sleep (20); return 0; } static int do_x_opt () { flow_control = 0; defined_by_option |= OPT_FLOW_CTRL; return 0; } static int do_X_opt () { flow_control = 1; defined_by_option |= OPT_FLOW_CTRL; return 0; } static int do_k_opt () { strncpy(uumkey_name_in_uumrc, optarg, PATHNAMELEN-1); uumkey_name_in_uumrc[PATHNAMELEN-1] = '\0'; if (*uumkey_name_in_uumrc == '\0') { return -1; } defined_by_option |= OPT_WNNKEY; return 0; } static int do_c_opt () { strncpy(convkey_name_in_uumrc, optarg, PATHNAMELEN-1); convkey_name_in_uumrc[PATHNAMELEN-1] = '\0'; if (*convkey_name_in_uumrc == '\0') { return -1; } defined_by_option |= OPT_CONVKEY; return 0; } static int do_r_opt () { strncpy(rkfile_name_in_uumrc, optarg, PATHNAMELEN-1); rkfile_name_in_uumrc[PATHNAMELEN-1] = '\0'; if (*rkfile_name_in_uumrc == '\0') { return -1; } defined_by_option |= OPT_RKFILE; return 0; } static int do_l_opt () { conv_lines = atoi (optarg); return 0; } static int do_D_opt () { strncpy(def_servername, optarg, PATHNAMELEN-1); def_servername[PATHNAMELEN-1] = '\0'; strcpy(def_reverse_servername, def_servername); if (*def_servername == '\0') { return -1; } return 0; } static int do_n_opt () { strncpy(username, optarg, PATHNAMELEN-1); username[PATHNAMELEN-1] = '\0'; if (*username == '\0') { return -1; } return 0; } static int do_v_opt () { defined_by_option |= OPT_VERBOSE; return 0; } static int (*do_opt[]) () = { do_h_opt, /* 'h' : waking_up_in_henkan_mode */ do_H_opt, /* 'H' : waking_up_no_henkan_mode */ do_P_opt, /* 'P' : sleep 20 seconds (for debug) */ do_x_opt, /* 'x' : disable tty's flow control */ do_X_opt, /* 'X' : enable tty's flow control */ do_k_opt, /* 'k' : specify uumkey file */ do_c_opt, /* 'c' : specify convert_key file */ do_r_opt, /* 'r' : specify romkan mode file */ do_l_opt, /* 'l' : specify # of lines used for henkan */ do_D_opt, /* 'D' : specify hostname of jserver */ do_n_opt, /* 'n' : specify username for jserver */ do_v_opt, /* 'v' : verbose */ }; static void parse_options (argc, argv) int argc; char **argv; { register int c; register char *default_getoptstr = GETOPTSTR; register char *default_ostr = OPTIONS; char ostr[64]; register char *p; strcpy (ostr, default_getoptstr); strcat (ostr, lang_db->getoptstr); while ((c = getopt (argc, argv, ostr)) != EOF) { if (!(p = strchr (default_ostr, c)) || (*do_opt[p - default_ostr]) () < 0) { if (!(p = strchr (lang_db->ostr, c)) || (*lang_db->do_opt[p - lang_db->ostr]) () < 0) { strcpy (ostr, default_ostr); strcat (ostr, lang_db->ostr); usage (ostr); } } } } /** tty ¤ËÂФ¹¤ë ioctl ¤Î¥»¥Ã¥È */ #ifdef USE_SGTTY #if defined(BSD43) || defined(DGUX) /* should be "defined(LPASS8)"? */ # define SET_PASS8 #endif struct sgttyb savetmio; struct sgttyb ttyb_def = { B9600, B9600, 0x7f, 0x15, EVENP | ODDP | ECHO | CRMOD }; int local_mode_def = LCRTBS | LCRTERA | LCRTKIL | LCTLECH | LPENDIN | LDECCTQ; /* added later */ struct tchars tcharsv; struct ltchars ltcharsv; struct sgttyb ttyb; int local_mode; #ifdef SET_PASS8 static int local_mode_sv; #endif static void get_rubout () { #ifdef nodef if (savetmio.sg_erase == UNDEF_STTY) { rubout_code = RUBOUT; } else { #endif rubout_code = savetmio.sg_erase; #ifdef nodef } #endif } int j_term_init () { struct sgttyb buf; buf = savetmio; buf.sg_flags |= RAW; buf.sg_flags &= ~ECHO; ioctl (ttyfd, TIOCSETP, &buf); #ifdef SET_PASS8 ioctl (ttyfd, TIOCLSET, &local_mode); #endif return 0; } static void j_term_save () { ioctl (ttyfd, TIOCGETC, &tcharsv); ioctl (ttyfd, TIOCGLTC, <charsv); if (ioctl (ttyfd, TIOCGETP, &ttyb)) ttyb = ttyb_def; savetmio = ttyb; #ifdef SET_PASS8 if (ioctl (ttyfd, TIOCLGET, &local_mode_sv)) local_mode_sv = local_mode_def; local_mode = local_mode_sv | LPASS8; /* set PASS8 */ #else /* !SET_PASS8 */ if (ioctl (ttyfd, TIOCLGET, &local_mode)) local_mode = local_mode_def; #endif /* !SET_PASS8 */ } static void j_term_restore () { ioctl (ttyfd, TIOCSETP, &savetmio); #ifdef SET_PASS8 ioctl (ttyfd, TIOCLSET, &local_mode_sv); #endif /* SET_PASS8 */ } static void j_term_p_init (ttypfd) int ttypfd; { int word; ioctl (ttypfd, TIOCSETC, &tcharsv); ioctl (ttypfd, TIOCSLTC, <charsv); ioctl (ttypfd, TIOCSETP, &ttyb); ioctl (ttypfd, TIOCLSET, &local_mode); if (pty_c_flag == J_JIS) { word = LCTLECH; ioctl (ttypfd, TIOCLBIC, &word); } } #endif /* USE_SGTTY */ #if defined(USE_TERMIO) || defined(USE_TERMIOS) #ifdef USE_TERMIOS # define TERMIO termios # define GET_TERMATTR(fd, tio) tcgetattr(fd, tio) # define SET_TERMATTR(fd, tio) tcsetattr(fd, TCSADRAIN, tio) # define UNDEF_STTY _POSIX_VDISABLE # define SET_ATTR_ERROR "error in tcsetattr.\n" #else # define TERMIO termio # define GET_TERMATTR(fd, tio) ioctl(fd, TCGETA, tio) # ifdef TCSETAW # define SET_TERMATTR(fd, tio) ioctl(fd, TCSETAW, tio) # else # define SET_TERMATTR(fd, tio) ioctl(fd, TCSETA, tio) # endif # define UNDEF_STTY 0xff # define SET_ATTR_ERROR "error in ioctl TCSETA.\n" #endif #ifdef CERASE # define WNN_CERASE CERASE #elif defined(CDEL) # define WNN_CERASE CDEL #else # define WNN_CERASE 0x7f #endif struct TERMIO savetmio; static void set_default_termio (terms) struct TERMIO *terms; { bzero (terms, sizeof *terms); terms->c_iflag = IGNBRK | ICRNL | IXON; terms->c_oflag = OPOST; #ifdef ONLCR terms->c_oflag |= ONLCR; #endif terms->c_cflag = CS8 | CSTOPB | CREAD | CLOCAL; #ifndef USE_TERMIOS terms->c_cflag |= B9600; #endif terms->c_lflag = ISIG | ICANON | ECHO | ECHOE | ECHOK; #ifdef USE_TERMIOS terms->c_cc[VINTR] = 0x3; terms->c_cc[VQUIT] = 0x1c; terms->c_cc[VERASE] = 0x8; terms->c_cc[VKILL] = 0x15; terms->c_cc[VEOF] = 0x4; terms->c_cc[VEOL] = _POSIX_VDISABLE; #ifdef VEOL2 terms->c_cc[VEOL2] = _POSIX_VDISABLE; #endif cfsetospeed (terms, B9600); cfsetispeed (terms, B9600); #else terms->c_line = 0; terms->c_cc[0] = 0x3; terms->c_cc[1] = 0x1c; terms->c_cc[2] = 0x8; terms->c_cc[3] = 0x15; terms->c_cc[4] = 0x4; terms->c_cc[5] = 0; terms->c_cc[6] = 0; terms->c_cc[7] = 0; #endif } #if defined(uniosu) struct jtermio savejtmio; struct auxtermio auxterm = { 0, /* -tostop */ {0x1a, 0, 0, 0, 0, 0, 0, 0} /* c_cc2 */ }; #endif /* defined(uniosu) */ static void get_rubout () { if (savetmio.c_cc[VERASE] == UNDEF_STTY) { rubout_code = RUBOUT; } else { rubout_code = savetmio.c_cc[VERASE]; } } int j_term_init () { struct TERMIO buf1; #if defined(uniosu) struct jtermio buf2; #endif /* defined(uniosu) */ buf1 = savetmio; #ifdef USE_LINUX_TERM buf1.c_lflag &= ~(ECHONL | ECHOK | ECHOE | ECHO | XCASE | ICANON | ISIG); buf1.c_iflag = 0; buf1.c_oflag &= ~OPOST; buf1.c_cflag |= CS8; buf1.c_cc[VMIN] = 1; /* cf. ICANON */ buf1.c_cc[VTIME] = 0; #else /* !USE_LINUX_TERM */ buf1.c_iflag &= ~(ISTRIP | INLCR | IGNCR | ICRNL | IXON); #ifdef IUCLC buf1.c_iflag &= IUCLC; #endif if (flow_control) { buf1.c_iflag |= IXON; } buf1.c_lflag &= ~(ECHONL | ECHOK | ECHOE | ECHO | ICANON | ISIG); #ifdef XCASE buf1.c_lflag &= XCASE; #endif buf1.c_oflag = OPOST; #ifdef USE_TERMIOS buf1.c_cc[VMIN] = 1; /* cf. ICANON */ buf1.c_cc[VTIME] = 0; cfsetispeed(&buf1, cfgetispeed(&savetmio)); cfsetospeed(&buf1, cfgetospeed(&savetmio)); #else /* !USE_TERMIOS */ buf1.c_cc[VEOF] = 1; /* cf. ICANON */ buf1.c_cc[VEOL] = 0; /* not needed? cf.ISIG*/ buf1.c_cc[VINTR] = WNN_CERASE; buf1.c_cc[VQUIT] = WNN_CERASE; buf1.c_cc[VERASE] = WNN_CERASE; buf1.c_cc[VKILL] = WNN_CERASE; #endif /* !USE_TERMIOS */ #endif /* !USE_LINUX_TERM */ if (SET_TERMATTR (ttyfd, &buf1) < 0) { fprintf (stderr, SET_ATTR_ERROR); exit (1); } #if defined(uniosu) buf2 = savejtmio; buf2.j_flg = CONVTOEXT | WNN_EXIST; buf2.j_level = jterm; switch (jcode_set) { case 0: buf2.j_ecode = JIS; break; case 1: buf2.j_ecode = SJIS; break; case 2: buf2.j_ecode = UJIS; break; default: fprintf (stderr, "uum: kanji code set not supported in terminfo\n"); exit (1); } if (jis_kanji_in) { strcpy (buf2.j_jst, jis_kanji_in); buf2.j_jstl = strlen (jis_kanji_in); } if (jis_kanji_out) { strcpy (buf2.j_jend, jis_kanji_out); buf2.j_jendl = strlen (jis_kanji_out); } if (jgaiji_start_address) { *(short *) buf2.j_gcsa = jgaiji_start_address; } if (jgaiji_disp) { strcpy (buf2.j_gdsp, jgaiji_disp); buf2.j_gdspl = strlen (jgaiji_disp); } if (ioctl (ttyfd, JTERMSET, &buf2) < 0) { fprintf (stderr, "error in ioctl JTERMSET.\n"); exit (1); } #endif /* defined(uniosu) */ return 0; } static void j_term_save () { if (GET_TERMATTR (ttyfd, &savetmio) < 0) { set_default_termio (&savetmio); } #if defined(uniosu) if (ioctl (ttyfd, JTERMGET, &savejtmio) < 0) { fprintf (stderr, "uum: error in ioctl JTERMGET in open_ttyp.\n"); exit (1); } #endif /* defined(uniosu) */ } static void j_term_restore () { if (SET_TERMATTR (ttyfd, &savetmio) < 0) { fprintf (stderr, SET_ATTR_ERROR); exit (1); } #if defined(uniosu) if (ioctl (ttyfd, JTERMSET, &savejtmio) < 0) { fprintf (stderr, "error in ioctl JTERMSET.\n"); exit (1); } #endif /* defined(uniosu) */ } static void j_term_p_init (ttypfd) int ttypfd; { struct TERMIO buf1; #if defined(uniosu) struct TERMIO buf2; #endif buf1 = savetmio; #ifdef DGUX /* copied from JLS5.4.2 */ /* should clear on all platforms? */ buf1.c_iflag &= ~ISTRIP; #endif /* DGUX */ #ifdef nec_ews_svr2 buf1.c_line = JAPANLD; #endif #ifdef USE_TERMIOS cfsetispeed(&buf1, cfgetispeed(&savetmio)); cfsetospeed(&buf1, cfgetospeed(&savetmio)); #endif if (SET_TERMATTR (ttypfd, &buf1) < 0) { fprintf (stderr, SET_ATTR_ERROR); exit (1); } #if defined(uniosu) buf2 = savejtmio; buf2.j_flg = CONVTOEXT | KANJIINPUT; /* kanji input & output ok */ buf2.j_level = jterm; switch (jcode_set) { case 0: buf2.j_ecode = JIS; break; case 1: buf2.j_ecode = SJIS; break; case 2: buf2.j_ecode = UJIS; break; default: fprintf (stderr, "uum: kanji code set not supported in terminfo.\n"); exit (1); } if (jis_kanji_in) { strcpy (buf2.j_jst, jis_kanji_in); buf2.j_jstl = strlen (jis_kanji_in); } if (jis_kanji_out) { strcpy (buf2.j_jend, jis_kanji_out); buf2.j_jendl = strlen (jis_kanji_out); } if (jgaiji_start_address) { *(short *) buf2.j_gcsa = jgaiji_start_address; } if (jgaiji_disp) { strcpy (buf2.j_gdsp, jgaiji_disp); buf2.j_gdspl = strlen (jgaiji_disp); } if (ioctl (ttypfd, JTERMSET, &buf2) < 0) { fprintf (stderr, "error in ioctl JTERMSET.\n"); exit (1); } if (ioctl (ttypfd, TIOCSETAUX, &auxterm) < 0) { fprintf (stderr, "error in ioctl TIOCSETAUX.\n"); exit (1); } #endif /* defined(uniosu) */ } #endif /* USE_TERMIO || USE_TERMIOS */ /** signal SIGCHLD ¤ò¼õ¤±¤¿¸å¤Î½èÍý¤ò¤¹¤ë¡£*/ /* *INDENT-OFF* */ RETSIGTYPE chld_handler () /* *INDENT-ON* */ { #ifdef HAVE_WAIT3 #if !defined(_POSIX_VERSION) && defined(HAVE_UNION_WAIT) /* older way */ union wait status; #else /* POSIX */ int status; #endif int pid; if ((pid = wait3(&status, WNOHANG | WUNTRACED, NULL)) == child_id) { if (WIFSTOPPED (status)) { #ifdef SIGCONT kill (pid, SIGCONT); #ifdef GETPGID KILLPG (GETPGID (pid), SIGCONT); #endif #endif } else { signal (SIGCHLD, SIG_IGN); printf (MSG_GET (3)); /* printf("\r\n£õ£õ£í¤ò½ª¤ï¤ê¤Þ¤¹¡£\r\n"); */ #ifdef USE_LIBSPT if (spth) spt_utmp_set_exit (spth, *(int *)&status); #endif epilogue (); do_end (); } } #else /* ! HAVE_WAIT3 */ if (wait (0) == child_id) { signal (SIGCHLD, SIG_IGN); printf (MSG_GET (3)); /* printf("\r\n£õ£õ£í¤ò½ª¤ï¤ê¤Þ¤¹¡£\r\n"); */ epilogue (); do_end (); } #endif /* HAVE_WAIT3 */ re_signal (SIGCHLD, chld_handler); /* not reached */ #ifndef RETSIGTYPE_VOID return 0; #endif } /** signal SIGTERM ¤ò¼õ¤±¤¿»þ¤Î½èÍý¤ò¤¹¤ë¡£*/ static RETSIGTYPE terminate_handler () { signal (SIGCHLD, SIG_IGN); epilogue_no_close (); do_end (); /* not reached */ #ifndef RETSIGTYPE_VOID return 0; #endif } #ifdef SIGWINCH /* *INDENT-OFF* */ RETSIGTYPE resize_handler () /* *INDENT-ON* */ { re_signal (SIGWINCH, resize_handler); change_size (); /* not reached */ #ifndef RETSIGTYPE_VOID return 0; #endif } #endif /* SIGWINCH */ /** ¥á¥¤¥ó¥ë¡¼¥× */ wnn_fd_set sel_ptn; int ptyfd = -1; static void do_main () { #ifndef CANNA unsigned char *buf; int ml; if ((buf = (unsigned char *) malloc (maxchg * 4)) == NULL) { printf (MSG_GET (2)); printf (MSG_GET (3)); /* printf("malloc ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡££õ£õ£í¤ò½ª¤ï¤ê¤Þ¤¹¡£\r\n"); */ epilogue (); do_end (); } #else /* CANNA */ extern void canna_mainloop(); #endif /* CANNA */ WNN_FD_SET(ptyfd, &sel_ptn); WNN_FD_SET(ttyfd, &sel_ptn); if (henkan_off_flag == 0) { disp_mode (); } #ifndef CANNA for (;;) { ml = kk (); make_history (return_buf, ml); ml = (*code_trans[(internal_code << 2) | pty_c_flag]) (buf, return_buf, sizeof (w_char) * ml); if (ml > 0) write (ptyfd, buf, ml); } #else /* CANNA */ canna_mainloop(); #endif /* CANNA */ } unsigned char keyin0 (); int keyin2 () { int total, ret; unsigned char in; in = keyin0 (); if (in == 0xff) return (-1); total = (int) (in & 0xff); if (henkan_off_flag == 0 || pty_c_flag != tty_c_flag) { ret = get_cswidth_by_char (in); for (; ret > 1; ret--) { total = ((total & 0xff) << 8) + (int) (keyin0 () & 0xff); } } return (total); } /** convert_key nomi okonau key-in function */ int conv_keyin (inkey) char *inkey; { return keyin1 (keyin2, inkey); } /** ¥­¡¼ÆþÎÏ´Ø¿ô 1 */ int keyin () { char inkey[16]; return (conv_keyin (inkey)); } /* through ¤â¤É¤­ char ¤ÎÇÛÎóÆâ¤Î³ÆÊ¸»ú¤ò w_char ¤Ë¤·¤Æ w_char ¤ÎÇÛÎó¤Ë°Ü¤¹¡£ uum ¥ª¥ê¥¸¥Ê¥ë¤Î through ¤È¤Ï°ã¤Ã¤Æ void ¤Ê¤Î¤ÇÃí°Õ¡£ */ static void throughlike(dest, src, n) w_char *dest; unsigned char *src; int n; { while (n-- > 0) { *dest++ = (w_char)*src++; } } /** ¥­¡¼ÆþÎÏ´Ø¿ô 2 */ unsigned char keyin0 () { static unsigned char buf[BUFSIZ]; static unsigned char outbuf[BUFSIZ]; static unsigned char *bufend = outbuf; static unsigned char *bufstart = outbuf; int n; wnn_fd_set rfds, mask; int i, j; unsigned char *p; extern int henkan_off_flag; struct timeval time_out; /* If your OS's select was implemented as a pointer for int, you must modify the time_out variable to integer */ int sel_ret; if (bufstart < bufend) { return (*bufstart++); } for (;;) { if ((n = read (ttyfd, buf, BUFSIZ)) > 0) { if (henkan_off_flag == 1) { if (tty_c_flag == pty_c_flag) { i = through (outbuf, buf, n); } else { i = (*code_trans[(tty_c_flag << 2) | file_code]) (outbuf, buf, n); } } else { i = (*code_trans[(tty_c_flag << 2) | file_code]) (outbuf, buf, n); } if (i <= 0) continue; bufstart = outbuf; bufend = outbuf + i; return (*bufstart++); } time_out.tv_sec = 0; time_out.tv_usec = 200 * 1000; /* 200 msec ´ÖÂԤĤΤÀ¥¾! */ for (rfds = sel_ptn; #ifdef USE_LINUX_TERM (sel_ret = select (20, &rfds, 0, 0, NULL)) < 0 && errno == EINTR; #else (sel_ret = select (20, &rfds, 0, 0, &time_out)) < 0 && errno == EINTR; #endif rfds = sel_ptn) ; if (sel_ret == 0) { if ((tty_c_flag == J_JIS) && ((i = flush_designate ((w_char *) outbuf)) > 0)) { /* ί¤Þ¤Ã¤Æ¤¤¤ë£Å£Ó£Ã¤òÅǤ­½Ð¤¹ */ bufstart = outbuf; bufend = outbuf + i; return (*bufstart++); } return (0xff); } if (WNN_FD_ISSET(ptyfd, &rfds)) { if ((n = read (ptyfd, buf, BUFSIZ)) <= 0) { epilogue (); do_end (); } #if defined(uniosu) if (*buf == PIOCPKT_IOCTL) { arrange_ioctl (1); } else if (*buf == 0) #endif /* defined(uniosu) */ { /* sequence of data */ #if defined(uniosu) i = (*code_trans[(pty_c_flag << 2) | tty_c_flag]) (outbuf, buf + 1, n - 1); #else /* defined(uniosu) */ i = (*code_trans[(pty_c_flag << 2) | tty_c_flag]) (outbuf, buf, n); #endif /* defined(uniosu) */ if (i <= 0) continue; p = outbuf; push_cursor (); kk_restore_cursor (); while ((j = write (ttyfd, p, i)) < i) { if (j >= 0) { p += j; i -= j; } WNN_FD_SET(ttyfd, &mask); select (32, 0, &mask, 0, 0); } pop_cursor (); } } if (WNN_FD_ISSET(ttyfd, &rfds)) { if ((n = read (ttyfd, buf, BUFSIZ)) > 0) { if (henkan_off_flag == 1) { if (tty_c_flag == pty_c_flag) { i = through (outbuf, buf, n); } else { i = (*code_trans[(tty_c_flag << 2) | file_code]) (outbuf, buf, n); } } else { i = (*code_trans[(tty_c_flag << 2) | file_code]) (outbuf, buf, n); } if (i <= 0) continue; bufstart = outbuf; bufend = outbuf + i; return (*bufstart++); #ifdef nodef } else { /* Consider it as EOF */ epilogue (); do_end (); #endif /* It seems that select does not return EOF when Non-brock What should I do? */ } } } } #if defined(uniosu) /** pty ¤«¤é ioctl ¤¬¤«¤«¤Ã¤¿»þ¤Î½èÍý */ int arrange_ioctl (jflg) int jflg; /* jtermio ¤Î j_flg ¤ÎÊÑ´¹¥Õ¥é¥°¤¬¥ª¥Õ¤Î»þ 0 ¥ª¥ó¤Î»þ 1 */ { struct jtermio jbuf1; struct TERMIO frombuf; struct TERMIO tobuf; int i; GET_TERMATTR (ptyfd, &frombuf); GET_TERMATTR (ttyfd, &frombuf); if ((i = (frombuf.c_iflag & IXON)) != (tobuf.c_iflag & IXON)) { if (i == 0) { tobuf.c_iflag &= ~IXON; } else { tobuf.c_iflag |= IXON; } } if ((i = (frombuf.c_iflag & IXOFF)) != (tobuf.c_iflag & IXOFF)) { if (i == 0) { tobuf.c_iflag &= ~IXOFF; } else { tobuf.c_iflag |= IXOFF; } } if ((i = (frombuf.c_oflag & OPOST)) != (tobuf.c_oflag & OPOST)) { if (i == 0) { tobuf.c_oflag &= ~OPOST; } else { tobuf.c_oflag |= OPOST; } } tobuf.c_cflag = (tobuf.c_cflag & ~CBAUD) | (frombuf.c_cflag & CBAUD); SET_TERMATTR (ttyfd, &tobuf); /* set again */ ioctl (ptyfd, JTERMGET, &jbuf1); /* about Japanease */ if ((jflg) && ((jbuf1.j_flg & KANJIINPUT) == 0)) { jbuf1.j_flg &= ~(KANJIINPUT | CONVTOINT); /* kanji henkan flg off */ ioctl (ttyfd, JTERMSET, &jbuf1); kk_restore_cursor (); reset_cursor (); longjmp (kk_env, 1); } if ((!jflg) && ((jbuf1.j_flg & KANJIINPUT) != 0)) { jbuf1.j_flg &= ~(KANJIINPUT | CONVTOINT); /* kanji henkan flg off */ ioctl (ttyfd, JTERMSET, &jbuf1); return (1); } jbuf1.j_flg &= ~(KANJIINPUT | CONVTOINT); /* kanji henkan flg off */ ioctl (ttyfd, JTERMSET, &jbuf1); return (0); } #endif /* defined(uniosu) */ /** »Ò¥×¥í¥»¥¹¤òµ¯¤³¤¹¡£*/ int ttypfd = -1; static void exec_cmd (argv) char **argv; { int i; #if defined(USE_LIBSPT) && !defined(USE_LINUX_TERM) int r; const char *ttynm; #elif !defined(HAVE_SETSID) || defined(USE_LINUX_TERM) #ifdef BSD42 int pid; #endif #ifdef USE_LINUX_TERM struct winsize win; extern Term_RowWidth, crow; #endif #endif /* (!USE_LIBSPT && !HAVE_SETSID) || USE_LINUX_TERM */ child_id = fork (); if (child_id < 0) err ("cannot fork."); if (!child_id) { /* --- start changing controlling tty --- */ #if defined(USE_LIBSPT) && !defined(USE_LINUX_TERM) #if defined(SIGWINCH) && defined(TIOCSWINSZ) struct winsize win; if (ioctl (ttyfd, TIOCGWINSZ, &win) == 0) ioctl (ttypfd, TIOCSWINSZ, &win); #endif /* SIGWINCH && TIOCSWINSZ */ spt_detach_handle (spth); spth = NULL; if (spt_detach_ctty () || spt_set_ctty2 (ttypfd)) { err ("cannot change controlling tty."); } #elif defined(HAVE_SETSID) && !defined(USE_LINUX_TERM) /* !USE_LIBSPT */ int fd; #if defined(SIGWINCH) && defined(TIOCSWINSZ) struct winsize win; if (ioctl (ttyfd, TIOCGWINSZ, &win) == 0) ioctl (ttypfd, TIOCSWINSZ, &win); #endif /* SIGWINCH && TIOCSWINSZ */ setsid (); #ifdef TIOCSCTTY ioctl (ttypfd, TIOCSCTTY, 0); #else close (open (ttyname (ttypfd), O_WRONLY, 0)); #endif if ((fd = open("/dev/tty", O_WRONLY)) < 0) { err ("cannot change controlling tty."); } close (fd); /* disable utmp logging for now */ #else /* (!USE_LIBSPT && !HAVE_SETSID) || USE_LINUX_TERM */ #if defined(SYSVR2) && !defined(USE_LINUX_TERM) setpgrp (); close (open (ttyname (ttypfd), O_WRONLY, 0)); #endif /* SYSVR2 */ #ifdef BSD42 #ifdef TIOCNOTTY /* set notty */ { int fd; if ((fd = open ("/dev/tty", O_WRONLY)) >= 0) { (void) ioctl (fd, TIOCNOTTY, 0); close (fd); } } #endif /* TIOCNOTTY */ #ifdef TIOCSCTTY setsid (); ioctl (ttypfd, TIOCSCTTY, 0); #endif /* TIOCSCTTY */ /* set tty process group */ pid = getpid (); ioctl (ttypfd, TIOCSPGRP, &pid); setpgrp (0, 0); close (open (ttyname (ttypfd), O_WRONLY, 0)); setpgrp (0, pid); #endif /* BSD42 */ #ifdef USE_LINUX_TERM setsid (); open_ttyp (); close (ptyfd); ioctl (ttyfd, TIOCGWINSZ, &win); ioctl (ttypfd, TCSETA, &savetmio); #endif #endif /* (!USE_LIBSPT && !HAVE_SETSID) || USE_LINUX_TERM */ /* --- finish changing controlling tty --- */ #ifndef USE_LINUX_TERM setgid (getgid ()); setuid (getuid ()); #endif #ifdef HAVE_DUP2 dup2 (ttypfd, 0); dup2 (ttypfd, 1); dup2 (ttypfd, 2); #else /* !HAVE_DUP2 */ close (0); close (1); close (2); if (dup (ttypfd) != 0 || dup (ttypfd) != 1 || dup (ttypfd) != 2) { err ("redirection fault."); } #endif /* !HAVE_DUP2 */ for (i = WNN_NFD - 1; i > 2; i--) { close (i); } restore_signals (); #ifdef SIGTSTP signal (SIGTSTP, SIG_IGN); #endif #ifdef SIGTTIN signal (SIGTTIN, SIG_IGN); #endif #ifdef SIGTTOU signal (SIGTTOU, SIG_IGN); #endif #ifdef USE_LINUX_TERM crow = win.ws_row = Term_RowWidth = win.ws_row - conv_lines; ioctl (ttyfd, TIOCSWINSZ, &win); setgid (getgid ()); setuid (getuid ()); #endif execvp (cmdnm, argv); err ("exec fault."); } /* parent */ #ifdef USE_LIBSPT ttynm = ttyname (0); if (ttynm) { ttynm = strchr (ttynm + 1, '/'); if (ttynm && ttynm[1]) { spt_utmp_set_host (spth, ttynm + 1); } } spt_utmp_set_pid (spth, child_id); r = spt_login_utmp (spth); if (!r) { need_utmp_clear = 1; } else { spt_perror ("exec_cmd (login_utmp)", r); } #endif } #if !(HAVE_SETENV) /** ´Ä¶­ÊÑ¿ô¤Î¥»¥Ã¥È */ /* * This function causes memory leak, but I leave it as it is. Anyway, * this function is called only a few times at the startup of uum. * The 3rd parameter is ignored. It is added for compatibility only. */ int setenv (var, value, overwrite) char *var; char *value; int overwrite; { extern char **environ; char **newenv; int i, j; j = strlen (var); for (i = 0; environ[i] != NULL; i++) { if (strncmp (var, environ[i], j) == 0 && environ[i][j] == '=') { break; } } if (environ[i] == NULL) { if ((newenv = (char **) malloc ((sizeof (char *)) * (i + 2))) == NULL) { return (-1); } for (j = 0; j < i + 1; j++) { newenv[j] = environ[j]; } newenv[i + 1] = NULL; environ = newenv; } if ((environ[i] = malloc (strlen (var) + strlen (value) + 2)) == NULL) { return (-1); } strcpy (environ[i], var); strcat (environ[i], "="); strcat (environ[i], value); return (0); } #endif /* !HAVE_SETENV */ #ifdef SVR4 static int euc_set (eucioc, ttyfd) eucioc_t *eucioc; int ttyfd; { struct strioctl sb; sb.ic_cmd = EUC_WSET; sb.ic_timout = 0; sb.ic_len = sizeof (struct eucioc); sb.ic_dp = (char *) eucioc; if (ioctl (ttyfd, I_STR, &sb) < 0) { return (1); } return (0); } static void set_euc_term (ttyfd) int ttyfd; { eucioc_t eucioc; /* for Japanese EUC */ eucioc.eucw[0] = 1; eucioc.eucw[1] = 2; eucioc.eucw[2] = 2; eucioc.eucw[3] = 3; eucioc.scrw[0] = 1; eucioc.scrw[1] = 2; eucioc.scrw[2] = 1; eucioc.scrw[3] = 2; if (euc_set (&eucioc, ttyfd) != 0) { fprintf (stderr, "eucwidth set failed\n"); return; } return; } #endif /* SVR4 */ #ifdef nec_ews_svr2 static void set_jterm (ttyfd, ttypfd) int ttyfd, ttypfd; { struct jtermio buf; if (ioctl (ttyfd, TCJGETA, &buf) == -1) { fprintf (stderr, "error in ioctl TCJGETA.\n"); exit (1); } buf.c_iflag = 0; buf.c_oflag = 0; if (ioctl (ttypfd, TCJSETA, &buf) < 0) { fprintf (stderr, "error in ioctl TCJSETA.\n"); exit (1); } } #endif /* nec_ews_svr2 */ #ifdef sony static void set_sony_jterm(ttyfd, ttypfd) int ttyfd, ttypfd; { #ifdef TIOCKGET int tmode, jmode = 0; struct jtchars jtc; if (ioctl(ttyfd, TIOCKGET, &tmode) < 0) { fprintf(stderr, "error in ioctl TIOCKGET.\n"); exit(1); } jmode = tmode; tmode &= ~(KM_SYSCODE | KM_TTYPE); switch (pty_c_flag) { case J_EUJIS: tmode |= KM_EUC | KM_SYSEUC; break; case J_JIS: tmode |= KM_ASCII; break; case J_SJIS: tmode |= KM_SJIS | KM_SYSSJIS; break; } if (ioctl(ttypfd, TIOCKSET, &tmode) < 0) { fprintf(stderr, "error in ioctl TIOCKSET.\n"); exit(1); } #endif /* TIOCKGET */ #ifdef TIOCKGETC if ((jmode & KM_TTYPE) == KM_JIS) { ioctl(ttyfd, TIOCKGETC, &jtc); jtc.t_ascii = 'B'; jtc.t_kanji = 'B'; if (ioctl(ttypfd, TIOCKSETC, &jtc) < 0) { fprintf(stderr, "error in ioctl TIOCKSETC.\n"); exit(1); } } #endif } #endif /* sony */ /** ttyp ¤Î¥ª¡¼¥×¥ó */ #ifndef USE_LIBSPT #define MAXPTYNO (0x10 * (('z' - 'p' + 1) + ('Z' - 'P' + 1))) int ptyno; char *ptynm = "/dev/pty"; #ifdef sgi extern char *_getpty (int *, int, mode_t, int); char *ttypnm = "/dev/ttyqxxx"; #else char *ttypnm = "/dev/tty"; #endif /* sgi */ #ifndef sgi static void ptyname (); #endif #endif /* !USE_LIBSPT */ static void open_ttyp () { char nmbuf[20]; #ifdef USE_LIBSPT if ((ttypfd = spt_open_slave(spth)) == ERROR) { #elif defined(sgi) if ((ttypfd = open (ttypnm, O_RDWR)) == ERROR) { #else ptyname (nmbuf, ttypnm, ptyno); if ((ttypfd = open (nmbuf, O_RDWR, 0)) == ERROR) { #endif err ("Can't open ttyp."); } #if !defined(USE_LINUX_TERM) && !defined(USE_LIBSPT) chown (nmbuf, getuid (), getgid ()); chmod (nmbuf, 0622); #endif /* !USE_LINUX_TERM && !USE_LIBSPT */ #if defined(USE_LIBSPT) spt_init_slavefd(spth, ttypfd); #elif defined(I_PUSH) && defined(SVR4) ioctl(ttypfd, I_PUSH, "ptem"); ioctl(ttypfd, I_PUSH, "ldterm"); ioctl(ttypfd, I_PUSH, "ttcompat"); #endif /* * We save terminal settings in main() instead of here. * When USE_LINUX_TERM open_ttyp() is invoked from child! */ #ifndef USE_LINUX_TERM j_term_p_init (ttypfd); #endif #ifdef TIOCSSIZE pty_rowcol.ts_lines = crow; /* instead of lines */ pty_rowcol.ts_cols = maxlength; /* instead of columns */ ioctl(ttypfd, TIOCSSIZE, &pty_rowcol); #endif /* TIOCSSIZE */ #ifdef SVR4 set_euc_term(ttypfd); #endif #if defined(nec_ews_svr2) set_jterm (ttyfd, ttypfd); #endif #ifdef sony set_sony_jterm(ttyfd, ttypfd); #endif } /** pty ¤Î¥ª¡¼¥×¥ó */ #if defined(USE_LIBSPT) static void open_pty () { int r; r = spt_open_pty(&spth, &ptyfd, NULL, NULL); if (r != SPT_E_NONE && r != SPT_E_CHOWN_FAIL) err ("Can't get pty."); return; } #elif defined(sgi) static void open_pty () { char nmbuf[20]; char *tty_name_buff; tty_name_buff = _getpty (&ptyfd, O_RDWR | O_NDELAY, 0600, 0); if (tty_name_buff == 0) err ("Can't get pty."); strcpy (ttypnm, tty_name_buff); return; } #else static void open_pty () { char nmbuf[20]; for (ptyno = 0; ptyno < MAXPTYNO; ptyno++) { ptyname (nmbuf, ptynm, ptyno); if ((ptyfd = open (nmbuf, O_RDWR, 0)) != ERROR) { #if defined(uniosu) if (ioctl (ptyfd, PIOCPKT, 1) < 0) { /* packet mode on */ fprintf (stderr, "error in ioctl PIOCPKT.\n"); exit (1); } #endif return; } } err ("Can't get pty."); } #endif /** ¥¨¥é¡¼¤À¤è¡£¤µ¤è¤¦¤Ê¤é¡£ */ void err (s) char *s; { puts (s); fclose (stdout); fclose (stderr); fclose (stdin); do_end (); } /** Ω¤ÄÄ»¸å¤òÂù¤µ¤º ½ª¤ï¤ê¤Î½èÍý */ static void do_end () { #ifdef USE_LIBSPT int r; #else char nmbuf[20]; #endif static int do_end_flg = 0; if (do_end_flg == 1) return; do_end_flg = 1; signal (SIGCHLD, SIG_DFL); fcntl (ttyfd, F_SETFL, 0); j_term_restore (); #if !defined(USE_LIBSPT) && !defined(sgi) ptyname (nmbuf, ptynm, ptyno); if (chown (nmbuf, 0, 0) == ERROR) { perror (prog); } if (chmod (nmbuf, 0666) == ERROR) { perror (prog); } ptyname (nmbuf, ttypnm, ptyno); if (chown (nmbuf, 0, 0) == ERROR) { perror (prog); } if (chmod (nmbuf, 0666) == ERROR) { perror (prog); } #endif /* !USE_LIBSPT && !sgi */ close (ttyfd); #ifdef USE_LIBSPT if (spth && need_utmp_clear && (r = spt_logout_utmp(spth))) spt_perror(NULL, r); if (spth && (r = spt_close_pty(spth))) spt_perror(NULL, r); #else close (ptyfd); #endif chdir ("/tmp"); /* to avoid making too many mon.out files */ KILLPG (child_id, SIGHUP); exit (0); } #if defined(uniosu) /** ²¾Ì¾´Á»úÊÑ´¹¤ò ioctl ¤Ç¥ª¥Õ¤·¤¿»þ¤Î keyin ¤ËÂå¤ï¤ë´Ø¿ô */ int ioctl_off () { static unsigned char buf[BUFSIZ]; int n; wnn_fd_set rfds; kk_restore_cursor (); clr_line_all (); display_henkan_off_mode (); for (;;) { if ((n = read (ttyfd, buf, BUFSIZ)) > 0) { write (ptyfd, buf, n); } rfds = sel_ptn; select (20, &rfds, 0, 0, NULL); if (WNN_FD_ISSET(ptyfd, &rfds)) { if ((n = read (ptyfd, buf, BUFSIZ)) <= 0) { epilogue (); do_end (); } if (*buf == 0) { /* sequence of data */ write (ttyfd, buf + 1, n - 1); } else if (*buf == PIOCPKT_IOCTL) { if (arrange_ioctl (0) > 0) { return; } } } if (WNN_FD_ISSET(ttyfd, &rfds)) { if ((n = read (ttyfd, buf, BUFSIZ)) > 0) { write (ptyfd, buf, n); } } } } #endif /* defined(uniosu) */ #if !defined(USE_LIBSPT) && !defined(sgi) static void ptyname (b, pty, no) char *b, *pty; { /* * Change pseudo-devices. * Because FreeBSD's master pseudo-devices are pty[p-sP-S][0-9a-v]. * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20 */ #if (defined(BSD) && (BSD >= 199306)) /* 4.4BSD-Lite by Taoka */ sprintf (b, "%s%1c%1c", pty, "pqrsPQRS"[(no >> 5)], (((no & 0x1f) > 9) ? 'a' : '0') + (no & 0x1f)); #else /* ! 4.4BSD-Lite */ sprintf (b, "%s%1c%1x", pty, 'p' + (no >> 4), no & 0x0f); if (no < 0x10 * ('z' - 'p' + 1)) { sprintf(b, "%s%1c%1x", pty, 'p' + (no >> 4), no & 0x0f); } else { no -= 0x10 * ('z' - 'p' + 1); sprintf(b, "%s%1c%1x", pty, 'P' + (no >> 4), no & 0x0f); } #endif /* ! 4.4BSD-Lite */ } #endif /* !USE_LIBSPT && !sgi */ static void default_usage () { fprintf (stderr, "%s: Bad -L option\n", prog); exit (0); } static void usage (optstr) char *optstr; { printf ("usage: prog %s by lang \"%s\"\n", optstr, lang_dir); exit (0); } /* save/restore signal settings */ intfnptr sigpipe, sighup, sigint, sigquit, sigterm, sigtstp, sigttin, sigttou, sigchld; #ifdef SIGWINCH intfnptr sigwinch; #endif /* SIGWINCH */ static void save_signals () { sigpipe = signal (SIGPIPE, SIG_IGN); #ifdef USE_LINUX_TERM /* XXX */ sighup = signal (SIGHUP, SIG_IGN); #endif sighup = signal (SIGHUP, terminate_handler); sigint = signal (SIGINT, SIG_IGN); sigquit = signal (SIGQUIT, SIG_IGN); sigterm = signal (SIGTERM, terminate_handler); sigchld = signal (SIGCHLD, chld_handler); #ifdef SIGWINCH sigwinch = signal (SIGWINCH, resize_handler); #endif /* SIGWINCH */ #ifdef SIGTSTP sigtstp = signal (SIGTSTP, SIG_IGN); sigttin = signal (SIGTTIN, SIG_IGN); sigttou = signal (SIGTTOU, SIG_IGN); #endif /* SIGTSTP */ } static void restore_signals () { signal (SIGPIPE, sigpipe); signal (SIGHUP, sighup); signal (SIGINT, sigint); signal (SIGQUIT, sigquit); signal (SIGTERM, sigterm); signal (SIGCHLD, sigchld); #ifdef SIGWINCH signal (SIGWINCH, sigwinch); #endif /* SIGWINCH */ #ifdef SIGTSTP signal (SIGTSTP, sigtstp); signal (SIGTTIN, sigttin); signal (SIGTTOU, sigttou); #endif /* SIGTSTP */ } /* should be "defined(SIGWINCH)"? */ #if defined(BSD43) || defined(DGUX) static void setsize () { register int i; struct winsize win; extern Term_LineWidth, Term_RowWidth, maxlength, crow; if (ioctl (ttyfd, TIOCGWINSZ, &win) < 0) { /* Default set at getTermData() */ return; } else { if ((i = win.ws_row) != 0) { crow = Term_RowWidth = i - conv_lines; } if ((i = win.ws_col) != 0) { maxlength = Term_LineWidth = i; } } } #endif /* BSD43 */ #ifdef SIGWINCH static void change_size () { register int i; struct winsize win; extern Term_LineWidth, Term_RowWidth, maxlength, crow; if (ioctl (ttyfd, TIOCGWINSZ, &win) < 0) { /* Default set at getTermData() */ return; } else { throw_cur_raw (0, crow); clr_line (); if ((i = win.ws_row) != 0) { crow = Term_RowWidth = i - conv_lines; #ifdef TIOCSWINSZ win.ws_row = crow; #endif } if ((i = win.ws_col) != 0) { maxlength = Term_LineWidth = i; } #ifdef TIOCSWINSZ ioctl (ttypfd, TIOCSWINSZ, &win); #else /* !TIOCSWINSZ */ #ifdef TIOCSSIZE pty_rowcol.ts_lines = crow; /* instead of lines */ pty_rowcol.ts_cols = maxlength; /* instead of columns */ ioctl (ttypfd, TIOCSSIZE, &pty_rowcol); #endif /* TIOCSSIZE */ #ifdef sun /* When your machine needs SIGWINCH, add your machine */ { int grp; ioctl (ptyfd, TIOCGPGRP, &grp); KILLPG (grp, SIGWINCH); } #endif /* sun */ #endif /* !TIOCSWINSZ */ #ifndef CANNA set_scroll_region (0, crow - 1); if (henkan_off_flag) { kk_restore_cursor (); throw_cur_raw (0, 0); kk_save_cursor (); display_henkan_off_mode (); set_screen_vars_default (); t_print_l (); kk_restore_cursor (); } else { kk_restore_cursor (); throw_cur_raw (0, 0); kk_save_cursor (); disp_mode (); set_screen_vars_default (); t_print_l (); } #else /* CANNA */ set_scroll_region(0, crow - 1); set_screen_vars_default(); t_print_l(); #endif /* CANNA */ } } #endif /* SIGWINCH */ /* * vim: set cinoptions={.5s,\:.5s,+.5s,t0,g0,^-2,e-2,n-2,p.5s,(0,=.5s: * vim: set formatoptions=mMcroql cindent shiftwidth=4: */ Canna37p3/canuum/printf.c0100644000076500001200000000775407605506666014640 0ustar shinraadmin/* * printf.c,v 1.3 2001/06/14 18:16:07 ura Exp * Canna: $Id: printf.c,v 1.3 2003/01/04 07:31:02 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include "commonhd.h" #include "sdefine.h" #include "sheader.h" extern int cursor_colum; int char_q_len (x) w_char x; { return ((*char_q_len_func) (x)); } void fprintf (file, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) FILE *file; char *x2, *x3, *x4, *x5, *x6, *x7, *x8, *x9, *x10, *x11, *x12, *x13; { char buf2[512]; sprintf (buf2, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13); cursor_colum += eu_columlen (buf2); puteustring (buf2, file); } void puteustring (buf2, file) char *buf2; FILE *file; { char buf[512]; register int len; register char *c; len = (*code_trans[(file_code << 2) | tty_c_flag]) (buf, buf2, strlen (buf2) + 1); for (c = buf, len--; len > 0; len--, c++) { putc (*c, file); } } void printf (format, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) char *format; char *x3, *x4, *x5, *x6, *x7, *x8, *x9, *x10, *x11, *x12, *x13; { fprintf (stdout, format, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13); } #define W_BUFLEN 32 static w_char w_buf[W_BUFLEN]; static int w_maxbuf = 0; int w_putchar (w) w_char w; { w_char wch = w; w_char tmp_wch[10]; int len, i, c_len = 0; int ret_col = 0; wnn_delete_w_ss2 (&wch, 1); if (ESCAPE_CHAR (wch)) { ret_col = char_q_len (wch); w_buf[w_maxbuf++] = (w_char) ('^'); if (wch == 0x7f) w_buf[w_maxbuf++] = (w_char) ('?'); else w_buf[w_maxbuf++] = (w_char) (wch + 'A' - 1); } else { if (print_out_func) { len = (*print_out_func) (tmp_wch, &wch, 1); wnn_delete_w_ss2 (tmp_wch, len); for (i = 0; i < len; i++) { w_buf[w_maxbuf++] = tmp_wch[i]; c_len = char_q_len (tmp_wch[i]); ret_col += c_len; } } else { ret_col = char_q_len (wch); w_buf[w_maxbuf++] = wch; } } cursor_colum += ret_col; if (w_maxbuf >= W_BUFLEN - 2) { flushw_buf (); } return (ret_col); } void putchar_norm (c) int c; { push_hrus (); putchar1 (c); pop_hrus (); } void putchar1 (c) int c; { putchar (c); flush (); cursor_colum += 1; } void flushw_buf () { register char *c; register int len; static char buf[W_BUFLEN * 8]; len = (*code_trans[(internal_code << 2) | tty_c_flag]) (buf, w_buf, sizeof (w_char) * w_maxbuf); for (c = buf; len > 0; len--, c++) { putchar (*c); } w_maxbuf = 0; flush (); } extern char *wnn_perror (); void errorkeyin () { push_cursor (); throw_c (0); clr_line (); printf (wnn_perror ()); printf (MSG_GET (8)); /* printf(" (Ç¡²¿)"); */ flush (); keyin (); pop_cursor (); } Canna37p3/canuum/README.copyright0100644000076500001200000000056107601167350016033 0ustar shinraadminSome of files in this directory are licensed under GNU GPL. The license is written in "COPYRIGHT". GPL'd files are: * All files listed in freewnn-uum.files except "COPYRIGHT" itself. * canna.c. * Files derived from other GPL'd files. This includes object files and configure, but not restricted to them. $Id: README.copyright,v 1.2 2002/12/21 22:44:56 aida_s Exp $ Canna37p3/canuum/README.jp0100644000076500001200000001346507731351053014442 0ustar shinraadmin ¡Ø¤«¤ó¤Ê¡ÙÈÇ uum ¤Ë¤Ä¤¤¤Æ Canna Project http://canna.sourceforge.jp/ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥×¥í¥°¥é¥à canuum (¥­¥ã¥Ë¥¦¥à¤ÈÆÉ¤ß¤Þ¤¹)¤Ï¡¢ Wnn ¤Î TTY ÍѤΥեí¥ó¥È¥¨¥ó¥É¥×¥í¥°¥é¥à uum ¤ò¡Ø¤«¤ó¤Ê¡ÙÂбþ¤Ë¤·¤¿¤â¤Î¤Ç¤¹¡£ ¤É¤¦¡Ø¤«¤ó¤Ê¡ÙÂбþ¤µ¤ì¤Æ¤¤¤ë¤«¤È¸À¤¦¤È¡¢¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¡Ø¤«¤ó¤Ê¡Ù ¤Î¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ø¤«¤ó¤Ê¡ÙVersion 2.2 ¤«¤é¤Ï¥¨¥ó¥¸¥ó¤ÎÀÚÂØ¤¨µ¡Ç½¤¬ÉÕ ¤¤¤Æ¤¤¤ë¤Î¤Ç¡Ø¤«¤ó¤Ê¡ÙÈÇ uum (canuum) ¤Ï Wnn ¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ç¤¢ ¤ë jserver ¤ÈÄÌ¿®¤·¤Æ¤«¤Ê´Á»úÊÑ´¹¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤Î¤Ç¤¹¡£(¤Á¤ç¤Ã¤È¤ª¤« ¤·¤¤¤Ç¤¹¤Í¡£(^o^)) ¸µ¤Ï¡¢¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÏµþÅÔÂç³Ø¿ôÍý²òÀϸ¦µæ½ê¡¢¥ª¥à¥í¥ó³ô¼°²ñ¼Ò¤ª¤è¤Ó ASTEC ¤Ë¤è¤ê³«È¯¤µ¤ì¤¿ Wnn ¤Î¥ª¥ê¥¸¥Ê¥ëÈǤò¥Ù¡¼¥¹¤Ëºî¤é¤ì¤Æ¤¤¤Þ¤·¤¿¡£ ¸½ºß¤Ï¡¢ ¥Ù¡¼¥¹¤Î Wnn ¤Ë¡¢GPL ¤Î¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤È¤·¤ÆÍ­»Ö¤Ç³«È¯¤·¤Æ ¤¤¤ë FreeWnn ¤òºÎÍѤ·¤Æ¡¢½ñ¤­Ä¾¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¥×¥í¥°¥é¥à¤ÎÃøºî¸¢µ­½Ò¤Ë´Ø¤·¤Æ¤ÏËÜʸ½ñ¤ÎºÇ¸å¤Ëµ­½Ò¤·¤Þ¤¹¤Î¤Ç»²¾È¤· ¤Æ²¼¤µ¤¤¡£ 1. canuum ¤Îºî¤êÊý ¤Þ¤º¡¢Êä½õ¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¡¢ libspt: http://www.j10n.org/libspt/ ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤½¤·¤Æ¡¢ libspt-config ¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËPATH¤ò Ä̤·¤Æ¤ª¤­¤Þ¤¹¡£ canuum ËÜÂΤϡ¢¼¡¤Î¼ê½ç¤ÇºîÀ®¤·¤Þ¤¹¡£ (1) xmkmf ¤¹¤ë¡£ % xmkmf ; make Makefile ; make includes (2) make depend ¤¹¤ë¡£ % make depend (3) make ¤¹¤ë¡£ % make ¤Ê¤ª¡¢ºÇ¶á¤Î xmkmf ¤ò»È¤¦¾ì¹ç¤Ï¡¢ (1) ¤È (2) ¤Ï¡¢ % xmkmf -a ¤Ç¤Þ¤È¤á¤Æ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ 2. Ãí°Õ»ö¹à (1) ¤³¤Î canuum ¤Ï 2002 ǯ 12 ·î 21 Æü»þÅÀ¤Î CVS Àèü¤Î uum ¤ò¥Ù¡¼¥¹ ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ (2) canuum ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢Ãøºî¸¢¾å¡Ø¤«¤ó¤Ê¡Ù¤È°Û¤Ê¤ë¾ò·ï¤ÇÇÛÉÛ ¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¾Ü¤·¤¯¤Ï README.copyright ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ (3) uum ¤Î½é´ü²½¥Õ¥¡¥¤¥ë uumrc ¤Ï»²¾È¤µ¤ì¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¥­¡¼¥Ð¥¤¥ó¥ÉÄêµÁ¥Õ¥¡¥¤¥ë¤ä¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î¥â¡¼¥ÉÄêµÁɽ¤â»² ¾È¤·¤Þ¤»¤ó¡£¥­¡¼¥³¡¼¥ÉÊÑ´¹É½¤Ï¡¢.canna Æâ¤Ë¿·¤¿¤Ëºî¤Ã¤¿¥«¥¹¥¿¥Þ¥¤ ¥ºÊ¸¤Ë¤ÆÄ󶡤µ¤ì¤Þ¤¹¡£ ¤«¤Ê´Á»úÊÑ´¹¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Ï¾¤Î¡Ø¤«¤ó¤Ê¡Ù¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é ¥àƱÍÍ .canna ¤Ë¤Æ¹Ô¤¤¤Þ¤¹¡£ (4) TERM ´Ä¶­ÊÑ¿ô¤Î -j ¥ª¥ê¥¸¥Ê¥ë¤Î uum ¤Ç¤Ï TERM ´Ä¶­ÊÑ¿ô¤Ë -j ¤òÉÕ¤±¤Æ¤¤¤Þ¤·¤¿¡£Î㤨¤Ð kterm ¤Çµ¯Æ°¤¹¤ë¤È uum µ¯Æ°¸å¤Ï TERM ´Ä¶­ÊÑ¿ô¤Ï kterm-j ¤Ë¤Ê¤Ã¤Æ¤¤ ¤Þ¤¹¡£canuum ¤Ç¤Ï -j ¤òÉÕ¤±¤ë¤Î¤ò¤ä¤á¤Æ¤¤¤Þ¤¹¡£ (5) ¥ª¥ê¥¸¥Ê¥ë¤Î uum ¤Ë¸ºß¤¹¤ë°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¤âÅܤê¤Ï¤·¤Þ¤» ¤ó¤¬²¿¤Î¸ú²Ì¤â¤¢¤ê¤Þ¤»¤ó¡£ -c¡¢-r¡¢-n (6) ¥ª¥ê¥¸¥Ê¥ë¤Î uum ¤Ë¸ºß¤¹¤ë°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ÏÍ­¸ú¤Ç¤¹¡£ -H¡¢-h¡¢-U¡¢-J¡¢-S¡¢-u¡¢-j¡¢-s¡¢-X¡¢-x¡¢-l¡¢-D¡¢-k ¤¿¤À¤·¡¢-D ¤Ï jserver ¤Î»ØÄê¤Ç¤Ï¤Ê¤¯ cannaserver ¤Î»ØÄê(¥Ç¥Õ¥©¥ë¥È) ¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ø¤«¤ó¤Ê¡Ù¤Îºî¤êÊý¤Ë¤è¤Ã¤Æ¤Ï -D ¤ËÂФ·¤Æ¡¢ jserver@myhost ¤Î¤è¤¦¤Êµ­½Ò¤ò¼õ¤±ÉÕ¤±¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï cannaserver ¤ÎÂå¤ï¤ê¤Ë Wnn ¤Î jserver ¤ËÀܳ¤·¤Þ¤¹¡£ -D ¥ª¥×¥·¥ç¥ó¤ò¾Êά»þ¤ÎÀܳ¥µ¡¼¥Ð¤Ï CANNAHOST ¤ä¡¢ $(CANNALIBDIR)/cannahost ¤Ê¤É¤Î¡Ø¤«¤ó¤Ê¡ÙŪ¤ÊÄêµÁ¤Ë´ð¤Å¤¤¤Æ·èÄꤵ ¤ì¤Þ¤¹¡£ -k ¥ª¥×¥·¥ç¥ó¤Ï .canna ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ ¤Þ¤¿¡¢-H¡¢-h ¥ª¥×¥·¥ç¥ó¤Ï¤Ò¤ç¤Ã¤È¤·¤¿¤é¤¢¤Þ¤ê´üÂÔÄÌ¤êÆ°¤«¤Ê¤¤¤«¤â ¤·¤ì¤Þ¤»¤ó(É®¼Ô¤¬°ÕÌ£¤òÎɤ¯¤ï¤«¤Ã¤Æ¤¤¤Ê¤¤¤¿¤á)¡£ (7) ¥ª¥ê¥¸¥Ê¥ë¤Î uum ¤Ë¸ºß¤¹¤ë¥Ò¥¹¥È¥êµ¡¹½¤Ï canuum ¤Ç¤Ï»È¤¨¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¥ª¥ê¥¸¥Ê¥ë¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¥ó¥°µ¡¹½¤ä¡¢Ãæ¹ñ¸ì Âбþ¤Ï¡¢canuum ¤Ç¤Ï¹Ô¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥á¥Ã¥»¡¼¥¸¤Ï¥×¥í¥°¥é¥à¤ËľÀÜ ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ (8) ¥á¥Ã¥»¡¼¥¸¤Î¿¤¯¤Ï¥×¥í¥°¥é¥à̾¤ò uum ¤È²¾Äꤷ¤Æ½ÐÎϤµ¤ì¤Þ¤¹¡£ 3. ¥Ð¥° (1) -l ¥ª¥×¥·¥ç¥ó¤Ç 2 °Ê¾å¤ò»ØÄꤷ¤¿»þ¸õÊä°ìÍ÷ɽ¼¨¤ÎÁ°¸å¤Ë¡Ö@¡×¤ä¡ÖH¡× ¤¬½ÐÎϤµ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ (2) üËö¤Î¥ê¥µ¥¤¥º¤ËÂФ¹¤ëÂбþ¤¬¥¹¥Þ¡¼¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ 4. Ãøºî¸¢É½¼¨ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* Copyright 1993 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: README.jp,v 1.3 2003/09/15 14:52:27 aida_s Exp $ */ Canna37p3/canuum/screen.c0100644000076500001200000003554707605506666014616 0ustar shinraadmin/* * screen.c,v 1.7 2002/06/22 13:26:21 hiroo Exp * Canna: $Id: screen.c,v 1.2 2003/01/04 07:31:02 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H # include #endif #include #if STDC_HEADERS # include #else # if HAVE_STRINGS_H # include # endif #endif /* STDC_HEADERS */ #include "commonhd.h" #include "wnn_config.h" #include "sdefine.h" #include "sheader.h" #include "wnn_os.h" #include "buffer.h" /* ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢²èÌÌÀ©¸æÉôʬ¤È¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¹Ô¤¦´Ø¿ô¤ò ÄêµÁ¤·¤Æ¤¤¤ë¡£¤³¤ì¤é¤Î´Ø¿ô¤òÍѤ¤¤º¤Ë¡¢²èÌ̤òÀ©¸æ¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤«¤éextern ¤µ¤ì¤Æ¤¤¤ë´Ø¿ô¤ò¼¨¤¹¡£ ¤Ê¤ª¡¢²èÌ̤ÎÀ©¸æ¤Ï¡¢c_b->buffer ¤ÎÃæ¤Ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÍѤ¤¤Æ ¹Ô¤ï¤ì¤ë¡£º£¡¢c_b->buffer ¤ÎÃæ¤Î¤É¤ÎÉôʬ¤¬²èÌ̤˽Фµ¤ì¤Æ¤¤¤ë ¤«¤Ï°Õ¼±¤·¤Ê¤¯¤Æ¤è¤¤¡£ t_move(x) : ¥«¡¼¥½¥ë¤ò x ¤ËÈô¤Ð¤¹¡£¥ê¥É¥í¡¼¤¬É¬Í× (ȿž¡¢¥«¥»¥ó¤Î ¤¿¤á) ¤ÊÉôʬ¤â¾¡¼ê¤Ë¹Í¤¨¤Æ¹Ô¤Ã¤ÆÍè¤ì¤ë¡£ t_redraw_move(x , start , end,clr_l) : buffer ¤ÎÃæ¤Ç¡¢start ¤«¤é end ¤Þ¤Ç¤Î¥Ð¥Ã¥Õ¥¡¤ÎÆâÍÆ¤¬ ÊѤ¨¤é¤ì¤¿»þ¤Ë¡¢¥«¡¼¥½¥ë¤òx ¤ËÈô¤Ð¤¹¤Î¤ËÍѤ¤¤ë¡£ print_buf_msg(msg) : ¥á¥Ã¥»¡¼¥¸Éôʬ¤òɽ¼¨¤¹¤ë¡£ disp_mode(): romkan ¤Î¥â¡¼¥É¤òɽ¼¨¤¹¤ë¡£ disp_mode_line(): romkan ¤Î¥â¡¼¥É¤òɽ¼¨¤¹¤ë¡£ t_print_l(): ²èÌ̤ò¥ê¥É¥í¡¼¤¹¤ë¡£ t_throw(): ¥«¡¼¥½¥ë¤òÈô¤Ð¤¹ init_screen(): ²èÌÌ´Ø·¸(vst)¤ò¥¤¥Ë¥·¥ã¥é¥¤¥º¤·¡¢²èÌÌɽ¼¨¤ò¹Ô¤¦¡£ */ /* ʸ»ú¤Î²èÌ̾å¤Ç¤ÎÂ礭¤µ¤òÊÖ¤¹¡£*/ static int col = 0; /** startichi¤«¤é¤Î²èÌ̾å¤Î¥«¡¼¥½¥ë°ÌÃÖ */ static int oldmaxcol = 0; /** redraw sita tokini doko made mae ni kaita data ga nokotteiruka wo simesu */ #define CHAR_BYTE 2 #define w_putchar_move(x) {col += w_putchar(x);} #define putchar_move(x) {col += 1; putchar_norm(x);} #define putchar_move1(x) {col += 1; putchar1(x);} #define throw0(x) throw_c((x) + c_b->start_col) /* #define throw(x) {int tmptmp = (x);if(cs == 0 || col != tmptmp){throw0((col = tmptmp) + 1);}} */ /* ¥«¡¼¥½¥ë¤òcol ¤ËÈô¤Ð¤¹¤Î¤Ë¤Ï¡¢throw¤ò ÍѤ¤¤ë¡£ */ #define MARJIN 1 /* ¥«¡¼¥½¥ë¤¬±¦Ã¼¤«¤é¤³¤ì¤À¤±¤Î½ê¤Ë¤¯¤ì¤Ð¡¢¼¡¤Î²èÌ̤˹Ԥ¯ */ static void t_cont_line_note (); static int find_character_on_that_col (), set_vst (); void throw (x) int x; { throw0 ((col = x) + 1); } int char_len (x) w_char x; { return ((*char_len_func) (x)); } /* vst ¤ò¥»¥Ã¥È¤·Ä¾¤·¤Æ¡¢¥ê¥É¥í¡¼¤¹¤ë*/ void t_redraw_one_line () { if (c_b->vst) { t_cont_line_note (); } else { t_cont_line_note_delete (); } t_print_line (c_b->vst, c_b->maxlen, 1); } void init_screen () { int tmp; oldmaxcol = 0; tmp = cur_ichi (c_b->t_c_p, 0); if ((tmp >= c_b->vlen - c_b->duplicate) && (tmp % (c_b->vlen - c_b->duplicate)) < c_b->duplicate - 1) { c_b->vst = find_character_on_that_col ((tmp / (c_b->vlen - c_b->duplicate) - 1) * (c_b->vlen - c_b->duplicate), 0); } else { c_b->vst = find_character_on_that_col ((tmp / (c_b->vlen - c_b->duplicate)) * (c_b->vlen - c_b->duplicate), 0); } if (c_b->maxlen || *c_b->buf_msg) t_print_l (); } /* hituyouga areba vst wo settosinaosite, settosinaosita tokiniha 1 wo kaesu */ int check_vst () { int k = -1; if ((c_b->t_c_p < c_b->vst) || (cur_ichi (c_b->t_c_p, c_b->vst) >= (c_b->vlen - MARJIN)) || (cur_ichi (c_b->t_m_start, c_b->vst) > (c_b->vlen - MARJIN))) { k = set_vst (); } if (k == -1) { return (0); } else { return (1); } } int t_redraw_move (x, start, end, clr_l) int x; int start; int end; int clr_l; { (*t_redraw_move_func) (x, start, end, clr_l); return (0); } int t_move (x) int x; { int old_cp = c_b->t_c_p; if (((c_b->hanten >> 2) & 0x3) != ((c_b->hanten >> 4) & 0x3)) { t_redraw_move_normal (x, min (old_cp, x), max (old_cp, x), 0); return (0); } if (x >= c_b->maxlen) x = c_b->maxlen; c_b->t_c_p = x; if (check_vst ()) { t_redraw_one_line (); } throw (cur_ichi (c_b->t_c_p, c_b->vst)); flush (); return (0); } int t_print_l () { (*t_print_l_func) (); return (0); } #define set_screen_reverse(X,Y){set_hanten_ul(c_b->hanten & X, c_b->hanten & Y);} #define reset_screen_reverse(X,Y){flushw_buf(); if(c_b->hanten & X)h_r_off();if(c_b->hanten & Y)u_s_off(); flush();} #define set_screen_bold(X){flushw_buf(); set_bold(c_b->hanten & X);} #define reset_screen_bold(X){flushw_buf(); reset_bold(c_b->hanten & X);flush();} /* st must be bigger than vst */ /* ¤³¤Î¥Õ¥¡¥¤¥ë¤Ç°ìÈÖ½ÅÍפʴؿô¡£ c_b->buffer ¤ÎÃæ¤Ç¡¢st ¤«¤é end ¤Þ¤Ç¤Ç²èÌ̤˸½¤ì¤Æ¤¤¤ë½ê(vst¤è¤êÀè)¤ò ɽ¼¨¤·Ä¾¤·¡¢¹ÔËö½èÍý¤â¤¹¤ë¡£ ¥ê¥Ð¡¼¥¹¤Î¾õ¶·¤Ï¡¢c_b->hanten¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤ë¡£ */ void t_print_line (st, end, clr_l) int st, end, clr_l; { register int k; register int col1; register int end_of_line = maxlength - disp_mode_length - 1 - c_b->start_col; int tmp; int mst = min (c_b->t_m_start, c_b->t_c_p); int mend = max (c_b->t_m_start, c_b->t_c_p); int bst = c_b->t_b_st; int bend = c_b->t_b_end; int bold = 0; if (end > c_b->maxlen) end = c_b->maxlen; col1 = cur_ichi (st, c_b->vst); if (col1 == -1) { col1 = 0; k = st = c_b->vst; } else { k = st; } for (; end_of_line <= col1; end_of_line += maxlength); throw (col1); if (mst >= 0) { if (st < mst) { set_screen_reverse (0x01, 0x02); for (k = st; k < mst; k++) { if (bold == 0 && k >= bst && k < bend) { set_screen_bold (0x40); bold = 1; } else if (bold && (k < bst || k >= bend)) { reset_screen_bold (0x40); set_screen_reverse (0x01, 0x02); bold = 0; } if (k >= end) { reset_screen_reverse (0x01, 0x02); reset_screen_bold (0x40); bold = 0; goto normal_out; } tmp = char_len (c_b->buffer[k]); if (tmp + col > c_b->vlen) { reset_screen_reverse (0x01, 0x02); reset_screen_bold (0x40); bold = 0; goto end_syori; } w_putchar_move (c_b->buffer[k]); if (col > end_of_line - CHAR_BYTE) { flushw_buf (); if (col < end_of_line) { reset_screen_reverse (0x01, 0x02); reset_screen_bold (0x40); bold = 0; putchar_move (' '); set_screen_reverse (0x01, 0x02); if (k >= bst && k < bend) { set_screen_bold (0x40); bold = 1; } } throw (end_of_line); end_of_line += maxlength; } } reset_screen_reverse (0x01, 0x02); reset_screen_bold (0x40); bold = 0; } if (k < mend) { set_screen_reverse (0x04, 0x08); for (; k < mend; k++) { if (bold == 0 && k >= bst && k < bend) { set_screen_bold (0x40); bold = 1; } else if (bold && (k < bst || k >= bend)) { reset_screen_bold (0x40); set_screen_reverse (0x04, 0x08); bold = 0; } if (k >= end) { reset_screen_reverse (0x04, 0x08); reset_screen_bold (0x40); bold = 0; goto normal_out; } tmp = char_len (c_b->buffer[k]); if (col + tmp > c_b->vlen) { reset_screen_reverse (0x04, 0x08); reset_screen_bold (0x40); bold = 0; goto end_syori; } w_putchar_move (c_b->buffer[k]); if (col > end_of_line - CHAR_BYTE) { flushw_buf (); if (col < end_of_line) { reset_screen_reverse (0x04, 0x08); reset_screen_bold (0x40); bold = 0; putchar_move (' '); set_screen_reverse (0x04, 0x08); if (k >= bst && k < bend) { set_screen_bold (0x40); bold = 1; } } throw (end_of_line); end_of_line += maxlength; } } reset_screen_reverse (0x04, 0x08); reset_screen_bold (0x40); bold = 0; } } if (k < c_b->maxlen && k < end) { set_screen_reverse (0x10, 0x20); for (; k < c_b->maxlen; k++) { if (bold == 0 && k >= bst && k < bend) { set_screen_bold (0x40); bold = 1; } else if (bold && (k < bst || k >= bend)) { reset_screen_bold (0x40); set_screen_reverse (0x10, 0x20); bold = 0; } if (k >= end) { reset_screen_reverse (0x10, 0x20); reset_screen_bold (0x40); bold = 0; goto normal_out; } tmp = char_len (c_b->buffer[k]); if (col + tmp > c_b->vlen) { reset_screen_reverse (0x10, 0x20); reset_screen_bold (0x40); bold = 0; goto end_syori; } w_putchar_move (c_b->buffer[k]); if (col > end_of_line - CHAR_BYTE) { flushw_buf (); if (col < end_of_line) { reset_screen_reverse (0x10, 0x20); reset_screen_bold (0x40); bold = 0; putchar_move (' '); set_screen_reverse (0x10, 0x20); if (k >= bst && k < bend) { set_screen_bold (0x40); bold = 1; } } throw (end_of_line); end_of_line += maxlength; } } reset_screen_reverse (0x10, 0x20); reset_screen_bold (0x40); bold = 0; } normal_out: if (clr_l == 1) { clr_line (); oldmaxcol = col; } else if (clr_l == 2) { clr_line (); oldmaxcol = col; /* k = oldmaxcol - col; oldmaxcol = col; if(k > 0){ push_hrus(); for(; k > 0 ; k--){ putchar_move1(' '); } pop_hrus(); } */ } else { oldmaxcol = max (oldmaxcol, col); } flush (); return; end_syori: for (k = col; k <= c_b->vlen; k++) { putchar_move ('$'); } oldmaxcol = col; flush (); return; } /* ¹Ô¤ÎÀèÆ¬½èÍý */ static void t_cont_line_note () { throw0 (0); putchar_norm ('$'); } /* ¹Ô¤ÎÀèÆ¬½èÍý */ void t_cont_line_note_delete () { throw0 (0); putchar_norm (' '); } /*²èÌ̤Υ³¥é¥à0¤¬¥Ð¥Ã¥Õ¥¡¡¼¤Îstart_point ¤Î»þ¡¢¥³¥é¥àc ¤Ë¤¢¤ëʸ»ú¤òÊÖ¤¹*/ static int find_character_on_that_col (c, start_point) int c; /* colum */ int start_point; /* in_buffer as vst */ { int k; register int end_of_line = maxlength - disp_mode_length - 1 - c_b->start_col; int len = 0; for (k = start_point; k <= c_b->maxlen; k++) { len += char_len (c_b->buffer[k]); if (len >= c) return (k); if (len > end_of_line - CHAR_BYTE) { len = end_of_line; end_of_line += maxlength; } } /*error but default to 0 */ return (0); } /*²èÌ̤Υ³¥é¥à0¤¬¥Ð¥Ã¥Õ¥¡¡¼¤Îstart_point ¤Î»þ¡¢Ê¸»úcp¤Î²èÌ̾å¤Î°ÌÃÖ¤òÊÖ¤¹¡£*/ /* static */ int cur_ichi (cp, start_point) register int cp; int start_point; { register int k; register int end_of_line = maxlength - disp_mode_length - 1 - c_b->start_col; register int len = 0; if (cp < start_point) return (-1); if (cp > c_b->maxlen) cp = c_b->maxlen; for (k = start_point; k < cp; k++) { len += char_len (c_b->buffer[k]); if (len > end_of_line - CHAR_BYTE) { len = end_of_line; end_of_line += maxlength; } } return (len); } void print_buf_msg (msg) char *msg; { push_cursor (); throw_c (0); printf (msg); pop_cursor (); flush (); } /* vst¤ò¥»¥Ã¥È¤¹¤ë*/ /* returns -1 if not changed else returns new start colum */ static int set_vst () { int tmp; int vst1; tmp = cur_ichi (c_b->t_c_p, 0); vst1 = find_character_on_that_col ((tmp / (c_b->vlen - c_b->duplicate)) * (c_b->vlen - c_b->duplicate), 0); if (cur_ichi (c_b->t_m_start, vst1) >= c_b->vlen) { vst1 = c_b->t_c_p; } c_b->vst = vst1; return (vst1); } static char rk_modes[80]; extern char *romkan_dispmode (), *romkan_offmode (); char * get_rk_modes () { char *p; strcpy (rk_modes, (NULL == (p = romkan_dispmode ())? "[ ]" : p)); if ((p = (char *) strchr (rk_modes, ':')) != NULL && *(p + 1)) { set_cur_env (*(++p)); *p = '\0'; } return (rk_modes); } int disp_mode () { push_cursor (); throw_col (0); printf ("%s", get_rk_modes ()); pop_cursor (); flush (); return (0); } /* cursor status is saved before call it */ void display_henkan_off_mode () { char *p; strcpy (rk_modes, (NULL == (p = romkan_offmode ())? "[---]" : p)); throw_col (0); printf ("%s", rk_modes); kk_restore_cursor (); flush (); } /* ¥«¡¼¥½¥ë¤òÈô¤Ð¤¹*/ void t_throw () { throw0 (col + 1); flush (); } void clr_line () { clr_end_screen (); } Canna37p3/canuum/sdefine.h0100644000076500001200000001550107773337051014741 0ustar shinraadmin/* * sdefine.h,v 1.3 2001/06/14 18:16:08 ura Exp * Canna: $Id: sdefine.h,v 1.3.4.2 2003/12/27 17:15:21 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /************************* * define of standard i/o *************************/ #define MAXCHG 80 /* ²òÀϲÄǽʸ»ú¿ô */ /*´Á»ú¥Ð¥Ã¥Õ¥¡(¼¡¸õÊ䡢ñ¸ì¸¡º÷¤Ê¤É)¤ÎÂ礭¤µ */ #define MAX_ICHIRAN_KOSU 36 /* °ìÍ÷ɽ¼¨»ú¤Îɽ¼¨¸Ä¿ô */ #define MAXWORDS MAXJIKOUHO /* ñ¸ì¸¡º÷¤Ç¤Î¸¡º÷¸ì¿ô */ #define NBUN 2 /* nʸÀá²òÀÏ */ #define JISHO_PRIO_DEFAULT 5 /*¼­½ñ¥×¥é¥¤¥ª¥ê¥Æ¥£¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ */ /* ɾ²Á´Ø¿ô¤Î·¸¿ô */ #define HINDOVAL 3 #define LENGTHVAL 100 #define JIRITUGOVAL 1 #define FLAGVAL 200 /*º£»È¤Ã¤¿¤è¥Ó¥Ã¥È¤Î·¸¿ô */ #define JISHOPRIOVAL 5 #define TBL_CNT 10 /* key_table no kazu */ /* Two tables are add. one is for selecting zenkouho's, and the other is jisho-ichiran. */ /* One more table is add, which is used in inspect */ /* Deleted table[7] because those are for Wnn3 */ #define TBL_SIZE 256 #define ESCAPE_CHAR(c) (((c) < ' ') || ((c) == 127)) #define NORMAL_CHAR(c) (((c) >= ' ') && ((c) < 127)) #define NOT_NORMAL_CHAR(c) (((c) >= 128) && ((c) < 160)) #define ONEBYTE_CHAR(c) (!((c) & ~0xff)) /* added by Nide */ /* #define NISEMONO(c) ((c) & 0x80000000) #define HONMONO(c) (!NISEMONO(c)) #define KANJI_CHAR(c) ((c) >= 256 ) */ #define KANJI_CHAR(c) (((c) >= 256 ) && ((c) & 0xff00) != 0x8e00) #define zenkaku(x)(KANJI_CHAR(x) || ESCAPE_CHAR(x)) #define hankaku(x) (!zenkaku(x)) #define ZENKAKU_HYOUJI(x) zenkaku(x) /* CHANGE AFTERWARD TO BE ABLE TO TREAT hakaku katakana. */ #ifndef min #define max(a , b) (((a) > (b))?(a) : (b)) #define min(a , b) (((a) <= (b))?(a) : (b)) #endif #define numeric(x) (((x >= S_NUM)&&(x <= E_NUM))? True : False) #define ISKUTENCODE(x) ((x) == 0xa1a3) struct jisho_ { /* ¼­½ñ´ÉÍýÍÑstructure */ char name[1024]; char hname[1024]; /* ÉÑÅÙ¥Õ¥¡¥¤¥ë̾ */ int dict_no; /* server ¤¬ÊÖ¤·¤Æ¤¯¤ë¼­½ñ¥Ê¥ó¥Ð¡¼ */ int prio; int rdonly; }; struct kansuu { /* kansuu_hyo no entry */ char *kansuumei; char *comment; int romkan_flag; /* Clear Romkan or Not. */ int (*func[TBL_CNT]) (); }; #ifndef w_char #define w_char unsigned short #endif #define printf PRINTF #define fprintf FPRINTF #define remove REMOVE #define throw_c(col) throw_col((col) + disp_mode_length) #define MAX_HISTORY 10 #define flush() fflush(stdout) #define print_msg(X) {push_cursor();throw_c(0); clr_line();printf(X);flush();pop_cursor();} #define print_msg_getc(X) {push_cursor();throw_c(0); clr_line();printf(X);flush();keyin();pop_cursor();} #define UNDER_LINE_MODE (0x02 | 0x08 | 0x20) #define OPT_CONVKEY 0x01 #define OPT_RKFILE 0x02 #define OPT_WNNKEY 0x04 #define OPT_FLOW_CTRL 0x08 #define OPT_WAKING_UP_MODE 0x10 #define OPT_VERBOSE 0x20 #define convkey_defined_by_option (defined_by_option & OPT_CONVKEY) #define rkfile_defined_by_option (defined_by_option & OPT_RKFILE) #define uumkey_defined_by_option (defined_by_option & OPT_WNNKEY) #define verbose_option (defined_by_option & OPT_VERBOSE) /* #define char_len(X)((hankaku(X))? 1 : 2) */ /* GETOPT string & ALL OPTIONS string for configuration. see each config.h for detail. NOTE: WHEN YOU MODIFY THESE, YOU ALSO MODIFY do_opt[] ARRAY AND ALL config.h!!!! */ #define GETOPTSTR "hHPxXk:c:r:l:D:n:v" #define ALL_OPTIONS "hHujsUJSPxXkcrlDnvbtBT" #define OPTIONS "hHPxXkcrlDnv" /* for message file */ struct msg_cat { /* dummy */ int dummy; }; struct msg_cat *msg_open(); #ifdef CANNA char *msg_get(struct msg_cat *cad, int n, char *msg, char *lang); #endif #define MSG_GET(no) msg_get(cd, no, NULL, NULL) #define CWNN_PINYIN 0 #define CWNN_ZHUYIN 1 #define print_out_func (f_table->print_out_function) #define input_func (f_table->input_function) #define call_t_redraw_move_func (f_table->call_t_redraw_move_function) #define call_t_redraw_move_1_func (f_table->call_t_redraw_move_1_function) #define call_t_redraw_move_2_func (f_table->call_t_redraw_move_2_function) #define call_t_print_l_func (f_table->call_t_print_l_function) #define redraw_when_chmsig_func (f_table->redraw_when_chmsig_function) #define char_len_func (f_table->char_len_function) #define char_q_len_func (f_table->char_q_len_function) #define t_redraw_move_func (f_table->t_redraw_move_function) #define t_print_l_func (f_table->t_print_l_function) #define c_top_func (f_table->c_top_function) #define c_end_func (f_table->c_end_function) #define c_end_nobi_func (f_table->c_end_nobi_function) #define call_redraw_line_func (f_table->call_redraw_line_function) #define hani_settei_func (f_table->hani_settei_function) #define errorkeyin_func (f_table->errorkeyin_function) #define call_jl_yomi_len_func (f_table->call_jl_yomi_len_function) #define env_normal (cur_normal_env->env) #define env_reverse (cur_reverse_env->env) #define envrcname (cur_normal_env->envrc_name) #define reverse_envrcname (cur_reverse_env->envrc_name) #define env_name_s (cur_normal_env->env_name_str) #define reverse_env_name_s (cur_reverse_env->env_name_str) #define servername (cur_normal_env->host_name) #define reverse_servername (cur_reverse_env->host_name) #define normal_sticky (cur_normal_env->sticky) #define reverse_sticky (cur_reverse_env->sticky) Canna37p3/canuum/sheader.h0100644000076500001200000003250607605506666014747 0ustar shinraadmin/* * sheader.h,v 1.11 2002/06/22 13:26:21 hiroo Exp * Canna: $Id: sheader.h,v 1.3 2003/01/04 07:31:02 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /************************** * header of standard i/o **************************/ #include "wnn_os.h" typedef int WNN_DIC_INFO; /* dummy */ typedef struct _WnnEnv { char *host_name; /* server name */ struct wnn_env *env; /* env */ int sticky; /* sticky bit */ char *envrc_name; /* envrc name */ char env_name_str[32]; /* env name */ struct _WnnEnv *next; } WnnEnv; typedef struct _FunctionTable { /* functions depends on lang */ int (*print_out_function) (); int (*input_function) (); int (*call_t_redraw_move_function) (); int (*call_t_redraw_move_1_function) (); int (*call_t_redraw_move_2_function) (); int (*call_t_print_l_function) (); int (*redraw_when_chmsig_function) (); int (*char_len_function) (); int (*char_q_len_function) (); int (*t_redraw_move_function) (); int (*t_print_l_function) (); int (*c_top_function) (); int (*c_end_function) (); int (*c_end_nobi_function) (); int (*call_redraw_line_function) (); int (*hani_settei_function) (); void (*errorkeyin_function) (); int (*call_jl_yomi_len_function) (); } FunctionTable; typedef struct _FuncDadaBase { char *lang; FunctionTable f_table; short tty_code, pty_code, internal_code, file_code; int (*code_trans[16]) (); char *ostr; char *getoptstr; int (*do_opt[6]) (); } FuncDataBase; extern int not_redraw; /* c_b->buffer¤òÍѤ¤¤Æ¤¤¤Ê¤¤»þ(¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò ɽ¼¨¤·¤Æ¤¤¤ë¤Ê¤É)¤Ë¡¢¥ê¥É¥í¡¼¤¬¤«¤«¤Ã¤Æ¤â¥ê¥É¥í¡¼¤·¤Ê¤¤¤¿¤á¤Î¥Õ¥é¥° */ extern int maxchg; /*°ìÅÙ¤ËÊÑ´¹¤Ç¤­¤ëʸ»ú¿ô */ extern int maxlength; /* ²èÌ̤β£Éý¤òɽ¤¹ */ extern w_char *input_buffer; /* ²èÌÌÀ©¸æ¤Ë»È¤¦¥Ð¥Ã¥Õ¥¡ */ extern struct wnn_buf *bun_data_; extern WnnEnv *normal_env; extern WnnEnv *reverse_env; extern WnnEnv *cur_normal_env; extern WnnEnv *cur_reverse_env; extern int cur_bnst_; /* current bunsetsu pointer */ /*extern int b_suu_; *//* hold bunsetsu suu */ /* Use jl_bun_suu(bun_data_) */ extern char romkan_clear_tbl[TBL_CNT][TBL_SIZE]; extern int (*main_table[TBL_CNT][TBL_SIZE]) (); /* holding commands */ /* extern w_char *p_holder; *//* points the end of data in buffer. */ extern w_char *knj_buffer; /* ¼­½ñ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼»ÈÍÑ»þ¤Î´Á»ú¥Ð¥Ã¥Õ¥¡ */ extern int crow; /* holding row where i/f uses to display kanji line */ extern w_char *return_buf; /* ³ÎÄꤷ¤¿´Á»ú¤«¤Êº®¤¸¤êʸ¤òÊÖ¤¹¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡ */ extern char Term_Name[]; extern int rubout_code; /* rubout ¤Ë»È¤ï¤ì¤ë¥³¡¼¥É¤òÊÝ»ý¤¹¤ë */ extern int kk_on; /* ²¾Ì¾´Á»úÊÑ´¹²Äǽ¥â¡¼¥É¤«Èݤ«¤ò¼¨¤¹¥Õ¥é¥° */ extern int quote_code; extern int quote_flag; extern int max_history; extern w_char jishopath[]; extern w_char hindopath[]; extern w_char fuzokugopath[]; extern short tty_c_flag; extern short pty_c_flag; extern int cursor_invisible_fun; /* flag that cursor_invisible is in the termcap entry */ extern int keypad_fun; /* flag that keypad is in the termcap entry */ extern int send_ascii_char; /* flag that if send ascii characters when the buffer is empty */ extern int excellent_delete; extern int convkey_on; #define LANGDIRLEN 32 extern char lang_dir[]; extern char uumkey_name_in_uumrc[]; extern char convkey_name_in_uumrc[]; extern char rkfile_name_in_uumrc[]; extern short defined_by_option; extern int conv_lines; extern int flow_control; extern int henkan_off_flag; /* Ω¤Á¾å¤²»þ¤ËÊÑ´¹¤òon/off¤Ë¤·¤¿¾õÂ֤ˤ·¤Þ¤¹ */ extern int henkan_on_kuten; /* ¶çÅÀÆþÎϤÇÊÑ´¹¤¹¤ë/¤·¤Ê¤¤ */ extern char def_servername[]; /* V3.0 */ extern char def_reverse_servername[]; extern char username[]; /* V3.0 */ extern char user_dic_dir[]; /* V3.0 */ extern int remove_cs_from_termcap; extern int disp_mode_length; /* V3.0 Alternate for MHL */ extern int kanji_buf_size; extern int maxbunsetsu; extern int max_ichiran_kosu; /* #define MAXKUGIRI 32 extern w_char kugiri_str[]; */ extern WNN_DIC_INFO *dicinfo; extern int dic_list_size; extern int touroku_comment; extern short internal_code; extern short file_code; extern int (**code_trans) (); extern struct msg_cat *cd; extern FuncDataBase *lang_db; extern FunctionTable *f_table; extern FuncDataBase function_db[]; extern int (*default_code_trans[]) (); /* ============================================================ * extern function prototypes * ============================================================ */ /* jhlp.c */ extern void err (char *); #if !(HAVE_SETENV) extern int setenv(); #endif /* printf.c */ extern void FPRINTF (); extern void PRINTF (); /* to be classified */ extern void b_s_off_raw (void); extern void b_s_on_raw (void); extern int backward (void); extern int buffer_in (void); extern int change_ascii_to_int (char*, int*); extern void change_to_empty_mode (void); extern void change_to_insert_mode (void); extern void clr_end_screen (); extern void clr_line (); extern void clr_line_all (); extern int connect_jserver (int); extern int convert_getterm (); extern int convert_key_setup (); extern int cur_ichi (int, int); extern void cursor_invisible_raw (void); extern void cursor_normal_raw (void); extern int dai_end (struct wnn_buf *, int); extern int dai_top (struct wnn_buf *, int); extern int dic_nickname (int, char*); extern int disconnect_jserver (void); extern int disp_mode (void); extern void display_henkan_off_mode (void); extern int empty_modep (void); extern void epilogue (void); extern void epilogue_no_close (void); extern void errorkeyin (void); extern int eu_columlen (unsigned char *); extern int expand_argument (char *); extern int expand_expr (char *); extern void fill (char *, int); extern int find_dic_by_no (int); extern int find_end_of_tango (int); extern int find_entry (char *); extern void flushw_buf (void); extern int forward_char (void); extern int backward_char (void); extern int getTermData (); extern void get_end_of_history (); extern void getfname (); extern void h_r_off (); extern void h_r_off_raw (); extern void h_r_on (); extern void h_r_on_raw (); extern int henkan_gop (); extern void henkan_if_maru (); extern int henkan_off (); extern int hextodec (); extern int hinsi_in (); extern int init_history (); extern int init_key_table (); extern void init_screen (); extern int init_uum (); extern int initial_message_out (); extern void initialize_vars (); extern int input_a_char_from_function (); extern int insert_char (); extern int insert_char_and_change_to_insert_mode (); extern int insert_modep (); extern int j_term_init (); extern int flush_designate (); extern int jtosj (); extern int jutil (); extern int kakutei (); extern int kana_in (); extern int kana_in_w_char_msg (); extern int keyin1 (); extern int kk (); extern void kk_cursor_invisible (); extern void kk_cursor_normal (); extern void kk_restore_cursor (); extern void kk_save_cursor (); extern int make_history (); extern int make_info_out (); extern int make_jikouho_retu (); extern void make_kanji_buffer (); extern int make_string_for_ke (); extern int next_history1 (); extern int nobasi_tijimi_mode (); extern int nobi_conv (); extern void pop_cursor (); extern void pop_hrus (); extern int previous_history1 (); extern void print_buf_msg (); extern void reset_cursor (); extern void push_cursor (); extern void push_hrus (); extern void putchar1 (); extern void putchar_norm (); extern void puteustring (); extern int reconnect_jserver_body (); extern int redraw_line (); extern int redraw_nisemono (); extern void remove_key_bind (); extern int isconect_jserver (); extern int ren_henkan0 (); extern void reset_bold (); extern void reset_cursor_status (); extern void restore_cursor_raw (); extern void ring_bell (); extern void save_cursor_raw (); extern void scroll_up (); extern int select_jikouho1 (); extern int select_line_element (); extern int select_one_dict1 (); extern int select_one_element (); extern int set_TERMCAP (); extern void set_bold (); extern void set_cursor_status (); extern void set_escape_code (); extern void set_hanten_ul (); extern void set_lc_offset (); extern void set_screen_vars_default (); extern void set_keypad_on (); extern void set_keypad_off (); extern void set_scroll_region (); extern int st_colum (); extern void t_cont_line_note_delete (); extern int t_delete_char (); extern int t_kill (); extern int t_move (); extern int t_print_l (); extern void t_print_line (); extern int t_redraw_move (); extern int t_rubout (); extern void t_throw (); extern int t_yank (); extern int tan_conv (); extern int tan_henkan1 (); extern void throw_col (); extern void throw_cur_raw (); extern void touroku (); extern void u_s_off (); extern void u_s_off_raw (); extern void u_s_on (); extern void u_s_on_raw (); extern int update_dic_list (); extern int uumrc_get_entries (); extern void w_printf (); extern int w_putchar (); extern void w_sttost (); extern int wchartochar (); extern int yes_or_no (); extern int yes_or_no_or_newline (); extern int zenkouho_dai_c (); extern void find_yomi_for_kanji (); extern int check_vst (); extern void t_redraw_one_line (); extern void throw (); extern int keyin (); extern int push_unget_buf (); extern unsigned int *get_unget_buf (); extern int if_unget_buf (); extern int set_cur_env (); extern char env_state (); extern void get_new_env (); extern int call_t_redraw_move_normal (); extern int call_t_redraw_move (); extern int call_t_redraw_move_1_normal (); extern int call_t_redraw_move_1 (); extern int call_t_redraw_move_2_normal (); extern int call_t_redraw_move_2 (); extern int call_t_print_l_normal (); extern int call_t_print_l (); extern int c_top_normal (); extern int c_end_normal (); extern int c_end_nobi_normal (); extern int char_q_len_normal (); extern int char_len_normal (); extern int t_redraw_move_normal (); extern int t_print_l_normal (); extern int call_redraw_line_normal (); extern int call_redraw_line (); extern int hani_settei_normal (); extern void call_errorkeyin (); extern int call_jl_yomi_len (); extern int through (); extern int sStrcpy (); extern int Sstrcpy (); extern char *sStrncpy (); extern w_char *Strcat (); extern w_char *Strncat (); extern int Strncmp (); extern w_char *Strcpy (); extern w_char *Strncpy (); extern int Strlen (); extern void conv_ltr_to_ieuc (); extern int get_cswidth_by_char (); extern int eeuc_to_ieuc (); extern int conv_keyin (); #ifdef JAPANESE extern int eujis_to_iujis (); extern int jis_to_iujis (); extern int sjis_to_iujis (); extern int iujis_to_eujis (); extern int jis_to_eujis (); extern int sjis_to_eujis (); extern int iujis_to_jis8 (); extern int eujis_to_jis8 (); extern int sjis_to_jis8 (); extern int iujis_to_sjis (); extern int eujis_to_sjis (); extern int jis_to_sjis (); extern int do_u_opt (); extern int do_j_opt (); extern int do_s_opt (); extern int do_U_opt (); extern int do_J_opt (); extern int do_S_opt (); #endif /* JAPANESE */ #ifdef CHINESE extern int call_t_redraw_move_yincod (); extern int call_t_redraw_move_1_yincod (); extern int call_t_redraw_move_2_yincod (); extern int call_t_print_l_yincod (); extern int input_yincod (); extern int redraw_when_chmsig_yincod (); extern int c_top_yincod (); extern int c_end_yincod (); extern int c_end_nobi_yincod (); extern int print_out_yincod (); extern int char_q_len_yincod (); extern int char_len_yincod (); extern int t_redraw_move_yincod (); extern int t_print_l_yincod (); extern int call_redraw_line_yincod (); extern int hani_settei_yincod (); extern void errorkeyin_q (); extern int not_call_jl_yomi_len (); extern int cwnn_pzy_yincod (); extern int cwnn_yincod_pzy_str (); extern int icns_to_ecns (); extern int icns_to_big5 (); extern int ecns_to_icns (); extern int ecns_to_big5 (); extern int big5_to_icns (); extern int big5_to_ecns (); extern int iugb_to_eugb (); extern int eugb_to_iugb (); extern int do_b_opt (); extern int do_t_opt (); extern int do_B_opt (); extern int do_T_opt (); #endif /* CHINESE */ #ifdef KOREAN extern int iuksc_to_ksc (); extern int euksc_to_ksc (); extern int iuksc_to_euksc (); extern int ksc_to_euksc (); extern int ksc_to_iuksc (); extern int euksc_to_iuksc (); extern int do_u_opt (); extern int do_U_opt (); #endif /* KOREAN */ extern void romkan_set_lang (); Canna37p3/canuum/termcap.c0100644000076500001200000003061210043301665014734 0ustar shinraadmin/* * termcap.c,v 1.6 2002/06/13 21:27:47 hiroo Exp * Canna: $Id: termcap.c,v 1.3.4.1 2004/04/26 21:48:37 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H # include #endif #include #include #if STDC_HEADERS # include # include #else # if HAVE_MALLOC_H # include # endif # if HAVE_STRINGS_H # include # endif #endif /* STDC_HEADERS */ #include #include #include "commonhd.h" #include "wnn_os.h" #include "sdefine.h" #include "sheader.h" #undef DEFAULT_KKCAP /* declaration about terminal */ int kkcap_mode; int Term_LineWidth; int Term_RowWidth; /* char *Term_Bell; */ char *Term_ClrScreen; char *Term_ClrEofLine; char *Term_CleEndScreen; char *Term_ThrowCursor; char *Term_StandOutStart; /* These variables has value even if terminfo is used. see termio.c. */ char *Term_StandOutEnd; static int bold_mode_fun; char *Term_BoldOutStart; char *Term_BoldOutEnd; /* int Term_StandOutBlankNum; char *Term_DelChar; */ char *Term_UnderScoreStart; char *Term_UnderScoreEnd; char *Term_KeyPadOn; char *Term_KeyPadOff; #ifdef TERMCAP char *Term_CursorNormal; char *Term_CursorInvisible; char *Term_SaveCursor; char *Term_RestoreCursor; char *Term_SetScrollRegion; char *Term_ScrollRegion; char *Term_ResetScreen; char TermDataArea[1024]; static char TermData[1024]; int cursor_state; #ifdef DCUREOR FILE *debugc; #endif int getTermData () { char *name; char *pter; char *sr_set (); char *j; extern char *getenv (), *get_kbd_env (); #ifdef DCUREOR if ((debugc = fopen (DP, "w")) == NULL) { fprintf (stderr, "OPEN ERR IN %d. \n", DP); } #endif /* for convert_key --- added by Nide 10/3 */ if (NULL == (name = get_kbd_env ()) || 0 != convert_getterm (name, (0 != verbose_option))) { fprintf (stderr, "Cannot get keyboard information.\n"); return (-1); } if (((name = getenv ("TERM")) == NULL) || (tgetent (TermData, name) <= 0)) { fprintf (stderr, "Cannot get terminal information.\n"); return (-1); } strcpy (Term_Name, name); pter = TermDataArea; Term_ResetScreen = tgetstr ("rs", &pter); Term_UnderScoreEnd = tgetstr ("ue", &pter); if (!((Term_UnderScoreEnd = tgetstr (j = "ue", &pter)) && ((Term_LineWidth = tgetnum (j = "co")) != -1) && ((Term_RowWidth = tgetnum (j = "li")) != -1) && /* line */ /* (Term_Bell = tgetstr(j = "bl", &pter)) && */ (Term_ClrScreen = tgetstr (j = "cl", &pter)) && (Term_ClrEofLine = tgetstr (j = "ce", &pter)) && (Term_CleEndScreen = tgetstr (j = "cd", &pter)) && (Term_ThrowCursor = tgetstr (j = "cm", &pter)) && /* Check padding */ (Term_StandOutStart = tgetstr (j = "so", &pter)) && (Term_StandOutEnd = tgetstr (j = "se", &pter)) && /* ((Term_StandOutBlankNum = tgetnum(j = "sg")) != -1) && (Term_DelChar = tgetstr(j = "dc", &pter)) && */ (Term_UnderScoreStart = tgetstr (j = "us", &pter)) && (Term_SaveCursor = tgetstr (j = "sc", &pter)) && (Term_RestoreCursor = tgetstr (j = "rc", &pter)) && (Term_SetScrollRegion = tgetstr (j = "cs", &pter)) && (Term_ScrollRegion = sr_set (&pter, 0, Term_RowWidth - 2)))) { fprintf (stderr, "Your terminal doesn't have %s entry in termcap.\n", j); fprintf (stderr, "Maybe, your terminal is not strong enough to use Uum!\n"); return (-1); } if (Term_BoldOutStart && Term_BoldOutEnd) { bold_mode_fun = 1; } else { bold_mode_fun = 0; } Term_BoldOutStart = tgetstr ("md", &pter); Term_BoldOutEnd = tgetstr ("me", &pter); Term_CursorInvisible = tgetstr ("vi", &pter); Term_CursorNormal = tgetstr ("ve", &pter); if (Term_CursorInvisible && Term_CursorNormal) { cursor_invisible_fun = 1; } else { cursor_invisible_fun = 0; } Term_KeyPadOn = tgetstr ("ks", &pter); Term_KeyPadOff = tgetstr ("ke", &pter); if (Term_KeyPadOn && Term_KeyPadOff) { keypad_fun = 1; } else { keypad_fun = 0; } /* and needs more precise check of Terminal status. */ #ifdef DGUX /* copied from JLS5.4.2 */ { struct winsize ws; if ((ioctl (0, TIOCGWINSZ, &ws) == 0) && (ws.ws_row > 0) && (ws.ws_col > 0)) { Term_LineWidth = ws.ws_col; Term_RowWidth = ws.ws_row; } } #endif /* DGUX */ maxlength = Term_LineWidth; crow = Term_RowWidth - conv_lines; /* decfline(TermData); decfline is moved after reading uumrc.*/ return (0); } char * strsch (str1, str2) char *str1, *str2; { char *c = NULL; int flag = 0; for (; *str1++;) { if (!flag) { if (*str1 == *str2) { flag = 1; c = str2 + 1; } } else { if (*c == 0) return (str1); if (*c++ != *str1) flag = 0; } } return (NULL); } /* Remove an entry from TERMCAP string by T.S. */ static char * remove (p, ob) char *p, *ob; { char *r; if ((r = strsch (p, ob)) != NULL) { p = r - strlen (ob); for (; *r != ':'; r++); strcpy (p, r); }; return (r); } static void strascii (); static int decfline (); int set_TERMCAP () { return (decfline (TermData)); } /** termcap no entry no naka de li: to cs: wo kakikaemasu */ static int decfline (name) char *name; { char *name1; char *c; if ((name1 = malloc (strlen (name) + 1024)) == NULL) { return (-1); } if ((c = strsch (name, "li#")) != NULL) { strncpy (name1, name, c - name); name1[c - name] = 0; for (; *c >= '0' && *c <= '9'; c++); sprintf (name1 + strlen (name1), "%d", crow); strcat (name1, c); } /* add rs entry to termcap */ remove (name1, ":rs"); strcat (name1, "rs="); if (Term_ResetScreen) strascii (name1 + strlen (name1), Term_ResetScreen); strascii (name1 + strlen (name1), Term_ScrollRegion); strcat (name1, ":"); if (remove_cs_from_termcap) { remove (name1, ":cs"); } remove (name1, ":sc"); remove (name1, ":rc"); setenv ("TERMCAP", name1, 1); free (name1); return (0); } /* functions using Terminal Information. */ char * sr_set (st, start, end) int start, end; char **st; { char *string = *st; char *pt = Term_SetScrollRegion; char *pt1; char nextch; int params[2]; int i = 0; /* points tp params */ *string = 0; params[0] = start; params[1] = end; for (; *pt != 0; pt++) { if (i > 2) { fprintf (stderr, "ERROR in tparam few parameters."); /* Message ga wakaridurai? */ return (NULL); } if (*pt == '%') { switch (*++pt) { case 'd': sprintf (string + strlen (string), "%d", params[i++]); break; case '2': sprintf (string + strlen (string), "%2d", params[i++]); break; case '3': sprintf (string + strlen (string), "%3d", params[i++]); break; case '.': sprintf (string + strlen (string), "%c", params[i++]); break; case '+': if (!(nextch = *++pt)) { fprintf (stderr, "Unexpected EOL in cs string.\n"); return NULL; } sprintf (string + strlen (string), "%c", params[i++] + nextch); break; case '>': if (!(nextch = *++pt)) { fprintf (stderr, "Unexpected EOL in cs string.\n"); return NULL; } if (params[i] > nextch) { if (!(nextch = *++pt)) { fprintf (stderr, "Unexpected EOL in cs string.\n"); return NULL; } params[i] += nextch; } break; case 'p': /* our terminal library is terminfo in fact */ /* skip this */ if (!(nextch = *++pt)) { fprintf (stderr, "Unexpected EOL in cs string.\n"); return NULL; } break; case 'r': { int temp; temp = params[0]; params[0] = params[1]; params[1] = temp; } break; case 'i': params[0]++; params[1]++; break; case '%': strcat (string, "%"); break; case 'n': params[0] ^= 0140; params[1] ^= 0140; break; case 'B': params[i] = ((params[i] / 10) << 4) + params[i] % 10; break; case 'D': params[i] = params[i] - 2 * (params[i] % 16); break; case '\0': fprintf (stderr, "Unexpected EOL in cs string.\n"); return NULL; } } else { pt1 = string + strlen (string); *pt1 = *pt; *++pt1 = 0; } } *st = string + strlen (string); return (string); } void set_keypad_on () { tputs (Term_KeyPadOn, 1, putchar); } void set_keypad_off () { tputs (Term_KeyPadOff, 1, putchar); } void set_scroll_region (start, end) int start, end; { char *a; char TERM_SCROLLREGION[24]; a = TERM_SCROLLREGION; sr_set (&a, start, end); /* changed in June 9 */ fputs (TERM_SCROLLREGION, stdout); } void clr_end_screen () { tputs (Term_CleEndScreen, 1, putchar); } void clr_screen () { tputs (Term_ClrScreen, Term_RowWidth, putchar); } void clr_line1 () { tputs (Term_ClrEofLine, 1, putchar); } void throw_cur_raw (col, row) int col, row; { tputs (tgoto (Term_ThrowCursor, col, row), 1, putchar); } void h_r_on_raw () { tputs (Term_StandOutStart, 1, putchar); } void h_r_off_raw () { tputs (Term_StandOutEnd, 1, putchar); } void u_s_on_raw () { tputs (Term_UnderScoreStart, 1, putchar); } void u_s_off_raw () { tputs (Term_UnderScoreEnd, 1, putchar); flush (); } void b_s_on_raw () { if (bold_mode_fun) tputs (Term_BoldOutStart, 1, putchar); else tputs (Term_UnderScoreStart, 1, putchar); flush (); } void b_s_off_raw () { if (bold_mode_fun) tputs (Term_BoldOutEnd, 1, putchar); else tputs (Term_UnderScoreEnd, 1, putchar); flush (); } void ring_bell () { putchar (Ctrl ('G')); flush (); /* tputs(Term_Bell, 1, putchar); */ } void save_cursor_raw () { tputs (Term_SaveCursor, 1, putchar); } void restore_cursor_raw () { tputs (Term_RestoreCursor, 1, putchar); } void cursor_invisible_raw () { tputs (Term_CursorInvisible, 1, putchar); } void cursor_normal_raw () { fputs (Term_CursorNormal, stdout); } static void strascii (dest, str) unsigned char *dest, *str; { for (; *str; str++) { if (*str >= ' ') { *dest++ = *str; } else if (*str == '\033') { *dest++ = '\\'; *dest++ = 'E'; } else { *dest++ = '^'; *dest++ = *str + '@'; } } *dest = '\0'; } #endif /* TERMCAP */ Canna37p3/canuum/termio.c0100644000076500001200000001432407773337051014620 0ustar shinraadmin/* * termio.c,v 1.4 2002/06/13 21:27:47 hiroo Exp * Canna: $Id: termio.c,v 1.5.2.2 2003/12/27 17:15:21 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H # include #endif #include #if STDC_HEADERS # include #endif /* STDC_HEADERS */ #include "commonhd.h" #include "sdefine.h" #include "sheader.h" #include "wnn_os.h" #ifdef TERMINFO #include #ifdef putchar #undef putchar #endif extern int putchar (); extern char Term_Name[]; extern char *Term_UnderScoreStart; extern char *Term_UnderScoreEnd; extern char *Term_ClrScreen; extern char *Term_ClrEofLine; extern char *Term_ThrowCursor; extern char *Term_StandOutStart; extern char *Term_StandOutEnd; extern char *Term_BoldOutStart; extern char *Term_BoldOutEnd; static int bold_mode_fun = 0; int openTermData () { char *cp, *get_kbd_env (); int status; int k; char lcode[10]; char termchar[20]; char errprefix[1024] = "error"; /* for convert_key --- added by Nide 10/3 */ if (NULL == (cp = get_kbd_env ()) || 0 != convert_getterm (cp, (0 != verbose_option))) { fprintf (stderr, "Cannot get keyboard information.\n"); return (-1); } if ((cp = getenv ("TERM")) == NULL) { fprintf (stderr, "Cannot get terminal name."); return (-1); } strcpy (Term_Name, cp); #ifndef CANNA if ((strlen (Term_Name) > 2) && (strcmp (Term_Name + (strlen (Term_Name) - 2), "-j") == 0)) { fprintf (stderr, MSG_GET (4)); /* fprintf(stderr,"Uum:£õ£õ£í¤«¤é£õ£õ£í¤Ï¤ª¤³¤»¤Þ¤»¤ó¡£\n"); */ return (-1); } #endif /* CANNA */ setupterm (0, 1, &status); /* This seems needless and causes hangs on Solaris8 + ncurses */ /* reset_shell_mode (); */ if (status != 1) { return (-1); } #if defined(uniosu) if (jterm < 2) { /* kanji terminal */ fprintf (stderr, "Not kanji terminal. Goodbye !\n"); return (-1); } #endif /* defined(uniosu) */ if (save_cursor == (char *) NULL || *save_cursor == NULL || restore_cursor == (char *) NULL || *restore_cursor == NULL || change_scroll_region == (char *) NULL || *change_scroll_region == NULL) { fprintf (stderr, "Your terminal is not strong enough. Goodbye !\n"); return (-1); } #ifndef CANNA termchar[0] = 0; strcat (termchar, cp); strcat (termchar, "-j"); if (setenv ("TERM", termchar, 1) != 0) { #if HAVE_SNPRINTF snprintf (errprefix, sizeof (errprefix), "error at %s (%d)", __FILE__, __LINE__); #endif /* HAVE_SNPRINTF */ perror (errprefix); exit (1); } #endif /* CANNA */ sprintf (lcode, "%d", lines - conv_lines); if (setenv ("LINES", lcode, 1) != 0) { #if HAVE_SNPRINTF snprintf (errprefix, sizeof (errprefix), "error at %s (%d)", __FILE__, __LINE__); #endif /* HAVE_SNPRINTF */ perror (errprefix); exit (1); } if (cursor_normal && cursor_invisible) { cursor_invisible_fun = 1; } else { cursor_invisible_fun = 0; } if (keypad_xmit && *keypad_xmit && keypad_local && *keypad_local) { keypad_fun = 1; } else { keypad_fun = 0; } Term_UnderScoreEnd = exit_underline_mode; Term_UnderScoreStart = enter_underline_mode; Term_StandOutEnd = exit_standout_mode; Term_StandOutStart = enter_standout_mode; if (enter_bold_mode && exit_attribute_mode) bold_mode_fun = 1; else bold_mode_fun = 0; Term_BoldOutStart = enter_bold_mode; Term_BoldOutEnd = exit_attribute_mode; return (0); } void closeTermData () { resetterm (); reset_shell_mode (); } void set_keypad_on () { tputs (keypad_xmit, 1, putchar); } void set_keypad_off () { tputs (keypad_local, 1, putchar); } void set_scroll_region (start, end) int start, end; { tputs (tparm (change_scroll_region, start, end, 4, 5, 6, 7, 8, 9, 10), 1, putchar); } void clr_end_screen () { tputs (clr_eos, 1, putchar); } void clr_screen () { tputs (clear_screen, lines, putchar); Term_ClrScreen = clear_screen; } void clr_line1 () { tputs (clr_eol, 1, putchar); Term_ClrEofLine = clr_eol; } void throw_cur_raw (col, row) int col, row; { tputs (tparm (cursor_address, row, col, 4, 5, 6, 7, 8, 9, 10), 1, putchar); } void h_r_on_raw () { tputs (enter_standout_mode, 1, putchar); } void h_r_off_raw () { tputs (exit_standout_mode, 1, putchar); } void u_s_on_raw () { tputs (enter_underline_mode, 1, putchar); } void u_s_off_raw () { tputs (exit_underline_mode, 1, putchar); } void b_s_on_raw () { if (bold_mode_fun) tputs (enter_bold_mode, 1, putchar); else tputs (enter_underline_mode, 1, putchar); } void b_s_off_raw () { if (bold_mode_fun) tputs (exit_attribute_mode, 1, putchar); else tputs (exit_underline_mode, 1, putchar); } void ring_bell () { tputs (bell, 1, putchar); flush (); } void save_cursor_raw () { tputs (save_cursor, 1, putchar); } void restore_cursor_raw () { tputs (restore_cursor, 1, putchar); } void cursor_invisible_raw () { tputs (cursor_invisible, 1, putchar); } void cursor_normal_raw () { tputs (cursor_normal, 1, putchar); } #endif /* TERMINFO */ Canna37p3/canuum/uumimport.sh0100755000076500001200000000024107606166520015542 0ustar shinraadmin#!/bin/sh # $Id: uumimport.sh,v 1.3 2003/01/06 02:43:28 aida_s Exp $ date=20021221 cd freewnn-uum CVS_RSH=ssh cvs import -I ! canna/canuum FREEWNN freewnn_$date Canna37p3/canuum/wnn_config.h0100644000076500001200000001300507607556320015446 0ustar shinraadmin/* * wnn_config.h,v 1.5 2001/09/16 11:50:47 hiroo Exp * Canna: $Id: wnn_config.h,v 1.4 2003/01/10 14:46:40 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef WNN_CONFIG_H #define WNN_CONFIG_H #ifdef TAIWANESE #ifndef CHINESE #define CHINESE #endif #endif #define WNN_USERNAME_ENV "WNNUSER" #define WNN_JSERVER_ENV "JSERVER" #define WNN_CSERVER_ENV "CSERVER" #define WNN_KSERVER_ENV "KSERVER" #define WNN_TSERVER_ENV "TSERVER" #define WNN_J_LANG "ja_JP" #define WNN_C_LANG "zh_CN" #define WNN_K_LANG "ko_KR" #define WNN_T_LANG "zh_TW" #ifdef JAPANESE #define WNN_DEFAULT_LANG WNN_J_LANG #define WNN_DEF_SERVER_ENV WNN_JSERVER_ENV #else /* JAPANESE */ #ifdef CHINESE #ifdef TAIWANESE #define WNN_DEFAULT_LANG WNN_T_LANG #define WNN_DEF_SERVER_ENV WNN_TSERVER_ENV #else /* TAIWANESE */ #define WNN_DEFAULT_LANG WNN_C_LANG #define WNN_DEF_SERVER_ENV WNN_CSERVER_ENV #endif /* TAIWANESE */ #else /* CHINESE */ #ifdef KOREAN #define WNN_DEFAULT_LANG WNN_K_LANG #define WNN_DEF_SERVER_ENV WNN_KSERVER_ENV #else /* KOREAN */ #define WNN_DEFAULT_LANG WNN_J_LANG #define WNN_DEF_SERVER_ENV WNN_JSERVER_ENV #endif /* KOREAN */ #endif /* CHINESE */ #endif /* JAPANESE */ #define WNN_UUM_ENV "UUMRC" #define WNN_KEYBOARD_ENV "KEYBOARD" #define WNN_COUNTDOWN_ENV "UUM_COUNTDOWN" #define PATHNAMELEN 256 /* for jserver */ #ifndef SERVER_INIT_FILE # ifdef JAPANESE # define SERVER_INIT_FILE "/ja_JP/jserverrc" # else /* JAPANESE */ # ifdef CHINESE # ifdef TAIWANESE # define SERVER_INIT_FILE "/zh_TW/tserverrc" # else /* TAIWANESE */ # define SERVER_INIT_FILE "/zh_CN/cserverrc" # endif /* TAIWANESE */ # else /* CHINESE */ # ifdef KOREAN # define SERVER_INIT_FILE "/ko_KR/kserverrc" # else /* KOREAN */ # define SERVER_INIT_FILE "/ja_JP/jserverrc" /* Default */ # endif /* KOREAN */ # endif /* CHINESE */ # endif /* JAPANESE */ #endif #define JSERVER_DIR LIBDIR /* for uum */ #define RCFILE "/uumrc" /* LIBDIR/@LANG/RCFILE */ #define USR_UUMRC "/.uumrc" #define RKFILE "/rk/mode" /* LIBDIR/@LANG/RKFILE */ #define CPFILE "/uumkey" /* LIBDIR/@LANG/CPFILE */ #define MESSAGEFILE "/message_file" #define CONVERT_FILENAME "/cvt_key_tbl" #define ENVRCFILE "/wnnenvrc" #ifndef HINSIDATA_FILE # define HINSIDATA_FILE "/ja_JP/hinsi.data" #endif /* HINSIDATA_FILE */ #define USR_DIC_DIR_VAR "@USR" /* if you wish to do flow control active for your tty, define FLOW_CONTROL to 1. note that this 'tty' means the tty from which wnn is invoked. */ #define FLOW_CONTROL 0 #define C_LOCAL '!' /* For Local File Name. Local File Name is send as "Hostname!Filename" when C_LOCAL is '!'. It is also used in jl_library to specify local file-name, that is, file-names which start with this character are considered to be local. */ /* define default kanji code system for your 'tty' side and 'pty' side. 'tty' side (TTY_KCODE) means 'your terminal's code'. 'pty' side (PTY_KCODE) means 'application's code'. */ #ifdef luna # ifdef uniosu #define TTY_KCODE J_EUJIS #define PTY_KCODE J_EUJIS # else /* defined(MACH) || defined(uniosb) */ #define TTY_KCODE J_EUJIS #define PTY_KCODE J_EUJIS # endif #else /* !luna */ # ifdef DGUX #define TTY_KCODE J_EUJIS #define PTY_KCODE J_EUJIS # else /* !DGUX */ #define TTY_KCODE J_JIS #define PTY_KCODE J_JIS # endif #endif #define TTY_CCODE C_EUGB #define PTY_CCODE C_EUGB #define TTY_TCODE C_BIG5 #define PTY_TCODE C_BIG5 #define TTY_HCODE K_EUKSC #define PTY_HCODE K_EUKSC /* OPTIONS defines what options are available. define it by modifying ALL_OPTIONS string. if you wish to make some option abailable, leave that character unchanged. else turn that character some non-option character, ex. '*'. TAKE CARE NOT TO MOVE CHARACTER POSITION, ORDER, ETC!! see sdefine.h for precise definition of ALL_OPTIONS. defines below may be incorrect. #define GETOPTSTR "hHujsUJSPxXk:c:r:l:D:n:vL:" #define ALL_OPTIONS "hHujsUJSPxXkcrlDnvL" #ifndef OPTIONS #define OPTIONS ALL_OPTIONS #endif */ #define WNN_TIMEOUT 5 /* connect ¤ÎºÝ¤Ë£µÉÃÂԤĤó¤À¤è */ #define WNN_DISP_MODE_LEN 5 /* ¥â¡¼¥Éɽ¼¨¤ËɬÍפÊcolumn¿ô */ #endif /* WNN_CONFIG_H */ Canna37p3/canuum/wnn_os.h0100644000076500001200000001403707606157310014623 0ustar shinraadmin/* * wnn_os.h,v 1.12 2002/06/22 13:24:31 hiroo Exp * Canna: $Id: wnn_os.h,v 1.5 2003/01/06 01:41:28 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef WNN_OS_H #define WNN_OS_H #ifdef HAVE_CONFIG_H # include #endif /* system headers needed for system dependent configuration */ #include #if STDC_HEADERS # include # include #endif /* STDC_HEADERS */ #include #include #if HAVE_SYS_PARAM_H # include #endif /* ncurses' term.h defines them to either 0 or 1! */ #ifndef HAVE_TERMIOS_H # define DONT_HAVE_TERMIOS_H #endif #ifndef HAVE_TERMIO_H # define DONT_HAVE_TERMIO_H #endif #ifndef HAVE_SYS_TERMIO_H # define DONT_HAVE_SYS_TERMIO_H #endif #ifndef HAVE_SGTTY_H # define DONT_HAVE_SGTTY_H #endif #ifdef CONFIG_TERMINFO # if defined(HAVE_TERMINFO) # if defined(HAVE_CURSES_H) # include # elif defined(HAVE_NCURSES_H) # include # else # error "no terminfo header" # endif # ifdef HAVE_TERM_H # include # endif # else /* !HAVE_TERMINFO */ # if defined(HAVE_TERMCAP_H) # include # endif # endif #endif #ifndef CONFIG_TERMINFO #ifdef TERMINFO #include #include #endif #endif #ifdef DONT_HAVE_TERMIOS_H # undef HAVE_TERMIOS_H # undef DONT_HAVE_TERMIOS_H #endif #ifdef DONT_HAVE_TERMIO_H # undef HAVE_TERMIO_H # undef DONT_HAVE_TERMIO_H #endif #ifdef DONT_HAVE_SYS_TERMIO_H # undef HAVE_SYS_TERMIO_H # undef DONT_HAVE_SYS_TERMIO_H #endif #ifdef DONT_HAVE_SGTTY_H # undef HAVE_SGTTY_H # undef DONT_HAVE_SGTTY_H #endif /* strchr vs. index, etc. */ #if (HAVE_MEMSET) && !(HAVE_BZERO) # define bzero(adr,n) memset((adr),0,(n)) #endif #if !(HAVE_STRCHR) && (HAVE_INDEX) # define strchr index #endif #if !(HAVE_STRRCHR) && (HAVE_RINDEX) # define strrchr rindex #endif /* SIGNAL */ #ifdef SYSVR2 #ifndef re_signal # define re_signal(x, y) signal((x), (y)) #endif #else # define re_signal(x, y) #endif #if !defined (SIGCHLD) && defined (SIGCLD) # define SIGCHLD SIGCLD #endif typedef RETSIGTYPE (*intfnptr) (); /* Temporally place the number of filedescripters hack here. */ #if HAVE_GETDTABLESIZE # define WNN_NFD getdtablesize() #elif defined (OPEN_MAX) # define WNN_NFD OPEN_MAX #elif defined (NOFILE) # define WNN_NFD NOFILE #endif /* HAVE_GETDTABLESIZE */ /* pseudo ramdom number */ #if !defined (RAND_MAX) # if defined (INT_MAX) # define RAND_MAX INT_MAX # else # define RAND_MAX 0x7fffffff # endif /* INT_MAX */ #endif /* RAND_MAX*/ #if HAVE_DRAND48 # define DRAND() drand48 () # define SDRAND(x) srand48 (x) #elif HAVE_RAMDOM # define DRAND() ((double) random() / (double) RAND_MAX) # define SDRAND(x) srandom (x) #else # define DRAND() ((double) rand() / (double) RAND_MAX) # define SDRAND(x) srand (x) #endif /* HAVE_DRAND48 */ #if HAVE_RANDOM # define RAND() random () # define SRAND(x) srandom (x) #else # define RAND() rand () # define SRAND(x) srand (x) #endif /* HAVE_RANDOM */ #if !defined(HAVE_FD_SET) && !defined(FD_SET) && defined(HAVE_UNISTD_H) #include /* to define FD_SET */ #endif #if defined(HAVE_FD_SET) || defined(FD_SET) typedef fd_set wnn_fd_set; #define WNN_FD_SET FD_SET #define WNN_FD_CLEAR FD_CLEAR #define WNN_FD_ISSET FD_ISSET #define WNN_FD_ZERO FD_ZERO #else typedef unsigned long wnn_fd_mask; #define BINTSIZE (sizeof(unsigend long) *8) #define WNN_FD_SETSIZE WNN_NFD #define WNN_FD_SET_WIDTH ((WNN_FD_SETSIZE) + (BINTSIZE - 1U) / (BINTSIZE)) typedef struct wnn_fd_set { wnn_fd_mask fds_bits[WNN_FD_SET_WIDTH]; } #define WNN_FD_SET(pos,array) (array[pos/BINTSIZE] |= (1<<(pos%BINTSIZE))) #define WNN_FD_CLR(pos,array) (array[pos/BINTSIZE] &= ~(1<<(pos%BINTSIZE))) #define WNN_FD_ISSET(pos,array) (array[pos/BINTSIZE] & (1<<(pos%BINTSIZE))) #define WNN_FD_ZERO(array) (bzero (array, WNN_FD_SET_WIDTH)) #endif /* !(HAVE_FD_ZERO || defined (FD_ZERO)) */ #ifdef HAVE_KILLPG # define KILLPG(pgrp, sig) killpg(pgrp, sig) #else # define KILLPG(pgrp, sig) kill(-(pgrp), sig) #endif /* HAVE_KILLPG */ #if defined(HAVE_GETPGID) /* SVR4 and most modern systems */ # define GETPGID(pid) getpgid(pid) #elif defined(HAVE_GETPGRP) && !defined(GETPGRP_VOID) /* 4.3BSD */ # define GETPGID(pid) getpgrp(pid) #elif defined(uniosu) # define GETPGID(pid) ngetpgrp(pid) #else /* no way to get process group id */ #endif /* GETPGID */ #if defined(HAVE_GETPGRP) && defined(GETPGRP_VOID) /* POSIX, SysV */ # define GETMYPGRP() getpgrp() #elif defined(GETPGID) # define GETMYPGRP() GETPGID(getpid()) #else /* probably some build error occured */ # error "don't know how to get my process group id" #endif /* GETMYPGRP */ /* function prototypes (temporal use. need reconstruction) */ unsigned int create_cswidth (char *s); /* xutoj.c */ int euksc_to_ksc (unsigned char *ksc, unsigned char *euksc, int eusiz); /* xutoj.c */ int get_short (short *sp, FILE *ifpter); /* bdic.c */ #endif /* WNN_OS_H */ Canna37p3/canuum/xutoj.c0100644000076500001200000016522007605506666014500 0ustar shinraadmin/* * xutoj.c,v 1.7 2002/03/24 01:25:13 hiroo Exp * Canna: $Id: xutoj.c,v 1.3 2003/01/04 07:31:02 aida_s Exp $ */ /* * FreeWnn is a network-extensible Kana-to-Kanji conversion system. * This file is part of FreeWnn. * * Copyright Kyoto University Research Institute for Mathematical Sciences * 1987, 1988, 1989, 1990, 1991, 1992 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 * Copyright FreeWnn Project 1999, 2000, 2002 * * Maintainer: FreeWnn Project * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H # include #endif #define NEED_CR #if STDC_HEADERS # include # include #elif HAVE_STRINGS_H # include #endif /* STDC_HEADERS */ #include "commonhd.h" #include "wnn_config.h" #include "wnn_os.h" #define ECNS_IS_UCNS 1 /* The trust CNS is CNS11643 based on ISO2022, but the CNS is binded on EUC */ #define NON_LIMIT 0x7FFFFFFF #define G0 0 #define G1 1 #define G2 2 #define G3 3 #define SS 4 #define GL 1 #define GR 2 #define LS0 0x0f #define LS1 0x0e #define LS1R 0x7e #define LS2 0x6e #define LS2R 0x7d #define LS3 0x6f #define LS3R 0x7c #define SS2 0x8e #define SS3 0x8f #define CS_MASK 0x8080 #define CS0_MASK 0x0000 #define CS1_MASK 0x8080 #define CS2_MASK 0x0080 #define CS3_MASK 0x8000 #define CS1 0 #define CS2 1 #define CS3 2 #define UJIS_CSWIDTH "2,1,2" #define UGB_CSWIDTH "2,1,2" #define UKSC_CSWIDTH "2,1,2" typedef struct _CSWidthTable { int cs1, cs2, cs3; } CSWidthTable; typedef struct _cswidth_name_struct { char *lang; char *name; char *def_name; } cswidth_name_struct; typedef struct _DesignateTable { unsigned char *code; unsigned int mask; } DesignateTable; static int _etc_cs[3] = { 2, 1, 2 }; static int _etc_cs_len[3] = { 2, 1, 2 }; static int cs_mask[3] = { 0x8080, 0x0080, 0x8000 }; static int default_glr_mode[3] = { 0, G0, G1 }; static int save_glr_mode[2]; static int default_gn_len[4] = { 1, 1, 1, 2 }; static unsigned int default_gn_mask[4] = { 0x00, 0x80, 0x80, 0x8000 }; static DesignateTable default_designate[4] = { {(unsigned char *) "(B", 0x0}, {(unsigned char *) NULL, 0x0} }; static int *glr_mode = default_glr_mode; static int *gn_len = default_gn_len; static unsigned int *gn_mask = default_gn_mask; static unsigned char save_seq[6] = { '\0' }; static int save_seq_len = 0; static int pending_esc = 0; static unsigned char pending = '\0'; static w_char pending_mask = (w_char) 0; static DesignateTable *designate = default_designate; #ifdef JAPANESE static DesignateTable JIS_designate[] = { {(unsigned char *) "(B", 0x0}, {(unsigned char *) "(J", 0x0}, {(unsigned char *) "(I", 0x80}, {(unsigned char *) "$B", 0x8080}, {(unsigned char *) "$(B", 0x8080}, {(unsigned char *) ")I", 0x80}, {(unsigned char *) "$)B", 0x8080}, {(unsigned char *) "$)D", 0x8000}, {(unsigned char *) "$(D", 0x8000}, {(unsigned char *) NULL, 0x0} }; #endif /* JAPANESE */ #ifdef CHINESE #ifndef ECNS_IS_UCNS static DesignateTable CNS_designate[] = { {(unsigned char *) "(B", 0x0}, {(unsigned char *) "$)0", 0x8080}, {(unsigned char *) "$*1", 0x8000}, {NULL, 0x0} }; #endif /* ECNS_IS_UCNS */ #endif /* CHINESE */ #ifdef KOREAN static DesignateTable KSC_designate[] = { {(unsigned char *) "(B", 0x0}, {(unsigned char *) "$(C", 0x8080}, {(unsigned char *) "$)C", 0x8080}, {(unsigned char *) NULL, 0x0} }; #endif /* KOREAN */ #if defined(JAPANESE) || defined(CHINESE) || defined(KOREAN) static w_char tmp_w_buf[1000]; #endif static void set_gn (dg) DesignateTable *dg; { register char *p = (char *) dg->code; register int len = 1, gn = 0; if (!strcmp (p, "$B")) { /* JIS */ gn_len[0] = 2; gn_mask[0] = dg->mask; return; } if (*p == '$') { len = 2; p++; } if (*p >= '(' && *p <= '+') gn = *p - '('; else if (*p >= '-' && *p <= '/') gn = *p - '+'; else return; gn_len[gn] = len; gn_mask[gn] = dg->mask; } static int check_designate (ec, eend, ret_buf) unsigned char *ec, *eend, **ret_buf; { register unsigned char *c = ec; register int i, j, ok = 0; *ret_buf = NULL; for (i = save_seq_len; c < eend; c++) { ok = 0; save_seq[i++] = *c; save_seq[i] = '\0'; for (j = 0; designate[j].code; j++) { if (!strncmp ((char *) save_seq, (char *) designate[j].code, i)) { if (i == strlen ((char *) designate[j].code)) { set_gn (&designate[j]); save_seq_len = 0; return (c - ec); } ok = 1; break; } } if (ok == 0) { *ret_buf = save_seq; save_seq_len = 0; return (c - ec); } } save_seq_len = i; return (c - ec - 1); } int flush_designate (buf) w_char *buf; { register w_char *c = buf; register int i; if (pending_esc) { *c++ = ESC; pending_esc = 0; return (1); } if (save_seq_len == 0) return (0); *c++ = ESC; for (i = 0; i < save_seq_len; i++) { *c++ = save_seq[i]; } save_seq_len = 0; return ((char *) c - (char *) buf); } int extc_to_intc (intc, extc, esiz) w_char *intc; unsigned char *extc; int esiz; { unsigned char *eend = extc + esiz; register unsigned char *ec = extc; register w_char *ic = intc; register int LorR = 0, i; w_char tmp; int ret, len; unsigned char *ret_buf; register unsigned char *p; for (; ec < eend; ec++) { if (pending_esc) { pending_esc = 0; goto ESC_SWITCH; } if (pending) { *ic++ = ((pending << 8 | *ec) & 0x7f7f) | pending_mask; pending = '\0'; continue; } switch (*ec) { #ifdef JIS7 case LS0: glr_mode[GL] = G0; break; case LS1: glr_mode[GL] = G1; break; #endif /* JIS7 */ case SS2: save_glr_mode[GL] = glr_mode[GL]; glr_mode[GL] = (G2 | SS); break; case SS3: save_glr_mode[GL] = glr_mode[GL]; glr_mode[GL] = (G3 | SS); break; case ESC: if (++ec == eend) { pending_esc = 1; break; } ESC_SWITCH: switch (*ec) { #ifndef CANNA /* This should be removed even if not Canna */ case LS1R: glr_mode[GR] = G1; break; case LS2: glr_mode[GL] = G2; break; case LS2R: glr_mode[GR] = G2; break; case LS3: glr_mode[GL] = G3; break; case LS3R: glr_mode[GR] = G3; break; #endif /* CANNA */ default: ret = check_designate (ec, eend, &ret_buf); ec += ret; if (ret_buf) { *ic++ = ESC; for (p = ret_buf; *p; p++) *ic++ = *p; } break; } break; default: LorR = 0; if (*ec >= 0x20 && *ec <= 0x7f) { /* GL */ LorR = GL; } else if (*ec >= 0xa0 && *ec <= 0xff) { /* GR */ LorR = GR; } if (LorR) { len = gn_len[(glr_mode[LorR] & 0x3)]; if ((ec + len) > eend) { pending = *ec; pending_mask = gn_mask[(glr_mode[LorR] & 0x3)]; } else { for (tmp = (w_char) 0, i = 0; i < len; i++) { tmp = ((tmp << 8 | *ec++) & 0x7f7f) | gn_mask[(glr_mode[LorR] & 0x3)]; } if (len) ec -= 1; *ic++ = tmp; if (glr_mode[LorR] & SS) glr_mode[LorR] = save_glr_mode[LorR]; } } else { *ic++ = *ec; } } } return ((char *) ic - (char *) intc); } int through (x, y, z) char *x, *y; int z; { bcopy (y, x, z); return z; } int ibit8_to_ebit8 (ebit8, ibit8, ibsiz) unsigned char *ebit8; w_char *ibit8; int ibsiz; { register unsigned char *eb = ebit8; register w_char *ib = ibit8; for (; ibsiz > 0; ibsiz -= sizeof (w_char)) { *eb++ = *ib++ & 0xff; } return ((char *) eb - (char *) ebit8); } /** cswidth functions **/ unsigned int create_cswidth (s) char *s; { char tmp[2]; int cs = 0, css = 0, i; if (!s || !*s) return (0); tmp[0] = tmp[1] = '\0'; for (i = 2; i >= 0; i--) { tmp[0] = *s; cs = atoi (tmp); if (cs > 0 && cs < 3) css = (cs << (i * 8 + 4)) | css; if (!*++s) { if (cs > 0 && cs < 3) css = (cs << (i * 8)) | css; break; } if (*s == ':') { if (!*++s) { if (cs > 0 && cs < 3) css = (cs << (i * 8)) | css; break; } tmp[0] = *s; cs = atoi (tmp); s++; } if (cs > 0 && cs < 3) css = (cs << (i * 8)) | css; if (!*s || *s != ',' || !*++s) break; } return (css); } void set_cswidth (id) register unsigned int id; { _etc_cs[CS1] = (id >> 20) & 0xf; _etc_cs[CS2] = (id >> 12) & 0xf; _etc_cs[CS3] = (id >> 4) & 0xf; _etc_cs_len[CS1] = (id >> 16) & 0xf; _etc_cs_len[CS2] = (id >> 8) & 0xf; _etc_cs_len[CS3] = id & 0xf; return; } static cswidth_name_struct cs_width_name[] = { {WNN_J_LANG, "JCSWIDTH", "2,1,2"}, {WNN_C_LANG, "CCSWIDTH", "2,1,2"}, {WNN_K_LANG, "KCSWIDTH", "2"}, {WNN_T_LANG, "TCSWIDTH", "2,1,2"}, {NULL, NULL} }; char * get_cswidth_name (lang) register char *lang; { register cswidth_name_struct *p; register char *name; extern char *getenv (); if (!lang || !*lang) { return (getenv ("CSWIDTH")); } for (p = cs_width_name; p->lang; p++) { if (!strncmp (lang, p->lang, strlen (lang))) { if ((name = getenv (p->name)) != NULL) { return (name); } else if ((name = getenv ("CSWIDTH")) != NULL) { return (name); } else { return (p->def_name); } } } return (NULL); } int get_cswidth (cs) int cs; { return (_etc_cs[cs]); } int get_cswidth_by_char (c) register unsigned char c; { if (c < SS2 || (c < 0xa0 && c > SS3)) return (1); if (c == SS2) return (_etc_cs[CS2] + 1); if (c == SS3) return (_etc_cs[CS3] + 1); return (_etc_cs[CS1]); } int get_cs_mask (cs) int cs; { return (cs_mask[cs]); } int columnlen (eeuc) unsigned char *eeuc; { register int n = 0; register unsigned char *c, x; register int cs_id; for (c = eeuc; *c;) { x = *c; if (x & 0x80) { cs_id = ((x == SS2) ? CS2 : ((x == SS3) ? CS3 : CS1)); if (cs_id == CS2 || cs_id == CS3) c++; n += _etc_cs_len[cs_id]; c += _etc_cs[cs_id]; } else { n++; c++; } } return (n); } int columnlen_w (ieuc) w_char *ieuc; { register int n = 0; register w_char *c, x; register int cs_id, mask; for (c = ieuc; *c; c++) { x = *c; mask = x & CS_MASK; if (mask == CS0_MASK) { n++; } else { cs_id = (mask == cs_mask[CS3]) ? CS3 : ((mask == cs_mask[CS2]) ? CS2 : CS1); n += _etc_cs_len[cs_id]; } } return (n); } int ieuc_to_eeuc (eeuc, ieuc, iesiz) unsigned char *eeuc; w_char *ieuc; int iesiz; { register int x; register w_char *ie; register unsigned char *ee; register int cs_id, mask, non_limit = 0; ie = ieuc; ee = eeuc; if (iesiz == -1) non_limit = 1; for (; (non_limit ? (*ie) : (iesiz > 0)); iesiz -= sizeof (w_char)) { x = *ie++; mask = x & CS_MASK; if (mask == CS0_MASK || x == 0xffff) { *ee++ = x; } else { cs_id = (mask == cs_mask[CS3]) ? CS3 : ((mask == cs_mask[CS2]) ? CS2 : CS1); if (_etc_cs[cs_id] <= 0) continue; if (cs_id == CS2) *ee++ = SS2; else if (cs_id == CS3) *ee++ = SS3; if (_etc_cs[cs_id] > 1) *ee++ = (x >> 8) | 0x80; if (_etc_cs[cs_id] > 0) *ee++ = (x & 0xff) | 0x80; } } return ((char *) ee - (char *) eeuc); } int eeuc_to_ieuc (ieuc, eeuc, eesiz) w_char *ieuc; unsigned char *eeuc; register int eesiz; { register unsigned char x; register w_char *ie; register unsigned char *ee; register int cs_id, non_limit = 0; ie = ieuc; ee = eeuc; if (eesiz == -1) non_limit = 1; for (; (non_limit ? (*ee) : (eesiz > 0));) { x = *ee++; if (x > 0x9f || x == SS2 || x == SS3) { cs_id = ((x == SS2) ? CS2 : ((x == SS3) ? CS3 : CS1)); if (cs_id == CS2 || cs_id == CS3) x = *ee++; if (_etc_cs[cs_id] <= 0) continue; if (_etc_cs[cs_id] > 1) { *ie = (w_char) (x & 0x7f) << 8; x = *ee++; } else { *ie = (w_char) 0; } *ie |= (x & 0x7f); *ie++ |= cs_mask[cs_id]; eesiz -= _etc_cs[cs_id] + 1; } else { *ie++ = x; eesiz--; } } return ((char *) ie - (char *) ieuc); } #ifdef nodef void wnn_delete_ss2 (s, n) register unsigned int *s; register int n; { register unsigned int x; for (; n != 0 && (x = *s); n--, s++) { if ((x & 0xff00) == 0x8e00) *s &= ~0xff00; if (x == 0xffffffff) break; } } #endif void wnn_delete_w_ss2 (s, n) register w_char *s; register int n; { register w_char x; for (; n != 0 && (x = *s); n--, s++) { if ((x & 0xff00) == 0x8e00) *s &= ~0xff00; } } #ifdef nodef int wnn_byte_count (in) register int in; { return (((in < 0xa0 && in != 0x00 && in != 0x8e) || in == 0xff) ? 1 : 2); } #endif #define ASCII 0 #ifdef JAPANESE #define HANKAKU_JIS_IN '\016' #define HANKAKU_JIS_OUT '\017' #define HANKAKU_JIS 2 #define ZENKAKU_JIS 1 #define ZENKAKU_JIS_HOJYO 3 static unsigned char *j; static w_char *iu; static unsigned char *eu; static unsigned char *sj; static unsigned char tmp_buf[2000]; static void putj (x) int x; { *j++ = x; } static void puteu (x) int x; { *eu++ = x; } static void putsj (x) int x; { *sj++ = x; } static void putsjw (x) int x; { *sj++ = x >> 8; *sj++ = x; } static int oj_mode = ASCII; /* ½ÐÎÏ»þ¤Î£ê£é£ó¥³¡¼¥É¤Î¥â¡¼¥É */ static int jtosj (); extern int eujis_to_iujis (); /* convert JIS code to shift-JIS code */ static int jtosj (high, low) unsigned high, low; { if (high & 1) low += 0x1f; else low += 0x7d; if (low >= 0x7f) low++; high = ((high - 0x21) >> 1) + 0x81; if (high > 0x9f) high += 0x40; return ((high << 8) | low); } /* convert shift-JIS to JIS code */ static int sjtoj (high, low) register unsigned high, low; { high -= (high <= 0x9f) ? 0x71 : 0xb1; high = high * 2; if (low > 0x7f) low--; if (low >= 0x9e) { high += 2; low -= 0x7d; } else { high++; low -= 0x1f; } return ((high << 8) | low); } static void jis_change_mode (mode, new_mode) int *mode; int new_mode; { if (*mode == new_mode) return; switch (*mode) { case ZENKAKU_JIS: case ZENKAKU_JIS_HOJYO: /* designate ISO-8859-1 rather than JIS X 0201 */ /* putj('\033'); putj('('); putj('J');break; */ putj ('\033'); putj ('('); putj ('B'); break; #ifdef JIS7 case HANKAKU_JIS: putj (HANKAKU_JIS_OUT); break; #endif /* JIS7 */ default:; } *mode = new_mode; switch (new_mode) { case ZENKAKU_JIS: putj ('\033'); putj ('$'); putj ('B'); break; case ZENKAKU_JIS_HOJYO: putj ('\033'); putj ('$'); putj ('('); putj ('D'); break; #ifdef JIS7 case HANKAKU_JIS: putj (HANKAKU_JIS_IN); break; #endif /* JIS7 */ default:; } } #ifdef JIS7 /* ÆâÉô U-jis ¤ò 7bit jis ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ ʸ»úÎó¤ÎŤµ¤òÊÖ¤·¤Þ¤¹ */ extern int iujis_to_jis (jis, iujis, iusiz) unsigned char *jis; /* jis¥³¡¼¥É¤Ë¤Ê¤Ã¤¿¤â¤Î¤ò¤ª¤¯buf */ w_char *iujis; /* iujis¥³¡¼¥É¤Î¤â¤Î¤ò¤ª¤¤¤Æ¤¯¤ëbuf */ int iusiz; /* iujis ¤ÎÂ礭¤µ */ { int x; j = jis; iu = iujis; for (; iusiz > 0; iusiz -= sizeof (w_char)) { x = *iu++; if (((x & 0xFF00) == 0x8E00) || ((x & 0xFF80) == 0x80)) { jis_change_mode (&oj_mode, HANKAKU_JIS); putj (x & 0x7f); } else if ((x & 0x8080) == 0x8080) { jis_change_mode (&oj_mode, ZENKAKU_JIS); putj ((x >> 8) & 0x7f); putj (x & 0x7f); } else if (x & 0x8000) { jis_change_mode (&oj_mode, ZENKAKU_JIS_HOJYO); putj ((x >> 8) & 0x7f); putj (x & 0x7f); } else { jis_change_mode (&oj_mode, ASCII); putj (x); } } jis_change_mode (&oj_mode, ASCII); return (j - jis); } #endif /* JIS7 */ /* ÆâÉô U-jis ¤ò 8bit jis ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ ʸ»úÎó¤ÎŤµ¤òÊÖ¤·¤Þ¤¹ */ extern int iujis_to_jis8 (jis, iujis, iusiz) unsigned char *jis; /* jis¥³¡¼¥É¤Ë¤Ê¤Ã¤¿¤â¤Î¤ò¤ª¤¯buf */ w_char *iujis; /* iujis¥³¡¼¥É¤Î¤â¤Î¤ò¤ª¤¤¤Æ¤¯¤ëbuf */ int iusiz; /* iujis ¤ÎÂ礭¤µ */ { int x; j = jis; iu = iujis; for (; iusiz > 0; iusiz -= sizeof (w_char)) { x = *iu++; if (((x & 0xFF00) == 0x8E00) || ((x & 0xFF80) == 0x80)) { jis_change_mode (&oj_mode, ASCII); putj (x & 0xff); } else if ((x & 0x8080) == 0x8080) { jis_change_mode (&oj_mode, ZENKAKU_JIS); putj ((x >> 8) & 0x7f); putj (x & 0x7f); } else if (x & 0x8000) { jis_change_mode (&oj_mode, ZENKAKU_JIS_HOJYO); putj ((x >> 8) & 0x7f); putj (x & 0x7f); } else { jis_change_mode (&oj_mode, ASCII); putj (x); } } jis_change_mode (&oj_mode, ASCII); return (j - jis); } #ifdef JIS7 /* ³°Éô U-jis ¤ò 7bit jis ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ */ extern int eujis_to_jis (jis, eujis, eusiz) unsigned char *jis, *eujis; int eusiz; { static int kanji1 = 0; static char kanji1_code = 0; /* 0: normal 1: get SS2 2: get kanji 1 byte */ /* int oj_mode; */ int x; j = jis; eu = eujis; /* ADD KURI */ if (kanji1 != 0) { if (kanji1 == 2) { putj (kanji1_code & 0x7f); } putj (*eu & 0x7f); eusiz -= sizeof (char); kanji1 = 0; } /* ADD KURI end */ /* for(oj_mode=ASCII;eusiz>0;eusiz-=sizeof(char)){ */ for (; eusiz > 0; eusiz -= sizeof (char)) { x = *eu++; if ((x & 0xFF) == 0x8E) { jis_change_mode (&oj_mode, HANKAKU_JIS); if (eusiz > 1) { putj (*eu++ & 0x7f); eusiz -= sizeof (char); } else { kanji1 = 1; } } else if (x & 0x80) { jis_change_mode (&oj_mode, ZENKAKU_JIS); if (eusiz > 1) { putj (x & 0x7f); putj (*eu++ & 0x7f); eusiz -= sizeof (char); } else { kanji1 = 2; kanji1_code = x & 0x7f; } } else { jis_change_mode (&oj_mode, ASCII); putj (x); } } if (kanji1 == 0) jis_change_mode (&oj_mode, ASCII); return (j - jis); } #endif /* JIS7 */ /* ³°Éô U-jis ¤ò 8bit jis ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ */ extern int eujis_to_jis8 (jis, eujis, eusiz) unsigned char *jis, *eujis; int eusiz; { static int kanji1 = 0; static unsigned char kanji1_code = 0; /* 0: normal 1: get SS2 2: get kanji 1 byte */ /* int oj_mode; */ int x; j = jis; eu = eujis; /* ADD KURI */ if (kanji1 != 0) { if (kanji1 == 2) { putj (kanji1_code & 0x7f); putj (*eu & 0x7f); } else { putj (*eu); } eusiz -= sizeof (char); kanji1 = 0; eu++; } /* ADD KURI end */ /* for(oj_mode=ASCII;eusiz>0;eusiz-=sizeof(char)){ */ for (; eusiz > 0; eusiz -= sizeof (char)) { x = *eu++; if ((x & 0xFF) == 0x8E) { jis_change_mode (&oj_mode, ASCII); if (eusiz > 1) { putj (*eu++); eusiz -= sizeof (char); } else { kanji1 = 1; } } else if (x & 0x80) { jis_change_mode (&oj_mode, ZENKAKU_JIS); if (eusiz > 1) { putj (x & 0x7f); putj (*eu++ & 0x7f); eusiz -= sizeof (char); } else { kanji1 = 2; kanji1_code = x; } } else { jis_change_mode (&oj_mode, ASCII); putj (x); } } if (kanji1 == 0) jis_change_mode (&oj_mode, ASCII); return (j - jis); } /* ÆâÉô U-jis ¤ò ³°Éô U-jis ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ */ extern int iujis_to_eujis (eujis, iujis, iusiz) unsigned char *eujis; w_char *iujis; int iusiz; { static int first = 0; static unsigned int cswidth_id; if (first == 0) { cswidth_id = create_cswidth (UJIS_CSWIDTH); first++; } set_cswidth (cswidth_id); return (ieuc_to_eeuc (eujis, iujis, iusiz)); } int jis_to_eujis (eujis, jis, jsiz) unsigned char *eujis, *jis; int jsiz; { int len; designate = JIS_designate; len = extc_to_intc (tmp_w_buf, jis, jsiz); return (iujis_to_eujis (eujis, tmp_w_buf, len)); } /* * Shifted JIS */ /* ³°Éô U-jis ¤ò S-jis ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ ʸ»úÎó¤ÎŤµ¤òÊÖ¤·¤Þ¤¹ */ extern int eujis_to_sjis (sjis, eujis, eusiz) unsigned char *sjis; /* sjis¥³¡¼¥É¤Ë¤Ê¤Ã¤¿¤â¤Î¤ò¤ª¤¯buf */ unsigned char *eujis; /* eujis¥³¡¼¥É¤Î¤â¤Î¤ò¤ª¤¤¤Æ¤¯¤ëbuf */ int eusiz; /* eujis ¤ÎÂ礭¤µ */ { register int x; int save = 0; sj = sjis; eu = eujis; if (save && eusiz > 0) { if (save == 0x8e) { putsj (*eu++ | 0x80); } else { putsjw (jtosj (save & 0x7F, *eu++ & 0x7F)); } eusiz--; } for (; eusiz > 0;) { x = *eu++; eusiz--; if (x & 0x80) { if (eusiz <= 0) { save = x; break; } if (x == 0x8e) { putsj (*eu++ | 0x80); } else { putsjw (jtosj (x & 0x7F, *eu++ & 0x7F)); } eusiz--; } else { putsj (x); } } return (sj - sjis); } /* ÆâÉô U-jis ¤ò S-jis ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ ʸ»úÎó¤ÎŤµ¤òÊÖ¤·¤Þ¤¹ */ extern int iujis_to_sjis (sjis, iujis, iusiz) unsigned char *sjis; /* sjis¥³¡¼¥É¤Ë¤Ê¤Ã¤¿¤â¤Î¤ò¤ª¤¯buf */ w_char *iujis; /* iujis¥³¡¼¥É¤Î¤â¤Î¤ò¤ª¤¤¤Æ¤¯¤ëbuf */ int iusiz; /* iujis ¤ÎÂ礭¤µ */ { register int x; sj = sjis; iu = iujis; for (; iusiz > 0; iusiz -= sizeof (w_char)) { if ((x = *iu++) & 0xff00) { if ((x & 0xff00) == 0x8e00) { putsj ((x & 0xff) | 0x80); } else { putsjw (jtosj ((x >> 8) & 0x7f, x & 0x7f)); } } else { putsj (x); } } return (sj - sjis); } int sjis_to_iujis (iujis, sjis, ssiz) w_char *iujis; /* iujis¥³¡¼¥É¤Ë¤Ê¤Ã¤¿¤â¤Î¤ò¤ª¤¯buf */ unsigned char *sjis; /* sjis¥³¡¼¥É¤Î¤â¤Î¤ò¤ª¤¤¤Æ¤¯¤ëbuf */ int ssiz; /* sjis ¤ÎÂ礭 */ { register int x; int save = 0; sj = sjis; iu = iujis; if (save && ssiz > 0) { *iu++ = (sjtoj (save, *sj++) | 0x8080); ssiz--; save = 0; } for (; ssiz > 0;) { x = *sj++; ssiz--; if (x & 0x80) { if (ssiz <= 0) { save = x; break; } *iu++ = ((sjtoj (x, *sj++)) | 0x8080); ssiz--; } else { *iu++ = (x); } } return ((char *) iu - (char *) iujis); } int sjis_to_eujis (eujis, sjis, ssiz) unsigned char *eujis; /* eujis¥³¡¼¥É¤Ë¤Ê¤Ã¤¿¤â¤Î¤ò¤ª¤¯buf */ unsigned char *sjis; /* sjis¥³¡¼¥É¤Î¤â¤Î¤ò¤ª¤¤¤Æ¤¯¤ëbuf */ int ssiz; /* sjis ¤ÎÂ礭¤µ */ { register int x; unsigned char *sj; int save = 0; sj = sjis; eu = eujis; if (save && ssiz > 0) { x = (sjtoj (save, *sj++) | 0x8080); puteu (x >> 8); puteu (x); ssiz--; save = 0; } for (; ssiz > 0;) { x = *sj++; ssiz--; if (x & 0x80) { if (ssiz <= 0) { save = x; break; } x = (sjtoj (x, *sj++) | 0x8080); /* ÊѤ¨¤Þ¤·¤¿ KUWA */ puteu (x >> 8); puteu (x); ssiz--; } else { puteu (x); } } return (eu - eujis); } #ifdef JIS7 int sjis_to_jis (jis, sjis, siz) unsigned char *jis, *sjis; int siz; { int len; len = sjis_to_eujis (tmp_buf, sjis, siz); return (eujis_to_jis (jis, tmp_buf, len)); } #endif /* JIS7 */ int sjis_to_jis8 (jis, sjis, siz) unsigned char *jis, *sjis; int siz; { int len; len = sjis_to_eujis (tmp_buf, sjis, siz); return (eujis_to_jis8 (jis, tmp_buf, len)); } int jis_to_iujis (iujis, jis, jsiz) w_char *iujis; unsigned char *jis; int jsiz; { designate = JIS_designate; return (extc_to_intc (iujis, jis, jsiz)); } int jis_to_sjis (sjis, jis, siz) unsigned char *sjis, *jis; int siz; { int len; len = jis_to_iujis (tmp_w_buf, jis, siz); return (iujis_to_sjis (sjis, tmp_w_buf, len)); } int eujis_to_iujis (iujis, eujis, eusiz) w_char *iujis; unsigned char *eujis; int eusiz; { static int first = 0; static unsigned int cswidth_id; if (first == 0) { cswidth_id = create_cswidth (UJIS_CSWIDTH); first++; } set_cswidth (cswidth_id); return (eeuc_to_ieuc (iujis, eujis, eusiz)); } #endif /* JAPANESE */ #ifdef CHINESE #define CNS11643_1 2 #define CNS11643_2 1 /* The following facts are helpful for understanding: * _W, means Wei in Pinyin * _Q, means Wei in Pinyin. * 0x5e = 94, num of wchar in one _Q at 1xxxxxxx 1xxxxxxx hand * 0x3f = 63, Num of Wchar in one _Q at 1xxxxxxx 0xxxxxxx hand * Almost all the numbers in HEX are given for showing the _Q or _W */ #define CNS_NUM_Q 0x5e /* num of wchar in one _Q at hand */ #define BIG5_NUM_11_Q 0x5e /* num of wchar in one _Q at 1xxxxxxx 1xxxxxxx hand */ #define BIG5_NUM_10_Q 0x3f /* num of wchar in one _Q at 1xxxxxxx 0xxxxxxx hand */ #define CNS_HANZI_11_START_Q 0x24 /* At 1xxxxxxx 1xxxxxxx hand */ #define CNS_HANZI_11_START_W 0x01 /* At 1xxxxxxx 1xxxxxxx hand */ #define CNS_HANZI_11_END_Q 0x5D /* At 1xxxxxxx 1xxxxxxx hand */ #define CNS_HANZI_11_END_W 0x2B /* At 1xxxxxxx 1xxxxxxx hand */ #define CNS_HANZI_11_START_QM 0x01 /* At 1xxxxxxx 1xxxxxxx hand */ #define CNS_HANZI_11_END_QM 0x05 /* At 1xxxxxxx 1xxxxxxx hand */ #define CNS_HANZI_10_START_Q 0x01 /* At 1xxxxxxx 0xxxxxxx hand */ #define CNS_HANZI_10_START_W 0x01 /* At 1xxxxxxx 0xxxxxxx hand */ #define CNS_HANZI_10_END_Q 0x52 /* At 1xxxxxxx 0xxxxxxx hand */ #define CNS_HANZI_10_END_W 0x24 /* At 1xxxxxxx 0xxxxxxx hand */ #define BIG5_HANZI_11_START_Q 0x04 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_11_START_W 0x01 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_11_END_Q 0x25 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_11_END_W 0x5e /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_11_START_QM 0x01 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_11_END_QM 0x03 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_10_START_Q 0x04 /* At 1xxxxxxx 0xxxxxxx hand */ #define BIG5_HANZI_10_START_W 0x20 /* At 1xxxxxxx 0xxxxxxx hand */ #define BIG5_HANZI_10_END_Q 0x26 /* At 1xxxxxxx 0xxxxxxx hand */ #define BIG5_HANZI_10_END_W 0x5e /* At 1xxxxxxx 0xxxxxxx hand */ #define BIG5_HANZI_11_START_Q2 0x29 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_11_START_W2 0x01 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_11_END_Q2 0x59 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_11_END_W2 0x35 /* At 1xxxxxxx 1xxxxxxx hand */ #define BIG5_HANZI_10_START_Q2 0x29 /* At 1xxxxxxx 0xxxxxxx hand */ #define BIG5_HANZI_10_START_W2 0x20 /* At 1xxxxxxx 0xxxxxxx hand */ #define BIG5_HANZI_10_END_Q2 0x59 /* At 1xxxxxxx 0xxxxxxx hand */ #define BIG5_HANZI_10_END_W2 0x5e /* At 1xxxxxxx 0xxxxxxx hand */ #define CNS_SYMBOL_11_START 0 #define CNS_SYMBOL_11_END 0 #define BIG5_SYMBOL_10_START 0 #define BIG5_SYMBOL_10_END 0 #define BIG5_SYMBOL_11_START 0 #define BIG5_SYMBOL_11_END 0 #define BIG5_TO_CNS 0x0000 /* Flag for convert from BIG5 to CNS */ #define CNS_TO_BIG5 0x0001 /* Flag for convert from CNS to BIG5 */ #define BIG5_1NUMS ((BIG5_NUM_10_Q*0x23)+(BIG5_NUM_11_Q*0x22)) /* Numbers of level 1 */ #define BIG5_1TO2_SKIP (0x25*(BIG5_NUM_10_Q+BIG5_NUM_11_Q)) /*Location of starting level 2 */ #define CNS_SPACE 0x256D /* for unconvert character code */ /* not sequential character code on CNS level 2 */ #define CNS_XK 0xa121 /* XK on Tsang Jye */ #define CNS_ONLN 0xa14c /* ONLN on Tsang Jye */ #define CNS_MSOK 0xa24d /* MSOK on Tsang Jye */ #define CNS_TNKM 0xbf6a /* TNKM on Tsang Jye */ #define CNS_CYIB 0xd54b /* CYIB on Tsang Jye */ #define CNS_YIHXO 0xda28 /* YIHXO on Tsang Jye */ #define CNS_MDMR 0xdd74 /* MDMR on Tsang Jye */ #define CNS_COLH 0xe42f /* COLH on Tsang Jye */ #define CNS_ODC 0xe761 /* ODC on Tsang Jye */ #define CNS_OKHAE 0xe934 /* OKHAE on Tsang Jye */ #define CNS_HBBM 0xe64d /* HBBM on Tsang Jye */ #define CNS_CJTC 0xea4b /* CJTC on Tsang Jye */ #define CNS_LNNXU 0xf166 /* LNNXU on Tsang Jye */ #define CNS_YPYBP 0xf244 /* YPYBP on Tsang Jye */ #define CNS_FDDH 0xf240 /* FDDH on Tsang Jye */ #define CNS_HOOMA 0xd722 /* HOOMA on Tsang Jye */ /* not sequential character code on BIG5 level 2 */ #define BIG5_XK 0xc940 /* XK on Tsang Jye */ #define BIG5_ONLN 0xc9be /* ONLN on Tsang Jye */ #define BIG5_MSOK 0xcaf7 /* MSOK on Tsang Jye */ #define BIG5_TNKM 0xd77a /* TNKM on Tsang Jye */ #define BIG5_CYIB 0xebf1 /* CYIB on Tsang Jye */ #define BIG5_YIHXO 0xf0cb /* YIHXO on Tsang Jye */ #define BIG5_MDMR 0xf056 /* MDMR on Tsang Jye */ #define BIG5_COLH 0xeeeb /* COLH on Tsang Jye */ #define BIG5_ODC 0xf16b /* ODC on Tsang Jye */ #define BIG5_OKHAE 0xf268 /* OKHAE on Tsang Jye */ #define BIG5_HBBM 0xf4b5 /* HBBM on Tsang Jye */ #define BIG5_CJTC 0xf663 /* CJTC on Tsang Jye */ #define BIG5_LNNXU 0xf9c4 /* LNNXU on Tsang Jye */ #define BIG5_YPYBP 0xf9d5 /* YPYBP on Tsang Jye */ #define BIG5_FDDH 0xf9c6 /* FDDH on Tsang Jye */ #define BIG5_HOOMA 0xecde /* HOOMA on Tsang Jye */ #define BIG5_MU 0xc94a /* MU on Tsang Jye */ #define BIG5_GRHNE 0xddfc /* GRHNE on Tsang Jye */ /* This function checks if the given code is really a Hanzi in the original code definition determined by "which". If so, it returns 1. And otherwise it returns 0) */ static int _is_hanzi (code, which) w_char code; int which; { register unsigned char high, low; if (which == CNS_TO_BIG5) { if ((code & 0x8080) == 0x8080) { /* 1xxxxxxx 1xxxxxxx Case */ high = (code >> 8) - 0xa0; low = (code & 0xff) - 0xa0; if (((high >= CNS_HANZI_11_START_Q && high < CNS_HANZI_11_END_Q) && (low >= CNS_HANZI_11_START_W && low <= CNS_NUM_Q)) || ((high == CNS_HANZI_11_END_Q) && (low >= CNS_HANZI_11_START_W && low <= CNS_HANZI_11_END_W)) || ((high >= CNS_HANZI_11_START_QM && high < CNS_HANZI_11_END_QM) && (low >= CNS_HANZI_11_START_W && low <= CNS_NUM_Q))) { return (1); } else { return (0); } } else if ((code & 0x8080) == 0x8000) { /* 1xxxxxxx 0xxxxxxx Case */ high = (code >> 8) - 0xa0; low = (code & 0xff) - 0x20; if (((high >= CNS_HANZI_10_START_Q && high < CNS_HANZI_10_END_Q) && (low >= CNS_HANZI_10_START_W && low <= CNS_NUM_Q)) || ((high == CNS_HANZI_10_END_Q) && (low >= CNS_HANZI_10_START_W && low <= CNS_HANZI_10_END_W))) { return (1); } else { return (0); } } else { return (0); } } else if (which == BIG5_TO_CNS) { if ((code & 0x8080) == 0x8080) { /* 1xxxxxxx 1xxxxxxx Case */ high = (code >> 8) - 0xa0; low = (code & 0xff) - 0xa0; if (((high >= BIG5_HANZI_11_START_Q && high <= BIG5_HANZI_11_END_Q) && (low >= BIG5_HANZI_11_START_W && low <= BIG5_HANZI_11_END_W)) || ((high >= BIG5_HANZI_11_START_QM && high <= BIG5_HANZI_11_END_QM) && (low >= BIG5_HANZI_11_START_W && low <= BIG5_HANZI_11_END_W))) { return (1); } else if (((high >= BIG5_HANZI_11_START_Q2 && high < BIG5_HANZI_11_END_Q2) && (low >= BIG5_HANZI_11_START_W2 && low <= BIG5_HANZI_11_END_W)) || ((high == BIG5_HANZI_11_END_Q2) && (low >= BIG5_HANZI_11_START_W2 && low <= BIG5_HANZI_11_END_W2))) { return (1); } else { return (0); } } else if ((code & 0x8080) == 0x8000) { /* 1xxxxxxx 0xxxxxxx Case */ high = (code >> 8) - 0xa0; low = (code & 0xff) - 0x20; if ((high >= BIG5_HANZI_10_START_Q && high <= BIG5_HANZI_10_END_Q) && (low >= BIG5_HANZI_10_START_W && low <= BIG5_HANZI_10_END_W)) { return (1); } else if ((high >= BIG5_HANZI_10_START_Q2 && high <= BIG5_HANZI_10_END_Q2) && (low >= BIG5_HANZI_10_START_W2 && low <= BIG5_HANZI_10_END_W2)) { return (1); } else { return (0); } } else { return (0); } } return (0); } /* convert one Hanzi from BIG5 (or CNS) to CNS (or BIG5) depend on the parameter "which". This function works under the asumpsion that the give code is really a Hanzi under the original code definition. Given code value can be checked by function "_is_hanzi()" in the same file. The result Hanzi code is always returned. */ static unsigned int _convert (code, which) register w_char code; int which; { unsigned int qu, wei; /* counting from 1 ------ */ register unsigned int location; /* counting from 0 ---- */ unsigned int loc_wei; /* counting from 0 ---- */ int plant; if (which == CNS_TO_BIG5) { if ((code & 0x8080) == 0x8080) { /* 1xxxxxxx 1xxxxxxx Case */ if (code <= 0xa5fe && code >= 0xa1a1) { wei = (code & 0x7f); switch (((code & 0xff00) >> 8) - 0xa0) { case (1): if (wei > 0x5f) { return (0xa1a1 + (wei - 0x60)); } else { return (0xa140 + (wei - 0x21)); } case (2): if (wei > 0x5f) { return (0xa2a1 + (wei - 0x60)); } else { return (0xa240 + (wei - 0x21)); } case (3): if (wei > 0x40) { return (0xa2a1 + (wei - 0x41)); } else { return (0xa25f + (wei - 0x21)); } case (4): if (wei > 0x70) { return (0xa340 + (wei - 0x71)); } else { return (0xa2af + (wei - 0x21)); } case (5): if (wei > 0x51) { return (0xa3a1 + (wei - 0x52)); } else { return (0xa34e + (wei - 0x21)); } } } location = ((code >> 8) - 0xa0 - CNS_HANZI_11_START_Q) * CNS_NUM_Q + (code & 0xff) - 0xa0 - 1; if ((code > 0xebd0 && code <= 0xefdb) || (code > 0xf5c5 && code <= 0xf7c6) || (code > 0xf8ad && code <= 0xf9e1)) location--; else if (code == 0xebd0) return (0xbe52); else if (code == 0xf5b5) return (0xc2cb); else if (code == 0xf8ad) return (0xc456); } else { /* 1xxxxxxx 0xxxxxxx Case */ location = ((code >> 8) - 0xa0 - CNS_HANZI_10_START_Q) * CNS_NUM_Q + (code & 0xff) - 0x20 - 1; location += BIG5_1TO2_SKIP; if (code > CNS_YIHXO && code <= 0xdb3e) location--; else if ((code >= 0xa12b && code < CNS_ONLN) || (code >= 0xa17d && code < CNS_MSOK) || (code >= 0xa439 && code <= 0xb87d) || (code > CNS_TNKM && code <= 0xc423) || (code > CNS_CYIB && code < CNS_HOOMA) || (code >= 0xdc6a && code < CNS_MDMR) || (code >= 0xe039 && code <= 0xe242) || (code > CNS_OKHAE && code <= 0xe961) || (code > CNS_CJTC && code <= 0xec51) || (code > CNS_LNNXU && code <= 0xf233)) location++; else if ((code >= 0xb87e && code < CNS_TNKM) || (code >= 0xc424 && code < CNS_CYIB) || (code >= 0xe243 && code <= 0xe336) || (code > CNS_COLH && code <= 0xe437) || (code > CNS_ODC && code < CNS_OKHAE) || (code >= 0xe962 && code < CNS_CJTC) || (code >= 0xec52 && code < CNS_LNNXU) || (code == 0xf234) || (code > CNS_FDDH && code <= CNS_YPYBP)) location += 2; else if ((code >= 0xe337 && code < CNS_COLH) || (code >= 0xe438 && code <= 0xe572) || (code > CNS_HBBM && code < CNS_ODC) || (code >= 0xf235 && code < CNS_FDDH)) location += 3; else if (code >= 0xe573 && code < CNS_HBBM) location += 4; else if (code == CNS_ONLN) return (BIG5_ONLN); else if (code == CNS_MSOK) return (BIG5_MSOK); else if (code == CNS_TNKM) return (BIG5_TNKM); else if (code == CNS_CYIB) return (BIG5_CYIB); else if (code == CNS_YIHXO) return (BIG5_YIHXO); else if (code == CNS_MDMR) return (BIG5_MDMR); else if (code == CNS_COLH) return (BIG5_COLH); else if (code == CNS_ODC) return (BIG5_ODC); else if (code == CNS_OKHAE) return (BIG5_OKHAE); else if (code == CNS_HBBM) return (BIG5_HBBM); else if (code == CNS_CJTC) return (BIG5_CJTC); else if (code == CNS_LNNXU) return (BIG5_LNNXU); else if (code == CNS_YPYBP) return (BIG5_YPYBP); else if (code == CNS_HOOMA) return (BIG5_HOOMA); else if (code == CNS_FDDH) return (BIG5_FDDH); } qu = location / (BIG5_NUM_10_Q + BIG5_NUM_11_Q) + BIG5_HANZI_11_START_Q; loc_wei = location % (BIG5_NUM_10_Q + BIG5_NUM_11_Q); if (loc_wei < BIG5_NUM_10_Q) { /* 1xxxxxxx 0xxxxxxx Case */ plant = 0xa020; wei = loc_wei + BIG5_HANZI_10_START_W; } else { plant = 0xa0a0; wei = loc_wei - BIG5_NUM_10_Q + 1; /* 1xxxxxxx 1xxxxxxx Case */ } return ((qu << 8) + wei + plant); } else if (which == BIG5_TO_CNS) { if (code >= 0xa3cd && code <= 0xa140) { if (code <= 0xa1bf) { if (code & 0x80) { return (0xa1e0 + (code - 0xa1a1)); } else { return (0xa1a1 + (code - 0xa140)); } } else if (code <= 0xa25e) { if (code & 0x80) { return (0xa2a1 + (code - 0xa1c0)); } else { return (0xa2e0 + (code - 0xa240)); } } else if (code <= 0xa2ae) { if (code & 0x80) { return (0xa3c1 + (code - 0xa2a1)); } else { return (0xa3a1 + (code - 0xa25f)); } } else if (code <= 0xa34e) { if (code & 0x80) { return (0xa4a1 + (code - 0xa2af)); } else { return (0xa4f1 + (code - 0xa340)); } } else { if (code & 0x80) { return (0xa5d2 + (code - 0xa3a1)); } else { return (0xa5a1 + (code - 0xa34e)); } } } if ((code & 0x8080) == 0x8080) { /* 1xxxxxxx 1xxxxxxx Case */ location = (((code >> 8) - 0xa0 - BIG5_HANZI_11_START_Q) * (BIG5_NUM_10_Q + BIG5_NUM_11_Q) + (code & 0xff) - 0xa0 + BIG5_NUM_10_Q - 1); } else { /* 1xxxxxxx 0xxxxxxx Case */ location = (((code >> 8) - 0xa0 - BIG5_HANZI_10_START_Q) * (BIG5_NUM_10_Q + BIG5_NUM_11_Q) + (code & 0xff) - 0x20 - BIG5_HANZI_10_START_W); } if (location < BIG5_1NUMS) { /* 1xxxxxxx 0xxxxxxx Case */ plant = 0xa0a0; qu = location / BIG5_NUM_11_Q + CNS_HANZI_11_START_Q; wei = location % BIG5_NUM_11_Q + CNS_HANZI_11_START_W; if ((code >= 0xbbc8 && code < 0xbe52) || (code >= 0xc1ab && code < 0xc2cb) || (code >= 0xc361 && code < 0xc456)) location++; else if (code == 0xbe52) return (0xebd0); else if (code == 0xc2cb) return (0xf5b5); else if (code == 0xc456) return (0xf8ad); } else { /* 1xxxxxxx 1xxxxxxx Case */ location -= BIG5_1TO2_SKIP; /* For level two */ if (code >= 0xeb5b && code < BIG5_CYIB) location++; else if ((code > BIG5_MU && code <= 0xc96b) || (code > BIG5_ONLN && code <= 0xc9ec) || (code > BIG5_MSOK && code < BIG5_TNKM) || (code >= 0xdba7 && code < BIG5_GRHNE) || (code >= 0xe8a3 && code <= 0xe975) || (code > BIG5_HOOMA && code <= 0xeda9) || (code > BIG5_COLH && code < BIG5_MDMR) || (code >= 0xf466 && code < BIG5_HBBM) || (code >= 0xf4fd && code < BIG5_CJTC) || (code >= 0xf977 && code < BIG5_LNNXU)) location--; else if ((code > BIG5_TNKM && code <= 0xdba6) || (code > BIG5_GRHNE && code <= 0xe8a2) || (code > BIG5_MDMR && code < BIG5_YIHXO) || (code >= 0xf163 && code < BIG5_ODC) || (code >= 0xf375 && code <= 0xf465) || (code > BIG5_HBBM && code <= 0xf4fc) || (code > BIG5_CJTC && code <= 0xf976) || (code == 0xf9c5) || (code >= 0xf9d2 && code <= BIG5_YPYBP)) location -= 2; else if ((code > BIG5_YIHXO && code <= 0xf162) || (code > BIG5_ODC && code < BIG5_OKHAE) || (code >= 0xf2c3 && code <= 0xf374) || (code > BIG5_FDDH && code <= 0xf9d1)) location -= 3; else if (code > BIG5_OKHAE && code <= 0xf2c2) location -= 4; else if (code == BIG5_ONLN) return (CNS_ONLN); else if (code == BIG5_MSOK) return (CNS_MSOK); else if (code == BIG5_TNKM) return (CNS_TNKM); else if (code == BIG5_CYIB) return (CNS_CYIB); else if (code == BIG5_YIHXO) return (CNS_YIHXO); else if (code == BIG5_MDMR) return (CNS_MDMR); else if (code == BIG5_COLH) return (CNS_COLH); else if (code == BIG5_ODC) return (CNS_ODC); else if (code == BIG5_OKHAE) return (CNS_OKHAE); else if (code == BIG5_HBBM) return (CNS_HBBM); else if (code == BIG5_CJTC) return (CNS_CJTC); else if (code == BIG5_LNNXU) return (CNS_LNNXU); else if (code == BIG5_FDDH) return (CNS_FDDH); else if (code == BIG5_YPYBP) return (CNS_YPYBP); else if (code == BIG5_HOOMA) return (CNS_HOOMA); else if (code == BIG5_MU) return (CNS_SPACE); else if (code == BIG5_GRHNE) return (CNS_SPACE); plant = 0xa020; qu = location / BIG5_NUM_11_Q + CNS_HANZI_10_START_Q; wei = location % BIG5_NUM_11_Q + CNS_HANZI_10_START_W; } return ((qu << 8) + wei + plant); } return (0); } #ifdef ECNS_IS_UCNS int ecns_to_icns (icns, ucns, siz) w_char *icns; unsigned char *ucns; int siz; { register w_char *i = icns; register unsigned char *u = ucns, *uend = ucns + siz, x; static w_char local_pending = (w_char) 0; static unsigned char shift_mode = '\0'; if (siz <= 0) return (0); if (local_pending) { *i = local_pending | (*u++ & 0x7f); if (shift_mode == SS3) { *i++ |= 0x8000; shift_mode = '\0'; } else { *i++ |= 0x8080; } local_pending = (w_char) 0; } if (shift_mode == SS2) { *i++ = *u++; shift_mode = '\0'; } for (; u < uend;) { x = *u++; if (x == SS2) { if (u == uend) { shift_mode = SS2; break; } *i++ = *u++; break; } else if (x == SS3) { if (u == uend) { shift_mode = SS3; break; } *i = ((*u++ & 0x7f) << 8); if (u == uend) { local_pending = *i; break; } *i |= (*u++ & 0x7f); *i++ |= 0x8000; } else if (x > 0x7f) { *i = ((x & 0x7f) << 8); if (u == uend) { local_pending = *i; break; } *i |= (*u++ & 0x7f); *i++ |= 0x8080; } else { *i++ = x; } } return ((char *) i - (char *) icns); } int icns_to_ecns (ucns, icns, siz) unsigned char *ucns; w_char *icns; int siz; { register unsigned char *u = ucns; register w_char *i = icns, w; for (; siz > 0; siz -= sizeof (w_char)) { w = *i++; if (!(w & 0xff80)) { /* CS0 */ *u++ = (unsigned char) w; } else if (!(w & 0xff00)) { /* CS2 */ *u++ = SS2; *u++ = (unsigned char) w; } else if (w & 0x80) { /* CS1 */ *u++ = (unsigned char) ((w & 0xff00) >> 8); *u++ = (unsigned char) (w & 0xff); } else { /* CS3 */ *u++ = SS3; *u++ = (unsigned char) ((w & 0xff00) >> 8); *u++ = (unsigned char) ((w & 0xff) | 0x80); } } return (u - ucns); } #else /* ECNS_IS_UCNS */ static int oc_mode = ASCII; static unsigned char *cns; static void putcns (x) unsigned char x; { *cns++ = x; } static void cns_change_mode (mode, new_mode) int *mode; int new_mode; { if (*mode == new_mode) return; switch (*mode = new_mode) { case CNS11643_1: putcns ('\033'); putcns ('$'); putcns (')'); putcns ('0'); break; case CNS11643_2: putcns ('\033'); putcns ('$'); putcns ('*'); putcns ('1'); break; case ASCII: /* designate ISO-8859-1 rather than JIS X 0201 */ /* putcns('\033'); putcns('('); putcns('J'); break; */ putcns ('\033'); putcns ('('); putcns ('B'); break; } } int ecns_to_icns (icns, ecns, siz) w_char *icns; unsigned char *ecns; int siz; { designate = CNS_designate; return (extc_to_intc (icns, ecns, siz)); } int icns_to_ecns (ecns, icns, siz) unsigned char *ecns; w_char *icns; int siz; { register int i = siz; register w_char *ic, x; cns = ecns; for (; i > 0; i -= sizeof (w_char)) { x = *ic++; if ((x & 0x8080) == 0x8080) { cns_change_mode (&oc_mode, CNS11643_1); putcns ((x >> 8) & 0xff); putcns (x & 0xff); } else if ((x & 0x8000) == 0x8000) { cns_change_mode (&oc_mode, CNS11643_2); putcns (((x >> 8) & 0x7f) | 0x80); putcns ((x & 0x7f) | 0x80); } else { cns_change_mode (&oc_mode, ASCII); putcns (x & 0x7f); } } cns_change_mode (&oc_mode, ASCII); return (cns - ecns); } #endif /* ECNS_IS_UCNS */ int icns_to_big5 (big5, icns, siz) unsigned char *big5; w_char *icns; int siz; { register unsigned char *d = big5; register w_char *s = icns; register int i = siz; short code_out; /* Buffering one two-byte code */ if (d == NULL || s == NULL) return (-1); for (; i > 0; i -= sizeof (w_char)) { if (!(*s & 0xff00)) { /* Ascii */ if (!(*s & 0x80)) { *d++ = (unsigned char) (*s++ & 0x7f); } else { /* Single Shift */ *d++ = SS2; *d++ = (unsigned char) (*s++ & 0xff); } } else if (_is_hanzi (*s, CNS_TO_BIG5)) { code_out = _convert (*s++, CNS_TO_BIG5); *d++ = (code_out >> 8); *d++ = code_out & 0x00ff; } else { /* Strainge codes */ *d++ = (unsigned char) ((*s & 0xff00) >> 8); *d++ = (unsigned char) (*s++ & 0xff); } } *d = '\0'; return (d - big5); } int ecns_to_big5 (big5, ecns, siz) unsigned char *big5, *ecns; int siz; { int len; len = ecns_to_icns (tmp_w_buf, ecns, siz); return (icns_to_big5 (big5, tmp_w_buf, len)); } int big5_to_icns (icns, big5, siz) w_char *icns; unsigned char *big5; int siz; { register w_char *d = icns; register unsigned char *s = big5; unsigned char *send = s + siz; unsigned short code_in; /* Buffering one two-byte code */ if (d == NULL || s == NULL) return (-1); for (; s < send; s++) { if (!(*s & 0x80)) { /* Ascii */ *d++ = (w_char) * s; } else if (*s == 0x8e) { /* Single Shift */ *d++ = (w_char) * (++s); } else { code_in = ((*s++) << 8); code_in |= *s; if (_is_hanzi (code_in, BIG5_TO_CNS)) { *d++ = _convert (code_in, BIG5_TO_CNS); } else { /* Strainge codes */ *d++ = code_in; } } } *d = (w_char) 0; return ((char *) d - (char *) icns); } int big5_to_ecns (ecns, big5, siz) unsigned char *ecns, *big5; int siz; { int len; len = big5_to_icns (tmp_w_buf, big5, siz); return (icns_to_ecns (ecns, tmp_w_buf, len)); } int iugb_to_eugb (eugb, iugb, siz) unsigned char *eugb; w_char *iugb; int siz; { static int first = 0; static unsigned int cswidth_id; if (first == 0) { cswidth_id = create_cswidth (UGB_CSWIDTH); first++; } set_cswidth (cswidth_id); return (ieuc_to_eeuc (eugb, iugb, siz)); } int eugb_to_iugb (iugb, eugb, siz) w_char *iugb; unsigned char *eugb; int siz; { static int first = 0; static unsigned int cswidth_id; if (first == 0) { cswidth_id = create_cswidth (UGB_CSWIDTH); first++; } set_cswidth (cswidth_id); return (eeuc_to_ieuc (iugb, eugb, siz)); } #endif /* CHINESE */ #ifdef KOREAN #define ZENKAKU_KSC 1 static unsigned char *ks; static w_char *iuk; static unsigned char *euk; static void putks (x) int x; { *ks++ = x; } static int oks_mode = ASCII; /* ½ÐÎÏ»þ¤ÎKSC¥³¡¼¥É¤Î¥â¡¼¥É */ extern int euksc_to_iuksc (); static void ksc_change_mode (mode, new_mode) int *mode; int new_mode; { if (*mode == new_mode) return; switch (*mode) { case ZENKAKU_KSC: putks ('\033'); putks ('('); putks ('B'); break; default:; } *mode = new_mode; switch (new_mode) { case ZENKAKU_KSC: putks ('\033'); putks ('$'); putks ('('); putks ('C'); break; default:; } } /* ÆâÉô U-ksc ¤ò ksc ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ ʸ»úÎó¤ÎŤµ¤òÊÖ¤·¤Þ¤¹ */ extern int iuksc_to_ksc (ksc, iuksc, iusiz) unsigned char *ksc; /* ksc¥³¡¼¥É¤Ë¤Ê¤Ã¤¿¤â¤Î¤ò¤ª¤¯buf */ w_char *iuksc; /* iuksc¥³¡¼¥É¤Î¤â¤Î¤ò¤ª¤¤¤Æ¤¯¤ëbuf */ int iusiz; /* iuksc ¤ÎÂ礭¤µ */ { int x; ks = ksc; iuk = iuksc; for (; iusiz > 0; iusiz -= sizeof (w_char)) { x = *iuk++; if ((x & 0x8080) == 0x8080) { ksc_change_mode (&oks_mode, ZENKAKU_KSC); putks ((x >> 8) & 0x7f); putks (x & 0x7f); } else { ksc_change_mode (&oks_mode, ASCII); putks (x); } } ksc_change_mode (&oks_mode, ASCII); return (ks - ksc); } /* ³°Éô U-ksc ¤ò ksc ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ */ extern int euksc_to_ksc (ksc, euksc, eusiz) unsigned char *ksc, *euksc; int eusiz; { static int kanji1 = 0; static unsigned char kanji1_code = 0; /* 0: normal 1: get SS2 2: get kanji 1 byte */ int x; ks = ksc; euk = euksc; if (kanji1 != 0) { if (kanji1 == 2) { putks (kanji1_code & 0x7f); putks (*euk & 0x7f); } else { putks (*euk); } eusiz -= sizeof (char); kanji1 = 0; euk++; } for (; eusiz > 0; eusiz -= sizeof (char)) { x = *euk++; if (x & 0x80) { ksc_change_mode (&oks_mode, ZENKAKU_KSC); if (eusiz > 1) { putks (x & 0x7f); putks (*euk++ & 0x7f); eusiz -= sizeof (char); } else { kanji1 = 2; kanji1_code = x; } } else { ksc_change_mode (&oks_mode, ASCII); putks (x); } } if (kanji1 == 0) ksc_change_mode (&oks_mode, ASCII); return (ks - ksc); } /* ÆâÉô U-ksc ¤ò ³°Éô U-ksc ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹ */ extern int iuksc_to_euksc (euksc, iuksc, iusiz) unsigned char *euksc; w_char *iuksc; int iusiz; { static int first = 0; static unsigned int cswidth_id; if (first == 0) { cswidth_id = create_cswidth (UKSC_CSWIDTH); first++; } set_cswidth (cswidth_id); return (ieuc_to_eeuc (euksc, iuksc, iusiz)); } int ksc_to_euksc (euksc, ksc, jsiz) unsigned char *euksc, *ksc; int jsiz; { int len; designate = KSC_designate; len = extc_to_intc (tmp_w_buf, ksc, jsiz); return (iuksc_to_euksc (euksc, tmp_w_buf, len)); } int ksc_to_iuksc (iuksc, ksc, jsiz) w_char *iuksc; unsigned char *ksc; int jsiz; { designate = KSC_designate; return (extc_to_intc (iuksc, ksc, jsiz)); } int euksc_to_iuksc (iuksc, euksc, eusiz) w_char *iuksc; unsigned char *euksc; int eusiz; { static int first = 0; static unsigned int cswidth_id; if (first == 0) { cswidth_id = create_cswidth (UKSC_CSWIDTH); first++; } set_cswidth (cswidth_id); return (eeuc_to_ieuc (iuksc, euksc, eusiz)); } #endif /* KOREAN */ Canna37p3/ccustom/0040755000076500001200000000000010052700675013327 5ustar shinraadminCanna37p3/ccustom/.cvsignore0100644000076500001200000000010607601177333015326 0ustar shinraadmin.depend Makefile ccustom y.tab.h y.tab.c lex.yy.c lex.c gram.h gram.c Canna37p3/ccustom/canna.h0100644000076500001200000004033307554536744014601 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * @(#) 102.1 $Id: canna.h,v 1.2 2002/10/20 14:29:56 aida_s Exp $ * $Revision: 1.2 $ * $Author: aida_s $ */ #ifndef _CANNA_H_ #define _CANNA_H_ #include "widedef.h" #include #include "ccompat.h" #define WCHARSIZE sizeof(wchar_t) /* #include "sglobal.h" ¤³¤ì¤Ï¥ê¥ê¡¼¥¹»þ¤Ë¤Ï¥³¥á¥ó¥È¤ò¤Ï¤º¤¹¤³¤È */ #define necKanjiError jrKanjiError /*#include "jrkanji.h"*/ typedef unsigned char BYTE; /* * LIBDIR -- ¥·¥¹¥Æ¥à¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ä¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬ * ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¡£ */ #ifndef CANNALIBDIR #define CANNALIBDIR "/usr/lib/canna" #endif #define XKanjiStatus jrKanjiStatus #define XKanjiStatusWithValue jrKanjiStatusWithValue /* * ¥«¥Ê´Á»úÊÑ´¹¤Î¤¿¤á¤ÎÍÍ¡¹¤Ê¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë * ¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë¤Ï½èÍý´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ÎÇÛÎó¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ */ typedef struct { int (*func)(); unsigned char *keytbl; int flags; /* ²¼¤ò¸«¤è */ int (**ftbl)(); } *KanjiMode, KanjiModeRec; struct funccfunc { unsigned char funcid; int (*cfunc)(); }; /* flags ¤Î¾ðÊó */ #define CANNA_KANJIMODE_TABLE_SHARED 01 #define CANNA_KANJIMODE_EMPTY_MODE 02 /* func ¤ÎÂè»°°ú¿ô */ #define KEY_CALL 0 #define KEY_CHECK 1 #define KEY_SET 2 extern BYTE default_kmap[]; #define CANNA_FULL_VERBOSE 2 /* menuitem -- ¥á¥Ë¥å¡¼É½¼¨¤Î¹àÌܤòÄêµÁ¤¹¤ë¥Æ¡¼¥Ö¥ë */ typedef struct _menuitem { wchar_t *title; int (*func)(); struct _menuitem *menu_next; int *prev_kouho; int minorMode; } menuitem; #define NEXT_MENU (int (*)())0 /* menuitem ¤Î func ¥Õ¥£¡¼¥ë¥É¤ËÆþ¤ë */ /* * glineinfo -- ¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤ÎÆâÉô¾ðÊó¤ò³ÊǼ¤·¤Æ¤ª¤¯¤¿¤á¤Î¹½Â¤ÂΡ£ * ¤½¤ì¤¾¤ì¤Î¥á¥ó¥Ð¤Ï°Ê²¼¤Î°ÕÌ£¤ò»ý¤Ä¡£ * * glkosu -- ¤½¤Î¹Ô¤Ë¤¢¤ë¸õÊä¤Î¿ô * glhead -- ¤½¤Î¹Ô¤ÎÀèÆ¬¸õÊ䤬¡¢kouhoinfo¤Î²¿ÈÖÌܤ«(0¤«¤é¿ô¤¨¤ë) * gllen -- ¤½¤Î¹Ô¤òɽ¼¨¤¹¤ë¤¿¤á¤Îʸ»úÎó¤ÎŤµ * gldata -- ¤½¤Î¹Ô¤òɽ¼¨¤¹¤ë¤¿¤á¤Îʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ typedef struct { int glkosu; int glhead; int gllen; wchar_t *gldata; } glineinfo; /* * kouhoinfo -- ¸õÊä°ìÍ÷¤Î¤¿¤á¤ÎÆâÉô¾ðÊó¤ò³ÊǼ¤·¤Æ¤ª¤¯¤¿¤á¤Î¹½Â¤ÂÎ * ¤½¤ì¤¾¤ì¤Î¥á¥ó¥Ð¤Ï°Ê²¼¤Î°ÕÌ£¤ò»ý¤Ä¡£ * * khretsu -- ¤½¤Î¸õÊ䤬¤¢¤ë¹Ô * khpoint -- ¤½¤Î¸õÊä¤Î¹Ô¤Î¤Ê¤«¤Ç¤Î°ÌÃÖ * khdata -- ¤½¤Î¸õÊä¤Îʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ typedef struct { int khretsu; int khpoint; wchar_t *khdata; } kouhoinfo; #define ROMEBUFSIZE 1024 #define BANGOSIZE 2 /* ¸õÊä¹ÔÃæ¤Î³Æ¸õÊä¤ÎÈÖ¹æ¤Î¥Ð¥¤¥È¿ô */ #define REVSIZE 2 /* ¸õÊä¹ÔÃæ¤ÎÈÖ¹æ¤Î¥ê¥Ð¡¼¥¹¤Î¥Ð¥¤¥È¿ô */ #define BANGOMAX 9 /* £±¸õÊä¹ÔÃæ¤ÎºÇÂç¸õÊä¿ô */ #define KIGOSIZE 1 /* µ­¹æ¸õÊä¤Î¥Ð¥¤¥È¿ô */ #define GL_KUHAKUSIZE 1 /* ¸õÊäÈÖ¹æ¤Î¶õÇòʸ»ú¤Î¥Ð¥¤¥È¿ô */ #define KG_KUHAKUSIZE 1 /* µ­¹æ¤Î´Ö¤Î¶õÇòʸ»ú¤Î¥Ð¥¤¥È¿ô */ #define KIGOCOL (KIGOSIZE + KG_KUHAKUSIZE) /* bangomax¤ò·×»»¤¹¤ë¤¿¤á¤Î¿ô */ #define KIGOBANGOMAX 16 /* £±¸õÊä¹ÔÃæ¤ÎºÇÂç¸õÊä¿ô */ #define HINSHISUU 14 #define HINSHIBUF 256 #define GOBISUU 9 #define ON 1 #define OFF -1 #define NG -1 #define NO_CALLBACK 0 #define NCALLBACK 4 #define JISHU_HIRA 0 #define JISHU_ZEN_KATA 1 #define JISHU_HAN_KATA 2 #define JISHU_ZEN_ALPHA 3 #define JISHU_HAN_ALPHA 4 #define MAX_JISHU 5 #define SENTOU 1 #define HENKANSUMI 2 #define SUPKEY 4 #define WARIKOMIMOJI 8 #define SHIRIKIRE 16 #define ATAMAKIRE 32 typedef char *mode_context; struct callback { int (*func[NCALLBACK])(); mode_context env; struct callback *next; }; /* identifier for each context structures */ #define CORE_CONTEXT (char)0 #define YOMI_CONTEXT (char)1 #define JISHU_CONTEXT (char)2 #define HENKAN_CONTEXT (char)3 #define ICHIRAN_CONTEXT (char)4 #define FORICHIRAN_CONTEXT (char)5 #define MOUNT_CONTEXT (char)6 #define TOUROKU_CONTEXT (char)7 #define ADJUST_CONTEXT (char)8 #define CHIKUJI_CONTEXT (char)9 typedef struct _coreContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; } coreContextRec, *coreContext; typedef struct _yomiContextRec { /* core ¾ðÊó¤ÈƱ¤¸¾ðÊó */ char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹´Ø·¸ */ struct RkwRxDic *romdic; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ */ wchar_t romaji_buffer[ROMEBUFSIZE]; /* ¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤Ï rStartp, rEndp ¤Î£²¤Ä¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¤è¤Ã¤Æ´ÉÍý¤µ¤ì * ¤ë¡£rStartp ¤Ï¥«¥Ê¤ËÊÑ´¹¤Ç¤­¤Ê¤«¤Ã¤¿¥í¡¼¥Þ»ú¤ÎºÇ½é¤Îʸ»ú¤Ø¤Î¥¤¥ó¥Ç¥Ã * ¥¯¥¹¤Ç¤¢¤ê¡¢rEndp ¤Ï¿·¤¿¤Ë¥í¡¼¥Þ»ú¤òÆþÎϤ¹¤ë»þ¤Ë¡¢³ÊǼ¤¹¤Ù¤­ * romaji_buffer Æâ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¢¤ë¡£¿·¤¿¤ËÆþÎϤµ¤ì¤ë¥í¡¼¥Þ»ú¤Ï¡¢ * romaji_buffer + rEndp ¤è¤êÀè¤Ë³ÊǼ¤µ¤ì¡¢¤½¤Î¥í¡¼¥Þ»ú¤ò¥«¥Ê¤ËÊÑ´¹¤¹ * ¤ë»þ¤Ï¡¢romaji_buffer + rStartp ¤«¤é rEndp - rStartp ¥Ð¥¤¥È¤Îʸ»ú¤¬ * ÂоݤȤʤ롣 */ int rEndp, rStartp, rCurs; /* ¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤Î¥Ý¥¤¥ó¥¿ */ wchar_t kana_buffer[ROMEBUFSIZE]; BYTE rAttr[ROMEBUFSIZE], kAttr[ROMEBUFSIZE]; int kEndp; /* ¤«¤Ê¥Ð¥Ã¥Õ¥¡¤ÎºÇ¸å¤ò²¡¤¨¤ë¥Ý¥¤¥ó¥¿ */ int kRStartp, kCurs; /* ¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó */ KanjiMode myEmptyMode; /* empty ¥â¡¼¥É¤Ï¤É¤ì¤« */ long generalFlags; /* see below */ char allowedChars; /* see jrkanji.h */ char henkanInhibition; /* see below */ int (*henkanCallback)(); /* ÊÑ´¹¤ò¹Ô¤¦»þ¤Ë¤³¤ÎÊÑ¿ô¤Ë¥¢¥É¥ì¥¹ ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¤½¤Î¥¢¥É¥ì¥¹¤Î´Ø¿ô¤òÄ̾ï¤Î´Ø¿ô¤ÎÂå¤ï¤ê¤Ë ¸Æ¤Ö¡£ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤»þ¤ÏÄ̾ï¤Î´Ø¿ô¤ò¸Æ¤Ö¡£ Éô¼óÊÑ´¹¤Ê¤É¤ÇÊÑ´¹¥­¡¼¤¬²¡¤µ¤ì¤¿»þ¤ËÆÃ¼ì¤Ê½èÍý¤¬¹Ô¤ï¤ì¤ë¤Î¤Ë Âбþ¤¹¤ë¤¿¤á¤ËÉÕ¤±¤¿¡£ ÊÑ´¹¥³¡¼¥ë¥Ð¥Ã¥¯¤Ï°ú¿ô¤È¤·¤Æ¤É¤ÎÊÑ´¹´Ø¿ô¤¬¸Æ¤Ð¤ì¤¿¤Î¤«¤ò¼¨¤¹ ÈÖ¹æ¤òȼ¤¦¡£*/ int cursup; /* ¥í¤«¤Ê¤ÎÊäÄɤλþ¤Ë»È¤¦ */ #define SUSPCHARBIAS 100 int n_susp_chars; /* ºî¶ÈÍÑÊÑ¿ô */ wchar_t *retbuf, *retbufp; int retbufsize; } yomiContextRec, *yomiContext; /* for generalFlags */ #define CANNA_YOMI_BREAK_ROMAN 0x1L #define CANNA_YOMI_CHGMODE_INHIBITTED 0x2L #define CANNA_YOMI_END_IF_KAKUTEI 0x4L #define CANNA_YOMI_DELETE_DONT_QUIT 0x8L #define CANNA_YOMI_KAKUTEI 0x10L #define CANNA_YOMI_HENKAN 0x20L #define CANNA_YOMI_ZENKAKU 0x40L #define CANNA_YOMI_HANKAKU 0x80L #define CANNA_YOMI_HIRAGANA 0x100L #define CANNA_YOMI_KATAKANA 0x200L #define CANNA_YOMI_ROMAJI 0x400L #define CANNA_YOMI_ATTRFUNCS 0x7f0L #define CANNA_YOMI_BASE_HANKAKU 0x800L #define CANNA_YOMI_IGNORE_USERSYMBOLS 0x1000L /* kind of allowed input keys */ #define CANNA_YOMI_INHIBIT_NONE 0 #define CANNA_YOMI_INHIBIT_HENKAN 1 #define CANNA_YOMI_INHIBIT_JISHU 2 #define CANNA_YOMI_INHIBIT_ASHEX 4 #define CANNA_YOMI_INHIBIT_ASBUSHU 8 #define CANNA_YOMI_INHIBIT_ALL 15 /* ¸õÊä°ìÍ÷¤Î¤¿¤á¤Î¥Õ¥é¥° */ #define NUMBERING 1 #define CHARINSERT 2 #define CANNA_JISHU_UPPER 1 #define CANNA_JISHU_CAPITALIZE 2 typedef struct _henkanContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; /* ¥«¥Ê´Á»úÊÑ´¹´Ø·¸ */ int context; int check; int kouhoCount; /* ²¿²ó henkanNext ¤¬Ï¢Â³¤·¤Æ²¡¤µ¤ì¤¿¤« */ wchar_t yomi_buffer[ROMEBUFSIZE]; wchar_t echo_buffer[ROMEBUFSIZE]; wchar_t **allkouho; /* RkGetKanjiList¤ÇÆÀ¤é¤ì¤ëʸ»úÎó¤òÇÛÎó¤Ë¤·¤Æ ¤È¤Ã¤Æ¤ª¤¯¤È¤³¤í */ int yomilen; /* ÆÉ¤ß¤ÎŤµ¡¢ÆÉ¤ß¼«¿È¤Ï kana_buffer ¤ËÆþ¤ì ¤é¤ì¤ë */ int curbun; /* ¥«¥ì¥ó¥ÈʸÀá */ int curIkouho; /* ¥«¥ì¥ó¥È¸õÊä */ int nbunsetsu; /* ʸÀá¤Î¿ô */ #define MAXNBUNSETSU 256 int kugiri[MAXNBUNSETSU]; /* ʸÀáʬ¤±¤ò¹Ô¤¦»þ¤ÎʸÀ᤯¤® ¤ê¤Î¾ðÊó¡£ */ int *kanaKugiri, *romajiKugiri, *jishubun; yomiContext ycx; /* ifdef MEASURE_TIME */ long proctime; /* ½èÍý»þ´Ö(ÊÑ´¹¤Ç·×¬¤¹¤ë) */ long rktime; /* ½èÍý»þ´Ö(RK¤Ë¤«¤«¤ë»þ´Ö) */ /* endif MEASURE_TIME */ } henkanContextRec, *henkanContext; typedef struct _jishuContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* Á°¤Î¥â¡¼¥É */ mode_context next; unsigned char inhibition; wchar_t jishu_buffer[ROMEBUFSIZE]; int jishu_len, jishu_kEndp, jishu_rEndp; unsigned char kc, jishu_case; yomiContext ycx; henkanContext hcx; } jishuContextRec, *jishuContext; typedef struct _ichiranContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; int svIkouho; /* ¥«¥ì¥ó¥È¸õÊä¤ò°ì»þ¤È¤Ã¤Æ¤ª¤¯(°ìÍ÷ɽ¼¨¹Ô) */ int *curIkouho; /* ¥«¥ì¥ó¥È¸õÊä */ int nIkouho; /* ¸õÊä¤Î¿ô(°ìÍ÷ɽ¼¨¹Ô) */ int tooSmall; /* ¥«¥é¥à¿ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤¤è¥Õ¥é¥° */ int curIchar; /* ̤³ÎÄêʸ»úÎ󤢤ê¤Îñ¸ìÅÐÏ¿¤Îñ¸ìÆþÎϤΠÀèÆ¬Ê¸»ú¤Î°ÌÃÖ */ unsigned char inhibit; unsigned char flags; /* ²¼¤ò¸«¤Æ¤Í */ wchar_t **allkouho; /* RkGetKanjiList¤ÇÆÀ¤é¤ì¤ëʸ»úÎó¤òÇÛÎó¤Ë¤·¤Æ ¤È¤Ã¤Æ¤ª¤¯¤È¤³¤í */ wchar_t *glinebufp; /* ¸õÊä°ìÍ÷¤Î¤¢¤ë°ì¹Ô¤òɽ¼¨¤¹¤ë¤¿¤á¤Îʸ»ú Îó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ kouhoinfo *kouhoifp; /* ¸õÊä°ìÍ÷´Ø·¸¤Î¾ðÊó¤ò³ÊǼ¤·¤Æ¤ª¤¯¹½Â¤ÂÎ ¤Ø¤Î¥Ý¥¤¥ó¥¿ */ glineinfo *glineifp; /* ¸õÊä°ìÍ÷´Ø·¸¤Î¾ðÊó¤ò³ÊǼ¤·¤Æ¤ª¤¯¹½Â¤ÂÎ ¤Ø¤Î¥Ý¥¤¥ó¥¿ */ } ichiranContextRec, *ichiranContext; /* ¥Õ¥é¥°¤Î°ÕÌ£ */ #define ICHIRAN_ALLOW_CALLBACK 1 /* ¥³¡¼¥ë¥Ð¥Ã¥¯¤ò¤·¤Æ¤âÎɤ¤ */ typedef struct _foirchiranContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; int curIkouho; /* ¥«¥ì¥ó¥È¸õÊä */ wchar_t **allkouho; /* RkGetKanjiList¤ÇÆÀ¤é¤ì¤ëʸ»úÎó¤òÇÛÎó¤Ë¤·¤Æ ¤È¤Ã¤Æ¤ª¤¯¤È¤³¤í */ menuitem *table; /* ʸ»úÎó¤È´Ø¿ô¤Î¥Æ¡¼¥Ö¥ë */ int *prevcurp; /* Á°¤Î¥«¥ì¥ó¥È¸õÊä */ int (*prevfunc)(); /* Á°¤Î´Ø¿ô */ int (*curfunc)(); /* ¥«¥ì¥ó¥È´Ø¿ô */ } forichiranContextRec, *forichiranContext; typedef struct _mountContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; unsigned char *mountOldStatus; /* ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤«¤¤¤Ê¤¤¤« */ unsigned char *mountNewStatus; /* ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤«¤¤¤Ê¤¤¤« */ unsigned char **mountList; /* ¥Þ¥¦¥ó¥È²Äǽ¤Ê¼­½ñ¤Î°ìÍ÷ */ int curIkouho; /* ¥«¥ì¥ó¥È¸õÊä */ } mountContextRec, *mountContext; typedef struct _tourokuContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; wchar_t genbuf[ROMEBUFSIZE]; wchar_t qbuf[ROMEBUFSIZE]; wchar_t tango_buffer[ROMEBUFSIZE]; int tango_len; /* ñ¸ìÅÐÏ¿¤Îñ¸ì¤Îʸ»úÎó¤ÎŤµ */ wchar_t yomi_buffer[ROMEBUFSIZE]; int yomi_len; /* ñ¸ìÅÐÏ¿¤ÎÆÉ¤ß¤Îʸ»úÎó¤ÎŤµ */ int curHinshi; /* ÉÊ»ì¤ÎÁªÂò */ wchar_t hcode[16]; /* ñ¸ìÅÐÏ¿¤ÎÉÊ»ì */ int katsuyou; /* ñ¸ìÅÐÏ¿¤Îư»ì¤Î³èÍÑ·Á */ wchar_t **udic; /* ñ¸ìÅÐÏ¿¤Ç¤­¤ë¼­½ñ (¼­½ñ̾) */ int delContext; /* ñ¸ìºï½ü¤Ç£±¤Ä¤Î¼­½ñ¤ò¥Þ¥¦¥ó¥È¤¹¤ë */ } tourokuContextRec, *tourokuContext; typedef struct _adjustContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; yomiContext ycx; henkanContext hcx; wchar_t genbuf[ROMEBUFSIZE]; int kanjilen, strlen, bunlen; /* ´Á»úÉôʬ¡¢Á´ÂΡ¢Ê¸Àá¤ÎŤµ */ } adjustContextRec, *adjustContext; typedef struct _chikujiContextRec { char id; char majorMode, minorMode; struct callback c; KanjiMode prevMode; mode_context next; yomiContext yc; henkanContext hc; wchar_t echo_buffer[ROMEBUFSIZE]; int ye, ys; int status; } chikujiContextRec, *chikujiContext; #define CHIKUJI_ON_BUNSETSU 0x0001 #define CHIKUJI_YOMI_CHANGED 0x0002 #define CHIKUJI_RENBUNSETSU 0x0004 #define CHIKUJI_DOING_HENKAN 0x0008 #define CHIKUJI_OVERWRAP 0x0010 #define CHIKUJI_HENKAN_INHIBIT 0x0020 #define CHIKUJI_HENKAN_FAILED 0x0040 #define CHIKUJI_NULL_STATUS 0x0000 struct moreTodo { char todo; /* ¤â¤Ã¤È¤¢¤ë¤Î¡©¤ò¼¨¤¹ */ char fnum; /* ´Ø¿ôÈֹ档£°¤Ê¤é¼¡¤Îʸ»ú¤Ç¼¨¤µ¤ì¤ë¤³¤È¤ò¤¹¤ë */ unsigned char ch; /* ʸ»ú */ }; /* ¥â¡¼¥É̾¤ò³ÊǼ¤¹¤ë¥Ç¡¼¥¿¤Î·¿ÄêµÁ */ struct ModeNameRecs { int alloc; wchar_t *name; }; /* * ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï£±¸Ä¤¢¤ì¤ÐÎɤ¤¤Ç¤·¤ç¤¦¡£Ê£¿ô¸ÄɬÍ×¤Ê¤Î¤Ç * ¤¢¤ì¤Ð RomeStruct ¤Î¥á¥ó¥Ð¤È¤·¤ÆÆþ¤ì¤Æ¤ª¤¯É¬Íפ⤢¤ê¤Þ¤·¤ç¤¦¤¬...¤½ * ¤Î»þ¤Ï¤½¤Î»þ¤Ç¹Í¤¨¤Þ¤·¤ç¤¦¡£ */ extern struct RkwRxDic *romajidic, *RkwOpenRoma(); /* * ¼­½ñ¤Î̾Á°¤òÆþ¤ì¤Æ¤ª¤¯ÊÑ¿ô */ #define MAX_DICS 16 extern char *kanjidicname[]; extern int nkanjidics; extern char *userdicname[]; extern int nuserdics; extern char userdicstatus[]; extern char *bushudicname[]; extern int nbushudics; extern char *localdicname[]; extern int nlocaldics; /* * ¥¨¥é¡¼¤Î¥á¥Ã¥»¡¼¥¸¤òÆþ¤ì¤Æ¤ª¤¯ÊÑ¿ô */ extern char *necKanjiError; /* * ¥Ç¥Ð¥°Ê¸¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥° */ extern iroha_debug; /* * 16¿Ê¥³¡¼¥ÉÆþÎϤò°ìÍ÷¹Ô¤Ëɽ¼¨¤¹¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¾ò·ï¡£ */ #define hexGLine(plen) (d->ncolumns /2 >= plen + 4) /* * ¥­¡¼¥·¡¼¥±¥ó¥¹¤òȯÀ¸¤¹¤ë¤è¤¦¤Ê¥­¡¼ */ #define IrohaFunctionKey(key) \ ((0x80 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0x8b) || \ (0x90 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0x9b) || \ (0xe0 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0xff) ) /* selectOne ¤Ç¥³¡¼¥ë¥Ð¥Ã¥¯¤òȼ¤¦¤«¤É¤¦¤«¤òɽ¤¹¥Þ¥¯¥í */ #define WITHOUT_LIST_CALLBACK 0 #define WITH_LIST_CALLBACK 1 /* * Rk ´Ø¿ô¤ò¥È¥ì¡¼¥¹¤¹¤ë¤¿¤á¤Î̾Á°¤Î½ñ¤­´¹¤¨¡£ */ #ifdef DEBUG #include "traceRK.h" #endif /* DEBUG */ /* * ¥Ç¥Ð¥°¥á¥Ã¥»¡¼¥¸½ÐÎÏÍѤΥޥ¯¥í */ #ifdef DEBUG #define debug_message(fmt, x, y, z) dbg_msg(fmt, x, y, z) #else /* !DEBUG */ #define debug_message(fmt, x, y, z) #endif /* !DEBUG */ /* * malloc ¤Î¥Ç¥Ð¥° */ #ifdef DEBUG_ALLOC extern int fail_malloc; #define malloc(n) debug_malloc(n) #endif /* DEBUG_MALLOC */ #ifndef _UTIL_FUNCTIONS_DEF_ #define _UTIL_FUNCTIONS_DEF_ extern makeGLineMessage(); extern makeGLineMessageFromStrings(); extern setWStrings(); extern WStrlen(); extern wchar_t *WStrcat(); extern wchar_t *WStrcpy(); extern wchar_t *WStrncpy(); extern WStrncmp(); extern MBstowcs(); extern wchar_t *WString(); #endif /* _UTIL_FUNCTIONS_DEF_ */ /* * ¿·¤·¤¤¥â¡¼¥É¤òÄêµÁ¤¹¤ë¹½Â¤ÂÎ */ typedef struct { wchar_t *display_name; /* ¥â¡¼¥Éɽ¼¨Ì¾ */ unsigned char *romaji_table; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë(EUC) */ struct RkwRxDic *romdic; /* ¥í¡¼¥Þ»ú¼­½ñ¹½Â¤ÂÎ */ long romdic_owner; /* ¥í¡¼¥Þ»ú¼­½ñ¤ò¼«Ê¬¤ÇOpen¤·¤¿¤« */ long flags; /* flags for yomiContext->generalFlags */ KanjiMode emode; /* current_mode ¤ËÆþ¤ë¹½Â¤ÂÎ */ } newmode; #define MAX_OTHER_MODES 16 /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÊä­¤¹¤ë¥­¡¼¤Èʸ»ú¤ÎÊÑ´¹¥Æ¡¼¥Ö¥ë */ typedef struct { wchar_t key; /* ¥­¡¼ */ int groupid; /* ¥°¥ë¡¼¥×id */ int ncand; /* ¸õÊä¤Î¿ô */ wchar_t **cand; /* ¸õÊä¤ÎÇÛÎó */ wchar_t *fullword; /* ¸õÊäÎó (¸õÊä1@¸õÊä2@...¸õÊän@@) */ } keySupplement; #define MAX_KEY_SUP 64 #ifndef DEBUG_CHIKUJI #define debugging(a) #define debuggingf(a, b) #define debuggingw(a, b, c) #endif /* DEBUG_CHIKUJI */ #define HEX_USUAL 0 #define HEX_IMMEDIATE 1 #define CANNA_HALF_VERBOSE 1 #endif /* !_CANNA_H_ */ Canna37p3/ccustom/ccustom.c0100644000076500001200000022431207554536744015172 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * Author : Osamu Hata, NEC Corporation (hata@d1.bs2.mt.nec.co.jp) * */ static char rcs_id[] = "@(#) 102.1 $Id: ccustom.c,v 1.2 2002/10/20 14:29:56 aida_s Exp $"; #ifdef __FreeBSD__ #include #else #include #endif #include #include "ccustom.h" #include "ccompat.h" #if (defined(SVR4) || defined(__STDC__)) && !defined(__FreeBSD__) #define HAVE_LOCALE #endif #ifdef HAVE_LOCALE #include #endif #define L_MARGIN 10 #define KANKAKU 2 #define _KEY_SPACE 0x20 #define _KEY_ENTER 0x0d #define _KEY_A 0x61 #define _KEY_D 0x64 #define _KEY_I 0x69 #define _KEY_N 0x6e #ifndef __FreeBSD__ #define _KEY_K 0x6b #else #define _KEY_K 'K' #endif #define _KEY_U 0x75 #define _KEY_Q 0x71 #define _KEY_ESC 0x1b #define _KEY_C_L 0x0c #define _KEY_C_N 0x0e #define _KEY_C_P 0x10 #define _KEY_C_F 0x06 #define _KEY_C_B 0x02 #define NEXTPAGE 2 #define PREVPAGE 1 #define DONOT 0 #define UP 2 #define DOWN -2 #define RIGHT 1 #define LEFT -1 #define KEYS 1 #define ACTS 2 #define YAME -1 #define INSERT -1 #define ADD 1 #define NULL_UNDO 1 #define STR_UNDO 0 #define NON_UNDO -1 #ifdef __FreeBSD__ #if 0 #define KEY_DOWN 'j' #define KEY_UP 'k' #define KEY_LEFT 'h' #define KEY_RIGHT 'l' #endif struct { WINDOW *win; int tm,bm; } scrreg[2] = {{NULL,0,0},{NULL,0,0}}; #else SCREEN *trm; SCREEN *set_term(); #endif WINDOW *base_win, *err_win, *load_win, *save_win, *dic_win, *ddic_win, *kctm_win, *disp_win, *kutl_win, *mode1_win, *mode2_win, *dddic_win, *etc_win, *_etc_win, *end_win; disp_block(win, y, x, block, start, end) WINDOW *win; int y, x, start, end; char **block; { int i, j; if (start > 0) i = start; else i = 0; if (end > 0) { for(j =0; block[i]; i++,j++) { if (i <= end) { if (block[i]) { mvwaddstr(win, y+j, x, block[i]); wclrtoeol(win); } else { y--; } } } } else { for(j = 0; block[i]; i++,j++) { if (block[i]) { mvwaddstr(win, y+j, x, block[i]); wclrtoeol(win); } else { y--; } } } wrefresh(win); } err_word(format, string) char *format, *string; { #ifdef __FreeBSD__ wstandout(err_win); #else wattron(err_win,A_BLINK); #endif wprintw(err_win, format, string); #ifdef __FreeBSD__ wstandend(err_win); #else wattroff(err_win,A_BLINK); #endif wrefresh(err_win); } current_word(win, format, string) WINDOW *win; char *format, *string; { #ifdef __FreeBSD__ wstandout(win); #else wattron(win, A_REVERSE); #endif wprintw(win, format, string); #ifdef __FreeBSD__ wstandend(win); #else wattroff(win, A_REVERSE); #endif wrefresh(win); } clr_cul_to_end(win, y, x) WINDOW *win; int y, x; { wmove(win, y, x); wclrtobot(win); wrefresh(win); } void current_print(win,y,x,string) WINDOW *win; int y, x; char *string; { #ifdef __FreeBSD__ wstandout(win); #else wattron(win, A_REVERSE); #endif mvwaddstr(win, y, x, string); #ifdef __FreeBSD__ wstandend(win); #else wattroff(win, A_REVERSE); #endif touchwin(win); wrefresh(win); } current_print2(win, y, x, string, copy) WINDOW *win; int y, x; char *string, *copy; { int i = 0; for (; string[i] != ' ' && string[i] != '\0'; i++) copy[i] = string[i]; copy[i] = '\0'; current_print(win, y, x, copy); return (x + i/2 -1); } inc_rev_print(win, y, x, str1, rev, str2) WINDOW *win; int y, x; char *str1, *rev, *str2; { mvwaddstr(win, y, x, str1); current_word(win, "%s", rev); wprintw(win, "%s", str2); wclrtoeol(win); } loadFile() { char f_name[1024]; int y, x; mvwaddstr(load_win, 1, 10, "¡ù¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß¡ù"); mvwaddstr(load_win, 5, 10, "¥Õ¥¡¥¤¥ë̾ :"); touchwin(load_win); wrefresh(load_win); getyx(load_win, y, x); for(;;) { echo(); wgetstr(load_win, f_name); noecho(); werase(err_win); wrefresh(err_win); if (*f_name != '\0') { *err_mess = (char)NULL; tilda(f_name); if (initFileSpecified) free(initFileSpecified); initFileSpecified = (char *)malloc(strlen(f_name)+1); if (initFileSpecified) strcpy(initFileSpecified, f_name); if (is_icustom) parse(); else cparse(); initctm(); if (*err_mess) { err_word("¥Õ¥¡¥¤¥ë:%s¤Ï¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£",err_mess); beep(); clr_cul_to_end(load_win, y, x); if (initFileSpecified) { free(initFileSpecified); initFileSpecified = (char *)NULL; *err_mess = '\0'; } } else { clr_cul_to_end(load_win, y, x); return; } } else { return; } } } saveFile() { FILE *f_save; char f_name[1024]; int y, x; mvwaddstr(save_win, 1, 10, "¡ù¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ø¤ÎÊݸ¡ù"); mvwaddstr(save_win, 5, 10, "¥Õ¥¡¥¤¥ë̾ :"); touchwin(save_win); wrefresh(save_win); getyx(save_win, y, x); for(;;) { echo(); wgetstr(save_win, f_name); noecho(); werase(err_win); wrefresh(err_win); tilda(f_name); if (*f_name != '\0') { f_save = fopen(f_name, "w"); if (!f_save) { err_word("¥Õ¥¡¥¤¥ë:%s¤Ï¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£",f_name); beep(); clr_cul_to_end(save_win, y, x); } else { if (is_icustom) { write_iroha(f_save); } else { write_canna(f_save); } fclose(f_save); clr_cul_to_end(save_win, y, x); return; } } else { return; } } } ask_dic(loc) int loc; { switch(loc) { case 0 : /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ return 0; case 1 : /* ¥·¥¹¥Æ¥à¼­½ñ */ return nkanjidics; case 2 : /* Éô¼óÊÑ´¹¼­½ñ */ return nbushudics; case 3 : /* ¥æ¡¼¥¶¼­½ñ */ return nuserdics; case 4 : /* Ï¢¸ìÊÑ´¹ */ return 0; } } print_dic_list(loc, start, end, current) int loc, start, end, current; { int i, kazu; char **dic; switch(loc) { case 0 : /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ werase(ddic_win); if (RomkanaTable) mvwaddstr(ddic_win, 0, L_MARGIN, RomkanaTable); wrefresh(ddic_win); return; case 1 : /* ¥·¥¹¥Æ¥à¼­½ñ */ dic = kanjidicname; kazu = nkanjidics; break; case 2 : /* Éô¼óÊÑ´¹¼­½ñ */ dic = bushudicname; kazu = nbushudics; break; case 3 : /* ¥æ¡¼¥¶¼­½ñ */ dic = userdicname; kazu = nuserdics; break; case 4 : /* Ï¢¸ìÊÑ´¹ */ werase(ddic_win); if (RengoGakushu) mvwaddstr(ddic_win, 0, L_MARGIN, RengoGakushu); wrefresh(ddic_win); return; } werase(ddic_win); if (!kazu) { wrefresh(ddic_win); return; } for (i = start; i <= end && i < kazu; i++) { if (i < (7+1)) mvwaddstr(ddic_win, i, L_MARGIN, dic[i]); else mvwaddstr(ddic_win, i -7-1, L_MARGIN, dic[i]); } if (current != -1) { if (current < (7+1)) { if (current == kazu) current--; current_print(ddic_win, current, L_MARGIN, dic[current]); } else { if (current == kazu) current--; if (current == 7) { for (i = 0; i <= end && i < 7; i++) mvwaddstr(ddic_win, i, L_MARGIN, dic[i]); current_print(ddic_win, current, L_MARGIN, dic[current]); } current_print(ddic_win, current -7-1,L_MARGIN,dic[current]); } } wrefresh(ddic_win); return current; } confDic() { char d_name[512], *d_name2, *dic[16]; int y, x, location, ndic, c_location = 0, d_location = 0; chtype c, d; nocbreak(); clear(); disp_block(dddic_win, 0, L_MARGIN, d_mess, -1, -1); wrefresh(dddic_win); touchwin(ddic_win); werase(ddic_win); wrefresh(ddic_win); werase(dic_win); mvwaddstr(dic_win, 1, 10, "¡ù»ÈÍѤ¹¤ë¼­½ñ¤ÎÁªÂò¡ù"); mvwaddstr(dic_win, 1, 40, "¼­½ñ¤Î¼ïÎàÁªÂò(¼­½ñÅÐÏ¿)"); for (location = 0; dic_menu[location]; location++) mvwaddstr(dic_win, 3 + location, L_MARGIN, dic_menu[location]); if (RomkanaTable) { mvwaddstr(ddic_win, 0, L_MARGIN, RomkanaTable); wrefresh(ddic_win); } current_print(dic_win, 3 + c_location, 10, dic_menu[c_location]); cbreak(); while((c=wgetch( dic_win )) != _KEY_ESC && c != _KEY_Q) {/* SVR4 curses */ switch(c) { case KEY_DOWN : case _KEY_C_N : if (c_location == location -1) break; mvwaddstr(dic_win, 3 + c_location, L_MARGIN, dic_menu[c_location]); c_location++; current_print(dic_win, 3 + c_location, L_MARGIN, dic_menu[c_location]); getyx(dic_win, y, x); print_dic_list(c_location, 0, 7, -1); break; case KEY_UP : case _KEY_C_P : if (!c_location) break; mvwaddstr(dic_win, 3 + c_location, L_MARGIN, dic_menu[c_location]); c_location--; current_print(dic_win, 3 + c_location, L_MARGIN, dic_menu[c_location]); getyx(dic_win, y, x); print_dic_list(c_location, 0, 7, -1); break; case '\n' : if (ask_dic(c_location) < 15) { getyx(dic_win, y, x); mvwaddstr(dic_win, y, x +1,":"); #ifdef __FreeBSD__ wrefresh(dic_win); #endif echo(); wgetstr(dic_win, d_name); noecho(); if (strlen(d_name)) append_dic(c_location, d_name); print_dic_list(c_location, 0, 7, -1); clr_cul_to_end(dic_win, 3 + c_location, 0); for (location = c_location; dic_menu[location]; location++) mvwaddstr(dic_win, 3 + location, L_MARGIN, dic_menu[location]); current_print(dic_win, 3 + c_location, L_MARGIN, dic_menu[c_location]); wrefresh(dic_win); } break; case _KEY_D : if (!c_location) { RomkanaTable = NULL; clr_cul_to_end(ddic_win, 0, L_MARGIN); } break; case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; case _KEY_SPACE : if (!c_location) break; mvwaddstr(dic_win, 1, 40, "ÅÐÏ¿ÆâÍÆÉ½¼¨"); wclrtoeol(dic_win); wrefresh(dic_win); print_dic_list(c_location, 0, 7, 0); while((d=wgetch( dic_win )) != _KEY_SPACE && d != _KEY_ESC && d != _KEY_Q) { /* SVR4 curses */ switch(d) { case KEY_DOWN : case _KEY_C_N : if (d_location == 15 || d_location >= ask_dic(c_location) -1) break; d_location++; if (d_location < (7+1)) print_dic_list(c_location, 0, 7, d_location); else print_dic_list(c_location, 7+1, 15, d_location); break; case KEY_UP : case _KEY_C_P : if (!d_location) { print_dic_list(c_location, 0, 7, d_location); break; } d_location--; if (d_location < (7+1)) print_dic_list(c_location, 0, 7, d_location); else print_dic_list(c_location, 7+1, 15, d_location); break; case _KEY_D : delete_dic(c_location, d_location); if (d_location < (7+1)) d_location = print_dic_list(c_location, 0, 7, d_location); else d_location = print_dic_list(c_location, 7+1, 15, d_location); break; case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; } } d_location = 0; mvwaddstr(dic_win, 1, 40, "¼­½ñ¤Î¼ïÎàÁªÂò(¼­½ñÅÐÏ¿)"); wclrtoeol(dic_win); wmove(dic_win, y, x); wrefresh(dic_win); break; } } werase(dddic_win); wrefresh(dddic_win); return; } #define char_width(c) (((c) & 0x80) ? (((c) == 0x8e) ? 1 : 2) : 1) howManyLines(s1, s2, s3, cols) unsigned char *s1, *s2, *s3; int cols; { unsigned char *p; int l = 1, co = L_MARGIN, cwidth; for (p = s1 ; *p ; p++) { cwidth = char_width(*p); if (*p & 0x80) { p++; } if (co + cwidth > cols) { l++; co = cwidth; } else { co += cwidth; } } for (p = s2 ; *p ; p++) { cwidth = char_width(*p); if (*p & 0x80) { p++; } if (co + cwidth > cols) { l++; co = cwidth; } else { co += cwidth; } } for (p = s3 ; *p ; p++) { cwidth = char_width(*p); if (*p & 0x80) { p++; } if (co + cwidth > cols) { l++; co = cwidth; } else { co += cwidth; } } return l; } m_set(ph_mode) int ph_mode; { switch(ph_mode) { case 0: current_acts = allFunc; current_keys = allKey; return NallKeyFunc; case 1: current_acts = alphaFunc; current_keys = alphaKey; return NalphaKeyFunc; case 2: current_acts = yomiganaiFunc; current_keys = yomiganaiKey; return NyomiganaiKeyFunc; case 3: current_acts = yomiFunc; current_keys = yomiKey; return NyomiKeyFunc; case 4: current_acts = jishuFunc; current_keys = jishuKey; return NjishuKeyFunc; case 5: current_acts = tankouhoFunc; current_keys = tankouhoKey; return NtankouhoKeyFunc; case 6: current_acts = ichiranFunc; current_keys = ichiranKey; return NichiranKeyFunc; case 7: current_acts = zenHiraFunc; current_keys = zenHiraKey; return NzenHiraKeyFunc; case 8: current_acts = zenKataFunc; current_keys = zenKataKey; return NzenKataKeyFunc; case 9: current_acts = zenAlphaFunc; current_keys = zenAlphaKey; return NzenAlphaKeyFunc; case 10: current_acts = hanKataFunc; current_keys = hanKataKey; return NhanKataKeyFunc; case 11: current_acts = hanAlphaFunc; current_keys = hanAlphaKey; return NhanAlphaKeyFunc; case -1: current_acts = cc_acts; current_keys = cc_keys; return 1; } } #ifdef __STDC__ extern char *showChar(int); #else extern char *showChar(); #endif create_key_buff(mode, num, kora, ban, str1, rev, str2) int mode, num, kora, ban; char *str1, *rev, *str2; { int i, nseq, max_key, max_act ,sum, len = 0, length; char buff[512], *p, *r, *key, *acts; strcpy(str1, ""); strcpy(rev, ""); strcpy(str2, ""); strcpy(buff, ""); if (mode == -1) { if (!cc_keys_len) { if (kora == KEYS) { strcpy(rev, "¿·µ¬¥­¡¼"); len +=8; } else { strcpy(str1, "¿·µ¬¥­¡¼¡Õ"); len +=10; } } if (!cc_acts_len) { if (kora == ACTS) { strcpy(rev, "¿·µ¬µ¡Ç½"); len +=8; } else if (kora == KEYS) { strcpy(str2, "¡Õ¿·µ¬µ¡Ç½"); len +=10; } else { strcpy(str2, "¿·µ¬µ¡Ç½"); len +=8; } } /* if (!cc_acts_len && !cc_keys_len && kora == DONOT) { strcpy(str1, "¿·µ¬¥­¡¼¡Õ¿·µ¬µ¡Ç½"); len +=18; } */ if (cc_keys_len) { if (kora == KEYS) { if (showChar((unsigned char)*ccc_keys)) { strcpy(rev, returnKey); length = strlen(returnKey); len = len + length; } } else { if (showChar((unsigned char)*ccc_keys)) { strcpy(str1, returnKey); strcat(str1, "¡Õ"); length = strlen(returnKey); len = len + length +2; } } } if (cc_acts_len) { if (kora == ACTS) { if (fList[*ccc_acts]) { strcpy(rev, fList[*ccc_acts]); length = strlen(fList[*ccc_acts]); len = len + length; } } else if (kora == KEYS) { if (fList[*ccc_acts]) { strcpy(str2, "¡Õ"); strcat(str2, fList[*ccc_acts]); length = strlen(fList[*ccc_acts]); len = len + length +2; } } else { if (fList[*ccc_acts]) { strcat(str1, fList[*ccc_acts]); length = strlen(fList[*ccc_acts]); len = len + length; } } } return len; } nseq = m_set(mode); if (num > nseq -1) return -1; p = current_keys[num]; max_key = specialen(p); if (kora == KEYS) { if (ban > max_key-1) ban = max_key-1; for (i = 0; i < ban; i++) { len = strlen(showChar((unsigned char)*(p+i))) +len +2; strcat(buff, returnKey); strcat(buff, "¢ª"); } if (str1) strcpy(str1, buff); len = strlen(showChar((unsigned char)*(p+ban))) +len +2; if (!(mode == -1 && !cc_keys_len) && *p == -1 && ban == -1) { if (rev) strcpy(rev, "undefine"); } else { if (rev) strcpy(rev, returnKey); } strcpy(buff, "¢ª"); for (i = ban +1; i < max_key; i++) { len = strlen(showChar((unsigned char)*(p+i))) +len +2; strcat(buff, returnKey); strcat(buff, "¢ª"); } buff[strlen(buff) -2] = '\0'; strcat(buff, "¡Õ"); } else { if (!(mode == -1 && !cc_keys_len) && *p == -1) strcpy(buff, "undefine "); for (;*p != -1; p++) { len = strlen(showChar((unsigned char)*p)) +len +2; strcat(buff, returnKey); strcat(buff, "¢ª"); } buff[strlen(buff) -2] = '\0'; strcat(buff, "¡Õ"); } p = current_acts[num]; max_act = strlen(p); if (kora == ACTS) { if (ban > max_act -1) ban = max_act -1; for (i = 0; i < ban; i++) { len = strlen(fList[(unsigned char)*(p+i)]) +len +2; strcat(buff, fList[(unsigned char)*(p+i)]); strcat(buff, "¢ª"); } if (str1) strcpy(str1, buff); len = strlen(fList[(unsigned char)*(p+ban)]) +len +2; if (rev) strcpy(rev, fList[(unsigned char)*(p+ban)]); strcpy(buff, "¢ª"); for (i = ban +1; i < max_act; i++) { len = strlen(fList[(unsigned char)*(p+i)]) +len +2; strcat(buff, fList[(unsigned char)*(p+i)]); strcat(buff, "¢ª"); } buff[strlen(buff) -2] = '\0'; len -=2; if (str2) strcpy(str2, buff); } else { for (;*p; p++) { len = strlen(fList[(unsigned char)*p]) +len +2; strcat(buff, fList[(unsigned char)*p]); strcat(buff, "¢ª"); } buff[strlen(buff) -2] = '\0'; len -=2; if ((kora == DONOT) && str1) strcpy(str1, buff); if ((kora == KEYS) && str2) strcpy(str2, buff); } return len; } sp_disp(mode, top, line, kora, ban) int mode, top, line, kora, ban; { int length, tate = 0, pate = 0, i, j, kazu, end_stat = 0, etent; char str1[256], rev[256], str2[256]; clr_cul_to_end(disp_win, 5, 0); kazu = m_set(mode); if (touroku_start >= 0) { if (line >= kazu) line = kazu -1; if (top > line) top = line; for (i = kazu -1, j = 0; i == touroku_start; i--,j++) { if (j >= top) { tate = tate + dk_blocks[i].gyousu; if (line == j) WDisp.current = i; if ((top == -1 && tate > 5) || (top != -1 && tate > 6)) { end_stat = j; if (end_stat > line) { } break; } } } if ((top == -1 && tate <= 5) || (top != -1 && tate <= 6)) { for (i = 0; i < touroku_start; i++, j++) { if (j >= top) { tate = tate + dk_blocks[i].gyousu; if (line == j) WDisp.current = i; if ((top == -1 && tate > 5) || (top != -1 && tate > 6)) { break; } } } end_stat = j; if (line >= end_stat) { sp_disp(mode, ++top, line, kora, ban); return; } } } else { if (line >= kazu) line = kazu-1; if (top > line) top = line; if (top < 0) { i = 0; } else { i = top; } WDisp.current = line; for (; i < kazu; i++) { tate = tate + dk_blocks[i].gyousu; if ((top < 0 && tate > 5) || (top > -1 && tate > 6)) { break; } } end_stat = i; if (line >= end_stat) { sp_disp(mode, ++top, line, kora, ban); return; } } if (top < 0) { create_key_buff(-1, 0, DONOT, 0, str1, rev, str2); inc_rev_print(disp_win, 5, L_MARGIN, str1, rev, str2); } if (line < 0) { create_key_buff(-1, 0, kora, 0, str1, rev, str2); WDisp.current = line; } else { if (kora == KEYS && ban >= dk_blocks[WDisp.current].keysu) { ban = dk_blocks[WDisp.current].keysu -1; } else if (kora == ACTS && ban >= dk_blocks[WDisp.current].actsu) { ban = dk_blocks[WDisp.current].actsu -1; } create_key_buff(mode, WDisp.current, kora, ban, str1, rev, str2); } if (touroku_start >= 0) { if (line == -1) inc_rev_print(disp_win, 5, L_MARGIN, str1, rev, str2); for (i = kazu -1, j = 0; i == touroku_start; i--,j++) { if (j >= top && j < end_stat) { if (top == -1) { if (j == line) { inc_rev_print(disp_win, 6+pate, L_MARGIN, str1, rev, str2); } else { mvwaddstr(disp_win, 6+pate , L_MARGIN, dk_blocks[i].str); } wclrtoeol(disp_win); pate = pate + dk_blocks[i].gyousu; } else { if (j == line) { inc_rev_print(disp_win, 5 +pate, L_MARGIN, str1, rev, str2); } else { mvwaddstr(disp_win, 5 +pate , L_MARGIN, dk_blocks[i].str); } wclrtoeol(disp_win); pate = pate + dk_blocks[i].gyousu; } } } for (i = 0; i < touroku_start; i++, j++) { if (j >= top && j < end_stat) { if (top == -1) { if (j == line) { inc_rev_print(disp_win, 6+pate, L_MARGIN, str1, rev, str2); } else { mvwaddstr(disp_win, 6+pate , L_MARGIN, dk_blocks[i].str); } wclrtoeol(disp_win); pate = pate + dk_blocks[i].gyousu; } else { if (j == line) { inc_rev_print(disp_win, 5 +pate, L_MARGIN, str1, rev, str2); } else { mvwaddstr(disp_win, 5 +pate , L_MARGIN, dk_blocks[i].str); } wclrtoeol(disp_win); pate = pate + dk_blocks[i].gyousu; } } } } else { if (top < 0) { for (i =0, pate = 0; i < end_stat; i++) { if (i == line) { inc_rev_print(disp_win, 6+pate, L_MARGIN, str1, rev, str2); } else { mvwaddstr(disp_win, 6+pate, L_MARGIN, dk_blocks[i].str); } wclrtoeol(disp_win); pate = pate + dk_blocks[i].gyousu; } if (line == -1) inc_rev_print(disp_win, 5, L_MARGIN, str1, rev, str2); } else { for (i = top, pate = 0; i < end_stat; i++) { if (i == line) { inc_rev_print(disp_win, 5+pate, L_MARGIN, str1, rev, str2); } else { mvwaddstr(disp_win, 5+pate, L_MARGIN, dk_blocks[i].str); } wclrtoeol(disp_win); pate = pate + dk_blocks[i].gyousu; } } } WDisp.top = top; WDisp.line = line; WDisp.kora = kora; WDisp.ban = ban; } set_dk_blocks(mode, n) int mode, n; { char str1[256], rev[256], str2[256]; dk_blocks[n].len = create_key_buff(mode, n, DONOT, 0, str1, rev, str2); dk_blocks[n].str = (char *)malloc(strlen(str1) +1); strcpy(dk_blocks[n].str, str1); dk_blocks[n].keysu = specialen(current_keys[n]); if (!dk_blocks[n].keysu) dk_blocks[n].keysu = 1; dk_blocks[n].actsu = strlen(current_acts[n]); dk_blocks[n].gyousu = howManyLines(str1, rev, str2, COLS); } init_dk_blocks(mode) int mode; { int i; for (i = 0; i < m_set(mode); i++) set_dk_blocks(mode, i); dk_blocks[i].str = (char *)NULL; } copy_dk_blocks(a, b) int a, b; { dk_blocks[a].len = dk_blocks[b].len; dk_blocks[a].str = dk_blocks[b].str; dk_blocks[a].keysu = dk_blocks[b].keysu; dk_blocks[a].actsu = dk_blocks[b].actsu; dk_blocks[a].gyousu = dk_blocks[b].gyousu; } fin_dk_blocks() { int i; for (i = 0; dk_blocks[i].str; i++) free(dk_blocks[i].str); } tourokuN(ph_mode, N) int ph_mode, N; { switch(ph_mode) { case 0: NallKeyFunc = N; break; case 1: NalphaKeyFunc = N; break; case 2: NyomiganaiKeyFunc = N; break; case 3: NyomiKeyFunc = N; break; case 4: NjishuKeyFunc = N; break; case 5: NtankouhoKeyFunc = N; break; case 6: NichiranKeyFunc = N; break; case 7: NzenHiraKeyFunc = N; break; case 8: NzenKataKeyFunc = N; break; case 9: NzenAlphaKeyFunc = N; break; case 10: NhanKataKeyFunc = N; break; case 11: NhanAlphaKeyFunc = N; break; } } for_UNDO(status) char status; { char *p, *q, *s; undo_status = status; undo_ts = touroku_start; strcpy(undo_acts, current_acts[WDisp.current]); for (s = p = current_keys[WDisp.current], q = undo_keys ; *p != -1; p++,q++) *q = *p; *q = -1; if (p == s) *++q = -1; strcpy(U_dk_blocks.str, dk_blocks[WDisp.current].str); U_dk_blocks.len = dk_blocks[WDisp.current].len; U_dk_blocks.gyousu = dk_blocks[WDisp.current].gyousu; U_dk_blocks.keysu = dk_blocks[WDisp.current].keysu; U_dk_blocks.actsu = dk_blocks[WDisp.current].actsu; U_WDisp.top = WDisp.top; U_WDisp.line = WDisp.line; U_WDisp.kora = WDisp.kora; U_WDisp.ban = WDisp.ban; U_WDisp.current = WDisp.current; } from_UNDO() { char *p, *q, *s; int i; touroku_start = undo_ts; current_acts[U_WDisp.current] = (char *)malloc(strlen(undo_acts)+1); strcpy(current_acts[U_WDisp.current], undo_acts); current_keys[U_WDisp.current] = (char *)malloc(specialen(undo_keys)+1); for (s = p = current_keys[U_WDisp.current], q = undo_keys ; *q != -1; p++,q++) *p = *q; *p = -1; if (p == s); *++q = -1; dk_blocks[U_WDisp.current].str = (char *)malloc(strlen(U_dk_blocks.str) +1); strcpy(dk_blocks[U_WDisp.current].str, U_dk_blocks.str); dk_blocks[U_WDisp.current].len = U_dk_blocks.len; dk_blocks[U_WDisp.current].gyousu = U_dk_blocks.gyousu; dk_blocks[U_WDisp.current].keysu = U_dk_blocks.keysu; dk_blocks[U_WDisp.current].actsu = U_dk_blocks.actsu; WDisp.top = U_WDisp.top; WDisp.line = U_WDisp.line; WDisp.kora = U_WDisp.kora; WDisp.ban = U_WDisp.ban; WDisp.current = U_WDisp.current; undo_status = -1; } shinki(mode, kora, num) int mode, kora, num; { int N; char *p; undo_status = -1; N = m_set(mode); if (kora == KEYS) { ccc_keys[0] = num; ccc_keys[1] = -1; if (!cc_acts_len) { cc_keys_len = 1; return; } } else if (kora == ACTS) { ccc_acts[0] = num; ccc_acts[1] = '\0'; if (!cc_keys_len) { cc_acts_len = 1; return; } } if ((kora == KEYS && cc_acts_len) || (kora == ACTS && cc_keys_len)){ cc_keys_len = cc_acts_len = 0; p = current_keys[N] = (char *)malloc(2); *p = ccc_keys[0]; *++p = ccc_keys[1]; current_keys[N+1] = (char *)NULL; current_acts[N] = (char *)malloc(2); strncpy(current_acts[N], ccc_acts, 2); current_acts[N+1] = (char *)NULL; tourokuN(mode, N+1); touroku_start = N; set_dk_blocks(mode, N); dk_blocks[N+1].str = (char *)NULL; sp_disp(mode, -1, 0, kora, 0); } } to_multi(mode, num, kora, ban, which) int mode, num, kora, ban, which; { int atai, hosei, kazu, i; char *buff; m_set(mode); if (which == ADD) { for_UNDO(_KEY_A); hosei = 1; } else if (which == INSERT) { for_UNDO(_KEY_I); hosei = 0; } if (dk_blocks[num].len > 200 ) { beep(); goto red ; } if (WDisp.kora == KEYS) { if (current_keys[num][ban] == (char)255 || current_keys[num][ban] == (char)-1) goto red; atai = keyIn(mode, which); if (atai == (char)255 || atai == (char)-1) goto red; kazu = dk_blocks[num].keysu; buff = (char *)malloc(kazu +2); specpy(buff, current_keys[num]); } else if (WDisp.kora == ACTS) { if (current_keys[num][0] == (char)255 || current_keys[num][0] == (char)-1) goto red; atai = actIn(mode, which); if (atai == (char)-1 || atai == (char)255) goto red; kazu = dk_blocks[num].actsu; buff = (char *)malloc(kazu +2); strcpy(buff, current_acts[num]); } for (i = kazu; i >= ban + hosei; i--) buff[i+1] = buff[i]; buff[ban + hosei] = atai; if (kora == KEYS) { if (current_keys[num]) free(current_keys[num]); current_keys[num] = buff; } else if (kora == ACTS) { if (current_acts[num]) free(current_acts[num]); current_acts[num] = buff; } if (dk_blocks[num].str) free(dk_blocks[num].str); set_dk_blocks(mode, num); red : werase(kutl_win); disp_block(kutl_win, 0, L_MARGIN, kh_mess, -1, -1); wrefresh(kutl_win); sp_disp(mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban); } okikae(mode, num, kora, ban, obj) int mode, num, kora, ban, obj; { if (dk_blocks[num].len > 200 ) { beep(); return ; } if (kora == KEYS && (dk_blocks[num].keysu > 1 || dk_blocks[num].actsu > 1) && obj == 255) return; for_UNDO('\n'); m_set(mode); if (kora == KEYS) current_keys[num][ban] = obj; else if (kora == ACTS) current_acts[num][ban] = obj; if (dk_blocks[num].str) free(dk_blocks[num].str); set_dk_blocks(mode, num); sp_disp(mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban); } delete_obj(mode, num, kora, ban) int mode, num, kora, ban; { int i; char *p; for_UNDO(_KEY_D); m_set(mode); if (kora == KEYS) { p = current_keys[num]; for (i = ban; current_keys[num][i] != -1; i++) current_keys[num][i] = current_keys[num][i+1]; current_keys[num] = (char *)realloc(current_keys[num], i); specpy(current_keys[num], p); } else if (kora == ACTS) { p = current_acts[num]; for (i = ban; current_acts[num][i] != 0; i++) current_acts[num][i] = current_acts[num][i+1]; current_acts[num] = (char *)realloc(current_acts[num], i); strcpy(current_acts[num], p); } if (dk_blocks[num].str) free(dk_blocks[num].str); set_dk_blocks(mode, num); } kill_G(mode, num) int mode, num; { int kazu, i; for_UNDO(_KEY_K); kazu = m_set(mode); if (dk_blocks[num].str) free(dk_blocks[num].str); for (i = num;i < kazu; i++) { current_keys[i] = current_keys[i+1]; current_acts[i] = current_acts[i+1]; copy_dk_blocks(i, i+1); } tourokuN(mode, kazu-1); if (touroku_start > 0 && num != kazu -1) touroku_start--; } kill_UNDO(mode) int mode; { int kazu, i, num; num = U_WDisp.current; kazu = m_set(mode); for (i = kazu;i >= num; i--) { current_keys[i+1] = current_keys[i]; current_acts[i+1] = current_acts[i]; copy_dk_blocks(i+1, i); } tourokuN(mode, kazu+1); from_UNDO(); } dispIn(cus_mode) int cus_mode; { char *p; char str1[256], rev[256], str2[256]; int y, x, i, length; int p_point = L_MARGIN, location, c_location = 0; chtype c; ccc_keys[0] = -1; strcpy(ccc_acts, ""); cc_keys[0] = ccc_keys; cc_acts[0] = ccc_acts; /* echo();*/ nocbreak(); clear(); touchwin(disp_win); werase(disp_win); wrefresh(disp_win); WDisp.top = WDisp.line = -1; WDisp.ban = 0; mvwaddstr(disp_win, 1, L_MARGIN, "¡ù¥­¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º¡ù"); mvwaddstr(disp_win, 3, L_MARGIN, key_menu[cus_mode]); werase(kutl_win); disp_block(kutl_win, 0, L_MARGIN, kh_mess, -1, -1); init_dk_blocks(cus_mode); sp_disp(cus_mode, -1, -1, KEYS, 0); wrefresh(disp_win); cbreak(); while((c=wgetch( disp_win )) != _KEY_ESC && c != _KEY_Q ) { /* SVR4 curses */ switch(c) { case KEY_LEFT : case _KEY_C_B : if (WDisp.kora == KEYS && !WDisp.ban) { break; } else if (WDisp.line == -1 && WDisp.kora == KEYS) { break; } else if (WDisp.line == -1 && WDisp.kora == ACTS) { sp_disp(cus_mode,WDisp.top, WDisp.line, KEYS, WDisp.ban); break; } else if (WDisp.kora == ACTS && !WDisp.ban) { sp_disp(cus_mode, WDisp.top, WDisp.line, KEYS, dk_blocks[WDisp.current].keysu-1); break; } else { sp_disp(cus_mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban-1); break; } case KEY_RIGHT : case _KEY_C_F : if (WDisp.line == -1 && WDisp.kora == ACTS) { break; } else if (WDisp.line == -1 && WDisp.kora == KEYS) { sp_disp(cus_mode,WDisp.top, WDisp.line, ACTS, WDisp.ban); break; } if (WDisp.kora == KEYS && WDisp.ban == dk_blocks[WDisp.current].keysu-1) { sp_disp(cus_mode, WDisp.top, WDisp.line, ACTS, 0); break; } else { sp_disp(cus_mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban+1); break; } case KEY_UP : case _KEY_C_P : if (WDisp.line >= 0) sp_disp(cus_mode, WDisp.top, WDisp.line -1, WDisp.kora, WDisp.ban); break; case KEY_DOWN : case _KEY_C_N : sp_disp(cus_mode, WDisp.top, WDisp.line +1, WDisp.kora, WDisp.ban); break; case _KEY_A : if (WDisp.line != -1) { to_multi(cus_mode, WDisp.current, WDisp.kora, WDisp.ban, ADD); } break; case _KEY_I : if (WDisp.line != -1) { to_multi(cus_mode, WDisp.current, WDisp.kora, WDisp.ban, INSERT); } break; case _KEY_K : if (WDisp.line != -1) { kill_G(cus_mode, WDisp.current); sp_disp(cus_mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban); } break; case _KEY_D : if (WDisp.line != -1 && ( ((WDisp.kora == KEYS) && dk_blocks[WDisp.current].keysu > 1) || ((WDisp.kora == ACTS) && dk_blocks[WDisp.current].actsu > 1))) { delete_obj(cus_mode, WDisp.current, WDisp.kora, WDisp.ban); sp_disp(cus_mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban); } break; case _KEY_U : if (undo_status == _KEY_K) { kill_UNDO(cus_mode); sp_disp(cus_mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban); } else if (undo_status == '\n'|| undo_status == _KEY_D || undo_status == _KEY_A || undo_status == _KEY_I) { from_UNDO(); sp_disp(cus_mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban); } break; case '\n' : if (WDisp.kora == KEYS) { keyIn(cus_mode, 0); } else if (WDisp.kora == ACTS) { actIn(cus_mode, 0); } werase(kutl_win); disp_block(kutl_win, 0, L_MARGIN, kh_mess, -1, -1); wrefresh(kutl_win); sp_disp(cus_mode, WDisp.top, WDisp.line, WDisp.kora, WDisp.ban); break; case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; } wrefresh(disp_win); } fin_dk_blocks(); } keyIn(cus_mode, status) int cus_mode, status; { char prev_char[20], *p; int y, x, i; int p_point = L_MARGIN, c_location = 0, t_location = 0; chtype c; nocbreak(); clear(); touchwin(kutl_win); werase(kutl_win); wrefresh(kutl_win); mvwaddstr(kutl_win, 0, 10, "¥­¡¼¤òÁªÂò¤·¤Æ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤"); disp_block(kutl_win, 2, L_MARGIN, keyLine, 0, 8); current_print2(kutl_win, 2 + c_location, p_point, keyLine[c_location], prev_char); cbreak(); while((c=wgetch( kutl_win )) != '\n') { /* SVR4 curses */ switch(c) { case KEY_LEFT : case _KEY_C_B : mvwaddstr(kutl_win, c_location +2, p_point, prev_char); if (p_point == L_MARGIN) { if (!c_location) { if (!t_location) { /* °ìÈÖº¸¾å¤Ëµï¤Æº¸¤Ë¹Ô¤³¤¦¤È¤·¤¿ */ current_print2(kutl_win, c_location +2, p_point, prev_char, prev_char); break; } t_location--; disp_block(kutl_win, 2, L_MARGIN, keyLine, t_location -c_location, t_location -c_location +8); for (p = keyLine[t_location], i= 0; p[i]; i++); for (;p[i] != ' '; i--); p_point = ++i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point, p + i, prev_char); break; } t_location--; c_location--; for (p = keyLine[t_location], i = 0; p[i]; i++); for (; p[i] != ' '; i--); p_point = ++i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point, p + i, prev_char); break; } else { for (p = keyLine[t_location], i = p_point - L_MARGIN - KANKAKU -1; (p[i] != ' ') && (i >= 0); i--); p_point = ++i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point, p + i, prev_char); break; } case KEY_RIGHT : case _KEY_C_F : mvwaddstr(kutl_win, c_location + 2, p_point, prev_char); getyx(kutl_win,y ,x); p = keyLine[t_location]; if (!*(p + x - L_MARGIN)) { if (!keyLine[t_location +1]) { current_print2(kutl_win, c_location +2, p_point, prev_char, prev_char); break; } t_location++; p_point = L_MARGIN; if (c_location == 8) { disp_block(kutl_win, 2, L_MARGIN, keyLine, t_location -c_location, t_location -c_location +8); current_print2(kutl_win, c_location +2, p_point, keyLine[t_location], prev_char); } else { c_location++; current_print2(kutl_win, c_location +2, p_point, keyLine[t_location], prev_char); } break; } else { p_point = x + KANKAKU; current_print2(kutl_win, c_location +2, p_point, p + p_point - L_MARGIN, prev_char); break; } case KEY_UP : case _KEY_C_P : if (!t_location) /* ºÇ¾å°Ì¤Ç¾å¤Ë¹Ô¤³¤¦¤È¤·¤¿ */ break; t_location--; if (!c_location) { disp_block(kutl_win, 2, L_MARGIN, keyLine, t_location -c_location, t_location -c_location +8); for (p = keyLine[t_location], i = 0; p[i]; i++); for (;p[i] != ' '; i--); if (p_point >= ++i + L_MARGIN) { p_point = i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point, p + i, prev_char); break; } if (p[p_point - L_MARGIN] == ' ') { for (i = p_point - L_MARGIN; p[i] == ' '; i++); p_point = i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } else { for(i = p_point - L_MARGIN; p[i] != ' ' && i >= 0;i--); p_point = ++i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } } mvwaddstr(kutl_win, c_location +2, p_point, prev_char); c_location--; for (p = keyLine[t_location], i = 0; p[i]; i++); for (;p[i] != ' '; i--); if(p_point >= ++i + L_MARGIN) { p_point = i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } if (p[p_point - L_MARGIN] == ' ') { for (i = p_point - L_MARGIN; p[i] == ' '; i++); p_point = i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } else { for(i = p_point - L_MARGIN; p[i] != ' ' && i >= 0;i--); p_point = ++i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } case KEY_DOWN : case _KEY_C_N : if (!keyLine[t_location +1]) break; t_location++; if (c_location == 8) { disp_block(kutl_win, 2, L_MARGIN, keyLine, t_location -c_location, t_location -c_location +8); for (p = keyLine[t_location], i = 0; p[i]; i++); for (;p[i] != ' '; i--); if(p_point >= ++i + L_MARGIN) { p_point = i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } if (p[p_point - L_MARGIN] == ' ') { for (i = p_point - L_MARGIN; p[i] == ' '; i++); p_point = i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } else { for(i = p_point - L_MARGIN; p[i] != ' ' && i >= 0;i--); p_point = ++i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } } mvwaddstr(kutl_win, c_location +2, p_point, prev_char); c_location++; for (p = keyLine[t_location], i = 0; p[i]; i++); for (;p[i] != ' '; i--); if(p_point >= ++i + L_MARGIN) { p_point = i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } if (p[p_point - L_MARGIN] == ' ') { for (i = p_point - L_MARGIN; p[i] == ' '; i++); p_point = i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } else { for(i = p_point - L_MARGIN; p[i] != ' ' && i >= 0;i--); p_point = ++i + L_MARGIN; current_print2(kutl_win, c_location +2, p_point,p + i, prev_char); break; } case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; case _KEY_ESC : case _KEY_Q : return -1; } } if (c == '\n') { if (WDisp.line == -1) { shinki(cus_mode, KEYS, scc(prev_char)); } else if (!status){ okikae(cus_mode, WDisp.current, KEYS, WDisp.ban, scc(prev_char)); } } return scc(prev_char); } actIn(cus_mode, status) int cus_mode, status; { int y, x; int current_point = 0, location, c_location = 0, t_location = 0; chtype c; nocbreak(); clear(); touchwin(kutl_win); werase(kutl_win); wrefresh(kutl_win); mvwaddstr(kutl_win, 0, 10, "µ¡Ç½¤òÁªÂò¤·¤Æ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£"); disp_block(kutl_win, 2, L_MARGIN, actLine, 0, 8); current_print(kutl_win, 2 + c_location, L_MARGIN, actLine[c_location]); cbreak(); while((c=wgetch( kutl_win )) != '\n') { /* SVR4 curses */ switch(c) { case KEY_DOWN : case _KEY_C_N : if (!actLine[t_location +1]) { break; } if (c_location == 8) { t_location++; disp_block(kutl_win, 2, L_MARGIN, actLine, t_location -8, t_location -1); current_print(kutl_win, 2 +c_location, L_MARGIN, actLine[t_location]); wclrtoeol(kutl_win); break; } else { c_location++; t_location++; mvwaddstr(kutl_win, 1 +c_location, L_MARGIN, actLine[t_location -1]); current_print(kutl_win, 2 +c_location, L_MARGIN, actLine[t_location]); wclrtoeol(kutl_win); break; } case KEY_UP : case _KEY_C_P : if (!(t_location) && !c_location) { break; } if (!c_location) { t_location--; disp_block(kutl_win, 3, L_MARGIN, actLine, t_location +1, t_location +8); current_print(kutl_win, 2 +c_location, L_MARGIN, actLine[t_location]); wclrtoeol(kutl_win); break; } else { c_location--; t_location--; mvwaddstr(kutl_win, 3 +c_location, L_MARGIN, actLine[t_location +1]); current_print(kutl_win, 2 +c_location, L_MARGIN, actLine[t_location]); wclrtoeol(kutl_win); break; } case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; case _KEY_ESC : case _KEY_Q : return -1; } wrefresh(kutl_win); } if (c == '\n') { if (is_icustom) { if (t_location == 40 || t_location == 41) { t_location +=2; /* NextKouho¤ÈPrevKouho¤È¤Ê¤ë¤è¤¦¤Ë¤¹¤ë¡£ */ } } if (WDisp.line == -1) { shinki(cus_mode, ACTS, t_location +2); } else if (!status) { okikae(cus_mode, WDisp.current, ACTS, WDisp.ban, t_location +2); } } return (t_location +2); } keyCustom() { int y, x, location, c_location = 0; chtype c; if(is_icustom) { fList = funcList; actLine = aLine; } else { fList = cfuncList; actLine = caLine; } /* echo();*/ for(;;) { nocbreak(); touchwin(kctm_win); werase(kctm_win); wrefresh(kctm_win); mvwaddstr(kctm_win, 1, 10, "¡ù¥­¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º¡ù"); for (location = 0; key_menu[location]; location++) mvwaddstr(kctm_win, 3 + location, 10, key_menu[location]); current_print(kctm_win, 3 + c_location, 10, key_menu[c_location]); cbreak(); while((c=wgetch( kctm_win )) != '\n') { switch(c) { case KEY_DOWN : case _KEY_C_N : if (c_location == location -1) break; mvwaddstr(kctm_win, 3 + c_location, 10, key_menu[c_location]); c_location++; current_print(kctm_win, 3 + c_location, 10, key_menu[c_location]); break; case KEY_UP : case _KEY_C_P : if (c_location == 0) break; mvwaddstr(kctm_win, 3 + c_location, 10, key_menu[c_location]); c_location--; current_print(kctm_win, 3 + c_location, 10, key_menu[c_location]); break; case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; case _KEY_SPACE : case _KEY_ESC : case _KEY_Q : return; } } dispIn(c_location); touroku_start = -1; cc_keys_len = cc_acts_len = 0; } } char *hozon_mode_mei; #define BOTOM 14 scrollDisplay(win, name_list, s_point, c_point, scrflg) WINDOW *win; char **name_list; int s_point, /* start line */ c_point; /* current line */ int scrflg; /* 0: ¤Ï¤¸¤á¤Æ 1: ¥¹¥¯¥í¡¼¥ë¤·¤Ê¤¤ 2: ¥¹¥¯¥í¡¼¥ë¤¹¤ë */ { char **menu, print_mode[512], undo_mode[512], undo_sts; int location, c_location = 0, u_location = -1; int page = 1, start_point = 0; chtype c; switch ( scrflg ) { case 0: /* ½é¤á¤ÆÉ½¼¨¤¹¤ë */ for (location = 0; location < BOTOM && name_list[location]; location++) { wclrtoeol(win); mvwaddstr(win, 3 + location, L_MARGIN,name_list[location]); } break; case 1: if ( c_point == 0 ) { /* °ìÈÖ¾å¤Î¹Ô¤Î»þ¤Ï¡¢¼«Ê¬¼«¿®¤ò½ñ¤­Ä¾¤¹¤À¤± */ mvwaddstr(win, 3+1, L_MARGIN, name_list[s_point+1]); break; } else if ( c_point != BOTOM -1 ) { mvwaddstr(win, 3+c_point-1, L_MARGIN, name_list[s_point+c_point-1]); } if ( c_point == BOTOM-1 ) { /* °ìÈÖ²¼¤Î¹Ô¤Î»þ¤Ï¡¢¼«Ê¬¼«¿®¤ò½ñ¤­Ä¾¤¹¤À¤± */ mvwaddstr(win, 3+c_point-1, L_MARGIN, name_list[s_point+c_point-1]); break; } else { mvwaddstr(win, 3+c_point+1, L_MARGIN, name_list[s_point+c_point+1]); } break; case 2: if (c_point == 0 ) { /* ¥Þ¥¤¥Ê¥¹¥¹¥¯¥í¡¼¥ë */ #ifdef SVR4 wscrl(win, -1); #else /* SVR4 */ (void)ustam_scroll(win, -1); #endif /* SVR4 */ mvwaddstr(win, 3+1, L_MARGIN, name_list[s_point+1]); } else if ( c_point == BOTOM-1 ) { /* ¥×¥é¥¹¥¹¥¯¥í¡¼¥ë */ #ifdef SVR4 wscrl(win, 1); #else /* SVR4 */ (void)ustam_scroll(win, 1); #endif /* SVR4 */ mvwaddstr(win, 3+c_point-1, L_MARGIN, name_list[s_point+c_point-1]); } break; default: break; } current_print(win, 3 + c_point, L_MARGIN, name_list[s_point + c_point]); } printCurrentName(win, location) WINDOW *win; int location; { char print_mode[512]; if (is_icustom) { if (mode_mei[mm_set[location]]) { strncpy(print_mode, mode_mei[mm_set[location]], 255); } else if (null_mode[mm_set[location]]) { strncpy(print_mode,"ÊѤï¤é¤Ê¤¤¾õÂÖ",255); } else { strncpy(print_mode,"¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Ê¤¤¾õÂÖ",255); } } else { if (mode_mei[c_mm_set[location]]) { strncpy(print_mode, mode_mei[c_mm_set[location]], 255); } else if (null_mode[c_mm_set[location]]) { strncpy(print_mode,"ÊѤï¤é¤Ê¤¤¾õÂÖ",255); } else { strncpy(print_mode,"¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Ê¤¤¾õÂÖ",255); } } wmove(err_win, 1, 0); wclrtoeol(err_win); wmove(err_win, 0, 0); wprintw(err_win,"¸½ºß¡¢¤³¤Î¥â¡¼¥É¤Îʸ»úÎó¤Ï%s¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£", print_mode); wclrtoeol(err_win); wrefresh(err_win); } modeNameDisplay() { WINDOW *win; char **menu, print_mode[512], undo_mode[512], undo_sts; int location = 0, c_location = 0, u_location = -1; int page = 1, start_point = 0; chtype c; win = mode1_win; if (is_icustom) { menu = old_mode_menu; } else { menu = mode_menu; } mvwaddstr(win, 1, 10, "¡ù¥â¡¼¥É¤Îɽ¼¨Ê¸»úÎó¤Î¥«¥¹¥¿¥Þ¥¤¥º¡ù"); scrollDisplay(win, menu, 0, 0, 0); wmove(err_win, 0, 0); printCurrentName(win, 0); mvwaddstr(err_win, 2, 0,"¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤¹¤Èʸ»úÎó¤ò\ ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£\n¥¹¥Ú¡¼¥¹¥­¡¼¤Ç¥â¡¼¥É¤Îɽ¼¨Ê¸»úÎó¤Î¥«\ ¥¹¥¿¥Þ¥¤¥º¤ò½ªÎ»¤·¤Þ¤¹¡£"); wrefresh(err_win); cbreak(); for (;c=wgetch( err_win );) { switch(c) { case KEY_DOWN : case _KEY_C_N : if (menu[location +1]) { if (location < (start_point + BOTOM -1)) { location++; scrollDisplay(win, menu, start_point, location - start_point, 1); } else { location++; start_point++; scrollDisplay(win, menu, start_point, location - start_point, 2); } printCurrentName(win, location); } break; case KEY_UP : case _KEY_C_P : if (location > 0) { if (location > start_point) { location--; scrollDisplay(win, menu, start_point, location - start_point, 1); } else { location--; start_point--; scrollDisplay(win, menu, start_point, location - start_point, 2); } printCurrentName(win, location); } break; case _KEY_D : wmove(err_win, 1, 0); wclrtoeol(err_win); wmove(err_win, 0, 0); if (is_icustom) { if (mode_mei[mm_set[location]]) { u_location = location; strcpy(undo_mode, mode_mei[mm_set[location]]); undo_sts = STR_UNDO; mode_mei[mm_set[location]] = NULL; null_mode[mm_set[location]] = 0; wclrtoeol(err_win); wprintw(err_win, "¤³¤Î¥â¡¼¥É¤Îʸ»úÎó¡¢%s¤ò¾Ãµî¤·¤Þ¤·¤¿¡£", undo_mode); } else if (null_mode[mm_set[location]]) { u_location = location; undo_sts = NULL_UNDO; null_mode[mm_set[location]] = 0; wclrtoeol(err_win); wprintw(err_win,"¤³¤Î¥â¡¼¥É¤Îʸ»úÎó¤ò½é´üÃͤËÌᤷ¤Þ¤·¤¿¡£"); } } else { /* ccustom¤È¤·¤ÆÆ°ºî */ if (mode_mei[c_mm_set[location]]) { u_location = location; strcpy(undo_mode, mode_mei[c_mm_set[location]]); undo_sts = STR_UNDO; mode_mei[c_mm_set[location]] = NULL; null_mode[c_mm_set[location]] = 0; wclrtoeol(err_win); wprintw(err_win, "¤³¤Î¥â¡¼¥É¤Îʸ»úÎó¡¢%s¤ò¾Ãµî¤·¤Þ¤·¤¿¡£", undo_mode); } else if (null_mode[c_mm_set[location]]) { u_location = location; undo_sts = NULL_UNDO; null_mode[c_mm_set[location]] = 0; wclrtoeol(err_win); wprintw(err_win,"¤³¤Î¥â¡¼¥É¤Îʸ»úÎó¤ò½é´üÃͤËÌᤷ¤Þ¤·¤¿¡£"); } } wrefresh(err_win); break; case _KEY_U : if (u_location == location) { wmove(err_win, 1, 0); wclrtoeol(err_win); wmove(err_win, 0, 0); if (is_icustom) { if (!mode_mei[mm_set[location]]) { if (!undo_sts) { mode_mei[mm_set[location]] = (char *)malloc(strlen(undo_mode) +1); strcpy(mode_mei[mm_set[location]], undo_mode); wprintw(err_win,"ʸ»úÎó¡¢%s¤ò¤³¤Î¥â¡¼¥É¤ËÉüµ¢¤µ¤»¤Þ¤·¤¿¡£", undo_mode); wclrtoeol(err_win); } else if (undo_sts == NULL_UNDO) { wprintw(err_win,"ʸ»úÎó¤¬ÊѤï¤é¤Ê¤¤¾õÂÖ¤ËÌᤷ¤Þ¤·¤¿¡£", undo_mode); wclrtoeol(err_win); null_mode[mm_set[location]] = 1; } else if (undo_sts == NON_UNDO) { wprintw(err_win,"¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Ê¤¤¾õÂÖ¤ËÌᤷ¤Þ¤·¤¿¡£", undo_mode); wclrtoeol(err_win); null_mode[mm_set[location]] = 0; } } } else { /* ccustom¤È¤·¤ÆÆ°ºî */ if (!mode_mei[c_mm_set[location]]) { if (!undo_sts) { mode_mei[c_mm_set[location]] = (char *)malloc(strlen(undo_mode) +1); strcpy(mode_mei[c_mm_set[location]], undo_mode); wprintw(err_win,"ʸ»úÎó¡¢%s¤ò¤³¤Î¥â¡¼¥É¤ËÉüµ¢¤µ¤»¤Þ¤·¤¿¡£", undo_mode); wclrtoeol(err_win); } else if (undo_sts == NULL_UNDO) { wprintw(err_win,"ʸ»úÎó¤¬ÊѤï¤é¤Ê¤¤¾õÂÖ¤ËÌᤷ¤Þ¤·¤¿¡£", undo_mode); wclrtoeol(err_win); null_mode[c_mm_set[location]] = 1; } else if (undo_sts == NON_UNDO) { wprintw(err_win,"¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Ê¤¤¾õÂÖ¤ËÌᤷ¤Þ¤·¤¿¡£", undo_mode); wclrtoeol(err_win); null_mode[c_mm_set[location]] = 0; } } } wrefresh(err_win); } break; case '\n' : clr_cul_to_end(err_win, 3, 0); mvwaddstr(err_win, 2, 0,"¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¤¤Ê¸»úÎó¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ :"); wclrtoeol(err_win); wrefresh(err_win); u_location = location; if (is_icustom) { if (mode_mei[mm_set[location]]) strcpy(undo_mode, mode_mei[mm_set[location]]); } else { /* ccustom¤È¤·¤ÆÆ°ºî */ if (mode_mei[c_mm_set[location]]) strcpy(undo_mode, mode_mei[c_mm_set[location]]); } echo(); wgetstr(err_win, print_mode); noecho(); werase(err_win); wmove(err_win, 0, 0); if (is_icustom) { if (strlen(print_mode)) { hozon_mode_mei = (char *)malloc(strlen(print_mode) +1); strcpy(hozon_mode_mei, print_mode); mode_mei[mm_set[location]] = hozon_mode_mei; } else { if (mode_mei[mm_set[location]]) { strcpy(print_mode, mode_mei[mm_set[location]]); } else { if (null_mode[mm_set[location]]) strncpy(print_mode,"ÊѤï¤é¤Ê¤¤¾õÂÖ",31); else strncpy(print_mode,"¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Ê¤¤¾õÂÖ",31); } } } else { /* ccustom¤È¤·¤ÆÆ°ºî */ if (strlen(print_mode)) { hozon_mode_mei = (char *)malloc(strlen(print_mode) +1); strcpy(hozon_mode_mei, print_mode); mode_mei[c_mm_set[location]] = hozon_mode_mei; } else { if (mode_mei[c_mm_set[location]]) { strcpy(print_mode, mode_mei[c_mm_set[location]]); } else { if (null_mode[c_mm_set[location]]) strncpy(print_mode,"ÊѤï¤é¤Ê¤¤¾õÂÖ",31); else strncpy(print_mode,"¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Ê¤¤¾õÂÖ",31); } } } if (!strlen(print_mode)) strncpy(print_mode,"¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Ê¤¤¾õÂÖ",31); wprintw(err_win,"¸½ºß¡¢¤³¤Î¥â¡¼¥É¤Îʸ»úÎó¤Ï%s¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£", print_mode); wclrtoeol(err_win); mvwaddstr(err_win, 2, 0,"¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤¹¤Èʸ»úÎó¤ò\ ¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¡£\n¥¹¥Ú¡¼¥¹¥­¡¼¤Ç¥â¡¼¥É¤Îɽ¼¨Ê¸»úÎó¤Î¥«\ ¥¹¥¿¥Þ¥¤¥º¤ò½ªÎ»¤·¤Þ¤¹¡£"); wclrtobot(err_win); wrefresh(err_win); break; case _KEY_N : u_location = location; if (is_icustom) { if (mode_mei[mm_set[location]]) strcpy(undo_mode, mode_mei[mm_set[location]]); undo_sts = STR_UNDO; if (!mode_mei[mm_set[location]]) { if (null_mode[mm_set[location]]) { undo_sts = NULL_UNDO; break; } else { undo_sts = NON_UNDO; } } mode_mei[mm_set[location]] = NULL; null_mode[mm_set[location]] = 1; } else { /* ccustom¤È¤·¤ÆÆ°ºî */ if (mode_mei[c_mm_set[location]]) strcpy(undo_mode, mode_mei[c_mm_set[location]]); undo_sts = STR_UNDO; if (!mode_mei[c_mm_set[location]]) { if (null_mode[c_mm_set[location]]) { undo_sts = NULL_UNDO; break; } else { undo_sts = NON_UNDO; } } mode_mei[c_mm_set[location]] = NULL; null_mode[c_mm_set[location]] = 1; } wmove(err_win, 1, 0); wclrtoeol(err_win); wmove(err_win, 0, 0); wprintw(err_win,"¤³¤Î¥â¡¼¥É¤Îʸ»úÎó¤òÊѤï¤é¤Ê¤¯¤·¤Þ¤·¤¿¡£"); wclrtoeol(err_win); wrefresh(err_win); break; case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; case _KEY_SPACE : case _KEY_ESC : case _KEY_Q : return DONOT; } } return DONOT; } modeName() { int y, x, page = 1; int location, c_location = 0; chtype c; nocbreak(); modeNameDisplay(); werase(err_win); wrefresh(err_win); return; } on_off(win,ctm) WINDOW *win; char ctm; { int y, x; getyx(win, y, x); if (ctm == ON) { #ifdef __FreeBSD__ wstandout(win); #else wattron(win, A_REVERSE); #endif wprintw(win,"%s","O N"); #ifdef __FreeBSD__ wstandend(win); #else wattroff(win, A_REVERSE); #endif wprintw(win,"%s"," OFF"); wmove(win, y, x+3); } else { wprintw(win,"%s","O N "); #ifdef __FreeBSD__ wstandout(win); #else wattron(win, A_REVERSE); #endif wprintw(win,"%s","OFF"); #ifdef __FreeBSD__ wstandend(win); #else wattroff(win, A_REVERSE); #endif } wrefresh(win); } etcScroll(s_point, c_point, scrflg) int s_point, c_point; int scrflg; /* 0: ½é¤á¤Æ 1: ¥¹¥¯¥í¡¼¥ë¤·¤Ê¤¤ 2: ¥¹¥¯¥í¡¼¥ë¤µ¤»¤ë */ { int location, i; switch ( scrflg ) { case 0: /* ¤Ï¤¸¤á¤Æ¤«¤¯¤È¤­ */ for (location = 0; location < BOTOM && etc_menu[location]; location++) { wmove(etc_win, 3 + location, L_MARGIN); wclrtoeol(etc_win); wmove(etc_win, 3 + location, 34); if (location == 0) { if (is_icustom) mvwaddstr(etc_win, 3 + location, 34, old_mode_ichiran[InitialMode]); else mvwaddstr(etc_win, 3 + location, 34, mode_ichiran[InitialMode]); } else if (location == 13) wprintw(etc_win, "%d²ó ", kouho_threshold); else if (location == 17) wprintw(etc_win, "%dʸÀá ", nKouhoBunsetsu); else on_off(etc_win, etc_ctm[location]); mvwaddstr(etc_win, 3 + location, L_MARGIN, etc_menu[location]); } break; case 1: /* ¥¹¥¯¥í¡¼¥ë¤µ¤»¤Ê¤¤ */ if ( c_point == 0 ) { /* °ìÈÖ¾å¤Î¹Ô¤Î»þ¤Ï¡¢¼«Ê¬¼«¿®¤ò½ñ¤­Ä¾¤¹¤À¤± */ mvwaddstr(etc_win, 3+1, L_MARGIN, etc_menu[s_point+1]); break; } else if ( c_point != BOTOM -1 ) { mvwaddstr(etc_win, 3+c_point-1, L_MARGIN, etc_menu[s_point+c_point-1]); } if ( c_point == BOTOM-1 ) { /* °ìÈÖ²¼¤Î¹Ô¤Î»þ¤Ï¡¢¼«Ê¬¼«¿®¤ò½ñ¤­Ä¾¤¹¤À¤± */ mvwaddstr(etc_win, 3+c_point-1, L_MARGIN, etc_menu[s_point+c_point-1]); break; } else { mvwaddstr(etc_win, 3+c_point+1, L_MARGIN, etc_menu[s_point+c_point+1]); } break; case 2: /* ¥¹¥¯¥í¡¼¥ë¤µ¤»¤ë */ if (c_point == 0 ) { /* ¥Þ¥¤¥Ê¥¹¥¹¥¯¥í¡¼¥ë */ #ifdef SVR4 wscrl(etc_win, -1); #else /* SVR4 */ (void)ustam_scroll(etc_win, -1); #endif /* SVR4 */ mvwaddstr(etc_win, 3+1, L_MARGIN, etc_menu[s_point+1]); } else if ( c_point == BOTOM-1 ) { /* ¥×¥é¥¹¥¹¥¯¥í¡¼¥ë */ #ifdef SVR4 wscrl(etc_win, 1); #else /* SVR4 */ (void)ustam_scroll(etc_win, 1); #endif /* SVR4 */ mvwaddstr(etc_win, 3+c_point-1, L_MARGIN, etc_menu[s_point+c_point-1]); } break; default: break; } /* ¥«¥ì¥ó¥È¥á¥Ë¥å¡¼¤Î¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸ */ werase(_etc_win); mvwaddstr(_etc_win, 0, 0, etc_manual[s_point + c_point]); wrefresh(_etc_win); /* ¥«¥ì¥ó¥È¥á¥Ë¥å¡¼ */ wmove(etc_win, 3 + c_point, 0); wclrtoeol(etc_win); wmove(etc_win, 3 + c_point, 34); if (s_point + c_point == 0) { if (is_icustom) mvwaddstr(etc_win, 3 + c_point, 34, old_mode_ichiran[InitialMode]); else mvwaddstr(etc_win, 3 + c_point, 34, mode_ichiran[InitialMode]); } else if (s_point + c_point == 13) wprintw(etc_win, "%d²ó ", kouho_threshold); else if (s_point + c_point == 17) wprintw(etc_win, "%dʸÀá ", nKouhoBunsetsu); else if (s_point + c_point == 25) wprintw(etc_win, "%d²ó ", nkeysuu); else on_off(etc_win, etc_ctm[s_point + c_point]); current_print(etc_win, 3 + c_point , L_MARGIN, etc_menu[s_point+c_point]); wrefresh(etc_win); } /* etcScroll(s_point, c_point) int s_point, c_point; { int location, i; if (c_point == 0 || c_point == BOTOM -1) { for (location = s_point; location < (s_point + BOTOM) && etc_menu[location]; location++) { wmove(etc_win, 3 +location - s_point, L_MARGIN); wclrtoeol(etc_win); wmove(etc_win, 3 +location - s_point, 34); if (location == 0) { if (is_icustom) mvwaddstr(etc_win, 3 +location -s_point, 34, old_mode_ichiran[InitialMode]); else mvwaddstr(etc_win, 3 +location -s_point, 34, mode_ichiran[InitialMode]); } else if (location == 13) wprintw(etc_win, "%d²ó ", kouho_threshold); else if (location == 17) wprintw(etc_win, "%dʸÀá ", nKouhoBunsetsu); else on_off(etc_win, etc_ctm[location]); mvwaddstr(etc_win, 3 + location - s_point, L_MARGIN, etc_menu[location]); } } else { mvwaddstr(etc_win, 3 + c_point -1, L_MARGIN, etc_menu[s_point + c_point -1]); mvwaddstr(etc_win, 3 + c_point +1, L_MARGIN, etc_menu[s_point + c_point +1]); } werase(_etc_win); mvwaddstr(_etc_win, 0, 0, etc_manual[s_point + c_point]); wrefresh(_etc_win); wmove(etc_win, 3 + c_point, 0); wclrtoeol(etc_win); wmove(etc_win, 3 + c_point, 34); if (s_point + c_point == 0) { if (is_icustom) mvwaddstr(etc_win, 3 + c_point, 34, old_mode_ichiran[InitialMode]); else mvwaddstr(etc_win, 3 + c_point, 34, mode_ichiran[InitialMode]); } else if (s_point + c_point == 13) wprintw(etc_win, "%d²ó ", kouho_threshold); else if (s_point + c_point == 17) wprintw(etc_win, "%dʸÀá ", nKouhoBunsetsu); else on_off(etc_win, etc_ctm[s_point + c_point]); current_print(etc_win, 3 + c_point , L_MARGIN, etc_menu[s_point + c_point]); wrefresh(etc_win); } */ etcCustom() { int y, x, location = 0, c_location = 0, start_point = 0; chtype c; if(is_icustom) { etc_menu = e_menu; etc_manual = e_manual; } else { etc_menu = ce_menu; etc_manual = ce_manual; } nocbreak(); touchwin(etc_win); werase(etc_win); wrefresh(etc_win); mvwaddstr(etc_win, 1, 10, "¡ù¤½¤Î¾¤Î¥«¥¹¥¿¥Þ¥¤¥º¡ù"); etcScroll(0, 0, 0); cbreak(); getyx(etc_win, y, x); while((c=wgetch( etc_win )) != '\n' && c != _KEY_SPACE && c != _KEY_ESC && c != _KEY_Q) { switch(c) { case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; case KEY_DOWN : case _KEY_C_N : if (etc_menu[location+1]) { if (location < (start_point + BOTOM -1)) { /* ¥¹¥¯¥í¡¼¥ë¤µ¤»¤ëɬÍפʤ· */ location++; etcScroll(start_point, location - start_point, 1); } else { /* ¥¹¥¯¥í¡¼¥ë¤µ¤»¤ëɬÍפ¢¤ê */ location++; start_point++; etcScroll(start_point, location - start_point, 2); } } break; case KEY_UP : case _KEY_C_P : if (location > 0) { if (location > start_point) { /* ¥¹¥¯¥í¡¼¥ë¤µ¤»¤ëɬÍפʤ· */ location--; etcScroll(start_point, location -start_point, 1); } else { /* ¥¹¥¯¥í¡¼¥ë¤µ¤»¤ëɬÍפ¢¤ê */ location--; start_point--; etcScroll(start_point, location -start_point, 2); } } break; case KEY_LEFT : case _KEY_C_B : if (!location) { if (!junban) break; else { wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); InitialMode = mode_set[--junban]; if (is_icustom) { mvwaddstr(etc_win, 3 + location - start_point, 34, old_mode_ichiran[InitialMode]); } else { mvwaddstr(etc_win, 3 + location - start_point, 34, mode_ichiran[InitialMode]); } wrefresh(etc_win); } } else if (location == 13) { if (!kouho_threshold) break; else { kouho_threshold--; wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); wprintw(etc_win, "%d²ó ", kouho_threshold); wrefresh(etc_win); } } else if (location == 17) { if (nKouhoBunsetsu == 3) break; else { nKouhoBunsetsu--; wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); wprintw(etc_win, "%dʸÀá ", nKouhoBunsetsu); wrefresh(etc_win); } } else if (location == 25) { if (nkeysuu == 0) break; else { nkeysuu = nkeysuu - 100; if (nkeysuu < 0) nkeysuu = 0; wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); wprintw(etc_win, "%d²ó ", nkeysuu); wrefresh(etc_win); } } else if (etc_ctm[location] == ON) break; else { etc_ctm[location] = ON; etc_action(location, ON); wmove(etc_win, 3 + location - start_point, 34); on_off(etc_win, etc_ctm[location]); } break; case KEY_RIGHT : case _KEY_C_F : if (!location) { if (is_icustom) { if (junban == 11) break; else { wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); InitialMode = mode_set[++junban]; mvwaddstr(etc_win, 3 + location - start_point, 34, old_mode_ichiran[InitialMode]); wrefresh(etc_win); } } else { if (junban == 6) break; else { wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); InitialMode = mode_set[++junban]; mvwaddstr(etc_win, 3 + location - start_point, 34, mode_ichiran[InitialMode]); wrefresh(etc_win); } } } else if (location == 13) { if (kouho_threshold == NHENKAN_MAX) break; else { kouho_threshold++; wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); wprintw(etc_win, "%d²ó ", kouho_threshold); wrefresh(etc_win); } } else if (location == 17) { if (nKouhoBunsetsu == 32) break; else { nKouhoBunsetsu++; wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); wprintw(etc_win, "%dʸÀá ", nKouhoBunsetsu); wrefresh(etc_win); } } else if (location == 25) { if (nkeysuu >= 5000) break; else { nkeysuu = nkeysuu + 100 ; wmove(etc_win, 3 + location - start_point, 34); wclrtoeol(etc_win); wprintw(etc_win, "%d²ó ", nkeysuu); wrefresh(etc_win); } } else if(etc_ctm[location] == OFF) break; else { etc_ctm[location] = OFF; etc_action(location, OFF); wmove(etc_win, 3 + location - start_point, 34); on_off(etc_win, etc_ctm[location]); break; } } } werase(_etc_win); wrefresh(_etc_win); return; } char i_file[128], *getenv(); get_save_file() { char *p; FILE *f; int home_iroha_exist = 0; if (initFileSpecified) { strncpy(i_file, initFileSpecified,127); return; } if (is_icustom) { if (p = getenv("IROHAFILE")) { strncpy(i_file, p, 127); return; } if (p = getenv("HOME")) { strncpy(i_file, p, 120); strcat(i_file, "/.iroha"); } } else { if (p = getenv("CANNAFILE")) { strncpy(i_file, p, 127); return; } if (p = getenv("HOME")) { strncpy(i_file, p, 120); strcat(i_file, "/.canna"); } } return; } santaku(win, y, x, which, a, b, c) WINDOW *win; int y, x, which; char *a, *b, *c; { wmove(win, y, x); wprintw(win, "%s %s %s\n", a, b, c); switch(which) { case 1: current_print(win, y, x, a); wprintw(win, " %s %s\n", b, c); return; case 2: wmove(win, y, x); wprintw(win, "%s ", a); current_print(win, y, x + strlen(a) + 2, b); wprintw(win, " %s", c); return; case 3: wmove(win, y, x); wprintw(win, "%s %s ", a, b); current_print(win, y, x + strlen(a) + strlen(b) +4, c); return; } } endCustom() { FILE *f_save; int sentaku = 2; chtype c; get_save_file(); mvwaddstr(end_win, 5, L_MARGIN, "¥«¥¹¥¿¥Þ¥¤¥º¤Î·ë²Ì¤òÊݸ¤·¤Þ¤¹¤«¡©"); santaku(end_win, 7, L_MARGIN, sentaku, "Êݸ¸å½ªÎ»", "Êݸ¤»¤º½ªÎ»", "¼è¾Ã"); cbreak(); for(;;) { c = wgetch( end_win ); switch(c) { case KEY_LEFT : case _KEY_C_B : if (sentaku == 1) break; else { sentaku--; santaku(end_win, 7, L_MARGIN, sentaku, "Êݸ¸å½ªÎ»", "Êݸ¤»¤º½ªÎ»", "¼è¾Ã"); } break; case KEY_RIGHT : case _KEY_C_F : if (sentaku == 3) break; else { sentaku++; santaku(end_win, 7, L_MARGIN, sentaku, "Êݸ¸å½ªÎ»", "Êݸ¤»¤º½ªÎ»", "¼è¾Ã"); } break; case _KEY_U : return; case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; case _KEY_ESC : return ; case '\n' : switch(sentaku) { case 1 : f_save = fopen(i_file, "w"); if (f_save) { if (is_icustom) { write_iroha(f_save); } else { write_canna(f_save); } fclose(f_save); } else { wmove(err_win, 0, 0); err_word( "%s¤ËÊݸ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\nÊ̤Υե¡¥¤¥ë¤ËÊݸ¤·¤Æ¤¯¤À¤µ¤¤¡£",i_file); beep(); break; } #ifdef __FreeBSD__ werase(curscr); #endif endwin(); #ifdef __FreeBSD__ putchar('\n'); #endif exit(0); case 2 : #ifdef __FreeBSD__ werase(curscr); #endif endwin(); #ifdef __FreeBSD__ putchar('\n'); #endif exit(0); case 3 : return; } } } } initctm() { etc_ctm[0] = MID; /* initialMode */ etc_ctm[1] = CursorWrap; etc_ctm[2] = HexkeySelect; /* numericalKeySelect */ etc_ctm[3] = SelectDirect; etc_ctm[4] = BunsetsuKugiri; etc_ctm[5] = ChBasedMove; /* characterBaseMove*/ etc_ctm[6] = ReverseWidely; /* reverseWidely */ etc_ctm[7] = QuitIchiranIfEnd; /* QuitIfEndOfIchiran */ etc_ctm[8] = BreakIntoRoman; etc_ctm[9] = Gakushu; etc_ctm[10] = stayAfterValidate; etc_ctm[11] = kakuteiIfEndOfBunsetsu; etc_ctm[12] = gramaticalQuestion; etc_ctm[13] = MID; /* nHenkanForIchiran */ etc_ctm[14] = kCount; etc_ctm[15] = kojin; etc_ctm[16] = chikuji; etc_ctm[17] = MID; /* nKouhoBunsetsu */ etc_ctm[18] = abandonIllegalPhono; etc_ctm[19] = hexCharacterDefiningStyle; etc_ctm[20] = allowNextInput; etc_ctm[21] = indexhankaku; etc_ctm[22] = ignorecase; etc_ctm[23] = romajiyuusen; etc_ctm[24] = autosync; etc_ctm[25] = MID; etc_ctm[26] = quicklyescape; etc_ctm[27] = (char)NULL; if (kouho_threshold > 9999) kouho_threshold = 9999; if (nKouhoBunsetsu > 32) nKouhoBunsetsu = 32; if (nKouhoBunsetsu < 3) nKouhoBunsetsu = 3; if (nkeysuu > 5000) nkeysuu = 5000; } static int (*func[])() = { /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß */ loadFile, /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ø¤ÎÊݸ */ saveFile, /* »ÈÍѤ¹¤ë¼­½ñ¤ÎÀßÄê */ confDic, /* ¥­¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º */ keyCustom, /*¥â¡¼¥É¤Îɽ¼¨Ê¸»úÎó¤Î¥«¥¹¥¿¥Þ¥¤¥º" */ modeName, /* ¤½¤Î¾¤Î¥«¥¹¥¿¥Þ¥¤¥º */ etcCustom, /* ½ªÎ» */ endCustom, }; #define ICUSTOMNAME "icustom" #ifdef HAVE_LOCALE void checkLocale() { char *localebuff; if (localebuff = setlocale(LC_CTYPE, "")) { if (strncmp(localebuff, "ja", 2)) { fprintf(stderr,"Please set environment variable LANG for japanese.\n"); exit(19); } return; } fprintf(stderr,"Please set environment variable LANG for japanese.\n"); exit(19); } #endif /* HAVE_LOCALE */ main(argc, argv) int argc; char *argv[]; { void root_ctm(), int_exit(), on_suspend(); void proc_delete_key(); char *term; #ifdef HAVE_LOCALE checkLocale(); #endif /* HAVE_LOCALE */ { int cmdlen, icuslen; cmdlen = strlen(argv[0]); icuslen = strlen(ICUSTOMNAME); if (!strcmp(argv[0], ICUSTOMNAME) || (cmdlen > icuslen && !strcmp(argv[0] + cmdlen - icuslen, ICUSTOMNAME) && argv[0][cmdlen - icuslen - 1] == '/')) { is_icustom = 1; } } if (argc > 1) { int i; if(!strcmp(argv[1], "-ic")) { /* icutom¸ß´¹Æ°ºî */ is_icustom = 1; } for(i =1;i < argc; i++) { if (*argv[i] != '-') { initFileSpecified = (char *)malloc(strlen(argv[i])+1); if (initFileSpecified) strcpy(initFileSpecified, argv[i]); break; } else if (!is_icustom){ /* ÉÔÀµ¥ª¥×¥·¥ç¥ó */ fprintf(stderr,"Usage: I don't provide you any options.\n"); exit(1); } } } term = getenv("TERM"); if (!term) { fprintf(stderr, "´Ä¶­ÊÑ¿ô:TERM¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"); exit(1); } #ifdef __FreeBSD__ initscr(); #else #ifdef sun /* 92/12/21 add by yamasaki@Toy-Boy.mfd.cs.fujitsu.co.jp */ if ( strcmp( term,"kterm" ) == 0 ) { write( 1,"\033$+B\033|",6 ); } #endif trm = newterm(term , stdout, stdin); if (!trm) { fprintf(stderr, "TERM\"%s\"¤Ïǧ¼±¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n", term); exit(1); } set_term(trm); #endif signal(SIGINT, proc_delete_key); signal(SIGQUIT, int_exit); #ifdef SIGTSTP signal(SIGTSTP, on_suspend); signal(SIGTTIN, on_suspend); signal(SIGTTOU, on_suspend); #endif #ifndef __FreeBSD__ keypad(stdscr, TRUE); #endif scrollok(stdscr,TRUE); cbreak(); noecho(); if (LINES < 23 || COLS < 80) { endwin(); fprintf(stderr," ²èÌ̤ò½Ä£²£³¹Ô°Ê¾å¡¢²££¸£°Ê¸»ú°Ê¾å¤ËÀßÄê\n"); fprintf(stderr," ¤·¤Æ ¡¢¤â¤¦£±ÅÙ¤ä¤êľ¤·¤Æ¤¯¤À¤µ¤¤¡£\n"); exit(1); } init_mode_mei(); if (is_icustom) parse(); else cparse(); initctm(); base_win = newwin(18, COLS, 0, 0); err_win = newwin(4, COLS -10, 18, 10); load_win = newwin(18, COLS, 0, 0); save_win = newwin(18, COLS, 0, 0); dic_win = newwin(10, COLS, 0, 0); ddic_win = newwin(8, COLS, 10, 0); dddic_win = newwin(5, COLS, 18, 0); kctm_win = newwin(23, COLS, 0, 0); disp_win = newwin(12, COLS, 0, 0); kutl_win = newwin(11, COLS, 12, 0); mode1_win = newwin(18, COLS, 0, 0); mode2_win = newwin(18, COLS, 0, 0); etc_win = newwin(18, COLS, 0, 0); _etc_win = newwin(4, COLS -20, 18, 10); end_win = newwin(18, COLS, 0, 0); #ifndef __FreeBSD__ keypad(base_win, TRUE); keypad(err_win, TRUE); keypad(load_win, TRUE); keypad(save_win, TRUE); keypad(dic_win, TRUE); keypad(ddic_win, TRUE); keypad(dddic_win, TRUE); keypad(kctm_win, TRUE); keypad(disp_win, TRUE); keypad(kutl_win, TRUE); keypad(mode1_win, TRUE); keypad(mode2_win, TRUE); keypad(etc_win, TRUE); keypad(_etc_win, TRUE); keypad(end_win, TRUE); #endif scrollok(etc_win, TRUE); idlok(etc_win, TRUE); wsetscrreg(etc_win, 3, 16); scrollok(mode1_win, TRUE); idlok(mode1_win, TRUE); wsetscrreg(mode1_win, 3, 16); root_ctm(); refresh(); endwin(); exit(0); } void root_ctm() { int x, y, location, c_location = 0; chtype c; /* echo();*/ for(;;) { nocbreak(); mvwaddstr(base_win, 1, 10, "¡ù¡ù¡ù¥«¥¹¥¿¥Þ¥¤¥º¥Ä¡¼¥ë¡ù¡ù¡ù"); for (location = 0; base_menu[location]; location++) mvwaddstr(base_win, (3 + location * 2), 10, base_menu[location]); current_print(base_win, (3 +c_location *2), 10,base_menu[c_location]); if (*err_mess) { err_word("¥Õ¥¡¥¤¥ë:%s¤Ï¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£",err_mess); beep(); *err_mess = '\0'; } cbreak(); while((c=wgetch( base_win )) != '\n') { switch(c) { case KEY_DOWN : case _KEY_C_N : if (c_location == location -1) break; mvwaddstr(base_win, (3 + c_location * 2), 10, base_menu[c_location]); c_location++; current_print(base_win, (3 +c_location *2), 10,base_menu[c_location]); break; case KEY_UP : case _KEY_C_P : if (c_location == 0) break; mvwaddstr(base_win, (3 + c_location * 2), 10, base_menu[c_location]); c_location--; current_print(base_win, (3 +c_location *2), 10,base_menu[c_location]); break; case _KEY_C_L : clearok(curscr, TRUE); touchwin(curscr); wrefresh(curscr); clearok(curscr, FALSE); break; case _KEY_ESC : c_location = 6 ; /* end */ goto go_func ; } } go_func: werase(err_win); wrefresh(err_win); (*func[c_location])(); } } void int_exit() { endwin(); exit(0); } void proc_delete_key(sig) int sig; /* ARGSUSED */ { static unsigned char counter = 0; static long prev_time = 0; long cur_time; time(&cur_time); if (cur_time - prev_time < 10) { counter++; } else { counter = 1; } prev_time = cur_time; if (counter > 2) { int_exit(); } else { signal(SIGINT, proc_delete_key); } } /* ¥µ¥¹¥Ú¥ó¥É¤µ¤»¤Æ¤â£Ï£Ë */ void on_suspend( signo ) int signo; { endwin(); /* tty ¤ò¥ê¥»¥Ã¥È */ kill(getpid(), signo); /* ¥µ¥¹¥Ú¥ó¥É¤«¤éµ¢¤Ã¤ÆÍ褿»þ¤Ï¡¢¤³¤³¤«¤éºÆ³«¤¹¤ë */ signal(signo, on_suspend); /* ¥·¥°¥Ê¥ë¤ò¥ê¥»¥Ã¥È */ putchar( '\0' ); wrefresh( curscr ); } #ifndef SVR4 #ifdef __FreeBSD__ ustam_scroll(win, n) WINDOW *win; int n; { int i; int top, bot; int oy, ox; if ( !(win->_scroll) ) return ERR; if ( n == 0 ) return OK; top = win->_begy; bot = win->_maxy; for ( i = 0; i < 2; i++) if ( scrreg[i].win == win ) { top = scrreg[i].tm; bot = scrreg[i].bm; break; } getyx(win, oy, ox); if ( n > 0 ) { wmove(win, top, 0); wdeleteln(win); wmove(win,bot,0); winsertln(win); } else { wmove(win, bot, 0); wdeleteln(win); wmove(win,top,0); winsertln(win); } wmove(win, oy, ox); touchwin(win); return OK; } #else ustam_scroll(win, n) WINDOW *win; int n; { chtype *sp; int i; chtype *temp; int top, bot; if ( !(win->_scroll) ) return ERR; if ( n == 0 ) return OK; top = win->_tmarg; bot = win->_bmarg; if ( n > 0 ) { temp = win->_y[top]; for (i = top; i < bot; i++) { win->_y[i] = win->_y[i+1]; } } else if ( n < 0 ) { temp = win->_y[bot]; for (i = bot; i > top; i--) { win->_y[i] = win->_y[i-1]; } } /* ¥¹¥¯¥í¡¼¥ë¤·¤Æ¶õÇò¤Ë¤Ê¤Ã¤¿ */ for (sp = temp; sp - temp < win->_maxx; ) *sp++ = ' '; if ( n > 0 ) { win->_y[bot] = temp; win->_cury--; } else if ( n < 0 ) { win->_y[top] = temp; win->_cury++; } touchwin(win); return OK; } #endif /* __FreeBSD__ */ #endif /* SVR4 */ #ifdef __FreeBSD__ beep() { putchar(7); fflush(stdout); } wsetscrreg(WINDOW *w,int t,int b) { int i; for (i = 0; i < 2; i++) if (w == scrreg[i].win || scrreg[i].win == NULL) { scrreg[i].win = w; scrreg[i].tm = t; scrreg[i].bm = b; break; } } #endif /* __FreeBSD__ */ exitccustom() { refresh(); endwin(); fprintf(stderr,"¥á¥â¥ê¤¬¤¿¤ê¤Þ¤»¤ó\n"); exit(1); } Canna37p3/ccustom/ccustom.h0100644000076500001200000006414207554213562015170 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * Author : Osamu Hata, NEC Corporation (hata@d1.bs2.mt.nec.co.jp) * */ /* static char rcs_id[] = "@(#) 102.1 $Id: ccustom.h,v 1.1.1.1 2002/10/19 08:27:30 aida_s Exp $"; */ #include "symbolname.h" #define NHENKAN_MAX 9999 extern char *kanjidicname[], *userdicname[], *bushudicname[], *localdicname[]; extern int nkanjidics, nuserdics, nbushudics, nlocaldics; extern char *RomkanaTable, *RengoGakushu, *KatakanaGakushu; extern int InitialMode, CursorWrap, SelectDirect, HexkeySelect, BunsetsuKugiri; extern int ChBasedMove, ReverseWidely, Gakushu, QuitIchiranIfEnd; extern int kakuteiIfEndOfBunsetsu, stayAfterValidate, BreakIntoRoman; extern int kouho_threshold, gramaticalQuestion; extern char *mode_mei[], null_mode[]; int forceKana, kCount, chikuji, iListCB ,nKouhoBunsetsu; int keepCursorPosition, CannaVersion, abandonIllegalPhono; int hexCharacterDefiningStyle, kojin, ReverseWord , allowNextInput; int indexhankaku,ignorecase,romajiyuusen,autosync,nkeysuu,quicklyescape; extern char *allKey[], *alphaKey[], *yomiganaiKey[]; extern char *yomiKey[], *jishuKey[], *tankouhoKey[]; extern char *ichiranKey[], *zenHiraKey[], *zenKataKey[]; extern char *zenAlphaKey[], *hanKataKey[], *hanAlphaKey[]; extern char *allFunc[], *alphaFunc[], *yomiganaiFunc[]; extern char *yomiFunc[], *jishuFunc[], *tankouhoFunc[]; extern char *ichiranFunc[], *zenHiraFunc[], *zenKataFunc[]; extern char *zenAlphaFunc[], *hanKataFunc[], *hanAlphaFunc[]; extern int NallKeyFunc, NalphaKeyFunc, NyomiganaiKeyFunc, NyomiKeyFunc; extern int NjishuKeyFunc, NtankouhoKeyFunc, NichiranKeyFunc; extern int NzenHiraKeyFunc, NzenKataKeyFunc, NzenAlphaKeyFunc; extern int NhanKataKeyFunc, NhanAlphaKeyFunc; extern char returnKey[]; extern char *funcList[]; extern char *cfuncList[]; char **fList; char etc_ctm[32]; char **etc_menu; char **etc_manual; char **current_acts, **current_keys; char err_mess[255]; char *initFileSpecified =(char *)NULL; int is_icustom; int junban; char *old_mode_ichiran[] = { "¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É", "[¤¢] ÊÑ´¹ÆþÎϥ⡼¥É", "[µ­¹æ] µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ", "³Î[¤¢] Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É", "³Î[¥¢] Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "³Î[ޱ] Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "³Î[£á] Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", "³Î[a] Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", "[¤¢] ÆÉ¤ßÆþÎϾõÂÖ", "[»ú¼ï] ʸ»ú¼ïÊÑ´¹¾õÂÖ", "[´Á»ú] ñ°ì¸õÊäɽ¼¨¾õÂÖ", "[°ìÍ÷] ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ", "[¼ÁÌä] ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ", "[¼ÁÌä] ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ", "[¥¢] Á´³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É", "[ޱ] Ⱦ³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É", "[£á] Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É", "[a] Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É", "[16¿Ê] £±£¶¿Ê¥³¡¼¥ÉÆþÎϾõÂÖ", "[Éô¼ó] Éô¼ó¤ÎÆÉ¤ßÆþÎϾõÂÖ", "[³ÈÄ¥] ³ÈÄ¥µ¡Ç½ÁªÂò¾õÂÖ", "[¥í] ¥í¥·¥¢Ê¸»úÁªÂò¾õÂÖ", "[¥®] ¥®¥ê¥·¥ãʸ»úÁªÂò¾õÂÖ", "[·ÓÀþ] ·ÓÀþÁªÂò¾õÂÖ", "[Êѹ¹] ¥µ¡¼¥ÐÊѹ¹¾õÂÖ", "[ÊÑ´¹] ÊÑ´¹Êý¼°ÁªÂò", "[ºï½ü] ñ¸ìºï½ü¾õÂÖ", "[ÅÐÏ¿] ñ¸ìÅÐÏ¿¥â¡¼¥É", "[ÉÊ»ì] ñ¸ìÅÐÏ¿¥â¡¼¥É¤ÎÉÊ»ìÁªÂò¾õÂÖ", "[¼­½ñ] ñ¸ìÅÐÏ¿¥â¡¼¥É¤Î¼­½ñÁªÂò¾õÂÖ", "[£ñ] °úÍÑÆþÎϥ⡼¥É", "[ÊÔ½¸] ÊÔ½¸¥â¡¼¥É", "[¼­½ñ] ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¢¥¢¥ó¥Þ¥¦¥ó¥È¾õÂÖ", NULL }; char *old_mode_ichiran2[] = { "alphaMode", "henkanNyuryokuMode", "[µ­¹æ] µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ", "zenHiraKakuteiMode", "zenKataKakuteiMode", "hanKataKakuteiMode", "zenAlphaKakuteiMode", "hanAlphaKakuteiMode", "[¤¢] ÆÉ¤ßÆþÎϾõÂÖ", "[»ú¼ï] ʸ»ú¼ïÊÑ´¹¾õÂÖ", "[´Á»ú] ñ°ì¸õÊäɽ¼¨¾õÂÖ", "[°ìÍ÷] ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ", "[¼ÁÌä] ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ", "[¼ÁÌä] ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ", "zenKataHenkanMode", "hanKataHenkanMode", "zenAlphaHenkanMode", "hanAlphaHenkanMode", "[16¿Ê] £±£¶¿Ê¥³¡¼¥ÉÆþÎϾõÂÖ", "[Éô¼ó] Éô¼ó¤ÎÆÉ¤ßÆþÎϾõÂÖ", "[³ÈÄ¥] ³ÈÄ¥µ¡Ç½ÁªÂò¾õÂÖ", "[¥í] ¥í¥·¥¢Ê¸»úÁªÂò¾õÂÖ", "[¥®] ¥®¥ê¥·¥ãʸ»úÁªÂò¾õÂÖ", "[·ÓÀþ] ·ÓÀþÁªÂò¾õÂÖ", "[Êѹ¹] ¥µ¡¼¥ÐÊѹ¹¾õÂÖ", "[ÊÑ´¹] ÊÑ´¹Êý¼°ÁªÂò", "[ºï½ü] ñ¸ìºï½ü¾õÂÖ", "[ÅÐÏ¿] ñ¸ìÅÐÏ¿¥â¡¼¥É", "[ÉÊ»ì] ñ¸ìÅÐÏ¿¥â¡¼¥É¤ÎÉÊ»ìÁªÂò¾õÂÖ", "[¼­½ñ] ñ¸ìÅÐÏ¿¥â¡¼¥É¤Î¼­½ñÁªÂò¾õÂÖ", "[£ñ] °úÍÑÆþÎϥ⡼¥É", "[ÊÔ½¸] ÊÔ½¸¥â¡¼¥É", "[¼­½ñ] ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¢¥¢¥ó¥Þ¥¦¥ó¥È¾õÂÖ", NULL }; char *mode_ichiran3[] = { S_AlphaMode, S_YomiganaiMode, S_KigouMode, S_YomiMode, S_MojishuMode, S_TankouhoMode, S_IchiranMode, S_YesNoMode, S_OnOffMode, "S_AdjustBunsetsu", S_AutoYomiMode, S_AutoBunsetsuMode, S_HenkanNyuuryokuMode, S_ZenHiraHenkanMode, S_HanHiraHenkanMode, S_ZenKataHenkanMode, S_HanKataHenkanMode, S_ZenAlphaHenkanMode, S_HanAlphaHenkanMode, S_ZenHiraKakuteiMode, S_HanHiraKakuteiMode, S_ZenKataKakuteiMode, S_HanKataKakuteiMode, S_ZenAlphaKakuteiMode, S_HanAlphaKakuteiMode, S_HexMode, S_BushuMode, S_ExtendMode, S_RussianMode, S_GreekMode, S_LineMode, S_ChangingServerMode, S_HenkanMethodMode, S_DeleteDicMode, S_TourokuMode, S_TourokuHinshiMode, S_TourokuDicMode, S_QuotedInsertMode, S_BubunMuhenkanMode, S_MountDicMode, NULL }; char *mode_ichiran[] = { "¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É", "[ ¤¢ ] ÊÑ´¹ÆþÎϥ⡼¥É", "[µ­¹æ] µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ", "<Á´¤¢> Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É", "<Á´¥¢> Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "<Ⱦ¥¢> Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "<Á´±Ñ> Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", "<Á´±Ñ> Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", "[ ¤¢ ] ÆÉ¤ßÆþÎϾõÂÖ", "[»ú¼ï] ʸ»ú¼ïÊÑ´¹¾õÂÖ", "[´Á»ú] ñ°ì¸õÊäɽ¼¨¾õÂÖ", "[°ìÍ÷] ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ", "[¼ÁÌä] ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ", "[¼ÁÌä] ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ", "[Á´¥¢] Á´³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É", "[Ⱦ¥¢] Ⱦ³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É", "[Á´±Ñ] Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É", "[Ⱦ±Ñ] Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É", "[16¿Ê] £±£¶¿Ê¥³¡¼¥ÉÆþÎϾõÂÖ", "[Éô¼ó] Éô¼ó¤ÎÆÉ¤ßÆþÎϾõÂÖ", "[³ÈÄ¥] ³ÈÄ¥µ¡Ç½ÁªÂò¾õÂÖ", "[ ¥í ] ¥í¥·¥¢Ê¸»úÁªÂò¾õÂÖ", "[ ¥® ] ¥®¥ê¥·¥ãʸ»úÁªÂò¾õÂÖ", "[·ÓÀþ] ·ÓÀþÁªÂò¾õÂÖ", "[Êѹ¹] ¥µ¡¼¥ÐÊѹ¹¾õÂÖ", "[ÊÑ´¹] ÊÑ´¹Êý¼°ÁªÂò", "[ºï½ü] ñ¸ìºï½ü¾õÂÖ", "[ÅÐÏ¿] ñ¸ìÅÐÏ¿¥â¡¼¥É", "[ÉÊ»ì] ñ¸ìÅÐÏ¿¥â¡¼¥É¤ÎÉÊ»ìÁªÂò¾õÂÖ", "[¼­½ñ] ñ¸ìÅÐÏ¿¥â¡¼¥É¤Î¼­½ñÁªÂò¾õÂÖ", "[ £ñ ] °úÍÑÆþÎϥ⡼¥É", "[ÊÔ½¸] ÊÔ½¸¥â¡¼¥É", "[¼­½ñ] ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¢¥¢¥ó¥Þ¥¦¥ó¥È¾õÂÖ", NULL }; char *mode_ichiran2[] = { NULL, "", "[µ­¹æ] µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ", S_ZenHiraKakuteiMode, S_ZenKataKakuteiMode, S_HanKataKakuteiMode, S_ZenAlphaKakuteiMode, S_HanAlphaKakuteiMode, "[ ¤¢ ] ÆÉ¤ßÆþÎϾõÂÖ", "[»ú¼ï] ʸ»ú¼ïÊÑ´¹¾õÂÖ", "[´Á»ú] ñ°ì¸õÊäɽ¼¨¾õÂÖ", "[°ìÍ÷] ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ", "[¼ÁÌä] ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ", "[¼ÁÌä] ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ", S_ZenKataHenkanMode, S_HanKataHenkanMode, S_ZenAlphaHenkanMode, S_HanAlphaHenkanMode, "[16¿Ê] £±£¶¿Ê¥³¡¼¥ÉÆþÎϾõÂÖ", "[Éô¼ó] Éô¼ó¤ÎÆÉ¤ßÆþÎϾõÂÖ", "[³ÈÄ¥] ³ÈÄ¥µ¡Ç½ÁªÂò¾õÂÖ", "[ ¥í ] ¥í¥·¥¢Ê¸»úÁªÂò¾õÂÖ", "[ ¥® ] ¥®¥ê¥·¥ãʸ»úÁªÂò¾õÂÖ", "[·ÓÀþ] ·ÓÀþÁªÂò¾õÂÖ", "[Êѹ¹] ¥µ¡¼¥ÐÊѹ¹¾õÂÖ", "[ÊÑ´¹] ÊÑ´¹Êý¼°ÁªÂò", "[ºï½ü] ñ¸ìºï½ü¾õÂÖ", "[ÅÐÏ¿] ñ¸ìÅÐÏ¿¥â¡¼¥É", "[ÉÊ»ì] ñ¸ìÅÐÏ¿¥â¡¼¥É¤ÎÉÊ»ìÁªÂò¾õÂÖ", "[¼­½ñ] ñ¸ìÅÐÏ¿¥â¡¼¥É¤Î¼­½ñÁªÂò¾õÂÖ", "[ £ñ ] °úÍÑÆþÎϥ⡼¥É", "[ÊÔ½¸] ÊÔ½¸¥â¡¼¥É", "[¼­½ñ] ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¢¥¢¥ó¥Þ¥¦¥ó¥È¾õÂÖ", NULL }; char *old_mode_ichiran3[] = { "Alpha", "HenkanNyuryoku", "Kigo", "ZenHiraKakutei", "ZenKataKakutei", "HanKataKakutei", "ZenAlphaKakutei", "HanAlphaKakutei", "Yomi", "Mojishu", "Tankouho", "Ichiran", "YesNo", "YesNo", "ZenKataHenkan", "HanKataHenkan", "ZenAlphaHenkan", "HanAlphaHenkan", "Hex", "Bushu", "Extend", "Russian", "Greek", "Line", "ChangingServer", "HenkanMethod", "DeleteDic", "Touroku", "TourokuHinshi", "TourokuDic", "QuotedInsert", "BubunMuhenkan", "MountDic", NULL }; char mode_set[] = { 0, 1, 3, 4, 6, 5, 7, 1, 14, 16, 15, 17, -1}; char *base_menu[] = { "¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß", "¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ø¤ÎÊݸ", "»ÈÍѤ¹¤ë¼­½ñ¤ÎÀßÄê", "¥­¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º", "¥â¡¼¥É¤Îɽ¼¨Ê¸»úÎó¤Î¥«¥¹¥¿¥Þ¥¤¥º", "¤½¤Î¾¤Î¥«¥¹¥¿¥Þ¥¤¥º", "½ªÎ»", NULL }; char *d_mess[] = { "¼­½ñ¤Î¼ïÎàÁªÂòÉô¤Ø°Üư¡Ä¥¹¥Ú¡¼¥¹¥­¡¼,£Å£Ó£Ã¥­¡¼", "ÅÐÏ¿ÆâÍÆÉ½¼¨Éô¤Ø°Üư¡Ä¥¹¥Ú¡¼¥¹¥­¡¼", "¼­½ñÅÐÏ¿¡Ä¼­½ñ¤Î¼ïÎàÁªÂò¾õÂ֤ǥ꥿¡¼¥ó¥­¡¼", "¼­½ñºï½ü¡Ä¼­½ñ¤ÎÅÐÏ¿ÆâÍÆÉ½¼¨¾õÂ֤ǣĥ­¡¼", "»ÈÍѤ¹¤ë¼­½ñ¤ÎÁªÂò¤ò½ªÎ»¡Ä¼­½ñ¤Î¼ïÎàÁªÂò¾õÂ֤ǣţӣå­¡¼", NULL }; char *dic_menu[] = { "¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë", "¥·¥¹¥Æ¥à¼­½ñ̾", "Éô¼óÊÑ´¹¼­½ñ̾", "¥æ¡¼¥¶¼­½ñ̾", /* "Ï¢¸ìÊÑ´¹¼­½ñ̾", */ NULL }; char *key_menu[] = { "Á´¤Æ¤Î¥â¡¼¥É", "¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É", "ÊÑ´¹ÆþÎϥ⡼¥É(ÈóÆÉ¤ßÆþÎÏ»þ)", "ÊÑ´¹ÆþÎϥ⡼¥É(ÆÉ¤ßÆþÎÏ»þ)", "ʸ»ú¼ïÊÑ´¹¾õÂÖ", "ñ°ì¸õÊäɽ¼¨¾õÂÖ", "¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ", "Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É", "Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", "Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", NULL }; char *kh_mess[] = { "¿·µ¬¥«¥¹¥¿¥Þ¥¤¥º¡§¥­¡¼ÀßÄê¤Ï¡Ö¿·µ¬¥­¡¼¡×¤òÁªÂò¸å¡¢¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤¹", "¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ¡Ç½ÀßÄê¤Ï¡Ö¿·µ¬µ¡Ç½¡×¤òÁªÂò¸å¡¢¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤¹", "¡¡", "´û¥«¥¹¥¿¥Þ¥¤¥ºÉô¤ÎÊÔ½¸¡§Êѹ¹¤¹¤ëÉôʬ¤òÁªÂò¸å¡¢", "¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºï½ü¡¡¡¡£Ä¥­¡¼¤ò²¡¤¹", "¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¹Ôºï½ü¡¡£Ë¥­¡¼¤ò²¡¤¹", "¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÁÞÆþ¡¡¡¡£É¥­¡¼¤ò²¡¤¹", "¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Äɲá¡¡¡£Á¥­¡¼¤ò²¡¤¹", "¤³¤Î¥â¡¼¥É¤òÈ´¤±¤ë¡§£Å£Ó£Ã¥­¡¼¡¢£Ñ¥­¡¼¤ò²¡¤¹", NULL }; struct dk_block { char *str; int len; int gyousu; int keysu; int actsu; } dk_blocks[1024]; struct U_dk_block { char str[256]; int len; int gyousu; int keysu; int actsu; } U_dk_blocks; struct wdisp { int top; int line; int kora; int ban; int current; } WDisp, U_WDisp; char *cc_keys[1], *cc_acts[1]; char ccc_keys[256], ccc_acts[256]; char undo_keys[256], undo_acts[256]; int cc_keys_len = 0, cc_acts_len = 0; int touroku_start = -1; int undo_status = -1, undo_ts; char *key_iroha[] = { "all", "alpha", "yomiganai", "yomi", "mojishu", "tankouho", "ichiran", "zenHiraKakutei", "zenKataKakutei", "zenAlphaKakutei", "hanKataKakutei", "hanAlphaKakutei", NULL }; char *keyLine[] = { "C-@ C-a C-b C-c C-d C-e C-f C-g C-h C-i C-j C-k", "C-l C-m C-n C-o C-p C-q C-r C-s C-t C-u C-v C-w", "C-x C-y C-z C-[ C-\\ C-] C-^ C-_ space ! \" # $ %", "& ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9", ": ; < = > ? @ A B C D E F G H I J K L M", "N O P Q R S T U V W X Y Z [ \\ ] ^ _ ` a", "b c d e f g h i j k l m n o p q r s t u", "v w x y z { | } ~ DEL Nfer Xfer Up Left Right", "Down Insert Rollup Rolldown HOME HELP S-nfer S-xfer", "S-up S-left S-right S-down C-nfer C-xfer C-up C-left", "C-right C-down F1 F2 F3 F4 F5 F6 F7 F8 F9 F10", "PF1 PF2 PF3 PF4 undefine", NULL }; char **actLine; char *caLine[] = { "self-insert:¤½¤Îʸ»ú¤òÁÞÆþ¤¹¤ë", /* 2 */ "quoted-insert:¼¡¤Î°ìʸ»ú¤ò̵¾ò·ï¤ËÆþÎϤ¹¤ë", "japanese-mode:ÆüËܸì¥â¡¼¥É¤Ø¤Î°Ü¹Ô", "alpha-mode:¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤Ë°Ü¹Ô", /* 5 */ "henkan-nyuuryoku-mode:ÊÑ´¹ÆþÎϥ⡼¥É¤Ë°Ü¹Ô", "forward:±¦°Üư(ÁªÂò)", "backward:º¸°Üư(ÁªÂò)", "next:¼¡ÁªÂò¡¢Ê¸»ú¼ïÊÑ´¹(ÆÉ¤ßÆþÎϤΤȤ­)", "previous:Á°ÁªÂò¡¢Ê¸»ú¼ïÊÑ´¹(ÆÉ¤ßÆþÎϤΤȤ­)", /* 10 */ "beginning-of-line:ÀèÆ¬(º¸Ã¼)ÁªÂò", "end-of-line:ËöÈø(±¦Ã¼)ÁªÂò", "delete-next:¼¡°ìʸ»ú¾Ãµî", "delete-previous:Á°°ìʸ»úºï½ü", "kill-to-end-of-line:¥«¡¼¥½¥ë¤è¤ê±¦Â¦¤Îʸ»ú¤ò¹ÔËö¤Þ¤Çºï½ü", /* 15 */ "henkan:ÊÑ´¹", "kakutei:³ÎÄê", "extend:Îΰ迭¤Ð¤·", "shrink:Îΰè½Ì¤á", "shinshuku-mode:ʸÀá¿­½Ì¥â¡¼¥É¤Ø°Ü¹Ô", /* 20 */ "quit:¼è¤ê¤ä¤á", "convert-as-hex:ÆÉ¤ß¤ò16¿Ê¥³¡¼¥É¤È¤ß¤Ê¤·¤ÆÊÑ´¹", "convert-as-bushu:ÆÉ¤ß¤òÉô¼ó̾¤È¤ß¤Ê¤·¤ÆÊÑ´¹", "kouho-ichiran:¸õÊä°ìÍ÷ɽ¼¨", "henshu:ÊÔ½¸", /* 25 */ "zenkaku:Á´³ÑÊÑ´¹", "hankaku:Ⱦ³ÑÊÑ´¹", "to-upper:Âçʸ»ú¤ËÊÑ´¹", "capitalize:ÀèÆ¬Ê¸»ú¤Î¤ß¤òÂçʸ»ú¤Ë¤¹¤ë", "to-lower:¾®Ê¸»ú¤ËÊÑ´¹", /* 30 */ "hiragana:¤Ò¤é¤¬¤ÊÊÑ´¹", "katakana:¥«¥¿¥«¥ÊÊÑ´¹", "romaji:¥í¡¼¥Þ»úÊÑ´¹", "base-hiragana:ÆþÎÏ¥Ù¡¼¥¹¤ò¤Ò¤é¤¬¤Ê¤Ë¤¹¤ë", "base-katakana:ÆþÎÏ¥Ù¡¼¥¹¤ò¥«¥¿¥«¥Ê¤Ë¤¹¤ë", /* 35 */ "base-eisu:ÆþÎÏ¥Ù¡¼¥¹¤ò±Ñ¿ô¤Ë¤¹¤ë", "base-zenkaku:ÆþÎÏ¥Ù¡¼¥¹¤òÁ´³Ñ¤Ë¤¹¤ë", "base-hankaku:ÆþÎÏ¥Ù¡¼¥¹¤òȾ³Ñ¤Ë¤¹¤ë", "base-kana:ÆþÎÏ¥Ù¡¼¥¹¤ò¥«¥Ê¤Ë¤¹¤ë", "base-kakutei:ÆþÎϥ⡼¥É¤ò³ÎÄê¥â¡¼¥É¤Ë¤¹¤ë", /* 40 */ "base-henkan:ÆþÎϥ⡼¥É¤òÊÑ´¹¥â¡¼¥É¤Ë¤¹¤ë", "base-hiragana-katakana-toggle:ÆþÎÏ¥Ù¡¼¥¹¤ò¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¤Ç¥È¥°¥ë", "base-zenkaku-hankaku-toggle:ÆþÎÏ¥Ù¡¼¥¹¤òÁ´³Ñ¤ÈȾ³Ñ¤Ç¥È¥°¥ë", "base-kana-eisu-toggle:ÆþÎÏ¥Ù¡¼¥¹¤ò¥«¥Ê¤È±Ñ¿ô¤Ç¥È¥°¥ë", "base-kakutei-henkan-toggle:ÆþÎϥ⡼¥É¤ò³ÎÄê¤ÈÊÑ´¹¤Ç¥È¥°¥ë", /* 45 */ "base-rotate-forward:ÆþÎϥ⡼¥É¤ò½çÈÖ¤ËÀÚ¤êÂØ¤¨¤ë(Àµ½ç)", "base-rotate-backward:ÆþÎϥ⡼¥É¤ò½çÈÖ¤ËÀÚ¤êÂØ¤¨¤ë(µÕ½ç)", "extend-mode:¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥á¥Ë¥å¡¼¤Ë°Ü¹Ô", "hex-mode:¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ë°Ü¹Ô", "bushu-mode:Éô¼óÆþÎϥ⡼¥É¤Ë°Ü¹Ô", /* 50 */ "kigou-mode:µ­¹æÆþÎϥ⡼¥É¤Ë°Ü¹Ô", "zen-hira-kakutei-mode:Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "zen-kata-kakutei-mode:Á´³Ñ¥«¥¿¥«¥Ê³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "han-kata-kakutei-mode:Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "zen-alpha-kakutei-mode:Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", /* 55 */ "han-alpha-kakutei-mode:Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "henkan-or-self-insert:¥Ù¡¼¥¹¤¬¤Ò¤é¤¬¤Ê°Ê³°¤Î¤È¤­self-insert¤ò¤ª¤³¤Ê¤¦", "henkan-or-do-noting:¥Ù¡¼¥¹¤¬¤Ò¤é¤¬¤Ê°Ê³°¤Î¤È¤­¤Ê¤Ë¤â¤·¤Ê¤¤", "switch-server:¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨¤ò¤ª¤³¤Ê¤¦", "disconnect-server:¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ë", "show-server-name:¥µ¡¼¥Ð̾¤òɽ¼¨¤¹¤ë", "show-gakushu:³Ø½¬¾õÂÖ¤òɽ¼¨¤¹¤ë", "show-canna-version:¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë", "show-romkana-table:¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë̾¤òɽ¼¨¤¹¤ë", "show-canna-file:¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë̾¤òɽ¼¨¤¹¤ë", "sync-dicsyionary:¼­½ñ¤Ë½ñ¤­¹þ¤à", NULL }; char *aLine[] = { "SelfInsert:°ìʸ»úÁÞÆþ¤¹¤ë", "QuotedInsert:¼¡¤Î°ìʸ»ú¤ò̵¾ò·ï¤ËÆþÎϤ¹¤ë", "JapaneseMode:ÆüËܸì¥â¡¼¥É¤Ø¤Î°Ü¹Ô", "AlphaMode:¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤Ë°Ü¹Ô", "HenkanNyuryokuMode:ÊÑ´¹ÆþÎϥ⡼¥É¤Ë°Ü¹Ô", "ZenHiraKakuteiMode:Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "ZenKataKakuteiMode:Á´³Ñ¥«¥¿¥«¥Ê³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "HanKataKakuteiMode:Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "ZenAlphaKakuteiMode:Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "HanAlphaKakuteiMode:Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄê¥â¡¼¥É¤Ë°Ü¹Ô", "HexMode:£±£¶¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ë°Ü¹Ô", "BushuMode:Éô¼óÆþÎϥ⡼¥É¤Ë°Ü¹Ô", "KigouMode:µ­¹æÆþÎϥ⡼¥É¤Ë°Ü¹Ô", "Forward:±¦°Üư(ÁªÂò)", "Backward:º¸°Üư(ÁªÂò)", "Next:¼¡ÁªÂò¡¢Ê¸»ú¼ïÊÑ´¹(ÆÉ¤ßÆþÎϤΤȤ­)", "Previous:Á°ÁªÂò¡¢Ê¸»ú¼ïÊÑ´¹(ÆÉ¤ßÆþÎϤΤȤ­)", "BeginningOfLine:ÀèÆ¬(º¸Ã¼)ÁªÂò", "EndOfLine:ËöÈø(±¦Ã¼)ÁªÂò", "DeleteNext:¥«¡¼¥½¥ëÉôʬ¤Îʸ»úºï½ü", "DeletePrevious:¥«¡¼¥½¥ë¤Îº¸¤Îʸ»úºï½ü", "KillToEndOfLine:¥«¡¼¥½¥ë¤è¤ê±¦Â¦¤Îʸ»ú¤ò¹ÔËö¤Þ¤Çºï½ü", "Henkan:ÊÑ´¹", "Kakutei:³ÎÄê", "Extend:Îΰ迭¤Ð¤·¡¢ÆþÎÏʸ»ú¤òÀÚ¤êÂØ¤¨¤ë(ÆÉ¤ßÆþÎϤΤȤ­)", "Shrink:Îΰè½Ì¤á¡¢ÆþÎÏʸ»ú¤òÀÚ¤êÂØ¤¨¤ë(ÆÉ¤ßÆþÎϤΤȤ­)", "Quit:¼è¤ê¤ä¤á", "Touroku:¥æ¡¼¥Æ¥£¥ê¥Æ¥£(³ÈÄ¥)¥â¡¼¥É¤Ø°Ü¹Ô", "ConvertAsHex:ÆÉ¤ß¤ò16¿Ê¥³¡¼¥É¤È¤ß¤Ê¤·¤ÆÊÑ´¹", "ConvertAsBushu:ÆÉ¤ß¤òÉô¼ó̾¤È¤ß¤Ê¤·¤ÆÊÑ´¹", "KouhoIchiran:¸õÊä°ìÍ÷ɽ¼¨", "BubunMuhenkan:Éôʬ̵ÊÑ´¹", "Zenkaku:Á´³Ñ¤ËÊÑ´¹", "Hankaku:Ⱦ³Ñ¤ËÊÑ´¹", "ToUpper:Âçʸ»ú¤ËÊÑ´¹", "Capitalize:ÀèÆ¬Ê¸»ú¤Î¤ß¤òÂçʸ»ú¤Ë¤¹¤ë", "ToLower:¾®Ê¸»ú¤ËÊÑ´¹", "Hiragana:¤Ò¤é¤¬¤Ê¤ËÊÑ´¹", "Katakana:¥«¥¿¥«¥Ê¤ËÊÑ´¹", "Romaji:¥í¡¼¥Þ»ú¤ËÊÑ´¹", "NextKouho:¼¡¸õÊä", "PrevKouho:Á°¸õÊä", NULL }; char *old_mode_menu[] = { " ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É", " [¤¢] ÊÑ´¹ÆþÎϥ⡼¥É", "³Î[¤¢] Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É", "³Î[¥¢] Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "³Î[ޱ] Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "³Î[£á] Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", "³Î[a] Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", " [»ú¼ï] ʸ»ú¼ïÊÑ´¹¾õÂÖ", " [´Á»ú] ñ°ì¸õÊäɽ¼¨¾õÂÖ", " [°ìÍ÷] ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ", " [¥¢] Á´³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É", " [ޱ] Ⱦ³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É", " [£á] Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É", " [a] Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É", " [16¿Ê] £±£¶¿Ê¥³¡¼¥ÉÆþÎϾõÂÖ", " [Éô¼ó] Éô¼ó¤ÎÆÉ¤ßÆþÎϾõÂÖ", " [µ­¹æ] µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ", " [³ÈÄ¥] ³ÈÄ¥µ¡Ç½ÁªÂò¾õÂÖ", " [¥í] ¥í¥·¥¢Ê¸»úÁªÂò¾õÂÖ", " [¥®] ¥®¥ê¥·¥ãʸ»úÁªÂò¾õÂÖ", " [·ÓÀþ] ·ÓÀþÁªÂò¾õÂÖ", " [Êѹ¹] ¥µ¡¼¥ÐÊѹ¹¾õÂÖ", " [ºï½ü] ñ¸ìºï½ü¾õÂÖ", " [ÅÐÏ¿] ñ¸ìÅÐÏ¿¥â¡¼¥É", " [ÉÊ»ì] ñ¸ìÅÐÏ¿¥â¡¼¥É¤ÎÉÊ»ìÁªÂò¾õÂÖ", " [¼­½ñ] ñ¸ìÅÐÏ¿¥â¡¼¥É¤Î¼­½ñÁªÂò¾õÂÖ", " [£ñ] °úÍÑÆþÎϥ⡼¥É", " [ÊÔ½¸] ÊÔ½¸¥â¡¼¥É", " [¼­½ñ] ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¢¥¢¥ó¥Þ¥¦¥ó¥È¾õÂÖ", NULL }; char *mode_menu[] = { " ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É", "[ ¤¢ ] ÊÑ´¹ÆþÎϥ⡼¥É", "<Á´¤¢> Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É", "<Á´¥¢> Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "<Ⱦ¥¢> Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É", "<Á´±Ñ> Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", "<Ⱦ±Ñ> Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É", "[»ú¼ï] ʸ»ú¼ïÊÑ´¹¾õÂÖ", "[´Á»ú] ñ°ì¸õÊäɽ¼¨¾õÂÖ", "[°ìÍ÷] ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ", "[Á´¥¢] Á´³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É", "[Ⱦ¥¢] Ⱦ³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É", "[Á´±Ñ] Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É", "[Ⱦ±Ñ] Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É", "[Ã༡] Ã༡¼«Æ°ÊÑ´¹ÆÉ¤ßÉôʬ", "[Ã༡] Ã༡¼«Æ°ÊÑ´¹Ê¸ÀáÉôʬ", "[16¿Ê] £±£¶¿Ê¥³¡¼¥ÉÆþÎϾõÂÖ", "[Éô¼ó] Éô¼ó¤ÎÆÉ¤ßÆþÎϾõÂÖ", "[µ­¹æ] µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ", "[³ÈÄ¥] ³ÈÄ¥µ¡Ç½ÁªÂò¾õÂÖ", "[ ¥í ] ¥í¥·¥¢Ê¸»úÁªÂò¾õÂÖ", "[ ¥® ] ¥®¥ê¥·¥ãʸ»úÁªÂò¾õÂÖ", "[·ÓÀþ] ·ÓÀþÁªÂò¾õÂÖ", "[Êѹ¹] ¥µ¡¼¥ÐÊѹ¹¾õÂÖ", "[ºï½ü] ñ¸ìºï½ü¾õÂÖ", "[ÅÐÏ¿] ñ¸ìÅÐÏ¿¥â¡¼¥É", "[ÉÊ»ì] ñ¸ìÅÐÏ¿¥â¡¼¥É¤ÎÉÊ»ìÁªÂò¾õÂÖ", "[¼­½ñ] ñ¸ìÅÐÏ¿¥â¡¼¥É¤Î¼­½ñÁªÂò¾õÂÖ", "[ £ñ ] °úÍÑÆþÎϥ⡼¥É", "[ÊÔ½¸] ÊÔ½¸¥â¡¼¥É", "[¼­½ñ] ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¢¥¢¥ó¥Þ¥¦¥ó¥È¾õÂÖ", NULL }; char mm_set[] = { 0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32 }; char c_mm_set[] = { 0, 12, 19, 21, 22, 23, 24, 4, 5, 6, 15, 16, 17, 18, 10, 11,25, 26,2, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39 }; char *ce_menu[] = { "initialMode", "cursorWrap", "numericalKeySelect", "selectDirect", "bunsetsuKugiri", "characterBasedMove", "reverseWidely", "quitIfEndOfIchiran", "breakIntoRoman", "gakushu", "stayAfterValidate", "kakuteiIfEndOfBunsetsu", "gramaticalQuestion", "nHenkanForIchiran", "kouhoCount", "kojin", "auto", "nKouhoBunsetsu", "abandonIllegalPhono", "hexDirect", "allowNextInput", "indexHankaku", "ignoreCase", "romajiYuusen", "auto-sync", "nKeyToDisconnect", "quicklyEscape", NULL }; char *e_menu[] = { "initialMode", "cursorWrap", "numericalKeySelect", "selectDirect", "bunsetsuKugiri", "characterBasedMove", "reverseWidely", "quitIfEndOfIchiran", "breakIntoRoman", "gakushu", "stayAfterValidate", "kakuteiIfEndOfBunsetsu", "gramaticalQuestion", "nHenkanForIchiran", NULL }; #define ON 1 #define OFF -1 #define MID 2 char *ce_manual[] = { " µ¯Æ°»þ¤Î¥â¡¼¥É¤òÌð°õ¥­¡¼(¢«,¢ª)¤Ç»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È\ ¥â¡¼¥É¤Ç¤¹¡£", " ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂ֤ǥ«¡¼¥½¥ë¤ò°Üư¤¹¤ë»þ¤Ë±¦Ã¼¤«¤é±¦\ ¤Ø°Üư¤¹¤ëÁàºî¤ò¤·¤¿»þ¤äº¸Ã¼¤«¤éº¸¤Ø°Üư¤¹¤ëÁàºî¤ò¤·¤¿»þ¤Ë\ È¿ÂЦ¤Î¥«¡¼¥½¥ë¤¬°Üư¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£on¤Ç°Üư¤·¡¢off\ ¤Ç°Üư¤·¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "¸õÊä°ìÍ÷¤Ç¡¢¿ô»ú¥­¡¼¤òÍѤ¤¤Æ¸õÊä¤òÁªÂò¤Ç¤­¤ë¤«¤É¤¦¤«¤ò»ØÄê\ ¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£off¤ò»ØÄꤹ¤ë¤È¡¢¤³¤ì¤é¤Î¥­¡¼¤ò\ ²¡¤·¤¿¾ì¹çÁªÂò¤µ¤ì¤Æ¤¤¤ë¸õÊ䤬³ÎÄꤷ¡¢²¡²¼¤·¤¿¥­¡¼¤Ï¼¡¤ÎÆÉ¤ß¤È¤·¤Æ\ ¼è¤ê°·¤ï¤ì¤Þ¤¹¡£", "numericalKeySelect¤¬on¤Ç¤¢¤ë¤È¤­¤Ë¡¢¿ô»ú¥­¡¼¤Ç¸õÊä¤òÁªÂò¤·¤¿¤È¤­\ ¤Ë¸õÊä°ìÍ÷ɽ¼¨¤Î¤Þ¤Þ¤«¤½¤¦¤Ç¤Ê¤¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£on¤Î¾ì¹ç¤Ï¸õÊä°ìÍ÷¤¬\ ½ªÎ»¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¤È¤­¤ËʸÀᤴ¤È¤Ë¶õÇò¤Ç¶èÀڤ뤫¤É¤¦¤«¤ò»ØÄê\ ¤·¤Þ¤¹¡£on¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¤È¤­¤Ë¥«¡¼¥½¥ë°Üư¤ò¹Ô¤¦¾ì¹ç¤Ë¡¢Ê¸»úñ°Ì¤Ç°Üư¤ò\ ¹Ô¤¦¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£off¤Ë¤¹¤ë¤È¡¢¥í¡¼¥Þ»ú\ ¤«¤ÊÊÑ´¹¤Î³ÎÄê¤Îñ°Ì¤ò´ð¤Ë¤·¤Æ¥«¡¼¥½¥ë¤ò°Üư¤·¤Þ¤¹¡£Ê¸»úºï½ü¤âƱÍͤË\ ¹Ô¤ï¤ì¤Þ¤¹¡£", "on¤ò»ØÄꤹ¤ë¤ÈÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë»þ¤Îʸ»úÎó¤ÎȿžÈϰϤ¬¹­¤¯¤Ê¤ê¤Þ¤¹¡£\ ¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "¸õÊä°ìÍ÷¤ÇºÇ½ª¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂ֤Ǽ¡¸õÊäÁàºî¤ò¹Ô¤¦¤È¸õÊä°ìÍ÷¤ò\ ½ªÎ»¤·¡¢ÆÉ¤ß¤½¤Î¤â¤Î¤ò¸õÊä¤È¤·¤ÆÉ½¼¨¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡££²ÂÇÌܤÎ\ ¥¹¥Ú¡¼¥¹¥­¡¼¤ò¸õÊä°ìÍ÷ɽ¼¨¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤ë»þ¤Ê¤É¤Ïon¤Ë¤·¤Æ¤ª¤¯\ ¤ÈÊØÍø¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¥­¡¼¤òÂǤ俤Ȥ­¤ËľÁ°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó¤¬\ ¥í¡¼¥Þ»ú¤ËÌá¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "¤«¤Ê´Á»úÊÑ´¹¤¬³Ø½¬¤ò¹Ô¤¦¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "¸õÊä°ìÍ÷¾õÂ֤ǸõÊä¤òÁªÂò¤·¤ÆÃ±°ì¸õÊäɽ¼¨¾õÂÖ¤ËÌá¤Ã¤¿¤È¤­¤Ë¡¢¥«¥ì¥ó¥È\ ʸÀá¤ò¼¡¤ÎʸÀá¤Ë°Üư¤µ¤»¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£off¤Ç¥«¥ì¥ó¥ÈʸÀá¤Ë°Üư\ ¤·¤Þ¤¹¡£on¤Ç¤Ï¥«¥ì¥ó¥ÈʸÀá¤ÏÊѤï¤ê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "ºÇ±¦Ê¸Àá¤Ç¼¡Ê¸Àá¤Ø°Üư¤·¤è¤¦¤È¤·¤¿¤È¤­¤Ë¡¢³ÎÄꤹ¤ë¤«Èݤ«¤ò»ØÄꤷ¤Þ¤¹¡£\ off¤ò»ØÄꤹ¤ë¤ÈºÇº¸Ê¸À᤬¥«¥ì¥ó¥ÈʸÀá¤Ë¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "ñ¸ìÅÐÏ¿¤ÇÉÊ»ì¤ò»ØÄꤷ¤¿¸å¡¢¾ÜºÙ¤ÊÉÊ»ìʬÎà¤Î¤¿¤á¤Î¼ÁÌä¤ò¹Ô¤¦¤«Èݤ«¤ò\ »ØÄꤷ¤Þ¤¹¡£on¤Ç¼ÁÌä¤ò¹Ô¤¤¡¢off¤Ç¤Ï¼ÁÌä¤ò¤·¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "ÊÑ´¹¥­¡¼¤ò²¿²ó¤«²¡¤¹¤È¸õÊä°ìÍ÷ɽ¼¨¤¬¹Ô¤ï¤ì¤ë¤è¤¦¤Ë¤¹¤ë»ö\ ¤¬¤Ç¤­¤Þ¤¹¡£¤³¤³¤Ç¤Ï¤½¤Î²ó¿ô¤òÌð°õ¥­¡¼(¢«,¢ª)¤Ç»ØÄꤷ¤Þ¤¹¡£\ 0²ó¤Ë¤¹¤ë¤È²¿²óÊÑ´¹¥­¡¼¤ò\ ²¡¤·¤Æ¤â°ìÍ÷ɽ¼¨¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï2²ó¤Ç¡¢2²óÊÑ´¹¥­¡¼¤ò\ ²¡¤¹¤È°ìÍ÷ɽ¼¨¤Ë¤Ê¤ê¤Þ¤¹¡£", "¸õÊä°ìÍ÷¤ä¥æ¡¼¥Æ¥£¥ê¥Æ¥£µ¡Ç½¤Îɽ¼¨²èÌ̤ÎÉôʬ¤Î¸õÊä¿ô¤Þ¤¿¤Ï¥¢¥¤¥Æ¥à¿ô\ ¤òɽ¼¨¤¹¤ë¤«¤·¤Ê¤¤¤«¤òÀßÄꤷ¤Þ¤¹¡£on¤Çɽ¼¨¤·¡¢off¤Çɽ¼¨¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£\ ¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¼­½ñ¤ËÂФ·¤Æ¡¢¸Ä¿ÍÊ̳ؽ¬¤ò¹Ô¤¦¤«¤É¤¦¤«¤ò\ »ØÄꤷ¤Þ¤¹¡£on¤Ç¹Ô¤¤¡¢off¤Ç¹Ô¤¤¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¸Ä¿ÍÊ̳ؽ¬¤ò¹Ô¤¤¤Þ¤¹¡£", "ÊÑ´¹Êý¼°¤òÃ༡¼«Æ°ÊÑ´¹¤Ë¤¹¤ë¤«¤·¤Ê¤¤¤«¤òÀßÄꤷ¤Þ¤¹¡£on¤Ç¤ÏÃ༡¼«Æ°ÊÑ´¹\ ¤Ë¤Ê¤êoff¤Ç¤ÏϢʸÀáÊÑ´¹¤Ë¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff(ϢʸÀáÊÑ´¹)¤Ç¤¹¡£", "Ã༡¼«Æ°ÊÑ´¹¤Ë¤ª¤¤¤ÆÊÑ´¹Ãæ¤ËÊÝ»ý¤·¤Æ¤¤¤ë¸õÊäʸÀá¤Î¿ô¤òÀßÄꤷ¤Þ¤¹¡£\ ¥Ç¥Õ¥©¥ë¥È¤Ï16ʸÀá¤Ç¤¹¡£ÀßÄê²Äǽ¤Ê¿ô¤Ï3¡Á32¤Ç¤¹¡£ ¤³¤³¤Ç¤Ï¤½¤Î²ó¿ô¤ò\ Ìð°õ¥­¡¼(¢«,¢ª)¤Ç»ØÄꤷ¤Þ¤¹¡£", "¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÇÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤¬ÆþÎϤȤ·¤Æ»Ä¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£\ on¤ÇÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤¬¼Î¤Æ¤é¤ì¤Þ¤¹¡£off¤Ç¤ÏÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤Ï»Ä¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È\ ¤Ïoff¤Ç¤¹¡£", "¥³¡¼¥ÉÆþÎϤˤª¤¤¤Æ4·å¤Î¥³¡¼¥É¤òÆþÎϸ塢ÆÀ¤é¤ì¤ëʸ»ú¤ò³ÎÄꤹ¤ë¤«¤·¤Ê¤¤¤«\ ¤òÀßÄꤷ¤Þ¤¹¡£on¤Ç³ÎÄꤷ¤Æ¡¢off¤Ç³ÎÄꤷ¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç³ÎÄê\ ¤·¤Þ¤»¤ó¡£", "¸õÊä°ìÍ÷ɽ¼¨¾õÂ֤ǿô»ú°Ê³°¤Î¥­¡¼¤ò²¡¤·¤¿»þ¤Ë¡¢¸½ºß¥«¡¼¥½¥ë¤¬°ÌÃÖ¤·¤Æ\ ¤¤¤ë¸õÊ䤬ÁªÂò¤µ¤ì¼¡¤ÎÆþÎϤȤʤ뤫¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£", "¸õÊä°ìÍ÷¤ÎÈÖ¹æ¤òÁ´³Ñʸ»ú¤«¤éȾ³Ñʸ»ú¤ËÊѹ¹¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤ÇÁ´³Ñʸ»ú¤Ç¤¹¡£", "¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÏÄ̾ï¤ÏÂçʸ»ú¤òÆþÎϤ¹¤ë¤È¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î¤Þ¤ÞÆþÎϤµ¤ì¡¢¤«¤Ê¤Ë¤ÏÊÑ´¹¤µ¤ì¤Þ¤»¤ó¡£on¤Ë¤¹¤ë¤ÈÂçʸ»ú¤ÇÆþÎϤ·¤Æ¤â¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¤Ï¾®Ê¸»ú¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "on¤Ë¤¹¤ë¤ÈÆþÎϤµ¤ì¤¿Ê¸»ú¤¬¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÇÍ­¸ú¤È¤Ê¤ë¥­¡¼¤Ç¤¢¤ì¤Ð¡¢¤½¤Î¥­¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ëµ¡Ç½¤¬²¿¤Ç¤¢¤í¤¦¤È self-insert ¤¬¤ª¤³¤Ê¤ï¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "ñ¸ìÅÐÏ¿¤ª¤è¤Óºï½ü¤ò¤·¤¿¤È¤­¼«Æ°Åª¤Ë¼­½ñ¤ÎƱ´ü¤¬¹Ô¤ï¤ì¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£on¤Ë¤¹¤ë¤ÈƱ´ü¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤òÆþÎϤ·Â³¤±¤¿¾ì¹ç¤Î¥µ¡¼¥Ð¤È¤ÎÀܳ¤ÎÀÚ¤ì¤ë¥¹¥È¥í¡¼¥¯¿ô¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤³¤Ç¤Ï²ó¿ô¤òÌð°õ¥­¡¼(¢«,¢ª)¤Ç»ØÄꤷ¤Þ¤¹¡££±¥­¡¼¤Ç100²óÊѲ½¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï500¤Ç¤¹¡£", "µ­¹æÆþÎϥ⡼¥É¤Çµ­¹æ¤òÁªÂò¤·¤¿¸å¤âµ­¹æÁªÂò¥â¡¼¥É¤Ëα¤Þ¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£off ¤Ë¤¹¤ë¤Èα¤Þ¤ê¤Þ¤¹¡£", NULL }; char *e_manual[] = { " µ¯Æ°»þ¤Î¥â¡¼¥É¤òÌð°õ¥­¡¼(¢«,¢ª)¤Ç»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È\ ¥â¡¼¥É¤Ç¤¹¡£", " ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂ֤ǥ«¡¼¥½¥ë¤ò°Üư¤¹¤ë»þ¤Ë±¦Ã¼¤«¤é±¦\ ¤Ø°Üư¤¹¤ëÁàºî¤ò¤·¤¿»þ¤äº¸Ã¼¤«¤éº¸¤Ø°Üư¤¹¤ëÁàºî¤ò¤·¤¿»þ¤Ë\ È¿ÂЦ¤Î¥«¡¼¥½¥ë¤¬°Üư¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£on¤Ç°Üư¤·¡¢off\ ¤Ç°Üư¤·¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "¸õÊä°ìÍ÷¤Ç¡¢¿ô»ú¥­¡¼¤òÍѤ¤¤Æ¸õÊä¤òÁªÂò¤Ç¤­¤ë¤«¤É¤¦¤«¤ò»ØÄê\ ¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£off¤ò»ØÄꤹ¤ë¤È¡¢¤³¤ì¤é¤Î¥­¡¼¤ò\ ²¡¤·¤¿¾ì¹çÁªÂò¤µ¤ì¤Æ¤¤¤ë¸õÊ䤬³ÎÄꤷ¡¢²¡²¼¤·¤¿¥­¡¼¤Ï¼¡¤ÎÆÉ¤ß¤È¤·¤Æ\ ¼è¤ê°·¤ï¤ì¤Þ¤¹¡£", "numericalKeySelect¤¬on¤Ç¤¢¤ë¤È¤­¤Ë¡¢¿ô»ú¥­¡¼¤Ç¸õÊä¤òÁªÂò¤·¤¿¤È¤­\ ¤Ë¸õÊä°ìÍ÷ɽ¼¨¤Î¤Þ¤Þ¤«¤½¤¦¤Ç¤Ê¤¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£on¤Î¾ì¹ç¤Ï¸õÊä°ìÍ÷¤¬\ ½ªÎ»¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¤È¤­¤ËʸÀᤴ¤È¤Ë¶õÇò¤Ç¶èÀڤ뤫¤É¤¦¤«¤ò»ØÄê\ ¤·¤Þ¤¹¡£on¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¤È¤­¤Ë¥«¡¼¥½¥ë°Üư¤ò¹Ô¤¦¾ì¹ç¤Ë¡¢Ê¸»úñ°Ì¤Ç°Üư¤ò\ ¹Ô¤¦¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£off¤Ë¤¹¤ë¤È¡¢¥í¡¼¥Þ»ú\ ¤«¤ÊÊÑ´¹¤Î³ÎÄê¤Îñ°Ì¤ò´ð¤Ë¤·¤Æ¥«¡¼¥½¥ë¤ò°Üư¤·¤Þ¤¹¡£Ê¸»úºï½ü¤âƱÍͤË\ ¹Ô¤ï¤ì¤Þ¤¹¡£", "on¤ò»ØÄꤹ¤ë¤ÈÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë»þ¤Îʸ»úÎó¤ÎȿžÈϰϤ¬¹­¤¯¤Ê¤ê¤Þ¤¹¡£\ ¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "¸õÊä°ìÍ÷¤ÇºÇ½ª¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂ֤Ǽ¡¸õÊäÁàºî¤ò¹Ô¤¦¤È¸õÊä°ìÍ÷¤ò\ ½ªÎ»¤·¡¢ÆÉ¤ß¤½¤Î¤â¤Î¤ò¸õÊä¤È¤·¤ÆÉ½¼¨¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡££²ÂÇÌܤÎ\ ¥¹¥Ú¡¼¥¹¥­¡¼¤ò¸õÊä°ìÍ÷ɽ¼¨¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤ë»þ¤Ê¤É¤Ïon¤Ë¤·¤Æ¤ª¤¯\ ¤ÈÊØÍø¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¥­¡¼¤òÂǤ俤Ȥ­¤ËľÁ°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó¤¬\ ¥í¡¼¥Þ»ú¤ËÌá¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "¤«¤Ê´Á»úÊÑ´¹¤¬³Ø½¬¤ò¹Ô¤¦¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "¸õÊä°ìÍ÷¾õÂ֤ǸõÊä¤òÁªÂò¤·¤ÆÃ±°ì¸õÊäɽ¼¨¾õÂÖ¤ËÌá¤Ã¤¿¤È¤­¤Ë¡¢¥«¥ì¥ó¥È\ ʸÀá¤ò¼¡¤ÎʸÀá¤Ë°Üư¤µ¤»¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£off¤Ç¥«¥ì¥ó¥ÈʸÀá¤Ë°Üư\ ¤·¤Þ¤¹¡£on¤Ç¤Ï¥«¥ì¥ó¥ÈʸÀá¤ÏÊѤï¤ê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "ºÇ±¦Ê¸Àá¤Ç¼¡Ê¸Àá¤Ø°Üư¤·¤è¤¦¤È¤·¤¿¤È¤­¤Ë¡¢³ÎÄꤹ¤ë¤«Èݤ«¤ò»ØÄꤷ¤Þ¤¹¡£\ off¤ò»ØÄꤹ¤ë¤ÈºÇº¸Ê¸À᤬¥«¥ì¥ó¥ÈʸÀá¤Ë¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ïoff¤Ç¤¹¡£", "ñ¸ìÅÐÏ¿¤ÇÉÊ»ì¤ò»ØÄꤷ¤¿¸å¡¢¾ÜºÙ¤ÊÉÊ»ìʬÎà¤Î¤¿¤á¤Î¼ÁÌä¤ò¹Ô¤¦¤«Èݤ«¤ò\ »ØÄꤷ¤Þ¤¹¡£on¤Ç¼ÁÌä¤ò¹Ô¤¤¡¢off¤Ç¤Ï¼ÁÌä¤ò¤·¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ïon¤Ç¤¹¡£", "ÊÑ´¹¥­¡¼¤ò²¿²ó¤«²¡¤¹¤È¸õÊä°ìÍ÷ɽ¼¨¤¬¹Ô¤ï¤ì¤ë¤è¤¦¤Ë¤¹¤ë»ö\ ¤¬¤Ç¤­¤Þ¤¹¡£¤³¤³¤Ç¤Ï¤½¤Î²ó¿ô¤òÌð°õ¥­¡¼(¢«,¢ª)¤Ç»ØÄꤷ¤Þ¤¹¡£\ 0²ó¤Ë¤¹¤ë¤È²¿²óÊÑ´¹¥­¡¼¤ò\ ²¡¤·¤Æ¤â°ìÍ÷ɽ¼¨¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï2²ó¤Ç¡¢2²óÊÑ´¹¥­¡¼¤ò\ ²¡¤¹¤È°ìÍ÷ɽ¼¨¤Ë¤Ê¤ê¤Þ¤¹¡£", NULL }; Canna37p3/ccustom/ccustom.jmn0100644000076500001200000000566507554213562015532 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" $Id: ccustom.jmn,v 1.1.1.1 2002/10/19 08:27:30 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} ccustom 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" ccustom \- ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Ä¡¼¥ë¡¥ .SH "·Á¼°" .B "ccustom¡¡[filename]" .SH "ÀâÌÀ" .PP ½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤ÎÀßÄꡤÊÔ½¸¤ò²ñÏÃŪ¤ËÍÆ°×¤Ë¤ª¤³¤Ê¤¦¤â¤Î¤Ç¤¹¡¥ .br ccustom(1)µ¯Æ°»þ¤Ë½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¼«Æ°Åª¤Ë ½é´ü²½¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡¥ ÆÉ¤ß¹þ¤à½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤ÎÍ¥Àè½ç°Ì¤Ï ´ðËÜŪ¤Ë´Ä¶­ÊÑ¿ô CANNAFILE ¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¡¤ ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Î .canna¡¤@(cannaLibDir)/default.canna¤Î½ç¤Ç¤¹¡¥ ¤Þ¤¿¡¤µ¯Æ°»þ¤Ëfilename¤Ë½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤òľÀÜ »ØÄꤷ¤ÆÆÉ¤ß¹þ¤Þ¤»¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡¥ .br ´ðËÜŪ¤ÊÁàºî¤Ï¡¤¥«¡¼¥½¥ë¥­¡¼¤Ç°Üư¤·ÁªÂò¤Ï¥ê¥¿¡¼¥ó¥­¡¼¤Ç¡¤¤Þ¤¿¥á¥Ë¥å¡¼¤«¤é È´¤±¤ë¾ì¹ç¤ÏESC¥­¡¼,q¥­¡¼¤ò»ÈÍѤ·¤Þ¤¹¡¥ .br ¤Þ¤¿¡¤¥«¡¼¥½¥ë¥­¡¼¤ÏCTRL¥­¡¼¤È¤ÎÁȤ߹ç¤ï¤»¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡¥¾å²¼º¸±¦¤Ï ¤½¤ì¤¾¤ìCTRL+p,CTRL+n,CTRL+b,CTRL+f¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥ .SH "¥á¥Ë¥å¡¼" .IP "¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß" 34 Ǥ°Õ¤Î½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤¿¤¤¤È¤­¤ËÁªÂò¤·¤Þ¤¹¡¥ .IP "¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ø¤ÎÊݸ" 34 Ǥ°Õ¤Î¥Õ¥¡¥¤¥ë¤ËÊÔ½¸(¥«¥¹¥¿¥Þ¥¤¥º)¤·¤¿·ë²Ì¤òÊݸ¤·¤Þ¤¹¡¥ .IP "»ÈÍѤ¹¤ë¼­½ñ¤ÎÀßÄê" 34 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¡¤¥·¥¹¥Æ¥à¼­½ñ¡¤Éô¼óÊÑ´¹¼­½ñ¡¤¥æ¡¼¥¶¼­½ñ¤Ë ²¿¤ò»ÈÍѤ¹¤ë¤«¤òÀßÄꤷ¤Þ¤¹¡¥ .IP "¥­¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º" 34 ¥­¡¼Áàºî¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ò¹Ô¤¤¤Þ¤¹¡¥ .IP "¥â¡¼¥É¤Îɽ¼¨Ê¸»úÎó¤Î¥«¥¹¥¿¥Þ¥¤¥º" 34 ³Æ¥â¡¼¥É(¾õÂÖ)¤Îɽ¼¨Ê¸»úÎó¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡¥ .IP "¤½¤Î¾¤Î¥«¥¹¥¿¥Þ¥¤¥º" 34 µ¯Æ°»þ¤Î¥â¡¼¥É¤ä¡¤ON,OFF¤ÇÀßÄê¤Ç¤­¤ë¤è¤¦¤Ê¹àÌܤÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡¥ .IP "½ªÎ»" 34 ccustom(1)¤ò½ªÎ»¤·¤Þ¤¹¡¥¤³¤Î¤È¤­¤Ë¡ÖÊݸ¸å½ªÎ»¡×¤òÁªÂò¤¹¤ë¤È ºÇ¸å¤ËÆÉ¤ß¹þ¤ó¤À¥Õ¥¡¥¤¥ë¤ËÊÔ½¸(¥«¥¹¥¿¥Þ¥¤¥º)¤·¤¿·ë²Ì¤¬Êݸ¤µ¤ì¤Þ¤¹¡¥ ¡Ö¼è¾Ã¡×¤òÁªÂò¤¹¤ë¤ÈÊÔ½¸(¥«¥¹¥¿¥Þ¥¤¥º)ºî¶È¤ò·Ñ³¤Ç¤­¤Þ¤¹¡¥´Ö°ã¤Ã¤Æ¡Ö½ªÎ»¡× ¤òÁªÂò¤·¤Æ¤·¤Þ¤Ã¤¿¤È¤­¤ËÊØÍø¤Ç¤¹¡¥ Canna37p3/ccustom/ccustom.man0100644000076500001200000000610107554213562015503 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" $Id: ccustom.man,v 1.1.1.1 2002/10/19 08:27:30 aida_s Exp $ .TH CCUSTOM 1 .SH "NAME" ccustom \- Customizing tool for Canna .SH "SYNOPSIS" .B "ccustom [filename]" .SH "DESCRIPTION" .PP ccustom enables the setting and editing of initialize (customize) file to be conversational and simplified. .PP If the initialize (customize) files exist when ccustom(1) starts, they are read automatically. The priority of reading them is basically the following order: .IP (1) 4 file specified in the environmental variable CANNAFILE .IP (2) 4 \&.canna under the home directory .IP (3) 4 @(cannaLibDir)/default.canna .PP The reading is done also by directly specifying the initialize (customize) file name in filename at start time. .PP Basic operations are as follows: Use cursor keys to move the cursor. Use the Return key for selection. The ESC or 'q' key is available to quit the menu. .PP The cursor moves responding to combination of a cursor key and the CTRL key. It moves up, down, left, and right in response to pressing of CTRL+p, +n, +b, and +f, respectively. .SH "MENU" .IP "Read the customize file" 34 Enables an initialize (customize) file to be edited. .IP "Retaining the result in the customize file" 34 Retains the result of editing (customizing) in a file. .IP "Set the dictionary used" 34 Sets what Romaji-to-Kana table, system dictionary, Bushu conversion dictionary, and user dictionary are used. .IP "Customize keys" 34 Customizes key operations. .IP "Customize mode display character strings" 34 Sets the character strings displayed in each mode. .IP "Customize other functions" 34 Sets the initial mode and On/Off options. .IP "Quit" 34 Quits ccustom(1). If you select ``Retention and quit'' at this time, the result of editing (customizing) is retained in the last read file. If you select ``Cancel'', you can continue the editing (customizing). This function is useful when you erroneously select "Cancel". Canna37p3/ccustom/gram.y0100644000076500001200000003704007554213562014457 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* -*-Mode: TEXT-*- $Id: gram.y,v 1.1.1.1 2002/10/19 08:27:30 aida_s Exp $ */ %{ static char rcs_id[]= "@(#) 102.1 $Id: gram.y,v 1.1.1.1 2002/10/19 08:27:30 aida_s Exp $"; #include #include "iroha.h" #include "irmfdef.h" #define PREVK 3 #define NEXTK 2 #define YES 1 #define NO 0 static char *ptr; static unsigned char actbuff[256],keybuff[128]; static int special = NO; static int mode, localmode = NO; static int i = 0, j = 0; extern InitialMode, CursorWrap, SelectDirect; extern HexkeySelect, Gakushu, BreakIntoRoman, BunsetsuKugiri; extern QuitIchiranIfEnd, stayAfterValidate, kakuteiIfEndOfBunsetsu; extern kouho_threshold, gramaticalQuestion; extern ChBasedMove, ReverseWidely; extern char *RomkanaTable, *RengoGakushu, *KatakanaGakushu; extern char IROHA_rcfilename[]; extern int yylineno; %} %union { int num; char *ptr; }; %token LB RB LP RP KEY NEWLINE COMMA %token ROMKANATABLE INITIALMODE HENKANNYURYOKUMODE %token ZENHIRAHENKANMODE %token ZENKATAHENKANMODE ZENALPHAHENKANMODE %token HANKATAHENKANMODE HANALPHAHENKANMODE %token ZENHIRAKAKUTEIMODE %token ZENKATAKAKUTEIMODE ZENALPHAKAKUTEIMODE %token HANKATAKAKUTEIMODE HANALPHAKAKUTEIMODE %token BUNSETSUKUGIRI %token CURSORWRAP ON_FLAG OFF_FLAG %token SELECTEDIRECT %token DICTIONARY USERDIC BUSHUDIC RENGODIC KANADIC LOCALDIC %token CHARACTERBASEDMOVE REVERSEWIDELY GAKUSHU BREAKINTOROMAN %token QUITIFENDOFICHIRAN %token ALPHAMODE %token QUOTEDINSERT %token KAKUTEI EXTEND SHRINK TOUROKU FORWARD BACKWARD PREVIOUS NEXT %token BEGINNINGOFLINE ENDOFLINE DELETENEXT DELETEPREVIOUS %token KILLTOENDOFLINE HENKAN QUIT SELFINSERT %token ALPHA JAPANESEMODE %token YOMIGANAI HEXMODE BUSHUMODE KIGOUMODE %token YOMI NEXTCHARACTERSET PREVCHARACTERSET CONVERTASHEX %token CONVERTASBUSHU %token MOJISHU ZENKAKU HANKAKU TOUPPER CAPITALIZE TOLOWER %token TANKOUHO MUHENKAN NEXTKOUHO PREVKOUHO KOUHOICHIRAN BUBUNMUHENKAN %token ICHIRAN PREVKOUHORETSU NEXTKOUHORETSU BEGINNINGOFKOUHO %token ENDOFKOUHO %token KAKUTEINYURYOKU EXTENDMODE %token HEX BUSHU HENKANNYURYOKU ZENHIRAKAKUTEI %token ZENKATAKAKUTEI ZENALPHAKAKUTEI HANKATAKAKUTEI HANALPHAKAKUTEI %token SELECTDIRECT HEXKEYSELECT %token MODESTRING STAYAFTERVALIDATE KAKUTEIIFENDOFBUNSETSU %token HIRAGANA KATAKANA ROMAJI NHENKANFORICHIRAN NUMBER %token KIGO YESNO RUSSIAN GREEK LINE CHANGINGSERVER HENKANMETHOD %token DELETEDIC TOUROKUHINSHI TOUROKUDIC ZENKATAHENKAN %token ZENALPHAHENKAN HANKATAHENKAN HANALPHAHENKAN MOUNTDIC %token GRAMATICALQUESTION %token STRING %type string %type initMode flag number %start cookrc %% cookrc : stmts newlines ; stmts : /* Empty */ | stmt | stmts newline stmt ; stmt : error | ROMKANATABLE string { RomkanaTable = $2; } | INITIALMODE initMode { InitialMode = $2; } | CURSORWRAP flag { CursorWrap = $2; } | SELECTDIRECT flag { SelectDirect = $2; } | HEXKEYSELECT flag { HexkeySelect = $2; } | BUNSETSUKUGIRI flag { BunsetsuKugiri = $2; } | DICTIONARY string { kanjidicname[nkanjidics++] = $2; kanjidicname[nkanjidics] = NULL; } | USERDIC string { userdicname[nuserdics++] = $2; userdicname[nuserdics] = NULL; } | BUSHUDIC string { bushudicname[nbushudics++] = $2; bushudicname[nbushudics] = NULL; } | LOCALDIC string { localdicname[nlocaldics++] = $2; localdicname[nlocaldics] = NULL; } | RENGODIC string { RengoGakushu = $2; } | KANADIC string { KatakanaGakushu = $2; } | CHARACTERBASEDMOVE flag { ChBasedMove = $2; } | REVERSEWIDELY flag { ReverseWidely = $2; } | GAKUSHU flag { Gakushu = $2; } | QUITIFENDOFICHIRAN flag { QuitIchiranIfEnd = $2; } | KAKUTEIIFENDOFBUNSETSU flag { kakuteiIfEndOfBunsetsu = $2; } | STAYAFTERVALIDATE flag { stayAfterValidate = $2; } | BREAKINTOROMAN flag { BreakIntoRoman = $2; } | NHENKANFORICHIRAN number { kouho_threshold = $2; } | NHENKANFORICHIRAN KEY { if ('0' <= $2 && $2 <= '9') { kouho_threshold = $2 - '0'; } else { yyerror(IROHA_rcfilename); } } | GRAMATICALQUESTION flag { gramaticalQuestion = $2; } | keymapping | ALPHA newlines { localmode = YES; mode = IROHA_MODE_AlphaMode; } keymappingList { localmode = NO; } | YOMIGANAI newlines { localmode = YES; mode = IROHA_MODE_EmptyMode; } keymappingList { localmode = NO; } | YOMI newlines { localmode = YES; mode = IROHA_MODE_YomiMode; } keymappingList { localmode = NO; } | MOJISHU newlines { localmode = YES; mode = IROHA_MODE_JishuMode; } keymappingList { localmode = NO; } | TANKOUHO newlines { localmode = YES; mode = IROHA_MODE_TankouhoMode; } keymappingList { localmode = NO; } | ICHIRAN newlines { localmode = YES; mode = IROHA_MODE_IchiranMode; } keymappingList { localmode = NO; } | HENKANNYURYOKU newlines { localmode = YES; mode = IROHA_MODE_EmptyMode; } keymappingList { localmode = NO; } | ZENHIRAKAKUTEI newlines { localmode = YES; mode = IROHA_MODE_ZenHiraKakuteiMode; } keymappingList { localmode = NO; } | ZENKATAKAKUTEI newlines { localmode = YES; mode = IROHA_MODE_ZenKataKakuteiMode; } keymappingList { localmode = NO; } | ZENALPHAKAKUTEI newlines { localmode = YES; mode = IROHA_MODE_ZenAlphaKakuteiMode; } keymappingList { localmode = NO; } | HANKATAKAKUTEI newlines { localmode = YES; mode = IROHA_MODE_HanKataKakuteiMode; } keymappingList { localmode = NO; } | HANALPHAKAKUTEI newlines { localmode = YES; mode = IROHA_MODE_HanAlphaKakuteiMode; } keymappingList { localmode = NO; } | MODESTRING LP ALPHA RP string { changeModeName(IROHA_MODE_AlphaMode,$5); } | MODESTRING LP YOMIGANAI RP string { changeModeName(IROHA_MODE_EmptyMode,$5); } | MODESTRING LP HEX RP string { changeModeName(IROHA_MODE_HexMode,$5); } | MODESTRING LP BUSHU RP string { changeModeName(IROHA_MODE_BushuMode,$5); } | MODESTRING LP HENKANNYURYOKU RP string { changeModeName(IROHA_MODE_EmptyMode,$5); } | MODESTRING LP ZENHIRAKAKUTEI RP string { changeModeName(IROHA_MODE_ZenHiraKakuteiMode,$5); } | MODESTRING LP ZENKATAKAKUTEI RP string { changeModeName(IROHA_MODE_ZenKataKakuteiMode,$5); } | MODESTRING LP ZENALPHAKAKUTEI RP string { changeModeName(IROHA_MODE_ZenAlphaKakuteiMode,$5); } | MODESTRING LP HANKATAKAKUTEI RP string { changeModeName(IROHA_MODE_HanKataKakuteiMode,$5); } | MODESTRING LP HANALPHAKAKUTEI RP string { changeModeName(IROHA_MODE_HanAlphaKakuteiMode,$5); } | MODESTRING LP KIGO RP string { changeModeName(IROHA_MODE_KigoMode,$5); } | MODESTRING LP MOJISHU RP string { changeModeName(IROHA_MODE_JishuMode,$5); } | MODESTRING LP TANKOUHO RP string { changeModeName(IROHA_MODE_TankouhoMode,$5); } | MODESTRING LP ICHIRAN RP string { changeModeName(IROHA_MODE_IchiranMode,$5); } | MODESTRING LP YESNO RP string { changeModeName(IROHA_MODE_YesNoMode,$5); } | MODESTRING LP EXTEND RP string { changeModeName(IROHA_MODE_ExtendMode,$5); } | MODESTRING LP RUSSIAN RP string { changeModeName(IROHA_MODE_RussianMode,$5); } | MODESTRING LP GREEK RP string { changeModeName(IROHA_MODE_GreekMode,$5); } | MODESTRING LP LINE RP string { changeModeName(IROHA_MODE_LineMode,$5); } | MODESTRING LP CHANGINGSERVER RP string { changeModeName(IROHA_MODE_ChangingServerMode,$5); } | MODESTRING LP HENKANMETHOD RP string { changeModeName(IROHA_MODE_HenkanMethodMode,$5); } | MODESTRING LP DELETEDIC RP string { changeModeName(IROHA_MODE_DeleteDicMode,$5); } | MODESTRING LP TOUROKU RP string { changeModeName(IROHA_MODE_TourokuMode,$5); } | MODESTRING LP TOUROKUHINSHI RP string { changeModeName(IROHA_MODE_TourokuHinshiMode,$5); } | MODESTRING LP TOUROKUDIC RP string { changeModeName(IROHA_MODE_TourokuDicMode,$5); } | MODESTRING LP QUOTEDINSERT RP string { changeModeName(IROHA_MODE_QuotedInsertMode,$5); } | MODESTRING LP BUBUNMUHENKAN RP string { changeModeName(IROHA_MODE_BubunMuhenkanMode,$5); } | MODESTRING LP ZENKATAHENKAN RP string { changeModeName(IROHA_MODE_ZenKataHenkanMode,$5); } | MODESTRING LP HANKATAHENKAN RP string { changeModeName(IROHA_MODE_HanKataHenkanMode,$5); } | MODESTRING LP ZENALPHAHENKAN RP string { changeModeName(IROHA_MODE_ZenAlphaHenkanMode,$5); } | MODESTRING LP HANALPHAHENKAN RP string { changeModeName(IROHA_MODE_HanAlphaHenkanMode,$5); } | MODESTRING LP MOUNTDIC RP string { changeModeName(IROHA_MODE_MountDicMode,$5); } ; initMode : HENKANNYURYOKUMODE { $$ = IROHA_MODE_HenkanMode; } | ZENHIRAHENKANMODE { $$ = IROHA_MODE_ZenHiraHenkanMode; } | ZENKATAHENKANMODE { $$ = IROHA_MODE_ZenKataHenkanMode; } | HANKATAHENKANMODE { $$ = IROHA_MODE_HanKataHenkanMode; } | ZENALPHAHENKANMODE { $$ = IROHA_MODE_ZenAlphaHenkanMode; } | HANALPHAHENKANMODE { $$ = IROHA_MODE_HanAlphaHenkanMode; } | ZENHIRAKAKUTEIMODE { $$ = IROHA_MODE_ZenHiraKakuteiMode; } | ZENKATAKAKUTEIMODE { $$ = IROHA_MODE_ZenKataKakuteiMode; } | ZENALPHAKAKUTEIMODE { $$ = IROHA_MODE_ZenAlphaKakuteiMode;} | HANKATAKAKUTEIMODE { $$ = IROHA_MODE_HanKataKakuteiMode; } | HANALPHAKAKUTEIMODE { $$ = IROHA_MODE_HanAlphaKakuteiMode;} | ALPHAMODE { $$ = IROHA_MODE_AlphaMode; } ; flag : ON_FLAG | OFF_FLAG ; number : NUMBER string : STRING { if ($1) { ptr = (char*)malloc(strlen($1) +1); strcpy(ptr, $1); RemoveDblQuote(ptr); $$ = ptr; } else { $$ = (char *)0; } } newline : NEWLINE | newline NEWLINE ; newlines : /* empty */ | newline ; keymappingList : LB keymappings newlines RB ; keymappings : /* empty */ | keymappings newline keymapping ; keymapping : seq seq : acts keys { actbuff[i] = 0; keybuff[j] = 255; if (i == 1 && j== 1) { if (special == NO) { chgKeyfunc((int)keybuff[0],(int)actbuff[0]); } } else { if (j > 1) { chgKeyfunc((int)keybuff[0],IROHA_FN_UseOtherKeymap); } else { chgKeyfunc((int)keybuff[0],IROHA_FN_FuncSequence); } } special = NO; i = 0; j = 0; } acts : act | acts COMMA act ; keys : KEY { if (special == NEXTK && i == 1 && j == 0) { chgKeyfunc($1, IROHA_FN_Next); changeKeyfunc(IROHA_MODE_IchiranMode, $1, IROHA_FN_Forward,NULL,NULL); } if (special == PREVK && i == 1 && j == 0){ chgKeyfunc($1, IROHA_FN_Prev); changeKeyfunc(IROHA_MODE_IchiranMode, $1, IROHA_FN_Backward,NULL,NULL); } keybuff[j++] = $1; } | keys COMMA KEY { keybuff[j++] = $3; } ; act : FORWARD { actbuff[i++] = IROHA_FN_Forward; } | BACKWARD { actbuff[i++] = IROHA_FN_Backward; } | NEXT { actbuff[i++] = IROHA_FN_Next; } | PREVIOUS { actbuff[i++] = IROHA_FN_Prev; } | BEGINNINGOFLINE { actbuff[i++] = IROHA_FN_BeginningOfLine; } | ENDOFLINE { actbuff[i++] = IROHA_FN_EndOfLine; } | DELETENEXT { actbuff[i++] = IROHA_FN_DeleteNext; } | DELETEPREVIOUS { actbuff[i++] = IROHA_FN_DeletePrevious; } | KILLTOENDOFLINE { actbuff[i++] = IROHA_FN_KillToEndOfLine; } | HENKAN { actbuff[i++] = IROHA_FN_Henkan; } | KAKUTEI { actbuff[i++] = IROHA_FN_Kakutei; } | SHRINK { actbuff[i++] = IROHA_FN_Shrink; } | EXTEND { actbuff[i++] = IROHA_FN_Extend; } | QUIT { actbuff[i++] = IROHA_FN_Quit; } | SELFINSERT { actbuff[i++] = IROHA_FN_FunctionalInsert; } | QUOTEDINSERT { actbuff[i++] = IROHA_FN_QuotedInsert; } | TOUROKU { actbuff[i++] = IROHA_FN_Touroku; } | EXTENDMODE { actbuff[i++] = IROHA_FN_ExtendMode; } | NEXTCHARACTERSET { actbuff[i++] = IROHA_FN_Next; } | PREVCHARACTERSET { actbuff[i++] = IROHA_FN_Prev; } | CONVERTASHEX { actbuff[i++] = IROHA_FN_ConvertAsHex; } | CONVERTASBUSHU { actbuff[i++] = IROHA_FN_ConvertAsBushu; } | ZENKAKU { actbuff[i++] = IROHA_FN_Zenkaku; } | HANKAKU { actbuff[i++] = IROHA_FN_Hankaku; } | TOUPPER { actbuff[i++] = IROHA_FN_ToUpper; } | CAPITALIZE { actbuff[i++] = IROHA_FN_Capitalize; } | TOLOWER { actbuff[i++] = IROHA_FN_ToLower; } | MUHENKAN { actbuff[i++] = IROHA_FN_DeletePrevious; } | NEXTKOUHO { actbuff[i++] = IROHA_FN_NextKouho; } | PREVKOUHO { actbuff[i++] = IROHA_FN_PrevKouho; } | KOUHOICHIRAN { actbuff[i++] = IROHA_FN_KouhoIchiran; } | BUBUNMUHENKAN { actbuff[i++] = IROHA_FN_BubunMuhenkan; } | NEXTKOUHORETSU { actbuff[i++] = IROHA_FN_Next; } | PREVKOUHORETSU { actbuff[i++] = IROHA_FN_Prev; } | BEGINNINGOFKOUHO { actbuff[i++] = IROHA_FN_BeginningOfLine; } | ENDOFKOUHO { actbuff[i++] = IROHA_FN_EndOfLine; } | ALPHAMODE { actbuff[i++] = IROHA_FN_AlphaMode; } | JAPANESEMODE { actbuff[i++] = IROHA_FN_JapaneseMode; } | HEXMODE { actbuff[i++] = IROHA_FN_HexMode; } | BUSHUMODE { actbuff[i++] = IROHA_FN_BushuMode; } | KIGOUMODE { actbuff[i++] = IROHA_FN_KigouMode; } | HENKANNYURYOKUMODE { actbuff[i++] = IROHA_FN_HenkanNyuryokuMode; } | ZENHIRAKAKUTEIMODE { actbuff[i++] = IROHA_FN_ZenHiraKakuteiMode; } | ZENKATAKAKUTEIMODE { actbuff[i++] = IROHA_FN_ZenKataKakuteiMode; } | HANKATAKAKUTEIMODE { actbuff[i++] = IROHA_FN_HanKataKakuteiMode; } | ZENALPHAKAKUTEIMODE { actbuff[i++] = IROHA_FN_ZenAlphaKakuteiMode; } | HANALPHAKAKUTEIMODE { actbuff[i++] = IROHA_FN_HanAlphaKakuteiMode; } | HIRAGANA { actbuff[i++] = IROHA_FN_Hiragana; } | KATAKANA { actbuff[i++] = IROHA_FN_Katakana; } | ROMAJI { actbuff[i++] = IROHA_FN_Romaji; } ; %% extern IROHA_ParseError; static yyerror(s) char *s; { char buf[256]; sprintf(buf, "%s: syntax error, line %d", IROHA_rcfilename, yylineno); IROHA_ParseError = 1; } static RemoveDblQuote(str) char *str; { strcpy(str, &str[1]); str[strlen(str)-1] = '\0'; } static chgKeyfunc(key, fnum) int key, fnum; { if (localmode) changeKeyfunc(mode, key, fnum, actbuff, keybuff); else changeKeyfuncOfAll(key, fnum, actbuff, keybuff); } Canna37p3/ccustom/Imakefile0100644000076500001200000000214107732032055015134 0ustar shinraadmin/* $Id: Imakefile,v 1.2 2003/09/17 10:15:09 aida_s Exp $ */ #include "../Canna.conf" #ifdef SunArchitecture CC = /usr/5bin/cc #endif #ifdef SYSV386 CC = cc #endif #ifdef usemalloc SYS_LIBRARIES = -lmalloc -lcurses #else #ifdef RsArchitecture SYS_LIBRARIES = -lcurses #else #ifdef i386Architecture SYS_LIBRARIES = -lncurses #else SYS_LIBRARIES = -ltermcap -lcurses #endif #endif #endif CANNAROOT = .. INCLUDES = -I$(CANNAROOT)/include DEFINES = -DCANNALIBDIR=\"$(cannaLibDir)\" OBJS = ccustom.o parse.o lisp.o lex.o gram.o set.o wcanna.o util.o wiroha.o SRCS = keydef.h iroha.h canna.h mfdef.h set.h \ lisp.h symbolname.h \ ccustom.c parse.c wcanna.c set.c lisp.c util.c \ lex.l gram.y wiroha.c TARGET = ccustom AllTarget($(TARGET)) depend:: gram.h gram.c lex.c gram.h gram.c: gram.y iroha.h mfdef.h $(YACC) -d gram.y mv y.tab.h gram.h mv y.tab.c gram.c lex.c: gram.o lex.l clean:: $(RM) y.tab.h y.tab.c lex.yy.c gram.h gram.c lex.c NormalProgramTarget($(TARGET),$(OBJS),,,$(SYS_LIBRARIES)) InstallProgram($(TARGET),$(cannaBinDir)) InstallManPage($(TARGET),$(cannaManDir)) DependTarget() LintTarget() Canna37p3/ccustom/irkeydef.h0100644000076500001200000000747207554213563015321 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* @(#) 102.1 $Id: irkeydef.h,v 1.1.1.1 2002/10/19 08:27:31 aida_s Exp $ */ /* normal function keys */ #define IROHA_KEY_Nfer 0x80 #define IROHA_KEY_Xfer 0x81 #define IROHA_KEY_Up 0x82 #define IROHA_KEY_Left 0x83 #define IROHA_KEY_Right 0x84 #define IROHA_KEY_Down 0x85 #define IROHA_KEY_Insert 0x86 #define IROHA_KEY_Rollup 0x87 #define IROHA_KEY_Rolldown 0x88 #define IROHA_KEY_Home 0x89 #define IROHA_KEY_Help 0x8a #define IROHA_KEY_KP_Key 0x8b /* shifted function keys */ #define IROHA_KEY_Shift_Nfer 0x90 #define IROHA_KEY_Shift_Xfer 0x91 #define IROHA_KEY_Shift_Up 0x92 #define IROHA_KEY_Shift_Left 0x93 #define IROHA_KEY_Shift_Right 0x94 #define IROHA_KEY_Shift_Down 0x95 /* control-shifted function keys */ #define IROHA_KEY_Cntrl_Nfer 0x96 #define IROHA_KEY_Cntrl_Xfer 0x97 #define IROHA_KEY_Cntrl_Up 0x98 #define IROHA_KEY_Cntrl_Left 0x99 #define IROHA_KEY_Cntrl_Right 0x9a #define IROHA_KEY_Cntrl_Down 0x9b /* application keypad mode keys */ #ifdef DoNotConflictWithKatakanaKeys /* °Ê²¼¤Î¥­¡¼¤Ï¥«¥¿¥«¥Êʸ»ú¤È¤Ö¤Ä¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á»È¤¨¤Ê¤¤¡£*/ #define IROHA_KEY_KP_Up 0xc0 /* \eOA */ #define IROHA_KEY_KP_Left 0xc1 /* \eOB */ #define IROHA_KEY_KP_Right 0xc2 /* \eOC */ #define IROHA_KEY_KP_Down 0xc3 /* \eOD */ #define IROHA_KEY_KP_Tab 0xc4 /* \eOI */ #define IROHA_KEY_KP_Enter 0xc5 /* \eOM */ #define IROHA_KEY_KP_Equal 0xc6 /* \eOX */ #define IROHA_KEY_KP_Multiply 0xc7 /* \eOj */ #define IROHA_KEY_KP_Add 0xc8 /* \eOk */ #define IROHA_KEY_KP_Separator 0xc9 /* \eOl */ #define IROHA_KEY_KP_Subtract 0xca /* \eOm */ #define IROHA_KEY_KP_Decimal 0xcb /* \eOn */ #define IROHA_KEY_KP_Divide 0xcc /* \eOo */ #define IROHA_KEY_KP_0 0xd0 /* \eOp */ #define IROHA_KEY_KP_1 0xd1 /* \eOq */ #define IROHA_KEY_KP_2 0xd2 /* \eOr */ #define IROHA_KEY_KP_3 0xd3 /* \eOs */ #define IROHA_KEY_KP_4 0xd4 /* \eOt */ #define IROHA_KEY_KP_5 0xd5 /* \eOu */ #define IROHA_KEY_KP_6 0xd6 /* \eOv */ #define IROHA_KEY_KP_7 0xd7 /* \eOw */ #define IROHA_KEY_KP_8 0xd8 /* \eOx */ #define IROHA_KEY_KP_9 0xd9 /* \eOy */ #endif /* numeral-function keys */ #define IROHA_KEY_F1 0xe0 #define IROHA_KEY_F2 0xe1 #define IROHA_KEY_F3 0xe2 #define IROHA_KEY_F4 0xe3 #define IROHA_KEY_F5 0xe4 #define IROHA_KEY_F6 0xe5 #define IROHA_KEY_F7 0xe6 #define IROHA_KEY_F8 0xe7 #define IROHA_KEY_F9 0xe8 #define IROHA_KEY_F10 0xe9 #define IROHA_KEY_PF1 0xf0 #define IROHA_KEY_PF2 0xf1 #define IROHA_KEY_PF3 0xf2 #define IROHA_KEY_PF4 0xf3 #define IROHA_KEY_PF5 0xf4 #define IROHA_KEY_PF6 0xf5 #define IROHA_KEY_PF7 0xf6 #define IROHA_KEY_PF8 0xf7 #define IROHA_KEY_PF9 0xf8 #define IROHA_KEY_PF10 0xf9 #define IROHA_KEY_Undefine 0xff Canna37p3/ccustom/irmfdef.h0100644000076500001200000001555007554213563015127 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef _MFDEF_H_ /* @(#) 102.1 $Id: irmfdef.h,v 1.1.1.1 2002/10/19 08:27:31 aida_s Exp $ */ /* ¤³¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤Ï¥â¡¼¥É¤Ë³ä¤ê¿¶¤é¤ì¤¿ÈÖ¹æ¤ä¡¢´Ø¿ô¤Ë³ä¤ê¿¶¤é¤ì¤¿ ÈÖ¹æ¤ò´ÉÍý¤¹¤ë¡£ */ /* * ¥«¥Ê´Á»úÊÑ´¹¤Î¤¿¤á¤ÎÍÍ¡¹¤Ê¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë * ¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë¤Ï½èÍý´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ÎÇÛÎó¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ */ typedef struct { int (*func)(); unsigned char *keytbl; int flags; /* ²¼¤ò¸«¤è */ int (**ftbl)(); } *KanjiMode, KanjiModeRec; /* flags ¤Î¾ðÊó */ #define IROHA_KANJIMODE_TABLE_SHARED 01 #define IROHA_KANJIMODE_EMPTY_MODE 02 extern unsigned char default_kmap[]; extern int simplefunc(); extern int multiSequenceFunc(); /* ¥â¡¼¥É */ /* real modes */ /* ¼Â¥â¡¼¥É(real mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤ë¥â¡¼¥É */ #define IROHA_MODE_AlphaMode 0 /* ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É */ #define IROHA_MODE_EmptyMode 1 /* ÆÉ¤ßÆþÎϤ¬¤Ê¤¤¾õÂÖ */ #define IROHA_MODE_KigoMode 2 /* µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ */ #define IROHA_MODE_ZenHiraKakuteiMode 3 /* ³ÎÄêÆþÎϥ⡼¥É */ #define IROHA_MODE_ZenKataKakuteiMode 4 /* ³ÎÄêÆþÎϥ⡼¥É */ #define IROHA_MODE_HanKataKakuteiMode 5 /* ³ÎÄêÆþÎϥ⡼¥É */ #define IROHA_MODE_ZenAlphaKakuteiMode 6 /* ³ÎÄêÆþÎϥ⡼¥É */ #define IROHA_MODE_HanAlphaKakuteiMode 7 /* ³ÎÄêÆþÎϥ⡼¥É */ #define IROHA_MODE_YomiMode 8 /* ÆÉ¤ßÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ */ #define IROHA_MODE_JishuMode 9 /* ʸ»ú¼ïÊÑ´¹¤·¤Æ¤¤¤ë¾õÂÖ */ #define IROHA_MODE_TankouhoMode 10 /* ñ°ì¸õÊäɽ¼¨¾õÂÖ */ #define IROHA_MODE_IchiranMode 11 /* ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ */ #define IROHA_MODE_YesNoMode 12 /* ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ */ #define IROHA_MODE_OnOffMode 13 /* ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ */ #define IROHA_MODE_MAX_REAL_MODE IROHA_MODE_OnOffMode + 1 /* imaginary modes */ /* µõ¥â¡¼¥É(imaginary mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤Ê¤¤¥â¡¼¥É */ #define IROHA_MODE_HenkanMode IROHA_MODE_EmptyMode #define IROHA_MODE_ZenHiraHenkanMode IROHA_MODE_EmptyMode #define IROHA_MODE_ZenKataHenkanMode 14 /* ÊÑ´¹ÆþÎϥ⡼¥É */ #define IROHA_MODE_HanKataHenkanMode 15 /* ÊÑ´¹ÆþÎϥ⡼¥É */ #define IROHA_MODE_ZenAlphaHenkanMode 16 /* ÊÑ´¹ÆþÎϥ⡼¥É */ #define IROHA_MODE_HanAlphaHenkanMode 17 /* ÊÑ´¹ÆþÎϥ⡼¥É */ #define IROHA_MODE_HexMode 18 /* £±£¶¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É */ #define IROHA_MODE_BushuMode 19 /* Éô¼ó¤ÎÆÉ¤ß¤ÎÆþÎϾõÂÖ */ #define IROHA_MODE_ExtendMode 20 /* ³ÈÄ¥µ¡Ç½ÁªÂò */ #define IROHA_MODE_RussianMode 21 /* ¥í¥·¥¢Ê¸»úÁªÂò */ #define IROHA_MODE_GreekMode 22 /* ¥®¥ê¥·¥¢Ê¸»úÁªÂò */ #define IROHA_MODE_LineMode 23 /* ·ÓÀþÁªÂò */ #define IROHA_MODE_ChangingServerMode 24 /* ¥µ¡¼¥ÐÊѹ¹ */ #define IROHA_MODE_HenkanMethodMode 25 /* ÊÑ´¹Êý¼°ÁªÂò */ #define IROHA_MODE_DeleteDicMode 26 /* ñ¸ìºï½ü */ #define IROHA_MODE_TourokuMode 27 /* ñ¸ìÅÐÏ¿¥â¡¼¥É */ #define IROHA_MODE_TourokuEmptyMode IROHA_MODE_TourokuMode #define IROHA_MODE_TourokuHinshiMode 28 /* ñ¸ìÅÐÏ¿¤ÎÉÊ»ìÁªÂò¾õÂÖ */ #define IROHA_MODE_TourokuDicMode 29 /* ñ¸ìÅÐÏ¿¤Î¼­½ñÁªÂò¾õÂÖ */ #define IROHA_MODE_QuotedInsertMode 30 /* °úÍÑÆþÎϥ⡼¥É */ #define IROHA_MODE_BubunMuhenkanMode 31 /* Éôʬ̵ÊÑ´¹¾õÂÖ */ #define IROHA_MODE_MountDicMode 32 /* ¼­½ñ¤Îmount,unmount¾õÂÖ */ #define IROHA_MODE_MAX_IMAGINARY_MODE IROHA_MODE_MountDicMode + 1 /* ¥­¡¼´Ø¿ô */ /* ̤ÄêµÁ¤Ë¤¹¤ë */ #define IROHA_FN_Undefined 0 /* ²¿¤â¤·¤Ê¤¤ or ¥­¡¼¤ò¥¹¥ë¡¼¤ÇÄ̤¹ */ /* ʸ»úÁÞÆþ */ #define IROHA_FN_SelfInsert 1 /* °ìʸ»úÁÞÆþ¤¹¤ë */ #define IROHA_FN_FunctionalInsert 2 /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ê¤É */ #define IROHA_FN_QuotedInsert 3 /* °úÍÑÁÞÆþ */ /* ¥â¡¼¥ÉÀڤ괹¤¨ */ #define IROHA_FN_JapaneseMode 4 /* ÆüËܸìÆþÎϥ⡼¥É */ #define IROHA_FN_AlphaMode 5 /* ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É */ #define IROHA_FN_HenkanNyuryokuMode 6 /* ÊÑ´¹ÆþÎϥ⡼¥É */ #define IROHA_FN_ZenHiraKakuteiMode 7 /* Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É */ #define IROHA_FN_ZenKataKakuteiMode 8 /* Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É */ #define IROHA_FN_HanKataKakuteiMode 9 /* Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É */ #define IROHA_FN_ZenAlphaKakuteiMode 10 /* Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎÏ¥â */ #define IROHA_FN_HanAlphaKakuteiMode 11 /* Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎÏ¥â */ #define IROHA_FN_HexMode 12 /* £±£¶¿ÊÆþÎϥ⡼¥É */ #define IROHA_FN_BushuMode 13 /* Éô¼óÆþÎϥ⡼¥É */ #define IROHA_FN_KigouMode 14 /* µ­¹æÆþÎϥ⡼¥É */ /* ÊÔ½¸ */ #define IROHA_FN_Forward 15 /* ±¦¤Ø */ #define IROHA_FN_Backward 16 /* º¸¤Ø */ #define IROHA_FN_Next 17 /* ¼¡¤Î¹Ô */ #define IROHA_FN_Prev 18 /* Á°¤Î¹Ô */ #define IROHA_FN_BeginningOfLine 19 /* ¹ÔƬ */ #define IROHA_FN_EndOfLine 20 /* ¹ÔËö */ #define IROHA_FN_DeleteNext 21 /* ºï½ü */ #define IROHA_FN_DeletePrevious 22 /* ºï½ü */ #define IROHA_FN_KillToEndOfLine 23 /* ¹ÔËö¤Þ¤Çºï½ü */ /* ¥«¥Ê´Á»úÊÑ´¹µ¡Ç½ */ #define IROHA_FN_Henkan 24 /* ÊÑ´¹ */ #define IROHA_FN_Kakutei 25 /* ³ÎÄê */ #define IROHA_FN_Extend 26 /* ¿­¤Ð¤· */ #define IROHA_FN_Shrink 27 /* ½Ì¤á */ #define IROHA_FN_Quit 28 /* ¼è¤ê¤ä¤á */ #define IROHA_FN_ExtendMode 29 /* ³ÈÄ¥¥â¡¼¥É */ #define IROHA_FN_Touroku 29 /* ÅÐÏ¿ */ #define IROHA_FN_ConvertAsHex 30 /* £±£¶¿Ê¥³¡¼¥É¤È¤·¤ÆÊÑ´¹ */ #define IROHA_FN_ConvertAsBushu 31 /* Éô¼ó̾¤È¤·¤ÆÊÑ´¹ */ #define IROHA_FN_KouhoIchiran 32 /* ¸õÊä°ìÍ÷ */ #define IROHA_FN_BubunMuhenkan 33 /* Éôʬ̵ÊÑ´¹ */ /* ʸ»ú¼ïÊÑ´¹¤À¤±¤Ë»È¤ï¤ì¤ëµ¡Ç½ */ #define IROHA_FN_Zenkaku 34 /* Á´³Ñ¤Ø¤ÎÊÑ´¹ */ #define IROHA_FN_Hankaku 35 /* Ⱦ³Ñ¤Ø¤ÎÊÑ´¹ */ #define IROHA_FN_ToUpper 36 /* Âçʸ»ú¤Ø¤ÎÊÑ´¹ */ #define IROHA_FN_Capitalize 37 /* ÀèÆ¬¤À¤±Âçʸ»ú¤Ë¤¹¤ë */ #define IROHA_FN_ToLower 38 /* ¾®Ê¸»ú¤Ø¤ÎÊÑ´¹ */ #define IROHA_FN_Hiragana 39 /* ¤Ò¤é¤¬¤ÊÊÑ´¹ */ #define IROHA_FN_Katakana 40 /* ¥«¥¿¥«¥ÊÊÑ´¹ */ #define IROHA_FN_Romaji 41 /* ¥í¡¼¥Þ»úÊÑ´¹ */ /* Ê£»¨¤Êµ¡Ç½ */ #define IROHA_FN_FuncSequence 42 /* Ê£¿ô¤Îµ¡Ç½¤Î³ä¤êÅö¤Æ */ #define IROHA_FN_UseOtherKeymap 43 /* ¥­¡¼¥·¡¼¥±¥ó¥¹¤ÎÂбþ */ #define IROHA_FN_MAX_FUNC IROHA_FN_UseOtherKeymap + 1 #define IROHA_FN_NextKouho 44 #define IROHA_FN_PrevKouho 45 #define _MFDEF_H_ #endif /* _MFDEF_H_ */ Canna37p3/ccustom/iroha.h0100644000076500001200000000430207554213563014606 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * @(#) 102.1 $Id: iroha.h,v 1.1.1.1 2002/10/19 08:27:31 aida_s Exp $ * $Revision: 1.1.1.1 $ * $Author: aida_s $ */ #define MAX_DICS 16 extern char *kanjidicname[]; extern int nkanjidics; extern char *userdicname[]; extern int nuserdics; extern char userdicstatus[]; extern char *bushudicname[]; extern int nbushudics; extern char *localdicname[]; extern int nlocaldics; /* * ¥¨¥é¡¼¤Î¥á¥Ã¥»¡¼¥¸¤òÆþ¤ì¤Æ¤ª¤¯ÊÑ¿ô */ extern char *necKanjiError; /* * ¥Ç¥Ð¥°Ê¸¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥° */ extern iroha_debug; /* * ¥­¡¼¥·¡¼¥±¥ó¥¹¤òȯÀ¸¤¹¤ë¤è¤¦¤Ê¥­¡¼ */ #define IrohaFunctionKey(key) \ ((0x80 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0x8b) || \ (0x90 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0x9b) || \ (0xe0 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0xff) ) /* * ¥Ç¥Ð¥°¥á¥Ã¥»¡¼¥¸½ÐÎÏÍѤΥޥ¯¥í */ #ifdef DEBUG #define debug_message(fmt, x, y, z) dbg_msg(fmt, x, y, z) #else /* !DEBUG */ #define debug_message(fmt, x, y, z) #endif /* !DEBUG */ Canna37p3/ccustom/keydef.h0100644000076500001200000001556407554213563014767 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* @(#) 102.1 $Id: keydef.h,v 1.1.1.1 2002/10/19 08:27:31 aida_s Exp $ */ /* normal function keys */ #define CANNA_KEY_Nfer 0x80 #define CANNA_KEY_Xfer 0x81 #define CANNA_KEY_Up 0x82 #define CANNA_KEY_Left 0x83 #define CANNA_KEY_Right 0x84 #define CANNA_KEY_Down 0x85 #define CANNA_KEY_Insert 0x86 #define CANNA_KEY_Rollup 0x87 #define CANNA_KEY_Rolldown 0x88 #define CANNA_KEY_Home 0x89 #define CANNA_KEY_Help 0x8a #define CANNA_KEY_KP_Key 0x8b /* shifted function keys */ #define CANNA_KEY_Shift_Nfer 0x90 #define CANNA_KEY_Shift_Xfer 0x91 #define CANNA_KEY_Shift_Up 0x92 #define CANNA_KEY_Shift_Left 0x93 #define CANNA_KEY_Shift_Right 0x94 #define CANNA_KEY_Shift_Down 0x95 /* control-shifted function keys */ #define CANNA_KEY_Cntrl_Nfer 0x96 #define CANNA_KEY_Cntrl_Xfer 0x97 #define CANNA_KEY_Cntrl_Up 0x98 #define CANNA_KEY_Cntrl_Left 0x99 #define CANNA_KEY_Cntrl_Right 0x9a #define CANNA_KEY_Cntrl_Down 0x9b /* application keypad mode keys */ #ifdef DoNotConflictWithKatakanaKeys /* °Ê²¼¤Î¥­¡¼¤Ï¥«¥¿¥«¥Êʸ»ú¤È¤Ö¤Ä¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á»È¤¨¤Ê¤¤¡£*/ #define CANNA_KEY_KP_Up 0xc0 /* \eOA */ #define CANNA_KEY_KP_Left 0xc1 /* \eOB */ #define CANNA_KEY_KP_Right 0xc2 /* \eOC */ #define CANNA_KEY_KP_Down 0xc3 /* \eOD */ #define CANNA_KEY_KP_Tab 0xc4 /* \eOI */ #define CANNA_KEY_KP_Enter 0xc5 /* \eOM */ #define CANNA_KEY_KP_Equal 0xc6 /* \eOX */ #define CANNA_KEY_KP_Multiply 0xc7 /* \eOj */ #define CANNA_KEY_KP_Add 0xc8 /* \eOk */ #define CANNA_KEY_KP_Separator 0xc9 /* \eOl */ #define CANNA_KEY_KP_Subtract 0xca /* \eOm */ #define CANNA_KEY_KP_Decimal 0xcb /* \eOn */ #define CANNA_KEY_KP_Divide 0xcc /* \eOo */ #define CANNA_KEY_KP_0 0xd0 /* \eOp */ #define CANNA_KEY_KP_1 0xd1 /* \eOq */ #define CANNA_KEY_KP_2 0xd2 /* \eOr */ #define CANNA_KEY_KP_3 0xd3 /* \eOs */ #define CANNA_KEY_KP_4 0xd4 /* \eOt */ #define CANNA_KEY_KP_5 0xd5 /* \eOu */ #define CANNA_KEY_KP_6 0xd6 /* \eOv */ #define CANNA_KEY_KP_7 0xd7 /* \eOw */ #define CANNA_KEY_KP_8 0xd8 /* \eOx */ #define CANNA_KEY_KP_9 0xd9 /* \eOy */ #endif /* numeral-function keys */ #define CANNA_KEY_F1 0xe0 #define CANNA_KEY_F2 0xe1 #define CANNA_KEY_F3 0xe2 #define CANNA_KEY_F4 0xe3 #define CANNA_KEY_F5 0xe4 #define CANNA_KEY_F6 0xe5 #define CANNA_KEY_F7 0xe6 #define CANNA_KEY_F8 0xe7 #define CANNA_KEY_F9 0xe8 #define CANNA_KEY_F10 0xe9 #define CANNA_KEY_PF1 0xf0 #define CANNA_KEY_PF2 0xf1 #define CANNA_KEY_PF3 0xf2 #define CANNA_KEY_PF4 0xf3 #define CANNA_KEY_PF5 0xf4 #define CANNA_KEY_PF6 0xf5 #define CANNA_KEY_PF7 0xf6 #define CANNA_KEY_PF8 0xf7 #define CANNA_KEY_PF9 0xf8 #define CANNA_KEY_PF10 0xf9 #define CANNA_KEY_Undefine 0xff #ifdef IROHA_BC #define IROHA_KEY_Nfer CANNA_KEY_Nfer #define IROHA_KEY_Xfer CANNA_KEY_Xfer #define IROHA_KEY_Up CANNA_KEY_Up #define IROHA_KEY_Left CANNA_KEY_Left #define IROHA_KEY_Right CANNA_KEY_Right #define IROHA_KEY_Down CANNA_KEY_Down #define IROHA_KEY_Insert CANNA_KEY_Insert #define IROHA_KEY_Rollup CANNA_KEY_Rollup #define IROHA_KEY_Rolldown CANNA_KEY_Rolldown #define IROHA_KEY_Home CANNA_KEY_Home #define IROHA_KEY_Help CANNA_KEY_Help #define IROHA_KEY_KP_Key CANNA_KEY_KP_Key /* shifted function keys */ #define IROHA_KEY_Shift_Nfer CANNA_KEY_Shift_Nfer #define IROHA_KEY_Shift_Xfer CANNA_KEY_Shift_Xfer #define IROHA_KEY_Shift_Up CANNA_KEY_Shift_Up #define IROHA_KEY_Shift_Left CANNA_KEY_Shift_Left #define IROHA_KEY_Shift_Right CANNA_KEY_Shift_Right #define IROHA_KEY_Shift_Down CANNA_KEY_Shift_Down /* control-shifted function keys */ #define IROHA_KEY_Cntrl_Nfer CANNA_KEY_Cntrl_Nfer #define IROHA_KEY_Cntrl_Xfer CANNA_KEY_Cntrl_Xfer #define IROHA_KEY_Cntrl_Up CANNA_KEY_Cntrl_Up #define IROHA_KEY_Cntrl_Left CANNA_KEY_Cntrl_Left #define IROHA_KEY_Cntrl_Right CANNA_KEY_Cntrl_Right #define IROHA_KEY_Cntrl_Down CANNA_KEY_Cntrl_Down /* application keypad mode keys */ #ifdef DoNotConflictWithKatakanaKeys /* °Ê²¼¤Î¥­¡¼¤Ï¥«¥¿¥«¥Êʸ»ú¤È¤Ö¤Ä¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á»È¤¨¤Ê¤¤¡£*/ #define IROHA_KEY_KP_Up CANNA_KEY_KP_Up #define IROHA_KEY_KP_Left CANNA_KEY_KP_Left #define IROHA_KEY_KP_Right CANNA_KEY_KP_Right #define IROHA_KEY_KP_Down CANNA_KEY_KP_Down #define IROHA_KEY_KP_Tab CANNA_KEY_KP_Tab #define IROHA_KEY_KP_Enter CANNA_KEY_KP_Enter #define IROHA_KEY_KP_Equal CANNA_KEY_KP_Equal #define IROHA_KEY_KP_Multiply CANNA_KEY_KP_Multiply #define IROHA_KEY_KP_Add CANNA_KEY_KP_Add #define IROHA_KEY_KP_Separator CANNA_KEY_KP_Separator #define IROHA_KEY_KP_Subtract CANNA_KEY_KP_Subtract #define IROHA_KEY_KP_Decimal CANNA_KEY_KP_Decimal #define IROHA_KEY_KP_Divide CANNA_KEY_KP_Divide #define IROHA_KEY_KP_0 CANNA_KEY_KP_0 #define IROHA_KEY_KP_1 CANNA_KEY_KP_1 #define IROHA_KEY_KP_2 CANNA_KEY_KP_2 #define IROHA_KEY_KP_3 CANNA_KEY_KP_3 #define IROHA_KEY_KP_4 CANNA_KEY_KP_4 #define IROHA_KEY_KP_5 CANNA_KEY_KP_5 #define IROHA_KEY_KP_6 CANNA_KEY_KP_6 #define IROHA_KEY_KP_7 CANNA_KEY_KP_7 #define IROHA_KEY_KP_8 CANNA_KEY_KP_8 #define IROHA_KEY_KP_9 CANNA_KEY_KP_9 #endif /* numeral-function keys */ #define IROHA_KEY_F1 CANNA_KEY_F1 #define IROHA_KEY_F2 CANNA_KEY_F2 #define IROHA_KEY_F3 CANNA_KEY_F3 #define IROHA_KEY_F4 CANNA_KEY_F4 #define IROHA_KEY_F5 CANNA_KEY_F5 #define IROHA_KEY_F6 CANNA_KEY_F6 #define IROHA_KEY_F7 CANNA_KEY_F7 #define IROHA_KEY_F8 CANNA_KEY_F8 #define IROHA_KEY_F9 CANNA_KEY_F9 #define IROHA_KEY_F10 CANNA_KEY_F10 #define IROHA_KEY_PF1 CANNA_KEY_PF1 #define IROHA_KEY_PF2 CANNA_KEY_PF2 #define IROHA_KEY_PF3 CANNA_KEY_PF3 #define IROHA_KEY_PF4 CANNA_KEY_PF4 #define IROHA_KEY_PF5 CANNA_KEY_PF5 #define IROHA_KEY_PF6 CANNA_KEY_PF6 #define IROHA_KEY_PF7 CANNA_KEY_PF7 #define IROHA_KEY_PF8 CANNA_KEY_PF8 #define IROHA_KEY_PF9 CANNA_KEY_PF9 #define IROHA_KEY_PF10 CANNA_KEY_PF10 #define IROHA_KEY_Undefine CANNA_KEY_Undefine #endif /* IROHA_BC */ Canna37p3/ccustom/lex.l0100644000076500001200000003645007554213563014311 0ustar shinraadmin%{ /* -*-mode: text-*- */ static char lex_rcs_id[]= "@(#) 102.1 $Id: lex.l,v 1.1.1.1 2002/10/19 08:27:31 aida_s Exp $"; /* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #include "gram.h" #include "irkeydef.h" #ifndef Ctl #define Ctl(x) ((x) & 0x1F) #endif extern int IROHA_ParseError; extern char IROHA_rcfilename[]; #ifdef __FreeBSD__ /* need this for flex, hir, 1993.1.3 */ int yylineno; #endif %} %e 3800 %p 6500 %n 2000 %k 3500 %a 4400 qstring \"[^"]*\" index [1-9] index2 1[0-5] f [Ff] pf [Pp][Ff] control "^" control2 [cC]- code [!"#$%&'()*+\-./0-9:;<=>?@A-Z\[\\\]\^_`a-z{|}~] number [0-9][0-9]* %% "," { return (COMMA); } "{" { return (LB); } "}" { return (RB); } "(" { return (LP); } ")" { return (RP); } {f}{index} { (void)sscanf(&yytext[1], "%d", &yylval.num); yylval.num += IROHA_KEY_F1 - 1 ; return (KEY); } {f}{index2} { (void)sscanf(&yytext[1], "%d", &yylval.num); yylval.num += IROHA_KEY_F1 - 1 ; return (KEY); } {pf}{index} { (void)sscanf(&yytext[2], "%d", &yylval.num); yylval.num += IROHA_KEY_PF1 - 1; return (KEY); } {pf}{index2} { (void)sscanf(&yytext[2], "%d", &yylval.num); yylval.num += IROHA_KEY_PF1 - 1; return (KEY); } [Ee][Ss][Cc] { yylval.num = 0x1b ; return (KEY); } [Ee][Ss][Cc][Aa][Pp][Ee] { yylval.num = 0x1b ; return (KEY); } [Tt][Aa][Bb] { yylval.num = '\t'; return (KEY); } [Nn][Ff][Ee][Rr] { yylval.num = IROHA_KEY_Nfer ; return (KEY); } [Xx][Ff][Ee][Rr] { yylval.num = IROHA_KEY_Xfer ; return (KEY); } [Bb][Aa][Cc][Kk][Ss][Pp][Aa][Cc][Ee] { yylval.num = '\b' ; return (KEY); } [Ii][Nn][Ss][Ee][Rr][Tt] { yylval.num = IROHA_KEY_Insert;return (KEY); } [Dd][Ee][Ll][Ee][Tt][Ee] { yylval.num = 0x7f ; return (KEY); } [Rr][Oo][Ll][Ll][Uu][Pp] { yylval.num = IROHA_KEY_Rollup;return (KEY); } [Rr][Oo][Ll][Ll][Dd][Oo][Ww][Nn] { yylval.num = IROHA_KEY_Rolldown ; return (KEY); } [Uu][Pp] { yylval.num = IROHA_KEY_Up ;return (KEY); } [Dd][Oo][Ww][Nn] { yylval.num = IROHA_KEY_Down ; return (KEY); } [Ll][Ee][Ff][Tt] { yylval.num = IROHA_KEY_Left ; return (KEY); } [Rr][Ii][Gg][Hh][Tt] { yylval.num = IROHA_KEY_Right; return (KEY); } [Cc][Ll][Ee][Aa][Rr] { yylval.num = Ctl('K') ; return (KEY); } [Hh][Ee][Ll][Pp] { yylval.num = IROHA_KEY_Help ; return (KEY); } [Ee][Nn][Tt][Ee][Rr] { yylval.num = '\r' ; return (KEY); } [Ss][Pp][Aa][Cc][Ee] { yylval.num = ' ' ; return (KEY); } [Rr][Ee][Tt][Uu][Rr][Nn] { yylval.num = '\r' ; return (KEY); } [Ss]-[Nn][Ff][Ee][Rr] { yylval.num = IROHA_KEY_Shift_Nfer ; return (KEY); } [Ss]-[Xx][Ff][Ee][Rr] { yylval.num = IROHA_KEY_Shift_Xfer ; return (KEY); } [Ss]-[Uu][Pp] { yylval.num = IROHA_KEY_Shift_Up ;return (KEY); } [Ss]-[Dd][Oo][Ww][Nn] { yylval.num = IROHA_KEY_Shift_Down ; return (KEY); } [Ss]-[Ll][Ee][Ff][Tt] { yylval.num = IROHA_KEY_Shift_Left ; return (KEY); } [Ss]-[Rr][Ii][Gg][Hh][Tt] { yylval.num = IROHA_KEY_Shift_Right; return (KEY); } [Cc]-[Nn][Ff][Ee][Rr] { yylval.num = IROHA_KEY_Cntrl_Nfer ; return (KEY); } [Cc]-[Xx][Ff][Ee][Rr] { yylval.num = IROHA_KEY_Cntrl_Xfer ; return (KEY); } [Cc]-[Uu][Pp] { yylval.num = IROHA_KEY_Cntrl_Up ;return (KEY); } [Cc]-[Dd][Oo][Ww][Nn] { yylval.num = IROHA_KEY_Cntrl_Down ; return (KEY); } [Cc]-[Ll][Ee][Ff][Tt] { yylval.num = IROHA_KEY_Cntrl_Left ; return (KEY); } [Cc]-[Rr][Ii][Gg][Hh][Tt] { yylval.num = IROHA_KEY_Cntrl_Right; return (KEY); } \^[Nn][Ff][Ee][Rr] { yylval.num = IROHA_KEY_Cntrl_Nfer ; return (KEY); } \^[Xx][Ff][Ee][Rr] { yylval.num = IROHA_KEY_Cntrl_Xfer ; return (KEY); } \^[Uu][Pp] { yylval.num = IROHA_KEY_Cntrl_Up ;return (KEY); } \^[Dd][Oo][Ww][Nn] { yylval.num = IROHA_KEY_Cntrl_Down ; return (KEY); } \^[Ll][Ee][Ff][Tt] { yylval.num = IROHA_KEY_Cntrl_Left ; return (KEY); } \^[Rr][Ii][Gg][Hh][Tt] { yylval.num = IROHA_KEY_Cntrl_Right; return (KEY); } {control}{code} { yylval.num = Ctl(yytext[1]) ; return (KEY); } {control2}{code} { yylval.num = Ctl(yytext[2]) ; return (KEY); } {code} { yylval.num = yytext[0] ; return (KEY); } \\\, { yylval.num = ',' ; return (KEY); } \\\# { yylval.num = '#' ; return (KEY); } \\\{ { yylval.num = '{' ; return (KEY); } \\\} { yylval.num = '}' ; return (KEY); } \\\( { yylval.num = '(' ; return (KEY); } \\\) { yylval.num = ')' ; return (KEY); } [Uu][Nn][Dd][Ee][Ff][Ii][Nn][Ee] { yylval.num = IROHA_KEY_Undefine ; return (KEY); } [Rr][Oo][Mm][Kk][Aa][Nn][Aa][Tt][Aa][Bb][Ll][Ee] { return (ROMKANATABLE); } [Ii][Nn][Ii][Tt][Ii][Aa][Ll][Mm][Oo][Dd][Ee] { return (INITIALMODE); } [Hh][Ee][Nn][Kk][Aa][Nn][Nn][Yy][Uu][Rr][Yy][Oo][Kk][Uu][Mm][Oo][Dd][Ee] { return (HENKANNYURYOKUMODE); } [Zz][Ee][Nn][Hh][Ii][Rr][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii][Mm][Oo][Dd][Ee] { return (ZENHIRAKAKUTEIMODE); } [Zz][Ee][Nn][Hh][Ii][Rr][Aa][Hh][Ee][Nn][Kk][Aa][Nn][Mm][Oo][Dd][Ee] { return (ZENHIRAHENKANMODE); } [Hh][Ii][Rr][Aa][Gg][Aa][Nn][Aa][Mm][Oo][Dd][Ee] { return (ZENHIRAKAKUTEIMODE); } [Zz][Ee][Nn][Kk][Aa][Kk][Uu][Hh][Ii][Rr][Aa][Gg][Aa][Nn][Aa][Mm][Oo][Dd][Ee] { return (ZENHIRAKAKUTEIMODE); } [Zz][Ee][Nn][Kk][Aa][Tt][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii][Mm][Oo][Dd][Ee] { return (ZENKATAKAKUTEIMODE); } [Zz][Ee][Nn][Kk][Aa][Tt][Aa][Hh][Ee][Nn][Kk][Aa][Nn][Mm][Oo][Dd][Ee] { return (ZENKATAHENKANMODE); } [Zz][Ee][Nn][Kk][Aa][Kk][Uu][Kk][Aa][Tt][Aa][Kk][Aa][Nn][Aa][Mm][Oo][Dd][Ee] { return (ZENKATAKAKUTEIMODE); } [Zz][Ee][Nn][Aa][Ll][Pp][Hh][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii][Mm][Oo][Dd][Ee] { return (ZENALPHAKAKUTEIMODE); } [Zz][Ee][Nn][Aa][Ll][Pp][Hh][Aa][Hh][Ee][Nn][Kk][Aa][Nn][Mm][Oo][Dd][Ee] { return (ZENALPHAHENKANMODE); } [Zz][Ee][Nn][Kk][Aa][Kk][Uu][Aa][Ll][Pp][Hh][Aa][Bb][Ee][Tt][Mm][Oo][Dd][Ee] { return (ZENALPHAKAKUTEIMODE); } [Zz][Ee][Nn][Kk][Aa][Kk][Uu][Rr][Oo][Mm][Aa][Jj][Ii][Mm][Oo][Dd][Ee] { return (ZENALPHAKAKUTEIMODE); } [Hh][Aa][Nn][Kk][Aa][Tt][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii][Mm][Oo][Dd][Ee] { return (HANKATAKAKUTEIMODE); } [Hh][Aa][Nn][Kk][Aa][Tt][Aa][Hh][Ee][Nn][Kk][Aa][Nn][Mm][Oo][Dd][Ee] { return (HANKATAHENKANMODE); } [Hh][Aa][Nn][Kk][Aa][Kk][Uu][Kk][Aa][Tt][Aa][Kk][Aa][Nn][Aa][Mm][Oo][Dd][Ee] { return (HANKATAKAKUTEIMODE); } [Hh][Aa][Nn][Aa][Ll][Pp][Hh][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii][Mm][Oo][Dd][Ee] { return (HANALPHAKAKUTEIMODE); } [Hh][Aa][Nn][Aa][Ll][Pp][Hh][Aa][Hh][Ee][Nn][Kk][Aa][Nn][Mm][Oo][Dd][Ee] { return (HANALPHAHENKANMODE); } [Hh][Aa][Nn][Kk][Aa][Kk][Uu][Rr][Oo][Mm][Aa][Jj][Ii][Mm][Oo][Dd][Ee] { return (HANALPHAKAKUTEIMODE); } [Hh][Aa][Nn][Kk][Aa][Kk][Uu][Aa][Ll][Pp][Hh][Aa][Bb][Ee][Tt][Mm][Oo][Dd][Ee] { return (HANALPHAKAKUTEIMODE); } [Cc][Uu][Rr][Ss][Oo][Rr][Ww][Rr][Aa][Pp] { return (CURSORWRAP); } [Bb][Uu][Nn][Ss][Ee][Tt][Ss][Uu][Kk][Uu][Gg][Ii][Rr][Ii] { return (BUNSETSUKUGIRI); } [Oo][Nn] { yylval.num = 1; return (ON_FLAG); } [Oo][Ff][Ff] { yylval.num = -1; return (OFF_FLAG); } [Ss][Ee][Ll][Ee][Cc][Tt][Dd][Ii][Rr][Ee][Cc][Tt] { return (SELECTDIRECT); } [Hh][Ee][Xx][Kk][Ee][Yy][Ss][Ee][Ll][Ee][Cc][Tt] { return (HEXKEYSELECT); } [Nn][Uu][Mm][Ee][Rr][Ii][Cc][Aa][Ll][Kk][Ee][Yy][Ss][Ee][Ll][Ee][Cc][Tt] { return (HEXKEYSELECT); } [Dd][Ii][Cc][Tt][Ii][Oo][Nn][Aa][Rr][Yy] { return (DICTIONARY); } [Uu][Ss][Ee][Rr][Dd][Ii][Cc] { return (USERDIC); } [Bb][Uu][Ss][Hh][Uu][Dd][Ii][Cc] { return (BUSHUDIC); } [Ll][Oo][Cc][Aa][Ll][Dd][Ii][Cc] { return (LOCALDIC); } [Rr][Ee][Nn][Gg][Oo][Dd][Ii][Cc] { return (RENGODIC); } [Kk][Aa][Nn][Aa][Dd][Ii][Cc] { return (KANADIC); } [Cc][Hh][Aa][Rr][Aa][Cc][Tt][Ee][Rr][Bb][Aa][Ss][Ee][Dd][Mm][Oo][Vv][Ee] { return (CHARACTERBASEDMOVE); } [Rr][Ee][Vv][Ee][Rr][Ss][Ee][Ww][Ii][Dd][Ee][Ll][Yy] { return (REVERSEWIDELY); } [Bb][Rr][Ee][Aa][Kk][Ii][Nn][Tt][Oo][Rr][Oo][Mm][Aa][Nn] { return (BREAKINTOROMAN); } [Gg][Aa][Kk][Uu][Ss][Hh][Uu] { return (GAKUSHU); } [Qq][Uu][Ii][Tt][Ii][Ff][Ee][Nn][Dd][Oo][Ff][Ii][Cc][Hh][Ii][Rr][Aa][Nn] { return (QUITIFENDOFICHIRAN); } [Kk][Aa][Kk][Uu][Tt][Ee][Ii][Ii][Ff][Ee][Nn][Dd][Oo][Ff][Bb][Uu][Nn][Ss][Ee][Tt][Ss][Uu] { return (KAKUTEIIFENDOFBUNSETSU); } [Ss][Tt][Aa][Yy][Aa][Ff][Tt][Ee][Rr][Vv][Aa][Ll][Ii][Dd][Aa][Tt][Ee] { return (STAYAFTERVALIDATE); } [Gg][Rr][Aa][Mm][Aa][Tt][Ii][Cc][Aa][Ll][Qq][Uu][Ee][Ss][Tt][Ii][Oo][Nn] { return (GRAMATICALQUESTION); } [Aa][Ll][Pp][Hh][Aa][Mm][Oo][Dd][Ee] { return (ALPHAMODE); } [Qq][Uu][Oo][Tt][Ee][Dd][Ii][Nn][Ss][Ee][Rr][Tt] { return (QUOTEDINSERT); } [Kk][Aa][Kk][Uu][Tt][Ee][Ii] { return (KAKUTEI); } [Ee][Xx][Tt][Ee][Nn][Dd] { return (EXTEND); } [Pp][Rr][Ee][Vv][Bb][Aa][Ss][Ee] { return (EXTEND); } [Ss][Hh][Rr][Ii][Nn][Kk] { return (SHRINK); } [Nn][Ee][Xx][Tt][Bb][Aa][Ss][Ee] { return (SHRINK); } [Tt][Oo][Uu][Rr][Oo][Kk][Uu] { return (TOUROKU); } [Ee][Xx][Tt][Ee][Nn][Dd][Mm][Oo][Dd][Ee] { return (EXTENDMODE); } [Ff][Oo][Rr][Ww][Aa][Rr][Dd] { return (FORWARD); } [Bb][Aa][Cc][Kk][Ww][Aa][Rr][Dd] { return (BACKWARD); } [Pp][Rr][Ee][Vv][Ii][Oo][Uu][Ss] { return (PREVIOUS); } [Nn][Ee][Xx][Tt] { return (NEXT); } [Bb][Ee][Gg][Ii][Nn][Nn][Ii][Nn][Gg][Oo][Ff][Ll][Ii][Nn][Ee] { return (BEGINNINGOFLINE); } [Ee][Nn][Dd][Oo][Ff][Ll][Ii][Nn][Ee] { return (ENDOFLINE); } [Dd][Ee][Ll][Ee][Tt][Ee][Nn][Ee][Xx][Tt] { return (DELETENEXT); } [Dd][Ee][Ll][Ee][Tt][Ee][Pp][Rr][Ee][Vv][Ii][Oo][Uu][Ss] { return (DELETEPREVIOUS); } [Kk][Ii][Ll][Ll][Tt][Oo][Ee][Nn][Dd][Oo][Ff][Ll][Ii][Nn][Ee] { return (KILLTOENDOFLINE); } [Hh][Ee][Nn][Kk][Aa][Nn] { return (HENKAN); } [Qq][Uu][Ii][Tt] { return (QUIT); } [Ss][Ee][Ll][Ff][Ii][Nn][Ss][Ee][Rr][Tt] { return (SELFINSERT); } [Aa][Ll][Pp][Hh][Aa] { return (ALPHA); } [Jj][Aa][Pp][Aa][Nn][Ee][Ss][Ee][Mm][Oo][Dd][Ee] { return (JAPANESEMODE); } [Yy][Oo][Mm][Ii][Gg][Aa][Nn][Aa][Ii] { return (YOMIGANAI); } [Hh][Ee][Xx][Mm][Oo][Dd][Ee] { return (HEXMODE); } [Bb][Uu][Ss][Hh][Uu][Mm][Oo][Dd][Ee] { return (BUSHUMODE); } [Kk][Ii][Gg][Oo][Uu][Mm][Oo][Dd][Ee] { return (KIGOUMODE); } [Kk][Ii][Gg][Oo][Uu] { return (KIGO); } [Kk][Ii][Gg][Oo] { return (KIGO); } [Yy][Oo][Mm][Ii] { return (YOMI); } [Nn][Ee][Xx][Tt][Cc][Hh][Aa][Rr][Aa][Cc][Tt][Ee][Rr][Ss][Ee][Tt] { return (NEXTCHARACTERSET); } [Pp][Rr][Ee][Vv][Cc][Hh][Aa][Rr][Aa][Cc][Tt][Ee][Rr][Ss][Ee][Tt] { return (PREVCHARACTERSET); } [Cc][Oo][Nn][Vv][Ee][Rr][Tt][Aa][Ss][Hh][Ee][Xx] { return (CONVERTASHEX); } [Cc][Oo][Nn][Vv][Ee][Rr][Tt][Aa][Ss][Bb][Uu][Ss][Hh][Uu] { return (CONVERTASBUSHU); } [Mm][Oo][Jj][Ii][Ss][Hh][Uu] { return (MOJISHU); } [Zz][Ee][Nn][Kk][Aa][Kk][Uu] { return (ZENKAKU); } [Hh][Aa][Nn][Kk][Aa][Kk][Uu] { return (HANKAKU); } [Tt][Oo][Uu][Pp][Pp][Ee][Rr] { return (TOUPPER); } [Cc][Aa][Pp][Ii][Tt][Aa][Ll][Ii][Zz][Ee] { return (CAPITALIZE); } [Tt][Oo][Ll][Oo][Ww][Ee][Rr] { return (TOLOWER); } [Tt][Aa][Nn][Kk][Oo][Uu][Hh][Oo] { return (TANKOUHO); } [Mm][Uu][Hh][Ee][Nn][Kk][Aa][Nn] { return (MUHENKAN); } [Nn][Ee][Xx][Tt][Kk][Oo][Uu][Hh][Oo] { return (NEXTKOUHO); } [Pp][Rr][Ee][Vv][Kk][Oo][Uu][Hh][Oo] { return (PREVKOUHO); } [Kk][Oo][Uu][Hh][Oo][Ii][Cc][Hh][Ii][Rr][Aa][Nn] { return (KOUHOICHIRAN); } [Bb][Uu][Bb][Uu][Nn][Mm][Uu][Hh][Ee][Nn][Kk][Aa][Nn] { return (BUBUNMUHENKAN); } [Ii][Cc][Hh][Ii][Rr][Aa][Nn] { return (ICHIRAN); } [Pp][Rr][Ee][Vv][Kk][Oo][Uu][Hh][Oo][Rr][Ee][Tt][Ss][Uu] { return (PREVKOUHORETSU); } [Nn][Ee][Xx][Tt][Kk][Oo][Uu][Hh][Oo][Rr][Ee][Tt][Ss][Uu] { return (NEXTKOUHORETSU); } [Bb][Ee][Gg][Ii][Nn][Nn][Ii][Nn][Gg][Oo][Ff][Kk][Oo][Uu][Hh][Oo] { return (BEGINNINGOFKOUHO); } [Ee][Nn][Dd][Oo][Ff][Kk][Oo][Uu][Hh][Oo] { return (ENDOFKOUHO); } [Hh][Ii][Rr][Aa][Gg][Aa][Nn][Aa] { return (HIRAGANA); } [Kk][Aa][Tt][Aa][Kk][Aa][Nn][Aa] { return (KATAKANA); } [Rr][Oo][Mm][Aa][Jj][Ii] { return (ROMAJI); } [Kk][Aa][Kk][Uu][Tt][Ee][Ii][Nn][Yy][Uu][Rr][Yy][Oo][Kk][Uu] { return (KAKUTEINYURYOKU); } [Hh][Ee][Nn][Kk][Aa][Nn][Nn][Yy][Uu][Rr][Yy][Oo][Kk][Uu][Mm][Oo][Dd][Ee] { return (HENKANNYURYOKUMODE); } [Hh][Ee][Xx] { return (HEX); } [Bb][Uu][Ss][Hh][Uu] { return (BUSHU); } [Hh][Ee][Nn][Kk][Aa][Nn][Nn][Yy][Uu][Rr][Yy][Oo][Kk][Uu] { return (HENKANNYURYOKU); } [Zz][Ee][Nn][Hh][Ii][Rr][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii] { return (ZENHIRAKAKUTEI); } [Zz][Ee][Nn][Kk][Aa][Tt][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii] { return (ZENKATAKAKUTEI); } [Zz][Ee][Nn][Aa][Ll][Pp][Hh][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii] { return (ZENALPHAKAKUTEI); } [Hh][Aa][Nn][Kk][Aa][Tt][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii] { return (HANKATAKAKUTEI); } [Hh][Aa][Nn][Aa][Ll][Pp][Hh][Aa][Kk][Aa][Kk][Uu][Tt][Ee][Ii] { return (HANALPHAKAKUTEI); } [Nn][Hh][Ee][Nn][Kk][Aa][Nn][Ff][Oo][Rr][Ii][Cc][Hh][Ii][Rr][Aa][Nn] { return (NHENKANFORICHIRAN); } [Yy][Ee][Ss][Nn][Oo] { return (YESNO); } [Rr][Uu][Ss][Ss][Ii][Aa][Nn] { return (RUSSIAN); } [Gg][Rr][Ee][Ee][Kk] { return (GREEK); } [Ll][Ii][Nn][Ee] { return (LINE); } [Cc][Hh][Aa][Nn][Gg][Ii][Nn][Gg][Ss][Ee][Rr][Vv][Ee][Rr] { return (CHANGINGSERVER); } [Hh][Ee][Nn][Kk][Aa][Nn][Mm][Ee][Tt][Hh][Oo][Dd] { return (HENKANMETHOD); } [Dd][Ee][Ll][Ee][Tt][Ee][Dd][Ii][Cc] { return (DELETEDIC); } [Tt][Oo][Uu][Rr][Oo][Kk][Uu][Hh][Ii][Nn][Ss][Hh][Ii] { return (TOUROKUHINSHI); } [Tt][Oo][Uu][Rr][Oo][Kk][Uu][Dd][Ii][Cc] { return (TOUROKUDIC); } [Zz][Ee][Nn][Kk][Aa][Tt][Aa][Hh][Ee][Nn][Kk][Aa][Nn] { return (ZENKATAHENKAN); } [Zz][Ee][Nn][Aa][Ll][Pp][Hh][Aa][Hh][Ee][Nn][Kk][Aa][Nn] { return (ZENALPHAHENKAN); } [Hh][Aa][Nn][Kk][Aa][Tt][Aa][Hh][Ee][Nn][Kk][Aa][Nn] { return (HANKATAHENKAN); } [Hh][Aa][Nn][Aa][Ll][Pp][Hh][Aa][Hh][Ee][Nn][Kk][Aa][Nn] { return (HANALPHAHENKAN); } [Ee][Mm][Pp][Tt][Yy] { return (YOMIGANAI); } [Mm][Oo][Uu][Nn][Tt][Dd][Ii][Cc] { return (MOUNTDIC); } [Mm][Oo][Dd][Ee][Ss][Tt][Rr][Ii][Nn][Gg] { return (MODESTRING); } [Nn][Uu][Ll][Ll] { yylval.ptr = (char *)0; return STRING; } {number} { (void)sscanf(yytext, "%d", &yylval.num); return (NUMBER); } {qstring} { yylval.ptr = (char *)yytext; return STRING; } \#[^\n]*\n { return NEWLINE; } \n { return NEWLINE; } [\t ] {;} . { char buf[256]; sprintf(buf, "%s: %d ¹ÔÌܤÎʸ»ú `%s' ¤¬Ç§¼±¤Ç¤­¤Þ¤»¤ó¡£", IROHA_rcfilename, yylineno, yytext); IROHA_ParseError = 1; } %% #ifdef yywrap /* hir, 1993.1.3 */ #undef yywrap #endif yywrap() { return (1); } #ifdef unput #undef unput #undef input #undef output #endif #define unput(c) IROHA_unput(c) #define input() IROHA_input() #define output(c) IROHA_output(c) Canna37p3/ccustom/lisp.c0100644000076500001200000021136107554536744014464 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[] = "$Id: lisp.c,v 1.2 2002/10/20 14:29:56 aida_s Exp $"; #endif /* ** main program of lisp */ #include #include "lisp.h" #include "keydef.h" #include "mfdef.h" #include "canna.h" #include "symbolname.h" static int version = 1 ; static FILE *outstream = (FILE *)0; static char *celltop, *cellbtm, *freecell; static char *memtop; static initIS(), finIS(); static allocarea(), skipspaces(), zaplin(), prins(), isterm(); static list mkatm(), read1(), ratom(), ratom2(), rstring(); static int tyipeek(), tyi(), tyo pro((int)); static void defatms(), epush(); static void push(), pop(); static int evpsh(); static void freearea(), print(); static list getatm(), getatmz(), newsymbol(), copystring(); static list assq(), pop1(); static list Lnvcons(), Lprogn(), Lcons(), Lread(); static list Leval(), Lprint(), Lmodestr(), Lputd(), Lxcons(), Lncons(); static list NumAcc(), StrAcc(); /* parameter stack */ static list *stack, *sp; /* environment stack */ static list *estack, *esp; /* oblist */ static list *oblist; /* oblist hashing array */ #define ERROR -1 static FILE **files; static int filep; /* lisp read buffer & read pointer */ static char *readbuf; /* read buffer */ static char *readptr; /* read pointer */ /* error functions */ static void argnerr(), numerr(), error(); /* multiple values */ #define MAXVALUES 16 static list *values; /* multiple values here */ static int valuec; /* number of values here */ /* symbols */ static list QUOTE, T, _LAMBDA, _MACRO, COND, USER, BUSHU, RENGO; #include static struct lispcenv { jmp_buf jmp_env; int base_stack; int base_estack; } *env; /* environment for setjmp & longjmp */ static int jmpenvp = MAX_DEPTH; /* external functions ³°Éô´Ø¿ô¤Ï°Ê²¼¤Î£³¤Ä (1) clisp_init() -- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤à¤¿¤á¤Î½àÈ÷¤ò¤¹¤ë lisp ¤Î½é´ü²½¤ò¹Ô¤¤É¬Íפʥá¥â¥ê¤ò allocate ¤¹¤ë¡£ (2) clisp_fin() -- ¥«¥¹¥¿¥Þ¥¤¥ºÆÉ¤ß¹þ¤ßÍѤÎÎΰè¤ò²òÊü¤¹¤ë¡£ ¾åµ­¤Î½é´ü²½¤ÇÆÀ¤¿¥á¥â¥ê¤ò²òÊü¤¹¤ë¡£ (3) LLparse_by_rcfilename((char *)s) -- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¡£ s ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ó¤Ç¥«¥¹¥¿ ¥Þ¥¤¥º¤ÎÀßÄê¤ò¹Ô¤¦¡£¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð 1 ¤òÊÖ¤·¤½¤¦¤Ç¤Ê¤±¤ì¤Ð 0 ¤òÊÖ¤¹¡£¥ª¥ê¥¸¥Ê¥ë¤Îlisp.c¤Ç¤ÏYYparse_by_rcfilename¤Ç¤¹¡£ */ static void freearea(); #ifdef __STDC__ static list getatmz(char *); #else static list getatmz(); #endif int clisp_init() { int i; if ( !allocarea() ) { return 0; } if ( !initIS() ) { freearea(); return 0; } /* stack pointer initialization */ sp = stack + STKSIZE; esp = estack + STKSIZE; epush(NIL); /* initialize read pointer */ readptr = readbuf; *readptr = '\0'; files[filep = 0] = stdin; /* oblist initialization */ for (i = 0; i < BUFSIZE ; i++) oblist[i] = 0; /* symbol definitions */ defatms(); return 1; } #define UNTYIUNIT 32 static char *untyibuf = 0; static int untyisize = 0, untyip = 0; void clisp_fin() { finIS(); freearea(); if (untyisize) { free(untyibuf); untyisize = 0; untyibuf = (char *)0; } } extern before_parse(); static jmp_buf fatal_env; static void fatal(msg,v) char *msg; list v; /* ARGSUSED */ { prins(msg); if (v != (list)NON) { print(v); } prins("\n"); longjmp(fatal_env, 1); } int LLparse_by_rcfilename(s) char *s; { extern ckverbose; int retval = 0; FILE *f; FILE *saved_outstream; if (setjmp(fatal_env)) { retval = 0; goto quit_parse_rcfile; } if (jmpenvp <= 0) { /* ºÆµ¢¤¬¿¼¤¹¤®¤ë¾ì¹ç */ return -1; } jmpenvp--; if (ckverbose >= CANNA_HALF_VERBOSE) { saved_outstream = outstream; outstream = stdout; } if (f = fopen(s, "r")) { if (ckverbose == CANNA_FULL_VERBOSE) { printf("¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ \"%s\" ¤òÍѤ¤¤Þ¤¹¡£\n", s); } before_parse(); files[++filep] = f; setjmp(env[jmpenvp].jmp_env); env[jmpenvp].base_stack = sp - stack; env[jmpenvp].base_estack = esp - estack; for (;;) { push(Lread(0)); if (valuec > 1 && null(values[1])) { break; } (void)Leval(1); } fclose(f); retval = 1; } if (ckverbose >= CANNA_HALF_VERBOSE) { outstream = saved_outstream; } jmpenvp++; quit_parse_rcfile: return retval; } #define WITH_MAIN #ifdef WITH_MAIN #include static void intr(sig) int sig; /* ARGSUSED */ { error("Interrupt:",NON); /* NOTREACHED */ } static void intr(); void clisp_main() { if (clisp_init() == NULL) { /* initialize data area & etc.. */ fprintf(stderr, "CannaLisp: initialization failed.\n"); exit(1); } if (jmpenvp <= 0) { /* ºÆµ¢¤¬¿¼¤¹¤®¤ë¾ì¹ç */ return; } jmpenvp--; fprintf(stderr,"CannaLisp listener %d \n",version); outstream = stdout; setjmp(env[jmpenvp].jmp_env); env[jmpenvp].base_stack = sp - stack; env[jmpenvp].base_estack = esp - estack; signal(SIGINT, intr); for (;;) { prins("-> "); /* prompt */ push(Lread(0)); if (valuec > 1 && null(values[1])) { break; } push(Leval(1)); if (sp[0] == ERROR) { (void)pop1(); } else { (void)Lprint(1); prins("\n"); } } jmpenvp++; prins("\nGoodbye.\n"); clisp_fin(); } #endif /* WITH_MAIN */ static int longestkeywordlen; typedef struct { char *seq; int id; } SeqToID; static SeqToID keywordtable[] = { {"Space" ,' '}, {"Escape" ,'\033'}, {"Tab" ,'\t'}, {"Nfer" ,CANNA_KEY_Nfer}, {"Xfer" ,CANNA_KEY_Xfer}, {"Backspace" ,'\b'}, {"Delete" ,'\177'}, {"Insert" ,CANNA_KEY_Insert}, {"Rollup" ,CANNA_KEY_Rollup}, {"Rolldown" ,CANNA_KEY_Rolldown}, {"Up" ,CANNA_KEY_Up}, {"Left" ,CANNA_KEY_Left}, {"Right" ,CANNA_KEY_Right}, {"Down" ,CANNA_KEY_Down}, {"Home" ,CANNA_KEY_Home}, {"Clear" ,'\013'}, {"Help" ,CANNA_KEY_Help}, {"Enter" ,'\n'}, {"Return" ,'\r'}, /* "F1" is processed by program */ {"F2" ,CANNA_KEY_F2}, {"F3" ,CANNA_KEY_F3}, {"F4" ,CANNA_KEY_F4}, {"F5" ,CANNA_KEY_F5}, {"F6" ,CANNA_KEY_F6}, {"F7" ,CANNA_KEY_F7}, {"F8" ,CANNA_KEY_F8}, {"F9" ,CANNA_KEY_F9}, {"F10" ,CANNA_KEY_F10}, /* "Pf1" is processed by program */ {"Pf2" ,CANNA_KEY_PF2}, {"Pf3" ,CANNA_KEY_PF3}, {"Pf4" ,CANNA_KEY_PF4}, {"Pf5" ,CANNA_KEY_PF5}, {"Pf6" ,CANNA_KEY_PF6}, {"Pf7" ,CANNA_KEY_PF7}, {"Pf8" ,CANNA_KEY_PF8}, {"Pf9" ,CANNA_KEY_PF9}, {"Pf10" ,CANNA_KEY_PF10}, {"S-Nfer" ,CANNA_KEY_Shift_Nfer}, {"S-Xfer" ,CANNA_KEY_Shift_Xfer}, {"S-Up" ,CANNA_KEY_Shift_Up}, {"S-Down" ,CANNA_KEY_Shift_Down}, {"S-Left" ,CANNA_KEY_Shift_Left}, {"S-Right" ,CANNA_KEY_Shift_Right}, {"C-Nfer" ,CANNA_KEY_Cntrl_Nfer}, {"C-Xfer" ,CANNA_KEY_Cntrl_Xfer}, {"C-Up" ,CANNA_KEY_Cntrl_Up}, {"C-Down" ,CANNA_KEY_Cntrl_Down}, {"C-Left" ,CANNA_KEY_Cntrl_Left}, {"C-Right" ,CANNA_KEY_Cntrl_Right}, {0 ,0}, }; #define charToNum(c) charToNumTbl[(c) - ' '] static int *charToNumTbl; typedef struct { int id; int *tbl; } seqlines; static seqlines *seqTbl; /* ÆâÉô¤Îɽ(¼ÂºÝ¤Ë¤Ïɽ¤Îɽ) */ static int nseqtbl; /* ¾õÂ֤οô¡£¾õÂ֤οô¤À¤±É½¤¬¤¢¤ë */ static int nseq; static int seqline; static initIS() { SeqToID *p; char *s; int i; seqlines seqTbls[1024]; seqTbl = (seqlines *)0; seqline = 0; nseqtbl = 0; nseq = 0; longestkeywordlen = 0; for (i = 0 ; i < 1024 ; i++) { seqTbls[i].tbl = (int *)0; seqTbls[i].id = 0; } charToNumTbl = (int *)calloc('~' - ' ' + 1, sizeof(int)); if ( !charToNumTbl ) { return 0; } /* ¤Þ¤º²¿Ê¸»ú»È¤ï¤ì¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¡£ nseq ¤Ï»È¤ï¤ì¤Æ¤¤¤ëʸ»ú¿ô¤è¤ê£±Â礭¤¤ÃͤǤ¢¤ë */ for (p = keywordtable ; p->id ; p++) { int len = 0; for (s = p->seq ; *s ; s++) { if ( !charToNumTbl[*s - ' '] ) { charToNumTbl[*s - ' '] = nseq; /* ³ÆÊ¸»ú¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò¿¶¤ë */ nseq++; } len ++; } if (len > longestkeywordlen) { longestkeywordlen = len; } } /* ʸ»ú¿ôʬ¤Î¥Æ¡¼¥Ö¥ë */ seqTbls[nseqtbl].tbl = (int *)calloc(nseq, sizeof(int)); if ( !seqTbls[nseqtbl].tbl ) { goto initISerr; } nseqtbl++; for (p = keywordtable ; p->id ; p++) { int line, nextline; line = 0; for (s = p->seq ; *s ; s++) { if (seqTbls[line].tbl == 0) { /* ¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤ */ seqTbls[line].tbl = (int *)calloc(nseq, sizeof(int)); if ( !seqTbls[line].tbl ) { goto initISerr; } } nextline = seqTbls[line].tbl[charToNum(*s)]; /* ¤Á¤Ê¤ß¤Ë¡¢charToNum(*s) ¤ÏÀäÂФˣ°¤Ë¤Ê¤é¤Ê¤¤ */ if ( nextline ) { line = nextline; } else { /* ºÇ½é¤Ë¥¢¥¯¥»¥¹¤·¤¿ */ line = seqTbls[line].tbl[charToNum(*s)] = nseqtbl++; } } seqTbls[line].id = p->id; } seqTbl = (seqlines *)calloc(nseqtbl, sizeof(seqlines)); if ( !seqTbl ) { goto initISerr; } for (i = 0 ; i < nseqtbl ; i++) { seqTbl[i].id = seqTbls[i].id; seqTbl[i].tbl = seqTbls[i].tbl; } return 1; initISerr: free(charToNumTbl); charToNumTbl = (int *)0; if (seqTbl) { free(seqTbl); seqTbl = (seqlines *)0; } for (i = 0 ; i < nseqtbl ; i++) { if (seqTbls[i].tbl) { free(seqTbls[i].tbl); seqTbls[i].tbl = (int *)0; } } return 0; } static finIS() /* identifySequence ¤ËÍѤ¤¤¿¥á¥â¥ê»ñ¸»¤ò³«Êü¤¹¤ë */ { int i; for (i = 0 ; i < nseqtbl ; i++) { if (seqTbl[i].tbl) free(seqTbl[i].tbl); seqTbl[i].tbl = (int *)0; } free(seqTbl); seqTbl = (seqlines *)0; free(charToNumTbl); charToNumTbl = (int *)0; } /* cvariable seqline: identifySequence ¤Ç¤Î¾õÂÖ¤òÊÝ»ý¤¹¤ëÊÑ¿ô */ #define CONTINUE 1 #define END 0 static identifySequence(c, val) unsigned c; int *val; { int nextline; if (' ' <= c && c <= '~' && charToNum(c) && (nextline = seqTbl[seqline].tbl[charToNum(c)]) ) { seqline = nextline; if (*val = seqTbl[seqline].id) { seqline = 0; return END; } else { return CONTINUE; /* continue */ } } else { *val = -1; seqline = 0; return END; } } static int alloccell() { int cellsize, odd; char *p; cellsize = CELLSIZE * sizeof(list); p = malloc(cellsize); if (p == (char *)0) { return 0; } memtop = p; odd = (unsigned int)memtop % sizeof(list); freecell = celltop = memtop + (odd ? sizeof(list) - odd : 0); cellbtm = memtop + cellsize - odd; return 1; } /* ¤¦¤Þ¤¯¹Ô¤«¤Ê¤«¤Ã¤¿¤é£°¤òÊÖ¤¹ */ static allocarea() { /* ¤Þ¤º¤Ï¥»¥ëÎΰè */ if ( !alloccell() ) { return 0; } /* ¥¹¥¿¥Ã¥¯Îΰè */ stack = (list *)calloc(STKSIZE, sizeof(list)); if ( !stack ) { free(memtop); return 0; } estack = (list *)calloc(STKSIZE, sizeof(list)); if ( !estack ) { free(memtop); free(stack); return 0; } /* oblist */ oblist = (list *)calloc(BUFSIZE, sizeof(list)); if ( !oblist ) { free(memtop); free(stack); free(estack); return 0; } /* I/O */ files = (FILE **)calloc(MAX_DEPTH, sizeof(FILE *)); filep = 0; if ( !files ) { free(memtop); free(stack); free(estack); free(oblist); return 0; } readbuf = malloc(BUFSIZE); if ( !readbuf ) { free(memtop); free(stack); free(estack); free(oblist); free(files); return 0; } /* jump env */ env = (struct lispcenv *)calloc(MAX_DEPTH, sizeof(struct lispcenv)); jmpenvp = MAX_DEPTH; if ( !env ) { free(memtop); free(stack); free(estack); free(oblist); free(files); free(readbuf); return 0; } /* multiple values returning buffer */ values = (list *)calloc(MAXVALUES, sizeof(list)); valuec = 1; if ( !values ) { free(memtop); free(stack); free(estack); free(oblist); free(files); free(readbuf); free(env); return 0; } return 1; } static void freearea() { free((char *)memtop); free((char *)stack); free((char *)estack); free((char *)oblist); free((char *)files); free((char *)env); free((char *)readbuf); if (values) { free(values); values = 0; } } static list getatmz(name) char *name; { int key; char *p; for (p = name, key = 0 ; *p ; p++) key += *p; return getatm(name,key); } /* mkatm - making symbol function */ static list mkatm(name) char *name; { list temp; struct atomcell *newatom; temp = newsymbol(name); newatom = symbolpointer(temp); newatom->value = (*name == ':') ? (list)temp : (list)UNBOUND; newatom->plist = NIL; /* set null plist */ newatom->ftype = UNDEF; /* set undef func-type */ newatom->func = (list (*)())0; /* Don't kill this line */ newatom->valfunc = (list (*)())0; /* Don't kill this line */ newatom->hlink = NIL; /* no hash linking */ newatom->mid = -1; newatom->fid = -1; return temp; } /* getatm -- get atom from the oblist if possible */ static list getatm(name,key) char *name; int key; { list p; struct atomcell *atomp; key &= 0x00ff; for (p = oblist[key] ; p ;) { atomp = symbolpointer(p); if (!strcmp(atomp->pname, name)) { return p; } p = atomp->hlink; } p = mkatm(name); atomp = symbolpointer(p); atomp->hlink = oblist[key]; oblist[key] = p; return p; } static void error(msg,v) char *msg; list v; /* ARGSUSED */ { void print(); prins(msg); if (v != (list)NON) print(v); prins("\n"); sp = &stack[env[jmpenvp].base_stack]; esp = &estack[env[jmpenvp].base_estack]; /* epush(NIL); */ longjmp(env[jmpenvp].jmp_env,YES); } static void argnerr(msg) char *msg; { prins("incorrect number of args to "); error(msg, NON); } static void numerr(fn,arg) char *fn; list arg; { prins("Non-number "); if (fn) { prins("to "); prins(fn); } error(": ",arg); } static void strerr(fn,arg) char *fn; list arg; { prins("Non-string "); if (fn) { prins("to "); prins(fn); } error(": ",arg); } static void argerr(fn,arg) char *fn; list arg; { prins("Bad arg to "); prins(fn); error(" ",arg); } static list Lread(n) int n; { list t, read1(); void push(); argnchk("read",0); valuec = 1; if ((t = read1()) == (list)ERROR) { readptr = readbuf; *readptr = '\0'; if (files[filep] != stdin) { fclose(files[filep--]); } values[0] = NIL; values[1] = NIL; valuec = 2; return(NIL); } else { values[0] = t; values[1] = T; valuec = 2; return(t); } /* NOTREACHED */ } static void untyi pro((int)); static list rcharacter pro((void)); static list read1() { int c, tyi(), tyipeek(); list p, *pp, Lncons(); list t; char *eofmsg = "EOF hit in reading a list : "; lab: if ( !skipspaces() ) { return((list)ERROR); } switch (c = tyi()) { case '(': push(NIL); p = Lncons(1); /* get a new cell */ car(p) = p; push(p); pp = sp; for (;;) { lab2: if ( !skipspaces() ) error(eofmsg,cdr(*pp)); switch (c = tyi()) { case ';': zaplin(); goto lab2; case ')': return(cdr(pop1())); case '.': if ( !(c = tyipeek()) ) error(eofmsg,cdr(*pp)); else if ( !isterm(c) ) { push(ratom2('.')); push(NIL); car(*pp) = cdar(*pp) = Lcons(2); break; } else { cdar(*pp) = read1(); if (cdar(*pp) == (list)ERROR) error(eofmsg,cdr(*pp)); while (')' != (c = tyi())) if ( !c ) error(eofmsg,cdr(*pp)); return(cdr(pop1())); } default: untyi(c); if ((t = read1()) == (list)ERROR) error(eofmsg,cdr(*pp)); push(t); push(NIL); car(*pp) = cdar(*pp) = Lcons(2); } } case '\'': push(QUOTE); if ((t = read1()) == (list)ERROR) error(eofmsg,NIL); push(t); push(NIL); push(Lcons(2)); return Lcons(2); case '"': return rstring(); case '?': return rcharacter(); case ';': zaplin(); goto lab; default: untyi(c); return ratom(); } } /* skipping spaces function - if eof read then return NO */ static skipspaces() { int c, tyi(); while ((c = tyi()) <= ' ') { if ( !c ) return(NO); if (c != '\033' && c != '\n' && c != '\r' && c!= '\t' && c < ' ') { fatal("Binary data read.", NON); } } untyi(c); return(YES); } /* skip reading until '\n' - if eof read then return NO */ static zaplin() { int c, tyi(); while ((c = tyi()) != '\n') if ( !c ) return(NO); return(YES); } static void gc(); static list newcons() { list retval; if (freecell + sizeof(struct cell) >= cellbtm) { gc(); } retval = CONS_TAG | (freecell - celltop); freecell += sizeof(struct cell); return retval; } static list newsymbol(name) char *name; { list retval; struct atomcell *temp; int namesize; namesize = strlen(name); namesize = (namesize / sizeof(list) + 1) * sizeof(list); /* +1¤Ï'\0'¤Îʬ */ if (freecell + sizeof(struct atomcell) + namesize >= cellbtm) { gc(); } temp = (struct atomcell *)freecell; retval = SYMBOL_TAG | (freecell - celltop); freecell += sizeof(struct atomcell); (void *)strcpy(freecell, name); temp->pname = freecell; freecell += namesize; return retval; } static void patom(); static void print(l) list l; { if ( !l ) /* case NIL */ prins("nil"); else if (atom(l)) patom(l); else { tyo('('); print(car(l)); for (l = cdr(l) ; l ; l = cdr(l)) { tyo(' '); if (atom(l)) { tyo('.'); tyo(' '); patom(l); break; } else print(car(l)); } tyo(')'); } } /* ** read atom */ static list ratom() { list ratom2(); return(ratom2(tyi())); } /* read atom with the first one character - check if the token is numeric or pure symbol & return proper value */ static isnum(); static list ratom2(a) int a; { list mkatm(), getatmz(); int i, c, flag; char atmbuf[BUFSIZE]; flag = NO; if (a == '\\') { flag = YES; a = tyi(); } atmbuf[0] = a; for (i = 1, c = tyi(); !isterm(c) ; i++, c = tyi()) { if ( !c ) { error("Eof hit in reading symbol.", NON); } if (c == '\\') { flag = YES; } if (i < BUFSIZE) { atmbuf[i] = c; } else { error("Too long symbol name read.", NON); } } untyi(c); if (i < BUFSIZE) { atmbuf[i] = '\0'; } else { error("Too long symbol name read.", NON); } if ( !flag && isnum(atmbuf)) { return(mknum(atoi(atmbuf))); } else if ( !flag && !strcmp("nil",atmbuf) ) { return(NIL); } else { return (getatmz(atmbuf)); } } static list rstring() { char strb[BUFSIZE], c; int strp = 0; while ((c = tyi()) != '"') { if ( !c ) { error("Eof hit in reading a string.", NON); } if (strp < BUFSIZE) { if (c == '\\') { untyi(c); c = rcharacter(); } strb[strp++] = c; } else { error("Too long string read.", NON); } } strb[strp] = '\0'; return copystring(strb, strp); } static list rcharacter() { char *tempbuf, ch; list retval; int bufp; tempbuf = malloc(longestkeywordlen + 1); if ( !tempbuf ) { error("read: malloc failed in reading character.", NON); } bufp = 0; ch = tyi(); if (ch == '\\') { int code, res; do { /* ¥­¡¼¥ï¡¼¥É¤È¾È¹ç¤¹¤ë */ tempbuf[bufp++] = ch = tyi(); res = identifySequence((unsigned)(unsigned char)ch, &code); } while (res == CONTINUE); if (code != -1) { /* ¥­¡¼¥ï¡¼¥É¤È°ìÃפ·¤¿¡£ */ retval = mknum(code); } else if (bufp > 2 && tempbuf[0] == 'C' && tempbuf[1] == '-') { while (bufp > 3) { untyi(tempbuf[--bufp]); } return mknum(tempbuf[2] & (' ' - 1)); } else if (bufp == 3 && tempbuf[0] == 'F' && tempbuf[1] == '1') { untyi(tempbuf[2]); return CANNA_KEY_F1; } else if (bufp == 4 && tempbuf[0] == 'P' && tempbuf[1] == 'f' && tempbuf[2] == '1') { untyi(tempbuf[3]); return CANNA_KEY_PF1; } else { /* Á´Á³ÂÌÌÜ */ while (bufp > 1) { untyi(tempbuf[--bufp]); } return mknum(tempbuf[0]); } } else { retval = mknum(ch); } free(tempbuf); return retval; } static isnum(name) char *name; { if (*name == '-') { name++; if ( !*name ) return(NO); } for(; *name ; name++) { if (*name < '0' || '9' < *name) { if (*name != '.' || *(name + 1)) { return(NO); } } } return(YES); } /* tyi -- input one character from buffered stream */ static void untyi(c) int c; { if (readbuf < readptr) { *--readptr = c; } else { if (untyip >= untyisize) { if (untyisize == 0) { untyibuf = malloc(UNTYIUNIT); if (untyibuf) { untyisize = UNTYIUNIT; } } else { untyibuf = realloc(untyibuf, UNTYIUNIT + untyisize); if (untyibuf) { untyisize += UNTYIUNIT; } } } if (untyip < untyisize) { /* ¤½¤ì¤Ç¤â¥Á¥§¥Ã¥¯¤¹¤ë */ untyibuf[untyip++] = c; } } } static int tyi() { char *gets(), *fgets(); if (untyibuf) { int ret = untyibuf[--untyip]; if (untyip == 0) { free(untyibuf); untyibuf = (char *)0; untyisize = 0; } return ret; } if (readptr && *readptr) { return ((int)(unsigned char)*readptr++); } else if (files[filep] == stdin) { int len; readptr = gets(readbuf); if ( !readptr ) { return NO; } else { len = strlen(readptr); readptr[len] = '\n'; readptr[len + 1] = '\0'; return tyi(); } } else { readptr = fgets(readbuf,BUFSIZE,files[filep]); if (readptr) { return(tyi()); } else { return(NO); } } /* NOTREACHED */ } /* tyipeek -- input one character without advance the read pointer */ static int tyipeek() { int c = tyi(); untyi(c); return c; } /* tyo -- output one character */ static tyo(c) int c; { if (outstream) { (void)putc(c, outstream); } } /* prins - print string */ static prins(s) char *s; { while (*s) { tyo(*s++); } } /* isterm - check if the character is terminating the lisp expression */ static isterm(c) int c; { if (c <= ' ') return(YES); else { switch (c) { case '(': case ')': case ';': return(YES); default: return(NO); } } } /* push down an S-expression to parameter stack */ static void push(value) list value; { if (sp <= stack) { error("stack over flow",NON); } else *--sp = value; } /* pop up n S-expressions from parameter stack */ static void pop(x) int x; { if (0 < x && sp >= &stack[STKSIZE]) { error("stack under flow",NON); } sp += x; } /* pop up an S-expression from parameter stack */ static list pop1() { if (sp >= &stack[STKSIZE]) { error("stack under flow",NON); } else return(*sp++); } static void epush(value) list value; { if (esp <= estack) { error("estack over flow",NON); } else *--esp = value; } static list epop() { if (esp >= &estack[STKSIZE]) { error("lstack under flow",NON); } else return(*esp++); } /* ** output function for lisp S-Expression */ /* ** print atom function ** please make sure it is an atom (not list) ** no check is done here. */ static void patom(atm) list atm; { char namebuf[BUFSIZE]; if (constp(atm)) { if (numberp(atm)) { (void)sprintf(namebuf,"%d",xnum(atm)); prins(namebuf); } else { /* this is a string */ int i, len = xstrlen(atm); char *s = xstring(atm); tyo('"'); for (i = 0 ; i < len ; i++) { tyo(s[i]); } tyo('"'); } } else { prins(symbolpointer(atm)->pname); } } static void markcopycell(); char *oldcelltop; static char *oldcellp; #define oldpointer(x) (oldcelltop + celloffset(x)) static void gc() /* ¥³¥Ô¡¼Êý¼°¤Î¥¬¡¼¥Ù¥¸¥³¥ì¥¯¥·¥ç¥ó¤Ç¤¢¤ë */ { int i; list *p; static int under_gc = 0; if (under_gc) { error("GC: memory exhausted.", NON); } else { under_gc = 1; } oldcellp = memtop; oldcelltop = celltop; if ( !alloccell() ) { error("GC: failed in allocating new cell area.", NON); } for (i = 0 ; i < BUFSIZE ; i++) { markcopycell(oblist + i); } for (p = sp ; p < &stack[STKSIZE] ; p++) { markcopycell(p); } for (p = esp ; p < &estack[STKSIZE] ; p++) { markcopycell(p); } for (i = 0 ; i < valuec ; i++) { markcopycell(values + i); } markcopycell(&T); markcopycell("E); markcopycell(&_LAMBDA); markcopycell(&_MACRO); markcopycell(&COND); markcopycell(&USER); markcopycell(&BUSHU); markcopycell(&RENGO); under_gc = 0; free(oldcellp); } static char *Strncpy(); static list copystring(s, n) char *s; int n; { int namesize; list retval; char *Strncpy(); namesize = ((n + sizeof(pointerint) + 1 + 3)/ sizeof(list)) * sizeof(list); if (freecell + namesize >= cellbtm) { /* gc Ãæ¤Ïµ¯¤³¤êÆÀ¤Ê¤¤¤Ï¤º */ gc(); } ((struct stringcell *)freecell)->length = n; (void *)Strncpy(((struct stringcell *)freecell)->str, s, n); ((struct stringcell *)freecell)->str[n] = '\0'; retval = STRING_TAG | (freecell - celltop); freecell += namesize; return retval; } static list copycons(l) struct cell *l; { list newcell; newcell = newcons(); car(newcell) = l->head; cdr(newcell) = l->tail; return newcell; } static void markcopycell(addr) list *addr; { list temp; redo: if (null(*addr) || numberp(*addr)) { return; } else if (alreadycopied(oldpointer(*addr))) { *addr = newaddr(gcfield(oldpointer(*addr))); return; } else if (stringp(*addr)) { temp = copystring(((struct stringcell *)oldpointer(*addr))->str, ((struct stringcell *)oldpointer(*addr))->length); gcfield(oldpointer(*addr)) = mkcopied(temp); *addr = temp; return; } else if (consp(*addr)) { temp = copycons((struct cell *)(oldpointer(*addr))); gcfield(oldpointer(*addr)) = mkcopied(temp); *addr = temp; markcopycell(&car(temp)); addr = &cdr(temp); goto redo; } else { /* symbol */ struct atomcell *newatom, *oldatom; oldatom = (struct atomcell *)(oldpointer(*addr)); temp = newsymbol(oldatom->pname); newatom = symbolpointer(temp); newatom->value = oldatom->value; newatom->plist = oldatom->plist; newatom->ftype = oldatom->ftype; newatom->func = oldatom->func; newatom->fid = oldatom->fid; newatom->mid = oldatom->mid; newatom->valfunc = oldatom->valfunc; newatom->hlink = oldatom->hlink; gcfield(oldpointer(*addr)) = mkcopied(temp); *addr = temp; if (newatom->value != (list)UNBOUND) { markcopycell(&newatom->value); } markcopycell(&newatom->plist); if (newatom->ftype == EXPR || newatom->ftype == MACRO) { markcopycell(&newatom->func); } addr = &newatom->hlink; goto redo; } } static list bindall(var,par,a,e) list var, par, a, e; { list *pa, *pe, retval; push(a); pa = sp; push(e); pe = sp; retry: if (constp(var)) { pop(2); return(*pa); } else if (atom(var)) { push(var); push(par); push(Lcons(2)); push(*pa); retval = Lcons(2); pop(2); return retval; } else if (atom(par)) { error("Bad macro form ",e); } else { push(par); push(var); *pa = bindall(car(var),car(par),*pa,*pe); var = cdr(pop1()); par = cdr(pop1()); goto retry; } } static list Lquote() { list p; p = pop1(); if (atom(p)) return(NIL); else return(car(p)); } static list Leval(n) int n; { list e, a, t, s, tmp, aa, *pe, *pt, *ps, *paa; list fn, (*cfn)(), *pfn; int i, j; argnchk("eval",1); e = sp[0]; pe = sp; if (atom(e)) { if (constp(e)) { pop1(); return(e); } else { struct atomcell *sym; if (t = assq(e, *esp)) { (void)pop1(); return(cdr(t)); } else if ((sym = symbolpointer(e))->valfunc) { (void)pop1(); return (sym->valfunc)(VALGET, 0); } else { if ((t = (sym->value)) != (list)UNBOUND) { pop1(); return(t); } else { error("Unbound Variable: ",*pe); } } } } else if (constp((fn = car(e)))) { /* not atom */ error("eval: Undefined function ", fn); } else if (atom(fn)) { switch (symbolpointer(fn)->ftype) { case UNDEF: error("eval: Undefined function ", fn); break; case SUBR: cfn = symbolpointer(fn)->func; i = evpsh(cdr(e)); epush(NIL); t = (*cfn)(i); epop(); pop1(); return (t); case SPECIAL: push(cdr(e)); t = (*(symbolpointer(fn)->func))(); pop1(); return (t); case EXPR: fn = (list)(symbolpointer(fn)->func); aa = NIL; /* previous env won't be used */ expr: if (atom(fn) || car(fn) != _LAMBDA || atom(cdr(fn))) { error("eval: bad lambda form ", fn); } /* Lambda binding begins here ... */ s = cdr(e); /* actual parameter */ t = cadr(fn); /* lambda list */ push(s); ps = sp; push(t); pt = sp; push(fn); pfn = sp; push(aa); paa = sp; i = 0; /* count of variables */ for (; consp(*ps) && consp(*pt) ; *ps = cdr(*ps), *pt = cdr(*pt)) { if (consp(car(*pt))) { tmp = cdar(*pt); /* push the cdr of element */ if (atom(tmp) || null(cdr(tmp))) ; else { push(cdr(tmp)); push(T); push(Lcons(2)); i++; } push(caar(*pt)); } else { push(car(*pt)); } push(car(*ps)); push(Leval(1)); push(Lcons(2)); i++; } for (; consp(*pt) ; *pt = cdr(*pt)) { if (atom(car(*pt))) error("too few actual parameters ",*pe); else { tmp = cdar(*pt); if (atom(tmp) || null(cdr(tmp))) ; else { push(cdr(tmp)); push(NIL); push(Lcons(2)); i++; } push(caar(*pt)); tmp = cdar(*pt); /* restore for GC */ if (atom(tmp)) push(NIL); else { push(car(tmp)); push(Leval(1)); } push(Lcons(2)); i++; } } if (null(*pt) && consp(*ps)) { error("too many actual arguments ",*pe); } else if (*pt) { push(*pt); for (j = 1 ; consp(*ps) ; j++) { push(car(*ps)); push(Leval(1)); *ps = cdr(*ps); } push(NIL); for (; j ; j--) { push(Lcons(2)); } i++; } push(*paa); for (; i ; i--) { push(Lcons(2)); } /* Lambda binding finished, and a new environment is established. */ epush(pop1()); /* set the new environment */ push(cddr(*pfn)); t = Lprogn(); epop(); pop(5); return (t); case MACRO: fn = (list)(symbolpointer(fn)->func); if (atom(fn) || car(fn) != _MACRO || atom(cdr(fn))) { error("eval: bad macro form ",fn); } s = cdr(e); /* actual parameter */ t = cadr(fn); /* lambda list */ push(fn); epush(bindall(t,s,NIL,e)); push(cddr(pop1())); t = Lprogn(); epop(); push(t); push(t); s = Leval(1); if (atom(t = pop1())) ; else { car(*pe) = car(t); cdr(*pe) = cdr(t); } pop1(); return (s); case CMACRO: push(e); push(t = (*(symbolpointer(fn)->func))()); push(t); s = Leval(1); if (atom(t = pop1())) ; else { car(e) = car(t); cdr(e) = cdr(t); } pop1(); return (s); default: error("eval: Unrecognized ftype used in ", fn); break; } } else { /* fn is list (lambda expression) */ aa = *esp; /* previous environment is also used */ goto expr; } } static list assq(e,a) list e, a; { list i; for (i = a ; i ; i = cdr(i)) { if (consp(car(i)) && e == caar(i)) { return(car(i)); } } return((list)NIL); } /* eval each argument and push down each value to parameter stack */ static int evpsh(args) list args; { int counter; list temp; counter = 0; while (consp(args)) { push(args); push(car(args)); temp = Leval(1); args = cdr(pop1()); counter++; push(temp); } return (counter); } int psh(args) list args; { int counter; counter = 0; while (consp(args)) { push(car(args)); counter++; args = cdr(args); } return (counter); } static list Lprogn() { list val, *pf; val = NIL; pf = sp; for (; consp(*pf) ; *pf = cdr(*pf)) { symbolpointer(T)->value = T; push(car(*pf)); val = Leval(1); } pop1(); return (val); } static list Lcons(n) int n; { list temp; void gc(); argnchk("cons",2); temp = newcons(); cdr(temp) = pop1(); car(temp) = pop1(); return(temp); } static list Lncons(n) int n; { list temp; void gc(); argnchk("ncons",1); temp = newcons(); car(temp) = pop1(); cdr(temp) = NIL; return(temp); } static list Lxcons(n) int n; { list temp; void gc(); argnchk("cons",2); temp = newcons(); car(temp) = pop1(); cdr(temp) = pop1(); return(temp); } static list Lprint(n) int n; { void print(); print(sp[0]); pop(n); return (T); } static list Lset(n) int n; { list val, a, t, assq(); list var; struct atomcell *sym; argnchk("set",2); val = pop1(); var = pop1(); if (!symbolp(var)) error("set/setq: bad variable type ",var); sym = symbolpointer(var); if (t = assq(var,*esp)) { return cdr(t) = val; } else if (sym->valfunc) { return (*(sym->valfunc))(VALSET, val); } else { return sym->value = val; /* global set */ } } static list Lsetq() { list a, *pp, Leval(), Lset(); a = NIL; for (pp = sp; consp(*pp) ; *pp = cdr(*pp)) { push(car(*pp)); *pp = cdr(*pp); if ( atom(*pp) ) error("odd number of args to setq",NON); push(car(*pp)); push(Leval(1)); a = Lset(2); } pop1(); return(a); } static int equal(); static list Lequal(n) int n; { argnchk("equal (=)",2); if (equal(pop1(),pop1())) return(T); else return(NIL); } /* null ʸ»ú¤Ç½ª¤ï¤é¤Ê¤¤ strncmp */ static int Strncmp(x, y, len) char *x, *y; int len; { int i; for (i = 0 ; i < len ; i++) { if (x[i] != y[i]) { return (x[i] - y[i]); } } return 0; } /* null ʸ»ú¤Ç½ª¤ï¤é¤Ê¤¤ strncpy */ static char * Strncpy(x, y, len) char *x, *y; int len; { int i; for (i = 0 ; i < len ; i++) { x[i] = y[i]; } return x; } static int equal(x,y) list x, y; { equaltop: if (x == y) return(YES); else if (null(x) || null(y)) return(NO); else if (numberp(x) || numberp(y)) { return NO; } else if (stringp(x)) { if (stringp(y)) { return ((xstrlen(x) == xstrlen(y)) ? (!Strncmp(xstring(x), xstring(y), xstrlen(x))) : 0); } else { return NO; } } else if (symbolp(x) || symbolp(y)) { return(NO); } else { if (equal(car(x), car(y))) { x = cdr(x); y = cdr(y); goto equaltop; } else return(NO); } } static list Lgreaterp(n) int n; { list p; pointerint x, y; if ( !n ) return(T); else { p = pop1(); if (!numberp(p)) numerr("greaterp",p); x = xnum(p); for (n-- ; n ; n--) { p = pop1(); if (!numberp(p)) numerr("greaterp",p); y = xnum(p); if (y <= x) /* !(y > x) */ return(NIL); x = y; } return(T); } } static list Llessp(n) int n; { list p; pointerint x, y; if ( !n ) return(T); else { p = pop1(); if (!numberp(p)) numerr("lessp",p); x = xnum(p); for (n-- ; n ; n--) { p = pop1(); if (!numberp(p)) numerr("lessp",p); y = xnum(p); if (y >= x) /* !(y < x) */ return(NIL); x = y; } return(T); } } static list Leq(n) int n; { list f; argnchk("eq",2); f = pop1(); if (f == pop1()) return(T); else return(NIL); } static list Lcond() { list *pp, t, a, e, c, Lprogn(), Leval(); pp = sp; for (; consp(*pp) ; *pp = cdr(*pp)) { t = car(*pp); if (atom(t)) { pop1(); return (NIL); } else { push(cdr(t)); if ((c = car(t)) == T || (push(c), (a = Leval(1)))) { /* if non NIL */ t = pop1(); if (null(t)) { /* if cdr is NIL */ (void)pop1(); return (a); } else { (void)pop1(); push(t); return(Lprogn()); } } else { (void)pop1(); } } } pop1(); return (NIL); } static list Lnull(n) int n; { argnchk("null",1); if (pop1()) return NIL; else return T; } static list Lor() { list *pp, a, t; for (pp = sp; consp(*pp) ; *pp = cdr(*pp)) { push(car(*pp)); if (t = Leval(1)) { pop1(); return(t); } } pop1(); return(NIL); } static list Land() { list *pp, a, t; t = T; for (pp = sp; consp(*pp) ; *pp = cdr(*pp)) { push(car(*pp)); if ( !(t = Leval(1)) ) { pop1(); return(NIL); } } pop1(); return(t); } static list Lplus(n) int n; { list t; int i; pointerint sum; i = n; sum = 0; while (i--) { t = sp[i]; if ( !numberp(t) ) { numerr("+",t); } else { sum += xnum(t); } } pop(n); return(mknum(sum)); } static list Ltimes(n) int n; { list t; int i; pointerint sum; i = n; sum = 1; while (i--) { t = sp[i]; if ( !numberp(t) ) numerr("*",t); else sum *= xnum(t); } pop(n); return(mknum(sum)); } static list Ldiff(n) int n; { list t; int i; pointerint sum; if ( !n ) return(mknum(0)); t = sp[n - 1]; if ( !numberp(t) ) numerr("-",t); sum = xnum(t); if (n == 1) { pop1(); return(mknum(-sum)); } else { i = n - 1; while (i--) { t = sp[i]; if ( !numberp(t) ) numerr("-",t); else sum -= xnum(t); } pop(n); return(mknum(sum)); } } static list Lquo(n) int n; { list t; int i; pointerint sum; if ( !n ) return(mknum(1)); t = sp[n - 1]; if ( !numberp(t) ) numerr("/",t); sum = xnum(t); i = n - 1; while (i--) { t = sp[i]; if ( !numberp(t) ) numerr("/",t); else sum = sum / (long)xnum(t); /* CP/M68K is bad... */ } pop(n); return(mknum(sum)); } static list Lrem(n) int n; { list t; int i; pointerint sum; if ( !n ) return(mknum(0)); t = sp[n - 1]; if ( !numberp(t) ) numerr("%",t); sum = xnum(t); i = n - 1; while (i--) { t = sp[i]; if ( !numberp(t) ) numerr("%",t); else sum = sum % (long)xnum(t); /* CP/M68K is bad .. */ } pop(n); return(mknum(sum)); } /* * Garbage Collection */ static list Lgc(n) int n; { void gc(); argnchk("gc",0); gc(); return(NIL); } static list Lusedic(n) int n; { int i; extern char *kanjidicname[], *userdicname[], *bushudicname[]; extern int nkanjidics, nuserdics, nbushudics; char **pdicname; int *counter, arrayp; list retval = NIL, temp; extern char *RengoGakushu; for (i = n ; i ; i--) { pdicname = kanjidicname; counter = &nkanjidics; arrayp = YES; temp = sp[i - 1]; if (symbolp(temp) && i - 1 > 0) { if (temp == USER) { pdicname = userdicname; counter = &nuserdics; } else if (temp == BUSHU) { pdicname = bushudicname; counter = &nbushudics; } else if (temp == RENGO) { pdicname = &RengoGakushu; arrayp = NO; } i--; temp = sp[i - 1]; } if (stringp(temp)) { if (arrayp) { if (*counter < MAX_DICS) { pdicname[*counter] = malloc(strlen(xstring(temp)) + 1); if (pdicname) { strcpy(pdicname[*counter], xstring(temp)); pdicname[++*counter] = NULL; retval = T; } else { exitccustom(); } } } else { *pdicname = malloc(strlen(xstring(temp)) + 1); if (pdicname) { strcpy(*pdicname, xstring(temp)); retval = T; } else { exitccustom(); } } } } pop(n); return retval; } static list Llist(n) int n; { push(NIL); for (; n ; n--) { push(Lcons(2)); } return (pop1()); } static list Lcopysym(n) int n; { list src, dst; struct atomcell *dsta, *srca; argnchk("copy-symbol",2); src = pop1(); dst = pop1(); if (!symbolp(dst)) error("copy-symbol: bad arg ", dst); if (!symbolp(src)) error("copy-symbol: bad arg ", src); dsta = symbolpointer(dst); srca = symbolpointer(src); dsta->plist = srca->plist; dsta->value = srca->value; dsta->ftype = srca->ftype; dsta->func = srca->func; dsta->valfunc = srca->valfunc; dsta->mid = srca->mid; dsta->fid = srca->fid; return src; } static list Lload(n) int n; { list p, t, Lread(), Leval(), Lncons(); FILE *instream, *fopen(); argnchk("load",1); p = pop1(); if ( !stringp(p) ) error("load: illegal file name ",p); if ((instream = fopen(xstring(p), "r")) == NULL) error("load: file not found ",p); prins("[load "); print(p); prins("]\n"); if (jmpenvp <= 0) { /* ºÆµ¢¤¬¿¼¤¹¤®¤ë¾ì¹ç */ return NIL; } jmpenvp--; files[++filep] = instream; setjmp(env[jmpenvp].jmp_env); env[jmpenvp].base_stack = sp - stack; env[jmpenvp].base_estack = esp - estack; for (;;) { t = Lread(0); if (valuec > 1 && null(values[1])) { break; } else { push(t); Leval(1); } } jmpenvp++; return(T); } static list Lmodestr(n) int n; { list p; int mode; argnchk(S_SetModeDisp, 2); if ( !null(p = sp[0]) && !stringp(p) ) { strerr(S_SetModeDisp, p); } if (!symbolp(sp[1]) || (mode = symbolpointer(sp[1])->mid) == -1) { error("illegal mode ", sp[1]); } changeModeName(mode, null(p) ? 0 : xstring(p)); pop(2); return p; } /* µ¡Ç½¥·¡¼¥±¥ó¥¹¤Î¼è¤ê½Ð¤· */ static int xfseq(fname, l, arr, arrsize) /* fname µ¡Ç½Ì¾ */ char *fname; list l; unsigned char *arr; int arrsize; { int i; if (atom(l)) { if (symbolp(l) && (arr[0] = (unsigned char)(symbolpointer(l)->fid)) != 255) { arr[1] = 0; } else { prins(fname); error(": illegal function ", l); } return 1; } else { for (i = 0 ; i < arrsize - 1 && consp(l) ; i++, l = cdr(l)) { list temp = car(l); if (!symbolp(temp) || (arr[i] = (unsigned char)(symbolpointer(temp)->fid)) == 255) { prins(fname); error(": illegal function ", temp); } } arr[i] = 0; return i; } } static list Lsetkey(n) int n; { list p, l; int mode, slen; unsigned char fseq[256]; unsigned char keyseq[256]; argnchk(S_SetKey, 3); if ( !stringp(p = sp[1]) ) { strerr(S_SetKey, p); } if (!symbolp(sp[2]) || (mode = symbolpointer(sp[2])->mid) == -1) { error("illegal mode ", sp[2]); } if (xfseq(S_SetKey, sp[0], fseq, 256)) { slen = xstrlen(p); Strncpy(keyseq, xstring(p), slen); keyseq[slen] = 255; cchangeKeyfunc(mode, (unsigned)keyseq[0], /* ¤³¤³¤Ï .canna ¤Î¤ß */ slen > 1 ? CANNA_FN_UseOtherKeymap : (fseq[1] != 0 ? CANNA_FN_FuncSequence : fseq[0]), fseq, keyseq); } pop(3); return p; } static list Lgsetkey(n) int n; { list p, l; int mode, slen; unsigned char fseq[256]; unsigned char keyseq[256]; argnchk(S_GSetKey, 2); if ( !stringp(p = sp[1]) ) { strerr(S_GSetKey, p); } if (xfseq(S_GSetKey, sp[0], fseq, 256)) { slen = xstrlen(p); Strncpy(keyseq, xstring(p), slen); keyseq[slen] = 255; changeKeyfuncOfAll((unsigned)keyseq[0], slen > 1 ? CANNA_FN_UseOtherKeymap : (fseq[1] != 0 ? CANNA_FN_FuncSequence : fseq[0]), fseq, keyseq); pop(2); return p; } else { pop(2); return NIL; } } static list Lputd(n) int n; { list body, a; list sym; struct atomcell *symp; argnchk("putd",2); a = body = pop1(); sym = pop1(); symp = symbolpointer(sym); if (constp(sym) || consp(sym)) { error("putd: Function name must be a symbol : ",sym); } if (null(body)) { symp->ftype = UNDEF; symp->func = (list (*)())UNDEF; } else if (consp(body)) { if (car(body) == _MACRO) { symp->ftype = MACRO; symp->func = (list (*)())body; } else { symp->ftype = EXPR; symp->func = (list (*)())body; } } return(a); } static list Ldefun() { list form, res, Lputd(); form = sp[0]; if (atom(form)) { error("defun: illegal form ",form); } push(car(form)); push(_LAMBDA); push(cdr(form)); push(Lcons(2)); Lputd(2); res = car(pop1()); return (res); } static list Ldefmacro() { list form, res, Lputd(); form = sp[0]; if (atom(form)) { error("defmacro: illegal form ",form); } push(res = car(form)); push(_MACRO); push(cdr(form)); push(Lcons(2)); Lputd(2); pop1(); return (res); } static list Lcar(n) int n; { list f; argnchk("car",1); f = pop1(); if (!f) return(NIL); else if (atom(f)) error("Bad arg to car ",f); else return(car(f)); } static list Lcdr(n) int n; { list f; argnchk("cdr",1); f = pop1(); if (!f) return(NIL); else if (atom(f)) error("Bad arg to cdr ",f); else return(cdr(f)); } static list Latom(n) int n; { list f; argnchk("atom",1); f = pop1(); if (atom(f)) return(T); else return(NIL); } static list Llet() { list lambda, args, p, q, x, l, *pp, *pq, *pl, *px; px = sp; *px = cdr(*px); if (atom(*px)) { (void)pop1(); return(NIL); } else { push(NIL); args = Lncons(1); push(q = args); pq = sp; push(NIL); lambda = p = Lncons(1); push(lambda); push(p); pp = sp; push(*pq); pq = sp; push(NIL); pl = sp; for (*pl = car(*px) ; consp(*pl) ; *pl = cdr(*pl)) { if (atom(car(*pl))) { push(car(*pl)); *pp = cdr(*pp) = Lncons(1); push(NIL); *pq = cdr(*pq) = Lncons(1); } else if (atom(cdar(*pl))) { push(caar(*pl)); *pp = cdr(*pp) = Lncons(1); push(NIL); *pq = cdr(*pq) = Lncons(1); } else { push(caar(*pl)); *pp = cdr(*pp) = Lncons(1); push(cadr(car(*pl))); *pq = cdr(*pq) = Lncons(1); } } pop(3); sp[0] = cdr(sp[0]); sp[1] = cdr(sp[1]); push(cdr(*px)); push(Lcons(2)); push(_LAMBDA); push(Lxcons(2)); p = Lxcons(2); (void)pop1(); return(p); } } /* (if con tr . falist) -> (cond (con tr) (t . falist))*/ static list Lif() { list x, *px, retval; x = cdr(sp[0]); if (atom(x) || atom(cdr(x))) { (void)pop1(); return NIL; } else { push(x); px = sp; push(COND); push(car(x)); push(cadr(x)); push(Llist(2)); push(T); push(cddr(*px)); push(Lcons(2)); retval = Llist(3); pop(2); return retval; } } static list Lunbindkey(n) int n; { unsigned char fseq[2]; static unsigned char keyseq[2] = {(unsigned char)CANNA_KEY_Undefine, (unsigned char)255}; int mode; list retval; argnchk(S_UnbindKey, 2); if (!symbolp(sp[1]) || (mode = symbolpointer(sp[1])->mid) == -1) { error("illegal mode ", sp[1]); } if (xfseq(S_UnbindKey, sp[0], fseq, 2)) { /* ¤³¤³¤Ï.canna·Á¼°¤Ë¤Î¤ß */ cchangeKeyfunc(mode, CANNA_KEY_Undefine, fseq[1] != 0 ? CANNA_FN_FuncSequence : fseq[0], fseq, keyseq); retval = T; } else { retval = NIL; } pop(2); return retval; } static list Lgunbindkey(n) int n; { unsigned char fseq[2]; static unsigned char keyseq[2] = {(unsigned char)CANNA_KEY_Undefine, (unsigned char)255}; int mode; list retval; argnchk(S_GUnbindKey, 1); if (xfseq(S_GUnbindKey, sp[0], fseq, 2)) { changeKeyfuncOfAll(CANNA_KEY_Undefine, fseq[1] != 0 ? CANNA_FN_FuncSequence : fseq[0], fseq, keyseq); retval = T; } else { retval = NIL; } (void)pop1(); return retval; } static void SetString(strp, s) unsigned char **strp; list s; { if (stringp(s)) { int len = strlen(xstring(s)); *strp = (unsigned char *)malloc(len + 1); if (strp) { strcpy(*strp, xstring(s)); } else { exitccustom(); } } else if (!null(s)) { error("string data expected ", s); } } static list Ldefmode() { list form, *sym, e, *p, fn, rd, md, us; extern int nothermodes; extern newmode OtherModes[]; int i, j; KanjiMode kanjimode; char *hata; form = pop1(); if (atom(form)) { error("bad form ", form); } push(car(form)); sym = sp; if (!symbolp(*sym)) { error("symbol data expected ", *sym); } /* °ú¿ô¤ò¥×¥Ã¥·¥å¤¹¤ë */ for (i = 0, e = cdr(form) ; i < 4 ; i++, e = cdr(e)) { if (atom(e)) { for (j = i ; j < 4 ; j++) { push(NIL); } break; } push(car(e)); } if (consp(e)) { error("bad form ", form); } /* ɾ²Á¤¹¤ë */ for (i = 0, p = sym - 1 ; i < 4 ; i++, p--) { push(*p); push(Leval(1)); } us = pop1(); fn = pop1(); rd = pop1(); md = pop1(); pop(4); /* ¥·¥ó¥Ü¥ë¤Î´Ø¿ôÃͤȤ·¤Æ¤ÎÄêµÁ ¤³¤ì¤Ï¤Ï¤º¤¹¡£ ccustom¤Î¤ß symbolpointer(*sym)->mid = CANNA_MODE_MAX_IMAGINARY_MODE + nothermodes; */ /* ³ÎÄê¥â¡¼¥É¤Î¤¿¤á¤Ë¤³¤ì¤Ï¤Ï¤º¤¹¡£ccustom¤Î¤ß symbolpointer(*sym)->fid = CANNA_FN_MAX_FUNC + nothermodes; */ /* ³ÎÄê¥â¡¼¥É¤Î¤¿¤á¤ËID¤ò¤¹¤êÂØ¤¨¤ë¡£ ccustom¤Î¤ß */ if (!strcmp(symbolpointer(*sym)->pname, S_ZenHiraKakuteiMode)) { symbolpointer(*sym)->fid = CANNA_FN_ZenHiraKakuteiMode; symbolpointer(*sym)->mid = CANNA_MODE_ZenHiraKakuteiMode; } if (!strcmp(symbolpointer(*sym)->pname, S_ZenKataKakuteiMode)) { symbolpointer(*sym)->fid = CANNA_FN_ZenKataKakuteiMode;; symbolpointer(*sym)->mid = CANNA_MODE_ZenKataKakuteiMode; } if (!strcmp(symbolpointer(*sym)->pname, S_HanKataKakuteiMode)) { symbolpointer(*sym)->fid = CANNA_FN_HanKataKakuteiMode; symbolpointer(*sym)->mid = CANNA_MODE_HanKataKakuteiMode; } if (!strcmp(symbolpointer(*sym)->pname, S_ZenAlphaKakuteiMode)){ symbolpointer(*sym)->fid = CANNA_FN_ZenAlphaKakuteiMode; symbolpointer(*sym)->mid = CANNA_MODE_ZenAlphaKakuteiMode; } if (!strcmp(symbolpointer(*sym)->pname, S_HanAlphaKakuteiMode)) { symbolpointer(*sym)->fid = CANNA_FN_HanAlphaKakuteiMode;; symbolpointer(*sym)->mid = CANNA_MODE_HanAlphaKakuteiMode; } /* ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê */ OtherModes[nothermodes].display_name = (wchar_t *)NULL; OtherModes[nothermodes].romaji_table = (unsigned char *)0; OtherModes[nothermodes].romdic = (struct RkwRxDic *)0; OtherModes[nothermodes].romdic_owner = 0; OtherModes[nothermodes].flags = CANNA_YOMI_IGNORE_USERSYMBOLS; OtherModes[nothermodes].emode = (KanjiMode)0; /* ¥â¡¼¥É¹½Â¤ÂΤκîÀ® */ kanjimode = (KanjiMode)malloc(sizeof(KanjiModeRec)); if (kanjimode) { /* int searchfunc(); ¤¤¤é¤Ê¤¤¤Î¤Çºï½ü */ extern KanjiModeRec empty_mode; extern BYTE *emptymap; /* kanjimode->func = searchfunc; ¤¤¤é¤Ê¤¤¤Î¤Çºï½ü */ kanjimode->keytbl = emptymap; kanjimode->flags = CANNA_KANJIMODE_TABLE_SHARED | CANNA_KANJIMODE_EMPTY_MODE; kanjimode->ftbl = empty_mode.ftbl; OtherModes[nothermodes].emode = kanjimode; } /* ¥â¡¼¥Éɽ¼¨Ê¸»úÎó */ if (stringp(md)) { OtherModes[nothermodes].display_name = WString(xstring(md)); } else if ( !null(md) ) { error("string data expected ", md); } /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ if (stringp(rd)) { SetString(&(OtherModes[nothermodes].romaji_table), rd); } else if ( !null(rd) ) { error("string data expected ", rd); } /* ¼Â¹Ôµ¡Ç½ */ { list l; long f = OtherModes[nothermodes].flags; for (e = fn ; consp(e) ; e = cdr(e)) { l = car(e); if (symbolp(l) && symbolpointer(l)->fid) { switch (symbolpointer(l)->fid) { case CANNA_FN_Kakutei: f |= CANNA_YOMI_KAKUTEI; break; case CANNA_FN_Henkan: f |= CANNA_YOMI_HENKAN; break; case CANNA_FN_Zenkaku: f |= CANNA_YOMI_ZENKAKU; break; case CANNA_FN_Hankaku: f |= CANNA_YOMI_HANKAKU; break; case CANNA_FN_Hiragana: f |= CANNA_YOMI_HIRAGANA; break; case CANNA_FN_Katakana: f |= CANNA_YOMI_KATAKANA; break; case CANNA_FN_Romaji: f |= CANNA_YOMI_ROMAJI; break; /* °Ê²¼¤Ï¤½¤Î¤¦¤Á¤ä¤í¤¦ */ case CANNA_FN_ToUpper: break; case CANNA_FN_Capitalize: break; case CANNA_FN_ToLower: break; } } } OtherModes[nothermodes].flags = f; } /* ¥æ¡¼¥¶¥·¥ó¥Ü¥ë¤Î»ÈÍѤÎ̵ͭ */ if (us) { OtherModes[nothermodes].flags &= ~CANNA_YOMI_IGNORE_USERSYMBOLS; } nothermodes++; return pop1(); } static list Ldefsym() { list form, res, e, Lputd(); int key, i, j, k, ncand, group; wchar_t cand[1024], *p, *mcand, **acand; extern nkeysup; extern keySupplement keysup[]; form = sp[0]; if (atom(form)) { error("illegal form ",form); } /* ¤Þ¤º¿ô¤ò¤«¤¾¤¨¤ë */ for (ncand = 0 ; consp(form) ; ) { e = car(form); if (!numberp(e)) { error("key data expected ", e); } if (null(cdr(form))) { error("illegal form ",sp[0]); } for (i = 0, form = cdr(form) ; consp(form) ; i++, form = cdr(form)) { e = car(form); if (!stringp(e)) { break; } } if (ncand == 0) { ncand = i; } else if (ncand != i) { error("inconsist number for each key definition ", sp[0]); } } group = nkeysup; for (form = sp[0] ; consp(form) ;) { if (nkeysup >= MAX_KEY_SUP) { error("too many symbol definitions", sp[0]); } key = xnum(car(form)); p = cand; for (form = cdr(form) ; consp(form) ; form = cdr(form)) { int len; e = car(form); if (!stringp(e)) { break; } len = MBstowcs(p, xstring(e), 1024 - (p - cand)); p += len; *p++ = (wchar_t)0; } *p++ = (wchar_t)0; mcand = (wchar_t *)malloc((p - cand) * sizeof(wchar_t)); if (mcand == 0) { error("insufficient memory", NON); } acand = (wchar_t **)calloc(ncand + 1, sizeof(wchar_t *)); if (acand == 0) { free(mcand); error("insufficient memory", NON); } for (i = 0 ; i < p - cand ; i++) { mcand[i] = cand[i]; } for (i = 0, p = mcand ; i < ncand ; i++) { acand[i] = p; while(*p++); } acand[i] = 0; /* ¼ÂºÝ¤Ë³ÊǼ¤¹¤ë */ keysup[nkeysup].key = key; keysup[nkeysup].groupid = group; keysup[nkeysup].ncand = ncand; keysup[nkeysup].cand = acand; keysup[nkeysup].fullword = mcand; nkeysup++; } res = car(pop1()); return (res); } static list Lsetinifunc(n) int n; { unsigned char fseq[256]; int i, len; list ret = NIL; extern BYTE *initfunc; extern int InitialMode; argnchk(S_SetInitFunc, 1); len = xfseq(S_SetInitFunc, sp[0], fseq, 256); if (len > 0) { if (initfunc) free(initfunc); initfunc = (BYTE *)malloc(len + 1); if (!initfunc) { error("insufficient memory", NON); } for (i = 0 ; i < len ; i++) { initfunc[i] = fseq[i]; } initfunc[i] = 0; ret = T; } if (initfunc[0] == CANNA_FN_JapaneseMode) { if (len == 1) { InitialMode = 1; } else if (len == 2) { switch(initfunc[1]) { case CANNA_FN_ZenHiraKakuteiMode: InitialMode = 3; break; case CANNA_FN_ZenKataKakuteiMode: InitialMode = 4; break; case CANNA_FN_HanKataKakuteiMode: InitialMode = 5; break; case CANNA_FN_ZenAlphaKakuteiMode: InitialMode = 6; break; case CANNA_FN_HanAlphaKakuteiMode: InitialMode = 7; break; } } } (void)pop1(); return ret; } /* lispfuncend */ /* ÊÑ¿ô¥¢¥¯¥»¥¹¤Î¤¿¤á¤Î´Ø¿ô */ static list VTorNIL(var, setp, arg) int *var, setp; list arg; { if (setp == VALSET) { *var = (arg == NIL) ? OFF : ON; return arg; } else { /* get */ return *var ? ON : OFF; } } static list StrAcc(var, setp, arg) char **var; int setp; list arg; { if (setp == VALSET) { if (null(arg) || stringp(arg)) { if (*var) { free(*var); } if (stringp(arg)) { *var = malloc(strlen(xstring(arg)) + 1); if (*var) { strcpy(*var, xstring(arg)); return arg; } else { error("Not enough memory.", NON); } } else { *var = (char *)0; return NIL; } } else { strerr((char *)0, arg); } } else { if (*var) { return copystring(*var, strlen(*var)); } else { return NIL; } } } static list NumAcc(var, setp, arg) int *var; int setp; list arg; { if (setp == VALSET) { if (numberp(arg)) { *var = xnum(arg); return arg; } else { numerr((char *)0, arg); } } else { return mknum(*var); } } /* ¤³¤³¤«¤é²¼¤¬¥«¥¹¥¿¥Þ¥¤¥º¤ÎÄɲÃÅù¤ÇÎɤ¯¤¤¤¸¤ëÉôʬ */ /* ¼ÂºÝ¤Î¥¢¥¯¥»¥¹´Ø¿ô */ extern int Gakushu, CursorWrap, SelectDirect, HexkeySelect, BunsetsuKugiri; extern int ChBasedMove, ReverseWidely, ReverseWord, QuitIchiranIfEnd; extern int kakuteiIfEndOfBunsetsu, stayAfterValidate, BreakIntoRoman; extern int gramaticalQuestion, forceKana, kCount, chikuji, iListCB; extern int kouho_threshold, nKouhoBunsetsu, keepCursorPosition; extern char *RomkanaTable, *RengoGakushu; extern int CannaVersion, abandonIllegalPhono, hexCharacterDefiningStyle; extern int kojin, allowNextInput,indexhankaku,ignorecase,romajiyuusen,autosync; extern int nkeysuu , quicklyescape; static list Vgakushu(setp, arg) int setp; list arg; { return VTorNIL(&Gakushu, setp, arg); } static list Vcursorw(setp, arg) int setp; list arg; { return VTorNIL(&CursorWrap, setp, arg); } static list Vselectd(setp, arg) int setp; list arg; { return VTorNIL(&SelectDirect, setp, arg); } static list Vnumeric(setp, arg) int setp; list arg; { return VTorNIL(&HexkeySelect, setp, arg); } static list Vbunsets(setp, arg) int setp; list arg; { return VTorNIL(&BunsetsuKugiri, setp, arg); } static list Vcharact(setp, arg) int setp; list arg; { return VTorNIL(&ChBasedMove, setp, arg); } static list Vreverse(setp, arg) int setp; list arg; { return VTorNIL(&ReverseWidely, setp, arg); } static list VreverseWord(setp, arg) int setp; list arg; { return VTorNIL(&ReverseWord, setp, arg); } static list Vquitich(setp, arg) int setp; list arg; { return VTorNIL(&QuitIchiranIfEnd, setp, arg); } static list Vkakutei(setp, arg) int setp; list arg; { return VTorNIL(&kakuteiIfEndOfBunsetsu, setp, arg); } static list Vstayaft(setp, arg) int setp; list arg; { return VTorNIL(&stayAfterValidate, setp, arg); } static list Vbreakin(setp, arg) int setp; list arg; { return VTorNIL(&BreakIntoRoman, setp, arg); } static list Vgramati(setp, arg) int setp; list arg; { return VTorNIL(&gramaticalQuestion, setp, arg); } static list Vforceka(setp, arg) int setp; list arg; { return VTorNIL(&forceKana, setp, arg); } static list Vkouhoco(setp, arg) int setp; list arg; { return VTorNIL(&kCount, setp, arg); } static list Vauto(setp, arg) int setp; list arg; { return VTorNIL(&chikuji, setp, arg); } static list Vinhibi(setp, arg) int setp; list arg; { return VTorNIL(&iListCB, setp, arg); } static list Vnhenkan(setp, arg) int setp; list arg; { return NumAcc(&kouho_threshold, setp, arg); } static list Vnkouhobunsetsu(setp, arg) int setp; list arg; { arg = NumAcc(&nKouhoBunsetsu, setp, arg); if (nKouhoBunsetsu < 3 || nKouhoBunsetsu > 60) nKouhoBunsetsu = 16; return arg; } static list VkeepCursorPosition(setp, arg) int setp; list arg; { return VTorNIL(&keepCursorPosition, setp, arg); } static list VCannaVersion(setp, arg) int setp; list arg; { return NumAcc(&CannaVersion, setp, arg); } static list VProtoVer(setp, arg) int setp; list arg; { extern protocol_version; if (protocol_version < 0) { /* ObtainVersion(); ¤¤¤é¤Ê¤¤¤Î¤Çºï½ü */ } return NumAcc(&protocol_version, setp, arg); } static list VServVer(setp, arg) int setp; list arg; { extern server_version; if (server_version < 0) { /* ObtainVersion(); ¤¤¤é¤Ê¤¤¤Î¤Çºï½ü */ } return NumAcc(&server_version, setp, arg); } static list VAbandon(setp, arg) int setp; list arg; { return VTorNIL(&abandonIllegalPhono, setp, arg); } static list Vromkana(setp, arg) int setp; list arg; { return StrAcc(&RomkanaTable, setp, arg); } static list VHexStyle(setp, arg) int setp; list arg; { return VTorNIL(&hexCharacterDefiningStyle, setp, arg); } static list VKojin(setp, arg) int setp; list arg; { return VTorNIL(&kojin, setp, arg); } static list VAllowNext(setp, arg) int setp; list arg; { return VTorNIL(&allowNextInput, setp, arg); } static list VIndexHankaku(setp, arg) int setp; list arg; { return VTorNIL(&indexhankaku, setp, arg); } static list VignoreCase(setp, arg) int setp; list arg; { return VTorNIL(&ignorecase, setp, arg); } static list VRomajiYuusen(setp, arg) int setp; list arg; { return VTorNIL(&romajiyuusen, setp, arg); } static list VAutoSync(setp, arg) int setp; list arg; { return VTorNIL(&autosync, setp, arg); } static list Vnkeytodisconnect(setp, arg) int setp; list arg; { arg = NumAcc(&nkeysuu, setp, arg); if (nkeysuu > 5000) nkeysuu = 5000; return arg; } static list VQuicklyEscape(setp, arg) int setp; list arg; { return VTorNIL(&quicklyescape, setp, arg); } /* Lisp ¤Î´Ø¿ô¤È C ¤Î´Ø¿ô¤ÎÂбþɽ */ static struct atomdefs initatom[] = { {"quote" ,SPECIAL,Lquote }, {"setq" ,SPECIAL,Lsetq }, {"set" ,SUBR ,Lset }, {"equal" ,SUBR ,Lequal }, {"=" ,SUBR ,Lequal }, {">" ,SUBR ,Lgreaterp }, {"<" ,SUBR ,Llessp }, {"progn" ,SPECIAL,Lprogn }, {"eq" ,SUBR ,Leq }, {"cond" ,SPECIAL,Lcond }, {"null" ,SUBR ,Lnull }, {"not" ,SUBR ,Lnull }, {"and" ,SPECIAL,Land }, {"or" ,SPECIAL,Lor }, {"+" ,SUBR ,Lplus }, {"-" ,SUBR ,Ldiff }, {"*" ,SUBR ,Ltimes }, {"/" ,SUBR ,Lquo }, {"%" ,SUBR ,Lrem }, {"gc" ,SUBR ,Lgc }, {"load" ,SUBR ,Lload }, {"list" ,SUBR ,Llist }, {"sequence" ,SUBR ,Llist }, {"defun" ,SPECIAL,Ldefun }, {"defmacro" ,SPECIAL,Ldefmacro }, {"cons" ,SUBR ,Lcons }, {"car" ,SUBR ,Lcar }, {"cdr" ,SUBR ,Lcdr }, {"atom" ,SUBR ,Latom }, {"let" ,CMACRO ,Llet }, {"if" ,CMACRO ,Lif }, {"copy-symbol" ,SUBR ,Lcopysym }, {S_FN_UseDictionary ,SUBR ,Lusedic }, {S_SetModeDisp ,SUBR ,Lmodestr }, {S_SetKey ,SUBR ,Lsetkey }, {S_GSetKey ,SUBR ,Lgsetkey }, {S_UnbindKey ,SUBR ,Lunbindkey }, {S_GUnbindKey ,SUBR ,Lgunbindkey }, {S_DefMode ,SPECIAL,Ldefmode }, {S_DefSymbol ,SPECIAL,Ldefsym }, {S_SetInitFunc ,SUBR ,Lsetinifunc }, {0 ,UNDEF ,0 }, /* DUMMY */ }; static void deflispfunc() { struct atomdefs *p; for (p = initatom ; p->symname ; p++) { struct atomcell *atomp; list temp; temp = getatmz(p->symname); atomp = symbolpointer(temp); atomp->ftype = (pointerint)(p->symtype); if (atomp->ftype != UNDEF) { atomp->func = p->symfunc; } } } /* ÊÑ¿ôɽ */ static struct cannavardefs cannavars[] = { {S_VA_RomkanaTable ,Vromkana}, {S_VA_CursorWrap ,Vcursorw}, {S_VA_SelectDirect ,Vselectd}, {S_VA_NumericalKeySelect ,Vnumeric}, {S_VA_BunsetsuKugiri ,Vbunsets}, {S_VA_CharacterBasedMove ,Vcharact}, {S_VA_ReverseWidely ,Vreverse}, {S_VA_ReverseWord ,VreverseWord}, {S_VA_Gakushu ,Vgakushu}, {S_VA_QuitIfEOIchiran ,Vquitich}, {S_VA_KakuteiIfEOBunsetsu ,Vkakutei}, {S_VA_StayAfterValidate ,Vstayaft}, {S_VA_BreakIntoRoman ,Vbreakin}, {S_VA_NHenkanForIchiran ,Vnhenkan}, {S_VA_GramaticalQuestion ,Vgramati}, {S_VA_ForceKana ,Vforceka}, {S_VA_KouhoCount ,Vkouhoco}, {S_VA_Auto ,Vauto}, {S_VA_InhibitListCallback ,Vinhibi}, {S_VA_nKouhoBunsetsu ,Vnkouhobunsetsu}, {S_VA_keepCursorPosition ,VkeepCursorPosition}, {S_VA_CannaVersion ,VCannaVersion}, {S_VA_Abandon ,VAbandon}, {S_VA_HexDirect ,VHexStyle}, {S_VA_ProtocolVersion ,VProtoVer}, {S_VA_ServerVersion ,VServVer}, {S_VA_Kojin ,VKojin}, {S_VA_AllowNextInput ,VAllowNext}, {S_VA_IndexHankaku ,VIndexHankaku}, {S_VA_ignoreCase ,VignoreCase}, {S_VA_RomajiYuusen ,VRomajiYuusen}, {S_VA_AutoSync ,VAutoSync}, {S_VA_nDisconnectServer ,Vnkeytodisconnect}, {S_VA_QuicklyEscape ,VQuicklyEscape}, {0 ,0}, }; static void defcannavar() { struct cannavardefs *p; for (p = cannavars ; p->varname ; p++) { symbolpointer(getatmz(p->varname))->valfunc = p->varfunc; } } /* ¥â¡¼¥Éɽ */ static struct cannamodedefs cannamodes[] = { {S_AlphaMode ,CANNA_MODE_AlphaMode}, {S_YomiganaiMode ,CANNA_MODE_EmptyMode}, {S_YomiMode ,CANNA_MODE_YomiMode}, {S_MojishuMode ,CANNA_MODE_JishuMode}, {S_TankouhoMode ,CANNA_MODE_TankouhoMode}, {S_IchiranMode ,CANNA_MODE_IchiranMode}, {S_KigouMode ,CANNA_MODE_KigoMode}, {S_YesNoMode ,CANNA_MODE_YesNoMode}, {S_OnOffMode ,CANNA_MODE_OnOffMode}, {S_ShinshukuMode ,CANNA_MODE_AdjustBunsetsuMode}, {S_AutoYomiMode ,CANNA_MODE_ChikujiYomiMode}, {S_AutoBunsetsuMode ,CANNA_MODE_ChikujiTanMode}, {S_HenkanNyuuryokuMode ,CANNA_MODE_HenkanNyuryokuMode}, {S_HexMode ,CANNA_MODE_HexMode}, {S_BushuMode ,CANNA_MODE_BushuMode}, {S_ExtendMode ,CANNA_MODE_ExtendMode}, {S_RussianMode ,CANNA_MODE_RussianMode}, {S_GreekMode ,CANNA_MODE_GreekMode}, {S_LineMode ,CANNA_MODE_LineMode}, {S_ChangingServerMode ,CANNA_MODE_ChangingServerMode}, {S_HenkanMethodMode ,CANNA_MODE_HenkanMethodMode}, {S_DeleteDicMode ,CANNA_MODE_DeleteDicMode}, {S_TourokuMode ,CANNA_MODE_TourokuMode}, {S_TourokuHinshiMode ,CANNA_MODE_TourokuHinshiMode}, {S_TourokuDicMode ,CANNA_MODE_TourokuDicMode}, {S_QuotedInsertMode ,CANNA_MODE_QuotedInsertMode}, {S_BubunMuhenkanMode ,CANNA_MODE_BubunMuhenkanMode}, {S_MountDicMode ,CANNA_MODE_MountDicMode}, {S_ZenHiraHenkanMode ,CANNA_MODE_ZenHiraHenkanMode}, {S_HanHiraHenkanMode ,CANNA_MODE_HanHiraHenkanMode}, {S_ZenKataHenkanMode ,CANNA_MODE_ZenKataHenkanMode}, {S_HanKataHenkanMode ,CANNA_MODE_HanKataHenkanMode}, {S_ZenAlphaHenkanMode ,CANNA_MODE_ZenAlphaHenkanMode}, {S_HanAlphaHenkanMode ,CANNA_MODE_HanAlphaHenkanMode}, {S_ZenHiraKakuteiMode ,CANNA_MODE_ZenHiraKakuteiMode}, {S_HanHiraKakuteiMode ,CANNA_MODE_HanHiraKakuteiMode}, {S_ZenKataKakuteiMode ,CANNA_MODE_ZenKataKakuteiMode}, {S_HanKataKakuteiMode ,CANNA_MODE_HanKataKakuteiMode}, {S_ZenAlphaKakuteiMode ,CANNA_MODE_ZenAlphaKakuteiMode}, {S_HanAlphaKakuteiMode ,CANNA_MODE_HanAlphaKakuteiMode}, {0 ,0}, }; static void defcannamode() { struct cannamodedefs *p; for (p = cannamodes ; p->mdname ; p++) { symbolpointer(getatmz(p->mdname))->mid = p->mdid; } } /* µ¡Ç½É½ */ static struct cannafndefs cannafns[] = { {S_FN_Undefined ,CANNA_FN_Undefined}, {S_FN_SelfInsert ,CANNA_FN_FunctionalInsert}, {S_FN_QuotedInsert ,CANNA_FN_QuotedInsert}, {S_FN_JapaneseMode ,CANNA_FN_JapaneseMode}, {S_AlphaMode ,CANNA_FN_AlphaMode}, {S_HenkanNyuuryokuMode ,CANNA_FN_HenkanNyuryokuMode}, {S_HexMode ,CANNA_FN_HexMode}, {S_BushuMode ,CANNA_FN_BushuMode}, {S_KigouMode ,CANNA_FN_KigouMode}, {S_FN_Forward ,CANNA_FN_Forward}, {S_FN_Backward ,CANNA_FN_Backward}, {S_FN_Next ,CANNA_FN_Next}, {S_FN_Prev ,CANNA_FN_Prev}, {S_FN_BeginningOfLine ,CANNA_FN_BeginningOfLine}, {S_FN_EndOfLine ,CANNA_FN_EndOfLine}, {S_FN_DeleteNext ,CANNA_FN_DeleteNext}, {S_FN_DeletePrevious ,CANNA_FN_DeletePrevious}, {S_FN_KillToEndOfLine ,CANNA_FN_KillToEndOfLine}, {S_FN_Henkan ,CANNA_FN_Henkan}, {S_FN_Kakutei ,CANNA_FN_Kakutei}, {S_FN_Extend ,CANNA_FN_Extend}, {S_FN_Shrink ,CANNA_FN_Shrink}, {S_ShinshukuMode ,CANNA_FN_AdjustBunsetsu}, {S_FN_Quit ,CANNA_FN_Quit}, {S_ExtendMode ,CANNA_FN_ExtendMode}, {S_FN_Touroku ,CANNA_FN_Touroku}, {S_FN_ConvertAsHex ,CANNA_FN_ConvertAsHex}, {S_FN_ConvertAsBushu ,CANNA_FN_ConvertAsBushu}, {S_FN_KouhoIchiran ,CANNA_FN_KouhoIchiran}, {S_FN_BubunMuhenkan ,CANNA_FN_BubunMuhenkan}, {S_FN_Zenkaku ,CANNA_FN_Zenkaku}, {S_FN_Hankaku ,CANNA_FN_Hankaku}, {S_FN_ToUpper ,CANNA_FN_ToUpper}, {S_FN_Capitalize ,CANNA_FN_Capitalize}, {S_FN_ToLower ,CANNA_FN_ToLower}, {S_FN_Hiragana ,CANNA_FN_Hiragana}, {S_FN_Katakana ,CANNA_FN_Katakana}, {S_FN_Romaji ,CANNA_FN_Romaji}, {S_FN_BaseHiragana ,CANNA_FN_BaseHiragana}, {S_FN_BaseKatakana ,CANNA_FN_BaseKatakana}, {S_FN_BaseKana ,CANNA_FN_BaseKana}, {S_FN_BaseEisu ,CANNA_FN_BaseEisu}, {S_FN_BaseZenkaku ,CANNA_FN_BaseZenkaku}, {S_FN_BaseHankaku ,CANNA_FN_BaseHankaku}, {S_FN_BaseKakutei ,CANNA_FN_BaseKakutei}, {S_FN_BaseHenkan ,CANNA_FN_BaseHenkan}, {S_FN_BaseHiraKataToggle ,CANNA_FN_BaseHiraKataToggle}, {S_FN_BaseZenHanToggle ,CANNA_FN_BaseZenHanToggle}, {S_FN_BaseKanaEisuToggle ,CANNA_FN_BaseKanaEisuToggle}, {S_FN_BaseKakuteiHenkanToggle ,CANNA_FN_BaseKakuteiHenkanToggle}, {S_FN_BaseRotateForward ,CANNA_FN_BaseRotateForward}, {S_FN_BaseRotateBackward ,CANNA_FN_BaseRotateBackward}, {S_FN_HenkanOrSelfInsert ,CANNA_FN_HenkanOrInsert}, {S_FN_HenkanOrNothing ,CANNA_FN_HenkanOrNothing}, {S_FN_DisconnectServer ,CANNA_FN_DisconnectServer}, {S_FN_ChangeServerMode ,CANNA_FN_ChangeServerMode}, {S_FN_ShowServer ,CANNA_FN_ShowServer}, {S_FN_ShowGakushu ,CANNA_FN_ShowGakushu}, {S_FN_ShowVersion ,CANNA_FN_ShowVersion}, {S_FN_ShowPhonogramFile ,CANNA_FN_ShowPhonogramFile}, {S_FN_ShowCannaFile ,CANNA_FN_ShowCannaFile}, {S_FN_SyncDic ,CANNA_FN_SyncDic}, {0 ,0}, }; static void defcannafunc() { struct cannafndefs *p; for (p = cannafns ; p->fnname ; p++) { symbolpointer(getatmz(p->fnname))->fid = p->fnid; } } static void defatms() { list getatmz(); deflispfunc(); defcannavar(); defcannamode(); defcannafunc(); QUOTE = getatmz("quote"); T = getatmz("t"); _LAMBDA = getatmz("lambda"); _MACRO = getatmz("macro"); COND = getatmz("cond"); USER = getatmz(":user"); BUSHU = getatmz(":bushu"); RENGO = getatmz(":rengo"); symbolpointer(T)->value = T; } Canna37p3/ccustom/lisp.h0100644000076500001200000000760107732032055014451 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: lisp.h,v 1.2 2003/09/17 10:15:09 aida_s Exp $ */ /* #include "keydef.h" #include "mfdef.h" #include "canna.h" #include "symbolname.h" */ #include "ccompat.h" #define YES 1 #define NO 0 #define VALGET 1 #define VALSET 0 #define CELLSIZE 10240 /* size of cell area (byte) */ #define STKSIZE 1024 /* the depth of value & parameter stack */ #define BUFSIZE 256 /* universal buffer size (byte) */ #define NIL 0 /* internal expression of NIL */ #define UNBOUND -2 /* unbound mark of variable */ #define NON -1 /* the mark of No. (unable to use NO) */ #define UNDEF 0 #define SPECIAL 1 #define SUBR 2 #define EXPR 3 #define CMACRO 4 #define MACRO 5 #define TAG_MASK 0x07000000L #define CELL_MASK 0x00ffffffL #define GC_MASK 0x08000000L #define NIL_TAG 0L #define NUMBER_TAG 0x01000000L #define STRING_TAG 0x02000000L #define SYMBOL_TAG 0x03000000L #define CONS_TAG 0x04000000L #define MAX_DEPTH 20 /* define macros */ #define null(x) !(x) #define tag(x) ((x) & TAG_MASK) #define atom(x) (tag(x) < CONS_TAG) #define constp(x) (tag(x) < SYMBOL_TAG) #define numberp(x) (tag(x) == NUMBER_TAG) #define stringp(x) (tag(x) == STRING_TAG) #define symbolp(x) (tag(x) == SYMBOL_TAG) #define consp(x) (tag(x) == CONS_TAG) #define gcfield(x) (((struct gccell *)x)->tagfield) #define mkcopied(x) ((x) | GC_MASK) #define alreadycopied(x) (gcfield(x) & GC_MASK) #define newaddr(x) ((x) & ~GC_MASK) typedef canna_intptr_t list; typedef canna_intptr_t pointerint; /* cell area */ #define celloffset(x) ((x) & CELL_MASK) #define car(x) ((struct cell *)(celltop + celloffset(x)))->head #define cdr(x) ((struct cell *)(celltop + celloffset(x)))->tail #define caar(x) car(car(x)) #define cadr(x) car(cdr(x)) #define cdar(x) cdr(car(x)) #define cddr(x) cdr(cdr(x)) #define symbolpointer(x) ((struct atomcell *)(celltop + celloffset(x))) #define mknum(x) (NUMBER_TAG | ((x) & CELL_MASK)) #define xnum(x) ((((x) & 0x00800000)) ? (x | 0xff000000) : (x & 0x00ffffff)) #define xstring(x) (((struct stringcell *)(celltop + celloffset(x)))->str) #define xstrlen(x) (((struct stringcell *)(celltop + celloffset(x)))->length) #define argnchk(fn,x) if (n != x) argnerr(fn) /* data type definitions */ struct cell { list tail; list head; }; struct atomcell { list plist; list value; char *pname; int ftype; list (*func)(); list (*valfunc)(); int mid; int fid; list hlink; }; struct stringcell { int length; char str[4]; /* dummy array */ }; struct gccell { list tagfield; }; struct atomdefs { char *symname; int symtype; list (*symfunc)(); }; struct cannafndefs { char *fnname; int fnid; }; struct cannamodedefs { char *mdname; int mdid; }; struct cannavardefs { char *varname; list (*varfunc)(); }; Canna37p3/ccustom/mfdef.h0100644000076500001200000003005407554213563014570 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef _MFDEF_H_ #define _MFDEF_H_ /* @(#) 102.1 $Id: mfdef.h,v 1.1.1.1 2002/10/19 08:27:31 aida_s Exp $ */ /* ¤³¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤Ï¥â¡¼¥É¤Ë³ä¤ê¿¶¤é¤ì¤¿ÈÖ¹æ¤ä¡¢´Ø¿ô¤Ë³ä¤ê¿¶¤é¤ì¤¿ ÈÖ¹æ¤ò´ÉÍý¤¹¤ë¡£ */ /* ¥â¡¼¥É */ /* real modes */ /* ¼Â¥â¡¼¥É(real mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤ë¥â¡¼¥É */ #define CANNA_MODE_AlphaMode 0 /* ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É */ #define CANNA_MODE_EmptyMode 1 /* ÆÉ¤ßÆþÎϤ¬¤Ê¤¤¾õÂÖ */ #define CANNA_MODE_KigoMode 2 /* µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ */ #define CANNA_MODE_YomiMode 3 /* ÆÉ¤ßÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ */ #define CANNA_MODE_JishuMode 4 /* ʸ»ú¼ïÊÑ´¹¤·¤Æ¤¤¤ë¾õÂÖ */ #define CANNA_MODE_TankouhoMode 5 /* ñ°ì¸õÊäɽ¼¨¾õÂÖ */ #define CANNA_MODE_IchiranMode 6 /* ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ */ #define CANNA_MODE_YesNoMode 7 /* ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ */ #define CANNA_MODE_OnOffMode 8 /* ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ */ #define CANNA_MODE_AdjustBunsetsuMode 9 /* ʸÀá¿­½Ì¥â¡¼¥É */ #define CANNA_MODE_ChikujiYomiMode 10 /* Ã༡ÊÑ´¹¥â¡¼¥É¤ÎÆÉ¤ßÉôʬ */ #define CANNA_MODE_ChikujiTanMode 11 /* Ã༡ÊÑ´¹¥â¡¼¥É¤Î¸õÊäÉôʬ */ #define CANNA_MODE_MAX_REAL_MODE (CANNA_MODE_ChikujiTanMode + 1) /* imaginary modes */ /* µõ¥â¡¼¥É(imaginary mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤Ê¤¤¥â¡¼¥É */ #define CANNA_MODE_HenkanMode CANNA_MODE_EmptyMode #define CANNA_MODE_HenkanNyuryokuMode 12 #define CANNA_MODE_ZenHiraHenkanMode 13 #define CANNA_MODE_HanHiraHenkanMode 14 #define CANNA_MODE_ZenKataHenkanMode 15 #define CANNA_MODE_HanKataHenkanMode 16 #define CANNA_MODE_ZenAlphaHenkanMode 17 #define CANNA_MODE_HanAlphaHenkanMode 18 #define CANNA_MODE_ZenHiraKakuteiMode 19 #define CANNA_MODE_HanHiraKakuteiMode 20 #define CANNA_MODE_ZenKataKakuteiMode 21 #define CANNA_MODE_HanKataKakuteiMode 22 #define CANNA_MODE_ZenAlphaKakuteiMode 23 #define CANNA_MODE_HanAlphaKakuteiMode 24 #define CANNA_MODE_HexMode 25 /* £±£¶¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É */ #define CANNA_MODE_BushuMode 26 /* Éô¼ó¤ÎÆÉ¤ß¤ÎÆþÎϾõÂÖ */ #define CANNA_MODE_ExtendMode 27 /* ³ÈÄ¥µ¡Ç½ÁªÂò */ #define CANNA_MODE_RussianMode 28 /* ¥í¥·¥¢Ê¸»úÁªÂò */ #define CANNA_MODE_GreekMode 29 /* ¥®¥ê¥·¥¢Ê¸»úÁªÂò */ #define CANNA_MODE_LineMode 30 /* ·ÓÀþÁªÂò */ #define CANNA_MODE_ChangingServerMode 31 /* ¥µ¡¼¥ÐÊѹ¹ */ #define CANNA_MODE_HenkanMethodMode 32 /* ÊÑ´¹Êý¼°ÁªÂò */ #define CANNA_MODE_DeleteDicMode 33 /* ñ¸ìºï½ü */ #define CANNA_MODE_TourokuMode 34 /* ñ¸ìÅÐÏ¿¥â¡¼¥É */ #define CANNA_MODE_TourokuEmptyMode CANNA_MODE_TourokuMode #define CANNA_MODE_TourokuHinshiMode 35 /* ñ¸ìÅÐÏ¿¤ÎÉÊ»ìÁªÂò¾õÂÖ */ #define CANNA_MODE_TourokuDicMode 36 /* ñ¸ìÅÐÏ¿¤Î¼­½ñÁªÂò¾õÂÖ */ #define CANNA_MODE_QuotedInsertMode 37 /* °úÍÑÆþÎϥ⡼¥É */ #define CANNA_MODE_BubunMuhenkanMode 38 /* Éôʬ̵ÊÑ´¹¾õÂÖ */ #define CANNA_MODE_MountDicMode 39 /* ¼­½ñ¤Îmount,unmount¾õÂÖ */ #define CANNA_MODE_MAX_IMAGINARY_MODE (CANNA_MODE_MountDicMode + 1) #ifdef IROHA_BC /* real modes */ /* ¼Â¥â¡¼¥É(real mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤ë¥â¡¼¥É */ #define IROHA_MODE_AlphaMode CANNA_MODE_AlphaMode #define IROHA_MODE_EmptyMode CANNA_MODE_EmptyMode #define IROHA_MODE_KigoMode CANNA_MODE_KigoMode #define IROHA_MODE_YomiMode CANNA_MODE_YomiMode #define IROHA_MODE_JishuMode CANNA_MODE_JishuMode #define IROHA_MODE_TankouhoMode CANNA_MODE_TankouhoMode #define IROHA_MODE_IchiranMode CANNA_MODE_IchiranMode #define IROHA_MODE_YesNoMode CANNA_MODE_YesNoMode #define IROHA_MODE_OnOffMode CANNA_MODE_OnOffMode #define IROHA_MODE_AdjustBunsetsuMode CANNA_MODE_AdjustBunsetsuMode #define IROHA_MODE_MAX_REAL_MODE CANNA_MODE_MAX_REAL_MODE /* imaginary modes */ /* µõ¥â¡¼¥É(imaginary mode)¤Ï¥­¡¼¥Þ¥Ã¥×¤Î¼ÂÂΤò»ý¤Ã¤Æ¤¤¤Ê¤¤¥â¡¼¥É */ #define IROHA_MODE_HenkanMode CANNA_MODE_HenkanMode #define IROHA_MODE_HenkanNyuryokuMode CANNA_MODE_HenkanNyuryokuMode #define IROHA_MODE_HexMode CANNA_MODE_HexMode #define IROHA_MODE_BushuMode CANNA_MODE_BushuMode #define IROHA_MODE_ExtendMode CANNA_MODE_ExtendMode #define IROHA_MODE_RussianMode CANNA_MODE_RussianMode #define IROHA_MODE_GreekMode CANNA_MODE_GreekMode #define IROHA_MODE_LineMode CANNA_MODE_LineMode #define IROHA_MODE_ChangingServerMode CANNA_MODE_ChangingServerMode #define IROHA_MODE_HenkanMethodMode CANNA_MODE_HenkanMethodMode #define IROHA_MODE_DeleteDicMode CANNA_MODE_DeleteDicMode #define IROHA_MODE_TourokuMode CANNA_MODE_TourokuMode #define IROHA_MODE_TourokuEmptyMode CANNA_MODE_TourokuEmptyMode #define IROHA_MODE_TourokuHinshiMode CANNA_MODE_TourokuHinshiMode #define IROHA_MODE_TourokuDicMode CANNA_MODE_TourokuDicMode #define IROHA_MODE_QuotedInsertMode CANNA_MODE_QuotedInsertMode #define IROHA_MODE_BubunMuhenkanMode CANNA_MODE_BubunMuhenkanMode #define IROHA_MODE_MountDicMode CANNA_MODE_MountDicMode #define IROHA_MODE_MAX_IMAGINARY_MODE CANNA_MODE_MAX_IMAGINARY_MODE #endif /* IROHA_BC */ /* ¥­¡¼´Ø¿ô */ /* ̤ÄêµÁ¤Ë¤¹¤ë */ #define DEFAULTBEHAVIOR 0 #define CANNA_FN_Undefined 0 /* ²¿¤â¤·¤Ê¤¤/¥­¡¼¤ò¥¹¥ë¡¼¤ÇÄ̤¹ */ /* ʸ»úÁÞÆþ */ #define CANNA_FN_SelfInsert 1 /* °ìʸ»úÁÞÆþ¤¹¤ë */ #define CANNA_FN_FunctionalInsert 2 /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ê¤É */ #define CANNA_FN_QuotedInsert 3 /* °úÍÑÁÞÆþ */ /* ´ðËÜŪ¥â¡¼¥ÉÀڤ괹¤¨ */ #define CANNA_FN_JapaneseMode 4 /* ÆüËܸìÆþÎϥ⡼¥É */ #define CANNA_FN_AlphaMode 5 /* ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É */ #define CANNA_FN_HenkanNyuryokuMode 6 /* ÊÑ´¹ÆþÎϥ⡼¥É */ /* ÊÔ½¸ */ #define CANNA_FN_Forward 7 /* ±¦¤Ø */ #define CANNA_FN_Backward 8 /* º¸¤Ø */ #define CANNA_FN_Next 9 /* ¼¡¤Î¹Ô */ #define CANNA_FN_Prev 10 /* Á°¤Î¹Ô */ #define CANNA_FN_BeginningOfLine 11 /* ¹ÔƬ */ #define CANNA_FN_EndOfLine 12 /* ¹ÔËö */ #define CANNA_FN_DeleteNext 13 /* ºï½ü */ #define CANNA_FN_DeletePrevious 14 /* ºï½ü */ #define CANNA_FN_KillToEndOfLine 15 /* ¹ÔËö¤Þ¤Çºï½ü */ /* ¥«¥Ê´Á»úÊÑ´¹µ¡Ç½ */ #define CANNA_FN_Henkan 16 /* ÊÑ´¹ */ #define CANNA_FN_Kakutei 17 /* ³ÎÄê */ #define CANNA_FN_Extend 18 /* ¿­¤Ð¤· */ #define CANNA_FN_Shrink 19 /* ½Ì¤á */ #define CANNA_FN_AdjustBunsetsu 20 /* ʸÀá¿­½Ì¥â¡¼¥É¤ËÆþ¤ë */ #define CANNA_FN_Quit 21 /* ¼è¤ê¤ä¤á */ #define CANNA_FN_ConvertAsHex 22 /* £±£¶¿Ê¥³¡¼¥É¤È¤·¤ÆÊÑ´¹ */ #define CANNA_FN_ConvertAsBushu 23 /* Éô¼ó̾¤È¤·¤ÆÊÑ´¹ */ #define CANNA_FN_KouhoIchiran 24 /* ¸õÊä°ìÍ÷ */ #define CANNA_FN_BubunMuhenkan 25 /* Éôʬ̵ÊÑ´¹ */ /* ʸ»ú¼ïÊÑ´¹¤À¤±¤Ë»È¤ï¤ì¤ëµ¡Ç½ */ #define CANNA_FN_Zenkaku 26 /* Á´³Ñ¤Ø¤ÎÊÑ´¹ */ #define CANNA_FN_Hankaku 27 /* Ⱦ³Ñ¤Ø¤ÎÊÑ´¹ */ #define CANNA_FN_ToUpper 28 /* Âçʸ»ú¤Ø¤ÎÊÑ´¹ */ #define CANNA_FN_Capitalize 29 /* ÀèÆ¬¤À¤±Âçʸ»ú¤Ë¤¹¤ë */ #define CANNA_FN_ToLower 30 /* ¾®Ê¸»ú¤Ø¤ÎÊÑ´¹ */ #define CANNA_FN_Hiragana 31 /* ¤Ò¤é¤¬¤ÊÊÑ´¹ */ #define CANNA_FN_Katakana 32 /* ¥«¥¿¥«¥ÊÊÑ´¹ */ #define CANNA_FN_Romaji 33 /* ¥í¡¼¥Þ»úÊÑ´¹ */ /* ÆÉ¤ß¥â¡¼¥É¤Ç¤Î¥Ù¡¼¥¹Ê¸»ú¤ÎÀÚ¤êÂØ¤¨ */ #define CANNA_FN_BaseHiragana 34 /* ¥Ù¡¼¥¹Ê¸»ú¤ò¤Ò¤é¤¬¤Ê¤Ë */ #define CANNA_FN_BaseKatakana 35 /* ¥Ù¡¼¥¹Ê¸»ú¤ò¥«¥¿¥«¥Ê¤Ë */ #define CANNA_FN_BaseEisu 36 /* ¥Ù¡¼¥¹Ê¸»ú¤ò±Ñ¿ô¤Ë */ #define CANNA_FN_BaseZenkaku 37 /* ¥Ù¡¼¥¹Ê¸»ú¤òÁ´³Ñ¤Ë */ #define CANNA_FN_BaseHankaku 38 /* ¥Ù¡¼¥¹Ê¸»ú¤òȾ³Ñ¤Ë */ #define CANNA_FN_BaseKana 39 /* ¥Ù¡¼¥¹Ê¸»ú¤ò¤«¤Ê¤Ë */ #define CANNA_FN_BaseKakutei 40 /* ³ÎÄê¥Ù¡¼¥¹¤Ë */ #define CANNA_FN_BaseHenkan 41 /* ÊÑ´¹¥Ù¡¼¥¹¤Ë */ #define CANNA_FN_BaseHiraKataToggle 42 /* ¤Ò¤é¤¬¤Ê/¥«¥¿¥«¥Ê¤Ç¥È¥°¥ë¤¹¤ë */ #define CANNA_FN_BaseZenHanToggle 43 /* Á´³Ñ/Ⱦ³Ñ¤Ç¥È¥°¥ë¤¹¤ë */ #define CANNA_FN_BaseKanaEisuToggle 44 /* ¤«¤Ê/±Ñ¿ô¤Ç¥È¥°¥ë¤¹¤ë */ #define CANNA_FN_BaseKakuteiHenkanToggle 45 /* ³ÎÄê/ÊÑ´¹¤Ç¥È¥°¥ë¤¹¤ë */ #define CANNA_FN_BaseRotateForward 46 /* ¥Ù¡¼¥¹Ê¸»ú¤ò½ç·«¤ê¤ËÀÚ¤êÂØ¤¨¤ë */ #define CANNA_FN_BaseRotateBackward 47 /* ¥Ù¡¼¥¹Ê¸»ú¤òµÕ·«¤ê¤ËÀÚ¤êÂØ¤¨¤ë */ /* ¤½¤Î¾¤Î¥â¡¼¥ÉÀÚ¤êÂØ¤¨ */ #define CANNA_FN_ExtendMode 48 /* ³ÈÄ¥¥â¡¼¥É */ #define CANNA_FN_Touroku CANNA_FN_ExtendMode /* µì¸ß´¹ */ #define CANNA_FN_HexMode 49 /* £±£¶¿ÊÆþÎϥ⡼¥É */ #define CANNA_FN_BushuMode 50 /* Éô¼óÆþÎϥ⡼¥É */ #define CANNA_FN_KigouMode 51 /* µ­¹æÆþÎϥ⡼¥É */ #define CANNA_FN_ZenHiraKakuteiMode 52 /* Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É */ #define CANNA_FN_ZenKataKakuteiMode 53 /* Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É */ #define CANNA_FN_HanKataKakuteiMode 54 /* Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É */ #define CANNA_FN_ZenAlphaKakuteiMode 55 /* Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎÏ¥â */ #define CANNA_FN_HanAlphaKakuteiMode 56 /* Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎÏ¥â */ #define CANNA_FN_HenkanOrInsert 57 #define CANNA_FN_HenkanOrNothing 58 #define CANNA_FN_ChangeServerMode 59 #define CANNA_FN_DisconnectServer 60 #define CANNA_FN_ShowServer 61 #define CANNA_FN_ShowGakushu 62 #define CANNA_FN_ShowVersion 63 #define CANNA_FN_ShowPhonogramFile 64 #define CANNA_FN_ShowCannaFile 65 #define CANNA_FN_SyncDic 66 /* Ê£»¨¤Êµ¡Ç½ */ #define CANNA_FN_FuncSequence 67 /* Ê£¿ô¤Îµ¡Ç½¤Î³ä¤êÅö¤Æ */ #define CANNA_FN_UseOtherKeymap 68 /* ¥­¡¼¥·¡¼¥±¥ó¥¹¤ÎÂбþ */ #define CANNA_FN_MAX_FUNC (CANNA_FN_UseOtherKeymap + 1) #ifdef IROHA_BC #define IROHA_FN_Undefined CANNA_FN_Undefined /* ʸ»úÁÞÆþ */ #define IROHA_FN_SelfInsert CANNA_FN_SelfInsert #define IROHA_FN_FunctionalInsert CANNA_FN_FunctionalInsert #define IROHA_FN_QuotedInsert CANNA_FN_QuotedInsert /* ´ðËÜŪ¥â¡¼¥ÉÀڤ괹¤¨ */ #define IROHA_FN_JapaneseMode CANNA_FN_JapaneseMode #define IROHA_FN_AlphaMode CANNA_FN_AlphaMode #define IROHA_FN_HenkanNyuryokuMode CANNA_FN_HenkanNyuryokuMode /* ÊÔ½¸ */ #define IROHA_FN_Forward CANNA_FN_Forward #define IROHA_FN_Backward CANNA_FN_Backward #define IROHA_FN_Next CANNA_FN_Next #define IROHA_FN_Prev CANNA_FN_Prev #define IROHA_FN_BeginningOfLine CANNA_FN_BeginningOfLine #define IROHA_FN_EndOfLine CANNA_FN_EndOfLine #define IROHA_FN_DeleteNext CANNA_FN_DeleteNext #define IROHA_FN_DeletePrevious CANNA_FN_DeletePrevious #define IROHA_FN_KillToEndOfLine CANNA_FN_KillToEndOfLine /* ¥«¥Ê´Á»úÊÑ´¹µ¡Ç½ */ #define IROHA_FN_Henkan CANNA_FN_Henkan #define IROHA_FN_Kakutei CANNA_FN_Kakutei #define IROHA_FN_Extend CANNA_FN_Extend #define IROHA_FN_Shrink CANNA_FN_Shrink #define IROHA_FN_AdjustBunsetsu CANNA_FN_AdjustBunsetsu #define IROHA_FN_Quit CANNA_FN_Quit #define IROHA_FN_ConvertAsHex CANNA_FN_ConvertAsHex #define IROHA_FN_ConvertAsBushu CANNA_FN_ConvertAsBushu #define IROHA_FN_KouhoIchiran CANNA_FN_KouhoIchiran #define IROHA_FN_BubunMuhenkan CANNA_FN_BubunMuhenkan /* ʸ»ú¼ïÊÑ´¹¤À¤±¤Ë»È¤ï¤ì¤ëµ¡Ç½ */ #define IROHA_FN_Zenkaku CANNA_FN_Zenkaku #define IROHA_FN_Hankaku CANNA_FN_Hankaku #define IROHA_FN_ToUpper CANNA_FN_ToUpper #define IROHA_FN_Capitalize CANNA_FN_Capitalize #define IROHA_FN_ToLower CANNA_FN_ToLower #define IROHA_FN_Hiragana CANNA_FN_Hiragana #define IROHA_FN_Katakana CANNA_FN_Katakana #define IROHA_FN_Romaji CANNA_FN_Romaji /* ¤½¤Î¾¤Î¥â¡¼¥ÉÀÚ¤êÂØ¤¨ */ #define IROHA_FN_ExtendMode CANNA_FN_ExtendMode #define IROHA_FN_Touroku CANNA_FN_Touroku #define IROHA_FN_HexMode CANNA_FN_HexMode #define IROHA_FN_BushuMode CANNA_FN_BushuMode #define IROHA_FN_KigouMode CANNA_FN_KigouMode #define IROHA_FN_UserMode CANNA_FN_UserMode /* Ê£»¨¤Êµ¡Ç½ */ #define IROHA_FN_FuncSequence CANNA_FN_FuncSequence #define IROHA_FN_UseOtherKeymap CANNA_FN_UseOtherKeymap #define IROHA_FN_MAX_FUNC CANNA_FN_MAX_FUNC #endif /* IROHA_BC */ #endif /* _MFDEF_H_ */ Canna37p3/ccustom/parse.c0100644000076500001200000003224507554213564014621 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ static char rcs_id[] = "@(#) 102.1 $Id: parse.c,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $"; #include #ifndef NEWGEN #include "iroha.h" #endif /* NEWGEN */ #include "canna.h" #define KANJI /* char *RomkanaTable = (char *)NULL, RengoGakushu = (char *)NULL; KatakanaGakushu = (char *)NULL;*/ int InhibitHankakuKana = 0; char *Dictionary; int IROHA_ParseError; static int ptr, len; #ifndef NEWGEN extern yylineno; #endif /* NEWGEN */ extern char err_mess[]; static FILE *rcfile; FILE *fopen(); #define BUF_LEN 1024 #define BACK_BUF 16 static char rbuff[BACK_BUF + BUF_LEN]; static char *buff = rbuff + BACK_BUF; char IROHA_rcfilename[BUF_LEN] = ""; char CANNA_rcfilename[BUF_LEN] = ""; #ifdef NEWGEN char readCannaFile[BUF_LEN] = ""; #endif /* NEWGEN */ extern char *allKey[], *alphaKey[], *yomiganaiKey[]; extern char *yomiKey[], *jishuKey[], *tankouhoKey[]; extern char *ichiranKey[], *zenHiraKey[], *zenKataKey[]; extern char *zenAlphaKey[], *hanKataKey[], *hanAlphaKey[]; extern char *allFunc[], *alphaFunc[], *yomiganaiFunc[]; extern char *yomiFunc[], *jishuFunc[], *tankouhoFunc[]; extern char *ichiranFunc[], *zenHiraFunc[], *zenKataFunc[]; extern char *zenAlphaFunc[], *hanKataFunc[], *hanAlphaFunc[]; extern int NallKeyFunc, NalphaKeyFunc, NyomiganaiKeyFunc, NyomiKeyFunc; extern int NjishuKeyFunc, NtankouhoKeyFunc, NichiranKeyFunc; extern int NzenHiraKeyFunc, NzenKataKeyFunc, NzenAlphaKeyFunc; extern int NhanKataKeyFunc, NhanAlphaKeyFunc; extern char *RomkanaTable, *RengoGakushu; static DISPLAY_to_hostname(name, buf, bufsize) char *name, *buf; int bufsize; { if (name[0] == ':' || !strncmp(name, "unix", 4)) { gethostname(buf, bufsize); } else { int i, len = strlen(name); for (i = 0 ; i < len && i < bufsize ; i++) { if (name[i] == ':') { break; } else { buf[i] = name[i]; } } if (i < bufsize) { buf[i] = '\0'; } } } before_parse() { int i; free_mode_mei(); init_mode_mei(); if (RomkanaTable) { free(RomkanaTable); RomkanaTable = NULL; } if (nkanjidics) { for (i = 0;i < nkanjidics && *kanjidicname[i];i++) { if (kanjidicname[i]) free(kanjidicname[i]); } } if (nuserdics) { for (i = 0;i < nuserdics && *userdicname[i];i++) { if (userdicname[i]) free(userdicname[i]); } } if (nbushudics) { for (i = 0;i < nbushudics && *bushudicname[i];i++) { if (bushudicname[i]) free(bushudicname[i]); } } if (NallKeyFunc) { for (i = 0;i < NallKeyFunc && allKey[i];i++) { if (allKey[i]) free(allKey[i]); } for (i = 0;i < NallKeyFunc && allFunc[i];i++) { if (allFunc[i]) free(allFunc[i]); } } if (NalphaKeyFunc) { for (i = 0;i < NalphaKeyFunc && alphaKey[i];i++) { if (alphaKey[i]) free(alphaKey[i]); } for (i = 0;i < NalphaKeyFunc && alphaFunc[i];i++) { if (alphaFunc[i]) free(alphaFunc[i]); } } if (NyomiganaiKeyFunc) { for (i = 0;i < NyomiganaiKeyFunc && yomiganaiKey[i];i++) { if (yomiganaiKey[i]) free(yomiganaiKey[i]); } for (i = 0;i < NyomiganaiKeyFunc && yomiganaiFunc[i];i++) { if (yomiganaiFunc[i]) free(yomiganaiFunc[i]); } } if (NyomiKeyFunc) { for (i = 0;i < NyomiKeyFunc && yomiKey[i];i++) { if (yomiKey[i]) free(yomiKey[i]); } for (i = 0;i < NyomiKeyFunc && yomiFunc[i];i++) { if (yomiFunc[i]) free(yomiFunc[i]); } } if (NjishuKeyFunc) { for (i = 0;i < NjishuKeyFunc && jishuKey[i];i++) { if (jishuKey[i]) free(jishuKey[i]); } for (i = 0;i < NjishuKeyFunc && jishuFunc[i];i++) { if (jishuFunc[i]) free(jishuFunc[i]); } } if (NtankouhoKeyFunc) { for (i = 0;i < NtankouhoKeyFunc && tankouhoKey[i];i++) { if (tankouhoKey[i]) free(tankouhoKey[i]); } for (i = 0;i < NtankouhoKeyFunc && tankouhoFunc[i];i++) { if (tankouhoFunc[i]) free(tankouhoFunc[i]); } } if (NichiranKeyFunc) { for (i = 0;i < NichiranKeyFunc && ichiranKey[i];i++) { if (ichiranKey[i]) free(ichiranKey[i]); } for (i = 0;i < NichiranKeyFunc && ichiranFunc[i];i++) { if (ichiranFunc[i]) free(ichiranFunc[i]); } } if (NzenHiraKeyFunc) { for (i = 0;i < NzenHiraKeyFunc && zenHiraKey[i];i++) { if (zenHiraKey[i]) free(zenHiraKey[i]); } for (i = 0;i < NzenHiraKeyFunc && zenHiraFunc[i];i++) { if (zenHiraFunc[i]) free(zenHiraFunc[i]); } } if (NzenKataKeyFunc) { for (i = 0;i < NzenKataKeyFunc && zenKataKey[i];i++) { if (zenKataKey[i]) free(zenKataKey[i]); } for (i = 0;i < NzenKataKeyFunc && zenKataFunc[i];i++) { if (zenKataFunc[i]) free(zenKataFunc[i]); } } if (NzenAlphaKeyFunc) { for (i = 0;i < NzenAlphaKeyFunc && zenAlphaKey[i];i++) { if (zenAlphaKey[i]) free(zenAlphaKey[i]); } for (i = 0;i < NzenAlphaKeyFunc && zenAlphaFunc[i];i++) { if (zenAlphaFunc[i]) free(zenAlphaFunc[i]); } } if (NhanKataKeyFunc) { for (i = 0;i < NhanKataKeyFunc && hanKataKey[i];i++) { if (hanKataKey[i]) free(hanKataKey[i]); } for (i = 0;i < NhanKataKeyFunc && hanKataFunc[i];i++) { if (hanKataFunc[i]) free(hanKataFunc[i]); } } if (NhanAlphaKeyFunc) { for (i = 0;i < NhanAlphaKeyFunc && hanAlphaKey[i];i++) { if (hanAlphaKey[i]) free(hanAlphaKey[i]); } for (i = 0;i < NhanAlphaKeyFunc && hanAlphaFunc[i];i++) { if (hanAlphaFunc[i]) free(hanAlphaFunc[i]); } } nkanjidics = nuserdics = nbushudics = 0; NallKeyFunc = NalphaKeyFunc = NyomiganaiKeyFunc = NyomiKeyFunc = 0; NjishuKeyFunc = NtankouhoKeyFunc = NichiranKeyFunc = NzenHiraKeyFunc = 0; NzenKataKeyFunc = NzenAlphaKeyFunc = NhanKataKeyFunc = NhanAlphaKeyFunc = 0; } #define NAMEBUFSIZE 1024 #ifndef NEWGEN /* cfuncdef parse_string -- ʸ»úÎó¤ò¥Ñ¡¼¥¹¤¹¤ë¡£ */ parse_string(str) char *str; { rcfile = (FILE *)0; ptr = yylineno = 0; strcpy(buff, str); len = strlen(buff); IROHA_ParseError = 0; yyparse(); } /* cfuncdef YYparse -- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤à¡£ ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¡£ */ static YYparse(f) FILE *f; { rcfile = f; ptr = len = yylineno = 0; IROHA_ParseError = 0; yyparse(); } /* cfuncdef YYparse_by_rcfilename -- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¡£ IROHA_rcfilename ¤Ë¤Æ»ØÄꤵ¤ì¤Æ¤¤¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤· ÆÉ¤ß¹þ¤à¡£ Ìá¤êÃÍ £± ÆÉ¤ß¹þ¤á¤¿¡¢£° ÆÉ¤ß¹þ¤á¤Ê¤«¤Ã¤¿ */ static YYparse_by_rcfilename() { FILE *f; if (f = fopen(IROHA_rcfilename, "r")) { before_parse(); #ifdef DEBUG if (iroha_debug) printf("cookrc(%s)\n",IROHA_rcfilename); #endif /* DEBUG */ YYparse(f); fclose(f); return 1; } return 0; } /* cfuncdef parse -- .iroha ¥Õ¥¡¥¤¥ë¤òõ¤·¤Æ¤­¤ÆÆÉ¤ß¹þ¤à¡£ parse ¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òõ¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·¥Ñ¡¼¥¹¤¹ ¤ë¡£ ¥Ñ¡¼¥¹Ãæ¤Î¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò IROHA_rcfilename ¤ËÆþ¤ì¤Æ¤ª¤¯¡£ */ #define RCFILENAME ".iroha" #define SYSRCDIR "/usr/lib/iroha/" #define FILEENVNAME "IROHAFILE" parse() { char *p, *getenv(); int n; int home_iroha_exist = 0; extern char *initFileSpecified; if (initFileSpecified) { strcpy(IROHA_rcfilename, initFileSpecified); if (YYparse_by_rcfilename()) { return; } else { strcpy(err_mess, IROHA_rcfilename); return; } } if (p = getenv(FILEENVNAME)) { strcpy(IROHA_rcfilename, p); if (YYparse_by_rcfilename()) return; } if (p = getenv("HOME")) { strcpy(IROHA_rcfilename, p); strcat(IROHA_rcfilename, "/"); strcat(IROHA_rcfilename, RCFILENAME); n = strlen(IROHA_rcfilename); /* $HOME/.iroha */ home_iroha_exist = YYparse_by_rcfilename(); if (home_iroha_exist) { /* $HOME/.iroha-DISPLAY */ if (p = getenv("DISPLAY")) { char display[NAMEBUFSIZE]; DISPLAY_to_hostname(p, display, NAMEBUFSIZE); IROHA_rcfilename[n] = '-'; strcpy(IROHA_rcfilename + n + 1, display); YYparse_by_rcfilename(); } /* $HOME/.iroha-TERM */ if (p = getenv("TERM")) { IROHA_rcfilename[n] = '-'; strcpy(IROHA_rcfilename + n + 1, p); YYparse_by_rcfilename(); } } } if ( !home_iroha_exist ) { /* ºÇ¸å¤Ï¥·¥¹¥Æ¥à¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤à */ strcpy(IROHA_rcfilename, SYSRCDIR); n = strlen(IROHA_rcfilename); strcpy(IROHA_rcfilename + n, "default"); strcat(IROHA_rcfilename + n, RCFILENAME); if (YYparse_by_rcfilename()) { if (p = getenv("DISPLAY")) { char display[NAMEBUFSIZE]; DISPLAY_to_hostname(p, display, NAMEBUFSIZE); strcpy(IROHA_rcfilename + n, display); strcat(IROHA_rcfilename, RCFILENAME); YYparse_by_rcfilename(); } if (p = getenv("TERM")) { strcpy(IROHA_rcfilename + n, p); strcat(IROHA_rcfilename, RCFILENAME); YYparse_by_rcfilename(); } } else { char buf[256]; sprintf(buf, "¥·¥¹¥Æ¥à¤Î½é´ü²½¥Õ¥¡¥¤¥ë %s ¤¬Â¸ºß¤·¤Þ¤»¤ó¡£", IROHA_rcfilename); } } } #endif /* NEWGEN */ /* cfuncdef cparse -- .canna ¥Õ¥¡¥¤¥ë¤òõ¤·¤Æ¤­¤ÆÆÉ¤ß¹þ¤à¡£ parse ¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òõ¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·¥Ñ¡¼¥¹¤¹ ¤ë¡£ ¥Ñ¡¼¥¹Ãæ¤Î¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò CANNA_rcfilename ¤ËÆþ¤ì¤Æ¤ª¤¯¡£ */ #define CRCFILENAME ".canna" #define CFILEENVNAME "CANNAFILE" cparse() { char *p, *getenv(); int n; extern iroha_debug; int home_canna_exist = 0; extern char *initFileSpecified; if (clisp_init() == NULL) exitccustom(); if (initFileSpecified) { strcpy(CANNA_rcfilename, initFileSpecified); if (LLparse_by_rcfilename(CANNA_rcfilename)) { #ifdef NEWGEN strcpy(readCannaFile, CANNA_rcfilename); #endif /* NEWGEN */ goto quitparse; } else { strcpy(err_mess, CANNA_rcfilename); goto quitparse; } } if (p = getenv(CFILEENVNAME)) { strcpy(CANNA_rcfilename, p); if (LLparse_by_rcfilename(CANNA_rcfilename)) { #ifdef NEWGEN strcpy(readCannaFile, CANNA_rcfilename); #endif /* NEWGEN */ goto quitparse; } } if (p = getenv("HOME")) { strcpy(CANNA_rcfilename, p); strcat(CANNA_rcfilename, "/"); strcat(CANNA_rcfilename, CRCFILENAME); n = strlen(CANNA_rcfilename); /* $HOME/.canna */ if(home_canna_exist = LLparse_by_rcfilename(CANNA_rcfilename)); if (home_canna_exist) { #ifdef NEWGEN strcpy(readCannaFile, CANNA_rcfilename); #endif /* NEWGEN */ /* $HOME/.canna-DISPLAY */ if (p = getenv("DISPLAY")) { char display[NAMEBUFSIZE]; DISPLAY_to_hostname(p, display, NAMEBUFSIZE); CANNA_rcfilename[n] = '-'; strcpy(CANNA_rcfilename + n + 1, display); if(LLparse_by_rcfilename(CANNA_rcfilename)) { } } /* $HOME/.canna-TERM */ if (p = getenv("TERM")) { CANNA_rcfilename[n] = '-'; strcpy(CANNA_rcfilename + n + 1, p); if(LLparse_by_rcfilename(CANNA_rcfilename)) { } } } } if ( !home_canna_exist ) { /* ºÇ¸å¤Ï¥·¥¹¥Æ¥à¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤à */ strcpy(CANNA_rcfilename, CANNALIBDIR); n = strlen(CANNA_rcfilename); strcpy(CANNA_rcfilename + n, "/default"); strcat(CANNA_rcfilename + n, CRCFILENAME); if (LLparse_by_rcfilename(CANNA_rcfilename)) { if (p = getenv("DISPLAY")) { char display[NAMEBUFSIZE]; DISPLAY_to_hostname(p, display, NAMEBUFSIZE); CANNA_rcfilename[n] = '/'; strcpy(CANNA_rcfilename + n + 1, display); strcat(CANNA_rcfilename, CRCFILENAME); if(LLparse_by_rcfilename(CANNA_rcfilename)) { } } if (p = getenv("TERM")) { CANNA_rcfilename[n] = '/'; strcpy(CANNA_rcfilename + n + 1, p); strcat(CANNA_rcfilename, CRCFILENAME); if(LLparse_by_rcfilename(CANNA_rcfilename)) { } } } else { strcpy(err_mess, CANNA_rcfilename); } } quitparse: clisp_fin(); } #ifndef NEWGEN int IROHA_input() { while (ptr == len) { if (rcfile == (FILE *)NULL || fgets(buff, BUF_LEN, rcfile) == (char *)NULL) return (int)NULL; yylineno++; ptr = 0; len = strlen(buff); } #ifdef KANJI return ((buff[ptr] == -1) ? (ptr++, -1) : (int)(unsigned char)buff[ptr++]); #else /* not KANJI */ return ((int)buff[ptr++]); #endif /* not KANJI */ } void IROHA_unput(c) { buff[--ptr] = c; } void IROHA_output(c) { putchar(c); } #endif /* NEWGEN */ Canna37p3/ccustom/README.3860100644000076500001200000001334607554213561014540 0ustar shinraadmin386BSD 0.1 ¤Ç¡¢ccustom ¤ò»È¤¦¤¿¤á¤Î¥á¥â .canna ¤ò½ñ¤¯¤Î¤Ï¡¢ºÇ½é¤ÏÂçÊѤǤ¹¤Î¤Ç¡¢ccustom ¤¬»È¤¨¤¿¤Û¤¦¤¬ÊØÍø¤Ç¤¹¡£ 386BSD Åù¤Î BSD ·Ï¤Îcurses¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¢ccustom ¤òư¤«¤¹¤Ë¤Ïµ¡Ç½ÉÔ­ ¤Ç¤¹¤¬¡¢libcurses ¤Î¥½¡¼¥¹¤¬ÉÕ°¤·¤Æ¤¤¤ë 386BSD ¤Ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¡¢ ¤È¤ê¤¢¤¨¤º»È¤¨¤ë¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡£ 1.¥³¥ó¥Ñ¥¤¥ë (1) libcurses ¤Î¥½¡¼¥¹¤òŬÅö¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£ (2) 8bit ʸ»ú¤¬°·¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¢comp.unix.bsd ¤Ëή¤ì¤Æ¤¤¤¿ 8bit curses ¤Î¥Ñ¥Ã¥Á¤ò¤¢¤Æ¤Þ¤¹¡£¥Ñ¥Ã¥Á¤Ï¡¢ From: ache@astral.msk.su (Andrew A. Chernov, Black Mage) Newsgroups: comp.unix.bsd Subject: [386bsd] Patch for curses library, make it clean 8-bit Date: 9 Jan 93 00:06:29 JST Reply-To: ache@astral.msk.su Organization: Ha-oh-lahm Yetzirah ¤È¡¢ Subject: [386bsd] Patch #2 for curses, make it clean 8-bit Subject: [386bsd] Patch #3 for 8-bit curses, useful for standard curses too Subject: [386bsd] Patch #4 for 8-bit curses, for standard curses too! ¤Î£´¤Ä¤ò»È¤¤¤Þ¤·¤¿¡£ (3) ¤³¤Î¤Þ¤Þ¤Ç¤Ï¡¢´Á»ú¤ËÂФ·¤ÆÌäÂ꤬¤¢¤ë¤Î¤Ç¡¢¤µ¤é¤Ë¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ÎºÇ ¸å¤Ë¤¢¤ë¥Ñ¥Ã¥Á¤ò¤¢¤Æ¤Þ¤¹¡£¤³¤ì¤Ç¤â¡¢´Á»ú¤Î°·¤¤¤¬´°Á´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó ¤¬¡¢¤È¤ê¤¢¤¨¤º ccustom ¤ò»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ (4) libcurses ¤ò make¤·¤Þ¤¹¡£ (5) ¿·¤·¤¤ curses.h ¤È libcurses.a ¤¬»È¤ï¤ì¤ë¤è¤¦¤Ë¡¢ccustom ¤Î Makefile ¤ò½¤Àµ¤·¡¢ccustom ¤ò make ¤·¤Þ¤¹¡£ 2.»ÈÍѾå¤ÎÃí°Õ ¡¦¥«¡¼¥½¥ë¤Î°Üư¤ËÌð°õ¥­¡¼¤Ï»È¤¨¤Þ¤»¤ó¡£viÉ÷¤Ë 'h','j','l','k'¤ò»È¤¤¤Þ¤¹¡£ ¡¦¥­¡¼¤Î¥«¥¹¥È¥Þ¥¤¥º¤Ç¡¢¹Ôºï½ü¤Ï¡¢'K'(Âçʸ»ú)¤ò»È¤¤¤Þ¤¹(¾®Ê¸»ú¤Î'k'¤ò ¥«¡¼¥½¥ë°Üư¤Ë³ä¤êÅö¤Æ¤Æ¤·¤Þ¤Ã¤¿¤¿¤á)¡£ *** foo Mon Feb 22 18:01:05 1993 --- ./addbytes.c Mon Feb 22 18:01:58 1993 *************** *** 47,52 **** for (i = 0; i < count; i++) { c = (unsigned char) *bytes++; if (_waddbytes(win, &c, 1) == ERR) return ERR; } --- 47,59 ---- for (i = 0; i < count; i++) { c = (unsigned char) *bytes++; + if (c > 0x7f) { + i++; + c = c | ((unsigned char) *bytes++) << 8; + if (_waddbytes(win, &c, 1) == ERR) + return ERR; + c = ((c & 0xff) << 8) | ((c & 0xff00) >> 8); + } if (_waddbytes(win, &c, 1) == ERR) return ERR; } *** foo Mon Feb 22 18:01:05 1993 --- ./addstr.c Mon Feb 22 18:01:58 1993 *************** *** 50,59 **** # ifdef DEBUG fprintf(outf, "WADDSTR(\"%s\")\n", str); # endif for (s = str; *s;) { c = (unsigned char) *s++; if (_waddbytes(win, &c, 1) == ERR) return ERR; } return OK; } --- 50,64 ---- # ifdef DEBUG fprintf(outf, "WADDSTR(\"%s\")\n", str); # endif + #if 1 + if (waddbytes(win,str,strlen(str)) == ERR) + return ERR; + #else for (s = str; *s;) { c = (unsigned char) *s++; if (_waddbytes(win, &c, 1) == ERR) return ERR; } + #endif return OK; } *** foo Mon Feb 22 18:01:05 1993 --- ./curses.ext Mon Feb 22 18:01:58 1993 *************** *** 49,55 **** extern SGTTY _tty; - char _putchar(); #ifdef DEBUG # define outf _outf --- 49,55 ---- extern SGTTY _tty; + chtype _putchar(); #ifdef DEBUG # define outf _outf *** foo Mon Feb 22 18:01:05 1993 --- ./curses.h Mon Feb 22 18:01:58 1993 *************** *** 44,50 **** #define bool char #define reg register - typedef unsigned short chtype; #define TRUE (1) #define FALSE (0) --- 44,51 ---- #define bool char #define reg register + /*typedef unsigned short chtype;*/ + typedef unsigned int chtype; #define TRUE (1) #define FALSE (0) *************** *** 57,63 **** #define _FLUSH 010 #define _FULLLINE 020 #define _IDLINE 040 - #define _STANDOUT 0400 #define _NOCHANGE -1 #define _puts(s) tputs(s, 0, _putchar) --- 58,65 ---- #define _FLUSH 010 #define _FULLLINE 020 #define _IDLINE 040 + /*#define _STANDOUT 0400*/ + #define _STANDOUT 0x10000 #define _NOCHANGE -1 #define _puts(s) tputs(s, 0, _putchar) *************** *** 89,95 **** short _cury, _curx; short _maxy, _maxx; short _begy, _begx; - short _flags; short _ch_off; bool _clear; bool _leave; --- 91,97 ---- short _cury, _curx; short _maxy, _maxx; short _begy, _begx; + int _flags; short _ch_off; bool _clear; bool _leave; *** foo Mon Feb 22 18:01:05 1993 --- ./putchar.c Mon Feb 22 18:01:58 1993 *************** *** 37,47 **** # include "curses.ext" - char _putchar(c) - reg char c; { - putchar(c); #ifdef DEBUG fprintf(outf, "_PUTCHAR(%s)\n", unctrl(c)); #endif --- 37,47 ---- # include "curses.ext" + chtype _putchar(c) + reg chtype c; { + putchar(c & 0xff); #ifdef DEBUG fprintf(outf, "_PUTCHAR(%s)\n", unctrl(c)); #endif °Ê¾å /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ ($Id: README.386,v 1.1.1.1 2002/10/19 08:27:29 aida_s Exp $) Canna37p3/ccustom/set.c0100644000076500001200000004057507554213564014307 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * Author : Osamu Hata, NEC Corporation (hata@d1.bs2.mt.nec.co.jp) * */ static char rcs_id[] = "@(#) 102.1 $Id: set.c,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $"; /*#include "mfdef.h"*/ #include #include "canna.h" #ifndef NEWGEN #include "iroha.h" #endif /* NEWGEN */ #include "symbolname.h" #include "set.h" #define PREVK 3 #define NEXTK 2 #define YES 1 #define NO 0 #ifndef NEWGEN extern is_icustom; #endif /* NEWGEN */ char * showChar(c) int c; { if (c < 0x20) { strcpy(returnKey, "C-"); if (c == 0x00 || (c > 0x1a && c < 0x20 )) returnKey[2] = c + 0x40; else returnKey[2] = c + 0x60; returnKey[3] = '\0'; } else if (c > ' ' && c <= '~' ) { returnKey[0] = c; returnKey[1] = '\0'; } /* else if (c > 0xa0 && c < 0xdf) { returnKey[0] = 0x8e; returnKey[1] = c; returnKey[2] = '\0'; }*/ #ifndef NEWGEN else if (is_icustom && c == 0x89) strcpy(returnKey, "Clear"); #endif /* NEWGEN */ else if (c == 0x20) strcpy(returnKey, keyCharMap[0]); else if (c > 0x7e && c < 0x8c) strcpy(returnKey, keyCharMap[c -0x7f +1]); else if (c > 0x8f && c < 0x9c) strcpy(returnKey, keyCharMap[c -0x90 +14]); else if (c > 0xdf && c < 0xea) strcpy(returnKey, keyCharMap[c -0xe0 +26]); else if (c > 0xef && c < 0xf4) strcpy(returnKey, keyCharMap[c -0xf0 +36]); else if (c == 0xff) strcpy(returnKey, "undefine"); else strcpy(returnKey, "undefine"); return returnKey; } scc(key) char *key; { int length, Fkey, Ckey, Pkey, Skey; length = strlen(key); switch (length) { case 1: return (int)*key; /* °ìʸ»ú */ case 2: if (*key == 'F') { Fkey = (int)*(key +1) + 175; return Fkey; /* F1 ¡Á F9 */ } else { return 130; /* up */ } case 3: if (*key == 'C') { Ckey = *(key +2); if (Ckey == 64) { Ckey = 0; } else if (Ckey < 96) { Ckey -=64; /* [ ¡Á _ */ } else { Ckey -=96; /* a ¡Á z */ } return Ckey; /* CTRL */ } else if (*key == 'D') { return 127; /* DEL */ } else if (*key == 'F') { return 233; /* F10 */ } else if (*key == 'P') { Pkey = (int)*(key +2) + 191; return Pkey; /* PF1 ¡Á PF4 */ } case 4: if (*key == 'C') { return 152; /* C-up */ } else if (*key == 'D') { return 133; /* Down */ } else if (*key == 'H') { if (*(key+1) == 'E') { return 138; /* HELP */ } else if (*(key+1) == 'O') { return 137; /* Home */ } } else if (*key == 'L') { return 131; /* Left */ } else if (*key == 'N') { return 128; /* Nfer */ } else if (*key == 'S') { return 146; /* S-up */ } else if (*key == 'X') { return 129; /* Xfer */ } case 5: if (*key == 'R') { return 132; /* Right */ } else if (*key == 's') { return 32; /* space */ } else if (*key == 'C') { return 137; /* Clear */ } case 6: if (*key == 'I') { return 134; /* Insert */ } else if (*key == 'R') { return 135; /* Rollup */ } else if (*key == 'C') { if (*(key +2) == 'n') { Ckey = 150; /* nfer */ } else if (*(key +2) == 'x') { Ckey = 151; /* xfer */ } else if (*(key +2) == 'l') { Ckey = 153; /* left */ } else if (*(key +2) == 'd') { Ckey = 155; /* right */ } return Ckey; /* CTRL */ } else if (*key == 'S') { if (*(key +2) == 'n') { Skey = 144; /* nfer */ } else if (*(key +2) == 'x') { Skey = 145; /* xfer */ } else if (*(key +2) == 'l') { Skey = 147; /* left */ } else if (*(key +2) == 'd') { Skey = 149; /* right */ } return Skey; /* SHIFT */ } case 7: if (*key == 'C') { return 154; /* C-Right */ } if (*key == 'S') { return 148; /* S-Right */ } case 8: if (*key == 'R') { return 136; /* Rolldown */ } else { return 255; /* undefine */ } default: return 255; } } tilda(fileName) char *fileName; { char q[1024]; if (fileName[0] == '~') { strcpy(q , fileName); if (fileName[1] == '/') { strcpy(fileName, (char *)getenv("HOME")); strcat(fileName, q + 1); } } } changeModeName(mode,string) int mode; char *string; { char *p; if (!string) null_mode[mode] = (char)1; /* ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÏNULL¤Ç¤¢¤ë¡£*/ else { p = (char *)malloc(strlen(string) +1); if (p) { strcpy(p, string); mode_mei[mode] = p; } else { exitccustom(); } } } initKeyFunc() { allKey[0] = (char *)NULL; alphaKey[0] = (char *)NULL; yomiganaiKey[0] = (char *)NULL; yomiKey[0] = (char *)NULL; jishuKey[0] = (char *)NULL; tankouhoKey[0] = (char *)NULL; ichiranKey[0] = (char *)NULL; zenHiraKey[0] = (char *)NULL; zenKataKey[0] = (char *)NULL; zenAlphaKey[0] = (char *)NULL; hanKataKey[0] = (char *)NULL; hanAlphaKey[0] = (char *)NULL; allFunc[0] = (char *)NULL; alphaFunc[0] = (char *)NULL; yomiganaiFunc[0] = (char *)NULL; yomiFunc[0] = (char *)NULL; jishuFunc[0] = (char *)NULL; tankouhoFunc[0] = (char *)NULL; ichiranFunc[0] = (char *)NULL; zenHiraFunc[0] = (char *)NULL; zenKataFunc[0] = (char *)NULL; zenAlphaFunc[0] = (char *)NULL; hanKataFunc[0] = (char *)NULL; hanAlphaFunc[0] = (char *)NULL; } specialen(block) unsigned char *block; { int i; for (i = 0;block[i] != 255; i++); return i; } specpy(a, b) unsigned char *a, *b; { unsigned char *p; for(p = b; *b != 255; b++,a++) *a = *b; *a = 255; if (p == b) *++a = 255; } char * copy_acts(acts) unsigned char *acts; { unsigned char *p; p = (unsigned char *)malloc(strlen((char *)acts) + 1); if (p) { strcpy((char *)p, (char *)acts); return (char *)p; } else { exitccustom(); } } char * copy_keys(keys) unsigned char *keys; { unsigned char *p, *k1, *k2; p = (unsigned char *)malloc(specialen(keys) + 1); if (p) { k2 = p; for (k1 = keys; *k1 != 255; k1++,k2++) *k2 = *k1; *k2 = 255; if (p == k2) *++k2 = 255; return (char *)p; } exitccustom(); } changeKeyfunc(mode, key, fnum, actbuff, keybuff) int mode, key, fnum; unsigned char *actbuff, *keybuff; { switch(mode) { case 0 : alphaKey[NalphaKeyFunc] = copy_keys(keybuff); alphaFunc[NalphaKeyFunc++] = copy_acts(actbuff); alphaKey[NalphaKeyFunc] = (char *)NULL; alphaFunc[NalphaKeyFunc] = (char *)NULL; break; case 1 : yomiganaiKey[NyomiganaiKeyFunc] = copy_keys(keybuff); yomiganaiFunc[NyomiganaiKeyFunc++] = copy_acts(actbuff); yomiganaiKey[NyomiganaiKeyFunc] = (char *)NULL; yomiganaiFunc[NyomiganaiKeyFunc] = (char *)NULL; break; case 3 : zenHiraKey[NzenHiraKeyFunc] = copy_keys(keybuff); zenHiraFunc[NzenHiraKeyFunc++] = copy_acts(actbuff); zenHiraKey[NzenHiraKeyFunc] = (char *)NULL; zenHiraFunc[NzenHiraKeyFunc] = (char *)NULL; break; case 4 : zenKataKey[NzenKataKeyFunc] = copy_keys(keybuff); zenKataFunc[NzenKataKeyFunc++] = copy_acts(actbuff); zenKataKey[NzenKataKeyFunc] = (char *)NULL; zenKataFunc[NzenKataKeyFunc] = (char *)NULL; break; case 5 : hanKataKey[NhanKataKeyFunc] = copy_keys(keybuff); hanKataFunc[NhanKataKeyFunc++] = copy_acts(actbuff); hanKataKey[NhanKataKeyFunc] = (char *)NULL; hanKataFunc[NhanKataKeyFunc] = (char *)NULL; break; case 6 : zenAlphaKey[NzenAlphaKeyFunc] = copy_keys(keybuff); zenAlphaFunc[NzenAlphaKeyFunc++] = copy_acts(actbuff); zenAlphaKey[NzenAlphaKeyFunc] = (char *)NULL; zenAlphaFunc[NzenAlphaKeyFunc] = (char *)NULL; break; case 7 : hanAlphaKey[NhanAlphaKeyFunc] = copy_keys(keybuff); hanAlphaFunc[NhanAlphaKeyFunc++] = copy_acts(actbuff); hanAlphaKey[NhanAlphaKeyFunc] = (char *)NULL; hanAlphaFunc[NhanAlphaKeyFunc] = (char *)NULL; break; case 8 : yomiKey[NyomiKeyFunc] = copy_keys(keybuff); yomiFunc[NyomiKeyFunc++] = copy_acts(actbuff); yomiKey[NyomiKeyFunc] = (char *)NULL; yomiFunc[NyomiKeyFunc] = (char *)NULL; break; case 9 : jishuKey[NjishuKeyFunc] = copy_keys(keybuff); jishuFunc[NjishuKeyFunc++] = copy_acts(actbuff); jishuKey[NjishuKeyFunc] = (char *)NULL; jishuFunc[NjishuKeyFunc] = (char *)NULL; break; case 10 : tankouhoKey[NtankouhoKeyFunc] = copy_keys(keybuff); tankouhoFunc[NtankouhoKeyFunc++] = copy_acts(actbuff); tankouhoKey[NtankouhoKeyFunc] = (char *)NULL; tankouhoFunc[NtankouhoKeyFunc] = (char *)NULL; break; case 11 : ichiranKey[NichiranKeyFunc] = copy_keys(keybuff); ichiranFunc[NichiranKeyFunc++] = copy_acts(actbuff); ichiranKey[NichiranKeyFunc] = (char *)NULL; ichiranFunc[NichiranKeyFunc] = (char *)NULL; break; } } cchangeKeyfunc(mode, key, fnum, actbuff, keybuff) int mode, key, fnum; unsigned char *actbuff, *keybuff; { switch(mode) { case 0 : alphaKey[NalphaKeyFunc] = copy_keys(keybuff); alphaFunc[NalphaKeyFunc++] = copy_acts(actbuff); alphaKey[NalphaKeyFunc] = (char *)NULL; alphaFunc[NalphaKeyFunc] = (char *)NULL; break; case 1 : yomiganaiKey[NyomiganaiKeyFunc] = copy_keys(keybuff); yomiganaiFunc[NyomiganaiKeyFunc++] = copy_acts(actbuff); yomiganaiKey[NyomiganaiKeyFunc] = (char *)NULL; yomiganaiFunc[NyomiganaiKeyFunc] = (char *)NULL; break; case 19 : zenHiraKey[NzenHiraKeyFunc] = copy_keys(keybuff); zenHiraFunc[NzenHiraKeyFunc++] = copy_acts(actbuff); zenHiraKey[NzenHiraKeyFunc] = (char *)NULL; zenHiraFunc[NzenHiraKeyFunc] = (char *)NULL; break; case 21 : zenKataKey[NzenKataKeyFunc] = copy_keys(keybuff); zenKataFunc[NzenKataKeyFunc++] = copy_acts(actbuff); zenKataKey[NzenKataKeyFunc] = (char *)NULL; zenKataFunc[NzenKataKeyFunc] = (char *)NULL; break; case 22 : hanKataKey[NhanKataKeyFunc] = copy_keys(keybuff); hanKataFunc[NhanKataKeyFunc++] = copy_acts(actbuff); hanKataKey[NhanKataKeyFunc] = (char *)NULL; hanKataFunc[NhanKataKeyFunc] = (char *)NULL; break; case 23 : zenAlphaKey[NzenAlphaKeyFunc] = copy_keys(keybuff); zenAlphaFunc[NzenAlphaKeyFunc++] = copy_acts(actbuff); zenAlphaKey[NzenAlphaKeyFunc] = (char *)NULL; zenAlphaFunc[NzenAlphaKeyFunc] = (char *)NULL; break; case 24 : hanAlphaKey[NhanAlphaKeyFunc] = copy_keys(keybuff); hanAlphaFunc[NhanAlphaKeyFunc++] = copy_acts(actbuff); hanAlphaKey[NhanAlphaKeyFunc] = (char *)NULL; hanAlphaFunc[NhanAlphaKeyFunc] = (char *)NULL; break; case 3 : yomiKey[NyomiKeyFunc] = copy_keys(keybuff); yomiFunc[NyomiKeyFunc++] = copy_acts(actbuff); yomiKey[NyomiKeyFunc] = (char *)NULL; yomiFunc[NyomiKeyFunc] = (char *)NULL; break; case 4 : jishuKey[NjishuKeyFunc] = copy_keys(keybuff); jishuFunc[NjishuKeyFunc++] = copy_acts(actbuff); jishuKey[NjishuKeyFunc] = (char *)NULL; jishuFunc[NjishuKeyFunc] = (char *)NULL; break; case 5 : tankouhoKey[NtankouhoKeyFunc] = copy_keys(keybuff); tankouhoFunc[NtankouhoKeyFunc++] = copy_acts(actbuff); tankouhoKey[NtankouhoKeyFunc] = (char *)NULL; tankouhoFunc[NtankouhoKeyFunc] = (char *)NULL; break; case 6 : ichiranKey[NichiranKeyFunc] = copy_keys(keybuff); ichiranFunc[NichiranKeyFunc++] = copy_acts(actbuff); ichiranKey[NichiranKeyFunc] = (char *)NULL; ichiranFunc[NichiranKeyFunc] = (char *)NULL; break; } } changeKeyfuncOfAll(key, fnum, actbuff, keybuff) int key, fnum; unsigned char *actbuff, *keybuff; { allKey[NallKeyFunc] = copy_keys(keybuff); allFunc[NallKeyFunc++] = copy_acts(actbuff); allKey[NallKeyFunc] = (char *)NULL; allFunc[NallKeyFunc] = (char *)NULL; } char *string; append_dic(loc, dic) int loc; char *dic; { switch(loc) { case 0 : /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ if (RomkanaTable) free(RomkanaTable); RomkanaTable = (char *)malloc(64); if (RomkanaTable == NULL) { exitccustom(); } strncpy(RomkanaTable, dic, 63); return ; case 1 : /* ¥·¥¹¥Æ¥à¼­½ñ */ string = (char *)malloc(64); if (string == NULL) { exitccustom(); } strncpy(string, dic, 63); kanjidicname[nkanjidics++] = string; kanjidicname[nkanjidics] = NULL; return; case 2 : /* Éô¼óÊÑ´¹¼­½ñ */ string = (char *)malloc(64); if (string == NULL) { exitccustom(); } strncpy(string, dic, 63); bushudicname[nbushudics++] = string; bushudicname[nbushudics] = NULL; return; case 3 : /* ¥æ¡¼¥¶¼­½ñ */ string = (char *)malloc(64); if (string == NULL) { exitccustom(); } strncpy(string, dic, 63); userdicname[nuserdics++] = string; userdicname[nuserdics] = NULL; return ; case 4 : /* Ï¢¸ìÊÑ´¹ */ if (RengoGakushu) free (RengoGakushu); RengoGakushu = (char *)malloc(64); if (RengoGakushu == NULL) { exitccustom(); } strncpy(RengoGakushu, dic, 63); return; } } delete_dic(loc, num) int loc, num; { switch(loc) { case 0 : /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ if (RomkanaTable) free(RomkanaTable); RomkanaTable = NULL; return ; case 1 : /* ¥·¥¹¥Æ¥à¼­½ñ */ for(;kanjidicname[num]; num++) kanjidicname[num] = kanjidicname[num + 1]; if (nkanjidics) nkanjidics--; return; case 2 : /* Éô¼óÊÑ´¹¼­½ñ */ for(;bushudicname[num]; num++) bushudicname[num] = bushudicname[num + 1]; if (nbushudics) nbushudics--; return; case 3 : /* ¥æ¡¼¥¶¼­½ñ */ for(;userdicname[num]; num++) userdicname[num] = userdicname[num + 1]; if (nuserdics) nuserdics--; return; case 4 : /* Ï¢¸ìÊÑ´¹ */ RengoGakushu = NULL; return; } } etc_action(kinou,which) int kinou, which; { switch(kinou) { case 0 : /* initialMode */ break; case 1 : /* cusorWrap */ CursorWrap = which; break; case 2 : /* numericalKeySelect */ HexkeySelect = which; break; case 3 : /* selectDirect */ SelectDirect = which; break; case 4 : /* bunsetsuKugiri */ BunsetsuKugiri = which; break; case 5 : /* characterBaseMove*/ ChBasedMove = which; break; case 6 : /* reverseWidely */ ReverseWidely = which; break; case 7 : /* quitIfEndOfIchiran */ QuitIchiranIfEnd = which; break; case 8 : /* breakIntoRoman */ BreakIntoRoman = which; break; case 9 : /* gakushu */ Gakushu = which; break; case 10 : /* stayAfterValidate */ stayAfterValidate = which; break; case 11 : /* kakuteiIfEndOfBunsetsu */ kakuteiIfEndOfBunsetsu = which; break; case 12 : /* gramaticalQuestion */ gramaticalQuestion = which; break; case 13 : /* nHenkanForIchiran */ break; case 14 : /* kouhoCount */ kCount = which; break; case 15 : /* kojin */ kojin = which; break; case 16 : /* auto */ chikuji = which; break; case 17 : /* nKouhoBunsetsu */ break; case 18 : /* abndonIllegalPhono */ abandonIllegalPhono = which; break; case 19 : /* hexDirect */ hexCharacterDefiningStyle = which; break; case 20 : /* allowNextInput */ allowNextInput = which; break; case 21 : /* index-hankaku */ indexhankaku = which; break; case 22 : /* ignore-case */ ignorecase = which; break; case 23 : /* romaji-yuusen */ romajiyuusen = which; break; case 24 : /* auto-sync */ autosync = which; break; case 25 : /* n-key-to-disconnect */ break; case 26 : /* quickly-escape-from-kigo-input */ quicklyescape = which; break; } } Canna37p3/ccustom/set.h0100644000076500001200000001707407554213564014312 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * Author : Osamu Hata, NEC Corporation (hata@bs5.bsd.mt.nec.co.jp) * */ /* static char rcs_id[] = "@(#) 102.1 $Id: set.h,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $"; */ /* #include "symbolname.h" */ /* #include "canna.h" */ #define MAX_DICS 16 char *kanjidicname[MAX_DICS]; int nkanjidics = 0; char *userdicname[MAX_DICS]; int nuserdics = 0; char *bushudicname[MAX_DICS]; int nbushudics = 0; char *localdicname[MAX_DICS]; int nlocaldics = 0; char *RomkanaTable; int InitialMode =0; int CursorWrap = 1; int SelectDirect = 1; int HexkeySelect = 1; int BunsetsuKugiri = -1; char *RengoGakushu; char *KatakanaGakushu; int ChBasedMove = 1; int ReverseWidely = -1; int Gakushu = 1; int QuitIchiranIfEnd = -1; int kakuteiIfEndOfBunsetsu = -1; int stayAfterValidate = 1; int BreakIntoRoman = -1; int kouho_threshold = 2; int gramaticalQuestion = 1; int kCount = 1; int kojin = 1; int chikuji = -1; int nKouhoBunsetsu = 16; int abandonIllegalPhono = -1; int hexCharacterDefiningStyle = -1; int ReverseWord = -1; int ckverbose, nothermodes; int protocol_version = -1; int server_version = -1; int allowNextInput = 1; int indexhankaku = -1; int ignorecase = -1; int romajiyuusen = -1; int autosync = 1; int nkeysuu = 500 ; int quicklyescape = -1; int empty_mode, emptymap,nkeysup, keysup; unsigned char *initfunc = NULL; int forceKana, iListCB ; int keepCursorPosition, CannaVersion; newmode OtherModes[MAX_OTHER_MODES]; char *mode_mei[64]; char null_mode[64]; char *allKey[1024]; char *allFunc[1024]; char *alphaKey[256]; char *alphaFunc[256]; char *yomiganaiKey[512]; char *yomiganaiFunc[512]; char *yomiKey[1024]; char *yomiFunc[1024]; char *jishuKey[512]; char *jishuFunc[512]; char *tankouhoKey[512]; char *tankouhoFunc[512]; char *ichiranKey[512]; char *ichiranFunc[512]; char *zenHiraKey[256]; char *zenHiraFunc[256]; char *zenKataKey[256]; char *zenKataFunc[256]; char *zenAlphaKey[256]; char *zenAlphaFunc[256]; char *hanKataKey[256]; char *hanKataFunc[256]; char *hanAlphaKey[256]; char *hanAlphaFunc[256]; int NallKeyFunc = 0; int NalphaKeyFunc = 0; int NyomiganaiKeyFunc = 0; int NyomiKeyFunc = 0; int NjishuKeyFunc = 0; int NtankouhoKeyFunc = 0; int NichiranKeyFunc = 0; int NzenHiraKeyFunc = 0; int NzenKataKeyFunc = 0; int NzenAlphaKeyFunc = 0; int NhanKataKeyFunc = 0; int NhanAlphaKeyFunc = 0; char *keyCharMap[] = { "Space", "Delete", "Nfer", "Xfer", "Up", "Left", "Right", "Down", "Insert", "Rollup", "Rolldown", "Home", "Help", "KeyPad", "S-nfer", "S-xfer", "S-up", "S-left", "S-right", "S-down", "C-nfer", "C-xfer", "C-up", "C-left", "C-right", "C-down", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", }; char returnKey[16]; char *cfuncList[] = { S_FN_Undefined, /* 0 */ S_FN_SelfInsert, /* 1 */ S_FN_FunctionalInsert, /* 2 */ S_FN_QuotedInsert, /* 3 */ S_FN_JapaneseMode, /* 4 */ S_FN_AlphaMode, /* 5 */ S_FN_HenkanNyuryokuMode, /* 6 */ S_FN_Forward, /* 7 */ S_FN_Backward, /* 8 */ S_FN_Next, /* 9 */ S_FN_Prev, /* 10 */ S_FN_BeginningOfLine, /* 11 */ S_FN_EndOfLine, /* 12 */ S_FN_DeleteNext, /* 13 */ S_FN_DeletePrevious, /* 14 */ S_FN_KillToEndOfLine, /* 15 */ S_FN_Henkan, /* 16 */ S_FN_Kakutei, /* 17 */ S_FN_Extend, /* 18 */ S_FN_Shrink, /* 19 */ S_FN_AdjustBunsetsu, /* 20 */ S_FN_Quit, /* 21 */ S_FN_ConvertAsHex, /* 22 */ S_FN_ConvertAsBushu, /* 23 */ S_FN_KouhoIchiran, /* 24 */ S_FN_BubunMuhenkan, /* 25 */ S_FN_Zenkaku, /* 26 */ S_FN_Hankaku, /* 27 */ S_FN_ToUpper, /* 28 */ S_FN_Capitalize, /* 29 */ S_FN_ToLower, /* 30 */ S_FN_Hiragana, /* 31 */ S_FN_Katakana, /* 32 */ S_FN_Romaji, /* 33 */ S_FN_BaseHiragana, /* 34 */ S_FN_BaseKatakana, /* 35 */ S_FN_BaseEisu, /* 36 */ S_FN_BaseZenkaku, /* 37 */ S_FN_BaseHankaku, /* 38 */ S_FN_BaseKana, /* 39 */ S_FN_BaseKakutei, /* 40 */ S_FN_BaseHenkan, /* 41 */ S_FN_BaseHiraKataToggle, /* 42 */ S_FN_BaseZenHanToggle, /* 43 */ S_FN_BaseKanaEisuToggle, /* 44 */ S_FN_BaseKakuteiHenkanToggle, /* 45 */ S_FN_BaseRotateForward, /* 46 */ S_FN_BaseRotateBackward, /* 47 */ S_FN_ExtendMode, /* 48 */ S_FN_HexMode, /* 49 */ S_FN_BushuMode, /* 50 */ S_FN_KigouMode, /* 51 */ S_FN_ZenHiraKakuteiMode, /* 52 */ S_FN_ZenKataKakuteiMode, /* 53 */ S_FN_HanKataKakuteiMode, /* 54 */ S_FN_ZenAlphaKakuteiMode, /* 55 */ S_FN_HanAlphaKakuteiMode, /* 56 */ S_FN_HenkanOrSelfInsert, /* 57 */ S_FN_HenkanOrNothing, /* 58 */ S_FN_ChangeServerMode, /* 59 */ S_FN_DisconnectServer, /* 60 */ S_FN_ShowServer, /* 61 */ S_FN_ShowGakushu, /* 62 */ S_FN_ShowVersion, /* 63 */ S_FN_ShowPhonogramFile, /* 64 */ S_FN_ShowCannaFile, /* 65 */ S_FN_SyncDic, /* 66 */ NULL }; char *funcList[] = { "Undefine", "SelfInsert", "SelfInsert", "QuotedInsert", "JapaneseMode", "AlphaMode", "HenkanNyuryokuMode", "ZenHiraKakuteiMode", "ZenKataKakuteiMode", "HanKataKakuteiMode", "ZenAlphaKakuteiMode", "HanAlphaKakuteiMode", "HexMode", "BushuMode", "KigouMode", "Forward", "Backward", "Next", "Previous", "BeginningOfLine", "EndOfLine", "DeleteNext", "DeletePrevious", "KillToEndOfLine", "Henkan", "Kakutei", "Extend", "Shrink", "Quit", "Touroku", "ConvertAsHex", "ConvertAsBushu", "KouhoIchiran", "BubunMuhenkan", "Zenkaku", "Hankaku", "ToUpper", "Capitalize", "ToLower", "Hiragana", "Katakana", "Romaji", "FuncSequence", "UseOtherKeymap", "NextKouho", "PrevKouho", "NULL" }; Canna37p3/ccustom/symbolname.h0100644000076500001200000002307707554213564015665 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: symbolname.h,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $ */ #define S_HenkanNyuuryokuMode "henkan-nyuuryoku-mode" #define S_ZenHiraHenkanMode "zen-hira-henkan-mode" #define S_HanHiraHenkanMode "han-hira-henkan-mode" #define S_ZenKataHenkanMode "zen-kata-henkan-mode" #define S_HanKataHenkanMode "han-kata-henkan-mode" #define S_ZenAlphaHenkanMode "zen-alpha-henkan-mode" #define S_HanAlphaHenkanMode "han-alpha-henkan-mode" #define S_ZenHiraKakuteiMode "zen-hira-kakutei-mode" #define S_HanHiraKakuteiMode "han-hira-kakutei-mode" #define S_ZenKataKakuteiMode "zen-kata-kakutei-mode" #define S_HanKataKakuteiMode "han-kata-kakutei-mode" #define S_ZenAlphaKakuteiMode "zen-alpha-kakutei-mode" #define S_HanAlphaKakuteiMode "han-alpha-kakutei-mode" #define S_AlphaMode "alpha-mode" #define S_YomiganaiMode "empty-mode" #define S_YomiMode "yomi-mode" #define S_MojishuMode "mojishu-mode" #define S_TankouhoMode "tankouho-mode" #define S_IchiranMode "ichiran-mode" #define S_ShinshukuMode "shinshuku-mode" #define S_HexMode "hex-mode" #define S_BushuMode "bushu-mode" #define S_YesNoMode "yes-no-mode" #define S_OnOffMode "on-off-mode" #define S_ExtendMode "extend-mode" #define S_RussianMode "russian-mode" #define S_GreekMode "greek-mode" #define S_LineMode "line-mode" #define S_ChangingServerMode "changing-server-mode" #define S_HenkanMethodMode "henkan-method-mode" #define S_DeleteDicMode "delete-dic-mode" #define S_TourokuMode "touroku-mode" #define S_TourokuHinshiMode "touroku-hinshi-mode" #define S_TourokuDicMode "touroku-dic-mode" #define S_QuotedInsertMode "quoted-insert-mode" #define S_BubunMuhenkanMode "bubun-muhenkan-mode" #define S_MountDicMode "mount-dic-mode" #define S_KigouMode "kigou-mode" #define S_AutoYomiMode "chikuji-yomi-mode" #define S_AutoBunsetsuMode "chikuji-bunsetsu-mode" #define S_UnbindKey "unbind-key-function" #define S_GUnbindKey "global-unbind-key-function" #define S_SetKey "set-key" #define S_GSetKey "global-set-key" #define S_SetModeDisp "set-mode-display" #define S_DefMode "defmode" #define S_DefSymbol "defsymbol" #define S_SetInitFunc "initialize-function" #define S_FN_Undefined "undefined" #define S_FN_SelfInsert "self-insert" #define S_FN_FunctionalInsert "self-insert" #define S_FN_QuotedInsert "quoted-insert" #define S_FN_JapaneseMode "japanese-mode" #define S_FN_AlphaMode S_AlphaMode #define S_FN_HenkanNyuryokuMode S_HenkanNyuuryokuMode #define S_FN_ZenHiraKakuteiMode S_ZenHiraKakuteiMode #define S_FN_ZenKataKakuteiMode S_ZenKataKakuteiMode #define S_FN_HanKataKakuteiMode S_HanKataKakuteiMode #define S_FN_ZenAlphaKakuteiMode S_ZenAlphaKakuteiMode #define S_FN_HanAlphaKakuteiMode S_HanAlphaKakuteiMode #define S_FN_HexMode S_HexMode #define S_FN_BushuMode S_BushuMode #define S_FN_KigouMode S_KigouMode #define S_FN_Forward "forward" #define S_FN_Backward "backward" #define S_FN_Next "next" #define S_FN_Prev "previous" #define S_FN_BeginningOfLine "beginning-of-line" #define S_FN_EndOfLine "end-of-line" #define S_FN_DeleteNext "delete-next" #define S_FN_DeletePrevious "delete-previous" #define S_FN_KillToEndOfLine "kill-to-end-of-line" #define S_FN_Henkan "henkan" #define S_FN_Kakutei "kakutei" #define S_FN_Extend "extend" #define S_FN_Shrink "shrink" #define S_FN_AdjustBunsetsu S_ShinshukuMode #define S_FN_Quit "quit" #define S_FN_ExtendMode S_ExtendMode #define S_FN_Touroku "touroku" #define S_FN_ConvertAsHex "convert-as-hex" #define S_FN_ConvertAsBushu "convert-as-bushu" #define S_FN_KouhoIchiran "kouho-ichiran" #define S_FN_BubunMuhenkan "henshu" #define S_FN_Zenkaku "zenkaku" #define S_FN_Hankaku "hankaku" #define S_FN_ToUpper "to-upper" #define S_FN_Capitalize "capitalize" #define S_FN_ToLower "to-lower" #define S_FN_Hiragana "hiragana" #define S_FN_Katakana "katakana" #define S_FN_Romaji "romaji" #define S_FN_BaseHiragana "base-hiragana" #define S_FN_BaseKatakana "base-katakana" #define S_FN_BaseKana "base-kana" #define S_FN_BaseEisu "base-eisu" #define S_FN_BaseZenkaku "base-zenkaku" #define S_FN_BaseHankaku "base-hankaku" #define S_FN_BaseKakutei "base-kakutei" #define S_FN_BaseHenkan "base-henkan" #define S_FN_BaseHiraKataToggle "base-hiragana-katakana-toggle" #define S_FN_BaseKanaEisuToggle "base-kana-eisu-toggle" #define S_FN_BaseZenHanToggle "base-zenkaku-hankaku-toggle" #define S_FN_BaseKakuteiHenkanToggle "base-kakutei-henkan-toggle" #define S_FN_BaseRotateForward "base-rotate-forward" #define S_FN_BaseRotateBackward "base-rotate-backward" #define S_FN_FuncSequence "XXXXXXXXXXXXXX" #define S_FN_UseOtherKeymap "XXXXXXXXXXXXXX" #define S_FN_HenkanOrSelfInsert "henkan-or-self-insert" #define S_FN_HenkanOrNothing "henkan-or-do-nothing" #define S_FN_DisconnectServer "disconnect-server" #define S_FN_ChangeServerMode "switch-server" #define S_FN_ShowServer "show-server-name" #define S_FN_ShowGakushu "show-gakushu" #define S_FN_ShowVersion "show-canna-version" #define S_FN_ShowPhonogramFile "show-romkana-table" #define S_FN_ShowCannaFile "show-canna-file" #define S_FN_SyncDic "sync-dictionary" #define S_FN_UseDictionary "use-dictionary" #define S_VA_RomkanaTable "romkana-table" #define S_VA_InitMode "initial-mode" #define S_VA_CursorWrap "cursor-wrap" #define S_VA_SelectDirect "select-direct" #define S_VA_NumericalKeySelect "numerical-key-select" #define S_VA_BunsetsuKugiri "bunsetsu-kugiri" #define S_VA_CharacterBasedMove "character-based-move" #define S_VA_ReverseWidely "reverse-widely" #define S_VA_ReverseWord "reverse-word" #define S_VA_Gakushu "gakushu" #define S_VA_QuitIfEOIchiran "quit-if-end-of-ichiran" #define S_VA_KakuteiIfEOBunsetsu "kakutei-if-end-of-bunsetsu" #define S_VA_StayAfterValidate "stay-after-validate" #define S_VA_BreakIntoRoman "break-into-roman" #define S_VA_NHenkanForIchiran "n-henkan-for-ichiran" #define S_VA_nKouhoBunsetsu "n-kouho-bunsetsu" #define S_VA_keepCursorPosition "keep-cursor-position" #define S_VA_GramaticalQuestion "gramatical-question" #define S_VA_ForceKana "force-kana" #define S_VA_KouhoCount "kouho-count" #define S_VA_Auto "auto" #define S_VA_InhibitListCallback "inhibit-list-callback" #define S_VA_CannaVersion "canna-version" #define S_VA_ProtocolVersion "protocol-version" #define S_VA_ServerVersion "server-version" #define S_VA_Abandon "abandon-illegal-phonogram" #define S_VA_HexDirect "hex-direct" #define S_VA_Kojin "kojin" #define S_VA_IndexHankaku "index-hankaku" #define S_VA_AllowNextInput "allow-next-input" #define S_VA_KeepCursorPosition "keep-cursor" #define S_VA_ChikujiContinue "chikuji-continue" #define S_VA_ChikujiRealBackspace "chikuji-force-backspace" #define S_VA_doKatakanaGakushu "katakana-touroku" #define S_VA_doHiraganaGakushu "hiragana-touroku" #define S_VA_chikuji_debug "chikuji-debug" #define S_VA_nDisconnectServer "n-keys-to-disconnect" #define S_VA_ignoreCase "ignore-case" #define S_VA_RomajiYuusen "romaji-yuusen" #define S_VA_CannaDir "canna-directory" #define S_VA_AutoSync "auto-sync" #define S_VA_QuicklyEscape "quickly-escape-from-kigo-input" #define S_DM_ZenHiraKakutei "zen-hira-kakutei-mode nil nil '(zenkaku kakutei)" #define S_DM_ZenKataKakutei "zen-kata-kakutei-mode nil nil '(katakana zenkaku kakutei)" #define S_DM_ZenAlphaKakutei "zen-alpha-kakutei-mode nil nil '(eisu zenkaku kakutei)" #define S_DM_HanKataKakutei "han-kata-kakutei-mode nil nil '(katakana hankaku kakutei)" #define S_DM_HanAlphaKakutei "han-alpha-kakutei-mode nil nil '(eisu hankaku kakutei)" #define S_DM_ZenKataHenkan "zen-kata-henkan-mode nil nil '(katakana zenkaku)" #define S_DM_ZenAlphaHenkan "zen-alpha-henkan-mode nil nil '(eisu zenkaku)" #define S_DM_HanKataHenkan "han-kata-henkan-mode nil nil '(katakana hankaku)" #define S_DM_HanAlphaHenkan "han-alpha-henkan-mode nil nil '(eisu hankaku)" #define S_IF_HenkanNyuryoku "(japanese-mode)" #define S_IF_ZenHiraKakutei "(japanese-mode base-kakutei)" #define S_IF_ZenKataKakutei "(japanses-mode base-kakutei base-katakana)" #define S_IF_ZenAlphaKakutei "(japanese-mode base-kakutei base-eisu base-zenkaku)" #define S_IF_HanKataKakutei "(japanese-mode base-kakutei base-katakana base-hankaku)" #define S_IF_HanAlphaKakutei "(japanese-mode base-kakutei base-eisu base-hankaku)" #define S_IF_ZenKataHenkan "(japanese-mode base-katakana)" #define S_IF_ZenAlphaHenkan "(japanese-mode base-eisu base-zenkaku)" #define S_IF_HanKataHenkan "(japanese-mode base-katakana base-hankaku)" #define S_IF_HanAlphaHenkan "(japanese-mode hase-eisu base-hankaku)" Canna37p3/ccustom/util.c0100644000076500001200000002703707554536744014477 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* filedef util.c -- ¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô¤ò½¸¤á¤¿¡£ °Ê²¼¤Î´Ø¿ô¤¬¤¢¤ë¡£(Äɲä·¤¿¿Í¤Ï¤Á¤ã¤ó¤È½ñ¤¤¤È¤¤¤Æ¤è) GlineClear ¥¬¥¤¥É¥é¥¤¥ó¤¬¾Ã¤µ¤ì¤ë¤è¤¦¤Ê¥ê¥¿¡¼¥óÃͤòºî¤ë Gline2echostr ¥¬¥¤¥É¥é¥¤¥ó¤ÇÊÖ¤½¤¦¤È¤·¤¿¤â¤Î¤ò¤½¤Î¾ì¤ÇÊÖ¤¹ echostr2Gline ¤½¤Î¾ì¤ÇÊÖ¤½¤¦¤È¤·¤¿¤â¤Î¥¬¥¤¥É¥é¥¤¥ó¤ÇÊÖ¤¹ echostrClear ¤½¤Î¾ì¤¬Á´¤¯¾Ã¤µ¤ì¤ë¤è¤¦¤Ê¥ê¥¿¡¼¥óÃͤòºî¤ë checkGLineLen ¥¬¥¤¥É¥é¥¤¥ó¤Ëɽ¼¨¤·¤­¤ì¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯ NothingChanged ²¿¤âÊѲ½¤¬¤Ê¤¤¤³¤È¤ò¼¨¤¹¥ê¥¿¡¼¥óÃͤòºî¤ë NothingForGLine ¥¬¥¤¥É¥é¥¤¥ó¤Ë´Ø¤·¤Æ¤Ï²¿¤âÊѲ½¤¬¤Ê¤¤ NothingChangedWithBeep NothingChange ¤ò¤·¤Æ¤µ¤é¤Ë¥Ó¡¼¥×²»¤òÌĤ餹 NothingForGLineWithBeep NothingForGLine ¤ò¤·¤Æ¤µ¤é¤Ë¥Ó¡¼¥×²»¤òÌĤ餹 ujisncpy EUC ʸ»ú¤ò n ¥Ð¥¤¥È¥³¥Ô¡¼¤¹¤ë makeGLineMessage °ú¿ô¤Îʸ»úÎó¤òGLine¤Ëɽ¼¨¤¹¤ë¤è¤¦¤Ê¥ê¥¿¡¼¥óÃͤòºî¤ë makeGLineMessageFromString °ú¿ô¤Îeucʸ»úÎó¤òGLine¤Ëɽ¼¨¤¹¤ë¤è¤¦¤Ê¥ê¥¿¡¼¥óÃͤòºî¤ë copyYomiBuffers ¾¤ÎÆÉ¤ß¥³¥ó¥Æ¥¯¥¹¥È¤«¤é¤ÎÆÉ¤ß¥Ç¡¼¥¿¤Î¥³¥Ô¡¼ setWStrings ʸ»úÇÛÎó¤Î½é´ü²½¤ò¹Ô¤¦ NoMoreMemory ¥á¥â¥ê¤¬¤Ê¤¤¤«¤é¥¨¥é¡¼¤À¤è¤È¤¤¤¦¥¨¥é¡¼ÃͤòÊÖ¤¹ GLineNGReturn ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¥¬¥¤¥É¥é¥¤¥ó¤Ë°Ü¤¹ GLineNGReturnFI °ìÍ÷¥â¡¼¥É¤òÈ´¤±¤Æ GLineNGReturn ¤ò¤¹¤ë¡£ GLineNGReturnTK ÅÐÏ¿¥â¡¼¥É¤òÈ´¤±¤Æ GLineNGReturn ¤ò¤¹¤ë¡£ WStrlen ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ÎŤµ¤òµá¤á¤ë (cf. strlen) WStrcat ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò²Ã¤¨¤ë¡£(cf. strcat) WStrcpy ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò¥³¥Ô¡¼¤¹¤ë¡£(cf. strcpy) WStrncpy ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò£îʸ»ú¥³¥Ô¡¼¤¹¤ë¡£(cf. strncpy) WStrcmp ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤òÈæ³Ó¤¹¤ë¡£(cf. strcmp) WStrncmp ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò£îʸ»úÈæ³Ó¤¹¤ë¡£(cf. strncmp) WToupper ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤Î±Ñ»ú¾®Ê¸»ú¤òÂçʸ»ú¤ËÊÑ´¹¤¹¤ë¡£ WWhatGPlain ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿£±Ê¸»ú¤Î°¤¹¤ë¥°¥é¥Õ¥£¥Ã¥¯¥×¥ì¡¼¥ó¤òÊÖ¤¹ WIsG0 G0¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»ú¤«¡© WIsG1 G1¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»ú¤«¡© WIsG2 G2¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»ú¤«¡© WIsG3 G3¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»ú¤«¡© WGetLeft G1¡¢G3¤Îº¸Â¦(¤­¤¿¤Í¡¼) WGetRight G1¡¢G3¤Î±¦Â¦(¤­¤¿¤Í¡¼) MBstowcs EUC ¤ò¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ËÊÑ´¹ CNvW2E ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤ò EUC ¤ËÊÑ´¹(¥Á¥§¥Ã¥¯ÉÕ¤­) WCstombs ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤ò EUC ¤ËÊÑ´¹ WSfree WString¤Ç³ÎÊݤ·¤¿Îΰè¤ò³«Êü¤¹¤ë WString EUC ¤ò¥ï¥¤¥É¤ËÊÑ´¹¤·¤Æ malloc ¤Þ¤Ç¤·¤ÆÊÖ¤¹(free ÉÔÍ×) WStringOpen ¾åµ­´Ø¿ô¤Î½é´ü²½½èÍý WStringClose ¾åµ­´Ø¿ô¤Î½ªÎ»½èÍý */ static char sccs_id[] = "@(#) 102.1 $Id: util.c,v 1.2 2002/10/20 14:29:56 aida_s Exp $"; #define _WCHAR16 /* ¤½¤¦¤¸¤ã¤Ê¤¤¤â¤Î¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë»þ¤Ï¤Ï¤º¤·¤Æ¤Í */ /* ËÜÅö¤ÏưŪ¤ËÀÚ¤êÂØ¤¨¤é¤ì¤ë¤Ï¤º */ #include "canna.h" #ifdef SOMEONE_USE_THIS /* ï¤â»È¤Ã¤Æ¤¤¤Ê¤¤¤ß¤¿¤¤¡£ */ Insertable(ch) unsigned char ch; { if ((0x20 <= ch && ch <= 0x7f) || (0xa0 <= ch && ch <= 0xff)) { return 1; } else { return 0; } } #endif /* SOMEONE_USE_THIS */ /* ujisncpy -- £²¥Ð¥¤¥Èʸ»ú¤ÎÅÓÃæ¤ÇÀÚ¤ì¤Ê¤¤¤è¤¦¤Ë¥³¥Ô¡¼¤¹¤ë´Ø¿ô ¼ÂºÝ¤Ë¥³¥Ô¡¼¤¹¤ë¥Ð¥¤¥È¿ô¤Ï n ¤Ç»ØÄꤵ¤ì¤¿¥Ð¥¤¥È¿ô¤«¤¢¤ë¤¤¤Ï¤½¤ì¤è¤ê £±¾®¤µ¤¤Ãͤˤʤ롣¼ÂºÝ¤Ë¥³¥Ô¡¼¤·¤¿¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£ SS3 ¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¡£ */ int ujisncpy(dest, src, n) unsigned char *dest, *src; int n; { int i = 0; unsigned char c; while (i < n) { c = src[i]; if ( ! (c & 0x80) ) { /* ASCII ¤Î¾ì¹ç */ dest[i++] = c; } else if (i + 1 < n) { /* ´Á»ú¤«¥«¥Ê¤Î¾ì¹ç¡¢¤·¤«¤â¥³¥Ô¡¼¤Ç¤­¤ë¾ì¹ç */ dest[i++] = c; dest[i] = src[i]; i++; } else { /* ´Á»ú¤Ç£±¥Ð¥¤¥È¤·¤«¥³¥Ô¡¼¤Ç¤­¤Ê¤¤¾ì¹ç */ return i; /* ¥³¥Ô¡¼¤·¤­¤ì¤º¡¢n ¤è¤ê£±¾®¤µ¤¤Ãͤǽª¤ï¤Ã¤¿¡£ */ } } return i; /* n ¥Ð¥¤¥È¥³¥Ô¡¼¤·¤­¤ì¤¿ */ } setWStrings(ws, s, sz) wchar_t **ws; unsigned char **s; int sz; { int f = sz; wchar_t *WString(); for (; (f && sz) || (!f && *s); ws++, s++, sz--) *ws = WString(*s); } copyAttribute(dest, src, n) BYTE *dest; BYTE *src; int n; { for (; n; n--) *dest++ = *src++; } /* * ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¥ª¥Ú¥ì¡¼¥·¥ç¥ó * */ wchar_t WToupper(w) wchar_t w; { if (WIsG0(w)) { if ('a' <= w && w <= 'z') return((wchar_t) (w - 'a' + 'A')); } else return(w); } int WStrlen(ws) wchar_t *ws; { int res = 0; while (*ws++) { res++; } return res; } wchar_t * WStrcpy(ws1, ws2) wchar_t *ws1, *ws2; { wchar_t *ws; int cnt, len; for (ws = ws2, cnt = 0 ; *ws ; ws++, cnt++) ; len = cnt; if (ws2 < ws1 && ws1 < ws2 + cnt) { while (cnt--) { ws1[cnt] = ws2[cnt]; } } else { ws = ws1; while (*ws2) { *ws++ = *ws2++; } } ws1[len] = (wchar_t)0; return ws1; } wchar_t * WStrncpy(ws1, ws2, cnt) wchar_t *ws1, *ws2; int cnt; { wchar_t *ws; if (ws2 == (wchar_t *) NULL) return; if (ws2 < ws1 && ws1 < ws2 + cnt) { while (cnt--) { ws1[cnt] = ws2[cnt]; } } else { int i = 0; ws = ws1; while (i++ < cnt && *ws2) { *ws++ = *ws2++; } } return ws1; } wchar_t * WStrcat(ws1, ws2) wchar_t *ws1, *ws2; { wchar_t *ws; for (ws = ws1; *ws; ws++); WStrcpy(ws, ws2); return ws1; } int WStrcmp(w1, w2) wchar_t *w1, *w2; { for (; *w1 && *w1 == *w2; w1++, w2++); return(*w1 - *w2); } int WStrncmp(w1, w2, n) wchar_t *w1, *w2; int n; { if (n == 0) return(0); for (; --n && *w1 && *w1 == *w2; w1++, w2++); return(*w1 - *w2); } /* WWhatGPlain -- ¤É¤Î¥°¥é¥Õ¥£¥Ã¥¯¥×¥ì¡¼¥ó¤Îʸ»ú¤«¡© Ìá¤êÃÍ: 0 : G0 ASCII 1 : G1 ´Á»ú(JISX0208) 2 : G2 Ⱦ³Ñ¥«¥¿¥«¥Ê(JISX0201) 3 : G3 ³°»ú(Êä½õ´Á»ú JISX0212) */ int WWhatGPlain(wc) wchar_t wc; { #ifdef _WCHAR16 switch (((unsigned long)wc) & 0x8080) { case 0x0000: return 0; case 0x8080: return 1; case 0x0080: return 2; case 0x8000: return 3; } #else /* !_WCHAR16 */ static char plain[4] = {0, 2, 3, 1}; return plain[(((unsigned long)wc) >> 28) & 3]; #endif /* !_WCHAR16 */ } int WIsG0(wc) wchar_t wc; { return (WWhatGPlain(wc) == 0); } int WIsG1(wc) wchar_t wc; { return (WWhatGPlain(wc) == 1); } int WIsG2(wc) wchar_t wc; { return (WWhatGPlain(wc) == 2); } int WIsG3(wc) wchar_t wc; { return (WWhatGPlain(wc) == 3); } /* °Ê²¼¤Î£²¤Ä¤Î´Ø¿ô¤Ï£²¥Ð¥¤¥È¤Þ¤ÇŬÍÑ²Ä */ int WGetLeft(wc) wchar_t wc; { if (WIsG0(wc) || WIsG2(wc)) return 0; else { #ifdef _WCHAR16 return ((((unsigned long)wc) >> 8) & 0x7f); #else /* !_WCHAR16 */ return ((((unsigned long)wc) >> 7) & 0x7f); #endif /* !_WCHAR16 */ } } int WGetRight(wc) wchar_t wc; { if (WIsG0(wc) || WIsG2(wc)) return 0; else { return (((unsigned long)wc) & 0x7f); } } int MBstowcs(dest, src, destlen) wchar_t *dest; unsigned char *src; int destlen; { register int i, j; register unsigned char ec; for (i = 0, j = 0 ; (ec = src[i]) && j < destlen ; i++) { if (ec & 0x80) { switch (ec) { case 0x8e: /* SS2 */ dest[j++] = (wchar_t)(0x80 | ((unsigned)src[++i] & 0x7f)); break; case 0x8f: /* SS3 */ dest[j++] = (wchar_t)(0x8000 | (((unsigned)src[i + 1] & 0x7f) << 8) | ((unsigned)src[i + 2] & 0x7f)); i += 2; break; default: dest[j++] = (wchar_t)(0x8080 | (((unsigned)src[i] & 0x7f) << 8) | ((unsigned)src[i + 1] & 0x7f)); i++; break; } } else { dest[j++] = (wchar_t)ec; } } if (j < destlen) dest[j] = (wchar_t)0; return j; } int CNvW2E(src, srclen, dest, destlen) wchar_t *src; unsigned char *dest; int srclen, destlen; { register int i, j; register wchar_t wc; for (i = 0, j = 0 ; i < srclen && j + 2 < destlen ; i++) { wc = src[i]; switch (wc & 0x8080) { case 0: /* ASCII */ dest[j++] = (unsigned char)((unsigned)wc & 0x7f); break; case 0x0080: /* Ⱦ³Ñ¥«¥Ê */ dest[j++] = 0x8e; /* SS2 */ dest[j++] = (unsigned char)(((unsigned)wc & 0x7f) | 0x80); break; case 0x8000: /* ³°»ú */ dest[j++] = 0x8f; /* SS3 */ dest[j++] = (unsigned char)((((unsigned)wc & 0x7f00) >> 8) | 0x80); dest[j++] = (unsigned char)(((unsigned)wc & 0x7f) | 0x80); break; case 0x8080: /* ´Á»ú */ dest[j++] = (unsigned char)((((unsigned)wc & 0x7f00) >> 8) | 0x80); dest[j++] = (unsigned char)(((unsigned)wc & 0x7f) | 0x80); break; } } dest[j] = (unsigned char)0; return j; } int WCstombs(dest, src, destlen) unsigned char *dest; wchar_t *src; int destlen; { return CNvW2E(src, WStrlen(src), dest, destlen); } /* cfuncdef WString -- EUC¤«¤é¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤ª¤è¤Ó malloc WString ¤Ï°ú¿ô¤Îʸ»úÎó¤ò¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤ËÊÑ´¹¤·¡¢¤½¤Îʸ»úÎ󤬼ý¤Þ¤ë ¤À¤±¤Î¥á¥â¥ê¤ò malloc ¤·¡¢¤½¤Îʸ»úÎó¤òǼ¤áÊÖ¤¹¡£ ÍøÍѼԤϤ³¤Î´Ø¿ô¤ÇÆÀ¤¿¥Ý¥¤¥ó¥¿¤ò free ¤¹¤ëɬÍפϤ¢¤Þ¤ê¤Ê¤¤¡£ ¤¹¤Ê¤ï¤Á¡¢¤³¤Î´Ø¿ô¤ÇÆÀ¤¿¥á¥â¥ê¤Ï¸å¤Ç WStringClose ¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤­¤Ë free ¤µ¤ì¤ë¡£ ¤½¤¦¤¤¤¦»ö¾ð¤Ê¤Î¤Ç¤³¤Î´Ø¿ô¤òÉÑÈˤ˸ƤӽФ·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£º£¤Þ¤ÇEUC¤Ç ½é´üÄêµÁ¤Ç¤­¤Æ¤¤¤¿Ê¸»úÎó¤Ê¤É¤Ëα¤á¤ë¤Ù¤­¤Ç¤¢¤ë¡£ ¤³¤Îµ¡Ç½¤ò»È¤¦¿Í¤ÏºÇ½é¤Ë WStringOpen ¤ò¸Æ¤Ó½Ð¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤¬¡¢ ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¥·¥¹¥Æ¥à¤¬¼«Æ°Åª¤ËÆÉ¤ó¤Ç¤¯¤ì¤ë¤Î ¤Ç¤½¤ÎɬÍפϤʤ¤¡£ */ static wchar_t **wsmemories = NULL; static int nwsmemories = 0; #define WSBLOCKSIZE 128 int WStringOpen() { return 0; } wchar_t * WString(s) unsigned char *s; { int i, len; wchar_t *temp; if (wsmemories == (wchar_t **)NULL) { nwsmemories = WSBLOCKSIZE; wsmemories = (wchar_t **)calloc(nwsmemories, sizeof(wchar_t *)); /* calloc ¤µ¤ì¤¿¥á¥â¥ê¤Ï¥¯¥ê¥¢¤µ¤ì¤Æ¤¤¤ë */ } for (i = 0 ; i < nwsmemories && wsmemories[i] ; i++); if (i == nwsmemories) { /* »È¤¤Àڤ俤ΤÇÁý¤ä¤¹ */ wsmemories = (wchar_t **)realloc(wsmemories, (nwsmemories + WSBLOCKSIZE) * sizeof(wchar_t *)); for (; i < nwsmemories + WSBLOCKSIZE ; i++) { wsmemories[i] = (wchar_t *)0; } i = nwsmemories; nwsmemories += WSBLOCKSIZE; } /* ¤È¤ê¤¢¤¨¤ºÂ礭¤¯¤È¤Ã¤Æ¤ª¤¤¤Æ¡¢¤½¤Î¥µ¥¤¥º¤ò¸«¤ÆÃúÅ٤Υµ¥¤¥º¤Ë ľ¤·¤ÆÊÖ¤¹ */ len = strlen((char *)s); temp = (wchar_t *)malloc((len + 1) * WCHARSIZE); len = MBstowcs(temp, s, len); wsmemories[i] = (wchar_t *)malloc((len + 1) * WCHARSIZE); WStrncpy(wsmemories[i], temp, len); free(temp); wsmemories[i][len] = (wchar_t)0; return wsmemories[i]; } int WStringClose() { int i; for (i = 0 ; i < nwsmemories ; i++) { if (wsmemories[i]) { free(wsmemories[i]); } } free(wsmemories); wsmemories = (wchar_t **)0; nwsmemories = 0; } WSfree(s) wchar_t *s; { int i; wchar_t **t; for (t = wsmemories, i = nwsmemories; s != *t && i; t++, i--) ; free(*t); *t = (wchar_t *) 0; } Canna37p3/ccustom/wcanna.c0100644000076500001200000003615507554213564014762 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * Author : Osamu Hata, NEC Corporation (hata@d1.bs2.mt.nec.co.jp) * */ static char rcs_id[] = "@(#) 102.1 $Id: wcanna.c,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $"; #include #include "mfdef.h" #include "keydef.h" #include "symbolname.h" #define ON 1 #define OFF -1 #define MID 2 extern char *kanjidicname[], *userdicname[], *bushudicname[], *localdicname[]; extern char *cfuncList[]; extern int nkanjidics, nuserdics, nbushudics, nlocaldics; extern char *RomkanaTable, *RengoGakushu[], *KatakanaGakushu[]; extern int InitialMode, CursorWrap, SelectDirect, HexkeySelect, BunsetsuKugiri; extern int ChBasedMove, ReverseWidely, Gakushu, QuitIchiranIfEnd; extern int kakuteiIfEndOfBunsetsu, stayAfterValidate, BreakIntoRoman; extern int kouho_threshold, gramaticalQuestion; extern int kCount,kojin,chikuji,nKouhoBunsetsu; extern int abandonIllegalPhono, hexCharacterDefiningStyle,allowNextInput; extern int indexhankaku,ignorecase,romajiyuusen,autosync,nkeysuu,quicklyescape; extern char *mode_mei[], null_mode[]; extern char *mode_ichiran2[], *mode_ichiran3[]; extern char *allKey[], *alphaKey[], *yomiganaiKey[]; extern char *yomiKey[], *jishuKey[], *tankouhoKey[]; extern char *ichiranKey[], *zenHiraKey[], *zenKataKey[]; extern char *zenAlphaKey[], *hanKataKey[], *hanAlphaKey[]; extern char *allFunc[], *alphaFunc[], *yomiganaiFunc[]; extern char *yomiFunc[], *jishuFunc[], *tankouhoFunc[]; extern char *ichiranFunc[], *zenHiraFunc[], *zenKataFunc[]; extern char *zenAlphaFunc[], *hanKataFunc[], *hanAlphaFunc[]; extern int NallKeyFunc, NalphaKeyFunc, NyomiganaiKeyFunc, NyomiKeyFunc; extern int NjishuKeyFunc, NtankouhoKeyFunc, NichiranKeyFunc; extern int NzenHiraKeyFunc, NzenKataKeyFunc, NzenAlphaKeyFunc; extern int NhanKataKeyFunc, NhanAlphaKeyFunc; #ifdef NEWGEN init_mode_mei() { int i; for (i = 0; i < 40; i++) { null_mode[i] = 0; mode_mei[i] = (char *)NULL; } } free_mode_mei() { int i; for (i = 0; i < 40; i++) { if (mode_mei[i]) { free(mode_mei[i]); } } } #endif /* NEWGEN */ char * toTnil(suuji) int suuji; { if (suuji == ON) return "t"; else if (suuji == OFF) return "nil"; else return " "; } static void printkey(f, key) FILE *f; unsigned char key; { if ((unsigned)('A' - '@') <= (unsigned)key && (unsigned)key <= (unsigned)('Z' - '@')) { fprintf(f, "\\C-%c", key + 'a' - 'A' + '@'); } else if (key < ' ') { fprintf(f, "\\C-%c", key + '@'); } else if (key <= '~') { fprintf(f, "%c", key); } else if (key == 0x7f) { fprintf(f, "\\Delete"); } else { switch (key) { case CANNA_KEY_Nfer: fprintf(f, "\\Nfer"); break; case CANNA_KEY_Xfer: fprintf(f, "\\Xfer"); break; case CANNA_KEY_Up: fprintf(f, "\\Up"); break; case CANNA_KEY_Left: fprintf(f, "\\Left"); break; case CANNA_KEY_Right: fprintf(f, "\\Right"); break; case CANNA_KEY_Down: fprintf(f, "\\Down"); break; case CANNA_KEY_Insert: fprintf(f, "\\Insert"); break; case CANNA_KEY_Rollup: fprintf(f, "\\Rollup"); break; case CANNA_KEY_Rolldown: fprintf(f, "\\Rolldown"); break; case CANNA_KEY_Home: fprintf(f, "\\Home"); break; case CANNA_KEY_Help: fprintf(f, "\\Help"); break; case CANNA_KEY_KP_Key: fprintf(f, "\\Key"); break; case CANNA_KEY_Shift_Nfer: fprintf(f, "\\S-Nfer"); break; case CANNA_KEY_Shift_Xfer: fprintf(f, "\\S-Xfer"); break; case CANNA_KEY_Shift_Up: fprintf(f, "\\S-Up"); break; case CANNA_KEY_Shift_Left: fprintf(f, "\\S-Left"); break; case CANNA_KEY_Shift_Right: fprintf(f, "\\S-Right"); break; case CANNA_KEY_Shift_Down: fprintf(f, "\\S-Down"); break; case CANNA_KEY_Cntrl_Nfer: fprintf(f, "\\C-Nfer"); break; case CANNA_KEY_Cntrl_Xfer: fprintf(f, "\\C-Xfer"); break; case CANNA_KEY_Cntrl_Up: fprintf(f, "\\C-Up"); break; case CANNA_KEY_Cntrl_Left: fprintf(f, "\\C-Left"); break; case CANNA_KEY_Cntrl_Right: fprintf(f,"\\C-Right"); break; case CANNA_KEY_Cntrl_Down: fprintf(f, "\\C-Down"); break; case CANNA_KEY_F1: fprintf(f, "\\F1"); break; case CANNA_KEY_F2: fprintf(f, "\\F2"); break; case CANNA_KEY_F3: fprintf(f, "\\F3"); break; case CANNA_KEY_F4: fprintf(f, "\\F4"); break; case CANNA_KEY_F5: fprintf(f, "\\F5"); break; case CANNA_KEY_F6: fprintf(f, "\\F6"); break; case CANNA_KEY_F7: fprintf(f, "\\F7"); break; case CANNA_KEY_F8: fprintf(f, "\\F8"); break; case CANNA_KEY_F9: fprintf(f, "\\F9"); break; case CANNA_KEY_F10: fprintf(f, "\\F10"); break; case CANNA_KEY_PF1: fprintf(f, "\\Pf1"); break; case CANNA_KEY_PF2: fprintf(f, "\\Pf2"); break; case CANNA_KEY_PF3: fprintf(f, "\\Pf3"); break; case CANNA_KEY_PF4: fprintf(f, "\\Pf4"); break; case CANNA_KEY_PF5: fprintf(f, "\\Pf5"); break; case CANNA_KEY_PF6: fprintf(f, "\\Pf6"); break; case CANNA_KEY_PF7: fprintf(f, "\\Pf7"); break; case CANNA_KEY_PF8: fprintf(f, "\\Pf8"); break; case CANNA_KEY_PF9: fprintf(f, "\\Pf9"); break; case CANNA_KEY_PF10: fprintf(f, "\\Pf10"); break; case CANNA_KEY_Undefine: fprintf(f, "\\Undefine"); /* ¤ª¤«¤·¤¤¡ª */ break; } } } static void chkeyfn(f, actbuff, keybuff) FILE *f; unsigned char *actbuff, *keybuff; { unsigned char *p; if (actbuff[1]) { fprintf(f, " (sequence"); for (p = actbuff ; *p ; p++) { fprintf(f, " \'"); fprintf(f, "%s", cfuncList[*p]); } putc(')', f); } else if (keybuff[1] != 255) { fprintf(f, " \'"); fprintf(f, "%s", cfuncList[actbuff[0]]); } else { fprintf(f, " \'"); fprintf(f, "%s", cfuncList[actbuff[0]]); } fprintf(f, ")"); } static void chkeyrest(f, actbuff, keybuff) FILE *f; unsigned char *actbuff, *keybuff; { unsigned char *p; if (keybuff[1] != 255) { /* ¥­¡¼¥·¡¼¥±¥ó¥¹¤Ê¤é */ for (p = keybuff ; *p != 255 && *p != CANNA_KEY_Undefine ; p++) { printkey(f, *p); } } else { printkey(f, keybuff[0]); } fprintf(f, "\""); chkeyfn(f, actbuff, keybuff); } char * print_acbuff(f, acts, keys) FILE *f; unsigned char *acts, *keys; { if (keys[0] == CANNA_KEY_Undefine) { fprintf(f, "(%s", S_GUnbindKey); chkeyfn(f, acts, keys); } else { fprintf(f, "(%s \"", S_GSetKey); chkeyrest(f, acts, keys); } return 0; } print_cbuff(f, acts, keys) FILE *f; unsigned char *acts, *keys; { /* (set-key mode "keysequence" 'function) (set-key mode "keysequence" (sequence 'function1 'function2 ...)) */ if (keys[0] == CANNA_KEY_Undefine) { fprintf(f, " (%s mode", S_UnbindKey); chkeyfn(f, acts, keys); } else { fprintf(f, " (%s mode \"", S_SetKey); chkeyrest(f, acts, keys); } return 0; } static void mode_style(f, mode, display, isnull) FILE *f; char *mode, *display, *isnull; { if (!isnull) { if (display) { fprintf(f, "(set-mode-display '%s \"%s\")\n", mode, display); } } else { fprintf(f, "(set-mode-display '%s nil)\n", mode); } } write_canna(f) FILE *f; { int i; char romkana[255]; if (RomkanaTable) { fprintf(f, "(setq %s \"%s\")\n\n", S_VA_RomkanaTable, RomkanaTable); strcpy(romkana, RomkanaTable); } else { strcpy(romkana, "default.kp"); } fprintf(f, ";; ¸ß´¹À­³ÎÊݤΤ¿¤á¤Î¥â¡¼¥É¤òÄêµÁ¤·¤Þ¤¹\n"); fprintf(f, "(defmode %s \"%s\" %s)\n", "zen-hira-kakutei-mode \"<Á´¤¢>\"", romkana, "'(hiragana zenkaku kakutei)"); fprintf(f, "(defmode %s \"%s\" %s)\n", "zen-kata-kakutei-mode \"<Á´¥¢>\"", romkana, "'(katakana zenkaku kakutei)"); fprintf(f, "(defmode %s \"%s\" %s)\n", "zen-alpha-kakutei-mode \"<Á´±Ñ>\"", romkana, "'(romaji zenkaku kakutei)"); fprintf(f, "(defmode %s \"%s\" %s)\n", "han-kata-kakutei-mode \"<Ⱦ¥¢>\"", romkana, "'(katakana hankaku kakutei)"); fprintf(f, "(defmode %s \"%s\" %s)\n\n", "han-alpha-kakutei-mode \"<Ⱦ±Ñ>\"", romkana, "'(romaji hankaku kakutei)"); if (mode_ichiran2[InitialMode]) { fprintf(f, "(%s '(%s %s))\n\n", S_SetInitFunc, S_FN_JapaneseMode, mode_ichiran2[InitialMode]); } fprintf(f, "(%s\n", S_FN_UseDictionary); for (i = 0;i < nkanjidics && *kanjidicname[i];i++) fprintf(f, " \"%s\"\n", kanjidicname[i]); for (i = 0;i < nbushudics && *bushudicname[i];i++) fprintf(f, " :bushu \"%s\"\n", bushudicname[i]); for (i = 0;i < nuserdics && *userdicname[i];i++) fprintf(f, " :user \"%s\"\n", userdicname[i]); /* if (RengoGakushu) { fprintf(f, " :rengo \"%s\"\n", RengoGakushu); } */ fprintf(f, " )\n"); fprintf(f, "\n(setq %s %s)\n", S_VA_CursorWrap, toTnil(CursorWrap)); fprintf(f, "(setq %s %s)\n", S_VA_SelectDirect, toTnil(SelectDirect)); fprintf(f, "(setq %s %s)\n", S_VA_NumericalKeySelect, toTnil(HexkeySelect)); fprintf(f, "(setq %s %s)\n", S_VA_BunsetsuKugiri, toTnil(BunsetsuKugiri)); fprintf(f, "(setq %s %s)\n", S_VA_CharacterBasedMove, toTnil(ChBasedMove)); fprintf(f, "(setq %s %s)\n", S_VA_ReverseWidely, toTnil(ReverseWidely)); fprintf(f, "(setq %s %s)\n", S_VA_Gakushu, toTnil(Gakushu)); fprintf(f, "(setq %s %s)\n", S_VA_QuitIfEOIchiran, toTnil(QuitIchiranIfEnd)); fprintf(f, "(setq %s %s)\n", S_VA_KakuteiIfEOBunsetsu, toTnil(kakuteiIfEndOfBunsetsu)); fprintf(f, "(setq %s %s)\n", S_VA_StayAfterValidate, toTnil(stayAfterValidate)); fprintf(f, "(setq %s %s)\n", S_VA_BreakIntoRoman, toTnil(BreakIntoRoman)); fprintf(f, "(setq %s %s)\n", S_VA_GramaticalQuestion, toTnil(gramaticalQuestion)); fprintf(f, "(setq %s %d)\n", S_VA_NHenkanForIchiran, kouho_threshold); fprintf(f, "(setq %s %s)\n", S_VA_KouhoCount, toTnil(kCount)); fprintf(f, "(setq %s %s)\n", S_VA_Kojin, toTnil(kojin)); fprintf(f, "(setq %s %s)\n", S_VA_Auto, toTnil(chikuji)); fprintf(f, "(setq %s %d)\n", S_VA_nKouhoBunsetsu, nKouhoBunsetsu); fprintf(f, "(setq %s %s)\n", S_VA_Abandon, toTnil(abandonIllegalPhono)); fprintf(f, "(setq %s %s)\n", S_VA_HexDirect, toTnil(hexCharacterDefiningStyle)); fprintf(f, "(setq %s %s)\n", S_VA_AllowNextInput, toTnil(allowNextInput)); fprintf(f, "(setq %s %s)\n", S_VA_IndexHankaku, toTnil(indexhankaku)); fprintf(f, "(setq %s %s)\n", S_VA_ignoreCase, toTnil(ignorecase)); fprintf(f, "(setq %s %s)\n", S_VA_RomajiYuusen, toTnil(romajiyuusen)); fprintf(f, "(setq %s %s)\n", S_VA_AutoSync, toTnil(autosync)); fprintf(f, "(setq %s %d)\n", S_VA_nDisconnectServer,nkeysuu ); fprintf(f, "(setq %s %s)\n", S_VA_QuicklyEscape,toTnil(quicklyescape) ); fprintf(f, "\n"); /* set-mode-display */ for (i = 0; mode_ichiran3[i]; i++) { mode_style(f, mode_ichiran3[i], mode_mei[i], null_mode[i]); } fprintf(f, "\n"); for (i = 0; i < NallKeyFunc && allKey[i] && allFunc[i]; i++) { print_acbuff(f, allFunc[i], allKey[i]); fprintf(f, "\n"); } fprintf(f, "\n"); if (NalphaKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_AlphaMode); for (i = 0; i < NalphaKeyFunc && alphaKey[i] && alphaFunc[i]; i++) { print_cbuff(f, alphaFunc[i], alphaKey[i]); fprintf(f ,"\n"); } fprintf(f, " )\n\n"); } if (NyomiganaiKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_YomiganaiMode); for (i = 0; i < NyomiganaiKeyFunc && yomiganaiKey[i] && yomiganaiFunc[i]; i++) { print_cbuff(f, yomiganaiFunc[i], yomiganaiKey[i]); fprintf(f, "\n"); } fprintf(f," )\n\n"); } if (NyomiKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_YomiMode); for (i = 0; i < NyomiKeyFunc && yomiKey[i] && yomiFunc[i]; i++) { print_cbuff(f, yomiFunc[i], yomiKey[i]); fprintf(f, "\n"); } fprintf(f, " )\n\n"); } if (NjishuKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_MojishuMode); for (i = 0; i < NjishuKeyFunc && jishuKey[i] && jishuFunc[i]; i++) { print_cbuff(f, jishuFunc[i], jishuKey[i]); fprintf(f, "\n"); } fprintf(f, " )\n\n"); } if (NtankouhoKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_TankouhoMode); for (i = 0; i < NtankouhoKeyFunc && tankouhoKey[i] && tankouhoFunc[i]; i++) { print_cbuff(f, tankouhoFunc[i], tankouhoKey[i]); fprintf(f, "\n"); } fprintf(f, " )\n\n"); } if (NichiranKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_IchiranMode); for (i = 0; i < NichiranKeyFunc && ichiranKey[i] && ichiranFunc[i]; i++) { print_cbuff(f, ichiranFunc[i],ichiranKey[i]); fprintf(f, "\n"); } fprintf(f, " )\n\n"); } if (NzenHiraKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_ZenHiraKakuteiMode); for (i = 0; i < NzenHiraKeyFunc && zenHiraKey[i] && zenHiraFunc[i]; i++) { print_cbuff(f, zenHiraFunc[i], zenHiraKey[i]); fprintf(f, "\n"); } fprintf(f, " )\n\n"); } if (NzenKataKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_ZenKataKakuteiMode); for (i = 0; i < NzenKataKeyFunc && zenKataKey[i] && zenKataFunc[i]; i++) { print_cbuff(f, zenKataFunc[i], zenKataKey[i]); fprintf(f, "\n"); } fprintf(f, " )\n\n"); } if (NzenAlphaKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_ZenAlphaKakuteiMode); for (i = 0; i < NzenAlphaKeyFunc && zenAlphaKey[i] && zenAlphaFunc[i]; i++) { print_cbuff(f, zenAlphaFunc[i], zenAlphaKey[i]); fprintf(f, "\n"); } fprintf(f, " )\n\n"); } if (NhanKataKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_HanKataKakuteiMode); for (i = 0; i < NhanKataKeyFunc && hanKataKey[i] && hanKataFunc[i]; i++) { print_cbuff(f, hanKataFunc[i], hanKataKey[i]); fprintf(f, "\n"); } fprintf(f, " )\n\n"); } if (NhanAlphaKeyFunc) { fprintf(f, "(let ((mode '%s))\n", S_HanAlphaKakuteiMode); for (i = 0; i < NhanAlphaKeyFunc && hanAlphaKey[i] && hanAlphaFunc[i]; i++) { print_cbuff(f, hanAlphaFunc[i], hanAlphaKey[i]); fprintf(f ,"\n"); } fprintf(f, " )\n\n"); } } Canna37p3/ccustom/wiroha.c0100644000076500001200000002012207554213564014767 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * Author : Osamu Hata, NEC Corporation (hata@bs5.bsd.mt.nec.co.jp) * */ static char rcs_id[] = "@(#) 102.1 $Id: wiroha.c,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $"; #include #define ON 1 #define OFF -1 #define MID 2 extern char *kanjidicname[], *userdicname[], *bushudicname[], *localdicname[]; extern char *funcList[]; extern int nkanjidics, nuserdics, nbushudics, nlocaldics; extern char *RomkanaTable, *RengoGakushu[], *KatakanaGakushu[]; extern int InitialMode, CursorWrap, SelectDirect, HexkeySelect, BunsetsuKugiri; extern int ChBasedMove, ReverseWidely, Gakushu, QuitIchiranIfEnd; extern int kakuteiIfEndOfBunsetsu, stayAfterValidate, BreakIntoRoman; extern int kouho_threshold, gramaticalQuestion; extern char *mode_mei[], null_mode[]; extern char *old_mode_ichiran2[], *old_mode_ichiran3[]; extern char *allKey[], *alphaKey[], *yomiganaiKey[]; extern char *yomiKey[], *jishuKey[], *tankouhoKey[]; extern char *ichiranKey[], *zenHiraKey[], *zenKataKey[]; extern char *zenAlphaKey[], *hanKataKey[], *hanAlphaKey[]; extern char *allFunc[], *alphaFunc[], *yomiganaiFunc[]; extern char *yomiFunc[], *jishuFunc[], *tankouhoFunc[]; extern char *ichiranFunc[], *zenHiraFunc[], *zenKataFunc[]; extern char *zenAlphaFunc[], *hanKataFunc[], *hanAlphaFunc[]; extern int NallKeyFunc, NalphaKeyFunc, NyomiganaiKeyFunc, NyomiKeyFunc; extern int NjishuKeyFunc, NtankouhoKeyFunc, NichiranKeyFunc; extern int NzenHiraKeyFunc, NzenKataKeyFunc, NzenAlphaKeyFunc; extern int NhanKataKeyFunc, NhanAlphaKeyFunc; init_mode_mei() { int i; for (i = 0; i < 40; i++) { null_mode[i] = 0; mode_mei[i] = (char *)NULL; } } free_mode_mei() { int i; for (i = 0; i < 40; i++) { if (mode_mei[i]) { free(mode_mei[i]); } } } char * toChar(suuji) int suuji; { if (suuji == ON) return "on"; else if (suuji == OFF) return "off"; else return " "; } char * print_buff(acts, keys) unsigned char *acts, *keys; { unsigned char *p; char *_buff; char buff[512]; strcpy(buff, ""); for (p = acts; *p; p++) { strcat(buff, funcList[(int)*p]); strcat(buff, ","); } buff[strlen(buff)-1] = '\0'; strcat(buff, " "); p = keys; if (*p == 255) strcat(buff, "undefine "); for (; *p != 255; p++) { if (*p == ',' || *p == '#' || *p == '{' || *p == '}' || *p == '(' || *p == ')') strcat(buff, "\\"); strcat(buff, showChar((int)*p)); strcat(buff, ","); } buff[strlen(buff)-1] = '\0'; _buff = (char *)malloc(strlen(buff)+1); strcpy(_buff, buff); return _buff; } write_iroha(f) FILE *f; { int i; fprintf(f, "initialMode %s\n\n",old_mode_ichiran2[InitialMode]); if (RomkanaTable) { fprintf(f, "romkanatable \"%s\"\n", RomkanaTable); } for (i = 0;i < nkanjidics && *kanjidicname[i];i++) fprintf(f, "dictionary \"%s\"\n", kanjidicname[i]); for (i = 0;i < nuserdics && *userdicname[i];i++) fprintf(f, "userdic \"%s\"\n", userdicname[i]); for (i = 0;i < nbushudics && *bushudicname[i];i++) fprintf(f, "bushudic \"%s\"\n", bushudicname[i]); /* if (RengoGakushu) { fprintf(f, "rengodic \"%s\"\n", RengoGakushu); } */ fprintf(f, "\ncursorWrap %s\n", toChar(CursorWrap)); fprintf(f, "selectDirect %s\n", toChar(SelectDirect)); fprintf(f, "numericalKeySelect %s\n", toChar(HexkeySelect)); fprintf(f, "bunsetsuKugiri %s\n", toChar(BunsetsuKugiri)); fprintf(f, "characterBasedMove %s\n", toChar(ChBasedMove)); fprintf(f, "reverseWidely %s\n", toChar(ReverseWidely)); fprintf(f, "gakushu %s\n", toChar(Gakushu)); fprintf(f, "quitIfEndOfIchiran %s\n", toChar(QuitIchiranIfEnd)); fprintf(f, "kakuteiIfEndOfBunsetsu %s\n", toChar(kakuteiIfEndOfBunsetsu)); fprintf(f, "stayAfterValidate %s\n", toChar(stayAfterValidate)); fprintf(f, "breakIntoRoman %s\n", toChar(BreakIntoRoman)); fprintf(f, "gramaticalQuestion %s\n", toChar(gramaticalQuestion)); fprintf(f, "nHenkanForIchiran %d\n\n", kouho_threshold); for (i = 0; old_mode_ichiran3[i]; i++) { if (mode_mei[i]) { fprintf(f, "modeString(%s) \"%s\"\n", old_mode_ichiran3[i], mode_mei[i]); } else if (null_mode[i]) { fprintf(f, "modeString(%s) NULL\n", old_mode_ichiran3[i]); } } fprintf(f, "\n"); for (i = 0; i < NallKeyFunc && allKey[i] && allFunc[i]; i++) fprintf(f, "%s\n", print_buff(allFunc[i],allKey[i])); if (NalphaKeyFunc) { fprintf(f, "\nalpha {\n"); for (i = 0; i < NalphaKeyFunc && alphaKey[i] && alphaFunc[i]; i++) fprintf(f, " %s\n", print_buff(alphaFunc[i],alphaKey[i])); fprintf(f, "}\n"); } if (NyomiganaiKeyFunc) { fprintf(f, "\nyomiganai {\n"); for (i = 0; i < NyomiganaiKeyFunc && yomiganaiKey[i] && yomiganaiFunc[i]; i++) fprintf(f, " %s\n", print_buff(yomiganaiFunc[i],yomiganaiKey[i])); fprintf(f,"}\n"); } if (NyomiKeyFunc) { fprintf(f, "\nyomi {\n"); for (i = 0; i < NyomiKeyFunc && yomiKey[i] && yomiFunc[i]; i++) fprintf(f, " %s\n", print_buff(yomiFunc[i],yomiKey[i])); fprintf(f, "}\n"); } if (NjishuKeyFunc) { fprintf(f, "\nmojishu {\n"); for (i = 0; i < NjishuKeyFunc && jishuKey[i] && jishuFunc[i]; i++) fprintf(f, " %s\n", print_buff(jishuFunc[i],jishuKey[i])); fprintf(f, "}\n"); } if (NtankouhoKeyFunc) { fprintf(f, "\ntankouho {\n"); for (i = 0; i < NtankouhoKeyFunc && tankouhoKey[i] && tankouhoFunc[i]; i++) fprintf(f, " %s\n", print_buff(tankouhoFunc[i],tankouhoKey[i])); fprintf(f, "}\n"); } if (NichiranKeyFunc) { fprintf(f, "\nichiran {\n"); for (i = 0; i < NichiranKeyFunc && ichiranKey[i] && ichiranFunc[i]; i++) fprintf(f, " %s\n", print_buff(ichiranFunc[i],ichiranKey[i])); fprintf(f, "}\n"); } if (NzenHiraKeyFunc) { fprintf(f, "\nzenHiraKakutei {\n"); for (i = 0; i < NzenHiraKeyFunc && zenHiraKey[i] && zenHiraFunc[i]; i++) fprintf(f, " %s\n", print_buff(zenHiraFunc[i],zenHiraKey[i])); fprintf(f, "}\n"); } if (NzenKataKeyFunc) { fprintf(f, "\nzenKataKakutei {\n"); for (i = 0; i < NzenKataKeyFunc && zenKataKey[i] && zenKataFunc[i]; i++) fprintf(f, " %s\n", print_buff(zenKataFunc[i],zenKataKey[i])); fprintf(f, "}\n"); } if (NzenAlphaKeyFunc) { fprintf(f, "\nzenAlphaKakutei {\n"); for (i = 0; i < NzenAlphaKeyFunc && zenAlphaKey[i] && zenAlphaFunc[i]; i++) fprintf(f, " %s\n", print_buff(zenAlphaFunc[i],zenAlphaKey[i])); fprintf(f, "}\n"); } if (NhanKataKeyFunc) { fprintf(f, "\nhanKataKakutei {\n"); for (i = 0; i < NhanKataKeyFunc && hanKataKey[i] && hanKataFunc[i]; i++) fprintf(f, " %s\n", print_buff(hanKataFunc[i],hanKataKey[i])); fprintf(f, "}\n"); } if (NhanAlphaKeyFunc) { fprintf(f, "\nhanAlphaKakutei {\n"); for (i = 0; i < NhanAlphaKeyFunc && hanAlphaKey[i] && hanAlphaFunc[i]; i++) fprintf(f, " %s\n", print_buff(hanAlphaFunc[i],hanAlphaKey[i])); fprintf(f, "}\n"); } } Canna37p3/ChangeLog0100644000076500001200000020441410052700625013421 0ustar shinraadmin2004-05-21 AIDA Shinra * Canna 3.7p3 release. * configure.ac: bump to 3.7p3 * canna/patchlevel.h: ditto * CHANGES.jp: updated 2004-05-21 AIDA Shinra * confwrapper: "." bashism. Many shells don't searches the current directory. * Imakefile: $(CC) -> env $(CC) in case $(CC) is "LD_LIBRARY_PATH=/usr/X11R6/lib cc". * canuum/Imakefile: ditto 2004-05-19 AIDA Shinra * Canna 3.7p2 release. * configure.ac: bump to 3.7p2 * canna/patchlevel.h: ditto 2004-05-05 AIDA Shinra * CHANGES.jp: fix a typo 2004-05-05 AIDA Shinra * COPYRIGHT: added * CHANGES.jp: updated for 3.7p2 * RKCCONF.jp: warn about future change 2004-05-05 AIDA Shinra * Merge Pubdic+-fix01 to make the license of pubdic more clear. * dic/ideo/pubdic/pod.c: Remove #ifndef POD_WCHAR part. Make casts more proper. Add 'vu' conversion though it is not needed for now. * dic/ideo/pubdic/COPYRIGHT: added * dic/ideo/pubdic/VERSION: added 2004-04-27 AIDA Shinra * VENDOR_DEFINES which comes from X.Org's imake contains single quotes. * confwrapper: generate cwenv.sh first and then run configure * Imakefile: ditto * canuum/Imakefile: ditto * confwrapper.sub: removed * Canna.conf.dist: DLLs need INSTBINFLAGS instead of INSTLIBFLAGS 2004-04-27 AIDA Shinra * When delay-connect is t and KC_FINALIZE is used uilib gets into inconsistent state. * lib/canna/commondata.c(mountnottry): added * lib/canna/globnames: added mountnottry * lib/canna/henkan.c(KanjiInit): mountnottry is now global symbol (KanjiFin): clear some variables 2004-04-27 AIDA Shinra * Merge trivial fixes (uilib, doc) * lib/canna/obind.c(owcLookupKanji2): buffer_return is not char * but wchar_t *. (cannawc32): use canna_uint32_t (cannawc16): use canna_uint16_t * lib/canna/RKroma.c(RkMapPhonogram): KPDIC&&PTDIC -> KPDIC||PTDIC * [Canna-dev 297]: sentou 1moji sentaku bug * lib/canna/henkan.c(TbChooseChar): last character's attribute needs SENTOU flag * [Canna-dev 290]: Documents * doc/man/guide/tex/func.tex: Now renbun-continue is t by default. * dic/ideo/grammar/gram.code: correct a comment * [Canna-dev 291]: Protocol definition is inconsistent with implementation. * doc/intern/protocol.tex: corrected * [Canna:05898]: canna-parse is broken * lib/canna/lisp.c(Lread): stop fclose(NULL) 2004-04-27 AIDA Shinra * Merge trivial fixes (canuum, RKC and server) * canuum/canuum.jmn: Description about -[SJUsju] options were misleading or wrong. * canuum/jhlp.c(chld_handler): cygwin has union wait but WIF*() macros do not work if union wait is given * canuum/termcap.c(sr_set): check %p though it exists only in terminfo * lib/RKC/conf.c(read_pipe_with_errors): bug fix in no_exitstatus case (thanks to nanashi san) (Lexer_next): an extra memchr() caused a crash * lib/RKC/convert.c(RkcSendERequest): When communication fails, set errno to EPIPE and close the socket in any case. * lib/RKC/wconvert.c(RkcSendWRequest): ditto * server/misc.c(mysignal): added to prevent syscalls from restarting * server/Imakefile: SIGNAL_DEFINES * server/comm.c(ClientBuf): count temporary failures and close connection if too many errors happen (ClientBuf_recv): save errno before Dmsg (ClientBuf_send): ditto (EventMgr_run): ditto 2004-01-02 AIDA Shinra * Canna 3.7p1 release. * CHANGES.jp: updated * canna/patchlevel.h: bump to 3.7p1 2003-12-29 AIDA Shinra * Canna.conf.dist(sharedLibExtension): HPArchitecture is also defined on Linux with hppa. Make sure the system is really HP-UX. ([Canna-dev 280]) * confwrapper: CC="$ccadd $CC" is foolish ([Canna-dev 281]) 2003-12-28 AIDA Shinra * Canna.conf.dist(SHLIBLDFLAGS): Assign "-G -z text" on SVR4 because Solaris appends "-M mapfile" and therefore we need to generate mapfile. * server/wconvert.c(ExtensionVector): remove "static" * CHANGES.jp: make mention of glibc 2003-12-28 AIDA Shinra * Sync with HEAD. All changes were fixes of bugs or portability problems, therefore I merged all of them. * CHANGES.jp: forgot IPv6 feature * Canna.conf.dist(CppSedMagic): Remove #pragma inserted by the default gcc-3.3 that ships with MacOS X 10.3. Recent snapshot of XFree86 specifies /usr/bin/cpp3 as CppCmd so we don't need redefine CppSedMagic. * Imakefile: Use confwrapper. #undef malloc in cannaconf.h. Fix OS2Architecture. * configure.ac: add proper arguments of AC_INIT and RCSID * confwrapper: added to remove something like ` ` in CPPFLAGS and others * confwrapper.sub: ditto * mkrelease.sh: always use autoconf 2.59 * canuum/Imakefile: use confwrapper * dic/ideo/pubdic/Imakefile: link libRKindep * lib/RKC/conf.c(Lexer_next): skip #pragma (host_str_defaults): put a dummy member (top_num_defaults): ditto * lib/RKindep/cfuncs.c: #ifndef HAVE_MALLOC -> #if !HAVE_MALLOC * lib/RKindep/cfuncs.h: Newer autoconf defines HAVE_MALLOC to 0 but older undefines it. Accept both. * server/convert.c: Forward declaration of file scope array is not confirm to the standard. Fixed. Added some #ifdef USE_EUC_PROTOCOL. * server/wconvert.c: ditto 2003-12-13 AIDA Shinra * CHANGES.jp: modify description of old "security bug" 2003-12-12 AIDA Shinra * Canna 3.7 release. * CHANGES.jp: updated * canna/patchlevel.h: bump to 3.7 2003-12-12 AIDA Shinra * dic/ideo/*: Sync with DIC_WORK branch. 2003-12-07 AIDA Shinra * canna/widedef.h: MacOS X 10.3 support * canna/jrkanji.h: define CANNA_JR_BEEP_FUNC_DECLARED 2003-10-12 AIDA Shinra * Imakefile: s/CANNA_PURE_CFLAGS/PURE_CFLAGS/ * configure.ac: check inet_aton * server/misc.c(GetAddrListFromName): use inet_addr if inet_aton is not available * canuum/configure.ac: pass PURE_CFLAGS to configure * canuum/header.c: specify argument types of code_trans to distinguish int and size_t * canuum/sdefine.h: declare msg_get to distinguish int and size_t * canuum/termio.c(set_scroll_region): pass exactly 10 arguments to tparm (as XSI Curses standard notes) (throw_cur_raw): ditto 2003-10-10 AIDA Shinra * cmd/ctow/ctow.c: s/close/fclose/ 2003-10-10 AIDA Shinra * Some minor cleanups (especially printf format problems and unused variables) * cmd/cannacheck/main.c: cleanuped * cmd/cannastat/cannastat.c: cleanuped * cmd/catdic/rutil.c: cleanuped * cmd/chkconc/chkconc.c: cleanuped * cmd/crfreq/crfreq.c: cleanuped * cmd/crxdic/crxdic.c: cleanuped * cmd/cshost/cshost.c: cleanuped * cmd/ctow/ctow.c: cleanuped * cmd/dicar/dicar.c: cleanuped * cmd/dpxdic/dpxdic.c: cleanuped * cmd/kpdic/kpdic.c: cleanuped * cmd/mergewd/mergewd.c: cleanuped * cmd/splitwd/splitwd.c: cleanuped * cmd/wtoc/wtoc.c: cleanuped, s/close/fclose/ * server/comm.c: cleanuped * lib/RK/RKintern.h: declare ustoeuc 2003-10-10 AIDA Shinra * configure.ac: check arpa/inet.h * canna/net.h: include if exists * server/misc.c(DetachTTY): use HAVE_* 2003-10-05 AIDA Shinra * canna/jrkanji.h: declare jrBeepFunc only if CANNA_NEW_WCHAR_AWARE is defined * lib/RKC/confP.h(Lexer): turn typeof(lineno) to unsigned int * lib/RKC/conf.c(Lexer_next): ditto (Lexer_error): ditto 2003-10-02 AIDA Shinra * Set nonblocking mode properly. * server/comm.c(set_nonblock): added (EventMgr_accept): invoke set_nonblock (open_unix_socket): ditto (open_inet_socket): invoke set_nonblock. handle failure in listen() properly. (open_inet6_socket): ditto (ClientBuf_send): check EAGAIN and EWOULDBLOCK (ClientBuf_recv): ditto 2003-10-02 AIDA Shinra * canna/sysdep.h: fallback to sys/types.h if neither inttypes.h nor stdint.h are found * configure.ac: better checking of int32_t and in_addr_t (for Cygwin) * cmd/canlisp/canlisp.c: define CANNA_NEW_WCHAR_AWARE * cmd/catdic/RKdelline.c: ditto * cmd/catdic/Imakefile: cannakill was bad link ([Canna-dev 257]) * Canna.conf.dist(LDOPTIONS): remove -l$(libCannaDir) ([Canna-dev 258]) 2003-09-30 AIDA Shinra * CHANGES.jp: add some items 2003-09-30 AIDA Shinra * [Canna-dev 254] * lib/RKC/conf.c(host_num_defaults): change default value of CONF_SERVER_TIMEOUT to 1500ms * RKCCONF.jp: updated due to avobe change * Imakefile: ifdef UseInet6 -> if UseInet6 2003-09-27 AIDA Shinra * dic/ideo/*: Sync with DIC_WORK branch. See dic/ideo/ChangeLog for details. * canna/patchlevel.h: bump to 3.7beta1 2003-09-26 AIDA Shinra * Update documents for 3.7 beta release. * CHANGES.jp: truncated * OCHANGES.jp: moved everything here from CHANGES.jp * INSTALL: Updated. Removed description about ancient systems. * INSTALL.jp: ditto * README.jp: cannuum is now secure. * misc/initfiles/sample.canna: describe :katakana * misc/initfiles/verbose.canna: ditto * misc/initfiles/unix.canna: describe and enable :katakana 2003-09-25 AIDA Shinra * Type of CRC is canna_uint32_t. * lib/RKindep/cksum.h: use canna_uint32_t * lib/RKindep/cksum.c: ditto * cmd/crxdic/crxdic.c: ditto 2003-09-25 AIDA Shinra * Fix renbun-continue problem. * lib/canna/commondata.c(InitCannaConfig): turn default value of renbun-continue to t * lib/canna/henkan.c(TanKakuteiYomiInsert): handle renbun-continue properly * misc/initfiles/verbose.canna: updated 2003-09-25 AIDA Shinra * canna/ccompat.h: avoid isolated semicolon in global scope * cmd/cannastat/cannastat.c: add RCSID * cmd/crrdic/*: removed because crrdic is obsoleted by kpdic 2003-09-25 AIDA Shinra * canna/jrkanji.h: Add declaration of jrBeepFunc. Remove exp() macro. * lib/canna/canna.h: exp() macro is moved here 2003-09-25 AIDA Shinra * lib/RKC/conf.c(Parser_stmt): "foo" "bar" are converted to "foobar" (syn_host): ditto (Parser_getstr): added * lib/RKC/confP.h: updated 2003-09-25 AIDA Shinra * Build cleanup and an experimental rule to build shared library. * We no longer support EUC protocol. * Canna.conf.dist: Lots of new macros. Especially make variables "supportOldWchar" and "inet6Definition" are replaced with cpp macros "SupportOldWchar" and "UseInet6". * Imakefile: change the method to create cannaconf.h * dic/ideo/pubdic/Imakefile: use ProgramTargetName rhan #if * server/Imakefile: ditto * cmd/cmd.tmpl: ditto * cmd/catdic/Imakefile: ditto * cmd/mkbindic/Imakefile: remove -Ui386 * cmd/mkromdic/Imakefile: remove -Ui386 * lib/RKindep/Imakefile: place all:: target first 2003-09-25 AIDA Shinra * lib/RKC/rkc.c(RkcConnectIrohaServer): invoke rkc_configure() 2003-09-24 AIDA Shinra * Now canna works on 64bit Solaris. I believe canna also works in other 64bit environments with minor changes. * configure.ac: check in_addr_t and socklen_t * canna/net.h: Define canna_in_addr_t and canna_socklen_t here. For this include "ccompat.h" first and place an include guard. * cmd/cannastat/cannastat.c: remove verbose include * cmd/crfreq/crfreq.c: fix type of header size * lib/RK/RKintern.h(HD_TAGSIZ): correct definition * lib/RK/ngram.c(RkKxGram): typeof(ng_neg) is canna_uint32_t (RkReadGram): ditto (RkCheckNegGram): ditto * lib/RKC/wconvert.c(connect_unix): correct length of sockaddr (connect_inet, INET6): type of port (connect_inet, !INET6): type of hostinetaddr. use h_addr_list if available. * lib/RKindep/file.c(RkiConnect): type of 5th argument of getsockopt * lib/canna/lisp.c(patom): cast properly due to varargs * server/comm.c(open_inet_socket): use socklen_t * server/main.c(process_request): forgot to pass first argument to Dmsg * server/wconvert.c(ExtensionRequest): static 2003-09-23 AIDA Shinra * cmd/cannastat/cannastat.c: cast time_t properly for printf 2003-09-23 AIDA Shinra * Fix RKC ABI problem. RkcGetServerFD and RkcConnectIrohaServer were renamed by sglobal.h, but their renamed names changed every time globnames changed. Now we export these functions in original names and renamed names in 3.5/3.6. Cannastat and cshost in 3.5/3.6 work fine with new 3.7devel3 library, but these commands in older 3.7 fail to work. For change of native ABI we bump patchlevel and minor version of shared libraries. * lib/RKC/rkc.c(G070_RkcGetServerFD): add for 3.5/3.6 compatibility (G069_RkcConnectIrohaSrever): ditto * cmd/cannastat/cannastat.c: don't include sglobal.h * cmd/cshost/cshost.c: ditto * canna/patchlevel.h: bump to 3.7devel3 * Canna.conf.dist(cannaDsoRev): bump to 1.2 2003-09-23 AIDA Shinra * More portable cshost. Ver.1 server support is removed. * cmd/cshost/cshost.c(CannaDispControlList): rewrite (IrohaDispControlList): removed 2003-09-23 AIDA Shinra * server/comm.h(EventMgr_run): make sure to send all of reply after KillServer request. 2003-09-23 AIDA Shinra * Fully rewrite cannastat. * New cannastat is more portable to 64bit environments. * Implement strict error check. * canna/rkcapi.h: new APIs * cmd/cannastat/cannastat.c: rewrite * lib/RKC/convert.c(ReadServer): export as RkcRecvEReply (WriteServer): export as RkcSendERequest * lib/RKC/wconvert.c(ReadServer): export as RkcRecvWReply (WriteServer): export as RkcSendWRequest * server/IR.h: move many definitions to server.h * server/server.h: move many definitions from IR.h 2003-09-22 AIDA Shinra * Fix IR_STAT and IR_STAT2 and inhibit other protocols before IR_INIT. * server/convert.c(SendTypeE5Reply): change first argument (ir_initialize): make sure to close connection in error case (ir_server_stat2): change first argument (ir_server_stat): ditto (ir_nosession): added (parse_euc_request): s/request/xrequest/ (Vector): reject IR_STAT and IR_STAT2 when session is up * server/main.c(process_request): perform dispatch via ir_nosession 2003-09-22 AIDA Shinra * server/misc.c(get_all_other_clients): correct syntax error 2003-09-21 AIDA Shinra * ServerNG: 50% scratched reimplementation of cannaserver. * Now cannaserver does not use bitmap of sockets to manage clients. This makes it far easy to port cannaserver to 64bit environments. * Now cannaserver performs fully multiplexed I/O. Especially we are free from hangs waiting for response from dead client. * Intitialization, termination and error handling is much more clean. * All code derived from X server retired. * All functions have prototypes. * configure.ac: check syslog(), vsyslog() and time_t. * canna/protodefs.h: simplify !EXTENSION case * lib/RKindep/file.h(RKI_FD_SETSIZE): added * server/IR.h: Now contains only minimum definitions for use in cannastat and cshost. * server/server.h: place prototype declarations here * server/WaitFor.c: Removed. * server/connectoin.c: Removed. Some code are moved into comm.c and session.c. * server/convert.c: Reduce use of ClientRec by some formal changes. * server/wconvert.c: ditto * server/comm.c: added * server/session.c: added * server/util.c: add const qualifier, replace int to size_t 2003-09-21 AIDA Shinra * lib/RK/RK.h: Fix 7th arguemnt's type of RkwGetSimpleKanji. Declare RkwStoreRange. * lib/RK/bun.c(RkwGetSimpleKanji): fix 7th arguemnt's type * lib/RKC/rkc.c(RkwGetSimpleKanji): ditto * lib/canna/engine.c(RkwGetSimpleKanji): ditto 2003-09-21 AIDA Shinra * lib/canna/kctrl.c(KC_initialize): fix condition * cmd/cannacheck/main.c: remove "delay-connect" desc 2003-09-21 AIDA Shinra * lib/canna/kctrl.c(KC_initialize): s/chkverbose/ckverbose/ 2003-09-21 AIDA Shinra * configure.ac: add spaces at the top of lines of AC_CHECK_FUNCS 2003-09-21 AIDA Shinra * lib/canna/kctrl.c(KC_initialize): ignore delay-connect in verbose mode for cannacheck. 2003-09-18 AIDA Shinra * cmd/dpxdic/dpxdic.c(getdic): 300702L format dictionary 2003-09-18 AIDA Shinra * Cleanup includes and definitions in RKC and server. * canna/protodefs.h(MIN): removed * RKindep/ecfuncs.h(RKI_MIN): added (RKI_MAX): added * lib/RKC/*: cleaned up * server/*: cleaned up * server/server.h: added 2003-09-17 AIDA Shinra * Get rid of BIGPOINTER switch and replace to canna_intptr_t. * configure.ac: test sizeof(void *) * canna/sysdep.h: add canna_intptr_t and fix typo in canna_uint32_t definition. * Canna.conf.dist: remove pointerIntegerDef and wcharDefinition * ccustom/Imakefile: ditto * cmd/cmd.tmpl: ditto * ccustom/lisp.h: use canna_intptr_t instead of POINTERINT * cmd/cannacheck/main.c: ditto * lib/canna/canna.h: define POINTERINT to canna_intptr_t * lib/canna/lisp.c: replace unsigned POINTERINT to canna_uintptr_t * lib/canna/lisp.h: use SIZEOF_VOID_P instead of BIGPOINTER switch 2003-09-17 AIDA Shinra * Remove most code for Windows port. It is generally ad hoc and making difficult to maintain related code. In addition working Canna for Windows requires additional proprietary code. Even if we ported Canna to non-UNIX system again, the implementation would be far from Canna for Windows anyway. * lib/canna/*: New compile time switches "USE_MALLOC_FOR_BIG_ARRAY" and "CODED_MESSAGE" are introduced. Some part of Windows code is left and can be enabled by turning these switches on. 2003-09-17 AIDA Shinra * add sysdep.h and pubconf.h for canna_intXX_t. * configure.ac: create pubconf.h * Imakefile: create, link, and install pubconf.h * canna/sysdep.h: added * canna/ccompat.h: include "canna/sysdep.h" * canna/Imakefile: link and install sysdep.h * canna/jrkanji.h: include and use canna_uintXX_t * lib/RK/RK.h: ditto * lib/RKC/rkcw.h: use canna_uintXX_t to define cannawc * canna/protodefs.h: use canna_uint16_t to define Ushort * server/IR.h(LENTODATA): use canna_uintXX_t (DATATOLEN): ditto 2003-09-17 AIDA Shinra * [Canna-dev 245]: new key symbols and others (by Ikumi san) * doc/man/guide/tex/custom.tex: remove server-timeout * dic/phono/tut.kpdef(tgu): tai->kuma (Reported by KIHARA Hideto san) * canuum/canna.c(convert_getterm): use new key symbols 2003-09-17 AIDA Shinra * doc/misc/wchar.tex: removed obsolete document * doc/misc/.cvsignore: removed * doc/Imakefile: no need to put symlink to canna.sty in doc/misc * [Canna-dev 127]: canlisp manual * doc/lisp/canlisp.tex: Updated. Old Kon san's mail address was removed. 2003-09-16 AIDA Shinra * lib/RKC/convert.c(ReadServer): continue in EINTR case (WriteServer): select() * lib/RKC/wconvert.c(READIT): continue in EINTR case (WriteServer): select() 2003-09-15 AIDA Shinra * canuum/README.jp: Sync with release branch. Update libspt download page. 2003-09-15 AIDA Shinra * CHANGES.jp: sync with release branch * INSTALL: ditto * INSTALL.jp: ditto * canuum/canna.c(init_uum): remove nonsensical "< 0" * server/server.jmn(SYNOPSIS): add -inet6 2003-09-15 AIDA Shinra * cmd/cannacheck/main.c: server name mignt be NULL if delay-connect option is set 2003-09-15 AIDA Shinra * misc/.cvsignore: add manual.sed * misc/initfiles/verose.canna(server-timeout): removed 2003-09-12 AIDA Shinra * [Canna-dev 241]: bug report from Chinen san * lib/RK/fq.c(readNV): bad pointer 2003-09-09 Toru TAKAMIZU * misc/initfiles/unix.canna: fix a typo ([Canna-dev 216]). * misc/initfiles/verbose.canna: (setq inhibit-hankaku-kana nil) ([Canna-dev 216]) * document patch from Ikumi-san ([Canna-dev 216]). The document is now compliant with LaTeX2e, while the old one depends on LaTeX. Note that LaTeX 2.09 cannot typeset the document after this change. The patch also includes a lot of misc fixes. The following files are modified. - doc/man/guide/tex/custom.tex - doc/man/guide/tex/kanacode.tex - doc/man/guide/tex/Imakefile - doc/man/guide/tex/library.tex - doc/man/guide/tex/server.tex - doc/man/guide/tex/customex.tex - doc/man/guide/tex/canna-dist.tex - doc/man/guide/tex/commands.tex - doc/man/guide/tex/konna.tex - doc/man/guide/tex/jinput.tex - doc/man/guide/tex/keymap.tex - doc/man/guide/tex/func.tex - doc/man/guide/tex/customfn.tex - doc/README.jp - doc/canna.sty 2003-09-08 AIDA Shinra * lib/RKC/conf.c(read_pipe_with_errors): prevent hang when my zombie process disappeared by client's wait() 2003-09-08 AIDA Shinra * [Canna-dev 239]: build error and error handling for rkc.conf * lib/RKC/conf.c(config_path): better error messages * lib/canna/Imakefile(clean): fix NARROW 2003-09-07 AIDA Shinra * lib/RK/ngram.c(RkReadGram): fix grammar offset calculation, reduce gcc's warning (RkCopyWrec): initialize a variable * lib/RK/util.c(_RkReadHeader): fix copy size (_RkCreateHeader): another fix of position calculation 2003-09-06 AIDA Shinra * lib/RKC/conf.c: cast 0xdeadbeef to int (config_path): avoid PATH_MAX; now return a pointer allocated via malloc() (rkc_configure): change error handling for above change * lib/RKC/confP.h: cast 0xdeadbeef to int * lib/RKindep/strops.exp: add three entries * lib/RKindep/strops.h(RKI_STRBUF_ADDCH): added * lib/RKindep/strops.c(RkiStrbuf_add): added (RkiStrbuf_addmem): added (RkiStrbuf_addch): added * Canna.conf.dist(CANNA_DEFINES): added for __EXTENSIONS__ on sun * Imakefile(DEFINES): added for CANNA_DEFINES * cmd/cmd.tmpl(DEFINES): add CANNA_DEFINES * lib/RK/RKintern.h: fix RK_ASSERT * lib/RK/util.c(_Rkpanic): s/fprintf/vfprintf/ (_RkCreateHeader): fix datasz calculation * lib/RKC/Imakefile: merge RKC16/Imakefile * lib/RKC16/Imakefile: merge into RKC/Imakefile and include it * lib/canna/Imakefile: merge canna16/Imakefile * lib/canna16/Imakefile: merge into canna/Imakefile and include it 2003-09-06 AIDA Shinra * lib/canna/Imakefile(RKINDEPSRCS): fix typo * server/misc.c(EarlyInit): -l was not working 2003-09-06 AIDA Shinra * [Canna-dev 231]: cpdic failure and cpp's stderr * lib/RKC/wconvert.c(SendType21Request): fix request size * lib/RKC/Imakefile: add strops.[co] * lib/RKC16/Imakefile: ditto * lib/canna/Imakefile: ditto * lib/canna16/Imakefile: ditto * lib/RKC/conf.c(read_pipe_with_errors): added (rkc_configure): use read_pipe_with_errors() instead of popen() (Lexer_new): receive complete input instead of FILE * * lib/RKC/confP.h(Lexer): remove rdbuf, curr and rdend is now const char * * lib/RKindep/strops.c: added * lib/RKindep/strops.exp: added * lib/RKindep/strops.h: added 2003-09-04 AIDA Shinra * dic/ideo/words/Imakefile: fix DIC_3_6_COMPAT * dic/ideo/grammer/Imakefile: ditto 2003-09-04 AIDA Shinra * [Canna-dev 226][Canna-dev 227]: isnumber * lib/RKC/conf.c(Lexer_next): s/isnumber/isdigit/ 2003-09-04 Toru TAKAMIZU * cmd/cannacheck/ccheck.man: remove a blank line 2003-08-31 AIDA Shinra * doc/intern/dic.txt: fix spelling 2003-08-31 AIDA Shinra * [Canna-dev 220]: tango touroku problem * lib/canna/uldefine.c(dicTourokuControl): set tblflag 2003-08-24 AIDA Shinra * doc/intern/dic.txt: previous commit was insufficient * Canna.conf.dist(DIC_3_6_COMPAT): new cpp option * dic/ideo/words/Imakefile: support DIC_3_6_COMPAT * dic/ideo/grammer/Imakefile: ditto * cmd/mkbindic/mkbindic.cpp: support -c option * cmd/mkbindic/mkbindic.man: updated * cmd/mkbindic/mkbindic.jmn: updated 2003-08-24 AIDA Shinra * New dictionary header. The new format is incompatible with former format, therefore some compatibility feature are introduced. Crxdic has "3.6-compatible" mode. Crfreq generates old .cld if .cbd is old format. Server can mount both old and new dictionaries. These stuff will be removed someday. * canna/patchlevel.h: bump to 3.7devel2 * lib/RK/RKintern.h: include and (HD_*): reorder and change to enum (HD_VERSION): new macro (HD_TAG_*): moved into util.c (struct ND): new member "version" * lib/RK/ngram.c(RkReadGram): New argument "gramsz". Size check is performed by "gramsz". (RkOpenGram): Deal with new grammer data storage. * lib/RK/permdic.c(openDF): Deal with new grammer data storage. remove "WIN" code. * lib/RK/util.c(HD_*): moved from RKintern.h (read_tags): added (_RkReadHeader): rewritten to handle new format (_RkCreateHeader): ditto * cmd/crfreq/crfreq.c(main): s/RK_MAX_HDRSIZ/RK_OLD_MAX_HDRSIZ. Deal with new grammer data storage. * cmd/crxdic/crxdic.c(struct dictionary): new members "gram{data,sz}" (parse_arg): -c and -g option (STrdup): check memory allocation error (setHeader): removed (makeHeader): rewritten (write_file): write grammer data here instead of "cat" in Makefile (main): store grammer in memory * cmd/dpxdic/dpxdic.c(main): catch RkReadGram API change up * dic/ideo/grammer/Imakefile: don't create fuzokugo.cld. include cnj.bits to fuzokugo.cbd by "crxdig -g" instead of "cat". * dic/ideo/words/dics.dir: remove fuzokugo.cld * doc/intern/dic.txt: updated 2003-08-17 AIDA Shinra * doc/intern/dic.txt: documentation of binary dictionary format 2003-08-16 AIDA Shinra * Binary dictionary was not created properly. It caused wrong learning sometimes. * cmd/crxdic/crxdic.c(getp): returned number was not prime (fil_ltab): "csn" record in link table was wrong 2003-08-16 AIDA Shinra * cmd/crxdic/crxdic.c: Improve boundary and internal sanity checks. Some of error exit() are replaced to assert(). (fil_dic): remove pg arg * lib/RK/RKintern.h(RK_ASSERT): added * lib/RK/ngram.c(wstowrec): Fix wrong boundary check. Some of error return are replaced to RK_ASSERT(). (RkParseWrec): Remove workaround for above wrong boundary check. And improvements of sanity checks. (RkParseOWrec): ditto * lib/RK/util.c(_Rkpanic): use vfprintf (RkAssertFail): added * lib/RKC/convert.c(ServerTimeout): fix declaration * lib/RKC/wconvert.c(ServerTimeout): define externally * lib/canna/globnames: add ServerTimeout again * server/misc.c(EarlyInit): fix -d handling (BecomeDaemon): ditto 2003-08-08 AIDA Shinra * Preprocess rkc.conf by cpp. * Canna.conf.dist(RKC_DEFINES): add -DCPP * RKCCONF.jp: updated * lib/RKC/conf.c(rkc_configure): popen cpp (Lexer_new): initialize linetop flag (Lexer_next): read "# line" generated by preprocessors * lib/RKC/confP.h(Lexer): new member "linetop" 2003-08-07 AIDA Shinra * lib/RKC/conf.c(Parser_eval): disallow EOF in expressions 2003-08-07 AIDA Shinra * Implement C-like expressions evaluator for rkc.conf. * RKCCONF.jp: updated * lib/RKC/conf.c(match_operator1): added (match_operator2): added (Lexer_next): process operators, add postfix_op flag (op_dump): added for debug (Token_dump): add TOK_SEMICOLON and TOK_OPERATOR (Parser_next): pass postfix_op flag to Lexer_next(), dump token if CONF_LEXER_DEBUG is defined (Parser_next_postfixop): added (Parser_stmt): evaluate expressions (Parser_eval_error): added (Parser_eval): added (calc_*): added (top_statements): turn to static (host_statements): turn to static (RkcConfMgr_find): fix logic * lib/RKC/confP.h(CONF_LEXER_DEBUG): add debug flag (CONF_EVAL_DEBUG): add debug flag (TokenType): add TOK_OPERATOR (Operator): added (TokenVal): new member "opval" to store an operator (Parser): new member "exprval" 2003-08-05 AIDA Shinra * Implement RKC configuration infrastracture. * RKCCONF.jp: new documentation * configure.ac: check strlcpy() * canna/rkcapi.h(INT_HEADER): added * canna/Imakefile: add rkcapi.h * canna/symbolname.h: remove "server-timeout" * lib/RK/RK.h(RkwSetTimeout,RkwGetTimeout): removed * lib/RKC/Imakefile: add conf.c, conf.h and confP.h create symbolic link to rkcapi.h in $(CANNAROOT)/includes. * lib/RKC/conf.c: added configurator implementation * lib/RKC/conf.h: added * lib/RKC/confP.h: added * lib/RKC/rkc.c(ServerTimeout): move into wconvert.c (config_error_handler): added (RkwInitialize): remove CANNA_TIMEOUT feature. invoke config_error_handler. invoke rkc_configure/rkc_config_fin. (RkwFinalize): invoke rkc_config_fin. (RkcListenConfigErrors): added (RkwGetTimeout): removed (RkwSetTimeout): removed * lib/RKC/rkc.h: include "rkcapi.h" * lib/RKC/wconvert.c(ServerTimeout): moved from rkc.c (rkc_build_cannaserver_list): check "cannahost" in rkc.conf. (rkc_Connect_Iroha_Server): set ServerTimeout here * lib/RKC16/Imakefile: add conf.c, conf.h and confP.h * lib/RKindep/Imakefile: add ecfuncs.h * lib/RKindep/cfuncs.c(RkiAltStrlcpy): added (RkiAltStrlcat): added * lib/RKindep/ecfuncs.exp: added for RkiAltStrl{cat,cpy} * lib/RKindep/ecfuncs.h: added for strlcpy and strlcat * lib/RKindep/file.c(RkiGetLine): added (RkiReadWholeFile): added * lib/RKindep/file.exp: added RkiGetLine and RkiReadWholeFile * lib/RKindep/file.h: ditto * lib/canna/Imakefile(RKCSRCS): add conf.c (RKCOBJS): add conf.o * lib/canna16/Imakefile: ditto * lib/canna/globnames: add config related functions and remove ServerTimeout. * lib/canna/henkan.c(warnRKCErrors): added (KanjiInit): report RKC config errors if you are in verbose mode * lib/canna/lisp.c(VServTimeout): removed 2003-08-02 AIDA Shinra * fix chkconc build. * lib/RK/RKintern.h(struct RkGramIterator): added (RkNextGram): added * lib/RK/ngram.c(RkFirstGram): added (RkEndGram): added * cmd/chkconc: use RkGramIterator 2003-08-01 AIDA Shinra * lib/RK/permdic.c(_Rkpopen): fix copy and paste error 2003-08-01 AIDA Shinra * Change internal representation of conjunctions. Conjunction matrix is packed per rows and referred by binary search. It can also hold some flags. This is first step to increase maximum number of hinshi. * lib/RK/RKintern.h(RkKxDic): move RkKxDic to ngram.c. (TestGram): replaced to RkTestGram() (struct nword): remove nw_rcvec * lib/RK/ngram.c(RkKxGram): added and new records (gram_fill_conjcells): added (RkGetGramSize): #ifdef unused (RkTestGram): added to replace TestGram() macro (RkCheckNegGram): moved from nword.c and compute rcvec here * lib/RK/nword.c(checkNeg): renamed to RkCheckNegGram and moved into ngram.c (concWord): use RkCheckNegGram and remove unused variable (parseWord): use RkTestGram * lib/RK/bun.c(nword2str): use RkGetGramName instead of direct access to nw_strtab 2003-07-31 AIDA Shinra * [Canna-dev 218]: Ftte Lower priority of 1 letter word + Ftte. Just a first step. * lib/RK/RKintern.h(RkGram): add P_Ftte (nword): move nw_count outside #ifdef LOGIC_HACK (NW_LOWPRI): move outside #ifdef LOGIC_HACK * lib/RK/context.c(_RkInitialize): get P_Ftte * lib/RK/permdic.c(_Rkpopen): ditto * lib/RK/nword.c: move some LOGIC_HACK code outside #ifdefs. better to remove !LOGIC_HACK code? (concWord): NW_LOWPRI to Ftte (compword): place NW_LOWPRI words after all !NW_LOWPRI word. 2003-07-06 AIDA Shinra * [Canna-dev 213]: Ikumi-san: key mappings and misc/canna removal * lib/canna/lisp.c(keywordtable): add some key symbols (LdefXKeysym): removed because nobody use and don't work and considered harmful * canna/symbolname.h(S_defXKeysym): removed * lib/canna/alphamap.h: delete extra space * lib/canna/emptymap.h: delete extra space * misc/canna: removed because we have rc.canna 2003-07-06 Toru TAKAMIZU * [Canna-dev 190]: Ikumi-san: documentations improved. - Canna.conf.dist: correct some wording - INSTALL: explanation about automatic startup now makes the reader refer to the sample script rather than shows an example that assumes a certain directory layout etc. - INSTALL.jp: ditto 2003-07-03 AIDA Shinra * [Canna-dev 212]: KC_DO behaviour * lib/canna/kctrl.c(KC_do): return number of commited characters for consistency with EUC API 2003-06-29 AIDA Shinra * lib/RKindep/cksum.c(RkiCksumCRCAdd): char -> unsigned char * cmd/crxdic/crxdic.c(makeHeader): dic->hdr is empty and useless here. use dic->Dir->buf instead. 2003-06-29 AIDA Shinra * Several fixes related to romaji-kana conversion. * cmd/dpromdic/dpromdic.c(printch): escape cpp-unsafe characters * cmd/kpdic/kpdic.c(getWORD): Interpret "\xXX" format. "n\x27" was "nx27" for 9 years! (main): correct size header of PTDIC * cmd/mkromdic/mkromdic.cpp: expand CPP macro * lib/RK/RK.h: add RX_PTDIC * lib/canna/RKroma.c: make PTDIC format work (readHeader): added (RkwOpenRoma): move header operations to readHeader 2003-06-23 AIDA Shinra * lib/RKC/rkc.c(uinfo): change to static to prevent a conflict with uilib's uinfo * lib/RKindep/Imakefile: don't use .SUFFIXES::, which conflicts with all other .SUFFIXES:. * lib/canna/uldefine.c(uuT2TangoEveryTimeCatch): also set SENTOU flag to submitted string in romajiBuffer. * Canna.conf.dist(cannaDsoRev): add Darwin dylib * canna/widedef.h: add Darwin wchar 2003-05-28 AIDA Shinra * server/main.c(main): initialize first and fork last * server/misc.c(BecomeDaemon): move init code to EarlyInit * server/misc.c(EarlyInit): added 2003-05-28 AIDA Shinra * server/main.c(main): fork later * server/misc.c(BecomeDaemon): _exit() instead of exit() 2003-04-06 AIDA Shinra * Merge stat patch by Fujieda-san and Kanou san. (default off) * lib/RK/Imakefile: add /* -RK_LOG */ * lib/RK/RKintern.h: apply stat patch. * lib/RK/bun.c: ditto 2003-04-05 AIDA Shinra * server/misc.c(GetAddrListFromName): resolve INET4 and INET6 independently. 2003-03-30 AIDA Shinra * server/connection.c(GetConnectionInfo): revert the way to descriminate UNIX socket. * server/main.c(NextAvailableClient): don't close socket here 2003-03-29 AIDA Shinra * lib/RKindep/file.h: include family for struct timeval. 2003-03-29 AIDA Shinra * Implement demand connection and timeout for client. * lib/RKindep/file.c: added * lib/RKindep/file.h: typedef rki_fd_set, RKI_FD_SET(), RkiConnect * lib/RKindep/Imakefile: compile file.c * lib/RKindep/file.exp: add RkiConnect * configure.ac: check FD_ISSET and fd_set * canna/symbolname.h: add "delay-connect", "server-timeout" * lib/RK/RK.h: add RkwSetTimeout, RkwGetTimeout * lib/RKC/Imakefile: include RKindep/file.c * lib/RKC16/Imakefile: ditto * lib/canna/Imakefile: ditto * lib/canna16/Imakefile: ditto * lib/RKC/convert.c(ReadServer): select() * lib/RKC/wconvert.c(ReadServer): select() (try_connect): added (connect_inet): use try_connect * lib/RKC/rkc.c(RkwInitialize): check CANNA_TIMEOUT env (RkwGetTimeout): added (RkwSetTimeout): added * lib/canna/canna.h(CannaConfig): add DelayConnect * lib/canna/commondata.c(standalone): removed (DelayConnect): added * lib/canna/globnames: add ServerTimeout (in libRKC) * lib/canna/kctrl.c(KC_initialize): KanjiInit only if DelayConnect, remove standalone flag * lib/canna/lisp.c(VServTimeout): added (VDelayConnect): added * lib/canna/util.c(KanjiInitError): remove standalone flag * misc/initfiles/unix.canna: (setq delay-connect t) * misc/initfiles/verbose.canna: delay-connect, server-timeout 2003-03-26 AIDA Shinra * reimplement INET6 and ACL. * configure.ac: check struct hostent.h_addr_list; * lib/RKC/wconvert.c: allow scoped address * server/IR.h: change address structures and change macros. * server/connection.c: separate INET socket and INET6 socket. (GetConnectionInfo): use getnameinfo. * server/convert.c: reject IPv4 mapped address. * server/main.c: GetConnectionInfo error check. * server/misc.c: add new address handling. (ACLCheckHostName): removed (IR_Are_Addr_Equal): removed (GetAddressFromName): removed (AddrAreEqual): added (GetAddrListFromName): added (SearchAddrList): added (FreeAddrList): added (CreateAccessControlList): don't treat kernel hostname specially. allow scoped address. allow duplicate addresses. (CheckAccessControlList): don't treat kernel hostname specially. * server/wconvert.c(irw_killserver): cleanup 2003-03-24 AIDA Shinra * Inhibit direct configure invocation. * Imakefile: set IN_MAKE=yes * configure.ac: test $IN_MAKE * canuum/Imakefile: set IN_MAKE=yes * canuum/configure.in: test $IN_MAKE 2003-03-24 AIDA Shinra * RKindep cleanup. * Imakefile: mkdir ./include/RKindep * canna/ccompat.h: include "RKindep/cfuncs.h" instead of RKindep.h * cmd/chkconc/chkconc.c: include "RKindep/file.h" * cmd/crxgram/crxgram.c: ditto * cmd/dicar/dicar.c: ditto * cmd/dpxdic/dpxdic.c: ditto * cmd/crxdic/crxdic.c: include "RKindep/file.h", move cksum.h into RKindep/ * lib/RKindep/.cvsignore: RKIsubst.h -> *.sub * lib/RKindep/cksum.h: ditto * lib/RKindep/Imakefile: RKIsubst -> *.sub, separate RKindep.h * lib/RKindep/basename.c: include "RKindep/file.h" * lib/RKindep/cksum.c: move "RKindep/cksum.h" into RKindep/ * lib/RKindep/exports: removed and separated to *.exp * lib/RKindep/RKindep.h: removed * lib/RKindep/cfuncs.h: added * lib/RKindep/file.h: added * lib/RKindep/cfuncs.exp: added * lib/RKindep/file.exp: added * lib/RKindep/cksum.exp: added 2003-03-19 AIDA Shinra * Check cbd/cld consistency by CRC instead of *.cbd age. * lib/RKindep/cksum.c: added * lib/RKindep/cksum.h: added * lib/RKindep/exports: add RkiCksum* APIs * lib/RKindep/Makefile: add cksum.[ch] * lib/RK/RKintern.h: add #CRC tag * lib/RK/permdic.c: ditto * lib/RK/util.c: add #CRC tag, remove essential_tag[] (unused) * lib/RK/fq.c: compare CRC * cmd/crxdic/crxdic.c: calculate CRC and store in #CRC tag 2003-03-10 AIDA Shinra * [Canna-dev 182]: DicDir (by Takamizu san) * Canna.conf.dist(ConvertPathName): add @(DicDir) 2003-03-05 AIDA Shinra * [Canna-dev 185]: misc patch by Ikumi san * cmd/mkbindic/Imakefile: quote CPP * cmd/mkromdic/Imakefile: dittto * dic/phono/kana.kpdef: use \xnn escape seq * dic/phono/newjis.kpdef: ditto * lib/canna/RkPhono.jmn: remove dup file * misc/Imakefile: create rc.canna, don't install [rc]Makefile * misc/cMakefile: removed * misc/rMakefile: reomved * misc/rc.canna-dist: new script source 2003-02-04 AIDA Shinra * server/server.man: misc improvements (by Takamizu san) * server/server.jmn: ditto 2003-02-04 AIDA Shinra * separate default.canna and verbose.canna. (proposed by TAMUKI san, Plamo maintainer) * misc/default.ca: place it again * misc/initfiles/default.ca: rename to verbose.canna * misc/initfiles/verbose.canna: renamed from default.ca and slightly modified 2003-02-04 AIDA Shinra * lib/canna/romaji.c(doKakutei): save d->current_mode for bubun-kakutei 2003-02-03 AIDA Shinra * lib/canna/ebind.c(EUCListCallback): check items == NULL case * lib/RKC/wconvert.c: make "extension" protocol sensical * server/IRwproto.h: ditto * server/wconvert.c: ditto * server/main.c(Dispatch): output extension name to debug log * server/wconvert.c(ReadWideRequestFromClient): ditto * server/convert.c(ReadRequestFromClient): ditto * server/misc.c(BecomeDaemon): if both -d and -l is given output messages over the given priority to stdout. * canna/patchlevel.h: rename to 3.7devel1 2003-02-02 AIDA Shinra * configure.ac: check sys/select.h * server/connectoin.c: HAVE_SYS_SELECT_H instead of AIXV3 * server/WaitFor.c: ditto * canna/protodef.h: correct ifdef around typedef Ushort and BYTE * canna/ccompat.h(RCSID): forgot to define to empty for lint * canuum/commonhd.h: don't need to include "cannaconf.h" 2003-02-02 AIDA Shinra * canna/ccompat.h: const hack is done in accanna.h (WARN_REFERENCES): only use on ELF platform (RCSID): __attribute((__unused__)) instead of .ident * cmd/canlisp/canlisp.c: include "ccompat.h" * cmd/forcpp/forcpp.c: ditto * cmd/forsort/forsort.c: ditto * cmd/catdic/can.c: define CANNA_NEW_WCHAR_AWARE * cmd/catdic/rutic.c: ditto * cmd/dpromdic/dpromdic.c: include "ccompat.h" and define CANNA_NEW_WCHAR_AWARE * cmd/wtoc/wtoc.c: include "ccompat.h" (salloc): don't declare malloc() here * lib/canna/obind.c(owcListCallback): check items == NULL case 2003-02-02 AIDA Shinra * [Canna-dev 164] [Canna-dev 169]: doc and Imakefile patches by Takamizu san. * server/server.jmn: more clear and accurate desc * server/server.man: ditto * cmd/catdic/Imakefile: install chmoddic.1 2003-01-25 AIDA Shinra * oops, I forgot to add configure.ac and cmd/cmd.tmpl. 2003-01-25 AIDA Shinra * autoconfize, cmd/*/Imakefile cleanup and add libRKindep * Canna.conf.dist: define some make variables (MakeCannaConfigH): include accanna.h from cannaconf.h * Imakefile: invoke configure to create accanna.h (distclean): remove files created by configure * mkrelease.sh: generate configure and accanna.h.in * configure.ac: added * .cvsignore: add generated files by autoconf * canna/ccompat.h: move HAVE_* to accanna.h. include RKindep.h and define compatibility macros. modify some macros. (RCSID): new macro * canuum/Imakefile: rename ConfigureEnv and ConfigureArgs to distinguish toplevel configure and canuum configure * canuum/canna.c: don't include "ccompat.h" * cmd/cmd.tmpl: added * cmd/*/Imakefile: cleanup using cmd.tmpl * cmd/chkconc/chkconc.c: use RkiBasename() instead of basename() * cmd/crxdic/crxdic.c: ditto * cmd/crxgram/crxgram.c: ditto * cmd/dicar/dicar.c: ditto * cmd/dpxdic/dpxdic.c: ditto * lib/Imakefile: add libRKindep * lib/RKC/Imakefile: join cfuncs.c in libRKindep * lib/RKC16/Imakefile: ditto * lib/canna/Imakefile: ditto * lib/canna16/Imakefile: ditto * lib/RK/RKintern.h: define HAVE_RENAME in accanna.h * server/Imakefile: cleanup * lib/RKindep/Imakefile: added * lib/RKindep/cfuncs.c: added * lib/RKindep/basename.c: added * lib/RKindep/RKindep.h: added * lib/RKindep/exports: added * lib/RKindep/.cvsignore: added 2003-01-25 AIDA Shinra * Canna.conf.dist: MANSUFF(X (thanks to nanashi san) * mkrelease.sh: remove autom4te.cache 2003-01-24 AIDA Shinra * canuum/configure.in: check union wait * canuum/jhlp.c(chld_handler): HAVE_UNION_WAIT * canuum/termio.c(openTermData): don't invoke reset_shell_mode() 2003-01-24 AIDA Shinra * canuum/jhlp.c(open_ttyp): I_PUSH * canuum/commonhd.h: fix typo (s/CONFIG_TEMRIO/CONFIG_TERMINFO) 2003-01-21 AIDA Shinra * [Canna-dev 153]: sample file problems (Thanks to Ikumi san) * misc/initfiles/Imakefile: install default.canna to cannaLibDir * misc/initfiles/default.ca: fix typo, 3.5 options * misc/initfiles/sample.canna: ditto * misc/initfiles/unix.canna: ditto 2003-01-18 AIDA Shinra * lib/canna/obind.c(owcListCallback): correct owbuf size 2003-01-18 AIDA Shinra * Implement KC_SETLISTCALLBACK for EUC and old wchar_t. (dirty) * canna/jrkanji.h(jrEUCListCallbackStruct): added (CANNA_EUC_LISTCALLBACK): added to inform this API * lib/canna/canna.h(uiContext): add elistcb * lib/canna/ebind.c(EUCListCallback): added (XKanjiControl2): map KC_SETLISTCALLBACK * lib/canna/obind.c(owcListCallback): added (owcKanjiControl2): map KC_SETLISTCALLBACK * lib/canna/globnames: add EUCListCallback and owcListCallback * lib/canna/kctrl.c(KC_setListCallback): set d->elistcb 2003-01-17 AIDA Shinra * lib/canna/romaji.c(YomiKakutei): Oops, I left debug fprintf. 2003-01-17 AIDA Shinra * lib/canna/henkan.c(TanPrintBunpou): correctly handle guidline clear flags (Thanks to Ikumi san) (TanPrintTime): ditto (tanbunToYomiAll): avoid dereference of tan after tanbunCommitYomi * lib/canna/romaji.c(howFarToGoBackward): character-based-move was broken. Don't stop at HENKANSUMI && !SENTOU char. Instead we set SENTOU flag in tango-touroku time. (howFarToGoForward): ditto * lib/canna/uldefine.c(uuT2TangoEveryTimeCatch): SENTOU flag on. Now we can handle cursor in tango-touroku really properly. 2003-01-15 AIDA Shinra * dic/ideo/pubdic/k.p(kabun): T35 -> T15 (Bugs #773) 2003-01-15 AIDA Shinra * lib/canna/uldelete.c: delete words in group dictionaries (Thanks to Ikumi san) * cmd/crfreq/crfreq.c: avoid crash when filename and dicname are not specified * [Canna-dev 143]: misc fixes (Thanks to Toru TAKAMIZU san) * ChangeLog(previous commit): s/TEMPDIR/TMPDIR/ * INSTALL: remove canvert * INSTALL.jp: ditto * cmd/dpbindic/dpbindic.man: reformat * cmd/dpbindic/dpbindic.jmn: remove canvert(1) from .SH * cmd/mkbindic/mkbindic.cpp: use .fq suffix if "-name foo.d" is specified * cmd/mkbindic/mkbindic.jmn: new filename, remove canvert(1) * cmd/mkbindic/mkbindic.man: ditto, update examples, add $TMPDIR desc * cmd/ctow/ctow.c: s/itow/ctow/ in comments, s/speach/speech/ * cmd/splitwd/splitwd.man: s/itow/ctow/ * lib/canna/parse.c: undef OBSOLETE_RCFILE 2003-01-13 AIDA Shinra * cmd/dicar/dicar.man: correct typo(Thanks to NAKAMURA Takeshi san) * cmd/mkbindic/mkbindic.cpp: change cpp check method, $TMPDIR (Thanks to takasan san) * Canna.conf.dist(MakeCannaConfigH): suppress echo * misc/default.ca: already moved into initfiles; removed * misc/Imakefile: remove default.ca * misc/initfiles/default.ca: append old default.ca contents and "nami" "nakaten" symbol defs as comment. * misc/initfiles/unix.ca: add "nami" symbol 2003-01-13 AIDA Shinra * wchar_t fix final step: now our cannawc does not need wchar_t hack. * Canna.conf.dist(supportOldWchar): added * canna/jrkanji.h: check CANNA_NEW_WCHAR_AWARE * canna/widedef.h: don't define cannawc here * canuum/canna.c: use new wide character * cmd/cannacheck/main.c: don't include "widedef.h". instead is needed. (CANNA_NEW_WCHAR_AWARE): define * canna/ccompat.h(WARN_REFERENCES): added (copied from FreeBSD) * lib/RK/RK.h: demand CANNA_NEW_WCHAR_AWARE * lib/RK/RKintern.h(CANNA_NEW_WCHAR_AWARE): define (cannawc): typedef to Wchar here * lib/RKC/rkc.c(RkwInitialize): rkcWCinit is removed * lib/RKC/rkcw.h(cannawc): typedef here * lib/RKC/wutil.c: replace rkcWCinit and wchar_type to #ifdef * lib/RKC16/Imakefile(DEFINES): undef WCHAR16, define CANNA_WCHAR16 * lib/canna/Imakefile: add obind.[co] * lib/canna/obind.c: added * lib/canna/canna.h: don't include "widedef.h" here (CANNA_NEW_WCHAR_AWARE): define * lib/canna/engine.c: use CANNA_WCHAR16 * lib/canna/globnames: add context_table * lib/canna/kctrl.c(KC_initialize): WCinit is removed (context_table): change to global * lib/canna/util.c: replace WCinit and wchar_type to #ifdef * lib/canna/lisp.c: ditto (WIN_CANLISP) * lib/canna16/Imakefile: add obind.[co] (DEFINES): undef WCHAR16, define CANNA_WCHAR16 2003-01-10 AIDA Shinra * we no longer need JAPANESE_LOCALE * Canna.conf.dist: remove JapaneseLocale and JAPANESE_LOCALE * canuum/jhlp.c: don't use LANG * canuum/wnn_config.h: remove JAPANESE_LOCALE 2003-01-10 AIDA Shinra * sample/*: sample.c is a worst sample. It's hard to make cope with new wide character. Remove them. 2003-01-10 AIDA Shinra * wchar_t fix step 3: add cannawc hook (no API/ABI changes for now) * canna/jrkanji.h: use cannawc instead of wchar_t * canna/widedef.h: ditto * lib/RK/RK.h: ditto * lib/RKC/*: replace wchar_t to cannawc by macro carefully * lib/canna/*: ditto * server/IR.h: typedef Ushort cannawc; remove alternative prototypes * server/util.c: don't include widedef.h (wchar2ushort32): removed (unused function) (ushort2wchar32): removed (unused function) 2003-01-06 AIDA Shinra * completely remove libc's mbstowcs * lib/RKC/rkcw.h: remove JAPANESE_LOCALE * lib/RKC/wutil.c: remove HAVE_WCHAR_OPERATION * lib/canna/canna.h: remove JAPANESE_LOCALE * sample/sample.c: distinguish X/libc wchar_t and canna wchar (main): always invoke setlocale() (euc): removed; always behaves as euc==1 (proc_keypress): always behaves as euc==1 (proc_ctl_keypress): remove HAVE_WCHAR_OPERATION (checkOptions): -euc option is not needed (checkGLineWidth): convert X/libc wchar to canna wchar (WCinit): remove HAVE_WCHAR_OPERATION (mywcstombs): added (mymbstowcs): added 2003-01-06 AIDA Shinra * wchar_t fix step 2: remove libc's mbstowcs() * Canna.conf(wcharDefinition): empty (Wlib): removed * canna/widedef.h: remove HAVE_WCHAR_OPERATION * lib/canna/canna.h: ditto * lib/canna/commondata.c(locale_insufficient): removed * lib/canna/globnames: remove locale_insufficient * lib/canna/jrbind.c(XwcLookupKanji2): remove if(locale_insufficient) * lib/canna/util.c(WCinit): remove HAVE_WCHAR_OPERATION case (CNvW2E): ditto (CANNA_mbstowcs): always compiled (CANNA_wcstombs): always compiled * lib/canna/lisp.c(WCinit): remove HAVE_WCHAR_OPERATION case although it is Windows only code 2003-01-06 AIDA Shinra * canuum/uumimport.sh: don't use -ko; it is needless because FreeWnn files are checkouted with -kv. now RCSID is expanded correctly. * canuum/* (FreeWnn files): cvs admin -kkv 2003-01-06 AIDA Shinra * Imakefile(instmost): added 2003-01-06 AIDA Shinra * canuum/Imakefile(ConfigureEnv): fix quote * canuum/commonhd.h: redefine TERMCAP/TERMINFO here according to CONFIG_TERMIO here * canuum/configure.in: check killpg, getpgid, getpgrp * canuum/jhlp.c(chld_handler): use KILLPG macro (do_end): ditto (setsize): ditto * canuum/wnn_os.h: move TERMCAP/TERMINFO redefinition to commonhd.h (KILLPG): new macro (GETPGID): new macro (GETMYPGRP): new macro 2003-01-05 AIDA Shinra * lib/RK/bun.c(RkStoreYomi): allow yomi == NULL && len == 0 2003-01-05 AIDA Shinra * [Canna-dev 119] chikuji input was broken * lib/RKC/wconvert.c(SendType11Request): stop buffer overrun * server/wconvert.c(irw_store_yomi): len = ushortstrlen() unless req->yomi == NULL (irw_store_range): ditto (ProcWideReq11): allow empty string that is not null terminated 2003-01-04 AIDA Shinra * canuum/*: add RCSID * canuum/jhlp.c: remove code commented out * canuum/ttyfdslot.c: removed * canuum/sheader.h: remove ttyfdslot(), setutmp(), saveutmp() and resetutmp() * canuum/freewnn-uum.files: remove ttyfdslot.c and setutmp.c 2003-01-04 AIDA Shinra * Get pty with libspt: http://members.jcom.home.ne.jp/aida-s/libspt/ * canuum/Imakefile: link libspt (INSTUGIDFLAGS): don't need any privilege. * canuum/jhlp.c(main): remove utmp logging without libspt completely. (SysV j_term_save): remove meaningless cfset[io]speed. (chld_handler): spt_utmp_set_exit() (ptyfd, ttypfd): -1 init (exec_cmd): use libspt, fix USE_LINUX_TERM, remove old utmp code. (open_pty): use libspt (do_end): libspt related cleanup, remove old utmp code, comment out needless TIOCSSIZE. (ptyname): don't compile when libspt is used. * canuum/setutmp.c: removed because libspt does this 2002-12-28 AIDA Shinra * cmd/Imakefile(SUBDIRS): add chkconc * server/IR.h: define _WCHAR_t again after include "canna/RK.h" * canna/widedef.h: FreeBSD 5.x and OpenBSD 2002-12-28 AIDA Shinra * [canna-dev 97] [canna-dev 106] [canna-dev 107] New direcroty hierarchy. * Canna.conf.dist: new directory hierarchy if !ObsoleteInstallDir (MakeCannaConfigH for !EMX): preserve old cannaconf.h if unchanged * cmd/catdic/Imakefil: cannakill in cannaSrvDir if !ObsoleteInstallDir 2002-12-28 AIDA Shinra * cleanuped tty handling of canuum and TERMCAP/TERMINFO detection. * canuum/.cvsignore: add config.h.in * canuum/Imakefile(TERMCAP_LIB): added (distclean): delete config.cache and config.status (reconfig): added * canuum/canna.c: don't include , , directly. latter 2 are included from "wnn_os.h". * canuum/config.h.in: remove from CVS. instead generate by mkrelease.sh. * canuum/acconfig.h: added (ported from FreeWnn) (HAVE_TERMINFO): added * mkrelease.sh: generate canuum/config.h.in using autoheader2.5 * configure.in: Do not set CDEBUGFLAGS/CCOPTIONS when CANNA. Do not use AC_SEARCH_LIBS to detect terminal library. Check termcap.h, sgtty.h, sys/termio.h and termios.h. Choose appropreate terminal library. (ported from vim6.1) Check setsid, dup2. * canuum/freewnn-uum.files: remove config.h.in and add acconfig.h * canuum/jhlp.c: move #include and to wnn_os.h. include termios.h or termio.h or sgtty.h appropreately. (USE_LINUX_TERM): Added new macro. If you define it, old linux specific terminal handling code is used instead of new POSIX based one. I don't know why such a special code was needed, but leave it just in case. (ttyfd): initialize before open_pty() (j_term_save): added. POSIX termios ready. (j_term_restore): ditto (j_term_p_init): ditto (j_term_init): now POSIX termios ready (open_ttyp): move some code to j_term_*. (open_pty): ditto (do_end): move cleanup code to j_term_restore. (change_size): change #ifdefs (exec_cmd): Add new code to use POSIX setsid(). If it is not available or USE_LINUX_TERM is specified, old code is used. * canuum/termcap.c: Move #include , and to "wnn_os.h". * termio.h: ditto * wnn_os.h: Use configure result instead of old TERMCAP/TERMINFO definitions when CONFIG_TERMINFO is defined. In this case include , , and/or appropreately. 2002-12-22 AIDA Shinra * lib/canna/henkan.c(doTanBubunMuhenkan): correctly calculate first bunsetsu to convert to yomiContext. 2002-12-22 AIDA Shinra * add .cvsignore to all directories. 2002-12-22 AIDA Shinra * ChangeLog(previous commit): avoid keyword substitution 2002-12-22 AIDA Shinra * canuum/canuum.man: added (but no complete) * canuum/README.copyright: s/Canuum.files/freewnn-uum.files/g * canuum/checkout.sh: cleanup, add RCSID * canuum/uumimport.sh: cleanup, add RCSID 2002-12-22 AIDA Shinra * canuum/Bring.sh: remove obsolete files * canuum/Canuum.patch: ditto * canuum/Uum.files: ditto * canuum/configure.in: do not use canuum.tmpl 2002-12-21 AIDA Shinra * canuum/*: imported uum from FreeWnn and canuumized. * mkrelease.sh: invoke autoconf 2002-12-21 AIDA Shinra * lib/canna/ebind.c(XLookupKanji2): cast to unsigned char first 2002-12-18 AIDA Shinra * ChangeLog(2002-11-09 first commit): correct filename 2002-12-18 AIDA Shinra * Prevent wrong learning. It had occured in two situations: 1. bubun kakutei at bunsetsus (probably) except in jishu-henkan mode 2. bubun muhenkan In both cases, all bunsetsus had been learned. This commit is only a quick hack. tanbunContext should be removed and new protocol should be added in future. * lib/canna/henkan.c(tanbunToYomiAll): added (doTanConvertTb): use tanbunToYomiAll (doTanBubunMuhenkan): ditto (tanbunToYomi,tanbunCommitYomi): added (tanbunUnconvert): separated into tanbunToYomi and tanbunCommitYomi (TbBubunMuhenkan): use tanbunToYomi and tanbunCommitYomi (doYomiHenkan): added yc arg, new comment (tanbunHenkan): removed because enterTanHenkanMode no longer calls (enterTanHenkanMode): more strict error handling * lib/canna/romaji.c(TbBubunKakutei): commented out (already unused) 2002-12-16 AIDA Shinra * lib/RK/Imakefile: RkMountD -> RkMountDic 2002-12-16 AIDA Shinra [Canna:05811] [Canna:05812] autodef was broken * lib/canna/lisp.c(Lusedic): handle ":katakana",":hiragana" * lib/canna/romaji.c(doKakutei): define proper word 2002-12-12 AIDA Shinra * lib/canna/romaji.c(howFarToGoBackward): Stop at HENKANSUMI char. Otherwise we cannot edit the words in tango-touroku if character-based-move is true. (howFarToGoForward): ditto 2002-12-12 AIDA Shinra * server/convert.c: if CANNA_LIGHT -> ifdef (thanks to Ayamura KIKUCHI san) * lib/RKC/rkcw.h: ditto * lib/RKC/convert.c: ditto * ChangeLog: correct previous commit date 2002-12-12 AIDA Shinra * CHANGES.jp: more desc about one-letter word hack * cmd/mkbindic/mkbindic.cpp: use only yomi as sort key 2002-12-02 AIDA Shinra * server/wconvert.c: CANNA-2002-1 security fix. * server/convert.c: ditto * server/util.c(ushortmemchr): added 2002-11-09 AIDA Shinra * cmd/catdic/Imakefile: remove wrong DESTDIR (thanks to SUZUKI san) 2002-11-09 AIDA Shinra * dic/ideo/grammar/Imakefile: add DESTDIR (thanks to SUZUKI san) * INSTALL.jp: s/lockfile/socket/g * INSTALL: ditto Corrected in 2002-12-18: s/words/grammar/ 2002-11-07 AIDA Shinra * server/util.c(ushort2euc): reverted previous wrong SS3 fix. (euc2ushort): should be here. * canna/patchlevel.h: bump to 4.0-devel. * Canna.conf: CannaDsoRev is now 1.1 in all platforms. 2002-11-07 AIDA Shinra * ChangeLog: correct date * [canna-dev 50] [canna-dev 85]: patch by ikumi-san. dic fixes. * dic/ideo/a.p: correct kanjis * dic/ideo/k.p: correct kanjis * dic/ideo/s.p: correct kanjis * dic/ideo/t.p: correct kanjis * dic/ideo/h.p: correct kanjis * dic/ideo/m.p: correct kanjis * dic/ideo/y.p: correct kanjis * dic/ideo/p.p: correct kanjis * dic/ideo/w.p: correct kanjis 2002-11-07 AIDA Shinra * ChangeLog: unified format * server/misc.c(BecomeDaemon): hook SIGTERM before fork (Reset): only raise a flag and return (CheckSignal): added * server/wconvert.c(ReadWideRequestFromClient): check signal (WriteClient): ditto * server/convert.c(ReadRequestFromClient): ditto (WriteClient): ditto (ir_error): ditto * server/WaitFor.c: ditto Corrected on 2002-11-07: not 2002-11-05 2002-11-05 AIDA Shinra * dic/ideo/pubdic/a.p(abushiga): magbushiga * dic/ideo/pubdic/m.p(mabushiga): added 2002-11-05 AIDA Shinra * [canna-dev 50] [canna-dev 58] [canna-dev 75]: patch by Ikumi-san. currently dic errors are not checked except ones of a.p, so fix only them. * cmd/catdic/Imakefile: add chmoddic, DESTDIR * dic/ideo/words/Imakefile: fix text dic permission, add DESTDIR * lib/RK/Imakefile: s/RkRgnBun/RkBgnBun/ * server/util.c: SS3 conversion was wring. * dic/ideo/pubdic/a.p(adabana): fix kanji (atsureki): fix kanji (ankou): only two letter "ankou" is allowed. 2002-11-05 AIDA Shinra * ChangeLog: fix my mail address * Canna.conf.dist(inet6Definition): added (CANNASERVER_DEFINES, RKC_DEFINES): add inet6Definition * lib/RKC/wconvert.c(connect_inet): create inet6 socket (rkc_Connect_Iroha_Server): IPv6 [x::y] address expression support * server/IR.h: add some in6_addr support * server/connection.c(open_inet_socket): create inet6 socket Dmsg was wrong, htons() was not needed(!INET6 only) (CreateWellKnownSockets): call open_inet_socket when UseInet6 (GetConnectionInfo): support IPv6 address * server/convert.c(ir_initialize): IPv4 address check * server/misc.c: use IR_ARE_ADDR_EQUAL, Address (IR_No_Address, IR_Unix_Address): added (UseInet6): added (USAGE): add -inet6 desc (BecomeDaemon): initialize IR_No_Address if needed, check -inet6 (GetAddressFromName): added (IR_Are_Addr_Equal): added (CreateAccessControlList): IPv6 [x::y] address expression support * server/server.man: add -inet6 desc * server/server.jmn: ditto * server/wconvert.c(irw_killserver): check IPv6 case 2002-10-24 AIDA Shinra * server/server.jmn: remove premountdics desc * server/server.man: ditto * INSTALL(Acknowledgements): changed to "see README.ja." 2002-10-24 AIDA Shinra * server/server.man: fix SYNOPSIS (Thanks to Hane san) * dic/ideo/words/dics.dir: add fuzokugo.cld 2002-10-23 AIDA Shinra * INSTALL.jp: updated * INSTALL: ditto 2002-10-23 AIDA Shinra * canna/patchlevel.h: bump to 3.6 * CHANGES.jp: add 3.6 desc * README.jp: updated * README: updated (acknowledgement is not yet done) 2002-10-23 AIDA Shinra * Canna.conf.dist: Added warning not to change -DCANNA_WCHAR. * cmd/mkbindic/mkbindic.cpp: pass -div 512 to crfreq. * ChangeLog (2002-10-20 first commit): corrected patch file name. 2002-10-22 AIDA Shinra * dic/ideo/pubdic/h.p (ha, hi, himatsu, funman): corrected spells. * dic/ideo/pubdic/n.p (noukousoku): ditto * dic/ideo/pubdic/t.p (toraware,dorojiai): ditto * README, README.jp: add copyright notice * server/server.man: add -u, -inet desc remove obsolete lockfile description and describe socket. * server/server.jmn: ditto * cmd/catdic/cannakill.man: ditto * cmd/catdic/cannakill.jmn: ditto * Canna.conf.dist (ConvertPathName): added UnixSockDir, UnixSockName, and AccessFile. 2002-10-21 AIDA Shinra * server/misc.c (CreateAccessControlList): remove needless init. (from Debian) * cmd/crxgram/crxgram.c (basename): avoid conflicting with glibc. (from Debian) * dic/ideo/pubdic/a.p (enzui): well-known pubdic error * dic/ideo/pubdic/k.p (kotsuzui): ditto * lib/RK/nword.c (evalSplit): one-letter word hack (from Debian) * lib/canna/romaji.c: default romkana dic (from Debian) (DEFAULT_ROMKANA_TABLE): always use ".cbp" (OpenRoma): try topdir/ after topdir/dic/user and topdir/dic * misc/Imakefile: exclude engineSwitch related files (from Debian) * Canna.conf.dist: install both Japanese and English manuals (JMNLOCLALE): added (installManPageLong): install Japanese man page (installLibManPageLong): ditto (installLibManAliases): ditto, use symlink instead of .so * Canna.conf.dist (MakeDirectoriesLong): add semicolon (from Debian) 2002-10-21 AIDA Shinra * lib/RK/dd.c (DDchmod): wrong buffer size (ported from Debian) * server/misc.c (SetDicHome): fixed buffer overflow found by Shadow Penguin. (ported from Debian) * server/misc.c: added -u and -inet options (ported from Debian) add #include , (userID, UseInet): added (Usage): add -u, -inet (BecomeDaemon): check -u, -inet * server/connection.c: -inet option (ported From Debian) add extern int UseInet (CreateWellKnownSockets): check UseInet * server/Imakefile: We have -u option, no need to setuid. 2002-10-20 AIDA Shinra * Imakefile: do not ignore errors when making all. * canna/ccompat.h: added * canna/Imakefile (OSDEP_HEADER): added ccompat.h * server/IR.h: use ccompat.h * lib/RK/RKintern.h: ditto * lib/RKC/rkc.h: ditto * lib/RKC/rkcw.h: ditto * lib/canna/canna.h: ditto * ccustom/canna.h: ditto * ccustom/ccustom.c: ditto * cmd/cannacheck/main.c: ditto * cmd/catdic/RKdelline.c: ditto * cmd/catdic/can.c: ditto * cmd/catdic/rutil.c: ditto * cmd/chkconc/chkconc.c: ditto * cmd/crrdic/crrdic.c: ditto * cmd/crxdic/crxdic.c: ditto * cmd/crxgram/crxgram.c: ditto * cmd/ctow/ctow.c: ditto * cmd/dpxdic/dpxdic.c: ditto * cmd/kpdic/kpdic.c: ditto * cmd/splitwd/kpdic.c: ditto * canuum/canna.c: ditto * dic/ideo/public/pod.c: ditto * lib/RK/bun.c: remove what is done in ccompat.h * lib/RK/context.c: ditto * lib/RK/dd.c: ditto * lib/RK/dic.c: ditto * lib/RK/fq.c: ditto * lib/RK/ngram.c: ditto * lib/RK/permdic.c: ditto * lib/RK/tempdic.c: ditto * lib/RK/util.c: ditto * lib/RKC/convert.c: ditto * lib/RKC/rkc.c: ditto * lib/RKC/wconvert.c: ditto * lib/RKC/wutil.c: ditto * lib/canna/RKroma.c: ditto * lib/canna/engine.c: ditto * ccustom/lisp.c: ditto * ccustom/util.c: ditto * doc/man/guide/tex/cannaindex.c: use ccompat.h stop using strdup. * cmd/crxgram/Imakefile (INCLUDES): added $(CANNAROOT)/include * cmd/ctow/Imakefile (INCLUDES): ditto * cmd/kpdic/Imakefile (INCLUDES): ditto * cmd/splitwd/Imakefile (INCLUDES): ditto * dic/ideo/pubdic/Imakefile (INCLUDES): ditto * lib/RK/RK.h: support prototype when __cplusplus. 2002-10-20 AIDA Shinra * ChangeLog: added * mkrelease.sh: added * cmd/chkconc/Imakefile: add .exe suffix on __CYGWIN32__. * Canna.conf: renamed to Canna.conf.dist. Canna.conf is now created by mkrelease.sh. * Canna.conf.dist: renamed from Canna.conf. added DLL stuff for cygwin. use UNIX rules instead of EMX rules(no UNIX socket, no subshell). (cannaPrefix, cannaExecPrefix): added (InstallAsUser): added (UnixSockDir, UnixSockName): added (AccessFile): added * lib/RKC/rkcw.h: use UNIX socket in cygwin. * server/Imakefile: added ConnectionFlags to DEFINES. * canna/protodef.h: allow to configure UNIX socket dir. (IR_UNIX_DIR): moved to cannaconf.h. (IR_UNIX_PATH): use IR_UNIX_DIR, IR_UNIX_SOCKNAME defined in cannaconf.h. * Imakefile: added includes:: dependency. (for XFree86 4.2.0 imake) * lib/canna/Imakefile: ditto * server/util.c: remove #include "net.h" * server/misc.c: add #ifdef ACCESS_FILE 2002-10-20 AIDA Shinra * Applied Fujieda-san's patches: http://www.jaist.ac.jp/~fujieda/canna/Canna35b2-unoff1.patch.gz, http://www.jaist.ac.jp/~fujieda/canna/Canna35b2-unoff2.patch.gz, http://www.jaist.ac.jp/~fujieda/canna/Canna35b2-hack1.patch.gz, http://www.jaist.ac.jp/~fujieda/cygwin/Canna35b2-cygwin.patch.gz Corrected on 2002-10-23: not -cygwin.patch.gz, but -cygwin.patch.bz2. 2002-10-19 AIDA Shinra * Virgin import of Canna3.5b2. $Id: ChangeLog,v 1.155.2.21 2004/05/19 15:47:33 aida_s Exp $ Canna37p3/CHANGES.jp0100644000076500001200000001624310052700625013253 0ustar shinraadminCanna 3.6p4¤Þ¤Ç¤ÎÊѹ¹ÅÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢OCHANGES.jp¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢Ëܥɥ­¥å¥á¥ó¥È¤Ç¤ÏºÙ¤«¤¤Êѹ¹¤Ë¤Ï¿¨¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢¾Ü¤·¤¤ÅÀ¤Ë¤Ä¤¤¤Æ¤Ï ¤ÏChangeLog¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤À¤·¡¢¼­½ñ¤ÎÊѹ¹ÅÀ¤Ï¡¢dic/ideo/ChangeLog¤Ë ¤Þ¤È¤á¤é¤ì¤Æ¤¤¤ë¤¿¤á¡¢¤½¤Á¤é¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ 1. Canna 3.7¤Þ¤Ç¤Î¼çÍפÊÊѹ¹ÅÀ Canna 3.6¤«¤é3.7¤Þ¤Ç¤Î¿·µ¡Ç½¡¢½ÅÍפʽ¤Àµ¡¢»ÅÍÍÊѹ¹¤ò½Ò¤Ù¤Þ¤¹¡£¤Ê¤ª¡¢ ¤³¤ÎÃæ¤Ë¤Ï3.6¤Î¥Ñ¥Ã¥Á¤ÎÃæ¤Ç²ò·è¤·¤¿ÌäÂê¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ 1.1 ½ÅÍפÊÊѹ¹ÅÀ ¡¦¥Ç¥Õ¥©¥ë¥È¤Î¥Ç¥£¥ì¥¯¥È¥ê¹½À®¤¬ÊѤï¤ê¤Þ¤·¤¿¡£ÆÃ¤Ë¥Ñ¥Ã¥±¡¼¥¸¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤Ï Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¡¦¥Ð¥¤¥Ê¥ê¼­½ñ¤Î·Á¼°¤¬ÊѤï¤ê¤Þ¤·¤¿¡£°ÊÁ°¤Î·Á¼°¤Î¼­½ñ¤â¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤¹¤¬¡¢ ¿·¤·¤¯ºî¤Ã¤¿¼­½ñ¤Ï¸Å¤¤¥µ¡¼¥Ð¤Ç¤Ï¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¡£¤Ê¤ª¡¢mkbindic¤Ë-c 3.0 ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤ë¤È¡¢3.5/3.6¤Ç¤â(3.2¤Ç¤â¡©)¥Þ¥¦¥ó¥È¤Ç¤­¤ë¼­½ñ¤ò À¸À®¤Ç¤­¤Þ¤¹¡£ ¡¦¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤¬Á´¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç1.2¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¥Ð¥¤¥Ê¥ê¸ß´¹À­¤ÏÊݤ¿¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ¤Ï¥Õ¥¡¥¤¥ë̾¤¬ ÊѤï¤Ã¤¿¤¿¤á¤ËưŪ¥ê¥ó¥¯¤Ë¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯ ¥ê¥ó¥¯¤òÄ¥¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¡¦canuum¤¬Êä½õ¥é¥¤¥Ö¥é¥êlibspt¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ http://www.j10n.org/libspt/ ¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢canuum/README.jp¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¡¦¥¯¥é¥¤¥¢¥ó¥È¤«¤éÉÔÀµ¤Ê¥ê¥¯¥¨¥¹¥È¤òÁ÷¤é¤ì¤ë¤È¡¢¥Ð¥Ã¥Õ¥¡¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò µ¯¤³¤·¤¿¤ê¡¢ÆâÉô¾ðÊó¤¬Ï³¤ì¤¿¤ê¤¹¤ë¤È¤¤¤¦¥»¥­¥å¥ê¥Æ¥£ÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ (Êä­: ¤³¤ì¤Ï3.6p1¤Ç´û¤Ë²ò·è¤·¤Æ¤¤¤ë¤Î¤Ç¡¢3.7¤Ç¤Ê¤¤¤È´í¸±¤È¤¤¤¦¤ï¤±¤Ç¤Ï ¤¢¤ê¤Þ¤»¤ó¡£) 1.2 ÀßÄê¡¢¥«¥¹¥¿¥Þ¥¤¥º¤Ë´Ø¤¹¤ëÊѹ¹ ¡¦¥í¡¼¥Þ»ú²¾Ì¾ÊÑ´¹¤ä¥æ¡¼¥¶¡¼¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë´Ø·¸¤Ê¤¤¡¢¥µ¡¼¥Ð¤È¤ÎÀܳ¤Ë ´Ø¤¹¤ëÀßÄê¤òÆÈΩ¤·¤Æ¹Ô¤¦¤¿¤á¡¢rkc.conf¤È¤¤¤¦¿·¤·¤¤ÀßÄê¥Õ¥¡¥¤¥ë¤òƳÆþ ¤·¤Þ¤·¤¿¡£¾Ü¤·¤¤¹½Ê¸¤Ê¤É¤ÏRKCCONF.jp¤ÇÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£ ¡¦(setq chikuji-continue nil)¤È¤·¤Æ¤ª¤«¤Ê¤¤¤È(setq renbun-continue nil) ¤¬¸ú¤«¤Ê¤¤ÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£renbun-continue¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏnil¤Ç¤·¤¿¤¬¡¢ t¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ëưºî¤·¤Æ¤¤¤¿¤¿¤á¡¢¤³¤Î½¤Àµ¤Ëȼ¤¤renbun-continue¤Î¥Ç¥Õ¥©¥ë¥È Ãͤòt¤Ë²þ¤á¤Þ¤·¤¿¡£ ¡¦¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤Î¹½À®¤¬ÊѲ½¤·¤Þ¤·¤¿¡£ 1.3 ¥æ¡¼¥¶¡¼¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡¢¥í¡¼¥Þ»ú²¾Ì¾ÊÑ´¹¤Ë´Ø¤¹¤ëÊѹ¹ ¡¦¥«¥ÊÊÑ´¹»þ¤Î¼«Æ°ÅÐÏ¿¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£verbose.canna¤Ë¤¢¤ë¤è¤¦¤Ë¡¢ use-dictionary¤Ç:katakana "your-dictionary"¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤Ç¤³¤Îµ¡Ç½¤ò Í­¸ú¤Ë½ÐÍè¤Þ¤¹¡£ ¡¦character-based-move¤¬t¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢Ã±¸ìÅÐÏ¿¤ÎºÝ¤Ëñ¸ì¤ÎÊÔ½¸¤¬¤¦¤Þ¤¯ ½ÐÍè¤Ê¤¤ÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦¡Ö¤ó¡×¤ò¡Ön'¡×¤ÇÆþÎϤǤ­¤Ê¤¤ÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦Ã±¸ìÅÐÏ¿¤ÎÉÊ»ì¥á¥Ë¥å¡¼¤Ç¡Ö¤½¤Î¾¡×¤òÁª¤ó¤À»þ¤ËÉÔÀµ¤Êưºî¤ò¤¹¤ëÌäÂê¤ò½¤Àµ ¤·¤Þ¤·¤¿¡£ ¡¦TTY ¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä emacs ¤Ç¡¢¥«¡¼¥½¥ë¥­¡¼¤ä¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼ ¤òÀµ¾ï¤ËÆþÎϤǤ­¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦»ú¼ïÊÑ´¹¡¢Éôʬ³ÎÄê¤ÎºÝ¤Ë¸í¤Ã¤¿³Ø½¬¤¬¹Ô¤ï¤ì¤ëÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦¥µ¡¼¥Ð¤ÈÄÌ¿®¤¹¤ëºÝ¡¢°ìÄê»þ´Ö¤ËÊÖÅú¤¬Ìá¤Ã¤ÆÍè¤Ê¤¤¤È¤­¤ÏÄÌ¿®¤òÃæ»ß¤¹¤ë¤è¤¦¤Ë ¤·¤Þ¤·¤¿¡£¾Ü¤·¤¯¤ÏRKCCONF.jp¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ 1.4 ²¾Ì¾´Á»úÊÑ´¹¤Ë´Ø¤¹¤ëÊѹ¹ ¡¦¼­½ñ¤ËÍÍ¡¹¤Ê²þÎɤò²Ã¤¨¤Þ¤·¤¿¡£ ¡¦3.6p1¤ÇÃ༡ÆþÎϤÈcpdic¥³¥Þ¥ó¥É¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦mkbindic¤ÇƱ¤¸ÆÉ¤ß¤Îñ¸ìƱ»Î¤ÎÍ¥Àè½ç°Ì¤òÊѤ¨¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ ¡¦¡Ö²½¤Ã¤Æ¡×¤Î¤è¤¦¤Ê¸íÊÑ´¹¤òµ¯¤³¤ê¤Ë¤¯¤¯¤·¤Þ¤·¤¿¡£ ¡¦¥Ð¥¤¥Ê¥ê¼­½ñ¤òmake¤·Ä¾¤·¤Æ¤â¡¢¼­½ñ¤ÎÆâÍÆ¤ËÊѲ½¤¬Ìµ¤±¤ì¤Ð¡¢°ÊÁ°¤Î³Ø½¬¥Ç¡¼¥¿ ¤ò¤½¤Î¤Þ¤ÞÍøÍѤǤ­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£¤¿¤À¤·DIC_3_6_COMPAT¤ä-c 3.0¤ò»È¤Ã¤Æ µì·Á¼°¤Î¼­½ñ¤È¤·¤¿¾ì¹ç¤Ï¡¢¤³¤Îµ¡Ç½¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£ 1.5 API¤Ë´Ø¤¹¤ëÊѹ¹ ¡¦¥ï¥¤¥É¥­¥ã¥é¥¯¥¿API¤òÊѹ¹¤·¤Þ¤·¤¿¡£¸½ºß¤Î¤È¤³¤í¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤·¤Ê¤¤ ¸Â¤ê¡¢¸Å¤¤API¤âÍøÍѤǤ­¤Þ¤¹¤¬¡¢¤Ç¤­¤ë¤À¤±¿·¤·¤¤API¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¿·¤·¤¤API¤òÍøÍѤ¹¤ë¾ì¹ç¡¢jrkanji.h¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë»þ¤Ë¡¢ #define CANNA_WCHAR16 /* ¤â¤·É¬Íפʤé */ #define CANNA_NEW_WCHAR_AWARE #include ¤È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Ê¤ª¡¢¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤ÎAPI¤ò»È¤¦¤ÈÌñ²ð¤Ê¥³¡¼¥ÉÊÑ´¹¤¬É¬Í× ¤È¤Ê¤ë¤¿¤á¡¢¿·¤·¤¯¥¯¥é¥¤¥¢¥ó¥È¤òºî¤ë¤È¤­¤Ï¡¢EUC¤ÎAPI¤òÍøÍѤ¹¤ë¤³¤È¤ò¿ä¾© ¤·¤Þ¤¹¡£ ¡¦EUCÈǤÎKC_LISTCALLBACK¤òÍѰդ·¤Þ¤·¤¿¡£Âè3°ú¿ô¤Ë¤ÏjrEUCListCallbackStruct ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÅϤ·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢µ¡Ç½¥Æ¥¹¥ÈÍѤˡ¢CANNA_EUC_LISTCALLBACK ¤È¤¤¤¦¥Þ¥¯¥í¤òÄêµÁ¤·¤Þ¤·¤¿¡£ 1.6 ¤½¤Î¾ ¡¦¼Â¸³Åª¤Ê64¥Ó¥Ã¥È¥µ¥Ý¡¼¥È¤òÄɲä·¤Þ¤·¤¿¡£CC¤äCCOPTIONS¤òŬÀÚ¤ËÀßÄꤷ¤Æ¡¢64 ¥Ó¥Ã¥ÈÍѤΥ³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤¹¤è¤¦¤Ë¤¹¤ë¤È¡¢64¥Ó¥Ã¥È¤Çưºî¤¹¤ë¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬ ºî¤é¤ì¤ë¤Ï¤º¤Ç¤¹¡£ ¡¦IPv6¤ËÂбþ¤·¤Þ¤·¤¿¡£¤¿¤À¤·¡¢Èæ³ÓŪ¿·¤·¤¤IPv6¤Î»ÅÍͤ˰͸¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¸Å¤¤ »ÅÍͤ˴𤯥·¥¹¥Æ¥à¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤¬½ÐÍè¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ÆÃ¤Ë¡¢Linux¤Ç¤Ï ¾¯¤Ê¤¯¤È¤âkernel 2.4.21/2.5.45°Ê¹ß¤È¡¢¤½¤ì¤ËÂбþ¤·¤¿glibc¤¬É¬ÍפǤ¹¡£ ¡¦Canna 1.x»þÂå¤ÎEUC¥×¥í¥È¥³¥ë¤Î¥µ¥Ý¡¼¥È¤ò»ß¤á¤Þ¤·¤¿¡£ ¡¦sample/*¤Ècmd/crrdic/*¤òºï½ü¤·¤Þ¤·¤¿¡£¤¤¤º¤ì¤â°ÊÁ°¤«¤éÄ̾ï¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Ï ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¸Å¤¤¥×¥í¥°¥é¥à¤Ç¤¹¡£ ¡¦¥É¥­¥å¥á¥ó¥È¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ÆÃ¤Ë¡¢doc/man/guide°Ê²¼¤ÎTeX¥É¥­¥å¥á¥ó¥È¤òÂç Éý¤Ë¹¹¿·¤·¡¢LaTeX2e¤ËÂбþ¤µ¤»¤¿Â¾¡¢¸Å¤¤µ­½Ò¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦¤½¤Î¾¡¢¤µ¤Þ¤¶¤Þ¤ÊÀøºßŪ¤ÊÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ 1.7 Canna 3.7b1¤«¤é¤ÎÊѹ¹ÅÀ ¡¦¼­½ñ¤Ë¤¤¤¯¤Ä¤«¤Î½¤Àµ¤ò²Ã¤¨¤Þ¤·¤¿¡£ ¡¦jrkanji.h¤ËCANNA_JR_BEEP_FUNC_DECLARED¤È¤¤¤¦¥Þ¥¯¥í¤òÄɲä·¤Þ¤·¤¿¡£ 2. Canna 3.7¤Ë¤ª¤±¤ë¥Ñ¥Ã¥Á 2.1 Canna 3.7p1¤Ç¤ÎÊѹ¹ÅÀ ¡¦gcc°Ê³°¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¡¢¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤ë ÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦imake¤ÎCFLAGSÅù¤Ë¥·¥§¥ë¤ÎÆÃ¼ìʸ»ú¤¬´Þ¤Þ¤ì¤ë´Ä¶­(ÆÃ¤ËAIX)¤ËÂбþ¤·¤Þ¤·¤¿¡£ ¡¦´Ä¶­¤Ë¤è¤Ã¤Ædic/ideo/pubdic/pod¤¬¥ê¥ó¥¯¥¨¥é¡¼¤Ë¤Ê¤ëÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦MacOS X 10.3¤Ç¤Ïcpp¤¬ÊѤÊ#pragma¤òÅǤ¯¤Î¤ÇÂкö¤·¤Þ¤·¤¿¡£ ¡¦Canna.conf¤ÎModernElfLink¤ò¾¯¤·¸­¤¯(Sun°Ê³°¤Ç¤ÏµÕ¤Ë¤Þ¤º¤¤¤«¤â)¤·¤Þ¤·¤¿¡£ ¡¦hppaÈÇLinux¤òHP-UX¤Ë¸íǧ¼±¤¹¤ëÉôʬ¤¬¤¢¤Ã¤¿¤Î¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦¤³¤Î¥Õ¥¡¥¤¥ë¤Î¡Ö1. Canna 3.7¤Þ¤Ç¤Î¼çÍפÊÊѹ¹ÅÀ¡×¤ò²ÃÉ®ÄûÀµ¤·¤Þ¤·¤¿¡£ 2.2 Canna 3.7p2¤Ç¤ÎÊѹ¹ÅÀ ¡¦X.OrgÈÇimake¤Çmake¤Ç¤­¤Ê¤¤ÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥Þ¥·¥ó¤Ç3.7¥Ñ¥Ã¥Á¤òÅö¤Æ¤¿kinput2¤ò»È¤¦¤ÈÀµ¾ï¤Ëʸ»ú¤ò ÆþÎϽÐÍè¤Ê¤¤¥Ð¥°¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦ÀèÆ¬°ìʸ»úÁªÂò¤ò2²ó¹Ô¤¦¤È°Û¾ï¤Ê¾õÂ֤ˤʤë¥Ð¥°¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦emacs¤Çcanna-parse¤ò»È¤¦¤ÈÍî¤Á¤ë¥Ð¥°¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦rkc.conf¤òÆÉ¤ß¹þ¤à¤È¤­¾õ¶·¤Ë¤è¤Ã¤ÆÍî¤Á¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ ¡¦Pubdic+-fix01¤ò¼è¤ê¹þ¤ß¤Þ¤·¤¿¡£¼­½ñ¼«ÂΤÎÊѹ¹¤Ï̵¤¯¡¢ÉÕ°¥Ä¡¼¥ë¤Î½¤Àµ¤È ¥é¥¤¥»¥ó¥¹¤ÎÌÀ³Î²½¤¬¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ ¡¦¤½¤Î¤Û¤«ÀøºßŪ¤Ê¥Ð¥°¤Î½¤Àµ¤ä¥É¥­¥å¥á¥ó¥È¤ÎÄûÀµ¤ò¹Ô¤¤¤Þ¤·¤¿¡£ 2.2 Canna 3.7p3¤Ç¤ÎÊѹ¹ÅÀ ¡¦FreeBSD, Solaris, AIX¤Ê¤É¤Çmake¤Ç¤­¤Ê¤¤ÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ °Ê¾å /* Copyright (c) 2003-2004 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ ($Id: CHANGES.jp,v 1.6.2.7 2004/05/19 15:47:33 aida_s Exp $) Canna37p3/cmd/0040755000076500001200000000000010052700677012417 5ustar shinraadminCanna37p3/cmd/.cvsignore0100644000076500001200000000002107601177333014410 0ustar shinraadmin.depend Makefile Canna37p3/cmd/canlisp/0040755000076500001200000000000010052700675014046 5ustar shinraadminCanna37p3/cmd/canlisp/.cvsignore0100644000076500001200000000003107601177334016043 0ustar shinraadmin.depend Makefile canlisp Canna37p3/cmd/canlisp/canlisp.c0100644000076500001200000000401407736753156015660 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcs_id[] = "$Id: canlisp.c,v 1.3 2003/10/02 07:40:30 aida_s Exp $"; #endif #define CANNA_NEW_WCHAR_AWARE #include #include #include "ccompat.h" static void usage() { fprintf(stderr, "Usage: canlisp [{-cs|-cannaserver} servername] [-f .canna-file]\n"); exit(1); } main(argc, argv) int argc; char *argv[]; { register int i; for (i = 1 ; i < argc ; i++) { if ((!strcmp(argv[i], "-cs") || !strcmp(argv[i], "-cannaserver")) && ++i < argc) { wcKanjiControl(0, KC_SETSERVERNAME, argv[i]); } else if (!strcmp(argv[i], "-f") && ++i < argc) { wcKanjiControl(0, KC_SETINITFILENAME, argv[i]); } else { usage(); /* NOTREACHED */ } } wcKanjiControl(0, KC_INITIALIZE, 0); wcKanjiControl(0, KC_LISPINTERACTION, 0); wcKanjiControl(0, KC_FINALIZE, 0); exit(0); } Canna37p3/cmd/canlisp/Imakefile0100644000076500001200000000026507614662717015675 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:31 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define WantCannaLib #define TargetName canlisp #include "../cmd.tmpl" Canna37p3/cmd/cannacheck/0040755000076500001200000000000010052700675014473 5ustar shinraadminCanna37p3/cmd/cannacheck/.cvsignore0100644000076500001200000000003407601177334016473 0ustar shinraadmin.depend Makefile cannacheck Canna37p3/cmd/cannacheck/ccheck.jmn0100644000076500001200000000442507554213564016434 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: ccheck.jmn,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} cannacheck 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" cannacheck \- ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¡Ö¤«¤ó¤Ê¡×¤Î´ØÏ¢¾ðÊó¤Îɽ¼¨ .SH "·Á¼°" .B "cannacheck [\-v]" .SH "ÀâÌÀ" .PP cannacheck ¤ÏÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¡Ö¤«¤ó¤Ê¡×¤ò »È¤¦¤Ë¤¢¤¿¤Ã¤ÆÌäÂê¤Î¤¢¤ë¹àÌÜ¤ä ´ØÏ¢¤¹¤ë¹àÌܤòɽ¼¨¤·¤Þ¤¹¡£¼¡¤Î¹àÌܤ¬Ä´¤Ù¤é¤ì¤Þ¤¹¡£ .IP "¡¦" 3 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï¤É¤ì¤¬ÍѤ¤¤é¤ì¤ë¤«¡£ .IP "¡¦" 3 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤Ï¤É¤ì¤¬ÍѤ¤¤é¤ì¤ë¤«¡£ .IP "¡¦" 3 ¤É¤Î¼­½ñ¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤ë¤«¡£¤Þ¤¿¡¤¥Þ¥¦¥ó¥È²Äǽ¤«¡£ .IP "¡¦" 3 ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ï¤É¤³¤ËÀܳ¤¹¤ë¤«¡£¤Þ¤¿¡¤Àܳ²Äǽ¤«¡£ .IP "¡¦" 3 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥¨¥é¡¼¡£ .PP ¾åµ­¤Î¹àÌܤòÄ´¤Ù¡¤ÌäÂ꤬¤¢¤ì¤Ð¤½¤ÎÌäÂê¤òɸ½à½ÐÎϤËɽ¼¨¤·¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" .IP \-v 8 ÌäÂ꤬¤Ê¤¤¾ðÊó¤ò´Þ¤á¤Æ¾åµ­¤Î¾ðÊó¤ò¤¹¤Ù¤ÆÉ½¼¨¤·¤Þ¤¹¡£ .SH "´ØÏ¢¥Õ¥¡¥¤¥ë" .IP "@(cannaLibDir)/cannahost" 36 \fIcannaserver(1M)\fP ¤¬Æ°¤¤¤Æ¤¤¤ë¥Û¥¹¥È̾ .SH "´ØÏ¢¾ðÊó" .br cannaserver(1M), cannakill(1M), cannastat(1) .SH "´Ä¶­ÊÑ¿ô" .IP "CANNAHOST" 12 \fIcannaserver(1M)\fP¤¬Æ°¤¤¤Æ¤¤¤ë¥Û¥¹¥È̾¤ò»ØÄꤹ¤ë¡£ .IP "CANNAFILE" 12 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë(.canna)¤ò»ØÄꤹ¤ë¡£ Canna37p3/cmd/cannacheck/ccheck.man0100644000076500001200000000443107725625536016426 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" $Id: ccheck.man,v 1.2 2003/09/04 12:09:02 takasan Exp $ .TH CANNACHECK 1 .SH "NAME" cannacheck \- Display information about Japanese input system Canna .SH "SYNOPSIS" .B "cannacheck [\-v]" .SH "DESCRIPTION" .PP cannacheck displays the problems concerning use of Canna and the related information. It examines the following items: .IP "-" 3 Customize file to be used .IP "-" 3 Romaji-to-Kana conversion dictionary to be used .IP "-" 3 Destination to which the server is to be connected. Is it connectable? .IP "-" 3 Dictionaries to be mounted. Are they mountable? .IP "-" 3 Errors in the customize file .PP The problem(s) are displayed on the standard output if found. .SH "OPTIONS" .IP \-v 8 Displays all the above information including items that contain no problem. .SH "FILES" .IP "@(cannaLibDir)/cannahost" 36 Name of the host under which \fIcannaserver(1M)\fP is in operation. .SH "SEE ALSO" .br cannaserver(1M), cannakill(1M), cannastat(1) .SH "ENVIRONMENT" .IP "CANNAHOST" 12 Specifies the name of the host under which \fIcannaserver(1M)\fP is in operation. .IP "CANNAFILE" 12 Specifies the initialize file (.canna). Canna37p3/cmd/cannacheck/Imakefile0100644000076500001200000000040707614662717016320 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:31 aida_s Exp $ */ #include "../../Canna.conf" CMDSUBDEFINES = -DCHECK_COMMAND #define SimpleCommand #define TargetName cannacheck #define SrcName main #define ManSrcName ccheck #define WantCannaLib #include "../cmd.tmpl" Canna37p3/cmd/cannacheck/main.c0100644000076500001200000000532307773337051015575 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ static char rcs_id[] = "@(#) 102.1 $Id: main.c,v 1.6.2.2 2003/12/27 17:15:21 aida_s Exp $"; /* ¼«Æ°È½Ê̻ٱ祳¥á¥ó¥È: ¤³¤ì¤ÏEUC-JP¤À¤¾¡£Éý¤È¤¤¤¦»ú¤¬¤¢¤ì¤ÐÂç¾æÉס£ */ #include #define CANNA_NEW_WCHAR_AWARE #include #include #include "ccompat.h" #include "rkcapi.h" int IROHA_verbose = 0; main(argc, argv,envp) int argc; char *argv[], *envp[]; { char **warn, *cannafile = (char *)0, *servername = (char *)0; int i; for (i = 1 ; i < argc ; i++) { if (!strcmp(argv[i], "-v")) { IROHA_verbose = 1; } else if (!strcmp(argv[i], "-f") && i + 1 < argc) { cannafile = argv[i + 1]; i++; } else if (!strcmp(argv[i], "-cs") && i + 1 < argc) { servername = argv[i + 1]; i++; } else { fprintf(stderr, "usage: %s [-v] [-f cannafile] [-cs cannahost]\n", argv[0]); exit (1); } } if (cannafile) { jrKanjiControl(0, KC_SETINITFILENAME, cannafile); } if (servername) { jrKanjiControl(0, KC_SETSERVERNAME, servername); } jrKanjiControl(0, KC_SETVERBOSE, (char *)(canna_intptr_t)(IROHA_verbose ? CANNA_FULL_VERBOSE : CANNA_HALF_VERBOSE)); if (jrKanjiControl(0, KC_INITIALIZE, (char *)&warn) != -1) { if (IROHA_verbose) { char *p; p = RkwGetServerName(); if (p) printf("¥µ¡¼¥Ð \"%s\" ¤ËÀܳ¤·¤Þ¤¹¡£\n", p); else printf("ÀܳÀè¤Î¥µ¡¼¥Ð¤¬ÉÔÌÀ¤Ç¤¹\n"); } if (warn) { char **p; for (p = warn; *p ; p++) { printf("%s\n", *p); } } jrKanjiControl(0, KC_FINALIZE, (char *)0); } } Canna37p3/cmd/cannastat/0040755000076500001200000000000010052700675014371 5ustar shinraadminCanna37p3/cmd/cannastat/.cvsignore0100644000076500001200000000003307601177334016370 0ustar shinraadmin.depend Makefile cannastat Canna37p3/cmd/cannastat/cannastat.c0100644000076500001200000004463507773337051016534 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifdef ENGINE_SWITCH #include "RKrename.h" #endif #include "ccompat.h" RCSID("$Id: cannastat.c,v 1.5.2.2 2003/12/27 17:15:21 aida_s Exp $"); #include #include #include #include #include #include "net.h" #include "IR.h" #include "rkcapi.h" #define PROTO 1 #define ALL 2 #define TOTAL 3 #define EATFORMAT "%-10s%4s%4s%5s%16s%9s%7s %-10s %-10s\n" #define EADFORMAT "%-10s%4d%4d%5d%16s%9s%7s %-10s %-10s\n" #define ATFORMAT "%-10s%5s%5s%5s%16s%9s%9s %-s\n" #define ADFORMAT "%-10s%5d%5d%5d%16s%9s%9s %-s\n" #define BTFORMAT "%7s %7s %7s %11s %11s\n" #define BDFORMAT "%7d %7d %7d %11s %11s\n\n" #define EXTPROTO 1 #define SIZEOFCHAR 1 #define SIZEOFSHORT 2 #define SIZEOFINT 4 #define SIZEOFLONG 4 #define HEADER_SIZE (SIZEOFCHAR * 2 + SIZEOFSHORT) #define E_OTHER -1 #define E_PROTOCOL -2 #define E_MEMORY -3 #define E_SEND -4 #define E_RECV -5 /*#define DEBUG*/ #ifdef DEBUG # define TRACE(x) x #else # define TRACE(x) #endif typedef struct _Client { int id ; /* ¥½¥±¥Ã¥ÈÈÖ¹æ */ int usr_no ; /* ¥æ¡¼¥¶´ÉÍýÈÖ¹æ */ ir_time_t used_time ; /* ¥æ¡¼¥¶¾ÃÈñ»þ´Ö */ ir_time_t idle_date ; /* ¥¢¥¤¥É¥ë»þ´Ö */ ir_time_t connect_date ; /* ¥³¥Í¥¯¥È¤·¤¿»þ´Ö */ char *username ; /* ¥æ¡¼¥¶Ì¾ */ char *groupname; /* ¥°¥ë¡¼¥×̾ */ char *hostname ; /* ¥Û¥¹¥È̾ */ char *clientname ; /* ¥¯¥é¥¤¥¢¥ó¥È̾ */ } ClientRec, *ClientPtr; typedef unsigned int Uint; static int ServerVersion ; static ir_time_t cur_time ; static int *TotalReqCount = NULL; size_t ProtoCount, ListSize, ContextNum ; static char *ProtoList = NULL, *ContextFlag = NULL ; char major_version, minor_version; static void DispInfo pro((ClientPtr client, int flag)); static void DispProto pro((ClientPtr client)); static int CreateData pro((const BYTE *readbuf, ClientPtr who, size_t cinfolen)); static void usage pro((void)); static int process_wide_reply pro((const BYTE *reply, size_t len, int argflag, int flag)); static int get_check_str pro((char **dst, const BYTE *src, size_t len)); static int get_check_str_adv pro((char **dst, size_t recvlen, const BYTE **receivep, size_t *requiredsize)); int main(argc, argv) int argc ; char **argv ; { char cannahostname[ 256 ] ; int argflag = 0, flag = 0 ; int i; int proto_major, cx; int status, error = E_OTHER; int replylen; BYTE replybuf[128], reqbuf[HEADER_SIZE]; BYTE *replyp = replybuf, *p = reqbuf; cannahostname[0] = '\0'; for( i = 1; i < argc; i++ ) { if(!strcmp( argv[ i ], "-cs" ) || !strcmp( argv[ i ], "-cannaserver" )) { if (++i < argc) { strcpy( cannahostname, argv[i] ) ; } else usage(); } else if( !strcmp( argv[ i ], "-p" )) argflag = PROTO ; else if( !strcmp( argv[ i ], "-a" )) argflag = ALL ; else if( !strcmp( argv[ i ], "-t" )) argflag = TOTAL ; else if( !strcmp( argv[ i ], "-v" )) flag = 1 ; else usage() ; } if( (cx = RkwInitialize( cannahostname )) == -1 ){ fprintf( stderr,"Error Disconnected %s\n", cannahostname ); exit(2); } strcpy(cannahostname, RkwGetServerName()); printf("Connected to %s\n", cannahostname ) ; RkwGetProtocolVersion(&proto_major, &ServerVersion); if( proto_major < 2 ) { printf("Too old cannaserver\n"); exit(2); } /* ¥Ñ¥±¥Ã¥ÈÁȤßΩ¤Æ */ *p++ = wGetServerInfo; /* major */ *p++ = EXTPROTO; /* minor */ STOS2(0, p); p += SIZEOFSHORT; /* datalen */ if (RkcSendWRequest(reqbuf, HEADER_SIZE)) { error = E_SEND; goto widelast; } if (RkcRecvWReply(replybuf, sizeof replybuf, &replylen, &replyp)) { error = E_RECV; goto widelast; } error = process_wide_reply(replyp, replylen + HEADER_SIZE, argflag, flag); widelast: if (replyp != replybuf) free(replyp); RkwFinalize(); status = 2; switch (error) { case 0: status = 0; break; case E_PROTOCOL: fprintf(stderr, "Protocol error\n"); break; case E_MEMORY: fprintf(stderr, "Out of memory\n"); status = 3; break; case E_SEND: fprintf(stderr, "Cannot send request to server\n"); break; case E_RECV: fprintf(stderr, "Cannot receive reply from server\n"); break; default: assert(0); } return status; } #ifdef DEBUG static void DebugDump( buf, size ) int size ; const char *buf ; { char buf1[80] ; char buf2[17] ; char c ; int i, j; int count = 0 ; fprintf( stderr, " SIZE = %d\n", size ) ; fprintf( stderr, " COUNT 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef\n" ) ; for (i = 0; i < size; i += 16) { bzero( buf1, 50 ) ; bzero( buf2, 17 ) ; for (j = 0; j < 16; j++) { if( i+j >= size ) { strcat( (char *)buf1, " " ) ; strcat( (char *)buf2, " " ) ; } else { sprintf( (char *)buf1, "%s%02x ", buf1, (c = buf[i + j]) & 0xFF); if((unsigned)(c & 0xff) >= (unsigned)' ' && (unsigned)(c & 0xff) < (unsigned)0x7f ) sprintf( (char *)buf2,"%s%c", buf2, c ) ; else sprintf( (char *)buf2,"%s.", buf2 ) ; } } fprintf( stderr," %05x %s %s\n", count++, buf1, buf2 ); } } #endif static int process_wide_reply(reply, len, argflag, flag) const BYTE *reply; size_t len; int argflag; int flag; { size_t requiredsize; const BYTE *p = reply; int r; size_t i, cConnectNum; ClientRec client; requiredsize = HEADER_SIZE + SIZEOFCHAR /* ½ªÎ»¾õÂÖ */ + SIZEOFCHAR /* ¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó */ + SIZEOFCHAR /* ¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó */ + SIZEOFLONG /* »þ¹ï */ + SIZEOFSHORT /* ¥×¥í¥È¥³¥ë¿ô */ + SIZEOFSHORT /* ¥×¥í¥È¥³¥ë̾¤ÎŤµ */ + 0 /* ¥×¥í¥È¥³¥ë̾(¤Þ¤À¤ï¤«¤é¤Ê¤¤) */ + 0 /* ¥×¥í¥È¥³¥ë»ÈÍÑÉÑÅÙ(¤Þ¤À¤ï¤«¤é¤Ê¤¤) */ + SIZEOFSHORT /* ¥¯¥é¥¤¥¢¥ó¥È¿ô */ + SIZEOFSHORT /* ¥³¥ó¥Æ¥­¥¹¥È¿ô */ + 0 /* ¥¯¥é¥¤¥¢¥ó¥È¾ðÊó´ØÏ¢(¤Þ¤À¤ï¤«¤é¤Ê¤¤) */ ; TRACE(fprintf(stderr, "process_wide_reply: len=%u, requiredsize_0=%u\n", (Uint)len, (Uint)requiredsize)); /*TRACE(DebugDump((const char *)reply, len));*/ if (len < requiredsize) goto protoerr; if (*p++ != wGetServerInfo /* majo */ || *p++ != EXTPROTO) /* mino */ goto protoerr; assert(S2TOS(p) == len - 4), p+= SIZEOFSHORT; /* size */ if (*p++ != 0) /* stat */ goto protoerr; /* ¥µ¡¼¥Ð¥Ð¡¼¥¸¥ç¥ó¤ò¼èÆÀ¤¹¤ë */ major_version = *p++; minor_version = *p++; printf("Canna Server (Ver. %d.%d)\n", major_version, minor_version ) ; /* ¥µ¡¼¥Ð¤Î¥«¥ì¥ó¥È»þ´Ö */ cur_time = (ir_time_t)L4TOL(p), p+= SIZEOFLONG; /* ¥×¥í¥È¥³¥ë¿ô */ ProtoCount = S2TOS(p), p+= SIZEOFSHORT; /* ¥×¥í¥È¥³¥ë̾¥ê¥¹¥ÈĹ */ ListSize = S2TOS(p), p+= SIZEOFSHORT; requiredsize += ListSize /* ¥×¥í¥È¥³¥ë̾(¤ï¤«¤Ã¤¿) */ + ProtoCount * SIZEOFLONG /* ¥×¥í¥È¥³¥ë»ÈÍÑÉÑÅÙ(¤ï¤«¤Ã¤¿) */ ; TRACE(fprintf(stderr, "ListSize=%u, ProtoCount=%u, requiredsize_1=%u\n", (Uint)ListSize, (Uint)ProtoCount, (Uint)requiredsize)); if (len < requiredsize) goto protoerr; /* ¥×¥í¥È¥³¥ë̾¥ê¥¹¥È¼èÆÀ */ ProtoList = (char *)malloc( ListSize ) ; if (!ProtoList) goto nomem; memcpy(ProtoList, p, ListSize); p += ListSize; TRACE(fprintf(stderr, "after ProtoList: off=%x\n", (Uint)(p - reply))); /* ¥×¥í¥È¥³¥ë»ÈÍÑÉÑÅÙ¼èÆÀ */ TotalReqCount = (int *)calloc( ProtoCount, sizeof( int ) ) ; if (!TotalReqCount) goto nomem; for (i = 0; i < ProtoCount; ++i) TotalReqCount[i] = (int)L4TOL(p), p += SIZEOFLONG; TRACE(fprintf(stderr, "after TotalReqCount: off=%x\n", (Uint)(p - reply))); cConnectNum = S2TOS(p), p+= SIZEOFSHORT; if( cConnectNum ) printf("Total connecting clients %u\n", (Uint)cConnectNum); else { printf("No clients\n") ; } if( argflag == TOTAL ) { DispProto( (ClientPtr)NULL ) ; putchar( '\n' ) ; RkwFinalize(); exit( 0 ) ; } else if( !cConnectNum ){ RkwFinalize(); exit( 0 ) ; } if( !flag && (!argflag || (argflag == ALL)) ) { if( major_version > 2 ) printf( EATFORMAT, "USER_NAME", "ID", "NO", "U_CX", "C_TIME", "U_TIME", "I_TIME", "HOST_NAME", "CLIENT" ) ; else printf( ATFORMAT, "USER_NAME", "ID", "NO", "U_CX", "C_TIME", "U_TIME", "I_TIME", "HOST_NAME" ) ; } else { printf("\n") ; } ContextNum = S2TOS(p), p+= SIZEOFSHORT; ContextFlag = (char *)malloc( ContextNum ) ; if (!ContextFlag) goto nomem; /* ¥¯¥é¥¤¥¢¥ó¥È¾ðÊó´ØÏ¢ */ for( i = 0; i < cConnectNum ; i++ ) { size_t clientinfolen; clientinfolen = S2TOS(p), p+= SIZEOFSHORT; /* ¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ïʬ¤«¤Ã¤¿ */ requiredsize += SIZEOFSHORT + clientinfolen; TRACE(fprintf(stderr, "clientinfolen=%u, requiredsize_x=%u\n", (Uint)clientinfolen, (Uint)requiredsize)); if (len < requiredsize) goto protoerr; bzero( &client, sizeof( ClientRec ) ) ; bzero( ContextFlag, ContextNum ) ; r = CreateData( p, &client, clientinfolen ) ; if (r) goto last; switch( argflag ) { case PROTO : printf("%s\n", client.username ) ; DispProto( &client ) ; putchar( '\n' ) ; break ; case ALL : DispInfo( &client, flag ) ; DispProto( &client ) ; putchar( '\n' ) ; break ; default : DispInfo( &client, flag ) ; break ; } free( client.username ) ; free( client.hostname ) ; if (major_version > 2 && client.clientname) { free( client.clientname ) ; } p += clientinfolen; } assert(p == reply + requiredsize); assert(p <= reply + len); if (p < reply + len) goto protoerr; r = 0; goto last; nomem: r = E_MEMORY; goto last; protoerr: r = E_PROTOCOL; goto last; last: free(ProtoList); ProtoList = NULL; free(TotalReqCount); TotalReqCount = NULL; free(ContextFlag); ContextFlag = NULL; return r; } static void DispInfo( client, flag ) register ClientPtr client ; int flag ; { static char *week[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" } ; char ctime[ 15 ], utime[ 10 ], itime[ 10 ] ; char name[ 10 ], host[ 15 ], appname[15]; char *ascdate = (char *)0xdeadbeef /* for gcc */ ; int i, id, user_no, u_cx ; ir_time_t cdate, udate, idate ; struct tm *tt ; id = client->id ; user_no = client->usr_no ; udate = client->used_time ; /* ¥³¥Í¥¯¥È»þ´Ö¤ÎÀ°·Á */ cdate = client->connect_date ; tt = localtime( &cdate ) ; if( flag ) { ascdate = asctime( tt ) ; } else { sprintf( ctime,"%s %d", week[ tt->tm_wday ], tt->tm_mday ) ; if( tt->tm_hour > 12 ) sprintf( ctime,"%s %2d:%02dpm", ctime, tt->tm_hour - 12, tt->tm_min ) ; else if( tt->tm_hour == 12 ) sprintf( ctime,"%s 12:%02dpm", ctime, tt->tm_min ) ; else if( tt->tm_hour == 0 ) sprintf( ctime,"%s 12:%02dam", ctime, tt->tm_min ) ; else sprintf( ctime,"%s %2d:%02dam", ctime, tt->tm_hour, tt->tm_min ) ; sprintf( utime,"%02u:%02u:%02u", (Uint)udate/3600, (Uint)(udate%3600)/60, (Uint)(udate%3600)%60 ) ; } if (udate < 3600) { if (udate < 60) sprintf( utime, " %2u", (Uint)udate); else sprintf( utime, " %2u'%02u", (Uint)(udate/60), (Uint)(udate%60)); } else { sprintf( utime,"%02u:%02u'%02u", (Uint)(udate/3600), (Uint)((udate%3600)/60), (Uint)((udate%3600)%60) ) ; } idate = cur_time - client->idle_date ; /* £±Ê¬°ÊÆâ¤Ïɽ¼¨¤·¤Ê¤¤ */ if( idate < 60 ) strcpy( itime, "" ) ; else if ( idate < 3600) sprintf (itime, " %2u", (Uint)(idate / 60)); else sprintf( itime,"%2u:%02u", (Uint)(idate/3600), (Uint)((idate%3600)/60)) ; for( i = 0, u_cx = 0; i < ContextNum ; i++ ) if( ContextFlag[ i ] ) u_cx ++ ; if( flag ) { printf( "USER_NAME : %s\n", client->username ) ; printf( "HOST_NAME : %s\n", client->hostname ) ; if( major_version > 2 ) printf( "CLIENT_NAME : %s\n", client->clientname ) ; printf( "CONNECT_DATE : %s", ascdate ) ; printf( BTFORMAT, "USER_ID", "USER_NO", "USED_CX", "USED_TIME","IDLE_TIME" ) ; printf( BDFORMAT, id, user_no, u_cx, utime, itime ) ; } else { bzero( name, 10 ) ; bzero( host, 15 ) ; bzero( appname, 15 ) ; strncpy( name, client->username, 9 ) ; if( major_version > 2 ){ strncpy( host, client->hostname, 10 ) ; strncpy( appname, client->clientname, 10 ) ; printf( EADFORMAT, name, id, user_no, u_cx, ctime, utime, itime, host, appname ) ; } else { strncpy( host, client->hostname, 14 ) ; printf( ADFORMAT, name, id, user_no, u_cx, ctime, utime, itime, host ) ; } } } static void DispProto( client ) register ClientPtr client ; { register int i ; char *protoname ; int *dispdata ; protoname = ProtoList ; dispdata = TotalReqCount ; for( i = 0; i < ProtoCount; i++ ) { printf("%23s:%6d", protoname, dispdata[ i ] ) ; protoname += ( strlen( protoname ) + 1 ) ; if( !((i+1)%2) ) putchar('\n') ; } putchar('\n') ; } static int CreateData( readbuf, who, cinfolen ) const BYTE *readbuf ; ClientPtr who ; size_t cinfolen ; { const BYTE *receivep = readbuf ; size_t j ; int r = 0; size_t requiredsize; requiredsize = (5 * SIZEOFLONG) /* ¥½¥±¥Ã¥ÈÈֹ桢¥æ¡¼¥¶´ÉÍýÈֹ桢³Æ¼ï»þ´Ö */ + (ProtoCount * SIZEOFLONG) /* ¥×¥í¥È¥³¥ë»ÈÍÑÉÑÅÙ */ + SIZEOFSHORT /* ¥æ¡¼¥¶Ì¾¤ÎŤµ */ + SIZEOFSHORT /* ¥Û¥¹¥È̾¤ÎŤµ */ + ((major_version > 2) ? SIZEOFSHORT : 0) /* ¥¯¥é¥¤¥¢¥ó¥È̾¤ÎŤµ */ + ContextNum /* ¥³¥ó¥Æ¥­¥¹¥È´ÉÍý¥Õ¥é¥° */ ; /*TRACE(DebugDump((const char *)readbuf, cinfolen));*/ TRACE(fprintf(stderr, "CreateData: cinfolen=%u, requiredsize_0=%u\n", (Uint)cinfolen, (Uint)requiredsize)); if (cinfolen < requiredsize) goto protoerr; who->id = (int)L4TOL(receivep); receivep += SIZEOFLONG; who->usr_no = (int)L4TOL(receivep); receivep += SIZEOFLONG; who->used_time = (ir_time_t)L4TOL(receivep); receivep += SIZEOFLONG; who->idle_date = (ir_time_t)L4TOL(receivep); receivep += SIZEOFLONG; who->connect_date = (ir_time_t)L4TOL(receivep); receivep += SIZEOFLONG; for( j = 0; j < ProtoCount; j++ ) TotalReqCount[j] = (int)L4TOL(receivep), receivep += SIZEOFLONG; TRACE(fprintf(stderr, "try username, off=%x\n", (Uint)(receivep - readbuf))); if ((r = get_check_str_adv(&who->username, cinfolen, &receivep, &requiredsize)) != 0) goto last; TRACE(fprintf(stderr, "try hostname, off=%x\n", (Uint)(receivep - readbuf))); if ((r = get_check_str_adv(&who->hostname, cinfolen, &receivep, &requiredsize)) != 0) goto last; if( major_version > 2 ){ TRACE(fprintf(stderr, "try clientname, off=%x\n", (Uint)(receivep - readbuf))); if ((r = get_check_str_adv(&who->clientname, cinfolen, &receivep, &requiredsize)) != 0) goto last; } memcpy(ContextFlag, receivep, ContextNum); receivep += ContextNum; TRACE(fprintf(stderr, "last requiredsize=%u\n", (Uint)requiredsize)); assert(receivep == readbuf + requiredsize); assert(cinfolen >= requiredsize); if (cinfolen > requiredsize) goto protoerr; goto last; /* memerr: r = E_MEMORY; goto last; */ protoerr: r = E_PROTOCOL; goto last; last: return r; } static int get_check_str(dst, src, len) char **dst; const BYTE *src; size_t len; { size_t body; *dst = NULL; if (src[len - 1] != '\0') return E_PROTOCOL; body = strlen((const char *)src); if (body != len - 2 && body != len - 1) return E_PROTOCOL; *dst = strdup((const char *)src); return (*dst) ? 0 : E_MEMORY; } static int get_check_str_adv(dst, recvlen, receivep, requiredsize) char **dst; size_t recvlen; const BYTE **receivep; size_t *requiredsize; { size_t len; const BYTE *p = *receivep; *dst = NULL; len = S2TOS(p), p+= SIZEOFSHORT; TRACE(fprintf(stderr, "get_check_str_adv: len=%u, req=%u, recvlen=%u\n", (Uint)len, (Uint)*requiredsize, (Uint)recvlen)); *requiredsize += len; if (recvlen < *requiredsize) return E_PROTOCOL; *receivep = p + len; return get_check_str(dst, p, len); } static void usage() { fprintf( stderr, "usage: cannastat [-cs | -cannaserver hostname] [-a|-v]\n" ) ; fprintf( stderr, " [-cs | -cannaserver hostname] [-t]\n" ) ; fprintf( stderr, " [-cs | -cannaserver hostname] [-p]\n" ) ; fflush( stderr ) ; exit( 0 ) ; } /* vim: set sw=4: */ Canna37p3/cmd/cannastat/cstat.jmn0100644000076500001200000000624407554213564016231 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cstat.jmn,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} cannastat 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" cannastat \- ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¾ðÊó¤Îɽ¼¨ .SH "·Á¼°" .B "cannastat [{\-cs|\-cannaserver} \fIcanna-server\fP"] [\-p] [\-t] [\-a] .SH "ÀâÌÀ" .PP \fIcannastat(1)\fP¤Ï¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\fIcannaserver(1M)\fP¤Î¾ðÊó¤òɽ ¼¨¤·¤Þ¤¹¡£É½¼¨¤µ¤ì¤ë¾ðÊó¤È¤·¤Æ¤Ï¡¤Àܳ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤Î¸ºß¤¹¤ë ¥Þ¥·¥ó̾¡¤\fIcannaserver(1M)\fP¤Î¥Ð¡¼¥¸¥ç¥ó¡¤¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤ë¥¯¥é ¥¤¥¢¥ó¥È¤Î¿ô¡¤¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤ë¥æ¡¼¥¶Ì¾¡¤¥æ¡¼¥¶Èֹ桤¥½¥±¥Ã¥ÈÈֹ桤 »ÈÍѤ·¤Æ¤¤¤ë¥³¥ó¥Æ¥¯¥¹¥È¤Î¿ô¡¤¥µ¡¼¥Ð¤Ø¤ÎÀܳ»þ´Ö¡¤¥µ¡¼¥Ð¤Î»ÈÍÑ»þ´Ö¡¤¥¢ ¥¤¥É¥ë»þ´Ö¡¤¥¯¥é¥¤¥¢¥ó¥È¤Î¸ºß¤¹¤ë¥Û¥¹¥È̾¡¤³Æ¥×¥í¥È¥³¥ë¤Î»ÈÍÑÉÑÅÙÅù¤¬ ¤¢¤ê¤Þ¤¹¡£ .PP \fIcannastat(1)\fP¤ò¥ª¥×¥·¥ç¥ó̵¤·¤Ç¸Æ¤Ó½Ð¤·¤¿»þ¤Îɽ¼¨¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê ¤Þ¤¹¡£ .sp .ft CW .nf Connected to machine1 Canna Server (Ver. 2.1) Total connecting clients 1 USER_NAME ID NO U_CX C_TIME U_TIME I_TIME HOST_NAME kon 5 0 4 Tue 21 8:49am 11 12:48 machine2 .fi .ft .sp .PP ¤½¤ì¤¾¤ì¤Î¹àÌܤΰÕÌ£¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ .IP "USER_NAME" 16 ¥æ¡¼¥¶Ì¾ .IP "ID" 16 ¥½¥±¥Ã¥ÈÈÖ¹æ .IP "NO" 16 ¥æ¡¼¥¶ÈÖ¹æ .IP "U_CX" 16 »ÈÍѤ·¤Æ¤¤¤ë¥³¥ó¥Æ¥¯¥¹¥È¤Î¿ô .IP "C_TIME" 16 Àܳ¤·¤¿»þ´Ö(»þ:ʬ) .IP "U_TIME" 16 ¥µ¡¼¥Ð¤Î»ÈÍÑ»þ´Ö(»þ´Ö:ʬ'ÉÃ) .IP "I_TIME" 16 ¥¢¥¤¥É¥ë»þ´Ö(»þ´Ö:ʬ) .IP "HOST_NAME" 16 ¥¯¥é¥¤¥¢¥ó¥È¤Î¸ºß¤¹¤ë¥Û¥¹¥È̾ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-cs \fIcanna-server\fP (¤Þ¤¿¤Ï¡¤\-cannaserver \fIcanna-server\fP)" 12 ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò»ØÄꤷ¤Þ¤¹¡£ .IP "\-p" 12 »ÈÍѤµ¤ì¤¿¥×¥í¥È¥³¥ë¤ÎÉÑÅÙ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ .IP "\-t" 12 cannastat ¤òµ¯Æ°¤·¤¿¥æ¡¼¥¶¤Ë´Ø¤· ¤ÆID¡¤NO¡¤U_CX¡¤C_TIME¡¤U_TIME¡¤I_TIME¡¤HOST_NAME¡¤¤Ê¤É¤Î¾ðÊó¤È¤È¤â¤Ë »ÈÍѤ·¤¿¥×¥í¥È¥³¥ë¤ÎÉÑÅÙ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ .IP "\-a" 12 ¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤Î¤¹¤Ù¤Æ¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ .SH "´ØÏ¢¥Õ¥¡¥¤¥ë" .IP @(cannaLibDir)/cannahost 36 cannaserver ¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È̾ .SH "´ØÏ¢¹àÌÜ" .PP cannaserver(1M), cannakill(1M), cannacheck(1) .PP .SH "´Ä¶­ÊÑ¿ô" .PP .IP "CANNAHOST" 12 \fIcannaserver(1M)\fP¤¬Æ°¤¤¤Æ¤¤¤ë¥Û¥¹¥È̾¤ò»ØÄꤹ¤ë¡£ Canna37p3/cmd/cannastat/cstat.man0100644000076500001200000000654707554213564016226 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cstat.man,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $ .TH CANNASTAT 1 .SH "NAME" cannastat \- Display information about the Kana-Kanji conversion server .SH "SYNOPSIS" .B "cannastat [{\-cs|\-cannaserver} \fIcanna-server\fP"] [\-p] [\-t] [\-a] .SH "DESCRIPTION" .PP \fIcannastat(1)\fP displays information about the Kana-Kanji conversion server \fIcannaserver(1M)\fP. The information includes the following: the name of the machine on which the connected server exists, the \fIcannaserver(1M)\fP's version, the number of clients connecting to the server, the name of the user connecting to the server, its user number, the socket number, the number of contexts, the time of connection to the server, the time of use of the server, the idle time, the name of the host under which the client exists, and the frequency of using each protocol. .PP If \fIcannastat(1)\fP is called without options, the following is displayed: .sp .ft CW .nf Connected to machine1 Canna Server (Ver. 2.1) Total connecting clients 1 USER_NAME ID NO U_CX C_TIME U_TIME I_TIME HOST_NAME kon 5 0 4 Tue 21 8:49am 11 12:48 machine2 .fi .ft .sp .PP The items represent the following: .IP "USER_NAME" 16 User name .IP "ID" 16 Socket number .IP "NO" 16 User number .IP "U_CX" 16 Context number .IP "C_TIME" 16 Time of connection (h:min) .IP "U_TIME" 16 User time (h:min:s) .IP "I_TIME" 16 Idle time (h:min) .IP "HOST_NAME" 16 Name of the host under which the client exists .SH "OPTIONS" .IP "\-cs \fIcanna-server\fP (or \-cannaserver \fIcanna-server\fP)" 12 Specifies the Kana-Kanji conversion server. .IP "\-p" 12 Displays the frequency of using the protocol. .IP "\-t" 12 Displays information about the user who started cannastat. It includes the frequency of using the protocol, as well as ID, NO, U_CX, C_TIME, U_TIME, I_TIME, and HOST_NAME. .IP "\-a" 12 Displays all information about all users. .SH "FILES" .IP @(cannaLibDir)/cannahost 36 Name of the host under which cannaserver is in operation. .SH "SEE ALSO" .PP cannaserver(1M), cannakill(1M), cannacheck(1) .PP .SH "ENVIRONMENT" .PP .IP "CANNAHOST" 12 Specifies the name of the host under which \fIcannaserver(1M)\fP is in operation. Canna37p3/cmd/cannastat/Imakefile0100644000076500001200000000031607614662717016215 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:31 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName cannastat #define ManSrcName cstat #define WantRKCLib #include "../cmd.tmpl" Canna37p3/cmd/catdic/0040755000076500001200000000000010052700676013645 5ustar shinraadminCanna37p3/cmd/catdic/.cvsignore0100644000076500001200000000003007601177334015640 0ustar shinraadmin.depend Makefile catdic Canna37p3/cmd/catdic/addwords.jmn0100644000076500001200000000365307554213564016176 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: addwords.jmn,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} addwords 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" addwords \- °ì³çñ¸ìÅÐÏ¿ .SH "·Á¼°" .B "addwords [{\-cs|\-cannaserver} \fIcannaserver\fP][\-l \fIfile\fP] dicname" .SH "ÀâÌÀ" .PP ɸ½àÆþÎϤ«¤é¡Ø¤«¤ó¤Ê¡Ù¤Î¥Æ¥­¥¹¥È¼­½ñ·Á¼°¤Îñ¸ìÅÐÏ¿°ìÍ÷¤òÆÉ¤ß¹þ¤ß»ØÄꤵ ¤ì¤¿¼­½ñ¤ËÄɲÃÅÐÏ¿¤·¤Þ¤¹¡£ .PP »ØÄꤹ¤ë¼­½ñ¤Ï½ñ¤­¹þ¤ß¤¬²Äǽ¤Ê¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-cs \fIcannaserver\fP (¤Þ¤¿¤Ï \-cannaserver \fIcannaserver\fP)" 12 ¥³¥Ô¡¼¤·¤¿¤¤¼­½ñ¤Î¤¢¤ë¥µ¡¼¥Ð¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ .IP "\-l \fIfile\fP ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò¼­½ñ¤ËÄɲä·¤Þ¤¹¡£ .SH "»ÈÍÑÎã" .nf % addwords mydic < newwords .fi .PP ¼­½ñ mydic ¤Ë newwords ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ëñ¸ì¤òÅÐÏ¿¤·¤Þ¤¹¡£ Canna37p3/cmd/catdic/addwords.man0100644000076500001200000000372307554213564016163 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: addwords.man,v 1.1.1.1 2002/10/19 08:27:32 aida_s Exp $ .TH ADDWORDS 1 .SH "NAME" addwords \- Adding words to specified dictionary collectively .SH "SYNOPSIS" .B "addwords [{\-cs|\-cannaserver} \fIcannaserver\fP][\-l \fIfile\fP] dicname" .SH "DESCRIPTION" .PP .I addwords adds words to specified dictionary according to the word information from the standard input. The standard input must be in a format of ``Text Dictionary format'' of Canna. .PP .I dicname must be a ``Text Dictionary format'' which can be rewritten. .SH "OPTIONS" .IP "\-is \fIcannaserver\fP (or \-cannaserver \fIcannaserver\fP)" 12 Specifies the hostname on which the specified dictionary is expected to exist. .SH "EXAMPLE" .nf % addwords mydic < newwords .fi .PP Adds words defined in \fInewwords\fP to \fImydic\fP. Canna37p3/cmd/catdic/can.c0100644000076500001200000014442407617020474014564 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcs[] = "@(#) 112.1 $Id: can.c,v 1.4 2003/02/01 19:34:20 aida_s Exp $"; #endif #ifdef ENGINE_SWITCH #include "RKrename.h" #endif #include "cannaconf.h" #define CANNA_NEW_WCHAR_AWARE #include #include #include #include #include #include #include #include "ccompat.h" #ifdef __EMX__ #include #endif #if defined(__STDC__) || defined(SVR4) #include #endif #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif #define TRUE 1 #define FALSE 0 #define RECSZ 256 #define ERR_VALUE 1 #define BUFLEN 1024 #define STRCMP(d, s) strcmp((char *)(d), (char *)(s)) #define NOT_OVER_WRITE 0 #define OVER_WRITE 1 #ifdef SIGNALRETURNSINT #define SIGVAL int #else #define SIGVAL void #endif #ifdef USE_VARARGS #ifdef __STDC__ extern void Message(char *,...); #else extern void Message(); #endif #else extern void Message(); #endif extern RkDeleteLine(); extern RkDefineLine(); extern rmDitionary(); char init[RECSZ], *Progname; unsigned char *r_dic; unsigned char rm_dic[RECSZ]; int cx_num, is_display, mode ,mode2; unsigned char dicname[RECSZ]; static char *r_file; unsigned char dicname1[RECSZ], dicname2[RECSZ]; static int majv, minv, protover; static char *hinshi ; static char msg_abnls[80], msg_abnl[80] , msg_sfq[80] ,msg_l[80]; #define canna_protocol_version(ma, mi) ((ma) * 1024 + (mi)) #define canna_major_version(ver) ((ver) / 1024) #define canna_minor_version(ver) ((ver) % 1024) static int opt_cs ; static int opt_l ; static int opt_r ; static int opt_h ; static int opt_i ; static int opt_u ; static int opt_s ; static int opt_fq ; static int opt_std; static int opt_myg , opt_g , opt_rw , opt_v , opt_a ; static char *opt_dic1 ; static char *opt_dic2 ; static char *opt_lfile ; static char *opt_user , *opt_grp ; /*-------------------------------------------------------------*/ static int cmd_code ; #define ADD 1 #define CAT 2 #define CP 3 #define DEL 4 #define LS 5 #define MK 6 #define MV 7 #define RM 8 #define CHMOD 9 #define SY 10 #define KILL 11 /**************************************************************/ /* ¶¦ÄÌ´Ø¿ô */ /**************************************************************/ void usage() { switch ( cmd_code ) { case ADD : (void) fprintf(stderr, gettxt("cannacmd:53", "Usage: %s [options] remote-dic\n"),Progname); (void) fprintf(stderr, gettxt("cannacmd:54", " options include:\n")); (void) fprintf(stderr, gettxt("cannacmd:55", "\t{-cs | -cannaserver} canna-server\n")); (void) fprintf(stderr, gettxt("cannacmd:56", "\t-l local-file\n")); break ; case CAT : (void)fprintf(stderr,gettxt("cannacmd:71", "Usage: %s [options] remote-dic\n"), Progname); (void)fprintf(stderr,gettxt("cannacmd:72", " options:\n")); (void)fprintf(stderr,gettxt("cannacmd:73", " {-cs | -cannaserver} canna-server\n")); (void)fprintf(stderr,gettxt("cannacmd:74", " -i | -u user-name\n")); (void)fprintf(stderr,gettxt("cannacmd:75", " -l local-file\n")); (void)fprintf(stderr,gettxt("cannacmd:234"," -G \n")); (void)fprintf(stderr,gettxt("cannacmd:235"," -g group-name\n")); break ; case CP : (void)fprintf(stderr,gettxt("cannacmd:85", "Usage: %s [options] from-dic to-dic\n"), Progname); (void)fprintf(stderr,gettxt("cannacmd:86", " options:\n")); (void)fprintf(stderr,gettxt("cannacmd:87", " {-cs | -cannaserver} canna-server\n")); (void)fprintf(stderr,gettxt("cannacmd:88", " -s\n")); (void)fprintf(stderr,gettxt("cannacmd:89", " -i | -u user-name\n")); (void)fprintf(stderr,gettxt("cannacmd:236"," -G \n")); (void)fprintf(stderr,gettxt("cannacmd:237"," -g group-name\n")); break ; case DEL : (void) fprintf(stderr, gettxt("cannacmd:102", "Usage: %s [options] remote-dic\n"),Progname); (void) fprintf(stderr, gettxt("cannacmd:103", " options:\n")); (void) fprintf(stderr, gettxt("cannacmd:104", "\t{-cs | -cannaserver} canna-server\n")); (void) fprintf(stderr, gettxt("cannacmd:105", "\t-l local-file\n")); break ; case LS : (void)fprintf(stderr,gettxt("cannacmd:121", "Usage: %s [options]\n"), Progname); (void)fprintf(stderr,gettxt("cannacmd:122", " options:\n")); (void)fprintf(stderr,gettxt("cannacmd:123", " {-cs | -cannaserver} canna-server\n")); (void)fprintf(stderr,gettxt("cannacmd:124", " -i\n")); (void)fprintf(stderr,gettxt("cannacmd:125", " -u user-name\n")); (void)fprintf(stderr,gettxt("cannacmd:238", " -G \n")); (void)fprintf(stderr,gettxt("cannacmd:239", " -g group-name\n")); (void)fprintf(stderr,gettxt("cannacmd:240", " -a \n")); (void)fprintf(stderr,gettxt("cannacmd:241", " -l \n")); break ; case MK : (void) fprintf(stderr, gettxt("cannacmd:134", "Usage: %s [options] remote-dic\n"),Progname); (void) fprintf(stderr, gettxt("cannacmd:135", " options:\n")); (void) fprintf(stderr, gettxt("cannacmd:136", "\t{-cs | -cannaserver} canna-server\n")); (void) fprintf(stderr, gettxt("cannacmd:137", "\t-s\n")); (void) fprintf(stderr, gettxt("cannacmd:138", "\t{- | -l local-file}\n")); (void) fprintf(stderr, gettxt("cannacmd:139", "\t-fq\n")); (void) fprintf(stderr, gettxt("cannacmd:242", "\t-G \n")); break ; case MV : (void)fprintf(stderr,gettxt("cannacmd:155", "Usage: %s [options] from-dic to-dic\n"), Progname); (void)fprintf(stderr,gettxt("cannacmd:156", " options:\n")); (void)fprintf(stderr,gettxt("cannacmd:157", " {-cs | -cannaserver} canna-server\n")); (void)fprintf(stderr,gettxt("cannacmd:243", " -G \n")); (void)fflush(stderr); break ; case RM : (void)fprintf(stderr,gettxt("cannacmd:177", "Usage: %s [options] dicname1 [dicname2...]\n"), Progname); (void)fprintf(stderr,gettxt("cannacmd:178", " options:\n")); (void)fprintf(stderr,gettxt("cannacmd:179", " {-cs | -cannaserver} canna-server\n")); (void)fprintf(stderr,gettxt("cannacmd:180", " -fq \n")); (void)fprintf(stderr,gettxt("cannacmd:244", " -G \n")); break ; case CHMOD : (void)fprintf(stderr,gettxt("cannacmd:245", "Usage: %s [options] dicname \n"), Progname); (void)fprintf(stderr,gettxt("cannacmd:246", " options:\n")); (void)fprintf(stderr,gettxt("cannacmd:247", " {-cs | -cannaserver} canna-server\n")); (void)fprintf(stderr,gettxt("cannacmd:248", " {+|-}{r|w|rw|wr}... \n")); (void)fprintf(stderr,gettxt("cannacmd:249", " -G \n")); break ; case SY : (void)fprintf(stderr,gettxt("cannacmd:999", "Usage: %s [options] \n"),Progname); (void)fprintf(stderr,gettxt("cannacmd:999", " options:\n")); (void)fprintf(stderr,gettxt("cannacmd:999", " {-cs | -cannaserver} canna-server\n")); break ; case KILL : (void)fprintf(stderr,gettxt("cannacmd:257","Usage: %s \n"),Progname); break ; } (void)fflush(stderr); exit(ERR_VALUE); } static SIGVAL StopAll(sig) int sig; /* ARGSUSED */ { #ifdef DEBUG Message("StopAll: Caught signal, Quit addwords and do nothing"); #endif (void) signal(SIGINT, SIG_IGN); (void) signal(SIGQUIT, SIG_IGN); (void) signal(SIGTERM, SIG_IGN); /* * Shutting down and close connection with server. */ (void) RkFinalize(); fprintf(stderr,"\n"); Message(gettxt("cannacmd:232", "Process was intrrupted.")); exit(ERR_VALUE); } static SIGVAL RefreshAll(sig) int sig; /* ARGSUSED */ { #ifdef DEBUG Message("RefreshAll: Caught signal, Shutting down addwords."); #endif (void) signal(SIGINT, SIG_IGN); (void) signal(SIGQUIT, SIG_IGN); (void) signal(SIGTERM, SIG_IGN); if (cmd_code == CAT ) { if (STRCMP(r_file,"")) { unlink(r_file); } } /* * Shutting down and close old connection with server. */ (void) RkUnmountDic(cx_num, (char *)r_dic); (void) RkFinalize(); /* * Restart new connection with server and add dic. */ cx_num = RkInitialize(init); if (cx_num == 0) { if (cmd_code == CP || cmd_code == MK) { if (mode & KYOUSEI) { (void) RkCreateDic(cx_num, r_dic, mode); } else { (void) rmDictionary(cx_num, r_dic , mode ); } } (void) RkFinalize(); } Message(gettxt("cannacmd:232", "Process was intrrupted.")); exit(ERR_VALUE); } int rk_init() { if ((cx_num = RkInitialize(init)) < 0 ) { if (init[0] != '/') { (void)fprintf(stderr,gettxt("cannacmd:67", "Cannot connect with cannaserver \"%s\".\n"), init); } else { (void)fprintf(stderr, gettxt("cannacmd:68", "Cannot connect with cannaserver.\n")); } exit(ERR_VALUE); } return(0); } int nwcheck() { int bak ; RkwGetProtocolVersion(&majv, &minv); protover = canna_protocol_version(majv, minv); bak = RkwGetServerVersion(&majv, &minv); if ( bak < 0 ) { /* ¥µ¡¼¥Ð¤Î¾õÂÖ¤¬°Û¾ï */ if (init[0] != '/') { (void)fprintf(stderr,gettxt("cannacmd:80", "Cannaserver \"%s\" is in an abnormal state.\n"), init); } else { (void)fprintf(stderr, gettxt("cannacmd:81", "Cannaserver is in an abnormal state.\n")); } RkFinalize(); exit(ERR_VALUE); } if ( majv < 2 && minv < 2 ) { /* irohaserver && R7.1¤è¤êÁ° */ if (init[0] != '/') { (void)fprintf(stderr, gettxt("cannacmd:82", "Cannaserver \"%s\" does not support dictionary maintenance.\n") , init); } else { (void)fprintf(stderr, gettxt("cannacmd:83", "Cannaserver does not support dictionary maintenance.\n")); } RkFinalize(); exit(ERR_VALUE); } return(0); } static int ParseFile(fp) FILE *fp; { char line[BUFLEN], *whinp ; int ret = -1 ; int werr , i , hflg , hlen , lineno ; hflg = 0 ; werr = 0 ; lineno = 0 ; if (is_display != TRUE) { (void) fprintf(stderr, "\n"); } if ( hinshi != NULL ) { hflg = 1 ; hlen = strlen(hinshi); } while (fgets((char *)line, sizeof(line), fp)) { if (line[strlen(line) - 1] == '\n') line[strlen(line)-1] = '\0'; lineno++ ; if ( hflg ) { /* 92.12.21 */ whinp = index(line,'#') ; if (whinp == NULL) continue ; if (strncmp(whinp,hinshi,hlen) != 0 || (whinp[hlen] != ' ' && whinp[hlen] != '\t' && whinp[hlen] != '*' ) ) continue ; } if (strlen(line) == (BUFLEN-1) ) { werr = 1; } else { if (cmd_code == DEL) { i = RkDeleteLine(cx_num, r_dic, line) ; } else { i = RkDefineLine(cx_num, r_dic, line) ; } if (i == -1) { Message(gettxt("cannacmd:59", "write error \"%s\""), line); } else if (i == -2) { Message(gettxt("cannacmd:60", "Nomination length is too long. \"%s\""),line); } else if (i == -3) { Message(gettxt("cannacmd:61", "Reading or nomination length is too long.\"%s\""), line); } if ((is_display == TRUE) && ((++ret & 0x0f) == 0)) { (void) fputs(".", stderr); } } } Message(""); if (werr == 1) { Message(gettxt("cannacmd:233", "too long line at %d"),lineno); } /* message add 93.03.18 */ RkSync(cx_num, (char *)r_dic); return (0); } void dicname_chk(dic) char *dic ; { if ((unsigned char *)index(dic, '-' )) { Message(gettxt("cannacmd:64", "Cannot use character \"-\" for dictionary name.")); exit(ERR_VALUE); } if ((int)strlen((char *)dic) >= RECSZ) { Message(gettxt("cannacmd:65", "Dictionary name \"%s\" is too long."), dic); exit(ERR_VALUE); } } /* ¥°¥ë¡¼¥×̾ ¸¡º÷ */ char * searchgroup() { char *groupname = NULL ; struct passwd *pass = getpwuid( getuid() ); if ( pass ) { struct group *grp = getgrgid(pass -> pw_gid); if ( grp ) { groupname = grp -> gr_name; } } if (groupname == NULL) { (void)fprintf(stderr,gettxt("cannacmd:250","invalid group name\n")); exit(ERR_VALUE); } return(groupname); } /* * ¥æ¡¼¥¶Ì¾¸¡º÷ µ¢¤êÃÍ=̾Á°¤Ø¤Î¥Ý¥¤¥ó¥¿ */ static char * searchuname() { char *username = NULL, *getenv(), *getlogin() ; struct passwd *pass = getpwuid( getuid() ) ; if ( pass ) username = pass->pw_name ; if ( username == NULL ) { if( (username = getlogin()) == NULL ) { if( (username = getenv( "LOGNAME" )) == NULL ) { username = getenv( "USER" ) ; } } } if ( username == NULL ) { (void)fprintf(stderr,gettxt("cannacmd:251","invalid user name\n")); exit(ERR_VALUE); } return( username ) ; } /* addwords delwords ¤Ç¼­½ñ¤Ë write¸¢¤¬¤¢¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë */ static void write_chk() { int mode ,ret; mode = 0 ; grp: ret = RkChmodDic(cx_num,opt_dic1,mode) ; if (ret < 0) { switch (ret) { case NOENT: /* ¥æ¡¼¥¶¼­½ñ¤Ë¤Ê¤±¤ì¤Ð¥°¥ë¡¼¥×¼­½ñ¤ò»î¤·¤Æ¤ß¤ë*/ if (mode == 0) { mode = RK_GRP_DIC ; goto grp ; } fprintf(stderr,gettxt("cannacmd:169", "Dictionary \"%s\" does not exist.\n"), opt_dic1); break; case BADCONT: fprintf(stderr,gettxt( "cannacmd:176","Illegal context value was used.\n")); break; case ACCES: fprintf(stderr,gettxt( "cannacmd:171", "Cannot access to dictionary.\n")); break; case NOTALC: fprintf(stderr, gettxt("cannacmd:168", "No more memory.\n")); break; case -1: return; /* µì¥µ¡¼¥Ð¤Ï¥Á¥§¥Ã¥¯¤»¤ºOK */ default: fprintf(stderr, gettxt("cannacmd:252", "Invalid return code RkChmoddic code=%d \n"),ret); break; } RkFinalize(); exit(ERR_VALUE); } if (( ret & RK_ENABLE_WRITE) == RK_ENABLE_WRITE ) { return; } fprintf(stderr,gettxt( "cannacmd:171", "Cannot access to dictionary.\n")); RkFinalize(); exit(ERR_VALUE); } /* mkdic mvdic ¤Ç¥ª¡¼¥Ð¥é¥¤¥È¤¹¤ë»þ write¸¢¤¬¤¢¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë */ ovwrite_chk(dicname,mode) char *dicname; int mode; { int ret; ret = RkChmodDic(cx_num,dicname,mode) ; if (ret < 0) { switch (ret) { case NOENT: /* ¼­½ñ¤¬¤Ê¤¤¤Ê¤éOK */ return(0); case BADCONT: fprintf(stderr,gettxt( "cannacmd:176","Illegal context value was used.\n")); break; case ACCES: fprintf(stderr,gettxt( "cannacmd:171", "Cannot access to dictionary.\n")); break; case NOTALC: fprintf(stderr, gettxt("cannacmd:168", "No more memory.\n")); break; case -1: return(0); /* µì¥µ¡¼¥Ð¤Ï¥Á¥§¥Ã¥¯¤»¤ºOK */ default: fprintf(stderr, gettxt("cannacmd:252", "Invalid return code RkChmoddic code=%d \n"),ret); break; } return(ERR_VALUE); } if (( ret & RK_ENABLE_WRITE) == RK_ENABLE_WRITE ) { return(0); } fprintf(stderr,gettxt( "cannacmd:256", "Cannot access to dictionary.\n")); return(ERR_VALUE); } /**************************************************************/ /* addwords */ /**************************************************************/ static int Addwords(fp) FILE *fp; { int ret ; if (RkMountDic(cx_num, (char *)r_dic, 0) < 0 ) { (void) Message(gettxt("cannacmd:63", "Cannot mount dictionary \"%s\"."), r_dic); return (-1); } ret = ParseFile(fp); RkUnmountDic(cx_num, (char *)r_dic); return (ret); } add_main (argc,argv) int argc ; char **argv; { FILE *fp; char *l_file = NULL; mode = Rk_MWD; is_display = FALSE; hinshi = NULL ; scan_opt(argc,argv,&argv); if (opt_i || opt_u || opt_s || opt_fq||opt_std||opt_myg||opt_g) usage(); if (opt_dic2 != NULL) usage(); if (opt_l) l_file = opt_lfile ; r_dic = (unsigned char *)opt_dic1 ; if (isatty(fileno(stdout)) == 0) { is_display = TRUE; } if (!l_file) { fp = stdin; } else { is_display = TRUE ; fp = (FILE *)fopen(l_file, "r"); if (!fp) { Message(gettxt("cannacmd:66", "%s: cannot open \"%s\""), Progname, l_file); exit(ERR_VALUE); } } rk_init() ; write_chk(); if (Addwords(fp) == -1) { if (l_file) (void) fclose(fp); (void) RkFinalize(); exit(ERR_VALUE); } (void) RkFinalize(); Message(gettxt("cannacmd:69", "Addwords has done on \"%s\"."), r_dic); exit (0); } /**************************************************************/ /* catdic */ /**************************************************************/ cat_main(argc,argv) int argc ; char **argv; { FILE *fopen(), *fp = stdout; unsigned char dirname[RECSZ*2]; /* ¥æ¡¼¥¶Ì¾¤Þ¤¿¤Ï"iroha"¤Þ¤¿¤ÏNULL*/ unsigned char filename[RECSZ*2]; /* ¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤ÏNULL */ static int i , errflg ; unsigned char buf[BUFLEN],dicname_bk[RECSZ]; /* 92.12.15 */ unsigned char *dirnamep; int dirname_offset = 0; hinshi = NULL ; if (argc < 2) usage(); (void)strcpy((char *)dirname, ""); (void)strcpy((char *)dicname, ""); (void)strcpy((char *)filename, ""); scan_opt(argc,argv,&argc); if ( opt_s || opt_fq || opt_std ) usage(); if (opt_u) { if (opt_i|opt_g|opt_myg) usage(); (void)strcpy((char *)dirname, ":user/"); dirname_offset = strlen((char *)dirname); (void)strcpy((char *)dirname + dirname_offset, opt_user); } if ( opt_g ) { if (opt_i|opt_u|opt_myg) usage(); (void)strcpy((char *)dirname, ":group/"); (void)strcat((char *)dirname, opt_grp); } if ( opt_myg ) { if (opt_i|opt_u|opt_g) usage(); (void)strcpy((char *)dirname, ":group/"); (void)strcat((char *)dirname, searchgroup()); } if (opt_l) (void)strcpy((char *)filename,opt_lfile); (void)strcpy((char *)dicname,opt_dic1); r_dic = (unsigned char *)opt_dic1 ; /* 93.03.01 */ r_file = (char *)filename; /* ¤Þ¤ºInitialize¤·¤Æ */ rk_init() ; /* server new/old check */ nwcheck() ; if ( opt_i ) { if ( majv == 1 ) { (void)strcpy((char *)dirname,"iroha"); } else { if (protover > canna_protocol_version(3, 1)) { (void)strcpy((char *)dirname,":canna"); } else { (void)strcpy((char *)dirname,"canna"); } } dirname_offset = 0; } if (protover > canna_protocol_version(3, 1)) { /* ¢¨Ãí: ¼Â¤Ï protocol version 3.1 ¤Ï·çÈÖ */ dirname_offset = 0; if ( dirname[0] == '\0' ) { /* ¥ª¥×¥·¥ç¥ó¤Ê¤·¤Ç¤âdir¤ÏÀßÄꤹ¤ë */ (void)strcpy((char *)dirname,":user/"); (void)strcat((char *)dirname,searchuname()); } } else { if (opt_g || opt_myg ) { fprintf(stderr, gettxt("cannacmd:253", "This options or command are not supported by canna-server\n")); exit(ERR_VALUE); } } dirnamep = dirname + dirname_offset; /* 92.12.15 */ if( filename[0] != '\0' ) { /* ¥Õ¥¡¥¤¥ë̾¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ðɸ½à½ÐÎÏ */ for ( i = 1; i < argc ; i++) { strncpy((char *)dicname,(char *)argv[i],RECSZ-1); strcpy((char *)dicname_bk, (char *)dicname); if (RkGetWordTextDic(cx_num,dirnamep,dicname_bk,buf,BUFLEN) >= 0) { if((fp = fopen((char *)filename,"w")) == NULL) { (void)fprintf(stderr,gettxt("cannacmd:77", "Specified file \"%s\" cannot open.\n"),filename); exit(ERR_VALUE); } else { break ; } } } } (void) signal(SIGTERM, RefreshAll); (void) signal(SIGINT, RefreshAll); errflg = 0 ; for ( i = 1 ; i < argc ; i++) { strncpy((char *)dicname,(char *)argv[i],RECSZ-1); /* ¼­½ñ¤Ë½ñ¤¤¤Æ */ if(DownLoadDic(fp, dirnamep) < 0) { errflg = 1 ; } } (void)fclose(fp); RkFinalize(); if (errflg == 1) { exit(ERR_VALUE); } exit(0); } DownLoadDic(fp, dirname) FILE *fp; unsigned char *dirname; { int ret , hlen , hflg , blen ; unsigned char buf[BUFLEN] ; unsigned char dicname_bk[RECSZ]; char *whinp ; hflg = 0 ; strcpy((char *)dicname_bk, (char *)dicname); if ( hinshi != NULL ) { hflg = 1 ; hlen = strlen(hinshi); } do { if ((ret = RkGetWordTextDic(cx_num,dirname,dicname_bk,buf, BUFLEN)) >= 0) { dicname_bk[0] = '\0' ; if (!ret) { break; } if ( hflg ) { whinp = index((char *)buf,'#') ; if (whinp == NULL) continue ; if (strncmp(whinp,hinshi,hlen) != 0 || (whinp[hlen] != ' ' && whinp[hlen] != '\t' && whinp[hlen] != '*' )) continue ; } blen = strlen((char *)buf) ; buf[blen+1] = '\0' ; buf[blen ] = '\n' ; if (!fwrite(buf,1,blen+1,fp)) { (void)fprintf(stderr, gettxt("cannacmd:84", "write error \n")); return -1; } } else { PrintMessage(ret, dicname); return -1; } } while(ret >= 0); return (0); } /**************************************************************/ /* cpdic */ /**************************************************************/ cp_main(argc,argv) int argc ; char **argv; { unsigned char dirname[RECSZ*2]; /* ¥æ¡¼¥¶Ì¾¤Þ¤¿¤Ï"iroha"¤Þ¤¿¤ÏNULL*/ int dirname_offset = 0 , mode_cp , ret ; unsigned char *dirnamep; char ans[20]; mode = Rk_MWD; /* ¼­½ñ¤Î¼ïÎà */ mode_cp = 0 ; if(argc < 3 || argc > 8) usage(); (void)strcpy((char *)dirname, ""); (void)strcpy((char *)dicname1, ""); (void)strcpy((char *)dicname2, ""); scan_opt(argc,argv,&argc); if ( opt_l || opt_r || opt_fq || opt_std ) usage(); if ( opt_dic2 == NULL ) usage(); if ( argc >= 4 ) usage(); /* ¼­½ñ¤¬£³¤Ä°Ê¾å¤¢¤ë */ if ( opt_u ) { if (opt_i) usage(); (void)strcpy((char *)dirname,"user/"); dirname_offset = strlen((char *)dirname); (void)strcat((char *)dirname,opt_user); } if ( opt_s ) mode = Rk_SWD; if ( opt_g ) { if ( opt_i || opt_u ) usage(); (void)strcpy((char *)dirname,"group/"); (void)strcat((char *)dirname,opt_grp); } if ( opt_myg ) { mode_cp |= RK_GRP_DIC ; } (void)strcpy((char *)dicname1,opt_dic1); (void)strcpy((char *)dicname2,opt_dic2); r_dic = (unsigned char *)opt_dic2 ; /* 93.03.01 */ /* ¤Þ¤ºInitialize¤·¤Æ */ rk_init() ; /* server new/old check */ nwcheck() ; if ( opt_i == 1 ) { if ( majv == 1 ) { /* old server */ (void)strcpy((char *)dirname,"iroha"); } else { (void)strcpy((char *)dirname,"canna"); } dirname_offset = 0; } dirnamep = dirname + dirname_offset; if (protover > canna_protocol_version(3, 1)) { if ( dirname[0] == '\0' ) { (void)strcpy((char *)dirname,"user/"); (void)strcat((char *)dirname,searchuname()); } dirname_offset = 0; dirnamep = dirname + dirname_offset; ret = RkCopyDic(cx_num,dirnamep,dicname1,dicname2,mode_cp); if (ret == EXIST ) { /* ¥³¥Ô¡¼Àè¤Ë¼­½ñ¤¬¤¢¤ë */ if (isatty(fileno(stdin)) != 0) { (void)fprintf(stderr,gettxt("cannacmd:205", "Specified dictionary \"%s\" already exists. Do you overwrite it ? (y/n)"), dicname2); ans[0]=getchar(); } else { (void)fprintf(stderr,gettxt("cannacmd:206", "Specified dictionary \"%s\" already exists."),dicname); (void)strcpy(ans,"n"); } if ( ans[0] == 'y' ) { /* ¾å½ñ¤­¤¹¤ë */ ret = RkRemoveDic(cx_num,dicname2,mode_cp); if ( ret == 0) { mode_cp |= KYOUSEI; ret = RkCopyDic(cx_num,dirnamep,dicname1,dicname2,mode_cp); if ( ret == 0) { (void)fprintf(stderr, gettxt("cannacmd:201", "Dictionary \"%s\" is overwritten."), dicname2); } } if (ret <0) { PrintMessage(ret,dicname1); RkFinalize(); exit(1); } } else { /* ¾å½ñ¤­¤·¤Ê¤¤ */ (void)fprintf(stderr, gettxt("cannacmd:207", "Dictionary \"%s\" is not created.\n"), dicname2); RkFinalize(); exit(1); } } else { /* ¥³¥Ô¡¼Àè¤Ë¼­½ñ¤¬¤Ê¤¤ */ if (ret <0) { if (ret == TXTBSY ) { PrintMessage(ret,dicname2); } else { PrintMessage(ret,dicname1); } RkFinalize(); exit(1); } (void)fprintf(stderr, gettxt("cannacmd:199", "New dictionary \"%s\" is created.\n"), dicname2); (void)fprintf(stderr, gettxt("cannacmd:200", "Please change customize file.")); } } else { /* ¸Å¤¤ canna ¤Î½èÍý */ if ( opt_g || opt_myg ) { fprintf(stderr, gettxt("cannacmd:253", "This options or command are not supported by canna-server\n")); exit(ERR_VALUE); } /* ¼­½ñºîÀ® */ (void) signal(SIGINT, StopAll); (void) signal(SIGQUIT, StopAll); (void) signal(SIGTERM, StopAll); if (makeDictionary(cx_num, dicname2, mode) < 0) { RkFinalize(); exit(ERR_VALUE); } (void) signal(SIGINT, RefreshAll); (void) signal(SIGQUIT, RefreshAll); (void) signal(SIGTERM, RefreshAll); if(CopyDic(cx_num, dirnamep, dicname1, dicname2, mode)) { RkFinalize(); exit(ERR_VALUE); } } /* finalize¤¹¤ë */ RkFinalize(); (void)fprintf(stderr, gettxt("cannacmd:101", "\n\"%s\" was copied to \"%s\".\n"), dicname1, dicname2); exit(0); } /**************************************************************/ /* delwords */ /**************************************************************/ del_main (argc,argv) int argc ; char **argv; { FILE *fp; char *l_file = NULL; mode = Rk_MWD; is_display = FALSE; hinshi = NULL ; scan_opt(argc,argv,&argc); if ( opt_i || opt_u || opt_s ||opt_fq||opt_std||opt_myg||opt_g) usage(); if ( opt_dic2 != NULL ) usage(); if ( opt_l ) l_file = opt_lfile ; r_dic = (unsigned char *)opt_dic1 ; if (!l_file) { fp = stdin; if (isatty(fileno(stdin)) == 0) { is_display = TRUE; } } else { is_display = TRUE; fp = (FILE *)fopen(l_file, "r"); if (!fp) { Message(gettxt("cannacmd:115", "%s: cannot open \"%s\""), Progname, l_file); exit(ERR_VALUE); } } /* ¤Þ¤ºInitialize¤·¤Æ */ rk_init() ; write_chk(); if (Addwords(fp) == -1) { if (!l_file) (void) fclose(fp); (void) RkFinalize(); exit(ERR_VALUE); } (void) RkFinalize(); Message(gettxt("cannacmd:118", "Delwords has done on \"%s\"."), r_dic); exit (0); } /**************************************************************/ /* lsdic */ /**************************************************************/ /* ¼­½ñ¥ê¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡£ */ ls_main(argc,argv) int argc ; char **argv; { unsigned char *p; int i, arg, j; int bufcnt , ret; char user[RECSZ*2] ; unsigned char buf[BUFLEN]; int user_offset = 0; static char *accsbuf[] ={"-r-","-w-","-rw-","--"}; strcpy(msg_abnls,gettxt("cannacmd:119", "Cannaserver \"%s\" is in an abnormal state.\n")); strcpy(msg_abnl, gettxt("cannacmd:120", "Cannaserver is in an abnormal state.\n")); /* * ¥æ¡¼¥¶Ì¾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ï * ¼«Ê¬¤Î̾Á°¤òõ¤·¤Æ¤½¤Î̾Á°¤ÇRK¤ò¸Æ¤Ó¤Þ¤¹¡£ */ user[0] = '\0'; mode = 0 ; scan_opt(argc,argv,&argc); if (opt_u) { strcpy(user, ":user/"); user_offset = strlen(user); strcpy(user + user_offset, opt_user); } if ( opt_r || opt_s || opt_fq || opt_std) usage(); if (opt_dic1 != NULL) usage(); /* °ú¿ô¤Ç¥æ¡¼¥¶¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¼«Ê¬¤Î¼­½ñ¤ò¥×¥ê¥ó¥È¥¢¥¦¥È¤·¤Þ¤¹ */ if ((*user == '\0') && (opt_i == 0) && (opt_g == 0) && (opt_myg == 0)) { if (opt_u) { /* ¥æ¡¼¥¶Ì¾¤ËNULL¤¬ÅϤäƤ­¤¿¤é¥¨¥é¡¼ */ usage(); } (void)strcpy(user, ":user/"); user_offset = strlen(user); (void)strcpy(user + user_offset, searchuname()); } if (opt_l) { if (opt_i || opt_u || opt_g || opt_a ) usage(); } if (opt_a) { if (opt_i || opt_g || opt_myg || opt_u || opt_l ) usage(); opt_i = 1 ; opt_myg = 1 ; } /* ¼­½ñ¥ê¥¹¥ÈºîÀ® */ /* ¤Þ¤ºInitialize¤·¤Æ */ rk_init() ; /* server new/old check */ nwcheck() ; if ( opt_i == 1 ) { if ( majv == 1 ) { /* old server */ if(*user == '\0') { (void)strcpy(user, "iroha"); user_offset = 0; } else { (void)strcat(user, ":iroha"); } } else { if(*user == '\0') { user_offset = 0; if (protover > canna_protocol_version(3, 1)) { (void)strcpy(user, ":canna"); } else { (void)strcpy(user, "canna"); } } else { (void)strcat(user, ":canna"); } } } if (protover > canna_protocol_version(3, 1)) { /* ¢¨Ãí: ¼Â¤Ï protocol version 3.1 ¤Ï·çÈÖ */ user_offset = 0; } else { if ( opt_l || opt_g || opt_myg ) { fprintf(stderr, gettxt("cannacmd:253", "This options or command are not supported by canna-server\n")); RkFinalize(); exit(ERR_VALUE); } } if ( opt_g ) { if ( *user == '\0' ) { (void)strcpy(user,":group/"); (void)strcat(user,opt_grp); } else { (void)strcat(user,":group/"); (void)strcat(user,opt_grp); } } if ( opt_myg ) { mode = RK_GRP_DIC ; if ( *user == '\0' ) { (void)strcpy(user,":group/"); (void)strcat(user,searchgroup()); } else { (void)strcat(user,":group/"); (void)strcat(user,searchgroup()); } } (void) signal(SIGINT, StopAll); (void) signal(SIGQUIT, StopAll); (void) signal(SIGTERM, StopAll); bufcnt = RkListDic(cx_num, user + user_offset, buf, BUFLEN ); /* * ¼­½ñ°ìÍ÷¤ò¥×¥ê¥ó¥È¥¢¥¦¥È¤·¤Æ½ª¤ï¤ê¤Ç¤¹¡£ */ if (bufcnt >= 0) { for (p = buf, i = 0 ; i < bufcnt && *p ; i++) { if ( opt_l ) { ret = RkChmodDic(cx_num,p,mode); if (ret < 0 ) { (void)fprintf(stderr,gettxt("cannacmd:252", "invalid return code rkchmoddic code=%d \n"),ret); RkFinalize(); exit(1); } switch (ret) { case RK_ENABLE_READ | RK_DISABLE_WRITE : j = 0; break ; case RK_ENABLE_WRITE | RK_DISABLE_READ : j = 1 ; break ; case RK_ENABLE_WRITE | RK_ENABLE_READ : j = 2 ; break ; default : j = 3 ; break ; } (void)fprintf(stdout, "%s %s\n", p,accsbuf[j]); } else { (void)fprintf(stdout, "%s\n", p); } p += strlen((char *)p) + 1; } if ( i != bufcnt ) { (void)fprintf(stderr,gettxt("cannacmd:255", "Too many dictionary \n")); RkFinalize(); exit(1); } RkFinalize(); exit(0); } RkFinalize(); switch ( bufcnt ) { case NOTALC : (void)fprintf(stderr, gettxt("cannacmd:130", "Cannot get memory.\n")); break; case BADCONT : (void)fprintf(stderr,gettxt("cannacmd:131", "Illegal context value was used.\n")); break; case ACCES : (void)fprintf(stderr,gettxt("cannacmd:171", "Cannot access to dictionary.\n")); break; default: if (init[0] == '/') { (void)fprintf(stderr,msg_abnl); } else { (void)fprintf(stderr,msg_abnls,init); } break; } exit(ERR_VALUE); } /**************************************************************/ /* mkdic */ /**************************************************************/ static int Upload(fp, flag) FILE *fp; int flag; { int ret=0 ; (void) signal(SIGINT, StopAll); (void) signal(SIGQUIT, StopAll); (void) signal(SIGTERM, StopAll); if (makeDictionary(cx_num, (unsigned char *)r_dic, mode) != 0) { return (-1); } (void) signal(SIGINT, RefreshAll); (void) signal(SIGQUIT, RefreshAll); (void) signal(SIGTERM, RefreshAll); if (flag) { ret = Addwords(fp); } return (ret); } mk_main (argc,argv) int argc ; char **argv; { FILE *fp; char *l_file = NULL; char upld = '\0'; int i , errflg = 0; strcpy(msg_sfq,gettxt("cannacmd:132", "Option -s and -fq are specified at once. \n")) ; strcpy(msg_l, gettxt("cannacmd:133", "Option - or -l cannot be specified.\n")) ; mode = Rk_MWD; mode2 = PL_ALLOW ; is_display = FALSE; hinshi = NULL ; scan_opt(argc,argv,&argc); if ( opt_i || opt_u || opt_g ) usage(); if ( opt_l && opt_std ) usage(); if ( (opt_l || opt_std) && opt_dic2 != NULL ) usage(); if ( opt_fq ) { if ( opt_s ) { (void) fprintf(stderr,msg_sfq); exit(ERR_VALUE) ; } if ( opt_l || opt_std ) { (void) fprintf(stderr,msg_l); exit(ERR_VALUE) ; } mode = mode | PL_DIC ; mode2 = PL_ALLOW ; } if ( opt_s ) mode = Rk_SWD; if ( opt_l || opt_std ) { upld++ ; l_file = opt_lfile ; } if ( opt_myg ) { mode = mode | RK_GRP_DIC ; } if (upld) { if (isatty(fileno(stdout)) == 0) { is_display = TRUE; } if (!l_file) { fp = stdin; } else { is_display = TRUE ; fp = (FILE *)fopen(l_file, "r"); if (!fp) { Message(gettxt("cannacmd:149", "%s: cannot open \"%s\""), Progname, l_file); exit(ERR_VALUE); } } } /* ¤Þ¤ºInitialize¤·¤Æ */ rk_init() ; for ( i = 1 ; i < argc ; i++) { r_dic = (unsigned char *)argv[i]; opt_dic1 = argv[i] ; if (ovwrite_chk(opt_dic1,mode) == 0 ) { if (Upload(fp, (int)upld) == -1) { errflg = 1 ; } else { if (!upld) { Message(""); } } } else { errflg = 1 ; } } (void) RkFinalize(); if (upld && l_file) (void)fclose(fp); if (errflg == 1) { exit(ERR_VALUE); } exit (0); } /**************************************************************/ /* mvdic */ /**************************************************************/ mv_main(argc,argv) int argc ; char **argv; { int ret ,mode; char *dicname1; char *dicname2; char dic1[RECSZ]; char dic2[RECSZ]; ret = 0; (void)strcpy(msg_abnl,gettxt("cannacmd:153", "Cannaserver is in an abnormal state.\n")); (void)strcpy(msg_abnls,gettxt("cannacmd:154", "Cannaserver \"%s\" is in an abnormal state.\n")); mode = NOT_OVER_WRITE; scan_opt(argc,argv,&argc); if (opt_l || opt_r || opt_i ||opt_u||opt_s||opt_fq||opt_std||opt_g) usage(); if (opt_dic2 == NULL) usage(); if ( opt_myg ) mode = mode | RK_GRP_DIC ; dicname1 = opt_dic1 ; dicname2 = opt_dic2 ; strncpy(dic1, dicname1, RECSZ - 1); strncpy(dic2, dicname2, RECSZ - 1); /* ¼­½ñ̾¤¬Æ±¤¸¤Ê¤é¥¨¥é¡¼ */ if(!strcmp(dic1,dic2)) { fprintf(stderr, gettxt("cannacmd:161", "%s: %s, Dictionary name is same.\n"),Progname, dic1); exit(ERR_VALUE); } (void) signal(SIGINT, StopAll); (void) signal(SIGQUIT, StopAll); (void) signal(SIGTERM, StopAll); /* ¤Þ¤ºInitialize¤·¤Æ */ rk_init() ; if (ovwrite_chk(dic2,mode) == 0 ){ ret = renameDictionary(cx_num, dic1, dic2, mode); } else { ret = ERR_VALUE ; } RkFinalize(); exit(ret); } renameDictionary(cn, dicname1, dicname2, force) int cn; char *dicname1; char *dicname2; int force; { char ans[20]; int ret = 0; nwcheck() ; switch ( RkRenameDic( cn, dicname1, dicname2, force) ) { case 0 : fprintf(stderr,gettxt("cannacmd:166", "Change dictionary \"%s\" to \"%s\".\n"),dicname1, dicname2); ret = 0; break; case 1 : fprintf(stderr,gettxt("cannacmd:167", "Overwrite dictionary \"%s\" to \"%s\".\n"),dicname1, dicname2); ret = 0; break; case NOTALC : (void)fprintf(stderr, gettxt("cannacmd:168", "No more memory.\n")); break; case NOENT : fprintf(stderr,gettxt("cannacmd:169", "Dictionary \"%s\" does not exist.\n"), dicname1); ret = 1; break; case BADF : fprintf(stderr,gettxt("cannacmd:170", "\"%s\" or \"%s\" is binary dictionary.\n"), dicname1,dicname2); ret = 1; break; case ACCES : fprintf(stderr,gettxt("cannacmd:171", "Cannot access to dictionary.\n")); ret = 1; break; case BADDR : (void)fprintf(stderr,gettxt("cannacmd:172", "dics.dir is abnormal. Cannot create dictionary file.\n")); ret = -1; break; case MOUNT : case EXIST : fprintf(stderr,gettxt("cannacmd:173", "Specified dictionary \"%s\" already exists. Do you overwrite it ? (y/n)"), dicname2); ans[0]=getchar(); /* 92.10.28 */ if(ans[0] == 'y') { force = force | OVER_WRITE ; ret = renameDictionary(cn, dicname1, dicname2, force); } else { fprintf(stderr, gettxt("cannacmd:174", "Specified dictionary \"%s\" does not overwite.\n"),dicname2); ret = 1; } break; case TXTBSY : fprintf(stderr,gettxt("cannacmd:175", "Dictionary \"%s\" or \"%s\" is in use. Cannot overwrite it.\n"), dicname1, dicname2); ret = 1; break; case BADCONT : fprintf(stderr,gettxt("cannacmd:176","Illegal context value was used.\n")); ret = 1; break; default: if(init[0] == '/') { fprintf(stderr,msg_abnl ); } else { fprintf(stderr,msg_abnls,init); } ret = 1; break; } return ret; } /**************************************************************/ /* rmdic */ /**************************************************************/ rm_main(argc,argv) int argc ; char **argv; { int i, j , ret , undel ; int isflag = 0; int rmdone = 0; /* rm ¤¬¤Þ¤À¤Ê¤µ¤ì¤Æ¤¤¤Ê¤¤ */ mode = 0 ; if(argc < 2) usage(); scan_opt(argc,argv,&argc); if ( opt_l || opt_r || opt_i ||opt_u||opt_s||opt_std||opt_g) usage(); if ( opt_fq ) mode = PL_DIC ; if ( opt_myg ) mode = mode | RK_GRP_DIC ; /* ¤Þ¤ºInitialize¤·¤Æ */ rk_init() ; (void) signal(SIGINT, StopAll); (void) signal(SIGQUIT, StopAll); (void) signal(SIGTERM, StopAll); /* ¼­½ñºï½ü */ undel = 0 ; for(j = 1; j < argc; j++) { strncpy((char *)rm_dic, (char *)argv[j], RECSZ - 1); rm_dic[RECSZ - 1] = (unsigned char)0; ret = rmDictionary(cx_num, rm_dic, mode) ; if ( ret == -1 ) { RkFinalize(); exit(ERR_VALUE); } if ( ret == -2 ) { /* ¼­½ñ¤ò¾Ã¤»¤Ê¤«¤Ã¤¿ */ undel = 1 ; } rmdone = 1; /* ¼ÂºÝ¤Ë rm ¤¬¹Ô¤ï¤ì¤¿ */ } RkFinalize(); if (rmdone == 0) { /* Á´Á³ rm ¤¬¤Ê¤µ¤ì¤Ê¤«¤Ã¤¿¤Ê¤é¤Ð */ (void)fprintf(stderr, gettxt("cannacmd:185", "Dictionary is not specified.\n")); } if (undel == 0 ) { exit(0) ; } else { exit(2) ; } } /************************************************************************/ /* chmoddic */ /************************************************************************/ ch_main(argc,argv) int argc ; char **argv; { int ret ,mode ; scan_opt(argc,argv,&argc); if (opt_l||opt_r||opt_s||opt_fq||opt_std||opt_g||opt_u||opt_a) usage(); mode = opt_rw ; if ( mode == 0 ) usage(); if ( opt_dic2 != NULL ) usage(); if ( opt_myg ) mode = mode | RK_GRP_DIC; rk_init(); (void) signal(SIGINT, StopAll); (void) signal(SIGQUIT, StopAll); (void) signal(SIGTERM, StopAll); ret = RkChmodDic(cx_num,opt_dic1,mode); if (ret < 0) { switch (ret) { case NOENT: fprintf(stderr,gettxt("cannacmd:169", "Dictionary \"%s\" does not exist.\n"), opt_dic1); break; case BADCONT: fprintf(stderr,gettxt( "cannacmd:176","Illegal context value was used.\n")); break; case ACCES: fprintf(stderr,gettxt( "cannacmd:171", "Cannot access to dictionary.\n")); break; case NOTALC: fprintf(stderr, gettxt("cannacmd:168", "No more memory.\n")); break; case -1: fprintf(stderr, gettxt("cannacmd:253", "This options or command are not supported by canna-server\n")); break; default: fprintf(stderr, gettxt("cannacmd:252", "Invalid return code RkChmoddic code=%d \n"),ret); break; } RkFinalize(); exit(ERR_VALUE); } RkFinalize(); exit(0); } /************************************************************************/ /* syncdic */ /************************************************************************/ sy_main(argc,argv) int argc ; char **argv; { int ret ,mode ; scan_opt(argc,argv,&argc); if (opt_l||opt_r||opt_s||opt_fq||opt_std||opt_g||opt_u||opt_a||opt_myg) usage(); rk_init(); nwcheck(); if (protover < canna_protocol_version(3,1)) { fprintf(stderr, gettxt("cannacmd:253", "This options or command are not supported by canna-server\n")); exit(ERR_VALUE); } (void) signal(SIGINT, StopAll); (void) signal(SIGQUIT, StopAll); (void) signal(SIGTERM, StopAll); ret = RkSync(cx_num,NULL); if (ret < 0) { fprintf(stderr, "invalid return code rksync code=%d \n",ret); RkFinalize(); exit(ERR_VALUE); } RkFinalize(); exit(0); } /************************************************************************/ /* cannakill 94.08.11 */ /************************************************************************/ kill_main(argc,argv) int argc ; char **argv; { int ret ; char *p ; #ifndef __EMX__ if ( argc > 2 ) { usage(); } if ( argc == 2 ) { p = argv[1]; for ( ; *p != '\0' ; p++ ) { if ( strchr("0123456789",*p) == NULL ) { usage(); } } #ifdef USE_UNIX_SOCKET (void)strcpy(init,"unix:"); #else (void)strcpy(init,"localhost:"); #endif (void)strcat(init,argv[1]); } else { #ifdef USE_UNIX_SOCKET (void)strcpy(init,"unix"); #else (void)strcpy(init,"localhost"); #endif } #else if ( argc > 1 ) { usage(); } else { memset ((void *)init, 0, RECSZ); gethostname(init, RECSZ); } #endif rk_init(); (void) signal(SIGINT, StopAll); (void) signal(SIGQUIT, StopAll); (void) signal(SIGTERM, StopAll); ret = RkKillServer(); if (ret < 0) { switch (ret) { case OLDSRV: fprintf(stderr,gettxt("cannacmd:258", "Cannot kill server,because server version is old.\n")); break; case NOTUXSRV: fprintf(stderr,gettxt("cannacmd:259", "Cannot kill server,because server is run by another machine.\n")); break; case NOTOWNSRV: fprintf(stderr,gettxt("cannacmd:260", "Cannot kill server,because server is not run by you.\n")); break; default: fprintf(stderr, gettxt("cannacmd:261", "Invalid return code RkKillserver code=%d \n"),ret); break; } RkFinalize(); exit(ERR_VALUE); } exit(0); } can_ver() { rk_init(); nwcheck(); /* printf(gettxt("cannacmd:254","canna version is %d.%d \n", protover/1024 , protover % 1024 ));*/ printf("canna version is %d.%d \n", protover/1024 , protover % 1024 ); RkFinalize(); exit(0) ; } /************************************************************************/ /* main */ /************************************************************************/ static struct command { char *name ; int (*func) pro((int, char **)); int cmd_code ; } commands[] = { {"addwords",add_main,1}, {"catdic" ,cat_main,2}, {"cpdic" ,cp_main,3 }, {"delwords",del_main,4}, {"lsdic" ,ls_main,5 }, {"mkdic" ,mk_main,6 }, {"mvdic" ,mv_main,7 }, {"rmdic" ,rm_main,8 }, {"downloaddic" ,cat_main,2 }, {"cpuserdic" ,cp_main,3 }, {"lsuserdic" ,ls_main,5 }, {"mkuserdic" ,mk_main,6 }, {"uploaddic" ,mk_main,6 }, {"mvuserdic" ,mv_main,7 }, {"rmuserdic" ,rm_main,8 }, {"chmoddic" ,ch_main,9 }, {"syncdic" ,sy_main,10}, {"cannakill" ,kill_main,11} }; #define NCOMMANDS (sizeof(commands) / sizeof(struct command)) main(argc,argv) int argc ; char **argv ; { int i ; char *p ; #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif #ifdef __EMX__ Progname = _getname (argv[0]); _remext (Progname); #else p = rindex(argv[0],'/'); if ( p == NULL ) { Progname = argv[0]; } else { Progname = p + 1 ; } #endif (void)strcpy(init, "/usr/lib/canna/dic"); /* ¥µ¡¼¥ÐÊý¼°¤Ç¤Ï̵°ÕÌ£ */ for ( i = 0; i < NCOMMANDS ; i++) { if (strcmp(Progname,commands[i].name) == 0) { cmd_code = commands[i].cmd_code ; (*commands[i].func)(argc,argv); break ; } } return (0); } /* ¥ª¥×¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯ ¼­½ñ̾°Ê³°¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Á¥§¥Ã¥¯¸å argv ¤«¤é¼è¤ê½ü¤¯ */ scan_opt(argc,argv,argcp) int argc ,*argcp; char **argv ; { /* ¤³¤Î´Ø¿ô¤Ç¥Á¥§¥Ã¥¯¤¹¤ë¤â¤Î ¥ª¥×¥·¥ç¥ó¤Î½ÅÊ£»ØÄ꤬¤Ê¤¤¤« °ú¿ô¤ò»ØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤¬¤¢¤ë¤« ¼­½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«(lsdic¤ò½ü¤¯) £³¤Ä°Ê¾å¼­½ñ¤¬¤Ê¤¤¤«(rmdic¤ò½ü¤¯) */ static char *options[]={"-cs","-cannaserver","-l","-hi","-h","-i","-u","-s", "-fq","-","-G","-g","+w","-w","+r","-r","+wr","+rw","-wr","-rw","-v","-a"}; #define NOPTIONS sizeof(options) / sizeof(char *) #define OPT_CS 0 #define OPT_CANNASAVER 1 #define OPT_L 2 #define OPT_R 3 #define OPT_H 4 #define OPT_I 5 #define OPT_U 6 #define OPT_S 7 #define OPT_FQ 8 #define OPT_STD 9 #define OPT_MYG 10 #define OPT_G 11 #define OPT_WADD 12 #define OPT_WDEL 13 #define OPT_RADD 14 #define OPT_RDEL 15 #define OPT_WRADD 16 #define OPT_RWADD 17 #define OPT_WRDEL 18 #define OPT_RWDEL 19 #define OPT_V 20 #define OPT_A 21 int opt_code , i ; char **p ; opt_cs = opt_l = opt_r = opt_h = opt_i = opt_u = opt_s = opt_fq = 0 ; opt_std = opt_myg = opt_g = opt_v = opt_a = 0 ; opt_rw = 0 ; opt_lfile = opt_dic1 = opt_dic2 = opt_user = opt_grp = NULL ; p = argv + 1 ; /* ¥³¥Þ¥ó¥ÉÉôʬ¤ò½ü¤¯ */ while( *p != NULL ) { /* printf(" argc= %d opt= %s\n",argc,*p);*/ for (opt_code = 0 ; opt_code < NOPTIONS ; opt_code++ ){ if (strcmp( *p ,options[opt_code]) == 0 ) break ; } switch(opt_code) { case OPT_CS : case OPT_CANNASAVER : if (opt_cs) usage(); /* ½ÅÊ£¥Á¥§¥Ã¥¯ */ if ( *(p + 1) == NULL ) usage(); opt_cs = 1 ; (void) strcpy(init,*(p+1)); shrink_opt(argc,p,2); argc -= 2 ; break ; case OPT_FQ : if (opt_fq) usage(); opt_fq = 1 ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_S : if (opt_s) usage(); opt_s = 1 ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_L : if (opt_l) usage(); opt_l = 1 ; if (cmd_code == LS ) { shrink_opt(argc,p,1); argc-- ; } else { if ( *(p + 1) == NULL ) usage(); opt_lfile = *(p+1); shrink_opt(argc,p,2); argc -= 2 ; } break ; case OPT_H : usage(); case OPT_R : if (opt_r) usage(); if ( *(p + 1) == NULL ) usage(); hinshi = *(p+1); shrink_opt(argc,p,2); argc -= 2 ; break ; case OPT_I : if (opt_i) usage(); opt_i = 1 ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_U : if (opt_u) usage(); if ( *(p + 1) == NULL ) usage(); opt_u = 1 ; opt_user = *(p+1); shrink_opt(argc,p,2); argc -= 2 ; break ; case OPT_STD : if (opt_std) usage(); opt_std = 1 ; opt_lfile = NULL; shrink_opt(argc,p,1); argc-- ; break ; case OPT_MYG : /* -G */ if ( opt_myg ) usage(); opt_myg = 1 ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_G : /* -g */ if ( opt_g ) usage(); if ( *(p+1) == NULL ) usage(); opt_g = 1 ; opt_grp = *(p+1); shrink_opt(argc,p,2); argc-=2 ; break ; case OPT_WADD : /* +w */ if ((opt_rw & RK_DISABLE_WRITE) == RK_DISABLE_WRITE ) usage(); opt_rw = opt_rw | RK_ENABLE_WRITE ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_WDEL : /* -w */ if ((opt_rw & RK_ENABLE_WRITE) == RK_ENABLE_WRITE ) usage(); opt_rw = opt_rw | RK_DISABLE_WRITE ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_RADD : /* +r */ if ((opt_rw & RK_DISABLE_READ) == RK_DISABLE_READ ) usage(); opt_rw = opt_rw | RK_ENABLE_READ ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_RDEL : /* -r */ if ((opt_rw & RK_ENABLE_READ) == RK_ENABLE_READ ) usage(); opt_rw = opt_rw | RK_DISABLE_READ ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_WRADD : /* +wr */ case OPT_RWADD : /* +rw */ if ((opt_rw & RK_DISABLE_READ) == RK_DISABLE_READ ) usage(); if ((opt_rw & RK_DISABLE_WRITE) == RK_DISABLE_WRITE ) usage(); opt_rw = opt_rw | RK_ENABLE_WRITE | RK_ENABLE_READ ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_WRDEL : /* -wr */ case OPT_RWDEL : /* -rw */ if ((opt_rw & RK_ENABLE_READ) == RK_ENABLE_READ ) usage(); if ((opt_rw & RK_ENABLE_WRITE) == RK_ENABLE_WRITE ) usage(); opt_rw = opt_rw | RK_DISABLE_WRITE | RK_DISABLE_READ ; shrink_opt(argc,p,1); argc-- ; break ; case OPT_V : can_ver() ; case OPT_A : opt_a = 1; shrink_opt(argc,p,1); argc-- ; break ; default : dicname_chk(*p); if ( opt_dic1 == NULL ) { opt_dic1 = *p ; } else { opt_dic2 = *p ; } p++ ; } /* case end */ } /* for end */ if (cmd_code == LS || cmd_code == SY){ if ( opt_dic1 != NULL ) usage(); } else { if ( opt_dic1 == NULL) usage(); } if (cmd_code != CHMOD && opt_rw != 0) usage(); *argcp = argc ; return(0); } /* argv ¤Î¥ª¥×¥·¥ç¥ó¤ò n ¸ÄʬÁ°¤ËµÍ¤á¤ë */ shrink_opt(argc,argv,n) int argc, n ; char *argv[] ; { int i ; for ( i = n ; i < argc ; i++ ) { argv[i-n] = argv[i]; } } Canna37p3/cmd/catdic/cannacmd.jpn0100644000076500001200000002467407554213565016145 0ustar shinraadmin¹ÔÈÖ¹æ %d %s: (·Ù¹ð) %s\n ¹ÔÈÖ¹æ %d %s: (Ã×̿Ū) %s\n ¥­¡¼ <%s> ¤¬ÆóÅٰʾ夢¤ê¤Þ¤¹¡£ %d °Ê¾å¤Î¥í¡¼¥Þ»úµ¬Â§¤¬¤¢¤ê¤Þ¤¹¡£ ¹½Ê¸¥¨¥é¡¼ ¥í¡¼¥Þ»ú¼­½ñ¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£ Â礭¤µ %d ¥­¡¼ %d\n ¥á¥â¥ê¤¬¤¿¤ê¤Þ¤»¤ó¡£\n %s: %s ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó\n ·Á¼°: ctow [-f ÉÊ»ìÂбþ] [canna¼­½ñ] [wnn¼­½ñ]\n %s: %s ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó\n %s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó\n ÆÉ¤ß:%s ¸õÊä:%s ÉÊ»ì:%s ¤Ï\n ̤ÄêµÁ¤ÎÉÊ»ì¤Ç¤¹¤Î¤ÇÊÑ´¹¤·¤Þ¤»¤ó¡£\n ·Á¼°: dpromdic <¥Õ¥¡¥¤¥ë̾>\n %s ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó\n <%s> ¤Ï¥í¡¼¥Þ»ú¤«¤Ê¥Æ¡¼¥Ö¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n ¼­½ñ·Á¼°¥¨¥é¡¼¡£\n ·Á¼°: forcpp -7 < [¥Õ¥¡¥¤¥ë̾],\n forcpp -8 < [¥Õ¥¡¥¤¥ë̾]\n ·Á¼°: forcpp -7 < [¥Õ¥¡¥¤¥ë̾],\n forcpp -8 < [¥Õ¥¡¥¤¥ë̾]\n ·Á¼°: forsort -7 < [¥Õ¥¡¥¤¥ë̾],\n forsort -8 < [¥Õ¥¡¥¤¥ë̾]\n ·Á¼°: forsort -7 < [¥Õ¥¡¥¤¥ë̾],\n forsort -8 < [¥Õ¥¡¥¤¥ë̾]\n ¹ÔÈÖ¹æ %d %s: (·Ù¹ð) %s\n ¹ÔÈÖ¹æ %d %s: (Ã×̿Ū) %s\n ¥­¡¼ <%s> ¤¬ÆóÅٰʾ夢¤ê¤Þ¤¹¡£ %d °Ê¾å¤Î¥í¡¼¥Þ»úµ¬Â§¤¬¤¢¤ê¤Þ¤¹¡£ %d °Ê¾å¤Î¥í¡¼¥Þ»úµ¬Â§¤¬¤¢¤ê¤Þ¤¹¡£ ¹½Ê¸¥¨¥é¡¼ ¥í¡¼¥Þ»ú¼­½ñ¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£ Â礭¤µ %d ¥­¡¼ %d\n ·Ù¹ð: ¿··Á¼°¼­½ñ¤ËÂФ·¤Æ -m ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£\n %s: [%d %d] ¤ÏºÇÂç¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£\n %s: [%d %d] ¤ÏºÇÂç¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£\n %s: [%d %d] ¤ÏºÇÂç¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£\n °ì¹Ô¤Î¥Ç¡¼¥¿¤¬Ä¹¤¹¤®¤Þ¤¹\n %s: [%d %d] ¤ÏºÇÂç¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£\n °ì¹Ô¤Î¥Ç¡¼¥¿¤¬Ä¹¤¹¤®¤Þ¤¹\n ·Á¼°: mkromdic [¥ª¥×¥·¥ç¥ó] <¥Õ¥¡¥¤¥ë̾> mkromdic: $1 ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó mkromdic: ¥ª¥×¥·¥ç¥ó -m -n ¤òƱ»þ¤Ë»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ ¥µ¥¤¥º %d ¤Ç malloc ¤Ç¤­¤Þ¤»¤ó¡£\n ¥µ¥¤¥º %d ¤Ç malloc ¤Ç¤­¤Þ¤»¤ó¡£\n ¥µ¥¤¥º %d ¤Ç malloc ¤Ç¤­¤Þ¤»¤ó¡£\n ¼­½ñ·Á¼°¥¨¥é¡¼\n ·Á¼°: %s [¥Õ¥¡¥¤¥ë̾]\n ¥Õ¥¡¥¤¥ë %s ¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£\n %s: %d¹ÔÌܤΰì¹Ô¤Î¥Ç¡¼¥¿¤¬Ä¹¤¹¤®¤Þ¤¹¡£\n ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó¡£\n %s: %s ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó\n ·Á¼°: wtoc [-f ÉÊ»ìÂбþ] [wnn¼­½ñ] [canna¼­½ñ]\n %s: %s ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó\n %s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó\n ·Á¼°: %s [¥ª¥×¥·¥ç¥ó] ¥ê¥â¡¼¥È¼­½ñ\n ¥ª¥×¥·¥ç¥ó:\n \t{-cs | -cannaserver} canna¥µ¡¼¥Ð̾\n \t-l ¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë\n \naddwords¤òÃæÃǤ·¤Þ¤¹¡£ addwords¤òÃæÃǤ·¤Þ¤¹¡£ \"%s\" ¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼ £±¤Ä¤ÎÆÉ¤ß¤ËÂФ¹¤ë¸õÊ䍬À©¸Â¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£ \"%s\" ÆÉ¤ß¡¢¸õÊ䍬À©¸Â¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£ \"%s\" °ì¹Ô¤Î¥Ç¡¼¥¿¤¬Ä¹¤¹¤®¤Þ¤¹ ¼­½ñ \"%s\" ¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¼­½ñ̾¤Ë\"-\"¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ ¼­½ñ̾\"%s\"¤¬Ä¹¤¹¤®¤Þ¤¹¡£ %s: \"%s\" ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¼­½ñ\"%s\"¤Çaddwords¤·¤Þ¤·¤¿¡£ ¥À¥¦¥ó¥í¡¼¥É¤òÃæÃǤ·¤Þ¤¹¡£ ·Á¼°: %s [¥ª¥×¥·¥ç¥ó] ¥ê¥â¡¼¥È¼­½ñ\n ¥ª¥×¥·¥ç¥ó:\n {-cs | -cannaserver} canna¥µ¡¼¥Ð̾\n -i | -u ¥æ¡¼¥¶Ì¾\n -l ¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë\n ¼­½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó\n »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë\"%s\"¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n ½ñ¤­¹þ¤ß¥¨¥é¡¼\n ·Á¼°: %s [¥ª¥×¥·¥ç¥ó] ¸µ¼­½ñ ¿·¼­½ñ\n ¥ª¥×¥·¥ç¥ó:\n {-cs | -cannaserver} canna¥µ¡¼¥Ð̾\n -s\n -i | -u ¥æ¡¼¥¶Ì¾\n ¥³¥Ô¡¼¤òÃæÃǤ·¤Þ¤¹¡£ ¥³¥Ô¡¼¤òÃæÃǤ·¤Þ¤¹¡£ \"%s\": ¼­½ñ̾¤Ë¤Ï\"-\"¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£\n ¼­½ñ̾\"%s\"¤¬Ä¹¤¹¤®¤Þ¤¹¡£\n ¼­½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n \n¼­½ñ\"%s\"¤ò¼­½ñ\"%s\"¤Ë¥³¥Ô¡¼¤·¤Þ¤·¤¿¡£\n ·Á¼°: %s [¥ª¥×¥·¥ç¥ó] ¥ê¥â¡¼¥È¼­½ñ\n ¥ª¥×¥·¥ç¥ó:\n \t{-cs | -cannaserver} canna¥µ¡¼¥Ð̾\n \t-l ¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë\n \ndelwords¤òÃæÃǤ·¤Þ¤¹¡£ delwords¤òÃæÃǤ·¤Þ¤¹¡£ \"%s\" ¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼ £±¤Ä¤ÎÆÉ¤ß¤ËÂФ¹¤ë¸õÊ䍬À©¸Â¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£\"%s\" ÆÉ¤ß¡¢¸õÊ䍬À©¸Â¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£ \"%s\" °ì¹Ô¤Î¥Ç¡¼¥¿¤¬Ä¹¤¹¤®¤Þ¤¹¡£ ¼­½ñ \"%s\" ¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¼­½ñ̾¤Ë\"-\"¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ ¼­½ñ̾\"%s\"¤¬Ä¹¤¹¤®¤Þ¤¹¡£ %s: \"%s\" ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¼­½ñ\"%s\"¤Çdelwords¤·¤Þ¤·¤¿¡£ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ·Á¼°: %s [¥ª¥×¥·¥ç¥ó]\n ¥ª¥×¥·¥ç¥ó:\n {-cs | -cannaserver} canna¥µ¡¼¥Ð̾\n -i\n -u ¥æ¡¼¥¶Ì¾\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n ¥á¥â¥ê¤ò³ÎÊݤǤ­¤Þ¤»¤ó¡£\n ¥³¥ó¥Æ¥¯¥¹¥È¤ÎÃͤ¬°Û¾ï¤Ç¤¹¡£\n -s ¤È -fq ¤¬Æ±»þ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹ \n - ¤Þ¤¿¤Ï -l ¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó \n ·Á¼°: %s [¥ª¥×¥·¥ç¥ó] ¥ê¥â¡¼¥È¼­½ñ\n ¥ª¥×¥·¥ç¥ó:\n \t{-cs | -cannaserver} canna¥µ¡¼¥Ð̾\n \t-s\n \t{- | -l ¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë}\n \t-fq\n \n¥¢¥Ã¥×¥í¡¼¥É¤òÃæÃǤ·¤Þ¤¹¡£ ¥¢¥Ã¥×¥í¡¼¥É¤òÃæÃǤ·¤Þ¤¹¡£ \"%s\" ¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼ £±¤Ä¤ÎÆÉ¤ß¤ËÂФ¹¤ë¸õÊ䍬À©¸Â¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£ ÆÉ¤ß¡¢¸õÊ䍬À©¸Â¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£\"%s\" °ì¹Ô¤Î¥Ç¡¼¥¿¤¬Ä¹¤¹¤®¤Þ¤¹¡£ ¼­½ñ \"%s\" ¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ \"%s\": ¼­½ñ̾¤Ë¤Ï\"-\"¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£\n ¼­½ñ̾\"%s\"¤¬Ä¹¤¹¤®¤Þ¤¹¡£ %s: \"%s\" ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¼­½ñ\"%s\"¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ·Á¼°: %s [¥ª¥×¥·¥ç¥ó] ¸µ¼­½ñ ¿·¼­½ñ\n ¥ª¥×¥·¥ç¥ó:\n {-cs | -cannaserver} canna¥µ¡¼¥Ð̾\n ¼­½ñ̾¤Ë'-'¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£\n ¼­½ñ̾\"%s\"¤¬Ä¹¤¹¤®¤Þ¤¹¡£\n ¼­½ñ̾\"%s\"¤¬Ä¹¤¹¤®¤Þ¤¹¡£\n %s: %s, ¼­½ñ̾¤¬Æ±¤¸¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n ¼­½ñ\"%s\"¤ò¼­½ñ\"%s\"¤ËÊѹ¹¤·¤Þ¤¹¡£\n ¼­½ñ\"%s\"¤ò¼­½ñ\"%s\"¤Ë¾å½ñ¤­¤·¤Þ¤¹¡£\n Îΰ褬³ÎÊݤǤ­¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤Ï¸ºß¤·¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤Þ¤¿¤Ï\"%s\"¤¬¥Ð¥¤¥Ê¥ê¼­½ñ¤Ç¤¹¡£\n ¼­½ñ¤Ë¥¢¥¯¥»¥¹½ÐÍè¤Þ¤»¤ó¡£\n dics.dir ¤¬°Û¾ï¤Ç¤¹¡£¼­½ñ¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó¡£\n »ØÄꤵ¤ì¤¿¼­½ñ\"%s\"¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹¾å½ñ¤­¤·¤Þ¤¹¤«¡©(y/n) »ØÄꤵ¤ì¤¿¼­½ñ\"%s\"¤Ï¾å½ñ¤­¤·¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤Þ¤¿¤Ï\"%s\"¤¬»ÈÍÑÃæ¤Ê¤Î¤Ç¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó¡£\n ¥³¥ó¥Æ¥¯¥¹¥È¤ÎÃͤ¬ÊѤǤ¹¡£\n ·Á¼°: %s [¥ª¥×¥·¥ç¥ó] ¼­½ñ̾1 [¼­½ñ̾2...]\n ¥ª¥×¥·¥ç¥ó:\n {-cs | -cannaserver} canna¥µ¡¼¥Ð̾\n -fq \n ¥µ¡¼¥Ð̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n ¥µ¡¼¥Ð¤¬Ê£¿ô²ó»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤ÈÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n ¼­½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n ¥á¥â¥ê¤ò³ÎÊݤǤ­¤Þ¤»¤ó¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¾õÂÖ¤¬°Û¾ï¤Ç¤¹¡£\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð\"%s\"¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó\n irohaserver ¤Ç¤Ï -fq ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£\n ¥³¥ó¥Æ¥¯¥¹¥È¤ÎÃͤ¬°Û¾ï¤Ç¤¹¡£\n ¼­½ñ\"%s\"¤Î¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n \"%s\" ¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼ \n ¼­½ñ\"%s\"¤¬Â¸ºß¤·¤Þ¤»¤ó¡£\n »ØÄꤵ¤ì¤¿¼­½ñ\"%s\"¤Ï¥Ð¥¤¥Ê¥ê¼­½ñ¤Ç¤¹¡£\n dics.dir¤¬°Û¾ï¤Ç¤¹¡£\n ¼­½ñ\"%s\"¤¬¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¡£\n ¿·¤·¤¤¼­½ñ\"%s\"¤òºîÀ®¤·¤Þ¤¹¡£\n ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤Æ²¼¤µ¤¤¡£ ¼­½ñ\"%s\"¤ò¾å½ñ¤­¤·¤Þ¤¹¡£ ¼­½ñ\"%s\"¤Ï¥Ð¥¤¥Ê¥ê¼­½ñ¤Ç¤¹¡£¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó¡£\n dics.dir ¤¬°Û¾ï¤Ç¤¹¡£¼­½ñ¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó¡£\n ¼­½ñ¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó¡£\n »ØÄꤵ¤ì¤¿¼­½ñ\"%s\"¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹¾å½ñ¤­¤·¤Þ¤¹¤«¡©(y/n) »ØÄꤵ¤ì¤¿¼­½ñ\"%s\"¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹¡£ ¼­½ñ\"%s\"¤ÏºîÀ®¤·¤Þ¤»¤ó¡£\n ´û¸¤Î¼­½ñ¤È¼­½ñ\"%s\"¤Î¼ïÎब°ã¤¦¤Î¤Ç¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤¬»ÈÍÑÃæ¤Ê¤Î¤Ç¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó¡£\n ¥â¡¼¥É¤ÎÃͤ¬°Û¾ï¤Ç¤¹¡£\n ¥·¥¹¥Æ¥à¼­½ñ\"%s\"¤Î¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ\"%s\"¤Î¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹¡£ ¼­½ñ\"%s\"¤Ï¥Æ¥­¥¹¥È¼­½ñ¤Ç¤¹¡£¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤ÏºîÀ®¤Ç¤­¤Þ¤»¤ó¡£\n dics.dir ¤¬°Û¾ï¤Ç¤¹¡£¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó¡£\n ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤Ç¤­¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤Î³Ø½¬¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹¡£¾å½ñ¤­¤·¤Þ¤¹¤«¡©(y/n) ¥·¥¹¥Æ¥à¼­½ñ\"%s\"¤Î¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤Ï¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ\"%s\"¤Î¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤ÏºîÀ®¤·¤Þ¤»¤ó¡£\n ´û¸¤Î¼­½ñ¤È¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë\"%s\"¤Î¼ïÎब°ã¤¦¤Î¤Ç¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó¡£\n \"%s\"¤¬»ÈÍÑÃæ¤Ê¤Î¤Ç¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó¡£\n ¥·¥¹¥Æ¥à¼­½ñ\"%s\"¤¬Â¸ºß¤·¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤òºï½ü¤·¤Þ¤¹¡£\n ¼­½ñ\"%s\"¤Ï¸ºß¤·¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤Ï¥Ð¥¤¥Ê¥ê¼­½ñ¤Ç¤¹¡£ºï½ü¤Ç¤­¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤òºï½ü½ÐÍè¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤Ï»ÈÍÑÃæ¤Ê¤Î¤Çºï½ü¤Ç¤­¤Þ¤»¤ó¡£\n ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë\"%s\"¤òºï½ü¤·¤Þ¤¹¡£\n ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë\"%s\"¤Ï¸ºß¤·¤Þ¤»¤ó¡£\n ¼­½ñ\"%s\"¤Ï¥Æ¥­¥¹¥È¼­½ñ¤Ç¤¹¡£ºï½ü¤Ç¤­¤Þ¤»¤ó¡£\n ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë\"%s\"¤òºï½ü½ÐÍè¤Þ¤»¤ó¡£\n ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë\"%s\"¤Ï»ÈÍÑÃæ¤Ê¤Î¤Çºï½ü¤Ç¤­¤Þ¤»¤ó¡£\n ½èÍý¤òÃæÃǤ·¤Þ¤¹¡£ %d ¹ÔÌܤιԤ¬Ä¹¤¹¤®¤Þ¤¹¡£ -G \n -g ¥°¥ë¡¼¥×̾\n -G \n -g ¥°¥ë¡¼¥×̾\n -G \n -g ¥°¥ë¡¼¥×̾\n -a \n -l \n \t-G \n -G \n -G \n ·Á¼°: %s [¥ª¥×¥·¥ç¥ó] ¼­½ñ̾ \n ¥ª¥×¥·¥ç¥ó:\n {-cs | -cannaserver} canna-server\n {+|-}{r|w|rw|wr}... \n -G \n ¥°¥ë¡¼¥×̾¤¬ÉÔÀµ¤Ç¤¹ \n ¥æ¡¼¥¶Ì¾¤¬ÉÔÀµ¤Ç¤¹ \n RkChmodDic ¤ÎÊÖµÑÃͤ¬ÉÔÀµ¤Ç¤¹ code=%d \n ¤³¤Îµ¡Ç½¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó \n ¤«¤ó¤Ê¤Î Version ¤Ï %d.%d ¤Ç¤¹¡£\n ¼­½ñ¤¬Â¿¤¤¤¿¤á¡¢É½¼¨¤Ç¤­¤Ê¤¤¼­½ñ¤¬¤¢¤ê¤Þ¤¹¡£\n ¼­½ñ¤Ë½ñ¤­¹þ¤ß¸¢¤¬¤¢¤ê¤Þ¤»¤ó¡£\n ·Á¼°: %s \n Version 3.2 °ÊÁ°¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ï½ªÎ»¤µ¤»¤é¤ì¤Þ¤»¤ó¡£\n ¾¥Û¥¹¥È¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ï½ªÎ»¤µ¤»¤é¤ì¤Þ¤»¤ó¡£\n µ¯Æ°¤·¤¿¥æ¡¼¥¶¤Ç¤Ê¤¤¤¿¤á¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ï½ªÎ»¤µ¤»¤é¤ì¤Þ¤»¤ó¡£\n RkKillServer ¤ÎÊÖµÑÃͤ¬ÉÔÀµ¤Ç¤¹¡£ code=%d \n /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ $Id: cannacmd.jpn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ Canna37p3/cmd/catdic/cannakill.jmn0100644000076500001200000000354207555266161016322 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cannakill.jmn,v 1.2 2002/10/22 15:19:13 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} cannakill 1M "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" cannakill \- ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð cannaserver ¤ò½ªÎ»¤µ¤»¤ë .SH "·Á¼°" .B "cannakill" .SH "ÀâÌÀ" .PP ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð cannaserver(1M) ¤ò½ªÎ»¤µ¤»¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê cannaserver(1M) ¤Ï¥½¥±¥Ã¥È¤òºï½ü¤·¡¤¥ª¡¼¥×¥ó¤·¤Æ¤¤¤¿¼­½ñ¤ò¤¹¤Ù¤Æ ¥¯¥í¡¼¥º¤·½èÍý¤ò½ªÎ»¤·¤Þ¤¹¡£ .PP cannakill(1M) ¤Ç cannaserver(1M) ¤ò½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ï¡¤ cannaserver(1M) ¤òµ¯Æ°¤·¤¿¥æ¡¼¥¶¤«¤¢¤ë¤¤¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Ë¸Â¤é¤ì¤Þ¤¹¡£ .SH "´ØÏ¢¥Õ¥¡¥¤¥ë" .IP "@(UnixSockDir)/@(UnixSockName)[:num]" 36 ¥½¥±¥Ã¥È .SH "´ØÏ¢¥³¥Þ¥ó¥É" .PP cannaserver(1M), cannastat(1), cannacheck(1) Canna37p3/cmd/catdic/cannakill.man0100644000076500001200000000352407555266161016311 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cannakill.man,v 1.2 2002/10/22 15:19:13 aida_s Exp $ .TH CANNAKILL 1M .SH "NAME" cannakill \- Terminate operation of the Kana-Kanji conversion server cannaserver .SH "SYNOPSIS" .B "cannakill" .SH "DESCRIPTION" .PP cannakill terminates operation of Kana-Kanji conversion server cannaserver(1M). This causes the server to delete the socket and close all open dictionaries before terminating its processing. .PP The user who has started cannaserver(1M) or the super user can only use cannakill(1M) to terminate operation of canncannaer. .SH "FILES" .IP "@(UnixSockDir)/@(UnixSockName)[:num]" 36 Socket .SH "SEE ALSO" .PP cannaserver(1M), cannastat(1), cannacheck(1) Canna37p3/cmd/catdic/catdic.jmn0100644000076500001200000000523007554213565015610 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: catdic.jmn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} catdic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" catdic \- ¼­½ñ¤ÎÆâÍÆ¤òɽ¼¨¤¹¤ë .SH "·Á¼°" .B "catdic [{\-cs|\-cannaserver} \fIcanna-server\fP] [\-i|\-u \fIusername \fP|\-G|\-g \fI groupname \fP] \fIdic1 \fP[\fIdic2 ...\fP] [\-l \fIlocal-file\fP]" .SH "ÀâÌÀ" .PP cannaserver(1M)¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Þ¥·¥ó(°Ê²¼¡¤¥ê¥â¡¼¥È¥Û¥¹¥È)¤Î ¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¼­½ñ̾\fIdic1\fP¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤ò ɽ¼¨¤·¤Þ¤¹¡¥ .PP »ØÄꤷ¤¿¼­½ñ¤¬¸½ºß»ÈÍÑÃæ¤Ç¤¢¤ë¾ì¹ç¤Ï¼­½ñ¤Îɽ¼¨¤Ï¤Ç¤­¤Þ¤»¤ó¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-cs \fIcannaserver\fP (¤Þ¤¿¤Ï \-cannaserver \fIcanna-server\fP)" 12 ɽ¼¨¤·¤¿¤¤¼­½ñ¤Î¤¢¤ë¥µ¡¼¥Ð¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡¥ .IP "\-i" 12 ¥·¥¹¥Æ¥à¼­½ñ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡¥É½¼¨¤Ç¤­¤ë¼­½ñ¤Ï¡¤ ¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤Ë¸Â¤é¤ì¤Þ¤¹¡¥ ¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¤Ïɽ¼¨¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¤´Ãí°Õ²¼¤µ¤¤¡¥ .IP "\-u \fIusername\fP" ¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤Þ¤¹¡¥Â¾¤Î¥æ¡¼¥¶Ì¾¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê ¾¤Î¥æ¡¼¥¶¤Î¼­½ñ¤òɽ¼¨¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡¥ .IP "\-G" ¼«Ê¬¤Î¥°¥ë¡¼¥×¼­½ñ¤òɽ¼¨¤·¤Þ¤¹. .IP "\-g \fIgroupname\fP" ¥°¥ë¡¼¥×̾¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¾¥°¥ë¡¼¥×¤Î¼­½ñ¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. .IP "\-l \fIlocal-file\fP" \fIlocal-file\fP¤Ï¼­½ñ¥Õ¥¡¥¤¥ë̾¡¥¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¤É¸½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡¥ .SH "»ÈÍÑÎã" .nf catdic test ¥ê¥â¡¼¥È¥Û¥¹¥È¾å¤Î¼­½ñ̾test¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òɸ½à½ÐÎÏ¤Ë ½ÐÎϤ·¤Þ¤¹¡¥ .nf catdic test -l test2.t ¥ê¥â¡¼¥È¥Û¥¹¥È¤Ë¤¢¤ë¼­½ñ̾test¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì ¥¯¥È¥ê¤Îtest2.t¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" cannaserver(1M), lsdic(1), mkdic(1) Canna37p3/cmd/catdic/catdic.man0100644000076500001200000000503207554213565015577 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: catdic.man,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .TH CATDIC 1 .SH "NAME" catdic \- Download a dictionary .SH "SYNOPSIS" .B "catdic [{\-cs|\-cannaserver} \fIcanna-server\fP] [\-i|\-u \fIuser-name\fP] \fIremote-dic\fP [\-l \fIlocal-file\fP]" .SH "DESCRIPTION" .PP catdic downloads a dictionary file to the current directory. The file downloaded is a dictionary file the dictionary name of which is \fIremote-dic\fP. It is in the user dictionary directory of the machine on which \fIcannaserver\fP(1M) is in operation. (Hereafter, this machine is called the remote host.) .SH "OPTIONS" .IP "\-cs \fIcanna-server\fP (or \-cannaserver \fIcanna-server\fP)" 12 Specifies the name of the server machine that contains a dictionary to be downloaded. .IP "\-i" Downloads the system dictionary. .IP "\-u \fIuser-name\fP" Specifies the user name. Another user's dictionary can be referenced by this user name. .IP "\-l \fIlocal-file\fP" \fIlocal-file\fP is the dictionary file name. If it is omitted, the standard output will be assumed. .SH "EXAMPLES" .nf % catdic test .fi .PP Outputs the contents of dictionary file ``test'' on the remote host, to the standard output. .nf % catdic test \-l test2.t .fi .PP Downloads dictionary file ``test'' on the remote host to current directory file ``test2.t''. .SH "SEE ALSO" .PP cannaserver(1M), lsdic(1), mkdic(1) Canna37p3/cmd/catdic/chmoddic.jmn0100644000076500001200000000457207554213565016143 0ustar shinraadmin.\" Copyright 1995 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided .\" "as is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: chmoddic.jmn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .nr X 0 .if \nX=0 .ds x} chmoddic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(x} .SH "\s+2̾Á°\s-2" \f4chmoddic\f1 \- ¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤òÊѹ¹¤¹¤ë .SH "\s+2·Á¼°\s-2" .B "\f4chmoddic [{\-cs|\-cannaserver} \fIcanna-server\fP] {\+|\-}{r|w|rw|wr} [\-G] \fIdicname" .SH "\s+2ÀâÌÀ\s-2" .PP ¼­½ñ \fIdicname \fP¤ÎREAD¸¢¡¢WRITE¸¢¤ÎÄɲᢺï½ü¤ò¹Ô¤¤¤Þ¤¹¡£ .PP »ØÄꤷ¤¿¼­½ñ¤¬¸½ºß»ÈÍÑÃæ¤Ç¤¢¤ë¾ì¹ç¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó¡£ .SH "\s+2¥ª¥×¥·¥ç¥ó\s-2" .IP "\f4\-cs\f1 \fIcannaserver\fP (¤Þ¤¿¤Ï \f4\-cannaserver\f1 \fIcanna-server\fP)" 12 Êѹ¹¤·¤¿¤¤¼­½ñ¤Î¤¢¤ë¥µ¡¼¥Ð¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ .IP "\f4\-\f1" 12 °Ê¹ß¤Ë¼¨¤¹¥¢¥¯¥»¥¹¸¢¤òºï½ü¤·¤Þ¤¹¡£ .IP "\f4\+\f1" 12 °Ê¹ß¤Ë¼¨¤¹¥¢¥¯¥»¥¹¸¢¤òÄɲä·¤Þ¤¹¡£ .IP "\f4r\f1" 12 READ¸¢¤ËÂФ¹¤ëÊѹ¹¤ò¹Ô¤¤¤Þ¤¹¡£w ¤È¤È¤â¤ËÁȤ߹ç¤ï¤»¤Æ»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ .IP "\f4w\f1" 12 WRITE¸¢¤ËÂФ¹¤ëÊѹ¹¤ò¹Ô¤¤¤Þ¤¹¡£r ¤È¤È¤â¤ËÁȤ߹ç¤ï¤»¤Æ»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ .IP "\f4\-G\f1" 12 ¼«Ê¬¤Î¥°¥ë¡¼¥×¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤òÊѹ¹¤·¤Þ¤¹¡£ .SH "\s+2»ÈÍÑÎã\s-2" .IP "\f4chmoddic -r +w test\f1" 2 ¥æ¡¼¥¶¼­½ñtest¤ÎREAD¸¢¤òºï½ü¤·WRITE¸¢¤òÄɲä·¤Þ¤¹¡£ .IP "\f4chmoddic +wr -G test" 2 ¥°¥ë¡¼¥×¼­½ñtest¤ÎREAD¸¢¡¢WRITE¸¢¤òÄɲä·¤Þ¤¹¡£ .SH "\s+2´ØÏ¢¹àÌÜ\s-2" \f4lsdic\f1(1), \f4mkdic\f1(1) Canna37p3/cmd/catdic/chmoddic.man0100644000076500001200000000457607554213565016136 0ustar shinraadmin.\" Copyright 1995 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided .\" "as is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: chmoddic.man,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .TH "chmoddic" "1" "Japanese Facility Utilities" .SH "NAME \f4chmoddic\f1 \- change access rights for a directory .SH "SYNOPSIS" .nf .ft 4 chmoddic [{(-cs | - cannaserver} \f2canna-server\f4] {+ | -}{r|w|rw|wr} [-G] \f2dicname\f4 .ft 1 .fi .SH "DESCRIPTION" Add and/or remove READ/WRITE rights for the dictionary \f2dicname\f1. The access rights for the dictionary cannot be changed if it is being used. .SH "OPTION" .IP "\f4-cs \f2cannaserver\f1 (or \f4-cannaserver \f2canna-server\f1)" 10n Specify the server machine which has a dictionary to be changed. .IP "\f4-\f1" 10n Remove the following access rights. .IP "\f4+\f1" 10n Add the following access rights. .IP "\f4r\f1" 10n Change READ rights. w can be specified at the same time. .IP "\f4w\f1" 10n Change WRITE rights. r can be specified at the same time. .IP "\f4-G\f1" 10n Change the access rights for the user's own group dictionary. .SH "EXAMPLE" .IP "\f4chmoddic -r +w test\f1" 10n Remove READ rights from and add WRITE rights for user dictionary test. .IP "\f4chmoddic +wr -G test\f1" 10n Add READ/WRITE rights to group dictionary test. .SH "SEE ALSO" .na \f4lsdic\f1(1), \f4mkdic\f1(1) .ad Canna37p3/cmd/catdic/cpdic.jmn0100644000076500001200000000442407554213565015447 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cpdic.jmn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} cpdic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" cpdic \- ¥æ¡¼¥¶¼­½ñ¥³¥Ô¡¼¥Ä¡¼¥ë .SH "·Á¼°" .B "cpdic [{\-cs|\-cannaserver} \fIcanna-server\fP] [\-i|\-u \fIusername \fP| \-g \fI groupname\fP][\-G] \fIfromdic todic\fP" .SH "ÀâÌÀ" .PP ¼­½ñ¤ò¥³¥Ô¡¼¤·¼­½ñÌÜÏ¿¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤Þ¤¹¡¥ .PP ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¤ ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Æ¡¤ ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê²¼¤Ë¼­½ñÌÜÏ¿¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡¥ .PP \-i¤ò»ØÄꤹ¤ë¤È¥·¥¹¥Æ¥à¼­½ñ¤ò¡¤\-u¤ò»ØÄꤹ¤ë¤È¾¤Î¥æ¡¼¥¶¤Î¼­½ñ¤ò¥³¥Ô¡¼¤¹ ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-cs \fIcanna-server\fP (¤Þ¤¿¤Ï \-cannaserver \fIcanna\-server\fP)" 12 ¥³¥Ô¡¼¤·¤¿¤¤¼­½ñ¤Î¤¢¤ë¥µ¡¼¥Ð¥Þ¥·¥ó̾¤ò»ØÄꤷ¤Þ¤¹¡¥ .IP "\-i" 12 ¥·¥¹¥Æ¥à¼­½ñ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡¥ .IP "\-u \fIusername\fP" »ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤Î¼­½ñ¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡¥ .IP "\-s" 12 ÉÕ°¸ì¼­½ñ¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¤¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡¥ .IP "\-g \fIgroupname\fP" »ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¥°¥ë¡¼¥×¼­½ñ¤ò¥³¥Ô¡¼¤·¤Þ¤¹. .IP "\-G" \fItodic\fP¤ò¼«Ê¬¤Î¥°¥ë¡¼¥×¼­½ñ¤È¤·¤Æ¥³¥Ô¡¼¤·¤Þ¤¹. .SH "´ØÏ¢¾ðÊó" lsdic(1), mkdic(1), mvdic(1), rmdic(1) Canna37p3/cmd/catdic/cpdic.man0100644000076500001200000000420007554213565015426 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cpdic.man,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .TH CPDIC 1 .SH "NAME" cpdic \- User Dictionary Copy Tool .SH "SYNOPSIS" .B "cpdic [{\-cs|\-cannaserver} \fIcanna-server\fP] [\-i|\-u \fIuser-name\fP] \fIfrom-dic\fP \fIto-dic\fP" .SH "DESCRIPTION" .PP cpdic copies user dictionary \fIfrom-dic\fP to \fIto-dic\fP to rewrite dictionary directory file \(em dics.dir \(em . .PP If the user dictionary directory does not exist, cpdic creates it and creates dics.dir under it. .PP If the \-i option is specified, the system dictionary will be copied. If the \-u option is specified, another user dictionary will be copied. .SH "OPTIONS" .IP "\-cs \fIcanna-server\fP (or \-cannaserver \fIcanna-server\fP)" 12 .PP Specifies the name of the server machine that contains a dictionary to be copied. .IP "\-i" 12 Copies the system dictionary. .IP "\-u \fIuser-name\fP" 12 Copies the dictionary of the specified user. .SH "SEE ALSO" .PP lsdic(1), mkdic(1), mvdic(1), rmdic(1) Canna37p3/cmd/catdic/delwords.jmn0100644000076500001200000000367607554213565016220 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: delwords.jmn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} delwords 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" delwords \- °ì³çñ¸ìºï½ü .SH "·Á¼°" .B "delwords [{\-cs|\-cannaserver} \fIcannaserver\fP] dicname" .SH "ÀâÌÀ" .PP ɸ½àÆþÎϤ«¤é¡Ø¤«¤ó¤Ê¡Ù¤Î¥Æ¥­¥¹¥È¼­½ñ·Á¼°¤Îñ¸ìÅÐÏ¿°ìÍ÷¤òÆÉ¤ß¹þ¤ß»ØÄꤵ ¤ì¤¿¼­½ñ¤«¤é¡¢É¸½àÆþÎϤ«¤éÆÀ¤¿Ã±¸ì¤òºï½ü¤·¤Þ¤¹¡£ .PP »ØÄꤹ¤ë¼­½ñ¤Ï½ñ¤­¹þ¤ß¤¬²Äǽ¤Ê¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-cs \fIcannaserver\fP (¤Þ¤¿¤Ï \-cannaserver \fIcannaserver\fP)" 12 ¥³¥Ô¡¼¤·¤¿¤¤¼­½ñ¤Î¤¢¤ë¥µ¡¼¥Ð¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ .SH "»ÈÍÑÎã" .nf % delwords mydic < remwords .fi .PP ¼­½ñ mydic ¤«¤é remwords ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ëñ¸ì¤òºï½ü¤·¤Þ¤¹¡£ .sp .nf % catdic mydic | delwords mydic .fi .PP ¼­½ñ mydic ¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£ Canna37p3/cmd/catdic/delwords.man0100644000076500001200000000404707554213565016200 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: delwords.man,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .TH DELWORDS 1 .SH "NAME" delwords \- Deleting words from specified dictionary collectively .SH "SYNOPSIS" .B "delwords [{\-cs|\-cannaserver} \fIcannaserver\fP] dicname" .SH "DESCRIPTION" .PP .I delwords deletes words from specified dictionary according to the word information from the standard input. The standard input must be in a format of ``Text Dictionary format'' of Canna. .PP .I dicname must be a ``Text Dictionary format'' which can be rewritten. .SH "OPTIONS" .IP "\-cs \fIcannaserver\fP (or \-cannaserver \fIcannaserver\fP)" 12 Specifies the hostname on which the specified dictionary is expected to exist. .SH "EXAMPLE" .nf % delwords mydic < remwords .fi .PP Deletes words defined in \fIremwords\fP from \fImydic\fP. .sp .nf % catdic mydic | delwords mydic .fi .PP Clears the contents of \fImydic\fP. Canna37p3/cmd/catdic/Imakefile0100644000076500001200000000350107736753156015472 0ustar shinraadmin/* $Id: Imakefile,v 1.9 2003/10/02 07:40:30 aida_s Exp $ */ #include "../../Canna.conf" #include "../cmd.tmpl" DEFINES = $(SIGNAL_DEFINES) $(ENGINE_DEFS) INCLUDES = -I$(CANNAROOT)/include SRCS = can.c rutil.c RKdelline.c OBJS = can.o rutil.o RKdelline.o TARGET = catdic AllTarget(ProgramTargetName($(TARGET))) NormalProgramTarget($(TARGET),$(OBJS),$(DEPRKCLIB) $(DEPRKINDEPLIB),$(RKCLIB) $(RKINDEPLIB),) InstallProgram($(TARGET),$(cannaBinDir)) InstallManPage(catdic,$(cannaManDir)) InstallManPage(chmoddic,$(cannaManDir)) InstallManPage(cpdic,$(cannaManDir)) InstallManPage(lsdic,$(cannaManDir)) InstallManPage(mkdic,$(cannaManDir)) InstallManPage(mvdic,$(cannaManDir)) InstallManPage(rmdic,$(cannaManDir)) InstallManPage(addwords,$(cannaManDir)) InstallManPage(delwords,$(cannaManDir)) InstallManPage(cannakill,$(cannaManDir)) DependTarget() LintTarget() #ifdef ObsoleteInstallDir # define cannakillDir $(cannaBinDir) # define cannakillLink(base) base #else # define cannakillDir $(cannaSrvDir) # define cannakillLink(base) $(cannaBinDir)/base #endif #define CannaInstalledProgram(prog) $(DESTDIR)$(cannaBinDir)/ProgramTargetName(prog) INSTALLED_CATDIC_ALIASES_BIN = \ CannaInstalledProgram(cpdic) \ CannaInstalledProgram(lsdic) \ CannaInstalledProgram(mkdic) \ CannaInstalledProgram(mvdic) \ CannaInstalledProgram(rmdic) \ CannaInstalledProgram(syncdic) \ CannaInstalledProgram(chmoddic) \ CannaInstalledProgram(addwords) \ CannaInstalledProgram(delwords) INSTALLED_CATDIC_ALIASES_OTHER = \ $(DESTDIR)cannakillDir/ProgramTargetName(cannakill) install:: $(RM) $(INSTALLED_CATDIC_ALIASES_BIN) $(INSTALLED_CATDIC_ALIASES_OTHER) for p in $(INSTALLED_CATDIC_ALIASES_BIN); do $(LN) catdic $$p; done for p in $(INSTALLED_CATDIC_ALIASES_OTHER); do $(LN) $(cannaBinDir)/catdic $$p; done Canna37p3/cmd/catdic/lsdic.jmn0100644000076500001200000000420107554213565015454 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: lsdic.jmn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} lsdic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" lsdic \- ¼­½ñ¤Î°ìÍ÷¤Îɽ¼¨ .SH "·Á¼°" .B "lsdic [{\-cs|\-cannaserver}\fIcanna-server\fP][\-i|\-u \fIusername\fP|\-G|\-g \fIgroupname\fP|\-a|\-l]" .SH "ÀâÌÀ" .PP ¼­½ñ¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-cs \fIcanna-server\fP (¤Þ¤¿¤Ï \fB\-cannaserver\fP \fIcanna-server\fP)" 12 Àܳ¤¹¤ë¥µ¡¼¥Ð¤ò»ØÄꤷ¤Þ¤¹¡¥ .IP "\-i" 12 ¥·¥¹¥Æ¥à¼­½ñ¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡¥ .IP "\-u \fIusername\fP" »ØÄꤵ¤ì¤¿¥æ¡¼¥¶¤Î¼­½ñ¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡¥ .IP "\-G" ¼«Ê¬¤Î¥°¥ë¡¼¥×¼­½ñ¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹. .IP "\-g \fIgroupname\fP" »ØÄꤷ¤¿¥°¥ë¡¼¥×¤Î¥°¥ë¡¼¥×¼­½ñ¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹. .IP "\-a" 12 ¤½¤Î¥æ¡¼¥¶¤Ë´Ø¤¹¤ë¥·¥¹¥Æ¥à¼­½ñ¡¢¥°¥ë¡¼¥×¼­½ñ¡¢¥æ¡¼¥¶¼­½ñ¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹. .IP "\-l" 12 ¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤òɽ¼¨¤·¤Þ¤¹¡£ \-i,\-g,\-u,\-a ¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó. .SH "»ÈÍÑÎã" lsdic -u username .SH "´ØÏ¢¾ðÊó" cpdic(1), mkdic(1), mvdic(1), rmdic(1) Canna37p3/cmd/catdic/lsdic.man0100644000076500001200000000373107554213565015452 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: lsdic.man,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .TH LSDIC 1 .SH "NAME" lsdic \- Display the user dictionary list .SH "SYNOPSIS" .B "lsdic [{\-cs|\-cannaserver} \fIcanna-server\fP] [\-i|\-u \fIuser-name\fP] .SH "DESCRIPTION" .PP lsdic displays the list of the user's dictionaries. .PP To display the list of another user, specify the user name by \-u option. To display the system dictionary list, specify the \-i option. .SH "OPTIONS" .IP "\-cs \fIcanna-server\fP (or \-cannaserver \fIcanna-server\fP)" 12 Specifies the name of the server machine that contains the dictionaries to be listed. .IP "\-i" Displays the list of system dictionaries. .IP "\-u \fIuser-name\fP" Displays the dictionary list of the specified user. .SH "SEE ALSO" .PP cpdic(1), mkdic(1), mvdic(1), rmdic(1), Canna37p3/cmd/catdic/mkdic.jmn0100644000076500001200000000467407554213565015463 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: mkdic.jmn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} mkdic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" mkdic \- ¼­½ñ¤ÎºîÀ®¡¿¥¢¥Ã¥×¥í¡¼¥É¤ò¹Ô¤¦ .SH "·Á¼°" .B "mkdic [{\-cs|\-cannaserver}\fIcanna-server\fP][\-fq][\-s][\-l \fIfile\fP][\-G] \f2dic1 \fP[\f2 dic2 ...\fP]\f1 " .SH "ÀâÌÀ" .PP ¼­½ñ̾ dic ¤Î¼­½ñ¤òºîÀ®¤·¤Þ¤¹¡¥ºîÀ®¤·¤¿¼­½ñ¤Ï .canna ¤Ë½ñ¤­ ²Ã¤¨¤ì¤Ð¤¹¤°¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤ ¾ì¹ç¤ÏºîÀ®¤·¤Æ¡¤¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¼­½ñÌÜÏ¿¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡¥ ¼­½ñ¤ÏÊ£¿ô»ØÄê¤Ç¤­¥ª¥×¥·¥ç¥ó¤Ï»ØÄꤷ¤¿¤¹¤Ù¤Æ¤Î¼­½ñ¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹. ¤¿¤À¤·¡¢Ê£¿ô»ØÄꤷ¤¿¤È¤­\f4\-l -\fP ¥ª¥×¥·¥ç¥ó¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó. .SH "¥ª¥×¥·¥ç¥ó" .IP "\-fq\fP" 12 ¼­½ñdic¤Î¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡¥ .IP "\-cs \fIcanna-server\fP (¤Þ¤¿¤Ï \-\fBcannaserver\fP \fIcanna-server\fP)" 12 ¥µ¡¼¥Ð¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡¥ .IP "\-s\fP" 12 ºîÀ®¤¹¤ë¼­½ñ¤¬ÉÕ°¸ì¼­½ñ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡¥»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï ¼«Î©¸ì¼­½ñ¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡¥ .IP "\-l file\fP" 12 »ØÄꤵ¤ì¤¿file¤Îñ¸ì¤ò¼­½ñ¤ËÅÐÏ¿¤·¤Þ¤¹¡¥file¤Ï¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤Ê¤±¤ì¤Ð ¤Ê¤ê¤Þ¤»¤ó¡¥ .IP "\-\fP" 12 ɸ½àÆþÎϤò¼­½ñ¥Õ¥¡¥¤¥ë¤È¤·¤ÆÍѤ¤¤Þ¤¹¡¥ .IP "\-G\fP" 12 ¥°¥ë¡¼¥×¼­½ñ¤òºîÀ®¤·¤Þ¤¹. .SH "»ÈÍÑÎã" .IP catdic -cs host1 srcdic | mkdic -cs host2 - objdic .br host1¤Îsrcdic¤òhost2¤Îobjdic¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡¥ Canna37p3/cmd/catdic/mkdic.man0100644000076500001200000000701707554213565015444 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: mkdic.man,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .TH MKDIC 1 .SH "NAME" mkdic \- Tool for creating a user dictionary .SH "SYNOPSIS" .B "mkdic [{\-cs|\-cannaserver} \fIcanna-server\fP] [\-s] [\- | \-l \fIlocal-file\fP] \fIremote-dic\fP" .SH "DESCRIPTION" .PP mkdic creates user dictionary named \fIremote-dic\fP in the user dictionary directory of the remote host, on which \fIcannaserver\fP(1M) is in operation. Dictionary file name \fIremote-dic\fP is assigned to this file at this time. .PP If the \- and \-l option isn't specified, mkdic creates an empty dictionary. .PP If the \- option is specified, the standard input will be used as the dictionary file. If the \-l option is specified, \fIlocal-file\fP will be used as the dictionary file. .PP If the user dictionary directory does not exist, it will be created. .PP Dictionary directory file \(em dics.dir \(em is rewritten automatically after the registering. The registered dictionary can thus be used by writing the dictionary name into the customize file. .SH "OPTIONS" .IP "\-cs \fIcanna-server\fP (or \-cannaserver \fIcanna-server\fP)" 12 Specifies the server machine that contains the dictionary to be created. .IP "\-s" Indicates that the dictionary to be created is an adjunct dictionary. If this option is omitted, the dictionary will be created as an independent-word one. .IP "\-l \fIlocal-file\fP" Registers the input data from \fIlocal-file\fP. .IP "\-" 12 The standard input will be used as the dictionary file. .SH "EXAMPLES" .IP (1) 4 If you want to creat an empty dictionary file: .nf % mkdic test .fi .IP (2) 4 If you want to register the input data from the standard input: .nf % mkdic test \- .fi .PP Registers the input data from the standard input, in the user dictionary directory under dictionary name ``test''. The following line is then added to dictionary directory file \(em dics.dir \(em : .nf user1.t(.mwd) \-test\- .fi .IP (3) 4 If the dictionary file is specified: .nf % mkdic test \-l test1.t .fi .PP Registers independent-word dictionary file ``test1.t'' in the remote host's user dictionary directory under dictionary name ``test''. The following line is then added to dics.dir: .nf user1.t(.mvd) \-test\- .fi .PP user1.t is a dictionary file name generated automatically by the system. .SH "SEE ALSO" .PP catdic(1), cannaserver(1M), lsdic(1) Canna37p3/cmd/catdic/mvdic.jmn0100644000076500001200000000401607554213565015464 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: mvdic.jmn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} mvdic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" mvdic \- ¥æ¡¼¥¶¼­½ñ̾Á°Êѹ¹¥Ä¡¼¥ë .SH "·Á¼°" .B "mvdic [{\-cs|\-cannaserver} \fIcanna-server\fP][\-G] \fIfrom-dic\fP \fIto-dic\fP .SH "ÀâÌÀ" .PP »ØÄꤵ¤ì¤¿¥æ¡¼¥¶¼­½ñ¤Î̾Á°¤ò\fIfrom-dic\fP¤«¤é\fIto-dic\fP¤ØÊѹ¹¤·¤Þ¤¹¡¥ ¼­½ñÌÜÏ¿¥Õ¥¡¥¤¥ë dics.dir ¤Ï¤³¤ì¤ËÂбþ¤·¤Æ½ñ´¹¤¨¤é¤ì¤Þ¤¹¡¥ .PP Êѹ¹¸å¤Ï¡¤½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤ÎÊѹ¹Á°¤Î¼­½ñ̾¤Ï¡¤É¬¤ººï½ü¤·¤Ê¤¯¤Æ ¤Ï¤¤¤±¤Þ¤»¤ó¡¥ .PP Êѹ¹¸å¤Î¼­½ñ¤Î̾Á°¤ò½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤Ë½ñ¤­ÊѤ¨¤ì¤Ð¤¹¤°¤Ë »ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-cs \fIcanna-server\fP (¤Þ¤¿¤Ï \-cannaserver \fIcanna-server\fP)" 12 ̾Á°¤òÊѹ¹¤·¤¿¤¤¼­½ñ¤Î¤¢¤ë¥µ¡¼¥Ð¥Þ¥·¥ó¤ò»ØÄꤷ¤Þ¤¹¡¥ .IP "\-G\fP" ¥°¥ë¡¼¥×¼­½ñ¤Î̾Á°¤òÊѹ¹¤·¤Þ¤¹. .SH "´ØÏ¢¾ðÊó" cpdic(1), lsdic(1), mkdic(1), rmdic(1) Canna37p3/cmd/catdic/mvdic.man0100644000076500001200000000375707554213565015466 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: mvdic.man,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .TH MVDIC 1 .SH "NAME" mvdic \- Tool for renaming a user dictionary .SH "SYNOPSIS" .B "mvdic [{\-cs|\-cannaserver} \fIcanna-server\fP] \fIfrom-dic\fP \fIto-dic\fP .SH "DESCRIPTION" .PP mvdic changes the name of the specified user dictionary from \fIfrom-dic\fP to \fIto-dic\fP. Dictionary directory file \(em dics.dir \(em is rewritten correspondingly to this. .PP After the changing, the old dictionary name of the customize file must be deleted. .PP The dictionary in use (i.e., the currently mounted dictionary) cannot be deleted. .SH "OPTION" .IP "\-cs \fIcanna-server\fP (or \-cannaserver \fIcanna-server\fP)" 12 Specifies the name of the server machine that contains the dictionary to be renamed. .SH "SEE ALSO" .PP cpdic(1), lsdic(1), mkdic(1), rmdic(1) Canna37p3/cmd/catdic/RKdelline.c0100644000076500001200000000645107736753156015705 0ustar shinraadmin/* Copyright 1991 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of NEC Corporation * not be used in advertising or publicity pertaining to distribution * of the software without specific, written prior permission. NEC * Corporation makes no representations about the suitability of this * software for any purpose. It is provided "as is" without express * or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ static char rcs_id[] = "@(#) 112.1 $Id: RKdelline.c,v 1.3 2003/10/02 07:40:30 aida_s Exp $"; #ifdef ENGINE_SWITCH #include "RKrename.h" #endif #define CANNA_NEW_WCHAR_AWARE #include #include "ccompat.h" RkDeleteLine(cx_num, name, line) int cx_num; char *name; char *line; { int linelen = strlen(line); int yomilen, yomihinshilen = 0; char *buf = (char *)malloc(linelen + 1), *sp, *dp; int res = 0; if ( !buf ) { return -1; } sp = line; while (*sp == ' ' || *sp == '\t') sp++; /* ¶õÇò¤ÎÆÉ¤ßÈô¤Ð¤· */ if (!*sp || *sp == '#') /* ¥³¥á¥ó¥È¹Ô */ goto endDeleteLine; dp = buf; while (*sp && (*sp != ' ' && *sp != '\t')) { /* ÆÉ¤ß¤Î¤È¤ê¤À¤· */ if (*sp == '\\' && *(sp+1) ) { /* ¥¨¥¹¥¨¡¼¥×¤µ¤ì¤¿Ê¸»ú */ *dp++ = *sp++ ; } *dp++ = *sp++; } *dp++ = ' '; yomilen = dp - buf; while (*sp) { while (*sp == ' ' || *sp == '\t') sp++; /* ¶õÇò¤ÎÆÉ¤ßÈô¤Ð¤· */ if (*sp) { if (*sp == '#') { dp = buf + yomilen; while (*sp && (*sp != ' ' && *sp != '\t')) { /* ÉÊ»ì¤ÈÉÑÅ٤Υ³¥Ô¡¼ */ *dp++ = *sp++; } *dp++ = ' '; yomihinshilen = dp - buf; while (*sp == ' ' || *sp == '\t') sp++; /* ¶õÇò¤ÎÆÉ¤ßÈô¤Ð¤· */ } if (yomihinshilen == 0) { /* ¤³¤³¤Þ¤ÇÉÊ»ì¾ðÊ󤬽ФƤ³¤Ê¤«¤Ã¤¿¡£ */ goto endDeleteLine; } else if (*sp) { /* ¸õÊ䤬¤¢¤ë¤Î¤Ê¤é */ dp = buf + yomihinshilen; while (*sp && (*sp != ' ' && *sp != '\t')) { /* ¸õÊä¤Î¥³¥Ô¡¼ */ if (*sp == '\\' && *(sp+1)) { /* ¥¨¥¹¥¨¡¼¥×¤µ¤ì¤¿Ê¸»ú */ *dp++ = *sp++ ; } *dp++ = *sp++; } *dp++ = '\0'; /* ¥Ì¥ëʸ»ú¤òºÇ¸å¤ËÆþ¤ì¤ë */ res = RkDeleteDic(cx_num, name, buf); if (res < 0) { goto endDeleteLine; } } } } endDeleteLine: free(buf); return res; } #ifdef TEST_DELETEDIC RkDeleteDic(cx_num, name, word) int cx_num; char *name; char *word; { printf("¡ùñ¸ì¤ÎÄêµÁ(¼­½ñ:%s) \"%s\"\n", name, word); return 0; } main() { char buf[2048], *p; int c; p = buf; c = getchar(); while (c >= 0) { if (c == '\n') { *p++ = '\0'; RkDeleteLine(0, "tempdic", buf); p = buf; } else { *p++ = c; } c = getchar(); } } #endif /* TEST_DELETEDIC */ Canna37p3/cmd/catdic/rmdic.jmn0100644000076500001200000000376307554213565015470 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" $Id: rmdic.jmn,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} rmdic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" rmdic \- ¥æ¡¼¥¶¼­½ñ¤Îºï½ü¥Ä¡¼¥ë .SH "·Á¼°" .B "rmdic [{\-cs|\-cannaserver} \fIcanna\-server\fP] [\-fq][\-G] \fIdicname1\fP [\fIdicname2 ...\fP]" .SH "ÀâÌÀ" .PP »ØÄꤵ¤ì¤¿¼­½ñ¤òºï½ü¤·¤Þ¤¹¡¥¼­½ñÌÜÏ¿¥Õ¥¡¥¤¥ë dics.dir ¤Ï¤³¤ì¤ËÂбþ¤·¤Æ½ñ´¹¤¨¤é¤ì¤Þ¤¹¡¥ .PP ¼­½ñ¤ÏÊ£¿ô»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ .PP ºï½ü¤·¤¿¼­½ñ¤¬¡¤½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¤ ½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "-fq" 12 ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹ .IP "\-cs \fIcanna-server\fP (¤Þ¤¿¤Ï \-cannaserver \fIcanna\-server\fP)" 12 ºï½ü¤·¤¿¤¤¼­½ñ¤Î¤¢¤ë¥µ¡¼¥Ð¥Þ¥·¥ó̾¤ò»ØÄꤷ¤Þ¤¹¡¥ .IP "\-G" ¥°¥ë¡¼¥×¼­½ñ¤òºï½ü¤·¤Þ¤¹¡£ .SH "´ØÏ¢¾ðÊó" cpdic(1), lsdic(1), mkdic(1), mvdic(1) Canna37p3/cmd/catdic/rmdic.man0100644000076500001200000000367707554213565015463 0ustar shinraadmin.TH RMDIC 1 .SH "NAME" rmdic \- Tool for deleting a user dictionary .SH "SYNOPSIS" .B "rmdic [{\-cs|\-cannaserver} \fIcanna-server\fP] \fIdicname1\fP [\fIdicname2\fP ...]\fP" .SH "DESCRIPTION" .PP rmdic deletes the specified user dictionary (or dictionaries). Dictionary directory file \(em dics.dir \(em is rewritten correspondingly to this. .PP More than one user dictionary may be specified. .PP The dictionary in use (i.e., the currently mounted dictionary) cannot be deleted. .SH "OPTION" .IP "\-cs \fIcanna-server\fP (or \-cannaserver \fIcanna-server\fP)" 12 Specifies the name of the server machine that contains the dictionary to be renamed. .SH "SEE ALSO" .PP cpdic(1), lsdic(1), mkdic(1), mvdic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: rmdic.man,v 1.1.1.1 2002/10/19 08:27:33 aida_s Exp $ Canna37p3/cmd/catdic/rutil.c0100644000076500001200000004265507773337051015172 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * rutil.c */ #ifndef lint static char rcs[] = "@(#) 112.1 $Id: rutil.c,v 1.3.2.2 2003/12/27 17:15:21 aida_s Exp $"; #endif #ifdef ENGINE_SWITCH #include "RKrename.h" #endif #include #define CANNA_NEW_WCHAR_AWARE #include #ifdef USE_VARARGS #ifdef __STDC__ #include #else #include #endif #endif #include "ccompat.h" #if defined(__STDC__) || defined(SVR4) #include #endif #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif #define BUFLEN 1024 /* add 91.11.21. */ #define ERR_VALUE 1 extern int RkGetWordTextDic(); extern char init[]; static char msg_mem[80]; static char msg_abnls[80]; static char msg_abnl[80]; static char msg_mnts[80]; static char msg_mnt[80]; static char msg_fq[80]; static char msg_cnt[80]; static int msg_flg = 0 ; static void msg_set(){ if (msg_flg == 1 ) return ; (void)strcpy(msg_mem,gettxt("cannacmd:186", "No more memory.\n")); (void)strcpy(msg_abnls,gettxt("cannacmd:187", "Cannaserver \"%s\" is in an abnormal state.\n")); (void)strcpy(msg_abnl,gettxt("cannacmd:188", "Cannaserver is in an abnormal state.\n")); (void)strcpy(msg_mnts,gettxt("cannacmd:189", "Cannaserver \"%s\" does not support dictionary maintenance.\n")); (void)strcpy(msg_mnt,gettxt("cannacmd:190", "Cannaserver does not support dictionary maintenance.\n")); (void)strcpy(msg_fq,gettxt("cannacmd:191", "Cannot use option -fq in irohaserver.\n")); (void)strcpy(msg_cnt,gettxt("cannacmd:192", "Illegal context value was used.\n")); msg_flg = 1 ; } RkDefineLine(cx_num, name, line) int cx_num; unsigned char *name; char *line; { unsigned int linelen = strlen(line); int yomilen, yomihinshilen = 0; char *buf = (char *)malloc(linelen + 1), *sp, *dp; int res = 0; if ( !buf ) { return -1; } sp = line; while (*sp == ' ' || *sp == '\t' ) sp++; /* ¶õÇò¤ÎÆÉ¤ßÈô¤Ð¤· */ if (!*sp || *sp == '#') /* ¥³¥á¥ó¥È¹Ô */ goto endDefineLine; dp = buf; while (*sp && ( *sp != ' ' && *sp != '\t' )) { /* ÆÉ¤ß¤Î¤È¤ê¤À¤· */ if (*sp == '\\' && *(sp+1) ) { /* ¥¨¥¹¥¨¡¼¥×¤µ¤ì¤¿Ê¸»ú */ *dp++ = *sp++ ; } *dp++ = *sp++; } *dp++ = ' '; yomilen = dp - buf; while (*sp) { while (*sp == ' ' || *sp == '\t' ) sp++; /* ¶õÇò¤ÎÆÉ¤ßÈô¤Ð¤· */ if (*sp) { if (*sp == '#') { dp = buf + yomilen; while (*sp && (*sp != ' ' && *sp != '\t' )) { /* ÉÊ»ì¤ÈÉÑÅ٤Υ³¥Ô¡¼ */ *dp++ = *sp++; } *dp++ = ' '; yomihinshilen = dp - buf; while (*sp == ' ' || *sp == '\t' ) sp++; /* ¶õÇò¤ÎÆÉ¤ßÈô¤Ð¤· */ } if (yomihinshilen == 0) { /* ¤³¤³¤Þ¤ÇÉÊ»ì¾ðÊ󤬽ФƤ³¤Ê¤«¤Ã¤¿¡£ */ goto endDefineLine; } else if (*sp) { /* ¸õÊ䤬¤¢¤ë¤Î¤Ê¤é */ dp = buf + yomihinshilen; while (*sp && ( *sp != ' ' && *sp != '\t' )) { /* ¸õÊä¤Î¥³¥Ô¡¼ */ if (*sp == '\\' && *(sp+1) ) { /* ¥¨¥¹¥¨¡¼¥×¤µ¤ì¤¿Ê¸»ú */ *dp++ = *sp++ ; } *dp++ = *sp++; } *dp++ = '\0'; /* ¥Ì¥ëʸ»ú¤òºÇ¸å¤ËÆþ¤ì¤ë */ res = RkDefineDic(cx_num, (char *)name, buf); if (res < 0) { goto endDefineLine; } } } } endDefineLine: (void)free(buf); return res; } #ifdef TEST_DEFINEDIC RkDefineDic(cx_num, name, word) int cx_num; char *name; char *word; { printf("¡ùñ¸ì¤ÎÄêµÁ(¼­½ñ:%s) \"%s\"\n", name, word); return 0; } main() { char buf[2048], *p; int c; p = buf; c = getchar(); while (c >= 0) { if (c == '\n') { *p++ = '\0'; RkDefineLine(0, "tempdic", buf); p = buf; } else { *p++ = c; } c = getchar(); } } #endif /* TEST_DEFINEDIC */ CopyDic(cx_num, dirname, dicname1, dicname2, mode) int cx_num; unsigned char *dirname; unsigned char *dicname1; unsigned char *dicname2; int mode ; { register int i = 0; int ret; unsigned char buf[BUFLEN]; unsigned char dic1_bk[BUFLEN]; msg_set(); (void)strcpy((char *)dic1_bk, (char *)dicname1); do { /* RkGetWordTextDic¤ÎÊÖ¤êÃͤ¬Àµ¤Î´Ö¥ë¡¼¥×¤¹¤ë */ if((ret = RkGetWordTextDic(cx_num, dirname, dic1_bk, buf, BUFLEN)) >= 0) { if(!ret) break; if(dic1_bk[0] != '\0') { /* £±²óÌܤϥޥ¦¥ó¥È¤¹¤ë */ if(RkMountDic(cx_num, (char *)dicname2, 0)) { #ifdef DEBUG (void)fprintf(stderr, "\nmode=%d\n", mode); #endif /* ¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤¿»þ¤Î½èÍý */ if ((mode & KYOUSEI) == KYOUSEI) { RkCreateDic(cx_num, dicname2, mode); } else { (void)rmDictionary(cx_num, dicname2 ,mode); } (void)fprintf(stderr, gettxt("cannacmd:193", "Cannot mount dictionary \"%s\".\n"),dicname2); return -1; } } /* £±¹ÔÅÐÏ¿¤¹¤ë */ if (RkDefineLine(cx_num, dicname2, (char *)buf) == -1) { (void)fprintf(stderr,gettxt("cannacmd:194", "write error: \"%s\"\n"), buf); continue; } (void)strcpy((char *)buf,""); (void)strcpy((char *)dic1_bk, ""); i++; if ((i & 0x0f) == 0) { (void)fputs (".", stderr); } } else { /* RkGetWordTextDic¤ÎÊÖ¤êÃͤ¬Éé¤Î»þ */ RkUnmountDic(cx_num,(char *)dicname2); (void)fprintf(stderr,"\n"); PrintMessage(ret, dic1_bk); if ((mode & KYOUSEI) == KYOUSEI) { RkCreateDic(cx_num, dicname2, mode); } else { (void)rmDictionary(cx_num,dicname2, mode); } return -1; } } while(ret >= 0); RkUnmountDic(cx_num,(char *)dicname2); return 0; } PrintMessage(ret, dicname) int ret; unsigned char *dicname; { msg_set(); switch (ret) { case 0 : break; case NOENT : (void)fprintf(stderr, gettxt("cannacmd:195", "Dictionary \"%s\" does not exist.\n"), dicname); break; case NOTALC : (void)fprintf(stderr, msg_mem); break; case BADF : (void)fprintf(stderr, gettxt("cannacmd:196", "Specified dictionary \"%s\" is binary dictionary.\n"),dicname); break; case BADDR : (void)fprintf(stderr, gettxt("cannacmd:197", "dics.dir is abnormal.\n")); break; case NOMOUNT : (void)fprintf(stderr, gettxt("cannacmd:198", "Cannot mount dictionary \"%s\".\n"), dicname); break; case ACCES : (void)fprintf(stderr,gettxt("cannacmd:171", "Cannot access to dictionary.\n")); break; case TXTBSY : (void)fprintf(stderr,gettxt("cannacmd:209", "Dictionary \"%s\" is in use. Cannot overwrite it.\n"),dicname); break; default: if (init[0] != '/') { (void)fprintf(stderr,msg_abnls,init); } else { (void)fprintf(stderr,msg_abnl); } break; } } makeDictionary(cn, dicname, mode) int cn; unsigned char *dicname; int mode ; { char ans[79]; int ret = 0; static int majv , minv , bak ; msg_set(); /* server new/old check */ bak = RkwGetServerVersion(&majv, &minv); if(bak) { /* ¥µ¡¼¥Ð¤Î¾õÂÖ¤¬°Û¾ï */ if (init[0] != '/') { (void)fprintf(stderr, msg_abnls, init); } else { (void)fprintf(stderr, msg_abnl); } ret = -1; return ret; } if ( majv < 2 ) { /* irohaserver */ if(minv < 2) { /* R7.1¤è¤êÁ° */ if (init[0] != '/') { (void)fprintf(stderr, msg_mnts, init); } else { (void)fprintf(stderr, msg_mnt); } ret = -1; return ret; } if ((mode & PL_DIC) == PL_DIC ) { (void)fprintf(stderr,msg_fq); ret = -1 ; return ret ; } } if (( mode & PL_DIC ) != PL_DIC ) { switch ( RkCreateDic( cn, dicname, mode) ) { case 0 : (void)fprintf(stderr, gettxt("cannacmd:199", "New dictionary \"%s\" is created.\n"), dicname); (void)fprintf(stderr, gettxt("cannacmd:200", "Please change customize file.")); ret = 0; break; case 1 : (void)fprintf(stderr, gettxt("cannacmd:201", "Dictionary \"%s\" is overwritten."), dicname); ret = 0; break; case NOTALC : (void)fprintf(stderr, msg_mem); ret = -1; break; case BADF : (void)fprintf(stderr, gettxt("cannacmd:202", "\"%s\" is binary dictionary. Cannot overwrite it.\n"),dicname); ret = -1; break; case BADDR : (void)fprintf(stderr,gettxt("cannacmd:203", "dics.dir is abnormal. Cannot create dictionary.\n")); ret = -1; break; case ACCES : (void)fprintf(stderr,gettxt("cannacmd:204","Cannot create dictionary.\n")); ret = -1; break; case EXIST : /* * check 'stdin' for uploaddic. */ if (isatty(fileno(stdin)) != 0) { (void)fprintf(stderr,gettxt("cannacmd:205", "Specified dictionary \"%s\" already exists. Do you overwrite it ? (y/n)"), dicname); fgets(ans,80,stdin); } else { (void)fprintf(stderr,gettxt("cannacmd:206", "Specified dictionary \"%s\" already exists."),dicname); (void)strcpy(ans,"n"); } if ( ans[0] == 'y' ) { mode |= KYOUSEI; if((ret = makeDictionary(cn, dicname, mode)) != 0) { #ifdef DEBUG fprintf(stderr, "makeDictionary: cannot create %s by mode %d\n", dicname, mode); #endif } } else { (void)fprintf(stderr, gettxt("cannacmd:207", "Dictionary \"%s\" is not created.\n"), dicname); ret = -1; } break; case INVAL : (void)fprintf(stderr,gettxt("cannacmd:208", "Dictionary \"%s\" is different from current dic. Cannot overwrite it.\n"), dicname); ret = -1; break; case MOUNT : case TXTBSY : (void)fprintf(stderr,gettxt("cannacmd:209", "Dictionary \"%s\" is in use. Cannot overwrite it.\n"),dicname); ret = -1; break; case BADARG : (void)fprintf(stderr,gettxt("cannacmd:210", "Mode value is abnormal.\n")); ret = -1; break; case BADCONT : (void)fprintf(stderr,msg_cnt); ret = -1; break; default: if(init[0] != '/') { (void)fprintf(stderr, msg_abnls, init); } else { (void)fprintf(stderr, msg_abnl); } exit(ERR_VALUE); break; } } else { /* PL_DIC */ switch ( RkCreateDic( cn, dicname, mode) ) { case 0 : (void)fprintf(stderr, gettxt("cannacmd:211", "Personal learning file of system dictionary \"%s\" is created."), dicname); ret = 0; break; case 1 : (void)fprintf(stderr, gettxt("cannacmd:212", "Personal learning file of system dictionary \"%s\" is overwritten."),dicname); ret = 0; break; case NOTALC : (void)fprintf(stderr, msg_mem); ret = -1; break; case BADF : (void)fprintf(stderr,gettxt("cannacmd:213", "\"%s\" is text dictionary. Cannot create personal learning file.\n"), dicname); ret = -1; break; case BADDR : (void)fprintf(stderr,gettxt("cannacmd:214", "dics.dir is abnormal. Personal learning file is not created. \n")); ret = -1; break; case ACCES : (void)fprintf(stderr, gettxt("cannacmd:215", "Personal learning file is not created.\n")); ret = -1; break; case EXIST : /* * check 'stdin' for uploaddic. */ if (isatty(fileno(stdin)) != 0) { (void)fprintf(stderr,gettxt("cannacmd:216", "Personal learning file of dictionary \"%s\" exists. Do you overwrite it ? (y/n)"),dicname); fgets(ans,80,stdin); } else { (void)fprintf(stderr,gettxt("cannacmd:217", "Personal learning file of system dictionary \"%s\" already exists."), dicname); (void)strcpy(ans,"n"); } if ( ans[0] == 'y' ) { mode |= KYOUSEI; if((ret = makeDictionary(cn, dicname, mode)) != 0) { #ifdef DEBUG fprintf(stderr, "makeDictionary: cannot create %s by mode %d\n", dicname, mode); #endif } } else { (void)fprintf(stderr, gettxt("cannacmd:218", "Personal learning file of system dictionary \"%s\" is not created.\n"), dicname); ret = -1; } break; case INVAL : (void)fprintf(stderr,gettxt("cannacmd:219", "Learning file \"%s\" is different from current dic. Cannot overwrite it.\n"), dicname); ret = -1; break; case MOUNT : case TXTBSY : (void)fprintf(stderr,gettxt("cannacmd:220", "\"%s\" is in use. Cannot overwrite personal learing file.\n"),dicname); ret = -1; break; case BADARG : (void)fprintf(stderr,msg_fq); ret = -1; break; case BADCONT : (void)fprintf(stderr,msg_cnt); ret = -1; break; case NOENT : /* 91.12.03 */ (void)fprintf(stderr, gettxt("cannacmd:221", "System dictionary \"%s\" does not exist.\n"), dicname); ret = -1 ; break ; default: if(init[0] != '/') { (void)fprintf(stderr, msg_abnls, init); } else { (void)fprintf(stderr, msg_abnl); } exit(ERR_VALUE); break; } } /* if end */ return ret; } int rmDictionary(cn, dicname,mode) int cn; unsigned char *dicname; int mode ; { int ret = 0; static int majv , minv ,bak ; /* add 91.11.21 */ msg_set() ; #ifdef DEBUG (void)fprintf(stderr,"RkRemoveDic(cn=%d,dicname=%s)\n", cn, dicname); #endif /* server new/old check */ bak = RkwGetServerVersion(&majv, &minv); if(bak) { /* ¥µ¡¼¥Ð¤Î¾õÂÖ¤¬°Û¾ï */ if (init[0] != '/') { (void)fprintf(stderr, msg_abnls,init); } else { (void)fprintf(stderr, msg_abnl); } ret = -1; return ret; } if ( majv < 2 ) { /* irohaserver */ if(minv < 2) { /* R7.1¤è¤êÁ° */ if (init[0] != '/') { (void)fprintf(stderr, msg_mnts, init); } else { (void)fprintf(stderr, msg_mnt); } ret = -1; return ret; } if ((mode & PL_DIC) == PL_DIC ) { (void)fprintf(stderr, msg_fq); ret = -1 ; return ret ; } } if (( mode & PL_DIC ) != PL_DIC ) { switch (RkRemoveDic(cn, dicname, mode)) { case 0: (void)fprintf(stderr, gettxt("cannacmd:222", "Dictionary \"%s\" is deleted.\n"), dicname ); ret = 0; break; case NOENT : (void)fprintf(stderr, gettxt("cannacmd:223", "Dictionary \"%s\" does not exist.\n"), dicname ); ret = -2 ; /* 93.03.03 */ break; case BADF : (void)fprintf(stderr,gettxt("cannacmd:224", "\"%s\" is binary dictionary. Cannot detele it.\n"),dicname); ret = -2; /* 93.03.03 */ break; case ACCES : (void)fprintf(stderr,gettxt("cannacmd:225", "Cannot delete dictionary \"%s\".\n"), dicname ); ret = -2; /* 93.03.03 */ break; case MOUNT: case TXTBSY: (void)fprintf(stderr,gettxt("cannacmd:226", "Dictinary \"%s\" is in use. Cannot delete it.\n"),dicname ); ret = -2; /* 93.03.03 */ break; case BADCONT : (void)fprintf(stderr, msg_cnt); ret = -1; break; default: if (init[0] != '/') { (void)fprintf(stderr, msg_abnls, init); } else { (void)fprintf(stderr, msg_abnl); } ret = -1; break; } } else { /* PL_DIC */ switch (RkRemoveDic(cn, dicname, mode)) { case 0: (void)fprintf(stderr, gettxt("cannacmd:227", "Personal learning file \"%s\" is deleted.\n"),dicname ); ret = 0; break; case NOENT : (void)fprintf(stderr, gettxt("cannacmd:228", "Personal learning file \"%s\" does not exist.\n"),dicname ); ret = -2; /* 93.03.03 */ break; case BADF : (void)fprintf(stderr,gettxt("cannacmd:229", "\"%s\" is text dictionary. Cannot delete it.\n"),dicname); ret = -2; /* 93.03.03 */ break; case ACCES : (void)fprintf(stderr,gettxt("cannacmd:230", "Cannot delete personal learning file \"%s\".\n"),dicname ); ret = -2; /* 93.03.03 */ break; case MOUNT: case TXTBSY: (void)fprintf(stderr,gettxt("cannacmd:231", "Personal learning file \"%s\" is in use. Cannot delete it.\n"),dicname ); ret = -2; /* 93.03.03 */ break; case BADCONT : (void)fprintf(stderr, msg_cnt); ret = -1; break; default: if (init[0] != '/') { (void)fprintf(stderr, msg_abnls, init); } else { (void)fprintf(stderr, msg_abnl); } ret = -1; break; } } /* if end */ return ret; } #ifndef USE_VARARGS /* VARARGS */ void Message(fmt, a, b, c, d, e, f, g, h, i, j) char *fmt; /* ARGSUSED *//* d °Ê¹ß¤Ï°ú¿ôÎΰè³ÎÊݤΤ¿¤á¤Î¥À¥ß¡¼°ú¿ô(ÉÔÍס©) */ { (void)fprintf(stderr, fmt, a, b, c); (void)fprintf(stderr, "\n"); (void)fflush(stderr); } #else /* USE_VARARGS */ #ifdef __STDC__ void Message(const char *fmt,...) { va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); va_end(ap); (void)fprintf(stderr, "\n"); (void)fflush(stderr); } #else /* !__STDC__ */ #define MAXARGS 5 void Message(va_alist) va_dcl { va_list ap; char *args[MAXARGS]; int argno = 0; char *fmt; va_start(ap); fmt = va_arg(ap, char *); while (argno < MAXARGS && (args[argno] = va_arg(ap, char *)) != (char *)0) { argno++; } args[MAXARGS - 1] = (char *)0; va_end(ap); (void)fprintf(stderr, fmt, args[0], args[1], args[2]); (void)fprintf(stderr, "\n"); (void)fflush(stderr); } #endif /* !__STDC__ */ #endif /* USE_VARARGS */ Canna37p3/cmd/chkconc/0040755000076500001200000000000010052700676014026 5ustar shinraadminCanna37p3/cmd/chkconc/.cvsignore0100644000076500001200000000003107601177334016022 0ustar shinraadmin.depend Makefile chkconc Canna37p3/cmd/chkconc/chkconc.c0100644000076500001200000000334307741277305015613 0ustar shinraadmin#include "RKintern.h" #include #include "ccompat.h" #include "RKindep/file.h" #if !defined( HYOUJUN_GRAM ) #ifdef USE_OBSOLETE_STYLE_FILENAME #define HYOUJUN_GRAM "/usr/lib/canna/dic/canna/fuzokugo.d" #else #define HYOUJUN_GRAM "/usr/lib/canna/dic/canna/fuzokugo.cbd" #endif #endif char *program; static void usage() { fprintf(stderr, "usage: %s [option] hinshi...\n", program); fprintf(stderr, "\t-d grammar-dic\n"); exit(1); } main(ac, av) int ac; char *av[]; { char *fzk = NULL; struct RkKxGram *gram; int i; program = RkiBasename(av[0]); if (!(++av, --ac)) usage(); if (!strcmp(av[0], "-d")) { if (!(++av, --ac)) usage(); fzk = av[0]; if (!(++av, --ac)) usage(); } if (!fzk) fzk = HYOUJUN_GRAM; if (!(gram = RkOpenGram(fzk))) { fprintf(stderr, "Warning: cannot open grammar file %s.\n", fzk); exit(1); } for (i = 0; i < ac; i++) { struct RkGramIterator curr, end; int row; if (av[i][0] == '#') av[i]++; row = RkGetGramNum(gram, av[i]); if (row < 0) { fprintf(stderr, "%s: unknown hinshi '%s'.\n", program, av[i]); return 1; } RkEndGram(&end, gram); fprintf(stdout, "before %s:\n", av[i]); for (RkFirstGram(&curr, gram); curr.rowcol < end.rowcol; RkNextGram(&curr)) { if (RkTestGram(gram, curr.rowcol, row)) fprintf(stdout, " %s", RkGetGramName(gram, curr.rowcol)); } fprintf(stdout, "\n"); fprintf(stdout, "after %s:\n", av[i]); for (RkFirstGram(&curr, gram); curr.rowcol < end.rowcol; RkNextGram(&curr)) { if (RkTestGram(gram, row, curr.rowcol)) fprintf(stdout, " %s", RkGetGramName(gram, curr.rowcol)); } fprintf(stdout, "\n"); } return 0; } /* vim: set sw=2: */ Canna37p3/cmd/chkconc/Imakefile0100644000076500001200000000071207614662720015643 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:32 aida_s Exp $ */ /* This file derived from cmd/crxdic/Imakefile. * 1997/09/22 modified by fujieda */ #include "../../Canna.conf" #ifdef USE_OBSOLETE_STYLE_FILENAME FUZOKUGODIC = $(DicDir)/canna/fuzokugo.d #else FUZOKUGODIC = $(DicDir)/canna/fuzokugo.cbd #endif EXTRA_DEFINES = -DHYOUJUN_GRAM=\"$(FUZOKUGODIC)\" #define SimpleCommand #define TargetName chkconc #define WantRKLib #include "../cmd.tmpl" Canna37p3/cmd/cmd.tmpl0100644000076500001200000000241507734505575014074 0ustar shinraadmin/* $Id: cmd.tmpl,v 1.4 2003/09/25 06:30:21 aida_s Exp $ */ CANNAROOT = ../.. CANNASRC = $(CANNAROOT)/lib/canna RKCSRC = $(CANNAROOT)/lib/RKC #ifdef engineSwitch ENGINE_DEFS = -DENGINE_SWITCH #endif DEFINES = $(CMDSUBDEFINES) $(SIGNAL_DEFINES) $(ENGINE_DEFS) $(CANNA_DEFINES) #ifdef WantRKLib INCLUDES = -I$(CANNAROOT)/include -I$(CANNAROOT)/lib/RK #else INCLUDES = -I$(CANNAROOT)/include #endif #ifdef SimpleCommand # ifndef SrcName # define SrcName TargetName # endif SRCS = SrcName.c OBJS = SrcName.o TARGET = TargetName AllTarget(ProgramTargetName($(TARGET))) # if defined(WantRKLib) NormalProgramTarget($(TARGET),$(OBJS),$(DEPRKLIB) $(DEPRKINDEPLIB),$(RKLIB) $(RKINDEPLIB),) # elif defined(WantRKCLib) NormalProgramTarget($(TARGET),$(OBJS),$(DEPRKCLIB) $(DEPRKINDEPLIB),$(RKCLIB) $(RKINDEPLIB),) # elif defined(WantCannaLib) NormalProgramTarget($(TARGET),$(OBJS),$(DEPCANNALIB) $(DEPRKINDEPLIB),$(CANNALIB) $(RKINDEPLIB),) # else NormalProgramTarget($(TARGET),$(OBJS),$(DEPRKINDEPLIB),$(RKINDEPLIB),) # endif InstallProgram($(TARGET),$(cannaBinDir)) # ifdef ManSrcName InstallManPageLong(ManSrcName,$(cannaManDir),$(TARGET)) # endif DependTarget() LintTarget() #endif /* SimpleCommand */ Canna37p3/cmd/crfreq/0040755000076500001200000000000010052700676013700 5ustar shinraadminCanna37p3/cmd/crfreq/.cvsignore0100644000076500001200000000003007601177334015673 0ustar shinraadmin.depend Makefile crfreq Canna37p3/cmd/crfreq/crfreq.c0100644000076500001200000001702407773337051015340 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 102.1 $Id: crfreq.c,v 1.5.2.2 2003/12/27 17:15:21 aida_s Exp $"; #endif #include "RKintern.h" #include #include #define create(a, b) creat(a, b) #define NDVAL_LEN 2 #define PG_HDR_SIZ 14 char *program = ""; static char * STrdup(s) char *s; { char *p = (char *)malloc(strlen(s) + 1); if (p) strcpy(p, s); return p; } unsigned char fqbits[1024*1024]; int CreateNL(fr, size1, size2) int fr; int size1; int size2; { unsigned char ll[4], *buf = (unsigned char *)0xdeadbeef; /* for gcc */ size1 = size1 > 0 ? size1 : 0; size2 = size2 > 0 ? size2 : 0; if (size1) { if (!(buf = (unsigned char *)calloc(1, (unsigned)(5*size1)))) { (void)free((char *)buf); return(-1); } } l_to_bst4((unsigned) size1, ll); (void)write(fr, (char *)ll, 4); l_to_bst4((unsigned) 0, ll); (void)write(fr, (char *)ll, 4); (void)write(fr, (char *)ll, 4); (void)write(fr, (char *)ll, 4); if (size1) { (void)write(fr, (char *)buf, (unsigned) 5*size1); (void)free((char *)buf); } if (size2) { if (!(buf = (unsigned char *)calloc(1, (unsigned)size2))) { (void)free((char *)buf); return(-1); } } l_to_bst4((unsigned) size2, ll); (void)write(fr, (char *)ll, 4); l_to_bst4((unsigned) 0, ll); (void)write(fr, (char *)ll, 4); l_to_bst4((unsigned) 32, ll); (void)write(fr, (char *)ll, 4); l_to_bst4((unsigned) 0, ll); (void)write(fr, (char *)ll, 4); if (size2) { (void)write(fr, (char *)buf, (unsigned) size2); (void)free((char *)buf); } return(0); } static void usage() { (void)fprintf(stderr, "usage: %s [dictionary-name]\n", program); exit(1); } main(argc, argv) int argc; char *argv[]; { struct HD hd; off_t off, doff; size_t sz; unsigned char ll[4], *buf; char *flnm = (char *)0, *dmnm, freq[RK_OLD_MAX_HDRSIZ]; char *frqf, *frqe, freqfile[RK_OLD_MAX_HDRSIZ]; int bit_size, fd, fr, fqoffset, i, j, k, lk, nc, nw, vds = 0, err; long fqbytes; freq[0] = '\0'; dmnm = (program = argv[0]) + strlen(argv[0]); if (*dmnm == '/') *dmnm = (char)0; while (dmnm-- >= program) if (*dmnm == '/') { program = dmnm + 1; } if (argc < 3) { (void)fprintf(stderr, "usage: %s [dictionary-name]\n", program); exit(1); }; i = 1; for (i = 1; i < argc; i++) { if (!strcmp("-div", argv[i])) { if (++i < argc) { vds = atoi(argv[i]); continue; } } if (!strcmp("-o", argv[i])) { if (++i < argc && !freq[0]) { strcpy(freq, argv[i]); continue; } } else if (i + 1 < argc && !flnm && (flnm = argv[i++]) && (dmnm = argv[i])) { continue; } usage(); } if (!flnm) usage(); if (strlen(flnm) >= RK_OLD_MAX_HDRSIZ || strlen(dmnm) >= RK_OLD_MAX_HDRSIZ || (fd = open(flnm, O_RDONLY)) < 0) { (void)fprintf(stderr, "%s: cannot open %s\n", program, flnm); exit(1); } #ifdef __CYGWIN32__ setmode(fd, O_BINARY); #endif for (off = 0, lk = 1, doff = 0, err = 0; !err && lk && _RkReadHeader(fd, &hd, off) >= 0; lk = strcmp(dmnm, (char *)hd.data[HD_DMNM].ptr)) { doff = off; off += hd.data[HD_SIZ].var; if (HD_VERSION(&hd) < 0x300702L && !strncmp(".swd", (char *)(hd.data[HD_DMNM].ptr + strlen((char *)hd.data[HD_DMNM].ptr) - 4), 4)) { if (lseek(fd, off, 0) < 0 || read(fd, (char *)ll, 4) != 4) err = 1; off += bst4_to_l(ll) + 4; } } if (lk) { (void)fprintf(stderr, "%s: cannot find %s in %s.\n", program, dmnm, flnm); exit(1); } if (!freq[0]) { (void)strcpy(freq, dmnm); #ifdef WINDOWS_STYLE_FILENAME (void)strcpy(freq + strlen(freq) - 3, "cld"); #else (void)strcpy(freq + strlen(freq) - 3, "fq"); #endif } (void)strcpy(freqfile, flnm); frqf = freqfile; for (frqe = frqf + strlen(frqf); frqe >= frqf; frqe--) if ( *frqe == '/') break; if(*frqf) { if(frqe == frqf + strlen(frqf) -1) freqfile[0] = (char) 0; else *(frqe+1)= (char) 0; } (void)strcat(freqfile, freq); if ((fr = create(freqfile, 0666)) == -1) { (void)close(fd); (void)fprintf(stderr, "%s: cannot create freqency file %s\n", program, freqfile); exit(1); } #ifdef __CYGWIN32__ setmode(fr, O_BINARY); #endif hd.flag[HD_CODM] = hd.flag[HD_DMNM]; hd.data[HD_CODM].ptr = hd.data[HD_DMNM].ptr; hd.data[HD_DMNM].ptr = (unsigned char *)STrdup(freq); hd.flag[HD_DMNM] = strlen(dmnm); if (!(buf = _RkCreateHeader(&hd, &sz))) { (void)fprintf(stderr, "%s: cannot alloc work space.\n", program); exit(1); } free((char *)buf); hd.data[HD_HSZ].var = sz; if (!(buf = _RkCreateHeader(&hd, &sz))) { (void)fprintf(stderr, "%s: cannot alloc work space.\n", program); exit(1); } if (write(fr, (char *)buf, sz) < 0) { (void)close(fd); (void)fprintf(stderr, "%s: cannot write header to \"%s\"\n", program, freqfile); exit(1); } free((char *)buf); doff += hd.data[HD_PGOF].var; sz = _RkCalcUnlog2(hd.data[HD_L2P].var) + 1; lk = hd.data[HD_PAG].var; if (!(buf = (unsigned char *)malloc(sz))) { (void)fprintf(stderr, "%s: cannot alloc work space.\n", program); exit(1); } fqoffset = 0; for (i = 0; i < lk; i++) { (void)lseek(fd, doff, 0); doff += sz; if (read(fd, (char *)buf, sz) != sz) { (void)fprintf(stderr, "%s: cannot read %s.\n", program, dmnm); exit(1); } off = bst2_to_s(buf + 2) * (hd.data[HD_WWID].var + NDVAL_LEN) + bst2_to_s(buf + 4) * 5 + PG_HDR_SIZ; nw = bst2_to_s(buf + 4); for (j = 0; j < nw; j++) { nc = _RkCandNumber(buf + off); bit_size = _RkCalcLog2(nc + 1)+1; for (k = 0; k < nc; k++) { unsigned w = k<<1; fqoffset = _RkPackBits(fqbits, fqoffset, bit_size, &w, 1); } off += _RkWordLength(buf + off); } } fqbytes = (fqoffset + 7)/8; (void)fprintf(stderr, "size %d bits %ld bytes\n", fqoffset, fqbytes); if (fqbytes >= sizeof(fqbits)) { (void)close(fd); (void)close(fr); (void)fprintf(stderr, "%s: insufficient internal table.\n", program); exit(1); }; l_to_bst4(fqbytes, ll); (void)write(fr, (char *)ll, 4); (void)write(fr, (char *)fqbits, (unsigned)fqbytes); (void)close(fd); if (CreateNL(fr, (int)(hd.data[HD_CAN].var * 0.05), vds) < 0) { (void)fprintf(stderr, "%s: '%s' is created, but it has wrong size.\n", program, freq); (void)close(fr); exit(1); } (void)close(fr); exit(0); } Canna37p3/cmd/crfreq/Imakefile0100644000076500001200000000026107614662720015514 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:32 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName crfreq #define WantRKLib #include "../cmd.tmpl" Canna37p3/cmd/crxdic/0040755000076500001200000000000010052700676013672 5ustar shinraadminCanna37p3/cmd/crxdic/.cvsignore0100644000076500001200000000003007601177335015666 0ustar shinraadmin.depend Makefile crxdic Canna37p3/cmd/crxdic/crxdic.c0100644000076500001200000007033107773337051015324 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 102.1 $Id: crxdic.c,v 1.11.2.2 2003/12/27 17:15:21 aida_s Exp $"; #endif #include "RKintern.h" #include #include #include #include #include #include #include #include "ccompat.h" #include "RKindep/file.h" #include "RKindep/cksum.h" #if !defined( HYOUJUN_GRAM ) #ifndef WINDOWS_STYLE_FILENAME #define HYOUJUN_GRAM "/usr/lib/canna/dic/canna/fuzokugo.d" #else #define HYOUJUN_GRAM "/usr/lib/canna/dic/canna/fuzokugo.cbd" #endif #endif #define PAGE_HDR_SIZ 14 #define MAX_PAGE_OFF 0x7fffff #define MAXPAGE_NUM(pagesize) (MAX_PAGE_OFF / pagesize) #define DEF_WTYP "W16 " struct node { unsigned long id; Wchar key; unsigned count; union { struct node *n; unsigned char *w; } ptr; int page_num; int wrec_bytes; unsigned size; }; struct direc { unsigned char *buf; unsigned dirsiz, diroff; unsigned nnode; }; struct page { unsigned char *buf; unsigned dirsiz, diroff; unsigned first_lvo; unsigned first_csn; unsigned lnksiz, lnkoff; unsigned wrdsiz, wrdoff; unsigned ndir, nlinks; unsigned nwrecs, nnode; int candnum; }; struct wlist { struct node *nd; struct wlist *next; int size; }; struct dictionary { unsigned MaxCand; unsigned PageSize; unsigned TotalRec; unsigned TotalCand; unsigned TotalPage; unsigned Cwidth; unsigned Lnd; unsigned Snd; unsigned PagNodeSize; unsigned DirNodeSize; unsigned LinkSize; struct node *Node; struct direc *Dir; struct page *Page; int pn; struct wlist *Wlist; unsigned rest; unsigned char *hdr; unsigned hdrsiz; unsigned empty; int type; char *name; char *gramdata; size_t gramsz; }; struct TextDic { Wchar *line; Wchar *yomi; }; #define is_in_dir(nd) (((nd)->page_num == -1) ? 1 : 0) #define is_word_node(nd) (((nd)->count == 0) ? 1 : 0) #define BIT_UNIT 8 #define WORD_NODE (0x80) #define LAST_NODE (0x40) #define PAG_NDVAL_LEN 2 #define DIR_NDVAL_LEN 3 #define JMWD 1 #define JSWD 2 #define JPRE 3 #define JSUC 4 #define DEFAULT_JAPANESE_LOCALE "japan" char *program; time_t tloc; char outfile[1024]; char textfile[1024]; char *gfile = 0; char dicname[1024]; char *localename = DEFAULT_JAPANESE_LOCALE; int search = 0; int type = JMWD; int compat = 0; int with_gram = 0; extern Wchar *euctous(); int getp pro((struct node *)); #define MAXLINE 1024 #define MAXKOUHO 64 #define MAXYOMI 64 #define MAXHINSHI 32 static char * STrdup(s) char *s; { char *p = (char *)malloc(strlen(s) + 1); if (p) strcpy(p, s); else { fprintf(stderr, "no space\n"); exit(1); } return p; } static int CopyLine(dst, src, len) Wchar *dst, *src; int len; { register Wchar *p = dst; for (; len > 0 ; len--) { if (*src == (Wchar)'\\') { len--; src++; if (len == 0) { break; } /* ɬÍפʥХ寥¹¥é¥Ã¥·¥å¤À¤Ã¤¿¤éÉÕ¤±¤ë¡£ ¤½¤¦¤¸¤ã¤Ê¤±¤ì¤Ð¼è¤ê½ü¤¯(Àµµ¬²½) */ if (*src == (Wchar)' ' || *src == (Wchar)'\t' || *src == (Wchar)'\\') { *p++ = (Wchar)'\\'; } } *p++ = *src++; } *p = (Wchar)0; return p - dst; } /* extractYomi -- RkwDefineDic ¤Î°ú¿ô¤«¤éÆÉ¤ß¤ò¼è¤ê½Ð¤¹¡£¤½¤Î¤È¤­¡¢¥Ð¥Ã¥¯ ¥¹¥é¥Ã¥·¥å¤â¼è¤ê½ü¤¯¡£ */ #define RkwIsGraphicChar(x) ((unsigned long)(x) > (unsigned long)' ') #define RkwIsControlChar(x) ((unsigned long)(x) < (unsigned long)' ') static Wchar * extractYomi(wrec) Wchar *wrec; { int yomilen; Wchar *p, *q, *res; for (yomilen = 0, p = wrec ; RkwIsGraphicChar(*p) ; p++, yomilen++) { if (*p == (Wchar)'\\' && *(p + 1)) { p++; } } res = (Wchar *)malloc((yomilen + 1) * sizeof(Wchar)); if (res) { int i; for (i = 0, p = wrec, q = res ; i < yomilen ; i++) { if (*p == (Wchar)'\\' && *(p + 1)) { p++; } *q++ = *p++; } *q = (Wchar)0; } return res; } /* open_wfile -- ¥Æ¥­¥¹¥È¼­½ñ¤òÆÉ¤ß¹þ¤ß Wchar ¤Ëľ¤·¤ÆÊÖ¤¹¡£nel ¤Ë¹Ô¿ô¤¬ÊÖ¤ë ¤Ä¤¤¤Ç¤ËÆÉ¤ß¤«¤é¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ò¼è¤ê½ü¤¤¤¿¤â¤Î¤òÆÉ¤ßÀìÍѤÎÇÛÎó¤ËÆþ¤ì¤ë¡£ */ struct TextDic * open_wfile(filename, nel) char *filename; unsigned *nel; { FILE *fp; Wchar line[MAXLINE]; struct TextDic *lines; int i; unsigned char aline[2*MAXLINE]; unsigned maxline; if (!(fp = fopen(filename, "r"))) { fprintf(stderr, "%s: cannot open %s\n", program, filename); exit(1); } #ifdef __EMX__ _fsetmode(fp, "t"); #endif maxline = 0; while (fgets((char *)aline, RkNumber(aline), fp)) { if (aline[0] != (unsigned char)'#') { maxline++; } } rewind(fp); lines = (struct TextDic *) calloc((unsigned int)(maxline + 1), sizeof(struct TextDic)); if (!lines) { fprintf(stderr, "%s: no more space", program); exit(1); } i = 0; while (fgets((char *)aline, RkNumber(aline), fp)) { int len = strlen((char *)aline); Wchar *p; if (aline[0] == (unsigned char)'#') { continue; } while (aline[len - 1] != '\n') { fprintf(stderr, "%s: too long line:%s\n", program, aline); if (!fgets((char *)aline, RkNumber(aline), fp)) { lines[maxline].line = (Wchar *)0; *nel = maxline; return lines; } len = strlen((char *)aline); } aline[--len] = 0; if (i == maxline) { fprintf(stderr, "%s: too many lines\n", program); exit(1); } p = euctous(aline, len, line, RkNumber(line)); len = p - line; if (!(p = (Wchar *)calloc((unsigned int)(len + 1), sizeof(Wchar)))) { fprintf(stderr, "%s: no more space\n", program); exit(1); } len = CopyLine(p, line, len); lines[i].line = p; lines[i].yomi = extractYomi(p); if (!lines[i].yomi) { fprintf(stderr, "%s: no more space\n", program); exit(1); } i++; } lines[maxline].line = (Wchar *)0; *nel = maxline; return lines; } unsigned char * nhash(buf, key, size, unit) unsigned char *buf; Wchar key; unsigned size; unsigned unit; { unsigned char *p; int i, j; i = ((int)key) % size; p = buf + unit * i; for (j = 0; j < size && (*p != 0xff || *(p+1) != 0xff) ; j++) { i = (i + 1) % size; p = buf + unit * i; } if (j == size) { fprintf(stderr, "%s: hash table overflow\n", program); exit(1); } return(p); } void fil_pnd(dst, c, nd, val, islast, size, unit) unsigned char *dst; int c; struct node *nd; unsigned long val; int islast; unsigned size; unsigned unit; { unsigned char *ptr; dst += c * unit; s_to_bst2(nd->key, dst); dst += 2; ptr = dst; *dst++ = (unsigned char)(val >> BIT_UNIT) & 0x3f; *dst++ = (unsigned char)(val & 0xff); if (is_word_node(nd)) { *ptr |= WORD_NODE; } else { *ptr &= ~WORD_NODE; } if (islast) { *ptr |= LAST_NODE; } else { *ptr &= ~LAST_NODE; } } void fil_dnd(dst, nd, val, size, unit) unsigned char *dst; struct node *nd; unsigned long val; unsigned size; unsigned unit; { dst = nhash(dst, nd->key, size, unit); s_to_bst2(nd->key, dst); dst += 2; l_to_bst3(val, dst); if (is_word_node(nd)) { *dst |= WORD_NODE; } else { *dst &= ~WORD_NODE; } dst += 3; } unsigned long fil_dic(nd, dic) struct node *nd; struct dictionary *dic; { struct page *P; struct direc *D; unsigned char *dst, *tmp; unsigned nid; unsigned long val, cval; int i, j; P = &dic->Page[nd->page_num]; D = dic->Dir; if (is_word_node(nd)) { assert(nd->page_num != -1); dst = P->buf + P->wrdoff; val = P->wrdoff; P->wrdoff += nd->wrec_bytes; memcpy((char *)dst, (char *)nd->ptr.w, (unsigned)nd->wrec_bytes); P->lnkoff += dic->LinkSize; val += dic->PageSize * nd->page_num + D->dirsiz; return(val); } else { nid = getp(nd); if (nd->page_num == -1) { val = D->diroff; dst = D->buf + D->diroff; D->diroff += dic->DirNodeSize * (nid + 1); s_to_bst2(nid, dst); dst += 2; l_to_bst3(0, dst); dst += 3; tmp = dst; for (i = 0; i < nid; i++) { for (j = 0; j < dic->DirNodeSize; j++) *dst++ = 0xff; } for (i = 0; i < nd->count; i++) { struct node *child = &nd->ptr.n[i]; cval = fil_dic(child, dic); fil_dnd(tmp, child, cval, nid, dic->DirNodeSize); } return val; } else { val = P->diroff; dst = P->buf + val; P->diroff += dic->PagNodeSize * nd->count; tmp = dst; for (i = 0; i < nd->count; i++) { struct node *child = &nd->ptr.n[i]; int lflag = 0; cval = fil_dic(child, dic); cval -= dic->PageSize * nd->page_num + D->dirsiz; assert(cval < dic->PageSize); if (i == nd->count - 1) lflag = 1; fil_pnd(tmp, i, child, cval, lflag, nd->count, dic->PagNodeSize); } val += dic->PageSize * nd->page_num + D->dirsiz; return(val); } } } struct page * alloc_page(dic, pn) struct dictionary *dic; unsigned pn; { struct page *P; int i; unsigned psize; P = dic->Page; psize = dic->PageSize; for (i = 0; i < pn; i++) { unsigned char *ptr; if (!(ptr = (unsigned char *)calloc(1, psize))) { fprintf(stderr, "no space\n"); exit(1); } P[i].buf = ptr; P[i].diroff = PAGE_HDR_SIZ; P[i].lnkoff = P[i].dirsiz; P[i].wrdoff = P[i].dirsiz + P[i].lnksiz; } return P; } void alloc_dir(dic) struct dictionary *dic; { struct direc *D = dic->Dir; int sz = D->dirsiz; unsigned char *p; if (!(p = (unsigned char *)malloc((unsigned)sz))) { fprintf(stderr, "no space\n"); exit(1); } memset((char *)p, ~0, (unsigned)sz); D->buf = p; } struct wlist * append_wlist(dic, tail, nd) struct dictionary *dic; struct wlist *tail; struct node *nd; { struct wlist *w; if (!tail) tail = dic->Wlist; while (tail->next) tail = tail->next; if (!(w = (struct wlist *)calloc(1, sizeof(struct wlist)))) { fprintf(stderr, "no space\n"); exit(1); } tail->next = w; w->next = 0; w->nd = nd; w->size = nd->size; dic->rest++; return w; } static int is_overflow_page(dic, pg, pn, size) struct dictionary *dic; struct page *pg; unsigned pn, size; { unsigned total; if (pn != -1) { total = pg[pn].dirsiz + pg[pn].lnksiz + pg[pn].wrdsiz + size; if (dic->PageSize <= total) return 1; } return 0; } static int atop = 1; int assign_to_page(dic, nd, page_num, is_pn_indir) struct dictionary *dic; struct node *nd; unsigned page_num; int is_pn_indir; { struct page *P; struct direc *D; int i, nid; unsigned pn; P = dic->Page; D = dic->Dir; if (is_word_node(nd)) { if (is_pn_indir) { append_wlist(dic, (struct wlist *)0, nd); for (pn = 0; pn < dic->TotalPage; pn++) { if (!is_overflow_page(dic, P, pn, nd->size)) break; } if (pn == dic->TotalPage) { fprintf(stderr, "error:too many pages %d, %d\n", pn, nd->size); exit(1); } } else { pn = page_num; } nd->page_num = pn; P[pn].lnksiz += dic->LinkSize; P[pn].wrdsiz += nd->wrec_bytes; P[pn].nlinks++; P[pn].nwrecs++; P[pn].candnum += _RkCandNumber(nd->ptr.w); return page_num; } else { nid = getp(nd); if (nd->size >= dic->PageSize || atop) { atop = 0; nd->page_num = -1; D->dirsiz += dic->DirNodeSize * (nid + 1); D->nnode += nid + 1; dic->empty += (nid - nd->count) * dic->DirNodeSize; for (i = 0; i < nd->count; i++) { struct node *child = &nd->ptr.n[i]; page_num = assign_to_page(dic, child, page_num, 1); } return page_num; } else { if (!is_pn_indir) { pn = page_num; assert(!is_overflow_page(dic, P, page_num, nd->size)); } else { for (pn = 0; pn < dic->TotalPage; pn++) { if (!is_overflow_page(dic, P, pn, nd->size)) break; } if (pn == dic->TotalPage) { nd->page_num = -1; D->dirsiz += dic->DirNodeSize * (nid + 1); D->nnode += nid + 1; dic->empty += (nid - nd->count) * dic->DirNodeSize; for (i = 0; i < nd->count; i++) { struct node *child = &nd->ptr.n[i]; page_num = assign_to_page(dic, child, page_num, 1); } return page_num; } } P[pn].ndir++; nd->page_num = pn; P[pn].dirsiz += dic->PagNodeSize * nd->count; dic->empty += (nd->count - nd->count) * dic->PagNodeSize; P[pn].nnode += nd->count; for (i = 0; i < nd->count; i++) { pn = assign_to_page(dic, &nd->ptr.n[i], pn, 0); } } } return page_num; } void calculate_dic_status(dic) struct dictionary *dic; { int i, totalcand = 0, snd = 0; for (i = 0; i < dic->TotalPage; i++) { struct page *P = &dic->Page[i]; if (P->dirsiz == PAGE_HDR_SIZ && !P->lnksiz && !P->wrdsiz) break; P->first_csn = totalcand; P->first_lvo = 0; totalcand += dic->Page[i].candnum; snd += dic->Page[i].nnode; } if (dic->Dir->dirsiz + i * dic->PageSize >= 0x800000) { fprintf(stderr, "Over 8MB dictionary"); exit(1); } dic->TotalPage = i; dic->TotalCand = totalcand; dic->Snd = snd; dic->Lnd = dic->Dir->nnode; } void fil_ltab(gram, dic) struct dictionary *dic; struct RkKxGram *gram; { unsigned long first_lvo, pwo, lvo, csn; int i, pn; first_lvo = 0; for (pn = 0; pn < dic->TotalPage; pn++) { struct page *P; unsigned char *dst; unsigned char *wrec; unsigned wlen; unsigned char *ptr; P = &dic->Page[pn]; ptr = dst = P->buf + P->dirsiz; wrec = dst + P->lnksiz; pwo = wrec - P->buf; csn = 0; P->first_lvo = first_lvo; lvo = 0; for (i = 0; i < P->nwrecs; i++) { unsigned nc, lnksiz; wlen = _RkWordLength(wrec); nc = _RkCandNumber(wrec); lnksiz = (unsigned long)nc*(_RkCalcLog2(nc+1)+1); *ptr++ = (pwo >> 6) & 0xff; *ptr++ = ((pwo << 2) & 0xfc) | ((lvo >> 13) & 0x03); *ptr++ = (lvo >> 5) & 0xff; *ptr++ = ((lvo << 3) & 0xf8) | ((csn >> 8) & 0x07); *ptr++ = csn & 0xff; P->nlinks++; lvo += lnksiz; first_lvo += lnksiz; csn += nc; pwo += wlen; wrec += wlen; } } } void fil_page_header(dic) struct dictionary *dic; { int pn; unsigned char *dst; for (pn = 0; pn < dic->TotalPage; pn++) { struct page *P = &dic->Page[pn]; dst = P->buf; s_to_bst2(pn, dst); dst += 2; s_to_bst2(P->nnode, dst); dst += 2; s_to_bst2(P->nwrecs, dst); dst += 2; *dst++ = 0; l_to_bst3(P->first_lvo, dst); dst += 3; l_to_bst3(P->first_csn, dst); dst += 3; *dst++ = 0; } } struct node * build_tree(parent, dic, gram, wrec_ptr, d, top, bot, dir_nodes) struct node *parent; struct dictionary *dic; struct RkKxGram *gram; struct TextDic *wrec_ptr; unsigned d, top, bot; unsigned *dir_nodes; { int F1 = top; int F2 = bot; unsigned f; struct node *dir; int i, k; int left; int size; *dir_nodes = 0; while (top < bot) { if (!wrec_ptr[top].yomi) { fprintf(stderr, "Line number mismatch.\n"); exit(1); } for (f = top + 1; f < bot; f++) if (wrec_ptr[top].yomi[d] != wrec_ptr[f].yomi[d]) break; top = f; (*dir_nodes)++; if (!*dir_nodes) { fprintf(stderr, "fatal error found: n nodes overflowed!!\n"); exit(1); } } if (!*dir_nodes) { fprintf(stderr, "found no directory\n"); exit(1); } ; if (!(dir = (struct node *)calloc(*dir_nodes, (sizeof(struct node))))) { fprintf(stderr, "no space\n"); exit(1); } k = 0; top = F1; bot = F2; while (top < bot) { for (f = top + 1; f < bot; f++) { if (wrec_ptr[top].yomi[d] != wrec_ptr[f].yomi[d]) { break; } } dir[k].key = wrec_ptr[top].yomi[d]; if (top + 1 == f) { unsigned char *wrec, *dst, localbuf[RK_WREC_BMAX]; unsigned sz; dir[k].count = 0; dir[k].ptr.w = 0; { int j; for (j = d, left = 0 ; wrec_ptr[top].yomi[j]; j++, left++) ; if (left > 0) left--; } dst = RkParseWrec(gram, wrec_ptr[top].line, left, localbuf, sizeof(localbuf)); if (!dst) { fprintf(stderr, "Error in RkParseWrec\n"); exit(1); } sz = dst - localbuf; dir[k].wrec_bytes = sz; if (!(wrec = (unsigned char *)malloc(sz))) { fprintf(stderr, "no space\n"); exit(1); } dir[k].ptr.w = wrec; memcpy((char *)wrec, (char *)localbuf, sz); size = dir[k].wrec_bytes + dic->LinkSize; } else { if (wrec_ptr[top].yomi[d] == 0) { fprintf(stderr, "Duplicate entry\n"); exit(1); } dir[k].ptr.n = build_tree(&dir[k], dic, gram, wrec_ptr, d + 1, top, f, &dir[k].count); dir[k].wrec_bytes = 0; size = dic->PagNodeSize * dir[k].count; for (i = 0; i < dir[k].count; i++) { struct node *child = &dir[k].ptr.n[i]; size += child->size; } } dir[k].size = size; if (dir[k].size >= dic->PageSize) { dir[k].page_num = -1; } top = f; k++; } return dir; } static struct node * creat_tree(dic, gram) struct dictionary *dic; struct RkKxGram *gram; { int i; struct TextDic *top; unsigned nnodes, nel; struct node *dir, *topnode; if (!(topnode = (struct node *)calloc(1, sizeof(struct node)))) { fprintf(stderr, "no space\n"); exit(1); } if (!(top = open_wfile(textfile, &nel))) { fprintf(stderr, "cannot open file %s\n", textfile); exit(1); } dic->TotalRec = nel; if (!(dir = build_tree(topnode, dic, gram, top, 0, 0, nel, &nnodes))) { fprintf(stderr, "no space\n"); exit(1); } topnode->key = 0xff; topnode->count = nnodes; topnode->ptr.n = dir; topnode->page_num = -1; topnode->wrec_bytes = 0; for (topnode->size = 0, i = 0; i < nnodes; i++) { topnode->size += dir[i].size; } (void)assign_to_page(dic, topnode, 0, 1); calculate_dic_status(dic); for (i = 0; i < nel; i++) { if (top[i].line) { free((char *)top[i].line); } if (top[i].yomi) { free((char *)top[i].yomi); } } free((char *)top); return topnode; } struct dictionary * init_dic(name, dictype, maxpage) char *name; int dictype; unsigned maxpage; { struct dictionary *dic; int i; if (!(dic = (struct dictionary *)malloc(sizeof(struct dictionary))) || !(dic->Dir = (struct direc *)malloc(sizeof(struct direc))) || !(dic->Wlist = (struct wlist *)malloc(sizeof(struct wlist))) || !(dic->Page = (struct page *)malloc(maxpage*sizeof(struct page))) ) { fprintf(stderr, "no space\n"); exit(1); } dic->Dir->buf = 0; dic->Dir->dirsiz = dic->Dir->diroff = 0; dic->Dir->nnode = 0; dic->Wlist->nd = (struct node *)0; dic->Wlist->next = (struct wlist *)0; dic->Wlist->size = 0; dic->TotalPage = maxpage; for (i = 0; i < dic->TotalPage; i++) { dic->Page[i].buf = (unsigned char *)0; dic->Page[i].diroff = dic->Page[i].dirsiz = PAGE_HDR_SIZ; dic->Page[i].lnksiz = dic->Page[i].wrdsiz = dic->Page[i].wrdoff = dic->Page[i].nwrecs = dic->Page[i].nnode = dic->Page[i].ndir = dic->Page[i].nlinks = dic->Page[i].nwrecs = dic->Page[i].candnum = 0; dic->Page[i].first_lvo = dic->Page[i].first_csn = -1; } dic->MaxCand = _RkCalcUnlog2(11); dic->PageSize = _RkCalcUnlog2(13) + 1; dic->TotalRec = 0; dic->TotalCand = 0; dic->Cwidth = 2; dic->PagNodeSize = dic->Cwidth + PAG_NDVAL_LEN; dic->DirNodeSize = dic->Cwidth + DIR_NDVAL_LEN; dic->LinkSize = 5; dic->Lnd = dic->Snd = 0; dic->rest = 0; dic->hdr = 0; dic->hdrsiz = 0; dic->empty = 0; strcat(name, dictype == JMWD ? ".mwd" : ".swd"); dic->name = name; dic->type = dictype; return dic; } static void makeHeader(dic) struct dictionary *dic; { unsigned char *buf; size_t size; struct HD hd; canna_uint32_t crc; unsigned i; RkiCksumCalc calc; unsigned off; if (RkiCksumCRCInit(&calc) || RkiCksumAdd(&calc, dic->Dir->buf, dic->Dir->dirsiz)) { fprintf(stderr, "no space\n"); exit(1); } for (i = 0; i < dic->TotalPage; i++) { const struct page *P = &dic->Page[i]; if (RkiCksumAdd(&calc, P->buf, dic->PageSize)) { fprintf(stderr, "no space\n"); exit(1); } } crc = RkiCksumCRCFinish(&calc); for (i = 0; i < HD_MAXTAG; i++) { hd.data[i].ptr = NULL; hd.flag[i] = 0; } hd.data[HD_MAG].var = bst4_to_l("CDIC"); hd.flag[HD_MAG] = -1; if (compat) { hd.data[HD_VER].var = bst4_to_l("R3.0"); hd.flag[HD_VER] = -1; } else { hd.data[HD_CURV].var = 0x300702L; hd.flag[HD_CURV] = -1; hd.data[HD_CMPV].var = 0x300702L; hd.flag[HD_CMPV] = -1; } hd.data[HD_TIME].var = tloc = time(0); hd.flag[HD_TIME] = -1; hd.data[HD_DMNM].ptr = (unsigned char *)STrdup(dic->name); hd.flag[HD_DMNM] = strlen(dic->name); hd.data[HD_LANG].ptr = (unsigned char *)STrdup(DEFAULT_JAPANESE_LOCALE); hd.flag[HD_LANG] = strlen(DEFAULT_JAPANESE_LOCALE); hd.data[HD_WWID].var = dic->Cwidth; hd.flag[HD_WWID] = -1; hd.data[HD_WTYP].var = bst4_to_l(DEF_WTYP); hd.flag[HD_WTYP] = -1; hd.data[HD_TYPE].var = bst4_to_l(DEF_TYPE); hd.flag[HD_TYPE] = -1; hd.data[HD_HSZ].var = 0; /* dummy */ hd.flag[HD_HSZ] = -1; hd.data[HD_SIZ].var = 0; /* dummy */ hd.flag[HD_SIZ] = -1; hd.data[HD_DROF].var = 0; /* dummy */ hd.flag[HD_DROF] = -1; hd.data[HD_PGOF].var = 0; /* dummy */ hd.flag[HD_PGOF] = -1; hd.data[HD_L2P].var = 13; hd.flag[HD_L2P] = -1; hd.data[HD_L2C].var = 11; hd.flag[HD_L2C] = -1; hd.data[HD_REC].var = dic->TotalRec; hd.flag[HD_REC] = -1; hd.data[HD_CAN].var = dic->TotalCand; hd.flag[HD_CAN] = -1; hd.data[HD_PAG].var = dic->TotalPage; hd.flag[HD_PAG] = -1; hd.data[HD_LND].var = dic->Lnd; hd.flag[HD_LND] = -1; hd.data[HD_SND].var = dic->Snd; hd.flag[HD_SND] = -1; if (!compat) { hd.data[HD_CRC].var = crc; hd.flag[HD_CRC] = -1; } if (!compat && with_gram) { hd.data[HD_GRAM].var = 0; /* dummy */ hd.flag[HD_GRAM] = -1; hd.data[HD_GRSZ].var = dic->gramsz; hd.flag[HD_GRSZ] = -1; } if (!(buf = _RkCreateHeader(&hd, &size))) { fprintf(stderr, "no space\n"); exit(1); } free(buf); off = size; hd.data[HD_HSZ].var = off; hd.flag[HD_HSZ] = -1; hd.data[HD_DROF].var = off; hd.flag[HD_DROF] = -1; off += dic->Dir->dirsiz; hd.data[HD_PGOF].var = off; hd.flag[HD_PGOF] = -1; off += dic->TotalPage * dic->PageSize; if (!compat && with_gram) { hd.data[HD_GRAM].var = off; off += dic->gramsz; } hd.data[HD_SIZ].var = off; /* exclude grammar size if 3.0 compatible mode */ hd.flag[HD_SIZ] = -1; if (!(buf = _RkCreateHeader(&hd, &size))) { fprintf(stderr, "no space.\n"); exit(1); } dic->hdr = buf; dic->hdrsiz = size; return; } static void write_file(out, dic) char *out; struct dictionary *dic; { int i, fd; unlink(out); if ((fd = open(out, (O_CREAT | O_RDWR | O_APPEND), 0644)) < 0) { fprintf(stderr, "can't create %s\n", out); exit(1); } #ifdef __CYGWIN32__ setmode(fd, O_BINARY); #endif makeHeader(dic); if (dic->hdr) if (write(fd, (char *)dic->hdr, dic->hdrsiz) != dic->hdrsiz) { fprintf(stderr, "%s: cannot write\n", program); close(fd); exit(1); } if (write(fd, (char *)dic->Dir->buf, dic->Dir->dirsiz) != dic->Dir->dirsiz) { fprintf(stderr, "%s: cannot write\n", program); close(fd); exit(1); } for (i = 0; i < dic->TotalPage; i++) { struct page *P = &dic->Page[i]; if (write(fd, (char *)P->buf, dic->PageSize) != dic->PageSize) { fprintf(stderr, "%s: cannot write\n", program); close(fd); exit(1); } } if (with_gram) { if (write(fd, (char *)dic->gramdata, dic->gramsz) != dic->gramsz) { fprintf(stderr, "%s: cannot write\n", program); close(fd); exit(1); } } close(fd); } static void usage() { fprintf(stderr, "usage: crxdic [option] -o dicfile text\n"); fprintf(stderr, "\toptions:\n"); fprintf(stderr, "\t-D cnj.bits\n"); fprintf(stderr, "\t-n dicname\n"); fprintf(stderr, "\t-m \n"); fprintf(stderr, "\t-s \n"); fprintf(stderr, "\t-g \n"); fprintf(stderr, "\t-c ver\n"); fprintf(stderr, "compatible version: 3.0, 3.7\n"); exit(1); } static void parse_arg(argc, argv) int argc; char *argv []; { int i; for (i = 1; i < argc; i++) { if (!strcmp(argv[i], "-D")) { if (++i < argc) { gfile = argv[i]; continue; } } else if (!strcmp(argv[i], "-s")) { type = JSWD; continue; } else if (!strcmp(argv[i], "-m")) { type= JMWD; continue; } else if (!strcmp(argv[i], "-g")) { with_gram = 1; continue; } else if (!strcmp(argv[i], "-c")) { if (++i < argc) { if (!strcmp(argv[i], "3.0")) { compat = 1; continue; } else if (!strcmp(argv[i], "3.7")) { compat = 0; continue; } } usage(); } else if (!strcmp(argv[i], "-o") && !outfile[0]) { if (++i < argc) { strcpy(outfile, argv[i]); continue; } } else if (!strcmp(argv[i], "-n") && !dicname[0]) { if (++i < argc) { strcpy(dicname, argv[i]); continue; } } else if (!textfile[0]) { strcpy(textfile, argv[i]); continue; } usage(); } if (!textfile[0] || !outfile[0]) usage(); if (with_gram && (type != JSWD || !gfile)) usage(); } getp(nd) struct node *nd; { int n, k; if ((n = nd->count * 1.2) == 1) return(2); n += (n % 2) ? 2 : 1; loop: for (k = 3; k * k <= n; k += 2) if (!(n % k)) { n += 2; goto loop; } return(n); } main (argc, argv) int argc; char **argv; { struct dictionary *dic; struct node *topnd; int fd, i; struct RkKxGram *gram; char date[26], tempfile[1024]; program = RkiBasename(argv[0]); textfile[0] = dicname[0] = outfile[0] = 0; parse_arg(argc, argv); (void)strcpy(tempfile, RkiBasename(textfile)); for (i = strlen(tempfile), dicname[i] = 0; i--;) if (tempfile[i] == '.') dicname[i] = 0; else dicname[i] = tempfile[i]; if (!dicname[0]) usage(); if (!(dic = init_dic(dicname, type, 1024))) { fprintf(stderr, "no space.\n"); exit(1); } if (!gfile) { if(!(gram = RkOpenGram(HYOUJUN_GRAM))) { fprintf(stderr, "Warning: cannot open grammar file %s.\n", HYOUJUN_GRAM); exit(1); } } else { FILE *fp = fopen(gfile, "r"); if (!fp) goto gram_err; if (!(dic->gramdata = RkiReadWholeFile(fp, &dic->gramsz))) goto gram_err; fclose(fp); if ((fd = open(gfile, 0)) < 0 || !(gram = RkReadGram(fd, dic->gramsz))) goto gram_err; close(fd); goto gram_ok; gram_err: fprintf(stderr, "%s: cannot open grammar file %s.\n", program, gfile); exit(1); /* NOTREACHED */ gram_ok:; } topnd = creat_tree(dic, gram); alloc_dir(dic); alloc_page(dic, dic->TotalPage); (void)fil_dic(topnd, dic); fil_ltab(gram, dic); fil_page_header(dic); if (!outfile[0]) { strcpy(outfile, dicname); #ifndef WINDOWS_STYLE_FILENAME strcat(outfile, ".d"); #else strcat(outfile, ".cbd"); #endif } write_file(outfile, dic); strcpy(date, ctime( &tloc )); date[24] = 0; (void)fprintf(stderr, "%s has %d entries with %d words\n", dicname, dic->TotalRec, dic->TotalCand); return(0); } /* vim: set sw=2: */ Canna37p3/cmd/crxdic/Imakefile0100644000076500001200000000056107614662720015511 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:32 aida_s Exp $ */ #include "../../Canna.conf" #ifdef USE_OBSOLETE_STYLE_FILENAME FUZOKUGODIC = $(DicDir)/canna/fuzokugo.d #else FUZOKUGODIC = $(DicDir)/canna/fuzokugo.cbd #endif EXTRA_DEFINES = -DHYOUJUN_GRAM=\"$(FUZOKUGODIC)\" #define SimpleCommand #define WantRKLib #define TargetName crxdic #include "../cmd.tmpl" Canna37p3/cmd/crxgram/0040755000076500001200000000000010052700676014061 5ustar shinraadminCanna37p3/cmd/crxgram/.cvsignore0100644000076500001200000000003107601177335016056 0ustar shinraadmin.depend Makefile crxgram Canna37p3/cmd/crxgram/crxgram.c0100644000076500001200000003457507637501711015707 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef LINT static char rcsid[]="@(#) 102.1 $Id: crxgram.c,v 1.6 2003/03/24 04:04:25 aida_s Exp $"; #endif /* #include "RKintern.h" */ #include "ccompat.h" #include #include "RKindep/file.h" #define LOGIC_HACK #define MAXLINE 2048 /* maximum length of a line */ #define MAXIDENT 1013 /* must be a PRIME number */ #define MAXSTR (MAXIDENT*10) /* maximum string area */ #define ROWBITS 9 /* bits of maximum row number */ struct ident { char *name; short rownum; short colnum; short numrow; short hasconnect; }; /* hash table */ static struct ident **Row, **Column; /* string table */ static char Str[MAXSTR]; static char *nextStr = Str; #define LTOL4(l, l4) {\ (l4)[0] = ((l)>>24)&255;\ (l4)[1] = ((l)>>16)&255;\ (l4)[2] = ((l)>>8)&255;\ (l4)[3] = (l)&255;\ } #define GetGramRow(g, r) ((g)->ng_conj + (r)*(g)->ng_rowbyte) struct RkKxGram { /* setuzoku jouhou */ int ng_row; /* row no kazu */ int ng_col; /* col no kazu */ int ng_rowbyte; /* row atari no byte suu */ unsigned char *ng_conj; /* setuzoku gyouretu/code table */ unsigned char *ng_strtab; #ifdef LOGIC_HACK int ng_numneg; unsigned long *ng_neg; #endif } gram; /* error handling */ static char fileName[256]; static int lineNum; static void usage(prog) char *prog; { (void)fprintf(stderr, "%s [-f inputs]\n", RkiBasename(prog)); exit(1); } /*VARARGS*/ void alert(fmt, arg) char *fmt; char *arg; { char msg[256]; (void)sprintf(msg, fmt, arg); (void)fprintf(stderr, "#line %d %s: %s\n", lineNum, fileName, msg); } void fatal(fmt, arg) char *fmt; char *arg; { char msg[256]; (void)sprintf(msg, fmt, arg); (void)fprintf(stderr, "#line %d %s: (FATAL) %s\n", lineNum, fileName, msg); exit(1); } #define EOL '\n' unsigned char * readLine(s, len, fp) unsigned char *s; unsigned len; FILE *fp; { int i; while ( fgets((char *)s, (int)len, fp) ) { i = strlen((char *)s); if (s[i - 1] == EOL) s[--i] = (unsigned char)0; if ( s[0] == '#' ) /* syncronize the line information */ (void)sscanf((char *)s + 1, "%d %s", &lineNum, fileName); else { lineNum++; return s; }; } return (unsigned char *)0; } unsigned char * scanToken(s, token, maxtoken) unsigned char *s; unsigned char *token; int maxtoken; { int i; /* skip the leading blanks */ while ( *s && *s <= ' ' ) s++; i = 0; while ( *s > ' ' ) if ( i < maxtoken - 1 ) token[i++] = *s++; token[i] = 0; return s; } static int probeHole; struct ident * probeIdent(hid, name) struct ident **hid; char *name; { char *p; register unsigned h, i, count; /* compute the hash unsigned value */ for ( h = 0, p = name; *p; ) h = (h<<4) + *p++; h %= MAXIDENT; if ( !h ) h = *name; i = h; probeHole = -1; for ( count = MAXIDENT; count; count-- ) { struct ident *id = hid[i]; if ( id ) { if ( !strcmp(id->name, name) ) return id; i += h; if ( i >= MAXIDENT ) i -= MAXIDENT; } else { probeHole = i; return (struct ident *)0; }; }; return (struct ident *)0; } struct ident * addIdent(hid, name, rownum, colnum) struct ident **hid; char *name; int rownum, colnum; { struct ident *id; if ( !probeIdent(hid, name) ) { if ( id = (struct ident *)malloc(sizeof(struct ident)) ) { id->name = (char *)malloc((unsigned)strlen(name) + 1); if ( !id->name ) fatal("No more memory", 0); /*NOTREACHED*/ (void)strcpy(id->name, name); id->colnum = colnum; id->rownum = rownum; id->numrow = 0; id->hasconnect = 0; hid[probeHole] = id; return id; }; fatal("No more memory", 0); /*NOTREACHED*/ }; return (struct ident *)0; } void enterIdent(fp) FILE *fp; { unsigned char S[MAXLINE], *s; FILE *def, *swd, *mac; struct ident *cc; /* current column */ gram.ng_row = gram.ng_col = 0; def = fopen("./cnj.h", "w"); swd = fopen("./cnj.swd", "w"); mac = fopen("./cnj.mac", "w"); if ( !def ) fatal("Cannot create file %s", "cnj.h"); if ( !swd ) fatal("Cannot create file %s", "cnj.swd"); if ( !mac ) fatal("Cannot create file %s", "cnj.mac"); cc = (struct ident *)0; while ( readLine(s = S, sizeof(S), fp)) { unsigned char tag[256], words[MAXLINE]; unsigned char cname[256], rname[256]; unsigned char *w; struct ident *r; if ( s[0] == '%' ) break; /* parse line ( [cname] tag word ) */ if ( s[0] > ' ' ) { struct ident *c; gram.ng_col = gram.ng_row; s = scanToken(s, cname, sizeof(cname)); c = addIdent(Column, (char *)cname, gram.ng_row, gram.ng_col); if ( !c ) { alert("column <%s> redefined", rname); continue; }; cc = c; }; s = scanToken(s, tag, sizeof(tag)); if ( !tag[0] ) continue; if ( !cc ) { alert("no current column", 0); continue; }; (void)strcpy((char *)rname, cc->name); if ( tag[0] != '_' ) (void)strcat((char *)rname, (char *)tag); r = addIdent(Row, (char *)rname, gram.ng_row, cc->colnum); if ( !r ) { alert("row <%s> redefined", rname); continue; }; cc->numrow++; gram.ng_row++; /* set the string table */ if ( nextStr + strlen((char *)rname) + 1 >= &Str[MAXSTR] ) fatal("string table overflow at <%s>", (char *)rname); (void)strcpy(nextStr, (char *)rname); nextStr += strlen((char *)rname) + 1; /* */ (void)fprintf(mac, "#define\t%s\t%d\n", r->name, r->rownum); (void)fprintf(def, "#define\tP_%s\t%3d\n", r->name, r->rownum); (void)fprintf(def, "#define\tR_%s\t%3d\n", r->name, r->rownum); /* words wo dasu */ s = scanToken(s, words, sizeof(words)); if ( words[0] == '_' ) continue; w = words; while ( *w ) { unsigned char word[256], *p; p = word; while ( *w ) { *p++ = *w++; if ( p[-1] == '/' ) { p[-1] = 0; break; }; }; *p = 0; /* ¸ß´¹À­¤Î¤¿¤á rownum ¤ò£²²ó½ñ¤¯ */ (void)fprintf(swd, "%s\t#%d#%d\t@\n", word, r->rownum, r->rownum); (void)strcpy((char *)word, (char *)w); }; }; (void)fclose(def); (void)fclose(swd); (void)fclose(mac); gram.ng_rowbyte = (gram.ng_row + 7)/8; gram.ng_conj = (unsigned char *)calloc(gram.ng_rowbyte, gram.ng_row); if ( !gram.ng_conj ) fatal("No more memory", 0); } void setVector(bits, s, op) unsigned char *bits; unsigned char *s; int op; { for (;;) { unsigned char name[256]; int i; struct ident *r; struct ident *c; s = scanToken(s, name, sizeof(name)); if ( !name[0] ) return; if ( name[0]=='@' ) { /* name ¤ÈƱ¤¸ÉÊ»ì¾ðÊó */ if ( r = probeIdent(Row, (char *)name + 1) ) { unsigned char *rbits = GetGramRow(&gram, r->rownum); if ( r->hasconnect == 0 ) alert("Undefined row vector is referred: %s", name); else { switch(op) { case '+': for ( i = 0; i < gram.ng_rowbyte; i++) bits[i] |= rbits[i]; break; case '-': for ( i = 0; i < gram.ng_rowbyte; i++) bits[i] &= ~rbits[i]; break; }; }; } else alert("unknown row %s", name); } else { if ( c = probeIdent(Column, (char *)name) ) for (i = 0 ; i < c->numrow ; i++) { int n = c->colnum + i; switch(op) { case '+': bits[n/8] |= (0x80>>(n%8)); break; case '-': bits[n/8] &= ~(0x80>>(n%8)); break; } } #ifndef LOGIC_HACK else alert("unknown column %s", name); #else else if ( r = probeIdent(Row, (char *)name) ) { int n = r->rownum; switch(op) { case '+': bits[n/8] |= (0x80>>(n%8)); break; case '-': bits[n/8] &= ~(0x80>>(n%8)); break; } } else alert("unknown row/column %s", name); #endif /* not LOGIC_HACK */ }; }; } void enterMatrix(fp) FILE *fp; { unsigned char S[MAXLINE], *s; struct ident *r; int i, n; /* try connection */ while ( readLine(s = S, sizeof(S), fp) ) { char row[256]; int op; #ifdef LOGIC_HACK if ( s[0] == '%' ) break; #endif if ( s[0] <= ' ' ) continue; s = scanToken(S, (unsigned char *)row, sizeof(row)); op = row[strlen(row) - 1]; row[strlen(row) - 1] = 0; if ( r = probeIdent(Row, row) ) { switch(op) { case '+': /* col... */ r->hasconnect++; case '-': /* col... */ setVector(GetGramRow(&gram, r->rownum), s, op); break; default: alert("unknown operation %c", op); break; }; } else alert("unknown row ? %s", row); }; /* emit the message */ for ( i = 0, n = 0; i < MAXIDENT; i++ ) { if ( (r = Row[i]) && r->hasconnect == 0 ) { if (!n) { (void)fprintf(stderr, "Undefined row vectors:"); } n++; (void)fprintf(stderr, " %s", r->name); } } if (n) { (void)fprintf(stderr, "\n"); } for (i = 0, n = 0 ; i < MAXIDENT ; i++) { if (Column[i]) { n++; } } (void)fprintf(stderr, "rows %d cols %d\n", gram.ng_row, n); } #ifdef LOGIC_HACK int ulongcomp(i, j) unsigned long *i, *j; { return *i - *j; } #define SEP "/" #define ROWMASK ((1 << ROWBITS) - 1) #define TestGram(cnj, col) ((cnj) && ((cnj)[((col)>>3)]&(0x80>>(col&7)))) void enterNeg(fp) FILE *fp; { unsigned char S[MAXLINE], *nextS; int i; unsigned long *negvec = NULL; int vecsize = 0, numneg = 0; unsigned long neg; while (readLine(nextS = S, sizeof(S), fp)) { short rdata[3][256]; char opname[256]; unsigned long op = 0; int l0, l1, l2; unsigned char *cj0, *cj1; if (nextS[0] <= ' ') continue; for (i = 0; i < 3; i++) { unsigned char namevec[256]; char *name; struct ident *r; int j; nextS = scanToken(nextS, namevec, sizeof(namevec)); name = strtok(namevec, SEP); for (j = 0; name && j < 255;) { if (r = probeIdent(Row, name)) rdata[i][j++] = r->rownum; else if (r = probeIdent(Column, name)) { int offset; if (j + r->numrow >= 255) break; for (offset = 0 ; offset < r->numrow ; offset++) { short rownum = r->colnum + offset; rdata[i][j++] = rownum; } } else alert("unknown row/column ? %s", name); name = strtok(NULL, SEP); } rdata[i][j] = -1; } nextS = scanToken(nextS, opname, sizeof(opname)); switch (opname[0]) { case '-': op = 0; break; case '+': op = 1; break; default: alert("unknown operation %c", opname); continue; } for (l0 = 0; rdata[0][l0] >= 0; l0++) { cj0 = GetGramRow(&gram, rdata[0][l0]); neg = (unsigned long)rdata[0][l0] << ROWBITS * 2; for (l1 = 0; rdata[1][l1] >= 0; l1++) { if (!TestGram(cj0, rdata[1][l1])) continue; cj1 = GetGramRow(&gram, rdata[1][l1]); neg &= ~(ROWMASK << ROWBITS); neg |= (unsigned long)rdata[1][l1] << ROWBITS; for (l2 = 0; rdata[2][l2] >= 0; l2++) { if (!TestGram(cj1, rdata[2][l2])) continue; neg &= ~ROWMASK; neg |= (unsigned long)rdata[2][l2]; if (numneg >= vecsize) { vecsize += 20; negvec = (unsigned long *) ((negvec) /* for non-ISO environments */ ? realloc(negvec, vecsize * sizeof(unsigned long)) : malloc(vecsize * sizeof(unsigned long))); if (!negvec) fatal("No more memory", 0); } negvec[numneg++] = neg << 1 | op; } } } } qsort((char *)negvec, numneg, sizeof(unsigned long), ulongcomp); gram.ng_neg = negvec; gram.ng_numneg = numneg; (void)fprintf(stderr, "neg %d\n", gram.ng_numneg); } #endif /* LOGIC_HACK */ main (argc, argv) int argc; char *argv []; { FILE *cnj, *fp = (FILE *)0; unsigned long pair; unsigned long size; unsigned char l4[4]; int i; unsigned char *file = (unsigned char *)0; #ifdef LOGIC_HACK unsigned long *neg; #endif if ( argc < 2 ) { usage( argv[0] ); } for (i = 1; i < argc; i++) { if (!strcmp("-f", argv[i])) { if ((++i < argc) && !file) { file = (unsigned char *)argv[i]; continue; } } (void)usage(argv[0]); /*NOTREACHED*/ } if (file) { if (!(fp = fopen((char *)file, "r"))) fatal("cannot open %s\n", (char *)file); } if (!fp) fp = stdin; Row = (struct ident **)calloc(sizeof(struct ident *), MAXIDENT); Column = (struct ident **)calloc(sizeof(struct ident *), MAXIDENT); if ( !Row || !Column ) fatal("No more memory", 0); enterIdent(fp); enterMatrix(fp); #ifdef LOGIC_HACK enterNeg(fp); #endif (void)fclose(fp); /* write out the conjunction file */ #ifdef __CYGWIN32__ cnj = fopen("cnj.bits", "wb"); #else cnj = fopen("cnj.bits", "w"); #endif if ( !cnj ) fatal("Cannot create file %s", "cnj.bits"); /* size */ size = 4 + gram.ng_row * gram.ng_rowbyte + (nextStr - Str); LTOL4(size, l4); (void)fwrite((char *)l4, 1, 4, cnj); /* row/col */ pair = gram.ng_row; LTOL4(pair, l4); (void)fwrite((char *)l4, 1, 4, cnj); /* conjunction matrix */ (void)fwrite((char *)gram.ng_conj, gram.ng_rowbyte, gram.ng_row, cnj); /* string table */ (void)fwrite((char *)Str, nextStr - Str, 1, cnj); #ifdef LOGIC_HACK /* negative conjunction */ size = gram.ng_numneg; LTOL4(size, l4); (void)fwrite((char *)l4, 1, 4, cnj); for (i = 0, neg = gram.ng_neg; i < gram.ng_numneg; i++, neg++) { LTOL4(*neg, l4); (void)fwrite((char *)l4, 1, 4, cnj); } #endif /* ¥ª¥×¥·¥ç¥óÍÑÎΰè * ¤È¤ê¤¢¤¨¤º¡¢1byte¤Ë 0 ¤ò½ñ¤¤¤Æ¤ª¤¯ * */ /* 郎¤ä¤Ã¤¿¤³¤ì !? */ { static char p = 0; (void)fwrite(&p, 1, 1, cnj); }; (void)fclose(cnj); exit(0); } Canna37p3/cmd/crxgram/Imakefile0100644000076500001200000000024007614662720015672 0ustar shinraadmin/* $Id: Imakefile,v 1.4 2003/01/26 04:36:32 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName crxgram #include "../cmd.tmpl" Canna37p3/cmd/cshost/0040755000076500001200000000000010052700676013721 5ustar shinraadminCanna37p3/cmd/cshost/.cvsignore0100644000076500001200000000003007601177335015715 0ustar shinraadmin.depend Makefile cshost Canna37p3/cmd/cshost/cshost.c0100644000076500001200000001201607773337052015377 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char sccs_id[]="@(#) NEC UNIX( PC-UX/EWS-UX ) cshost.c 2.1 91/11/11 11:17:51"; static char rcs_id[] = "$Id: cshost.c,v 1.3.2.2 2003/12/27 17:15:22 aida_s Exp $"; #endif /* * MODIFICATION HISTORY * S000 funahasi@oa2 Fri Dec 4 02:44:09 JST 1992 * - cshost¤«¤é rkc¤ÎÆâÉô´Ø¿ô¤ò¸Æ¤Ö¤Î¤ò»ß¤á¤ë * rkc¤Ë interface¤òºî¤Ã¤¿¤Î¤Ç¤½¤ì¤ò»ÈÍѤ¹¤ë¡¥ * S001 funahasi@oa2 Fri Jan 8 16:02:31 JST 1993 * - fixed bug rkc_Connect_iroha_Server()¤ò RkInitialize()¤Ë * ÊѤ¨¤¿¤¿¤á¤Ë cannahostname¤¬ÀßÄꤵ¤ì¤Ê¤¯¤Ê¤Ã¤¿¡¥ * S002 funahasi@oa2 Mon Jan 11 13:04:44 JST 1993 * - fixed bug cannahostname¤ò "unix"¤Ç½é´ü²½¤·¤¿¤¿¤á´Ä¶­ÊÑ¿ô * CANNAHOST¤ò»ÈÍѤǤ­¤Ê¤¯¤Ê¤Ã¤¿¡¥ * - "-cs"option¤Ç hostname¤¬¤Ê¤¤»þ¤Ï¡¤usage¤ò½ÐÎϤ¹¤ë¡¥ */ #ifdef ENGINE_SWITCH #include "RKrename.h" #endif #include #include #include "IR.h" #include "net.h" #include "rkcapi.h" #include "RKindep/ecfuncs.h" #include #define EXTPROTO 1 #define SIZEOFCHAR 1 #define SIZEOFSHORT 2 #define SIZEOFINT 4 #define SIZEOFLONG 4 #define HEADER_SIZE (SIZEOFCHAR * 2 + SIZEOFSHORT) static int CannaDispControlList pro((void)); static void usage pro((void)); int main(argc, argv) int argc ; char **argv ; { char cannahostname[256]; int i ; int proto_major, proto_minor, cx; /* S000 */ int status; cannahostname[0] = '\0'; /* S002 */ for( i = 1; i < argc; i++ ) { if(!strcmp( argv[ i ], "-cs" ) || !strcmp( argv[ i ], "-cannaserver" )) { if (++i < argc) { RkiStrlcpy( cannahostname, argv[i], sizeof cannahostname ) ; } else /* S002 */ usage(); /* S002 */ } else usage() ; } /* begin:S000 */ if( (cx = RkwInitialize( cannahostname )) == -1 ){ fprintf( stderr,"Error Disconnected %s\n", cannahostname ); exit(2); } RkiStrlcpy(cannahostname, RkwGetServerName(), sizeof cannahostname ); /* end:S000 */ printf("Connected to %s\n", cannahostname ) ; /* begin:S000 */ RkwGetProtocolVersion(&proto_major, &proto_minor); if( proto_major < 2 ) { printf("Too old cannaserver\n"); status = 2; goto last; } /* end:S000 */ status = CannaDispControlList() ; last: RkwFinalize(); /* S000 */ return status; } static int CannaDispControlList() { int HostNum; int i ; BYTE reqbuf[HEADER_SIZE], replybuf[128], *replyp = replybuf; BYTE *wp, *endp; int replylen, status; /* ¥Ñ¥±¥Ã¥ÈÁȤßΩ¤Æ */ wp = reqbuf; *wp++ = wGetAccessControlList; *wp++ = EXTPROTO; STOS2(0, wp); wp += SIZEOFSHORT; if (RkcSendWRequest(reqbuf, HEADER_SIZE)) { fprintf(stderr, "Cannot send request to server\n"); goto fail; } if (RkcRecvWReply(replybuf, sizeof replybuf, &replylen, &replyp)) { fprintf(stderr, "Cannot receive reply from server\n"); goto fail; } wp = replyp; if (*wp++ != wGetAccessControlList || *wp++ != EXTPROTO) goto protoerr; assert(S2TOS(wp) == replylen); wp += SIZEOFSHORT; endp = wp + replylen; if (endp < wp + SIZEOFSHORT) goto protoerr; HostNum = S2TOS(wp); wp += SIZEOFSHORT; printf("access control enabled\n" ) ; if (HostNum) { if ((endp < wp + 2) || *(endp - 1) != '\0' || *(endp - 2) != '\0') goto protoerr; } for( i = 0; i < HostNum; i++ ) { if (wp == endp) goto protoerr; assert(wp + 2 <= endp); printf("HOST NAME:%s\n", wp ) ; wp += strlen( wp ) + 1 ; if( *wp ) { printf("USER NAME:" ) ; while( *wp ) { printf("%s ", wp ) ; wp += strlen( wp ) + 1 ; } } else printf("ALL USER" ) ; printf("\n\n") ; wp++; } status = 0; goto last; protoerr: fprintf(stderr, "Protocol error\n"); fail: status = 2; last: return status; } static void usage() { fprintf( stderr, "usage: cshost [-cs | -cannaserver hostname]\n" ) ; fflush( stderr ) ; exit( 0 ) ; } /* vim: set sw=4: */ Canna37p3/cmd/cshost/cshost.jmn0100644000076500001200000000377707554213566015757 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} cshost 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" cshost \- ¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¤Î¥µ¡¼¥Ð¡¦¥¢¥¯¥»¥¹À©¸æ .SH "·Á¼°" .B "cshost [{\-cs|\-cannaserver} \fIcannaserver\fP]" .SH "ÀâÌÀ" .PP \fIcannaserver\fP(1M)¤¬ÀܳÍ×µá¤ò¼õ¤±ÉÕ¤±¤ë¥Þ¥·¥ó¤Î¥ê¥¹¥È(¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë ¥ê¥¹¥È)¤ò»²¾È¤·¤Þ¤¹¡¥\fIcannaserver\fP¤Ï\fIcannaserver\fP(1M)¤¬Â¸ºß¤¹¤ë ¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤Ç¤¹¡¥ .PP \fIcannaserver\fP(1M)¤ÏƱ°ì¤Î¥Û¥¹¥È¡¤¤Þ¤¿¤Ï/etc/hosts.canna¤ËÅÐÏ¿¤µ¤ì¤¿ ¥Þ¥·¥ó¤ËÂФ·¤Æ¤Î¤ßÀܳÍ×µá¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡¥/etc/hosts.canna¤¬Â¸ºß¤·¤Ê¤¤¤«¡¤ ¥Õ¥¡¥¤¥ë¤ÎŤµ¤¬0¤Î¾ì¹ç¤Ï¡¤¤¹¤Ù¤Æ¤Î¥Þ¥·¥ó¤¬\fIcannaserver\fP(1M)¤Ë ¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-cs \fIcannaserver\fP (¤Þ¤¿¤Ï \-cannaserver \fIcannaserver\fP)" 12 ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Îư¤¤¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡¥ .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cshost.jmn,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/cshost/cshost.man0100644000076500001200000000365307554213566015737 0ustar shinraadmin.TH CSHOST 1 .SH "NAMES" cshost \- Server access control program for canna .SH "SYNOPSIS" .B "cshost [{\-cs|\-cannaserver} \fIcannaserver\fP]" .SH "DESCRIPTION" .PP the \fIcshost\fP(1) prints the list of machines that are allowed to make connections to \fIcannaserver\fP(1M). .PP \fIcannaserver\fP(1M) allows network connections only from programs running on the same machine or machines listed in the file /etc/hosts.canna. If /etc/hosts.canna does not exist or the file is empty, access is granted to everyone. .SH "OPTIONS" .IP "\-cs \fIcannaserver\fP (or \-cannaserver \fIcannaserver\fP)" 12 Specifies the name of the host under which the Kana-Kanji conversion server is in operation. .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\".\" $Id: cshost.man,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/cshost/Imakefile0100644000076500001200000000031407614662720015534 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:32 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define WantRKCLib #define TargetName cshost #define ManSrcName cshost #include "../cmd.tmpl" Canna37p3/cmd/ctow/0040755000076500001200000000000010052700676013372 5ustar shinraadminCanna37p3/cmd/ctow/.cvsignore0100644000076500001200000000002607601177335015373 0ustar shinraadmin.depend Makefile ctow Canna37p3/cmd/ctow/ctow.c0100644000076500001200000001752107773337052014527 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcs[]="@(#) 112.1 $Id: ctow.c,v 1.3.2.3 2003/12/27 17:15:22 aida_s Exp $"; #endif /* ctow.c ¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤ò¡Ö¤«¤ó¤Ê¡×¤«¤é£×£î£î¤Î¤â¤Î¤ËÊÑ´¹¤¹¤ë¡£ * ctow [-f parts-of-speech table ] [cannadic] [wnndic] */ #include #include #include "ccompat.h" #include #if defined(__STDC__) || defined(SVR4) #include #endif #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif #define MAXTANGO 256 #define MAXHINSHI 100 static char *default_hinshi[] = { "̾»ì","Éû»ì","#T35", "¿Í̾","#JN", "ÃÏ̾","#CN", "¸Çͭ̾»ì","#KK", "¿ô»ì","#NN", "¥«¹Ô¸ÞÃÊ","#K5", "¥¬¹Ô¸ÞÃÊ","#G5", "¥µ¹Ô¸ÞÃÊ","#S5", "¥¿¹Ô¸ÞÃÊ","#T5", "¥Ê¹Ô¸ÞÃÊ","#N5", "¥Ð¹Ô¸ÞÃÊ","#B5", "¥Þ¹Ô¸ÞÃÊ","#M5", "¥é¹Ô¸ÞÃÊ","#R5", "¥ï¹Ô¸ÞÃÊ","#W5", "°ìư´´","°ìÃÊ","#KS", "°ìÃÊ&̾»ì","#KSr", "¥«¹Ô(¹Ô¤¯)","#C5r", "¥µ¹Ô(¤¹¤ë)","#SX", "¥¶¹Ô(¤º¤ë)","#ZX","¥µ¹Ô(¤¹¤ë)&̾»ì","#T30", "Íè(¤³)","#kxo","Íè(¤­)","#kxi","Íè(¤¯)","#kxuru", "°Ù(¤»)","#sxe","°Ù(¤·)","#sxi","°Ù(¤¹)","#sxuru", "¥é¹Ô(²¼¤µ¤¤)","#L5", "¥«¹Ô¸ÞÃÊ","#K5r", "¥¬¹Ô¸ÞÃÊ","#G5r", "¥µ¹Ô¸ÞÃÊ","#S5r", "¥¿¹Ô¸ÞÃÊ","#T5r", "¥Ð¹Ô¸ÞÃÊ","#B5r", "¥Þ¹Ô¸ÞÃÊ","#M5r", "¥é¹Ô¸ÞÃÊ","#R5r", "¥ï¹Ô¸ÞÃÊ","#W5r", "·ÁÍÆ»ì","#KY", "·ÁÍÆ»ì","#KYT", "·ÁÍÆ»ì","#KYna", "·ÁÍÆ»ì","#KYmi", "·ÁÍÆ»ì","#KYme", "¥µ¹Ô(¤¹¤ë)&̾»ì","#T00", "·ÁÍÆÆ°»ì","#T04", "·ÁÍÆÆ°»ì","#T06", "Éû»ì","#T07", "·ÁÍÆÆ°»ì","#T08", "·ÁÍÆÆ°»ì","#T09", "·ÁÍÆÆ°»ì","#T10", "·ÁÍÆÆ°»ì","Éû»ì","#T15", "Éû»ì","#T16", "Éû»ì","#T31", "Éû»ì","#T36","Éû»ì","#T37", "·ÁÍÆÆ°»ì","·ÁÍÆÆ°»ì&̾»ì","#T05", "Éû»ì","·ÁÍÆÆ°»ì(¤¿¤ë)","#F00", "¥µ¹Ô(¤¹¤ë)","·ÁÍÆÆ°»ì&̾»ì","#F01", "Éû»ì","·ÁÍÆÆ°»ì&̾»ì","#F02", "·ÁÍÆÆ°»ì(¤¿¤ë)","#F03", "Éû»ì","#F04", "Éû»ì","#F06", "Éû»ì","#F12", "Éû»ì","#F14", "Ï¢Âλì","#RT", "Àܳ»ì,´¶Æ°»ì","#CJ", "ñ´Á»ú","#KJ", "ÀÜÆ¬¸ì","#PRE", "ÀÜÈø¸ì","#SUC", "ÀÜÆ¬¿ô»ì","#NNPRE", "½õ¿ô»ì","ÀÜÆ¬½õ¿ô»ì","#JS", "ÀÜÈø½õ¿ô»ì","#JSSUC", "ÀÜÈø¿Í̾","#JNSUC", "ÀÜÆ¬ÃÏ̾","#CNPRE", "ÀÜÈøÃÏ̾","#CNSUC1", "·ÁÍÆÆ°»ì²½ÀÜÈø¸ì","#N2T17", "¥µ¹Ô(¤¹¤ë)&̾»ì²½ÀÜÈø¸ì","#N2T30", "ÀÜÈøÆ°»ì","#D2T35", "·ÁÍÆ»ì²½ÀÜÈøÆ°»ì","#D2KY", "ÀÜÆ¬¸ì","#SNPRE", "ÀÜÈøÃÏ̾","#CNSUC2", "ÀÜÈø¸ì","#N2T35", "ÀÜÈø¸ì","#K2T15", "ÀÜÈø¸ì","#K2T35", "·ÁÍÆ²½ÀÜÈø¸ì","#ND2KY", "·ÁÍÆ²½ÀÜÈø¸ì","#N2KYT", "·ÁÍÆÆ°»ì²½ÀÜÈø¸ì","#N2T10", "·ÁÍÆÆ°»ì²½ÀÜÈø¸ì","#N2T15","·ÁÍÆÆ°»ì²½ÀÜÈø¸ì","#N2T18", "ÀÜÈø¸ì","#N2R5","ÀÜÈø¸ì","#N2K5", "" }; ask_default_hinshi_size() { int i; for (i = 0; strcmp(default_hinshi[i],""); i++); return i; } char *salloc(s) char *s; { char *new; if (new = (char *)malloc(strlen(s) +1)) strcpy(new, s); else{ fprintf(stderr, gettxt("cannacmd:8", "No more memory\n")); exit(1); } return(new); } /* ÉÊ»ìÂбþ */ char * chghinshi(hinshi, size, taiou, fsize) char *hinshi, **taiou; int size, fsize; { int i; char wnn_hinshi[MAXTANGO]; wnn_hinshi[0] = '\0'; for( i = (fsize -1); i >= 0; i -= 2) { if(!strcmp(hinshi ,taiou[i])) { strcat(wnn_hinshi, taiou[i-1]); strcat(wnn_hinshi," "); } } if (wnn_hinshi[0] != '\0') { wnn_hinshi[strlen(wnn_hinshi)-1] = '\0'; return salloc(wnn_hinshi); } for (i = (size-1); i >= 0; i--) { if(*default_hinshi[i] == '#') { if(wnn_hinshi[0] != '\0') return salloc(wnn_hinshi); if(!strcmp(hinshi, default_hinshi[i])) { strcpy(wnn_hinshi, default_hinshi[--i]); } } else { if(wnn_hinshi[0] != '\0') { strcat(wnn_hinshi," "); strcat(wnn_hinshi, default_hinshi[i]); } } } if (wnn_hinshi[0] != '\0') return salloc(wnn_hinshi); return salloc(""); } /* ÉÊ»ì¥Õ¥¡¥¤¥ëÆÉ¤ß¹þ¤ß */ read_hinshi(fp, taiou) FILE *fp; char *taiou[MAXHINSHI]; { int size; char H[MAXTANGO], wnn[MAXTANGO], iroha[MAXTANGO]; size = 0; while(fgets(H, MAXTANGO, fp)){ if(2 != sscanf(H, "%s %s", wnn, iroha)) continue; else { taiou[size++] = salloc(wnn); taiou[size++] = salloc(iroha); } } taiou[size] = '\0'; return size; } char * get_hindo(iroha_hinshi) char *iroha_hinshi; { char *p; char *hindo; for(p = iroha_hinshi; *p; p++) if (*p == '*') { *p = '\0'; hindo = ++p; return hindo; } return "0"; } /* ½ÐÎÏ */ itow_write(fp, yomi, hinshi, kouho, hindo) FILE *fp; char *yomi, *hinshi, *kouho, *hindo; { fprintf( fp, "%s %s %s %s \n", yomi, kouho, hinshi, hindo); } main(argc, argv) int argc; char *argv[]; { char *taiou[MAXHINSHI]; char *nd, *hinshis, hinshi[MAXTANGO], *p; char S[MAXTANGO], y[MAXTANGO], h[MAXTANGO], k[MAXTANGO]; int hinshiSize,option,fsize = 0; FILE *fph,*fpi,*fpo; #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif hinshiSize = ask_default_hinshi_size(); option = 0; if( argc <= 5 ) { /* °ú¿ô¤ÏÀµÅö¤«¡© */ if( argc > 2 && !strcmp(argv[1],"-f") ) { /* ÉÊ»ì¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤«¡© */ if( (fph = fopen( argv[2], "r" ) ) == NULL) { /* ÉÊ»ì¥Õ¥¡¥¤¥ë¤ò£ï£ð£å£î */ fprintf(stderr,gettxt("cannacmd:9", "%s: cannot open %s\n"), argv[0], argv[2] ); exit(2); } fsize = read_hinshi(fph, taiou); fclose( fph ); option = 1; } fpi = stdin; fpo = stdout; } else { /* °ú¿ô¤¬ÉÔÀµ */ fprintf(stderr,gettxt("cannacmd:10", "Usage: ctow [-f parts-of-speech table] [cannadic] [wnndic]\n")); exit(2); } if( argc >= (2 + option*2) ) { /* ¤¤¤í¤Ï¼­½ñ¤ò¥ª¡¼¥×¥ó */ if( (fpi = fopen( argv[1 + option*2], "r" ) ) == NULL) { fprintf(stderr,gettxt("cannacmd:11", "%s: cannot open %s\n"), argv[0], argv[1 + option*2] ); exit(2); } if( argc == (3 + option*2) ) { /* £×£î£î¼­½ñ¤ò¥ª¡¼¥×¥ó */ if( (fpo = fopen( argv[2 + option*2], "w" ) ) == NULL) { fprintf(stderr,gettxt("cannacmd:12", "%s: cannot create %s\n"), argv[0], argv[2 + option*2] ); exit(2); } } } /* ¼ç½èÍý */ while(fgets(S, sizeof(S), fpi)) { if( 3 != sscanf(S, "%s %s %s ", y, h, k)) continue; else { nd = get_hindo(h); if (k[0] == '@') /* ¾Êάµ­¹æ@¤ò¸µ¤ËÌ᤹ */ strcpy(k,y); if (!strcmp(h,"#kxuru") || !strcmp(h,"#sxuru")) { y[strlen(y)-2] = '\0'; /* ¡Ø¤¯¤ë¡Ù¡Ø¤¹¤ë¡Ù¤ò ¡Ø¤¯¡Ù¡Ø¤¹¡Ù¤Ë¤¹¤ë */ k[strlen(k)-2] = '\0'; } p = hinshi; hinshis = chghinshi(h, hinshiSize, taiou, fsize); if (!strcmp(hinshis,"")) { fprintf(stderr,gettxt("cannacmd:13", "reading:%s nomination:%s a part of speach:%s\n"),y,k,h); fprintf(stderr,gettxt("cannacmd:14", "This part of speach is undefined. Cannot convert.\n")); } else { for ( ; *hinshis; hinshis++, p++) { *p = *hinshis; if (*p == ' ') { *p = '\0'; itow_write( fpo, y, hinshi, k, nd ); p = hinshi; p--; } } *p = '\0'; itow_write(fpo, y, hinshi, k, nd); } } } fclose( fpi ); fclose( fpo ); exit( 0 ); } Canna37p3/cmd/ctow/ctow.jmn0100644000076500001200000000440307554213566015064 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} ctow 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" ctow \- ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤ÎWnn¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤Ø¤Î ÊÑ´¹ .SH "·Á¼°" .B "ctow [\-f \fIhinshidata\fP] [\fIcannadic\fP] [\fIwnndic\fP]" .SH "ÀâÌÀ" .PP ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë \fIcannadic\fP¤ò Wnn¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ \fIwnndic\fP ¤ËÊÑ´¹¤·¤Þ¤¹¡¥ ¼­½ñ¥Õ¥¡¥¤¥ë¤òÁ´¤Æ¾Êά¤¹¤ë¤È¡¤ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î ¼­½ñ¤ÎÆþÎϤÏɸ½àÆþÎϤè¤ê¹Ô¤ï¤ìWnn¤Î ¼­½ñ¤Ïɸ½à½ÐÎϤ«¤é½ÐÎϤµ¤ì¤Þ¤¹¡¥ ¤Þ¤¿¡¤¼­½ñ¥Õ¥¡¥¤¥ë¤ò£±¤Ä¤À¤±»ØÄꤹ¤ë¤È¡¤ ¤½¤ì¤ÏËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¼­½ñ¤ÈȽÃǤµ¤ì¤Þ¤¹¡¤ ¤½¤Î¤È¤­É¸½à½ÐÎϤËWnn¤Î¼­½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-f \fIhinshidata\fP" 12 Wnn¤ÈËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤ÎÉÊ»ìÂбþ¾ðÊó¤ò ¿·¤¿¤Ë¥æ¡¼¥¶¤¬Äɲ乤뤳¤È¤¬ ¤Ç¤­¤Þ¤¹¡¥\fIhinshidata\fP¥Õ¥¡¥¤¥ë¤Ë µ­½Ò¤¹¤Ù¤­ÉÊ»ìÂбþ¾ðÊó¤Î·Á¼°¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¡¤ £±¹Ô¤ËWnnÉÊ»ì̾¡¤ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤ÎÉʻ쥳¡¼¥É¤ò ¶õÇò¤Þ¤¿¤Ï¥¿¥Ö¤Ç¶èÀڤäƵ­½Ò¤·¤Þ¤¹¡¥ .sp .nf ¡¡WnnÉÊ»ì̾¡¡¡¡¡¡ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤ÎÉʻ쥳¡¼¥É .br ¡¡Éû»ì¡¡¡¡¡¡¡¡¡¡¡¡#F04 .fi .SH "´ØÏ¢¾ðÊó" .IP "wtoc(1)" 12 .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: ctow.jmn,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/ctow/ctow.man0100644000076500001200000000444407554213566015060 0ustar shinraadmin.TH CTOW 1 .SH "NAME" ctow \- Convert Canna text-form dictionary into Wnn text-form dictionary .SH "SYNOPSIS" .B "ctow [\-f \fIhinshidata\fP] [\fIcannajisho\fP] [\fIwnnjisho\fP]" .SH "DESCRIPTION" .PP ctow converts the Canna text-form dictionary file into the Wnn text-form dictionary. If all dictionary files are omitted, this dictionary is input through the standard input. In this case, the Wnn dictionary is output to the standard output. If only one dictionary file is specified, it is regarded as the one of the Japanes Input System. In this case, the Wnn dictionary is output from the standard output. .SH "OPTIONS" .IP "\-f \fIhinshidata\fP" 12 The user can add new information about word-type correspondence between Wnn and Canna. The following word-type correspondence information must be described in the \fIhinshidata\fP file. Within one line, describe the Wnn word type name and the Canna word type while delimiting by a space(s) or tab. .sp .nf Wnn word type Canna word type .br Adverb #F04 .fi .SH "SEE ALSO" .IP "wtoc(1)" 12 .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: ctow.man,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/ctow/Imakefile0100644000076500001200000000026507614662720015212 0ustar shinraadmin/* $Id: Imakefile,v 1.4 2003/01/26 04:36:32 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName ctow #define ManSrcName ctow #include "../cmd.tmpl" Canna37p3/cmd/dicar/0040755000076500001200000000000010052700677013501 5ustar shinraadminCanna37p3/cmd/dicar/.cvsignore0100644000076500001200000000002707601177336015503 0ustar shinraadmin.depend Makefile dicar Canna37p3/cmd/dicar/dicar.c0100644000076500001200000002600107773337052014734 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 102.1 $Id: dicar.c,v 1.4.2.2 2003/12/27 17:15:22 aida_s Exp $"; #endif /* * ¼­½ñ¥¢¡¼¥«¥¤¥Ð: * * dicar -t bindic [¸¶»Ò¼­½ñ¤Îɽ¼¨] * dicar -x bindic [atmdic ...] [¸¶»Ò¼­½ñ¤Î¤È¤ê¤À¤·] * dicar -r bindic1 bindic2 ... [¼­½ñ¤Î¥Þ¡¼¥¸¡¢bindic2¤òbindic1¤Ë] * dicar -d bindic atmdic ... [¸¶»Ò¼­½ñ¤Îºï½ü] * */ #include "RKintern.h" #include #include /* »þ´Ö¤ò¤È¤Ã¤Æ¤¯¤ë¤¿¤á */ #include #include #include "RKindep/file.h" static char *program; /* ¶¦Ä̤ËÍøÍѤ¹¤ë´Ø¿ô */ static void usage() { (void)fprintf( stderr,"usage: %s -t filename\n\ %s -x filename [dicname ...]\n\ %s -r filename1 filename2 ...\n\ %s -d filename dicname ...\n", program, program, program, program); exit(1); } /* ½ÐÎϾõ¶·¤Î¤¿¤á¤Î¥á¥Ã¥»¡¼¥¸ */ static void actmessage(msg, name) char *msg; char *name; { (void)printf("%s - %s\n", msg, name); } /* cfuncdef getatomicname -- HD ¹½Â¤ÂΤ«¤é¼­½ñ̾¤ò¼è¤ê½Ð¤·¤Æ¡¢name ¤Ë½ñ¤­¹þ¤à¡£ */ static void getatomicname(hd, name) struct HD *hd; char *name; { int len; len = strlen((char *)hd->data[HD_DMNM].ptr); (void)strcpy(name, (char *)hd->data[HD_DMNM].ptr); name[len++] = '.'; name[len++] = 'd'; name[len++] = '\0'; } /* ¥Ø¥Ã¥À¾ðÊó¤ò½ñ¤­½Ð¤¹ */ static void PrintHeader(hd) struct HD *hd; { char *date; time_t tloc; if (hd->flag[HD_TIME] && hd->flag[HD_REC] && hd->flag[HD_CAN]) { tloc = hd->data[HD_TIME].uvar; date = ctime( &tloc ); date[strlen(date)-1] = '\0'; (void)printf("%s.d [%s] = %lu + %lu\n", hd->data[HD_DMNM].ptr, date, hd->data[HD_CAN].uvar, hd->data[HD_REC].uvar); } } static int openForRead(name) char *name; { int newfd; if ((newfd = open(name, O_RDONLY)) < 0) { (void)fprintf(stderr, "%s: %s cannot read.\n", program, name); } #ifdef __CYGWIN32__ setmode(newfd, O_BINARY); #endif return newfd; } static int openForWrite(name) char *name; { int newfd; if ((newfd = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) { (void)fprintf(stderr, "%s: %s cannot create\n", program, name); } #ifdef __CYGWIN32__ setmode(newfd, O_BINARY); #endif return newfd; } static void closeForWrite(fd, name) int fd; char *name; { if (close(fd) < 0) { (void)fprintf(stderr, "%s: write failed for %s\n", program, name); } } /* src ¤ÎÆâÍÆ¤ò dst ¤Ë siz ʬ¥³¥Ô¡¼¤¹¤ë */ static void copyfile(src, dst, siz) int src, dst; unsigned siz; { char *buf; if (!(buf = (char *)malloc((unsigned)siz))) { (void)fprintf(stderr, "%s: cannot malloc %d siz.\n", program, siz); } else { (void)read(src, buf, siz); if (write(dst, buf, siz) < 0) { (void)fprintf(stderr, "%s: write failed.\n", program); } free(buf); } } /* °Ê²¼¤Ï¡¢¸Ä¡¹¤Îºî¶ÈÍѤδؿô */ /* -t: traceDic * ¥Ð¥¤¥Ê¥ê¼­½ñÆâ¤Î»Ò¼­½ñ̾¤È¥µ¥¤¥º¤òɽ¼¨¤¹¤ë */ static void traceDic( fd ) int fd; { struct HD hd; char key[ND_HDRSIZ]; off_t offset = (off_t)0; while(_RkReadHeader(fd, &hd, offset) >= 0) { if (!hd.flag[HD_DMNM] /* ̾Á° */ || !hd.flag[HD_SIZ] /* ¥µ¥¤¥º */) { _RkClearHeader(&hd); continue; } getatomicname(&hd, key); offset += hd.data[HD_SIZ].uvar; PrintHeader(&hd); _RkClearHeader(&hd); } _RkClearHeader(&hd); } /* -x: xgetDic * * bindic Æâ¤Î¸¶»Ò¼­½ñ¤ò¼è¤ê½Ð¤¹¡£ * * xgetDic ¸¶»Ò¼­½ñ̾¤ò¼è¤ê½Ð¤¹¡£Ì¾Á°¤¬»ØÄꤵ¤ì¤ì¤Ð¤½¤ì¤À¤±¼è¤ê½Ð¤¹¡£ */ static void xgetDic(fd, fname) int fd; char *fname; /* ¥Æ¥­¥¹¥È¼­½ñ̾¤Ë .d ¤¬¤Ä¤¤¤¿¤â¤Î */ { struct HD hd; int dst; unsigned dmsize; char key[ND_HDRSIZ]; off_t offset = (off_t)0; while (_RkReadHeader(fd, &hd, offset) >= 0) { if (!hd.flag[HD_DMNM] /* ̾Á° */ || !hd.flag[HD_SIZ] /* ¥µ¥¤¥º */) { _RkClearHeader(&hd); continue; } getatomicname(&hd, key); dmsize = hd.data[HD_SIZ].uvar; _RkClearHeader(&hd); if (!fname || !strcmp(fname, key)) { /* ¸¶»Ò¼­½ñ¤¬Æ±¤¸»þ */ if ((dst = openForWrite(key)) >= 0) { actmessage("x", key); /* ½ÐÎÏ¥á¥Ã¥»¡¼¥¸ */ (void)lseek(fd, offset, 0); copyfile(fd, dst, dmsize); closeForWrite(dst, key); } if (fname) { return; } } offset += dmsize; } _RkClearHeader(&hd); if (fname) { /* »ØÄꤵ¤ì¤¿¼­½ñ¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿ */ (void)fprintf(stderr, "%s: %s not found\n", program, fname); } } struct wordrec { char key[ND_HDRSIZ]; off_t offset; unsigned size; int flag; }; /* -r: remakedic * bindic2Ãæ¤Î»Ò¼­½ñ¤òbindic1¤ËÄɲ乤롣 * ¤â¤·¡¢bindic1Ãæ¤ËƱ¤¸»Ò¼­½ñ¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¾å½ñ¤­¤¹¤ë¡£ */ /* »Ò¼­½ñ¤Î°ìÍ÷¤òºîÀ®¤¹¤ë */ static int getchild(fd, childdic) int fd; struct wordrec *childdic; { struct HD hd; off_t offset = 0; int i, j, num = 0; while(_RkReadHeader(fd, &hd, offset) >= 0) { if (!hd.flag[HD_DMNM] /* ̾Á° */ || !hd.flag[HD_SIZ] /* ¥µ¥¤¥º */) { _RkClearHeader(&hd); continue; } (void)strcpy(childdic[num].key, (char *)hd.data[HD_DMNM].ptr); childdic[num].offset = offset; childdic[num].size = hd.data[HD_SIZ].uvar; childdic[num].flag = 1; num++; offset += hd.data[HD_SIZ].uvar; _RkClearHeader(&hd); } _RkClearHeader(&hd); for (i = 0 ; i < num ; i++) { /* ½ÅÊ£¤·¤Æ¤¤¤ë¼­½ñ̾¤Ë¤Ï°õ¤òÉÕ¤±¤ë */ for (j = i + 1 ; j < num ; j++) { if (!strcmp(childdic[i].key, childdic[j].key)) { childdic[i].flag = 0; break; } } } return num; } /* cfuncdef remakeDic -- ¼­½ñ(src ¤È atm)¤ò¥Þ¡¼¥¸¤·¤Æ¡¢¿·¤·¤¯ºî¤ë¡£ src ¤¬ -1 ¤Î»þ¤Ï atm ¥ê¥¹¥È¤ò cat ¤·¤Æ¿·¤·¤¯ºî¤ë¡£ */ static void remakeDic(src, atm, dst) int src, atm, dst; { struct HD hd; struct wordrec childdic[256]; /* »Ò¼­½ñ¤Î¾ðÊó */ char key[ND_HDRSIZ]; int num, i; off_t offset = 0; unsigned dmsize; num = getchild(atm, childdic); /* »Ò¼­½ñ¾ðÊó¤Î¹½Â¤ÂΤκîÀ® */ if (src >= 0) { while (_RkReadHeader(src, &hd, offset) >= 0) { if (!hd.flag[HD_DMNM] /* ̾Á° */ || !hd.flag[HD_SIZ] /* ¥µ¥¤¥º */) { _RkClearHeader(&hd); continue; } dmsize = hd.data[HD_SIZ].uvar; for (i = 0 ; i < num ; i++) { if (childdic[i].flag && !strcmp(childdic[i].key, (char *)hd.data[HD_DMNM].ptr)) { (void)strcpy(key, childdic[i].key); (void)strcat(key, ".d"); actmessage("r", key); /* ½ÐÎÏ¥á¥Ã¥»¡¼¥¸ */ (void)lseek(atm, childdic[i].offset, 0); copyfile(atm, dst, childdic[i].size); childdic[i].flag = 0; break; } } _RkClearHeader(&hd); if (i == num) { /* ¥ê¥×¥ì¡¼¥¹»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð */ (void)lseek(src, offset, 0); copyfile(src, dst, dmsize); } offset += dmsize; } _RkClearHeader(&hd); } for (i = 0 ; i < num ; i++) { if (childdic[i].flag) { (void)strcpy(key, childdic[i].key); (void)strcat(key, ".d"); actmessage("a", key); /* ½ÐÎÏ¥á¥Ã¥»¡¼¥¸ */ (void)lseek(atm, childdic[i].offset, 0); copyfile(atm, dst, childdic[i].size); } } } /* -d: deleteDic * bindic1 Ãæ¤Î»Ò¼­½ñ bindic2 ¤òºï½ü¤¹¤ë¡£ */ static void deleteDic(src, dst, fname) int src, dst; char *fname; { struct HD hd; char key[ND_HDRSIZ]; off_t offset = 0; unsigned dmsize; int deleted = 0; while (_RkReadHeader(src, &hd, offset) >= 0) { if (!hd.flag[HD_DMNM] /* ̾Á° */ || !hd.flag[HD_SIZ] /* ¥µ¥¤¥º */) { _RkClearHeader(&hd); continue; } getatomicname(&hd, key); dmsize = hd.data[HD_SIZ].uvar; _RkClearHeader(&hd); if (strcmp(fname, key)) { /* »ØÄ긶»Ò¼­½ñ°Ê³°¤Ï¥³¥Ô¡¼ */ (void)lseek(src, offset, 0); copyfile(src, dst, dmsize); } else { actmessage("d", fname); /* ½ÐÎÏ¥á¥Ã¥»¡¼¥¸ */ deleted = 1; } offset += dmsize; } _RkClearHeader(&hd); if (!deleted) { (void)fprintf(stderr, "%s: %s not found\n", program, fname); } } static void doTrace(argn, args) int argn; char **args; { int fd; if (argn < 3) usage(); if ((fd = openForRead(args[2])) >= 0) { traceDic(fd); (void)close(fd); } } static void doExtract(argn, args) int argn; char **args; { int fd, i; if ((fd = openForRead(args[2])) >= 0) { if (argn == 3) xgetDic(fd, (char *)0); else { for (i = 3 ; i < argn ; i++) { xgetDic(fd, RkiBasename(args[i])); } } (void)close(fd); } } static void doReplace(argn, args) int argn; char **args; { int src, dst, atm, i; char fname[ND_HDRSIZ]; for (i = 3 ; i < argn ; i++) { if ((src = openForRead(args[2])) >= 0) { if ((atm = openForRead(args[i])) >= 0) { (void)strcpy(fname, "#"); (void)strcat(fname, RkiBasename(args[2])); if ((dst = openForWrite(fname)) >= 0) { remakeDic(src, atm, dst); closeForWrite(dst, fname); (void)rename(fname, args[2]); /* ¥Ð¥Ã¥¯¥Õ¥¡¥¤¥ë¤òÌ᤹ */ } (void)close(atm); } (void)close(src); } } } static void doCreate(argn, args) int argn; char **args; { int dst, atm, i; char fname[ND_HDRSIZ]; (void)strcpy(fname, "#"); (void)strcat(fname, RkiBasename(args[2])); if ((dst = openForWrite(fname)) >= 0) { for (i = 3 ; i < argn ; i++) { if ((atm = openForRead(args[i])) >= 0) { remakeDic(-1, atm, dst); (void)close(atm); } } closeForWrite(dst, fname); (void)rename(fname, args[2]); /* ¥Ð¥Ã¥¯¥Õ¥¡¥¤¥ë¤òÌ᤹ */ } } doDelete(argn, args) int argn; char **args; { int src, dst, i; char fname[ND_HDRSIZ]; for (i = 3 ; i < argn ; i++) { if ((src = openForRead(args[2])) >= 0) { (void)strcpy(fname, "#"); (void)strcat(fname, RkiBasename(args[2])); if ((dst = openForWrite(fname)) >= 0) { deleteDic(src, dst, args[i]); closeForWrite(dst, args[i]); (void)rename(fname, args[2]); } (void)close(src); } } } main(argn, args) int argn; char **args; { char *opchar; program = RkiBasename(args[0]); if (argn < 3) usage(); opchar = args[1] + (args[1][0] == '-'); if (opchar[1]) usage(); switch (opchar[0]) { case 'c': doCreate(argn, args); break; case 'd': doDelete(argn, args); break; case 'r': doReplace(argn, args); break; case 't': doTrace(argn, args); break; case 'x': doExtract(argn, args); break; default: usage(); } exit(0); } Canna37p3/cmd/dicar/dicar.jmn0100644000076500001200000000625407554213566015306 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} dicar 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" dicar \- ¥Ð¥¤¥Ê¥ê¼­½ñ¤Î¥¢¡¼¥«¥¤¥Ö .SH "·Á¼°" .B "dicar \-t \fIfilename\fP" .br .B "dicar \-x \fIfilename\fP [\fIdicname...\fP]" .br .B "dicar \-r \fIfilename\fP \fIbindic2...\fP" .br .B "dicar \-d \fIfilename\fP \fIdicname...\fP" .SH "ÀâÌÀ" .PP ¥Ð¥¤¥Ê¥ê¼­½ñ \fIfilename\fP ¤Î¥¢¡¼¥«¥¤¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£ .br ¥ª¥×¥·¥ç¥ó¤Î \- ¤Ï¤Ä¤±¤Ê¤¯¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ .SH "¥ª¥×¥·¥ç¥ó" .PP .IP "\-t" 12 ¥Ð¥¤¥Ê¥ê¼­½ñ¥Õ¥¡¥¤¥ë \fIfilename\fP ¤Ë´Þ¤Þ¤ì¤ë»Ò¼­½ñ̾¤Ë³ÈÄ¥»Ò .d ¤òÉÕ ¤±¤¿¤â¤Î¤ò¤òɽ¼¨¤·¤Þ¤¹¡£ .IP "\-x" 12 \fIfilename\fP ¤«¤é \fIdicname\fP ¤Ç»ØÄꤵ¤ì¤¿¼­½ñ¤ò¼è¤ê½Ð¤·¤Þ¤¹¡£ \fIdicname\fP ¤Ï \-t ¥ª¥×¥·¥ç¥ó¤Çɽ¼¨¤µ¤ì¤¿»Ò¼­½ñ̾¤Ç¤¹¡£ ¼è¤ê½Ð¤µ¤ì¤¿»Ò¼­½ñ \fIdicname\fP ¤Ï¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤Ë ¤Ê¤ê¤Þ¤¹¡£ .br \fIdicname\fP ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï \fIfilename\fP ¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¼­½ñ¤¬ ¼è¤ê½Ð¤µ¤ì¤Þ¤¹¡£ .IP "\-r" \fIfilename1\fP ¤Ë \fIfilename2\fP ¤Ç»ØÄꤵ¤ì¤¿¼­½ñ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë ¤¹¤Ù¤Æ¤Î»Ò¼­½ñ¤òÄɲä·¤Þ¤¹¡£ \fIfilename2\fP ¤Ë´Þ¤Þ¤ì¤ë¼­½ñ¤Ç \fIfilename1\fP ¤ÎÃæ¤Ë¸ºß¤¹¤ë¼­½ñ¤Ï ¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£ .IP "\-d" \fIfilename\fP ¤«¤é»Ò¼­½ñ \fIdicname\fP ¤òºï½ü¤·¤Þ¤¹¡£ \fIdicname\fP ¤Ï \-t ¥ª¥×¥·¥ç¥ó¤Çɽ¼¨¤µ¤ì¤¿¼­½ñ¤Ç¤¹¡£ .SH "»ÈÍÑÎã " .ft CW % ls .br chimei.d shima.d .br % dicar \-t shima.d .br (¥Æ¥­¥¹¥È¼­½ñ¥Õ¥¡¥¤¥ë̾ [¥Ð¡¼¥¸¥ç¥ó(¼­½ñºîÀ®»þ¹ï)] = Áíñ¸ì¿ô + ÁíÆÉ¤ß¿ô) .br shima.mwd.d [Mon Nov 4 12:00:00 1991] = 9 + 5 .br shima.swd.d [Mon Nov 25 10:20:30 1991] = 5 + 5 .br % dicar x shima.d shima.mwd.d .br % ls .br chimei.d shima.d shima.mwd.d .br ¡¡¡¡¡¡¡¡¡§ .br % dicar r shima.d shima.mwd.d¡¡(shima.mwd.d¤òÆþ¤ìÂØ¤¨¤Þ¤¹) .br % dicar r shima.d chimei.d¡¡(shima.d¤Ëchimei.d¤òÄɲä·¤Þ¤¹) .br % dicar -t shima.d .br (¥Æ¥­¥¹¥È¼­½ñ¥Õ¥¡¥¤¥ë̾ [¥Ð¡¼¥¸¥ç¥ó(¼­½ñºîÀ®»þ¹ï)] = Áíñ¸ì¿ô + ÁíÆÉ¤ß¿ô) .br shima.mwd.d [Mon Nov 25 10:10:10 1991] = 10 + 10 .br shima.swd.d [Mon Nov 25 10:20:30 1991] = 5 + 5 .br chimei.mwd.d [Mon Nov 25 11:01:00 1991] = 20 + 20 .ft .SH "´ØÏ¢¾ðÊó" .PP dpbindic(1), mkbindic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: dicar.jmn,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ NEC; Canna37p3/cmd/dicar/dicar.man0100644000076500001200000000550607610447253015267 0ustar shinraadmin.TH DICAR 1 .SH NAME dicar \- Archive Binary Dictionary .SH SYNOPSYS .B dicar .B \-t .I bindic1 .br .B dicar .B \-x .I bindic1 [ .B bindic2 ] .br .B dicar .B \-r .I bindic1 .I bindic2 .br .B dicar .B \-d .I bindic1 .I bindic2 .br .SH DESCRIPTION .I dicar archives binary dictionary .I bindic1. The hyphen of each option may be omitted. .OPTIONS .TP .B \-t Displays the dictionaries contained in binary dictionary file .I bindic1. Each displayed name of the dictionaries consists of the text file name followed by extension '.d'. This text file name is that before the dictionary file is converted into the binary file. .TP .B \-x Fetches dictionary .I bindic2 from .I bindic1. .I Bindic2 consists of the text file name followed by extension '.d'. This text file name is that before the dictionary file is converted into the binary file. The fetched file .I bindic2 becomes a dictionary file in binary format. If .I bindic2 is omitted, all dictionaries within .I bindic1 will be fetched. .TP .B \-r Adds to .I bindic1, all dictionaries that are contained in the dictionary file specified in .I bindic2. Any dictionary in .I bindic1 that is contained in .I bindic1 is overwritten. .TP .B \-d Deletes .I bindic2 from .I bindic1. .SH EXAMPLES .nf .B % ls .B chimei.d shima.d .B % dicar \-t shima.d .B (Text dictionary file name = Directory size + Word size, packed) .B % dicar r shima.d shima.mwd.d (Replaces shima.mwd.d.) .B % dicar r shima.d chimedi.d (Adds chimedi.d to shima.d.) .B % dicar \-t shma.d .B (Text dictionary file name = Directory size + Word size, packed) .SH SEE ALSO .PP dpbindic(1), mkbindic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: dicar.man,v 1.2 2003/01/13 05:29:15 aida_s Exp $ Canna37p3/cmd/dicar/Imakefile0100644000076500001200000000031107614662721015311 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:33 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define WantRKLib #define TargetName dicar #define ManSrcName dicar #include "../cmd.tmpl" Canna37p3/cmd/dpbindic/0040755000076500001200000000000010052700677014173 5ustar shinraadminCanna37p3/cmd/dpbindic/.cvsignore0100644000076500001200000000003207601177336016171 0ustar shinraadmin.depend Makefile dpbindic Canna37p3/cmd/dpbindic/dpbindic.cpp0100644000076500001200000000267007554213566016466 0ustar shinraadminXCOMM!/bin/sh XCOMM Copyright 1992 NEC Corporation, Tokyo, Japan. XCOMM XCOMM Permission to use, copy, modify, distribute and sell this software XCOMM and its documentation for any purpose is hereby granted without XCOMM fee, provided that the above copyright notice appear in all copies XCOMM and that both that copyright notice and this permission notice XCOMM appear in supporting documentation, and that the name of NEC XCOMM Corporation not be used in advertising or publicity pertaining to XCOMM distribution of the software without specific, written prior XCOMM permission. NEC Corporation makes no representations about the XCOMM suitability of this software for any purpose. It is provided XCOMM "as is" without express or implied warranty. XCOMM XCOMM NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, XCOMM INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN XCOMM NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR XCOMM CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF XCOMM USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR XCOMM OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR XCOMM PERFORMANCE OF THIS SOFTWARE. XCOMM $Id: dpbindic.cpp,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ #include "cannaconf.h" PATH=CANNABINDIR:$PATH:/bin:/usr/bin:/etc:/usr/etc:/usr/nec/bin:/usr/ucb export PATH echo dpxdic $* 1>&2 dpxdic $* Canna37p3/cmd/dpbindic/dpbindic.jmn0100644000076500001200000000517507611262356016466 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} dpbindic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" dpbindic \- ¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤Îñ¸ì¾ðÊó¤ò½ÐÎϤ¹¤ë .SH "·Á¼°" .B "dpbindic [\-i] \fIbinary-file\fP [\fIdic-name\fP]" .SH "ÀâÌÀ" .PP \fIbinary-file\fP ¤Ë»ØÄꤷ¤¿¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë¾ðÊó¤Î½ÐÎϤò ¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤Î¤È¤­¡¤¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤Î¤â¤È¤Ë¤Ê¤Ã¤¿¥Æ¥­¥¹¥È·Á¼°¼­½ñ ¤ò \fIdic-name\fP ¤Ë»ØÄꤹ¤ë¤È¡¤¤½¤Î¼­½ñ¤Îñ¸ì¾ðÊó¤ò¥Æ¥­¥¹¥È·Á¼°¤Çɸ½à½ÐÎÏ ¤Ë½ÐÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤Î»ØÄ꤬¤Ê¤¤¤È¤­¤Ï¡¤¥Ð¥¤¥Ê¥ê ¼­½ñ¥Õ¥¡¥¤¥ëÆâ¤Î¥Æ¥­¥¹¥È¼­½ñ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½ÐÎϤò¹Ô¤Ê¤¤¤Þ¤¹¡£Ã±¸ì¾ðÊó¥Ç¡¼¥¿¤Î ½ÐÎÏ·Á¼°¤Ï¡¤¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-i" 12 ÆÉ¤ß¤Èñ¸ì¤òµÕž¤·¤Æ½ÐÎϤ·¤Þ¤¹ .SH "»ÈÍÑÎã" .ft CW .IP (1) 4 ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡£ .sp .nf % dpbindic iroha.cbd (¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë̾ [¥Ð¡¼¥¸¥ç¥ó(¼­½ñºîÀ®»þ´Ö] = Áíñ¸ì¿ô + ÁíÆÉ¤ß¿ô) iroha.swd [Mon Nov 25 10:10:10 1991] = 260 + 160 iroha.mwd [Sun Dec 1 14:30:30 1991] = 80000 + 6996 .fi .IP (2) 4 ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ëiroha.mwd¤ò»ØÄꤷ¤¿¾ì¹ç¡£ .sp .nf % dpbindic iroha.cbd iroha.mwd (ÆÉ¤ß ÉÊ»ìÈÖ¹æ ñ¸ì) ¤¢¡¼¤È #T35 ¥¢¡¼¥È ¤¢¤¢ #CJ ¤¢¤¢ : : (¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë̾ [¥Ð¡¼¥¸¥ç¥ó(¼­½ñºîÀ®»þ´Ö] = Áíñ¸ì¿ô + ÁíÆÉ¤ß¿ô) iroha.swd [Mon Nov 25 10:10:10 1991] = 260 + 160 iroha.mwd [Sun Dec 1 14:30:30 1991] = 80000 + 6996 .ft .SH "´ØÏ¢¾ðÊó" mkbindic(1), dicar(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: dpbindic.jmn,v 1.2 2003/01/15 13:41:02 aida_s Exp $ Canna37p3/cmd/dpbindic/dpbindic.man0100644000076500001200000000573007611262356016452 0ustar shinraadmin.\".ds LB /usr/lib/canna .ds LB /usr/local/canna/lib .TH DPBINDIC 1 .SH NAME dpbindic \- Convert a binary-form dictionary into a text-form dictionary .SH SYNOPSYS .B dpbindic [ .B \-xiu [ .I frequency ] ] .I "binary-file" [ .I "text-file" ] .SH DESCRIPTION .I dpbindic outputs the file information of the binary-form dictionary file specified in .I "binary-file"\fP. At this time, the word information of the dictionary can be output in text form to the standard output. To do so, use .I "test-file" to specify the text-form dictionary used as the source of binary-form dictionary file. If this specification is omitted, the text dictionary file information in the binary dictionary file will be output. The standard grammar file name is \*(LB/dic/hyoujun.gram. It will be used if the grammar file name specification is omitted. The output format of word information data is specified using an option. .SH OPTIONS .TP .B \-x Outputs the data without using omission symbol @, which is used when the initial word represents the reading. .TP .B \-i Replaces the reading and word for output. .TP .B \-u Outputs the candidates used in conversion. Outputs all candidates having .I frequency or more. If .I frequency is omitted, all candidates having frequency 1 will be output. .SH EXAMPLES .PP (1) If the text-form dictionary file name is omitted: .nf .B %dibindic iroha.cbd .B (Text dictionary file name = Directory size + Word size, packed) .B iroha.swd = 2985 + 5306 pak a4 .B iroha.mwd = 36276 + 113139 pak a4 .PP (2) If the text-form dictionary file name iroha.mwd is specified: .nf .B %dpbindic iroha.cbd iroha.mwd .B (Text dictionary file name = Directory size + Word size, packed) .B iroha.mwd = 36276 + 113139 pak a4 .SH SEE ALSO mkbindic(1), dicar(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: dpbindic.man,v 1.2 2003/01/15 13:41:02 aida_s Exp $ Canna37p3/cmd/dpbindic/Imakefile0100644000076500001200000000067407554213566016021 0ustar shinraadmin/* $Id: Imakefile,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ */ #include "../../Canna.conf" CANNAROOT = ../.. PROGRAMS = dpbindic SRCS = dpbindic.cpp DEFINES = -I$(CANNAROOT)/include $(SCRIPTS_DEFINES) AllTarget($(PROGRAMS)) CppScriptTarget(dpbindic,dpbindic.cpp,$(DEFINES),/**/) InstallNamedProg(dpbindic,dpbindic,$(cannaBinDir)) InstallManPage(dpbindic,$(cannaManDir)) clean:: $(RM) $(PROGRAMS) depend:: Canna37p3/cmd/dpromdic/0040755000076500001200000000000010052700677014220 5ustar shinraadminCanna37p3/cmd/dpromdic/.cvsignore0100644000076500001200000000003207601177336016216 0ustar shinraadmin.depend Makefile dpromdic Canna37p3/cmd/dpromdic/dpromdic.c0100644000076500001200000000655707773337052016210 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 112.1 $Id: dpromdic.c,v 1.3.2.2 2003/12/27 17:15:22 aida_s Exp $"; #endif /* # include "RKintern.h" */ # include #include #if defined(__STDC__) || defined(SVR4) # include #endif #include "ccompat.h" #define CANNA_NEW_WCHAR_AWARE #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif # include extern struct RkRxDic *RkwOpenRoma() ; void printch(); main(argc, argv) int argc; char **argv; { char *filename; struct RkRxDic *rdic; unsigned char *s; int i, mode; static char zero[] = "\\0" ; #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif #ifdef __EMX__ _fsetmode(stdout, "b"); #endif mode = 0x0004; /* ÆÉ¤ß¼è¤ê²Äǽ¤«¡© */ if(argc != 2){ fprintf(stderr, gettxt("cannacmd:15", "Usage: dpromdic \n")); exit(1); /* NOTREACHED */ } ++argv; filename = *argv; if(access(filename, mode) == -1) { fprintf(stderr, gettxt("cannacmd:16", "cannot open %s\n"), filename); exit(1); /* NOTREACHED */ } if((rdic = RkwOpenRoma(filename)) != NULL) { if( rdic -> nr_bchars != NULL && rdic -> nr_bchars[0] ) { printf("!%s\n",rdic -> nr_bchars) ; } for(i=0; inr_nkey; i++) { s = rdic->nr_keyaddr[i]; /* ¥í¡¼¥Þ»ú */ for(s = rdic->nr_keyaddr[i]; *s; s++) { printch(*s) ; } printf("\t"); s++; /* ¤«¤Ê */ if ( *s == 0 ) printf("%s",zero) ; else { for(; *s; s++) { printch(*s) ; } } /* intr */ if ( rdic -> dic == 0 ) { printf("\t"); s++ ; for(; *s ; s++) { printch(*s) ; } } if ( rdic->nr_brules && rdic -> nr_brules[i] == 1 ) { printf(" !") ; } printf("\n"); } RkwCloseRoma(rdic); exit(0); } else { fprintf(stderr, gettxt("cannacmd:17", "<%s> isn't rom-kana-table.\n"), filename); exit(1); /* NOTREACHED */ } } void printch(s) char s ; { switch(s) { case '\'' : case '\"' : printf("\\x%02x", s); break; case ' ' : case '#' : case '\\' : printf("\\"); /* FALLTHROUGH */ default : printf("%c", s); break; } } Canna37p3/cmd/dpromdic/dpromdic.jmn0100644000076500001200000000417407554213566016543 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} dpromdic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" dpromdic \- ¥Ð¥¤¥Ê¥ê·Á¼°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥Æ¥­¥¹¥È·Á¼°¤Ø¤ÎÊÑ´¹ .SH "·Á¼°" .B "dpromdic \fIfile\fP" .SH "ÀâÌÀ" .PP ¥Ð¥¤¥Ê¥ê·Á¼°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¥Æ¥­¥¹¥È·Á¼°¤Çɸ½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡£ \fImkromdic\fP(1)¤Ç¥Ð¥¤¥Ê¥ê¼­½ñ¤ØÊÑ´¹¤·¤¿¼­½ñ¥Æ¡¼¥Ö¥ë¤ò¤â¤¦°ìÅ٥ƥ­¥¹¥È·Á¼°¤Î ¼­½ñ¥Æ¡¼¥Ö¥ë¤ËÊÑ´¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ .PP ¥Æ¥­¥¹¥È¼­½ñ¤«¤é\fImkromdic\fP(1)¤Ç¥Ð¥¤¥Ê¥ê¼­½ñ¤ØÊÑ´¹¤·¤¿¤â¤Î¤Ï¡¢ ¥í¡¼¥Þ»ú¤Î¼­½ñ½ç¤Ë¥½¡¼¥È¤µ¤ì¡¢¥³¥á¥ó¥È¹Ô¤Ïºï½ü¤µ¤ì¤¿¾õÂ֤ˤʤäƤ¤¤Þ¤¹¡£ .SH "»ÈÍÑÎã" .ft CW % dpromdic test.kp .IP "a" 12 ¤¢ .IP "ba" 12 ¤Ð .IP "be" 12 ¤Ù .IP "bi" 12 ¤Ó .IP "bo" 12 ¤Ü .IP "bu" 12 ¤Ö .IP "¡§" 11 ¡§ .IP "¡§" 11 ¡§ .PP (test.kp¤ÎÆâÍÆ¤¬¥Æ¥­¥¹¥È·Á¼°¤Çɸ½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£) .PP % dpromdic test.kp > test1.kpdef .br (¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¥Æ¡¼¥Ö¥ëtest1.kpdef¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£) .ft .SH "´ØÏ¢¾ðÊó" .PP mkromdic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: dpromdic.jmn,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/dpromdic/dpromdic.man0100644000076500001200000000416607554213566016533 0ustar shinraadmin.TH DPROMDIC 1 .S HNAME dpromdic \- Convert the binary-form Romaji-to-Kana conversion table into the text-form table .SHSYNOPSYS .B dpromdic [ .I file ] .SH DESCRIPTION .PP .I dpromdic converts the binary-form Romaji-to-Kana conversion table into the text-form table. It then outputs the result to the standard output. .PP After a dictionary table is converted into the binary dictionary by using .I mkromdic(1), dpromdic can returns it to the text-form table. .PP The contents converted into binary dictionary from the text dictionary by using .I mkromdic(1) is sorted in alphabetical order of Romaji. The comment lines are deleted in this table. .SH EXAMPL .nf .B % dpromdic test.kp .B (The contents of test.kp are output, in text form, to the .B standard output.) .B % dpromdic test.kp > test1.kpdef .B (Dictionary table test1.kpdef is created in text form.) .SH "SEE ALSO" mkromdic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: dpromdic.man,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/dpromdic/Imakefile0100644000076500001200000000032207614662721016032 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:33 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName dpromdic #define ManSrcName dpromdic #define WantCannaLib #include "../cmd.tmpl" Canna37p3/cmd/dpxdic/0040755000076500001200000000000010052700677013672 5ustar shinraadminCanna37p3/cmd/dpxdic/.cvsignore0100644000076500001200000000003007601177336015666 0ustar shinraadmin.depend Makefile dpxdic Canna37p3/cmd/dpxdic/dpxdic.c0100644000076500001200000003011007773337052015312 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 102.1 $Id: dpxdic.c,v 1.7.2.2 2003/12/27 17:15:22 aida_s Exp $"; #endif #include "RKintern.h" #include #include #include #include #ifdef SVR4 #include #endif #include "ccompat.h" #include "RKindep/file.h" #ifndef HYOUJUN_GRAM #ifdef USE_OBSOLETE_STYLE_FILENAME #define HYOUJUN_GRAM "/usr/lib/canna/dic/canna/fuzokugo.d" #else #define HYOUJUN_GRAM "/usr/lib/canna/dic/canna/fuzokugo.cbd" #endif #endif int inv = 0; static char *program; static unsigned char ebuf[8048]; unsigned char * show_a_cand(gram, wrec, or) struct RkKxGram *gram; unsigned char *wrec; unsigned *or; { unsigned j, clen, row; char *ptr, rowname[128]; Wchar *dst, wbuf[1024]; clen = (*wrec >> 1) & 0x7f; row = _RkRowNumber(wrec); wrec += NW_PREFIX; if (row == 0) { fprintf(stderr, "bad hinshi\n"); return(wrec); } for (j = 0, dst = wbuf; j < clen; j++) { Wchar wch; wch = bst2_to_s(wrec); if (wch == (Wchar)'\\' || wch == (Wchar)' ' || wch == (Wchar)'\t') { *dst++ = (Wchar)'\\'; } *dst++ = wch; wrec += sizeof(Wchar); } *dst = (Wchar)0; if (gram) { if ((ptr = (char *)RkGetGramName(gram, row)) != NULL) { (void)strcpy(rowname, ptr); if (*or != row) { printf(" #%s", rowname); *or = row; } } else { fprintf(stderr, "bad hinshi\n"); return(wrec); } } else { if (*or != row) { printf(" #%d", row); *or = row; } } ustoeuc(wbuf, dst - wbuf, ebuf, RkNumber(ebuf)); printf(" %s", ebuf); return wrec; } unsigned char * show_a_icand(gram, wrec) struct RkKxGram *gram; unsigned char *wrec; { unsigned j, clen, row; char *ptr, rowname[128]; Wchar *dst, wbuf[1024]; clen = (*wrec >> 1) & 0x7f; row = _RkRowNumber(wrec); wrec += NW_PREFIX; if (row == 0) { fprintf(stderr, "bad hinshi\n"); exit(1); } for (j = 0, dst = wbuf; j < clen; j++) { *dst++ = bst2_to_s(wrec); wrec += sizeof(Wchar); } *dst = (Wchar)0; ustoeuc(wbuf, dst - wbuf, ebuf, RkNumber(ebuf)); printf("%s", ebuf); if (gram && (ptr = (char *)RkGetGramName(gram, row))) { (void)strcpy(rowname, ptr); printf(" #%s", rowname); } else { printf(" #%d", row); } return wrec; } void show_a_wrec(gram, wrec, yomi, n) struct RkKxGram *gram; unsigned char *wrec; Wchar *yomi; unsigned n; { unsigned i, left, nc, or; Wchar *src, *dst, syomi[1024], wch; left = (*wrec >> 1) & 0x3f; nc = _RkCandNumber(wrec); if (*wrec & 0x80) wrec += 2; wrec += 2; for (i = 0, src = yomi, dst = syomi ; i < n ; i++) { wch = *src++; if (wch == (Wchar)'\\' || wch == (Wchar)' ' || wch == (Wchar)'\t') { *dst++ = (Wchar)'\\'; } *dst++ = wch; } for (i = 0 ; i < left ; i++) { wch = bst2_to_s(wrec); if (wch == (Wchar)'\\' || wch == (Wchar)' ' || wch == (Wchar)'\t') { *dst++ = (Wchar)'\\'; } *dst++ = wch; wrec += sizeof(Wchar); } *dst = 0; if (inv) { for (i = 0; i < nc; i++) { wrec = show_a_icand(gram, wrec); ustoeuc(syomi, dst - syomi, ebuf, RkNumber(ebuf)); printf(" %s", ebuf); printf("\n"); } } else { ustoeuc(syomi, dst - syomi, ebuf, RkNumber(ebuf)); printf("%s", ebuf); or = 0; for (i = 0; i < nc; i++) { wrec = show_a_cand(gram, wrec, &or); } printf("\n"); } } static int loadDic(dic) struct ND *dic; { unsigned char *buf; off_t off = dic->doff; unsigned size = dic->drsz; int fd = dic->fd; int i; if (!dic->pgs) { unsigned tblsz = dic->ttlpg * sizeof(struct NP); if (!(dic->pgs = (struct NP *)malloc(tblsz))) return(-1); for (i = 0; i < dic->ttlpg; i++) { dic->pgs[i].lnksz = (unsigned) 0; dic->pgs[i].ndsz = (unsigned) 0; dic->pgs[i].lvo = (unsigned) 0; dic->pgs[i].csn = (unsigned) 0; dic->pgs[i].flags = (unsigned) 0; dic->pgs[i].buf = (unsigned char *) 0; } } if (!(buf = (unsigned char *)malloc(size))) return(-1); (void)lseek(fd, off, 0); if (read(fd, (char *)buf, size) != size) return(-1); dic->buf = buf; return(0); } static int loadPage(dic, id) struct ND *dic; int id; { unsigned off = dic->doff + dic->drsz + dic->pgsz * id; unsigned size = dic->pgsz; unsigned char *buf; int fd = dic->fd; if (!dic->pgs) { fprintf(stderr, "no page table\n"); return(-1); } if (id >= dic->ttlpg) { fprintf(stderr, "ERROR: %dth page is greater than max page %lu\n", id, dic->ttlpg); return(-1); } if (!isLoadedPage(dic->pgs + id)) { if (!(buf = (unsigned char *)malloc(size))) { fprintf(stderr, "malloc failed.\n"); return(-1); } (void)lseek(fd, off, 0); if (read(fd, (char *)buf, size) != size) { (void)fprintf(stderr, "cannot read page %d (%d)\n", id, size); return(-1); } dic->pgs[id].buf = buf; dic->pgs[id].count = 0; dic->pgs[id].flags = RK_PG_LOADED; dic->pgs[id].ndsz = bst2_to_s(buf + 2); dic->pgs[id].lnksz = bst2_to_s(buf + 4); dic->pgs[id].lvo = bst3_to_l(buf + 7); dic->pgs[id].csn = bst3_to_l(buf + 10); } return(0); } unsigned char * offset2ptr(dic, off, which) struct ND *dic; unsigned off; int *which; { unsigned char *p; int pg; if (off < dic->drsz) { p = dic->buf + off; pg = -1; } else { pg = (off - dic->drsz) / dic->pgsz; if (loadPage(dic, pg) < 0) return((unsigned char *)0); p = dic->pgs[pg].buf + off - dic->drsz - pg * dic->pgsz; } if (which) *which = pg; return(p); } unsigned char * off2ptr(dic, off, id) struct ND *dic; unsigned off; int id; { unsigned char *p; p = dic->pgs[id].buf + off; return(p); } int show_nip(gram, dic, yomi, n, p, pg) struct RkKxGram *gram; struct ND *dic; Wchar *yomi; unsigned n; unsigned char *p; int pg; { Wchar w; unsigned char *pp; unsigned nn; unsigned val; int iw; int il = 0; while (!il) { w = bst2_to_s(p); p += 2; iw = *p & WORD_NODE; il = *p & LAST_NODE; val = ((p[0] & 0x3f) << BIT_UNIT) | p[1]; p += 2; if (w != (Wchar) 0) { yomi[n] = w; nn = n + 1; } else { nn = n; } yomi[nn] = (Wchar)0; if (iw) { show_a_wrec(gram, off2ptr(dic, val, pg), yomi, nn); } else { if (!(pp = off2ptr(dic, val, pg))) { fprintf(stderr, "bad offset in nip\n"); exit(1); } show_nip(gram, dic, yomi, nn, pp, pg); } } return(0); } int compit(a, b) unsigned char *a; unsigned char *b; { if (*a > *b || ((*a == *b) && *(a+1) >= *(b+1))) { return(1); } return(-1); } static show_nid(gram, dic, yomi, n, ptr) struct RkKxGram *gram; struct ND *dic; Wchar *yomi; unsigned n; unsigned char *ptr; { unsigned char *p; Wchar wc, i; unsigned val; int wn; unsigned nn; int which; p = ptr; wc = bst2_to_s(p); p += 5; qsort((char *)p, (unsigned)wc, 5, (int (*) pro((const void *, const void *)))compit); for (i = 0; i < wc; i++) { Wchar w; w = bst2_to_s(p); p += 2; val = bst3_to_l(p); p += 3; if (w == (Wchar) 0xffff) continue; wn = val & 0x800000; val &= 0x7fffff; if (w != (Wchar)0) { yomi[n] = w; nn = n + 1; } else { nn = n; } yomi[nn] = (Wchar)0; if (wn) show_a_wrec(gram, offset2ptr(dic, val, &which), yomi, nn); else { unsigned char *pp; if (!(pp = offset2ptr(dic, val, &which))) { fprintf(stderr, "bad offset\n"); exit(1); } if (which < 0) { show_nid(gram, dic, yomi, nn, pp); } else { show_nip(gram, dic, yomi, nn, pp, which); } } } return(0); } int getdic(dic, filenm, dmnm) struct ND *dic; char *filenm; char *dmnm; { struct HD hd; int fd, lk; off_t off, doff; unsigned err; unsigned char ll[4]; if (!filenm) return(-1); if ((fd = open(filenm, O_RDONLY)) < 0) return(-1); #ifdef __CYGWIN32__ setmode(fd, O_BINARY); #endif for (off = 0, lk = 1, doff = 0, err = 0; !err && lk && _RkReadHeader(fd, &hd, off) >= 0; lk = dmnm ? strcmp(dmnm, (char *)hd.data[HD_DMNM].ptr) : 1) { if (!dmnm) { time_t tloc; char date[26]; tloc = hd.data[HD_TIME].var; strcpy(date, ctime(&tloc)); date[24] = 0; (void)fprintf(stderr, "%s [ %s ] = %ld + %ld\n", (char *)hd.data[HD_DMNM].ptr, date, hd.data[HD_CAN].var, hd.data[HD_REC].var); } doff = off; off += hd.data[HD_SIZ].var; if (HD_VERSION(&hd) < 300702L && !strncmp(".swd", (char *)(hd.data[HD_DMNM].ptr + strlen((char *)hd.data[HD_DMNM].ptr) - 4), 4)) { if (lseek(fd, off, 0) < 0 || read(fd, (char *)ll, 4) != 4) err = 1; off += bst4_to_l(ll) + 4; } } if (!dmnm) return(0); if (lk) return(-1); dic->doff = doff + hd.data[HD_HSZ].var; dic->sz = hd.data[HD_SIZ].var; dic->drsz = hd.data[HD_PGOF].var - hd.data[HD_DROF].var; dic->pgsz = _RkCalcUnlog2(hd.data[HD_L2P].var) + 1; dic->ttlpg = hd.data[HD_PAG].var; dic->fd = fd; dic->buf = (unsigned char *)0; dic->pgs = (struct NP *)0; return(loadDic(dic)); } main (argc, argv) int argc; char *argv []; { char *dmnm = 0; int i; struct RkKxGram *gram; Wchar yomi[1024]; struct ND Dic; struct ND *dic = &Dic; int which; unsigned char *p; char *cnj = (char *)0; char bn[256]; int fd; program = RkiBasename(argv[0]); for (i = 1; i < argc && argv[i][0] == '-'; i++) { if (!strcmp(argv[i], "-i") ) { inv = 1; continue; } else if (!strcmp(argv[i], "-D")) { if ( ++i < argc && !cnj) { cnj = argv[i]; continue; } } else { (void)fprintf(stderr, "usage: %s [-i] [-D bunpou] [dictionary-name]\n", program); exit(1); } } if (i > argc - 1) { (void) fprintf(stderr, "usage: %s [-i] [-D bunpou] [dictionary-name]\n", program); exit(1); } if (!cnj) { if(!(gram = RkOpenGram(HYOUJUN_GRAM))) { (void)fprintf(stderr, "Warning: cannot open grammar file %s.\n", HYOUJUN_GRAM); } } else { if ((fd = open(cnj, 0)) < 0) { (void)fprintf(stderr, "%s: cannot open grammar file %s.\n", program, cnj); exit(1); } #ifdef __CYGWIN32__ setmode(fd, O_BINARY); #endif gram = RkReadGram(fd, (size_t)-1); close(fd); } (void)strcpy(bn, argv[i]); if (!(dmnm = argv[i+1])) { if (getdic(dic, bn, dmnm) < 0) { (void)fprintf(stderr, "%s: cannot read file %s\n", program, bn); } exit(1); } if (getdic(dic, bn, dmnm) < 0) { (void)fprintf(stderr, "%s: cannot read file %s or dictionary %s\n", program, bn, dmnm); exit(1); } p = offset2ptr(dic, (unsigned)0, &which); if (which != -1) { (void)fprintf(stderr, "incollect dictionary\n"); exit(1); } show_nid(gram, dic, yomi, (unsigned)0, p); (void)close(dic->fd); fflush(stdout); return 0; } Canna37p3/cmd/dpxdic/Imakefile0100644000076500001200000000054307614662721015511 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:33 aida_s Exp $ */ #include "../../Canna.conf" #ifdef USE_OBSOLETE_STYLE_FILENAME CMDSUBDEFINES = -DHYOUJUN_GRAM=\"$(DicDir)/canna/fuzokugo.d\" #else CMDSUBDEFINES = -DHYOUJUN_GRAM=\"$(DicDir)/canna/fuzokugo.cbd\" #endif #define SimpleCommand #define WantRKLib #define TargetName dpxdic #include "../cmd.tmpl" Canna37p3/cmd/forcpp/0040755000076500001200000000000010052700677013710 5ustar shinraadminCanna37p3/cmd/forcpp/.cvsignore0100644000076500001200000000003007601177336015704 0ustar shinraadmin.depend Makefile forcpp Canna37p3/cmd/forcpp/forcpp.c0100644000076500001200000000575107617020475015356 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 112.1 $Id: forcpp.c,v 1.2 2003/02/01 19:34:21 aida_s Exp $"; #endif /* * forcpp.c /lib/cpp ¤òÄ̤¹»þ¤Ë8¥Ó¥Ã¥È¥³¡¼¥É¤òÊݸ¤ë * forcpp -7 < [in-file-name] > [out-file-name] * -7 Á°½èÍý * -8 ¸å½èÍý */ #include #include #include #if defined(__STDC__) || defined(SVR4) #include #endif #include "ccompat.h" #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif char *hd = "0123456789abcdef"; /* #define ESC '@'*/ #define ESC 033 e2j() { unsigned c; int kin = 0; while ( (c = getchar()) != EOF ) { if ( c & 0x80 ) { if ( !kin ) { putchar(ESC); kin = 1; }; putchar(hd[c>>4]); putchar(hd[c&15]); } else { if ( kin ) { putchar(ESC); kin = 0; }; putchar(c); }; }; } j2e() { unsigned c; int kin = 0; while ( (c = getchar()) != EOF ) { if ( c == ESC ) { kin = 1 - kin; } else { if ( kin ) { char s[3]; s[0] = c; s[1] = getchar(); s[2] = 0; sscanf(s, "%x", &c); } putchar(c); }; }; } void catch(sig) int sig; { fprintf(stderr, gettxt("cannacmd:18", "Dictionary format error.\n")); exit(1); } main(n, args) int n; char *args[]; { (void)signal(SIGSEGV, catch); #ifdef SIGBUS (void)signal(SIGBUS, catch); #endif #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif #ifdef __EMX__ _fsetmode(stdout, "b"); #endif if( n == 1 ) { /* ¥³¥Þ¥ó¥É̾¤À¤±¤Î»þ */ fprintf(stderr, gettxt("cannacmd:19", "Usage: forcpp -7 < [file],\n forcpp -8 < [file]\n")); exit( -1 ); } if( !strcmp(args[1], "-7")) e2j(); else if( !strcmp(args[1], "-8")) j2e(); else fprintf(stderr, gettxt("cannacmd:20", "Usage: forcpp -7 < [file],\n forcpp -8 < [file]\n")); exit(0); } Canna37p3/cmd/forcpp/Imakefile0100644000076500001200000000023707614662721015527 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:33 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName forcpp #include "../cmd.tmpl" Canna37p3/cmd/forsort/0040755000076500001200000000000010052700677014115 5ustar shinraadminCanna37p3/cmd/forsort/.cvsignore0100644000076500001200000000003107601177336016112 0ustar shinraadmin.depend Makefile forsort Canna37p3/cmd/forsort/forsort.c0100644000076500001200000000524307617020475015764 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 112.1 $Id: forsort.c,v 1.2 2003/02/01 19:34:21 aida_s Exp $"; #endif /* * forsort.c ¥½¡¼¥È¤ò¹Ô¤Ê¤¦»þ¤Ë8¥Ó¥Ã¥È¥³¡¼¥É¤òÊݸ¤ë * forsort -7 < [in-file-name] > [out-file-name] * -7 Á°½èÍý * -8 ¸å½èÍý */ #include #include #if defined(__STDC__) || defined(SVR4) #include #endif #include "ccompat.h" #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif char *hd = "0123456789ABCDEF"; /* #define ESC '@'*/ #define ESC 033 e2j() { register unsigned c; while ( (c = getchar()) != EOF ) { if ( isspace(c) ) putchar(c); else { putchar(hd[c>>4]); putchar(hd[c&15]); } }; } j2e() { register unsigned c, d; while ( (c = getchar()) != EOF ) { if ( isspace(c) ) putchar(c); else { d = getchar(); if ( isdigit(c) ) c -= '0'; else c -= 'A' - 10; if ( isdigit(d) ) d -= '0'; else d -= 'A' - 10; putchar((c<<4)|d); }; }; } main(n, args) int n; char *args[]; { #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif #ifdef __EMX__ _fsetmode(stdout, "b"); #endif if( n == 1 ) { /* ¥³¥Þ¥ó¥É̾¤À¤±¤Î»þ */ fprintf(stderr, gettxt("cannacmd:21", "Usage: forsort -7 < [file],\n forsort -8 < [file]\n")); exit( -1 ); } if( !strcmp(args[1], "-7")) e2j(); else if( !strcmp(args[1], "-8")) j2e(); else fprintf(stderr, gettxt("cannacmd:22", "Usage: forsort -7 < [file],\n forsort -8 < [file]\n")); exit(0); } Canna37p3/cmd/forsort/Imakefile0100644000076500001200000000024007614662721015726 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:33 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName forsort #include "../cmd.tmpl" Canna37p3/cmd/Imakefile0100644000076500001200000000100607603213515014220 0ustar shinraadmin/* $Id: Imakefile,v 1.2 2002/12/28 03:15:25 aida_s Exp $ */ #include "../Canna.conf" #define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' RCMDDIRS = canlisp cannacheck cannastat cshost catdic SUBDIRS = crfreq crxdic crxgram ctow dpromdic dpxdic dicar\ forcpp forsort kpdic mergewd splitwd wtoc \ mkromdic mkbindic dpbindic chkconc $(RCMDDIRS) MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) MakeLintLibSubdirs($(SUBDIRS)) MakeLintSubdirs($(SUBDIRS),install.ln,install.ln) Canna37p3/cmd/kpdic/0040755000076500001200000000000010052700677013511 5ustar shinraadminCanna37p3/cmd/kpdic/.cvsignore0100644000076500001200000000002707601177337015514 0ustar shinraadmin.depend Makefile kpdic Canna37p3/cmd/kpdic/Imakefile0100644000076500001200000000023607614662721015327 0ustar shinraadmin/* $Id: Imakefile,v 1.4 2003/01/26 04:36:33 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName kpdic #include "../cmd.tmpl" Canna37p3/cmd/kpdic/kpdic.c0100644000076500001200000002440007773337053014756 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 102.1 $Id: kpdic.c,v 1.4.2.2 2003/12/27 17:15:23 aida_s Exp $"; #endif #if defined(__STDC__) || defined(SVR4) #include #endif #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif #include "ccompat.h" #ifdef __CYGWIN32__ #include /* for O_BINARY */ #endif #include #include #define MAXKEY ((1 << 16) / 4) #define MAXSIZE (1 << 16) #define LMAXKEY (1 << 16) #define LMAXSIZE (1 << 20) #define LOMASK(x) ((x)&255) static char fileName[256]; static int lineNum; static int errCount; int chk_dflt pro((int c)); struct def_tbl { int used ; char *roma ; char *kana ; char *intr ; } ; static struct def_tbl def [] = { {0,"kk","¤Ã","k"}, {0,"ss","¤Ã","s"}, {0,"tt","¤Ã","t"}, {0,"hh","¤Ã","h"}, {0,"mm","¤Ã","m"}, {0,"yy","¤Ã","y"}, {0,"rr","¤Ã","r"}, {0,"ww","¤Ã","w"}, {0,"gg","¤Ã","g"}, {0,"zz","¤Ã","z"}, {0,"dd","¤Ã","d"}, {0,"bb","¤Ã","b"}, {0,"pp","¤Ã","p"}, {0,"cc","¤Ã","c"}, {0,"ff","¤Ã","f"}, {0,"jj","¤Ã","j"}, {0,"qq","¤Ã","q"}, {0,"vv","¤Ã","v"} } ; /*VARARGS*/ void alert(fmt, arg) char *fmt; char *arg; { char msg[256]; (void)sprintf(msg, fmt, arg); (void)fprintf(stderr, gettxt("cannacmd:23", "#line %d %s: (WARNING) %s\n"), lineNum, fileName, msg); ++errCount; } void fatal(fmt, arg) char *fmt; char *arg; { char msg[256]; (void)sprintf(msg, fmt, arg); (void)fprintf(stderr, gettxt("cannacmd:24", "#line %d %s: (FATAL) %s\n"), lineNum, fileName, msg); exit(1); } int getWORD(s, news, word, maxword) unsigned char *s, **news; unsigned char *word; int maxword; { unsigned c; int i; i = 0; while ( *s && *s <= ' ' ) s++; while ( (c = *s) > ' ' ) { s++; if ( c == '\\' ) { switch(*s) { case 0: break; case '0': if ( s[1] == 'x' && isxdigit(s[2]) && isxdigit(s[3]) ) { unsigned char xx[3]; s += 2; xx[0] = *s++; xx[1] = *s++; xx[2] = 0; sscanf((char *)xx, "%x", &c); } else { c = 0; while ( isdigit(*s) ) c = 8*c + (*s++ - '0'); }; break; case 'x': { unsigned char xx[3]; unsigned char *xxp = xx; s++; if ( isxdigit(*s) ) *xxp++ = *s++; if ( isxdigit(*s) ) *xxp++ = *s++; *xxp = '\0'; sscanf((char *)xx, "%x", &c); } break; default: c = *s++; break; }; }; if ( i < maxword - 1 ) word[i++] = c; }; word[i] = 0; *news = s; return i; } unsigned char *allocs (s) unsigned char *s; { unsigned char *d; if ( (d = (unsigned char *)malloc(strlen((char *)s) + 1)) != NULL ) strcpy((char *)d, (char *)s); else { fprintf(stderr, "Out of memory\n"); exit(1); } return d; } struct roman { unsigned char *roma; unsigned char *kana; unsigned char *temp; int bang; }; static void freeallocs(roman, nKey) struct roman *roman; int nKey; { int i; for (i = 0 ; i < nKey ; i++) { /* free them */ free((char *)roman[i].roma); roman[i].roma = (unsigned char *)0; free((char *)roman[i].kana); roman[i].kana = (unsigned char *)0; if (roman[i].temp) { free((char *)roman[i].temp); roman[i].temp = (unsigned char *)0; } } } int compar(p, q) struct roman *p, *q; { unsigned char *s = p->roma; unsigned char *t = q->roma; while ( *s == *t ) if ( *s ) s++, t++; else return 0; return ((int)*s) - ((int)*t); } main(argc, argv) int argc ; char **argv ; { struct roman *roman; unsigned char rule[256], *r; int nKey, size; int i, p; int flag_old ; int flag_large = 0; int werr ; long maxkey, maxsize; unsigned char l4[4], *bangchars = 0, *pp; #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif #ifdef __EMX__ _fsetmode(stdout, "b"); #endif #ifdef __CYGWIN32__ setmode(fileno(stdout), O_BINARY); #endif /* option */ flag_old = 0 ; werr = 0 ; while(--argc) { argv++ ; if (!strcmp(*argv,"-m")) { flag_old = 1 ; } else if (!strcmp(*argv,"-x")) { flag_large = 1 ; } } if (flag_large) { maxkey = LMAXKEY; maxsize = LMAXSIZE; } else { maxkey = MAXKEY; maxsize = MAXSIZE; } roman = (struct roman *)malloc(sizeof(struct roman) * maxkey); if (!roman) { fatal(gettxt("cannacmd:8", "No more memory\n"), 0); } nKey = 0; size = 0; while (fgets((char *)(r = rule), sizeof(rule), stdin)) { unsigned char roma[256]; lineNum++; if ( *r == '#' ) { continue; } if ( getWORD(r, &r, roma, sizeof(roma)) ) { if (nKey < maxkey) { for ( i = 0; i < nKey; i++ ) { if ( !strcmp((char *)roman[i].roma, (char *)roma) ) { break; } } if ( i < nKey ) { alert(gettxt("cannacmd:25", "multiply defined key <%s>"), roma); continue; } roman[nKey].roma = allocs(roma); } else { freeallocs(roman, nKey); free((char *)roman); fatal(gettxt("cannacmd:26", "More than %d romaji rules are given."), maxkey); } if ( getWORD(r, &r, roma, sizeof(roma)) ) { roman[nKey].kana = allocs(roma); roman[nKey].temp = (unsigned char *)0; roman[nKey].bang = 0; if ( getWORD(r, &r, roma, sizeof(roma)) ) { roman[nKey].temp = allocs(roma); if ( getWORD(r, &r, roma, sizeof(roma)) ) { roman[nKey].bang = 1; } } size += strlen((char *)roman[nKey].roma) + 1 + strlen((char *)roman[nKey].kana) + 1 + (roman[nKey].temp ? strlen((char *)roman[nKey].temp) : 0) + 1; /* add */ if (flag_old == 1) { if (roman[nKey].temp && 0) { /* free them */ free((char *)roman[nKey].roma); free((char *)roman[nKey].kana); free((char *)roman[nKey].temp); roman[nKey].roma = (unsigned char *)0; roman[nKey].kana = (unsigned char *)0; roman[nKey].temp = (unsigned char *)0; nKey--; /* ¤Ò¤È¤ÄÌᤷ¤Æ¤ª¤¯ */ werr = 1; } else { p = chk_dflt((int)(unsigned char)roman[nKey].roma[0]); if (p--) { if (def[p].used == 0) { /* if not used */ if (nKey < maxkey) { nKey++ ; roman[nKey].roma = allocs(def[p].roma); roman[nKey].kana = allocs(def[p].kana); roman[nKey].temp = allocs(def[p].intr); size += strlen((char *)roman[nKey].roma) + 1 + strlen((char *)roman[nKey].kana) + 1 + strlen((char *)roman[nKey].temp) + 1; def[p].used = 1; } else { freeallocs(roman, maxkey); free((char *)roman); fatal("more than %d romaji rules are given.", maxkey); } } } } } nKey++; } else { if (roman[nKey].roma && roman[nKey].roma[0] == '!' && roman[nKey].roma[1] != (unsigned char)0) { if (bangchars) { free((char *)bangchars); } bangchars = allocs(roman[nKey].roma + 1); } else { alert(gettxt("cannacmd:28", "syntax error"), 0); } if (roman[nKey].roma) { free(roman[nKey].roma); roman[nKey].roma = (unsigned char *)0; } } } } if ( errCount ) { freeallocs(roman, nKey); free((char *)roman); fatal(gettxt("cannacmd:29", "Romaji dictionary is not produced."), 0); } qsort((char *)roman, nKey, sizeof(struct roman), (int (*) pro((const void *, const void *)))compar); if (!flag_large) { putchar('K'); putchar('P'); } else { putchar('P'); putchar('T'); } size += (bangchars ? strlen((char *)bangchars) : 0) + 1; if (size >= maxsize) { freeallocs(roman, nKey); free((char *)roman); fatal(gettxt("cannacmd:32", "Too much rules. Size exhausted."), 0); } if (!flag_large) { l4[0] = LOMASK(size >> 8); l4[1] = LOMASK(size); l4[2] = LOMASK(nKey >> 8); l4[3] = LOMASK(nKey); putchar(l4[0]); putchar(l4[1]); putchar(l4[2]); putchar(l4[3]); } else { l4[0] = LOMASK(size >> 24); l4[1] = LOMASK(size >> 16); l4[2] = LOMASK(size >> 8); l4[3] = LOMASK(size); putchar(l4[0]); putchar(l4[1]); putchar(l4[2]); putchar(l4[3]); l4[0] = LOMASK(nKey >> 24); l4[1] = LOMASK(nKey >> 16); l4[2] = LOMASK(nKey >> 8); l4[3] = LOMASK(nKey); putchar(l4[0]); putchar(l4[1]); putchar(l4[2]); putchar(l4[3]); } if (bangchars) { for (pp = bangchars ; pp && *pp ; pp++) { putchar(*pp); } free((char *)bangchars); } putchar('\0'); for ( i = 0; i < nKey; i++ ) { r = roman[i].roma; do { putchar(*r); } while (*r++); r = roman[i].kana; do { putchar(*r); } while (*r++); if (roman[i].temp) { r = roman[i].temp; while (*r) putchar(*r++); } putchar(roman[i].bang); /* temp ¤¬¤Ê¤¯¤Æ¡¢bang ¤¬£±¤Ï¤¢¤ê¤¨¤Ê¤¤ */ }; freeallocs(roman, nKey); free((char *)roman); fprintf(stderr, gettxt("cannacmd:30", "SIZE %d KEYS %d\n"), size, nKey); if (werr == 1 ) fprintf(stderr,gettxt("cannacmd:31", "warning: Option -m is specified for new dictionary format.\n")) ; exit(0); } /* sub */ int chk_dflt(c) int c ; { int i,n ; char cc = (char)c; n = sizeof(def) / sizeof(struct def_tbl) ; for (i=0; i < n ; i++) { if (cc == def[i].intr[0]) { return(i+1) ; } } return(0); } Canna37p3/cmd/mergewd/0040755000076500001200000000000010052700677014051 5ustar shinraadminCanna37p3/cmd/mergewd/.cvsignore0100644000076500001200000000003307601177337016051 0ustar shinraadmin.depend Makefile mergeword Canna37p3/cmd/mergewd/Imakefile0100644000076500001200000000031407614662721015664 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:33 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName mergeword #define SrcName mergewd #define WantRKLib #include "../cmd.tmpl" Canna37p3/cmd/mergewd/mergewd.c0100644000076500001200000001532407773337053015663 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 112.1 $Id: mergewd.c,v 1.1.1.1.4.2 2003/12/27 17:15:23 aida_s Exp $"; #endif #include "RKintern.h" #include #if defined(__STDC__) || defined(SVR4) #include #endif #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif #define RkwIsGraphicChar(x) ((unsigned long)(x) > (unsigned long)' ') #define RkwIsControlChar(x) ((unsigned long)(x) < (unsigned long)' ') /* rec = klen + hinshi + kanji */ /* 1 + 1 + ? */ /* wrec = ylen + yomi + knum + fqoffset + rec */ /* 1byte + ?byte + 2byte + 3byte + rec */ #define ckrecSiz(k) (NW_PREFIX+us_len(k)) #define ckwrecSiz(y,s) (1+us_len(y)+2+3+s) #ifndef AIXV3 typedef unsigned char uchar; #endif int us_len(us) unsigned short *us; { unsigned short *ous = us; if (!us) return 0; while (*us & RK_WMASK) us++; return (us - ous); } Wchar * euctous(src, srclen, dest, destlen) unsigned char *src; Wchar *dest; int srclen, destlen; { unsigned short *a=dest; if (!src || !dest || !srclen || !destlen) return a; while (*src && (srclen-- > 0) && (destlen-- > 0)) { if (!(*src & 0x80) ) { *dest++ = (Wchar)*src++; } else if (srclen-- > 0) { if (*src == RK_SS2) { src++; *dest++ = (Wchar)(0x0080 | (*src++ & 0x7f)); } else if ((*src == RK_SS3) && (srclen-- > 0)) { src++; *dest++ = (Wchar)(0x8000 | ((src[0] & 0x7f) << 8) | (src[1] & (0x7f))); src += 2; } else { *dest++ = (Wchar)(0x8080 | ((src[0] & 0x7f) << 8) | (src[1] & 0x7f)); src += 2; } } else { break; } } if (destlen-- > 0) { *dest = (unsigned short)0; } return dest; } main(n, args) int n; char *args[]; { uchar Yomi[RK_LINE_BMAX], Pair[RK_LINE_BMAX], Kanji[RK_LINE_BMAX*10]; uchar yomi[RK_LINE_BMAX], pair[RK_LINE_BMAX], kanji[RK_LINE_BMAX*10]; uchar S[RK_LINE_BMAX*10], *s, *d; uchar fkanji[RK_LINE_BMAX*10]; Wchar wyomi[RK_LINE_BMAX], wkanji[RK_LINE_BMAX*10]; int kouho = 0; int wrec; int krec = 0; int rec = 0; int first = 0; FILE *fp; #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif #ifdef __EMX__ _fsetmode(stdout, "b"); #endif /* first = !strcmp(args[1], "-f"); */ Yomi[0] = Pair[0] = Kanji[0] = 0; if (n < 2 || !(fp = fopen(args[1], "r"))) { fp = stdin; } while (fgets((char *)(s = S), sizeof(S), fp)) { s[strlen((char *)s) - 1] = '\0'; if (!RkwIsGraphicChar(S[0]) || S[0] == '#' ) continue; d = yomi; while (RkwIsGraphicChar(*d = *s++)) d++; *d = 0; while (*s && !RkwIsGraphicChar(*s)) s++; d = pair; while (RkwIsGraphicChar(*d = *s++)) d++; *d = 0; while (*s && !RkwIsGraphicChar(*s)) s++; d = kanji; while ( (*d = *s++) != 0 ) d++; euctous(yomi, strlen((char *)yomi), wyomi, sizeof(yomi)/sizeof(Wchar)); euctous(kanji, strlen((char *)kanji), wkanji, sizeof(kanji)/sizeof(Wchar)); if (!strcmp((char *)Yomi, (char *)yomi)) { if ( !first ) { if (strcmp((char *)Pair, (char *)pair)) { /* Éʻ줬°Û¤Ê¤ë */ rec += ckrecSiz(wkanji); wrec = ckwrecSiz(wyomi, rec); /* ¤³¤³¤Ï¥ï¡¼¥É¥ì¥³¡¼¥É¤ÎÂ礭¤µ¤Ï̵»ë¤·¤¿¤¤ */ if( (kouho < RK_CAND_NMAX) && (wrec <= RK_WREC_BMAX) ) { strcpy((char *)Pair, (char *)pair); strcat((char *)Kanji, " "); strcat((char *)Kanji, (char *)Pair); strcat((char *)Kanji, " "); strcat((char *)Kanji, (char *)kanji); strcpy((char *)fkanji, (char *)kanji); krec += ckrecSiz(wkanji); } else (void)fprintf(stderr, gettxt("cannacmd:32", "%s: over word [%d %d]\n"), Yomi, kouho, rec); kouho++; } else if (strcmp((char *)fkanji, (char *)kanji)) { rec += ckrecSiz(wkanji); wrec = ckwrecSiz(wyomi, rec); /* ¤³¤³¤Ï¥ï¡¼¥É¥ì¥³¡¼¥É¤ÎÂ礭¤µ¤Ï̵»ë¤·¤¿¤¤ */ if( (kouho < RK_CAND_NMAX) && (wrec <= RK_WREC_BMAX*2) ) { strcat((char *)Kanji, " "); strcat((char *)Kanji, (char *)kanji); strcpy((char *)fkanji, (char *)kanji); krec += ckrecSiz(wkanji); } else (void)fprintf(stderr, gettxt("cannacmd:33", "%s: *over word [%d %d]\n"), Yomi, kouho, rec); kouho++; } } } else { if ( Yomi[0] ) { /* ÆÉ¤ß¤¬°Û¤Ê¤ë */ wrec = ckwrecSiz(wyomi, rec); printf("%s%s\n", Yomi, Kanji); /* ¤³¤³¤Ï¥Á¥§¥Ã¥¯¤Î¤¿¤á */ if( (kouho > RK_CAND_NMAX) || (wrec > RK_WREC_BMAX) ) (void)fprintf(stderr, gettxt("cannacmd:34", "%s: over word [%d %d]\n"), Yomi, kouho, rec); if (strlen((char *)Yomi)+strlen((char *)Kanji)+1 >= RK_LINE_BMAX ) { (void)fprintf(stderr,gettxt("cannacmd:35", "too long line\n")); } } strcpy((char *)Yomi, (char *)yomi); strcpy((char *)Pair, (char *)pair); strcpy((char *)fkanji, (char *)kanji); strcpy((char *)Kanji, " "); strcat((char *)Kanji, (char *)Pair); strcat((char *)Kanji, " "); strcat((char *)Kanji, (char *)kanji); krec += ckrecSiz(wkanji); rec = 0; /* ½¤Àµ = krec */ krec = 0; kouho = 1; } } if (fp != stdin) { fclose(fp); } if ( Yomi[0] ) { wrec = ckwrecSiz(wyomi, rec); printf("%s%s\n", Yomi, Kanji); /* ¤³¤³¤Ï¥Á¥§¥Ã¥¯¤Î¤¿¤á */ if( (kouho > RK_CAND_NMAX) || (wrec > RK_WREC_BMAX) ) (void)fprintf(stderr, gettxt("cannacmd:36", "%s: over word [%d %d]\n"), Yomi, kouho, rec); if (strlen((char *)Yomi)+strlen((char *)Kanji)+1 >= RK_LINE_BMAX ) { (void)fprintf(stderr,gettxt("cannacmd:37", "too long line\n")); } } exit(0); } Canna37p3/cmd/mkbindic/0040755000076500001200000000000010052700677014177 5ustar shinraadminCanna37p3/cmd/mkbindic/.cvsignore0100644000076500001200000000003207601177337016176 0ustar shinraadmin.depend Makefile mkbindic Canna37p3/cmd/mkbindic/Imakefile0100644000076500001200000000076307734505575016030 0ustar shinraadmin/* $Id: Imakefile,v 1.4 2003/09/25 06:30:21 aida_s Exp $ */ #include "../../Canna.conf" CANNAROOT = ../.. PROGRAMS = mkbindic SRCS = mkbindic.cpp DEFINES = -I$(CANNAROOT)/include $(SCRIPTS_DEFINES) -DCPP='$(CPP)' \ $(useObsoleteFileName) AllTarget($(PROGRAMS)) CppScriptTarget(mkbindic,mkbindic.cpp,$(DEFINES),/**/) InstallNamedProg(mkbindic,mkbindic,$(cannaBinDir)) InstallManPage(mkbindic,$(cannaManDir)) clean:: $(RM) $(PROGRAMS) depend:: Canna37p3/cmd/mkbindic/mkbindic.cpp0100644000076500001200000001617007722104013016455 0ustar shinraadminXCOMM!/bin/sh XCOMM Copyright 1992 NEC Corporation, Tokyo, Japan. XCOMM XCOMM Permission to use, copy, modify, distribute and sell this software XCOMM and its documentation for any purpose is hereby granted without XCOMM fee, provided that the above copyright notice appear in all copies XCOMM and that both that copyright notice and this permission notice XCOMM appear in supporting documentation, and that the name of NEC XCOMM Corporation not be used in advertising or publicity pertaining to XCOMM distribution of the software without specific, written prior XCOMM permission. NEC Corporation makes no representations about the XCOMM suitability of this software for any purpose. It is provided XCOMM "as is" without express or implied warranty. XCOMM XCOMM NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, XCOMM INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN XCOMM NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR XCOMM CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF XCOMM USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR XCOMM OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR XCOMM PERFORMANCE OF THIS SOFTWARE. XCOMM $Id: mkbindic.cpp,v 1.6 2003/08/24 09:40:27 aida_s Exp $ #include "cannaconf.h" #if defined(SYSV) || defined(SVR4) # ifdef nec_ews PATH=CANNABINDIR:/bin:/usr/bin:/etc:/usr/etc:/usr/ucb:/usr/nec/bin:$PATH; # else PATH=CANNABINDIR:/bin:/usr/bin:/etc:/usr/etc:/usr/ucb:$PATH; # endif /* nec_ews */ #else PATH=CANNABINDIR:/bin:/usr/bin:/etc:/usr/etc:/usr/5bin:$PATH; #endif /* SYSV || SVR4 */ export PATH; text_file=; dic_name=; cpp_text=; spl_text=; bck_text=; flag=; compat_flag=; sortcmd="sort -d -s +0 -1" usage="usage: mkbindic [-m|-s] [-name dicname] [-c version] textfile [cpp-args ...]"; : ${TMPDIR:=/tmp} /* main */ { while [ $# -gt 0 ]; do { case $1 in -m) if [ -z "$flag" ]; then { flag="-m"; } else { echo "$usage"; exit 1; } fi; ;; -s) if [ -z "$flag" ]; then { flag="-s"; } else { echo "$usage"; exit 1; } fi; ;; -name) shift; if [ -z "$dic_name" ]; then { dic_name=$1; } else { echo "$usage"; exit 1; } fi; ;; -c) shift; if [ -z "$compat_flag" ]; then { compat_flag="-c $1"; } else { echo "$usage"; exit 1; } fi; ;; *) if [ -z "$text_file" ]; then { text_file=$1; } else { args="$args $1"; } fi; ;; esac; shift; }; done /* input file */ if [ -z "$text_file" ]; then echo "$usage"; exit 1; fi; if [ ! -r $text_file ]; then echo "$usage"; exit 1; fi; if [ -d $text_file ]; then echo "$usage"; exit 1; fi; if [ "$dic_name" != "" ]; then dic_ck="`echo $dic_name | \ awk -F. '{ printf("%s", $NF) }'`"; case "$dic_ck" in d) fqsuff="fq" ;; cbd) fqsuff="cld" ;; *) echo "Invalid name : $dic_name" exit 1 ;; esac dic_ckn="`echo $dic_name | \ awk -F/ '{print $NF}' | \ awk -F. '{print NF}'`"; if [ $dic_ckn -ne 2 ]; then echo "Invalid name : $dic_name"; exit 1; fi; dic_ck="`echo $dic_name | \ awk -F/ '{print $NF}' | \ awk -F. '{ printf("%s", $(NF-1)) }'`"; if [ "$dic_ck" = "" ]; then echo "Invalid name : $dic_name"; exit 1; fi fi; /* mwd or swd */ if [ -z "$flag" ]; then flag="-m"; fi; /* temp file of cpp */ cpp_text="`echo $text_file | \ awk -F/ '{print $NF}' | \ awk -F. '{ for(i = 1; i < NF; i++) printf("%s.", $i) }'`"; if [ -z "$cpp_text" ]; then cpp_text="`echo $text_file | \ awk -F/ '{print $NF}'`".; fi; cpp_text=$TMPDIR/"$cpp_text"cpp; /* temp file of splitword */ spl_text="`echo $text_file | \ awk -F/ '{print $NF}' | \ awk -F. '{ for(i = 1; i < NF; i++) printf("%s.", $i) }'`"; if [ -z "$spl_text" ]; then spl_text="`echo $text_file | \ awk -F/ '{print $NF}'`".; fi; spl_text=$TMPDIR/"$spl_text"spl; /* temp file of backup */ bck_text="`echo $text_file | \ awk -F/ '{print $NF}' | \ awk -F. '{ for(i = 1; i < NF; i++) printf("%s.", $i) }'`"; if [ -z "$bck_text" ]; then bck_text="$text_file".; fi; bck_text="$bck_text"bk; /* output file */ out="`echo $text_file | \ awk -F/ '{print $NF}' | \ awk -F. '{ for(i = 1; i < NF; i++) printf("%s.", $i) }'`"; if [ -z "$out" ]; then out="`echo $text_file | \ awk -F/ '{print $NF}'`".; fi #ifdef USE_OBSOLETE_STYLE_FILENAME out="$out"d; #else out="$out"cbd; #endif if [ -z "$dic_name" ]; then dic_name=$out; fi /* child name */ child="`echo $text_file | \ awk -F/ '{print $NF}' | \ awk -F. '{ for(i = 1; i < NF; i++) printf("%s.", $i) }'`"; if [ -z "$child" ]; then child="`echo $text_file | \ awk -F/ '{print $NF}'`".; fi if [ "OPT$child" = "OPT." ]; then echo "Invalid name : $text_file"; exit 1; fi toplen="`echo $child |awk '{printf("%d", index($1, "."))}'`" arglen="`echo $child |awk '{printf("%d", length($1))}'`" if [ $toplen -ne $arglen ]; then echo "Invalid name : $text_file"; exit 1; fi if [ "x$fqsuff" != "x" ]; then fqoutopt="-o $child$fqsuff" fi if [ "OPT$flag" = "OPT-m" ]; then child="$child"mwd; else child="$child"swd; fi /* main routin */ trap "rm -f $cpp_text $spl_text; exit 1;" 2; if echo cpptest | CPP $args >/dev/null 2>&1; then echo "forcpp -7 < $text_file |" CPP "$args | forcpp -8 > $cpp_text"; forcpp -7 < $text_file | CPP $args | forcpp -8 > $cpp_text; else echo "Cannot use cpp !!" echo "cp $text_file $cpp_text"; cp $text_file $cpp_text; fi if [ $? != 0 ]; then echo "mkbindic: fatal error. exit"; rm -f $cpp_text $spl_text; exit 1; fi echo "splitword $cpp_text > $spl_text"; splitword $cpp_text > $spl_text; if [ $? != 0 ]; then echo "mkbindic: fatal error. exit"; rm -f $cpp_text $spl_text; exit 1; fi; echo "mv $text_file $bck_text"; mv $text_file $bck_text; echo "forsort -7 < $spl_text | $sortcmd | forsort -8 | mergeword -X > $text_file"; forsort -7 < $spl_text | $sortcmd | forsort -8 | mergeword -X > $text_file; if [ $? != 0 ]; then mv $bck_text $text_file; echo "mkbindic: fatal error. exit"; rm -f $cpp_text $spl_text; exit 1; fi; #ifdef nec_ews /* \c for crxdic echo back unexpected \n */ echo "crxdic $flag $compat_flag -o $dic_name $text_file\c"; #else echo "crxdic $flag $compat_flag -o $dic_name $text_file"; #endif crxdic $flag $compat_flag -o $dic_name $text_file; if [ $? != 0 ]; then mv $bck_text $text_file; echo "mkbindic: fatal error. exit"; rm -f $cpp_text $spl_text; exit 1; fi; echo "crfreq -div 512 $fqoutopt $dic_name $child"; crfreq -div 512 $fqoutopt $dic_name $child; if [ $? != 0 ]; then mv $bck_text $text_file; echo "mkbindic: fatal error. exit"; rm -f $cpp_text $spl_text; exit 1; fi; mv $bck_text $text_file; echo "rm $cpp_text $spl_text"; rm -f $cpp_text $spl_text; exit $?; } Canna37p3/cmd/mkbindic/mkbindic.jmn0100644000076500001200000000641007722104013016453 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} mkbindic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" mkbindic \- ¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤«¤é¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤È ³Ø½¬¼­½ñ¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë .SH "·Á¼°" .B "mkbindic [\-m | \-s] [\-name \fIdicname\fP] [\-c \fIversion\fP] \fItextfile\fP" .SH "ÀâÌÀ" .PP ¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ \fItextfile\fP ¤«¤é¡¤¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¥Õ¥¡¥¤ ¥ë(³ÈÄ¥»Ò .cbd ¤Þ¤¿¤Ï \fIdicname\fP) ¤È³Ø½¬¼­½ñ¥Õ¥¡¥¤¥ë(³ÈÄ¥»Ò .cld) ¤ò ºîÀ®¤·¤Þ¤¹¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-m" 12 ºîÀ®¤¹¤ë¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¤ò¼«Î©¸ì¼­½ñ¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡¥ºîÀ®¤¹¤ë¥Æ¥­¥¹ ¥È·Á¼°¤Î¼­½ñ \fItextfile\fP ¤Î¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤ò .mwd ¤ËÊѹ¹¤·¤Æ¼­½ñ ¤òºîÀ®¤·¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï, ¼«Î©¸ì¼­½ñ¤È¤·¤ÆºîÀ®¤·¤Þ¤¹¤Î¤Ç¡¤¤³¤Î ¥ª¥×¥·¥ç¥ó¤Ï¾Êά¤Ç¤­¤Þ¤¹¡¥ .IP "\-s" 12 ºîÀ®¤¹¤ë¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¤òÉÕ°¸ì¼­½ñ¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡¥ºîÀ®¤¹¤ë¥Æ¥­¥¹¥È ·Á¼°¤Î¼­½ñ \fItextfile\fP ¤Î¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤ò .swd ¤ËÊѹ¹¤·¤Æ¼­½ñ¤ò ºîÀ®¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤È¼«Î©¸ì¼­½ñ¤È¤·¤ÆºîÀ®¤·¤Þ¤¹¡¥ .IP "\-name \fIdicname\fP" 12 ºîÀ®¤¹¤ë¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡¥ \fIdicname\fP ¤Ï .d ¤Þ¤¿¤Ï .cbd ¤È¤¤¤¦³ÈÄ¥»Ò¤Î¤Ä¤¤¤¿¤â¤Î°Ê³°¼õ¤±¤Ä¤±¤Þ¤»¤ó¡¥ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ \fItextfile\fP ¤Î¥Õ¥¡¥¤¥ë̾¤Î ³ÈÄ¥»Ò¤ò .cbd ¤ËÊѤ¨¤¿¤â¤Î¤ò \fIdicname\fP ¤È¤·¤Æ°·¤¤¤Þ¤¹¡¥ .IP "\-c \fIversion\fP" 12 ¸Å¤¤¤Î·Á¼°¤Î¼­½ñ¤òºîÀ®¤·¤Þ¤¹¡£\fIversion\fP¤È¤·¤Æ¤Ï¡¢¸½ºß3.0¤È3.7¤¬ ÍøÍѤǤ­¤Þ¤¹¡£ .SH "»ÈÍÑÎã" .nf % mkbindic user.ctd ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Î user.ctd ¥Õ¥¡¥¤¥ë¤«¤é¡¤¼«Î©¸ì¼­½ñ¤È¤·¤Æ¥Ð¥¤¥Ê¥ê ·Á¼°¼­½ñ¤Î user.cbd ¥Õ¥¡¥¤¥ë¤È³Ø½¬¼­½ñ¤Î user.cld ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡¥ .fi .sp % mkbindic -s user2.ctd ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Î user2.ctd ¥Õ¥¡¥¤¥ë¤«¤é¡¤ÉÕ°¸ì¼­½ñ¤È¤·¤Æ¥Ð¥¤¥Ê¥ê ·Á¼°¼­½ñ¤Î user2.cbd ¥Õ¥¡¥¤¥ë¤È³Ø½¬¼­½ñ¤Î user2.cld ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡¥ .fi .sp % mkbindic -m -name foo.d user3.ctd ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Î user3.ctd ¥Õ¥¡¥¤¥ë¤«¤é¡¤¼«Î©¸ì¼­½ñ¤È¤·¤Æ¥Ð¥¤¥Ê¥ê ·Á¼°¼­½ñ¤Î foo.d ¥Õ¥¡¥¤¥ë¤È³Ø½¬¼­½ñ¤Î user3.cld ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡¥ .SH "´Ä¶­ÊÑ¿ô" .TP TMPDIR °ì»þ¥Õ¥¡¥¤¥ë¤òºî¤ëºÝ¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤È¤·¤Æ¤³¤ÎÊÑ¿ô¤ÎÃͤ¬ÍѤ¤¤é¤ì¤Þ¤¹¡£ ÆÃ¤Ë»ØÄ꤬¤Ê¤¤¾ì¹ç¤Ï /tmp ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ .SH "´ØÏ¢¾ðÊó" dicar(1), dpbindic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: mkbindic.jmn,v 1.3 2003/08/24 09:40:27 aida_s Exp $ NEC; Canna37p3/cmd/mkbindic/mkbindic.man0100644000076500001200000000403307722104013016441 0ustar shinraadmin.TH MKBINDIC 1 .SH NAME mkbindic - Convert a text-form dictionary into a binary-form dictionary .SH SYNOPSYS .B "mkbindic [\-m | \-s] [\-name \fIdicname\fP] [\-c \fIversion\fP] \fItextfile\fP" .SH DESCRIPTION .BI mkbindic creates a binary-form dictionary (with extension .cbd or \fIdicname\fP) from a text-form dictionary \fItextfile\fP. With \-c mkbindic creates old format dictionary. Current supported \fIversion\fPs are 3.0 and 3.7. .SH EXAMPLE .nf .B % mkbindic user.ctd A binary-form dictionary user.cbd and a frequency dictionary user.cld are created from a text-form dictionary user.ctd. .SH ENVIRONMENT .TP TMPDIR mkbindic uses the value of this variable for the working directory when it makes temporary files. The value defaults to /tmp if not specified. .SH SEE ALSO dicar(1), dpbindic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: mkbindic.man,v 1.3 2003/08/24 09:40:27 aida_s Exp $ Canna37p3/cmd/mkromdic/0040755000076500001200000000000010052700677014224 5ustar shinraadminCanna37p3/cmd/mkromdic/.cvsignore0100644000076500001200000000003207601177337016223 0ustar shinraadmin.depend Makefile mkromdic Canna37p3/cmd/mkromdic/Imakefile0100644000076500001200000000071007734505575016045 0ustar shinraadmin/* $Id: Imakefile,v 1.4 2003/09/25 06:30:21 aida_s Exp $ */ #include "../../Canna.conf" CANNAROOT = ../.. PROGRAMS = mkromdic SRCS = mkromdic.cpp DEFINES = -I$(CANNAROOT)/include $(SCRIPTS_DEFINES) -DCPP='$(CPP)' AllTarget($(PROGRAMS)) CppScriptTarget(mkromdic,mkromdic.cpp,$(DEFINES),/**/) InstallNamedProg(mkromdic,mkromdic,$(cannaBinDir)) InstallManPage(mkromdic,$(cannaManDir)) clean:: $(RM) $(PROGRAMS) depend:: Canna37p3/cmd/mkromdic/mkromdic.cpp0100644000076500001200000000455007677367120016551 0ustar shinraadminXCOMM!/bin/sh XCOMM Copyright 1992 NEC Corporation, Tokyo, Japan. XCOMM XCOMM Permission to use, copy, modify, distribute and sell this software XCOMM and its documentation for any purpose is hereby granted without XCOMM fee, provided that the above copyright notice appear in all copies XCOMM and that both that copyright notice and this permission notice XCOMM appear in supporting documentation, and that the name of NEC XCOMM Corporation not be used in advertising or publicity pertaining to XCOMM distribution of the software without specific, written prior XCOMM permission. NEC Corporation makes no representations about the XCOMM suitability of this software for any purpose. It is provided XCOMM "as is" without express or implied warranty. XCOMM XCOMM NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, XCOMM INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN XCOMM NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR XCOMM CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF XCOMM USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR XCOMM OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR XCOMM PERFORMANCE OF THIS SOFTWARE. XCOMM XCOMM $Id: mkromdic.cpp,v 1.2 2003/06/28 19:36:48 aida_s Exp $ #include "cannaconf.h" PATH=CANNABINDIR:$PATH:/bin:/usr/bin:/etc:/usr/etc:/usr/nec/bin:/usr/ucb export PATH if [ $# -eq 0 ]; then echo "usage: mkromdic [...options] " exit 1 fi while [ -n "$2" ] do case $1 in "-m") flag_m="-m" ;; "-n") flag_n="-n" ;; *) args="$args $1" esac shift done if [ ! -r $1 ]; then echo "mkromdic: cannot open $1" exit 1 fi if [ "OPT$flag_m" = "OPT-m" -a "OPT$flag_n" = "OPT-n" ]; then echo "mkromdic: option error -m -n" exit 1 fi if [ "OPT$flag_n" = "OPT-n" ]; then echo "mkromdic: '-n' obsolete option. It is no longer supported." exit 1 fi INFILE=$1 OUTFILE=`basename $1` OUTFILE=`echo $OUTFILE | awk -F. '{printf "%s",$1; for(i=2; i $OUTFILE" forcpp -7 < $INFILE | CPP $args |forcpp -8 | $KPDIC > $OUTFILE else echo "Cannot use cpp !!" echo "$KPDIC < $INFILE > $OUTFILE" $KPDIC < $INFILE > $OUTFILE fi Canna37p3/cmd/mkromdic/mkromdic.jmn0100644000076500001200000000364007554213566016550 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} mkromdic 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" mkromdic \- ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë .SH "·Á¼°" .B "mkromdic [\fIoptions\fP ¡Ä] \fIfile\fP" .SH "ÀâÌÀ" .PP ¥í¡¼¥Þ»ú¤È¤«¤Ê¤ÎÊÑ´¹¤òÄêµÁ¤·¤¿¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë\fIfile\fP¤«¤é¡¤ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î ¤¿¤á¤ÎÊÑ´¹¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥ÆÉÅÀ¤äµ­¹æ¤ÎÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î ºîÀ®¤â²Äǽ¤Ç¤¹¡¥ \fIoptions\fP¤Ë¤Ï¡¤²¼µ­¥ª¥×¥·¥ç¥ó¤Î¾ccp(1)¤Ë»ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤¬»ØÄê¤Ç¤­ ¤Þ¤¹¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "-m" 12 ¡Ø¤«¤ó¤Ê¡Ù1.2°ÊÁ°¤Îµì¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ËÂ¥²»½èÍý¤òÄɲä·¤ÆÊÑ´¹¥Æ¡¼¥Ö¥ë ¤òºîÀ®¤¹¤ë¡¥ .SH "»ÈÍÑÎã" .nf mkromdic romaji.kpdef romaji.kp ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡¥ .fi .SH "´ØÏ¢¾ðÊó" .PP cpp(1), dpromdic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: mkromdic.jmn,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/mkromdic/mkromdic.man0100644000076500001200000000345007554213566016536 0ustar shinraadmin.TH MKROMDIC .SH "NAME" mkromdic \- To compile romaji-kana conversion table .SH "SYNOPSYS" .B "mkromdic [\fIoptions\fP ¡Ä] \fIfile\fP" .SH "DESCRIPTION" .PP .I mkromdic compiles a text file \fIfile\fP, which defines the translation rule between romaji and kana. In addition to the following \fIoptions\fP, it is possible to pass cpp(1) options. .SH "OPTIONS" .IP "-m" 12 Add ``SOKUON'' rules to the obsolete format table which were used in Canna 1.2. .SH "EXAMPLES" .nf mkromdic romaji.kpdef romaji.kp is created. .fi .SH "SEE ALSO" .PP cpp(1), dpromdic(1) .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: mkromdic.man,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/splitwd/0040755000076500001200000000000010052700677014105 5ustar shinraadminCanna37p3/cmd/splitwd/.cvsignore0100644000076500001200000000003307601177337016105 0ustar shinraadmin.depend Makefile splitword Canna37p3/cmd/splitwd/Imakefile0100644000076500001200000000032507614662722015723 0ustar shinraadmin/* $Id: Imakefile,v 1.4 2003/01/26 04:36:34 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName splitword #define SrcName splitwd #define ManSrcName splitwd #include "../cmd.tmpl" Canna37p3/cmd/splitwd/splitwd.c0100644000076500001200000001261007773337053015746 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[] = "@(#) 112.1 $Id: splitwd.c,v 1.2.4.2 2003/12/27 17:15:23 aida_s Exp $"; #endif #include #include #include "ccompat.h" #if defined(__STDC__) || defined(SVR4) #include #endif #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif #define SIZE 4192 #define ISSPACE(c) ('\n' == c || ' ' == c || '\t' == c) #ifndef AIXV3 typedef unsigned char uchar; #endif struct head{ uchar yomi[SIZE]; struct tango *next; }word; struct tango{ uchar *tsuduri; uchar *hinshi; struct tango *next; }; uchar *getword(p,Word) uchar *p; uchar *Word; { while( ISSPACE(*p) ) p++; while( !ISSPACE(*p) && '\0' != *p ) { if (*p == '\\' && *(p + 1)) { *Word++ = *p++; } *Word++ = *p++; } *Word = '\0'; return(p); } struct tango *newtango(tsuduri,hinshi) uchar *tsuduri; uchar *hinshi; { struct tango *tp; uchar *p; if( !(tp = (struct tango *)malloc(sizeof(struct tango))) ) fprintf(stderr, gettxt("cannacmd:41", "cannnot malloc %lu\n"), (unsigned long)sizeof(struct tango) ); if( !(p = (uchar *)malloc(strlen((char *)tsuduri) + 1)) ) fprintf(stderr, gettxt("cannacmd:42", "cannnot malloc %lu\n"), (unsigned long)strlen((char *)tsuduri)+1 ); tp->tsuduri = p; strcpy((char *)p,(char *)tsuduri); if( !(p = (uchar *)malloc(strlen((char *)hinshi) + 1)) ) fprintf(stderr, gettxt("cannacmd:43", "cannnot malloc %lu\n"), (unsigned long)strlen((char *)hinshi)+1 ); tp->hinshi = p; strcpy((char *)p, (char *)hinshi); tp->next = NULL; return(tp); } void savetango(tsuduri, hinshi) uchar *tsuduri; uchar *hinshi; { struct tango *tp; if( !word.next ){ word.next = newtango(tsuduri,hinshi); return; } tp = word.next; while(tp->next) tp = tp->next; tp->next = newtango(tsuduri, hinshi); } void save_factor(line, nline) uchar *line; int nline; { uchar *lp; uchar hinshi[SIZE]; uchar tsuduri[SIZE]; lp = line; lp = getword(lp,word.yomi); /* head ¤ËÆÉ¤ß¤òÆþ¤ì¤ë */ lp = getword(lp,hinshi); /* hinshi ¤ò¼è¤ê¹þ¤à */ if ('#' != word.yomi[0] && '#' != hinshi[0]) fprintf(stderr, gettxt("cannacmd:48", "No hinshi in line %d\n"), nline); next: while(1){ /* ɽµ­ÆÉ¤ß¹þ¤ß loop */ lp = getword(lp,tsuduri); if( '\0' == tsuduri[0] ) /* 1 ¹Ô½ª¤ï¤ê */ break; if( '#' == tsuduri[0] ){ /* Éʻ줬ÆÉ¤ß¹þ¤Þ¤ì¤¿ */ strcpy((char *)hinshi, (char *)tsuduri); goto next; } savetango(tsuduri,hinshi); } } void disp_factor() { struct tango *tp; tp = word.next; while( tp ){ #ifdef USE_ATMARK if(!strcmp((char *)word.yomi, (char *)tp->tsuduri)) printf("%s %s @\n", word.yomi, tp->hinshi); else #endif printf("%s %s %s\n", word.yomi, tp->hinshi, tp->tsuduri); tp = tp->next; } } void free_factor(tp) struct tango *tp; { struct tango *ftp; while (tp) { ftp = tp; tp = ftp->next; free((char *)ftp->tsuduri); free((char *)ftp->hinshi); free((char *)ftp); } } void catch(sig) int sig; { fprintf(stderr, gettxt("cannacmd:44", "Dictionary format error.\n")); exit(1); } static void splitword(fp, name) FILE *fp; char *name; { int nline = 0; /* ÆÉ¤ß¹þ¤à¹Ô¿ô¤ò¿ô¤¨¤ë */ uchar line[SIZE]; while (fgets((char *)line, sizeof(line), fp)) { nline++; if ('\n' != line[strlen((char *)line) - 1]) { fprintf(stderr, gettxt("cannacmd:47", "%s:Line %d is too long.\n"), name, nline); } else { line[strlen((char *)line) - 1] = '\0'; } save_factor(line, nline); disp_factor(); free_factor(word.next); word.next = NULL; } } main( argc, argv ) int argc; char *argv[]; { FILE *fp; int i; signal(SIGSEGV, catch); #ifdef SIGBUS signal(SIGBUS, catch); #endif #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif if( argc == 1 ) { /* ¥³¥Þ¥ó¥É¤À¤±¤Î»þ */ splitword(stdin, argv[0]); } for( i = 1; i < argc ; i++ ){ if( !(fp = fopen( argv[i], "r" )) ) fprintf(stderr, gettxt("cannacmd:46", "cannot open file %s\n"), argv[i] ); splitword(fp, argv[0]); fclose( fp ); } exit(0); } Canna37p3/cmd/splitwd/splitwd.jmn0100644000076500001200000000373207554213566016314 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} splitword 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" splitword \- ¼­½ñ¥Õ¥¡¥¤¥ë¤ò£±¹Ô£±¸õÊä¤Ë¤¹¤ë .SH "·Á¼°" .B "splitword \fItextjisho\fP ..." .SH "ÀâÌÀ" .PP ñ¸ìÅÐÏ¿¤ò¹Ô¤Ã¤¿¥Õ¥¡¥¤¥ë¤¬Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ë ʬ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡¤Ã±¸ì¼­½ñ¤ò ºîÀ®¤¹¤ë¤¿¤á¤Î½àÈ÷¤È¤·¤Æ¡¤Å¬ÀÚ¤Êɽµ­¤ËÊѹ¹¤¹¤ë ɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¤³¤Î¥³¥Þ¥ó¥É ¤Ï¤½¤Î¤è¤¦¤Ê£±¤Ä°Ê¾å¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ\fItextjisho\fP¤ò¡¤ ÅÐÏ¿¤µ¤ì¤¿Ã±¸ì¤ËÂФ· ¤Æ£±¹Ô£±Éʻ죱¸õÊä¤È¤Ê¤ë¤è¤¦ÊÑ´¹¤·¤Þ¤¹¡¥ ÊÑ´¹¤·¤¿·ë²Ì¤Ïɸ½à½ÐÎϤ˽ÐÎϤµ ¤ì¤Þ¤¹¡¥ .SH "»ÈÍÑÎã" .nf splitword user1.t user2.t | ctow .fi .sp ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤¢¤ëuser1.t¤Èuser2.t¤ò ÆÉ¤ß¹þ¤ó¤Ç£±¹Ô£±Éʻ죱¸õÊä ¤Î·Á¤Ë½¤Àµ¤·¤ÆWnn¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ë ÊÑ´¹¤·¤¿¤â¤Î¤òɸ½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" .IP "ctow(1)" 12 .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: splitwd.jmn,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/splitwd/splitwd.man0100644000076500001200000000411107611262356016266 0ustar shinraadmin.TH SPLITWD 1 .SH "NAME" splitwd \- Collect several text-form dictionary files into a single file to make a <1 line / 1 word type / 1 candidate> format. .SH "SYNOPSISS" .B "splitwd \fItextjisho\fP ..." .SH "DESCRIPTION" .PP If the file in which you registered words consists of several subfiles, it must be converted into a proper format before the word dictionary is created. splitword converts such text-form dictionaries \fItextjisho\fP to make a <1 line / 1 word type / 1 candidate> format. The result is output to the standard output. .SH "EXAMPLE" .nf % splitwd user1.t user2.t | ctow .fi .sp Reads text-form dictionaries user1.t and user2.t, then modifies them into the <1 word type, 1 candidate on 1 line> format. The contents are converted into the Wnn textform dictionary, then output to the standard output. .SH "SEE ALSO" .IP "ctow(1)" 12 .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: splitwd.man,v 1.2 2003/01/15 13:41:02 aida_s Exp $ Canna37p3/cmd/wtoc/0040755000076500001200000000000010052700677013373 5ustar shinraadminCanna37p3/cmd/wtoc/.cvsignore0100644000076500001200000000002607601177337015375 0ustar shinraadmin.depend Makefile wtoc Canna37p3/cmd/wtoc/Imakefile0100644000076500001200000000026507614662722015214 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/01/26 04:36:34 aida_s Exp $ */ #include "../../Canna.conf" #define SimpleCommand #define TargetName wtoc #define ManSrcName wtoc #include "../cmd.tmpl" Canna37p3/cmd/wtoc/wtoc.c0100644000076500001200000001443307773337053014527 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcsid[]="@(#) 112.1 $Id: wtoc.c,v 1.2.2.2 2003/12/27 17:15:23 aida_s Exp $"; #endif /* wtoi.c ¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤ò£×£î£î¤«¤é¡Ö¤¤¤í¤Ï¡×¤Î¤â¤Î¤ËÊÑ´¹¤¹¤ë¡£ * wtoi [-f hinshifile] [wnndic] [irohadic] */ #include #include #include #include "ccompat.h" #if defined(__STDC__) || defined(SVR4) #include #endif #ifdef SVR4 extern char *gettxt(); #else #define gettxt(x,y) (y) #endif #define MAXTANGO 256 #define MAXHINSHI 100 #ifndef AIXV3 typedef unsigned char uchar; #endif struct hin{ char *wnn; char *iroha; }; static struct hin table[] = { {"̾»ì","#T35"},{"¿Í̾","#JN"},{"ÃÏ̾","#CN"},{"¿Í̾&ÃÏ̾","#JCN"}, {"¸Çͭ̾»ì","#KK"},{"¿ô»ì","#NN"}, {"°ìư´´","#KSr"}, {"¥«¹Ô¸ÞÃÊ","#K5r"},{"¥¬¹Ô¸ÞÃÊ","#G5r"},{"¥µ¹Ô¸ÞÃÊ","#S5r"}, {"¥¿¹Ô¸ÞÃÊ","#T5r"},{"¥Ê¹Ô¸ÞÃÊ","#N5"},{"¥Ð¹Ô¸ÞÃÊ","#B5r"}, {"¥Þ¹Ô¸ÞÃÊ","#M5r"},{"¥é¹Ô¸ÞÃÊ","#R5r"},{"¥ï¹Ô¸ÞÃÊ","#W5r"}, {"°ìÃÊ","#KS"},{"°ìÃÊ&̾»ì","#KSr"},{"¥«¹Ô(¹Ô¤¯)","#C5r"}, {"¥µ¹Ô(¤¹¤ë)","#SX"},{"¥¶¹Ô(¤º¤ë)","#ZX"},{"¥µ¹Ô(¤¹¤ë)&̾»ì","#T30"}, {"Íè(¤³)","#kxo"},{"Íè(¤­)","#kxi"},{"Íè(¤¯)","#kxuru"}, {"°Ù(¤·)","#sxi"},{"°Ù(¤¹)","#sxuru"},{"°Ù(¤»)","#sxe"}, {"¥é¹Ô(²¼¤µ¤¤)","#L5"}, {"·ÁÍÆ»ì","#KY"}, {"·ÁÍÆÆ°»ì","#T05"},{"·ÁÍÆÆ°»ì&̾»ì","#T05"},{"·ÁÍÆÆ°»ì(¤¿¤ë)","#F00"}, {"Éû»ì","#F14"},{"Ï¢Âλì","#RT"},{"Àܳ»ì,´¶Æ°»ì","#CJ"}, {"ñ´Á»ú","#KJ"}, {"ÀÜÆ¬¸ì","#PRE"},{"ÀÜÈø¸ì","#SUC"}, {"ÀÜÆ¬¿ô»ì","#NNPRE"},{"½õ¿ô»ì","#JS"},{"ÀÜÆ¬½õ¿ô»ì","#JS"}, {"ÀÜÈø½õ¿ô»ì","#JSSUC"}, {"ÀÜÈø¿Í̾","#JNSUC"},{"ÀÜÆ¬ÃÏ̾","#CNPRE"},{"ÀÜÈøÃÏ̾","#CNSUC1"}, {"·ÁÍÆÆ°»ì²½ÀÜÈø¸ì","#N2T17"},{"¥µ¹Ô(¤¹¤ë)&̾»ì²½ÀÜÈø¸ì","#N2T30"}, {"ÀÜÈøÆ°»ì","#D2T35"},{"·ÁÍÆ»ì²½ÀÜÈøÆ°»ì","#D2KY"}, {"ÀÜÆ¬¸ì(¤ª)","#PRE"},{"ÀÜÆ¬¸ì(³Æ)","#PRE"},{"µ­¹æ","#T35"} }; char *salloc(s) char *s; { char *new; if ((new = (char *)malloc(strlen( s ) + 1)) != NULL) strcpy(new, s); else{ fprintf(stderr, gettxt("cannacmd:48", "No more memory\n")); exit(1); } return(new); } /* ÉÊ»ìÂбþ */ char *chghinshi( hinshi, taiou, fshurui ) char *hinshi; struct hin *taiou; int fshurui; { int shurui; int i; shurui = sizeof(table)/sizeof(struct hin); for( i = 0 ; i < shurui ; i++) { if( !strcmp( hinshi , table[i].wnn ) ) return( table[i].iroha ); } for( i = 0 ; i < fshurui ; i++) { if( !strcmp( hinshi , taiou[i].wnn ) ) { return( taiou[i].iroha ); } } return( "#??" ); } /* ÉÊ»ì¥Õ¥¡¥¤¥ëÆÉ¤ß¹þ¤ß */ int read_hinshi( fp, taiou ) FILE *fp; struct hin *taiou; { int shurui; char H[MAXTANGO]; char wnn[MAXTANGO],iroha[MAXTANGO]; shurui = 0; while( fgets( H, MAXTANGO, fp ) ){ if( 2 != sscanf( H, "%s %s", wnn, iroha ) ) continue; else { taiou[shurui].wnn = salloc(wnn); taiou[shurui].iroha = salloc(iroha); shurui++; } } return ( shurui ); } /* ½ÐÎÏ */ wtoi_write( fp, yomi, hinshi, kouho, hindo ) FILE *fp; uchar *yomi, *hinshi, *kouho; int hindo; { if( !strcmp((char *)hinshi,"#kxuru") || !strcmp((char *)hinshi,"#sxuru")){ strcat(yomi,"¤ë"); strcat(kouho,"¤ë"); } if( hindo == 0 ) fprintf( fp, "%s %s %s \n", yomi, hinshi, kouho ); else fprintf( fp, "%s %s*%d %s \n", yomi, hinshi, hindo, kouho ); } int suuji(kazu) char *kazu; { int i; for(i = 0; i < strlen(kazu); i++ ){ if(!isdigit(kazu[i])) return(0); } return(atoi(kazu)); } main(argc,argv) int argc; char *argv[]; { struct hin taiou[MAXHINSHI]; uchar S[MAXTANGO],y[MAXTANGO], h[MAXTANGO], k[MAXTANGO],nd[10]; int d,option,fshurui = (int)0xdeadbeef; /* for gcc */ FILE *fph,*fpi,*fpo; #if defined(__STDC__) || defined(SVR4) (void)setlocale(LC_ALL,""); #endif option = 0; if( argc <= 5 ) { /* °ú¿ô¤ÏÀµÅö¤«¡© */ if( argc > 2 && !strcmp(argv[1],"-f") ) { /* ÉÊ»ì¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤«¡© */ if( (fph = fopen( argv[2], "r" ) ) == NULL) { /* ÉÊ»ì¥Õ¥¡¥¤¥ë¤ò£ï£ð£å£î */ fprintf(stderr,gettxt("cannacmd:49", "%s: cannot open %s\n"), argv[0], argv[2] ); exit(2); } fshurui = read_hinshi( fph, taiou ); fclose( fph ); option = 1; } fpi = stdin; fpo = stdout; #ifdef __EMX__ _fsetmode (fpo, "b"); #endif } else { /* °ú¿ô¤¬ÉÔÀµ */ fprintf(stderr,gettxt("cannacmd:50", "Usage: wtoc [-f part-of-speach table] [wnndic] [cannadic]\n")); exit(2); } if( argc >= (2 + option*2) ) { /* £×£î£î¼­½ñ¤ò¥ª¡¼¥×¥ó */ if( (fpi = fopen( argv[1 + option*2], "r" ) ) == NULL) { fprintf(stderr,gettxt("cannacmd:51", "%s: cannot open %s\n"), argv[0], argv[1 + option*2] ); exit(2); } if( argc == (3 + option*2) ) { /* ¤¤¤í¤Ï¼­½ñ¤ò¥ª¡¼¥×¥ó */ if( (fpo = fopen( argv[2 + option*2], "w" ) ) == NULL) { fprintf(stderr,gettxt("cannacmd:52", "%s: cannot create %s\n"), argv[0], argv[2 + option*2] ); exit(2); } } } /* ¼ç½èÍý */ while( fgets( (char *)S, sizeof(S), fpi ) ) { if( 4 > sscanf( (char *)S, "%s %s %s %s", y, k, h, nd ) ) continue; else d = suuji(nd); wtoi_write( fpo, y, chghinshi( h, taiou, fshurui ), k, d ); } fclose( fpi ); fclose( fpo ); exit( 0 ); } Canna37p3/cmd/wtoc/wtoc.jmn0100644000076500001200000000525507554213566015072 0ustar shinraadmin.nr X 0 .if \nX=0 .ds X} wtoc 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" wtoc \- Wnn¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤òËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥Æ¥­¥¹¥È¼­½ñ·Á¼° ¤ËÊÑ´¹¤¹¤ë .SH "·Á¼°" .B "wtoc [\-f \fIhinshidata\fP] [\fIwnndic\fP] [\fIcannadic\fP]" .SH "ÀâÌÀ" .PP Wnn¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë\fIwnndic\fP¤òËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë\fIcannadic\fP¤ËÊÑ´¹¤·¤Þ¤¹¡¥ ¼­½ñ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤Æ¾Êά¤¹¤ë¤È¡¤Wnn¤Î ¼­½ñ¤ÎÆþÎϤÏɸ½àÆþÎϤè¤ê¹Ô¤ï¤ìËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î ¼­½ñ¤Ïɸ½à½ÐÎϤ«¤é½ÐÎϤµ¤ì¤Þ¤¹¡¥¤Þ¤¿¡¤ ¼­½ñ¥Õ¥¡¥¤¥ë¤ò£±¤Ä»ØÄꤹ¤ë¤È¡¤ ¤½¤ì¤ÏWnn¤Î¼­½ñ¤ÈȽÃǤµ¤ì¤Þ¤¹¡¥ ¤½¤Î¤È¤­É¸½à½ÐÎϤˤÏËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¼­½ñ¤¬½ÐÎÏ ¤µ¤ì¤Þ¤¹¡¥ .PP ÊÑ´¹¤Ç¤­¤Ê¤¤ÉÊ»ì¤Î¸õÊ䤬¸ºß¤·¤¿¾ì¹ç¤Ë¤Ï#??¤È¤¤¤¦ÉÊ»ì¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡¥ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-f \fIhinshidata\fP" 12 Wnn¤ÈËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤ÎÉÊ»ìÂбþ¾ðÊó¤ò ¿·¤¿¤Ë¥æ¡¼¥¶¤¬Äɲ乤뤳¤È¤¬ ¤Ç¤­¤Þ¤¹¡¥\fIhinshidata\fP¥Õ¥¡¥¤¥ë¤Ë µ­½Ò¤¹¤Ù¤­ÉÊ»ìÂбþ¾ðÊó¤Î·Á¼°¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¡¤ £±¹Ô¤ËWnnÉÊ»ì̾¡¤ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤ÎÉʻ쥳¡¼¥É¤ò ¶õÇò¤Þ¤¿¤Ï¥¿¥Ö¤Ç¶èÀڤäƵ­½Ò¤·¤Þ¤¹¡¥ .sp .nf ¡¡WnnÉÊ»ì̾¡¡¡¡¡¡ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤ÎÉʻ쥳¡¼¥É .br ¡¡Éû»ì¡¡¡¡¡¡¡¡¡¡¡¡#F04 .fi .SH "»ÈÍÑÎã" .nf wtoc -f tsuikahinshi kihon.u kihon.t .fi .sp ÉÊ»ìÂбþ¾ðÊó¤òtsuikahinshi¤è¤êÆþÎϤ·Wnn¥Æ¥­¥¹¥È·Á¼°¼­½ñkihon.u¤òËÜÆüËܸìÆþÎÏ ¥·¥¹¥Æ¥à¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤ËÊÑ´¹¤·¤Ækihon.t¤Ë½ÐÎϤ·¤Þ¤¹¡¥ .sp .nf wtoc special.u | lpr .fi .sp Wnn¥Æ¥­¥¹¥È·Á¼°¼­½ñspecial.u¤òËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤ËÊÑ´¹¤·¤Æ ¥é¥¤¥ó¥×¥ê¥ó¥¿¤Ë½ÐÎϤ·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" .IP "ctow(1)" 12 .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: wtoc.jmn,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/cmd/wtoc/wtoc.man0100644000076500001200000000530407554213566015054 0ustar shinraadmin.TH WTOC 1 .SH "NAME" wtoc \- Convert a Wnn text-form dictionary (or dictionaries) into Canna text-form dictionaries .SH "SYNOPSIS" .B "wtoc [\-f \fIhinshidata\fP] [\fIwnnjisho\fP] [\fIcannajisho\fP]" .SH "DESCRIPTION" .PP wtoc converts a Wnn text-form dictionary file into Canna text-form dictionary file. If all dictionary files are omitted, the Wnn dictionary data is input through the standard input. In this case, the dictionary of the Japanes Input System is output from the standard output. If one dictionary file is specified, it will be regarded as a Wnn dictionary. At this time, Canna dictionary output to the standard output. .SH "OPTIONS" .IP "\-f \fIhinshidata\fP" 12 The user can add new information about word-type correspondence between Wnn and Canna. The following word-type correspondence information must be described in the \fIhinshidata\fP file. Within one line, describe the Wnn word type name and the Canna word type while delimiting by a space(s) or tab. .sp .nf Wnn word type Canna word type .br Adverb #F04 .fi .SH "EXAMPLE" .nf % wtoc -f tsuikahinshi kihon.u kihon.t .fi .sp Inputs word-type correspondence information from tsuikahinshi, then converts Wnn text-form dictionary kihon.u into the Canna text-form dictionary before output. .sp .nf % wtoc special.u | lpr .fi .sp Converts Wnn text-form dictionary special.u into Canna text-form dictionary, then outputs the result to the line printer. .SH "SEE ALSO" .IP "ctow(1)" 12 .\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: wtoc.man,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ Canna37p3/configure0100755000076500001200000061477510052700745013600 0ustar shinraadmin#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for canna 3.7p3. # # Report bugs to . # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME='canna' PACKAGE_TARNAME='canna' PACKAGE_VERSION='3.7p3' PACKAGE_STRING='canna 3.7p3' PACKAGE_BUGREPORT='canna-dev@lists.sourceforge.jp' ac_unique_file="WHATIS.jp" # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures canna 3.7p3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of canna 3.7p3:";; esac cat <<\_ACEOF Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_srcdir/configure.gnu; then echo $SHELL $ac_srcdir/configure.gnu --help=recursive elif test -f $ac_srcdir/configure; then echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF canna configure 3.7p3 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by canna $as_me 3.7p3, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ _ACEOF { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------- ## ## Output files. ## ## ------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers accanna.h" if test "x$IN_MAKE" != xyes; then { { echo "$as_me:$LINENO: error: You cannot invloke configure directly." >&5 echo "$as_me: error: You cannot invloke configure directly." >&2;} { (exit 1); exit 1; }; } fi # Checks for programs. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std1 is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std1. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Checks for libraries. # Checks for header files. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in fcntl.h locale.h memory.h netdb.h netinet/in.h stddef.h stdlib.h string.h strings.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h sys/select.h arpa/inet.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------------- ## ## Report this to canna-dev@lists.sourceforge.jp ## ## --------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Checks for typedefs, structures, and compiler characteristics. echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset x; /* SunOS 4.1.1 cc rejects this. */ char const *const *ccp; char **p; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; ccp = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++ccp; p = (char**) ccp; ccp = (char const *const *) p; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; } #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const _ACEOF fi echo "$as_me:$LINENO: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6 if test "${ac_cv_type_off_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((off_t *) 0) return 0; if (sizeof (off_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_off_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_off_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 echo "${ECHO_T}$ac_cv_type_off_t" >&6 if test $ac_cv_type_off_t = yes; then : else cat >>confdefs.h <<_ACEOF #define off_t long _ACEOF fi echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6 if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((size_t *) 0) return 0; if (sizeof (size_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6 if test $ac_cv_type_size_t = yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned _ACEOF fi echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_time=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then cat >>confdefs.h <<\_ACEOF #define TIME_WITH_SYS_TIME 1 _ACEOF fi echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6 if test "${ac_cv_struct_tm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { struct tm *tp; tp->tm_sec; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_struct_tm=time.h else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_struct_tm=sys/time.h fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 echo "${ECHO_T}$ac_cv_struct_tm" >&6 if test $ac_cv_struct_tm = sys/time.h; then cat >>confdefs.h <<\_ACEOF #define TM_IN_SYS_TIME 1 _ACEOF fi # Checks for library functions. echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 if test "${ac_cv_type_pid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((pid_t *) 0) return 0; if (sizeof (pid_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_pid_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_pid_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6 if test $ac_cv_type_pid_t = yes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi for ac_header in unistd.h vfork.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------------- ## ## Report this to canna-dev@lists.sourceforge.jp ## ## --------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in fork vfork do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test "x$ac_cv_func_fork" = xyes; then echo "$as_me:$LINENO: checking for working fork" >&5 echo $ECHO_N "checking for working fork... $ECHO_C" >&6 if test "${ac_cv_func_fork_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_fork_works=cross else cat >conftest.$ac_ext <<_ACEOF /* By Ruediger Kuhlmann. */ #include #if HAVE_UNISTD_H # include #endif /* Some systems only have a dummy stub for fork() */ int main () { if (fork() < 0) exit (1); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_fork_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_fork_works=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5 echo "${ECHO_T}$ac_cv_func_fork_works" >&6 else ac_cv_func_fork_works=$ac_cv_func_fork fi if test "x$ac_cv_func_fork_works" = xcross; then case $host in *-*-amigaos* | *-*-msdosdjgpp*) # Override, as these systems have only a dummy fork() stub ac_cv_func_fork_works=no ;; *) ac_cv_func_fork_works=yes ;; esac { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} fi ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then echo "$as_me:$LINENO: checking for working vfork" >&5 echo $ECHO_N "checking for working vfork... $ECHO_C" >&6 if test "${ac_cv_func_vfork_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_vfork_works=cross else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ #include #include #include #include #include #if HAVE_UNISTD_H # include #endif #if HAVE_VFORK_H # include #endif /* On some sparc systems, changes by the child to local and incoming argument registers are propagated back to the parent. The compiler is told about this with #include , but some compilers (e.g. gcc -O) don't grok . Test for this by using a static variable whose address is put into a register that is clobbered by the vfork. */ static void #ifdef __cplusplus sparc_address_test (int arg) # else sparc_address_test (arg) int arg; #endif { static pid_t child; if (!child) { child = vfork (); if (child < 0) { perror ("vfork"); _exit(2); } if (!child) { arg = getpid(); write(-1, "", 0); _exit (arg); } } } int main () { pid_t parent = getpid (); pid_t child; sparc_address_test (0); child = vfork (); if (child == 0) { /* Here is another test for sparc vfork register problems. This test uses lots of local variables, at least as many local variables as main has allocated so far including compiler temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should reuse the register of parent for one of the local variables, since it will think that parent can't possibly be used any more in this routine. Assigning to the local variable will thus munge parent in the parent process. */ pid_t p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); /* Convince the compiler that p..p7 are live; otherwise, it might use the same hardware register for all 8 local variables. */ if (p != p1 || p != p2 || p != p3 || p != p4 || p != p5 || p != p6 || p != p7) _exit(1); /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent from child file descriptors. If the child closes a descriptor before it execs or exits, this munges the parent's descriptor as well. Test for this by closing stdout in the child. */ _exit(close(fileno(stdout)) != 0); } else { int status; struct stat st; while (wait(&status) != child) ; exit( /* Was there some problem with vforking? */ child < 0 /* Did the child fail? (This shouldn't happen.) */ || status /* Did the vfork/compiler bug occur? */ || parent != getpid() /* Did the file descriptor bug occur? */ || fstat(fileno(stdout), &st) != 0 ); } } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_vfork_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_vfork_works=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5 echo "${ECHO_T}$ac_cv_func_vfork_works" >&6 fi; if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_vfork_works=$ac_cv_func_vfork { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi if test "x$ac_cv_func_vfork_works" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WORKING_VFORK 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define vfork fork _ACEOF fi if test "x$ac_cv_func_fork_works" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WORKING_FORK 1 _ACEOF fi if test $ac_cv_c_compiler_gnu = yes; then echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 if test "${ac_cv_prog_gcc_traditional+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no fi rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------------- ## ## Report this to canna-dev@lists.sourceforge.jp ## ## --------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6 if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_malloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if STDC_HEADERS || HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { exit (malloc (0) ? 0 : 1); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_malloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6 if test $ac_cv_func_malloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 0 _ACEOF case $LIBOBJS in "malloc.$ac_objext" | \ *" malloc.$ac_objext" | \ "malloc.$ac_objext "* | \ *" malloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; esac cat >>confdefs.h <<\_ACEOF #define malloc rpl_malloc _ACEOF fi echo "$as_me:$LINENO: checking for working memcmp" >&5 echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6 if test "${ac_cv_func_memcmp_working+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_memcmp_working=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* Some versions of memcmp are not 8-bit clean. */ char c0 = 0x40, c1 = 0x80, c2 = 0x81; if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) exit (1); /* The Next x86 OpenStep bug shows up only when comparing 16 bytes or more and with at least one buffer not starting on a 4-byte boundary. William Lewis provided this test program. */ { char foo[21]; char bar[21]; int i; for (i = 0; i < 4; i++) { char *a = foo + i; char *b = bar + i; strcpy (a, "--------01111111"); strcpy (b, "--------10000000"); if (memcmp (a, b, 16) >= 0) exit (1); } exit (0); } ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_memcmp_working=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_memcmp_working=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6 test $ac_cv_func_memcmp_working = no && case $LIBOBJS in "memcmp.$ac_objext" | \ *" memcmp.$ac_objext" | \ "memcmp.$ac_objext "* | \ *" memcmp.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" ;; esac for ac_header in stdlib.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------------- ## ## Report this to canna-dev@lists.sourceforge.jp ## ## --------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getpagesize do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for working mmap" >&5 echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_mmap_fixed_mapped=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ #undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #if !STDC_HEADERS && !HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #if !HAVE_GETPAGESIZE /* Assume that all systems that can run configure have sys/param.h. */ # if !HAVE_SYS_PARAM_H # define HAVE_SYS_PARAM_H 1 # endif # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # if HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; int i, pagesize; int fd; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) exit (1); for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) exit (1); if (write (fd, data, pagesize) != pagesize) exit (1); close (fd); /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) exit (1); data2 = (char *) malloc (2 * pagesize); if (!data2) exit (1); data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1); if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) exit (1); /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) exit (1); if (read (fd, data3, pagesize) != pagesize) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) exit (1); close (fd); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_mmap_fixed_mapped=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_mmap_fixed_mapped=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 if test $ac_cv_func_mmap_fixed_mapped = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP 1 _ACEOF fi rm -f conftest.mmap echo "$as_me:$LINENO: checking whether setpgrp takes no argument" >&5 echo $ECHO_N "checking whether setpgrp takes no argument... $ECHO_C" >&6 if test "${ac_cv_func_setpgrp_void+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot check setpgrp when cross compiling" >&5 echo "$as_me: error: cannot check setpgrp when cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_UNISTD_H # include #endif int main () { /* If this system has a BSD-style setpgrp which takes arguments, setpgrp(1, 1) will fail with ESRCH and return -1, in that case exit successfully. */ exit (setpgrp (1,1) == -1 ? 0 : 1); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_setpgrp_void=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_setpgrp_void=yes fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_setpgrp_void" >&5 echo "${ECHO_T}$ac_cv_func_setpgrp_void" >&6 if test $ac_cv_func_setpgrp_void = yes; then cat >>confdefs.h <<\_ACEOF #define SETPGRP_VOID 1 _ACEOF fi echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #ifdef signal # undef signal #endif #ifdef __cplusplus extern "C" void (*signal (int, void (*)(int)))(int); #else void (*signal ()) (); #endif int main () { int i; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_signal=int fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 cat >>confdefs.h <<_ACEOF #define RETSIGTYPE $ac_cv_type_signal _ACEOF echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5 echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6 if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then if test "$cross_compiling" = yes; then ac_cv_func_lstat_dereferences_slashed_symlink=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; /* Linux will dereference the symlink and fail. That is better in the sense that it means we will not have to compile and use the lstat wrapper. */ exit (lstat ("conftest.sym/", &sbuf) ? 0 : 1); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_lstat_dereferences_slashed_symlink=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi else # If the `ln -s' command failed, then we probably don't even # have an lstat function. ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f conftest.sym conftest.file fi echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6 test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && cat >>confdefs.h <<_ACEOF #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 _ACEOF if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then case $LIBOBJS in "lstat.$ac_objext" | \ *" lstat.$ac_objext" | \ "lstat.$ac_objext "* | \ *" lstat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS lstat.$ac_objext" ;; esac fi echo "$as_me:$LINENO: checking whether stat accepts an empty string" >&5 echo $ECHO_N "checking whether stat accepts an empty string... $ECHO_C" >&6 if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_stat_empty_string_bug=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; exit (stat ("", &sbuf) ? 1 : 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_stat_empty_string_bug=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_stat_empty_string_bug=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_stat_empty_string_bug" >&5 echo "${ECHO_T}$ac_cv_func_stat_empty_string_bug" >&6 if test $ac_cv_func_stat_empty_string_bug = yes; then case $LIBOBJS in "stat.$ac_objext" | \ *" stat.$ac_objext" | \ "stat.$ac_objext "* | \ *" stat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS stat.$ac_objext" ;; esac cat >>confdefs.h <<_ACEOF #define HAVE_STAT_EMPTY_STRING_BUG 1 _ACEOF fi for ac_func in vprintf do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF echo "$as_me:$LINENO: checking for _doprnt" >&5 echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6 if test "${ac_cv_func__doprnt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define _doprnt to an innocuous variant, in case declares _doprnt. For example, HP-UX 11i declares gettimeofday. */ #define _doprnt innocuous__doprnt /* System header to define __stub macros and hopefully few prototypes, which can conflict with char _doprnt (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef _doprnt /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char _doprnt (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub__doprnt) || defined (__stub____doprnt) choke me #else char (*f) () = _doprnt; #endif #ifdef __cplusplus } #endif int main () { return f != _doprnt; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func__doprnt=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func__doprnt=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 echo "${ECHO_T}$ac_cv_func__doprnt" >&6 if test $ac_cv_func__doprnt = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_DOPRNT 1 _ACEOF fi fi done for ac_func in bzero dup2 gethostbyaddr gethostbyname gethostname inet_ntoa isascii memchr memset mkdir munmap select setlocale socket strchr strdup strrchr strspn index bcopy memcpy setsid rename FD_ISSET strlcpy syslog vsyslog inet_aton do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for fd_set" >&5 echo $ECHO_N "checking for fd_set... $ECHO_C" >&6 if test "${ac_cv_type_fd_set+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef HAVE_SYS_SELECT_H # include #endif int main () { if ((fd_set *) 0) return 0; if (sizeof (fd_set)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_fd_set=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_fd_set=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_fd_set" >&5 echo "${ECHO_T}$ac_cv_type_fd_set" >&6 if test $ac_cv_type_fd_set = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_FD_SET 1 _ACEOF fi echo "$as_me:$LINENO: checking for int32_t" >&5 echo $ECHO_N "checking for int32_t... $ECHO_C" >&6 if test "${ac_cv_type_int32_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined(HAVE_INTTYPES_H) # include #elif defined(HAVE_STDINT_H) # include #else # include #endif int main () { if ((int32_t *) 0) return 0; if (sizeof (int32_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_int32_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_int32_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_int32_t" >&5 echo "${ECHO_T}$ac_cv_type_int32_t" >&6 if test $ac_cv_type_int32_t = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_INT32_T 1 _ACEOF fi echo "$as_me:$LINENO: checking for time_t" >&5 echo $ECHO_N "checking for time_t... $ECHO_C" >&6 if test "${ac_cv_type_time_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((time_t *) 0) return 0; if (sizeof (time_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_time_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_time_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_time_t" >&5 echo "${ECHO_T}$ac_cv_type_time_t" >&6 if test $ac_cv_type_time_t = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_TIME_T 1 _ACEOF fi echo "$as_me:$LINENO: checking for in_addr_t" >&5 echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6 if test "${ac_cv_type_in_addr_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { if ((in_addr_t *) 0) return 0; if (sizeof (in_addr_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_in_addr_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_in_addr_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_in_addr_t" >&5 echo "${ECHO_T}$ac_cv_type_in_addr_t" >&6 if test $ac_cv_type_in_addr_t = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_IN_ADDR_T 1 _ACEOF fi echo "$as_me:$LINENO: checking for socklen_t" >&5 echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 if test "${ac_cv_type_socklen_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef HAVE_SYS_SOCKET_H # include #endif int main () { if ((socklen_t *) 0) return 0; if (sizeof (socklen_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_socklen_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_socklen_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 echo "${ECHO_T}$ac_cv_type_socklen_t" >&6 if test $ac_cv_type_socklen_t = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_SOCKLEN_T 1 _ACEOF fi echo "$as_me:$LINENO: checking for void *" >&5 echo $ECHO_N "checking for void *... $ECHO_C" >&6 if test "${ac_cv_type_void_p+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((void * *) 0) return 0; if (sizeof (void *)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_void_p=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_void_p=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_void_p" >&5 echo "${ECHO_T}$ac_cv_type_void_p" >&6 echo "$as_me:$LINENO: checking size of void *" >&5 echo $ECHO_N "checking size of void *... $ECHO_C" >&6 if test "${ac_cv_sizeof_void_p+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_void_p" = yes; then # The cast to unsigned long works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void *))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void *))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void *))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void *))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long) (sizeof (void *))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_void_p=$ac_lo;; '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (void *), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } ;; esac else if test "$cross_compiling" = yes; then { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default long longval () { return (long) (sizeof (void *)); } unsigned long ulongval () { return (long) (sizeof (void *)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) exit (1); if (((long) (sizeof (void *))) < 0) { long i = longval (); if (i != ((long) (sizeof (void *)))) exit (1); fprintf (f, "%ld\n", i); } else { unsigned long i = ulongval (); if (i != ((long) (sizeof (void *)))) exit (1); fprintf (f, "%lu\n", i); } exit (ferror (f) || fclose (f) != 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_void_p=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *), 77 See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (void *), 77 See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_void_p=0 fi fi echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5 echo "${ECHO_T}$ac_cv_sizeof_void_p" >&6 cat >>confdefs.h <<_ACEOF #define SIZEOF_VOID_P $ac_cv_sizeof_void_p _ACEOF echo "$as_me:$LINENO: checking for struct hostent.h_addr_list" >&5 echo $ECHO_N "checking for struct hostent.h_addr_list... $ECHO_C" >&6 if test "${ac_cv_member_struct_hostent_h_addr_list+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static struct hostent ac_aggr; if (ac_aggr.h_addr_list) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_member_struct_hostent_h_addr_list=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static struct hostent ac_aggr; if (sizeof ac_aggr.h_addr_list) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_member_struct_hostent_h_addr_list=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_hostent_h_addr_list=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_member_struct_hostent_h_addr_list" >&5 echo "${ECHO_T}$ac_cv_member_struct_hostent_h_addr_list" >&6 if test $ac_cv_member_struct_hostent_h_addr_list = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_HOSTENT_H_ADDR_LIST 1 _ACEOF fi ac_config_files="$ac_config_files " ac_config_commands="$ac_config_commands pubconf.h" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by canna $as_me 3.7p3, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ canna config.status 3.7p3 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS section. # pubconf_header_inttypes_h="$ac_cv_header_inttypes_h" pubconf_header_stdint_h="$ac_cv_header_stdint_h" pubconf_type_int32_t="$ac_cv_type_int32_t" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "pubconf.h" ) CONFIG_COMMANDS="$CONFIG_COMMANDS pubconf.h" ;; "accanna.h" ) CONFIG_HEADERS="$CONFIG_HEADERS accanna.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } # Do quote $f, to prevent DOS paths from being IFS'd. echo "$f";; *) # Relative if test -f "$f"; then # Build tree echo "$f" elif test -f "$srcdir/$f"; then # Source tree echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into # config.h.in to produce config.h. The first handles `#define' # templates, and the second `#undef' templates. # And first: Protect against being on the right side of a sed subst in # config.status. Protect against being in an unquoted here document # in config.status. rm -f conftest.defines conftest.undefs # Using a here document instead of a string reduces the quoting nightmare. # Putting comments in sed scripts is not portable. # # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.defines >/dev/null do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines echo ' fi # grep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.undefs >/dev/null do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail rm -f conftest.undefs mv conftest.tail conftest.undefs done rm -f conftest.undefs cat >>$CONFIG_STATUS <<\_ACEOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in pubconf.h ) pubconf_hdr="pubconf.h" pubconf_tmp="$pubconf_hdr.tmp" { echo "$as_me:$LINENO: creating \"$pubconf_hdr\"" >&5 echo "$as_me: creating \"$pubconf_hdr\"" >&6;} cat << PUBCONF_EOF > "$pubconf_tmp" /* Generated file. Modify "configure.ac" instead of this file. */ #ifndef CANNA_PUBCONF_H #define CANNA_PUBCONF_H PUBCONF_EOF if test "x$pubconf_header_inttypes_h" = xyes; then cat << PUBCONF_EOF >> "$pubconf_tmp" #define CANNA_HAVE_INTTYPES_H 1 PUBCONF_EOF else echo "/* #undef CANNA_HAVE_INTTYPES_H */" >> "$pubconf_tmp" fi if test "x$pubconf_header_stdint_h" = xyes; then cat << PUBCONF_EOF >> "$pubconf_tmp" #define CANNA_HAVE_STDINT_H 1 PUBCONF_EOF else echo "/* #undef CANNA_HAVE_STDINT_H */" >> "$pubconf_tmp" fi if test "x$pubconf_type_int32_t" = xyes; then cat << PUBCONF_EOF >> "$pubconf_tmp" #define CANNA_HAVE_INT32_T 1 PUBCONF_EOF else echo "/* #undef CANNA_HAVE_INT32_T */" >> "$pubconf_tmp" fi cat << PUBCONF_EOF >> "$pubconf_tmp" #endif /* CANNA_PUBCONF_H */ PUBCONF_EOF if cmp -s "$pubconf_hdr" "$pubconf_tmp"; then { echo "$as_me:$LINENO: \"$pubconf_hdr\" is unchanged" >&5 echo "$as_me: \"$pubconf_hdr\" is unchanged" >&6;} rm "$pubconf_tmp" else mv "$pubconf_tmp" "$pubconf_hdr" fi ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi # $Id: configure.ac,v 1.12.2.5 2004/05/19 15:47:33 aida_s Exp $ Canna37p3/configure.ac0100644000076500001200000000632210052700625014133 0ustar shinraadmin# Process this file with autoconf to produce a configure script. AC_INIT([canna], [3.7p3], [canna-dev@lists.sourceforge.jp]) AC_CONFIG_SRCDIR([WHATIS.jp]) AC_CONFIG_HEADER([accanna.h]) if test "x$IN_MAKE" != xyes; then AC_MSG_ERROR([You cannot invloke configure directly.]) fi # Checks for programs. AC_PROG_CC # Checks for libraries. # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h locale.h memory.h netdb.h netinet/in.h stddef.h stdlib.h string.h]dnl [strings.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h]dnl [sys/select.h arpa/inet.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM # Checks for library functions. AC_FUNC_FORK AC_PROG_GCC_TRADITIONAL AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_FUNC_MMAP AC_FUNC_SETPGRP AC_TYPE_SIGNAL AC_FUNC_STAT AC_FUNC_VPRINTF AC_CHECK_FUNCS([bzero dup2 gethostbyaddr gethostbyname gethostname inet_ntoa isascii memchr]dnl [memset mkdir munmap select setlocale socket strchr strdup strrchr strspn]dnl [index bcopy memcpy setsid rename FD_ISSET strlcpy syslog vsyslog inet_aton] ) AC_CHECK_TYPES([fd_set],,,[dnl #include #ifdef HAVE_SYS_SELECT_H # include #endif ]) AC_CHECK_TYPES([int32_t],,,[dnl #if defined(HAVE_INTTYPES_H) # include #elif defined(HAVE_STDINT_H) # include #else # include #endif ]) AC_CHECK_TYPES([time_t]) AC_CHECK_TYPES([in_addr_t],,,[dnl #include #include ]) AC_CHECK_TYPES([socklen_t],,,[dnl #include #ifdef HAVE_SYS_SOCKET_H # include #endif ]) AC_CHECK_SIZEOF([void *]) AC_CHECK_MEMBERS([struct hostent.h_addr_list],,,[#include ]) AC_CONFIG_FILES([]) dnl PUBCONF_DEFINE(NAME,VALUE) define([PUBCONF_PREFIX],[CANNA_]) AC_DEFUN([PUBCONF_DEFINE],[dnl cat << PUBCONF_EOF >> "$pubconf_tmp" [#]define PUBCONF_PREFIX[$1] [$2] PUBCONF_EOF[]dnl ]) dnl PUBCONF_NOTDEF(NAME) AC_DEFUN([PUBCONF_NOTDEF],[dnl echo "/* [#]undef PUBCONF_PREFIX[$1] */" >> "$pubconf_tmp"[]dnl ]) dnl PUBCONF_DEFINE_IF(NAME,COND) AC_DEFUN([PUBCONF_DEFINE_IF],[dnl if [$2]; then PUBCONF_DEFINE([$1],1) else PUBCONF_NOTDEF([$1]) fi ]) dnl PUBCONF_DEFINE_YESNO(NAME,VAR) AC_DEFUN([PUBCONF_DEFINE_YESNO],[PUBCONF_DEFINE_IF([$1],[test "x$][$2" = xyes])]) AC_CONFIG_COMMANDS([pubconf.h],[ pubconf_hdr="pubconf.h" pubconf_tmp="$pubconf_hdr.tmp" AC_MSG_NOTICE([creating "$pubconf_hdr"]) cat << PUBCONF_EOF > "$pubconf_tmp" /* Generated file. Modify "configure.ac" instead of this file. */ #ifndef CANNA_PUBCONF_H #define CANNA_PUBCONF_H PUBCONF_EOF PUBCONF_DEFINE_YESNO([HAVE_INTTYPES_H],[pubconf_header_inttypes_h]) PUBCONF_DEFINE_YESNO([HAVE_STDINT_H],[pubconf_header_stdint_h]) PUBCONF_DEFINE_YESNO([HAVE_INT32_T],[pubconf_type_int32_t]) cat << PUBCONF_EOF >> "$pubconf_tmp" #endif /* CANNA_PUBCONF_H */ PUBCONF_EOF if cmp -s "$pubconf_hdr" "$pubconf_tmp"; then AC_MSG_NOTICE(["$pubconf_hdr" is unchanged]) rm "$pubconf_tmp" else mv "$pubconf_tmp" "$pubconf_hdr" fi ],[ m4_foreach([Var],[header_inttypes_h,header_stdint_h,type_int32_t],[dnl [pubconf_]Var="[$ac_cv_]Var" ]) ]) AC_OUTPUT # $Id: configure.ac,v 1.12.2.5 2004/05/19 15:47:33 aida_s Exp $ Canna37p3/confwrapper0100755000076500001200000000134510052677652014136 0ustar shinraadmin#! /bin/sh # $Id: confwrapper,v 1.4.2.4 2004/05/19 15:39:22 aida_s Exp $ # vim: set sw=2 ts=8: set -e case "$1" in run) shift if test ! -f cwenv.sh; then make cwenv.sh fi . ./cwenv.sh if test -f cwlocal.sh; then . ./cwlocal.sh fi export CPPFLAGS CC CFLAGS echo "CPPFLAGS=\"$CPPFLAGS\"" echo "CC=\"$CC\"" echo "CFLAGS=\"$CFLAGS\"" echo "$@" exec "$@" ;; mkenv) envname="$2" shift shift for p in "$@"; do case "$p" in *" "*|*" "*|*"'"*|*'"'*) echo 'confwrapper: warning: removing "'"$p"'" from '"$envname" >&2 ;; *) args=$args${args+" "}$p ;; esac done cat << EOF $envname="$args" EOF ;; *) echo "confwrapper.sub: Bad argument" >&2 exit 1 ;; esac Canna37p3/COPYRIGHT0100644000076500001200000001144110046015307013135 0ustar shinraadminThe whole distribution is under following license agreements. You must agree with both of them to use or distribute Canna. /* Copyright (c) 2002-2004 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* Copyright 1990-1997 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ Additionary, a component (lib/RKindep/cksum.c) contained in cannaserver and some utilities is under following license. /*- * Copyright (c) 1991, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * James W. Williams of NASA Goddard Space Flight Center. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ Canuum is distributed under GNU GPL. See canuum/README.copyright and canuum/COPYRIGHT. Pubdic+ is distributed under so-called MIT license. See dic/ideo/pubdic/COPYRIGHT (in both Japanese and English). ($Id: COPYRIGHT,v 1.1.2.1 2004/05/04 22:35:51 aida_s Exp $) Canna37p3/dic/0040755000076500001200000000000010052700704012402 5ustar shinraadminCanna37p3/dic/.cvsignore0100644000076500001200000000002107601177340014402 0ustar shinraadmin.depend Makefile Canna37p3/dic/ideo/0040755000076500001200000000000010052700703013321 5ustar shinraadminCanna37p3/dic/ideo/.cvsignore0100644000076500001200000000002107601177340015322 0ustar shinraadmin.depend Makefile Canna37p3/dic/ideo/ChangeLog0100644000076500001200000002045207773337053015117 0ustar shinraadmin2003-11-01 Toru TAKAMIZU * pubdic/k.p: remove an incorrect "kahi"([Canna-dev 260] from Sugano-san). Also add several entries. * pubdic/s.p: add 1 entry. * pubdic/t.p: add 2 entries. 2003-09-26 Toru TAKAMIZU * pubdic/Imakefile: sync with HEAD * pubdic/a.p: add 5 entries * pubdic/h.p: add 1 entry * pubdic/k.p: add 7 entries * pubdic/m.p: add 3 entries * pubdic/r.p: add 3 entries * pubdic/s.p: add 3 entries * pubdic/t.p: correct POS * pubdic/y.p: add 1 entry * words/chimei.t: add 2 entries 2003-09-09 Toru TAKAMIZU * pubdic/a.p: #T09 -> #T05 for an entry. Now it can be followed by "desu" * pubdic/k.p: ditto * pubdic/h.p: add 2 entries * pubdic/s.p: add 5 entries * pubdic/t.p: add 1 entry * pubdic/y.p: add 1 entry 2003-09-06 Toru TAKAMIZU * grammar/Imakefile: sync with HEAD branch * words/Imakefile: ditto * words/dics.dir: ditto 2003-07-06 Toru TAKAMIZU * pubdic/h.p: add 3 entries * pubdic/t.p: add 1 entry * pubdic/w.p: add 1 entry 2003-06-29 Toru TAKAMIZU * pubdic/a.p: add 10 entries * pubdic/t.p: add 5 entries 2003-06-27 Toru TAKAMIZU * pubdic/k.p: add 3 entries * pubdic/m.p: add 1 entry * pubdic/t.p: add 2 entries 2003-05-01 Toru TAKAMIZU * pubdic/m.p: preparing for grammar/gram.goto change * pubdic/n.p: ditto * pubdic/r.p: ditto * pubdic/s.p: ditto * pubdic/t.p: ditto * pubdic/w.p: ditto * pubdic/y.p: ditto * grammar/gram.goto: move JTNO from COMMON_GOKAN to T_GOKAN, in order to avoid impossible combinations, i.e. #F?? + #JTNO. 2003-04-19 Toru TAKAMIZU * pubdic/a.p: preparing for grammar/gram.goto change * pubdic/h.p: ditto * pubdic/k.p: ditto 2003-04-08 Toru TAKAMIZU * pubdic/a.p: add 2 entries * pubdic/t.p: add 1 entry * words/chimei.t: remove redundant entries * words/chimei.t: add 8 entries 2003-04-07 Toru TAKAMIZU * pubdic/a.p: add 3 entries * pubdic/k.p: add 5 entries * pubdic/s.p: add 1 entry * pubdic/t.p: add 2 entries * pubdic/y.p: add 2 entries * words/chimei.t: add entries for new cities * words/chimei.t: correct the error of the previous commit -- the ones I added were not in canna-form, but in pubdic-form. 2003-04-04 Toru TAKAMIZU * pubdic/a.p: add 9 entries * pubdic/k.p: add 11 entries * pubdic/m.p: add 2 entries * pubdic/s.p: add 2 entries 2003-04-02 Toru TAKAMIZU * pubdic/n.p: change "nihonyuuseikousya" to "nipponyuuseikousya". I should have looked it up. 2003-04-01 Toru TAKAMIZU * pubdic/?.p: add entries of katakata words that have a prolonged vowel at the last syllable. Now you don't have to rely solely on "long vowel symbol" entry in suffix.ctd in order to input these words. (IMHO the entry is too productive.) * pubdic/?.p: add ministry names * pubdic/a.p: add 3 entries * pubdic/h.p: add 5 entries including - "hoture" as #KSr - "bosoboso" as #F04 * pubdic/k.p: add 1 entry * pubdic/s.p: add 2 entries * pubdic/w.p: add 4 entries 2003-03-31 Toru TAKAMIZU * pubdic/t.p: add 7 entries including - "tohaittemo" as #CJ - "torituke" as #KSr - "dokuzenteki" as #T15 - "dotabata" as #T00 2003-03-30 Toru TAKAMIZU * pubdic/a.p: add 5 entries including - "irekae" -- kanji alternatives - "osihaka" -- ditto * pubdic/h.p: add 10 entries including - "hukureaga" as #R5 - "hohoe" -- kanji alternative - "boroboro" and "potapota" as #F04 - "boke" as #KSr * pubdic/n.p: add 4 entries including - "nikutarasi" as #KY - "noriki" as #T08 * pubdic/y.p: add 4 entries -- "youhou" and related words 2003-03-28 Toru TAKAMIZU * pubdic/a.p: add 12 entries including - "intiki" as #T00 - "eakon" as #T35 - "obuzye" as #T35 * pubdic/r.p: add 2 entries. - "returetu" as #F03 - "retorikku" as #T35 * pubdic/s.p: add 11 entries including - "zurugasiko" as #KY - "seka" as #S5 - "sensenkyoukyou" as #F03 - "souhoteki" as #T15 * words/chimei.t: add 3 entries 2003-03-26 Toru TAKAMIZU * pubdic/a.p: add many entries including - "akademikku" as #T17 - "araware" -- kanji alternatives - "intaahon", "intoro", "inhura" - "otyoku" as #R5r * pubdic/a.p: change "eikoku" #KK -> #CNS * pubdic/k.p: add 19 entries including - "kaita" as #S5r - "kire" as #KSr - "girigiri" and "guragura" as #T00 - "keti" as #T05 * pubdic/t.p: add 17 entries including - "taisite" as #F14 - "datositemo" as #CJ - "tidikoma" as #R5 - "tootorozikaru" as #T17 - "tottekawa" as #R5 2003-03-24 Toru TAKAMIZU * pubdic/a.p: add 18 entries including - "itigiteki" as #T15 - "ikete" as #KS - "isyou", "irusu", "ooboe", "okasi", "okarada", etc. * pubdic/h.p: add 18 entries including - "bakibaki" as #F04 - "baribari" as #F04 and #T36 (the latter because of "baribarino") - "bakibaki" as #F04 - "hazukasinagara" as #F14 * pubdic/k.p: add 1 entry - "gurippu" as #T35 2003-03-23 Toru TAKAMIZU * words/software.t: remove entries that also have an entry in pubdic/?.p * words/kanasmpl.t: ditto * pubdic/a.p: add 15 entries including - "akui" as #T35 - "awatadasi" as #KY - many others * pubdic/a.p: correct okurigana of "arawa" * pubdic/s.p: add 10 entries including - "syunjiteki" as #T15 - "syoge" as #KS - "sinsi" as #T19 * pubdic/s.p: remove one of the two entries of "sutorappu" 2003-03-22 Toru TAKAMIZU * ChangeLog: correct the date of the previous commit * pubdic/h.p: add 14 entries - "hayakukara" and "hayaitoko" as #F14 - "batabata" as #F04 - "biki" and "hiki" as #SUC - "hinomaru" as #KK - others as #T30 and #T35 * pubdic/k.p: correct "kanari" #T06 -> #T16 * pubdic/k.p: add 6 entries * pubdic/m.p: add 11 entries - "masi" as #T05 - "matigaina" as #KY - "matigae" as #KS - "mukuware" as #KS - "muzinzou" as #T15 - others 2003-03-21 Toru TAKAMIZU * pubdic/s.p: add 6 entries (#T35 & #T30) 2003-03-19 Toru TAKAMIZU * pubdic/h.p: add 13 entries (#T35 & #T30) * pubdic/k.p: add 11 entries (#T35 & #T30) * pubdic/k.p: change "kansai" #CN -> #CNS * pubdic/k.p: correct "kogimiyo" and "kogimiyou" to "kokimiyo" and "kokimiyou" respectively. * pubdic/n.p: add 14 entries (#T35 & #T30) * pubdic/n.p: change "nihonkai" #KK -> #CNS * pubdic/s.p: add 13 entries (#T35 & #T30) * pubdic/t.p: add 15 entries (#T35 & #T30) 2003-03-18 Toru TAKAMIZU * pubdic/h.p: add 12 entries (#T35 & #T30) * pubdic/k.p: add 16 entries. These include new ministries and their abbreviation as #KK, other than #T35 and #T30. * words/chimei.t: change names of railway line #CN -> #CNS * words/chimei.t: remove "sinkansen" as #CN, bacause pubdic/s.p has "sinkansen" entry as #T35. 2003-03-17 Toru TAKAMIZU * ChangeLog: All POS's are now "#" prefixed. * "sort -s -k 1,1 pubdic/?.p" * pubdic/h.p: add 12 entries (#T35 & #T30) * pubdic/k.p: add 10 entries (#T35 & #T30) * pubdic/k.p: correct "kaiousei", "kasei" and "kinsei" #KK -> #CNS and remove "kinsei" as #T35 * pubdic/m.p: add 11 entries. Among these are "miribaaru" as #JS, and "monbukagakusyou" and its abbreviation "monkasyou" as #KK. * pubdic/m.p: correct "mokusei" #CN -> #CNS and "meiousei" #KK -> #CNS * pubdic/s.p: add 10 entries (#T35 & #T30) * pubdic/s.p: correct "suisei" #KK -> #CNS * pubdic/s.p: correct "sirikonbaree" #KK -> #CNS * pubdic/t.p: add 13 entries (#T35 & #T30) * pubdic/t.p: correct "tennousei" and "dosei" #KK -> #CNS 2003-03-16 Toru TAKAMIZU * pubdic/h.p: add 17 entries (#T35 & #T30) * pubdic/h.p: correct "pontotyou" #CN -> #CNS * pubdic/k.p: add 11 entries (#T35 & #T30) * pubdic/r.p: add 10 entries (#T35 & #T30) * pubdic/s.p: add 14 entries (#T35 & #T30) * pubdic/s.p: remove 1 entry "sanpai" ("zanpai"'s wrong reading?) * pubdic/t.p: add 14 entries (#T35 & #T30) $Header: /cvsroot/canna/canna/dic/ideo/ChangeLog,v 1.2.2.2 2003/12/27 17:15:23 aida_s Exp $ Canna37p3/dic/ideo/grammar/0040755000076500001200000000000010052700677014761 5ustar shinraadminCanna37p3/dic/ideo/grammar/.cvsignore0100644000076500001200000000011407601177340016753 0ustar shinraadmin.depend Makefile *.d *.fq *.cbd *.cld *.swd cpp.gram cnj.bits cnj.h cnj.mac Canna37p3/dic/ideo/grammar/gram.code0100644000076500001200000004777510043310761016553 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * $Id: gram.code,v 1.2.6.1 2004/04/26 22:49:21 aida_s Exp $ */ /* * gram.code: ¥ï¡¼¥×¥íÍÑɸ½àÆüËܸìʸˡ */ #include "main.code" /* KN ·Á¼°Ì¾»ì: ¼Â¼ÁŪ¤Ê°ÕÌ£¤«¤é¤Ï¤Ê¤ì¡¤·Á¼°Åª¤Ê°ÕÌ£¤Î¤ß¤ò»ý¤Ã¤Æ¤¤¤ë, * ̾»ì¤Î¤è¤¦¤ÊƯ¤­¤ò¤¹¤ë¸ì¡¥½¾Í褫¤éÄêµÁ¤µ¤ì¤Æ¤¤¤ë¸ì¡¥ * TKN ¿··Á¼°Ì¾»ì: * ¡Ö¤Ê¡×¤¬JTNO¤Î¤è¤¦¤ËƯ¤¯¸å¤Ë°ú¤­Â³¤¯¡£¡Ö¤Ï¤º¡×¡Ö¤ï¤±¡×¤ÎÆó¸ì¡£ * FKN Éû½õ»ì¤«¤é¤Î·Á¼°Ì¾»ì: * Éû½õ»ì¤Ç¤¢¤Ã¤¿¤¬¡¤·Á¼°Åª¤Ç̾»ì¤Î¤è¤¦¤ÊƯ¤­¤ò¤¹¤ë¸ì¡¤ * ¤¯¤é¤¤¡¤¤°¤é¤¤¡¤¤À¤±¡¤¤Ê¤É¡¤¤Û¤É,¤æ¤¨ --> ·Á¼°Ì¾»ì¤Ø°Üư */ JTNO _ ¤Î /* ½àÂθÀ½õ»ì */ JTNN _ _ /* ¿ô»ì */ NN _ _ /* ¿ô,´ö */ N00 _ _ /* xËü,x²¯,xÃû */ N01 _ _ /* Àé,ÆóÀé,¡Ä,¿ôÀé */ N02 _ _ /* É´,ÆóÉ´,¡Ä,¿ôÉ´ */ N03 _ _ /* ½½,Æó½½,¡Ä,¿ô½½ */ KN _ _ /* ¤¢¤È/¤¦¤Á/¤ª¤ê/¤³¤È/¤¿¤á/¤È¤­/¤È¤³¤í/¤Ï¤º/¤Û¤¦/¤Û¤«/¤Þ¤¨/¤Þ¤Þ/¤â¤Î/¤ï¤±//¤¢¤¤¤À/¤¢¤Þ¤ê/¤¦¤¨/¤ª¤«¤²/¤«¤®¤ê/¤«¤¿/¤¯¤»/¤´¤È/¤Ä¤â¤ê/¤Õ¤·/¤ä¤Ä/¤è¤¦/¤è¤¦¤Ê/¤è¤· */ TKN _ _ /* ¤Ï¤º/¤ï¤± (KN¤È¤ÎÆó½ÅÅÐÏ¿¤ò¤¹¤ë) */ FKN _ _ /* ¤¯¤é¤¤/¤°¤é¤¤/¤³¤½/¤À¤±/¤Ê¤É/¤Û¤É/¤æ¤¨ */ /* ÀÜÆ¬¸ì */ PRE _ _ /* °ìÈÌŪ */ CNPRE _ _ /* ÃÏ̾¤Ë¤Ä¤¯ */ JNPRE _ _ /* ¿Í̾¤Ë¤Ä¤¯ */ NNPRE _ _ /* ¿ô»ì¤Ë¤Ä¤¯ */ SNPRE _ _ /* ¥µÊÑ̾»ì¤Ë¤Ä¤¯ */ /* ÀÜÈø¸ì */ SUC _ _ /* °ìÈÌŪ */ CNSUC1 _ _ /* ÃÏ̾¤Ë¤Ä¤¯ */ CNSUC2 _ _ /* ÃÏ̾ */ JNSUC _ _ /* ¿Í̾¡¢¤µ¤ó */ JS _ _ /* ½õ¿ô»ì */ JSSUC _ _ /* ½õ¿ô»ì¤Ë¤Ä¤¯ */ JSmono _ ¤â¤Î /* JS,JSSUC¤Ë¤Ä¤¯¡£½½Ç¯_¤â¤Î_´Ö¡¢É´Æü´Ö_¤â¤Î_´Ö */ /* * ¥¤¥Ë¥å¡¼ÄɲÃʬ */ JNSSUC _ _ /* ÀÜÈøÀ« */ JNMSUC _ _ /* ÀÜÈøÌ¾ */ /* ·ÁÂÖ¤òÊÑ´¹¤µ¤»¤ëÀÜÈø¸ì: * Àܳ¤¹¤ë¤³¤È¤Ç·ÁÂÖ¤¬ÊѲ½¤¹¤ë. */ N2T30 _ _ /* ¥µÊÑ̾»ì²½(T30): (̾)+²½,»ë: */ N2T35 _ _ /* ̾»ì²½(T35): (̾)+ */ D2T35 _ _ /* ̾»ì²½(T35): (ư»ìÏ¢ÍÑ·Á)+¤Ã¤Ñ¤Ê¤· */ D2T16 _ _ /* ·ÁÍÆÆ°»ì²½(T35): (ư»ìÏ¢ÍÑ·Á)+¤¬¤Á */ K2T15 _ ¤á K2T16 _ ¤² K2T35 _ ¤µ /* ̾»ì²½(T35): (·Á,·Áư)+¤µ: */ /* ³Ê½õ»ì: ÂθÀ¤ÎÍѸÀ¤ËÂФ¹¤ë´Ø·¸¤ò»ØÄꤹ¤ë * ¤ª¤â¤ËÂθÀ¤ËÉÕ°¤¹¤ë * * ³Ê½õ»ìÁêÅö¶ç: */ Kkara _ ¤«¤é Kga _ ¤¬ Kde _ ¤Ç Kdeno _ ¤Ç¤Î Kto _ ¤È Kni _ ¤Ë Knite _ ¤Ë¤Æ Kno _ ¤Î Khe _ ¤Ø Kmade _ ¤Þ¤Ç Kyori _ ¤è¤ê Kwo _ ¤ò /* Éû½õ»ì: °ÕÌ£¤òꤍ¤Æ²¼¤Ø¤«¤«¤ë * ¤¯¤é¤¤¡¤¤À¤±¡¤¤Ê¤É¡¤¤Û¤É,¤æ¤¨ --> ·Á¼°Ì¾»ì¤È¤·¤¿ */ Fka _ ¤« /* Àܳ½õ»ì¤È¤Î°ã¤¤ */ Fkiri _ ¤­¤ê/¤Ã¤­¤ê Fga _ ¤¬ /* µÕÀÜ: Â礭¤¤¤¬ */ Fkoso _ ¤³¤½ /*Àܳ½õ»ì¤È¤Î°ã¤¤ */ Fsae _ ¤µ¤¨ Fsika _ ¤·¤« Fsura _ ¤¹¤é Fzutu _ ¤º¤Ä Fdano _ ¤À¤Î Fdeha _ ¤Ç¤Ï Fdemo _ ¤Ç¤â Fttara _ _ /* Èà½÷_¤Ã¤¿¤é */ Ftte _ ¤Ã¤Æ /*Àܳ½õ»ì¤È¤Î°ã¤¤ */ Fto _ ¤È /* ½ª,ÂÎ+: ¿©¤Ù¤ë¤È */ Ftoka _ ¤È¤« /*Àܳ½õ»ì¤È¤Î°ã¤¤:³Ê½õ»ì¤¬¸å¤í¤ËÀܳ */ Ftote _ ¤È¤Æ /*Àܳ½õ»ì¤È¤Î°ã¤¤:ÂθÀ¤Î¸å¤ËÀܳ */ Ftomo _ ¤È¤â /*Àܳ½õ»ì¤È¤Î°ã¤¤:³Ê½õ»ì¤¬¸å¤í¤ËÀܳ */ Ftono _ ¤È¤Î Fdokoro _ ¤É¤³¤í /*Àܳ½õ»ì¤È¤Î°ã¤¤ */ Fnagara _ ¤Ê¤¬¤é /*Àܳ½õ»ì¤È¤Î°ã¤¤ */ ni ¤Ê¤¬¤é¤Ë Fnazo _ ¤Ê¤¾/¤Ê¤ó¤«/¤Ê¤ó¤Æ/¤Ê¤ó¤¾ Fnaradeha _ ¤Ê¤é¤Ç¤Ï Fnari _ ¤Ê¤ê /*Àܳ½õ»ì¤È¤Î°ã¤¤ */ Fnomi _ ¤Î¤ß Fha _ ¤Ï Fbakari _ ¤Ð¤«¤ê/¤Ð¤«¤· Fmade _ ¤Þ¤Ç Fmo _ ¤â Fya _ ¤ä Fyara _ ¤ä¤é Fyue _ ¤æ¤¨ Fdatte _ ¤À¤Ã¤Æ Fttatte _ _ /* ¿Í´Ö¤Ã¤¿¤Ã¤Æ, ¶¯¤¯¤Ã¤¿¤Ã¤Æ */ /* Àܳ½õ»ì: ²¼¤Î¸ì¤Ë³¤±¤ëÌò³ä * Îã¤Ç¤Ï¡¤¤É¤ó¤Ê³èÍÑ·Á¤Ë¤Ä¤¯¤«¤òɽ¤ï¤·¤Æ¤¤¤ë¡¥ */ Ska _ ¤« /* ½ª,ÂÎ+: °û¤à¤«¿©¤Ù¤ë¤« */ Skara _ ¤«¤é /* ½ª,ÂÎ+: ¿©¤Ù¤ë¤«¤é */ Snode _ ¤Î¤Ç/¤Î¤Ë /* ½ª,ÂÎ+: ¿©¤Ù¤ë¤Î¤Ç(¡Ø¤«¤é¡Ù¤È¤Ï¼ã´³°ã¤¦ */ Sga _ ¤¬ /* ÂÎ+: Èô¤Ö¤¬(Ç¡¤·) */ Skuseni _ ¤¯¤»¤Ë /* ³Ú¤·¤¤¤¯¤»¤Ë */ Skeredo _ ¤±¤ì¤É/¤±¤ì¤É¤â /* ½ª,ÂÎ+: ³Ú¤·¤¤¤±¤ì¤É */ Ssi _ ¤· /* ½ª,ÂÎ+: Å·µ¤¤ÏÎɤ¤¤· */ Stutu _ ¤Ä¤Ä /* ¿©¤Ù¤Ä¤Ä */ Stte _ ¤Ã¤Æ /* Ä·¤Í¤ë¤Ã¤Æ */ Sto _ ¤È /* ʸËö°ìÈ̤ËÀܳ */ Stoka _ ¤È¤« /* ³Ê½õ»ì¤¬¸å¤í¤ËÍè¤Ê¤¤ */ Stokoro _ ¤È¤³¤í /* ½ª,ÂÎ,½õ[¤¿]+: ¹Ô¤Ã¤¿¤È¤³¤í */ ga ¤È¤³¤í¤¬ /* ¹Ô¤Ã¤¿¤È¤³¤í¤¬ */ de ¤È¤³¤í¤Ç /* ¹Ô¤Ã¤¿¤È¤³¤í¤Ç */ Stote _ ¤È¤Æ /* ¹Ô¤¯¤È¤Æ */ Stomo _ ¤È¤â /* ³Ê½õ»ì¤¬¸å¤í¤ËÍè¤Ê¤¤ */ Sdomo _ ¤É¤â/¤É /* ¹Ô¤±¤É[¤â] */ Sdokoro ka ¤É¤³¤í¤« Ssae _ ¤µ¤¨ /* ¹Ô¤­(ÊÙ¶¯)¤µ¤¨_¤¹¤ë */ Skoso _ ¤³¤½ /* ¹Ô¤­(ÊÙ¶¯)¤³¤½_¤·¤Ê¤¤ */ Snagara _ ¤Ê¤¬¤é /* ¹Ô¤­¤Ê¤¬¤é */ Snara _ ¤Ê¤é /* ³Ú¤·¤¤¤Ê¤é */ /* ·Áư¤Î¸ìÈø¤ò·ó¤Í¤ë? */ Snari _ ¤Ê¤ê /* ¼Ñ¤ë¤Ê¤ê¾Æ¤¯¤Ê¤ê */ Sniha _ ¤Ë¤Ï /* ¿©¤Ù¤ë¤Ë[¤Ï] */ Snimo _ ¤Ë¤â /* ¿©¤Ù¤è¤¦¤Ë¤â */ Sba _ ¤Ð /* ²¾+: ³Ú¤·¤±¤ì¤Ð */ Smono no ¤â¤Î¤Î /* ½ª,ÂÎ+: ¹Ô¤¯¤â¤Î¤Î */ wo ¤â¤Î¤ò /* ¹Ô¤¯¤â¤Î¤ò */ /* ½ª½õ»ì: ʸËö¤«Ê¸Àá¤ÎÀÚ¤ìÌܤˤĤ¤¤ÆÍÍ¡¹¤Ê°ÕÌ£¤òɽ¤¹ */ Zi _ _ /* ¿©¤Ù¤ë¤ó¤À_¤¤ */ Zni _ _ /* ¿©¤Ù¤ë¤À¤í¤¦_¤Ë */ Ztto _ _ /* ¿©¤Ù¤è¤¦_¤Ã¤È */ Zka _ _ /* ¿©¤Ù¤ë_¤« */ Zkai _ _ /* ¿©¤Ù¤ë_¤«¤¤ */ Zkasira _ _ /* ¿©¤Ù¤ë_¤«¤·¤é(½÷) */ Zkana _ _ /* ¿©¤Ù¤ë_¤«¤Ê */ Zsa _ _ /* ¿©¤Ù¤ë_¤µ */ Zze _ _ /* ¿©¤Ù¤ë_¤¼ */ Zzo _ _ /* ¿©¤Ù¤ë_¤¾ */ Ztomo _ _ /* ¿©¤Ù¤ë_¤È¤â: ½ª»ß·Á¤Ë¤Ä¤¯ */ Zmono _ _ /* ¿©¤Ù¤ë_¤â¤Î */ Zna _ _ /* ¿©¤Ù¤ë_¤Ê */ Znaa _ _ /* ¿©¤Ù¤ë_¤Ê¤¢ */ Zne _ _ /* ¿©¤Ù¤ë_¤Í */ Znee _ _ /* ¿©¤Ù¤ë_¤Í¤¨ */ Zno _ _ /* ¿©¤Ù¤ë_¤Î(½÷)*/ Zya _ _ /* ¿©¤Ù¤ë_¤ä */ Zyo _ _ /* ¿©¤Ù¤ë_¤è */ Zyona _ _ /* ¿©¤Ù¤ë_¤è¤Ê */ Zwa _ _ /* ¿©¤Ù¤ë_¤ï(½÷)*/ /* ư»ì³èÍѸìÈø * 1. Ï¢ÍÑ·Á¤¬Ì¾»ì¤Ë¤Ê¤ë¤â¤Î¤Î¥³¡¼¥ÉʬÎà¤Ë¤Ä¤¤¤Æ * Ï¢ÍÑ·Á¤À¤±ÊÌ¥³¡¼¥É²½¤·¡¤Â¾¤Î³èÍÑ·Á¤Ï¶¦Í­¤¹¤ë¤³¤È¤Ë¤¹¤ë¡¥ * ¤Þ¤¿¡¤°ìÃÊÆ°»ì¤Ë¤Ä¤¤¤Æ¤Ï¡¤¸ì´´¤Ç¤ÎÀܳ¤Î¤ß¤¬ÌäÂê¤Ë¤Ê¤ë¤Î¤Ç¡¤ * ¸ì´´¤Ï£²Ê¬Îà¤È¤¹¤ë¤¬¡¤³èÍѸìÈø¤ò¶¦Ä̤ˤ¹¤ë¤³¤È¤Ë¤·¤¿¡¥ */ /* ¤«¹Ô5ÃÊ */ k5 iO ¤¤ /* ÃÖ¤¤_¤¿¤é,½ñ¤¤_¤¿ */ u ¤¯ /* ÃÖ¤¯_¤È¤­,½ñ¤¯_¤È¤­ */ e ¤± /* ÃÖ¤±, ½ñ¤± */ o ¤³ /* ÃÖ¤³_¤¦, ½ñ¤³_¤¦ */ ya _ /* ÃÖ¤­¤ã */ k5a _ ¤« /* ÃÖ¤«_¤Ê¤¤,½ñ¤«_¤Ê¤¤: ktek5a»²¾È */ k5i _ ¤­ /* ÃÖ¤­_¤Þ¤¹ */ k5ir _ ¤­ /* ½ñ¤­_¤Þ¤¹,½ñ¤­ */ /* ¥«¹Ô5ÃÊ ¹Ô¤¯ */ /* ÉÊ»ì¿ôºï¸º¤Î¤¿¤á¼ç¤ËK5r¤È³èÍѸìÈø¤ò¶¦Í­ * ¹Ô¤«_¤Ê¤¤ k5a * ¹Ô¤­_¤Þ¤¹ k5ir * ¹Ô¤¯_¤È¤­ k5u * ¹Ô¤± k5e * ¹Ô¤³_¤¦ k5o * ¹Ô¤­¤ã k5ya * ¹Ô¤Ã_¤¿¤é t5tO */ /* ¤¬¹Ô5ÃÊ */ g5 a ¤¬ /* ¶Ä¤¬_¤Ê¤¤,µÞ¤¬_¤Ê¤¤ */ iO ¤¤ /* ¶Ä¤¤_¤À¤é,µÞ¤¤_¤À */ u ¤° /* ¶Ä¤°_¤È¤­,µÞ¤°_¤È¤­ */ e ¤² /* ¶Ä¤², µÞ¤²_¤Ð */ o ¤´ /* ¶Ä¤´_¤¦, µÞ¤´_¤¦ */ ya _ /* ¶Ä¤®¤ã */ g5i _ ¤® /* ¶Ä¤®_¤Þ¤¹ */ g5ir _ ¤® /* µÞ¤®_¤Þ¤¹,µÞ¤® */ /* ¤µ¹Ô5ÃÊ */ s5 a ¤µ /* ÊÖ¤µ_¤Ê¤¤,°Ü¤µ_¤Ê¤¤ */ u ¤¹ /* ÊÖ¤¹_¤È¤­,°Ü¤¹_¤È¤­ */ e ¤» /* ÊÖ¤», °Ü¤»_¤Ð */ o ¤½ /* ÊÖ¤½_¤¦, °Ü¤½_¤¦ */ ya _ /* ÊÖ¤·¤ã */ s5i _ ¤· /* ÊÖ¤·_¤Þ¤¹ */ s5ir _ ¤· /* °Ü¤·_¤Þ¤¹,°Ü¤· */ /* ¤¿¹Ô5ÃÊ */ t5 a ¤¿ /* À䤿_¤Ê¤¤,ÂǤ¿_¤Ê¤¤ */ u ¤Ä /* Àä¤Ä_¤È¤­,ÂǤÄ_¤È¤­ */ e ¤Æ /* À䤯, ÂǤÆ_¤Ð */ o ¤È /* Àä¤È_¤¦, ÂǤÈ_¤¦ */ ya _ /* Àä¤Á¤ã,ÂǤÁ¤ã */ t5i _ ¤Á /* Àä¤Á_¤Þ¤¹ */ t5ir _ ¤Á /* ÂǤÁ_¤Þ¤¹,ÂǤÁ */ t5tO _ ¤Ã /* Àä¤Ã_¤¿¤é,ÂǤÃ_¤¿ */ /* ¤Ê¹Ô5ÃÊ */ n5 a ¤Ê /* »à¤Ê_¤Ê¤¤ */ i ¤Ë /* »à¤Ë_¤Þ¤¹ */ nO ¤ó /* »à¤ó_¤À¤é */ u ¤Ì /* »à¤Ì_¤È¤­ */ e ¤Í /* »à¤Í */ o ¤Î /* »à¤Î_¤¦ */ ya _ /* »à¤Ë¤ã */ /* ¤Ð¹Ô5ÃÊ */ b5 a ¤Ð /* ž¤Ð_¤Ê¤¤,Í·¤Ð_¤Ê¤¤ */ nO ¤ó /* ž¤ó_¤À¤é,Í·¤ó_¤À¤é */ u ¤Ö /* ž¤Ö_¤È¤­,Í·¤Ö_¤È¤­ */ e ¤Ù /* ž¤Ù, Í·¤Ù_¤Ð */ o ¤Ü /* ž¤Ü_¤¦, Í·¤Ü_¤¦ */ ya _ /* ž¤Ó¤ã¡¢Í·¤Ó¤ã */ b5i _ ¤Ó /* ž¤Ó_¤Þ¤¹ */ b5ir _ ¤Ó /* Í·¤Ó_¤Þ¤¹,Í·¤Ó */ /* ¤Þ¹Ô5ÃÊ */ m5 a ¤Þ /* ½»¤Þ_¤Ê¤¤,ÊÔ¤Þ_¤Ê¤¤ */ nO ¤ó /* ½»¤ó_¤À¤é,ÊÔ¤ó_¤À¤é */ u ¤à /* ½»¤à_¤È¤­,ÊÔ¤à_¤È¤­ */ e ¤á /* ½»¤á, ÊÔ¤á_¤Ð */ o ¤â /* ½»¤â_¤¦, ÊÔ¤â_¤¦ */ ya _ /* ½»¤ß¤ã¡¢ÊԤߤã */ m5i _ ¤ß /* ½»¤ß_¤Þ¤¹ */ m5ir _ ¤ß /* ÊÔ¤ß_¤Þ¤¹,ÊÔ¤ß */ /* ¤é¹Ô5ÃÊ */ r5 tO ¤Ã /* º¤¤Ã_¤¿¤é,¼Õ¤Ã_¤¿¤é */ u ¤ë /* º¤¤ë_¤È¤­,¼Õ¤ë_¤È¤­ */ e ¤ì /* º¤¤ì, ¼Õ¤ì */ o ¤í /* º¤¤í_¤¦, ¼Õ¤í_¤¦ */ ya _ /* º¤¤ê¤ã¡¢¼Õ¤ê¤ã */ r5a _ ¤é /* º¤¤é_¤Ê¤¤,¼Õ¤é_¤Ê¤¤,¡ß¤¢¤é¤Ê¤¤ */ r5nO _ _ /* º¤¤ó_¤Ê¤¤,¼Õ¤ó_¤Ê¤¤,¡ß¤¢¤ó¤Ê¤¤ */ r5i _ ¤ê /* º¤¤ê_¤Þ¤¹ */ r5ir _ ¤ê /* ¼Õ¤ê_¤Þ¤¹,¼Õ¤ê */ /* ¥é¹Ô5ÃÊ */ l5 a ¤é /* ¤¤¤é¤Ã¤·¤ã¤é_¤Ê¤¤ */ i ¤ê /* ¤¤¤é¤Ã¤·¤ã¤ê_¤Þ¤¹ */ tO ¤Ã /* ¤¤¤é¤Ã¤·¤ã¤Ã_¤¿¤é */ u ¤ë /* ¤¤¤é¤Ã¤·¤ã¤ë¤È¤­ */ e ¤ì /* ¤¤¤é¤Ã¤·¤ã¤ì_¤Ð */ iL ¤¤ /* ¤¤¤é¤Ã¤·¤ã¤¤ */ o ¤í /* ¤¤¤é¤Ã¤·¤ã¤í_¤¦ */ /* ¤ï¹Ô5ÃÊ */ w5 tO ¤Ã /* ¸À¤Ã_¤¿¤é,°·¤Ã_¤¿¤é */ u ¤¦ /* ¸À¤¦_¤È¤­,°·¤¦_¤È¤­ */ e ¤¨ /* ¸À¤¨, °·¤¨_¤Ð */ o ¤ª /* ¸À¤ª_¤¦, °·¤ª_¤¦ */ ya _ /* ¸À¤ä */ w5a _ ¤ï /* ¸À¤ï_¤Ê¤¤,°·¤ï_¤Ê¤¤ */ w5i _ ¤¤ /* ¸À¤¤_¤Þ¤¹ */ w5ir _ ¤¤ /* °·¤¤_¤Þ¤¹,°·¤¤ */ /* ¤ï¹Ô5ÃÊ ¸ð¤¦ */ u5 a ¤ï /* ¸ð¤ï_¤Ê¤¤,Ìä¤ï_¤Ê¤¤ */ uO ¤¦ /* ¸ð¤¦_¤¿¤é,Ì䤦_¤¿¤é */ u ¤¦ /* ¸ð¤¦_¤È¤­,Ì䤦_¤È¤­ */ e ¤¨ /* ¸ð¤¨, Ì䤨_¤Ð */ o ¤ª /* ¸ð¤ª_¤¦, Ì䤪_¤¦ */ ya _ /* ¸ð¤ä */ u5i _ ¤¤ /* ¸ð¤¤_¤Þ¤¹ */ u5ir _ ¤¤ /* Ì䤤_¤Þ¤¹,Ì䤤 */ /* ¾å²¼1ÃÊ(Ï¢ÍÑ·Á¤¬Ì¾»ì¤Î»þ¤Î¸ìÈø¤ò¶¦Í­¤¹¤ë) */ ks ru ¤ë /* ¹ß¤ê¤ë_¤È¤­,À¸¤­¤ë_¤È¤­ */ re ¤ì /* ¹ß¤ê¤ì_¤Ð, À¸¤­¤ì_¤Ð */ ro ¤í /* ¹ß¤ê¤í, À¸¤­¤í */ ya _ /* ¹ß¤ê¤ê¤ã¡¢À¸¤­¤ê¤ã */ ksyo _ ¤è /* ¹ß¤ê¤è, À¸¤­¤è */ /* ¥«ÊѳèÍÑ */ kx o ¤³ /* Íè_¤Ê¤¤ */ i ¤­ /* Íè_¤Þ¤¹ */ uru ¤¯¤ë /* Íè¤ë_¤È¤­ */ ure ¤¯¤ì /* Íè¤ì_¤Ð */ oi ¤³¤¤ /* Í褤 */ ya _ /* Íè¤ê¤ã */ /* ¥µÊѳèÍÑ */ sx a ¤µ /* ´Ø¤µ_¤ì¤ë(o ½èÍý¤µ¤ì¤ë X ±¿Æ°¤µ¤ì¤ë) */ i ¤· /* ´Ø¤·_¤Ê¤¤ */ e ¤» /* ´Ø¤»_¤Ì */ uru ¤¹¤ë /* ´Ø¤¹¤ë_¤È¤­ */ ure ¤¹¤ì /* ´Ø¤¹¤ì_¤Ð */ eyo ¤»¤è /* ´Ø¤»¤è */ iro ¤·¤í /* ´Ø¤·? */ ya _ /* ´Ø¤¹¤ê¤ã */ sxu1 _ ¤¹ /* ´Ø¤¹_¤Ù¤­ */ sxu2 _ ¤¹ /* ½èÍý¤¹_¤Ù¤­ */ gatera _ ¤¬¤Æ¤é /* ³Îǧ_¤¬¤Æ¤é */ /* ¥¶ÊѳèÍÑ */ zx i ¤¸ /* ´¶¤¸_¤Ê¤¤ */ e ¤¼ /* ´¶¤¼_¤Ì */ uru ¤º¤ë /* ´¶¤º¤ë_¤È¤­ */ u ¤º /* ´¶¤º */ iru ¤¸¤ë /* ´¶¤¸¤ë */ ure ¤º¤ì /* ´¶¤º¤ì_¤Ð */ eyo ¤¼¤è /* ´¶¤¼¤è */ iro ¤¸¤í /* ´¶¤¸¤í */ ya _ /* ´¶¤º¤ê¤ã */ /* ¥ó¥¶ÊѳèÍÑ */ nzx _ ¤ó /* ½Å¤ó¤º¤ë */ /* ¤Þ¤¹:ÃúÇ« */ mas en ¤Þ¤»¤ó ho ¤Þ¤·¤ç i ¤Þ¤· u ¤Þ¤¹ uru ¤Þ¤¹¤ë ure ¤Þ¤¹¤ì mase _ ¤Þ¤»/¤Þ¤· /* ¤Ç¤¹:ÃÇÄê */ des i ¤Ç¤· u ¤Ç¤¹ desho _ ¤Ç¤·¤ç deshou _ ¤Ç¤·¤ç¤¦ /* ¤¿:²áµî´°Î» */ kt ara ¤¿¤é ari ¤¿¤ê /* Àܳ½õ»ì ? */ aro ¤¿¤í a ¤¿ kte _ ¤Æ kteha _ ¤Æ¤Ï /* Àܳ½õ»ì ? */ ktya _ _ /* ¸ý¸ìŪ */ ktemo _ ¤Æ¤â /* Àܳ½õ»ì ? µÕÀÜ ÍÑ+: */ ktomo _ ¤È¤â /* Àܳ½õ»ì ? µÕÀÜ (·ÁÍÆ+kyku)+: */ kto _ _ /* ¡Ö¸«¤È¤¯¡×¤Î¡Ö¤È¡×¡£¸ý¸ì¡£*/ /* ¤±:²áµî´°Î»µ¿Ìä(¸ý¸ì) */ kke _ _ /* ¡Ö¤½¤¦¤Ç¤·¤¿-¤Ã¤±¡©¡× */ /* ¤À:²áµî´°Î» (¥¤/¥ó²»Êؤ˳¤¯) */ kd ara ¤À¤é ari ¤À¤ê /* Àܳ½õ»ì ? */ aro ¤À¤í e ¤Ç a ¤À eha ¤Ç¤Ï /* Àܳ½õ»ì ? */ ya _ /* ¸ý¸ìŪ */ emo ¤Ç¤â /* Àܳ½õ»ì ? µÕÀÜ ²»ÊØ·Á */ o _ /* ¡ÖÀѤó¤É¤¯¡×¤Î¡Ö¤É¡×¡£¸ý¸ì¡£ */ /* ¤À:ÃÇÄê */ ddar o ¤À¤í /* ·Áư¤Î¸ìÈø¤ò·ó¤Í¤ë ? */ ou ¤À¤í¤¦ ddat _ ¤À¤Ã /* ·Áư¤Î¸ìÈø¤ò·ó¤Í¤ë ? */ ddemo _ ¤Ç¤â /* Àܳ½õ»ì ? */ dda1 _ ¤À /* ·Áư¤Î¸ìÈø¤ò·ó¤Í¤ë ? */ dda2 _ ¤À /* ʸ¾ÏËö¤Ë¤·¤«Àܳ¤·¤Ê¤¤ */ dde1 _ ¤Ç /* ·Áư¤Î¸ìÈø¤ò·ó¤Í¤ë ? */ dde2 _ ¤Ç /* ʸÀáËö¤ËÀܳ¤·¤Ê¤¤ */ dde3 _ ¤Ç /* ¡Ö¤·¤Ê¤¤_¤Ç_¤¯¤ì¡×:¡Ö¤·_¤Æ_¤¯¤ì¡×¤ÈÂбþ */ ddeha _ ¤Ç¤Ï/¤¸¤ã /* Àܳ½õ»ì ? */ djan _ _ /* ¡Ö¤¸¤ã_¤Ê¤¤¡×¤ÈƱ¤¸Á°¸å¤ÎÀܳ */ /* ư»ì·¿ÀÜÈø¸ì³èÍÑ * ·ÁÂÖ¤¬ÊѲ½¤¹¤ëÀÜÈø¸ì¤ò´Þ¤à */ /* 5ÃʳèÍѤÎÀÜÈø¸ì */ buru _ ¤Ö /* Âç¿Í_¤Ö¤ë */ garu _ ¤¬ /* ¹Ô¤­¤¿_¤¬¤ë/´ò¤·_¤¬¤ë */ N2R5 _ _ /* ¥é¹Ô5ÃÊÆ°»ì²½(R5): (̾)+¤Ð¤ë: */ N2K5 _ _ /* ¥«¹Ô5ÃÊÆ°»ì²½(K5): (̾)+¤á¤¯: ½Õ¤á¤¯ */ /* ¾å²¼³èÍѤνõư»ì */ saseru _ ¤µ¤» /* »ÈÌò */ simeru _ ¤·¤á /* »ÈÌò */ sugiru _ ¤¹¤® /* ¹Ô¤­_¤¹¤®¤ë¡¢Î©ÇÉ_¤¹¤®¤ë */ yagaru _ _ /* ư»ì¤Î¸å¤Î¤ß */ seru _ ¤» /* »ÈÌò */ N2KS _ _ /* °ìÃÊÆ°»ì²½(KS): (̾)+ÉÕ(¤Å)¤±¤ë: */ siru _ _ /* »ÈÌò¤ÎÏ¢ÍÑ·Á³èÍѸìÈø¡Ö¤»¡×¤Î¡Ö¤·¡×²»ÊØ¡£¸À¤ï¤·¤Æ */ sasiru _ _ /* »ÈÌò¤ÎÏ¢ÍÑ·Á³èÍѸìÈø¡Ö¤·¡×²»ÊØ¡£¿©¤Ù¤µ¤·¤Æ */ /* ¸ÞÃʳèÍѤνõư»ì */ k5s a ¤µ /* »ÈÌò¡¢¸ÞÃÊ̤Á³¤ËÉÕ¤¯¡£Ê⤫-¤µ-¤Ê¤¤ */ iru _ /* »ÈÌò¡¢¸ÞÃÊ̤Á³¤ËÉÕ¤¯(¸ý¸ì)¡£ Ê⤫-¤·-¤Þ¤¹ */ ere ¤»¤ì /* »ÈÌò¡¢¸ÞÃÊ̤Á³¤ËÉÕ¤¯¡£Ê⤫-¤»¤ì-¤Ð */ o ¤½ /* »ÈÌò¡¢¸ÞÃÊ̤Á³¤ËÉÕ¤¯¡£Ê⤫-¤½-¤¦ */ su _ ¤¹ /* »ÈÌò¤Îʸ¸ì·Á¡¢¸ÞÃʤËÉÕ¤¯¡£Ê⤫-¤¹ */ sasu _ ¤µ¤¹ /* »ÈÌò¤Îʸ¸ì·Á¡¢¸ÞÃʰʳ°¤ËÉÕ¤¯¡£¿©¤Ù-¤µ¤¹ */ nasaru _ ¤Ê¤µ /* º·É */ /* ²Äǽ */ rareru _ ¤é¤ì /* ¼õ/º/¼«/²Ä */ reru _ ¤ì /* ¼õ/º/¼«/²Ä */ dekiru _ ¤Ç¤­ /* ¥µÊÑ̾»ì */ /* Ï¢ÍÑ·Á¤Ë¤Ä¤¯½õ»ì */ ni _ ¤Ë /* Kni ¤ÈÎà»÷¡£naru ¤¬Àܳ¤·¤Ê¤¤ */ /* ¥¢¥¹¥Ú¥¯¥È: ¡Á¤Æ*** */ aru _ ¤¢ aru5a _ ¤é /* ̤Á³·Á¸ìÈø¡£¤¢¤é¤Ì¡¢¤¢¤é¤Ø¤ó(´ØÀ¾ÊÛ,̤Âбþ) */ aru5i _ ¤ê /* Ï¢ÍÑ·Á¸ìÈø¡£¡Ö¤½¤ì¤â ¤¢¤ê_¤À¡×¡ÖÌäÂê ¤¢¤ê_¤Î¡×*/ iru _ ¤¤ oru _ ¤ª kureru _ ¤¯¤ì morau _ ¤â¤é yaru _ ¤ä miru _ ¤ß /* ¤Æ¤ß¤ë¡¢¤·¤Æ¤ß¤ë */ oku _ ¤ª /* ¤Æ¤ª¤¯¡¢¤·¤Æ¤ª¤¯ */ chau _ _ /* ¤Á¤ã¤¦(¤Á¤Þ¤¦) = ¤Æ¤·¤Þ¤¦ */ jau _ _ /* chau ¤¬ g5iO, n5nO ¤Î¸å¤ËÍ褿»þ¤Î·Á */ simau5a _ ¤ï /* chau, jau ¤Î̤Á³·Á */ /* ³Ê½õ»ì¤Ë¤Ä¤¯: */ naru _ ¤Ê /* ¤Ë¤Ê¤ë¡¢¤È¤Ê¤ë */ /* ¡Ö¤è¤ë¡×¤Ï¸ì´´¤È¸ìÈø¤ò°ì³ç¤·¤Æ¤¤¤ë¤Î¤ÇÃí°Õ */ yoru r5tO ¤è¤Ã /* ¤Ë_¤è¤Ã_(¤Æ|¤Æ¤Ï|¤Æ¤â) */ r5u ¤è¤ë /* ¤Ë_¤è¤ë¡¢¤Ë¤è¤ë_¤È */ r5e ¤è¤ì /* ¤Ë_¤è¤ì_¤Ð */ /* ·ÁÍÆ»ì³èÍÑ */ ky kara ¤«¤é /* ¡ÖÈþ¤·¤«¤é¤Ì¡×ʸ¸ìŪ */ karu ¤«¤ë /* ¡ÖÈþ¤·¤«¤ë¤Ù¤­¡×ʸ¸ìŪ */ kare ¤«¤ì /* ¡ÖÈþ¤·¤«¤ì¤É¤â¡×ʸ¸ì */ karo ¤«¤í kat ¤«¤Ã i ¤¤ kere ¤±¤ì kya _ /* ¤­¤ã ¡Ö¤ä¤é¤Ê¤­¤ã¤Ê¤é¤Ê¤¤¡×¤Ê¤É */ kyki _ ¤­ /* ʸ¸ìŪ */ kyku _ ¤¯ /* "¤¯"¤À¤±¤ò»È¤¨¤ë·ÁÍÆÆ°»ì¤Î¤¿¤á¤ËʬΥ */ /* ¥¦²»ÊØ */ kyu _ ¤¦ kylyu _ ¤å¤¦ /* ̾»ì²½ */ kymi _ ¤ß /* ´Å-¤ß¡¢²¹¤«-¤ß¡¢·ÁÍÆÆ°»ì¤Ë¤â¤Ä¤¯ */ /* ʸ¸ìŪ½õư»ìÎà */ be kara ¤Ù¤«¤é ku ¤Ù¤¯ si ¤Ù¤· ki ¤Ù¤­ goto ku ¤´¤È¤¯ si ¤´¤È¤· ki ¤´¤È¤­ /* ·ÁÍÆ»ì·¿³èÍÑ */ rasii _ ¤é¤· /* ¿äÎÌ,(ÂθÀ)+¤é¤·¤¤: */ ppoi _ ¤Ã¤Ý /* (̾,ưÍÑ)+¤Ã¤Ý¤¤: */ /* ¤Ê¤¤:ÈÝÄê */ nai _ ¤Ê nainya _ _ /* ¿©¤Ù_¤Ë¤ã(¤¢) */ nainee _ ¤Ê¤¤ /* ¿©¤Ù_¤Í¤¨: ËÜÍè¤Î·Á¡Ö¤Ê¤¤¡×¤â¤³¤³¤Ë¼ý¤á¤ë¡£ */ naisa _ ¤Ê¤µ /* ¿©¤Ù_¤Ê¤µ¤½¤¦¤À */ /* ÀÜÈø¸ì */ /* ¤¿¤¤,¤¬¤¿¤¤,¤Å¤é¤¤,¤Ë¤¯¤¤,¤ä¤¹¤¤,¤è¤¤ */ /* ·ÁÂÖ¤òÊѤ¨¤ëÀÜÈø¸ì ? */ tai _ ¤¿ tou ¤È yasui _ _ /* D2KY ¤ÈƱ¤¸¤À¤¬ÉÕ°¸ì°·¤¤ */ ND2KY _ _ /* ·ÁÍÆ»ì²½(KY): (̾,ưÍÑ)+¤¬¤Þ¤·¤¤,¶¯(¤Å¤è)¤¤: ²¡¤·ÉÕ¤±¤¬¤Þ¤·¤¤ */ D2KY _ _ /* ·ÁÍÆ»ì²½(KY): (ưϢ)+¤·¤Å¤é¤¤,Æñ(¤¬¤¿)¤¤: */ N2KYT _ _ /* ·ÁÍÆ»ì²½(KYT): (̾)+¹â(¤À¤«)¤¤,Áá(¤Ð¤ä)¤¤: ̾¹â¤¤,¼êÁᤤ */ /* ·ÁÍÆÆ°»ì³èÍÑ: * ¤À¤í ¤À¤Ã ¤À ¤Ç dd * ¤Ê ¤Ë kdn * ¤Ê¤é Snara * ¤Î Kno */ /* T**: (¤Ê¤ê)ÀŤ«¤Ê */ kdn a ¤Ê aru ¤Ê¤ë ara ¤Ê¤é are ¤Ê¤ì i ¤Ë /* [¤Ê]¤ËÀܳ¤¹¤ë¤È¤­[¤Ë]¤Ë¤âÀܳ¤¹¤ë¤È¤¹¤ë?¢ª¤¹¤ë */ /* F**: (¤¿¤ë)Ʋ¡¹¤¿¤ë */ kdto _ ¤È kdt aru ¤¿¤ë are ¤¿¤ì /* ÆÃ¼ì³èÍÑ: * */ N2T10 _ _ /* ·ÁÍÆÆ°»ì²½(T10): (̾)+¤Å¤«¤¤ */ N2T15 _ _ /* ·ÁÍÆÆ°»ì²½(T15): (̾)+¤º¤¯¤á */ N2T16 _ _ /* ·ÁÍÆÆ°»ì²½(T16): (̾)+Ū,¼°,É÷,ή */ N2T18 _ _ /* ·ÁÍÆÆ°»ì²½(T18): (̾)+¤ß¤¿¤¤,¤¬¤Á */ youda _ ¤è¤¦ /* Èæ¶·:¹Ô¤¯_¤è¤¦ */ mitaida _ ¤ß¤¿¤¤ /* Èæ¶·:¹Ô¤¯_¤ß¤¿¤¤ */ ysouda _ ¤½¤¦ /* ÍÍÂÖ:¹Ô¤­_¤½¤¦ */ dsouda _ ¤½¤¦ /* ÅÁʹ:¹Ô¤¯_¤½¤¦ */ zu _ ¤º /* Ï¢ÍÑ·Á¤Ï°ìÈÌŪ(½ª»ß·Á¤Ïʸ¸ì) */ znn _ ¤ó /* ¸ý¸ì(ÃËÀ­) */ z aru ¤¶¤ë /* ʸ¸ì */ nu ¤Ì un ¤º¤ó are ¤¶¤ì ne ¤Í u _ ¤¦ /* °Õ»Ö */ you _ ¤è¤¦ /* °Õ»Ö */ mai _ ¤Þ¤¤ /* ÈÝÄê°Õ»Ö */ tamae _ ¤¿¤Þ¤¨ /* Ì¿Îá */ na _ ¤Ê /* ¤Ê¤Î */ /* k5 ¤¬Àܳ¤¹¤ë¸ý¸ì¤ÎÉÊ»ì:¡Ö¸º¤Ã¤Æ¤¯¡×¤Ê¤É¡£ */ kte2 _ _ /* ¸º¤Ã_¤Æ_¤«¤Ê¤¤ */ /* kte2 ¤ËÀܳ¤¹¤ë k5a:¡ÖÉÕ¤¤¤Æ¤«¤ó¤¬¡×Âкö */ ktek5a _ ¤« /* ¸º¤Ã¤Æ_¤«_¤Ê¤¤ */ /* kto, kdo ¤ËÀܳ¤¹¤ë¸ý¸ì¤ÎÉÊ»ì */ ktok5 a _ /* ¸«¤È¤«_¤Ê¤¤ */ i _ /* ¸«¤È¤­_¤Þ¤·¤ç¤¦ */ iO _ /* ¸«¤È¤¤_¤Æ */ u _ /* ¸«¤È¤¯ */ e _ /* ¸«¤È¤±, ¸«¤È¤±_¤Ð */ o _ /* ¸«¤È¤³_¤¦ */ ya _ /* ¸«¤È¤­¤ã */ nn _ _ /* ¿©¤Ù¤Æ¤ó¤Î,¿©¤Ù¤Æ¤ó¤À */ te _ ¤Æ /* ʸÀáËö¤Î¤ß:¸«¤Æ¤Æ,(·Áư)+¤Ç¤·¤Æ */ /* desu ¤Î²ñÏäǤΤ¯¤À¤±¤¿·Á */ ssu _ _ /* ¤¤¤¤_¤Ã¤¹ */ %% #include "gram.goto" Canna37p3/dic/ideo/grammar/gram.goto0100644000076500001200000007545407735225676016634 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * $Id: gram.goto,v 1.3 2003/09/27 06:18:38 aida_s Exp $ */ /* * gram.goto: Àܳ´Ø·¸ * * $ ¸ì * $+ º¸Â¦¤é±¦Â¦¤ØÀܳ¤¹¤ë¸ì¤òɽ¤¹ * @$ °Ê²¼¤Î¸ì($)¤ÈƱÍͤÊÀܳ¾ðÊó¤ò»ý¤Ä¤³¤È¤òɽ¤¹ * $- Àܳ¤ò¼è¤ê¾Ã¤¹ * * ¸½¾õ * 1. ½ª½õ»ì¤Ï¡¢¸ý¸ìŪ¤Ê¤Î¤Ç¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤È¤·¤ÆÊ̤˻ý¤Ä¤³¤È¤Ë¤·¤¿ * 2. ñ´Á»ú¤Ï¡¢²¿¤âÀܳ¤·¤Ê¤¤¤³¤È¤Ë¤·¤¿ * 3. */ /* ¡Î¤Î¡Ï°Ê³°¤Î³Ê½õ»ì¡¡*/ #define KAKUJOSHI Kkara Kga Kde Kdeno Kto Kni Knite Khe Kmade Kyori Kwo BB+ BB Kto BB+ KJ NN N00 N01 N02 N03 CJ RT KN FKN BB+ T00 T01 T02 T03 T04 T05 T06 T07 T08 T09 BB+ T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 BB+ T20 T21 T22 T23 T24 T25 T26 T27 T28 T29 BB+ T30 T31 T32 T33 T34 T35 T36 T37 T38 T39 BB+ F00 F01 F02 F03 F04 F05 F06 F07 F08 F09 BB+ F10 F11 F12 F13 F14 F15 BB+ KY KYT KYna KYmi KYme KYmime KYU BB+ K5 G5 S5 T5 N5 B5 M5 R5 L5 W5 U5 KS KX SX ZX NZX BB+ K5r C5r G5r S5r T5r B5r M5r R5r W5r U5r KSr /* sugiru dekiru */ BB+ kx sx sxu2 aru iru oru kureru morau yaru miru oku naru yoru BB+ rasii youda mitaida ddat ddemo dda1 dde1 ddar ddeha des desho deshou JS BB+ nainee BB+ PRE CNPRE JNPRE NNPRE SNPRE /* ÀÜÆ¬¸ì */ BB+ N2T10 N2T15 N2T16 N2T18 N2T30 N2T35 K2T15 K2T16 K2T35 /* BB+ N2KS N2K5 N2R5 */ /* ¤Å¤±¡¢¤á¤¯¡¢¤Ð¤ë */ BB+ ND2KY D2KY N2KYT BB+ SUC CNSUC1 CNSUC2 JSSUC JNSUC JNSSUC JNMSUC BB+ CN CNS JN JNS JNM JCN KK BB+ OKX #ifdef BUNMATU BM+ BM #endif YOUGEN+ K5 G5 S5 T5 N5 B5 M5 R5 L5 W5 U5 KS KX SX ZX NZX YOUGEN+ K5r C5r G5r S5r T5r B5r M5r R5r W5r U5r KSr /* sugiru dekiru */ YOUGEN+ kx sx aru iru oru kureru morau yaru miru oku rasii ddat ddemo dda1 dde1 ddar ddeha djan des desho deshou ssu YOUGEN+ KY KYna KYT KYmi KYme KYmime TAIGEN+ T00 T01 T02 T03 T04 T05 T06 T07 T08 T09 TAIGEN+ T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 TAIGEN+ T20 T21 T22 T23 T24 T25 T26 T27 T28 T29 TAIGEN+ T30 T31 T32 T33 T34 T35 T36 T37 T38 T39 TAIGEN+ F00 F01 F02 F03 F04 F05 F06 F07 F08 F09 TAIGEN+ F10 F11 F12 F13 F14 F15 KAKUJS+ KAKUJOSHI Kno /*=================== ¼«Î©¸ìÎà ===================*/ KJ+ BB /******************** ÂθÀÎà ********************/ /* ̾»ì¡¢¥µÊÑ̾»ì¡¢·ÁÍÆÆ°»ì¡¢Éû»ì * ÂθÀ°ìÈÌ T** * Éû»ìÎà F** * * ÌäÂêÅÀ * kdna kdni ³èÍѸìÈø ¤Ê¡¢¤Ë * dd ÃÇÄê¤Î½õư»ì [¤À] ¤Î³èÍѸìÈø¤Î ddar(¤À¤í)¡¤dde(¤Ç)¡¤ * ddat(¤À¤Ã)¡¢dda(¤À)¤Ï¤è¤¤¤¬ * ¤Ç¤Ï/¤¸¤ã¡¢¤Ç¤â ¤Ï ½õư»ì¸ìÈø¤«Àܳ½õ»ì¤« */ #define T_NA Fdatte kdn ddat ddemo dda2 dde1 ddar ddeha djan sugiru mitaida ysouda /* ·ÁÍÆÆ°»ì¤Î³èÍѸìÈø */ #define T_SA K2T15 K2T16 K2T35 /* [¤µ]¤¬Àܳ */ #define T_SURU Ssae Skoso sx sxu2 dekiru gatera nasaru /* [¤¹¤ë]¤¬Àܳ */ #define COMMON_GOKAN /* T_GOKAN ¤È F_GOKAN ¤Î¶¦ÄÌÉôʬ */ \ BB Zkai Zkasira Zkana Zsa Zne Znee Zyo\ Fmade \ Fka Fkoso Fsae Fsika Fsura Fdano Fttara Ftte\ Ftoka Ftote Ftomo Fdokoro Fnagara Fnaradeha Fnari Fnomi\ Fha Fbakari Fmo Fya Fyara Fyue Fnazo Fdatte Fttatte FKN Snara\ rasii ppoi ddat ddemo dde1 ddar ddeha djan des desho deshou ssu mitaida buru na\ N2T10 N2T15 N2T16 N2T18 N2T30 N2KS N2K5 N2R5 N2KYT ND2KY SUC #define T_GOKAN COMMON_GOKAN dda1 JTNO T00+ T_NA T00+ T_SA T00+ T_SURU T00+ T_GOKAN T00+ KAKUJOSHI Kno T00- Kde T01+ T_NA T01+ T_SA T01+ T_SURU T01+ T_GOKAN T01+ Kno T02+ T_NA T02+ T_SA T02+ T_SURU T02+ T_GOKAN T03+ T_NA T03+ T_SA T03+ T_SURU T03+ Kno T04+ T_NA T04+ T_SA T04+ T_SURU T05+ T_NA T05+ T_SA T05+ T_GOKAN T05+ KAKUJOSHI Kno T05- Kde T06+ T_NA T06+ T_SA T06+ T_GOKAN T06+ Kno T07+ T_NA T07+ T_SA T07+ T_GOKAN T08+ T_NA T08+ T_SA T08+ Kno T09+ T_NA T09+ T_SA T10+ T_NA T10+ T_SURU T10+ T_GOKAN T10+ KAKUJOSHI Kno T10- Kde T11+ T_NA T11+ T_SURU T11+ T_GOKAN T11+ Kno T12+ T_NA T12+ T_SURU T12+ T_GOKAN T13+ T_NA T13+ T_SURU T13+ Kno T14+ T_NA T14+ T_SURU T15+ T_NA T15+ T_GOKAN T15+ KAKUJOSHI Kno T15- Kde T16+ T_NA T16+ T_GOKAN T16+ Kno T17+ T_NA T17+ T_GOKAN T18+ T_NA T18+ Kno T19+ T_NA T20+ T_SA T20+ T_SURU T20+ T_GOKAN T20+ KAKUJOSHI Kno T20- Kde T21+ T_SA T21+ T_SURU T21+ T_GOKAN T21+ Kno T22+ T_SA T22+ T_SURU T22+ T_GOKAN T23+ T_SA T23+ T_SURU T23+ Kno T24+ T_SA T24+ T_SURU T25+ T_SA T25+ T_GOKAN T25+ KAKUJOSHI Kno T25- Kde T26+ T_SA T26+ T_GOKAN T26+ Kno T27+ T_SA T27+ T_GOKAN T28+ T_SA T28+ Kno T29+ T_SA T30+ T_SURU T30+ T_GOKAN T30+ KAKUJOSHI Kno T30- Kde T31+ T_SURU T31+ T_GOKAN T31+ Kno T32+ T_SURU T32+ T_GOKAN T33+ T_SURU T33+ Kno T34+ T_SURU T35+ T_GOKAN T35+ KAKUJOSHI Kno Fzutu /* ¾¯¤·¤º¤Ä¡¢°ì¸Ä¤º¤Ä */ T35- Kde T36+ T_GOKAN T36+ Kno T37+ T_GOKAN T38+ Kno T39+ BB /* ¸Çͭ̾»ì */ KK+ @T35 NN+ @T35 /* NN */ CN JN SX ZX NZX JS JNS JNM N00+ BB N01 N02 N03 NN JS N01+ BB N00 N02 N03 NN JS N02+ BB N00 N03 NN JS N03+ BB N00 NN JS CN+ @T35 CNSUC1 CNSUC2 CN- SUC CNS+ @CN CNS- CNSUC1 JN+ @T35 JNSUC JN- SUC JNS+ @JN JNSSUC /* JNM */ JNM+ @JN JNMSUC JCN+ @JNS @CN #define F_TARU kdt /* [¤¿¤ë]¤ËÀܳ */ #define F_TO kdto /* [¤È]¤ËÀܳ */ #define F_SURU Ssae sx sxu2 dekiru nasaru #define F_GOKAN COMMON_GOKAN dda2 ysouda F00+ F_TARU F00+ F_TO F00+ F_SURU F00+ F_GOKAN F01+ F_TARU F01+ F_TO F01+ F_SURU F02+ F_TARU F02+ F_TO F02+ F_GOKAN F03+ F_TARU F03+ F_TO F04+ F_TO F04+ F_SURU F04+ F_GOKAN F05+ F_TO F05+ F_SURU F06+ F_TO F06+ F_GOKAN F07+ F_TO F08+ F_TARU F08+ F_SURU F08+ F_GOKAN F09+ F_TARU F09+ F_SURU F10+ F_TARU F10+ F_GOKAN F11+ F_TARU F12+ F_SURU F12+ F_GOKAN F13+ F_SURU F14+ F_GOKAN F15+ BB /******************** ·ÁÍÆ»ì ********************/ KY+ sugiru ky kyki kyku ysouda K2T16 K2T35 KYT+ @KY @T35 /* ·ÁÍÆ»ì,̾»ì¤Î·Á¤ò»ý¤Ä¤â¤Î Äɲà */ KYna+ @KY kdn KYmi+ @KY kymi KYme+ @KY K2T15 KYmime+ @KY kymi K2T15 KYU+ BB /******************** ¤½¤Î¾ (Àܳ»ì¡¤´¶Æ°»ì¡¤Ï¢¸ì¡¤Ï¢Âλì¤Ê¤É) ********************/ CJ+ BB /*ddat ddemo dde1 ddar ddeha djan des desho deshou*/ RT+ BB KN FKN KJ SX ZX NZX PRE NNPRE CNPRE JNPRE RT+ T00 T01 T02 T03 T04 T05 T06 T07 T08 T09 RT+ T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 RT+ T20 T21 T22 T23 T24 T25 T26 T27 T28 T29 RT+ T30 T31 T32 T33 T34 T35 T36 T37 T38 T39 RT+ F00 F01 F02 F03 F04 F05 F06 F07 F08 F09 RT+ F10 F11 F12 F13 F14 F15 /********* ư»ì¤ÎÃúǫɽ¸½¤Î¸ì´´ (¡Ö¤ªÊ¹¤­¡×) *******/ OKX+ BB OKX+ sx sxu2 dekiru OKX+ Kde Kno Kni OKX+ Zkai Zkasira Zkana Zsa Zne Zyo OKX+ Fka Fsura Fdano OKX+ Ftono Fha Fya JTNO Sto Stoka Stote Snara Ssae Skoso OKX+ nasaru rasii ddat ddemo dda2 dde1 ddar ddeha djan des desho deshou /******************** ·Á¼°Ì¾»ì ********************/ JTNO+ @T35 JTNO+ Zka Zkai Zkasira Zkana Zsa Zne Zyo JTNO- BB Kde Kdeno Kno JTNO Fzutu JTNO- N2T10 N2T15 N2T16 N2T18 N2T30 N2KS N2K5 N2R5 N2KYT ND2KY SUC JTNN+ @JTNO JTNN- Fttara Ftte Fdano ddemo Kto KN+ @T35 KN- SUC FKN+ @T35 FKN- SUC /* TKN: ¡Á¤Ê(¤ï¤±|¤Ï¤º) */ TKN+ BB Zka Zkai Zkasira Zkana Zsa Zne Znee Zyo TKN+ Ftoka Fdokoro Fnari Fha Fmo Snara Stte TKN+ rasii ppoi ddat ddemo dda1 dde1 ddar ddeha djan des desho deshou ssu mitaida na /******************** ư»ì ********************/ /*¾å²¼°ìÃÊÆ°»ì³èÍÑ: Ï¢ÍÑ·Á¤¬Ì¾»ì¤Ë¤Ê¤ë¤â¤Î¤òÄɲÃ(Ï¢ÍÑ·Á¤ÎÀܳ¤¬°Û¤Ê¤ë¤À¤±) */ KS+ BB ks ksyo KS+ Fsura Fha Fya Fmo KS+ Stutu Snagara Ssae Skoso sasu sasiru KS+ Zna KS+ mas saseru sugiru yagaru nasaru rareru chau KS+ nai nainya nainee naisa tai yasui ysouda zu znn z you mai KS+ tamae D2T35 D2T16 KS+ kt kte kte2 kteha ktya ktemo kto gatera KS+ ni /* KS- ktemo */ KSr+ @KS @T35 KSr- N2T35 SUC /* ¾å²¼°ìÃÊÆ°»ì¤Î³èÍѸìÈø: ̤Á³·Á¡¤Ï¢ÍÑ·Á¤Î³èÍѸìÈø¤Ï¤Ê¤¯¸ì´´¤Î¤ß * ¸ì´´¤¬Ï¢ÍÑ·Á¤Î¤â¤Î¤Î³èÍѸìÈø¤ò¶¦Í­¤¹¤ë */ ksru+ BB Kni JTNO JTNN KN FKN Kyori ksru+ Fga Fkoso Fsae Fsika Fsura Fdano Fdeha Fdemo Fto Ftoka Ftono Fnazo ksru+ Fnomi Fha Fbakari Fmade Fya Fyara Fyue Fmo /* ¤È¤³¤í¤Ï¡¢¤Ï¤º¤¹ */ ksru+ Fttatte ksru+ Ska Skara Snode Sga Skuseni Skeredo Ssi Stte /*Stokoro*/ Stomo Stote ksru+ Sdokoro Snara Snagara Snari Sniha Smono ksru+ rasii youda mitaida dsouda mai be goto des desho deshou ssu ddar ddeha djan ksru+ Zkai Zkasira Zkana Zsa Zze Zzo Ztomo Zna Znaa Zne Znee Zno ksru+ Zya Zyo Zyona Zwa /* Zka */ ksru+ Zmono ksre+ Sdomo Sba ksro+ BB Fdano Ftono Fnazo Fyara ksro+ Stte Sto Stoka Stomo Stote Sdokoro ksro+ Zi Zyo Zyona ksyo+ BB Fdano Ftono Fyara ksyo+ Stte Sto Stoka Stomo Stote Sdokoro ksya+ BB Zsa Zna Znaa Zne Znee /* 5ÃʳèÍѸ촴: Ï¢ÍÑ·Á¤¬Ì¾»ì¤Ë¤Ê¤ë¤â¤Î¤òÄɲÃ(Ï¢ÍÑ·Á¤ÎÀܳ¤¬°Û¤Ê¤ë¤À¤±) */ K5+ k5 k5a k5i G5+ g5 g5i S5+ s5 s5i T5+ t5 t5i t5tO N5+ n5 B5+ b5 b5i M5+ m5 m5i R5+ r5 r5a r5nO r5i L5+ l5 W5+ w5 w5a w5i U5+ u5 u5i KX+ kx SX+ sx sxu1 ZX+ zx NZX+ nzx K5r+ k5 k5a k5ir C5r+ k5 k5a k5ir t5tO G5r+ g5 g5ir S5r+ s5 s5ir T5r+ t5 t5ir t5tO B5r+ b5 b5ir M5r+ m5 m5ir R5r+ r5 r5a r5nO r5ir W5r+ w5 w5a w5ir U5r+ u5 u5ir /* 5ÃʸìÈø¤Î³èÍÑ */ k5a+ saseru seru reru simeru nai nainya nainee naisa zu znn z su sasu sasiru /* ̤Á³¤ËÉÕ¤¯½õư»ì */ k5a+ k5s k5o+ u k5i+ BB k5i+ K5 G5 S5 T5 N5 B5 M5 R5 L5 W5 U5 KS k5i+ K5r C5r G5r S5r T5r B5r M5r R5r W5r U5r KSr k5i+ Fkiri Fmo Fha Fya Fsura k5i+ Stutu Snagara Ssae Skoso k5i+ Zna k5i+ nasaru tai yasui you ysouda mas sugiru yagaru tamae k5i+ N2T18 ND2KY D2KY D2T35 D2T16 k5i+ gatera k5i+ ni #ifdef NO_OKX /* ÀÜÆ¬¸ì¡Ö¤ª¡×¤ËÏ¢ÍÑ·Á¤¬ÉÕ¤¯»þ¡£ #OKX ¤¬¤Ç¤­¤¿¤Î¤ÇÉÔÍ× */ k5i+ Kni k5i+ Fga Fsika Fdano Ftono Fbakari Fmade Fyara k5i+ Ska Skara Stte Sto Stoka Stote Snara Sniha k5i+ nasaru rasii des desho deshou ddat ddemo dda2 dde1 na #endif k5iO+ kt kte kte2 kteha ktya ktemo kto chau k5u+ @ksru k5e+ @ksre @ksro @KS /* Ì¿Îá·Á¤Ï°ìÃÊÆ°»ì¤È¤Ê¤ë */ k5e- Kni ni Snagara sasu sasiru saseru rareru tai yasui tamae Zi k5ir+ @k5i @T35 N2KYT k5ir- SUC k5ya+ BB g5a+ @k5a g5o+ @k5o g5i+ @k5i g5iO+ kd jau g5u+ @ksru g5e+ @k5e g5ir+ @g5i @T35 g5ir- SUC g5ya+ @k5ya s5a+ @k5a s5o+ @k5o s5i+ @k5i @k5iO s5u+ @k5u s5e+ @k5e s5ir+ @s5i @T35 s5ir- SUC s5ya+ @k5ya t5a+ @k5a t5o+ @k5o t5i+ @k5i t5tO+ @k5iO t5u+ @k5u t5e+ @k5e t5ir+ @t5i @T35 t5ir- SUC t5ya+ @k5ya n5a+ @k5a n5o+ @k5o n5i+ @k5i n5nO+ @g5iO n5u+ @k5u n5e+ @k5e n5ya+ @k5ya b5a+ @k5a b5o+ @k5o b5i+ @k5i b5nO+ @g5iO b5u+ @k5u b5e+ @k5e b5ir+ @b5i @T35 b5ir- SUC b5ya+ @k5ya m5a+ @k5a m5o+ @k5o m5i+ @k5i m5nO+ @g5iO m5u+ @k5u m5e+ @k5e m5ir+ @m5i @T35 m5ir- SUC m5ya+ @k5ya r5a+ @k5a r5nO+ nai nainee r5o+ @k5o r5i+ @k5i r5tO+ @k5iO r5u+ @k5u r5e+ @k5e r5ir+ @r5i @T35 r5ir- SUC r5ya+ @k5ya l5a+ @k5a l5o+ @k5o l5i+ @k5i l5i- Zna /* ¡Ö¤·¤Ê¤µ¤ê¤Ê¡×¤Ç¤Ï¤Ê¤¯¡Ö¤·¤Ê¤µ¤¤¤Ê¡× */ l5tO+ @k5iO l5u+ @k5u l5e+ @k5e l5iL+ BB mas mase /* Ãúǫɽ¸½ */ l5iL+ Zne Zna Zyo w5a+ @k5a w5o+ @k5o w5i+ @k5i w5tO+ @k5iO w5u+ @k5u w5e+ @k5e w5ir+ @w5i @T35 w5ir- SUC w5ya+ @k5ya u5a+ @k5a u5o+ @k5o u5i+ @k5i u5uO+ @k5iO u5u+ @k5u u5e+ @k5e u5ir+ @u5i @T35 u5ir- SUC u5ya+ @k5ya /* ¥«¹ÔÊѳʳèÍÑ */ kxo+ saseru rareru nai nainya nainee naisa zu znn z mai you sasu sasiru kxi+ Fnagara Fha Fmo Fya kxi+ Stutu Snagara Ssae nasaru kxi+ Zna kxi+ tai yasui ysouda mas kt kte kteha ktya ktemo chau sugiru yagaru tamae kxi+ ND2KY N2KYT kxuru+ @k5u /*kxure+ @k5e*/ kxure+ @ksre kxoi+ BB Fdano Ftono Stte Sto Stoka Stomo Stote Sdokoro kxoi+ Zna Znaa Zya Zyo Zyona /* ²ñÏÃŪ */ kxya+ @k5ya /* ¤µ/¤¶/¤ó¤¶¹ÔÊѳʳèÍÑ */ sxi+ BB Kto sxi+ Fkoso Fsika Fsura Fdano Fdeha Fdemo Ftoka sxi+ Fnomi Fha Fbakari Fmade Fmo Fya Fyara sxi+ Stutu Snagara Ssae sxi+ Zna sxi+ ysouda tai yasui nai nainee naisa mai mas sugiru yagaru nasaru chau you tamae ND2KY N2KYT sxi+ kt kte kte2 kteha ktya ktemo kto sxi+ gatera sxi+ ni sxa+ seru reru siru sxe+ zu znn z rareru nainya sxuru+ @k5u sxure+ Sdomo Sba sxeyo+ BB Fdano Fnazo Ftono Sto Stoka Stomo Stote sxiro+ BB Fdano Fnazo Fbakari Ftono Stte Sto Stoka Stomo Stote sxiro+ Zi Zyo Zyona sxu2+ be nn sxu1+ BB Ftono Sto Stomo Stote be sxya+ @k5ya gatera+ BB Kno zxi+ @KS zxe+ @sxe zxuru+ @sxuru zxu+ @sxuru zxiru+ @sxuru zxure+ @sxure zxeyo+ @sxeyo zxiro+ @sxiro zxya+ @k5ya nzx+ zx /* ư»ì·¿ÀÜÈø¸ì³èÍÑ */ buru+ @R5 garu+ @R5r sugiru+ BB Fka you des desho deshou ddat ddemo dda1 dde1 ddar ddeha djan nai nainya nainee mas ks zu znn z na sugiru+ kt kte kteha ktya ktemo yagaru+ BB r5 /* r5i, r5ir ¤Ï¤ï¤¶¤ÈÆþ¤ì¤Æ¤Ê¤¤ */ /* ²Äǽ¤Î½õư»ì */ rareru+ @KS rareru- rareru reru+ @rareru dekiru+ @rareru dekiru- Zna nasaru ksyo /* ²Äǽ¤ÎÌ¿Îá: ËÜÅö¤Ï ksro ¤âºï¤ê¤¿¤¤*/ seru+ @rareru rareru saseru+ @rareru rareru simeru+ @rareru rareru siru+ @k5iO sasiru+ @k5iO k5sa+ reru simeru nai nainya nainee zu z su siru /* ̤Á³¤ËÉÕ¤¯½õư»ì */ k5siru+ kt kte kte2 kteha ktya ktemo k5siru+ Stutu Snagara k5siru+ tai yasui ysouda mas sugiru k5siru+ N2T18 ND2KY D2KY D2T35 D2T16 k5sere+ @ksre @ksro @KS /* Ì¿Îá·Á¤Ï°ìÃÊÆ°»ì¤È¤Ê¤ë */ k5so+ u su+ @ksru sasu+ @ksru nasaru+ @L5 /* ¥¢¥¹¥Ú¥¯¥È */ aru+ r5 aru5a aru5i aru5a+ seru reru simeru zu znn z aru5i+ @r5i Kno Sto Stomo ddar ddat ddemo dda2 dde1 ddeha djan iru+ ks ksyo saseru rareru tai ysouda mas nai naisa zu znn z you mai sugiru nasaru tamae iru+ kt kte kteha ktya ktemo iru+ Zna oru+ @R5 kureru+ BB ks Fto Stte Zi Zya Zyo Zyona kureru+ saseru rareru sugiru nasaru kureru+ tai yasui ysouda mas nai nainya nainee naisa zu znn z you mai tamae kureru+ kt kte kteha ktya ktemo morau+ @W5 yaru+ @R5 miru+ @KS oku+ @K5 chau+ w5 simau5a w5i jau+ @chau simau5a+ nai nainya nainee naisa zu naru+ @R5 yorur5tO+ kte kteha ktemo yorur5u+ BB Fto yorur5e+ Sba /* ·ÁÍÆ»ì³èÍѸìÈø */ kykara+ zu znn z kykaru+ be kykare+ BB Sba Sdomo Sto kykaro+ u kyku+ BB @k5iO sx sxu2 dekiru naru yoru nai nainee naisa kyku+ Fsura Fnazo Fha Fmo Fttatte kyku+ Stte kyku+ ktomo kyku- tai yasui mas kyku- kt kto kykat+ kt kyi+ @k5u /*Kde Kdeno*/ ddeha djan Ztto kyi- mai kykere+ Sdomo Sba kykya+ Zsa Zna Znaa Zne Znee kykya+ BB kyki+ BB Kwo Kni /* ʸ¸ì¤Ç¤ÎÏ¢ÂηÁ */ /* ÃúÇ«¤Î¤¦²»ÊØ */ kyu+ L5 kylyu+ @kyu /* ·ÁÍÆ»ì¤Î¸ì´´¤Ë¤Ä¤¤¤ÆÌ¾»ì²½ */ kymi+ @T35 kymi- SUC nai+ ky kyku nai+ ysouda nainya+ BB Zna Znaa Znee Znee nainee+ @kyi dde3 nainee- Fsura Zne Znee naisa+ ysouda sugiru /* ¡Á¤Ê¤µ¤ë ¤Ï¡¢Æ°»ì¤È¤·¤ÆÂн褹¤ë¤³¤È¤Ë¤¹¤ë */ /* ·ÁÍÆ»ì·¿³èÍѽõư»ì */ rasii+ K2T16 K2T35 ysouda sugiru ky kyku kyki ppoi+ K2T35 ysouda sugiru ky kyku kyki tai+ K2T16 K2T35 ysouda garu sugiru ky kyku /* ʸ¸ìŪ¤Ê¤¿¤á tai- kyki ¤ò¤Ï¤º¤¹*/ taitou+ u yasui+ K2T15 @tai /* ·ÁÍÆÆ°»ì³èÍѸìÈø */ kdna+ BB KN TKN FKN goto youda kdna+ Smono Stomo kdna+ JTNO Zno kdnaru+ BB kdnara+ zu znn z kdnare+ BB @ksre kdni+ BB Fto Fkoso Fsika Fsura Fdeha Fdemo Fmade Ftoka Fnazo Fha Fmo kdni+ Sdokoro Snari Ssae kdni+ sx sxu2 yoru ddar ddat ddemo naru kdni+ Zkai Zkasira Zsa Zna Zne /* Zka */ kdto+ @kdni kdtaru+ BB Ftote kdtaru+ Skuseni /*Stokoro*/ Stomo Sdokoro Smono /* ¤È¤³¤í¤Ï¡¢¤Ï¤º¤¹ */ kdtaru+ goto be kdtare+ BB Sba /*=================== ÉÕ°¸ìÎà ===================*/ /******************** ÀÜÆ¬¸ì ********************/ PRE+ @TAIGEN CN JN SX ZX NZX JNS JNM CNPRE+ CN JNPRE+ JN JNS JNM NNPRE+ NN N00 N01 N02 N03 SNPRE+ T00 T03 T30 T31 /******************** ÀÜÈø¸ì ********************/ #define SUFFIX \ SUC CNSUC1 CNSUC2 JNSUC JS JSSUC \ N2T10 N2T15 N2T16 N2T18 N2T30 N2T35 D2T35 D2T16 K2T15 K2T16 K2T35 \ N2KS N2K5 N2R5 ND2KY N2KYT D2KY SUC+ @KN @FKN N2T10 N2T15 N2T16 JNSUC CNSUC2 JNSSUC JNMSUC CNSUC1+ @KN @FKN N2T10 N2T15 N2T16 JNSUC CNSUC2 JNSSUC JNMSUC CNSUC2+ @KN @FKN N2T10 N2T15 N2T16 JNSUC CNSUC2 JNSSUC JNMSUC JNSUC+ @KN @FKN N2T10 N2T15 N2T16 CNSUC2 JNSSUC+ @KN @FKN N2T10 N2T15 N2T16 CNSUC2 JNMSUC+ @KN @FKN N2T10 N2T15 N2T16 CNSUC2 JS+ @KN @FKN JSSUC @T35 JSmono JSSUC+ @KN @FKN JSmono JSmono+ BB SUC- SUFFIX CNSUC1- SUFFIX CNSUC2- SUFFIX JNSUC- SUFFIX JS- SUFFIX JS+ JSSUC JSSUC- SUFFIX /* ·ÁÂÖ¤òÊѲ½¤µ¤»¤ëÀÜÈø¸ì: * *2* º¸Â¦¤Ç¤É¤ó¤ÊÉÊ»ì¤ËÀܳ¤¹¤ë¤Î¤«¤ò¡¤ * ±¦Â¦¤Ç¤É¤ó¤ÊÉÊ»ì¤ËÊѤï¤Ã¤¿¤«¤òɽ¤¹ * Îã¸ì¤Ç¤Ï * ̾»ì -> ·ÁÍÆÆ°»ì * ¤Ç¤É¤ó¤Ê¸ì¤ËÀܳ¤¹¤ë¤Î¤«¡¤Àܳ¤·¤¿¸å¤ÎÉÊ»ì¤Çɽ¤ï¤·¤Æ¤¤¤ë¡¥ * ÉÑÅ٤ξ¯¤Ê¤¤¤È»×¤ï¤ì¤ë¥°¥ë¡¼¥×¤Ï¥«¥Ã¥È¤·¤¿¡¥ */ N2T10+ @T10 N2T15+ @T15 N2T16+ @T16 /* ̾»ì -> ·ÁÍÆÆ°»ì²½ */ N2T16- K2T15 K2T35 N2T18+ @T18 /* ̾»ì -> ·ÁÍÆÆ°»ì²½ */ N2T30+ @T30 /* ̾»ì -> ¥µÊÑ̾»ì²½ */ N2T35+ @T35 /* ̾»ì -> ̾»ì²½ */ D2T35+ @T35 /* ư»ìÏ¢ÍÑ·Á -> ̾»ì²½ */ D2T16+ @T16 /* ư»ìÏ¢ÍÑ·Á -> ·ÁÍÆÆ°»ì */ K2T15+ @T15 /* ·ÁÍÆ»ìµÚ¤Ó·ÁÍÆÆ°»ì -> ̾»ì²½ */ K2T16+ @T16 /* ·ÁÍÆ»ìµÚ¤Ó·ÁÍÆÆ°»ì -> ̾»ì²½ */ K2T35+ @T35 /*ysouda*/ /* ·ÁÍÆ»ìµÚ¤Ó·ÁÍÆÆ°»ì -> ̾»ì²½ */ N2KS+ @KS /* ̾»ì -> °ìÃÊÆ°»ì²½ */ N2K5+ @K5 /* ̾»ì -> ¥«¹Ô5ÃÊÆ°»ì²½ */ N2R5+ @R5 /* ̾»ì -> ¥é¹Ô5ÃÊÆ°»ì²½ */ ND2KY+ @KY /* ̾»ìµÚ¤Óư»ìÏ¢ÍÑ·Á -> ·ÁÍÆ»ì²½ */ N2KYT+ @KYT /* ̾»ì -> ̾»ì¡¤·ÁÍÆ»ì²½ */ D2KY+ @KY /* ư»ìÏ¢ÍÑ·Á -> ·ÁÍÆÆ°»ì²½ */ N2T10- SUFFIX N2T15- SUFFIX N2T16- SUFFIX N2T18- SUFFIX N2T30- SUFFIX N2T35- SUFFIX D2T35- SUFFIX D2T16- SUFFIX K2T15- SUFFIX K2T16- SUFFIX K2T35- SUFFIX N2KS- SUFFIX N2K5- SUFFIX N2R5- SUFFIX ND2KY- SUFFIX N2KYT- SUFFIX D2KY- SUFFIX /******************** ½õư»ìÎà ********************/ /* ¤´¤È¤· */ gotoku+ BB Kni Fkoso Fsae Fsika Fsura Fdano Fha Fmo Sto Stomo gotosi+ @ksru Kni gotoki+ BB Kni Kno Fha KN FKN /* ¤Ù¤· */ bekara+ zu znn z beku+ BB Fha Fmo Stote ktomo beki+ BB Kga Sto Stomo ddat ddemo dda1 dde1 ddar ddeha djan des desho deshou na Fka beki+ Zsa Zne Znee Zyo besi+ BB Fsika Fnomi Fbakari Fyara Fdano Ftono besi+ Stomo Sto Stoka Ska Stote /* ¤Ì */ zu+ BB Fdano Fbakari Sto Stoka Stote Skeredo Snagara Ska zu+ ddat ddemo dda2 dde2 ddar N2T18 zu+ Kni zu+ Zkai Zkasira Zkana Zsa Zya zu+ ktomo znu+ BB Kyori Fga Fdano Fnari Fsika Fnomi Fbakari Fkiri Fyara Fya Fmade znu+ Fto Ftoka Ftono Fyue znu+ Stte Ska Sga Ssi Sniha Skara Skeredo Snari Snagara Skuseni znu+ Smono Stote Stomo Sdokoro /*Stokoro*/ /* ¤È¤³¤í¤Ï¡¢¤Ï¤º¤¹ */ znu+ JTNO znu+ goto dsouda ddat ddemo dda1 dde2 ddeha ddar youda mitaida rasii N2T18 znu+ Zkai Zkasira Zkana Zsa Zze Zzo Ztomo Zya Zyo Zyona Zwa zne+ Sdomo Sba /* BB */ zare+ @zne zun+ BB Sba zaru+ BB Kwo Ftono Fyue Sga Sto Stomo Stote znn+ BM Fga Fbakari Ftono Sto Stte Stoka Sga Ssi Skara Skeredo Skuseni znn+ JTNO znn+ dsouda ddeha youda mitaida rasii znn+ Zka Zkai Zkasira Zkana Zsa Zze Zzo Ztomo Zna Znaa Zne Znee Zno znn+ Zya Zyo Zyona Zwa /* ¤Ç¤¹ */ desho+ BB deshou+ BB Fga Ftono Skara Ska Ssi Sto Stte Stoka Stomo Stote Skeredo deshou+ Zni Zka Zze Ztomo Zna Znaa Zne Znee Zyo desi+ kt te desu+ BB Fnari Fsika Fyara Fga Ftoka Ftono desu+ Sto Stte Stomo Stote Ssi Skara Snode Skeredo Sdokoro Smono desu+ Zka Zkai Zkasira Zkana Zsa Zze Zzo Ztomo Zna Znaa Zne Znee Zno Zya Zyo Zyona Zwa desu+ Zmono ssu+ BM Zka Zne Znee Zyo /* ¤Þ¤¹ */ mase+ BB Sto masen+ BB des desho deshou Fga Sto Stte Stoka Ssi Skara Snode Skeredo Stomo Smono JTNO masen+ Zka Zkai Zkasira Zkana Zze Zzo Ztomo Zna Znaa Zne Znee Zno Zya Zyo Zyona Zwa masen+ Zmono masho+ BB u masi+ kt te kteha ktemo masu+ BB Fdano Fsika Fnomi Fbakari Fkiri Fyara Fya /* ¤È¤³¤í¤Ï¡¢¤Ï¤º¤¹ */ masu+ Ska Fga Sto Stte Stoka Ssi Sniha Skara Snode masu+ Skeredo Snari Smono Stomo Sdokoro /*Stokoro*/ Stote masu+ deshou desho mai youda JTNO masu+ Zkai Zkasira Zkana Zsa Zze Zzo Ztomo Zna Znaa Zne Znee Zno Zya Zyo Zyona Zwa /* Zka */ masu+ Zmono masuru+ @masu masuru- desho mai masure+ Sdomo Sba /* ¤¿/¤À */ ktaro+ u kta+ BB Kyori Kni Kde /* ¤Ç¤¿¡Ü¤Ç */ kta+ Fdano Ftoka Ftono Fnari Fsika Fnomi Fbakari Fkiri Fyara Fyue Fmade Fmo kta+ Ska Sga Ssi Skara Snode Skeredo Snari Skuseni Smono Stte kta+ Snara Fga Fto Stomo Stote kta+ ddeha djan dsouda youda mitaida rasii des desho deshou ssu N2T18 JTNO JTNN KN FKN kta+ Zkai Zkasira Zkana Zsa Zze Zzo Zna Znaa Zne Znee Zno Zya Zyo Zyona Zwa kta+ /* Zka */ Zmono Ztto kta+ kke ktara+ BB Sba Sto Zsa Zna Znaa Zne Znee kd ktari+ BB Fsika Fsura Fdano Fto Ftoka Fnazo Fha Fbakari Fmo Ssae Skoso ktari+ sx ddar ddat ddemo dda2 dde1 ddeha djan kte+ BB Kno Kkara Fmade Fsae Fsika Fsura Fnomi Fbakari Fkoso Ska kte+ nai nainee naisa ddat ddemo dda2 dde2 des desho deshou aru iru oru kureru morau yaru miru oku kte+ Zsa Zna Znaa Zne Znee Zya Zyo /* kx ¤Ï¤º¤¹Í½Äê */ kte+ nn te kte+ @iru /* ¿©¤Ù¤Æ¤ë */ kte- zu znn z mai saseru sugiru ksyo /* @iru ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤¿ */ kte- kte /* te ¤¬Àܳ¤¹¤ë¤Î¤ÇÉÔÍ× */ kteha+ BB Sto Zna Znaa Zne Znee ktya+ @kteha ktemo+ BB ktemo+ ddat ddemo dda2 dde2 ddar des desho deshou ktemo+ Zka Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zyo ktomo+ BB kto+ ktok5 kdara+ @ktara kdari+ @ktari kdaro+ @ktaro kda+ @kta kde+ @kte kdeha+ @kteha kdya+ @ktya kdemo+ @ktemo kdo+ @kto /* ¤Ã¤± */ kke+ BB Zna Znaa Zne Znee Zka Zkana Sto Stte /* ¤À */ ddaro+ @desho ddarou+ @deshou Zsa dde1+ BB Fsae Fsika Fsura Fkoso dde1+ Sto Stte Snara dde1+ nai nainee naisa aru des desho deshou dde1+ Zsa Zna Znaa Zne Znee Zno Zyo /* dde2+ Fsae Fsika Fsura Fkoso */ dde2+ nai nainee naisa aru des desho deshou dde3+ BB Kno Fsae Fbakari Fkoso Ska iru kureru morau oku dde3+ Zna Znaa Zne Znee Zyo ddat+ kt dda1+ BB Kto Fga Ftte Ftoka Ska Ssi Skara Skeredo dda1+ dsouda dda1+ Zi Zze Zzo Zna Znaa Zne Znee Zya Zyo Zyona Zwa Zmono Ztto dda1+ kke dda2+ BM Kto Fga Ftte Ftoka Ska Ssi Skara Skeredo dda2+ dsouda dda2+ Zi Zze Zzo Zna Znaa Zne Znee Zya Zyo Zyona Zwa Zmono Ztto dda2+ kke ddeha+ @kteha nai ddeha+ Zne Znee Zsa Znaa Zyo ddemo+ @ktemo Kga nai djan+ BB Zka /* ·ÁÍÆÆ°»ì·¿³èÍѽõư»ì */ youda+ kdn ddat ddemo dda1 dde1 ddar ddeha djan des desho deshou BB Zne Zyo na Snara mitaida+ @youda ysouda+ kdn ddat ddemo dda1 dde1 ddar ddeha djan des desho deshou BM na Fmo ysouda+ Zka Zkai Zkasira Zkana Zsa Zne Znee Zya Zyo Zyona dsouda+ ddat ddemo dda1 dde1 ddar ddeha djan des desho deshou na Zna Zne Znee Zyo /* ¤¦/¤è¤¦/¤Þ¤¤ */ u+ BB KN FKN u+ Fto Ftono Fga Fkoso Fsae Fsura Fdano Fbakari Fyara Fyue Fnazo u+ Ska Stte Stoka Stote Snimo Smono u+ Zni Zsa Zze Zzo Zna Znaa Zne Zya Zyo Zkana Zkasira /* Zka */ you+ @u Ztto mai+ BB Fga Fdano Ftono mai+ Ska Sto Stte Stoka Stomo Ssi Skara Skeredo Stote mai+ Zni Zsa tamae+ BB Ftono Sto Stomo Zyo na+ TKN JTNO JTNN Zno /* ¿©¤Ù_¤Æ¤«¤Ê¤¤ * ¡Ö½³¤Ã¤Æ¤¤¤Æ¤­¡×¤òÈò¤±¤ë¤¿¤á¡¢k5ir ¤Ï½ü¤¯ * ¡Ö¤Ä¤¤¤Æ¤«¤ó¤¬¡×¤òÈò¤±¤ë¤¿¤á¡¢k5a ¤Ç¤Ï¤Ê¤¯ ktek5a */ kte2+ k5 ktek5a t5tO ktek5a+ @k5a ktek5a- saseru simeru znn z ktok5a+ @k5a ktok5a- saseru seru reru simeru zu znn z su sasu sasiru ktok5i+ @k5i ktok5i- Fkiri Fsura Stutu Skoso yasui you sugiru kte Fha ni ktok5iO+ @k5iO ktok5iO- kto ktok5u+ @k5u ktok5u- Fkoso Fsae Fsika Fsura Fnomi Fha Fya Fyara Fmo ktok5u- Stote Snagara mai goto ktok5e+ @k5e ktok5e- Sdomo Stote Stutu Ssae Skoso Fsura Zna ktok5e- nainya nai you sugiru tamae ktok5o+ @k5o ktok5ya+ @k5ya nn+ JTNO Zno ddat ddemo dde2 ddar ddeha djan des desho deshou te+ BB Zna Znaa Zne Znee Zyo Zyona /******************** ³Ê½õ»ìÎà ********************/ #define K_BUN ddat ddemo dda2 dde2 ddar ddeha djan des desho deshou rasii/* ¡Á¤«¤é¤À¡¢¡Á¤«¤é¤Ç¤¹¡¢¡Á¤«¤é¤é¤·¤¤ */ Kkara+ BB /*Kde*/ Kdeno Kga Kto Kyori Kwo Kno K_BUN Kni Kkara+ Fya Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Fkiri Kkara+ Fyara Fka Fha Fmo Fkoso Ftote Fmade Kkara+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zya Zyo /* Zka */ Kkara+ dde1 Stte Kga+ BB Kga+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zyo /* Zka */ Kno+ BB KN FKN youda goto Kde+ BB Kto Kde+ Fmade Fya Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Fyara Fmo Fkoso Kde+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zya Zyo /* Zka */ Kdeno+ @Kno Kto+ BB Kga /* Kde*/ Kdeno Kni Kno Khe Kyori Kwo Kno sx naru K_BUN Kto+ Fka Fkiri Fkoso Fsae Fsika Fsura Fdano Fdeha Fdemo Fdokoro Fnazo Kto+ Fnomi Fbakari Fmade Fha Fmo Kto+ Skara Sdokoro Snara Snari Sniha Kto+ Zka Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zno /* Zka */ Kto+ ddar ddat ddemo dda2 dde1 Kni+ BB /* sx naru */ yoru K_BUN FKN Kni+ Fka Fmade Fya Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Kni+ Fyara Fha Fkoso Fmo Ftote Stomo Kni+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zya Zyo Kni+ naru Knite+ BB Khe+ BB Kno K_BUN FKN Khe+ Fmade Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Fkiri Khe+ Fyara Fha Fmo Fkoso Ftote Sto Stomo Khe+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Kmade+ BB Kga/* Kde*/ Kdeno Kto Kni Kwo Kno K_BUN FKN Kmade+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Kmade+ dde1 Kyori+ BB Kno Kyori+ Fya Fdano Fsika Fsura Fnomi Fbakari Fyara Fsika Fka Fha Fmo Kyori+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee /* Zka */ Kwo+ BB /* sx */ Kwo+ Fya Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Fyara Fsika Fmo Fkoso Kwo+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zya Zyo /******************** Éû½õ»ì ********************/ Fka+ BB @KAKUJS ddat ddemo dda2 dde1 ddar ddeha djan Fka+ Fmade Fdano Fsae Fsika Fsura Fha Fmo Stte Fka+ Znaa Zne Znee Zyo Fka+ FKN Fka- Kde Fkiri+ BB @KAKUJS ddat ddemo dda2 dde1 ddar ddeha djan des desho deshou rasii na N2T18 Fkiri+ Fmade Fya Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Fkiri+ Fzutu Fyara Fka Fha Fmo Fkoso Stte Fkiri+ Zkai Zkasira Zkana Zsa Zna Zne Znee Zya Zyo /* Zka */ Fkiri- Kde Fga+ BB Zna Znaa Zne Znee Fkoso+ BB /*Kga Kwo Kto Fka Fha*/ ddat ddemo dda2 dde1 ddar ddeha des desho deshou Fkoso+ Zkai Zkasira Zkana Zsa Zne Znee Zyo Fsae+ BB nai Fsura Fmo Fsika+ BB Fsura+ BB Kga Kwo Kno nai Fsika Fka Fmo Fsura+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee /* Zka */ Fzutu+ BB @KAKUJS ddat ddemo dda2 dde1 ddar ddeha djan des desho deshou nai rasii N2T18 Fzutu+ Fya Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Fkiri Fzutu+ Fyara Fka Fha Fmo Fkoso Fmade Stte Fzutu+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zya Zyo /* Zka */ Fzutu- Kde Fdano+ BB @KAKUJS Fdano+ Fsae Fsika Fsura Fbakari Fyara Fka Fha Fmo Fkoso Fya Stte Fttara+ BB /*Zkai Zkasira Zkana*/ Zsa Zna Znaa Zne Znee Zya Zyo /* Zka */ Ftte+ @Fttara JTNO Fto+ BB Kde Kdeno Kni Kwo Kmade Kno ddat ddemo dda2 dde1 ddar ddeha djan des desho deshou rasii Fto+ Fnari Fsae Fsika Fsura Fnomi Fbakari Fkiri Fyara Fka Fkoso Fto+ Fdeha Fdemo Fha Fmade Fmo Snara Fto+ Zka Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zya Zyo /* Zka */ Fto+ sx sxu1 naru Ftote+ BB Fmo Ftote+ Zkai Zkasira Zkana Zsa Zna Znaa Zne Znee Zno Zya Zyo Ftoka+ @T35 Ftoka- Fkiri Ftoka Fzutu Fnagara Fnari Fnomi Fyara Fnazo Ftoka- rasii ppoi buru SUFFIX Ftono+ BB Ftomo+ BB Kni Zsa Zna Znaa Zne Znee Zyo Fdokoro+ BB Fka Fdokoro+ Zkai Zkasira Zkana Fdokoro+ dde2 ddeha Fnagara+ BB Kno Fmo Fnagarani+ BB Fnazo+ BB @KAKUJS ddat ddemo dda2 dde1 ddar ddeha des desho deshou rasii Fnazo+ Fya Fdano Fsae Fsika Fsura Fbakari Fkiri Fyara Fha Fmo Fkoso Ftote Ftomo Fnazo+ Zkai Zkasira Zkana Zsa Zne Znee Zya Zyo Fnazo- Kde Fdeha+ BB nai Fdemo+ BB nai Fnaradeha+ BB Kno Sto Stte Fnari+ BB Kga Kno Kni Khe Kwo Kkara Kmade Kyori Kto ddat ddemo dda2 dde1 ddar ddeha Fnari+ Fya Fdano Fmade Fsae Fsika Fsura Fnomi Fyara Fmo Fnari+ Zkai Zkasira Zkana Zsa Zne Znee Zyo /* Zka */ Fnomi+ BB @KAKUJS ddat ddemo dda2 dde1 ddar ddeha des desho deshou rasii na /* ¤Î¤ß¡Ü¤Ê¤Î */ Fnomi+ Fya Fdano Fsika Fbakari Fkiri Fyara Fka Fha Fkoso Fnomi+ Zkai Zkasira Zkana Zsa Zne Znee Zyo /* Zka */ Fnomi- Kde Fha+ BB Zsa Zne Znee Fbakari+ BB @KAKUJS ddat ddemo dda1 dde1 ddar ddeha djan des desho deshou rasii N2T18 Fbakari+ Fya Fdano Fsae Fsika Fnomi Fzutu Fyara Fka Fha Fmo Fkoso Stte Fbakari+ Zkai Zkasira Zkana Zsa Zne Znee Zyo /* Zka */ Fbakari- Kde Fmade+ BB Kga Kno Kni Kwo Kyori Khe Kmade Kkara /* ľ¤¹¤³¤È */ Fmade+ Fya Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Fkiri Fmade+ Fyara Fka Fha Fmo Fkoso Sdokoro Sto Stte Fmade+ ddat ddemo dda1 dde1 ddar ddeha djan des desho deshou rasii N2T18 /* kx ¤Ï¤º¤¹Í½Äê */ Fmade+ Zkai Zkasira Zkana Zsa Zne Znee Zsa Zyo Fmo+ BB @KAKUJS Fka Sto nai rasii ddat ddemo dda2 dde2 ddar ddeha djan des desho deshou Fmo+ Zsa Zna Znaa Zne Znee Zyo Fmo- Kno Kwo Kde Kni Kto Fya+ BB Fdano Fsae Fsura Fkiri Fmo Fya+ Zne Znee Zyo Fyara+ BB Kga Kni Khe Kwo Kde Kdeno Kmade Kno Fyara+ Fsae Fsika Fnomi Fbakari Fkiri Fdano Fha Fmo Fyara+ Sto Stte Fyara+ Zsa Zne Znee Fyue+ BB Kno Kni Fka Fdeha Fdemo Fnomi Fkoso Ftomo Fbakari Sto Fyue+ ddat ddemo dda2 dde1 ddar ddeha des desho deshou Fdatte+ BB Zsa Zna Znaa Zne Znee Zyo Fttatte+ @Fdatte /******************** Àܳ½õ»ì ********************/ Ska+ @Fka Skara+ BB Fka Stte Sniha Skara+ Sto Stomo Stote Fkoso Skara+ ddat ddemo dda2 dde1 ddar ddeha djan des desho deshou rasii N2T18 Skara+ Zsa Zna Znaa Zne Znee Zyo Snode+ BB Sga+ BB Fyue goto Skuseni+ BB Stote Skuseni+ Zsa Zyo Zne Znee Zzo Zkai Zkasira Skeredo+ BB Zsa Zna Znaa Zne Znee Ssi+ BB Ssi+ Zne Znee Ssi+ Zsa Zna Znaa Zyo Stutu+ BB Fmade Fsae Fsika Fsura Fnomi Fbakari Fkiri Fmo Stutu+ Zyo Zne Znee Stte+ BB JTNO Kkara nai Stte+ Zsa Zyo Zne Znee Sto+ BB Fka Fkoso Fmade Fha Fmo Fsae Fsika Fsura Fnomi Fbakari Fkiri Fyara Sto+ Zyo Zne Znee Stoka+ BB Zsa Zna Znaa Zne Znee Stote+ BB Zsa Zna Znaa Zne Znee Stomo+ BB Stokoro+ BB Fha /* ¤È¤³¤í¡Ü¤Ï */ Stokoroga+ BB Zne Znee Zsa Stokorode+ BB Zne Znee Zsa Sdokoroka+ BB Zne Znee Zsa Sdomo+ BB Zyo Zne Znee Ssae+ @Fsae sx sxu2 Skoso+ @Fkoso Kga Kwo Fka Fha Sto sx sxu2 Snara+ BB Sto Sba Snari+ BB Kni Kwo Kde Snari+ Zyo Zne Znee Snagara+ BB Kga ddat ddemo dda2 dde1 ddar ddeha djan Snagara+ Fmade Fya Fdano Fnari Fsae Fsika Fsura Fnomi Fbakari Fkiri Snagara+ Fyara Fka Fha Fmo Fkoso Stte Snagara+ Zsa Zyo Zna Znaa Zne Znee Sniha+ BB Fmade Fnari Fsae Fsika Fsura Fnomi Fbakari Fha Fmo Fkoso Snimo+ BB Zsa Zna Znaa Zne Znee Zyo Sba+ BB Kno Sto Fkoso Zsa Zna Znaa Zne Znee Smonono+ BB Zna Znaa Zyo Zne Znee Zsa Smonowo+ BB Sto Zsa Zne Znee Zyo Sniha+ BB Zne Znee /******************** ½ª½õ»ì ********************/ Zi+ BM Sto Zni+ BM Zna Znaa Zne Znee Ztto+ BM Zka+ BM Zyo Zne Znee Sto Stte Zkai+ BM Sto Stte Zna Zkasira+ BM Zne Znee Sto Stte Zkana+ BM Sto Stte Zsa+ BM Sto Stte Zze+ BM Sto Zzo+ BM Sto Ztomo+ BM Sto Zsa Zyo Zmono+ BM Zne Znee Zna Znaa Zna+ BM Zyo Zyona Zne Znee Sto Stte Znaa+ BM Sto Zne+ BM Sto Stte Znee+ BM Sto Zno+ BM Sto Stte Zya+ BM Sto Zyo+ BM Zne Znee Zka Zkai Zkasira Sto Stte Zyona+ BM Sto Zwa+ BM Zi Zyo Zne Znee Sto /* Ï¢ÍÑ·ÁÀܳ¤Î½õ»ì */ ni+ @Kni ni- naru Fkiri #ifdef LOGIC_HACK % /* ÂǤÁ¾Ã¤¹Àܳ: * »ØÄꤷ¤¿3¤Ä¤ÎÉʻ줬Ϣ³¤·¤¿¤È¤­¤Ë * -: 2ÈÖÌܤÈ3ÈÖÌܤÎÀܳ¤òÂǤÁ¾Ã¤¹ * +: ʸÀá¶èÀÚ¤ê¤ÎÍ¥ÀèÅÙ¤ò²¼¤²¤ë * '/'¤Ç¶èÀڤäÆÊ£¿ô»ØÄꤷ¤¿¤È¤­¤Ï¡¢²Äǽ¤Ê¤¹¤Ù¤Æ¤ÎÁȹ礻¤Ë¤Ä¤¤¤Æ * »ØÄ꤬ȿ±Ç¤µ¤ì¤ë */ /* ¡Öǯ(¤È¤·)¡×¤ò´Þ¤àɽ¸½¤Î¼ÙËâ */ kdto/Kto/Fto sxi ni + kdto/Kto/Fto sxi Fto/Fkoso/Fsika/Fsura/Fdano/Fdeha/Fdemo/Ftoka - kdto/Kto/Fto sxi Fnomi/Fha/Fbakari/Fmade/Fmo/Fya/Fyara - /* ¡Ö¸µ(¤â¤È)¡×¤ò´Þ¤àɽ¸½¤Î¼ÙËâ */ JTNO/Kwo Fmo Sto + Fmo Sto Kde/Kdeno/Kni/Kwo/Kmade/Kno - Fmo Sto Fka/Fkoso/Fmade/Fha/Fmo/Fsae/Fsika/Fsura/Fnomi/Fbakari - Fmo Sto Fkiri/Fyara - /* ¡ÖÇã¤Ã¤Æ¡×¤ò´Þ¤àɽ¸½¤Î¼ÙËâ */ JTNO Fka/Zka Stte + Kni/kdni/ni Fka/Zka Stte + Kwo/Kde/kde Fka/Zka Stte + Kto/Fto/Sto Fka/Zka Stte + Kkara/Kyori Fka/Zka Stte + Fkiri/Fsura/Fzutu/Fdano/Ftoka/Fmade Fka/Zka Stte + Fdokoro/Fnomi/Fbakari/Fmo/Fyue Fka/Zka Stte + Skara/Skoso/Snagara Fka/Zka Stte + kte/kde/dde3 Ska Stte + /* kte2+k5´Ø·¸¤Î¼ÙËâ¤Êɽ¸½ */ kte2 k5o u + kte2 k5e znn + /* ¡Á¤Î¤«¤·¤« */ JTNO Fka Fsika - /* ¡Á¤Ê¤ó¤È¤« */ na JTNN Ftoka - #endif Canna37p3/dic/ideo/grammar/Imakefile0100644000076500001200000000442007735225676016606 0ustar shinraadmin/* $Id: Imakefile,v 1.6 2003/09/27 06:18:38 aida_s Exp $ */ #include "../../../Canna.conf" #ifdef __EMX__ CANNAROOT = ..\\..\\.. CANNACMDDIR = $(CANNAROOT)\\cmd FORCPP = $(CANNACMDDIR)\\forcpp\\forcpp FORSORT = $(CANNACMDDIR)\\forsort\\forsort SORT = gsort #else CANNAROOT = ../../.. CANNACMDDIR = $(CANNAROOT)/cmd FORCPP = $(CANNACMDDIR)/forcpp/forcpp FORSORT = $(CANNACMDDIR)/forsort/forsort SORT = sort #endif #ifdef __EMX__ CRXGRAM = $(CANNACMDDIR)\\crxgram\\crxgram CRXDIC = $(CANNACMDDIR)\\crxdic\\crxdic CRFREQ = $(CANNACMDDIR)\\crfreq\\crfreq MERGE = $(CANNACMDDIR)\\mergewd\\mergeword FORSORT = $(CANNACMDDIR)\\forsort\\forsort FORCPP = $(CANNACMDDIR)\\forcpp\\forcpp #else CRXGRAM = $(CANNACMDDIR)/crxgram/crxgram CRXDIC = $(CANNACMDDIR)/crxdic/crxdic CRFREQ = $(CANNACMDDIR)/crfreq/crfreq MERGE = $(CANNACMDDIR)/mergewd/mergeword FORSORT = $(CANNACMDDIR)/forsort/forsort FORCPP = $(CANNACMDDIR)/forcpp/forcpp #endif CANNADICDIR = $(DicDir)/canna ALLDIC = $(DICOBJS) #ifdef USE_OBSOLETE_STYLE_FILENAME DICOBJS = fuzokugo.d #else DICOBJS = fuzokugo.cbd #endif OBJS = cpp.gram cnj.swd cnj.bits cnj.h cnj.mac fuzokugo.swd DEFINES = -USX /* for SX3 */ #ifdef DIC_3_6_COMPAT COMPATFLAG = -c 3.0 #endif AllTarget($(ALLDIC)) cpp.gram: gram.code gram.goto main.code $(FORCPP) -7 < gram.code | \ $(CPP) $(DEFINES) | \ $(FORCPP) -8 > cpp.gram cnj.swd cnj.bits cnj.h cnj.mac: cpp.gram $(CRXGRAM) -f cpp.gram fuzokugo.swd: cnj.swd $(FORSORT) -7 < cnj.swd | \ $(SORT) | \ $(FORSORT) -8 | \ $(MERGE) > fuzokugo.swd fuzokugo.d: fuzokugo.swd cnj.bits $(CRXDIC) $(COMPATFLAG) -g -s -o fuzokugo.d -D cnj.bits -n fuzokugo fuzokugo.swd fuzokugo.cbd: fuzokugo.swd cnj.bits $(CRXDIC) $(COMPATFLAG) -g -s -o fuzokugo.cbd -D cnj.bits -n fuzokugo fuzokugo.swd clean:: $(RM) $(DICOBJS) $(OBJS) depend:: MakeDirectories(install,$(CANNADICDIR)) InstallMultipleFlags($(ALLDIC),$(CANNADICDIR),-m 0664 $(cannaOwnerGroup)) install:: $(CHGRP) $(cannaGroup) $(DESTDIR)$(CANNADICDIR) $(CHOWN) $(cannaOwner) $(DESTDIR)$(CANNADICDIR) $(CHMOD) ug+w $(DESTDIR)$(CANNADICDIR) Canna37p3/dic/ideo/grammar/main.code0100644000076500001200000004202507554426265016554 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * $Id: main.code,v 1.2 2002/10/20 04:10:29 aida_s Exp $ */ /* * bunrui.code: ¶¦ÄÌÉÊ»ìʬÎàɽ * * ·¿¼° * [¥é¥Ù¥ë] ¥¿¥° ÅÐÏ¿¸ì¤ÎÆÉ¤ß * * * Êѹ¹ÅÀ * 1. ư»ìÏ¢ÍÑ·Á¤¬Ì¾»ì¤Ë¤Ê¤ë¥°¥ë¡¼¥×¤ÎÄɲá¥(̾»ì¤È¤Î½ÅÊ£ÅÐÏ¿¤ò¤Ê¤¯¤¹¤¿¤á) * 2. ÂθÀ°ìÈ̤ÎÀ°Íý(̾»ì¡¤·ÁÍÆÆ°»ì¤Ê¤É¤ÎʬÎàÊýË¡),T00-T39,·×40¥°¥ë¡¼¥× * Àܳ¤¹¤ë¸ì¤Ë¤è¤ê,¥°¥ë¡¼¥×ʬ¤±¤ò¤·¤¿¡¥ * 3. ÂθÀ°ìÈ̤ÎÀ°Íý(Éû»ì¡¤·ÁÍÆÆ°»ì¥È¥¿¥ë³èÍѤÎʬÎàÊýË¡),F01-F15,·×16¥°¥ë¡¼¥× * Àܳ¤¹¤ë¸ì¤Ë¤è¤ê,¥°¥ë¡¼¥×ʬ¤±¤ò¤·¤¿¡¥ * 4. ·ÁÍÆ»ì * 3¤Ä¤Î¥°¥ë¡¼¥×¤Ëʬ¤±¤¿¡¥ * 5. ¤½¤Î¾ * Àܳ´Ø·¸¤¬Æ±¤¸¤¿¤áÀܳ»ì¡¤´¶Æ°»ì¤ò¹ç¤ï¤»¤Æ¡¤°ì¥°¥ë¡¼¥×¤Ë¤·¤¿¡¥ * */ #define BUNMATU /* by fujieda@jaist.ac.jp */ #define LOGIC_HACK /* by fujieda@jaist.ac.jp */ #ifndef BUNMATU #define BM BB #endif /************************************************************************ * ¼«Î©¸ì * * ¼«Î©¸ì¤ò¶¦Í­²½¤¹¤ë¤¿¤á¤Ë¡¤¼«Î©¸ì¤ÎÆâÉô¥³¡¼¥É¤ò¸ÇÄê²½¤¹¤ë¡¥ * * [¼«Î©¸ì½ªÎ»]¤Þ¤Ç¤Î¹Ô¤ÎÆâÍÆ¤òÊѹ¹¤¹¤ë¤È¡¤¶¦Ä̼­½ñ¤Ï»ÈÍѤǤ­¤Ê¤¤¡¥* ************************************************************************/ /* BB:ʸÀáÆ¬/Ëöµ­¹æ * ʸÀá¤ò³«»Ï¤Ç¤­¤ëñ¸ì * ʸÀá¤ò½ªÎ»¤Ç¤­¤ëñ¸ì */ BB _ _ #ifndef BM /* BM:ʸ¾ÏËöµ­¹æ * ʸ¾Ï¤ò½ªÎ»¤Ç¤­¤ëñ¸ì */ BM _ _ #endif /* ÉÊ»ì¤ÎʬÎà */ TAIGEN _ _ /* ÂθÀ */ YOUGEN _ _ /* ÍѸÀ */ KAKUJS _ _ /* ³Ê½õ»ì */ /* ư»ì¸ì´´ * * ¡ýư»ì³èÍÑɽ¡¡¡¡¡¡¡¡¡¡( )Æâ¤Ï²»ÊØ·Á * * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ì¤Á³ Ï¢ÍÑ ½ª¡¦ÂÎ ²¾Äê Ì¿Îá Îã¸ì * * K5 ¤«¹Ô5ÃÊ ¤« ¤­ ¤¯ ¤± ¤± ÃÖ¤¯ * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤³ (¤¤) * K5r ¤«¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì ½ñ¤¯ * C5r ¹Ô¤¯5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤« ¤­ ¤¯ ¤± ¤± ¹Ô¤¯ * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤³ (¤Ã) * G5 ¤¬¹Ô5ÃÊ¡¡¡¡¡¡¡¡ ¤¬ ¤® ¤° ¤² ¤² ¶Ä¤° * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤´ (¤¤) * G5r ¤¬¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì µÞ¤° * S5 ¤µ¹Ô5ÃÊ¡¡¡¡¡¡¡¡ ¤µ ¤· ¤¹ ¤» ¤» ÊÖ¤¹ * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤½ * S5r ¤µ¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì °Ü¤¹ * T5 ¤¿¹Ô5ÃÊ¡¡¡¡¡¡¡¡ ¤¿ ¤Á ¤Ä ¤Æ ¤Æ Àä¤Ä * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤È (¤Ã) * T5r ¤¿¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì ÂÇ¤Ä * N5 ¤Ê¹Ô5ÃÊ¡¡¡¡¡¡¡¡ ¤Ê ¤Ë ¤Ì ¤Í ¤Í »à¤Ì * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤Î (¤ó) * B5 ¤Ð¹Ô5ÃÊ¡¡¡¡¡¡¡¡ ¤Ð ¤Ó ¤Ö ¤Ù ¤Ù ž¤Ö * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤Ü (¤ó) * B5r ¤Ð¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì Í·¤Ö * M5 ¤Þ¹Ô5ÃÊ¡¡¡¡¡¡¡¡ ¤Þ ¤ß ¤à ¤á ¤á ½»¤à * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤â (¤ó) * M5r ¤Þ¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì ÊÔ¤à * R5 ¤é¹Ô5ÃÊ¡¡¡¡¡¡¡¡ ¤é ¤ê ¤ë ¤ì ¤ì °ÒÄ¥¤ë * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤í (¤Ã) * R5r ¤é¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì ¼Õ¤ë * L5 ¥é¹Ô5ÃÊ¡¡¡¡¡¡¡¡ ¤é ¤ê ¤ë ¤ì ¤¤ ¤¤¤é¤Ã¤·¤ã¤ë * (Ì¿Îá·Á¤¬¥¤)¡¡¡¡¤í (¤Ã) * W5 ¤ï(¤¢)¹Ô5ÃÊ ¤ï ¤¤ ¤¦ ¤¨ ¤¨ ¸À¤¦ * ¤ª (¤Ã) * W5r ¤ï(¤¢)¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì °·¤¦ * U5 ¸ð¤¦5ÃÊ ¤ï ¤¤ ¤¦ ¤¨ ¤¨ ¸ð¤¦ * ¤ª (¤¦) * U5r ¸ð¤¦5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì Ì䤦 * KS ¾å²¼°ìÃÊ ¡ß ¡ß ¤ë ¤ì ¤í ¹ß¤ê¤ë[Í¿¤¨¤ë] * ¤è * KSr ¾å²¼°ìÃʤǸ촴¤¬Ì¾»ì À¸¤­¤ë[ͤ±¤ë] * KX ¤«ÊÑ ¤³ ¤­ ¤¯¤ë ¤¯¤ì ¤³¤¤ Íè¤ë * SX ¤µÊÑ ¤µ ´Ø¤¹¤ë * ¤· ¤· ¤¹¤ë ¤¹¤ì ¤»¤è * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤» * ZX ¤¶ÊÑ¡¡¡¡¡¡¡¡¡¡¡¡¤¶ ´¶¤º¤ë * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤¸ ¤¸ ¤º¤ë ¤º¤ì ¤¼¤è * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤¼ * NZX ¤ó¤¶ÊÑ¡¡¡¡¡¡¡¡¡¡¤ó¤¶ ¤ó¤¸¤í ½Å¤ó¤º¤ë * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤ó¤¸ ¤ó¤¸ ¤ó¤º¤ë ¤ó¤º¤ì ¤ó¤¼¤è * ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤ó¤¼ * */ K5 _ _ /* ¤«¹Ô5ÃÊ: ÃÖ¤¯*/ K5r _ _ /* ¤«¹Ô5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: ½ñ¤¯ */ C5r _ _ /* ¹Ô¤¯5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: ¹Ô¤¯ */ G5 _ _ /* ¤¬¹Ô5ÃÊ: ¶Ä¤° */ G5r _ _ /* ¤¬¹Ô5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: µÞ¤° */ S5 _ _ /* ¤µ¹Ô5ÃÊ: µ¢¤¹ */ S5r _ _ /* ¤µ¹Ô5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: °Ü¤¹ */ T5 _ _ /* ¤¿¹Ô5ÃÊ: Àä¤Ä */ T5r _ _ /* ¤¿¹Ô5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: ÂÇ¤Ä */ N5 _ _ /* ¤Ê¹Ô5ÃÊ: »à¤Ì */ B5 _ _ /* ¤Ð¹Ô5ÃÊ: ž¤Ö */ B5r _ _ /* ¤Ð¹Ô5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: Í·¤Ö */ M5 _ _ /* ¤Þ¹Ô5ÃÊ: ½»¤à */ M5r _ _ /* ¤Þ¹Ô5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: ÊÔ¤à */ R5 _ _ /* ¤é¹Ô5ÃÊ: °ÒÄ¥¤ë */ R5r _ _ /* ¤é¹Ô5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: ¼Õ¤ë */ L5 _ _ /* ¥é¹Ô5ÃÊ(Ì¿Îá·Á¤¬¥¤): ¤¤¤é¤Ã¤·¤ã¤ë */ /* ¾: ¤ª¤Ã¤·¤ã¤ë,²¼¤µ¤ë,¤´¤¶¤ë,¤Ê¤µ¤ë,¤·¤Ê¤µ¤ë,Íè¤Ê¤µ¤ë */ W5 _ _ /* ¤ï¹Ô5ÃÊ: ¸À¤¦ */ W5r _ _ /* ¤ï¹Ô5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: °·¤¦ */ U5 _ _ /* ¸ð¤¦5ÃÊ: ¸ð¤¦ */ U5r _ _ /* ¸ð¤¦5ÃÊ,Ï¢ÍÑ·Á¤¬Ì¾»ì: Ì䤦 */ KS _ _ /* ¾å²¼1ÃÊ: ¹ß¤ê¤ë,Í¿¤¨¤ë */ KSr _ _ /* ¾å²¼1ÃÊ,¸ì´´¤¬Ì¾»ì: À¸¤­¤ë,ͤ±¤ë */ KX _ _ /* ¥«ÊѳèÍÑÆ°»ì: Íè¤ë */ SX _ _ /* ¥µÊѳèÍÑÆ°»ì: ´Ø¤¹¤ë */ ZX _ _ /* ¥¶ÊѳèÍÑÆ°»ì: ´¶¤º¤ë */ NZX _ _ /* ¥ó¥¶ÊѳèÍÑÆ°»ì: ½Å¤ó¤º¤ë */ /* ÂθÀʬÎà * * KJ °ìʸ»ú´Á»ú: ñ´Á»úÊÑ´¹¤Î¤ß¤Ç»ÈÍѤ¹¤ë * CN ÃÏ̾ * CNS ÃÏ̾(ÀÜÈø¸ì¤Ä¤­) * JCN À«¤È¤·¤Æ¤â»È¤ï¤ì¤ëÃÏ̾ * JN ¿Í̾ * KK ²ñ¼Ò/ÃÄÂÎ * * T** °ìÈÌŪ¤ÊÂθÀÎà(̾»ì/¥µÊÑ̾»ì/·ÁÍÆÆ°»ì/Éû»ì) * * ¡ý·ÁÍÆÆ°»ì¤Î³èÍÑ * ̤Á³ Ï¢ÍÑ ½ª»ß Ï¢ÂÎ ²¾Äê Ì¿Îá * ¤À¤í ¤À¤Ã ¤À ¤Ê ¤Ê¤é ¡ß * ¤Ç (¤Î) * ¤Ë * * ¡ý¼­½ñ¤Ç¤Îά¸ìɽµ­(¡¦¤Ë¤è¤ê) * ¥À¥Ê Ï¢ÂÎÍÑË¡¥Ê,Ï¢ÍÑÍÑË¡¥Ë¤¬Â·¤Ã¤¿¤â¤Î * ¥À¡¦¥Ê¥Î Ï¢ÂÎÍÑË¡¥Î¤Î¤¢¤ë·ÁÍÆÆ°»ì * ̾¥Ê¥Î,̾¡¦¥À¥Ê Ï¢ÂÎÍÑË¡¥Ê,Ï¢ÍÑÍÑË¡¥Ë ¤Î¤¢¤ë̾»ì(¸ì´´¤¬Ê¸Àá¤Ë¤Ê¤ì¤ë) * ¥È¡¦¥¿¥ë Ï¢ÂÎÍÑË¡¥¿¥ë,Ï¢ÍÑÍÑË¡¥È¤È¤Ê¤ë¤â¤Î * ¥¹ ¡Ö¤¹¤ë¡×¤È·ë¹ç¤·¤Æ¥µÊѳèÍѤ¹¤ë * ̾ ̾»ì * Éû Éû»ì * Éû¥À¡¦¥Ê¥Î Éû»ì¤ÎÍÑË¡¤È¥À¥Ê¥Î¤ÎÍÑË¡¤ò»ý¤Ä * * ¡ýÀܳ¸ì¤ÎÀâÌÀ * -¤ÊÀܳ ·ÁÍÆÆ°»ì³èÍѤò¤¹¤ë(³èÍѸìÈø¤¹¤Ù¤Æ¤¬¤Ä¤¯) ¡û * ¤·¤Ê¤¤ ¡ß * -¤µÀܳ ¡Ö¤µ¡×¤¬¤Ä¤¤¤ÆÌ¾»ì²½¤¹¤ë ¡û * ¤·¤Ê¤¤ ¡ß * -¤¹¤ëÀܳ ¡Ö¤¹¤ë¡×¤È·ë¹ç¤·¤Æ¥µÊѳèÍѤ¹¤ë ¡û * ¤·¤Ê¤¤ ¡ß * ¸ì´´¤¬Ê¸Àá ¸ì´´¤¬Ã±ÆÈ¤ÇʸÀá¤Ë¤Ê¤ë¤³¤È¤¬¤Ç¤­¤ë ¡û * ¤Ç¤­¤Ê¤¤ ¡ß * ³Ê½õÀܳ ³Ê½õ»ì¤¬Àܳ¤¹¤ë¤«(¤¹¤Ù¤Æ¤Î³Ê½õ»ì¤ËÀܳ²Äǽ ¡û * ¡Ö¤Î¡×¤Î¤ß¤ËÀܳ¤¹¤ë ¢¤ * ³Ê½õ»ì¤Ë¤ÏÀܳ¤·¤Ê¤¤ ¡ß * (¡Ö¤Ë¡×¤ÏÎã³° ? ) * * ¼­Åµ¤Ç¤Î -¤Ê -¤µ -¤¹¤ë ¸ì´´¤¬ ³Ê½õ Îã¸ì * ɽµ­Ë¡ Àܳ Àܳ Àܳ ʸÀá Àܳ * * T00 ̾¡¦¥¹¡¦¥À¥Ê¥Î ¡û ¡û ¡û ¡û ¡û ¶¦ÄÌ * ̾¥Ê¥Î¡¦¥¹ ¹§¹Ô * T01 ¡û ¡û ¡û ¡û ¢¤ * T02 ¡û ¡û ¡û ¡û ¡ß * T03 ¥À¥Ê¥Î ¡û ¡û ¡û ¡ß ¢¤ ¤­¤Á¤­¤Á * T04 ¡û ¡û ¡û ¡ß ¡ß ¶§Ë½ * T05 ̾¡¦¥À¥Ê¥Î ¡û ¡û ¡ß ¡û ¡û ¼Á¼Â * ̾¡¦¥À¥Ê ¹¬±¿,°¥¤ì,´Ê·é,¸¬µõ * ̾¥Ê¥Î µ®½Å * T06 ¡û ¡û ¡ß ¡û ¢¤ °ìÍÍ,´ñ°Û,·ò¤ä¤«,ÌÀ²÷ * T07 Éû¡¦¥À¥Ê ¡û ¡û ¡ß ¡û ¡ß ½½Ê¬ * T08 ¥À¥Ê¥Î ¡û ¡û ¡ß ¡ß ¢¤ °Õ³°,·üÌ¿ * T09 ¥À¥Ê ¡û ¡û ¡ß ¡ß ¡ß ÀŤ«,µ¤·Ú * T10 ¡û ¡ß ¡û ¡û ¡û °Â¿´,Éⵤ,²£Ãå,´¶¿´ * T11 ¡û ¡ß ¡û ¡û ¢¤ ³ÊÃÊ,³ÊÊÌ,ÂçÁØ,ľÀÜ * T12 ¡û ¡ß ¡û ¡û ¡ß ¸ʬ * T13 ¡û ¡ß ¡û ¡ß ¢¤ Âç¹²¤Æ * T14 ¡û ¡ß ¡û ¡ß ¡ß * T15 ¥À¥Ê ¡û ¡ß ¡ß ¡û ¡û Ʊ¤¸?(ÆÃ¼ì¤Ê·ÁÍÆ»ì¤È¤Î½Å¤Ê¤ê) * ̾¡¦Éû¡¦¥À¥Ê ¿§¡¹ * T16 Éû¡¦¥À¥Ê¥Î ¡û ¡ß ¡ß ¡û ¢¤ °Æ³°,À¸Áþ,¤«¤Ê¤ê * T17 Éû¥Ê¥Î ¡û ¡ß ¡ß ¡û ¡ß ¤ä¤¿¤é,¤Ô¤Ã¤¿¤ê * ¥À¥Ê °Õ¼±Åª,°õ¾ÝŪ,²Ê³ØÅª * T18 ¡û ¡ß ¡ß ¡ß ¢¤ Åö¤êÁ°,´Å¸ý,°Â²º,Æâµ¤ * T19 ¡û ¡ß ¡ß ¡ß ¡ß ´í¤Ê¤²,·ù¤ß,Â礶¤Ã¤Ñ * T20 ¡ß ¡û ¡û ¡û ¡û * T21 ¡ß ¡û ¡û ¡û ¢¤ * T22 ¡ß ¡û ¡û ¡û ¡ß * T23 ¡ß ¡û ¡û ¡ß ¢¤ * T24 ¡ß ¡û ¡û ¡ß ¡ß * T25 ¡ß ¡û ¡ß ¡û ¡û Ê¿¾ï * T26 ¡ß ¡û ¡ß ¡û ¢¤ * T27 ¡ß ¡û ¡ß ¡û ¡ß * T28 ¡ß ¡û ¡ß ¡ß ¢¤ * T29 ¡ß ¡û ¡ß ¡ß ¡ß * T30 ̾¡¦¥¹ ¡ß ¡ß ¡û ¡û ¡û °¥´ê,°¦¹¥,°§»¢,°ÂÃÖ * T31 Éû ¡ß ¡ß ¡û ¡û ¢¤ ¤Á¤ç¤Ã¤È * T32 ¡ß ¡ß ¡û ¡û ¡ß * T33 ¡ß ¡ß ¡û ¡ß ¢¤ * T34 ¡ß ¡ß ¡û ¡ß ¡ß * T35 ̾(°ìÈÌŪ¤Ê̾»ì)¡ß ¡ß ¡ß ¡û ¡û ¹ç°õ,¹ç¸°,»³,²ñ¼Ò * ̾¡¦Éû ¤Û¤È¤ó¤É * T36 Éû ¡ß ¡ß ¡ß ¡û ¢¤ ¤è¤Û¤É,¤¿¤Ö¤ó,ÀÞ¤«¤é¤Î * T37 Éû ¡ß ¡ß ¡ß ¡û ¡ß ¤À¤¤¤Ö,¤Ï¤Ê¤Ï¤À * T38 ¡ß ¡ß ¡ß ¡ß ¢¤ * T39 ¡ß ¡ß ¡ß ¡ß ¡ß * * Îã¸ì¤¬¤Ê¤¤¤È¤³¤í¤Ï¡¤³ºÅö¤¹¤ë¸ì¤¬¸½ºß¤Ï¸«¤Ä¤«¤é¤Ê¤¤¤¿¤á¡¥ * */ KJ _ _ /* °ìʸ»ú´Á»ú(ñ´Á»úÊÑ´¹¤Î¤ß¤Ç»ÈÍÑ) */ CN _ _ /* Åìµþ */ CNS _ _ /* ÅìµþÅÔ */ JN _ _ /* ¿û°æ,¾¡ */ JNS _ _ /* À«¡§Â¢ËÜ (¥¤¥Ë¥å¡¼ÄɲÃʬ) */ JNM _ _ /* ̾¡§±ÉÆó (¥¤¥Ë¥å¡¼ÄɲÃʬ) */ JCN _ _ /* ¿Í̾¤«¤ÄÀ«:Ĺºê */ KK _ _ /* ÆüËÜÅŵ¤ */ T00 _ _ /* ̾¡¦¥¹¡¦¥À¥Ê¥Î¡¢Ì¾¥Ê¥Î¡¦¥¹: ¶¦ÄÌ,¹§¹Ô */ T01 _ _ /* */ T02 _ _ /* */ T03 _ _ /* ¥À¥Ê¥Î: ¤­¤Á¤­¤Á */ T04 _ _ /* */ T05 _ _ /* ̾¡¦¥À¥Ê¥Î,̾¡¦¥À¥Ê,̾¥Ê¥Î: ¼Á¼Â,¹¬±¿,°¥¤ì,´Ê·é,¸¬µõ,µ®½Å */ T06 _ _ /* */ T07 _ _ /* Éû¡¦¥À¥Ê: ½½Ê¬ */ T08 _ _ /* ¥À¥Ê¥Î: °Õ³°,·üÌ¿ */ T09 _ _ /* ¥À¥Ê¥Î: ÀŤ«,µ¤·Ú */ T10 _ _ /* */ T11 _ _ /* */ T12 _ _ /* */ T13 _ _ /* */ T14 _ _ /* */ T15 _ _ /* ¥À¥Ê,̾¡¦Éû¡¦¥À¥Ê: Ʊ¤¸?,¤¤¤í¤¤¤í */ T16 _ _ /* Éû¡¦¥À¥Ê,Éû¥Ê¥Î: °Æ³°,¤«¤Ê¤ê */ T17 _ _ /* ¥À¥Ê: ¤ä¤¿¤é,ÅöÁ³,¤Ô¤Ã¤¿¤ê,°Õ¼±Åª,°õ¾ÝŪ,²Ê³ØÅª */ T18 _ _ /* */ T19 _ _ /* */ T20 _ _ /* */ T21 _ _ /* */ T22 _ _ /* */ T23 _ _ /* */ T24 _ _ /* */ T25 _ _ /* */ T26 _ _ /* */ T27 _ _ /* */ T28 _ _ /* */ T29 _ _ /* */ T30 _ _ /* ̾¡¦¥¹: °ÂÃÖ */ T31 _ _ /* Éû: ¤Á¤ç¤Ã¤È */ T32 _ _ /* */ T33 _ _ /* */ T34 _ _ /* */ T35 _ _ /* ̾,̾¡¦Éû: »³,²ñ¼Ò,¤Û¤È¤ó¤É */ T36 _ _ /* Éû: ¤è¤Û¤É,¤¿¤Ö¤ó */ T37 _ _ /* Éû: ¤À¤¤¤Ö,¤Ï¤Ê¤Ï¤À */ T38 _ _ /* */ T39 _ _ /* */ /* * F** Éû»ìÎà(·ÁÍÆÆ°»ì¥È¥¿¥ë·¿³èÍѤò´Þ¤à): * ¥È¥¿¥ë³èÍѤò¤¹¤ë·ÁÍÆÆ°»ìµÚ¤ÓÉû»ì¤Ï¡¤¾ö¸ì¤ä-Á³¤¬Â¿¤¤¤è¤¦¤Ç¤¢¤ë¡¥ * * ¡ý·ÁÍÆÆ°»ì¥È¡¦¥¿¥ë³èÍÑ * ̤Á³ Ï¢ÍÑ ½ª»ß Ï¢ÂÎ ²¾Äê Ì¿Îá * ¤¿¤é ¤¿¤ê ¤¿¤ê ¤¿¤ë ¤¿¤ì ¤¿¤ì * ¡¡ (¤È) * ( )Æâ¤Ï¥È³èÍѤλþ¤Î¤ß * * ¡ý¼­½ñ¤Ç¤Îά¸ìɽµ­ * Éû Éû»ì * ¥È¡¦¥¿¥ë Ï¢ÂÎÍÑË¡¥¿¥ë,Ï¢ÍÑÍÑË¡¥È¤È¤Ê¤ë¤â¤Î * ¥¹ ¡Ö¤¹¤ë¡×¤È·ë¹ç¤·¤Æ¥µÊѳèÍѤ¹¤ë * * ¡ýÀܳ¸ì¤ÎÀâÌÀ * -¤ÈÀܳ ʸ¸ì¥¿¥ê³èÍѤθý¸ì¤Ç¤Î·Á¤ËÏ¢ÍÑ·Á¤Ë¡Ö¤È¡×¤¬¤¢¤ë¤â¤Î * -¤¿¤ëÀܳ ʸ¸ì¥¿¥ê³èÍѤθý¸ì¤Ç¤Î·Á * -¤¹¤ëÀܳ ¡Ö¤¹¤ë¡×¤È·ë¹ç¤·¤Æ¥µÊѳèÍѤ¹¤ë¥µÊѳèÍѤ¹¤ë¤« * ¸ì´´¤¬Ê¸Àá ¸ì´´¤¬Ã±ÆÈ¤ÇʸÀá¤Ë¤Ê¤ë¤³¤È¤¬¤Ç¤­¤ë¤« * * ¼­Åµ¤Ç¤Î -¤È -¤¿¤ë -¤¹¤ë ¸ì´´¤¬ Îã¸ì * ɽµ­Ë¡ Àܳ Àܳ Àܳ ʸÀá * * F00 Éû¡¦¥È¥¿¥ë ¡û ¡û ¡û ¡û ·èÁ³,¤°¤ë¤°¤ë,¤Ò¤½¤Ò¤½,ÀÄ¡¹ * F01 ¥È¥¿¥ë¡¦¥¹ ¡û ¡û ¡û ¡ß ȽÁ³,°ÍÁ³,¸øÁ³,»¨Á³,¼áÁ³,ÂÙÁ³ * F02 Éû¡¦¥È¥¿¥ë ¡û ¡û ¡ß ¡û ÌÔÁ³,ÃÇÁ³,ÃǸÇ,Ʋ¡¹,±ä¡¹,±ä¡¹ * F03 ¥È¥¿¥ë ¡û ¡û ¡ß ¡ß ¹­Çù,°Â´×,ØãÁ³,°¢Á³,ÌÛ¡¹,ÀÚÀÚ * F04 Éû¡¦¥¹ ¡û ¡ß ¡û ¡û ¤Õ¤Ã¤¯¤é * Éû ¤æ¤Ã¤¯¤ê * F05 ¥È¡¦¥¹ ¡û ¡ß ¡û ¡ß À²¤ìÀ²¤ì,¹­¡¹,¤´¤ï¤´¤ï,¤´¤Ä¤´¤Ä * F06 Éû ¡û ¡ß ¡ß ¡û Á´Á³,ÆÍÁ³,ÅÙ¡¹,½Å¤Í½Å¤Í,¤Þ¤¶¤Þ¤¶,¤à¤¶¤à¤¶ * F07 ¡û ¡ß ¡ß ¡ß * F08 ¡ß ¡û ¡û ¡û * F09 ¡ß ¡û ¡û ¡ß * F10 ¡ß ¡û ¡ß ¡û * F11 ¡ß ¡û ¡ß ¡ß ³Î * F12 Éû ¡ß ¡ß ¡û ¡û ¤½¤Ã¤È,¤¾¤Ã¤È,¤Ï¤Ã¤È,¤Õ¤È,¤Û¤Ã¤È,¤à¤Ã¤È,¤¹¤°¤µ¤Þ * F13 ¡ß ¡ß ¡û ¡ß * F14 ¡ß ¡ß ¡ß ¡û ÁêÊѤï¤é¤º,´º¤¨¤Æ,˰¤¯¤Þ¤Ç * F15 ¡ß ¡ß ¡ß ¡ß * * Îã¸ì¤¬¤Ê¤¤¤È¤³¤í¤Ï¡¤³ºÅö¤¹¤ë¸ì¤¬¸½ºß¤Ï¸«¤Ä¤«¤é¤Ê¤¤¤¿¤á¡¥ * */ F00 _ _ /* Éû¡¦¥È¥¿¥ë: ·èÁ³,¤°¤ë¤°¤ë,¤Ò¤½¤Ò¤½ */ F01 _ _ /* ¥È¥¿¥ë¡¦¥¹: ȽÃÇ */ F02 _ _ /* Éû¡¦¥È¥¿¥ë: ÃÇÁ³,ÃǸÇ,Ʋ¡¹,±ä¡¹ */ F03 _ _ /* ¥È¥¿¥ë: ¹­Çù,°Â´×,°¢Á³,ÌÛ¡¹,ÀÚÀÚ*/ F04 _ _ /* Éû¡¦¥¹¡¢Éû: ¤Õ¤Ã¤¯¤é,¤æ¤Ã¤¯¤ê */ F05 _ _ /* ¥È¡¦¥¹: À²¤ìÀ²¤ì,¹­¡¹,¤´¤ï¤´¤ï,¤´¤Ä¤´¤Ä */ F06 _ _ /* Éû: Á´Á³,ÆÍÁ³,ÅÙ¡¹,½Å¤Í½Å¤Í,¤Þ¤¶¤Þ¤¶,¤à¤¶¤à¤¶ */ F07 _ _ /* */ F08 _ _ /* */ F09 _ _ /* */ F10 _ _ /* */ F11 _ _ /* */ F12 _ _ /* Éû: ¤½¤Ã¤È,¤¾¤Ã¤È,¤Û¤Ã¤È,¤Õ¤È,¤Û¤Ã¤È,¤à¤Ã¤È */ F13 _ _ /* */ F14 _ _ /* */ F15 _ _ /* */ /* ·ÁÍÆ»ì¤ÎʬÎà * * ¡ý·ÁÍÆ»ì¤Î³èÍÑ * ̤Á³ Ï¢ÍÑ ½ª»ß Ï¢ÂÎ ²¾Äê Ì¿Îá * ¤«¤í ¤¯ ¤¤ ¤¤ ¤±¤ì ¡ß * ¤¦ (¤­) * ¤Ã¤« ( )Æâ¤Ïʸ¸ì¤Ç¤Î³èÍÑ * * ¡ý¼­½ñ¤Ç¤Îά¸ìɽµ­ * ·Á ·ÁÍÆ»ì * ̾¥Ê¥Î¡¦·Á T05 ¤Î³èÍѤȷÁÍÆ»ì¤Î³èÍѤ¬¤¢¤ë¤â¤Î * * ¼­Åµ¤Ç¤Îɽµ­Ë¡ Îã¸ì * * KY ·Á Èþ¤·¤¤ * KYT ̾¥Ê¥Î¡¦·Á »Í³Ñ¤¤,²«¿§¤¤ * KYna ·Á ¾®¤µ¤¤,Â礭¤¤(³èÍѤË[¤Ê(Ï¢ÂÎÍÑË¡¥Ê]¤¬¤¢¤ë·ÁÍÆ»ì) * KYmi ·Á ¶¯¤¤¡¢½Å¤¤(¤ß¤Ç½ª¤ë¤È̾»ì¤ËžÀ®¤¹¤ë·ÁÍÆ»ì) * KYme ·Á ¶¯¤á¡¢Ä¹¤á(¤á¤Ç½ª¤ë¤È·ÁÍÆÆ°»ì¤ËžÀ®¤¹¤ë·ÁÍÆ»ì) * KYU ·ÁÍÆ»ì¤Î¥¦²»ÊØ(Èþ¤·¤å¤¦) * */ KY _ _ /* Èþ¤·¤¤ */ KYT _ _ /* »Í³Ñ¤¤,²«¿§¤¤*/ KYna _ _ /* Â礭¤¤¡¤Â礭¤Ê */ KYmi _ _ /* ¤ß¤Ç½ª¤ë¤È̾»ì¤ËžÀ®¡£½Å¤ß¡¢¤¦¤Þ¤ß */ KYme _ _ /* ¤á¤Ç½ª¤ë¤È·ÁÍÆÆ°»ì¤ËžÀ®¡£Ä¹¤á¡¢Â礭¤á */ KYmime _ _ /* KYmi, KYme ¤ÎξÊý¤ÎÀ­¼Á¤ò¹ç¤ï¤»»ý¤Ä¡£¶¯¤ß¡¢¶¯¤á */ KYU _ _ /* Èþ¤·¤å¤¦ */ /* ¤½¤Î¾: * Àܳ»ì¡¤´¶Æ°»ì¤ò¹ç¤ï¤»¤ë¡¥Àܳ´Ø·¸¤¬Æ±¤¸¤¿¤á¡¥ */ CJ _ _ /* Àܳ»ì¡¤´¶Æ°»ì¡¤Ï¢¸ì¤Ê¤É*/ RT _ _ /* Ï¢Âλì */ OKX _ _ /* ư»ì¤ÎÃúǫɽ¸½¤Î¸ì´´ ¡Ö¤ªÊ¹¤­¡×¤È¤« */ Canna37p3/dic/ideo/Imakefile0100644000076500001200000000050107554213566015146 0ustar shinraadmin/* $Id: Imakefile,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ */ #include "../../Canna.conf" CANNAROOT = ../.. #define IHaveSubdirs #define PassCDebugFlags SUBDIRS = pubdic grammar words MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) MakeLintLibSubdirs($(SUBDIRS)) MakeLintSubdirs($(SUBDIRS),install.ln,install.ln) Canna37p3/dic/ideo/pubdic/0040755000076500001200000000000010052700703014567 5ustar shinraadminCanna37p3/dic/ideo/pubdic/.cvsignore0100644000076500001200000000003507601177340016575 0ustar shinraadmin.depend Makefile pod iroha.t Canna37p3/dic/ideo/pubdic/a.p0100644000076500001200000043336107735225677015231 0ustar shinraadmin¤¢ ¤¢ #CJ 218 ¤¢ ¤¢ #K5r 1 ¤¢ ˰ #K5r 1 ¤¢ ÌÀ #K5r 1 ¤¢ ¶õ #K5r 199 ¤¢ ³« #K5r 3 ¤¢ °¢ #KJ 10 ¤¢ °¤ #KJ 13 ¤¢ °¡ #KJ 3 ¤¢ °£ #KJ 3 ¤¢ ¸ã #KJ 3 ¤¢ ÊÔ #M5 32 ¤¢ °¡ #PRE 131 ¤¢ °© #W5 11 ¤¢ ¹ç #W5 127 ¤¢ ¤¢ #W5 25 ¤¢ ²ñ #W5 255 ¤¢ Áø #W5 5 ¤¢ ºß #aru 11 ¤¢ ¤¢ #aru 255 ¤¢ Í­ #aru 59 ¤¢¡¼¤«¤¤¤Ð ¥¢¡¼¥«¥¤¥Ð #T35 1 ¤¢¡¼¤«¤¤¤Ð¡¼ ¥¢¡¼¥«¥¤¥Ð¡¼ #T35 1 ¤¢¡¼¤«¤¤¤Ö ¥¢¡¼¥«¥¤¥Ö #T30 19 ¤¢¡¼¤­¤Æ¤¯¤Á¤ã ¥¢¡¼¥­¥Æ¥¯¥Á¥ã #T35 26 ¤¢¡¼¤­¤Æ¤¯¤Á¤ã¡¼ ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¼ #T35 26 ¤¢¡¼¤®¤å¤á¤ó¤È ¥¢¡¼¥®¥å¥á¥ó¥È #T35 6 ¤¢¡¼¤¯ ¥¢¡¼¥¯ #T35 1 ¤¢¡¼¤¹ ¥¢¡¼¥¹ #T30 1 ¤¢¡¼¤Á ¥¢¡¼¥Á #T35 4 ¤¢¡¼¤Á¤¹¤È ¥¢¡¼¥Á¥¹¥È #T35 3 ¤¢¡¼¤Æ¤£¤¯¤ë ¥¢¡¼¥Æ¥£¥¯¥ë #T35 1 ¤¢¡¼¤Æ¤£¤¹¤È ¥¢¡¼¥Æ¥£¥¹¥È #T35 3 ¤¢¡¼¤Ç¤ó¤È ¥¢¡¼¥Ç¥ó¥È #KK 2 ¤¢¡¼¤Ó¤È¤ì¡¼¤·¤ç¤ó ¥¢¡¼¥Ó¥È¥ì¡¼¥·¥ç¥ó #T30 2 ¤¢¤¢ ÓË¸Æ #CJ 0 ¤¢¤¢ ¤¢¤¢ #T30 62 ¤¢¤¢¤¤¤¦ ¤¢¤¢¤¤¤¦ #RT 3 ¤¢¤¤ ¥¢¥¤ #T35 0 ¤¢¤¤ ¥¢¥¤ #PRE 0 ¤¢¤¤ °£ #KJ 0 ¤¢¤¤ °§ #KJ 0 ¤¢¤¤ °¨ #KJ 0 ¤¢¤¤ °© #KJ 0 ¤¢¤¤ Áê #KJ 13 ¤¢¤¤ °¥ #KJ 3 ¤¢¤¤ ¹ç #KJ 7 ¤¢¤¤ Áê #PRE 10 ¤¢¤¤ °¦ #S5 0 ¤¢¤¤ °¦ #T30 120 ¤¢¤¤ Íõ #T35 6 ¤¢¤¤¤¢¤ó ¥¢¥¤¥¢¥ó #T35 1 ¤¢¤¤¤¤¤ì¤Ê ÁêÍÆ¤ì¤Ê #KY 1 ¤¢¤¤¤ª ½©Êæ #CN 0 ¤¢¤¤¤ª¤¤ ÁêÀ¸ #JCN 0 ¤¢¤¤¤ª¤¤ ÁêÀ¸ #T35 0 ¤¢¤¤¤« °¥²Î #T35 0 ¤¢¤¤¤«¤¿ ÁêÊý #T35 0 ¤¢¤¤¤«¤ï ¹çÀî #JCN 0 ¤¢¤¤¤«¤ï ÁêÀî #JCN 0 ¤¢¤¤¤«¤ï °¦Àî #JNS 0 ¤¢¤¤¤«¤ï¤é¤º ÁêÊѤï¤é¤º #T06 19 ¤¢¤¤¤«¤ó °¥´¿ #T35 0 ¤¢¤¤¤¬¤ó °¥´ê #T30 0 ¤¢¤¤¤¬¤ó °¦´á #T30 1 ¤¢¤¤¤­¤ç¤¦ °¦ÕÈ #T35 1 ¤¢¤¤¤­¤ç¤¦ °¦·É #T35 2 ¤¢¤¤¤¯¤Á Ò¸¼ó #T35 0 ¤¢¤¤¤±¤ó °¦¸¤ #T35 0 ¤¢¤¤¤³ ¥¢¥¤»Ò #JNM 0 ¤¢¤¤¤³ °¦»Ò #JNM 0 ¤¢¤¤¤³ ¤¢¤¤¤³ #T15 0 ¤¢¤¤¤³ °¦¸Ü #T30 4 ¤¢¤¤¤³¤¦ °¦¹Ã #JCN 0 ¤¢¤¤¤³¤¦ °¦¹¥ #T30 2 ¤¢¤¤¤³¤¯ °¦¹ñ #T35 1 ¤¢¤¤¤³¤È¤Ê Áê°Û¤Ê #R5 0 ¤¢¤¤¤³¤ó ¥¢¥¤¥³¥ó #T35 44 ¤¢¤¤¤´ °¦¸î #T30 0 ¤¢¤¤¤µ¤¤ °¦ºÊ #T35 1 ¤¢¤¤¤µ¤Ä °§»¢ #T30 6 ¤¢¤¤¤µ¤ï ÁêÂô #JNS 0 ¤¢¤¤¤¶¤Ã¤¯ ¥¢¥¤¥¶¥Ã¥¯ #JN 0 ¤¢¤¤¤¶¤ï ÁêÂô #JNS 0 ¤¢¤¤¤¶¤ï Áêß· #JNS 0 ¤¢¤¤¤·¤å¤¦ °¥½¥ #T35 1 ¤¢¤¤¤·¤ç¤¦ °¦¾§ #T30 1 ¤¢¤¤¤·¤ç¤¦ °¦ëÖ #T30 1 ¤¢¤¤¤·¤ç¤¦ °¦¾Î #T35 2 ¤¢¤¤¤·¤ç¤¦ ÁêÀ­ #T35 8 ¤¢¤¤¤¸ °¦»ù #T35 0 ¤¢¤¤¤¸¤ç¤¦ °¦¾ð #T35 5 ¤¢¤¤¤¸¤ó °¦¿Í #T35 1 ¤¢¤¤¤¹ ¥¢¥¤¥¹ #T35 3 ¤¢¤¤¤º ¹ç¿Þ #T30 1 ¤¢¤¤¤º¤ß Íõ½» #CN 0 ¤¢¤¤¤»¤­ °¥ÀË #T30 0 ¤¢¤¤¤»¤Ä °¥ÀÚ #T05 0 ¤¢¤¤¤½ Áê°ë #JNS 0 ¤¢¤¤¤½ °¦ÁÛ #T35 4 ¤¢¤¤¤½¤ì¡¼¤·¤ç¤ó ¥¢¥¤¥½¥ì¡¼¥·¥ç¥ó #T30 1 ¤¢¤¤¤½¤ì¡¼¤¿ ¥¢¥¤¥½¥ì¡¼¥¿ #T35 1 ¤¢¤¤¤½¤ì¡¼¤¿¡¼ ¥¢¥¤¥½¥ì¡¼¥¿¡¼ #T35 1 ¤¢¤¤¤¾¤¦ °¦Áþ #T35 0 ¤¢¤¤¤¿¤¤ ÁêÂÐ #T30 1 ¤¢¤¤¤À ±ÑÅÄ #JCN 0 ¤¢¤¤¤À ²ñÅÄ #JNS 0 ¤¢¤¤¤À ´Ö #JNS 0 ¤¢¤¤¤À ÁêÅÄ #JNS 0 ¤¢¤¤¤À ´Ö #T35 182 ¤¢¤¤¤À ¤¢¤¤¤À #T35 0 ¤¢¤¤¤À¤¬¤é ´ÖÊÁ #T35 1 ¤¢¤¤¤Á °¦ÃÎ #JCN 0 ¤¢¤¤¤Á¤±¤ó °¦Ãθ© #CNS 0 ¤¢¤¤¤Á¤ã¤¯ °¦Ãå #T30 0 ¤¢¤¤¤Á¤ç¤¦ °¦Ä» #T35 0 ¤¢¤¤¤Ä Áê·Ñ #G5 0 ¤¢¤¤¤Ä Á꼡 #G5 1 ¤¢¤¤¤Ä ¤¢¤¤¤Ä #T35 3 ¤¢¤¤¤Ä¤¦ ÁêÄÌ #ZX 0 ¤¢¤¤¤Å ²ñÄÅ #CN 0 ¤¢¤¤¤Å¤¿¤«¤À ²ñÄŹâÅÄ #CN 0 ¤¢¤¤¤Å¤Ð¤ó¤² ²ñÄź䲼 #CN 0 ¤¢¤¤¤Å¤ï¤«¤Þ¤Ä ²ñÄż㾾 #CN 0 ¤¢¤¤¤Æ Áê¼ê #T35 88 ¤¢¤¤¤Æ¤µ¤­ Áê¼êÀè #T35 2 ¤¢¤¤¤Æ¤à ¥¢¥¤¥Æ¥à #T35 14 ¤¢¤¤¤Ç¤¢ ¥¢¥¤¥Ç¥¢ #T35 19 ¤¢¤¤¤Ç¤£¤¢ ¥¢¥¤¥Ç¥£¥¢ #T35 8 ¤¢¤¤¤Ç¤ó¤Æ¤£¤Æ¤£ ¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£ #T35 0 ¤¢¤¤¤Ç¤ó¤Æ¤£¤Æ¤£¡¼ ¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼ #T35 1 ¤¢¤¤¤Ç¤ó¤Æ¤£¤Õ¤¡¤¤ ¥¢¥¤¥Ç¥ó¥Æ¥£¥Õ¥¡¥¤ #T30 0 ¤¢¤¤¤È¤¦ °¦Åì #CN 0 ¤¢¤¤¤È¤¦ °¥Åé #T30 0 ¤¢¤¤¤É¤¯ °¦ÆÉ #T30 1 ¤¢¤¤¤É¤ê¤ó¤° ¥¢¥¤¥É¥ê¥ó¥° #T30 3 ¤¢¤¤¤É¤ë ¥¢¥¤¥É¥ë #T35 8 ¤¢¤¤¤Ë¤¯ ¤¢¤¤¤Ë¤¯ #F06 0 ¤¢¤¤¤Ë¤¯ À¸Áþ #F06 0 ¤¢¤¤¤Ë¤¯ À¸Áþ #T06 3 ¤¢¤¤¤Ë¤¯ ¤¢¤¤¤Ë¤¯ #T06 4 ¤¢¤¤¤Î °¦Ìî #JNS 0 ¤¢¤¤¤Ï¤é Á긶 #JCN 0 ¤¢¤¤¤Ð ¶Â¾ì #JNS 0 ¤¢¤¤¤Ð Áê¾ì #JNS 0 ¤¢¤¤¤Ó¡¼¤¨¤à ¥¢¥¤¥Ó¡¼¥¨¥à #KK 1 ¤¢¤¤¤Ó¤­ °©°ú #T30 0 ¤¢¤¤¤Ö °¦Éï #T30 0 ¤¢¤¤¤Ù¤Ä °¦ÊÌ #CN 0 ¤¢¤¤¤Ù¤Ä °¥ÊÌ #T35 0 ¤¢¤¤¤Þ ¹ç´Ö #T35 2 ¤¢¤¤¤Þ¤¤ ¤¢¤¤¤Þ¤¤ #T05 3 ¤¢¤¤¤Þ¤¤ Û£Ëæ #T05 5 ¤¢¤¤¤ß ²ñ¸« #JCN 0 ¤¢¤¤¤è¤¦ °¦ÍÑ #T30 3 ¤¢¤¤¤é ¸ãÊ¿ #CN 0 ¤¢¤¤¤é °¨ÎÉ #JCN 0 ¤¢¤¤¤é¤¯ °¥³Ú #T35 0 ¤¢¤¤¤é¤· °¦¤é¤· #KY 0 ¤¢¤¤¤é¤·¤å¤¦ °¦¤é¤·¤å¤¦ #KYU 0 ¤¢¤¤¤í ð§Ï© #T35 2 ¤¢¤¤¤í¤ó ¥¢¥¤¥í¥ó #T35 3 ¤¢¤¦¤È ¥¢¥¦¥È #T30 72 ¤¢¤¦¤È¤µ¤¤¤À¡¼ ¥¢¥¦¥È¥µ¥¤¥À¡¼ #T35 1 ¤¢¤¦¤ó °¤Òß #T35 0 ¤¢¤¨ Óà #G5r 0 ¤¢¤¨ ¤¢¤¨ #G5r 1 ¤¢¤¨ Ϥ¨ #KSr 0 ¤¢¤¨¤Æ ¤¢¤¨¤Æ #F14 1 ¤¢¤¨¤Æ ´º¤¨¤Æ #F14 3 ¤¢¤¨¤Ê ´º¤Ê #KY 0 ¤¢¤¨¤Î¤¦ ´º¤Î¤¦ #KYU 0 ¤¢¤¨¤í¤Õ¤í¡¼¤È ¥¢¥¨¥í¥Õ¥í¡¼¥È #KK 1 ¤¢¤¨¤ó °¡±ô #T35 1 ¤¢¤ª Àð #G5 0 ¤¢¤ª ¶Ä #G5 5 ¤¢¤ª ÀÄ #KYmi 27 ¤¢¤ª Áó #KYmi 4 ¤¢¤ª ÀÄ #PRE 4 ¤¢¤ª Àú #R5r 2 ¤¢¤ª Áó #T35 0 ¤¢¤ª ÊË #T35 0 ¤¢¤ª ÀÄ #T35 25 ¤¢¤ª¤¢¤ª ÀÄ¡¹ #F00 1 ¤¢¤ª¤¤ Àİæ #JCN 0 ¤¢¤ª¤¤ °ª #T35 0 ¤¢¤ª¤¦ Áó¤¦ #KYU 1 ¤¢¤ª¤¦ ÀĤ¦ #KYU 2 ¤¢¤ª¤ª¤Ë Àĵ´ #T35 0 ¤¢¤ª¤¬¤¨¤ë Àij¿ #T35 0 ¤¢¤ª¤¬¤­ ÀijÀ #JCN 0 ¤¢¤ª¤¬¤·¤Þ ÀÄ¥öÅç #CN 0 ¤¢¤ª¤­ ÀÄÌÚ #JNS 0 ¤¢¤ª¤¶¤á ÀĤ¶¤á #KS 1 ¤¢¤ª¤·¤Þ ÀÄÅç #JCN 0 ¤¢¤ª¤¸¤í ÀÄÇò #KYmi 0 ¤¢¤ª¤¸¤í¤¦ ÀÄÇò¤¦ #KYU 0 ¤¢¤ª¤¾¤é ÀĶõ #T35 1 ¤¢¤ª¤¿ ÀÄÅÄ #T35 0 ¤¢¤ª¤Ì¤Þ Àľ #JCN 0 ¤¢¤ª¤Î ÀÄÌî #JCN 0 ¤¢¤ª¤Ð ÀÄÍÕ #T35 1 ¤¢¤ª¤à¤· ÀÄÃî #T35 0 ¤¢¤ª¤â¤Î ÀÄʪ #T35 2 ¤¢¤ª¤â¤ê ÀÄ¿¹ #CN 0 ¤¢¤ª¤â¤ê¤±¤ó ÀÄ¿¹¸© #CNS 0 ¤¢¤ª¤â¤ê¤· ÀÄ¿¹»Ô #CNS 0 ¤¢¤ª¤ä ÀÄë #JCN 0 ¤¢¤ª¤ä¤® ÀÄÌø #JCN 0 ¤¢¤ª¤ä¤® ÀÄÌø #T35 2 ¤¢¤ª¤ä¤Þ ÀÄ»³ #JCN 0 ¤¢¤« ÀÖ #KYmi 31 ¤¢¤« ÀÖ #PRE 10 ¤¢¤« ˰¤« #S5 0 ¤¢¤« ÌÀ¤« #S5 3 ¤¢¤« ÀÖ #T35 46 ¤¢¤« ¹¤ #T35 5 ¤¢¤«¤¤ ÀÖ°æ #JCN 0 ¤¢¤«¤¤¤¬¤ï ÀÖ°æÀî #CN 0 ¤¢¤«¤¤¤± ÀÖÃÓ #JCN 0 ¤¢¤«¤¤¤ï ÀÖÈØ #CN 0 ¤¢¤«¤¦¤ó¤È ¥¢¥«¥¦¥ó¥È #T35 53 ¤¢¤«¤¨¤À ÀÖ»Þ #JNS 0 ¤¢¤«¤ª¤« ÀÖ²¬ #JCN 0 ¤¢¤«¤ª¤Ë ÀÖµ´ #T35 0 ¤¢¤«¤¬¤¤ ÀÖ³­ #T35 0 ¤¢¤«¤¬¤ï ÀÖÀî #JCN 0 ¤¢¤«¤® ÀÖ¾ë #JCN 0 ¤¢¤«¤® ÀÖÌÚ #JNS 0 ¤¢¤«¤² ÀÖÌÓ #T35 0 ¤¢¤«¤²¤é ¥¢¥«¥²¥é #T35 0 ¤¢¤«¤²¤é ÀÖÂïÌÚÄ» #T35 0 ¤¢¤«¤´ ÀÖ»Ò #T35 1 ¤¢¤«¤µ¤« ÀÖºä #JCN 0 ¤¢¤«¤µ¤­ ÀÖºì #CN 0 ¤¢¤«¤¶¤ï ÀÖÂô #JCN 0 ¤¢¤«¤· ÌÀÀÐ #JCN 0 ¤¢¤«¤· ¾Ú #T35 0 ¤¢¤«¤· Åô #T35 0 ¤¢¤«¤·¤ª ÀÖĬ #T35 0 ¤¢¤«¤·¤Ê ÌÀ²Ê #CN 0 ¤¢¤«¤¸ ÀÖ»ú #T35 8 ¤¢¤«¤Á¤ó ÀÖ¥Á¥ó #T35 0 ¤¢¤«¤Ã¤Ñ¤¸ ÀÖ¤ÃÃÑ #T35 0 ¤¢¤«¤Ä¤« ÀÖÄÍ #JCN 0 ¤¢¤«¤Ä¤­ ¤¢¤«¤Ä¤­ #T35 1 ¤¢¤«¤Ä¤­ ¶Ç #T35 2 ¤¢¤«¤Ä¤Á ÀÖÅÚ #T35 0 ¤¢¤«¤Ä¤Ä¤ß ÀÖÄé #CN 0 ¤¢¤«¤Ç¤ß¤Ã¤¯ ¥¢¥«¥Ç¥ß¥Ã¥¯ #T17 0 ¤¢¤«¤É¤Þ¤ê ÀÖÇñ #JCN 0 ¤¢¤«¤Ì¤± ¹¤È´¤± #KS 0 ¤¢¤«¤Í °« #JN 0 ¤¢¤«¤Í °« #T35 1 ¤¢¤«¤Ï¤Ë ÀÖ¾ý #JNS 0 ¤¢¤«¤Ï¤Í ÀÖ±© #JNS 0 ¤¢¤«¤Ð¤Í ÀÖ±© #JCN 0 ¤¢¤«¤Ð¤Í ÀÖ±©º¬ #JCN 0 ¤¢¤«¤Ó¤é ÀÖÊ¿ #CN 0 ¤¢¤«¤Ü¤¦ ÀÖ˹ #T35 1 ¤¢¤«¤Ü¤ê ÀÖËÙ #JCN 0 ¤¢¤«¤Þ ÀÖ´Ö #JCN 0 ¤¢¤«¤Þ¤Ä ÀÖ¾¾ #JCN 0 ¤¢¤«¤Þ¤Ä ÀÖ¾¾ #T35 0 ¤¢¤«¤Þ¤ë ÀÖ´Ý #T35 0 ¤¢¤«¤é ÀÖ¤é #M5r 0 ¤¢¤«¤é¤¬¤ª ÀÖ¤é´é #T35 0 ¤¢¤«¤é¤µ¤Þ ¤¢¤«¤é¤µ¤Þ #T05 0 ¤¢¤«¤ê Åô #T35 1 ¤¢¤«¤ê Åô¤ê #T35 1 ¤¢¤«¤ê ÌÀ¤ê #T35 1 ¤¢¤«¤ë ÌÀ¤ë #KYmime 17 ¤¢¤«¤ë¤¦ ÌÀ¤ë¤¦ #KYU 2 ¤¢¤«¤ë¤ß ÌÀ¤ë¤ß #T35 1 ¤¢¤«¤ó °¤´¨ #CN 0 ¤¢¤«¤ó ¤¢¤«¤ó #T35 2 ¤¢¤«¤ó¤Ü¤¦ ÀÖ¤óË· #T35 1 ¤¢¤¬ ¤¢¤¬ #K5r 0 ¤¢¤¬ ­Áß #K5r 0 ¤¢¤¬ Æ­¤¬ #R5 0 ¤¢¤¬ ÍȤ¬ #R5 0 ¤¢¤¬ µó¤¬ #R5 7 ¤¢¤¬ ¤¢¤¬ #R5r 11 ¤¢¤¬ ¾å¤¬ #R5r 69 ¤¢¤¬¤Ä¤Þ ¸ãºÊ #JCN 0 ¤¢¤¬¤Ä¤Þ ²æºÊ #JNS 0 ¤¢¤¬¤ë ¾å¥ë #CNSUC1 1 ¤¢¤¬¤ï ¸ãÀî #CN 0 ¤¢¤­ °Â´ô #JCN 0 ¤¢¤­ °Â·Ý #JCN 0 ¤¢¤­ ¤¢¤­ #JN 0 ¤¢¤­ °¡µª #JNM 0 ¤¢¤­ ãÔ #KJ 0 ¤¢¤­ °¬ #KJ 1 ¤¢¤­ ÌÀ #KJ 3 ¤¢¤­ ±Þ¤­ #KSr 0 ¤¢¤­ ˰¤­ #KSr 14 ¤¢¤­ ½© #T35 75 ¤¢¤­¤¦ ½©ÊÝ #CN 0 ¤¢¤­¤ª ½©ÃË #JNM 0 ¤¢¤­¤ª ½©É× #JNM 0 ¤¢¤­¤ª ½©Íº #JNM 0 ¤¢¤­¤ª ¾¼ÃË #JNM 0 ¤¢¤­¤ª ¾¼É× #JNM 0 ¤¢¤­¤ª ¾¼Íº #JNM 0 ¤¢¤­¤ª ¾ÏÉ× #JNM 0 ¤¢¤­¤ª ÌÀÃË #JNM 0 ¤¢¤­¤ª ÌÀÉ× #JNM 0 ¤¢¤­¤ª ÌÀͺ #JNM 0 ¤¢¤­¤«¤ï ½©Àî #JCN 0 ¤¢¤­¤¬¤ï ½©Àî #CN 0 ¤¢¤­¤³ ¸²»Ò #JNM 0 ¤¢¤­¤³ ¹¸»Ò #JNM 0 ¤¢¤­¤³ ¾¼»Ò #JNM 0 ¤¢¤­¤³ ¾½»Ò #JNM 0 ¤¢¤­¤³ ¾Ï»Ò #JNM 0 ¤¢¤­¤³ ÌÀ»Ò #JNM 0 ¤¢¤­¤µ¤á ½©±« #T35 0 ¤¢¤­¤µ¤ï ½©ß· #JNS 0 ¤¢¤­¤·¤Þ ¾¼Åç #JCN 0 ¤¢¤­¤¹ ¶õÁã #T35 0 ¤¢¤­¤¹¤¨ ½©Ëö #JNS 0 ¤¢¤­¤¿ ½©ÅÄ #JCN 0 ¤¢¤­¤¿ ˰ÅÄ #JCN 0 ¤¢¤­¤¿¤±¤ó ½©Åĸ© #CNS 0 ¤¢¤­¤¿¤· ½©ÅÄ»Ô #CNS 0 ¤¢¤­¤Á ¶õ¤­ÃÏ #T35 0 ¤¢¤­¤Ä °Â·ÝÄÅ #CN 0 ¤¢¤­¤È¤· ¹¸Ç¯ #JNM 0 ¤¢¤­¤È¤â ½©Í§ #JN 0 ¤¢¤­¤Ê ÌÀºÚ #JNM 0 ¤¢¤­¤Ê ¾¦ #W5r 0 ¤¢¤­¤Ê¤¤ ¾¦¤¤ #T30 0 ¤¢¤­¤Î¤ê ÌÀµª #JNM 0 ¤¢¤­¤Î¤ê ÌÀ·û #JNM 0 ¤¢¤­¤Ï¤Ð¤é ½©ÍÕ¸¶ #CN 0 ¤¢¤­¤Ð ½©ÍÕ #JCN 0 ¤¢¤­¤Ð¤ì ½©À²¤ì #T35 1 ¤¢¤­¤Ò¤³ ¾¼É§ #JNM 0 ¤¢¤­¤Ò¤³ ÌÀɧ #JNM 0 ¤¢¤­¤Ò¤Ç ¾´±Ñ #JNM 0 ¤¢¤­¤Ò¤È ÌÀ¿Î #JNM 0 ¤¢¤­¤Ò¤í ÌÀ¹¨ #JNM 0 ¤¢¤­¤Ò¤í ÌÀ¹° #JNM 0 ¤¢¤­¤ß ½©À¸ #JNM 0 ¤¢¤­¤â¤È ½©¸µ #JCN 0 ¤¢¤­¤â¤È ½©ËÜ #JNS 0 ¤¢¤­¤ä ¶õ¤­²È #T35 0 ¤¢¤­¤ä¤Þ ½©»³ #JCN 0 ¤¢¤­¤å¡¼¤à¤ì¡¼¤¿ ¥¢¥­¥å¡¼¥à¥ì¡¼¥¿ #T35 1 ¤¢¤­¤å¡¼¤à¤ì¡¼¤¿¡¼ ¥¢¥­¥å¡¼¥à¥ì¡¼¥¿¡¼ #T35 1 ¤¢¤­¤å¤à¤ì¡¼¤¿ ¥¢¥­¥å¥à¥ì¡¼¥¿ #T35 1 ¤¢¤­¤å¤à¤ì¡¼¤¿¡¼ ¥¢¥­¥å¥à¥ì¡¼¥¿¡¼ #T35 1 ¤¢¤­¤é °° #JNM 0 ¤¢¤­¤é ´Õ #JNM 0 ¤¢¤­¤é ¸÷ #JNM 0 ¤¢¤­¤é ¹¸ #JNM 0 ¤¢¤­¤é ¾´ #JNM 0 ¤¢¤­¤é ¾¼ #JNM 0 ¤¢¤­¤é ¾½ #JNM 0 ¤¢¤­¤é ¾Ï #JNM 0 ¤¢¤­¤é ÌÀ #JNM 0 ¤¢¤­¤é μ #JNM 0 ¤¢¤­¤é ϯ #JNM 0 ¤¢¤­¤é Úê #JNM 0 ¤¢¤­¤é¤« ÌÀ¤é¤« #T05 33 ¤¢¤­¤é¤á ¤¢¤­¤é¤á #KSr 19 ¤¢¤­¤é¤á Äü¤á #KSr 4 ¤¢¤­¤ì Êò¤ì #KS 3 ¤¢¤­¤ì¤¹ ¥¢¥­¥ì¥¹ #JN 0 ¤¢¤­¤ì¤¹¤±¤ó ¥¢¥­¥ì¥¹ç§ #T35 0 ¤¢¤¯ °® #KJ 0 ¤¢¤¯ °¯ #KJ 0 ¤¢¤¯ °­ #PRE 10 ¤¢¤¯ °­ #T35 6 ¤¢¤¯¤¤ °­°Õ #T35 0 ¤¢¤¯¤¨¤­ °­±Ö #T35 0 ¤¢¤¯¤·¤Ä °­¼Á #T05 2 ¤¢¤¯¤·¤Ç¤ó¤È ¥¢¥¯¥·¥Ç¥ó¥È #T35 1 ¤¢¤¯¤·¤å °®¼ê #T30 1 ¤¢¤¯¤·¤å °­¼ê #T35 0 ¤¢¤¯¤·¤å¤¦ °­½­ #T35 0 ¤¢¤¯¤·¤å¤ß °­¼ñÌ£ #T05 0 ¤¢¤¯¤·¤ç¤ó ¥¢¥¯¥·¥ç¥ó #T35 4 ¤¢¤¯¤¸ °­»ö #T35 1 ¤¢¤¯¤¸¤­ °­¿© #T05 0 ¤¢¤¯¤»¤¤ °­À­ #T35 0 ¤¢¤¯¤»¤µ¤ê ¥¢¥¯¥»¥µ¥ê #T35 1 ¤¢¤¯¤»¤¹ ¥¢¥¯¥»¥¹ #T30 4 ¤¢¤¯¤»¤Ã¤·¤ó¤° ¥¢¥¯¥»¥Ã¥·¥ó¥° #T35 1 ¤¢¤¯¤»¤×¤È ¥¢¥¯¥»¥×¥È #T30 2 ¤¢¤¯¤»¤ë ¥¢¥¯¥»¥ë #T35 3 ¤¢¤¯¤»¤ó °­Àï #T30 0 ¤¢¤¯¤»¤ó °­Á¬ #T35 0 ¤¢¤¯¤»¤ó¤È ¥¢¥¯¥»¥ó¥È #T35 1 ¤¢¤¯¤¿ ³© #T35 16 ¤¢¤¯¤¿¡¼ ¥¢¥¯¥¿¡¼ #T35 1 ¤¢¤¯¤¿¤¤ °­ÂÖ #T35 1 ¤¢¤¯¤¿¤¬¤ï ³©Àî #JCN 0 ¤¢¤¯¤À¤Þ °­¶Ì #T35 0 ¤¢¤¯¤Ä °¤µ×ÄÅ #JCN 0 ¤¢¤¯¤Æ¤£¤Ó¤Æ¤£ ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£ #T35 11 ¤¢¤¯¤Æ¤£¤Ó¤Æ¤£¡¼ ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¡¼ #T35 11 ¤¢¤¯¤Æ¤£¤Ö ¥¢¥¯¥Æ¥£¥Ö #T05 8 ¤¢¤¯¤Æ¤£¤Ù¡¼¤·¤ç¤ó ¥¢¥¯¥Æ¥£¥Ù¡¼¥·¥ç¥ó #T35 0 ¤¢¤¯¤È¤¯ °­ÆÁ #T05 1 ¤¢¤¯¤É ¤¢¤¯¤É #KY 0 ¤¢¤¯¤Ë¤ó °­¿Í #T35 2 ¤¢¤¯¤Í °¤µ×º¬ #JCN 0 ¤¢¤¯¤Ð °­ÇÍ #T35 0 ¤¢¤¯¤Ó ¤¢¤¯¤Ó #T30 1 ¤¢¤¯¤Ó¤ç¤¦ °­É #T35 1 ¤¢¤¯¤Ó¤ç¤¦¤É¤¦ °­Ê¿Åù #T15 0 ¤¢¤¯¤Ø¤¤ °­ÊÀ #T35 0 ¤¢¤¯¤Ø¤­ °­ÊÊ #T35 0 ¤¢¤¯¤Þ °­Ëâ #T35 6 ¤¢¤¯¤Þ¤Ç ¤¢¤¯¤Þ¤Ç #F14 14 ¤¢¤¯¤Þ¤Ç¤â ¤¢¤¯¤Þ¤Ç¤â #F14 1 ¤¢¤¯¤ß ˰³¤ #JCN 0 ¤¢¤¯¤ß¤ç¤¦ °­Ì¾ #T35 1 ¤¢¤¯¤à °­Ì´ #T35 1 ¤¢¤¯¤á¤¤ °­Ì¾ #T35 0 ¤¢¤¯¤ä¤¯ °­Ìò #T35 0 ¤¢¤¯¤æ¤¦ °­Í§ #T35 0 ¤¢¤¯¤è¤¦ °­ÍÑ #T30 1 ¤¢¤¯¤ê¤ç¤¦ °­Îî #T35 0 ¤¢¤¯¤ê¤ç¤¯ °®ÎÏ #T35 0 ¤¢¤¯¤ê¤ë ¥¢¥¯¥ê¥ë #T35 0 ¤¢¤° ·ñ #M5 0 ¤¢¤°¤¤ °¤µ×Èæ #JCN 0 ¤¢¤°¤¤ °Â¿© #JNS 0 ¤¢¤°¤µ °¤Áð #JNS 0 ¤¢¤°¤Ë °À¹ñ #JCN 0 ¤¢¤°¤Í ¤¢¤°¤Í #KS 0 ¤¢¤°¤Í¤¹ ¥¢¥°¥Í¥¹ #JN 0 ¤¢¤± ¶õ¤± #KS 3 ¤¢¤± ³«¤± #KS 39 ¤¢¤± ÌÀ¤± #KSr 19 ¤¢¤± ¼ë #T35 0 ¤¢¤±¤¬¤¿ ÌÀ¤±Êý #T35 1 ¤¢¤±¤·¤á ³«¤±ÊĤá #T30 0 ¤¢¤±¤Á ÌÀÃÒ #JCN 0 ¤¢¤±¤Ã¤Ô¤í¤² ³«¤±¤Ã¹­¤² #T06 0 ¤¢¤±¤Î ÌÀÌî #JCN 0 ¤¢¤±¤Ï¤Ê ³«¤±Êü #S5r 0 ¤¢¤±¤Ï¤Þ ÌÀÉÍ #CN 0 ¤¢¤±¤Ü¤Î ½ì #T35 1 ¤¢¤±¤ï¤¿ ÌÀ¤±ÅÏ #S5r 0 ¤¢¤² °Â·Ý #CN 0 ¤¢¤² ¤¢¤² #KS 149 ¤¢¤² µó¤² #KS 57 ¤¢¤² ¾å¤² #KSr 138 ¤¢¤² ÍȤ² #KSr 6 ¤¢¤²¤¢¤· ÍȤ²Â­ #T35 5 ¤¢¤²¤¢¤· µó¤²Â­ #T35 6 ¤¢¤²¤ª ¾åÈø #JCN 0 ¤¢¤²¤¯ µó¤²¶ç #T35 1 ¤¢¤²¤¾¤³ ¾å¤²Äì #T35 0 ¤¢¤²¤Ä¤é ÏÀ #W5 1 ¤¢¤²¤Þ¤Ä ¾å¾¾ #JCN 0 ¤¢¤³¡¼¤¹¤Æ¤£¤Ã¤¯ ¥¢¥³¡¼¥¹¥Æ¥£¥Ã¥¯ #T05 1 ¤¢¤³¤¦ ÀÖÊæ #JCN 0 ¤¢¤³¤¦ ÀÖ¤¦ #KYU 2 ¤¢¤³¤ª ÀÖÊæ #CN 0 ¤¢¤³¤¬¤ì ¤¢¤³¤¬¤ì #KSr 1 ¤¢¤³¤¬¤ì Æ´¤ì #KSr 8 ¤¢¤´ °¤»ù #CN 0 ¤¢¤´ ³Ü #T35 0 ¤¢¤µ °Âº´ #JCN 0 ¤¢¤µ ¸ü¶¹ #JCN 0 ¤¢¤µ Àõ #KJ 3 ¤¢¤µ Àõ #KYme 42 ¤¢¤µ µù #R5r 4 ¤¢¤µ Ä« #T35 112 ¤¢¤µ Ëã #T35 6 ¤¢¤µ¡¼¤È ¥¢¥µ¡¼¥È #T30 6 ¤¢¤µ¤¤ Àõ°æ #JCN 0 ¤¢¤µ¤¤¤Á Ä«»Ô #T35 2 ¤¢¤µ¤¤¤ó ¥¢¥µ¥¤¥ó #T30 0 ¤¢¤µ¤ª ËãÀ¸ #CN 0 ¤¢¤µ¤« Àõ¹á #JCN 0 ¤¢¤µ¤« Ä«²â #JCN 0 ¤¢¤µ¤«¤ï ÀõÀî #JCN 0 ¤¢¤µ¤¬ Àõ²ì #JNS 0 ¤¢¤µ¤¬¤¿ Ä«Êý #T35 0 ¤¢¤µ¤¬¤ä °¤º´Ã« #CN 0 ¤¢¤µ¤­¤¿ °Âº´ËÌ #CN 0 ¤¢¤µ¤¯ Àõ¤¯ #T35 0 ¤¢¤µ¤¯¤µ ÀõÁð #CN 0 ¤¢¤µ¤¯¤Á Àõ¸ý #CN 0 ¤¢¤µ¤¯¤é Ä«ÁÒ #JCN 0 ¤¢¤µ¤°¤í Àõ¹õ #KY 0 ¤¢¤µ¤°¤í¤¦ Àõ¹õ¤¦ #KYU 0 ¤¢¤µ¤³ Ä«Íè #JCN 0 ¤¢¤µ¤³ ¤¢¤µ»Ò #JNM 0 ¤¢¤µ¤³ °¡¾¶»Ò #JNM 0 ¤¢¤µ¤´ Ä«Íè #CN 0 ¤¢¤µ¤·¤Ê Àõ²Ê #CN 0 ¤¢¤µ¤¸ Ä«ÃÏ #CN 0 ¤¢¤µ¤» ÀõÀ¥ #T35 0 ¤¢¤µ¤À ÀõÅÄ #JNS 0 ¤¢¤µ¤À ËãÅÄ #JNS 0 ¤¢¤µ¤Ã¤Æ ÌÀ¸åÆü #T35 15 ¤¢¤µ¤Ã¤Æ ¤¢¤µ¤Ã¤Æ #T35 4 ¤¢¤µ¤Ì¤Þ Àõ¾Â #JNS 0 ¤¢¤µ¤Î ÀõÌî #JCN 0 ¤¢¤µ¤Ï¤é Àõ¸¶ #JNS 0 ¤¢¤µ¤Ð Àõ±© #JNS 0 ¤¢¤µ¤Ð¤ó Ä«ÈÕ #T35 1 ¤¢¤µ¤Ò °° #JCN 0 ¤¢¤µ¤Ò Ä«Æü #JCN 0 ¤¢¤µ¤Ò °° #T35 1 ¤¢¤µ¤Ò Ä«Æü #T35 21 ¤¢¤µ¤Ò¤«¤»¤¤ °°²½À® #KK 4 ¤¢¤µ¤Ò¤«¤ï °°Àî #CN 0 ¤¢¤µ¤Ò¤¬¤ï °°Àî #CN 0 ¤¢¤µ¤Õ¤¯ ÀõÊ¡ #JNS 0 ¤¢¤µ¤Þ¤· Àõ¤Þ¤· #KY 0 ¤¢¤µ¤Þ¤·¤å¤¦ Àõ¤Þ¤·¤å¤¦ #KYU 0 ¤¢¤µ¤ß Àõ¸« #JNS 0 ¤¢¤µ¤ß¤Ê¤ß °Âº´Æî #CN 0 ¤¢¤µ¤á¤· Ä«ÈÓ #T35 1 ¤¢¤µ¤ä¤± Ä«¾Æ¤± #T35 1 ¤¢¤µ¤æ¤¦ īͼ #T35 0 ¤¢¤µ¤ê òÅ #T35 1 ¤¢¤¶ »ú #CNPRE 2 ¤¢¤¶ »ú #T35 0 ¤¢¤¶¤¤ Àõ°æ #JCN 0 ¤¢¤¶¤± ÓÞ #R5r 0 ¤¢¤¶¤È ¤¢¤¶¤È #KY 0 ¤¢¤¶¤Ê µê #W5 0 ¤¢¤¶¤Ö ËãÉÛ #CN 0 ¤¢¤¶¤à µ½ #K5 0 ¤¢¤¶¤ä¤« Á¯¤ä¤« #T05 1 ¤¢¤¶¤é¤· ¥¢¥¶¥é¥· #T35 0 ¤¢¤¶¤é¤· ³¤É¿ #T35 0 ¤¢¤· °­¤· #KY 4 ¤¢¤· °± #T35 0 ¤¢¤· °² #T35 0 ¤¢¤· µÓ #T35 1 ¤¢¤· ­ #T35 53 ¤¢¤·¤¢¤È ­À× #T35 1 ¤¢¤·¤ª Â­Èø #JCN 0 ¤¢¤·¤ª¤È ­²» #T35 1 ¤¢¤·¤«¤¬ Â­Íø #JCN 0 ¤¢¤·¤«¤± ­³Ý¤± #T35 0 ¤¢¤·¤«¤é¤º ¤¢¤·¤«¤é¤º #F14 13 ¤¢¤·¤«¤ê °²´¢ #JCN 0 ¤¢¤·¤¬¤«¤ê ­³Ý¤«¤ê #T35 1 ¤¢¤·¤¬¤«¤ê ­³Ý¤ê #T35 1 ¤¢¤·¤¬¤¿¤á ­¸Ç¤á #T30 0 ¤¢¤·¤¬¤é ­ÊÁ #JCN 0 ¤¢¤·¤¬¤é¤«¤ß ­ÊÁ¾å #CN 0 ¤¢¤·¤¬¤é¤·¤â ­ÊÁ²¼ #CN 0 ¤¢¤·¤¬¤ï °²Àî #CN 0 ¤¢¤·¤­¤·¤å¤¦¤­¤å¤¦ ¥¢¼°½³µå #T35 0 ¤¢¤·¤­¤¿ °±ËÌ #CN 0 ¤¢¤·¤­¤¿ °²ËÌ #CN 0 ¤¢¤·¤¯¤Ó ­¼ó #T35 0 ¤¢¤·¤³¤· ­¹ø #T35 0 ¤¢¤·¤¶¤ï °²Âô #JNS 0 ¤¢¤·¤¹¤¿¤ó¤È ¥¢¥·¥¹¥¿¥ó¥È #T35 2 ¤¢¤·¤º¤ê ­À¢ #CN 0 ¤¢¤·¤¿ ÌÀÆü #T35 183 ¤¢¤·¤¿¤« °¦Âë #CN 0 ¤¢¤·¤É¤ê ­¼è¤ê #T35 1 ¤¢¤·¤Ê °²ÉÊ #JNS 0 ¤¢¤·¤Ê¤ß ­ÊÂ¤ß #T35 0 ¤¢¤·¤Î¤³ °²¥Î¸Ð #CN 0 ¤¢¤·¤Ó ÇÏ¿ìÌÚ #T35 1 ¤¢¤·¤Ù °²ÊÕ #JCN 0 ¤¢¤·¤Ù¤Ä °²ÊÌ #CN 0 ¤¢¤·¤â¤È ­¸µ #T35 0 ¤¢¤·¤â¤Õ ¥¢¥·¥â¥Õ #JN 0 ¤¢¤·¤ä °²²° #JCN 0 ¤¢¤·¤ä¤¹ °²°Â #CN 0 ¤¢¤·¤å¤¦ °­¤·¤å¤¦ #KYU 1 ¤¢¤·¤å¤é °¤½¤Íå #JNM 0 ¤¢¤·¤ç¤í ­´ó #CN 0 ¤¢¤·¤è¤í ­´ó #CN 0 ¤¢¤·¤í °ÂÂå #CN 0 ¤¢¤·¤ï¤À ­ÏÂÅÄ #CN 0 ¤¢¤¸ °Ã¼£ #JCN 0 ¤¢¤¸ °³ #T35 0 ¤¢¤¸ òÍ #T35 1 ¤¢¤¸ Ì£ #T35 16 ¤¢¤¸¤¢ ¥¢¥¸¥¢ #CN 0 ¤¢¤¸¤¬¤µ¤ï °³¥öÂô #CN 0 ¤¢¤¸¤±¤Ê Ì£µ¤¤Ê #KY 4 ¤¢¤¸¤±¤Î¤¦ Ì£µ¤¤Î¤¦ #KYU 1 ¤¢¤¸¤µ¤¤ »çÍÛ²Ö #T35 1 ¤¢¤¸¤µ¤« °³ºä #JNS 0 ¤¢¤¸¤¹ °¤ÃÎ¿Ü #CN 0 ¤¢¤¸¤Ä¤± Ì£ÉÕ¤± #T30 0 ¤¢¤¸¤È¤ß °Â¼¡ÉÙ #JNS 0 ¤¢¤¸¤Ê °²ÉÊ #CN 0 ¤¢¤¸¤ß Ì£¸« #T30 1 ¤¢¤¸¤à °Â¿´±¡ #CN 0 ¤¢¤¸¤ï Ì£¤ï #W5r 4 ¤¢¤¹ ÌÀÆü #T35 161 ¤¢¤¹¤« ÈôÄ» #JCN 0 ¤¢¤¹¤« ÌÀÆü¹á #JCN 0 ¤¢¤¹¤«¤¤ ÈôÄ»°æ #JNS 0 ¤¢¤¹¤­¡¼ ¥¢¥¹¥­¡¼ #KK 24 ¤¢¤¹¤± ­½õ #JCN 0 ¤¢¤¹¤¿¤ê¤¹¤¯ ¥¢¥¹¥¿¥ê¥¹¥¯ #T35 1 ¤¢¤¹¤Æ¤Ã¤¯ ¥¢¥¹¥Æ¥Ã¥¯ #KK 14 ¤¢¤¹¤Ñ¤é ¥¢¥¹¥Ñ¥é #T35 0 ¤¢¤¹¤Ñ¤é¤¬¤¹ ¥¢¥¹¥Ñ¥é¥¬¥¹ #T35 1 ¤¢¤¹¤Ô¤ê¤ó ¥¢¥¹¥Ô¥ê¥ó #T35 0 ¤¢¤¹¤Õ¤¡¤ë¤È ¥¢¥¹¥Õ¥¡¥ë¥È #T35 0 ¤¢¤¹¤Ú¤¯¤È ¥¢¥¹¥Ú¥¯¥È #T35 3 ¤¢¤¹¤ï ­±© #JCN 0 ¤¢¤º¤« Í¿ #R5r 0 ¤¢¤º¤« ͤ« #R5r 0 ¤¢¤º¤« Í #R5r 17 ¤¢¤º¤­ ¤¢¤º¤­ #T35 0 ¤¢¤º¤­ ¾®Æ¦ #T35 0 ¤¢¤º¤± ͤ± #KS 8 ¤¢¤º¤±¤¤¤ì ͤ±Æþ¤ì #KSr 1 ¤¢¤º¤µ °´ #T35 0 ¤¢¤º¤µ¤¬¤ï °´Àî #CN 0 ¤¢¤º¤Þ Åì #JCN 0 ¤¢¤º¤Þ Åì #T35 5 ¤¢¤º¤ß °ÂÆÞ #JCN 0 ¤¢¤» êô¤» #KS 8 ¤¢¤» ¾Ç #R5r 18 ¤¢¤» ´À #T30 5 ¤¢¤»¤«¤­ ´À¤«¤­ #T15 0 ¤¢¤»¤¹¤á¤ó¤È ¥¢¥»¥¹¥á¥ó¥È #T35 0 ¤¢¤»¤ó¤Ö¤é ¥¢¥»¥ó¥Ö¥é #T35 11 ¤¢¤»¤ó¤Ö¤é¡¼ ¥¢¥»¥ó¥Ö¥é¡¼ #T35 11 ¤¢¤»¤ó¤Ö¤ê ¥¢¥»¥ó¥Ö¥ê #T35 1 ¤¢¤»¤ó¤Ö¤ë ¥¢¥»¥ó¥Ö¥ë #T30 1 ¤¢¤¼ ·Í #T35 0 ¤¢¤¼ ÈÊ #T35 0 ¤¢¤¼¤¯¤é ¹»ÁÒ #T35 0 ¤¢¤½ Í· #B5r 93 ¤¢¤½ °¤Á¾ #JCN 0 ¤¢¤½ °¤ÁÉ #JCN 0 ¤¢¤½ °ÂÁÉ #JCN 0 ¤¢¤½¤¦ ËãÀ¸ #JCN 0 ¤¢¤½¤¦ Àõ¤¦ #KYU 2 ¤¢¤½¤³ ¤¢¤½¤³ #T35 4 ¤¢¤½¤·¤§¤¤¤Ä ¥¢¥½¥·¥§¥¤¥Ä #T35 1 ¤¢¤½¤·¤¨¡¼¤·¤ç¤ó ¥¢¥½¥·¥¨¡¼¥·¥ç¥ó #T35 4 ¤¢¤½¤Ó¤´¤³¤í Í·¤Ó¿´ #T35 2 ¤¢¤½¤Ó¤Þ¤ï Í·¤Ó²ó #R5 0 ¤¢¤¿ Åö¤¿ #R5r 190 ¤¢¤¿ Åö #R5r 2 ¤¢¤¿ ¤¢¤¿ #R5r 26 ¤¢¤¿¤¤ ÃÍ #T30 255 ¤¢¤¿¤¤ Ãͤ¤ #T30 3 ¤¢¤¿¤¤ ²Á #T35 0 ¤¢¤¿¤¨ Í¿¤¨ #KS 162 ¤¢¤¿¤«¤â ¤¢¤¿¤«¤â #F14 4 ¤¢¤¿¤· ¤¢¤¿¤· #T35 2 ¤¢¤¿¤¿¤« ²¹¤« #KYmime 1 ¤¢¤¿¤¿¤« ÃȤ« #KYmime 7 ¤¢¤¿¤¿¤« ²¹¤« #T05 1 ¤¢¤¿¤¿¤« ÃȤ« #T05 3 ¤¢¤¿¤¿¤³¤¦ ²¹¤³¤¦ #KYU 1 ¤¢¤¿¤¿¤³¤¦ ÃȤ³¤¦ #KYU 1 ¤¢¤¿¤¿¤Þ ÃÈ¤Þ #R5 0 ¤¢¤¿¤¿¤Þ ²¹¤Þ #R5 3 ¤¢¤¿¤¿¤á ÃȤá #KSr 0 ¤¢¤¿¤¿¤á ²¹¤á #KSr 1 ¤¢¤¿¤Ã¤¯ ¥¢¥¿¥Ã¥¯ #T30 2 ¤¢¤¿¤Ã¤Á ¥¢¥¿¥Ã¥Á #T30 1 ¤¢¤¿¤Ã¤Á¤á¤ó¤È ¥¢¥¿¥Ã¥Á¥á¥ó¥È #T35 3 ¤¢¤¿¤Þ Ƭ #T35 60 ¤¢¤¿¤Þ¤¦¤Á ƬÂǤÁ #T35 0 ¤¢¤¿¤Þ¤«¤º Ƭ¿ô #T35 0 ¤¢¤¿¤Þ¤­¤ó Ƭ¶â #T35 0 ¤¢¤¿¤Þ¤´¤Ê¤· Ƭ¤´¤Ê¤· #T05 0 ¤¢¤¿¤ß Ç®³¤ #JCN 0 ¤¢¤¿¤é¤· ¿·¤· #KYme 255 ¤¢¤¿¤é¤·¤¬ ¿·¤·¤¬ #R5 0 ¤¢¤¿¤é¤·¤å¤¦ ¿·¤·¤å¤¦ #KYU 3 ¤¢¤¿¤ê ¥¢¥¿¥ê #KK 1 ¤¢¤¿¤ê ¤¢¤¿¤ê #SUC 52 ¤¢¤¿¤ê ÊÕ¤ê #T35 30 ¤¢¤¿¤ê¤Þ¤¨ Åö¤¿¤ê¤Þ¤¨ #T05 3 ¤¢¤¿¤ê¤Þ¤¨ Åö¤¿¤êÁ° #T05 6 ¤¢¤¿¤ê¤Þ¤¨ Åö¤êÁ° #T05 8 ¤¢¤¿¤ë Ãæ #JNM 0 ¤¢¤À µØ #T35 0 ¤¢¤À ÅÌ #T35 0 ¤¢¤À¤¦¤Á µØÆ¤¤Á #T30 0 ¤¢¤À¤Á °Âã #JCN 0 ¤¢¤À¤Á ­Ω #JCN 0 ¤¢¤À¤Á ­ã #JNS 0 ¤¢¤À¤Ð¤Ê ÅÌ²Ö #T35 0 ¤¢¤À¤×¤¿ ¥¢¥À¥×¥¿ #T35 1 ¤¢¤À¤×¤¿¡¼ ¥¢¥À¥×¥¿¡¼ #T35 1 ¤¢¤À¤à ¥¢¥À¥à #JN 0 ¤¢¤Á °¤ÃÒ #CN 0 ¤¢¤Á¤³¤Á ¤¢¤Á¤³¤Á #T35 3 ¤¢¤Á¤é ¤¢¤Á¤é #T35 6 ¤¢¤Ã ¤¢¤Ã #CJ 4 ¤¢¤Ã °¶ #KJ 6 ¤¢¤Ã °µ #S5 0 ¤¢¤Ã °µ #SX 0 ¤¢¤Ã¤« °­²½ #T30 1 ¤¢¤Ã¤«¤ó °­´Á #T35 0 ¤¢¤Ã¤«¤ó °µ´¬ #T35 2 ¤¢¤Ã¤± Êòµ¤ #T35 0 ¤¢¤Ã¤±¤· ¸ü´ß #CN 0 ¤¢¤Ã¤±¤é¤«¤ó ¥¢¥Ã¥±¥é¥«¥ó #F06 1 ¤¢¤Ã¤±¤é¤«¤ó ¥¢¥Ã¥±¥é¥«¥ó #T36 0 ¤¢¤Ã¤³¤¦ °­¸ý #T30 0 ¤¢¤Ã¤µ¤Ö ¸üÂôÉô #CN 0 ¤¢¤Ã¤µ¤ê ¤¢¤Ã¤µ¤ê #F04 2 ¤¢¤Ã¤µ¤ê ¤¢¤Ã¤µ¤ê #T16 0 ¤¢¤Ã¤·¤å¤¯ °µ½Ì #T30 40 ¤¢¤Ã¤·¤ç¤¦ °µ¾¡ #T30 1 ¤¢¤Ã¤»¤ó °¶Àû #T30 0 ¤¢¤Ã¤Á ¤¢¤Ã¤Á #T35 2 ¤¢¤Ã¤Á¤ã¤¯ °µÃå #T30 1 ¤¢¤Ã¤È ¤¢¤Ã¤È #F14 9 ¤¢¤Ã¤È¤¦ °µÅÝ #T30 7 ¤¢¤Ã¤Ñ¤¯ °µÇ÷ #T30 2 ¤¢¤Ã¤Ô °ÂÈæ #CN 0 ¤¢¤Ã¤× ¥¢¥Ã¥× #T30 141 ¤¢¤Ã¤×¤ë ¥¢¥Ã¥×¥ë #KK 9 ¤¢¤Ã¤×¤ë ¥¢¥Ã¥×¥ë #T35 2 ¤¢¤Ä °µ #KJ 19 ¤¢¤Ä ÆÆ #KY 1 ¤¢¤Ä Ç® #KYme 21 ¤¢¤Ä ½ë #KYme 44 ¤¢¤Ä ¸ü #KYmime 47 ¤¢¤Ä¤¦ ÆÆ¤¦ #KYU 1 ¤¢¤Ä¤¦ ¸ü¤¦ #KYU 2 ¤¢¤Ä¤¦ ½ë¤¦ #KYU 2 ¤¢¤Ä¤¦ Ç®¤¦ #KYU 2 ¤¢¤Ä¤¨¤ó °µ±ä #T30 2 ¤¢¤Ä¤« °· #W5r 194 ¤¢¤Ä¤«¤¤¤À¤« °·¤¤¹â #T35 0 ¤¢¤Ä¤«¤Þ¤· ¸ü¤«¤Þ¤· #KY 3 ¤¢¤Ä¤«¤Þ¤·¤å¤¦ ¸ü¤«¤Þ¤·¤å¤¦ #KYU 1 ¤¢¤Ä¤«¤ó Ç®ßó #T35 1 ¤¢¤Ä¤¬ Ç®¤¬ #R5r 0 ¤¢¤Ä¤¬ ½ë¤¬ #R5r 1 ¤¢¤Ä¤¬¤ß ¸ü»æ #T35 0 ¤¢¤Ä¤® ¸üÌÚ #JCN 0 ¤¢¤Ä¤® ¸üÃå #T30 13 ¤¢¤Ä¤¯¤ë¤· ½ë¶ì¤· #KY 0 ¤¢¤Ä¤¯¤ë¤·¤å¤¦ ½ë¶ì¤·¤å¤¦ #KYU 0 ¤¢¤Ä¤±¤· ¸ü´ß #CN 0 ¤¢¤Ä¤³ ÆØ»Ò #JNM 0 ¤¢¤Ä¤µ ½ë¤µ #T35 0 ¤¢¤Ä¤· ¸ü #JNM 0 ¤¢¤Ä¤· ½ß #JNM 0 ¤¢¤Ä¤· ÆÆ #JNM 0 ¤¢¤Ä¤· ÆØ #JNM 0 ¤¢¤Ä¤· ÆØ»Ê #JNM 0 ¤¢¤Ä¤·¤ª¤«¤Î¤¦ Ç®±ö²ÃǼ #CN 0 ¤¢¤Ä¤¸ ¸üÃÏ #T35 0 ¤¢¤Ä¤¿ ¸üÅÄ #JCN 0 ¤¢¤Ä¤¿ Ç®ÅÄ #JCN 0 ¤¢¤Ä¤Ç ¸ü¼ê #T35 1 ¤¢¤Ä¤Ò¤³ ÆÆÉ§ #JNM 0 ¤¢¤Ä¤Ò¤³ ÆØÉ§ #JNM 0 ¤¢¤Ä¤Þ ¸ü¿¿ #CN 0 ¤¢¤Ä¤Þ ½¸¤Þ #R5r 32 ¤¢¤Ä¤ß °¯Èþ #JCN 0 ¤¢¤Ä¤ß ²¹³¤ #JCN 0 ¤¢¤Ä¤á ½¸¤á #KSr 39 ¤¢¤Ä¤á ¸ü¤á #T35 0 ¤¢¤Ä¤â¤ê ÆØÀ¹ #JN 0 ¤¢¤Ä¤ê¤ç¤¯ °µÎÏ #T35 5 ¤¢¤Ä¤ì¤­ íÂíà #T35 0 ¤¢¤Å¤Á °ÂÅÚ #JCN 0 ¤¢¤Å¤Þ ¸ãºÊ #JCN 0 ¤¢¤Æ ½¼¤Æ #KS 3 ¤¢¤Æ °¸¤Æ #KSr 6 ¤¢¤Æ Åö¤Æ #KSr 75 ¤¢¤Æ ¤¢¤Æ #KSr 8 ¤¢¤Æ °¸ #T35 93 ¤¢¤Æ¤¬ ¤¢¤Æ¤¬ #W5 1 ¤¢¤Æ¤µ¤­ °¸Àè #T35 24 ¤¢¤Æ¤¸ °¸¤Æ»ú #T30 0 ¤¢¤Æ¤¸ Åö¤Æ»ú #T30 0 ¤¢¤Æ¤º¤Ã¤Ý¤¦ Åö¤Æ¤º¤Ã¤Ý¤¦ #T15 0 ¤¢¤Æ¤Ä °¤Å¯ #CN 0 ¤¢¤Æ¤Ä¤± Åö¤Æ¤Ä¤± #KSr 4 ¤¢¤Æ¤Ê °¸Ì¾ #T35 14 ¤¢¤Æ¤Í ¥¢¥Æ¥Í #CN 0 ¤¢¤Æ¤Ï¤Þ Åö¤Æ¤Ï¤Þ #R5 7 ¤¢¤Æ¤Ï¤á Åö¤Æ¤Ï¤á #KS 2 ¤¢¤È ÀØ #T35 0 ¤¢¤È º¯ #T35 1 ¤¢¤È ¤¢¤È #T35 105 ¤¢¤È À× #T35 2 ¤¢¤È ¸å #T35 255 ¤¢¤È¤¢¤È ¸å¡¹ #T35 1 ¤¢¤È¤¦ °¤Åì #CN 0 ¤¢¤È¤ª¤· ¸å²¡¤· #T30 0 ¤¢¤È¤«¤¿¤Å¤± ¸å¤«¤¿¤Å¤± #T30 1 ¤¢¤È¤¬¤Þ ¸å³ø #T35 0 ¤¢¤È¤µ¤­ ¸åÀè #T35 1 ¤¢¤È¤¶¤ó ¸å»º #T35 1 ¤¢¤È¤·¤Þ¤Ä ¸å»ÏËö #T30 4 ¤¢¤È¤À¤· ¸å½Ð¤· #T30 0 ¤¢¤È¤Á À×ÃÏ #T35 1 ¤¢¤È¤Ä¤® À׷Ѥ® #T35 0 ¤¢¤È¤Ð¤é¤¤ ¸åʧ¤¤ #T30 0 ¤¢¤È¤ß¤Ã¤¯ ¥¢¥È¥ß¥Ã¥¯ #T35 1 ¤¢¤È¤à ¥¢¥È¥à #T35 4 ¤¢¤È¤â¤É¤ê ¸åÌá¤ê #T30 2 ¤¢¤È¤ê¤¨ ¥¢¥È¥ê¥¨ #T35 1 ¤¢¤È¤ê¤Ó¤å¡¼¤È ¥¢¥È¥ê¥Ó¥å¡¼¥È #T35 3 ¤¢¤É¤¬¤ï °ÂÆÞÀî #JCN 0 ¤¢¤É¤±¤Ê ¤¢¤É¤±¤Ê #KY 1 ¤¢¤É¤±¤Î¤¦ ¤¢¤É¤±¤Î¤¦ #KYU 1 ¤¢¤É¤Ð¤¤¤¹ ¥¢¥É¥Ð¥¤¥¹ #T30 7 ¤¢¤É¤Û¤Ã¤¯ ¥¢¥É¥Û¥Ã¥¯ #T05 1 ¤¢¤É¤ì¤¹ ¥¢¥É¥ì¥¹ #T35 204 ¤¢¤É¤ì¤Ã¤·¤ó¤° ¥¢¥É¥ì¥Ã¥·¥ó¥° #T30 17 ¤¢¤É¤ì¤Ê¤ê¤ó ¥¢¥É¥ì¥Ê¥ê¥ó #T35 1 ¤¢¤Ê ¹£ #T35 0 ¤¢¤Ê ¹¦ #T35 0 ¤¢¤Ê ·ê #T35 15 ¤¢¤Ê¡¼¤­¡¼ ¥¢¥Ê¡¼¥­¡¼ #T05 0 ¤¢¤Ê¡¼¤­¤¹¤È ¥¢¥Ê¡¼¥­¥¹¥È #T35 0 ¤¢¤Ê¡¼¤­¤º¤à ¥¢¥Ê¡¼¥­¥º¥à #T35 0 ¤¢¤Ê¤¦¤á ·êËä¤á #T30 1 ¤¢¤Ê¤¦¤ó¤µ ¥¢¥Ê¥¦¥ó¥µ #T35 1 ¤¢¤Ê¤¦¤ó¤µ¡¼ ¥¢¥Ê¥¦¥ó¥µ¡¼ #T35 2 ¤¢¤Ê¤¦¤ó¤¹ ¥¢¥Ê¥¦¥ó¥¹ #T30 22 ¤¢¤Ê¤¬¤Á ¤¢¤Ê¤¬¤Á #F14 1 ¤¢¤Ê¤°¤é¤à ¥¢¥Ê¥°¥é¥à #T30 0 ¤¢¤Ê¤¿ µ®Êý #T35 13 ¤¢¤Ê¤¿ ¤¢¤Ê¤¿ #T35 67 ¤¢¤Ê¤¿¤¿¤Á ¤¢¤Ê¤¿¤¿¤Á #T35 0 ¤¢¤Ê¤¿¤¿¤Á ¤¢¤Ê¤¿Ã£ #T35 0 ¤¢¤Ê¤¿¤¿¤Á µ®Êýã #T35 0 ¤¢¤Ê¤É Éî #R5r 1 ¤¢¤Ê¤Ö¤­ ·ê¿á #JCN 0 ¤¢¤Ê¤ß¤º ·ê¿å #JCN 0 ¤¢¤Ê¤é¤¤¤¶ ¥¢¥Ê¥é¥¤¥¶ #T35 1 ¤¢¤Ê¤é¤¤¤¶¡¼ ¥¢¥Ê¥é¥¤¥¶¡¼ #T35 1 ¤¢¤Ê¤ê¤¹¤È ¥¢¥Ê¥ê¥¹¥È #T35 1 ¤¢¤Ê¤í¤° ¥¢¥Ê¥í¥° #T05 14 ¤¢¤Ê¤í¤¸¡¼ ¥¢¥Ê¥í¥¸¡¼ #T35 2 ¤¢¤Ê¤ó °¤Æî #JCN 0 ¤¢¤Ë °¤¿Î #JCN 0 ¤¢¤Ë ·» #T35 3 ¤¢¤Ë¤­ ·»µ® #T35 1 ¤¢¤Ë¤ß¤º¤à ¥¢¥Ë¥ß¥º¥à #T35 0 ¤¢¤Ë¤á ¥¢¥Ë¥á #T35 6 ¤¢¤Ë¤á¡¼¤·¤ç¤ó ¥¢¥Ë¥á¡¼¥·¥ç¥ó #T35 4 ¤¢¤Í °¹ #T35 1 ¤¢¤Í »Ð #T35 5 ¤¢¤Í¤Ã¤¿¤¤ °¡Ç®ÂÓ #T35 0 ¤¢¤Î ¤¢¤Î #RT 79 ¤¢¤Î¤¦ °ÂÇ» #CN 0 ¤¢¤Î¤³¤È ¤¢¤Î¤³¤È #T35 0 ¤¢¤Î¤Ë¤Þ¤¹ ¥¢¥Î¥Ë¥Þ¥¹ #T05 0 ¤¢¤Î¤è¤¦ ¤¢¤Î¤è¤¦ #T05 0 ¤¢¤Î¤è¤¦ ¤¢¤ÎÍÍ #T05 1 ¤¢¤Ð °¤ÇÈ #CN 0 ¤¢¤Ð ˽ #K5 1 ¤¢¤Ð¤­¤À ˽¤­½Ð #S5 0 ¤¢¤Ð¤·¤ê ÌÖÁö #CN 0 ¤¢¤Ð¤é¤Ü¤Í Ͼ¹ü #T35 0 ¤¢¤Ð¤ì ˽¤ì #KS 4 ¤¢¤Ð¤ì¤ó¤Ü¤¦ ˽¤ì¤óË· #T35 0 ¤¢¤Ñ¡¼¤Á¤ã ¥¢¥Ñ¡¼¥Á¥ã #T35 13 ¤¢¤Ñ¡¼¤È ¥¢¥Ñ¡¼¥È #T35 7 ¤¢¤Ñ¤ì¤ë ¥¢¥Ñ¥ì¥ë #T35 2 ¤¢¤Ó Íá¤Ó #KS 1 ¤¢¤Ó¡¼¤à ¥¢¥Ó¡¼¥à #T35 1 ¤¢¤Ó¤­¤ç¤¦¤«¤ó °¤É¡¶«´­ #T35 2 ¤¢¤Ó¤³ ²æÂ¹»Ò #JCN 0 ¤¢¤Ó¤³ °Âɧ #JNS 0 ¤¢¤Ó¤» Íá¤Ó¤» #KS 1 ¤¢¤Ô¡¼¤ë ¥¢¥Ô¡¼¥ë #T30 3 ¤¢¤Õ¤£¤ó ¥¢¥Õ¥£¥ó #T35 1 ¤¢¤Õ¤¬¤Ë¤¹¤¿¤ó ¥¢¥Õ¥¬¥Ë¥¹¥¿¥ó #CN 0 ¤¢¤Õ¤ê¤« ¥¢¥Õ¥ê¥« #CN 0 ¤¢¤Õ¤ì °î¤ì #KS 13 ¤¢¤Õ¤ì ¤¢¤Õ¤ì #KS 3 ¤¢¤Ö °¤Éð #JCN 0 ¤¢¤Ö ¤¢¤Ö #R5 1 ¤¢¤Ö °º #T35 1 ¤¢¤Ö¤¹¤È¤é¤¯¤·¤ç¤ó ¥¢¥Ö¥¹¥È¥é¥¯¥·¥ç¥ó #T35 1 ¤¢¤Ö¤¹¤È¤é¤¯¤È ¥¢¥Ö¥¹¥È¥é¥¯¥È #T35 2 ¤¢¤Ö¤¿ °ºÅÄ #CN 0 ¤¢¤Ö¤Ê ¤¢¤Ö¤Ê #KY 0 ¤¢¤Ö¤Ê ´í¤Ê #KY 23 ¤¢¤Ö¤Ê¤Ã¤«¤· ´í¤Ê¤Ã¤«¤· #KY 0 ¤¢¤Ö¤Î¤¦ ¤¢¤Ö¤Î¤¦ #KYU 0 ¤¢¤Ö¤Î¤¦ ´í¤Î¤¦ #KYU 2 ¤¢¤Ö¤ß ƪ #T35 0 ¤¢¤Ö¤é »é #T35 0 ¤¢¤Ö¤é Ìý #T35 6 ¤¢¤Ö¤é¤¨ Ìý³¨ #T35 0 ¤¢¤Ö¤é¤® »é¤® #R5 0 ¤¢¤Ö¤é¤Ã¤³ Ìý¤Ã¤³ #KY 0 ¤¢¤×¤ê¤±¡¼¤·¤ç¤ó ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó #T35 255 ¤¢¤×¤í¡¼¤Á ¥¢¥×¥í¡¼¥Á #T30 12 ¤¢¤Ø¤ó °¤ÊÒ #T35 0 ¤¢¤Ù °¤Éô #JNS 0 ¤¢¤Ù °ÂÉô #JNS 0 ¤¢¤Ù¤Ã¤¯ ¥¢¥Ù¥Ã¥¯ #T35 1 ¤¢¤Ù¤Î °¤ÇÜÌî #JCN 0 ¤¢¤Ù¤ì¡¼¤¸ ¥¢¥Ù¥ì¡¼¥¸ #T35 3 ¤¢¤Û ¥¢¥Û #T05 0 ¤¢¤Û °¤Êò #T05 51 ¤¢¤Û¤¦ °¤Êò #T05 3 ¤¢¤Û¤¦¤É¤ê ¿®Å·²§ #T35 1 ¤¢¤Ü °ÂÊÝ #JNS 0 ¤¢¤Ü¡¼¤È ¥¢¥Ü¡¼¥È #T30 5 ¤¢¤Þ ³¤»Î #CN 0 ¤¢¤Þ ³¤Éô #JNS 0 ¤¢¤Þ Å· #KJ 0 ¤¢¤Þ ´Å #KYmi 17 ¤¢¤Þ ´Å #PRE 0 ¤¢¤Þ ¥¢¥Þ #PRE 1 ¤¢¤Þ ¾ê #R5r 0 ¤¢¤Þ ; #R5r 46 ¤¢¤Þ ; #S5 33 ¤¢¤Þ Æô #T35 0 ¤¢¤Þ ³¤½÷ #T35 1 ¤¢¤Þ¤¢¤· ±«Â­ #T35 0 ¤¢¤Þ¤¨ ´Å¤¨ #KSr 4 ¤¢¤Þ¤«¤é ´Å¿É #KY 0 ¤¢¤Þ¤¬¤¤ Å·³¤ #JNS 0 ¤¢¤Þ¤¬¤¨¤ë ±«³¿ #T35 0 ¤¢¤Þ¤¬¤­ ´Å³Á #T35 0 ¤¢¤Þ¤¬¤µ ±«¤¬¤µ #T35 1 ¤¢¤Þ¤¬¤µ ±«¥¬¥µ #T35 1 ¤¢¤Þ¤¬¤µ ±«»± #T35 1 ¤¢¤Þ¤¬¤µ¤­ Æôºê #JCN 0 ¤¢¤Þ¤¬¤» Å·À¥ #CN 0 ¤¢¤Þ¤® ´ÅÌÚ #CN 0 ¤¢¤Þ¤® Å·¾ë #JCN 0 ¤¢¤Þ¤®¤æ¤¬¤·¤Þ Å·¾ëÅò¥öÅç #CN 0 ¤¢¤Þ¤¯¤µ Å·Áð #JCN 0 ¤¢¤Þ¤¯¤Á ´Å¸ý #T05 0 ¤¢¤Þ¤°¤â ±«±À #T35 0 ¤¢¤Þ¤´¤¤ ±«¸ð¤¤ #T30 0 ¤¢¤Þ¤¿ Å·ÅÄ #JCN 0 ¤¢¤Þ¤¿ ¤¢¤Þ¤¿ #T35 0 ¤¢¤Þ¤¿ ¿ô¿ #T35 0 ¤¢¤Þ¤À¤ì ±«¤À¤ì #T35 1 ¤¢¤Þ¤Á¤å¤¢ ¥¢¥Þ¥Á¥å¥¢ #T35 4 ¤¢¤Þ¤Ã¤¿¤ë ´Å¤Ã¤¿¤ë #KY 0 ¤¢¤Þ¤Ä¤³¤ß¤Ê¤È Å·Äž®Ì« #CN 0 ¤¢¤Þ¤Ç¤é Æô»û #T35 0 ¤¢¤Þ¤É ±«¸Í #T35 1 ¤¢¤Þ¤Ì¤Þ Å·¾Â #JCN 0 ¤¢¤Þ¤Í¤¯ ¤¢¤Þ¤Í¤¯ #F14 0 ¤¢¤Þ¤Î Å·Ìî #JCN 0 ¤¢¤Þ¤Î¤¸¤ã¤¯ Å·¤Î¼Ùµ´ #T05 1 ¤¢¤Þ¤Î¤¸¤ã¤¯ Å·¼Ùµ´ #T35 0 ¤¢¤Þ¤Ù ³¤Éô #JNS 0 ¤¢¤Þ¤ß ±âÈþ #JCN 0 ¤¢¤Þ¤ß ´ÅÌ£ #T35 0 ¤¢¤Þ¤ß¤º ±«¿å #T35 0 ¤¢¤Þ¤ß¤ä ±«µÜ #JNS 0 ¤¢¤Þ¤ß¤ä Å·µÜ #JNS 0 ¤¢¤Þ¤â¤ê ±«Ï³¤ê #T30 1 ¤¢¤Þ¤ä¤« ´Å¤ä¤« #S5r 2 ¤¢¤Þ¤ä¤« ´Å¤ä¤« #T05 0 ¤¢¤Þ¤ê ¤¢¤Þ¤ê #F14 142 ¤¢¤Þ¤ê ¤¢¤Þ¤ê #T35 149 ¤¢¤Þ¤ë¤á ;ÌÜ #CN 0 ¤¢¤Þ¤ó ´Å¤ó #ZX 0 ¤¢¤ß °¤¸« #JCN 0 ¤¢¤ß ÌÖ #T35 16 ¤¢¤ß¤­ ÊԤߵ¡ #T35 0 ¤¢¤ß¤À °¤ÌïÂË #JN 0 ¤¢¤ß¤À¤Ê ÌÖê #T35 1 ¤¢¤ß¤É ¥¢¥ß¥É #T35 1 ¤¢¤ß¤Î ÌÖÌî #JCN 0 ¤¢¤ß¤Î¤µ¤ó ¥¢¥ß¥Î»À #T35 1 ¤¢¤ß¤á ÊÔÌÜ #T35 0 ¤¢¤ß¤á ÌÖÌÜ #T35 0 ¤¢¤à¤Í¤¹¤Æ¤£ ¥¢¥à¥Í¥¹¥Æ¥£ #KK 1 ¤¢¤á ¤¢¤á #T35 2 ¤¢¤á ±« #T35 62 ¤¢¤á °» #T35 7 ¤¢¤á¤¢¤¬¤ê ±«¾å¤¬¤ê #T35 0 ¤¢¤á¤Õ¤È ¥¢¥á¥Õ¥È #T35 0 ¤¢¤á¤Õ¤ê ±«¹ß¤ê #T35 0 ¤¢¤á¤Õ¤ê ±«¤Õ¤ê #T35 1 ¤¢¤á¤ß¤ä ±«µÜ #JNS 0 ¤¢¤á¤è¤³ ¥¢¥á²£ #CN 0 ¤¢¤á¤ê¤« ¥¢¥á¥ê¥« #CN 0 ¤¢¤á¤ê¤«¤ó ¥¢¥á¥ê¥«¥ó #T35 1 ¤¢¤â¤¦ ´Å¤¦ #KYU 2 ¤¢¤ä °½ #JCN 0 ¤¢¤ä ºÌ #JNM 0 ¤¢¤ä °¼ #T35 0 ¤¢¤ä ºÌ #T35 0 ¤¢¤ä É· #T35 0 ¤¢¤ä °½ #T35 1 ¤¢¤ä ʸ #T35 34 ¤¢¤ä¤¦ ¤¢¤ä¤¦ #KY 1 ¤¢¤ä¤¦ ´í¤¦ #KY 2 ¤¢¤ä¤¦¤¿ °½²Î #CN 0 ¤¢¤ä¤«¤ß °½¾å #JCN 0 ¤¢¤ä¤®¤Ì åº #T35 1 ¤¢¤ä¤³ °½»Ò #JNM 0 ¤¢¤ä¤³ ¾Ï»Ò #JNM 0 ¤¢¤ä¤³ ʸ»Ò #JNM 0 ¤¢¤ä¤· ÍŤ· #KY 0 ¤¢¤ä¤· ²ø¤· #KYmi 8 ¤¢¤ä¤· ²ø¤· #M5 6 ¤¢¤ä¤·¤å¤¦ ÍŤ·¤å¤¦ #KYU 0 ¤¢¤ä¤·¤å¤¦ ²ø¤·¤å¤¦ #KYU 1 ¤¢¤ä¤» °½À¥ #JCN 0 ¤¢¤ä¤Ä Áà #R5 0 ¤¢¤ä¤Õ¤ä ¤¢¤ä¤Õ¤ä #T05 1 ¤¢¤ä¤Ö ´í¤Ö #M5 1 ¤¢¤ä¤Ù °½Éô #JCN 0 ¤¢¤ä¤Þ °¤»³ #JCN 0 ¤¢¤ä¤Þ ¼Õ #R5 29 ¤¢¤ä¤Þ ¸í #R5r 101 ¤¢¤ä¤Þ ²á #T5r 0 ¤¢¤ä¤á »¦¤á #KS 0 ¤¢¤ä¤á ¾Ô³÷ #T35 0 ¤¢¤æ Êâ #M5r 3 ¤¢¤æ °¤ëç #T30 0 ¤¢¤æ °¾ #T35 1 ¤¢¤æ¤ß ÊâÈþ #JNM 0 ¤¢¤æ¤ß ¤¢¤æ¤ß #JNM 0 ¤¢¤æ¤ß °¡µÝ #JNM 0 ¤¢¤æ¤ß¤è Êâ¤ß´ó #R5r 1 ¤¢¤é ¹Ó #JNS 0 ¤¢¤é ¹Ó #KY 9 ¤¢¤é ÁÆ #KYme 2 ¤¢¤é ÁÆ #PRE 4 ¤¢¤é ¹Ó¤é #S5r 0 ¤¢¤é ¹Ó #S5r 8 ¤¢¤é Àö #W5r 54 ¤¢¤é¡¼ ¥¢¥é¡¼ #JN 0 ¤¢¤é¤¢¤é¤· ¹Ó¡¹¤· #KY 0 ¤¢¤é¤¢¤é¤·¤å¤¦ ¹Ó¡¹¤·¤å¤¦ #KYU 0 ¤¢¤é¤¤ ¿·°æ #JCN 0 ¤¢¤é¤¤ ¹Ó°æ #JNS 0 ¤¢¤é¤¤ ¿·µï #JNS 0 ¤¢¤é¤¤¤¢¤ó¤È ¥¢¥é¥¤¥¢¥ó¥È #KK 4 ¤¢¤é¤¤¤ª¤È Àö¤¤Íî¤È #S5 0 ¤¢¤é¤¤¤¶¤é¤¤ Àö¤¤¤¶¤é¤¤ #F14 0 ¤¢¤é¤¤¤¶¤é¤¤ Àö¤¤¤¶¤é¤¤ #T36 0 ¤¢¤é¤¤¤½ ¹Ó°ë #T35 0 ¤¢¤é¤¤¤À Àö¤¤½Ð #S5r 0 ¤¢¤é¤¤¤Ê¤¬ Àö¤¤Î® #S5 0 ¤¢¤é¤¤¤ó¤á¤ó¤È ¥¢¥é¥¤¥ó¥á¥ó¥È #T35 1 ¤¢¤é¤¦¤ó¤É ¥¢¥é¥¦¥ó¥É #T35 1 ¤¢¤é¤ª ¹ÓÈø #JCN 0 ¤¢¤é¤«¤¸¤á ¤¢¤é¤«¤¸¤á #F14 27 ¤¢¤é¤«¤¸¤á ͽ¤á #F14 6 ¤¢¤é¤«¤¿ ¤¢¤é¤«¤¿ #F14 0 ¤¢¤é¤«¤¿ ¤¢¤é¤«¤¿ #T36 0 ¤¢¤é¤«¤¿ ÁÆÊý #F14 0 ¤¢¤é¤«¤¿ ÁÆÊý #T36 0 ¤¢¤é¤«¤ë¤È ¥¢¥é¥«¥ë¥È #T35 1 ¤¢¤é¤«¤ï ¹ÓÀî #JCN 0 ¤¢¤é¤­ ¹ÓÌÚ #JCN 0 ¤¢¤é¤­ ¹ÓÌÚ #JN 1 ¤¢¤é¤®¤ç¤¦ ¹Ó¹Ô #T35 0 ¤¢¤é¤¯¤ì ¹Ó¤¯¤ì #T35 0 ¤¢¤é¤±¤º¤ê ¹Óºï¤ê #T05 0 ¤¢¤é¤² ¹Ó¤² #KS 0 ¤¢¤é¤´¤Ê¤· ¹Ó¤´¤Ê¤· #T30 1 ¤¢¤é¤· Íò #T35 9 ¤¢¤é¤·¤Þ¤ï ¹Ó¤·²ó #R5 0 ¤¢¤é¤·¤ä¤Þ Íò»³ #CN 0 ¤¢¤é¤¹¤« ¥¢¥é¥¹¥« #CN 0 ¤¢¤é¤¹¤¸ ÁÆ¶Ú #T35 1 ¤¢¤é¤½ Áè #W5r 4 ¤¢¤é¤¿ ¿·¤¿ #T05 111 ¤¢¤é¤¿¤Þ ²þ¤Þ #R5r 1 ¤¢¤é¤¿¤á ²þ¤á #KS 17 ¤¢¤é¤¿¤á¤Æ ²þ¤á¤Æ #F14 1 ¤¢¤é¤¿¤á¤Æ ²þ¤á¤Æ #T36 0 ¤¢¤é¤Ã¤Ý ¹Ó¤Ã¤Ý #KY 1 ¤¢¤é¤Æ ¿·¼ê #T35 2 ¤¢¤é¤Ê¤ß ¹ÓÇÈ #T35 1 ¤¢¤é¤Ê¤ï ¹ÓÆì #T35 0 ¤¢¤é¤Ó¤¢ ¥¢¥é¥Ó¥¢ #CN 0 ¤¢¤é¤Þ¤­ ¿·´¬ #JNS 0 ¤¢¤é¤æ¤ë ¤¢¤é¤æ¤ë #RT 5 ¤¢¤é¤ê¤ç¤¦¤¸ ¹ÓÎż£ #T30 0 ¤¢¤é¤ï Ãø #S5 0 ¤¢¤é¤ï ɽ #S5 181 ¤¢¤é¤ï ɽ¤ï #S5 0 ¤¢¤é¤ï ¤¢¤é¤ï #S5 2 ¤¢¤é¤ï ¸½ #S5 2 ¤¢¤é¤ï ¸½¤ï #S5 0 ¤¢¤é¤ï ¤¢¤é¤ï #T15 0 ¤¢¤é¤ï Ϫ #T15 0 ¤¢¤é¤ï ¸² #T15 0 ¤¢¤é¤ï¤¶ ¹Óµ» #T35 0 ¤¢¤é¤ï¤ì ¤¢¤é¤ï¤ì #KSr 0 ¤¢¤é¤ï¤ì ɽ¤ì #KSr 5 ¤¢¤é¤ï¤ì ɽ¤ï¤ì #KSr 0 ¤¢¤é¤ï¤ì ¸½¤ì #KSr 49 ¤¢¤é¤ï¤ì ¸½¤ï¤ì #KSr 8 ¤¢¤é¤ï¤ì ¸²¤ì #KSr 0 ¤¢¤é¤ó¤«¤®¤ê¤Î ¤¢¤é¤ó¤«¤®¤ê¤Î #RT 0 ¤¢¤é¤ó¤«¤®¤ê¤Î ¤¢¤é¤ó¸Â¤ê¤Î #RT 0 ¤¢¤ê ¥¢¥ê #T35 0 ¤¢¤ê µÂ #T35 5 ¤¢¤ê ¤¢¤ê #T36 0 ¤¢¤ê Í­¤ê #T36 0 ¤¢¤ê¤¢¤± Í­ÌÀ #JCN 0 ¤¢¤ê¤¢¤±¤«¤¤ Í­ÌÀ³¤ #CN 0 ¤¢¤ê¤¢¤ê ¤¢¤ê¤¢¤ê #F06 0 ¤¢¤ê¤¢¤ê ¤¢¤ê¤¢¤ê #T16 0 ¤¢¤ê¤¢¤ï¤» Í­¤ê¹ç¤ï¤» #T35 0 ¤¢¤ê¤¨ Í­²È #JCN 0 ¤¢¤ê¤« ºß½è #T35 2 ¤¢¤ê¤«¤ï Í­Àî #JCN 0 ¤¢¤ê¤¬ Í­²ì #JNS 0 ¤¢¤ê¤¬¤¿ ¤¢¤ê¤¬¤¿ #KYmi 6 ¤¢¤ê¤¬¤¿ Í­Æñ #KYmi 6 ¤¢¤ê¤¬¤¿¤¬ Í­Æñ¤¬ #R5 0 ¤¢¤ê¤¬¤¿¤¬ ¤¢¤ê¤¬¤¿¤¬ #R5 1 ¤¢¤ê¤¬¤¿¤ß ¤¢¤ê¤¬¤¿Ì£ #T35 1 ¤¢¤ê¤¬¤¿¤ß Í­ÆñÌ£ #T35 1 ¤¢¤ê¤¬¤È¤¦ ¤¢¤ê¤¬¤È¤¦ #CJ 168 ¤¢¤ê¤¬¤È¤¦ Í­Æñ¤¦ #CJ 42 ¤¢¤ê¤¬¤È¤¦ ¤¢¤ê¤¬¤È¤¦ #KYU 1 ¤¢¤ê¤¬¤È¤¦ Í­Æñ¤¦ #KYU 1 ¤¢¤ê¤µ¤Þ Í­¤êÍÍ #T35 2 ¤¢¤ê¤µ¤ï Í­Âô #JNS 0 ¤¢¤ê¤¶ Í­ºÂ #JNS 0 ¤¢¤ê¤¹¤È¤Æ¤ì¤¹ ¥¢¥ê¥¹¥È¥Æ¥ì¥¹ #JN 0 ¤¢¤ê¤¾¤Ê ¥¢¥ê¥¾¥Ê #CN 0 ¤¢¤ê¤¿ Í­ÅÄ #JCN 0 ¤¢¤ê¤À Í­ÅÄ #CN 0 ¤¢¤ê¤Ã¤¿¤± ¤¢¤ê¤Ã¤¿¤± #T15 0 ¤¢¤ê¤Ã¤¿¤± Í­¤ê¤Ã¤¿¤± #T15 0 ¤¢¤ê¤Æ¤£ ¥¢¥ê¥Æ¥£ #T35 1 ¤¢¤ê¤Æ¤¤ Í­¤êÂÎ #T05 1 ¤¢¤ê¤È¤¢¤é¤æ¤ë ¤¢¤ê¤È¤¢¤é¤æ¤ë #RT 0 ¤¢¤ê¤È¤¢¤é¤æ¤ë Í­¤ê¤È¤¢¤é¤æ¤ë #RT 0 ¤¢¤ê¤È¤¢¤ë ¤¢¤ê¤È¤¢¤ë #RT 0 ¤¢¤ê¤È¤¢¤ë Í­¤ê¤È¤¢¤ë #RT 0 ¤¢¤ê¤Õ¤ì ¤¢¤ê¤Õ¤ì #KS 1 ¤¢¤ê¤Þ Í­ÇÏ #JCN 0 ¤¢¤ê¤Þ¤µ Í­Àµ #JNM 0 ¤¢¤ê¤ã ¤¢¤ê¤ã #CJ 0 ¤¢¤ê¤ä Í­²È #JNS 0 ¤¢¤ê¤å¤¦ °¡Î® #T35 1 ¤¢¤ê¤å¤¦¤µ¤ó °¡Î²»À #T35 0 ¤¢¤ê¤è¤· Í­µÈ #JN 0 ¤¢¤ë Êâ #K5r 34 ¤¢¤ë °¿ #KJ 0 ¤¢¤ë ¤¢¤ë #RT 1 ¤¢¤ë °¿ #RT 1 ¤¢¤ë ¢Ð #T35 1 ¤¢¤ë¤¤¤Ï °¿¤Ï #F14 3 ¤¢¤ë¤¤¤Ï ¤¢¤ë¤¤¤Ï #F14 69 ¤¢¤ë¤«¤ê ¥¢¥ë¥«¥ê #T35 0 ¤¢¤ë¤¬¤Þ¤Þ ¤¢¤ë¤¬¤Þ¤Þ #T15 0 ¤¢¤ë¤¬¤Þ¤Þ Í­¤ë¤¬¤Þ¤Þ #T15 0 ¤¢¤ë¤­¤á¤Ç¤¹ ¥¢¥ë¥­¥á¥Ç¥¹ #JN 0 ¤¢¤ë¤³¡¼¤ë ¥¢¥ë¥³¡¼¥ë #T35 3 ¤¢¤ë¤´¤ê¤º¤ß¤Ã¤¯ ¥¢¥ë¥´¥ê¥º¥ß¥Ã¥¯ #T05 4 ¤¢¤ë¤´¤ê¤º¤à ¥¢¥ë¥´¥ê¥º¥à #T35 57 ¤¢¤ë¤´¤ó ¥¢¥ë¥´¥ó #T35 1 ¤¢¤ë¤¸ ¼ç #T35 1 ¤¢¤ë¤¼¤ó¤Á¤ó ¥¢¥ë¥¼¥ó¥Á¥ó #CN 0 ¤¢¤ë¤Á¤å¤¦ ¥¢¥ëÃæ #T35 0 ¤¢¤ë¤Ð¤¤¤È ¥¢¥ë¥Ð¥¤¥È #T30 4 ¤¢¤ë¤Ð¤à ¥¢¥ë¥Ð¥à #T35 11 ¤¢¤ë¤Ó¤Î ¥¢¥ë¥Ó¥Î #T35 1 ¤¢¤ë¤Õ¤¡ ¦¡ #T35 2 ¤¢¤ë¤Õ¤¡ ¦Á #T35 45 ¤¢¤ë¤Õ¤¡¤Ù¤Ã¤È ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È #T35 75 ¤¢¤ë¤Ö¤ß¤ó ¥¢¥ë¥Ö¥ß¥ó #T35 1 ¤¢¤ë¤×¤¹ ¥¢¥ë¥×¥¹ #CN 0 ¤¢¤ë¤Ú¤¸¤ª ¥¢¥ë¥Ú¥¸¥ª #T30 0 ¤¢¤ë¤Ú¤ó ¥¢¥ë¥Ú¥ó #T35 1 ¤¢¤ë¤Þ¤¤¤È ¥¢¥ë¥Þ¥¤¥È #T35 3 ¤¢¤ë¤ß ¥¢¥ë¥ß #T35 0 ¤¢¤ë¤ß¤Ë¤¦¤à ¥¢¥ë¥ß¥Ë¥¦¥à #T35 0 ¤¢¤ë¤á¤ó ¥¢¥ëÌÊ #T35 1 ¤¢¤ì ÁƤì #KSr 0 ¤¢¤ì ¹Ó¤ì #KSr 3 ¤¢¤ì ¤¢¤ì #T35 15 ¤¢¤ì¤¤ ¥¢¥ì¥¤ #T35 2 ¤¢¤ì¤è¤¢¤ì¤è ¤¢¤ì¤è¤¢¤ì¤è #F06 0 ¤¢¤ì¤è¤¢¤ì¤è ¤¢¤ì¤è¤¢¤ì¤è #T36 0 ¤¢¤ì¤é¤Î ¤¢¤ì¤é¤Î #RT 0 ¤¢¤ì¤ë¤® ¥¢¥ì¥ë¥® #T35 0 ¤¢¤ì¤ó¤¸ ¥¢¥ì¥ó¥¸ #T30 3 ¤¢¤í¡¼ ¥¢¥í¡¼ #JN 0 ¤¢¤í¤¦ ¹Ó¤í¤¦ #KYU 1 ¤¢¤í¤¦ ÁÆ¤í¤¦ #KYU 1 ¤¢¤í¤±¡¼¤·¤ç¤ó ¥¢¥í¥±¡¼¥·¥ç¥ó #T30 1 ¤¢¤í¤±¡¼¤È ¥¢¥í¥±¡¼¥È #T30 16 ¤¢¤í¤Ã¤¯ ¥¢¥í¥Ã¥¯ #T30 4 ¤¢¤ï °¤ÇÈ #JCN 0 ¤¢¤ï °Â˼ #JCN 0 ¤¢¤ï ø #KYmime 3 ¤¢¤ï ¹ç¤ï #S5 1 ¤¢¤ï ²ñ¤ï #S5 4 ¤¢¤ï Ë¢ #T35 2 ¤¢¤ï °À #T35 5 ¤¢¤ï¤µ ¹ç¤ï¤µ #R5r 1 ¤¢¤ï¤¸ øϩ #JCN 0 ¤¢¤ï¤¸¤·¤Þ øϩÅç #CN 0 ¤¢¤ï¤¸¤Á¤ç¤¦ øϩĮ #CN 0 ¤¢¤ï¤» Ê»¤» #KS 0 ¤¢¤ï¤» °Á #T35 0 ¤¢¤ï¤» ¹ç¤ï¤» #T35 9 ¤¢¤ï¤»¤Æ Ê»¤»¤Æ #CJ 6 ¤¢¤ï¤»¤â ¹ç¤ï¤»»ý #T5 0 ¤¢¤ï¤»¤â ¤¢¤ï¤»»ý #T5 0 ¤¢¤ï¤»¤â Ê»¤»»ý #T5 0 ¤¢¤ï¤¿¤À¤· ¹²¤¿¤À¤· #KY 0 ¤¢¤ï¤¿¤À¤· ¤¢¤ï¤¿¤À¤· #KY 0 ¤¢¤ï¤¿¤À¤· · #KY 0 ¤¢¤ï¤¿¤À¤·¤å¤¦ ¹²¤¿¤À¤·¤å¤¦ #KYU 0 ¤¢¤ï¤¿¤À¤·¤å¤¦ ¤¢¤ï¤¿¤À¤·¤å¤¦ #KYU 0 ¤¢¤ï¤¿¤À¤·¤å¤¦ ·¤å¤¦ #KYU 0 ¤¢¤ï¤À ˢΩ #T5r 0 ¤¢¤ï¤Æ ¤¢¤ï¤Æ #KS 1 ¤¢¤ï¤Æ ¹²¤Æ #KS 24 ¤¢¤ï¤Î °ÀÌî #JCN 0 ¤¢¤ï¤Ó òº #T35 1 ¤¢¤ï¤ä ¤¢¤ï¤ä #F14 0 ¤¢¤ï¤ä °Àë #JNS 0 ¤¢¤ï¤æ¤­ øÀã #T35 0 ¤¢¤ï¤é °²¸¶ #CN 0 ¤¢¤ï¤ì ¤¢¤ï¤ì #M5r 0 ¤¢¤ï¤ì Îù¤ì #M5r 0 ¤¢¤ï¤ì °¥¤ì #M5r 1 ¤¢¤ï¤ì °¥¤ì #T05 1 ¤¢¤ó °Ä #KJ 0 ¤¢¤ó °Ç #KJ 0 ¤¢¤ó °È #KJ 0 ¤¢¤ó °Ã #KJ 1 ¤¢¤ó °Å #KJ 1 ¤¢¤ó °É #KJ 1 ¤¢¤ó °Â #KJ 16 ¤¢¤ó °Æ #SUC 118 ¤¢¤ó ñ² #T35 0 ¤¢¤ó °Æ #T35 1 ¤¢¤ó °Ä #ZX 2 ¤¢¤ó °Æ #ZX 3 ¤¢¤ó¤¤ °Â°× #T05 14 ¤¢¤ó¤¤¤Ä °Â°ï #T05 0 ¤¢¤ó¤¦¤ó °Å±À #T35 0 ¤¢¤ó¤« °Â²Á #T05 4 ¤¢¤ó¤«¤ó °Â´× #F02 0 ¤¢¤ó¤¬¤¤ °Æ³° #T05 7 ¤¢¤ó¤­ °Åµ­ #T30 0 ¤¢¤ó¤­ °Åµ´ #T35 1 ¤¢¤ó¤­¤ç °Âµï #T30 0 ¤¢¤ó¤±¡¼¤È ¥¢¥ó¥±¡¼¥È #T30 20 ¤¢¤ó¤³ ¥¢¥ó¥³ #T35 0 ¤¢¤ó¤³¡¼¤ë ¥¢¥ó¥³¡¼¥ë #T30 1 ¤¢¤ó¤³¤¦ ò½òá #T35 1 ¤¢¤ó¤³¤¬¤¿ ¥¢¥ó¥³·Á #T15 0 ¤¢¤ó¤³¤¯ °Å¹õ #T05 0 ¤¢¤ó¤´¤¦ °Å¹æ #T35 25 ¤¢¤ó¤µ¤Ä °Å»¦ #T30 1 ¤¢¤ó¤¶¤¤ °ÂºØ #JNS 0 ¤¢¤ó¤¶¤¤ °ÂÀ¾ #JNS 0 ¤¢¤ó¤¶¤¤ °ÂÀÆ #JNS 0 ¤¢¤ó¤¶¤ó °Â»º #T35 0 ¤¢¤ó¤¶¤ó °Å»» #T30 0 ¤¢¤ó¤·¤Ä °Å¼¼ #T35 0 ¤¢¤ó¤·¤ç °Å½ê #T35 0 ¤¢¤ó¤·¤ç¤¦ °Å¾§ #T30 0 ¤¢¤ó¤·¤ç¤¦ °ÅëÖ #T30 0 ¤¢¤ó¤·¤ç¤¦ °Å¾Ú #T30 16 ¤¢¤ó¤·¤ç¤¦ °Å¾Ì #T35 0 ¤¢¤ó¤·¤ó °Â¿´ #T00 28 ¤¢¤ó¤¸ °Æ¤¸ #KS 1 ¤¢¤ó¤¸ °Å¼¨ #T30 3 ¤¢¤ó¤¸¤å¤¦ °Â½» #T30 1 ¤¢¤ó¤¸¤ç¤¦ °Â¾ë #JCN 0 ¤¢¤ó¤º ¤¢¤ó¤º #T35 0 ¤¢¤ó¤º °É #T35 1 ¤¢¤ó¤»¤¤ °ÂÀÅ #T05 0 ¤¢¤ó¤¼¤ó °ÂÁ´ #T05 29 ¤¢¤ó¤½¤¯ °Â© #T35 0 ¤¢¤ó¤¿¤¤ °ÂÂÙ #T05 0 ¤¢¤ó¤¿¤ó °Å߸ #T02 0 ¤¢¤ó¤À¡¼ ¥¢¥ó¥À¡¼ #T35 3 ¤¢¤ó¤À¡¼¤½¤ó ¥¢¥ó¥À¡¼¥½¥ó #JN 0 ¤¢¤ó¤À¡¼¤é¤¤¤ó ¡² #T35 8 ¤¢¤ó¤Á °ÂÃÖ #T30 1 ¤¢¤ó¤Á¤å¤¦ °ÅÃæ #T35 1 ¤¢¤ó¤Á¤å¤¦¤â¤µ¤¯ °ÅÃæÌϺ÷ #T30 1 ¤¢¤ó¤Á¤ç¤¯ °Âľ #T05 4 ¤¢¤ó¤Æ¤¤ °ÂÄê #T00 16 ¤¢¤ó¤Æ¤Ê ¥¢¥ó¥Æ¥Ê #T35 2 ¤¢¤ó¤È¤¯ °ÂÆÁ #JNS 0 ¤¢¤ó¤É °ÂÅÈ #JNS 0 ¤¢¤ó¤É °ÂÅÈ #T30 19 ¤¢¤ó¤É¤¦ °ÂÅì #JNS 0 ¤¢¤ó¤É¤¦ °ÂÆ£ #JNS 0 ¤¢¤ó¤Ê ¤¢¤ó¤Ê #T05 5 ¤¢¤ó¤Ê¤¤ °ÆÆâ #T30 28 ¤¢¤ó¤Ê¤« °ÂÃæ #JCN 0 ¤¢¤ó¤Ë °Å¤Ë #F14 2 ¤¢¤ó¤Î¤¸¤ç¤¦ °Æ¤ÎÄê #F14 3 ¤¢¤ó¤Î¤¸¤ç¤¦ °Æ¤ÎÄê #T36 0 ¤¢¤ó¤Ð¤¤ ±öÇß #T35 0 ¤¢¤ó¤Ð¤é¤ó¤¹ ¥¢¥ó¥Ð¥é¥ó¥¹ #T05 2 ¤¢¤ó¤Ñ¤µ¤ó¤É ¡õ #T35 1 ¤¢¤ó¤Ñ¤Á °ÂȬ #CN 0 ¤¢¤ó¤Ô °ÂÈÝ #T35 0 ¤¢¤ó¤Ö¤ó °Äʬ #T30 2 ¤¢¤ó¤× ¥¢¥ó¥× #T35 0 ¤¢¤ó¤× °ÅÉè #T30 0 ¤¢¤ó¤Ú¤¢ ¥¢¥ó¥Ú¥¢ #T35 0 ¤¢¤ó¤Ý °ÂÊÝ #T35 0 ¤¢¤ó¤Þ °ÄËà #T30 0 ¤¢¤ó¤Þ¤ê ¤¢¤ó¤Þ¤ê #T17 25 ¤¢¤ó¤ß¤ó °Â̲ #T30 1 ¤¢¤ó¤â¤¯ °ÅÌÛ #T35 5 ¤¢¤ó¤â¤Ë¤¢ ¥¢¥ó¥â¥Ë¥¢ #T35 0 ¤¢¤ó¤æ °ÅÓÈ #T35 1 ¤¢¤ó¤é¤¯ °Â³Ú #T05 1 ¤¤ À #C5r 1 ¤¤ ¤¤ #C5r 236 ¤¤ ¹Ô #C5r 255 ¤¤ ±ý #C5r 6 ¤¤ °Ì #JS 98 ¤¤ °Í #KJ 0 ¤¤ °Ï #KJ 0 ¤¤ °Ñ #KJ 0 ¤¤ °Ø #KJ 0 ¤¤ °Ù #KJ 0 ¤¤ °Ý #KJ 0 ¤¤ °Þ #KJ 0 ¤¤ °à #KJ 0 ¤¤ °â #KJ 0 ¤¤ °ã #KJ 0 ¤¤ ±¶ #KJ 0 ¤¤ ´Ð #KJ 0 ¤¤ µï #KJ 0 ¤¤ ÃÀ #KJ 0 ¤¤ Ãö #KJ 0 ¤¤ Èå #KJ 0 ¤¤ Ëî #KJ 0 ¤¤ ͬ #KJ 0 ¤¤ °Ê #KJ 1 ¤¤ °Ì #KJ 1 ¤¤ °Î #KJ 1 ¤¤ °Ð #KJ 1 ¤¤ °Ò #KJ 1 ¤¤ °Ó #KJ 1 ¤¤ °Ô #KJ 1 ¤¤ °× #KJ 1 ¤¤ °Ú #KJ 1 ¤¤ °Û #KJ 1 ¤¤ ±á #KJ 1 ¤¤  #KJ 1 ¤¤ °Ö #KJ 2 ¤¤ °ä #KJ 2 ¤¤ °Ü #KJ 4 ¤¤ °Ë #KJ 5 ¤¤ Ãò #KS 0 ¤¤ ¼Í #KS 1 ¤¤ ¤¤ #KS 255 ¤¤ µï #KS 36 ¤¤ ÎÉ #KY 117 ¤¤ ¤¤ #KY 255 ¤¤ ´÷ #M5 33 ¤¤ ±ý #N5 2 ¤¤ Àù #R5 0 ¤¤ Í× #R5 21 ¤¤ ¤¤ #R5 90 ¤¤ Æþ #R5r 27 ¤¤ °Ì #SUC 0 ¤¤ °Ñ #SUC 0 ¤¤ °Û #T05 8 ¤¤ °ç #T35 0 ¤¤ °á #T35 1 ¤¤ °ß #T35 10 ¤¤ °æ #T35 24 ¤¤ °Õ #T35 26 ¤¤ °å #T35 4 ¤¤ °â #W5 2 ¤¤ ¤¤ #W5 255 ¤¤ ¸À #W5 255 ¤¤ ±¾ #W5 3 ¤¤¡¼¤µ ¥¤¡¼¥µ #T35 4 ¤¤¡¼¤µ¤Í¤Ã¤È ¥¤¡¼¥µ¥Í¥Ã¥È #KK 74 ¤¤¡¼¤¿ ¦§ #T35 2 ¤¤¡¼¤¿ ¦Ç #T35 2 ¤¤¤¢¤Ä °Ò°µ #T30 1 ¤¤¤¢¤ó °Ö°Â #T30 1 ¤¤¤¤ ÈÓ #KJ 15 ¤¤¤¤¤¢ ¸À¤¤¹ç #W5r 1 ¤¤¤¤¤¢¤é¤½ ¸À¤¤Áè #W5r 0 ¤¤¤¤¤¢¤é¤ï ¸À¤¤É½¤ï #S5 0 ¤¤¤¤¤¢¤é¤ï ¸À¤¤É½ #S5 2 ¤¤¤¤¤¨ ¤¤¤¤¤¨ #CJ 4 ¤¤¤¤¤¨ ¤¤¤¤¤¨ #T35 2 ¤¤¤¤¤ª¤« ÈÓ²¬ #JCN 0 ¤¤¤¤¤«¤¨ ¸À¤¤Âؤ¨ #KSr 16 ¤¤¤¤¤«¤¨ ¸À¤¤´¹¤¨ #KSr 2 ¤¤¤¤¤«¤¨ ¸À¤¤ÊÖ #S5r 0 ¤¤¤¤¤«¤²¤ó ¤¤¤¤²Ã¸º #T05 17 ¤¤¤¤¤«¤Í ¸À¤¤·ó¤Í #KS 0 ¤¤¤¤¤«¤ï ¸À¤¤¸ò¤ï #S5 0 ¤¤¤¤¤­ ¸À¤¤ÀÚ #R5r 5 ¤¤¤¤¤¯¤ë¤á ¸À¤¤¤¯¤ë¤á #KSr 0 ¤¤¤¤¤· ÈÓÀÐ #JCN 0 ¤¤¤¤¤¸¤Þ ÈÓÅç #JCN 0 ¤¤¤¤¤¸¤Þ ÈÓÅè #JNS 0 ¤¤¤¤¤¹¤Æ ¸À¤¤¼Î¤Æ #KSr 0 ¤¤¤¤¤½¤³¤Ê ¸À¤¤Â»¤Ê #W5r 0 ¤¤¤¤¤¿¤« ÈÓ¹â #JN 0 ¤¤¤¤¤¿¤¬¤ï ÈÓÅÄÀî #CN 0 ¤¤¤¤¤¿¤Æ ÈÓ´Û #JNS 0 ¤¤¤¤¤À ÈÓÅÄ #JCN 0 ¤¤¤¤¤À ¸À¤¤½Ð #S5 4 ¤¤¤¤¤À¤¯¤À¤¯ Í£¡¹Âú¡¹ #F00 0 ¤¤¤¤¤À¤·¤Ã¤Ú ¸À¤¤½Ð¤·¤Ã¤Ú #T35 0 ¤¤¤¤¤Ä¤± ¸À¤¤¤Ä¤± #KS 0 ¤¤¤¤¤Å¤« ÈÓÄÍ #JCN 0 ¤¤¤¤¤Ç ÈÓË­ #JCN 0 ¤¤¤¤¤Ê¤ª ¸À¤¤Ä¾ #S5r 1 ¤¤¤¤¤Ê¤º¤± µö²Ç #T35 0 ¤¤¤¤¤Ê¤ó ÈÓÆî #CN 0 ¤¤¤¤¤Ì¤Þ ÈӾ #JNS 0 ¤¤¤¤¤Î ÈÓÌî #JCN 0 ¤¤¤¤¤Î¤¬¤ì ¸À¤¤Æ¨¤ì #KSr 1 ¤¤¤¤¤Ï ¸À¤¤Ä¥ #R5 0 ¤¤¤¤¤Õ¤¯¤á ¸À¤¤´Þ¤á #KSr 0 ¤¤¤¤¤Õ¤é ¸À¤¤¿¨¤é #S5 0 ¤¤¤¤¤Ö¤ó ¸À¤¤Ê¬ #T35 1 ¤¤¤¤¤Þ¤ï¤· ¸À¤¤²ó¤· #T35 0 ¤¤¤¤¤à¤é ÈÓ¼ #JNS 0 ¤¤¤¤¤â¤ê ÈÓ¿¹ #JCN 0 ¤¤¤¤¤â¤ê ÈÓÀ¹ #JCN 0 ¤¤¤¤¤ä¤Þ ÈÓ»³ #JCN 0 ¤¤¤¤¤ï¤± ¸À¤¤Ìõ #T30 24 ¤¤¤¤¤ï¤¿ ¸À¤¤ÅÏ #S5 0 ¤¤¤¤¤ó °å±¡ #T35 0 ¤¤¤¤¤ó °Ñ°÷ #T35 15 ¤¤¤¤¤ó¤«¤¤ °Ñ°÷²ñ #T35 31 ¤¤¤¨ ¤¤¤¨ #CJ 1 ¤¤¤¨ °Ë¹¾ #JCN 0 ¤¤¤¨ Ìþ¤¨ #KS 1 ¤¤¤¨ ²È #T35 150 ¤¤¤¨¤¬¤é ²ÈÊÁ #T35 0 ¤¤¤¨¤·¤Þ ²ÈÅç #JCN 0 ¤¤¤¨¤¸ ²ÈÏ© #T35 1 ¤¤¤¨¤¹ ¥¤¥¨¥¹ #JN 0 ¤¤¤¨¤Ç ²È½Ð #T30 0 ¤¤¤¨¤â¤È ²È¸µ #T35 2 ¤¤¤¨¤ä¤¹ ²È¹¯ #JNM 0 ¤¤¤¨¤í¡¼ ¥¤¥¨¥í¡¼ #T05 1 ¤¤¤¨¤ó °ß±ê #T35 0 ¤¤¤ª¤¦ ⲫ #T35 0 ¤¤¤ª¤¦¤¸¤Þ °Ë²¦Åç #CN 0 ¤¤¤ª¤¿ ¦© #T35 1 ¤¤¤ª¤¿ ¦É #T35 1 ¤¤¤ª¤ê °Ã #T35 0 ¤¤¤ª¤ó ¥¤¥ª¥ó #T35 0 ¤¤¤« ¥¤¥« #T35 0 ¤¤¤« °Ë¹á #JCN 0 ¤¤¤« ÅÜ #R5r 5 ¤¤¤« À¸¤« #S5 12 ¤¤¤« ³è¤« #S5 3 ¤¤¤« °Û²½ #T30 1 ¤¤¤« ¡å #T35 1 ¤¤¤« °å²Ê #T35 1 ¤¤¤« ±¨Â± #T35 1 ¤¤¤« °Ê²¼ #T35 255 ¤¤¤« Ç¡²¿ #T35 5 ¤¤¤«¤¤ Ãö»ô #JNS 0 ¤¤¤«¤¤¤è¤¦ °ßÄÙáç #T35 0 ¤¤¤«¤¬ Ç¡²¿ #T11 11 ¤¤¤«¤¬ ¤¤¤«¤¬ #T11 45 ¤¤¤«¤¬¤ï¤· ¤¤¤«¤¬¤ï¤· #KY 0 ¤¤¤«¤¬¤ï¤·¤å¤¦ ¤¤¤«¤¬¤ï¤·¤å¤¦ #KYU 0 ¤¤¤«¤¯ °Ò³Å #T30 0 ¤¤¤«¤µ¤Þ ¤¤¤«¤µ¤Þ #T30 1 ¤¤¤«¤¶¤­ ¸Þ½½ºê #JCN 0 ¤¤¤«¤¹¤¤ °ß²¼¿â #T35 0 ¤¤¤«¤¿ °ËÊý #CN 0 ¤¤¤«¤À ȵ #T35 1 ¤¤¤«¤À¤¤ ȵ°æ #JNS 0 ¤¤¤«¤Ê¤ë ¤¤¤«¤Ê¤ë #RT 2 ¤¤¤«¤Ê¤ë Ç¡²¿¤Ê¤ë #RT 4 ¤¤¤«¤Ë ¤¤¤«¤Ë #F14 18 ¤¤¤«¤Ë¤â ¤¤¤«¤Ë¤â #F14 1 ¤¤¤«¤Ë¤â ¤¤¤«¤Ë¤â #T16 0 ¤¤¤«¤Û °Ë¹áÊÝ #JCN 0 ¤¤¤«¤Û¤É ¤¤¤«¤Û¤É #T15 0 ¤¤¤«¤ê Äö #T35 0 ¤¤¤«¤ê ÉÅ #T35 0 ¤¤¤«¤ê¤¬¤»¤­ Äö¥ö´Ø #CN 0 ¤¤¤«¤ï °æÀî #JCN 0 ¤¤¤«¤ï µïÀî #JNS 0 ¤¤¤«¤ó °ä´¸ #T05 1 ¤¤¤«¤ó °Ü´É #T30 34 ¤¤¤«¤ó °Ó´± #T35 0 ¤¤¤«¤ó °á´§ #T35 0 ¤¤¤«¤ó Ç¡²¿ #T35 1 ¤¤¤«¤ó¤»¤ó ¤¤¤«¤ó¤»¤ó #CJ 0 ¤¤¤¬ °Ë²ì #JCN 0 ¤¤¤¬¤¤ °Õ³° #T05 9 ¤¤¤¬¤¤ °ä³¼ #T35 0 ¤¤¤¬¤¤ °Ê³° #T35 255 ¤¤¤¬¤¯ °å³Ø #T35 3 ¤¤¤¬¤¿ Ãò·¿ #T35 0 ¤¤¤¬¤ß¤¢ ¤¤¤¬¤ß¹ç #W5r 0 ¤¤¤¬¤ä °æ¥öë #JNS 0 ¤¤¤¬¤é¤· ¸Þ½½Íò #JNS 0 ¤¤¤¬¤ê Ãö¼í #JNS 0 ¤¤¤¬¤ï °æÀî #JNS 0 ¤¤¤¬¤ï µïÀî #JNS 0 ¤¤¤¬¤ó °Í´ê #T35 0 ¤¤¤¬¤ó °ß´â #T35 0 ¤¤¤­ °í´ô #CN 0 ¤¤¤­ ¹Ô #CNSUC1 3 ¤¤¤­ ³è¤­ #KS 2 ¤¤¤­ À¸¤­ #KSr 62 ¤¤¤­ ¿è #T05 1 ¤¤¤­ °ä´þ #T30 0 ¤¤¤­ © #T30 6 ¤¤¤­ °Õµ¤ #T35 1 ¤¤¤­ °è #T35 7 ¤¤¤­¤¤¤­ ¤¤¤­¤¤¤­ #F04 0 ¤¤¤­¤¤¤­ À¸¤­À¸¤­ #F04 1 ¤¤¤­¤¤¤­ ¥¤¥­¥¤¥­ #F04 2 ¤¤¤­¤¦¤á À¸¤­Ëä¤á #T35 0 ¤¤¤­¤ª¤¤ Àª¤¤ #T35 3 ¤¤¤­¤ª¤¤¤³ Àª¤¤¹þ #M5 0 ¤¤¤­¤ª¤¤¤Å Àª¤¤ÉÕ #K5 0 ¤¤¤­¤« ïç²¼ #T35 0 ¤¤¤­¤«¤¨ À¸¤­ÊÖ #R5r 1 ¤¤¤­¤¬ °Õµ¤¤¬ #R5r 0 ¤¤¤­¤¬ ¿è¤¬ #R5r 0 ¤¤¤­¤¬¤¤ À¸¤­¤¬¤¤ #T35 2 ¤¤¤­¤­ ¹Ô¤­Íè #T30 2 ¤¤¤­¤®¤ì ©ÀÚ¤ì #T30 1 ¤¤¤­¤°¤ë¤· ©¶ì¤· #KY 0 ¤¤¤­¤°¤ë¤·¤¬ ©¶ì¤·¤¬ #R5 0 ¤¤¤­¤°¤ë¤·¤å¤¦ ©¶ì¤·¤å¤¦ #KYU 0 ¤¤¤­¤´ °Õµ¤¹þ #M5r 2 ¤¤¤­¤µ¤­ ¹Ô¤­Àè #T35 17 ¤¤¤­¤µ¤Ä ·Ð°Þ #T35 0 ¤¤¤­¤µ¤Ä ¤¤¤­¤µ¤Ä #T35 1 ¤¤¤­¤·¤å °Ûµ¡¼ï #T35 14 ¤¤¤­¤¹¤® ¹Ô¤­²á¤® #KSr 2 ¤¤¤­¤Á À¸¤­·ì #T35 0 ¤¤¤­¤Á ïçÃÍ #T35 0 ¤¤¤­¤Á¤¬ ¹Ô¤­°ã #W5r 0 ¤¤¤­¤Ä¤­ À¸·î #JCN 0 ¤¤¤­¤Å¤Þ ©µÍ¤Þ #R5r 1 ¤¤¤­¤È¤·¤¤¤±¤ë À¸¤­¤È¤·À¸¤±¤ë #RT 0 ¤¤¤­¤È¤É ¤¤¤­¤È¤É #K5r 0 ¤¤¤­¤È¤É ¹Ô¤­ÆÏ #K5r 2 ¤¤¤­¤É¤ª ʰ #R5r 0 ¤¤¤­¤Ê À¸Ì¾ #JCN 0 ¤¤¤­¤Ê¤ê ¤¤¤­¤Ê¤ê #F14 3 ¤¤¤­¤Ê¤ê ¤¤¤­¤Ê¤ê #T36 0 ¤¤¤­¤Ì¤­ ©ȴ¤­ #T30 1 ¤¤¤­¤Î¤³ À¸¤­»Ä #R5r 5 ¤¤¤­¤â¤Î À¸¤­Êª #T35 3 ¤¤¤­¤ç °Íµò #T30 0 ¤¤¤­¤ç¤¦ °Û¶¿ #T35 0 ¤¤¤­¤ç¤¦ °Û¶­ #T35 3 ¤¤¤­¤ç¤¦¤È °Û¶µÅÌ #T35 0 ¤¤¤­¤ç¤¯ °Ñ¶Ê #T35 0 ¤¤¤­¤ç¤¯ °å¶É #T35 0 ¤¤¤­¤ï¤¿ ¹Ô¤­ÅÏ #R5 1 ¤¤¤® °ÛµÄ #T35 1 ¤¤¤® °ÕµÁ #T35 4 ¤¤¤® °ÛµÁ #T35 7 ¤¤¤®¤ç¤¦ °Î¶È #T35 0 ¤¤¤®¤ç¤¦ °ä¶È #T35 0 ¤¤¤®¤ç¤¦ °å¶È #T35 1 ¤¤¤®¤ê¤¹ ¥¤¥®¥ê¥¹ #CN 0 ¤¤¤¯ °é #KJ 0 ¤¤¤¯ ´¡ #KJ 0 ¤¤¤¯ °ê #KJ 1 ¤¤¤¯ ´ö #NN 3 ¤¤¤¯ ´ö #PRE 0 ¤¤¤¯¤¤¤Ã¤×¤á¤ó¤È ¥¤¥¯¥¤¥Ã¥×¥á¥ó¥È #T35 1 ¤¤¤¯¤¤¤Ê À¸°ð #JNS 0 ¤¤¤¯¤¨ ´ö½Å #T35 0 ¤¤¤¯¤¨¤¤ °é±Ñ #T30 2 ¤¤¤¯¤ª °éÃË #JNM 0 ¤¤¤¯¤ª °êÉ× #JNM 0 ¤¤¤¯¤³ °ê»Ò #JNM 0 ¤¤¤¯¤µ Àï #T35 0 ¤¤¤¯¤µ¤« À¸ºä #JCN 0 ¤¤¤¯¤·¤å °é¼ï #T30 2 ¤¤¤¯¤¸ °é»ù #T30 1 ¤¤¤¯¤»¤¤ °éÀ® #T30 4 ¤¤¤¯¤¿ À¸ÅÄ #JCN 0 ¤¤¤¯¤¿¤Ï¤é À¸Åĸ¶ #JCN 0 ¤¤¤¯¤Ä ¤¤¤¯¤Ä #T35 136 ¤¤¤¯¤Ä ´ö¤Ä #T35 52 ¤¤¤¯¤Ä¤â¤Î ¤¤¤¯¤Ä¤â¤Î #RT 20 ¤¤¤¯¤É ´öÅÙ #T35 1 ¤¤¤¯¤É¤¦¤ª¤ó °Û¸ýƱ²» #T35 0 ¤¤¤¯¤Ë¤Á ´öÆü #T35 0 ¤¤¤¯¤Î À¸Ìî #JCN 0 ¤¤¤¯¤Ð¤¯ ¤¤¤¯¤Ð¤¯ #T35 0 ¤¤¤¯¤Ö¤ó ´öʬ #T35 2 ¤¤¤¯¤Þ °Ë¶êËá #JN 0 ¤¤¤¯¤è °êÂå #JNM 0 ¤¤¤¯¤é ¥¤¥¯¥é #T35 0 ¤¤¤¯¤é ´ö¤é #T35 1 ¤¤¤¯¤é ¤¤¤¯¤é #T35 20 ¤¤¤¯¤é¤« ´ö¤é¤« #F14 1 ¤¤¤¯¤é¤« ´ö¤é¤« #T36 0 ¤¤¤¯¤é¤« ¤¤¤¯¤é¤« #F14 0 ¤¤¤¯¤é¤« ¤¤¤¯¤é¤« #T36 0 ¤¤¤° °Ë¶ñ #JCN 0 ¤¤¤°¤µ °æÁð #JCN 0 ¤¤¤°¤¹¤ê °ßÌô #T35 0 ¤¤¤°¤Á °æ¸ý #JCN 0 ¤¤¤± À¸¤± #KS 0 ¤¤¤± ¤¤¤± #KS 31 ¤¤¤± ÃÓ #T35 21 ¤¤¤±¤¤ °Ú·É #T30 0 ¤¤¤±¤¬¤­ À¸¤±³À #T35 0 ¤¤¤±¤¬¤ß ÃÓ¾å #JCN 0 ¤¤¤±¤¬¤ï ÃÓÀî #JCN 0 ¤¤¤±¤À ÃÓÅÄ #JCN 0 ¤¤¤±¤Æ ¥¤¥±¤Æ #KS 0 ¤¤¤±¤É À¸¤±Êá #R5r 0 ¤¤¤±¤Ð¤Ê À¸¤±²Ö #T35 0 ¤¤¤±¤Ö¤¯¤í ÃÓÂÞ #CN 0 ¤¤¤±¤â¤È ÃÓËÜ #JNS 0 ¤¤¤±¤ó °ã·û #T05 0 ¤¤¤±¤ó °Õ¸« #T30 125 ¤¤¤²¤¿ °æ·å #T35 0 ¤¤¤²¤ó °Ò¸· #T35 1 ¤¤¤³ ·Æ #U5r 0 ¤¤¤³¡¼¤ë ¡á #T35 1 ¤¤¤³¤¤ ·Æ¤¤ #T35 0 ¤¤¤³¤¤ ·Æ #T35 1 ¤¤¤³¤¦ °Ü¹à #T30 0 ¤¤¤³¤¦ °Ü¹Ô #T30 137 ¤¤¤³¤¦ °Ê¹ß #T35 137 ¤¤¤³¤¦ °Õ¸þ #T35 16 ¤¤¤³¤¯ °Û¹ñ #T35 2 ¤¤¤³¤¸ °Í×àÃÏ #T05 0 ¤¤¤³¤¸ °Õ¸ÇÃÏ #T05 0 ¤¤¤³¤Ä °ä¹ü #T35 0 ¤¤¤³¤Þ À¸¶ð #JCN 0 ¤¤¤³¤ó ¥¤¥³¥ó #T35 0 ¤¤¤³¤ó °äº¨ #T35 0 ¤¤¤´ °Ï¸ë #T35 1 ¤¤¤´ °Ê¸å #T35 31 ¤¤¤´¤³¤Á µï¿´ÃÏ #T35 1 ¤¤¤´¤ó °ä¸À #T30 0 ¤¤¤µ °Ëº´ #JCN 0 ¤¤¤µ ´Ò #KJ 0 ¤¤¤µ ͦ #M5 1 ¤¤¤µ¤¤ °ÛºÌ #T05 0 ¤¤¤µ¤¤ °ÑºÙ #T35 0 ¤¤¤µ¤ª ·® #JN 0 ¤¤¤µ¤ª ¸ù #JN 0 ¤¤¤µ¤ª ͦÉ× #JNM 0 ¤¤¤µ¤ª ͦͺ #JNM 0 ¤¤¤µ¤« °Ëºä #JNS 0 ¤¤¤µ¤« ¤¤¤µ¤« #W5r 0 ¤¤¤µ¤« ëÚ #W5r 0 ¤¤¤µ¤«¤¤ ëÚ¤¤ #T30 3 ¤¤¤µ¤®¤è ·é #KY 1 ¤¤¤µ¤®¤è¤¦ ·é¤¦ #KYU 1 ¤¤¤µ¤¯ °äºî #T35 0 ¤¤¤µ¤³ ¤¤¤µ»Ò #JNM 0 ¤¤¤µ¤µ¤« ¤¤¤µ¤µ¤« #T36 2 ¤¤¤µ¤Ï¤ä ´ÒÁá #JCN 0 ¤¤¤µ¤Ï¤é °æº´¸¶ #JNS 0 ¤¤¤µ¤Þ¤· ͦ¤Þ¤· #KY 1 ¤¤¤µ¤Þ¤·¤å¤¦ ͦ¤Þ¤·¤å¤¦ #KYU 1 ¤¤¤µ¤ß ͦ #JN 0 ¤¤¤µ¤ß ͦ #T35 1 ¤¤¤µ¤ß¤¢¤· ͦ¤ß­ #T15 0 ¤¤¤µ¤à ·® #JN 0 ¤¤¤µ¤à ͦ #JN 0 ¤¤¤µ¤á ´Ò¤á #KSr 0 ¤¤¤µ¤ï ÀÐÏ #JCN 0 ¤¤¤µ¤ï ÃÀÂô #JCN 0 ¤¤¤µ¤ï °ËÂô #JNS 0 ¤¤¤µ¤ï °æÂô #JNS 0 ¤¤¤µ¤ó °ä»º #T35 4 ¤¤¤¶ ¤¤¤¶ #F06 2 ¤¤¤¶¤«¤ä µï¼ò²° #T35 2 ¤¤¤¶¤­ °æºê #JNS 0 ¤¤¤¶¤Ê Ͷ #W5r 0 ¤¤¤¶¤ï °ËÂô #JNS 0 ¤¤¤¶¤ï °æÂô #JNS 0 ¤¤¤· °Õ»Ö #T30 13 ¤¤¤· °Õ»× #T30 6 ¤¤¤· °ä»Ö #T35 0 ¤¤¤· °å»Õ #T35 1 ¤¤¤· ÀÐ #T35 21 ¤¤¤·¤¤ Àаæ #JCN 0 ¤¤¤·¤ª¤« Àв¬ #JCN 0 ¤¤¤·¤«¤ê Àмí #CN 0 ¤¤¤·¤«¤ï ÀÐÀî #JCN 0 ¤¤¤·¤«¤ï ÀÐ²Ï #JNS 0 ¤¤¤·¤«¤ï¤±¤ó ÀÐÀ #CNS 0 ¤¤¤·¤¬¤­ ÀгÀ #JCN 0 ¤¤¤·¤¬¤­ ÀгÀ #T35 3 ¤¤¤·¤­ °Õ¼± #T30 59 ¤¤¤·¤¯¤é ÀÐÁÒ #JCN 0 ¤¤¤·¤°¤í Àйõ #JCN 0 ¤¤¤·¤² Àв¼ #JCN 0 ¤¤¤·¤² ÀÐÌÓ #JNS 0 ¤¤¤·¤³¤· ÀÐ±Û #JCN 0 ¤¤¤·¤¶¤« Àкä #JNS 0 ¤¤¤·¤¶¤­ Àкê #JNS 0 ¤¤¤·¤¶¤ï ÀÐÂô #JNS 0 ¤¤¤·¤¸¤Þ ÀÐÅç #JCN 0 ¤¤¤·¤¸¤Þ ÀÐÅè #JNS 0 ¤¤¤·¤º¤¨ Áà #T35 0 ¤¤¤·¤½¤Í ÀÐÁ¾º¬ #JNS 0 ¤¤¤·¤À ÀÐÅÄ #JCN 0 ¤¤¤·¤Ä °Û¼Á #T05 0 ¤¤¤·¤Ä °ä¼º #T30 0 ¤¤¤·¤Å¤« ÀÐÄÍ #JCN 0 ¤¤¤·¤É¤¦ ÀÐÆ² #JCN 0 ¤¤¤·¤É¤ê¤ä ÀÐĻë #JCN 0 ¤¤¤·¤Ê¤Ù ÀÐÆé #JNS 0 ¤¤¤·¤Î ÀÐÌî #JNS 0 ¤¤¤·¤Î¤Þ¤­ Àд¬ #CN 0 ¤¤¤·¤Ï¤¿ ÀÐȪ #JNS 0 ¤¤¤·¤Ï¤é Àи¶ #JNS 0 ¤¤¤·¤Ð¤· Àж¶ #JCN 0 ¤¤¤·¤Ð¤· Àж¶ #T35 13 ¤¤¤·¤Ö¤ß Èê #T35 0 ¤¤¤·¤Ù ÀÐÉô #JCN 0 ¤¤¤·¤Þ¤ë ÀÐ´Ý #JCN 0 ¤¤¤·¤ß¤Í ÀÐÎæ #JN 0 ¤¤¤·¤ã °Ö¼Õ #T30 1 ¤¤¤·¤ã °å¼Ô #T35 19 ¤¤¤·¤ä¤Þ Àл³ #JCN 0 ¤¤¤·¤å °Û¼ï #T35 2 ¤¤¤·¤å¤¦ éö½¸ #T30 0 ¤¤¤·¤å¤¦ °Û½­ #T35 2 ¤¤¤·¤å¤¯ °à½Ì #T30 0 ¤¤¤·¤å¤Ä °Ü½Ð #T30 0 ¤¤¤·¤æ¤ß ׸ #T35 0 ¤¤¤·¤ç °å½ñ #T35 0 ¤¤¤·¤ç °ä½ñ #T35 8 ¤¤¤·¤ç¤¦ °á¾Ø #T35 0 ¤¤¤·¤ç¤¦ °Õ¾¢ #T35 0 ¤¤¤·¤ç¤¦ °áÁõ #T35 1 ¤¤¤·¤ç¤¯ °Û¿§ #T05 2 ¤¤¤·¤ç¤¯ °Ñ¾ü #T30 0 ¤¤¤·¤ç¤¯ °á¿© #T30 0 ¤¤¤·¤ç¤¯ °Ü¿¢ #T30 52 ¤¤¤·¤ç¤¯¤¸¤å¤¦ °á¿©½» #T35 0 ¤¤¤·¤ï¤¿¤ê ÀÐÅÏ #JNS 0 ¤¤¤·¤ó °Ò¿® #T35 0 ¤¤¤·¤ó °Ý¿· #T35 1 ¤¤¤·¤ó¤Ç¤ó¤·¤ó °Ê¿´ÅÁ¿´ #T35 0 ¤¤¤¸ ¤¤¤¸ #R5r 40 ¤¤¤¸ °Ý»ý #T30 27 ¤¤¤¸ °ä»ù #T35 0 ¤¤¤¸ °ÕÃÏ #T35 10 ¤¤¤¸¤¯ ¤¤¤¸¤¯ #R5 2 ¤¤¤¸¤á ²×¤á #KSr 2 ¤¤¤¸¤á ¤¤¤¸¤á #KSr 3 ¤¤¤¸¤å¤¦ °Ü½» #T30 0 ¤¤¤¸¤å¤¦¤¤¤ó °Ë½¸±¡ #JCN 0 ¤¤¤¸¤ç¤¦ °Û¾ï #T05 54 ¤¤¤¸¤ç¤¦ °Ü¾ù #T30 0 ¤¤¤¸¤ç¤¦ °Ñ¾ù #T30 43 ¤¤¤¸¤ç¤¦ ¡æ #T35 1 ¤¤¤¸¤ç¤¦ °Ê¾å #T35 255 ¤¤¤¸¤é °Ë¼«ÎÉ #JCN 0 ¤¤¤¸¤ï¤ë °ÕÃϰ­ #T05 2 ¤¤¤¸¤ó °Î¿Í #T35 2 ¤¤¤¸¤ó °Û¿Í #T35 2 ¤¤¤¹ °Ø»Ò #T35 9 ¤¤¤¹¤ß °Ð¶ù #JCN 0 ¤¤¤¹¤é¤¨¤ë ¥¤¥¹¥é¥¨¥ë #CN 0 ¤¤¤¹¤é¤à ¥¤¥¹¥é¥à #KK 1 ¤¤¤¹¤ï µïºÂ #R5r 1 ¤¤¤º °ËƦ #JCN 0 ¤¤¤º¤¯¤ó¤¾ ¤¤¤º¤¯¤ó¤¾ #CJ 0 ¤¤¤º¤³ ¤¤¤º¤³ #T35 0 ¤¤¤º¤³ ²¿½è #T35 0 ¤¤¤º¤· ½ÐÀÐ #JCN 0 ¤¤¤º¤Ê¤¬¤ª¤« °ËƦĹ²¬ #CN 0 ¤¤¤º¤ß ½Ð¿å #JCN 0 ¤¤¤º¤ß Àô #JCN 0 ¤¤¤º¤ß ÏÂÀô #JCN 0 ¤¤¤º¤ß Àô #T35 8 ¤¤¤º¤ß¤ª¤ª¤Ä ÀôÂçÄÅ #CN 0 ¤¤¤º¤ß¤µ¤­ Àôºê #JCN 0 ¤¤¤º¤ß¤µ¤Î Àôº´Ìî #JCN 0 ¤¤¤º¤ß¤ä Àôë #JNS 0 ¤¤¤º¤â ½Ð±À #JCN 0 ¤¤¤º¤â¤¶¤­ ½Ð±Àºê #CN 0 ¤¤¤º¤ì ¤¤¤º¤ì #T35 41 ¤¤¤» °ËÀª #JCN 0 ¤¤¤»¤¤ °ÒÀª #T35 0 ¤¤¤»¤¤ °ÛÀ­ #T35 2 ¤¤¤»¤¤¤·¤ã °ÙÀ¯¼Ô #T35 2 ¤¤¤»¤­ °ÜÀÒ #T30 1 ¤¤¤»¤­ °äÀ× #T35 1 ¤¤¤»¤µ¤­ °ËÀªºê #JCN 0 ¤¤¤»¤¿¤ó °ËÀªÃ° #KK 1 ¤¤¤»¤Ä °ÜÀß #T30 0 ¤¤¤»¤Ä °ÛÀâ #T35 0 ¤¤¤»¤Ï¤é °ËÀª¸¶ #JCN 0 ¤¤¤»¤ê °æ¶Ü #JNS 0 ¤¤¤»¤ó °ËÀç #CN 0 ¤¤¤¼¤Ê °ËÀ§Ì¾ #JCN 0 ¤¤¤¼¤ó °ÍÁ³ #F02 15 ¤¤¤¼¤ó ÖáÁ³ #T35 0 ¤¤¤¼¤ó °ÊÁ° #T35 170 ¤¤¤¼¤ó¤±¤¤ ÖáÁ³·Á #T35 0 ¤¤¤½ µÞ #G5r 42 ¤¤¤½ °ë #JNS 0 ¤¤¤½ °ë #T35 2 ¤¤¤½¤¦ °ÜÁ÷ #T30 0 ¤¤¤½¤¦ °ÌÁê #T35 8 ¤¤¤½¤¦¤í¤¦ µï¸õ #T30 1 ¤¤¤½¤¬¤¤ °ë³­ #JNS 0 ¤¤¤½¤¬¤· Ë»¤· #KY 136 ¤¤¤½¤¬¤·¤¬ Ë»¤·¤¬ #R5 0 ¤¤¤½¤¬¤·¤å¤¦ Ë»¤·¤å¤¦ #KYU 3 ¤¤¤½¤´ °ë»Ò #JCN 0 ¤¤¤½¤¶¤­ °ëºê #JCN 0 ¤¤¤½¤· ¶Ð¤· #M5 1 ¤¤¤½¤¸ ¸Þ½½Ï© #T35 0 ¤¤¤½¤À °ëÅÄ #JNS 0 ¤¤¤½¤Î °ëÌî #JNS 0 ¤¤¤½¤Ù °ëÉô #JNS 0 ¤¤¤½¤ä °ëë #JCN 0 ¤¤¤½¤ó °Í¸ #T30 6 ¤¤¤¾¤¦ °ä£ #T30 1 ¤¤¤¾¤¯ °ä² #T35 0 ¤¤¤¾¤ó °Í¸ #T30 121 ¤¤¤¾¤ó °Û¸ #T35 1 ¤¤¤¿ ÄË #KYmi 35 ¤¤¤¿ ½ý #M5 0 ¤¤¤¿ Åé #M5 1 ¤¤¤¿ ÄË #M5r 24 ¤¤¤¿ Åþ #R5 0 ¤¤¤¿ »ê #R5 21 ¤¤¤¿ ¤¤¤¿ #S5 10 ¤¤¤¿ Ã× #S5 203 ¤¤¤¿ ÈÄ #T35 7 ¤¤¤¿¤¤ °ÛÂÎ #T35 1 ¤¤¤¿¤¤ °äÂÎ #T35 1 ¤¤¤¿¤¤¤± ¤¤¤¿¤¤¤± #T05 0 ¤¤¤¿¤¤¤¸ °ÛÂλú #T35 0 ¤¤¤¿¤¤¤¿¤· ÄË¡¹¤· #KY 0 ¤¤¤¿¤¤¤¿¤·¤å¤¦ ÄË¡¹¤·¤å¤¦ #KYU 0 ¤¤¤¿¤¬ Äˤ¬ #R5 0 ¤¤¤¿¤¬¤­ ÈijÀ #JNS 0 ¤¤¤¿¤¯ ¤¤¤¿¤¯ #F14 0 ¤¤¤¿¤¯ °ÍÂ÷ #T30 0 ¤¤¤¿¤¯ °ÑÂ÷ #T30 3 ¤¤¤¿¤¯¤é ÈÄÁÒ #JCN 0 ¤¤¤¿¤³ ĬÍè #CN 0 ¤¤¤¿¤³ ¥¤¥¿¥³ #T35 0 ¤¤¤¿¤·¤«¤¿¤Ê Ãפ·Êý¤Ê #KY 0 ¤¤¤¿¤·¤«¤¿¤Î¤¦ Ãפ·Êý¤Î¤¦ #KYU 0 ¤¤¤¿¤º¤é °­µº #T00 6 ¤¤¤¿¤º¤é ÅÌ #T05 2 ¤¤¤¿¤º¤é¤Ë ÅÌ¤Ë #F14 1 ¤¤¤¿¤¿¤Þ¤é¤Ê µï¤¿¤¿¤Þ¤é¤Ê #KY 1 ¤¤¤¿¤¿¤Þ¤é¤Ê µï¤¿´®¤é¤Ê #KY 1 ¤¤¤¿¤¿¤Þ¤é¤Î¤¦ µï¤¿¤¿¤Þ¤é¤Î¤¦ #KYU 1 ¤¤¤¿¤¿¤Þ¤é¤Î¤¦ µï¤¿´®¤é¤Î¤¦ #KYU 1 ¤¤¤¿¤¿¤Þ¤ì¤Ê ¤¤¤¿¤¿¤Þ¤ì¤Ê #KY 0 ¤¤¤¿¤¿¤Þ¤ì¤Ê µï¤¿¤¿¤Þ¤ì¤Ê #KY 0 ¤¤¤¿¤À Â× #K5 11 ¤¤¤¿¤À ¤¤¤¿¤À #K5 192 ¤¤¤¿¤À ĺ #K5 255 ¤¤¤¿¤À¤­ ĺ #T35 1 ¤¤¤¿¤Ã¤Æ ¤¤¤¿¤Ã¤Æ #F14 0 ¤¤¤¿¤Ç Ä˼ê #T15 1 ¤¤¤¿¤É¤ê Èļè #JCN 0 ¤¤¤¿¤Î ÈÄÌî #JCN 0 ¤¤¤¿¤Ð¤· ÈͶ #JCN 0 ¤¤¤¿¤Þ¤¨ ÈÄÁ° #T35 0 ¤¤¤¿¤Þ¤· Äˤޤ· #KY 0 ¤¤¤¿¤Þ¤· Äˤޤ· #M5 0 ¤¤¤¿¤Þ¤·¤å¤¦ Äˤޤ·¤å¤¦ #KYU 0 ¤¤¤¿¤ß °Ëð #JCN 0 ¤¤¤¿¤á ½ý¤á #KS 0 ¤¤¤¿¤á Äˤá #KS 1 ¤¤¤¿¤á ßÖ¤á #KSr 1 ¤¤¤¿¤á¤Ä¤± Äˤá¤Ä¤± #KS 0 ¤¤¤¿¤ä¤Ê¤® ÈÄÌø #JCN 0 ¤¤¤¿¤ê¤¢ ¥¤¥¿¥ê¥¢ #CN 0 ¤¤¤¿¤ï ¤¤¤¿¤ï #R5r 3 ¤¤¤¿¤ó °Ûü #T35 0 ¤¤¤À °æÅÄ #JCN 0 ¤¤¤À Êú #K5 5 ¤¤¤À¤¤ °ÎÂç #T05 6 ¤¤¤À¤¤ °åÂç #T35 1 ¤¤¤Á °ì #NN 255 ¤¤¤Á °ÌÃÖ #T30 255 ¤¤¤Á °í #T35 1 ¤¤¤Á »Ô #T35 11 ¤¤¤Á¤¤ °ì°æ #JNS 0 ¤¤¤Á¤¤ °ì°Õ #T05 17 ¤¤¤Á¤¤¤Á ¤¤¤Á¤¤¤Á #F14 16 ¤¤¤Á¤¤¤Á °ì¡¹ #F14 2 ¤¤¤Á¤¤¤Æ¤­ °ì°ÕŪ #T05 2 ¤¤¤Á¤¤¤ó °ì°ø #T35 1 ¤¤¤Á¤¤¤ó °ì°÷ #T35 2 ¤¤¤Á¤¦ °ì±§ #JN 0 ¤¤¤Á¤¨¤ó °ì±ß #T35 0 ¤¤¤Á¤ª¤¦ °ì±þ #F14 155 ¤¤¤Á¤ª¤¦ °ì±þ #T36 154 ¤¤¤Á¤«¤¤ »Ô³­ #JNS 0 ¤¤¤Á¤«¤´¤ó °ì²È¸À #T35 0 ¤¤¤Á¤«¤ï »ÔÀî #JCN 0 ¤¤¤Á¤«¤ï¤À¤¤¤â¤ó »ÔÀîÂçÌç #CN 0 ¤¤¤Á¤¬¤¤¤Ë °ì³µ¤Ë #F14 3 ¤¤¤Á¤¬¤ª »Ô¥öÈø #CN 0 ¤¤¤Á¤¬¤ä »Ô¥öë #CN 0 ¤¤¤Á¤¬¤ó °ì´ã #T15 0 ¤¤¤Á¤¬¤ó °ì´Ý #T35 1 ¤¤¤Á¤­ »ÔÍè #JCN 0 ¤¤¤Á¤®¤Æ¤­ °ìµÁŪ #T15 0 ¤¤¤Á¤²¤­ °ì·â #T30 1 ¤¤¤Á¤²¤ó °ì¸À #T30 0 ¤¤¤Á¤²¤ó °ì¸« #T35 0 ¤¤¤Á¤²¤ó °ì¸µ #T35 4 ¤¤¤Á¤³ °ì»Ò #JN 0 ¤¤¤Á¤´ çõ #T35 4 ¤¤¤Á¤´¤ó °ì¸À #T30 0 ¤¤¤Á¤· °ì»Ö #JCN 0 ¤¤¤Á¤¸ °ì»ö #T35 0 ¤¤¤Á¤¸ °ì»ú #T35 1 ¤¤¤Á¤¸ °ì¼¡ #T35 2 ¤¤¤Á¤¸ °ì»þ #T35 22 ¤¤¤Á¤¸¤Þ »ÔÅç #JCN 0 ¤¤¤Á¤¸¤ç °ì½õ #T35 1 ¤¤¤Á¤¸¤ç¤¦ °ì¾ò #JCN 0 ¤¤¤Á¤¸¤ç¤¦¤¸ °ì¾è»û #CN 0 ¤¤¤Á¤¸¤ë¤· Ãø¤· #KY 4 ¤¤¤Á¤¸¤ë¤·¤å¤¦ Ãø¤·¤å¤¦ #KYU 1 ¤¤¤Á¤¾¤ó °ì¸ #T35 1 ¤¤¤Á¤¿¤¤¤¿ °ìÂп #T35 2 ¤¤¤Á¤¿¤í¤¦ °ìÂÀϺ #JNM 0 ¤¤¤Á¤¿¤í¤¦ »ÔÂÀϺ #JNM 0 ¤¤¤Á¤À »ÔÅÄ #JCN 0 ¤¤¤Á¤À¤ó °ìÃÄ #T35 1 ¤¤¤Á¤À¤ó °ìÃÊ #T35 7 ¤¤¤Á¤À¤ó¤é¤¯ °ìÃÊÍî #T30 2 ¤¤¤Á¤Å¤± °ÌÃÖÉÕ¤± #KSr 4 ¤¤¤Á¤Å¤± °ÌÃÖÉÕ¤± #T30 0 ¤¤¤Á¤Å¤± °ÌÃ֤Ť± #KSr 0 ¤¤¤Á¤Å¤± °ÌÃ֤Ť± #T30 0 ¤¤¤Á¤É °ìÅÙ #T35 213 ¤¤¤Á¤É¤¦ °ìƲ #T35 1 ¤¤¤Á¤É¤¦ °ìƱ #T35 3 ¤¤¤Á¤É¤­ ¤¤¤Á¤É¤­ #T15 0 ¤¤¤Á¤É¤­ °ì»þ #T15 0 ¤¤¤Á¤É¤¯ °ìÆÉ #T30 3 ¤¤¤Á¤Ê¤ó °ìÆñ #T35 0 ¤¤¤Á¤Ë¤ó °ìǤ #T30 1 ¤¤¤Á¤Ë¤ó¤·¤ç¤¦ °ì¿Í¾Î #T35 0 ¤¤¤Á¤Ë¤ó¤Þ¤¨ °ì¿ÍÁ° #T15 1 ¤¤¤Á¤Í¤ó °ìǰ #T35 1 ¤¤¤Á¤Í¤ó °ìǯ #T35 11 ¤¤¤Á¤Î¤» °ì¤ÎÀ¥ #JCN 0 ¤¤¤Á¤Î¤»¤­ °ì´Ø #JCN 0 ¤¤¤Á¤Î¤Ø °ì¸Í #JCN 0 ¤¤¤Á¤Î¤ß¤ä °ì¤ÎµÜ #JCN 0 ¤¤¤Á¤Î¤ß¤ä °ìµÜ #JCN 0 ¤¤¤Á¤Î¤â¤È Ý«ËÜ #JCN 0 ¤¤¤Á¤Ï¤µ¤Þ °ìÇ÷ #JCN 0 ¤¤¤Á¤Ï¤ä °ïÁá #KY 0 ¤¤¤Á¤Ï¤ä¤¯ ¤¤¤ÁÁ᤯ #F14 1 ¤¤¤Á¤Ï¤ä¤¯ ¤¤¤ÁÁ᤯ #T36 0 ¤¤¤Á¤Ï¤é »Ô¸¶ #JCN 0 ¤¤¤Á¤Ð »Ô¾ì #JNS 0 ¤¤¤Á¤Ð »Ô¾ì #T35 4 ¤¤¤Á¤Ð¤ó ¤¤¤Á¤Ð¤ó #F14 6 ¤¤¤Á¤Ð¤ó °ìÈÖ #T35 136 ¤¤¤Á¤Ö °ìÉô #T35 93 ¤¤¤Á¤Ö¤Ö¤ó °ìÉôʬ #T35 3 ¤¤¤Á¤Ö¤ó °ìʸ #T35 0 ¤¤¤Á¤Þ¤Ä °ìËõ #T35 0 ¤¤¤Á¤Þ¤Ä »Ô¾¾ #T35 0 ¤¤¤Á¤à¤é »Ô¼ #JNS 0 ¤¤¤Á¤á¤¤ °ìÌ¿ #T35 0 ¤¤¤Á¤á¤ó °ìÌÌ #T35 2 ¤¤¤Á¤â¤¯ °ìÌÜ #T30 0 ¤¤¤Á¤â¤¯¤ê¤ç¤¦¤¼¤ó °ìÌÜÎÆÁ³ #T05 2 ¤¤¤Á¤â¤ó °ìÌç #T35 2 ¤¤¤Á¤ã¤â¤ó ¤¤¤Á¤ã¤â¤ó #T35 0 ¤¤¤Á¤ä °ìÌë #T35 2 ¤¤¤Á¤ä¤¯ °ìÌö #T30 1 ¤¤¤Á¤å¤¦ °ÕÃæ #T35 2 ¤¤¤Á¤ç °äÃø #T35 1 ¤¤¤Á¤ç¤¦ ¶ä°É #T35 1 ¤¤¤Á¤ç¤¦ °ßIJ #T35 5 ¤¤¤Á¤è¤¦ °ìÍÍ #T05 4 ¤¤¤Á¤é¤ó °ìÍ÷ #T30 255 ¤¤¤Á¤ê °ìÍý #T35 2 ¤¤¤Á¤ê¤Ä °ìΧ #T05 2 ¤¤¤Á¤ê¤Ä »ÔΩ #T35 0 ¤¤¤Á¤ê¤å¤¦ °ìή #T35 1 ¤¤¤Á¤ë °ìåß #T35 0 ¤¤¤Á¤ì¤¤ °ìÎã #T35 2 ¤¤¤Á¤ì¤ó °ìÏ¢ #T35 9 ¤¤¤Á¤í °ìÏ© #T35 0 ¤¤¤Á¤í¤¦ °ìϯ #JNM 0 ¤¤¤Á¤í¤¦ °ìϺ #JNM 0 ¤¤¤Á¤í¤¦ »ÔϺ #JNM 0 ¤¤¤Ã °ì #NN 59 ¤¤¤Ã °ï #S5 1 ¤¤¤Ã °ï #SX 4 ¤¤¤Ã¤« °ì²¼ #T35 0 ¤¤¤Ã¤« °ì²È #T35 11 ¤¤¤Ã¤«¤¤ °ì²ð #T35 2 ¤¤¤Ã¤«¤¤ °ì³¬ #T35 62 ¤¤¤Ã¤«¤¤ °ì²ó #T35 73 ¤¤¤Ã¤«¤¯ °ì³Ñ #T35 1 ¤¤¤Ã¤«¤»¤¤ °ì²áÀ­ #T35 1 ¤¤¤Ã¤«¤Ä °ì³å #T30 0 ¤¤¤Ã¤«¤Ä °ì³ç #T30 11 ¤¤¤Ã¤«¤ó °ì´Ó #T30 20 ¤¤¤Ã¤«¤ó °ì´¬ #T35 1 ¤¤¤Ã¤«¤ó °ì´Ä #T35 2 ¤¤¤Ã¤­ °ìÙä #T35 1 ¤¤¤Ã¤­ °ì´ü #T35 3 ¤¤¤Ã¤­¤È¤¦¤»¤ó °ìµ³ÅöÀé #T15 0 ¤¤¤Ã¤­¤Ë °ìµ¤¤Ë #F14 12 ¤¤¤Ã¤­¤ç °ìµó #T35 1 ¤¤¤Ã¤­¤ç¤¦ °ì¶½ #T35 1 ¤¤¤Ã¤±¤¤ °ì·× #T35 0 ¤¤¤Ã¤±¤ó °ì¸« #T30 11 ¤¤¤Ã¤±¤ó °ì¸® #T35 1 ¤¤¤Ã¤³¤¦ °ì¸þ #F14 5 ¤¤¤Ã¤³¤¦ °ì¹Ô #T35 4 ¤¤¤Ã¤³¤¦¤Ë °ì¸þ¤Ë #F14 0 ¤¤¤Ã¤³¤¦¤Ë ¤¤¤Ã¤³¤¦¤Ë #F14 0 ¤¤¤Ã¤³¤¯ °ì¹ñ #T35 0 ¤¤¤Ã¤³¤¯ °ì¹ï #T35 2 ¤¤¤Ã¤µ¤¤ °ìÀÚ #T35 11 ¤¤¤Ã¤µ¤¤¤¬¤Ã¤µ¤¤ °ìÀÚ¹çºâ #T35 0 ¤¤¤Ã¤µ¤¯ °ìºò #PRE 1 ¤¤¤Ã¤µ¤¯¤¸¤Ä °ìºòÆü #T35 0 ¤¤¤Ã¤µ¤¯¤Í¤ó °ìºòǯ #T35 1 ¤¤¤Ã¤µ¤ó¤«¤¿¤ó¤½ °ì»À²½ÃºÁÇ #T35 0 ¤¤¤Ã¤· °ì»Ö #JCN 0 ¤¤¤Ã¤·¤­ °ì¿§ #JN 0 ¤¤¤Ã¤·¤­ °ì¼° #T35 7 ¤¤¤Ã¤·¤Ä °ì¼¼ #T35 2 ¤¤¤Ã¤·¤å °ì¼ó #T35 2 ¤¤¤Ã¤·¤å °ì¼ï #T35 5 ¤¤¤Ã¤·¤å¤¦ °ì½³ #T30 0 ¤¤¤Ã¤·¤å¤¦ °ì¼þ #T30 5 ¤¤¤Ã¤·¤å¤¦¤«¤ó °ì½µ´Ö #T35 13 ¤¤¤Ã¤·¤å¤ó °ì½Ö #T35 10 ¤¤¤Ã¤·¤ç °ì½ï #T10 136 ¤¤¤Ã¤·¤ç ¤¤¤Ã¤·¤ç #T10 7 ¤¤¤Ã¤·¤ç¤¦ °ì¾Ï #T35 10 ¤¤¤Ã¤·¤ç¤¦ °ìÀ¸ #T35 22 ¤¤¤Ã¤·¤ç¤¦¤±¤ó¤á¤¤ °ì½ê·üÌ¿ #T05 6 ¤¤¤Ã¤·¤ç¤¦¤±¤ó¤á¤¤ °ìÀ¸·üÌ¿ #T05 9 ¤¤¤Ã¤·¤ç¤¯¤¿ ¤¤¤Ã¤·¤ç¤¯¤¿ #T06 0 ¤¤¤Ã¤·¤ç¤¯¤¿ °ì½ï¤¯¤¿ #T06 0 ¤¤¤Ã¤·¤ç¤±¤ó¤á¤¤ °ì½ê·üÌ¿ #T05 1 ¤¤¤Ã¤·¤ó °ì¿· #T30 0 ¤¤¤Ã¤·¤ó °ì¿´ #T35 1 ¤¤¤Ã¤·¤ó °ì¿³ #T35 2 ¤¤¤Ã¤·¤ó¤Ë °ì¿´¤Ë #F14 0 ¤¤¤Ã¤¹¤¤ °ì¿ç #T30 2 ¤¤¤Ã¤»¤¤ °ìÀÆ #F14 2 ¤¤¤Ã¤»¤¤ °ìÀÆ #T36 0 ¤¤¤Ã¤»¤¤ °ìÀ¤ #T35 0 ¤¤¤Ã¤»¤¤¤Ë ¤¤¤Ã¤»¤¤¤Ë #F14 1 ¤¤¤Ã¤»¤¤¤Ë °ìÀÆ¤Ë #F14 3 ¤¤¤Ã¤»¤¤¤Î ¤¤¤Ã¤»¤¤¤Î #RT 0 ¤¤¤Ã¤»¤­¤Ë¤Á¤ç¤¦ °ìÀÐÆóÄ» #T35 1 ¤¤¤Ã¤»¤Ä °ìÀâ #T35 1 ¤¤¤Ã¤»¤ó °ìÀé #T35 1 ¤¤¤Ã¤»¤ó °ìÀþ #T35 1 ¤¤¤Ã¤½ ¤¤¤Ã¤½ #F14 3 ¤¤¤Ã¤½¤¦ ¤¤¤Ã¤½¤¦ #F14 4 ¤¤¤Ã¤½¤¦ °ìÁÝ #T30 1 ¤¤¤Ã¤½¤¦ °ìÁØ #T35 4 ¤¤¤Ã¤½¤¯ °ì­ #T35 0 ¤¤¤Ã¤½¤Î ¤¤¤Ã¤½¤Î #RT 0 ¤¤¤Ã¤¿¤¤ ¤¤¤Ã¤¿¤¤ #F14 6 ¤¤¤Ã¤¿¤¤ °ìÂÎ #T05 27 ¤¤¤Ã¤¿¤¤ °ìÂÓ #T35 1 ¤¤¤Ã¤¿¤ó °ì¤¿¤ó #F14 1 ¤¤¤Ã¤¿¤ó ¤¤¤Ã¤¿¤ó #F14 2 ¤¤¤Ã¤¿¤ó °ìö #F14 41 ¤¤¤Ã¤¿¤ó °ìü #T35 2 ¤¤¤Ã¤Á °ìÃ× #T30 59 ¤¤¤Ã¤Á¤å¤¦¤ä °ìÃëÌë #T35 0 ¤¤¤Ã¤Á¤ç¤¦¤¤¤Ã¤»¤­ °ìÄ«°ìͼ #T35 2 ¤¤¤Ã¤Á¤ç¤¦¤¤¤Ã¤¿¤ó °ìŰìû #T35 2 ¤¤¤Ã¤Á¤ç¤¦¤é °ìÄ¥Íå #T35 0 ¤¤¤Ã¤Æ °ì¼ê #T35 11 ¤¤¤Ã¤Æ¤¤ °ìÄê #T00 14 ¤¤¤Ã¤Æ¤ó °ìž #T30 1 ¤¤¤Ã¤Æ¤ó °ìÅÀ #T35 2 ¤¤¤Ã¤È °ìÅÓ #T35 1 ¤¤¤Ã¤È¤¦ °ìÅù #T35 2 ¤¤¤Ã¤È¤­ ¤¤¤Ã¤È¤­ #T35 0 ¤¤¤Ã¤È¤­ °ì»þ #T35 0 ¤¤¤Ã¤Ñ °ìÇÉ #T35 2 ¤¤¤Ã¤Ñ¤¤ ¤¤¤Ã¤Ñ¤¤ #T05 120 ¤¤¤Ã¤Ñ¤¤ °ìÇÕ #T35 35 ¤¤¤Ã¤Ñ¤¯ °ìÇñ #T30 6 ¤¤¤Ã¤Ñ¤Ä °ìȯ #T35 7 ¤¤¤Ã¤Ñ¤ó °ìÈÌ #T35 167 ¤¤¤Ã¤Ñ¤ó¤Æ¤­ °ìÈÌŪ #T15 0 ¤¤¤Ã¤Ô¤Ä °ìÉ® #T35 1 ¤¤¤Ã¤Ô¤ó °ïÉÊ #T35 0 ¤¤¤Ã¤×¤¯ °ìÉþ #T30 0 ¤¤¤Ã¤Ú¤¤ °ìÊ¿ #JN 0 ¤¤¤Ã¤Ú¤ó °ìÊÑ #T30 2 ¤¤¤Ã¤Ú¤ó °ìÊÕ #T35 7 ¤¤¤Ã¤Ú¤ó¤È¤¦ °ìÊÕÅÝ #T15 1 ¤¤¤Ã¤Ý °ìÊâ #T35 4 ¤¤¤Ã¤Ý¤¦ ¤¤¤Ã¤Ý¤¦ #CJ 4 ¤¤¤Ã¤Ý¤¦ °ìÊó #T30 1 ¤¤¤Ã¤Ý¤¦ °ìÊý #T35 49 ¤¤¤Ã¤Ý¤ó °ìËÜ #T35 8 ¤¤¤Ã¤Ý¤ó¤Þ¤Ä °ìËܾ¾ #JCN 0 ¤¤¤Ä °í #KJ 0 ¤¤¤Ä °î #KJ 0 ¤¤¤Ä ²µ #KJ 0 ¤¤¤Ä ¸à #KJ 0 ¤¤¤Ä °ì #KJ 1 ¤¤¤Ä °ï #KJ 1 ¤¤¤Ä ¤¤¤Ä #T35 163 ¤¤¤Ä ²¿»þ #T35 22 ¤¤¤Ä¤¦ °ßÄË #T35 1 ¤¤¤Ä¤« 5Æü #T35 0 ¤¤¤Ä¤« £µÆü #T35 0 ¤¤¤Ä¤« ¸ÞÆü #T35 2 ¤¤¤Ä¤«¤¤¤Á ¸ÞÆü»Ô #JCN 0 ¤¤¤Ä¤­ ¸ÞÌÚ #JCN 0 ¤¤¤Ä¤¯¤· »ü¤· #M5r 0 ¤¤¤Ä¤³ °ËÅÔ»Ò #JNM 0 ¤¤¤Ä¤¶¤¤ °ïºà #T35 0 ¤¤¤Ä¤¾¤ä ¤¤¤Ä¤¾¤ä #T36 0 ¤¤¤Ä¤À¤Ä °ïæ #T30 1 ¤¤¤Ä¤Ä ¸Þ¤Ä #T35 3 ¤¤¤Ä¤Ï¤· ¸Þ¶¶ #JNS 0 ¤¤¤Ä¤Ö ÃòÄÙ #S5r 0 ¤¤¤Ä¤Þ¤Ç ¤¤¤Ä¤Þ¤Ç #F14 8 ¤¤¤Ä¤ß ¤¤¤Ä¤ß #JNM 0 ¤¤¤Ä¤â ¤¤¤Ä¤â #F14 27 ¤¤¤Ä¤â ¤¤¤Ä¤â #T36 26 ¤¤¤Ä¤ï ¸ÞÏ #JCN 0 ¤¤¤Ä¤ï ¸ÞÎØ #JN 0 ¤¤¤Ä¤ï µ¶ #R5r 2 ¤¤¤Ä¤ï °ïÏà #T35 1 ¤¤¤Å¤Ï¤é ¸·¸¶ #JCN 0 ¤¤¤Æ ¼Í¼ê #T35 0 ¤¤¤Æ¤­ °Ðà¿ #T35 0 ¤¤¤Æ¤¶ ¼Í¼êºÂ #KK 1 ¤¤¤Æ¤Ä Åà¤Æ¤Ä #K5 2 ¤¤¤Æ¤ó °Üž #T30 3 ¤¤¤Ç °æ¼ê #CN 0 ¤¤¤Ç °æ½Ð #JCN 0 ¤¤¤Ç¤£¤ª¤à ¥¤¥Ç¥£¥ª¥à #T35 0 ¤¤¤Ç¤ª¤í¤®¡¼ ¥¤¥Ç¥ª¥í¥®¡¼ #T35 1 ¤¤¤Ç¤ß¤Ä ½Ð¸÷ #KK 2 ¤¤¤Ç¤à¤é ½Ð¼ #JNS 0 ¤¤¤Ç¤ó °äÅÁ #T30 1 ¤¤¤Ç¤ó¤· °äÅÁ»Ò #T35 1 ¤¤¤È °ËÅÔ #JCN 0 ¤¤¤È °Õ¿Þ #T30 31 ¤¤¤È »å #T35 2 ¤¤¤È ±Þ #U5 10 ¤¤¤È¤¤¤¬¤ï »åµûÀî #CN 0 ¤¤¤È¤¦ °ËÅì #JCN 0 ¤¤¤È¤¦ °ËÆ£ #JNS 0 ¤¤¤È¤¦ Äˤ¦ #KYU 2 ¤¤¤È¤¦¤Á¤å¤¦ °ËÆ£Ãé #KK 4 ¤¤¤È¤ª¤· ¤¤¤È¤ª¤· #KYmi 2 ¤¤¤È¤ª¤·¤å¤¦ ¤¤¤È¤ª¤·¤å¤¦ #KYU 1 ¤¤¤È¤°¤Á »å¸ý #T35 1 ¤¤¤È¤³ ¤¤¤È¤³ #T35 4 ¤¤¤È¤³ ½¾·»Äï #T35 0 ¤¤¤È¤³ ½¾·» #T35 0 ¤¤¤È¤³ ½¾Äï #T35 0 ¤¤¤È¤³ ½¾»ÐËå #T35 0 ¤¤¤È¤³ ½¾»Ð #T35 0 ¤¤¤È¤³ ½¾Ëå #T35 0 ¤¤¤È¤· °¦¤· #KYmi 3 ¤¤¤È¤·¤Î °¦¤·¤Î #RT 0 ¤¤¤È¤·¤Þ »åÅç #JCN 0 ¤¤¤È¤¿¤Ë »åë #JNS 0 ¤¤¤È¤À »åÅÄ #JCN 0 ¤¤¤È¤Ê ±Ä #M5r 1 ¤¤¤È¤Ì¤­ »å´Ó #JCN 0 ¤¤¤È¤Þ ²Ë #T35 4 ¤¤¤È¤Þ¤ó »åËþ #JCN 0 ¤¤¤È¤á ¼Í»ß¤á #KS 0 ¤¤¤È¤â ¤¤¤È¤â #F14 0 ¤¤¤É Ä© #M5 0 ¤¤¤É °ÞÅÙ #T35 0 ¤¤¤É °æ¸Í #T35 3 ¤¤¤É¤¦ °Ûư #T30 0 ¤¤¤É¤¦ °Üư #T30 255 ¤¤¤É¤¦ °ÛƱ #T35 1 ¤¤¤É¤³¤í µï½ê #T35 1 ¤¤¤É¤Ð¤¿ °æ¸Íü #T35 3 ¤¤¤Ê °ËÆà #JCN 0 ¤¤¤Ê °ËÆá #JCN 0 ¤¤¤Ê °ËÆî #JCN 0 ¤¤¤Ê °ð #KJ 0 ¤¤¤Ê ÈÝ #M5 0 ¤¤¤Ê ÈÝ #T35 85 ¤¤¤Ê¤¤ °ð°æ #JCN 0 ¤¤¤Ê¤¤ °ÊÆâ #T35 33 ¤¤¤Ê¤ª µïľ #R5r 0 ¤¤¤Ê¤ª¤« °ð²¬ #JNS 0 ¤¤¤Ê¤« ÅÄ¼Ë #T35 5 ¤¤¤Ê¤«¤À¤Æ ÅÄ¼Ë´Û #JCN 0 ¤¤¤Ê¤«¤Ã¤Ú ÅÄ¼Ë¤Ã¤Ú #T35 0 ¤¤¤Ê¤«¤ï °ðÀî #JCN 0 ¤¤¤Ê¤¬¤­ °ð³À #JCN 0 ¤¤¤Ê¤¬¤é¤Ë¤·¤Æ ¤¤¤Ê¤¬¤é¤Ë¤·¤Æ #F14 0 ¤¤¤Ê¤¬¤ï Ãö̾Àî #JCN 0 ¤¤¤Ê¤® °ð¾ë #JCN 0 ¤¤¤Ê¤µ °úº´ #JCN 0 ¤¤¤Ê¤µ¤°¤ó °úº´·´ #CN 0 ¤¤¤Ê¤¶¤ï °ðÂô #JCN 0 ¤¤¤Ê¤·¤­ °ðÉß #JCN 0 ¤¤¤Ê¤º¤Þ °ðºÊ #T35 1 ¤¤¤Ê¤» ¤¤¤Ê¤» #T05 0 ¤¤¤Ê¤À °ðÅÄ #JCN 0 ¤¤¤Ê¤Ä¤­ °ðÃÛ #JCN 0 ¤¤¤Ê¤Ë¤ï °ðÄí #JCN 0 ¤¤¤Ê¤Ð °øÈ¨ #JCN 0 ¤¤¤Ê¤Ð °ðÍÕ #JNS 0 ¤¤¤Ê¤Ó¤«¤ê °ð¸÷ #T35 1 ¤¤¤Ê¤Ö °ðÉð #JCN 0 ¤¤¤Ê¤Ù °÷ÊÛ #JCN 0 ¤¤¤Ê¤ß °ðÈþ #JCN 0 ¤¤¤Ê¤ß °õÆî #JCN 0 ¤¤¤Ê¤ß °æÇÈ #JN 0 ¤¤¤Ê¤à¤é °ð¼ #JCN 0 ¤¤¤Ê¤é µïÊ #B5 0 ¤¤¤Ê¤ê °ð²Ù #T35 1 ¤¤¤Ê¤ï¤·¤í ÃöÉÄÂå #CN 0 ¤¤¤Ê¤ó °ÊÆî #CNSUC1 2 ¤¤¤Ë¤·¤¨ ¤¤¤Ë¤·¤¨ #T35 1 ¤¤¤Ë¤·¤¨¡¼¤¿ ¥¤¥Ë¥·¥¨¡¼¥¿ #T35 2 ¤¤¤Ë¤·¤¨¡¼¤¿¡¼ ¥¤¥Ë¥·¥¨¡¼¥¿¡¼ #T35 2 ¤¤¤Ë¤·¤ã¤é¤¤¤º ¥¤¥Ë¥·¥ã¥é¥¤¥º #T30 4 ¤¤¤Ë¤·¤ã¤ë ¥¤¥Ë¥·¥ã¥ë #T35 3 ¤¤¤Ë¤å¡¼ ¥¤¥Ë¥å¡¼ #KK 0 ¤¤¤Ë¤å¤¦ °ÜÆþ #T30 0 ¤¤¤Ë¤ó °ÑǤ #T30 2 ¤¤¤Ì ¼Í´Ó #K5 0 ¤¤¤Ì ¶é #T35 0 ¤¤¤Ì ¸¤ #T35 5 ¤¤¤Ì¤¤ ´¥ #T35 1 ¤¤¤Ì¤«¤¤ ¸¤»ô #JCN 0 ¤¤¤Ì¤«¤ß ¸¤¾å #JCN 0 ¤¤¤Ì¤³¤í ¸¤¤³¤í #T35 0 ¤¤¤Ì¤Ã¤³¤í ¸¤¤Ã¤³¤í #T35 0 ¤¤¤Ì¤ä¤Þ ¸¤»³ #JCN 0 ¤¤¤Í °Ëº¬ #JCN 0 ¤¤¤Í ²Ó #T35 0 ¤¤¤Í °ð #T35 5 ¤¤¤Í¤«¤ê °ð´¢¤ê #T30 0 ¤¤¤Í¤à¤ê µï̲¤ê #T30 1 ¤¤¤Î °ËÌî #JCN 0 ¤¤¤Î Åø #R5 0 ¤¤¤Î µ§ #R5r 10 ¤¤¤Î¤¦¤¨ °æ¾å #JNS 0 ¤¤¤Î¤­ ÃöÌÚ #JNS 0 ¤¤¤Î¤¯¤Á °æ¸ý #JCN 0 ¤¤¤Î¤³ µï»Ä #R5r 1 ¤¤¤Î¤·¤· Ãö #T35 1 ¤¤¤Î¤» ÃöÀ¥ #JNS 0 ¤¤¤Î¤Á Ì¿ #T35 10 ¤¤¤Î¤Á¤´¤¤ Ì¿¸ð¤¤ #T30 0 ¤¤¤Î¤Þ¤¿ Ãö¸Ô #JNS 0 ¤¤¤Ï¤¤ °ãÇØ #T30 2 ¤¤¤Ï¤¯ Û©¤¯ #T35 1 ¤¤¤Ï¤é °Ã¸¶ #JCN 0 ¤¤¤Ï¤ó °ãÈ¿ #T10 8 ¤¤¤Ð °ÒÄ¥ #R5 4 ¤¤¤Ð¤·¤ç µï¾ì½ê #T35 3 ¤¤¤Ð¤é °æ¸¶ #JCN 0 ¤¤¤Ð¤é °ñ #T35 2 ¤¤¤Ð¤é¤­ °ñÌÚ #JCN 0 ¤¤¤Ð¤é¤­ °ñ¾ë #JNS 0 ¤¤¤Ð¤é¤­¤±¤ó °ñ¾ë¸© #CNS 0 ¤¤¤Ð¤é¤®¤±¤ó °ñ¾ë¸© #CNS 0 ¤¤¤Ò¤ç¤¦ °Õɽ #T35 0 ¤¤¤Ò¤ó °äÉÊ #T35 0 ¤¤¤Ó ͬÈå #JCN 0 ¤¤¤Ó¤¬¤ï ͬÈåÀî #CN 0 ¤¤¤Ó¤Ä ¤¤¤Ó¤Ä #T05 1 ¤¤¤Õ °ÚÉÝ #T30 1 ¤¤¤Õ¤¦ °ÒÉ÷ #T35 0 ¤¤¤Õ¤¯ °áÉþ #T35 0 ¤¤¤Ö¤­ °Ë¿á #JCN 0 ¤¤¤Ö¤­ ©¿á #T35 0 ¤¤¤Ö¤¹¤­ »Ø½É #CN 0 ¤¤¤Ö¤¹¤­ ͬ½É #CN 0 ¤¤¤Ö¤Ä °Ûʪ #T35 0 ¤¤¤Ö¤Ä °äʪ #T35 2 ¤¤¤Ö¤ê ÃÀ¿¶ #CN 0 ¤¤¤×¤·¤í¤ó ¦¥ #T35 2 ¤¤¤×¤·¤í¤ó ¦Å #T35 2 ¤¤¤Ø¤ä °ËÊ¿²° #CN 0 ¤¤¤Ø¤ó °ÛÊÑ #T35 0 ¤¤¤Ù¤ó¤È ¥¤¥Ù¥ó¥È #T35 74 ¤¤¤Û¤¦ °ãË¡ #T05 2 ¤¤¤Û¤¦ °ÛË® #T35 0 ¤¤¤Ü ͬÊÝ #JCN 0 ¤¤¤Ü¤¬¤ï ͬÊÝÀî #JCN 0 ¤¤¤Þ º£ #T35 255 ¤¤¤Þ ¤¤¤Þ #T35 29 ¤¤¤Þ µï´Ö #T35 3 ¤¤¤Þ¤¤ º£°æ #JCN 0 ¤¤¤Þ¤¤¤º¤ß º£Àô #JCN 0 ¤¤¤Þ¤¤¤Á º£»Ô #JCN 0 ¤¤¤Þ¤¤¤Á ¤¤¤Þ¤¤¤Á #T15 55 ¤¤¤Þ¤¤¤Þ¤· ´÷¡¹¤· #KY 0 ¤¤¤Þ¤¤¤Þ¤·¤¬ ´÷¡¹¤·¤¬ #R5 0 ¤¤¤Þ¤¤¤Þ¤·¤å¤¦ ´÷¡¹¤·¤å¤¦ #KYU 0 ¤¤¤Þ¤¬¤Í º£¶â #JCN 0 ¤¤¤Þ¤¬¤ï º£Àî #JCN 0 ¤¤¤Þ¤´¤í º£¤´¤í #F14 8 ¤¤¤Þ¤´¤í º£¤´¤í #T36 0 ¤¤¤Þ¤µ¤é º£¤µ¤é #F14 1 ¤¤¤Þ¤µ¤é ¤¤¤Þ¤µ¤é #F14 13 ¤¤¤Þ¤µ¤é º£¹¹ #F14 3 ¤¤¤Þ¤µ¤é ¤¤¤Þ¤µ¤é #T36 0 ¤¤¤Þ¤µ¤é º£¤µ¤é #T36 0 ¤¤¤Þ¤µ¤é º£¹¹ #T36 0 ¤¤¤Þ¤·¤¬¤¿ º£¤·¤¬¤¿ #F14 0 ¤¤¤Þ¤·¤¬¤¿ º£¤·¤¬¤¿ #T36 0 ¤¤¤Þ¤·¤á ²ü¤á #KSr 0 ¤¤¤Þ¤¸¤ç¤¦ º£¾± #JCN 0 ¤¤¤Þ¤¼¤­ º£´Ø #JNS 0 ¤¤¤Þ¤À ̤¤À #F14 11 ¤¤¤Þ¤À ¤¤¤Þ¤À #F14 16 ¤¤¤Þ¤À º£ÅÄ #JNS 0 ¤¤¤Þ¤À¤Æ º£Î© #JCN 0 ¤¤¤Þ¤À¤Ë ̤¤À¤Ë #F14 11 ¤¤¤Þ¤À¤Ë ¤¤¤Þ¤À¤Ë #F14 16 ¤¤¤Þ¤Å º£ÄÅ #JCN 0 ¤¤¤Þ¤Ç¤¬¤ï º£½ÐÀî #JCN 0 ¤¤¤Þ¤Ð¤ê º£¼£ #JCN 0 ¤¤¤Þ¤Ù¤Ä º£ÊÌ #JCN 0 ¤¤¤Þ¤Þ¤Ç ¤¤¤Þ¤Þ¤Ç #F14 0 ¤¤¤Þ¤Þ¤Ç º£¤Þ¤Ç #F14 47 ¤¤¤Þ¤Þ¤Ç ¤¤¤Þ¤Þ¤Ç #T35 0 ¤¤¤Þ¤Þ¤Ç º£¤Þ¤Ç #T35 0 ¤¤¤Þ¤à¤é º£Â¼ #JNS 0 ¤¤¤Þ¤ä ¤¤¤Þ¤ä #F14 1 ¤¤¤Þ¤ê °ËËüΤ #CN 0 ¤¤¤Þ¤ï¤· ´÷¤Þ¤ï¤· #KYmi 1 ¤¤¤Þ¤ï¤·¤å¤¦ ´÷¤Þ¤ï¤·¤å¤¦ #KYU 1 ¤¤¤ß °ÕÌ£ #T30 255 ¤¤¤ß¤º ¼Í¿å #JCN 0 ¤¤¤ß¤Ç¤£¤¨¤¤¤È ¥¤¥ß¥Ç¥£¥¨¥¤¥È #T05 1 ¤¤¤ß¤ó °Ü̱ #T30 1 ¤¤¤à °å̳ #T35 1 ¤¤¤à¤é °æÂ¼ #JNS 0 ¤¤¤á¡¼¤¸ ¥¤¥á¡¼¥¸ #T30 98 ¤¤¤á¤¤ °Û̾ #T35 0 ¤¤¤á¤Á¤§¤ó ¥¤¥á¥Á¥§¥ó #T30 0 ¤¤¤â °ò #T35 17 ¤¤¤â ¤¤¤â #T35 5 ¤¤¤â¤¦¤È Ëå #T35 6 ¤¤¤â¤Î Ãòʪ #T35 0 ¤¤¤â¤à¤· °òÃî #T35 0 ¤¤¤â¤ó °ÖÌä #T30 0 ¤¤¤ä ÁÄë #JCN 0 ¤¤¤ä ×½ #KJ 1 ¤¤¤ä Ìþ #S5 0 ¤¤¤ä ±Þ #T05 0 ¤¤¤ä ¤¤¤ä #T05 17 ¤¤¤ä ·ù #T05 35 ¤¤¤ä¤ª¤¦ Èݱþ #T35 1 ¤¤¤ä¤ª¤¦¤Ê¤·¤Ë Èݱþ¤Ê¤·¤Ë #F14 1 ¤¤¤ä¤¬ ·ù¤¬ #R5 0 ¤¤¤ä¤¬¤ª¤¦¤Ç¤â ¤¤¤ä¤¬±þ¤Ç¤â #CJ 0 ¤¤¤ä¤¬¤µ¤³ °Ë²°¥öÇ÷ #JCN 0 ¤¤¤ä¤¯ °ãÌó #T30 0 ¤¤¤ä¤¯ °ÕÌõ #T30 1 ¤¤¤ä¤¯ °åÌô #T35 1 ¤¤¤ä¤¯¤­¤ó °ãÌó¶â #T35 0 ¤¤¤ä¤± ·ùµ¤ #T35 1 ¤¤¤ä¤· Èܤ· #KYmi 0 ¤¤¤ä¤· Èܤ· #M5 0 ¤¤¤ä¤·¤á Èܤ·¤á #KS 0 ¤¤¤ä¤·¤å¤¦ Èܤ·¤å¤¦ #KYU 0 ¤¤¤ä¤Ë ¤¤¤ä¤Ë #F14 0 ¤¤¤ä¤Þ ¤¤¤äÁý #S5r 0 ¤¤¤ä¤ß ·ùÌ£ #T05 1 ¤¤¤ä¤ß ±ÞÌ£ #T05 2 ¤¤¤ä¤é¤· ¤¤¤ä¤é¤· #KY 1 ¤¤¤ä¤é¤·¤å¤¦ ¤¤¤ä¤é¤·¤å¤¦ #KYU 1 ¤¤¤ä¤ê¤ó¤° ¥¤¥ä¥ê¥ó¥° #T35 0 ¤¤¤æ¤¦ °Úͧ #T35 0 ¤¤¤è °Ëͽ #JCN 0 ¤¤¤è °ËÂå #JN 0 ¤¤¤è¤¤¤è ¤¤¤è¤¤¤è #F14 5 ¤¤¤è¤¤¤è ¤¤¤è¤¤¤è #T16 0 ¤¤¤è¤¦ °ÛÍÍ #T05 5 ¤¤¤è¤¦ °ÒÍÆ #T35 0 ¤¤¤è¤¯ °ÕÍß #T35 2 ¤¤¤è¤¸ ¸ÞÂå»Ì #JN 0 ¤¤¤è¤ß¤·¤Þ °Ëͽ»°Åç #CN 0 ¤¤¤é ²× #KJ 6 ¤¤¤é¤¤ °ÊÍè #F14 20 ¤¤¤é¤¤ °ÍÍê #T30 194 ¤¤¤é¤¤ °ÊÍè #T36 21 ¤¤¤é¤¤¤é ²×¡¹ #F04 0 ¤¤¤é¤¤¤é ¥¤¥é¥¤¥é #F04 26 ¤¤¤é¤¤¤é ²×¡¹ #T35 0 ¤¤¤é¤¤¤é ¥¤¥é¥¤¥é #T35 0 ¤¤¤é¤« á° #T35 0 ¤¤¤é¤¹¤È ¥¤¥é¥¹¥È #T35 0 ¤¤¤é¤À ²×Ω #T5r 2 ¤¤¤é¤Ã¤·¤ã ¤¤¤é¤Ã¤·¤ã #L5 40 ¤¤¤é¤Ö °ËÎÉÉô #JCN 0 ¤¤¤é¤ó¤¯¤¦ °ÏÍñ¹Ð #T35 1 ¤¤¤ê¤¨ Æþ¹¾ #JCN 0 ¤¤¤ê¤¨ Æþ¤ê¹¾ #T35 1 ¤¤¤ê¤¨ Æþ¹¾ #T35 10 ¤¤¤ê¤ª¤â¤Æ À¾É½ #CN 0 ¤¤¤ê¤¬¤¤ Æþ³­ #JNS 0 ¤¤¤ê¤­ ÆþÍè #JCN 0 ¤¤¤ê¤¯ Æþ¤êÁÈ #M5 0 ¤¤¤ê¤°¤Á Æþ¸ý #T35 15 ¤¤¤ê¤³ Æþ¤ê¹þ #M5 0 ¤¤¤ê¤Î ÆþÌî #JCN 0 ¤¤¤ê¤Ò¤í¤» Æþ¹­À¥ #CN 0 ¤¤¤ê¤å¤¦ °äα #T30 0 ¤¤¤ê¤å¤¦ °Öα #T30 1 ¤¤¤ê¤ç¤¦ °áÎÁ #T35 1 ¤¤¤ê¤ç¤¦ °åÎÅ #T35 2 ¤¤¤ê¤ç¤¯ °ÒÎÏ #T35 2 ¤¤¤ë Æþ¥ë #CNSUC1 13 ¤¤¤ë¡¼¤¸¤ç¤ó ¥¤¥ë¡¼¥¸¥ç¥ó #T35 1 ¤¤¤ë¤¤ °áÎà #T35 2 ¤¤¤ë¤« òÄ #T35 1 ¤¤¤ë¤« ³¤ÆÚ #T35 2 ¤¤¤ë¤¹ µïα¼é #T30 0 ¤¤¤ë¤Þ Æþ´Ö #JCN 0 ¤¤¤ì ÍÆ¤ì #KS 1 ¤¤¤ì Æþ¤ì #KS 255 ¤¤¤ì Æþ¤ì #T35 0 ¤¤¤ì¤¤ °ÛÎã #T05 1 ¤¤¤ì¤«¤¨ Æþ¤ì´¹¤¨ #KSr 27 ¤¤¤ì¤«¤¨ Æþ´¹¤¨ #KSr 0 ¤¤¤ì¤«¤¨ Æþ¤ìÂØ¤¨ #KSr 27 ¤¤¤ì¤«¤¨ ÆþÂØ¤¨ #KSr 0 ¤¤¤ì¤«¤ï Æþ¤ìÂØ¤ï #R5r 9 ¤¤¤ì¤³ Æþ¤ì¹þ #M5r 0 ¤¤¤ì¤³ Æþ¤ì»Ò #T35 1 ¤¤¤ì¤Â¤¨ Æþ¤ìÃηà #T30 0 ¤¤¤ì¤Ê¤ª Æþ¤ìľ #S5r 3 ¤¤¤í ¿§ #T35 69 ¤¤¤í¤¢¤¤ ¿§¹ç¤¤ #T35 0 ¤¤¤í¤¢¤» ¿§¤¢¤» #KSr 1 ¤¤¤í¤¢¤» ¿§êô¤» #KSr 1 ¤¤¤í¤¢¤» ¿§êô¤» #T30 0 ¤¤¤í¤¤¤í ¤¤¤í¤¤¤í #F14 157 ¤¤¤í¤¤¤í ¿§¿§ #F14 3 ¤¤¤í¤¤¤í ¿§¡¹ #F14 40 ¤¤¤í¤¤¤í ¿§¿§ #T05 1 ¤¤¤í¤¤¤í ¤¤¤í¤¤¤í #T05 160 ¤¤¤í¤¤¤í ¿§¡¹ #T05 81 ¤¤¤í¤¦ °ÖÏ« #T30 1 ¤¤¤í¤¦ °äϳ #T35 0 ¤¤¤í¤± ¿§µ¤ #T35 5 ¤¤¤í¤³ ¿§Ç» #KY 1 ¤¤¤í¤³ ¿§»Ò #T35 0 ¤¤¤í¤³¤¦ ¿§Ç»¤¦ #KYU 1 ¤¤¤í¤º¤ê ¿§ºþ #T30 0 ¤¤¤í¤Ã¤Ý ¿§¤Ã¤Ý #KY 1 ¤¤¤í¤Å ¿§¤Å #K5r 0 ¤¤¤í¤É ºÌ #R5r 1 ¤¤¤í¤Ï ¤¤¤í¤Ï #T35 20 ¤¤¤í¤á ¿§¤á #K5 0 ¤¤¤í¤ï¤± ¿§Ê¬¤± #T30 0 ¤¤¤í¤ó °ÛÏÀ #T35 2 ¤¤¤í¤ó¤Ê ¿§¤ó¤Ê #RT 2 ¤¤¤í¤ó¤Ê ¤¤¤í¤ó¤Ê #RT 6 ¤¤¤ï ÈØ #T35 0 ¤¤¤ï ´ä #T35 8 ¤¤¤ï ½Ë #W5r 9 ¤¤¤ï¤¤ ´ä°æ #JCN 0 ¤¤¤ï¤¤ ÈØ°æ #JCN 0 ¤¤¤ï¤¤¤º¤ß ´äÀô #JCN 0 ¤¤¤ï¤ª ´à #JN 0 ¤¤¤ï¤ª ´äÀ¸ #JN 0 ¤¤¤ï¤ª ´äÃË #JN 0 ¤¤¤ï¤ª ´äÉ× #JN 0 ¤¤¤ï¤ª ´äͺ #JN 0 ¤¤¤ï¤ª ´à #T35 0 ¤¤¤ï¤«¤ó °ãÏ´¶ #T35 4 ¤¤¤ï¤­ ¤¤¤ï¤­ #CN 0 ¤¤¤ï¤­ ´ä¾ë #JCN 0 ¤¤¤ï¤­ ´äÌÚ #JCN 0 ¤¤¤ï¤­ ÈØ¾ë #JCN 0 ¤¤¤ï¤® ´ä¾ë #JCN 0 ¤¤¤ï¤¯ Û©¤¯ #T35 14 ¤¤¤ï¤¯¤Ë ´ä¹ñ #JCN 0 ¤¤¤ï¤¯¤é ´äÁÒ #JCN 0 ¤¤¤ï¤µ ´äº´ #JNS 0 ¤¤¤ï¤µ¤­ ´äºê #JCN 0 ¤¤¤ï¤µ¤ï ´äÂô #JNS 0 ¤¤¤ï¤· òÛ #T35 1 ¤¤¤ï¤· °ó #T35 13 ¤¤¤ï¤·¤¿ ´ä²¼ #JNS 0 ¤¤¤ï¤·¤í ´äÂå #JCN 0 ¤¤¤ï¤» ´äÀ¥ #JCN 0 ¤¤¤ï¤¿ ´äÅÄ #JCN 0 ¤¤¤ï¤¿ ÈØÅÄ #JCN 0 ¤¤¤ï¤¿¤­ ´äÂì #JCN 0 ¤¤¤ï¤Ä¤­ ´äÄÐ #CN 0 ¤¤¤ï¤Æ ´ä¼ê #JCN 0 ¤¤¤ï¤Æ¤±¤ó ´ä¼ê¸© #CNS 0 ¤¤¤ï¤Ç ´ä½Ð #JCN 0 ¤¤¤ï¤Ç¤ä¤Þ ´ä½Ð»³ #JCN 0 ¤¤¤ï¤Ê¤¤ ´äÆâ #JCN 0 ¤¤¤ï¤Ê¤ß ´äÇÈ #KK 3 ¤¤¤ï¤Ì¤Þ ´ä¾Â #JCN 0 ¤¤¤ï¤Ï¤À ´äÈ© #T35 0 ¤¤¤ï¤Ð °â¤ï¤Ð #F14 1 ¤¤¤ï¤Ð ¸À¤ï¤Ð #F14 1 ¤¤¤ï¤Ð ¤¤¤ï¤Ð #F14 2 ¤¤¤ï¤Ð ´ä¾ì #T35 0 ¤¤¤ï¤Õ¤Í ´äÁ¥ #JCN 0 ¤¤¤ï¤Õ¤Í ´ä½® #JNS 0 ¤¤¤ï¤Ö¤Á ´äÊ¥ #JCN 0 ¤¤¤ï¤Þ ´ä´Ö #JCN 0 ¤¤¤ï¤ß ´äÈþ #JCN 0 ¤¤¤ï¤ß Àи« #JCN 0 ¤¤¤ï¤ß¤¶¤ï ´ä¸«Âô #CN 0 ¤¤¤ï¤à¤é ´ä¼ #JCN 0 ¤¤¤ï¤à¤í ´ä¼¼ #JCN 0 ¤¤¤ï¤â¤È ´äËÜ #JCN 0 ¤¤¤ï¤æ¤ë ¤¤¤ï¤æ¤ë #RT 16 ¤¤¤ó °ô #KJ 0 ¤¤¤ó °ö #KJ 0 ¤¤¤ó °ù #KJ 0 ¤¤¤ó °ü #KJ 0 ¤¤¤ó °ý #KJ 0 ¤¤¤ó °þ #KJ 0 ¤¤¤ó ±¡ #KJ 0 ¤¤¤ó °÷ #KJ 1 ¤¤¤ó °ú #KJ 1 ¤¤¤ó ²» #KJ 1 ¤¤¤ó ±£ #KJ 3 ¤¤¤ó ±¡ #SUC 28 ¤¤¤ó °÷ #SUC 35 ¤¤¤ó °û #T30 0 ¤¤¤ó °ø #T30 1 ¤¤¤ó °õ #T30 23 ¤¤¤ó ±¤ #T35 1 ¤¤¤ó ¥¤¥ó #T35 20 ¤¤¤ó ±¢ #T35 3 ¤¤¤ó¤¤¤ª¤ó ±¢¥¤¥ª¥ó #T35 0 ¤¤¤ó¤¨¤¤ ±¢±Æ #T35 1 ¤¤¤ó¤« °õ²Ã #T30 1 ¤¤¤ó¤« °ú²Ð #T30 1 ¤¤¤ó¤« ±¢ãÝ #T35 1 ¤¤¤ó¤«¤¯ ±¢³Ë #T35 2 ¤¤¤ó¤«¤ó °õ´Õ #T35 6 ¤¤¤ó¤¬ °ø²Ì #T35 3 ¤¤¤ó¤­ ±¢µ¤ #T05 3 ¤¤¤ó¤­¤å¤Ù¡¼¤·¤ç¤ó ¥¤¥ó¥­¥å¥Ù¡¼¥·¥ç¥ó #T30 1 ¤¤¤ó¤­¤å¤Ù¡¼¤¿ ¥¤¥ó¥­¥å¥Ù¡¼¥¿ #T35 1 ¤¤¤ó¤­¤å¤Ù¡¼¤¿¡¼ ¥¤¥ó¥­¥å¥Ù¡¼¥¿¡¼ #T35 1 ¤¤¤ó¤­¤å¤Ù¡¼¤È ¥¤¥ó¥­¥å¥Ù¡¼¥È #T30 1 ¤¤¤ó¤­¤ç ±£µï #T30 0 ¤¤¤ó¤­¤ç¤¯ ±¢¶Ë #T35 1 ¤¤¤ó¤­¤ó ±¢¶â #T35 0 ¤¤¤ó¤®¤ó ØÀØé #T05 0 ¤¤¤ó¤¯ ¥¤¥ó¥¯ #T35 2 ¤¤¤ó¤¯¤ê¤á¤ó¤¿¤ë ¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë #T05 4 ¤¤¤ó¤¯¤ê¤á¤ó¤È ¥¤¥ó¥¯¥ê¥á¥ó¥È #T30 11 ¤¤¤ó¤¯¤ë¡¼¤É ¥¤¥ó¥¯¥ë¡¼¥É #T30 45 ¤¤¤ó¤±¤¤ ±¢·Ô #T35 1 ¤¤¤ó¤±¤ó ±¢¸± #T05 1 ¤¤¤ó¤³¤¦ °ü¹Ô #T30 1 ¤¤¤ó¤³¤¦ °ö¹¢ #T35 0 ¤¤¤ó¤´¤¦ °ø¶È #T05 0 ¤¤¤ó¤µ¡¼¤È ¥¤¥ó¥µ¡¼¥È #T30 1 ¤¤¤ó¤µ¤Ä °õºþ #T30 43 ¤¤¤ó¤µ¤ó ±¢»´ #T05 0 ¤¤¤ó¤¶¤¤ °õÀ¾ #JCN 0 ¤¤¤ó¤· °õ»æ #T35 1 ¤¤¤ó¤· ±¡»î #T35 3 ¤¤¤ó¤· °ø»Ò #T35 4 ¤¤¤ó¤·¤Ä ±¢¼¾ #T05 1 ¤¤¤ó¤·¤å °û¼ò #T30 2 ¤¤¤ó¤·¤å¤¦ °ø½¬ #T35 1 ¤¤¤ó¤·¤å¤ê¤ó ¥¤¥ó¥·¥å¥ê¥ó #T35 1 ¤¤¤ó¤·¤ç¤¦ °õ¾Ï #T35 0 ¤¤¤ó¤·¤ç¤¦ °õ¾Ý #T35 23 ¤¤¤ó¤·¤ç¤¦¤Å¤± °õ¾Ý¤Å¤± #KSr 0 ¤¤¤ó¤·¤ç¤¦¤Å¤± °õ¾ÝÉÕ¤± #T30 0 ¤¤¤ó¤·¤ç¤¯ °û¿© #T30 2 ¤¤¤ó¤¸ °õ»ú #T30 20 ¤¤¤ó¤¸ °õ¼¥ #T35 0 ¤¤¤ó¤¸¤§¤¯¤·¤ç¤ó ¥¤¥ó¥¸¥§¥¯¥·¥ç¥ó #T30 1 ¤¤¤ó¤¸¤±¡¼¤¿ ¥¤¥ó¥¸¥±¡¼¥¿ #T35 19 ¤¤¤ó¤¸¤±¡¼¤¿¡¼ ¥¤¥ó¥¸¥±¡¼¥¿¡¼ #T35 19 ¤¤¤ó¤¹¤¦ °÷¿ô #T35 0 ¤¤¤ó¤¹¤¿¤ó¤¹ ¥¤¥ó¥¹¥¿¥ó¥¹ #T35 25 ¤¤¤ó¤¹¤¿¤ó¤È ¥¤¥ó¥¹¥¿¥ó¥È #T35 1 ¤¤¤ó¤¹¤È¡¼¤ë ¥¤¥ó¥¹¥È¡¼¥ë #T30 255 ¤¤¤ó¤¹¤È¤é¤¯¤·¤ç¤ó ¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó #T35 19 ¤¤¤ó¤¹¤Ú¤¯¤·¤ç¤ó ¥¤¥ó¥¹¥Ú¥¯¥·¥ç¥ó #T30 3 ¤¤¤ó¤»¤¤ ±£À³ #T30 0 ¤¤¤ó¤»¤¤ ±¡À¯ #T35 0 ¤¤¤ó¤»¤¤ ±¡À¸ #T35 0 ¤¤¤ó¤»¤¤ ±¢À­ #T35 0 ¤¤¤ó¤»¤­ °úÀÕ #T30 0 ¤¤¤ó¤»¤ó ±£Àþ #T35 1 ¤¤¤ó¤¼¤¤ °õÀÇ #T35 1 ¤¤¤ó¤¼¤ß ±¡¥¼¥ß #T35 1 ¤¤¤ó¤½¤Ä °úΨ #T30 0 ¤¤¤ó¤¿¡¼¤»¤×¤È ¥¤¥ó¥¿¡¼¥»¥×¥È #T30 1 ¤¤¤ó¤¿¡¼¤Á¤§¤ó¤¸ ¥¤¥ó¥¿¡¼¥Á¥§¥ó¥¸ #T35 0 ¤¤¤ó¤¿¡¼¤Ê¤ë ¥¤¥ó¥¿¡¼¥Ê¥ë #T35 0 ¤¤¤ó¤¿¡¼¤Í¤Ã¤È ¥¤¥ó¥¿¡¼¥Í¥Ã¥È #KK 232 ¤¤¤ó¤¿¡¼¤Ð¤ë ¥¤¥ó¥¿¡¼¥Ð¥ë #T35 2 ¤¤¤ó¤¿¡¼¤Õ¤§¡¼¤¹ ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ #T35 68 ¤¤¤ó¤¿¡¼¤Õ¤§¤¤¤¹ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ #T35 45 ¤¤¤ó¤¿¡¼¤×¤ê¤¿ ¥¤¥ó¥¿¡¼¥×¥ê¥¿ #T35 2 ¤¤¤ó¤¿¡¼¤×¤ê¤¿¡¼ ¥¤¥ó¥¿¡¼¥×¥ê¥¿¡¼ #T35 2 ¤¤¤ó¤¿¡¼¤Û¤ó ¥¤¥ó¥¿¡¼¥Û¥ó #T35 0 ¤¤¤ó¤¿¡¼¤ê¡¼¤Ö ¥¤¥ó¥¿¡¼¥ê¡¼¥Ö #T30 1 ¤¤¤ó¤¿¤¤ °úÂà #T30 3 ¤¤¤ó¤¿¤»¤×¤È ¥¤¥ó¥¿¥»¥×¥È #T35 1 ¤¤¤ó¤¿¤Ó¤å¡¼ ¥¤¥ó¥¿¥Ó¥å¡¼ #T30 4 ¤¤¤ó¤¿¤Õ¤§¡¼¤¹ ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ #T35 238 ¤¤¤ó¤¿¤Õ¤§¤¤¤¹ ¥¤¥ó¥¿¥Õ¥§¥¤¥¹ #T35 16 ¤¤¤ó¤¿¤Õ¤§¤¹ ¥¤¥ó¥¿¥Õ¥§¥¹ #T35 3 ¤¤¤ó¤¿¤×¤ê¤¿ ¥¤¥ó¥¿¥×¥ê¥¿ #T35 10 ¤¤¤ó¤¿¤×¤ê¤È ¥¤¥ó¥¿¥×¥ê¥È #T30 1 ¤¤¤ó¤¿¤é¤¯¤·¤ç¤ó ¥¤¥ó¥¿¥é¥¯¥·¥ç¥ó #T35 7 ¤¤¤ó¤¿¤é¤¯¤Æ¤£¤Ö ¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö #T05 13 ¤¤¤ó¤À¤¤¤ì¤¯¤È ¥¤¥ó¥À¥¤¥ì¥¯¥È #T05 1 ¤¤¤ó¤À¤¯¤·¤ç¤ó ¥¤¥ó¥À¥¯¥·¥ç¥ó #T30 1 ¤¤¤ó¤À¤¹¤È¤ê ¥¤¥ó¥À¥¹¥È¥ê #T35 2 ¤¤¤ó¤À¤¹¤È¤ê¤¢¤ë ¥¤¥ó¥À¥¹¥È¥ê¥¢¥ë #T05 3 ¤¤¤ó¤Á ¥¤¥ó¥Á #JS 0 ¤¤¤ó¤Á ±¥ #JS 0 ¤¤¤ó¤Á ¥¤¥ó¥Á #T35 16 ¤¤¤ó¤Á¤­ ¥¤¥ó¥Á¥­ #T00 0 ¤¤¤ó¤Á¤ç¤¦ ±¡Ä¹ #T35 1 ¤¤¤ó¤Æ¤°¤ì¡¼¤·¤ç¤ó ¥¤¥ó¥Æ¥°¥ì¡¼¥·¥ç¥ó #T35 4 ¤¤¤ó¤Æ¤é¤¯¤Æ¤£¤Ö ¥¤¥ó¥Æ¥é¥¯¥Æ¥£¥Ö #T35 22 ¤¤¤ó¤Æ¤ê ¥¤¥ó¥Æ¥ê #T15 0 ¤¤¤ó¤Æ¤ê¤¢ ¥¤¥ó¥Æ¥ê¥¢ #T35 0 ¤¤¤ó¤Æ¤ê¤²¤ó¤Á¤ã ¥¤¥ó¥Æ¥ê¥²¥ó¥Á¥ã #T35 0 ¤¤¤ó¤Æ¤ë ¥¤¥ó¥Æ¥ë #KK 2 ¤¤¤ó¤Ç¤£¤¢¤ó ¥¤¥ó¥Ç¥£¥¢¥ó #T35 1 ¤¤¤ó¤Ç¤£¤ª ¥¤¥ó¥Ç¥£¥ª #T35 0 ¤¤¤ó¤Ç¤­¤·¤ó¤° ¥¤¥ó¥Ç¥­¥·¥ó¥° #T30 1 ¤¤¤ó¤Ç¤Ã¤¯¤¹ ¥¤¥ó¥Ç¥Ã¥¯¥¹ #T35 8 ¤¤¤ó¤Ç¤ó¤È ¥¤¥ó¥Ç¥ó¥È #T30 8 ¤¤¤ó¤È¤¦ °üÆ¢ #T05 0 ¤¤¤ó¤È¤¯ ±£Æ¿ #T30 0 ¤¤¤ó¤È¤Í¡¼¤·¤ç¤ó ¥¤¥ó¥È¥Í¡¼¥·¥ç¥ó #T35 1 ¤¤¤ó¤È¤é¤Í¤Ã¤È ¥¤¥ó¥È¥é¥Í¥Ã¥È #T35 0 ¤¤¤ó¤È¤í ¥¤¥ó¥È¥í #T35 0 ¤¤¤ó¤È¤í¤À¤¯¤·¤ç¤ó ¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó #T35 0 ¤¤¤ó¤É ¥¤¥ó¥É #CN 0 ¤¤¤ó¤É °õÅÙ #CN 0 ¤¤¤ó¤É¤è¤¦ ¥¤¥ó¥ÉÍÎ #CN 0 ¤¤¤ó¤Ê¤¤ ±¡Æâ #JCN 0 ¤¤¤ó¤Ê¤ß °õÆî #JCN 0 ¤¤¤ó¤Í¤ó °ø±ï #T35 1 ¤¤¤ó¤Î¤¦ ±¢Ç¹ #T35 1 ¤¤¤ó¤Î¤·¤Þ °øÅç #CN 0 ¤¤¤ó¤Ð °õÚÙ #JCN 0 ¤¤¤ó¤Ð¤¤ °üÇä #T35 0 ¤¤¤ó¤Ñ¤¯¤È ¥¤¥ó¥Ñ¥¯¥È #T35 5 ¤¤¤ó¤Ñ¤ë¤¹ ¥¤¥ó¥Ñ¥ë¥¹ #T35 1 ¤¤¤ó¤Ó °üóÓ #T05 0 ¤¤¤ó¤Ô¡¼¤À¤ó¤¹ ¥¤¥ó¥Ô¡¼¥À¥ó¥¹ #T35 2 ¤¤¤ó¤Õ¤©¤á¡¼¤·¤ç¤ó ¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó #T35 3 ¤¤¤ó¤Õ¤é ¥¤¥ó¥Õ¥é #T35 0 ¤¤¤ó¤Õ¤ë¤¨¤ó¤¶ ¥¤¥ó¥Õ¥ë¥¨¥ó¥¶ #T35 1 ¤¤¤ó¤Õ¤ì ¥¤¥ó¥Õ¥ì #T35 0 ¤¤¤ó¤×¤Ã¤È ¥¤¥ó¥×¥Ã¥È #T30 1 ¤¤¤ó¤×¤ê¤á¤ó¤¿ ¥¤¥ó¥×¥ê¥á¥ó¥¿ #T35 10 ¤¤¤ó¤×¤ê¤á¤ó¤¿¡¼ ¥¤¥ó¥×¥ê¥á¥ó¥¿¡¼ #T35 10 ¤¤¤ó¤×¤ê¤á¤ó¤Æ¡¼¤·¤ç¤ó ¥¤¥ó¥×¥ê¥á¥ó¥Æ¡¼¥·¥ç¥ó #T35 3 ¤¤¤ó¤×¤ê¤á¤ó¤È ¥¤¥ó¥×¥ê¥á¥ó¥È #T30 52 ¤¤¤ó¤Ø¤ê¤¿¤ó¤¹ ¥¤¥ó¥Ø¥ê¥¿¥ó¥¹ #T35 2 ¤¤¤ó¤Ú¤¤ ±£Êà #T30 3 ¤¤¤ó¤Ú¤¤¤· ±£ÊÃ»Ò #T35 1 ¤¤¤ó¤Ü¤¦ ±¢ËÅ #T35 1 ¤¤¤ó¤á¤ó ±£ÌÌ #T35 13 ¤¤¤ó¤æ ±£ÓÈ #T35 0 ¤¤¤ó¤è¤¦ °ûÍÑ #T30 0 ¤¤¤ó¤è¤¦ °úÍÑ #T30 32 ¤¤¤ó¤è¤¦ ±¢ÍÛ #T35 2 ¤¤¤ó¤ê¤ç¤¦ °ûÎÁ #T35 0 ¤¤¤ó¤ê¤ç¤¦¤¹¤¤ °ûÎÁ¿å #T35 0 ¤¤¤ó¤ê¤ç¤¯ °úÎÏ #T35 1 ¤¤¤ó¤ì¤­ ±¢Îñ #T35 0 ¤¤¤ó¤í¤¦ °õäÆ #T35 1 ¤¦ Éâ #K5r 17 ¤¦ °ò #KJ 0 ¤¦ ±¨ #KJ 0 ¤¦ ±ª #KJ 0 ¤¦ ¸Õ #KJ 0 ¤¦ ÅÆ #KJ 0 ¤¦ ÅÑ #KJ 0 ¤¦ ÆÀ #KJ 0 ¤¦ ±¦ #KJ 1 ¤¦ ±© #KJ 1 ¤¦ Í­ #KJ 1 ¤¦ ±« #KJ 12 ¤¦ ±¬ #KJ 2 ¤¦ ±§ #KJ 5 ¤¦ Í« #KY 5 ¤¦ ·ñ #M5 0 ¤¦ Ç¿ #M5 0 ¤¦ »º #M5r 1 ¤¦ À¸ #M5r 3 ¤¦ ±¦ #PRE 2 ¤¦ ÆÀ #R5 44 ¤¦ ¤¦ #R5 5 ¤¦ Çä #R5r 127 ¤¦ ±« #SUC 0 ¤¦ ±­ #T35 222 ¤¦ Ȳ #T5 0 ¤¦ ·â #T5 1 ¤¦ Ƥ #T5 1 ¤¦ ÂÇ #T5 176 ¤¦ ¤¦ #T5 5 ¤¦¡«¤¡¤¤¤ª¤ê¤ó ¥ô¥¡¥¤¥ª¥ê¥ó #T35 0 ¤¦¡«¤£¡¼¤Ê¤¹ ¥ô¥£¡¼¥Ê¥¹ #JN 0 ¤¦¡«¤£¤ª¤é ¥ô¥£¥ª¥é #T35 0 ¤¦¡¼¤Ï¤ó Éð´Á #CN 0 ¤¦¡¼¤Õ¤¡ ¥¦¡¼¥Õ¥¡ #T35 1 ¤¦¡¼¤Þ¤ó ¥¦¡¼¥Þ¥ó #T35 1 ¤¦¡¼¤à ¤¦¡¼¤à #CJ 8 ¤¦¡¼¤í¤ó¤Á¤ã ±¨Î¶Ãã #T35 1 ¤¦¡¼¤ó ¤¦¡¼¤ó #CJ 21 ¤¦¤£¡¼¤¯ ¥¦¥£¡¼¥¯ #T35 3 ¤¦¤£¤¸¤Ã¤È ¥¦¥£¥¸¥Ã¥È #T35 0 ¤¦¤£¤ê¤¢¤à ¥¦¥£¥ê¥¢¥à #JN 0 ¤¦¤£¤ë¤¹ ¥¦¥£¥ë¥¹ #T35 2 ¤¦¤£¤ó¤É ¥¦¥£¥ó¥É #T35 4 ¤¦¤£¤ó¤É¤¦ ¥¦¥£¥ó¥É¥¦ #T35 69 ¤¦¤¤ ½é #KJ 8 ¤¦¤¤ Í­°Ù #T35 0 ¤¦¤¤¤¦¤¤¤· ½é¡¹¤· #KY 0 ¤¦¤¤¤¦¤¤¤·¤å¤¦ ½é¡¹¤·¤å¤¦ #KYU 0 ¤¦¤¤¤¶¤ó ½é»º #T35 1 ¤¦¤¤¤¹¤­¡¼ ¥¦¥¤¥¹¥­¡¼ #T35 1 ¤¦¤¤¤ë¤¹ ¥¦¥¤¥ë¥¹ #T35 1 ¤¦¤¤¤ó¤¯ ¥¦¥¤¥ó¥¯ #T30 5 ¤¦¤¤¤ó¤É¤¦ ¥¦¥¤¥ó¥É¥¦ #T35 75 ¤¦¤§¤¤ ¥¦¥§¥¤ #T35 3 ¤¦¤§¤¤¤È ¥¦¥§¥¤¥È #T30 1 ¤¦¤§¤Ã¤È ¥¦¥§¥Ã¥È #T05 0 ¤¦¤¨ ¾å #JNS 0 ¤¦¤¨ ¿¢¤¨ #KS 42 ¤¦¤¨ µ²¤¨ #KSr 13 ¤¦¤¨ ¾å #PRE 2 ¤¦¤¨ ¾å #T35 255 ¤¦¤¨ ¤¦¤¨ #T35 8 ¤¦¤¨¡¼¤Ö¤Õ¤í¤ó¤È ¥¦¥¨¡¼¥Ö¥Õ¥í¥ó¥È #KK 2 ¤¦¤¨¤¤¤È ¥¦¥¨¥¤¥È #T30 3 ¤¦¤¨¤ª¤« ¿¢²¬ #JNS 0 ¤¦¤¨¤­ ¿¢ÌÚ #JCN 0 ¤¦¤¨¤­ ¿¢ÌÚ #T35 0 ¤¦¤¨¤³ ¿¢¤¨¹þ #M5r 0 ¤¦¤¨¤·¤¿ ¾å²¼ #T30 0 ¤¦¤¨¤·¤Ð ¿¢¼Ç #JNS 0 ¤¦¤¨¤¸¤Ë ²î»à #T30 1 ¤¦¤¨¤¹¤® ¾å¿ù #JNS 0 ¤¦¤¨¤À ¾åÅÄ #JCN 0 ¤¦¤¨¤À ¿¢ÅÄ #JNS 0 ¤¦¤¨¤Ã¤È ¥¦¥¨¥Ã¥È #T05 0 ¤¦¤¨¤Ä¤­¤Ü¤¦ ¡± #T35 1 ¤¦¤¨¤Ä¤± ¿¢¤¨ÉÕ¤± #KSr 1 ¤¦¤¨¤Î ¾åÌî #JCN 0 ¤¦¤¨¤Î¤Ï¤é ¾åÌ #JCN 0 ¤¦¤¨¤Ï ¥¦¥¨¥Ï #T35 1 ¤¦¤¨¤Ï¤é ¾å¸¶ #JCN 0 ¤¦¤¨¤Ï¤é ¿¢¸¶ #JNS 0 ¤¦¤¨¤Û¤ó¤Þ¤Á ¾åËÜÄ® #CN 0 ¤¦¤¨¤Þ¤Ä ¿¢¾¾ #JNS 0 ¤¦¤¨¤à¤é ¾å¼ #JCN 0 ¤¦¤¨¤à¤é ¿¢Â¼ #JNS 0 ¤¦¤¨¤â¤È ¿¢ËÜ #JNS 0 ¤¦¤¨¤ä ¢¬ #T35 3 ¤¦¤¨¤ó ±ª±ó #T05 0 ¤¦¤©¡¼¤¯¤¹¤ë¡¼ ¥¦¥©¡¼¥¯¥¹¥ë¡¼ #T35 4 ¤¦¤©¡¼¤¯¤Þ¤ó ¥¦¥©¡¼¥¯¥Þ¥ó #KK 1 ¤¦¤©¡¼¤¿¡¼¤Õ¤©¡¼¤ë ¥¦¥©¡¼¥¿¡¼¥Õ¥©¡¼¥ë #T35 1 ¤¦¤©¡¼¤ß¤ó¤° ¥¦¥©¡¼¥ß¥ó¥° #T30 1 ¤¦¤©¡¼¤à ¥¦¥©¡¼¥à #T35 1 ¤¦¤©¤º¤Ë¤¢¤¯ ¥¦¥©¥º¥Ë¥¢¥¯ #JN 0 ¤¦¤ª µû #T35 9 ¤¦¤ª¤¦¤µ¤ª¤¦ ±¦±ýº¸±ý #T30 1 ¤¦¤ª¤¶ µûºÂ #KK 1 ¤¦¤ª¤·¤Þ µûÅç #JCN 0 ¤¦¤ª¤» µûÀ¥ #JNS 0 ¤¦¤ª¤Ã¤Á¤ó¤° ¥¦¥ª¥Ã¥Á¥ó¥° #T35 2 ¤¦¤ª¤Å µûÄÅ #JCN 0 ¤¦¤ª¤Ì¤Þ µû¾Â #JCN 0 ¤¦¤« ¤¦¤« #B5 1 ¤¦¤« É⤫ #B5 11 ¤¦¤« ¼õ¤« #R5 1 ¤¦¤« ±©²½ #T30 0 ¤¦¤«¤¤ ±ª²ó #T30 3 ¤¦¤«¤¤ ±­»ô¤¤ #T35 0 ¤¦¤«¤¦¤« ¤¦¤«¤¦¤« #T30 1 ¤¦¤«¤¬ ±® #W5 0 ¤¦¤«¤¬ ¤¦¤«¤¬ #W5r 1 ¤¦¤«¤¬ »Ç #W5r 40 ¤¦¤«¤¬¤¤ ±® #KJ 0 ¤¦¤«¤Ä ¤¦¤«¤Ä #T05 0 ¤¦¤«¤Ä ±ªïè #T05 0 ¤¦¤«¤Ù É⤫¤Ù #KS 1 ¤¦¤«¤ì É⤫¤ì #KS 0 ¤¦¤«¤ó Í­´Á #JN 0 ¤¦¤¬¤ó ±¦´ß #T35 0 ¤¦¤­ ±¦µ­ #T35 0 ¤¦¤­ ±«´ü #T35 0 ¤¦¤­ ±«µ¨ #T35 0 ¤¦¤­¤¬¤ä Éâ¥öë #JNS 0 ¤¦¤­¤¯¤µ ÉâÁð #T35 0 ¤¦¤­¤·¤º¤ß É⤭ÄÀ¤ß #T30 1 ¤¦¤­¤Ê Éâ̾ #T35 0 ¤¦¤­¤Ï ÉⱩ #JCN 0 ¤¦¤­¤Ö¤¯¤í ÉâÂÞ #T35 0 ¤¦¤­¤Ü¤ê É⤭Ħ¤ê #T30 1 ¤¦¤­¤ç¤¦ ±¦µþ #JCN 0 ¤¦¤­¤è¤¨ ÉâÀ¤³¨ #T35 0 ¤¦¤¯ ±§µ× #JCN 0 ¤¦¤°¤¤¤¹ ²© #T35 1 ¤¦¤°¤¤¤¹¤¶¤ï ²©Âô #JCN 0 ¤¦¤°¤¤¤¹¤À¤Ë ²©Ã« #CN 0 ¤¦¤± ¾µ¤± #KS 0 ¤¦¤± ¤¦¤± #KS 6 ¤¦¤± ÀÁ¤± #KSr 0 ¤¦¤± ¼õ¤± #KSr 101 ¤¦¤±¤¢ ÀÁ¤±¹ç #W5r 10 ¤¦¤±¤¤ ±¦·¹ #T30 1 ¤¦¤±¤¤¤ì ¼õ¤±Æþ¤ì #KSr 7 ¤¦¤±¤¦¤ê ¼õ¤±Çä¤ê #T30 0 ¤¦¤±¤ª ÀÁ¤±Éé #W5r 1 ¤¦¤±¤ª¤¤ ÀÁÉé #T30 1 ¤¦¤±¤³¤¿¤¨ ¼õ¤±Åú¤¨ #T30 2 ¤¦¤±¤¶¤é ¼õ¤±»® #T35 0 ¤¦¤±¤·¤ç ¼õ½ñ #T35 1 ¤¦¤±¤·¤ç ÀÁ½ñ #T35 1 ¤¦¤±¤¿¤Þ¤ï ¾µ #R5 2 ¤¦¤±¤Ä ¼õ¤±·Ñ #G5r 2 ¤¦¤±¤Ä¤± ¼õ¤±ÉÕ¤± #KS 48 ¤¦¤±¤Ä¤± ¼õÉÕ #T30 25 ¤¦¤±¤Æ ¼õ¤±¼ê #T35 1 ¤¦¤±¤È ¼õ¤±¼è #R5r 77 ¤¦¤±¤È¤á ¼õ¤±»ß¤á #KSr 0 ¤¦¤±¤È¤ê ¼õ¼è #T35 1 ¤¦¤±¤Ê Éâ·ê #JN 0 ¤¦¤±¤Ê¤¬ ¼õ¤±Î® #S5r 0 ¤¦¤±¤Ë¤ó ÀÁ¿Í #T35 0 ¤¦¤±¤Ï¤é¤¤ ¼õʧ¤¤ #T30 0 ¤¦¤±¤ß ¼õ¿È #T35 1 ¤¦¤±¤â ¼õ¤±»ý #T5r 2 ¤¦¤±¤ï¤¿¤· ¼õÅϤ· #T30 6 ¤¦¤±¤ó ±§¸¡ #JCN 0 ¤¦¤³¤ó ݵ¶â #T35 0 ¤¦¤´ ±©¸å #CN 0 ¤¦¤´ ¤¦¤´ #K5 1 ¤¦¤´ ư #K5r 255 ¤¦¤´¤« ¤¦¤´¤« #S5 0 ¤¦¤´¤« ư¤« #S5 92 ¤¦¤´¤­¤À ư¤­½Ð #S5 4 ¤¦¤´¤á êÀ #K5 1 ¤¦¤µ ±§º´ #JCN 0 ¤¦¤µ¤® ÅÑ #T35 0 ¤¦¤µ¤® ÅÆ #T35 6 ¤¦¤µ¤ß ±§º´¸« #JCN 0 ¤¦¤µ¤ß ±§º´Èþ #JCN 0 ¤¦¤¶¤ï ±­Âô #JNS 0 ¤¦¤· ±¯ #T35 1 ¤¦¤· µí #T35 23 ¤¦¤·¤ª Ĭ #T35 1 ¤¦¤·¤¬¤¨¤ë µí³¿ #T35 0 ¤¦¤·¤¯ µíµ× #JCN 0 ¤¦¤·¤¸¤Þ µíÅç #JCN 0 ¤¦¤·¤Å µíÄÅ #JCN 0 ¤¦¤·¤Ê ÁÓ #W5 0 ¤¦¤·¤Ê ¼º #W5 24 ¤¦¤·¤Ö¤« µí¿¼ #JCN 0 ¤¦¤·¤Ü¤ê µíËÙ #JCN 0 ¤¦¤·¤Þ¤É µíÁë #JCN 0 ¤¦¤·¤ß¤Ä ±¯»°¤Ä #T35 0 ¤¦¤·¤ß¤Ä¤É¤­ ±¯»°¤Ä¹ï #T35 0 ¤¦¤·¤í ¸å¤í #T35 91 ¤¦¤·¤í¤¢¤· ¸å¤í­ #T35 0 ¤¦¤·¤í¤¹¤¬¤¿ ¸å¤í»Ñ #T35 1 ¤¦¤·¤í¤À¤Æ ¸å¤í¤À¤Æ #T35 0 ¤¦¤·¤í¤à¤­ ¸å¸þ¤­ #T35 1 ¤¦¤·¤í¤á¤¿ ¸å¤í¤á¤¿ #KY 1 ¤¦¤·¤í¤á¤¿¤¬ ¸å¤í¤á¤¿¤¬ #R5 0 ¤¦¤·¤í¤á¤È¤¦ ¸å¤í¤á¤È¤¦ #KYU 1 ¤¦¤·¤ï¤¿ µíÅÏ #JNS 0 ¤¦¤¸ ±§¼£ #JCN 0 ¤¦¤¸ é× #T35 1 ¤¦¤¸ »á #T35 2 ¤¦¤¸¤¤¤¨ »á²È #JCN 0 ¤¦¤¸¤¬¤ß »á¿À #T35 0 ¤¦¤¸¤¿¤ï¤é ±§¼£Åĸ¶ #CN 0 ¤¦¤¸¤à¤· é×Ãî #T35 0 ¤¦¤¹ Í­¼î #JCN 0 ¤¦¤¹ Çö #KYmime 10 ¤¦¤¹ ±± #T35 0 ¤¦¤¹ ±° #T35 4 ¤¦¤¹¤¤ ±°É¹ #JCN 0 ¤¦¤¹¤¤ ±±°æ #JCN 0 ¤¦¤¹¤¤ ±°°æ #JNS 0 ¤¦¤¹¤¤ Çö°æ #JNS 0 ¤¦¤¹¤¤ ±«¿å #T35 1 ¤¦¤¹¤¦ Çö¤¦ #KYU 2 ¤¦¤¹¤¦¤¹ Çö¡¹ #F14 0 ¤¦¤¹¤¬¤¿ Çö·¿ #T15 1 ¤¦¤¹¤­ ±±µÏ #JCN 0 ¤¦¤¹¤® ÇöÃå #T10 1 ¤¦¤¹¤®¤ê ÇöÀÚ¤ê #T30 0 ¤¦¤¹¤¯¤Á Çö¸ý #T05 0 ¤¦¤¹¤°¤é Çö°Å #KY 1 ¤¦¤¹¤°¤í¤¦ Çö°Å¤¦ #KYU 1 ¤¦¤¹¤¸ ÇöÃÏ #T15 0 ¤¦¤¹¤¸¤ª Çö±ö #T15 0 ¤¦¤¹¤À ±±ÅÄ #JCN 0 ¤¦¤¹¤Á¤ã ÇöÃã #T35 0 ¤¦¤¹¤Ç Çö¼ê #T05 1 ¤¦¤¹¤Ó ÇöÆü #T35 0 ¤¦¤¹¤Þ Çö¤Þ #R5r 0 ¤¦¤¹¤Þ¤¯ ÇöËì #T35 0 ¤¦¤¹¤á Çö¤á #KSr 1 ¤¦¤¹¤é Çö¤é #G5r 0 ¤¦¤¹¤ì Çö¤ì #KS 2 ¤¦¤º ±² #T35 3 ¤¦¤º¤¦¤º ¤¦¤º¤¦¤º #F04 0 ¤¦¤º¤¯¤Þ í­ #R5 0 ¤¦¤º¤Þ ±²´¬ #K5 0 ¤¦¤º¤Þ Ëä¤Þ #R5 0 ¤¦¤º¤Þ¤­ ±²´¬ #T35 1 ¤¦¤º¤á Ëä¤á #KS 0 ¤¦¤º¤á ¤¦¤º¤á #KS 1 ¤¦¤º¤â¤ì Ëä¤â¤ì #KS 0 ¤¦¤» ¼º¤» #KS 3 ¤¦¤»¤Ä ±¦ÀÞ #T30 1 ¤¦¤½ ±³ #T35 13 ¤¦¤½ ¥¦¥½ #T35 7 ¤¦¤½¤¯ ±¦Â¦ #T35 0 ¤¦¤½¤Ã¤Ñ¤Á ±³¤ÃȬ #T05 0 ¤¦¤½¤Ö ¤¦¤½¤Ö #K5 0 ¤¦¤¾¤¦¤à¤¾¤¦ Í­¾Ý̵¾Ý #T35 0 ¤¦¤¿ ±´ #T35 1 ¤¦¤¿ »í #T35 1 ¤¦¤¿ ²Î #T35 27 ¤¦¤¿ ÍØ #W5 0 ¤¦¤¿ ±´ #W5 1 ¤¦¤¿ ±Ó #W5 1 ¤¦¤¿ ¾§ #W5 2 ¤¦¤¿ ²Î #W5 32 ¤¦¤¿¤¤ ÍØ #T35 0 ¤¦¤¿¤¬ µ¿ #W5r 8 ¤¦¤¿¤¬¤ï¤· µ¿¤ï¤· #KY 1 ¤¦¤¿¤¬¤ï¤·¤å¤¦ µ¿¤ï¤·¤å¤¦ #KYU 1 ¤¦¤¿¤° µ¿ #R5r 1 ¤¦¤¿¤°¤ê¤Ö¤« µ¿¤ê¿¼ #KY 0 ¤¦¤¿¤°¤ê¤Ö¤³¤¦ µ¿¤ê¿¼¤¦ #KYU 0 ¤¦¤¿¤² ±ã #T35 2 ¤¦¤¿¤´¤¨ ²ÎÀ¼ #T35 0 ¤¦¤¿¤·¤Ê¤¤ ²Î»ÖÆâ #CN 0 ¤¦¤¿¤·¤í ²ÎÂå #JN 0 ¤¦¤¿¤¿ ¤¦¤¿¤¿ #F14 0 ¤¦¤¿¤¿¤Í ¤¦¤¿¤¿¿² #T30 0 ¤¦¤¿¤Ä ²ÎÄÅ #JCN 0 ¤¦¤¿¤Å ±§Â¿ÄÅ #JCN 0 ¤¦¤¿¤Î ÅÑÅÄÌî #JCN 0 ¤¦¤¿¤Î¤Ü¤ê ²ÎÅÐ #JCN 0 ¤¦¤¿¤Þ¤í ²ÎËû #JNM 0 ¤¦¤¿¤ó ±¦Ã¼ #T35 5 ¤¦¤À ±§ÂË #JCN 0 ¤¦¤À¤¬¤ï ±§ÅÄÀî #JCN 0 ¤¦¤Á Æâ #PRE 1 ¤¦¤Á Ãæ #T35 0 ¤¦¤Á Σ #T35 0 ¤¦¤Á ¤¦¤Á #T35 55 ¤¦¤Á ²È #T35 55 ¤¦¤Á Æâ #T35 83 ¤¦¤Á¤¢ ·â¤Á¹ç #W5r 1 ¤¦¤Á¤¢¤± ÂǤÁÌÀ¤± #KS 3 ¤¦¤Á¤¢¤±¤Ð¤Ê¤· ÂǤÁÌÀ¤±Ïà #T35 0 ¤¦¤Á¤¢¤² ÂǤÁ¾å¤² #KSr 3 ¤¦¤Á¤¢¤ï¤» ÂǤÁ¹ç¤» #KSr 26 ¤¦¤Á¤¢¤ï¤» ÂǤÁ¹ç¤» #T30 0 ¤¦¤Á¤¢¤ï¤» ÂǤÁ¹ç¤ï¤» #KSr 0 ¤¦¤Á¤¢¤ï¤» ÂǤÁ¹ç¤ï¤» #T30 0 ¤¦¤Á¤¢¤ï¤» Âǹ礻 #KSr 0 ¤¦¤Á¤¢¤ï¤» Âǹ礻 #T30 56 ¤¦¤Á¤¤¤ï¤¤ Æâ½Ë #T30 0 ¤¦¤Á¤¦¤Á Æâ¡¹ #T35 0 ¤¦¤Á¤¦¤ß Æâ³¤ #JCN 0 ¤¦¤Á¤¦¤é Æâ±º #JCN 0 ¤¦¤Á¤ª¤È ·â¤ÁÍî¤È #S5 0 ¤¦¤Á¤« ÂǤÁ¾¡ #T5 0 ¤¦¤Á¤«¤± Âdzݤ± #T35 0 ¤¦¤Á¤«¤ó¤À Æâ¿ÀÅÄ #CN 0 ¤¦¤Á¤¬¤ï Æâ¦ #T35 2 ¤¦¤Á¤­ ÆâÌÚ #JNS 0 ¤¦¤Á¤­ ÂǤÁÀÚ #R5r 1 ¤¦¤Á¤­ Æâµ¤ #T05 1 ¤¦¤Á¤­¤º Âǽý #T35 0 ¤¦¤Á¤­¤ó Æâ¶â #T35 0 ¤¦¤Á¤¯¤À ÂǤÁºÕ #K5 1 ¤¦¤Á¤± ÂǤÁ¾Ã #S5r 1 ¤¦¤Á¤³ Æâ»Ò #JCN 0 ¤¦¤Á¤³ ÂǤÁ¹þ #M5r 4 ¤¦¤Á¤µ¤¤¤ï¤¤ Æâ¹¬ #CN 0 ¤¦¤Á¤¿ ÂÇÅÄ #JCN 0 ¤¦¤Á¤À ÆâÅÄ #JNS 0 ¤¦¤Á¤À ÂǤÁ½Ð #S5r 4 ¤¦¤Á¤Å¤Þ ÆâºÊ #JNS 0 ¤¦¤Á¤Ç¤· ÆâÄï»Ò #T35 0 ¤¦¤Á¤È¤± ÂǤÁ²ò¤± #KS 2 ¤¦¤Á¤Ê¤À ÆâÆç #JCN 0 ¤¦¤Á¤Î ÆâÌî #JNS 0 ¤¦¤Á¤Î¤¦¤é ÆâÇ·±º #CN 0 ¤¦¤Á¤Î¤ß Æâ³¤ #JCN 0 ¤¦¤Á¤Ï¤é Æâ¸¶ #JCN 0 ¤¦¤Á¤Ò¤· ÂǤÁ¤Ò¤· #G5 0 ¤¦¤Á¤Ù¤ó¤±¤¤ ÆâÊÛ·Ä #T15 0 ¤¦¤Á¤Ü¤ê ÆâËÙ #T35 1 ¤¦¤Á¤Þ¤¯ ÆâËë #T35 0 ¤¦¤Á¤ß ÂǤÁ¿È #T35 0 ¤¦¤Á¤ß¤º ÂǤÁ¿å #T30 0 ¤¦¤Á¤ä¤Ö ÂǤÁÇË #R5 0 ¤¦¤Á¤ä¤Þ Æâ»³ #JCN 0 ¤¦¤Á¤å¤¦ ±§Ãè #T35 31 ¤¦¤Á¤å¤¦¤»¤ó ±§ÃèÁ¥ #T35 0 ¤¦¤Á¤ç¤¦¤Æ¤ó ͭĺŷ #T05 0 ¤¦¤Á¤ï ÆâÎØ #T15 5 ¤¦¤Á¤ï¤± ÆâÌõ #T35 3 ¤¦¤Ã¤«¤ê ¤¦¤Ã¤«¤ê #T30 4 ¤¦¤Ã¤¯¤Ä ݵ¶þ #T30 0 ¤¦¤Ã¤»¤­ ¤¦¤ÃÀÑ #T30 1 ¤¦¤Ã¤»¤­ ݵÀÑ #T30 1 ¤¦¤Ã¤¿¤¨ Áʤ¨ #KSr 2 ¤¦¤Ã¤Æ¤Ä¤± ¤¦¤Ã¤Æ¤Ä¤± #T05 1 ¤¦¤Ã¤È¤¦¤· ¤¦¤Ã¤È¤¦¤· #KY 2 ¤¦¤Ã¤È¤¦¤·¤¬ ¤¦¤Ã¤È¤¦¤·¤¬ #R5 0 ¤¦¤Ã¤È¤¦¤·¤å¤¦ ¤¦¤Ã¤È¤¦¤·¤å¤¦ #KYU 1 ¤¦¤Ä ±¶ #KJ 0 ¤¦¤Ä ݵ #KJ 1 ¤¦¤Ä °Ü #R5 77 ¤¦¤Ä ¼Ì #R5r 15 ¤¦¤Ä ¤¦¤Ä #R5r 2 ¤¦¤Ä ±Ç #R5r 6 ¤¦¤Ä ¤¦¤Ä #S5 2 ¤¦¤Ä ±Ç #S5 4 ¤¦¤Ä °Ü #S5 61 ¤¦¤Ä ¼Ì #S5r 33 ¤¦¤Ä ±µ #T35 1 ¤¦¤Ä¤­ ±§ÄÅ´î #JN 0 ¤¦¤Ä¤¯¤· Èþ¤· #KY 15 ¤¦¤Ä¤¯¤·¤å¤¦ Èþ¤·¤å¤¦ #KYU 2 ¤¦¤Ä¤·¤À ±Ç¤·½Ð #S5 0 ¤¦¤Ä¤·¤È ¼Ì¤·¼è #R5 1 ¤¦¤Ä¤Î¤ß¤ä ±§Å﵆ #JCN 0 ¤¦¤Ä¤Î¤ß¤ä¤· ±§ÅÔµÜ»Ô #CNS 0 ¤¦¤Ä¤Ó¤ç¤¦ ݵÉ #T35 0 ¤¦¤Ä¤Ü ¿Ù #T35 1 ¤¦¤Ä¤ß Æâ³¤ #JCN 0 ¤¦¤Ä¤à ¤¦¤Ä¤à #K5 4 ¤¦¤Ä¤à Ðí #K5r 0 ¤¦¤Ä¤ê¤® °Ü¤êµ¤ #T05 0 ¤¦¤Ä¤í µõ¤í #T05 0 ¤¦¤Ä¤í °Ü¤í #W5r 0 ¤¦¤Ä¤ï ´ï #T35 2 ¤¦¤Å¤­ ±¬·î #T35 0 ¤¦¤Æ¤ó ±«Å· #T35 5 ¤¦¤Ç ÏÓ #T35 5 ¤¦¤Ç¤­¤­ ÏÓÍø¤­ #T35 0 ¤¦¤Ç¤É¤±¤¤ ÏÓ»þ·× #T35 1 ¤¦¤Ç¤Þ¤¨ ÏÓÁ° #T35 0 ¤¦¤È ±§ÅÚ #JCN 0 ¤¦¤È Á #KYmi 6 ¤¦¤È Á #M5 1 ¤¦¤È¤¦ Á¤¦ #KYU 1 ¤¦¤È¤Þ¤· Á¤ޤ· #KY 0 ¤¦¤È¤Þ¤·¤å¤¦ Á¤ޤ·¤å¤¦ #KYU 0 ¤¦¤È¤ó Á¤ó #ZX 0 ¤¦¤É¤Î ±­Å #JCN 0 ¤¦¤É¤ó ñ»ñ« #T35 0 ¤¦¤É¤ó ¤¦¤É¤ó #T35 4 ¤¦¤É¤ó¤³ ¤¦¤É¤óÊ´ #T35 0 ¤¦¤É¤ó¤³ ñ»ñ«Ê´ #T35 0 ¤¦¤É¤ó¤ä ¤¦¤É¤ó²° #T35 0 ¤¦¤Ê ¤¦¤Ê #R5 16 ¤¦¤Ê¤«¤ß ³¤¾å #JCN 0 ¤¦¤Ê¤¬ Â¥ #S5 5 ¤¦¤Ê¤® ±· #T35 3 ¤¦¤Ê¤¸ ¹à #T35 1 ¤¦¤Ê¤º ð÷ #K5r 0 ¤¦¤Ê¤º ¤¦¤Ê¤º #K5r 1 ¤¦¤Ê¤Å¤­ ±§Æà·î #JCN 0 ¤¦¤Ê¤Ð¤é ³¤¸¶ #T35 1 ¤¦¤Ì¤Ü¤ì ¤¦¤Ì¤Ü¤ì #KSr 0 ¤¦¤Ì¤Ü¤ì ¼«¹û¤ì #KSr 0 ¤¦¤Í ·Í #T35 0 ¤¦¤Í À¦ #T35 0 ¤¦¤Í¤Ó À¦Ëµ #JCN 0 ¤¦¤Î ±§Ìî #JCN 0 ¤¦¤Î¤± ±§¥Îµ¤ #CN 0 ¤¦¤Î¤ß ±­ÆÝ¤ß #T35 0 ¤¦¤Ï ±¦ÇÉ #T35 0 ¤¦¤Ð ±¸ #T35 1 ¤¦¤Ð ÆýÊì #T35 1 ¤¦¤Ð Ã¥ #W5 2 ¤¦¤Ð¤¤¤È Ã¥¤¤¼è #R5 1 ¤¦¤Õ¤Õ ¤¦¤Õ¤Õ #CJ 1 ¤¦¤Ö ½é #T05 0 ¤¦¤Ö »º #T35 3 ¤¦¤Ö¤® »ºÃå #T35 0 ¤¦¤Ö¤² »ºÌÓ #T35 0 ¤¦¤Ö¤´¤¨ »ºÀ¼ #T35 0 ¤¦¤Ö¤¹¤Ê »ºÅÚ #T35 0 ¤¦¤Ö¤ä¤Þ »º»³ #JCN 0 ¤¦¤Ö¤æ »ºÅò #T35 0 ¤¦¤Ø¤ó ±¦ÊÕ #T35 4 ¤¦¤Ù ±§Éô #JCN 0 ¤¦¤Þ ±§Ëà #JCN 0 ¤¦¤Þ »Ý #KYmi 1 ¤¦¤Þ ¤¦¤Þ #KYmi 245 ¤¦¤Þ Ëä¤Þ #R5 2 ¤¦¤Þ ¸á #T35 0 ¤¦¤Þ ÇÏ #T35 31 ¤¦¤Þ¤¸ ÇÏÏ© #JCN 0 ¤¦¤Þ¤Å¤é ÇÏÌÌ #T15 0 ¤¦¤Þ¤Ë ´Å¼Ñ #T35 0 ¤¦¤Þ¤Î ÇÏÌî #JNS 0 ¤¦¤Þ¤ß »ÝÌ£ #T35 2 ¤¦¤Þ¤ä ±¹ #T35 0 ¤¦¤Þ¤ì »º¤Þ¤ì #KS 0 ¤¦¤Þ¤ì À¸¤Þ¤ì #KSr 23 ¤¦¤Þ¤ì¤«¤ï À¸¤Þ¤ìÊѤï #R5r 0 ¤¦¤Þ¤ì¤Ä¤­ À¸¤Þ¤ì¤Ä¤­ #T35 4 ¤¦¤ß ±§Èþ #JCN 0 ¤¦¤ß Ç¿ #T35 0 ¤¦¤ß ³¤ #T35 33 ¤¦¤ß¤ª¤È »º¤ßÍî¤È #S5 0 ¤¦¤ß¤»¤ó¤ä¤Þ¤»¤ó ³¤À黳Àé #T15 1 ¤¦¤ß¤¾¤¤ ³¤±è¤¤ #T35 0 ¤¦¤ß¤À À¸¤ß½Ð #S5 5 ¤¦¤ß¤É¤ê ³¤Ä» #T35 0 ¤¦¤ß¤Ù ³¤ÊÕ #T35 1 ¤¦¤à ̵ͭ #T35 22 ¤¦¤à¤é¤¦¤È ¥¦¥à¥é¥¦¥È #T30 1 ¤¦¤á ±§ÌÜ #CN 0 ¤¦¤á Òñ #K5r 0 ¤¦¤á Ëä¤á #KS 66 ¤¦¤á Çß #T35 16 ¤¦¤á¤¢¤ï¤» Ëä¤á¹ç¤» #T30 0 ¤¦¤á¤¢¤ï¤» Ëä¤á¹ç¤ï¤» #T30 1 ¤¦¤á¤­¤Á ÇßµÈ #JN 0 ¤¦¤á¤³ Ëä¤á¹þ #M5r 3 ¤¦¤á¤µ¤ï ÇßÂô #JNS 0 ¤¦¤á¤¶¤ï ÇßÂô #JNS 0 ¤¦¤á¤·¤å Çß¼ò #T35 0 ¤¦¤á¤¾¤Î Çß±à #JNS 0 ¤¦¤á¤¿¤Æ Ëä¤áΩ¤Æ #KSr 2 ¤¦¤á¤¿¤Æ ËäΩ #T30 0 ¤¦¤á¤¿¤Æ¤Á ËäΩÃÏ #T35 1 ¤¦¤á¤À ÇßÅÄ #JCN 0 ¤¦¤á¤Å ÇßÄÅ #JCN 0 ¤¦¤á¤Ï¤é Ç߸¶ #JNS 0 ¤¦¤á¤Ü¤· Çß´³¤· #T35 4 ¤¦¤á¤â¤ê Çß¿¹ #JNS 0 ¤¦¤â¤¦ »Ý¤¦ #KYU 1 ¤¦¤â¤¦ ¤¦¤â¤¦ #KYU 3 ¤¦¤â¤¦ ±©ÌÓ #T35 0 ¤¦¤â¤ì Ëä¤â¤ì #KS 4 ¤¦¤ä¤¦¤ä¤· ¶³¤· #KY 0 ¤¦¤ä¤¦¤ä¤·¤å¤¦ ¶³¤·¤å¤¦ #KYU 0 ¤¦¤ä¤Þ ±§»³ #JNS 0 ¤¦¤ä¤Þ ·É #W5r 1 ¤¦¤ä¤à¤ä ¤¦¤ä¤à¤ä #T05 1 ¤¦¤è äþ; #T35 1 ¤¦¤è¤¯ ±¦Íã #T35 1 ¤¦¤é ±å #M5r 1 ¤¦¤é º¨ #M5r 1 ¤¦¤é Σ #T35 0 ¤¦¤é ±º #T35 26 ¤¦¤é ΢ #T35 30 ¤¦¤é¤¦¤¹ ±º±± #CN 0 ¤¦¤é¤ª¤â¤Æ ΢ɽ #T35 0 ¤¦¤é¤«¤¿ ΢Êý #T35 1 ¤¦¤é¤«¤ï ±º²Ï #JCN 0 ¤¦¤é¤¬¤¨ ΢ÊÖ #R5 0 ¤¦¤é¤¬¤¨ ΢ÊÖ #S5r 4 ¤¦¤é¤¬¤­ ΢½ñ #T30 0 ¤¦¤é¤¬¤Ê¤· ¤¦¤éÈᤷ #KY 0 ¤¦¤é¤¬¤Ê¤·¤å¤¦ ¤¦¤éÈᤷ¤å¤¦ #KYU 0 ¤¦¤é¤¬¤Í ΢¶â #T35 0 ¤¦¤é¤¬¤ï ±ºÀî #JNS 0 ¤¦¤é¤¬¤ï ΢¦ #T35 2 ¤¦¤é¤® ΢ÀÚ #R5r 5 ¤¦¤é¤°¤Á ΢¸ý #T35 1 ¤¦¤é¤µ¤¯ ΢ºî #T35 0 ¤¦¤é¤µ¤Ó¤· ¤¦¤é¼ä¤· #KY 0 ¤¦¤é¤µ¤Ó¤·¤å¤¦ ¤¦¤é¼ä¤·¤å¤¦ #KYU 0 ¤¦¤é¤·¤Î ´òÌî #JNS 0 ¤¦¤é¤¸ ΢ÃÏ #T35 0 ¤¦¤é¤½¤¨ ±ºÅº #JCN 0 ¤¦¤é¤Å¤± ΢ÉÕ¤± #KSr 1 ¤¦¤é¤Å¤± ΢¤Å¤± #KSr 0 ¤¦¤é¤Æ ΢¼ê #T35 1 ¤¦¤é¤Ê Àê #W5r 2 ¤¦¤é¤Ê¤¤ ·µ #T35 0 ¤¦¤é¤Ë¤ï ΢Äí #T35 2 ¤¦¤é¤Î ±ºÌî #JNS 0 ¤¦¤é¤Ï¤é ΢ʢ #T05 1 ¤¦¤é¤Ù ±ºÉô #JNS 0 ¤¦¤é¤Û¤í ±ºËÚ #JCN 0 ¤¦¤é¤Þ¤Á ΢Į #T35 1 ¤¦¤é¤ß¤Á ΢ƻ #T35 0 ¤¦¤é¤á ΢ÌÜ #T35 1 ¤¦¤é¤á¤· º¨¤á¤· #KY 0 ¤¦¤é¤á¤·¤¬ º¨¤á¤·¤¬ #R5 0 ¤¦¤é¤á¤·¤å¤¦ º¨¤á¤·¤å¤¦ #KYU 0 ¤¦¤é¤ä Á¢ #M5r 0 ¤¦¤é¤ä¤¹ ±º°Â #JCN 0 ¤¦¤é¤ä¤Þ ΢»³ #T35 0 ¤¦¤é¤ä¤Þ¤· Á¢¤Þ¤· #KY 14 ¤¦¤é¤ä¤Þ¤·¤¬ Á¢¤Þ¤·¤¬ #R5 0 ¤¦¤é¤ä¤Þ¤·¤å¤¦ Á¢¤Þ¤·¤å¤¦ #KYU 2 ¤¦¤é¤é¤« ¤¦¤é¤é¤« #T05 0 ¤¦¤é¤é¤« Îï¤é¤« #T05 0 ¤¦¤é¤ï ±ºÏ #JCN 0 ¤¦¤é¤ï¤· ±ºÏÂ»Ô #CNS 0 ¤¦¤é¤ó ¥¦¥é¥ó #T35 1 ¤¦¤ê ±» #T35 4 ¤¦¤ê¤¢¤² Çä¤ê¾å¤² #KS 2 ¤¦¤ê¤¢¤² Çä¾å #T35 4 ¤¦¤ê¤¢¤²¤­¤ó Çä¾å¶â #T35 0 ¤¦¤ê¤¢¤²¤À¤« Çä¾å¹â #T35 0 ¤¦¤ê¤«¤¤ Çä¤êÇ㤤 #T30 1 ¤¦¤ê¤«¤± Çä¤ê³Ý¤± #T30 1 ¤¦¤ê¤«¤±¤­¤ó Çä³Ý¶â #T35 0 ¤¦¤ê¤­¤ì Çä¤êÀÚ¤ì #KSr 2 ¤¦¤ê¤³ Çä¤ê¹þ #M5r 1 ¤¦¤ê¤³ Çä»Ò #T35 0 ¤¦¤ê¤À Çä¤ê½Ð #S5r 2 ¤¦¤ê¤À¤· Çä½Ð #T35 0 ¤¦¤ê¤Å¤é ±»Ï¢ #JCN 0 ¤¦¤ê¤Æ Çä¤ê¼ê #T35 1 ¤¦¤ê¤Ì¤± Çä¤êÈ´¤± #KSr 0 ¤¦¤ê¤Ì¤· Çä¤ê¼ç #T35 0 ¤¦¤ê¤Í ÇäÃÍ #T35 0 ¤¦¤ê¤Ï¤é Çä¤êʧ #W5 0 ¤¦¤ê¤Ð Çä¾ì #T35 2 ¤¦¤ê¤å¤¦ ±«Îµ #JCN 0 ¤¦¤ê¤å¤¦ ±«Î¶ #JNS 0 ¤¦¤ê¤ç¤¦ ±«ÎÌ #T35 2 ¤¦¤ê¤ï¤¿ Çä¤êÅÏ #S5r 0 ¤¦¤ë¤¦ ±¼ #T35 3 ¤¦¤ë¤¦¤É¤· ±¼Ç¯ #T35 2 ¤¦¤ë¤ª ½á #W5r 0 ¤¦¤ë¤­ ÇäÌÚ #JNS 0 ¤¦¤ë¤µ ¸Þ·îÇè #KY 1 ¤¦¤ë¤µ ÈÑ #KY 1 ¤¦¤ë¤µ ¤¦¤ë¤µ #KY 21 ¤¦¤ë¤µ¤¬ ÈѤ¬ #R5 0 ¤¦¤ë¤µ¤¬ ¸Þ·îÇ褬 #R5 1 ¤¦¤ë¤µ¤¬ ¤¦¤ë¤µ¤¬ #R5 2 ¤¦¤ë¤· ¼¿ #T35 0 ¤¦¤ë¤½¤¦ ÈѤ¦ #KYU 1 ¤¦¤ë¤½¤¦ ¤¦¤ë¤½¤¦ #KYU 2 ¤¦¤ë¤Á äë #T35 0 ¤¦¤ë¤Á¤Þ¤¤ äëÊÆ #T35 0 ¤¦¤ë¤ï¤· Î路 #KY 1 ¤¦¤ë¤ï¤·¤Î Î路¤Î #RT 0 ¤¦¤ë¤ï¤·¤å¤¦ Î路¤å¤¦ #KYU 1 ¤¦¤ì ½Ï¤ì #KS 2 ¤¦¤ì¤¤ ½¥¤¤ #T35 2 ¤¦¤ì¤¤ Í«¤¤ #T35 2 ¤¦¤ì¤¨ ½¥¤¨ #KSr 0 ¤¦¤ì¤¨ Í«¤¨ #KSr 0 ¤¦¤ì¤¯¤Á Çä¤ì¸ý #T35 0 ¤¦¤ì¤· ¤¦¤ì¤· #KYmi 23 ¤¦¤ì¤· ´ò¤· #KYmi 97 ¤¦¤ì¤·¤¬ ¤¦¤ì¤·¤¬ #R5 0 ¤¦¤ì¤·¤¬ ´ò¤·¤¬ #R5 1 ¤¦¤ì¤·¤Î ´òÌî #JCN 0 ¤¦¤ì¤·¤å¤¦ ¤¦¤ì¤·¤å¤¦ #KYU 2 ¤¦¤ì¤·¤å¤¦ ´ò¤·¤å¤¦ #KYU 2 ¤¦¤ì¤¿¤ó ¥¦¥ì¥¿¥ó #T35 0 ¤¦¤ì¤Ã¤³ Çä¤ì¤Ã»Ò #T05 2 ¤¦¤ì¤Î¤³ Çä¤ì»Ä #R5r 0 ¤¦¤ì¤æ¤­ Çä¹Ô¤­ #T35 0 ¤¦¤í ±ªÏ© #T35 0 ¤¦¤í¤¦¤í ¤¦¤í¤¦¤í #T30 3 ¤¦¤í¤ª¤Ü¤¨ ¤¦¤í³Ð¤¨ #T10 1 ¤¦¤í¤³ ÎÚ #T35 1 ¤¦¤í¤¿¤¨ ¤¦¤í¤¿¤¨ #KSr 0 ¤¦¤í¤ó ¸ÕÍð #T35 0 ¤¦¤ï ±§Ï #JCN 0 ¤¦¤ï ¾å #T35 3 ¤¦¤ï¤¬¤­ ¾å½ñ¤­ #T30 74 ¤¦¤ï¤¬¤ï ¾å¦ #T35 0 ¤¦¤ï¤­ Éⵤ #T05 2 ¤¦¤ï¤® ¾åÃå #T35 2 ¤¦¤ï¤°¤¹¤ê îØ #T35 0 ¤¦¤ï¤°¤Ä ¾å·¤ #T35 0 ¤¦¤ï¤µ ±½ #T30 31 ¤¦¤ï¤¸¤Þ ±§ÏÂÅç #JCN 0 ¤¦¤ï¤¹¤Ù¤ê ¾å³ê¤ê #T10 0 ¤¦¤ï¤Å¤ß ¾åÀÑ¤ß #T30 0 ¤¦¤ï¤Ì¤ê ¾åÅɤê #T30 0 ¤¦¤ï¤Î¤» ¾å¾è¤» #T30 1 ¤¦¤ï¤Ð¤­ ¾åÍú¤­ #T35 0 ¤¦¤ï¤Ù ¾åÊÕ #T35 0 ¤¦¤ï¤Þ¤¨ ¾åÁ° #T35 0 ¤¦¤ï¤Þ¤ï ¾å²ó #R5 1 ¤¦¤ï¤à ¾å¸þ #K5 0 ¤¦¤ï¤à¤­ ¾å¸þ¤­ #T05 0 ¤¦¤ï¤á ¾åÌÜ #T35 0 ¤¦¤ï¤ä¤¯ ¾åÌò #T35 0 ¤¦¤ó ±À #T35 2 ¤¦¤ó ±¿ #T35 29 ¤¦¤ó ±¾ #T35 33 ¤¦¤ó¤¨¤¤ ±¿±Ä #T30 15 ¤¦¤ó¤«¤¤ ±À³¤ #T35 0 ¤¦¤ó¤¬ ±¿²Ï #T35 0 ¤¦¤ó¤­¤å¤¦ ±¿µÙ #T30 0 ¤¦¤ó¤³¤¦ ±¿¹Ô #T30 0 ¤¦¤ó¤³¤¦ ±¿¹Ò #T30 1 ¤¦¤ó¤µ¤ó ±À»¶ #T30 0 ¤¦¤ó¤¶¤ê ¤¦¤ó¤¶¤ê #F04 1 ¤¦¤ó¤¶¤ê ¤¦¤ó¤¶¤ê #T16 0 ¤¦¤ó¤¶¤ó ±¿»» #T30 0 ¤¦¤ó¤·¤å¤¦ ²¹½£ #CN 0 ¤¦¤ó¤·¤ó ±¿¿Ë #T30 0 ¤¦¤ó¤»¤¤ ±¿Àª #T35 0 ¤¦¤ó¤¼¤ó ±ÀÀç #CN 0 ¤¦¤ó¤½¤¦ ±¿Á÷ #T30 1 ¤¦¤ó¤½¤¦¤ä ±¿Á÷²° #T35 0 ¤¦¤ó¤Á¤¯ é¾Ãß #T35 1 ¤¦¤ó¤Á¤ó ±¿Ä #T35 10 ¤¦¤ó¤Æ¤ó ±¿Å¾ #T30 22 ¤¦¤ó¤Æ¤ó¤·¤å ±¿Å¾¼ê #T35 2 ¤¦¤ó¤Ç¤¤ ±ÀÅ¥ #T35 1 ¤¦¤ó¤È ¤¦¤ó¤È #F14 1 ¤¦¤ó¤É¤¦ ±¿Æ° #T30 6 ¤¦¤ó¤É¤¦¤«¤¤ ±¿Æ°²ñ #T35 6 ¤¦¤ó¤É¤¦¤¸¤ç¤¦ ±¿Æ°¾ì #T35 0 ¤¦¤ó¤É¤ó¤³¤ó ±¿Æßº¬ #T35 0 ¤¦¤ó¤Ì¤ó ±¾¡¹ #T30 9 ¤¦¤ó¤Î ³¤Ìî #JNS 0 ¤¦¤ó¤Ñ¤ó ±¿È #T30 6 ¤¦¤ó¤Ô¤Ä ±¿É® #T35 0 ¤¦¤ó¤á¤¤ ±¿Ì¿ #T35 2 ¤¦¤ó¤æ ±¿Í¢ #T35 1 ¤¦¤ó¤æ¤·¤ç¤¦ ±¿Í¢¾Ê #KK 1 ¤¦¤ó¤è¤¦ ±¿ÍÑ #T30 78 ¤¦¤ó¤ê¤ç¤¦ ±ÀÎÌ #T35 0 ¤¨ ±Á #KJ 0 ¤¨ ²ñ #KJ 0 ¤¨ ·Å #KJ 0 ¤¨ ½Å #KJ 0 ¤¨ ¾ó #KJ 0 ¤¨ »Þ #KJ 1 ¤¨ ¹¾ #KJ 12 ¤¨ ±Ò #KJ 2 ¤¨ ·Ã #KJ 2 ¤¨ ³Í #KS 0 ¤¨ Áª #KS 10 ¤¨ ¤¨ #KS 2 ¤¨ ÆÀ #KS 255 ¤¨ ¾Ð #M5r 0 ¤¨ ±Â #T35 0 ¤¨ ²è #T35 1 ¤¨ ÊÁ #T35 1 ¤¨ ³¨ #T35 66 ¤¨¡¼¤¸¤§¤ó¤È ¥¨¡¼¥¸¥§¥ó¥È #T35 115 ¤¨¡¼¤¹ ¥¨¡¼¥¹ #T35 1 ¤¨¡¼¤Æ¤ë ¥¨¡¼¥Æ¥ë #T35 2 ¤¨¤¢ ¥¨¥¢ #T35 14 ¤¨¤¢¡¼ ¥¨¥¢¡¼ #T35 14 ¤¨¤¢¤³¤ó ¥¨¥¢¥³¥ó #T35 0 ¤¨¤¢¤í¤¾¤ë ¥¨¥¢¥í¥¾¥ë #KK 1 ¤¨¤¤ ±Ð°£ #JCN 0 ¤¨¤¤ ±Ñ #JN 0 ¤¨¤¤ ±Å #KJ 0 ¤¨¤¤ ±Æ #KJ 0 ¤¨¤¤ ±È #KJ 0 ¤¨¤¤ ±Ì #KJ 0 ¤¨¤¤ ±Í #KJ 0 ¤¨¤¤ ±Î #KJ 0 ¤¨¤¤ ±Ï #KJ 0 ¤¨¤¤ ±Ð #KJ 0 ¤¨¤¤ ±Ô #KJ 0 ¤¨¤¤ ±Ã #KJ 1 ¤¨¤¤ ±Ä #KJ 1 ¤¨¤¤ ±Ê #KJ 1 ¤¨¤¤ ±Ñ #KJ 1 ¤¨¤¤ ±Ò #KJ 1 ¤¨¤¤ ±Ó #KJ 1 ¤¨¤¤ êã #KJ 1 ¤¨¤¤ ±Ç #KJ 4 ¤¨¤¤ ±Ë #KJ 6 ¤¨¤¤ ±É #T35 3 ¤¨¤¤ ±Ó #ZX 0 ¤¨¤¤ ±Ç #ZX 2 ¤¨¤¤¤¤ ±Ô°Õ #F14 2 ¤¨¤¤¤¤ ±Ô°Õ #T36 0 ¤¨¤¤¤¤¤Á ±É°ì #JNM 0 ¤¨¤¤¤¤¤Á ±Ñ°ì #JNM 0 ¤¨¤¤¤¤¤Á ±Ó°ì #JNM 0 ¤¨¤¤¤¤¤Á¤í¤¦ ±É°ìϺ #JNM 0 ¤¨¤¤¤¨¤ó ±Ê±ó #T05 4 ¤¨¤¤¤«¤¯ ±Ô³Ñ #T35 1 ¤¨¤¤¤«¤ó ±É´§ #T35 0 ¤¨¤¤¤¬ ±Ç²è #T35 50 ¤¨¤¤¤¬¤«¤ó ±Ç²è´Û #T35 2 ¤¨¤¤¤­ ±Ôµ¤ #T35 1 ¤¨¤¤¤­¤Á ±ÉµÈ #JNM 0 ¤¨¤¤¤­¤å¤¦ ±Êµ× #T05 6 ¤¨¤¤¤­¤å¤¦¤· ±Êµ×»õ #T35 0 ¤¨¤¤¤­¤ç¤¦ ±Æ¶Á #T30 108 ¤¨¤¤¤®¤ç¤¦ ±Ä¶È #T30 31 ¤¨¤¤¤®¤ç¤¦¤« ±Ä¶È²Ý #T35 0 ¤¨¤¤¤®¤ç¤¦¤Á¤å¤¦ ±Ä¶ÈÃæ #T35 0 ¤¨¤¤¤®¤ç¤¦¤Ö ±Ä¶ÈÉô #T35 5 ¤¨¤¤¤²¤ó¤¸ ±Ê¸»»û #CN 0 ¤¨¤¤¤³ ±É»Ò #JNM 0 ¤¨¤¤¤³ ±Ñ»Ò #JNM 0 ¤¨¤¤¤³¤¦ ±È¹Ò #T30 1 ¤¨¤¤¤³¤¦ ±É¸÷ #T35 1 ¤¨¤¤¤³¤¯ ±Ñ¹ñ #CNS 0 ¤¨¤¤¤³¤»¤¤¤¹¤¤ ±É¸ÏÀ¹¿ê #T30 0 ¤¨¤¤¤´ ±Ñ¸ì #KK 64 ¤¨¤¤¤´¤¦ ±Ê¹å #T35 2 ¤¨¤¤¤µ¤¤ ±ÑºÍ #T35 0 ¤¨¤¤¤µ¤¯ ±Éºî #JNM 0 ¤¨¤¤¤¶¤Ö¤í¤¦ ±É»°Ïº #JNM 0 ¤¨¤¤¤·¤ã ±Ç¼Ì #T30 0 ¤¨¤¤¤·¤ã¤­ ±Ç¼Ìµ¡ #T35 0 ¤¨¤¤¤·¤ó ±É¿Ê #T30 0 ¤¨¤¤¤¸ ±É¼¡ #JNM 0 ¤¨¤¤¤¸ ±É¼£ #JNM 0 ¤¨¤¤¤¸ ±ÉÆó #JNM 0 ¤¨¤¤¤¸ ±ÊÆó #JNM 0 ¤¨¤¤¤¸ ±Ñ»Ê #JNM 0 ¤¨¤¤¤¸ ±Ñ¼¡ #JNM 0 ¤¨¤¤¤¸ ±Ñ¼£ #JNM 0 ¤¨¤¤¤¸ ±ÑÆó #JNM 0 ¤¨¤¤¤¸ ±Ç¤¸ #KS 0 ¤¨¤¤¤¸ ±Å»ù #T35 0 ¤¨¤¤¤¸ ±Ñ»ú #T35 9 ¤¨¤¤¤¸¤å¤¦ ±Ê½» #T30 0 ¤¨¤¤¤¸¤í¤¦ ±É¼¡Ïº #JNM 0 ¤¨¤¤¤¹¤¦ ±Ñ¿ô #T35 19 ¤¨¤¤¤º ¥¨¥¤¥º #T35 2 ¤¨¤¤¤»¤¤ ±ÊÀ #T30 0 ¤¨¤¤¤»¤¤ ±ÊÀ¤ #T35 0 ¤¨¤¤¤»¤¤ ±ÒÀ± #T35 13 ¤¨¤¤¤»¤¤ ±ÒÀ¸ #T35 2 ¤¨¤¤¤»¤¤¤· ±ÒÀ¸»Î #T35 1 ¤¨¤¤¤¼¤ó ±ÄÁ¶ #T30 0 ¤¨¤¤¤¾¤¦ ±É»° #JNM 0 ¤¨¤¤¤¾¤¦ ±É¢ #JNM 0 ¤¨¤¤¤¾¤¦ ±Ñ»° #JNM 0 ¤¨¤¤¤¾¤¦ ±Ä¤ #T30 0 ¤¨¤¤¤¾¤¦ ±ÇÁü #T35 3 ¤¨¤¤¤¾¤¯ ±Ê³ #T30 1 ¤¨¤¤¤¿¤Ä ±Éã #T30 0 ¤¨¤¤¤¿¤í¤¦ ±ÉÂÀϺ #JNM 0 ¤¨¤¤¤¿¤ó ±Óò #T30 1 ¤¨¤¤¤À¤ó ±ÑÃÇ #T30 1 ¤¨¤¤¤À¤ó ±ÄÃÄ #T35 1 ¤¨¤¤¤Á ±ÑÃÎ #T35 4 ¤¨¤¤¤Æ¤ó ±Éž #T30 1 ¤¨¤¤¤É¤¦ ±Ëư #T30 1 ¤¨¤¤¤Í¤ó ±Êǯ #T35 0 ¤¨¤¤¤Ó¤ó ±ÔÉÒ #T05 0 ¤¨¤¤¤Õ¤¯ ±ÊÊ¡ #JCN 0 ¤¨¤¤¤Õ¤¯¤Á¤ç¤¦ ±ÊʡĮ #CN 0 ¤¨¤¤¤Ö¤ó ±Ñʸ #T35 23 ¤¨¤¤¤Ø¤¤¤¸ ±ÊÊ¿»û #CN 0 ¤¨¤¤¤ß¤ó ±Ê̲ #T30 0 ¤¨¤¤¤á¤¤ ±ÑÌÀ #T05 0 ¤¨¤¤¤ä¤¯ ±ÑÌõ #T30 7 ¤¨¤¤¤æ¤¦ ±Ñͺ #T35 2 ¤¨¤¤¤è¤¦ ±ÉÍÜ #T35 1 ¤¨¤¤¤è¤¦¤« ±ÉÍܲÁ #T35 0 ¤¨¤¤¤è¤¦¤· ±ÉÍܻΠ#T35 0 ¤¨¤¤¤è¤¦¤½ ±ÉÍÜÁÇ #T35 0 ¤¨¤¤¤ê ±ÄÍø #T35 2 ¤¨¤¤¤ê¤¢¤¹ ¥¨¥¤¥ê¥¢¥¹ #T30 0 ¤¨¤¤¤ê¤¢¤ó ¥¨¥¤¥ê¥¢¥ó #T35 2 ¤¨¤¤¤ê¤ó ±ÄÎÓ #T30 0 ¤¨¤¤¤ê¤ó ±ÇÎÑ #T35 0 ¤¨¤¤¤ê¤ó¤·¤ç ±ÄÎÓ½ð #T35 0 ¤¨¤¤¤ï ±ÑÏ #T35 2 ¤¨¤¨ ¤¨¤¨ #CJ 16 ¤¨¤¨ ¤¨¤¨ #T35 16 ¤¨¤ª¤¸¤ó ¥¨¥ª¥¸¥ó #T35 1 ¤¨¤¬ ÉÁ #K5 31 ¤¨¤¬¤ª ¾Ð´é #T35 3 ¤¨¤¬¤é ³¨ÊÁ #T35 1 ¤¨¤¬¤ï ¹¾Àî #JCN 0 ¤¨¤­ ±Ø #CNSUC1 128 ¤¨¤­ Ëò #KJ 0 ¤¨¤­ ±Ö #KJ 1 ¤¨¤­ Ìò #T30 2 ¤¨¤­ ±× #T30 6 ¤¨¤­ °× #T35 1 ¤¨¤­ ±Ø #T35 1 ¤¨¤­ ±Õ #T35 17 ¤¨¤­¤¤¤ó ±Ø°÷ #T35 0 ¤¨¤­¤« ±Õ²½ #T30 0 ¤¨¤­¤¬¤¯ ±Ö³Ø #T35 1 ¤¨¤­¤·¤ã °×¼Ô #T35 2 ¤¨¤­¤·¤ç¤¦ ±Õ¾½ #T35 2 ¤¨¤­¤¸¤ç¤¦ ±Õ¾õ #T35 0 ¤¨¤­¤¹¤Ñ¡¼¤È ¥¨¥­¥¹¥Ñ¡¼¥È #T35 4 ¤¨¤­¤»¤ó¤È¤ê¤Ã¤¯ ¥¨¥­¥»¥ó¥È¥ê¥Ã¥¯ #T05 1 ¤¨¤­¤¿¤¤ ±ÕÂÎ #T35 13 ¤¨¤­¤Á¤ç¤¦ ±ØÄ¹ #T35 0 ¤¨¤­¤Ç¤ó ±ØÅÁ #T35 0 ¤¨¤­¤Ó¤ç¤¦ ±ÖÉ #T35 0 ¤¨¤­¤Ù¤ó ±ØÊÛ #T35 0 ¤¨¤­¤Þ¤¨ ±ØÁ° #T35 10 ¤¨¤­¤Þ¤¨¤É¤ª¤ê ±ØÁ°Ä̤ê #T35 0 ¤¨¤­¤à Ìò̳ #T30 0 ¤¨¤­¤á¤¤ ±ØÌ¾ #T35 1 ¤¨¤­¤ä ±Ø²È #CN 0 ¤¨¤­¤ê ±ÖΡ #T35 0 ¤¨¤¯¤¢¤É¤ë ¥¨¥¯¥¢¥É¥ë #CN 0 ¤¨¤¯¤¹¤Æ¤ó¤·¤ç¤ó ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó #T35 1 ¤¨¤¯¤Ü ¥¨¥¯¥Ü #T35 1 ¤¨¤°¤Á ¹¾¸ý #JCN 0 ¤¨¤³¡¼ ¥¨¥³¡¼ #T30 16 ¤¨¤³¡¼¤Ð¤Ã¤¯ ¥¨¥³¡¼¥Ð¥Ã¥¯ #T30 2 ¤¨¤³¤À ¹¾¸ÅÅÄ #JCN 0 ¤¨¤³¤Î¤ß¤¹¤È ¥¨¥³¥Î¥ß¥¹¥È #T35 1 ¤¨¤³¤í¤¸ ¥¨¥³¥í¥¸ #T35 2 ¤¨¤´¤¤¤¹¤È ¥¨¥´¥¤¥¹¥È #T35 0 ¤¨¤´¤¤¤º¤à ¥¨¥´¥¤¥º¥à #T35 1 ¤¨¤µ ±Â #T35 0 ¤¨¤µ¤­ ¹¾ºê #JNS 0 ¤¨¤µ¤· ¹¾º¹ #JCN 0 ¤¨¤µ¤· ¹¾»É #JCN 0 ¤¨¤µ¤· »Þ¹¬ #JCN 0 ¤¨¤µ¤· ¹¾»Ø #JNS 0 ¤¨¤µ¤ó ·Ã»³ #JCN 0 ¤¨¤¶¤ï ¹¾Âô #JNS 0 ¤¨¤· ²õ»à #T30 4 ¤¨¤·¤ã¤¯ ²ñ¼á #T30 0 ¤¨¤¸¤­ ±Â¿© #T35 1 ¤¨¤¸¤½¤ó ¥¨¥¸¥½¥ó #JN 0 ¤¨¤¸¤×¤È ¥¨¥¸¥×¥È #CN 0 ¤¨¤¹¤«¤ì¡¼¤È ¥¨¥¹¥«¥ì¡¼¥È #T30 0 ¤¨¤¹¤±¡¼¤× ¥¨¥¹¥±¡¼¥× #T30 19 ¤¨¤¹¤Æ¤Æ¤£¤Ã¤¯ ¥¨¥¹¥Æ¥Æ¥£¥Ã¥¯ #T15 0 ¤¨¤¹¤Ú¤é¤ó¤È ¥¨¥¹¥Ú¥é¥ó¥È #T35 1 ¤¨¤» »÷Èó #PRE 0 ¤¨¤½ ²õáÔ #T30 1 ¤¨¤¾¤¨ ¹¾Éû #JNS 0 ¤¨¤¿¤¤ ÆÀÂÎ #T35 1 ¤¨¤¿¤¸¤Þ ¹¾ÅÄÅç #JNS 0 ¤¨¤À »Þ #T35 7 ¤¨¤À¤¬¤ê »Þ´¢¤ê #T30 0 ¤¨¤À¤Ï »ÞÍÕ #T35 0 ¤¨¤À¤Ö¤ê »Þ¿¶¤ê #T35 0 ¤¨¤À¤Þ¤á »ÞƦ #T35 1 ¤¨¤À¤ß¤Á »ÞÆ» #T35 0 ¤¨¤Á °¦ÃÎ #CN 0 ¤¨¤Á¤¬¤ï °¦ÃÎÀî #CN 0 ¤¨¤Á¤±¤Ã¤È ¥¨¥Á¥±¥Ã¥È #T35 0 ¤¨¤Á¤´ ±Û¸å #JCN 0 ¤¨¤Á¤¼¤ó ±ÛÁ° #JCN 0 ¤¨¤Ã ¤¨¤Ã #CJ 1 ¤¨¤Ã¤­¤ç¤¦ ±Û¶­ #T30 0 ¤¨¤Ã¤±¤ó ±Ú¸« #T30 0 ¤¨¤Ã¤±¤ó ±Û¸¢ #T30 0 ¤¨¤Ã¤·¤ã¡¼ ¥¨¥Ã¥·¥ã¡¼ #JN 0 ¤¨¤Ã¤¸ ¥¨¥Ã¥¸ #T35 0 ¤¨¤Ã¤»¤¤ ¥¨¥Ã¥»¥¤ #T35 1 ¤¨¤Ã¤»¤¤¤¹¤È ¥¨¥Ã¥»¥¤¥¹¥È #T35 1 ¤¨¤Ã¤Á¤å¤¦ ±ÛÃæ #CN 0 ¤¨¤Ã¤È¤¦ ±ÛÅß #T30 0 ¤¨¤Ä ±Ú #KJ 0 ¤¨¤Ä ±Ù #KJ 1 ¤¨¤Ä ±Ü #KJ 10 ¤¨¤Ä ±Û #KJ 4 ¤¨¤Ä¤ª ±ÙÉ× #JNM 0 ¤¨¤Ä¤³ ±Ù»Ò #JNM 0 ¤¨¤Ä¤¿¤í¤¦ ±ÙÂÀϺ #JNM 0 ¤¨¤Ä¤Í¤ó ±Ûǯ #T30 0 ¤¨¤Ä¤ä ±ÙºÈ #JNM 0 ¤¨¤Ä¤è ±ÙÂå #JNM 0 ¤¨¤Ä¤é¤¯ ±Ù³Ú #T35 0 ¤¨¤Ä¤é¤ó ±ÜÍ÷ #T30 1 ¤¨¤Æ ÆÀ¼ê #T15 1 ¤¨¤Æ¤·¤Æ ¤¨¤Æ¤·¤Æ #F14 0 ¤¨¤Æ¤·¤Æ ÆÀ¤Æ¤·¤Æ #F14 0 ¤¨¤Ç¤£¤¿ ¥¨¥Ç¥£¥¿ #T35 120 ¤¨¤Ç¤£¤¿¡¼ ¥¨¥Ç¥£¥¿¡¼ #T35 120 ¤¨¤Ç¤£¤Ã¤È ¥¨¥Ç¥£¥Ã¥È #T30 25 ¤¨¤Ç¤£¤×¤¹ ¥¨¥Ç¥£¥×¥¹ #JN 0 ¤¨¤È ¤¨¤È #CJ 2 ¤¨¤È ´³»Ù #T35 0 ¤¨¤È¤¦ ¹¾Æ£ #JNS 0 ¤¨¤È¤¯ ²ñÆÀ #T30 1 ¤¨¤È¤í¤Õ Âòª #CN 0 ¤¨¤É ¹¾¸Í #JCN 0 ¤¨¤É¤¬¤ï ¹¾¸ÍÀî #JCN 0 ¤¨¤É¤µ¤­ ¹¾¸Íºê #JCN 0 ¤¨¤É¤Þ ¹¾¸Í´Ö #T35 0 ¤¨¤Ê ·ÃÆá #JCN 0 ¤¨¤Ê¤¸¡¼ ¥¨¥Ê¥¸¡¼ #T35 2 ¤¨¤Ê¤ê ¹¾À® #JN 0 ¤¨¤Ë¤· ±ï #T35 0 ¤¨¤Ë¤ï ·ÃÄí #CN 0 ¤¨¤Ì¤Þ ¹¾¾Â #JCN 0 ¤¨¤Í¤ë¤® ¥¨¥Í¥ë¥® #T35 1 ¤¨¤Í¤ë¤®¡¼ ¥¨¥Í¥ë¥®¡¼ #T35 16 ¤¨¤Î¤­ ±Ý #T35 2 ¤¨¤Î¤­¤À ±ÝÅÄ #JNS 0 ¤¨¤Î¤° ³¨¤Î¶ñ #T35 1 ¤¨¤Î¤·¤Þ ¹¾¥ÎÅç #CN 0 ¤¨¤Î¤â¤È ±ÝËÜ #JNS 0 ¤¨¤Ï¤¬¤­ ³¨¤Ï¤¬¤­ #T35 1 ¤¨¤Ï¤¿ ¹¾Èª #JNS 0 ¤¨¤Ï¤é ¹¾¸¶ #JNS 0 ¤¨¤Ð¤é ¹¾¸¶ #JCN 0 ¤¨¤Ò¤á °¦É² #CN 0 ¤¨¤Ò¤á¤±¤ó °¦É²¸© #CNS 0 ¤¨¤Ó ³¤Ï· #T35 0 ¤¨¤Ó òÑ #T35 1 ¤¨¤Ó ²Ü #T35 3 ¤¨¤Ó¤µ¤ï ³¤Ï·Âô #JNS 0 ¤¨¤Ó¤¹ °Ð #T35 0 ¤¨¤Ó¤¹ ¸Õ #T35 0 ¤¨¤Ó¤¹ ·ÃÈæ¿Ü #T35 1 ¤¨¤Ó¤¹ ·ÃÈæ¼÷ #T35 4 ¤¨¤Ó¤Á¤ã ÉòƺÃã #T35 0 ¤¨¤Ó¤Ê ³¤Ï·Ì¾ #JCN 0 ¤¨¤Ó¤Í ·ÃÈæº¬ #JNS 0 ¤¨¤Ó¤Î ¤¨¤Ó¤Î #CN 0 ¤¨¤Ó¤Ï¤é ³¤Ï·¸¶ #JNS 0 ¤¨¤Ô¤½¡¼¤É ¥¨¥Ô¥½¡¼¥É #T35 1 ¤¨¤Õ¤À ³¨»¥ #T35 0 ¤¨¤Ù¤Ä ¹¾ÊÌ #CN 0 ¤¨¤Û¤ó ³¨ËÜ #T35 2 ¤¨¤Þ ³¨ÇÏ #T35 1 ¤¨¤Þ¤­ ³¨´¬ #T35 0 ¤¨¤ß ±ÉÈþ #JNM 0 ¤¨¤ß ¹¾Ì± #JNS 0 ¤¨¤ß¤³ ³¨Èþ»Ò #JNM 0 ¤¨¤ß¤³ ·ÃÈþ»Ò #JNM 0 ¤¨¤ß¤å¤ì¡¼¤·¤ç¤ó ¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó #T35 0 ¤¨¤ß¤å¤ì¡¼¤¿ ¥¨¥ß¥å¥ì¡¼¥¿ #T35 13 ¤¨¤ß¤å¤ì¡¼¤¿¡¼ ¥¨¥ß¥å¥ì¡¼¥¿¡¼ #T35 13 ¤¨¤ß¤å¤ì¡¼¤È ¥¨¥ß¥å¥ì¡¼¥È #T30 2 ¤¨¤à¤«¤¨ ¹¾·Þ #JCN 0 ¤¨¤á¤é¤ë¤É ¥¨¥á¥é¥ë¥É #T35 1 ¤¨¤â¤Î ³Íʪ #T35 1 ¤¨¤é Àñ #B5r 0 ¤¨¤é Áª #B5r 134 ¤¨¤é òÔ #KJ 6 ¤¨¤é °Î #KY 54 ¤¨¤é ¤¨¤é #KY 6 ¤¨¤é ¤¨¤é #T35 1 ¤¨¤é òÔ #T35 1 ¤¨¤é¡¼ ¥¨¥é¡¼ #T30 215 ¤¨¤é¤Ó¤À Áª¤Ó½Ð #S5r 1 ¤¨¤é¤Ö °Î¤Ö #R5 0 ¤¨¤ê ³¨Íý #JNM 0 ¤¨¤ê ·ÃÍø #JNM 0 ¤¨¤ê ·ÃÍý #JNM 0 ¤¨¤ê ¶Þ #T35 2 ¤¨¤ê ¶ß #T35 4 ¤¨¤ê¡¼¤È ¥¨¥ê¡¼¥È #T35 1 ¤¨¤ê¤¢ ¥¨¥ê¥¢ #T35 24 ¤¨¤ê¤¯¤Ó ¶ß¼ó #T35 0 ¤¨¤ê¤³ ·ÃÍý»Ò #JNM 0 ¤¨¤ê¤Ã¤¯ ¥¨¥ê¥Ã¥¯ #JN 0 ¤¨¤ê¤Ä¤£¤ó ¥¨¥ê¥Ä¥£¥ó #JN 0 ¤¨¤ê¤Ì ¤¨¤êÈ´ #K5r 1 ¤¨¤ê¤Ì¤­ Áª¤êÈ´¤­ #T18 0 ¤¨¤ê¤â¤È ¶ß¸µ #T35 0 ¤¨¤ë¤´¤Î¤ß¤¯¤¹ ¥¨¥ë¥´¥Î¥ß¥¯¥¹ #T35 0 ¤¨¤ë¤´¤Î¤ß¤Ã¤¯¤¹ ¥¨¥ë¥´¥Î¥ß¥Ã¥¯¥¹ #T35 0 ¤¨¤ë¤µ¤ë¤Ð¤É¤ë ¥¨¥ë¥µ¥ë¥Ð¥É¥ë #CN 0 ¤¨¤ì¤¬¤ó¤È ¥¨¥ì¥¬¥ó¥È #T05 2 ¤¨¤ì¤¯¤È¤ê¤Ã¤¯ ¥¨¥ì¥¯¥È¥ê¥Ã¥¯ #T05 1 ¤¨¤ì¤¯¤È¤í¤Ë¤¯¤¹ ¥¨¥ì¥¯¥È¥í¥Ë¥¯¥¹ #T35 2 ¤¨¤ì¤¸¡¼ ¥¨¥ì¥¸¡¼ #T35 0 ¤¨¤ì¤Ù¡¼¤¿ ¥¨¥ì¥Ù¡¼¥¿ #T35 2 ¤¨¤ì¤Ù¡¼¤¿¡¼ ¥¨¥ì¥Ù¡¼¥¿¡¼ #T35 2 ¤¨¤í¤¦ ¤¨¤í¤¦ #KYU 1 ¤¨¤í¤¦ °Î¤¦ #KYU 2 ¤¨¤ó ±ß #JS 255 ¤¨¤ó °¸ #KJ 0 ¤¨¤ó ±Þ #KJ 0 ¤¨¤ó ±á #KJ 0 ¤¨¤ó ±â #KJ 0 ¤¨¤ó ±å #KJ 0 ¤¨¤ó ±æ #KJ 0 ¤¨¤ó ±ç #KJ 0 ¤¨¤ó ±è #KJ 0 ¤¨¤ó ±é #KJ 0 ¤¨¤ó ±ë #KJ 0 ¤¨¤ó ±í #KJ 0 ¤¨¤ó ±î #KJ 0 ¤¨¤ó ±ð #KJ 0 ¤¨¤ó ±ò #KJ 0 ¤¨¤ó ±ô #KJ 0 ¤¨¤ó ³À #KJ 0 ¤¨¤ó ÆÐ #KJ 0 ¤¨¤ó ɲ #KJ 0 ¤¨¤ó Ê¥ #KJ 0 ¤¨¤ó ±ê #KJ 1 ¤¨¤ó ±ì #KJ 1 ¤¨¤ó ±õ #KJ 1 ¤¨¤ó ±ä #KJ 2 ¤¨¤ó ±ó #KJ 6 ¤¨¤ó ±à #SUC 0 ¤¨¤ó ±ê #SUC 0 ¤¨¤ó ¡ï #T35 1 ¤¨¤ó ±ß #T35 1 ¤¨¤ó ±à #T35 1 ¤¨¤ó ±ö #T35 1 ¤¨¤ó ±ï #T35 22 ¤¨¤ó ±ã #T35 24 ¤¨¤ó ±ñ #T35 4 ¤¨¤ó ±é #ZX 5 ¤¨¤ó¤¨¤¤ ±ó±Ë #T30 0 ¤¨¤ó¤¨¤­ ±éåè #T30 2 ¤¨¤ó¤¨¤ó ±ä¡¹ #F02 4 ¤¨¤ó¤¨¤ó ±ä¡¹ #T36 0 ¤¨¤ó¤« ±ö²½ #T30 1 ¤¨¤ó¤« ±é²Î #T35 0 ¤¨¤ó¤«¤¤ ±è³¤ #T35 0 ¤¨¤ó¤«¤¤ ±ó³¤ #T35 0 ¤¨¤ó¤«¤¤ ±ã²ñ #T35 46 ¤¨¤ó¤«¤¯ ±ó³Ö #T30 2 ¤¨¤ó¤«¤¯ ±è³× #T35 1 ¤¨¤ó¤«¤¯¤Á ±ó³ÖÃÏ #T35 2 ¤¨¤ó¤«¤Ä ±ß³ê #T05 3 ¤¨¤ó¤«¤ó ±ß´Ä #T35 0 ¤¨¤ó¤¬¤ë ±ó·Ú #CN 0 ¤¨¤ó¤¬¤ï ±ï¦ #T35 0 ¤¨¤ó¤¬¤ó ±è´ß #T35 2 ¤¨¤ó¤­ ±ä´ü #T30 20 ¤¨¤ó¤­ ±ö´ð #T35 1 ¤¨¤ó¤­¤ç¤ê ±óµ÷Î¥ #T35 1 ¤¨¤ó¤­¤ó ±ó¶á #T35 0 ¤¨¤ó¤® ±éµ» #T30 4 ¤¨¤ó¤® ±ïµ¯ #T35 2 ¤¨¤ó¤±¤¤ ±ó·Ê #T35 0 ¤¨¤ó¤±¤¤ ±ß·Á #T35 1 ¤¨¤ó¤² Óë²¼ #T30 1 ¤¨¤ó¤²¤¤ ±à·Ý #T35 0 ¤¨¤ó¤²¤¤ ±é·Ý #T35 1 ¤¨¤ó¤²¤­ ±é·à #T35 3 ¤¨¤ó¤³ ±ï¸Î #T35 0 ¤¨¤ó¤³ ±ß¸Ì #T35 8 ¤¨¤ó¤³¡¼¤À ¥¨¥ó¥³¡¼¥À #T35 2 ¤¨¤ó¤³¡¼¤À¡¼ ¥¨¥ó¥³¡¼¥À¡¼ #T35 2 ¤¨¤ó¤³¡¼¤Ç¤£¤ó¤° ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° #T35 2 ¤¨¤ó¤³¡¼¤É ¥¨¥ó¥³¡¼¥É #T30 6 ¤¨¤ó¤³¤ó ±åº¨ #T35 0 ¤¨¤ó¤´ ±ç¸î #T30 0 ¤¨¤ó¤µ ±åÓÍ #T35 0 ¤¨¤ó¤µ¤ó ±ö»À #T35 1 ¤¨¤ó¤¶¤ó ±ö»³ #CN 0 ¤¨¤ó¤¶¤ó ±é»» #T30 60 ¤¨¤ó¤¶¤ó¤· ±é»»»Ò #T35 33 ¤¨¤ó¤· ±ó»ë #T35 1 ¤¨¤ó¤·¤å¤¦ ±é½¬ #T30 18 ¤¨¤ó¤·¤å¤¦ ±ß¼þ #T35 0 ¤¨¤ó¤·¤å¤Ä ±é½Ð #T30 4 ¤¨¤ó¤·¤ç¤¦ ±ä¾Æ #T30 0 ¤¨¤ó¤·¤ç¤¦ ±ê¾É #T35 0 ¤¨¤ó¤·¤ó¤ê¤ç¤¯ ±ó¿´ÎÏ #T35 0 ¤¨¤ó¤¸ ±é¤¸ #KS 0 ¤¨¤ó¤¸ ±à»ù #T35 1 ¤¨¤ó¤¸¤Ë¤¢ ¥¨¥ó¥¸¥Ë¥¢ #T35 4 ¤¨¤ó¤¸¤Ë¤¢¤ê¤ó¤° ¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥° #T35 1 ¤¨¤ó¤¸¤ã ±ï¼Ô #T35 1 ¤¨¤ó¤¸¤ã¤¯ ±í¿ý #T35 0 ¤¨¤ó¤¸¤å¤¯ ±ß½Ï #T30 0 ¤¨¤ó¤¸¤å¤¯¤ß ±ß½ÏÌ£ #T35 1 ¤¨¤ó¤¸¤ç ±ç½õ #T30 6 ¤¨¤ó¤¸¤ç¤¤ ¥¨¥ó¥¸¥ç¥¤ #T30 0 ¤¨¤ó¤¸¤ç¤¦ ±ê¾å #T30 0 ¤¨¤ó¤¸¤ó ±ß¿Ø #T35 0 ¤¨¤ó¤¸¤ó ¥¨¥ó¥¸¥ó #T35 28 ¤¨¤ó¤¹¤¤ ±ß¿í #T35 1 ¤¨¤ó¤¹¤¤¤À¤¤ ±ß¿íÂæ #T35 2 ¤¨¤ó¤º¤¤ ±ä¿ñ #T35 0 ¤¨¤ó¤»¤¤ ±ÞÀ¤ #T30 0 ¤¨¤ó¤»¤¤ ±óÀ¬ #T30 1 ¤¨¤ó¤»¤­ ±ãÀÊ #T35 0 ¤¨¤ó¤»¤ó ±èÀþ #T35 2 ¤¨¤ó¤¼¤Ä ±éÀâ #T30 1 ¤¨¤ó¤½¤¦ ±éÁÕ #T30 17 ¤¨¤ó¤½¤¯ ±ó­ #T35 2 ¤¨¤ó¤¿¡¼ ¥¨¥ó¥¿¡¼ #T35 1 ¤¨¤ó¤¿¡¼¤Æ¤¤¤á¤ó¤È ¥¨¥ó¥¿¡¼¥Æ¥¤¥á¥ó¥È #T35 2 ¤¨¤ó¤¿¡¼¤×¤é¤¤¤º ¥¨¥ó¥¿¡¼¥×¥é¥¤¥º #KK 1 ¤¨¤ó¤¿¤¤ ±äÂÚ #T30 0 ¤¨¤ó¤¿¤¯ ±ßÂî #T35 0 ¤¨¤ó¤À¤« ±ß¹â #JS 2 ¤¨¤ó¤À¤« ±ß¹â #T15 1 ¤¨¤ó¤À¤ó ±éÃÅ #T35 0 ¤¨¤ó¤À¤ó ±ïÃÌ #T35 0 ¤¨¤ó¤Á¤ã¤¯ ±äÃå #T30 0 ¤¨¤ó¤Á¤å¤¦ ±ßÃì #T35 19 ¤¨¤ó¤Á¤ç¤¦ ±äĹ #T30 5 ¤¨¤ó¤Á¤ç¤¦ ±àĹ #T35 0 ¤¨¤ó¤Á¤ç¤¯ ±ôľ #T05 1 ¤¨¤ó¤Á¤ó ±óÄÀ #T30 1 ¤¨¤ó¤Æ¤£¤Æ¤£ ¥¨¥ó¥Æ¥£¥Æ¥£ #T35 4 ¤¨¤ó¤Æ¤£¤Æ¤£¡¼ ¥¨¥ó¥Æ¥£¥Æ¥£¡¼ #T35 4 ¤¨¤ó¤Æ¤ó¤« ±êÅ·²¼ #T35 1 ¤¨¤ó¤Ç¤£¤ó¤° ¥¨¥ó¥Ç¥£¥ó¥° #T35 2 ¤¨¤ó¤È¤¦ ±ßÅû #T35 0 ¤¨¤ó¤È¤Ä ±ìÆÍ #T35 0 ¤¨¤ó¤È¤ê ¥¨¥ó¥È¥ê #T35 59 ¤¨¤ó¤È¤ê¡¼ ¥¨¥ó¥È¥ê¡¼ #T30 12 ¤¨¤ó¤È¤í¤Ô ¥¨¥ó¥È¥í¥Ô #T35 2 ¤¨¤ó¤É ¥¨¥ó¥É #T35 29 ¤¨¤ó¤É¤¦ ±óÆ£ #JNS 0 ¤¨¤ó¤É¤¦ ±èÆ» #T35 3 ¤¨¤ó¤É¤ª ±ï±ó #KY 0 ¤¨¤ó¤É¤æ¡¼¤¶ ¥¨¥ó¥É¥æ¡¼¥¶ #T35 4 ¤¨¤ó¤É¤æ¡¼¤¶¡¼ ¥¨¥ó¥É¥æ¡¼¥¶¡¼ #T35 4 ¤¨¤ó¤Ë¤Á ±ïÆü #T35 1 ¤¨¤ó¤Í¤Ä ±êÇ® #T35 0 ¤¨¤ó¤Î¤·¤¿ ±ï¤Î²¼ #T35 0 ¤¨¤ó¤Ï¤ó¤¹¤á¤ó¤È ¥¨¥ó¥Ï¥ó¥¹¥á¥ó¥È #T35 1 ¤¨¤ó¤Ð¤° ¥¨¥ó¥Ð¥° #T30 0 ¤¨¤ó¤Ð¤ó ±ßÈ× #T35 2 ¤¨¤ó¤Ô¤Ä ±ôÉ® #T35 2 ¤¨¤ó¤Ö¤ó ±ðʹ #T35 0 ¤¨¤ó¤Ö¤ó ±öʬ #T35 1 ¤¨¤ó¤Ù¤Ä ±óÊÌ #CN 0 ¤¨¤ó¤Ù¤í¡¼¤× ¥¨¥ó¥Ù¥í¡¼¥× #T35 1 ¤¨¤ó¤Ý¤¦ ±óÊý #T35 2 ¤¨¤ó¤Þ ïåËâ #JN 0 ¤¨¤ó¤Þ¤¯ ±ìËë #T35 2 ¤¨¤ó¤Þ¤Á¤ç¤¦ ïåËâÄ¢ #T35 0 ¤¨¤ó¤Þ¤ó ±ßËþ #T05 1 ¤¨¤ó¤à¤¹¤Ó ±ï·ë¤Ó #T35 0 ¤¨¤ó¤á¤¤ ±äÌ¿ #T30 0 ¤¨¤ó¤â¤¯ ±éÌÜ #T35 1 ¤¨¤ó¤ä¤¹ ±ß°Â #T15 0 ¤¨¤ó¤è¤¦ ±çÍÑ #T30 4 ¤¨¤ó¤è¤¦ ±óÍÎ #T35 1 ¤¨¤ó¤ê¤ç ±óθ #T30 18 ¤¨¤ó¤í ±óÏ© #T35 0 ¤ª ±÷ #K5 1 ¤ª ¤ª #K5 255 ¤ª ÃÖ #K5 255 ¤ª °­ #KJ 0 ¤ª ¸Ã #KJ 0 ¤ª Ëã #KJ 0 ¤ª ±÷ #KJ 1 ¤ª ¾­ #KJ 1 ¤ª Ã÷ #KJ 1 ¤ª ¾® #KJ 16 ¤ª ±ø #KJ 2 ¤ª ²´ #KJ 2 ¤ª ÃË #KJ 4 ¤ª ͺ #KJ 4 ¤ª ¸æ #KJ 69 ¤ª ¤ª #PRE 114 ¤ª ¸æ #PRE 4 ¤ª ¤ª #R5 102 ¤ª ¿¥ #R5 12 ¤ª µï #R5 2 ¤ª ÀÞ #R5r 20 ¤ª ¿ä #S5 10 ¤ª ²¡ #S5 241 ¤ª °µ #S5r 0 ¤ª Èø #T35 255 ¤ª ½ï #T35 5 ¤ª Éé #U5 18 ¤ª Ãà #W5 0 ¤ª ÄÉ #W5 177 ¤ª Éé #W5 18 ¤ª¡¼¤¤ ¤ª¡¼¤¤ #CJ 0 ¤ª¡¼¤¯¤·¤ç¤ó ¥ª¡¼¥¯¥·¥ç¥ó #T35 0 ¤ª¡¼¤±¤¹¤È¤é ¥ª¡¼¥±¥¹¥È¥é #T35 1 ¤ª¡¼¤¹¤Á¤ó ¥ª¡¼¥¹¥Á¥ó #JN 0 ¤ª¡¼¤¹¤È¤é¤ê¤¢ ¥ª¡¼¥¹¥È¥é¥ê¥¢ #CN 0 ¤ª¡¼¤¹¤È¤ê¤¢ ¥ª¡¼¥¹¥È¥ê¥¢ #CN 0 ¤ª¡¼¤À ¥ª¡¼¥À #T35 6 ¤ª¡¼¤À¡¼ ¥ª¡¼¥À¡¼ #T30 10 ¤ª¡¼¤Ç¤£¤ª ¥ª¡¼¥Ç¥£¥ª #T35 2 ¤ª¡¼¤È ¥ª¡¼¥È #PRE 2 ¤ª¡¼¤È¤¯¤Á¤å¡¼¤ë ¥ª¡¼¥È¥¯¥Á¥å¡¼¥ë #T35 0 ¤ª¡¼¤È¤Ð¤¤ ¥ª¡¼¥È¥Ð¥¤ #T35 0 ¤ª¡¼¤È¤Þ¤È¤ó ¥ª¡¼¥È¥Þ¥È¥ó #T35 6 ¤ª¡¼¤È¤ß¡¼¤ë ¥ª¡¼¥È¥ß¡¼¥ë #T35 0 ¤ª¡¼¤È¤á¡¼¤·¤ç¤ó ¥ª¡¼¥È¥á¡¼¥·¥ç¥ó #T35 1 ¤ª¡¼¤Ê¡¼ ¥ª¡¼¥Ê¡¼ #T35 9 ¤ª¡¼¤Ð¡¼ ¥ª¡¼¥Ð¡¼ #T30 14 ¤ª¡¼¤Ð¡¼¤Õ¤í¡¼ ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ #T30 4 ¤ª¡¼¤Ð¡¼¤é¤¤¤ó ¡± #T35 1 ¤ª¡¼¤Ð¡¼¤é¤Ã¤× ¥ª¡¼¥Ð¡¼¥é¥Ã¥× #T30 1 ¤ª¡¼¤Ð¡¼¤ì¤¤ ¥ª¡¼¥Ð¡¼¥ì¥¤ #T30 1 ¤ª¡¼¤Ð¤Õ¤í¡¼ ¥ª¡¼¥Ð¥Õ¥í¡¼ #T10 0 ¤ª¡¼¤Ð¤Ø¤Ã¤É ¥ª¡¼¥Ð¥Ø¥Ã¥É #T35 18 ¤ª¡¼¤×¤ó ¥ª¡¼¥×¥ó #T00 54 ¤ª¡¼¤Ü¤¨ ¥ª¡¼¥Ü¥¨ #T35 0 ¤ª¡¼¤à ¥ª¡¼¥à #JN 0 ¤ª¡¼¤ë ¥ª¡¼¥ë #T35 3 ¤ª¡¼¤í¤é ¥ª¡¼¥í¥é #T35 0 ¤ª¤¢¤¤ ¤ª°©¤¤ #OKX 11 ¤ª¤¢¤¤ ¤ª²ñ¤¤ #OKX 255 ¤ª¤¢¤¤¤Æ ¸æÁê¼ê #T30 0 ¤ª¤¢¤¤¤Æ ¤ªÁê¼ê #T30 2 ¤ª¤¢¤«¤· ¤ªÌÀ¤«¤· #OKX 3 ¤ª¤¢¤¬¤ê ¤ª¤¢¤¬¤ê #OKX 11 ¤ª¤¢¤¬¤ê ¤ª¾å¤¬¤ê #OKX 69 ¤ª¤¢¤­ ¤ªË°¤­ #OKX 14 ¤ª¤¢¤­ ¤ª¶õ¤­ #OKX 199 ¤ª¤¢¤­¤é¤á ¤ª¤¢¤­¤é¤á #OKX 19 ¤ª¤¢¤­¤é¤á ¤ªÄü¤á #OKX 4 ¤ª¤¢¤± ¤ª¶õ¤± #OKX 3 ¤ª¤¢¤± ¤ª³«¤± #OKX 39 ¤ª¤¢¤² ¤ª¾å¤² #OKX 138 ¤ª¤¢¤² ¤ª¤¢¤² #OKX 149 ¤ª¤¢¤² ¤ªµó¤² #OKX 57 ¤ª¤¢¤² ¤ªÍȤ² #OKX 6 ¤ª¤¢¤·¤¹ ¥ª¥¢¥·¥¹ #T35 4 ¤ª¤¢¤º¤«¤ê ¤ªÍ¤«¤ê #OKX 0 ¤ª¤¢¤º¤«¤ê ¤ªÍ¤ê #OKX 17 ¤ª¤¢¤º¤± ¤ªÍ¤± #OKX 8 ¤ª¤¢¤º¤±¤¤¤ì ¤ªÍ¤±Æþ¤ì #OKX 1 ¤ª¤¢¤»¤ê ¤ª¾Ç¤ê #OKX 18 ¤ª¤¢¤½¤Ó ¤ªÍ·¤Ó #OKX 93 ¤ª¤¢¤¿¤¨ ¤ªÍ¿¤¨ #OKX 162 ¤ª¤¢¤¿¤¿¤Þ¤ê ¤ªÃȤޤê #OKX 0 ¤ª¤¢¤¿¤¿¤Þ¤ê ¤ª²¹¤Þ¤ê #OKX 3 ¤ª¤¢¤¿¤¿¤á ¤ªÃȤá #OKX 0 ¤ª¤¢¤¿¤¿¤á ¤ª²¹¤á #OKX 1 ¤ª¤¢¤¿¤é¤·¤å¤¦ ¤ª¿·¤·¤å¤¦ #KYU 3 ¤ª¤¢¤Ä¤¦ ¤ª½ë¤¦ #KYU 2 ¤ª¤¢¤Ä¤¦ ¤ªÇ®¤¦ #KYU 2 ¤ª¤¢¤Ä¤«¤¤ ¤ª°·¤¤ #OKX 194 ¤ª¤¢¤Ä¤Þ¤ê ¤ª½¸¤Þ¤ê #OKX 32 ¤ª¤¢¤Ä¤á ¤ª½¸¤á #OKX 39 ¤ª¤¢¤Æ ¤ª½¼¤Æ #OKX 3 ¤ª¤¢¤Æ ¤ªÅö¤Æ #OKX 75 ¤ª¤¢¤Æ¤¬¤¤ ¤ª¤¢¤Æ¤¬¤¤ #OKX 1 ¤ª¤¢¤Ð¤ì ¤ªË½¤ì #OKX 4 ¤ª¤¢¤Ó ¤ªÍá¤Ó #OKX 1 ¤ª¤¢¤Þ¤¨ ¤ª´Å¤¨ #OKX 4 ¤ª¤¢¤Þ¤ê ¤ªÍ¾¤ê #OKX 46 ¤ª¤¢¤ß ¤ªÊÔ¤ß #OKX 32 ¤ª¤¢¤ä¤Þ¤ê ¤ª¸í¤ê #OKX 101 ¤ª¤¢¤ä¤Þ¤ê ¤ª¼Õ¤ê #OKX 29 ¤ª¤¢¤é¤¤ ¤ªÀö¤¤ #OKX 54 ¤ª¤¢¤é¤¿¤á ¤ª²þ¤á #OKX 17 ¤ª¤¢¤ê ¤ªºß¤ê #OKX 11 ¤ª¤¢¤ê ¤ª¤¢¤ê #OKX 255 ¤ª¤¢¤ê ¤ªÍ­¤ê #OKX 59 ¤ª¤¢¤ë¤­ ¤ªÊ⤭ #OKX 34 ¤ª¤¢¤ì ¤ª¹Ó¤ì #OKX 3 ¤ª¤¢¤ï¤» ¤ªÊ»¤» #OKX 0 ¤ª¤¢¤ï¤Æ ¤ª¤¢¤ï¤Æ #OKX 1 ¤ª¤¢¤ï¤Æ ¤ª¹²¤Æ #OKX 24 ¤ª¤¢¤ï¤ì¤ß ¤ªÎù¤ì¤ß #OKX 0 ¤ª¤¢¤ï¤ì¤ß ¤ª°¥¤ì¤ß #OKX 1 ¤ª¤¤ ¤ª¤¤ #CJ 15 ¤ª¤¤ µè #KJ 1 ¤ª¤¤ Ï·¤¤ #KSr 10 ¤ª¤¤ ±ù #T35 0 ¤ª¤¤¤¤ ¤ª±¾¤¤ #OKX 0 ¤ª¤¤¤¤ ¤ª¸À¤¤ #OKX 3 ¤ª¤¤¤¤¤À¤· ¤ª¸À¤¤½Ð¤· #OKX 4 ¤ª¤¤¤¤¤Ä¤± ¤ª¸À¤¤¤Ä¤± #OKX 0 ¤ª¤¤¤¨ Èø²È #JNS 0 ¤ª¤¤¤¨ ¤ªÌþ¤¨ #OKX 1 ¤ª¤¤¤ª¤¤ ¤ª¤¤¤ª¤¤ #F05 0 ¤ª¤¤¤ª¤¤ ¤ª¤¤¤ª¤¤ #T36 0 ¤ª¤¤¤«¤± ¤ª¤¤¤«¤± #KS 1 ¤ª¤¤¤«¤± Äɤ¤¤«¤± #KS 2 ¤ª¤¤¤«¤· ¤ªÀ¸¤«¤· #OKX 12 ¤ª¤¤¤«¤· ¤ª³è¤«¤· #OKX 3 ¤ª¤¤¤«¤ê ¤ªÅܤê #OKX 5 ¤ª¤¤¤«¤ï µÚÀî #JNS 0 ¤ª¤¤¤«¤ï À¸Àî #JNS 0 ¤ª¤¤¤«¤ï ÄÉÀî #JNS 0 ¤ª¤¤¤­ ¤ª³è¤­ #OKX 2 ¤ª¤¤¤­ ¤ª¤¤¤­ #OKX 236 ¤ª¤¤¤­ ¤ª¹Ô¤­ #OKX 255 ¤ª¤¤¤­ ¤ª±ý¤­ #OKX 6 ¤ª¤¤¤­ ¤ªÀ¸¤­ #OKX 62 ¤ª¤¤¤­¤«¤¨¤ê ¤ªÀ¸¤­ÊÖ¤ê #OKX 1 ¤ª¤¤¤­¤É¤ª¤ê ¤ªÊ°¤ê #OKX 0 ¤ª¤¤¤± ¸æÃÓ #JCN 0 ¤ª¤¤¤± ¤ª¤¤¤± #OKX 31 ¤ª¤¤¤³ Ï·¤¤¹þ #M5r 0 ¤ª¤¤¤³ Äɤ¤¤³ #M5r 1 ¤ª¤¤¤³ Äɤ¤¹þ #M5r 3 ¤ª¤¤¤³ Äɤ¤¤³ #S5r 1 ¤ª¤¤¤³ Äɤ¤±Û #S5r 2 ¤ª¤¤¤µ¤á ¤ª´Ò¤á #OKX 0 ¤ª¤¤¤· ¤ª¤¤¤· #KY 10 ¤ª¤¤¤· ÈþÌ£¤· #KY 9 ¤ª¤¤¤·¤¬ ÈþÌ£¤·¤¬ #R5 0 ¤ª¤¤¤·¤¬ ¤ª¤¤¤·¤¬ #R5 1 ¤ª¤¤¤·¤² À¸¤¤ÌÐ #R5 0 ¤ª¤¤¤·¤å¤¦ ÈþÌ£¤·¤å¤¦ #KYU 1 ¤ª¤¤¤·¤å¤¦ ¤ª¤¤¤·¤å¤¦ #KYU 2 ¤ª¤¤¤½¤¬¤·¤¤ ¤ªË»¤·¤¤ #T35 24 ¤ª¤¤¤½¤¬¤·¤å¤¦ ¤ªË»¤·¤å¤¦ #KYU 3 ¤ª¤¤¤½¤® ¤ªµÞ¤® #OKX 42 ¤ª¤¤¤½¤ì¤È ¤ª¤¤¤½¤ì¤È #F14 1 ¤ª¤¤¤¿¤Á À¸¤¤Î©¤Á #T35 1 ¤ª¤¤¤¿¤Æ Äɤ¤Î©¤Æ #KS 0 ¤ª¤¤¤¿¤Æ Äɤ¤¤¿¤Æ #KS 1 ¤ª¤¤¤¿¤ß ¤ª½ý¤ß #OKX 0 ¤ª¤¤¤¿¤ß ¤ªÅé¤ß #OKX 1 ¤ª¤¤¤¿¤ß ¤ªÄË¤ß #OKX 24 ¤ª¤¤¤¿¤á ¤ª½ý¤á #OKX 0 ¤ª¤¤¤¿¤á ¤ªÄˤá #OKX 1 ¤ª¤¤¤¿¤á ¤ªßÖ¤á #OKX 1 ¤ª¤¤¤¿¤ï¤ê ¤ª¤¤¤¿¤ï¤ê #OKX 3 ¤ª¤¤¤À Äɤ¤½Ð #S5r 0 ¤ª¤¤¤Ä Äɤ¤ÉÕ #K5 2 ¤ª¤¤¤Ä¤¯¤·¤ß ¤ª»ü¤·¤ß #OKX 0 ¤ª¤¤¤Ä¤á Äɤ¤µÍ¤á #KSr 3 ¤ª¤¤¤Æ ¤ª¤¤¤Æ #F14 19 ¤ª¤¤¤Æ¤­¤Ü¤ê ¤ª¤¤¤Æ¤­¤Ü¤ê #T35 2 ¤ª¤¤¤Æ¤±¤Ü¤ê ¤ª¤¤¤Æ¤±¤Ü¤ê #T35 1 ¤ª¤¤¤Ç ¤ª¤¤¤Ç #T35 2 ¤ª¤¤¤È¤¤ ¤ª±Þ¤¤ #OKX 10 ¤ª¤¤¤È¤Ê¤ß ¤ª±Ä¤ß #OKX 1 ¤ª¤¤¤É¤ß ¤ªÄ©¤ß #OKX 0 ¤ª¤¤¤Ì Äɤ¤È´ #K5r 1 ¤ª¤¤¤Î¤ê ¤ªÅø¤ê #OKX 0 ¤ª¤¤¤Î¤ê ¤ªµ§¤ê #OKX 10 ¤ª¤¤¤Î¤ê ¤ªµ§¤ê #T30 6 ¤ª¤¤¤Ï¤é Äɤ¤Ê§ #W5 1 ¤ª¤¤¤Ü¤ì Ï·¤¤¤Ü¤ì #KSr 0 ¤ª¤¤¤Þ¤·¤á ¤ª²ü¤á #OKX 0 ¤ª¤¤¤á É餤ÌÜ #T35 0 ¤ª¤¤¤â¤È¤á Äɤ¤µá¤á #KS 1 ¤ª¤¤¤ä¤· ¤ªÌþ¤· #OKX 0 ¤ª¤¤¤ä¤·¤á ¤ªÈܤ·¤á #OKX 0 ¤ª¤¤¤é¡¼ ¥ª¥¤¥é¡¼ #JN 0 ¤ª¤¤¤é¤À¤Á ¤ª²×Ω¤Á #OKX 2 ¤ª¤¤¤ê ¤ªÀù¤ê #OKX 0 ¤ª¤¤¤ê ¤ªÍפê #OKX 21 ¤ª¤¤¤ë ¥ª¥¤¥ë #T35 3 ¤ª¤¤¤ì ¤ªÆþ¤ì #OKX 255 ¤ª¤¤¤ì¤«¤¨ ¤ªÆþ¤ì´¹¤¨ #OKX 27 ¤ª¤¤¤ì¤«¤¨ ¤ªÆþ¤ìÂØ¤¨ #OKX 27 ¤ª¤¤¤ï¤¤ ¤ª½Ë¤¤ #OKX 9 ¤ª¤¤¤ï¤¤ ¸æ½Ë¤¤ #T30 0 ¤ª¤¤¤ï¤¤ ¤ª½Ë¤¤ #T30 12 ¤ª¤¤¤ï¤± ÄÉʬ #CN 0 ¤ª¤¦ ²¦ #JNS 0 ¤ª¤¦ °¨ #KJ 0 ¤ª¤¦ ±û #KJ 0 ¤ª¤¦ ±ý #KJ 0 ¤ª¤¦ ²¡ #KJ 0 ¤ª¤¦ ²¥ #KJ 0 ¤ª¤¦ ²§ #KJ 0 ¤ª¤¦ ²¨ #KJ 0 ¤ª¤¦ ²© #KJ 0 ¤ª¤¦ ²ª #KJ 0 ¤ª¤¦ ²« #KJ 0 ¤ª¤¦ ³û #KJ 0 ¤ª¤¦ ¹Ä #KJ 0 ¤ª¤¦ ͸ #KJ 0 ¤ª¤¦ ±ú #KJ 1 ¤ª¤¦ ±ü #KJ 1 ¤ª¤¦ ²¢ #KJ 1 ¤ª¤¦ ºù #KJ 1 ¤ª¤¦ Øæ #KJ 1 ¤ª¤¦ ±þ #KJ 2 ¤ª¤¦ ²¤ #KJ 3 ¤ª¤¦ ²£ #KJ 4 ¤ª¤¦ ²¦ #SUC 13 ¤ª¤¦ ²¦ #T35 0 ¤ª¤¦ ±þ #ZX 61 ¤ª¤¦¤¤ ²¦°Ì #T35 1 ¤ª¤¦¤¤¤Ä ²£°î #T30 1 ¤ª¤¦¤¤¤ó ºù°þ #KK 6 ¤ª¤¦¤¤¤ó ²¡°õ #T30 0 ¤ª¤¦¤¦ ±ü±© #CN 0 ¤ª¤¦¤¨ ¤ª¿¢¤¨ #OKX 42 ¤ª¤¦¤¨¤ó ±þ±ç #T30 10 ¤ª¤¦¤ª¤¦ ±ý¡¹ #F14 1 ¤ª¤¦¤ª¤¦¤Ë¤·¤Æ ±ý¡¹¤Ë¤·¤Æ #F14 1 ¤ª¤¦¤« ²¤²½ #T30 0 ¤ª¤¦¤« ²¡²¼ #T30 2 ¤ª¤¦¤«¤¬¤¤ ¤ª¤¦¤«¤¬¤¤ #OKX 1 ¤ª¤¦¤«¤¬¤¤ ¤ª»Ç¤¤ #OKX 40 ¤ª¤¦¤«¤¯¤Þ¤¯ ²£³ÖËì #T35 0 ¤ª¤¦¤«¤Ó ¤ª¤¦¤«¤Ó #OKX 1 ¤ª¤¦¤«¤Ó ¤ªÉ⤫¤Ó #OKX 11 ¤ª¤¦¤«¤Ù ¤ªÉ⤫¤Ù #OKX 1 ¤ª¤¦¤«¤ó ±ý´Ô #T30 0 ¤ª¤¦¤«¤ó ²¦´§ #T35 0 ¤ª¤¦¤¬¤¤ ²ª³° #JNM 0 ¤ª¤¦¤­ ¤ªÉ⤭ #OKX 17 ¤ª¤¦¤­¤å¤¦ ²¦µÜ #T35 2 ¤ª¤¦¤­¤å¤¦ ±þµÞ #T35 5 ¤ª¤¦¤® Àð #T35 3 ¤ª¤¦¤± ¤ª¾µ¤± #OKX 0 ¤ª¤¦¤± ¤ªÀÁ¤± #OKX 0 ¤ª¤¦¤± ¤ª¼õ¤± #OKX 101 ¤ª¤¦¤± ¤ª¤¦¤± #OKX 6 ¤ª¤¦¤±¤È¤á ¤ª¼õ¤±»ß¤á #OKX 0 ¤ª¤¦¤±¤È¤ê ¤ª¼õ¤±¼è¤ê #OKX 77 ¤ª¤¦¤±¤Ê¤¬¤· ¤ª¼õ¤±Î®¤· #OKX 0 ¤ª¤¦¤³¤¦ ²£¹Ô #T30 0 ¤ª¤¦¤³¤¦ ²¦¸ô #T35 0 ¤ª¤¦¤³¤¯ ²¦¹ñ #T35 1 ¤ª¤¦¤´¤«¤· ¤ªÆ°¤«¤· #OKX 92 ¤ª¤¦¤´¤­ ¤ªÆ°¤­ #OKX 255 ¤ª¤¦¤´¤­¤À¤· ¤ªÆ°¤­½Ð¤· #OKX 4 ¤ª¤¦¤´¤ó ²«¶â #T35 1 ¤ª¤¦¤µ¤« °©ºä #JCN 0 ¤ª¤¦¤µ¤Þ ²¦ÍÍ #T35 2 ¤ª¤¦¤¶ ²¦ºÂ #T35 0 ¤ª¤¦¤· ²´µí #T35 0 ¤ª¤¦¤·¤¶ ²´µíºÂ #KK 1 ¤ª¤¦¤·¤Ä ²¦¼¼ #T35 0 ¤ª¤¦¤·¤Ê¤¤ ¤ªÁÓ¤¤ #OKX 0 ¤ª¤¦¤·¤Ê¤¤ ¤ª¼º¤¤ #OKX 24 ¤ª¤¦¤·¤å¤¦ ²¤½£ #CN 0 ¤ª¤¦¤·¤å¤¦ ²¡¼ý #T30 0 ¤ª¤¦¤·¤å¤¦ ±þ½· #T30 13 ¤ª¤¦¤·¤ç¤¦ ²¦¾­ #T35 1 ¤ª¤¦¤·¤ç¤¯ ²«¿§ #T35 1 ¤ª¤¦¤·¤ó ±ý¿Ç #T30 1 ¤ª¤¦¤·¤ó ±ý¿® #T35 1 ¤ª¤¦¤¸ ²¦»û #CN 0 ¤ª¤¦¤¸ ±ý»þ #T35 0 ¤ª¤¦¤¸ ²¦»Ò #T35 1 ¤ª¤¦¤¸¤ã ²¦¼Ô #T35 1 ¤ª¤¦¤¸¤ç¤¦ ±ýÀ¸ #T30 1 ¤ª¤¦¤¹¤ì ¤ªÇö¤ì #OKX 2 ¤ª¤¦¤»¤¤ ²¢À¹ #T05 0 ¤ª¤¦¤»¤¤ ²¦À© #T35 0 ¤ª¤¦¤»¤Ä ±þÀÜ #T30 1 ¤ª¤¦¤¿¤¤ ¤ªÍؤ¤ #OKX 0 ¤ª¤¦¤¿¤¤ ¤ª±´¤¤ #OKX 1 ¤ª¤¦¤¿¤¤ ¤ª±Ó¤¤ #OKX 1 ¤ª¤¦¤¿¤¤ ¤ª¾§¤¤ #OKX 2 ¤ª¤¦¤¿¤¤ ¤ª²Î¤¤ #OKX 32 ¤ª¤¦¤¿¤¤ ±þÂÐ #T30 2 ¤ª¤¦¤¿¤¤ ²«ÂÎ #T35 1 ¤ª¤¦¤¿¤¬¤¤ ¤ªµ¿¤¤ #OKX 8 ¤ª¤¦¤À¤¯ ±þÂú #T30 0 ¤ª¤¦¤À¤ó ²£ÃÇ #T30 3 ¤ª¤¦¤Á ÁêÃÎ #JCN 0 ¤ª¤¦¤Á ͸ÃÒ #JCN 0 ¤ª¤¦¤Á ¤ªÈ²¤Á #OKX 0 ¤ª¤¦¤Á ¤ª·â¤Á #OKX 1 ¤ª¤¦¤Á ¤ªÆ¤¤Á #OKX 1 ¤ª¤¦¤Á ¤ªÂǤÁ #OKX 176 ¤ª¤¦¤Á ¤ª¤¦¤Á #OKX 5 ¤ª¤¦¤Á¤¢¤± ¤ªÂǤÁÌÀ¤± #OKX 3 ¤ª¤¦¤Á¤±¤· ¤ªÂǤÁ¾Ã¤· #OKX 1 ¤ª¤¦¤Á¤È¤± ¤ªÂǤÁ²ò¤± #OKX 2 ¤ª¤¦¤Á¤ã¤¯ ²£Ãå #T00 1 ¤ª¤¦¤Á¤ç¤¦ ²¦Ä« #T35 0 ¤ª¤¦¤Ä¤¯¤·¤å¤¦ ¤ªÈþ¤·¤å¤¦ #KYU 2 ¤ª¤¦¤Ä¤· ¤ª¤¦¤Ä¤· #OKX 2 ¤ª¤¦¤Ä¤· ¤ª¼Ì¤· #OKX 33 ¤ª¤¦¤Ä¤· ¤ª±Ç¤· #OKX 4 ¤ª¤¦¤Ä¤· ¤ª°Ü¤· #OKX 61 ¤ª¤¦¤Ä¤ê ¤ª¼Ì¤ê #OKX 15 ¤ª¤¦¤Ä¤ê ¤ª¤¦¤Ä¤ê #OKX 2 ¤ª¤¦¤Ä¤ê ¤ª±Ç¤ê #OKX 6 ¤ª¤¦¤Ä¤ê ¤ª°Ü¤ê #OKX 77 ¤ª¤¦¤Æ ²¦¼ê #T35 0 ¤ª¤¦¤Æ¤ó ²£Å¾ #T30 0 ¤ª¤¦¤È¤¦ ÂçÅã #JNS 0 ¤ª¤¦¤È¤¦ ±þÅú #T30 42 ¤ª¤¦¤È¤Ä ±úÆÌ #T35 1 ¤ª¤¦¤È¤ß ¤ªÁÂ¤ß #OKX 1 ¤ª¤¦¤É¤¤¤í ²«ÅÚ¿§ #T15 0 ¤ª¤¦¤É¤¦ ²«Æ¼ #T35 0 ¤ª¤¦¤É¤¦ ²¦Æ» #T35 3 ¤ª¤¦¤Ê¤º¤­ ¤ª¤¦¤Ê¤º¤­ #OKX 1 ¤ª¤¦¤Ê¤Ä ²¡Æè #T30 0 ¤ª¤¦¤Í¤ó ±ýǯ #T35 0 ¤ª¤¦¤Ð¤¤ ¤ªÃ¥¤¤ #OKX 2 ¤ª¤¦¤Ò ²¦ÈÞ #T35 0 ¤ª¤¦¤Õ¤¦ ²¤É÷ #T35 0 ¤ª¤¦¤Õ¤¯ ±ýÉü #T30 18 ¤ª¤¦¤Ö¤ó ²¤Ê¸ #T35 3 ¤ª¤¦¤Ø¤¤ ²£ÊÁ #T05 0 ¤ª¤¦¤Û¤¦ ±þÊó #T30 0 ¤ª¤¦¤Ü ±þÊç #T30 21 ¤ª¤¦¤Ü¤¦ ²£Ë½ #T05 1 ¤ª¤¦¤Þ¤ì ¤ª»º¤Þ¤ì #OKX 0 ¤ª¤¦¤Þ¤ì ¤ªÀ¸¤Þ¤ì #OKX 23 ¤ª¤¦¤Þ¤ì¤«¤ï¤ê ¤ªÀ¸¤Þ¤ìÊѤï¤ê #OKX 0 ¤ª¤¦¤ß ¶á¹¾ #JCN 0 ¤ª¤¦¤ß Àij¤ #JCN 0 ¤ª¤¦¤ß ¤ª»º¤ß #OKX 1 ¤ª¤¦¤ß ¤ªÀ¸¤ß #OKX 3 ¤ª¤¦¤ß¤Ï¤Á¤Þ¤ó ¶á¹¾È¬È¨ #CN 0 ¤ª¤¦¤à ͺÉð #JCN 0 ¤ª¤¦¤à ²¦êµ #T35 1 ¤ª¤¦¤à óÀ̹ #T35 1 ¤ª¤¦¤á ÀÄÇß #JCN 0 ¤ª¤¦¤á ¤ªËä¤á #OKX 66 ¤ª¤¦¤â¤ó¤­¤ó ²£Ìæ¶Ú #T35 1 ¤ª¤¦¤ä¤Þ¤¤ ¤ª·É¤¤ #OKX 1 ¤ª¤¦¤è¤¦ ÂëÍÈ #T05 0 ¤ª¤¦¤è¤¦ ±þÍÑ #T30 73 ¤ª¤¦¤é ͸³Ú #JCN 0 ¤ª¤¦¤é¤¤ ±ýÍè #T30 1 ¤ª¤¦¤é¤Ê¤¤ ¤ªÀꤤ #OKX 2 ¤ª¤¦¤é¤ß ¤ª±å¤ß #OKX 1 ¤ª¤¦¤é¤ß ¤ªº¨¤ß #OKX 1 ¤ª¤¦¤é¤ä¤ß ¤ªÁ¢¤ß #OKX 0 ¤ª¤¦¤ê ¤ªÇä¤ê #OKX 127 ¤ª¤¦¤ê ¤ª¤¦¤ê #OKX 5 ¤ª¤¦¤ê¤ç¤¦ ²£ÎÎ #T30 0 ¤ª¤¦¤í ±ýÏ© #T35 0 ¤ª¤¨ Ëã¿¢ #JCN 0 ¤ª¤¨ ½ª¤¨ #KS 11 ¤ª¤¨¤«¤­ ¤ª³¨½ñ¤­ #T30 1 ¤ª¤¨¤¬¤­ ¤ªÉÁ¤­ #OKX 31 ¤ª¤¨¤Ä Ó˰ö #T30 0 ¤ª¤¨¤ß ¤ª¾Ð¤ß #OKX 0 ¤ª¤¨¤é¤Ó ¤ªÀñ¤Ó #OKX 0 ¤ª¤¨¤é¤Ó ¤ªÁª¤Ó #OKX 134 ¤ª¤¨¤é¤Ó¤À¤· ¤ªÁª¤Ó½Ð¤· #OKX 1 ¤ª¤ª ¤ª¤ª #CJ 3 ¤ª¤ª Âç #KJ 21 ¤ª¤ª ¿ #KYme 255 ¤ª¤ª Âç #PRE 80 ¤ª¤ª Èï #W5r 16 ¤ª¤ª ʤ #W5r 33 ¤ª¤ª¤¢¤µ ÂçÄ« #JCN 0 ¤ª¤ª¤¢¤¶ Âç»ú #CNPRE 3 ¤ª¤ª¤¢¤ß¤·¤é¤µ¤È ÂçÌÖÇòΤ #CN 0 ¤ª¤ª¤¢¤á Â籫 #T35 2 ¤ª¤ª¤¢¤é¤¤ ÂçÀö #JCN 0 ¤ª¤ª¤¤ Âç°æ #JCN 0 ¤ª¤ª¤¤ ÂçÈÓ #JCN 0 ¤ª¤ª¤¤ ¤ªÄɤ¤ #OKX 177 ¤ª¤ª¤¤ Â礤 #T07 0 ¤ª¤ª¤¤¤¬¤ï Âç°æÀî #JCN 0 ¤ª¤ª¤¤¤· ÂçÀÐ #JCN 0 ¤ª¤ª¤¤¤· ÂçÀÐ #T35 4 ¤ª¤ª¤¤¤·¤À ÂçÀÐÅÄ #JCN 0 ¤ª¤ª¤¤¤º¤ß ÂçÀô #JCN 0 ¤ª¤ª¤¤¤½ Âç°ë #JCN 0 ¤ª¤ª¤¤¤½¤® ÂçµÞ¤® #T35 0 ¤ª¤ª¤¤¤¿ Âçʬ #CN 0 ¤ª¤ª¤¤¤¿¤±¤ó Âçʬ¸© #CNS 0 ¤ª¤ª¤¤¤¿¤· Âçʬ»Ô #CNS 0 ¤ª¤ª¤¤¤Ê¤ë Â礤¤Ê¤ë #RT 1 ¤ª¤ª¤¤¤Ë Â礤¤Ë #F14 5 ¤ª¤ª¤¤¤Þ¤Ä¤À Âç°æ¾¾ÅÄ #CN 0 ¤ª¤ª¤¤¤ê ÂçÆþ #T35 0 ¤ª¤ª¤¦¤À Âç±§ÂË #JCN 0 ¤ª¤ª¤¦¤Á ÂçÆâ #JCN 0 ¤ª¤ª¤¦¤Á¤ä¤Þ ÂçÆâ»³ #JCN 0 ¤ª¤ª¤¦¤é Â籺 #JCN 0 ¤ª¤ª¤¦¤ê¤À¤· ÂçÇä½Ð¤· #T35 1 ¤ª¤ª¤¨ Âç¹¾ #JCN 0 ¤ª¤ª¤ª¤« Â粬 #JCN 0 ¤ª¤ª¤ª¤«¤ä¤Þ Â粬»³ #CN 0 ¤ª¤ª¤ª¤È¤³ ÂçÃË #T35 0 ¤ª¤ª¤«¤¼ ÂçÉ÷ #T35 0 ¤ª¤ª¤«¤¿ ÂçÊý #F14 1 ¤ª¤ª¤«¤¿ ÂçÊý #T36 0 ¤ª¤ª¤«¤ß ϵ #T35 2 ¤ª¤ª¤«¤ï ÂçÀî #JCN 0 ¤ª¤ª¤«¤ï ÂçÀî #T35 2 ¤ª¤ª¤«¤ï¤é Âç²Ï¸¶ #JNS 0 ¤ª¤ª¤¬ Âç²ì #JNS 0 ¤ª¤ª¤¬¤«¤ê Â礬¤«¤ê #T05 1 ¤ª¤ª¤¬¤«¤ê Âç³Ý¤«¤ê #T05 1 ¤ª¤ª¤¬¤­ Âç³À #JCN 0 ¤ª¤ª¤¬¤­ Âç³Á #JCN 0 ¤ª¤ª¤¬¤¿ Âç³ã #JCN 0 ¤ª¤ª¤¬¤¿ ÂçÊý #JCN 0 ¤ª¤ª¤¬¤¿ Âç·¿ #T05 33 ¤ª¤ª¤¬¤¿ Âç·Á #T35 1 ¤ª¤ª¤¬¤¿¤­ Âç·¿µ¡ #T35 1 ¤ª¤ª¤¬¤ï¤¿ Âç²Ï¸¶ #CN 0 ¤ª¤ª¤¬¤ï¤é Âç²Ï¸¶ #JNS 0 ¤ª¤ª¤­ ÂçÌÚ #JNS 0 ¤ª¤ª¤­ Â礭 #KYme 102 ¤ª¤ª¤­ ¤ªµ¯¤­ #OKX 102 ¤ª¤ª¤­ ¤ª¤ª¤­ #OKX 255 ¤ª¤ª¤­ ¤ªÃÖ¤­ #OKX 255 ¤ª¤ª¤­¤¢¤¬¤ê ¤ªµ¯¤­¾å¤¬¤ê #OKX 1 ¤ª¤ª¤­¤Ê Â礭¤Ê #RT 88 ¤ª¤ª¤­¤Ë Â礭¤Ë #F14 0 ¤ª¤ª¤­¤Ë ¤ª¤ª¤­¤Ë #CJ 0 ¤ª¤ª¤­¤å¤¦ Â礭¤å¤¦ #KYU 3 ¤ª¤ª¤®¤ß Â絹̣ #JCN 0 ¤ª¤ª¤¯ ¿¤¯ #T35 89 ¤ª¤ª¤¯¤Á Âç¸ý #JCN 0 ¤ª¤ª¤¯¤Á Âç¸ý #T35 0 ¤ª¤ª¤¯¤Ü Âçµ×ÊÝ #JCN 0 ¤ª¤ª¤¯¤Þ Âç·§ #JCN 0 ¤ª¤ª¤¯¤Þ Âç·¨ #JNS 0 ¤ª¤ª¤¯¤â¤Î ¿¤¯¤â¤Î #RT 20 ¤ª¤ª¤¯¤é Âç¢ #JCN 0 ¤ª¤ª¤¯¤é ÂçÁÒ #JNS 0 ¤ª¤ª¤¯¤é Âç¢ #T35 1 ¤ª¤ª¤¯¤é¤·¤ç¤¦ Âç¢¾Ê #KK 1 ¤ª¤ª¤¯¤é¤ä¤Þ ÂçÁÒ»³ #CN 0 ¤ª¤ª¤¯¤ê ¤ªÁ÷¤ê #OKX 255 ¤ª¤ª¤¯¤ê ¤ªÂ£¤ê #OKX 4 ¤ª¤ª¤¯¤ê¤È¤É¤± ¤ªÁ÷¤êÆÏ¤± #OKX 2 ¤ª¤ª¤¯¤ì ¤ª¸å¤ì #OKX 0 ¤ª¤ª¤¯¤ì ¤ªÃÙ¤ì #OKX 121 ¤ª¤ª¤¯¤ï Âç·¬ #JCN 0 ¤ª¤ª¤°¤Á Âç¸ý #JCN 0 ¤ª¤ª¤°¤Á Âç¸ý #T35 0 ¤ª¤ª¤²¤µ Âç·¶ºÀ #T05 0 ¤ª¤ª¤²¤µ Â礲¤µ #T05 5 ¤ª¤ª¤³¤¦¤Á Âç²ÏÆâ #JCN 0 ¤ª¤ª¤³¤· Âç±Û #JNS 0 ¤ª¤ª¤³¤· ¤ªµ¯¤³¤· #OKX 185 ¤ª¤ª¤´ Âç¸Õ #JCN 0 ¤ª¤ª¤´¤¨ Âç±Û #JCN 0 ¤ª¤ª¤´¤¨ ÂçÀ¼ #T35 1 ¤ª¤ª¤µ Â纴 #JCN 0 ¤ª¤ª¤µ¤¨ ¤ª²¡¤¨ #OKX 16 ¤ª¤ª¤µ¤¨ ¤ª²¡¤µ¤¨ #OKX 4 ¤ª¤ª¤µ¤¨ ¤ªÍÞ¤¨ #OKX 8 ¤ª¤ª¤µ¤« Âçºå #JCN 0 ¤ª¤ª¤µ¤«¤µ¤ä¤Þ Âçºå¶¹»³ #CN 0 ¤ª¤ª¤µ¤«¤· Âçºå»Ô #CNS 0 ¤ª¤ª¤µ¤«¤À¤¤¤¬¤¯ ÂçºåÂç³Ø #KK 6 ¤ª¤ª¤µ¤«¤Õ ÂçºåÉÜ #CNS 0 ¤ª¤ª¤µ¤­ Âçºê #JCN 0 ¤ª¤ª¤µ¤È Âç¶¿ #JCN 0 ¤ª¤ª¤µ¤È ÂçΤ #JCN 0 ¤ª¤ª¤µ¤á ¤ª½¤¤á #OKX 0 ¤ª¤ª¤µ¤á ¤ª¼£¤á #OKX 5 ¤ª¤ª¤µ¤á ¤ª¼ý¤á #OKX 6 ¤ª¤ª¤µ¤á ¤ªÇ¼¤á #OKX 9 ¤ª¤ª¤µ¤ï ÂçÂô #JCN 0 ¤ª¤ª¤µ¤ï Âçß· #JNS 0 ¤ª¤ª¤µ¤ï¤® ÂçÁû¤® #T10 7 ¤ª¤ª¤µ¤ï¤Î ÂçÂôÌî #JCN 0 ¤ª¤ª¤¶¤Ã¤Ñ ¤ª¤ª¤¶¤Ã¤Ñ #T05 1 ¤ª¤ª¤¶¤Ã¤Ñ Â绨ÇÄ #T05 2 ¤ª¤ª¤¶¤È ÂçΤ #JCN 0 ¤ª¤ª¤· ͺ¡¹¤· #KY 0 ¤ª¤ª¤· ¤ª²¡¤· #OKX 241 ¤ª¤ª¤·¤¨ ¤ª¶µ¤¨ #OKX 255 ¤ª¤ª¤·¤« Â缯 #JCN 0 ¤ª¤ª¤·¤Ï¤«¤ê ¤ª¿ä¤·Î̤ê #OKX 0 ¤ª¤ª¤·¤Þ ÂçÅç #JCN 0 ¤ª¤ª¤·¤Þ ÂçÅè #JNS 0 ¤ª¤ª¤·¤Þ ÂçÅç #T35 3 ¤ª¤ª¤·¤å¤¦ ͺ¡¹¤·¤å¤¦ #KYU 0 ¤ª¤ª¤¸ ²¦»û #CN 0 ¤ª¤ª¤¸ ÂçÏ© #JNS 0 ¤ª¤ª¤¹¤« Âç¿Ü²ì #JCN 0 ¤ª¤ª¤¹¤¬ Âç¿Ü²ì #JCN 0 ¤ª¤ª¤¹¤¸ Âç¶Ú #T35 2 ¤ª¤ª¤¹¤ß Âç¶ù #JCN 0 ¤ª¤ª¤¹¤ß Âç³Ñ #JNS 0 ¤ª¤ª¤º Âç½§ #JCN 0 ¤ª¤ª¤» ¤ª¤ª¤» #KS 0 ¤ª¤ª¤» ¶Ä¤» #T35 1 ¤ª¤ª¤»¤Ä¤« ¶Ä¤»¤Ä¤« #R5 0 ¤ª¤ª¤»¤È ÂçÀ¥¸Í #JCN 0 ¤ª¤ª¤¼¤¤ ÂçÀª #T35 7 ¤ª¤ª¤¼¤­ Âç´Ø #JNS 0 ¤ª¤ª¤¼¤­ Âç´Ø #T35 0 ¤ª¤ª¤½¤ì ¤ª¶²¤ì #OKX 18 ¤ª¤ª¤½¤ï¤ê ¤ª¶µ¤ï¤ê #OKX 2 ¤ª¤ª¤¾¤é Âç¶õ #T35 0 ¤ª¤ª¤¿ ÂÀÅÄ #JCN 0 ¤ª¤ª¤¿ ÂçÅÄ #JCN 0 ¤ª¤ª¤¿¤­ Âç¿´î #JCN 0 ¤ª¤ª¤¿¤­ ÂçÂì #JCN 0 ¤ª¤ª¤¿¤­ ²¦Âì #JNS 0 ¤ª¤ª¤¿¤­ ÂçÂí #JNS 0 ¤ª¤ª¤¿¤­ ÂçÂì #T35 0 ¤ª¤ª¤¿¤± ÂçÃÝ #JCN 0 ¤ª¤ª¤¿¤Ë Âçë #JCN 0 ¤ª¤ª¤¿¤Þ Âç¶Ì #JCN 0 ¤ª¤ª¤¿¤ï¤é ÂçÅĸ¶ #JCN 0 ¤ª¤ª¤À ÂçÅÄ #JCN 0 ¤ª¤ª¤À¤¤ ÂçÂæ #JNS 0 ¤ª¤ª¤À¤« Âç¹â #JCN 0 ¤ª¤ª¤À¤Æ Âç´Û #JCN 0 ¤ª¤ª¤Á ͸ÃÒ #JCN 0 ¤ª¤ª¤Á ¤ªÄƤÁ #OKX 0 ¤ª¤ª¤Á ¤ªÂĤÁ #OKX 3 ¤ª¤ª¤Á ¤ªÍî¤Á #OKX 88 ¤ª¤ª¤Ä ÂçÄÅ #JCN 0 ¤ª¤ª¤Ä¤« ÂçÄÍ #JCN 0 ¤ª¤ª¤Ä¤­ Âç·î #JCN 0 ¤ª¤ª¤Ä¤­ ÂçÄÐ #JNS 0 ¤ª¤ª¤Ä¤· ÂçÄÅ»Ô #CNS 0 ¤ª¤ª¤Ä¤Á ÂçÄÈ #JCN 0 ¤ª¤ª¤Ä¤Ü ÂçÄÚ #JNS 0 ¤ª¤ª¤Å ÂçÄÅ #JCN 0 ¤ª¤ª¤Å¤á ÂçµÍ¤á #T35 1 ¤ª¤ª¤Æ Âç¼ê #T35 2 ¤ª¤ª¤Ç Âç¼ê #T35 1 ¤ª¤ª¤È¤¦ ÂçÅã #JCN 0 ¤ª¤ª¤È¤¦ ÂçǤ #JCN 0 ¤ª¤ª¤È¤· ¤ª¤ª¤È¤· #OKX 1 ¤ª¤ª¤È¤· ¤ªÍî¤È¤· #OKX 3 ¤ª¤ª¤È¤· ¤ªÍ #OKX 91 ¤ª¤ª¤È¤Í ÂçÍøº¬ #JCN 0 ¤ª¤ª¤È¤â Âçͧ #JNS 0 ¤ª¤ª¤È¤è ÂçË­ #JCN 0 ¤ª¤ª¤È¤ê ¹ã #T35 0 ¤ª¤ª¤È¤ê ˱ #T35 0 ¤ª¤ª¤È¤ê ˲ #T35 0 ¤ª¤ª¤È¤í¤¨ ¤ª¿ê¤¨ #OKX 0 ¤ª¤ª¤É¤ª¤ê ÂçÄ̤ê #T35 0 ¤ª¤ª¤É¤·¤Þ ÂçǯÁý #T35 0 ¤ª¤ª¤É¤ê ¤ªÌö¤ê #OKX 0 ¤ª¤ª¤É¤ê ¤ª¤ª¤É¤ê #OKX 1 ¤ª¤ª¤É¤ê ¤ªÍÙ¤ê #OKX 3 ¤ª¤ª¤É¤í¤­ ¤ª¶Ã¤­ #OKX 61 ¤ª¤ª¤Ê¤¨ ÂçÉÄ #JNS 0 ¤ª¤ª¤Ê¤ß ÂçÇÈ #T35 0 ¤ª¤ª¤Ë¤· ÂçÀ¾ #JCN 0 ¤ª¤ª¤Ì¤­ Âç´Ó #JCN 0 ¤ª¤ª¤Ì¤Þ Âç¾Â #JCN 0 ¤ª¤ª¤Í¤¸¤á Â纬Àê #JCN 0 ¤ª¤ª¤Î ÂçÌî #JCN 0 ¤ª¤ª¤Î¤¸¤ç¤¦ ÂçÌî¾ë #CN 0 ¤ª¤ª¤Î¤Ï¤é ÂçÌ #JCN 0 ¤ª¤ª¤Î¤ß ÂçÌ #JCN 0 ¤ª¤ª¤Ï¤µ ÂçÇ÷ #JNS 0 ¤ª¤ª¤Ï¤· Âç¶¶ #JCN 0 ¤ª¤ª¤Ï¤· Âç¶¶ #T35 10 ¤ª¤ª¤Ï¤¿ ÂçȪ #JCN 0 ¤ª¤ª¤Ï¤Ð ÂçÉý #T05 23 ¤ª¤ª¤Ï¤é Â縶 #JCN 0 ¤ª¤ª¤Ï¤ë Âç¼£ #JCN 0 ¤ª¤ª¤Ð Âç¾ì #JNS 0 ¤ª¤ª¤Ð ÂçÄí #JNS 0 ¤ª¤ª¤Ð¤¿¤± ÂçÈ« #JCN 0 ¤ª¤ª¤Ð¤ä¤· ÂçÎÓ #JNS 0 ¤ª¤ª¤Ð¤ó ÂçȽ #T35 1 ¤ª¤ª¤Ò¤È Âç¿Î #JCN 0 ¤ª¤ª¤Ò¤é Âç¹Õ #JCN 0 ¤ª¤ª¤Ò¤é ÂçÊ¿ #JCN 0 ¤ª¤ª¤Ó¤± Âç°ú¤± #T35 0 ¤ª¤ª¤Õ¤Ê ÂçÁ¥ #JCN 0 ¤ª¤ª¤Õ¤Ê¤È ÂçÁ¥ÅÏ #JCN 0 ¤ª¤ª¤Ö ÂçÉÜ #JCN 0 ¤ª¤ª¤Û ÂçÊæ #JCN 0 ¤ª¤ª¤Ü¤¨ ¤ª¤ª¤Ü¤¨ #OKX 4 ¤ª¤ª¤Ü¤¨ ¤ª²±¤¨ #OKX 7 ¤ª¤ª¤Ü¤¨ ¤ª³Ð¤¨ #OKX 70 ¤ª¤ª¤Ü¤ì ¤ªÅ®¤ì #OKX 2 ¤ª¤ª¤Þ Âç´Ö #JCN 0 ¤ª¤ª¤Þ¤« Âç¤Þ¤« #T05 14 ¤ª¤ª¤Þ¤¬¤ê Âç¶Ê #CN 0 ¤ª¤ª¤Þ¤¬¤ê Âç¶Ê #T35 0 ¤ª¤ª¤Þ¤­ Â缬 #JN 0 ¤ª¤ª¤Þ¤¿ Âç¸Ô #T05 0 ¤ª¤ª¤Þ¤Á ÂçÄ® #JCN 0 ¤ª¤ª¤Þ¤Á¤¬¤¤ Âç´Ö°ã¤¤ #T10 0 ¤ª¤ª¤Þ¤Þ Âç´Ö¡¹ #JCN 0 ¤ª¤ª¤ß¤·¤Þ Âç»°Åç #CN 0 ¤ª¤ª¤ß¤º Âç¿å #T35 0 ¤ª¤ª¤ß¤½¤« Âç³¢Æü #T35 0 ¤ª¤ª¤ß¤ä ÂçµÜ #JCN 0 ¤ª¤ª¤à¤«¤· ÂçÀÎ #T35 1 ¤ª¤ª¤à¤¿ Âç̶ÅÄ #JCN 0 ¤ª¤ª¤à¤Í ³µ¤Í #F14 3 ¤ª¤ª¤à¤Í ¤ª¤ª¤à¤Í #F14 8 ¤ª¤ª¤à¤Í ³µ¤Í #T36 0 ¤ª¤ª¤à¤Í ¤ª¤ª¤à¤Í #T36 0 ¤ª¤ª¤à¤é Âç¼ #JCN 0 ¤ª¤ª¤á ÂçÌÜ #T35 2 ¤ª¤ª¤â¤¤ ¤ª¤ª¤â¤¤ #OKX 2 ¤ª¤ª¤â¤¤ ¤ª»×¤¤ #OKX 255 ¤ª¤ª¤â¤¤ ¤ªÁÛ¤¤ #OKX 3 ¤ª¤ª¤â¤¤¤À¤· ¤ª»×¤¤½Ð¤· #OKX 18 ¤ª¤ª¤â¤¤¤Ä¤­ ¤ª»×¤¤¤Ä¤­ #OKX 6 ¤ª¤ª¤â¤¤¤Ä¤­ ¤ª»×¤¤ÉÕ¤­ #OKX 8 ¤ª¤ª¤â¤¤¤Ê¤ª¤· ¤ª»×¤¤Ä¾¤· #OKX 1 ¤ª¤ª¤â¤¸ Âçʸ»ú #T35 23 ¤ª¤ª¤â¤È ÂçËÜ #T35 0 ¤ª¤ª¤â¤Î Âçʪ #T35 3 ¤ª¤ª¤â¤ê Â翹 #JCN 0 ¤ª¤ª¤â¤ê ÂçÀ¹¤ê #T10 1 ¤ª¤ª¤ä Âç²° #JCN 0 ¤ª¤ª¤ä Âçë #JCN 0 ¤ª¤ª¤ä ÂçÌð #JNS 0 ¤ª¤ª¤ä Âç²È #T35 1 ¤ª¤ª¤ä¤± ¸ø #T35 4 ¤ª¤ª¤ä¤¹¤¦¤ê Âç°ÂÇä¤ê #T10 0 ¤ª¤ª¤ä¤Á ÂçÌðÃÎ #JNS 0 ¤ª¤ª¤ä¤Î ÂçÌðÌî #JCN 0 ¤ª¤ª¤ä¤Þ Â绳 #JCN 0 ¤ª¤ª¤ä¤Þ Â绳 #T35 6 ¤ª¤ª¤ä¤Þ¤¶¤­ Â绳ºê #JCN 0 ¤ª¤ª¤ä¤Þ¤À Â绳ÅÄ #JCN 0 ¤ª¤ª¤æ¤­ ÂçÀã #T35 0 ¤ª¤ª¤è¤½ ¤ª¤ª¤è¤½ #T35 2 ¤ª¤ª¤è¤É ÂçÍä #JCN 0 ¤ª¤ª¤é ͸³Ú #JN 0 ¤ª¤ª¤é¤« ¤ª¤ª¤é¤« #T05 1 ¤ª¤ª¤ê ¤ª¤ª¤ê #OKX 102 ¤ª¤ª¤ê ¤ª¿¥¤ê #OKX 12 ¤ª¤ª¤ê ¤ªÀÞ¤ê #OKX 20 ¤ª¤ª¤ê ¤ª¹ß¤ê #OKX 27 ¤ª¤ª¤ê ¤ª²¼¤ê #OKX 7 ¤ª¤ª¤ì ¤ªÀÞ¤ì #OKX 1 ¤ª¤ª¤í¤· ¤ª²·¤· #OKX 0 ¤ª¤ª¤í¤· ¤ª²¼¤í¤· #OKX 3 ¤ª¤ª¤í¤· ¤ª¹ß¤í¤· #OKX 7 ¤ª¤ª¤ï¤À ÂçÏÂÅÄ #JCN 0 ¤ª¤ª¤ï¤Ë ÂçÏÌ #JCN 0 ¤ª¤ª¤ï¤é¤¤ Âç¾Ð¤¤ #T10 3 ¤ª¤ª¤ï¤é¤ï ÂçÆ¸ #T15 0 ¤ª¤« ²¬ #JCN 0 ¤ª¤« ½Ô #KJ 0 ¤ª¤« Éì #KJ 0 ¤ª¤« Φ #KJ 0 ¤ª¤« ÈÈ #S5 2 ¤ª¤« ËÁ #S5 2 ¤ª¤« ¿¯ #S5 34 ¤ª¤« µÖ #T35 12 ¤ª¤« ²¬ #T35 15 ¤ª¤«¤¢¤µ¤Þ ¤ªÊìÍÍ #T35 2 ¤ª¤«¤¢¤µ¤ó ¤ª¤«¤¢¤µ¤ó #T35 0 ¤ª¤«¤¢¤µ¤ó ¤ªÊ줵¤ó #T35 29 ¤ª¤«¤¤ ¤ª»ô¤¤ #OKX 1 ¤ª¤«¤¤ ¤ªÇ㤤 #OKX 255 ¤ª¤«¤¤¤¢¤² ¤ªÇ㤤¾å¤² #OKX 1 ¤ª¤«¤¤¤¤¤ì ¤ªÇ㤤Æþ¤ì #OKX 0 ¤ª¤«¤¤¤«¤¨ ¤ªÇã¤¤ÂØ¤¨ #OKX 3 ¤ª¤«¤¤¤È¤ê ¤ªÇ㤤¼è¤ê #OKX 1 ¤ª¤«¤¨ ¤ªÂ夨 #OKX 2 ¤ª¤«¤¨ ¤ªÊѤ¨ #OKX 255 ¤ª¤«¤¨ ¤ª¤«¤¨ #OKX 3 ¤ª¤«¤¨ ¤ª´¹¤¨ #OKX 38 ¤ª¤«¤¨ ¤ªÂؤ¨ #OKX 74 ¤ª¤«¤¨¤· ¤ªµ¢¤· #OKX 216 ¤ª¤«¤¨¤· ¤ªÊÖ¤· #T30 4 ¤ª¤«¤¨¤ê ¤ªµ¢¤ê #OKX 255 ¤ª¤«¤¨¤ê ¤ªÊÖ¤ê #OKX 255 ¤ª¤«¤«¤¨ ¤ªÊú¤¨ #OKX 18 ¤ª¤«¤«¤² ¤ª·Ç¤² #OKX 2 ¤ª¤«¤«¤ê ¤ª¤«¤«¤ê #OKX 113 ¤ª¤«¤«¤ê ¤ª³Ý¤«¤ê #OKX 42 ¤ª¤«¤«¤ï¤ê ¤ª´Ø¤ï¤ê #OKX 2 ¤ª¤«¤«¤ï¤ê ¤ª¹´¤ê #OKX 2 ¤ª¤«¤«¤ï¤ê ¤ª¤«¤«¤ï¤ê #OKX 22 ¤ª¤«¤«¤ï¤ê ¤ª·¸¤ï¤ê #OKX 4 ¤ª¤«¤¬¤­ ²¬³À #JCN 0 ¤ª¤«¤¬¤ß ¤ª¶þ¤ß #OKX 0 ¤ª¤«¤­ ¤ªÁߤ­ #OKX 0 ¤ª¤«¤­ ¤ª·ç¤­ #OKX 21 ¤ª¤«¤­ ¤ª½ñ¤­ #OKX 255 ¤ª¤«¤­ ¤ªÉÁ¤­ #OKX 38 ¤ª¤«¤­¤¤¤ì ¤ª½ñ¤­Æþ¤ì #OKX 1 ¤ª¤«¤­¤ª¤È¤· ¤ª½ñ¤­Íî¤È¤· #OKX 0 ¤ª¤«¤­¤«¤¨ ¤ª½ñ´¹¤¨ #OKX 30 ¤ª¤«¤­¤«¤¨ ¤ª½ñ¤­´¹¤¨ #OKX 49 ¤ª¤«¤­¤³¤ß ¤ª½ñ¤­¹þ¤ß #OKX 161 ¤ª¤«¤­¤½¤¨ ¤ª½ñ¤­Åº¤¨ #OKX 0 ¤ª¤«¤­¤À¤· ¤ª½ñ¤­½Ð¤· #OKX 14 ¤ª¤«¤­¤È¤á ¤ª½ñ¤­Î±¤á #OKX 1 ¤ª¤«¤­¤Ì¤­ ¤ª½ñ¤­È´¤­ #OKX 0 ¤ª¤«¤­¤Þ¤¼ ¤ª¤«¤­º®¤¼ #OKX 0 ¤ª¤«¤®¤ê ¤ª¤«¤®¤ê #OKX 1 ¤ª¤«¤®¤ê ¤ª¸Â¤ê #OKX 130 ¤ª¤«¤¯¤· ¤ª±£¤· #OKX 37 ¤ª¤«¤¯¤ì ¤ª¤«¤¯¤ì #OKX 3 ¤ª¤«¤¯¤ì ¤ª±£¤ì #OKX 5 ¤ª¤«¤± ¤ª¶ï¤± #OKX 0 ¤ª¤«¤± ¤ª²Í¤± #OKX 1 ¤ª¤«¤± ¤ª¶î¤± #OKX 1 ¤ª¤«¤± ¤ª·ü¤± #OKX 1 ¤ª¤«¤± ¤ªÅÒ¤± #OKX 2 ¤ª¤«¤± ¤ªæÆ¤± #OKX 2 ¤ª¤«¤± ¤ª¤«¤± #OKX 47 ¤ª¤«¤± ¤ª³Ý¤± #OKX 49 ¤ª¤«¤±¤Ä¤± ¤ª¶î¤±¤Ä¤± #OKX 2 ¤ª¤«¤±¤è¤ê ¤ª¶î¤±´ó¤ê #OKX 0 ¤ª¤«¤² ¸æ°þ #T35 0 ¤ª¤«¤² ¤ª¤«¤² #T35 16 ¤ª¤«¤² ¤ª°þ #T35 2 ¤ª¤«¤²¤µ¤Þ ¸æ°þÍÍ #T35 0 ¤ª¤«¤²¤µ¤Þ ¤ª°þÍÍ #T35 11 ¤ª¤«¤²¤ó ¤ª²Ã¸º #T35 0 ¤ª¤«¤³¤¤ ¤ª°Ï¤¤ #OKX 45 ¤ª¤«¤³¤ß ¤ª°Ï¤ß #OKX 48 ¤ª¤«¤µ¤Í ¤ª½Å¤Í #OKX 13 ¤ª¤«¤¶¤­ ²¬ºê #JCN 0 ¤ª¤«¤¶¤ê ¤ª¾þ¤ê #OKX 17 ¤ª¤«¤· ¤ª²Û»Ò #T35 0 ¤ª¤«¤· ¤ª¤«¤· #T35 0 ¤ª¤«¤· ¤ª¤«¤· #KYmi 125 ¤ª¤«¤· ²Ä¾Ð¤· #KYmi 4 ¤ª¤«¤· ¤ªÂߤ· #OKX 237 ¤ª¤«¤·¤¬ ²Ä¾Ð¤·¤¬ #R5 0 ¤ª¤«¤·¤¬ ¤ª¤«¤·¤¬ #R5 1 ¤ª¤«¤·¤³¤· ¤ªÂߤ·±Û¤· #OKX 0 ¤ª¤«¤·¤À¤· ¤ªÂߤ·½Ð¤· #OKX 26 ¤ª¤«¤·¤Ä¤± ¤ªÂߤ·ÉÕ¤± #OKX 0 ¤ª¤«¤·¤Ê ¤ª¤«¤·¤Ê #RT 6 ¤ª¤«¤·¤å¤¦ ²Ä¾Ð¤·¤å¤¦ #KYU 1 ¤ª¤«¤·¤å¤¦ ¤ª¤«¤·¤å¤¦ #KYU 3 ¤ª¤«¤¸¤Þ ²¬Åç #JNS 0 ¤ª¤«¤¸¤Þ ²¬Åè #JNS 0 ¤ª¤«¤¸¤ç¤¦¤­ Φ¾øµ¤ #T35 0 ¤ª¤«¤¸¤ê ¤ª¤«¤¸¤ê #OKX 3 ¤ª¤«¤º ¤ª¤«¤º #T35 0 ¤ª¤«¤»¤® ¤ª²Ô¤® #OKX 5 ¤ª¤«¤¾¤¨ ¤ª¿ô¤¨ #OKX 10 ¤ª¤«¤¿¤Å¤± ¤ªÊÒÉÕ¤± #OKX 1 ¤ª¤«¤¿¤à¤­ ¤ª·¹¤­ #OKX 3 ¤ª¤«¤¿¤á ¤ª¤«¤¿¤á #OKX 2 ¤ª¤«¤¿¤á ¤ª¸Ç¤á #OKX 2 ¤ª¤«¤¿¤è¤ê ¤ªÊФê #OKX 2 ¤ª¤«¤¿¤ê ¤ª¸ì¤ê #OKX 4 ¤ª¤«¤À ²¬ÅÄ #JCN 0 ¤ª¤«¤Á ¤ª¾¡¤Á #OKX 62 ¤ª¤«¤Á¤Þ¤Á ¸æÅÌÄ® #CN 0 ¤ª¤«¤Á¤á¤ó¤³ ¥ª¥«¥Á¥á¥ó¥³ #T35 1 ¤ª¤«¤Ã¤Æ ¤ª¾¡¼ê #T35 0 ¤ª¤«¤Ã¤Ô¤­ ²¬¤Ã°ú¤­ #T35 0 ¤ª¤«¤Ä¤® ¤ªÃ´¤® #OKX 0 ¤ª¤«¤É¤Á¤¬¤¤ ¤ªÌç°ã¤¤ #T05 3 ¤ª¤«¤Ê¤·¤ß ¤ª°¥¤·¤ß #OKX 2 ¤ª¤«¤Ê¤·¤ß ¤ªÈᤷ¤ß #OKX 27 ¤ª¤«¤Ê¤Ç ¤ªÁÕ¤Ç #OKX 0 ¤ª¤«¤Í ¤ª·ó¤Í #OKX 24 ¤ª¤«¤Í ¤ª¶â #T35 55 ¤ª¤«¤Í¤½¤Ê¤¨ ¤ª·ó¤ÍÈ÷¤¨ #OKX 2 ¤ª¤«¤Î ²¬Ìî #JNS 0 ¤ª¤«¤Ï¤ë ²¬¸¶ #JCN 0 ¤ª¤«¤Ð¤¤ ¤ªÈߤ¤ #OKX 1 ¤ª¤«¤Ö¤» ¤ª¤«¤Ö¤» #OKX 2 ¤ª¤«¤Ö¤ê ¤ªÈï¤ê #OKX 6 ¤ª¤«¤Ù ²¬Éô #JCN 0 ¤ª¤«¤Ü Φ°ð #T35 0 ¤ª¤«¤Þ¤¤ ¤ª¤«¤Þ¤¤ #OKX 20 ¤ª¤«¤Þ¤¤ ¤ª¹½¤¤ #OKX 58 ¤ª¤«¤Þ¤¨ ¤ª¹½¤¨ #OKX 0 ¤ª¤«¤ß ¤ª³ú¤ß #OKX 11 ¤ª¤«¤à¤é ²¬Â¼ #JCN 0 ¤ª¤«¤â¤Á ²¬»ý¤Á #T35 0 ¤ª¤«¤â¤È ²¬ËÜ #JCN 0 ¤ª¤«¤ä ²¬Ã« #JCN 0 ¤ª¤«¤ä¤¹ ²¬°Â #JNS 0 ¤ª¤«¤ä¤Þ ²¬»³ #JCN 0 ¤ª¤«¤ä¤Þ¤±¤ó ²¬»³¸© #CNS 0 ¤ª¤«¤ä¤Þ¤· ²¬»³»Ô #CNS 0 ¤ª¤«¤è¤¤ ¤ªÄ̤¤ #OKX 10 ¤ª¤«¤é¤À ¤ª¿ÈÂÎ #T35 0 ¤ª¤«¤é¤À ¤ªÂÎ #T35 0 ¤ª¤«¤é¤À ¤ª¤«¤é¤À #T35 0 ¤ª¤«¤ê ¤ª³Ï¤ê #OKX 0 ¤ª¤«¤ê ¤ª¶î¤ê #OKX 1 ¤ª¤«¤ê ¤ª´£¤ê #OKX 25 ¤ª¤«¤ê ¤ª¼Ú¤ê #OKX 68 ¤ª¤«¤ê ¤ª´¢¤ê #R5 0 ¤ª¤«¤ê ¤ª¼í¤ê #R5r 0 ¤ª¤«¤ê¤¢¤² ¤ª¼Ú¤ê¾å¤² #OKX 0 ¤ª¤«¤ê¤¤¤ì ¤ª¼Ú¤êÆþ¤ì #OKX 0 ¤ª¤«¤ê¤¦¤± ¤ª¼Ú¤ê¼õ¤± #OKX 1 ¤ª¤«¤ê¤­¤ê ¤ª¼Ú¤êÀÚ¤ê #OKX 0 ¤ª¤«¤ê¤³¤· ¤ª¼Ú¤ê±Û¤· #OKX 0 ¤ª¤«¤ê¤Ê ¥ª¥«¥ê¥Ê #T35 1 ¤ª¤«¤ë¤È ¥ª¥«¥ë¥È #T05 0 ¤ª¤«¤ì ¤ª¸Ï¤ì #OKX 2 ¤ª¤«¤ï¤«¤· ¤ª´¥¤«¤· #OKX 1 ¤ª¤«¤ï¤­ ¤ª³é¤­ #OKX 0 ¤ª¤«¤ï¤­ ¤ª´¥¤­ #OKX 1 ¤ª¤«¤ï¤· ¤ª¤«¤ï¤· #OKX 1 ¤ª¤«¤ï¤· ¤ª¸ò¤ï¤· #OKX 7 ¤ª¤«¤ï¤ê ¤ªÂؤê #OKX 0 ¤ª¤«¤ï¤ê ¤ª´¹¤ï¤ê #OKX 2 ¤ª¤«¤ï¤ê ¤ªÂؤï¤ê #OKX 2 ¤ª¤«¤ï¤ê ¤ª¤«¤ï¤ê #OKX 3 ¤ª¤«¤ï¤ê ¤ªÂå¤ï¤ê #OKX 4 ¤ª¤«¤ï¤ê ¤ªÂå¤ê #T30 1 ¤ª¤«¤ï¤ê ¤ªÊѤê #T30 1 ¤ª¤«¤ï¤ê ¤ªÊѤï¤ê #T30 5 ¤ª¤«¤ó °­´¨ #T35 0 ¤ª¤«¤ó¤¬¤¨ ¤ª¹Í¤¨ #OKX 255 ¤ª¤«¤ó¤¬¤¨¤Ä¤­ ¤ª¹Í¤¨ÉÕ¤­ #OKX 2 ¤ª¤«¤ó¤¸ ¤ª´¶¤¸ #OKX 4 ¤ª¤«¤ó¤¸¤È¤ê ¤ª´¶¤¸¤È¤ê #OKX 0 ¤ª¤¬ Ã˼¯ #JCN 0 ¤ª¤¬ ÇÒ #M5 1 ¤ª¤¬¤µ ¾®³Þ #JCN 0 ¤ª¤¬¤µ¤ï¤é ¾®³Þ¸¶ #JCN 0 ¤ª¤¬¤¿ ½ïÊý #JCN 0 ¤ª¤¬¤¿ Èø·Á #JN 0 ¤ª¤¬¤¿ ¾®Êý #JNS 0 ¤ª¤¬¤Á ͺ¾¡ #JCN 0 ¤ª¤¬¤Ä ͺ¾¡ #JCN 0 ¤ª¤¬¤Î ¾®¼¯Ìî #JCN 0 ¤ª¤¬¤ï ½ïÀî #JCN 0 ¤ª¤¬¤ï ¾®Àî #JCN 0 ¤ª¤¬¤ï ¾®²Ï #JN 0 ¤ª¤¬¤ï ¾®Àî #T35 16 ¤ª¤¬¤ï¤Ê ¾®Àî̾ #JNS 0 ¤ª¤­ ±£´ô #JCN 0 ¤ª¤­ µ¯¤­ #KS 102 ¤ª¤­ ²­ #T35 29 ¤ª¤­¤¢¤¤ ²­¹ç¤¤ #T35 0 ¤ª¤­¤¢¤¬ µ¯¤­¾å¤¬ #R5 1 ¤ª¤­¤«¤¨ ÃÖ¤­´¹¤¨ #KSr 49 ¤ª¤­¤«¤¨ ÃÖ´¹¤¨ #T30 1 ¤ª¤­¤«¤» ¤ªÊ¹¤«¤» #OKX 121 ¤ª¤­¤«¤ï ÃÖ¤­´¹¤ï #R5 3 ¤ª¤­¤¬¤¨ ¤ªÃåÂØ¤¨ #OKX 3 ¤ª¤­¤­ ¤ªÄ°¤­ #OKX 13 ¤ª¤­¤­ ¤ª¸ú¤­ #OKX 175 ¤ª¤­¤­ ¤ªÍø¤­ #OKX 2 ¤ª¤­¤­ ¤ªÊ¹¤­ #OKX 255 ¤ª¤­¤­ ¤ª¤­¤­ #OKX 43 ¤ª¤­¤­¤¤¤ê ¤ªÊ¹¤­Æþ¤ê #OKX 1 ¤ª¤­¤­¤¤¤ì ¤ªÊ¹¤­Æþ¤ì #OKX 1 ¤ª¤­¤­¤«¤¨¤· ¤ªÊ¹¤­ÊÖ¤· #OKX 0 ¤ª¤­¤­¤°¤ë¤·¤å¤¦ ¤ªÊ¹¤­¶ì¤·¤å¤¦ #KYU 1 ¤ª¤­¤­¤È¤ê ¤ªÊ¹¤­¼è¤ê #OKX 2 ¤ª¤­¤­¤Ê¤¬¤· ¤ªÊ¹¤­Î®¤· #OKX 4 ¤ª¤­¤­¤ï¤± ¤ªÊ¹¤­Ê¬¤± #OKX 0 ¤ª¤­¤³¤¨ ¤ªÄ°¤³¤¨ #OKX 0 ¤ª¤­¤³¤¨ ¤ª¤­¤³¤¨ #OKX 1 ¤ª¤­¤³¤¨ ¤ªÊ¹¤³¤¨ #OKX 20 ¤ª¤­¤¶¤ß ¤ª¤­¤¶¤ß #OKX 0 ¤ª¤­¤¶¤ß ¤ª¹ï¤ß #OKX 1 ¤ª¤­¤¶¤ê ÃÖ¤­µî¤ê #T30 0 ¤ª¤­¤·¤È¤·¤ó ¥ª¥­¥·¥È¥·¥ó #T35 1 ¤ª¤­¤º¤­ ¤ªÃÛ¤­ #OKX 11 ¤ª¤­¤» ¤ªÃ夻 #OKX 0 ¤ª¤­¤½¤¤ ¤ª¶¥¤¤ #OKX 2 ¤ª¤­¤¿ ²­ÅÄ #JNS 0 ¤ª¤­¤¿¤¨ ¤ªÃä¨ #OKX 6 ¤ª¤­¤¿¤Þ ÃÖ»ò #JCN 0 ¤ª¤­¤Å¤­ ¤ªµ¤¤Å¤­ #OKX 29 ¤ª¤­¤Å¤­ ¤ªµ¤ÉÕ¤­ #OKX 29 ¤ª¤­¤Æ ÙÝ #T35 0 ¤ª¤­¤Ê ²§ #T35 1 ¤ª¤­¤Ê¤ï ²­Æì #CN 0 ¤ª¤­¤Ê¤ï¤±¤ó ²­Æì¸© #CNS 0 ¤ª¤­¤Ë¤¤¤ê ¤ªµ¤¤ËÆþ¤ê #T15 0 ¤ª¤­¤Ð ÃÖ¾ì #T35 0 ¤ª¤­¤Þ¤ê ¤ª·è¤ê #OKX 1 ¤ª¤­¤Þ¤ê ¤ª·è¤Þ¤ê #OKX 100 ¤ª¤­¤Þ¤ê ¤ª¤­¤Þ¤ê #OKX 3 ¤ª¤­¤ß ²­Èþ #JCN 0 ¤ª¤­¤á ¤ª·è¤á #OKX 131 ¤ª¤­¤â¤Á ¤ªµ¤»ý #T35 1 ¤ª¤­¤â¤Î ÃÖʪ #T35 0 ¤ª¤­¤ã¤¯ ¤ªµÒ #T35 5 ¤ª¤­¤ã¤¯¤µ¤Þ ¤ªµÒÍÍ #T35 4 ¤ª¤­¤è¤á ¤ªÀ¶¤á #OKX 1 ¤ª¤­¤é¤¤ ¤ª·ù¤¤ #OKX 3 ¤ª¤­¤ê ¤ª»Â¤ê #OKX 0 ¤ª¤­¤ê ¤ªÈ²¤ê #OKX 1 ¤ª¤­¤ê ¤ªÀÚ¤ê #OKX 152 ¤ª¤­¤ê ¤ª¤­¤ê #OKX 6 ¤ª¤­¤ê¤«¤¨ ¤ªÀÚ¤êÂØ¤¨ #OKX 19 ¤ª¤­¤ê¤«¤¨ ¤ªÀÚÂØ¤¨ #OKX 69 ¤ª¤­¤ï¤¹¤ì ÃÖ¤­Ëº¤ì #KSr 1 ¤ª¤­¤ï¤á ¤ª¶Ë¤á #OKX 1 ¤ª¤­¤ï¤á ¤ªµæ¤á #OKX 2 ¤ª¤® ¾®¾ë #JCN 0 ¤ª¤® ¾®ÌÚ #JCN 0 ¤ª¤® ²® #JN 0 ¤ª¤® ²® #T35 4 ¤ª¤®¤¯¤Ü ²®·¦ #CN 0 ¤ª¤®¤¿ ²®ÅÄ #JNS 0 ¤ª¤®¤Ê Êä #W5 6 ¤ª¤®¤Î ²®Ìî #JNS 0 ¤ª¤®¤Î¤á ²®ÌîÌÜ #JNS 0 ¤ª¤®¤Ï¤é ²®¸¶ #JNS 0 ¤ª¤®¤ï¤é ²®¸¶ #JNS 0 ¤ª¤¯ ͸µ× #JCN 0 ¤ª¤¯ ²° #KJ 0 ¤ª¤¯ ²± #KJ 0 ¤ª¤¯ ²¯ #NN 13 ¤ª¤¯ £ #R5 4 ¤ª¤¯ Á÷ #R5r 255 ¤ª¤¯ ²² #S5 1 ¤ª¤¯ ²² #T30 1 ¤ª¤¯ ±ü #T35 74 ¤ª¤¯¤¤ ±ü°æ #JNS 0 ¤ª¤¯¤¤ ±üµï #JNS 0 ¤ª¤¯¤¤ ¤ª²ù¤¤ #OKX 0 ¤ª¤¯¤¤¤È¤á ¤ª¿©¤¤»ß¤á #OKX 1 ¤ª¤¯¤¬¤¤ ²°³° #T35 1 ¤ª¤¯¤® ±üµÁ #T35 1 ¤ª¤¯¤°¤ê ¤ªÀø¤ê #OKX 3 ¤ª¤¯¤µ¤Þ ±üÍÍ #T35 5 ¤ª¤¯¤µ¤ï ±üÂô #JCN 0 ¤ª¤¯¤·¤¬ ±ü»Ö²ì #CN 0 ¤ª¤¯¤·¤ê ±ü¿¬ #JCN 0 ¤ª¤¯¤¸¤ç¤¦ ²°¾å #T35 1 ¤ª¤¯¤º¤· ¤ªÊø¤· #OKX 4 ¤ª¤¯¤½¤¯ ²±Â¬ #T30 3 ¤ª¤¯¤½¤³ ±üÄì #T35 0 ¤ª¤¯¤¿¤Þ ±ü¿Ëà #CN 0 ¤ª¤¯¤À ±üÅÄ #JNS 0 ¤ª¤¯¤À¤­ ¤ªºÕ¤­ #OKX 0 ¤ª¤¯¤À¤· ¤ª²¼¤· #OKX 6 ¤ª¤¯¤À¤ê ¤ª¹ß¤ê #OKX 0 ¤ª¤¯¤À¤ê ¤ª²¼¤ê #OKX 6 ¤ª¤¯¤Á ±üÃÏ #T35 0 ¤ª¤¯¤Ä ±üÄÅ #JCN 0 ¤ª¤¯¤Ä¤¬¤¨¤· ¤ªÊ¤¤· #OKX 2 ¤ª¤¯¤Ä¤í¤® ¤ª´²¤® #OKX 1 ¤ª¤¯¤Æ¤Ã¤È ¥ª¥¯¥Æ¥Ã¥È #T35 6 ¤ª¤¯¤Ê¤¤ ²°Æâ #T35 1 ¤ª¤¯¤Ë¤¬¤é ¤ª¹ñÊÁ #T35 0 ¤ª¤¯¤Î ±üǵ #JN 0 ¤ª¤¯¤Î ±üÌî #JNS 0 ¤ª¤¯¤Ð ±ü»õ #T35 1 ¤ª¤¯¤Ð¤ê ¤ªÇÛ¤ê #OKX 25 ¤ª¤¯¤Ó ¤ª¤¯¤Ó #T35 0 ¤ª¤¯¤Ó¤ç¤¦ ²²É #T05 1 ¤ª¤¯¤ß ¤ª¼à¤ß #OKX 0 ¤ª¤¯¤ß ¤ªµâ¤ß #OKX 5 ¤ª¤¯¤ß ¤ªÁÈ¤ß #OKX 7 ¤ª¤¯¤ß¤¿¤Æ ¤ªÁȤßΩ¤Æ #OKX 8 ¤ª¤¯¤ß¤È¤ê ¤ª¤¯¤ß¼è¤ê #OKX 0 ¤ª¤¯¤ß¤È¤ê ¤ªµâ¤ß¼è¤ê #OKX 1 ¤ª¤¯¤à¤é ±ü¼ #JNS 0 ¤ª¤¯¤á¤ó ²²ÌÌ #T35 0 ¤ª¤¯¤â¤é¤· ¤ªÆÞ¤é¤· #OKX 0 ¤ª¤¯¤â¤ê ¤ªÆÞ¤ê #OKX 9 ¤ª¤¯¤ä¤Þ ±ü»³ #JCN 0 ¤ª¤¯¤ä¤Þ ±ü»³ #T35 1 ¤ª¤¯¤ä¤ß ¤ª²ù¤ä¤ß #T30 2 ¤ª¤¯¤æ¤«¤· ±ü¤æ¤«¤· #KY 0 ¤ª¤¯¤æ¤«¤·¤å¤¦ ±ü¤æ¤«¤·¤å¤¦ #KYU 0 ¤ª¤¯¤æ¤­ ±ü¹Ô¤­ #T35 3 ¤ª¤¯¤é¤· ¤ªÊë¤é¤· #OKX 12 ¤ª¤¯¤é¤Ù ¤ª³Ó¤Ù #OKX 17 ¤ª¤¯¤é¤Ù ¤ªÈæ¤Ù #OKX 55 ¤ª¤¯¤ê¤¢¤² ¤ª·«¤ê¾å¤² #OKX 0 ¤ª¤¯¤ê¤¤¤ì ¤ª·«¤êÆþ¤ì #OKX 0 ¤ª¤¯¤ê¤«¤¨¤· ¤ª·«¤êÊÖ¤· #OKX 80 ¤ª¤¯¤ê¤³ Á÷¤ê¹þ #M5r 8 ¤ª¤¯¤ê¤µ¤­ Á÷¤êÀè #T35 7 ¤ª¤¯¤ê¤¸¤ç¤¦ Á÷¤ê¾õ #T35 1 ¤ª¤¯¤ê¤À Á÷¤ê½Ð #S5r 11 ¤ª¤¯¤ê¤È¤É¤± Á÷¤êÆÏ¤± #KSr 2 ¤ª¤¯¤ê¤Ì¤· Á÷¤ê¼ç #T35 0 ¤ª¤¯¤ê¤à¤«¤¨ Á÷¤ê·Þ¤¨ #T30 0 ¤ª¤¯¤ê¤â¤Î £ʪ #T30 2 ¤ª¤¯¤ë¤¤ ¤ª¶¸¤¤ #OKX 6 ¤ª¤¯¤ë¤·¤ß ¤ª¶ì¤·¤ß #OKX 11 ¤ª¤¯¤ë¤·¤á ¤ª¶ì¤·¤á #OKX 1 ¤ª¤¯¤ë¤Þ¤ê ¤ª¤¯¤ë¤Þ¤ê #OKX 2 ¤ª¤¯¤ì ¸å¤ì #KSr 0 ¤ª¤¯¤ì ÃÙ¤ì #KSr 121 ¤ª¤¯¤ì¤Ð¤»¤Ê¤¬¤é ÃÙ¤ì¤Ð¤»¤Ê¤¬¤é #F14 5 ¤ª¤¯¤ì¤Ð¤»¤Ê¤¬¤é ÃÙ¤ì¤Ð¤»¤Ê¤¬¤é #T36 0 ¤ª¤¯¤ï¤¨ ¤ª²Ã¤¨ #OKX 122 ¤ª¤¯¤ï¤À¤Æ ¤ª´ë¤Æ #OKX 0 ¤ª¤¯¤ï¤ï¤ê ¤ª²Ã¤ï¤ê #OKX 14 ¤ª¤°¤Á ¾®¸ý #JNS 0 ¤ª¤°¤Ë ¾®¹ñ #JCN 0 ¤ª¤°¤é ¾®ÁÒ #JNS 0 ¤ª¤°¤é ¾®Ìº #JNS 0 ¤ª¤°¤é ¾®ÁÒ #T35 2 ¤ª¤°¤ê ¾®·ª #JCN 0 ¤ª¤°¤ë¤·¤ß ¤ª¶ì¤·¤ß #OKX 1 ¤ª¤°¤í ¾®¹õ #JNS 0 ¤ª¤± ¥ª¥± #T35 0 ¤ª¤± ²³ #T35 29 ¤ª¤±¤¤¤³ ¤ª·Î¸Å #T30 0 ¤ª¤±¤¤¤³ ¤ª¤±¤¤¤³ #T30 1 ¤ª¤±¤¬¤· ¤ª±ø¤· #OKX 1 ¤ª¤±¤¬¤ì ¤ª±ø¤ì #OKX 0 ¤ª¤±¤¬¤ï ²³Àî #JCN 0 ¤ª¤±¤· ¤ª¾Ã¤· #OKX 112 ¤ª¤±¤º¤ê ¤ªºï¤ê #OKX 9 ¤ª¤±¤È ÃÖ¸Í #JCN 0 ¤ª¤±¤Ê¤· ¤ª¤±¤Ê¤· #OKX 1 ¤ª¤±¤ê ¤ª½³¤ê #OKX 6 ¤ª¤³ ÅÜ #R5 137 ¤ª¤³ ¶½ #R5 2 ¤ª¤³ µ¯¤³ #R5 227 ¤ª¤³ ¶½ #S5 2 ¤ª¤³ µ¯¤³ #S5r 185 ¤ª¤³¤¨ ¤ªÈ #OKX 1 ¤ª¤³¤¨ ¤ªÄ¶¤¨ #OKX 10 ¤ª¤³¤¨ ¤ª±Û¤¨ #OKX 99 ¤ª¤³¤¬¤· ¤ª¾Ç¤¬¤· #OKX 1 ¤ª¤³¤¬¤Þ¤· ¤ª¤³¤¬¤Þ¤· #KY 3 ¤ª¤³¤¬¤Þ¤·¤å¤¦ ¤ª¤³¤¬¤Þ¤·¤å¤¦ #KYU 1 ¤ª¤³¤® ¤ªÁ椮 #OKX 1 ¤ª¤³¤± ¤ª¤³¤± #OKX 13 ¤ª¤³¤² ¤ª¾Ç¤² #OKX 1 ¤ª¤³¤³¤í¤¨ ¤ª¿´ÆÀ #OKX 1 ¤ª¤³¤³¤í¤¬¤± ¤ª¿´¤¬¤± #OKX 4 ¤ª¤³¤³¤í¤¶¤· ¤ª»Ö¤· #OKX 1 ¤ª¤³¤³¤í¤ß ¤ª»î¤ß #OKX 34 ¤ª¤³¤µ¤Þ ¤ª»ÒÍÍ #T35 2 ¤ª¤³¤µ¤ó ¤ª»Ò¤µ¤ó #T35 1 ¤ª¤³¤· ¤ª¹÷¤· #OKX 0 ¤ª¤³¤· ¤ªÄ¶¤· #OKX 1 ¤ª¤³¤· ¤ª±Û¤· #OKX 94 ¤ª¤³¤¿ ÂÕ #R5r 1 ¤ª¤³¤¿¤¨ ¤ª±þ¤¨ #OKX 2 ¤ª¤³¤¿¤¨ ¤ªÅú¤¨ #T30 23 ¤ª¤³¤Ã¤Ú ¶½Éô #JCN 0 ¤ª¤³¤È¤Å¤± ¤ª¸ÀÉÕ¤± #OKX 1 ¤ª¤³¤È¤ï¤ê ¤ªÃǤï¤ê #T30 0 ¤ª¤³¤È¤ï¤ê ¤ªÃǤê #T30 5 ¤ª¤³¤Ê ¹Ô¤Ê #W5r 216 ¤ª¤³¤Ê ¹Ô #W5r 255 ¤ª¤³¤Ê¤· ¤ª¤³¤Ê¤· #OKX 5 ¤ª¤³¤Î¤® ¾®º¡ÌÚ #JNS 0 ¤ª¤³¤Î¤ß ¤ª¹¥¤ß #OKX 23 ¤ª¤³¤Ð¤ß ¤ªµñ¤ß #OKX 2 ¤ª¤³¤Ü¤· ¤ª¤³¤Ü¤· #OKX 6 ¤ª¤³¤Ü¤ì ¤ª¤³¤Ü¤ì #OKX 3 ¤ª¤³¤Þ¤ê ¤ªº¤¤ê #OKX 123 ¤ª¤³¤Þ¤ê¤Ï¤Æ ¤ªº¤¤ê²Ì¤Æ #OKX 0 ¤ª¤³¤á ¤ª¹þ¤á #OKX 0 ¤ª¤³¤é¤¨ ¤ª´®¤¨ #OKX 1 ¤ª¤³¤é¤·¤á ¤ªÄ¨¤é¤·¤á #OKX 0 ¤ª¤³¤ê ¤ªÄ¨¤ê #OKX 4 ¤ª¤³¤í¤¬¤· ¤ªÅ¾¤¬¤· #OKX 1 ¤ª¤³¤í¤· ¤ª»¦¤· #OKX 24 ¤ª¤³¤í¤Ó ¤ªÅ¾¤Ó #OKX 4 ¤ª¤³¤ï¤· ¤ª²õ¤· #OKX 9 ¤ª¤´ ¤ª¤´ #R5r 2 ¤ª¤´¤ª¤ê ¾®·´ #JCN 0 ¤ª¤´¤» ±ÛÀ¸ #JCN 0 ¤ª¤´¤½¤« ¸·¤« #T05 0 ¤ª¤µ Ĺ #KJ 0 ¤ª¤µ¤¨ ÍÞ¤¨ #KS 8 ¤ª¤µ¤¨ ²¡¤¨ #KSr 16 ¤ª¤µ¤¨ ²¡¤µ¤¨ #KSr 4 ¤ª¤µ¤¨ ¤ªºã¤¨ #OKX 11 ¤ª¤µ¤¨¤®¤ê ¤ª¼×¤ê #OKX 0 ¤ª¤µ¤¨¤³ ÍÞ¤¨¹þ #M5r 0 ¤ª¤µ¤¨¤³ ²¡¤¨¹þ #M5r 1 ¤ª¤µ¤« ¾®ºä #JCN 0 ¤ª¤µ¤«¤¨ ¤ª±É¤¨ #OKX 1 ¤ª¤µ¤«¤· ¤ªºé¤«¤· #OKX 29 ¤ª¤µ¤«¤é¤¤ ¤ªµÕ¤é¤¤ #OKX 2 ¤ª¤µ¤¬¤· ¤ªÁܤ· #OKX 6 ¤ª¤µ¤¬¤· ¤ªÃµ¤· #OKX 91 ¤ª¤µ¤¬¤ê ¤ª²¼¤¬¤ê #OKX 9 ¤ª¤µ¤­ ¤ªÎö¤­ #OKX 1 ¤ª¤µ¤­ ¤ª³ä¤­ #OKX 16 ¤ª¤µ¤­¤Ë ¤ªÀè¤Ë #F14 9 ¤ª¤µ¤°¤ê ¤ªÃµ¤ê #OKX 3 ¤ª¤µ¤± ¤ªÈò¤± #OKX 116 ¤ª¤µ¤±¤Ó ¤ª¶«¤Ó #OKX 7 ¤ª¤µ¤² ¤ªÄó¤² #OKX 1 ¤ª¤µ¤² ¤ª²¼¤² #OKX 13 ¤ª¤µ¤² ¤ª¤µ¤² #T35 1 ¤ª¤µ¤µ¤¨ ¤ª»Ù¤¨ #OKX 4 ¤ª¤µ¤µ¤² ¤ªÊû¤² #OKX 1 ¤ª¤µ¤µ¤ä¤­ ¤ªÓñ¤­ #OKX 1 ¤ª¤µ¤µ¤ä¤­ ¤ªÓñ¤ä¤­ #OKX 1 ¤ª¤µ¤µ¤ä¤­ ¤ª¤µ¤µ¤ä¤­ #OKX 2 ¤ª¤µ¤· ¤ª»Ø¤· #OKX 103 ¤ª¤µ¤· ¤ª»É¤· #OKX 2 ¤ª¤µ¤· ¤ªÁÞ¤· #OKX 2 ¤ª¤µ¤· ¤ª¤µ¤· #OKX 4 ¤ª¤µ¤· ¤ªº¹¤· #OKX 6 ¤ª¤µ¤·¤³¤ß ¤ªº¹¤·¹þ¤ß #OKX 1 ¤ª¤µ¤·¤·¤á¤· ¤ª»Ø¤·¼¨¤· #OKX 1 ¤ª¤µ¤·¤À¤· ¤ªº¹¤·½Ð¤· #OKX 0 ¤ª¤µ¤·¤Ä¤«¤¨ ¤ªº¹¤·»Ù¤¨ #OKX 3 ¤ª¤µ¤¹¤ê ¤ª¤µ¤¹¤ê #OKX 1 ¤ª¤µ¤º¤«¤ê ¤ª¼ø¤«¤ê #OKX 1 ¤ª¤µ¤º¤± ¤ª¼ø¤± #OKX 0 ¤ª¤µ¤½¤¤ ¤ªÍ¶¤¤ #T30 18 ¤ª¤µ¤½¤¤¤¢¤ï¤» ¤ªÍ¶¤¤¹ç¤ï¤» #OKX 0 ¤ª¤µ¤À ĹÅÄ #JNS 0 ¤ª¤µ¤À¤Þ¤ê ¤ªÄê¤Þ¤ê #OKX 6 ¤ª¤µ¤À¤á ¤ªÄê¤á #OKX 37 ¤ª¤µ¤Ã¤· ¤ª»¡¤· #OKX 6 ¤ª¤µ¤È¤· ¤ªÍ¡¤· #OKX 1 ¤ª¤µ¤È¤ê ¤ª¸ç¤ê #OKX 19 ¤ª¤µ¤Ê ÍÄ #KY 2 ¤ª¤µ¤Ê¤´ ÍÄ»Ò #T35 0 ¤ª¤µ¤Î¤¦ ÍĤ¦ #KYU 1 ¤ª¤µ¤Ð¤­ ¤ª»«¤­ #OKX 0 ¤ª¤µ¤Ð¤­ ¤ªºÛ¤­ #OKX 1 ¤ª¤µ¤Õ¤Í ĹÁ¥ #JCN 0 ¤ª¤µ¤Þ ¼£¤Þ #R5r 0 ¤ª¤µ¤Þ ½¤¤Þ #R5r 0 ¤ª¤µ¤Þ Ǽ¤Þ #R5r 2 ¤ª¤µ¤Þ ¼ý¤Þ #R5r 7 ¤ª¤µ¤Þ¤· ¤ª³Ð¤Þ¤· #OKX 3 ¤ª¤µ¤Þ¤¿¤² ¤ªË¸¤² #OKX 4 ¤ª¤µ¤à ¼£ #JNM 0 ¤ª¤µ¤à ¼£Ãî #JNM 0 ¤ª¤µ¤à ½¤ #JNM 0 ¤ª¤µ¤à¤¦ ¤ª´¨¤¦ #KYU 2 ¤ª¤µ¤á ½¤¤á #KS 0 ¤ª¤µ¤á ¼£¤á #KS 5 ¤ª¤µ¤á ¼ý¤á #KS 6 ¤ª¤µ¤á Ǽ¤á #KS 9 ¤ª¤µ¤á ¤ª³Ð¤á #OKX 2 ¤ª¤µ¤á ¤ªÀäá #OKX 5 ¤ª¤µ¤é¤¤ ¤ª²ý¤¤ #OKX 1 ¤ª¤µ¤é¤· ¤ªÇø¤· #OKX 0 ¤ª¤µ¤ê ¤ªµî¤ê #OKX 104 ¤ª¤µ¤ï¤¬¤» ¤ªÁû¤¬¤» #OKX 0 ¤ª¤µ¤ï¤® ¤ªÁû¤® #OKX 25 ¤ª¤µ¤ï¤ê ¤ª¿¨¤ê #OKX 20 ¤ª¤¶¤­ Èøºê #JCN 0 ¤ª¤¶¤¯ ¾®ºî #JCN 0 ¤ª¤¶¤ï ¾®Âô #JNS 0 ¤ª¤¶¤ï ¾®ß· #JNS 0 ¤ª¤· °¢ #KJ 0 ¤ª¤· ±õ #KJ 0 ¤ª¤· Àˤ· #KYmi 4 ¤ª¤· Àˤ· #M5 3 ¤ª¤· ²¡¤· #T35 0 ¤ª¤·¤¢¤² ²¡¤·¾å¤² #KS 1 ¤ª¤·¤¢¤² ¤ª»Å¾å¤² #OKX 4 ¤ª¤·¤¢¤ï¤» ¤ª¹¬¤» #T03 0 ¤ª¤·¤¤ ²¡°æ #JNS 0 ¤ª¤·¤¤ ²¡¤·Æþ #R5r 0 ¤ª¤·¤¤¤ì ¤ª»ÅÆþ¤ì #OKX 7 ¤ª¤·¤¤¤ì ²¡Æþ #T35 1 ¤ª¤·¤¦¤ê ²¡Çä #T30 0 ¤ª¤·¤¨ ¶µ¤¨ #KSr 255 ¤ª¤·¤¨¤´ ¶µ¤¨»Ò #T35 0 ¤ª¤·¤« ²´¼¯ #JCN 0 ¤ª¤·¤«¤¨ ²¡¤·ÊÖ #S5 0 ¤ª¤·¤«¤± ²¡¤·¤«¤± #KS 1 ¤ª¤·¤«¤± ¤ª»Å³Ý¤± #OKX 13 ¤ª¤·¤«¤ê ¤ª¤·¤«¤ê #OKX 1 ¤ª¤·¤«¤ê ¤ª¼¸¤ê #OKX 19 ¤ª¤·¤«¤ê¤Ä¤± ¤ª¼¸¤ê¤Ä¤± #OKX 0 ¤ª¤·¤¬ Àˤ·¤¬ #R5 0 ¤ª¤·¤­ ¤ª¤·¤­ #OKX 37 ¤ª¤·¤­ ¤ªÉߤ­ #OKX 7 ¤ª¤·¤­ ²¡¤·ÀÚ #R5r 1 ¤ª¤·¤­¤ê ¤ª»ÅÀÚ¤ê #OKX 6 ¤ª¤·¤¯¤â Àˤ·¤¯¤â #F14 0 ¤ª¤·¤³ ²¡¤·¹þ #M5r 5 ¤ª¤·¤³¤ß ¤ª»Å¹þ¤ß #OKX 2 ¤ª¤·¤³¤á ²¡¤·¹þ¤á #KS 0 ¤ª¤·¤´¤­ ¤ª¤·¤´¤­ #OKX 1 ¤ª¤·¤´¤È ¤ª»Å»ö #T35 18 ¤ª¤·¤º¤Þ¤ê ¤ªÀŤޤê #OKX 0 ¤ª¤·¤º¤Þ¤ê ¤ªÄäޤê #R5r 0 ¤ª¤·¤º¤ß ¤ªÄÀ¤ß #OKX 1 ¤ª¤·¤º¤á ¤ªÀŤá #OKX 0 ¤ª¤·¤º¤á ¤ªÄÀ¤á #OKX 0 ¤ª¤·¤º¤á ¤ªÄäá #OKX 1 ¤ª¤·¤¿¤¤ ¤ªÊ餤 #OKX 1 ¤ª¤·¤¿¤¬¤¤ ¤ª½¾¤¤ #OKX 154 ¤ª¤·¤¿¤¬¤¤ ¤ª¤·¤¿¤¬¤¤ #OKX 4 ¤ª¤·¤¿¤·¤ß ¤ª¿Æ¤·¤ß #OKX 5 ¤ª¤·¤¿¤¿¤á ¤ªÇ§¤á #OKX 1 ¤ª¤·¤¿¤Æ ¤ª»ÅΩ¤Æ #OKX 2 ¤ª¤·¤À ²¡¤·½Ð #S5r 2 ¤ª¤·¤Ä¤± ¤ª¤·¤Ä¤± #KSr 0 ¤ª¤·¤Ä¤± ²¡¤·ÉÕ¤± #KSr 1 ¤ª¤·¤Ä¤± ²¡¤·¤Ä¤± #KSr 4 ¤ª¤·¤Ä¤Þ ²¡¤·µÍ¤Þ #R5 1 ¤ª¤·¤È¤ª ²¡¤·ÄÌ #S5 0 ¤ª¤·¤É¤ê ±õòó #T35 1 ¤ª¤·¤Ë ¤ª»à¤Ë #OKX 95 ¤ª¤·¤Î ǦÌî #JCN 0 ¤ª¤·¤Î¤® ¤ªÎ¿¤® #OKX 1 ¤ª¤·¤Î¤® ¤ª¤·¤Î¤® #OKX 5 ¤ª¤·¤Î¤± ²¡¤·Âऱ #KS 0 ¤ª¤·¤Î¤Ó ¤ª¼Å¤Ó #OKX 1 ¤ª¤·¤Î¤Ó ¤ªÇ¦¤Ó #OKX 4 ¤ª¤·¤Ï¤« ¿ä¤·Â¬ #R5 0 ¤ª¤·¤Ï¤« ¿ä¤·ÎÌ #R5 0 ¤ª¤·¤Ï¤é¤¤ ¤ª»Ùʧ¤¤ #OKX 3 ¤ª¤·¤Ð¤ê ¤ªÇû¤ê #OKX 4 ¤ª¤·¤Ó¤ì ¤ªáã¤ì #OKX 2 ¤ª¤·¤Ö¤ê ¤ª½Â¤ê #OKX 19 ¤ª¤·¤Ü¤ê ¤ªºñ¤ê #OKX 0 ¤ª¤·¤Ü¤ê ¤ª¤·¤Ü¤ê #OKX 5 ¤ª¤·¤Ü¤ê ¤ª¹Ê¤ê #OKX 5 ¤ª¤·¤Þ ÅÏÅç #JCN 0 ¤ª¤·¤Þ¤¤ ¤ª»ÅÉñ¤¤ #OKX 1 ¤ª¤·¤Þ¤¤ ¤ª¤·¤Þ¤¤ #OKX 255 ¤ª¤·¤ß¤º ²¡¿å #JCN 0 ¤ª¤·¤ß¤Ê Àˤ·¤ß¤Ê #KY 0 ¤ª¤·¤ß¤Î¤¦ Àˤ·¤ß¤Î¤¦ #KYU 0 ¤ª¤·¤à¤± ¤ª»Å¸þ¤± #OKX 0 ¤ª¤·¤à¤é¤¯¤Ï Àˤ·¤à¤é¤¯¤Ï #CJ 1 ¤ª¤·¤á ¤ª¹Ê¤á #OKX 0 ¤ª¤·¤á ¤ªÄù¤á #OKX 3 ¤ª¤·¤á ¤ªÊĤá #OKX 7 ¤ª¤·¤á ¤ªÀê¤á #OKX 72 ¤ª¤·¤á¤· ¤ª¼¨¤· #OKX 255 ¤ª¤·¤ã¤Ù¤ê ¤ª¤·¤ã¤Ù¤ê #T30 3 ¤ª¤·¤ã¤Þ¤ó¤Ù ĹËüÉô #CN 0 ¤ª¤·¤ã¤ì ¤ª¤·¤ã¤ì #T00 6 ¤ª¤·¤ã¤ì ¤ªÞ¯Íî #T05 6 ¤ª¤·¤å¤¦ Àˤ·¤å¤¦ #KYU 1 ¤ª¤·¤ç¤¦ Ͼ° #T35 0 ¤ª¤·¤ç¤¯¤¸ ¤ª¿©»ö #T30 2 ¤ª¤·¤è¤» ²¡¤·´ó¤» #KS 5 ¤ª¤·¤é¤» ¤ª¤·¤é¤» #T30 0 ¤ª¤·¤é¤» ¤ªÃΤ餻 #T30 121 ¤ª¤·¤é¤Ù ¤ªÄ´¤Ù #OKX 245 ¤ª¤·¤ê ¤ªÃΤê #OKX 255 ¤ª¤·¤ê ¤ª¤·¤ê #OKX 70 ¤ª¤·¤ê¤¢¤¤ ¤ªÃΤê¹ç¤¤ #OKX 1 ¤ª¤·¤ê¤¾¤­ ¤ªÂभ #OKX 1 ¤ª¤·¤ê¤¾¤± ¤ªÂऱ #OKX 1 ¤ª¤·¤ë¤· ¤ªµ­¤· #OKX 10 ¤ª¤·¤í¤¤ ÇòÊ´ #T35 0 ¤ª¤·¤í¤¹¤³¡¼¤× ¥ª¥·¥í¥¹¥³¡¼¥× #T35 1 ¤ª¤¸ ¾®Éã #T35 0 ¤ª¤¸ ÇìÉã #T35 0 ¤ª¤¸ ½ÇÉã #T35 32 ¤ª¤¸¤¤¤µ¤ó ¤ªÌ줵¤ó #T35 0 ¤ª¤¸¤¤¤µ¤ó ¤ª¤¸¤¤¤µ¤ó #T35 1 ¤ª¤¸¤« ¾®ÃͲì #JCN 0 ¤ª¤¸¤« ²´¼¯ #JNS 0 ¤ª¤¸¤® ¤ª¤¸¤® #T30 1 ¤ª¤¸¤Þ ÈøÅç #JNS 0 ¤ª¤¸¤ç¤¦¤µ¤Þ ¤ª¾îÍÍ #T35 1 ¤ª¤¸¤ç¤¦¤µ¤ó ¤ª¾î¤µ¤ó #T35 3 ¤ª¤¸¤ç¤¯ ±ø¿« #T35 0 ¤ª¤¹ ²´ #T35 0 ¤ª¤¹ ͺ #T35 1 ¤ª¤¹ ¡é #T35 2 ¤ª¤¹¤¤ ¤ªµÛ¤¤ #OKX 40 ¤ª¤¹¤¤ ±ø¿å #T35 0 ¤ª¤¹¤¨ ¤ª¿ø¤¨ #OKX 1 ¤ª¤¹¤«¤· ¤ªÆ©¤«¤· #OKX 1 ¤ª¤¹¤­ ¤ª¶õ¤­ #OKX 4 ¤ª¤¹¤­ ¤ª¤¹¤­ #OKX 67 ¤ª¤¹¤­ ¤ª¹¥¤­ #OKX 7 ¤ª¤¹¤® ¤ª²á¤® #OKX 133 ¤ª¤¹¤® ¤ª¤¹¤® #OKX 8 ¤ª¤¹¤¯¤¤ ¤ªµß¤¤ #OKX 4 ¤ª¤¹¤°¤ì ¤ª¤¹¤°¤ì #OKX 1 ¤ª¤¹¤°¤ì ¤ªÍ¥¤ì #OKX 17 ¤ª¤¹¤´¤· ¤ª²á¤´¤· #OKX 19 ¤ª¤¹¤´¤· ¤ª²á¤´¤· #T35 5 ¤ª¤¹¤¹¤® ¤ªÂõ¤® #OKX 1 ¤ª¤¹¤¹¤ß ¤ª¿Ê¤ß #OKX 147 ¤ª¤¹¤¹¤á ¤ª´«¤á #OKX 10 ¤ª¤¹¤¹¤á ¤ª¿Ê¤á #OKX 10 ¤ª¤¹¤¹¤á ¤ª¿ä¤á #OKX 3 ¤ª¤¹¤¹¤á ¤ªÁ¦¤á #OKX 3 ¤ª¤¹¤¹¤á ¤ª¤¹¤¹¤á #OKX 5 ¤ª¤¹¤¹¤á ¤ª¾©¤á #OKX 5 ¤ª¤¹¤º¤ß ¤ªÎÃ¤ß #OKX 1 ¤ª¤¹¤Æ ¤ª¼Î¤Æ #OKX 55 ¤ª¤¹¤Æ¤µ¤ê ¤ª¼Î¤Æµî¤ê #OKX 0 ¤ª¤¹¤Ð¤ó ¥ª¥¹¥Ð¥ó #T35 1 ¤ª¤¹¤Ù¤ê ¤ª³ê¤Ù¤ê #OKX 18 ¤ª¤¹¤Þ¤¤ ¤ª½»¤¤ #T35 0 ¤ª¤¹¤Þ¤· ¤ªÀ¡¤Þ¤· #OKX 0 ¤ª¤¹¤Þ¤· ¤ªºÑ¤Þ¤· #OKX 1 ¤ª¤¹¤ß ¤ªÀ³¤ß #OKX 0 ¤ª¤¹¤ß ¤ªºÑ¤ß #OKX 255 ¤ª¤¹¤ß ¤ª¤¹¤ß #OKX 45 ¤ª¤¹¤ß ¤ª½»¤ß #OKX 57 ¤ª¤¹¤ê ¤ªÀ¢¤ê #OKX 4 ¤ª¤¹¤ê ¤ªºþ¤ê #OKX 72 ¤ª¤¹¤ê ¤ª»¤¤ê #OKX 77 ¤ª¤¹¤ï¤ê ¤ª¿ø¤ï¤ê #OKX 0 ¤ª¤¹¤ï¤ê ¤ªºÂ¤ê #OKX 15 ¤ª¤»¤¢¤Ë¤¢ ¥ª¥»¥¢¥Ë¥¢ #CN 0 ¤ª¤»¤¤¤Ü ¸æºÐÊë #T35 0 ¤ª¤»¤Á ¤ª¤»¤Á #T35 0 ¤ª¤»¤Ã¤«¤¤ ¤ªÀá²ð #T05 3 ¤ª¤»¤Ã¤· ¤ªÀܤ· #OKX 2 ¤ª¤»¤Ð¤á ¤ª¶¹¤á #OKX 0 ¤ª¤»¤Þ¤ê ¤ªÇ÷¤ê #OKX 9 ¤ª¤»¤á ¤ªÀÕ¤á #OKX 4 ¤ª¤»¤á ¤ª¹¶¤á #OKX 9 ¤ª¤»¤ï ¤ªÀ¤Ïà #T30 255 ¤ª¤»¤ó ±øÀ÷ #T30 3 ¤ª¤»¤ó¤¸ ¤ªÀù¤¸ #OKX 1 ¤ª¤¼ ÈøÀ¥ #JCN 0 ¤ª¤½ ÃÙ #KYme 201 ¤ª¤½ ½± #W5 2 ¤ª¤½¤¦ ÃÙ¤¦ #KYU 3 ¤ª¤½¤¨ ¤ª¤½¤¨ #OKX 11 ¤ª¤½¤¨ ¤ªÅº¤¨ #OKX 3 ¤ª¤½¤¯¤È¤â ÃÙ¤¯¤È¤â #F14 11 ¤ª¤½¤³¤Ê¤¤ ¤ªÂ»¤Ê¤¤ #OKX 3 ¤ª¤½¤³¤Í ¤ªÂ»¤Í #OKX 6 ¤ª¤½¤¶¤­ Ãٺ餭 #T35 0 ¤ª¤½¤· ÃÙ¤· #T35 0 ¤ª¤½¤½¤® ¤ª¤½¤½¤® #OKX 1 ¤ª¤½¤½¤® ¤ªÃí¤® #OKX 3 ¤ª¤½¤À¤Á ¤ª°é¤Á #OKX 3 ¤ª¤½¤À¤Æ ¤ª°é¤Æ #OKX 11 ¤ª¤½¤Ê¤¨ ¤ª¶¡¤¨ #OKX 1 ¤ª¤½¤Ê¤¨ ¤ªÈ÷¤¨ #OKX 10 ¤ª¤½¤Ê¤ï¤ê ¤ªÈ÷¤ï¤ê #OKX 2 ¤ª¤½¤Þ¤ê ¤ªÀ÷¤Þ¤ê #OKX 1 ¤ª¤½¤à¤­ ¤ªÇؤ­ #OKX 1 ¤ª¤½¤á ¤ªÀ÷¤á #OKX 3 ¤ª¤½¤é¤¯ ¤ª¤½¤é¤¯ #F14 41 ¤ª¤½¤é¤¯ ¶²¤é¤¯ #F14 9 ¤ª¤½¤é¤¯¤Ï ¤ª¤½¤é¤¯¤Ï #F14 0 ¤ª¤½¤é¤¯¤Ï ¶²¤é¤¯¤Ï #F14 0 ¤ª¤½¤é¤· ¤ª°ï¤é¤· #OKX 0 ¤ª¤½¤é¤· ¤ª°ï¤· #OKX 1 ¤ª¤½¤é¤· ¤ªÈ¿¤é¤· #S5 0 ¤ª¤½¤ê ¤ªÈ¿¤ê #OKX 0 ¤ª¤½¤ê ¤ªÄæ¤ê #OKX 8 ¤ª¤½¤ì ¶²¤ì #KSr 18 ¤ª¤½¤ì ¤ª°ï¤ì #OKX 3 ¤ª¤½¤ì ¶ó #T35 1 ¤ª¤½¤ì¤¤ ¶²¤ìÆþ #R5 11 ¤ª¤½¤ì¤Ê¤¬¤é ¶²¤ì¤Ê¤¬¤é #CJ 0 ¤ª¤½¤í¤¤ ¤ªÂ·¤¤ #OKX 25 ¤ª¤½¤í¤¤¤Ç ¤ªÂ·¤¤¤Ç #F14 0 ¤ª¤½¤í¤¤¤Ç ¤ªÂ·¤¤¤Ç #T36 0 ¤ª¤½¤í¤¨ ¤ª¤½¤í¤¨ #OKX 1 ¤ª¤½¤í¤¨ ¤ªÂ·¤¨ #OKX 1 ¤ª¤½¤í¤· ¶²¤í¤· #KY 9 ¤ª¤½¤í¤·¤¬ ¶²¤í¤·¤¬ #R5 0 ¤ª¤½¤í¤·¤å¤¦ ¶²¤í¤·¤å¤¦ #KYU 1 ¤ª¤½¤ï ¶µ¤ï #R5 2 ¤ª¤½¤ó ±øÂ» #T30 0 ¤ª¤¾¤Þ¤· ¤ª¤¾¤Þ¤· #KY 0 ¤ª¤¾¤Þ¤· Æß¤Þ¤· #KY 0 ¤ª¤¾¤Þ¤· ×û¤Þ¤· #KY 0 ¤ª¤¾¤Þ¤·¤å¤¦ ¤ª¤¾¤Þ¤·¤å¤¦ #KYU 0 ¤ª¤¾¤Þ¤·¤å¤¦ Æß¤Þ¤·¤å¤¦ #KYU 0 ¤ª¤¾¤Þ¤·¤å¤¦ ×û¤Þ¤·¤å¤¦ #KYU 0 ¤ª¤¾¤ó ¥ª¥¾¥ó #T35 1 ¤ª¤¿ ¿¥ÅÄ #JNS 0 ¤ª¤¿¤¨ ¤ªÂѤ¨ #OKX 12 ¤ª¤¿¤¨ ¤ª´®¤¨ #OKX 3 ¤ª¤¿¤¨ ¤ªÀ䤨 #OKX 7 ¤ª¤¿¤ª¤· ¤ªÅݤ· #OKX 15 ¤ª¤¿¤ª¤ì ¤ªÅݤì #OKX 3 ¤ª¤¿¤«¤á ¤ª¹â¤á #OKX 7 ¤ª¤¿¤¬¤¤ ¤ª¤¿¤¬¤¤ #T35 0 ¤ª¤¿¤¬¤¤ ¤ª¸ß¤¤ #T35 20 ¤ª¤¿¤¬¤¤¤Ë ¤ª¸ß¤¤¤Ë #F14 3 ¤ª¤¿¤¬¤ä¤· ¤ª¹Ì¤· #OKX 0 ¤ª¤¿¤­ ¤ªÊ²¤­ #OKX 1 ¤ª¤¿¤­ ¤ª¿æ¤­ #OKX 4 ¤ª¤¿¤¯ ¤ªÂð #T35 0 ¤ª¤¿¤¯¤é¤ß ¤ª´ë¤ß #OKX 1 ¤ª¤¿¤¯¤ï¤¨ ¤ªÃù¤¨ #OKX 2 ¤ª¤¿¤¯¤ï¤¨ ¤ªÃߤ¨ #OKX 6 ¤ª¤¿¤°¤ê ¤ª¼ê·«¤ê #OKX 10 ¤ª¤¿¤± ¤ªÄ¹¤± #OKX 6 ¤ª¤¿¤±¤Ó ͺ¶«¤Ó #T35 0 ¤ª¤¿¤³¤¦ ¤ª¹â¤¦ #KYU 3 ¤ª¤¿¤· ¤ªÂ­¤· #OKX 39 ¤ª¤¿¤·¤«¤á ¤ª³Î¤«¤á #OKX 15 ¤ª¤¿¤¸¤Þ ¾®ÅÄÅç #JNS 0 ¤ª¤¿¤¸¤Þ ¾®ÅÄÅè #JNS 0 ¤ª¤¿¤¹¤± ¤ª½õ¤± #OKX 24 ¤ª¤¿¤¹¤±¤¢¤¤ ¤ª½õ¤±¹ç¤¤ #OKX 1 ¤ª¤¿¤¹¤±¤À¤· ¤ª½õ¤±½Ð¤· #OKX 0 ¤ª¤¿¤º¤µ¤¨ ¤ª·È¤¨ #OKX 0 ¤ª¤¿¤º¤µ¤ï¤ê ¤ª¤¿¤º¤µ¤ï¤ê #OKX 2 ¤ª¤¿¤º¤µ¤ï¤ê ¤ª·È¤ï¤ê #OKX 3 ¤ª¤¿¤º¤Í ¤ª¤¿¤º¤Í #OKX 1 ¤ª¤¿¤º¤Í ¤ªË¬¤Í #OKX 2 ¤ª¤¿¤º¤Í ¤ª¿Ò¤Í #OKX 20 ¤ª¤¿¤º¤Í ¤ª¿Ò¤Í #T30 4 ¤ª¤¿¤¿¤¨ ¤ª¾Î¤¨ #OKX 0 ¤ª¤¿¤¿¤¨ ¤ª»¾¤¨ #OKX 1 ¤ª¤¿¤¿¤«¤¤ ¤ªÆ®¤¤ #OKX 1 ¤ª¤¿¤¿¤«¤¤ ¤ªÀ襤 #OKX 4 ¤ª¤¿¤¿¤­ ¤ª¤¿¤¿¤­ #OKX 2 ¤ª¤¿¤¿¤­ ¤ªÃ¡¤­ #OKX 27 ¤ª¤¿¤¿¤ß ¤ª¾ö¤ß #OKX 2 ¤ª¤¿¤À¤· ¤ª¼Á¤· #OKX 0 ¤ª¤¿¤À¤· ¤ªÀµ¤· #OKX 2 ¤ª¤¿¤Á ¤ªµ¯¤Á #OKX 0 ¤ª¤¿¤Á ¤ªÃǤÁ #OKX 1 ¤ª¤¿¤Á ¤ªÎ©¤Á #OKX 145 ¤ª¤¿¤Á ¤ªÀä¤Á #OKX 3 ¤ª¤¿¤Á ¤ªÈ¯¤Á #OKX 5 ¤ª¤¿¤Á ¤ª¤¿¤Á #OKX 55 ¤ª¤¿¤Á ¤ªºÛ¤Á #T5 0 ¤ª¤¿¤Á¤¢¤¤ ¤ªÎ©¤Á²ñ¤¤ #OKX 3 ¤ª¤¿¤Á¤¢¤¬¤ê ¤ªÎ©¤Á¾å¤¬¤ê #OKX 37 ¤ª¤¿¤Á¤¤¤ê ¤ªÎ©¤ÁÆþ¤ê #OKX 2 ¤ª¤¿¤Á¤µ¤ê ¤ªÎ©¤Áµî¤ê #OKX 0 ¤ª¤¿¤Á¤É¤Þ¤ê ¤ªÎ©¤Á»ß¤Þ¤ê #OKX 1 ¤ª¤¿¤Á¤Ê¤ª¤ê ¤ªÎ©¤Áľ¤ê #OKX 3 ¤ª¤¿¤Á¤Î¤­ ¤ªÎ©¤ÁÂभ #OKX 0 ¤ª¤¿¤Ã¤· ¤ªÃ£¤· #T30 2 ¤ª¤¿¤Æ ¤ªÅÀ¤Æ #OKX 0 ¤ª¤¿¤Æ ¤ª¤¿¤Æ #OKX 1 ¤ª¤¿¤Æ ¤ª·ú¤Æ #OKX 21 ¤ª¤¿¤Æ ¤ªÎ©¤Æ #OKX 6 ¤ª¤¿¤È¤¨ ¤ª¤¿¤È¤¨ #OKX 1 ¤ª¤¿¤È¤¨ ¤ªÎ㤨 #OKX 8 ¤ª¤¿¤É¤ê ¤ª¤¿¤É¤ê #OKX 12 ¤ª¤¿¤É¤ê ¤ªÃ©¤ê #OKX 2 ¤ª¤¿¤Î¤·¤ß ¤ª³Ú¤·¤ß #OKX 116 ¤ª¤¿¤Î¤ß ¤ªÍê¤ß #OKX 67 ¤ª¤¿¤Ð¤Í ¤ªÂ«¤Í #OKX 0 ¤ª¤¿¤Ó¤À¤Á ¤ªÎ¹Î©¤Á #OKX 4 ¤ª¤¿¤Ù ¾®ÅÄÉô #JNS 0 ¤ª¤¿¤Ù ¤ª¿©¤Ù #OKX 119 ¤ª¤¿¤Þ¤¤ ¤ªµë¤¤ #OKX 0 ¤ª¤¿¤Þ¤ê ¤ªÎ¯¤ê #OKX 33 ¤ª¤¿¤Þ¤ê ¤ª¤¿¤Þ¤ê #OKX 9 ¤ª¤¿¤á ¤ª¶º¤á #OKX 0 ¤ª¤¿¤á ¤ªÎ¯¤á #OKX 0 ¤ª¤¿¤á ¤ªÃù¤á #OKX 8 ¤ª¤¿¤á¤· ¤ª»î¤· #OKX 76 ¤ª¤¿¤â¤Á ¤ªÊݤÁ #OKX 21 ¤ª¤¿¤ä¤· ¤ªÀä¤ä¤· #OKX 0 ¤ª¤¿¤è¤ê ¤ªÍê¤ê #OKX 24 ¤ª¤¿¤è¤ê ¤ªÊؤê #T30 2 ¤ª¤¿¤ê ¾®Ã« #JCN 0 ¤ª¤¿¤ê ¤ªÂ­¤ê #OKX 51 ¤ª¤¿¤ë ¾®Ã® #CN 0 ¤ª¤¿¤ì ¤ª¿â¤ì #OKX 3 ¤ª¤¿¤ï¤à¤ì ¤ªµº¤ì #OKX 0 ¤ª¤À ¾®ÅÄ #JCN 0 ¤ª¤À ¿¥ÅÄ #JCN 0 ¤ª¤À¤« ¾®¹â #JCN 0 ¤ª¤À¤­ ¤ªÊú¤­ #OKX 9 ¤ª¤À¤­¤å¤¦ ¾®ÅÄµÞ #KK 2 ¤ª¤À¤®¤ê ¾®ÅÄ¶Í #JNS 0 ¤ª¤À¤¯ ±øÂù #T35 0 ¤ª¤À¤· ¤ª½Ð¤· #OKX 255 ¤ª¤À¤· ¤ª¤À¤· #OKX 9 ¤ª¤À¤¸¤Þ ¾®ÅÄÅç #JNS 0 ¤ª¤À¤¸¤Þ ¾®ÅÄÅè #JNS 0 ¤ª¤À¤Á ¤ªÎ©¤Á #OKX 3 ¤ª¤À¤Æ Àú¤Æ #KSr 4 ¤ª¤À¤Þ¤· ¤ª¤À¤Þ¤· #OKX 5 ¤ª¤À¤Þ¤ê ¤ªÌÛ¤ê #OKX 4 ¤ª¤À¤ä¤« ²º¤ä¤« #T05 4 ¤ª¤À¤ï¤é ¾®Åĸ¶ #JCN 0 ¤ª¤Á ±ÛÃÎ #JCN 0 ¤ª¤Á ±ÛÃÒ #JCN 0 ¤ª¤Á ÄÆ¤Á #KS 0 ¤ª¤Á ÂĤÁ #KS 3 ¤ª¤Á Íî¤Á #KSr 88 ¤ª¤Á¤¢ Íî¤Á¹ç #W5 2 ¤ª¤Á¤¢¤¤ Íî¹ç #JCN 0 ¤ª¤Á¤¤ ´Ù #R5 17 ¤ª¤Á¤«¤¤ ¤ªÀÀ¤¤ #OKX 10 ¤ª¤Á¤«¤Å¤­ ¤ª¶áÉÕ¤­ #OKX 31 ¤ª¤Á¤«¤è¤ê ¤ª¶á´ó¤ê #OKX 1 ¤ª¤Á¤¬¤¤ ¤ª°ã¤¤ #OKX 255 ¤ª¤Á¤¬¤¨ ¤ª°ã¤¨ #OKX 0 ¤ª¤Á¤®¤ê ¤ª·À¤ê #OKX 1 ¤ª¤Á¤³ Íî¤Á¹þ #M5r 2 ¤ª¤Á¤Ä ¤ª¤Á¤Ä #K5r 0 ¤ª¤Á¤Ä Íî¤ÁÃå #K5r 14 ¤ª¤Á¤É ÍîÅÙ #T35 1 ¤ª¤Á¤Ð ÍîÍÕ #T35 0 ¤ª¤Á¤Ö¤ì Íî¤Á¤Ö¤ì #KS 0 ¤ª¤Á¤ã ¤ªÃã #T35 17 ¤ª¤Á¤ã¤Î¤ß¤º ¤ªÃã¤Î¿å #CN 0 ¤ª¤Á¤ã¤Î¤ß¤º ¸æÃã¥Î¿å #CN 0 ¤ª¤Á¤ã¤é¤± ¤ª¤Á¤ã¤é¤± #KSr 0 ¤ª¤Á¤å¤¦¤²¤ó ¸æÃ渵 #T35 1 ¤ª¤Á¤ç¤¯ ¤ª¤Á¤ç¤¯ #R5r 0 ¤ª¤Á¤é¤«¤· ¤ª»¶¤é¤«¤· #OKX 2 ¤ª¤Á¤é¤· ¤ª»¶¤é¤· #OKX 2 ¤ª¤Á¤ê ¤ª»¶¤ê #OKX 10 ¤ª¤Â¤ä ¾®Àéë #JCN 0 ¤ª¤Ã ¤ª¤Ã #CJ 7 ¤ª¤Ã¤«¤± Äɤ䫤± #KSr 0 ¤ª¤Ã¤«¤Ê ¤ª¤Ã¤«¤Ê #KY 0 ¤ª¤Ã¤¯¤¦ ¤ª¤Ã¤¯¤¦ #T05 0 ¤ª¤Ã¤¯¤¦ ²¯¹å #T05 0 ¤ª¤Ã¤³¤Á ¤ª¤Ã¤³¤Á #KS 1 ¤ª¤Ã¤³¤Á Íî¤Ã¤³¤Á #KS 2 ¤ª¤Ã¤·¤ã ¤ª¤Ã¤·¤ã #L5 19 ¤ª¤Ã¤·¤ã ¶Ä #L5 2 ¤ª¤Ã¤Á¤ç¤³¤Á¤ç¤¤ ¤ª¤Ã¤Á¤ç¤³¤Á¤ç¤¤ #T05 0 ¤ª¤Ã¤Ä¤± ¤ª¤Ã¤Ä¤± #CJ 0 ¤ª¤Ã¤Æ ÄÉ¤Ã¤Æ #F14 0 ¤ª¤Ã¤Æ Äɤüê #T35 1 ¤ª¤Ã¤Æ Äɼê #T35 1 ¤ª¤Ã¤È É× #T35 27 ¤ª¤Ä ²µ #T05 8 ¤ª¤Ä¤¤¤ä¤· ¤ªÈñ¤ä¤· #OKX 2 ¤ª¤Ä¤¤¤ä¤· ¤ªÈñ¤· #OKX 9 ¤ª¤Ä¤¦¤¸ ¤ªÄ̤¸ #OKX 28 ¤ª¤Ä¤«¤¤ ¤ª¸¯¤¤ #OKX 1 ¤ª¤Ä¤«¤¤ ¤ª»È¤¤ #OKX 255 ¤ª¤Ä¤«¤¤ ¤ª»È¤¤ #T35 0 ¤ª¤Ä¤«¤¤¤ï¤± ¤ª»È¤¤Ê¬¤± #OKX 3 ¤ª¤Ä¤«¤¨ ¤ª»Å¤¨ #OKX 24 ¤ª¤Ä¤«¤Þ¤¨ ¤ªÊá¤Þ¤¨ #OKX 12 ¤ª¤Ä¤«¤Þ¤ê ¤ªÊá¤Þ¤ê #OKX 3 ¤ª¤Ä¤«¤ß ¤ªÄÏ¤ß #OKX 8 ¤ª¤Ä¤«¤ê ¤ª¿»¤«¤ê #OKX 2 ¤ª¤Ä¤«¤ì ¤ªÈè¤ì #OKX 85 ¤ª¤Ä¤­ ¤ªÉí¤­ #K5 0 ¤ª¤Ä¤­ ¤ª¾×¤­ #OKX 0 ¤ª¤Ä¤­ ¤ªÆÍ¤­ #OKX 1 ¤ª¤Ä¤­ ¤ª¤Ä¤­ #OKX 155 ¤ª¤Ä¤­ ¤ª½¢¤­ #OKX 2 ¤ª¤Ä¤­ ¤ªÉÕ¤­ #OKX 255 ¤ª¤Ä¤­ ¤ª¿Ô¤­ #OKX 3 ¤ª¤Ä¤­ ¤ªÃ夭 #OKX 48 ¤ª¤Ä¤­¤¢¤¤ ¤ª¤Ä¤­¹ç¤¤ #OKX 38 ¤ª¤Ä¤­¤¢¤¤ ¤ª¤Ä¤­¤¢¤¤ #OKX 8 ¤ª¤Ä¤­¤½¤¤ ¤ªÉÕ¤­Åº¤¤ #OKX 0 ¤ª¤Ä¤® ¤ªÀܤ® #G5r 0 ¤ª¤Ä¤® ¤ªÃí¤® #OKX 0 ¤ª¤Ä¤® ¤ª»Ì¤® #OKX 1 ¤ª¤Ä¤® ¤ª·Ñ¤® #OKX 4 ¤ª¤Ä¤® ¤ª¼¡¤® #OKX 48 ¤ª¤Ä¤¯¤· ¤ª¿Ô¤¯¤· #OKX 7 ¤ª¤Ä¤¯¤ê ¤ªÁϤê #OKX 2 ¤ª¤Ä¤¯¤ê ¤ªÂ¤¤ê #OKX 2 ¤ª¤Ä¤¯¤ê ¤ªºî¤ê #OKX 255 ¤ª¤Ä¤¯¤ê ¤ª¤Ä¤¯¤ê #OKX 3 ¤ª¤Ä¤¯¤ê¤¢¤² ¤ªÂ¤¤ê¾å¤² #OKX 0 ¤ª¤Ä¤¯¤ê¤¢¤² ¤ªºî¤ê¾å¤² #OKX 3 ¤ª¤Ä¤¯¤ê¤À¤· ¤ªÁϤê½Ð¤· #OKX 0 ¤ª¤Ä¤¯¤ê¤À¤· ¤ª¤Ä¤¯¤ê½Ð¤· #OKX 23 ¤ª¤Ä¤¯¤ê¤À¤· ¤ªºî¤ê½Ð¤· #OKX 5 ¤ª¤Ä¤¯¤í¤¤ ¤ªÁ¶¤¤ #OKX 0 ¤ª¤Ä¤± ¤ªÄÒ¤± #OKX 3 ¤ª¤Ä¤± ¤ª¤Ä¤± #OKX 4 ¤ª¤Ä¤± ¤ªÉÕ¤± #OKX 57 ¤ª¤Ä¤±¤¯¤ï¤¨ ¤ªÉÕ¤±²Ã¤¨ #OKX 22 ¤ª¤Ä¤±¤¿¤· ¤ªÉÕ¤±Â­¤· #OKX 4 ¤ª¤Ä¤² ¤ª¹ð¤² #T30 6 ¤ª¤Ä¤¿¤¨ ¤ªÅÁ¤¨ #T30 26 ¤ª¤Ä¤¿¤ï¤ê ¤ªÅÁ¤ï¤ê #OKX 14 ¤ª¤Ä¤Á¤«¤¤ ¤ªÇݤ¤ #OKX 3 ¤ª¤Ä¤Ä¤·¤ß ¤ª¶à¤ß #M5r 0 ¤ª¤Ä¤Ä¤·¤ß ¤ª¿µ¤ß #M5r 0 ¤ª¤Ä¤Ä¤·¤ß ¤ª¤Ä¤Ä¤·¤ß #OKX 0 ¤ª¤Ä¤Ä¤ß ¤ªÊñ¤ß #OKX 3 ¤ª¤Ä¤Å¤­ ¤ªÂ³¤­ #OKX 123 ¤ª¤Ä¤Å¤± ¤ªÂ³¤± #OKX 1 ¤ª¤Ä¤Å¤ê ¤ª¤Ä¤Å¤ê #OKX 1 ¤ª¤Ä¤Å¤ê ¤ªÄÖ¤ê #OKX 6 ¤ª¤Ä¤È¤á ¤ªÊÙ¤á #OKX 0 ¤ª¤Ä¤È¤á ¤ªÌ³¤á #OKX 0 ¤ª¤Ä¤È¤á ¤ª¤Ä¤È¤á #OKX 1 ¤ª¤Ä¤È¤á ¤ª¶Ð¤á #OKX 10 ¤ª¤Ä¤È¤á ¤ªÅؤá #OKX 2 ¤ª¤Ä¤É¤¤ ¤ª½¸¤¤ #OKX 2 ¤ª¤Ä¤Ê¤¬¤ê ¤ª¤Ä¤Ê¤¬¤ê #OKX 120 ¤ª¤Ä¤Ê¤¬¤ê ¤ª·Ò¤¬¤ê #OKX 3 ¤ª¤Ä¤Ê¤¬¤ê ¤ª·Ñ¤ê #OKX 40 ¤ª¤Ä¤Ê¤® ¤ª·Ò¤® #OKX 23 ¤ª¤Ä¤Ê¤® ¤ª¤Ä¤Ê¤® #OKX 73 ¤ª¤Ä¤Ê¤² ¤ª·Ò¤² #OKX 1 ¤ª¤Ä¤Î¤ê ¤ª¤Ä¤Î¤ê #OKX 1 ¤ª¤Ä¤Î¤ê ¤ªÊç¤ê #OKX 4 ¤ª¤Ä¤Ö¤· ¤ªÄÙ¤· #OKX 8 ¤ª¤Ä¤Ö¤ê ¤ª¤Ä¤Ö¤ê #OKX 4 ¤ª¤Ä¤Ö¤ì ¤ªÄÙ¤ì #OKX 16 ¤ª¤Ä¤Þ¤º¤­ ¤ª¤Ä¤Þ¤º¤­ #OKX 1 ¤ª¤Ä¤Þ¤ß ¤ªÅ¦¤ß #OKX 1 ¤ª¤Ä¤Þ¤ê ¤ª¤Ä¤Þ¤ê #OKX 31 ¤ª¤Ä¤Þ¤ê ¤ªµÍ¤Þ¤ê #OKX 6 ¤ª¤Ä¤ß ¤ªÅ¦¤ß #OKX 0 ¤ª¤Ä¤ß ¤ªÀÑ¤ß #OKX 27 ¤ª¤Ä¤ß ¤ª¤Ä¤ß #OKX 4 ¤ª¤Ä¤à¤® ¤ªË¤® #OKX 1 ¤ª¤Ä¤á ¤ª¤Ä¤á #OKX 20 ¤ª¤Ä¤á ¤ªµÍ¤á #OKX 28 ¤ª¤Ä¤â¤ê ¤ªÀѤâ¤ê #OKX 3 ¤ª¤Ä¤è¤á ¤ª¶¯¤á #OKX 4 ¤ª¤Ä¤é¤Ì¤­ ¤ª´Ó¤­ #OKX 2 ¤ª¤Ä¤é¤Í ¤ªÏ¢¤Í #OKX 1 ¤ª¤Ä¤ê ¤ªÄߤê #OKX 1 ¤ª¤Ä¤ê ¤ªÄà¤ê #OKX 1 ¤ª¤Ä¤ê ¤ª¤Ä¤ê #OKX 3 ¤ª¤Ä¤ë¤· ¤ªÄߤ· #OKX 1 ¤ª¤Ä¤ì ¤ªÏ¢¤ì #OKX 25 ¤ª¤Ä¤ì ¤ª¤Ä¤ì #OKX 47 ¤ª¤Ä¤ì¤«¤¨¤ê ¤ªÏ¢¤ìµ¢¤ê #OKX 1 ¤ª¤Ä¤ì¤½¤¤ ¤ªÏ¢¤ìꤤ #OKX 0 ¤ª¤Ä¤ì¤â¤É¤· ¤ªÏ¢¤ìÌᤷ #OKX 0 ¤ª¤Æ¤¢¤² ¤ª¼ê¾å¤² #T15 0 ¤ª¤Æ¤«¤º ¤ª¼ê¿ô #T35 0 ¤ª¤Æ¤¬¤± ¤ª¼ê³Ý¤± #OKX 1 ¤ª¤Æ¤­¤· ¤ªÅ¬¤· #OKX 80 ¤ª¤Æ¤¹¤¦ ¤ª¼ê¿ô #T35 102 ¤ª¤Æ¤Ä¤À¤¤ ¤ª¼êÅÁ¤¤ #OKX 30 ¤ª¤Æ¤Û¤ó ¤ª¼êËÜ #T35 1 ¤ª¤Æ¤Þ ¤ª¼ê´Ö #T35 0 ¤ª¤Æ¤Þ¤¨ ¤ªÅÀÁ° #T35 0 ¤ª¤Æ¤Þ¤É¤ê ¤ª¼ê´Ö¼è¤ê #OKX 3 ¤ª¤Æ¤ä¤ï¤é¤«¤Ë ¤ª¼ê¤ä¤ï¤é¤«¤Ë #F14 0 ¤ª¤Æ¤é¤¤ ¤ªêʤ¤ #OKX 1 ¤ª¤Æ¤é¤· ¤ª¤Æ¤é¤· #OKX 10 ¤ª¤Æ¤é¤· ¤ª¾È¤é¤· #OKX 2 ¤ª¤Æ¤ì ¤ª¾È¤ì #OKX 0 ¤ª¤Æ¤ï¤¿¤· ¤ª¼êÅϤ· #OKX 7 ¤ª¤Æ¤ó ±øÅÀ #T35 2 ¤ª¤Ç¤¢¤¤ ¤ª½Ð²ñ¤¤ #OKX 7 ¤ª¤Ç¤¢¤ë¤­ ¤ª½ÐÊ⤭ #OKX 1 ¤ª¤Ç¤«¤± ¤ª½Ð¤«¤± #T30 0 ¤ª¤Ç¤­ ¤ª½ÐÍè #OKX 244 ¤ª¤Ç¤­ ¤ª¤Ç¤­ #OKX 255 ¤ª¤Ç¤à¤«¤¨ ¤ª½Ð·Þ¤¨ #OKX 0 ¤ª¤Ç¤à¤­ ¤ª½Ð¸þ¤­ #OKX 2 ¤ª¤Ç¤é ¾®»û #JNS 0 ¤ª¤Ç¤ó ¤ª¤Ç¤ó #T35 2 ¤ª¤Ç¤ó¤ï ¤ªÅÅÏà #T30 14 ¤ª¤È Îô #R5 6 ¤ª¤È ¤ª¤È #S5 1 ¤ª¤È Íî¤È #S5 3 ¤ª¤È Íî #S5 91 ¤ª¤È ²» #T35 23 ¤ª¤È¤¤ ¤ªÌ䤤 #OKX 56 ¤ª¤È¤¤¤¢¤ï¤» ¤ªÌ䤤¹ç¤ï¤» #OKX 69 ¤ª¤È¤¤¤«¤± ¤ªÌ䤤¤«¤± #OKX 1 ¤ª¤È¤¤¤Í¤Ã¤× ²»°Ò»ÒÉÜ #CN 0 ¤ª¤È¤¦¤µ¤ó ¤ª¤È¤¦¤µ¤ó #T35 4 ¤ª¤È¤¦¤µ¤ó ¤ªÉ㤵¤ó #T35 5 ¤ª¤È¤¦¤È Äï #T35 9 ¤ª¤È¤ª¤· ¤ª¤È¤ª¤· #OKX 1 ¤ª¤È¤ª¤· ¤ªÄ̤· #OKX 255 ¤ª¤È¤ª¤ê ¤ªÄ̤ê #OKX 255 ¤ª¤È¤«¤· ¤ª²ò¤«¤· #OKX 1 ¤ª¤È¤«¤· ¤ªÍϤ«¤· #OKX 2 ¤ª¤È¤«¤· ¤ªÍ»¤«¤· #OKX 4 ¤ª¤È¤¬¤á ¤ªÒë¤á #OKX 1 ¤ª¤È¤­ ¤ª¼á¤­ #OKX 0 ¤ª¤È¤­ ¤ª²ò¤­ #OKX 111 ¤ª¤È¤­ ¤ªÀ⤭ #OKX 2 ¤ª¤È¤­ ¤ªÍϤ­ #OKX 5 ¤ª¤È¤® ¤ª¸¦¤® #OKX 0 ¤ª¤È¤¯¤Ë ²µ·± #CN 0 ¤ª¤È¤± ¤ªÍФ± #OKX 0 ¤ª¤È¤± ¤ªÍ»¤± #OKX 1 ¤ª¤È¤² ¤ª¿ë¤² #OKX 1 ¤ª¤È¤³ ÃË #T35 53 ¤ª¤È¤³¤Ç Ã˼ê #T35 0 ¤ª¤È¤³¤Î¤³ ÃË¤Î»Ò #T35 6 ¤ª¤È¤³¤é¤· Ãˤ餷 #KY 0 ¤ª¤È¤³¤é¤·¤å¤¦ Ãˤ餷¤å¤¦ #KYU 0 ¤ª¤È¤µ¤¿ ²»º»ÂÁ #T35 4 ¤ª¤È¤¶¤· ¤ªÊĤ¶¤· #OKX 0 ¤ª¤È¤· ¤ªÇ¯ #T35 6 ¤ª¤È¤·¤¤¤ì ´Ù¤ì #KS 1 ¤ª¤È¤·¤â¤Î Íʪ #T30 0 ¤ª¤È¤¸ ¤ªÊĤ¸ #OKX 28 ¤ª¤È¤¸ ¤ªÄÖ¤¸ #OKX 5 ¤ª¤È¤º¤ì ˬ¤ì #KS 2 ¤ª¤È¤Ä¤® ¤ª²Ç¤® #OKX 1 ¤ª¤È¤Å¤ì ˬ¤ì #KS 0 ¤ª¤È¤È¤¤ °ìºòÆü #T35 10 ¤ª¤È¤È¤· °ìºòǯ #T35 1 ¤ª¤È¤È¤Î¤¨ ¤ªÄ´¤¨ #OKX 0 ¤ª¤È¤È¤Î¤¨ ¤ªÀ°¤¨ #OKX 4 ¤ª¤È¤É¤­ ¤ªÆÏ¤­ #OKX 255 ¤ª¤È¤É¤± ¤ªÆÏ¤± #OKX 2 ¤ª¤È¤É¤Þ¤ê ¤ªÎ±¤Þ¤ê #OKX 2 ¤ª¤È¤É¤á ¤ª¤È¤É¤á #OKX 5 ¤ª¤È¤Ê Âç¿Í #T35 9 ¤ª¤È¤Ê¤¨ ¤ª¾§¤¨ #OKX 2 ¤ª¤È¤Ê¤²¤Ê Âç¿Í¤²¤Ê #KY 1 ¤ª¤È¤Ê¤²¤Î¤¦ Âç¿Í¤²¤Î¤¦ #KYU 1 ¤ª¤È¤Ê¤· ²»Ìµ #JCN 0 ¤ª¤È¤Ê¤· Âç¿Í¤· #KY 1 ¤ª¤È¤Ê¤· ¤ª¤È¤Ê¤· #KY 3 ¤ª¤È¤Ê¤·¤å¤¦ ¤ª¤È¤Ê¤·¤å¤¦ #KYU 1 ¤ª¤È¤Ê¤·¤å¤¦ Âç¿Í¤·¤å¤¦ #KYU 1 ¤ª¤È¤Ê¤ê¤¢¤ï¤» ¤ªÎÙ¹ç¤ï¤» #OKX 0 ¤ª¤È¤Ð¤· ¤ªÈô¤Ð¤· #OKX 18 ¤ª¤È¤Ò¤á ²µÉ± #JN 0 ¤ª¤È¤Ó ¤ª¤È¤Ó #OKX 12 ¤ª¤È¤Ó ¤ªÄ·¤Ó #OKX 2 ¤ª¤È¤Ó ¤ªÈô¤Ó #OKX 88 ¤ª¤È¤Ó¤³¤¨ ¤ªÈô¤Ó±Û¤¨ #OKX 0 ¤ª¤È¤Ó¤³¤· ¤ªÈô¤Ó±Û¤· #OKX 1 ¤ª¤È¤Ó¤³¤ß ¤ª¤È¤Ó¤³¤ß #OKX 2 ¤ª¤È¤Ó¤³¤ß ¤ªÈô¤Ó¹þ¤ß #OKX 2 ¤ª¤È¤Ó¤À¤· ¤ªÈô¤Ó½Ð¤· #OKX 2 ¤ª¤È¤Õ¤± ²»¹¹ #JCN 0 ¤ª¤È¤Ù ²µÉô #JCN 0 ¤ª¤È¤Þ¤É¤¤ ¤ª¤È¤Þ¤É¤¤ #OKX 0 ¤ª¤È¤Þ¤É¤¤ ¤ª¸ÍÏǤ¤ #OKX 3 ¤ª¤È¤Þ¤ê ¤ªÎ±¤Þ¤ê #OKX 0 ¤ª¤È¤Þ¤ê ¤ªÇñ¤Þ¤ê #OKX 37 ¤ª¤È¤Þ¤ê ¤ª»ß¤Þ¤ê #OKX 52 ¤ª¤È¤Þ¤ê¤³¤ß ¤ªÇñ¤ê¹þ¤ß #OKX 2 ¤ª¤È¤ß ¤ªÉÙ¤ß #OKX 12 ¤ª¤È¤à¤é¤¤ ¤ªÄ¤¤¤ #OKX 0 ¤ª¤È¤á ²µ½÷ #JCN 0 ¤ª¤È¤á ¤ª¤È¤á #OKX 1 ¤ª¤È¤á ¤ªÎ±¤á #OKX 1 ¤ª¤È¤á ¤ª»ß¤á #OKX 47 ¤ª¤È¤á ¤ªÇñ¤á #OKX 5 ¤ª¤È¤á ²µ½÷ #T35 5 ¤ª¤È¤á¤¶ ²µ½÷ºÂ #KK 1 ¤ª¤È¤é¤¨ ¤ªÊá¤é¤¨ #OKX 2 ¤ª¤È¤é¤¨ ¤ª¤È¤é¤¨ #OKX 37 ¤ª¤È¤é¤¨ ¤ªÂª¤¨ #OKX 6 ¤ª¤È¤ê ¤ªÊá¤ê #OKX 1 ¤ª¤È¤ê ¤ª»£¤ê #OKX 17 ¤ª¤È¤ê ¤ªºÎ¤ê #OKX 24 ¤ª¤È¤ê ¤ª¤È¤ê #OKX 255 ¤ª¤È¤ê ¤ª¼è¤ê #OKX 255 ¤ª¤È¤ê¤¢¤² ¤ª¤È¤ê¾å¤² #OKX 1 ¤ª¤È¤ê¤¢¤² ¤ª¼è¤ê¾å¤² #OKX 4 ¤ª¤È¤ê¤¢¤Ä¤«¤¤ ¤ª¼è¤ê°·¤¤ #T30 0 ¤ª¤È¤ê¤¢¤Ä¤«¤¤ ¤ª¼è°·¤¤ #T30 0 ¤ª¤È¤ê¤¤¤ì ¤ªºÎ¤êÆþ¤ì #OKX 27 ¤ª¤È¤ê¤«¤¨ ¤ª¼è¤ê´¹¤¨ #OKX 3 ¤ª¤È¤ê¤«¤¨ ¤ª¼è¤êÂØ¤¨ #OKX 3 ¤ª¤È¤ê¤³¤ß ¤ª¼è¤ê¹þ¤ß #OKX 47 ¤ª¤È¤ê¤³¤ß¤Á¤å¤¦ ¤ª¼è¤ê¹þ¤ßÃæ #T35 0 ¤ª¤È¤ê¤µ¤² ¤ª¼è¤ê²¼¤² #OKX 1 ¤ª¤È¤ê¤·¤é¤Ù ¤ª¼è¤êÄ´¤Ù #T30 0 ¤ª¤È¤ê¤¿¤Æ ¤ª¼è¤êΩ¤Æ #OKX 1 ¤ª¤È¤ê¤À¤· ¤ª¼è¤ê½Ð¤· #OKX 79 ¤ª¤È¤ê¤Ä¤® ¤ª¼è¤ê¼¡¤® #OKX 2 ¤ª¤È¤ê¤Ê¤· ¤ª¼¹¤êÀ®¤· #OKX 0 ¤ª¤È¤ê¤Ï¤«¤é¤¤ ¤ª¼è¤ê·×¤é¤¤ #T30 0 ¤ª¤È¤ê¤Ò¤­ ¤ª¼è¤ê°ú¤­ #T30 0 ¤ª¤È¤ê¤è¤» ¤ª¼è¤ê´ó¤» #OKX 2 ¤ª¤È¤í¤¨ ¿ê¤¨ #OKX 0 ¤ª¤È¤ï ²»±© #JCN 0 ¤ª¤É Ìö #R5 0 ¤ª¤É ¤ª¤É #R5r 1 ¤ª¤É ÍÙ #R5r 3 ¤ª¤É ¶¼ #S5r 1 ¤ª¤É¤« ¶¼¤« #S5r 1 ¤ª¤É¤í ¶Ã #K5r 61 ¤ª¤É¤í¤ª¤É¤í¤· ¤ª¤É¤í¤ª¤É¤í¤· #KY 0 ¤ª¤É¤í¤ª¤É¤í¤·¤å¤¦ ¤ª¤É¤í¤ª¤É¤í¤·¤å¤¦ #KYU 0 ¤ª¤É¤í¤« ¶Ã¤« #S5 0 ¤ª¤Ê¤¤ ÈøÆâ #JNS 0 ¤ª¤Ê¤¤¤É¤· Ʊ¤¤Ç¯ #T15 0 ¤ª¤Ê¤ª¤· ¤ªÄ¾¤· #OKX 255 ¤ª¤Ê¤ª¤· ¤ª¼£¤· #OKX 52 ¤ª¤Ê¤ª¤· ¤ª¤Ê¤ª¤· #OKX 8 ¤ª¤Ê¤ª¤ê ¤ª¤Ê¤ª¤ê #OKX 1 ¤ª¤Ê¤ª¤ê ¤ªÄ¾¤ê #OKX 168 ¤ª¤Ê¤ª¤ê ¤ª¼£¤ê #OKX 53 ¤ª¤Ê¤« ¤ªÊ¢ #T35 19 ¤ª¤Ê¤¬ ¥ª¥Ê¥¬ #T35 0 ¤ª¤Ê¤¬ ÈøÄ¹ #T35 0 ¤ª¤Ê¤¬¤· ¤ªÎ®¤· #OKX 77 ¤ª¤Ê¤¬¤É¤ê ¥ª¥Ê¥¬¥É¥ê #T35 0 ¤ª¤Ê¤¬¤É¤ê ÈøÄ¹·Ü #T35 0 ¤ª¤Ê¤¬¤ì ¤ªÎ®¤ì #OKX 115 ¤ª¤Ê¤¬¤ï ½÷Àî #JCN 0 ¤ª¤Ê¤­ ¤ªÌĤ­ #OKX 7 ¤ª¤Ê¤­ ¤ªµã¤­ #OKX 82 ¤ª¤Ê¤¯¤· ¤ªË´¤¯¤· #OKX 0 ¤ª¤Ê¤¯¤· ¤ªÌµ¤¯¤· #OKX 11 ¤ª¤Ê¤¯¤· ¤ª¤Ê¤¯¤· #OKX 6 ¤ª¤Ê¤¯¤Ê¤ê ¤ªË´¤¯¤Ê¤ê #OKX 16 ¤ª¤Ê¤¯¤Ê¤ê ¤ªÌµ¤¯¤Ê¤ê #OKX 3 ¤ª¤Ê¤°¤µ¤á ¤ª°Ö¤á #OKX 2 ¤ª¤Ê¤°¤ê ¤ª²¥¤ê #OKX 3 ¤ª¤Ê¤² ¤ªÅꤲ #OKX 9 ¤ª¤Ê¤²¤­ ¤ªÃ²¤­ #OKX 2 ¤ª¤Ê¤´¤ß ¤ªÏÂ¤ß #OKX 1 ¤ª¤Ê¤¸ Ʊ¤¸ #T05 255 ¤ª¤Ê¤¸ Ʊ¤¸ #RT 0 ¤ª¤Ê¤¸ ¤ª¤Ê¤¸ #T05 0 ¤ª¤Ê¤¸ ¤ª¤Ê¤¸ #RT 0 ¤ª¤Ê¤¸ ¡¹ #T35 28 ¤ª¤Ê¤¸¤¯ Ʊ¤¸¤¯ #CJ 25 ¤ª¤Ê¤¸¤¯ ¡· #T35 1 ¤ª¤Ê¤¸¤ß ¤ª¤Ê¤¸¤ß #T16 2 ¤ª¤Ê¤¸¤ß ¤ªÆëÀ÷¤ß #T16 2 ¤ª¤Ê¤¸¤è¤¦ Ʊ¤¸¤è¤¦ #T05 41 ¤ª¤Ê¤À¤á ¤ª¤Ê¤À¤á #OKX 0 ¤ª¤Ê¤À¤á ¤ªÍ¨¤á #OKX 0 ¤ª¤Ê¤Ä¤«¤·¤å¤¦ ¤ª¤Ê¤Ä¤«¤·¤å¤¦ #KYU 1 ¤ª¤Ê¤Ä¤«¤·¤å¤¦ ¤ª²û¤«¤·¤å¤¦ #KYU 2 ¤ª¤Ê¤Ç ¤ªÉï¤Ç #OKX 1 ¤ª¤Ê¤Ë¡¼ ¥ª¥Ê¥Ë¡¼ #T30 1 ¤ª¤Ê¤Î¤ê ¤ªÌ¾¾è¤ê #OKX 4 ¤ª¤Ê¤Þ¤¨ ¤ªÌ¾Á° #T35 5 ¤ª¤Ê¤á ¤ª¾¨¤á #OKX 0 ¤ª¤Ê¤á ¤ª¤Ê¤á #OKX 2 ¤ª¤Ê¤ä¤ß ¤ªÇº¤ß #OKX 14 ¤ª¤Ê¤é¤¤ ¤ª½¬¤¤ #OKX 6 ¤ª¤Ê¤é¤· ¤ª¶Ñ¤· #OKX 0 ¤ª¤Ê¤é¤· ¤ªÌĤ餷 #OKX 5 ¤ª¤Ê¤é¤Ó ¤ªÊÂ¤Ó #OKX 88 ¤ª¤Ê¤é¤Ù ¤ªÄĤ٠#OKX 0 ¤ª¤Ê¤é¤Ù ¤ªÎó¤Ù #OKX 0 ¤ª¤Ê¤é¤Ù ¤ªÊ¤٠#OKX 1 ¤ª¤Ê¤ê ¤ªÀ®¤ê #OKX 12 ¤ª¤Ê¤ê ¤ª¤Ê¤ê #OKX 255 ¤ª¤Ê¤ê ¤ªÌĤê #OKX 5 ¤ª¤Ê¤ê¤â¤ó ¸æÀ®Ìç #CN 0 ¤ª¤Ê¤ì ¤ªÆë¤ì #OKX 0 ¤ª¤Ê¤ì ¤ª´·¤ì #OKX 30 ¤ª¤Ë µ´ #T35 2 ¤ª¤Ë¤¢¤¤ ¤ª»÷¹ç¤¤ #OKX 21 ¤ª¤Ë¤¤¤µ¤ó ¤ª·»¤µ¤ó #T35 2 ¤ª¤Ë¤¬¤· ¤ªÆ¨¤¬¤· #OKX 0 ¤ª¤Ë¤¬¤· ¤ªÆ¨¤· #OKX 1 ¤ª¤Ë¤®¤ê ¤ª°®¤ê #OKX 6 ¤ª¤Ë¤¯¤ß ¤ªÁþ¤ß #OKX 1 ¤ª¤Ë¤² ¤ªÆ¨¤² #OKX 11 ¤ª¤Ë¤· µ´ÀÐ #JCN 0 ¤ª¤Ë¤» ¤ª»÷¤» #OKX 1 ¤ª¤Ë¤Å¤« µ´ÄÍ #JNS 0 ¤ª¤Ë¤Ê¤¤ ¤ªÃ´¤¤ #OKX 10 ¤ª¤Ë¤å¤¦ ±óÉß #JCN 0 ¤ª¤Ë¤é¤ß ¤ªâË¤ß #OKX 3 ¤ª¤Ì¤¤ ¤ªË¥¤¤ #OKX 3 ¤ª¤Ì¤«¤· ¤ªÈ´¤«¤· #OKX 3 ¤ª¤Ì¤­ ¤ªÈ´¤­ #OKX 14 ¤ª¤Ì¤® ¤ªÃ¦¤® #OKX 2 ¤ª¤Ì¤°¤¤ ¤ª¤Ì¤°¤¤ #OKX 1 ¤ª¤Ì¤°¤¤ ¤ª¿¡¤¤ #OKX 10 ¤ª¤Ì¤± ¤ªÈ´¤± #OKX 70 ¤ª¤Ì¤¹¤ß ¤ªÅð¤ß #OKX 2 ¤ª¤Ì¤é¤· ¤ªÇ¨¤é¤· #OKX 0 ¤ª¤Ì¤ê ¤ªÅɤê #OKX 8 ¤ª¤Ì¤ì ¤ªÇ¨¤ì #OKX 2 ¤ª¤Í Èøº¬ #T35 8 ¤ª¤Í¤¤¤ê ¤ª¿²Æþ¤ê #OKX 0 ¤ª¤Í¤¨¤µ¤ó ¤ª»Ð¤µ¤ó #T35 10 ¤ª¤Í¤¬¤¤ ¤ª´ê¤¤ #OKX 50 ¤ª¤Í¤®¤é¤¤ ¤ªÏ«¤¤ #OKX 0 ¤ª¤Í¤³¤ß ¤ª¿²¹þ¤ß #OKX 3 ¤ª¤Í¤¸¤ê ¤ªÇ±¤ê #OKX 0 ¤ª¤Í¤¸¤ê ¤ª¤Í¤¸¤ê #OKX 1 ¤ª¤Í¤¿¤ß ¤ªÅÊ¤ß #M5r 0 ¤ª¤Í¤¿¤ß ¤ª¤Í¤¿¤ß #OKX 0 ¤ª¤Í¤À¤ê ¤ª¤Í¤À¤ê #T30 0 ¤ª¤Í¤Ä¤­ ¤ª¿²¤Ä¤­ #OKX 1 ¤ª¤Í¤à¤ê ¤ªÌ²¤ê #OKX 34 ¤ª¤Í¤é¤¤ ¤ªÁÀ¤¤ #OKX 11 ¤ª¤Í¤é¤¤ ¤ª¤Í¤é¤¤ #OKX 4 ¤ª¤Í¤ê ¤ªÎý¤ê #OKX 4 ¤ª¤Î ¾®Ìî #JCN 0 ¤ª¤Î Éà #T35 2 ¤ª¤Î¤¨ Èø¾å #JCN 0 ¤ª¤Î¤ª¤Î ¤ª¤Î¤ª¤Î #F14 1 ¤ª¤Î¤ª¤Î ³Æ¡¹ #T35 30 ¤ª¤Î¤¬¤· ¤ªÆ¨¤· #OKX 5 ¤ª¤Î¤¬¤ß ¾®Ìî¾å #JCN 0 ¤ª¤Î¤¬¤ì ¤ªÆ¨¤ì #OKX 3 ¤ª¤Î¤­ ¤ªÂभ #OKX 20 ¤ª¤Î¤³¤· ¤ª»Ä¤· #OKX 117 ¤ª¤Î¤³¤ê ¤ª»Ä¤ê #OKX 117 ¤ª¤Î¤¶¤ï ¾®ÌîÂô #JNS 0 ¤ª¤Î¤º¤«¤é ¼«¤º¤«¤é #F14 0 ¤ª¤Î¤º¤«¤é ¼«¤º¤«¤é #T36 0 ¤ª¤Î¤º¤È ¼«¤º¤È #F14 1 ¤ª¤Î¤» ¤ª¾è¤» #OKX 15 ¤ª¤Î¤» ¤ªºÜ¤» #OKX 55 ¤ª¤Î¤¾¤­ ¤ªÇÁ¤­ #OKX 15 ¤ª¤Î¤¾¤­ ¤ª½ü¤­ #OKX 80 ¤ª¤Î¤¾¤ß ¤ªÎ×¤ß #OKX 1 ¤ª¤Î¤¾¤ß ¤ªË¾¤ß #OKX 17 ¤ª¤Î¤À ¾®ÌîÅÄ #JCN 0 ¤ª¤Î¤Å¤« ¾®ÌîÄÍ #JNS 0 ¤ª¤Î¤Ç¤é ¾®Ìî»û #JNS 0 ¤ª¤Î¤Ð¤· ¤ª¿­¤Ð¤· #OKX 35 ¤ª¤Î¤Ð¤· ¤ª±ä¤Ð¤· #OKX 7 ¤ª¤Î¤Ó ¤ª¿­¤Ó #OKX 4 ¤ª¤Î¤Ó ¤ª±ä¤Ó #OKX 9 ¤ª¤Î¤Ü¤» ¤ª¤Î¤Ü¤» #OKX 1 ¤ª¤Î¤Ü¤ê ¤ª¾º¤ê #OKX 1 ¤ª¤Î¤Ü¤ê ¤ª¾å¤ê #OKX 1 ¤ª¤Î¤Ü¤ê ¤ªÅФê #OKX 18 ¤ª¤Î¤Ü¤ê ¤ª¤Î¤Ü¤ê #OKX 2 ¤ª¤Î¤Þ¤È¤Ú ¥ª¥Î¥Þ¥È¥Ú #T35 0 ¤ª¤Î¤ß ¤ª°û¤ß #OKX 163 ¤ª¤Î¤ß ¤ª¤Î¤ß #OKX 2 ¤ª¤Î¤ß ¤ªÆÝ¤ß #OKX 3 ¤ª¤Î¤ß¤Á ÈøÆ» #JCN 0 ¤ª¤Î¤ê ¤ª¾è¤ê #OKX 140 ¤ª¤Î¤ê ¤ªºÜ¤ê #OKX 168 ¤ª¤Î¤ê ¤ª¤Î¤ê #OKX 18 ¤ª¤Î¤ê¤«¤¨ ¤ª¾è¤ê´¹¤¨ #OKX 13 ¤ª¤Î¤ê¤³¤· ¤ª¾è¤ê±Û¤· #OKX 0 ¤ª¤Î¤ê¤³¤ß ¤ª¾è¤ê¹þ¤ß #OKX 2 ¤ª¤Î¤ê¤Ä¤® ¤ª¾è¤ê·Ñ¤® #OKX 1 ¤ª¤Î¤ì ¸Ê #T35 4 ¤ª¤Î¤í¤¤ ¤ª¼ö¤¤ #OKX 2 ¤ª¤Ï¤¤¤ê ¤ªÆþ¤ê #OKX 255 ¤ª¤Ï¤¤¤ê ¤ª¤Ï¤¤¤ê #OKX 3 ¤ª¤Ï¤¤¤ê¤³¤ß ¤ªÆþ¤ê¹þ¤ß #OKX 1 ¤ª¤Ï¤¨ ¤ª±É¤¨ #OKX 0 ¤ª¤Ï¤¨ ¤ª±Ç¤¨ #OKX 1 ¤ª¤Ï¤¨ ¤ªÀ¸¤¨ #OKX 2 ¤ª¤Ï¤«¤É¤ê ¤ªÄ½¤ê #OKX 2 ¤ª¤Ï¤«¤é¤¤ ¤ª·×¤é¤¤ #OKX 1 ¤ª¤Ï¤«¤ê ¤ª»ð¤ê #OKX 0 ¤ª¤Ï¤«¤ê ¤ª·×¤ê #OKX 13 ¤ª¤Ï¤«¤ê ¤ª¤Ï¤«¤ê #OKX 42 ¤ª¤Ï¤«¤ê ¤ªÂ¬¤ê #OKX 5 ¤ª¤Ï¤«¤ê ¤ª¿Þ¤ê #OKX 6 ¤ª¤Ï¤«¤ê ¤ªËŤê #R5 0 ¤ª¤Ï¤«¤ê ¤ªÎ̤ê #R5r 0 ¤ª¤Ï¤¬¤· ¤ªÇí¤· #OKX 0 ¤ª¤Ï¤¬¤· ¤ª¤Ï¤¬¤· #OKX 1 ¤ª¤Ï¤­ ¤ªÊ®¤­ #K5 0 ¤ª¤Ï¤­ ¤ªÁݤ­ #OKX 0 ¤ª¤Ï¤­ ¤ªÅǤ­ #OKX 100 ¤ª¤Ï¤­ ¤ª¤Ï¤­ #OKX 13 ¤ª¤Ï¤­ ¤ªÍú¤­ #OKX 2 ¤ª¤Ï¤® ¤ªÇí¤® #OKX 1 ¤ª¤Ï¤² ¤ª¤Ï¤² #OKX 0 ¤ª¤Ï¤² ¤ªÆÅ¤² #OKX 0 ¤ª¤Ï¤² ¤ªÇí¤² #OKX 0 ¤ª¤Ï¤²¤Þ¤· ¤ªÎå¤Þ¤· #OKX 2 ¤ª¤Ï¤²¤ß ¤ªÎå¤ß #OKX 2 ¤ª¤Ï¤³¤Ó ¤ª±¿¤Ó #OKX 14 ¤ª¤Ï¤µ¤ß ¤ª¶´¤ß #OKX 3 ¤ª¤Ï¤µ¤ß ¤ª¤Ï¤µ¤ß #OKX 5 ¤ª¤Ï¤·¤ã¤® ¤ª¤Ï¤·¤ã¤® #OKX 10 ¤ª¤Ï¤·¤ê ¤ªÁö¤ê #OKX 74 ¤ª¤Ï¤¸ ¤ªÃѤ¸ #OKX 3 ¤ª¤Ï¤¸¤­ ¤ª¤Ï¤¸¤­ #OKX 1 ¤ª¤Ï¤¸¤­ ¤ªÃƤ­ #OKX 3 ¤ª¤Ï¤¸¤á ¤ª¤Ï¤¸¤á #OKX 148 ¤ª¤Ï¤¸¤á ¤ª»Ï¤á #OKX 184 ¤ª¤Ï¤º¤«¤·¤å¤¦ ¤ª¤Ï¤º¤«¤·¤å¤¦ #KYU 1 ¤ª¤Ï¤º¤«¤·¤å¤¦ ¤ªÃѤ·¤å¤¦ #KYU 1 ¤ª¤Ï¤º¤«¤·¤å¤¦ ¤ªÃѤº¤«¤·¤å¤¦ #KYU 2 ¤ª¤Ï¤º¤· ¤ª³°¤· #OKX 41 ¤ª¤Ï¤º¤ß ¤ªÃÆ¤ß #OKX 0 ¤ª¤Ï¤º¤ß ¤ª¤Ï¤º¤ß #OKX 1 ¤ª¤Ï¤º¤ì ¤ª³°¤ì #OKX 7 ¤ª¤Ï¤¿¤· ¤ª²Ì¤¿¤· #OKX 27 ¤ª¤Ï¤¿¤é¤­ ¤ªÆ¯¤­ #OKX 33 ¤ª¤Ï¤Æ ¤ª²Ì¤Æ #OKX 10 ¤ª¤Ï¤Æ ¤ª¤Ï¤Æ #OKX 4 ¤ª¤Ï¤Ê¤· ¤ª¤Ï¤Ê¤· #OKX 1 ¤ª¤Ï¤Ê¤· ¤ªÏä· #OKX 131 ¤ª¤Ï¤Ê¤· ¤ªÎ¥¤· #OKX 58 ¤ª¤Ï¤Ê¤· ¤ªÊü¤· #OKX 7 ¤ª¤Ï¤Ê¤· ¤ªÏà #T30 96 ¤ª¤Ï¤Ê¤·¤¢¤¤ ¤ªÏ䷹礤 #OKX 15 ¤ª¤Ï¤Ê¤Á ¤ªÊü¤Á #OKX 2 ¤ª¤Ï¤Ê¤ì ¤ªÊü¤ì #OKX 0 ¤ª¤Ï¤Ê¤ì ¤ªÎ¥¤ì #OKX 16 ¤ª¤Ï¤Í ¤ªÄ·¤Í #OKX 1 ¤ª¤Ï¤Í ¤ª¤Ï¤Í #OKX 4 ¤ª¤Ï¤Ð¤ß ¤ªÁË¤ß #OKX 1 ¤ª¤Ï¤Ö¤­ ¤ª¾Ê¤­ #OKX 11 ¤ª¤Ï¤á ¤ªÅ¶¤á #OKX 1 ¤ª¤Ï¤á ¤ª¤Ï¤á #OKX 3 ¤ª¤Ï¤ä¤· ¤ªÀ¸¤ä¤· #OKX 1 ¤ª¤Ï¤ä¤Þ¤ê ¤ªÁá¤Þ¤ê #OKX 2 ¤ª¤Ï¤ä¤á ¤ªÂ®¤á #OKX 1 ¤ª¤Ï¤ä¤á ¤ªÁá¤á #OKX 17 ¤ª¤Ï¤è¤¦ ¤ªÁᤦ #KYU 0 ¤ª¤Ï¤è¤¦ ¤ª¤Ï¤è¤¦ #KYU 34 ¤ª¤Ï¤è¤¦ ¤ª¤Ï¤è¤¦ #T35 8 ¤ª¤Ï¤é ¾®¸¶ #JNS 0 ¤ª¤Ï¤é¤¤ ¤ªÊ§¤¤ #OKX 31 ¤ª¤Ï¤é¤¤¤³¤ß ¤ªÊ§¤¤¹þ¤ß #OKX 1 ¤ª¤Ï¤é¤· ¤ªÀ²¤é¤· #OKX 8 ¤ª¤Ï¤ê ¤ªÅ½¤ê #OKX 12 ¤ª¤Ï¤ê ¤ªÄ¥¤ê #OKX 85 ¤ª¤Ï¤ê¤­¤ê ¤ªÄ¥¤êÀÚ¤ê #OKX 3 ¤ª¤Ï¤ì ¤ª¼ð¤ì #OKX 1 ¤ª¤Ï¤ì ¤ªÀ²¤ì #OKX 92 ¤ª¤Ð ¾®Êì #T35 0 ¤ª¤Ð ÇìÊì #T35 0 ¤ª¤Ð ½ÇÊì #T35 6 ¤ª¤Ð¤¢¤µ¤ó ¤ªÇ̤µ¤ó #T35 0 ¤ª¤Ð¤¢¤µ¤ó ¤ª¤Ð¤¢¤µ¤ó #T35 2 ¤ª¤Ð¤± ¤ª²½¤± #OKX 26 ¤ª¤Ð¤± ¤ª¤Ð¤± #T35 1 ¤ª¤Ð¤± ¥ª¥Ð¥± #T35 2 ¤ª¤Ð¤¿ ¾®Ëó #JCN 0 ¤ª¤Ð¤¿ ¾®È¨ #JNS 0 ¤ª¤Ð¤¿ ¾®Èª #JNS 0 ¤ª¤Ð¤¿¤ê¤¢¤ó ¥ª¥Ð¥¿¥ê¥¢¥ó #T35 1 ¤ª¤Ð¤Ê¤¶¤ï Èø²ÖÂô #JCN 0 ¤ª¤Ð¤Þ ¾®ÉÍ #JCN 0 ¤ª¤Ð¤é ¾®¸¶ #JCN 0 ¤ª¤Ñ¡¼¤ë ¥ª¥Ñ¡¼¥ë #T35 0 ¤ª¤Ò¤«¤¨ ¤ª¹µ¤¨ #OKX 21 ¤ª¤Ò¤«¤ê ¤ª¸÷¤ê #OKX 6 ¤ª¤Ò¤¬¤ß ¤ªÊÈ¤ß #OKX 0 ¤ª¤Ò¤¬¤ß ¤ª¤Ò¤¬¤ß #OKX 1 ¤ª¤Ò¤­ ¤ªº÷¤­ #OKX 0 ¤ª¤Ò¤­ ¤ª¼æ¤­ #OKX 1 ¤ª¤Ò¤­ ¤ªÂभ #OKX 1 ¤ª¤Ò¤­ ¤ª°ú¤­ #OKX 129 ¤ª¤Ò¤­ ¤ªÃƤ­ #OKX 13 ¤ª¤Ò¤­ ¤ª±È¤­ #OKX 2 ¤ª¤Ò¤­ ¤ª¤Ò¤­ #OKX 4 ¤ª¤Ò¤­¤¦¤± ¤ª°ú¤­¼õ¤± #OKX 4 ¤ª¤Ò¤­¤¦¤± ¤ª°ú¼õ¤± #T30 1 ¤ª¤Ò¤­¤«¤¨ ¤ª°ú¤­Âؤ¨ #OKX 1 ¤ª¤Ò¤­¤«¤¨ ¤ª¤Ò¤­¤«¤¨ #OKX 3 ¤ª¤Ò¤­¤«¤¨¤· ¤ª°ú¤­ÊÖ¤· #OKX 0 ¤ª¤Ò¤­¤¿¤Æ ¤ª°ú¤­Î©¤Æ #T30 0 ¤ª¤Ò¤­¤À¤· ¤ª°ú¤­½Ð¤· #OKX 9 ¤ª¤Ò¤­¤È¤á ¤ª°ú¤­Î±¤á #OKX 2 ¤ª¤Ò¤­¤È¤á ¤ª°ú¤­»ß¤á #OKX 0 ¤ª¤Ò¤­¤È¤ê ¤ª°ú¤­¼è¤ê #OKX 3 ¤ª¤Ò¤­¤Î¤Ð¤· ¤ª°ú¤­±ä¤Ð¤· #OKX 1 ¤ª¤Ò¤­¤Î¤Ð¤· ¤ª°ú¤­¿­¤Ð¤· #OKX 1 ¤ª¤Ò¤­¤ï¤¿¤· ¤ª°ú¤­ÅϤ· #OKX 1 ¤ª¤Ò¤¯¤á ¤ªÄã¤á #OKX 0 ¤ª¤Ò¤µ¤·¤Ö¤ê ¤ªµ×¤·¤Ö¤ê #T35 0 ¤ª¤Ò¤µ¤·¤å¤¦ ¤ªµ×¤·¤å¤¦ #KYU 1 ¤ª¤Ò¤½¤ß ¤ªÀø¤ß #OKX 3 ¤ª¤Ò¤½¤á ¤ªÀø¤á #OKX 0 ¤ª¤Ò¤¿¤· ¤ª¿»¤· #OKX 1 ¤ª¤Ò¤¿¤ê ¤ª¿»¤ê #OKX 2 ¤ª¤Ò¤Ã¤³¤· ¤ª°ú¤Ã±Û¤· #OKX 3 ¤ª¤Ò¤Ä¤¸¤¶ ²´ÍӺ #KK 1 ¤ª¤Ò¤È¤è¤· ¤ª¿Í¹¥¤· #T05 0 ¤ª¤Ò¤È¤è¤· ¸æ¿Í¹¥¤· #T05 1 ¤ª¤Ò¤Í¤ê ¤ª¤Ò¤Í¤ê #OKX 0 ¤ª¤Ò¤Í¤ê ¤ªÇ±¤ê #OKX 1 ¤ª¤Ò¤á ¤ªÈë¤á #OKX 1 ¤ª¤Ò¤ä¤«¤· ¤ªÎä¤ä¤«¤· #OKX 2 ¤ª¤Ò¤ä¤· ¤ªÎä¤ä¤· #OKX 2 ¤ª¤Ò¤é¤­ ¤ª¤Ò¤é¤­ #OKX 1 ¤ª¤Ò¤é¤­ ¤ª³«¤­ #OKX 58 ¤ª¤Ò¤ë¤ß ¤ª¶±¤ß #M5r 0 ¤ª¤Ò¤ë¤ß ¤ª¤Ò¤ë¤ß #OKX 0 ¤ª¤Ò¤ì Èø¤Ò¤ì #T35 1 ¤ª¤Ò¤í¤¤ ¤ª½¦¤¤ #OKX 32 ¤ª¤Ò¤í¤¬¤ê ¤ª¹­¤¬¤ê #OKX 1 ¤ª¤Ò¤í¤² ¤ª¤Ò¤í¤² #OKX 1 ¤ª¤Ò¤í¤² ¤ª¹­¤² #OKX 16 ¤ª¤Ò¤í¤á ¤ª¹­¤á #OKX 3 ¤ª¤Ò¤í¤á ¤ªÈäϪÌÜ #T30 0 ¤ª¤Ó ÂÓ¤Ó #KS 1 ¤ª¤Ó ÂÓ #T35 2 ¤ª¤Ó¤¸¤ç¤¦ ÂÓ¾õ #T35 0 ¤ª¤Ó¤¿¤À¤· Ô #KY 0 ¤ª¤Ó¤¿¤À¤· ¤ª¤Ó¤¿¤À¤· #KY 1 ¤ª¤Ó¤¿¤À¤·¤å¤¦ Ô¤å¤¦ #KYU 0 ¤ª¤Ó¤¿¤À¤·¤å¤¦ ¤ª¤Ó¤¿¤À¤·¤å¤¦ #KYU 1 ¤ª¤Ó¤È¤± ÂÓ²ò #JCN 0 ¤ª¤Ó¤Ò¤í ÂÓ¹­ #CN 0 ¤ª¤Ó¤ä¤« ¶¼¤« #OKX 1 ¤ª¤Ó¤é ¾®Ê¿ #JCN 0 ¤ª¤Õ ¥ª¥Õ #T30 33 ¤ª¤Õ¤£¤¹ ¥ª¥Õ¥£¥¹ #T35 9 ¤ª¤Õ¤¨ ¤ª¤Õ¤¨ #OKX 1 ¤ª¤Õ¤¨ ¤ªÁý¤¨ #OKX 94 ¤ª¤Õ¤«¤Þ¤ê ¤ª¿¼¤Þ¤ê #OKX 1 ¤ª¤Õ¤«¤á ¤ª¿¼¤á #OKX 3 ¤ª¤Õ¤­ ¤ªÊ®¤­ #OKX 1 ¤ª¤Õ¤­ ¤ª¿á¤­ #OKX 58 ¤ª¤Õ¤­ ¤ª¿¡¤­ #OKX 6 ¤ª¤Õ¤¯¤ß ¤ª´Þ¤ß #OKX 228 ¤ª¤Õ¤¯¤é¤ß ¤ªËĤé¤ß #OKX 0 ¤ª¤Õ¤¯¤ì ¤ªËĤì #OKX 0 ¤ª¤Õ¤¯¤ì ¤ª¤Õ¤¯¤ì #OKX 1 ¤ª¤Õ¤± ¤ªÏ·¤± #OKX 0 ¤ª¤Õ¤µ¤® ¤ªºÉ¤® #OKX 0 ¤ª¤Õ¤¶¤± ¤ª¤Õ¤¶¤± #OKX 2 ¤ª¤Õ¤»¤® ¤ªËɤ® #OKX 15 ¤ª¤Õ¤»¤Ã¤È ¥ª¥Õ¥»¥Ã¥È #T35 29 ¤ª¤Õ¤È¤ê ¤ª¤Õ¤È¤ê #OKX 1 ¤ª¤Õ¤È¤ê ¤ªÂÀ¤ê #OKX 32 ¤ª¤Õ¤Þ¤¨ ¤ª¤Õ¤Þ¤¨ #OKX 1 ¤ª¤Õ¤Þ¤¨ ¤ªÆ§¤Þ¤¨ #OKX 2 ¤ª¤Õ¤ß ¤ªÆ§¤ß #OKX 73 ¤ª¤Õ¤ä¤· ¤ª¿£¤ä¤· #OKX 0 ¤ª¤Õ¤ä¤· ¤ª¤Õ¤ä¤· #OKX 1 ¤ª¤Õ¤ä¤· ¤ªÁý¤ä¤· #OKX 36 ¤ª¤Õ¤é¤· ¤ª¹ß¤é¤· #OKX 0 ¤ª¤Õ¤ê ¤ª¿¶¤ê #OKX 27 ¤ª¤Õ¤ê¤³¤ß ¤ª¿¶¤ê¹þ¤ß #OKX 6 ¤ª¤Õ¤ê¤½¤½¤® ¤ª¹ß¤êÃí¤® #OKX 0 ¤ª¤Õ¤ê¤à¤­ ¤ª¤Õ¤ê¤à¤­ #OKX 1 ¤ª¤Õ¤ê¤à¤­ ¤ª¿¶¤ê¸þ¤­ #OKX 2 ¤ª¤Õ¤ë¤¤ ¤ªÊ³¤¤ #OKX 1 ¤ª¤Õ¤ë¤¤ ¤ª¿Ì¤¤ #OKX 12 ¤ª¤Õ¤ë¤¤ ¤ª¿¶¤ë¤¤ #OKX 2 ¤ª¤Õ¤ë¤¨ ¤ª¿Ì¤¨ #OKX 0 ¤ª¤Õ¤ë¤Ó ¤ª¸Å¤Ó #OKX 1 ¤ª¤Õ¤ë¤Þ¤¤ ¤ª¤Õ¤ë¤Þ¤¤ #OKX 0 ¤ª¤Õ¤ë¤Þ¤¤ ¤ª¿¶¤ëÉñ¤¤ #OKX 1 ¤ª¤Õ¤ë¤Þ¤¤ ¤ª¿¶Éñ¤¤ #OKX 14 ¤ª¤Õ¤ì ¤ª¿¨¤ì #T30 0 ¤ª¤Õ¤ì¤³ ¥ª¥Õ¥ì¥³ #T35 2 ¤ª¤Ö¤¸¤§ ¥ª¥Ö¥¸¥§ #T35 0 ¤ª¤Ö¤¸¤§¤¯¤È ¥ª¥Ö¥¸¥§¥¯¥È #T35 255 ¤ª¤Ö¤» ¾®ÉÛ»Ü #JCN 0 ¤ª¤Ö¤Ä ±øÊª #T35 0 ¤ª¤×¤·¤ç¤ó ¥ª¥×¥·¥ç¥ó #T35 199 ¤ª¤×¤Æ¤£¤Þ¤¤¤º ¥ª¥×¥Æ¥£¥Þ¥¤¥º #T30 3 ¤ª¤Ø¤À¤Æ ¤ª³Ö¤Æ #OKX 0 ¤ª¤Ø¤ä ¤ªÉô²° #T35 1 ¤ª¤Ø¤é¤· ¤ª¸º¤é¤· #OKX 39 ¤ª¤Ø¤ê ¤ª¸º¤ê #OKX 29 ¤ª¤Ø¤ó¤¸ ¸æÊÖ»ö #T30 0 ¤ª¤Ø¤ó¤¸ ¤ªÊÖ»ö #T30 52 ¤ª¤Ù¤Ã¤« ¤ª¤Ù¤Ã¤« #T35 0 ¤ª¤Ù¤ó¤Á¤ã¤é ¤ª¤Ù¤ó¤Á¤ã¤é #T35 0 ¤ª¤Ú¤³¡¼¤É ¥ª¥Ú¥³¡¼¥É #T35 1 ¤ª¤Ú¤é ¥ª¥Ú¥é #T35 9 ¤ª¤Ú¤é¤ó¤É ¥ª¥Ú¥é¥ó¥É #T35 2 ¤ª¤Ú¤ì¡¼¤·¤ç¤Ê¤ë ¥ª¥Ú¥ì¡¼¥·¥ç¥Ê¥ë #T15 1 ¤ª¤Ú¤ì¡¼¤·¤ç¤ó ¥ª¥Ú¥ì¡¼¥·¥ç¥ó #T30 16 ¤ª¤Ú¤ì¡¼¤¿ ¥ª¥Ú¥ì¡¼¥¿ #T35 2 ¤ª¤Ú¤ì¡¼¤¿¡¼ ¥ª¥Ú¥ì¡¼¥¿¡¼ #T35 1 ¤ª¤Ú¤ì¡¼¤Æ¤£¤ó¤° ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° #T35 5 ¤ª¤Ú¤ì¡¼¤Æ¤£¤ó¤°¤·¤¹¤Æ¤à ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à #T35 15 ¤ª¤Û¤¦¤ê ¤ªÊü¤ê #OKX 4 ¤ª¤Û¤³¤ê ¤ª¸Ø¤ê #OKX 3 ¤ª¤Û¤· ¤ª´³¤· #OKX 25 ¤ª¤Û¤½¤ê ¤ªºÙ¤ê #OKX 4 ¤ª¤Û¤É¤­ ¤ª²ò¤­ #OKX 6 ¤ª¤Û¤É¤³¤· ¤ª»Ü¤· #OKX 14 ¤ª¤Û¤Í¤ª¤ê ¤ª¹üÀÞ¤ê #OKX 0 ¤ª¤Û¤Û¤¨¤ß ¤ªÈù¾Ð¤ß #OKX 2 ¤ª¤Û¤á ¤ªË«¤á #OKX 13 ¤ª¤Û¤á ¤ªÍÀ¤á #OKX 3 ¤ª¤Û¤ê ¤ªÄ¦¤ê #OKX 1 ¤ª¤Û¤ê ¤ª¤Û¤ê #OKX 38 ¤ª¤Û¤ê ¤ª·¡¤ê #OKX 5 ¤ª¤Û¤ì ¤ª¹û¤ì #OKX 0 ¤ª¤Û¤í¤Ü¤· ¤ªÌǤܤ· #OKX 0 ¤ª¤Ü¤¨ ¤ª¤Ü¤¨ #KSr 4 ¤ª¤Ü¤¨ ²±¤¨ #KSr 7 ¤ª¤Ü¤¨ ³Ð¤¨ #KSr 70 ¤ª¤Ü¤¨¤¬¤­ ³Ð½ñ #T35 10 ¤ª¤Ü¤· »×¤· #KY 1 ¤ª¤Ü¤·¤å¤¦ »×¤·¤å¤¦ #KYU 1 ¤ª¤Ü¤Ä¤«¤Ê ¤ª¤Ü¤Ä¤«¤Ê #KY 1 ¤ª¤Ü¤Ä¤«¤Î¤¦ ¤ª¤Ü¤Ä¤«¤Î¤¦ #KYU 1 ¤ª¤Ü¤ì Å®¤ì #KS 2 ¤ª¤Ü¤í ¤ª¤Ü¤í #T06 0 ¤ª¤Ü¤í Û°¤í #T06 0 ¤ª¤Þ¤¤ ¤ªÉñ¤¤ #OKX 34 ¤ª¤Þ¤¤¤ê ¤ª¤Þ¤¤¤ê #OKX 14 ¤ª¤Þ¤¤¤ê ¤ª·Ø¤ê #T30 0 ¤ª¤Þ¤¤¤ê ¸æ»²¤ê #T30 0 ¤ª¤Þ¤¤¤ê ¤ª»²¤ê #T30 1 ¤ª¤Þ¤¨ ¤ªÁ° #T35 4 ¤ª¤Þ¤¨¤¶¤­ ¸æÁ°ºê #CN 0 ¤ª¤Þ¤«¤» ¤ª°Ñ¤» #OKX 0 ¤ª¤Þ¤«¤» ¤ª¤Þ¤«¤» #OKX 2 ¤ª¤Þ¤«¤» ¤ªÇ¤¤» #OKX 26 ¤ª¤Þ¤«¤Ê¤¤ ¤ªÏŤ¤ #OKX 1 ¤ª¤Þ¤¬¤ê ¤ª¶Ê¤ê #OKX 0 ¤ª¤Þ¤¬¤ê ¤ª¶Ê¤¬¤ê #OKX 5 ¤ª¤Þ¤­ ¤ª·þ¤­ #OKX 0 ¤ª¤Þ¤­ ¤ª»µ¤­ #OKX 1 ¤ª¤Þ¤­ ¤ª¼¬¤­ #OKX 1 ¤ª¤Þ¤­ ¤ª¤Þ¤­ #OKX 4 ¤ª¤Þ¤­ ¤ª´¬¤­ #OKX 80 ¤ª¤Þ¤®¤é¤· ¤ªÊ¶¤é¤· #OKX 0 ¤ª¤Þ¤®¤ì ¤ªÊ¶¤ì #OKX 2 ¤ª¤Þ¤± ¤ªÉ餱 #OKX 25 ¤ª¤Þ¤± ¤ªÇÔ¤± #OKX 8 ¤ª¤Þ¤± ¤ª¤Þ¤± #T30 6 ¤ª¤Þ¤±¤Ë ¤ª¤Þ¤±¤Ë #CJ 1 ¤ª¤Þ¤² ¤ª¶Ê¤² #OKX 3 ¤ª¤Þ¤´¤µ¤ó ¤ªÂ¹¤µ¤ó #T35 0 ¤ª¤Þ¤¶¤ê ¤ª¸ò¤¶¤ê #OKX 1 ¤ª¤Þ¤¶¤ê ¤ªº®¤¶¤ê #OKX 9 ¤ª¤Þ¤· ¤ªÁý¤· #OKX 33 ¤ª¤Þ¤¸¤¨ ¤ª¸ò¤¨ #OKX 4 ¤ª¤Þ¤¸¤Ê¤¤ ¤ª¤Þ¤¸¤Ê¤¤ #T35 1 ¤ª¤Þ¤¸¤ê ¤ª¸ò¤¸¤ê #OKX 3 ¤ª¤Þ¤¸¤ê ¤ªº®¤¸¤ê #OKX 4 ¤ª¤Þ¤¸¤ï¤ê ¤ª¸ò¤ï¤ê #OKX 2 ¤ª¤Þ¤¼ ¤ªº®¤¼ #OKX 8 ¤ª¤Þ¤¿ ¾®Ëó #JNS 0 ¤ª¤Þ¤¿ Èø¸Ô #JNS 0 ¤ª¤Þ¤¿¤¬¤ê ¤ª¸Ù¤ê #OKX 19 ¤ª¤Þ¤¿¤® ¤ª¸Ù¤® #OKX 10 ¤ª¤Þ¤¿¤» ¤ªÂÔ¤¿¤» #OKX 0 ¤ª¤Þ¤¿¤¿¤­ ¤ª½Ö¤­ #OKX 3 ¤ª¤Þ¤Á ¤ªÂÔ¤Á #OKX 72 ¤ª¤Þ¤Á¤¬¤¤ ¤ª´Ö°ã¤¤ #OKX 213 ¤ª¤Þ¤Á¤Î¤¾¤ß ¤ªÂÔ¤Á˾¤ß #OKX 1 ¤ª¤Þ¤Ä¤ê ¤ªÊô¤ê #OKX 1 ¤ª¤Þ¤Ä¤ê ¤ªº×¤ê #T30 1 ¤ª¤Þ¤È¤á ¤ª¤Þ¤È¤á #OKX 80 ¤ª¤Þ¤É¤¤ ¤ªÏǤ¤ #OKX 0 ¤ª¤Þ¤Ê¤Ó ¤ª³Ø¤Ó #OKX 10 ¤ª¤Þ¤Ì¤«¤ì ¤ªÌȤì #OKX 0 ¤ª¤Þ¤Ì¤¬¤ì ¤ªÌȤì #OKX 1 ¤ª¤Þ¤Í¤­ ¤ª¾·¤­ #OKX 8 ¤ª¤Þ¤Ð¤¿¤­ ¤ª½Ö¤­ #OKX 1 ¤ª¤Þ¤â¤ê ¤ª¤Þ¤â¤ê #OKX 1 ¤ª¤Þ¤â¤ê ¤ª¸î¤ê #OKX 1 ¤ª¤Þ¤â¤ê ¤ª¼é¤ê #T30 0 ¤ª¤Þ¤è¤¤ ¤ªÌ¤¤ #OKX 14 ¤ª¤Þ¤ï¤· ¤ª¤Þ¤ï¤· #OKX 16 ¤ª¤Þ¤ï¤· ¤ª²ö¤· #OKX 3 ¤ª¤Þ¤ï¤· ¤ª²ó¤· #OKX 94 ¤ª¤Þ¤ï¤ê ¤ª²ó¤ê #OKX 105 ¤ª¤Þ¤ï¤ê ¤ª¤Þ¤ï¤ê #OKX 23 ¤ª¤Þ¤ï¤ê ¤ª²ö¤ê #OKX 3 ¤ª¤Þ¤ï¤ê ¤ª½ä¤ê #T35 10 ¤ª¤ß ËãÀÓ #JCN 0 ¤ª¤ß ÈøÈþ #JNS 0 ¤ª¤ß ¿Ã #KJ 0 ¤ª¤ß¤¢¤¤ ¤ª¸«¹ç¤¤ #OKX 1 ¤ª¤ß¤¦¤± ¤ª¸«¼õ¤± #OKX 2 ¤ª¤ß¤¨ ¤ª¤ß¤¨ #OKX 1 ¤ª¤ß¤¨ ¤ª¸«¤¨ #OKX 150 ¤ª¤ß¤ª¤¯¤ê ¤ª¸«Á÷¤ê #OKX 7 ¤ª¤ß¤ª¤Ä¤± ¤ª¤ß¤ª¤Ä¤± #T35 0 ¤ª¤ß¤ª¤È¤· ¤ª¸«Í #OKX 1 ¤ª¤ß¤ª¤È¤· ¤ª¸«Íî¤È¤· #OKX 3 ¤ª¤ß¤«¤± ¤ª¸«¤«¤± #OKX 6 ¤ª¤ß¤¬¤­ ¤ª¸¦¤­ #OKX 0 ¤ª¤ß¤¬¤­ ¤ªË᤭ #OKX 1 ¤ª¤ß¤¬¤ï ¾®¸«Àî #JCN 0 ¤ª¤ß¤¯¤¸ ¤ª¤ß¤¯¤¸ #T35 0 ¤ª¤ß¤¯¤í¤ó ¦¯ #T35 1 ¤ª¤ß¤¯¤í¤ó ¦Ï #T35 1 ¤ª¤ß¤¹¤Æ ¤ª¸«¼Î¤Æ #OKX 2 ¤ª¤ß¤» ¤ª¤ß¤» #OKX 3 ¤ª¤ß¤» ¤ª¸«¤» #OKX 38 ¤ª¤ß¤¿¤Æ ¤ª¸«Î©¤Æ #OKX 0 ¤ª¤ß¤À¤· ¤ªÍ𤷠#OKX 2 ¤ª¤ß¤À¤ì ¤ªÍð¤ì #OKX 11 ¤ª¤ß¤Á ¤ªËþ¤Á #OKX 1 ¤ª¤ß¤Á¤¬¤¨ ¤ª¸«°ã¤¨ #OKX 0 ¤ª¤ß¤Á¤Ó¤­ ¤ªÆ³¤­ #OKX 6 ¤ª¤ß¤Ä¤¯¤í¤¤ ¤ª¸«Á¶¤¤ #OKX 0 ¤ª¤ß¤Ä¤â¤ê ¤ª¸«ÀѤâ¤ê #OKX 9 ¤ª¤ß¤È¤á ¤ªÇ§¤á #OKX 29 ¤ª¤ß¤È¤á ¤ª¤ß¤È¤á #OKX 4 ¤ª¤ß¤È¤ê ¤ª´Ç¼è¤ê #OKX 0 ¤ª¤ß¤Î¤¬¤· ¤ª¸«Æ¨¤· #OKX 4 ¤ª¤ß¤Þ¤¤ ¤ª¸«Éñ¤¤ #OKX 0 ¤ª¤ß¤Þ¤¤ ¸æ¸«Éñ #T30 0 ¤ª¤ß¤Þ¤¤ ¤ª¸«Éñ #T30 4 ¤ª¤à¤«¤¤ ¤ª¸þ¤«¤¤ #OKX 40 ¤ª¤à¤«¤¨ ¤ª·Þ¤¨ #OKX 6 ¤ª¤à¤­ ¤ªÇí¤­ #OKX 0 ¤ª¤à¤­ ¤ª¸þ¤­ #OKX 104 ¤ª¤à¤± ¤ª¸þ¤± #OKX 27 ¤ª¤à¤· ¤ª¾ø¤· #OKX 3 ¤ª¤à¤¹¤Ó ¤ª·ë¤Ó #OKX 33 ¤ª¤à¤¹¤Ó ¤ª¤à¤¹¤Ó #T35 0 ¤ª¤à¤»¤Ó ¤ª°ö¤Ó #OKX 0 ¤ª¤à¤Ë¤Ð¤¹ ¥ª¥à¥Ë¥Ð¥¹ #T35 3 ¤ª¤à¤é¤¤¤¹ ¥ª¥à¥é¥¤¥¹ #T35 1 ¤ª¤à¤ì¤Ä ¥ª¥à¥ì¥Ä #T35 0 ¤ª¤à¤í¤ó £Ï£Í£Ò£Ï£Î #KK 11 ¤ª¤à¤í¤ó ¥ª¥à¥í¥ó #KK 4 ¤ª¤á¤¤ ±øÌ¾ #T35 0 ¤ª¤á¤¤¤· ¤ªÌ¾»É #T35 0 ¤ª¤á¤¬ ¦¸ #T35 1 ¤ª¤á¤¬ ¦Ø #T35 1 ¤ª¤á¤°¤ß ¤ª·Ã¤ß #OKX 4 ¤ª¤á¤°¤ê ¤ª½ä¤ê #OKX 1 ¤ª¤á¤°¤ê ¤ª¤á¤°¤ê #OKX 11 ¤ª¤á¤¶¤· ¤ªÌܻؤ· #OKX 18 ¤ª¤á¤¶¤á ¤ªÌܳФá #OKX 2 ¤ª¤á¤· ¤ª¾¤¤· #OKX 7 ¤ª¤á¤º¤é¤·¤å¤¦ ¤ªÄÁ¤·¤å¤¦ #KYU 2 ¤ª¤á¤À¤Á ¤ªÌÜΩ¤Á #OKX 10 ¤ª¤á¤Ç¤¿ ¤ª¤á¤Ç¤¿ #KY 0 ¤ª¤á¤Ç¤¿ ¤ªÌܽÐÅÙ #KY 0 ¤ª¤á¤Ç¤¿ ¤ª¤á¤Ç¤¿ #T35 0 ¤ª¤á¤Ç¤È¤¦ ¤ª¤á¤Ç¤È¤¦ #CJ 22 ¤ª¤á¤Ç¤È¤¦ ¤ª¤á¤Ç¤È¤¦ #KYU 0 ¤ª¤á¤Ç¤È¤¦ ¤ªÌܽÐÅÙ¤¦ #KYU 0 ¤ª¤á¤Ë¤«¤« ¤ªÌܤˤ«¤« #R5 5 ¤ª¤â ½Å #KJ 1 ¤ª¤â ÌÌ #KJ 1 ¤ª¤â ½Å #KYmime 43 ¤ª¤â ¼ç #T05 82 ¤ª¤â ¤ª¤â #W5r 2 ¤ª¤â »× #W5r 255 ¤ª¤â ÁÛ #W5r 3 ¤ª¤â¤¤¤¢¤¿ »×¤¤Åö¤¿ #R5r 1 ¤ª¤â¤¤¤ª¤³ »×¤¤µ¯¤³ #S5 1 ¤ª¤â¤¤¤«¤¨ »×¤¤ÊÖ #S5 0 ¤ª¤â¤¤¤¬¤±¤Ê »×¤¤¤¬¤±¤Ê #KY 1 ¤ª¤â¤¤¤¬¤±¤Î¤¦ »×¤¤¤¬¤±¤Î¤¦ #KYU 1 ¤ª¤â¤¤¤­ »×¤¤ÀÚ #R5r 4 ¤ª¤â¤¤¤­¤ä »×¤¤¤­¤ä #CJ 0 ¤ª¤â¤¤¤³ »×¤¤¹þ #M5r 4 ¤ª¤â¤¤¤· »×¤¤ÃÎ #R5 1 ¤ª¤â¤¤¤¿ »×¤¤Î© #T5 1 ¤ª¤â¤¤¤À »×¤¤¤À #S5 1 ¤ª¤â¤¤¤À »×¤¤½Ð #S5 18 ¤ª¤â¤¤¤À ¤ª¤â¤¤¤À #S5 3 ¤ª¤â¤¤¤Á¤¬¤¤ »×¤¤°ã¤¤ #T30 1 ¤ª¤â¤¤¤Ä »×¤¤¤Ä #K5r 6 ¤ª¤â¤¤¤Ä »×¤¤ÉÕ #K5r 8 ¤ª¤â¤¤¤Ä¤á »×¤¤µÍ¤á #KS 0 ¤ª¤â¤¤¤Ç »×¤¤½Ð #T35 3 ¤ª¤â¤¤¤Ç ÁÛ¤¤½Ð #T35 4 ¤ª¤â¤¤¤Ê¤ª »×¤¤Ä¾ #S5r 1 ¤ª¤â¤¤¤Î¤³ »×¤¤»Ä #R5r 0 ¤ª¤â¤¤¤Î¤³ »×¤¤»Ä #S5r 0 ¤ª¤â¤¤¤ä »×¤¤¤ä #R5r 2 ¤ª¤â¤¦ ½Å¤¦ #KYU 2 ¤ª¤â¤¦¤± ¤ª¤â¤¦¤± #OKX 1 ¤ª¤â¤¦¤± ¤ªÀߤ± #OKX 31 ¤ª¤â¤¦¤± ¤ªÌÙ¤± #OKX 5 ¤ª¤â¤¦¤·¤³¤ß ¤ª¿½¤·¹þ¤ß #T30 65 ¤ª¤â¤¨ ¤ªË¨¤¨ #OKX 0 ¤ª¤â¤¨ ¤ªÇ³¤¨ #OKX 4 ¤ª¤â¤ª¤â¤· ½Å¡¹¤· #KY 0 ¤ª¤â¤ª¤â¤·¤å¤¦ ½Å¡¹¤·¤å¤¦ #KYU 0 ¤ª¤â¤«¤² ÌÌ±Æ #T35 1 ¤ª¤â¤¬ ½Å¤¬ #R5 0 ¤ª¤â¤¯¤ë¤· ½Å¶ì¤· #KY 1 ¤ª¤â¤¯¤ë¤·¤å¤¦ ½Å¶ì¤·¤å¤¦ #KYU 1 ¤ª¤â¤°¤ê ¤ªÀø¤ê #OKX 1 ¤ª¤â¤´ ÌÌ²Ï #JCN 0 ¤ª¤â¤¶¤· Ì̺¹¤· #T35 0 ¤ª¤â¤·¤í ¤ª¤â¤·¤í #KYmi 2 ¤ª¤â¤·¤í ÌÌÇò #KYmi 82 ¤ª¤â¤·¤í ¤ª¤â¤·¤í #T35 1 ¤ª¤â¤·¤í ÌÌÇò #T35 62 ¤ª¤â¤·¤í¤¦ ¤ª¤â¤·¤í¤¦ #KYU 1 ¤ª¤â¤·¤í¤¦ ÌÌÇò¤¦ #KYU 2 ¤ª¤â¤·¤í¤¬ ¤ª¤â¤·¤í¤¬ #R5 0 ¤ª¤â¤·¤í¤¬ ÌÌÇò¤¬ #R5 0 ¤ª¤â¤·¤í¤¬ ÌÌÇò¤¬ #R5r 0 ¤ª¤â¤¿ ½Å¤¿ #KY 7 ¤ª¤â¤¿¤¬ ½Å¤¿¤¬ #R5 0 ¤ª¤â¤À¤¨ ¤ªÌ夨 #OKX 0 ¤ª¤â¤Á ¤ª¤â¤Á #OKX 19 ¤ª¤â¤Á ¤ª»ý¤Á #OKX 255 ¤ª¤â¤Á¤¢¤ë¤­ ¤ª»ý¤ÁÊ⤭ #OKX 1 ¤ª¤â¤Á¤³¤ß ¤ª»ý¤Á¹þ¤ß #OKX 14 ¤ª¤â¤Á¤À¤· ¤ª»ý¤Á½Ð¤· #OKX 1 ¤ª¤â¤Á¤Ï¤³¤Ó ¤ª»ý¤Á±¿¤Ó #OKX 0 ¤ª¤â¤Á¤ã ´á¶ñ #T35 7 ¤ª¤â¤Æ ÌÌ #T35 0 ¤ª¤â¤Æ ɽ #T35 2 ¤ª¤â¤Æ¤¬¤­ ɽ½ñ¤­ #T30 0 ¤ª¤â¤Æ¤¬¤ï ɽ¦ #T35 0 ¤ª¤â¤Æ¤°¤Á ɽ¸ý #T35 1 ¤ª¤â¤Æ¤´¤¦ ɽ¶¿ #JCN 0 ¤ª¤â¤Æ¤µ¤ó¤É¤¦ ɽ»²Æ» #CN 0 ¤ª¤â¤Æ¤¸ ɽÃÏ #T35 0 ¤ª¤â¤Æ¤à¤­ ɽ¸þ¤­ #T35 0 ¤ª¤â¤È¤¦ ½Å¤È¤¦ #KYU 1 ¤ª¤â¤È¤á ¤ªµá¤á #OKX 69 ¤ª¤â¤É¤· ¤ªÌᤷ #OKX 182 ¤ª¤â¤É¤ê ¤ªÌá¤ê #OKX 248 ¤ª¤â¤Ë ¼ç¤Ë #F14 0 ¤ª¤â¤Ë ¤ª¤â¤Ë #F14 1 ¤ª¤â¤Ë ½Å²Ù #T35 2 ¤ª¤â¤Í ¤ª¤â¤Í #R5r 0 ¤ª¤â¤Í °¤ #R5r 0 ¤ª¤â¤Î¤¬¤ï ͺʪÀî #CN 0 ¤ª¤â¤ß ¤ª¤â¤ß #OKX 12 ¤ª¤â¤ß ¤ªÙæ¤ß #OKX 3 ¤ª¤â¤à Éë #K5 1 ¤ª¤â¤à¤­ ¼ñ #T35 2 ¤ª¤â¤à¤í¤Ë ¤ª¤â¤à¤í¤Ë #F14 2 ¤ª¤â¤á ¤ªÙæ¤á #OKX 1 ¤ª¤â¤á ¤ª¤â¤á #OKX 5 ¤ª¤â¤â¤Á ÌÌ»ý¤Á #T35 0 ¤ª¤â¤ä Êì²° #T35 0 ¤ª¤â¤ä¤· ¤ªÇ³¤ä¤· #OKX 0 ¤ª¤â¤é¤· ¤ªÏ³¤é¤· #OKX 1 ¤ª¤â¤ê ¤ª¤â¤ê #OKX 2 ¤ª¤â¤ê ¤ªÀ¹¤ê #OKX 3 ¤ª¤â¤ì ¤ª±Ì¤ì #OKX 9 ¤ª¤â¤í ¤ª¤â¤í #KY 0 ¤ª¤â¤í ¥ª¥â¥í #KY 0 ¤ª¤â¤í¤¦ ¤ª¤â¤í¤¦ #KYU 0 ¤ª¤â¤ï¤¯ »×ÏÇ #T35 1 ¤ª¤â¤ï¤· »×¤ï¤· #KY 2 ¤ª¤â¤ï¤·¤å¤¦ »×¤ï¤·¤å¤¦ #KYU 1 ¤ª¤â¤ï¤º »×¤ï¤º #F14 0 ¤ª¤â¤ï¤º »×¤ï¤º #T36 0 ¤ª¤â¤ó ½Å¤ó #ZX 3 ¤ª¤â¤ó¤Ñ¤« θ #R5r 1 ¤ª¤ä ¤ª¤ä #CJ 2 ¤ª¤ä ¤ª¤ä #T35 2 ¤ª¤ä ¿Æ #T35 61 ¤ª¤ä¤«¤¿ ¿ÆÊý #T35 1 ¤ª¤ä¤­ ¤ª¤ä¤­ #OKX 1 ¤ª¤ä¤­ ¤ª¼Þ¤­ #OKX 1 ¤ª¤ä¤­ ¤ªÅʤ­ #OKX 10 ¤ª¤ä¤­ ¤ª¾Æ¤­ #OKX 31 ¤ª¤ä¤¯¤½¤¯ ¤ªÌó« #T30 4 ¤ª¤ä¤± ¤ª¾Æ¤± #OKX 1 ¤ª¤ä¤³ ¿Æ»Ò #T35 5 ¤ª¤ä¤³¤¦¤³¤¦ ¿Æ¹§¹Ô #T00 1 ¤ª¤ä¤¸ ¿ÆÉã #T35 4 ¤ª¤ä¤¹¤Þ¤ê ¤ªµÙ¤Þ¤ê #OKX 0 ¤ª¤ä¤¹¤ß ¤ª¤ä¤¹¤ß #OKX 13 ¤ª¤ä¤¹¤ß ¤ªµÙ¤ß #OKX 39 ¤ª¤ä¤¹¤ß ¤ª¤ä¤¹¤ß #T35 12 ¤ª¤ä¤¹¤é¤® ¤ª°Â¤é¤® #OKX 1 ¤ª¤ä¤» ¤ªÁ餻 #OKX 3 ¤ª¤ä¤À¤Þ ¿Æ¶Ì #T35 1 ¤ª¤ä¤È¤¤ ¤ª¸Û¤¤ #OKX 1 ¤ª¤ä¤É¤ê ¤ª½É¤ê #OKX 1 ¤ª¤ä¤Ð¤« ¿ÆÇϼ¯ #T05 0 ¤ª¤ä¤Õ¤³¤¦ ¿ÆÉÔ¹§ #T00 0 ¤ª¤ä¤Ö¤ê ¤ªÇˤê #OKX 3 ¤ª¤ä¤Ö¤ì ¤ªÇÔ¤ì #OKX 0 ¤ª¤ä¤Ö¤ó ¿ÆÊ¬ #T35 2 ¤ª¤ä¤Ù ¾®ÌðÉô #JCN 0 ¤ª¤ä¤Þ ¾®»³ #JCN 0 ¤ª¤ä¤ß ¤ªÉÂ¤ß #OKX 1 ¤ª¤ä¤ß ¤ª¤ä¤ß #OKX 199 ¤ª¤ä¤á ¤ª»ß¤á #OKX 29 ¤ª¤ä¤á ¤ª¼­¤á #OKX 4 ¤ª¤ä¤â¤È ¿Æ¸µ #T35 0 ¤ª¤ä¤æ¤Ó ¿Æ»Ø #T35 1 ¤ª¤ä¤ê ¤ª¸¯¤ê #OKX 0 ¤ª¤ä¤ê ¤ª¤ä¤ê #OKX 195 ¤ª¤æ ¤ªÅò #T35 2 ¤ª¤æ¤¤ ¤ª·ë¤¤ #OKX 13 ¤ª¤æ¤­ ¤ªÀ¤­ #K5 0 ¤ª¤æ¤­ ¤ª±ý¤­ #OKX 0 ¤ª¤æ¤­ ¤ª¹Ô¤­ #OKX 22 ¤ª¤æ¤­ ¤ª¤æ¤­ #OKX 45 ¤ª¤æ¤¹¤® ¤ªÂõ¤® #OKX 0 ¤ª¤æ¤¹¤ê ¤ª¤æ¤¹¤ê #OKX 1 ¤ª¤æ¤º¤ê ¤ª¾ù¤ê #OKX 7 ¤ª¤æ¤À¤Í ¤ª°Ñ¤Í #OKX 2 ¤ª¤æ¤Ç ¤ª¤æ¤Ç #OKX 2 ¤ª¤æ¤ë¤· ¤ªµö¤· #T30 9 ¤ª¤æ¤ë¤ß ¤ª´Ë¤ß #OKX 4 ¤ª¤æ¤ë¤á ¤ª´Ë¤á #OKX 0 ¤ª¤æ¤ï¤¨ ¤ª·ë¤ï¤¨ #OKX 0 ¤ª¤è ¤ª¤è #B5r 2 ¤ª¤è µÚ #B5r 247 ¤ª¤è ±Ë #G5r 8 ¤ª¤è¤¤ ¤ª¿ì¤¤ #OKX 68 ¤ª¤è¤± ¤ªÈò¤± #OKX 1 ¤ª¤è¤´¤· ¤ª±ø¤· #OKX 1 ¤ª¤è¤´¤ì ¤ª±ø¤ì #OKX 1 ¤ª¤è¤· ¤ª»ß¤· #OKX 0 ¤ª¤è¤· ¤ª¤è¤· #OKX 70 ¤ª¤è¤» ¤ª´ó¤» #OKX 10 ¤ª¤è¤½ ¤ª¤è¤½ #F14 3 ¤ª¤è¤½ ¤ª¤è¤½ #T35 3 ¤ª¤è¤Ó µÚ¤Ó #CJ 2 ¤ª¤è¤Ó ¤ª¤è¤Ó #CJ 200 ¤ª¤è¤Ó ¤ª¤è¤Ó #OKX 8 ¤ª¤è¤Ó ¤ª¸Æ¤Ó #T30 0 ¤ª¤è¤Ó¤«¤± ¤ª¸Æ¤Ó¤«¤± #OKX 2 ¤ª¤è¤Ó¤´¤· µÚ¤Ó¹ø #T15 0 ¤ª¤è¤Ó¤À¤· ¤ª¸Æ¤Ó½Ð¤· #OKX 139 ¤ª¤è¤Ü ¤ª¤è¤Ü #S5 2 ¤ª¤è¤Ü µÚ¤Ü #S5 6 ¤ª¤è¤ß ¤ª±Ó¤ß #OKX 2 ¤ª¤è¤ß ¤ªÆÉ¤ß #OKX 255 ¤ª¤è¤ß¤¢¤² ¤ªÆÉ¤ß¾å¤² #OKX 1 ¤ª¤è¤ê ¤ªÁª¤ê #OKX 0 ¤ª¤è¤ê ¤ª°Í¤ê #OKX 4 ¤ª¤è¤ê ¤ª´ó¤ê #OKX 64 ¤ª¤è¤ê ¤ª¤è¤ê #OKX 94 ¤ª¤è¤ê ¤ªÇ²¤ê #R5r 0 ¤ª¤è¤í¤³¤Ó ¤ª±Ù¤Ó #OKX 0 ¤ª¤è¤í¤³¤Ó ¤ª´¿¤Ó #OKX 0 ¤ª¤è¤í¤³¤Ó ¤ª¤è¤í¤³¤Ó #OKX 1 ¤ª¤è¤í¤³¤Ó ¤ª´î¤Ó #T30 1 ¤ª¤è¤í¤³¤Ó ¤ª·Ä¤Ó #T30 2 ¤ª¤è¤ï¤á ¤ª¼å¤á #OKX 1 ¤ª¤è¤ï¤ê ¤ª¼å¤ê #OKX 11 ¤ª¤é¤ó¤¦¡¼¤¿¤ó ¥ª¥é¥ó¥¦¡¼¥¿¥ó #T35 3 ¤ª¤é¤ó¤À ¥ª¥é¥ó¥À #CN 0 ¤ª¤ê ¹ß¤ê #KS 27 ¤ª¤ê ²¼¤ê #KS 7 ¤ª¤ê Ý£ #T35 0 ¤ª¤ê ÀÞ #T35 1 ¤ª¤ê Åà #T35 1 ¤ª¤ê¤¢ ÀÞ¤ê¹ç #W5r 0 ¤ª¤ê¤¨¤ó¤Æ¤Ã¤É ¥ª¥ê¥¨¥ó¥Æ¥Ã¥É #T05 2 ¤ª¤ê¤¨¤ó¤È ¥ª¥ê¥¨¥ó¥È #CN 0 ¤ª¤ê¤ª¤ê ÀÞ¡¹ #T35 1 ¤ª¤ê¤ª¤ó ¥ª¥ê¥ª¥ó #JN 0 ¤ª¤ê¤«¤¨ ÀÞ¤êÊÖ #S5r 6 ¤ª¤ê¤«¤µ¤Ê ÀÞ¤ê½Å¤Ê #R5r 0 ¤ª¤ê¤¬¤ß ÀÞ¤ê»æ #T30 2 ¤ª¤ê¤³ ÀÞ¤ê¹þ #M5r 0 ¤ª¤ê¤³ ¿¥¤ê¹þ #M5r 2 ¤ª¤ê¤³¤ß ÀÞ¹þ #T35 1 ¤ª¤ê¤·¤â ÀÞ¤·¤â #F14 0 ¤ª¤ê¤¸¤Ê¤ë ¥ª¥ê¥¸¥Ê¥ë #T05 60 ¤ª¤ê¤¿¤¿ ÀÞ¤ê¾ö #M5r 3 ¤ª¤ê¤Ï¤é ÀÞ¸¶ #JNS 0 ¤ª¤ê¤á ÀÞ¤êÌÜ #T35 0 ¤ª¤ê¤â¤Î ¿¥Êª #T35 1 ¤ª¤ê¤ó¤Ñ¤¹ ¥ª¥ê¥ó¥Ñ¥¹ #KK 1 ¤ª¤ê¤ó¤Ô¤Ã¤¯ ¥ª¥ê¥ó¥Ô¥Ã¥¯ #T35 6 ¤ª¤ë¤´¡¼¤ë ¥ª¥ë¥´¡¼¥ë #T35 0 ¤ª¤ì ¥ª¥ì #T35 0 ¤ª¤ì ÀÞ¤ì #KSr 1 ¤ª¤ì ²¶ #T35 50 ¤ª¤ì¤¤ ¤ªÎé #T30 11 ¤ª¤ì¤¤ ¸æÎé #T30 4 ¤ª¤ì¤»¤ó ÀÞ¤ìÀþ #T35 3 ¤ª¤ì¤¿¤Á ¥ª¥ì¤¿¤Á #T35 0 ¤ª¤ì¤¿¤Á ¤ª¤ì¤¿¤Á #T35 0 ¤ª¤ì¤¿¤Á ²¶Ã£ #T35 0 ¤ª¤ì¤Þ¤¬ ÀÞ¤ì¶Ê¤¬ #R5r 0 ¤ª¤ì¤ó¤¸ ¥ª¥ì¥ó¥¸ #T35 4 ¤ª¤í ²¼¤í #S5 3 ¤ª¤í ¹ß¤í #S5 7 ¤ª¤í ²· #S5r 0 ¤ª¤í °­Ïª #T35 1 ¤ª¤í¤« ¶ò¤« #T05 2 ¤ª¤í¤«¤· ¶ò¤«¤· #KY 0 ¤ª¤í¤«¤·¤å¤¦ ¶ò¤«¤·¤å¤¦ #KYU 0 ¤ª¤í¤· ²· #T35 0 ¤ª¤í¤·¤¦¤ê ²·Çä #T30 1 ¤ª¤í¤·¤½¤¦¤Ð ²·Áê¾ì #T35 0 ¤ª¤í¤·¤Í ²·ÃÍ #T35 0 ¤ª¤í¤½¤« Á¤« #T05 2 ¤ª¤ï ½ª¤ï #R5r 139 ¤ª¤ï ½ª #R5r 160 ¤ª¤ï¤¤ ±øãÒ #T35 0 ¤ª¤ï¤«¤· ¤ªÊ¨¤«¤· #OKX 1 ¤ª¤ï¤«¤ê ¤ªÊ¬¤ê #OKX 10 ¤ª¤ï¤«¤ê ¤ª²ò¤ê #OKX 15 ¤ª¤ï¤«¤ê ¤ª¤ï¤«¤ê #OKX 199 ¤ª¤ï¤«¤ê ¤ªÊ¬¤«¤ê #OKX 255 ¤ª¤ï¤«¤ê ¤ªÈ½¤ê #OKX 31 ¤ª¤ï¤«¤ì ¤ªÊ¬¤«¤ì #OKX 10 ¤ª¤ï¤«¤ì ¤ªÊ̤ì #OKX 22 ¤ª¤ï¤± ¤ªÊ¬¤± #OKX 160 ¤ª¤ï¤± ¤ª¤ï¤± #OKX 23 ¤ª¤ï¤¹¤ì ¤ªËº¤ì #OKX 188 ¤ª¤ï¤º¤é¤¤ ¤ª´µ¤¤ #OKX 0 ¤ª¤ï¤º¤é¤¤ ¤ªÈѤ¤ #OKX 1 ¤ª¤ï¤» ÈøÏÉ #JCN 0 ¤ª¤ï¤¿¤· ¤ªÅϤ· #OKX 255 ¤ª¤ï¤¿¤ê ¤ª¹Ò¤ê #OKX 1 ¤ª¤ï¤¿¤ê ¤ªÅϤê #OKX 233 ¤ª¤ï¤¿¤ê ¤ª¤ï¤¿¤ê #OKX 5 ¤ª¤ï¤Ó ¤ªÏÍ¤Ó #OKX 0 ¤ª¤ï¤Ó ¤ªÏÍ¤Ó #T30 11 ¤ª¤ï¤é¤¤ ¤ª¾Ð¤¤ #OKX 38 ¤ª¤ï¤ê ÈøÄ¥ #CN 0 ¤ª¤ï¤ê ¤ª³ä¤ê #OKX 14 ¤ª¤ï¤ê ½ª #T35 6 ¤ª¤ï¤ê¤¢¤µ¤Ò ÈøÄ¥°° #CN 0 ¤ª¤ó ±ó #KJ 0 ¤ª¤ó ¸æ #KJ 0 ¤ª¤ó ²º #KJ 1 ¤ª¤ó ²¹ #KJ 12 ¤ª¤ó ¸æ #PRE 3 ¤ª¤ó ²» #SUC 0 ¤ª¤ó ¥ª¥ó #T30 36 ¤ª¤ó ²» #T35 11 ¤ª¤ó ²¸ #T35 37 ¤ª¤ó¤¤¤ó ²»±¤ #T35 1 ¤ª¤ó¤« ²»²Á #T35 0 ¤ª¤ó¤«¤¤ ²»³¬ #T35 1 ¤ª¤ó¤«¤ó ²»´¶ #T35 1 ¤ª¤ó¤¬ ±ó²ì #JCN 0 ¤ª¤ó¤¬¤¨¤· ²¸ÊÖ¤· #T30 0 ¤ª¤ó¤¬¤¯ ²»³Ú #T35 19 ¤ª¤ó¤­¤å¤¦ ²¸µë #T35 1 ¤ª¤ó¤­¤ç¤¦ ²»¶Á #T35 3 ¤ª¤ó¤°¤¹¤È¤í¡¼¤à ¢ò #T35 1 ¤ª¤ó¤±¤¤ ²¸·Ã #T35 3 ¤ª¤ó¤±¤ó ²º·ò #T05 0 ¤ª¤ó¤³ ²¸¸Ü #T35 0 ¤ª¤ó¤³¤¦ ²¹¸ü #T05 0 ¤ª¤ó¤µ¤¤¤È ¥ª¥ó¥µ¥¤¥È #T35 2 ¤ª¤ó¤· ²¸»Õ #T35 0 ¤ª¤ó¤· ²¸»ò #T35 0 ¤ª¤ó¤·¤Ä ²»¼Á #T35 42 ¤ª¤ó¤·¤Ä ²¹¼¼ #T35 6 ¤ª¤ó¤·¤ã ²¸¼Ï #T35 0 ¤ª¤ó¤·¤ã ¸æ¼Ò #T35 1 ¤ª¤ó¤·¤ç¤¦ ²¸¾Þ #T35 0 ¤ª¤ó¤·¤ç¤¦ ²¹¾² #T35 1 ¤ª¤ó¤·¤ó ²»¿® #T35 1 ¤ª¤ó¤¸¤å¤¯ ¸æ½É #JCN 0 ¤ª¤ó¤¸¤å¤ó ²¹½ç #T05 0 ¤ª¤ó¤¸¤ç¤¦ ²»À¼ #T35 0 ¤ª¤ó¤¸¤ç¤¦ ²¹¾ð #T35 1 ¤ª¤ó¤¸¤ó ²¸¿Í #T35 1 ¤ª¤ó¤¹¤¤ ²¹¿å #T35 0 ¤ª¤ó¤»¤¤ ²»À¼ #T35 10 ¤ª¤ó¤»¤Ä ²»Àá #T35 3 ¤ª¤ó¤»¤ó ²¹Àô #CN 0 ¤ª¤ó¤½ ²»ÁÇ #T35 1 ¤ª¤ó¤½¤¯ ²»Â® #T35 0 ¤ª¤ó¤¾¤¦ ²»Áü #T35 1 ¤ª¤ó¤¾¤¦¤· ¸æÁâ»Ê #T35 1 ¤ª¤ó¤¾¤ó ²¹Â¸ #T30 0 ¤ª¤ó¤¿¤¤ ²¹ÂÓ #T35 1 ¤ª¤ó¤À ²¸ÅÄ #JNS 0 ¤ª¤ó¤À¤ó ²¹ÃÈ #T05 0 ¤ª¤ó¤Á ²»ÃÔ #T35 1 ¤ª¤ó¤Á¤å¤¦ ¸æÃæ #T35 2 ¤ª¤ó¤Æ¤¤ ²»Äø #T35 0 ¤ª¤ó¤Æ¤ó ²¸Åµ #T35 0 ¤ª¤ó¤È¤¦ ²ºÅö #T05 1 ¤ª¤ó¤É ²»¸Í #JCN 0 ¤ª¤ó¤É ²»Æ¬ #T35 2 ¤ª¤ó¤É ²¹ÅÙ #T35 4 ¤ª¤ó¤É¤±¤¤ ²¹ÅÙ·× #T35 1 ¤ª¤ó¤Ê ²¸Ç¼ #JCN 0 ¤ª¤ó¤Ê ½÷ #T35 51 ¤ª¤ó¤Ê¤¸ ¤ª¤ó¤Ê¤¸ #T05 15 ¤ª¤ó¤Ê¤Î¤³ ½÷¤Î»Ò #T35 26 ¤ª¤ó¤Ê¤é¤· ½÷¤é¤· #KY 0 ¤ª¤ó¤Ê¤é¤·¤å¤¦ ½÷¤é¤·¤å¤¦ #KYU 0 ¤ª¤ó¤Í¤Ä ²¹Ç® #T35 0 ¤ª¤ó¤Í¤ó ±åǰ #T35 1 ¤ª¤ó¤Ñ ²»ÇÈ #T35 1 ¤ª¤ó¤Ó¤ó ²ºÊØ #T05 0 ¤ª¤ó¤Ó¤ó ²»ÊØ #T35 1 ¤ª¤ó¤Ö ¤ª¤ó¤Ö #T30 1 ¤ª¤ó¤× ²»Éä #T35 0 ¤ª¤ó¤× ¢ö #T35 1 ¤ª¤ó¤×¤¦ ²¹É÷ #T35 0 ¤ª¤ó¤Ù¤Ä ²»ÊÌ #CN 0 ¤ª¤ó¤ß¤Ä ±£Ì© #T05 0 ¤ª¤ó¤ß¤ç¤¦ ±¢ÍÛ #T35 0 ¤ª¤ó¤ß¤ç¤¦¤¸ ±¢ÍÛ»Õ #T35 0 ¤ª¤ó¤è¤¯ ²¹Íá #T30 0 ¤ª¤ó¤è¤ß ²»ÆÉ¤ß #T30 1 ¤ª¤ó¤é¤¤¤ó ¥ª¥ó¥é¥¤¥ó #T35 31 ¤ª¤ó¤ê¡¼ ¥ª¥ó¥ê¡¼ #N2T16 2 ¤ª¤ó¤ê¤ç¤¦ ²»ÎÌ #T35 2 ¤ª¤ó¤ì¤¤ ¸æÎé #T35 1 ¤ª¤ó¤ï ²¹Ï #T05 0 ¤ª¤ó¤ï ²ºÏ #T05 0 Canna37p3/dic/ideo/pubdic/COPYRIGHT0100644000076500001200000000410010046011573016055 0ustar shinraadminpubdic+¥Ñ¥Ã¥±¡¼¥¸¤ÎÃøºî¸¢¤È¤½¤ÎÍøÍѤˤĤ¤¤Æ pubdic+¥×¥í¥¸¥§¥¯¥È 1994ǯ12·î1Æü Copyright 1994 by the Pubdic+ Project. pubdic+¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ïpubdic+¥×¥í¥¸¥§¥¯¥È¤ÎÀ®²Ì¤Ç¤¢¤ë¤«¤Ê´Á»úÊÑ´¹ÍѼ­½ñ ¤È¤½¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£pubdic+¥×¥í¥¸¥§¥¯¥È¤Ï¡¢pubdic¥× ¥í¥¸¥§¥¯¥È¤ÎÀ®²Ì¤Ç¤¢¤ëpubdic¤«¤Ê´Á»úÊÑ´¹ÍѼ­½ñ¤ÎÀ°È÷¡¢³È½¼¤òÌÜŪ¤È¤·¤¿ ¤â¤Î¤Ç¤¹¡£ pubdic¥×¥í¥¸¥§¥¯¥È¤Ï¡¢1988ǯº¢¤«¤é¿ôǯ´Ö¤ËÅϤäơ¢¥Õ¥ê¡¼¤Ê¤«¤Ê´Á»úÊÑ´¹ ÍѼ­½ñ¤òºîÀ®¤¹¤ë¤³¤È¤òÌÜɸ¤Ë³èư¤¬¹Ô¤ï¤ì¤Þ¤·¤¿¡£¤½¤·¤Æ¤½¤ÎÀ®²Ì¤Ï¡¢Wnn ¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¤äX11¤Î¥ê¥ê¡¼¥¹¤È¤È¤â¤Ë¹­¤¯ÇÛÉÛ¤µ¤ì¤Þ¤·¤¿¡£ The Pubdic+ package includes dictionaries and utilities for kana-kanji conversion systems. This package is a product of the Pubdic+ project. The objective of the Pubdic+ project is to enhance the pubdic package that was contributed to X11R4, X11R5. pubdic+¥×¥í¥¸¥§¥¯¥È¤ÎÀ®²Ì¤Ç¤¢¤ë¼­½ñ¤È¤½¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÎÃøºî¸¢¤Ï¡¢ pubdic+¥×¥í¥¸¥§¥¯¥È¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤ÎÊ£À½¡¢ÇÛÉÛ¡¢Êѹ¹¤Ï¡¢ÌÜŪ¤òÌä¤ï ¤º¡¢¤Þ¤¿Ãøºî¼Ô¤Îµö²Ä¤Ê¤·¤Ë¡¢¼«Í³¤Ë¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Ê¤ª¡¢pubdic+¥Ñ¥Ã ¥±¡¼¥¸¤ò±¿ÍѤ·¤¿·ë²Ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢pubdic+¥×¥í¥¸¥§¥¯¥È¤Ï¡¢ÀÕǤ¤òÉ餤¤Þ¤» ¤ó¡£ This package is copyrighted by the Pubdic+ project. Permission to use, copy, modify, and distribute this package for any purpose is hereby granted. THE PUBDIC+ PROJECT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS PACKAGE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL PUBDIC+ PROJECT BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS PACKAGE. ÉÔÌÀ¤ÊÅÀ¤Ê¤É¤Ë¤Ä¤¤¤Æ¤Ïpubdic-request@astec.co.jp¤Þ¤Ç¤ªÌ䤤¹ç¤ï¤»²¼¤µ¤¤¡£ »²¹Í¤Î¤¿¤á¤Ë¡¢ÏÂʸ¤ò±Ñ¸ì¤ËËÝÌõ¤·¤¿¤â¤Î¤òÉÕ¤±¤Æ¤¤¤Þ¤¹¡£¤â¤·ÏÂʸ¤È±Ñ ʸ¤È¤ÎÆâÍÆ¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ÏÂʸ¤ÎÆâÍÆ¤¬Í¥À褷¤Þ¤¹¡£ For further information, please contact pubdic-request@astec.co.jp. If there is any difference between the Japanese copyright notice and the English one, the Japanese copyright notice takes precedence over the English one. Canna37p3/dic/ideo/pubdic/h.p0100644000076500001200000033711207735225677015235 0ustar shinraadmin¤Ï Çê #G5 0 ¤Ï Çí #G5 1 ¤Ï ÇÉ #JNSUC 42 ¤Ï ÁÝ #K5 0 ¤Ï ÅÇ #K5 100 ¤Ï ¤Ï #K5 13 ¤Ï Íú #K5 2 ¤Ï ¿ü #KJ 0 ¤Ï Çà #KJ 0 ¤Ï ÇÄ #KJ 0 ¤Ï ÇÇ #KJ 0 ¤Ï ÇÊ #KJ 0 ¤Ï Èö #KJ 0 ¤Ï ÇÉ #KJ 1 ¤Ï ÇÎ #KJ 1 ¤Ï àà #KJ 1 ¤Ï ü #KJ 2 ¤Ï ÇÅ #KJ 2 ¤Ï ÇÈ #KJ 2 ¤Ï ÇÆ #KJ 3 ¤Ï ÇË #KJ 5 ¤Ï ±© #KJ 56 ¤Ï ¶ô #M5 0 ¤Ï Ž #R5 12 ¤Ï Ä¥ #R5r 85 ¤Ï ÇÈ #SUC 0 ¤Ï ÇÉ #SUC 0 ¤Ï ÇÉ #T35 0 ¤Ï ¿Ï #T35 1 ¤Ï ÍÕ #T35 157 ¤Ï »õ #T35 5 ¤Ï Çç #W5 29 ¤Ï¡¼¤È ¥Ï¡¼¥È #T35 3 ¤Ï¡¼¤É ¥Ï¡¼¥É #T05 52 ¤Ï¡¼¤É¤¦¤§¤¢ ¥Ï¡¼¥É¥¦¥§¥¢ #T35 91 ¤Ï¡¼¤É¤¦¤¨¤¢ ¥Ï¡¼¥É¥¦¥¨¥¢ #T35 4 ¤Ï¡¼¤Õ ¥Ï¡¼¥Õ #PRE 2 ¤Ï¡¼¤Ö ¥Ï¡¼¥Ö #T35 1 ¤Ï¤¢ ¤Ï¤¢ #CJ 5 ¤Ï¤¢¤¯ Çİ® #T30 26 ¤Ï¤¤ ¤Ï¤¤ #CJ 33 ¤Ï¤¤ ÇÕ #JS 0 ¤Ï¤¤ ÇÔ #JS 1 ¤Ï¤¤ ¾ý #KJ 0 ¤Ï¤¤ ÇÐ #KJ 0 ¤Ï¤¤ ÇÔ #KJ 0 ¤Ï¤¤ ÇÕ #KJ 0 ¤Ï¤¤ ÇÖ #KJ 0 ¤Ï¤¤ ÇÚ #KJ 0 ¤Ï¤¤ Çç #KJ 0 ¤Ï¤¤ É£ #KJ 0 ¤Ï¤¤ Ç× #KJ 1 ¤Ï¤¤ ÇÛ #KJ 13 ¤Ï¤¤ ÇØ #KJ 3 ¤Ï¤¤ ¥Ï¥¤ #PRE 0 ¤Ï¤¤ Æþ #R5r 255 ¤Ï¤¤ ¤Ï¤¤ #R5r 3 ¤Ï¤¤ ÇÛ #S5 2 ¤Ï¤¤ ÇÒ #S5 3 ¤Ï¤¤ ÇÑ #S5 5 ¤Ï¤¤ ÇÓ #S5 82 ¤Ï¤¤ ÇÛ #SX 2 ¤Ï¤¤ ÇÒ #SX 3 ¤Ï¤¤ ÇÑ #SX 5 ¤Ï¤¤ ÇÓ #SX 82 ¤Ï¤¤ ³¥ #T35 1 ¤Ï¤¤ ÇÙ #T35 2 ¤Ï¤¤¤¢¤ó ÇÑ°Æ #T35 0 ¤Ï¤¤¤¤ ÇÛ°Ì #T35 0 ¤Ï¤¤¤¤¤í ³¥¿§ #T35 2 ¤Ï¤¤¤¤¤ó ÇÛ°÷ #T30 1 ¤Ï¤¤¤¤¤ó ÇÔ°ø #T35 1 ¤Ï¤¤¤¦¤§¤¤ ¥Ï¥¤¥¦¥§¥¤ #T35 1 ¤Ï¤¤¤¨¤ó ÇÙ±ê #T35 0 ¤Ï¤¤¤¨¤ó¤É ¥Ï¥¤¥¨¥ó¥É #T05 6 ¤Ï¤¤¤« ÇÓ²Í #T30 0 ¤Ï¤¤¤« ÇÛ²Í #T30 0 ¤Ï¤¤¤« ÇÛ²¼ #T35 0 ¤Ï¤¤¤«¤¤ ×Ñ×Ë #T30 0 ¤Ï¤¤¤«¤¤ ÇÐëß #T35 1 ¤Ï¤¤¤«¤ó ÇÑ´© #T30 0 ¤Ï¤¤¤«¤ó ÇÒ´Ñ #T30 0 ¤Ï¤¤¤«¤ó ÇÛ´É #T30 0 ¤Ï¤¤¤¬¤ó ÇÙ´â #T35 0 ¤Ï¤¤¤­ ÇÓµ¤ #T30 10 ¤Ï¤¤¤­ ÇÑ´þ #T30 6 ¤Ï¤¤¤­¤Ö¤Ä ÇÑ´þʪ #T35 0 ¤Ï¤¤¤­¤å¤¦ ÇÛµë #T30 0 ¤Ï¤¤¤­¤å¤¦ Çѵ٠#T30 2 ¤Ï¤¤¤­¤ç Çѵõ #T35 1 ¤Ï¤¤¤­¤ó ÇØ¶Ú #T35 0 ¤Ï¤¤¤­¤ó¤° ¥Ï¥¤¥­¥ó¥° #T35 2 ¤Ï¤¤¤®¤ç¤¦ ÇÑ¶È #T30 1 ¤Ï¤¤¤¯ Çжç #T35 1 ¤Ï¤¤¤°¤¦¤· ÇÛ¶ö»Ò #T35 1 ¤Ï¤¤¤°¤¦¤·¤ã ÇÛ¶ö¼Ô #T35 1 ¤Ï¤¤¤±¤¤ ÇØ·Ê #T35 33 ¤Ï¤¤¤±¤¤ ÇÒ·¼ #T35 4 ¤Ï¤¤¤±¤Ä¤·¤ç¤¦ ÇÔ·ì¾É #T35 1 ¤Ï¤¤¤±¤ó ÇÒ¸« #T30 5 ¤Ï¤¤¤³¤¦ Çѹ» #T35 0 ¤Ï¤¤¤³¤¦ ÇÑ¹Û #T35 1 ¤Ï¤¤¤´ ÇØ¸å #T35 1 ¤Ï¤¤¤´¤¦ ÇÛ¹ç #T30 0 ¤Ï¤¤¤¶¤é ³¥»® #T35 1 ¤Ï¤¤¤· ÇÑ»ß #T30 14 ¤Ï¤¤¤·¤ã ÇÛ¼Ö #T30 2 ¤Ï¤¤¤·¤ã ÇÑ¼Ö #T35 1 ¤Ï¤¤¤·¤ã ÇÔ¼Ô #T35 5 ¤Ï¤¤¤·¤ã »õ°å¼Ô #T35 8 ¤Ï¤¤¤·¤ã¤¯ ÇÒ¼Ú #T30 3 ¤Ï¤¤¤·¤å¤Ä ÇӽР#T30 3 ¤Ï¤¤¤·¤ç¤¯ ÇÛ¿§ #T30 0 ¤Ï¤¤¤·¤ó ÇØ¿® #T35 0 ¤Ï¤¤¤·¤ó ÇÛ¿® #T30 0 ¤Ï¤¤¤¸¤ã¤Ã¤¯ ¥Ï¥¤¥¸¥ã¥Ã¥¯ #T30 0 ¤Ï¤¤¤¸¤ç ÇÓ½ü #T30 8 ¤Ï¤¤¤¸¤ó ÇÑ¿Í #T35 0 ¤Ï¤¤¤¸¤ó ÇÐ¿Í #T35 1 ¤Ï¤¤¤¹¤¤ ÇÛ¿å #T30 1 ¤Ï¤¤¤¹¤¤ ÇÓ¿å #T30 2 ¤Ï¤¤¤¹¤¤¤Î¤¸¤ó ÇØ¿å¤Î¿Ø #T35 0 ¤Ï¤¤¤º Ç礤¤º #R5 0 ¤Ï¤¤¤»¤­ ÇÓÀÍ #T30 1 ¤Ï¤¤¤»¤Ä ÇÓÝõ #T30 1 ¤Ï¤¤¤»¤ó ÇÔÀï #T30 0 ¤Ï¤¤¤»¤ó ÇÛÀþ #T30 6 ¤Ï¤¤¤¼¤ó ÝïÁ³ #F03 0 ¤Ï¤¤¤¼¤ó ÇÛÁ· #T30 0 ¤Ï¤¤¤½¤¦ ÇÛÁ÷ #T30 23 ¤Ï¤¤¤½¤¯ ÇØÂ¦ #T35 1 ¤Ï¤¤¤¾¤¯ ÇÛ° #T30 9 ¤Ï¤¤¤¿ ÇÓ¾ #T30 4 ¤Ï¤¤¤¿¤¤ ÇÔÂà #T30 1 ¤Ï¤¤¤¿¤Ä ÇÛã #T30 6 ¤Ï¤¤¤Á ÇÛÃÖ #T30 24 ¤Ï¤¤¤Á¤ç¤¦ ÇÒİ #T30 2 ¤Ï¤¤¤Ä ¥Ï¥¤¥Ä #T35 4 ¤Ï¤¤¤Æ¤¯ ¥Ï¥¤¥Æ¥¯ #T05 1 ¤Ï¤¤¤Ç¤ó ÇÛÅÅ #T30 1 ¤Ï¤¤¤È¤¦ ÇÛÅö #T30 1 ¤Ï¤¤¤É¤¯ ÇÒÆÉ #T30 0 ¤Ï¤¤¤Ë¤ó ÇØÇ¤ #T30 0 ¤Ï¤¤¤Î¤¦ ÇØÇ¹ #T35 0 ¤Ï¤¤¤Ï¤ó ÇØÈ¿ #T30 0 ¤Ï¤¤¤Ï¤ó ÇÓÈ¿ #T35 1 ¤Ï¤¤¤Ð¤é ¿º¸¶ #JCN 0 ¤Ï¤¤¤Ð¤ó ÇÑÈ× #T35 1 ¤Ï¤¤¤Ð¤ó¤Û¤¦ æõÈ×˦ #T35 1 ¤Ï¤¤¤Ñ¡¼ ¥Ï¥¤¥Ñ¡¼ #PRE 6 ¤Ï¤¤¤Ñ¡¼ ¥Ï¥¤¥Ñ¡¼ #T05 0 ¤Ï¤¤¤Ò¤ó ÇÑÉÊ #T35 0 ¤Ï¤¤¤Ó ÇÛÈ÷ #T30 0 ¤Ï¤¤¤Õ ÇÛÉÛ #T30 152 ¤Ï¤¤¤Õ ÇÛÉÕ #T30 21 ¤Ï¤¤¤Õ¤¯ ÇÒÉü #T35 0 ¤Ï¤¤¤Õ¤Í¡¼¤·¤ç¤ó ¥Ï¥¤¥Õ¥Í¡¼¥·¥ç¥ó #T30 1 ¤Ï¤¤¤Õ¤ó ¥Ï¥¤¥Õ¥ó #T35 8 ¤Ï¤¤¤Ö¤Ä ÇÑʪ #T35 0 ¤Ï¤¤¤Ö¤ó ÇÛʬ #T30 6 ¤Ï¤¤¤Ü¤¯ ÇÔËÌ #T30 1 ¤Ï¤¤¤à ¥Ï¥¤¥à #T35 2 ¤Ï¤¤¤á¤ó ÇØÌÌ #T30 1 ¤Ï¤¤¤æ¤¦ ÇÐÍ¥ #T35 2 ¤Ï¤¤¤è¤¦ æõÍÕ #T35 1 ¤Ï¤¤¤ê¤³ Æþ¤ê¤³ #M5r 0 ¤Ï¤¤¤ê¤³ Æþ¤ê¹þ #M5r 1 ¤Ï¤¤¤ê¤Û¤¦ ÇØÍýË¡ #T35 2 ¤Ï¤¤¤ê¤ç ÇÛθ #T30 7 ¤Ï¤¤¤ì¤Ä ÇÛÎó #T30 86 ¤Ï¤¤¤ì¤Ä ÇÓÎó #T35 0 ¤Ï¤¤¤ì¤Ù¤ë ¥Ï¥¤¥ì¥Ù¥ë #T05 1 ¤Ï¤¦¤¹ ¥Ï¥¦¥¹ #T35 6 ¤Ï¤¨ Ç礨 #KS 0 ¤Ï¤¨ À¸¤¨ #KS 2 ¤Ï¤¨ ±É¤¨ #KSr 0 ¤Ï¤¨ ±Ç¤¨ #KSr 1 ¤Ï¤¨ Çè #T35 1 ¤Ï¤¨¤Ð¤ë ÆîÉ÷¸¶ #CN 0 ¤Ï¤ª ±©¿¥ #R5 0 ¤Ï¤ª¤ê ±©¿¥ #T35 0 ¤Ï¤« »ð #R5 0 ¤Ï¤« ËÅ #R5 0 ¤Ï¤« ¿Þ #R5 6 ¤Ï¤« ÎÌ #R5r 0 ¤Ï¤« ·× #R5r 13 ¤Ï¤« ¤Ï¤« #R5r 42 ¤Ï¤« ¬ #R5r 5 ¤Ï¤« Ç˱» #T30 1 ¤Ï¤« Êè #T35 3 ¤Ï¤«¤¤ Ç˲õ #T30 34 ¤Ï¤«¤¤ Ç˲ü #T35 0 ¤Ï¤«¤» Çî»Î #T35 4 ¤Ï¤«¤¿ ÇìÊý #JCN 0 ¤Ï¤«¤¿ Çî¿ #JCN 0 ¤Ï¤«¤É Ľ #R5r 2 ¤Ï¤«¤Ê ѳ #KY 0 ¤Ï¤«¤Ê ¤Ï¤«¤Ê #KY 2 ¤Ï¤«¤Î¤¦ ѳ¤¦ #KYU 0 ¤Ï¤«¤Î¤¦ ¤Ï¤«¤Î¤¦ #KYU 1 ¤Ï¤«¤Þ ¸Ó #T35 1 ¤Ï¤«¤Þ¤¤¤ê Ê軲¤ê #T30 0 ¤Ï¤«¤é ·×¤é #W5r 1 ¤Ï¤«¤é¤º¤â ¤Ï¤«¤é¤º¤â #F14 1 ¤Ï¤«¤ê Çé #T35 0 ¤Ï¤«¤ê¤´¤È ËÅ #T35 0 ¤Ï¤¬ ˧²ì #JCN 0 ¤Ï¤¬ ÇȲì #JNS 0 ¤Ï¤¬ Çí #S5r 0 ¤Ï¤¬ ¤Ï¤¬ #S5r 1 ¤Ï¤¬¤­ ¤Ï¤¬¤­ #T35 4 ¤Ï¤¬¤­ ÍÕ½ñ #T35 5 ¤Ï¤¬¤­ ¥Ï¥¬¥­ #T35 0 ¤Ï¤¬¤Í ¹Ý #T35 0 ¤Ï¤­ ÇÇÌÚ #JCN 0 ¤Ï¤­ ÇË´þ #T30 10 ¤Ï¤­ ÇÆµ¤ #T35 1 ¤Ï¤­¤À ÅǤ­½Ð #S5r 2 ¤Ï¤­¤â¤Î Íúʪ #T35 4 ¤Ï¤­¤å¤¦ ÇÈµÚ #T30 2 ¤Ï¤­¤ç¤¯ Ç覃 #T30 0 ¤Ï¤® Çë #JCN 0 ¤Ï¤® Çê #T35 0 ¤Ï¤® Çë #T35 13 ¤Ï¤®¤ª ÇëÈø #JNS 0 ¤Ï¤®¤·¤ê »õí¤ê #T30 0 ¤Ï¤®¤Î ÇëÌî #JCN 0 ¤Ï¤®¤ä Çëë #JNS 0 ¤Ï¤®¤ç¤¦ ÇÆ¶È #T35 0 ¤Ï¤®¤ì üÀÚ¤ì #T35 0 ¤Ï¤®¤ì »õÀÚ¤ì #T35 2 ¤Ï¤®¤ï¤é Ç븶 #JCN 0 ¤Ï¤¯ Çï #JS 0 ¤Ï¤¯ Çñ #JS 24 ¤Ï¤¯ ³ü #KJ 0 ¤Ï¤¯ ¹ý #KJ 0 ¤Ï¤¯ Çí #KJ 0 ¤Ï¤¯ Çï #KJ 0 ¤Ï¤¯ Çð #KJ 0 ¤Ï¤¯ Çô #KJ 0 ¤Ï¤¯ Çõ #KJ 0 ¤Ï¤¯ Ç÷ #KJ 0 ¤Ï¤¯ Çì #KJ 1 ¤Ï¤¯ Çî #KJ 1 ¤Ï¤¯ Çö #KJ 1 ¤Ï¤¯ Çò #KJ 4 ¤Ï¤¯ Çî #S5 1 ¤Ï¤¯ Çî #SX 1 ¤Ï¤¯ Çñ #T30 13 ¤Ï¤¯ Çó #T35 1 ¤Ï¤¯¤¢ Çò°¡ #T35 0 ¤Ï¤¯¤¢¤¤ Çî°¦ #T35 0 ¤Ï¤¯¤¤ ±©ºð #JCN 0 ¤Ï¤¯¤¤ Çò°á #T35 1 ¤Ï¤¯¤¬¤¤ Ç÷³² #T30 0 ¤Ï¤¯¤¬¤¯ Çî³Ø #T05 0 ¤Ï¤¯¤µ¤¤ ÇòºÚ #T35 0 ¤Ï¤¯¤µ¤ó Çò»³ #JCN 0 ¤Ï¤¯¤· Çò»æ #T35 10 ¤Ï¤¯¤· Çî»Î #T35 8 ¤Ï¤¯¤·¤­ Çî¼± #T05 0 ¤Ï¤¯¤·¤ã Çï¼Ö #T35 0 ¤Ï¤¯¤·¤ã Çö¼Õ #T35 0 ¤Ï¤¯¤·¤ã¤¯ Çì¼ß #T35 1 ¤Ï¤¯¤·¤å Çï¼ê #T30 3 ¤Ï¤¯¤·¤å¤¦ Çò½£ #CN 0 ¤Ï¤¯¤·¤ç Çò½ñ #T35 2 ¤Ï¤¯¤·¤ç¤¯ Çò¿§ #T05 3 ¤Ï¤¯¤·¤ó Ç÷¿¿ #T35 1 ¤Ï¤¯¤¸ Çò¼§ #T35 0 ¤Ï¤¯¤¸¤Ä ÇòÆü #T35 0 ¤Ï¤¯¤¸¤å Çò¼÷ #T35 0 ¤Ï¤¯¤¸¤ç¤¦ Çö¾ð #T05 1 ¤Ï¤¯¤¸¤ç¤¦ Çò¾õ #T30 0 ¤Ï¤¯¤¸¤ó Çò¿Í #T35 1 ¤Ï¤¯¤¹¤¤ Çò¿å #JCN 0 ¤Ï¤¯¤»¤¤ ÇíÀ½ #T35 0 ¤Ï¤¯¤»¤­ Çò⬠#T35 0 ¤Ï¤¯¤»¤ó¤­¤ó Çòáý¶Ý #T35 0 ¤Ï¤¯¤»¤ó¤·¤ã ÇòÀô¼Ò #KK 2 ¤Ï¤¯¤¿ ÇìÂÀ #JCN 0 ¤Ï¤¯¤À¤¯ ÇòÂù #T30 0 ¤Ï¤¯¤À¤Ä ÇíÃ¥ #T30 0 ¤Ï¤¯¤Á ÇòÃÔ #T35 1 ¤Ï¤¯¤Á¤å¤¦ ÇòÃë #T35 1 ¤Ï¤¯¤Á¤ç¤¦ ÇòÄ» #T35 1 ¤Ï¤¯¤É¤¦ ÇïÆ° #T30 1 ¤Ï¤¯¤É¤¦ ÇòƼ #T35 0 ¤Ï¤¯¤Í¤Ä ÇòÇ® #T30 1 ¤Ï¤¯¤Ð ÇòÇÏ #CN 0 ¤Ï¤¯¤Ð¤¤ ÇòÇß #T35 0 ¤Ï¤¯¤Ó ÇòÈý #T35 0 ¤Ï¤¯¤Ö¤Ä Çîʪ #T35 1 ¤Ï¤¯¤Ö¤Ä¤«¤ó Çîʪ´Û #T35 2 ¤Ï¤¯¤Ö¤Ä¤· Çîʪ»ï #T35 0 ¤Ï¤¯¤Û¤¦¤É¤¦ ÇîÊóÆ² #KK 0 ¤Ï¤¯¤Ü¤¯ ÇòËÏ #T35 2 ¤Ï¤¯¤Þ¤¤ ÇòÊÆ #T35 0 ¤Ï¤¯¤Þ¤¯ ÇòËì #T35 1 ¤Ï¤¯¤é¤¤ ÇõÍè #T35 0 ¤Ï¤¯¤é¤¯ ÇíÍî #T30 0 ¤Ï¤¯¤é¤¯ Çì³Ú #T35 0 ¤Ï¤¯¤é¤ó¤«¤¤ ÇîÍ÷²ñ #T35 1 ¤Ï¤¯¤ê ÇíÎ¥ #T30 1 ¤Ï¤¯¤ê ÇòΡ #T35 1 ¤Ï¤¯¤ê¤ç¤¯ Ç÷ÎÏ #T35 2 ¤Ï¤¯¤í ÇòϪ #T35 1 ¤Ï¤¯¤í¤ó ÇîÏÀ #T35 1 ¤Ï¤°¤¯ °é #M5 0 ¤Ï¤°¤ê ÍÕ·ª #JCN 0 ¤Ï¤°¤ë¤Þ »õ¼Ö #T35 1 ¤Ï¤°¤í ±©¹õ #JCN 0 ¤Ï¤± »«¤± #KS 0 ¤Ï¤± ¤Ï¤± #KS 1 ¤Ï¤± ºþÌÓ #T35 0 ¤Ï¤±¤¤ ÇÈ·Á #T35 2 ¤Ï¤±¤ó Çɸ¯ #T30 3 ¤Ï¤² ¤Ï¤² #KS 0 ¤Ï¤² ÆÅ¤² #KS 0 ¤Ï¤² Çꤲ #KS 0 ¤Ï¤² Çí¤² #KSr 0 ¤Ï¤² Îå #M5r 2 ¤Ï¤² ÆÅ #T35 0 ¤Ï¤² ¥Ï¥² #T35 1 ¤Ï¤²¤· ¤Ï¤²¤· #KY 0 ¤Ï¤²¤· Îõ¤· #KY 0 ¤Ï¤²¤· ·ã¤· #KY 12 ¤Ï¤²¤·¤å¤¦ ¤Ï¤²¤·¤å¤¦ #KYU 0 ¤Ï¤²¤·¤å¤¦ Îõ¤·¤å¤¦ #KYU 0 ¤Ï¤²¤·¤å¤¦ ·ã¤·¤å¤¦ #KYU 2 ¤Ï¤²¤Þ Îå¤Þ #S5r 2 ¤Ï¤³ ±¿ #B5r 14 ¤Ï¤³ È¡ #T35 0 ¤Ï¤³ È¢ #T35 36 ¤Ï¤³¤¦ ìì¹Ô #T30 2 ¤Ï¤³¤µ¤­¤°¤¦ 䨺êµÜ #JCN 0 ¤Ï¤³¤À¤Æ È¡´Û #CN 0 ¤Ï¤³¤Í È¢º¬ #JCN 0 ¤Ï¤³¤Í¤æ¤â¤È È¢º¬ÅòËÜ #CN 0 ¤Ï¤³¤Ó¤³ ±¿¤Ó¹þ #M5r 1 ¤Ï¤³¤Ó¤À ±¿¤Ó½Ð #S5r 1 ¤Ï¤³¤Ö¤Í ÊýÁ¥ #T35 0 ¤Ï¤³¤Ö¤Í È¢Á¥ #T35 1 ¤Ï¤´¤¤¤¿ ±©»ÒÈÄ #T35 0 ¤Ï¤µ ¶´ #M5 3 ¤Ï¤µ ¤Ï¤µ #M5 5 ¤Ï¤µ¤¤ ÇËºÕ #T30 0 ¤Ï¤µ¤­ ÇȺê #JCN 0 ¤Ï¤µ¤Þ ¶´´Ö #JCN 0 ¤Ï¤µ¤Þ Ç÷ #JCN 0 ¤Ï¤µ¤ß ÇȺ´¸« #JCN 0 ¤Ï¤µ¤ß î÷ #T35 0 ¤Ï¤µ¤ß ¥Ï¥µ¥ß #T35 0 ¤Ï¤µ¤ß¤³ ¶´¤ß¹þ #M5r 0 ¤Ï¤µ¤ó ÇË»º #T30 1 ¤Ï¤¶¤«¤¤¤­ ü¶­´ü #T35 0 ¤Ï¤¶¤Þ ´Ö #T35 0 ¤Ï¤¶¤Þ È£ #T35 0 ¤Ï¤¶¤Þ ¶¹´Ö #T35 1 ¤Ï¤· ¶¶ #CNSUC1 16 ¤Ï¤· Äô #KJ 2 ¤Ï¤· Áö #R5r 74 ¤Ï¤· ü #T35 27 ¤Ï¤· Ȥ #T35 5 ¤Ï¤· ¶¶ #T35 67 ¤Ï¤·¤¦¤é ¶¶±º #JNS 0 ¤Ï¤·¤«¤ß ³¬¾å #JCN 0 ¤Ï¤·¤¬¤­ ¤Ï¤·¤¬¤­ #T35 3 ¤Ï¤·¤°¤Á ¶¶¸ý #JNS 0 ¤Ï¤·¤´ Äô»Ò #T35 0 ¤Ï¤·¤À ¶¶ÅÄ #JNS 0 ¤Ï¤·¤Å¤á ¶¶ÄÞ #JNS 0 ¤Ï¤·¤Å¤á ¶¶µÍ #T35 2 ¤Ï¤·¤Þ ±©Åç #JCN 0 ¤Ï¤·¤â¤È ¶¶ËÜ #JCN 0 ¤Ï¤·¤ã ¤Ï¤·¤ã #G5 10 ¤Ï¤·¤ã ÇÆ¼Ô #T35 1 ¤Ï¤·¤å¤Ä ÇɽР#T30 0 ¤Ï¤·¤å¤Ä¤¸¤ç Çɽнê #T35 0 ¤Ï¤·¤é Ãì #T35 10 ¤Ï¤·¤ê¤¬¤­ Áö¤ê½ñ¤­ #T30 0 ¤Ï¤·¤ê¤³ Áö¤ê¹þ #M5r 0 ¤Ï¤·¤ê¤À Áö¤ê½Ð #S5r 2 ¤Ï¤·¤ê¤Ì¤± Áö¤êÈ´¤± #KSr 0 ¤Ï¤·¤ê¤Þ¤ï Áö¤ê²ó #R5 1 ¤Ï¤·¤ï¤¿¤· ¶¶ÅϤ· #T30 2 ¤Ï¤¸ ÅÚ»Õ #JCN 0 ¤Ï¤¸ ¤Ï¤¸ #K5 1 ¤Ï¤¸ ÃÆ #K5 3 ¤Ï¤¸ ÃѤ¸ #KS 3 ¤Ï¤¸ ÃÑ #T35 8 ¤Ï¤¸¤¤ ÃѤ¸Æþ #R5 0 ¤Ï¤¸¤Þ ¤Ï¤¸¤Þ #R5r 2 ¤Ï¤¸¤Þ »Ï¤Þ #R5r 83 ¤Ï¤¸¤Þ¤ê ¤Ï¤¸¤Þ¤ê #T35 1 ¤Ï¤¸¤á °ì #JNM 0 ¤Ï¤¸¤á ¸µ #JNM 0 ¤Ï¤¸¤á ÁÏ #JNM 0 ¤Ï¤¸¤á È¥ #JNM 0 ¤Ï¤¸¤á Êã #JNM 0 ¤Ï¤¸¤á ¤Ï¤¸¤á #KSr 148 ¤Ï¤¸¤á »Ï¤á #KSr 184 ¤Ï¤¸¤á °ì #T35 1 ¤Ï¤¸¤á ½é¤á #T35 8 ¤Ï¤¸¤á¤Æ ½é¤á¤Æ #F14 47 ¤Ï¤¸¤á¤Æ ½é¤á¤Æ #T35 81 ¤Ï¤¹ Ï¡ #T35 4 ¤Ï¤¹¤¤ ÇË¿å #T30 0 ¤Ï¤¹¤¤¤± Ï¡ÃÓ #JCN 0 ¤Ï¤¹¤¦ ü¿ô #T35 2 ¤Ï¤¹¤À Ï¡ÅÄ #JCN 0 ¤Ï¤¹¤Ì¤Þ Ï¡¾Â #JCN 0 ¤Ï¤¹¤Ï ÂÙÍÕ #JNS 0 ¤Ï¤¹¤ß ±©¿ÜÈþ #JCN 0 ¤Ï¤¹¤ß Ï¡¸« #JNS 0 ¤Ï¤º ȨƦ #JCN 0 ¤Ï¤º ÃÆ #M5r 0 ¤Ï¤º ¤Ï¤º #M5r 1 ¤Ï¤º ³° #S5 41 ¤Ï¤º ¤Ï¤º #T35 198 ¤Ï¤º Ȧ #T35 46 ¤Ï¤º¤«¤· æ·¤· #KY 0 ¤Ï¤º¤«¤· ¤Ï¤º¤«¤· #KY 1 ¤Ï¤º¤«¤· ÃѤ· #KY 1 ¤Ï¤º¤«¤· ÃѤº¤«¤· #KY 11 ¤Ï¤º¤«¤·¤¬ ¤Ï¤º¤«¤·¤¬ #R5r 0 ¤Ï¤º¤«¤·¤¬ ÃѤ·¤¬ #R5r 0 ¤Ï¤º¤«¤·¤¬ æ·¤·¤¬ #R5r 0 ¤Ï¤º¤«¤·¤¬ ÃѤº¤«¤·¤¬ #R5r 1 ¤Ï¤º¤«¤·¤Ê¤¬¤é ÃѤº¤«¤·¤Ê¤¬¤é #F14 0 ¤Ï¤º¤«¤·¤á ¿«¤á #KSr 0 ¤Ï¤º¤«¤·¤å¤¦ ¤Ï¤º¤«¤·¤å¤¦ #KYU 1 ¤Ï¤º¤«¤·¤å¤¦ ÃѤ·¤å¤¦ #KYU 1 ¤Ï¤º¤«¤·¤å¤¦ ÃѤº¤«¤·¤å¤¦ #KYU 2 ¤Ï¤º¤ì ³°¤ì #KSr 7 ¤Ï¤º¤ì ¤Ï¤º¤ì #T35 3 ¤Ï¤» Ĺë #JCN 0 ¤Ï¤» ÃÚ¤» #KS 1 ¤Ï¤»¤¤ Ĺë°æ #JNS 0 ¤Ï¤»¤¤ ÇÉÀ¸ #T30 2 ¤Ï¤»¤¬¤ï ĹëÀî #JNS 0 ¤Ï¤»¤Ù ĹëÉô #JNS 0 ¤Ï¤»¤ó ÇÈÀþ #T35 0 ¤Ï¤»¤ó ÇËÀþ #T35 13 ¤Ï¤¼ ¤Ï¤¼ #KS 0 ¤Ï¤¼ ȧ #T35 0 ¤Ï¤¼ ò #T35 1 ¤Ï¤½¤ó ÇË» #T30 1 ¤Ï¤¿ Ȩ¿ #JCN 0 ¤Ï¤¿ Ȫ #JN 0 ¤Ï¤¿ ¿Á #JNS 0 ¤Ï¤¿ ÇÈÅÄ #JNS 0 ¤Ï¤¿ Ȩ #KJ 0 ¤Ï¤¿ Êà #KJ 0 ¤Ï¤¿ ²Ì¤¿ #S5 27 ¤Ï¤¿ µ¡ #T35 0 ¤Ï¤¿ È« #T35 0 ¤Ï¤¿ Ȫ #T35 255 ¤Ï¤¿ ´ú #T35 7 ¤Ï¤¿ ü #T35 7 ¤Ï¤¿¤¤¤í ´ú¿§ #T35 0 ¤Ï¤¿¤¨ Æó½½½Å #T35 0 ¤Ï¤¿¤ª¤ê µ¡¿¥¤ê #T30 0 ¤Ï¤¿¤± È« #T35 0 ¤Ï¤¿¤± Ȫ #T35 3 ¤Ï¤¿¤±¤ä¤Þ È«»³ #JNS 0 ¤Ï¤¿¤´ ¤Ï¤¿¤´ #T35 0 ¤Ï¤¿¤·¤Æ ¤Ï¤¿¤·¤Æ #F14 0 ¤Ï¤¿¤·¤Æ ²Ì¤·¤Æ #F14 0 ¤Ï¤¿¤·¤ç¤¦ ¿ÁÁñ #CN 0 ¤Ï¤¿¤Á Æó½½ºÐ #T35 1 ¤Ï¤¿¤È ¤Ï¤¿¤È #F14 1 ¤Ï¤¿¤Ê¤« ÈªÃæ #JNS 0 ¤Ï¤¿¤Ê¤« È«Ãæ #JNS 0 ¤Ï¤¿¤Î ȪÌî #JCN 0 ¤Ï¤¿¤Î ÇÈ¿Ìî #JNS 0 ¤Ï¤¿¤Î ȨÌî #JNS 0 ¤Ï¤¿¤Ï¤¿ òà #T35 1 ¤Ï¤¿¤ä¤Þ Ȫ»³ #JNS 0 ¤Ï¤¿¤é Ư #K5r 33 ¤Ï¤¿¤é¤­¤«¤± Ư¤­¤«¤± #KSr 4 ¤Ï¤¿¤ó ÇËþ #T30 2 ¤Ï¤À Éæ #T35 4 ¤Ï¤À È© #T35 6 ¤Ï¤À¤¢¤¤ È©¹ç #T35 0 ¤Ï¤À¤¤¤í È©¿§ #T15 0 ¤Ï¤À¤« Íç #T35 4 ¤Ï¤À¤® È©Ãå #T35 0 ¤Ï¤À¤¶¤à È©´¨ #KY 0 ¤Ï¤À¤¶¤à¤¦ È©´¨¤¦ #KYU 0 ¤Ï¤À¤¶¤à¤¬ È©´¨¤¬ #R5 0 ¤Ï¤À¤¶¤ï¤ê È©¿¨¤ê #T35 0 ¤Ï¤À¤· ¤Ï¤À¤· #N2T16 1 ¤Ï¤À¤· Íç­ #T35 1 ¤Ï¤À¤Î ¿ÁÌî #JCN 0 ¤Ï¤À¤ß È©¿È #T35 0 ¤Ï¤À¤ó ÇËÃÌ #T35 0 ¤Ï¤Á Ȭ #NN 30 ¤Ï¤Á ¥Ï¥Á #T35 1 ¤Ï¤Á ˪ #T35 1 ¤Ï¤Á È­ #T35 4 ¤Ï¤Á¤¦¤¨ È­¿¢¤¨ #T30 0 ¤Ï¤Á¤ª¤¦¤¸ Ȭ²¦»Ò #JCN 0 ¤Ï¤Á¤«¤¤ Ȭ³« #CN 0 ¤Ï¤Á¤¯ ÇËÃÝ #T35 1 ¤Ï¤Á¤¸¤ç¤¦ Ȭ¾æ #CN 0 ¤Ï¤Á¤Î¤Ø Ȭ¸Í #CN 0 ¤Ï¤Á¤Ö Ȭʬ #T35 8 ¤Ï¤Á¤Þ¤­ È­´¬ #T30 0 ¤Ï¤Á¤Þ¤ó ȬȨ #JCN 0 ¤Ï¤Á¤Þ¤ó ȬȨ #T35 0 ¤Ï¤Á¤ß¤Ä ¤Ï¤Á¤ß¤Ä #T35 1 ¤Ï¤Á¤ß¤Ä ˪̪ #T35 1 ¤Ï¤Á¤á¤ó¤í¤Ã¤Ô ȬÌÌÏ»ç¾ #T35 0 ¤Ï¤Á¤â¤ê Ȭ¿¹ #JCN 0 ¤Ï¤Á¤ç¤¦ ÇÈĹ #T35 4 ¤Ï¤Á¤ê¤å¤¦ Ȭε #JCN 0 ¤Ï¤Á¤í¤¦ ȬϺ #JNM 0 ¤Ï¤Á¤í¤¦¤¬¤¿ ȬϺ³ã #CN 0 ¤Ï¤Ã Ȭ #NN 9 ¤Ï¤Ã ȯ #S5 4 ¤Ï¤Ã ȯ #SX 4 ¤Ï¤Ã¤« ȯ²Ð #T30 2 ¤Ï¤Ã¤« ¥Ï¥Ã¥« #T35 0 ¤Ï¤Ã¤« Çö²Ù #T35 0 ¤Ï¤Ã¤«¡¼ ¥Ï¥Ã¥«¡¼ #T35 2 ¤Ï¤Ã¤«¤¤¤µ¤ó Ȭ³¤»³ #CN 0 ¤Ï¤Ã¤«¤¯ ȯ³Ð #T30 1 ¤Ï¤Ã¤«¤ó ȯ´© #T30 1 ¤Ï¤Ã¤­ ȯ´ø #T30 5 ¤Ï¤Ã¤­¤å¤¦ ȯµë #T30 0 ¤Ï¤Ã¤­¤å¤¦ Çòµå #T35 0 ¤Ï¤Ã¤­¤å¤¦ Çöµë #T35 0 ¤Ï¤Ã¤­¤ç¤¦ ȯ¶¸ #T30 2 ¤Ï¤Ã¤­¤ê ¤Ï¤Ã¤­¤ê #F04 43 ¤Ï¤Ã¤­¤ó Çò¶â #T30 0 ¤Ï¤Ã¤¯ ¥Ï¥Ã¥¯ #T30 1 ¤Ï¤Ã¤¯¤Ä ȯ·¡ #T30 1 ¤Ï¤Ã¤±¤Ã¤­¤å¤¦ Çò·ìµå #T35 0 ¤Ï¤Ã¤±¤ó ȯ·ô #T30 1 ¤Ï¤Ã¤±¤ó ȯ¸« #T30 64 ¤Ï¤Ã¤³ ȯ¸Æ #T30 13 ¤Ï¤Ã¤³¤¦ ȯ¸÷ #T30 1 ¤Ï¤Ã¤³¤¦ ȯ¹Ô #T30 118 ¤Ï¤Ã¤³¤¦ ȯ¸ú #T30 2 ¤Ï¤Ã¤³¤¦¤·¤ã ȯ¹Ô¼Ô #T35 0 ¤Ï¤Ã¤³¤Ä Çò¹ü #T35 0 ¤Ï¤Ã¤µ¤ó ȯ»¶ #T30 1 ¤Ï¤Ã¤· ȯ»ß #F03 0 ¤Ï¤Ã¤·¤ã ȯ¼Ö #T30 1 ¤Ï¤Ã¤·¤ã ȯ¼Í #T30 4 ¤Ï¤Ã¤·¤å ¥Ï¥Ã¥·¥å #T30 6 ¤Ï¤Ã¤·¤ç¤¦ ȯ¾Í #T30 0 ¤Ï¤Ã¤·¤ç¤¦ ȯ¾É #T30 1 ¤Ï¤Ã¤·¤ç¤¦ Ȭ¾Ï #T35 1 ¤Ï¤Ã¤·¤ó ȯ¿® #T30 17 ¤Ï¤Ã¤·¤ó ȯ¿Ê #T30 2 ¤Ï¤Ã¤·¤ó ȯ¿¶ #T30 3 ¤Ï¤Ã¤·¤ó ȯ¿¾ #T35 0 ¤Ï¤Ã¤·¤ó¤·¤ã ȯ¿®¼Ô #T35 0 ¤Ï¤Ã¤»¤¤ ȯÀ¼ #T30 0 ¤Ï¤Ã¤»¤¤ ȯÀ¸ #T30 130 ¤Ï¤Ã¤½¤¦ ȯÁ÷ #T30 14 ¤Ï¤Ã¤½¤¦ ȯÁÛ #T30 4 ¤Ï¤Ã¤¿ ȬÅÄ #JCN 0 ¤Ï¤Ã¤¿¤Ä ȯã #T30 6 ¤Ï¤Ã¤Á¤ã¤¯ ȯÃå #T30 2 ¤Ï¤Ã¤Á¤å¤¦ ȯÃí #T30 19 ¤Ï¤Ã¤Æ¤ó ȯŸ #T30 15 ¤Ï¤Ã¤È¤¦ ȬÅì #CN 0 ¤Ï¤Ã¤È¤ê ÉþÉô #JCN 0 ¤Ï¤Ã¤Ñ ÍÕ¤Ã¤Ñ #T35 2 ¤Ï¤Ã¤Ô¡¼ ¥Ï¥Ã¥Ô¡¼ #T05 3 ¤Ï¤Ã¤Ô¤ç¤¦ ȯɽ #T30 129 ¤Ï¤Ã¤Ô¤ç¤¦¤«¤¤ ȯɽ²ñ #T35 16 ¤Ï¤Ã¤Ô¤ç¤¦¤·¤ã ȯɽ¼Ô #T35 5 ¤Ï¤Ã¤× ȯÉÛ #T30 0 ¤Ï¤Ã¤×¤ó ȯʳ #T30 0 ¤Ï¤Ã¤Ý¤¦ ȬÊý #JCN 0 ¤Ï¤Ã¤Ý¤¦ ȯˤ #T30 0 ¤Ï¤Ã¤Ý¤¦¤ª¤Í ȬÊýÈøº¬ #CN 0 ¤Ï¤Ä ȯ #CNSUC1 29 ¤Ï¤Ä ¤Ï¤Ä #JNM 0 ¤Ï¤Ä ȯ #JS 0 ¤Ï¤Ä È® #KJ 0 ¤Ï¤Ä Ȱ #KJ 0 ¤Ï¤Ä ȱ #KJ 1 ¤Ï¤Ä ½é #SUC 0 ¤Ï¤Ä ȯ #T35 1 ¤Ï¤Ä ½é #T35 13 ¤Ï¤Ä¤¢¤ó ȯ°Æ #T30 0 ¤Ï¤Ä¤¤¤¯ ȯ°é #T30 0 ¤Ï¤Ä¤¨ ½é¹¾ #JNM 0 ¤Ï¤Ä¤¨¤ó¤È¤¦ ȯ±ìÅû #T35 0 ¤Ï¤Ä¤ª ½éÃË #JNM 0 ¤Ï¤Ä¤ª¤ó ȯ²» #T30 10 ¤Ï¤Ä¤ª¤ó Ùû²» #T35 0 ¤Ï¤Ä¤« Æó½½Æü #T35 4 ¤Ï¤Ä¤«¤¤¤Á ÆûÆü»Ô #CN 0 ¤Ï¤Ä¤¬ ȯ²ê #T30 0 ¤Ï¤Ä¤¬¤ó ȯ¥¬¥ó #T30 0 ¤Ï¤Ä¤²¤ó ȯ¸½ #T30 0 ¤Ï¤Ä¤²¤ó ȯ¸À #T30 16 ¤Ï¤Ä¤³¤¤ ½éÎø #T35 1 ¤Ï¤Ä¤¸¤ç¤¦ ȯ¾ð #T30 1 ¤Ï¤Ä¤¿¤í¤¦ ½éÂÀϺ #JNS 0 ¤Ï¤Ä¤Ç¤ó ȯÅÅ #T30 10 ¤Ï¤Ä¤É¤¦ ȯư #T30 0 ¤Ï¤Ä¤Ë ½é²Ù #T35 0 ¤Ï¤Ä¤Í¤Ä ȯǮ #T30 4 ¤Ï¤Ä¤Ð¤¤ ȯÇä #T30 14 ¤Ï¤Ä¤Ó¤ç¤¦ ȯÉ #T30 1 ¤Ï¤Ä¤ß¤ß ½é¼ª #T15 1 ¤Ï¤Ä¤á¤¤ ȯÌÀ #T30 3 ¤Ï¤Ä¤â¤¦¤Ç ½é·Ø #T30 0 ¤Ï¤Ä¤æ¤­ ½éÀã #T35 0 ¤Ï¤Ä¤ì¤¤ ȯÎá #T30 0 ¤Ï¤Ä¤í ȯϪ #T30 0 ¤Ï¤Ä¤ï ȯÏà #T30 1 ¤Ï¤Ä¤ï¤·¤ã ȯÏÃ¼Ô #T35 0 ¤Ï¤Å¤­ ÍÕ·î #T35 0 ¤Ï¤Æ ²Ì¤Æ #KSr 10 ¤Ï¤Æ ¤Ï¤Æ #KSr 4 ¤Ï¤Æ¤ó¤³¤¦ ÇËÅ·¹Ó #T05 0 ¤Ï¤Ç Çɼê #T05 9 ¤Ï¤È È· #T35 0 ¤Ï¤È¤¦ ÇÈÅó #T35 0 ¤Ï¤È¤¬¤ä È·¥öë #CN 0 ¤Ï¤È¤É¤±¤¤ È·»þ·× #T35 0 ¤Ï¤È¤ä¤Þ È·»³ #JCN 0 ¤Ï¤È¤ê ±©Ä» #JCN 0 ¤Ï¤É¤¦ ÇÈÆ° #T35 3 ¤Ï¤É¤á »õ»ß¤á #T35 1 ¤Ï¤Ê ¥Ï¥Ê #JN 0 ¤Ï¤Ê ȹ #KJ 0 ¤Ï¤Ê ¤Ï¤Ê #S5 1 ¤Ï¤Ê Ïà #S5 131 ¤Ï¤Ê Î¥ #S5 58 ¤Ï¤Ê Êü #S5 7 ¤Ï¤Ê ¤Ï¤Ê #T35 1 ¤Ï¤Ê ²Ú #T35 6 ¤Ï¤Ê ²Ö #T35 68 ¤Ï¤Ê É¡ #T35 8 ¤Ï¤Ê Êü #T5 2 ¤Ï¤Ê¤¤ ²Ö°æ #JNS 0 ¤Ï¤Ê¤¤¤º¤ß ²ÖÀô #JNS 0 ¤Ï¤Ê¤¦¤¿ É¡²Î #T30 0 ¤Ï¤Ê¤ª¤« ²Ö²¬ #JCN 0 ¤Ï¤Ê¤¯¤½ ɡʵ #T35 0 ¤Ï¤Ê¤² É¡ÌÓ #T35 1 ¤Ï¤Ê¤³ ²Ö»Ò #JNM 0 ¤Ï¤Ê¤³ ²Ú»Ò #JNM 0 ¤Ï¤Ê¤¶¤«¤ê ²ÖÀ¹¤ê #T15 0 ¤Ï¤Ê¤¶¤ï ²ÖÂô #JNS 0 ¤Ï¤Ê¤· Ïà #T30 255 ¤Ï¤Ê¤· ȸ #T35 2 ¤Ï¤Ê¤·¤¢ Ïä·¹ç #W5r 15 ¤Ï¤Ê¤·¤¢¤¤ Ïù礤 #T30 1 ¤Ï¤Ê¤·¤« ȸ²È #T35 0 ¤Ï¤Ê¤·¤³ Ïä·¹þ #M5 1 ¤Ï¤Ê¤·¤Æ Ïä·¼ê #T35 0 ¤Ï¤Ê¤¾¤Î ²Ö±à #JCN 0 ¤Ï¤Ê¤¾¤Î ²Ö±à #T35 2 ¤Ï¤Ê¤¿¤«¤À¤« É¡¹â¡¹ #T06 0 ¤Ï¤Ê¤¿¤Ð ²Ö« #T35 2 ¤Ï¤Ê¤À ²ÖÅÄ #JNS 0 ¤Ï¤Ê¤Â É¡·ì #T35 0 ¤Ï¤Ê¤Æ¤ó Êü½Ð #CN 0 ¤Ï¤Ê¤É¤±¤¤ ²Ö»þ·× #T35 0 ¤Ï¤Ê¤Ï¤À ¿Ó¤À #F14 1 ¤Ï¤Ê¤Ï¤À¤· ¿Ó¤À¤· #KY 0 ¤Ï¤Ê¤Ï¤À¤·¤å¤¦ ¿Ó¤À¤·¤å¤¦ #KYU 0 ¤Ï¤Ê¤Ð¤Ê¤· ²Ú¡¹¤· #KY 1 ¤Ï¤Ê¤Ð¤Ê¤·¤å¤¦ ²Ú¡¹¤·¤å¤¦ #KYU 1 ¤Ï¤Ê¤Ó ²Ö²Ð #T35 4 ¤Ï¤Ê¤Ó¤é ²Ö¤Ó¤é #T35 2 ¤Ï¤Ê¤Ö¤µ ±Ñ #KJ 0 ¤Ï¤Ê¤Þ¤­ ²Ö´¬ #CN 0 ¤Ï¤Ê¤ß ²Ö¸« #T30 5 ¤Ï¤Ê¤ß¤º É¡¿å #T35 0 ¤Ï¤Ê¤à¤³ ²ÖÌ» #T35 1 ¤Ï¤Ê¤ä ²Ú¤ä #G5r 0 ¤Ï¤Ê¤ä ²Ö²° #T35 0 ¤Ï¤Ê¤ä¤« ²Ú¤ä¤« #T05 3 ¤Ï¤Ê¤ä¤Þ ²Ö»³ #JCN 0 ¤Ï¤Ê¤ì Êü¤ì #KS 0 ¤Ï¤Ê¤ì Î¥¤ì #KSr 16 ¤Ï¤Ê¤ï ȹ #JCN 0 ¤Ï¤Ë ¾ý #T35 3 ¤Ï¤Ë¤·¤Ê ¾ý²Ê #JCN 0 ¤Ï¤Ë¤å¤¦ ±©À¸ #JCN 0 ¤Ï¤Ë¤å¤¦¤À ±©À¸ÅÄ #JNS 0 ¤Ï¤Ë¤ï ¾ýÎØ #T35 12 ¤Ï¤Í Ä·¤Í #KSr 1 ¤Ï¤Í ¤Ï¤Í #KSr 4 ¤Ï¤Í ±©º¬ #T35 1 ¤Ï¤Í ±© #T35 9 ¤Ï¤Í¤«¤¨ Ä·¤ÍÊÖ #R5r 1 ¤Ï¤Í¤«¤¨ Ä·¤ÍÊÖ #S5r 2 ¤Ï¤Í¤À ±©ÅÄ #JCN 0 ¤Ï¤Í¤à¡¼¤ó ¥Ï¥Í¥à¡¼¥ó #T35 2 ¤Ï¤Î¤¦¤é ±©¥Î±º #CN 0 ¤Ï¤Ï Êì #T35 32 ¤Ï¤Ï¤ª¤ä Êì¿Æ #T35 32 ¤Ï¤Ð ÁË #M5 1 ¤Ï¤Ð ¶Ò #T35 0 ¤Ï¤Ð Éý #T35 90 ¤Ï¤Ð¤« ¤Ï¤Ð¤« #R5r 0 ¤Ï¤Ð¤« Øß #R5r 0 ¤Ï¤Ð¤¿ ±©¤Ð¤¿ #K5r 1 ¤Ï¤Ð¤Ä ÇÉȶ #T35 1 ¤Ï¤Ð¤È¤Ó ÉýÄ·¤Ó #T35 0 ¤Ï¤Ð¤È¤Ó ÉýÄ· #T35 0 ¤Ï¤Ð¤Ò¤í Éý¹­ #KY 10 ¤Ï¤Ð¤Ò¤í¤¦ Éý¹­¤¦ #KYU 2 ¤Ï¤Ó¤­¤Î ±©±ÈÌî #JCN 0 ¤Ï¤Ó¤³ ¤Ï¤Ó¤³ #R5 2 ¤Ï¤Õ Áò #R5r 0 ¤Ï¤Ö ¾Ê #K5 11 ¤Ï¤Ö¤ê ±©¿¶¤ê #T35 2 ¤Ï¤Ù »ø #R5 0 ¤Ï¤Ù¤é¤« »ø¤é¤« #S5 0 ¤Ï¤Ü¤í ±©ËÚ #CN 0 ¤Ï¤Þ ÉÍ #CNSUC1 0 ¤Ï¤Þ ÉÍ #JN 0 ¤Ï¤Þ ßÀ #KJ 1 ¤Ï¤Þ ¤Ï¤Þ #R5 2 ¤Ï¤Þ ÉÍ #T35 14 ¤Ï¤Þ¤ª¤« ÉͲ¬ #JCN 0 ¤Ï¤Þ¤­ ÍÕ´¬ #T35 1 ¤Ï¤Þ¤­¤¿ ÉÍËÌ #JCN 0 ¤Ï¤Þ¤°¤Á É͸ý #JNS 0 ¤Ï¤Þ¤°¤ê Ⱥ #T35 0 ¤Ï¤Þ¤µ¤« Éͺä #JCN 0 ¤Ï¤Þ¤µ¤­ Éͺê #JCN 0 ¤Ï¤Þ¤¶¤­ Éͺê #JNS 0 ¤Ï¤Þ¤¸¤Þ ÉÍÅç #JCN 0 ¤Ï¤Þ¤À ÉÍÅÄ #JCN 0 ¤Ï¤Þ¤È¤ó¤Ù¤Ä ÉÍÆÜÊÌ #CN 0 ¤Ï¤Þ¤Ê ÉÍ̾ #JCN 0 ¤Ï¤Þ¤Ê¤« ÉÍÃæ #JCN 0 ¤Ï¤Þ¤Ê¤« ßÀÃæ #JNS 0 ¤Ï¤Þ¤Î ÉÍÌî #JCN 0 ¤Ï¤Þ¤Þ¤¹ ÉÍ±× #JCN 0 ¤Ï¤Þ¤Þ¤Ä É;¾ #JCN 0 ¤Ï¤ß¤¬¤­ »õË᤭ #T30 1 ¤Ï¤ß¤¬¤­¤³ »õË᤭ʴ #T35 0 ¤Ï¤ß¤À ¤Ï¤ß½Ð #S5r 6 ¤Ï¤ß¤Ç ¤Ï¤ß½Ð #KS 0 ¤Ï¤ß¤ó¤° ¥Ï¥ß¥ó¥° #KK 1 ¤Ï¤ß¤ó¤° ¥Ï¥ß¥ó¥° #T30 0 ¤Ï¤à ¥Ï¥à #T35 0 ¤Ï¤à¤é ±©Â¼ #JCN 0 ¤Ï¤á Ŷ¤á #KS 1 ¤Ï¤á ¤Ï¤á #KS 3 ¤Ï¤á ±©ÌÜ #T35 2 ¤Ï¤á¤³ ¤Ï¤á¹þ #M5r 0 ¤Ï¤á¤Ä ÇËÌÇ #T30 0 ¤Ï¤á¤ó ÇÈÌÌ #T35 1 ¤Ï¤â ±©ÌÐ #JNS 0 ¤Ï¤â òç #T35 1 ¤Ï¤â¤Î ¿Ïʪ #T35 1 ¤Ï¤â¤ó ÇËÌç #T30 0 ¤Ï¤â¤ó ÇÈÌæ #T35 0 ¤Ï¤ä ® #KYme 117 ¤Ï¤ä Áá #KYme 255 ¤Ï¤ä °ï #R5 1 ¤Ï¤ä ¤Ï¤ä #R5 22 ¤Ï¤ä ή¹Ô #R5r 0 ¤Ï¤ä À¸¤ä #S5 1 ¤Ï¤ä Áá #T35 173 ¤Ï¤ä¤¢¤ë¤­ ®Ê⤭ #T30 0 ¤Ï¤ä¤¢¤ë¤­ ÁáÊ⤭ #T30 0 ¤Ï¤ä¤¤¤È¤³ Áᤤ¤È¤³ #F14 0 ¤Ï¤ä¤¦¤Þ ÁáÇÏ #T35 0 ¤Ï¤ä¤ª ½Ù #JNM 0 ¤Ï¤ä¤ª¤­ Áᵯ¤­ #T10 0 ¤Ï¤ä¤«¤ï ÁáÀî #JCN 0 ¤Ï¤ä¤¬¤Æ¤ó Áá¹çÅÀ #T10 1 ¤Ï¤ä¤­¤¿ ÁáÍè #CN 0 ¤Ï¤ä¤¯ üÌò #T35 0 ¤Ï¤ä¤¯¤«¤é Á᤯¤«¤é #F14 0 ¤Ï¤ä¤¯¤«¤é Á᤯¤«¤é #T36 0 ¤Ï¤ä¤¯¤Á Áá¸ý #T00 0 ¤Ï¤ä¤µ¤« Ááºä #JCN 0 ¤Ï¤ä¤· ÎÓ #JNS 0 ¤Ï¤ä¤· ÎÓ #T35 25 ¤Ï¤ä¤· Óò»Ò #T35 3 ¤Ï¤ä¤·¤À ÎÓÅÄ #JNS 0 ¤Ï¤ä¤·¤Þ ÁáÅç #JCN 0 ¤Ï¤ä¤·¤é¤¤¤¹ ¥Ï¥ä¥·¥é¥¤¥¹ #T35 0 ¤Ï¤ä¤» ÁáÀ¥ #T35 1 ¤Ï¤ä¤Æ ¼ÀÉ÷ #T35 0 ¤Ï¤ä¤È È»¿Í #JCN 0 ¤Ï¤ä¤È ͦ¿Í #JNM 0 ¤Ï¤ä¤È È»¿Í #T35 1 ¤Ï¤ä¤È¤Á¤ê Áá¤È¤Á¤ê #T10 1 ¤Ï¤ä¤Î ÁáÌî #JNS 0 ¤Ï¤ä¤Ð¤ä Á᡹ #F06 2 ¤Ï¤ä¤Ð¤ä Á᡹ #T36 0 ¤Ï¤ä¤Ö¤µ È» #T35 1 ¤Ï¤ä¤Ù¤ó ÁáÊÛ #T30 0 ¤Ï¤ä¤Þ ÍÕ»³ #JCN 0 ¤Ï¤ä¤Þ ü»³ #JNS 0 ¤Ï¤ä¤Þ ®¤Þ #R5r 0 ¤Ï¤ä¤Þ Áá¤Þ #R5r 2 ¤Ï¤ä¤ß ®¸« #JCN 0 ¤Ï¤ä¤ß Áḫ #JNS 0 ¤Ï¤ä¤ß¤º Áá¿å #JNS 0 ¤Ï¤ä¤ß¤º ®¿å #JNS 0 ¤Ï¤ä¤á ®¤á #KS 1 ¤Ï¤ä¤á Áá¤á #KS 17 ¤Ï¤è¤¦ Áᤦ #F14 8 ¤Ï¤è¤¦ Áᤦ #KYU 3 ¤Ï¤è¤¦ ®¤¦ #KYU 3 ¤Ï¤é ¸¶ #CNSUC1 12 ¤Ï¤é ¸¶ #JCN 0 ¤Ï¤é ¤Ï¤é #M5 1 ¤Ï¤é ÕÔ #M5r 0 ¤Ï¤é À²¤é #S5 8 ¤Ï¤é ¸¶ #T35 0 ¤Ï¤é Ê¢ #T35 21 ¤Ï¤é ʧ #W5r 31 ¤Ï¤é¤¤¤³ ʧ¤¤¹þ #M5r 1 ¤Ï¤é¤¤¤µ¤² ʧ¤¤²¼¤² #T30 0 ¤Ï¤é¤¤¤É¤Î ʧÅ #JNS 0 ¤Ï¤é¤¤¤â¤É¤· ʧ¤¤Ìᤷ #T30 1 ¤Ï¤é¤°¤Á ¸¶¸ý #JNS 0 ¤Ï¤é¤°¤í Ê¢¹õ #KY 0 ¤Ï¤é¤°¤í Ê¢¹õ #T05 0 ¤Ï¤é¤°¤í¤¦ Ê¢¹õ¤¦ #KYU 0 ¤Ï¤é¤·¤Þ ¸¶Åç #JNS 0 ¤Ï¤é¤·¤Þ ¸¶Åè #JNS 0 ¤Ï¤é¤¸¤å¤¯ ¸¶½É #JCN 0 ¤Ï¤é¤À ¸¶ÅÄ #JCN 0 ¤Ï¤é¤Þ¤Á ¸¶Ä® #CN 0 ¤Ï¤é¤ï¤¿ IJ #T35 0 ¤Ï¤é¤ó ÇÈÍð #T35 1 ¤Ï¤é¤ó¤Ð¤ó¤¸¤ç¤¦ ÇÈßÑËü¾æ #T05 0 ¤Ï¤ê Ž #KJ 0 ¤Ï¤ê ÇÅ #KJ 0 ¤Ï¤ê Π#T35 0 ¤Ï¤ê ààÍþ #T35 1 ¤Ï¤ê ¿Ë #T35 3 ¤Ï¤ê¤¢ Ä¥¤ê¹ç #W5r 1 ¤Ï¤ê¤¢¤¤ Ä¥¹ç¤¤ #T35 0 ¤Ï¤ê¤¢¤ï¤» Ä¥¤ê¹ç¤ï¤» #KSr 0 ¤Ï¤ê¤¦¤Ã¤É ¥Ï¥ê¥¦¥Ã¥É #CN 0 ¤Ï¤ê¤¬¤Í ¿Ë¶â #T35 0 ¤Ï¤ê¤¬¤ß Ä¥¤ê»æ #T30 1 ¤Ï¤ê¤¬¤ß Ž»æ #T35 0 ¤Ï¤ê¤­ Ä¥¤êÀÚ #R5 3 ¤Ï¤ê¤°¤Á ÇŸý #JNS 0 ¤Ï¤ê¤³ Ä¥¤ê¹þ #M5r 2 ¤Ï¤ê¤³ Ä¥»Ò #T35 0 ¤Ï¤ê¤À Ä¥¤ê½Ð #S5r 0 ¤Ï¤ê¤Ä¤± Ä¥¤êÉÕ¤± #KSr 1 ¤Ï¤ê¤Þ ÇÅËá #JCN 0 ¤Ï¤ê¤Þ¤ª ¥Ï¥ê¥Þ¥ª #JN 0 ¤Ï¤ê¤Þ¤ä ¿Ë´ÖÌð #JNS 0 ¤Ï¤ë ½Õ #T35 32 ¤Ï¤ë¤¨ ½Õ¹¾ #JCN 0 ¤Ï¤ë¤ª ¼£ÃË #JNM 0 ¤Ï¤ë¤ª ¼£É× #JNM 0 ¤Ï¤ë¤ª ¼£Íº #JNM 0 ¤Ï¤ë¤ª ½ÕÃË #JNM 0 ¤Ï¤ë¤ª ½ÕÉ× #JNM 0 ¤Ï¤ë¤ª ½Õͺ #JNM 0 ¤Ï¤ë¤ª À²É× #JNM 0 ¤Ï¤ë¤ª À²Íº #JNM 0 ¤Ï¤ë¤ª¤ß À²¿Ã #JNM 0 ¤Ï¤ë¤« ¤Ï¤ë¤« #T06 12 ¤Ï¤ë¤« ÍÚ¤« #T06 8 ¤Ï¤ë¤­¤Á ½ÕµÈ #JNM 0 ¤Ï¤ë¤³ ½Õ»Ò #JNM 0 ¤Ï¤ë¤· ¼£»Ö #JNM 0 ¤Ï¤ë¤¸ ½Õ¼£ #JNM 0 ¤Ï¤ë¤Ê ¿ºÌ¾ #JCN 0 ¤Ï¤ë¤Î ½ÕÌî #JCN 0 ¤Ï¤ë¤Ð¤ë ¤Ï¤ë¤Ð¤ë #F06 1 ¤Ï¤ë¤Ð¤ë ¤Ï¤ë¤Ð¤ë #T36 0 ¤Ï¤ë¤Ò ½ÕÆü #JCN 0 ¤Ï¤ë¤Ò¤³ ¼£É§ #JNM 0 ¤Ï¤ë¤Ò¤³ ½Õɧ #JNM 0 ¤Ï¤ë¤Ò¤³ À²É§ #JNM 0 ¤Ï¤ë¤Ò¤µ À²µ× #JNM 0 ¤Ï¤ë¤ß À²³¤ #JCN 0 ¤Ï¤ë¤ß ¤Ï¤ë¤ß #JNM 0 ¤Ï¤ë¤ß ½ÕÈþ #JNM 0 ¤Ï¤ë¤ß¤À¤¤ À²ÈþÂæ #CN 0 ¤Ï¤ë¤á ½Õ¤á #K5 0 ¤Ï¤ë¤ä¤¹ ÍÛÊÝ #JNM 0 ¤Ï¤ë¤ä¤¹¤ß ½ÕµÙ¤ß #T35 2 ¤Ï¤ë¤æ¤­ ¼£Ç· #JNM 0 ¤Ï¤ë¤è ½ÕÂå #JNM 0 ¤Ï¤ì ¼ð¤ì #KSr 1 ¤Ï¤ì À²¤ì #KSr 92 ¤Ï¤ì À² #T35 6 ¤Ï¤ì¤¢¤¬ À²¤ì¾å¤¬ #R5r 0 ¤Ï¤ì¤® À²¤ìÃå #T35 0 ¤Ï¤ì¤¹¤¬¤¿ À²¤ì»Ñ #T35 0 ¤Ï¤ì¤Ä ÇËÎö #T30 1 ¤Ï¤ì¤ï¤¿ À²¤ìÅÏ #R5r 0 ¤Ï¤í¤¦ ÇÈϲ #T35 0 ¤Ï¤ï¤¤ ¥Ï¥ï¥¤ #CN 0 ¤Ï¤ï¤¤ ±©¹ç #JCN 0 ¤Ï¤ó ÈÇ #JS 255 ¤Ï¤ó ºä #KJ 0 ¤Ï¤ó ȼ #KJ 0 ¤Ï¤ó ÈÀ #KJ 0 ¤Ï¤ó ÈÁ #KJ 0 ¤Ï¤ó Èà #KJ 0 ¤Ï¤ó ÈÅ #KJ 0 ¤Ï¤ó ÈÈ #KJ 0 ¤Ï¤ó ÈÊ #KJ 0 ¤Ï¤ó ÈË #KJ 0 ¤Ï¤ó ÈÐ #KJ 0 ¤Ï¤ó ÈÑ #KJ 0 ¤Ï¤ó ÈÒ #KJ 0 ¤Ï¤ó ÈØ #KJ 0 ¤Ï¤ó ÈÙ #KJ 0 ¤Ï¤ó ËÞ #KJ 0 ¤Ï¤ó Ȩ #KJ 1 ¤Ï¤ó È #KJ 1 ¤Ï¤ó ÈÓ #KJ 1 ¤Ï¤ó ºå #KJ 2 ¤Ï¤ó ÈÄ #KJ 2 ¤Ï¤ó ÈÎ #KJ 2 ¤Ï¤ó ÈÌ #KJ 3 ¤Ï¤ó ÈÆ #KJ 6 ¤Ï¤ó Ⱦ #PRE 0 ¤Ï¤ó È¿ #PRE 0 ¤Ï¤ó Ƚ #SUC 0 ¤Ï¤ó ÈÇ #SUC 0 ¤Ï¤ó ÈÉ #SUC 0 ¤Ï¤ó È¿ #T30 30 ¤Ï¤ó ÈÉ #T35 0 ¤Ï¤ó ÈÍ #T35 0 ¤Ï¤ó Ƚ #T35 1 ¤Ï¤ó ÈÇ #T35 2 ¤Ï¤ó ÈÏ #T35 2 ¤Ï¤ó Ⱦ #T35 46 ¤Ï¤ó Ƚ #ZX 1 ¤Ï¤ó¤¤ ÈÏ°Ï #T35 120 ¤Ï¤ó¤¨¤¤ È豃 #T30 5 ¤Ï¤ó¤¨¤¤ È¿±Ç #T30 79 ¤Ï¤ó¤¨¤ó Ⱦ±ß #T35 1 ¤Ï¤ó¤« ÈË²Ú #T05 1 ¤Ï¤ó¤« ÈÒ²Á #T35 0 ¤Ï¤ó¤«¤¤ Ⱦ²õ #T30 0 ¤Ï¤ó¤«¤¯ Ⱦ³Ñ #T35 29 ¤Ï¤ó¤«¤Á ¥Ï¥ó¥«¥Á #T35 0 ¤Ï¤ó¤«¤Ä¤¦ Ⱦ²ÄÄÌ #T15 0 ¤Ï¤ó¤«¤ó È¿´¶ #T35 4 ¤Ï¤ó¤¬¤¯ Ⱦ³Û #T35 2 ¤Ï¤ó¤­ Ⱦ´ü #T35 1 ¤Ï¤ó¤­¤«¤ó Ⱦµ¬´É #T35 0 ¤Ï¤ó¤­¤å¤¦ ºåµÞ #KK 5 ¤Ï¤ó¤­¤å¤¦ Ⱦµå #T35 0 ¤Ï¤ó¤­¤ç¤¦ È¿¶Á #T30 2 ¤Ï¤ó¤®¤ã¤¯ È¿µÕ #T30 0 ¤Ï¤ó¤° ¥Ï¥ó¥° #T30 11 ¤Ï¤ó¤°¤ê¡¼ ¥Ï¥ó¥°¥ê¡¼ #T05 0 ¤Ï¤ó¤±¤¤ Ⱦ·Â #T35 2 ¤Ï¤ó¤±¤Ä Ƚ·è #T30 0 ¤Ï¤ó¤±¤ó Ⱦ·ô #T35 0 ¤Ï¤ó¤±¤ó ÈǸ¢ #T35 0 ¤Ï¤ó¤²¤­ È¿·â #T30 0 ¤Ï¤ó¤²¤ó Ⱦ¸º #T30 4 ¤Ï¤ó¤³ Ƚ»Ò #T35 0 ¤Ï¤ó¤³¤¦ ÈÈ¹Ô #T30 0 ¤Ï¤ó¤³¤¦ È¿¹³ #T30 4 ¤Ï¤ó¤´ È¿¸ì #T35 2 ¤Ï¤ó¤µ ÈÑàô #T05 0 ¤Ï¤ó¤µ¤­ ÈÓºê #JNS 0 ¤Ï¤ó¤µ¤è¤¦ È¿ºîÍÑ #T30 0 ¤Ï¤ó¤¶¤¤ ÈȺá #T35 2 ¤Ï¤ó¤¶¤Ä ÈË»¨ #T05 3 ¤Ï¤ó¤¶¤Ä ÈÑ»¨ #T05 3 ¤Ï¤ó¤¶¤ó ÈÓ»³ #JCN 0 ¤Ï¤ó¤· Ⱦ»æ #T35 0 ¤Ï¤ó¤· ÈͻΠ#T35 0 ¤Ï¤ó¤·¤¿ ÈDz¼ #T35 0 ¤Ï¤ó¤·¤Ï¤ó¤·¤ç¤¦ Ⱦ»àȾÀ¸ #T15 0 ¤Ï¤ó¤·¤ã È¿¼Í #T30 10 ¤Ï¤ó¤·¤å¤¦ Ⱦ¼þ #T30 0 ¤Ï¤ó¤·¤å¤Ä ȽР#T30 0 ¤Ï¤ó¤·¤ç¤¦ Ⱦ¾Æ #T30 0 ¤Ï¤ó¤·¤ç¤¯ ÈË¿£ #T30 0 ¤Ï¤ó¤·¤ç¤¯¤Á ÈË¿£ÃÏ #T35 0 ¤Ï¤ó¤·¤ó ºå¿À #CN 0 ¤Ï¤ó¤·¤ó Ⱦ¿È #T35 0 ¤Ï¤ó¤·¤ó¤Ï¤ó¤® Ⱦ¿®È¾µ¿ #T10 0 ¤Ï¤ó¤·¤ó¤í¤ó ÈÆ¿ÀÏÀ #T35 0 ¤Ï¤ó¤¸ Ƚ»ö #T35 1 ¤Ï¤ó¤¸¤å¤¯ Ⱦ½Ï #T05 0 ¤Ï¤ó¤¸¤ç¤¦ ÈËÀ¹ #T30 1 ¤Ï¤ó¤¹¤¦ È¿çí #T30 3 ¤Ï¤ó¤¹¤¦ Ⱦ¿ô #T35 0 ¤Ï¤ó¤»¤¤ È¿¾Ê #T30 25 ¤Ï¤ó¤»¤¤¤¹¤¦¤¬¤¿ ÈÆÀ°¿ô·¿ #T35 4 ¤Ï¤ó¤¼¤ó ȽÁ³ #F01 0 ¤Ï¤ó¤½ È¿ÁÊ #T30 0 ¤Ï¤ó¤½¤¦ ÈÂÁ÷ #T30 1 ¤Ï¤ó¤½¤¯ ȿ§ #T30 1 ¤Ï¤ó¤½¤¯ ÈÎÂ¥ #T35 0 ¤Ï¤ó¤½¤Ç Ⱦµ #T35 2 ¤Ï¤ó¤¾¤¦¤â¤ó Ⱦ¢Ìç #CN 0 ¤Ï¤ó¤¿¤¤ È¿ÂÐ #T30 21 ¤Ï¤ó¤À ȾÅÄ #JCN 0 ¤Ï¤ó¤À¤¤ ºåÂç #KK 40 ¤Ï¤ó¤À¤¯¤Æ¤ó ¡¬ #T35 2 ¤Ï¤ó¤À¤ó ȽÃÇ #T30 78 ¤Ï¤ó¤Á¤å¤¦ ÈÏáÆ #T35 3 ¤Ï¤ó¤Á¤ç¤¦ ÈÉĹ #T35 1 ¤Ï¤ó¤Á¤ç¤¯¤»¤ó ȾľÀþ #T35 2 ¤Ï¤ó¤Ä¤­ Ⱦ·î #T35 1 ¤Ï¤ó¤Æ¤¤ ȽÄê #T30 41 ¤Ï¤ó¤Æ¤ó ȿž #T30 69 ¤Ï¤ó¤Æ¤ó ÈÃÅÀ #T35 0 ¤Ï¤ó¤È¤¦ ȾÅç #T35 2 ¤Ï¤ó¤È¤¦¤Þ¤¯ ȾƩËì #T35 1 ¤Ï¤ó¤È¤¦¤á¤¤ ȾƩÌÀ #T05 0 ¤Ï¤ó¤È¤­ Ⱦ»þ #T35 0 ¤Ï¤ó¤È¤· Ⱦǯ #T35 6 ¤Ï¤ó¤É ¥Ï¥ó¥É #T35 7 ¤Ï¤ó¤É¤¢¤¦¤È ¥Ï¥ó¥É¥¢¥¦¥È #T35 0 ¤Ï¤ó¤É¤¦ ȿư #T35 0 ¤Ï¤ó¤É¤¦¤¿¤¤ ȾƳÂÎ #T35 9 ¤Ï¤ó¤É¤¯ ȽÆÉ #T30 1 ¤Ï¤ó¤É¤·¤§¡¼¤¯ ¥Ï¥ó¥É¥·¥§¡¼¥¯ #T30 1 ¤Ï¤ó¤É¤Ð¤Ã¤° ¥Ï¥ó¥É¥Ð¥Ã¥° #T35 1 ¤Ï¤ó¤É¤Ü¡¼¤ë ¥Ï¥ó¥É¥Ü¡¼¥ë #T35 1 ¤Ï¤ó¤É¤é ¥Ï¥ó¥É¥é #T35 4 ¤Ï¤ó¤É¤é¡¼ ¥Ï¥ó¥É¥é¡¼ #T35 4 ¤Ï¤ó¤É¤ê¤ó¤° ¥Ï¥ó¥É¥ê¥ó¥° #T30 8 ¤Ï¤ó¤É¤ë ¥Ï¥ó¥É¥ë #T30 2 ¤Ï¤ó¤Ê ºåÆà #JCN 0 ¤Ï¤ó¤Ê¤ó ºåÆî #CN 0 ¤Ï¤ó¤Ë¤¸¤å¤¦ ȾÆó½Å #T05 2 ¤Ï¤ó¤Ë¤Á È¿Æü #T35 0 ¤Ï¤ó¤Ë¤Á ȾÆü #T35 4 ¤Ï¤ó¤Ë¤ã È̼ã #T35 0 ¤Ï¤ó¤Ë¤ã¤È¤¦ È̼ãÅò #T35 0 ¤Ï¤ó¤Ë¤å¤¦ ÈÂÆþ #T30 1 ¤Ï¤ó¤Ë¤ó ÈÈ¿Í #T35 4 ¤Ï¤ó¤Í ȾÃÍ #T35 1 ¤Ï¤ó¤Î¤¦ ÈÓǽ #JCN 0 ¤Ï¤ó¤Î¤¦ È¿±þ #T30 28 ¤Ï¤ó¤Ï¤ó Ⱦ¡¹ #T15 2 ¤Ï¤ó¤Ð ÈÓ¾ì #T35 0 ¤Ï¤ó¤Ð¡¼¤¬ ¥Ï¥ó¥Ð¡¼¥¬ #T35 0 ¤Ï¤ó¤Ð¡¼¤¬¡¼ ¥Ï¥ó¥Ð¡¼¥¬¡¼ #T35 0 ¤Ï¤ó¤Ð¡¼¤° ¥Ï¥ó¥Ð¡¼¥° #T35 0 ¤Ï¤ó¤Ð¤¤ ÈÎÇä #T30 34 ¤Ï¤ó¤Ð¤¤¤­ ÈÎÇ䵡 #T35 1 ¤Ï¤ó¤Ð¤¯ È¿Çý #T30 1 ¤Ï¤ó¤Ñ Ⱦü #T05 6 ¤Ï¤ó¤Ñ¤Ä ȿȯ #T30 1 ¤Ï¤ó¤Ô¤ì¤¤ È¿ÈæÎã #T30 0 ¤Ï¤ó¤Ö¤ó Ⱦʬ #T35 34 ¤Ï¤ó¤× ÈÒÉÛ #T30 1 ¤Ï¤ó¤×¤¯ È¿Éü #T30 2 ¤Ï¤ó¤Ù¤Ä ȽÊÌ #T30 10 ¤Ï¤ó¤Ú¤¤ ÈÆÊ¿ #JNM 0 ¤Ï¤ó¤Ü¤¦ ÈËË» #T05 0 ¤Ï¤ó¤Þ¡¼ ¥Ï¥ó¥Þ¡¼ #T30 3 ¤Ï¤ó¤ß Ⱦ¿È #T35 0 ¤Ï¤ó¤ß¤ç¤¦ ¥Ï¥ó¥ß¥ç¥¦ #T35 0 ¤Ï¤ó¤ß¤ç¤¦ ÈÃÇ­ #T35 0 ¤Ï¤ó¤á¤¤ ȽÌÀ #T30 15 ¤Ï¤ó¤á¤ó ȾÌÌ #T35 4 ¤Ï¤ó¤á¤ó È¿ÌÌ #T35 4 ¤Ï¤ó¤â ÈËÌÐ #T30 0 ¤Ï¤ó¤â¤¯ È¿ÌÜ #T30 0 ¤Ï¤ó¤â¤È ÈǸµ #T35 0 ¤Ï¤ó¤â¤ó È¿Ìä #T30 1 ¤Ï¤ó¤è¤¦ ÈÆÍÑ #T05 19 ¤Ï¤ó¤è¤¦¤­ ÈÆÍѵ¡ #T35 8 ¤Ï¤ó¤é¤¯ È¿Íî #T30 0 ¤Ï¤ó¤é¤ó È¿Íð #T30 1 ¤Ï¤ó¤é¤ó ÈÅÍô #T30 1 ¤Ï¤ó¤ê¤ç ȼη #T35 1 ¤Ï¤ó¤ê¤ç¤¦ ȾÎÌ #T35 0 ¤Ï¤ó¤ì¤¤ È¿Îã #T35 1 ¤Ï¤ó¤ì¤¤ ËÞÎã #T35 2 ¤Ï¤ó¤ì¤¤ ȽÎã #T35 3 ¤Ï¤ó¤í¤ó È¿ÏÀ #T30 5 ¤Ð ±© #JS 5 ¤Ð ÇÍ #KJ 0 ¤Ð ÇÎ #KJ 0 ¤Ð ÇÌ #KJ 2 ¤Ð ÇÏ #KJ 2 ¤Ð Ž #R5 1 ¤Ð Ä¥ #R5 11 ¤Ð ¾ì #T35 122 ¤Ð¡¼ ¥Ð¡¼ #T35 38 ¤Ð¡¼¤¯¤ì¡¼ ¥Ð¡¼¥¯¥ì¡¼ #CN 0 ¤Ð¡¼¤¯¤ì¤¤ ¥Ð¡¼¥¯¥ì¥¤ #CN 0 ¤Ð¡¼¤¸¤ç¤ó ¥Ð¡¼¥¸¥ç¥ó #T35 255 ¤Ð¡¼¤¹¤È ¥Ð¡¼¥¹¥È #T35 1 ¤Ð¡¼¤Á¤ã¤ë ¥Ð¡¼¥Á¥ã¥ë #T05 3 ¤Ð¡¼¤Á¤ã¤ë¤µ¡¼¤­¤Ã¤È ¥Ð¡¼¥Á¥ã¥ë¥µ¡¼¥­¥Ã¥È #T35 8 ¤Ð¡¼¤Ù¤­¤å¡¼ ¥Ð¡¼¥Ù¥­¥å¡¼ #T35 11 ¤Ð¤¢¤¤ ¾ì¹ç #T35 255 ¤Ð¤¤ ÇÜ #JS 100 ¤Ð¤¤ ±´ #KJ 0 ¤Ð¤¤ ³­ #KJ 0 ¤Ð¤¤ ÇÞ #KJ 0 ¤Ð¤¤ Çß #KJ 0 ¤Ð¤¤ Çà #KJ 0 ¤Ð¤¤ Çá #KJ 0 ¤Ð¤¤ Çâ #KJ 0 ¤Ð¤¤ Çå #KJ 0 ¤Ð¤¤ Çæ #KJ 0 ¤Ð¤¤ ËÊ #KJ 0 ¤Ð¤¤ ßä #KJ 0 ¤Ð¤¤ ÇÝ #KJ 1 ¤Ð¤¤ Çã #KJ 1 ¤Ð¤¤ Çä #KJ 2 ¤Ð¤¤ ÇÜ #S5 57 ¤Ð¤¤ ÇÜ #T30 57 ¤Ð¤¤¤¢¤¹¤í¤ó ¥Ð¥¤¥¢¥¹¥í¥ó #T35 1 ¤Ð¤¤¤¦ Çß±« #T35 1 ¤Ð¤¤¤ª ¥Ð¥¤¥ª #PRE 3 ¤Ð¤¤¤ª ¥Ð¥¤¥ª #T35 4 ¤Ð¤¤¤ª¤ê¤ó ¥Ð¥¤¥ª¥ê¥ó #T35 0 ¤Ð¤¤¤« Çܲà #T30 0 ¤Ð¤¤¤« Çä²Á #T35 0 ¤Ð¤¤¤«¤¤ ÇÞ²ð #T30 2 ¤Ð¤¤¤¬¤¯ ÇÜ³Û #T35 0 ¤Ð¤¤¤­¤ã¤¯ ÇäµÑ #T30 1 ¤Ð¤¤¤­¤ó óà¶Ý #T35 0 ¤Ð¤¤¤­¤ó¤° ¥Ð¥¤¥­¥ó¥° #T30 0 ¤Ð¤¤¤¯ ¥Ð¥¤¥¯ #T35 3 ¤Ð¤¤¤·¤ã¤¯ ÇÞ¼à #T30 0 ¤Ð¤¤¤·¤å¤¦ Çã¼ý #T30 1 ¤Ð¤¤¤·¤å¤ó Çä½Õ #T30 0 ¤Ð¤¤¤·¤å¤ó Çã½Õ #T30 2 ¤Ð¤¤¤·¤ç¤¦ Çå½þ #T30 0 ¤Ð¤¤¤·¤ç¤¯ Çæ¿© #T30 0 ¤Ð¤¤¤·¤ó Çæ¿³ #T35 0 ¤Ð¤¤¤¸¤ó Çá¿Ð #T35 0 ¤Ð¤¤¤¹¤¦ ÇÜ¿ô #T35 1 ¤Ð¤¤¤»¤¤ ÇÞÀº #T35 1 ¤Ð¤¤¤»¤¤¤É ÇÜÀºÅÙ #T05 1 ¤Ð¤¤¤»¤ó ßäÀù #T30 0 ¤Ð¤¤¤¾¤¦ ÇÜÁý #T30 1 ¤Ð¤¤¤¿¤¤ ÇÞÂÎ #T35 116 ¤Ð¤¤¤Á ÇÝÃÏ #T35 1 ¤Ð¤¤¤Æ¤ó ÇäŹ #T35 3 ¤Ð¤¤¤È ¥Ð¥¤¥È #JS 244 ¤Ð¤¤¤È ¥Ð¥¤¥È #T35 148 ¤Ð¤¤¤Ê¤ê ¥Ð¥¤¥Ê¥ê #T35 171 ¤Ð¤¤¤Ð¤¤ ÇäÇã #T30 2 ¤Ð¤¤¤Ö¤ì¡¼¤¿ ¥Ð¥¤¥Ö¥ì¡¼¥¿ #T35 1 ¤Ð¤¤¤Ö¤ì¡¼¤¿¡¼ ¥Ð¥¤¥Ö¥ì¡¼¥¿¡¼ #T35 1 ¤Ð¤¤¤á¤¤ Çä̾ #T35 0 ¤Ð¤¤¤ä¤¯ ÇäÌó #T35 0 ¤Ð¤¤¤è¤¦ ÇÝÍÜ #T30 0 ¤Ð¤¤¤è¤¦¤¨¤­ ÇÝÍÜ±Õ #T35 1 ¤Ð¤¤¤ê¤Ä ÇÜΨ #T35 2 ¤Ð¤¤¤ó¤Ç¤£¤ó¤° ¥Ð¥¤¥ó¥Ç¥£¥ó¥° #T30 35 ¤Ð¤¤¤ó¤É ¥Ð¥¤¥ó¥É #T30 46 ¤Ð¤« ²½¤« #S5r 0 ¤Ð¤« Çϼ¯ #T05 43 ¤Ð¤« ¥Ð¥« #T05 0 ¤Ð¤«¤² ¤Ð¤«¤² #KS 0 ¤Ð¤«¤º ¾ì¿ô #T35 0 ¤Ð¤«¤Ð¤«¤· ¤Ð¤«¤Ð¤«¤· #KY 1 ¤Ð¤«¤Ð¤«¤· ¥Ð¥«¥Ð¥«¤· #KY 1 ¤Ð¤«¤Ð¤«¤·¤å¤¦ ¤Ð¤«¤Ð¤«¤·¤å¤¦ #KYU 1 ¤Ð¤«¤Ð¤«¤·¤å¤¦ ¥Ð¥«¥Ð¥«¤·¤å¤¦ #KYU 1 ¤Ð¤«¤ó¤¹ ¥Ð¥«¥ó¥¹ #T35 0 ¤Ð¤­¤Ð¤­ ¥Ð¥­¥Ð¥­ #F04 0 ¤Ð¤­¤Ð¤­ ¥Ð¥­¥Ð¥­ #T16 0 ¤Ð¤¯ Çù #F11 0 ¤Ð¤¯ Çü #KJ 0 ¤Ð¤¯ Çý #KJ 0 ¤Ð¤¯ Çþ #KJ 0 ¤Ð¤¯ ˽ #KJ 0 ¤Ð¤¯ Çù #KJ 1 ¤Ð¤¯ Çø #KJ 2 ¤Ð¤¯ Çú #KJ 3 ¤Ð¤¯ Ëë #KJ 4 ¤Ð¤¯ Çû #S5 10 ¤Ð¤¯ Çû #SX 10 ¤Ð¤¯¤²¤­ Çú·â #T30 0 ¤Ð¤¯¤µ¤¤ ÇîºÍ #T35 0 ¤Ð¤¯¤·¤ç¤¦ Çú¾Ð #T10 0 ¤Ð¤¯¤·¤ó ñÞ¿Ê #T30 0 ¤Ð¤¯¤¼¤ó ÇùÁ³ #F00 2 ¤Ð¤¯¤À¤¤ ÇüÂç #T05 2 ¤Ð¤¯¤À¤ó ÇúÃÆ #T35 3 ¤Ð¤¯¤Á ÇîÂÇ #T35 0 ¤Ð¤¯¤Á ÇîÔõ #T35 0 ¤Ð¤¯¤Æ¤ê¤¢ ¥Ð¥¯¥Æ¥ê¥¢ #T35 1 ¤Ð¤¯¤Ï ÇúÇË #T30 2 ¤Ð¤¯¤Ï¤Ä Çúȯ #T30 9 ¤Ð¤¯¤Õ ËëÉÜ #T35 0 ¤Ð¤¯¤Õ ߯ÉÛ #T35 0 ¤Ð¤¯¤Þ¤Ä ËëËö #T35 1 ¤Ð¤¯¤ä¤¯ ÇúÌô #T35 0 ¤Ð¤¯¤í ˽Ϫ #T30 1 ¤Ð¤° ¥Ð¥° #T35 255 ¤Ð¤± ²½¤± #KSr 26 ¤Ð¤±¤Ä ¥Ð¥±¥Ä #T35 4 ¤Ð¤³ È¢ #SUC 8 ¤Ð¤· ¶¶ #CNSUC1 20 ¤Ð¤· ¶¶ #SUC 0 ¤Ð¤·¤ç ¾ì½ê #T35 240 ¤Ð¤·¤ç¤¦ ÇÎ¾Ö #JNM 0 ¤Ð¤·¤é Ãì #SUC 1 ¤Ð¤¹ ¥Ð¥¹ #T35 47 ¤Ð¤¹¡¼¤ó ¥Ð¥¹¡¼¥ó #T35 0 ¤Ð¤¹¤¨ ¾ìËö #T35 0 ¤Ð¤¹¤¯ ¥Ð¥¹¥¯ #CN 0 ¤Ð¤¹¤±¤Ã¤È ¥Ð¥¹¥±¥Ã¥È #T35 2 ¤Ð¤¹¤±¤Ã¤È¤Ü¡¼¤ë ¥Ð¥¹¥±¥Ã¥È¥Ü¡¼¥ë #T35 1 ¤Ð¤¹¤Æ¤¤ ¥Ð¥¹Ää #T35 1 ¤Ð¤¹¤ì¤Õ ¥Ð¥¹¥ì¥Õ #T35 1 ¤Ð¤»¤¤ ÇÍÀ¼ #T35 0 ¤Ð¤¿¡¼ ¥Ð¥¿¡¼ #T35 1 ¤Ð¤¿¤± Ȫ #T35 0 ¤Ð¤¿¤Ð¤¿ ¥Ð¥¿¥Ð¥¿ #F04 0 ¤Ð¤¿¤Ð¤¿ ¥Ð¥¿¥Ð¥¿ #T16 0 ¤Ð¤Á È­ #T35 0 ¤Ð¤Á ȳ #T35 1 ¤Ð¤Á¤¬¤¤ ¾ì°ã¤¤ #T05 0 ¤Ð¤Ã ȳ #S5 1 ¤Ð¤Ã ȳ #SX 1 ¤Ð¤Ã¤«¤ê ¤Ð¤Ã¤«¤ê #SUC 18 ¤Ð¤Ã¤­¤ç È´µî #T30 1 ¤Ð¤Ã¤­¤ó ȳ¶â #T35 1 ¤Ð¤Ã¤¯ ¥Ð¥Ã¥¯ #T30 57 ¤Ð¤Ã¤¯¤¢¤Ã¤× ¥Ð¥Ã¥¯¥¢¥Ã¥× #T30 22 ¤Ð¤Ã¤¯¤È¤é¤Ã¤¯ ¥Ð¥Ã¥¯¥È¥é¥Ã¥¯ #T30 2 ¤Ð¤Ã¤¯¤ß¤é¡¼ ¥Ð¥Ã¥¯¥ß¥é¡¼ #T35 2 ¤Ð¤Ã¤° ¥Ð¥Ã¥° #T35 0 ¤Ð¤Ã¤µ¤ê ¤Ð¤Ã¤µ¤ê #F06 0 ¤Ð¤Ã¤µ¤ê ¤Ð¤Ã¤µ¤ê #T16 0 ¤Ð¤Ã¤· È´»õ #T30 0 ¤Ð¤Ã¤¸ ¥Ð¥Ã¥¸ #T35 1 ¤Ð¤Ã¤¹¤¤ È´¿è #T30 6 ¤Ð¤Ã¤½¤¯ ȳ§ #T35 1 ¤Ð¤Ã¤¿¤ê ¤Ð¤Ã¤¿¤ê #F06 1 ¤Ð¤Ã¤¿¤ê ¤Ð¤Ã¤¿¤ê #T16 0 ¤Ð¤Ã¤Á ¥Ð¥Ã¥Á #T35 15 ¤Ð¤Ã¤Á¤ê ¤Ð¤Ã¤Á¤ê #F06 0 ¤Ð¤Ã¤Á¤ê ¤Ð¤Ã¤Á¤ê #T16 0 ¤Ð¤Ã¤Æ¤­ ȴŧ #T30 0 ¤Ð¤Ã¤È ¥Ð¥Ã¥È #T35 3 ¤Ð¤Ã¤Ï ¥Ð¥Ã¥Ï #JN 0 ¤Ð¤Ã¤Õ¤¡ ¥Ð¥Ã¥Õ¥¡ #T35 255 ¤Ð¤Ã¤Ý¤ó È´ËÜ #T35 1 ¤Ð¤Ä ȵ #KJ 0 ¤Ð¤Ä Ëö #KJ 0 ¤Ð¤Ä Ȳ #KJ 1 ¤Ð¤Ä È´ #KJ 1 ¤Ð¤Ä ȶ #T35 1 ¤Ð¤Ä ¡ß #T35 255 ¤Ð¤Ä ȳ #T35 9 ¤Ð¤Ä¤°¤ó È´·² #T05 1 ¤Ð¤È¤¦ ÇÏÆ¬ #JCN 0 ¤Ð¤È¤¦ ÇÍÅÝ #T30 1 ¤Ð¤É¤ß¤ó¤È¤ó ¥Ð¥É¥ß¥ó¥È¥ó #T35 1 ¤Ð¤Ê¤· Ïà #T35 7 ¤Ð¤Ê¤Ê ¥Ð¥Ê¥Ê #T35 0 ¤Ð¤Ê¤ì Î¥¤ì #N2T30 5 ¤Ð¤Ë¤é ¥Ð¥Ë¥é #T35 1 ¤Ð¤Ð ÇϾì #JCN 0 ¤Ð¤Ð ÇϾì #T35 1 ¤Ð¤Ð ÇÌ #T35 2 ¤Ð¤Ö¤ë ¥Ð¥Ö¥ë #T35 2 ¤Ð¤á¤ó ¾ìÌÌ #T35 5 ¤Ð¤ä ® #KY 0 ¤Ð¤ä Áá #KY 3 ¤Ð¤ä¤· ÎÓ #KJ 0 ¤Ð¤é ¤Ð¤é #S5r 8 ¤Ð¤é ¥Ð¥é #T35 0 ¤Ð¤é é¬é¯ #T35 0 ¤Ð¤é¤Ä ¤Ð¤é¤Ä #K5r 0 ¤Ð¤é¤Ä¤­ ¥Ð¥é¥Ä¥­ #T35 0 ¤Ð¤é¤Ð¤é ¤Ð¤é¤Ð¤é #T05 1 ¤Ð¤é¤Ð¤é ¥Ð¥é¥Ð¥é #T05 2 ¤Ð¤é¤Þ ¤Ð¤é¤Þ #K5r 2 ¤Ð¤é¤ó¤¹ ¥Ð¥é¥ó¥¹ #T35 5 ¤Ð¤ê ¿Ë #SUC 2 ¤Ð¤ê ÇÍëÊ #T30 0 ¤Ð¤ê¤¨¡¼¤·¤ç¤ó ¥Ð¥ê¥¨¡¼¥·¥ç¥ó #T35 4 ¤Ð¤ê¤­ ÇÏÎÏ #JS 2 ¤Ð¤ê¤­ ÇÏÎÏ #T35 1 ¤Ð¤ê¤È¤ó ¥Ð¥ê¥È¥ó #T35 0 ¤Ð¤ê¤Ð¤ê ¥Ð¥ê¥Ð¥ê #T16 0 ¤Ð¤ê¤Ð¤ê ¥Ð¥ê¥Ð¥ê #F04 0 ¤Ð¤ê¤Ð¤ê ¤Ð¤ê¤Ð¤ê #F04 0 ¤Ð¤ê¤å¡¼ ¥Ð¥ê¥å¡¼ #T35 2 ¤Ð¤ë¡¼¤ó ¥Ð¥ë¡¼¥ó #T35 0 ¤Ð¤ë¤¯ ¥Ð¥ë¥¯ #T35 2 ¤Ð¤ë¤È ¥Ð¥ë¥È #CN 0 ¤Ð¤ë¤È¡¼¤¯ ¥Ð¥ë¥È¡¼¥¯ #JN 0 ¤Ð¤ë¤Ö ¥Ð¥ë¥Ö #T35 4 ¤Ð¤ì¡¼¤Ü¡¼¤ë ¥Ð¥ì¡¼¥Ü¡¼¥ë #T35 14 ¤Ð¤ì¤¤¤·¤ç ÇÏÎë½ò #T35 0 ¤Ð¤ì¤¨ ¥Ð¥ì¥¨ #T35 1 ¤Ð¤ì¤ë¤¹ ¥Ð¥ì¥ë¥¹ #JN 0 ¤Ð¤ì¤ó¤¿¤¤¤ó ¥Ð¥ì¥ó¥¿¥¤¥ó #JN 0 ¤Ð¤ì¤ó¤¿¤¤¤ó ¥Ð¥ì¥ó¥¿¥¤¥ó #T35 1 ¤Ð¤í¡¼¤¹ ¥Ð¥í¡¼¥¹ #KK 1 ¤Ð¤í¤á¡¼¤¿ ¥Ð¥í¥á¡¼¥¿ #T35 1 ¤Ð¤í¤á¡¼¤¿¡¼ ¥Ð¥í¥á¡¼¥¿¡¼ #T35 1 ¤Ð¤ó ÈÖ #JS 181 ¤Ð¤ó ÇÅ #KJ 0 ¤Ð¤ó ÈÔ #KJ 0 ¤Ð¤ó ÈÙ #KJ 0 ¤Ð¤ó ºå #KJ 1 ¤Ð¤ó ȼ #KJ 1 ¤Ð¤ó ÈØ #KJ 1 ¤Ð¤ó ÈÚ #KJ 2 ¤Ð¤ó Ëü #KJ 52 ¤Ð¤ó ÈÇ #SUC 0 ¤Ð¤ó ÈÖ #T35 116 ¤Ð¤ó ÈÄ #T35 12 ¤Ð¤ó È× #T35 16 ¤Ð¤ó ÈÇ #T35 178 ¤Ð¤ó Ƚ #T35 2 ¤Ð¤ó ÈÕ #T35 53 ¤Ð¤ó¤« ÈԲΠ#T35 0 ¤Ð¤ó¤« ÈÕ²Æ #T35 0 ¤Ð¤ó¤«¤¤ ÈÔ²ó #T30 0 ¤Ð¤ó¤«¤ó Ëü´¶ #T35 0 ¤Ð¤ó¤¬¤¤ ÈÖ³° #T35 1 ¤Ð¤ó¤­¤ó ÈĶâ #T35 0 ¤Ð¤ó¤¯ ¥Ð¥ó¥¯ #T35 2 ¤Ð¤ó¤°¤ß ÈÖÁÈ #T35 24 ¤Ð¤ó¤³¤¯ Ëü¹ñ #T35 0 ¤Ð¤ó¤³¤ó ÈÕº§ #T15 0 ¤Ð¤ó¤´¤¦ ÈÖ¹æ #T35 255 ¤Ð¤ó¤µ¤ó ÈÕ»Á #T35 0 ¤Ð¤ó¤¶¤¤ ËüºÐ #T30 2 ¤Ð¤ó¤·¤ã¤¯ ÈÕ¼à #T30 0 ¤Ð¤ó¤·¤å¤¦ ÈÕ½© #T35 0 ¤Ð¤ó¤·¤å¤ó ÈÕ½Õ #T35 0 ¤Ð¤ó¤·¤ç¤¦ Ëü¾ã #T35 1 ¤Ð¤ó¤¸ Ëü»ö #T35 0 ¤Ð¤ó¤¸¤å¤¯ ÈÕ½Ï #T05 0 ¤Ð¤ó¤¸¤ç¤¦ È×¾å #T35 0 ¤Ð¤ó¤»¤¤ ÈÕÀ® #T30 0 ¤Ð¤ó¤»¤¤ ÈÚÀ¼ #T35 0 ¤Ð¤ó¤»¤ó ÈÖÀþ #JS 0 ¤Ð¤ó¤»¤ó ÈÖÀþ #T35 0 ¤Ð¤ó¤¼¤ó ËüÁ´ #T05 1 ¤Ð¤ó¤½¤¦ ȼÁÕ #T30 8 ¤Ð¤ó¤À¤¤ ÈØÄô #CN 0 ¤Ð¤ó¤À¤¤ ÈÖÂæ #JS 0 ¤Ð¤ó¤À¤¤ ÈÖÂæ #T35 0 ¤Ð¤ó¤Á ÈÖÃÏ #JS 9 ¤Ð¤ó¤Á ÈÖÃÏ #T35 4 ¤Ð¤ó¤Á¤ã ÈÖÃã #T35 0 ¤Ð¤ó¤Æ ÈÖ¼ê #JS 0 ¤Ð¤ó¤È¤¦ ÈÖÆ¬ #T35 0 ¤Ð¤ó¤É ¥Ð¥ó¥É #T35 13 ¤Ð¤ó¤É¤¦ ºäÅì #JCN 0 ¤Ð¤ó¤Ë¤ó ÈÖ¿Í #T35 0 ¤Ð¤ó¤Ë¤ó Ëü¿Í #T35 0 ¤Ð¤ó¤Í¤ó ÈÕǯ #T35 1 ¤Ð¤ó¤Î¤¦ Ëüǽ #T05 2 ¤Ð¤ó¤Ð¤ó ¤Ð¤ó¤Ð¤ó #F14 3 ¤Ð¤ó¤Ñ¤¯ ËüÇî #T35 1 ¤Ð¤ó¤Ö¤Ä Ëüʪ #T35 0 ¤Ð¤ó¤Ú¤¤ ÈÖʼ #T35 1 ¤Ð¤ó¤ß¤ó Ëü̱ #T35 1 ¤Ð¤ó¤æ¤¦ ËüÍ­ #T35 0 ¤Ñ ±© #JS 0 ¤Ñ ÇÈ #JS 12 ¤Ñ¡¼¤µ ¥Ñ¡¼¥µ #T35 0 ¤Ñ¡¼¤µ¡¼ ¥Ñ¡¼¥µ¡¼ #T35 0 ¤Ñ¡¼¤¶ ¥Ñ¡¼¥¶ #T35 1 ¤Ñ¡¼¤¶¡¼ ¥Ñ¡¼¥¶¡¼ #T35 1 ¤Ñ¡¼¤¹ ¥Ñ¡¼¥¹ #T30 1 ¤Ñ¡¼¤»¤ó¤Æ¡¼¤¸ ¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸ #T35 0 ¤Ñ¡¼¤»¤ó¤È ¥Ñ¡¼¥»¥ó¥È #JS 2 ¤Ñ¡¼¤»¤ó¤È ¥Ñ¡¼¥»¥ó¥È #T35 2 ¤Ñ¡¼¤»¤ó¤È ¡ó #T35 3 ¤Ñ¡¼¤½¤Ê¤ê¤Æ¤£ ¥Ñ¡¼¥½¥Ê¥ê¥Æ¥£ #T35 1 ¤Ñ¡¼¤½¤Ê¤ê¤Æ¤£¡¼ ¥Ñ¡¼¥½¥Ê¥ê¥Æ¥£¡¼ #T35 1 ¤Ñ¡¼¤½¤Ê¤ë ¥Ñ¡¼¥½¥Ê¥ë #T05 11 ¤Ñ¡¼¤Æ¤£ ¥Ñ¡¼¥Æ¥£ #T30 10 ¤Ñ¡¼¤Æ¤£¡¼ ¥Ñ¡¼¥Æ¥£¡¼ #T35 17 ¤Ñ¡¼¤Æ¤£¤·¤ç¤ó ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó #T35 18 ¤Ñ¡¼¤È ¥Ñ¡¼¥È #T35 11 ¤Ñ¡¼¤È¤¿¤¤¤Þ¡¼ ¥Ñ¡¼¥È¥¿¥¤¥Þ¡¼ #T35 1 ¤Ñ¡¼¤È¤Ê¡¼ ¥Ñ¡¼¥È¥Ê¡¼ #T35 1 ¤Ñ¡¼¤Õ¤§¤¯¤È ¥Ñ¡¼¥Õ¥§¥¯¥È #T05 1 ¤Ñ¡¼¤ß¤Ã¤·¤ç¤ó ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó #T35 11 ¤Ñ¡¼¤ß¤ë ¢ó #T35 1 ¤Ñ¡¼¤ë ¥Ñ¡¼¥ë #T35 1 ¤Ñ¤¤ ÇÕ #JS 0 ¤Ñ¤¤ ÇÔ #JS 2 ¤Ñ¤¤ ¦Ð #T35 10 ¤Ñ¤¤ ¥Ñ¥¤ #T35 3 ¤Ñ¤¤ ¦° #T35 3 ¤Ñ¤¤¤ª¤Ë¤¢ ¥Ñ¥¤¥ª¥Ë¥¢ #KK 2 ¤Ñ¤¤¤× ¥Ñ¥¤¥× #T30 20 ¤Ñ¤¤¤í¤Ã¤È ¥Ñ¥¤¥í¥Ã¥È #T35 1 ¤Ñ¤­¤¹¤¿¤ó ¥Ñ¥­¥¹¥¿¥ó #CN 0 ¤Ñ¤¯ Çñ #JS 0 ¤Ñ¤¯ Çï #JS 2 ¤Ñ¤¯¤Ñ¤¯ ¤Ñ¤¯¤Ñ¤¯ #F04 0 ¤Ñ¤±¤Ã¤È ¥Ñ¥±¥Ã¥È #T35 167 ¤Ñ¤³ È¢ #JS 1 ¤Ñ¤¸¤ã¤Þ ¥Ñ¥¸¥ã¥Þ #T35 1 ¤Ñ¤¹ ¥Ñ¥¹ #T30 72 ¤Ñ¤¹¤«¤ë ¥Ñ¥¹¥«¥ë #JN 0 ¤Ñ¤¹¤¿ ¥Ñ¥¹¥¿ #T35 1 ¤Ñ¤¹¤Æ¤ë ¥Ñ¥¹¥Æ¥ë #T35 2 ¤Ñ¤¹¤ï¡¼¤É ¥Ñ¥¹¥ï¡¼¥É #T35 55 ¤Ñ¤º¤ë ¥Ñ¥º¥ë #T35 3 ¤Ñ¤½¤³¤ó ¥Ñ¥½¥³¥ó #T35 26 ¤Ñ¤¿¡¼¤ó ¥Ñ¥¿¡¼¥ó #T35 35 ¤Ñ¤¿¤´¤Ë¤¢ ¥Ñ¥¿¥´¥Ë¥¢ #CN 0 ¤Ñ¤Á¤Ñ¤Á ¤Ñ¤Á¤Ñ¤Á #F06 0 ¤Ñ¤Á¤Ñ¤Á ¤Ñ¤Á¤Ñ¤Á #T16 0 ¤Ñ¤Á¤Ñ¤Á ¥Ñ¥Á¥Ñ¥Á #F06 0 ¤Ñ¤Á¤Ñ¤Á ¥Ñ¥Á¥Ñ¥Á #T16 0 ¤Ñ¤Á¤ó¤³ ¥Ñ¥Á¥ó¥³ #T30 3 ¤Ñ¤Ã¤«¡¼¤É ¥Ñ¥Ã¥«¡¼¥É #KK 2 ¤Ñ¤Ã¤¯ ¥Ñ¥Ã¥¯ #T30 30 ¤Ñ¤Ã¤±¡¼¤¸ ¥Ñ¥Ã¥±¡¼¥¸ #T30 47 ¤Ñ¤Ã¤·¤ó¤° ¥Ñ¥Ã¥·¥ó¥° #T30 2 ¤Ñ¤Ã¤Á ¥Ñ¥Ã¥Á #T30 96 ¤Ñ¤Ã¤Á¤ê ¤Ñ¤Ã¤Á¤ê #F04 0 ¤Ñ¤Ã¤Á¤ê ¤Ñ¤Ã¤Á¤ê #T16 0 ¤Ñ¤Ã¤È ¤Ñ¤Ã¤È #F12 0 ¤Ñ¤Ã¤È ¥Ñ¥Ã¥È #T30 1 ¤Ñ¤Ã¤É ¥Ñ¥Ã¥É #T35 1 ¤Ñ¤Ä ȯ #JS 7 ¤Ñ¤È¤«¡¼ ¥Ñ¥È¥«¡¼ #T35 0 ¤Ñ¤È¤í¡¼¤ë ¥Ñ¥È¥í¡¼¥ë #T35 0 ¤Ñ¤Ê¤Þ ¥Ñ¥Ê¥Þ #CN 0 ¤Ñ¤Ë¤Ã¤¯ ¥Ñ¥Ë¥Ã¥¯ #T35 9 ¤Ñ¤Í¤ê¤¹¤È ¥Ñ¥Í¥ê¥¹¥È #T35 1 ¤Ñ¤Í¤ë ¥Ñ¥Í¥ë #T35 39 ¤Ñ¤Î¤é¤Þ ¥Ñ¥Î¥é¥Þ #T35 1 ¤Ñ¤Ñ ¥Ñ¥Ñ #T35 4 ¤Ñ¤Õ¤©¡¼¤Þ ¥Ñ¥Õ¥©¡¼¥Þ #KK 0 ¤Ñ¤Õ¤©¡¼¤Þ¡¼ ¥Ñ¥Õ¥©¡¼¥Þ¡¼ #T35 0 ¤Ñ¤Õ¤©¡¼¤Þ¤ó¤¹ ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ #T30 20 ¤Ñ¤Ö¤ê¤Ã¤¯ ¥Ñ¥Ö¥ê¥Ã¥¯ #T05 4 ¤Ñ¤Ö¤ê¤Ã¤¯¤É¤á¤¤¤ó ¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó #T05 6 ¤Ñ¤é¤°¤é¤Õ ¢ù #T35 1 ¤Ñ¤é¤°¤é¤Õ ¥Ñ¥é¥°¥é¥Õ #T35 2 ¤Ñ¤é¤À¤¤¤à ¥Ñ¥é¥À¥¤¥à #T35 2 ¤Ñ¤é¤É¤¯¤¹ ¥Ñ¥é¥É¥¯¥¹ #T35 0 ¤Ñ¤é¤É¤Ã¤¯¤¹ ¥Ñ¥é¥É¥Ã¥¯¥¹ #T35 0 ¤Ñ¤é¤Ñ¤é ¤Ñ¤é¤Ñ¤é #F04 0 ¤Ñ¤é¤Ñ¤é ¤Ñ¤é¤Ñ¤é #T16 0 ¤Ñ¤é¤Ñ¤é ¥Ñ¥é¥Ñ¥é #F04 0 ¤Ñ¤é¤Ñ¤é ¥Ñ¥é¥Ñ¥é #T16 0 ¤Ñ¤é¤Õ¤£¤ó ¥Ñ¥é¥Õ¥£¥ó #T35 1 ¤Ñ¤é¤á¡¼¤¿ ¥Ñ¥é¥á¡¼¥¿ #T35 47 ¤Ñ¤é¤á¡¼¤¿¡¼ ¥Ñ¥é¥á¡¼¥¿¡¼ #T35 47 ¤Ñ¤é¤á¤¿ ¥Ñ¥é¥á¥¿ #T35 232 ¤Ñ¤é¤á¤¿¡¼ ¥Ñ¥é¥á¥¿¡¼ #T35 232 ¤Ñ¤é¤á¤È¤í¤ó ¥Ñ¥é¥á¥È¥í¥ó #T35 1 ¤Ñ¤é¤é¤¤¤¶¡¼ ¥Ñ¥é¥é¥¤¥¶¡¼ #T35 2 ¤Ñ¤é¤ì¤ë ¥Ñ¥é¥ì¥ë #T05 2 ¤Ñ¤ê ¥Ñ¥ê #CN 0 ¤Ñ¤ê ÇÃΤ #CN 0 ¤Ñ¤ê¤Æ¤£ ¥Ñ¥ê¥Æ¥£ #T35 2 ¤Ñ¤ê¤Æ¤£¡¼ ¥Ñ¥ê¥Æ¥£¡¼ #T35 2 ¤Ñ¤ë¤¹ ¥Ñ¥ë¥¹ #T35 4 ¤Ñ¤ë¤× ¥Ñ¥ë¥× #T35 0 ¤Ñ¤ì¤¹ ¥Ñ¥ì¥¹ #T35 2 ¤Ñ¤ì¤¹¤Á¤Ê ¥Ñ¥ì¥¹¥Á¥Ê #CN 0 ¤Ñ¤ì¤Ã¤È ¥Ñ¥ì¥Ã¥È #T35 1 ¤Ñ¤í¤Ç¤£ ¥Ñ¥í¥Ç¥£ #T35 1 ¤Ñ¤í¤Ç¤£¡¼ ¥Ñ¥í¥Ç¥£¡¼ #T35 1 ¤Ñ¤ï¡¼ ¥Ñ¥ï¡¼ #T35 13 ¤Ñ¤ï¡¼¤Ö¤Ã¤¯ ¥Ñ¥ï¡¼¥Ö¥Ã¥¯ #KK 0 ¤Ñ¤ï¤Õ¤ë ¥Ñ¥ï¥Õ¥ë #T05 3 ¤Ñ¤ó ÈÇ #JS 13 ¤Ñ¤ó ¥Ñ¥ó #T35 7 ¤Ñ¤ó¤¯ ¥Ñ¥ó¥¯ #T30 3 ¤Ñ¤ó¤²¤¢ ¥Ñ¥ó¥²¥¢ #CN 0 ¤Ñ¤ó¤À ¥Ñ¥ó¥À #T35 1 ¤Ñ¤ó¤Ä ¥Ñ¥ó¥Ä #T35 1 ¤Ñ¤ó¤Æ¤£ ¥Ñ¥ó¥Æ¥£ #T35 1 ¤Ñ¤ó¤Æ¤£¡¼ ¥Ñ¥ó¥Æ¥£¡¼ #T35 1 ¤Ñ¤ó¤Õ¤ì¤Ã¤È ¥Ñ¥ó¥Õ¥ì¥Ã¥È #T35 6 ¤Ñ¤ó¤×¤¹ ¥Ñ¥ó¥×¥¹ #T35 1 ¤Ñ¤ó¤ä ¥Ñ¥ó²° #T35 0 ¤Ò ¸£ #K5 0 ¤Ò ¼æ #K5 1 ¤Ò Âà #K5 1 ¤Ò °ú #K5 129 ¤Ò ±È #K5 2 ¤Ò ¤Ò #K5 4 ¤Ò ÃÆ #K5r 13 ¤Ò ´³ #KJ 0 ¤Ò ·¥ #KJ 0 ¤Ò ÈÛ #KJ 0 ¤Ò ÈÜ #KJ 0 ¤Ò Èß #KJ 0 ¤Ò Èà #KJ 0 ¤Ò Èá #KJ 0 ¤Ò Èâ #KJ 0 ¤Ò Èã #KJ 0 ¤Ò Èä #KJ 0 ¤Ò Èå #KJ 0 ¤Ò Èç #KJ 0 ¤Ò Èè #KJ 0 ¤Ò Èë #KJ 0 ¤Ò Èì #KJ 0 ¤Ò Èí #KJ 0 ¤Ò Èï #KJ 0 ¤Ò Èð #KJ 0 ¤Ò Èò #KJ 0 ¤Ò Èõ #KJ 0 ¤Ò Èö #KJ 0 ¤Ò Èû #KJ 0 ¤Ò ɰ #KJ 0 ¤Ò ɹ #KJ 0 ¤Ò Èé #KJ 1 ¤Ò Èô #KJ 1 ¤Ò ÈÝ #KJ 3 ¤Ò Èî #KJ 4 ¤Ò Èñ #KJ 9 ¤Ò ´³ #KS 80 ¤Ò Èï #PRE 0 ¤Ò Èó #PRE 148 ¤Ò Èë #S5 2 ¤Ò Èñ #SUC 0 ¤Ò Èæ #T30 31 ¤Ò Èë #T30 6 ¤Ò Èê #T35 0 ¤Ò Åô #T35 1 ¤Ò ÈÞ #T35 1 ¤Ò Æü #T35 255 ¤Ò ÍÛ #T35 3 ¤Ò ²Ð #T35 37 ¤Ò Èó #T35 70 ¤Ò¡¼¤¿ ¥Ò¡¼¥¿ #T35 4 ¤Ò¡¼¤¿¡¼ ¥Ò¡¼¥¿¡¼ #T35 4 ¤Ò¡¼¤× ¥Ò¡¼¥× #T35 6 ¤Ò¡¼¤í¡¼ ¥Ò¡¼¥í¡¼ #T35 1 ¤Ò¤¢¤¤ Èá°¥ #T35 1 ¤Ò¤¤¤Æ¤Ï ¤Ò¤¤¤Æ¤Ï #F14 2 ¤Ò¤¤¤Ç ½¨¤Ç #KS 1 ¤Ò¤¤¤Ò¤¤ ¤Ò¤¤¤Ò¤¤ #F06 0 ¤Ò¤¤¤Þ¤´ Á½Â¹ #T35 0 ¤Ò¤¤¤é¤® É¢ #T35 0 ¤Ò¤¤¤í Èì¿§ #T35 0 ¤Ò¤¦¤é ²Ð±º #JNS 0 ¤Ò¤¦¤é Èõ±º #JNS 0 ¤Ò¤¦¤ó Èó±¿ #T35 0 ¤Ò¤¨ Î䤨 #KSr 4 ¤Ò¤¨ É£ #T35 1 ¤Ò¤¨¤³ Î䤨¹þ #M5r 0 ¤Ò¤¨¤À É£ÅÄ #JCN 0 ¤Ò¤¨¤Å ÆüµÈÄÅ #JCN 0 ¤Ò¤¨¤Ì¤­ É£´Ó #JCN 0 ¤Ò¤ª¤­ ÆüÃÖ #JCN 0 ¤Ò¤« ¸÷ #R5 6 ¤Ò¤« Èé²¼ #T35 0 ¤Ò¤«¤¨ ¹µ¤¨ #KSr 21 ¤Ò¤«¤¨¤·¤Ä ¹µ¼¼ #T35 0 ¤Ò¤«¤¯ Èæ³Ó #T30 109 ¤Ò¤«¤¯ Èé³× #T35 0 ¤Ò¤«¤² Æü±¢ #T35 1 ¤Ò¤«¤¿ ´³³ã #JCN 0 ¤Ò¤«¤ß ɹ¾å #JCN 0 ¤Ò¤«¤é¤Ó ´³¤«¤é¤Ó #KS 1 ¤Ò¤«¤ê ¸÷ #CN 0 ¤Ò¤«¤ê ¸÷ #T35 38 ¤Ò¤«¤ë ¤Ò¤«¤ë #JNM 0 ¤Ò¤«¤ë ¸÷ #JNM 0 ¤Ò¤«¤ï ÈåÀî #JCN 0 ¤Ò¤«¤ï ÈöÀî #JCN 0 ¤Ò¤«¤ó Èá´Ñ #T30 4 ¤Ò¤¬ ÊÈ #M5r 0 ¤Ò¤¬ ¤Ò¤¬ #M5r 1 ¤Ò¤¬¤¤ Èï³² #T35 4 ¤Ò¤¬¤¤¤·¤ã Èï³²¼Ô #T35 4 ¤Ò¤¬¤¨¤ê Æüµ¢¤ê #T30 2 ¤Ò¤¬¤· Åì #CN 0 ¤Ò¤¬¤· Åì #CNPRE 1 ¤Ò¤¬¤· Åì #CNSUC1 0 ¤Ò¤¬¤· Åì #T35 43 ¤Ò¤¬¤·¤¢¤¶¤¤ ÅìÀõ°æ #CN 0 ¤Ò¤¬¤·¤¢¤ï¤¯¤é Åì°ÀÁÒ #CN 0 ¤Ò¤¬¤·¤¤¤±¤Ö¤¯¤í ÅìÃÓÂÞ #CN 0 ¤Ò¤¬¤·¤¤¤º Åì°ËƦ #CN 0 ¤Ò¤¬¤·¤¤¤º¤â Åì½Ð±À #CN 0 ¤Ò¤¬¤·¤¤¤Á¤­ Åì»ÔÍè #CN 0 ¤Ò¤¬¤·¤¤¤Ð¤é¤­ Åì°ñ¾ë #CN 0 ¤Ò¤¬¤·¤¤¤ä¤ä¤Þ ÅìÁÄ뻳 #CN 0 ¤Ò¤¬¤·¤¤¤ï¤¤ ÅìÈØ°æ #CN 0 ¤Ò¤¬¤·¤¦¤¹¤­ Åì±±µÏ #CN 0 ¤Ò¤¬¤·¤¦¤é Å챺 #CN 0 ¤Ò¤¬¤·¤¦¤ï Åì±§Ï #CN 0 ¤Ò¤¬¤·¤ª¤ª¤µ¤« ÅìÂçºå #CN 0 ¤Ò¤¬¤·¤ª¤ª¤¸ ÅìÂçÏ© #CN 0 ¤Ò¤¬¤·¤ª¤­¤¿¤Þ ÅìÃÖ»ò #CN 0 ¤Ò¤¬¤·¤«¤°¤é Åì¿À³Ú #CN 0 ¤Ò¤¬¤·¤«¤Ä¤·¤« Åì³ë¾þ #CN 0 ¤Ò¤¬¤·¤«¤â Åì²ÃÌÐ #CN 0 ¤Ò¤¬¤·¤«¤ï ÅìÀî #JCN 0 ¤Ò¤¬¤·¤«¤ó¤Ð¤é Åì³÷¸¶ #CN 0 ¤Ò¤¬¤·¤¬¤ï Åì¦ #T35 0 ¤Ò¤¬¤·¤¯¤·¤é Åì¶úÎÉ #CN 0 ¤Ò¤¬¤·¤¯¤Ë¤µ¤­ Åì¹ñÅì #CN 0 ¤Ò¤¬¤·¤¯¤Ó¤­ Åì·Û¾ë #CN 0 ¤Ò¤¬¤·¤¯¤ë¤á Åìµ×Î±ÊÆ #CN 0 ¤Ò¤¬¤·¤°¤Á Åì¸ý #T35 1 ¤Ò¤¬¤·¤·¤é¤«¤ï ÅìÇòÀî #CN 0 ¤Ò¤¬¤·¤¹¤ß¤è¤· Åì½»µÈ #CN 0 ¤Ò¤¬¤·¤½¤Î¤® ÅìÈàµÏ #CN 0 ¤Ò¤¬¤·¤¿¤¬¤ï ÅìÅÄÀî #CN 0 ¤Ò¤¬¤·¤À ÅìÅÄ #JNS 0 ¤Ò¤¬¤·¤Á¤¯¤Þ ÅìÃÞËà #CN 0 ¤Ò¤¬¤·¤Á¤Á¤Ö ÅìÃáÉã #CN 0 ¤Ò¤¬¤·¤Ä¤¬¤ë ÅìÄÅ·Ú #CN 0 ¤Ò¤¬¤·¤Ä¤Î ÅìÄÅÌî #CN 0 ¤Ò¤¬¤·¤È¤Ê¤ß ÅìÅ×ÇÈ #CN 0 ¤Ò¤¬¤·¤È¤Ê¤ß ÅìâêÇÈ #CN 0 ¤Ò¤¬¤·¤É¤¦¤ê ÅìÄÌ #CN 0 ¤Ò¤¬¤·¤Ê¤À ÅìÆç #CN 0 ¤Ò¤¬¤·¤Ê¤ê ÅìÀ® #JCN 0 ¤Ò¤¬¤·¤Ê¤ë¤» ÅìÀ®À¥ #CN 0 ¤Ò¤¬¤·¤Í Å캬 #JCN 0 ¤Ò¤¬¤·¤Î ÅìÌî #JCN 0 ¤Ò¤¬¤·¤Ò¤í¤·¤Þ Åì¹­Åç #CN 0 ¤Ò¤¬¤·¤Þ¤Ä¤¦¤é Åì¾¾±º #CN 0 ¤Ò¤¬¤·¤Þ¤Ä¤ä¤Þ Åì¾¾»³ #CN 0 ¤Ò¤¬¤·¤à¤é¤ä¤Þ Åì¼»³ #CN 0 ¤Ò¤¬¤·¤à¤í Åì̶Ϭ #CN 0 ¤Ò¤¬¤·¤â¤í¤«¤¿ Åì½ô¸© #CN 0 ¤Ò¤¬¤·¤ä¤Ä¤·¤í ÅìȬÂå #CN 0 ¤Ò¤¬¤·¤ä¤Þ Å컳 #JCN 0 ¤Ò¤¬¤·¤ä¤Þ¤È ÅìÂçÏ #CN 0 ¤Ò¤¬¤·¤ä¤Þ¤Ê¤· Å컳Íü #CN 0 ¤Ò¤¬¤·¤æ¤ê ÅìÍ³Íø #CN 0 ¤Ò¤¬¤·¤è¤« ÅìÍ¿²ì #CN 0 ¤Ò¤¬¤·¤è¤·¤Î ÅìµÈÌî #CN 0 ¤Ò¤¬¤·¤è¤É¤¬¤ï ÅìÍäÀî #CN 0 ¤Ò¤¬¤·¤ê¤·¤ê ÅìÍø¿¬ #CN 0 ¤Ò¤¬¤¿ ´³³ã #T35 0 ¤Ò¤¬¤ó Èà´ß #T35 1 ¤Ò¤¬¤ó Èá´ê #T35 1 ¤Ò¤­ Èæ´ë #JCN 0 ¤Ò¤­ ɤ #JS 1 ¤Ò¤­ ±È #KJ 0 ¤Ò¤­ ÈÔ #KJ 0 ¤Ò¤­ ɤ #KJ 0 ¤Ò¤­ É¥ #KJ 1 ¤Ò¤­ °ú¤­ #T35 0 ¤Ò¤­¤¢ °ú¤­¹ç #W5r 2 ¤Ò¤­¤¢¤¤ °ú¹ç¤¤ #T35 0 ¤Ò¤­¤¢¤¤ °ú¹ç #T35 1 ¤Ò¤­¤¢¤² °ú¤­ÍȤ² #KSr 1 ¤Ò¤­¤¢¤² °ú¤­¾å¤² #KSr 2 ¤Ò¤­¤¢¤² °ú¤­¾å¤² #T30 2 ¤Ò¤­¤¢¤Æ °úÅö #T30 0 ¤Ò¤­¤¢¤ï¤» °ú¤­¹ç¤ï¤» #KSr 0 ¤Ò¤­¤¤ Ψ¤¤ #KS 1 ¤Ò¤­¤¦¤± °ú¤­¼õ¤± #KSr 4 ¤Ò¤­¤¦¤± °ú¼õ #T30 0 ¤Ò¤­¤¦¤± °ú¼õ¤± #T30 0 ¤Ò¤­¤¦¤± °ú¤­¼õ¤± #T30 3 ¤Ò¤­¤ª¤È °ú¤­Íî¤È #S5r 1 ¤Ò¤­¤ª¤í °ú¤­²¼¤í #S5r 0 ¤Ò¤­¤«¤¨ °ú¤­´¹¤¨ #KSr 0 ¤Ò¤­¤«¤¨ °ú´¹¤¨ #KSr 0 ¤Ò¤­¤«¤¨ °ú¤­Âؤ¨ #KSr 1 ¤Ò¤­¤«¤¨ °úÂØ¤¨ #KSr 1 ¤Ò¤­¤«¤¨ ¤Ò¤­¤«¤¨ #KSr 3 ¤Ò¤­¤«¤¨ °ú¤­ÊÖ #S5r 0 ¤Ò¤­¤«¤¨ °ú´¹ #T35 1 ¤Ò¤­¤¬¤¨¤ë ê±³¿ #T35 0 ¤Ò¤­¤¬¤· °ú²Û»Ò #T35 0 ¤Ò¤­¤¬¤Í °ú¶â #T35 2 ¤Ò¤­¤¬¤ï ÆüÃÖÀî #JCN 0 ¤Ò¤­¤³ °ú¤­¹þ #M5r 1 ¤Ò¤­¤µ °ú¤­¤µ #K5 1 ¤Ò¤­¤µ °ú¤­Îö #K5 1 ¤Ò¤­¤µ¤¬ °ú¤­²¼¤¬ #R5 2 ¤Ò¤­¤µ¤² °ú¤­²¼¤² #KS 2 ¤Ò¤­¤µ¤² °ú²¼¤² #T30 0 ¤Ò¤­¤¶¤ó °ú¤­»» #T30 1 ¤Ò¤­¤¶¤ó °ú»» #T30 1 ¤Ò¤­¤·¤ª °ú¤­Ä¬ #T35 0 ¤Ò¤­¤·¤Þ °ú¤­Äù¤Þ #R5r 0 ¤Ò¤­¤·¤á °ú¤­Äù¤á #KSr 0 ¤Ò¤­¤¹¤¦ °ú¿ô #T35 255 ¤Ò¤­¤º °ú¤­¤º #R5r 0 ¤Ò¤­¤º ¤Ò¤­¤º #R5r 2 ¤Ò¤­¤¿ É¥ÅÄ #JNS 0 ¤Ò¤­¤¿ °ú¤­Î© #T5 0 ¤Ò¤­¤¿¤Æ °úΩ¤Æ #T35 1 ¤Ò¤­¤À °ú¤­½Ð #S5 9 ¤Ò¤­¤À¤· °ú½Ð¤· #T30 1 ¤Ò¤­¤Á °úÃÏ #JNS 0 ¤Ò¤­¤Ä °ú¤­·Ñ #G5r 30 ¤Ò¤­¤Ä¤± °ú¤­ÉÕ¤± #KSr 1 ¤Ò¤­¤Ä¤Å¤­ °ú³¤­ #F14 8 ¤Ò¤­¤Ä¤Å¤­ °ú³¤­ #T36 0 ¤Ò¤­¤Ä¤Å¤­ °ú¤­Â³¤­ #F14 0 ¤Ò¤­¤Ä¤Å¤­ °ú¤­Â³¤­ #T36 0 ¤Ò¤­¤Ç¤â¤Î °ú½Ðʪ #T35 0 ¤Ò¤­¤È ¤Ò¤­¤È #R5r 0 ¤Ò¤­¤È °ú¤­¼è #R5r 3 ¤Ò¤­¤È¤á °ú¤­»ß¤á #KSr 0 ¤Ò¤­¤È¤á °ú¤­Î±¤á #KSr 2 ¤Ò¤­¤Ì °ú¤­È´ #K5r 0 ¤Ò¤­¤Î¤Ð °ú¤­±ä¤Ð #S5r 1 ¤Ò¤­¤Î¤Ð °ú¤­¿­¤Ð #S5r 1 ¤Ò¤­¤Ï¤Ê °ú¤­Î¥ #S5 1 ¤Ò¤­¤ß ɤ¸« #JCN 0 ¤Ò¤­¤â¤É °ú¤­Ìá #S5r 0 ¤Ò¤­¤ã¤¯ ÈôµÓ #T35 0 ¤Ò¤­¤ç¤¦ Èܶ± #T05 1 ¤Ò¤­¤ç¤¦ Èæ¶· #T30 0 ¤Ò¤­¤ç¤¦ Èë¶­ #T35 1 ¤Ò¤­¤è¤» °ú¤­´ó¤» #KS 1 ¤Ò¤­¤ï¤± °ú¤­Ê¬¤± #KSr 2 ¤Ò¤­¤ï¤¿ °ú¤­ÅÏ #S5r 1 ¤Ò¤­¤ï¤¿¤· °úÅϤ· #T30 1 ¤Ò¤® Èëµ» #T35 2 ¤Ò¤®¤ç¤¦ Èí¶È #T35 0 ¤Ò¤¯ Äã #KYme 48 ¤Ò¤¯¤¦ Ä㤦 #KYU 2 ¤Ò¤¯¤Ä Èܶþ #T05 0 ¤Ò¤¯¤á Äã¤á #KS 0 ¤Ò¤°¤Á Èõ¸ý #JNS 0 ¤Ò¤°¤Þ ¥Ò¥°¥Þ #T35 1 ¤Ò¤±¤¿ °úÅÄ #JCN 0 ¤Ò¤±¤Ã¤Æ¤¤¤· Èó·èÄê»Ò #T35 1 ¤Ò¤±¤Ä ÈÝ·è #T30 1 ¤Ò¤±¤Ä Èë·í #T35 1 ¤Ò¤±¤é¤« ¤Ò¤±¤é¤« #S5r 0 ¤Ò¤±¤ó Èæ¸ª #T30 0 ¤Ò¤±¤ó¤·¤ã È︳¼Ô #T35 1 ¤Ò¤² Èܲ¼ #T30 2 ¤Ò¤² ɦ #T35 0 ¤Ò¤² ò¤ #T35 1 ¤Ò¤² ¥Ò¥² #T35 0 ¤Ò¤²¤­ Èá·à #T35 3 ¤Ò¤³ ɧ #KJ 4 ¤Ò¤³¤¦ Èô¹Ô #T30 2 ¤Ò¤³¤¦ Èó¹Ô #T35 0 ¤Ò¤³¤¦¤­ Èô¹Ôµ¡ #T35 16 ¤Ò¤³¤¦¤¸¤ç¤¦ Èô¹Ô¾ì #T35 1 ¤Ò¤³¤¯ Èï¹ð #T35 1 ¤Ò¤³¤¿¤í¤¦ ɧÂÀϺ #JNM 0 ¤Ò¤³¤Í ɧº¬ #JCN 0 ¤Ò¤´ Èî¸å #JCN 0 ¤Ò¤´ È߸î #T30 1 ¤Ò¤´¤¤ Èì¸ñ #T35 0 ¤Ò¤´¤«¤ó Èó¸ß´¹ #T15 0 ¤Ò¤´¤È ÆüËè #T35 0 ¤Ò¤´¤í Æüº¢ #T35 9 ¤Ò¤µ ¤Ò¤µ #G5 0 ¤Ò¤µ µ× #T35 6 ¤Ò¤µ¤¤ µ×µï #JCN 0 ¤Ò¤µ¤¤ ÈïºÒ #T30 0 ¤Ò¤µ¤ª µ×ÃË #JNM 0 ¤Ò¤µ¤ª µ×É× #JNM 0 ¤Ò¤µ¤ª µ×ͺ #JNM 0 ¤Ò¤µ¤ª ¼÷ÃË #JNM 0 ¤Ò¤µ¤ª ¾°À¸ #JNM 0 ¤Ò¤µ¤ª ¾°É× #JNM 0 ¤Ò¤µ¤­¤Á µ×µÈ #JNM 0 ¤Ò¤µ¤³ µ×»Ò #JNM 0 ¤Ò¤µ¤· µ× #JNM 0 ¤Ò¤µ¤· ¼÷ #JNM 0 ¤Ò¤µ¤· ¾° #JNM 0 ¤Ò¤µ¤· ¾°»Ö #JNM 0 ¤Ò¤µ¤· µ×¤· #KY 4 ¤Ò¤µ¤· Èß #T35 0 ¤Ò¤µ¤· µ× #T35 1 ¤Ò¤µ¤·¤Ö¤ê µ×¤·¤Ö¤ê #T15 44 ¤Ò¤µ¤·¤Þ µ×Åç #JNS 0 ¤Ò¤µ¤·¤å¤¦ µ×¤·¤å¤¦ #KYU 1 ¤Ò¤µ¤Î¤ê µ×ŵ #JNM 0 ¤Ò¤µ¤Ò¤í µ×´² #JNM 0 ¤Ò¤µ¤Ó¤µ µ×¡¹ #T15 7 ¤Ò¤µ¤ß¤Á µ×Æ» #JNM 0 ¤Ò¤µ¤ä¤Þ µ×»³ #JCN 0 ¤Ò¤µ¤ó Èá»´ #T05 8 ¤Ò¤µ¤ó Èô»¶ #T30 0 ¤Ò¤¶ ɨ #T35 0 ¤Ò¤¶ ¤Ò¤¶ #T35 1 ¤Ò¤¶¤· Æü¼Í¤· #T35 1 ¤Ò¤¶¤· Æüº¹¤· #T35 2 ¤Ò¤· ¤Ò¤· #G5 0 ¤Ò¤· É© #T35 4 ¤Ò¤·¤«¤ê É©´¢ #JCN 0 ¤Ò¤·¤«¤ï É©Àî #JNS 0 ¤Ò¤·¤¬¤¿ É©·Á #T35 0 ¤Ò¤·¤¬¤¿ ¡þ #T35 2 ¤Ò¤·¤¬¤¿ ¢¡ #T35 2 ¤Ò¤·¤Ò¤· ¤Ò¤·¤Ò¤· #F06 1 ¤Ò¤·¤à¤í À¾Ì¶Ï¬ #JCN 0 ¤Ò¤·¤ã Èô¼Ö #T35 0 ¤Ò¤·¤ã¤¯ ÊÁ¼Ý #T35 0 ¤Ò¤·¤ã¤¿¤¤ Èï¼ÌÂÎ #T35 1 ¤Ò¤·¤å 磼ð #T35 1 ¤Ò¤·¤ç Èò½ë #T30 0 ¤Ò¤·¤ç Èë½ñ #T35 2 ¤Ò¤·¤ç¤¦ ÈôæÆ #T30 2 ¤Ò¤¸ Æü½Ð #CN 0 ¤Ò¤¸ ¹Ï #T35 0 ¤Ò¤¸ ɪ #T35 2 ¤Ò¤¸¤«¤ï ¹ÏÀî #JCN 0 ¤Ò¤¸¤å¤¦ Èæ½Å #T35 1 ¤Ò¤¸¤å¤Ä Èë½Ñ #T35 0 ¤Ò¤¸¤å¤ó Èã½Ú #T30 0 ¤Ò¤¸¤ç¤¦ Èó¾ï #T05 136 ¤Ò¤¸¤ç¤¦ Èó¾ð #T05 3 ¤Ò¤¸¤ç¤¦¤°¤Á Èó¾ï¸ý #T35 1 ¤Ò¤¸¤ç¤¦¤·¤­ Èó¾ï¼± #T05 1 ¤Ò¤¸¤ê À» #T35 1 ¤Ò¤¹¤Æ¤ê ¥Ò¥¹¥Æ¥ê #T35 0 ¤Ò¤¹¤Æ¤ê¤·¤¹ ¥Ò¥¹¥Æ¥ê¥·¥¹ #T35 0 ¤Ò¤¹¤Æ¤ê¤Ã¤¯ ¥Ò¥¹¥Æ¥ê¥Ã¥¯ #T05 0 ¤Ò¤¹¤È¤ê ¥Ò¥¹¥È¥ê #T35 63 ¤Ò¤¹¤È¤ó ¥Ò¥¹¥È¥ó #T35 1 ¤Ò¤º ÏÄ #M5r 1 ¤Ò¤º ¤Ò¤º #M5r 2 ¤Ò¤»¤ó ÈÜÁ¨ #T05 0 ¤Ò¤¼¤Ë ÆüÁ¬ #T35 0 ¤Ò¤¼¤ó ÈîÁ° #CN 0 ¤Ò¤½ Àø #M5 3 ¤Ò¤½ ðþ #M5r 0 ¤Ò¤½ âçÁÇ #T35 0 ¤Ò¤½¤¦ ÈáÁÔ #T05 0 ¤Ò¤½¤¦ ÈéÁê #T05 1 ¤Ò¤½¤« È뤫 #T05 0 ¤Ò¤½¤« Ì©¤« #T05 2 ¤Ò¤½¤á Àø¤á #KS 0 ¤Ò¤½¤á ðþ¤á #KS 0 ¤Ò¤¾¤¦ Èë¢ #T30 0 ¤Ò¤¾¤¦ ç£Â¡ #T35 0 ¤Ò¤¾¤¯ Èܯ #T05 0 ¤Ò¤¿ ÆüÅÄ #JCN 0 ¤Ò¤¿ ¿» #R5 2 ¤Ò¤¿ ¿» #S5 1 ¤Ò¤¿¤¤ ³Û #T35 1 ¤Ò¤¿¤¹¤é ¤Ò¤¿¤¹¤é #F14 4 ¤Ò¤¿¤¹¤é ¤Ò¤¿¤¹¤é #T16 0 ¤Ò¤¿¤Á ¾ïΦ #CN 0 ¤Ò¤¿¤Á ÆüΩ #JCN 0 ¤Ò¤¿¤Á¤ª¤ª¤¿ ¾ïΦÂÀÅÄ #CN 0 ¤Ò¤¿¤Á¤»¤¤¤µ¤¯¤·¤ç ÆüΩÀ½ºî½ê #KK 2 ¤Ò¤¿¤ó Èáò #T30 0 ¤Ò¤À ÈôÂÍ #JCN 0 ¤Ò¤À ÈôÅÄ #JNS 0 ¤Ò¤À êþ #T35 0 ¤Ò¤À¤¤ ÈîÂç #T30 3 ¤Ò¤À¤« Æü¹â #JCN 0 ¤Ò¤À¤Á ÈîΩ¤Á #T35 0 ¤Ò¤À¤Þ¤ê Æüί¤ê #T35 0 ¤Ò¤À¤ê º¸ #T35 110 ¤Ò¤À¤ê¤¦¤¨ º¸¾å #T35 6 ¤Ò¤À¤ê¤¬¤ï º¸Â¦ #T35 8 ¤Ò¤À¤ê¤·¤¿ º¸²¼ #T35 4 ¤Ò¤À¤ê¤Æ º¸¼ê #T35 1 ¤Ò¤À¤ê¤ä ¢« #T35 3 ¤Ò¤Á¤½¤¦ ¼·½¡ #CN 0 ¤Ò¤Á¤å¤¦ ÈëÃæ #T35 0 ¤Ò¤Ã¤« °ú¤Ã¤« #K5 1 ¤Ò¤Ã¤« É®²Ò #T35 2 ¤Ò¤Ã¤«¤« °ú¤Ã¤«¤« #R5r 10 ¤Ò¤Ã¤«¤± °ú¤Ã¤«¤± #KSr 2 ¤Ò¤Ã¤­ É®µ­ #T30 1 ¤Ò¤Ã¤¯¤ê¤«¤¨ ¤Ò¤Ã¤¯¤êÊÖ #R5r 1 ¤Ò¤Ã¤¯¤ê¤«¤¨ ¤Ò¤Ã¤¯¤êÊÖ #S5r 2 ¤Ò¤Ã¤¯¤ë¤á ¤Ò¤Ã¤¯¤ë¤á #KS 0 ¤Ò¤Ã¤¯¤ë¤á °ú¤Ã¤¯¤ë¤á #KS 0 ¤Ò¤Ã¤±¤¤ ɬ·È #T35 1 ¤Ò¤Ã¤±¤ó ɬ¸« #T35 1 ¤Ò¤Ã¤³ °ú¤Ã¹þ #M5r 2 ¤Ò¤Ã¤³ °ú¤Ã±Û #S5r 3 ¤Ò¤Ã¤³¤¦ É®¹Ì #T35 0 ¤Ò¤Ã¤³¤· °ú±Û¤· #T30 26 ¤Ò¤Ã¤³¤ß °ú¹þ¤ß #T35 0 ¤Ò¤Ã¤µ¤Ä ɬ»¦ #T35 1 ¤Ò¤Ã¤· ɬ»à #T05 5 ¤Ò¤Ã¤· ɬ»ê #T35 2 ¤Ò¤Ã¤·¤ã É®¼Ì #T30 0 ¤Ò¤Ã¤·¤ã É®¼Ô #T35 7 ¤Ò¤Ã¤·¤å¤¦ ɬ½¤ #T35 1 ¤Ò¤Ã¤·¤ç¤¦ ɬ¾¡ #T35 6 ¤Ò¤Ã¤¹ ɬ¿Ü #T05 20 ¤Ò¤Ã¤»¤­ É®À× #T35 1 ¤Ò¤Ã¤½¤¯ ɯºÉ #T30 0 ¤Ò¤Ã¤½¤ê ¤Ò¤Ã¤½¤ê #F04 0 ¤Ò¤Ã¤½¤ê ¤Ò¤Ã¤½¤ê #T16 0 ¤Ò¤Ã¤Á É®Ã× #T35 0 ¤Ò¤Ã¤Á¤ã¤¯ ɬÃå #T30 5 ¤Ò¤Ã¤Á¤å¤¦ É¬Ãæ #T15 0 ¤Ò¤Ã¤Á¤ç¤¦ ɬİ #T35 1 ¤Ò¤Ã¤Æ¤­ ɤŨ #T30 4 ¤Ò¤Ã¤È ¥Ò¥Ã¥È #T30 2 ¤Ò¤Ã¤È¤¦ ɮƬ #T35 4 ¤Ò¤Ã¤È¤é¡¼ ¥Ò¥Ã¥È¥é¡¼ #JN 0 ¤Ò¤Ã¤Ñ °ú¤ÃÄ¥ #R5r 4 ¤Ò¤Ã¤Ñ¤¯ ɯÇ÷ #T30 0 ¤Ò¤Ã¤Ñ¤Ä ɬȯ #T30 1 ¤Ò¤Ä Èç #KJ 0 ¤Ò¤Ä ɤ #KJ 0 ¤Ò¤Ä É¥ #KJ 0 ¤Ò¤Ä É« #KJ 0 ¤Ò¤Ä É­ #KJ 0 ¤Ò¤Ä ɯ #KJ 0 ¤Ò¤Ä ɬ #KJ 2 ¤Ò¤Ä É® #KJ 9 ¤Ò¤Ä¤¢¤Ä É®°µ #T35 0 ¤Ò¤Ä¤¦ ÈáÄË #T05 0 ¤Ò¤Ä¤® ´½ #T35 1 ¤Ò¤Ä¤¸ ̤ #T35 0 ¤Ò¤Ä¤¸ ÍÓ #T35 3 ¤Ò¤Ä¤¸¤å ɬ¼û #T35 4 ¤Ò¤Ä¤¸¤å¤ó É®½ç #T35 0 ¤Ò¤Ä¤¸¤ç¤¦ ɬÄê #T05 0 ¤Ò¤Ä¤¼¤Ä É®Àå #T35 1 ¤Ò¤Ä¤¼¤ó ɬÁ³ #T35 4 ¤Ò¤Ä¤À¤ó É®ÃÌ #T30 1 ¤Ò¤Ä¤É¤¯ ɬÆÉ #T35 0 ¤Ò¤Ä¤è¤¦ ɬÍ× #T05 255 ¤Ò¤Å¤± ÆüÉÕ #T35 40 ¤Ò¤Å¤á Äý #T35 0 ¤Ò¤Æ¤¤ ÈÝÄê #T30 22 ¤Ò¤Æ¤Ä ÈóÅ´ #T35 0 ¤Ò¤Ç ½¨ #JNM 0 ¤Ò¤Ç ±Ñ #KJ 3 ¤Ò¤Ç¤¢¤­ ±ÑÌÀ #JNM 0 ¤Ò¤Ç¤¢¤­ ½¨ÌÀ #JNM 0 ¤Ò¤Ç¤ª ±ÑÃË #JNM 0 ¤Ò¤Ç¤ª ±ÑÉ× #JNM 0 ¤Ò¤Ç¤ª ±Ñͺ #JNM 0 ¤Ò¤Ç¤ª ½¨ÃË #JNM 0 ¤Ò¤Ç¤ª ½¨É× #JNM 0 ¤Ò¤Ç¤ª ½¨Íº #JNM 0 ¤Ò¤Ç¤ª Æü½ÐÃË #JNS 0 ¤Ò¤Ç¤ª Æü½ÐÉ× #JNS 0 ¤Ò¤Ç¤« ½¨²Ã #JNM 0 ¤Ò¤Ç¤­ ±Ñ¼ù #JNM 0 ¤Ò¤Ç¤­ ½¨¼ù #JNM 0 ¤Ò¤Ç¤­¤Á ½¨µÈ #JNM 0 ¤Ò¤Ç¤³ ½¨»Ò #JNM 0 ¤Ò¤Ç¤È ±Ñ¿Í #JNM 0 ¤Ò¤Ç¤È¤· ±Ñ½Ó #JNM 0 ¤Ò¤Ç¤Î¤ê ±Ñµª #JNM 0 ¤Ò¤Ç¤Ï¤ë ±ÑÀ² #JNM 0 ¤Ò¤Ç¤Ò¤³ ±Ñɧ #JNM 0 ¤Ò¤Ç¤ß ±Ñ¼Â #JNM 0 ¤Ò¤Ç¤ß ½¨¼Â #JNM 0 ¤Ò¤Ç¤ß¤Ä ±Ñ¸÷ #JNM 0 ¤Ò¤Ç¤ß¤Ä ½¨¸÷ #JNM 0 ¤Ò¤Ç¤æ¤­ ±ÑÇ· #JNM 0 ¤Ò¤Ç¤æ¤­ ½¨¹¬ #JNM 0 ¤Ò¤Ç¤æ¤­ ½¨Ç· #JNM 0 ¤Ò¤Ç¤è ±ÑÀ¤ #JNM 0 ¤Ò¤Ç¤è¤· ½¨µÈ #JNM 0 ¤Ò¤Ç¤ê Æü¾È¤ê #T35 0 ¤Ò¤Ç¤ó ÈëÅÁ #T35 1 ¤Ò¤È °ì #KJ 1 ¤Ò¤È °ì #NN 60 ¤Ò¤È ¤Ò¤È #PRE 0 ¤Ò¤È ¥Ò¥È #T35 2 ¤Ò¤È ¾¿Í #T35 2 ¤Ò¤È ¿Í #T35 255 ¤Ò¤È¤¢¤­ ¿ÎÌÀ #JNM 0 ¤Ò¤È¤¢¤· °ì­ #T35 0 ¤Ò¤È¤¤¤Á¤Ð¤¤ ¿Í°ìÇÜ #T35 0 ¤Ò¤È¤¦ ÈëÅò #T35 0 ¤Ò¤È¤¨ °ì½Å #T35 1 ¤Ò¤È¤¨ ñ #T35 4 ¤Ò¤È¤«¤² ¿Í±Æ #T35 0 ¤Ò¤È¤«¤¿¤Ê¤é¤º ¤Ò¤È¤«¤¿¤Ê¤é¤º #F14 0 ¤Ò¤È¤«¤¿¤Ê¤é¤º °ìÊý¤Ê¤é¤º #F14 0 ¤Ò¤È¤«¤¿¤Ê¤é¤Ì ¤Ò¤È¤«¤¿¤Ê¤é¤Ì #F14 0 ¤Ò¤È¤«¤¿¤Ê¤é¤Ì °ìÊý¤Ê¤é¤Ì #F14 0 ¤Ò¤È¤¬¤é ¿ÍÊÁ #T35 1 ¤Ò¤È¤®¤­ ¿Íʹ¤­ #T35 0 ¤Ò¤È¤¯ ÈëÆ¿ #T30 0 ¤Ò¤È¤¯¤Á °ì¸ý #T35 2 ¤Ò¤È¤³¤È °ì¸À #T35 19 ¤Ò¤È¤³¤í ¤Ò¤È¤³¤í #T35 1 ¤Ò¤È¤´¤È ¾¿Í»ö #T35 0 ¤Ò¤È¤´¤È ¿Í»ö #T35 2 ¤Ò¤È¤´¤ß ¿Í¹þ¤ß #T35 0 ¤Ò¤È¤´¤ß ¿Íº®¤ß #T35 1 ¤Ò¤È¤µ¤·¤æ¤Ó ¿Íº¹»Ø #T35 0 ¤Ò¤È¤µ¤é¤¤ ¿Í²ý¤¤ #T30 0 ¤Ò¤È¤µ¤ï¤¬¤» ¿ÍÁû¤¬¤» #T05 0 ¤Ò¤È¤¶¤È ¿ÍΤ #T35 0 ¤Ò¤È¤· ¶Ñ #JNM 0 ¤Ò¤È¤· ºØ #JNM 0 ¤Ò¤È¤· ¿Î #JNM 0 ¤Ò¤È¤· ¿Î»Ö #JNM 0 ¤Ò¤È¤· Åù #JNM 0 ¤Ò¤È¤· ¤Ò¤È¤· #KY 1 ¤Ò¤È¤· ¶Ñ¤· #KY 1 ¤Ò¤È¤· Åù¤· #KY 32 ¤Ò¤È¤·¤Ê¤ß Åù¤·ÊÂ¤ß #T15 0 ¤Ò¤È¤·¤å¤¦ ¤Ò¤È¤·¤å¤¦ #KYU 1 ¤Ò¤È¤·¤å¤¦ ¶Ñ¤·¤å¤¦ #KYU 1 ¤Ò¤È¤·¤å¤¦ Åù¤·¤å¤¦ #KYU 2 ¤Ò¤È¤¸¤Á ¿Í¼Á #T35 1 ¤Ò¤È¤¹¤¸ ¤Ò¤È¤¹¤¸ #T05 0 ¤Ò¤È¤¹¤¸ °ì¶Ú #T05 1 ¤Ò¤È¤¹¤¸¤Ê¤ï °ì¶ÚÆì #T35 0 ¤Ò¤È¤¿¤Á ¿Íã #T35 10 ¤Ò¤È¤¿¤Ó ¤Ò¤È¤¿¤Ó #F14 2 ¤Ò¤È¤¿¤Ó ¤Ò¤È¤¿¤Ó #T36 0 ¤Ò¤È¤Á¤¬¤¤ ¿Í°ã¤¤ #T30 0 ¤Ò¤È¤Ã¤³ ¤Ò¤È¤Ã¤³ #T35 1 ¤Ò¤È¤Ä ¤Ò¤È¤Ä #F14 6 ¤Ò¤È¤Ä ¤Ò¤È¤Ä #T35 14 ¤Ò¤È¤Ä °ì¤Ä #T35 87 ¤Ò¤È¤Ä¤Ð¤· °ì¥Ä¶¶ #JCN 0 ¤Ò¤È¤Ä¤Ð¤· °ì¶¶ #JCN 0 ¤Ò¤È¤Å¤Þ ¿ÍºÊ #T35 2 ¤Ò¤È¤Ç ¿Í¼ê #T35 2 ¤Ò¤È¤Ç ¿Í½Ð #T35 2 ¤Ò¤È¤È¤ª¤ê °ìÄ̤ê #T10 3 ¤Ò¤È¤È¤­ ¤Ò¤È¤È¤­ #T35 0 ¤Ò¤È¤È¤­ °ì»þ #T35 1 ¤Ò¤È¤Ê¤ß ¿ÍÊ #T05 1 ¤Ò¤È¤Ï¤À °ìÈ© #T35 0 ¤Ò¤È¤Ï¤À ¿ÍÈ© #T35 0 ¤Ò¤È¤Ð¤ó °ìÈÕ #T35 2 ¤Ò¤È¤Ó¤È ¿Í¤Ó¤È #T35 2 ¤Ò¤È¤Ó¤È ¿Í¡¹ #T35 21 ¤Ò¤È¤Þ¤¨ ¿ÍÁ° #T35 1 ¤Ò¤È¤Þ¤¯ °ìËë #T35 1 ¤Ò¤È¤Þ¤º ¤Ò¤È¤Þ¤º #F14 2 ¤Ò¤È¤Þ¤º ¤Ò¤È¤Þ¤º #T36 0 ¤Ò¤È¤Þ¤ï¤ê °ì²ó¤ê #T30 1 ¤Ò¤È¤Þ¤ï¤ê ¤Ò¤È¤Þ¤ï¤ê #T30 2 ¤Ò¤È¤ß ¿Í¸« #JN 0 ¤Ò¤È¤ß °ìÈþ #JNM 0 ¤Ò¤È¤ß ¿ÎÈþ #JNM 0 ¤Ò¤È¤ß ¤Ò¤È¤ß #T35 1 ¤Ò¤È¤ß Æ· #T35 4 ¤Ò¤È¤è¤· ¿ÍµÈ #JCN 0 ¤Ò¤È¤é¡¼ ¥Ò¥È¥é¡¼ #JN 0 ¤Ò¤È¤ê °ì¿Í #T35 112 ¤Ò¤È¤ê ¤Ò¤È¤ê #T35 3 ¤Ò¤È¤ê ÆÈ¤ê #T35 3 ¤Ò¤È¤ê¤¸¤á ¤Ò¤È¤ê¤¸¤á #T30 1 ¤Ò¤È¤ê¤¸¤á ÆÈ¤êÀê¤á #T30 1 ¤Ò¤È¤ê¤¸¤á °ì¿ÍÀê¤á #T30 2 ¤Ò¤È¤ê¤Ã¤³ °ì¿Í¤Ã»Ò #T35 1 ¤Ò¤È¤ê¤Ü¤Ã¤Á °ì¿Í¤Ü¤Ã¤Á #T15 0 ¤Ò¤É ¹ó #KY 0 ¤Ò¤É ¤Ò¤É #KY 25 ¤Ò¤É¤¦ ¹ó¤¦ #KYU 0 ¤Ò¤É¤¦ ¤Ò¤É¤¦ #KYU 2 ¤Ò¤É¤¦¤­ È󯱴ü #T05 6 ¤Ò¤É¤±¤¤ Æü»þ·× #T35 0 ¤Ò¤É¤ê Æü¼è¤ê #T35 2 ¤Ò¤Ê ¿÷ #T35 8 ¤Ò¤Ê¤¤ ÈæÆâ #JCN 0 ¤Ò¤Ê¤» ÆüÀ¸ #JCN 0 ¤Ò¤Ê¤¿ Æü¸þ #T35 1 ¤Ò¤Ê¤ó ÈóÆñ #T30 3 ¤Ò¤Ê¤ó ÈòÆñ #T30 8 ¤Ò¤Ë¤¯ ÈéÆù #T05 3 ¤Ò¤Ë¤Á ÆüÆü #T35 7 ¤Ò¤Ë¤å¤¦ ÈçÆý #T35 1 ¤Ò¤Ë¤ó ÈÝǧ #T30 0 ¤Ò¤Ë¤ó ÈòÇ¥ #T30 6 ¤Ò¤Í ¤Ò¤Í #KS 0 ¤Ò¤Í ¤Ò¤Í #R5r 0 ¤Ò¤Í DZ #R5r 1 ¤Ò¤Î ÆüÌî #JCN 0 ¤Ò¤Î¤¨ ʺ #T35 0 ¤Ò¤Î¤¨¤Þ¤¿ ɰ»Þ´ô #JCN 0 ¤Ò¤Î¤«¤² ÆüÇ·±Æ #JCN 0 ¤Ò¤Î¤­ ɰ #T35 0 ¤Ò¤Î¤³ ²Ð¤ÎÊ´ #T35 0 ¤Ò¤Î¤Ç Æü¤Î½Ð #CN 0 ¤Ò¤Î¤Ç Æü¤Î½Ð #T35 1 ¤Ò¤Î¤Ï¤é ɰ¸¶ #JNS 0 ¤Ò¤Î¤Þ¤ë Æü¤Î´Ý #KK 0 ¤Ò¤Ï¤ó ÈãȽ #T30 3 ¤Ò¤Ð ÈæÇÌ #CN 0 ¤Ò¤Ð¤¯ ÈïÇø #T30 1 ¤Ò¤Ð¤·¤é ²ÐÃì #T35 0 ¤Ò¤Ð¤Á ²ÐÈ­ #T35 1 ¤Ò¤Ð¤Ê ²Ð²Ö #T35 1 ¤Ò¤Ð¤é ɰ¸¶ #JCN 0 ¤Ò¤Ð¤ê ±À¿ý #T35 0 ¤Ò¤Ð¤ó ÈóÈÖ #T35 0 ¤Ò¤Ò¤ç¤¦ Èãɾ #T30 2 ¤Ò¤Ó ¤Ò¤Ó #K5r 1 ¤Ò¤Ó ¶Á #K5r 12 ¤Ò¤Ó Æü¡¹ #T35 13 ¤Ò¤Ó¤« ¶Á¤« #S5 0 ¤Ò¤Ó¤ä ÆüÈæÃ« #JCN 0 ¤Ò¤Ó¤ï¤ì ¤Ò¤Ó³ä¤ì #KSr 0 ¤Ò¤Õ ÈóÉé #T05 2 ¤Ò¤Õ ÈéÉæ #T35 0 ¤Ò¤Õ¤¯ Èïʤ #T30 3 ¤Ò¤Õ¤¯ ÈïÉþ #T35 1 ¤Ò¤Õ¤ß °ìÆó»° #JNM 0 ¤Ò¤Õ¤ó Èáʰ #T30 0 ¤Ò¤Ö ÆüÊâ #T35 0 ¤Ò¤Û¤¦ ÈáÊó #T35 0 ¤Ò¤Û¤¦ ÈëÊõ #T35 0 ¤Ò¤Û¤¦ ÈëË¡ #T35 0 ¤Ò¤Ü¤ó ÈóËÞ #T05 0 ¤Ò¤Þ ´× #KJ 0 ¤Ò¤Þ ·ä #KJ 0 ¤Ò¤Þ ²Ë #T05 88 ¤Ò¤Þ¤¯ ÈéËì #T35 1 ¤Ò¤Þ¤·¤æ ¤Ò¤Þ¤·Ìý #T35 0 ¤Ò¤Þ¤Ä ÈôË÷ #T35 0 ¤Ò¤Þ¤é¤ä ¥Ò¥Þ¥é¥ä #CN 0 ¤Ò¤Þ¤ï¤ê ¸þÆü°ª #T35 1 ¤Ò¤Þ¤ó ÈîËþ #T30 1 ¤Ò¤ß ɹ¸« #JCN 0 ¤Ò¤ß¤Ä ÈëÌ© #T05 24 ¤Ò¤à¤í ɹ¼¼ #JCN 0 ¤Ò¤á ɲ #KJ 0 ¤Ò¤á Èë¤á #KS 1 ¤Ò¤á ɱ #T35 4 ¤Ò¤á¤¤ ÈáÌÄ #T35 1 ¤Ò¤á¤«¤ï ɱÀî #JCN 0 ¤Ò¤á¤­ ɱÌÚ #JCN 0 ¤Ò¤á¤­¤À¤¤¤é ɱÌÚÊ¿ #JCN 0 ¤Ò¤á¤·¤Þ ɱÅç #JCN 0 ¤Ò¤á¤¸ ɱϩ #JCN 0 ¤Ò¤á¤É ɱ¸Í #JCN 0 ¤Ò¤á¤ó ÈíÌÈ #T30 0 ¤Ò¤â ¼ú #KJ 0 ¤Ò¤â ɳ #T35 1 ¤Ò¤â¤¦ ÈïÌÓ #T35 1 ¤Ò¤â¤¯ ÈñÌÜ #T35 1 ¤Ò¤â¤È ²Ð¸µ #T35 0 ¤Ò¤â¤Î ´³Êª #T35 1 ¤Ò¤ã¤¯ É´ #NN 11 ¤Ò¤ã¤¯¤·¤ç¤¦ É´À« #T35 1 ¤Ò¤ã¤¯¤Ö¤ó ɴʹ #T35 1 ¤Ò¤ã¤¯¤Ö¤ó¤ê¤Ä ɴʬΨ #T35 2 ¤Ò¤ã¤¯¤Þ¤ó¤Ù¤ó É´ËüÊ× #CN 0 ¤Ò¤ã¤¯¤á¤ó¤½¤¦ É´ÌÌÁê #T30 0 ¤Ò¤ã¤Ã¤« É´²Ê #T35 1 ¤Ò¤ã¤Ã¤«¤Æ¤ó É´²ßŹ #T35 0 ¤Ò¤ã¤Ã¤«¤ê¤ç¤¦¤é¤ó É´²ÖåçÍð #T10 0 ¤Ò¤ä Îä¤ä #S5r 2 ¤Ò¤ä Îä¤ä #T35 0 ¤Ò¤ä¤¢¤» Îä´À #T35 0 ¤Ò¤ä¤« Îä¤ä¤« #S5r 2 ¤Ò¤ä¤¯ ÈôÌö #T30 2 ¤Ò¤ä¤± Æü¾Æ¤± #T30 0 ¤Ò¤ä¤È¤¤ Æü¸Û #T35 0 ¤Ò¤ä¤È¤¤ Æü¸Û¤¤ #T35 0 ¤Ò¤ä¤È¤¤ ÆüÍà #T35 0 ¤Ò¤ä¤È¤¤ ÆüÍä¤ #T35 0 ¤Ò¤ä¤Þ ɰ»³ #JNS 0 ¤Ò¤ä¤à¤® ÎäÇþ #T35 0 ¤Ò¤ä¤ä¤« Îä¤ä¤« #T05 0 ¤Ò¤ä¤ä¤Ã¤³ ÎäÅÛ #T35 1 ¤Ò¤ä¤ê¤È ¤Ò¤ä¤ê¤È #F12 0 ¤Ò¤å¡¼¤¹¤È¤ó ¥Ò¥å¡¼¥¹¥È¥ó #CN 0 ¤Ò¤å¡¼¤Þ¤ó ¥Ò¥å¡¼¥Þ¥ó #T35 3 ¤Ò¤å¡¼¤ê¤¹¤Æ¤£¤Ã¤¯ ¥Ò¥å¡¼¥ê¥¹¥Æ¥£¥Ã¥¯ #T05 1 ¤Ò¤å¡¼¤ì¤Ã¤È ¥Ò¥å¡¼¥ì¥Ã¥È #KK 3 ¤Ò¤å¤¦¤¬ Æü¸þ #JCN 0 ¤Ò¤æ ÈæÓÈ #T35 1 ¤Ò¤æ¤¦¤ê ÈóÍ­Íý #T05 1 ¤Ò¤ç¤¦ ɶ #JS 0 ¤Ò¤ç¤¦ ɼ #JS 0 ¤Ò¤ç¤¦ Çï #KJ 0 ¤Ò¤ç¤¦ ɶ #KJ 0 ¤Ò¤ç¤¦ É· #KJ 0 ¤Ò¤ç¤¦ ɺ #KJ 0 ¤Ò¤ç¤¦ É» #KJ 0 ¤Ò¤ç¤¦ Ê¿ #KJ 0 ¤Ò¤ç¤¦ ʼ #KJ 4 ¤Ò¤ç¤¦ ɽ #S5 255 ¤Ò¤ç¤¦ ɾ #S5 6 ¤Ò¤ç¤¦ ɼ #SUC 0 ¤Ò¤ç¤¦ ɽ #SUC 0 ¤Ò¤ç¤¦ ɽ #T30 255 ¤Ò¤ç¤¦ ɾ #T30 6 ¤Ò¤ç¤¦ ɹ #T35 0 ¤Ò¤ç¤¦ É¿ #T35 0 ¤Ò¤ç¤¦ ð» #T35 0 ¤Ò¤ç¤¦ ɸ #T35 1 ¤Ò¤ç¤¦ ɼ #T35 74 ¤Ò¤ç¤¦¤¤ Øá°Í #T30 0 ¤Ò¤ç¤¦¤¤ ɽ°Õ #T35 1 ¤Ò¤ç¤¦¤« ɾ²Á #T30 185 ¤Ò¤ç¤¦¤«¤ó ØØ×û #T05 0 ¤Ò¤ç¤¦¤¬ ɹ²Ï #T35 4 ¤Ò¤ç¤¦¤­ ɸµ­ #T30 1 ¤Ò¤ç¤¦¤­ ɽµ­ #T30 18 ¤Ò¤ç¤¦¤­¤ó ¤Ò¤ç¤¦¤­¤ó #T05 0 ¤Ò¤ç¤¦¤­¤ó Ñ÷·Ú #T05 0 ¤Ò¤ç¤¦¤® ɾµÄ #T30 0 ¤Ò¤ç¤¦¤±¤¤ ɽ·É #T35 1 ¤Ò¤ç¤¦¤±¤¤¤µ¤ó ɽ·×»» #T35 0 ¤Ò¤ç¤¦¤±¤Ä ɼ·è #T30 0 ¤Ò¤ç¤¦¤±¤Ä ɽ·è #T30 0 ¤Ò¤ç¤¦¤²¤ó ɽ¸½ #T30 201 ¤Ò¤ç¤¦¤²¤ó ɾ¸À #T35 0 ¤Ò¤ç¤¦¤³¤¦ ɸ¹â #T35 1 ¤Ò¤ç¤¦¤´ ʼ¸Ë #JCN 0 ¤Ò¤ç¤¦¤´ ɸ¸ì #T35 2 ¤Ò¤ç¤¦¤´¤±¤ó ʼ¸Ë¸© #CNS 0 ¤Ò¤ç¤¦¤µ¤Ä ɽ»¥ #T35 0 ¤Ò¤ç¤¦¤¶¤ó ɹ»³ #T35 1 ¤Ò¤ç¤¦¤· Çï»Ò #T35 1 ¤Ò¤ç¤¦¤· ɽ»æ #T35 19 ¤Ò¤ç¤¦¤·¤­ ɸ¼± #T30 1 ¤Ò¤ç¤¦¤·¤å¤Ä ɽ½Ð #T30 2 ¤Ò¤ç¤¦¤·¤ç¤¦ ɽ¾Ý #T30 1 ¤Ò¤ç¤¦¤·¤ç¤¦ ɽ¾´ #T30 2 ¤Ò¤ç¤¦¤¸ ɽ¼¨ #T30 255 ¤Ò¤ç¤¦¤¸¤å¤ó ɸ½à #T35 210 ¤Ò¤ç¤¦¤¸¤å¤ó¤« ɸ½à²½ #T35 0 ¤Ò¤ç¤¦¤¸¤ç¤¦ ɾÄê #T30 0 ¤Ò¤ç¤¦¤¸¤ç¤¦ ɽ¾ð #T35 4 ¤Ò¤ç¤¦¤»¤Ä Ñ÷Àà #T30 0 ¤Ò¤ç¤¦¤½¤¦ ɽÁØ #T35 2 ¤Ò¤ç¤¦¤½¤¯ ʿм #T35 0 ¤Ò¤ç¤¦¤¿¤ó ɻý #T35 0 ¤Ò¤ç¤¦¤À¤¤ ɽÂê #T35 2 ¤Ò¤ç¤¦¤Á¤ã¤¯ ɺÃå #T30 0 ¤Ò¤ç¤¦¤Æ¤¤ ɾÄê #T30 0 ¤Ò¤ç¤¦¤Æ¤­ ɸŪ #T35 1 ¤Ò¤ç¤¦¤Æ¤ó ɾÅÀ #T35 0 ¤Ò¤ç¤¦¤Æ¤ó ɹÅÀ #T35 1 ¤Ò¤ç¤¦¤Ç¤ó ɼÅÄ #T35 0 ¤Ò¤ç¤¦¤Ç¤ó ɾÅÁ #T35 0 ¤Ò¤ç¤¦¤É ɽÅÚ #T35 0 ¤Ò¤ç¤¦¤É¤¦ ʼƣ #JNS 0 ¤Ò¤ç¤¦¤Ï¤¯ ɺÇñ #T30 0 ¤Ò¤ç¤¦¤Ï¤¯ ɺÇò #T30 0 ¤Ò¤ç¤¦¤Ð¤ó ɾȽ #T35 8 ¤Ò¤ç¤¦¤Ø¤ó É¿ÊÑ #T30 1 ¤Ò¤ç¤¦¤Û¤ó ɸËÜ #T35 2 ¤Ò¤ç¤¦¤Ü¤¦ ɸÜÖ #T30 0 ¤Ò¤ç¤¦¤á¤¤ ɽÌÀ #T30 76 ¤Ò¤ç¤¦¤á¤ó ɽÌÌ #T35 2 ¤Ò¤ç¤¦¤ê ɽ΢ #T35 1 ¤Ò¤ç¤¦¤ê¤å¤¦ ɺή #T30 0 ¤Ò¤ç¤¦¤ê¤ç¤¦ ÇéÎÌ #T35 1 ¤Ò¤ç¤¦¤í¤¦ ʼÎÈ #T35 0 ¤Ò¤ç¤¦¤í¤ó ɾÏÀ #T30 5 ¤Ò¤ç¤Ã¤³¤ê ¤Ò¤ç¤Ã¤³¤ê #F06 0 ¤Ò¤ç¤Ã¤È ¤Ò¤ç¤Ã¤È #F12 14 ¤Ò¤ç¤Ã¤È¤·¤¿¤é ¤Ò¤ç¤Ã¤È¤·¤¿¤é #F14 1 ¤Ò¤ç¤Ã¤È¤·¤¿¤é ¤Ò¤ç¤Ã¤È¤·¤¿¤é #T36 0 ¤Ò¤è¤¦ ÈñÍÑ #T35 31 ¤Ò¤è¤¯ ÈîÍà #T05 0 ¤Ò¤è¤· ÆüµÈ #JCN 0 ¤Ò¤è¤· ÆüµÁ #JNS 0 ¤Ò¤è¤É¤ê ¥Ò¥è¥É¥ê #T35 0 ¤Ò¤è¤É¤ê ó« #T35 0 ¤Ò¤è¤ê ÆüÏ #T35 2 ¤Ò¤è¤ï ¤Ò¤è¤ï #T05 0 ¤Ò¤è¤ï ¤Ò¼å #T05 0 ¤Ò¤é ¤Ò¤é #K5r 1 ¤Ò¤é ³« #K5r 58 ¤Ò¤é ÊÒ #KJ 0 ¤Ò¤é Ê¿ #KJ 33 ¤Ò¤é Ê¿ #PRE 16 ¤Ò¤é¤¢¤ä¤Þ¤ê Ê¿¼Õ¤ê #T30 1 ¤Ò¤é¤¤ Ê¿°æ #JCN 0 ¤Ò¤é¤¤¤·¤ó ÈòÍë¿Ë #T35 1 ¤Ò¤é¤¤¤º¤ß Ê¿Àô #JCN 0 ¤Ò¤é¤ª Ê¿À¸ #JCN 0 ¤Ò¤é¤ª Ê¿Èø #JCN 0 ¤Ò¤é¤ª¤« Ê¿²¬ #JNS 0 ¤Ò¤é¤« Ê¿²ì #JCN 0 ¤Ò¤é¤« Ê¿¼¯ #JCN 0 ¤Ò¤é¤«¤¿ ËçÊý #JCN 0 ¤Ò¤é¤«¤ï Ê¿²Ï #JCN 0 ¤Ò¤é¤«¤ï Ê¿Àî #JCN 0 ¤Ò¤é¤¬ Ê¿²ì #JNS 0 ¤Ò¤é¤¬¤Ê ¤Ò¤é¤¬¤Ê #T35 18 ¤Ò¤é¤¬¤Ê Ê¿²¾Ì¾ #T35 26 ¤Ò¤é¤­ Ê¿ÌÚ #JNS 0 ¤Ò¤é¤­¤Ê¤ª ³«¤­Ä¾ #R5r 0 ¤Ò¤é¤­¤Ê¤ª ³«¤­¤Ê¤ª #R5r 2 ¤Ò¤é¤¯¤é Ê¿ÁÒ #JNS 0 ¤Ò¤é¤µ¤ï Ê¿Âô #JCN 0 ¤Ò¤é¤¾¤³ Ê¿Äì #T15 0 ¤Ò¤é¤¿ Ê¿ÅÄ #JCN 0 ¤Ò¤é¤¿ Ê¿¤¿ #KY 1 ¤Ò¤é¤Ä¤« Ê¿ÄÍ #JCN 0 ¤Ò¤é¤È¤ê Ê¿¼è #JCN 0 ¤Ò¤é¤É Ê¿¸Í #JCN 0 ¤Ò¤é¤Ê¤¤ Ê¿Æâ #JCN 0 ¤Ò¤é¤Î Ê¿Ìî #JCN 0 ¤Ò¤é¤Ï¤é Ê¿¸¶ #JNS 0 ¤Ò¤é¤Ð¤ä¤· Ê¿ÎÓ #JNS 0 ¤Ò¤é¤Ð¤ë Ê¿¸¶ #JNS 0 ¤Ò¤é¤Ò¤é ¤Ò¤é¤Ò¤é #F04 0 ¤Ò¤é¤Ò¤é ¤Ò¤é¤Ò¤é #T16 0 ¤Ò¤é¤Þ¤Ä Ê¿¾¾ #JNS 0 ¤Ò¤é¤á ¤Ò¤é¤á #K5r 2 ¤Ò¤é¤á Á® #K5r 2 ¤Ò¤é¤á ò¹ #T35 2 ¤Ò¤é¤ä ʿë #JCN 0 ¤Ò¤é¤ä¤Þ Ê¿»³ #JCN 0 ¤Ò¤é¤é Ê¿ÎÉ #JCN 0 ¤Ò¤ê¤­ ÈóÎÏ #T05 0 ¤Ò¤ê¤Ä ÈæÎ¨ #T35 3 ¤Ò¤ê¤Ò¤ê ¤Ò¤ê¤Ò¤ê #F04 0 ¤Ò¤ê¤ç¤¦ ÈîÎÁ #T35 0 ¤Ò¤ê¤ç¤¯ ÈóÎÏ #T05 0 ¤Ò¤ê¤ç¤¯ ç¾ÎÏ #T35 0 ¤Ò¤ë ÉÇ #KJ 9 ¤Ò¤ë ¤Ò¤ë #M5r 0 ¤Ò¤ë ¶± #M5r 0 ¤Ò¤ë ÉÈ #T35 0 ¤Ò¤ë Ãë #T35 56 ¤Ò¤ë¤¤ ÈæÎà #T30 0 ¤Ò¤ë¤«¤ï ÉÈÀî #JCN 0 ¤Ò¤ë¤«¤ï ÈæÎ±Àî #JNS 0 ¤Ò¤ë¤¬¤¨ ËÝ #R5r 0 ¤Ò¤ë¤¬¤¨ ËÝ #S5r 0 ¤Ò¤ë¤Í Ã뿲 #T30 3 ¤Ò¤ë¤Ù¤ë¤È ¥Ò¥ë¥Ù¥ë¥È #JN 0 ¤Ò¤ë¤Þ Ãë´Ö #T35 9 ¤Ò¤ë¤á¤· ÃëÈÓ #T35 4 ¤Ò¤ë¤ä¤¹¤ß ÃëµÙ¤ß #T35 5 ¤Ò¤ì ÉÉ #T35 0 ¤Ò¤ì¤¤ ÈæÎã #T30 4 ¤Ò¤ì¤­ ÈäßÍ #T30 0 ¤Ò¤ì¤Ä ÈÜÎô #T05 0 ¤Ò¤ì¤Õ ¤Ò¤ìÉú #S5 1 ¤Ò¤ì¤ó ÈáÎø #T35 2 ¤Ò¤í ÈæÏ¤ #JNM 0 ¤Ò¤í ͵ #JNM 0 ¤Ò¤í ´² #KJ 0 ¤Ò¤í ͨ #KJ 0 ¤Ò¤í ¹¿ #KJ 1 ¤Ò¤í ¿Ò #KJ 1 ¤Ò¤í Í´ #KJ 1 ¤Ò¤í ¹­ #KJ 19 ¤Ò¤í ¹¨ #KJ 2 ¤Ò¤í ¹É #KJ 2 ¤Ò¤í Çî #KJ 3 ¤Ò¤í ¹° #KJ 4 ¤Ò¤í ¹À #KJ 4 ¤Ò¤í ¹­ #KYme 87 ¤Ò¤í ½¦ #W5 32 ¤Ò¤í¤¢¤­ ¹¨ÌÀ #JNM 0 ¤Ò¤í¤¢¤­ ¹­¾¼ #JNM 0 ¤Ò¤í¤¢¤­ ¹­ÌÀ #JNM 0 ¤Ò¤í¤¢¤­ ¹°ÌÀ #JNM 0 ¤Ò¤í¤¢¤­ ¹À½© #JNM 0 ¤Ò¤í¤¢¤­ Çî¾¼ #JNM 0 ¤Ò¤í¤¢¤­ ÇîÌÀ #JNM 0 ¤Ò¤í¤¢¤­ Í´¾¼ #JNM 0 ¤Ò¤í¤¢¤­ Íξ½ #JNM 0 ¤Ò¤í¤¤¤¢¤² ½¦¤¤¤¢¤² #KS 0 ¤Ò¤í¤¤¤¢¤² ½¦¤¤¾å¤² #KS 0 ¤Ò¤í¤¦ ¹­¤¦ #KYU 2 ¤Ò¤í¤¦ ÈäϪ #T30 17 ¤Ò¤í¤¦ ÈèÏ« #T30 3 ¤Ò¤í¤¦¤¨¤ó ÈäϪ±ã #T35 18 ¤Ò¤í¤¨ ¹¨¹¾ #JNM 0 ¤Ò¤í¤ª ¹­Èø #JCN 0 ¤Ò¤í¤«¤º ¹°°ì #JNM 0 ¤Ò¤í¤«¤º Çî°ì #JNM 0 ¤Ò¤í¤«¤ß ¹­¿À #JCN 0 ¤Ò¤í¤«¤ï ¹­Àî #JCN 0 ¤Ò¤í¤¬ ¹­¤¬ #R5r 1 ¤Ò¤í¤¬¤ï ¹­Àî #JCN 0 ¤Ò¤í¤­ ¹¨¼ù #JNM 0 ¤Ò¤í¤­¤Á ¹­µÈ #JNM 0 ¤Ò¤í¤² ¤Ò¤í¤² #KS 1 ¤Ò¤í¤² ¹­¤² #KS 16 ¤Ò¤í¤³ ²¤»Ò #JNM 0 ¤Ò¤í¤³ ´²»Ò #JNM 0 ¤Ò¤í¤³ ¹°»Ò #JNM 0 ¤Ò¤í¤³ ¹À»Ò #JNM 0 ¤Ò¤í¤³ Ãè»Ò #JNM 0 ¤Ò¤í¤³ Çî»Ò #JNM 0 ¤Ò¤í¤³ ͵»Ò #JNM 0 ¤Ò¤í¤µ¤­ ¹°Á° #JCN 0 ¤Ò¤í¤· ´² #JNM 0 ¤Ò¤í¤· ·¼Ç· #JNM 0 ¤Ò¤í¤· ¹¨ #JNM 0 ¤Ò¤í¤· ¹­ #JNM 0 ¤Ò¤í¤· ¹­»Ê #JNM 0 ¤Ò¤í¤· ¹­»Ë #JNM 0 ¤Ò¤í¤· ¹­»Ö #JNM 0 ¤Ò¤í¤· ¹° #JNM 0 ¤Ò¤í¤· ¹À #JNM 0 ¤Ò¤í¤· ¹À»Ö #JNM 0 ¤Ò¤í¤· Çî #JNM 0 ¤Ò¤í¤· Çî»Ê #JNM 0 ¤Ò¤í¤· Çî»Ë #JNM 0 ¤Ò¤í¤· ͵ #JNM 0 ¤Ò¤í¤· ͵»Ë #JNM 0 ¤Ò¤í¤· ÍÎ #JNM 0 ¤Ò¤í¤·¤² ¹­½Å #JNM 0 ¤Ò¤í¤·¤² ¹À½Å #JNM 0 ¤Ò¤í¤·¤Þ ¹­Åç #JCN 0 ¤Ò¤í¤·¤Þ¤±¤ó ¹­Å縩 #CNS 0 ¤Ò¤í¤·¤Þ¤· ¹­Åç»Ô #CNS 0 ¤Ò¤í¤¸ ¹­¼£ #JNM 0 ¤Ò¤í¤» ¹­À¥ #JCN 0 ¤Ò¤í¤¿ ¹­ÅÄ #JNS 0 ¤Ò¤í¤Ä¤° Çî»Ì #JNM 0 ¤Ò¤í¤È ͵¿Í #JNM 0 ¤Ò¤í¤È¤· ¹¨¼÷ #JNM 0 ¤Ò¤í¤È¤· ¹À½Ó #JNM 0 ¤Ò¤í¤Ê¤« ¹°Ãç #JN 0 ¤Ò¤í¤Ê¤« ¹­Ãæ #JNS 0 ¤Ò¤í¤Î ¹­Ìî #JCN 0 ¤Ò¤í¤Î¤Ö Çî¿® #JNM 0 ¤Ò¤í¤Î¤Ö ͵¿® #JNM 0 ¤Ò¤í¤Î¤ß¤ä ¹ÀµÜ #JNS 0 ¤Ò¤í¤Ð ¹­¾ì #T35 7 ¤Ò¤í¤Ò¤µ ¹À¼÷ #JNM 0 ¤Ò¤í¤Ò¤µ Çîµ× #JNM 0 ¤Ò¤í¤Ò¤µ ͵µ× #JNM 0 ¤Ò¤í¤Ò¤È ͵¿Î #JN 0 ¤Ò¤í¤Ó¤í ¹­¡¹ #F00 0 ¤Ò¤í¤Õ¤ß ·¼Ê¸ #JNM 0 ¤Ò¤í¤Õ¤ß Çîʸ #JNM 0 ¤Ò¤í¤Õ¤ß ÍÎʸ #JNM 0 ¤Ò¤í¤Þ ¹­¤Þ #R5r 4 ¤Ò¤í¤Þ ¹­´Ö #T35 0 ¤Ò¤í¤ß ¹­¸« #JCN 0 ¤Ò¤í¤ß ¤Ò¤í¤ß #JNM 0 ¤Ò¤í¤ß ¤Ò¤íÈþ #JNM 0 ¤Ò¤í¤ß ¹¨Èþ #JNM 0 ¤Ò¤í¤ß ¹°Èþ #JNM 0 ¤Ò¤í¤ß ÇîÈþ #JNM 0 ¤Ò¤í¤ß ÈæÏ¤Èþ #JNM 0 ¤Ò¤í¤ß ͵Èþ #JNM 0 ¤Ò¤í¤ß¤Á ÇîÆ» #JNM 0 ¤Ò¤í¤ß¤Ä ¹¨¸÷ #JNM 0 ¤Ò¤í¤ß¤Ä ÇîËþ #JNM 0 ¤Ò¤í¤á ¹­¤á #KS 3 ¤Ò¤í¤æ¤­ ´²Ç· #JNM 0 ¤Ò¤í¤æ¤­ ·¼Ç· #JNM 0 ¤Ò¤í¤æ¤­ ¹¨¹Ô #JNM 0 ¤Ò¤í¤æ¤­ ¹¨Ç· #JNM 0 ¤Ò¤í¤æ¤­ ¹­¹¬ #JNM 0 ¤Ò¤í¤æ¤­ ¹­¹Ô #JNM 0 ¤Ò¤í¤æ¤­ ¹°¶³ #JNM 0 ¤Ò¤í¤æ¤­ ¹°Ç· #JNM 0 ¤Ò¤í¤æ¤­ ¹À¹¬ #JNM 0 ¤Ò¤í¤æ¤­ ¹ÀÇ· #JNM 0 ¤Ò¤í¤æ¤­ ÇîÇ· #JNM 0 ¤Ò¤í¤æ¤­ ͵Ƿ #JNM 0 ¤Ò¤í¤è¤· ¹°¶³ #JNM 0 ¤Ò¤ï ÈæÏ #JCN 0 ¤Ò¤ï ÈëÏà #T35 0 ¤Ò¤ï¤­ ÈõÏÆ #JCN 0 ¤Ò¤ï¤µ ÆüϺ´ #JCN 0 ¤Ò¤ï¤¿¤ê ÆüÅÏ #JNS 0 ¤Ò¤ï¤ê Æü³ä #T35 0 ¤Ò¤ï¤ì ´³³ä¤ì #T30 0 ¤Ò¤ó ÉÊ #JS 21 ¤Ò¤ó ÉË #KJ 0 ¤Ò¤ó ÉÌ #KJ 0 ¤Ò¤ó ÉÍ #KJ 0 ¤Ò¤ó ÉÐ #KJ 0 ¤Ò¤ó ÉÑ #KJ 0 ¤Ò¤ó ÌÆ #KJ 0 ¤Ò¤ó ÉÎ #S5 1 ¤Ò¤ó ÉÏ #S5 1 ¤Ò¤ó ÉÊ #SUC 0 ¤Ò¤ó ÉÎ #T30 1 ¤Ò¤ó ÉÏ #T30 1 ¤Ò¤ó ÉÊ #T35 10 ¤Ò¤ó¤¤ ÉÊ°Ì #T35 1 ¤Ò¤ó¤«¤¯ ÉÊ³Ê #T35 0 ¤Ò¤ó¤­¤å¤¦ Éϵç #T30 0 ¤Ò¤ó¤­¤å¤¦ ÝÒµÜ #T35 1 ¤Ò¤ó¤±¤Ä ÉÏ·ì #T35 0 ¤Ò¤ó¤³¤¦ ÉÊ¹Ô #T35 0 ¤Ò¤ó¤³¤ó ÉϺ¤ #T05 1 ¤Ò¤ó¤· Éλà #T35 0 ¤Ò¤ó¤· ÉÊ»ì #T35 218 ¤Ò¤ó¤·¤Ä ÉʼÁ #T35 63 ¤Ò¤ó¤·¤å Éʼï #T35 1 ¤Ò¤ó¤·¤å¤¯ ðþí¦ #T10 8 ¤Ò¤ó¤¸¤ã ÉÏ¼Ô #T35 0 ¤Ò¤ó¤¸¤ã¤¯ Éϼå #T05 2 ¤Ò¤ó¤º¡¼ ¥Ò¥ó¥º¡¼ #KK 1 ¤Ò¤ó¤»¤¤ ÉÊÀ­ #T35 0 ¤Ò¤ó¤½¤¦ ÉÏÁê #T05 0 ¤Ò¤ó¤È ¥Ò¥ó¥È #T35 30 ¤Ò¤ó¤É ÉÑÅÙ #T35 255 ¤Ò¤ó¤Ð ÌÆÇÏ #T35 0 ¤Ò¤ó¤Ñ¤Ä ÉÑȯ #T30 1 ¤Ò¤ó¤Ñ¤ó ÉÑÈË #T05 19 ¤Ò¤ó¤× ÉÏÉÙ #T35 0 ¤Ò¤ó¤ß¤ó ÉÏ̱ #T35 2 ¤Ò¤ó¤á¤¤ ÉÊ̾ #T35 5 ¤Ò¤ó¤â¤¯ ÉÊÌÜ #JS 1 ¤Ò¤ó¤â¤¯ ÉÊÌÜ #T35 1 ¤Ò¤ó¤ä¤ê ¤Ò¤ó¤ä¤ê #F04 1 ¤Ó Èü #KJ 0 ¤Ó Èý #KJ 0 ¤Ó É¡ #KJ 0 ¤Ó È÷ #KJ 1 ¤Ó Èû #KJ 1 ¤Ó Õ» #KJ 2 ¤Ó Èø #KJ 4 ¤Ó Èù #KJ 4 ¤Ó Èú #KJ 4 ¤Ó Èù #PRE 2 ¤Ó ²Ð #SUC 0 ¤Ó Æü #SUC 0 ¤Ó Æü #T35 0 ¤Ó Èþ #T35 24 ¤Ó¡¼¤« ¥Ó¡¼¥« #T35 1 ¤Ó¡¼¤«¡¼ ¥Ó¡¼¥«¡¼ #T35 1 ¤Ó¡¼¤Á ¥Ó¡¼¥Á #T35 0 ¤Ó¡¼¤È¤ë¤º ¥Ó¡¼¥È¥ë¥º #KK 1 ¤Ó¡¼¤Ê¤¹ ¥Ó¡¼¥Ê¥¹ #T35 1 ¤Ó¡¼¤Ê¤¹¤é¤¤¤ó ¥Ó¡¼¥Ê¥¹¥é¥¤¥ó #CN 0 ¤Ó¡¼¤Õ ¥Ó¡¼¥Õ #T35 0 ¤Ó¡¼¤× ¥Ó¡¼¥× #T30 2 ¤Ó¡¼¤ë ¥Ó¡¼¥ë #T35 21 ¤Ó¤¨¤¤ Èþ±Í #CN 0 ¤Ó¤¨¤ó É¡±ê #T35 0 ¤Ó¤ª¤é ¥Ó¥ª¥é #T35 0 ¤Ó¤« Èþ²½ #T30 0 ¤Ó¤«¤ó Èþ´Ñ #T35 2 ¤Ó¤¬¤¯ Èþ³Ø #T35 0 ¤Ó¤­ °ú¤­ #SUC 0 ¤Ó¤­ °ú #SUC 0 ¤Ó¤­ ɤ #JS 1 ¤Ó¤­¤ç¤¦ É¡¶À #T35 1 ¤Ó¤¯ ¤Ó¤¯ #T35 0 ¤Ó¤¯¤¦ É¡¹Ð #T35 1 ¤Ó¤³¤¦ Èø¹Ô #T30 0 ¤Ó¤³¤¦ È÷¹Í #T35 39 ¤Ó¤µ¤¤ ÈøÀ¾ #JCN 0 ¤Ó¤µ¤¤ ÈùºÙ #T05 1 ¤Ó¤¶ ¥Ó¥¶ #T35 0 ¤Ó¤· É© #SUC 1 ¤Ó¤·¤å Èþ¼ò #T35 1 ¤Ó¤·¤ç¤¦ Èù¾® #T05 1 ¤Ó¤·¤ç¤¦ Èù¾Ð #T30 0 ¤Ó¤·¤ç¤¯ Èþ¿© #T30 0 ¤Ó¤·¤ç¤Ó¤·¤ç ¤Ó¤·¤ç¤Ó¤·¤ç #T18 0 ¤Ó¤¸¡¼ ¥Ó¥¸¡¼ #T35 1 ¤Ó¤¸¤Í¤¹ ¥Ó¥¸¥Í¥¹ #T35 14 ¤Ó¤¸¤ã¤¯ Èù¼å #T05 0 ¤Ó¤¸¤å¤¢¤ê¤¼¡¼¤·¤ç¤ó ¥Ó¥¸¥å¥¢¥ê¥¼¡¼¥·¥ç¥ó #T30 2 ¤Ó¤¸¤å¤¢¤ë ¥Ó¥¸¥å¥¢¥ë #T05 3 ¤Ó¤¸¤å¤¦ É¡½Á #T35 1 ¤Ó¤¸¤å¤Ä Èþ½Ñ #T35 6 ¤Ó¤¸¤å¤Ä¤«¤ó Èþ½Ñ´Û #T35 7 ¤Ó¤¸¤ç Èþ½÷ #T35 1 ¤Ó¤¸¤ç¤ó ¥Ó¥¸¥ç¥ó #T35 2 ¤Ó¤¸¤ó Èþ¿Í #T35 3 ¤Ó¤¹¤±¤Ã¤È ¥Ó¥¹¥±¥Ã¥È #T35 0 ¤Ó¤¹¤Þ¤¹ ¥Ó¥¹¥Þ¥¹ #T35 1 ¤Ó¤»¤¤ ÈþÀ± #JCN 0 ¤Ó¤»¤­¤Ö¤ó ÈùÀÑʬ #T35 2 ¤Ó¤¼¤ó È÷Á° #CN 0 ¤Ó¤½¤¯ Èù® #T15 0 ¤Ó¤½¤¯ ÈøÂ¦ #T35 1 ¤Ó¤À¤ó ÈþÃÌ #T35 0 ¤Ó¤Ã¤¯¤ê ¤Ó¤Ã¤¯¤ê #T30 56 ¤Ó¤Ã¤¯¤ê ¥Ó¥Ã¥¯¥ê #T30 0 ¤Ó¤Ã¤° ¥Ó¥Ã¥° #T05 0 ¤Ó¤Ã¤·¤ç¤ê ¤Ó¤Ã¤·¤ç¤ê #F06 0 ¤Ó¤Ã¤·¤ç¤ê ¤Ó¤Ã¤·¤ç¤ê #T16 0 ¤Ó¤Ã¤·¤ê ¤Ó¤Ã¤·¤ê #F06 0 ¤Ó¤Ã¤·¤ê ¤Ó¤Ã¤·¤ê #T16 0 ¤Ó¤Ã¤Á¤å¤¦ È÷Ãæ #CN 0 ¤Ó¤Ã¤È ¥Ó¥Ã¥È #T35 156 ¤Ó¤Ã¤È¤Þ¤Ã¤× ¥Ó¥Ã¥È¥Þ¥Ã¥× #T35 52 ¤Ó¤Æ¤­ ÈþŪ #T05 1 ¤Ó¤Ç¤ª ¥Ó¥Ç¥ª #T35 41 ¤Ó¤È¤¯ ÈþÆÁ #T35 0 ¤Ó¤Ê¤ó ÈþÃË #T35 1 ¤Ó¤Ë¡¼¤ë ¥Ó¥Ë¡¼¥ë #T35 6 ¤Ó¤Ð¤¤ Èþ±´ #CN 0 ¤Ó¤Ò¤ó È÷ÉÊ #T35 11 ¤Ó¤Ó Èù¡¹ #F11 1 ¤Ó¤Ó¤· Èþ¡¹¤· #KY 0 ¤Ó¤Ó¤·¤å¤¦ Èþ¡¹¤·¤å¤¦ #KYU 0 ¤Ó¤Õ¤« Èþ¿¼ #CN 0 ¤Ó¤Õ¤Æ¤­ ¥Ó¥Õ¥Æ¥­ #T35 0 ¤Ó¤Ö ÈøÉô #T35 1 ¤Ó¤Ö¤ó Èùʬ #T30 2 ¤Ó¤Û¤í ÈþËÚ #CN 0 ¤Ó¤Ü¤¦ ÈþËÆ #T35 0 ¤Ó¤Ü¤¦¤í¤¯ È÷˺Ͽ #T35 0 ¤Ó¤Þ¤ó ßÐÌ¡ #T30 0 ¤Ó¤ß¤ç¤¦ Èù̯ #T05 13 ¤Ó¤ã¤¯ É´ #NN 1 ¤Ó¤ã¤¯¤ä ÇòÌë #T35 0 ¤Ó¤ã¤Ã¤³ Çò¸× #KK 0 ¤Ó¤ä¤¯ Õ»Ìô #T35 1 ¤Ó¤å¡¼ ¥Ó¥å¡¼ #T35 16 ¤Ó¤å¤¦ ɵ #KJ 0 ¤Ó¤ç¤¦ ɼ #JS 0 ¤Ó¤ç¤¦ Éà #JS 0 ¤Ó¤ç¤¦ ¡í #JS 1 ¤Ó¤ç¤¦ Ç­ #KJ 0 ¤Ó¤ç¤¦ ÉÀ #KJ 0 ¤Ó¤ç¤¦ ÉÁ #KJ 0 ¤Ó¤ç¤¦ ÉÄ #KJ 0 ¤Ó¤ç¤¦ ÉÅ #KJ 0 ¤Ó¤ç¤¦ Ê¿ #KJ 0 ¤Ó¤ç¤¦ É #KJ 2 ¤Ó¤ç¤¦ É #SUC 0 ¤Ó¤ç¤¦ ÉÆ #T35 0 ¤Ó¤ç¤¦ ¡í #T35 1 ¤Ó¤ç¤¦ Éà #T35 39 ¤Ó¤ç¤¦¤¤¤ó ɱ¡ #T35 7 ¤Ó¤ç¤¦¤¬ ÉÁ²è #T30 48 ¤Ó¤ç¤¦¤­ ɵ¤ #T30 5 ¤Ó¤ç¤¦¤±¤Ä É·ç #T30 0 ¤Ó¤ç¤¦¤²¤ó ɸ¶ #T35 1 ¤Ó¤ç¤¦¤· Çï»Ò #JS 4 ¤Ó¤ç¤¦¤· É»à #T30 1 ¤Ó¤ç¤¦¤·¤Ä ɼ¼ #T35 0 ¤Ó¤ç¤¦¤·¤ã ÉÁ¼Ì #T30 1 ¤Ó¤ç¤¦¤·¤ç¤¦ ɾ² #T35 1 ¤Ó¤ç¤¦¤·¤ó ÉÂ¿È #T35 0 ¤Ó¤ç¤¦¤·¤ó ÉÃ¿Ë #T35 0 ¤Ó¤ç¤¦¤¸¤ã¤¯ ɼå #T05 0 ¤Ó¤ç¤¦¤¸¤ç¤¦ ɾõ #T35 0 ¤Ó¤ç¤¦¤½¤¯ Éî #T35 0 ¤Ó¤ç¤¦¤¿¤¤ ÉÂÂÖ #T35 1 ¤Ó¤ç¤¦¤Æ¤­ ÉÂŪ #T05 1 ¤Ó¤ç¤¦¤È¤¦ ÉÂÅï #T35 0 ¤Ó¤ç¤¦¤É¤¦ Ê¿Åù #T05 2 ¤Ó¤ç¤¦¤Ë¤ó ÉÂ¿Í #T35 2 ¤Ó¤ç¤¦¤Ü¤Ä ÉÂË× #T30 0 ¤Ó¤ç¤¦¤Þ ÉÂËâ #T35 0 ¤Ó¤ç¤¦¤á¤¤ ÉÂ̾ #T35 0 ¤Ó¤ç¤¦¤ê¤¬¤¯ ÉÂÍý³Ø #T35 1 ¤Ó¤ç¤¦¤ì¤­ ÉÂÎò #T35 0 ¤Ó¤è¤¦ ÈþÍÆ #T35 4 ¤Ó¤è¤¯ ÈøÍã #T35 1 ¤Ó¤é ¥Ó¥é #T35 1 ¤Ó¤é¤ó äöॠ#T30 1 ¤Ó¤ê ¥Ó¥ê #T35 0 ¤Ó¤ê¤Ó¤ê ¤Ó¤ê¤Ó¤ê #F04 0 ¤Ó¤ê¤Ó¤ê ¤Ó¤ê¤Ó¤ê #T16 0 ¤Ó¤ê¤ä¡¼¤É ¥Ó¥ê¥ä¡¼¥É #T35 2 ¤Ó¤ê¤å¤¦ Èùγ #T35 1 ¤Ó¤ê¤ç¤¦ ÈùÎÌ #T05 0 ¤Ó¤ê¤ç¤¯ ÈùÎÏ #T05 1 ¤Ó¤ë ¥Ó¥ë #JN 0 ¤Ó¤ë ¥Ó¥ë #JNSUC 84 ¤Ó¤ë ¥Ó¥ë #T35 0 ¤Ó¤í¤¦ ÈøÏ¶ #T05 0 ¤Ó¤ï ÈüÇÊ #T35 0 ¤Ó¤ï¤³ ÈüÇʸР#CN 0 ¤Ó¤ó ÉÏ #KJ 0 ¤Ó¤ó ÉÒ #KJ 1 ¤Ó¤ó ÊØ #SUC 82 ¤Ó¤ó Ôà #T35 0 ¤Ó¤ó ÊØ #T35 1 ¤Ó¤ó ÉÓ #T35 39 ¤Ó¤ó¤«¤ó ÉÒ´¶ #T05 3 ¤Ó¤ó¤´ È÷¸å #CN 0 ¤Ó¤ó¤´ ¥Ó¥ó¥´ #T30 0 ¤Ó¤ó¤·¤ç¤¦ ÉÒ¾¹ #T05 1 ¤Ó¤ó¤·¤ç¤¦ Øâ¾Ð #T30 0 ¤Ó¤ó¤¸¤ç¤¦ ÊØ¾è #T30 4 ¤Ó¤ó¤»¤ó ½èÊýäµ #T35 0 ¤Ó¤ó¤»¤ó ÊØäµ #T35 1 ¤Ó¤ó¤½¤¯ ÉÒ® #T05 0 ¤Ó¤ó¤¾¤³ ÉÓÄì #T35 0 ¤Ó¤ó¤Ü¤¦ ÉÏ˳ #T05 4 ¤Ó¤ó¤é¤ó ÊØÍ÷ #T35 1 ¤Ó¤ó¤ï¤ó ÉÒÏÓ #T05 0 ¤Ô¡¼¤¯ ¥Ô¡¼¥¯ #T35 1 ¤Ô¡¼¤¹ ¥Ô¡¼¥¹ #JS 6 ¤Ô¡¼¤¹ ¥Ô¡¼¥¹ #T35 6 ¤Ô¡¼¤Á ¥Ô¡¼¥Á #T35 0 ¤Ô¡¼¤Ê¤Ä ¥Ô¡¼¥Ê¥Ä #T35 0 ¤Ô¡¼¤Þ¤ó ¥Ô¡¼¥Þ¥ó #T35 0 ¤Ô¤¢ ¤Ô¤¢ #KK 4 ¤Ô¤¢¤Ë¤¹¤È ¥Ô¥¢¥Ë¥¹¥È #T35 3 ¤Ô¤¢¤Î ¥Ô¥¢¥Î #T35 1 ¤Ô¤«¤½ ¥Ô¥«¥½ #JN 0 ¤Ô¤­ ɤ #JS 2 ¤Ô¤¯¤µ¡¼ ¥Ô¥¯¥µ¡¼ #KK 2 ¤Ô¤¯¤»¤ë ¥Ô¥¯¥»¥ë #JS 10 ¤Ô¤¯¤»¤ë ¥Ô¥¯¥»¥ë #T35 10 ¤Ô¤¯¤Ô¤¯ ¤Ô¤¯¤Ô¤¯ #F04 0 ¤Ô¤¶ ¥Ô¥¶ #T35 0 ¤Ô¤¶¤ä ¥Ô¥¶²° #T35 0 ¤Ô¤¿¤´¤é¤¹ ¥Ô¥¿¥´¥é¥¹ #JN 0 ¤Ô¤Ã¤¯¤¢¤Ã¤× ¥Ô¥Ã¥¯¥¢¥Ã¥× #T30 0 ¤Ô¤Ã¤³¤í ¥Ô¥Ã¥³¥í #T35 0 ¤Ô¤Ã¤¿¤ê ¤Ô¤Ã¤¿¤ê #F04 5 ¤Ô¤Ã¤¿¤ê ¤Ô¤Ã¤¿¤ê #T05 2 ¤Ô¤Ã¤Á ¥Ô¥Ã¥Á #T35 1 ¤Ô¤Ã¤× ÈæÉÛ #CN 0 ¤Ô¤Ú¤Ã¤È ¥Ô¥Ú¥Ã¥È #T35 1 ¤Ô¤å¤¢ ¥Ô¥å¥¢ #T05 1 ¤Ô¤ç¤¦ ɼ #JS 6 ¤Ô¤é¤Ë¤¢ ¥Ô¥é¥Ë¥¢ #T35 0 ¤Ô¤é¤Õ ¥Ô¥é¥Õ #T35 1 ¤Ô¤é¤ß¤Ã¤É ¥Ô¥é¥ß¥Ã¥É #T35 1 ¤Ô¤ê¤ª¤É ¥Ô¥ê¥ª¥É #T35 3 ¤Ô¤ë ¥Ô¥ë #T35 0 ¤Ô¤ë¤Ó¤ó¤µ¤ó ¥Ô¥ë¥Ó¥ó»À #T35 1 ¤Ô¤ó ÉÊ #JS 1 ¤Ô¤ó ¥Ô¥ó #JS 13 ¤Ô¤ó¤¯ ¥Ô¥ó¥¯ #T35 6 ¤Ô¤ó¤»¤Ã¤È ¥Ô¥ó¥»¥Ã¥È #T35 1 ¤Ô¤ó¤Á ¥Ô¥ó¥Á #T15 1 ¤Ô¤ó¤È ¥Ô¥ó¥È #T35 1 ¤Õ Ê® #K5 1 ¤Õ ¿á #K5 58 ¤Õ ¿¡ #K5 6 ¤Õ Éø #K5 8 ¤Õ ÉÖ #KJ 0 ¤Õ ÉØ #KJ 0 ¤Õ ÉÛ #KJ 0 ¤Õ ÉÝ #KJ 0 ¤Õ Éà #KJ 0 ¤Õ Éæ #KJ 0 ¤Õ Éê #KJ 0 ¤Õ Éë #KJ 0 ¤Õ Éì #KJ 0 ¤Õ É÷ #KJ 0 ¤Õ Ê« #KJ 0 ¤Õ ÊÞ #KJ 0 ¤Õ Êß #KJ 0 ¤Õ Êâ #KJ 0 ¤Õ ç¥ #KJ 0 ¤Õ ÉÙ #KJ 1 ¤Õ ÉÚ #KJ 1 ¤Õ ÉÞ #KJ 1 ¤Õ Éâ #KJ 1 ¤Õ Éã #KJ 1 ¤Õ Éå #KJ 1 ¤Õ Éç #KJ 1 ¤Õ óÐ #KJ 1 ¤Õ ÉÔ #KJ 16 ¤Õ É× #KJ 2 ¤Õ Éß #KJ 2 ¤Õ Éá #KJ 2 ¤Õ ë¾ #KJ 2 ¤Õ Á© #M5 0 ¤Õ Ƨ #M5 73 ¤Õ ÉÔ #PRE 139 ¤Õ ¹ß #R5 255 ¤Õ ¿¶ #R5r 27 ¤Õ ²é #S5 0 ¤Õ Éí #S5 0 ¤Õ Éê #S5 1 ¤Õ Éú #S5 1 ¤Õ ÉÕ #S5 16 ¤Õ ÉØ #SUC 0 ¤Õ Éí #T30 0 ¤Õ Éê #T30 1 ¤Õ ÉÕ #T30 16 ¤Õ Éè #T35 1 ¤Õ óÐ #T35 1 ¤Õ ÉÜ #T35 13 ¤Õ Éä #T35 4 ¤Õ Éé #T35 72 ¤Õ¡¼¤É ¥Õ¡¼¥É #T35 1 ¤Õ¡¼¤ê¤¨ ¥Õ¡¼¥ê¥¨ #JN 0 ¤Õ¡¼¤ó ¤Õ¡¼¤ó #CJ 3 ¤Õ¤¡¡¼¤¹¤È ¥Õ¥¡¡¼¥¹¥È #T35 1 ¤Õ¤¡¡¼¤à ¥Õ¥¡¡¼¥à #KK 0 ¤Õ¤¡¡¼¤à¤¦¤§¤¢ ¥Õ¥¡¡¼¥à¥¦¥§¥¢ #T35 4 ¤Õ¤¡¤¤ ¦µ #T35 23 ¤Õ¤¡¤¤ ¦Õ #T35 3 ¤Õ¤¡¤¤¤Ð ¥Õ¥¡¥¤¥Ð #T35 2 ¤Õ¤¡¤¤¤Ð¡¼ ¥Õ¥¡¥¤¥Ð¡¼ #T35 2 ¤Õ¤¡¤¤¤ë ¥Õ¥¡¥¤¥ë #T30 255 ¤Õ¤¡¤¤¤ó¤À ¥Õ¥¡¥¤¥ó¥À #T35 1 ¤Õ¤¡¤¤¤ó¤À¡¼ ¥Õ¥¡¥¤¥ó¥À¡¼ #T35 1 ¤Õ¤¡¤¯¤·¤ß¤ê ¥Õ¥¡¥¯¥·¥ß¥ê #T35 2 ¤Õ¤¡¤¯¤È ¥Õ¥¡¥¯¥È #T35 2 ¤Õ¤¡¤¯¤È¤ê ¥Õ¥¡¥¯¥È¥ê #T35 1 ¤Õ¤¡¤¯¤È¤ê¡¼ ¥Õ¥¡¥¯¥È¥ê¡¼ #T35 1 ¤Õ¤¡¤´¤Ã¤È ¥Õ¥¡¥´¥Ã¥È #T35 0 ¤Õ¤¡¤·¤ê¤Æ¤£ ¥Õ¥¡¥·¥ê¥Æ¥£ #T35 1 ¤Õ¤¡¤·¤ê¤Æ¤£¡¼ ¥Õ¥¡¥·¥ê¥Æ¥£¡¼ #T35 1 ¤Õ¤¡¤·¤ê¤Æ¤¤ ¥Õ¥¡¥·¥ê¥Æ¥¤ #T35 2 ¤Õ¤¡¤¸¡¼ ¥Õ¥¡¥¸¡¼ #T05 0 ¤Õ¤¡¤¸¤¤ ¥Õ¥¡¥¸¥¤ #T05 0 ¤Õ¤¡¤Ã¤¯¤¹ ¥Õ¥¡¥Ã¥¯¥¹ #T30 7 ¤Õ¤¡¤Ã¤·¤ç ¥Õ¥¡¥Ã¥·¥ç #T35 0 ¤Õ¤¡¤Ã¤·¤ç¤ó ¥Õ¥¡¥Ã¥·¥ç¥ó #T35 1 ¤Õ¤¡¤Ê¤Æ¤£¤Ã¤¯ ¥Õ¥¡¥Ê¥Æ¥£¥Ã¥¯ #T05 4 ¤Õ¤¡¤ß¤³¤ó ¥Õ¥¡¥ß¥³¥ó #T35 1 ¤Õ¤¡¤ß¤ê ¥Õ¥¡¥ß¥ê #T35 4 ¤Õ¤¡¤ß¤ê¡¼ ¥Õ¥¡¥ß¥ê¡¼ #T35 4 ¤Õ¤¡¤ó ¥Õ¥¡¥ó #T35 30 ¤Õ¤¡¤ó¤¯¤·¤ç¤ó ¥Õ¥¡¥ó¥¯¥·¥ç¥ó #T35 37 ¤Õ¤¡¤ó¤¯¤¿ ¥Õ¥¡¥ó¥¯¥¿ #T35 1 ¤Õ¤¡¤ó¤¿¤¸¡¼ ¥Õ¥¡¥ó¥¿¥¸¡¼ #T35 3 ¤Õ¤¡¤ó¤¿¤¹¤Æ¤£¤Ã¤¯ ¥Õ¥¡¥ó¥¿¥¹¥Æ¥£¥Ã¥¯ #T05 0 ¤Õ¤¡¤ó¤Ç¡¼¤·¤ç¤ó ¥Õ¥¡¥ó¥Ç¡¼¥·¥ç¥ó #T35 0 ¤Õ¤¢¤ó ÉÔ°Â #T05 24 ¤Õ¤¢¤ó¤Æ¤¤ ÉÔ°ÂÄê #T05 5 ¤Õ¤£¡¼¤À ¥Õ¥£¡¼¥À #T35 1 ¤Õ¤£¡¼¤À¡¼ ¥Õ¥£¡¼¥À¡¼ #T35 1 ¤Õ¤£¡¼¤Ç¤£¤ó¤° ¥Õ¥£¡¼¥Ç¥£¥ó¥° #T30 1 ¤Õ¤£¡¼¤È ¥Õ¥£¡¼¥È #JS 1 ¤Õ¤£¡¼¤È ¥Õ¥£¡¼¥È #T35 1 ¤Õ¤£¡¼¤É¤Ð¤Ã¤¯ ¥Õ¥£¡¼¥É¥Ð¥Ã¥¯ #T30 2 ¤Õ¤£¡¼¤É¤Õ¤©¤ï¡¼¤É ¥Õ¥£¡¼¥É¥Õ¥©¥ï¡¼¥É #T30 1 ¤Õ¤£¡¼¤ë¤É ¥Õ¥£¡¼¥ë¥É #T35 53 ¤Õ¤£¤¯¤·¤ç¤ó ¥Õ¥£¥¯¥·¥ç¥ó #T35 1 ¤Õ¤£¤¸¤«¤ë ¥Õ¥£¥¸¥«¥ë #T05 2 ¤Õ¤£¤Ã¤¯¤¹ ¥Õ¥£¥Ã¥¯¥¹ #T30 19 ¤Õ¤£¤Ã¤È ¥Õ¥£¥Ã¥È #T30 1 ¤Õ¤£¤è¤ë¤É ¥Õ¥£¥è¥ë¥É #T35 0 ¤Õ¤£¤é¤á¤ó¤È ¥Õ¥£¥é¥á¥ó¥È #T35 1 ¤Õ¤£¤ê¤Ô¤ó ¥Õ¥£¥ê¥Ô¥ó #CN 0 ¤Õ¤£¤ë ¥Õ¥£¥ë #T30 11 ¤Õ¤£¤ë¤¿ ¥Õ¥£¥ë¥¿ #T35 27 ¤Õ¤£¤ë¤¿¡¼ ¥Õ¥£¥ë¥¿¡¼ #T35 9 ¤Õ¤£¤ë¤à ¥Õ¥£¥ë¥à #T35 1 ¤Õ¤¤ ÉÔ°Õ #T05 2 ¤Õ¤¤¤Á¤ç¤¦ ¿áİ #T30 0 ¤Õ¤¤¤Ã¤Á ÉÔ°ìÃ× #T35 2 ¤Õ¤¦ É÷ #CNSUC1 46 ¤Õ¤¦ É× #KJ 0 ¤Õ¤¦ Éö #KJ 0 ¤Õ¤¦ É÷ #SUC 0 ¤Õ¤¦ É÷ #T05 12 ¤Õ¤¦ ¤Õ¤¦ #T05 8 ¤Õ¤¦ Éõ #T35 37 ¤Õ¤¦ Éõ #ZX 0 ¤Õ¤¦¤¤¤ó Éõ°õ #T30 1 ¤Õ¤¦¤¦ É÷±« #T35 1 ¤Õ¤¦¤¦¤ó É÷±À #T35 0 ¤Õ¤¦¤« É÷²½ #T30 0 ¤Õ¤¦¤«¤¯ É÷³Ê #T35 0 ¤Õ¤¦¤«¤ó É÷´¥ #T35 1 ¤Õ¤¦¤¬ É÷²í #T05 1 ¤Õ¤¦¤¬¤ï¤ê É÷ÊѤï¤ê #T05 1 ¤Õ¤¦¤­ ÉõÀÚ #R5r 1 ¤Õ¤¦¤­ ÉÙµ® #T15 0 ¤Õ¤¦¤­ É÷µª #T35 0 ¤Õ¤¦¤­¤ç¤¦ É÷¶¸ #T35 0 ¤Õ¤¦¤­¤ê ÉõÀÚ¤ê #T30 0 ¤Õ¤¦¤® ÉõÀÚ #R5r 0 ¤Õ¤¦¤±¤¤ É÷·Ê #T35 5 ¤Õ¤¦¤³¤¦ É÷¸þ #T35 0 ¤Õ¤¦¤³¤¦ É÷¸÷ #T35 1 ¤Õ¤¦¤µ Éõº¿ #T30 0 ¤Õ¤¦¤µ¤¤ É÷ºÓ #T35 0 ¤Õ¤¦¤· ëå»É #T30 0 ¤Õ¤¦¤· É÷»É #T30 1 ¤Õ¤¦¤·¤ã É÷¼Ö #T35 1 ¤Õ¤¦¤·¤å¤¦ É÷½¬ #T35 2 ¤Õ¤¦¤·¤ç Éõ½ñ #T35 0 ¤Õ¤¦¤·¤ó É÷¿¾ #T35 1 ¤Õ¤¦¤¸¤³ Éõ¤¸¹þ #M5 1 ¤Õ¤¦¤¸¤³¤á Éõ¤¸¹þ¤á #KSr 0 ¤Õ¤¦¤»¤Ä É÷Àã #T35 0 ¤Õ¤¦¤»¤ó É÷Á¥ #T35 0 ¤Õ¤¦¤½¤¯ É÷® #T35 0 ¤Õ¤¦¤¾¤¯ É÷¯ #T35 1 ¤Õ¤¦¤Á¤ç¤¦ É÷Ĭ #T35 2 ¤Õ¤¦¤Æ¤¤ É÷ÂÎ #T35 0 ¤Õ¤¦¤È¤¦ ÉõÅû #T35 2 ¤Õ¤¦¤É É÷ÅÚ #T35 1 ¤Õ¤¦¤É¤¦ É÷ƶ #T35 0 ¤Õ¤¦¤Ë¤å¤¦ ÉõÆþ #T30 1 ¤Õ¤¦¤Ó É÷óÓ #T30 0 ¤Õ¤¦¤Õ É×ÉØ #T35 7 ¤Õ¤¦¤Ö¤Ä É÷ʪ #T35 0 ¤Õ¤¦¤Ö¤Ä¤· É÷ʪ»í #T35 0 ¤Õ¤¦¤Ü¤¦ É÷ËÆ #T35 0 ¤Õ¤¦¤Ü¤¦ É÷ËÉ #T35 0 ¤Õ¤¦¤ß É÷Ì£ #T35 1 ¤Õ¤¦¤ê¤å¤¦ É÷ή #T05 0 ¤Õ¤¦¤ê¤ç¤¯ É÷ÎÏ #T35 1 ¤Õ¤¦¤ê¤ó É÷Îë #T35 1 ¤Õ¤¦¤ì¤ó É÷Ï¢ #CN 0 ¤Õ¤¦¤ó ÉÔ±¿ #T05 0 ¤Õ¤§¡¼¤º ¥Õ¥§¡¼¥º #T35 2 ¤Õ¤§¤¢ ¥Õ¥§¥¢ #T05 9 ¤Õ¤§¤¤¤¹ ¥Õ¥§¥¤¥¹ #T35 3 ¤Õ¤§¤¤¤º ¥Õ¥§¥¤¥º #T35 1 ¤Õ¤§¤¤¤ë ¥Õ¥§¥¤¥ë #T30 6 ¤Õ¤§¤¶¡¼ ¥Õ¥§¥¶¡¼ #T35 2 ¤Õ¤§¤¹¤Æ¤£¤Ð¤ë ¥Õ¥§¥¹¥Æ¥£¥Ð¥ë #T35 2 ¤Õ¤§¤Ã¤Á ¥Õ¥§¥Ã¥Á #T30 1 ¤Õ¤§¤ß¤Ë¤º¤à ¥Õ¥§¥ß¥Ë¥º¥à #T35 2 ¤Õ¤§¤é¤Á¤ª ¥Õ¥§¥é¥Á¥ª #T30 1 ¤Õ¤§¤ê¡¼ ¥Õ¥§¥ê¡¼ #T35 2 ¤Õ¤§¤ó¤¹ ¥Õ¥§¥ó¥¹ #T35 1 ¤Õ¤¨ ¿£¤¨ #KSr 0 ¤Õ¤¨ ¤Õ¤¨ #KSr 1 ¤Õ¤¨ Áý¤¨ #KSr 94 ¤Õ¤¨ Å« #T35 0 ¤Õ¤¨¤¤ ÉÜ±Ä #T35 0 ¤Õ¤¨¤Æ ÉÔÆÀ¼ê #T15 1 ¤Õ¤¨¤ó ÉßÞ§ #T30 0 ¤Õ¤©¡¼¤«¤¹ ¥Õ¥©¡¼¥«¥¹ #T35 4 ¤Õ¤©¡¼¤¯ ¥Õ¥©¡¼¥¯ #T35 6 ¤Õ¤©¡¼¤¸ ¥Õ¥©¡¼¥¸ #T35 1 ¤Õ¤©¡¼¤È¤é¤ó ¥Õ¥©¡¼¥È¥é¥ó #T35 1 ¤Õ¤©¡¼¤É ¥Õ¥©¡¼¥É #KK 2 ¤Õ¤©¡¼¤Þ¤Ã¤Æ¤£¤ó¤° ¥Õ¥©¡¼¥Þ¥Ã¥Æ¥£¥ó¥° #T30 1 ¤Õ¤©¡¼¤Þ¤Ã¤È ¥Õ¥©¡¼¥Þ¥Ã¥È #T30 93 ¤Õ¤©¡¼¤Þ¤ë ¥Õ¥©¡¼¥Þ¥ë #T05 2 ¤Õ¤©¡¼¤à ¥Õ¥©¡¼¥à #T35 10 ¤Õ¤©¡¼¤é¤à ¥Õ¥©¡¼¥é¥à #T35 4 ¤Õ¤©¡¼¤ë¤È ¥Õ¥©¡¼¥ë¥È #T35 6 ¤Õ¤©¡¼¤ì ¥Õ¥©¡¼¥ì #JN 0 ¤Õ¤©¤¢ ¥Õ¥©¥¢ #PRE 2 ¤Õ¤©¤¢ ¥Õ¥©¥¢ #T35 2 ¤Õ¤©¤ë¤¯¤í¡¼¤ì ¥Õ¥©¥ë¥¯¥í¡¼¥ì #T35 0 ¤Õ¤©¤ë¤À ¥Õ¥©¥ë¥À #T35 12 ¤Õ¤©¤ë¤À¡¼ ¥Õ¥©¥ë¥À¡¼ #T35 12 ¤Õ¤©¤ë¤Æ ¥Õ¥©¥ë¥Æ #T35 0 ¤Õ¤©¤ë¤È ¥Õ¥©¥ë¥È #T30 2 ¤Õ¤©¤í¡¼ ¥Õ¥©¥í¡¼ #T30 39 ¤Õ¤©¤ï¡¼¤É ¥Õ¥©¥ï¡¼¥É #T30 61 ¤Õ¤©¤ó ¥Õ¥©¥ó #KK 40 ¤Õ¤©¤ó¤È ¥Õ¥©¥ó¥È #T35 198 ¤Õ¤ª¤ó ÉÔ²º #T05 2 ¤Õ¤« ¿¼ #KJ 0 ¤Õ¤« ¿¼ #KYmime 61 ¤Õ¤« ¹¹¤« #S5 1 ¤Õ¤« ¾ø¤« #S5r 0 ¤Õ¤« Éղà #T30 65 ¤Õ¤« Éܲ¼ #T35 0 ¤Õ¤« ò #T35 1 ¤Õ¤« òè #T35 1 ¤Õ¤« Éé²Ù #T35 123 ¤Õ¤« ÉÔ²Ä #T35 77 ¤Õ¤«¤¤ ¿¼°æ #JNS 0 ¤Õ¤«¤¤ ÉÔ²÷ #T05 3 ¤Õ¤«¤¦¤é ¿¼±º #JCN 0 ¤Õ¤«¤¨ ¿¼¹¾ #JCN 0 ¤Õ¤«¤ª ¿¼Èø #JNS 0 ¤Õ¤«¤«¤¤ ÉԲIJò #T05 1 ¤Õ¤«¤¬¤ï ¿¼Àî #JCN 0 ¤Õ¤«¤®¤ã¤¯ ÉÔ²ÄµÕ #T05 1 ¤Õ¤«¤¯ ÉԳР#T05 5 ¤Õ¤«¤±¤Ä ÉԲķç #T05 9 ¤Õ¤«¤µ¤ï ¿¼Âô #JCN 0 ¤Õ¤«¤µ¤ó ÉԲû» #T35 0 ¤Õ¤«¤¶¤ï ¿¼Âô #JCN 0 ¤Õ¤«¤· ÉԲĻë #T35 0 ¤Õ¤«¤·¤® ÉÔ²Ä»×µÄ #T15 0 ¤Õ¤«¤·¤ó ÉԲĿ¯ #T15 1 ¤Õ¤«¤» ¿¼À¥ #JNS 0 ¤Õ¤«¤À ¿¼ÅÄ #JCN 0 ¤Õ¤«¤Á ÉÔ²ÄÃÎ #T15 0 ¤Õ¤«¤Ä Éê³è #T35 0 ¤Õ¤«¤Ä¤« ÉԳ貽 #T30 1 ¤Õ¤«¤Î ¿¼Ìî #JNS 0 ¤Õ¤«¤Î¤¦ ÉÔ²Äǽ #T05 55 ¤Õ¤«¤Ò ÉÔ²ÄÈò #T05 1 ¤Õ¤«¤Ö¤«¤È ¿¼¡¹¤È #F14 0 ¤Õ¤«¤Ö¤ó ÉÔ²Äʬ #T05 2 ¤Õ¤«¤Þ ¿¼¤Þ #R5r 1 ¤Õ¤«¤ß ¿¼³¤ #JNS 0 ¤Õ¤«¤á ¿¼¤á #KS 3 ¤Õ¤«¤ä ¿¼Ã« #JCN 0 ¤Õ¤«¤ä¤¹ ¿¼°Â #JCN 0 ¤Õ¤«¤ï ÉÛÀî #JCN 0 ¤Õ¤«¤ó Ðíâ× #T30 0 ¤Õ¤«¤ó¤·¤ç¤¦ ÉÔ´³¾Ä #T35 0 ¤Õ¤«¤ó¤·¤ç¤¦ ÉÔ´¶¾É #T35 1 ¤Õ¤«¤ó¤¼¤ó ÉÔ´°Á´ #T05 5 ¤Õ¤¬¤¤¤Ê ¤Õ¤¬¤¤¤Ê #KY 1 ¤Õ¤¬¤¤¤Î¤¦ ¤Õ¤¬¤¤¤Î¤¦ #KYU 1 ¤Õ¤­ Éø #KJ 0 ¤Õ¤­ Éíµ­ #T30 1 ¤Õ¤­ ÉÕµ­ #T30 2 ¤Õ¤­ Éù #T35 0 ¤Õ¤­¤¢¤² ¿á¾å #JCN 0 ¤Õ¤­¤¢¤ì ¿á¤­¹Ó¤ì #KS 2 ¤Õ¤­¤«¤¨ ¿á¤­ÊÖ #S5r 0 ¤Õ¤­¤«¤¨ ¿áÂØ¤¨ #T30 0 ¤Õ¤­¤«¤± ¿á¤­¤«¤± #KSr 0 ¤Õ¤­¤²¤ó ÉÔµ¡·ù #T05 2 ¤Õ¤­¤³ ¿á¤­¹þ #M5r 1 ¤Õ¤­¤½ ÉÔµ¯ÁÊ #T35 0 ¤Õ¤­¤½¤¯ ÉÔµ¬Â§ #T05 1 ¤Õ¤­¤À ¿á¤­½Ð #S5r 0 ¤Õ¤­¤À¤Þ¤ê ¿á¤­Î¯¤ê #T35 0 ¤Õ¤­¤Ä ÉÔµÈ #T05 1 ¤Õ¤­¤Ä¤± ¿á¤­ÉÕ¤± #KSr 0 ¤Õ¤­¤Ç¤â¤Î ¿á½Ðʪ #T35 0 ¤Õ¤­¤È ¿¡¤­¼è #R5r 0 ¤Õ¤­¤È¤Ð ¿á¤­Èô¤Ð #S5 2 ¤Õ¤­¤Ê¤¬ ¿á¤­Î® #S5r 0 ¤Õ¤­¤Ì¤± ¿áÈ´¤± #T35 0 ¤Õ¤­¤å¤¦ ÉáµÚ #T30 26 ¤Õ¤­¤å¤¦ ÉÔµÙ #T35 0 ¤Õ¤­¤å¤¦ ÉÔµà #T35 1 ¤Õ¤­¤ç¤¦ ÉÔ¶· #T05 3 ¤Õ¤­¤ç¤¦ ÉÛ¶µ #T30 3 ¤Õ¤­¤ó ÉÛ¶Ò #T35 1 ¤Õ¤­¤ó ÉÕ¶á #T35 10 ¤Õ¤­¤ó¤³¤¦ ÉÔ¶Ñ¹Õ #T05 1 ¤Õ¤­¤ó¤·¤ó ÉԶ࿵ #T05 1 ¤Õ¤® ÉÕµÄ #T30 1 ¤Õ¤® ÉÔµÁ #T35 0 ¤Õ¤¯ Éý #KJ 0 ¤Õ¤¯ Ê£ #KJ 0 ¤Õ¤¯ ʤ #KJ 0 ¤Õ¤¯ íÕ #KJ 1 ¤Õ¤¯ Éû #KJ 11 ¤Õ¤¯ Ê¢ #KJ 2 ¤Õ¤¯ ´Þ #M5r 228 ¤Õ¤¯ Éû #PRE 0 ¤Õ¤¯ Ê£ #PRE 1 ¤Õ¤¯ Éü #S5 2 ¤Õ¤¯ Éþ #S5 3 ¤Õ¤¯ Éú #T30 1 ¤Õ¤¯ Éþ #T30 13 ¤Õ¤¯ Éü #T30 2 ¤Õ¤¯ Ê¡ #T35 11 ¤Õ¤¯¤¤ Ê¡°æ #JCN 0 ¤Õ¤¯¤¤¤±¤ó Ê¡°æ¸© #CNS 0 ¤Õ¤¯¤¤¤· Ê¡°æ»Ô #CNS 0 ¤Õ¤¯¤¤¤ó Ê¡²» #T35 1 ¤Õ¤¯¤¨ Ê¡¹¾ #JCN 0 ¤Õ¤¯¤¨ Ê¡±É #JNS 0 ¤Õ¤¯¤¨¤­ ÉþÌò #T30 0 ¤Õ¤¯¤¨¤ó Éü±ï #T30 0 ¤Õ¤¯¤ª¤« Ê¡²¬ #JCN 0 ¤Õ¤¯¤ª¤«¤±¤ó Ê¡²¬¸© #CNS 0 ¤Õ¤¯¤ª¤«¤· Ê¡²¬»Ô #CNS 0 ¤Õ¤¯¤«¤ó Éû´± #T35 0 ¤Õ¤¯¤¬¤¯ Éü³Ø #T30 0 ¤Õ¤¯¤® ÉûÌÚ #T35 1 ¤Õ¤¯¤®¤ç¤¦ Éû¶È #T35 0 ¤Õ¤¯¤¯¤¦ Ê¢¹Ð #T35 1 ¤Õ¤¯¤²¤ó Éü¸µ #T30 7 ¤Õ¤¯¤´¤¦ Ê£¹ç #T30 17 ¤Õ¤¯¤´¤¦ Éü¹æ #T30 18 ¤Õ¤¯¤µ¤¤ ÉûºÚ #T35 0 ¤Õ¤¯¤µ¤è¤¦ ÉûºîÍÑ #T35 14 ¤Õ¤¯¤µ¤ó¤Ö¤Ä Éû»ºÊª #T35 2 ¤Õ¤¯¤¶¤­ Ê¡ºê #CN 0 ¤Õ¤¯¤¶¤Ä Ê£»¨ #T05 58 ¤Õ¤¯¤¶¤ï Ê¡Âô #JNS 0 ¤Õ¤¯¤· Ê¡»ã #T35 2 ¤Õ¤¯¤· Éû»ì #T35 20 ¤Õ¤¯¤·¤­ Ê¢¼° #T35 0 ¤Õ¤¯¤·¤­ Ê£¼° #T35 0 ¤Õ¤¯¤·¤Þ Ê¡Åç #JCN 0 ¤Õ¤¯¤·¤Þ Ê¡Åè #JNS 0 ¤Õ¤¯¤·¤Þ¤±¤ó Ê¡Å縩 #CNS 0 ¤Õ¤¯¤·¤Þ¤· Ê¡Åç»Ô #CNS 0 ¤Õ¤¯¤·¤ã Ê£¼Ì #T30 22 ¤Õ¤¯¤·¤å¤¦ Éü½² #T30 17 ¤Õ¤¯¤·¤å¤¦ Éü½¬ #T30 3 ¤Õ¤¯¤·¤ç¤¦ Éü¾§ #T30 0 ¤Õ¤¯¤·¤ç¤¦ Éû¾­ #T35 0 ¤Õ¤¯¤·¤ç¤¦ Éû¾Þ #T35 1 ¤Õ¤¯¤·¤ç¤¯ Éü¿¦ #T30 0 ¤Õ¤¯¤·¤ç¤¯ Éû¿© #T35 0 ¤Õ¤¯¤·¤ç¤¯ Éþ¾þ #T35 0 ¤Õ¤¯¤·¤ó Éû¿³ #T35 0 ¤Õ¤¯¤·¤ó Ê¢¿´ #T35 0 ¤Õ¤¯¤¸ Ê¡¼£ #JNM 0 ¤Õ¤¯¤¸ ÉþÃÏ #T35 0 ¤Õ¤¯¤¸ Éû¼¡ #T35 1 ¤Õ¤¯¤¸¤å¤¦ Éþ½¾ #T30 0 ¤Õ¤¯¤¹¤¤ ʤ¿å #T35 2 ¤Õ¤¯¤¹¤¦ Ê£¿ô #T15 203 ¤Õ¤¯¤¹¤¦¤³ Ê£¿ô¸Ä #T35 3 ¤Õ¤¯¤»¤¤ Ê£À½ #T30 5 ¤Õ¤¯¤»¤ó Ê£Àþ #T35 0 ¤Õ¤¯¤»¤ó ÉúÀþ #T35 2 ¤Õ¤¯¤½¤¦ íÕíÔ #T30 2 ¤Õ¤¯¤½¤¦ ÉþÁõ #T35 3 ¤Õ¤¯¤½¤¯ ʢ¦ #T35 1 ¤Õ¤¯¤¾¤¯ Éþ° #T30 0 ¤Õ¤¯¤¿¤í¤¦ Ê¡ÂÀϺ #JNM 0 ¤Õ¤¯¤À Ê¡ÅÄ #JCN 0 ¤Õ¤¯¤À¤¤ ÉûÂê #T35 4 ¤Õ¤¯¤Á Ê¡ÃÏ #JCN 0 ¤Õ¤¯¤Á¤ä¤Þ Ê¡Ãλ³ #CN 0 ¤Õ¤¯¤Á¤ç¤¦ ÉüÄ´ #T30 2 ¤Õ¤¯¤Ä ÉÔ¶þ #T05 0 ¤Õ¤¯¤Ä¤¦ Ê¢ÄË #T35 0 ¤Õ¤¯¤Ç Ê¡ÅÄ #JCN 0 ¤Õ¤¯¤È¤ß Ê¡ÉÙ #JNS 0 ¤Õ¤¯¤È¤á ʡα #JNS 0 ¤Õ¤¯¤É¤¯ ÉþÆÇ #T30 0 ¤Õ¤¯¤É¤¯ ÉûÆÉ #T35 1 ¤Õ¤¯¤É¤ß Ê¡ÉÙ #JCN 0 ¤Õ¤¯¤Ê¤¬ Ê¡±Ê #JNS 0 ¤Õ¤¯¤Î Ê¡Ìî #JCN 0 ¤Õ¤¯¤Ï¤é Ê¡¸¶ #JCN 0 ¤Õ¤¯¤Ó¤­ Ê¡°ú #T35 0 ¤Õ¤¯¤Ö Ê¢Éô #T35 1 ¤Õ¤¯¤Ø¤¤ Éúʼ #T35 0 ¤Õ¤¯¤Ù Ê¡Éô #JCN 0 ¤Õ¤¯¤Û¤ó ÉûËÜ #T35 0 ¤Õ¤¯¤Û¤ó Ê£ËÜ #T35 0 ¤Õ¤¯¤Þ Ê¡´Ö #JCN 0 ¤Õ¤¯¤Þ¤¯ Ê¢Ëì #T35 0 ¤Õ¤¯¤Þ¤Ä Ê¡¾¾ #JNS 0 ¤Õ¤¯¤ß¤Ä Ê¡¸÷ #JCN 0 ¤Õ¤¯¤à Éþ̳ #T30 8 ¤Õ¤¯¤á¤ó ʤÌÌ #T30 0 ¤Õ¤¯¤â¤È Ê¡ËÜ #JNS 0 ¤Õ¤¯¤ä¤¯ ÉþÌô #T30 0 ¤Õ¤¯¤ä¤Þ Ê¡»³ #JCN 0 ¤Õ¤¯¤è¤¦ ÉþÍÑ #T30 0 ¤Õ¤¯¤è¤¦¤­ Ê£ÍÕµ¡ #T35 0 ¤Õ¤¯¤é ËĤé #M5r 0 ¤Õ¤¯¤ê Ê¡Íø #T35 0 ¤Õ¤¯¤ê Ê£Íø #T35 0 ¤Õ¤¯¤ì ËĤì #KSr 0 ¤Õ¤¯¤ì ¤Õ¤¯¤ì #KSr 1 ¤Õ¤¯¤ì¤¢¤¬ ¤Õ¤¯¤ì¾å¤¬ #R5 0 ¤Õ¤¯¤ì¤¢¤¬ ËĤì¾å¤¬ #R5 0 ¤Õ¤¯¤í ÂÞ #T35 19 ¤Õ¤¯¤í ÉüÏ© #T35 2 ¤Õ¤¯¤í¤¤ ÂÞ°æ #JCN 0 ¤Õ¤¯¤í¤¦ ¤Õ¤¯¤í¤¦ #T35 1 ¤Õ¤¯¤í¤¦ Ûæ #T35 1 ¤Õ¤¯¤í¤ª¤Ó ÂÞÂÓ #T35 0 ¤Õ¤¯¤í¤³¤¦¤¸ ÂÞ¾®Ï© #T35 0 ¤Õ¤° ²ÏÆÚ #T35 1 ¤Õ¤° òØ #T35 1 ¤Õ¤°¤¢¤¤ ÉÔ¶ñ¹ç #T05 8 ¤Õ¤°¤¦ ÉÔ¶ø #T05 0 ¤Õ¤°¤¿¤¤¤Æ¤ó ÉÔ¶æºÜÅ· #T35 1 ¤Õ¤± Ï·¤± #KS 0 ¤Õ¤± ¹¹¤± #KS 1 ¤Õ¤± ¥Õ¥± #KS 4 ¤Õ¤± ÿ #R5 0 ¤Õ¤±¤¤ ÉØ·Ù #T35 0 ¤Õ¤±¤¤ Éã·» #T35 0 ¤Õ¤±¤¤¤­ ÉԷʵ¤ #T05 0 ¤Õ¤±¤¤¤¶¤¤ ÉÔ·ÐºÑ #T05 1 ¤Õ¤±¤³ Ï·¤±¹þ #M5r 0 ¤Õ¤±¤Ä ÉÔ·é #T05 0 ¤Õ¤±¤ó Éܸ© #T35 0 ¤Õ¤±¤ó¤³¤¦ ÉÔ·ò¹¯ #T05 0 ¤Õ¤±¤ó¤¼¤ó ÉÔ·òÁ´ #T05 0 ¤Õ¤²¤· ˱»ê #JCN 0 ¤Õ¤²¤ó ÉÕ¸À #T30 0 ¤Õ¤³¤¦ ¿¼¤¦ #KYU 2 ¤Õ¤³¤¦ ÉÔ¹§ #T05 0 ¤Õ¤³¤¦ ÉÔ¹¬ #T05 9 ¤Õ¤³¤¦¤Ø¤¤ ÉÔ¸øÊ¿ #T05 3 ¤Õ¤³¤¯ ÉÛ¹ð #T30 0 ¤Õ¤³¤³¤í¤¨ ÉÔ¿´ÆÀ #T05 1 ¤Õ¤´¤¦ Éä¹ç #T30 4 ¤Õ¤´¤¦ ÉÙ¹ë #T35 0 ¤Õ¤´¤¦ É乿 #T35 68 ¤Õ¤´¤¦¤«¤¯ ÉÔ¹ç³Ê #T35 1 ¤Õ¤´¤¦¤­ É乿´ï #T35 4 ¤Õ¤´¤¦¤ê ÉÔ¹çÍý #T05 2 ¤Õ¤µ ºÉ #G5r 0 ¤Õ¤µ ¸¾ #KJ 0 ¤Õ¤µ ÁÚ #KJ 0 ¤Õ¤µ ˼ #T35 15 ¤Õ¤µ¤¤ ÉéºÄ #T35 1 ¤Õ¤µ¤¤ É×ºÊ #T35 5 ¤Õ¤µ¤¤¤è¤¦ ÉÔºÎÍÑ #T35 0 ¤Õ¤µ¤¬ ºÉ¤¬ #R5r 1 ¤Õ¤µ¤¯ ÉÔºî #T35 0 ¤Õ¤µ¤³ ˼»Ò #JNM 0 ¤Õ¤µ¤ï¤· Áê±þ¤· #KY 1 ¤Õ¤µ¤ï¤· ¤Õ¤µ¤ï¤· #KY 2 ¤Õ¤µ¤ï¤·¤å¤¦ ¤Õ¤µ¤ï¤·¤å¤¦ #KYU 1 ¤Õ¤µ¤ï¤·¤å¤¦ Áê±þ¤·¤å¤¦ #KYU 1 ¤Õ¤µ¤ó¤« ÉÔ»²²Ã #T35 6 ¤Õ¤µ¤ó¤»¤¤ ÉÔ»¿À® #T35 0 ¤Õ¤¶¤¤ ÉG #T15 8 ¤Õ¤¶¤± ¤Õ¤¶¤± #KS 2 ¤Õ¤· ²é #KJ 0 ¤Õ¤· Àá #T35 1 ¤Õ¤·¤¢¤ï¤» ÉÔ¹¬¤» #T05 0 ¤Õ¤·¤® ÉÔ»×µÄ #T05 22 ¤Õ¤·¤¼¤ó ÉÔ¼«Á³ #T05 3 ¤Õ¤·¤À¤é ¤Õ¤·¤À¤é #T05 0 ¤Õ¤·¤Á¤ç¤¦ ÉÔ»àÄ» #T35 0 ¤Õ¤·¤Ö¤· À᡹ #T35 0 ¤Õ¤·¤Þ¤Ä ÉÔ»ÏËö #T05 0 ¤Õ¤·¤ß Éú¸« #JCN 0 ¤Õ¤·¤á ÀáÌÜ #T35 0 ¤Õ¤·¤ã ÉÙ¼Ô #T35 0 ¤Õ¤·¤å¤Ó ÉÔ¼óÈø #T05 0 ¤Õ¤·¤ç¤¦ ÉÔ¾Ü #T15 1 ¤Õ¤·¤ç¤¦ Éé½ý #T30 0 ¤Õ¤·¤ç¤¦¤¸ ÉԾͻö #T35 2 ¤Õ¤·¤ç¤¯ Éå¿© #T30 0 ¤Õ¤·¤ó ÉÔ¿¶ #T05 1 ¤Õ¤·¤ó ÉÔ¿³ #T05 3 ¤Õ¤·¤ó ÉÔ¿® #T35 1 ¤Õ¤·¤ó¤»¤Ä ÉÔ¿ÆÀÚ #T05 3 ¤Õ¤·¤ó¤Ë¤ó ÉÔ¿®Ç¤ #T35 0 ¤Õ¤¸ ÉٻΠ#JCN 0 ¤Õ¤¸ ¥Õ¥¸ #KK 3 ¤Õ¤¸ ÉÔ»þ #T35 0 ¤Õ¤¸ ÉÔ¼£ #T35 4 ¤Õ¤¸ Æ£ #T35 7 ¤Õ¤¸¤¤ Æ£°æ #JCN 0 ¤Õ¤¸¤¤¤Ç¤é Æ£°æ»û #JCN 0 ¤Õ¤¸¤¦¤é Æ£±º #JNS 0 ¤Õ¤¸¤¨¤À Æ£»Þ #JCN 0 ¤Õ¤¸¤ª ƣͺ #JNM 0 ¤Õ¤¸¤ª ÉÙ»ÎÉ× #JNM 0 ¤Õ¤¸¤ª ÉÙ»Îͺ #JNM 0 ¤Õ¤¸¤ª ÉÚ»Îͺ #JNM 0 ¤Õ¤¸¤ª¤« Æ£²¬ #JCN 0 ¤Õ¤¸¤«¤ï Æ£Àî #JCN 0 ¤Õ¤¸¤«¤ï ÉÙ»ÎÀî #JCN 0 ¤Õ¤¸¤­ Æ£ÌÚ #JNS 0 ¤Õ¤¸¤¯¤é Æ£ÁÒ #JNS 0 ¤Õ¤¸¤³ Æ£»Ò #JNM 0 ¤Õ¤¸¤³ ÉÚ»Î»Ò #JNM 0 ¤Õ¤¸¤µ¤­ Æ£ºê #JCN 0 ¤Õ¤¸¤µ¤ï Æ£Âô #JCN 0 ¤Õ¤¸¤µ¤ï ƣ߷ #JNS 0 ¤Õ¤¸¤µ¤ó Éٻλ³ #CN 0 ¤Õ¤¸¤·¤Þ Æ£Åç #JCN 0 ¤Õ¤¸¤·¤Þ Æ£Åè #JNS 0 ¤Õ¤¸¤·¤í Æ£Âå #JCN 0 ¤Õ¤¸¤·¤í Æ£¾ë #JNS 0 ¤Õ¤¸¤¿ Æ£ÅÄ #JNS 0 ¤Õ¤¸¤¿¤Ë ƣë #JNS 0 ¤Õ¤¸¤Á¤ã¤¯ ÉÔ»þÃå #T30 0 ¤Õ¤¸¤Ä Æ£ÄÅ #JCN 0 ¤Õ¤¸¤Ä¤¦ ÉÙ»ÎÄÌ #KK 35 ¤Õ¤¸¤Ê¤ß Æ£ÇÈ #JNS 0 ¤Õ¤¸¤Î Æ£Ìî #JCN 0 ¤Õ¤¸¤Î¤ß¤ä ÉÙ»ÎµÜ #CN 0 ¤Õ¤¸¤Ï¤· Æ£¶¶ #JCN 0 ¤Õ¤¸¤Þ¤­ Æ£´¬ #JNS 0 ¤Õ¤¸¤ß Éٻθ« #CN 0 ¤Õ¤¸¤ß ÉÔ»à¿È #T05 0 ¤Õ¤¸¤à¤é ƣ¼ #JNS 0 ¤Õ¤¸¤â¤È Æ£ËÜ #JNS 0 ¤Õ¤¸¤â¤ê Æ£¿¹ #JNS 0 ¤Õ¤¸¤å¤¦¤Ö¤ó ÉÔ½½Ê¬ #T05 5 ¤Õ¤¸¤å¤µ¤È ƣΤ #JNS 0 ¤Õ¤¸¤å¤ó ÉÔ½ã #T05 1 ¤Õ¤¸¤å¤ó ÉÔ½ç #T05 1 ¤Õ¤¸¤æ¤¦ ÉÔ¼«Í³ #T00 5 ¤Õ¤¸¤ç ÉÞ½õ #T30 0 ¤Õ¤¸¤ç ÉØ½÷ #T35 0 ¤Õ¤¸¤ç¤¦ ÉÔ¾ô #T05 0 ¤Õ¤¸¤ç¤¦ Éâ¾å #T30 1 ¤Õ¤¸¤ç¤· ÉØ½÷»Ò #T35 0 ¤Õ¤¸¤è¤·¤À ÉٻεÈÅÄ #CN 0 ¤Õ¤¸¤ï¤é Æ£¸¶ #JCN 0 ¤Õ¤¸¤ó ÉØ¿Í #T35 1 ¤Õ¤¸¤ó É×¿Í #T35 3 ¤Õ¤¹¤¦ Éé¿ô #T35 2 ¤Õ¤¹¤Þ êÐ #KJ 0 ¤Õ¤¹¤Þ ²¨ #T35 0 ¤Õ¤º ÉÕ¿Þ #T35 0 ¤Õ¤º¤¤ ÉÕ¿ï #T30 5 ¤Õ¤º¤¤ ÉÔ¿ï #T35 0 ¤Õ¤» ËÉ #G5r 15 ¤Õ¤» ÉÛ»Ü #JCN 0 ¤Õ¤» Éú¤» #KS 0 ¤Õ¤» Éú¤» #R5 0 ¤Õ¤» ÉÛ»Ü #T35 1 ¤Õ¤»¤¤ ÉÔ¾Ê #T05 0 ¤Õ¤»¤¤ ÉÔÀ° #T05 0 ¤Õ¤»¤¤ ÉÔÀÆ #T05 0 ¤Õ¤»¤¤ ÉÔÀµ #T05 24 ¤Õ¤»¤¤¤ê¤Ä ÉÔÀ®Î© #T35 0 ¤Õ¤»¤­ ÉÛÀÐ #T30 2 ¤Õ¤»¤Ä ÉßÀß #T30 1 ¤Õ¤»¤Ä ÉÕÀß #T30 3 ¤Õ¤»¤ó ÉÔÀï #T35 0 ¤Õ¤»¤ó ÉÕäµ #T35 0 ¤Õ¤»¤ó¤·¤ç¤¦ ÉÔÀᄀ #T30 0 ¤Õ¤»¤ó¤Ñ¤¤ ÉÔÀïÇÔ #T30 0 ¤Õ¤¼¤¤ É÷¾ð #T35 3 ¤Õ¤¼¤ó ÉÔÁ´ #T05 0 ¤Õ¤½¤¦ ÉÞ·¬ #JCN 0 ¤Õ¤½¤¦¤ª¤¦ ÉÔÁê±þ #T05 1 ¤Õ¤½¤¯ ÉÔ­ #T30 33 ¤Õ¤½¤¯ Éí§ #T35 0 ¤Õ¤½¤¯ ÉÕ§ #T35 1 ¤Õ¤½¤¯¤Õ¤ê ÉÔ¨ÉÔÎ¥ #T15 0 ¤Õ¤½¤Ó¤ç¤¦ Éåé×É #T35 1 ¤Õ¤½¤ó ÉÔ½ #T05 0 ¤Õ¤½¤ó ÉÔº #T05 2 ¤Õ¤¾¤¯ Éí° #T30 22 ¤Õ¤¾¤¯ ÉÕ° #T30 83 ¤Õ¤¾¤¯¤´ ÉÕ°¸ì #T35 0 ¤Õ¤¾¤í¤¤ ÉÔ·¤¤ #T05 1 ¤Õ¤¿ Æó #NN 6 ¤Õ¤¿ ³¸ #T30 3 ¤Õ¤¿¤¤ ÉÕÂÓ #T30 1 ¤Õ¤¿¤¨ Æó½Å #T35 0 ¤Õ¤¿¤¬¤ß Æó¾å #JCN 0 ¤Õ¤¿¤¯ ÉÕÂ÷ #T30 0 ¤Õ¤¿¤¯ ÉéÂ÷ #T30 0 ¤Õ¤¿¤´ ÁÐ»Ò #T35 3 ¤Õ¤¿¤´¤¶ ÁлҺ #KK 1 ¤Õ¤¿¤¿¤Ó ¤Õ¤¿¤¿¤Ó #F14 2 ¤Õ¤¿¤¿¤Ó ¤Õ¤¿¤¿¤Ó #T36 0 ¤Õ¤¿¤¿¤Ó ºÆ¤Ó #F14 29 ¤Õ¤¿¤¿¤Ó ºÆ¤Ó #T36 0 ¤Õ¤¿¤Ä Æó¤Ä #T35 88 ¤Õ¤¿¤Ä¤® ÆóÌÚ #JNS 0 ¤Õ¤¿¤Ð ÁÐÍÕ #JCN 0 ¤Õ¤¿¤Ð ÁÐÍÕ #T35 1 ¤Õ¤¿¤ß Áг¤ #JCN 0 ¤Õ¤¿¤ß Áл° #JCN 0 ¤Õ¤¿¤ß Æó¸« #JCN 0 ¤Õ¤¿¤ê Æó¿Í #T35 43 ¤Õ¤¿¤ê¤·¤Æ Æó¿Í¤·¤Æ #F14 0 ¤Õ¤¿¤ê¤·¤Æ Æó¿Í¤·¤Æ #T36 0 ¤Õ¤¿¤ó Ééô #T30 32 ¤Õ¤À »¥ #T35 10 ¤Õ¤À¤¤ ÉáÂå #JCN 0 ¤Õ¤À¤¤ ÉèÂå #T35 0 ¤Õ¤À¤ó ÉáÃÊ #T35 16 ¤Õ¤À¤ó ÉÔÃÇ #T35 2 ¤Õ¤À¤ó¤® ÉáÃÊÃå #T35 0 ¤Õ¤Á Þ¼ #KJ 2 ¤Õ¤Á ÉÕÃÖ #T30 0 ¤Õ¤Á ÉÕÃÍ #T30 13 ¤Õ¤Á ±ï #T35 1 ¤Õ¤Á Ê¥ #T35 8 ¤Õ¤Á¤ã¤¯ ÉÕÃå #T30 0 ¤Õ¤Á¤å¤¦ ÉØÃæ #JCN 0 ¤Õ¤Á¤å¤¦ ÉÜÃæ #JCN 0 ¤Õ¤Á¤å¤¦¤¤ ÉÔÃí°Õ #T05 2 ¤Õ¤Á¤ç¤¦ ÉÔÄ´ #T05 9 ¤Õ¤Á¤ç¤¦ ɨĹ #T35 0 ¤Õ¤Á¤ç¤¦ ÉÜÄ£ #T35 0 ¤Õ¤Á¤ç¤¦ ÉäÃú #T35 0 ¤Õ¤Ã¤« ¥Õ¥Ã²½ #T30 1 ¤Õ¤Ã¤«¤¤ Éü²þ #T35 1 ¤Õ¤Ã¤«¤± ¤Õ¤Ã³Ý¤± #R5 0 ¤Õ¤Ã¤«¤Ä Éü³è #T30 9 ¤Õ¤Ã¤­ ¤Õ¤ÃÀÚ #R5 0 ¤Õ¤Ã¤­ Éüµ¢ #T30 9 ¤Õ¤Ã¤­¤å¤¦ Éüµì #T30 26 ¤Õ¤Ã¤­¤ó Ê¢¶Ú #T35 0 ¤Õ¤Ã¤¯¤é ¤Õ¤Ã¤¯¤é #F04 0 ¤Õ¤Ã¤¯¤é ¤Õ¤Ã¤¯¤é #T16 0 ¤Õ¤Ã¤±¤ó Éü·ú #KK 13 ¤Õ¤Ã¤±¤ó Éü¸¦ #KK 2 ¤Õ¤Ã¤±¤ó Éü¸¢ #T35 2 ¤Õ¤Ã¤³ Éü¸Å #T30 0 ¤Õ¤Ã¤³¤¦ Éü¶½ #T30 0 ¤Õ¤Ã¤³¤¦ Éü¸ò #T30 0 ¤Õ¤Ã¤³¤¯ Éü¹ï #T30 1 ¤Õ¤Ã¤µ Ê¡À¸ #JCN 0 ¤Õ¤Ã¤·¤ç¤¯ ʧ¿¡ #T30 0 ¤Õ¤Ã¤¿ ¥Õ¥Ã¥¿ #T35 2 ¤Õ¤Ã¤¿¡¼ ¥Õ¥Ã¥¿¡¼ #T35 2 ¤Õ¤Ã¤Ä ÉÙÄÅ #JCN 0 ¤Õ¤Ã¤Æ¤¤ ʧÄì #T30 0 ¤Õ¤Ã¤Æ¤ó ʨÅÀ #T35 0 ¤Õ¤Ã¤È ¤Õ¤ÃÈô #B5 0 ¤Õ¤Ã¤È¤¦ ʨƭ #T30 0 ¤Õ¤Ã¤È¤Ü¡¼¤ë ¥Õ¥Ã¥È¥Ü¡¼¥ë #T35 1 ¤Õ¤Ä ÉÛÄÅ #JCN 0 ¤Õ¤Ä ʦ #KJ 0 ¤Õ¤Ä ʧ #KJ 0 ¤Õ¤Ä ʨ #KJ 0 ¤Õ¤Ä¤¦ ¤Õ¤Ä¤¦ #T05 1 ¤Õ¤Ä¤¦ ÉáÄÌ #T05 149 ¤Õ¤Ä¤¦ ÉÔÄÌ #T35 2 ¤Õ¤Ä¤« £²Æü #T35 0 ¤Õ¤Ä¤« 2Æü #T35 1 ¤Õ¤Ä¤« ÆóÆü #T35 7 ¤Õ¤Ä¤´¤¦ ÉÔÅÔ¹ç #T05 10 ¤Õ¤Ä¤Ä¤« ÉÔ«¤« #RT 2 ¤Õ¤Ä¤Ä¤« ¤Õ¤Ä¤Ä¤« #T05 0 ¤Õ¤Ä¤Ä¤« ÉÔ« #T05 0 ¤Õ¤Ä¤Õ¤Ä ¤Õ¤Ä¤Õ¤Ä #F06 0 ¤Õ¤Å¤­ ʸ·î #T35 2 ¤Õ¤Æ¤¤ ÉÔÄç #T05 0 ¤Õ¤Æ¤¤ ÉÔÄê #T05 5 ¤Õ¤Æ¤¤¤· ÉÔÄê»ì #T35 0 ¤Õ¤Æ¤­ ÉÔŨ #T05 1 ¤Õ¤Æ¤­ ÉÔŬ #T05 1 ¤Õ¤Æ¤­¤»¤Ä ÉÔŬÀÚ #T05 3 ¤Õ¤Æ¤®¤ï ÉÔ¼êºÝ #T05 1 ¤Õ¤Ç É® #T35 4 ¤Õ¤Ç¤­ ÉÔ½ÐÍè #T05 0 ¤Õ¤Ç¤Ö¤·¤ç¤¦ É®ÉÔÀº #T05 0 ¤Õ¤Ç¤Þ¤á É®¤Þ¤á #T05 0 ¤Õ¤È ¤Õ¤È #F14 3 ¤Õ¤È ÂÀ #KJ 0 ¤Õ¤È ÂÀ #KYme 33 ¤Õ¤È ¤Õ¤È #R5 1 ¤Õ¤È ÂÀ #R5 32 ¤Õ¤È¤¦ ÂÀ¤¦ #KYU 2 ¤Õ¤È¤¦ ÉÔÅö #T05 10 ¤Õ¤È¤¦ ÉÔÅù #T05 2 ¤Õ¤È¤¦ ÉÖÆ¬ #T35 2 ¤Õ¤È¤¯ ÉÔÆÁ #T05 0 ¤Õ¤È¤¯¤¤ ÉÔÆÀ°Õ #T05 1 ¤Õ¤È¤³¤í ²û #T35 3 ¤Õ¤È¤³¤í¤Ç ²û¼ê #T30 0 ¤Õ¤È¤¸ ÂÀ»ú #T35 2 ¤Õ¤È¤Ã¤Ñ¤é ÂÀ¤ÃÊ¢ #T05 0 ¤Õ¤È¤Ã¤Ñ¤é ÂÀ¤ÃÊ¢ #T15 0 ¤Õ¤È¤ó ³÷ÃÄ #T35 0 ¤Õ¤È¤ó ÉÛÃÄ #T35 6 ¤Õ¤É¤¦ ÉÔÆ± #T05 0 ¤Õ¤É¤¦ ÉÔÆ° #T05 1 ¤Õ¤É¤¦ ÉâÆ° #T30 9 ¤Õ¤É¤¦¤µ¤ó ÉÔÆ°»º #T35 5 ¤Õ¤É¤¦¤¿¤¤ ÉÔÆ³ÂÎ #T35 0 ¤Õ¤É¤¦¤È¤¯ ÉÔÆ»ÆÁ #T05 0 ¤Õ¤É¤­ É÷ÅÚµ­ #KK 1 ¤Õ¤É¤­ É÷ÅÚµ­ #T35 1 ¤Õ¤Ê ½® #PRE 1 ¤Õ¤Ê Á¥ #PRE 1 ¤Õ¤Ê Ê« #T35 1 ¤Õ¤Ê¤¤ Á¥°æ #JCN 0 ¤Õ¤Ê¤¤ ÉÜÆâ #T35 0 ¤Õ¤Ê¤ª¤« Á¥²¬ #JCN 0 ¤Õ¤Ê¤¬¤¿ ½®·Á #JCN 0 ¤Õ¤Ê¤¿¤Ó Á¥Î¹ #T30 0 ¤Õ¤Ê¤Ç Á¥½Ð #T30 0 ¤Õ¤Ê¤È ½®ÅÏ #JNS 0 ¤Õ¤Ê¤È Á¥ÅÏ #JNS 0 ¤Õ¤Ê¤Ë Á¥²Ù #T35 0 ¤Õ¤Ê¤Î¤ê Á¥¾è¤ê #T35 1 ¤Õ¤Ê¤Ï¤· ½®¶¶ #JCN 0 ¤Õ¤Ê¤Ð¤· Á¥¶¶ #JCN 0 ¤Õ¤Ê¤Ó¤ó Á¥ÊØ #T35 0 ¤Õ¤Ê¤Û Á¥Êæ #JNS 0 ¤Õ¤Ê¤è¤¤ Á¥¿ì¤¤ #T30 0 ¤Õ¤Ê¤ì ÉÔ´·¤ì #T05 1 ¤Õ¤Ë¤å¤¦ Á¥À¸ #JNS 0 ¤Õ¤Ë¤ó ÉëǤ #T30 1 ¤Õ¤Ë¤ó ÉÔÇ¥ #T35 1 ¤Õ¤Ì¤± ç¥È´¤± #KS 0 ¤Õ¤Ì¤± ç¥È´¤± #T15 0 ¤Õ¤Í ½® #T35 4 ¤Õ¤Í Á¥ #T35 6 ¤Õ¤Í¤Ò¤­ Á¥°ú #JCN 0 ¤Õ¤Í¤ó ÉÔdz #T35 0 ¤Õ¤Î ÉÛÌî #JCN 0 ¤Õ¤Î¤¦ ÉÔǽ #T05 4 ¤Õ¤Ï¤¤ ÉåÇÔ #T30 0 ¤Õ¤Ï¤¤ ÉÔÇÔ #T35 0 ¤Õ¤Ï¤Ä ÉÔȯ #T35 0 ¤Õ¤Ò¤Ä¤è¤¦ ÉÔɬÍ× #T05 8 ¤Õ¤Ò¤ç¤¦ ÉÔɾ #T05 1 ¤Õ¤Ò¤ç¤¦ ÉÕɽ #T35 0 ¤Õ¤Ò¤ç¤¦ Éíɼ #T35 0 ¤Õ¤Ò¤ç¤¦ Êâʼ #T35 0 ¤Õ¤Ó ÉÔÈ÷ #T05 8 ¤Õ¤Ó¤ç¤¦¤É¤¦ ÉÔÊ¿Åù #T05 1 ¤Õ¤Ó¤ó ÉÔØâ #T15 0 ¤Õ¤Õ¤¯ ÉÔÉþ #T05 0 ¤Õ¤Ö ¿áÀã #K5 1 ¤Õ¤Ö¤­ ¿áÀã #T35 1 ¤Õ¤Ø¤¤ ÉÔÊ¿ #T05 4 ¤Õ¤Ø¤ó ÉÔÊÑ #T05 10 ¤Õ¤Ø¤ó ÉãÊÒ #T35 1 ¤Õ¤Ø¤ó ÉáÊ× #T35 5 ¤Õ¤Ù¤ó ÉÔÊØ #T05 21 ¤Õ¤Û¤¦ ÉÔË¡ #T05 1 ¤Õ¤Û¤¦ ë¾Êó #T35 2 ¤Õ¤Û¤ó¤¤ ÉÔËÜ°Õ #T05 1 ¤Õ¤Ü ÉãÊì #T35 1 ¤Õ¤Þ¤¨ ¤Õ¤Þ¤¨ #KS 1 ¤Õ¤Þ¤¨ Ƨ¤Þ¤¨ #KS 2 ¤Õ¤Þ¤ó ÉÔËþ #T05 16 ¤Õ¤ß ¤Õ¤ß #JNM 0 ¤Õ¤ß ¥Õ¥ß #JNM 0 ¤Õ¤ß ʸ #T35 2 ¤Õ¤ß¤¢¤­ ʸ¾¼ #JNM 0 ¤Õ¤ß¤¨ Ƨ¤ß³¨ #T35 0 ¤Õ¤ß¤ª Æó»°ÃË #JNM 0 ¤Õ¤ß¤ª ʸÃË #JNM 0 ¤Õ¤ß¤ª ʸÉ× #JNM 0 ¤Õ¤ß¤ª ʸͺ #JNM 0 ¤Õ¤ß¤­ Ƨ¤ßÀÚ #R5r 1 ¤Õ¤ß¤­¤ê ƧÀÚ #T35 1 ¤Õ¤ß¤³ ¤Õ¤ß»Ò #JNM 0 ¤Õ¤ß¤³ ÉÙÈþ»Ò #JNM 0 ¤Õ¤ß¤³ ÉÚÈþ»Ò #JNM 0 ¤Õ¤ß¤³ ʸ»Ò #JNM 0 ¤Õ¤ß¤³ Ƨ¤ß¹þ #M5r 1 ¤Õ¤ß¤· Æó»°»Í #JNM 0 ¤Õ¤ß¤¿¤ª Ƨ¤ßÅÝ #S5r 0 ¤Õ¤ß¤¿¤« ʸ¹§ #JNM 0 ¤Õ¤ß¤¿¤« ʸδ #JNM 0 ¤Õ¤ß¤À Ƨ¤ß½Ð #S5 0 ¤Õ¤ß¤À¤¤ Æ§Âæ #T35 0 ¤Õ¤ß¤Ä¤± Ƨ¤ß¤Ä¤± #KSr 0 ¤Õ¤ß¤Å¤­ ʸ·î #T35 0 ¤Õ¤ß¤È¤É¤Þ Ƨ¤ß¤È¤É¤Þ #R5 0 ¤Õ¤ß¤Ë¤¸ Ƨ¤ß¤Ë¤¸ #R5 1 ¤Õ¤ß¤Ï¤º Ƨ¤ß³° #S5r 1 ¤Õ¤ß¤Ò¤³ ʸɧ #JNM 0 ¤Õ¤ß¤ä¤¹ ʸ¹¯ #JNM 0 ¤Õ¤ß¤è ÉÞ»°Âå #JNM 0 ¤Õ¤ß¤ó ÉÔ̲ #T35 0 ¤Õ¤à¤­ ÉÔ¸þ¤­ #T05 1 ¤Õ¤á¤¤ ÉÔÌÀ #T05 69 ¤Õ¤á¤¤¤«¤¯ ÉÔÌÀ³Î #T05 7 ¤Õ¤á¤¤¤è ÉÔ̾ÍÀ #T05 0 ¤Õ¤á¤¤¤ê¤ç¤¦ ÉÔÌÀÎÆ #T05 3 ¤Õ¤á¤Ä ÉÔÌÇ #T05 1 ¤Õ¤á¤ó ÉèÌÌ #T35 0 ¤Õ¤â¤¦ ÉÔÌÓ #T05 2 ¤Õ¤â¤È ϼ #T35 5 ¤Õ¤â¤ó ÉÔÌä #T35 0 ¤Õ¤ä ¿£¤ä #S5 0 ¤Õ¤ä ¤Õ¤ä #S5 1 ¤Õ¤ä Áý¤ä #S5 36 ¤Õ¤ä¤± ¤Õ¤ä¤± #KS 0 ¤Õ¤æ Åß #T35 20 ¤Õ¤æ¤¦ ÉÙ͵ #T05 1 ¤Õ¤æ¤¦ ÉâÍ· #T30 3 ¤Õ¤æ¤«¤¤ ÉÔÌû²÷ #T05 2 ¤Õ¤æ¤­¤È¤É¤­ ÉÔ¹ÔÆÏ¤­ #T05 0 ¤Õ¤æ¤Ð Åß¾ì #T35 1 ¤Õ¤æ¤â¤Î Åßʪ #T35 0 ¤Õ¤æ¤ä¤¹¤ß ÅßµÙ¤ß #T35 1 ¤Õ¤æ¤ä¤Þ Åß»³ #T35 0 ¤Õ¤è ÉÕÍ¿ #T30 1 ¤Õ¤è¤¦ ÉÔÍÑ #T05 0 ¤Õ¤è¤¦ ÉÔÍ× #T05 43 ¤Õ¤è¤¦ ÉÞÍÜ #T30 3 ¤Õ¤è¤¦¤¤ ÉÔÍÑ°Õ #T05 1 ¤Õ¤è¤¦¤É ÉåÍÕÅÚ #T35 0 ¤Õ¤é¤¤ ¥Õ¥é¥¤ #T35 4 ¤Õ¤é¤¤¤È ¥Õ¥é¥¤¥È #T35 4 ¤Õ¤é¤¤¤Ñ¤ó ¥Õ¥é¥¤¥Ñ¥ó #T35 2 ¤Õ¤é¤¤¤ó¤° ¥Õ¥é¥¤¥ó¥° #T30 1 ¤Õ¤é¤¯¤¿¤ë ¥Õ¥é¥¯¥¿¥ë #T05 2 ¤Õ¤é¤° ¥Õ¥é¥° #T35 128 ¤Õ¤é¤°¤á¤ó¤Æ¡¼¤·¤ç¤ó ¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó #T35 1 ¤Õ¤é¤°¤á¤ó¤È ¥Õ¥é¥°¥á¥ó¥È #T35 3 ¤Õ¤é¤Ã¤° ¥Õ¥é¥Ã¥° #T35 2 ¤Õ¤é¤Ã¤·¤å ¥Õ¥é¥Ã¥·¥å #T30 2 ¤Õ¤é¤Ã¤È ¥Õ¥é¥Ã¥È #T05 3 ¤Õ¤é¤Ã¤È ¢õ #T35 1 ¤Õ¤é¤Ä ¤Õ¤é¤Ä #K5r 2 ¤Õ¤é¤Î ÉÙÎÉÌî #CN 0 ¤Õ¤é¤Õ¤é ¤Õ¤é¤Õ¤é #F04 0 ¤Õ¤é¤Õ¤é ¤Õ¤é¤Õ¤é #T16 0 ¤Õ¤é¤ß¤ó¤´ ¥Õ¥é¥ß¥ó¥´ #T35 0 ¤Õ¤é¤á¤ó¤³ ¥Õ¥é¥á¥ó¥³ #T35 0 ¤Õ¤é¤ê ¤Õ¤é¤ê #F06 0 ¤Õ¤é¤ï¡¼ ¥Õ¥é¥ï¡¼ #T35 1 ¤Õ¤é¤ó ¥Õ¥é¥ó #JS 1 ¤Õ¤é¤ó ÉåÍð #T30 0 ¤Õ¤é¤ó ÉÔÍð #T35 0 ¤Õ¤é¤ó¤¯ ¥Õ¥é¥ó¥¯ #T05 1 ¤Õ¤é¤ó¤¹ ¥Õ¥é¥ó¥¹ #CN 0 ¤Õ¤é¤ó¤¹¤´ ¥Õ¥é¥ó¥¹¸ì #KK 2 ¤Õ¤é¤ó¤½¤ï¡¼¤º ¥Õ¥é¥ó¥½¥ï¡¼¥º #JN 0 ¤Õ¤ê ÉÔÍø #T05 3 ¤Õ¤ê ¤Õ¤ê #T30 5 ¤Õ¤ê¡¼ ¥Õ¥ê¡¼ #T05 43 ¤Õ¤ê¡¼¤¯ ¥Õ¥ê¡¼¥¯ #T35 2 ¤Õ¤ê¡¼¤¹ ¥Õ¥ê¡¼¥¹ #T35 0 ¤Õ¤ê¡¼¤º ¥Õ¥ê¡¼¥º #T30 0 ¤Õ¤ê¡¼¤À¤à ¥Õ¥ê¡¼¥À¥à #T35 101 ¤Õ¤ê¤¨¤­ ÉÔÍø±× #T35 2 ¤Õ¤ê¤«¤¨ ¿¶¤êÂØ¤¨ #KSr 1 ¤Õ¤ê¤«¤¨ ¿¶¤êÊÖ #R5r 1 ¤Õ¤ê¤«¤¨ ¿¶ÂØ #T35 2 ¤Õ¤ê¤«¤« ¹ß¤ê³Ý¤« #R5 0 ¤Õ¤ê¤«¤± ¿¶¤ê¤«¤± #KSr 0 ¤Õ¤ê¤«¤¿ ¿¶¤êÊý #T35 1 ¤Õ¤ê¤­ ¿¶¤êÀÚ #R5 0 ¤Õ¤ê¤³ ¿¶¤ê¹þ #M5r 6 ¤Õ¤ê¤³¤ß ¿¶¹þ #T30 3 ¤Õ¤ê¤¹¤Ó¡¼ ¥Õ¥ê¥¹¥Ó¡¼ #T35 1 ¤Õ¤ê¤½¤½ ¹ß¤êÃí #G5 0 ¤Õ¤ê¤½¤Ç ¿¶Âµ #T35 0 ¤Õ¤ê¤À ¹ß¤ê½Ð #S5 2 ¤Õ¤ê¤À ¿¶¤ê½Ð #S5r 0 ¤Õ¤ê¤À¤· ¿¶½Ð #T35 0 ¤Õ¤ê¤Ã¤×¤Õ¤í¤Ã¤× ¥Õ¥ê¥Ã¥×¥Õ¥í¥Ã¥× #T35 1 ¤Õ¤ê¤Ä ÉÜΩ #T35 3 ¤Õ¤ê¤Ä¤± ¿¶ÉÕ¤± #T30 0 ¤Õ¤ê¤Ï¤é ¿¶¤êʧ #W5 0 ¤Õ¤ê¤Þ ¿¶¤ê¤Þ #K5 0 ¤Õ¤ê¤Þ¤ï ¿¶¤ê²ó #S5 1 ¤Õ¤ê¤ß¤À ¿¶¤êÍð #S5 0 ¤Õ¤ê¤à ¤Õ¤ê¤à #K5 1 ¤Õ¤ê¤à ¿¶¤ê¸þ #K5 2 ¤Õ¤ê¤ç ÉÔθ #T35 1 ¤Õ¤ê¤ç¤¦ ÉÔÎÉ #T15 10 ¤Õ¤ê¤ç¤¦ ÉÔµù #T35 0 ¤Õ¤ê¤ç¤¯ ÉâÎÏ #T35 0 ¤Õ¤ê¤ï¤± ¿¶¤êʬ¤± #KSr 3 ¤Õ¤ê¤ó ÉÔÎÑ #T00 1 ¤Õ¤ë µì #KY 0 ¤Õ¤ë ¸Å #KYmime 138 ¤Õ¤ë ¥Õ¥ë #PRE 4 ¤Õ¤ë ¥Õ¥ë #T35 7 ¤Õ¤ë ¸Å #T35 81 ¤Õ¤ë ʳ #W5 1 ¤Õ¤ë ¿Ì #W5 12 ¤Õ¤ë ¿¶¤ë #W5 2 ¤Õ¤ë¡¼¤Ä ¥Õ¥ë¡¼¥Ä #T35 2 ¤Õ¤ë¡¼¤È ¥Õ¥ë¡¼¥È #T35 0 ¤Õ¤ë¤¤¤ª¤³ ʳ¤¤µ¯¤³ #S5 0 ¤Õ¤ë¤¤¤ª¤È ¤Õ¤ë¤¤Íî¤È #S5r 0 ¤Õ¤ë¤¤¤¿ ʳ¤¤Î© #T5 0 ¤Õ¤ë¤¤¤ï¤± ¤Õ¤ë¤¤Ê¬¤± #KSr 1 ¤Õ¤ë¤¦ ¸Å±§ #JCN 0 ¤Õ¤ë¤¦ µì¤¦ #KYU 0 ¤Õ¤ë¤¦ ¸Å¤¦ #KYU 3 ¤Õ¤ë¤¨ ¿Ì¤¨ #KSr 0 ¤Õ¤ë¤¨¤¢¤¬ ¿Ì¤¨¾å¤¬ #R5 1 ¤Õ¤ë¤ª¤í¤°¤é¤Õ¤£¡¼ ¥Õ¥ë¥ª¥í¥°¥é¥Õ¥£¡¼ #T35 1 ¤Õ¤ë¤«¤ï ¸ÅÀî #JCN 0 ¤Õ¤ë¤¯¤µ ¸Å¤¯¤µ #KY 1 ¤Õ¤ë¤µ¤È ¸ÅΤ #T35 0 ¤Õ¤ë¤µ¤ï ¸ÅÂô #JNS 0 ¤Õ¤ë¤¹ ¸ÅÁã #T35 0 ¤Õ¤ë¤¿ ¸ÅÅÄ #JNS 0 ¤Õ¤ë¤Æ ¸Å¼ê #T35 0 ¤Õ¤ë¤É¤Î ¸ÅÅ #JCN 0 ¤Õ¤ë¤Î ¸ÅÌî #JNS 0 ¤Õ¤ë¤Ï¤¦¤¹ ¥Õ¥ë¥Ï¥¦¥¹ #T35 1 ¤Õ¤ë¤Ï¤· ¸Å¶¶ #JNS 0 ¤Õ¤ë¤Ï¤¿ ¸ÅȪ #JNS 0 ¤Õ¤ë¤Ó ¸Å¤Ó #KS 1 ¤Õ¤ë¤Ó¤é ¸ÅÊ¿ #JCN 0 ¤Õ¤ë¤Û¤ó ¸ÅËÜ #T35 0 ¤Õ¤ë¤Þ ¤Õ¤ë¤Þ #W5r 0 ¤Õ¤ë¤Þ ¿¶¤ëÉñ #W5r 1 ¤Õ¤ë¤Þ ¿¶Éñ #W5r 14 ¤Õ¤ë¤Þ¤¤ ¿¶Éñ #T35 4 ¤Õ¤ë¤à¤é ¸Å¼ #JNS 0 ¤Õ¤ë¤á¤«¤· ¸Å¤á¤«¤· #KY 0 ¤Õ¤ë¤á¤«¤·¤å¤¦ ¸Å¤á¤«¤·¤å¤¦ #KYU 0 ¤Õ¤ë¤ä ¸Å²° #JNS 0 ¤Õ¤ë¤ä ¸Åë #JNS 0 ¤Õ¤ë¤ä ¸Å²° #T35 0 ¤Õ¤ë¤ä¤Þ ¸Å»³ #JNS 0 ¤Õ¤ë¤ï ¿Ì¤ï #S5 2 ¤Õ¤ì ¿¨¤ì #KS 39 ¤Õ¤ì¡¼¤¯ ¥Õ¥ì¡¼¥¯ #T35 1 ¤Õ¤ì¡¼¤Þ ¥Õ¥ì¡¼¥Þ #T35 2 ¤Õ¤ì¡¼¤Þ¡¼ ¥Õ¥ì¡¼¥Þ¡¼ #T35 2 ¤Õ¤ì¡¼¤à ¥Õ¥ì¡¼¥à #T35 59 ¤Õ¤ì¤¢ ¿¨¤ì¹ç #W5r 1 ¤Õ¤ì¤¢¤¤ ¤Õ¤ì¹ç¤¤ #T35 4 ¤Õ¤ì¤³ ¿¨¤ì¹þ #M5r 0 ¤Õ¤ì¤Ã¤¯¤¹ ¥Õ¥ì¥Ã¥¯¥¹ #T15 0 ¤Õ¤ì¤ó¤¾¤¯ ÉÔϢ³ #T05 2 ¤Õ¤ì¤ó¤Á ¥Õ¥ì¥ó¥Á #T35 1 ¤Õ¤ì¤ó¤É ¥Õ¥ì¥ó¥É #T35 0 ¤Õ¤í É÷Ϥ #T35 8 ¤Õ¤í¡¼ ¥Õ¥í¡¼ #T35 20 ¤Õ¤í¡¼¤Æ¤£¤ó¤° ¥Õ¥í¡¼¥Æ¥£¥ó¥° #T35 1 ¤Õ¤í¡¼¤é ¥Õ¥í¡¼¥é #T35 1 ¤Õ¤í¤¢ ¥Õ¥í¥¢ #T35 8 ¤Õ¤í¤¢¡¼ ¥Õ¥í¥¢¡¼ #T35 8 ¤Õ¤í¤¦ Éâϲ #T30 0 ¤Õ¤í¤¦ ÉÔÏ« #T35 0 ¤Õ¤í¤¦ ÉÔÏ· #T35 1 ¤Õ¤í¤¯ ÉÕÏ¿ #T35 23 ¤Õ¤í¤·¤­ É÷ϤÉß #T35 1 ¤Õ¤í¤Ã¤Ô ¥Õ¥í¥Ã¥Ô #T35 4 ¤Õ¤í¤Ã¤Ô¡¼ ¥Õ¥í¥Ã¥Ô¡¼ #T35 22 ¤Õ¤í¤Ã¤Ô¤£ ¥Õ¥í¥Ã¥Ô¥£ #T35 5 ¤Õ¤í¤ó¤È ¥Õ¥í¥ó¥È #T35 30 ¤Õ¤ï ÉÔÇË #JCN 0 ¤Õ¤ï ÉÔÏ #T05 1 ¤Õ¤ï¤¯ ÉÔÏÇ #T35 0 ¤Õ¤ï¤¿¤ê ÉÔÅϤê #T35 0 ¤Õ¤ï¤Õ¤ï ¥Õ¥ï¥Õ¥ï #F14 1 ¤Õ¤ï¤Õ¤ï ¥Õ¥ï¥Õ¥ï #T16 0 ¤Õ¤ï¤é¤¤¤É¤¦ ÉÕÏÂÍëÆ± #T30 1 ¤Õ¤ï¤ê¤È ¤Õ¤ï¤ê¤È #F14 0 ¤Õ¤ó ¡ì #JS 1 ¤Õ¤ó ʬ #JS 74 ¤Õ¤ó Ê­ #KJ 0 ¤Õ¤ó Ê® #KJ 0 ¤Õ¤ó ʰ #KJ 0 ¤Õ¤ó ʲ #KJ 0 ¤Õ¤ó ʳ #KJ 0 ¤Õ¤ó Ê´ #KJ 0 ¤Õ¤ó ʶ #KJ 0 ¤Õ¤ó Ê· #KJ 0 ¤Õ¤ó ʯ #KJ 1 ¤Õ¤ó ʱ #S5 8 ¤Õ¤ó ʰ #SX 0 ¤Õ¤ó ʱ #T30 8 ¤Õ¤ó ʵ #T35 0 ¤Õ¤ó ¡ì #T35 1 ¤Õ¤ó ʬ #T35 30 ¤Õ¤ó¤¤¤­ Ê·°Ïµ¤ #T35 24 ¤Õ¤ó¤¨¤ó Ê®±ì #T35 0 ¤Õ¤ó¤« Ê®²Ð #T30 1 ¤Õ¤ó¤¬¤¤ ʰ³´ #T30 3 ¤Õ¤ó¤­ ʳµ¯ #T30 0 ¤Õ¤ó¤­ Ê®µ¤ #T35 0 ¤Õ¤ó¤® ¤Õ¤óÀÚ #R5r 0 ¤Õ¤ó¤µ¤¤ Ê´ºÕ #T30 0 ¤Õ¤ó¤·¤Ä ʶ¼º #T30 5 ¤Õ¤ó¤·¤ã Ê®¼Í #T30 1 ¤Õ¤ó¤·¤å¤Ä Ê®½Ð #T30 2 ¤Õ¤ó¤·¤ç¤¯ Ê´¾þ #T30 0 ¤Õ¤ó¤¹¤¤ Ê®¿å #T35 0 ¤Õ¤ó¤¼¤ó ʰÁ³ #F00 0 ¤Õ¤ó¤¼¤ó ʳÁ³ #F00 0 ¤Õ¤ó¤½¤¦ ʱÁõ #T30 0 ¤Õ¤ó¤½¤¦ ʶÁè #T30 1 ¤Õ¤ó¤½¤¯ ʭ¦ #T35 1 ¤Õ¤ó¤¾¤ê¤«¤¨ ¤Õ¤ó¤¾¤êÊÖ #R5 0 ¤Õ¤ó¤À¤ó ¤Õ¤ó¤À¤ó #T05 2 ¤Õ¤ó¤È¤¦ ʳƮ #T30 1 ¤Õ¤ó¤É¤¦ ʬƼ #T35 0 ¤Õ¤ó¤É¤· êî #T35 0 ¤Õ¤ó¤Ë¤å¤¦ Ê´Æý #T35 0 ¤Õ¤ó¤Ñ¤Ä ʳȯ #T30 1 ¤Õ¤ó¤×¤ó ʶ¡¹ #T00 0 ¤Õ¤ó¤Ù¤Ä ʬÊÌ #T30 0 ¤Õ¤ó¤Þ¤Ä Ê´Ëö #T35 0 ¤Õ¤ó¤Þ¤ó ʰØð #T35 0 ¤Õ¤ó¤à ʮ̸ #T30 1 ¤Õ¤ó¤ï¤ê ¤Õ¤ó¤ï¤ê #F04 0 ¤Õ¤ó¤ï¤ê ¤Õ¤ó¤ï¤ê #T16 0 ¤Ö ʬ #JS 1 ¤Ö Êâ #JS 1 ¤Ö Éô #JS 255 ¤Ö ²ù #KJ 0 ¤Ö Éî #KJ 0 ¤Ö Éï #KJ 0 ¤Ö Éñ #KJ 0 ¤Ö Éò #KJ 0 ¤Ö Éó #KJ 0 ¤Ö Êâ #KJ 0 ¤Ö ÉÔ #KJ 1 ¤Ö ̵ #KJ 1 ¤Ö Éð #KJ 6 ¤Ö ÉÔ #PRE 0 ¤Ö Éô #SUC 0 ¤Ö ʬ #T35 1 ¤Ö Éô #T35 2 ¤Ö¡¼¤¹ ¥Ö¡¼¥¹ #T35 6 ¤Ö¡¼¤¹¤¿ ¥Ö¡¼¥¹¥¿ #T35 3 ¤Ö¡¼¤¹¤¿¡¼ ¥Ö¡¼¥¹¥¿¡¼ #T35 3 ¤Ö¡¼¤Ä ¥Ö¡¼¥Ä #T35 3 ¤Ö¡¼¤È ¥Ö¡¼¥È #T30 9 ¤Ö¡¼¤à ¥Ö¡¼¥à #T35 2 ¤Ö¤¢¤¤ Êâ¹ç #T35 0 ¤Ö¤¢¤¤¤½¤¦ ̵°¦ÁÛ #T05 2 ¤Ö¤¢¤Ä ʬ¸ü #KYmi 2 ¤Ö¤¢¤Ä¤¦ ʬ¸ü¤¦ #KYU 1 ¤Ö¤¤ Éô°Ì #T35 0 ¤Ö¤¤¤ó Éô°÷ #T35 1 ¤Ö¤¨¤ó¤ê¤ç ̵±óθ #T05 0 ¤Ö¤« ¿¼ #KY 6 ¤Ö¤« Éô²¼ #T35 3 ¤Ö¤«¤¤ Éô²ñ #T35 3 ¤Ö¤«¤ó Éð´Á #CN 0 ¤Ö¤¬¤¤ Éô³° #T35 3 ¤Ö¤­ Éð´ï #T35 4 ¤Ö¤­¤ß ÉÔµ¤Ì£ #T05 3 ¤Ö¤­¤ç¤¯ Éô¶É #T35 2 ¤Ö¤­¤è¤¦ ÉÔ´ïÍÑ #T05 1 ¤Ö¤­¤ê¤ç¤¦ ÉÔ´ïÎÌ #T05 0 ¤Ö¤¯¤ß ´Þ¤ß #SUC 0 ¤Ö¤¯¤í ÂÞ #T35 0 ¤Ö¤³¤¦ ¿¼¤¦ #KYU 1 ¤Ö¤³¤¯ ëØ¹ð #T30 0 ¤Ö¤µ¤¤¤¯ ÉÔºÙ¹© #T05 0 ¤Ö¤µ¤Û¤¦ ̵ºîË¡ #T05 0 ¤Ö¤¶¡¼ ¥Ö¥¶¡¼ #T35 1 ¤Ö¤¶¤Þ ÉÔÍÍ #T05 0 ¤Ö¤· Àá #JNSUC 4 ¤Ö¤· Éð»Î #T35 1 ¤Ö¤·¤Ä Éô¼¼ #T35 0 ¤Ö¤·¤Ä¤± ¤Ö¤·¤Ä¤± #T05 0 ¤Ö¤·¤å Éô¼ó #T35 123 ¤Ö¤·¤ç Éô½ê #T35 15 ¤Ö¤·¤ç Éô½ð #T35 20 ¤Ö¤·¤ç¤¦ ÉÔÀº #T05 4 ¤Ö¤·¤ç¤¦ Éð¾­ #T35 4 ¤Ö¤¸ ̵»ö #T05 43 ¤Ö¤¸¤ç¤¯ Éî¿« #T30 0 ¤Ö¤¹ ¥Ö¥¹ #T35 2 ¤Ö¤¹¤¤ ÉÔ¿è #T05 0 ¤Ö¤¹¤¦ Éô¿ô #T35 8 ¤Ö¤»¤¤ ÉôÀ© #JS 0 ¤Ö¤¼¤ó Ë­Á° #JCN 0 ¤Ö¤½¤¦ ÉðÁõ #T30 1 ¤Ö¤½¤¯ ÉÔ­ #N2T16 7 ¤Ö¤½¤¯ ÉÔ­ #T10 1 ¤Ö¤½¤¯ ¤Ö¤½¤¯ #T10 20 ¤Ö¤¾¤¯ Éô² #T35 1 ¤Ö¤¿ ³¸ #SUC 2 ¤Ö¤¿ ¤Ö¤¿ #SUC 3 ¤Ö¤¿ ÆÚ #T35 2 ¤Ö¤¿¤¤ ÉôÂâ #T35 5 ¤Ö¤¿¤¤ ÉñÂæ #T35 6 ¤Ö¤¿¤­¤à¤Á ÆÚ¥­¥à¥Á #T35 0 ¤Ö¤¿¤Ë¤¯ ÆÚÆù #T35 0 ¤Ö¤Á Èà #T35 13 ¤Ö¤Á¤ç¤¦ ÉôĹ #T35 71 ¤Ö¤Ã¤« ʪ²Á #T35 0 ¤Ö¤Ã¤«¤¯ Ê©³Õ #T35 0 ¤Ö¤Ã¤­¤ç¤¦ Ê©¶µ #T35 1 ¤Ö¤Ã¤­¤é¤Ü¤¦ ¤Ö¤Ã¤­¤é¤Ü¤¦ #T05 0 ¤Ö¤Ã¤¯ ¥Ö¥Ã¥¯ #T35 24 ¤Ö¤Ã¤¯¤¹ ¥Ö¥Ã¥¯¥¹ #T35 1 ¤Ö¤Ã¤±¤ó ʪ·ï #T35 226 ¤Ö¤Ã¤· Ê©»Õ #T35 1 ¤Ö¤Ã¤· ʪ»ñ #T35 1 ¤Ö¤Ã¤·¤Ä ʪ¼Á #T35 2 ¤Ö¤Ã¤·¤ç¤¦ ʪ¾Ú #T35 0 ¤Ö¤Ã¤·¤ç¤¯ ʪ¿§ #T30 1 ¤Ö¤Ã¤»¤¤ ʪÀ­ #T35 0 ¤Ö¤Ã¤½¤¦ ʪÁû #T05 0 ¤Ö¤Ã¤¿¤¤ ʪÂÎ #T35 13 ¤Ö¤Ã¤¿¤® ¤Ö¤Ã¤¿ÀÚ #R5r 0 ¤Ö¤Ã¤À Ê©ÂË #T35 1 ¤Ö¤Ã¤Á¤ã¤± ¤Ö¤Ã¤Á¤ã¤± #KS 0 ¤Ö¤Ã¤Ä¤± ¤Ö¤Ã¤Ä¤± #KSr 0 ¤Ö¤Ã¤Æ¤­ ʪŪ #T05 0 ¤Ö¤Ã¤È ¤Ö¤ÃÈô #B5 0 ¤Ö¤Ã¤È¤ª ¤Ö¤ÃÄÌ #S5r 0 ¤Ö¤Ã¤Ô¤ó ʪÉÊ #T35 3 ¤Ö¤Ä ÌÞ #KJ 0 ¤Ö¤Ä Ê© #KJ 2 ¤Ö¤Ä ʪ #SUC 45 ¤Ö¤Ä ʪ #T35 0 ¤Ö¤Ä¤« ¤Ö¤Ä¤« #R5r 4 ¤Ö¤Ä¤® ʪµÄ #T35 2 ¤Ö¤Ä¤± ¤Ö¤Ä¤± #KS 2 ¤Ö¤Ä¤¾¤¦ Ê©Áü #T35 0 ¤Ö¤Ä¤À¤ó Ê©ÃÅ #T35 0 ¤Ö¤Ä¤Ö¤Ä ¤Ö¤Ä¤Ö¤Ä #F14 1 ¤Ö¤Ä¤Ö¤Ä ¤Ö¤Ä¤Ö¤Ä #T16 0 ¤Ö¤Ä¤á¤Ä Ê©ÌÇ #T35 1 ¤Ö¤Ä¤ê ʪÍý #T35 99 ¤Ö¤Ä¤ê¤ç¤¦ ʪÎÌ #T35 0 ¤Ö¤Ä¤ê¤ç¤¦ ʪÎÅ #T35 1 ¤Ö¤Æ¤£¤Ã¤¯ ¥Ö¥Æ¥£¥Ã¥¯ #T35 1 ¤Ö¤È ÂÀ #KY 0 ¤Ö¤È¤¦ ÂÀ¤¦ #KYU 1 ¤Ö¤É¤¦ Éòƺ #T35 1 ¤Ö¤É¤¦ ÉðÆ» #T35 2 ¤Ö¤É¤Þ¤ê Êâα¤Þ¤ê #T35 1 ¤Ö¤Ê Ûø #T35 0 ¤Ö¤Ê¤¤ ÉôÆâ #T35 24 ¤Ö¤Ê¤ó ̵Æñ #T05 4 ¤Ö¤Í Á¥ #T35 0 ¤Ö¤Ð¤¤¤¬¤ï¤é ʬÇܲϸ¶ #JCN 0 ¤Ö¤Ò ÉôÈñ #T35 8 ¤Ö¤Ò¤ó ÉôÉÊ #T35 42 ¤Ö¤Õ¤¦¤ê¤å¤¦ ̵É÷ή #T05 0 ¤Ö¤Ö¤ó Éôʬ #T35 255 ¤Ö¤â¤ó ÉôÌç #T35 39 ¤Ö¤è¤¦ ÉñÍÙ #T35 1 ¤Ö¤è¤¦¤¸¤ó ÉÔÍÑ¿´ #T05 0 ¤Ö¤é¤¤ ̵Íê #T05 0 ¤Ö¤é¤¤¤¢¤ó ¥Ö¥é¥¤¥¢¥ó #JN 0 ¤Ö¤é¤¤¤ó¤É ¥Ö¥é¥¤¥ó¥É #T35 4 ¤Ö¤é¤¦¤¶ ¥Ö¥é¥¦¥¶ #T35 5 ¤Ö¤é¤¦¤¶¡¼ ¥Ö¥é¥¦¥¶¡¼ #T35 5 ¤Ö¤é¤¦¤¹ ¥Ö¥é¥¦¥¹ #T30 1 ¤Ö¤é¤¯ ÉôÍî #T35 0 ¤Ö¤é¤µ¤¬ ¤Ö¤é²¼¤¬ #R5r 2 ¤Ö¤é¤µ¤² ¤Ö¤é²¼¤² #KSr 1 ¤Ö¤é¤¶¡¼ ¥Ö¥é¥¶¡¼ #JN 0 ¤Ö¤é¤¸¤ã¡¼ ¥Ö¥é¥¸¥ã¡¼ #T35 1 ¤Ö¤é¤¸¤ë ¥Ö¥é¥¸¥ë #CN 0 ¤Ö¤é¤Ã¤¯ ¥Ö¥é¥Ã¥¯ #T05 10 ¤Ö¤é¤Ö¤é ¤Ö¤é¤Ö¤é #F04 0 ¤Ö¤é¤Ö¤é ¤Ö¤é¤Ö¤é #T16 0 ¤Ö¤é¤ê ¤Ö¤é¤ê #F04 0 ¤Ö¤é¤ó¤¯ ¥Ö¥é¥ó¥¯ #T05 14 ¤Ö¤é¤ó¤Ç¡¼ ¥Ö¥é¥ó¥Ç¡¼ #T35 1 ¤Ö¤é¤ó¤É ¥Ö¥é¥ó¥É #T35 2 ¤Ö¤ê ¤Ö¤ê #SUC 0 ¤Ö¤ê ¿¶¤ê #SUC 1 ¤Ö¤ê¤«¤¨ ¤Ö¤êÊÖ #S5r 0 ¤Ö¤ê¤Â¤¹¤È¤ó ¥Ö¥ê¥Â¥¹¥È¥ó #KK 1 ¤Ö¤ê¤Ã¤¸ ¥Ö¥ê¥Ã¥¸ #T30 4 ¤Ö¤ê¤ç¤¯ ÉðÎÏ #T35 0 ¤Ö¤ë¡¼ ¥Ö¥ë¡¼ #T05 3 ¤Ö¤ë¡¼¤Ù¤ê¡¼ ¥Ö¥ë¡¼¥Ù¥ê¡¼ #T35 0 ¤Ö¤ë¤¤ ÉôÎà #T35 3 ¤Ö¤ë¤¬¤ê¤¢ ¥Ö¥ë¥¬¥ê¥¢ #CN 0 ¤Ö¤ë¤Þ¤¤ ¿¶Éñ¤¤ #N2T30 1 ¤Ö¤ì ¤Ö¤ì #KSr 0 ¤Ö¤ì¡¼¤« ¥Ö¥ì¡¼¥« #T35 1 ¤Ö¤ì¡¼¤«¡¼ ¥Ö¥ì¡¼¥«¡¼ #T35 1 ¤Ö¤ì¡¼¤­ ¥Ö¥ì¡¼¥­ #T35 4 ¤Ö¤ì¡¼¤¯ ¥Ö¥ì¡¼¥¯ #T30 4 ¤Ö¤ì¤¤ ̵Îé #T05 10 ¤Ö¤ì¤¤¤¯ ¥Ö¥ì¥¤¥¯ #T30 0 ¤Ö¤ì¤¤¤³¤¦ ̵Îé¹Ö #T35 0 ¤Ö¤í É÷Ϥ #T35 7 ¤Ö¤í¡¼¤« ¥Ö¥í¡¼¥« #T35 0 ¤Ö¤í¡¼¤«¡¼ ¥Ö¥í¡¼¥«¡¼ #T35 0 ¤Ö¤í¡¼¤É¤­¤ã¤¹¤È ¥Ö¥í¡¼¥É¥­¥ã¥¹¥È #T30 22 ¤Ö¤í¤Ã¤¯ ¥Ö¥í¥Ã¥¯ #T30 47 ¤Ö¤ó ʬ #JS 158 ¤Ö¤ó ²ã #KJ 0 ¤Ö¤ó ʹ #KJ 1 ¤Ö¤ó ʸ #T35 255 ¤Ö¤ó ʬ #T35 4 ¤Ö¤ó¤¢¤Ä ʬ°µ #T35 1 ¤Ö¤ó¤¤ ʸ°Õ #T35 3 ¤Ö¤ó¤¤¤Á ʸ°ì #JNM 0 ¤Ö¤ó¤¨¤ó ʬ±ì #T30 4 ¤Ö¤ó¤« ʬ²½ #T30 1 ¤Ö¤ó¤« ʸ²Ê #T35 0 ¤Ö¤ó¤« ʸ²½ #T35 20 ¤Ö¤ó¤« ʬ²Ê #T35 3 ¤Ö¤ó¤«¤¤ ʬ²ò #T30 13 ¤Ö¤ó¤«¤¯ ʬ²è #T30 1 ¤Ö¤ó¤«¤¯ ʸ³× #T35 2 ¤Ö¤ó¤«¤¶¤¤ ʸ²½ºâ #T35 0 ¤Ö¤ó¤«¤Ä ʬ³ä #JS 4 ¤Ö¤ó¤«¤Ä ʬ³ä #T30 74 ¤Ö¤ó¤«¤ó ʬ´Û #T35 2 ¤Ö¤ó¤¬¤¯ ʸÕÜ #T35 1 ¤Ö¤ó¤¬¤¯ ʸ³Ø #T35 2 ¤Ö¤ó¤­ ʬ´ô #T30 4 ¤Ö¤ó¤­¤ç¤¦ ʸµþ #CN 0 ¤Ö¤ó¤­¤ç¤¦ ʸ¶µ #T35 13 ¤Ö¤ó¤® ʬÌÚ #JS 6 ¤Ö¤ó¤®¤ç¤¦ ʬ¶È #T30 1 ¤Ö¤ó¤° ʸ¶ñ #T35 0 ¤Ö¤ó¤± ʬ²È #T30 0 ¤Ö¤ó¤±¤¤ ʸ·¿ #T35 2 ¤Ö¤ó¤±¤¤ ʸ·Ï #T35 2 ¤Ö¤ó¤±¤ó ʸ¸¥ #T35 17 ¤Ö¤ó¤²¤¤ ʸ·Ý #T35 1 ¤Ö¤ó¤²¤¤ Ê¸éº #T35 1 ¤Ö¤ó¤²¤¤¤·¤å¤ó¤¸¤å¤¦ ʸ麽ս© #KK 1 ¤Ö¤ó¤³ ʸ¸Ë #T35 5 ¤Ö¤ó¤³¤¦ ʬ¹» #T35 1 ¤Ö¤ó¤³¤Ä ʬ¹ü #T30 0 ¤Ö¤ó¤´ Ë­¸å #CN 0 ¤Ö¤ó¤´ ʸ¸ì #T35 1 ¤Ö¤ó¤´¤¦ ʸ¹ë #T35 4 ¤Ö¤ó¤´¤¿¤«¤À Ë­¸å¹âÅÄ #CN 0 ¤Ö¤ó¤µ¤¤ ʸºÍ #T35 0 ¤Ö¤ó¤µ¤Ä ʬºý #T30 0 ¤Ö¤ó¤µ¤ó ʬ»¶ #T30 104 ¤Ö¤ó¤· ʬ»Ò #T35 2 ¤Ö¤ó¤· ʬ»ì #T35 2 ¤Ö¤ó¤·¤Ä ʬ¼¼ #T35 3 ¤Ö¤ó¤·¤å¤¦ ʬ¼þ #T30 2 ¤Ö¤ó¤·¤å¤¦ ʸ½¸ #T35 0 ¤Ö¤ó¤·¤ç ʸ½ñ #T35 196 ¤Ö¤ó¤·¤ç¤¦ ʸ¾Ï #T35 77 ¤Ö¤ó¤·¤ó ʬ¿È #T30 3 ¤Ö¤ó¤¸ ʸ¼£ #JNM 0 ¤Ö¤ó¤¸ ʸÆó #JNM 0 ¤Ö¤ó¤¸¤ç¤¦ ʬ¾ù #T30 0 ¤Ö¤ó¤¹¤¤ ʬ¿å #JCN 0 ¤Ö¤ó¤¹¤¦ ʬ¿ô #T35 1 ¤Ö¤ó¤»¤­ ʬÀÏ #T30 28 ¤Ö¤ó¤»¤­ ʸÀÕ #T35 1 ¤Ö¤ó¤»¤Ä ʸÀá #T35 255 ¤Ö¤ó¤¿¤¤ ʬÂâ #T35 1 ¤Ö¤ó¤¿¤¤ ʸÂÎ #T35 4 ¤Ö¤ó¤¿¤ó ʬô #T30 27 ¤Ö¤ó¤À¤ó ʬÃÇ #T30 13 ¤Ö¤ó¤À¤ó ʸÃÅ #T35 0 ¤Ö¤ó¤Á¤å¤¦ ʬÃí #T30 1 ¤Ö¤ó¤Á¤å¤¦ Ê¸Ãæ #T35 0 ¤Ö¤ó¤Á¤ó ʸÄÁ #JNM 0 ¤Ö¤ó¤Ä¤¦ ʸÄÌ #T30 1 ¤Ö¤ó¤É ¤Ö¤ó¤É #R5r 1 ¤Ö¤ó¤Î¤¦ ʬǼ #T30 0 ¤Ö¤ó¤Ñ ʬÇÉ #T30 0 ¤Ö¤ó¤Ñ¤¤ ʬÇÛ #T30 2 ¤Ö¤ó¤Ô¤Ä ʬÈç #T30 0 ¤Ö¤ó¤Ô¤Ä ʬɮ #T30 0 ¤Ö¤ó¤Ô¤Ä ʸɮ #T35 0 ¤Ö¤ó¤Ö ʸÉð #T35 0 ¤Ö¤ó¤Ö¤Ä ʸʪ #T35 0 ¤Ö¤ó¤Ö¤ó ¤Ö¤ó¤Ö¤ó #F06 0 ¤Ö¤ó¤× ʬÉÛ #T30 7 ¤Ö¤ó¤Ù¤Ä ʬÊÌ #T30 4 ¤Ö¤ó¤Ù¤ó ʬÊÚ #T30 0 ¤Ö¤ó¤Ú¤¤ ʸʿ #JNM 0 ¤Ö¤ó¤Ü ʬÊì #T35 1 ¤Ö¤ó¤Ü¤¦¤° ʸ˼¶ñ #T35 5 ¤Ö¤ó¤Ý¤¦ ʸˡ #T35 91 ¤Ö¤ó¤Þ¤Ä ʸËö #T35 2 ¤Ö¤ó¤ß¤ã¤¯ ʸ̮ #T35 3 ¤Ö¤ó¤á¤¤ ʸÌÀ #T35 1 ¤Ö¤ó¤á¤ó ʸÌÌ #T35 5 ¤Ö¤ó¤ä ʬÌî #T35 36 ¤Ö¤ó¤è ʬͿ #T30 0 ¤Ö¤ó¤é¤¯ ʸ³Ú #T35 1 ¤Ö¤ó¤ê ʬΥ #T30 7 ¤Ö¤ó¤ê¤Ä ʬΩ #T30 0 ¤Ö¤ó¤ê¤ç¤¦ ʬÎÌ #T35 3 ¤Ö¤ó¤ë¤¤ ʬÎà #T30 55 ¤Ö¤ó¤ì¤¤ ʸÎã #T35 2 ¤Ö¤ó¤ì¤Ä ʬÎö #T30 1 ¤×¡¼¤É¤ë ¥×¡¼¥É¥ë #T35 1 ¤×¡¼¤ë ¥×¡¼¥ë #T30 3 ¤×¤µ¤¤ ¦· #T35 1 ¤×¤µ¤¤ ¦× #T35 1 ¤×¤Ã¤·¤å ¥×¥Ã¥·¥å #T30 7 ¤×¤é¤¤¤ª¤ê¤Æ¤£ ¥×¥é¥¤¥ª¥ê¥Æ¥£ #T35 6 ¤×¤é¤¤¤ª¤ê¤Æ¤£¡¼ ¥×¥é¥¤¥ª¥ê¥Æ¥£¡¼ #T35 6 ¤×¤é¤¤¤É ¥×¥é¥¤¥É #T35 0 ¤×¤é¤¤¤Ð¤· ¥×¥é¥¤¥Ð¥· #T35 1 ¤×¤é¤¤¤Ð¤·¡¼ ¥×¥é¥¤¥Ð¥·¡¼ #T35 3 ¤×¤é¤¤¤Ù¡¼¤È ¥×¥é¥¤¥Ù¡¼¥È #T05 4 ¤×¤é¤° ¥×¥é¥° #T35 35 ¤×¤é¤¶ ¥×¥é¥¶ #T35 3 ¤×¤é¤¹ ¥×¥é¥¹ #T30 14 ¤×¤é¤¹ ¡Ü #T35 3 ¤×¤é¤¹¤Á¤Ã¤¯ ¥×¥é¥¹¥Á¥Ã¥¯ #T35 3 ¤×¤é¤¹¤Þ¤¤¤Ê¤¹ ¡Þ #T35 1 ¤×¤é¤¹¤ß¤É ¥×¥é¥¹¥ß¥É #T35 1 ¤×¤é¤º¤Þ ¥×¥é¥º¥Þ #T35 1 ¤×¤é¤Á¤Ê ¥×¥é¥Á¥Ê #T35 0 ¤×¤é¤Ã¤È ¥×¥é¥Ã¥È #T35 10 ¤×¤é¤Ã¤È¤Õ¤©¡¼¤à ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à #T35 10 ¤×¤é¤È¤ó ¥×¥é¥È¥ó #JN 0 ¤×¤é¤ó ¥×¥é¥ó #T35 4 ¤×¤é¤ó¤È ¥×¥é¥ó¥È #T35 1 ¤×¤é¤ó¤Ë¤ó¤° ¥×¥é¥ó¥Ë¥ó¥° #T30 4 ¤×¤ê ¥×¥ê #PRE 22 ¤×¤ê¤¨¤Ç¤£¤Ã¤È ¥×¥ê¥¨¥Ç¥£¥Ã¥È #T30 0 ¤×¤ê¤º¤à ¥×¥ê¥º¥à #T35 1 ¤×¤ê¤ß¤Æ¤£¤Ö ¥×¥ê¥ß¥Æ¥£¥Ö #T05 16 ¤×¤ê¤ó ¥×¥ê¥ó #T35 0 ¤×¤ê¤ó¤¹ ¥×¥ê¥ó¥¹ #T35 6 ¤×¤ê¤ó¤»¤¹ ¥×¥ê¥ó¥»¥¹ #T35 2 ¤×¤ê¤ó¤¿ ¥×¥ê¥ó¥¿ #T35 97 ¤×¤ê¤ó¤¿¡¼ ¥×¥ê¥ó¥¿¡¼ #T35 97 ¤×¤ê¤ó¤È ¥×¥ê¥ó¥È #T30 54 ¤×¤ë¤À¤¦¤ó ¥×¥ë¥À¥¦¥ó #T30 2 ¤×¤ì¡¼ ¥×¥ì¡¼ #T30 20 ¤×¤ì¡¼¤È ¥×¥ì¡¼¥È #T30 5 ¤×¤ì¡¼¤Ë¤ó¤° ¥×¥ì¡¼¥Ë¥ó¥° #T30 1 ¤×¤ì¡¼¤ä¡¼ ¥×¥ì¡¼¥ä¡¼ #T35 2 ¤×¤ì¤¤¤ä ¥×¥ì¥¤¥ä #T35 1 ¤×¤ì¤¤¤ä¡¼ ¥×¥ì¥¤¥ä¡¼ #T35 1 ¤×¤ì¤¤¤ó ¥×¥ì¥¤¥ó #T05 1 ¤×¤ì¤¤¤ó¤­¤å¤Ù¡¼¤·¤ç¤ó ¥×¥ì¥¤¥ó¥­¥å¥Ù¡¼¥·¥ç¥ó #T30 1 ¤×¤ì¤¸¤Ç¤ó¤È ¥×¥ì¥¸¥Ç¥ó¥È #T35 1 ¤×¤ì¤¹ ¥×¥ì¥¹ #T30 3 ¤×¤ì¤¼¤ó¤Æ¡¼¤·¤ç¤ó ¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó #T30 6 ¤×¤ì¤¼¤ó¤È ¥×¥ì¥¼¥ó¥È #T30 8 ¤×¤ì¤Ó¤å¡¼¤¢ ¥×¥ì¥Ó¥å¡¼¥¢ #T35 1 ¤×¤ì¤ê¤å¡¼¤É ¥×¥ì¥ê¥å¡¼¥É #T35 0 ¤×¤ì¤ê¤å¡¼¤É ¥×¥ì¥ê¥å¡¼¥É #KK 1 ¤×¤í ¥×¥í #T35 40 ¤×¤í¡¼¤Ö ¥×¥í¡¼¥Ö #T35 1 ¤×¤í¤°¤é¤Þ ¥×¥í¥°¥é¥Þ #T35 27 ¤×¤í¤°¤é¤Þ¡¼ ¥×¥í¥°¥é¥Þ¡¼ #T35 27 ¤×¤í¤°¤é¤ß¤ó¤° ¥×¥í¥°¥é¥ß¥ó¥° #T30 82 ¤×¤í¤°¤é¤à ¥×¥í¥°¥é¥à #T30 255 ¤×¤í¤·¡¼¤¸¤ã ¥×¥í¥·¡¼¥¸¥ã #T35 23 ¤×¤í¤·¡¼¤¸¤ã¡¼ ¥×¥í¥·¡¼¥¸¥ã¡¼ #T35 23 ¤×¤í¤·¤¸¤ã ¥×¥í¥·¥¸¥ã #T35 2 ¤×¤í¤¸¤§¤¯¤È ¥×¥í¥¸¥§¥¯¥È #T35 111 ¤×¤í¤¸¤§¤¹¤Æ¤í¤ó ¥×¥í¥¸¥§¥¹¥Æ¥í¥ó #T35 1 ¤×¤í¤¹¤¿¤°¤é¤ó¤Ç¤£¤ó ¥×¥í¥¹¥¿¥°¥é¥ó¥Ç¥£¥ó #T35 1 ¤×¤í¤»¤·¤ó¤° ¥×¥í¥»¥·¥ó¥° #T30 1 ¤×¤í¤»¤¹ ¥×¥í¥»¥¹ #T30 247 ¤×¤í¤»¤Ã¤µ ¥×¥í¥»¥Ã¥µ #T35 73 ¤×¤í¤»¤Ã¤µ¡¼ ¥×¥í¥»¥Ã¥µ¡¼ #T35 73 ¤×¤í¤»¤Ã¤·¤ó¤° ¥×¥í¥»¥Ã¥·¥ó¥° #T35 7 ¤×¤í¤À¤¯¤·¤ç¤ó ¥×¥í¥À¥¯¥·¥ç¥ó #T35 4 ¤×¤í¤À¤¯¤È ¥×¥í¥À¥¯¥È #T35 37 ¤×¤í¤Ã¤È ¥×¥í¥Ã¥È #T30 0 ¤×¤í¤Æ¤¯¤·¤ç¤ó ¥×¥í¥Æ¥¯¥·¥ç¥ó #T30 1 ¤×¤í¤Æ¤¯¤È ¥×¥í¥Æ¥¯¥È #T30 5 ¤×¤í¤Ç¤å¡¼¤µ ¥×¥í¥Ç¥å¡¼¥µ #T35 2 ¤×¤í¤Ç¤å¡¼¤µ¡¼ ¥×¥í¥Ç¥å¡¼¥µ¡¼ #T35 2 ¤×¤í¤Ç¤å¡¼¤¹ ¥×¥í¥Ç¥å¡¼¥¹ #T30 1 ¤×¤í¤È¤³¤ë ¥×¥í¥È¥³¥ë #T35 82 ¤×¤í¤È¤¿¤¤¤Ô¤ó¤° ¥×¥í¥È¥¿¥¤¥Ô¥ó¥° #T30 8 ¤×¤í¤È¤¿¤¤¤× ¥×¥í¥È¥¿¥¤¥× #T35 7 ¤×¤í¤Ð¤¤¤À ¥×¥í¥Ð¥¤¥À #T35 0 ¤×¤í¤Ð¤¤¤À¡¼ ¥×¥í¥Ð¥¤¥À¡¼ #T35 0 ¤×¤í¤Ñ¤¬¤ó¤À ¥×¥í¥Ñ¥¬¥ó¥À #T30 0 ¤×¤í¤Ñ¤²¡¼¤·¤ç¤ó ¥×¥í¥Ñ¥²¡¼¥·¥ç¥ó #T30 6 ¤×¤í¤Ñ¤Æ¤£ ¥×¥í¥Ñ¥Æ¥£ #T35 2 ¤×¤í¤Ñ¤Æ¤£¡¼ ¥×¥í¥Ñ¥Æ¥£¡¼ #T35 2 ¤×¤í¤Ñ¤ó ¥×¥í¥Ñ¥ó #T35 1 ¤×¤í¤Õ¤¡¤¤¤é ¥×¥í¥Õ¥¡¥¤¥é #T35 1 ¤×¤í¤Õ¤¡¤¤¤é¡¼ ¥×¥í¥Õ¥¡¥¤¥é¡¼ #T35 1 ¤×¤í¤Õ¤¡¤¤¤ê¤ó¤° ¥×¥í¥Õ¥¡¥¤¥ê¥ó¥° #T35 0 ¤×¤í¤Õ¤£¡¼¤ë ¥×¥í¥Õ¥£¡¼¥ë #T35 2 ¤×¤í¤Õ¤§¤Ã¤·¤ç¤Ê¤ë ¥×¥í¥Õ¥§¥Ã¥·¥ç¥Ê¥ë #T35 1 ¤×¤í¤Ú¤é ¥×¥í¥Ú¥é #T35 1 ¤×¤í¤Ý¡¼¤¶¤ë ¥×¥í¥Ý¡¼¥¶¥ë #T35 4 ¤×¤í¤Ý¡¼¤º ¥×¥í¥Ý¡¼¥º #T30 1 ¤×¤í¤â¡¼¤È ¥×¥í¥â¡¼¥È #T30 0 ¤×¤í¤â¤¦¤È ¥×¥í¥â¥¦¥È #T30 1 ¤×¤í¤é¤¯¤Á¤ó ¥×¥í¥é¥¯¥Á¥ó #T35 1 ¤×¤í¤ó¤×¤È ¥×¥í¥ó¥×¥È #T35 20 ¤×¤ó ʬ #JS 54 ¤Ø ÊÕ #KJ 1 ¤Ø ·Ð #KS 54 ¤Ø ¸º #R5r 29 ¤Ø¤¤ ÊÄ°Ë #JCN 0 ¤Ø¤¤ ÄÚ #KJ 0 ¤Ø¤¤ ÉÓ #KJ 0 ¤Ø¤¤ ʾ #KJ 0 ¤Ø¤¤ ÊÀ #KJ 0 ¤Ø¤¤ Ê #KJ 0 ¤Ø¤¤ ÊÅ #KJ 0 ¤Ø¤¤ ÊÏ #KJ 0 ¤Ø¤¤ Ìß #KJ 0 ¤Ø¤¤ ÊÁ #KJ 1 ¤Ø¤¤ Êà #KJ 1 ¤Ø¤¤ ÊÄ #KJ 10 ¤Ø¤¤ Ê¿ #KJ 19 ¤Ø¤¤ Ê» #KJ 2 ¤Ø¤¤ ʺ #T35 1 ¤Ø¤¤ ʽ #T35 1 ¤Ø¤¤ ʼ #T35 13 ¤Ø¤¤¤¢¤ó Ê¿°Â #T05 1 ¤Ø¤¤¤¤ Ê¿°× #T05 1 ¤Ø¤¤¤¤¤Á Ê¿°ì #JNM 0 ¤Ø¤¤¤¨¤¤ Ê»±Ç #T30 1 ¤Ø¤¤¤¨¤­ ʼÌò #T35 0 ¤Ø¤¤¤ª¤ó Ê¿²º #T05 0 ¤Ø¤¤¤« Ê¿²Á #T35 0 ¤Ø¤¤¤« ÊŲ¼ #T35 1 ¤Ø¤¤¤«¤¤ ÊIJñ #T30 1 ¤Ø¤¤¤«¤ó ÊÄ´Û #T30 0 ¤Ø¤¤¤¬¤¤ ÊÀ³² #T35 3 ¤Ø¤¤¤­ Ê¿µ¤ #T05 10 ¤Ø¤¤¤­ Ê»µ­ #T30 0 ¤Ø¤¤¤­ ʼ´ï #T35 1 ¤Ø¤¤¤­¤Á Ê¿µÈ #JNM 0 ¤Ø¤¤¤­¤ó Ê¿¶Ñ #T30 21 ¤Ø¤¤¤­¤ó¤Á Ê¿¶ÑÃÍ #T35 2 ¤Ø¤¤¤­¤ó¤Æ¤ó Ê¿¶ÑÅÀ #T35 0 ¤Ø¤¤¤±¤¤ ÊÄ·Ð #T30 1 ¤Ø¤¤¤²¤¤ âÎâË #T30 0 ¤Ø¤¤¤²¤ó Ê¿¸¶ #T35 1 ¤Ø¤¤¤³¤¦ Ê¿¹Ô #T00 4 ¤Ø¤¤¤³¤¦ Ê»¹Ô #T30 0 ¤Ø¤¤¤³¤¦ Êĸý #T30 0 ¤Ø¤¤¤³¤¦ ÊĹ» #T30 0 ¤Ø¤¤¤³¤¦ ÊÂ¹Ô #T30 18 ¤Ø¤¤¤³¤¦ Ê¿¹Õ #T30 2 ¤Ø¤¤¤³¤¦¤·¤Ø¤ó¤±¤¤ Ê¿¹Ô»ÍÊÕ·Á #T35 0 ¤Ø¤¤¤³¤¦¤»¤ó Ê¿¹ÔÀþ #T35 0 ¤Ø¤¤¤´¤¦ Ê»¹ç #T30 1 ¤Ø¤¤¤µ Êĺ¿ #T30 1 ¤Ø¤¤¤¶¤ó ÊÄ»³ #T30 1 ¤Ø¤¤¤· ÚÍ»à #T30 1 ¤Ø¤¤¤· ʼ»Î #T35 1 ¤Ø¤¤¤·¤ã ʼ¼Ë #T35 0 ¤Ø¤¤¤·¤ã ÊÀ¼Ò #T35 28 ¤Ø¤¤¤·¤å¤¦¤´¤¦ ÊĽ¸¹ç #T35 0 ¤Ø¤¤¤·¤ç ÊĽê #T35 0 ¤Ø¤¤¤·¤ó Ê¿¿È #T30 0 ¤Ø¤¤¤·¤ó ÊÂ¿Ê #T30 0 ¤Ø¤¤¤¸ Ê¿»þ #T35 0 ¤Ø¤¤¤¸¤Ä Ê¿Æü #T35 11 ¤Ø¤¤¤¸¤ç¤¦ Ê¿¾ï #T05 0 ¤Ø¤¤¤¸¤ç¤¦ Êľì #T30 0 ¤Ø¤¤¤¸¤ç¤¦¤­¤ç¤¦ Ê¿¾ëµþ #KK 1 ¤Ø¤¤¤»¤¤ Ê¿À® #KK 4 ¤Ø¤¤¤»¤¤ Ê¿ÀÅ #T05 1 ¤Ø¤¤¤»¤«¤¤ ÊÄÀ¤³¦ #T35 1 ¤Ø¤¤¤»¤Ä Ê»Àß #T30 1 ¤Ø¤¤¤¼¤ó Ê¿Á³ #F00 0 ¤Ø¤¤¤½ Ê¿ÁÇ #T35 1 ¤Ø¤¤¤½¤¯ ÊÄºÉ #T30 0 ¤Ø¤¤¤½¤ó ʻ¸ #T30 0 ¤Ø¤¤¤¿¤¤ ʼÂâ #T35 1 ¤Ø¤¤¤¿¤ó ʿó #T05 0 ¤Ø¤¤¤Á Ê¿ÃÏ #T35 0 ¤Ø¤¤¤Á¤ç¤¦ ÊÄÄ£ #T30 0 ¤Ø¤¤¤Æ¤¤ Ê¿Äê #T30 0 ¤Ø¤¤¤Æ¤¤ ÊÄÄî #T30 0 ¤Ø¤¤¤Æ¤ó ÊÄŹ #T30 1 ¤Ø¤¤¤Æ¤ó ÊÀŹ #T35 0 ¤Ø¤¤¤É¤ó Ê»ÆÝ #T30 0 ¤Ø¤¤¤Í¤Ä ʿǮ #T35 0 ¤Ø¤¤¤Í¤ó ʿǯ #T35 0 ¤Ø¤¤¤Ï¤Á¤í¤¦ ʿȬϺ #JNM 0 ¤Ø¤¤¤Ï¤Ä ʻȯ #T30 2 ¤Ø¤¤¤Ð¤¤ Ê»Çä #T10 0 ¤Ø¤¤¤Õ¤¯ Ê¿Éú #T35 0 ¤Ø¤¤¤Õ¤¯ Ê¿Éþ #T35 0 ¤Ø¤¤¤Ù¤¤ Ê¿ÊÆ #JS 0 ¤Ø¤¤¤Û¤¦ Ê¿Êý #JS 2 ¤Ø¤¤¤Û¤¦ Ê¿Êý #T30 0 ¤Ø¤¤¤Û¤¦ ÊÄÊñ #T35 3 ¤Ø¤¤¤Ü¤ó Ê¿ËÞ #T05 1 ¤Ø¤¤¤Þ¤¯ ÊÄËë #T30 1 ¤Ø¤¤¤ß¤ó ʿ̱ #T35 1 ¤Ø¤¤¤á¤¤ Ê¿ÌÀ #T05 0 ¤Ø¤¤¤á¤ó Ê¿ÌÌ #T35 3 ¤Ø¤¤¤â¤ó ÊÄÌç #T30 0 ¤Ø¤¤¤ä Ê¿Ìî #T35 2 ¤Ø¤¤¤æ Ê¿Ìþ #T30 0 ¤Ø¤¤¤æ¤¦ ʻͭ #T30 0 ¤Ø¤¤¤è¤¦ Ê»ÍÑ #T30 3 ¤Ø¤¤¤ê¤Ä ÊÂΩ #T30 1 ¤Ø¤¤¤ê¤ç¤¯ ʼÎÏ #T35 0 ¤Ø¤¤¤ì¤Ä ÊÂÎó #T30 62 ¤Ø¤¤¤í ÊÄÏ© #T35 0 ¤Ø¤¤¤ï ʿϠ#CN 0 ¤Ø¤¤¤ï ʿϠ#T05 7 ¤Ø¤­ ÆüÃÖ #JCN 0 ¤Ø¤­ ÊÈ #T35 0 ¤Ø¤­ ÊÊ #T35 0 ¤Ø¤­ ÊË #T35 0 ¤Ø¤­ ÊÉ #T35 1 ¤Ø¤­¤¨¤­ ¤Ø¤­°× #T30 1 ¤Ø¤­¤«¤¤ Ê˳¤ #JCN 0 ¤Ø¤­¤¬ Êɲè #T35 0 ¤Ø¤­¤Á ÊÈÃÏ #T35 0 ¤Ø¤­¤È¤¦ ÑüƬ #T35 0 ¤Ø¤­¤Ê¤ó ÊËÆî #CN 0 ¤Ø¤­¤á¤ó ÊÉÌÌ #T35 0 ¤Ø¤¯¤¿¡¼¤ë ¥Ø¥¯¥¿¡¼¥ë #T35 1 ¤Ø¤¯¤È¤Ñ¤¹¤«¤ë ¥Ø¥¯¥È¥Ñ¥¹¥«¥ë #JS 0 ¤Ø¤°¤ê Ê¿·² #JCN 0 ¤Ø¤½ ¤Ø¤½ #T35 0 ¤Ø¤½¤Þ¤¬¤ê ¤Ø¤½¶Ê¤¬¤ê #T15 0 ¤Ø¤¿ ²¼¼ê #T00 12 ¤Ø¤¿¤¯¤½ ¤Ø¤¿¤¯¤½ #T05 1 ¤Ø¤À ¸ÍÅÄ #CN 0 ¤Ø¤À¤¿ ³Ö¤¿ #R5r 2 ¤Ø¤À¤Æ ³Ö¤Æ #KSr 0 ¤Ø¤Ã¤¿¤¯¤ì ¤Ø¤Ã¤¿¤¯¤ì #T35 0 ¤Ø¤Ã¤À ¥Ø¥Ã¥À #T35 120 ¤Ø¤Ã¤À¡¼ ¥Ø¥Ã¥À¡¼ #T35 37 ¤Ø¤Ã¤Á¤ã¤é ¤Ø¤Ã¤Á¤ã¤é #T06 0 ¤Ø¤Ã¤É ¥Ø¥Ã¥É #T35 18 ¤Ø¤Ã¤É¤Û¤ó ¥Ø¥Ã¥É¥Û¥ó #T35 1 ¤Ø¤Æ¤í¤¸¤Ë¤¢¤¹ ¥Ø¥Æ¥í¥¸¥Ë¥¢¥¹ #T05 1 ¤Ø¤Ó ¼Ø #T35 2 ¤Ø¤Ü ¤Ø¤Ü #T05 0 ¤Ø¤Ü¤ó ¥Ø¥Ü¥ó #JN 0 ¤Ø¤Þ ¤Ø¤Þ #T35 0 ¤Ø¤â¤°¤í¤Ó¤ó ¥Ø¥â¥°¥í¥Ó¥ó #T35 1 ¤Ø¤ä Éô²° #T35 47 ¤Ø¤é ¸º¤é #S5r 39 ¤Ø¤é ÊÏ #T35 1 ¤Ø¤ê ±ï #T35 0 ¤Ø¤ê¤¦¤à ¥Ø¥ê¥¦¥à #T35 1 ¤Ø¤ê¤¯¤À ½ #R5r 0 ¤Ø¤ê¤Ã¤¯¤¹ ¥Ø¥ê¥Ã¥¯¥¹ #T35 1 ¤Ø¤ë¤Ä ¥Ø¥ë¥Ä #JS 1 ¤Ø¤ë¤× ¥Ø¥ë¥× #T35 17 ¤Ø¤ó ÊÔ #JNSUC 0 ¤Ø¤ó ÊÓ #JNSUC 1 ¤Ø¤ó ÊÕ #JS 0 ¤Ø¤ó ÊÓ #KJ 0 ¤Ø¤ó Ê× #KJ 1 ¤Ø¤ó ÊÖ #KJ 5 ¤Ø¤ó ÊÐ #S5 17 ¤Ø¤ó ÊÑ #T05 255 ¤Ø¤ó ÊÐ #T30 17 ¤Ø¤ó ÊÒ #T35 1 ¤Ø¤ó ¤Ø¤ó #T35 16 ¤Ø¤ó ÊÕ #T35 183 ¤Ø¤ó ÊÔ #T35 2 ¤Ø¤ó ÊÑ #ZX 247 ¤Ø¤ó¤¢¤Ä¤­ ÊѰµ´ï #T35 1 ¤Ø¤ó¤¤ ÊÑ°Ü #T30 1 ¤Ø¤ó¤« ÊѲ½ #T30 70 ¤Ø¤ó¤«¤¯ ÊÑ³Ê #T15 0 ¤Ø¤ó¤«¤¯ ÊÑ³× #T30 0 ¤Ø¤ó¤«¤¯ ÊÐ³Ñ #T35 0 ¤Ø¤ó¤«¤¯¤«¤Ä¤è¤¦ ÊѳʳèÍÑ #T30 0 ¤Ø¤ó¤«¤ó ÊÖ´Ô #T30 16 ¤Ø¤ó¤«¤ó ÊÑ´¹ #T30 255 ¤Ø¤ó¤«¤ó¤­ ÊÑ´¹´ï #T35 7 ¤Ø¤ó¤«¤ó¤»¤¤¤É ÊÑ´¹ÀºÅÙ #T35 0 ¤Ø¤ó¤­¤ã¤¯ ÊÖµÑ #T30 27 ¤Ø¤ó¤­¤ã¤¯¤Á ÊÖµÑÃÍ #T35 0 ¤Ø¤ó¤­¤ç¤¦ ÊÕ¶­ #T35 1 ¤Ø¤ó¤­¤ç¤¯ ÊÔ¶Ê #T30 0 ¤Ø¤ó¤­¤ó ÊÖ¶â #T30 3 ¤Ø¤ó¤¯¤Ä Êжþ #T05 1 ¤Ø¤ó¤±¤¤ ÊÑ·¿ #T30 0 ¤Ø¤ó¤±¤¤ ÊÑ·Á #T30 16 ¤Ø¤ó¤±¤ó Êи« #T35 3 ¤Ø¤ó¤² ÊѲ½ #T35 1 ¤Ø¤ó¤³¤¦ Êиþ #T30 21 ¤Ø¤ó¤³¤¦ Êѹ¹ #T30 255 ¤Ø¤ó¤³¤¦ Êи÷ #T35 0 ¤Ø¤ó¤³¤¦¤Æ¤ó Êѹ¹ÅÀ #T35 0 ¤Ø¤ó¤µ Êк¹ #T35 2 ¤Ø¤ó¤µ¤¤ ÊÖºÑ #T30 4 ¤Ø¤ó¤µ¤ó ÊÔ»¼ #T30 0 ¤Ø¤ó¤¶¤¤ Ê×ºß #T30 0 ¤Ø¤ó¤¶¤¤ ÊÐºß #T30 13 ¤Ø¤ó¤· ÊÑ»à #T30 0 ¤Ø¤ó¤·¤Ä ÊѼÁ #T30 1 ¤Ø¤ó¤·¤å¤¦ Êм¹ #T30 0 ¤Ø¤ó¤·¤å¤¦ ÊÔ½¤ #T30 0 ¤Ø¤ó¤·¤å¤¦ ÊÔ½¸ #T30 150 ¤Ø¤ó¤·¤å¤¦¤­¤ç¤¦ Êм¹¶¸ #T35 0 ¤Ø¤ó¤·¤ç ÊÖ½ñ #T35 0 ¤Ø¤ó¤·¤ç¤¯ Êп© #T30 0 ¤Ø¤ó¤·¤ç¤¯ ÊÑ¿§ #T30 0 ¤Ø¤ó¤·¤ó ÊÖ¿® #T30 2 ¤Ø¤ó¤·¤ó ÊÑ¿È #T30 3 ¤Ø¤ó¤¸ ÊÖ»ö #T30 160 ¤Ø¤ó¤¸¤ç¤¦ ÊÖ¾å #T30 1 ¤Ø¤ó¤¸¤ó ÊÑ¿Í #T35 0 ¤Ø¤ó¤¹¤¦ ÊÑ¿ô #T35 247 ¤Ø¤ó¤»¤¤ ÊÑÀ¼ #T30 0 ¤Ø¤ó¤»¤¤ ÊÔÀ© #T30 0 ¤Ø¤ó¤»¤¤ ÊÑÀ­ #T30 1 ¤Ø¤ó¤»¤¤ ÊÔÀ® #T30 5 ¤Ø¤ó¤»¤ó ÊÑÁ« #T30 2 ¤Ø¤ó¤½¤¦ ÊÑÁÕ #T30 1 ¤Ø¤ó¤½¤¦ ÊÑÁõ #T30 1 ¤Ø¤ó¤½¤¦ ÊÖÁ÷ #T30 9 ¤Ø¤ó¤½¤¯ Êѧ #T05 0 ¤Ø¤ó¤½¤¯ ÊÑ® #T30 0 ¤Ø¤ó¤¾¤¦ ÊѤ #T30 0 ¤Ø¤ó¤¿¤¤ ÊÑÂÖ #T05 3 ¤Ø¤ó¤¿¤¤ ÊÔÂâ #T35 1 ¤Ø¤ó¤Á ÊÕÃÏ #T35 3 ¤Ø¤ó¤Á¤ç¤¦ ÊÑÄ´ #T30 1 ¤Ø¤ó¤Á¤ç¤¦¤Ï ÊÑÄ´ÇÈ #T35 1 ¤Ø¤ó¤Æ¤³ ÊѤƤ³ #T05 0 ¤Ø¤ó¤Æ¤Ä ÊÑů #T35 0 ¤Ø¤ó¤Æ¤ó ÊÑž #T30 0 ¤Ø¤ó¤È¤¦ ÊÖÅú #T30 10 ¤Ø¤ó¤È¤¦ Ù¨Åí #T35 1 ¤Ø¤ó¤É¤¦ ÊÑÆ° #T30 7 ¤Ø¤ó¤Ë¤å¤¦ ÊÔÆþ #T30 1 ¤Ø¤ó¤Î¤¦ ÊÖǼ #T30 0 ¤Ø¤ó¤Ô¤ó ÊÖÉÊ #T30 0 ¤Ø¤ó¤× ÊÖÉÕ #T30 0 ¤Ø¤ó¤Ü¤¦ ÊÑËÆ #T30 0 ¤Ø¤ó¤Ý¤ó ÊÖËÜ #T30 0 ¤Ø¤ó¤è¤¦ ÊÑÍÆ #T30 0 ¤Ø¤ó¤ê¤ó ÊÒÎÚ #T35 0 ¤Ø¤ó¤ì¤¤ ÊÖÌá #T30 0 ¤Ø¤ó¤ì¤¤ ÊÖÎé #T30 0 ¤Ø¤ó¤ì¤­ Ê×Îò #T30 0 ¤Ø¤ó¤í Ê×Ï© #T35 0 ¤Ù ÊÕ #KJ 1 ¤Ù Éô #KJ 44 ¤Ù¡¼¤³¤ó ¥Ù¡¼¥³¥ó #T35 1 ¤Ù¡¼¤·¤Ã¤¯ ¥Ù¡¼¥·¥Ã¥¯ #T05 1 ¤Ù¡¼¤¹ ¥Ù¡¼¥¹ #T35 188 ¤Ù¡¼¤¿ ¥Ù¡¼¥¿ #T35 19 ¤Ù¡¼¤¿ ¦¢ #T35 2 ¤Ù¡¼¤¿ ¦Â #T35 27 ¤Ù¡¼¤È¡¼¤¦¡«¤§¤ó ¥Ù¡¼¥È¡¼¥ô¥§¥ó #JN 0 ¤Ù¡¼¤È¡¼¤Ù¤ó ¥Ù¡¼¥È¡¼¥Ù¥ó #JN 0 ¤Ù¤¢ ¥Ù¥¢ #T35 1 ¤Ù¤¤¤« ÊÆ²Á #T35 0 ¤Ù¤¤¤³¤¯ ÊÆ¹ñ #CN 0 ¤Ù¤¤¤µ¤¯ ÊÆºî #T35 0 ¤Ù¤¤¤·¤­¤·¤å¤¦¤­¤å¤¦ ÊÆ¼°½³µå #T35 0 ¤Ù¤¤¤·¤ç¤¯ ÊÆ¿© #T35 0 ¤Ù¤¤¤¸¤å ÊÆ¼÷ #T35 0 ¤Ù¤¤¤Á¤ç¤¦ ÊÆÄ« #JNM 0 ¤Ù¤­ ÑÑ #KJ 1 ¤Ù¤­ ¶Ò #KJ 3 ¤Ù¤­¤¸¤ç¤¦ ¶Ò¾è #T30 2 ¤Ù¤­¤¸¤ç¤¦ ÑѾè #T30 3 ¤Ù¤¯¤¿ ¥Ù¥¯¥¿ #T35 4 ¤Ù¤¯¤¿¡¼ ¥Ù¥¯¥¿¡¼ #T35 2 ¤Ù¤¯¤È¤ë ¥Ù¥¯¥È¥ë #T35 4 ¤Ù¤·¤ç¤Ù¤·¤ç ¤Ù¤·¤ç¤Ù¤·¤ç #T10 0 ¤Ù¤¹¤È ¥Ù¥¹¥È #T15 11 ¤Ù¤¹¤È¤»¤é¡¼ ¥Ù¥¹¥È¥»¥é¡¼ #T35 1 ¤Ù¤½ ¤Ù¤½ #T35 0 ¤Ù¤¿¤Ù¤¿ ¤Ù¤¿¤Ù¤¿ #T10 0 ¤Ù¤Ã¤«¤¯ ÊÌ³Ê #T05 0 ¤Ù¤Ã¤«¤ó ÊÌ´¬ #T35 0 ¤Ù¤Ã¤«¤ó ÊÌ´Û #T35 6 ¤Ù¤Ã¤­ Ê̵­ #T30 1 ¤Ù¤Ã¤­¤ç Ê̵ï #T30 0 ¤Ù¤Ã¤±¤ó ÊÌ·ï #T35 4 ¤Ù¤Ã¤³ ÊÌ¸Ä #T05 1 ¤Ù¤Ã¤³¤¦ Ê̹à #T35 1 ¤Ù¤Ã¤µ¤Ä Ê̺ý #T35 3 ¤Ù¤Ã¤· Êλë #T30 2 ¤Ù¤Ã¤· ÊÌ»æ #T35 22 ¤Ù¤Ã¤·¤Ä Ê̼¼ #T35 0 ¤Ù¤Ã¤·¤ä¤Þ Ê̻һ³ #CN 0 ¤Ù¤Ã¤·¤å Ê̼ï #T35 1 ¤Ù¤Ã¤·¤ç¤¦ Ê̾Π#T35 0 ¤Ù¤Ã¤»¤¤ ÊÌÀ« #T35 6 ¤Ù¤Ã¤½¤¦ ÊÌÁ÷ #T30 0 ¤Ù¤Ã¤½¤¦ ÊÌÁñ #T35 2 ¤Ù¤Ã¤¿¤¯ ÊÌÂð #T35 0 ¤Ù¤Ã¤¿¤ê ¤Ù¤Ã¤¿¤ê #F04 0 ¤Ù¤Ã¤¿¤ê ¤Ù¤Ã¤¿¤ê #T16 0 ¤Ù¤Ã¤Á¤å¤¦ ÊÌÃí #T30 0 ¤Ù¤Ã¤È ÊÌÅÓ #T35 19 ¤Ù¤Ã¤É ¥Ù¥Ã¥É #T35 3 ¤Ù¤Ã¤Ô¤ç¤¦ ÊÌɽ #T35 0 ¤Ù¤Ã¤Ô¤ó ÊÌÕÍ #T05 0 ¤Ù¤Ã¤× ÊÌÉÜ #JCN 0 ¤Ù¤Ã¤Ý¤¦ ÊÌÊó #T35 0 ¤Ù¤Ä »« #KJ 0 ¤Ù¤Ä ÊÍ #KJ 0 ¤Ù¤Ä ÊÎ #KJ 0 ¤Ù¤Ä ÊÌ #SUC 13 ¤Ù¤Ä ÊÌ #T05 255 ¤Ù¤Ä¤® Ê̵· #T35 0 ¤Ù¤Ä¤¯¤Á Ê̸ý #T35 0 ¤Ù¤Ä¤¸¤ç¤¦ Ê̾õ #T35 0 ¤Ù¤Ä¤¸¤ó ÊÌ¿Í #T35 1 ¤Ù¤Ä¤À¤ó ÊÌÃÊ #F14 0 ¤Ù¤Ä¤À¤ó ÊÌÃÊ #T36 0 ¤Ù¤Ä¤Î¤¦ ÊÌǼ #T30 0 ¤Ù¤Ä¤Ð¤¤ ÊÌÇä #T30 1 ¤Ù¤Ä¤Ó¤ó ÊÌÊØ #T35 4 ¤Ù¤Ä¤Ù¤Ä ÊÌ¡¹ #T05 13 ¤Ù¤Ä¤à¤Í ÊÌÅï #T35 0 ¤Ù¤Ä¤á¤¤ ÊÌ̾ #T35 19 ¤Ù¤Ä¤â¤Î ÊÌʪ #T35 3 ¤Ù¤Ä¤ê ÊÌÎ¥ #T30 0 ¤Ù¤Æ¤é¤ó ¥Ù¥Æ¥é¥ó #T35 2 ¤Ù¤È¤Ê¤à ¥Ù¥È¥Ê¥à #CN 0 ¤Ù¤Ë ¹È #T35 2 ¤Ù¤Ó¡¼ ¥Ù¥Ó¡¼ #T35 3 ¤Ù¤ä Éô²° #SUC 3 ¤Ù¤ê¤Õ¤¡¤¤ ¥Ù¥ê¥Õ¥¡¥¤ #T30 1 ¤Ù¤ê¤Õ¤¡¤¤¤¢ ¥Ù¥ê¥Õ¥¡¥¤¥¢ #T35 1 ¤Ù¤ê¤Õ¤¡¤¤¤¢¡¼ ¥Ù¥ê¥Õ¥¡¥¤¥¢¡¼ #T35 1 ¤Ù¤ë ¥Ù¥ë #T35 10 ¤Ù¤ë¤®¡¼ ¥Ù¥ë¥®¡¼ #CN 0 ¤Ù¤ë¤È ¥Ù¥ë¥È #T35 0 ¤Ù¤ë¤ê¤ó ¥Ù¥ë¥ê¥ó #CN 0 ¤Ù¤ó ºÓ #KJ 0 ¤Ù¤ó ÊÙ #KJ 0 ¤Ù¤ó ÊÚ #KJ 0 ¤Ù¤ó ÊÜ #KJ 0 ¤Ù¤ó ÊÛ #T35 27 ¤Ù¤ó ÊØ #T35 4 ¤Ù¤ó ÊØ #ZX 2 ¤Ù¤ó ÊÛ #ZX 25 ¤Ù¤ó¤¨¤­ ÊØ±× #T35 0 ¤Ù¤ó¤«¤¤ ÊÛ²ò #T30 1 ¤Ù¤ó¤¬¤¯ ÊÙ³Ø #T30 1 ¤Ù¤ó¤­¤ç¤¦ ÊÙ¶¯ #T30 50 ¤Ù¤ó¤® ÊØµ¹ #T05 3 ¤Ù¤ó¤®¤¸¤ç¤¦ ÊØµ¹¾å #F14 2 ¤Ù¤ó¤®¤¸¤ç¤¦ ÊØµ¹¾å #T36 0 ¤Ù¤ó¤±¤¤ ÊÛ·Ä #JN 1 ¤Ù¤ó¤´ ÊÛ¸î #T30 1 ¤Ù¤ó¤´¤· ÊÛ¸î»Î #T35 0 ¤Ù¤ó¤µ¤¤ ÊÛºÑ #T30 0 ¤Ù¤ó¤·¤ç¤¦ ÊÛ½þ #T30 0 ¤Ù¤ó¤¸¤ç ÊØ½ê #T35 0 ¤Ù¤ó¤¿¤Ä ÊÜÚ¥ #T30 0 ¤Ù¤ó¤À ¥Ù¥ó¥À #T35 19 ¤Ù¤ó¤À¡¼ ¥Ù¥ó¥À¡¼ #T35 3 ¤Ù¤ó¤Á¤Þ¡¼¤¯ ¥Ù¥ó¥Á¥Þ¡¼¥¯ #T30 2 ¤Ù¤ó¤Á¤ã ¥Ù¥ó¥Á¥ã #T35 2 ¤Ù¤ó¤Á¤ã¡¼ ¥Ù¥ó¥Á¥ã¡¼ #T35 1 ¤Ù¤ó¤Æ¤ó ÊÛÅ· #JCN 0 ¤Ù¤ó¤È¤¦ ÊÛÅö #T35 12 ¤Ù¤ó¤Ñ¤Ä ÊÛȱ #T35 3 ¤Ù¤ó¤Ô ÊØÈë #T10 0 ¤Ù¤ó¤Ù¤Ä ÊÛÊÌ #T30 0 ¤Ù¤ó¤Ý¤¦ ÊØË¡ #T35 1 ¤Ù¤ó¤à¤«¤ó ÊÛ̳´± #T35 0 ¤Ù¤ó¤á¤¤ ÊÛÌÀ #T30 1 ¤Ù¤ó¤â¤¦ ÊÜÌÓ #T35 1 ¤Ù¤ó¤é¤ó ÊØÍ÷ #T35 0 ¤Ù¤ó¤ê ÊØÍø #T05 62 ¤Ù¤ó¤ê ÊÛÍý #T35 2 ¤Ù¤ó¤ê¤· ÊÛÍý»Î #T35 0 ¤Ù¤ó¤ì¤¤ ÊÙÎå #T30 0 ¤Ù¤ó¤í¤ó ÊÛÏÀ #T30 0 ¤Ú¡¼¤¸ ÊÇ #JS 0 ¤Ú¡¼¤¸ ¥Ú¡¼¥¸ #JS 17 ¤Ú¡¼¤¸ ¥Ú¡¼¥¸ #T35 174 ¤Ú¡¼¤¸ ÊÇ #T35 3 ¤Ú¡¼¤¸¤¢¤¦¤È ¥Ú¡¼¥¸¥¢¥¦¥È #T30 3 ¤Ú¡¼¤¸¤¤¤ó ¥Ú¡¼¥¸¥¤¥ó #T30 3 ¤Ú¡¼¤¸¤ã ¥Ú¡¼¥¸¥ã #T35 2 ¤Ú¡¼¤¸¤ó¤° ¥Ú¡¼¥¸¥ó¥° #T30 1 ¤Ú¡¼¤¹ ¥Ú¡¼¥¹ #T35 13 ¤Ú¡¼¤¹¤È ¥Ú¡¼¥¹¥È #T30 12 ¤Ú¡¼¤Ñ¡¼ ¥Ú¡¼¥Ñ¡¼ #T35 7 ¤Ú¤¢ ¥Ú¥¢ #T35 10 ¤Ú¤¤¤¸ ¥Ú¥¤¥¸ #JS 2 ¤Ú¤­¤ó Ë̵þ #CN 0 ¤Ú¤± ¡ß #T35 12 ¤Ú¤·¤ß¤¹¤È ¥Ú¥·¥ß¥¹¥È #T05 1 ¤Ú¤·¤ß¤º¤à ¥Ú¥·¥ß¥º¥à #T35 0 ¤Ú¤Ã¤Æ¤£¤ó¤° ¥Ú¥Ã¥Æ¥£¥ó¥° #T30 1 ¤Ú¤Ã¤È ¥Ú¥Ã¥È #T35 6 ¤Ú¤Ç¤¹¤¿¤ë ¥Ú¥Ç¥¹¥¿¥ë #T35 1 ¤Ú¤È¤ê¤µ¤é ¥Ú¥È¥ê»® #T35 1 ¤Ú¤È¤ê¤Í¤Ã¤È ¥Ú¥È¥ê¥Í¥Ã¥È #T35 2 ¤Ú¤Ê¤ë¤Æ¤£ ¥Ú¥Ê¥ë¥Æ¥£ #T35 1 ¤Ú¤Ê¤ë¤Æ¤£¡¼ ¥Ú¥Ê¥ë¥Æ¥£¡¼ #T35 1 ¤Ú¤Ë¤·¤ê¤ó ¥Ú¥Ë¥·¥ê¥ó #T35 0 ¤Ú¤Ë¤¹ ¥Ú¥Ë¥¹ #T35 1 ¤Ú¤×¤Á¤É ¥Ú¥×¥Á¥É #T35 1 ¤Ú¤ê¡¼ ¥Ú¥ê¡¼ #JN 0 ¤Ú¤ê¤«¤ó ¥Ú¥ê¥«¥ó #T35 0 ¤Ú¤ó ÊÕ #JS 6 ¤Ú¤ó ¥Ú¥ó #T35 3 ¤Ú¤ó¤­ ¥Ú¥ó¥­ #T35 2 ¤Ú¤ó¤®¤ó ¥Ú¥ó¥®¥ó #T35 1 ¤Ú¤ó¤·¤ç¤ó ¥Ú¥ó¥·¥ç¥ó #T35 1 ¤Ú¤ó¤È¤Ï¤¦¤¹ ¥Ú¥ó¥È¥Ï¥¦¥¹ #T35 1 ¤Ú¤ó¤Í¡¼¤à ¥Ú¥ó¥Í¡¼¥à #T35 1 ¤Û Êâ #JS 58 ¤Û ±º #KJ 0 ¤Û ³÷ #KJ 0 ¤Û À¦ #KJ 0 ¤Û Éò #KJ 0 ¤Û Êß #KJ 0 ¤Û Êà #KJ 0 ¤Û Êã #KJ 0 ¤Û Êå #KJ 0 ¤Û ÊÞ #KJ 1 ¤Û Êá #KJ 4 ¤Û Êæ #KJ 4 ¤Û ¤Û #R5 38 ¤Û ·¡ #R5 5 ¤Û Ħ #R5r 1 ¤Û ´³ #S5 25 ¤Û ÊÝ #T30 47 ¤Û Êä #T30 52 ¤Û Êâ #T35 0 ¤Û ÈÁ #T35 1 ¤Û¡¼¤ß¤ó¤° ¥Û¡¼¥ß¥ó¥° #T30 1 ¤Û¡¼¤à ¥Û¡¼¥à #T35 57 ¤Û¡¼¤à¤º ¥Û¡¼¥à¥º #JN 0 ¤Û¡¼¤ë ¥Û¡¼¥ë #T35 7 ¤Û¡¼¤ó ¥Û¡¼¥ó #KK 2 ¤Û¤¢¤ó Êݰ #T35 2 ¤Û¤¤ ÊõÈÓ #CN 0 ¤Û¤¤ Êä°ä #T30 0 ¤Û¤¤¤¯ Êݰé #T30 1 ¤Û¤¦ Êó #JS 10 ¤Û¤¦ °© #KJ 0 ¤Û¤¦ ³ó #KJ 0 ¤Û¤¦ ¼Ã #KJ 0 ¤Û¤¦ ƾ #KJ 0 ¤Û¤¦ ÊÝ #KJ 0 ¤Û¤¦ Êï #KJ 0 ¤Û¤¦ Êð #KJ 0 ¤Û¤¦ Êò #KJ 0 ¤Û¤¦ Ê÷ #KJ 0 ¤Û¤¦ Êø #KJ 0 ¤Û¤¦ Êù #KJ 0 ¤Û¤¦ Êú #KJ 0 ¤Û¤¦ Êû #KJ 0 ¤Û¤¦ Êþ #KJ 0 ¤Û¤¦ Ë¢ #KJ 0 ¤Û¤¦ Ë£ #KJ 0 ¤Û¤¦ ˨ #KJ 0 ¤Û¤¦ Ë© #KJ 0 ¤Û¤¦ ˪ #KJ 0 ¤Û¤¦ Ë« #KJ 0 ¤Û¤¦ Ë­ #KJ 0 ¤Û¤¦ ˯ #KJ 0 ¤Û¤¦ ˰ #KJ 0 ¤Û¤¦ ˲ #KJ 0 ¤Û¤¦ ËÀ #KJ 0 ¤Û¤¦ ËÑ #KJ 0 ¤Û¤¦ Êõ #KJ 1 ¤Û¤¦ Êö #KJ 1 ¤Û¤¦ ˤ #KJ 1 ¤Û¤¦ Ë¥ #KJ 1 ¤Û¤¦ ˧ #KJ 1 ¤Û¤¦ ˬ #KJ 1 ¤Û¤¦ Ë® #KJ 1 ¤Û¤¦ ˱ #KJ 1 ¤Û¤¦ Êô #KJ 2 ¤Û¤¦ ˦ #KJ 2 ¤Û¤¦ Êü #KJ 3 ¤Û¤¦ Êñ #KJ 4 ¤Û¤¦ Êü #R5 4 ¤Û¤¦ Ë¡ #SUC 0 ¤Û¤¦ ˤ #SUC 0 ¤Û¤¦ ¤Û¤¦ #T35 10 ¤Û¤¦ Êó #T35 10 ¤Û¤¦ Êý #T35 255 ¤Û¤¦ Ë¡ #T35 26 ¤Û¤¦ Êô #ZX 0 ¤Û¤¦ Êø #ZX 0 ¤Û¤¦ Êó #ZX 10 ¤Û¤¦¤¢¤ó Ë¡°Æ #T35 1 ¤Û¤¦¤¤ Êñ°Ï #T30 0 ¤Û¤¦¤¤ Êý°Ì #T35 2 ¤Û¤¦¤¤¤¬¤¯ Ë¡°å³Ø #T35 0 ¤Û¤¦¤¨¤¤ Êü±Ç #T30 3 ¤Û¤¦¤ª¤¦ Ë¡²¦ #T35 0 ¤Û¤¦¤ª¤¦ ˱Ñà #T35 0 ¤Û¤¦¤« Êü²Ð #T30 0 ¤Û¤¦¤« Ë¡²Ê #T35 0 ¤Û¤¦¤« Ë®²ß #T35 0 ¤Û¤¦¤«¤¤ Êø²õ #T30 2 ¤Û¤¦¤«¤¤¤·¤ã¤¯ Ë¡²ò¼á #T35 0 ¤Û¤¦¤«¤¤¤»¤­ Êý²òÀÐ #T35 0 ¤Û¤¦¤«¤´ Êü²Ý¸å #T35 0 ¤Û¤¦¤«¤Ä Êñ³ç #T30 1 ¤Û¤¦¤«¤ó Êõ´§ #T35 0 ¤Û¤¦¤«¤ó Öó´Ö #T35 0 ¤Û¤¦¤¬ ˨²ê #T30 0 ¤Û¤¦¤¬ Êô²ì #T30 4 ¤Û¤¦¤¬ Ë®²è #T35 16 ¤Û¤¦¤¬¤¤ Ë¡³° #T05 1 ¤Û¤¦¤¬¤¯ Êý³Ñ #T35 11 ¤Û¤¦¤¬¤¯ Ë¡³Ø #T35 2 ¤Û¤¦¤¬¤ó Êñ´Þ #T30 4 ¤Û¤¦¤¬¤ó Êý´Ý #T35 0 ¤Û¤¦¤¬¤ó Êý´ã #T35 0 ¤Û¤¦¤¬¤ó¤· Êý´ã»æ #T35 0 ¤Û¤¦¤­ ˪µ¯ #T30 0 ¤Û¤¦¤­ Êü´þ #T30 6 ¤Û¤¦¤­ ˧µª #T35 0 ¤Û¤¦¤­ ä¶ #T35 0 ¤Û¤¦¤­ Ë¡µ¬ #T35 1 ¤Û¤¦¤­¤å¤¦ Êðµë #T35 0 ¤Û¤¦¤®¤ç Êø¸æ #T30 1 ¤Û¤¦¤± ¹û¤± #KS 1 ¤Û¤¦¤±¤¤ Êý·Á #T35 1 ¤Û¤¦¤±¤ó Éõ·ú #T35 0 ¤Û¤¦¤²¤­ ˤ·â #T30 0 ¤Û¤¦¤²¤ó Êü¸À #T30 7 ¤Û¤¦¤²¤ó Êý¸À #T35 4 ¤Û¤¦¤³ Êõ¸Ë #T35 1 ¤Û¤¦¤³¤¦ Êü¹» #T30 0 ¤Û¤¦¤³¤¦ ×Ç×Ó #T30 0 ¤Û¤¦¤³¤¦ Êô¸ø #T30 1 ¤Û¤¦¤³¤¦ Êý¸þ #T35 101 ¤Û¤¦¤³¤¦ ˧¹á #T35 2 ¤Û¤¦¤³¤¯ Êó¹ð #T30 202 ¤Û¤¦¤´¤¦ Ë¥¹ç #T30 0 ¤Û¤¦¤µ¤¯ Ë­ºî #T15 0 ¤Û¤¦¤µ¤¯ Êýºö #T35 4 ¤Û¤¦¤µ¤ó Êü»¶ #T30 0 ¤Û¤¦¤µ¤ó âï»À #T35 0 ¤Û¤¦¤· Êô»Å #T30 4 ¤Û¤¦¤· ˦»Ò #T35 0 ¤Û¤¦¤· ˧»Ö #T35 0 ¤Û¤¦¤· Ë¡»Õ #T35 2 ¤Û¤¦¤·¤­ Êý¼° #T35 221 ¤Û¤¦¤·¤ã Êü¼Í #T30 3 ¤Û¤¦¤·¤ã¤¸¤ç¤¦ Êü¼Í¾õ #T35 0 ¤Û¤¦¤·¤ã¤»¤¤ Êü¼ÍÀ­ #T35 4 ¤Û¤¦¤·¤ã¤»¤ó Êü¼ÍÀþ #T35 1 ¤Û¤¦¤·¤ã¤Î¤¦ Êü¼Íǽ #T35 3 ¤Û¤¦¤·¤å¤¦ Êó½· #T35 3 ¤Û¤¦¤·¤å¤Ä Êü½Ð #T30 3 ¤Û¤¦¤·¤å¤ä¤Þ Êõ¼î»³ #CN 0 ¤Û¤¦¤·¤ç Êô½ñ #T35 0 ¤Û¤¦¤·¤ç¤¦ Êó¾© #T30 0 ¤Û¤¦¤·¤ç¤¦ Êó½þ #T35 0 ¤Û¤¦¤·¤ç¤¦ Êó¾Þ #T35 0 ¤Û¤¦¤·¤ç¤¦ Ë«¾Þ #T35 0 ¤Û¤¦¤·¤ç¤¯ ˰¿© #T30 0 ¤Û¤¦¤·¤ç¤¯ Êô¿¦ #T30 1 ¤Û¤¦¤·¤ç¤¯ Êõ¾þ #T35 0 ¤Û¤¦¤·¤ç¤¯¤Ò¤ó Êõ¾þÉÊ #T35 0 ¤Û¤¦¤·¤ó Êü¿´ #T30 0 ¤Û¤¦¤·¤ó Êý¿Ë #T35 46 ¤Û¤¦¤¸ ß䤸 #KS 0 ¤Û¤¦¤¸ Ë¡»ö #T35 1 ¤Û¤¦¤¸¤å¤¦ Êü½Ä #T05 0 ¤Û¤¦¤¸¤å¤¯ Ë­½Ï #T30 0 ¤Û¤¦¤¸¤å¤ó ˧½æ #T05 0 ¤Û¤¦¤¸¤ç Öó½õ #T30 0 ¤Û¤¦¤¸¤ç¤¦ Ë̾ò #JCN 0 ¤Û¤¦¤¸¤ç¤¦ Êý¾ë #JNS 0 ¤Û¤¦¤¸¤ç¤¦ ËÌÛê #JNS 0 ¤Û¤¦¤¸¤ç¤¦ Ë­ñÁ #T05 0 ¤Û¤¦¤¸¤ç¤¦¤­ Êý¾æµ­ #KK 0 ¤Û¤¦¤¸¤ó Êý¿Ø #T35 0 ¤Û¤¦¤¸¤ó Ë®¿Í #T35 2 ¤Û¤¦¤¸¤ó Ë¡¿Í #T35 3 ¤Û¤¦¤¹¤¤ Êü¿å #T30 0 ¤Û¤¦¤»¤¤ Ë¡À¯ #KK 0 ¤Û¤¦¤»¤¤ ÊýÀµ #T05 0 ¤Û¤¦¤»¤¤ Ë¥À½ #T30 1 ¤Û¤¦¤»¤­ ÊõÀÐ #T35 1 ¤Û¤¦¤»¤Ä ÊñÀÜ #T30 0 ¤Û¤¦¤»¤ó Ë¡Àþ #T35 3 ¤Û¤¦¤»¤ó¤« ¥Û¥¦¥»¥ó¥« #T35 0 ¤Û¤¦¤»¤ó¤« ˱Àç²Ö #T35 0 ¤Û¤¦¤½ âïÁÇ #T35 0 ¤Û¤¦¤½¤¦ ÊñÁõ #T30 1 ¤Û¤¦¤½¤¦ ÊüÁ÷ #T30 10 ¤Û¤¦¤½¤¦ á×áì #T35 1 ¤Û¤¦¤½¤¦¤«¤¤ Ë¡Á⳦ #T35 1 ¤Û¤¦¤½¤¦¤­¤ç¤¯ ÊüÁ÷¶É #T35 3 ¤Û¤¦¤½¤¦¤· ÊñÁõ»æ #T35 0 ¤Û¤¦¤½¤¯ ˡ§ #T35 3 ¤Û¤¦¤¿¤¤ ÊñÂÓ #T30 0 ¤Û¤¦¤¿¤¤ ÊýÂÎ #T35 1 ¤Û¤¦¤¿¤¯ ˰Â÷ #CN 0 ¤Û¤¦¤À¤¤ Ë®Âê #T35 3 ¤Û¤¦¤À¤¤ ÊüÂê #T35 4 ¤Û¤¦¤À¤ó ÊüÃÌ #T30 1 ¤Û¤¦¤À¤ó Ë¤ÃÆ #T35 0 ¤Û¤¦¤Á ÊüÃÖ #T30 4 ¤Û¤¦¤Á Ë¡¼£ #T35 0 ¤Û¤¦¤Á¤¯ ÊüÃà #T30 0 ¤Û¤¦¤Á¤ã¤¯ °©Ãå #T30 0 ¤Û¤¦¤Á¤å¤¦ Ë¬Ãæ #T30 0 ¤Û¤¦¤Á¤ç¤¦ ÊñÃú #T35 2 ¤Û¤¦¤Æ¤¤ Ë¡Äî #T35 0 ¤Û¤¦¤Æ¤¤ Ë¡Äê #T35 2 ¤Û¤¦¤Æ¤¤¤·¤­ ÊýÄø¼° #T35 3 ¤Û¤¦¤Æ¤­ ˡŪ #T05 3 ¤Û¤¦¤Æ¤­ ÊüÚ³ #T30 0 ¤Û¤¦¤Æ¤­ ÙÆÚ³ #T30 0 ¤Û¤¦¤Ç¤ó ÊüÅÅ #T30 2 ¤Û¤¦¤È¤¦ ÊüÆ¢ #T30 0 ¤Û¤¦¤È¤¦ ¤Û¤¦¤È¤¦ #T35 0 ¤Û¤¦¤È¤¦ ÊõÅá #T35 0 ¤Û¤¦¤É¤¦ ÊóÆ» #T30 1 ¤Û¤¦¤É¤¦¤¸¤ó ÊóÆ»¿Ø #T35 0 ¤Û¤¦¤Ê¤ó ÊýÆî #JCN 0 ¤Û¤¦¤Ë¤Á ˬÆü #T30 0 ¤Û¤¦¤Ë¤ó ÊüǤ #T30 0 ¤Û¤¦¤Í¤ó Êüǰ #T35 0 ¤Û¤¦¤Í¤ó ˭ǯ #T35 0 ¤Û¤¦¤Î¤¦ ÊôǼ #T30 1 ¤Û¤¦¤Ï¤¤ ß°ÞÜ #F02 0 ¤Û¤¦¤Ï¤Ä ñ÷ȱ #T35 0 ¤Û¤¦¤Ð¤¤ ÊþÇÚ #T35 0 ¤Û¤¦¤Ó Ë«Èþ #T35 4 ¤Û¤¦¤Õ ËÉÉÜ #CN 0 ¤Û¤¦¤Õ Ë­ÉÙ #T05 6 ¤Û¤¦¤Õ ÊúÉé #T35 1 ¤Û¤¦¤Õ¤¯ ÊóÉü #T30 2 ¤Û¤¦¤Õ¤Ä ×Ç×Ê #F00 0 ¤Û¤¦¤Ö¤Ä¤»¤ó ÊüʪÀþ #T35 0 ¤Û¤¦¤Ö¤ó ˮʸ #T35 0 ¤Û¤¦¤Ø¤¤ ˤʼ #T35 1 ¤Û¤¦¤Ù¤¤ Ë¬ÊÆ #T30 1 ¤Û¤¦¤Ù¤ó ÊýÊØ #T35 0 ¤Û¤¦¤Û¤¦ ÊýË¡ #T35 255 ¤Û¤¦¤Û¤¯ Ë­ËÌ #CN 0 ¤Û¤¦¤Ü¤¦ Êý¡¹ #T35 0 ¤Û¤¦¤Ü¤¯ ÊüËÒ #T30 0 ¤Û¤¦¤Þ¤ó ÊüÌ¡ #T05 0 ¤Û¤¦¤Þ¤ó Ë­Ëþ #T05 0 ¤Û¤¦¤à Áò #R5 1 ¤Û¤¦¤à ˡ̳ #T35 0 ¤Û¤¦¤à¤·¤ç¤¦ ˡ̳¾Ê #KK 1 ¤Û¤¦¤á¤¤ ˧̾ #T35 1 ¤Û¤¦¤á¤ó ÊüÌÈ #T30 0 ¤Û¤¦¤á¤ó ÊýÌÌ #T35 20 ¤Û¤¦¤â¤Ä Êõʪ #T35 0 ¤Û¤¦¤â¤ó ˬÌä #T30 8 ¤Û¤¦¤â¤ó¤® ˬÌäÃå #T35 0 ¤Û¤¦¤ä ÊÝë #JCN 0 ¤Û¤¦¤ä¤¯ Ë®Ìõ #T30 1 ¤Û¤¦¤æ¤¦ Êþͧ #T35 0 ¤Û¤¦¤è¤¦ ÊúÍÊ #T30 1 ¤Û¤¦¤è¤¦ ÊñÍÆ #T30 16 ¤Û¤¦¤è¤¦ Ë¡Í× #T35 0 ¤Û¤¦¤é¤¤ ˱Íè #JCN 0 ¤Û¤¦¤é¤¯ ÊøÍî #T30 0 ¤Û¤¦¤ê¤Ä ˡΧ #T35 8 ¤Û¤¦¤ê¤å¤¦ Êüή #T30 0 ¤Û¤¦¤ê¤å¤¦¤¸ ˡδ»û #CN 0 ¤Û¤¦¤ê¤ó Ë¡ÎÓ #JN 0 ¤Û¤¦¤ì¤¤ Ë¡Îá #T35 1 ¤Û¤¦¤ì¤ó ˡϡ #CN 0 ¤Û¤¦¤ì¤ó¤½¤¦ ˡϡÁð #T35 1 ¤Û¤¦¤í¤¦ Êüϲ #T30 1 ¤Û¤¦¤ï ˰Ï #T30 2 ¤Û¤¨ Ëʤ¨ #KSr 1 ¤Û¤ª ËË #T35 1 ¤Û¤ª¤Ù¤Ë ËË¹È #T35 0 ¤Û¤ª¤ó Êݲ¹ #T30 1 ¤Û¤« ³° #T35 0 ¤Û¤« ¤Û¤« #T35 16 ¤Û¤« ¾ #T35 255 ¤Û¤«¤¯ Êá³Í #T30 1 ¤Û¤«¤¯ ÊÝ³× #T35 0 ¤Û¤«¤Ê¤é¤Ì ¾¤Ê¤é¤Ì #RT 0 ¤Û¤«¤ó Êä´° #T30 16 ¤Û¤«¤ó Êä´Ö #T30 25 ¤Û¤«¤ó ÊÝ´É #T30 4 ¤Û¤¬¤é¤« ϯ¤é¤« #T05 0 ¤Û¤­ Êäµ­ #T30 0 ¤Û¤­¤å¤¦ Êäµë #T30 1 ¤Û¤­¤ç¤¦ Ê䶯 #T30 2 ¤Û¤­¤ó ÊÝ¶Ý #T30 0 ¤Û¤¯ ËÌ #KJ 2 ¤Û¤¯¤¤ ËÌ°Þ #T35 0 ¤Û¤¯¤ª¤¦ Ë̲¤ #CN 0 ¤Û¤¯¤°¤ó ËÌ·³ #T35 0 ¤Û¤¯¤²¤ó Ë̸ #T35 0 ¤Û¤¯¤µ¤¤ ËÌºØ #JNM 0 ¤Û¤¯¤·¤ó ËÌä #KK 1 ¤Û¤¯¤¸¤ç¤¦ Ë̾å #T30 1 ¤Û¤¯¤»¤¤ ËÌÀª #CN 0 ¤Û¤¯¤»¤¤ ËÌÀ¾ #T35 0 ¤Û¤¯¤¿¤ó ËÌü #T35 0 ¤Û¤¯¤À¤¤ ËÌÂç #KK 2 ¤Û¤¯¤À¤ó ËÌø #CN 0 ¤Û¤¯¤È ËÌÅÍ #T35 1 ¤Û¤¯¤È¤¦ ËÌÅì #T35 0 ¤Û¤¯¤Ö ËÌÉô #CN 0 ¤Û¤¯¤Ö ËÌÉô #T35 1 ¤Û¤¯¤Ù¤¤ ËÌÊÆ #CN 0 ¤Û¤¯¤Ü¤¦ ËÌ˼ #CN 0 ¤Û¤¯¤è¤¦ ËÌÍÎ #T35 0 ¤Û¤¯¤ê¤¯ ËÌΦ #CN 0 ¤Û¤¯¤ê¤¯ ËÌΦ #T35 1 ¤Û¤¯¤ê¤å¤¦ ËÌζ #CN 0 ¤Û¤¯¤í ¤Û¤¯¤í #T35 1 ¤Û¤±¤­¤ç¤¦ Ë¡²Ú·Ð #35 0 ¤Û¤±¤Ä Êä·ç #T35 1 ¤Û¤±¤ó Êݸ± #T35 12 ¤Û¤±¤ó ÊÝ·ò #T35 3 ¤Û¤±¤ó¤­¤ó Êݸ±¶â #T35 0 ¤Û¤±¤ó¤Õ ÊÝ·òÉØ #T35 1 ¤Û¤²¤¤ Êá·ß #T35 0 ¤Û¤³ Ì· #KJ 0 ¤Û¤³ ËÈ #KJ 3 ¤Û¤³ ¸Ø #R5r 3 ¤Û¤³¤¦ Êâ¹Ô #T30 1 ¤Û¤³¤¦¤½ Êä¹ÚÁÇ #T35 1 ¤Û¤³¤¿ ËÈÅÄ #CN 0 ¤Û¤³¤é¤· ¸Ø¤é¤· #KY 0 ¤Û¤³¤é¤·¤¬ ¸Ø¤é¤·¤¬ #R5 0 ¤Û¤³¤é¤·¤å¤¦ ¸Ø¤é¤·¤å¤¦ #KYU 0 ¤Û¤³¤ê Ô¼ #T35 0 ¤Û¤³¤í þ #B5r 0 ¤Û¤³¤í¤Ó þ¤Ó #KSr 0 ¤Û¤´ Êݸî #T30 18 ¤Û¤´ Êä¸ì #T35 1 ¤Û¤µ Ê亴 #T30 2 ¤Û¤µ¤« Êݺä #JNS 0 ¤Û¤µ¤­ ÊæÀè #T35 0 ¤Û¤µ¤¯ Êäºî #T30 0 ¤Û¤· À± #JN 0 ¤Û¤· Íߤ· #KY 239 ¤Û¤· ¤Û¤· #KY 37 ¤Û¤· ¡ö #T35 1 ¤Û¤· À± #T35 10 ¤Û¤· ¡ù #T35 202 ¤Û¤· ¡ú #T35 255 ¤Û¤·¤¢¤¤ À±¹ç #JNS 0 ¤Û¤·¤¬ ¤Û¤·¤¬ #R5 0 ¤Û¤·¤¬ Íߤ·¤¬ #R5 1 ¤Û¤·¤¬¤­ ´³³Á #T35 0 ¤Û¤·¤¾¤é À±¶õ #T35 1 ¤Û¤·¤Ê ÊÝ²Ê #JCN 0 ¤Û¤·¤Î À±Ìî #JCN 0 ¤Û¤·¤Ð Êݻ־ì #JNS 0 ¤Û¤·¤ã¤¯ Êݼá #T30 1 ¤Û¤·¤å Êݼé #T30 61 ¤Û¤·¤å¤¦ ¤Û¤·¤å¤¦ #KYU 2 ¤Û¤·¤å¤¦ Íߤ·¤å¤¦ #KYU 3 ¤Û¤·¤å¤¦ Ê佬 #T30 0 ¤Û¤·¤å¤¦ Ê佤 #T30 2 ¤Û¤·¤å¤Ï ÊݼéÇÉ #T35 0 ¤Û¤·¤ç¤¦ Êݾã #T30 3 ¤Û¤·¤ç¤¦ Êä½þ #T30 3 ¤Û¤·¤ç¤¦ ÊÝ¾Ú #T30 62 ¤Û¤·¤ç¤¦ Êâ¾¥ #T35 0 ¤Û¤·¤ç¤¦ ÔÈ¾Ì #T35 0 ¤Û¤·¤ç¤¦¤­¤ó Êݾڶâ #T35 0 ¤Û¤·¤ç¤¦¤­¤ó Êä½þ¶â #T35 1 ¤Û¤·¤ç¤¦¤Ë¤ó ÊÝ¾Ú¿Í #T35 1 ¤Û¤·¤è¤¦ Êä»ÅÍÍ #T35 2 ¤Û¤¸ ¤Û¤¸ #R5 0 ¤Û¤¸ ÊÝ»ý #T30 36 ¤Û¤¸¤¯ ¤Û¤¸¤¯ #R5 0 ¤Û¤¸¤å¤¦ Êä½¼ #T30 0 ¤Û¤¸¤ç Êä½õ #T30 20 ¤Û¤¸¤ç¤­¤ó Êä½õ¶â #T35 1 ¤Û¤¹¤¦ Êä¿ô #T35 5 ¤Û¤¹¤Æ¤¹ ¥Û¥¹¥Æ¥¹ #T35 1 ¤Û¤¹¤È ¥Û¥¹¥È #T35 255 ¤Û¤¹¤Ô¤¿¤ê¤Æ¤£ ¥Û¥¹¥Ô¥¿¥ê¥Æ¥£ #T35 0 ¤Û¤¹¤Ô¤¿¤ê¤Æ¤£¡¼ ¥Û¥¹¥Ô¥¿¥ê¥Æ¥£¡¼ #T35 0 ¤Û¤»¤¤ ÊäÀ° #T30 0 ¤Û¤»¤¤ ÊäÀµ #T30 8 ¤Û¤»¤ó ÊÝÀþ #T35 0 ¤Û¤¼¤ó ÊÝÁ´ #T30 1 ¤Û¤½ ºÙ #KJ 0 ¤Û¤½ ºÙ #KYmime 6 ¤Û¤½ ºÙ #R5 4 ¤Û¤½¤¤ ºÙ°æ #JNS 0 ¤Û¤½¤¤¤ê ºÙÆþ #JCN 0 ¤Û¤½¤¦ ºÙ¤¦ #KYU 1 ¤Û¤½¤¦ ÊÞÁõ #T30 1 ¤Û¤½¤¨ ºÙ¹¾ #JCN 0 ¤Û¤½¤¨¤Á¤ç¤¦ ºÙ¹¾Ä® #CN 0 ¤Û¤½¤«¤ï ºÙÀî #JNS 0 ¤Û¤½¤¯ Êä­ #T30 11 ¤Û¤½¤¯ Ê᪠#T30 25 ¤Û¤½¤¯ Êä§ #T35 0 ¤Û¤½¤À ºÙÅÄ #JCN 0 ¤Û¤½¤Ê¤¬ ºÙĹ #KYme 1 ¤Û¤½¤Ê¤´¤¦ ºÙŤ¦ #KYU 1 ¤Û¤½¤Î ºÙÌî #JCN 0 ¤Û¤½¤Ü¤½ ºÙ¡¹ #F14 1 ¤Û¤½¤á ºÙ¤á #KS 1 ¤Û¤½¤ä ºÙë #JNS 0 ¤Û¤¾ ¤Û¤¾ #T35 0 ¤Û¤¾¤ó Êݸ #T30 110 ¤Û¤¿¤¤ ÊäÂÎ #T35 1 ¤Û¤¿¤« Êæ¹â #JCN 0 ¤Û¤¿¤ë ²Ð¿â¤ë #T35 1 ¤Û¤¿¤ë ·Ö #T35 1 ¤Û¤À¤¤ ÊäÂê #T35 2 ¤Û¤Á¤å¤¦ ÊäÃí #T35 0 ¤Û¤Á¤ç¤¦ ÊâÄ´ #T35 1 ¤Û¤Á¤ç¤¦¤­ Êäİ´ï #T35 0 ¤Û¤Ã Íß #SX 6 ¤Û¤Ã¤«¤¤¤É¤¦ Ë̳¤Æ» #CNS 0 ¤Û¤Ã¤­ ȯµ¯ #T30 1 ¤Û¤Ã¤­¤ç¤¯ ËÌ¶Ë #CNS 0 ¤Û¤Ã¤± ¥Û¥Ã¥± #T35 0 ¤Û¤Ã¤± ¤Û¤Ã¤± #T35 0 ¤Û¤Ã¤±¡¼ ¥Û¥Ã¥±¡¼ #T35 1 ¤Û¤Ã¤µ ȯºî #T35 2 ¤Û¤Ã¤»¤­ ȯÀÖ #T30 1 ¤Û¤Ã¤½¤¯ ȯ­ #T30 3 ¤Û¤Ã¤¿ ËÙÅÄ #JCN 0 ¤Û¤Ã¤¿¤ó ȯü #T35 1 ¤Û¤Ã¤Á¤­¤¹ ¥Û¥Ã¥Á¥­¥¹ #T35 3 ¤Û¤Ã¤È ¤Û¤Ã¤È #F14 3 ¤Û¤Ã¤È ¥Û¥Ã¥È #T05 5 ¤Û¤Ã¤È ¤Û¤Ã¤È #T30 4 ¤Û¤Ã¤× ¥Û¥Ã¥× #T30 3 ¤Û¤Ã¤Ý¤¦ ËÌÊý #T35 0 ¤Û¤Ä ȯ #KJ 0 ¤Û¤Ä¤ì ²ò¤ì #KSr 0 ¤Û¤Ä¤ì ¤Û¤Ä¤ì #KSr 0 ¤Û¤Å¤ß ÊæÀÑ #JCN 0 ¤Û¤Æ ²Ð¾È #R5r 0 ¤Û¤Æ¤¤ ÊÝÄê #T35 1 ¤Û¤Æ¤ë ¥Û¥Æ¥ë #T35 43 ¤Û¤Æ¤ó ÊäŶ #T30 0 ¤Û¤È¤± Ê© #T35 1 ¤Û¤È¤È¤®¤¹ ¥Û¥È¥È¥®¥¹ #T35 0 ¤Û¤È¤È¤®¤¹ ÉÔÇ¡µ¢ #T35 0 ¤Û¤È¤Û¤È ¤Û¤È¤Û¤È #F14 1 ¤Û¤È¤ó¤É ËØ #F14 0 ¤Û¤È¤ó¤É ËØ¤É #F14 1 ¤Û¤È¤ó¤É ËØ¤ó¤É #F14 25 ¤Û¤È¤ó¤É ¤Û¤È¤ó¤É #F14 83 ¤Û¤È¤ó¤É ËØ¤É #T35 1 ¤Û¤È¤ó¤É ¤Û¤È¤ó¤É #T35 123 ¤Û¤É ²ò #K5r 6 ¤Û¤É ¤Û¤É #T15 0 ¤Û¤É ¤Û¤É #T35 0 ¤Û¤É Äø #T35 103 ¤Û¤É¤¦ Ê䯳 #T30 0 ¤Û¤É¤¦ ÊâÆ» #T35 1 ¤Û¤É¤¦ ÊÞÆ» #T35 2 ¤Û¤É¤¦¤­¤ç¤¦ ÊâÆ»¶¶ #T35 2 ¤Û¤É¤¬¤ä ÊÝÅÚ¥öë #CN 0 ¤Û¤É¤³ »Ü #S5 14 ¤Û¤É¤Û¤É ¤Û¤É¤Û¤É #T05 1 ¤Û¤É¤Û¤É ¤Û¤É¤Û¤É #T35 1 ¤Û¤Ê¤¤ ÊÝÆâ #CN 0 ¤Û¤Ê¤ß ÊæÇÈ #JCN 0 ¤Û¤Í ¹ü #T35 7 ¤Û¤Í¤ª ¹üÀÞ #R5r 0 ¤Û¤Í¤°¤ß ¹üÁÈ¤ß #T35 1 ¤Û¤Í¤Ä¤® ¹üÀܤ® #T35 0 ¤Û¤Í¤Ö¤È ¹üÂÀ #T05 0 ¤Û¤Í¤ß ¹ü¿È #T35 0 ¤Û¤Í¤ä¤¹¤á ¹üµÙ¤á #T30 0 ¤Û¤Î¤ª ±ê #T35 1 ¤Û¤Î¤ª ±ë #T35 1 ¤Û¤Î¤« ¤Û¤Î¤« #T05 1 ¤Û¤Î¤Ü¤Î ¤Û¤Î¤Ü¤Î #F04 0 ¤Û¤Î¤ë¤ë ¥Û¥Î¥ë¥ë #CN 0 ¤Û¤Ð¤é Êݸ¶ #JCN 0 ¤Û¤Ò¤Ä ÊäÉ« #T30 0 ¤Û¤Ò¤Ä ÊäÉ® #T30 0 ¤Û¤Ó¡¼ ¥Û¥Ó¡¼ #T35 1 ¤Û¤Õ ÅË #R5 0 ¤Û¤Õ¤Þ¤ó ¥Û¥Õ¥Þ¥ó #JN 0 ¤Û¤Ø¤¤ Êâʼ #T35 1 ¤Û¤Ù¤Ä ÊæÊÌ #CN 0 ¤Û¤Û ËË #T35 0 ¤Û¤Û ¤Û¤Û #T35 4 ¤Û¤Û¤¨ ¤Û¤Û¾Ð #M5r 0 ¤Û¤Û¤¨ Èù¾Ð #M5r 2 ¤Û¤Û¤¨¤Þ¤· ¤Û¤Û¤¨¤Þ¤· #KY 0 ¤Û¤Û¤¨¤Þ¤·¤å¤¦ ¤Û¤Û¤¨¤Þ¤·¤å¤¦ #KYU 0 ¤Û¤Ü ¤Û¤Ü #F14 38 ¤Û¤Ü ÊÝÊì #T35 0 ¤Û¤Þ¤ì ÍÀ¤ì #T35 0 ¤Û¤à¤é ±ë #T35 0 ¤Û¤á Ë«¤á #KS 13 ¤Û¤á ÍÀ¤á #KS 3 ¤Û¤â¤²¤Ê¤¤¤º ¥Û¥â¥²¥Ê¥¤¥º #T35 1 ¤Û¤â¤¸¤§¤Í¡¼¤È ¥Û¥â¥¸¥§¥Í¡¼¥È #T35 1 ¤Û¤æ¤¦ ÊÝÍ­ #T30 2 ¤Û¤è¤¦ ÊÝÍÜ #T30 4 ¤Û¤é ¤Û¤é #CJ 8 ¤Û¤é ƶ #T35 0 ¤Û¤é¡¼ ¥Û¥é¡¼ #T35 1 ¤Û¤é¤É ƶ¸Í #CN 0 ¤Û¤ê ËÙ #JCN 0 ¤Û¤ê ¹è #T35 0 ¤Û¤ê ¹ê #T35 1 ¤Û¤ê ËÙ #T35 6 ¤Û¤ê¤¤ ËÙ°æ #JNS 0 ¤Û¤ê¤¦¤Á ËÙÆâ #JCN 0 ¤Û¤ê¤¨ ËÙ¹¾ #JCN 0 ¤Û¤ê¤«¤ï ËÙÀî #JCN 0 ¤Û¤ê¤¬¤Í ËÙ¶â #JCN 0 ¤Û¤ê¤°¤Á ËÙ¸ý #JNS 0 ¤Û¤ê¤³¤· ËÙ±Û #JCN 0 ¤Û¤ê¤À ·¡¤ê½Ð #S5r 1 ¤Û¤ê¤Î ËÙÌî #JNS 0 ¤Û¤ê¤Î¤¦¤Á ËÙÇ·Æâ #JCN 0 ¤Û¤ê¤å¤¦ ÊÝα #T30 13 ¤Û¤ê¤ç Êáκ #T35 1 ¤Û¤ë¤¤ ÔÈÎÝ #T35 0 ¤Û¤ë¤Þ¤ê¤ó ¥Û¥ë¥Þ¥ê¥ó #T35 1 ¤Û¤ë¤ó ¥Û¥ë¥ó #T35 0 ¤Û¤ì ¹û¤ì #KS 0 ¤Û¤ì¤³ ¹û¤ì¹þ #M5 0 ¤Û¤í ÌÇ #B5 1 ¤Û¤í ËÚ #T35 0 ¤Û¤í¤¤¤º¤ß ËÚÀô #CN 0 ¤Û¤í¤«¤Ê¤¤ ËÚ²ÃÆâ #CN 0 ¤Û¤í¤°¤é¤Õ¤£ ¥Û¥í¥°¥é¥Õ¥£ #T35 2 ¤Û¤í¤°¤é¤Õ¤£¡¼ ¥Û¥í¥°¥é¥Õ¥£¡¼ #T35 2 ¤Û¤í¤Î¤Ù ËÚ±ä #CN 0 ¤Û¤í¤Ó ÌÇ¤Ó #KSr 0 ¤Û¤í¤Ó Ë´¤Ó #KSr 1 ¤Û¤í¤Ü ÌÇ¤Ü #S5 0 ¤Û¤ï¤¤¤È ¥Û¥ï¥¤¥È #T05 4 ¤Û¤ó ËÜ #JS 255 ¤Û¤ó ÈÀ #KJ 0 ¤Û¤ó ËÛ #KJ 0 ¤Û¤ó ËÝ #KJ 0 ¤Û¤ó ËÜ #PRE 0 ¤Û¤ó ËÜ #T35 215 ¤Û¤ó¤¢¤ó ËÜ°Æ #T35 0 ¤Û¤ó¤¤ ËÜ°Ì #T35 10 ¤Û¤ó¤¤ ËÜ°Õ #T35 2 ¤Û¤ó¤« ËÜ²Ê #T35 0 ¤Û¤ó¤«¤¤ Ëܲñ #T35 0 ¤Û¤ó¤«¤¤¤® ËܲñµÄ #T35 1 ¤Û¤ó¤«¤¯ ËÜ³Ê #T35 17 ¤Û¤ó¤«¤¯¤Ï ËܳÊÇÉ #T35 1 ¤Û¤ó¤«¤ï¤Í ËÜÀ #CN 0 ¤Û¤ó¤«¤ó ËÜ´Û #T35 3 ¤Û¤ó¤¬¤ï ËÜÀî #CN 0 ¤Û¤ó¤¬¤ó ËÜ´ê #T35 1 ¤Û¤ó¤­ Ëܵ¤ #T05 7 ¤Û¤ó¤­¤å¤¦ Ëܵë #T35 1 ¤Û¤ó¤­¤ç Ëܵò #T35 0 ¤Û¤ó¤­¤ç¤¯ ËÜ¶É #T35 2 ¤Û¤ó¤­¤ç¤Á ËܵòÃÏ #T35 0 ¤Û¤ó¤®¤Þ¤ê ËÜ·è¤Þ¤ê #T35 1 ¤Û¤ó¤®¤ç¤¦ ËÜ¶È #T35 4 ¤Û¤ó¤°¤¦ ËÜµÜ #JCN 0 ¤Û¤ó¤± ËÜ²È #T35 2 ¤Û¤ó¤±¤ó ËÜ·ï #T35 4 ¤Û¤ó¤³¤¦ Ëܹ» #T35 0 ¤Û¤ó¤³¤¦ ËÜ¹Æ #T35 4 ¤Û¤ó¤³¤ó ¹á¹Á #CN 0 ¤Û¤ó¤´¤¦ Ëܶ¿ #JCN 0 ¤Û¤ó¤´¤¯ Ëܹñ #T35 0 ¤Û¤ó¤µ¤¤ ËÜºÊ #T35 0 ¤Û¤ó¤¶¤ó ËÜ»³ #T35 0 ¤Û¤ó¤· ËÜ»Ý #T35 0 ¤Û¤ó¤· ËÜ»æ #T35 3 ¤Û¤ó¤· ËÜ»ï #T35 6 ¤Û¤ó¤·¤­ Ëܼ° #T05 0 ¤Û¤ó¤·¤Ä ËܼÁ #T35 16 ¤Û¤ó¤·¤ã ËÜ¼Ò #T35 22 ¤Û¤ó¤·¤å¤¦ Ëܽ£ #CN 0 ¤Û¤ó¤·¤ç Ëܽð #T35 0 ¤Û¤ó¤·¤ç Ëܽñ #T35 9 ¤Û¤ó¤·¤ç¤¦ ËÜ¾Ê #T35 0 ¤Û¤ó¤·¤ç¤¦ ËÜÀ­ #T35 0 ¤Û¤ó¤·¤ç¤¦ ËÜ¾Ï #T35 4 ¤Û¤ó¤·¤ç¤¯ ËÜ¿¦ #T35 0 ¤Û¤ó¤·¤ó ËÜ¿´ #T35 0 ¤Û¤ó¤¸¤Ä ËÜÆü #T35 101 ¤Û¤ó¤¸¤å¤é¤¹ ¥Û¥ó¥¸¥å¥é¥¹ #CN 0 ¤Û¤ó¤¸¤ç¤¦ Ëܾ¢ #CN 0 ¤Û¤ó¤¸¤ç¤¦ Ëܾ± #JCN 0 ¤Û¤ó¤¸¤ç¤¦ Ëܾë #JCN 0 ¤Û¤ó¤¸¤ç¤¦ ËÜÁñ #JCN 0 ¤Û¤ó¤¸¤ó ËÜ¿Ø #T35 0 ¤Û¤ó¤¹¤¦ ËÜ¿ô #T35 2 ¤Û¤ó¤¹¤¸ ËÜ¶Ú #T35 1 ¤Û¤ó¤»¤­ ËÜÀÒ #T35 0 ¤Û¤ó¤»¤ó ËÜÀþ #T35 0 ¤Û¤ó¤»¤ó ËÜÁ¥ #T35 0 ¤Û¤ó¤»¤ó ËÜÁª #T35 0 ¤Û¤ó¤½¤¦ ËÛÁö #T30 0 ¤Û¤ó¤½¤¯ Ëܧ #T35 0 ¤Û¤ó¤¿¤¤ ËÜÂÎ #T35 48 ¤Û¤ó¤¿¤¯ ËÜÂð #T35 0 ¤Û¤ó¤¿¤Æ ËÜΩ #T35 1 ¤Û¤ó¤À ËÜ¿ #JNS 0 ¤Û¤ó¤À ËÜÅÄ #JNS 0 ¤Û¤ó¤À ¥Û¥ó¥À #KK 2 ¤Û¤ó¤À¤¤ ËÜÂå #T35 0 ¤Û¤ó¤À¤¤ ËÜÂê #T35 8 ¤Û¤ó¤À¤Ê ËÜê #T35 4 ¤Û¤ó¤Á¤ç¤¦ ËÜÄ£ #T35 1 ¤Û¤ó¤Æ¤ó ËÜŹ #T35 2 ¤Û¤ó¤È ¥Û¥ó¥È #T35 0 ¤Û¤ó¤È¤¦ ËÜÅö #T05 179 ¤Û¤ó¤È¤¦ ËÛÆ­ #T30 0 ¤Û¤ó¤É ËÜÅÏ #JCN 0 ¤Û¤ó¤É ËÜÅÚ #T35 0 ¤Û¤ó¤É¤¦ ËÜÆ² #T35 0 ¤Û¤ó¤É¤¦ ËÜÆ» #T35 1 ¤Û¤ó¤É¤ª¤ê ËÜÄ̤ê #T35 1 ¤Û¤ó¤Ë¤ó ËÜ¿Í #T35 32 ¤Û¤ó¤Í Ëܲ» #T35 5 ¤Û¤ó¤Í¤ó ËÜǯ #T35 5 ¤Û¤ó¤Î ¤Û¤ó¤Î #RT 6 ¤Û¤ó¤Î¤¦ ËÜǽ #T35 1 ¤Û¤ó¤Ð ËÛÇÏ #T35 0 ¤Û¤ó¤Ð Ëܾì #T35 0 ¤Û¤ó¤Ð¤³ ËÜÈ¢ #T35 1 ¤Û¤ó¤Ð¤ó ËÜÈÖ #T35 4 ¤Û¤ó¤Ö ËÜÉô #T35 121 ¤Û¤ó¤Ö¤ó ËÜʸ #T35 19 ¤Û¤ó¤Ù¤Ä ËÜÊÌ #CN 0 ¤Û¤ó¤Ú¤ó ËÜÊÔ #T35 1 ¤Û¤ó¤Ý¤¦ ËÛÊü #T05 0 ¤Û¤ó¤Ý¤¦ ËÜË® #T35 1 ¤Û¤ó¤Þ ËÜ´Ö #JNS 0 ¤Û¤ó¤Þ¤Á ËÜÄ® #CN 0 ¤Û¤ó¤Þ¤Ä¤Æ¤ó¤È¤¦ ËÜËöžÅÝ #T00 1 ¤Û¤ó¤ß¤ç¤¦ ËÜ̾ #T35 4 ¤Û¤ó¤à ËÜ̳ #T35 0 ¤Û¤ó¤á¤¤ ËÜÌ¿ #T35 1 ¤Û¤ó¤â¤¦ ËÜ˾ #T05 0 ¤Û¤ó¤â¤È Ëܸµ #T35 0 ¤Û¤ó¤â¤Î ËÜʪ #T35 5 ¤Û¤ó¤ä Ëܲ° #T35 8 ¤Û¤ó¤ä¤¯ ËÝÌõ #T30 26 ¤Û¤ó¤ä¤Ð¤±¤¤ ËÜÌíÇÏ·Ì #CN 0 ¤Û¤ó¤é¤¤ ËÜÍè #F14 19 ¤Û¤ó¤é¤¤ ËÜÍè #T35 38 ¤Û¤ó¤ê¤å¤¦ ËÛή #T35 0 ¤Û¤ó¤ê¤å¤¦ ËÜή #T35 0 ¤Û¤ó¤ê¤ç¤¦ ËÜÎÎ #T35 2 ¤Û¤ó¤í¤¦ ËÝÏ® #T30 0 ¤Ü ±¸ #KJ 0 ¤Ü ²´ #KJ 0 ¤Ü Êç #KJ 0 ¤Ü Êé #KJ 0 ¤Ü ÌÏ #KJ 0 ¤Ü Êè #KJ 1 ¤Ü Êë #KJ 1 ¤Ü Êí #KJ 1 ¤Ü Êì #KJ 2 ¤Ü Êî #KJ 2 ¤Ü Êí #SUC 30 ¤Ü Êê #T35 0 ¤Ü¡¼¤¤ ¥Ü¡¼¥¤ #T35 2 ¤Ü¡¼¤«¤ë ¥Ü¡¼¥«¥ë #T35 1 ¤Ü¡¼¤Ã¤È ¤Ü¡¼¤Ã¤È #F12 1 ¤Ü¡¼¤È ¥Ü¡¼¥È #T35 2 ¤Ü¡¼¤É ¥Ü¡¼¥É #T35 83 ¤Ü¡¼¤Ê¤¹ ¥Ü¡¼¥Ê¥¹ #T35 4 ¤Ü¡¼¤Ö¤©¤ï¡¼¤ë ¥Ü¡¼¥ô¥©¥ï¡¼¥ë #JN 0 ¤Ü¡¼¤ê¤ó¤° ¥Ü¡¼¥ê¥ó¥° #T30 3 ¤Ü¡¼¤ë ¥Ü¡¼¥ë #T35 18 ¤Ü¡¼¤ì¡¼¤È ¥Ü¡¼¥ì¡¼¥È #T35 1 ¤Ü¡¼¤ó ¥Ü¡¼¥ó #T35 8 ¤Ü¤¤¤³¤Ã¤È ¥Ü¥¤¥³¥Ã¥È #T30 1 ¤Ü¤¤¤¹ ¥Ü¥¤¥¹ #T35 8 ¤Ü¤¤¤ó ÙŰõ #T35 1 ¤Ü¤¤¤ó Êì²» #T35 2 ¤Ü¤¦ ±¬ #KJ 0 ¤Ü¤¦ ³ý #KJ 0 ¤Ü¤¦ ˳ #KJ 0 ¤Ü¤¦ Ë´ #KJ 0 ¤Ü¤¦ ˶ #KJ 0 ¤Ü¤¦ ˸ #KJ 0 ¤Ü¤¦ Ë #KJ 0 ¤Ü¤¦ Ëà #KJ 0 ¤Ü¤¦ ËÄ #KJ 0 ¤Ü¤¦ ËÆ #KJ 0 ¤Ü¤¦ ËÇ #KJ 0 ¤Ü¤¦ ̶ #KJ 0 ¤Ü¤¦ °º #KJ 1 ¤Ü¤¦ Êò #KJ 1 ¤Ü¤¦ ˵ #KJ 1 ¤Ü¤¦ ˹ #KJ 1 ¤Ü¤¦ Ë» #KJ 1 ¤Ü¤¦ ˽ #KJ 1 ¤Ü¤¦ ËÅ #KJ 1 ¤Ü¤¦ ËÈ #KJ 1 ¤Ü¤¦ ËÉ #KJ 1 ¤Ü¤¦ ˼ #KJ 13 ¤Ü¤¦ Ë· #KJ 2 ¤Ü¤¦ ËÁ #KJ 2 ¤Ü¤¦ ˺ #KJ 3 ¤Ü¤¦ ˾ #KJ 42 ¤Ü¤¦ Ë¿ #PRE 52 ¤Ü¤¦ ËÀ #T35 11 ¤Ü¤¦ Ë¿ #T35 5 ¤Ü¤¦¤¤¤ó ˽°û #T30 0 ¤Ü¤¦¤¨¤¤ ËÉ±Ò #T30 4 ¤Ü¤¦¤¨¤­ ËÇ°× #T30 2 ¤Ü¤¦¤¨¤­ ËÉ±Ö #T35 0 ¤Ü¤¦¤¨¤ó ˾±ó #T10 0 ¤Ü¤¦¤¨¤ó Ëɱê #T30 0 ¤Ü¤¦¤¨¤ó¤­¤ç¤¦ ˾±ó¶À #T35 0 ¤Ü¤¦¤ª¤ó Ëɲ» #T30 0 ¤Ü¤¦¤« ËɲР#T30 0 ¤Ü¤¦¤« ËIJ½ #T35 1 ¤Ü¤¦¤«¤ó ËÉ´¨ #T30 0 ¤Ü¤¦¤«¤ó ˵´Ñ #T30 1 ¤Ü¤¦¤«¤ó ˽´Á #T35 0 ¤Ü¤¦¤¬ ˺²æ #T35 0 ¤Ü¤¦¤¬¤¤ ˸³² #T30 2 ¤Ü¤¦¤¬¤¤ ˾³° #T35 1 ¤Ü¤¦¤­¤ã¤¯ ˺µÑ #T30 2 ¤Ü¤¦¤­¤ç ˽µó #T35 1 ¤Ü¤¦¤­¤ç¤¦ ˾¶¿ #T35 0 ¤Ü¤¦¤®¤ã¤¯ ˽µÔ #T05 0 ¤Ü¤¦¤®¤ç Ëɸæ #T30 2 ¤Ü¤¦¤¯¤¦ Ëɶõ #T35 1 ¤Ü¤¦¤¯¤¦¤´¤¦ Ëɶõ¹è #T35 0 ¤Ü¤¦¤±¤¤ ˵·Ï #T35 1 ¤Ü¤¦¤±¤ó ˶¸¡ #T30 1 ¤Ü¤¦¤±¤ó ËÁ¸± #T30 10 ¤Ü¤¦¤²¤ó ˽¸À #T30 1 ¤Ü¤¦¤³¤¦ ˽¹Ô #T30 0 ¤Ü¤¦¤´ Ëɸî #T30 1 ¤Ü¤¦¤µ¤¤ ËÉºÒ #T30 2 ¤Ü¤¦¤µ¤Ä Ë»»¦ #T30 0 ¤Ü¤¦¤µ¤Ä ËÅ»¦ #T30 0 ¤Ü¤¦¤· ËÉ»ß #T30 8 ¤Ü¤¦¤· Ë¿»á #T35 4 ¤Ü¤¦¤· ˹»Ò #T35 5 ¤Ü¤¦¤·¤ã Ë¿¼Ò #T35 1 ¤Ü¤¦¤·¤å çê¼ï #T35 1 ¤Ü¤¦¤·¤å¤¦ Ëɽ­ #T30 0 ¤Ü¤¦¤·¤å¤¦¤¶¤¤ Ëɽ­ºÞ #T35 0 ¤Ü¤¦¤·¤ç¤¦ ˵¾Ú #T30 1 ¤Ü¤¦¤·¤ç¤¯ ˽¿© #T30 0 ¤Ü¤¦¤¸ Ëɼ§ #T30 3 ¤Ü¤¦¤¸¤å ˵¼õ #T30 2 ¤Ü¤¦¤¸¤ç¤¦ ËÀ¾õ #T35 1 ¤Ü¤¦¤¹¤¤ ËÉ¿å #T30 1 ¤Ü¤¦¤º Ë·¼ç #T35 2 ¤Ü¤¦¤¼¤ó ÊòÁ³ #F02 1 ¤Ü¤¦¤¼¤ó ÊòÁ³ #T36 0 ¤Ü¤¦¤½¤¦ ˼Áí #CN 0 ¤Ü¤¦¤½¤¦ ˽Áö #T30 7 ¤Ü¤¦¤À¤¤ ËÄÂç #T05 13 ¤Ü¤¦¤À¤Á ËÀΩ¤Á #T35 0 ¤Ü¤¦¤À¤ó ËÉÃÆ #T30 0 ¤Ü¤¦¤Á¤å¤¦¤¶¤¤ ËÉÃîºÞ #T35 0 ¤Ü¤¦¤Á¤ç¤¦ ˵İ #T30 2 ¤Ü¤¦¤Á¤ç¤¦ ËÄÄ¥ #T30 2 ¤Ü¤¦¤È¤¦ ˽ƭ #T30 0 ¤Ü¤¦¤È¤¦ ËÁƬ #T35 1 ¤Ü¤¦¤É¤¦ ˽ư #T35 1 ¤Ü¤¦¤Í¤ó¤«¤¤ ˺ǯ²ñ #T35 6 ¤Ü¤¦¤Î¤Ä Ë·ÄÅ #CN 0 ¤Ü¤¦¤Ï¤Ä ˽ȯ #T30 0 ¤Ü¤¦¤Ï¤Æ¤¤ ËÉÇÈÄé #T35 0 ¤Ü¤¦¤Ð¤¯ è«Çù #F02 0 ¤Ü¤¦¤Ó ËÉÈ÷ #T30 1 ¤Ü¤¦¤Õ ËÉÉå #T30 0 ¤Ü¤¦¤Õ¤¦ ˽É÷ #T35 0 ¤Ü¤¦¤Õ¤¦ ËÉÉ÷ #T35 0 ¤Ü¤¦¤Õ¤¦¤¦ ˽É÷±« #T35 0 ¤Ü¤¦¤Ø¤­ ËÉÊÉ #T35 0 ¤Ü¤¦¤á¤¤ Ë´Ì¿ #T30 2 ¤Ü¤¦¤ä Ë·¤ä #T35 1 ¤Ü¤¦¤è¤¦ çêÍÎ #F00 1 ¤Ü¤¦¤é¤¯ ˽Íî #T30 1 ¤Ü¤¦¤ê Ë½Íø #T35 0 ¤Ü¤¦¤ê¤ã¤¯ ËÅά #T35 0 ¤Ü¤¦¤ê¤ç¤¯ ˽ÎÏ #T35 1 ¤Ü¤¦¤ë ¥Ü¥¦¥ë #T35 3 ¤Ü¤¦¤ì¤¤ Ë´Îî #T35 1 ¤Ü¤¦¤í¤ó ˽ÏÀ #T30 1 ¤Ü¤« Úô #S5r 1 ¤Ü¤« ¤Ü¤« #S5r 2 ¤Ü¤«¤ó Êì´Ï #T35 0 ¤Ü¤­ Êíµ­ #T35 1 ¤Ü¤­¤ó Êç¶â #T30 1 ¤Ü¤¯ ËÑ #JN 0 ¤Ü¤¯ ËÏ #KJ 0 ¤Ü¤¯ ËÐ #KJ 0 ¤Ü¤¯ ËÓ #KJ 0 ¤Ü¤¯ ËÔ #KJ 0 ¤Ü¤¯ ÌÚ #KJ 0 ¤Ü¤¯ ËÑ #KJ 1 ¤Ü¤¯ ËÒ #KJ 1 ¤Ü¤¯ ËÎ #T30 0 ¤Ü¤¯ ËÍ #T35 110 ¤Ü¤¯¤µ¤Ä Ëл¦ #T30 0 ¤Ü¤¯¤· ËÒ»Õ #T35 1 ¤Ü¤¯¤·¤å Ëϼé #T30 0 ¤Ü¤¯¤·¤ó¤° ¥Ü¥¯¥·¥ó¥° #T35 1 ¤Ü¤¯¤¸¤å¤¦ ËϽÁ #T35 0 ¤Ü¤¯¤¸¤ç¤¦ ËÒ¾ì #T35 0 ¤Ü¤¯¤½¤¦ ËÒÁð #T35 0 ¤Ü¤¯¤¿¤Á ËÍã #T35 3 ¤Ü¤¯¤Á¤¯ ËÒÃÜ #T35 1 ¤Ü¤¯¤È¤¦ ÌÚÅá #T35 0 ¤Ü¤¯¤á¤Ä ËÐÌÇ #T30 0 ¤Ü¤¯¤é Ëͤé #T35 0 ¤Ü¤¯¤é ËÍÅù #T35 3 ¤Ü¤± ¥Ü¥± #KSr 0 ¤Ü¤± ¹û¤± #KSr 3 ¤Ü¤±¤Ã¤È ¥Ü¥±¤Ã¤È #F12 0 ¤Ü¤±¤Ä Êè·ê #T35 1 ¤Ü¤³¤¦ Êì¹» #T35 0 ¤Ü¤³¤¦ Êì¹Á #T35 0 ¤Ü¤³¤¯ Êì¹ñ #T35 1 ¤Ü¤´ Êì¸ì #T35 0 ¤Ü¤µ¤Ä Êî»§ #T35 1 ¤Ü¤· Êì»Ò #T35 2 ¤Ü¤·¤å¤¦ Ê罸 #T30 23 ¤Ü¤·¤å¤¦¤À¤ó Ê콸ÃÄ #T35 1 ¤Ü¤·¤ç Êè½ê #T35 0 ¤Ü¤¹ ¥Ü¥¹ #T35 1 ¤Ü¤¹¤È¤ó ¥Ü¥¹¥È¥ó #CN 0 ¤Ü¤»¤¤ ÊìÀ­ #T35 0 ¤Ü¤»¤ó ÊìÁ¥ #T35 0 ¤Ü¤½¤Ü¤½ ¥Ü¥½¥Ü¥½ #F04 0 ¤Ü¤½¤Ü¤½ ¥Ü¥½¥Ü¥½ #T16 0 ¤Ü¤¿¤¤ ÊìÂÎ #T35 2 ¤Ü¤¿¤â¤Á ²´Ã°Ìß #T35 0 ¤Ü¤¿¤ó ËÕ #T35 0 ¤Ü¤¿¤ó ¥Ü¥¿¥ó #T35 110 ¤Ü¤¿¤ó ²´Ã° #T35 8 ¤Ü¤À¤¤ ÊîÄó #T35 0 ¤Ü¤Á ÊèÃÏ #T35 2 ¤Ü¤Á¤Ü¤Á ¤Ü¤Á¤Ü¤Á #F04 3 ¤Ü¤Á¤Ü¤Á ¤Ü¤Á¤Ü¤Á #T16 0 ¤Ü¤Ã Ë× #S5 2 ¤Ü¤Ã Ë× #T30 2 ¤Ü¤Ã¤­ ËÖµ¯ #T30 0 ¤Ü¤Ã¤¯¤¹ ¥Ü¥Ã¥¯¥¹ #T35 22 ¤Ü¤Ã¤³¤¦ ËÖ¶½ #T30 0 ¤Ü¤Ã¤³¤ó ËϺ¯ #T35 0 ¤Ü¤Ã¤·¤å¤¦ Ë×¼ý #T30 0 ¤Ü¤Ã¤¿¤¯¤ê ¥Ü¥Ã¥¿¥¯¥ê #T35 0 ¤Ü¤Ã¤Á¤ã¤ó Ë·¤Ã¤Á¤ã¤ó #T35 1 ¤Ü¤Ã¤È¤¦ Ëׯ¬ #T30 0 ¤Ü¤Ã¤Ñ¤Ä ËÖȯ #T30 0 ¤Ü¤Ä ËÖ #KJ 1 ¤Ü¤Ä Ë× #PRE 0 ¤Ü¤Ä Ë× #T35 1 ¤Ü¤Ä¤³¤¦¤·¤ç¤¦ Ë׸ò¾Ä #T05 0 ¤Ü¤Ä¤³¤»¤¤ Ë׸ÄÀ­ #T05 0 ¤Ü¤Ä¤Ë¤å¤¦ Ëׯþ #T30 0 ¤Ü¤Ä¤Ü¤Ä ¤Ü¤Ä¤Ü¤Ä #F06 0 ¤Ü¤Ä¤Ü¤Ä ¤Ü¤Ä¤Ü¤Ä #T16 0 ¤Ü¤Ä¤é¤¯ Ë×Íî #T30 0 ¤Ü¤Ç¤£ ¥Ü¥Ç¥£ #T35 3 ¤Ü¤Ç¤£¡¼ ¥Ü¥Ç¥£¡¼ #T35 3 ¤Ü¤È¤à ¥Ü¥È¥à #T35 1 ¤Ü¤È¤à¤¢¤Ã¤× ¥Ü¥È¥à¥¢¥Ã¥× #T05 3 ¤Ü¤È¤ë ¥Ü¥È¥ë #T35 1 ¤Ü¤È¤ë¤Í¤Ã¤¯ ¥Ü¥È¥ë¥Í¥Ã¥¯ #T35 2 ¤Ü¤Ë¤å¤¦ ÊìÆý #T35 0 ¤Ü¤Í ¹ü #T35 0 ¤Ü¤Ð ²´ÇÏ #T35 0 ¤Ü¤Ò ÊèÈê #T35 0 ¤Ü¤ä ¤Ü¤ä #K5r 1 ¤Ü¤é òË #T35 1 ¤Ü¤é òß #T35 1 ¤Ü¤é¤ó¤Æ¤£¤¢ ¥Ü¥é¥ó¥Æ¥£¥¢ #T35 4 ¤Ü¤ê¤å¡¼¤à ¥Ü¥ê¥å¡¼¥à #T35 5 ¤Ü¤ë¤·¤Á ¥Ü¥ë¥·¥Á #T35 0 ¤Ü¤ë¤È ¥Ü¥ë¥È #T35 2 ¤Ü¤ì¤¤ ²´³Â #T35 0 ¤Ü¤í ¤Ü¤í #KY 0 ¤Ü¤í ¥Ü¥í #KY 0 ¤Ü¤í ¤Ü¤í #T35 0 ¤Ü¤í ¥Ü¥í #T35 0 ¤Ü¤í¤Ü¤í ¥Ü¥í¥Ü¥í #F04 0 ¤Ü¤í¤Ü¤í ¥Ü¥í¥Ü¥í #T16 0 ¤Ü¤ó ËÜ #JS 11 ¤Ü¤ó ËÞ #KJ 1 ¤Ü¤ó Ûð #KJ 1 ¤Ü¤ó Ëß #T35 6 ¤Ü¤ó¤ª¤É¤ê ËßÍÙ¤ê #T35 0 ¤Ü¤ó¤¯¤ì ËßÊë¤ì #T35 0 ¤Ü¤ó¤µ¤¤ ËÞºÍ #T35 0 ¤Ü¤ó¤µ¤¤ ËßºÏ #T35 0 ¤Ü¤ó¤¸¤ó ËÞ¿Í #T35 0 ¤Ü¤ó¤¾¤¯ ËÞ¯ #T35 1 ¤Ü¤ó¤Á ËßÃÏ #T35 1 ¤Ü¤ó¤Ç¤£¤ó¤° ¥Ü¥ó¥Ç¥£¥ó¥° #T30 1 ¤Ü¤ó¤É ¥Ü¥ó¥É #T35 1 ¤Ü¤ó¤Î¤¦ ÈÑǺ #T35 1 ¤Ü¤ó¤× ËÞÉ× #T35 0 ¤Ü¤ó¤ä¤ê ¤Ü¤ó¤ä¤ê #F04 0 ¤Ü¤ó¤è¤¦ ËÞÍÇ #T05 1 ¤Ý Êâ #JS 9 ¤Ý¡¼¤«¡¼ ¥Ý¡¼¥«¡¼ #T35 0 ¤Ý¡¼¤º ¥Ý¡¼¥º #T30 1 ¤Ý¡¼¤¿¤Ó¤ê¤Æ¤£ ¥Ý¡¼¥¿¥Ó¥ê¥Æ¥£ #T35 7 ¤Ý¡¼¤¿¤Ó¤ê¤Æ¤£¡¼ ¥Ý¡¼¥¿¥Ó¥ê¥Æ¥£¡¼ #T35 7 ¤Ý¡¼¤¿¤Ö¤ë ¥Ý¡¼¥¿¥Ö¥ë #T15 4 ¤Ý¡¼¤È ¥Ý¡¼¥È #T30 70 ¤Ý¡¼¤ê¤ó¤° ¥Ý¡¼¥ê¥ó¥° #T30 10 ¤Ý¡¼¤ë ¥Ý¡¼¥ë #T30 4 ¤Ý¤¤ ¤Ý¤¤ #F06 1 ¤Ý¤¤ ¥Ý¥¤ #F06 1 ¤Ý¤¤¤ó¤¿ ¥Ý¥¤¥ó¥¿ #T35 183 ¤Ý¤¤¤ó¤¿¡¼ ¥Ý¥¤¥ó¥¿¡¼ #T35 2 ¤Ý¤¤¤ó¤Æ¤£¤ó¤° ¥Ý¥¤¥ó¥Æ¥£¥ó¥° #T30 3 ¤Ý¤¤¤ó¤È ¥Ý¥¤¥ó¥È #T30 34 ¤Ý¤¦ Êñ #JS 2 ¤Ý¤¦ Êó #JS 2 ¤Ý¤±¤Ã¤È ¥Ý¥±¥Ã¥È #T35 1 ¤Ý¤¸¤·¤ç¤ó ¥Ý¥¸¥·¥ç¥ó #T35 8 ¤Ý¤¹¤¿¡¼ ¥Ý¥¹¥¿¡¼ #T35 2 ¤Ý¤¹¤È ¥Ý¥¹¥È #T30 95 ¤Ý¤¿¡¼¤¸¤å ¥Ý¥¿¡¼¥¸¥å #T35 0 ¤Ý¤¿¤Ý¤¿ ¥Ý¥¿¥Ý¥¿ #F04 0 ¤Ý¤Ã¤È ¥Ý¥Ã¥È #T35 4 ¤Ý¤Ã¤× ¥Ý¥Ã¥× #T00 2 ¤Ý¤Ã¤×¤¢¤Ã¤× ¥Ý¥Ã¥×¥¢¥Ã¥× #T30 15 ¤Ý¤Ã¤×¤¹ ¥Ý¥Ã¥×¥¹ #T35 1 ¤Ý¤Æ¤È ¥Ý¥Æ¥È #T35 2 ¤Ý¤Æ¤ó¤·¤ã¤ë ¥Ý¥Æ¥ó¥·¥ã¥ë #T35 0 ¤Ý¤È¤Õ ¥Ý¥È¥Õ #T35 0 ¤Ý¤Ô¤å¤é¡¼ ¥Ý¥Ô¥å¥é¡¼ #T05 1 ¤Ý¤ê ¥Ý¥ê #PRE 1 ¤Ý¤ê¤´¤ó ¥Ý¥ê¥´¥ó #T35 1 ¤Ý¤ê¤· ¥Ý¥ê¥· #T35 2 ¤Ý¤ê¤·¡¼ ¥Ý¥ê¥·¡¼ #T35 3 ¤Ý¤ê¤Ú¤×¤Á¤É¤µ ¥Ý¥ê¥Ú¥×¥Á¥Éº¿ #T35 1 ¤Ý¤ê¤â¤ë¤Õ¤£¤º¤à ¥Ý¥ê¥â¥ë¥Õ¥£¥º¥à #T35 2 ¤Ý¤ë¤È¤¬¤ë ¥Ý¥ë¥È¥¬¥ë #CN 0 ¤Ý¤ë¤Î ¥Ý¥ë¥Î #T35 0 ¤Ý¤ó ËÜ #JS 9 ¤Ý¤ó¤º ¥Ý¥ó¿Ý #T35 0 ¤Ý¤ó¤º ¤Ý¤ó¿Ý #T35 0 ¤Ý¤ó¤È¤Á¤ç¤¦ ÀèÅÍÄ® #CNS 0 ¤Ý¤ó¤É ¥Ý¥ó¥É #JS 1 ¤Ý¤ó¤É ¡ò #T35 1 Canna37p3/dic/ideo/pubdic/Imakefile0100644000076500001200000000144407773337053016424 0ustar shinraadminXCOMM $Id: Imakefile,v 1.4.2.1 2003/12/27 17:15:23 aida_s Exp $ #include "../../../Canna.conf" #ifdef __EMX__ CANNAROOT = ..\\..\\.. CANNACMDDIR = $(CANNAROOT)\\cmd MERGE = $(CANNACMDDIR)\\mergewd\\mergeword INCLUDES = -I$(CANNAROOT)\\include #else CANNAROOT = ../../.. CANNACMDDIR = $(CANNAROOT)/cmd MERGE = $(CANNACMDDIR)/mergewd/mergeword INCLUDES = -I$(CANNAROOT)/include #endif TARGETS = iroha.t PUBDICS = a.p k.p s.p t.p n.p h.p m.p y.p r.p w.p x.p AllTarget($(TARGETS)) NormalProgramTarget(pod,pod.o,$(DEPRKINDEPLIB),$(RKINDEPLIB),) DependTarget() LintTarget() iroha.t: $(PUBDICS) ProgramTargetName(pod) cat $(PUBDICS) | ./pod - -p -i -2 > iroha.spl $(MERGE) < iroha.spl > iroha.t $(RM) iroha.spl clean:: $(RM) iroha.t Canna37p3/dic/ideo/pubdic/k.p0100644000076500001200000055254707766307311015241 0ustar shinraadmin¤« ²Ý #JS 0 ¤« Æü #JS 0 ¤« ²Á #JS 1 ¤« Áß #K5 0 ¤« ·ç #K5 21 ¤« ½ñ #K5 255 ¤« ÉÁ #K5 38 ¤« ±² #KJ 0 ¤« ²À #KJ 0 ¤« ²Á #KJ 0 ¤« ²Ë #KJ 0 ¤« ²Ï #KJ 0 ¤« ²Ò #KJ 0 ¤« ²Ô #KJ 0 ¤« ²Ù #KJ 0 ¤« ²Û #KJ 0 ¤« ²ß #KJ 0 ¤« ²à #KJ 0 ¤« ²á #KJ 0 ¤« ²â #KJ 0 ¤« ·µ #KJ 0 ¤« ·¶ #KJ 0 ¤« ¸Ä #KJ 0 ¤« ¼¯ #KJ 0 ¤« Èà #KJ 0 ¤« Ìí #KJ 0 ¤« ²É #KJ 1 ¤« ²Î #KJ 1 ¤« ²Ó #KJ 1 ¤« ²Õ #KJ 1 ¤« ²× #KJ 1 ¤« ²Ú #KJ 1 ¤« ²Ü #KJ 1 ¤« ²Þ #KJ 1 ¤« ²Ö #KJ 10 ¤« Æü #KJ 10 ¤« ¥õ #KJ 12 ¤« ²Ã #KJ 16 ¤« ²¾ #KJ 2 ¤« ²¿ #KJ 2 ¤« ²Â #KJ 2 ¤« ²Å #KJ 2 ¤« ²Ñ #KJ 2 ¤« ·¤ #KJ 2 ¤« ²¼ #KJ 28 ¤« ²Ø #KJ 3 ¤« ³Ý #KJ 3 ¤« ²Æ #KJ 4 ¤« ²Ð #KJ 59 ¤« ²È #KJ 6 ¤« ¥ö #KJ 8 ¤« ³ú #M5 11 ¤« ²½ #N2T30 0 ¤« ²á #PRE 0 ¤« ³Ï #R5 0 ¤« ´¢ #R5 0 ¤« ¶î #R5 1 ¤« ´£ #R5 25 ¤« ¼í #R5r 0 ¤« ²Í #S5 0 ¤« ²Ý #S5 182 ¤« Âß #S5 237 ¤« ²½ #S5 255 ¤« ²Ê #S5 7 ¤« ²¼ #SUC 0 ¤« ²Ä #SUC 0 ¤« ²È #SUC 0 ¤« ²Ê #SUC 0 ¤« ²Î #SUC 0 ¤« ²Ý #SUC 0 ¤« ²Í #T30 0 ¤« ²Ç #T30 1 ¤« ²Ý #T30 182 ¤« ²½ #T30 255 ¤« ²Ê #T30 7 ¤« ¹á #T35 14 ¤« ²Ì #T35 3 ¤« ²ã #T35 3 ¤« ²Ä #T35 91 ¤« ¾¡ #T5r 62 ¤« »ô #W5 1 ¤« Çã #W5r 255 ¤«¡¼ ¥«¡¼ #T35 7 ¤«¡¼¤½¤ë ¥«¡¼¥½¥ë #T35 255 ¤«¡¼¤Æ¤ó ¥«¡¼¥Æ¥ó #T35 0 ¤«¡¼¤È¤ê¤Ã¤¸ ¥«¡¼¥È¥ê¥Ã¥¸ #T35 14 ¤«¡¼¤É ¥«¡¼¥É #T35 48 ¤«¡¼¤Ë¤Ð¤ë ¥«¡¼¥Ë¥Ð¥ë #T35 1 ¤«¡¼¤Í¤®¡¼¤á¤í¤ó ¥«¡¼¥Í¥®¡¼¥á¥í¥ó #KK 1 ¤«¡¼¤Í¤ë ¥«¡¼¥Í¥ë #T35 47 ¤«¡¼¤Ö ¥«¡¼¥Ö #T30 1 ¤«¡¼¤Ú¤Ã¤È ¥«¡¼¥Ú¥Ã¥È #T35 0 ¤«¡¼¤ë ¥«¡¼¥ë #T30 1 ¤«¤¢¤µ¤ó Ê줵¤ó #T35 1 ¤«¤¢¤Á¤ã¤ó Êì¤Á¤ã¤ó #T35 1 ¤«¤¤ ¹ÃÈå #JCN 0 ¤«¤¤ ³¬ #JS 0 ¤«¤¤ ²ó #JS 255 ¤«¤¤ ²ô #KJ 0 ¤«¤¤ ²õ #KJ 0 ¤«¤¤ ²ö #KJ 0 ¤«¤¤ ²ù #KJ 0 ¤«¤¤ ²ú #KJ 0 ¤«¤¤ ²ü #KJ 0 ¤«¤¤ ²ý #KJ 0 ¤«¤¤ ³¡ #KJ 0 ¤«¤¤ ³¢ #KJ 0 ¤«¤¤ ³£ #KJ 0 ¤«¤¤ ³¥ #KJ 0 ¤«¤¤ ³¨ #KJ 0 ¤«¤¤ ³© #KJ 0 ¤«¤¤ ³ª #KJ 0 ¤«¤¤ ³¦ #KJ 1 ¤«¤¤ ³§ #KJ 1 ¤«¤¤ ³¤ #KJ 11 ¤«¤¤ ²û #KJ 2 ¤«¤¤ ÄÙ #KJ 2 ¤«¤¤ ³« #KJ 255 ¤«¤¤ ²÷ #KJ 3 ¤«¤¤ ½¿ #KJ 3 ¤«¤¤ ²þ #KJ 6 ¤«¤¤ ²÷ #PRE 0 ¤«¤¤ ²ø #PRE 0 ¤«¤¤ ²ñ #S5 1 ¤«¤¤ ²ð #S5 51 ¤«¤¤ ²ò #S5 79 ¤«¤¤ ²ñ #SUC 0 ¤«¤¤ ³¦ #SUC 0 ¤«¤¤ ²ñ #SX 0 ¤«¤¤ ²ð #T30 51 ¤«¤¤ ²ò #T30 79 ¤«¤¤ ¤«¤¤ #T35 1 ¤«¤¤ ²ó #T35 1 ¤«¤¤ ³­ #T35 1 ¤«¤¤ ¹ÃÈå #T35 1 ¤«¤¤ ³¬ #T35 24 ¤«¤¤ ²ñ #T35 246 ¤«¤¤ ³¦ #T35 3 ¤«¤¤ ¦Ö #T35 4 ¤«¤¤ ²ø #T35 4 ¤«¤¤ ²¼°Ì #T35 59 ¤«¤¤ ¦¶ #T35 6 ¤«¤¤¤¢¤¯ ²þ°­ #T30 1 ¤«¤¤¤¢¤² Ç㤤¾å¤² #KSr 1 ¤«¤¤¤¤ ³¡°Î #T05 0 ¤«¤¤¤¤ ²ø°Û #T05 1 ¤«¤¤¤¤¤­ ³¤°è #T35 0 ¤«¤¤¤¤¤ì Ç㤤Æþ¤ì #KSr 0 ¤«¤¤¤¤¤ó ²þ°õ #T30 0 ¤«¤¤¤¤¤ó ³«±¡ #T30 0 ¤«¤¤¤¤¤ó ³¤°÷ #T35 0 ¤«¤¤¤¤¤ó ²ñ°÷ #T35 16 ¤«¤¤¤¤¤ó¤»¤¤ ²ñ°÷À© #T35 1 ¤«¤¤¤¦¤ó ³¤±¿ #T35 0 ¤«¤¤¤¦¤ó ³«±¿ #T35 0 ¤«¤¤¤¨¤ó ³«±à #T30 0 ¤«¤¤¤¨¤ó ³«±é #T30 1 ¤«¤¤¤¨¤ó ³«±ã #T30 4 ¤«¤¤¤ª¤¦¤»¤¤ ³¤²¦À± #CNS 1 ¤«¤¤¤ª¤­ Ç㤤ÃÖ¤­ #T30 0 ¤«¤¤¤« ³«²½ #T30 0 ¤«¤¤¤« ³«²Ö #T30 0 ¤«¤¤¤« ³¬²¼ #T35 0 ¤«¤¤¤«¤¤ ³«²ñ #T30 2 ¤«¤¤¤«¤¨ Çã¤¤ÂØ¤¨ #KSr 3 ¤«¤¤¤«¤¯ ²þ³× #T30 6 ¤«¤¤¤«¤± Çã³Ý #T35 0 ¤«¤¤¤«¤Ä ²÷³è #T05 0 ¤«¤¤¤«¤ó ³«´Û #T30 0 ¤«¤¤¤«¤ó ²ñ´Û #T35 10 ¤«¤¤¤«¤ó ²ñ´Ü #T35 2 ¤«¤¤¤«¤ó ²÷´¶ #T35 2 ¤«¤¤¤¬ ³¨²è #T35 2 ¤«¤¤¤¬¤¤ ³¤³° #T35 60 ¤«¤¤¤¬¤é ³­³Ì #T35 1 ¤«¤¤¤¬¤ó ³«´ã #T30 0 ¤«¤¤¤¬¤ó ³¤´ß #T35 11 ¤«¤¤¤¬¤ó¤»¤ó ³¤´ßÀþ #T35 1 ¤«¤¤¤­ ²ó´÷ #JS 2 ¤«¤¤¤­ Ç㤤ÀÚ #R5r 0 ¤«¤¤¤­ ²ø´ñ #T05 0 ¤«¤¤¤­ ²÷µ¤ #T30 0 ¤«¤¤¤­ ²óµ¢ #T30 1 ¤«¤¤¤­ ²ñ´ü #T35 1 ¤«¤¤¤­ ²ó´÷ #T35 1 ¤«¤¤¤­ ³§´û #T35 1 ¤«¤¤¤­¤·¤ç¤¯ ³§´û¿© #T35 0 ¤«¤¤¤­¤»¤ó ²óµ¢Àþ #T35 0 ¤«¤¤¤­¤å¤¦ ³¬µé #JS 2 ¤«¤¤¤­¤å¤¦ ²ûµì #T35 0 ¤«¤¤¤­¤å¤¦ ³¬µé #T35 2 ¤«¤¤¤­¤ç ²÷µó #T35 2 ¤«¤¤¤­¤ç¤¦ ²ó¶µ #T35 0 ¤«¤¤¤­¤ç¤¦ ³¤¶® #T35 0 ¤«¤¤¤­¤ç¤¯ ³«¶É #T30 1 ¤«¤¤¤­¤ó ²ò¶Ø #T30 0 ¤«¤¤¤­¤ó ³§¶Ð #T30 1 ¤«¤¤¤­¤ó ³«¶ß #T35 0 ¤«¤¤¤® ²ûµ¿ #T30 2 ¤«¤¤¤® ²ñµÄ #T30 255 ¤«¤¤¤®¤ã¤¯ ëßëâ #T35 1 ¤«¤¤¤®¤ç¤¦ ³«¶È #T30 1 ¤«¤¤¤®¤ç¤¦ ²þ¹Ô #T30 44 ¤«¤¤¤®¤ç¤¦¤¤ ³«¶È°å #T35 0 ¤«¤¤¤°¤¤ Ç㤤¿©¤¤ #T30 0 ¤«¤¤¤°¤ó ³¤·³ #T35 0 ¤«¤¤¤±¤¤ ²ñ·× #T30 26 ¤«¤¤¤±¤Ä ²ò·è #T30 102 ¤«¤¤¤±¤Ä¤µ¤¯ ²ò·èºö #T35 5 ¤«¤¤¤±¤ó ²þ·û #T30 0 ¤«¤¤¤±¤ó ²ñ¸« #T30 1 ¤«¤¤¤²¤ó ²þ¸µ #T30 0 ¤«¤¤¤²¤ó ²ü¸· #T35 0 ¤«¤¤¤²¤ó¤ì¤¤ ²ü¸·Îá #T35 1 ¤«¤¤¤³ Ç㤤¹þ #M5 0 ¤«¤¤¤³ ²û¸Å #T30 0 ¤«¤¤¤³ ²ò¸Û #T30 1 ¤«¤¤¤³ ²ó¸Ü #T30 1 ¤«¤¤¤³ »½ #T35 0 ¤«¤¤¤³¤¦ ³«¹â #JNS 0 ¤«¤¤¤³¤¦ ²ó¹Ò #T30 0 ¤«¤¤¤³¤¦ ³«¹» #T30 0 ¤«¤¤¤³¤¦ ³«¸ý #T30 1 ¤«¤¤¤³¤¦ ³«¹Á #T30 1 ¤«¤¤¤³¤¦ î°íð #T30 1 ¤«¤¤¤³¤¦ ³¤¹Á #T35 0 ¤«¤¤¤³¤¦ ³¤¹Â #T35 0 ¤«¤¤¤³¤ó ³«º¦ #T30 0 ¤«¤¤¤³¤ó ²ùº¨ #T35 0 ¤«¤¤¤´ ²ð¸î #T30 3 ¤«¤¤¤´¤¦ ²ñ¹ç #T30 7 ¤«¤¤¤µ ³¬º¹ #T35 0 ¤«¤¤¤µ¤¤ ³«ºÅ #T30 39 ¤«¤¤¤µ¤¯ ²þºî #T30 1 ¤«¤¤¤µ¤Ä ²þ»¥ #T30 17 ¤«¤¤¤µ¤ó ²ò»¶ #T30 4 ¤«¤¤¤µ¤ó¤Ö¤Ä ³¤»ºÊª #T35 1 ¤«¤¤¤¶¤¤ ²ðºß #T30 1 ¤«¤¤¤¶¤ó ³¤»³ #T35 0 ¤«¤¤¤· ³«»Ï #T30 125 ¤«¤¤¤· ²ñ»ï #T35 0 ¤«¤¤¤·¤Ä ³«¼¼ #T30 0 ¤«¤¤¤·¤á Ç㤤Àê¤á #KSr 0 ¤«¤¤¤·¤á ÇãÀê¤á #T30 0 ¤«¤¤¤·¤ã ²ñ¼Ò #T35 144 ¤«¤¤¤·¤ã¤¯ ²ðºø #T30 0 ¤«¤¤¤·¤ã¤¯ ²ò¼á #T30 82 ¤«¤¤¤·¤å¤¦ ²ó¼ý #T30 14 ¤«¤¤¤·¤å¤¦ ²þ½¤ #T30 2 ¤«¤¤¤·¤å¤¦¤´¤¦ ³«½¸¹ç #T35 0 ¤«¤¤¤·¤ç ²ñ½ê #T35 0 ¤«¤¤¤·¤ç Ü´½ñ #T35 0 ¤«¤¤¤·¤ç¤¦ ²þ¾Î #T30 0 ¤«¤¤¤·¤ç¤¦ ²ò¾Ã #T30 9 ¤«¤¤¤·¤ç¤¦ ¹ÃÈåÀ­ #T35 1 ¤«¤¤¤·¤ç¤¯ ²ò¿¦ #T30 0 ¤«¤¤¤·¤ç¤¯ ²ñ¿© #T30 1 ¤«¤¤¤·¤ó ²þ¿´ #T30 0 ¤«¤¤¤·¤ó ²ó¿Ç #T30 1 ¤«¤¤¤·¤ó ²þ¿· #T30 1 ¤«¤¤¤·¤ó ²ñ¿´ #T35 0 ¤«¤¤¤¸ ³«¼¨ #T30 2 ¤«¤¤¤¸ ²÷»ö #T35 0 ¤«¤¤¤¸¤å¤¦ ³¢½Â #T05 0 ¤«¤¤¤¸¤å¤¦ ²û½À #T30 0 ¤«¤¤¤¸¤å¤¦ ²ø½Ã #T35 1 ¤«¤¤¤¸¤ç ²ò½ü #T30 16 ¤«¤¤¤¸¤ç¤¦ ³«¾ì #T30 1 ¤«¤¤¤¸¤ç¤¦ ³¬¾è #T30 2 ¤«¤¤¤¸¤ç¤¦ ³¬¾å #T35 0 ¤«¤¤¤¸¤ç¤¦ ²ñ¾ì #T35 31 ¤«¤¤¤¸¤ê ³¤¿¬ #JNS 0 ¤«¤¤¤¹¤¤ ³¤¿å #T35 1 ¤«¤¤¤¹¤¤¤è¤¯ ³¤¿åÍá #T35 3 ¤«¤¤¤¹¤¦ ²ó¿ô #T35 49 ¤«¤¤¤¹¤¦ ³¬¿ô #T35 6 ¤«¤¤¤» ³­À¥ #JNS 0 ¤«¤¤¤»¤¤ ³«À® #JCN 0 ¤«¤¤¤»¤¤ ²óÀ¸ #JS 6 ¤«¤¤¤»¤¤ ²óÀ¸ #T30 0 ¤«¤¤¤»¤¤ ²þÀµ #T30 52 ¤«¤¤¤»¤¤ ²þÀ« #T30 8 ¤«¤¤¤»¤¤ ²÷À² #T35 2 ¤«¤¤¤»¤­ ²ñÀÊ #T30 1 ¤«¤¤¤»¤­ ²òÀÏ #T30 107 ¤«¤¤¤»¤­ ²ûÀÐ #T35 0 ¤«¤¤¤»¤Ä ²óÀÞ #T30 1 ¤«¤¤¤»¤Ä ³«Àß #T30 2 ¤«¤¤¤»¤Ä ²òÀâ #T30 46 ¤«¤¤¤»¤ó ²óÀþ #JS 0 ¤«¤¤¤»¤ó ²óÀï #JS 1 ¤«¤¤¤»¤ó ²óÀû #T30 0 ¤«¤¤¤»¤ó ²þÁª #T30 0 ¤«¤¤¤»¤ó ³«Àï #T30 0 ¤«¤¤¤»¤ó ²ñÀï #T35 1 ¤«¤¤¤»¤ó ²óÀþ #T35 91 ¤«¤¤¤¼¤ó ²þÁ± #T30 52 ¤«¤¤¤½ ²þÁÈ #T30 1 ¤«¤¤¤½¤¦ ³¤Áð #JCN 0 ¤«¤¤¤½¤¦ ³¬ÁØ #JS 48 ¤«¤¤¤½¤¦ ²ñÁò #T30 0 ¤«¤¤¤½¤¦ ²÷Áö #T30 0 ¤«¤¤¤½¤¦ ²óÁ÷ #T30 1 ¤«¤¤¤½¤¦ ²þÁõ #T30 1 ¤«¤¤¤½¤¦ ²óÁÛ #T30 2 ¤«¤¤¤½¤¦ ³¤Áô #T35 0 ¤«¤¤¤½¤¦ ³¬ÁØ #T35 37 ¤«¤¤¤½¤¯ ²÷® #T05 9 ¤«¤¤¤½¤¯ ²ñ§ #T35 1 ¤«¤¤¤¾¤¦ ²þ¤ #T30 128 ¤«¤¤¤¾¤¦¤É ²òÁüÅÙ #T35 2 ¤«¤¤¤¾¤¯ ³¤Â± #T35 2 ¤«¤¤¤¿ Ç㤤­ #S5r 0 ¤«¤¤¤¿ ±ÐÅÄ #JCN 0 ¤«¤¤¤¿ ³¤ÅÄ #JCN 0 ¤«¤¤¤¿¤¤ ²ûÂÛ #T30 0 ¤«¤¤¤¿¤¤ ²òÂÎ #T30 2 ¤«¤¤¤¿¤¯ ³«Âó #T30 1 ¤«¤¤¤À ³«ÅÄ #JCN 0 ¤«¤¤¤À¤¤ ²þÂê #T30 0 ¤«¤¤¤À¤¤ ²òÂê #T35 0 ¤«¤¤¤À¤¯ ²÷Âú #T30 0 ¤«¤¤¤À¤á Ç㤤ί¤á #T30 2 ¤«¤¤¤À¤ó ²ñÃÌ #T30 2 ¤«¤¤¤À¤ó ²øÃÌ #T35 0 ¤«¤¤¤À¤ó ³¬ÃÊ #T35 5 ¤«¤¤¤Á ²Å°ì #JN 0 ¤«¤¤¤Á¤¯ ²þÃÛ #T30 0 ¤«¤¤¤Á¤å¤¦ ²ûÃæ #T30 2 ¤«¤¤¤Á¤å¤¦ ³¤Ãæ #T35 0 ¤«¤¤¤Á¤ç¤¦ ²÷Ä´ #T05 6 ¤«¤¤¤Á¤ç¤¦ ³¬Ä´ #T35 0 ¤«¤¤¤Á¤ç¤¦ ²ñĹ #T35 10 ¤«¤¤¤Ä¤¦ ³«ÄÌ #T30 2 ¤«¤¤¤Ä¤± ÇãÉÕ¤± #T30 0 ¤«¤¤¤Å ³¤ÄÅ #JCN 0 ¤«¤¤¤Å¤« ³­ÄÍ #JCN 0 ¤«¤¤¤Å¤« ³­ÄÍ #T35 0 ¤«¤¤¤Æ Ç㤤¼ê #T35 4 ¤«¤¤¤Æ¤¤ ³«Äî #T30 0 ¤«¤¤¤Æ¤¤ ²þÄê #T30 13 ¤«¤¤¤Æ¤¤ ²þÄû #T30 9 ¤«¤¤¤Æ¤¤ ³¬Äô #T35 0 ¤«¤¤¤Æ¤¤ ³¤Äì #T35 1 ¤«¤¤¤Æ¤­ ²÷Ŭ #T05 21 ¤«¤¤¤Æ¤ó ²óž #JS 6 ¤«¤¤¤Æ¤ó ³«Å¹ #T30 4 ¤«¤¤¤Æ¤ó ²óž #T30 5 ¤«¤¤¤Ç¤ó ³§ÅÁ #T30 0 ¤«¤¤¤È Ç㤤¼è #R5r 1 ¤«¤¤¤È¤¦ ²òÅü #T30 1 ¤«¤¤¤È¤¦ ²óÅú #T30 177 ¤«¤¤¤È¤¦ ²òÅà #T30 8 ¤«¤¤¤È¤¦ ²òÅú #T30 8 ¤«¤¤¤È¤¦ ²ñƬ #T35 1 ¤«¤¤¤È¤¦¤·¤ã ²óÅú¼Ô #T35 0 ¤«¤¤¤É¤¦ ³¹Æ» #CNSUC1 1 ¤«¤¤¤É¤¦ ²ñƲ #T35 0 ¤«¤¤¤É¤¦ ³¹Æ» #T35 2 ¤«¤¤¤É¤¯ Ç㤤ÆÀ #T05 1 ¤«¤¤¤É¤¯ ²òÆÉ #T30 2 ¤«¤¤¤Ê¤é »ô¤¤´·¤é #S5 0 ¤«¤¤¤Ê¤ó ³¤Æî #CN 0 ¤«¤¤¤Ê¤ó ³¤Æñ #T35 0 ¤«¤¤¤Ë¤å¤¦ ²ðÆþ #T30 1 ¤«¤¤¤Ë¤ó ²òǤ #T30 0 ¤«¤¤¤Ë¤ó ²ûÇ¥ #T30 0 ¤«¤¤¤Ì¤· »ô¤¤¼ç #T35 0 ¤«¤¤¤Í ÇãÃÍ #T35 0 ¤«¤¤¤Ï¤¤ ²þÇÑ #T30 0 ¤«¤¤¤Ï¤¯¤·¤ç¤¯ ³¥Çò¿§ #T15 0 ¤«¤¤¤Ï¤Ä ³«È¯ #T30 255 ¤«¤¤¤Ï¤Ä¤Ö ³«È¯Éô #T35 0 ¤«¤¤¤Ï¤ó ²þÈÇ #T30 16 ¤«¤¤¤Ð¤Ä ³¤È´ #T35 0 ¤«¤¤¤Ð¤é Ç𸶠#JCN 0 ¤«¤¤¤Ò ²óÈò #T30 52 ¤«¤¤¤Ò ²ñÈñ #T35 16 ¤«¤¤¤Ò¤ç¤¦ ³«É¼ #T30 1 ¤«¤¤¤Ò¤ó ³¤ÉÍ #T35 10 ¤«¤¤¤Ó ²÷Èþ #T05 0 ¤«¤¤¤Õ ³¤Éô #JCN 0 ¤«¤¤¤Õ ²óÉÕ #T30 0 ¤«¤¤¤Õ¤¦ ³«Éõ #T30 1 ¤«¤¤¤Õ¤¯ ²÷Éü #T30 0 ¤«¤¤¤Õ¤¯ ²óÉü #T30 9 ¤«¤¤¤Ö¤Ä ²øÊª #T35 4 ¤«¤¤¤Ö¤ó¤·¤ç ²øÊ¸½ñ #T35 0 ¤«¤¤¤Ø¤¤ ³«Ê¿ #T30 0 ¤«¤¤¤Ø¤¤ ³«ÊÄ #T30 2 ¤«¤¤¤Ø¤ó ²þÊÑ #T30 2 ¤«¤¤¤Ø¤ó ²þÊÔ #T30 4 ¤«¤¤¤Û¤¦ ²ðÊú #T30 0 ¤«¤¤¤Û¤¦ ²òÊü #T30 20 ¤«¤¤¤Û¤¦ ³«Êü #T30 32 ¤«¤¤¤Û¤¦ ²÷Êý #T35 0 ¤«¤¤¤Û¤¦ ²òË¡ #T35 10 ¤«¤¤¤Û¤¦ ²ñÊó #T35 2 ¤«¤¤¤Ü¤¦ ²ò˶ #T30 1 ¤«¤¤¤Þ¤¯ ³«Ëë #T30 1 ¤«¤¤¤Þ¤ß ¤«¤¤¤Þ¸« #KS 0 ¤«¤¤¤ß¤ó ²÷̲ #T30 0 ¤«¤¤¤à ³§Ìµ #T05 1 ¤«¤¤¤à ²ñ̳ #T35 0 ¤«¤¤¤á¤¤ ³«ÌÀ #T05 0 ¤«¤¤¤á¤¤ ²þ̾ #T30 1 ¤«¤¤¤á¤¤ ²òÌÀ #T30 5 ¤«¤¤¤á¤Ä ²õÌÇ #T30 2 ¤«¤¤¤á¤ó ³¤ÌÉ #T35 0 ¤«¤¤¤á¤ó ³¤ÌÌ #T35 0 ¤«¤¤¤á¤ó ³¦ÌÌ #T35 1 ¤«¤¤¤â¤¯ ³§ÌÜ #F14 0 ¤«¤¤¤â¤É Ç㤤Ìá #S5 1 ¤«¤¤¤â¤Î Ç㤤¤â¤Î #T30 10 ¤«¤¤¤â¤Î Çãʪ #T30 24 ¤«¤¤¤â¤Î Ç㤤ʪ #T30 0 ¤«¤¤¤â¤ó ³«Ê¹ #JCN 0 ¤«¤¤¤â¤ó ³«Ìç #T30 0 ¤«¤¤¤â¤ó¤À¤± ³«Ê¹³Ù #CN 0 ¤«¤¤¤ä¤¯ ²þÌõ #T30 0 ¤«¤¤¤ä¤¯ ²òÌó #T30 1 ¤«¤¤¤æ ²÷Ìþ #T30 0 ¤«¤¤¤æ¤¦ ²óÍ· #T30 1 ¤«¤¤¤è¤¦ ³¤ÍÎ #T35 1 ¤«¤¤¤è¤¦ ÄÙáç #T35 8 ¤«¤¤¤é¤¤ ÐúÑ´ #T35 0 ¤«¤¤¤é¤¯ ²÷³Ú #T35 0 ¤«¤¤¤é¤ó ²óÍ÷ #T30 51 ¤«¤¤¤é¤ó ²ðÍñ #T35 1 ¤«¤¤¤ê ¥«¥¤¥ê #JS 0 ¤«¤¤¤ê ³¤Î¤ #JS 0 ¤«¤¤¤ê ³½ #JS 0 ¤«¤¤¤ê ²òÎ¥ #T30 1 ¤«¤¤¤ê ЪΥ #T30 1 ¤«¤¤¤ê¤¯ ³¤Î¦ #T35 0 ¤«¤¤¤ê¤å¤¦ ³¤Î® #T35 0 ¤«¤¤¤ê¤ç¤¦ ²þÎÉ #T30 29 ¤«¤¤¤ì¤¤ ³¤Îæ #T35 0 ¤«¤¤¤í ¥«¥¤¥í #CN 0 ¤«¤¤¤í ²ûϧ #T35 0 ¤«¤¤¤í ³¤Ï© #T35 0 ¤«¤¤¤í ²óÏ© #T35 53 ¤«¤¤¤í¤¦ ²óÏ­ #T35 1 ¤«¤¤¤ï ²ñÏà #T30 33 ¤«¤¤¤ï¤¤ ³¦·¨ #T35 1 ¤«¤¤¤ó ²¼±¡ #T35 0 ¤«¤¦¤ó¤¿ ¥«¥¦¥ó¥¿ #T35 18 ¤«¤¦¤ó¤¿¡¼ ¥«¥¦¥ó¥¿¡¼ #T35 18 ¤«¤¦¤ó¤È ¥«¥¦¥ó¥È #T30 11 ¤«¤¨ ²Ú³¨ #JNM 0 ¤«¤¨ ÊѤ¨ #KS 255 ¤«¤¨ ¤«¤¨ #KS 3 ¤«¤¨ Â夨 #KSr 2 ¤«¤¨ ´¹¤¨ #KSr 38 ¤«¤¨ ÂØ¤¨ #KSr 74 ¤«¤¨ µ¢ #R5r 255 ¤«¤¨ ÊÖ #R5r 255 ¤«¤¨ µ¢ #S5 216 ¤«¤¨ ÊÖ #S5 255 ¤«¤¨¤¸ ´¹»ú #T30 11 ¤«¤¨¤À¤Þ ÂØ¶Ì #T35 0 ¤«¤¨¤Ã¤Æ ¤«¤¨¤Ã¤Æ #F14 11 ¤«¤¨¤Ã¤Æ µÑ¤Ã¤Æ #F14 2 ¤«¤¨¤Ç Éö #T35 0 ¤«¤¨¤ê¤¶ ÊÖ¤êºé #K5r 0 ¤«¤¨¤ê¤¶¤­ Êֺ餭 #T30 0 ¤«¤¨¤ê¤ß ¸Ü¤ß #KS 0 ¤«¤¨¤ê¤ß ¾Ê¤ß #KS 0 ¤«¤¨¤ë ³¿ #T35 9 ¤«¤¨¤ó ²Ð±ê #T35 1 ¤«¤¨¤ó ²Ð±ë #T35 1 ¤«¤ª ·° #R5 3 ¤«¤ª ¹á #R5r 5 ¤«¤ª ´é #T35 51 ¤«¤ª¤¢¤ï¤» ´é¹ç¤» #T30 3 ¤«¤ª¤¤¤í ´é¿§ #T35 1 ¤«¤ª¤¦ ¼¯±û #JCN 0 ¤«¤ª¤¦ ²Ö²¦ #KK 4 ¤«¤ª¤¯ ²È²° #T35 1 ¤«¤ª¤¹ ¥«¥ª¥¹ #T35 1 ¤«¤ª¤À¤Á ´éΩ¤Á #T35 0 ¤«¤ª¤Ö¤ì ´é¤Ö¤ì #T35 2 ¤«¤ª¤ß¤·¤ê ´é¸«ÃΤê #T35 1 ¤«¤ª¤à¤± ´é¸þ¤± #T30 0 ¤«¤ª¤ä¤¯ ´éÌò #T35 0 ¤«¤ª¤ê ·°Íý #JNM 0 ¤«¤ª¤ê ¹á¿¥ #JNM 0 ¤«¤ª¤ë ¤«¤ª¤ë #JNM 0 ¤«¤ª¤ë ³¾ #JNM 0 ¤«¤ª¤ë ·° #JNM 0 ¤«¤ª¤ë ¹á #JNM 0 ¤«¤ª¤ó ²Ã²¹ #T30 2 ¤«¤ª¤ó¤Ð¤ó ²Ã²¹È× #T35 1 ¤«¤« ·ü¤« #R5 0 ¤«¤« ·¸ #R5 1 ¤«¤« ²Í¤« #R5 10 ¤«¤« ¤«¤« #R5 113 ¤«¤« ³Ý¤« #R5 42 ¤«¤« ·ç¤« #S5 1 ¤«¤«¤¤ ²¼³¦ #T35 0 ¤«¤«¤¨ Êú¤¨ #KS 18 ¤«¤«¤¯ ²Á³Ê #T35 37 ¤«¤«¤² ·Ç¤² #KS 2 ¤«¤«¤Â ¹á¡¹ÃÏ #CN 0 ¤«¤«¤È ìû #T35 0 ¤«¤«¤ß¤¬¤Ï¤é ³ÆÌ³¸¶ #CN 0 ¤«¤«¤ê ·¸ #T35 14 ¤«¤«¤ê¤¤¤ó ·¸°÷ #T35 1 ¤«¤«¤ê¤«¤ó ·¸´± #T35 0 ¤«¤«¤ê¤Á¤ç¤¦ ·¸Ä¹ #T35 2 ¤«¤«¤ë ¤«¤«¤ë #RT 0 ¤«¤«¤ï ¹´ #R5 2 ¤«¤«¤ï ´Ø #R5r 0 ¤«¤«¤ï ´Ø¤ï #R5r 2 ¤«¤«¤ï ¤«¤«¤ï #R5r 22 ¤«¤«¤ï ·¸¤ï #R5r 4 ¤«¤«¤ó ²Ì´º #T05 0 ¤«¤«¤ó ²Ä´¹ #T05 4 ¤«¤¬ ²Ã²ì #JCN 0 ¤«¤¬ ¶þ #M5 0 ¤«¤¬¤¤ ²Ý³° #T35 0 ¤«¤¬¤¤ ²Ã³² #T35 2 ¤«¤¬¤¯ ²Ê³Ø #T30 71 ¤«¤¬¤¯ ²¼³Ü #T35 1 ¤«¤¬¤¯ ²½³Ø #T35 30 ¤«¤¬¤ß ¶À #JCN 0 ¤«¤¬¤ß ¹á²æÈþ #JCN 0 ¤«¤¬¤ß ¶À #T35 7 ¤«¤¬¤ß¤¤¤· ¶ÀÀÐ #JCN 0 ¤«¤¬¤ß¤Î ¶ÀÌî #JCN 0 ¤«¤¬¤ä ²Ã²ìë #JCN 0 ¤«¤¬¤ä µ± #K5r 4 ¤«¤¬¤ä¤« µ±¤« #S5 0 ¤«¤¬¤ä¤«¤· µ±¤«¤· #KY 0 ¤«¤¬¤ä¤«¤·¤å¤¦ µ±¤«¤·¤å¤¦ #KYU 0 ¤«¤¬¤ï ¹áÀî #JCN 0 ¤«¤¬¤ï¤±¤ó ¹áÀ #CNS 0 ¤«¤­ ²Æ´ü #T35 0 ¤«¤­ ²Æµ¨ #T35 0 ¤«¤­ ²Ðµ¤ #T35 0 ¤«¤­ ²ÖÒà #T35 0 ¤«¤­ ÅÈ #T35 0 ¤«¤­ ²´³Â #T35 1 ¤«¤­ ³Â #T35 1 ¤«¤­ ²Ö´ï #T35 2 ¤«¤­ ²¼µ­ #T35 47 ¤«¤­ ³Á #T35 6 ¤«¤­ ³À #T35 7 ¤«¤­¤¢¤² ½ñ¤­¾å¤² #KS 3 ¤«¤­¤¢¤² ¤«¤­ÍȤ² #KSr 2 ¤«¤­¤¢¤Ä¤á ¤«¤­½¸¤á #KS 1 ¤«¤­¤¢¤é¤ï ½ñ¤­É½ #S5 1 ¤«¤­¤¤¤ì ½ñ¤­Æþ¤ì #KSr 1 ¤«¤­¤¤¤ì¤É¤­ ½ñ¤­Æþ¤ì»þ #T35 0 ¤«¤­¤¦¤Á ³ÀÆâ #JNS 0 ¤«¤­¤ª¤­ ½ñÃÖ #T30 0 ¤«¤­¤ª¤È ½ñ¤­Íî¤È #S5r 0 ¤«¤­¤ª¤í ½ñ¤­²¼¤í #S5r 0 ¤«¤­¤«¤¨ ½ñ´¹¤¨ #KSr 30 ¤«¤­¤«¤¨ ½ñ¤­´¹¤¨ #KSr 49 ¤«¤­¤«¤¿ ½ñ¤­Êý #T35 40 ¤«¤­¤¯¤À ½ñ¤­²¼ #S5 1 ¤«¤­¤± ¤«¤­¾Ã #S5 1 ¤«¤­¤³ ½ñ¤­¹þ #M5r 161 ¤«¤­¤³¤ß¤±¤ó ½ñ¤­¹þ¤ß¸¢ #T35 0 ¤«¤­¤¶¤­ ³Áºê #JCN 0 ¤«¤­¤½¤¨ ½ñ¤­Åº¤¨ #KSr 0 ¤«¤­¤¾¤á ½ñ½é¤á #T35 0 ¤«¤­¤¿¤Æ ½ñ¤­Î©¤Æ #KS 0 ¤«¤­¤À ½ñ¤­½Ð #S5r 14 ¤«¤­¤Ä¤± ½ñ¤­ÉÕ¤± #KSr 0 ¤«¤­¤Ä¤± ½ñÉÕ¤± #T35 0 ¤«¤­¤Ä¤Ð¤¿ ¥«¥­¥Ä¥Ð¥¿ #T35 0 ¤«¤­¤Ä¤Ð¤¿ Åμã #T35 0 ¤«¤­¤Ä¤é¤Í ½ñ¤­Ï¢¤Í #KSr 0 ¤«¤­¤È¤á ½ñ¤­Î±¤á #KS 1 ¤«¤­¤È¤á ½ñα #T35 0 ¤«¤­¤È¤ê ½ñ¼è #T35 0 ¤«¤­¤Ì ½ñ¤­È´ #K5r 0 ¤«¤­¤Ì¤Þ ³Á¾Â #JNS 0 ¤«¤­¤Í ³Àº¬ #T35 3 ¤«¤­¤Î¤­ ³ÁÌÚ #JCN 0 ¤«¤­¤Î¤³ ½ñ¤­»Ä #S5r 0 ¤«¤­¤Þ¤¼ ¤«¤­º®¤¼ #KSr 0 ¤«¤­¤Þ¤ï ¤«¤­²ó #S5r 1 ¤«¤­¤ß¤À ¤«¤­Íð #S5 0 ¤«¤­¤å¤¦ ²ÐµÞ #T15 1 ¤«¤­¤å¤¦ ²¼µé #T35 2 ¤«¤­¤ç¤¦ ²Í¶¶ #T30 0 ¤«¤­¤ç¤¦ ²Ú¶£ #T35 0 ¤«¤­¤ç¤¦ ²Â¶­ #T35 1 ¤«¤­¤ç¤¦ ²È¶µ #T35 3 ¤«¤­¤ç¤¯ ²Î¶Ê #T35 0 ¤«¤­¤è¤» ¤«¤­´ó¤» #KS 0 ¤«¤­¤ï¤­ ³ÀÏÆ #JNS 0 ¤«¤­¤ï¤± ¤«¤­Ê¬¤± #KSr 0 ¤«¤­¤ó ²Ý¶â #T30 8 ¤«¤­¤ó ²È¶Ù #T35 1 ¤«¤® ¤«¤® #R5r 1 ¤«¤® ¸Â #R5r 130 ¤«¤® ³Ã #T35 0 ¤«¤® ¤«¤® #T35 1 ¤«¤® ¥«¥® #T35 1 ¤«¤® ¸° #T35 17 ¤«¤®¤«¤Ã¤³ ³Ã³ç¸Ì #T35 0 ¤«¤®¤«¤Ã¤³ ¡Ö #T35 2 ¤«¤®¤«¤Ã¤³ ¡× #T35 2 ¤«¤®¤«¤Ã¤³ ¡Ø #T35 6 ¤«¤®¤«¤Ã¤³ ¡Ù #T35 7 ¤«¤®¤ã¤¯ ²×µÔ #T05 0 ¤«¤®¤ã¤¯ ²ÄµÕ #T15 1 ¤«¤®¤ã¤¯ ²ÃµÔ #T35 0 ¤«¤®¤ç¤¦ ²È¶È #T35 0 ¤«¤®¤ç¤¦ ²Ô¶È #T35 3 ¤«¤®¤ê¤Ê ¸Â¤ê¤Ê #KY 2 ¤«¤®¤ê¤Î¤¦ ¸Â¤ê¤Î¤¦ #KYU 1 ¤«¤¯ ³Î #F12 0 ¤«¤¯ ¤«¤¯ #F14 1 ¤«¤¯ ³Ñ #JS 0 ¤«¤¯ ²è #JS 1 ¤«¤¯ ³Å #KJ 0 ¤«¤¯ ³Ç #KJ 0 ¤«¤¯ ³È #KJ 0 ¤«¤¯ ³É #KJ 0 ¤«¤¯ ³Ï #KJ 0 ¤«¤¯ ³Ò #KJ 0 ¤«¤¯ ³× #KJ 0 ¤«¤¯ ÄÏ #KJ 0 ¤«¤¯ ȹ #KJ 0 ¤«¤¯ ³Ä #KJ 1 ¤«¤¯ ³Í #KJ 1 ¤«¤¯ ³Ð #KJ 1 ¤«¤¯ ³Ó #KJ 1 ¤«¤¯ ³Ô #KJ 1 ¤«¤¯ ³Õ #KJ 1 ¤«¤¯ Äá #KJ 1 ¤«¤¯ ³Ö #KJ 3 ¤«¤¯ ³Î #KJ 9 ¤«¤¯ ³Æ #PRE 231 ¤«¤¯ ±£ #S5 37 ¤«¤¯ ²è #S5 5 ¤«¤¯ ³Ê #SUC 0 ¤«¤¯ ²è #T30 5 ¤«¤¯ ³Ì #T35 0 ¤«¤¯ ³Ë #T35 10 ¤«¤¯ ³Æ #T35 224 ¤«¤¯ ³Ñ #T35 31 ¤«¤¯ ³Ê #T35 5 ¤«¤¯¤¢¤² ³Ê¾å¤² #T30 0 ¤«¤¯¤¤ ³Æ°Ì #T35 18 ¤«¤¯¤¤¤Ä¤Æ¤­ ²è°ìŪ #T05 1 ¤«¤¯¤¤¤ó µÒ°÷ #T35 0 ¤«¤¯¤¤¤ó ³Æ°÷ #T35 1 ¤«¤¯¤¦ ²Í¶õ #T35 1 ¤«¤¯¤¨¤­ ³Æ±Ø #T35 3 ¤«¤¯¤« ³Æ²Ý #T35 0 ¤«¤¯¤« ³Ñ²½ #T35 1 ¤«¤¯¤«¤¤ ³Æ³¬ #T35 0 ¤«¤¯¤«¤¾¤¯ ³Ë²È² #T35 0 ¤«¤¯¤® ³ÕµÄ #T35 1 ¤«¤¯¤±¤ó ³Æ¸© #T35 0 ¤«¤¯¤²¤Ä ³Ö·î #T35 1 ¤«¤¯¤²¤ó ³Î¸À #T30 1 ¤«¤¯¤²¤ó ³Ê¸À #T35 1 ¤«¤¯¤³¤¦ ³Æ¹» #T35 0 ¤«¤¯¤³¤¦ ³Æ¹à #T35 0 ¤«¤¯¤´ ³Ð¸ç #T30 5 ¤«¤¯¤µ ³Êº¹ #T35 2 ¤«¤¯¤µ¤¯ ²èºö #T30 1 ¤«¤¯¤µ¤² ³Ê²¼¤² #T30 0 ¤«¤¯¤µ¤ó ³È»¶ #T30 2 ¤«¤¯¤µ¤ó ³Ë»À #T35 0 ¤«¤¯¤¶¤¤ ³Ñºà #T35 0 ¤«¤¯¤¶¤È¤¦ ³Ñº½Åü #T35 0 ¤«¤¯¤· ³Æ»Ô #T35 0 ¤«¤¯¤· ³Æ»æ #T35 0 ¤«¤¯¤·¤­ ³Ê¼° #T35 1 ¤«¤¯¤·¤Ä ³Î¼¹ #T30 0 ¤«¤¯¤·¤Ä ³Æ¼¼ #T35 0 ¤«¤¯¤·¤Ä ³Ñ¼Á #T35 0 ¤«¤¯¤·¤Æ ¤«¤¯¤·¤Æ #CJ 2 ¤«¤¯¤·¤ã ³Æ¼Ò #T35 28 ¤«¤¯¤·¤ã¤¯ âßïË #F00 0 ¤«¤¯¤·¤å ³Æ¼ï #T35 64 ¤«¤¯¤·¤å¤¦ ³Î¼¹ #T30 0 ¤«¤¯¤·¤å¤¦ ³Æ½µ #T35 2 ¤«¤¯¤·¤å¤¦ ³Ö½µ #T35 2 ¤«¤¯¤·¤ç ³Ñ½ê #JNS 0 ¤«¤¯¤·¤ç ³Æ½ð #T35 0 ¤«¤¯¤·¤ç ³Æ½ê #T35 5 ¤«¤¯¤·¤ç¤¦ ³Î¾Ú #T30 3 ¤«¤¯¤·¤ç¤¦¤Á¤ç¤¦ ³Æ¾ÊÄ£ #T35 0 ¤«¤¯¤·¤ó ³×¿· #T30 2 ¤«¤¯¤·¤ó ³Î¿® #T30 4 ¤«¤¯¤·¤ó ³Ë¿´ #T35 1 ¤«¤¯¤¸ ³Æ¼« #T35 33 ¤«¤¯¤¸¤Ã¤±¤ó ³Ë¼Â¸³ #T30 0 ¤«¤¯¤¸¤Ä ³Î¼Â #T05 34 ¤«¤¯¤¸¤Ä ³ÖÆü #T35 0 ¤«¤¯¤¸¤å¤¦ ³È½¼ #T30 2 ¤«¤¯¤¸¤ç¤· ³Ê½õ»ì #T35 0 ¤«¤¯¤¸¤ó ³Ë¿Î #T35 1 ¤«¤¯¤¸¤ó ³Æ¿Í #T35 4 ¤«¤¯¤¹¤¦ ²è¿ô #T35 11 ¤«¤¯¤»¤¤ ³ÈÀ¼ #T30 0 ¤«¤¯¤»¤¤ ³ÐÀà #T30 0 ¤«¤¯¤»¤¤ ³ÖÀ¤ #T35 0 ¤«¤¯¤»¤¤¤¶¤¤ ³ÐÀÃºÞ #T35 0 ¤«¤¯¤»¤ó ³ÆÀþ #T35 0 ¤«¤¯¤»¤ó¤½¤¦ ³ËÀïÁè #T35 0 ¤«¤¯¤¼¤Ä ³ÖÀä #T30 0 ¤«¤¯¤¼¤ó ²èÁ³ #F00 0 ¤«¤¯¤½¤¦ ³ÆÁØ #T35 23 ¤«¤¯¤¿ ³ÑÅÄ #JCN 0 ¤«¤¯¤À ³ÑÅÄ #JCN 0 ¤«¤¯¤À¤¤ ³ÈÂç #T30 42 ¤«¤¯¤À¤ó ³ÊÃÊ #T35 3 ¤«¤¯¤Á ³ÆÃÏ #T35 1 ¤«¤¯¤Á¤å¤¦ ³ÑÃì #T35 1 ¤«¤¯¤Á¤ç¤¦ ³ÈÄ¥ #T30 255 ¤«¤¯¤Á¤ç¤¦ ³ÊÄ´ #T35 1 ¤«¤¯¤Á¤ç¤¦¤· ³ÈÄ¥»Ò #T35 0 ¤«¤¯¤Ä¤­ ³Æ·î #T35 0 ¤«¤¯¤Å¤± ³ÊÉÕ¤± #T30 0 ¤«¤¯¤Æ¤¤ ³ÎÄê #T30 228 ¤«¤¯¤Æ¤ó ³ÆÅ¹ #T35 0 ¤«¤¯¤Æ¤ó ³ÆÅÀ #T35 0 ¤«¤¯¤È¤¦ ³ÎÅú #T30 0 ¤«¤¯¤È¤¦ ³ÊÆ® #T30 5 ¤«¤¯¤È¤¦ ³ÆÅÞ #T35 0 ¤«¤¯¤È¤¯ ³ÍÆÀ #T30 8 ¤«¤¯¤É ³ÎÅÙ #T35 1 ¤«¤¯¤É ³ÑÅÙ #T35 13 ¤«¤¯¤Ê¤¤ ³ÕÆâ #T35 0 ¤«¤¯¤Ê¤¤ ³ËÆâ #T35 1 ¤«¤¯¤Ë¤ó ³Îǧ #T30 255 ¤«¤¯¤Í¤ó ³Öǯ #T35 0 ¤«¤¯¤Î¤¦ ³ÊǼ #T30 88 ¤«¤¯¤Î¤À¤Æ ³Ñ´Û #JCN 0 ¤«¤¯¤Ï ³ÆÇÉ #T35 0 ¤«¤¯¤Ï¤ó ³ÉÙ #T30 2 ¤«¤¯¤Ï¤ó ³ÆÈÌ #T35 0 ¤«¤¯¤Ö ³ÆÉô #T35 6 ¤«¤¯¤Ö¤ó¤ì¤Ä ³ËʬÎö #T30 0 ¤«¤¯¤Ø¤¤¤­ ³Ëʼ´ï #T35 1 ¤«¤¯¤Ø¤­ ³ÖÊÉ #T35 0 ¤«¤¯¤Ù¤Ä ³ÊÊÌ #T06 2 ¤«¤¯¤Û ³ÎÊÝ #T30 79 ¤«¤¯¤Û¤¦ ³ÎÊó #T35 1 ¤«¤¯¤Þ¤¯ ³ÑËì #T35 0 ¤«¤¯¤á¤¤ ³×Ì¿ #T35 1 ¤«¤¯¤á¤ó ³ÆÌÌ #T35 1 ¤«¤¯¤ä¤¯ ³ÎÌó #T30 1 ¤«¤¯¤ä¤¹ ³Ê°Â #T05 4 ¤«¤¯¤æ¤¦¤´¤¦ ³ËÍ»¹ç #T30 0 ¤«¤¯¤é¤ó ³ÉÍð #T30 0 ¤«¤¯¤ê ³ÖÎ¥ #T30 1 ¤«¤¯¤ê¤Ä ³ÎΩ #T30 133 ¤«¤¯¤ê¤Ä ³ÎΨ #T35 62 ¤«¤¯¤ê¤ç¤¦ ³Õν #T35 1 ¤«¤¯¤ì ¤«¤¯¤ì #KS 3 ¤«¤¯¤ì ±£¤ì #KS 5 ¤«¤¯¤ì¤¬ ±£¤ì²È #T35 0 ¤«¤¯¤ì¤ó¤Ü ¤«¤¯¤ì¤ó¤Ü #T30 1 ¤«¤¯¤í¤ó ³ÆÏÀ #T35 1 ¤«¤° ²È¶ñ #T35 0 ¤«¤°¤é ¿À³Ú #T35 1 ¤«¤± ²Ã·× #JCN 0 ¤«¤± ³Ý #KJ 1 ¤«¤± ¶ï¤± #KS 0 ¤«¤± ²Í¤± #KS 1 ¤«¤± ¶î¤± #KS 1 ¤«¤± ·ü¤± #KS 1 ¤«¤± ¤«¤± #KS 116 ¤«¤± æÆ¤± #KS 2 ¤«¤± ³Ý¤± #KS 49 ¤«¤± ·ç¤± #KSr 2 ¤«¤± ÅÒ¤± #KSr 2 ¤«¤± ÅÒ #T35 0 ¤«¤±¤¢ ³Ý¤±¹ç #W5r 0 ¤«¤±¤¢¤· ¶î¤±Â­ #T10 0 ¤«¤±¤¢¤ï ³Ý¤±¹ç¤ï #S5r 0 ¤«¤±¤¤ äª #JNS 0 ¤«¤±¤¤ äª #KJ 2 ¤«¤±¤¤ ²È·× #T35 2 ¤«¤±¤¤ ²È·Ï #T35 4 ¤«¤±¤¤¤Ü ²È·×Êí #T35 0 ¤«¤±¤ª¤Á ¶î¤±Íî¤Á #T30 1 ¤«¤±¤¬¤¨ ³ÝÂØ¤¨ #T35 0 ¤«¤±¤¬¤¨ ³Ý¤±Âؤ¨ #T35 0 ¤«¤±¤¬¤¨ ¤«¤±¤¬¤¨ #T35 0 ¤«¤±¤¬¤ï ³ÝÀî #JCN 0 ¤«¤±¤­¤ó ³Ý¶â #T35 0 ¤«¤±¤³ ¶î¤±¹þ #M5r 1 ¤«¤±¤´¤¨ ¤«¤±À¼ #T35 1 ¤«¤±¤´¤È ÅÒ»ö #T35 0 ¤«¤±¤¶¤ó ³Ý¤±»» #T30 0 ¤«¤±¤¶¤ó ³Ý»» #T30 0 ¤«¤±¤¶¤ó ¤«¤±»» #T30 1 ¤«¤±¤¸¤¯ ³Ý¼´ #T35 0 ¤«¤±¤º ³Ý¿Þ #T35 0 ¤«¤±¤º¤ê¤Þ¤ï ¶î¤±¤º¤ê¤Þ¤ï #R5 1 ¤«¤±¤º¤ê¤Þ¤ï ¶î¤±¤º¤ê²ó #R5 1 ¤«¤±¤À ¶î¤±½Ð #S5r 0 ¤«¤±¤Ä ²Ä·è #T30 1 ¤«¤±¤Ä¤± ¶î¤±¤Ä¤± #KSr 2 ¤«¤±¤Ì¤± ¶î¤±È´¤± #KS 1 ¤«¤±¤Í ³Ý¤±ÃÍ #T35 0 ¤«¤±¤Î¤Ü ¶î¤±ÅÐ #R5r 0 ¤«¤±¤Ï¤· ²Í¤±¶¶ #T35 0 ¤«¤±¤Ï¤Ê¤ì ¤«¤±Î¥¤ì #KSr 1 ¤«¤±¤Ò¤­ ¶î°ú¤­ #T30 0 ¤«¤±¤Ò¤­ ¶î¤±°ú¤­ #T30 2 ¤«¤±¤Ø¤À¤Æ ¤«¤±³Ö¤Æ #KSr 0 ¤«¤±¤Þ¤ï ¶î¤±²ó #R5 0 ¤«¤±¤â ³Ý¤±»ý #T5r 0 ¤«¤±¤â¤Á ³Ý»ý¤Á #T30 0 ¤«¤±¤ä ³Ý¹ç #JCN 0 ¤«¤±¤è ¶î¤±´ó #R5 0 ¤«¤±¤é ¤«¤±¤é #T35 1 ¤«¤±¤ë ¡ß #T35 24 ¤«¤±¤ó ²Ê¸¦ #KK 2 ¤«¤±¤ó¤Ò ²Ê¸¦Èñ #KK 2 ¤«¤² ¼¯ÌÓ #JNS 0 ¤«¤² ¤«¤² #T35 1 ¤«¤² °þ #T35 2 ¤«¤² ±¢ #T35 2 ¤«¤² ±Æ #T35 23 ¤«¤²¤¨ ±Æ³¨ #T35 0 ¤«¤²¤­ ²á·ã #T05 4 ¤«¤²¤­ ²Î·à #T35 0 ¤«¤²¤°¤Á ±¢¸ý #T30 1 ¤«¤²¤Ä ¤«·î #JS 0 ¤«¤²¤Ä ¥«·î #JS 0 ¤«¤²¤Ä ¥ö·î #JS 0 ¤«¤²¤Ä ¥õ·î #JS 19 ¤«¤²¤Ü¤· ±¢´³¤· #T30 0 ¤«¤²¤ä¤Þ ±Æ»³ #JNS 0 ¤«¤²¤ê ¤«¤²¤ê #T35 1 ¤«¤²¤í¤¦ ÍÛ±ê #T35 1 ¤«¤²¤ó ²Ã¸º #T30 8 ¤«¤²¤ó ²¼¸¹ #T35 0 ¤«¤²¤ó ²¼¸Â #T35 4 ¤«¤²¤ó¤¸¤ç¤¦¤¸¤ç ²Ã¸º¾è½ü #T30 0 ¤«¤²¤ó¤Á ²¼¸ÂÃÍ #T35 0 ¤«¤³ ²Ã¸Å #JCN 0 ¤«¤³ °Ï #M5r 48 ¤«¤³ ²áµî #T35 27 ¤«¤³ ¤«¤³ #T5 0 ¤«¤³ °Ï #W5r 45 ¤«¤³¤¦ ²¼¹ß #T30 0 ¤«¤³¤¦ ²Ã¹© #T30 5 ¤«¤³¤¦ ²Ï¸ý #T35 1 ¤«¤³¤¦ ²Ð¸ý #T35 1 ¤«¤³¤¦¤¬¤ó ²ÖÖ¾´ä #T35 0 ¤«¤³¤¦¤»¤ó ²¼¹ßÀþ #T35 0 ¤«¤³¤¬¤ï ²Ã¸ÅÀî #JCN 0 ¤«¤³¤¯ ¥«¹ñ #JS 0 ¤«¤³¤¯ ¥ö¹ñ #JS 0 ¤«¤³¤¯ ²á¹ó #T05 0 ¤«¤³¤¯ ²×¹ó #T05 1 ¤«¤³¤ó ²Òº¬ #T35 0 ¤«¤´ äÆ #KJ 1 ¤«¤´ ²Ã¸î #T35 0 ¤«¤´ ϶ #T35 4 ¤«¤´ äÆ #T35 4 ¤«¤´¤¦ ²½¹ç #T30 0 ¤«¤´¤¦¤Ö¤Ä ²½¹çʪ #T35 0 ¤«¤´¤·¤Þ ¼¯»ùÅç #CN 0 ¤«¤´¤·¤Þ¤±¤ó ¼¯»ùÅ縩 #CNS 0 ¤«¤´¤·¤Þ¤· ¼¯»ùÅç»Ô #CNS 0 ¤«¤´¤¿¤Ë ϶ë #JNS 0 ¤«¤´¤¿¤Ë äÆÃ« #JNS 0 ¤«¤´¤á ¥«¥´¥á #KK 1 ¤«¤´¤ó ²á¸À #T35 1 ¤«¤µ ²Ãº´ #JCN 0 ¤«¤µ ³Þ #T35 1 ¤«¤µ ¿ó #T35 1 ¤«¤µ »± #T35 8 ¤«¤µ¤¤ ²ÃÀ¾ #JCN 0 ¤«¤µ¤¤ ³Þ°æ #JCN 0 ¤«¤µ¤¤ ³ëÀ¾ #JCN 0 ¤«¤µ¤¤ ²ÏÀ¾ #JNS 0 ¤«¤µ¤¤ ²ÐºÒ #T35 1 ¤«¤µ¤¤ ²ÈºÛ #T35 2 ¤«¤µ¤¤¤ê¤å¤¦ ²ÐºÕή #T35 0 ¤«¤µ¤ª¤« ³Þ²¬ #JCN 0 ¤«¤µ¤«¤± ³Þ·ü #JCN 0 ¤«¤µ¤® ³ÞÃÖ #JCN 0 ¤«¤µ¤¯ ²Éºî #T05 0 ¤«¤µ¤¯ ²Èºî #T35 0 ¤«¤µ¤¯ ²Âºî #T35 1 ¤«¤µ¤µ ³Þº» #JCN 0 ¤«¤µ¤Ê ½Å¤Ê #R5r 20 ¤«¤µ¤Í ½Å¤Í #KS 13 ¤«¤µ¤Í¤Æ ½Å¤Í¤Æ #F14 0 ¤«¤µ¤Í¤Æ ½Å¤Í¤Æ #T36 0 ¤«¤µ¤Ï¤é ³Þ¸¶ #JCN 0 ¤«¤µ¤Þ ³Þ´Ö #JCN 0 ¤«¤µ¤Þ¤Ä ³Þ¾¾ #JCN 0 ¤«¤µ¤ß ¿ó #JN 0 ¤«¤µ¤ê ³ÞÍø #JCN 0 ¤«¤µ¤ó ²Ä»» #T15 0 ¤«¤µ¤ó ²Ã»» #T30 16 ¤«¤¶ ¾þ #R5r 17 ¤«¤¶¤¤ ²Èºâ #T35 0 ¤«¤¶¤«¤ß É÷¾å #T35 1 ¤«¤¶¤°¤ë¤Þ É÷¼Ö #T35 0 ¤«¤¶¤·¤â É÷²¼ #T35 1 ¤«¤¶¤Þ É÷´Ö #JNS 0 ¤«¤¶¤Þ É÷´Ö #T35 1 ¤«¤¶¤Þ¤¦¤é É÷´Ö±º #CN 0 ¤«¤¶¤ß É÷¸« #T35 0 ¤«¤¶¤ß¤É¤ê É÷¸«·Ü #T35 0 ¤«¤¶¤à¤­ É÷¸þ¤­ #T35 0 ¤«¤¶¤ê¤Ä¤± ¾þ¤êÉÕ¤± #KSr 1 ¤«¤¶¤ï ¼¯Âô #JCN 0 ¤«¤¶¤ó ²Ð»³ #T35 1 ¤«¤¶¤ó¤Ð¤¤ ²Ð»³³¥ #T35 0 ¤«¤· ·¹ #G5 0 ¤«¤· ¿æ #G5r 0 ¤«¤· ²¾»à #T35 0 ¤«¤· ²Ï´ß #T35 0 ¤«¤· ²Ú»á #T35 0 ¤«¤· ³à #T35 0 ¤«¤· Âߤ· #T35 0 ¤«¤· ³ß #T35 1 ¤«¤· ²Ä»ë #T35 12 ¤«¤· àìáÓ #T35 2 ¤«¤· ²Î»ì #T35 7 ¤«¤· ²Û»Ò #T35 9 ¤«¤·¤ª ¥«¥·¥ª #KK 1 ¤«¤·¤ª¤« Ç𲬠#JNS 0 ¤«¤·¤«¤¿ ÂßÊý #T35 1 ¤«¤·¤«¤ó ²¼»Î´± #T35 0 ¤«¤·¤­¤ê ÂßÀÚ¤ê #T30 0 ¤«¤·¤­¤ó Âߤ·¶â #T35 2 ¤«¤·¤² ·¹¤² #KS 0 ¤«¤·¤² ¤«¤·¤² #KS 1 ¤«¤·¤³ ¸­ #KY 7 ¤«¤·¤³ Âߤ·±Û #S5r 0 ¤«¤·¤³¤¦ ¸­¤¦ #KYU 1 ¤«¤·¤³¤Þ °Ú¤Þ #R5r 0 ¤«¤·¤À Âߤ·½Ð #S5r 26 ¤«¤·¤Á¤ó ÂßÄ #T35 0 ¤«¤·¤Ä ²Ã¼¾ #T30 2 ¤«¤·¤Ä ²á¼º #T35 1 ¤«¤·¤Ä¤± Âߤ·ÉÕ¤± #KSr 0 ¤«¤·¤Ï¤é ³à¸¶ #JCN 0 ¤«¤·¤Ð ¹á¼Ç #JCN 0 ¤«¤·¤Û¤ó ÂßËÜ #T35 0 ¤«¤·¤Þ ²ÅÅç #JCN 0 ¤«¤·¤Þ ¼¯Åç #JCN 0 ¤«¤·¤Þ ¼¯Åè #JNS 0 ¤«¤·¤Þ Âß´Ö #T35 0 ¤«¤·¤Þ¤· ´¯¤· #KY 0 ¤«¤·¤Þ¤·¤å¤¦ ´¯¤·¤å¤¦ #KYU 0 ¤«¤·¤Þ¤À¤¤ ¼¯ÅçÂæ #CN 0 ¤«¤·¤â ²Ã»ÒÊì #CN 0 ¤«¤·¤ã ²ß¼Ö #T35 0 ¤«¤·¤ã¤¯ ÒêÀÕ #T35 0 ¤«¤·¤ä Âß²È #T35 0 ¤«¤·¤å ²Î¼ê #T35 1 ¤«¤·¤å¤¦ ²Î½¸ #T35 1 ¤«¤·¤ç ¥ö½ê #JS 0 ¤«¤·¤ç ²Õ½ê #JS 50 ¤«¤·¤ç ¸Ä½ê #T35 1 ¤«¤·¤ç ²Õ½ê #T35 25 ¤«¤·¤ç¤¦ ²á¾¯ #T05 0 ¤«¤·¤ç¤¦ ²á¾® #T05 1 ¤«¤·¤ç¤¦ ²Î¾§ #T30 0 ¤«¤·¤ç¤¦ ²¾¾Î #T35 6 ¤«¤·¤ç¤¯ ²á¿© #T30 0 ¤«¤·¤ç¤¯ ²Ú¿¤ #T35 0 ¤«¤·¤ç¤¯¤·¤ç¤¦ ²á¿©¾É #T35 0 ¤«¤·¤ç¤¯¤Î¤Æ¤ó ²Ú¿¤¤Îŵ #T35 0 ¤«¤·¤é ¤«¤·¤é #CJ 19 ¤«¤·¤é Ƭ #T35 3 ¤«¤·¤ï Çð #JCN 0 ¤«¤·¤ï ³ü #T35 0 ¤«¤·¤ï Çð #T35 5 ¤«¤·¤ï¤® ÇðÌÚ #JCN 0 ¤«¤·¤ï¤¶¤­ Çðºê #JCN 0 ¤«¤·¤ï¤Ð¤é Ç𸶠#JCN 0 ¤«¤·¤ï¤â¤Á ÇðÌß #T35 0 ¤«¤·¤ï¤é Ç𸶠#JCN 0 ¤«¤·¤ó ²á¿® #T30 1 ¤«¤·¤ó ²È¿Ã #T35 0 ¤«¤¸ ³á #JNS 0 ¤«¤¸ ¤«¤¸ #R5r 3 ¤«¤¸ ÂÈ #T35 0 ¤«¤¸ ÃÃÌê #T35 0 ¤«¤¸ ²Ð»ö #T35 1 ¤«¤¸ ³á #T35 1 ¤«¤¸ ÂÉ #T35 13 ¤«¤¸ ²È»ö #T35 4 ¤«¤¸¤¤ ³á°æ #JNS 0 ¤«¤¸¤¦¤é ³á±º #JNS 0 ¤«¤¸¤« ¤«¤¸¤« #M5r 0 ¤«¤¸¤« ³â #T35 0 ¤«¤¸¤« ò» #T35 1 ¤«¤¸¤«¤¶¤ï ³âÂô #JCN 0 ¤«¤¸¤«¤ï ²ÃÌêÀî #JNS 0 ¤«¤¸¤­ ²Ã¼£ÌÚ #JCN 0 ¤«¤¸¤¿¤Ë ³áë #JNS 0 ¤«¤¸¤Ä ²ÂÆü #T35 0 ¤«¤¸¤Ä ²Ì¼Â #T35 0 ¤«¤¸¤Ä ²áÆü #T35 1 ¤«¤¸¤Ï¤é ³á¸¶ #JNS 0 ¤«¤¸¤Þ ¼¯Åç #JCN 0 ¤«¤¸¤Þ ¼¯Åè #JNS 0 ¤«¤¸¤â¤È ³áËÜ #JNS 0 ¤«¤¸¤å ²Ì¼ù #T35 0 ¤«¤¸¤å¤¦ ²á½Å #T05 0 ¤«¤¸¤å¤¦ ²Ã½Å #T30 1 ¤«¤¸¤å¤¦ ²Ì½Á #T35 0 ¤«¤¸¤å¤¦ ²Ù½Å #T35 0 ¤«¤¸¤ç ²Ã½ü #T30 0 ¤«¤¸¤ç¤¦ ¤«¾ò #JS 0 ¤«¤¸¤ç¤¦ ¥ö¾ò #JS 0 ¤«¤¸¤ç¤¦ ²Õ¾ò #JS 0 ¤«¤¸¤ç¤¦ ²á¾ê #T05 2 ¤«¤¸¤ç¤¦ ²Õ¾ò #T35 1 ¤«¤¸¤ç¤¦¤¬¤­ ²Õ¾ò½ñ #T30 2 ¤«¤¸¤ï¤é ³á¸¶ #JCN 0 ¤«¤¸¤ó ²Î¿Í #T35 1 ¤«¤¸¤ó ²Â¿Í #T35 0 ¤«¤¸¤ó¤Ï¤¯¤á¤¤ ²Â¿ÍÇöÌ¿ #T35 1 ¤«¤¹ ¥«¥¹ #JN 0 ¤«¤¹ ²â #M5r 1 ¤«¤¹ Ϋ #R5r 0 ¤«¤¹ Áì #T35 0 ¤«¤¹ Çô #T35 0 ¤«¤¹ ¥«¥¹ #T35 8 ¤«¤¹¤¤ ²¼¿â #T30 0 ¤«¤¹¤¤¤Ö¤ó¤«¤¤ ²Ã¿åʬ²ò #T30 1 ¤«¤¹¤¦ ²¾¿ô #T35 3 ¤«¤¹¤« Èù¤« #T05 1 ¤«¤¹¤« ¤«¤¹¤« #T05 3 ¤«¤¹¤«¤Ù ½ÕÆüÉô #JCN 0 ¤«¤¹¤«¤ï ÇôÀî #JCN 0 ¤«¤¹¤¬ ½ÕÆü #JCN 0 ¤«¤¹¤¬ ½ÕÆü #T35 3 ¤«¤¹¤¬¤¤ ½ÕÆü°æ #JCN 0 ¤«¤¹¤¬¤¤ ½ÕÆüµï #JCN 0 ¤«¤¹¤¬¤Î¤Ä¤Ü¤Í ½ÕÆü¶É #JN 0 ¤«¤¹¤±¡¼¤É ¥«¥¹¥±¡¼¥É #T05 1 ¤«¤¹¤¿¤Þ¤¤¤º ¥«¥¹¥¿¥Þ¥¤¥º #T30 255 ¤«¤¹¤¿¤à ¥«¥¹¥¿¥à #T35 4 ¤«¤¹¤¿¤à¤« ¥«¥¹¥¿¥à²½ #T30 2 ¤«¤¹¤Æ¤é ¥«¥¹¥Æ¥é #T35 1 ¤«¤¹¤ß ¹á½» #JCN 0 ¤«¤¹¤ß ²â #T35 3 ¤«¤¹¤ß¤¬¤¦¤é ²â¥ö±º #CN 0 ¤«¤¹¤ß¤¬¤»¤­ ²â¥ö´Ø #CN 0 ¤«¤¹¤ä Çô²° #JCN 0 ¤«¤¹¤ä Çôë #JNS 0 ¤«¤º Ï #KJ 15 ¤«¤º ¿ô #T35 162 ¤«¤º ²¼¿Þ #T35 4 ¤«¤º¤¢¤­ ÏÂÌÀ #JNM 0 ¤«¤º¤¨ Ï·à #JNM 0 ¤«¤º¤¨ ÏÂ»Þ #JNM 0 ¤«¤º¤ª °ìÃË #JNM 0 ¤«¤º¤ª °ìÉ× #JNM 0 ¤«¤º¤ª °ìͺ #JNM 0 ¤«¤º¤ª ÏÂÃË #JNM 0 ¤«¤º¤ª ÏÂÉ× #JNM 0 ¤«¤º¤ª ÏÂͺ #JNM 0 ¤«¤º¤ª¤ª ¿ô¿ #KY 1 ¤«¤º¤ª¤ª¤¯ ¿ô¿¤¯ #T35 4 ¤«¤º¤ª¤ß Ï¿à #JNM 0 ¤«¤º¤«¤º ¿ô¡¹ #T35 3 ¤«¤º¤­ °ì¼ù #JNM 0 ¤«¤º¤³ ÎÌ»Ò #JNM 0 ¤«¤º¤³ ÏÂ»Ò #JNM 0 ¤«¤º¤µ ¾åÁí #CN 0 ¤«¤º¤· °ì»Ê #JNM 0 ¤«¤º¤·¤² ÏÂÌÐ #JNM 0 ¤«¤º¤¹¤¯¤Ê ¿ô¾¯¤Ê #KY 0 ¤«¤º¤¹¤¯¤Î¤¦ ¿ô¾¯¤Î¤¦ #KYU 0 ¤«¤º¤È¤· ÏÂÍø #JNM 0 ¤«¤º¤Î¤³ òÆ #T35 1 ¤«¤º¤Î¤ê °ì·û #JNM 0 ¤«¤º¤Î¤ê ÏÂÆÁ #JNM 0 ¤«¤º¤Ò¤³ ÏÂÈæ¸Å #JN 0 ¤«¤º¤Ò¤³ °ìɧ #JNM 0 ¤«¤º¤Ò¤³ ÏÂɧ #JNM 0 ¤«¤º¤Ò¤µ °ìµ× #JNM 0 ¤«¤º¤Ò¤µ °ì¼÷ #JNM 0 ¤«¤º¤Ò¤µ ÏÂµ× #JNM 0 ¤«¤º¤Ò¤Ç Ͻ¨ #JNM 0 ¤«¤º¤Ò¤È °ì¿Î #JNM 0 ¤«¤º¤Ò¤È Ï¿Π#JNM 0 ¤«¤º¤Ò¤í °ì¹¨ #JNM 0 ¤«¤º¤Ò¤í °ì¹° #JNM 0 ¤«¤º¤Ò¤í °ìÇî #JNM 0 ¤«¤º¤Ò¤í Ϲ­ #JNM 0 ¤«¤º¤Ò¤í Ϲ° #JNM 0 ¤«¤º¤Ò¤í ÏÂ͵ #JNM 0 ¤«¤º¤Þ ÏÂÇÏ #JNM 0 ¤«¤º¤Þ¤µ °ìÀµ #JNM 0 ¤«¤º¤Þ¤µ ÏÂÀµ #JNM 0 ¤«¤º¤ß °ì»° #JNM 0 ¤«¤º¤ß °ìÈþ #JNM 0 ¤«¤º¤ß ÏÂÈþ #JNM 0 ¤«¤º¤ß¤Á °ìÏ© #JNM 0 ¤«¤º¤ä °ìÌé #JNM 0 ¤«¤º¤ä ¿ôÌé #JNM 0 ¤«¤º¤ä ÏÂÌé #JNM 0 ¤«¤º¤ä ÏÂÌï #JNM 0 ¤«¤º¤æ¤­ °ì¹Ô #JNM 0 ¤«¤º¤æ¤­ Ϲ¬ #JNM 0 ¤«¤º¤æ¤­ ÏÂÇ· #JNM 0 ¤«¤º¤è¤· °ìµÁ #JNM 0 ¤«¤º¤è¤· ϵÁ #JNM 0 ¤«¤º¤è¤· ÏÂÈþ #JNM 0 ¤«¤º¤é ³ë #T35 0 ¤«¤» ²Ô #G5r 5 ¤«¤» ²ÃÀ¥ #JNS 0 ¤«¤» ÛÈ #T35 3 ¤«¤»¤¤ ²ÐÀ± #CNS 2 ¤«¤»¤¤ ²ÃÀª #T30 0 ¤«¤»¤¤ ²¾À­ #T35 0 ¤«¤»¤¤ ²½À® #T35 4 ¤«¤»¤¤ ²ÈÀ¯ #T35 6 ¤«¤»¤­ ²½ÀÐ #T35 1 ¤«¤»¤À ²ÃÀ¤ÅÄ #JCN 0 ¤«¤»¤Ã¤È ¥«¥»¥Ã¥È #T35 2 ¤«¤»¤Ä ²¾Àß #T30 0 ¤«¤»¤Ä ²ÍÀß #T30 1 ¤«¤»¤Ä ²¾Àâ #T35 6 ¤«¤»¤ó ²ÍÀþ #T30 0 ¤«¤»¤ó ²ÉÀê #T30 4 ¤«¤»¤ó ²½Á¡ #T35 0 ¤«¤»¤ó ²¼Àþ #T35 10 ¤«¤»¤ó ²ÏÀî #T35 3 ¤«¤¼ É÷ #T35 27 ¤«¤¼ É÷¼Ù #T35 33 ¤«¤¼¤¤ ²ÝÀÇ #T30 0 ¤«¤¼¤¤¤ó ¥«¥¼¥¤¥ó #T35 1 ¤«¤¼¤à¤­ É÷¸þ¤­ #T35 0 ¤«¤½ ²áÁ #T35 2 ¤«¤½¤¦ ²¾Áõ #T30 0 ¤«¤½¤¦ ²ÐÁò #T30 0 ¤«¤½¤¦ ²¾ÁÛ #T30 59 ¤«¤½¤¦ ²¼ÁØ #T35 2 ¤«¤½¤¦¤­¤ª¤¯ ²¾ÁÛµ­²± #T35 10 ¤«¤½¤¯ ²Ã® #T30 2 ¤«¤½¤¯¤É ²Ã®ÅÙ #T35 1 ¤«¤¾ ²Ã¿Ü #JCN 0 ¤«¤¾¤¦ ²È¢ #T30 0 ¤«¤¾¤¨ ¿ô¤¨ #KSr 10 ¤«¤¾¤¯ ²Ú² #T35 0 ¤«¤¾¤¯ ²È² #T35 17 ¤«¤¾¤¯¤Å¤ì ²È²Ϣ¤ì #T35 2 ¤«¤¿ Êý #D2T35 144 ¤«¤¿ Êý #JNSUC 0 ¤«¤¿ Æñ #KY 3 ¤«¤¿ ·ø #KYme 2 ¤«¤¿ ¹Å #KYme 4 ¤«¤¿ ¸Ç #KYmime 1 ¤«¤¿ ÊÒ #PRE 0 ¤«¤¿ ¸ì #R5r 4 ¤«¤¿ ¤«¤¿ #T15 0 ¤«¤¿ ²á¿ #T15 0 ¤«¤¿ ³ã #T35 0 ¤«¤¿ ÊÒ #T35 0 ¤«¤¿ ·Á #T35 1 ¤«¤¿ ·¿ #T35 227 ¤«¤¿ Êý #T35 227 ¤«¤¿ ¸ª #T35 29 ¤«¤¿¤¢¤· ÊÒ­ #T35 0 ¤«¤¿¤¤¤¸ ÊÒ°ÕÃÏ #T18 0 ¤«¤¿¤¤¤ì ¸ªÆþ¤ì #T30 0 ¤«¤¿¤¦¤Ç ÊÒÏÓ #T35 0 ¤«¤¿¤ª¤« ÊÒ²¬ #JCN 0 ¤«¤¿¤ª¤â¤¤ Êһפ¤ #T30 0 ¤«¤¿¤ª¤â¤¤ ÊÒÁÛ¤¤ #T30 13 ¤«¤¿¤«¤Ê ÊÒ²¾Ì¾ #T35 4 ¤«¤¿¤«¤Ê ¥«¥¿¥«¥Ê #T35 64 ¤«¤¿¤¬¤­ ¸ª½ñ #T35 1 ¤«¤¿¤¬¤¿ Êý¡¹ #CJ 18 ¤«¤¿¤¬¤¿ Êý¡¹ #T35 41 ¤«¤¿¤¬¤ß ·¿»æ #T35 0 ¤«¤¿¤¬¤ï ÊÒ¦ #T35 2 ¤«¤¿¤¬¤ï¤ê ¸ªÂå¤ê #T30 2 ¤«¤¿¤­¤¦¤Á ŨƤ¤Á #T30 0 ¤«¤¿¤® ·øµ¤ #T05 1 ¤«¤¿¤® µ¤¼Á #T35 0 ¤«¤¿¤®¤ê ÊÒ¶Í #JCN 0 ¤«¤¿¤¯ ²¾Â÷ #T30 0 ¤«¤¿¤¯ ²ÈÂð #T35 0 ¤«¤¿¤¯¤º¤ì ·¿¤¯¤º¤ì #T30 0 ¤«¤¿¤¯¤Ê ¤«¤¿¤¯¤Ê #T05 0 ¤«¤¿¤¯¤ê ÊÒ·ª #T35 0 ¤«¤¿¤¯¤ê¤³ ÊÒ·ªÊ´ #T35 0 ¤«¤¿¤¯¤ë¤· ·ø¶ì¤· #KY 2 ¤«¤¿¤¯¤ë¤·¤å¤¦ ·ø¶ì¤·¤å¤¦ #KYU 1 ¤«¤¿¤³¤È ÊÒ¸À #T35 1 ¤«¤¿¤³¤ê ¸ª¤³¤ê #T35 1 ¤«¤¿¤·¤Ê ÊÒÉÊ #JCN 0 ¤«¤¿¤¸¤±¤Ê ¤«¤¿¤¸¤±¤Ê #KY 0 ¤«¤¿¤¸¤±¤Î¤¦ ¤«¤¿¤¸¤±¤Î¤¦ #KYU 0 ¤«¤¿¤¹¤ß ÊÒ¶ù #T35 1 ¤«¤¿¤º ¸ÇÂà #T35 0 ¤«¤¿¤¿ ·øÅÄ #JCN 0 ¤«¤¿¤Á ·Á #T35 106 ¤«¤¿¤Á¤Å¤¯ ·Áºî #R5r 1 ¤«¤¿¤Ã¤Ñ¤· ÊÒ¤Ãü #T35 0 ¤«¤¿¤Ä ²Äã #T35 1 ¤«¤¿¤Å ÊÒÉÕ #K5 5 ¤«¤¿¤Å¤± ÊÒÉÕ¤± #KSr 1 ¤«¤¿¤Æ ÊÒ¼ê #T35 2 ¤«¤¿¤Æ¤Þ ÊÒ¼ê´Ö #T35 0 ¤«¤¿¤È¤­ ÊÒ»þ #T35 0 ¤«¤¿¤É ¾Ý #R5 0 ¤«¤¿¤É ·¿¤É #R5r 0 ¤«¤¿¤É¤ª¤ê ·¿¤É¤ª¤ê #T05 0 ¤«¤¿¤Ê Åá #T35 2 ¤«¤¿¤Î ¸òÌî #JCN 0 ¤«¤¿¤Î ÊÒÌî #JNS 0 ¤«¤¿¤Ï¤· ÊÒü #T35 0 ¤«¤¿¤Ï¤Ð ¸ªÉý #T35 0 ¤«¤¿¤Ð¤ó ·¿ÈÖ #T35 3 ¤«¤¿¤Ò¤¬¤· ³ãÅì #JCN 0 ¤«¤¿¤Ö¤Ä ·øÊª #T15 0 ¤«¤¿¤Û¤¦ ÊÒÊý #T35 5 ¤«¤¿¤Þ ¸Ç¤Þ #R5r 12 ¤«¤¿¤Þ¤Á ÊÒÄ® #T35 0 ¤«¤¿¤Þ¤ê ²ô #T35 2 ¤«¤¿¤ß ·Á¸« #T35 0 ¤«¤¿¤ß ÊÒ¿È #T35 0 ¤«¤¿¤ß ¸ª¿È #T35 1 ¤«¤¿¤ß¤Á ÊÒÆ» #T35 6 ¤«¤¿¤à ·¹ #K5r 3 ¤«¤¿¤á ¤«¤¿¤á #KSr 2 ¤«¤¿¤á ¸Ç¤á #KSr 2 ¤«¤¿¤á ·ø¤á #T35 0 ¤«¤¿¤á ÊÒÌÜ #T35 1 ¤«¤¿¤á¤ó ÊÒÌÌ #T35 1 ¤«¤¿¤ä¤Ö¤ê ·¿Çˤê #T05 1 ¤«¤¿¤ä¤Þ ÊÒ»³ #JNS 0 ¤«¤¿¤ä¤Þ¤Å ÊÒ»³ÄÅ #JNS 0 ¤«¤¿¤è ÊÐ #R5r 2 ¤«¤¿¤é ¸ì¤é #W5r 0 ¤«¤¿¤ê ¸ì¤ê #T35 0 ¤«¤¿¤ê¤¢ ¸ì¤ê¹ç #W5r 0 ¤«¤¿¤ê¤Ä ¸ì¤ê·Ñ #G5 0 ¤«¤¿¤í¤° ¥«¥¿¥í¥° #T35 7 ¤«¤¿¤ï¤é ˵¤é #T35 0 ¤«¤¿¤ó ²Ùô #T30 1 ¤«¤¿¤ó ²Ãô #T35 1 ¤«¤¿¤ó ²¼Ã¼ #T35 2 ¤«¤À¤¤ ²áÂç #T05 1 ¤«¤À¤¤ ²ÝÂê #T35 48 ¤«¤À¤ó ²ÎÃÅ #T35 1 ¤«¤À¤ó ²ÖÃÅ #T35 1 ¤«¤Á ²ÁÃÍ #T35 31 ¤«¤Á¤¢ ¤«¤Á¹ç #W5r 2 ¤«¤Á¤«¤ó ²ÁÃÍ´Ñ #T35 4 ¤«¤Á¤­ ¾¡µ¤ #T05 0 ¤«¤Á¤¯ ²ÈÃÜ #T35 1 ¤«¤Á¤³ ¾¡¤Á±Û #S5r 0 ¤«¤Á¤³¤· ¾¡¤Á±Û¤· #T30 0 ¤«¤Á¤¹¤¹ ¾¡¤Á¿Ê #M5 0 ¤«¤Á¤È ¾¡¤Á¼è #R5 0 ¤«¤Á¤Ì ¾¡¤ÁÈ´ #K5r 1 ¤«¤Á¤Ü¤· ¾¡¤ÁÀ± #T35 0 ¤«¤Á¤Þ¤± ¾¡¤ÁÉ餱 #T35 0 ¤«¤Á¤á ¾¡¤ÁÌÜ #T35 0 ¤«¤Á¤å¤¦ ±²Ãæ #T35 0 ¤«¤Á¤ç¤¦ ²Äİ #T05 3 ¤«¤Á¤ç¤¦ ²ÝĹ #T35 53 ¤«¤Á¤ç¤¦¤­¤ó ²Ýħ¶â #T35 0 ¤«¤Á¤ê ¤«¤Á¤ê #F14 1 ¤«¤Á¤ó ¥«¥Á¥ó #F06 1 ¤«¤Ã ³é #S5 10 ¤«¤Ã ³é #T30 10 ¤«¤Ã¤« ³Ñ²½ #T35 1 ¤«¤Ã¤« ³Õ²¼ #T35 1 ¤«¤Ã¤«¤¤ ³Æ²ó #T35 0 ¤«¤Ã¤«¤¤ ³Æ³¦ #T35 0 ¤«¤Ã¤«¤½¤¦¤è¤¦ ³Ö·¤ÁßáÚ #T35 0 ¤«¤Ã¤­ ³èµ¤ #T35 1 ¤«¤Ã¤­¤Æ¤­ ²è´üŪ #T05 5 ¤«¤Ã¤­¤å¤¦ ³äµå #T35 1 ¤«¤Ã¤­¤ç ³äµò #T30 0 ¤«¤Ã¤­¤ç¤¦ ³è¶· #T35 0 ¤«¤Ã¤­¤ç¤¯ ³Æ¶É #T35 1 ¤«¤Ã¤¯¤¦ ³ê¶õ #T30 0 ¤«¤Ã¤±¤Ä Ó½·ì #T30 1 ¤«¤Ã¤³ ³Î¸Ç #F02 0 ¤«¤Ã¤³ ¡Ð #T35 1 ¤«¤Ã¤³ ¡Ñ #T35 1 ¤«¤Ã¤³ ¡Ò #T35 1 ¤«¤Ã¤³ ¡Ó #T35 1 ¤«¤Ã¤³ ¡Ô #T35 1 ¤«¤Ã¤³ ¡Õ #T35 1 ¤«¤Ã¤³ ³Æ¸Ä #T35 1 ¤«¤Ã¤³ ¡Ê #T35 13 ¤«¤Ã¤³ ¡Ë #T35 13 ¤«¤Ã¤³ ¥«¥Ã¥³ #T35 18 ¤«¤Ã¤³ ³ç¸Ì #T35 29 ¤«¤Ã¤³ ¡Î #T35 3 ¤«¤Ã¤³ ¡Û #T35 49 ¤«¤Ã¤³ ¡Í #T35 5 ¤«¤Ã¤³ ¡Ï #T35 5 ¤«¤Ã¤³ ¡Ú #T35 51 ¤«¤Ã¤³ ¡Ì #T35 6 ¤«¤Ã¤³¤¦ ³æ¹¥ #T05 5 ¤«¤Ã¤³¤¦ ³ê¹ß #T30 0 ¤«¤Ã¤³¤¦ ¥«¥Ã¥³¥¦ #T35 0 ¤«¤Ã¤³¤¦ ³Ô¸ø #T35 0 ¤«¤Ã¤³¤¦ ³Ê¹¥ #T35 3 ¤«¤Ã¤³¤¯ ³Æ¹ñ #T35 8 ¤«¤Ã¤µ¤¤ ³ëÀ¾ #JCN 0 ¤«¤Ã¤µ¤¤ ³åºÓ #T30 1 ¤«¤Ã¤·¤ã ³ê¼Ö #T35 0 ¤«¤Ã¤·¤ç¤¯ ³ì¿§ #T35 0 ¤«¤Ã¤¹¤¤ ³é¿å #T30 0 ¤«¤Ã¤»¤¤ ³èÀ­ #T35 16 ¤«¤Ã¤»¤¤¤« ³èÀ­²½ #T30 0 ¤«¤Ã¤»¤ó ¹çÀï #T30 2 ¤«¤Ã¤½¤¦ ³êÁö #T30 0 ¤«¤Ã¤½¤¦¤í ³êÁöÏ© #T35 1 ¤«¤Ã¤¿ ´¢ÅÄ #JCN 0 ¤«¤Ã¤¿¡¼ ¥«¥Ã¥¿¡¼ #T35 2 ¤«¤Ã¤¿¤Ä ïèã #T05 0 ¤«¤Ã¤Æ ¾¡¼ê #T05 126 ¤«¤Ã¤Æ ¤«¤Ã¤Æ #T05 2 ¤«¤Ã¤È ¥«¥Ã¥È #T30 21 ¤«¤Ã¤È¤¦ ³ëÆ£ #T35 3 ¤«¤Ã¤È¤Ð ¤«¤ÃÈô¤Ð #S5 0 ¤«¤Ã¤Ñ ³åÇË #T30 0 ¤«¤Ã¤Ñ ¦ª #T35 1 ¤«¤Ã¤Ñ ¦Ê #T35 1 ¤«¤Ã¤Ñ ²ÏƸ #T35 1 ¤«¤Ã¤Ñ¤Ä ³èȯ #T05 6 ¤«¤Ã¤Ñ¤é ¤«¤Ã¤Ñ¤é #W5r 0 ¤«¤Ã¤Ñ¤ó ³èÈÇ #T35 0 ¤«¤Ã¤× ³äÉê #T30 4 ¤«¤Ã¤×¤¯ ³äÊ¢ #T30 0 ¤«¤Ã¤×¤¯ ³æÉý #T35 0 ¤«¤Ã¤×¤ë ¥«¥Ã¥×¥ë #T35 5 ¤«¤Ã¤Ý¤¦ ³äË£ #T35 1 ¤«¤Ä ³î¤Ä #F14 0 ¤«¤Ä ¤«¤Ä #F14 22 ¤«¤Ä ô #G5r 0 ¤«¤Ä ³ä #KJ 0 ¤«¤Ä ³æ #KJ 0 ¤«¤Ä ³ç #KJ 0 ¤«¤Ä ³ì #KJ 0 ¤«¤Ä ³í #KJ 0 ¤«¤Ä ³î #KJ 0 ¤«¤Ä ³ê #KJ 1 ¤«¤Ä àÑ #KJ 1 ¤«¤Ä ³å #KJ 10 ¤«¤Ä ³ë #KJ 2 ¤«¤Ä ¹î #KJ 3 ¤«¤Ä ³è #KJ 7 ¤«¤Ä ³é #T30 0 ¤«¤Ä ³è #T35 0 ¤«¤Ä¤¢¤¤ ³ä°¦ #T30 2 ¤«¤Ä¤¢¤­ ¾¡¾¼ #JNM 0 ¤«¤Ä¤¤¤Á ¾¡°ì #JNM 0 ¤«¤Ä¤¦¤é ¾¡±º #JCN 0 ¤«¤Ä¤¨ ³é¤¨ #KSr 0 ¤«¤Ä¤ª ¾¡ÃË #JNM 0 ¤«¤Ä¤ª ¾¡É× #JNM 0 ¤«¤Ä¤ª ¾¡Íº #JNM 0 ¤«¤Ä¤ª ³ï #T35 0 ¤«¤Ä¤ª¤Ö¤· ³ïÀá #T35 0 ¤«¤Ä¤®¤³ ¤«¤Ä¤®¹þ #M5r 0 ¤«¤Ä¤³ ¹î»Ò #JNM 0 ¤«¤Ä¤³ ¾¡»Ò #JNM 0 ¤«¤Ä¤·¤« ³ë¾þ #JCN 0 ¤«¤Ä¤¸ ¾¡¼¡ #JNM 0 ¤«¤Ä¤¸ ¾¡¼£ #JNM 0 ¤«¤Ä¤¸ ³è»ú #T35 4 ¤«¤Ä¤¸¤ç¤¦ ³ä¾ù #T30 0 ¤«¤Ä¤¾¤¦ ¾¡»° #JNM 0 ¤«¤Ä¤¿ ¾¡ÅÄ #JCN 0 ¤«¤Ä¤¿¤í¤¦ ¾¡ÂÀϺ #JNM 0 ¤«¤Ä¤Æ ¤«¤Ä¤Æ #F14 4 ¤«¤Ä¤Æ ¤«¤Ä¤Æ #T36 0 ¤«¤Ä¤È¤· ¾¡Íø #JNM 0 ¤«¤Ä¤É¤¦ ³èư #T30 47 ¤«¤Ä¤Ì¤Þ ¾¡¾Â #JCN 0 ¤«¤Ä¤Ò¤³ ¹îɧ #JNM 0 ¤«¤Ä¤Ò¤³ ¾¡É§ #JNM 0 ¤«¤Ä¤Ò¤µ ¾¡µ× #JNM 0 ¤«¤Ä¤Ò¤í ¹î¹¨ #JNM 0 ¤«¤Ä¤Ò¤í ¹îÍÎ #JNM 0 ¤«¤Ä¤Ö¤· ³ïÀá #T35 0 ¤«¤Ä¤Ü¤¦ ³é˾ #T30 0 ¤«¤Ä¤Þ¤¿ ¾¡Ëô #JNS 0 ¤«¤Ä¤ß ¹î¸Ê #JNM 0 ¤«¤Ä¤ß ¹îÈþ #JNM 0 ¤«¤Ä¤ß ¹î̦ #JNM 0 ¤«¤Ä¤ß ¾¡Èþ #JNM 0 ¤«¤Ä¤ß ¾¡Ì¦ #JNM 0 ¤«¤Ä¤â¤È ¾¡ËÜ #JNS 0 ¤«¤Ä¤ä ¹îºÈ #JNM 0 ¤«¤Ä¤ä ¾¡ºÈ #JNM 0 ¤«¤Ä¤ä ¾¡Ìé #JNM 0 ¤«¤Ä¤ä¤¯ ³èÌö #T30 9 ¤«¤Ä¤ä¤Þ ¾¡»³ #JCN 0 ¤«¤Ä¤è¤¦ ³èÍÑ #T30 58 ¤«¤Ä¤è¤· ¾¡µÁ #JNM 0 ¤«¤Ä¤è¤· ¾¡µÈ #JNM 0 ¤«¤Ä¤é ·Ë #JCN 0 ¤«¤Ä¤é ·Ë #T35 0 ¤«¤Ä¤é¤ª ³ëÈø #JCN 0 ¤«¤Ä¤é¤® ¤«¤Ä¤é¤® #CN 0 ¤«¤Ä¤é¤® ³ë¾ë #JCN 0 ¤«¤Ä¤ê¤ç¤¯ ³èÎÏ #T35 0 ¤«¤Ä¤ì¤ó ¾¡Ï¢ #JCN 0 ¤«¤Ä¤í ³èÏ© #T35 0 ¤«¤Å¤± ÆüÉÕ #JS 0 ¤«¤Å¤µ ²ÃÄź´ #JCN 0 ¤«¤Å¤Î ¼¯³Ñ #JCN 0 ¤«¤Æ ÎÈ #T35 2 ¤«¤Æ¤¤ ²¾Äê #T30 85 ¤«¤Æ¤¤ ²áÄø #T35 32 ¤«¤Æ¤¤ ²ÝÄø #T35 4 ¤«¤Æ¤¤ ²ÈÄí #T35 52 ¤«¤Æ¤¤¤« ²ÈÄí²Ê #T35 1 ¤«¤Æ¤¤¤­¤ç¤¦¤· ²ÈÄí¶µ»Õ #T35 0 ¤«¤Æ¤´¤ê ¥«¥Æ¥´¥ê #T35 5 ¤«¤Æ¤´¤ê¡¼ ¥«¥Æ¥´¥ê¡¼ #T35 0 ¤«¤Æ¤´¤ê¡¼¤« ¥«¥Æ¥´¥ê¡¼²½ #T30 0 ¤«¤Æ¤Æ¤¯¤ï¤¨¤Æ ¤«¤Æ¤Æ²Ã¤¨¤Æ #CJ 0 ¤«¤Ç¤Ê ²Å¼êǼ #CN 0 ¤«¤Ç¤ó ²ÍÅÅ #T30 0 ¤«¤Ç¤ó ±»ÅÄ #T35 0 ¤«¤Ç¤ó ²ÈÅÁ #T35 0 ¤«¤Ç¤ó ²ÙÅÅ #T35 0 ¤«¤Ç¤ó ²ÈÅÅ #T35 1 ¤«¤È ²áÅÏ #T35 3 ¤«¤È¤¤¤Ã¤Æ ¤«¤È¸À¤Ã¤Æ #CJ 0 ¤«¤È¤¦ ²ÃÅì #JCN 0 ¤«¤È¤¦ ²ÏÅì #JCN 0 ¤«¤È¤¦ ²ÃÆ£ #JNS 0 ¤«¤È¤¦ ·ø¤¦ #KYU 1 ¤«¤È¤¦ ¸Ç¤¦ #KYU 1 ¤«¤È¤¦ ¹Å¤¦ #KYU 1 ¤«¤È¤¦ Æñ¤¦ #KYU 1 ¤«¤È¤¦ ²¼Åù #T05 0 ¤«¤È¤¦ ²áÅö #T05 0 ¤«¤È¤¦ ²ÃÅü #T30 1 ¤«¤È¤¦ ²ÌÅü #T35 0 ¤«¤È¤­ ²áÅÏ´ü #T35 2 ¤«¤È¤¯ ²ÈÆÄ #T35 0 ¤«¤È¤ê ¹á¼è #JCN 0 ¤«¤È¤ê¤Ã¤¯ ¥«¥È¥ê¥Ã¥¯ #T35 1 ¤«¤É ²áÅÙ #T05 3 ¤«¤É Ìç #T35 0 ¤«¤É ³Ñ #T35 10 ¤«¤É¤¦ ²ÔƯ #T30 38 ¤«¤É¤¦ ²ÚÆ» #T35 2 ¤«¤É¤«¤ï ³ÑÀî #JNS 0 ¤«¤É¤¬¤ï ÌçÀî #JCN 0 ¤«¤É¤¯ ²ÄÆÉ #T05 2 ¤«¤É¤¯¤»¤¤ ²ÄÆÉÀ­ #T35 1 ¤«¤É¤°¤Á Ìç¸ý #T35 0 ¤«¤É¤Á ³ÑÃÏ #T35 0 ¤«¤É¤Ç Ìç½Ð #JNS 0 ¤«¤É¤Ç Ìç½Ð #T30 0 ¤«¤É¤Ç Ìç½Ð #T35 0 ¤«¤É¤Þ Ìç¿¿ #JCN 0 ¤«¤É¤Þ¤Ä Ìç¾¾ #T35 0 ¤«¤É¤ß¤¦¤à ¥«¥É¥ß¥¦¥à #T35 1 ¤«¤É¤ï¤­ ÌçÏÆ #JNS 0 ¤«¤Ê ²ÃÆà #JN 0 ¤«¤Ê ºÈ #KJ 4 ¤«¤Ê ¶â #KJ 9 ¤«¤Ê ²¾Ì¾ #T35 104 ¤«¤Ê ¥«¥Ê #T35 23 ¤«¤Ê ¤«¤Ê #T35 255 ¤«¤Ê Ũ #W5 0 ¤«¤Ê Ŭ #W5 0 ¤«¤Ê ³ð #W5 1 ¤«¤Ê ¤«¤Ê #W5 6 ¤«¤Ê¤¢¤ß ¶âÌÖ #T35 0 ¤«¤Ê¤¤ ¶â°æ #JCN 0 ¤«¤Ê¤¤ ²ÝÆâ #T35 0 ¤«¤Ê¤¤ ²ÈÆâ #T35 2 ¤«¤Ê¤¦ ³ð #KJ 0 ¤«¤Ê¤¨ Ť #T35 255 ¤«¤Ê¤¬¤­ ²¾Ì¾½ñ¤­ #T30 0 ¤«¤Ê¤¬¤­ ¥«¥Ê½ñ¤­ #T30 1 ¤«¤Ê¤¬¤ï ¿ÀÆàÀî #CN 0 ¤«¤Ê¤¬¤ï¤±¤ó ¿ÀÆàÀ #CNS 0 ¤«¤Ê¤® ¶â¾ë #JCN 0 ¤«¤Ê¤® ¶âÌÚ #JCN 0 ¤«¤Ê¤° ¶â¶ñ #T35 1 ¤«¤Ê¤³ ²ÂÆá»Ò #JNM 0 ¤«¤Ê¤µ¤­ ¶âºê #JNS 0 ¤«¤Ê¤µ¤´¤¦ ¶âº½¶¿ #CN 0 ¤«¤Ê¤¶¤ï ¶âÂô #JCN 0 ¤«¤Ê¤¶¤ï¤· ¶âÂô»Ô #CNS 0 ¤«¤Ê¤· ¤«¤Ê¤· #KYmi 3 ¤«¤Ê¤· °¥¤· #KYmi 3 ¤«¤Ê¤· Èᤷ #KYmi 42 ¤«¤Ê¤· °¥¤· #M5 2 ¤«¤Ê¤· Èᤷ #M5 27 ¤«¤Ê¤·¤¬ °¥¤·¤¬ #R5 0 ¤«¤Ê¤·¤¬ ¤«¤Ê¤·¤¬ #R5 1 ¤«¤Ê¤·¤¬ Èᤷ¤¬ #R5 2 ¤«¤Ê¤·¤å¤¦ ¤«¤Ê¤·¤å¤¦ #KYU 1 ¤«¤Ê¤·¤å¤¦ °¥¤·¤å¤¦ #KYU 1 ¤«¤Ê¤·¤å¤¦ Èᤷ¤å¤¦ #KYU 2 ¤«¤Ê¤¿ ÈàÊý #T35 2 ¤«¤Ê¤À ¥«¥Ê¥À #CN 0 ¤«¤Ê¤À ¶âÅÄ #JCN 0 ¤«¤Ê¤Å ¶âÄÅ #JCN 0 ¤«¤Ê¤Ç ÁÕ¤Ç #KS 0 ¤«¤Ê¤Þ¤ë ¶â´Ý #JCN 0 ¤«¤Ê¤á Í× #JN 0 ¤«¤Ê¤á Í× #T35 3 ¤«¤Ê¤â¤Î ¶âʪ #T35 0 ¤«¤Ê¤â¤ê ¶â¿¹ #JNS 0 ¤«¤Ê¤ä ¶â²° #JCN 0 ¤«¤Ê¤ä ¶âë #JCN 0 ¤«¤Ê¤ä¤Þ ¶â»³ #JCN 0 ¤«¤Ê¤é¤º ɬ¤º #F14 125 ¤«¤Ê¤é¤º¤·¤â ɬ¤º¤·¤â #F14 20 ¤«¤Ê¤é¤º¤ä ɬ¤º¤ä #F14 0 ¤«¤Ê¤ê ¤«¤Ê¤ê #T16 121 ¤«¤Ê¤ó ²ÏÆî #CN 0 ¤«¤Ë ²Ä»ù #JCN 0 ¤«¤Ë ³ª #T35 1 ¤«¤Ë ¥«¥Ë #T35 2 ¤«¤Ë¤¨ ³ª¹¾ #JCN 0 ¤«¤Ë¤¯ ²ÌÆù #T35 0 ¤«¤Ë¤¶ ³ªºÂ #KK 1 ¤«¤Ë¤¿ ³ªÅÄ #JCN 0 ¤«¤Ë¤å¤¦ ²ÃÆþ #T30 24 ¤«¤Ì¤Þ ¼¯¾Â #JCN 0 ¤«¤Í ¤«¤Í #JNM 0 ¤«¤Í ·ó¤Í #KS 24 ¤«¤Í ¾â #T35 1 ¤«¤Í ¶â #T35 30 ¤«¤Í¤¢¤¤ ·ó¤Í¹ç¤¤ #T35 2 ¤«¤Í¤¬¤µ¤­ ¶â¥öºê #CN 0 ¤«¤Í¤¬¤Í ¤«¤Í¤¬¤Í #F14 1 ¤«¤Í¤­¤Á ·óµÈ #JN 0 ¤«¤Í¤³ ¶â»Ò #JCN 0 ¤«¤Í¤¸¤ã¤¯ ¶Ê¼Ü #T35 0 ¤«¤Í¤½¤Ê¤¨ ·ó¤ÍÈ÷¤¨ #KS 2 ¤«¤Í¤À ¶âÅÄ #JCN 0 ¤«¤Í¤Ä ²áÇ® #T30 1 ¤«¤Í¤Ä ²ÃÇ® #T30 2 ¤«¤Í¤Å¤«¤¤ ¶â¸¯¤¤ #T35 0 ¤«¤Í¤Þ¤ë ¶â´Ý #JCN 0 ¤«¤Í¤Þ¤ï¤ê ¶â²ó¤ê #T35 0 ¤«¤Í¤ß¤Ä ¶â¸÷ #JN 0 ¤«¤Í¤â¤¦¤± ¶âÌÙ¤± #T30 7 ¤«¤Í¤â¤Á ¶â»ý¤Á #T30 2 ¤«¤Í¤ä¤Þ ¶â»³ #JCN 0 ¤«¤Í¤ä¤Þ ·ó»³ #JCN 0 ¤«¤Í¤ó ¤«Ç¯ #JS 0 ¤«¤Í¤ó ¥öǯ #JS 0 ¤«¤Î ¼¯Ìî #JCN 0 ¤«¤Î¤¢¤· ¼¯Â­ #JCN 0 ¤«¤Î¤¦ ²ÃǼ #JCN 0 ¤«¤Î¤¦ ¼íÌî #JNS 0 ¤«¤Î¤¦ ²Äǽ #T05 255 ¤«¤Î¤¦ ²½Ç¿ #T30 29 ¤«¤Î¤¦¤»¤¤ ²ÄǽÀ­ #T35 112 ¤«¤Î¤¸¤ç Èà½÷ #T35 65 ¤«¤Î¤» ¼¯À¥ #JCN 0 ¤«¤Î¤ä ¼¯²° #JCN 0 ¤«¤Ï¤¤¤é¤ó ²áÇÓÍñ #T35 1 ¤«¤Ï¤ó ²ÄÈ #T15 2 ¤«¤Ï¤ó ²áȾ #T35 1 ¤«¤Ï¤ó¤·¤ó ²¼È¾¿È #T35 0 ¤«¤Ï¤ó¤¹¤¦ ²áȾ¿ô #T35 1 ¤«¤Ð ³ñ #KJ 1 ¤«¤Ð ³÷ #T35 1 ¤«¤Ð ³ò #T35 2 ¤«¤Ð Èß #W5 1 ¤«¤Ð¡¼ ¥«¥Ð¡¼ #T30 17 ¤«¤Ð¤·¤é ²ãÃì #T35 0 ¤«¤Ð¤È ³ò¸Í #CN 0 ¤«¤Ð¤Í »Ó #T35 0 ¤«¤Ð¤Í À« #T35 0 ¤«¤Ð¤ä¤­ ³÷¾Æ¤­ #T35 0 ¤«¤Ð¤ó ³ó #T35 1 ¤«¤Ð¤ó ¥«¥Ð¥ó #T35 0 ¤«¤Ò áÐÈé #T35 1 ¤«¤Ò ²ÄÈÝ #T35 5 ¤«¤Ò¤Ä ²ÃÉ® #T30 4 ¤«¤Ò¤ç¤¦ ²¼É½ #T35 1 ¤«¤Ó ²ÚÈþ #T05 0 ¤«¤Ó óà #T35 0 ¤«¤Ó ¥«¥Ó #T35 1 ¤«¤Ó¤ó ²áÉÒ #T05 0 ¤«¤Ó¤ó ²ÖÉÓ #T35 3 ¤«¤Õ ²¼ÉÕ #T30 0 ¤«¤Õ ²ÉÉØ #T35 0 ¤«¤Õ¤¦ ²ÈÉ÷ #T35 0 ¤«¤Õ¤§ ¥«¥Õ¥§ #T35 0 ¤«¤Õ¤§¤¤¤ó ¥«¥Õ¥§¥¤¥ó #T35 1 ¤«¤Õ¤§¤Æ¤ê¤¢ ¥«¥Õ¥§¥Æ¥ê¥¢ #T35 2 ¤«¤Õ¤½¤¯ ²áÉÔ­ #T30 2 ¤«¤Õ¤Á¤ç¤¦¤»¤¤ ²ÈÉãĹÀ© #T35 1 ¤«¤Õ¤Ð¤ó ²ÄÉÕÈÖ #T15 0 ¤«¤Õ¤ó ²ÖÊ´ #T35 1 ¤«¤Õ¤ó¤·¤ç¤¦ ²ÖÊ´¾É #T15 0 ¤«¤Ö ³ô #JS 92 ¤«¤Ö Èï #R5 6 ¤«¤Ö ³ô #SUC 0 ¤«¤Ö Éó #T35 0 ¤«¤Ö ³ô #T35 1 ¤«¤Ö ²¼Éô #T35 9 ¤«¤Ö¤« ³ô²Á #T35 1 ¤«¤Ö¤­ ²ÎÉñ´ì #T35 2 ¤«¤Ö¤±¤ó ³ô·ô #T35 0 ¤«¤Ö¤·¤­ ³ô¼° #T35 7 ¤«¤Ö¤·¤­¤¬¤¤¤·¤ã ³ô¼°²ñ¼Ò #T35 28 ¤«¤Ö¤» ¤«¤Ö¤» #KS 2 ¤«¤Ö¤È ³õ #T35 0 ¤«¤Ö¤È ¹Ã #T35 1 ¤«¤Ö¤È¤à¤· ¥«¥Ö¥È¥à¥· #T35 0 ¤«¤Ö¤Ì¤· ³ô¼ç #T35 1 ¤«¤Ö¤é Å­ #T35 0 ¤«¤Ö¤é Éó #T35 0 ¤«¤Ö¤ó ²áʬ #T05 0 ¤«¤Ö¤ó ²Éʹ #T15 1 ¤«¤×¤·¤Ã¤É ¥«¥×¥·¥Ã¥É #T35 1 ¤«¤×¤»¤ë ¥«¥×¥»¥ë #T35 5 ¤«¤Ø¤¤ ²ÃÊ¿ #JCN 0 ¤«¤Ø¤¤ ²ßʾ #T35 0 ¤«¤Ø¤ó ²ÄÊÑ #T05 11 ¤«¤Ù ÊÉ #T35 8 ¤«¤Ù¤ó ²ÖÊÛ #T35 0 ¤«¤Û ²ÅÊæ #JCN 0 ¤«¤Û ²ÌÊâ #JN 0 ¤«¤Û¤¦ ²ÃË¡ #T35 1 ¤«¤Û¤¦ ²ÈÊõ #T35 1 ¤«¤Û¤¯ ²ÏËÌ #CN 0 ¤«¤Û¤¯ ¹áËÌ #CN 0 ¤«¤Û¤¯ ¼¯ËÌ #CN 0 ¤«¤Û¤´ ²áÊݸî #T05 0 ¤«¤Ü¤Á¤ã ¤«¤Ü¤Á¤ã #T35 1 ¤«¤Þ ³ö #T35 0 ¤«¤Þ ³÷ #T35 1 ¤«¤Þ ³ù #T35 1 ¤«¤Þ ÍÒ #T35 1 ¤«¤Þ ³ø #T35 3 ¤«¤Þ ¤«¤Þ #W5 20 ¤«¤Þ ¹½ #W5 58 ¤«¤Þ¤¤¤· ³øÀÐ #CN 0 ¤«¤Þ¤¨ ³÷¹¾ #JCN 0 ¤«¤Þ¤¨ ¹½¤¨ #KSr 0 ¤«¤Þ¤¬¤ä ³ù¥öë #CN 0 ¤«¤Þ¤¬¤ê ³÷´¢ #JCN 0 ¤«¤Þ¤­¤ê ¥«¥Þ¥­¥ê #T35 0 ¤«¤Þ¤¯¤é ³ùÁÒ #JCN 0 ¤«¤Þ¤± ¤«¤Þ¤± #KS 0 ¤«¤Þ¤¹ òÞ #T35 1 ¤«¤Þ¤¿ ³÷ÅÄ #JCN 0 ¤«¤Þ¤¿ ³ùÅÄ #JCN 0 ¤«¤Þ¤À ³ùÅÄ #JNS 0 ¤«¤Þ¤Ü¤³ ¤«¤Þ¤Ü¤³ #T35 0 ¤«¤Þ¤Ü¤³ ³÷ËÈ #T35 0 ¤«¤Þ¤â¤È ÍÒ¸µ #T35 0 ¤«¤ß ¾å #CNPRE 0 ¤«¤ß ²ÃÈþ #JCN 0 ¤«¤ß ²ÄÈþ #JN 0 ¤«¤ß ¹áÈþ #JN 0 ¤«¤ß ¾å #JNS 0 ¤«¤ß ²ÃÌ£ #T30 1 ¤«¤ß µÀ #T35 0 ¤«¤ß ¼é #T35 1 ¤«¤ß ¾å #T35 28 ¤«¤ß ¿À #T35 53 ¤«¤ß »æ #T35 64 ¤«¤ß ȱ #T35 9 ¤«¤ß¤¢¤¬¤¿ ¾å¸© #CN 0 ¤«¤ß¤¤¤·¤Å ¾åÀÐÄÅ #CN 0 ¤«¤ß¤¤¤º¤ß ¿ÀÀô #JCN 0 ¤«¤ß¤¤¤½ ¾å°ë #JCN 0 ¤«¤ß¤¤¤¿ ¾åÈÄ #JCN 0 ¤«¤ß¤¤¤Á ¾å»Ô #CN 0 ¤«¤ß¤¤¤Ê ¾å°ËÆá #CN 0 ¤«¤ß¤¦¤±¤Ê ¾åÉâ·ê #CN 0 ¤«¤ß¤¦¤é ¾å±º #JCN 0 ¤«¤ß¤ª¤« ¿À²¬ #JCN 0 ¤«¤ß¤«¤Ä ¾å¾¡ #JCN 0 ¤«¤ß¤«¤ï ¾åÀî #JCN 0 ¤«¤ß¤«¤ï ¿ÀÀî #JCN 0 ¤«¤ß¤«¤ï¤Á ¾å²ÏÆâ #CN 0 ¤«¤ß¤¬¤¿ ¾åÊý #T35 1 ¤«¤ß¤¬¤¿ ȱ·¿ #T35 4 ¤«¤ß¤­ ¾å´ü #T35 3 ¤«¤ß¤­¤¿ ¾åËÌ #CN 0 ¤«¤ß¤­¤¿¤ä¤Þ ¾åËÌ»³ #CN 0 ¤«¤ß¤®¤ç¤¦ ¾åµþ #CN 0 ¤«¤ß¤¯¤¤¤·¤­ ¾å¶å°ì¿§ #CN 0 ¤«¤ß¤¯¤À ³ú¤ßºÕ #K5 0 ¤«¤ß¤³¤·¤­ ¾å¹ù #JCN 0 ¤«¤ß¤´¤¦¤ê ¾å·´ #JCN 0 ¤«¤ß¤´¤È¤¦ ¾å¸ÞÅç #CN 0 ¤«¤ß¤µ¤È ¾å¶¿ #CN 0 ¤«¤ß¤µ¤È ¾åΤ #JCN 0 ¤«¤ß¤µ¤Þ ¿ÀÍÍ #T35 3 ¤«¤ß¤¶ ¾åºÂ #T35 0 ¤«¤ß¤·¤Ò ¾å»ÖÈæ #CN 0 ¤«¤ß¤·¤Û¤í ¾å»ÎËÚ #CN 0 ¤«¤ß¤·¤á ³ú¤ß¤·¤á #KS 0 ¤«¤ß¤·¤í ¿À¾ë #JNS 0 ¤«¤ß¤¸¤ç¤¦ ¾å¾ò #JNS 0 ¤«¤ß¤¸¤ç¤¦ ¾åÛê #JNS 0 ¤«¤ß¤¹ ¿ÀÀ´ #CN 0 ¤«¤ß¤¹¤Ê¤¬¤ï ¾åº½Àî #CN 0 ¤«¤ß¤½¤ê ÄæÅá #T35 0 ¤«¤ß¤¿ ¾åÅÄ #JNS 0 ¤«¤ß¤¿¤¤¤é ¾åÊ¿ #JCN 0 ¤«¤ß¤¿¤«¤¤ ¾å¹â°æ #CN 0 ¤«¤ß¤¿¤«¤é ¾åÊõ #JCN 0 ¤«¤ß¤À¤Ê ¿Àê #T35 0 ¤«¤ß¤À¤Î¤ß ¿ÀÍê¤ß #T30 0 ¤«¤ß¤Ä ²áÌ© #T05 0 ¤«¤ß¤Ä¤¬ ¾åÅÔ²ì #CN 0 ¤«¤ß¤Ä¤·¤Þ ¾åÂÐÇÏ #CN 0 ¤«¤ß¤Æ ¾å¼ê #T35 1 ¤«¤ß¤È¤ó¤À ¾åÉÙÅÄ #CN 0 ¤«¤ß¤Ê¤« ¾åÆá²ì #CN 0 ¤«¤ß¤Ê¤« ¾åÃæ #JCN 0 ¤«¤ß¤Ê¤ê Íë #T35 2 ¤«¤ß¤Ë¤¤¤«¤ï ¾å¿·Àî #CN 0 ¤«¤ß¤Î¤«¤ï ¾å»°Àî #CN 0 ¤«¤ß¤Î¤¯¤Ë ¾å¥Î¹ñ #CN 0 ¤«¤ß¤Î¤»¤­ ¾å´Ø #JCN 0 ¤«¤ß¤Î¤Û ¾åÇ·ÊÝ #JCN 0 ¤«¤ß¤Î¤ä¤Þ ¾å»³ #JCN 0 ¤«¤ß¤Ï¤ä¤· ¿ÀÎÓ #JCN 0 ¤«¤ß¤Ï¤ó¤­ ¾åȾ´ü #T35 1 ¤«¤ß¤Õ¤¯¤ª¤« ¾åÊ¡²¬ #CN 0 ¤«¤ß¤Õ¤é¤Î ¾åÉÙÎÉÌî #CN 0 ¤«¤ß¤Ø¤¤ ¾åÊÄ°Ë #CN 0 ¤«¤ß¤Þ¤·¤­ ¾å±×¾ë #CN 0 ¤«¤ß¤ß¤Í ¾åÊö #JCN 0 ¤«¤ß¤ß¤Î¤Á ¾å¿åÆâ #CN 0 ¤«¤ß¤à¤é ¾å¼ #JCN 0 ¤«¤ß¤ä ¿Àë #JCN 0 ¤«¤ß¤ä »æ²° #T35 0 ¤«¤ß¤ä¤¯ ¾å²°µ× #CN 0 ¤«¤ß¤ä¤Á¤ç¤¦ ¿ÀëĮ #CN 0 ¤«¤ß¤ä¤Ï¤® ¾åÌðºî #JCN 0 ¤«¤ß¤ä¤Þ ¿À»³ #JCN 0 ¤«¤ß¤ä¤Þ¤À ¾å»³ÅÄ #JCN 0 ¤«¤ß¤æ¤¦¤Ù¤Ä ¾åͯÊÌ #CN 0 ¤«¤ß¤ó ²¾Ì² #T30 0 ¤«¤ß¤ó ²ÆÌ² #T30 0 ¤«¤á ÉÓ #T35 1 ¤«¤á µµ #T35 10 ¤«¤á¤¤ µµ°æ #JNS 0 ¤«¤á¤¤ ²ÃÌÁ #T30 2 ¤«¤á¤¤ ²È̾ #T35 0 ¤«¤á¤¤ ²¾Ì¾ #T35 4 ¤«¤á¤ª¤« µµ²¬ #JCN 0 ¤«¤á¤­¤Á µµµÈ #JN 0 ¤«¤á¤¸¤í¤¦ µµ¼¡Ïº #JNM 0 ¤«¤á¤¿¤í¤¦ µµÂÀϺ #JNM 0 ¤«¤á¤À µµÅÄ #JCN 0 ¤«¤á¤ä¤Þ µµ»³ #JCN 0 ¤«¤á¤é ¥«¥á¥é #T35 14 ¤«¤á¤ó ²¾ÌÌ #T35 5 ¤«¤â ²ÃÌÐ #JCN 0 ¤«¤â ²ìÌÐ #JCN 0 ¤«¤â ¾ú #S5 0 ¤«¤â ³û #T35 2 ¤«¤â¤¤ ¿À°Ò #JCN 0 ¤«¤â¤¤ ³ûµï #T35 0 ¤«¤â¤¦ ³÷À¸ #JCN 0 ¤«¤â¤¨¤Ê¤¤ ¿À·ÃÆâ #CN 0 ¤«¤â¤¬¤¿ ³ûÊý #JCN 0 ¤«¤â¤¬¤ï ²ÃÌÐÀî #CN 0 ¤«¤â¤¬¤ï ²ìÌÐÀî #CN 0 ¤«¤â¤¬¤ï ³ûÀî #JCN 0 ¤«¤â¤¯ ²ÊÌÜ #JS 2 ¤«¤â¤¯ ²ÉÌÛ #T05 0 ¤«¤â¤¯ ²ÝÌÜ #T35 0 ¤«¤â¤¯ ²ÊÌÜ #T35 2 ¤«¤â¤·¤À ¾ú¤·½Ð #S5 0 ¤«¤â¤¸¤Þ ³ûÅç #JCN 0 ¤«¤â¤Ä ²ßʪ #T35 1 ¤«¤â¤Ä¤»¤ó ²ßʪÁ¥ #T35 0 ¤«¤â¤È ¼¯ËÜ #JCN 0 ¤«¤â¤ß¡¼¤ë ¥«¥â¥ß¡¼¥ë #T35 1 ¤«¤â¤á ²ª #T35 0 ¤«¤â¤ó ²ÈÌæ #T35 1 ¤«¤ä ²Ã±Ù #JCN 0 ¤«¤ä ³þ #KJ 1 ¤«¤ä ²ãÄ¢ #T35 1 ¤«¤ä ³þ #T35 1 ¤«¤ä ³ý #T35 2 ¤«¤ä¤¯ ²ÄÌó #T05 4 ¤«¤ä¤¯ ²ÐÌô #T35 1 ¤«¤ä¤Ù ³ýÉô #JCN 0 ¤«¤ä¤â¤ê ³þ¿¹ #JNS 0 ¤«¤æ áÚ #KYmi 1 ¤«¤æ ¤«¤æ #KYmi 2 ¤«¤æ ¤«¤æ #T35 0 ¤«¤æ ´¡ #T35 0 ¤«¤æ¤¦ ¤«¤æ¤¦ #KYU 1 ¤«¤æ¤¦ áÚ¤¦ #KYU 1 ¤«¤æ¤¬ áÚ¤¬ #R5 0 ¤«¤æ¤¬ ¤«¤æ¤¬ #R5 1 ¤«¤è ²ÂÂå #JNM 0 ¤«¤è ÄÌ #W5r 10 ¤«¤è¤¦ ²ìÍÛ #JCN 0 ¤«¤è¤¦ ²ÄÍÏ #T05 1 ¤«¤è¤¦ ²ÎÍØ #T35 1 ¤«¤è¤¦ ²ÐÍË #T35 7 ¤«¤è¤¦¤­¤ç¤¯ ²ÎÍØ¶Ê #T35 1 ¤«¤è¤¦¤»¤¤ ²ÄÍÑÀ­ #T35 4 ¤«¤è¤¦¤Ó ²ÐÍËÆü #T35 12 ¤«¤é Åâ #KJ 10 ¤«¤é ¿É #KYmime 3 ¤«¤é Íí #M5r 6 ¤«¤é ¸Ï¤é #S5 0 ¤«¤é ³Ì #T35 1 ¤«¤é ¶õ #T35 141 ¤«¤é ¡Á #T35 255 ¤«¤é¡¼ ¥«¥é¡¼ #T35 49 ¤«¤é¤ª¤± ¥«¥é¥ª¥± #T35 5 ¤«¤é¤«¤µ ¤«¤é¤«¤µ #T35 0 ¤«¤é¤«¤µ »± #T35 0 ¤«¤é¤«¤ß Åâ»æ #T35 0 ¤«¤é¤¯¤Á ¿É¸ý #T05 0 ¤«¤é¤¯¤ê ¤«¤é¤¯¤ê #T35 1 ¤«¤é¤¯¤ï Åâ·¬ #JCN 0 ¤«¤é¤² ¤«¤é¤² #R5 0 ¤«¤é¤µ¤ï ÅâÂô #JCN 0 ¤«¤é¤· ³©»Ò #T35 0 ¤«¤é¤¹ ¹áÎɽ§ #JCN 0 ¤«¤é¤¹ ¥«¥é¥¹ #T35 1 ¤«¤é¤¹ ±¨ #T35 1 ¤«¤é¤¹ òí #T35 1 ¤«¤é¤¹¤Þ ±¨´Ý #JCN 0 ¤«¤é¤¹¤ß ¤«¤é¤¹¤ß #T35 0 ¤«¤é¤¹¤ä¤Þ ±¨»³ #JCN 0 ¤«¤é¤¿¤±¤ï¤ê ´´Ãݳä¤ê #T30 2 ¤«¤é¤À ¶í #T35 0 ¤«¤é¤À ¤«¤é¤À #T35 1 ¤«¤é¤À ÂÎ #T35 46 ¤«¤é¤À ¿ÈÂÎ #T35 8 ¤«¤é¤Ã¤«¤¼ ¤«¤é¤ÃÉ÷ #T35 0 ¤«¤é¤Ã¤Ý ¶õ¤Ã¤Ý #T05 0 ¤«¤é¤Ä ÅâÄÅ #JCN 0 ¤«¤é¤Æ ¶õ¼ê #T35 1 ¤«¤é¤Õ¤È ³òÂÀ #CN 0 ¤«¤é¤Õ¤ë ¥«¥é¥Õ¥ë #T05 0 ¤«¤é¤Ö¤ê ¶õ¿¶¤ê #T30 0 ¤«¤é¤Þ Íí¤Þ #R5r 1 ¤«¤é¤Þ¤ï¤ê ¶õ²ó¤ê #T10 0 ¤«¤é¤ß ¶õ¿È #T35 0 ¤«¤é¤ß¤¢ Íí¤ß¹ç #W5r 0 ¤«¤é¤ß¤Ä Íí¤ßÉÕ #K5r 0 ¤«¤é¤à ¥«¥é¥à #T35 16 ¤«¤é¤á Íí¤á #KS 0 ¤«¤ê ¼Ú¤ê #KSr 68 ¤«¤ê ²¾ #PRE 0 ¤«¤ê ´£ #T35 0 ¤«¤ê ÎÄ #T35 0 ¤«¤ê ´¢ #T35 1 ¤«¤ê ´ç #T35 1 ¤«¤ê ¼í #T35 1 ¤«¤ê ²¾ #T35 34 ¤«¤ê¤¢¤² ´¢¤ê¾å¤² #KSr 0 ¤«¤ê¤¢¤² ¼Ú¤ê¾å¤² #KSr 0 ¤«¤ê¤¢¤Ä¤á ¤«¤ê½¸¤á #KS 0 ¤«¤ê¤¤¤ì ´¢¤êÆþ¤ì #KSr 0 ¤«¤ê¤¤¤ì ¼Ú¤êÆþ¤ì #KSr 0 ¤«¤ê¤¤¤ì ¼ÚÆþ¤ì #T30 0 ¤«¤ê¤¤¤ì¤­¤ó ¼ÚÆþ¶â #T35 0 ¤«¤ê¤¦¤± ¼Ú¤ê¼õ¤± #KSr 1 ¤«¤ê¤«¤¿ ¼ÚÊý #T35 1 ¤«¤ê¤­ ¼Ú¤êÀÚ #R5r 0 ¤«¤ê¤­¤å¤é¤à ¥«¥ê¥­¥å¥é¥à #T35 0 ¤«¤ê¤³ ´¢¤ê¹þ #M5r 0 ¤«¤ê¤³ ¼Ú¤ê±Û #S5 0 ¤«¤ê¤·¤ã¤¯¤Û¤¦ ²¾¼áÊü #T30 0 ¤«¤ê¤·¤ç¤Ö¤ó ²¾½èʬ #T30 0 ¤«¤ê¤¹¤Þ ¥«¥ê¥¹¥Þ #T35 1 ¤«¤ê¤º¤Þ¤¤ ²¾½»¤¤ #T30 0 ¤«¤ê¤¿¤Æ ¶î¤êΩ¤Æ #KS 1 ¤«¤ê¤À ¶î¤ê½Ð #S5 0 ¤«¤ê¤Á¤ç¤¦¤¤¤ó ²¾Ä´°õ #T30 0 ¤«¤ê¤Æ ¼Ú¤ê¼ê #T35 0 ¤«¤ê¤È ´¢¤ê¼è #R5r 0 ¤«¤ê¤Ì¤¤ ²¾Ë¥¤¤ #T30 0 ¤«¤ê¤Ð¤é ¼ÚÊ¢ #T35 1 ¤«¤ê¤Ð¤é¤¤¤­¤ó ²¾Ê§¶â #T35 1 ¤«¤ê¤Õ¤©¤ë¤Ë¤¢ ¥«¥ê¥Õ¥©¥ë¥Ë¥¢ #CN 0 ¤«¤ê¤á¤ó¤­¤ç ²¾Ìȵö #T35 0 ¤«¤ê¤ä ´¢Ã« #JCN 0 ¤«¤ê¤ä ´£²° #JNS 0 ¤«¤ê¤å¤¦ ²¼Î® #T35 1 ¤«¤ê¤å¤¦ ðùγ #T35 1 ¤«¤ê¤ç¤¦ ²ÃÎÅ #T30 0 ¤«¤ê¤ç¤¦ ²ÊÎÁ #T35 0 ¤«¤ê¤ç¤¯ ²ÐÎÏ #T35 6 ¤«¤ê¤ï ´¢±© #JCN 0 ¤«¤ë ·Ú #KYmime 26 ¤«¤ë¤¤¤¶¤ï ·Ú°æÂô #CN 0 ¤«¤ë¤¦ ·Ú¤¦ #KYU 2 ¤«¤ë¤¬¤ê¡¼ ¥«¥ë¥¬¥ê¡¼ #CN 0 ¤«¤ë¤¬¤ë ·Ú¡¹ #F06 0 ¤«¤ë¤¬¤ë¤· ·Ú¡¹¤· #KY 1 ¤«¤ë¤¬¤ë¤·¤å¤¦ ·Ú¡¹¤·¤å¤¦ #KYU 1 ¤«¤ë¤·¤¦¤à ¥«¥ë¥·¥¦¥à #T35 0 ¤«¤ë¤Ï¤º¤ß ·Ú¤Ï¤º¤ß #T05 0 ¤«¤ë¤Ô¤¹ ¥«¥ë¥Ô¥¹ #KK 1 ¤«¤ë¤Õ¤©¤ë¤Ë¤¢ ¥«¥ë¥Õ¥©¥ë¥Ë¥¢ #CN 0 ¤«¤ë¤Ü¤Ê¡¼¤é ¥«¥ë¥Ü¥Ê¡¼¥é #T35 0 ¤«¤ë¤Þ¤¤ ·ÚÊÆ #JCN 0 ¤«¤ë¤ï¤¶ ·Ú¶È #T35 0 ¤«¤ì ³é¤ì #KS 0 ¤«¤ì ¸Ï¤ì #KS 2 ¤«¤ì Èà #T35 118 ¤«¤ì¡¼ ¥«¥ì¡¼ #T35 6 ¤«¤ì¤¤ ²ÚÎï #T05 3 ¤«¤ì¤¤ ²ÃÎð #T35 1 ¤«¤ì¤¤ òÒ #T35 1 ¤«¤ì¤¤ ò× #T35 1 ¤«¤ì¤¤¤É ¥«¥ì¥¤¥É #T35 1 ¤«¤ì¤­ ¸ÏÌÚ #T35 0 ¤«¤ì¤· Èà»á #T35 2 ¤«¤ì¤Ä ²×Îõ #T05 1 ¤«¤ì¤Ï ¸ÏÍÕ #T35 0 ¤«¤ì¤é ÈàÅù #T35 0 ¤«¤ì¤é Èà¤é #T35 22 ¤«¤ì¤ó ²ÄÎù #T05 3 ¤«¤ì¤ó¤À¡¼ ¥«¥ì¥ó¥À¡¼ #T35 4 ¤«¤ì¤ó¤È ¥«¥ì¥ó¥È #T35 138 ¤«¤í¤¦ ¿É¤¦ #KYU 1 ¤«¤í¤¦ ²ÈÏ· #T35 0 ¤«¤í¤¦¤¸¤Æ ¤«¤í¤¦¤¸¤Æ #F14 1 ¤«¤í¤¦¤¸¤Æ ¤«¤í¤¦¤¸¤Æ #T36 0 ¤«¤í¤ä¤« ·Ú¤ä¤« #T05 0 ¤«¤í¤ê¡¼ ¥«¥í¥ê¡¼ #JS 1 ¤«¤í¤ê¡¼ ¥«¥í¥ê¡¼ #T35 1 ¤«¤ï ³é #K5 0 ¤«¤ï ´¥ #K5 1 ¤«¤ï ÂØ #R5 0 ¤«¤ï ´¹¤ï #R5 2 ¤«¤ï ÂØ¤ï #R5 2 ¤«¤ï ÊÑ #R5 2 ¤«¤ï ÊѤï #R5 255 ¤«¤ï Âå¤ï #R5r 136 ¤«¤ï ¤«¤ï #R5r 25 ¤«¤ï Âå #R5r 6 ¤«¤ï ¤«¤ï #S5 1 ¤«¤ï ¸ò¤ï #S5 7 ¤«¤ï ³× #T35 1 ¤«¤ï ²Ï #T35 20 ¤«¤ï Èé #T35 4 ¤«¤ï Àî #T35 65 ¤«¤ï ¦ #T35 9 ¤«¤ï¤¤ ²Ï¹ç #JCN 0 ¤«¤ï¤¤ Àî°æ #JCN 0 ¤«¤ï¤¤ Àî¹ç #JCN 0 ¤«¤ï¤¤ ²Ï°æ #JNS 0 ¤«¤ï¤¤ ²Ä°¦ #KY 27 ¤«¤ï¤¤ ¤«¤ï¤¤ #KY 4 ¤«¤ï¤¤¤¬ ¤«¤ï¤¤¤¬ #R5 0 ¤«¤ï¤¤¤¬ ²Ä°¦¤¬ #R5 1 ¤«¤ï¤¤¤½¤¦ ²Ä°¥Áê #T05 0 ¤«¤ï¤¤¤½¤¦ ²Ä°¥ÁÛ #T05 21 ¤«¤ï¤¦¤¨ Àî¾å #JCN 0 ¤«¤ï¤¦¤Á ²ÏÆâ #JCN 0 ¤«¤ï¤¦¤Á ÀîÆâ #JCN 0 ¤«¤ï¤¦¤é ²Ï±º #JCN 0 ¤«¤ï¤« ´¥¤« #S5r 1 ¤«¤ï¤«¤ß Àî¾å #JCN 0 ¤«¤ï¤«¤ß ²Ï¾å #JNS 0 ¤«¤ï¤«¤ß Àî¾å #T35 0 ¤«¤ï¤­¤¿ ÀîËÌ #JCN 0 ¤«¤ï¤¯¤é ÀîÁÒ #JNS 0 ¤«¤ï¤°¤Á Àî¸ý #JCN 0 ¤«¤ï¤°¤Á ²Ï¸ý #T35 1 ¤«¤ï¤°¤Á Àî¸ý #T35 11 ¤«¤ï¤°¤Á¤³ ²Ï¸ý¸Ð #CN 0 ¤«¤ï¤°¤Ä ³×·¤ #T35 0 ¤«¤ï¤² ²Ï·Ý #JCN 0 ¤«¤ï¤´¤¨ Àî±Û #JCN 0 ¤«¤ï¤µ¤­ Àîºê #JCN 0 ¤«¤ï¤µ¤­¤· Àîºê»Ô #CNS 0 ¤«¤ï¤µ¤È ÀîΤ #JCN 0 ¤«¤ï¤¶¤ó¤è¤¦ Èé»»ÍÑ #T30 0 ¤«¤ï¤·¤Þ ÀîÅç #JCN 0 ¤«¤ï¤·¤Þ ²ÏÅç #JNS 0 ¤«¤ï¤·¤Þ ÀîÅè #JNS 0 ¤«¤ï¤·¤â Àî²¼ #T35 0 ¤«¤ï¤¸¤Þ ÀîÅç #JNS 0 ¤«¤ï¤¸¤ê À #JCN 0 ¤«¤ï¤º ³¿ #T35 0 ¤«¤ï¤» ÀîÀ¥ #JNS 0 ¤«¤ï¤» °ÙÂØ #T35 1 ¤«¤ï¤½¤¨ ÀîÉû #JCN 0 ¤«¤ï¤¾¤³ ÀîÄì #T35 0 ¤«¤ï¤¿ ²ÏÅÄ #JNS 0 ¤«¤ï¤¿¤Ê Àîê #JCN 0 ¤«¤ï¤À ²ÏÅÄ #JNS 0 ¤«¤ï¤À ÀîÅÄ #JNS 0 ¤«¤ï¤Á ²ÏÆâ #JCN 0 ¤«¤ï¤Á¤Ê¤¬¤Î ²ÏÆâĹÌî #CN 0 ¤«¤ï¤Å ÀîÄÅ #JNS 0 ¤«¤ï¤Ê Àî̾ #JNS 0 ¤«¤ï¤Ê¤« ÀîÃæ #JNS 0 ¤«¤ï¤Ê¤Ù ÀîÊÕ #JCN 0 ¤«¤ï¤Ë¤· ÀîÀ¾ #JCN 0 ¤«¤ï¤Ë¤· ²ÏÀ¾ #JNS 0 ¤«¤ï¤Ì¤Þ ²Ï¾Â #JCN 0 ¤«¤ï¤Í À #JCN 0 ¤«¤ï¤Î ²ÏÌî #JNS 0 ¤«¤ï¤Î ÀîÌî #JNS 0 ¤«¤ï¤Î¤¨ ÀîÇ·¹¾ #CN 0 ¤«¤ï¤Ï¤é À #JCN 0 ¤«¤ï¤Ï¤é ²Ï¸¶ #JNS 0 ¤«¤ï¤Ð Àî¾ì #CN 0 ¤«¤ï¤Ð¤¿ Àîü #JCN 0 ¤«¤ï¤Ð¤¿ ÀîȪ #JNS 0 ¤«¤ï¤Ð¤¿ Àîü #T35 5 ¤«¤ï¤Ò¤¬¤· ²ÏÅì #JCN 0 ¤«¤ï¤Ù ²ÏÊÕ #JCN 0 ¤«¤ï¤Ù ÀîÊÕ #JCN 0 ¤«¤ï¤Þ¤¿ ÀîËó #JCN 0 ¤«¤ï¤Þ¤¿ ÀîËô #JNS 0 ¤«¤ï¤ß¤Ê¤ß ÀîÆî #JCN 0 ¤«¤ï¤à¤é ²Ï¼ #JNS 0 ¤«¤ï¤à¤é Àî¼ #JNS 0 ¤«¤ï¤â¤È ÀîËÜ #JCN 0 ¤«¤ï¤ä ÒÎ #KJ 1 ¤«¤ï¤ä ÒÎ #T35 1 ¤«¤ï¤æ¤¦ ¤«¤ï¤æ¤¦ #KYU 1 ¤«¤ï¤æ¤¦ ²Ä°¦¤¦ #KYU 2 ¤«¤ï¤é ¹á½Õ #JCN 0 ¤«¤ï¤é À #T35 0 ¤«¤ï¤é ´¤ #T35 2 ¤«¤ï¤é ²Ï¸¶ #T35 8 ¤«¤ï¤ê ÊѤï¤ê #T35 0 ¤«¤ó ´Ö #CNSUC1 170 ¤«¤ó ´§ #F09 11 ¤«¤ó ¿û #JNS 0 ¤«¤ó ´¬ #JS 0 ¤«¤ó ´Ì #JS 0 ¤«¤ó ´Ó #JS 0 ¤«¤ó ´Ö #JSSUC 0 ¤«¤ó ´¦ #KJ 0 ¤«¤ó ´­ #KJ 0 ¤«¤ó ´® #KJ 0 ¤«¤ó ´³ #KJ 0 ¤«¤ó ´µ #KJ 0 ¤«¤ó ´¸ #KJ 0 ¤«¤ó ´º #KJ 0 ¤«¤ó ´» #KJ 0 ¤«¤ó ´¼ #KJ 0 ¤«¤ó ´¾ #KJ 0 ¤«¤ó ´À #KJ 0 ¤«¤ó ´Ã #KJ 0 ¤«¤ó ´Å #KJ 0 ¤«¤ó ´Æ #KJ 0 ¤«¤ó ´È #KJ 0 ¤«¤ó ´Î #KJ 0 ¤«¤ó ´Ð #KJ 0 ¤«¤ó ´Ò #KJ 0 ¤«¤ó ´Ô #KJ 0 ¤«¤ó ´Õ #KJ 0 ¤«¤ó ´Ù #KJ 0 ¤«¤ó ½á #KJ 0 ¤«¤ó ¿À #KJ 0 ¤«¤ó ´² #KJ 1 ¤«¤ó ´´ #KJ 1 ¤«¤ó ´· #KJ 1 ¤«¤ó ´Â #KJ 1 ¤«¤ó ´Ç #KJ 1 ¤«¤ó ´Ê #KJ 1 ¤«¤ó ´Ë #KJ 1 ¤«¤ó ´Í #KJ 1 ¤«¤ó ´Ó #KJ 1 ¤«¤ó ´× #KJ 1 ¤«¤ó È¡ #KJ 1 ¤«¤ó â× #KJ 1 ¤«¤ó ´¥ #KJ 2 ¤«¤ó ´« #KJ 2 ¤«¤ó ´Ä #KJ 2 ¤«¤ó ´Ú #KJ 2 ¤«¤ó ´Ü #KJ 2 ¤«¤ó Õ¡ #KJ 2 ¤«¤ó ´© #KJ 3 ¤«¤ó ´¹ #KJ 3 ¤«¤ó ´¿ #KJ 3 ¤«¤ó ´± #KJ 4 ¤«¤ó ´Á #KJ 7 ¤«¤ó ´± #SUC 0 ¤«¤ó ´¶ #SUC 0 ¤«¤ó ´Ñ #SUC 0 ¤«¤ó ´Û #SUC 0 ¤«¤ó ´Ø #SX 142 ¤«¤ó ´¯ #T30 0 ¤«¤ó ´Ï #T35 0 ¤«¤ó ¹Ã #T35 0 ¤«¤ó ´¨ #T35 1 ¤«¤ó ´½ #T35 1 ¤«¤ó ´Ñ #T35 1 ¤«¤ó ´É #T35 11 ¤«¤ó ´° #T35 255 ¤«¤ó ´ª #T35 4 ¤«¤ó ´¶ #T35 4 ¤«¤ó ´Ì #T35 5 ¤«¤ó ´Ö #T35 6 ¤«¤ó ´Û #T35 6 ¤«¤ó ´Ñ #ZX 1 ¤«¤ó ´¶ #ZX 4 ¤«¤ó¤¢¤ó ´ª°Æ #T35 0 ¤«¤ó¤¤ ´Ê°× #T05 9 ¤«¤ó¤¤¤Á ´Ó°ì #JNM 0 ¤«¤ó¤¤¤Ã¤Ñ¤Ä ´Ö°ìȱ #T35 0 ¤«¤ó¤¤¤ó ´¯°ü #T30 0 ¤«¤ó¤¤¤ó ´Û°÷ #T35 0 ¤«¤ó¤¨¤Ä ´Ø±Û #CN 0 ¤«¤ó¤¨¤ó ´Î±ê #T35 2 ¤«¤ó¤ª¤± ´½²³ #T35 1 ¤«¤ó¤ª¤ó¤¸ ´Ñ²»»û #JCN 0 ¤«¤ó¤« ´Ç²á #T30 0 ¤«¤ó¤« ´¶²½ #T30 1 ¤«¤ó¤«¤¤ ´²²ò #T30 0 ¤«¤ó¤«¤¤ ´±³¦ #T35 0 ¤«¤ó¤«¤¯ ´¶³Ð #T30 12 ¤«¤ó¤«¤¯ ´Ö³Ö #T35 36 ¤«¤ó¤«¤Ä ´É³í #T30 1 ¤«¤ó¤¬¤¤ ´¨³² #T35 0 ¤«¤ó¤¬¤¤ ´³³² #T35 0 ¤«¤ó¤¬¤¤ ´¶³´ #T35 14 ¤«¤ó¤¬¤¨ ¹Í¤¨ #KSr 255 ¤«¤ó¤¬¤¨¤«¤¿ ¹Í¤¨Êý #T35 23 ¤«¤ó¤¬¤¨¤³ ¹Í¤¨¹þ #M5 1 ¤«¤ó¤¬¤¨¤À ¹Í¤¨½Ð #S5 2 ¤«¤ó¤¬¤¨¤Ä ¹Í¤¨ÉÕ #K5r 2 ¤«¤ó¤¬¤¨¤Ä¤á ¹Í¤¨µÍ¤á #KS 0 ¤«¤ó¤¬¤¨¤Ê¤ª ¹Í¤¨Ä¾ #S5r 3 ¤«¤ó¤¬¤¨¤Ì ¹Í¤¨È´ #K5 0 ¤«¤ó¤¬¤¯ ´±³Ø #T35 0 ¤«¤ó¤¬¤ß ´Õ¤ß #KS 2 ¤«¤ó¤¬¤ë¡¼ ¥«¥ó¥¬¥ë¡¼ #T35 0 ¤«¤ó¤­ ´­µ¯ #T30 1 ¤«¤ó¤­ ´¹µ¤ #T30 1 ¤«¤ó¤­ ´¿´î #T30 1 ¤«¤ó¤­ ´¥´ü #T35 0 ¤«¤ó¤­ ´¨µ¤ #T35 1 ¤«¤ó¤­¤»¤ó ´¹µ¤Àð #T35 3 ¤«¤ó¤­¤Ä ´»µÌ #T35 0 ¤«¤ó¤­¤ã¤¯ ´ÑµÒ #T35 2 ¤«¤ó¤­¤å¤¦ ´ËµÞ #T35 0 ¤«¤ó¤­¤ç ´×µï #T30 0 ¤«¤ó¤­¤ç ´±µö #T30 26 ¤«¤ó¤­¤ç¤¦ ´¶¶½ #T35 0 ¤«¤ó¤­¤ç¤¦ ´Ä¶­ #T35 255 ¤«¤ó¤­¤ç¤¦¤·¤ç¤¦ ´Ä¶­¾Ê #KK 0 ¤«¤ó¤­¤ç¤¦¤Á¤ç¤¦ ´Ä¶­Ä£ #KK 0 ¤«¤ó¤­¤ó ´Æ¶Ø #T30 0 ¤«¤ó¤­¤ó ´¹¶â #T30 1 ¤«¤ó¤­¤ó Ûå¶Ý #T35 1 ¤«¤ó¤®¤å¤¦¤¸¤å¤¦¤È¤¦ ´Àµí½¼Åï #T35 0 ¤«¤ó¤®¤ç¤¦ ´±¶È #T35 0 ¤«¤ó¤®¤ç¤¦ ´«¶È #T35 3 ¤«¤ó¤¯ ´É¶è #JS 0 ¤«¤ó¤¯ ´É¶è #T35 0 ¤«¤ó¤¯¤¦ ´Ø¶õ #CNS 0 ¤«¤ó¤° ´ª¤° #R5r 0 ¤«¤ó¤±¤¤ ´Ø·¸ #T30 255 ¤«¤ó¤±¤¤¤Ê ´Ø·¸¤Ê #KY 0 ¤«¤ó¤±¤Ä ´Ê·é #T05 4 ¤«¤ó¤±¤Ä ´°·ë #T30 2 ¤«¤ó¤±¤Ä ´Ö·ç #T35 1 ¤«¤ó¤²¤¤ ´¿·Þ #T30 23 ¤«¤ó¤²¤­ ´Ñ·à #T30 2 ¤«¤ó¤²¤­ ´¶·ã #T30 3 ¤«¤ó¤²¤­ ´Ö·ä #T35 2 ¤«¤ó¤²¤ó ´Ò¸À #T30 1 ¤«¤ó¤²¤ó ´Ô¸µ #T30 1 ¤«¤ó¤²¤ó ´¹¸À #T30 8 ¤«¤ó¤²¤ó ´Å¸À #T35 1 ¤«¤ó¤²¤ó¤¬¤¯ ´É¸¹³Ú #T35 0 ¤«¤ó¤³ ´¿¸Æ #T30 0 ¤«¤ó¤³¤¦ ´°¹© #T30 0 ¤«¤ó¤³¤¦ ´¶¸÷ #T30 0 ¤«¤ó¤³¤¦ ´º¹Ô #T30 0 ¤«¤ó¤³¤¦ ´Ë¹Ô #T30 0 ¤«¤ó¤³¤¦ ´©¹Ô #T30 2 ¤«¤ó¤³¤¦ ´Ñ¸÷ #T30 9 ¤«¤ó¤³¤¦ ´·¹Ô #T35 1 ¤«¤ó¤³¤¦¤­¤ã¤¯ ´Ñ¸÷µÒ #T35 0 ¤«¤ó¤³¤¦¤Á ´Ñ¸÷ÃÏ #T35 0 ¤«¤ó¤³¤¦¤Á¤ç¤¦ ´±¸øÄ£ #T35 0 ¤«¤ó¤³¤¦¤Ø¤ó ´Î¹ÅÊÑ #T35 0 ¤«¤ó¤³¤¦¤ì¤¤ 䯸ýÎá #T35 1 ¤«¤ó¤³¤¯ ´Ú¹ñ #CN 0 ¤«¤ó¤³¤¯ ´«¹ð #T30 9 ¤«¤ó¤³¤Ä¤À¤Ã¤¿¤¤ ´¹¹üÃ¥ÂÛ #T35 1 ¤«¤ó¤³¤É¤ê ´×¸ÅÄ» #T35 1 ¤«¤ó¤³¤ó¤½¤¦¤µ¤¤ ´§º§Áòº× #T35 1 ¤«¤ó¤´ ´Á¸ì #KK 0 ¤«¤ó¤´ ´Ç¸î #T30 1 ¤«¤ó¤´¤¯ ´Æ¹ö #T35 0 ¤«¤ó¤´¤Õ ´Ç¸îÉØ #T35 2 ¤«¤ó¤µ ´Õºº #T30 0 ¤«¤ó¤µ ´¶ºî #T30 1 ¤«¤ó¤µ ´Æºº #T30 2 ¤«¤ó¤µ¤¤ ´ØÀ¾ #CNS 0 ¤«¤ó¤µ¤¤ ´°ºÑ #T30 0 ¤«¤ó¤µ¤¤ ´ÊºÛ #T35 0 ¤«¤ó¤µ¤¤¤³¤¯¤µ¤¤¤¯¤¦¤³¤¦ ´ØÀ¾¹ñºÝ¶õ¹Á #CNS 0 ¤«¤ó¤µ¤Ä ´Æ»¡ #T30 0 ¤«¤ó¤µ¤Ä ´Ñ»¡ #T30 9 ¤«¤ó¤µ¤Ä ´Õ»¥ #T35 0 ¤«¤ó¤µ¤ó ´×»¶ #F00 1 ¤«¤ó¤µ¤ó ´¹»» #T30 4 ¤«¤ó¤¶¤¤ ´Éºâ #T35 0 ¤«¤ó¤¶¤­ ¿Àºê #JCN 0 ¤«¤ó¤¶¤­ ¿Àºë #JCN 0 ¤«¤ó¤¶¤ó ´¹»» #T30 0 ¤«¤ó¤· ´Æ»ë #T30 29 ¤«¤ó¤· îé»Ò #T35 1 ¤«¤ó¤· ´Á»í #T35 0 ¤«¤ó¤· ´§»ì #T35 0 ¤«¤ó¤·¤­ ´Õ¼± #T35 0 ¤«¤ó¤·¤Ä ´¥¼¾ #T35 0 ¤«¤ó¤·¤Ä ´Ö¼Á #T35 1 ¤«¤ó¤·¤Æ ´Ø¤·¤Æ #T35 90 ¤«¤ó¤·¤ã ´¶¼Õ #T30 21 ¤«¤ó¤·¤ã ´±¼Ë #T35 0 ¤«¤ó¤·¤ã¤¯ ¤«¤ó¤·¤ã¤¯ #T35 0 ¤«¤ó¤·¤ã¤¯ áòáû #T35 0 ¤«¤ó¤·¤ã¤¯¤À¤Þ ¤«¤ó¤·¤ã¤¯¶Ì #T35 0 ¤«¤ó¤·¤ã¤¯¤À¤Þ áòáû¶Ì #T35 0 ¤«¤ó¤·¤å ´Ç¼è #T30 1 ¤«¤ó¤·¤å ´Ç¼é #T35 0 ¤«¤ó¤·¤å ´Î¼ð #T35 1 ¤«¤ó¤·¤å¤¦ ´Æ½¤ #T30 1 ¤«¤ó¤·¤å¤¦ ´Ñ½° #T35 0 ¤«¤ó¤·¤å¤¦ ´·½¬ #T35 16 ¤«¤ó¤·¤ç ´Å½ò #T35 0 ¤«¤ó¤·¤ç¤¦ ´³¾Ä #T30 2 ¤«¤ó¤·¤ç¤¦ ´Ñ¾Þ #T30 2 ¤«¤ó¤·¤ç¤¦ ´Õ¾Þ #T30 3 ¤«¤ó¤·¤ç¤¦ ´¶½ý #T35 0 ¤«¤ó¤·¤ç¤¦ ´Ä¾Ì #T35 0 ¤«¤ó¤·¤ç¤¦ ´Ë¾× #T35 0 ¤«¤ó¤·¤ç¤¦¤¨¤­ ´Ë¾×±Õ #T35 1 ¤«¤ó¤·¤ç¤¦¤Æ¤­ ´¶½ýŪ #T05 1 ¤«¤ó¤·¤ç¤¯ ´Ö¿© #T30 4 ¤«¤ó¤·¤ç¤¯ ´×¿¦ #T35 0 ¤«¤ó¤·¤ç¤¯ ´¶¿¨ #T35 2 ¤«¤ó¤·¤ó ´Ø¿´ #T05 16 ¤«¤ó¤·¤ó ´¶¿´ #T30 12 ¤«¤ó¤·¤ó ´¿¿´ #T35 0 ¤«¤ó¤·¤ó¤¸ ´Ø¿´»ö #T35 2 ¤«¤ó¤¸ ´°¼£ #JNM 0 ¤«¤ó¤¸ ´²¼£ #JNM 0 ¤«¤ó¤¸ ´¶¤¸ #KS 248 ¤«¤ó¤¸ ´Æ»ö #T35 1 ¤«¤ó¤¸ ´´»ö #T35 214 ¤«¤ó¤¸ ´Á»ú #T35 255 ¤«¤ó¤¸ ´¶¤¸ #T35 76 ¤«¤ó¤¸¤È ´¶¤¸¤È #R5 0 ¤«¤ó¤¸¤ã ´µ¼Ô #T35 2 ¤«¤ó¤¸¤ã¤¯ ´×¼ä #T05 0 ¤«¤ó¤¸¤å ´Å¼õ #T30 1 ¤«¤ó¤¸¤å¤¯ ´°½Ï #T30 0 ¤«¤ó¤¸¤å¤»¤¤ ´¶¼õÀ­ #T35 0 ¤«¤ó¤¸¤ç ´²½ú #T30 0 ¤«¤ó¤¸¤ç ´±½÷ #T35 0 ¤«¤ó¤¸¤ç¤¦ ´ªÄê #T30 6 ¤«¤ó¤¸¤ç¤¦ ´Ä¾õ #T35 1 ¤«¤ó¤¸¤ç¤¦ ´¶¾ð #T35 14 ¤«¤ó¤¸¤ç¤¦¤ß¤ã¤¯ ´§ÀÅÌ® #T35 1 ¤«¤ó¤¸¤ó ´Î¿Õ #T05 0 ¤«¤ó¤¸¤ó ´Î¿´ #T05 15 ¤«¤ó¤¹¤¤ ´Ã¿å #T30 0 ¤«¤ó¤¹¤¤ ´§¿å #T30 1 ¤«¤ó¤¹¤¤ ´°¿ë #T30 1 ¤«¤ó¤¹¤¦ ´Ø¿ô #T35 255 ¤«¤ó¤¹¤¦¤¬¤¿ ´Ø¿ô·¿ #T35 10 ¤«¤ó¤¹¤¦¤· ´§¿ô»ì #T35 0 ¤«¤ó¤»¤¤ ´×ÀÅ #T05 0 ¤«¤ó¤»¤¤ ´ÉÀ© #T30 1 ¤«¤ó¤»¤¤ ´°À® #T30 46 ¤«¤ó¤»¤¤ ´±À½ #T35 0 ¤«¤ó¤»¤¤ ´·À­ #T35 0 ¤«¤ó¤»¤¤ ´¿À¼ #T35 0 ¤«¤ó¤»¤¤ ´¥À­ #T35 1 ¤«¤ó¤»¤¤ ´­À¼ #T35 1 ¤«¤ó¤»¤¤ ´¶À­ #T35 1 ¤«¤ó¤»¤Ä ´ØÀá #T35 1 ¤«¤ó¤»¤Ä ´ÖÀÜ #T35 4 ¤«¤ó¤»¤ó ´ÑÀï #T30 1 ¤«¤ó¤»¤ó ´¶À÷ #T30 3 ¤«¤ó¤»¤ó ´ÏÁ¥ #T35 0 ¤«¤ó¤»¤ó ´´Àþ #T35 1 ¤«¤ó¤»¤ó¤« ´¶À÷²Á #T35 1 ¤«¤ó¤¼¤¤ ´ØÀÇ #T35 0 ¤«¤ó¤¼¤ó ´ºÁ³ #F00 1 ¤«¤ó¤¼¤ó ´°Á´ #T05 80 ¤«¤ó¤½ ´ÊÁÇ #T05 10 ¤«¤ó¤½¤¦ ´°Áö #T30 0 ¤«¤ó¤½¤¦ ´¿Á÷ #T30 0 ¤«¤ó¤½¤¦ ´¥Áç #T30 3 ¤«¤ó¤½¤¦ ´¥Áð #T35 1 ¤«¤ó¤½¤¦ ´¶ÁÛ #T35 21 ¤«¤ó¤½¤¯ ´Ñ¬ #T30 14 ¤«¤ó¤½¤ó ´¨Â¼ #T35 0 ¤«¤ó¤¾¤¦ ´Î¡ #T35 0 ¤«¤ó¤¿¤¤ ´¿ÂÔ #T30 1 ¤«¤ó¤¿¤¤ ´¨ÂÓ #T35 0 ¤«¤ó¤¿¤¤ ´ÏÂâ #T35 1 ¤«¤ó¤¿¤¯ ´³Âó #T30 0 ¤«¤ó¤¿¤ó ´Êñ #T05 255 ¤«¤ó¤¿¤ó ´¶Ã² #T30 3 ¤«¤ó¤À ´£ÅÄ #JCN 0 ¤«¤ó¤À ¿ÀÅÄ #JCN 0 ¤«¤ó¤À¤¤ ´²Âç #T05 3 ¤«¤ó¤À¤ó ´¿ÃÌ #T30 0 ¤«¤ó¤À¤ó ´ÖÃÇ #T35 0 ¤«¤ó¤À¤ó ´¨ÃÈ #T35 1 ¤«¤ó¤Á ´¶ÃÎ #T30 3 ¤«¤ó¤Á ´ØÃÎ #T30 3 ¤«¤ó¤Á ´°¼£ #T30 0 ¤«¤ó¤Á¤¬¤¤ ´ª°ã¤¤ #T30 17 ¤«¤ó¤Á¤¯ ´µÃÜ #T35 1 ¤«¤ó¤Á¤å¤¦ ´¨Ãæ #T35 1 ¤«¤ó¤Á¤ç¤¦ ޱIJ #T30 5 ¤«¤ó¤Á¤ç¤¦ ´³Ä¬ #T35 0 ¤«¤ó¤Á¤ç¤¦ ´ÉĹ #T35 0 ¤«¤ó¤Á¤ç¤¦ ´ÏĹ #T35 0 ¤«¤ó¤Á¤ç¤¦ ´Öĵ #T35 0 ¤«¤ó¤Á¤ç¤¦ ´ÛĹ #T35 0 ¤«¤ó¤Á¤ç¤¦ ´±Ä£ #T35 6 ¤«¤ó¤Ä¤¦ ´ÓÄÌ #T30 1 ¤«¤ó¤Å ´ª¤Å #K5r 0 ¤«¤ó¤Å ´¶¤Å #K5r 0 ¤«¤ó¤Å¤á ´ÌµÍ #T35 0 ¤«¤ó¤Æ¤¤ ´ÕÄê #T30 2 ¤«¤ó¤Æ¤¤ ´±Å¡ #T35 0 ¤«¤ó¤Æ¤¤ ´ÏÄú #T35 0 ¤«¤ó¤Æ¤Ä ´ÓŰ #T30 0 ¤«¤ó¤Æ¤ó ´ÑÅÀ #T35 18 ¤«¤ó¤Ç¤ó ´¶ÅÅ #T30 0 ¤«¤ó¤Ç¤ó¤Á ´¥ÅÅÃÓ #T35 1 ¤«¤ó¤È¤¦ ´ØÅì #JNS 0 ¤«¤ó¤È¤¦ ´ØÅì #CNS 0 ¤«¤ó¤È¤¦ ´ºÆ® #T30 1 ¤«¤ó¤È¤¦ ´¬Æ¬ #T35 4 ¤«¤ó¤È¤¦ ´§Æ¬ #T35 8 ¤«¤ó¤È¤¯ ´ÆÆÄ #T30 6 ¤«¤ó¤È¤ó ¹­Åì #CN 0 ¤«¤ó¤É ´¶ÅÙ #T35 2 ¤«¤ó¤É¤¦ ´ªÅö #T30 0 ¤«¤ó¤É¤¦ ´¶Æ° #T30 14 ¤«¤ó¤É¤¦¤ß¤ã¤¯ ´§Æ°Ì® #T35 1 ¤«¤ó¤Ê îð #T35 0 ¤«¤ó¤Ê¤¤ ´ØÆâ #JCN 0 ¤«¤ó¤Ê¤¤ ´ÉÆâ #T35 0 ¤«¤ó¤Ê¤¤ ´ÏÆâ #T35 0 ¤«¤ó¤Ê¤¤ ´ÛÆâ #T35 1 ¤«¤ó¤Ê¤Å¤­ ¿À̵·î #T35 1 ¤«¤ó¤Ê¤Ê ´Ä¼· #KK 1 ¤«¤ó¤Ê¤Ù ¿ÀÊÕ #JCN 0 ¤«¤ó¤Ê¤ß È¡Æî #CN 0 ¤«¤ó¤Ê¤ê ¶âÀ® #JCN 0 ¤«¤ó¤Ë¤å¤¦ ´ÓÆþ #T30 0 ¤«¤ó¤Ë¤ó ´®Ç¦ #T30 0 ¤«¤ó¤Ì¤· ¿À¼ç #T35 0 ¤«¤ó¤Í¤Ä ´¥Ç® #T35 1 ¤«¤ó¤Í¤ó ´Ñǰ #T30 1 ¤«¤ó¤Î ¿ûÌî #JCN 0 ¤«¤ó¤Î¤¦ ´°Ç¼ #T30 0 ¤«¤ó¤Î¤¦ ´¶±þ #T30 0 ¤«¤ó¤Î¤¦ ´±Ç½ #T35 0 ¤«¤ó¤Î¤¦ ´ÖǾ #T35 0 ¤«¤ó¤Î¤¦ ´¶Ç½ #T35 1 ¤«¤ó¤Î¤ó ´Ñ²» #T35 3 ¤«¤ó¤Ð ×ûÇÏ #T35 0 ¤«¤ó¤Ð¤· ˧¤· #KYmi 1 ¤«¤ó¤Ð¤·¤å¤¦ ˧¤·¤å¤¦ #KYU 1 ¤«¤ó¤Ð¤Ä ´ÊÈ´ #T30 0 ¤«¤ó¤Ð¤Ä ´ÖȲ #T30 0 ¤«¤ó¤Ð¤Ä ÚÝò± #T35 0 ¤«¤ó¤Ð¤ä¤· ¾åÎÓ #JCN 0 ¤«¤ó¤Ð¤ä¤· ¿ÀÎÓ #JNS 0 ¤«¤ó¤Ð¤é ³÷¸¶ #JCN 0 ¤«¤ó¤Ð¤ó ´ÇÈÄ #T35 12 ¤«¤ó¤Ñ ¥«¥ó¥Ñ #T30 0 ¤«¤ó¤Ñ ´¨ÇÈ #T35 2 ¤«¤ó¤Ñ¤¤ ´°ÇÔ #T30 1 ¤«¤ó¤Ñ¤¤ ´¥ÇÕ #T30 4 ¤«¤ó¤Ñ¤¯ ´ØÇò #T35 0 ¤«¤ó¤Ñ¤Á ´ÄȬ #KK 1 ¤«¤ó¤Ñ¤ó ¹ÃÈÄ #T35 0 ¤«¤ó¤Ó ´°È÷ #T10 3 ¤«¤ó¤Ó¤ç¤¦ ´ÇÉ #T30 0 ¤«¤ó¤Ö ´µÉô #T35 0 ¤«¤ó¤Ö ´´Éô #T35 2 ¤«¤ó¤Ö¤Ä ´¥Êª #T35 0 ¤«¤ó¤Ö¤ó ´Áʸ #T35 3 ¤«¤ó¤× ´ÔÉÕ #T30 0 ¤«¤ó¤× ´¥ÉÛ #T35 0 ¤«¤ó¤× ´°Éæ #T35 0 ¤«¤ó¤×¤¦ ´°Éõ #T30 0 ¤«¤ó¤×¤¦ ´¨É÷ #T35 0 ¤«¤ó¤×¤¯ ´¶Éþ #T30 2 ¤«¤ó¤Ù ¿À¸Í #JCN 0 ¤«¤ó¤Ù¤Ä ´ÕÊÌ #T30 0 ¤«¤ó¤Ù¤ó ´ÊÊØ #T05 2 ¤«¤ó¤Ù¤ó ¤«¤ó¤Ù¤ó #T30 14 ¤«¤ó¤Ù¤ó ´ªÊÛ #T30 3 ¤«¤ó¤Ú¤­ ´°¤Ú¤­ #T05 1 ¤«¤ó¤Ú¤­ ´°àú #T05 20 ¤«¤ó¤Ü¤¦ ´¶ËÁ #T35 0 ¤«¤ó¤Ü¤¦ ´±Ë¼ #T35 1 ¤«¤ó¤Ü¤¯ ´ÃÌÚ #T35 0 ¤«¤ó¤Ü¤Ä ´ÙË× #T30 0 ¤«¤ó¤Ý¤¦ ´±Êó #T35 0 ¤«¤ó¤Ý¤¦ ´ÁÊý #T35 2 ¤«¤ó¤Ý¤¦¤Î¤Þ¤¸¤ï¤ê ´Éòº¤Î¸ò¤ï¤ê #T35 0 ¤«¤ó¤Ý¤¦¤ä¤¯ ´ÁÊýÌô #T35 0 ¤«¤ó¤Þ ¥«¥ó¥Þ #T35 5 ¤«¤ó¤Þ¤­ ¾åËÒ #JCN 0 ¤«¤ó¤Þ¤¯ ´ÖËì #T35 1 ¤«¤ó¤Þ¤Ä ´¬Ëö #T35 2 ¤«¤ó¤Þ¤ó ´ËËý #T05 0 ¤«¤ó¤Þ¤ó ´³Ëþ #T35 0 ¤«¤ó¤ß ´ÅÌ£ #T35 0 ¤«¤ó¤ß¤ó ´±Ì± #T35 0 ¤«¤ó¤à¤ê ´§ #T35 1 ¤«¤ó¤à¤ê¤ç¤¦ ´¶ÌµÎÌ #T05 2 ¤«¤ó¤á¤¤ ´ÊÌÀ #T05 1 ¤«¤ó¤á¤¤ ´¶Ìà #T30 1 ¤«¤ó¤â¤ó ´­Ìä #T30 0 ¤«¤ó¤â¤ó ´ØÌç #T35 1 ¤«¤ó¤ä¤¯ ´°Ìõ #T30 0 ¤«¤ó¤ä¤¯ ´ÆÌõ #T30 1 ¤«¤ó¤ä¤¯ ´ÊÌó #T30 1 ¤«¤ó¤æ ´¹ÓÈ #T30 4 ¤«¤ó¤æ¤¦ ´«Í¶ #T30 2 ¤«¤ó¤è ´ØÍ¿ #T30 2 ¤«¤ó¤è¤¦ ´²ÍÆ #T05 1 ¤«¤ó¤è¤¦ ´ÎÍ× #T05 7 ¤«¤ó¤è¤¦ ´·ÍÑ #T30 0 ¤«¤ó¤è¤¦¤« ´·ÍѲ½ #T30 0 ¤«¤ó¤é ´Å³Ú #JCN 0 ¤«¤ó¤é¤¯ ´ÙÍî #T30 0 ¤«¤ó¤é¤¯ ´¿³Ú #T35 0 ¤«¤ó¤é¤¯ ´¥Íï #T35 1 ¤«¤ó¤é¤ó ´ÑÍ÷ #T30 0 ¤«¤ó¤ê ´ÉÍý #T30 189 ¤«¤ó¤ê ´±Íù #T35 0 ¤«¤ó¤ê¤·¤ã ´ÉÍý¼Ô #T35 0 ¤«¤ó¤ê¤·¤ç¤¯ ´ÉÍý¿¦ #T35 2 ¤«¤ó¤ê¤Ë¤ó ´ÉÍý¿Í #T35 5 ¤«¤ó¤ê¤ã¤¯ ´Êά #T05 10 ¤«¤ó¤ê¤ã¤¯¤« ´Êά²½ #T30 0 ¤«¤ó¤ê¤å¤¦ ´Ãή #T30 1 ¤«¤ó¤ê¤å¤¦ ´¨Î® #T35 0 ¤«¤ó¤ê¤ç¤¦ ´°Î» #T30 66 ¤«¤ó¤ê¤ç¤¦ ´±Î½ #T35 3 ¤«¤ó¤ë¤¤ ´¶ÎÞ #T35 1 ¤«¤ó¤ì¤¤ ´¨Îä #T05 2 ¤«¤ó¤ì¤¤ ´·Îã #T35 2 ¤«¤ó¤ì¤­ ´ÔÎñ #T35 1 ¤«¤ó¤ì¤ó ´ØÏ¢ #T30 239 ¤«¤ó¤í ´ÅϪ #T35 0 ¤«¤ó¤í ´¨Ïª #T35 1 ¤«¤ó¤í¤¯ ´ÓϽ #T35 0 ¤«¤ó¤í¤Ë ´ÅϪ¼Ñ #T35 0 ¤«¤ó¤ï ´ËÏ #T30 3 ¤«¤ó¤ï ´ÁÏ #T35 0 ¤«¤ó¤ï¤­¤å¤¦¤À¤¤ ´×ÏõÙÂê #CJ 1 ¤¬ ²ä #KJ 0 ¤¬ ²î #KJ 0 ¤¬ ¥õ #KJ 1 ¤¬ ²å #KJ 1 ¤¬ ²í #KJ 1 ¤¬ ²ç #KJ 10 ¤¬ ¥ö #KJ 16 ¤¬ ²ê #KJ 2 ¤¬ ²é #SX 1 ¤¬ ²æ #T35 0 ¤¬ ²ë #T35 1 ¤¬ ²ï #T35 1 ¤¬ ²è #T35 105 ¤¬ ²ì #T35 15 ¤¬¡¼¤¼ ¥¬¡¼¥¼ #T35 1 ¤¬¡¼¤¿¡¼ ¥¬¡¼¥¿¡¼ #T35 1 ¤¬¡¼¤É ¥¬¡¼¥É #T30 3 ¤¬¡¼¤ê¤Ã¤¯ ¥¬¡¼¥ê¥Ã¥¯ #T35 1 ¤¬¤¤ ³¬ #JS 7 ¤¬¤¤ ³® #KJ 0 ¤¬¤¤ ³¯ #KJ 0 ¤¬¤¤ ³³ #KJ 0 ¤¬¤¤ ³´ #KJ 0 ¤¬¤¤ ³µ #KJ 0 ¤¬¤¤ ³· #KJ 0 ¤¬¤¤ ³» #KJ 0 ¤¬¤¤ ³¼ #KJ 0 ¤¬¤¤ ³± #KJ 1 ¤¬¤¤ ³¶ #KJ 1 ¤¬¤¤ ³¸ #KJ 1 ¤¬¤¤ ³º #KJ 1 ¤¬¤¤ ³° #KJ 22 ¤¬¤¤ ³¹ #KJ 4 ¤¬¤¤ ³² #S5 11 ¤¬¤¤ ³° #SUC 0 ¤¬¤¤ ³¹ #SUC 0 ¤¬¤¤ ³µ #SX 2 ¤¬¤¤ ³² #T30 11 ¤¬¤¤¤¢¤¯ ³²°­ #T35 2 ¤¬¤¤¤¢¤Ä ³°°µ #T35 1 ¤¬¤¤¤¤¤ó ³°°ø #T35 1 ¤¬¤¤¤¤¤ó¤Ö ³°±¢Éô #T35 1 ¤¬¤¤¤¨¤ó ³°±ï #T05 2 ¤¬¤¤¤« ³®²Î #T35 0 ¤¬¤¤¤« ³°²ß #T35 0 ¤¬¤¤¤«¤¤ ³°³¦ #T35 1 ¤¬¤¤¤«¤¯ ³°³Ñ #T35 0 ¤¬¤¤¤«¤¯ ³°³Ô #T35 3 ¤¬¤¤¤«¤Ä ³µ³ç #T30 0 ¤¬¤¤¤«¤ó ³µ´Ñ #T30 11 ¤¬¤¤¤«¤ó ³°´µ #T35 0 ¤¬¤¤¤«¤ó ³°´Ñ #T35 2 ¤¬¤¤¤­ ³°µ¤ #T35 0 ¤¬¤¤¤­¤ç¤¦ ³µ¶· #T35 0 ¤¬¤¤¤­¤ç¤¯ ³°¶É #T35 0 ¤¬¤¤¤­¤ó ³°¶Ð #T30 2 ¤¬¤¤¤±¤¤ ³°·Á #T35 0 ¤¬¤¤¤±¤ó ³°¸« #T35 2 ¤¬¤¤¤³¤¦ ³°¸ò #T30 1 ¤¬¤¤¤³¤¦ ³°¸þ #T35 0 ¤¬¤¤¤³¤¦¤«¤ó ³°¸ò´± #T35 0 ¤¬¤¤¤³¤¯ ³°¹ñ #T35 15 ¤¬¤¤¤³¤Ä ³¼¹ü #T35 1 ¤¬¤¤¤´ ³°¸ì #T35 0 ¤¬¤¤¤µ¤¤ ³°ºÄ #T35 0 ¤¬¤¤¤µ¤ó ³µ»» #T30 1 ¤¬¤¤¤¶¤¤ ³°ºà #T35 0 ¤¬¤¤¤· ³°»æ #T35 0 ¤¬¤¤¤· ³·»Ò #T35 0 ¤¬¤¤¤· ³°»ñ #T35 2 ¤¬¤¤¤·¤ã ²ñ¼Ò #SUC 8 ¤¬¤¤¤·¤ã ²ñ¼Ò #T35 1 ¤¬¤¤¤·¤ã ³°¼Ö #T35 3 ¤¬¤¤¤·¤å¤¦ ³°¼þ #T35 2 ¤¬¤¤¤·¤å¤Ä ³°½Ð #T30 13 ¤¬¤¤¤·¤ç¤¦ ³°½ý #T35 0 ¤¬¤¤¤·¤ç¤¦ ³°Áê #T35 1 ¤¬¤¤¤·¤ç¤¯ ³°¿© #T30 2 ¤¬¤¤¤·¤ó ³°¿® #T35 0 ¤¬¤¤¤·¤ó ³°¿´ #T35 0 ¤¬¤¤¤¸ ³°»ú #T35 91 ¤¬¤¤¤¸¤å ³°¼û #T35 0 ¤¬¤¤¤¸¤ó ³°¿Í #T35 3 ¤¬¤¤¤¹¤¦ ³µ¿ô #T35 1 ¤¬¤¤¤»¤¤ ³°À¬ #T30 0 ¤¬¤¤¤»¤¤ ³°À¼ #T35 0 ¤¬¤¤¤»¤­ ³°ÀÌ #T35 0 ¤¬¤¤¤»¤­ ³°ÀÑ #T35 3 ¤¬¤¤¤»¤Ä ³°ÀÜ #T30 0 ¤¬¤¤¤»¤Ä ³µÀâ #T30 3 ¤¬¤¤¤»¤ó ³®Àû #T30 0 ¤¬¤¤¤»¤ó ³°Àþ #T35 7 ¤¬¤¤¤½¤¦ ³°ÁÞ #T30 4 ¤¬¤¤¤½¤¦ ³°ÁØ #T35 2 ¤¬¤¤¤½¤¯ ³°Â¦ #T35 1 ¤¬¤¤¤¿¤á¤Û¤¦ ³°°ÙË¡ #T35 1 ¤¬¤¤¤¿¤ó ³´Ã² #T30 0 ¤¬¤¤¤Á¤å¤¦ ³°Ãí #T30 9 ¤¬¤¤¤Á¤å¤¦ ³²Ãî #T35 0 ¤¬¤¤¤Æ¤­ ³°Åª #T05 1 ¤¬¤¤¤Æ¤­ ³°Å¨ #T35 0 ¤¬¤¤¤Ç¤ó ³°ÅÁ #T35 0 ¤¬¤¤¤Ç¤ó ³°ÅÅ #T35 0 ¤¬¤¤¤È¤¦ ³ºÅö #T30 27 ¤¬¤¤¤È¤¦ ³°Åô #T35 0 ¤¬¤¤¤È¤¦ ³¹Åô #T35 0 ¤¬¤¤¤È¤¦ ³¹Æ¬ #T35 1 ¤¬¤¤¤É ¥¬¥¤¥É #T30 20 ¤¬¤¤¤É¤¯ ³²ÆÇ #T35 0 ¤¬¤¤¤Í¤ó ³µÇ° #T35 60 ¤¬¤¤¤Í¤ó¤« ³µÇ°²½ #T30 0 ¤¬¤¤¤Ï¤¤¤è¤¦ ³°æõÍÕ #T35 1 ¤¬¤¤¤Ï¤¯ ³°Çñ #T30 2 ¤¬¤¤¤Ò ³°Èé #T35 1 ¤¬¤¤¤Ò ³°Èï #T35 1 ¤¬¤¤¤Ò¤ç¤¦ ³µÉ¾ #T30 0 ¤¬¤¤¤Ö ³°Éô #T35 73 ¤¬¤¤¤Ö¤ó ³°Ê¹ #T35 0 ¤¬¤¤¤Ø¤­ ³°ÊÉ #T35 0 ¤¬¤¤¤Þ¤¤ ³°ÊÆ #T35 0 ¤¬¤¤¤à ³°Ì³ #T35 0 ¤¬¤¤¤à¤·¤ç¤¦ ³°Ì³¾Ê #KK 1 ¤¬¤¤¤á¤ó ³°ÌÌ #T35 0 ¤¬¤¤¤ä ³°Ìî #T35 1 ¤¬¤¤¤æ¤¦ ³°Í· #T30 1 ¤¬¤¤¤è¤¦ ³µÍ× #T35 100 ¤¬¤¤¤é¤¤ ³°Íè #T35 12 ¤¬¤¤¤é¤ó ³°Íð #T35 2 ¤¬¤¤¤ê¤ã¤¯ ³µÎ¬ #T35 12 ¤¬¤¤¤ê¤ç¤¯ ³°ÎÏ #T35 0 ¤¬¤¤¤í ³¹Ï© #T35 0 ¤¬¤¤¤í¤ó ³µÏÀ #T30 2 ¤¬¤¨¤ó ¹Î¤ó #ZX 0 ¤¬¤¨¤ó¤¸ ¹Î¤ó¤¸ #KS 0 ¤¬¤ª ´é #JS 2 ¤¬¤ª¤« ¤¬µÖ #CNSUC1 0 ¤¬¤ª¤« ¥õ²¬ #CNSUC1 0 ¤¬¤ª¤« ¥õµÖ #CNSUC1 0 ¤¬¤ª¤« ¥ö²¬ #CNSUC1 0 ¤¬¤ª¤« ¥öµÖ #CNSUC1 0 ¤¬¤« ²è²È #T35 1 ¤¬¤«¤ê ·¸ #SUC 3 ¤¬¤¬¤¯ ²í³Ú #T35 0 ¤¬¤­ ½ñ¤­ #N2T30 32 ¤¬¤¯ ³Ü #KJ 0 ¤¬¤¯ Ä× #KJ 0 ¤¬¤¯ ÏÌ #KJ 0 ¤¬¤¯ ³Ú #KJ 3 ¤¬¤¯ ³Ù #KJ 5 ¤¬¤¯ ³Ø #SUC 0 ¤¬¤¯ ³Û #SUC 18 ¤¬¤¯ ³Û #T35 1 ¤¬¤¯ ³Ø #T35 2 ¤¬¤¯¤¤ ³Ø°Ì #T35 2 ¤¬¤¯¤¤¤ó ³Ø±¡ #T35 10 ¤¬¤¯¤¤¤ó ³Ú°÷ #T35 0 ¤¬¤¯¤¨¤ó ³Ø±à #T35 7 ¤¬¤¯¤®¤ç¤¦ ³Ø¶È #T35 0 ¤¬¤¯¤²¤¤ ³Ø·Ý #T35 1 ¤¬¤¯¤²¤­ ³Ú·à #T35 0 ¤¬¤¯¤µ¤¤ ³ØºÍ #T35 2 ¤¬¤¯¤· ³Ø»ñ #T35 0 ¤¬¤¯¤· ³Ø»Î #T35 2 ¤¬¤¯¤·¤­ ³Ø¼± #T35 1 ¤¬¤¯¤·¤ã ³Ø¼Ô #T35 2 ¤¬¤¯¤·¤å¤¦ ³Ø½¬ #T30 241 ¤¬¤¯¤·¤ç¤¦ ³Ú¾Ï #JS 1 ¤¬¤¯¤·¤ç¤¦ ³Ú¾Ï #T35 1 ¤¬¤¯¤¸¤å¤Ä ³Ø½Ñ #T35 6 ¤¬¤¯¤»¤¤ ³ØÀ© #T35 0 ¤¬¤¯¤»¤¤ ³ØÀ¸ #T35 31 ¤¬¤¯¤»¤­ ³ØÀÒ #T35 2 ¤¬¤¯¤»¤Ä ³ØÀâ #T35 0 ¤¬¤¯¤¼¤ó سÁ³ #F03 0 ¤¬¤¯¤½¤¦ ³ØÁë #T35 0 ¤¬¤¯¤½¤¯ ³ØÂ§ #T35 0 ¤¬¤¯¤½¤Ä ³ØÂ´ #T35 0 ¤¬¤¯¤¿¤¤ ³ÚÂâ #T35 0 ¤¬¤¯¤À¤ó ³ÚÃÄ #T35 0 ¤¬¤¯¤Á¤ç¤¦ ³ØÄ¹ #T35 2 ¤¬¤¯¤Æ¤­ ³ØÅª #T05 2 ¤¬¤¯¤É¤¦ ³ØÆ² #T35 0 ¤¬¤¯¤É¤¦ ³ØÆ¸ #T35 0 ¤¬¤¯¤É¤¦ ³ÚƲ #T35 0 ¤¬¤¯¤Ê¤¤ ³ØÆâ #T35 10 ¤¬¤¯¤Í¤ó ³ØÇ¯ #JS 2 ¤¬¤¯¤Í¤ó ³ØÇ¯ #T35 2 ¤¬¤¯¤Ð¤Ä ³ØÈ¶ #T35 0 ¤¬¤¯¤Ò ³ØÈñ #T35 0 ¤¬¤¯¤Õ ³ÚÉè #T35 1 ¤¬¤¯¤Ö ³ØÉô #T35 19 ¤¬¤¯¤Ö¤Á ³Û±ï #T35 0 ¤¬¤¯¤à ³ØÌ³ #T35 1 ¤¬¤¯¤á¤¤ ³ØÌ¾ #T35 0 ¤¬¤¯¤á¤ó ³ÛÌÌ #T35 0 ¤¬¤¯¤â¤ó ³ØÌä #T30 2 ¤¬¤¯¤ä ³Ú²° #T35 1 ¤¬¤¯¤æ¤¦ ³ØÍ§ #T35 0 ¤¬¤¯¤è¤¦¤Ò¤ó ³ØÍÑÉÊ #T35 0 ¤¬¤¯¤ê¤ç¤¯ ³ØÎÏ #T35 0 ¤¬¤¯¤ì¤­ ³ØÎò #T35 8 ¤¬¤¯¤ï¤ê ³Ø³ä #T35 0 ¤¬¤± ¤¬¤± #SUC 10 ¤¬¤± ³³ #T35 1 ¤¬¤±¤Ã¤×¤Á ³³¤ÃÊ¥ #T35 0 ¤¬¤´¤¦ ²í¹æ #T35 0 ¤¬¤µ¤¤ ²èºÍ #T35 0 ¤¬¤¶¤¤ ²èºà #T35 0 ¤¬¤· ²î»à #T30 1 ¤¬¤·¤Ä ²è¼Á #T35 1 ¤¬¤·¤å ²í¼ñ #T35 0 ¤¬¤·¤å¤¦ ²è½¸ #T35 1 ¤¬¤·¤ç¤¦ ²è¾¦ #T35 0 ¤¬¤·¤ç¤¦ ²ìÀµ #T35 0 ¤¬¤·¤ó¤·¤ç¤¦¤¿¤ó ²é¿Å¾¨ÃÀ #T30 3 ¤¬¤¸¤ç¤¦ ²ç¾ë #T35 1 ¤¬¤¸¤ç¤¦ ²ì¾õ #T35 1 ¤¬¤¹ ´¤»Û #T35 1 ¤¬¤¹ ¥¬¥¹ #T35 11 ¤¬¤»¤ó¤· ²èÀç»æ #T35 0 ¤¬¤¼¤ó ²äÁ³ #F02 0 ¤¬¤½ ²èÁÇ #T35 6 ¤¬¤½¤ê¤ó ¥¬¥½¥ê¥ó #T35 13 ¤¬¤¾¤¦ ²èÁü #T35 24 ¤¬¤¿ Æñ #D2KY 0 ¤¬¤¿ ¤¬¤¿ #D2KY 6 ¤¬¤¿ ·¿ #SUC 0 ¤¬¤¿ Êý #SUC 0 ¤¬¤¿ Êý #T35 0 ¤¬¤¿ ·¿ #T35 41 ¤¬¤À¤¤ ²èÂê #T35 1 ¤¬¤Á ¾¡¤Á #N2T16 2 ¤¬¤Á ¤¬¤Á #N2T16 3 ¤¬¤Á¤¬¤Á ¤¬¤Á¤¬¤Á #T03 0 ¤¬¤Á¤Ã¤È ¤¬¤Á¤Ã¤È #F12 0 ¤¬¤Á¤ç¤¦ ó¢Ä» #T35 0 ¤¬¤Ã¤« ³Ø²Ý #T35 0 ¤¬¤Ã¤« ³Ø²Ê #T35 29 ¤¬¤Ã¤«¤¤ ³Ø³¦ #T35 0 ¤¬¤Ã¤«¤¤ ³Ø²ñ #T35 27 ¤¬¤Ã¤«¤ê ¤¬¤Ã¤«¤ê #T30 3 ¤¬¤Ã¤­ ³Ø´ü #JS 4 ¤¬¤Ã¤­ ³Ø´ü #T35 4 ¤¬¤Ã¤­ ³Ú´ï #T35 7 ¤¬¤Ã¤­¤å¤¦ ³Øµé #JS 0 ¤¬¤Ã¤­¤å¤¦ ³Øµé #T35 0 ¤¬¤Ã¤¯ ³Ø¶è #JS 0 ¤¬¤Ã¤¯ ³Ø¶è #T35 0 ¤¬¤Ã¤¯ ³Ú¶ç #T35 0 ¤¬¤Ã¤¯¤ê ¤¬¤Ã¤¯¤ê #T30 1 ¤¬¤Ã¤³¤¦ ³Ø¹» #T35 21 ¤¬¤Ã¤µ¤¯ ¹çºî #T30 0 ¤¬¤Ã¤µ¤ó ·î»³ #JCN 0 ¤¬¤Ã¤µ¤ó ¹ç»» #T30 1 ¤¬¤Ã¤·¤å¤¦¤³¤¯ ¹ç½£¹ñ #T35 1 ¤¬¤Ã¤·¤å¤¦¤³¤¯ ¹ç½°¹ñ #T35 1 ¤¬¤Ã¤·¤å¤¯ ¹ç½É #T30 23 ¤¬¤Ã¤·¤ç¤¦ ¹ç¾¸ #T30 1 ¤¬¤Ã¤·¤ç¤¦ ¹ç¾§ #T30 2 ¤¬¤Ã¤·¤ç¤¦¤ì¤ó¤³¤¦ ¹ç½¾Ï¢¹Õ #T30 1 ¤¬¤Ã¤½¤¦ ¹çÁÕ #T30 0 ¤¬¤Ã¤¿¤¤ ¹çÂÎ #T30 1 ¤¬¤Ã¤Á ¹çÃ× #T30 4 ¤¬¤Ã¤È ¥¬¥Ã¥È #T35 1 ¤¬¤Ã¤Ú¤¤ ¹çÊ» #T30 1 ¤¬¤Ã¤Ý¤ê ¤¬¤Ã¤Ý¤ê #F06 0 ¤¬¤Ã¤Ý¤ê ¤¬¤Ã¤Ý¤ê #T16 0 ¤¬¤Ä ·î #JS 255 ¤¬¤Ä ·î #KJ 6 ¤¬¤Ä¤¬¤Ä ¤¬¤Ä¤¬¤Ä #F04 0 ¤¬¤Ä¤¬¤Ä ¤¬¤Ä¤¬¤Ä #T16 0 ¤¬¤Ä¤´¤¦ ·î¹æ #JS 0 ¤¬¤Ä¤Þ¤Ä ·îËö #JS 5 ¤¬¤Í ¶â #SUC 1 ¤¬¤Ï¤¯ ²èÇì #T35 0 ¤¬¤Ù¤¤ ²èÌß #T35 0 ¤¬¤Û¤¦ ²ê˦ #T35 1 ¤¬¤Þ¤¬¤¨¤ë ²Üê± #T35 0 ¤¬¤Þ¤°¤Á ¤¬¤Þ¸ý #T35 0 ¤¬¤Þ¤´¤ª¤ê ³÷·´ #JCN 0 ¤¬¤Þ¤· ¤¬¤Þ¤· #KY 1 ¤¬¤Þ¤·¤å¤¦ ¤¬¤Þ¤·¤å¤¦ #KYU 1 ¤¬¤Þ¤ó ²æËý #T30 9 ¤¬¤ß¤¬¤ß ¤¬¤ß¤¬¤ß #F04 0 ¤¬¤ß¤¬¤ß ¤¬¤ß¤¬¤ß #T36 0 ¤¬¤á ¤¬¤á #KS 1 ¤¬¤á ÉÓ #SUC 2 ¤¬¤á µµ #T35 0 ¤¬¤á¤ó ²èÌÌ #T35 200 ¤¬¤â¤¦ ³÷À¸ #JCN 0 ¤¬¤ä ¥öë #CNSUC1 3 ¤¬¤è¤¤ Ä̤¤ #N2T30 2 ¤¬¤è¤¦¤· ²èÍÑ»æ #T35 0 ¤¬¤è¤¯ ²æÍß #T35 0 ¤¬¤é ÊÁ #T35 14 ¤¬¤é¤¯¤¿ ¤¬¤é¤¯¤¿ #T35 0 ¤¬¤é¤¯¤È¤·¤À¡¼¤¼ ¥¬¥é¥¯¥È¥·¥À¡¼¥¼ #T35 1 ¤¬¤é¤¹ ¥¬¥é¥¹ #T35 1 ¤¬¤é¤¹ ¾Ë»Ò #T35 1 ¤¬¤é¤Ã¤È ¤¬¤é¤Ã¤È #F14 0 ¤¬¤é¤ê ¤¬¤é¤ê #F06 0 ¤¬¤é¤ê ¤¬¤é¤ê #T36 0 ¤¬¤é¤ó ²ÀÍõ #T35 1 ¤¬¤é¤ó¤É¤¦ ¤¬¤é¤ó¤É¤¦ #T15 0 ¤¬¤é¤ó¤É¤¦ ²ÀÍõƲ #T15 0 ¤¬¤ê¤Ð¡¼ ¥¬¥ê¥Ð¡¼ #JN 0 ¤¬¤ê¤å¤¦ ²æÎ® #T35 0 ¤¬¤ê¤ç¤¦¤Æ¤ó¤»¤¤ ²èεÅÀâÍ #T35 0 ¤¬¤ê¤ç¤¦¤Æ¤ó¤»¤¤ ²èζÅÀâÍ #T35 0 ¤¬¤ê¤ì¤ª ¥¬¥ê¥ì¥ª #JN 0 ¤¬¤ì¡¼¤¸ ¥¬¥ì¡¼¥¸ #T35 1 ¤¬¤ì¤­ ´¤ãª #T35 1 ¤¬¤í¤¦ ²èÏ­ #T35 0 ¤¬¤ï Àî #CNSUC1 0 ¤¬¤ï ²Ï #CNSUC1 22 ¤¬¤ï ¦ #SUC 0 ¤¬¤ï ¦ #T35 255 ¤¬¤ó ´Ý #KJ 0 ¤¬¤ó ´ß #KJ 0 ¤¬¤ó ´à #KJ 0 ¤¬¤ó ´å #KJ 0 ¤¬¤ó ´æ #KJ 0 ¤¬¤ó ´è #KJ 0 ¤¬¤ó ¸µ #KJ 0 ¤¬¤ó ¸· #KJ 0 ¤¬¤ó ´Þ #KJ 1 ¤¬¤ó ´á #KJ 1 ¤¬¤ó ´ä #KJ 1 ¤¬¤ó ´é #KJ 1 ¤¬¤ó ´ã #KJ 4 ¤¬¤ó ´ç #T35 0 ¤¬¤ó ´ê #T35 0 ¤¬¤ó ¥¬¥ó #T35 2 ¤¬¤ó ´â #T35 6 ¤¬¤ó¤¤ ´Þ°Õ #T30 10 ¤¬¤ó¤¨¤ó ´ä±ö #T35 0 ¤¬¤ó¤« ´ã²¼ #T35 1 ¤¬¤ó¤« ´ã²Ê #T35 1 ¤¬¤ó¤«¤¤ ´ã²Ê°å #T35 0 ¤¬¤ó¤¬¤ó ¤¬¤ó¤¬¤ó #F04 0 ¤¬¤ó¤¬¤ó ¥¬¥ó¥¬¥ó #F04 0 ¤¬¤ó¤­¤å¤¦ ´ãµå #T35 0 ¤¬¤ó¤­¤ç¤¦ ´è¶¯ #T05 1 ¤¬¤ó¤­¤ç¤¦ ´ã¶À #T35 0 ¤¬¤ó¤­¤ç¤¦ ¸µ¶§ #T35 3 ¤¬¤ó¤­¤ó ¸µ¶â #T35 0 ¤¬¤ó¤° ´á¶ñ #T35 0 ¤¬¤ó¤±¤ó ´è·ò #T05 0 ¤¬¤ó¤±¤ó ´ãâÛ #T35 1 ¤¬¤ó¤³ ´è¸Ç #T05 1 ¤¬¤ó¤³¤¦ ´ã¸÷ #T35 0 ¤¬¤ó¤³¤¦¤·¤å¤Æ¤¤ ´ã¹â¼êÄã #T15 0 ¤¬¤ó¤µ¤¯ ´æºî #T30 0 ¤¬¤ó¤·¤å¤¦ ´Þæ· #T35 0 ¤¬¤ó¤·¤ç ´ê½ñ #T35 1 ¤¬¤ó¤·¤ç¤¦ ´ä¾Ì #T35 0 ¤¬¤ó¤·¤ç¤¯ ´é¿§ #T35 0 ¤¬¤ó¤¸¤¬¤é¤á ¤¬¤ó¤¸¤¬¤é¤á #T06 0 ¤¬¤ó¤¸¤Ä ¸µÆü #T35 1 ¤¬¤ó¤¸¤ç¤¦ ´è¾æ #T05 1 ¤¬¤ó¤»¤­ ´äÀÐ #T35 0 ¤¬¤ó¤½ ¸µÁÄ #T35 0 ¤¬¤ó¤¿¤ó ¸µÃ¶ #T35 1 ¤¬¤ó¤Á¤¯ ´ÞÃß #T35 2 ¤¬¤ó¤Á¤å¤¦ ´ãÃæ #T35 1 ¤¬¤ó¤Æ¤¤ ´ãÄì #T35 0 ¤¬¤ó¤Í¤ó ¸µÇ¯ #T35 3 ¤¬¤ó¤Ð ´èÄ¥ #R5r 77 ¤¬¤ó¤Ô¤· ´çÈ黿 #T35 0 ¤¬¤ó¤Ú¤­ ´ßÊÉ #T35 0 ¤¬¤ó¤Ü¤¦ ´ê˾ #T30 1 ¤¬¤ó¤Ü¤¦ ´ã˼ #T35 1 ¤¬¤ó¤Ý¤ó ¸µËÜ #T35 0 ¤¬¤ó¤Þ ¦£ #T35 1 ¤¬¤ó¤Þ ¦Ã #T35 5 ¤¬¤ó¤á¤¤ ´èÌ #T05 1 ¤¬¤ó¤á¤¤¤³¤í¤¦ ´è̸Çïû #T05 0 ¤¬¤ó¤á¤ó ´éÌÌ #T35 0 ¤¬¤ó¤â¤¯ ´ãÌÜ #T35 0 ¤¬¤ó¤ä¤¯ ´ÝÌô #T35 0 ¤¬¤ó¤æ¤¦ ´ÞÍ­ #T30 0 ¤¬¤ó¤é¤¤ ¸µÍè #T35 1 ¤¬¤ó¤ê ¸µÍø #T35 0 ¤¬¤ó¤ê¤­ ´ãÎÏ #T35 0 ¤¬¤ó¤ê¤ç¤¦ ´éÎÁ #T35 0 ¤¬¤ó¤ê¤ç¤¦ ´ÞÎÌ #T35 1 ¤¬¤ó¤í¤¦ ´áÏ® #T30 1 ¤­ ´ð #JS 0 ¤­ ´ü #JS 0 ¤­ µ¡ #JS 0 ¤­ µ³ #JS 0 ¤­ ¿Ö #K5 0 ¤­ İ #K5 13 ¤­ ¸ú #K5 175 ¤­ ʹ #K5 255 ¤­ ¤­ #K5 43 ¤­ Íø #K5r 2 ¤­ ´ë #KJ 0 ¤­ ´ì #KJ 0 ¤­ ´ò #KJ 0 ¤­ ´ø #KJ 0 ¤­ ´ù #KJ 0 ¤­ ´þ #KJ 0 ¤­ µ¥ #KJ 0 ¤­ µ¦ #KJ 0 ¤­ µ§ #KJ 0 ¤­ µ© #KJ 0 ¤­ µ« #KJ 0 ¤­ µ° #KJ 0 ¤­ µ± #KJ 0 ¤­ µ² #KJ 0 ¤­ µ³ #KJ 0 ¤­ µµ #KJ 0 ¤­ ·· #KJ 0 ¤­ ¸ë #KJ 0 ¤­ ºì #KJ 0 ¤­ À¸ #KJ 0 ¤­ ¶ #KJ 0 ¤­ È© #KJ 0 ¤­ ɱ #KJ 0 ¤­ ÉÉ #KJ 0 ¤­ ̧ #KJ 0 ¤­ ´ó #KJ 1 ¤­ ´ö #KJ 1 ¤­ ´ú #KJ 1 ¤­ ´ý #KJ 1 ¤­ µ£ #KJ 1 ¤­ µ¬ #KJ 1 ¤­ µ¯ #KJ 1 ¤­ ¸Ê #KJ 1 ¤­ ÄÐ #KJ 1 ¤­ åº #KJ 1 ¤­ ñÖ #KJ 1 ¤­ óÊ #KJ 1 ¤­ ´ô #KJ 3 ¤­ ´õ #KJ 3 ¤­ ´í #KJ 4 ¤­ ´û #KJ 4 ¤­ µª #KJ 4 ¤­ ´ñ #KJ 5 ¤­ µ´ #KJ 5 ¤­ µ® #KJ 6 ¤­ Ãå #KS 117 ¤­ ´û #PRE 0 ¤­ µ® #PRE 0 ¤­ À¸ #PRE 0 ¤­ »Â #R5 0 ¤­ Ȳ #R5 1 ¤­ ÀÚ #R5r 152 ¤­ ¤­ #R5r 6 ¤­ µ¢ #S5 4 ¤­ ´ï #SUC 0 ¤­ µ¡ #SUC 0 ¤­ µ­ #SUC 0 ¤­ ´ü #SX 13 ¤­ µ¢ #SX 4 ¤­ µ­ #SX 4 ¤­ ²« #T35 1 ¤­ µ¨ #T35 1 ¤­ ÌÚ #T35 100 ¤­ ´ð #T35 129 ¤­ µ­ #T35 15 ¤­ ´ü #T35 18 ¤­ ´î #T35 25 ¤­ µ¤ #T35 255 ¤­ ´÷ #T35 3 ¤­ µ¡ #T35 35 ¤­ ´ï #T35 4 ¤­ ´ñ #T35 50 ¤­ ¼ù #T35 7 ¤­ ¤­ #kxi 18 ¤­ Íè #kxi 255 ¤­¡¼ ¥­¡¼ #T35 255 ¤­¡¼¤¿¤Ã¤Á ¥­¡¼¥¿¥Ã¥Á #T35 1 ¤­¡¼¤Ü¡¼¤É ¥­¡¼¥Ü¡¼¥É #T35 62 ¤­¡¼¤ï¡¼¤É ¥­¡¼¥ï¡¼¥É #T35 31 ¤­¤¢¤¤ µ¤¹ç¤¤ #T35 4 ¤­¤¢¤Ä µ¤°µ #T35 1 ¤­¤¢¤ó µ¯°Æ #T30 1 ¤­¤¤ µª°Ë #JCN 0 ¤­¤¤ ´ñ°Û #T05 2 ¤­¤¤ µ®°Õ #T35 0 ¤­¤¤¤¤¤Á ´ð°ì #JNM 0 ¤­¤¤¤Á ´î»Ô #JN 0 ¤­¤¤¤Á ´î°ì #JNM 0 ¤­¤¤¤Á¤í¤¦ ´î°ìϺ #JNM 0 ¤­¤¤¤È À¸»å #T35 0 ¤­¤¤¤Ê¤¬¤·¤Þ µª°ËĹÅç #CN 0 ¤­¤¤¤ì ´îÆþ #JCN 0 ¤­¤¤¤í ²«¿§ #KYmime 3 ¤­¤¤¤í ²«¿§ #T05 7 ¤­¤¤¤ó µ¯°ø #T30 2 ¤­¤¦ µ¤±§ #T35 1 ¤­¤¦¤Á ÌÚÆâ #JNS 0 ¤­¤¦¤ó µ¡±¿ #T35 0 ¤­¤¦¤ó µ¤±¿ #T35 0 ¤­¤¨ µ¢°Í #T30 0 ¤­¤¨ ¾Ã¤¨ #KSr 47 ¤­¤¨¤¤ ¾Ã¤¨Æþ #R5 0 ¤­¤¨¤¤ µ¤±Ô #T05 0 ¤­¤¨¤¤ µ¡±Æ #T35 0 ¤­¤¨¤µ ¾Ã¤¨µî #R5 0 ¤­¤¨¤ó µ¤±ê #T35 0 ¤­¤ª µ¤Éé #W5r 1 ¤­¤ª¤¤¤¿ µ¤É餤Ω #T5 0 ¤­¤ª¤¦ ´û±ý #T35 0 ¤­¤ª¤¦¤·¤ç¤¦ ´û±ý¾É #T35 0 ¤­¤ª¤¯ µ­²± #T30 65 ¤­¤ª¤¯¤ì µ¤ÃÙ¤ì #T30 0 ¤­¤ª¤Á µ¤Íî¤Á #T30 1 ¤­¤ª¤ó µ¤²¹ #T35 6 ¤­¤« µ¢²½ #T30 0 ¤­¤« µ¤²½ #T30 1 ¤­¤« µ®²¼ #T35 1 ¤­¤« ´ö²¿ #T35 6 ¤­¤«¤¤ ´î³¦ #JCN 0 ¤­¤«¤¤ ´ñ²ø #T05 1 ¤­¤«¤¤ ´ï³£ #T35 0 ¤­¤«¤¤ µ¡²ñ #T35 95 ¤­¤«¤¤ µ¡³£ #T35 99 ¤­¤«¤¤¤« µ¡³£²½ #T30 2 ¤­¤«¤¤¤´ µ¡³£¸ì #T35 1 ¤­¤«¤¬¤¯ ´ö²¿³Ø #T35 1 ¤­¤«¤¯ ´ë²è #T30 93 ¤­¤«¤¯ µ¬³Ê #T35 59 ¤­¤«¤¶ Ãå¾þ #R5r 0 ¤­¤«¤Ç¡¼¤¿ ´ö²¿¥Ç¡¼¥¿ #T35 3 ¤­¤«¤ó µ¢´Ô #T30 5 ¤­¤«¤ó ´û´© #T35 0 ¤­¤«¤ó µ¤´É #T35 0 ¤­¤«¤ó µ®´Ê #T35 0 ¤­¤«¤ó ´ï´± #T35 1 ¤­¤«¤ó µ¨´© #T35 1 ¤­¤«¤ó ´ð´´ #T35 3 ¤­¤«¤ó µ¡´Ø #T35 52 ¤­¤«¤ó ´ü´Ö #T35 60 ¤­¤«¤ó¤· µ¤´É»Ù #T35 0 ¤­¤«¤ó¤·¤¨¤ó µ¤´É»Ù±ê #T35 0 ¤­¤«¤ó¤·¤ã µ¡´Ø¼Ö #T35 0 ¤­¤¬ µ²²î #T35 0 ¤­¤¬¤¤ µ¤³µ #T35 0 ¤­¤¬¤¤ ´í³² #T35 1 ¤­¤¬¤¨ ÃåÂØ¤¨ #KSr 3 ¤­¤¬¤¨ ÃåÂØ¤¨ #T30 1 ¤­¤¬¤«¤ê µ¤¤¬¤«¤ê #T05 1 ¤­¤¬¤¯ ´ï³Ú #T35 1 ¤­¤¬¤Í µ¤·ó¤Í #T30 0 ¤­¤¬¤Þ¤¨ µ¤¹½¤¨ #T35 0 ¤­¤¬¤ë µ¤·Ú #T05 6 ¤­¤¬¤ó µ§´ê #T30 2 ¤­¤­ µ­µª #KK 0 ¤­¤­ ¸ú¤­ #T35 0 ¤­¤­ µ¡´ï #T35 42 ¤­¤­ ´íµ¡ #T35 9 ¤­¤­¤¤ ݤ­Æþ #R5 0 ¤­¤­¤¤ ʹ¤­Æþ #R5 1 ¤­¤­¤¤¤ì ʹ¤­Æþ¤ì #KSr 1 ¤­¤­¤«¤¨ ʹ¤­ÊÖ #S5r 0 ¤­¤­¤°¤ë¤· ʹ¤­¶ì¤· #KY 1 ¤­¤­¤°¤ë¤·¤å¤¦ ʹ¤­¶ì¤·¤å¤¦ #KYU 1 ¤­¤­¤³ ʹ¤­¹þ #M5r 0 ¤­¤­¤³ ݤ­¹þ #M5r 3 ¤­¤­¤À ʹ¤­½Ð #S5 1 ¤­¤­¤Æ ʹ¤­¼ê #T35 2 ¤­¤­¤È ʹ¤­¼è #R5r 2 ¤­¤­¤Ê¤¬ ʹ¤­Î® #S5r 4 ¤­¤­¤á ¸ú¤­ÌÜ #T35 1 ¤­¤­¤ã¤¯ ´þµÑ #T30 2 ¤­¤­¤å¤¦ ´õµá #T30 1 ¤­¤­¤å¤¦ µ¤µå #T35 0 ¤­¤­¤ç µ¯µï #T30 0 ¤­¤­¤ç¤¦ ´ñ¶º #T05 0 ¤­¤­¤ç¤¦ µ¢µþ #T30 1 ¤­¤­¤ç¤¦ µ¢¶¿ #T30 1 ¤­¤­¤ç¤¦ µË¹¼ #T35 4 ¤­¤­¤ï¤± ʹ¤­Ê¬¤± #KSr 0 ¤­¤­¤ó ´ó¶â #T35 0 ¤­¤­¤ó ´ð¶â #T35 1 ¤­¤­¤ó¤¾¤¯ µ®¶â° #T35 1 ¤­¤®¤ç¤¦ µ¯¶È #T30 4 ¤­¤®¤ç¤¦ ´ë¶È #T35 22 ¤­¤®¤ç¤¦¤« µ¯¶È²È #T35 3 ¤­¤®¤ç¤¦¤¿¤¤ ´ë¶ÈÂÎ #T35 0 ¤­¤¯ ¤­¤¯ #JNM 0 ¤­¤¯ µÅ #T30 3 ¤­¤¯ µ¬¶ë #T35 0 ¤­¤¯ µÇ #T35 0 ¤­¤¯ µÆ #T35 10 ¤­¤¯¤ª ´îµ×ÃË #JNM 0 ¤­¤¯¤ª ´îµ×ͺ #JNM 0 ¤­¤¯¤ª µÆÃË #JNM 0 ¤­¤¯¤« µÆ¼¯ #JCN 0 ¤­¤¯¤¬¤ï µÆÀî #JCN 0 ¤­¤¯¤¸ ´îµ×¼£ #JN 0 ¤­¤¯¤¹¤¤ µÆ¿å #JCN 0 ¤­¤¯¤¿ µÆÅÄ #JNS 0 ¤­¤¯¤Á µÆÃÓ #JCN 0 ¤­¤¯¤Á µÆÃÏ #JNS 0 ¤­¤¯¤Ð¤ê µ¤ÇÛ¤ê #T30 2 ¤­¤¯¤Ð¤ê µ¤¤¯¤Ð¤ê #T30 4 ¤­¤¯¤Þ µÆ´Ö #JCN 0 ¤­¤¯¤è¤¦ µÆÍÛ #JCN 0 ¤­¤¯¤ó µ®·¯ #T35 1 ¤­¤° ´í×ü #T30 0 ¤­¤° µ¡¶ñ #T35 0 ¤­¤° ´ï¶ñ #T35 2 ¤­¤°¤¦ ´ñ¶ø #T05 1 ¤­¤°¤é¤¤ µ¤°Ì #T35 1 ¤­¤°¤í¤¦ µ¤¶ìÏ« #T30 0 ¤­¤±¤¤ ´ñ·Á #T35 0 ¤­¤±¤¤ µ®·» #T35 1 ¤­¤±¤Ä µ¢·ë #T30 1 ¤­¤±¤Ä ´û·è #T35 0 ¤­¤±¤ó ´í¸± #T05 34 ¤­¤±¤ó ´þ¸¢ #T30 1 ¤­¤±¤ó µ¤·÷ #T35 0 ¤­¤²¤­ ´î·à #T35 1 ¤­¤²¤ó µª¸µ #T35 1 ¤­¤²¤ó µ¯¸» #T35 1 ¤­¤²¤ó µ¡·ù #T35 24 ¤­¤²¤ó ´ü¸Â #T35 42 ¤­¤³ Ãå¹þ #M5 2 ¤­¤³¤¦ ´ó¹Á #T30 0 ¤­¤³¤¦ µ¢¹Á #T30 0 ¤­¤³¤¦ µ¯¹© #T30 1 ¤­¤³¤¦ ´ó¹Æ #T30 2 ¤­¤³¤¦ µ¤¸ù #T35 0 ¤­¤³¤¦ µ¤¹¦ #T35 0 ¤­¤³¤¦ µ©ë² #T35 0 ¤­¤³¤¦ µª¹Ô #T35 1 ¤­¤³¤¦ µ®¹» #T35 1 ¤­¤³¤¦ µ¤¸õ #T35 2 ¤­¤³¤¦ µ¡¹½ #T35 61 ¤­¤³¤¦¤· µ®¸ø»Ò #T35 0 ¤­¤³¤¦¤¾¤¦ ÌÚ¹½Â¤ #T35 2 ¤­¤³¤¦¤Ü¤ó µ©ë²ËÜ #T35 0 ¤­¤³¤¨ ݤ³¤¨ #KSr 0 ¤­¤³¤¨ ¤­¤³¤¨ #KSr 1 ¤­¤³¤¨ ʹ¤³¤¨ #KSr 20 ¤­¤³¤¨¤è¤¬¤· ʹ¤³¤¨¤è¤¬¤· #T15 0 ¤­¤³¤¯ µ¢¹ñ #T30 11 ¤­¤³¤¯ µ®¹ñ #T35 0 ¤­¤³¤·¤á ʹ¤³¤·¾¤ #S5 0 ¤­¤³¤Ä µ¤¹ü #T35 0 ¤­¤³¤Ê Ã夳¤Ê #S5r 0 ¤­¤³¤Ê¤¤ ÌÚ¸ÅÆâ #JCN 0 ¤­¤³¤ó ´ûº§ #T35 2 ¤­¤´ µ¨¸ì #T35 1 ¤­¤´¤¦ µ­¹æ #T35 149 ¤­¤´¤³¤í µ¤¿´ #T35 0 ¤­¤µ µÈ¼Ë #JCN 0 ¤­¤µ¤¤ µ³À¾ #JCN 0 ¤­¤µ¤¤ µ¯ºÄ #T30 0 ¤­¤µ¤¤ µ­ºÜ #T30 17 ¤­¤µ¤¤ ´ñºÍ #T35 0 ¤­¤µ¤¤ ´ûºÑ #T35 0 ¤­¤µ¤¤ µ´ºÍ #T35 2 ¤­¤µ¤«¤¿ ¾Ý³ã #JCN 0 ¤­¤µ¤­ ¹¡ #T35 0 ¤­¤µ¤­ ÈÞ #T35 0 ¤­¤µ¤¯ ´îºî #JCN 0 ¤­¤µ¤¯ µ¤¤µ¤¯ #T05 3 ¤­¤µ¤Ö¤í¤¦ ´î»°Ïº #JNM 0 ¤­¤µ¤Þ µ®ÍÍ #T35 0 ¤­¤µ¤é¤® Ç¡·î #T35 0 ¤­¤µ¤é¤Å ÌÚ¹¹ÄÅ #CN 0 ¤­¤µ¤ï ÌÚÂô #JCN 0 ¤­¤µ¤ó µ¢»² #T30 0 ¤­¤µ¤ó µ¯»» #T30 4 ¤­¤¶ ¤­¤¶ #M5r 0 ¤­¤¶ ¹ï #M5r 1 ¤­¤¶ ¤­¤¶ #S5 0 ¤­¤¶ ˨ #S5 0 ¤­¤¶ Ãû #S5r 1 ¤­¤¶ ¥­¥¶ #T05 0 ¤­¤¶ µ¤¾ã #T05 0 ¤­¤¶¤¤ µ¡ºà #T35 3 ¤­¤¶¤ß ¹ï #T35 0 ¤­¤¶¤ß¤³ ¹ï¤ß¹þ #M5r 1 ¤­¤¶¤ß¤Ä¤± ¹ï¤ß¤Ä¤± #KSr 0 ¤­¤· Íè½» #JN 0 ¤­¤· ´ß #JNS 0 ¤­¤· ¤­¤· #M5r 0 ¤­¤· í #M5r 0 ¤­¤· ¤­¤· #R5r 0 ¤­¤· í #R5r 0 ¤­¤· ´ý»Î #T35 0 ¤­¤· µ®»Ö #T35 0 ¤­¤· ´ß #T35 4 ¤­¤· µ³»Î #T35 8 ¤­¤·¤«¤¤¤»¤¤ µ¯»à²óÀ¸ #T30 1 ¤­¤·¤¬¤ï µ®»ÖÀî #JCN 0 ¤­¤·¤À ´ßÅÄ #JNS 0 ¤­¤·¤Ä µ¤¼Á #T35 0 ¤­¤·¤Ä ´ð¼Á #T35 1 ¤­¤·¤Ù ´ßÊÕ #T35 0 ¤­¤·¤Þ µÏÅç #JCN 0 ¤­¤·¤â¤È ´ßËÜ #JCN 0 ¤­¤·¤ã µ¢¼Ò #T30 2 ¤­¤·¤ã µ®¼Ò #T35 19 ¤­¤·¤ã µ­¼Ô #T35 2 ¤­¤·¤ã µ¥¼Ö #T35 6 ¤­¤·¤ã¤¯ ´õ¼á #T30 0 ¤­¤·¤ã¤¯ ´þ¼á #T30 0 ¤­¤·¤å ´ñ¼ê #T35 0 ¤­¤·¤å ´ü¼ó #T35 0 ¤­¤·¤å ´ú¼ê #T35 1 ¤­¤·¤å µ¡¼ó #T35 1 ¤­¤·¤å µ¡¼ï #T35 45 ¤­¤·¤å¤¦ µª½£ #CN 0 ¤­¤·¤å¤¦ ´ñ½± #T30 1 ¤­¤·¤å¤¯ ´ô½É #CN 0 ¤­¤·¤å¤¯ ´ó½É #T30 0 ¤­¤·¤å¤Ä ´û½Ð #T30 2 ¤­¤·¤ç µ®½ñ #T35 0 ¤­¤·¤ç¤¦ ´õ¾¯ #T05 1 ¤­¤·¤ç¤¦ µ¯¾² #T30 1 ¤­¤·¤ç¤¦ µ¤À­ #T35 0 ¤­¤·¤ç¤¦ µ­¾Ï #T35 0 ¤­¤·¤ç¤¦ µ¤¾Ý #T35 2 ¤­¤·¤ç¤¦¤À¤¤ µ¤¾ÝÂæ #T35 0 ¤­¤·¤ç¤¦¤Á¤ç¤¦ µ¤¾ÝÄ£ #KK 0 ¤­¤·¤ç¤¦¤Æ¤ó¤±¤Ä µ¯¾µÅ¾·ë #T35 1 ¤­¤·¤ç¤¯ µ¤¿§ #T35 0 ¤­¤·¤ï¤À ´ßÏÂÅÄ #JCN 0 ¤­¤·¤ó ´ó¿Ê #T30 0 ¤­¤·¤ó µ®¿® #T35 0 ¤­¤¸ ÌÚÃÏ #T35 0 ¤­¤¸ À¸ÃÏ #T35 1 ¤­¤¸ ðµ #T35 1 ¤­¤¸ µ­»ö #T35 116 ¤­¤¸¤¯ µ¡¼´ #T35 1 ¤­¤¸¤¯ ´ð¼´ #T35 4 ¤­¤¸¤Ä ´üÆü #T35 10 ¤­¤¸¤Ð¤È ¥­¥¸¥Ð¥È #T35 0 ¤­¤¸¤Ð¤È ðµÈ· #T35 0 ¤­¤¸¤Þ ÌÚÅç #JCN 0 ¤­¤¸¤Þ ÌÚÅè #JNS 0 ¤­¤¸¤Þ¤À¤¤¤é ÌÚÅçÊ¿ #JCN 0 ¤­¤¸¤å ´î¼÷ #T35 2 ¤­¤¸¤å¤Ä µ­½Ò #T30 210 ¤­¤¸¤å¤Ä ´ñ½Ñ #T35 0 ¤­¤¸¤å¤ó ´ð½à #T35 22 ¤­¤¸¤å¤ó µ¬½à #T35 4 ¤­¤¸¤ç µ¡½ø #T35 1 ¤­¤¸¤ç µ®½÷ #T35 2 ¤­¤¸¤ç¤¦ ÌÚ¾ë #JCN 0 ¤­¤¸¤ç¤¦ µ¤¾æ #T05 1 ¤­¤¸¤ç¤¦ µ¡¾å #T35 0 ¤­¤¸¤ç¤¦ µ°¾ò #T35 0 ¤­¤¸¤ç¤¦ ´ù¾å #T35 5 ¤­¤¸¤ó ´ñ¿Í #T35 2 ¤­¤¹ ¥­¥¹ #T30 3 ¤­¤¹ òå #T35 1 ¤­¤¹¤¤ ´û¿ë #T35 0 ¤­¤¹¤¦ µ¢¿ö #T35 0 ¤­¤¹¤¦ ´ñ¿ô #T35 6 ¤­¤¹¤­ ÌÚ¼¡ #JCN 0 ¤­¤¹¤ß ÌÚÀ´ #JNS 0 ¤­¤º ÃÛ #K5 11 ¤­¤º àì #T35 2 ¤­¤º ½ý #T35 3 ¤­¤º¤¢¤È ½ýÀ× #T35 0 ¤­¤º¤­¤¢¤² ÃÛ¤­¾å¤² #KS 0 ¤­¤º¤¯¤ê ÌÚ¤ #JNS 0 ¤­¤º¤°¤Á ½ý¸ý #T35 0 ¤­¤º¤Ä ½ý¤Ä #K5 4 ¤­¤º¤Ä¤± ½ý¤Ä¤± #KS 1 ¤­¤º¤Ê å« #T35 1 ¤­¤» Ã夻 #KS 0 ¤­¤»¤¤ µªÀª #JCN 0 ¤­¤»¤¤ ´üÀ¸ #JS 1 ¤­¤»¤¤ ´óÀ¸ #T30 0 ¤­¤»¤¤ µ¬Àµ #T30 0 ¤­¤»¤¤ µ¢¾Ê #T30 13 ¤­¤»¤¤ µ¬À© #T30 7 ¤­¤»¤¤ ´ñÀ¼ #T35 0 ¤­¤»¤¤ ´ûÀ½ #T35 0 ¤­¤»¤¤ µ¤Àª #T35 0 ¤­¤»¤¤ ´ûÀ® #T35 15 ¤­¤»¤­ ´ñÀ× #T35 1 ¤­¤»¤­ µ°À× #T35 2 ¤­¤»¤Ä µ¨Àá #T35 12 ¤­¤»¤Ä ´ûÀß #T35 2 ¤­¤»¤Î¤ó ¥­¥»¥Î¥ó #T35 1 ¤­¤»¤ó ´ðÀþ #T35 0 ¤­¤»¤ó µ¥Á¥ #T35 1 ¤­¤¼¤Ä µ¤Àä #T30 0 ¤­¤¼¤ó µ£Á³ #F00 1 ¤­¤½ ÌÚÁ½ #JCN 0 ¤­¤½ ÌÚÁ¾ #JCN 0 ¤­¤½ ÌÚÁÄ #JNS 0 ¤­¤½ µ¯ÁÊ #T30 2 ¤­¤½ ´ðÁà #T35 99 ¤­¤½ ¶¥ #W5r 2 ¤­¤½¤¦ ´ó£ #T30 0 ¤­¤½¤¦ µ¯Áð #T30 1 ¤­¤½¤¦ µ¤Áê #T35 1 ¤­¤½¤¦¤Æ¤ó¤¬¤¤ ´ñÁÛÅ·³° #T05 0 ¤­¤½¤¬¤ï ÌÚÁ¾Àî #CN 0 ¤­¤½¤¯ µ¤Â© #T35 225 ¤­¤½¤¯ µ¬Â§ #T35 75 ¤­¤½¤¶¤­ ÌÚÁ½Ì¨ #CN 0 ¤­¤½¤Õ¤¯¤·¤Þ ÌÚÁ½Ê¡Åç #CN 0 ¤­¤½¤ó ´û¸ #T30 10 ¤­¤½¤ó ÔÌ» #T30 2 ¤­¤¾¤¦ ´ó£ #T30 1 ¤­¤¾¤¯ µ¢Â° #T30 1 ¤­¤¾¤¯ µ®Â² #T35 3 ¤­¤¾¤ó ´û¸ #T00 32 ¤­¤¿ ËÌ #CNPRE 4 ¤­¤¿ ËÌ #CNSUC1 0 ¤­¤¿ ´î¿ #JCN 0 ¤­¤¿ ËÌ #JCN 0 ¤­¤¿ ÌÚÅÄ #JCN 0 ¤­¤¿ ¤­¤¿ #R5 0 ¤­¤¿ Íè #R5 0 ¤­¤¿ Í褿 #S5 1 ¤­¤¿ ¤­¤¿ #S5 4 ¤­¤¿ Íè #S5 7 ¤­¤¿ ËÌ #T35 51 ¤­¤¿¤¢¤¤¤­ ËÌÁêÌÚ #CN 0 ¤­¤¿¤¢¤¤¤Å Ë̲ñÄÅ #CN 0 ¤­¤¿¤¢¤­¤¿ Ë̽©ÅÄ #CN 0 ¤­¤¿¤¢¤º¤ß ËÌ°ÂÆÞ #CN 0 ¤­¤¿¤¢¤À¤Á ËÌ­Ω #CN 0 ¤­¤¿¤¢¤Þ¤Ù Ë̳¤Éô #CN 0 ¤­¤¿¤¢¤ê¤Þ ËÌÍ­ÇÏ #CN 0 ¤­¤¿¤¤ ´ñÂÎ #T05 0 ¤­¤¿¤¤ ´ñÂÖ #T05 0 ¤­¤¿¤¤ ´üÂÔ #T30 102 ¤­¤¿¤¤ ´íËØ #T35 0 ¤­¤¿¤¤ µ¤ÂÎ #T35 0 ¤­¤¿¤¤ µ©Âå #T35 0 ¤­¤¿¤¤ ´ñÂÛ #T35 1 ¤­¤¿¤¤ µ¡ÂÎ #T35 1 ¤­¤¿¤¤¤«¤ó ´üÂÔ´¶ #T35 0 ¤­¤¿¤¤¤Á ´üÂÔÃÍ #T35 0 ¤­¤¿¤¤¤Ð¤é¤­ Ḛ̈ñ¾ë #CN 0 ¤­¤¿¤¦¤ª¤Ì¤Þ Ë̵û¾Â #CN 0 ¤­¤¿¤¦¤é Ë̱º #JCN 0 ¤­¤¿¤¦¤ï Ë̱§Ï #CN 0 ¤­¤¿¤¨ Ãä¨ #KS 6 ¤­¤¿¤¨¤¢¤² Ã䨾夲 #KS 0 ¤­¤¿¤ª¤« Ë̲¬ #JNS 0 ¤­¤¿¤«¤¼ ËÌÉ÷ #T35 0 ¤­¤¿¤«¤¿ ´î¿Êý #JCN 0 ¤­¤¿¤«¤¿ ËÌÊý #JCN 0 ¤­¤¿¤«¤Ä¤·¤« Ë̳ë¾þ #CN 0 ¤­¤¿¤«¤Ä¤é¤® Ë̳ë¾ë #CN 0 ¤­¤¿¤«¤ß Ë̾å #JCN 0 ¤­¤¿¤«¤ë¤¤¤¶¤ï ËÌ·Ú°æÂô #CN 0 ¤­¤¿¤«¤ï¤Ù ËÌÀîÊÕ #CN 0 ¤­¤¿¤«¤ó¤Ð¤é Ë̳÷¸¶ #CN 0 ¤­¤¿¤¬¤¿ ËÌÊý #JCN 0 ¤­¤¿¤¬¤ï ËÌÀî #JCN 0 ¤­¤¿¤¬¤ï ËÌ²Ï #JNS 0 ¤­¤¿¤¬¤ï Ë̦ #T35 1 ¤­¤¿¤­¤Ä¤Í ¥­¥¿¥­¥Ä¥Í #T35 1 ¤­¤¿¤­¤å¤¦¤·¤å¤¦ Ë̶彣 #CN 0 ¤­¤¿¤­¤å¤¦¤·¤å¤¦¤· Ë̶彣»Ô #CNS 0 ¤­¤¿¤¯ ´óÂ÷ #T30 0 ¤­¤¿¤¯ µ¢Âð #T30 4 ¤­¤¿¤¯¤ï¤À ËÌ·¬ÅÄ #CN 0 ¤­¤¿¤°¤Á Ë̸ý #T35 2 ¤­¤¿¤°¤ó¤Þ ËÌ·²ÇÏ #CN 0 ¤­¤¿¤± Ã徿 #T35 0 ¤­¤¿¤³¤Þ Ë̵ðËà #CN 0 ¤­¤¿¤´¤¦ Ë̶¿ #JCN 0 ¤­¤¿¤µ¤¤¤¿¤Þ Ë̺ë¶Ì #CN 0 ¤­¤¿¤µ¤¯ Ë̺´µ× #CN 0 ¤­¤¿¤¶¤ï ËÌÂô #JCN 0 ¤­¤¿¤·¤ª¤Ð¤é Ë̱ö¸¶ #CN 0 ¤­¤¿¤·¤²¤ä¤¹ ËÌÌа #CN 0 ¤­¤¿¤·¤¿¤é ËÌÀß³Ú #CN 0 ¤­¤¿¤¸¤Þ ËÌÅç #JCN 0 ¤­¤¿¤¸¤Þ ËÌÅè #JNS 0 ¤­¤¿¤½¤¦¤Þ ËÌÁêÇÏ #CN 0 ¤­¤¿¤¿¤«¤­ Ë̹âÍè #CN 0 ¤­¤¿¤¿¤«¤® Ë̹âÍè #CN 0 ¤­¤¿¤¿¤Á¤Ð¤Ê ËÌµÌ #CN 0 ¤­¤¿¤¿¤Þ ËÌ¿Ëà #CN 0 ¤­¤¿¤À¤¤¤È¤¦ ËÌÂçÅì #CN 0 ¤­¤¿¤Ä¤¬¤ë ËÌÄÅ·Ú #CN 0 ¤­¤¿¤Ä¤ë ËÌÅÔα #CN 0 ¤­¤¿¤Ê ±ø #KY 16 ¤­¤¿¤Ê¤«¤°¤¹¤¯ ËÌÃæ¾ë #CN 0 ¤­¤¿¤Ê¤¬ ±ø¤¬ #R5 0 ¤­¤¿¤Ê¤é¤· ±ø¤é¤· #KY 1 ¤­¤¿¤Ê¤é¤·¤å¤¦ ±ø¤é¤·¤å¤¦ #KYU 1 ¤­¤¿¤Ë¤Û¤ó ËÌÆüËÜ #CN 0 ¤­¤¿¤Î ËÌÌî #JCN 0 ¤­¤¿¤Î¤¦ ±ø¤¦ #KYU 2 ¤­¤¿¤Ï¤¿ ËÌÇÈ¿ #CN 0 ¤­¤¿¤Ï¤é Ë̸¶ #JNS 0 ¤­¤¿¤Ï¤ó¤­¤å¤¦ ËÌȾµå #T35 0 ¤­¤¿¤Ò¤ä¤Þ ËÌɰ»³ #CN 0 ¤­¤¿¤Þ¤Á ËÌÄ® #T35 1 ¤­¤¿¤Þ¤Ä¤¦¤é Ë̾¾±º #CN 0 ¤­¤¿¤Þ¤ï¤ê Ë̲ó¤ê #T30 0 ¤­¤¿¤ß Ë̸« #JCN 0 ¤­¤¿¤ß¤Þ¤­ Ë̸æËÒ #CN 0 ¤­¤¿¤à¤é Ë̼ #JCN 0 ¤­¤¿¤à¤é¤ä¤Þ Ë̼»³ #CN 0 ¤­¤¿¤à¤í ËÌ̶Ϭ #CN 0 ¤­¤¿¤á ËÌÌÜ #JCN 0 ¤­¤¿¤â¤È ËÌËÜ #JCN 0 ¤­¤¿¤â¤í¤«¤¿ Ë̽ô¸© #CN 0 ¤­¤¿¤ä¤Þ ËÌ»³ #JCN 0 ¤­¤¿¤é ´î¿Íå #JN 0 ¤­¤¿¤ë Íè¤ë #RT 2 ¤­¤¿¤í¤¦ ´îÂÀϺ #JNM 0 ¤­¤¿¤ó ´÷Øß #T35 5 ¤­¤À ÌÚÅÄ #JNS 0 ¤­¤À¤¤ µ®Âæ #T35 1 ¤­¤À¤Æ µ¤¤À¤Æ #T35 0 ¤­¤À¤ó µ¤ÃÄ #T35 0 ¤­¤Á ´ûÃÎ #T05 5 ¤­¤Á µ¡ÃÎ #T35 0 ¤­¤Á µ®ÃÏ #T35 0 ¤­¤Á ´ðÃÏ #T35 25 ¤­¤Á µÈ #T35 3 ¤­¤Á¤¬¤¤ µ¤°ã¤¤ #T35 0 ¤­¤Á¤¸ µÈ»ö #T35 0 ¤­¤Á¤¸¤Ä µÈÆü #T35 1 ¤­¤Á¤¸¤ç¤¦¤¸ µÈ¾Í»û #CN 0 ¤­¤Á¤Ã¤È ¤­¤Á¤Ã¤È #F12 0 ¤­¤Á¤Î¤¹¤± µÈÇ·½õ #JNM 0 ¤­¤Á¤ã¤¯ µ¢Ãå #T30 2 ¤­¤Á¤å¤¦ ´÷Ãæ #T35 0 ¤­¤Á¤ç¤¦ µ®½Å #T05 5 ¤­¤Á¤ç¤¦ µ­Ä¢ #T30 3 ¤­¤Á¤ç¤¦ µ¡Ä¹ #T35 1 ¤­¤Á¤ç¤¦ ´ðÄ´ #T35 8 ¤­¤Á¤ç¤¦¤á¤ó ¤­¤Á¤ç¤¦¤á¤ó #T05 0 ¤­¤Á¤ç¤¦¤á¤ó ÑÜÄ¢ÌÌ #T05 0 ¤­¤Á¤í¤¦ µÈϺ #JNM 0 ¤­¤Á¤ó¤È ¤­¤Á¤ó¤È #F12 45 ¤­¤Ã µÊ #SX 0 ¤­¤Ã¤«¤± Àڤóݤ± #T35 1 ¤­¤Ã¤«¤± ¤­¤Ã¤«¤± #T35 3 ¤­¤Ã¤«¤ê ¤­¤Ã¤«¤ê #F14 0 ¤­¤Ã¤«¤ê ¤­¤Ã¤«¤ê #T16 0 ¤­¤Ã¤«¤ï µÈÀî #JNS 0 ¤­¤Ã¤­¤ç¤¦ µÈ¶§ #T35 0 ¤­¤Ã¤¯ ¥­¥Ã¥¯ #T30 6 ¤­¤Ã¤³¤¦ Ùɹ³ #T30 1 ¤­¤Ã¤µ µÊÃã #T35 2 ¤­¤Ã¤µ¤­ ÀÚÀè #T35 0 ¤­¤Ã¤µ¤Æ¤ó µÊÃãŹ #T35 3 ¤­¤Ã¤¹ ¥­¥Ã¥¹ #T30 1 ¤­¤Ã¤¹¤¤ µÊ¿å #T35 0 ¤­¤Ã¤¹¤¤ À¸¿è #T35 0 ¤­¤Ã¤»¤­ µÍÀÕ #T30 0 ¤­¤Ã¤¿¤« µÌ¹â #JNS 0 ¤­¤Ã¤Á¤ç¤¦ µÈÃû #T35 0 ¤­¤Ã¤Á¤ê ¤­¤Ã¤Á¤ê #F04 4 ¤­¤Ã¤Á¤ê ¤­¤Ã¤Á¤ê #T16 0 ¤­¤Ã¤Á¤ó ¥­¥Ã¥Á¥ó #T35 2 ¤­¤Ã¤Æ ÀÚ¼ê #T35 4 ¤­¤Ã¤È ¤­¤Ã¤È #F14 77 ¤­¤Ã¤È ¤­¤Ã¤È #T36 0 ¤­¤Ã¤È ¥­¥Ã¥È #T35 28 ¤­¤Ã¤Ñ¤ê ¤­¤Ã¤Ñ¤ê #F04 0 ¤­¤Ã¤Ñ¤ê ¤­¤Ã¤Ñ¤ê #T36 0 ¤­¤Ã¤× µ¤¤ÃÉ÷ #T35 0 ¤­¤Ã¤× ÀÚÉä #T35 14 ¤­¤Ã¤Ý¤¦ µÈÊó #T35 0 ¤­¤Ä µÉ #KJ 0 ¤­¤Ä µÊ #KJ 0 ¤­¤Ä µË #KJ 0 ¤­¤Ä µÍ #KJ 0 ¤­¤Ä µÌ #KJ 1 ¤­¤Ä ¤­¤Ä #KYme 7 ¤­¤Ä¤¦ ¤­¤Ä¤¦ #KYU 1 ¤­¤Ä¤¨¤ó µÊ±ì #T30 3 ¤­¤Ä¤«¤ï µÌÀî #JNS 0 ¤­¤Ä¤¬ ¤­¤Ä¤¬ #R5 0 ¤­¤Ä¤­ µÏÃÛ #JCN 0 ¤­¤Ä¤± ÃåÉÕ¤± #T30 1 ¤­¤Ä¤Ä¤­ ¥­¥Ä¥Ä¥­ #T35 0 ¤­¤Ä¤Ä¤­ ÂïÌÚÄ» #T35 0 ¤­¤Ä¤Í ¸Ñ #T35 1 ¤­¤Ä¤â¤ó µÍÌä #T30 1 ¤­¤Ä¤ì¤¬¤ï ´îÏ¢Àî #JCN 0 ¤­¤Å ÌÚÄÅ #JCN 0 ¤­¤Å µ¤¤Å #K5 29 ¤­¤Å µ¤ÉÕ #K5 29 ¤­¤Å¤« µ¤¸¯ #W5r 2 ¤­¤Å¤«¤ì µ¤Èè¤ì #T30 0 ¤­¤Å¤± µ¤ÉÕ #T35 5 ¤­¤Æ¤¤ µ¬Äê #T30 114 ¤­¤Æ¤¤ µ¬Äø #T35 0 ¤­¤Æ¤¤ ´ðÄì #T35 13 ¤­¤Æ¤¤ ´ûÄê #T35 5 ¤­¤Æ¤¤¤Á ´ûÄêÃÍ #T35 0 ¤­¤Æ¤­ µ¥Å« #T35 3 ¤­¤Æ¤ó ´ðÅÀ #T35 0 ¤­¤Æ¤ó µ®Å¹ #T35 0 ¤­¤Æ¤ó µ¯ÅÀ #T35 16 ¤­¤Æ¤ó µ¡Å¾ #T35 2 ¤­¤Ç¤é µª»û #JNS 0 ¤­¤Ç¤ó µ®Å #T35 1 ¤­¤È ´ë¿Þ #T30 0 ¤­¤È µ¢ÅÓ #T35 0 ¤­¤È¤¦ ÌÚÆ¬ #JCN 0 ¤­¤È¤¦ µ§Åø #T30 1 ¤­¤È¤¯ ´ñÆÃ #T05 4 ¤­¤È¤¯ ´íÆÆ #T35 0 ¤­¤È¤¯ ´ûÆÀ #T35 2 ¤­¤É µ¤¤É #R5r 0 ¤­¤É µ¤¼è #R5r 4 ¤­¤É ÌÚ¸Í #T35 1 ¤­¤É µ±ÅÙ #T35 2 ¤­¤É¤¦ µ¯Æ° #T30 255 ¤­¤É¤¦ µ¡Æ° #T35 1 ¤­¤É¤¦ µ¤Æ» #T35 1 ¤­¤É¤¦ µ°Æ» #T35 10 ¤­¤É¤¦¤¿¤¤ µ¡Æ°Ââ #T35 0 ¤­¤É¤¯ ´ûÆÉ #T35 0 ¤­¤É¤ë¤¤ ´õÅÚÎà #T35 1 ¤­¤Ê¤¤ µ¡Æâ #T35 1 ¤­¤Ê¤¬ µ¤Ä¹ #T05 3 ¤­¤Ê¤µ µ´ÌµÎ¤ #JCN 0 ¤­¤Ê¤µ Íè¤Ê¤µ #R5 0 ¤­¤Ë¤¤ µ¤¤ËÆþ #R5 25 ¤­¤Ë¤Á ´÷Æü #T35 0 ¤­¤Ë¤å¤¦ µ­Æþ #T30 71 ¤­¤Ë¤ó µ¢Ç¤ #T30 1 ¤­¤Ì °á #T35 0 ¤­¤Ì ¸¨ #T35 2 ¤­¤Ì¤¤¤È ¸¨»å #T35 0 ¤­¤Ì¤¿ µÎ #T35 0 ¤­¤Í µÏ #T35 0 ¤­¤Í¤Þ ¥­¥Í¥Þ #T35 1 ¤­¤Í¤ó µ­Ç° #T30 11 ¤­¤Í¤ó µ§Ç° #T30 2 ¤­¤Í¤ó¤Ò µ­Ç°Èê #T35 0 ¤­¤Í¤ó¤Ò¤ó µ­Ç°ÉÊ #T35 2 ¤­¤Í¤ó¤Ó µ­Ç°Æü #T35 1 ¤­¤Î¤¦ µ¡Ç½ #T30 255 ¤­¤Î¤¦ µ¢Ç¼ #T30 4 ¤­¤Î¤¦ ºòÆü #T35 150 ¤­¤Î¤¦¤Æ¤­ µ¢Ç¼Åª #T15 0 ¤­¤Î¤¨ ÌÚ¹¾ #JCN 0 ¤­¤Î¤¯¤Ë¤ä µª°ËÔ¢²° #KK 1 ¤­¤Î¤¯¤Ë¤ä µª°Ë¹ñ²° #KK 3 ¤­¤Î¤³ Âû #T35 0 ¤­¤Î¤³ ¥­¥Î¥³ #T35 1 ¤­¤Î¤µ¤­ ¾ëºê #JCN 0 ¤­¤Î¤·¤¿ ÌÚ²¼ #JNS 0 ¤­¤Î¤É¤¯ µ¤¤ÎÆÇ #T05 1 ¤­¤Î¤ê µ¤¾è¤ê #T30 0 ¤­¤Ï¤¯ ´õÇö #T05 1 ¤­¤Ï¤¯ µ¤Ç÷ #T35 0 ¤­¤Ï¤¸¤á Íè»Ï¤á #KSr 0 ¤­¤Ï¤¸¤á Íè¤Ï¤¸¤á #KSr 1 ¤­¤Ï¤¿ ÌÚȨ #JN 0 ¤­¤Ï¤À ÌÚÈ© #T35 0 ¤­¤Ï¤Á¤í¤¦ ´îȬϺ #JNM 0 ¤­¤Ï¤Ä ´øÈ¯ #T30 2 ¤­¤Ï¤Ä¤æ ´øÈ¯Ìý #T35 0 ¤­¤Ï¤é ÌÚ¸¶ #JCN 0 ¤­¤Ï¤é ¼ù¸¶ #JNS 0 ¤­¤Ï¤ó µ¬ÈÏ #T35 1 ¤­¤Ð ²«¤Ð #M5r 0 ¤­¤Ð µ¤Ä¥ #R5 1 ¤­¤Ð ²ç #T35 0 ¤­¤Ð ÌÚ¾ì #T35 0 ¤­¤Ð µ³ÇÏ #T35 2 ¤­¤Ð¤¯ µ¯Çú #T35 0 ¤­¤Ð¤¿¤é¤­ µ¤¤Ð¤¿¤é¤­ #T35 1 ¤­¤Ð¤Ä ´ñÈ´ #T05 1 ¤­¤Ð¤é¤· µ¤À²¤é¤· #T30 0 ¤­¤Ð¤ó ´ðÈÄ #T35 30 ¤­¤Ð¤ó ´ðÈ× #T35 30 ¤­¤Ò ´÷Èò #T30 0 ¤­¤Ò¤Ä µ¯É® #T30 0 ¤­¤Ò¤ó µ®ÉÐ #T35 0 ¤­¤Ò¤ó µ¤ÉÊ #T35 1 ¤­¤Ó µÈÈ÷ #JCN 0 ¤­¤Ó µ¡Èù #T35 0 ¤­¤Ó µÐ #T35 0 ¤­¤Ó¤­¤Ó ¤­¤Ó¤­¤Ó #F04 1 ¤­¤Ó¤­¤Ó ¤­¤Ó¤­¤Ó #T16 0 ¤­¤Ó¤· ¤­¤Ó¤· #KY 4 ¤­¤Ó¤· ¸·¤· #KY 6 ¤­¤Ó¤·¤å¤¦ ¤­¤Ó¤·¤å¤¦ #KYU 1 ¤­¤Ó¤·¤å¤¦ ¸·¤·¤å¤¦ #KYU 1 ¤­¤Ó¤¹ ìû #T35 0 ¤­¤Ó¤¿¤­ ¥­¥Ó¥¿¥­ #T35 0 ¤­¤Ó¤¿¤­ ²«ó° #T35 0 ¤­¤Ó¤ç¤¦ ´ñÉ #T35 0 ¤­¤Ó¤ó µ¡ÉÒ #T05 0 ¤­¤Õ ´óÉÕ #T30 3 ¤­¤Õ¤¦ µ¤É÷ #T35 0 ¤­¤Õ¤¯ µ¯Éú #T30 0 ¤­¤Ö¤¯¤ì ÃåËĤì #T30 0 ¤­¤Ö¤Ã¤»¤¤ µ¤¤Ö¤Ã¤»¤¤ #T05 0 ¤­¤Ö¤È¤ê ÃåÂÀ¤ê #T30 0 ¤­¤Ö¤ó µ¤Ê¬ #T35 30 ¤­¤Ø¤¤ µ³Ê¼ #T35 1 ¤­¤Ù ¶®Éô #JNS 0 ¤­¤Ù¤ó ëÌÊÛ #T35 0 ¤­¤Û¤¦ µªÊõ #JCN 0 ¤­¤Û¤¦ ÌÚÊý #JNS 0 ¤­¤Û¤¦ µ®Êý #T35 0 ¤­¤Û¤¦ µ­Ë¡ #T35 17 ¤­¤Û¤¯ µ±ËÌ #JCN 0 ¤­¤Û¤ó ´ðËÜ #T35 255 ¤­¤Ü µ¬ÌÏ #T35 31 ¤­¤Ü¤¦ ´õ˾ #T30 80 ¤­¤Ü¤Í µ¤¹ü #T35 0 ¤­¤Ü¤ê ÌÚĦ¤ê #T35 0 ¤­¤Þ ¶Ë #R5 0 ¤­¤Þ ·è #R5r 1 ¤­¤Þ ·è¤Þ #R5r 100 ¤­¤Þ ¤­¤Þ #R5r 3 ¤­¤Þ¤¨ µ¤Á° #T35 1 ¤­¤Þ¤°¤ì µ¤¤Þ¤°¤ì #T05 3 ¤­¤Þ¤º µ¤¤Þ¤º #KY 0 ¤­¤Þ¤º¤¦ µ¤¤Þ¤º¤¦ #KYU 0 ¤­¤Þ¤º¤¬ µ¤¤Þ¤º¤¬ #R5 0 ¤­¤Þ¤Ã¤Æ ·è¤Ã¤Æ #F14 0 ¤­¤Þ¤Ã¤Æ ·è¤Ã¤Æ #T36 0 ¤­¤Þ¤Ä ´üËö #T35 0 ¤­¤Þ¤Þ µ¤¤Þ¤Þ #T05 1 ¤­¤ß ¤­¤ß #JNM 0 ¤­¤ß ¥­¥ß #JNM 0 ¤­¤ß ´õÈþ #JNM 0 ¤­¤ß µ®Èþ #JNM 0 ¤­¤ß ¸ø #KJ 1 ¤­¤ß ²«¿È #T35 0 ¤­¤ß µ¤Ì£ #T35 1 ¤­¤ß ·¯ #T35 42 ¤­¤ß¤ª ¸øÃË #JNM 0 ¤­¤ß¤ª ¸øÍº #JNM 0 ¤­¤ß¤¬¤è ·¯¤¬Âå #KK 0 ¤­¤ß¤¬¤ï¤ë µ¤Ì£¤¬°­ #KY 0 ¤­¤ß¤¬¤ï¤ë¤¦ µ¤Ì£¤¬°­¤¦ #KYU 0 ¤­¤ß¤³ ¤­¤ß»Ò #JNM 0 ¤­¤ß¤³ ´îÈþ»Ò #JNM 0 ¤­¤ß¤³ ·¯»Ò #JNM 0 ¤­¤ß¤³ ¸ø»Ò #JNM 0 ¤­¤ß¤·¤Þ ·¯Åç #JNS 0 ¤­¤ß¤·¤Þ ·¯Åè #JNS 0 ¤­¤ß¤¸¤« µ¤Ã» #T05 0 ¤­¤ß¤¸¤Þ ·¯Åç #JNS 0 ¤­¤ß¤¸¤Þ ·¯Åè #JNS 0 ¤­¤ß¤¿ ·¯ÅÄ #JCN 0 ¤­¤ß¤¿¤Á ·¯Ã£ #T35 1 ¤­¤ß¤Ä ·¯ÄÅ #JCN 0 ¤­¤ß¤Ä µ¡Ì© #T35 1 ¤­¤ß¤É¤ê ²«ÎÐ #T15 0 ¤­¤ß¤Ò¤³ ¸øÉ§ #JNM 0 ¤­¤ß¤ç¤¦ ´ñ̯ #T05 4 ¤­¤à¤º¤«¤· µ¤Æñ¤· #KY 0 ¤­¤à¤º¤«¤·¤å¤¦ µ¤Æñ¤·¤å¤¦ #KYU 0 ¤­¤à¤Á ¥­¥à¥Á #T35 1 ¤­¤à¤Å¤«¤· µ¤Æñ¤· #KY 1 ¤­¤à¤Å¤«¤·¤å¤¦ µ¤Æñ¤·¤å¤¦ #KYU 1 ¤­¤à¤é ÌÚ¼ #JNS 0 ¤­¤á ·è¤á #KS 131 ¤­¤á ·è¤á #T30 0 ¤­¤á ÌÚÌÜ #T35 0 ¤­¤á È©Íý #T35 1 ¤­¤á¤¤ µ­Ì¾ #T30 1 ¤­¤á¤³ ·è¤á¹þ #M5 1 ¤­¤á¤³¤Þ¤« ¤­¤áºÙ¤« #KY 1 ¤­¤á¤³¤Þ¤« ¤­¤áºÙ¤« #T07 1 ¤­¤á¤³¤Þ¤³¤¦ ¤­¤áºÙ¤³¤¦ #KYU 1 ¤­¤á¤Ä¤± ·è¤á¤Ä¤± #KSr 1 ¤­¤á¤Æ ·è¤á¼ê #T35 1 ¤­¤á¤é ¥­¥á¥é #T35 1 ¤­¤â ´Î #T35 7 ¤­¤â¤Á µ¤»ý¤Á #T35 19 ¤­¤â¤Á µ¤»ý #T35 46 ¤­¤â¤Ã¤¿¤Þ ´Î¤Ã¶Ì #T35 0 ¤­¤â¤Ä¤­ ´Î° #JCN 0 ¤­¤â¤È ÌÚËÜ #JNS 0 ¤­¤â¤Î Ãåʪ #T35 3 ¤­¤â¤Ù¤Ä ´îÌÐÊÌ #CN 0 ¤­¤â¤ó µ´Ìç #T35 0 ¤­¤ã ²À #KJ 8 ¤­¤ã¤¯ µÒ #JS 0 ¤­¤ã¤¯ µÓ #JS 0 ¤­¤ã¤¯ µÑ #KJ 0 ¤­¤ã¤¯ µÓ #KJ 1 ¤­¤ã¤¯ µÒ #T35 12 ¤­¤ã¤¯¤¢¤· µÒ­ #T35 0 ¤­¤ã¤¯¤¤¤ó µÒ°÷ #T35 0 ¤­¤ã¤¯¤¤¤ó µÓ±¤ #T35 0 ¤­¤ã¤¯¤·¤Ä µÒ¼¼ #T35 1 ¤­¤ã¤¯¤·¤ã µÒ¼Ö #T35 0 ¤­¤ã¤¯¤·¤ç¤¯ µÓ¿§ #T30 0 ¤­¤ã¤¯¤¸¤ó µÒ¿Í #T35 0 ¤­¤ã¤¯¤»¤­ µÒÀÊ #T35 0 ¤­¤ã¤¯¤»¤ó µÓÀþ #T35 0 ¤­¤ã¤¯¤»¤ó µÒÁ¥ #T35 1 ¤­¤ã¤¯¤Á¤å¤¦ µÓÃí #T35 9 ¤­¤ã¤¯¤Û¤ó µÓËÜ #T35 0 ¤­¤ã¤¯¤Þ µÒ´Ö #T35 0 ¤­¤ã¤·¤ã ²ÚÔú #T05 1 ¤­¤ã¤·¤ã ¤­¤ã¤·¤ã #T05 3 ¤­¤ã¤¹¤¿¡¼ ¥­¥ã¥¹¥¿¡¼ #T35 0 ¤­¤ã¤¹¤È ¥­¥ã¥¹¥È #T30 5 ¤­¤ã¤¿¤Ä µÓΩ #T35 1 ¤­¤ã¤Ã¤« µÑ²¼ #T30 3 ¤­¤ã¤Ã¤«¤ó µÒ´Ñ #T30 4 ¤­¤ã¤Ã¤³¤¦ µÓ¸÷ #T35 0 ¤­¤ã¤Ã¤·¤å ¥­¥ã¥Ã¥·¥å #T30 34 ¤­¤ã¤Ã¤·¤ó¤° ¥­¥ã¥Ã¥·¥ó¥° #T30 3 ¤­¤ã¤Ã¤Á ¥­¥ã¥Ã¥Á #T30 1 ¤­¤ã¤Ã¤Á¤Õ¤ì¡¼¤º ¥­¥ã¥Ã¥Á¥Õ¥ì¡¼¥º #T35 1 ¤­¤ã¤É¤­¡¼ ¥­¥ã¥É¥­¡¼ #KK 2 ¤­¤ã¤Î¤ó ¥­¥ã¥Î¥ó #KK 1 ¤­¤ã¤Ð¤ì¡¼ ¥­¥ã¥Ð¥ì¡¼ #T35 1 ¤­¤ã¤Ó¤Í¤Ã¤È ¥­¥ã¥Ó¥Í¥Ã¥È #T35 2 ¤­¤ã¤×¤Æ¤ó ¥­¥ã¥×¥Æ¥ó #T35 1 ¤­¤ã¤é¤¯¤¿ ¥­¥ã¥é¥¯¥¿ #T35 91 ¤­¤ã¤é¤¯¤¿¡¼ ¥­¥ã¥é¥¯¥¿¡¼ #T35 91 ¤­¤ã¤ê¡¼ ¥­¥ã¥ê¡¼ #T35 1 ¤­¤ã¤ê¤¢¡¼ ¥­¥ã¥ê¥¢¡¼ #T35 8 ¤­¤ã¤ó¤»¤ë ¥­¥ã¥ó¥»¥ë #T30 37 ¤­¤ã¤ó¤Ç¤£ ¥­¥ã¥ó¥Ç¥£ #T35 1 ¤­¤ã¤ó¤Ç¤£¡¼ ¥­¥ã¥ó¥Ç¥£¡¼ #T35 1 ¤­¤ã¤ó¤Ð¤¹ ¥­¥ã¥ó¥Ð¥¹ #T35 1 ¤­¤ã¤ó¤Ñ¤¹ ¥­¥ã¥ó¥Ñ¥¹ #T35 3 ¤­¤ã¤ó¤Ú¡¼¤ó ¥­¥ã¥ó¥Ú¡¼¥ó #T30 1 ¤­¤ä¤¯ ´ûÌó #T05 11 ¤­¤ä¤¯ µ¬Ìó #T35 30 ¤­¤ä¤¹ µ¤°Â #KY 1 ¤­¤ä¤¹¤¦ µ¤°Â¤¦ #KYU 1 ¤­¤ä¤¹¤á µ¤µÙ¤á #T35 1 ¤­¤ä¤» ÃåÁ餻 #T30 0 ¤­¤ä¤Þ ´ð»³ #JCN 0 ¤­¤ä¤Þ¤Á ÌÚ²°Ä® #CN 0 ¤­¤å¡¼ ¥­¥å¡¼ #T35 7 ¤­¤å¡¼¤Ö ¥­¥å¡¼¥Ö #T35 2 ¤­¤å¤¦ µå #JS 0 ¤­¤å¤¦ µé #JS 0 ¤­¤å¤¦ °· #KJ 0 ¤­¤å¤¦ µÖ #KJ 0 ¤­¤å¤¦ µÚ #KJ 0 ¤­¤å¤¦ µÝ #KJ 0 ¤­¤å¤¦ µß #KJ 0 ¤­¤å¤¦ µà #KJ 0 ¤­¤å¤¦ µâ #KJ 0 ¤­¤å¤¦ µã #KJ 0 ¤­¤å¤¦ µæ #KJ 0 ¤­¤å¤¦ µè #KJ 0 ¤­¤å¤¦ µê #KJ 0 ¤­¤å¤¦ È· #KJ 0 ¤­¤å¤¦ µÜ #KJ 1 ¤­¤å¤¦ µá #KJ 1 ¤­¤å¤¦ ÓÌ #KJ 1 ¤­¤å¤¦ µÙ #KJ 26 ¤­¤å¤¦ µ× #KJ 3 ¤­¤å¤¦ µÛ #KJ 5 ¤­¤å¤¦ ¶å #NN 14 ¤­¤å¤¦ µÞ #PRE 0 ¤­¤å¤¦ µì #PRE 0 ¤­¤å¤¦ µç #S5 0 ¤­¤å¤¦ µë #S5 7 ¤­¤å¤¦ µé #SUC 0 ¤­¤å¤¦ µÙ #SX 2 ¤­¤å¤¦ µÞ #T05 51 ¤­¤å¤¦ µç #T30 0 ¤­¤å¤¦ µØ #T30 13 ¤­¤å¤¦ µë #T30 7 ¤­¤å¤¦ µé #T35 0 ¤­¤å¤¦ µä #T35 1 ¤­¤å¤¦ µå #T35 4 ¤­¤å¤¦ µì #T35 64 ¤­¤å¤¦¤¢¤¤ µá°¦ #T30 1 ¤­¤å¤¦¤¤¤ó µÛ°ú #T30 1 ¤­¤å¤¦¤¨¤ó µÙ±é #T30 0 ¤­¤å¤¦¤¨¤ó µß±ç #T30 0 ¤­¤å¤¦¤« µì²È #T35 0 ¤­¤å¤¦¤« µÙ²Ë #T35 45 ¤­¤å¤¦¤«¤¤ µÙ²ñ #T30 2 ¤­¤å¤¦¤«¤¯ µå³Ì #T35 0 ¤­¤å¤¦¤«¤¯ Ó̳Р#T35 1 ¤­¤å¤¦¤«¤Ê µì¥«¥Ê #T35 0 ¤­¤å¤¦¤«¤Ê µì²¾Ì¾ #T35 0 ¤­¤å¤¦¤«¤ó µÙ´Û #T30 0 ¤­¤å¤¦¤«¤ó µÙ´© #T30 1 ¤­¤å¤¦¤«¤ó µÙ´× #T35 0 ¤­¤å¤¦¤«¤ó µÞ´µ #T35 0 ¤­¤å¤¦¤«¤ó µì´Û #T35 0 ¤­¤å¤¦¤«¤ó¤Á¤ç¤¦ ¶å´±Ä» #T35 1 ¤­¤å¤¦¤¬¤¯ µÙ³Ø #T30 1 ¤­¤å¤¦¤­ µÛµ¤ #T30 5 ¤­¤å¤¦¤­¤å¤¦ µâ¡¹ #F03 0 ¤­¤å¤¦¤­¤å¤¦ µßµÞ #T35 2 ¤­¤å¤¦¤­¤å¤¦¤·¤ã µßµÞ¼Ö #T35 0 ¤­¤å¤¦¤­¤ç µÞî± #F14 0 ¤­¤å¤¦¤­¤ç µÞ¤­¤ç #F14 3 ¤­¤å¤¦¤­¤ç¤¯ µæ¶Ë #T35 5 ¤­¤å¤¦¤­¤ó µë¶â #T35 0 ¤­¤å¤¦¤® µåµ» #T35 0 ¤­¤å¤¦¤®¤ç¤¦ µÙ¶È #T30 1 ¤­¤å¤¦¤¯¤Ä µç¶þ #T05 1 ¤­¤å¤¦¤±¤¤ µá·º #T30 0 ¤­¤å¤¦¤±¤¤ µÙ·Æ #T30 4 ¤­¤å¤¦¤±¤¤ µÞ·¼ #T35 0 ¤­¤å¤¦¤±¤¤ µå·Á #T35 0 ¤­¤å¤¦¤±¤Ä µÛ·ì #T30 1 ¤­¤å¤¦¤±¤Ä¤­ µÛ·ìµ´ #T35 1 ¤­¤å¤¦¤²¤­ µÞ·ã #T05 4 ¤­¤å¤¦¤²¤ó µÞ¸º #T30 0 ¤­¤å¤¦¤³¤¦ µÙ¹» #T30 0 ¤­¤å¤¦¤³¤¦ µÙ¹Ì #T30 0 ¤­¤å¤¦¤³¤¦ µÙ¹Ö #T30 1 ¤­¤å¤¦¤³¤¦ µÞ¹Ô #T30 2 ¤­¤å¤¦¤³¤¦ µÛ¸÷ #T35 1 ¤­¤å¤¦¤³¤¦¤« µÞ¹ß²¼ #T30 0 ¤­¤å¤¦¤³¤¯ µÞ¹ð #T30 2 ¤­¤å¤¦¤³¤ó µáº§ #T30 1 ¤­¤å¤¦¤³¤ó µåº¬ #T35 0 ¤­¤å¤¦¤´ µß¸î #T30 1 ¤­¤å¤¦¤´¤¦ µê¹ç #T30 0 ¤­¤å¤¦¤´¤¦ È·¹ç #T30 0 ¤­¤å¤¦¤µ¤¤ µÙºÜ #T30 0 ¤­¤å¤¦¤µ¤¤ µßºÑ #T30 1 ¤­¤å¤¦¤· µÞ»à #T30 0 ¤­¤å¤¦¤· µÙ»ß #T30 1 ¤­¤å¤¦¤· ±±»õ #T35 0 ¤­¤å¤¦¤·¤­ µì¼° #T05 0 ¤­¤å¤¦¤·¤Õ µÙ»ßÉä #T35 0 ¤­¤å¤¦¤·¤å¤¦ ¶å½£ #CN 0 ¤­¤å¤¦¤·¤å¤¦ µÛ¼ý #T30 45 ¤­¤å¤¦¤·¤å¤Ä µß½Ð #T30 5 ¤­¤å¤¦¤·¤å¤ó µÞ½Ô #T05 1 ¤­¤å¤¦¤·¤ç µÞ½ê #T35 2 ¤­¤å¤¦¤·¤ç¤¯ µÙ¿¦ #T30 0 ¤­¤å¤¦¤·¤ç¤¯ µá¿¦ #T30 1 ¤­¤å¤¦¤·¤ç¤¯ µë¿© #T30 1 ¤­¤å¤¦¤·¤ó µÞ¿Ê #T30 0 ¤­¤å¤¦¤·¤ó µÙ¿Ç #T30 1 ¤­¤å¤¦¤¸ µë»Å #T30 0 ¤­¤å¤¦¤¸ µì»ú #T35 0 ¤­¤å¤¦¤¸¤¿¤¤ µì»úÂÎ #T35 0 ¤­¤å¤¦¤¸¤Ä µÙÆü #T35 13 ¤­¤å¤¦¤¸¤ç µß½õ #T30 0 ¤­¤å¤¦¤¸¤ç¤¦ µÙ¾ì #T30 0 ¤­¤å¤¦¤¸¤ç¤¦ µÜ¾ë #T35 0 ¤­¤å¤¦¤¸¤ç¤¦ µå¾ì #T35 1 ¤­¤å¤¦¤¸¤ç¤¦ µå¾õ #T35 1 ¤­¤å¤¦¤¸¤ç¤¦ µç¾õ #T35 1 ¤­¤å¤¦¤¸¤ç¤¦¤·¤ç¤¦ µÞ¾å¾º #T30 0 ¤­¤å¤¦¤¸¤ç¤¿¤¤ µß½õÂâ #T35 0 ¤­¤å¤¦¤¸¤ó µá¿Í #T30 1 ¤­¤å¤¦¤¹ µÞ¿Ü #T35 9 ¤­¤å¤¦¤¹¤¤ µë¿å #T30 0 ¤­¤å¤¦¤¹¤¦ µé¿ô #T35 1 ¤­¤å¤¦¤»¤¤ µÞÀ #T30 1 ¤­¤å¤¦¤»¤¤ µìÀ© #T35 0 ¤­¤å¤¦¤»¤¤ µÞÀ­ #T35 1 ¤­¤å¤¦¤»¤¤ µìÀ« #T35 6 ¤­¤å¤¦¤»¤¤¤·¤å µßÀ¤¼ç #T35 0 ¤­¤å¤¦¤»¤¤¤Á¤ç¤¦ µÞÀ®Ä¹ #T30 0 ¤­¤å¤¦¤»¤­ µìÀ× #T35 0 ¤­¤å¤¦¤»¤ó µÙÀï #T30 0 ¤­¤å¤¦¤½¤¦ µÞÁ÷ #T30 0 ¤­¤å¤¦¤½¤¯ µÞ® #T05 2 ¤­¤å¤¦¤½¤¯ µÙ© #T30 1 ¤­¤å¤¦¤¾¤¦ µÞÁý #T30 1 ¤­¤å¤¦¤¿¤¤ µåÂÎ #T15 0 ¤­¤å¤¦¤¿¤¤ µìÂÖ #T35 1 ¤­¤å¤¦¤¿¤í¤¦ µ×ÂÀϺ #JCN 0 ¤­¤å¤¦¤À¤¤ ¶åÂç #KK 2 ¤­¤å¤¦¤À¤¤ µÚÂè #T30 1 ¤­¤å¤¦¤À¤ó µêÃÆ #T30 0 ¤­¤å¤¦¤À¤ó µåÃÄ #T35 1 ¤­¤å¤¦¤Á µçÃÏ #T35 0 ¤­¤å¤¦¤Á µìÃÎ #T35 0 ¤­¤å¤¦¤Á¤ã¤¯ µÛÃå #T30 1 ¤­¤å¤¦¤Á¤å¤¦ µÜÃæ #T35 0 ¤­¤å¤¦¤Á¤ç¤¦ µéĹ #T35 0 ¤­¤å¤¦¤Æ¤¤ µÜÄî #T35 3 ¤­¤å¤¦¤Æ¤¤¤·¤ã µÞÄä¼Ö #T30 0 ¤­¤å¤¦¤Æ¤ó µÞž #T30 0 ¤­¤å¤¦¤Ç¤ó µÜÅ #T35 0 ¤­¤å¤¦¤È¤¦ µÞÆ­ #T30 0 ¤­¤å¤¦¤È¤¦ µëÅò #T35 0 ¤­¤å¤¦¤É¤¦ µìÆ» #T35 1 ¤­¤å¤¦¤É¤¦ µÝÆ» #T35 2 ¤­¤å¤¦¤Ë¤å¤¦ µÛÆþ #T30 1 ¤­¤å¤¦¤Í¤ó µìǯ #T35 1 ¤­¤å¤¦¤Ï µÞÇÉ #T30 0 ¤­¤å¤¦¤Ï¤¯ µÞÇ÷ #T30 0 ¤­¤å¤¦¤Ï¤¯ µçÇ÷ #T30 0 ¤­¤å¤¦¤Ï¤ó µìÈÇ #T35 2 ¤­¤å¤¦¤Ð µÞ¾ì #T35 1 ¤­¤å¤¦¤Ð¤ó µÛÈ× #T35 0 ¤­¤å¤¦¤Ð¤ó µìÈÇ #T35 2 ¤­¤å¤¦¤Ó¤ç¤¦ µÞÉ #T35 0 ¤­¤å¤¦¤Õ µëÉÕ #T30 1 ¤­¤å¤¦¤Õ µÜÉì #T35 1 ¤­¤å¤¦¤Õ¤­¤ó µëÉÕ¶â #T35 0 ¤­¤å¤¦¤Ø¤ó µÞÊÑ #T30 1 ¤­¤å¤¦¤Û¤¦ µÞÊó #T30 0 ¤­¤å¤¦¤Û¤¦¤¸ µ×Êõ»û #CN 0 ¤­¤å¤¦¤Ü µÞÊç #T30 0 ¤­¤å¤¦¤Ü¤¦ µç˳ #T30 0 ¤­¤å¤¦¤ß¤ó µÙ̲ #T30 0 ¤­¤å¤¦¤à µÞ̳ #T35 1 ¤­¤å¤¦¤á¤¤ µßÌ¿ #T30 0 ¤­¤å¤¦¤á¤¤ µêÌÀ #T30 0 ¤­¤å¤¦¤á¤¤ µæÌÀ #T30 5 ¤­¤å¤¦¤á¤ó µåÌÌ #T35 1 ¤­¤å¤¦¤æ µëÌý #T30 1 ¤­¤å¤¦¤æ¤¦ µéͧ #T35 0 ¤­¤å¤¦¤æ¤¦ µìͧ #T35 0 ¤­¤å¤¦¤æ¤¦ ÛæÍº #T35 0 ¤­¤å¤¦¤è µëÍ¿ #T30 2 ¤­¤å¤¦¤è¤¦ µÙÍÜ #T30 2 ¤­¤å¤¦¤è¤¦ µÞÍÑ #T35 1 ¤­¤å¤¦¤é¤¤ µìÍè #T35 3 ¤­¤å¤¦¤é¤® ¸·ÌÚ #JCN 0 ¤­¤å¤¦¤é¤¯ µÞÍî #T30 1 ¤­¤å¤¦¤ê ¸Õ±» #T35 0 ¤­¤å¤¦¤ê¤å¤¦ µÞή #T35 0 ¤­¤å¤¦¤ê¤ç¤¦ µÖÎÍ #T35 1 ¤­¤å¤¦¤ê¤ç¤¦ µëÎÁ #T35 8 ¤­¤å¤¦¤ê¤ç¤¦¤Ó µëÎÁÆü #T35 0 ¤­¤å¤¦¤ì¤¤ µÞÎä #T30 0 ¤­¤å¤¦¤ì¤­ µìÎñ #T35 0 ¤­¤å¤ê¡¼ ¥­¥å¥ê¡¼ #JN 0 ¤­¤æ¤¦ ۹ͫ #T35 1 ¤­¤ç ±³ #KJ 0 ¤­¤ç µî #KJ 0 ¤­¤ç µñ #KJ 0 ¤­¤ç µô #KJ 0 ¤­¤ç µ÷ #KJ 0 ¤­¤ç µø #KJ 0 ¤­¤ç µð #KJ 1 ¤­¤ç µò #KJ 1 ¤­¤ç µö #KJ 3 ¤­¤ç µó #T35 1 ¤­¤ç µõ #T35 1 ¤­¤ç µï #T35 58 ¤­¤ç¤¦ ¶µ #CNSUC1 62 ¤­¤ç¤¦ ¶µ #JNSUC 0 ¤­¤ç¤¦ ¶¯ #JSSUC 0 ¤­¤ç¤¦ °É #KJ 0 ¤­¤ç¤¦ ³ð #KJ 0 ¤­¤ç¤¦ ¶¢ #KJ 0 ¤­¤ç¤¦ ¶£ #KJ 0 ¤­¤ç¤¦ ¶¤ #KJ 0 ¤­¤ç¤¦ ¶¥ #KJ 0 ¤­¤ç¤¦ ¶« #KJ 0 ¤­¤ç¤¦ ¶¬ #KJ 0 ¤­¤ç¤¦ ¶® #KJ 0 ¤­¤ç¤¦ ¶° #KJ 0 ¤­¤ç¤¦ ¶± #KJ 0 ¤­¤ç¤¦ ¶´ #KJ 0 ¤­¤ç¤¦ ¶µ #KJ 0 ¤­¤ç¤¦ ¶¶ #KJ 0 ¤­¤ç¤¦ ¶· #KJ 0 ¤­¤ç¤¦ ¶¹ #KJ 0 ¤­¤ç¤¦ ¶º #KJ 0 ¤­¤ç¤¦ ¶» #KJ 0 ¤­¤ç¤¦ ¶¼ #KJ 0 ¤­¤ç¤¦ ¶¾ #KJ 0 ¤­¤ç¤¦ ¶Á #KJ 0 ¤­¤ç¤¦ ¶Ã #KJ 0 ¤­¤ç¤¦ ·» #KJ 0 ¤­¤ç¤¦ ¹¼ #KJ 0 ¤­¤ç¤¦ ¹å #KJ 0 ¤­¤ç¤¦ µü #KJ 1 ¤­¤ç¤¦ µý #KJ 1 ¤­¤ç¤¦ ¶© #KJ 1 ¤­¤ç¤¦ ¶² #KJ 1 ¤­¤ç¤¦ ¶À #KJ 1 ¤­¤ç¤¦ ¶¦ #KJ 12 ¤­¤ç¤¦ ¶¿ #KJ 4 ¤­¤ç¤¦ ¶¨ #KJ 5 ¤­¤ç¤¦ ¶³ #KJ 5 ¤­¤ç¤¦ ¶¯ #PRE 0 ¤­¤ç¤¦ ¶¡ #S5 9 ¤­¤ç¤¦ ¶¸ #T30 1 ¤­¤ç¤¦ ¶Â #T30 1 ¤­¤ç¤¦ ¶¡ #T30 9 ¤­¤ç¤¦ ¶§ #T35 1 ¤­¤ç¤¦ ·Ð #T35 1 ¤­¤ç¤¦ µþ #T35 17 ¤­¤ç¤¦ º£Æü #T35 255 ¤­¤ç¤¦ ¶¯ #T35 3 ¤­¤ç¤¦ ¶½ #T35 3 ¤­¤ç¤¦ ¶ª #T35 7 ¤­¤ç¤¦ ¶­ #T35 8 ¤­¤ç¤¦ ¶½ #ZX 1 ¤­¤ç¤¦¤¢¤¤ ¶¹ð§ #T05 0 ¤­¤ç¤¦¤¤ ¶¯°Õ #T35 0 ¤­¤ç¤¦¤¤ ¶Ã°Û #T35 0 ¤­¤ç¤¦¤¤ ¶»°Ï #T35 1 ¤­¤ç¤¦¤¤ ¶¼°Ò #T35 1 ¤­¤ç¤¦¤¤¤¯ ¶µ°é #T30 87 ¤­¤ç¤¦¤¤¤Á ¶³°ì #JNM 0 ¤­¤ç¤¦¤¤¤ó ¶µ°÷ #T35 1 ¤­¤ç¤¦¤¨¤¤ ¶¦±É #T30 0 ¤­¤ç¤¦¤¨¤¤ ¶¥±Ë #T30 1 ¤­¤ç¤¦¤¨¤­ ¶¦±× #T35 0 ¤­¤ç¤¦¤¨¤ó ¶¥±é #T30 1 ¤­¤ç¤¦¤¨¤ó ¶¦±é #T30 1 ¤­¤ç¤¦¤¨¤ó ¶Â±ã #T35 0 ¤­¤ç¤¦¤¨¤ó¤·¤ã ¶¦±é¼Ô #T35 0 ¤­¤ç¤¦¤« ¶µ²½ #T30 0 ¤­¤ç¤¦¤« ¶¯²½ #T30 57 ¤­¤ç¤¦¤« ¶µ²Ê #T35 0 ¤­¤ç¤¦¤«¤¤ ¶µëÒ #T30 0 ¤­¤ç¤¦¤«¤¤ ¶¨²ñ #T35 16 ¤­¤ç¤¦¤«¤¤ ¶µ²ñ #T35 3 ¤­¤ç¤¦¤«¤¤ ¶­³¦ #T35 56 ¤­¤ç¤¦¤«¤¯ ¶¢µÒ #T35 0 ¤­¤ç¤¦¤«¤¯ ¶»³Ô #T35 0 ¤­¤ç¤¦¤«¤·¤ç ¶µ²Ê½ñ #T35 3 ¤­¤ç¤¦¤«¤Ä ¶²³å #T30 1 ¤­¤ç¤¦¤«¤ó ¶¦´¶ #T30 2 ¤­¤ç¤¦¤«¤ó ¶µ´± #T35 6 ¤­¤ç¤¦¤¬ ¶³²ì #T35 0 ¤­¤ç¤¦¤¬¤¤ ¶­³¶ #T35 0 ¤­¤ç¤¦¤¬¤¯ ¶Ãس #T30 0 ¤­¤ç¤¦¤¬¤¯ ¶¦³Ø #T35 0 ¤­¤ç¤¦¤¬¤» µþ¥öÀ¥ #CN 0 ¤­¤ç¤¦¤­ ¶¸´î #T30 0 ¤­¤ç¤¦¤­ ¶Ã´î #T30 0 ¤­¤ç¤¦¤­ ¶¢µ¤ #T35 0 ¤­¤ç¤¦¤­ ¶§´ï #T35 0 ¤­¤ç¤¦¤­ ¶¸µ¤ #T35 1 ¤­¤ç¤¦¤­ ¶¦µ¯ #T30 0 ¤­¤ç¤¦¤­¤ã¤¯ ¶¶µÓ #T35 0 ¤­¤ç¤¦¤­¤å¤¦ ¶¡µë #T30 21 ¤­¤ç¤¦¤­¤ó ¶»¶ß #T35 0 ¤­¤ç¤¦¤® ¶¥µ» #T30 16 ¤­¤ç¤¦¤® ¶¨µÄ #T30 4 ¤­¤ç¤¦¤® ·ÐÌÚ #T35 0 ¤­¤ç¤¦¤® ¶µµÁ #T35 1 ¤­¤ç¤¦¤® ¶¹µÁ #T35 2 ¤­¤ç¤¦¤®¤ç¤¦ ¶¨¶È #T30 0 ¤­¤ç¤¦¤¯¤¦ ¶»¹Ð #T35 1 ¤­¤ç¤¦¤¯¤ó ¶µ·± #T30 2 ¤­¤ç¤¦¤°¤¦ ¶­¶ø #T35 0 ¤­¤ç¤¦¤±¤Ä ¶¡·ì #T30 0 ¤­¤ç¤¦¤±¤ó ¶¯·ò #T05 0 ¤­¤ç¤¦¤±¤ó ¶¯¸¢ #T35 0 ¤­¤ç¤¦¤±¤ó ¶À¸¡ #T35 1 ¤­¤ç¤¦¤±¤ó¤Ó¤ç¤¦ ¶¸¸¤É #T35 0 ¤­¤ç¤¦¤²¤­ ¶´·â #T30 0 ¤­¤ç¤¦¤²¤­ µþ·à #T35 0 ¤­¤ç¤¦¤²¤ó ¶¸¸À #T35 0 ¤­¤ç¤¦¤³ µþ»Ò #JNM 0 ¤­¤ç¤¦¤³ ¶³»Ò #JNM 0 ¤­¤ç¤¦¤³ ¶Á»Ò #JNM 0 ¤­¤ç¤¦¤³ º£Æü»Ò #JNM 0 ¤­¤ç¤¦¤³ ¶¯¸Ç #T05 3 ¤­¤ç¤¦¤³¤¦ ¶¯¹Å #T05 0 ¤­¤ç¤¦¤³¤¦ ¶¯¹Ô #T30 4 ¤­¤ç¤¦¤³¤¦ ¶§¹Ô #T35 0 ¤­¤ç¤¦¤³¤¦ ¶²¹² #T35 2 ¤­¤ç¤¦¤³¤¦ ¶µ¹Ä #T35 0 ¤­¤ç¤¦¤³¤¦¤°¤ó ¶¯¹Ô·³ #T35 0 ¤­¤ç¤¦¤³¤¯ ¶®Ã« #T35 0 ¤­¤ç¤¦¤³¤¯ ¶¯¹ñ #T35 1 ¤­¤ç¤¦¤³¤Ä ¶»¹ü #T35 0 ¤­¤ç¤¦¤´ ¶µ¸î #T30 0 ¤­¤ç¤¦¤´¤¦ ¶¥¹ç #T30 13 ¤­¤ç¤¦¤´¤¦ ¶¯¹ë #T35 0 ¤­¤ç¤¦¤´¤¯ µþ¶Ë #JCN 0 ¤­¤ç¤¦¤µ ¶µº¶ #T30 0 ¤­¤ç¤¦¤µ¤¤ ¶¦ºÅ #T30 1 ¤­¤ç¤¦¤µ¤¤ ¶¦ºÑ #T35 1 ¤­¤ç¤¦¤µ¤¤ ¶²ºÊ #T35 2 ¤­¤ç¤¦¤µ¤¯ ¶¥ºî #T30 0 ¤­¤ç¤¦¤µ¤¯ ¶¹ºõ #T30 1 ¤­¤ç¤¦¤µ¤¯ ¶§ºî #T35 0 ¤­¤ç¤¦¤µ¤ó ¶¨»¿ #T30 0 ¤­¤ç¤¦¤µ¤ó ¶¦»º #T35 1 ¤­¤ç¤¦¤µ¤ó¤È¤¦ ¶¦»ºÅÞ #KK 1 ¤­¤ç¤¦¤¶¤¤ ¶µºà #T35 5 ¤­¤ç¤¦¤¶¤Ä Ôó»¨ #T30 0 ¤­¤ç¤¦¤¶¤Ö¤í¤¦ ¶³»°Ïº #JNM 0 ¤­¤ç¤¦¤¶¤á ¶½¤¶¤á #KS 1 ¤­¤ç¤¦¤¶¤á ¶½¤¶¤á #T11 0 ¤­¤ç¤¦¤· ¶µ»Õ #T35 14 ¤­¤ç¤¦¤·¤­ ¶»¼° #T35 0 ¤­¤ç¤¦¤·¤Ä ¶µ¼¼ #T35 11 ¤­¤ç¤¦¤·¤ã ¶¯¼Ô #T35 0 ¤­¤ç¤¦¤·¤å¤¦ ¶¿½¥ #T35 1 ¤­¤ç¤¦¤·¤å¤¦ ¶µ½¬ #T30 0 ¤­¤ç¤¦¤·¤å¤¦¤¸¤ç ¶µ½¬½ê #T35 0 ¤­¤ç¤¦¤·¤å¤¯ ¶²½Ì #T10 25 ¤­¤ç¤¦¤·¤å¤Ä ¶¡½Ð #T30 1 ¤­¤ç¤¦¤·¤ç ¶µ½ñ #T35 0 ¤­¤ç¤¦¤·¤ç¤¦ ¶¹¾® #T05 0 ¤­¤ç¤¦¤·¤ç¤¯ ¶µ¿¦ #T35 1 ¤­¤ç¤¦¤·¤ó ¶¦¿¶ #T30 2 ¤­¤ç¤¦¤·¤ó ¶¯¿´ #T35 0 ¤­¤ç¤¦¤·¤ó ¶¯¿Ì #T35 0 ¤­¤ç¤¦¤·¤ó¤·¤ç¤¦ ¶¹¿´¾É #T35 0 ¤­¤ç¤¦¤¸ ¶µ¼¨ #T30 2 ¤­¤ç¤¦¤¸ ¶¦»þ #T35 0 ¤­¤ç¤¦¤¸ ¶§»ö #T35 0 ¤­¤ç¤¦¤¸ ââ»ý #T35 0 ¤­¤ç¤¦¤¸¤ã¤¯ ¶¯¼å #T35 0 ¤­¤ç¤¦¤¸¤å µý¼õ #T30 2 ¤­¤ç¤¦¤¸¤å ¶µ¼ø #T30 20 ¤­¤ç¤¦¤¸¤å¤Ä ¶¡½Ò #T30 0 ¤­¤ç¤¦¤¸¤å¤ó ¶³½ç #T35 0 ¤­¤ç¤¦¤¸¤ç¤¦ ¶µ¾ì #T35 0 ¤­¤ç¤¦¤¸¤ç¤¦ ¶µ¾ò #T35 0 ¤­¤ç¤¦¤¸¤ó ¶¯¿Ù #T05 1 ¤­¤ç¤¦¤¸¤ó ¶¸¿Í #T35 0 ¤­¤ç¤¦¤»¤¤ ¶¯ÀÁ #T30 0 ¤­¤ç¤¦¤»¤¤ ¶¦À³ #T30 1 ¤­¤ç¤¦¤»¤¤ ¶¦À¸ #T30 1 ¤­¤ç¤¦¤»¤¤ ¶ºÀµ #T30 1 ¤­¤ç¤¦¤»¤¤ ¶¯À© #T30 29 ¤­¤ç¤¦¤»¤¤ ¶µÀ¸ #T35 0 ¤­¤ç¤¦¤»¤¤ ¶¯Àª #T35 0 ¤­¤ç¤¦¤»¤é µþ¥»¥é #KK 1 ¤­¤ç¤¦¤½ ¶µÁÄ #T35 0 ¤­¤ç¤¦¤½¤¦ ¶¯ÁÔ #T05 0 ¤­¤ç¤¦¤½¤¦ ¶¥Áö #T30 1 ¤­¤ç¤¦¤½¤¦ ¶¸í¯ #T30 1 ¤­¤ç¤¦¤½¤¦ ¶¥Áè #T30 2 ¤­¤ç¤¦¤½¤¦¤­¤ç¤¯ ¶¨ÁÕ¶Ê #T35 1 ¤­¤ç¤¦¤½¤¯ ¶µÂ§ #T35 0 ¤­¤ç¤¦¤½¤ó ¶¦Â¸ #T30 0 ¤­¤ç¤¦¤¾¤¦ ¶»Áü #T35 0 ¤­¤ç¤¦¤¾¤¦ ¶ÀÁü #T35 0 ¤­¤ç¤¦¤¾¤á µþÀ÷ #T35 0 ¤­¤ç¤¦¤¾¤ó ¶¦Â¸ #T30 4 ¤­¤ç¤¦¤¿¤¤ ãþÂÎ #T35 0 ¤­¤ç¤¦¤¿¤¤ ¶¸ÂÖ #T35 0 ¤­¤ç¤¦¤¿¤¯ ¶¡Â÷ #T30 0 ¤­¤ç¤¦¤¿¤ó ¶Ãò #T30 1 ¤­¤ç¤¦¤À ¶±Øï #T15 0 ¤­¤ç¤¦¤À ¶¯ÂÇ #T30 0 ¤­¤ç¤¦¤À¤¤ µþÂç #KK 16 ¤­¤ç¤¦¤À¤¤ ¶¯Âç #T05 0 ¤­¤ç¤¦¤À¤¤ ¶ÀÂæ #T35 0 ¤­¤ç¤¦¤À¤¤ ·»Äï #T35 12 ¤­¤ç¤¦¤À¤¤ ¶¶Âæ #T35 3 ¤­¤ç¤¦¤À¤ó ¶§ÃÆ #T30 0 ¤­¤ç¤¦¤À¤ó ¶µÃÅ #T35 0 ¤­¤ç¤¦¤À¤ó ¶µÃÄ #T35 1 ¤­¤ç¤¦¤Á ¶­ÃÏ #T35 1 ¤­¤ç¤¦¤Á¤å¤¦ ¶»Ãæ #T35 1 ¤­¤ç¤¦¤Á¤ç ¶¦Ãø #T30 0 ¤­¤ç¤¦¤Á¤ç¤¦ ¶¨Ä´ #T30 16 ¤­¤ç¤¦¤Á¤ç¤¦ ¶¯Ä´ #T30 56 ¤­¤ç¤¦¤Á¤ç¤¦ ¶§Ãû #T35 0 ¤­¤ç¤¦¤Ä¤¦ ¶¦ÄÌ #T00 91 ¤­¤ç¤¦¤Æ¤¤ ¶¨Äê #T30 1 ¤­¤ç¤¦¤Æ¤¤ ¶µÄø #T35 0 ¤­¤ç¤¦¤Æ¤¤ ¶¥Äú #T35 1 ¤­¤ç¤¦¤Æ¤­ ¶¯Å¨ #T35 0 ¤­¤ç¤¦¤Æ¤ó ·Ðŵ #T35 0 ¤­¤ç¤¦¤È µþÅÔ #CN 0 ¤­¤ç¤¦¤È ¶µÅÌ #T35 4 ¤­¤ç¤¦¤È¤¦ µþÞ¹ #JNS 0 ¤­¤ç¤¦¤È¤¦ ¶ÃÅÝ #T30 0 ¤­¤ç¤¦¤È¤¦ ¶¦Æ® #T30 1 ¤­¤ç¤¦¤È¤¦ ¶µÆ¬ #T35 0 ¤­¤ç¤¦¤È¤¦¤Û ¶¶Æ¬ÔÈ #T35 0 ¤­¤ç¤¦¤È¤· µþÅÔ»Ô #CNS 0 ¤­¤ç¤¦¤È¤Õ µþÅÔÉÜ #CNS 0 ¤­¤ç¤¦¤É ¶¿ÅÚ #T35 0 ¤­¤ç¤¦¤É ¶¯ÅÙ #T35 4 ¤­¤ç¤¦¤É¤¦ ¶¨Æ± #T30 1 ¤­¤ç¤¦¤É¤¦ ¶¦Æ± #T30 32 ¤­¤ç¤¦¤É¤¦ ·ÐƲ #T35 0 ¤­¤ç¤¦¤É¤¦¤¿¤¤ ¶¦Æ±ÂÎ #T35 0 ¤­¤ç¤¦¤É¤¦¤Ä¤¦¤·¤ó ¶¦Æ±ÄÌ¿® #KK 1 ¤­¤ç¤¦¤Í¤ó µýǯ #T35 0 ¤­¤ç¤¦¤Ï¤¯ ¶¯Ç÷ #T30 1 ¤­¤ç¤¦¤Ï¤¯ ¶¼Ç÷ #T30 5 ¤­¤ç¤¦¤Ï¤ó ¶¦ÈÈ #T35 0 ¤­¤ç¤¦¤Ð¤¤ ¶¥Çä #T30 0 ¤­¤ç¤¦¤Ð¤Æ µþ½ª #CN 0 ¤­¤ç¤¦¤Õ ¶²ÉÝ #T30 3 ¤­¤ç¤¦¤Õ¤¦ ¶¯É÷ #T35 1 ¤­¤ç¤¦¤Ö ¶»Éô #T35 0 ¤­¤ç¤¦¤Ù¤ó ¶¯ÊÛ #T30 0 ¤­¤ç¤¦¤Ù¤ó ¶µÊÜ #T35 0 ¤­¤ç¤¦¤Û ¶¥Êâ #T30 0 ¤­¤ç¤¦¤Û¤ó ¶¸ËÛ #T30 3 ¤­¤ç¤¦¤Ü¤¦ ¶¸Ë½ #T05 0 ¤­¤ç¤¦¤Ü¤¦ ¶§Ë½ #T05 1 ¤­¤ç¤¦¤Ü¤¦ ¶¦ËÅ #T30 0 ¤­¤ç¤¦¤Ü¤¯ ¶¬ÌÚ #T35 0 ¤­¤ç¤¦¤Þ µþ´Ö #T35 0 ¤­¤ç¤¦¤Þ¤¯ è²Ëì #T35 1 ¤­¤ç¤¦¤ß ¶½Ì£ #T35 39 ¤­¤ç¤¦¤à ¶µÌ³ #T35 1 ¤­¤ç¤¦¤á¤¤ ¶¦ÌÄ #T30 1 ¤­¤ç¤¦¤á¤¤ ¶ÁÌÄ #T35 0 ¤­¤ç¤¦¤á¤ó ¶ÀÌÌ #T35 1 ¤­¤ç¤¦¤ä¤¯ ¶¦Ìò #T05 2 ¤­¤ç¤¦¤ä¤¯ ¶¡Ìò #T30 1 ¤­¤ç¤¦¤ä¤¯ ¶¨Ìó #T30 1 ¤­¤ç¤¦¤æ ¶µÍ¡ #T35 0 ¤­¤ç¤¦¤æ¤¦ µýÍ­ #T30 0 ¤­¤ç¤¦¤æ¤¦ ¶¦Í­ #T30 58 ¤­¤ç¤¦¤è ¶¡Í¿ #T30 1 ¤­¤ç¤¦¤è¤¦ ¶¯Í× #T30 2 ¤­¤ç¤¦¤è¤¦ ¶¦ÍÑ #T30 43 ¤­¤ç¤¦¤è¤¦ ¶µÍÜ #T35 6 ¤­¤ç¤¦¤é¤¯ µý³Ú #T30 0 ¤­¤ç¤¦¤é¤ó ¶¡Í÷ #T30 0 ¤­¤ç¤¦¤é¤ó ¶¸Íð #T30 0 ¤­¤ç¤¦¤é¤ó ¶¡Íñ #T30 1 ¤­¤ç¤¦¤ê ¶¿Î¤ #T35 2 ¤­¤ç¤¦¤ê¤Ä ¶¦Î© #T35 5 ¤­¤ç¤¦¤ê¤å¤¦ ¶²Îµ #T35 1 ¤­¤ç¤¦¤ê¤ç¤¦ ¶¹ÎÌ #T05 0 ¤­¤ç¤¦¤ê¤ç¤¦ ¶¶Î #T35 0 ¤­¤ç¤¦¤ê¤ç¤¯ ¶¯ÎÏ #T05 45 ¤­¤ç¤¦¤ê¤ç¤¯ ¶¨ÎÏ #T30 36 ¤­¤ç¤¦¤ì¤Ä ¶¯Îõ #T05 3 ¤­¤ç¤¦¤ì¤ó ¶µÎý #T30 0 ¤­¤ç¤¦¤ï ¶¦Ï #JCN 0 ¤­¤ç¤¦¤ï ¶¨Ï #JCN 0 ¤­¤ç¤¦¤ï ¶¨Ï #T30 2 ¤­¤ç¤¦¤ï ¶¦Ï #T35 0 ¤­¤ç¤¦¤ï¤³¤¯ ¶¦Ï¹ñ #T35 1 ¤­¤ç¤¦¤ï¤»¤¤ ¶¦ÏÂÀ© #T35 0 ¤­¤ç¤¨¤¤ µõ±É #T35 0 ¤­¤ç¤« µö²Ä #T30 34 ¤­¤ç¤¬¤¯ µð³Û #T05 1 ¤­¤ç¤­¤ç¤¸¤Ä¤¸¤Ä µõ¡¹¼Â¡¹ #T35 1 ¤­¤ç¤® µõµ¶ #T35 0 ¤­¤ç¤®¤ç¤¦ µõ¶È #T35 4 ¤­¤ç¤¯ ¶Ê #JS 21 ¤­¤ç¤¯ ¶É #SUC 0 ¤­¤ç¤¯ ¶Ê #T30 2 ¤­¤ç¤¯ ¶É #T30 3 ¤­¤ç¤¯ ¶Ë #T35 16 ¤­¤ç¤¯¤¤¤ó ¶É°÷ #T35 0 ¤­¤ç¤¯¤® ¶Êµ» #T35 0 ¤­¤ç¤¯¤²¤¤ ¶Ê·Ý #T35 0 ¤­¤ç¤¯¤²¤ó ¶É¸Â #T30 0 ¤­¤ç¤¯¤²¤ó ¶Ë¸À #T30 0 ¤­¤ç¤¯¤²¤ó ¶Ë¸Â #T35 2 ¤­¤ç¤¯¤· °°»Ö #CN 0 ¤­¤ç¤¯¤·¤ç ¶É½ê #T35 11 ¤­¤ç¤¯¤·¤ç¤¦ ¶Ë¾¯ #T05 0 ¤­¤ç¤¯¤·¤ç¤¦ ¶Ë¾® #T05 1 ¤­¤ç¤¯¤»¤¤ ¶ËÀ­ #T35 1 ¤­¤ç¤¯¤»¤Ä ¶ÊÀÞ #T30 1 ¤­¤ç¤¯¤»¤ó ¶ÊÀþ #T35 11 ¤­¤ç¤¯¤¿¤¤ ¶ËÂÎ #T35 1 ¤­¤ç¤¯¤¿¤ó ¶Ëü #T05 4 ¤­¤ç¤¯¤À¤¤ ¶ËÂç #T05 1 ¤­¤ç¤¯¤Á ¶ÉÃÏ #T35 0 ¤­¤ç¤¯¤Á ¶ËÃÏ #T35 0 ¤­¤ç¤¯¤Á ¶ËÃ× #T35 0 ¤­¤ç¤¯¤Á¤ç¤¦ ¶ÉĹ #T35 1 ¤­¤ç¤¯¤Á¤ç¤¦ ¶ÊÄ´ #T35 3 ¤­¤ç¤¯¤Æ¤ó ¶ËÅÀ #T35 0 ¤­¤ç¤¯¤É ¶ËÅÙ #T35 1 ¤­¤ç¤¯¤É¤á ¶Éα #T30 2 ¤­¤ç¤¯¤É¤á ¶Éα¤á #T30 2 ¤­¤ç¤¯¤Ê¤¤ ¶ÉÆâ #T35 1 ¤­¤ç¤¯¤Ð¤ó ¶ÉÈÖ #T35 1 ¤­¤ç¤¯¤Ö ¶ÉÉô #T35 0 ¤­¤ç¤¯¤á¤ó ¶ÊÌÌ #T35 2 ¤­¤ç¤¯¤á¤ó ¶ÉÌÌ #T35 7 ¤­¤ç¤¯¤â¤¯ ¶ÊÌÜ #T35 2 ¤­¤ç¤¯¤ê¤Ä ¶ÊΨ #T35 0 ¤­¤ç¤¯¤ê¤ç¤¯ ¶ËÎÏ #F14 5 ¤­¤ç¤¯¤í¤ó ¶ËÏÀ #T30 1 ¤­¤ç¤²¤ó µõ¸À #T30 0 ¤­¤ç¤³¤¦ µó¹Ô #T30 0 ¤­¤ç¤³¤¦ µõ¹½ #T35 0 ¤­¤ç¤³¤ó µöº§ #T35 0 ¤­¤ç¤´¤¦ ÐâÐþ #T05 0 ¤­¤ç¤· µó»ß #T30 0 ¤­¤ç¤·¤­ µó¼° #T30 1 ¤­¤ç¤·¤Ä µï¼¼ #T35 1 ¤­¤ç¤·¤Æ¤­ µð»ëŪ #T05 0 ¤­¤ç¤·¤å µó¼ê #T30 0 ¤­¤ç¤·¤å¤¦ µî½¢ #T35 1 ¤­¤ç¤·¤å¤Ä µò½Ð #T30 0 ¤­¤ç¤·¤ç µï½ê #T35 0 ¤­¤ç¤·¤ç¤¦ µð¾¢ #T35 0 ¤­¤ç¤·¤ç¤¦ ¿þ¾Ì #T35 0 ¤­¤ç¤·¤ç¤¯ µõ¾þ #T35 0 ¤­¤ç¤·¤ç¤¯¤·¤ç¤¦ µñ¿©¾É #T35 0 ¤­¤ç¤·¤ó¤¿¤ó¤«¤¤ µõ¿´Ã³²û #T15 1 ¤­¤ç¤¸¤Ä µõ¼Â #T35 0 ¤­¤ç¤¸¤ã¤¯ µõ¼å #T05 0 ¤­¤ç¤¸¤å¤¦ µï½» #T30 1 ¤­¤ç¤¸¤ó µð¿Í #T35 3 ¤­¤ç¤¹¤¦ µõ¿ô #T35 0 ¤­¤ç¤»¤¤ µîÀª #T30 0 ¤­¤ç¤»¤¤ µðÀ± #T35 0 ¤­¤ç¤»¤¤ µõÀª #T35 0 ¤­¤ç¤¼¤Ä µñÀä #T30 2 ¤­¤ç¤¾¤¦ µð¾Ý #T35 0 ¤­¤ç¤¾¤¦ µõÁü #T35 0 ¤­¤ç¤¿¤¯ µïÂð #T35 0 ¤­¤ç¤À¤¤ µðÂç #T05 12 ¤­¤ç¤À¤¯ µöÂú #T30 4 ¤­¤ç¤À¤Ä µõæ #T30 0 ¤­¤ç¤Ã¤«¤¤ ¶Ê²ò #T30 0 ¤­¤ç¤Ã¤±¤¤ ¶Ë·º #T35 0 ¤­¤ç¤Æ¤ó µòÅÀ #T35 4 ¤­¤ç¤È¤¦ µðƬ #T35 0 ¤­¤ç¤È¤¦ µóÅÞ #T35 0 ¤­¤ç¤É¤¦ µóư #T35 27 ¤­¤ç¤Ê¤ó µøÆî #JCN 0 ¤­¤ç¤Í¤ó µîǯ #T35 18 ¤­¤ç¤Ò µñÈÝ #T30 4 ¤­¤ç¤Ò µðÈñ #T35 0 ¤­¤ç¤Õ µðÉÙ #T35 0 ¤­¤ç¤Û¤¦ µðÊö #T35 0 ¤­¤ç¤Û¤¦ µõÊó #T35 0 ¤­¤ç¤à µõ̵ #T35 0 ¤­¤ç¤è¤¦ µöÍÆ #T30 3 ¤­¤ç¤é¤¤ µîÍè #T30 0 ¤­¤ç¤ê µðÍø #T35 0 ¤­¤ç¤ê µ÷Î¥ #T35 46 ¤­¤ç¤ê¤å¤¦ µïα #T30 0 ¤­¤ç¤ì¤¤ µõÎé #T35 0 ¤­¤ç¤í¤­¤ç¤í ¤­¤ç¤í¤­¤ç¤í #F04 1 ¤­¤ç¤í¤­¤ç¤í ¤­¤ç¤í¤­¤ç¤í #T36 0 ¤­¤è ¤­¤è #JNM 0 ¤­¤è ¥­¥è #JNM 0 ¤­¤è ´îÂå #JNM 0 ¤­¤è À¶ #KJ 0 ¤­¤è À¶ #KY 63 ¤­¤è ´óÍ¿ #T30 6 ¤­¤è¤¦ À¶¤¦ #KYU 2 ¤­¤è¤¦ ´ïÍÑ #T05 0 ¤­¤è¤¦ µ¯ÍÑ #T30 0 ¤­¤è¤¦ µªÍ× #T35 0 ¤­¤è¤«¤ï À¶Àî #JCN 0 ¤­¤è¤³ ´îÂå»Ò #JNM 0 ¤­¤è¤³ À¶»Ò #JNM 0 ¤­¤è¤µ¤È À¶Î¤ #JCN 0 ¤­¤è¤· ´î¹¥ #JNM 0 ¤­¤è¤· ´îÂå»Ö #JNM 0 ¤­¤è¤· ·é #JNM 0 ¤­¤è¤· À¶ #JNM 0 ¤­¤è¤· À¶»Ê #JNM 0 ¤­¤è¤· À¶»Ö #JNM 0 ¤­¤è¤· À¶ÌÐ #JNM 0 ¤­¤è¤¸ ´îÂå¼£ #JNM 0 ¤­¤è¤¹ À¶½§ #JCN 0 ¤­¤è¤» À¶À¥ #JCN 0 ¤­¤è¤¿¤« À¶Î´ #JNM 0 ¤­¤è¤¿¤± À¶Éð #JCN 0 ¤­¤è¤À À¶ÅÄ #JNS 0 ¤­¤è¤È À¶¿Í #JNM 0 ¤­¤è¤Í À¶²» #JCN 0 ¤­¤è¤Î¤Ö À¶¿® #JN 0 ¤­¤è¤Ï¤é À¶¸¶ #JNS 0 ¤­¤è¤Þ¤Ä À¶¾¾ #JNM 0 ¤­¤è¤ß À¶¸« #JCN 0 ¤­¤è¤ß À¶Èþ #JNM 0 ¤­¤è¤ß¤º À¶¿å #JCN 0 ¤­¤è¤á À¶¤á #KSr 1 ¤­¤è¤é¤« À¶¤é¤« #T05 0 ¤­¤è¤ï µ¤¼å #T05 1 ¤­¤é µÈÎÉ #JCN 0 ¤­¤é ÀÚ¤é #S5 0 ¤­¤é ·ù #W5r 3 ¤­¤é¤¤ ·ù¤¤ #T05 37 ¤­¤é¤¤ µ¢Íè #T30 1 ¤­¤é¤¤ ¤­¤é¤¤ #T35 1 ¤­¤é¤¯ µ¤³Ú #T05 3 ¤­¤é¤Ó¤ä¤« ¤­¤é¤Ó¤ä¤« #F06 0 ¤­¤é¤Ó¤ä¤« ¤­¤é¤Ó¤ä¤« #T16 0 ¤­¤é¤á ÎÕ #K5r 1 ¤­¤é¤á ßê #K5r 1 ¤­¤é¤á ¤­¤é¤á #K5r 2 ¤­¤ê ÀÚ¤ê #T35 0 ¤­¤ê Ê· #T35 4 ¤­¤ê ¶Í #T35 8 ¤­¤ê ̸ #T35 9 ¤­¤ê¤¢¤² ÀÚ¤ê¾å¤² #KSr 1 ¤­¤ê¤¢¤² Àھ夲 #T30 0 ¤­¤ê¤ª¤È ÀÚ¤êÍî¤È #S5r 0 ¤­¤ê¤«¤¨ ÀÚ¤êÂØ¤¨ #KSr 19 ¤­¤ê¤«¤¨ ÀÚÂØ¤¨ #KSr 69 ¤­¤ê¤«¤¨ ÀÚÂØ #T35 7 ¤­¤ê¤«¤Ö ÀÚ³ô #T35 1 ¤­¤ê¤«¤ï ÀÚ¤êÂØ¤ï #R5r 4 ¤­¤ê¤­¤¶ ÀÚ¤ê¹ï #M5 1 ¤­¤ê¤­¤º ÀÚ½ý #T35 0 ¤­¤ê¤®¤ê¤¹ ¥­¥ê¥®¥ê¥¹ #T35 1 ¤­¤ê¤¯¤º ÀÚ¤êÊø #S5r 0 ¤­¤ê¤¯¤Á ÀÚ¸ý #T35 1 ¤­¤ê¤³ ÀÚ¤ê¹þ #M5r 1 ¤­¤ê¤µ¤² Àڤ겼¤² #KSr 1 ¤­¤ê¤µ¤² ÀÚ²¼¤² #T30 0 ¤­¤ê¤µ¤á ̸±« #T35 0 ¤­¤ê¤·¤Þ ̸Åç #JCN 0 ¤­¤ê¤·¤Þ ¶ÍÅç #JNS 0 ¤­¤ê¤¹¤Æ ÀÚ¼Î¤Æ #T30 4 ¤­¤ê¤¹¤È ¥­¥ê¥¹¥È #JN 0 ¤­¤ê¤¿ ÀÚ¤êΩ #T5 0 ¤­¤ê¤¿¤Ë ¶Íë #JNS 0 ¤­¤ê¤¿¤ó¤Ý Àڤꤿ¤ó¤Ý #T35 0 ¤­¤ê¤À ÀÚ¤ê½Ð #S5r 9 ¤­¤ê¤Ä µ¯Î© #T30 1 ¤­¤ê¤Ä µ¬Î§ #T35 1 ¤­¤ê¤Ä¤á ÀÚ¤êµÍ¤á #KSr 1 ¤­¤ê¤È ÀÚ¤ê¼è #R5r 1 ¤­¤ê¤È¤ê ÀÚ¤ê¼è¤ê #T30 1 ¤­¤ê¤È¤ê ÀÚ¼è¤ê #T30 1 ¤­¤ê¤Ì ÀÚ¤ê¤Ì #K5r 2 ¤­¤ê¤Ì ÀÚ¤êÈ´ #K5r 2 ¤­¤ê¤Ì¤­ ÀÚÈ´¤­ #T30 1 ¤­¤ê¤Ï¤Ê ÀÚ¤êÊü #S5 1 ¤­¤ê¤Ï¤Ê ÀÚ¤êÎ¥ #S5r 13 ¤­¤ê¤Ï¤ê Àڤꎤê #T30 2 ¤­¤ê¤Ò¤é Àڤ곫 #K5r 0 ¤­¤ê¤Õ¤À ÀÚ»¥ #T35 0 ¤­¤ê¤Ö¤Á ¶ÍÞ¼ #JNS 0 ¤­¤ê¤Þ¤ï ÀÚ¤ê²ó #S5r 0 ¤­¤ê¤â¤ê ÀÚÀ¹¤ê #T30 1 ¤­¤ê¤å¤¦ ¶ÍÀ¸ #JCN 0 ¤­¤ê¤å¤¦ µ¤Î® #T35 1 ¤­¤ê¤ç¤¦ ´ïÎÌ #T35 1 ¤­¤ê¤ç¤¯ µ¤ÎÏ #T35 2 ¤­¤ê¤ï¤± ÀÚ¤êʬ¤± #KSr 0 ¤­¤ê¤ó ¥­¥ê¥ó #T35 1 ¤­¤ê¤ó óÊÎÛ #T35 2 ¤­¤ì ¥­¥ì #KSr 0 ¤­¤ì ´îÏ¢ #JNS 0 ¤­¤ì¡¼¤¿ ¥­¥ì¡¼¥¿ #T35 1 ¤­¤ì¡¼¤È ¥­¥ì¡¼¥È #T30 1 ¤­¤ì¤¤ åºÎï #T05 15 ¤­¤ì¤¤ ¤­¤ì¤¤ #T05 22 ¤­¤ì¤¤ ´ñÎï #T05 3 ¤­¤ì¤®¤ì ÀÚ¤ìÀÚ¤ì #T05 1 ¤­¤ì¤³ ÀÚ¤ì¹þ #M5r 0 ¤­¤ì¤Ã¤Ñ¤· ÀÚ¤ì¤Ãü #T35 0 ¤­¤ì¤Ä µµÎö #T35 0 ¤­¤ì¤Ï¤· ÀÚ¤ìü #T35 0 ¤­¤ì¤Þ ÀÚ¤ì´Ö #T35 0 ¤­¤ì¤á ÀÚ¤ìÌÜ #T35 5 ¤­¤ì¤ä¤¹ ¥­¥ì¤ä¤¹ #KY 0 ¤­¤í ¥­¥í #JS 15 ¤­¤í ´ôÏ© #T35 0 ¤­¤í µ¢Ï© #T35 1 ¤­¤í¤¯ µ­Ï¿ #T30 77 ¤­¤í¤á¡¼¤È¤ë ¥­¥í¥á¡¼¥È¥ë #JS 0 ¤­¤í¤á¡¼¤È¤ë ¶Î #JS 0 ¤­¤ï µªÏ #JCN 0 ¤­¤ï ºÝ #T35 5 ¤­¤ï¤À ºÝ¤À #T5r 1 ¤­¤ï¤À ºÝΩ #T5r 0 ¤­¤ï¤É ¤­¤ï¤É #KY 10 ¤­¤ï¤É¤¦ ¤­¤ï¤É¤¦ #KYU 2 ¤­¤ï¤Þ µç¤Þ #R5r 0 ¤­¤ï¤Þ ¶Ë¤Þ #R5r 0 ¤­¤ï¤ß ¶Ë¤ß #T35 0 ¤­¤ï¤á ¶Ë¤á #KS 1 ¤­¤ï¤á µæ¤á #KS 2 ¤­¤ï¤á¤Ä¤­ ¶Ë¤á¤Ä¤­ #T35 0 ¤­¤ï¤á¤Ä¤¯ µç¤á¿Ô¤¯ #S5 0 ¤­¤ï¤á¤Æ ¶Ë¤á¤Æ #F14 10 ¤­¤ï¤á¤Æ ¶Ë¤á¤Æ #T36 0 ¤­¤ï¤á¤Æ ¤­¤ï¤á¤Æ #F14 2 ¤­¤ï¤á¤Æ ¤­¤ï¤á¤Æ #T36 0 ¤­¤ó ¶âÉð #JCN 0 ¤­¤ó ¶Ô #JS 0 ¤­¤ó ¶Ï #KJ 0 ¤­¤ó ¶Ò #KJ 0 ¤­¤ó ¶Ó #KJ 0 ¤­¤ó ¶Ô #KJ 0 ¤­¤ó ¶Õ #KJ 0 ¤­¤ó ¶× #KJ 0 ¤­¤ó ¶Ù #KJ 0 ¤­¤ó ¶Ü #KJ 0 ¤­¤ó ¶Þ #KJ 0 ¤­¤ó ¶ß #KJ 0 ¤­¤ó ¶à #KJ 0 ¤­¤ó ¶â #KJ 0 ¤­¤ó ¶Ð #KJ 1 ¤­¤ó ¶Ñ #KJ 1 ¤­¤ó ¶á #KJ 13 ¤­¤ó º£ #KJ 2 ¤­¤ó ¶Ú #KJ 3 ¤­¤ó ¶Û #KJ 3 ¤­¤ó ¶Ö #KJ 6 ¤­¤ó ¶â #SUC 0 ¤­¤ó ¶Ý #T35 1 ¤­¤ó ¶â #T35 196 ¤­¤ó ¶Ø #T35 2 ¤­¤ó ¶Ø #ZX 2 ¤­¤ó¤¤¤Á ¶â°ì #JNM 0 ¤­¤ó¤¤¤Ä ¶Ñ°ì #T05 1 ¤­¤ó¤¤¤í ¶â¿§ #T35 0 ¤­¤ó¤¤¤ó ¶á°ø #T35 0 ¤­¤ó¤¨¤¤ ¶á±Æ #T35 0 ¤­¤ó¤¨¤­ ¶Ý±Õ #T35 1 ¤­¤ó¤¨¤ó ¶Ø±ì #T30 3 ¤­¤ó¤¨¤ó ¶á±ï #T35 1 ¤­¤ó¤« ¶á²Ð #T35 0 ¤­¤ó¤« ¶â²ß #T35 0 ¤­¤ó¤«¤¤ ¶×³¤ #CN 0 ¤­¤ó¤«¤¤ ¶á³¤ #T35 0 ¤­¤ó¤«¤¤ ¶â²ô #T35 0 ¤­¤ó¤«¤ó ¶á´© #T35 0 ¤­¤ó¤«¤ó ¶â´§ #T35 0 ¤­¤ó¤¬ ¶à²ì #T35 3 ¤­¤ó¤¬¤¯ ¶â³Û #T35 24 ¤­¤ó¤¬¤ó ¶á´ã #T35 1 ¤­¤ó¤­ ¶áµ¦ #CN 0 ¤­¤ó¤­ ¶Õ´î #T30 0 ¤­¤ó¤­¤å¤¦ ¶ÛµÞ #T05 8 ¤­¤ó¤­¤ç¤¦ ¶á¶· #T35 4 ¤­¤ó¤­¤ç¤ê ¶áµ÷Î¥ #T35 0 ¤­¤ó¤­¤ó ¶á¡¹ #F14 0 ¤­¤ó¤­¤ó ¶á¡¹ #T16 0 ¤­¤ó¤®¤ç ¶âµû #T35 0 ¤­¤ó¤®¤ó ¶â¶ä #T35 0 ¤­¤ó¤¯ ¶Ø¶ç #T35 1 ¤­¤ó¤° ¥­¥ó¥° #T35 6 ¤­¤ó¤±¤¤ ¶à·¼ #T35 0 ¤­¤ó¤±¤¤ ¶á·Ê #T35 0 ¤­¤ó¤±¤ó ¶á¸© #T35 0 ¤­¤ó¤±¤ó ¶â·ô #T35 1 ¤­¤ó¤±¤ó ¶â¸¢ #T35 1 ¤­¤ó¤²¤ó ¶à¸· #T05 0 ¤­¤ó¤³ ¶Ø¸Ç #T30 0 ¤­¤ó¤³ ¶â¸Ë #T35 1 ¤­¤ó¤³¤¦ ¶Ñ¹Õ #T30 1 ¤­¤ó¤³¤¦ ¶â¹© #T35 0 ¤­¤ó¤³¤¦ ¶â¹Û #T35 0 ¤­¤ó¤³¤¦ ¶á¹Ù #T35 1 ¤­¤ó¤³¤¦¤±¤¤ ¶á¸ò·Ï #T35 1 ¤­¤ó¤³¤Ä ¶Ú¹ü #T35 0 ¤­¤ó¤³¤ó¤·¤­ ¶âº§¼° #T35 0 ¤­¤ó¤´ ¶â¸ã #JNM 0 ¤­¤ó¤µ ¶Ïº¹ #T35 0 ¤­¤ó¤µ¤¯ ¶âºî #JNM 0 ¤­¤ó¤µ¤¯ ¶âºö #T30 0 ¤­¤ó¤µ¤¯ ¶áºî #T35 1 ¤­¤ó¤¶¤¤ ¶áºß #T35 0 ¤­¤ó¤· ¶Ø»ß #T30 27 ¤­¤ó¤· ¶Ý»å #T35 1 ¤­¤ó¤· ¶á»ë #T35 1 ¤­¤ó¤·¤Ä ¶Ñ¼Á #T05 1 ¤­¤ó¤·¤å ¶Ø¼ò #T30 1 ¤­¤ó¤·¤å¤¯ ¶Û½Ì #T30 1 ¤­¤ó¤·¤ç¤¦ ¶Ï¾¯ #T05 0 ¤­¤ó¤·¤ç¤¦ ¶â¾Þ #T35 0 ¤­¤ó¤·¤ó ¶à¿µ #T30 1 ¤­¤ó¤·¤ó ¶á¿Æ #T35 0 ¤­¤ó¤¸ ¶â¼¡ #JNM 0 ¤­¤ó¤¸ ¶â¼£ #JNM 0 ¤­¤ó¤¸ ¶Ø¤¸ #KS 33 ¤­¤ó¤¸ ¶á»÷ #T30 19 ¤­¤ó¤¸¤Á ¶á»÷ÃÍ #T35 0 ¤­¤ó¤¸¤Ä ¶áÆü #T35 7 ¤­¤ó¤¸¤È¤¦ ¶â»úÅã #T35 1 ¤­¤ó¤¸¤ç ¶á½ê #T35 8 ¤­¤ó¤¸¤í¤¦ ¶â¼¡Ïº #JNM 0 ¤­¤ó¤»¤¤ ¶âÀ± #CNS 1 ¤­¤ó¤»¤¤ ¶ØÀ© #T30 0 ¤­¤ó¤»¤¤ ¶àÀ½ #T30 1 ¤­¤ó¤»¤¤ ¶ÑÀ° #T35 0 ¤­¤ó¤»¤¤ ¶áÀ¤ #T35 0 ¤­¤ó¤»¤Ä ¶áÀÜ #T30 1 ¤­¤ó¤»¤ó ¶âÁ¬ #T35 1 ¤­¤ó¤¼¤ó ¶ÕÁ³ #F02 0 ¤­¤ó¤½¤¯ ¶ØÂ­ #T30 0 ¤­¤ó¤½¤¯ ¶ØÂ§ #T35 5 ¤­¤ó¤½¤¯¤ì¤¤ ¶ØÂ­Îá #T35 0 ¤­¤ó¤¾¤¦ ¶â¢ #JNM 0 ¤­¤ó¤¾¤¦ ¶â¤ #JNM 0 ¤­¤ó¤¾¤¯ ¶Ð³ #T30 0 ¤­¤ó¤¾¤¯ ¶â° #T35 2 ¤­¤ó¤¿¤¤ ¶ÐÂÕ #T30 0 ¤­¤ó¤¿¤í¤¦ ¶âÂÀϺ #JNM 0 ¤­¤ó¤À¤¤ ¶áÂå #T35 2 ¤­¤ó¤À¤¤¤Á ¶âÅİì #JNS 0 ¤­¤ó¤À¤ó ¶ØÃÇ #T30 1 ¤­¤ó¤Á¤ã¤¯ ¶áÃå #T35 0 ¤­¤ó¤Á¤ç ¶áÃø #T35 1 ¤­¤ó¤Á¤ç¤¦ ¶âÂÇ #T30 0 ¤­¤ó¤Á¤ç¤¦ ¶ÛÄ¥ #T30 6 ¤­¤ó¤Æ¤¤ ¶ÖÄê #T30 0 ¤­¤ó¤Æ¤¤ ¶àÄè #T30 0 ¤­¤ó¤Æ¤Ä ¶áÅ´ #KK 8 ¤­¤ó¤È¤¦ ¶ÑÅù #T05 2 ¤­¤ó¤È¤ó ¤­¤ó¤È¤ó #T35 0 ¤­¤ó¤Ë¤¯ ¶ÚÆù #T35 2 ¤­¤ó¤Ë¤¯¤Ä¤¦ ¶ÚÆùÄË #T35 0 ¤­¤ó¤Í¤ó ¶áǯ #T35 6 ¤­¤ó¤Î¤¹¤± ¶âÇ·½õ #JNM 0 ¤­¤ó¤Ñ¤¯ ¶ÛÇ÷ #T30 0 ¤­¤ó¤Ñ¤¯ ¶âÇó #T35 0 ¤­¤ó¤Ñ¤Ä ¶âȱ #T35 0 ¤­¤ó¤Ô¤ó ¶âÉÊ #T35 0 ¤­¤ó¤Ö¤ó ¶Ñʬ #T30 0 ¤­¤ó¤Ù¤ó ¶ÐÊÙ #T05 1 ¤­¤ó¤Ú¤ó ¶áÊÕ #T35 6 ¤­¤ó¤Ü¤¦ ¶á˵ #T35 2 ¤­¤ó¤Ü¤· ¶âÀ± #T35 0 ¤­¤ó¤Ý¤¦ ¶âÊö #JCN 0 ¤­¤ó¤Þ¤¯ ¶ÚËì #T35 0 ¤­¤ó¤ß¤Ä ¶ÛÌ© #T05 1 ¤­¤ó¤ß¤ã¤¯ ¶âÌ® #T35 0 ¤­¤ó¤à ¶Ð̳ #T30 12 ¤­¤ó¤à¤µ¤­ ¶Ð̳Àè #T35 2 ¤­¤ó¤â¤Ä ¶ØÊª #T35 0 ¤­¤ó¤ä ¶ÖÌé #JNM 0 ¤­¤ó¤ä ¶âÌï #JNM 0 ¤­¤ó¤æ ¶ØÍ¢ #T30 0 ¤­¤ó¤æ¤¦ ¶âÍ» #T35 9 ¤­¤ó¤æ¤¦¤®¤ç¤¦ ¶âÍ»¶È #T35 0 ¤­¤ó¤æ¤¦¤Á¤ç¤¦ ¶âͻģ #KK 0 ¤­¤ó¤è¤¦ ¶âÍË #T35 7 ¤­¤ó¤è¤¦¤Ó ¶âÍËÆü #T35 60 ¤­¤ó¤è¤¯ ¶ØÍß #T30 0 ¤­¤ó¤è¤¯ ¶âÍß #T35 0 ¤­¤ó¤é¤¤ ¶áÍè #T35 0 ¤­¤ó¤ê ¶âÍø #T35 1 ¤­¤ó¤ê¤ç¤¦ ¶Øµù #T35 0 ¤­¤ó¤ê¤ç¤¦ ¶ØÎÄ #T35 0 ¤­¤ó¤ê¤ç¤¯ ¶ÚÎÏ #T35 0 ¤­¤ó¤ê¤ç¤¯ ¶âÎÏ #T35 0 ¤­¤ó¤ê¤ó ¶áÎÙ #T35 1 ¤­¤ó¤í¤¦ ¶ÐÏ« #T30 2 ¤® ´ì #KJ 0 ¤® µ¹ #KJ 0 ¤® µ¼ #KJ 0 ¤® µ½ #KJ 0 ¤® µ¾ #KJ 0 ¤® µ¿ #KJ 0 ¤® µÀ #KJ 0 ¤® µÃ #KJ 0 ¤® ·· #KJ 0 ¤® µ¸ #KJ 1 ¤® µº #KJ 1 ¤® µ» #KJ 102 ¤® µÂ #KJ 2 ¤® µ¶ #KJ 4 ¤® ÀÚ #R5r 4 ¤® µÄ #S5 4 ¤® Ãå #SUC 1 ¤® µ¼ #SX 0 ¤® µ¶ #T05 2 ¤® µÄ #T30 4 ¤® µÁ #T35 54 ¤® µ· #T35 8 ¤®¤¢ ¥®¥¢ #T35 4 ¤®¤¢¤¯ µ¶°­ #T35 1 ¤®¤¢¤ó µÄ°Æ #T35 0 ¤®¤¤¤Á µÁ°ì #JNM 0 ¤®¤¤¤ó µÄ±¡ #T35 0 ¤®¤¤¤ó µÄ°÷ #T35 1 ¤®¤¨¤ó¤­¤ó µÁ±ç¶â #T35 0 ¤®¤ª¤ó µÀ±à #CN 0 ¤®¤ª¤ó µ¼²» #T35 0 ¤®¤«¤¤ µÄ²ñ #T35 2 ¤®¤«¤ó µ»´± #T35 1 ¤®¤­¤ç¤¦¤·¤ó µÁ¶¢¿´ #T35 0 ¤®¤­¤ç¤¯ µº¶Ê #T35 1 ¤®¤® µ¿µÁ #T35 0 ¤®¤±¤Ä µÄ·è #T30 0 ¤®¤±¤ó µ»¸¦ #KK 4 ¤®¤³¤¦ µ»¹ª #T35 0 ¤®¤´¤¯ µ¿¹ö #T35 0 ¤®¤´¤Á¤Ê ¤®¤´¤Á¤Ê #KY 1 ¤®¤´¤Á¤Î¤¦ ¤®¤´¤Á¤Î¤¦ #KYU 1 ¤®¤µ¤¯ µ¶ºî #T30 0 ¤®¤¶ ¥®¥¶ #T35 3 ¤®¤¶¤®¤¶ ¥®¥¶¥®¥¶ #T00 1 ¤®¤· µÁ»è #T35 0 ¤®¤· µ»»Î #T35 3 ¤®¤· µ»»Õ #T35 3 ¤®¤·¤­ µ·¼° #T35 1 ¤®¤·¤å µÁ¼ê #T35 0 ¤®¤·¤ç µ¶½ñ #T35 0 ¤®¤·¤ç¤¦ µ¶¾Î #T30 0 ¤®¤·¤ç¤¦ µ¶¾Ú #T30 0 ¤®¤·¤ó µ¿¿´ #T35 0 ¤®¤·¤ó¤¢¤ó¤­ µ¿¿´°Åµ´ #T35 1 ¤®¤¸ µ¿»÷ #T35 25 ¤®¤¸ µÄ»ö #T35 4 ¤®¤¸¤É¤¦ µÄ»öƲ #T35 2 ¤®¤¸¤å¤¯ µÁ½Î #KK 19 ¤®¤¸¤å¤Ä µ»½Ñ #T35 217 ¤®¤¸¤ç¤¦ µÄ¾ì #T35 0 ¤®¤¸¤í¤¯ µÄ»öÏ¿ #T35 21 ¤®¤¸¤ó µ¼¿Í #T35 0 ¤®¤¹¤®¤¹ ¤®¤¹¤®¤¹ #SX 0 ¤®¤»¤¤ µ¾À· #T35 4 ¤®¤»¤­ µÄÀÊ #T35 0 ¤®¤¼¤ó µ¶Á± #T35 0 ¤®¤½¤¦ µ¶Áõ #T30 0 ¤®¤½¤¦ çßÁõ #T30 0 ¤®¤½¤¯ µÁ­ #T35 0 ¤®¤¾¤¦ µ¶Â¤ #T30 3 ¤®¤¿¡¼ ¥®¥¿¡¼ #T35 1 ¤®¤À¤¤ µÄÂê #T35 3 ¤®¤Á¤ç¤¦ µÄĹ #T35 2 ¤®¤Ã¤·¤ê ¤®¤Ã¤·¤ê #F04 0 ¤®¤Ã¤·¤ê ¤®¤Ã¤·¤ê #T16 0 ¤®¤Æ¤¤ µÄÄê #T30 0 ¤®¤Ê¤ó ´ôÆî #CN 0 ¤®¤Ë¤ó¤·¤ó µ¼Ç¥¿± #T30 1 ¤®¤Í¤ó µ¿Ç° #T35 0 ¤®¤Î¤¦ µ»Ç½ #T35 1 ¤®¤Î¤¶ µ¹ÌîºÂ #CN 0 ¤®¤Î¤ï¤ó µ¹ÌîÏÑ #CN 0 ¤®¤Õ ´ôÉì #CN 0 ¤®¤Õ µÁÉã #T35 0 ¤®¤Õ¤±¤ó ´ôÉ츩 #CNS 0 ¤®¤Õ¤· ´ôÉì»Ô #CNS 0 ¤®¤Õ¤È ¥®¥Õ¥È #T30 0 ¤®¤Õ¤ó µÁʰ #T35 0 ¤®¤Û¤¦ µ»Êó #T35 2 ¤®¤Û¤¦ µ»Ë¡ #T35 4 ¤®¤Ü µÁÊì #T35 0 ¤®¤Þ¤ó µ½âÖ #T35 3 ¤®¤ß µ¤Ì£ #T35 9 ¤®¤à µÁ̳ #T35 4 ¤®¤à¤Å¤± µÁ̳¤Å¤± #KSr 1 ¤®¤á¤¤ µ¶Ì¾ #T35 6 ¤®¤â¤ó µ¿Ìä #T15 34 ¤®¤â¤ó¤· µ¿Ìä»ë #T30 0 ¤®¤ã¤¯ µÔ #KJ 0 ¤®¤ã¤¯ µÕ #T35 80 ¤®¤ã¤¯¤µ¤Ä µÔ»¦ #T30 1 ¤®¤ã¤¯¤µ¤ó µÕ»» #T30 1 ¤®¤ã¤¯¤µ¤ó¤«¤¯ ¢¦ #T35 1 ¤®¤ã¤¯¤µ¤ó¤«¤¯ ¢§ #T35 1 ¤®¤ã¤¯¤·¤å¤¦ µÕ½± #T30 2 ¤®¤ã¤¯¤¸¤å¤ó µÕ½ç #T35 3 ¤®¤ã¤¯¤¸¤ç¤¦ µÕ¾å #T30 0 ¤®¤ã¤¯¤¹¤¦ µÕ¿ô #T35 2 ¤®¤ã¤¯¤»¤Ä µÕÀÜ #T30 0 ¤®¤ã¤¯¤»¤Ä µÕÀâ #T35 0 ¤®¤ã¤¯¤¿¤¤ µÔÂÔ #T30 1 ¤®¤ã¤¯¤Æ¤ó µÕž #T30 5 ¤®¤ã¤¯¤Õ¤¦ µÕÉ÷ #T35 0 ¤®¤ã¤¯¤â¤É¤ê µÕÌá¤ê #T30 0 ¤®¤ã¤¯¤è¤¦ µÕÍÑ #T30 0 ¤®¤ã¤¯¤ê µÕÍý #T35 0 ¤®¤ã¤¯¤ê¤å¤¦ µÕή #T30 0 ¤®¤ã¤° ¥®¥ã¥° #T35 3 ¤®¤ã¤Ã¤­¤ç¤¦ µÕ¶­ #T35 0 ¤®¤ã¤Ã¤³¤¦ µÕ¹Ô #T30 1 ¤®¤ã¤Ã¤× ¥®¥ã¥Ã¥× #T35 3 ¤®¤ã¤ó¤Ö¤ë ¥®¥ã¥ó¥Ö¥ë #T35 1 ¤®¤å¤¦ µí #T35 1 ¤®¤å¤¦¤´ µí¸å #T35 0 ¤®¤å¤¦¤É¤ó µíЧ #T35 0 ¤®¤å¤¦¤É¤ó¤ä µíЧ²° #T35 0 ¤®¤å¤¦¤Ë¤¯ µíÆù #T35 1 ¤®¤å¤¦¤Ë¤å¤¦ µíÆý #T35 4 ¤®¤å¤¦¤Ð µíÇÏ #T35 0 ¤®¤å¤¦¤Û µíÊâ #T30 0 ¤®¤ç µú #KJ 0 ¤®¤ç µû #KJ 1 ¤®¤ç µù #KJ 14 ¤®¤ç ¸æ #KJ 8 ¤®¤ç¤¤ ¸æ°Õ #CJ 3 ¤®¤ç¤¦ ¶Ç #JN 0 ¤®¤ç¤¦ ¹Ô #JS 13 ¤®¤ç¤¦ ¶Å #KJ 0 ¤®¤ç¤¦ ¶Æ #KJ 0 ¤®¤ç¤¦ ·Á #KJ 0 ¤®¤ç¤¦ ¶Ä #KJ 1 ¤®¤ç¤¦ ¶È #KJ 1 ¤®¤ç¤¦ ¶Ç #KJ 4 ¤®¤ç¤¦ ¶È #SUC 0 ¤®¤ç¤¦ ¹Ô #SUC 0 ¤®¤ç¤¦ ¹Ô #T35 255 ¤®¤ç¤¦¤«¤¤ ¶È³¦ #T35 11 ¤®¤ç¤¦¤«¤¯ ¹Ô³× #T35 1 ¤®¤ç¤¦¤«¤ó ¹Ô´Ö #T35 2 ¤®¤ç¤¦¤® ¹Ôµ· #T35 2 ¤®¤ç¤¦¤®¤ç¤¦¤· ¶Ä¡¹¤· #KY 0 ¤®¤ç¤¦¤®¤ç¤¦¤·¤å¤¦ ¶Ä¡¹¤·¤å¤¦ #KYU 0 ¤®¤ç¤¦¤±¤Ä ¶Å·ë #T30 0 ¤®¤ç¤¦¤±¤Ä ¶Å·ì #T30 0 ¤®¤ç¤¦¤³ ¶Å¸Ç #T30 0 ¤®¤ç¤¦¤¶ ñ­»Ò #T35 1 ¤®¤ç¤¦¤· ¶Å»ë #T30 0 ¤®¤ç¤¦¤·¤ã ¶È¼Ô #T35 11 ¤®¤ç¤¦¤·¤å ¶È¼ï #T35 1 ¤®¤ç¤¦¤·¤å¤¦ ¶Å½¸ #T30 1 ¤®¤ç¤¦¤·¤å¤¯ ¶Å½Ì #T30 1 ¤®¤ç¤¦¤·¤ç ¹Ô½ñ #T35 0 ¤®¤ç¤¦¤·¤ç¤¦ ¹Ô¾¦ #T30 0 ¤®¤ç¤¦¤¸ ¹Ô»Ê #T35 0 ¤®¤ç¤¦¤¸ ¹Ô»ö #T35 4 ¤®¤ç¤¦¤º¤¤ ¹Ô¿å #T30 0 ¤®¤ç¤¦¤»¤¤ ¹ÔÀ¯ #T35 4 ¤®¤ç¤¦¤»¤­ ¶ÈÀÓ #T35 2 ¤®¤ç¤¦¤½¤¦ ·ÁÁê #T35 0 ¤®¤ç¤¦¤À ¹ÔÅÄ #JCN 0 ¤®¤ç¤¦¤Æ¤ó ¶ÄÅ· #T30 0 ¤®¤ç¤¦¤È¤¦ ¹ÔƬ #T35 4 ¤®¤ç¤¦¤Þ¤Ä ¹ÔËö #T35 18 ¤®¤ç¤¦¤à ¶È̳ #T35 54 ¤®¤ç¤¦¤ì¤Ä ¹ÔÎó #T30 10 ¤®¤ç¤«¤¤ µû²ð #T35 0 ¤®¤ç¤¬¤ó µû´ã #T35 0 ¤®¤ç¤­¤ç¤¦ µù¶¨ #T35 0 ¤®¤ç¤®¤ç¤¦ µù¶È #T35 1 ¤®¤ç¤¯ ¶Ì #T35 2 ¤®¤ç¤¯¤µ¤¤ ¶ÌºÕ #T30 0 ¤®¤ç¤¯¤¶ ¶ÌºÂ #T35 0 ¤®¤ç¤¯¤»¤­¤³¤ó¤³¤¦ ¶ÌÀк®Þ #T35 1 ¤®¤ç¤¯¤È¤¦ ¶ÌÅì #JCN 0 ¤®¤ç¤° µù¶ñ #T35 0 ¤®¤ç¤°¤ó µû·² #T35 0 ¤®¤ç¤³¤¦ µù¹Á #T35 0 ¤®¤ç¤·¤ç¤¦ µù¾Ì #T35 0 ¤®¤ç¤¸ ¸æ¼¥ #T35 0 ¤®¤ç¤¸¤ç¤¦ µù¾ì #T35 0 ¤®¤ç¤»¤ó µùÁ¥ #T35 0 ¤®¤ç¤½¤ó µù¼ #T35 0 ¤®¤ç¤Ë¤¯ µûÆù #T35 0 ¤®¤ç¤Õ µùÉ× #T35 0 ¤®¤ç¤Ö¤Ä ¸æÊª #T35 0 ¤®¤ç¤ß¤ó µù̱ #T35 0 ¤®¤ç¤á¤¤ ¸æÌ¾ #T35 0 ¤®¤ç¤é¤¤ µûÍë #T35 1 ¤®¤ç¤ë¤¤ µûÎà #T35 0 ¤®¤ç¤í¤®¤ç¤í ¤®¤ç¤í¤®¤ç¤í #F12 1 ¤®¤ç¤í¤®¤ç¤í ¤®¤ç¤í¤®¤ç¤í #T36 0 ¤®¤é¤®¤é ¥®¥é¥®¥é #T10 0 ¤®¤ê ÀÚ¤ê #T30 0 ¤®¤ê µÁÍý #T35 1 ¤®¤ê¤®¤ê ¥®¥ê¥®¥ê #T00 0 ¤®¤ê¤®¤ê ¤®¤ê¤®¤ê #T05 2 ¤®¤ê¤·¤¢ ¥®¥ê¥·¥¢ #CN 0 ¤®¤ê¤·¤ã ¥®¥ê¥·¥ã #CN 0 ¤®¤ê¤ç¤¦ µÄλ #T30 0 ¤®¤ê¤ç¤¦ µ»Ðï #T35 0 ¤®¤ê¤ç¤¦ µ»ÎÌ #T35 3 ¤®¤ì¤¤ µ·Îé #T35 0 ¤®¤í¤ó µÄÏÀ #T30 80 ¤®¤ï ºÝ #D2T35 1 ¤®¤ï¤¯ µ¿ÏÇ #T35 2 ¤®¤ó ¶ã #KJ 2 ¤®¤ó ¶ä #T35 52 ¤®¤ó ¶ã #ZX 0 ¤®¤ó¤¤¤í ¶ä¿§ #T35 1 ¤®¤ó¤¨¤¤ ¶ã±Ó #T30 0 ¤®¤ó¤« ¶ä²ß #T35 0 ¤®¤ó¤¬ ¶ä²Ï #T35 2 ¤®¤ó¤®¤ó ¥®¥ó¥®¥ó #T00 1 ¤®¤ó¤³¤¦ ¶ä¹Ô #T35 35 ¤®¤ó¤³¤ó¤·¤­ ¶äº§¼° #T35 0 ¤®¤ó¤¶ ¶äºÂ #CN 0 ¤®¤ó¤¶¤ó ¶ä»³ #T35 2 ¤®¤ó¤·¤ç¤¦ ¶ã¾§ #T30 0 ¤®¤ó¤·¤ç¤¦ ¶ä¾Þ #T35 0 ¤®¤ó¤»¤¤ ¶äÀ½ #T35 0 ¤®¤ó¤¾¤¦ ¶ä¢ #JNM 0 ¤®¤ó¤Ð¤ó ¶äÈ× #T35 0 ¤®¤ó¤Ñ¤¯ ¶äÇó #T35 0 ¤®¤ó¤Ñ¤Ä ¶äȱ #T35 0 ¤®¤ó¤Þ¤¯ ¶äËë #T35 0 ¤®¤ó¤ß ¶ãÌ£ #T30 1 ¤¯ ¶è #CNSUC1 0 ¤¯ ¶ç #JS 0 ¤¯ ¶è #JS 0 ¤¯ ¶¡ #KJ 0 ¤¯ ¶æ #KJ 0 ¤¯ ¶é #KJ 0 ¤¯ ¶ê #KJ 0 ¤¯ ¶ë #KJ 0 ¤¯ ¶í #KJ 0 ¤¯ ¶ï #KJ 0 ¤¯ ¶ð #KJ 0 ¤¯ ¸ý #KJ 0 ¤¯ ¹¦ #KJ 0 ¤¯ ¹© #KJ 0 ¤¯ ¹× #KJ 0 ¤¯ ¶î #KJ 1 ¤¯ µ× #KJ 22 ¤¯ ¼à #M5 0 ¤¯ µâ #M5 5 ¤¯ ÁÈ #M5r 7 ¤¯ ¶å #NN 6 ¤¯ ·« #R5 4 ¤¯ ¶ì #T35 3 ¤¯ ¶ç #T35 4 ¤¯ ¶è #T35 42 ¤¯ ¶ô #W5 1 ¤¯ ¿© #W5r 94 ¤¯¡¼¤Ç¤¿ ¥¯¡¼¥Ç¥¿ #T35 0 ¤¯¡¼¤Ç¤¿¡¼ ¥¯¡¼¥Ç¥¿¡¼ #T35 0 ¤¯¡¼¤Ý¤ó ¥¯¡¼¥Ý¥ó #T35 1 ¤¯¡¼¤é ¥¯¡¼¥é #T35 1 ¤¯¡¼¤é¡¼ ¥¯¡¼¥é¡¼ #T35 1 ¤¯¡¼¤ë ¥¯¡¼¥ë #T05 1 ¤¯¤¤ µ×°æ #JCN 0 ¤¯¤¤ ²ù¤¤ #KSr 0 ¤¯¤¤ ¹º #T35 0 ¤¯¤¤¡¼¤ó ¥¯¥¤¡¼¥ó #T35 1 ¤¯¤¤¤¢ ¿©¤¤¹ç #W5r 0 ¤¯¤¤¤¤ ¿©¤¤Æþ #R5 0 ¤¯¤¤¤­ ¶è°è #T35 2 ¤¯¤¤¤³ ¿©¤¤¹þ #M5r 1 ¤¯¤¤¤µ¤¬ ¿©¤¤²¼¤¬ #R5r 0 ¤¯¤¤¤º ¥¯¥¤¥º #T35 1 ¤¯¤¤¤Á¤¬ ¿©¤¤°ã #W5r 2 ¤¯¤¤¤Ä ¿©¤¤¤Ä #K5r 1 ¤¯¤¤¤È¤á ¿©¤¤»ß¤á #KSr 1 ¤¯¤¤¤â¤Î ¿©¤¤Êª #T35 0 ¤¯¤¤¤ó¤È ¤¯¤¤¤ó¤È #KK 2 ¤¯¤¦ ¹Ð #KJ 1 ¤¯¤¦ ¶õ #T35 18 ¤¯¤¦¤¤ ¶õ°Ì #T35 0 ¤¯¤¦¤¤¤­ ¶õ°è #T35 0 ¤¯¤¦¤«¤ó ¶õ´Ö #T35 64 ¤¯¤¦¤­ ¶õµ¤ #T35 18 ¤¯¤¦¤­¤ç ¶õµõ #T05 0 ¤¯¤¦¤®¤ç¤¦ ¶õ¹Ô #T35 5 ¤¯¤¦¤°¤ó ¶õ·³ #T35 1 ¤¯¤¦¤³¤¦ ¶õ¹Á #T35 6 ¤¯¤¦¤·¤ã ¶õ¼Ö #T35 0 ¤¯¤¦¤·¤å¤¦ ¶õ½± #T30 0 ¤¯¤¦¤»¤­ ¶õÀÊ #T35 1 ¤¯¤¦¤¼¤ó ¶õÁ° #T35 0 ¤¯¤¦¤½ ¶õÁ #T05 0 ¤¯¤¦¤½¤¦ ¶õÁÛ #T30 2 ¤¯¤¦¤Á¤å¤¦ ¶õÃæ #T35 1 ¤¯¤¦¤Á¤ç¤¦ ¶õÄ´ #T35 2 ¤¯¤¦¤Æ¤ó ¶õž #T30 1 ¤¯¤¦¤É¤¦ ¶õƶ #T35 0 ¤¯¤¦¤Ï¤¯ ¶õÇò #T05 34 ¤¯¤¦¤Õ¤¯ ¶õÊ¢ #T35 1 ¤¯¤¦¤Û¤¦ ¶õˤ #T35 0 ¤¯¤¦¤Ü ¶õÊì #T35 0 ¤¯¤¦¤æ ¶õÍ¢ #T30 0 ¤¯¤¦¤é¤ó ¶õÍó #T35 0 ¤¯¤¦¤ì¤¤ ¶õÎä #T30 1 ¤¯¤¦¤í ¶õÏ© #T35 0 ¤¯¤¦¤í¤ó ¶õÏÀ #T35 1 ¤¯¤§¤¹¤Á¤ç¤ó ¥¯¥§¥¹¥Á¥ç¥ó #T35 1 ¤¯¤§¤Ã¤·¤ç¤ó ¥¯¥§¥Ã¥·¥ç¥ó #T35 1 ¤¯¤¨¤¤ ¶è±Ä #T35 0 ¤¯¤¨¤¹¤È ¥¯¥¨¥¹¥È #T35 2 ¤¯¤©¡¼¤È ¥¯¥©¡¼¥È #T35 3 ¤¯¤ª¡¼¤È ¥¯¥ª¡¼¥È #T30 1 ¤¯¤ª¡¼¤È ¡Æ #T35 1 ¤¯¤ª¡¼¤È ¡Ç #T35 1 ¤¯¤ª¡¼¤È ¡É #T35 1 ¤¯¤ª¡¼¤È ¡È #T35 2 ¤¯¤ª¤ó µ×±ó #T15 0 ¤¯¤« µ×²ì #JCN 0 ¤¯¤«¤¯ ¶è²è #T30 3 ¤¯¤«¤ó ¶è´Ö #T35 8 ¤¯¤¬ ¶ê²Ñ #JCN 0 ¤¯¤¬ ¶ê²ì #JNS 0 ¤¯¤¬¤¯ ¶ì³Ø #T30 1 ¤¯¤­ µ×´î #JCN 0 ¤¯¤­ ·Ô #T35 5 ¤¯¤­¤¶¤­ ·Ôºê #JCN 0 ¤¯¤­¤ç¤¦ ¶ì¶­ #T35 1 ¤¯¤® ¶èÀÚ #R5r 34 ¤¯¤® Å£ #T35 1 ¤¯¤®¤Å¤± Å£ÉÕ¤± #T30 0 ¤¯¤®¤Î µ×ÌÚÌî #JCN 0 ¤¯¤®¤ê ¶çÀÚ¤ê #T35 0 ¤¯¤®¤ê ¶èÀÚ¤ê #T35 8 ¤¯¤¯ ³ç #R5 10 ¤¯¤° Àø #R5 3 ¤¯¤°¤¤ ¹ô #T35 1 ¤¯¤°¤Î µ×¡¹Ìî #JCN 0 ¤¯¤±¤¤ ¶ë·Á #T35 5 ¤¯¤²¤ó ¶ì¸À #T35 0 ¤¯¤µ ½­ #KYmi 20 ¤¯¤µ Éå #R5 13 ¤¯¤µ Áð #T35 7 ¤¯¤µ¤« Æü²¼ #JCN 0 ¤¯¤µ¤«¤Ù Æü²¼Éô #JCN 0 ¤¯¤µ¤«¤ê Á𴢤ê #T30 0 ¤¯¤µ¤¬ ½­¤¬ #R5 0 ¤¯¤µ¤­ ÁðÌÚ #T35 0 ¤¯¤µ¤Ä ÁðÄÅ #JCN 0 ¤¯¤µ¤Î ÁðÌî #JCN 0 ¤¯¤µ¤Ð¤Ê Áð²Ö #T35 0 ¤¯¤µ¤à¤é ÁÑ #T35 0 ¤¯¤µ¤â¤Á ÁðÌß #T35 0 ¤¯¤µ¤ä¤Ê¤® ÁðÌø #JNS 0 ¤¯¤µ¤ê º¿ #T35 1 ¤¯¤µ¤ï¤± Áðʬ¤± #T35 1 ¤¯¤· ¶ü #KJ 0 ¤¯¤· ¶î»È #T30 4 ¤¯¤· ¶û #T35 0 ¤¯¤· ¶ú #T35 2 ¤¯¤·¤¬¤¿ ¶û·Á #JCN 0 ¤¯¤·¤­¤Î ¶úÌÚÌî #JCN 0 ¤¯¤·¤¯¤â ´ñ¤·¤¯¤â #CJ 1 ¤¯¤·¤À ¶úÅÄ #JNS 0 ¤¯¤·¤Ï¤é ¶ú¸¶ #JCN 0 ¤¯¤·¤Ó¤­ ¶û°ú #JCN 0 ¤¯¤·¤Þ ¶ú´Ö #JCN 0 ¤¯¤·¤â¤È ¶úËÜ #JCN 0 ¤¯¤·¤ã¤¯¤·¤ã ¤¯¤·¤ã¤¯¤·¤ã #T11 0 ¤¯¤·¤ã¤ß ¤¯¤·¤ã¤ß #T30 2 ¤¯¤·¤ä¤Þ ¶ú»³ #JNS 0 ¤¯¤·¤å¤¦ ¶ç½¸ #T35 0 ¤¯¤·¤ç¤¦ ¶ì¾Ð #T30 1 ¤¯¤·¤é ¶úÎÉ #JCN 0 ¤¯¤·¤í ¶üÏ© #CN 0 ¤¯¤·¤ó ¶ì¿´ #T30 1 ¤¯¤¸ µ×»ü #JCN 0 ¤¯¤¸¤Ó¤­ ¤¯¤¸°ú¤­ #T30 2 ¤¯¤¸¤ã¤¯ ¹¦¿ý #T35 1 ¤¯¤¸¤å¤¦ µ×½» #JCN 0 ¤¯¤¸¤å¤¦ ¶ì½Â #T30 0 ¤¯¤¸¤å¤¦¤¯¤ê ¶å½½¶åΤ #CN 0 ¤¯¤¸¤ç ¶î½ü #T30 7 ¤¯¤¸¤ç¤¦ ¶ì¾ð #T35 6 ¤¯¤¸¤é ·ß #T35 3 ¤¯¤¸¤é òÁ #T35 3 ¤¯¤¸¤é¤¸¤ã¤¯ ·ß¼Ü #T35 0 ¤¯¤¹ ¶ê¼î #JCN 0 ¤¯¤¹ Æï #JCN 0 ¤¯¤¹ ¾À #T35 23 ¤¯¤¹ Æï #T35 3 ¤¯¤¹¤¯¤¹ ¤¯¤¹¤¯¤¹ #F14 2 ¤¯¤¹¤° ¤¯¤¹¤° #R5r 2 ¤¯¤¹¤Î¤­ Æï #JCN 0 ¤¯¤¹¤â¤È ÆïËÜ #JNS 0 ¤¯¤¹¤ê Ìô #T35 11 ¤¯¤¹¤ê¤ä Ìô²° #T35 0 ¤¯¤¹¤ê¤æ¤Ó Ìô»Ø #T35 0 ¤¯¤º Êø #S5 4 ¤¯¤º ³ë #T35 1 ¤¯¤º ¶ý #T35 1 ¤¯¤º¤¦ ³ëÀ¸ #JCN 0 ¤¯¤º¤Æ¤Ä ¶ýÅ´ #T35 0 ¤¯¤º¤Ï ÆïÍÕ #JCN 0 ¤¯¤º¤Þ¤­ ³ë´¬ #JCN 0 ¤¯¤º¤ß µ×½» #JCN 0 ¤¯¤º¤â¤Á ³ëÌß #T35 0 ¤¯¤º¤ì Êø¤ì #KSr 6 ¤¯¤º¤ì¤ª¤Á Êø¤ìÍî¤Á #KSr 0 ¤¯¤º¤ì¤µ Êø¤ìµî #R5 0 ¤¯¤» µ×À¤ #JCN 0 ¤¯¤» ÊÊ #T35 10 ¤¯¤»¤Ä ¶ìÀá #T30 2 ¤¯¤»¤â¤Î ¶Ê¼Ô #T35 1 ¤¯¤»¤ó ¶ìÀï #T30 1 ¤¯¤¼ µ×À¤ #JCN 0 ¤¯¤¼ µ×À¥ #JCN 0 ¤¯¤½ ʵ #T35 2 ¤¯¤¿¤¯¤¿ ¤¯¤¿¤¯¤¿ #T11 0 ¤¯¤À ºÕ #K5 0 ¤¯¤À ¹ß #R5 0 ¤¯¤À ²¼ #R5r 6 ¤¯¤À ²¼ #S5 6 ¤¯¤À ´É #T35 2 ¤¯¤À¤¯¤À¤· ¤¯¤À¤¯¤À¤· #KY 0 ¤¯¤À¤¯¤À¤·¤å¤¦ ¤¯¤À¤¯¤À¤·¤å¤¦ #KYU 0 ¤¯¤À¤± ºÕ¤± #KS 2 ¤¯¤À¤µ ¤¯¤À¤µ #L5 255 ¤¯¤À¤µ ²¼¤µ #L5 255 ¤¯¤À¤µ ¤¯¤À¤µ #R5 0 ¤¯¤À¤µ ²¼¤µ #R5 0 ¤¯¤À¤Þ¤Ä ²¼¾¾ #JCN 0 ¤¯¤À¤â¤Î ¤¯¤À¤â¤Î #T35 0 ¤¯¤À¤â¤Î ²Ìʪ #T35 1 ¤¯¤À¤é¤Ê ¤¯¤À¤é¤Ê #KY 0 ¤¯¤À¤é¤Ê ²¼¤é¤Ê #KY 1 ¤¯¤À¤é¤Î¤¦ ¤¯¤À¤é¤Î¤¦ #KYU 0 ¤¯¤À¤é¤Î¤¦ ²¼¤é¤Î¤¦ #KYU 1 ¤¯¤À¤ó ¶åÃÊ #CN 0 ¤¯¤À¤ó ·ï #KJ 1 ¤¯¤À¤ó¤·¤¿ ¶åÃʲ¼ #CN 0 ¤¯¤Á ¸ý #JS 44 ¤¯¤Á µà¤Á #KS 1 ¤¯¤Á ¸ý #T35 0 ¤¯¤Á¤¢¤¿¤ê ¸ýÅö¤ê #T35 1 ¤¯¤Á¤¨ ¸ý³¨ #T35 0 ¤¯¤Á¤«¤º ¸ý¿ô #T35 1 ¤¯¤Á¤¬¤Í ¸ý¶â #T35 0 ¤¯¤Á¤¯ ¶îÃà #T30 1 ¤¯¤Á¤°¤» ¸ý¤°¤» #T35 1 ¤¯¤Á¤°¤» ¸ýÊÊ #T35 1 ¤¯¤Á¤°¤ë¤Þ ¸ý¼Ö #T35 0 ¤¯¤Á¤µ¤¬¤Ê ¸ý¤µ¤¬¤Ê #KY 0 ¤¯¤Á¤µ¤¬¤Î¤¦ ¸ý¤µ¤¬¤Î¤¦ #KYU 0 ¤¯¤Á¤¹¤¦ ¸ý¿ô #T35 0 ¤¯¤Á¤º¤µ ¸ý¤º¤µ #M5 2 ¤¯¤Á¤Å¤± ¸ý¤Å¤± #T30 1 ¤¯¤Á¤Î¤Ä ¸ýÇ·ÄÅ #CN 0 ¤¯¤Á¤Ï¤Ð¤Ã¤¿ ¸ý¤Ï¤Ð¤Ã¤¿ #KY 0 ¤¯¤Á¤Ð¤· ¸ýÁö #R5 1 ¤¯¤Á¤Ð¤· Ó¼ #T35 0 ¤¯¤Á¤Ð¤· ÓÜ #T35 0 ¤¯¤Á¤Ó ¸ý²Ð #T35 0 ¤¯¤Á¤Ó¤ë ¿° #T35 3 ¤¯¤Á¤Ù¤Ë ¸ý¹È #T35 0 ¤¯¤Á¤â¤È ¸ý¸µ #T35 0 ¤¯¤Á¤å¤¦ ¶îÃî #T30 1 ¤¯¤Á¤å¤¦ ¶ìÃï #T35 0 ¤¯¤Á¤ç¤¦ ¶èĹ #T35 1 ¤¯¤Á¤ç¤¦ ¸ýÄ´ #T35 1 ¤¯¤Á¤ï ¸ýÏ #JCN 0 ¤¯¤Ã ¶þ #SX 0 ¤¯¤Ã¤­¡¼ ¥¯¥Ã¥­¡¼ #T35 0 ¤¯¤Ã¤­¤ç¤¦ ¶þ¶¯ #T05 0 ¤¯¤Ã¤­¤ç¤¯ ¶þ¶Ê #T30 0 ¤¯¤Ã¤­¤ê ¤¯¤Ã¤­¤ê #F04 0 ¤¯¤Ã¤­¤ê ¤¯¤Ã¤­¤ê #T16 0 ¤¯¤Ã¤µ¤¯ ·¡ºï #T30 0 ¤¯¤Ã¤· ¶þ»Ø #T35 0 ¤¯¤Ã¤·¤ã¤í¤³ ¶þ¼ÐÏ©¸Ð #CN 0 ¤¯¤Ã¤·¤ç¤ó ¥¯¥Ã¥·¥ç¥ó #T35 1 ¤¯¤Ã¤·¤ó ¶þ¿­ #T30 1 ¤¯¤Ã¤»¤¤ ¶þÀ­ #T35 1 ¤¯¤Ã¤»¤Ä ¶þÀÞ #T30 2 ¤¯¤Ã¤¿¤¯ ¶þÂ÷ #T30 0 ¤¯¤Ã¤Á¤ã¤ó ¶æÃΰ #CN 0 ¤¯¤Ã¤Ä ¤¯¤Ã¤Ä #K5r 2 ¤¯¤Ã¤Ä¤± ¤¯¤Ã¤Ä¤± #KSr 2 ¤¯¤Ã¤×¤¯ ¶þÉú #T30 0 ¤¯¤Ã¤×¤¯ ¶þÉþ #T30 0 ¤¯¤Ä ·¢ #KJ 0 ¤¯¤Ä ·£ #KJ 0 ¤¯¤Ä ËÙ #KJ 0 ¤¯¤Ä ¶þ #KJ 1 ¤¯¤Ä ·¡ #KJ 1 ¤¯¤Ä ·¤ #T35 9 ¤¯¤Ä¤¦ ¶ìÄË #T05 3 ¤¯¤Ä¤¬¤¨ ʤ #R5 0 ¤¯¤Ä¤¬¤¨ ʤ #S5 2 ¤¯¤Ä¤­ µàÌÚ #JCN 0 ¤¯¤Ä¤·¤¿ ·¤²¼ #T35 0 ¤¯¤Ä¤¸¤å¤¦ ¶þ½¾ #T30 0 ¤¯¤Ä¤¸¤ç¤¯ ¶þ¿« #T35 1 ¤¯¤Ä¤í ´² #G5r 1 ¤¯¤Ä¤ï ·¥ #T35 0 ¤¯¤Æ¤ó ¶çÅÀ #T35 4 ¤¯¤Æ¤ó ¶èÅÀ #T35 6 ¤¯¤È¤¦ ¶ìÆ® #T30 1 ¤¯¤È¤¦¤Æ¤ó ¶çÆÉÅÀ #T35 3 ¤¯¤É ¸ýÀâ #K5r 0 ¤¯¤É ¤¯¤É #KY 3 ¤¯¤É¤¦ µ×±ó #JCN 0 ¤¯¤É¤¦ ¹©Æ£ #JNS 0 ¤¯¤É¤¦ ¤¯¤É¤¦ #KYU 1 ¤¯¤É¤¦ ¶îư #T30 13 ¤¯¤É¤ª µ×±ó #JCN 0 ¤¯¤É¤ä¤Þ ¶åÅÙ»³ #CN 0 ¤¯¤Ê¤¤ ¶èÆâ #T35 2 ¤¯¤Ê¤¤¤Á¤ç¤¦ µÜÆâÄ£ #KK 1 ¤¯¤Ê¤·¤ê ¹ñ¸å #CN 0 ¤¯¤Ê¤ó ¶ìÆñ #T30 0 ¤¯¤Ë Ï»¹ç #CN 0 ¤¯¤Ë µ×íî #JNM 0 ¤¯¤Ë Ô¢ #KJ 1 ¤¯¤Ë Ë® #KJ 2 ¤¯¤Ë ¹ñ #T35 66 ¤¯¤Ë¤¤ ¹ñ°æ #JN 0 ¤¯¤Ë¤¨¤À ¹ñ»Þ #JN 0 ¤¯¤Ë¤ª ¹ñÃË #JNM 0 ¤¯¤Ë¤ª ¹ñÉ× #JNM 0 ¤¯¤Ë¤ª ¹ñͺ #JNM 0 ¤¯¤Ë¤ª Ë®ÃË #JNM 0 ¤¯¤Ë¤ª Ë®É× #JNM 0 ¤¯¤Ë¤ª ˮͺ #JNM 0 ¤¯¤Ë¤¬¤ß ¹ñƬ #JCN 0 ¤¯¤Ë¤¬¤é ¹ñÊÁ #T35 0 ¤¯¤Ë¤¯ ¶ìÆù #T35 1 ¤¯¤Ë¤°¤Ë ¹ñ¡¹ #T35 1 ¤¯¤Ë¤³ Ë®»Ò #JNM 0 ¤¯¤Ë¤µ¤­ ¹ñÅì #JCN 0 ¤¯¤Ë¤µ¤À ¹ñÄê #JNS 0 ¤¯¤Ë¤¿¤Á ¹ñΩ #CN 0 ¤¯¤Ë¤È¤ß ¹ñÉÙ #JCN 0 ¤¯¤Ë¤Ò¤³ ˮɧ #JNM 0 ¤¯¤Ë¤Ò¤³ ¹ñɧ #JNS 0 ¤¯¤Ë¤Ò¤µ Ë®µ× #JNM 0 ¤¯¤Ë¤Ò¤È Ë®¿Î #JNM 0 ¤¯¤Ë¤Ò¤í ¹ñÇî #JN 0 ¤¯¤Ë¤ß ¹ñ¸« #JCN 0 ¤¯¤Ë¤è¤· Ô¢µÈ #JNM 0 ¤¯¤Î µ×Ìî #JNS 0 ¤¯¤Î¤¦ ¶ìǺ #T30 1 ¤¯¤Î¤Ø ¶å¸Í #JCN 0 ¤¯¤Ð ÇÛ #R5 25 ¤¯¤Ó ·Û #T35 0 ¤¯¤Ó ¼ó #T35 7 ¤¯¤Ó¤­ ·Û¾ë #JCN 0 ¤¯¤Ó¤¹¤¸ ¼ó¶Ú #T35 0 ¤¯¤Ó¤Ã¤¿¤± ¼ó¤Ã¤¿¤± #T15 0 ¤¯¤Ó¤Ã¤Ô¤­ ¼ó¤Ã°ú¤­ #T35 0 ¤¯¤Õ¤¦ ¹©É× #T30 27 ¤¯¤Ö¤¯¤ê¤ó ¶åʬ¶åÎÒ #T35 0 ¤¯¤Ö¤ó ¶èʬ #T30 21 ¤¯¤Ù ¤¯¤Ù #KS 2 ¤¯¤Ù¤Ä ¶èÊÌ #T30 40 ¤¯¤Û¤ó¤Ö¤Ä ¶åÉÊÊ© #CN 0 ¤¯¤Ü µ×ÊÝ #JNS 0 ¤¯¤Ü ·¦ #KJ 0 ¤¯¤Ü ¤¯¤Ü #M5r 0 ¤¯¤Ü ·¦ #M5r 0 ¤¯¤Ü¤«¤ï ·¦Àî #JCN 0 ¤¯¤Ü¤µ¤ï µ×ÊÝÂô #JNS 0 ¤¯¤Ü¤¿ µ×ÊÝÅÄ #JCN 0 ¤¯¤Ü¤¿ ·¦ÅÄ #JNS 0 ¤¯¤Ü¤¿ ¥¯¥Ü¥¿ #KK 4 ¤¯¤Þ µ×Ëü #CN 0 ¤¯¤Þ µåËá #CN 0 ¤¯¤Þ ·¨ #KJ 4 ¤¯¤Þ ¡¹ #T35 1 ¤¯¤Þ ·§ #T35 6 ¤¯¤Þ¤¤¤· ·§ÀÐ #JCN 0 ¤¯¤Þ¤¬¤¤ ·§Ã« #JNS 0 ¤¯¤Þ¤¬¤ä ·§Ã« #JCN 0 ¤¯¤Þ¤¯¤é ·§ÁÒ #JNS 0 ¤¯¤Þ¤² ·§ÌÓ #JCN 0 ¤¯¤Þ¤µ¤ï ·§Âô #JCN 0 ¤¯¤Þ¤¶¤ï ·§Âô #JCN 0 ¤¯¤Þ¤À ·§ÅÄ #JNS 0 ¤¯¤Þ¤È¤ê ·§¼è #JCN 0 ¤¯¤Þ¤Ê¤¯ ¤¯¤Þ¤Ê¤¯ #F14 0 ¤¯¤Þ¤Î ·§Ìî #JCN 0 ¤¯¤Þ¤Î¤¬¤ï ·§ÌîÀî #CN 0 ¤¯¤Þ¤Ð¤Á ·§Ëª #T35 0 ¤¯¤Þ¤â¤È ·§ËÜ #JCN 0 ¤¯¤Þ¤â¤È¤±¤ó ·§Ëܸ© #CNS 0 ¤¯¤Þ¤â¤È¤· ·§ËÜ»Ô #CNS 0 ¤¯¤Þ¤ä¤Þ ·§»³ #JCN 0 ¤¯¤ß µ×Èþ #JN 0 ¤¯¤ß ÁÈ #JS 53 ¤¯¤ß ÁÈ #T35 47 ¤¯¤ß¤¢ ÁȤ߹ç #W5r 0 ¤¯¤ß¤¢¤¤ Áȹç #T35 11 ¤¯¤ß¤¢¤² µâ¤ß¾å¤² #KSr 0 ¤¯¤ß¤¢¤² ÁȤ߾夲 #KSr 0 ¤¯¤ß¤¢¤ï ÁȤ߹ç¤ï #S5r 28 ¤¯¤ß¤¢¤ï¤» Áȹ礻 #T35 25 ¤¯¤ß¤¤¤ì ÁÈ¤ßÆþ¤ì #KSr 2 ¤¯¤ß¤«¤¿ ÁȤßÊý #T35 1 ¤¯¤ß¤³ µ×Èþ»Ò #JN 0 ¤¯¤ß¤³ ÁȤ߹þ #M5r 52 ¤¯¤ß¤¿¤Æ ÁȤßΩ¤Æ #KSr 8 ¤¯¤ß¤Ä ÁȤßÉÕ #K5r 0 ¤¯¤ß¤È ¤¯¤ß¼è #R5r 0 ¤¯¤ß¤È µâ¤ß¼è #R5r 1 ¤¯¤ß¤Ê¤ª ÁȤßľ #S5 1 ¤¯¤ß¤Ï¤Þ µ×ÈþÉÍ #CN 0 ¤¯¤ß¤Ï¤ó ÁÈÈÇ #T30 1 ¤¯¤ß¤ä¤Þ µ×¸æ»³ #CN 0 ¤¯¤ß¤ó ¶è̱ #T35 1 ¤¯¤á µ×ÊÆ #JCN 0 ¤¯¤á ·© #KJ 0 ¤¯¤á¤Ê¤ó µ×ÊÆÆî #CN 0 ¤¯¤á¤ó ¹©ÌÌ #T30 0 ¤¯¤â ÆÞ #R5r 9 ¤¯¤â ÃØéá #T35 1 ¤¯¤â ±À #T35 9 ¤¯¤â¤Ä ¶¡Êª #T35 0 ¤¯¤â¤é ÆÞ¤é #S5 0 ¤¯¤â¤ê ÆÞ #T35 0 ¤¯¤â¤ê ¤¯¤â¤ê #T35 0 ¤¯¤â¤ó µ×Ìç #JNS 0 ¤¯¤â¤ó ¶ìÌå #T30 0 ¤¯¤ä ²ù¤ä #M5r 2 ¤¯¤ä¤¯¤·¤ç ¶èÌò½ê #T35 2 ¤¯¤ä¤· ²ù¤· #KYmi 2 ¤¯¤ä¤·¤¬ ²ù¤·¤¬ #R5 0 ¤¯¤ä¤·¤å¤¦ ²ù¤·¤å¤¦ #KYU 1 ¤¯¤è¤¦ ¶¡ÍÜ #T30 2 ¤¯¤è¤¯¤è ¤¯¤è¤¯¤è #F04 0 ¤¯¤é °Å #KYme 27 ¤¯¤é ¤¯¤é #M5 1 ¤¯¤é Êë¤é #S5r 12 ¤¯¤é ÁÒ #T35 14 ¤¯¤é °È #T35 2 ¤¯¤é ¢ #T35 2 ¤¯¤é ¿©¤é #W5 2 ¤¯¤é¤¤ ¤¯¤é¤¤ #T35 3 ¤¯¤é¤¤ °Ì #T35 42 ¤¯¤é¤¤¤¢¤ó¤È ¥¯¥é¥¤¥¢¥ó¥È #T35 255 ¤¯¤é¤¤¤· ÁÒÀÐ #JCN 0 ¤¯¤é¤¤¤Ä ¿©¤é¤¤¤Ä #K5r 0 ¤¯¤é¤¤¤Þ¤Ã¤¯¤¹ ¥¯¥é¥¤¥Þ¥Ã¥¯¥¹ #T35 1 ¤¯¤é¤¬¤¨ °ÈÂØ¤¨ #T30 0 ¤¯¤é¤¬¤ê °Å¤¬¤ê #T35 0 ¤¯¤é¤¯ ¶ì³Ú #T35 0 ¤¯¤é¤¯¤·¤ç¤ó ¥¯¥é¥¯¥·¥ç¥ó #T35 3 ¤¯¤é¤¯¤é ¤¯¤é¤¯¤é #F05 0 ¤¯¤é¤¯¤é ¤¯¤é¤¯¤é #T16 0 ¤¯¤é¤² ¥¯¥é¥² #T35 1 ¤¯¤é¤² ò¸ #T35 1 ¤¯¤é¤µ¤ï ÁÒÂô #JNS 0 ¤¯¤é¤·¤­ ÁÒÉß #JCN 0 ¤¯¤é¤·¤Ã¤¯ ¥¯¥é¥·¥Ã¥¯ #T05 2 ¤¯¤é¤·¤Î¤Æ¤Á¤ç¤¦ Ê뤷¤Î¼êÄ¡ #KK 0 ¤¯¤é¤¹ ¥¯¥é¥¹ #T35 107 ¤¯¤é¤¹¤¿ ¥¯¥é¥¹¥¿ #T35 25 ¤¯¤é¤¹¤¿¡¼ ¥¯¥é¥¹¥¿¡¼ #T35 0 ¤¯¤é¤¿ ÁÒÅÄ #JNS 0 ¤¯¤é¤¿¤± ÁÒ³Ù #JCN 0 ¤¯¤é¤Ã¤« ¥¯¥é¥Ã¥« #T35 0 ¤¯¤é¤Ã¤«¡¼ ¥¯¥é¥Ã¥«¡¼ #T35 0 ¤¯¤é¤Ã¤·¤å ¥¯¥é¥Ã¥·¥å #T35 21 ¤¯¤é¤Ã¤Á ¥¯¥é¥Ã¥Á #T35 2 ¤¯¤é¤Æ °È¼ê #JCN 0 ¤¯¤é¤Ï¤· ÁÒ¶¶ #JCN 0 ¤¯¤é¤Ï¤é ÁÒ¸¶ #JNS 0 ¤¯¤é¤Õ¤È ¥¯¥é¥Õ¥È #T35 1 ¤¯¤é¤Ö ¶æ³ÚÉô #T35 5 ¤¯¤é¤Ö ¥¯¥é¥Ö #T35 8 ¤¯¤é¤Ö¤Á ÁÒÊ¥ #JCN 0 ¤¯¤é¤Ù ÁÒÉô #JNS 0 ¤¯¤é¤Ù ³Ó¤Ù #KS 17 ¤¯¤é¤Ù Èæ¤Ù #KS 55 ¤¯¤é¤Þ °ÈÇÏ #JCN 0 ¤¯¤é¤â¤Á ÁÒ»ý #JN 0 ¤¯¤é¤â¤È ÁÒËÜ #JNS 0 ¤¯¤é¤â¤È ¢ËÜ #JNS 0 ¤¯¤é¤ä¤ß °Å°Ç #T35 2 ¤¯¤é¤è¤· ÁÒµÈ #JCN 0 ¤¯¤é¤ê¤Í¤Ã¤È ¥¯¥é¥ê¥Í¥Ã¥È #T35 0 ¤¯¤ê ·« #KJ 0 ¤¯¤ê ·ª #T35 17 ¤¯¤ê¡¼¤Ë¤ó¤° ¥¯¥ê¡¼¥Ë¥ó¥° #T30 5 ¤¯¤ê¡¼¤à ¥¯¥ê¡¼¥à #T35 5 ¤¯¤ê¡¼¤ó ¥¯¥ê¡¼¥ó #T05 2 ¤¯¤ê¤¢ ¥¯¥ê¥¢ #T00 40 ¤¯¤ê¤¢¤¬ ·«¤ê¾å¤¬ #R5r 0 ¤¯¤ê¤¢¤² ·«¤ê¾å¤² #KSr 0 ¤¯¤ê¤¤¤ì ·«¤êÆþ¤ì #KSr 0 ¤¯¤ê¤«¤¨ ·«¤êÊÖ #S5r 80 ¤¯¤ê¤«¤¨¤· ¡³ #T35 1 ¤¯¤ê¤«¤¨¤· ¡´ #T35 1 ¤¯¤ê¤«¤¨¤· ¡µ #T35 1 ¤¯¤ê¤«¤¨¤· ¡¶ #T35 1 ¤¯¤ê¤«¤¨¤· ¡¹ #T35 5 ¤¯¤ê¤³ ·«¤ê¹þ #M5r 0 ¤¯¤ê¤³ ·«¤ê±Û #S5r 2 ¤¯¤ê¤³¤· ·«±Û #T30 1 ¤¯¤ê¤³¤Þ ·ª¶ð #JCN 0 ¤¯¤ê¤´¤È ·«¸À #T30 0 ¤¯¤ê¤µ¤¬ ·«¤ê²¼¤¬ #R5r 0 ¤¯¤ê¤µ¤² ·«¤ê²¼¤² #KSr 0 ¤¯¤ê¤µ¤ï ·ªÂô #JCN 0 ¤¯¤ê¤¹¤¿¤ë ¥¯¥ê¥¹¥¿¥ë #T35 1 ¤¯¤ê¤¹¤Þ¤¹ ¥¯¥ê¥¹¥Þ¥¹ #T35 6 ¤¯¤ê¤¿ ·ªÂÀ #JCN 0 ¤¯¤ê¤¿ ·ªÅÄ #JNS 0 ¤¯¤ê¤À ·«¤ê½Ð #S5 1 ¤¯¤ê¤Ã¤¯ ¥¯¥ê¥Ã¥¯ #T30 48 ¤¯¤ê¤Ã¤Ô¤ó¤° ¥¯¥ê¥Ã¥Ô¥ó¥° #T30 3 ¤¯¤ê¤Ã¤× ¥¯¥ê¥Ã¥× #T30 2 ¤¯¤ê¤Ä ¶èΩ #T35 1 ¤¯¤ê¤Ë¤Ã¤¯ ¥¯¥ê¥Ë¥Ã¥¯ #T35 1 ¤¯¤ê¤Î ·ªÌî #JCN 0 ¤¯¤ê¤Î¤Ù ·«¤ê±ä¤Ù #KSr 0 ¤¯¤ê¤Î¤Ù ·«¤ê±ä¤Ù #T30 1 ¤¯¤ê¤Ï¤· ·ª¶¶ #JCN 0 ¤¯¤ê¤Ï¤é ·ª¸¶ #JCN 0 ¤¯¤ê¤Ð¤ä¤· ·ªÎÓ #JNS 0 ¤¯¤ê¤Ò¤í¤² ·«¤ê¹­¤² #KS 1 ¤¯¤ê¤ß¤¢ ¥¯¥ê¥ß¥¢ #CN 0 ¤¯¤ê¤â¤È ·ª¸» #JCN 0 ¤¯¤ê¤â¤È ·ªËÜ #JNS 0 ¤¯¤ê¤ä¤Þ ·ª»³ #JCN 0 ¤¯¤ê¤ä¤Þ ·ª»³ #T35 0 ¤¯¤ê¤ç ¶ìθ #T30 0 ¤¯¤ë ¤¯¤ë #M5 1 ¤¯¤ë ¶¸ #W5r 6 ¤¯¤ë ¤¯¤ë #kxuru 21 ¤¯¤ë Íè¤ë #kxuru 247 ¤¯¤ë¡¼ ¥¯¥ë¡¼ #T35 2 ¤¯¤ë¤¯¤ë ¤¯¤ë¤¯¤ë #F14 1 ¤¯¤ë¤¯¤ë ¤¯¤ë¤¯¤ë #T16 0 ¤¯¤ë¤· ¶ì¤· #KYmi 22 ¤¯¤ë¤· ¶ì¤· #M5r 11 ¤¯¤ë¤·¤¬ ¶ì¤·¤¬ #R5 0 ¤¯¤ë¤·¤á ¶ì¤·¤á #KS 1 ¤¯¤ë¤·¤å¤¦ ¶ì¤·¤å¤¦ #KYU 2 ¤¯¤ë¤Þ ¤¯¤ë¤Þ #R5 2 ¤¯¤ë¤Þ ¥¯¥ë¥Þ #T35 1 ¤¯¤ë¤Þ ¼Ö #T35 107 ¤¯¤ë¤Þ¤À¤¤ ¼ÖÂå #T35 0 ¤¯¤ë¤Þ¤ä¤Þ ¼Ö»³ #JCN 0 ¤¯¤ë¤ß ¤¯¤ë¤ß #T35 0 ¤¯¤ë¤ß ¸ÕÅí #T35 0 ¤¯¤ë¤á µ×Î±ÊÆ #CN 0 ¤¯¤ì ¸â #JCN 0 ¤¯¤ì ¤¯¤ì #KS 32 ¤¯¤ì Êë¤ì #KSr 9 ¤¯¤ì ¤¯¤ì #kxure 22 ¤¯¤ì Íè¤ì #kxure 28 ¤¯¤ì¡¼¤¿¡¼ ¥¯¥ì¡¼¥¿¡¼ #T35 1 ¤¯¤ì¡¼¤à ¥¯¥ì¡¼¥à #T35 5 ¤¯¤ì¤ª¤Ñ¤È¤é ¥¯¥ì¥ª¥Ñ¥È¥é #JN 0 ¤¯¤ì¤°¤ì ¤¯¤ì¤°¤ì #F14 2 ¤¯¤ì¤¸¤Ã¤È ¥¯¥ì¥¸¥Ã¥È #T30 2 ¤¯¤ì¤¾¡¼¤ë ¥¯¥ì¥¾¡¼¥ë #T35 0 ¤¯¤ì¤Ã¤·¤§¤ó¤É ¥¯¥ì¥Ã¥·¥§¥ó¥É #T30 0 ¤¯¤ì¤Ê¤¤ ¹È #T35 1 ¤¯¤ì¤à¤ê¤ó ¥¯¥ì¥à¥ê¥ó #CN 0 ¤¯¤í ¹õ #KYmime 30 ¤¯¤í ¹õ #T35 26 ¤¯¤í¡¼¤º ¥¯¥í¡¼¥º #T30 21 ¤¯¤í¡¼¤¼¤Ã¤È ¥¯¥í¡¼¥¼¥Ã¥È #T35 0 ¤¯¤í¡¼¤ó ¥¯¥í¡¼¥ó #T35 0 ¤¯¤í¤¤¤· ¹õÀÐ #JCN 0 ¤¯¤í¤¤¤· ¹õÀÐ #T35 0 ¤¯¤í¤¤¤½ ¹õ°ë #JCN 0 ¤¯¤í¤¤¤ï ¹õ´ä #JCN 0 ¤¯¤í¤¦ °Å¤¦ #KYU 2 ¤¯¤í¤¦ ¹õ¤¦ #KYU 2 ¤¯¤í¤¦ ¶ìÏ« #T30 26 ¤¯¤í¤¦¤¸ ¹õ»á #JNS 0 ¤¯¤í¤¦¤È ¸¼¿Í #T35 1 ¤¯¤í¤«¤ï ¹õÀî #JCN 0 ¤¯¤í¤­ ¹õÌÚ #JNS 0 ¤¯¤í¤° ¹õÌÚ #JNS 0 ¤¯¤í¤µ¤­ ¹õºê #JCN 0 ¤¯¤í¤µ¤ï ¹õÂô #JNS 0 ¤¯¤í¤µ¤ï ¹õß· #JNS 0 ¤¯¤í¤¶¤È¤¦ ¹õº½Åü #T35 0 ¤¯¤í¤·¤ª ¹õĬ #T35 0 ¤¯¤í¤¸ ¹õ»ú #T35 1 ¤¯¤í¤¹ ¹õ¿Ü #JNS 0 ¤¯¤í¤¹ ¥¯¥í¥¹ #T30 4 ¤¯¤í¤º ¹õ¤º #M5r 0 ¤¯¤í¤» ¹õÀ¥ #JCN 0 ¤¯¤í¤¿¤­ ¹õÂì #JCN 0 ¤¯¤í¤À ¹õÅÄ #JCN 0 ¤¯¤í¤À¤·¤ç¤¦ ¹õÅľ± #CN 0 ¤¯¤í¤Ã¤¯ ¥¯¥í¥Ã¥¯ #T35 10 ¤¯¤í¤Ä¤Á ¹õÅÚ #T35 0 ¤¯¤í¤Ð¤Í ¹õ±© #JCN 0 ¤¯¤í¤Ù ¹õÉô #JCN 0 ¤¯¤í¤Û¤Í ¹õÊݺ¬ #JCN 0 ¤¯¤í¤Ü¤· ¹õÀ± #T35 0 ¤¯¤í¤Þ¤¯ ¹õËë #T35 0 ¤¯¤í¤Þ¤Ä ¹õ¾¾ #JCN 0 ¤¯¤í¤Þ¤Ä¤Ê¤¤ ¹õ¾¾Æâ #JCN 0 ¤¯¤í¤Þ¤á ¹õƦ #T35 0 ¤¯¤í¤á ¹õÌÜ #T35 0 ¤¯¤í¤ä¤Ê¤® ¹õÌø #JNS 0 ¤¯¤í¤ä¤Þ ¹õ»³ #T35 1 ¤¯¤ï ·­ #T35 1 ¤¯¤ï ·¬ #T35 7 ¤¯¤ï¤¨ ²Ã¤¨ #KS 122 ¤¯¤ï¤± ¶èʬ¤± #T30 4 ¤¯¤ï¤· ¤¯¤ï¤· #KYme 1 ¤¯¤ï¤· ¾Ü¤· #KYme 107 ¤¯¤ï¤·¤å¤¦ ¤¯¤ï¤·¤å¤¦ #KYU 1 ¤¯¤ï¤·¤å¤¦ ¾Ü¤·¤å¤¦ #KYU 3 ¤¯¤ï¤¿ ·¬ÅÄ #JNS 0 ¤¯¤ï¤À ·¬ÅÄ #JNS 0 ¤¯¤ï¤À¤Æ ´ë¤Æ #KSr 0 ¤¯¤ï¤Ê ·¬Ì¾ #JCN 0 ¤¯¤ï¤Ï¤é ·¬¸¶ #JNS 0 ¤¯¤ï¤Ð¤é ·¬¸¶ #JNS 0 ¤¯¤ï¤ê ¶è³ä¤ê #T30 0 ¤¯¤ï¤ï ²Ã¤ï #R5 14 ¤¯¤ó ·¯ #JNSUC 255 ¤¯¤ó ¶ü #KJ 0 ¤¯¤ó ·° #KJ 0 ¤¯¤ó ·® #KJ 1 ¤¯¤ó ·¯ #T35 2 ¤¯¤ó ·± #T35 4 ¤¯¤ó ·° #ZX 0 ¤¯¤ó ·± #ZX 2 ¤¯¤ó¤¤¤¯ ·±°é #T30 0 ¤¯¤ó¤«¤¤ ·±²ü #T30 0 ¤¯¤ó¤³¤¯ ·±¹ð #T30 0 ¤¯¤ó¤·¤å èØ¼ò #T30 0 ¤¯¤ó¤·¤å ·¯¼ç #T35 1 ¤¯¤ó¤·¤ç¤¦ ·®¾Ï #T35 0 ¤¯¤ó¤¸ ·±¼¨ #T30 1 ¤¯¤ó¤¸¤ç¤¦ ·°¾ø #T30 0 ¤¯¤ó¤¸¤ç¤¦ ßî¾ø #T30 0 ¤¯¤ó¤»¤¤ ·°À½ #T35 0 ¤¯¤ó¤»¤¤ ßîÀ½ #T35 0 ¤¯¤ó¤È¤¦ ·°Æ« #T30 0 ¤¯¤ó¤É¤¦ ·±Æ³ #T30 0 ¤¯¤ó¤Í¤Ã¤× ·±»ÒÉÜ #CN 0 ¤¯¤ó¤×¤¦ ·°É÷ #T35 0 ¤¯¤ó¤è¤ß ·±ÆÉ¤ß #T30 1 ¤¯¤ó¤ê¤ó ·¯Î× #T30 1 ¤¯¤ó¤ì¤¤ ·±Îá #T30 1 ¤¯¤ó¤ì¤ó ·±Îý #T30 3 ¤¯¤ó¤ï ·±Ïà #T30 0 ¤° ×ü #KJ 0 ¤° ¶æ #KJ 1 ¤° ¶ò #KJ 1 ¤° ¶ó #KJ 1 ¤° ¶ñ #T30 46 ¤° ¶ò #T35 3 ¤°¤¢¤¤ ¶ñ¹ç #T15 27 ¤°¤¢¤¤ ¶ñ¹ç¤¤ #T35 0 ¤°¤¢¤Æ¤Þ¤é ¥°¥¢¥Æ¥Þ¥é #CN 0 ¤°¤¦ ¶ù #KJ 0 ¤°¤¦ µÜ #KJ 2 ¤°¤¦ ¶ö #KJ 3 ¤°¤¦ ¶÷ #S5 0 ¤°¤¦ ¶ø #S5 1 ¤°¤¦ ¶÷ #T30 0 ¤°¤¦ ¶ø #T30 1 ¤°¤¦¤¤¤ó ¶ö°ø #T35 0 ¤°¤¦¤¸ µÜ»Ê #T35 0 ¤°¤¦¤¹¤¦ ¶ö¿ô #T35 6 ¤°¤¦¤¼¤ó ¶öÁ³ #T35 3 ¤°¤¦¤¾¤¦ ¶öÁü #T35 0 ¤°¤¦¤Ï¤Ä ¶öȯ #T30 0 ¤°¤­¤ç ¶òµó #T35 1 ¤°¤²¤ó ¶ñ¸½ #T30 0 ¤°¤³¤¦ ¶ò¸ø #JN 0 ¤°¤³¤¦ ¶ò¹Í #T30 0 ¤°¤µ ¼ï #D2T35 10 ¤°¤µ¤ê¤È ¤°¤µ¤ê¤È #F14 0 ¤°¤¶¤¤ ¦® #T35 1 ¤°¤¶¤¤ ¦Î #T35 1 ¤°¤·¤«¤ß ¶ñ»ÖƬ #JCN 0 ¤°¤·¤«¤ï ¶ñ»ÖÀî #JCN 0 ¤°¤·¤ã ¶ò¼Ô #T35 0 ¤°¤·¤ã¤°¤·¤ã ¤°¤·¤ã¤°¤·¤ã #T05 0 ¤°¤·¤ç¤¦ ¶ñ¾Ý #T35 1 ¤°¤·¤ó ¶ñ¿½ #T30 0 ¤°¤¸¤ç¤¦ ·´¾å #CN 0 ¤°¤¹¤¯¤Ù ¾ëÊÕ #JCN 0 ¤°¤º ¤°¤º #R5r 0 ¤°¤º ¶ò¿Þ #T05 0 ¤°¤»¤¤ ¶òÀ¸ #T35 0 ¤°¤¿¤¤ ¶ñÂÎ #T35 7 ¤°¤¿¤¤¤« ¶ñÂβ½ #T30 3 ¤°¤¿¤¤¤Æ¤­ ¶ñÂÎŪ #T05 83 ¤°¤¿¤¤¤ì¤¤ ¶ñÂÎÎã #T35 0 ¤°¤Á ¸ý #CNSUC1 34 ¤°¤Á ¸ý #SUC 0 ¤°¤Á ¶òÃÔ #T35 6 ¤°¤Á¤ã¤°¤Á¤ã ¤°¤Á¤ã¤°¤Á¤ã #T05 0 ¤°¤Á¤ç¤¯ ¶òľ #T05 0 ¤°¤Ã¤·¤ç¤ê ¤°¤Ã¤·¤ç¤ê #F06 0 ¤°¤Ã¤·¤ç¤ê ¤°¤Ã¤·¤ç¤ê #T16 0 ¤°¤Ã¤È ¤°¤Ã¤È #F14 1 ¤°¤Ã¤É ¥°¥Ã¥É #T05 0 ¤°¤Ä ·¤ #SUC 0 ¤°¤É¤ó ¶òÆß #T05 0 ¤°¤Ó ¶ñÈ÷ #T30 0 ¤°¤Þ¤¤ ¶òËæ #T05 0 ¤°¤ß ÁÈ #JNSUC 31 ¤°¤é¤¤¤À¡¼ ¥°¥é¥¤¥À¡¼ #T35 1 ¤°¤é¤¦¤ó¤É ¥°¥é¥¦¥ó¥É #T35 15 ¤°¤é¤°¤é ¥°¥é¥°¥é #T00 0 ¤°¤é¤¹ ¥°¥é¥¹ #T35 1 ¤°¤é¤Õ ¥°¥é¥Õ #T35 27 ¤°¤é¤Õ¤£¤«¤ë ¥°¥é¥Õ¥£¥«¥ë #T05 23 ¤°¤é¤Õ¤£¤¯¤¹ ¥°¥é¥Õ¥£¥¯¥¹ #T35 2 ¤°¤é¤Õ¤£¤Ã¤¯ ¥°¥é¥Õ¥£¥Ã¥¯ #T35 10 ¤°¤é¤Õ¤£¤Ã¤¯¤¹ ¥°¥é¥Õ¥£¥Ã¥¯¥¹ #T35 19 ¤°¤é¤Þ¡¼ ¥°¥é¥Þ¡¼ #T05 4 ¤°¤é¤à ¥°¥é¥à #JS 29 ¤°¤é¤à ¥°¥é¥à #T35 29 ¤°¤é¤ó¤É ¥°¥é¥ó¥É #T35 6 ¤°¤ê¡¼¤ó ¥°¥ê¡¼¥ó #T05 4 ¤°¤ê¤«¤ó ¥°¥ê¥«¥ó #T35 1 ¤°¤ê¤³¡¼¤²¤ó ¥°¥ê¥³¡¼¥²¥ó #T35 1 ¤°¤ê¤»¤ê¤ó ¥°¥ê¥»¥ê¥ó #T35 1 ¤°¤ê¤Ã¤µ¤ó¤É ¥°¥ê¥Ã¥µ¥ó¥É #T30 0 ¤°¤ê¤Ã¤Ç¤£¤ó¤° ¥°¥ê¥Ã¥Ç¥£¥ó¥° #T30 2 ¤°¤ê¤Ã¤É ¥°¥ê¥Ã¥É #T35 22 ¤°¤ê¤Ã¤× ¥°¥ê¥Ã¥× #T35 0 ¤°¤ê¤ë ¥°¥ê¥ë #T30 0 ¤°¤ë ¤°¤ë #T35 3 ¤°¤ë¡¼¤Ô¤ó¤° ¥°¥ë¡¼¥Ô¥ó¥° #T30 4 ¤°¤ë¡¼¤× ¥°¥ë¡¼¥× #T35 255 ¤°¤ë¤¤ ¶¸¤¤ #N2T30 1 ¤°¤ë¤°¤ë ¤°¤ë¤°¤ë #F04 1 ¤°¤ë¤°¤ë ¤°¤ë¤°¤ë #T16 0 ¤°¤ë¤³¡¼¤¹ ¥°¥ë¥³¡¼¥¹ #T35 1 ¤°¤ë¤³¤³¤ë¤Á¤³¤¤¤É ¥°¥ë¥³¥³¥ë¥Á¥³¥¤¥É #T35 1 ¤°¤ë¤· ¶ì¤· #KY 1 ¤°¤ë¤· ¶ì¤· #M5 1 ¤°¤ë¤·¤å¤¦ ¶ì¤·¤å¤¦ #KYU 1 ¤°¤ë¤á ¥°¥ë¥á #T35 1 ¤°¤ë¤ê ¤°¤ë¤ê #T35 0 ¤°¤ì ºª #KJ 1 ¤°¤ì¡¼ ¥°¥ì¡¼ #T05 3 ¤°¤ì¡¼¤× ¥°¥ì¡¼¥× #T35 1 ¤°¤ì¤¤ ¥°¥ì¥¤ #T05 1 ¤°¤ì¤ó ¹ÈÏ¡ #T35 0 ¤°¤í ¹õ #KYmi 3 ¤°¤í¡¼¤Ð¤ë ¥°¥í¡¼¥Ð¥ë #T05 19 ¤°¤í¤¦ ¹õ¤¦ #KYU 1 ¤°¤í¤¦ ¶òÏ® #T30 0 ¤°¤í¤Ã¤­¡¼ ¥°¥í¥Ã¥­¡¼ #T15 0 ¤°¤ó ·³ #CNSUC1 0 ¤°¤ó ·´ #CNSUC1 0 ¤°¤ó ·² #SUC 0 ¤°¤ó ·³ #T30 0 ¤°¤ó ·² #T35 11 ¤°¤ó ·´ #T35 16 ¤°¤ó¤¤ ·³°å #T35 0 ¤°¤ó¤« ·³²Î #T35 0 ¤°¤ó¤«¤¯ ·³³È #T30 0 ¤°¤ó¤«¤ó ·³´Ï #T35 0 ¤°¤ó¤­¤ç ·²µï #T30 0 ¤°¤ó¤°¤ó ¤°¤ó¤°¤ó #F06 1 ¤°¤ó¤°¤ó ¤°¤ó¤°¤ó #T36 0 ¤°¤ó¤³¤¦ ·³¹Á #T35 0 ¤°¤ó¤³¤¯ ·³¹ñ #T35 1 ¤°¤ó¤·¤­¤ó ·³»ñ¶â #T35 0 ¤°¤ó¤·¤å¤¦ ·²½° #T35 0 ¤°¤ó¤·¤å¤¦ ·²½¸ #T35 0 ¤°¤ó¤·¤å¤¯ ·³½Ì #T30 1 ¤°¤ó¤·¤ç¤¦ ·²¾® #T35 0 ¤°¤ó¤·¤ó ·³¿À #T35 0 ¤°¤ó¤¸ ·´»Ê #JN 0 ¤°¤ó¤¸ ·³»ö #T30 1 ¤°¤ó¤¸¤å ·³¼û #T35 0 ¤°¤ó¤¸¤ó ·³¿Í #T35 2 ¤°¤ó¤»¤¤ ·²À¸ #T30 0 ¤°¤ó¤½¤¦ ·³Áâ #T35 1 ¤°¤ó¤¾¤¦ ·²Áü #T35 0 ¤°¤ó¤¿¤¤ ·³Ââ #T35 1 ¤°¤ó¤À¤ó ·³ÃÄ #T35 0 ¤°¤ó¤È ¤°¤ó¤È #F14 0 ¤°¤ó¤È¤¦ ·²Åç #T35 0 ¤°¤ó¤Ð¤¤ ·³ÇÛ #T35 0 ¤°¤ó¤Ñ¤Ä ·²È¯ #T30 0 ¤°¤ó¤Ó ·³È÷ #T30 0 ¤°¤ó¤Ö ·²Éñ #T30 0 ¤°¤ó¤Ö ·´Éô #T35 0 ¤°¤ó¤Þ ·²ÇÏ #JCN 0 ¤°¤ó¤Þ¤±¤ó ·²Çϸ© #CNS 0 ¤°¤ó¤â¤¦ ·²ÌÕ #T35 1 ¤°¤ó¤æ¤¦ ·²Íº #T35 0 ¤°¤ó¤è¤¦ ·³ÍÑ #T35 1 ¤°¤ó¤é¤¯ ·²Íî #T35 0 ¤± ²È #JNSUC 90 ¤± ²½ #KJ 0 ¤± ²¾ #KJ 0 ¤± ²È #KJ 0 ¤± ·¶ #KJ 0 ¤± ·· #KJ 0 ¤± ·ü #KJ 0 ¤± ²Ú #KJ 1 ¤± ·µ #KJ 1 ¤± ¥ö #KJ 12 ¤± µ¤ #KJ 8 ¤± ½³ #R5r 6 ¤± ¾Ã #S5 112 ¤± ÌÓ #T35 6 ¤±¡¼¤­ ¥±¡¼¥­ #T35 9 ¤±¡¼¤¸ ¥±¡Ý¥¸ #T35 1 ¤±¡¼¤¹ ¥±¡¼¥¹ #T35 22 ¤±¡¼¤Ñ¤Ó¤ê¤Æ¤£ ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ #T35 22 ¤±¡¼¤Ñ¤Ó¤ê¤Æ¤£¡¼ ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¡¼ #T35 22 ¤±¡¼¤Ö¤ë ¥±¡¼¥Ö¥ë #T35 40 ¤±¤¤ ·½ #JNM 0 ¤±¤¤ ·Ã #JNM 0 ¤±¤¤ ³¾ #KJ 0 ¤±¤¤ ³Ý #KJ 0 ¤±¤¤ ¶¥ #KJ 0 ¤±¤¤ ¶­ #KJ 0 ¤±¤¤ ·¹ #KJ 0 ¤±¤¤ ·» #KJ 0 ¤±¤¤ ·¾ #KJ 0 ¤±¤¤ ·¿ #KJ 0 ¤±¤¤ ·À #KJ 0 ¤±¤¤ ·Å #KJ 0 ¤±¤¤ ·Æ #KJ 0 ¤±¤¤ ·È #KJ 0 ¤±¤¤ ·Ë #KJ 0 ¤±¤¤ ·Í #KJ 0 ¤±¤¤ ·Î #KJ 0 ¤±¤¤ ·Ñ #KJ 0 ¤±¤¤ ·Ò #KJ 0 ¤±¤¤ ·Ô #KJ 0 ¤±¤¤ ·Õ #KJ 0 ¤±¤¤ ·Ø #KJ 0 ¤±¤¤ ·Û #KJ 0 ¤±¤¤ µþ #KJ 1 ¤±¤¤ ¶ª #KJ 1 ¤±¤¤ ·¸ #KJ 1 ¤±¤¤ ·Â #KJ 1 ¤±¤¤ ·Ì #KJ 1 ¤±¤¤ ·Ö #KJ 1 ¤±¤¤ ·Ù #KJ 1 ¤±¤¤ ·Ü #KJ 1 ¤±¤¤ Ò¦ #KJ 1 ¤±¤¤ ·Ú #KJ 10 ¤±¤¤ ·Á #KJ 16 ¤±¤¤ ²Â #KJ 2 ¤±¤¤ ·Ç #KJ 2 ¤±¤¤ ·Ê #KJ 2 ¤±¤¤ ·Ó #KJ 22 ¤±¤¤ ·Ð #KJ 3 ¤±¤¤ ·× #KJ 33 ¤±¤¤ ·Ú #PRE 1 ¤±¤¤ ·¼ #S5 17 ¤±¤¤ ·Ä #S5 4 ¤±¤¤ ·É #S5 4 ¤±¤¤ ·Á #SUC 0 ¤±¤¤ ·Ï #SUC 0 ¤±¤¤ ·× #SUC 0 ¤±¤¤ ·¼ #T30 17 ¤±¤¤ ·Ä #T30 4 ¤±¤¤ ·É #T30 4 ¤±¤¤ ·º #T35 0 ¤±¤¤ ·Ï #T35 56 ¤±¤¤¤¢¤¤ ·É°¦ #T30 0 ¤±¤¤¤¤ ·É°Õ #T30 2 ¤±¤¤¤¤ ·Ð°Þ #T35 4 ¤±¤¤¤¤¤Á ·¼°ì #JNM 0 ¤±¤¤¤¤¤Á ·½°ì #JNM 0 ¤±¤¤¤¤¤Á ·Ã°ì #JNM 0 ¤±¤¤¤¤¤Á ·Ä°ì #JNM 0 ¤±¤¤¤¤¤Á ·É°ì #JNM 0 ¤±¤¤¤¤¤ó ·À°õ #T30 0 ¤±¤¤¤¨¤¤ ·Ð±Ä #T30 16 ¤±¤¤¤¨¤ó ·É±ó #T30 1 ¤±¤¤¤ª¤¦ µþ²¦ #KK 2 ¤±¤¤¤ª¤¦ ·ÄØæ #KK 6 ¤±¤¤¤ª¤¦ ·Ä±þ #KK 81 ¤±¤¤¤ª¤¦¤®¤¸¤å¤¯ ·ÄØæµÁ½Î #KK 6 ¤±¤¤¤« ·Ð²á #T30 18 ¤±¤¤¤«¤¤ ·Ú²÷ #T05 0 ¤±¤¤¤«¤¤ ·Ù²ü #T30 0 ¤±¤¤¤«¤¯ ·×²è #T30 79 ¤±¤¤¤«¤ó ·Ê´Ñ #T35 0 ¤±¤¤¤«¤ó ·Ù´± #T35 1 ¤±¤¤¤«¤ó ·Û´É #T35 1 ¤±¤¤¤¬ ·Ä²ì #T30 1 ¤±¤¤¤¬¤¤ ·Á³¼ #T35 1 ¤±¤¤¤¬¤¯ ·¼³Ø #KK 2 ¤±¤¤¤¬¤ó ·Å´ã #T05 0 ¤±¤¤¤­ ·º´ü #T35 0 ¤±¤¤¤­ ·×´ï #T35 0 ¤±¤¤¤­ ·Àµ¡ #T35 1 ¤±¤¤¤­ ·Êµ¤ #T35 1 ¤±¤¤¤­ ·Ñµ¯ #T30 0 ¤±¤¤¤­¤ç¤â¤¦¤É¤¦ ·ÚµóÌÑÆ° #T30 0 ¤±¤¤¤° ·É¶ñ #T35 3 ¤±¤¤¤±¤¤ ßס¹ #F02 0 ¤±¤¤¤±¤ó ·ÉéÊ #T05 0 ¤±¤¤¤±¤ó ·Ð¸³ #T30 52 ¤±¤¤¤²¤ó ·Ú¸º #T30 17 ¤±¤¤¤³ ·¼»Ò #JNM 0 ¤±¤¤¤³ ·½»Ò #JNM 0 ¤±¤¤¤³ ·Ã»Ò #JNM 0 ¤±¤¤¤³ ·Ä»Ò #JNM 0 ¤±¤¤¤³ ·É»Ò #JNM 0 ¤±¤¤¤³ ·Ê»Ò #JNM 0 ¤±¤¤¤³ ·Ë»Ò #JNM 0 ¤±¤¤¤³ ·Î¸Å #T30 1 ¤±¤¤¤³ ¤±¤¤¤³ #T30 3 ¤±¤¤¤³¤¦ ·È¹Ô #T30 0 ¤±¤¤¤³¤¦ ·Ö¸÷ #T35 0 ¤±¤¤¤³¤¦ ·Ü¸ý #T35 0 ¤±¤¤¤³¤¦ ·¹¸þ #T35 8 ¤±¤¤¤³¤¦¤®¤ç¤¦ ·Ú¹©¶È #T35 0 ¤±¤¤¤³¤¦¤È¤¦ ·Ö¸÷Åô #T35 2 ¤±¤¤¤³¤¯ ·Ù¹ð #T30 15 ¤±¤¤¤³¤¯ ·Ìë #T35 10 ¤±¤¤¤´ ·¼¸ã #JNM 0 ¤±¤¤¤´ ·Ù¸î #T30 0 ¤±¤¤¤´ ·É¸ì #T35 1 ¤±¤¤¤´¤¦ ·À¹ç #T30 0 ¤±¤¤¤µ¤¤ ·ÇºÜ #T30 17 ¤±¤¤¤µ¤Ä ·Ù»¡ #T35 6 ¤±¤¤¤µ¤Ä¤«¤ó ·Ù»¡´± #T35 0 ¤±¤¤¤µ¤Ä¤·¤ç ·Ù»¡½ð #T35 0 ¤±¤¤¤µ¤Ä¤Á¤ç¤¦ ·Ù»¡Ä£ #KK 0 ¤±¤¤¤µ¤ó ·×»» #T30 94 ¤±¤¤¤µ¤ó ·Ð»º #T35 1 ¤±¤¤¤µ¤ó¤­ ·×»»µ¡ #T35 147 ¤±¤¤¤µ¤ó¤® ·×»»ÌÚ #T35 1 ¤±¤¤¤µ¤ó¤·¤ç ·×»»½ñ #T35 0 ¤±¤¤¤¶¤¤ ·ÐºÑ #T35 16 ¤±¤¤¤¶¤¤¤«¤¤ ·ÐºÑ³¦ #T35 1 ¤±¤¤¤¶¤¤¤µ¤ó¤®¤ç¤¦¤·¤ç¤¦ ·ÐºÑ»º¶È¾Ê #KK 0 ¤±¤¤¤¶¤¤¤á¤ó ·ÐºÑÌÌ #T35 1 ¤±¤¤¤· ·Ú»ë #T30 1 ¤±¤¤¤· ·Ù»ë #T35 0 ¤±¤¤¤·¤­ ·Á¼° #T35 255 ¤±¤¤¤·¤Á¤ç¤¦ ·Ù»ëÄ£ #KK 3 ¤±¤¤¤·¤Ä ·Á¼Á #T35 0 ¤±¤¤¤·¤ã ·¹¼Ð #T30 1 ¤±¤¤¤·¤å¤¯ ·Ä½Ë #T30 0 ¤±¤¤¤·¤å¤Ä ·Ç½Ð #T30 1 ¤±¤¤¤·¤ç¤¦ ·Ñ¾µ #T30 43 ¤±¤¤¤·¤ç¤¦ ·Á¾Ý #T35 0 ¤±¤¤¤·¤ç¤¦ ·Ê¾¡ #T35 0 ¤±¤¤¤·¤ç¤¦ ·Ú¾É #T35 0 ¤±¤¤¤·¤ç¤¦ ·Ù¾â #T35 1 ¤±¤¤¤·¤ç¤¦ ·Ú½ý #T35 1 ¤±¤¤¤·¤ç¤¦ ·É¾Î #T35 13 ¤±¤¤¤·¤ç¤¯ ·Ú¿© #T30 1 ¤±¤¤¤·¤ó ·Ú¿Ì #T35 0 ¤±¤¤¤¸ ·¼»Ê #JNM 0 ¤±¤¤¤¸ ·¼Æó #JNM 0 ¤±¤¤¤¸ ·½Æó #JNM 0 ¤±¤¤¤¸ ·Ä¼£ #JNM 0 ¤±¤¤¤¸ ·ÉÆó #JNM 0 ¤±¤¤¤¸ ·Ç¼¨ #T30 7 ¤±¤¤¤¸ ·Ä»ö #T35 0 ¤±¤¤¤¸ ·Ð»þ #T35 1 ¤±¤¤¤¸ ·º»ö #T35 2 ¤±¤¤¤¸¤¸¤ç¤¦ ·Á¼©¾å #T35 2 ¤±¤¤¤¸¤ç¤¦ ·¼¾å #T30 0 ¤±¤¤¤¸¤ç¤¦ ·×¾å #T30 4 ¤±¤¤¤¸¤ç¤¦ ·Ð¾ï #T35 1 ¤±¤¤¤¸¤ç¤¦ ·Á¾õ #T35 8 ¤±¤¤¤¹ ¥±¥¤¥¹ #T35 1 ¤±¤¤¤¹¤¤ ·Ú¿å #T35 0 ¤±¤¤¤¹¤¦ ·×¿ô #T35 1 ¤±¤¤¤¹¤¦ ·¸¿ô #T35 2 ¤±¤¤¤¹¤± ²Âͤ #JNM 0 ¤±¤¤¤¹¤± ²ÂÍ´ #JNM 0 ¤±¤¤¤¹¤± ·¼²ð #JNM 0 ¤±¤¤¤º ·Ï¿Þ #T35 0 ¤±¤¤¤»¤¤ ·ÁÀ® #T30 7 ¤±¤¤¤»¤¤ ·¹¾ë #T35 0 ¤±¤¤¤»¤¤ ·ÁÀª #T35 0 ¤±¤¤¤»¤­ ·ÁÀ× #T35 1 ¤±¤¤¤»¤Ä ·ÖÀã #T35 0 ¤±¤¤¤»¤ó ·ËÀî #JCN 0 ¤±¤¤¤»¤ó ·ÐÀþ #T35 1 ¤±¤¤¤»¤ó ¨¬ #T35 2 ¤±¤¤¤»¤ó ¨¢ #T35 24 ¤±¤¤¤»¤ó ¨­ #T35 3 ¤±¤¤¤»¤ó ·ÓÀþ #T35 35 ¤±¤¤¤»¤ó ¨£ #T35 4 ¤±¤¤¤»¤ó ¨¡ #T35 42 ¤±¤¤¤½ âëÁÇ #T35 0 ¤±¤¤¤½¤¦ ·¸Áè #T30 0 ¤±¤¤¤½¤¦ ·ÚÁõ #T30 1 ¤±¤¤¤½¤¦ ·ÁÁê #T35 0 ¤±¤¤¤½¤¯ ·×¬ #T30 10 ¤±¤¤¤½¤Ä ·ÚΨ #T05 1 ¤±¤¤¤¾¤¦ ·¼»° #JNM 0 ¤±¤¤¤¾¤¦ ·Ã»° #JNM 0 ¤±¤¤¤¾¤¦ ·É»° #JNM 0 ¤±¤¤¤¾¤¦ ·Ã£ #T30 0 ¤±¤¤¤¾¤¯ ·Ñ³ #T30 28 ¤±¤¤¤¿ ·ÄÂÀ #JNM 0 ¤±¤¤¤¿¤¤ ·ÈÂÓ #T30 42 ¤±¤¤¤¿¤¤ ·ÁÂÖ #T35 32 ¤±¤¤¤¿¤¤¤½ ·ÁÂÖÁÇ #T35 7 ¤±¤¤¤À¤¤ ·ÄÂç #KK 1 ¤±¤¤¤À¤¤ ·ÑÂå #T30 1 ¤±¤¤¤À¤¤ ¶­Æâ #T35 1 ¤±¤¤¤À¤ó¤ì¤ó ·ÐÃÄÏ¢ #KK 1 ¤±¤¤¤Á¤Ä ·¼ê¯ #T35 1 ¤±¤¤¤Á¤å¤¦ ·¹Ãí #T30 1 ¤±¤¤¤Á¤ç¤¦ ·¹Ä° #T30 0 ¤±¤¤¤Á¤ç¤¦ ·ÄĤ #T35 4 ¤±¤¤¤Á¤ç¤¦¤Õ¤Ï¤¯ ·ÚÐÏÉâÇö #T05 0 ¤±¤¤¤Ä¤¤ ·ÛÄÇ #T35 1 ¤±¤¤¤Æ¤¤ ·»Äï #T35 0 ¤±¤¤¤Æ¤­ ·ÙÅ« #T35 0 ¤±¤¤¤Ç¤ó¤­ ·ÑÅÅ´ï #T35 1 ¤±¤¤¤È ÌÓ»å #T35 1 ¤±¤¤¤È¤¦ ·¹ÅÝ #T30 0 ¤±¤¤¤È¤¦ ·ÏÅý #T35 19 ¤±¤¤¤É ·ÚÅÙ #T05 1 ¤±¤¤¤É ·ÐÅÙ #T35 0 ¤±¤¤¤Í¤ó ·Ðǯ #T35 1 ¤±¤¤¤Ï¤¯ ·ÚÇö #T05 1 ¤±¤¤¤Ï¤Ä ·¼È¯ #T30 2 ¤±¤¤¤Ï¤ó µþºå #CN 0 ¤±¤¤¤Ï¤ó µþºå #KK 6 ¤±¤¤¤Ï¤ó¤¶¤¤ ·ÚÈȺá #T35 0 ¤±¤¤¤Ï¤ó¤·¤ó µþºå¿À #CN 0 ¤±¤¤¤Ð ¶¥ÇÏ #T35 2 ¤±¤¤¤Ð¤¤ ¶¥Çä #T30 0 ¤±¤¤¤Ð¤Ä ·ºÈ³ #T35 0 ¤±¤¤¤Ð¤Ä ïáȶ #T35 0 ¤±¤¤¤Ò ·ÐÈñ #T35 10 ¤±¤¤¤Ò¤ó µþÉÍ #CN 0 ¤±¤¤¤Ò¤ó ·ÊÉÊ #T35 1 ¤±¤¤¤Ó ·ÚÈù #T15 0 ¤±¤¤¤Ó ·ÙÈ÷ #T30 1 ¤±¤¤¤Õ ·ÏÉè #T35 1 ¤±¤¤¤Õ¤¯ µþÊ¡ #KK 1 ¤±¤¤¤Õ¤¯ ·ÉÉþ #T30 1 ¤±¤¤¤Ö ·ÙÉô #T35 0 ¤±¤¤¤Ù¤Ä ·ÚÊÎ #T30 1 ¤±¤¤¤Ù¤ó ·ÚÊØ #T05 0 ¤±¤¤¤Û¤¦ ·ÙÊó #T30 0 ¤±¤¤¤Û¤¦ ·ºË¡ #T35 0 ¤±¤¤¤Û¤¯ µþËÌ #CN 0 ¤±¤¤¤Ü¤¦ ïá˼ #T35 0 ¤±¤¤¤ß¤ç¤¦ ·Ú̯ #T05 0 ¤±¤¤¤à¤·¤ç ·ºÌ³½ê #T35 0 ¤±¤¤¤â¤¦ ·¼ÌØ #T30 0 ¤±¤¤¤ä¤¯ ·ÀÌó #T30 15 ¤±¤¤¤ä¤¯¤·¤ç ·ÀÌó½ñ #T35 3 ¤±¤¤¤æ ·Ðͳ #T30 41 ¤±¤¤¤æ ·ÚÌý #T35 1 ¤±¤¤¤è ·ÃÍ¿ #T30 0 ¤±¤¤¤è¤¦ µþÍÕ #CN 0 ¤±¤¤¤è¤¦ ·ÇÍÈ #T30 1 ¤±¤¤¤è¤¦ ·ÁÍÆ #T30 35 ¤±¤¤¤è¤¦¤· ·ÁÍÆ»ì #T35 22 ¤±¤¤¤è¤¦¤»¤ó µþÍÕÀþ #KK 0 ¤±¤¤¤é¤ó ·ÜÍñ #T35 0 ¤±¤¤¤ê ·ÐÍý #T30 6 ¤±¤¤¤ê¤ã¤¯ ·×ά #T35 0 ¤±¤¤¤ê¤å¤¦ ·¸Î± #T30 0 ¤±¤¤¤ê¤å¤¦ ·Òα #T30 0 ¤±¤¤¤ê¤å¤¦ ·Îα #T30 1 ¤±¤¤¤ê¤å¤¦ ·Ìή #T35 0 ¤±¤¤¤ê¤ç¤¦ ·×ÎÌ #T30 4 ¤±¤¤¤ê¤ó ¶¥ÎØ #T35 1 ¤±¤¤¤ë¤¤ ·¸Îß #T35 1 ¤±¤¤¤ì¤¤ ·ÉÎé #T30 0 ¤±¤¤¤ì¤­ ·ÐÎò #T35 1 ¤±¤¤¤ì¤Ä ·ÏÎó #T35 23 ¤±¤¤¤ì¤ó áÛÚ» #T30 1 ¤±¤¤¤í ·ÐÏ© #T35 85 ¤±¤¤¤í¤¦ ·ÉÏ· #T35 2 ¤±¤ª¤È ¤±Íî¤È #S5r 0 ¤±¤ª¤È ½³Íî¤È #S5r 0 ¤±¤ª¤ê¤â¤Î ÌÓ¿¥Êª #T35 0 ¤±¤¬ ±ø #S5 1 ¤±¤¬ ²ø²æ #T30 5 ¤±¤¬¤é¤ï¤· ±ø¤é¤ï¤· #KY 0 ¤±¤¬¤é¤ï¤·¤¬ ±ø¤é¤ï¤·¤¬ #R5 0 ¤±¤¬¤é¤ï¤·¤å¤¦ ±ø¤é¤ï¤·¤å¤¦ #KYU 0 ¤±¤¬¤ì ±ø¤ì #KSr 0 ¤±¤¬¤ï ÌÓÈé #T35 0 ¤±¤µ ·¶ºÀ #T35 1 ¤±¤µ º£Ä« #T35 34 ¤±¤· ³©»Ò #T35 0 ¤±¤· ¾Ã¤· #T35 2 ¤±¤·¤¤¤ó ¾Ã°õ #T35 4 ¤±¤·¤­ µ¤¿§ #T35 0 ¤±¤·¤­ ·Ê¿§ #T35 2 ¤±¤·¤­¤Ð µ¤¿§¤Ð #M5 0 ¤±¤·¤´¤à ¾Ã¤·¥´¥à #T35 0 ¤±¤·¤È¤á ¾Ã¤·»ß¤á #KSr 0 ¤±¤·¤ç¤¦ ²½¾Ñ #T30 3 ¤±¤·¤ç¤¦¤Ò¤ó ²½¾ÑÉÊ #T35 3 ¤±¤·¤ó ²½¿È #T30 1 ¤±¤º ºï #R5r 9 ¤±¤º¤ê¤È ºï¤ê¼è #R5 2 ¤±¤»¤ó µ¤Àç #CN 0 ¤±¤»¤ó¤Ì¤Þ µ¤Àç¾Â #CN 0 ¤±¤½¤¦ ·üÁÛ #T30 0 ¤±¤¿ ·å #JS 22 ¤±¤¿ ·å #T35 13 ¤±¤¿¤« µ¤¹â #CN 0 ¤±¤¿¤° ¤±¤¿¤° #R5r 0 ¤±¤¿¤¿¤Þ¤· ¤±¤¿¤¿¤Þ¤· #KY 0 ¤±¤¿¤¿¤Þ¤·¤å¤¦ ¤±¤¿¤¿¤Þ¤·¤å¤¦ #KYU 0 ¤±¤¿¤Á¤¬¤¤ ·å°ã¤¤ #T05 1 ¤±¤À¤« µ¤¹â #KY 0 ¤±¤À¤³¤¦ µ¤¹â¤¦ #KYU 0 ¤±¤Á ¤±¤Á #T05 0 ¤±¤Á ¥±¥Á #T05 0 ¤±¤Á¤¯¤µ ¤±¤Á½­ #KY 0 ¤±¤Á¤¯¤µ ¥±¥Á½­ #KY 0 ¤±¤Ã ·è #S5 0 ¤±¤Ã ·è #SX 0 ¤±¤Ã¤« ·ç²Ý #T30 0 ¤±¤Ã¤« ·ë²Ì #T30 255 ¤±¤Ã¤«¤¤ ·è²õ #T30 0 ¤±¤Ã¤«¤¤ ·ë³¦ #T35 0 ¤±¤Ã¤«¤¯ ·ç³Ê #T35 1 ¤±¤Ã¤«¤¯ ·ë³Ë #T35 1 ¤±¤Ã¤«¤ó ·ì´É #T35 0 ¤±¤Ã¤«¤ó ·ç´Ù #T35 1 ¤±¤Ã¤­ ·èµ¯ #T30 0 ¤±¤Ã¤­¤å¤¦ ·ìµå #T35 1 ¤±¤Ã¤­¤ç¤¯ ·ë¶É #T35 103 ¤±¤Ã¤­¤ó ·ç¶Ð #T30 0 ¤±¤Ã¤³¤¦ ¤±¤Ã¤³¤¦ #T05 0 ¤±¤Ã¤³¤¦ ·ë¹½ #T05 255 ¤±¤Ã¤³¤¦ ·ç¹Ò #T30 0 ¤±¤Ã¤³¤¦ ·è¹Ô #T30 0 ¤±¤Ã¤³¤¦ ·ì¹Ô #T35 4 ¤±¤Ã¤³¤ó ·ëº§ #T30 32 ¤±¤Ã¤³¤ó ·ìº¯ #T35 0 ¤±¤Ã¤³¤ó¤·¤­ ·ëº§¼° #T35 17 ¤±¤Ã¤µ¤¤ ·èºÑ #T30 0 ¤±¤Ã¤µ¤¤ ·èºÛ #T30 52 ¤±¤Ã¤µ¤¯ ·æºî #T05 3 ¤±¤Ã¤µ¤Ä ·ëå§ #T30 1 ¤±¤Ã¤µ¤ó ·è»» #T30 2 ¤±¤Ã¤· ·è»à #T35 0 ¤±¤Ã¤·¤­¤½ ·ì¿§ÁÇ #T35 1 ¤±¤Ã¤·¤Æ ¤±¤Ã¤·¤Æ #F14 1 ¤±¤Ã¤·¤Æ ·è¤·¤Æ #F14 29 ¤±¤Ã¤·¤ã ·ë¼Ò #T35 0 ¤±¤Ã¤·¤å¤¦ ·ë½¸ #T30 2 ¤±¤Ã¤·¤å¤Ä ·æ½Ð #T30 0 ¤±¤Ã¤·¤ç¤¦ ·ë¾½ #T30 3 ¤±¤Ã¤·¤ç¤¦ ·ì¾É #T35 1 ¤±¤Ã¤·¤ç¤¦ ·ìÞù #T35 1 ¤±¤Ã¤·¤ç¤¦ ·è¾¡ #T35 26 ¤±¤Ã¤·¤ç¤¦¤»¤ó ·è¾¡Àï #T35 2 ¤±¤Ã¤·¤ç¤¦¤Ð¤ó ·ì¾®ÈÄ #T35 0 ¤±¤Ã¤·¤ç¤¯ ·ç¿© #T30 0 ¤±¤Ã¤·¤ç¤¯ ·ì¿§ #T35 0 ¤±¤Ã¤·¤ó ·ë¿³ #T30 1 ¤±¤Ã¤·¤ó ·è¿´ #T30 3 ¤±¤Ã¤»¤¤ ·ëÀ® #T30 2 ¤±¤Ã¤»¤¤ ·ìÀ¶ #T35 1 ¤±¤Ã¤»¤­ ·çÀÊ #T30 9 ¤±¤Ã¤»¤­ ·ëÀÐ #T35 0 ¤±¤Ã¤»¤Ä ·ëÀá #T35 1 ¤±¤Ã¤»¤ó ·èÀï #T30 1 ¤±¤Ã¤»¤ó ·ìÀò #T35 0 ¤±¤Ã¤½¤¦ ·ìÁê #T35 1 ¤±¤Ã¤½¤¯ ·ë« #T30 0 ¤±¤Ã¤½¤ó ·ç» #T30 0 ¤±¤Ã¤¿¤¯ ·ëÂ÷ #T30 0 ¤±¤Ã¤Á¤ã¤¯ ·èÃå #T30 2 ¤±¤Ã¤Á¤å¤¦ ·ìÃæ #T35 1 ¤±¤Ã¤Á¤ç¤¦ ·ëIJ #T35 1 ¤±¤Ã¤Á¤ó ·ìÄÀ #T35 0 ¤±¤Ã¤Æ¤¤ ·èÄê #T30 181 ¤±¤Ã¤Æ¤¤¤³¤¦ ·èÄê¹Æ #T35 0 ¤±¤Ã¤Æ¤ó ·çÅÀ #T35 24 ¤±¤Ã¤È¤¦ ·èÆ® #T30 0 ¤±¤Ã¤È¤¦ ·ëÅÞ #T30 0 ¤±¤Ã¤È¤¦ ·ìÅý #T35 0 ¤±¤Ã¤È¤¦ ·ìÅü #T35 4 ¤±¤Ã¤È¤Ð ½³¤ÃÈô¤Ð #S5r 0 ¤±¤Ã¤Ñ¤¯ ·éÇò #T05 0 ¤±¤Ã¤Ú¤­ ·éÊÊ #T05 1 ¤±¤Ä µË #KJ 0 ¤±¤Ä ·é #KJ 0 ¤±¤Ä ·ê #KJ 0 ¤±¤Ä ·í #KJ 0 ¤±¤Ä ÊÇ #KJ 0 ¤±¤Ä ÏÏ #KJ 0 ¤±¤Ä ·æ #KJ 1 ¤±¤Ä ·ë #KJ 1 ¤±¤Ä ·ç #KJ 2 ¤±¤Ä ·ì #KJ 2 ¤±¤Ä ·è #T35 4 ¤±¤Ä¤¢¤Ä ·ì°µ #T35 1 ¤±¤Ä¤¤ ·è°Õ #T30 2 ¤±¤Ä¤¤¤ó ·ç°÷ #T35 0 ¤±¤Ä¤¨¤­ ·ì±Õ #T35 1 ¤±¤Ä¤¨¤­¤¬¤¿ ·ì±Õ·¿ #T35 3 ¤±¤Ä¤¨¤ó ·ì±ï #T35 1 ¤±¤Ä¤® ·èµÄ #T30 1 ¤±¤Ä¤´¤¦ ·ë¹ç #T30 63 ¤±¤Ä¤´¤¦¤· ·ë¹ç»Ò #T35 2 ¤±¤Ä¤¸¤Ä ·ë¼Â #T30 1 ¤±¤Ä¤¸¤ç ·çÇ¡ #T30 2 ¤±¤Ä¤¸¤ç¤¦ ·ç¾ì #T30 1 ¤±¤Ä¤¼¤¤ ·ìÀÇ #T35 0 ¤±¤Ä¤¾¤¯ ·ì² #T35 0 ¤±¤Ä¤À¤ó ·ëÃÄ #T30 0 ¤±¤Ä¤À¤ó ·èÃÇ #T30 2 ¤±¤Ä¤Ð¤ó ·çÈÖ #T35 1 ¤±¤Ä¤Ù¤Ä ·èÊÌ #T30 0 ¤±¤Ä¤Ù¤Ä ·íÊÌ #T30 0 ¤±¤Ä¤Ü¤¦ ·ç˳ #T30 1 ¤±¤Ä¤Þ¤¯¤¨¤ó ·ëËì±ê #T35 0 ¤±¤Ä¤Þ¤Ä ·ëËö #T35 2 ¤±¤Ä¤ß¤ã¤¯ ·ìÌ® #T35 0 ¤±¤Ä¤á¤¤ ·ëÌÁ #T30 0 ¤±¤Ä¤é¤¯ ·çÍî #T30 2 ¤±¤Ä¤ê¤å¤¦ ·ìή #T35 0 ¤±¤Ä¤ì¤¤ ·çÎé #T30 0 ¤±¤Ä¤ì¤Ä ·èÎö #T30 0 ¤±¤Ä¤í ·ëϪ #T30 1 ¤±¤Ä¤í¤ó ·ëÏÀ #T30 34 ¤±¤È¤Ð ½³Èô¤Ð #S5r 0 ¤±¤É ¤±¤É #CJ 241 ¤±¤É¤¦¤¤¤ó ··Åú±¡ #JCN 0 ¤±¤É¤Í ¤±¤É¤Í #CJ 0 ¤±¤Ê ìÊ #S5 0 ¤±¤Ê ¤±¤Ê #S5 1 ¤±¤Ê¤² ·òµ¤ #T05 2 ¤±¤Ê¤ß ÌÓÊ #T35 0 ¤±¤Í¤Ç¤£ ¥±¥Í¥Ç¥£ #JN 0 ¤±¤Í¤ó ·üǰ #T30 2 ¤±¤Ï¤¤ µ¤ÇÛ #T35 4 ¤±¤Ó¤ç¤¦ ²¾É #T35 1 ¤±¤Ö¤« ÌÓ¿¼ #KY 0 ¤±¤Ö¤³¤¦ ÌÓ¿¼¤¦ #KYU 0 ¤±¤à ±ì #R5 2 ¤±¤à¤· ÌÓÃî #T35 0 ¤±¤à¤¿ ±ì¤¿ #KY 0 ¤±¤à¤¿¤¬ ±ì¤¿¤¬ #R5 0 ¤±¤à¤È¤¦ ±ì¤È¤¦ #KYU 0 ¤±¤à¤ê ±ì #T35 2 ¤±¤â¤Î ½Ã #T35 1 ¤±¤ä¤­ ݰ #T30 0 ¤±¤é¤¤ ²ÈÍè #T35 0 ¤±¤ê ¤±¤ê #T35 1 ¤±¤ì¤É ¤±¤ì¤É #CJ 3 ¤±¤ì¤É¤â ¤±¤ì¤É¤â #CJ 2 ¤±¤ï¤· ¸±¤· #KY 2 ¤±¤ï¤·¤å¤¦ ¸±¤·¤å¤¦ #KYU 1 ¤±¤ó ¸© #CNSUC1 11 ¤±¤ó ·ò #JNM 0 ¤±¤ó ¸­ #JNM 0 ¤±¤ó ¸¦ #JNSUC 0 ¤±¤ó ´Ö #JS 0 ¤±¤ó ·ï #JS 0 ¤±¤ó ¸© #JS 0 ¤±¤ó ¸® #JS 0 ¤±¤ó °¼ #KJ 0 ¤±¤ó ³ï #KJ 0 ¤±¤ó ´¬ #KJ 0 ¤±¤ó ´Ö #KJ 0 ¤±¤ó ·ñ #KJ 0 ¤±¤ó ·ö #KJ 0 ¤±¤ó ·ù #KJ 0 ¤±¤ó ·ü #KJ 0 ¤±¤ó ·ý #KJ 0 ¤±¤ó ·þ #KJ 0 ¤±¤ó ¸£ #KJ 0 ¤±¤ó ¸¤ #KJ 0 ¤±¤ó ¸§ #KJ 0 ¤±¤ó ¸¨ #KJ 0 ¤±¤ó ¸ª #KJ 0 ¤±¤ó ¸¬ #KJ 0 ¤±¤ó ¸¯ #KJ 0 ¤±¤ó ¸² #KJ 0 ¤±¤ó ¸´ #KJ 0 ¤±¤ó Ëú #KJ 0 ¤±¤ó ·ð #KJ 1 ¤±¤ó ·ó #KJ 1 ¤±¤ó ·÷ #KJ 1 ¤±¤ó ¸¥ #KJ 1 ¤±¤ó ¸° #KJ 1 ¤±¤ó ¸± #KJ 1 ¤±¤ó ¸¦ #KJ 10 ¤±¤ó ·ø #KJ 2 ¤±¤ó ·ú #KJ 2 ¤±¤ó ¸« #KJ 2 ¤±¤ó ¸¢ #KJ 27 ¤±¤ó ·û #KJ 4 ¤±¤ó ·ó #SUC 0 ¤±¤ó ·ô #SUC 0 ¤±¤ó ·÷ #SUC 0 ¤±¤ó ¸¢ #SUC 0 ¤±¤ó ¸¦ #SUC 0 ¤±¤ó ¸³ #T30 1 ¤±¤ó ¸¡ #T30 4 ¤±¤ó ¸© #T35 0 ¤±¤ó ¸­ #T35 1 ¤±¤ó ·ô #T35 16 ¤±¤ó ·ï #T35 255 ¤±¤ó ·ò #T35 3 ¤±¤ó ·õ #T35 3 ¤±¤ó ¸® #T35 5 ¤±¤ó ¸¥ #ZX 0 ¤±¤ó¤¢¤¯ ¸±°­ #T05 0 ¤±¤ó¤¢¤ó ¸¡°Æ #T30 0 ¤±¤ó¤¢¤ó ·ü°Æ #T35 3 ¤±¤ó¤¤ ¸¢°Ò #T35 2 ¤±¤ó¤¤¤Á ·ò°ì #JNM 0 ¤±¤ó¤¤¤Á ·õ°ì #JNM 0 ¤±¤ó¤¤¤Á ·û°ì #JNM 0 ¤±¤ó¤¤¤Á ¸¦°ì #JNM 0 ¤±¤ó¤¤¤Á ¸¬°ì #JNM 0 ¤±¤ó¤¤¤Á ¸­°ì #JNM 0 ¤±¤ó¤¤¤ó ¸¡°õ #T30 0 ¤±¤ó¤¤¤ó ¸£°ú #T30 0 ¤±¤ó¤¨¤¤ ·ó±Ä #T30 0 ¤±¤ó¤¨¤¤ ¸©±Ä #T35 0 ¤±¤ó¤¨¤­ ¸¡±Ö #T30 0 ¤±¤ó¤¨¤Ä ¸¡±Ü #T30 1 ¤±¤ó¤¨¤ó ·ù±ì #T30 8 ¤±¤ó¤¨¤ó ¸¤±î #T35 0 ¤±¤ó¤ª ·ù°­ #T30 16 ¤±¤ó¤ª¤ó ¸¡²¹ #T30 0 ¤±¤ó¤« ·ö²Þ #T30 3 ¤±¤ó¤« ¸©²¼ #T35 1 ¤±¤ó¤«¤¤ ¸©²ñ #T35 0 ¤±¤ó¤«¤¤ ¸«²ò #T35 3 ¤±¤ó¤«¤¯ ·ü³Ö #T30 0 ¤±¤ó¤«¤´¤· ·ö²Þ¹ø #T15 0 ¤±¤ó¤¬¤¤ ·ü³³ #T35 0 ¤±¤ó¤¬¤¤ ¸©³° #T35 0 ¤±¤ó¤¬¤¤ ·÷³° #T35 1 ¤±¤ó¤¬¤¯ ¸«³Ø #T30 35 ¤±¤ó¤¬¤ó ¸¡´ã #T30 0 ¤±¤ó¤­ ·ùµ¤ #T35 1 ¤±¤ó¤­¤Á ·òµÈ #JNM 0 ¤±¤ó¤­¤ã¤¯ ·òµÓ #T05 0 ¤±¤ó¤­¤å¤¦ ¸¦µæ #T30 196 ¤±¤ó¤­¤å¤¦¤«¤¤ ¸¦µæ²ñ #T35 14 ¤±¤ó¤­¤å¤¦¤·¤Ä ¸¦µæ¼¼ #T35 143 ¤±¤ó¤­¤å¤¦¤·¤ç ¸¦µæ½ê #T35 117 ¤±¤ó¤­¤å¤¦¤¸¤ç ¸¦µæ½ê #T35 24 ¤±¤ó¤­¤ç ¸¬µõ #T05 1 ¤±¤ó¤­¤ç ¸¡µó #T30 1 ¤±¤ó¤­¤ó ¸¥¶â #T30 0 ¤±¤ó¤® ·úµÄ #T30 0 ¤±¤ó¤® ¸©µÄ #T35 0 ¤±¤ó¤® ·ùµ¿ #T35 2 ¤±¤ó¤®¤å¤¦ ¸£µí #JN 0 ¤±¤ó¤®¤ç¤¦ ·ó¶È #T30 0 ¤±¤ó¤±¤¤ ¸©·Ù #T35 1 ¤±¤ó¤±¤Ä ¸¥·ì #T30 2 ¤±¤ó¤²¤ó ¸²¸½ #T30 1 ¤±¤ó¤²¤ó ¸¢¸Â #T35 3 ¤±¤ó¤³¤¦ ·ò¹¯ #T05 14 ¤±¤ó¤³¤¦ ¸®¹· #T35 2 ¤±¤ó¤³¤¦¤Û¤±¤ó ·ò¹¯Êݸ± #T35 3 ¤±¤ó¤³¤¯ ·ú¹ñ #T30 0 ¤±¤ó¤´ ·ø¸Ç #T05 0 ¤±¤ó¤µ ¸¡ºº #T30 109 ¤±¤ó¤µ¤¯ ¸¥ºö #T30 0 ¤±¤ó¤µ¤¯ ¸¡º÷ #T30 85 ¤±¤ó¤µ¤¯ ¸¦ºï #T35 0 ¤±¤ó¤µ¤Ä ¸¡»¥ #T30 0 ¤±¤ó¤µ¤Ä ¸¡»¡ #T30 1 ¤±¤ó¤µ¤Ä ¸­»¡ #T30 1 ¤±¤ó¤µ¤Ä¤«¤ó ¸¡»¡´± #T35 0 ¤±¤ó¤µ¤Ä¤Á¤ç¤¦ ¸¡»¡Ä£ #KK 0 ¤±¤ó¤¶¤¤ ·òºß #T05 1 ¤±¤ó¤¶¤¤ ¸²ºß #T30 0 ¤±¤ó¤¶¤¤ ·úºà #T35 0 ¤±¤ó¤¶¤Ö¤í¤¦ ·ò»°Ïº #JNM 0 ¤±¤ó¤¶¤ó ¸¡»» #T30 0 ¤±¤ó¤· ¸¡»à #T30 0 ¤±¤ó¤· ¸¡»ë #T30 0 ¤±¤ó¤· ¸¤»õ #T35 0 ¤±¤ó¤·¤­ ¸«¼± #T35 1 ¤±¤ó¤·¤å¤¦ ¸¡¼ý #T30 17 ¤±¤ó¤·¤å¤¦ ¸¦½¤ #T30 24 ¤±¤ó¤·¤å¤Ä ¸¡½Ð #T30 28 ¤±¤ó¤·¤ç¤¦ ·ò¾¡ #T05 0 ¤±¤ó¤·¤ç¤¦ ¸¡¾Ú #T30 196 ¤±¤ó¤·¤ç¤¦ ·û¾Ï #T35 0 ¤±¤ó¤·¤ç¤¦ ·ü¾Þ #T35 0 ¤±¤ó¤·¤ç¤¦ ¸ª¾Ï #T35 0 ¤±¤ó¤·¤ç¤¦ ç§¾ä #T35 1 ¤±¤ó¤·¤ç¤¯ ·ó¿¦ #T30 0 ¤±¤ó¤·¤ó ¸¡¿Ë #T30 0 ¤±¤ó¤·¤ó ¸¥¿È #T30 1 ¤±¤ó¤·¤ó ¸¡¿Ç #T30 2 ¤±¤ó¤¸ ·ò»Ê #JNM 0 ¤±¤ó¤¸ ·ò¼¡ #JNM 0 ¤±¤ó¤¸ ·ò¼£ #JNM 0 ¤±¤ó¤¸ ·òÆó #JNM 0 ¤±¤ó¤¸ ·òÇ· #JNM 0 ¤±¤ó¤¸ ·ú»Ê #JNM 0 ¤±¤ó¤¸ ·û»Ê #JNM 0 ¤±¤ó¤¸ ·û¼£ #JNM 0 ¤±¤ó¤¸ ·ûÆó #JNM 0 ¤±¤ó¤¸ ¸¦¼£ #JNM 0 ¤±¤ó¤¸ ¸¬¼£ #JNM 0 ¤±¤ó¤¸ ¸¬Æó #JNM 0 ¤±¤ó¤¸ ¸­»Ê #JNM 0 ¤±¤ó¤¸ ¸­¼¡ #JNM 0 ¤±¤ó¤¸ ¸­¼£ #JNM 0 ¤±¤ó¤¸ ¸­Æó #JNM 0 ¤±¤ó¤¸ ·ø»ý #T30 1 ¤±¤ó¤¸ ¸²¼¨ #T30 1 ¤±¤ó¤¸ ¸¡»ö #T35 0 ¤±¤ó¤¸ ¸¥¼­ #T35 0 ¤±¤ó¤¸ ·ò»ù #T35 1 ¤±¤ó¤¸¤Ä ·ø¼Â #T05 0 ¤±¤ó¤¸¤ã ¸­¼Ô #T35 0 ¤±¤ó¤¸¤å¤¦ ·ý½Æ #T35 0 ¤±¤ó¤¸¤ç¤¦ ¸¬¾ù #T05 0 ¤±¤ó¤¸¤ç¤¦ ¸¥¾å #T30 0 ¤±¤ó¤¸¤í¤¦ ·ò¼¡Ïº #JNM 0 ¤±¤ó¤¸¤ó ¸©¿Í #T35 0 ¤±¤ó¤¸¤ó ¸­¿Í #T35 1 ¤±¤ó¤¹¤¤ ·ü¿â #T30 0 ¤±¤ó¤¹¤¦ ¸®¿ô #T35 0 ¤±¤ó¤¹¤¦ ·ï¿ô #T35 25 ¤±¤ó¤¹¤± ·ò²ð #JNM 0 ¤±¤ó¤¹¤± ·ø½õ #JNM 0 ¤±¤ó¤»¤¤ ¸£À© #T30 2 ¤±¤ó¤»¤¤ ¸¢Àª #T35 0 ¤±¤ó¤»¤¤ ¸©À¯ #T35 0 ¤±¤ó¤»¤Ä ·úÀß #T30 6 ¤±¤ó¤»¤Ä¤·¤ç¤¦ ·úÀß¾Ê #KK 0 ¤±¤ó¤»¤ó ·òÁ¢ #T35 0 ¤±¤ó¤¼¤ó ·òÁ´ #T05 3 ¤±¤ó¤½ ¸±ÁË #T05 0 ¤±¤ó¤½ ·ðÁÇ #T05 1 ¤±¤ó¤½¤¦ ·öÁû #T35 1 ¤±¤ó¤½¤ó ¸¬Â½ #T30 0 ¤±¤ó¤¾¤¦ ·ò»° #JNM 0 ¤±¤ó¤¾¤¦ ·ò¢ #JNM 0 ¤±¤ó¤¾¤¦ ¸¬»° #JNM 0 ¤±¤ó¤¾¤¦ ¸­»° #JNM 0 ¤±¤ó¤¾¤¦ ·ú¤ #T30 1 ¤±¤ó¤¾¤¦¤Ö¤Ä ·ú¤ʪ #T35 0 ¤±¤ó¤¾¤¯ âDz #T35 0 ¤±¤ó¤¿¤¤ ·ñÂÕ #T30 0 ¤±¤ó¤¿¤¤ ¸¡ÂÎ #T35 1 ¤±¤ó¤¿¤¤¤«¤ó ·ñÂÕ´¶ #T35 0 ¤±¤ó¤¿¤¤¤­ ·ñÂÕ´ü #T35 0 ¤±¤ó¤¿¤Ã¤­¡¼ ¥±¥ó¥¿¥Ã¥­¡¼ #CN 0 ¤±¤ó¤¿¤í¤¦ ·òÂÀϺ #JNM 0 ¤±¤ó¤¿¤í¤¦ ¸¬Â¿Ïº #JNM 0 ¤±¤ó¤¿¤ó ·òÓ· #T05 0 ¤±¤ó¤Á ¸¡ÃÎ #T30 0 ¤±¤ó¤Á ¸«ÃÏ #T35 4 ¤±¤ó¤Á¤¯ ·úÃÛ #T30 2 ¤±¤ó¤Á¤¯¤· ·úÃۻΠ#T35 0 ¤±¤ó¤Á¤ç ¸²Ãø #T05 4 ¤±¤ó¤Á¤ç¤¦ ·òİ #T05 3 ¤±¤ó¤Á¤ç¤¦ ¸©Ä£ #T35 1 ¤±¤ó¤Æ¤¤ ¸¥Äè #T30 0 ¤±¤ó¤Æ¤¤ ¸¡Äê #T30 3 ¤±¤ó¤Ç¤ó ·öÅÁ #T30 1 ¤±¤ó¤È¤¦ ¸«Åö #T30 14 ¤±¤ó¤È¤¦ ¸¡Æ¤ #T30 255 ¤±¤ó¤È¤¦ ·òÆ® #T30 5 ¤±¤ó¤È¤· ¥±¥ó¥È»æ #T35 0 ¤±¤ó¤É¤¦ ¸©Æ» #T35 0 ¤±¤ó¤É¤¦ ·õÆ» #T35 1 ¤±¤ó¤É¤¸¤å¤¦¤é¤¤ ·þÅÚ½ÅÍè #T30 0 ¤±¤ó¤É¤Á¤ç¤¦¤é¤¤ ·þÅÚ½ÅÍè #T30 0 ¤±¤ó¤Ê¤¤ ·÷Æâ #T35 0 ¤±¤ó¤Ê¤¤ ¸©Æâ #T35 1 ¤±¤ó¤Ê¤ó ¸±Æñ #T05 0 ¤±¤ó¤Ë¤ç¤¦ ¸¡Ç¢ #T30 0 ¤±¤ó¤Ë¤ó ·óǤ #T30 0 ¤±¤ó¤Î¤¦ ¸¥Ç¼ #T30 0 ¤±¤ó¤Î¤ó ·õÆÝ #T05 0 ¤±¤ó¤Ð¤¤¤­ ·ôÇ䵡 #T35 0 ¤±¤ó¤Ð¤ó ¸°È× #T35 0 ¤±¤ó¤Ñ ¸¡ÇÈ #T30 1 ¤±¤ó¤Ó ·óÈ÷ #T30 1 ¤±¤ó¤Ó ¸²Èù #T35 1 ¤±¤ó¤Ó¤­¤ç¤¦ ¸²Èù¶À #T35 0 ¤±¤ó¤Ö¤Á ·õÊ¥ #CN 0 ¤±¤ó¤Ö¤Ä ¸«Êª #T30 1 ¤±¤ó¤Ö¤ê¤Ã¤¸ ¥±¥ó¥Ö¥ê¥Ã¥¸ #CN 0 ¤±¤ó¤Ö¤ó ¸¡Ê¬ #T30 0 ¤±¤ó¤Ö¤ó ¸«Ê¹ #T30 1 ¤±¤ó¤× ¸¨ÉÛ #T35 0 ¤±¤ó¤Ù¤ó ¸¡ÊØ #T30 0 ¤±¤ó¤Ú¤¤¤ê¤Ä ·úÊÃΨ #T35 0 ¤±¤ó¤Ü¤¦¤·¤ç¤¦ ·ò˺¾É #T35 0 ¤±¤ó¤Ý ·òÊÝ #T35 2 ¤±¤ó¤Ý¤¦ ·ýË¡ #T35 0 ¤±¤ó¤Ý¤¦ ·ûË¡ #T35 3 ¤±¤ó¤Þ ¸¦Ëá #T30 0 ¤±¤ó¤ß¤ó ¸©Ì± #T35 0 ¤±¤ó¤à ·ó̳ #T30 0 ¤±¤ó¤á¤¤ ·üÌ¿ #T05 3 ¤±¤ó¤á¤¤ ¸­ÌÀ #T05 4 ¤±¤ó¤á¤¤ ·ï̾ #T35 15 ¤±¤ó¤â¤ó ¸¡Ìä #T30 0 ¤±¤ó¤ä¤¯ ·ðÌó #T30 0 ¤±¤ó¤è¤¦ ·óÍÑ #T30 2 ¤±¤ó¤ê ¸¢Íø #T35 20 ¤±¤ó¤ê¤Ä ¸©Î© #T35 1 ¤±¤ó¤ê¤ç¤¦ ¸«ÎÁ #T35 0 ¤±¤ó¤ê¤ç¤¯ ¸¢ÎÏ #T35 3 ¤±¤ó¤í¤¦ ·øÏ´ #T05 0 ¤² ²ò #KJ 0 ¤² ³° #KJ 0 ¤² ²¼ #T35 43 ¤²¡¼¤Æ ¥²¡¼¥Æ #JN 0 ¤²¡¼¤Ç¤ë ¥²¡¼¥Ç¥ë #JN 0 ¤²¡¼¤È ¥²¡¼¥È #T35 22 ¤²¡¼¤È¤¢¤ì¤¤ ¥²¡¼¥È¥¢¥ì¥¤ #T35 2 ¤²¡¼¤È¤¦¤§¤¤ ¥²¡¼¥È¥¦¥§¥¤ #T35 94 ¤²¡¼¤à ¥²¡¼¥à #T30 37 ¤²¤¤ ·Þ #KJ 0 ¤²¤¤ âË #KJ 1 ¤²¤¤ éº #KJ 1 ¤²¤¤ ·ß #KJ 2 ¤²¤¤ ·Ý #T35 4 ¤²¤¤¤¤¤ó¤Ð¤·¤ç¤¯ ·ß°ûÇÏ¿© #T30 0 ¤²¤¤¤²¤­ ·Þ·â #T30 0 ¤²¤¤¤´¤¦ ·Þ¹ç #T30 1 ¤²¤¤¤´¤È ·Ý»ö #T35 2 ¤²¤¤¤·¤ã ·Ý¼Ô #T35 0 ¤²¤¤¤·¤ã ·Þ¼Ö #T35 1 ¤²¤¤¤·¤å¤ó ·Þ½Õ #T35 0 ¤²¤¤¤¸¤å¤Ä ·Ý½Ñ #T35 8 ¤²¤¤¤»¤¤ ·ÝÀ¾ #CN 0 ¤²¤¤¤Ä ¥²¥¤¥Ä #JN 0 ¤²¤¤¤È¤¦ ·ÝÅö #T35 1 ¤²¤¤¤Ë¤ó ·Ý¿Í #T35 1 ¤²¤¤¤Î¤¦ ·ÝÇ» #CN 0 ¤²¤¤¤Î¤¦ ·Ýǽ #T35 1 ¤²¤¤¤Î¤¦¤¸¤ó ·Ýǽ¿Í #T35 1 ¤²¤¤¤Ï ·ßÇÈ #T35 0 ¤²¤¤¤Ò¤ó ·ÞÉÐ #T35 0 ¤²¤¤¤Ò¤ó¤«¤ó ·ÞÉÐ´Û #T35 1 ¤²¤¤¤Û¤¯ ·ÝËÌ #CN 0 ¤²¤¤¤á¤¤ ·Ý̾ #T35 0 ¤²¤« ³°²Ê #T35 2 ¤²¤«¤¤ ³°²Ê°å #T35 0 ¤²¤«¤¤ ³°³¦ #T35 1 ¤²¤«¤¤ ²¼³¦ #T35 3 ¤²¤«¤ó ²¼´¬ #T35 1 ¤²¤­ µÕ #KJ 0 ¤²¤­ ·á #KJ 0 ¤²¤­ ·ä #KJ 0 ¤²¤­ ·â #KJ 1 ¤²¤­ ·ã #S5 1 ¤²¤­ ·ã #T30 1 ¤²¤­ Üü #T35 0 ¤²¤­ ·à #T35 1 ¤²¤­¤« ·ã²½ #T30 0 ¤²¤­¤«¤é ·ã¿É #T05 2 ¤²¤­¤¬ ·à²è #T35 0 ¤²¤­¤²¤ó ·ã¸º #T30 3 ¤²¤­¤µ¤ó ·ã»¿ #T30 0 ¤²¤­¤·¤ç ·ã½ë #T35 0 ¤²¤­¤·¤ç¤¯ ·ã¿¦ #T35 0 ¤²¤­¤·¤ó ·ã¿Ì #T30 0 ¤²¤­¤¸¤ç¤¦ ·ã¾ð #T30 0 ¤²¤­¤¸¤ç¤¦ ·à¾ì #T35 5 ¤²¤­¤»¤ó ·ãÀï #T30 0 ¤²¤­¤¾¤¦ ·ãÁý #T30 0 ¤²¤­¤¿¤¤ ·âÂà #T30 1 ¤²¤­¤À¤ó ·àÃÄ #T35 1 ¤²¤­¤Ä¤¤ ·âÄÆ #T30 0 ¤²¤­¤Ä¤¦ ·ãÄË #T35 0 ¤²¤­¤Æ¤­ ·àŪ #T05 2 ¤²¤­¤È¤¦ ·ãÆ® #T30 0 ¤²¤­¤È¤Ä ·ãÆÍ #T30 0 ¤²¤­¤É ·ãÅÜ #T30 1 ¤²¤­¤É¤¦ ·ãư #T30 0 ¤²¤­¤Ï ·âÇË #T30 0 ¤²¤­¤Ï¤Ä ·ãȯ #T30 1 ¤²¤­¤Ø¤ó ·ãÊÑ #T30 0 ¤²¤­¤à ·ã̳ #T35 0 ¤²¤­¤á¤Ä ·âÌÇ #T30 0 ¤²¤­¤ä¤¯ ·àÌô #T35 0 ¤²¤­¤ê¤å¤¦ ·ãή #T35 0 ¤²¤­¤ê¤ó µÕÎÚ #T35 0 ¤²¤­¤ì¤¤ ·ãÎå #T30 1 ¤²¤­¤ì¤Ä ·ãÎõ #T05 1 ¤²¤­¤í¤ó ·ãÏÀ #T30 1 ¤²¤³ ²¼¸Í #T35 1 ¤²¤³¤¦ ²¼¹» #T30 1 ¤²¤¶¤¤ ²¼ºÞ #T35 0 ¤²¤¶¤ó ²¼»³ #T30 0 ¤²¤· ²Æ»ê #T35 0 ¤²¤·¤ã ²¼¼Ö #T30 2 ¤²¤·¤å¤¯ ²¼½É #T30 5 ¤²¤¸¤å¤ó ²¼½Ü #T35 6 ¤²¤¹¤¤ ²¼¿å #T35 0 ¤²¤¹¤¤¤É¤¦ ²¼¿åÆ» #T35 2 ¤²¤¹¤È ¥²¥¹¥È #T35 1 ¤²¤»¤ó ²¼Á¥ #T30 0 ¤²¤¿ ¢® #T35 1 ¤²¤¿ ²¼ÂÌ #T35 4 ¤²¤À¤ó ²¼ÃÊ #T35 1 ¤²¤Ã¤« ·î²¼ #T35 1 ¤²¤Ã¤«¤ó ·î´Ö #T35 1 ¤²¤Ã¤«¤ó ·î´© #T35 22 ¤²¤Ã¤­¤å¤¦ ·îµë #T35 0 ¤²¤Ã¤±¤¤ ·î·Ð #T35 0 ¤²¤Ã¤±¤¤¤¸¤å ·î·Ë¼ù #T35 1 ¤²¤Ã¤³¤¦ ·ã¹· #T30 0 ¤²¤Ã¤³¤¦ ·î¸÷ #T35 0 ¤²¤Ã¤µ¤ó ·î»º #T35 0 ¤²¤Ã¤·¤ã ·î¼Õ #T35 3 ¤²¤Ã¤·¤å¤¦ ·î¼ý #T35 0 ¤²¤Ã¤·¤ç¤¯ ·î¿© #T35 0 ¤²¤Ã¤·¤ë¤¤ ¤²¤Ã»õÎà #T35 1 ¤²¤Ã¤·¤ë¤¤ óö»õÎà #T35 1 ¤²¤Ã¤× ·îÉê #T35 0 ¤²¤Ã¤Ú¤¤ ·îÌß #T35 3 ¤²¤Ã¤Ý¤¦ ·îÊð #T35 3 ¤²¤Ã¤Ý¤¦ ·îÊó #T35 3 ¤²¤Ä ·î #KJ 120 ¤²¤Ä¤¬¤¯ ·î³Û #T35 1 ¤²¤Ä¤¸ ·î¼¡ #T35 1 ¤²¤Ä¤Þ¤Ä ·îËö #T35 5 ¤²¤Ä¤è¤¦ ·îÍË #T35 30 ¤²¤Ä¤è¤¦¤Ó ·îÍËÆü #T35 43 ¤²¤Ä¤ê ·îÍø #T35 0 ¤²¤Ä¤ì¤¤ ·îÎð #T35 0 ¤²¤Ä¤ì¤¤ ·îÎã #T35 1 ¤²¤É¤¯ ²òÆÇ #T30 0 ¤²¤Í¤Ä ²òÇ® #T30 0 ¤²¤Í¤Ä¤¶¤¤ ²òÇ®ºÞ #T35 0 ¤²¤Î¤à ¥²¥Î¥à #T35 1 ¤²¤Ð ²¼ÇÏ #T30 1 ¤²¤Ò¤ó ²¼ÉÊ #T05 1 ¤²¤é¤¯ ²¼Íî #T30 0 ¤²¤ê ²¼Î¡ #T35 0 ¤²¤ê¤ã¤¯ ²¼Î¬ #T35 0 ¤²¤ê¤é ¥²¥ê¥é #T35 1 ¤²¤ë ¥²¥ë #T35 1 ¤²¤ë¤Á¤ó ¥²¥ëÄÀ #T35 1 ¤²¤ì¤Ä ²¼Îô #T05 2 ¤²¤ì¤ó¤Ç ¥²¥ì¥ó¥Ç #T35 1 ¤²¤í ²¼Ï¤ #CN 0 ¤²¤ó ¸¼ #JN 0 ¤²¤ó ¸¹ #JS 0 ¤²¤ó ¸µ #JS 20 ¤²¤ó ¸µ #KJ 0 ¤²¤ó ¸· #KJ 0 ¤²¤ó ¸¾ #KJ 0 ¤²¤ó ¸¿ #KJ 0 ¤²¤ó ¸Á #KJ 0 ¤²¤ó ¸¸ #KJ 1 ¤²¤ó ¸À #KJ 1 ¤²¤ó ¸¶ #KJ 11 ¤²¤ó ¸Â #KJ 11 ¤²¤ó ¸» #KJ 3 ¤²¤ó ¸¶ #PRE 0 ¤²¤ó ¸½ #PRE 0 ¤²¤ó ¸» #SUC 0 ¤²¤ó ¸Â #SUC 0 ¤²¤ó ¸½ #T35 12 ¤²¤ó ¸À #T35 17 ¤²¤ó ¸¹ #T35 2 ¤²¤ó ¸¼ #T35 2 ¤²¤ó ¸º #T35 4 ¤²¤ó ¸½ #ZX 1 ¤²¤ó ¸º #ZX 3 ¤²¤ó¤¢¤Ä ¸º°µ #T30 0 ¤²¤ó¤¢¤ó ¸¶°Æ #T35 3 ¤²¤ó¤¤¤ó ¸¶°ø #T30 131 ¤²¤ó¤¨¤¤ ¸¸±Æ #T35 0 ¤²¤ó¤¨¤­ ¸º±× #T30 0 ¤²¤ó¤¨¤­ ¸¶±Õ #T35 0 ¤²¤ó¤¨¤­ ¸½Ìò #T35 2 ¤²¤ó¤« ·ö²Þ #SUC 1 ¤²¤ó¤« ¸º²Á #T30 0 ¤²¤ó¤« ¸À²¼ #T35 0 ¤²¤ó¤« ¸½²¼ #T35 1 ¤²¤ó¤« ¸¶²Á #T35 2 ¤²¤ó¤«¤¤ ¸¼³¤ #CN 0 ¤²¤ó¤«¤¤ ¸·²ü #T30 1 ¤²¤ó¤«¤¤ ¸·²ü #T35 0 ¤²¤ó¤«¤¤ ¸Â³¦ #T35 26 ¤²¤ó¤«¤¤¤Á ¸Â³¦ÃÍ #T35 0 ¤²¤ó¤«¤¯ ¸·³Ê #T05 1 ¤²¤ó¤«¤¯ ¸¸³Ð #T35 1 ¤²¤ó¤«¤·¤ç¤¦¤­¤ã¤¯ ¸º²Á½þµÑ #T30 1 ¤²¤ó¤«¤ó ¸·´¨ #T35 1 ¤²¤ó¤«¤ó ¸¼´Ø #T35 7 ¤²¤ó¤¬ ¸¶²è #T35 0 ¤²¤ó¤¬¤¤ ¸À³° #T35 0 ¤²¤ó¤¬¤¯ ¸º³Û #T30 1 ¤²¤ó¤¬¤¯ ¸¹³Ú #T35 1 ¤²¤ó¤¬¤¯ êÊ³Ø #T35 1 ¤²¤ó¤­ ¸µµ¤ #T05 118 ¤²¤ó¤­ ¸¶´ð #T35 1 ¤²¤ó¤­¤ã¤¯ ¸ºµÑ #T30 0 ¤²¤ó¤­¤å¤¦ ¸ºµë #T30 0 ¤²¤ó¤­¤å¤¦ ¸ÀµÚ #T30 2 ¤²¤ó¤­¤ç¤¦ ¸µ¶§ #T35 0 ¤²¤ó¤­¤ç¤¦ ¸½¶· #T35 1 ¤²¤ó¤­¤ó ¸½¶â #T05 9 ¤²¤ó¤­¤ó ¸·¶Ø #T30 0 ¤²¤ó¤®¤ç¤¦ ¸½¶È #T35 1 ¤²¤ó¤±¤¤ ¸º·º #T30 0 ¤²¤ó¤±¤¤ ¸¶·¿ #T35 1 ¤²¤ó¤±¤¤ ¸¶·Á #T35 1 ¤²¤ó¤³¤¦ ¸À¹Ô #T35 0 ¤²¤ó¤³¤¦ ¸¶¹Æ #T35 171 ¤²¤ó¤³¤¦ ¸½¹Ô #T35 6 ¤²¤ó¤³¤¯ ¸¶¹ð #T35 0 ¤²¤ó¤´ ¸¶¸ì #T35 3 ¤²¤ó¤´ ¸À¸ì #T35 49 ¤²¤ó¤´¤¦ ¸µ¹æ #T35 1 ¤²¤ó¤´¤«¤ó ¸À¸ì´Ñ #T35 0 ¤²¤ó¤´¤¬¤¯ ¸À¸ì³Ø #T35 0 ¤²¤ó¤µ¤¤ ¸º»¦ #T30 15 ¤²¤ó¤µ¤¯ ¸¶ºî #T35 4 ¤²¤ó¤µ¤ó ¸º»º #T30 0 ¤²¤ó¤µ¤ó ¸¶»º #T35 1 ¤²¤ó¤µ¤ó¤Á ¸¶»ºÃÏ #T35 0 ¤²¤ó¤¶¤¤ ¸¶ºá #T35 0 ¤²¤ó¤¶¤¤ ¸½ºß #T35 255 ¤²¤ó¤¶¤¤¤ê¤ç¤¦ ¸¶ºàÎÁ #T35 0 ¤²¤ó¤¶¤ó ¸º»» #T30 1 ¤²¤ó¤· ¸¸»ë #T30 0 ¤²¤ó¤· ¸º»ñ #T30 0 ¤²¤ó¤· ¸¶»æ #T35 0 ¤²¤ó¤· ¸¶»Ò #T35 1 ¤²¤ó¤· ¸¶»Ï #T35 17 ¤²¤ó¤·¤«¤¯ ¸¶»Ò³Ë #T35 1 ¤²¤ó¤·¤å ¸·¼é #T30 7 ¤²¤ó¤·¤å ¸µ¼ó #T35 0 ¤²¤ó¤·¤å ¸¶¼ï #T35 0 ¤²¤ó¤·¤å ¸¶¼ò #T35 0 ¤²¤ó¤·¤å¤¦ ¸º¼ý #T30 1 ¤²¤ó¤·¤å¤¯ ¸·½Í #T05 0 ¤²¤ó¤·¤ç ¸¶½é #T35 0 ¤²¤ó¤·¤ç ¸¶½ñ #T35 1 ¤²¤ó¤·¤ç¤¦ ¸º¾¯ #T30 12 ¤²¤ó¤·¤ç¤¦ ¸½¾Ý #T35 57 ¤²¤ó¤·¤ç¤¯ ¸º¿© #T30 0 ¤²¤ó¤·¤ç¤¯ ¸¶¿§ #T35 0 ¤²¤ó¤·¤ç¤¯ ¸½¿¦ #T35 0 ¤²¤ó¤·¤ê¤ç¤¯ ¸¶»ÒÎÏ #T35 10 ¤²¤ó¤·¤í ¸¶»Òϧ #T35 2 ¤²¤ó¤¸ ¸»¼£ #JNM 0 ¤²¤ó¤¸ ¸»»á #T35 3 ¤²¤ó¤¸¤Ä ¸½¼Â #T35 25 ¤²¤ó¤¸¤Ä¤ß ¸½¼ÂÌ£ #T35 2 ¤²¤ó¤¸¤Æ¤ó ¸½»þÅÀ #T35 0 ¤²¤ó¤¸¤å¤¦ ¸·½Å #T05 2 ¤²¤ó¤¸¤å¤¦¤·¤ç ¸½½»½ê #T35 1 ¤²¤ó¤¸¤å¤¦¤ß¤ó ¸¶½»Ì± #T35 0 ¤²¤ó¤¸¤ç¤¦ ¸¶¾õ #T35 0 ¤²¤ó¤¸¤ç¤¦ ¸½¾õ #T35 96 ¤²¤ó¤¹¤¤ ¸º¿å #T30 0 ¤²¤ó¤¹¤¤ ¸º¿ê #T30 1 ¤²¤ó¤¹¤¤ ¸µ¿ã #T35 1 ¤²¤ó¤¹¤¤¤Ð¤¯ ¸¶¿åÇú #T35 0 ¤²¤ó¤¹¤¦ ¸º¿ô #T30 0 ¤²¤ó¤¹¤ó ¸¶À£ #T35 0 ¤²¤ó¤º ¸¶¿Þ #T35 0 ¤²¤ó¤» ¸½À¤ #T35 0 ¤²¤ó¤»¤¤ ¸·Àµ #T05 1 ¤²¤ó¤»¤­ ¸¶ÀÐ #T35 1 ¤²¤ó¤»¤Ä ¸ÀÀâ #T35 1 ¤²¤ó¤»¤ó ¸·Áª #T30 0 ¤²¤ó¤»¤ó ¸»Àô #T35 4 ¤²¤ó¤¼¤¤ ¸ºÀÇ #T30 3 ¤²¤ó¤¼¤ó ¸·Á³ #F03 1 ¤²¤ó¤½ ¸µÁÇ #T35 1 ¤²¤ó¤½¤¦ ¸½Á÷ #T30 0 ¤²¤ó¤½¤¦ ¸¸ÁÛ #T35 3 ¤²¤ó¤½¤¯ ¸ºÂ® #T30 1 ¤²¤ó¤½¤¯ ¸¶Â§ #T35 33 ¤²¤ó¤½¤ó ¸ºÂ» #T30 0 ¤²¤ó¤½¤ó ¸½Â¸ #T30 0 ¤²¤ó¤¾¤¦ ¸½Áü #T30 0 ¤²¤ó¤¾¤¯ ´Ô¯ #T30 0 ¤²¤ó¤¾¤ó ¸½Â¸ #T30 2 ¤²¤ó¤¿¤¤ ¸ºÂà #T30 2 ¤²¤ó¤¿¤Ä ¸·Ã£ #T30 0 ¤²¤ó¤¿¤ó ¸ºÈ¿ #T30 0 ¤²¤ó¤À¤¤ ¸¶Âê #T35 3 ¤²¤ó¤À¤¤ ¸½Âå #T35 5 ¤²¤ó¤À¤¤¤¸¤ó ¸½Âå¿Í #T35 0 ¤²¤ó¤Á ¸À¼Á #T35 0 ¤²¤ó¤Á ¸½ÃÏ #T35 3 ¤²¤ó¤Á¤å¤¦ ¸¶Ãî #T35 1 ¤²¤ó¤Á¤ç ¸¶Ãø #T35 1 ¤²¤ó¤Á¤ç¤¦ ¸¸Ä° #T35 0 ¤²¤ó¤Ä¤­ ¸¶ÉÕ #T35 4 ¤²¤ó¤Æ¤¤ ¸ÂÄê #T30 71 ¤²¤ó¤Æ¤¤¤· ¸ÂÄê»Ò #T35 1 ¤²¤ó¤Æ¤¤¤Ð¤ó ¸ÂÄêÈÇ #T35 0 ¤²¤ó¤Æ¤ó ¸ºÅÀ #T30 1 ¤²¤ó¤Æ¤ó ¸¶Åµ #T35 1 ¤²¤ó¤Æ¤ó ¸¶ÅÀ #T35 4 ¤²¤ó¤È¤¦ ¸·Åß #T35 0 ¤²¤ó¤È¤¦ ¸¸Åô #T35 0 ¤²¤ó¤É ¸ÂÅÙ #T35 4 ¤²¤ó¤É¤¦ ¸¶Æ° #T35 1 ¤²¤ó¤É¤¦ ¸Àư #T35 2 ¤²¤ó¤É¤¦¤­ ¸¶Æ°µ¡ #T35 0 ¤²¤ó¤É¤¦¤ê¤ç¤¯ ¸¶Æ°ÎÏ #T35 1 ¤²¤ó¤Ë ¤²¤ó¤Ë #F14 1 ¤²¤ó¤Ë ¸½¤Ë #F14 2 ¤²¤ó¤Ë¤ó ¸½Ç¤ #T35 0 ¤²¤ó¤Ð ¸½¾ì #T35 11 ¤²¤ó¤Ð¤¯ ¸¶Çú #T35 0 ¤²¤ó¤Ð¤Ä ¸·È³ #T30 0 ¤²¤ó¤Ð¤ó ¸¶È× #T35 0 ¤²¤ó¤Ñ¤¤ ¸ºÇÛ #T30 0 ¤²¤ó¤Ñ¤Ä ¸¶È¯ #T35 13 ¤²¤ó¤Ô ¸·Èë #T30 0 ¤²¤ó¤Ô¤ó ¸½ÉÊ #T35 0 ¤²¤ó¤Ö ¸¼Éð #KK 0 ¤²¤ó¤Ö¤¬¤ó ¸¼Éð´ä #T35 0 ¤²¤ó¤Ö¤Ä ¸½Êª #T35 2 ¤²¤ó¤Ö¤ó ¸¶Ê¸ #T35 3 ¤²¤ó¤× ¸·Éã #T35 0 ¤²¤ó¤×¤¦ ¸·Éõ #T30 0 ¤²¤ó¤Ú¤¤ ¸»Ê¿ #KK 0 ¤²¤ó¤Ü ¸¶Êí #T35 0 ¤²¤ó¤Ü¤¯ ¸¶ÌÚ #T35 0 ¤²¤ó¤Ý¤¦ ¸ºÊð #T30 0 ¤²¤ó¤Ý¤¦ ¸ºË¡ #T35 1 ¤²¤ó¤Ý¤ó ¸¶ËÜ #T35 14 ¤²¤ó¤Þ¤¤ ¸¼ÊÆ #T35 0 ¤²¤ó¤ß¤Ä ¸·Ì© #T05 9 ¤²¤ó¤á¤¤ ¸·Ì¿ #T30 0 ¤²¤ó¤á¤¤ ¸ÀÌÀ #T30 1 ¤²¤ó¤á¤Ä ¸¸ÌÇ #T30 0 ¤²¤ó¤á¤ó ¸ºÌÈ #T30 1 ¤²¤ó¤ä ¸¶Ìî #T35 0 ¤²¤ó¤æ ¸¶Ìý #T35 1 ¤²¤ó¤æ¤¦ ¸½Í­ #T30 1 ¤²¤ó¤è¤¦ ¸½ÍÑ #T30 0 ¤²¤ó¤ê ¸¶Íý #T35 19 ¤²¤ó¤ê¤å¤¦ ¸»Î® #T35 1 ¤²¤ó¤ê¤ç¤¦ ¸ºÎÌ #T30 2 ¤²¤ó¤ê¤ç¤¦ ¸ÂÎÌ #T30 2 ¤²¤ó¤ê¤ç¤¦ ¸¶ÎÁ #T35 2 ¤²¤ó¤ê¤ç¤¦¤· ¸ÂÎÌ»Ò #T35 13 ¤²¤ó¤í¤¯ ¸µÏ½ #T35 0 ¤²¤ó¤í¤ó ¸ÀÏÀ #T35 1 ¤²¤ó¤í¤ó ¸¶ÏÀ #T35 4 ¤²¤ó¤ï¤¯ ¸¸ÏÇ #T30 0 ¤³ ¸Ð #CNSUC1 19 ¤³ Áæ #G5r 1 ¤³ ¸Ä #JS 0 ¤³ ¸Í #JS 0 ¤³ ²Õ #KJ 0 ¤³ µî #KJ 0 ¤³ µò #KJ 0 ¤³ µõ #KJ 0 ¤³ ¸Ã #KJ 0 ¤³ ¸È #KJ 0 ¤³ ¸É #KJ 0 ¤³ ¸Ê #KJ 0 ¤³ ¸Ë #KJ 0 ¤³ ¸Î #KJ 0 ¤³ ¸Ï #KJ 0 ¤³ ¸Ð #KJ 0 ¤³ ¸Ñ #KJ 0 ¤³ ¸Ò #KJ 0 ¤³ ¸Ó #KJ 0 ¤³ ¸Ô #KJ 0 ¤³ ¸Õ #KJ 0 ¤³ ¸Ø #KJ 0 ¤³ ¸Ù #KJ 0 ¤³ ¸Ú #KJ 0 ¤³ ¸Û #KJ 0 ¤³ ¸Ü #KJ 0 ¤³ ¸ê #KJ 0 ¤³ ÄÛ #KJ 0 ¤³ ¸Ç #KJ 1 ¤³ ¸Ö #KJ 1 ¤³ ¸× #KJ 1 ¤³ Òí #KJ 1 ¤³ »Æ #KJ 3 ¤³ ¸Å #KJ 5 ¤³ Ç» #KY 1 ¤³ º® #M5 6 ¤³ ¹þ #M5r 118 ¤³ ¤³ #M5r 14 ¤³ ¸Î #PRE 0 ¤³ ¾® #PRE 0 ¤³ ¶Å #R5r 39 ¤³ ¹÷ #S5 0 ¤³ Ķ #S5 1 ¤³ ±Û #S5 94 ¤³ ¸Ë #SUC 0 ¤³ ¸Ý #T30 1 ¤³ ¸Í #T35 1 ¤³ Ê´ #T35 1 ¤³ ¸Æ #T35 2 ¤³ ¾® #T35 22 ¤³ ¸Ä #T35 255 ¤³ »Ò #T35 255 ¤³ ̼ #T35 6 ¤³ ¸Ì #T35 8 ¤³ ÀÁ #U5 0 ¤³ Îø #U5 0 ¤³ ¸ð #U5 5 ¤³ ¤³ #kxo 1 ¤³ Íè #kxo 157 ¤³¡¼¤¹ ¥³¡¼¥¹ #T35 6 ¤³¡¼¤¹¤¦¤§¤¢ ¥³¡¼¥¹¥¦¥§¥¢ #T35 1 ¤³¡¼¤¹¤¿¡¼ ¥³¡¼¥¹¥¿¡¼ #T35 0 ¤³¡¼¤À ¥³¡¼¥À #T35 0 ¤³¡¼¤Á ¥³¡¼¥Á #T30 2 ¤³¡¼¤Á¤¾¤ë ¥³¡¼¥Á¥¾¥ë #T35 1 ¤³¡¼¤Á¤ó ¥³¡¼¥Á¥ó #T35 0 ¤³¡¼¤Ç¤£¤Í¡¼¤·¤ç¤ó ¥³¡¼¥Ç¥£¥Í¡¼¥·¥ç¥ó #T30 2 ¤³¡¼¤Ç¤£¤Í¡¼¤È ¥³¡¼¥Ç¥£¥Í¡¼¥È #T30 0 ¤³¡¼¤Ç¤£¤ó¤° ¥³¡¼¥Ç¥£¥ó¥° #T30 34 ¤³¡¼¤È ¥³¡¼¥È #T30 27 ¤³¡¼¤É ¥³¡¼¥É #T35 255 ¤³¡¼¤Ê ¥³¡¼¥Ê #T35 4 ¤³¡¼¤Ñ¤¹ ¥³¡¼¥Ñ¥¹ #T35 0 ¤³¡¼¤Ò¡¼ ¥³¡¼¥Ò¡¼ #T35 11 ¤³¡¼¤Ò¡¼ àÝàê #T35 3 ¤³¡¼¤Ý ¥³¡¼¥Ý #T35 2 ¤³¡¼¤é¤¹ ¥³¡¼¥é¥¹ #T30 1 ¤³¡¼¤ë ¥³¡¼¥ë #T30 60 ¤³¡¼¤ë¤É ¥³¡¼¥ë¥É #T35 1 ¤³¡¼¤ó ¥³¡¼¥ó #T35 2 ¤³¤¢ ¥³¥¢ #T35 49 ¤³¤¢¤¶ ¾®»ú #CNPRE 0 ¤³¤¢¤é ¥³¥¢¥é #T35 2 ¤³¤¤ Îø #T30 22 ¤³¤¤ ÀÁ¤¤ #T35 0 ¤³¤¤ ¸ñ #T35 3 ¤³¤¤ ¸Î°Õ #T35 4 ¤³¤¤ ¤³¤¤ #kxoi 1 ¤³¤¤ Í褤 #kxoi 4 ¤³¤¤¤± ¾®ÃÓ #JNS 0 ¤³¤¤¤± ¾®ÃÓ #T35 8 ¤³¤¤¤±¤À ¾®ÃÓÅÄ #JNS 0 ¤³¤¤¤· Îø¤· #KY 0 ¤³¤¤¤· ¾®ÀÐ #T35 0 ¤³¤¤¤·¤¬ Îø¤·¤¬ #R5 0 ¤³¤¤¤·¤ï¤é ¾®Àи¶ #JCN 0 ¤³¤¤¤¸ ÎøÏ© #T35 1 ¤³¤¤¤º¤ß ¾®Àô #JCN 0 ¤³¤¤¤Ä ¤³¤¤¤Ä #T35 6 ¤³¤¤¤Ç ¾®½Ð #JCN 0 ¤³¤¤¤Ì »Æ¸¤ #T35 1 ¤³¤¤¤Ó¤È Îø¿Í #T35 2 ¤³¤¤¤ó ¥³¥¤¥ó #T35 1 ¤³¤¦ ¹Á #CNSUC1 0 ¤³¤¦ ¹â #CNSUC1 35 ¤³¤¦ ¸ù #JN 0 ¤³¤¦ ¹» #JS 0 ¤³¤¦ ¹à #JS 0 ¤³¤¦ °Á #KJ 0 ¤³¤¦ ³Ã #KJ 0 ¤³¤¦ ³æ #KJ 0 ¤³¤¦ ¶Ä #KJ 0 ¤³¤¦ ¸ó #KJ 0 ¤³¤¦ ¸õ #KJ 0 ¤³¤¦ ¸ö #KJ 0 ¤³¤¦ ¸û #KJ 0 ¤³¤¦ ¹¡ #KJ 0 ¤³¤¦ ¹¢ #KJ 0 ¤³¤¦ ¹£ #KJ 0 ¤³¤¦ ¹¨ #KJ 0 ¤³¤¦ ¹© #KJ 0 ¤³¤¦ ¹« #KJ 0 ¤³¤¦ ¹® #KJ 0 ¤³¤¦ ¹° #KJ 0 ¤³¤¦ ¹² #KJ 0 ¤³¤¦ ¹´ #KJ 0 ¤³¤¦ ¹µ #KJ 0 ¤³¤¦ ¹¼ #KJ 0 ¤³¤¦ ¹Â #KJ 0 ¤³¤¦ ¹Ç #KJ 0 ¤³¤¦ ¹È #KJ 0 ¤³¤¦ ¹É #KJ 0 ¤³¤¦ ¹Ê #KJ 0 ¤³¤¦ ¹Í #KJ 0 ¤³¤¦ ¹Î #KJ 0 ¤³¤¦ ¹Ï #KJ 0 ¤³¤¦ ¹Ð #KJ 0 ¤³¤¦ ¹Ñ #KJ 0 ¤³¤¦ ¹Ó #KJ 0 ¤³¤¦ ¹Õ #KJ 0 ¤³¤¦ ¹Ö #KJ 0 ¤³¤¦ ¹× #KJ 0 ¤³¤¦ ¹Ø #KJ 0 ¤³¤¦ ¹Ù #KJ 0 ¤³¤¦ ¹Û #KJ 0 ¤³¤¦ ¹Ü #KJ 0 ¤³¤¦ ¹Ý #KJ 0 ¤³¤¦ ¹Þ #KJ 0 ¤³¤¦ ¹â #KJ 0 ¤³¤¦ ºè #KJ 0 ¤³¤¦ ȹ #KJ 0 ¤³¤¦ Ì« #KJ 0 ¤³¤¦ ²« #KJ 1 ¤³¤¦ ¶½ #KJ 1 ¤³¤¦ ¸ô #KJ 1 ¤³¤¦ ¸÷ #KJ 1 ¤³¤¦ ¸ü #KJ 1 ¤³¤¦ ¸ý #KJ 1 ¤³¤¦ ¹¤ #KJ 1 ¤³¤¦ ¹ª #KJ 1 ¤³¤¦ ¹¯ #KJ 1 ¤³¤¦ ¹¶ #KJ 1 ¤³¤¦ ¹· #KJ 1 ¤³¤¦ ¹º #KJ 1 ¤³¤¦ ¹¾ #KJ 1 ¤³¤¦ ¹¿ #KJ 1 ¤³¤¦ ¹Ä #KJ 1 ¤³¤¦ ¹Ú #KJ 1 ¤³¤¦ ¹ß #KJ 1 ¤³¤¦ ¹ã #KJ 1 ¤³¤¦ »© #KJ 1 ¤³¤¦ ¼Ê #KJ 1 ¤³¤¦ ¾× #KJ 1 ¤³¤¦ ÚÊ #KJ 1 ¤³¤¦ àÄ #KJ 1 ¤³¤¦ ¹Ì #KJ 10 ¤³¤¦ ¸ø #KJ 13 ¤³¤¦ ¸ò #KJ 2 ¤³¤¦ ¸ú #KJ 2 ¤³¤¦ ¸þ #KJ 2 ¤³¤¦ ¹¦ #KJ 2 ¤³¤¦ ¹¬ #KJ 2 ¤³¤¦ ¹­ #KJ 2 ¤³¤¦ ¹± #KJ 2 ¤³¤¦ ¹¹ #KJ 2 ¤³¤¦ ¹Ô #KJ 2 ¤³¤¦ ¹á #KJ 2 ¤³¤¦ Þæ #KJ 2 ¤³¤¦ ¹¥ #KJ 27 ¤³¤¦ ¹§ #KJ 3 ¤³¤¦ ¹¸ #KJ 3 ¤³¤¦ ¹½ #KJ 3 ¤³¤¦ ¹À #KJ 3 ¤³¤¦ ¹Å #KJ 3 ¤³¤¦ ×¢ #KJ 32 ¤³¤¦ ¹Ë #KJ 4 ¤³¤¦ ¸å #KJ 7 ¤³¤¦ ¹Æ #KJ 7 ¤³¤¦ Ç»¤¦ #KYU 1 ¤³¤¦ ¹â #PRE 0 ¤³¤¦ ¹© #SUC 0 ¤³¤¦ ¹» #SUC 0 ¤³¤¦ ¹Á #SUC 0 ¤³¤¦ ¹à #SUC 0 ¤³¤¦ ¹Ò #T30 2 ¤³¤¦ ¤³¤¦ #T30 255 ¤³¤¦ ¹³ #T30 4 ¤³¤¦ ¸ý #T35 0 ¤³¤¦ ¸õ #T35 1 ¤³¤¦ ¹Á #T35 1 ¤³¤¦ ¸ù #T35 2 ¤³¤¦ ¹à #T35 21 ¤³¤¦ ¸÷ #T35 22 ¤³¤¦ ¹Ã #T35 35 ¤³¤¦ ¹» #T35 72 ¤³¤¦ ¹· #ZX 0 ¤³¤¦ ¹â #ZX 0 ¤³¤¦ ¹Ö #ZX 16 ¤³¤¦¤¢¤Ä ¹â°µ #T15 1 ¤³¤¦¤¢¤ó ¹Í°Æ #T30 3 ¤³¤¦¤¢¤ó ¸ø°Â #T35 0 ¤³¤¦¤¤ ¹â°Ì #T05 8 ¤³¤¦¤¤ ¹¹°á #T30 2 ¤³¤¦¤¤ ¹Ô°Ù #T30 62 ¤³¤¦¤¤ ¸ü°Õ #T35 0 ¤³¤¦¤¤ ¹»°å #T35 0 ¤³¤¦¤¤ ¹¥°Õ #T35 2 ¤³¤¦¤¤¤¦ ¤³¤¦¤¤¤¦ #T36 54 ¤³¤¦¤¤¤­ ¹­°è #T15 22 ¤³¤¦¤¤¤·¤ç¤¦ ¸å°ä¾É #T35 0 ¤³¤¦¤¤¤Á ¸÷°ì #JNM 0 ¤³¤¦¤¤¤Á ¸ø°ì #JNM 0 ¤³¤¦¤¤¤Á ¸ù°ì #JNM 0 ¤³¤¦¤¤¤Á ¹§°ì #JNM 0 ¤³¤¦¤¤¤Á ¹¬°ì #JNM 0 ¤³¤¦¤¤¤Á ¹¬»Ô #JNM 0 ¤³¤¦¤¤¤Á ¹°°ì #JNM 0 ¤³¤¦¤¤¤Á ¹¸°ì #JNM 0 ¤³¤¦¤¤¤Á ¹À°ì #JNM 0 ¤³¤¦¤¤¤Á ¹Ì°ì #JNM 0 ¤³¤¦¤¤¤Á ¹Ö°ì #JNM 0 ¤³¤¦¤¤¤Á¤í¤¦ ¹¬°ìϺ #JNM 0 ¤³¤¦¤¤¤Á¤í¤¦ ¹¸°ìϯ #JNM 0 ¤³¤¦¤¤¤Ã¤Æ¤ó ¹È°ìÅÀ #T35 0 ¤³¤¦¤¤¤ó ¹´°ú #T30 1 ¤³¤¦¤¤¤ó ¸ø°õ #T35 0 ¤³¤¦¤¤¤ó ¹©°÷ #T35 0 ¤³¤¦¤¤¤ó ¹Ô°÷ #T35 0 ¤³¤¦¤¦ ¹ß±« #T30 0 ¤³¤¦¤¦¤ó ¹¥±¿ #T05 10 ¤³¤¦¤¦¤ó ¹¬±¿ #T05 4 ¤³¤¦¤¦¤ó¤­ ¹ÌæÑµ¡ #T35 0 ¤³¤¦¤¨¤¤ ¸÷±É #T35 3 ¤³¤¦¤¨¤¤ ¸ø±Ä #T35 3 ¤³¤¦¤¨¤­ ¸ò°× #T30 0 ¤³¤¦¤¨¤­ ¸ø±× #T35 0 ¤³¤¦¤¨¤­ ¸øÌò #T35 0 ¤³¤¦¤¨¤Ä ¹»±Ü #T30 0 ¤³¤¦¤¨¤ó ¸å±ç #T30 0 ¤³¤¦¤¨¤ó ¹¥±é #T30 0 ¤³¤¦¤¨¤ó ¹Ö±é #T30 10 ¤³¤¦¤¨¤ó ¸ø±é #T30 2 ¤³¤¦¤¨¤ó ¸ø±à #T35 38 ¤³¤¦¤ª¤Ä ¹Ã²µ #T35 0 ¤³¤¦¤ª¤ó ¹±²¹ #T15 0 ¤³¤¦¤ª¤ó ¹â²¹ #T15 1 ¤³¤¦¤ª¤ó ¹â²» #T35 1 ¤³¤¦¤« ¹Ã²ì #CN 0 ¤³¤¦¤« ¹â²Á #T05 13 ¤³¤¦¤« ¹ß²¼ #T30 2 ¤³¤¦¤« ¹Å²½ #T30 3 ¤³¤¦¤« ¹Å²ß #T35 0 ¤³¤¦¤« ¹Í²Ý #T35 0 ¤³¤¦¤« ¹â²Í #T35 0 ¤³¤¦¤« ¹©²Ê #T35 1 ¤³¤¦¤« ¹»²Î #T35 2 ¤³¤¦¤« ¸ú²Ì #T35 80 ¤³¤¦¤«¤¤ ¹â³¬ #T05 1 ¤³¤¦¤«¤¤ ¹Ò³¤ #T30 0 ¤³¤¦¤«¤¤ ¹¹²þ #T30 1 ¤³¤¦¤«¤¤ ¸å²ù #T30 27 ¤³¤¦¤«¤¤ ¸ø³« #T30 65 ¤³¤¦¤«¤¤ ¸ø³¤ #T35 0 ¤³¤¦¤«¤¤¤É¤¦ ¸ø²ñƲ #T35 1 ¤³¤¦¤«¤¬¤¯ ¸÷²½³Ø #T35 0 ¤³¤¦¤«¤­¤«¤¨ ¹à½ñ´¹¤¨ #T35 2 ¤³¤¦¤«¤¯ ¹­³Ñ #T15 0 ¤³¤¦¤«¤¯ ¹ß³Ê #T30 0 ¤³¤¦¤«¤¯ ¹Ã³Ì #T35 1 ¤³¤¦¤«¤Ä àÄàÑ #T05 1 ¤³¤¦¤«¤Õ¤³¤¦¤« ¹¬¤«ÉÔ¹¬¤« #CJ 0 ¤³¤¦¤«¤ó ¸ò´¿ #T30 1 ¤³¤¦¤«¤ó ¸ò´¶ #T30 2 ¤³¤¦¤«¤ó ¸ò´¹ #T30 95 ¤³¤¦¤«¤ó ¹â´± #T35 0 ¤³¤¦¤«¤ó ¹¥´¶ #T35 1 ¤³¤¦¤«¤ó ¹Ý´É #T35 1 ¤³¤¦¤«¤ó¤­ ¸ò´¹´ï #T35 5 ¤³¤¦¤«¤ó¤­ ¸ò´¹µ¡ #T35 80 ¤³¤¦¤¬ ²«²Ï #CN 0 ¤³¤¦¤¬ ¹Ã²ì #JCN 0 ¤³¤¦¤¬ ¹â²í #T35 0 ¤³¤¦¤¬¤¤ ØÍ³´ #T30 0 ¤³¤¦¤¬¤¤ ¸ý³° #T30 1 ¤³¤¦¤¬¤¤ ¹»³° #T35 0 ¤³¤¦¤¬¤¤ ¹½³° #T35 0 ¤³¤¦¤¬¤¤ ¸ø³² #T35 2 ¤³¤¦¤¬¤¤ ¹¼³µ #T35 2 ¤³¤¦¤¬¤¤ ¹Ù³° #T35 4 ¤³¤¦¤¬¤¯ ¹â³Û #T05 1 ¤³¤¦¤¬¤¯ ¸å³Ø #T35 0 ¤³¤¦¤¬¤¯ ¸þ³Ø #T35 0 ¤³¤¦¤¬¤¯ ¹©³Ø #T35 166 ¤³¤¦¤¬¤¯ ¸÷³Ø #T35 2 ¤³¤¦¤¬¤¯¤« ¹©³Ø²Ê #KK 26 ¤³¤¦¤¬¤¯¤Í¤ó ¹â³ØÇ¯ #T35 0 ¤³¤¦¤¬¤¯¤Ö ¹©³ØÉô #T35 68 ¤³¤¦¤¬¤Ã¤« ¹©³Ø²Ê #T35 25 ¤³¤¦¤¬¤ó ¸ü´é #T05 0 ¤³¤¦¤¬¤ó ¹È´é #T35 0 ¤³¤¦¤¬¤ó âÐ´Ý #T35 0 ¤³¤¦¤¬¤ó¤à¤Á ¸ü´é̵ÃÑ #T05 2 ¤³¤¦¤­ ¹âµ® #T05 2 ¤³¤¦¤­ ¸åµ­ #T30 1 ¤³¤¦¤­ ¹¥µ¡ #T35 0 ¤³¤¦¤­ ¹©´ü #T35 0 ¤³¤¦¤­ ¹¥´ñ #T35 1 ¤³¤¦¤­ ¹¥µ¤ #T35 1 ¤³¤¦¤­ ¸å´ü #T35 3 ¤³¤¦¤­ ¹­µ° #T35 3 ¤³¤¦¤­¤·¤ó ¹¥´ñ¿´ #T35 1 ¤³¤¦¤­¤Á ¸üµÈ #JNM 0 ¤³¤¦¤­¤Á ¹§µÈ #JNM 0 ¤³¤¦¤­¤Á ¹¬µÈ #JNM 0 ¤³¤¦¤­¤å¤¦ ¹âµé #T05 10 ¤³¤¦¤­¤å¤¦ ¹Öµæ #T30 6 ¤³¤¦¤­¤å¤¦ ¸åµÜ #T35 0 ¤³¤¦¤­¤å¤¦ ¸øµÙ #T35 0 ¤³¤¦¤­¤å¤¦ ¹Åµå #T35 0 ¤³¤¦¤­¤å¤¦ ¹âµë #T35 0 ¤³¤¦¤­¤å¤¦ ¹±µ× #T35 2 ¤³¤¦¤­¤ç 骵î #T30 0 ¤³¤¦¤­¤ç ¹Äµï #T35 1 ¤³¤¦¤­¤ç¤¦ ¹¥¶· #T05 1 ¤³¤¦¤­¤ç¤¦ ¸ò¶Á #T35 0 ¤³¤¦¤­¤ç¤¦ ¹­¶¹ #T35 1 ¤³¤¦¤­¤ç¤¦ ¸ø¶¦ #T35 13 ¤³¤¦¤­¤ç¤¦¤¬¤¯ ¸ò¶Á³Ú #T35 0 ¤³¤¦¤­¤ç¤¦¤­¤ç¤¯ ¸ò¶Á¶Ê #T35 1 ¤³¤¦¤­¤ç¤¦¤Ö¤Ä ¸ø¶¦Êª #T35 0 ¤³¤¦¤­¤ó ¹´¶Ø #T30 0 ¤³¤¦¤­¤ó ¸ø¶â #T35 0 ¤³¤¦¤­¤ó¤ê ¹â¶âÍø #T35 0 ¤³¤¦¤® ¹±µ¶ #T05 1 ¤³¤¦¤® ¹­µÁ #T15 6 ¤³¤¦¤® ¹³µÄ #T30 2 ¤³¤¦¤® ¹ÖµÁ #T30 6 ¤³¤¦¤® ¹âµÃ #T35 0 ¤³¤¦¤®¤¤¤ó ¹©µ»±¡ #KK 1 ¤³¤¦¤®¤ç¤¦ ¶½¹Ô #T30 16 ¤³¤¦¤®¤ç¤¦ ¹Û¶È #T35 0 ¤³¤¦¤®¤ç¤¦ ¶½¶È #T35 1 ¤³¤¦¤®¤ç¤¦ ¹©¶È #T35 88 ¤³¤¦¤¯ ¹»¶è #T35 1 ¤³¤¦¤¯¤¦ ¹â¶õ #T35 0 ¤³¤¦¤¯¤¦ ¸ý¹Ð #T35 1 ¤³¤¦¤¯¤¦ ¹Ò¶õ #T35 25 ¤³¤¦¤¯¤¦¤­ ¹Ò¶õµ¡ #T35 2 ¤³¤¦¤¯¤¦¤±¤ó ¹Ò¶õ·ô #T35 1 ¤³¤¦¤° ¹©¶ñ #T35 1 ¤³¤¦¤°¤¦ ¹ÄµÜ #T35 0 ¤³¤¦¤°¤ó ¹Ô·³ #T30 0 ¤³¤¦¤±¤¤ ¸ý·Â #JS 0 ¤³¤¦¤±¤¤ ¸ý·Â #T35 0 ¤³¤¦¤±¤¤ ¸å·Ñ #T35 2 ¤³¤¦¤±¤¤ ¸÷·Ê #T35 4 ¤³¤¦¤±¤Ä ¹â·é #T05 0 ¤³¤¦¤±¤Ä¤¢¤Ä ¹â·ì°µ #T35 0 ¤³¤¦¤±¤ó ¸å¸« #T30 0 ¤³¤¦¤±¤ó ¹×¸¥ #T30 12 ¤³¤¦¤²¤¤ ¹©·Ý #T35 3 ¤³¤¦¤²¤­ ¹¶·â #T30 8 ¤³¤¦¤²¤ó ¸ø¸À #T30 1 ¤³¤¦¤²¤ó ¸÷¸» #T35 1 ¤³¤¦¤²¤ó ¹³¸¶ #T35 1 ¤³¤¦¤²¤ó ¹â¸¶ #T35 6 ¤³¤¦¤²¤ó¤Ó¤ç¤¦ 籸¶É #T35 0 ¤³¤¦¤³ ¸ø¸Ë #T35 0 ¤³¤¦¤³ ¹¾¸Ð #T35 1 ¤³¤¦¤³ ¹Í¸Å #T35 1 ¤³¤¦¤³¤¦ ß꡹ #F02 0 ¤³¤¦¤³¤¦ ¹§¹Ô #T00 1 ¤³¤¦¤³¤¦ ¸å¹¶ #T30 0 ¤³¤¦¤³¤¦ ¹Ò¹Ô #T30 2 ¤³¤¦¤³¤¦ ¹Ñæë #T35 0 ¤³¤¦¤³¤¦ ¹â¹» #T35 19 ¤³¤¦¤³¤¦¤»¤¤ ¹â¹»À¸ #T35 2 ¤³¤¦¤³¤¯ ¹­¹ð #T30 19 ¤³¤¦¤³¤¯ ¸ø¹ð #T30 4 ¤³¤¦¤³¤¯ ¸ø¹ñ #T35 0 ¤³¤¦¤³¤Ä ×ò¹û #F02 0 ¤³¤¦¤³¤Ä ¹Å¹ü #T05 0 ¤³¤¦¤´ ¸ò¸ß #T35 4 ¤³¤¦¤´ ¸ý¸ì #T35 5 ¤³¤¦¤´¤¦ ¹Ä¹¡ #T35 1 ¤³¤¦¤´¤¦¤· ¿À¡¹¤· #KY 0 ¤³¤¦¤´¤¦¤·¤å¤¦ ¿À¡¹¤·¤å¤¦ #KYU 0 ¤³¤¦¤´¤¦¤»¤¤ ¸÷¹çÀ® #T30 0 ¤³¤¦¤µ ¹Ãº´ #JNS 0 ¤³¤¦¤µ ¹Íºº #T30 1 ¤³¤¦¤µ ¸òº¹ #T30 11 ¤³¤¦¤µ ³Óº¹ #T35 0 ¤³¤¦¤µ¤¤ ¹ÃÀ¾ #CN 0 ¤³¤¦¤µ¤¤ ¸òºÝ #T30 11 ¤³¤¦¤µ¤¤ ¸øºÄ #T35 0 ¤³¤¦¤µ¤¤ ¹âºÛ #T35 0 ¤³¤¦¤µ¤¤ ÆúºÌ #T35 1 ¤³¤¦¤µ¤¤¤«¤¤ ¹°ºÑ²ñ #KK 0 ¤³¤¦¤µ¤¤¤Ü¤¦ 籺Ù˦ #T35 1 ¤³¤¦¤µ¤« ¾åºå #JNS 0 ¤³¤¦¤µ¤¯ ¹¬ºî #JNM 0 ¤³¤¦¤µ¤¯ ¹Ìä« #JNM 0 ¤³¤¦¤µ¤¯ ¸òºø #T30 0 ¤³¤¦¤µ¤¯ ¹Ìºî #T30 2 ¤³¤¦¤µ¤¯ ¹©ºî #T30 4 ¤³¤¦¤µ¤¯ ¹Ýº÷ #T35 0 ¤³¤¦¤µ¤Ä ¹Ê»¦ #T30 0 ¤³¤¦¤µ¤Ä ¹Í»¡ #T30 32 ¤³¤¦¤µ¤Ä ¹â»¡ #T35 0 ¤³¤¦¤µ¤Ä ¹â»¥ #T35 0 ¤³¤¦¤µ¤ó ¹ß»² #T30 1 ¤³¤¦¤µ¤ó ¸ø»» #T35 0 ¤³¤¦¤µ¤ó ¹Û»º #T35 0 ¤³¤¦¤µ¤ó ¹¥»À #T35 1 ¤³¤¦¤¶ ¹âºÂ #JCN 0 ¤³¤¦¤¶ ¸ýºÂ #T35 14 ¤³¤¦¤¶ ¹ÖºÂ #T35 4 ¤³¤¦¤¶¤¤ ¹Ýºà #T35 0 ¤³¤¦¤¶¤­ ¿Àºê #JCN 0 ¤³¤¦¤¶¤Ä ¸ò»¨ #T30 1 ¤³¤¦¤¶¤Ö¤í¤¦ ¹¬»°Ïº #JNM 0 ¤³¤¦¤¶¤ó ¹Ã»³ #CN 0 ¤³¤¦¤¶¤ó ¹â»³ #T35 0 ¤³¤¦¤¶¤ó ¹Û»³ #T35 1 ¤³¤¦¤· ¹¦»Ò #JN 0 ¤³¤¦¤· ¹ç»Ö #JNM 0 ¤³¤¦¤· ¹Ô»È #T30 1 ¤³¤¦¤· ¸ø»È #T35 0 ¤³¤¦¤· ¸ü»Ö #T35 0 ¤³¤¦¤· ¹Ä»Ò #T35 0 ¤³¤¦¤· »Æµí #T35 0 ¤³¤¦¤· ¸å»è #T35 1 ¤³¤¦¤· ¸ø»Ê #T35 2 ¤³¤¦¤· ¸ø»ä #T35 2 ¤³¤¦¤· ³Ê»Ò #T35 6 ¤³¤¦¤· ¹Ö»Õ #T35 9 ¤³¤¦¤·¤¨¤ó ¹Ã»Ò±à #CN 0 ¤³¤¦¤·¤­ ¸ø¼° #T05 10 ¤³¤¦¤·¤­ ¹Å¼° #T35 0 ¤³¤¦¤·¤Ä ¹Å¼Á #T05 1 ¤³¤¦¤·¤Ä ¹Ä¼¼ #T35 0 ¤³¤¦¤·¤Æ¤ó ³Ê»ÒÅÀ #T35 1 ¤³¤¦¤·¤É ³Ê»Ò¸Í #T35 1 ¤³¤¦¤·¤ã ¹ß¼Ö #T30 1 ¤³¤¦¤·¤ã ¸ø¼Ò #T35 1 ¤³¤¦¤·¤ã ¹»¼Ë #T35 1 ¤³¤¦¤·¤ã ¸å¼Ô #T35 23 ¤³¤¦¤·¤ã¤¯ ¹Ö¼á #T30 0 ¤³¤¦¤·¤ã¤¯ ¸ø¼ß #T35 0 ¤³¤¦¤·¤ã¤¯ ¸ô¼ß #T35 1 ¤³¤¦¤·¤å ¹¶¼é #T35 0 ¤³¤¦¤·¤å¤¦ ¹Ã½£ #CN 0 ¤³¤¦¤·¤å¤¦ ¹Ö½¬ #T30 65 ¤³¤¦¤·¤å¤¦ ¸ý½­ #T35 0 ¤³¤¦¤·¤å¤¦ ¸ø½° #T35 8 ¤³¤¦¤·¤å¤¦¤«¤¤ ¹Ö½¬²ñ #T35 0 ¤³¤¦¤·¤å¤¦¤Ç¤ó¤ï ¸ø½°ÅÅÏà #T35 1 ¤³¤¦¤·¤ç ¸þ½ë #T35 0 ¤³¤¦¤·¤ç ¹â½ê #T35 1 ¤³¤¦¤·¤ç¤¦ ¹â¾° #T05 0 ¤³¤¦¤·¤ç¤¦ ¹Í¾Ú #T30 0 ¤³¤¦¤·¤ç¤¦ Òü¾Ð #T30 0 ¤³¤¦¤·¤ç¤¦ ¸ò¾Ä #T30 17 ¤³¤¦¤·¤ç¤¦ ¸ø¾Î #T30 4 ¤³¤¦¤·¤ç¤¦ ¸ø¾Ú #T35 0 ¤³¤¦¤·¤ç¤¦ ¹©¾³ #T35 0 ¤³¤¦¤·¤ç¤¦ ¹»¾Ï #T35 0 ¤³¤¦¤·¤ç¤¯ ¹¹¾ý #CN 0 ¤³¤¦¤·¤ç¤¯ ¹¥¿§ #T05 0 ¤³¤¦¤·¤ç¤¯ ¸ò¿¥ #T30 0 ¤³¤¦¤·¤ç¤¯ ¸ø¿¦ #T35 0 ¤³¤¦¤·¤í¤¦ ¹¬»ÍϺ #JNM 0 ¤³¤¦¤·¤ó ¹±¿¿ #T05 2 ¤³¤¦¤·¤ó ¹â¿Ê #T30 0 ¤³¤¦¤·¤ó ¸å¿Ê #T30 1 ¤³¤¦¤·¤ó ¹Ô¿Ê #T30 1 ¤³¤¦¤·¤ó ж¿Ê #T30 1 ¤³¤¦¤·¤ó ¹¹¿· #T30 255 ¤³¤¦¤·¤ó ¸ò¿® #T30 68 ¤³¤¦¤·¤ó¤¸¤ç ¶½¿®½ê #T35 0 ¤³¤¦¤·¤ó¤é¤¤ ¹â¿®Íê #T05 2 ¤³¤¦¤·¤ó¤ê¤ç¤¦ ¹á¿ÉÎÁ #T35 0 ¤³¤¦¤¸ ¹§¼¡ #JNM 0 ¤³¤¦¤¸ ¹§¼£ #JNM 0 ¤³¤¦¤¸ ¹§Æó #JNM 0 ¤³¤¦¤¸ ¹¨¼¡ #JNM 0 ¤³¤¦¤¸ ¹¬»Ê #JNM 0 ¤³¤¦¤¸ ¹¬¼¡ #JNM 0 ¤³¤¦¤¸ ¹¬¼£ #JNM 0 ¤³¤¦¤¸ ¹¬Æó #JNM 0 ¤³¤¦¤¸ ¹¯»Ê #JNM 0 ¤³¤¦¤¸ ¹¯¼£ #JNM 0 ¤³¤¦¤¸ ¹À»Ê #JNM 0 ¤³¤¦¤¸ ¹À»Ö #JNM 0 ¤³¤¦¤¸ ¹À¼¡ #JNM 0 ¤³¤¦¤¸ ¹ÀÆó #JNM 0 ¤³¤¦¤¸ ÞæÆó #JNM 0 ¤³¤¦¤¸ ¹â¼¡ #T15 1 ¤³¤¦¤¸ ¸ø¼¨ #T30 0 ¤³¤¦¤¸ ¹©»ö #T30 27 ¤³¤¦¤¸ äñ #T35 0 ¤³¤¦¤¸ ¾®Ï© #T35 1 ¤³¤¦¤¸ ¹í #T35 2 ¤³¤¦¤¸¤¨¤ó ¹­¼­±ñ #KK 7 ¤³¤¦¤¸¤Ä ¸ý¼Â #T35 4 ¤³¤¦¤¸¤Þ¤Á ¹íÄ® #CN 0 ¤³¤¦¤¸¤å ¸ý¼ø #T30 0 ¤³¤¦¤¸¤å¤Ä ¸ý½Ò #T30 0 ¤³¤¦¤¸¤å¤Ä ¹Ö½Ò #T30 0 ¤³¤¦¤¸¤å¤Ä ¸å½Ò #T30 5 ¤³¤¦¤¸¤å¤ó ¹ß½ç #T05 2 ¤³¤¦¤¸¤å¤ó ¸ø½à #T35 1 ¤³¤¦¤¸¤ç ¹µ½ü #T30 3 ¤³¤¦¤¸¤ç ¸ø½ø #T35 4 ¤³¤¦¤¸¤ç¤¦ ¸þ¾å #T30 55 ¤³¤¦¤¸¤ç¤¦ ¸ü¾ð #T35 0 ¤³¤¦¤¸¤ç¤¦ ¸ý¾å #T35 1 ¤³¤¦¤¸¤ç¤¦ ¹±¾ï #T35 2 ¤³¤¦¤¸¤ç¤¦ ¹©¾ì #T35 20 ¤³¤¦¤¸¤ç¤¦¤»¤ó ¹Ã¾õÁ£ #T35 0 ¤³¤¦¤¸¤í¤¦ ¹¬¼¡Ïº #JNM 0 ¤³¤¦¤¸¤ó ¹Ó¿À #CN 0 ¤³¤¦¤¸¤ó ¹¬¿Ó #T05 1 ¤³¤¦¤¹¤¤ ¹Å¿å #T35 0 ¤³¤¦¤¹¤¤ ¹ß¿å #T35 0 ¤³¤¦¤¹¤¤ ¹á¿å #T35 0 ¤³¤¦¤¹¤¤¤¸¤å¤ó ¹â¿å½à #T05 1 ¤³¤¦¤¹¤¦ ¹©¿ô #T35 45 ¤³¤¦¤¹¤± ¹¾²ð #JNM 0 ¤³¤¦¤¹¤± עʹ #JNM 0 ¤³¤¦¤º ¹½¿Þ #T35 1 ¤³¤¦¤º¤¤ ¹¿¿å #T35 1 ¤³¤¦¤º¤« ¹¥»ö²È #T35 0 ¤³¤¦¤»¤¤ ¹ÃÀ¾ #JCN 0 ¤³¤¦¤»¤¤ ¸øÀµ #T05 1 ¤³¤¦¤»¤¤ ¹¹Àµ #T30 0 ¤³¤¦¤»¤¤ ¹¹À¸ #T30 1 ¤³¤¦¤»¤¤ ¹½À® #T30 255 ¤³¤¦¤»¤¤ ¹»Àµ #T30 66 ¤³¤¦¤»¤¤ ¸åÀ¤ #T35 0 ¤³¤¦¤»¤¤ ¸åÀ¸ #T35 1 ¤³¤¦¤»¤¤ ¸þÀ­ #T35 1 ¤³¤¦¤»¤¤ ¹³À¸ #T35 1 ¤³¤¦¤»¤¤ ¹¶Àª #T35 1 ¤³¤¦¤»¤¤ ¹»À¸ #T35 1 ¤³¤¦¤»¤¤ ¹ÅÀ­ #T35 1 ¤³¤¦¤»¤¤ ¹±À± #T35 2 ¤³¤¦¤»¤¤ ¸üÀ¸ #T35 6 ¤³¤¦¤»¤¤¤¤¤ó ¹½À®°÷ #T35 3 ¤³¤¦¤»¤¤¤· ¹½À®»Ò #T35 2 ¤³¤¦¤»¤¤¤·¤ç¤¦ ¸üÀ¸¾Ê #KK 1 ¤³¤¦¤»¤¤¤»¤­ ¹¥À®ÀÓ #T15 0 ¤³¤¦¤»¤¤¤Î¤¦ ¹âÀ­Ç½ #T05 2 ¤³¤¦¤»¤¤¤Ö¤Ã¤·¤Ä ¹³À¸Êª¼Á #T35 1 ¤³¤¦¤»¤¤¤í¤¦¤É¤¦¤·¤ç¤¦ ¸üÀ¸Ï«Æ¯¾Ê #KK 0 ¤³¤¦¤»¤­ ¹ÛÀÐ #T35 0 ¤³¤¦¤»¤­ ¸ùÀÓ #T35 1 ¤³¤¦¤»¤Ä ¹ßÀã #T30 0 ¤³¤¦¤»¤Ä ¹ªÀÛ #T35 1 ¤³¤¦¤»¤ó ¸òÀï #T30 0 ¤³¤¦¤»¤ó ¸øÁª #T30 0 ¤³¤¦¤»¤ó ¸òÀþ #T35 1 ¤³¤¦¤»¤ó ¸÷Àþ #T35 3 ¤³¤¦¤»¤ó ¹âÀì #T35 6 ¤³¤¦¤¼¤ó ¸øÁ³ #T05 4 ¤³¤¦¤½ ¸øÁÊ #T30 0 ¤³¤¦¤½ ¹µÁÊ #T30 0 ¤³¤¦¤½ ¹ÚÁÇ #T35 0 ¤³¤¦¤½¤¦ ¹­ÁÔ #T05 0 ¤³¤¦¤½¤¦ ¹âÁØ #T15 0 ¤³¤¦¤½¤¦ ¸åÁ÷ #T30 0 ¤³¤¦¤½¤¦ ¹³Áè #T30 0 ¤³¤¦¤½¤¦ ¹½ÁÛ #T30 6 ¤³¤¦¤½¤¦ ¹ßÁú #T35 0 ¤³¤¦¤½¤¦ ¹âÁÎ #T35 0 ¤³¤¦¤½¤¯ ¹â® #T05 58 ¤³¤¦¤½¤¯ ¹¼ºÉ #T30 0 ¤³¤¦¤½¤¯ ¹´Â« #T30 16 ¤³¤¦¤½¤¯ ¸÷® #T35 1 ¤³¤¦¤½¤¯ ¹»Â§ #T35 1 ¤³¤¦¤½¤·¤ó ¹µÁÊ¿³ #T35 0 ¤³¤¦¤½¤Ä ¹â´ #T35 6 ¤³¤¦¤¾¤¦ ¹§»° #JNM 0 ¤³¤¦¤¾¤¦ ¹¬»° #JNM 0 ¤³¤¦¤¾¤¦ ¹½Â¤ #T35 241 ¤³¤¦¤¾¤¦¤« ¹½Â¤²½ #T30 14 ¤³¤¦¤¾¤¦¤¿¤¤ ¹½Â¤ÂÎ #T35 186 ¤³¤¦¤¾¤¯ ¸å³ #T30 2 ¤³¤¦¤¾¤¯ ¹Ä² #T35 1 ¤³¤¦¤¿ ¹¬ÅÄ #JCN 0 ¤³¤¦¤¿ ¾®²Î #T35 2 ¤³¤¦¤¿¤¤ ¸òÂå #T30 1 ¤³¤¦¤¿¤¤ ¸åÂà #T30 2 ¤³¤¦¤¿¤¤ ¸òÂØ #T30 4 ¤³¤¦¤¿¤¤ ¹³ÂÎ #T35 1 ¤³¤¦¤¿¤¤¤« ¹³ÂβÁ #T35 1 ¤³¤¦¤¿¤¤¤´¤¦ ¹ÄÂÀ¹¡ #T35 1 ¤³¤¦¤¿¤¤¤· ¹ÄÂÀ»Ò #T35 0 ¤³¤¦¤¿¤¯ ¸÷Âô #T35 0 ¤³¤¦¤¿¤í¤¦ ¹§ÂÀϺ #JNM 0 ¤³¤¦¤¿¤í¤¦ ¹¬ÂÀϺ #JNM 0 ¤³¤¦¤¿¤ó ¹ßà#T30 0 ¤³¤¦¤¿¤ó ¸åü #T35 2 ¤³¤¦¤À ¹¬ÅÄ #JCN 0 ¤³¤¦¤À ¹ÃÅÄ #JCN 0 ¤³¤¦¤À ¸Å±§ÅÄ #JNS 0 ¤³¤¦¤À ¹ÔÅÄ #JNS 0 ¤³¤¦¤À ¿ÀÅÄ #JNS 0 ¤³¤¦¤À¤¤ ¹©Âç #CNSUC1 2 ¤³¤¦¤À¤¤ ¹­Âç #T05 1 ¤³¤¦¤À¤ó ¸åÃÊ #T35 0 ¤³¤¦¤À¤ó ¹ÖÃÅ #T35 0 ¤³¤¦¤À¤ó ¸øÃÄ #T35 1 ¤³¤¦¤À¤ó ¹ÖÃÌ #T35 1 ¤³¤¦¤À¤ó¤· ¹¥ÃË»Ò #T35 0 ¤³¤¦¤À¤ó¤·¤ã ¹ÖÃÌ¼Ò #KK 2 ¤³¤¦¤Á ¹âÃÎ #CN 0 ¤³¤¦¤Á ²ÏÆâ #JCN 0 ¤³¤¦¤Á ¹´ÃÖ #T30 0 ¤³¤¦¤Á ¸åÃÖ #T30 7 ¤³¤¦¤Á ¹ÌÃÏ #T35 0 ¤³¤¦¤Á ¹ªÃÙ #T35 4 ¤³¤¦¤Á¤¯ ¹½ÃÛ #T30 113 ¤³¤¦¤Á¤±¤ó ¹âÃθ© #CNS 0 ¤³¤¦¤Á¤· ¹âÃÎ»Ô #CNS 0 ¤³¤¦¤Á¤ã ¹ÈÃã #T35 3 ¤³¤¦¤Á¤ã¤¯ ¹ßÃå #T30 0 ¤³¤¦¤Á¤ã¤¯ ç±Ãå #T30 1 ¤³¤¦¤Á¤å¤¦¤­¤å¤¦ ¹¥Ãæµå #T35 1 ¤³¤¦¤Á¤ç¤¦ ¹¥Ä´ #T05 2 ¤³¤¦¤Á¤ç¤¦ ¹ÈĬ #T30 0 ¤³¤¦¤Á¤ç¤¦ ¹âĬ #T35 0 ¤³¤¦¤Á¤ç¤¦ ¹»Ä¹ #T35 2 ¤³¤¦¤Á¤ç¤¦¤«¤¤ ¸øÄ°²ñ #T35 1 ¤³¤¦¤Á¤ç¤¦¤Ï ¹âÄ´ÇÈ #T35 0 ¤³¤¦¤Á¤ç¤¯ ¹Åľ #T30 0 ¤³¤¦¤Á¤ó ¹©Ä #T35 1 ¤³¤¦¤Ä¤¦ ¸òÄÌ #T30 14 ¤³¤¦¤Ä¤¦¤­¤«¤ó ¸òÄ̵¡´Ø #T35 2 ¤³¤¦¤Ä¤¦¤â¤¦ ¸òÄÌÌÖ #T35 0 ¤³¤¦¤Ä¤´¤¦ ¹¥ÅÔ¹ç #T05 2 ¤³¤¦¤Å¤­ ¾å·î #JCN 0 ¤³¤¦¤Å¤­ ¿À·î #JNS 0 ¤³¤¦¤Å¤± ¾åÌî #JCN 0 ¤³¤¦¤Å¤·¤Þ ¿ÀÄÅÅç #JCN 0 ¤³¤¦¤Æ¤¤ ¸øÄê #T30 0 ¤³¤¦¤Æ¤¤ ¹»Äû #T30 0 ¤³¤¦¤Æ¤¤ ¹ÎÄê #T30 19 ¤³¤¦¤Æ¤¤ ¸øÅ¡ #T35 0 ¤³¤¦¤Æ¤¤ ¹»Äí #T35 0 ¤³¤¦¤Æ¤¤ ¹ÔÄø #T35 1 ¤³¤¦¤Æ¤¤ ¹ÄÄë #T35 2 ¤³¤¦¤Æ¤¤ ¹âÄã #T35 2 ¤³¤¦¤Æ¤¤ ¹©Äø #T35 32 ¤³¤¦¤Æ¤¤¤¨¤­ ¸ýÄý±Ö #T35 1 ¤³¤¦¤Æ¤­ ¹¥Å¬ #T05 1 ¤³¤¦¤Æ¤­ ¸øÅª #T05 2 ¤³¤¦¤Æ¤­¤·¤å ¹¥Å¨¼ê #T35 0 ¤³¤¦¤Æ¤Ä ¹¹Å³ #T30 0 ¤³¤¦¤Æ¤Ä ¹ÝÅ´ #T35 0 ¤³¤¦¤Æ¤ó ¸øÅ¾ #T30 2 ¤³¤¦¤Æ¤ó ¹¥Å¾ #T30 2 ¤³¤¦¤Æ¤ó ¸åÅ· #T35 0 ¤³¤¦¤Æ¤ó ¹¥Å· #T35 0 ¤³¤¦¤Æ¤ó ¸òÅÀ #T35 5 ¤³¤¦¤Ç¤¤ ¹´Å¥ #T30 0 ¤³¤¦¤Ç¤é ¹á»û #JCN 0 ¤³¤¦¤Ç¤ó ¹áŵ #T35 1 ¤³¤¦¤È¤¦ ¹¾Åì #JCN 0 ¤³¤¦¤È¤¦ ¹±Åù #T05 2 ¤³¤¦¤È¤¦ ¹âÅù #T05 2 ¤³¤¦¤È¤¦ ¹âÆ­ #T30 1 ¤³¤¦¤È¤¦ ¹¢Æ¬ #T35 0 ¤³¤¦¤È¤¦ ¹¾Åì #T35 10 ¤³¤¦¤È¤¦ ¸ýƬ #T35 7 ¤³¤¦¤È¤¦¤·¤­ ¹±Åù¼° #T35 3 ¤³¤¦¤È¤¦¤Ö ¸åƬÉô #T35 0 ¤³¤¦¤È¤¦¤à¤±¤¤ ¹ÓÅâ̵·Î #T05 0 ¤³¤¦¤È¤¦¤è¤¦ ¸åƬÍÕ #T35 0 ¤³¤¦¤È¤¯ ¸øÆÁ #T35 0 ¤³¤¦¤É ¹âÅÙ #T05 25 ¤³¤¦¤É ²«ÅÚ #T35 0 ¤³¤¦¤É¤¦ ¹Ôư #T30 60 ¤³¤¦¤É¤¦ ¸øÆ» #T35 0 ¤³¤¦¤É¤¦ ¹£Æ» #T35 0 ¤³¤¦¤É¤¦ ²«Æ» #T35 1 ¤³¤¦¤É¤¦ ¹ÖƲ #T35 3 ¤³¤¦¤É¤¯ ¹ØÆÉ #T30 6 ¤³¤¦¤Ê¤¤ ¹»Æâ #T35 0 ¤³¤¦¤Ê¤¤ ¹ÁÆâ #T35 0 ¤³¤¦¤Ê¤¤ ¹½Æâ #T35 4 ¤³¤¦¤Ê¤¤¤¨¤ó ¸ýÆâ±ê #T35 0 ¤³¤¦¤Ê¤ó ¹¾Æî #CN 0 ¤³¤¦¤Ê¤ó ¹ÁÆî #CN 0 ¤³¤¦¤Ê¤ó ¹ÃÆî #CN 0 ¤³¤¦¤Ê¤ó ¹áÆî #CN 0 ¤³¤¦¤Ê¤ó ¹ÅÆð #T35 0 ¤³¤¦¤Ë¤å¤¦ ¹ØÆþ #T30 77 ¤³¤¦¤Ë¤ó ¸øÇ§ #T30 2 ¤³¤¦¤Ë¤ó ¸åǤ #T35 2 ¤³¤¦¤Ì ¹ÃÅÛ #JCN 0 ¤³¤¦¤Í¤Ä ¸÷Ç® #T35 12 ¤³¤¦¤Í¤Ä ¹âÇ® #T35 2 ¤³¤¦¤Í¤ó ¸÷ǯ #JS 0 ¤³¤¦¤Í¤ó ¸åǯ #T35 0 ¤³¤¦¤Í¤ó ¹âǯ #T35 1 ¤³¤¦¤Í¤ó¤­ ¹¹Ç¯´ü #T35 0 ¤³¤¦¤Î ²ÏÌî #JNS 0 ¤³¤¦¤Î¤¦ ¸úǽ #T35 2 ¤³¤¦¤Î¤¹ ¹ãÁã #JCN 0 ¤³¤¦¤Ï ¹ÅÇÉ #T35 0 ¤³¤¦¤Ï ¸÷ÇÈ #T35 2 ¤³¤¦¤Ï¤¤ ¹ÓÇÑ #T30 1 ¤³¤¦¤Ï¤¤ ¹âÇÛ #T35 0 ¤³¤¦¤Ï¤¤ ¸åÇÚ #T35 21 ¤³¤¦¤Ï¤¯ ¹ÈÇò #T35 1 ¤³¤¦¤Ï¤ó ¹­ÈÏ #T05 1 ¤³¤¦¤Ï¤ó ³ÉÙ #T30 0 ¤³¤¦¤Ï¤ó ¸øÈ½ #T30 1 ¤³¤¦¤Ï¤ó ¸åȾ #T35 10 ¤³¤¦¤Ï¤ó¤¤ ¹­ÈÏ°Ï #T05 4 ¤³¤¦¤Ð ¹©¾ì #T35 1 ¤³¤¦¤Ð¤¤ ¹ØÇã #T30 1 ¤³¤¦¤Ð¤¤ ¹ÈÇß #T35 0 ¤³¤¦¤Ð¤¤ ¸ûÇÛ #T35 1 ¤³¤¦¤Ð¤· ¹á¤Ð¤· #KYmi 0 ¤³¤¦¤Ð¤·¤å¤¦ ¹á¤Ð¤·¤å¤¦ #KYU 0 ¤³¤¦¤Ð¤ó ¸òÈÖ #T35 6 ¤³¤¦¤Ò ¹©Èñ #T35 0 ¤³¤¦¤Ò ¸øÈñ #T35 1 ¤³¤¦¤Ò¤Ä ¹ÅÉ® #T35 0 ¤³¤¦¤Ò¤ç¤¦ ¹¥É¾ #T05 4 ¤³¤¦¤Ò¤ç¤¦ ¹Öɾ #T30 0 ¤³¤¦¤Ò¤ç¤¦ ¸øÉ½ #T30 6 ¤³¤¦¤Ò¤ó ¸øÉÐ #T35 0 ¤³¤¦¤Ó ¸òÈø #T30 0 ¤³¤¦¤Ó ¸åÈø #T35 2 ¤³¤¦¤Õ ¹¾ÉÜ #CN 0 ¤³¤¦¤Õ ¹ÃÉÜ #CN 0 ¤³¤¦¤Õ ¸òÉÕ #T30 1 ¤³¤¦¤Õ ¸øÉÛ #T30 1 ¤³¤¦¤Õ¤¦ ¹»É÷ #T35 0 ¤³¤¦¤Õ¤¯ ¹¬Ê¡ #T05 1 ¤³¤¦¤Õ¤¯ ¹ßÉú #T30 1 ¤³¤¦¤Õ¤· ¹ÃÉÜ»Ô #CNS 0 ¤³¤¦¤Õ¤ó ¶½Ê³ #T30 2 ¤³¤¦¤Ö ¸åÉô #T35 1 ¤³¤¦¤Ö¤Ä ¹¥Êª #T35 1 ¤³¤¦¤Ö¤Ä ¹Ûʪ #T35 1 ¤³¤¦¤Ö¤ó ¹½Ê¸ #T35 22 ¤³¤¦¤Ö¤ó¤® ¹½Ê¸ÌÚ #T35 6 ¤³¤¦¤Ö¤ó¤·¤ç ¸øÊ¸½ñ #T35 0 ¤³¤¦¤Ø¤¤ ¸øÊ¿ #JNM 0 ¤³¤¦¤Ø¤¤ ¹¬Ê¿ #JNM 0 ¤³¤¦¤Ø¤¤ ¹ÌÊ¿ #JNM 0 ¤³¤¦¤Ø¤¤ ¸øÊ¿ #T05 4 ¤³¤¦¤Ø¤¤¤ì¤Ä ¹âÊÂÎó #T35 3 ¤³¤¦¤Ø¤ó ¸åÊÔ #T35 0 ¤³¤¦¤Ù ¿À¸Í #JCN 0 ¤³¤¦¤Ù¤· ¿À¸Í»Ô #CNS 0 ¤³¤¦¤Û ¸õÊä #T35 255 ¤³¤¦¤Û¤¦ ¹­Êó #T30 3 ¤³¤¦¤Û¤¦ ¸øÊó #T35 0 ¤³¤¦¤Û¤¦ ¹©Ë¡ #T35 0 ¤³¤¦¤Û¤¦ ¸åÊý #T35 1 ¤³¤¦¤Û¤¯ ¹¾ËÌ #CN 0 ¤³¤¦¤Û¤¯ ¹ÁËÌ #CN 0 ¤³¤¦¤Ü ¸øÊç #T30 3 ¤³¤¦¤Ü ¹ÚÊì #T35 0 ¤³¤¦¤Ü¤¦ ¹¥ËÉ #T30 1 ¤³¤¦¤Ü¤¦ ¶½Ë´ #T30 2 ¤³¤¦¤Ü¤¦ ¹¶ËÉ #T30 3 ¤³¤¦¤Ü¤¦ ¹©Ë¼ #T35 1 ¤³¤¦¤Ü¤¯ ¹âÌÚ #T35 0 ¤³¤¦¤Þ¤¤ ¹âî² #T05 0 ¤³¤¦¤Þ¤ó ¹âËý #T05 0 ¤³¤¦¤ß ¾®³¤ #JCN 0 ¤³¤¦¤ß ¹áÌ£ #T35 1 ¤³¤¦¤ß¤Ä ¹âÌ© #T35 0 ¤³¤¦¤ß¤ã¤¯ ¹ÛÌ® #T35 0 ¤³¤¦¤ß¤ç¤¦ ¹ªÌ¯ #T05 1 ¤³¤¦¤ß¤ó ¸øÌ± #T35 1 ¤³¤¦¤ß¤ó¤«¤ó ¸øÌ±´Û #T35 0 ¤³¤¦¤à Èï #R5 1 ¤³¤¦¤à ¸øÌ³ #T35 0 ¤³¤¦¤à¤¤¤ó ¸øÌ³°÷ #T35 2 ¤³¤¦¤à¤Æ¤ó ¹©Ì³Å¹ #T35 1 ¤³¤¦¤á¤¤ ¸øÌÀ #T05 0 ¤³¤¦¤á¤¤ ¹â̾ #T05 0 ¤³¤¦¤á¤¤¤È¤¦ ¸øÌÀÅÞ #KK 0 ¤³¤¦¤â¤¯ ¹àÌÜ #T35 255 ¤³¤¦¤â¤¯¤¹¤¦ ¹àÌÜ¿ô #T35 0 ¤³¤¦¤â¤ê ¥³¥¦¥â¥ê #T35 0 ¤³¤¦¤â¤ê éþéõ #T35 0 ¤³¤¦¤â¤ó ¹»Ìç #T35 1 ¤³¤¦¤â¤ó æêÌç #T35 2 ¤³¤¦¤ä ¹âÌî #JCN 0 ¤³¤¦¤ä ¹­Ìî #T35 0 ¤³¤¦¤ä ¹ÓÌî #T35 1 ¤³¤¦¤ä ¹âÌî #T35 3 ¤³¤¦¤ä¤® ¹á¾Æ #JCN 0 ¤³¤¦¤ä¤¯ ¸ýÌó #T30 0 ¤³¤¦¤ä¤¯ ¸øÌó #T30 2 ¤³¤¦¤ä¤°¤Á ¹âÌî¸ý #CN 0 ¤³¤¦¤ä¤Þ ¹â»³ #JCN 0 ¤³¤¦¤ä¤Þ ¸÷»³ #JNS 0 ¤³¤¦¤æ¤¦ ¸òͧ #T30 0 ¤³¤¦¤æ¤¦ ¸øÍ­ #T30 0 ¤³¤¦¤æ¤¦ ¸òÍ· #T30 1 ¤³¤¦¤è¤¦ ¹¨ÍÛ #JNS 0 ¤³¤¦¤è¤¦ ¹ÃÍÛ #KK 2 ¤³¤¦¤è¤¦ ¹·ÍÈ #T30 0 ¤³¤¦¤è¤¦ ¹ÈÍÕ #T30 1 ¤³¤¦¤è¤¦ ¹âÍÈ #T30 1 ¤³¤¦¤è¤¦ ¸øÍÑ #T35 0 ¤³¤¦¤è¤¦ ¸úÍÑ #T35 0 ¤³¤¦¤é ¹ÃÎÉ #JCN 0 ¤³¤¦¤é¤¯ ¹Ô³Ú #T30 0 ¤³¤¦¤é¤¯¤¨¤ó ¸å³Ú±à #CN 0 ¤³¤¦¤é¤ó ³ÉÍð #T30 0 ¤³¤¦¤é¤ó ¹âÍ÷ #T35 0 ¤³¤¦¤ê ¾®Çä #T30 2 ¤³¤¦¤ê ¸ùÍø #T35 0 ¤³¤¦¤ê ¹ÔÍû #T35 0 ¤³¤¦¤ê ¹âÍø #T35 0 ¤³¤¦¤ê ¸øÍý #T35 42 ¤³¤¦¤ê¤­ ¹âÎÏ #JNS 0 ¤³¤¦¤ê¤Ä ¹âΨ #T05 0 ¤³¤¦¤ê¤Ä ¸øÎ© #T35 1 ¤³¤¦¤ê¤Ä ¸úΨ #T35 115 ¤³¤¦¤ê¤Ä¤« ¸úΨ²½ #T30 0 ¤³¤¦¤ê¤ã¤¯ ¸åά #T30 0 ¤³¤¦¤ê¤ã¤¯ ¹¶Î¬ #T30 0 ¤³¤¦¤ê¤å¤¦ ¹´Î± #T30 0 ¤³¤¦¤ê¤å¤¦ ¸òή #T30 17 ¤³¤¦¤ê¤ç ¹Íθ #T30 49 ¤³¤¦¤ê¤ç¤¦ ¹ÓÎà #F00 1 ¤³¤¦¤ê¤ç¤¦ ¹­ÎÍ #JCN 0 ¤³¤¦¤ê¤ç¤¦ ¹ÆÎÁ #T35 0 ¤³¤¦¤ê¤ç¤¦ ¹áÎÁ #T35 0 ¤³¤¦¤ê¤ç¤¦ ¹ÖÎÁ #T35 1 ¤³¤¦¤ê¤ç¤¯ ¸úÎÏ #T35 1 ¤³¤¦¤ê¤ó ¹ßÎ× #T30 0 ¤³¤¦¤ì¤¤ ¸òÎî #T30 0 ¤³¤¦¤ì¤¤ ¹ßÎî #T30 0 ¤³¤¦¤ì¤¤ ¹¥Îã #T35 1 ¤³¤¦¤ì¤¤ ¹±Îã #T35 2 ¤³¤¦¤ì¤¤ ¹âÎð #T35 2 ¤³¤¦¤ì¤Ä ¸åÎó #T35 0 ¤³¤¦¤í ¹áϪ #KK 1 ¤³¤¦¤í ¹áϧ #T35 0 ¤³¤¦¤í ¹âϧ #T35 1 ¤³¤¦¤í ¹ÒÏ© #T35 10 ¤³¤¦¤í¤¦ ¸ùÏ« #T35 1 ¤³¤¦¤í¤¦¤·¤ç¤¦ ¸ùÏ«¾Þ #T35 0 ¤³¤¦¤í¤¦¤·¤ç¤¦ ¸üÏ«¾Ê #KK 0 ¤³¤¦¤í¤ó ¸ýÏÀ #T30 1 ¤³¤¦¤í¤ó ¸øÏÀ #T35 0 ¤³¤¦¤ï ¶½Ï #KK 2 ¤³¤¦¤ï ¹ÖÏ #T30 0 ¤³¤¦¤ï ¹ÖÏà #T30 0 ¤³¤¦¤ï¤ó ¹ÁÏÑ #T35 0 ¤³¤¨ È #KS 1 ¤³¤¨ ͤ¨ #KS 10 ¤³¤¨ ±Û¤¨ #KS 99 ¤³¤¨ Èî #T35 0 ¤³¤¨ À¼ #T35 49 ¤³¤¨¤¬¤ï¤ê À¼ÊѤê #T30 0 ¤³¤¨¤¬¤ï¤ê À¼ÊѤï¤ê #T30 0 ¤³¤¨¤À ¾®»Þ #T35 0 ¤³¤ª Åà #R5 1 ¤³¤ª ɹ #R5 1 ¤³¤ª¤¦ ¸Æ±þ #T30 1 ¤³¤ª¤² ·´²È #JNS 0 ¤³¤ª¤È¤³ ¾®ÃË #T35 0 ¤³¤ª¤ê ·¬ÀÞ #JCN 0 ¤³¤ª¤ê ·´ #T35 1 ¤³¤ª¤ê ɹ #T35 2 ¤³¤ª¤ê¤¶¤È¤¦ ɹº½Åü #T35 0 ¤³¤ª¤ê¤Ä Åà¤êÉÕ #K5r 1 ¤³¤ª¤ê¤ä¤Þ ·´»³ #JCN 0 ¤³¤« ¸Ç²½ #T30 1 ¤³¤«¤² ÌÚ±¢ #T35 0 ¤³¤«¤Ä ¸Ï³é #T30 1 ¤³¤«¤ï Ê´²Ï #JCN 0 ¤³¤¬ ¸Å²Ï #JCN 0 ¤³¤¬ ¸Å²ì #JNS 0 ¤³¤¬ ¾Ç¤¬ #S5 1 ¤³¤¬¤¤ ¸Í³° #T35 1 ¤³¤¬¤¤ ¸Ä»ô¤¤ #T35 2 ¤³¤¬¤¤¤·¤ã »Ò²ñ¼Ò #T35 1 ¤³¤¬¤¿ ¾®·¿ #T05 4 ¤³¤¬¤¿ ¾®·Á #T35 0 ¤³¤¬¤¿¤­ ¾®·¿µ¡ #T35 0 ¤³¤¬¤Í ²«¶â #T35 1 ¤³¤¬¤Í¤¤ ¾®¶â°æ #JCN 0 ¤³¤¬¤é ¾®ÊÁ #T05 0 ¤³¤¬¤é¤· ÌڸϤ· #T35 0 ¤³¤­ ¸Å´õ #T35 0 ¤³¤­ ¸Åµ© #T35 0 ¤³¤­ ¸Æµ¤ #T35 1 ¤³¤­¤¶¤ß ¾®¹ï¤ß #T15 1 ¤³¤­¤Ä¤« ¤³¤­»È #W5 2 ¤³¤­¤ß¤è ¾®µ¤Ì£¤è #KY 0 ¤³¤­¤ß¤è¤¦ ¾®µ¤Ì£¤è¤¦ #KYU 0 ¤³¤­¤ã¤¯ ¸ÜµÒ #T35 4 ¤³¤­¤å¤¦ ¸ÆµÛ #T30 2 ¤³¤­¤å¤¦ ¸ÕµÝ #T35 0 ¤³¤­¤å¤¦¤­ ¸ÆµÛ´ï #T35 0 ¤³¤­¤ç¤¦ ¸Î¶¿ #T35 1 ¤³¤­¤ó¤·¤å¤¦ ¸Åº£½¸ #KK 1 ¤³¤®¤Ã¤Æ ¾®ÀÚ¼ê #T35 2 ¤³¤®¤Ä ¤³¤®Ãå #K5 1 ¤³¤¯ ¹î #KJ 0 ¤³¤¯ ¹ô #KJ 0 ¤³¤¯ ÀÐ #KJ 0 ¤³¤¯ ë #KJ 0 ¤³¤¯ ¹ð #KJ 1 ¤³¤¯ ¹ñ #KJ 1 ¤³¤¯ ¹ò #KJ 1 ¤³¤¯ ¹õ #KJ 1 ¤³¤¯ Ó­ #KJ 1 ¤³¤¯ Ô¢ #KJ 1 ¤³¤¯ ¹ó #KJ 6 ¤³¤¯ ¹ñ #SUC 42 ¤³¤¯ ¹ó #T05 3 ¤³¤¯ ¹ï #T30 1 ¤³¤¯¤¤ ¹ñ°Ò #T35 1 ¤³¤¯¤¤¤ó ¹ï°õ #T30 0 ¤³¤¯¤¦ µõ¶õ #T35 0 ¤³¤¯¤¦ ¹ò±« #T35 1 ¤³¤¯¤¨¤¤ ¹ñ±Ä #T35 1 ¤³¤¯¤¨¤­ ¹ñ±× #T35 0 ¤³¤¯¤ª¤¦ ¹ñ²¦ #T35 1 ¤³¤¯¤¬¤¤ ¹ñ³° #T35 1 ¤³¤¯¤® ¹ñµ» #T35 0 ¤³¤¯¤®¤«¤ó ¹ñµ»´Û #KK 0 ¤³¤¯¤³ ¹ñ¸Ë #T35 1 ¤³¤¯¤´ ¹ñ¸ì #T35 10 ¤³¤¯¤µ¤¤ ¹ñºÄ #T35 0 ¤³¤¯¤µ¤¤ ¹ñºÝ #T35 85 ¤³¤¯¤µ¤¤¤« ¹ñºÝ²½ #T30 19 ¤³¤¯¤µ¤¤¤»¤ó ¹ñºÝÀþ #T35 1 ¤³¤¯¤µ¤¯ ¹ñºö #T35 0 ¤³¤¯¤µ¤ó ¹ñ»º #T35 1 ¤³¤¯¤µ¤ó¤·¤ã ¹ñ»º¼Ö #T35 0 ¤³¤¯¤· ¹ó»È #T30 3 ¤³¤¯¤·¤¸¤¦¤à ¥³¥¯¥·¥¸¥¦¥à #T35 1 ¤³¤¯¤·¤à¤½¤¦ ¹ñ»Î̵ÁÐ #T35 1 ¤³¤¯¤·¤ç ¹ó½ë #T35 0 ¤³¤¯¤·¤ç ¹ñ½ñ #T35 2 ¤³¤¯¤·¤ç¤¦ ¹ñÀ¸ #JNS 0 ¤³¤¯¤¸ ¹ð¼¨ #T30 0 ¤³¤¯¤¸ ¹ó»÷ #T30 0 ¤³¤¯¤¸ ¹ñ¼¥ #T35 0 ¤³¤¯¤¸ ¹ñ»ö #T35 1 ¤³¤¯¤¸¤ç¤¦ ¹ñ¾ð #T35 0 ¤³¤¯¤¸¤ó ¹õ¿Í #T35 1 ¤³¤¯¤»¤¤ ¹ñÀª #T35 1 ¤³¤¯¤»¤¤ ¹ñÀ¯ #T35 1 ¤³¤¯¤»¤­ ¹ñÀÒ #T35 3 ¤³¤¯¤»¤ó ¹ñÁª #T35 0 ¤³¤¯¤¼¤¤ ¹ñÀÇ #T35 1 ¤³¤¯¤¼¤¤¤­¤ç¤¯ ¹ñÀÇ¶É #KK 0 ¤³¤¯¤¼¤¤¤Á¤ç¤¦ ¹ñÀÇÄ£ #KK 0 ¤³¤¯¤½ ¹ðÁÊ #T30 0 ¤³¤¯¤¿¤¤ ¹ñÂÎ #KK 0 ¤³¤¯¤À¤¤ ¹ñÂç #T35 1 ¤³¤¯¤Á ¹ðÃÎ #T30 0 ¤³¤¯¤Æ¤¤ ¹ñÄê #T35 0 ¤³¤¯¤Æ¤Ä ¹ñÅ´ #KK 1 ¤³¤¯¤Ç¤ó ¹ñÅÅ #T35 0 ¤³¤¯¤É ¹ñÅÚ #T35 1 ¤³¤¯¤É¤¦ ¹ñÆ» #T35 1 ¤³¤¯¤É¤³¤¦¤Ä¤¦¤·¤ç¤¦ ¹ñÅÚ¸òÄÌ¾Ê #KK 0 ¤³¤¯¤É¤Á¤ç¤¦ ¹ñÅÚÄ£ #KK 1 ¤³¤¯¤Ê¤¤ ¹ñÆâ #T35 34 ¤³¤¯¤Ê¤¤¤»¤ó ¹ñÆâÀþ #T35 1 ¤³¤¯¤Ï¤¯ ¹óÇö #T05 0 ¤³¤¯¤Ï¤¯ ¹ðÇò #T30 1 ¤³¤¯¤Ï¤Ä ¹ðȯ #T30 1 ¤³¤¯¤Ð¤ó ¹õÈÄ #T35 4 ¤³¤¯¤Ò ¹ñÈñ #T35 0 ¤³¤¯¤Ò¤ç¤¦ ¹óɾ #T30 0 ¤³¤¯¤Ò¤ó ¹ñÉÐ #T35 0 ¤³¤¯¤Õ ¹ñÉÜ #JNS 0 ¤³¤¯¤Õ¤¯ ¹îÉþ #T30 4 ¤³¤¯¤Ö ¹ñʬ #JCN 0 ¤³¤¯¤Ö¤ó¤¸ ¹ñʬ»û #CN 0 ¤³¤¯¤Ù¤Ä ¹ðÊÌ #T30 1 ¤³¤¯¤Û ¹ñÊÝ #T35 3 ¤³¤¯¤Û¤¦ ¹ñÊõ #T35 0 ¤³¤¯¤Ü ¾®µ×ÊÝ #JNS 0 ¤³¤¯¤Ü¤¦ ¹ñËÉ #T35 0 ¤³¤¯¤ß¤ó ¹ṉ̃ #T35 5 ¤³¤¯¤à ¹ñ̳ #T35 0 ¤³¤¯¤à¤·¤ç¤¦ ¹ñ̳¾Ê #KK 0 ¤³¤¯¤â¤Ä ¹òʪ #T35 1 ¤³¤¯¤æ¤¦ ¹ñÍ­ #T35 0 ¤³¤¯¤é ¾®ÁÒ #JCN 0 ¤³¤¯¤é¤­¤¿ ¾®ÁÒËÌ #CN 0 ¤³¤¯¤é¤ß¤Ê¤ß ¾®ÁÒÆî #CN 0 ¤³¤¯¤ê¤Ä ¹ñΩ #T35 4 ¤³¤¯¤ë¤¤ ¹òÎà #T35 1 ¤³¤¯¤ì¤ó ¹ñÏ¢ #T35 0 ¤³¤¯¤í¤¦ ¹ñÏ« #KK 0 ¤³¤¯¤í¤ó ¹ñÏÀ #T35 0 ¤³¤°¤Á ¾®¸ý #T05 1 ¤³¤°¤ì ¾®Êë #JNS 0 ¤³¤± ¤³¤± #KS 13 ¤³¤± ÂÝ #T35 1 ¤³¤±¤¤ ¸Ç·Á #T35 0 ¤³¤±¤Ä åöåò #JNS 0 ¤³¤±¤é ³Á #T35 0 ¤³¤² ¾Ç¤² #KSr 1 ¤³¤²¤Ä ¾Ç¤²ÉÕ #K5r 0 ¤³¤³ ¤³¤³ #T35 136 ¤³¤³ ¸Ä¡¹ #T35 63 ¤³¤³¤¢ ¥³¥³¥¢ #T35 1 ¤³¤³¤¤¤é ¤³¤³¤¤¤é #T35 1 ¤³¤³¤¯ ¸Î¹ñ #T35 1 ¤³¤³¤Á ¿´ÃÏ #T35 3 ¤³¤³¤Á¤è ¿´ÃϤè #KY 3 ¤³¤³¤Á¤è¤¦ ¿´ÃϤ褦 #KYU 1 ¤³¤³¤Ë ¤³¤³¤Ë #CJ 4 ¤³¤³¤Î¤¨ ¶å½Å #JCN 0 ¤³¤³¤Î¤« 9Æü #T35 0 ¤³¤³¤Î¤« £¹Æü #T35 0 ¤³¤³¤Î¤« ¶åÆü #T35 0 ¤³¤³¤Î¤½¤¸ ¶å½½Ï© #T35 0 ¤³¤³¤Î¤Ä ¶å¤Ä #T35 1 ¤³¤³¤í ¿´ #T30 48 ¤³¤³¤í ¤³¤³¤í #T35 1 ¤³¤³¤í¤¤¤­ ¿´°Õµ¤ #T35 0 ¤³¤³¤í¤¨ ¿´ÆÀ #KSr 1 ¤³¤³¤í¤«¤é ¿´¤«¤é #F14 0 ¤³¤³¤í¤«¤é ¿´¤«¤é #T36 0 ¤³¤³¤í¤¬¤± ¿´³Ý¤± #KSr 0 ¤³¤³¤í¤¬¤± ¿´¤¬¤± #KSr 4 ¤³¤³¤í¤¬¤Þ¤¨ ¿´¹½¤¨ #T35 3 ¤³¤³¤í¤¶ »Ö #S5 1 ¤³¤³¤í¤¶¤· »Ö #T35 0 ¤³¤³¤í¤Å¤± ¿´ÉÕ¤± #T35 0 ¤³¤³¤í¤Å¤è ¿´¶¯ #KY 2 ¤³¤³¤í¤Å¤è¤¦ ¿´¶¯¤¦ #KYU 1 ¤³¤³¤í¤Ê ¿´Ìµ #KY 1 ¤³¤³¤í¤Í ¿´º¬ #T35 0 ¤³¤³¤í¤Î¤¦ ¿´Ìµ¤¦ #KYU 1 ¤³¤³¤í¤Î¤³¤ê ¿´»Ä¤ê #T05 0 ¤³¤³¤í¤Ü¤½ ¿´ºÙ #KY 1 ¤³¤³¤í¤Ü¤½¤¦ ¿´ºÙ¤¦ #KYU 1 ¤³¤³¤í¤Ü¤½¤¬ ¿´ºÙ¤¬ #R5 0 ¤³¤³¤í¤Þ¤Á ¿´ÂÔ¤Á #T35 0 ¤³¤³¤í¤ß »î¤ß #KSr 34 ¤³¤³¤í¤â¤Á ¿´»ý¤Á #T35 0 ¤³¤³¤í¤â¤È¤Ê ¿´µö¤Ê #KY 1 ¤³¤³¤í¤â¤È¤Î¤¦ ¿´µö¤Î¤¦ #KYU 1 ¤³¤³¤í¤æ ¿´¹Ô #K5 0 ¤³¤³¤í¤è ²÷ #KY 1 ¤³¤³¤í¤è¤¦ ²÷¤¦ #KYU 1 ¤³¤³¤ó ¸Åº£ #T35 1 ¤³¤´ ¸Å¸ì #T35 1 ¤³¤´¤¨ Åन #KS 0 ¤³¤´¤¿ ¾®µíÅÄ #JCN 0 ¤³¤´¤È ¾®¸À #T30 1 ¤³¤µ¤¤ ¸ÐÀ¾ #JCN 0 ¤³¤µ¤« ¾®ºä #JCN 0 ¤³¤µ¤¶ ¾®º´¡¹ #JCN 0 ¤³¤µ¤Ä ¸ÅÑë #T35 0 ¤³¤µ¤á ¾®±« #T35 1 ¤³¤µ¤ó ¸Å»² #T35 0 ¤³¤¶ ¸ÅºÂ #JCN 0 ¤³¤¶¤¤¤¯ ¾®ºÙ¹© #T30 0 ¤³¤¶¤«¤¤ ¾®ºä°æ #JCN 0 ¤³¤¶¤¬¤ï ¸ÅºÂÀî #JCN 0 ¤³¤· ¸Å»Ö #JNS 0 ¤³¤· ¸Ï»à #T30 0 ¤³¤· ÍÁ #T35 1 ¤³¤· ¹ø #T35 10 ¤³¤·¤«¤± ¹ø¤«¤± #KSr 1 ¤³¤·¤«¤± ¹ø³Ý¤± #T35 0 ¤³¤·¤«¤ï ±ÛÀî #JNS 0 ¤³¤·¤¬¤ä ±Ûë #JCN 0 ¤³¤·¤­ ¹ù #T35 0 ¤³¤·¤¸ ±ÛÏ© #JCN 0 ¤³¤·¤¿¤ó¤¿¤ó ¸×»ë⾡¹ #F02 1 ¤³¤·¤¿¤ó¤¿¤ó ¸×»ë⾡¹ #T36 0 ¤³¤·¤Ä ¸Ç¼¹ #T30 4 ¤³¤·¤Ä ¸Ä¼¼ #T35 5 ¤³¤·¤Ì¤± ¹øÈ´¤± #T05 0 ¤³¤·¤Î ±ÛǶ #JCN 0 ¤³¤·¤Ð ¾®¼Æ #JNS 0 ¤³¤·¤ß¤º ¾®À¶¿å #CN 0 ¤³¤·¤ã¤¯ ¤³¤·¤ã¤¯ #T15 0 ¤³¤·¤ã¤¯ ¾®áû #T15 0 ¤³¤·¤å ¸Ç¼é #T30 1 ¤³¤·¤å ¸Í¼ç #T35 0 ¤³¤·¤å¤¦ ¸Ç¼¹ #T30 1 ¤³¤·¤ç ¸Å½ñ #T35 2 ¤³¤·¤ç¤¦ ¸Î¾ã #T30 39 ¤³¤·¤ç¤¦ ¸Æ¾Î #T30 8 ¤³¤·¤ç¤¦ ¸ÕÜ¥ #T35 0 ¤³¤¸ ¤³¤¸ #R5 0 ¤³¤¸ ¸Ç»ý #T30 0 ¤³¤¸ ¸Ç¼­ #T30 0 ¤³¤¸ ¸Ø¼¨ #T30 1 ¤³¤¸ µï»Î #T35 0 ¤³¤¸ ¸É»ù #T35 0 ¤³¤¸ ¸Î»ö #T35 1 ¤³¤¸ ¸Å»û #T35 11 ¤³¤¸¤¢¤± ¤³¤¸³«¤± #KS 0 ¤³¤¸¤­ ¸Å»öµ­ #KK 1 ¤³¤¸¤­ ¸ð¿© #T35 1 ¤³¤¸¤Þ »ùÅç #JCN 0 ¤³¤¸¤Þ ¾®Åç #JCN 0 ¤³¤¸¤Þ »ùÅè #JNS 0 ¤³¤¸¤Þ ¾®Åè #JNS 0 ¤³¤¸¤Þ ¾®Åç #T35 5 ¤³¤¸¤å¤¦¤È ¾®¸È #T35 0 ¤³¤¸¤ç¤¦ ¸Å¾ë #T35 0 ¤³¤¸¤ì ¤³¤¸¤ì #KSr 0 ¤³¤¸¤ó ¸Î¿Í #T35 1 ¤³¤¸¤ó ¸Ä¿Í #T35 165 ¤³¤¸¤ó¤Æ¤­ ¸Ä¿ÍŪ #T15 0 ¤³¤¹ ¤³¤¹ #R5r 0 ¤³¤¹ »¤ #R5r 0 ¤³¤¹¤¤ ¸Ð¿å #T35 0 ¤³¤¹¤¦ ¸Í¿ô #T35 0 ¤³¤¹¤¦ ¸Ä¿ô #T35 16 ¤³¤¹¤® ¾®¿ù #JCN 0 ¤³¤¹¤² ¾®¿û #JNS 0 ¤³¤¹¤¿¤ê¤« ¥³¥¹¥¿¥ê¥« #CN 0 ¤³¤¹¤Ã¤«¤é ¤³¤¹¤Ã¿É #KY 0 ¤³¤¹¤Ã¤«¤í¤¦ ¤³¤¹¤Ã¿É¤¦ #KYU 0 ¤³¤¹¤È ¥³¥¹¥È #T35 30 ¤³¤¹¤É ¾®¿Ü¸Í #JCN 0 ¤³¤¹¤â ¥³¥¹¥â #T35 1 ¤³¤º¤¨ ¾¿ #T35 0 ¤³¤»¤¤ ¸ÄÀ­ #T35 5 ¤³¤»¤­ ¾®´Ø #JNS 0 ¤³¤»¤­ ¸ÍÀÒ #T35 1 ¤³¤»¤­ ¸ÅÀ× #T35 4 ¤³¤»¤³¤» ¤³¤»¤³¤» #F00 0 ¤³¤»¤ó ¸ÅÁ¬ #T35 0 ¤³¤»¤ó¤­¤ç¤¦ ¸ÙÀþ¶¶ #T35 0 ¤³¤¼¤Ë ¾®Á¬ #T35 0 ¤³¤½ ¤³¤½ #G5 0 ¤³¤½¤¯ ¸È© #T05 2 ¤³¤½¤² ¤³¤½¤² #KS 0 ¤³¤½¤³¤½ ¤³¤½¤³¤½ #F04 0 ¤³¤½¤À¤Æ »Ò°é¤Æ #T30 1 ¤³¤½¤Ð¤æ ¤³¤½¤Ð¤æ #KY 0 ¤³¤½¤Ð¤æ¤¦ ¤³¤½¤Ð¤æ¤¦ #KYU 0 ¤³¤½¤Ð¤æ¤¬ ¤³¤½¤Ð¤æ¤¬ #R5 0 ¤³¤¾¤¦ ¾®ÁÎ #T35 2 ¤³¤¾¤Ã¤Æ ¤³¤¾¤Ã¤Æ #F14 0 ¤³¤¾¤Ã¤Æ ¤³¤¾¤Ã¤Æ #T36 0 ¤³¤¿¤¤ ¸ÄÂÎ #T35 1 ¤³¤¿¤¤ ¸ÇÂÎ #T35 1 ¤³¤¿¤¨ ´®¤¨ #KS 0 ¤³¤¿¤¨ ±þ¤¨ #KSr 2 ¤³¤¿¤¨ Åú¤¨ #KSr 98 ¤³¤¿¤¨ Åú #T35 4 ¤³¤¿¤± ¾®ÃÝ #JCN 0 ¤³¤¿¤Ä ¥³¥¿¥Ä #T35 0 ¤³¤¿¤Ä ßÙßý #T35 0 ¤³¤¿¤Ë ¾®Ã« #JNS 0 ¤³¤À¤¤ ¸ÅÂå #T35 3 ¤³¤À¤¤¤é ¾®Ê¿ #JCN 0 ¤³¤À¤« ¾®¹â #JNS 0 ¤³¤À¤« ¾®¹â #KY 0 ¤³¤À¤³¤¦ ¾®¹â¤¦ #KYU 0 ¤³¤À¤Á ÌÚΩ #T35 1 ¤³¤À¤Þ »ù¶Ì #JCN 0 ¤³¤À¤Þ ¾®¶Ì #JNS 0 ¤³¤À¤ï ¤³¤À¤ï #R5r 0 ¤³¤À¤ï ¹´ #R5r 11 ¤³¤Á ¸ÎÃÎ #T35 1 ¤³¤Á òÇ #T35 1 ¤³¤Á¤³¤Á ¥³¥Á¥³¥Á #T00 2 ¤³¤Á¤³¤Á ¤³¤Á¤³¤Á #T05 0 ¤³¤Á¤ã¤¯ ¸ÇÃå #T30 0 ¤³¤Á¤ç¤¦ ¸ØÄ¥ #T30 1 ¤³¤Á¤ç¤¦ ¸Õij #T35 0 ¤³¤Á¤é ¤³¤Á¤é #T35 178 ¤³¤Á¤ó¤À ÅìÉ÷Ê¿ #CN 0 ¤³¤Ã¤« ¹ñ²Î #T35 2 ¤³¤Ã¤« ¹ñ²È #T35 4 ¤³¤Ã¤«¤¤ ¹õ³¤ #T35 0 ¤³¤Ã¤«¤¤ ¹ñ²ñ #T35 4 ¤³¤Ã¤«¤¯ ¹ü³Ê #T35 2 ¤³¤Ã¤«¤ó ¹ó´¨ #T35 0 ¤³¤Ã¤­ ¹ñ´ú #T35 1 ¤³¤Ã¤­¤ç¤¦ ¹ñ¶­ #T35 1 ¤³¤Ã¤¯¤Ô¤Ã¤È ¥³¥Ã¥¯¥Ô¥Ã¥È #T35 1 ¤³¤Ã¤±¤¤ ³ê·Î #T05 0 ¤³¤Ã¤±¤ó ¹ñ¸¢ #T35 0 ¤³¤Ã¤³ ¹ñ¸Ë #T35 0 ¤³¤Ã¤³¤¦ ¹ñ¸ò #T35 0 ¤³¤Ã¤³¤¦¤·¤ç¤¦ ¹ñ¸ò¾Ê #KK 0 ¤³¤Ã¤³¤¦¤ê¤Ä ¹ñ¸øÎ© #T35 0 ¤³¤Ã¤³¤¯ ¹ï¡¹ #T35 1 ¤³¤Ã¤· ¹ü»Ò #T35 1 ¤³¤Ã¤»¤Ä ¹üÀÞ #T30 1 ¤³¤Ã¤½¤ê ¤³¤Ã¤½¤ê #F06 9 ¤³¤Ã¤½¤ê ¤³¤Ã¤½¤ê #T36 0 ¤³¤Ã¤Á ¤³¤Ã¤Á #T35 39 ¤³¤Ã¤Á¤ç¤¦ ¹üĺ #T35 0 ¤³¤Ã¤Æ¤ê ¤³¤Ã¤Æ¤ê #F04 0 ¤³¤Ã¤Æ¤ê ¤³¤Ã¤Æ¤ê #T36 0 ¤³¤Ã¤È¤¦ ¹üÆ¡ #T35 1 ¤³¤Ã¤Ñ ÌÚü #T35 0 ¤³¤Ã¤× ¥³¥Ã¥× #T35 5 ¤³¤Ã¤Ú¤ó ¹üÊÒ #T35 0 ¤³¤Ä ¸ð #KJ 0 ¤³¤Ä ¹ú #KJ 0 ¤³¤Ä ¹û #KJ 0 ¤³¤Ä ¹ü #T35 1 ¤³¤Ä ¥³¥Ä #T35 2 ¤³¤Ä¤³¤Ä ¤³¤Ä¤³¤Ä #F14 2 ¤³¤Ä¤³¤Ä ¤³¤Ä¤³¤Ä #T36 0 ¤³¤Ä¤³¤Ä ¥³¥Ä¥³¥Ä #F14 2 ¤³¤Ä¤³¤Ä ¥³¥Ä¥³¥Ä #T36 0 ¤³¤Ä¤º¤¤ ¹ü¿ñ #T35 0 ¤³¤Ä¤Ä¤Ü ¹üÄÛ #T35 0 ¤³¤Ä¤Ë¤¯ ¹üÆù #T35 0 ¤³¤Ä¤Ð¤ó ¹üÈ× #T35 0 ¤³¤Ä¤Þ¤¯ ¹üËì #T35 0 ¤³¤Å¤«¤¤ ¾®¸¯¤¤ #T35 0 ¤³¤Å¤Ä¤ß ¾®Êñ #T35 0 ¤³¤Æ ï¸ #T35 0 ¤³¤Æ ¾®¼ê #T35 1 ¤³¤Æ¤¤ ¸ÇÄê #T30 38 ¤³¤Æ¤­ ¸ÝÅ« #T35 0 ¤³¤Æ¤µ¤­ ¾®¼êÀè #T35 0 ¤³¤Æ¤ó ¸ÄŸ #T35 0 ¤³¤Æ¤ó ¸Åŵ #T35 3 ¤³¤È ¸À #KJ 3 ¤³¤È ¼ì #T35 0 ¤³¤È ¸ÅÅÔ #T35 1 ¤³¤È »ö #T35 245 ¤³¤È ¶× #T35 3 ¤³¤È °Û #T35 5 ¤³¤È ¤³¤È #T35 95 ¤³¤È¤¢¤² ¸Àµó¤² #T30 0 ¤³¤È¤¦ ¸ÐÅì #CN 0 ¤³¤È¤¦ ¸ÉÅç #T35 1 ¤³¤È¤ª¤« ¶×µÖ #JCN 0 ¤³¤È¤« »ö·ç #K5 0 ¤³¤È¤¬¤é ¤³¤È¤¬¤é #T35 3 ¤³¤È¤¬¤é »öÊÁ #T35 3 ¤³¤È¤³¤Þ¤« »öºÙ¤« #T05 0 ¤³¤È¤µ¤é ¤³¤È¤µ¤é #T06 0 ¤³¤È¤µ¤é ¼ì¹¹ #T06 1 ¤³¤È¤· º£Ç¯ #T35 72 ¤³¤È¤¿¤ê »ö­¤ê #KS 1 ¤³¤È¤Å¤± ¸ÀÉÕ¤± #KSr 1 ¤³¤È¤Å¤± ¸ÀÉÕ¤± #T30 1 ¤³¤È¤Ê °Û¤Ê #R5r 163 ¤³¤È¤Ê °Û #R5r 2 ¤³¤È¤Ê¤ß ¶×Æî #CN 0 ¤³¤È¤Ð »ì #T35 1 ¤³¤È¤Ð ¤³¤È¤Ð #T35 4 ¤³¤È¤Ð ¸ÀÍÕ #T35 86 ¤³¤È¤Ò¤é ¶×Ê¿ #CN 0 ¤³¤È¤Ö¤­ ¼÷ #T35 6 ¤³¤È¤Û ½Ë #G5r 0 ¤³¤È¤â¤Ê¤² ¤³¤È¤â¤Ê¤² #T05 0 ¤³¤È¤ê ¾®Ä» #T35 0 ¤³¤È¤ï ÃǤï #R5r 0 ¤³¤È¤ï ÃÇ #R5r 10 ¤³¤È¤ï¤¶ ¸Á #T35 2 ¤³¤É¤¦ ¸Ýư #T30 0 ¤³¤É¤¦¤° ¾®Æ»¶ñ #T35 1 ¤³¤É¤¯ ¸ÉÆÈ #T05 1 ¤³¤É¤Þ¤ê ¾®Çñ #JCN 0 ¤³¤É¤â »Ò¶¡ #T35 18 ¤³¤É¤â »Ò¤É¤â #T35 50 ¤³¤Ê ¤³¤Ê #S5 5 ¤³¤Ê Ê´ #T35 8 ¤³¤Ê¤¤¤À ¤³¤Ê¤¤¤À #T35 0 ¤³¤Ê¤« ¾®Ãæ #JNS 0 ¤³¤Ê¤¬¤¤ ¾®Ä¹°æ #JCN 0 ¤³¤Ê¤´¤Ê Ê´¡¹ #T05 0 ¤³¤Ê¤Ä ¾®²Æ #JNS 0 ¤³¤Ë¤¯¤é¤· ¾®Áþ¤é¤· #KY 0 ¤³¤Ë¤¯¤é¤·¤å¤¦ ¾®Áþ¤é¤·¤å¤¦ #KYU 0 ¤³¤Ë¤· ¾®À¾ #JNS 0 ¤³¤Ë¤ã¤Ã¤¯ ¥³¥Ë¥ã¥Ã¥¯ #T35 0 ¤³¤Ì¤Þ ¾®¾Â #JCN 0 ¤³¤Í ¤³¤Í #KSr 0 ¤³¤Í ¥³¥Í #T35 2 ¤³¤Í¤¢¤² ¤³¤Í¾å¤² #KSr 0 ¤³¤Í¤¯ ¤³¤Í¤¯ #R5 0 ¤³¤Í¤¯¤·¤ç¤Ë¤¹¤È ¥³¥Í¥¯¥·¥ç¥Ë¥¹¥È #T35 1 ¤³¤Í¤¯¤·¤ç¤Ë¤º¤à ¥³¥Í¥¯¥·¥ç¥Ë¥º¥à #T35 2 ¤³¤Í¤¯¤·¤ç¤ó ¥³¥Í¥¯¥·¥ç¥ó #T35 57 ¤³¤Í¤¯¤¿ ¥³¥Í¥¯¥¿ #T35 6 ¤³¤Í¤¯¤¿¡¼ ¥³¥Í¥¯¥¿¡¼ #T35 6 ¤³¤Í¤¯¤È ¥³¥Í¥¯¥È #T30 10 ¤³¤Í¤Þ¤ï ¤³¤Í²ó #S5r 0 ¤³¤Î ¹¥ #M5r 23 ¤³¤Î º¡¤Î #RT 1 ¤³¤Î ¤³¤Î #RT 255 ¤³¤Î¤¢¤¤¤À ¤³¤Î´Ö #T35 25 ¤³¤Î¤¦¤¨¤¦ ¤³¤Î¾å̵¤¦ #KYU 0 ¤³¤Î¤¦¤¨¤Ê ¤³¤Î¾å¤Ê #KY 0 ¤³¤Î¤¦¤¨¤Ê ¤³¤Î¾å̵ #KY 0 ¤³¤Î¤¦¤¨¤Î¤¦ ¤³¤Î¾å¤Î¤¦ #KYU 0 ¤³¤Î¤¦¤é ¶â±º #JCN 0 ¤³¤Î¤³¤È ¤³¤Î¤³¤È #T35 13 ¤³¤Î¤´¤í ¤³¤Îº¢ #T35 24 ¤³¤Î¤µ¤¤ ¤³¤ÎºÝ #F14 0 ¤³¤Î¤µ¤¤ ¤³¤ÎºÝ #T36 0 ¤³¤Î¤¿¤Ó ¤³¤ÎÅÙ #T35 17 ¤³¤Î¤¿¤á ¤³¤Î¤¿¤á #T35 34 ¤³¤Î¤Ï¤Ê º¡²Ö #JCN 0 ¤³¤Î¤Û¤É ¤³¤Î¤Û¤É #T35 1 ¤³¤Î¤Þ¤· ¹¥¤Þ¤· #KY 12 ¤³¤Î¤Þ¤·¤å¤¦ ¹¥¤Þ¤·¤å¤¦ #KYU 2 ¤³¤Î¤Þ¤Þ ¤³¤Î¤Þ¤Þ #T35 17 ¤³¤Î¤ß Ìڤμ #T35 1 ¤³¤Î¤â¤· ¹¥¤â¤· #KY 0 ¤³¤Î¤â¤·¤å¤¦ ¹¥¤â¤·¤å¤¦ #KYU 0 ¤³¤Î¤è¤¦ ¤³¤Î¤è¤¦ #T05 139 ¤³¤Î¤è¤¦ ¤³¤ÎÍÍ #T05 5 ¤³¤Î¤ó¤Ç ¹¥¤ó¤Ç #F14 0 ¤³¤Ï¤À ¤³¤Ï¤À #T35 0 ¤³¤Ï¤é ¾®¸¶ #JNS 0 ¤³¤Ï¤ë ¾®½Õ #T35 0 ¤³¤Ï¤ó ¸ÐÈÊ #T35 1 ¤³¤Ï¤ó¤È¤­ ¾®È¾»þ #T35 0 ¤³¤Ï¤ó¤È¤­ ¾®È¾¹ï #T35 0 ¤³¤Ð ¸Å¾ì #JNS 0 ¤³¤Ð µñ #M5 2 ¤³¤Ð¤·¤ê ¾®Áö¤ê #T30 0 ¤³¤Ð¤Ê¤· ¾®Ïà #T35 0 ¤³¤Ð¤ä¤«¤ï ¾®ÁáÀî #JNS 0 ¤³¤Ð¤ä¤· ¾®ÎÓ #JCN 0 ¤³¤Ð¤ä¤· ¸ÅÎÓ #JNS 0 ¤³¤Ð¤ê ¾®¿Ë #JNS 0 ¤³¤Ð¤ë¤È ¥³¥Ð¥ë¥È #T35 2 ¤³¤Ð¤ó ¾®È½ #T35 3 ¤³¤Ð¤ó¤¶¤á ¥³¥Ð¥ó¥¶¥á #T35 0 ¤³¤Ð¤ó¤¶¤á ¾®È½»­ #T35 0 ¤³¤Ó Õ»¤Ó #KSr 2 ¤³¤Ó¤ê¤Ä ¤³¤Ó¤êÉÕ #K5r 0 ¤³¤Ô¡¼ ¥³¥Ô¡¼ #T30 251 ¤³¤Ô¡¼¤é¤¤¤È ¥³¥Ô¡¼¥é¥¤¥È #T35 20 ¤³¤Õ¤¦ ¸ÅÉ÷ #T05 2 ¤³¤Õ¤­¤¤¤â Ê´¿á¤­°ò #T35 0 ¤³¤Õ¤ó ¸Åʯ #T35 1 ¤³¤Ö¤· ·ý #T35 0 ¤³¤Ö¤Á¤¶¤ï ¾®Ê¥Âô #JCN 0 ¤³¤Ö¤ê ¾®¹ß¤ê #T05 0 ¤³¤Ö¤ó ¸Åʸ #T35 0 ¤³¤×¤í ¥³¥×¥í #T35 0 ¤³¤×¤í¤»¤Ã¤µ ¥³¥×¥í¥»¥Ã¥µ #T35 2 ¤³¤×¤í¤»¤Ã¤µ¡¼ ¥³¥×¥í¥»¥Ã¥µ¡¼ #T35 2 ¤³¤Ù¤Ä ¸ÄÊÌ #T15 20 ¤³¤Ù¤Ä ¸ÍÊÌ #T35 0 ¤³¤Û¤¯ ¸ÐËÌ #CN 0 ¤³¤Ü ¤³¤Ü #S5 6 ¤³¤Ü¤ê ¾®ËÙ #JNS 0 ¤³¤Ü¤ì ¤³¤Ü¤ì #KSr 3 ¤³¤Ü¤ì¤ª¤Á ¤³¤Ü¤ìÍî¤Á #KSr 0 ¤³¤Þ µðËà #JCN 0 ¤³¤Þ ¹ý #KJ 1 ¤³¤Þ º¤ #R5 123 ¤³¤Þ ¶ð #T35 11 ¤³¤Þ ¥³¥Þ #T35 8 ¤³¤Þ¡¼¤·¤ã¤ë ¥³¥Þ¡¼¥·¥ã¥ë #T35 2 ¤³¤Þ¤¢¤é¤· ¶ðÍò #JNS 0 ¤³¤Þ¤¨ ¹ý¹¾ #JCN 0 ¤³¤Þ¤« ºÙ¤« #KYme 45 ¤³¤Þ¤« ºÙ¤« #T05 29 ¤³¤Þ¤¬¤À¤± ¶ð¥ö³Ù #CN 0 ¤³¤Þ¤¬¤Í ¶ð¥öº¬ #CN 0 ¤³¤Þ¤­ ¾®ËÒ #JCN 0 ¤³¤Þ¤®¤ì ºÙÀÚ¤ì #T05 1 ¤³¤Þ¤¯ ¸ÝËì #T35 1 ¤³¤Þ¤³¤¦ ºÙ¤³¤¦ #KYU 2 ¤³¤Þ¤´¤Þ ¤³¤Þ¤´¤Þ #F04 3 ¤³¤Þ¤´¤á ¶ð¹þ #JCN 0 ¤³¤Þ¤¿ ¾®¸Ô #T05 0 ¤³¤Þ¤Ã¤·¤ã¤¯¤ì ¤³¤Þ¤Ã¤·¤ã¤¯¤ì #KS 0 ¤³¤Þ¤Ä ¾®¾¾ #JCN 0 ¤³¤Þ¤Ä ¾®¾¾ #T35 1 ¤³¤Þ¤Ä¤¶¤­ ¾®¾¾ºê #JNS 0 ¤³¤Þ¤Ä¤·¤Þ ¾®¾¾Åç #CN 0 ¤³¤Þ¤Ì ÙÊ #K5 0 ¤³¤Þ¤Í ÙÊ #K5 0 ¤³¤Þ¤Ð ¶ð¾ì #JCN 0 ¤³¤Þ¤á ¤³¤Þ¤á #T05 3 ¤³¤Þ¤ä¤« ºÙ¤ä¤« #T05 0 ¤³¤Þ¤ê¤Ï¤Æ º¤¤ê²Ì¤Æ #KS 0 ¤³¤Þ¤ï¤ê ¾®²ó¤ê #T30 0 ¤³¤Þ¤ó¤É ¥³¥Þ¥ó¥É #T35 255 ¤³¤ß ¹þ #T35 9 ¤³¤ß¤¢ ¹þ¤ß¹ç #W5r 2 ¤³¤ß¤¢¤² ¤³¤ß¾å¤² #KS 0 ¤³¤ß¤¤ ¹þ¤ßÆþ #R5 1 ¤³¤ß¤Á ¾®Æ» #T35 0 ¤³¤ß¤Á ¾®Ï© #T35 1 ¤³¤ß¤Ã¤¯ ¥³¥ß¥Ã¥¯ #T35 3 ¤³¤ß¤Ã¤È ¥³¥ß¥Ã¥È #T30 2 ¤³¤ß¤Í ¾®Êö #JCN 0 ¤³¤ß¤Í ¾®Ê÷ #JNS 0 ¤³¤ß¤ä ¾®µÜ #JNS 0 ¤³¤ß¤ä¤Þ ¾®µÜ»³ #JNS 0 ¤³¤ß¤å¤Ë¤±¡¼¤·¤ç¤ó ¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó #T30 18 ¤³¤ß¤å¤Ë¤±¡¼¤È ¥³¥ß¥å¥Ë¥±¡¼¥È #T30 0 ¤³¤à¤® ¾®Çþ #T35 0 ¤³¤à¤®¤³ ¾®ÇþÊ´ #T35 0 ¤³¤à¤½¤¦ µõ̵ÁÎ #T35 0 ¤³¤à¤í ¾®¼¼ #JCN 0 ¤³¤á ¹þ¤á #KS 0 ¤³¤á ϶¤á #KS 0 ¤³¤á 䯤á #KS 0 ¤³¤á ¤³¤á #KS 1 ¤³¤á ÊÆ #T35 11 ¤³¤á ¢¨ #T35 78 ¤³¤á¤¸¤ë¤· ¢¨ #T35 16 ¤³¤á¤Ç¤£¡¼ ¥³¥á¥Ç¥£¡¼ #T35 1 ¤³¤á¤Ç¤£¤¢¤ó ¥³¥á¥Ç¥£¥¢¥ó #T35 1 ¤³¤á¤ó¤È ¥³¥á¥ó¥È #T30 103 ¤³¤â ¸Ö #KJ 0 ¤³¤â Á¦ #KJ 0 ¤³¤â ϶ #R5 0 ¤³¤â äÆ #R5 5 ¤³¤â¤¸ ¾®Ê¸»ú #T35 11 ¤³¤â¤Á »Ò»ý #JCN 0 ¤³¤â¤Î ¸ÖÌî #JCN 0 ¤³¤â¤Î ¾®Êª #T35 2 ¤³¤â¤ê ¾®¿¹ #JNS 0 ¤³¤â¤ê »Ò¼é #T30 1 ¤³¤â¤í ¾®½ô #CN 0 ¤³¤â¤ó ¾®Ìæ #T35 0 ¤³¤â¤ó ¸ÜÌä #T35 1 ¤³¤â¤ó¤¸¤ç ¸Åʸ½ñ #T35 1 ¤³¤ä Èî #S5 0 ¤³¤ä Èî¤ä #S5r 0 ¤³¤ä ¾®²° #T35 1 ¤³¤ä¤Ê¤® ¾®Ìø #JNS 0 ¤³¤ä¤Þ ¾®»³ #JCN 0 ¤³¤ä¤Þ ¾®»³ #T35 1 ¤³¤æ »ùÅò #JNS 0 ¤³¤æ¤¦ ¸ÇÍ­ #T05 30 ¤³¤æ¤¦¤á¤¤ ¸Çͭ̾ #T35 0 ¤³¤æ¤¦¤á¤¤¤· ¸Çͭ̾»ì #T35 0 ¤³¤æ¤Ó ¾®»Ø #T35 2 ¤³¤è¤¤ º£¾¬ #T35 1 ¤³¤è¤¦ ¸ÛÍÑ #T30 2 ¤³¤è¤ß Îñ #T35 2 ¤³¤é ¤³¤é #CJ 4 ¤³¤é Ĩ¤é #S5 0 ¤³¤é ¶Å¤é #S5 2 ¤³¤é¡¼¤¸¤å ¥³¥é¡¼¥¸¥å #T30 0 ¤³¤é¤¤ ¸ÅÍè #T35 0 ¤³¤é¤¨ ´®¤¨ #KS 1 ¤³¤é¤¨ ¤³¤é¤¨ #KSr 0 ¤³¤é¤·¤á Ĩ¤é¤·¤á #KSr 0 ¤³¤é¤à ¥³¥é¥à #T35 4 ¤³¤ê Ĩ¤ê #KS 4 ¤³¤ê¡¼ ¥³¥ê¡¼ #T35 1 ¤³¤ê¤¸¤ç¤ó ¥³¥ê¥¸¥ç¥ó #T35 1 ¤³¤ê¤Ä ¸ÉΩ #T30 2 ¤³¤ê¤å¡¼¤¸¤ç¤ó ¥³¥ê¥å¡¼¥¸¥ç¥ó #T35 1 ¤³¤ê¤ç ¸Üθ #T30 0 ¤³¤ê¤ç¤¦ ¸ÐÎÍ #CN 0 ¤³¤ê¤ç¤¦¤ê ¾®ÎÁÍý #T35 0 ¤³¤ë¡¼¤Á¤ó ¥³¥ë¡¼¥Á¥ó #T35 0 ¤³¤ë¤»¤Ã¤È ¥³¥ë¥»¥Ã¥È #T35 0 ¤³¤ë¤Á¤³¤¤¤É ¥³¥ë¥Á¥³¥¤¥É #T35 1 ¤³¤ì °Ô #KJ 0 ¤³¤ì º¡ #KJ 1 ¤³¤ì À§ #KJ 1 ¤³¤ì Ç· #KJ 1 ¤³¤ì ¤³¤ì #T35 255 ¤³¤ì¤¤¤¸¤ç¤¦ ¤³¤ì°Ê¾å #T35 10 ¤³¤ì¤¯¤·¤ç¤ó ¥³¥ì¥¯¥·¥ç¥ó #T30 1 ¤³¤ì¤¯¤¿ ¥³¥ì¥¯¥¿ #T35 1 ¤³¤ì¤¯¤¿¡¼ ¥³¥ì¥¯¥¿¡¼ #T35 1 ¤³¤ì¤Ã¤Ý¤Ã¤Á ¤³¤ì¤Ã¤Ý¤Ã¤Á #T35 0 ¤³¤ì¤Û¤É ¤³¤ì¤Û¤É #F14 20 ¤³¤ì¤Û¤É ¤³¤ì¤Û¤É #T16 0 ¤³¤ì¤ß¤è¤¬¤· ¤³¤ì¤ß¤è¤¬¤· #T05 0 ¤³¤ì¤ß¤è¤¬¤· ¤³¤ì¸«¤è¤¬¤· #T15 0 ¤³¤ì¤é ¤³¤ì¤é #T35 115 ¤³¤ì¤é ¥³¥ì¥é #T35 2 ¤³¤ì¤é¤Î ¤³¤ì¤é¤Î #RT 20 ¤³¤í ž #B5 4 ¤³¤í »¦ #S5r 24 ¤³¤í ¤³¤í #T35 126 ¤³¤í º¢ #T35 66 ¤³¤í¤¦ ¸ÅÏ· #T35 0 ¤³¤í¤¬ ž¤¬ #R5r 1 ¤³¤í¤¬ ž¤¬ #S5r 1 ¤³¤í¤¬¤ê¤³ ž¤¬¤ê¹þ #M5 1 ¤³¤í¤²¤³ ž¤²¹þ #M5 0 ¤³¤í¤Ê ¥³¥í¥Ê #T35 1 ¤³¤í¤Ë¡¼ ¥³¥í¥Ë¡¼ #T35 1 ¤³¤í¤â °á #T35 1 ¤³¤í¤â¤¬¤¨ °á¹¹¤¨ #T30 1 ¤³¤í¤é¤É ¥³¥í¥é¥É #CN 0 ¤³¤í¤ó¤Ö¤¹ ¥³¥í¥ó¥Ö¥¹ #JN 0 ¤³¤ï ¤³¤ï #KY 1 ¤³¤ï ¶² #KY 25 ¤³¤ï ÉÝ #KY 6 ¤³¤ï ²õ #S5 9 ¤³¤ï¤¬ ¤³¤ï¤¬ #R5r 0 ¤³¤ï¤¬ Éݤ¬ #R5r 1 ¤³¤ï¤¬ ¶²¤¬ #R5r 2 ¤³¤ï¤´¤ï ¤³¤ï¤´¤ï #F06 0 ¤³¤ï¤Ð ¤³¤ï¤Ð #R5r 1 ¤³¤ï¤ì ²õ¤ì #KSr 24 ¤³¤ó º£ #JNS 0 ¤³¤ó ¶á #KJ 0 ¤³¤ó ¶â #KJ 0 ¤³¤ó ¸¥ #KJ 0 ¤³¤ó º¤ #KJ 0 ¤³¤ó º¥ #KJ 0 ¤³¤ó º¦ #KJ 0 ¤³¤ó ºª #KJ 0 ¤³¤ó º« #KJ 0 ¤³¤ó º® #KJ 0 ¤³¤ó º¯ #KJ 0 ¤³¤ó º± #KJ 0 ¤³¤ó º¨ #KJ 1 ¤³¤ó º© #KJ 1 ¤³¤ó º² #KJ 1 ¤³¤ó º§ #KJ 2 ¤³¤ó º­ #KJ 2 ¤³¤ó º£ #KJ 252 ¤³¤ó ¥³¥ó #SUC 15 ¤³¤ó º° #T35 2 ¤³¤ó º¬ #T35 5 ¤³¤ó º® #ZX 2 ¤³¤ó¤¤ º©°Õ #T05 0 ¤³¤ó¤¤¤ó º§°ù #T30 1 ¤³¤ó¤« º£²Æ #T35 0 ¤³¤ó¤« º§²È #T35 0 ¤³¤ó¤«¤¤ º£²ó #T35 255 ¤³¤ó¤«¤ì¤ó¤È ¥³¥ó¥«¥ì¥ó¥È #T35 1 ¤³¤ó¤«¤ó º¬´´ #T35 1 ¤³¤ó¤¬¤é¤¬ ¤³¤ó¤¬¤é¤¬ #R5r 0 ¤³¤ó¤¬¤ê ¤³¤ó¤¬¤ê #F06 1 ¤³¤ó¤¬¤ê ¤³¤ó¤¬¤ê #T16 0 ¤³¤ó¤¬¤ó º©´ê #T30 0 ¤³¤ó¤­ º§´ü #T35 0 ¤³¤ó¤­ º£´ü #T35 1 ¤³¤ó¤­ º¬µ¤ #T35 4 ¤³¤ó¤­¤ã¤¯ º¤µÑ #T30 0 ¤³¤ó¤­¤å¤¦ º¤µç #T30 1 ¤³¤ó¤­¤ç º¬µò #T35 8 ¤³¤ó¤® º§µ· #T35 0 ¤³¤ó¤¯ º¤¶ì #T30 0 ¤³¤ó¤¯¡¼¤ë ¥³¥ó¥¯¡¼¥ë #T35 1 ¤³¤ó¤¯¤ê¡¼¤È ¥³¥ó¥¯¥ê¡¼¥È #T35 1 ¤³¤ó¤±¤Ä º®·ì #T35 0 ¤³¤ó¤²¤Ä º£·î #T35 45 ¤³¤ó¤²¤ó º¬¸» #T35 1 ¤³¤ó¤³¤¦ ¶â¸÷ #CN 0 ¤³¤ó¤³¤¦ º®¸ò #T30 1 ¤³¤ó¤³¤ë¤É ¥³¥ó¥³¥ë¥É #KK 0 ¤³¤ó¤³¤ó ÞÕ¡¹ #F02 0 ¤³¤ó¤´ º£¸å #T35 102 ¤³¤ó¤´¤¦ º®¹ç #T30 6 ¤³¤ó¤´¤¦ º¬¹æ #T35 2 ¤³¤ó¤µ¡¼¤È ¥³¥ó¥µ¡¼¥È #T35 5 ¤³¤ó¤µ¤ë¤¿¤ó¤È ¥³¥ó¥µ¥ë¥¿¥ó¥È #T35 1 ¤³¤ó¤µ¤ë¤Æ¤£¤ó¤° ¥³¥ó¥µ¥ë¥Æ¥£¥ó¥° #T30 1 ¤³¤ó¤¶¤¤ º®ºß #T30 31 ¤³¤ó¤¶¤Ä º®»¨ #T30 14 ¤³¤ó¤·¤å¤¦ º£½© #T35 0 ¤³¤ó¤·¤å¤¦ º£½µ #T35 97 ¤³¤ó¤·¤å¤ó º£½Õ #T35 1 ¤³¤ó¤·¤ó º®¿® #T30 1 ¤³¤ó¤·¤ó º©¿Æ #T35 4 ¤³¤ó¤¸ º£»þ #T35 0 ¤³¤ó¤¸¤­ ¶â¿§ #T35 1 ¤³¤ó¤¸¤ã¤¯ º£ÀÎ #T35 1 ¤³¤ó¤¸¤ç¤¦ º©¾ð #T35 0 ¤³¤ó¤¸¤ç¤¦ º¬À­ #T35 4 ¤³¤ó¤¸¤ç¤¦ º£À¸ #T35 48 ¤³¤ó¤¹¤¤ ºª¿ç #T30 0 ¤³¤ó¤¹¤¿¤ó¤È ¥³¥ó¥¹¥¿¥ó¥È #T05 3 ¤³¤ó¤¹¤È¤ì¤¤¤ó¤È ¥³¥ó¥¹¥È¥ì¥¤¥ó¥È #T35 1 ¤³¤ó¤»¤¤ º©ÀÁ #T30 0 ¤³¤ó¤»¤¤ º®À® #T30 1 ¤³¤ó¤»¤¤ º®À¼ #T35 0 ¤³¤ó¤»¤­ º£Í¼ #T35 0 ¤³¤ó¤»¤­ º¯À× #T35 0 ¤³¤ó¤»¤Ä º©ÀÚ #T05 0 ¤³¤ó¤»¤×¤È ¥³¥ó¥»¥×¥È #T35 3 ¤³¤ó¤»¤ó º®Àï #T35 4 ¤³¤ó¤»¤ó¤µ¤¹ ¥³¥ó¥»¥ó¥µ¥¹ #T35 2 ¤³¤ó¤»¤ó¤È ¥³¥ó¥»¥ó¥È #T35 3 ¤³¤ó¤¼¤Ä º¬Àä #T30 1 ¤³¤ó¤¼¤ó º®Á³ #F02 0 ¤³¤ó¤¼¤ó ÞÕÁ³ #F02 0 ¤³¤ó¤½¡¼¤·¤¢¤à ¥³¥ó¥½¡¼¥·¥¢¥à #T35 4 ¤³¤ó¤½¡¼¤ë ¥³¥ó¥½¡¼¥ë #T35 26 ¤³¤ó¤½¤·¤¢¤à ¥³¥ó¥½¥·¥¢¥à #T35 0 ¤³¤ó¤½¤á ¥³¥ó¥½¥á #T35 0 ¤³¤ó¤¿¤¯¤È ¥³¥ó¥¿¥¯¥È #T30 6 ¤³¤ó¤¿¤ó º²ÃÀ #T35 2 ¤³¤ó¤À º£ÅÄ #JCN 0 ¤³¤ó¤À¤¯ º®Âù #T30 0 ¤³¤ó¤À¤¯ ÞçÂù #T30 0 ¤³¤ó¤À¤Æ ¸¥Î© #T35 1 ¤³¤ó¤À¤ó º©ÃÌ #T30 3 ¤³¤ó¤Á¤å¤¦ º«Ãî #T35 0 ¤³¤ó¤Æ¤¤ º¬Äì #T35 2 ¤³¤ó¤Æ¤­¤¹¤È ¥³¥ó¥Æ¥­¥¹¥È #T35 11 ¤³¤ó¤Æ¤¯¤¹¤È ¥³¥ó¥Æ¥¯¥¹¥È #T35 90 ¤³¤ó¤Æ¤¹¤È ¥³¥ó¥Æ¥¹¥È #T30 2 ¤³¤ó¤Æ¤Ê ¥³¥ó¥Æ¥Ê #T35 1 ¤³¤ó¤Æ¤Ê¡¼ ¥³¥ó¥Æ¥Ê¡¼ #T35 1 ¤³¤ó¤Æ¤ó¤Ä ¥³¥ó¥Æ¥ó¥Ä #T35 25 ¤³¤ó¤Ç¤£¤·¤ç¤ó ¥³¥ó¥Ç¥£¥·¥ç¥ó #T35 2 ¤³¤ó¤Ç¤ó¤µ ¥³¥ó¥Ç¥ó¥µ #T35 1 ¤³¤ó¤Ç¤ó¤µ¡¼ ¥³¥ó¥Ç¥ó¥µ¡¼ #T35 1 ¤³¤ó¤È¤é ¥³¥ó¥È¥é #T35 1 ¤³¤ó¤È¤é¤¹¤È ¥³¥ó¥È¥é¥¹¥È #T35 2 ¤³¤ó¤È¤é¤Ð¤¹ ¥³¥ó¥È¥é¥Ð¥¹ #T35 0 ¤³¤ó¤È¤í¡¼¤é ¥³¥ó¥È¥í¡¼¥é #T35 4 ¤³¤ó¤È¤í¡¼¤é¡¼ ¥³¥ó¥È¥í¡¼¥é¡¼ #T35 4 ¤³¤ó¤È¤í¡¼¤ë ¥³¥ó¥È¥í¡¼¥ë #T30 29 ¤³¤ó¤È¤ó ÞÕÆÙ #F02 0 ¤³¤ó¤È¤ó º®ÆÙ #F02 1 ¤³¤ó¤È¤ó º®ÆÙ #T35 1 ¤³¤ó¤É º£ÅÙ #T35 163 ¤³¤ó¤É ¤³¤ó¤É #T35 2 ¤³¤ó¤É¤¦ ¶áÆ£ #JNS 0 ¤³¤ó¤É¤¦ º®Æ± #T30 4 ¤³¤ó¤É¤¦ ¶âƲ #T35 1 ¤³¤ó¤É¤ë ¥³¥ó¥É¥ë #T35 0 ¤³¤ó¤Ê ¤³¤ó¤Ê #RT 141 ¤³¤ó¤Ê ¤³¤ó¤Ê #T05 100 ¤³¤ó¤Ê¤ó º¤Æñ #T05 28 ¤³¤ó¤Ë¤Á º£Æü #T35 20 ¤³¤ó¤Ë¤Á¤Ï ¤³¤ó¤Ë¤Á¤Ï #CJ 101 ¤³¤ó¤Ë¤Á¤Ï ¤³¤ó¤Ë¤Á¤Ï #T35 68 ¤³¤ó¤Ë¤Á¤ï ¤³¤ó¤Ë¤Á¤ï #CJ 5 ¤³¤ó¤Ë¤Á¤ï ¤³¤ó¤Ë¤Á¤ï #T35 2 ¤³¤ó¤Ë¤ã¤¯ ¤³¤ó¤Ë¤ã¤¯ #T35 0 ¤³¤ó¤Ë¤ã¤¯ èçèê #T35 0 ¤³¤ó¤Ë¤å¤¦ º®Æþ #T30 1 ¤³¤ó¤Í¤ó º£Ç¯ #T35 0 ¤³¤ó¤Í¤ó¤É º£Ç¯ÅÙ #T35 4 ¤³¤ó¤Î º£Ìî #JNS 0 ¤³¤ó¤Î º°Ìî #JNS 0 ¤³¤ó¤Ð¡¼¤¸¤ç¤ó ¥³¥ó¥Ð¡¼¥¸¥ç¥ó #T35 4 ¤³¤ó¤Ð¡¼¤¿ ¥³¥ó¥Ð¡¼¥¿ #T35 3 ¤³¤ó¤Ð¡¼¤¿¡¼ ¥³¥ó¥Ð¡¼¥¿¡¼ #T35 3 ¤³¤ó¤Ð¡¼¤È ¥³¥ó¥Ð¡¼¥È #T30 15 ¤³¤ó¤Ð¤ó º£ÈÕ #T35 4 ¤³¤ó¤Ð¤ó¤Ï ¤³¤ó¤Ð¤ó¤Ï #CJ 7 ¤³¤ó¤Ð¤ó¤Ï ¤³¤ó¤Ð¤ó¤Ï #T35 9 ¤³¤ó¤Ð¤ó¤ï ¤³¤ó¤Ð¤ó¤ï #CJ 2 ¤³¤ó¤Ð¤ó¤ï ¤³¤ó¤Ð¤ó¤ï #T35 0 ¤³¤ó¤Ñ ¥³¥ó¥Ñ #T35 4 ¤³¤ó¤Ñ¤¤ º¤Øà #T30 0 ¤³¤ó¤Ñ¤¤¤é ¥³¥ó¥Ñ¥¤¥é #T35 68 ¤³¤ó¤Ñ¤¤¤é¡¼ ¥³¥ó¥Ñ¥¤¥é¡¼ #T35 3 ¤³¤ó¤Ñ¤¤¤ë ¥³¥ó¥Ñ¥¤¥ë #T30 193 ¤³¤ó¤Ñ¤¯ º²ò° #T35 0 ¤³¤ó¤Ñ¤¯¤È ¥³¥ó¥Ñ¥¯¥È #T05 3 ¤³¤ó¤Ñ¤¹ ¥³¥ó¥Ñ¥¹ #T35 8 ¤³¤ó¤Ñ¤Á ¥³¥ó¥Ñ¥Á #T05 8 ¤³¤ó¤Ñ¤Á¤Ó¤ê¤Æ¤£ ¥³¥ó¥Ñ¥Á¥Ó¥ê¥Æ¥£ #T35 2 ¤³¤ó¤Ñ¤Á¤Ó¤ê¤Æ¤£¡¼ ¥³¥ó¥Ñ¥Á¥Ó¥ê¥Æ¥£¡¼ #T35 1 ¤³¤ó¤Ñ¤Á¤Ö¤ë ¥³¥ó¥Ñ¥Á¥Ö¥ë #T05 4 ¤³¤ó¤Ñ¤Ë¤ª¤ó ¥³¥ó¥Ñ¥Ë¥ª¥ó #T35 3 ¤³¤ó¤Ñ¤ó º£ÈÌ #T35 0 ¤³¤ó¤Ó ¥³¥ó¥Ó #T35 3 ¤³¤ó¤Ó¤Ê¡¼¤È ¥³¥ó¥Ó¥Ê¡¼¥È #T35 0 ¤³¤ó¤Ó¤Ë ¥³¥ó¥Ó¥Ë #T35 0 ¤³¤ó¤Ó¤Ë¤¨¤ó¤¹ ¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ #T35 1 ¤³¤ó¤Ó¤Í¡¼¤·¤ç¤ó ¥³¥ó¥Ó¥Í¡¼¥·¥ç¥ó #T35 0 ¤³¤ó¤Ó¤Í¡¼¤¿ ¥³¥ó¥Ó¥Í¡¼¥¿ #T35 1 ¤³¤ó¤Ô¤å¡¼¤¿ ¥³¥ó¥Ô¥å¡¼¥¿ #T35 154 ¤³¤ó¤Ô¤å¡¼¤¿¡¼ ¥³¥ó¥Ô¥å¡¼¥¿¡¼ #T35 2 ¤³¤ó¤Ô¤å¡¼¤Æ¤£¤ó¤° ¥³¥ó¥Ô¥å¡¼¥Æ¥£¥ó¥° #T35 0 ¤³¤ó¤Õ¤¡¤ì¤ó¤¹ ¥³¥ó¥Õ¥¡¥ì¥ó¥¹ #T35 0 ¤³¤ó¤Õ¤£¤®¤å¤ì¡¼¤·¤ç¤ó ¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó #T30 6 ¤³¤ó¤Õ¤£¤°¤ì¡¼¤·¤ç¤ó ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó #T30 3 ¤³¤ó¤Õ¤ê¤¯¤È ¥³¥ó¥Õ¥ê¥¯¥È #T30 2 ¤³¤ó¤Ö º«ÉÛ #T35 3 ¤³¤ó¤×¤ê¡¼¤·¤ç¤ó ¥³¥ó¥×¥ê¡¼¥·¥ç¥ó #T35 1 ¤³¤ó¤×¤ê¡¼¤È ¥³¥ó¥×¥ê¡¼¥È #T00 1 ¤³¤ó¤×¤ê¤·¤ç¤ó ¥³¥ó¥×¥ê¥·¥ç¥ó #T35 1 ¤³¤ó¤×¤ê¤á¤ó¤È ¥³¥ó¥×¥ê¥á¥ó¥È #T35 1 ¤³¤ó¤×¤ì¤¹ ¥³¥ó¥×¥ì¥¹ #T30 4 ¤³¤ó¤×¤ì¤Ã¤¯¤¹ ¥³¥ó¥×¥ì¥Ã¥¯¥¹ #T35 1 ¤³¤ó¤Ù¤¢ ¥³¥ó¥Ù¥¢ #T35 0 ¤³¤ó¤Ù¤¢¡¼ ¥³¥ó¥Ù¥¢¡¼ #T35 0 ¤³¤ó¤Ù¤ó¤·¤ç¤Ê¤ë ¥³¥ó¥Ù¥ó¥·¥ç¥Ê¥ë #T05 6 ¤³¤ó¤Ù¤ó¤·¤ç¤ó ¥³¥ó¥Ù¥ó¥·¥ç¥ó #T35 2 ¤³¤ó¤Ú¤­ º°ÊË #T35 1 ¤³¤ó¤Ü¤¦ º©Ë¾ #T30 0 ¤³¤ó¤Ü¤¦ º®Ë #T30 0 ¤³¤ó¤Ü¤¦ ÛþËÀ #T35 0 ¤³¤ó¤Ý¡¼¤Í¤ó¤È ¥³¥ó¥Ý¡¼¥Í¥ó¥È #T35 15 ¤³¤ó¤Ý¤¦ º­Êñ #T30 3 ¤³¤ó¤Ý¤ó º¬ËÜ #T35 6 ¤³¤ó¤Þ ¥³¥ó¥Þ #T35 3 ¤³¤ó¤á¤¤ º®Ì #T30 0 ¤³¤ó¤â¤¦ º©Ë¾ #T30 0 ¤³¤ó¤â¤¦ º¬ÌÓ #T35 0 ¤³¤ó¤â¤ê ¤³¤ó¤â¤ê #F04 0 ¤³¤ó¤ä º£Ìë #T35 4 ¤³¤ó¤ä¤¯ º§Ìó #T30 3 ¤³¤ó¤è¤¦ º®ÍÑ #T30 1 ¤³¤ó¤é¤ó º®Íð #T30 15 ¤³¤ó¤ê¤å¤¦ ·úΩ #T30 0 ¤³¤ó¤ê¤å¤¦ º¬Î³ #T35 0 ¤³¤ó¤ê¤ó¤¶¤¤ ¶âÎØºÝ #F14 1 ¤³¤ó¤ì¤¤ º§Îé #T35 1 ¤³¤ó¤í ¥³¥ó¥í #T35 7 ¤³¤ó¤ï º®Ï #T30 0 ¤³¤ó¤ï º©Ïà #T30 1 ¤³¤ó¤ï¤¯ º¤ÏÇ #T30 1 ¤´ ¸ì #JS 255 ¤´ ¸å #JSSUC 0 ¤´ ¸Õ #KJ 0 ¤´ ¸á #KJ 0 ¤´ ¸â #KJ 0 ¤´ ¸ä #KJ 0 ¤´ ¸è #KJ 0 ¤´ ¸ê #KJ 0 ¤´ ºã #KJ 0 ¤´ ¸ß #KJ 1 ¤´ ¸ã #KJ 1 ¤´ ¸å #KJ 1 ¤´ ¸é #KJ 1 ¤´ ¸ï #KJ 1 ¤´ Åæ #KJ 1 ¤´ ¸í #KJ 13 ¤´ ¸ç #KJ 3 ¤´ ¸î #KJ 3 ¤´ ¸æ #KJ 62 ¤´ ¸Þ #NN 190 ¤´ ¤´ #PRE 0 ¤´ ¸æ #PRE 0 ¤´ ¸í #PRE 0 ¤´ ¸à #S5 7 ¤´ ¸ì #SUC 0 ¤´ ¸å #SUC 154 ¤´ ¸à #T30 7 ¤´ ¸ë #T35 2 ¤´ ¸ì #T35 7 ¤´¡¼¤°¤ë ¥´¡¼¥°¥ë #T35 0 ¤´¡¼¤¸¤ã¤¹ ¥´¡¼¥¸¥ã¥¹ #T05 2 ¤´¡¼¤¹¤È ¥´¡¼¥¹¥È #T35 2 ¤´¡¼¤É¤ó ¥´¡¼¥É¥ó #JN 0 ¤´¡¼¤ë ¥´¡¼¥ë #T30 31 ¤´¡¼¤ë¤Ç¤ó ¥´¡¼¥ë¥Ç¥ó #PRE 1 ¤´¡¼¤ë¤É ¥´¡¼¥ë¥É #T05 2 ¤´¤¢¤¤¤³ ¸æ°¦¸Ü #T30 0 ¤´¤¢¤¤¤³ ¤´°¦¸Ü #T30 1 ¤´¤¢¤¤¤µ¤Ä ¸æ°§»¢ #T30 1 ¤´¤¢¤¤¤µ¤Ä ¤´°§»¢ #T30 4 ¤´¤¢¤¤¤è¤¦ ¸æ°¦ÍÑ #T30 0 ¤´¤¢¤¤¤è¤¦ ¤´°¦ÍÑ #T30 2 ¤´¤¢¤ó¤¸ ¤´°Æ¤¸ #OKX 3 ¤´¤¢¤ó¤Ê¤¤ ¸æ°ÆÆâ #T30 0 ¤´¤¢¤ó¤Ê¤¤ ¤´°ÆÆâ #T30 2 ¤´¤¤ ¸ì°Õ #T35 1 ¤´¤¤ ¸ì×à #T35 31 ¤´¤¤¤±¤ó ¸æ°Õ¸« #T30 0 ¤´¤¤¤±¤ó ¤´°Õ¸« #T30 0 ¤´¤¤¤Á¤É¤¦¤µ¤Þ ¸æ°ìƱÍÍ #T35 0 ¤´¤¤¤Ã¤·¤ç ¸æ°ì½ï #T10 1 ¤´¤¤¤Ã¤·¤ç ¤´°ì½ï #T10 2 ¤´¤¤¤Ã¤È¤¦¤µ¤Þ ¸æ°ìÅýÍÍ #T35 0 ¤´¤¤¤Ã¤Ý¤¦ ¸æ°ìÊó #T30 5 ¤´¤¤¤é¤¤ ¤´°ÍÍê #T30 2 ¤´¤¤¤é¤¤ ¸æ°ÍÍê #T30 3 ¤´¤¦ ¹ç #JS 0 ¤´¤¦ ¹æ #JS 89 ¤´¤¦ ¹å #KJ 0 ¤´¤¦ ¹è #KJ 0 ¤´¤¦ ¹é #KJ 0 ¤´¤¦ ¹ê #KJ 0 ¤´¤¦ ¹ì #KJ 0 ¤´¤¦ ¶¯ #KJ 1 ¤´¤¦ ¶È #KJ 1 ¤´¤¦ ¶¿ #KJ 11 ¤´¤¦ ¹æ #S5 0 ¤´¤¦ ¹æ #SUC 0 ¤´¤¦ ¹æ #T30 0 ¤´¤¦ ¶È #T35 0 ¤´¤¦ ¹ä #T35 1 ¤´¤¦ ¹ç #T35 2 ¤´¤¦ ¹ë #T35 2 ¤´¤¦¤¤ ¹ç°Õ #T30 10 ¤´¤¦¤¤¤ó ¶¯°ú #T05 8 ¤´¤¦¤¦ ¹ë±« #T35 1 ¤´¤¦¤« ¹ë²Ú #T05 4 ¤´¤¦¤«¤¤ ¹ë²÷ #T05 3 ¤´¤¦¤«¤¯ ¹ç³Ê #T30 5 ¤´¤¦¤«¤ó ¹æ´Û #JS 10 ¤´¤¦¤«¤ó ¶¯´¯ #T30 1 ¤´¤¦¤¬¤¤ ¹æ³° #T35 0 ¤´¤¦¤­ ¹äµ£ #T05 0 ¤´¤¦¤­¤å¤¦ ¹æµã #T30 0 ¤´¤¦¤­¤ó ¹ç¶â #T35 0 ¤´¤¦¤® ¹ëµ· #T05 0 ¤´¤¦¤® ¹çµÄ #T30 0 ¤´¤¦¤±¤¤ ¹ç·× #T30 55 ¤´¤¦¤±¤Ä ¹ë·æ #T35 0 ¤´¤¦¤±¤ó ¹ä·ò #T05 0 ¤´¤¦¤´ ¹ë¸ì #T30 1 ¤´¤¦¤´¤¦ ¹ì¡¹ #F00 1 ¤´¤¦¤´¤¦ ¹ì¡¹ #T36 0 ¤´¤¦¤· ¹ç»ñ #T30 1 ¤´¤¦¤·¤¬¤¤¤·¤ã ¹ç»ñ²ñ¼Ò #T35 0 ¤´¤¦¤·¤Ä ¹æ¼¼ #JS 4 ¤´¤¦¤·¤ã ¹ëÔú #T05 0 ¤´¤¦¤·¤å¤¦ ¹ë½£ #CN 0 ¤´¤¦¤·¤ç¤¦ ¹æ¾Ú #JS 0 ¤´¤¦¤·¤ç¤¦ ¹ë¾¦ #T35 0 ¤´¤¦¤¸¤ç¤¦ ¶¯¾ð #T05 0 ¤´¤¦¤¹¤¦ ¹æ¿ô #T35 0 ¤´¤¦¤»¤¤ ¹ëÀª #T15 0 ¤´¤¦¤»¤¤ ¹çÀ® #T30 16 ¤´¤¦¤»¤Ä ¹ëÀã #T35 0 ¤´¤¦¤»¤ó ¹æÀþ #JS 2 ¤´¤¦¤½ ¶¯ÁÊ #T30 0 ¤´¤¦¤¾¤¯ ¹ë² #T35 0 ¤´¤¦¤¿¤ó ¹äÃÀ #T05 0 ¤´¤¦¤¿¤ó ¹ëÃÀ #T05 0 ¤´¤¦¤À ¶¿ÅÄ #JNS 0 ¤´¤¦¤À¤Ä ¶¯Ã¥ #T30 1 ¤´¤¦¤Á¤ç¤¯ ¹äľ #T05 0 ¤´¤¦¤Ä ¹¾ÄÅ #JCN 0 ¤´¤¦¤Ä¤¯¤Ð¤ê ¶È¤Ä¤¯¤Ð¤ê #T05 0 ¤´¤¦¤È¤¦ ¹æÅï #JS 0 ¤´¤¦¤È¤¦ ¶¯Åð #T30 1 ¤´¤¦¤É ¿À¸Í #JCN 0 ¤´¤¦¤É¤¦ ¹çƱ #T30 7 ¤´¤¦¤Î¤¦¤é ¶¿¥Î±º #CN 0 ¤´¤¦¤Ï¤é ¶ÈÊ¢ #T05 0 ¤´¤¦¤Ï¤ó ¹çÈÄ #T35 0 ¤´¤¦¤Ò ¹çÈÝ #T35 0 ¤´¤¦¤Ò¤Ä ¹çÉ® #T30 0 ¤´¤¦¤Ù¤ó ¹çÊÛ #T35 0 ¤´¤¦¤Û¤¦ ¹ëÊü #T05 0 ¤´¤¦¤Û¤¦ ¹çË¡ #T05 4 ¤´¤¦¤Û¤¦ ¹æË¤ #T35 1 ¤´¤¦¤Û¤¦¤é¤¤¤é¤¯ ¹ëÊüâýÍî #T05 1 ¤´¤¦¤Þ¤ó ¤´¤¦Ëý #T05 4 ¤´¤¦¤Þ¤ó ÐþËý #T05 4 ¤´¤¦¤á¤¤ ¹ç̾ #T35 0 ¤´¤¦¤á¤¤¤¬¤¤¤·¤ã ¹ç̾²ñ¼Ò #T35 0 ¤´¤¦¤â¤ó ¹éÌä #T30 1 ¤´¤¦¤è¤¯ ¶¯Íß #T05 0 ¤´¤¦¤ê ¹çÍý #T35 11 ¤´¤¦¤ê¤­ ¶¯ÎÏ #T05 0 ¤´¤¦¤ê¤å¤¦ ¹çή #T30 2 ¤´¤¦¤ê¤å¤¦¤· ¹çή»Ò #T35 1 ¤´¤¦¤ì¤¤ ¹æÎá #T30 0 ¤´¤¦¤ï¤ó ¹äÏÓ #T05 0 ¤´¤¨¤¤ ¸î±Ò #T30 1 ¤´¤¨¤¤¤¸ ¤´±Ó¤¸ #OKX 0 ¤´¤¨¤¤¤¸ ¤´±Ç¤¸ #OKX 2 ¤´¤¨¤¤¤Æ¤ó ¤´±Éž #T30 0 ¤´¤¨¤¤¤Æ¤ó ¸æ±Éž #T30 0 ¤´¤¨¤Ä¤É¤¦¤·¤å¤¦ ¸â±ÛƱ½® #T15 0 ¤´¤¨¤ó ¸íÓë #T30 1 ¤´¤¨¤ó¤¸ ¤´±é¤¸ #OKX 5 ¤´¤¨¤ó¤¸¤ç ¤´±ç½õ #T30 0 ¤´¤¨¤ó¤¸¤ç ¸æ±ç½õ #T30 0 ¤´¤ª¤¦¤¸ ¤´±þ¤¸ #OKX 61 ¤´¤ª¤¦¤Ü ¸æ±þÊç #T30 0 ¤´¤ª¤¦¤Ü ¤´±þÊç #T30 2 ¤´¤ª¤ó¤³ ¤´²¸¸Ü #T35 0 ¤´¤ª¤ó¤³ ¸æ²¸¸Ü #T35 0 ¤´¤« ¸Þ²â #CN 0 ¤´¤«¤¤ ¸í²ò #T30 20 ¤´¤«¤¤¤½¤¦ ¤´²ñÁò #T35 0 ¤´¤«¤¤¤½¤¦ ¸æ²ñÁò #T35 0 ¤´¤«¤¤¤È¤¦ ¤´²óÅú #T30 0 ¤´¤«¤¤¤È¤¦ ¸æ²óÅú #T30 4 ¤´¤«¤¯¤Ë¤ó ¸æ³Îǧ #T30 0 ¤´¤«¤¯¤Ë¤ó ¤´³Îǧ #T30 2 ¤´¤«¤·¤ç¤¦ ¸Þ¸ÄÁñ #CN 0 ¤´¤«¤» ¸Þ¥öÀ¥ #CN 0 ¤´¤«¤¾¤¯ ¸æ²È² #T35 0 ¤´¤«¤¾¤¯ ¤´²È² #T35 1 ¤´¤«¤Ä¤ä¤¯ ¸æ³èÌö #T30 0 ¤´¤«¤Ä¤ä¤¯ ¤´³èÌö #T30 1 ¤´¤«¤Æ¤¤ ¤´²ÈÄí #T35 0 ¤´¤«¤Æ¤¤ ¸æ²ÈÄí #T35 0 ¤´¤«¤ó ¸ì´¶ #T35 1 ¤´¤«¤ó ¸ì´´ #T35 13 ¤´¤«¤ó ¸ß´¹ #T35 179 ¤´¤«¤ó¤¸ ¤´´Ñ¤¸ #OKX 1 ¤´¤«¤ó¤¸ ¤´´¶¤¸ #OKX 4 ¤´¤«¤ó¤¸¤ç ¤´´²½ú #T35 0 ¤´¤«¤ó¤¸¤ç ¸æ´²½ú #T35 0 ¤´¤«¤ó¤»¤¤ ¸ß´¹À­ #T35 0 ¤´¤«¤ó¤Å¤­ ¤´´ª¤Å¤­ #K5r 0 ¤´¤«¤ó¤Å¤­ ¤´´¶¤Å¤­ #K5r 0 ¤´¤«¤ó¤è¤¦ ¸æ´²ÍÆ #T35 0 ¤´¤«¤ó¤è¤¦ ¤´´²ÍÆ #T35 1 ¤´¤¬¤¯ ¸ì³Ø #T35 7 ¤´¤¬¤ó ¸î´ß #T35 0 ¤´¤­ ¸íµ­ #T30 0 ¤´¤­ ¸ìµ¤ #T35 2 ¤´¤­¤²¤ó ¤´µ¡·ù #T15 0 ¤´¤­¤²¤ó¤è¤¦ ¤´¤­¤²¤ó¤è¤¦ #CJ 1 ¤´¤­¤¿¤¤ ¤´´üÂÔ #T30 0 ¤´¤­¤¿¤¤ ¸æ´üÂÔ #T30 5 ¤´¤­¤Ë¤å¤¦ ¸æµ­Æþ #T30 0 ¤´¤­¤Ë¤å¤¦ ¤´µ­Æþ #T30 2 ¤´¤­¤Ö¤ê ¥´¥­¥Ö¥ê #T35 7 ¤´¤­¤Ü¤¦ ¸æ´õ˾ #T30 2 ¤´¤­¤Ü¤¦ ¤´´õ˾ #T30 7 ¤´¤­¤ç¤¦¤ê¤ç¤¯ ¤´¶¨ÎÏ #T30 12 ¤´¤­¤ç¤¦¤ê¤ç¤¯ ¸æ¶¨ÎÏ #T30 18 ¤´¤­¤ó¤¸ ¤´¶Ø¤¸ #OKX 33 ¤´¤®¤ç¤¦ ¸Þ¹Ô #T35 0 ¤´¤®¤ó¤¸ ¤´¶ã¤¸ #OKX 0 ¤´¤¯ ¤´¤¯ #F14 19 ¤´¤¯ ¶Ë #F14 4 ¤´¤¯ ¹ö #KJ 1 ¤´¤¯ ¹ñ #SUC 1 ¤´¤¯ ¸ì¶ç #T35 1 ¤´¤¯¤¢¤¯ ¶Ë°­ #T05 0 ¤´¤¯¤¤ ¶Ë°Õ #T35 1 ¤´¤¯¤·¤ã ¹ö¼Ë #T35 0 ¤´¤¯¤Ò ¶ËÈë #T05 6 ¤´¤¯¤Ò¤ó ¶ËÉÏ #T35 0 ¤´¤¯¤é¤¯ ¶Ë³Ú #T35 0 ¤´¤¯¤í¤¦ ¸æ¶ìÏ« #T05 13 ¤´¤¯¤í¤¦ ¤´¶ìÏ« #T05 35 ¤´¤¯¤í¤¦¤µ¤Þ ¤´¶ìÏ«¤µ¤Þ #T15 0 ¤´¤¯¤í¤¦¤µ¤Þ ¸æ¶ìÏ«ÍÍ #T15 0 ¤´¤± ¸å²È #T35 0 ¤´¤±¤¤ ¸ß·Ã #T35 0 ¤´¤±¤Ã¤³¤ó ¸æ·ëº§ #T30 0 ¤´¤±¤Ã¤³¤ó ¤´·ëº§ #T30 2 ¤´¤±¤Ã¤»¤­ ¤´·çÀÊ #T30 0 ¤´¤±¤Ã¤»¤­ ¸æ·çÀÊ #T30 0 ¤´¤±¤ó ¸î·û #T35 0 ¤´¤±¤ó¤·¤ç¤¦ ¸æ·ò¾¡ #T35 0 ¤´¤±¤ó¤·¤ç¤¦ ¤´·ò¾¡ #T35 1 ¤´¤±¤ó¤È¤¦ ¤´¸¡Æ¤ #T30 6 ¤´¤±¤ó¤È¤¦ ¸æ¸¡Æ¤ #T30 6 ¤´¤²¤ó ¸ì¸» #T35 2 ¤´¤³¤¦ ¸å¸÷ #T35 0 ¤´¤³¤¦¤¤ ¤´¹¥°Õ #T35 1 ¤´¤³¤¦¤¤ ¸æ¸ü°Õ #T35 1 ¤´¤³¤¦¤¤ ¸æ¹¥°Õ #T35 1 ¤´¤³¤¦¤¤ ¤´¸ü°Õ #T35 2 ¤´¤³¤¦¤® ¤´¹âµÃ #T35 0 ¤´¤³¤¦¤® ¸æ¹âµÃ #T35 0 ¤´¤³¤¦¤· ¤´¸ü»Ö #T35 0 ¤´¤³¤¦¤· ¸æ¸ü»Ö #T35 0 ¤´¤³¤¦¤¸ ¤´¹Ö¤¸ #OKX 16 ¤´¤³¤¦¤¸¤ç¤¦ ¤´¸ü¾ð #T35 0 ¤´¤³¤¦¤¸¤ç¤¦ ¸æ¸ü¾ð #T35 0 ¤´¤³¤¦¤Ï¤¤ ¤´¹âÇÛ #T35 0 ¤´¤³¤¦¤Ï¤¤ ¸æ¹âÇÛ #T35 0 ¤´¤³¤¦¤é¤ó ¤´¹âÍ÷ #T35 0 ¤´¤³¤¦¤é¤ó ¸æ¹âÍ÷ #T35 1 ¤´¤³¤¯ ¸Þ¹ò #T35 0 ¤´¤³¤¯ ¸î¹ñ #T35 0 ¤´¤³¤Á ¿´ÃÏ #T35 2 ¤´¤³¤í ¿´ #SUC 2 ¤´¤³¤ó¤¸¤ç¤¦ ¤´º©¾ð #T35 0 ¤´¤³¤ó¤¸¤ç¤¦ ¸æº©¾ð #T35 0 ¤´¤³¤ó¤»¤Ä ¤´º©ÀÚ #T05 0 ¤´¤³¤ó¤»¤Ä ¸æº©ÀÚ #T05 0 ¤´¤´ ¸á¹¡ #T35 1 ¤´¤´ ¸á¸å #T35 102 ¤´¤µ ¸íº¹ #T35 2 ¤´¤µ¤¤ ¸åºÊ #T35 1 ¤´¤µ¤Ã¤· ¤´»¡¤· #OKX 6 ¤´¤µ¤ó¤« ¤´»²²Ã #T30 0 ¤´¤µ¤ó¤« ¸æ»²²Ã #T30 3 ¤´¤µ¤ó¤¸ ¤´»¶¤¸ #OKX 0 ¤´¤µ¤ó¤ì¤Ä ¤´»²Îó #T30 0 ¤´¤µ¤ó¤ì¤Ä ¸æ»²Îó #T30 0 ¤´¤¶ ¸æºÂ #L5 12 ¤´¤¶ ¤´¤¶ #L5 255 ¤´¤¶¤¤¤·¤ç ¸æºß½ê #JCN 0 ¤´¤· ±Û¤· #T35 0 ¤´¤· ¹ø #T35 0 ¤´¤·¤¨¤ó ¸æ»Ù±ç #T30 0 ¤´¤·¤¨¤ó ¤´»Ù±ç #T30 2 ¤´¤·¤­ ¸Þ¿§ #CN 0 ¤´¤·¤Ã¤¯ ¥´¥·¥Ã¥¯ #T35 0 ¤´¤·¤Ã¤¯ ¥´¥·¥Ã¥¯ #KK 5 ¤´¤·¤Ä¤â¤ó ¸æ¼ÁÌä #T30 3 ¤´¤·¤Ä¤â¤ó ¤´¼ÁÌä #T30 4 ¤´¤·¤É¤¦ ¤´»ØÆ³ #T30 0 ¤´¤·¤É¤¦ ¸æ»ØÆ³ #T30 2 ¤´¤·¤ã¤¯ ¸ì¼á #T30 0 ¤´¤·¤å¤¦¤Ë¤ó ¤´½¢Ç¤ #T30 0 ¤´¤·¤å¤¦¤Ë¤ó ¸æ½¢Ç¤ #T30 0 ¤´¤·¤å¤¸¤ó ¸æ¼ç¿Í #T35 0 ¤´¤·¤å¤¸¤ó ¤´¼ç¿Í #T35 4 ¤´¤·¤å¤Ã¤»¤­ ¸æ½ÐÀÊ #T30 0 ¤´¤·¤å¤Ã¤»¤­ ¤´½ÐÀÊ #T30 4 ¤´¤·¤ç ¸æ½ê #T35 0 ¤´¤·¤ç¤¦ ¸åÀ¸ #T35 1 ¤´¤·¤ç¤¦¤«¤¤ ¤´¾È²ñ #T30 0 ¤´¤·¤ç¤¦¤«¤¤ ¸æ¾È²ñ #T30 0 ¤´¤·¤ç¤¦¤«¤¤ ¤´¾Ò²ð #T30 1 ¤´¤·¤ç¤¦¤«¤¤ ¸æ¾Ò²ð #T30 3 ¤´¤·¤ç¤¦¤¸ ¤´À¸¤¸ #OKX 61 ¤´¤·¤ç¤¦¤¿¤¤ ¸æ¾·ÂÔ #T30 0 ¤´¤·¤ç¤¦¤¿¤¤ ¤´¾·ÂÔ #T30 1 ¤´¤·¤ç¤¦¤Á ¤´¾µÃÎ #T30 0 ¤´¤·¤ç¤¦¤Á ¸æ¾µÃÎ #T30 4 ¤´¤·¤ç¤¬¤ï¤é ¸Þ½êÀ #JCN 0 ¤´¤·¤ç¤¯ ¸í¿¢ #T30 0 ¤´¤·¤ç¤Î¤¦¤é ¸æ½ê±º #JCN 0 ¤´¤·¤è¤¦ ¤´»ÈÍÑ #T35 0 ¤´¤·¤è¤¦ ¸æ»ÈÍÑ #T35 14 ¤´¤·¤ó ¸í¿® #T30 0 ¤´¤·¤ó ¸í¿Ç #T30 0 ¤´¤·¤ó ¸î¿È #T35 0 ¤´¤·¤ó¤¸ ¤´¿®¤¸ #OKX 163 ¤´¤¸ ¸î»ý #T30 0 ¤´¤¸ ¸í»ú #T35 6 ¤´¤¸¤¢¤¤ ¤´¼«°¦ #T30 0 ¤´¤¸¤¢¤¤ ¸æ¼«°¦ #T30 0 ¤´¤¸¤Ä ¸åÆü #T35 10 ¤´¤¸¤å¤¦ ¸Þ½Å #T35 1 ¤´¤¸¤å¤¦¤ª¤ó ¸Þ½½²» #T35 2 ¤´¤¸¤å¤¦¤·¤ç ¤´½»½ê #T35 0 ¤´¤¸¤å¤¦¤·¤ç ¸æ½»½ê #T35 0 ¤´¤¸¤å¤Ã¤Ý¤Ò¤ã¤Ã¤Ý ¸Þ½½ÊâÉ´Êâ #T35 1 ¤´¤¸¤å¤ó ¸ì½ç #T35 0 ¤´¤¸¤å¤ó¤¸ ¤´½Þ¤¸ #OKX 0 ¤´¤¸¤ç ¸ß½õ #T30 2 ¤´¤¸¤ç¤¦ ¸Þ¾ò #CN 0 ¤´¤¸¤ç¤¦ ¸ÞÛê #JCN 0 ¤´¤¸¤ç¤¦ ¸ß¾ù #T30 0 ¤´¤¸¤ç¤¦¤¸ ¤´¾è¤¸ #OKX 4 ¤´¤¸¤ç¤¦¤á ¸Þ¾ëÌÜ #CN 0 ¤´¤¸¤ó ¸æ¿Î #T35 1 ¤´¤¹¤¦ ¸ì¿ô #T35 12 ¤´¤» ¸æ½ê #JCN 0 ¤´¤»¤¤ ¸çÀ­ #T35 0 ¤´¤»¤¤¤¦¤ó ¤´À¹±¿ #T35 0 ¤´¤»¤¤¤¦¤ó ¸æÀ¹±¿ #T35 0 ¤´¤»¤¤¤¨¤¤ ¤´À¶±É #T35 1 ¤´¤»¤¤¤¨¤¤ ¸æÀ¶±É #T35 1 ¤´¤»¤¤¤­¤å¤¦ ¸æÀÁµá #T35 0 ¤´¤»¤¤¤­¤å¤¦ ¤´ÀÁµá #T35 2 ¤´¤»¤¤¤®¤ç¤¦ ¤´À¹¶È #T35 0 ¤´¤»¤¤¤®¤ç¤¦ ¸æÀ¹¶È #T35 0 ¤´¤»¤¤¤·¤ç¤¦ ¤´À¶¾¡ #T35 0 ¤´¤»¤¤¤·¤ç¤¦ ¤´À¶¾Í #T35 0 ¤´¤»¤¤¤·¤ç¤¦ ¸æÀ¶¾¡ #T35 0 ¤´¤»¤¤¤·¤ç¤¦ ¸æÀ¶¾Í #T35 0 ¤´¤»¤¤¤À¤¤ ¤´À¹Âç #T05 0 ¤´¤»¤¤¤À¤¤ ¸æÀ¹Âç #T05 0 ¤´¤»¤¤¤é¤ó ¸æÀ¶Í÷ #T35 1 ¤´¤»¤Ã¤· ¤´Àܤ· #OKX 2 ¤´¤»¤ó ¸ÞÀô #JCN 0 ¤´¤»¤ó ¸ßÁª #T30 0 ¤´¤»¤ó¤· ¸ÞÀþ»æ #T35 0 ¤´¤»¤ó¤¾ ¤´ÀèÁÄ #T35 0 ¤´¤»¤ó¤¾ ¸æÀèÁÄ #T35 0 ¤´¤»¤ó¤Õ ¸ÞÀþÉè #T35 1 ¤´¤¼¤ó ¸áÁ° #T35 88 ¤´¤¼¤ó¤ä¤Þ ¸æÁ°»³ #CN 0 ¤´¤½¤¦ ¸îÁ÷ #T30 0 ¤´¤½¤¦¤µ ¸íÁàºî #T30 3 ¤´¤½¤¦¤À¤ó ¸æÁêÃÌ #T30 0 ¤´¤½¤¦¤À¤ó ¤´ÁêÃÌ #T30 4 ¤´¤½¤¦¤Õ ¸æÁ÷ÉÕ #T30 0 ¤´¤½¤¦¤Õ ¤´Á÷ÉÕ #T30 1 ¤´¤½¤¯¤í¤¦ ¤´Â­Ï« #T35 0 ¤´¤½¤¯¤í¤¦ ¸æÂ­Ï« #T35 0 ¤´¤½¤ó¤¸ ¤´Â»¤¸ #OKX 8 ¤´¤¾¤ó¤¸ ¤´Â¸¤¸ #OKX 12 ¤´¤¾¤ó¤¸ ¸æÂ¸ÃÎ #OKX 15 ¤´¤¾¤ó¤¸ ¤´Â¸ÃÎ #OKX 25 ¤´¤¿¤¯ ¸æÂ÷ #T35 1 ¤´¤¿¤´¤¿ ¥´¥¿¥´¥¿ #T35 0 ¤´¤¿¤·¤ç¤¦ ¤´Â¿¾Í #T35 0 ¤´¤¿¤·¤ç¤¦ ¸æÂ¿¾Í #T35 0 ¤´¤¿¤Ü¤¦ ¸æÂ¿Ë» #T05 0 ¤´¤¿¤Ü¤¦ ¤´Â¿Ë» #T05 2 ¤´¤¿¤è¤¦¤Á¤å¤¦ ¤´Â¿ÍÑÃæ #T35 0 ¤´¤¿¤è¤¦¤Á¤å¤¦ ¸æÂ¿ÍÑÃæ #T35 0 ¤´¤¿¤ó¤¸ ¤´Ã²¤¸ #OKX 0 ¤´¤¿¤ó¤À ¸ÞÈ¿ÅÄ #CN 0 ¤´¤À¤Ä ¸íæ #T35 0 ¤´¤À¤ó¤«¤Ä¤è¤¦ ¸ÞÃʳèÍÑ #T30 0 ¤´¤À¤ó¤¸ ¤´ÃǤ¸ #OKX 2 ¤´¤Á¤½¤¦ ¸æÃÚÁö #T35 0 ¤´¤Á¤½¤¦ ¤´ÃÚÁö #T35 8 ¤´¤Á¤ã¤´¤Á¤ã ¤´¤Á¤ã¤´¤Á¤ã #F04 3 ¤´¤Á¤ã¤´¤Á¤ã ¤´¤Á¤ã¤´¤Á¤ã #T16 0 ¤´¤Á¤å¤¦¤¤ ¸æÃí°Õ #T30 0 ¤´¤Á¤å¤¦¤¤ ¤´Ãí°Õ #T30 23 ¤´¤Á¤å¤¦¤â¤ó ¸æÃíʸ #T30 1 ¤´¤Á¤å¤¦¤â¤ó ¤´Ãíʸ #T30 3 ¤´¤Á¤ç¤¦ ¸ìÄ´ #T35 0 ¤´¤Á¤ç¤¦ ¸ìĹ #T35 1 ¤´¤Á¤ç¤¦¤¸ ¤´Ä¹¤¸ #OKX 0 ¤´¤Ã¤½¤ê ¤´¤Ã¤½¤ê #F02 1 ¤´¤Ã¤½¤ê ¤´¤Ã¤½¤ê #T36 0 ¤´¤Ã¤¿¤Ë ¤´¤Ã¤¿¼Ñ #T35 0 ¤´¤Ã¤Á¤ã ¤´¤Ã¤Á¤ã #T18 0 ¤´¤Ä¤¦¤Á ¤´ÄÌÃÎ #T30 0 ¤´¤Ä¤¦¤Á ¸æÄÌÃÎ #T30 0 ¤´¤Ä¤´¤¦ ¤´ÅÔ¹ç #T35 1 ¤´¤Ä¤´¤¦ ¸æÅÔ¹ç #T35 2 ¤´¤Æ¤ó ¸æÅ #T35 0 ¤´¤Æ¤ó¤Ð ¸æÅ¾ì #CN 0 ¤´¤È Ç¡ #KJ 0 ¤´¤È Ëè #KJ 0 ¤´¤È ¤´¤È #SUC 0 ¤´¤È »ö #SUC 0 ¤´¤È Ëè #SUC 153 ¤´¤È Ëè #T15 0 ¤´¤È¤¦ ¸ÞÅç #JCN 0 ¤´¤È¤¦ ¸åÆ£ #JNS 0 ¤´¤È¤¦ ¸ìƬ #T35 0 ¤´¤È¤¦¤¸ ¤´Åꤸ #OKX 1 ¤´¤È¤¦¤Á¤ã¤¯ ¤´ÅþÃå #T30 0 ¤´¤È¤¦¤Á¤ã¤¯ ¸æÅþÃå #T30 1 ¤´¤È¤­ Ç¡¤­ #RT 0 ¤´¤È¤¯ Ç¡¤¯ #F14 0 ¤´¤È¤¯ Ç¡¤¯ #T16 0 ¤´¤È¤· Ç¡¤· #F14 0 ¤´¤É¤¦¤µ ¸íưºî #T30 0 ¤´¤É¤¦¤¸ ¤´Æ°¤¸ #OKX 3 ¤´¤Ê¤ó¤¸ ¤´Æñ¤¸ #OKX 13 ¤´¤Ë¤ó ¸íǧ #T30 2 ¤´¤Í¤ó¤¸ ¤´Ç°¤¸ #OKX 22 ¤´¤Î¤Ø ¸Þ¸Í #JNS 0 ¤´¤Ï¤¤¤ê¤ç ¸æÇÛθ #T30 0 ¤´¤Ï¤¤¤ê¤ç ¤´ÇÛθ #T30 2 ¤´¤Ï¤µ¤ó ¤´ÇË»» #T35 0 ¤´¤Ï¤µ¤ó ¸æÇË»» #T35 0 ¤´¤Ï¤Ã¤· ¤´È¯¤· #OKX 4 ¤´¤Ï¤Ã¤Æ¤ó ¤´È¯Å¸ #T30 0 ¤´¤Ï¤Ã¤Æ¤ó ¸æÈ¯Å¸ #T30 0 ¤´¤Ï¤ó ¸æÈÓ #T35 2 ¤´¤Ï¤ó ¤´ÈÓ #T35 35 ¤´¤Ï¤ó¤¨¤¤ ¤´È豃 #T30 0 ¤´¤Ï¤ó¤¨¤¤ ¸æÈ豃 #T30 0 ¤´¤Ï¤ó¤¸ ¤´È½¤¸ #OKX 1 ¤´¤Ï¤ó¤¸¤ç¤¦ ¤´ÈËÀ¹ #T30 0 ¤´¤Ï¤ó¤¸¤ç¤¦ ¸æÈËÀ¹ #T30 0 ¤´¤Ð¤Ã¤· ¤´È³¤· #OKX 1 ¤´¤Ð¤ó ¸ëÈ× #T35 0 ¤´¤Ó ¸ìÈø #T35 7 ¤´¤Ó¤å¤¦ ¸íɵ #T35 0 ¤´¤Õ¤¦¤¸ ¤´Éõ¤¸ #OKX 0 ¤´¤Õ¤¯ ¸âÉþ #T35 0 ¤´¤Ö¤µ¤¿ ¸æÌµº»ÂÁ #T30 29 ¤´¤Ö¤ó ¸íʹ #T30 1 ¤´¤Ø¤¤ ¸ìÊÀ #T35 0 ¤´¤Ø¤ó¤«¤ó ¸íÊÑ´¹ #T30 0 ¤´¤Ø¤ó¤¸ ¤´ÊѤ¸ #OKX 247 ¤´¤Ø¤ó¤¸ ¸æÊÖ»ö #T30 0 ¤´¤Ø¤ó¤¸ ¤´ÊÖ»ö #T30 4 ¤´¤Ø¤ó¤½¤¦ ¸æÊÖÁ÷ #T30 0 ¤´¤Ø¤ó¤½¤¦ ¤´ÊÖÁ÷ #T30 1 ¤´¤Ù¤ó¤¿¤Ä ¸æÊÜÚ¥ #T35 1 ¤´¤Û¤¦ ¸íÊó #T35 1 ¤´¤Û¤¦¤³¤¯ ¤´Êó¹ð #T30 0 ¤´¤Û¤¦¤³¤¯ ¸æÊó¹ð #T30 14 ¤´¤Û¤¦¤· ¤´Êô»Å #T30 0 ¤´¤Û¤¦¤· ¸æÊô»Å #T30 0 ¤´¤Û¤¦¤· ¤´Ë§»Ö #T35 0 ¤´¤Û¤¦¤· ¸æË§»Ö #T35 0 ¤´¤Û¤¦¤¸ ¤´Êô¤¸ #OKX 0 ¤´¤Û¤¦¤¸ ¤´Êø¤¸ #OKX 0 ¤´¤Û¤¦¤¸ ¤´Êó¤¸ #OKX 10 ¤´¤Û¤¦¤Í¤ó ¤´Êüǰ #T35 0 ¤´¤Û¤¦¤Í¤ó ¸æÊüǰ #T35 0 ¤´¤Û¤¦¤á¤¤ ¤´Ë§Ì¾ #T35 0 ¤´¤Û¤¦¤á¤¤ ¸æË§Ì¾ #T35 0 ¤´¤Û¤¯ ¸ãËÌ #CN 0 ¤´¤Ü¤¦ ¸æË· #CN 0 ¤´¤Þ ¸ÕËã #T35 0 ¤´¤Þ¤« ¤´¤Þ¤« #S5 3 ¤´¤Þ¤« ¸íËâ²½ #S5 3 ¤´¤Þ¤Ä ¸ìËö #T35 0 ¤´¤ß ¸ÞÌ£ #JNS 0 ¤´¤ß ¿Ð #T35 0 ¤´¤ß ¥´¥ß #T35 27 ¤´¤ß¤Ð¤³ ¥´¥ßÈ¢ #T35 3 ¤´¤à ¥´¥à #T35 3 ¤´¤á¤¤¤¸ ¤´Ìä¸ #OKX 1 ¤´¤á¤¤¤¸ ¤´Ì¿¤¸ #OKX 2 ¤´¤á¤¤¤È¤¦ ¤´Ì¾Åú #T35 0 ¤´¤á¤¤¤È¤¦ ¸æÌ¾Åú #T35 0 ¤´¤á¤¤¤ï¤¯ ¤´ÌÂÏÇ #T05 2 ¤´¤á¤¤¤ï¤¯ ¸æÌÂÏÇ #T05 28 ¤´¤á¤ó ¸æÌÈ #T35 6 ¤´¤á¤ó ¤´¤á¤ó #T35 85 ¤´¤á¤ó¤¸ ¤´ÌȤ¸ #OKX 29 ¤´¤â¤¯ ¸ÞÌÜ #T35 1 ¤´¤ä¤¯ ¸íÌõ #T30 1 ¤´¤è¤¦ ¸íÍÑ #T30 1 ¤´¤è¤¦ ¸æÍÑ #T35 3 ¤´¤è¤¦¤ª¤µ¤á ¸æÍÑǼ¤á #T35 0 ¤´¤è¤¦¤¿¤Ä ¸æÍÑã #T35 0 ¤´¤è¤¦¤Ï¤¸¤á ¸æÍѻϤá #T35 0 ¤´¤è¤¦¤á¤¤ ¤´ÍÑÌ¿ #OKX 0 ¤´¤è¤¦¤á¤¤ ¸æÍÑÌ¿ #T35 0 ¤´¤è¤¦¤á¤¤ ¤´ÍÑÌ¿ #T35 1 ¤´¤é¤¤¤³¤¦ ¤´Íè¸÷ #T35 0 ¤´¤é¤¤¤³¤¦ ¸æÍè¸÷ #T35 0 ¤´¤é¤¤¤¸¤ç¤¦ ¤´Íè¾ì #T30 0 ¤´¤é¤¤¤¸¤ç¤¦ ¸æÍè¾ì #T30 0 ¤´¤é¤¤¤Æ¤ó ¤´ÍèŹ #T30 0 ¤´¤é¤¤¤Æ¤ó ¸æÍèŹ #T30 1 ¤´¤é¤¤¤ê¤ó ¤´ÍèÎ× #T30 0 ¤´¤é¤¤¤ê¤ó ¸æÍèÎ× #T30 0 ¤´¤é¤¯ ¸ä³Ú #T35 1 ¤´¤é¤ó ¤´Í÷ #T35 0 ¤´¤é¤ó ¤´¤é¤ó #T35 2 ¤´¤é¤ó ¸æÍ÷ #T35 37 ¤´¤ê¤«¤¤ ¤´Íý²ò #T35 2 ¤´¤ê¤«¤¤ ¸æÍý²ò #T35 4 ¤´¤ê¤à¤Á¤å¤¦ ¸ÞÎ¤Ì¸Ãæ #T15 0 ¤´¤ê¤ä¤¯ ¤´Íø±× #T35 2 ¤´¤ê¤å¤¦ ¸Þε #CN 0 ¤´¤ê¤å¤¦¤»¤¤ ¤´Î´À¹ #T35 0 ¤´¤ê¤å¤¦¤»¤¤ ¸æÎ´À¹ #T35 1 ¤´¤ê¤ç¤¦¤·¤ç¤¦ ¤´Î»¾µ #T30 0 ¤´¤ê¤ç¤¦¤·¤ç¤¦ ¸æÎ»¾µ #T30 5 ¤´¤ê¤ç¤¦¤·¤ó ¸æÎ¾¿Æ #T35 0 ¤´¤ê¤ç¤¦¤·¤ó ¤´Î¾¿Æ #T35 2 ¤´¤ê¤è¤¦ ¤´ÍøÍÑ #T30 13 ¤´¤ê¤è¤¦ ¸æÍøÍÑ #T30 3 ¤´¤ê¤ó ¸ÞÎØ #T35 2 ¤´¤ë¤Ð¤Á¤ç¤Õ ¥´¥ë¥Ð¥Á¥ç¥Õ #JN 0 ¤´¤ë¤Õ ¥´¥ë¥Õ #T35 5 ¤´¤ì¤ó¤é¤¯ ¸æÏ¢Íí #T30 31 ¤´¤ì¤ó¤é¤¯ ¤´Ï¢Íí #T30 6 ¤´¤í º¢ #SUC 0 ¤´¤í ¤´¤í #SUC 22 ¤´¤í º¢ #T15 0 ¤´¤í ¸ìϤ #T35 4 ¤´¤í¤¦ ¸ÞϺ #JNM 0 ¤´¤í¤¦ ¸àϯ #JNM 0 ¤´¤í¤¯ ¸ìÏ¿ #T35 1 ¤´¤í¤´¤í ¥´¥í¥´¥í #T30 5 ¤´¤í¤Í ¤´¤í¿² #T30 3 ¤´¤í¤ó¤¸ ¤´ÏÀ¤¸ #OKX 52 ¤´¤í¤ó¤È ¤´¤í¤ó¤È #F14 0 ¤´¤ó ¸· #KJ 0 ¤´¤ó º² #KJ 0 ¤´¤ó ¸À #KJ 1 ¤´¤ó ¸¢ #KJ 2 ¤´¤ó¤®¤ç¤¦ ¶Ð¹Ô #T35 0 ¤´¤ó¤² ¸¢²½ #T35 2 ¤´¤ó¤¸¤ç¤¦ ¸À¾å #T30 0 ¤´¤ó¤É¤¦ ¸¢Æ£ #JNS 0 ¤´¤ó¤É¤ï¤Ê ¥´¥ó¥É¥ï¥Ê #CN 0 Canna37p3/dic/ideo/pubdic/m.p0100644000076500001200000015501107735225677015236 0ustar shinraadmin¤Þ ·þ #K5 0 ¤Þ »µ #K5 1 ¤Þ ¼¬ #K5 1 ¤Þ ¤Þ #K5 4 ¤Þ ´¬ #K5 80 ¤Þ Ëá #KJ 0 ¤Þ Ëã #KJ 2 ¤Þ Áý #S5 33 ¤Þ Ëá #SX 0 ¤Þ ¤Þ #T35 12 ¤Þ ¿¿ #T35 17 ¤Þ Ëà #T35 2 ¤Þ Ëâ #T35 6 ¤Þ ´Ö #T35 87 ¤Þ ÂÔ #T5r 255 ¤Þ Éñ #W5r 34 ¤Þ¡¼¤« ¥Þ¡¼¥« #T35 1 ¤Þ¡¼¤«¡¼ ¥Þ¡¼¥«¡¼ #T35 1 ¤Þ¡¼¤¯ ¥Þ¡¼¥¯ #T30 38 ¤Þ¡¼¤±¤Ã¤È ¥Þ¡¼¥±¥Ã¥È #T35 0 ¤Þ¡¼¤±¤Æ¤£¤ó¤° ¥Þ¡¼¥±¥Æ¥£¥ó¥° #T35 1 ¤Þ¡¼¤¸ ¥Þ¡¼¥¸ #T30 31 ¤Þ¡¼¤¸¤ã¤ó ¥Þ¡¼¥¸¥ã¥ó #T35 2 ¤Þ¡¼¤¸¤ó ¥Þ¡¼¥¸¥ó #T35 6 ¤Þ¡¼¤Õ¤£¡¼ ¥Þ¡¼¥Õ¥£¡¼ #JN 0 ¤Þ¡¼¤é¡¼ ¥Þ¡¼¥é¡¼ #JN 0 ¤Þ¤¢ ¤Þ¤¢ #CJ 87 ¤Þ¤¢ ¤Þ¤¢ #F14 80 ¤Þ¤¢ ¤Þ¤¢ #T35 80 ¤Þ¤¢¤¤ ´Ö¹ç¤¤ #T35 0 ¤Þ¤¢¤¸¤ã¤ó Ëã¿ý #T35 5 ¤Þ¤¢¤¿¤é¤· ¿¿¿·¤· #KY 1 ¤Þ¤¢¤¿¤é¤·¤å¤¦ ¿¿¿·¤·¤å¤¦ #KYU 1 ¤Þ¤¤ Ëç #JS 123 ¤Þ¤¤ Ëä #KJ 0 ¤Þ¤¤ Ëå #KJ 0 ¤Þ¤¤ Ëæ #KJ 0 ¤Þ¤¤ ÊÆ #KJ 5 ¤Þ¤¤ Ëè #NNPRE 0 ¤Þ¤¤ ¥Þ¥¤ #PRE 0 ¤Þ¤¤ ·Ø #R5r 1 ¤Þ¤¤ ¤Þ¤¤ #R5r 14 ¤Þ¤¤ »² #R5r 5 ¤Þ¤¤ Ëç #T35 0 ¤Þ¤¤ Ëè #T35 3 ¤Þ¤¤ Éñ #T35 5 ¤Þ¤¤¤¢¤µ ËèÄ« #T35 4 ¤Þ¤¤¤«¡¼ ¥Þ¥¤¥«¡¼ #T35 0 ¤Þ¤¤¤«¤¤ Ëè²ó #T35 7 ¤Þ¤¤¤­ Ëè´ü #T35 1 ¤Þ¤¤¤­¤ç Ëçµó #T30 0 ¤Þ¤¤¤¯ ¥Þ¥¤¥¯ #T35 3 ¤Þ¤¤¤¯¤í ¥Þ¥¤¥¯¥í #T35 24 ¤Þ¤¤¤¯¤í¤Ï ¥Þ¥¤¥¯¥íÇÈ #T35 1 ¤Þ¤¤¤°¤ì¡¼¤·¤ç¤ó ¥Þ¥¤¥°¥ì¡¼¥·¥ç¥ó #T35 13 ¤Þ¤¤¤°¤ì¡¼¤È ¥Þ¥¤¥°¥ì¡¼¥È #SX 8 ¤Þ¤¤¤±¤ë ¥Þ¥¤¥±¥ë #JN 0 ¤Þ¤¤¤³ Éñ¤¤¹þ #M5 1 ¤Þ¤¤¤³ Éñ»Ò #T35 0 ¤Þ¤¤¤³¤×¤é¤º¤Þ ¥Þ¥¤¥³¥×¥é¥º¥Þ #T35 1 ¤Þ¤¤¤³¤ó ¥Þ¥¤¥³¥ó #T35 4 ¤Þ¤¤¤´ ¤Þ¤¤¤´ #T35 1 ¤Þ¤¤¤´ ÌÂ»Ò #T35 2 ¤Þ¤¤¤µ¤« Éñºå #JCN 0 ¤Þ¤¤¤·¤å¤¦ Ëè½µ #T35 4 ¤Þ¤¤¤·¤ó î²¿Ê #T30 1 ¤Þ¤¤¤¸ Ëè»þ #T35 2 ¤Þ¤¤¤¹¤¦ Ëç¿ô #T35 9 ¤Þ¤¤¤»¤Ä ËäÀß #T30 0 ¤Þ¤¤¤½¤¦ ËäÁò #T30 1 ¤Þ¤¤¤¾¤¦ Ëä¢ #T30 1 ¤Þ¤¤¤Ä¤­ Ëè·î #T35 6 ¤Þ¤¤¤Å¤ë ÉñÄá #JCN 0 ¤Þ¤¤¤È¤· Ëèǯ #T35 5 ¤Þ¤¤¤É ËèÅÙ #T35 14 ¤Þ¤¤¤Ê¡¼ ¥Þ¥¤¥Ê¡¼ #T05 9 ¤Þ¤¤¤Ê¤¹ ¥Þ¥¤¥Ê¥¹ #T10 4 ¤Þ¤¤¤Ê¤¹ ¡Ý #T35 1 ¤Þ¤¤¤Ë¤Á ËèÆü #T35 39 ¤Þ¤¤¤Í¤ó Ëèǯ #T35 1 ¤Þ¤¤¤Ï¤é ÊÆ¸¶ #JCN 0 ¤Þ¤¤¤Ð¤é ÊÆ¸¶ #JCN 0 ¤Þ¤¤¤Ð¤ó ËèÈÕ #T35 3 ¤Þ¤¤¤Ú¡¼¤¹ ¥Þ¥¤¥Ú¡¼¥¹ #T15 0 ¤Þ¤¤¤Û¡¼¤à ¥Þ¥¤¥Û¡¼¥à #T35 1 ¤Þ¤¤¤Ü¤Ä ËäË× #T30 1 ¤Þ¤¤¤Þ¤¤ Ë衹 #T35 0 ¤Þ¤¤¤è ËèÌë #T35 0 ¤Þ¤¤¤ë ¥Þ¥¤¥ë #JS 0 ¤Þ¤¤¤ë Ëé #JS 0 ¤Þ¤¤¤ë ¥Þ¥¤¥ë #T35 3 ¤Þ¤¦¤¨ ¿¿¾å #T35 1 ¤Þ¤¦¤¹ ¥Þ¥¦¥¹ #T35 93 ¤Þ¤¦¤ó¤Æ¤ó ¥Þ¥¦¥ó¥Æ¥ó #T35 1 ¤Þ¤¦¤ó¤È ¥Þ¥¦¥ó¥È #T30 161 ¤Þ¤¨ Á° #CNSUC1 255 ¤Þ¤¨ Á° #JSSUC 0 ¤Þ¤¨ Á° #PRE 0 ¤Þ¤¨ Á° #SUC 0 ¤Þ¤¨ ¤Þ¤¨ #T35 1 ¤Þ¤¨ Á° #T35 37 ¤Þ¤¨¤¢¤· Á°Â­ #T35 0 ¤Þ¤¨¤¦¤ê Á°Çä #T30 1 ¤Þ¤¨¤ª¤­ Á°ÃÖ¤­ #T30 1 ¤Þ¤¨¤«¤± Á°³Ý¤± #T35 0 ¤Þ¤¨¤«¤ï Á°Àî #JNS 0 ¤Þ¤¨¤¬¤­ Á°½ñ¤­ #T30 2 ¤Þ¤¨¤¬¤· Á°Âߤ· #T30 0 ¤Þ¤¨¤¬¤ê Á°¼Ú¤ê #T30 0 ¤Þ¤¨¤¬¤ï Á°Â¦ #T35 0 ¤Þ¤¨¤­¤ó Á°¶â #T35 0 ¤Þ¤¨¤µ¤ï Á°Âô #JCN 0 ¤Þ¤¨¤¶¤ï Á°Âô #JNS 0 ¤Þ¤¨¤¸¤Þ Á°Åç #JNS 0 ¤Þ¤¨¤¸¤Þ Á°Åè #JNS 0 ¤Þ¤¨¤À Á°ÅÄ #JNS 0 ¤Þ¤¨¤Ä¤¨ Á°Äʾ #JCN 0 ¤Þ¤¨¤Î Á°Ìî #JNS 0 ¤Þ¤¨¤Î¤á¤ê Á°¤Î¤á¤ê #T35 0 ¤Þ¤¨¤Ï¤é Á°¸¶ #JNS 0 ¤Þ¤¨¤Ð Á°»õ #T35 0 ¤Þ¤¨¤Ð¤· Á°¶¶ #JCN 0 ¤Þ¤¨¤Ð¤·¤· Á°¶¶»Ô #CNS 0 ¤Þ¤¨¤Ð¤é¤¤ Á°Ê§¤¤ #T30 0 ¤Þ¤¨¤Ð¤ë Á°¸¶ #JCN 0 ¤Þ¤¨¤Ö¤ì Á°¿¨¤ì #T30 0 ¤Þ¤¨¤Þ¤¨ Á°¡¹ #T35 2 ¤Þ¤¨¤à¤­ Á°¸þ¤­ #T05 2 ¤Þ¤¨¤â¤Ã¤Æ Á°¤â¤Ã¤Æ #F14 2 ¤Þ¤¨¤â¤Ã¤Æ Á°¤â¤Ã¤Æ #T36 0 ¤Þ¤¨¤ä¤Þ Á°»³ #JNS 0 ¤Þ¤« ¤Þ¤« #R5 1 ¤Þ¤« É餫 #S5 0 ¤Þ¤« Ǥ #S5 4 ¤Þ¤« ËàëÅ #T35 1 ¤Þ¤«¤¤ Ë⳦ #T35 0 ¤Þ¤«¤» °Ñ¤» #KS 0 ¤Þ¤«¤» ¤Þ¤«¤» #KS 2 ¤Þ¤«¤» Ǥ¤» #KS 26 ¤Þ¤«¤Ê ÏÅ #W5r 1 ¤Þ¤«¤Õ¤·¤® ËàëÅÉÔ»×µÄ #T18 0 ¤Þ¤«¤Ù ¿¿ÊÉ #JCN 0 ¤Þ¤¬ ¶Ê #R5r 0 ¤Þ¤¬ ¶Ê¤¬ #R5r 5 ¤Þ¤¬ ʶ #W5r 1 ¤Þ¤¬¤ª ¿¿´é #T15 0 ¤Þ¤¬¤¸¤ó ¥Þ¥¬¥¸¥ó #T35 4 ¤Þ¤¬¤Þ¤¬¤· ¶§¡¹¤· #KY 0 ¤Þ¤¬¤Þ¤¬¤· ¶§¡¹¤·¤å¤¦ #KYU 0 ¤Þ¤¬¤ê ´Ö¼Ú¤ê #T30 6 ¤Þ¤¬¤ê¤«¤É ¶Ê¤ê³Ñ #T35 0 ¤Þ¤­ ¿¿µª #JNM 0 ¤Þ¤­ ¿¿¼ù #JNM 0 ¤Þ¤­ ´¬ #JNS 0 ¤Þ¤­ ËÒ #JNS 0 ¤Þ¤­ ¼¬ #KJ 0 ¤Þ¤­ Ëê #KJ 0 ¤Þ¤­ ÇÏÍè #KK 1 ¤Þ¤­ ¿¿ÌÚ #T35 1 ¤Þ¤­ ¿Å #T35 1 ¤Þ¤­ ËÒ #T35 1 ¤Þ¤­¤¢¤² ´¬¤­¾å¤² #KSr 0 ¤Þ¤­¤¨ ¼¬³¨ #T35 1 ¤Þ¤­¤ª¤« ËÒµÖ #JCN 0 ¤Þ¤­¤«¤¨¤· ´¬¤­ÊÖ¤· #T30 1 ¤Þ¤­¤¬¤ß ´¬»æ #T35 0 ¤Þ¤­¤³ Ëþ´î»Ò #JNM 0 ¤Þ¤­¤³ ´¬¤­¹þ #M5r 3 ¤Þ¤­¤·¤Þ ËêÅç #JNS 0 ¤Þ¤­¤¸¤ã¤¯ ´¬¼Ü #T35 0 ¤Þ¤­¤¾¤Î ËÒ±à #JCN 0 ¤Þ¤­¤¿ ËÒÅÄ #JNS 0 ¤Þ¤­¤¿ ¿¿ËÌ #T35 0 ¤Þ¤­¤Ä ´¬¤­ÉÕ #K5r 0 ¤Þ¤­¤Ä¤± ´¬¤­ÉÕ¤± #KSr 0 ¤Þ¤­¤Î ¥Þ¥­¥Î #JCN 0 ¤Þ¤­¤Î ËÒÌî #JNS 0 ¤Þ¤­¤Î¤¦¤Á ËÒÇ·Æâ #JNS 0 ¤Þ¤­¤Ð ËÒ¾ì #T35 0 ¤Þ¤­¤â¤Î ´¬Êª #T35 1 ¤Þ¤®¤é ʶ¤é #S5 0 ¤Þ¤®¤é¤ï¤· ʶ¤é¤ï¤· #KY 4 ¤Þ¤®¤é¤ï¤·¤å¤¦ ʶ¤é¤ï¤·¤å¤¦ #KYU 1 ¤Þ¤®¤ì ʶ¤ì #KSr 2 ¤Þ¤®¤ì¤³ ʶ¤ì¹þ #M5 2 ¤Þ¤®¤ï ´ÖºÝ #T35 2 ¤Þ¤¯ ¤Þ¤¯ #R5r 0 ¤Þ¤¯ ·þ¤¯ #R5r 0 ¤Þ¤¯ Ëì #T35 0 ¤Þ¤¯ Ëë #T35 8 ¤Þ¤¯¤¢¤± Ë볫¤± #T35 0 ¤Þ¤¯¤®¤ì ËëÀÚ¤ì #T35 0 ¤Þ¤¯¤»¤ë ¥Þ¥¯¥»¥ë #KK 1 ¤Þ¤¯¤É¤Ê¤ë¤É ¥Þ¥¯¥É¥Ê¥ë¥É #KK 3 ¤Þ¤¯¤Ï¤ê ËëÄ¥ #CN 0 ¤Þ¤¯¤Ù¤Ä ËëÊÌ #CN 0 ¤Þ¤¯¤é Ëí #T35 4 ¤Þ¤¯¤é¤® ËíÌÚ #T35 0 ¤Þ¤¯¤é¤¶¤­ Ëíºê #JCN 0 ¤Þ¤¯¤é¤Î¤½¤¦¤· ËíÁð»Ò #KK 0 ¤Þ¤¯¤í ¥Þ¥¯¥í #T05 164 ¤Þ¤°¤ê¤Ã¤È ¥Þ¥°¥ê¥Ã¥È #JN 0 ¤Þ¤°¤í Ëî #T35 2 ¤Þ¤°¤í¤¦¤Ò¤ë ¥Þ¥°¥í¥¦¥Ò¥ë #KK 1 ¤Þ¤± É餱 #KSr 25 ¤Þ¤± ÇÔ¤± #KSr 8 ¤Þ¤±¤³ É餱±Û #S5r 0 ¤Þ¤² ¶Ê¤² #KSr 3 ¤Þ¤² Û¾¤² #R5 0 ¤Þ¤³ Ëã»Ò #JNM 0 ¤Þ¤³¤È ¿® #JNM 0 ¤Þ¤³¤È ¿¿ #JNM 0 ¤Þ¤³¤È À¿ #JNM 0 ¤Þ¤³¤È âà #JNM 0 ¤Þ¤³¤È ¤Þ¤³¤È #T35 1 ¤Þ¤³¤È ¿¿ #T35 10 ¤Þ¤³¤È À¿ #T35 15 ¤Þ¤³¤È¤·¤ä¤« ¤Þ¤³¤È¤·¤ä¤« #T05 0 ¤Þ¤´ ¹ #T35 4 ¤Þ¤´¤¤ ¿¿¸ñ #T35 0 ¤Þ¤´¤³¤í ¿¿¿´ #T35 0 ¤Þ¤´¤Ä ¤Þ¤´¤Ä #K5r 0 ¤Þ¤´¤Þ¤´ ¤Þ¤´¤Þ¤´ #SX 1 ¤Þ¤µ ¥Þ¥µ #JN 0 ¤Þ¤µ ¤Þ¤µ #JNM 0 ¤Þ¤µ Ëï #KJ 0 ¤Þ¤µ ¶© #KJ 1 ¤Þ¤µ À¯ #KJ 1 ¤Þ¤µ ¾» #KJ 2 ¤Þ¤µ Àµ #KJ 5 ¤Þ¤µ ²í #KJ 6 ¤Þ¤µ Í¥ #R5r 0 ¤Þ¤µ ¾¡ #R5r 3 ¤Þ¤µ¤¢¤­ À¯¾¼ #JNM 0 ¤Þ¤µ¤¢¤­ Àµ¾¼ #JNM 0 ¤Þ¤µ¤¢¤­ ÀµÌÀ #JNM 0 ¤Þ¤µ¤¤¤Á À¯°ì #JNM 0 ¤Þ¤µ¤¤¤Á Àµ°ì #JNM 0 ¤Þ¤µ¤¨ ²í¹¾ #JNM 0 ¤Þ¤µ¤¨ ¾»»Þ #JNM 0 ¤Þ¤µ¤ª ²íÉ× #JNM 0 ¤Þ¤µ¤ª ²íͺ #JNM 0 ¤Þ¤µ¤ª ¾»ÃË #JNM 0 ¤Þ¤µ¤ª À¯ÃË #JNM 0 ¤Þ¤µ¤ª À¯É× #JNM 0 ¤Þ¤µ¤ª À¯Íº #JNM 0 ¤Þ¤µ¤ª ÀµÃË #JNM 0 ¤Þ¤µ¤ª ÀµÉ× #JNM 0 ¤Þ¤µ¤ª ÀµÍº #JNM 0 ¤Þ¤µ¤« ¤Þ¤µ¤« #F14 5 ¤Þ¤µ¤« ¤Þ¤µ¤« #T36 0 ¤Þ¤µ¤«¤º Àµ°ì #JNM 0 ¤Þ¤µ¤«¤º ÀµÏ #JNM 0 ¤Þ¤µ¤«¤Ä À¯¾¡ #JNM 0 ¤Þ¤µ¤«¤Ä Àµ¾¡ #JNM 0 ¤Þ¤µ¤«¤Ë ¤Þ¤µ¤«¤Ë #F14 0 ¤Þ¤µ¤­ ¾¾Á° #JCN 0 ¤Þ¤µ¤­ ¿¿¹¬ #JCN 0 ¤Þ¤µ¤­ ²í¼ù #JNM 0 ¤Þ¤µ¤­ Àµµ£ #JNM 0 ¤Þ¤µ¤­ Àµµª #JNM 0 ¤Þ¤µ¤­ Àµµ­ #JNM 0 ¤Þ¤µ¤­ Àµ¼ù #JNM 0 ¤Þ¤µ¤­ ÀµÌÚ #JNM 0 ¤Þ¤µ¤­ âù¬ #JNM 0 ¤Þ¤µ¤­ ÀµÌÚ #T35 7 ¤Þ¤µ¤­¤Á À¯µÈ #JNM 0 ¤Þ¤µ¤° ¤Þ¤µ¤° #R5r 0 ¤Þ¤µ¤³ ¤Þ¤µ»Ò #JNM 0 ¤Þ¤µ¤³ ²í»Ò #JNM 0 ¤Þ¤µ¤³ ¾»»Ò #JNM 0 ¤Þ¤µ¤³ ¾½»Ò #JNM 0 ¤Þ¤µ¤³ ¿¿¼Ó»Ò #JNM 0 ¤Þ¤µ¤³ À¯»Ò #JNM 0 ¤Þ¤µ¤³ Àµ»Ò #JNM 0 ¤Þ¤µ¤³ À¿»Ò #JNM 0 ¤Þ¤µ¤· ²í»Ë #JNM 0 ¤Þ¤µ¤· ¾» #JNM 0 ¤Þ¤µ¤· ¾»»Ì #JNM 0 ¤Þ¤µ¤· À¯»Ö #JNM 0 ¤Þ¤µ¤· Àµ #JNM 0 ¤Þ¤µ¤· Àµ»Ê #JNM 0 ¤Þ¤µ¤· Àµ»Ö #JNM 0 ¤Þ¤µ¤·¤¯ Àµ¤·¤¯ #F14 3 ¤Þ¤µ¤¸ À¯¼¡ #JNM 0 ¤Þ¤µ¤¸ À¯¼£ #JNM 0 ¤Þ¤µ¤¸ Àµ¼¡ #JNM 0 ¤Þ¤µ¤¸ Àµ¼£ #JNM 0 ¤Þ¤µ¤¿¤« ¾»¹§ #JNM 0 ¤Þ¤µ¤¿¤« Àµ¹§ #JNM 0 ¤Þ¤µ¤Á¤å¡¼¤»¤Ã¤Ä ¥Þ¥µ¥Á¥å¡¼¥»¥Ã¥Ä #CN 0 ¤Þ¤µ¤Ä Ë໤ #T30 1 ¤Þ¤µ¤Ä¤° ²í¾Ò #JNM 0 ¤Þ¤µ¤Ä¤° ¿Î·Ñ #JNM 0 ¤Þ¤µ¤È ²í¿Í #JNM 0 ¤Þ¤µ¤È ¿¿¿Í #JNM 0 ¤Þ¤µ¤È À¯¿Í #JNM 0 ¤Þ¤µ¤È Àµ¿Í #JNM 0 ¤Þ¤µ¤È¤· ²í½Ó #JNM 0 ¤Þ¤µ¤È¤· ²íÉÒ #JNM 0 ¤Þ¤µ¤È¤· ¾»Íø #JNM 0 ¤Þ¤µ¤È¤· À¯Íø #JNM 0 ¤Þ¤µ¤È¤· Àµ½Ó #JNM 0 ¤Þ¤µ¤È¤· ÀµÉÒ #JNM 0 ¤Þ¤µ¤È¤· ÀµÍø #JNM 0 ¤Þ¤µ¤Ê¤ª ÀµÄ¾ #JNS 0 ¤Þ¤µ¤Ë Àµ¤Ë #F14 1 ¤Þ¤µ¤Ë ¤Þ¤µ¤Ë #F14 13 ¤Þ¤µ¤Î¤Ö ²í¿® #JNM 0 ¤Þ¤µ¤Î¤Ö ²íÀë #JNM 0 ¤Þ¤µ¤Î¤Ö ¾»¿® #JNM 0 ¤Þ¤µ¤Î¤Ö À¯¿® #JNM 0 ¤Þ¤µ¤Î¤Ö Àµ¿® #JNM 0 ¤Þ¤µ¤Î¤ê ²íŵ #JNM 0 ¤Þ¤µ¤Î¤ê Àµµª #JNM 0 ¤Þ¤µ¤Î¤ê ÀµÂ§ #JNM 0 ¤Þ¤µ¤Î¤ê ÀµÆÁ #JNM 0 ¤Þ¤µ¤Ï¤ë ²í½Õ #JNM 0 ¤Þ¤µ¤Ï¤ë À¯½Õ #JNM 0 ¤Þ¤µ¤Ï¤ë Àµ¼£ #JNM 0 ¤Þ¤µ¤Ï¤ë Àµ½Õ #JNM 0 ¤Þ¤µ¤Ò¤³ ²íɧ #JNM 0 ¤Þ¤µ¤Ò¤³ ¾»É§ #JNM 0 ¤Þ¤µ¤Ò¤³ ÀµÉ§ #JNM 0 ¤Þ¤µ¤Ò¤í ²íÇî #JNM 0 ¤Þ¤µ¤Ò¤í ²í͵ #JNM 0 ¤Þ¤µ¤Ò¤í ¶©¹° #JNM 0 ¤Þ¤µ¤Ò¤í ¾»¹¨ #JNM 0 ¤Þ¤µ¤Ò¤í ¾»¹° #JNM 0 ¤Þ¤µ¤Ò¤í À¯¹° #JNM 0 ¤Þ¤µ¤Ò¤í Àµ¹­ #JNM 0 ¤Þ¤µ¤Ò¤í Àµ¹° #JNM 0 ¤Þ¤µ¤Ò¤í Àµ¹À #JNM 0 ¤Þ¤µ¤Ò¤í ÀµÇî #JNM 0 ¤Þ¤µ¤Ò¤í ÀµÍÎ #JNM 0 ¤Þ¤µ¤Õ¤ß ¾­Ê¸ #JNM 0 ¤Þ¤µ¤Õ¤ß ÀµÊ¸ #JNM 0 ¤Þ¤µ¤ß ²íÈþ #JNM 0 ¤Þ¤µ¤ß ¾»¸Ê #JNM 0 ¤Þ¤µ¤ß À¯Èþ #JNM 0 ¤Þ¤µ¤ß ÀµÈþ #JNM 0 ¤Þ¤µ¤ß ÀµÌ¦ #JNM 0 ¤Þ¤µ¤ß¤Á ÀµÆ» #JNM 0 ¤Þ¤µ¤ß¤Ä Àµ¸÷ #JNM 0 ¤Þ¤µ¤á ÀµÌÜ #T35 0 ¤Þ¤µ¤ä ²íºÈ #JNM 0 ¤Þ¤µ¤ä ²íÌé #JNM 0 ¤Þ¤µ¤ä ¾»Ìé #JNM 0 ¤Þ¤µ¤ä¤¹ ²í¹¯ #JNM 0 ¤Þ¤µ¤ä¤¹ ²íÊÝ #JNM 0 ¤Þ¤µ¤ä¤¹ Àµ¹¯ #JNM 0 ¤Þ¤µ¤æ¤­ ²íÇ· #JNM 0 ¤Þ¤µ¤æ¤­ ¾»¹¬ #JNM 0 ¤Þ¤µ¤æ¤­ ¾»Ç· #JNM 0 ¤Þ¤µ¤æ¤­ À¯¹¬ #JNM 0 ¤Þ¤µ¤æ¤­ À¯¹Ô #JNM 0 ¤Þ¤µ¤æ¤­ Àµ¹¬ #JNM 0 ¤Þ¤µ¤æ¤­ Àµ¹Ô #JNM 0 ¤Þ¤µ¤æ¤­ ÀµÇ· #JNM 0 ¤Þ¤µ¤æ¤­ À¿Ç· #JNM 0 ¤Þ¤µ¤æ¤á ÀµÌ´ #T35 2 ¤Þ¤µ¤è¤· À¯µÁ #JNM 0 ¤Þ¤µ¤è¤· ÀµµÁ #JNM 0 ¤Þ¤µ¤è¤· Àµ¸µ #JNM 0 ¤Þ¤µ¤è¤· Àµ¹¥ #JNM 0 ¤Þ¤µ¤ë ¾¡ #JNM 0 ¤Þ¤µ¤ë Í¥ #JNM 0 ¤Þ¤¶ ¸ò¤¶ #R5 1 ¤Þ¤¶ º®¤¶ #R5 9 ¤Þ¤¶¤Þ¤¶ ¤Þ¤¶¤Þ¤¶ #F06 0 ¤Þ¤· ¥Þ¥· #T05 0 ¤Þ¤· ¤Þ¤· #T05 17 ¤Þ¤·¤­ ±×¾ë #JCN 0 ¤Þ¤·¤± ÁýÌÓ #JCN 0 ¤Þ¤·¤³ ±×»Ò #JCN 0 ¤Þ¤·¤³ Áý»Ò #JNS 0 ¤Þ¤·¤¿ ±×ÅÄ #JCN 0 ¤Þ¤·¤¿ ¿¿²¼ #T35 2 ¤Þ¤·¤Æ ¤Þ¤·¤Æ #F14 13 ¤Þ¤·¤Æ¤ä ¤Þ¤·¤Æ¤ä #F14 2 ¤Þ¤·¤ã¤¯ ´Ö¼Ü #T35 1 ¤Þ¤·¤ç¤¦¤á¤ó ¿¿ÀµÌÌ #T35 1 ¤Þ¤·¤ó Ë㿾 #T35 1 ¤Þ¤·¤ó ¥Þ¥·¥ó #T35 255 ¤Þ¤¸ ¸ò¤¸ #R5r 3 ¤Þ¤¸ º®¤¸ #R5r 4 ¤Þ¤¸¤¨ ¸ò¤¨ #KS 4 ¤Þ¤¸¤Ã¤¯ ¥Þ¥¸¥Ã¥¯ #T35 8 ¤Þ¤¸¤Þ ´ÖÅç #JNS 0 ¤Þ¤¸¤Þ¤¸ ¤Þ¤¸¤Þ¤¸ #F06 0 ¤Þ¤¸¤á ¤Þ¤¸¤á #T05 0 ¤Þ¤¸¤á ¿¿ÌÌÌÜ #T05 18 ¤Þ¤¸¤å¤Ä Ëâ½Ñ #T35 0 ¤Þ¤¸¤ç Ëâ½÷ #T35 1 ¤Þ¤¸¤ï ¸ò¤ï #R5r 2 ¤Þ¤¹ Á¤ #KJ 0 ¤Þ¤¹ Ëñ #KJ 3 ¤Þ¤¹ ±× #T35 0 ¤Þ¤¹ ¾£ #T35 0 ¤Þ¤¹ ¥Þ¥¹ #T35 3 ¤Þ¤¹ ¤Þ¤¹ #T35 4 ¤Þ¤¹ Ëð #T35 5 ¤Þ¤¹¤¤ Áý°æ #JNS 0 ¤Þ¤¹¤¤ Ëã¿ì #T30 0 ¤Þ¤¹¤ª ÁýÈø #JCN 0 ¤Þ¤¹¤¯ ¥Þ¥¹¥¯ #T30 12 ¤Þ¤¹¤³ ±×»Ò #JNM 0 ¤Þ¤¹¤³ Áý»Ò #JNM 0 ¤Þ¤¹¤³¤ß ¥Þ¥¹¥³¥ß #T35 2 ¤Þ¤¹¤¾¤¨ Á¤Åº #JNS 0 ¤Þ¤¹¤¿ ¥Þ¥¹¥¿ #T30 36 ¤Þ¤¹¤¿¡¼ ¥Þ¥¹¥¿¡¼ #T30 4 ¤Þ¤¹¤¿¡¼¤Ù¡¼¤·¤ç¤ó ¥Þ¥¹¥¿¡¼¥Ù¡¼¥·¥ç¥ó #T30 1 ¤Þ¤¹¤¿¤Ë ¾£Ã« #JNS 0 ¤Þ¤¹¤À ±×ÅÄ #JCN 0 ¤Þ¤¹¤À ÁýÅÄ #JCN 0 ¤Þ¤¹¤Ö¤Á ÁýÊ¥ #JNS 0 ¤Þ¤¹¤Û ÁýÊæ #JCN 0 ¤Þ¤¹¤Þ¤¹ ±×¡¹ #F14 1 ¤Þ¤¹¤Þ¤¹ ¤Þ¤¹¤Þ¤¹ #F14 5 ¤Þ¤¹¤Þ¤¹ ¤Þ¤¹¤Þ¤¹ #T36 0 ¤Þ¤¹¤Þ¤¹ ±×¡¹ #T36 0 ¤Þ¤¹¤ß ¿¿À¡ #JN 0 ¤Þ¤¹¤ß Ëþ¼÷Èþ #JNM 0 ¤Þ¤¹¤á ¾£ÌÜ #T35 1 ¤Þ¤¹¤á ÛÆÌÜ #T35 1 ¤Þ¤¹¤ä¤Þ Áý»³ #JNS 0 ¤Þ¤º À褺 #F14 2 ¤Þ¤º ¤Þ¤º #F14 64 ¤Þ¤º ¤Þ¤º #KY 31 ¤Þ¤º¤¦ ¤Þ¤º¤¦ #KYU 2 ¤Þ¤º¤· ÉϤ· #KY 2 ¤Þ¤º¤·¤å¤¦ ÉϤ·¤å¤¦ #KYU 1 ¤Þ¤º¤Þ¤º ¤Þ¤º¤Þ¤º #T15 1 ¤Þ¤¼ ÇÏÀ¥ #JCN 0 ¤Þ¤¼ ¤Þ¤¼ #KS 0 ¤Þ¤¼ ¸ò¤¼ #KS 0 ¤Þ¤¼ º®¤¼ #KS 8 ¤Þ¤¼¤¢¤ï¤» º®¤¼¹ç¤ï¤» #KSr 0 ¤Þ¤¼¤é¤ó ¥Þ¥¼¥é¥ó #JN 0 ¤Þ¤¿ ¤Þ¤¿ #CJ 84 ¤Þ¤¿ ¸Ù #G5r 10 ¤Þ¤¿ Ëò #KJ 0 ¤Þ¤¿ Ëó #KJ 3 ¤Þ¤¿ ¸Ô #T35 33 ¤Þ¤¿ Ëô #T35 40 ¤Þ¤¿¤¬ ¤Þ¤¿¤¬ #R5 0 ¤Þ¤¿¤¬ ¸Ù #R5 19 ¤Þ¤¿¤® ¥Þ¥¿¥® #T35 0 ¤Þ¤¿¤®¤­ Ëôʹ¤­ #T30 0 ¤Þ¤¿¤·¤Æ¤â ¤Þ¤¿¤·¤Æ¤â #CJ 0 ¤Þ¤¿¤¿ ½Ö #K5r 3 ¤Þ¤¿¤Ï ¤Þ¤¿¤Ï #CJ 107 ¤Þ¤¿¤Þ ¿¿¶Ì #JCN 0 ¤Þ¤¿¤Þ¤¿ ¤Þ¤¿¤Þ¤¿ #F14 7 ¤Þ¤¿¤Þ¤¿ ¤Þ¤¿¤Þ¤¿ #T36 0 ¤Þ¤¿¤â ¤Þ¤¿¤â #F14 1 ¤Þ¤¿¤â¤ä ¤Þ¤¿¤â¤ä #F14 2 ¤Þ¤À ¤Þ¤À #F14 149 ¤Þ¤À ̤¤À #F14 7 ¤Þ¤À¤·¤â ¤Þ¤À¤·¤â #F14 1 ¤Þ¤À¤Þ¤À ¤Þ¤À¤Þ¤À #F14 13 ¤Þ¤À¤Þ¤À ¤Þ¤À¤Þ¤À #T36 0 ¤Þ¤À¤à ¥Þ¥À¥à #T35 1 ¤Þ¤À¤é Èà #T15 0 ¤Þ¤À¤é¤ª ÈÃÈø #JCN 0 ¤Þ¤À¤ë¤Ã¤³¤· ¤Þ¤À¤ë¤Ã¤³¤· #KY 0 ¤Þ¤À¤ë¤Ã¤³¤·¤¬ ¤Þ¤À¤ë¤Ã¤³¤·¤¬ #R5 0 ¤Þ¤À¤ë¤Ã¤³¤·¤å¤¦ ¤Þ¤À¤ë¤Ã¤³¤·¤å¤¦ #KYU 0 ¤Þ¤Á Ä® #CNSUC1 5 ¤Þ¤Á ËüÃÒ #JNM 0 ¤Þ¤Á ³¹ #T35 42 ¤Þ¤Á ÂÔ #T35 6 ¤Þ¤Á Ä® #T35 94 ¤Þ¤Á¤¢ ÂÔ¤Á¹ç #W5r 0 ¤Þ¤Á¤¢¤¤¤·¤Ä ÂԹ缼 #T35 1 ¤Þ¤Á¤«¤É ³¹³Ñ #T35 1 ¤Þ¤Á¤¬ ´Ö°ã #W5r 213 ¤Þ¤Á¤¬¤¤¤Ê ´Ö°ã¤¤¤Ê #KY 0 ¤Þ¤Á¤¬¤¨ ´Ö°ã¤¨ #KS 0 ¤Þ¤Á¤¸¤å¤¦ Ä®Ãæ #T35 1 ¤Þ¤Á¤À Ä®ÅÄ #JCN 0 ¤Þ¤Á¤Â¤å¤¦ Ä®Ãæ #T35 0 ¤Þ¤Á¤Ç¤é ÂÔ»û #JNS 0 ¤Þ¤Á¤É¤ª¤· ÂÔ¤Á±ó¤· #KY 2 ¤Þ¤Á¤É¤ª¤·¤¬ ÂÔ¤Á±ó¤·¤¬ #R5 0 ¤Þ¤Á¤É¤ª¤·¤å¤¦ ÂÔ¤Á±ó¤·¤å¤¦ #KYU 1 ¤Þ¤Á¤Ê¤« Ä®Ãæ #T35 4 ¤Þ¤Á¤Ê¤ß Ä®ÊÂ¤ß #T35 0 ¤Þ¤Á¤Î¤¾ ÂÔ¤Á˾ #M5 1 ¤Þ¤Á¤Þ¤Á ¤Þ¤Á¤Þ¤Á #T05 3 ¤Þ¤Á¤ä Įë #JNS 0 ¤Þ¤Â¤« ´Ö¶á #KY 1 ¤Þ¤Â¤« ¤Þ¤Â¤« #T05 1 ¤Þ¤Â¤« ´Ö¶á #T05 1 ¤Þ¤Ã¤« ¿¿¤ÃÀÖ #T05 3 ¤Þ¤Ã¤«¡¼¤·¡¼ ¥Þ¥Ã¥«¡¼¥·¡¼ #JN 0 ¤Þ¤Ã¤«¤ê ¿¿¼í #CN 0 ¤Þ¤Ã¤­ Ëö´ü #T35 1 ¤Þ¤Ã¤­¤ó¤È¤Ã¤·¤å ¥Þ¥Ã¥­¥ó¥È¥Ã¥·¥å #KK 3 ¤Þ¤Ã¤¯ ¥Þ¥Ã¥¯ #KK 0 ¤Þ¤Ã¤¯¤¹ ¥Þ¥Ã¥¯¥¹ #JN 0 ¤Þ¤Ã¤¯¤é ¿¿¤Ã°Å #T05 0 ¤Þ¤Ã¤¯¤í ¿¿¤Ã¹õ #KY 1 ¤Þ¤Ã¤¯¤í ¿¿¤Ã¹õ #T05 1 ¤Þ¤Ã¤³¤¦ ¿¿¸þ #T35 0 ¤Þ¤Ã¤³¤¦ Ëõ¹á #T35 0 ¤Þ¤Ã¤µ¤¤¤Á¤å¤¦ ¿¿ºÇÃæ #T05 2 ¤Þ¤Ã¤µ¤ª ¿¿¤ÃÀÄ #T05 1 ¤Þ¤Ã¤µ¤­ ¿¿¤ÃÀè #T35 3 ¤Þ¤Ã¤µ¤Ä Ëõ»¦ #T30 1 ¤Þ¤Ã¤·¤ç¤¦ Ëõ¾Ã #T30 7 ¤Þ¤Ã¤·¤ç¤¦ Ëö¾¿ #T35 0 ¤Þ¤Ã¤·¤í ¿¿¤ÃÇò #KY 2 ¤Þ¤Ã¤·¤í ¿¿¤ÃÇò #T05 2 ¤Þ¤Ã¤¹¤° ¿¿Ä¾ #T05 1 ¤Þ¤Ã¤¹¤° ¤Þ¤Ã¤¹¤° #T05 5 ¤Þ¤Ã¤» ËöÀ¤ #T35 1 ¤Þ¤Ã¤»¤­ ËöÀÊ #T35 0 ¤Þ¤Ã¤¿¤¯ Á´¤¯ #F14 176 ¤Þ¤Ã¤¿¤¯ Á´¤¯ #T18 0 ¤Þ¤Ã¤¿¤ó Ëöü #T35 3 ¤Þ¤Ã¤Á ¥Þ¥Ã¥Á #T30 16 ¤Þ¤Ã¤Á¤ã ËõÃã #T35 2 ¤Þ¤Ã¤Á¤ó¤° ¥Þ¥Ã¥Á¥ó¥° #T30 7 ¤Þ¤Ã¤È¤¦ ¾¾Ç¤ #JCN 0 ¤Þ¤Ã¤È¤¦ ¿¿¤ÃÅö #T05 0 ¤Þ¤Ã¤È¤¦ Á´¤¦ #T30 4 ¤Þ¤Ã¤Ô¤Ä ËöÉ® #T35 0 ¤Þ¤Ã¤Ô¤é ¤Þ¤Ã¤Ô¤é #T15 1 ¤Þ¤Ã¤Ô¤ë¤Þ ¿¿¤ÃÃë´Ö #T35 0 ¤Þ¤Ã¤Ô¤ë¤Þ ¤Þ¤Ã¤Ô¤ë¤Þ #T35 2 ¤Þ¤Ã¤Ô¤ó¤° ¥Þ¥Ã¥Ô¥ó¥° #T30 10 ¤Þ¤Ã¤× ¥Þ¥Ã¥× #T30 43 ¤Þ¤Ã¤×¤¿¤Ä ¤Þ¤Ã¤×¤¿¤Ä #T05 0 ¤Þ¤Ã¤×¤¿¤Ä ¿¿¤ÃÆó¤Ä #T05 0 ¤Þ¤Ä Ëõ #KJ 0 ¤Þ¤Ä Ë÷ #KJ 0 ¤Þ¤Ä Êô #R5 1 ¤Þ¤Ä º× #R5r 13 ¤Þ¤Ä Ëö #SUC 130 ¤Þ¤Ä Ëö #T35 1 ¤Þ¤Ä ¾¾ #T35 93 ¤Þ¤Ä¤¤ ¾¾°æ #JNS 0 ¤Þ¤Ä¤¤¤À ¾¾°æÅÄ #JCN 0 ¤Þ¤Ä¤¦¤é ¾¾±º #JCN 0 ¤Þ¤Ä¤¨ ¾¾¹¾ #JCN 0 ¤Þ¤Ä¤¨¤¤ Ëöêã #T35 2 ¤Þ¤Ä¤¨¤· ¾¾¹¾»Ô #CNS 0 ¤Þ¤Ä¤ª ¾¾Èø #JCN 0 ¤Þ¤Ä¤ª ¾¾ÃË #JNM 0 ¤Þ¤Ä¤ª ¾¾Íº #JNM 0 ¤Þ¤Ä¤ª ¾¾É× #JNS 0 ¤Þ¤Ä¤ª¤« ¾¾²¬ #JCN 0 ¤Þ¤Ä¤«¤¿ ¾¾Êý #JNS 0 ¤Þ¤Ä¤«¤ï ¾¾Àî #JCN 0 ¤Þ¤Ä¤­ ¾¾ÌÚ #JNS 0 ¤Þ¤Ä¤² âÌÌÓ #T35 0 ¤Þ¤Ä¤² ¤Þ¤Ä¤² #T35 1 ¤Þ¤Ä¤´ Ëö´ü #T35 0 ¤Þ¤Ä¤µ¤« ¾¾ºå #JCN 0 ¤Þ¤Ä¤µ¤« ¾¾ºä #JNS 0 ¤Þ¤Ä¤µ¤­ ¾¾ºê #JNS 0 ¤Þ¤Ä¤µ¤ï ¾¾Âô #JNS 0 ¤Þ¤Ä¤¶¤« ¾¾ºä #JNS 0 ¤Þ¤Ä¤¶¤­ ¾¾ºê #JCN 0 ¤Þ¤Ä¤¶¤ï ¾¾Âô #JCN 0 ¤Þ¤Ä¤·¤² ¾¾ÌÐ #JCN 0 ¤Þ¤Ä¤·¤² ¾¾½Å #JNS 0 ¤Þ¤Ä¤·¤¿ ¾¾²¼ #JNS 0 ¤Þ¤Ä¤·¤Þ ¾¾Åç #JCN 0 ¤Þ¤Ä¤·¤Þ ¾¾Åè #JNS 0 ¤Þ¤Ä¤·¤í ¾¾Âå #JNS 0 ¤Þ¤Ä¤¸¤Ä ËöÆü #T35 2 ¤Þ¤Ä¤¸¤á ËöÄù¤á #T35 0 ¤Þ¤Ä¤¿¤± ¾¾Âû #T35 0 ¤Þ¤Ä¤¿¤í¤¦ ¾¾ÂÀϺ #JNM 0 ¤Þ¤Ä¤À ¾¾ÅÄ #JCN 0 ¤Þ¤Ä¤À ¥Þ¥Ä¥À #KK 4 ¤Þ¤Ä¤À¤¤ ¾¾Âå #JCN 0 ¤Þ¤Ä¤À¤¤ ËöÂå #T35 0 ¤Þ¤Ä¤È¤¦ ¾¾Ç¤ #JCN 0 ¤Þ¤Ä¤È¤¦¤ä ¾¾Ç¤Ã« #JNS 0 ¤Þ¤Ä¤É ¾¾¸Í #JCN 0 ¤Þ¤Ä¤Ê¤¬ ¾¾±Ê #JCN 0 ¤Þ¤Ä¤Î ¾¾Ìî #JCN 0 ¤Þ¤Ä¤Î¤ä¤Þ ¾¾Ç·»³ #JCN 0 ¤Þ¤Ä¤Ð ¾¾ÍÕ #JCN 0 ¤Þ¤Ä¤Ð¤» ¾¾¶¶ #JCN 0 ¤Þ¤Ä¤Ð¤Å¤¨ ¾¾ÍÕ¾ó #T35 1 ¤Þ¤Ä¤Ð¤é ¾¾¸¶ #JCN 0 ¤Þ¤Ä¤Ð¤é ¾¾¸¶ #T35 7 ¤Þ¤Ä¤Ó ËöÈø #T35 17 ¤Þ¤Ä¤Ö¤· ¾¾Éú #JCN 0 ¤Þ¤Ä¤Ü¤Ã¤¯¤ê ¾¾¤Ü¤Ã¤¯¤ê #T35 0 ¤Þ¤Ä¤Þ¤¨ ¾¾Á° #JCN 0 ¤Þ¤Ä¤Þ¤ë ¾¾´Ý #JNS 0 ¤Þ¤Ä¤à¤é ¾¾Â¼ #JNS 0 ¤Þ¤Ä¤â¤È ¾¾¸µ #JCN 0 ¤Þ¤Ä¤â¤È ¾¾ËÜ #JCN 0 ¤Þ¤Ä¤ä¤Þ ¾¾»³ #JCN 0 ¤Þ¤Ä¤ä¤Þ ¾¾»³ #T35 5 ¤Þ¤Ä¤ä¤Þ¤· ¾¾»³»Ô #CNS 0 ¤Þ¤Ä¤ê ¤Þ¤Ä¤ê #T35 10 ¤Þ¤Ä¤ê º× #T35 2 ¤Þ¤Ä¤ê¤´¤È À¯ #T35 1 ¤Þ¤Ä¤í ËöÏ© #T35 1 ¤Þ¤Ä¤ï Å»¤ï #R5 3 ¤Þ¤Ç Ëø #T35 15 ¤Þ¤Ç ¤Þ¤Ç #T35 17 ¤Þ¤È Ū #T35 11 ¤Þ¤È Å» #W5r 0 ¤Þ¤È¤¤ Å» #T35 0 ¤Þ¤È¤Ð Ū¾ì #JCN 0 ¤Þ¤È¤Þ ¤Þ¤È¤Þ #R5r 14 ¤Þ¤È¤á ¤Þ¤È¤á #KSr 80 ¤Þ¤È¤â ¤Þ¤È¤â #T05 12 ¤Þ¤È¤â ¥Þ¥È¥â #T05 4 ¤Þ¤È¤ê¤¯¤¹ ¥Þ¥È¥ê¥¯¥¹ #KK 2 ¤Þ¤È¤ê¤¯¤¹ ¥Þ¥È¥ê¥¯¥¹ #T35 0 ¤Þ¤È¤ê¤Ã¤¯¤¹ ¥Þ¥È¥ê¥Ã¥¯¥¹ #T35 1 ¤Þ¤É Áë #T35 17 ¤Þ¤É ÏÇ #W5r 0 ¤Þ¤É¤¦ ËâÆ» #T35 0 ¤Þ¤É¤ª ´Ö±ó #T05 0 ¤Þ¤É¤¬¤ï Áë¦ #T35 1 ¤Þ¤É¤®¤ï ÁëºÝ #T35 1 ¤Þ¤É¤°¤Á Áë¸ý #T35 39 ¤Þ¤É¤Ù ÁëÊÕ #T35 0 ¤Þ¤É¤ê ´Ö¼è¤ê #T35 0 ¤Þ¤É¤ì¡¼¤Ì ¥Þ¥É¥ì¡¼¥Ì #T35 0 ¤Þ¤É¤í ¤Þ¤É¤í #M5r 1 ¤Þ¤É¤í¤Ã¤³¤· ¤Þ¤É¤í¤Ã¤³¤· #KY 0 ¤Þ¤É¤í¤Ã¤³¤·¤¬ ¤Þ¤É¤í¤Ã¤³¤·¤¬ #R5 0 ¤Þ¤É¤í¤Ã¤³¤·¤å¤¦ ¤Þ¤É¤í¤Ã¤³¤·¤å¤¦ #KYU 0 ¤Þ¤Ê ³Ø #B5r 10 ¤Þ¤Ê¡¼ ¥Þ¥Ê¡¼ #T35 5 ¤Þ¤Ê¤¤¤¿ ÐÙ #T35 0 ¤Þ¤Ê¤³ ´ã #T35 0 ¤Þ¤Ê¤¶¤· ´ãº¹¤· #T35 0 ¤Þ¤Ê¤Ä ¿¿²Æ #T35 1 ¤Þ¤Ê¤Ä¤ë ¿¿Äá #JCN 0 ¤Þ¤Ê¤Ç¤· °¦Äï»Ò #T35 1 ¤Þ¤Ê¤Ó¤È ³Ø¤Ó¼è #R5r 0 ¤Þ¤Ê¤Ö ³Ø #JNM 0 ¤Þ¤Ë¤¢ ¥Þ¥Ë¥¢ #T35 1 ¤Þ¤Ë¤¢ ´Ö¤Ë¹ç #W5 36 ¤Þ¤Ë¤¢¤Ã¤¯ ¥Þ¥Ë¥¢¥Ã¥¯ #T05 2 ¤Þ¤Ë¤· ¿¿À¾ #T35 0 ¤Þ¤Ë¤Ô¤å¤ì¡¼¤·¤ç¤ó ¥Þ¥Ë¥Ô¥å¥ì¡¼¥·¥ç¥ó #T30 1 ¤Þ¤Ë¤å¤¢¤ë ¥Þ¥Ë¥å¥¢¥ë #T35 255 ¤Þ¤Ë¤ï ¿¿Äí #JCN 0 ¤Þ¤Ì¤«¤ì ÌȤì #KS 0 ¤Þ¤Ì¤¬¤ì ÌȤì #KS 1 ¤Þ¤Ì¤± ´ÖÈ´¤± #T05 3 ¤Þ¤Í ¾· #K5r 8 ¤Þ¤Í ¿¿»÷ #KSr 5 ¤Þ¤Í ¤Þ¤Í #K5r 0 ¤Þ¤Í ¿¿»÷ #T30 4 ¤Þ¤Í ¤Þ¤Í #T30 0 ¤Þ¤Í¡¼¤¸¤ã ¥Þ¥Í¡¼¥¸¥ã #T35 36 ¤Þ¤Í¡¼¤¸¤ã¡¼ ¥Þ¥Í¡¼¥¸¥ã¡¼ #T35 36 ¤Þ¤Í¤­¤ó ¥Þ¥Í¥­¥ó #T35 1 ¤Þ¤Í¤¸¤á¤ó¤È ¥Þ¥Í¥¸¥á¥ó¥È #T30 4 ¤Þ¤Í¤¸¤ã¡¼ ¥Þ¥Í¥¸¥ã¡¼ #T35 1 ¤Þ¤Î ¿¿Ìî #JCN 0 ¤Þ¤Î ´ÖÌî #JNS 0 ¤Þ¤Î¤Ó ´Ö±ä¤Ó #T30 1 ¤Þ¤Ï¤é Ë㸶 #JNS 0 ¤Þ¤Ð¤¿ ½Ö #K5r 1 ¤Þ¤Ð¤¿¤­ ½Ö¤­ #T30 0 ¤Þ¤Ð¤¿¤­ ¤Þ¤Ð¤¿¤­ #T30 1 ¤Þ¤Ð¤é Á¤é #T05 0 ¤Þ¤Ò Ëãáã #T30 2 ¤Þ¤Ò¤¬¤· ¿¿Åì #T35 0 ¤Þ¤Ò¤ë ¿¿Ãë #T35 0 ¤Þ¤Ó ´Ö°ú #K5r 2 ¤Þ¤Õ¤æ ¿¿Åß #T35 1 ¤Þ¤Ö ¤Þ¤Ö #S5 0 ¤Þ¤Ö¤« ÌÜ¿¼ #T05 0 ¤Þ¤Ö¤· âÁ¤· #KY 0 ¤Þ¤Ö¤· ¤Þ¤Ö¤· #KY 1 ¤Þ¤Ö¤·¤¬ âÁ¤·¤¬ #R5 0 ¤Þ¤Ö¤·¤¬ ¤Þ¤Ö¤·¤¬ #R5 0 ¤Þ¤Ö¤·¤å¤¦ âÁ¤·¤å¤¦ #KYU 0 ¤Þ¤Ö¤·¤å¤¦ ¤Þ¤Ö¤·¤å¤¦ #KYU 1 ¤Þ¤Ö¤¿ ¤Þ¤Ö¤¿ #T35 1 ¤Þ¤Û¤¦ ËâË¡ #T35 9 ¤Þ¤Û¤¦¤¸¤ó ËâÊý¿Ø #T35 0 ¤Þ¤Ü¤í¤· ¸¸ #T35 2 ¤Þ¤Þ ´Ö¡¹ #F14 0 ¤Þ¤Þ Ëù #T35 1 ¤Þ¤Þ ¥Þ¥Þ #T35 19 ¤Þ¤Þ ¤Þ¤Þ #T35 86 ¤Þ¤Þ¤¢ ¤Þ¤Þ¤¢ #R5 0 ¤Þ¤Þ¤Ï¤Ï ·ÑÊì #T35 0 ¤Þ¤ß ¤Þ¤ß #JNM 0 ¤Þ¤ß¤³ Ëã̦»Ò #JNM 0 ¤Þ¤ß¤º ¿¿¿å #T35 0 ¤Þ¤ß¤Ê¤ß ¿¿Æî #T35 0 ¤Þ¤ß¤ì ¤Þ¤ß¤ì #KSr 0 ¤Þ¤ß¤ì Åɤì #KSr 0 ¤Þ¤ß¤ì ¤Þ¤ß¤ì #SUC 1 ¤Þ¤à¤í¤¬¤ï ¿¿¼¼Àî #JCN 0 ¤Þ¤á ¥Þ¥á #T05 1 ¤Þ¤á ¤Þ¤á #T05 2 ¤Þ¤á Ʀ #T35 4 ¤Þ¤á¤­¤å¤¦ Ʀµå #T35 0 ¤Þ¤á¤À ƦÅÄ #JNS 0 ¤Þ¤á¤Ä ËàÌÇ #T30 0 ¤Þ¤á¤Ä¤Ö Ʀγ #T35 0 ¤Þ¤â ¤Þ¤â #R5r 1 ¤Þ¤â ¸î #R5r 1 ¤Þ¤â ¼é #R5r 23 ¤Þ¤â¤¦ ËàÌ× #T30 0 ¤Þ¤â¤Ê¤¯ ¤Þ¤â¤Ê¤¯ #CJ 0 ¤Þ¤â¤Î Ëâʪ #T35 0 ¤Þ¤â¤ë ±Ò #JNM 0 ¤Þ¤â¤ë ¼é #JNM 0 ¤Þ¤ä ËàÌí #JCN 0 ¤Þ¤ä¤¯ ËãÌô #T35 0 ¤Þ¤æ Ëú #T35 0 ¤Þ¤æ Èý #T35 1 ¤Þ¤æ¤² ¤Þ¤æ¤² #T35 1 ¤Þ¤æ¤² ÈýÌÓ #T35 1 ¤Þ¤æ¤º¤ß Âã #T35 6 ¤Þ¤æ¤ß ¿¿µÝ #JCN 0 ¤Þ¤æ¤ß ¿¿Í³Èþ #JNM 0 ¤Þ¤è ËãÀ¤ #JNM 0 ¤Þ¤è Ì #W5r 14 ¤Þ¤è¤Ê¤« ¿¿ÌëÃæ #T35 1 ¤Þ¤é¤½¤ó ¥Þ¥é¥½¥ó #T35 2 ¤Þ¤é¤ë¤á ¥Þ¥é¥ë¥á #JN 0 ¤Þ¤ê ¤Þ¤ê #JNM 0 ¤Þ¤ê ¿¿Íý #JNM 0 ¤Þ¤ê ËãÍý #JNM 0 ¤Þ¤ê ËãΤ #JNM 0 ¤Þ¤ê µÇ #T35 0 ¤Þ¤ê µÅ #T35 3 ¤Þ¤ê¤¢ ¥Þ¥ê¥¢ #JN 0 ¤Þ¤ê¤ª ¿¿Íýͺ #JNM 0 ¤Þ¤ê¤³ ¿¿Íý»Ò #JNM 0 ¤Þ¤ê¤³ ËãÍý»Ò #JNM 0 ¤Þ¤ê¤³ ËãΤ»Ò #JNM 0 ¤Þ¤ê¤Ê ËþΤÆà #JNM 0 ¤Þ¤ê¤ç¤¯ ËâÎÏ #T35 1 ¤Þ¤ë ´Ý #KYmi 94 ¤Þ¤ë ´Ý #T35 110 ¤Þ¤ë ¡ý #T35 191 ¤Þ¤ë ¢þ #T35 2 ¤Þ¤ë ¥Þ¥ë #T35 2 ¤Þ¤ë ¡û #T35 255 ¤Þ¤ë ¡ü #T35 31 ¤Þ¤ë¤¤ ´Ý°æ #KK 2 ¤Þ¤ë¤¤¤± ´ÝÃÓ #JCN 0 ¤Þ¤ë¤¤¤Á ´Ý°ì #JNS 0 ¤Þ¤ë¤ª ´ÝÈø #JCN 0 ¤Þ¤ë¤ª¤« ´Ý²¬ #JCN 0 ¤Þ¤ë¤¬¤á ´Ýµµ #JCN 0 ¤Þ¤ë¤­ ´ÝÌÚ #T35 0 ¤Þ¤ë¤­¤·¤º¤à ¥Þ¥ë¥­¥·¥º¥à #T35 0 ¤Þ¤ë¤¯ ¥Þ¥ë¥¯ #T35 1 ¤Þ¤ë¤³ ´Ý»Ò #JCN 0 ¤Þ¤ë¤³¤Õ ¥Þ¥ë¥³¥Õ #JN 0 ¤Þ¤ë¤´¤È ¤Þ¤ë¤´¤È #F14 2 ¤Þ¤ë¤´¤È ¤Þ¤ë¤´¤È #T36 0 ¤Þ¤ë¤»¤Ã¤× ´ÝÀ¥ÉÛ #CN 0 ¤Þ¤ë¤¼¤ó ´ÝÁ± #KK 1 ¤Þ¤ë¤¾¤³ ´ÝÄì #T15 0 ¤Þ¤ë¤¿ ´ÝÂÀ #T35 1 ¤Þ¤ë¤¿¤Ë ´Ýë #JNS 0 ¤Þ¤ë¤À¤· ´Ý½Ð¤· #T10 0 ¤Þ¤ë¤Á ¥Þ¥ë¥Á #PRE 57 ¤Þ¤ë¤Á¤­¤ã¤¹¤È ¥Þ¥ë¥Á¥­¥ã¥¹¥È #T30 3 ¤Þ¤ë¤Á¤×¤ì¤¯¤µ ¥Þ¥ë¥Á¥×¥ì¥¯¥µ #T35 1 ¤Þ¤ë¤Á¤×¤ì¤¯¤µ¡¼ ¥Þ¥ë¥Á¥×¥ì¥¯¥µ¡¼ #T35 1 ¤Þ¤ë¤Ã¤­¤ê ¤Þ¤ë¤Ã¤­¤ê #F14 0 ¤Þ¤ë¤Ã¤­¤ê ¤Þ¤ë¤Ã¤­¤ê #T16 0 ¤Þ¤ë¤Ç ¤Þ¤ë¤Ç #F14 11 ¤Þ¤ë¤Ï¤À¤« ´ÝÍç #T05 0 ¤Þ¤ë¤Ð¤ä¤· ´ÝÎÓ #JNS 0 ¤Þ¤ë¤Þ¤ë ´Ý¡¹ #T30 1 ¤Þ¤ë¤Þ¤ë ¤Þ¤ë¤Þ¤ë #T30 2 ¤Þ¤ë¤ß ±ßÈþ #JNS 0 ¤Þ¤ë¤á ´Ý¤á #KS 2 ¤Þ¤ë¤á¤³ ´Ý¤á¹þ #M5r 0 ¤Þ¤ë¤â¤ê ´Ý¿¹ #JCN 0 ¤Þ¤ë¤ä¤Þ ±ß»³ #JCN 0 ¤Þ¤ë¤ä¤Þ ´Ý»³ #JCN 0 ¤Þ¤ë¤æ¤¦ ¥Þ¥ëÍ¥ #T35 0 ¤Þ¤ì ´õ #T05 0 ¤Þ¤ì µ©¤ì #T05 1 ¤Þ¤ì ¤Þ¤ì #T05 3 ¤Þ¤ì µ© #T05 3 ¤Þ¤í Ëû #T35 2 ¤Þ¤í¤¦¤É µÒ¿Í #T35 0 ¤Þ¤í¤ä¤« ±ß¤ä¤« #T05 0 ¤Þ¤ï ²ó #R5r 105 ¤Þ¤ï ¤Þ¤ï #R5r 23 ¤Þ¤ï ²ö #R5r 3 ¤Þ¤ï ²ö #S5 3 ¤Þ¤ï ¤Þ¤ï #S5r 16 ¤Þ¤ï ²ó #S5r 94 ¤Þ¤ï¤¿¤ê ÇÏÅÏ #JNS 0 ¤Þ¤ï¤ê ¼þ¤ê #T35 19 ¤Þ¤ï¤ê ²ö¤ê #T35 7 ¤Þ¤ï¤ê¤³ ²ó¤ê¹þ #M5r 0 ¤Þ¤ï¤ê¤ß¤Á ²ó¤êÆ» #T30 1 ¤Þ¤ó ±· #KJ 0 ¤Þ¤ó Ȩ #KJ 0 ¤Þ¤ó Ëý #KJ 0 ¤Þ¤ó Ì¡ #KJ 0 ¤Þ¤ó Ì¢ #KJ 1 ¤Þ¤ó âÖ #KJ 1 ¤Þ¤ó ñ½ #KJ 2 ¤Þ¤ó Ëþ #KJ 59 ¤Þ¤ó èß #NN 3 ¤Þ¤ó Ëü #NN 64 ¤Þ¤ó ¥Þ¥ó #SUC 8 ¤Þ¤ó¤¤¤Á Ëü°ì #F14 3 ¤Þ¤ó¤¤¤Á Ëü°ì #T35 2 ¤Þ¤ó¤¤¤ó Ëþ°÷ #T35 1 ¤Þ¤ó¤¨¤Ä Ëþ±Ù #T30 0 ¤Þ¤ó¤¨¤ó Ì¢±ä #T30 2 ¤Þ¤ó¤«¤¤ Ëþ³« #T30 0 ¤Þ¤ó¤«¤ó¤·¤ç¤¯ Ëþ´Ï¾þ #T15 0 ¤Þ¤ó¤¬ Ì¡²è #T35 7 ¤Þ¤ó¤¬¤¤¤Á Ëü¤¬°ì #T35 0 ¤Þ¤ó¤¬¤ó ¥Þ¥ó¥¬¥ó #T35 0 ¤Þ¤ó¤¬¤ó Ëþ´ê #T35 0 ¤Þ¤ó¤¬¤ó Ëþ´Ó #T35 1 ¤Þ¤ó¤¬¤ó¤¼¤ó¤»¤­ Ëþ´ÁÁ´ÀÊ #T35 0 ¤Þ¤ó¤­ Ëþ´ü #T35 1 ¤Þ¤ó¤­¤Ä ËþµÊ #T30 1 ¤Þ¤ó¤²¤­¤ç¤¦ Ëü²Ú¶À #T35 1 ¤Þ¤ó¤²¤Ä Ëþ·î #T35 1 ¤Þ¤ó¤´¡¼ ¥Þ¥ó¥´¡¼ #T35 0 ¤Þ¤ó¤µ¤¤ ËþºÜ #T30 1 ¤Þ¤ó¤¶¤¤ Ì¡ºÍ #T35 1 ¤Þ¤ó¤·¤Ä Ëþ¼¼ #T35 2 ¤Þ¤ó¤·¤ã Ëþ¼Ö #T35 0 ¤Þ¤ó¤·¤å¤¦ Ëþ½£ #JCN 0 ¤Þ¤ó¤·¤ç¤ó ¥Þ¥ó¥·¥ç¥ó #T35 8 ¤Þ¤ó¤·¤ó Ëý¿´ #T30 0 ¤Þ¤ó¤·¤ó Ëþ¿È #T35 0 ¤Þ¤ó¤·¤ó Ëü¿Ê #T35 1 ¤Þ¤ó¤¸ ÒÄ #T35 1 ¤Þ¤ó¤¸¤É¤â¤¨ ÒÄÇà #T35 0 ¤Þ¤ó¤¸¤å¤¦ ñ½Æ¬ #T35 2 ¤Þ¤ó¤¸¤å¤¦ ¤Þ¤ó¤¸¤å¤¦ #T35 3 ¤Þ¤ó¤¸¤ç¤¦ Ëþ¾ì #T35 0 ¤Þ¤ó¤¹¤¤ Ëþ¿å #T30 0 ¤Þ¤ó¤»¤¤ ËýÀ­ #T35 1 ¤Þ¤ó¤»¤­ ËþÀÊ #T15 0 ¤Þ¤ó¤¼¤ó Ì¡Á³ #F00 0 ¤Þ¤ó¤¾¤¯ Ëþ­ #T00 29 ¤Þ¤ó¤À¤é ¥Þ¥ó¥À¥é #T35 0 ¤Þ¤ó¤À¤é ÒØè¸Íå #T35 0 ¤Þ¤ó¤Á¤ç¤¦ ËþĬ #T35 0 ¤Þ¤ó¤Æ¤ó ËþÅÀ #T35 1 ¤Þ¤ó¤Ê¤« ¿¿Ãæ #T35 18 ¤Þ¤ó¤Ê¤« ¿¿¤óÃæ #T35 2 ¤Þ¤ó¤Ë¤ó Ëü¿Í #T35 1 ¤Þ¤ó¤Í¤ó¤Ò¤Ä Ëüǯɮ #T35 0 ¤Þ¤ó¤Î¤¦ ËþÇ» #JCN 0 ¤Þ¤ó¤Ð Ëü¾ì #JCN 0 ¤Þ¤ó¤á¤ó ËþÌÌ #T35 0 ¤Þ¤ó¤æ¤¦ ̡ͷ #T30 0 ¤Þ¤ó¤è¤¦ ËüÍÕ #T35 3 ¤Þ¤ó¤è¤¦¤·¤å¤¦ ËüÍÕ½¸ #KK 0 ¤Þ¤ó¤ê¤ç¤¦ Ëþλ #T30 0 ¤ß ¸« #KJ 0 ¤ß ¿¼ #KJ 0 ¤ß ¿Ñ #KJ 0 ¤ß ̤ #KJ 0 ¤ß ̧ #KJ 0 ¤ß ¸æ #KJ 1 ¤ß Ì£ #KJ 1 ¤ß ¸Ê #KJ 2 ¤ß Èþ #KJ 23 ¤ß »° #KJ 5 ¤ß ´Ç #KS 1 ¤ß ¿Ç #KS 1 ¤ß ´Ñ #KS 10 ¤ß »ë #KS 2 ¤ß ¸« #KS 255 ¤ß ¤ß #KS 47 ¤ß ̤ #PRE 68 ¤ß Ì¥ #T30 3 ¤ß ̤ #T35 138 ¤ß ̦ #T35 22 ¤ß ¼Â #T35 3 ¤ß ¿È #T35 72 ¤ß Ëþ #T5 70 ¤ß¡¼¤Æ¤£¤ó¤° ¥ß¡¼¥Æ¥£¥ó¥° #T30 56 ¤ß¡¼¤Ï¡¼ ¥ß¡¼¥Ï¡¼ #T05 4 ¤ß¡¼¤ê ¥ß¡¼¥ê #JN 0 ¤ß¤¢ ¸«¹ç #W5r 1 ¤ß¤¢¤² ¸«¾å¤² #KS 1 ¤ß¤¢¤µ ÈþËã #JCN 0 ¤ß¤¢¤¿ ¸«Åö¤¿ #R5 8 ¤ß¤¢¤Þ »°´Å #JNS 0 ¤ß¤¢¤ï¤» ¸«¹ç¤ï¤» #KSr 0 ¤ß¤¤ »°°æ #JCN 0 ¤ß¤¤ ¸«Æþ #R5 1 ¤ß¤¤¤± »°ÃÓ #JCN 0 ¤ß¤¤¤À ¸«½Ð #S5 6 ¤ß¤¤¤é ¥ß¥¤¥é #T35 0 ¤ß¤¤¤é¤¯ »°°æ³Ú #CN 0 ¤ß¤¦¤± ¸«¼õ¤± #KS 2 ¤ß¤¦¤´¤­ ¿Èư¤­ #T30 1 ¤ß¤¦¤·¤Ê ¸«¼º #W5 1 ¤ß¤¦¤Á ¿ÈÆâ #T35 3 ¤ß¤¦¤é »°±º #JCN 0 ¤ß¤¨ »°½Å #JCN 0 ¤ß¤¨ ¤ß¤¨ #KS 1 ¤ß¤¨ ¸«¤¨ #KS 150 ¤ß¤¨ ¸«ÆÀ #T35 0 ¤ß¤¨ ¸«±É #T35 1 ¤ß¤¨¤«¤¯¤ì ¸«¤¨¤«¤¯¤ì #T30 1 ¤ß¤¨¤±¤ó »°½Å¸© #CNS 0 ¤ß¤¨¤³ »°»Þ»Ò #JNM 0 ¤ß¤¨¤³ Èþ·Ã»Ò #JNM 0 ¤ß¤¨¤³ Èþ»Þ»Ò #JNM 0 ¤ß¤¨¤ê¤ó ¥ß¥¨¥ê¥ó #T35 1 ¤ß¤ª »°Èø #JCN 0 ¤ß¤ª¤¯ ¸«Á÷ #R5r 7 ¤ß¤ª¤µ¤á ¸«Ç¼¤á #KSr 0 ¤ß¤ª¤È ¸«Íî #S5r 1 ¤ß¤ª¤È ¸«Íî¤È #S5r 3 ¤ß¤ª¤È¤ê ¸«Îô¤ê #T30 1 ¤ß¤ª¤Ü¤¨ ¸«³Ð¤¨ #T35 3 ¤ß¤ª¤â ¿È½Å #T05 1 ¤ß¤ª¤í ¸«²¼¤í #S5 0 ¤ß¤« Èþ¹á #JNM 0 ¤ß¤« ¼Â²Ä #JNS 0 ¤ß¤«¤¤ ̤³« #T05 3 ¤ß¤«¤¤¤±¤Ä ̤²ò·è #T05 3 ¤ß¤«¤¨ ¸«ÊÖ #R5r 0 ¤ß¤«¤¨ ¸«ÊÖ #S5 0 ¤ß¤«¤¨¤ê ¸«ÊÖ¤ê #T35 0 ¤ß¤«¤® ¸«¸Â #R5 2 ¤ß¤«¤¯ Ì£³Ð #T35 2 ¤ß¤«¤¯¤Æ¤¤ ̤³ÎÄê #T15 0 ¤ß¤«¤¯¤Ë¤ó ̤³Îǧ #T05 5 ¤ß¤«¤± ¸«¤«¤± #KSr 6 ¤ß¤«¤± ¸«³Ý¤± #KSr 7 ¤ß¤«¤± ¤ß¤«¤± #T35 1 ¤ß¤«¤µ »°³Þ #JCN 0 ¤ß¤«¤¿ »°Êý #JCN 0 ¤ß¤«¤¿ ÈþÊý #JCN 0 ¤ß¤«¤¿ Ì£Êý #T30 4 ¤ß¤«¤¿ ¸«Êý #T35 6 ¤ß¤«¤Ä¤­ »°Æü·î #CN 0 ¤ß¤«¤Å¤­ »°Æü·î #CN 0 ¤ß¤«¤Å¤­ »°Æü·î #T35 1 ¤ß¤«¤É Äë #T35 0 ¤ß¤«¤Í ¸«·ó¤Í #KS 0 ¤ß¤«¤ß »°¾å #JCN 0 ¤ß¤«¤á »°ÉÓ #JCN 0 ¤ß¤«¤â »°²ÃÌÐ #JCN 0 ¤ß¤«¤â Èþ´Å #JCN 0 ¤ß¤«¤ï »°²ÃÏ #JCN 0 ¤ß¤«¤ï »°²Ï #JCN 0 ¤ß¤«¤ï »°Àî #JCN 0 ¤ß¤«¤ï ÈþÀî #JCN 0 ¤ß¤«¤ï ¸«¸ò¤ï #S5 0 ¤ß¤«¤ó ̤´° #T15 2 ¤ß¤«¤ó ¤ß¤«¤ó #T35 0 ¤ß¤«¤ó ̤´© #T35 0 ¤ß¤«¤ó ̪´» #T35 1 ¤ß¤«¤ó¤»¤¤ ̤´°À® #T05 1 ¤ß¤¬ ¸¦ #K5r 0 ¤ß¤¬ Ëá #K5r 1 ¤ß¤¬¤Ã¤Æ ¿È¾¡¼ê #T05 1 ¤ß¤¬¤Þ¤¨ ¿È¹½¤¨ #KSr 1 ¤ß¤¬¤é ¿ÈÊÁ #T35 0 ¤ß¤¬¤ë ¿È·Ú #T05 0 ¤ß¤¬¤ï¤ê ¿ÈÂå¤ê #T35 0 ¤ß¤­ »°ÌÚ #JCN 0 ¤ß¤­ Èþ¼ù #JN 0 ¤ß¤­ »°´î #JNS 0 ¤ß¤­ ¸«ÀÚ #R5r 1 ¤ß¤­ ´´ #T35 3 ¤ß¤­¤ª ´´ÃË #JNM 0 ¤ß¤­¤ª ´´É× #JNM 0 ¤ß¤­¤ª ´´Íº #JNM 0 ¤ß¤­¤­ ¸«Ê¹¤­ #T30 0 ¤ß¤­¤³ ¼Â´õ»Ò #JNM 0 ¤ß¤­¤³ Èþµ®»Ò #JNM 0 ¤ß¤­¤³ Èþ¼ù»Ò #JNM 0 ¤ß¤­¤Ò¤³ ´´É§ #JN 0 ¤ß¤­¤ä ¸æ´î²È #JNS 0 ¤ß¤­¤ê ¸«ÀÚ¤ê #T35 0 ¤ß¤­¤ï¤á ¸«¶Ë¤á #KSr 0 ¤ß¤® ±¦ #T30 105 ¤ß¤® ±¦ #T35 47 ¤ß¤®¤¢¤· ±¦Â­ #T35 0 ¤ß¤®¤¦¤¨ ±¦¾å #T35 2 ¤ß¤®¤¦¤Ç ±¦ÏÓ #T35 1 ¤ß¤®¤¬¤ï ±¦Â¦ #T35 20 ¤ß¤®¤·¤¿ ±¦²¼ #T35 5 ¤ß¤®¤Æ ±¦¼ê #T35 1 ¤ß¤®¤Ï¤· ±¦Ã¼ #T35 23 ¤ß¤®¤á ±¦ÌÜ #T35 1 ¤ß¤®¤ä ¢ª #T35 43 ¤ß¤®¤ï Äõ #T35 0 ¤ß¤¯¤À ¸«²¼ #S5r 0 ¤ß¤¯¤À¤ê¤Ï¤ó »°²¼¤êȾ #T35 0 ¤ß¤¯¤Ë »°¹ñ #JCN 0 ¤ß¤¯¤Ó ¸«åÐ #R5 0 ¤ß¤¯¤Ó ¸«¤¯¤Ó #R5 10 ¤ß¤¯¤â »°±À #JCN 0 ¤ß¤¯¤é¤·¤Þ ¸æÂ¢Åç #JCN 0 ¤ß¤¯¤é¤Ù ¸«Èæ¤Ù #KSr 2 ¤ß¤¯¤í ¥ß¥¯¥í #T05 1 ¤ß¤°¤ë¤· ¸«¶ì¤· #KY 1 ¤ß¤°¤ë¤·¤å¤¦ ¸«¶ì¤·¤å¤¦ #KYU 1 ¤ß¤± »°ÌÓ #T35 3 ¤ß¤±¤Ä ̤·è #T15 3 ¤ß¤±¤ó Èý´Ö #T35 2 ¤ß¤³ ¸«¹þ #M5r 7 ¤ß¤³ ¸«±Û #S5 2 ¤ß¤³ ¸æ»Ò #T35 0 ¤ß¤³¤· ¸æÍÁ #T35 0 ¤ß¤³¤È º #T35 0 ¤ß¤³¤È¤Î¤ê ¾Û #T35 0 ¤ß¤³¤È¤Î¤ê ļ #T35 0 ¤ß¤³¤ó ̤º§ #T15 0 ¤ß¤´¤¿¤¨ ¸«¤´¤¿¤¨ #T35 10 ¤ß¤´¤¿¤¨ ¸«±þ¤¨ #T35 10 ¤ß¤´¤È ¸«»ö #T05 8 ¤ß¤´¤í¤· ¸«»¦¤· #T35 0 ¤ß¤µ ¥ß¥µ #T35 0 ¤ß¤µ¤¤ ̤ºÑ #T15 0 ¤ß¤µ¤¤¤ë ¥ß¥µ¥¤¥ë #T35 2 ¤ß¤µ¤ª Áà #JNM 0 ¤ß¤µ¤ª Áà #T35 0 ¤ß¤µ¤« ¸æºä #JCN 0 ¤ß¤µ¤«¤¤ ¸«¶­ #T35 0 ¤ß¤µ¤­ »°ºê #JCN 0 ¤ß¤µ¤­ ̨ #JNS 0 ¤ß¤µ¤­ ̨ #T35 1 ¤ß¤µ¤¯¤Ü ¿å·¦ #CN 0 ¤ß¤µ¤² ¸«²¼¤² #KS 0 ¤ß¤µ¤µ »°Ä« #JCN 0 ¤ß¤µ¤À¤á ¸«Äê¤á #KSr 0 ¤ß¤µ¤È »°¶¿ #JCN 0 ¤ß¤µ¤È Èþ¶¿ #JCN 0 ¤ß¤µ¤È ÈþΤ #JCN 0 ¤ß¤µ¤È ̧¶¿ #JCN 0 ¤ß¤µ¤ï »°Âô #JCN 0 ¤ß¤· ¸«ÃÎ #R5r 4 ¤ß¤·¤¬¤ó ¥ß¥·¥¬¥ó #CN 0 ¤ß¤·¤Þ »°Åç #JCN 0 ¤ß¤·¤Þ »°Åè #JNS 0 ¤ß¤·¤å¤¦ ̤¼ý #T15 0 ¤ß¤·¤å¤¯ »°½É #JCN 0 ¤ß¤·¤ç¤¦ ¸æÁñ #JCN 0 ¤ß¤·¤è¤¦ ̤»ÈÍÑ #T15 0 ¤ß¤·¤ó ¥ß¥·¥ó #T35 5 ¤ß¤¸¤« û #KYme 30 ¤ß¤¸¤³¤¦ û¤¦ #KYU 2 ¤ß¤¸¤¿¤¯ ¿È»ÙÅÙ #T30 0 ¤ß¤¸¤á ¤ß¤¸¤á #T05 0 ¤ß¤¸¤á »´¤á #T05 0 ¤ß¤¸¤å¤¯ ̤½Ï #T05 2 ¤ß¤¸¤ó Èù¿Ð #T35 0 ¤ß¤¹ »°À´ #JNS 0 ¤ß¤¹ Îü #JNS 0 ¤ß¤¹ ¥ß¥¹ #T30 46 ¤ß¤¹¤¤ ̤¿ë #T15 0 ¤ß¤¹¤¨ ¸«¿ø¤¨ #KSr 0 ¤ß¤¹¤® Èþ¿ù #JCN 0 ¤ß¤¹¤´ ¸«²á¤´ #S5r 0 ¤ß¤¹¤Æ ¸«¼Î¤Æ #KSr 2 ¤ß¤¹¤Æ¤ê ¥ß¥¹¥Æ¥ê #T35 0 ¤ß¤¹¤Æ¤ê¤¢¤¹ ¥ß¥¹¥Æ¥ê¥¢¥¹ #T05 0 ¤ß¤¹¤Ü¤é¤· ¤ß¤¹¤Ü¤é¤· #KY 0 ¤ß¤¹¤Ü¤é¤·¤å¤¦ ¤ß¤¹¤Ü¤é¤·¤å¤¦ #KYU 0 ¤ß¤¹¤ß »°³Ñ #JCN 0 ¤ß¤¹¤ß »°¶ù #JCN 0 ¤ß¤¹¤ß¤¹ ¤ß¤¹¤ß¤¹ #F14 0 ¤ß¤º ¿ð #T35 0 ¤ß¤º ¿å #T35 19 ¤ß¤º¤¢¤Ó ¿åÍá¤Ó #T30 0 ¤ß¤º¤¢¤é¤¤ ¿åÀö¤¤ #T30 0 ¤ß¤º¤¤¤é¤º ¿åÆþ¤é¤º #T15 0 ¤ß¤º¤¤¤í ¿å¿§ #T15 2 ¤ß¤º¤¦¤ß ¸Ð #T35 1 ¤ß¤º¤«¤­ ¿åÁߤ­ #T35 0 ¤ß¤º¤«¤µ ¿å¤«¤µ #T35 0 ¤ß¤º¤«¤ß ¿å¾å #JCN 0 ¤ß¤º¤«¤á¤¶ ¿åÉӺ #KK 1 ¤ß¤º¤«¤é ¼«¤é #T35 4 ¤ß¤º¤® ¿åÃå #T35 2 ¤ß¤º¤®¤ï ¿åºÝ #T35 0 ¤ß¤º¤°¤Á ¿å¸ý #JNS 0 ¤ß¤º¤± ¿åµ¤ #T35 0 ¤ß¤º¤³¤· ¿å±Û #JCN 0 ¤ß¤º¤µ¤ï ¿åÂô #JCN 0 ¤ß¤º¤·¤Þ ¿åÅç #JNS 0 ¤ß¤º¤·¤Þ ¿åÅè #JNS 0 ¤ß¤º¤¿ ¿åÅÄ #JCN 0 ¤ß¤º¤¿¤Ë ¿åë #JNS 0 ¤ß¤º¤¿¤Þ ¿å¶Ì #T35 0 ¤ß¤º¤É¤±¤¤ ¿å»þ·× #T35 0 ¤ß¤º¤É¤ê ¿åÄ» #T35 0 ¤ß¤º¤Ê¤ß ¿ðϲ #JCN 0 ¤ß¤º¤Î ¿åÌî #JNS 0 ¤ß¤º¤Ï¤± ¿å»«¤± #T30 0 ¤ß¤º¤Ò¤­ ¿å°ú #T35 1 ¤ß¤º¤Ó¤¿¤· ¿å¿»¤· #T15 0 ¤ß¤º¤Ö¤½¤¯ ¿åÉÔ­ #T15 0 ¤ß¤º¤Ù ¿åÊÕ #T35 0 ¤ß¤º¤Û ¿ðÊæ #JCN 0 ¤ß¤º¤Û ¿ðÊæ #T35 1 ¤ß¤º¤Þ »°Ãõ #JCN 0 ¤ß¤º¤Þ¤­ ¿å´¬ #JCN 0 ¤ß¤º¤Þ¤· ¿åÁý¤· #T30 0 ¤ß¤º¤à¤· ¿åÃî #T35 0 ¤ß¤» Ì¥¤» #KS 1 ¤ß¤» ¤ß¤» #KS 3 ¤ß¤» ¸«¤» #KS 38 ¤ß¤» Ź #SUC 42 ¤ß¤» Ź #T35 0 ¤ß¤»¤¤¤Í¤ó ̤À®Ç¯ #T35 0 ¤ß¤»¤«¤± ¸«¤»¤«¤± #KSr 1 ¤ß¤»¤µ¤­ ŹÀè #T35 0 ¤ß¤»¤¸¤Þ¤¤ Ź»ÅÉñ¤¤ #T30 0 ¤ß¤»¤¹ ¥ß¥»¥¹ #T35 0 ¤ß¤»¤Ä¤± ¸«¤»¤Ä¤± #KSr 0 ¤ß¤»¤Ð¤ó ŹÈÖ #T30 0 ¤ß¤»¤â¤Î ¸«¤»Êª #T35 2 ¤ß¤¼¤ó ̤Á³ #T35 2 ¤ß¤¼¤ó¤±¤¤ ̤Á³·Á #T35 0 ¤ß¤½ ³¢ #T35 0 ¤ß¤½ Ì£Á¹ #T35 3 ¤ß¤½¤« ³¢Æü #T35 0 ¤ß¤½¤® ã´ #T35 0 ¤ß¤½¤³¤Ê ¸«Â»¤Ê #W5r 0 ¤ß¤½¤¸ »°½½Ï© #T35 0 ¤ß¤½¤Î ¸æ±à #JCN 0 ¤ß¤½¤á ¸«½é¤á #KS 0 ¤ß¤½¤é ¿È¶õ #T35 0 ¤ß¤¾ µô #T35 0 ¤ß¤¾ ¹Â #T35 2 ¤ß¤¾¤¦ ̤Á¾Í­ #T35 0 ¤ß¤¾¤°¤Á ¹Â¸ý #JCN 0 ¤ß¤¾¤Ù ¹ÂÊÕ #JCN 0 ¤ß¤¿ »°ÅÄ #JCN 0 ¤ß¤¿ ½¼¤¿ #S5 0 ¤ß¤¿ Ëþ¤¿ #S5r 21 ¤ß¤¿¤« »°Âë #JCN 0 ¤ß¤¿¤¬¤ï »°ÅÄÀî #JCN 0 ¤ß¤¿¤± ¸æ¿ó #JCN 0 ¤ß¤¿¤± »°³Ù #JCN 0 ¤ß¤¿¤± ¿È¾æ #T35 1 ¤ß¤¿¤Æ ¸«Î©¤Æ #KSr 0 ¤ß¤¿¤Ë »°Ã« #JNS 0 ¤ß¤¿¤Þ »°¼î #JCN 0 ¤ß¤À Íð #S5 2 ¤ß¤À ¸«½Ð #S5r 0 ¤ß¤À¤· ¸«½Ð¤· #T35 16 ¤ß¤À¤·¤Ê¤ß ¿È¤À¤·¤Ê¤ß #T35 0 ¤ß¤À¤é °ü¤é #T05 0 ¤ß¤À¤ê ¤ß¤À¤ê #T05 1 ¤ß¤À¤ê¤¬¤Þ¤· ¤ß¤À¤ê¤¬¤Þ¤· #KY 0 ¤ß¤À¤ê¤¬¤Þ¤·¤å¤¦ ¤ß¤À¤ê¤¬¤Þ¤·¤å¤¦ #KYU 0 ¤ß¤À¤ì Íð¤ì #KSr 11 ¤ß¤Á ±Î¤Á #KS 0 ¤ß¤Á Ëþ¤Á #KS 1 ¤ß¤Á ̤ÃÎ #T15 11 ¤ß¤Á ÅÓ #T35 0 ¤ß¤Á Ï© #T35 3 ¤ß¤Á Æ» #T35 70 ¤ß¤Á¤ª ÄÌÉ× #JNM 0 ¤ß¤Á¤ª Æ»ÃË #JNM 0 ¤ß¤Á¤ª Æ»É× #JNM 0 ¤ß¤Á¤ª ƻͺ #JNM 0 ¤ß¤Á¤¬¤¨ ¸«°ã¤¨ #KS 0 ¤ß¤Á¤³ Æ»»Ò #JNM 0 ¤ß¤Á¤³ ÈþÀé»Ò #JNM 0 ¤ß¤Á¤³ ÈþÃÒ»Ò #JNM 0 ¤ß¤Á¤³ ÎÑ»Ò #JNM 0 ¤ß¤Á¤·¤ª Ëþ¤ÁĬ #T35 0 ¤ß¤Á¤·¤ë¤Ù ƻɸ #T35 4 ¤ß¤Á¤¸¤å¤ó Æ»½ç #T35 0 ¤ß¤Á¤¹¤¸ Æ»¶Ú #T35 2 ¤ß¤Á¤Å¤ì ƻϢ¤ì #T35 1 ¤ß¤Á¤Î¤¯ ¤ß¤Á¤Î¤¯ #CN 0 ¤ß¤Á¤Î¤ê Æ»¤Î¤ê #T35 1 ¤ß¤Á¤Ï¤ë µü¼£ #JNM 0 ¤ß¤Á¤Ï¤ë Æ»½Õ #JNM 0 ¤ß¤Á¤Ð¤¿ ƻü #T35 2 ¤ß¤Á¤Ó Ƴ #K5r 6 ¤ß¤Á¤Ó¤­¤À Ƴ¤­½Ð #S5r 1 ¤ß¤Á¤ã¤¯ ̤Ãå #T15 1 ¤ß¤Á¤è Æ»À¤ #JNM 0 ¤ß¤Á¤è ÈþÀéÂå #JNM 0 ¤ß¤Á¤è ÈþÃÒÂå #JNM 0 ¤ß¤Á¤ë ¥ß¥Á¥ë #JN 0 ¤ß¤Â¤« ¿È¶á #T05 3 ¤ß¤Ã¤« £³Æü #T35 0 ¤ß¤Ã¤« »°Æü #T35 3 ¤ß¤Ã¤« 3Æü #T35 5 ¤ß¤Ã¤«¤¤ Ì©²ñ #T30 0 ¤ß¤Ã¤«¤Ó »°¥öÆü #CN 0 ¤ß¤Ã¤­¤ç¤¦ Ì©¶µ #T35 1 ¤ß¤Ã¤¯¤¹ ¥ß¥Ã¥¯¥¹ #T30 2 ¤ß¤Ã¤³¤¦ Ì©¹Ò #T30 0 ¤ß¤Ã¤³¤¯ Ì©¹ð #T30 0 ¤ß¤Ã¤· Ì©»È #T35 0 ¤ß¤Ã¤·¤Ä Ì©¼¼ #T35 0 ¤ß¤Ã¤·¤å¤¦ Ì©½¸ #T30 0 ¤ß¤Ã¤»¤Ä Ì©ÀÜ #T00 4 ¤ß¤Ã¤½¤¦ Ì©Áò #T30 0 ¤ß¤Ã¤Á¤ã¤¯ Ì©Ãå #T30 1 ¤ß¤Ã¤Á¤ê ¤ß¤Ã¤Á¤ê #F06 0 ¤ß¤Ã¤Á¤ê ¤ß¤Ã¤Á¤ê #T36 0 ¤ß¤Ã¤Ä »°¤Ä #T35 8 ¤ß¤Ã¤Æ¤¤ Ì©Äå #T35 0 ¤ß¤Ã¤È¤â¤Ê ¤ß¤Ã¤È¤â¤Ê #KY 2 ¤ß¤Ã¤È¤â¤Î¤¦ ¤ß¤Ã¤È¤â¤Î¤¦ #KYU 1 ¤ß¤Ã¤×¤¦ Ì©Éõ #T30 0 ¤ß¤Ã¤Ú¤¤ Ì©ÊÄ #T30 1 ¤ß¤Ä ¹× #G5 1 ¤ß¤Ä ¸æÄÅ #JCN 0 ¤ß¤Ä ¤ß¤Ä #JNM 0 ¤ß¤Ä ¥ß¥Ä #JNM 0 ¤ß¤Ä ¸÷ #JNM 0 ¤ß¤Ä »° #KJ 6 ¤ß¤Ä Ì© #T05 16 ¤ß¤Ä ̪ #T35 2 ¤ß¤Ä¤¢¤­ ¸÷¾¼ #JNM 0 ¤ß¤Ä¤¢¤­ ¸÷ÌÀ #JNM 0 ¤ß¤Ä¤¤ »°°æ #JNS 0 ¤ß¤Ä¤¤¤· »°ÀÐ #JCN 0 ¤ß¤Ä¤¨ ¸æ¾ó #JCN 0 ¤ß¤Ä¤¨ ¸÷»Þ #JNM 0 ¤ß¤Ä¤ª ¸÷ÃË #JNM 0 ¤ß¤Ä¤ª ¸÷É× #JNM 0 ¤ß¤Ä¤ª ¸÷ͺ #JNM 0 ¤ß¤Ä¤ª »°ÃË #JNM 0 ¤ß¤Ä¤ª »°É× #JNM 0 ¤ß¤Ä¤ª »°Íº #JNM 0 ¤ß¤Ä¤ª ËþÉ× #JNM 0 ¤ß¤Ä¤ª Ëþͺ #JNM 0 ¤ß¤Ä¤« ¤ß¤Ä¤« #R5 4 ¤ß¤Ä¤« ¸«¤Ä¤« #R5 50 ¤ß¤Ä¤« ¸«ÉÕ¤« #R5 55 ¤ß¤Ä¤«¤¤¤É¤¦ ¿å³¤Æ» #CN 0 ¤ß¤Ä¤® ¸æÄ´ #CN 0 ¤ß¤Ä¤¯¤í ¸«Á¶ #W5r 0 ¤ß¤Ä¤° ¹× #JNM 0 ¤ß¤Ä¤± ¸«Éí #JCN 0 ¤ß¤Ä¤± ¸«¤Ä¤± #KSr 44 ¤ß¤Ä¤± ¸«ÉÕ¤± #KSr 55 ¤ß¤Ä¤±¤À ¸«¤Ä¤±½Ð #S5r 3 ¤ß¤Ä¤³ ¸÷»Ò #JNM 0 ¤ß¤Ä¤³ ÈþÄÅ»Ò #JNM 0 ¤ß¤Ä¤³¤· »°±Û #KK 5 ¤ß¤Ä¤¶¤ï ¸÷ß· #JNS 0 ¤ß¤Ä¤·¤Þ ÈþÄÅÅç #JCN 0 ¤ß¤Ä¤» »°À¥ #JCN 0 ¤ß¤Ä¤¾¤¦ ̩¤ #T30 0 ¤ß¤Ä¤¾¤í¤¨ »°¤Ä·¤¨ #T35 0 ¤ß¤Ä¤À¤ó Ì©ÃÌ #T30 1 ¤ß¤Ä¤Æ¤ë ½¼¾È #JNS 0 ¤ß¤Ä¤É Ì©ÅÙ #T35 3 ¤ß¤Ä¤É¤â¤¨ »°¤ÄÇà #T35 0 ¤ß¤Ä¤Ê¤ê ¸÷À® #JNM 0 ¤ß¤Ä¤Ë¤å¤¦¤³¤¯ Ì©Æþ¹ñ #T30 0 ¤ß¤Ä¤Î¤Ö ¸÷¿® #JNM 0 ¤ß¤Ä¤Ï¤· »°¶¶ #JCN 0 ¤ß¤Ä¤Ð¤¤ Ì©Çä #T30 0 ¤ß¤Ä¤Ð¤Á ̪˪ #T35 1 ¤ß¤Ä¤Ò¤³ ¸÷ɧ #JNM 0 ¤ß¤Ä¤Ó¤· »°É© #KK 11 ¤ß¤Ä¤Ó¤·¤½¤¦¤±¤ó »°É©Áí¸¦ #KK 2 ¤ß¤Ä¤Þ¤µ ¸÷À¯ #JNM 0 ¤ß¤Ä¤Þ¤µ ¸÷Àµ #JNM 0 ¤ß¤Ä¤á ¸«¤Ä¤á #KS 2 ¤ß¤Ä¤â ¸«ÀѤâ #R5r 9 ¤ß¤Ä¤â¤ê »°¿¹ #JNS 0 ¤ß¤Ä¤â¤ê ¸«ÀѤê #T30 8 ¤ß¤Ä¤â¤ê¤·¤ç ¸«Àѽñ #T35 6 ¤ß¤Ä¤æ ̩͢ #T30 0 ¤ß¤Ä¤è ¸÷Âå #JNM 0 ¤ß¤Ä¤è¤· ¸÷µÁ #JNM 0 ¤ß¤Ä¤ê¤ç¤¦ Ì©µù #T30 0 ¤ß¤Ä¤ê¤ç¤¦ Ì©ÎÄ #T30 0 ¤ß¤Ä¤ê¤ó Ì©ÎÓ #T35 0 ¤ß¤Ä¤ë ½¼ #JNM 0 ¤ß¤Ä¤ë Ëþ #JNM 0 ¤ß¤Ä¤ï »°ÎØ #JNS 0 ¤ß¤Æ¤¤ ̤Äê #T15 23 ¤ß¤Æ¤¤¤® ̤ÄêµÁ #T05 23 ¤ß¤È ¸æÄÅ #JCN 0 ¤ß¤È ¿å¸Í #JCN 0 ¤ß¤È ÈþÅÔ #JCN 0 ¤ß¤È ÌïÅá #JNS 0 ¤ß¤È ¸«¼è #R5r 10 ¤ß¤È ´Ç¼è #R5r 5 ¤ß¤È¤¦ ÈþÅì #JCN 0 ¤ß¤È¤¦ ̤Ƨ #T15 0 ¤ß¤È¤ª ¸«ÄÌ #S5r 0 ¤ß¤È¤ª¤· ¸«Ä̤· #T35 5 ¤ß¤È¤· ¿å¸Í»Ô #CNS 0 ¤ß¤È¤É¤± ¸«ÆÏ¤± #KSr 2 ¤ß¤È¤ß »°ÉÙ #JCN 0 ¤ß¤È¤á ǧ¤á #KSr 29 ¤ß¤È¤á ¤ß¤È¤á #KSr 4 ¤ß¤È¤ä »°Åá²° #JCN 0 ¤ß¤È¤è »°Ë­ #JCN 0 ¤ß¤È¤ê¤º ¸«¼è¿Þ #T35 0 ¤ß¤É¤¦ ¸æÆ² #JCN 0 ¤ß¤É¤¦ ¸æÆ² #T35 0 ¤ß¤É¤¦¤¹¤¸ ¸æÆ²¶Ú #CN 0 ¤ß¤É¤¯ ̤ÆÉ #T05 8 ¤ß¤É¤³¤í ¸«½ê #T35 2 ¤ß¤É¤ê ÈþÅÚΤ #JCN 0 ¤ß¤É¤ê ÎÐ #JCN 0 ¤ß¤É¤ê ¤ß¤É¤ê #JNM 0 ¤ß¤É¤ê ¿é #JNM 0 ¤ß¤É¤ê ÊË #JNM 0 ¤ß¤É¤ê ÎÐ #T35 27 ¤ß¤É¤ê¤«¤ï ÎÐÀî #JCN 0 ¤ß¤É¤í ¤ß¤É¤í #SUC 0 ¤ß¤Ê ´ÇÐö #S5r 1 ¤ß¤Ê ¸«Ðö #S5r 1 ¤ß¤Ê ¸«¤Ê #S5r 10 ¤ß¤Ê ¤ß¤Ê #S5r 30 ¤ß¤Ê ³§ #T35 54 ¤ß¤Ê¤¨ ÈþÆà¹¾ #JNM 0 ¤ß¤Ê¤ª ¸«Ä¾ #S5r 15 ¤ß¤Ê¤«¤¿ ÆîÊý #JNS 0 ¤ß¤Ê¤«¤ß ¿å¾å #JCN 0 ¤ß¤Ê¤¬¤ï ³§Àî #JNS 0 ¤ß¤Ê¤¯¤Á ¿å¸ý #JCN 0 ¤ß¤Ê¤°¤Á ¸»¸ý #JNS 0 ¤ß¤Ê¤³ ÈþÆà»Ò #JNM 0 ¤ß¤Ê¤³ Èþ̾»Ò #JNM 0 ¤ß¤Ê¤µ¤Þ ³§ÍÍ #T35 48 ¤ß¤Ê¤µ¤ó ¤ß¤Ê¤µ¤ó #T35 1 ¤ß¤Ê¤µ¤ó ³§¤µ¤ó #T35 139 ¤ß¤Ê¤Å¤­ ¿å̵·î #T35 0 ¤ß¤Ê¤È ¹Á #CN 0 ¤ß¤Ê¤È Ì« #T35 1 ¤ß¤Ê¤È ¹Á #T35 18 ¤ß¤Ê¤Î ³§Ìî #JCN 0 ¤ß¤Ê¤Ù ÆîÉô #JCN 0 ¤ß¤Ê¤Ù¤¬¤ï ÆîÉôÀî #CN 0 ¤ß¤Ê¤Þ¤¿ ¿åËó #JCN 0 ¤ß¤Ê¤ß Æî #CNPRE 1 ¤ß¤Ê¤ß Æî #CNSUC1 0 ¤ß¤Ê¤ß Æî #JCN 0 ¤ß¤Ê¤ß ³§¼Â #JNS 0 ¤ß¤Ê¤ß ÈþÊ #JNS 0 ¤ß¤Ê¤ß Æî #T35 27 ¤ß¤Ê¤ß¤¢¤¤¤­ ÆîÁêÌÚ #CN 0 ¤ß¤Ê¤ß¤¢¤¤¤Å Æî²ñÄÅ #CN 0 ¤ß¤Ê¤ß¤¢¤­¤¿ Æî½©ÅÄ #CN 0 ¤ß¤Ê¤ß¤¢¤·¤¬¤é Æî­ÊÁ #CN 0 ¤ß¤Ê¤ß¤¢¤º¤ß Æî°ÂÆÞ #CN 0 ¤ß¤Ê¤ß¤¢¤Þ¤Ù Æî³¤Éô #CN 0 ¤ß¤Ê¤ß¤¢¤ê¤Þ ÆîÍ­ÇÏ #CN 0 ¤ß¤Ê¤ß¤¤¤º Æî°ËƦ #CN 0 ¤ß¤Ê¤ß¤¦¤ª¤Ì¤Þ Æîµû¾Â #CN 0 ¤ß¤Ê¤ß¤¦¤ï Æî±§Ï #CN 0 ¤ß¤Ê¤ß¤ª¤°¤Ë Æî¾®¹ñ #CN 0 ¤ß¤Ê¤ß¤«¤¿ ÆîÊý #JCN 0 ¤ß¤Ê¤ß¤«¤ä¤Ù Æî³ýÉô #CN 0 ¤ß¤Ê¤ß¤«¤ï Æî²Ï #JNS 0 ¤ß¤Ê¤ß¤«¤ï¤Á Æî²ÏÆâ #CN 0 ¤ß¤Ê¤ß¤«¤ó¤Ð¤é Æî³÷¸¶ #CN 0 ¤ß¤Ê¤ß¤¬¤ï Æî¦ #T35 1 ¤ß¤Ê¤ß¤¯¤·¤ä¤Þ Æî¶ú»³ #CN 0 ¤ß¤Ê¤ß¤³¤Þ ÆîµðËà #CN 0 ¤ß¤Ê¤ß¤µ¤¤¤¿¤Þ Æîºë¶Ì #CN 0 ¤ß¤Ê¤ß¤µ¤¯ Æîº´µ× #CN 0 ¤ß¤Ê¤ß¤·¤¿¤é ÆîÀß³Ú #CN 0 ¤ß¤Ê¤ß¤·¤Ê¤Î Æî¿®Ç» #CN 0 ¤ß¤Ê¤ß¤¸¤å¤¦¤¸¤»¤¤ Æî½½»úÀ± #T35 0 ¤ß¤Ê¤ß¤¿¤«¤­ Æî¹âÍè #CN 0 ¤ß¤Ê¤ß¤¿¤«¤® Æî¹âÍè #CN 0 ¤ß¤Ê¤ß¤¿¤Í Æî¼ï»Ò #CN 0 ¤ß¤Ê¤ß¤¿¤Þ Æî¿Ëà #CN 0 ¤ß¤Ê¤ß¤À¤¤¤È¤¦ ÆîÂçÅì #CN 0 ¤ß¤Ê¤ß¤Á¤¿ ÆîÃο #CN 0 ¤ß¤Ê¤ß¤Ä¤¬¤ë ÆîÄÅ·Ú #CN 0 ¤ß¤Ê¤ß¤Ä¤ë ÆîÅÔα #CN 0 ¤ß¤Ê¤ß¤Ê¤« ÆîÆá²Ñ #CN 0 ¤ß¤Ê¤ß¤Ê¤¹ ÆîÆá¿Ü #CN 0 ¤ß¤Ê¤ß¤Î ÆîÌî #JNS 0 ¤ß¤Ê¤ß¤Õ¤é¤Î ÆîÉÙÎÉÌî #CN 0 ¤ß¤Ê¤ß¤Þ¤­ ÆîËÒ #CN 0 ¤ß¤Ê¤ß¤Þ¤Ä¤¦¤é Æî¾¾±º #CN 0 ¤ß¤Ê¤ß¤Þ¤ï¤ê Æî²ó¤ê #T30 0 ¤ß¤Ê¤ß¤ß¤Î¤ï ÆîÌ§ÎØ #CN 0 ¤ß¤Ê¤ß¤à¤í Æî̶Ϭ #CN 0 ¤ß¤Ê¤ß¤â¤È ÆîËÜ #JNS 0 ¤ß¤Ê¤ß¤ä¤Þ¤·¤í Æî»³¾ë #CN 0 ¤ß¤Ê¤â ¿åÌÌ #T35 2 ¤ß¤Ê¤â¤È ¸» #T35 1 ¤ß¤Ê¤è ÈþÆàÂå #JNM 0 ¤ß¤Ê¤é ¸«½¬ #W5r 3 ¤ß¤Ê¤ê ¿È¤Ê¤ê #T35 0 ¤ß¤Ê¤ì ¸«¤Ê¤ì #KS 1 ¤ß¤Ê¤ì ¸«´·¤ì #KS 5 ¤ß¤Ë ¥ß¥Ë #PRE 13 ¤ß¤Ë¤¤ ¸«¤Ë¹Ô #C5r 17 ¤ß¤Ë¤¯ ½¹ #KY 2 ¤ß¤Ë¤¯ ¸«¤Ë¤¯ #KY 3 ¤ß¤Ë¤¯¤¦ ¸«¤Ë¤¯¤¦ #KYU 1 ¤ß¤Ë¤¯¤¦ ½¹¤¦ #KYU 1 ¤ß¤Ë¤³¤ó ¥ß¥Ë¥³¥ó #T35 2 ¤ß¤Ë¤Þ¤à ¥ß¥Ë¥Þ¥à #T15 1 ¤ß¤Ì ¸«È´ #K5 1 ¤ß¤Í »°º¬ #JCN 0 ¤ß¤Í ÈþǪ #JCN 0 ¤ß¤Í »°»Ò #JN 0 ¤ß¤Í ÈþÇ© #JNS 0 ¤ß¤Í Êö #JNS 0 ¤ß¤Í Ê÷ #KJ 0 ¤ß¤Í Êö #KJ 1 ¤ß¤Í Êö #T35 1 ¤ß¤Í Îæ #T35 1 ¤ß¤Í¤ª Êöͺ #JNM 0 ¤ß¤Í¤®¤· Êö´ß #JNS 0 ¤ß¤Í¤®¤· Ê÷´ß #JNS 0 ¤ß¤Í¤Î Ê÷Ìî #JNS 0 ¤ß¤Í¤Ï¤Þ ÊöÉÍ #JCN 0 ¤ß¤Í¤ä¤Þ Êö»³ #JCN 0 ¤ß¤Î »°Ìî #JCN 0 ¤ß¤Î ÈþÇ» #JCN 0 ¤ß¤Î ̧ #KJ 1 ¤ß¤Î Ì­ #R5 0 ¤ß¤Î ¼Â #R5r 2 ¤ß¤Î ̧ #T35 0 ¤ß¤Î ̬ #T35 19 ¤ß¤Î¤¦ Èþǹ #JCN 0 ¤ß¤Î¤¦ ÈþÇ» #JCN 0 ¤ß¤Î¤¦ ̤Ǽ #T15 10 ¤ß¤Î¤¦¤¨ ¿È¤Î¾å #T35 0 ¤ß¤Î¤ª ̧ÌÌ #JCN 0 ¤ß¤Î¤«¤â ÈþÇ»²ÃÌÐ #CN 0 ¤ß¤Î¤¬ ¸«Æ¨ #S5r 4 ¤ß¤Î¤·¤ç¤¦ ÈþÇ»¾± #JNS 0 ¤ß¤Î¤Á ¿åÆâ #JNS 0 ¤ß¤Î¤Ï¤é ̬¸¶ #JNS 0 ¤ß¤Î¤Ö ¿È±ä #JCN 0 ¤ß¤Î¤Ö ÈþǵÉ× #JNS 0 ¤ß¤Î¤Þ¤ï¤ê ¿È¤Î²ó¤ê #T35 1 ¤ß¤Î¤ê ÈþÌîΤ #JCN 0 ¤ß¤Î¤ê Ì­ #KJ 0 ¤ß¤Î¤ë ¼Â #JNM 0 ¤ß¤Î¤ë Ì­ #JNM 0 ¤ß¤Î¤ï Ì§ÎØ #JCN 0 ¤ß¤Ï âÕ #R5 0 ¤ß¤Ï ¸«Ä¥ #R5r 3 ¤ß¤Ï¤¤¤ë ¥ß¥Ï¥¤¥ë #JN 0 ¤ß¤Ï¤«¤é ¸«·×¤é #W5r 0 ¤ß¤Ï¤· »°¶¶ #JNS 0 ¤ß¤Ï¤Ê ¸«Êü #S5 0 ¤ß¤Ï¤Þ ¸æÉÍ #JCN 0 ¤ß¤Ï¤Þ ÈþÉÍ #JCN 0 ¤ß¤Ï¤é »°¸¶ #JCN 0 ¤ß¤Ï¤é Èþ¸¶ #JCN 0 ¤ß¤Ï¤é ¸«À²¤é #S5r 0 ¤ß¤Ï¤é¤¤ ̤ʧ¤¤ #T15 0 ¤ß¤Ï¤ë »°½Õ #JCN 0 ¤ß¤Ï¤ë Èþ½Õ #JNS 0 ¤ß¤Ð¤¨ ¸«±É¤¨ #T30 3 ¤ß¤Ò¤Ä ̤ɬ #T35 1 ¤ß¤Ò¤é ¸«³« #K5r 1 ¤ß¤Õ¤Í ¸æÁ¥ #JCN 0 ¤ß¤Ö ¿ÑÀ¸ #JCN 0 ¤ß¤Ö¤ê ¸«¤Ö¤ê #T35 1 ¤ß¤Ö¤ê ¿È¿¶¤ê #T35 1 ¤ß¤Ö¤ó ¿Èʬ #T35 2 ¤ß¤Û Èþ±º #JCN 0 ¤ß¤Û ÈþÊÝ #JCN 0 ¤ß¤Û ÈþÊæ #JNM 0 ¤ß¤Û¤³ ÈþÊæ»Ò #JNM 0 ¤ß¤Û¤Î¤»¤­ ÈþÊÝ´Ø #CN 0 ¤ß¤Û¤ó ¸«ËÜ #T35 7 ¤ß¤Ü¤¦¤¸¤ó ̤˴¿Í #T35 1 ¤ß¤Þ »°´Ö #JCN 0 ¤ß¤Þ ÈþÇÏ #JCN 0 ¤ß¤Þ ¸«Éñ #W5r 0 ¤ß¤Þ¤¤ ¸«Éñ #T30 2 ¤ß¤Þ¤¤¤­¤ó ¸«Éñ¶â #T35 0 ¤ß¤Þ¤¬ ¸«Ê¶ #W5 0 ¤ß¤Þ¤¬¤¨ ¸«Ê¶¤¨ #KS 0 ¤ß¤Þ¤µ¤« Èþºî #JCN 0 ¤ß¤Þ¤¿ »°¸Ô #JCN 0 ¤ß¤Þ¤Í ¸«¤Þ¤Í #T30 0 ¤ß¤Þ¤â ¸«¼é #R5 4 ¤ß¤Þ¤ï ¸«²ó #R5r 1 ¤ß¤Þ¤ï ¸«²ó #S5 1 ¤ß¤Þ¤ó ̤Ëþ #T15 2 ¤ß¤ß ¼ª #T35 20 ¤ß¤ß¤¦¤Á ¼ªÂǤÁ #T30 1 ¤ß¤ß¤¬¤¯¤â¤ó ¼ª³ØÌä #T35 0 ¤ß¤ß¤¶¤ï¤ê ¼ª¾ã¤ê #T05 1 ¤ß¤ß¤º ¥ß¥ß¥º #T35 1 ¤ß¤ß¤Ã¤Á ¤ß¤ß¤Ã¤Á #KY 0 ¤ß¤ß¤è¤ê ¼ª´ó¤ê #T05 0 ¤ß¤à ¸«¸þ #K5r 1 ¤ß¤à¤é »°Â¼ #JNS 0 ¤ß¤á¤¤ ̤ÌÀ #T35 0 ¤ß¤â¤À¤¨ ¿ÈÌ夨 #T30 0 ¤ß¤â¤È ¿È¸µ #T35 0 ¤ß¤â¤Î ¸«¤â¤Î #T35 0 ¤ß¤â¤ê ̤¿¹ #JNS 0 ¤ß¤â¤ó ̤ʹ #T15 0 ¤ß¤ã¤¯ Ì® #T35 2 ¤ß¤ã¤¯¤É¤¦ ̮ư #T30 0 ¤ß¤ã¤¯¤Ï¤¯ Ì®Çï #T35 0 ¤ß¤ã¤¯¤é¤¯ Ì®Íí #T35 1 ¤ß¤ä µÜ #JCN 0 ¤ß¤ä µÜ #T35 11 ¤ß¤ä¤¦¤Á µÜÆâ #JCN 0 ¤ß¤ä¤«¤ï µÜÀî #JCN 0 ¤ß¤ä¤¬¤ï µÜÀî #JCN 0 ¤ß¤ä¤­ »°ÍÜ´ð #JCN 0 ¤ß¤ä¤® µÜ¾ë #JCN 0 ¤ß¤ä¤®¤±¤ó µÜ¾ë¸© #CNS 0 ¤ß¤ä¤¯¤Ü µÜ·¦ #JCN 0 ¤ß¤ä¤± »°Âð #JCN 0 ¤ß¤ä¤² ÅÚ»º #T35 10 ¤ß¤ä¤² ¤ß¤ä¤² #T35 2 ¤ß¤ä¤²¤Ð¤Ê¤· ÅÚ»ºÏà #T35 1 ¤ß¤ä¤³ µþÅÔ #CN 0 ¤ß¤ä¤³ µÜ¸Å #JCN 0 ¤ß¤ä¤³ ÈþÌé»Ò #JNM 0 ¤ß¤ä¤³ ÅÔ #T35 0 ¤ß¤ä¤³¤¸ ÅÔÏ© #JCN 0 ¤ß¤ä¤³¤¸¤Þ ÅÔÅç #JCN 0 ¤ß¤ä¤³¤Î¤¸¤ç¤¦ ÅÔ¾ë #JCN 0 ¤ß¤ä¤µ¤« µÜºä #JCN 0 ¤ß¤ä¤¶¤­ µÜºê #JCN 0 ¤ß¤ä¤¶¤­¤±¤ó µÜºê¸© #CNS 0 ¤ß¤ä¤¶¤­¤· µÜºê»Ô #CNS 0 ¤ß¤ä¤¶¤ï µÜÂô #JCN 0 ¤ß¤ä¤·¤¿ µÜ²¼ #JNS 0 ¤ß¤ä¤·¤í µÜÂå #JCN 0 ¤ß¤ä¤¸ µÜÃÏ #JCN 0 ¤ß¤ä¤¸¤Þ µÜÅç #JCN 0 ¤ß¤ä¤¸¤Þ µÜÅè #JNS 0 ¤ß¤ä¤¾¤Î µÜ±ñ #JNS 0 ¤ß¤ä¤¿ µÜÅÄ #JNS 0 ¤ß¤ä¤¿¤± µÜÉð #JNS 0 ¤ß¤ä¤Â µÜÃÏ #JNS 0 ¤ß¤ä¤Å µÜÄÅ #JCN 0 ¤ß¤ä¤Î µÜÌî #JCN 0 ¤ß¤ä¤Î¤¸¤ç¤¦ µÜÇ·¾ë #JCN 0 ¤ß¤ä¤Ï¤é µÜ¸¶ #JCN 0 ¤ß¤ä¤Ö ¸«ÇË #R5r 1 ¤ß¤ä¤Ù µÜÉô #JNS 0 ¤ß¤ä¤Þ ³¤»³ #JCN 0 ¤ß¤ä¤Þ Èþ»³ #JCN 0 ¤ß¤ä¤Þ ¿¼»³ #T35 0 ¤ß¤ä¤Þ¤¨ µÜÁ° #JCN 0 ¤ß¤ä¤â¤È µÜËÜ #JCN 0 ¤ß¤ä¤â¤ê µÜ¼é #JCN 0 ¤ß¤ä¤ï¤­ µÜÏÆ #JNS 0 ¤ß¤å¡¼ ¦¬ #T35 1 ¤ß¤å¡¼ ¦Ì #T35 4 ¤ß¤å¡¼¤¸¤«¤ë ¥ß¥å¡¼¥¸¥«¥ë #T35 0 ¤ß¤å¡¼¤¸¤·¤ã¤ó ¥ß¥å¡¼¥¸¥·¥ã¥ó #T35 3 ¤ß¤å¡¼¤¸¤Ã¤¯ ¥ß¥å¡¼¥¸¥Ã¥¯ #T35 0 ¤ß¤å¡¼¤¿¤ó¤È ¥ß¥å¡¼¥¿¥ó¥È #T35 1 ¤ß¤æ¤­ ¹¬ #JNM 0 ¤ß¤æ¤­ ¿¼Àã #JNM 0 ¤ß¤æ¤­ Èþ¹¬ #JNM 0 ¤ß¤æ¤­ ÈþÀã #JNM 0 ¤ß¤æ¤­ Èþͳµª #JNM 0 ¤ß¤ç¤¦ ̽ #KJ 0 ¤ß¤ç¤¦ ̾ #KJ 0 ¤ß¤ç¤¦ Ì¿ #KJ 0 ¤ß¤ç¤¦ ÌÀ #KJ 2 ¤ß¤ç¤¦ ̯ #T05 13 ¤ß¤ç¤¦¤¢¤ó ̯°Æ #T35 0 ¤ß¤ç¤¦¤¬¤¿ ÌÀÊý #CN 0 ¤ß¤ç¤¦¤® ̯µÁ #CN 0 ¤ß¤ç¤¦¤® ̯µ» #T35 0 ¤ß¤ç¤¦¤³¤¦ ̯¹â #CN 0 ¤ß¤ç¤¦¤´¤Ë¤Á ÌÀ¸åÆü #T35 0 ¤ß¤ç¤¦¤¶¤¤ ̾À¾ #CN 0 ¤ß¤ç¤¦¤·¤å ̯¼ê #T35 0 ¤ß¤ç¤¦¤¸ ÉÄ»ú #T35 0 ¤ß¤ç¤¦¤¸ ̾»ú #T35 2 ¤ß¤ç¤¦¤¸¤ç¤¦ ÌÀÀ± #T35 0 ¤ß¤ç¤¦¤À¤¤ ̾Âå #T35 0 ¤ß¤ç¤¦¤Á¤ç¤¦ ÌÀÄ« #T35 1 ¤ß¤ç¤¦¤É¤¦ ̾Åì #CN 0 ¤ß¤ç¤¦¤Ë¤Á ÌÀÆü #T35 2 ¤ß¤ç¤¦¤Í¤ó ÌÀǯ #T35 0 ¤ß¤ç¤¦¤Ð¤ó ÌÀÈÕ #T35 0 ¤ß¤ç¤¦¤Ð¤ó ÌÀã© #T35 0 ¤ß¤ç¤¦¤ê Ì½Íø #T35 1 ¤ß¤è ¤ß¤è #JNM 0 ¤ß¤è ¥ß¥è #JNM 0 ¤ß¤è ÈþÂå #JNM 0 ¤ß¤è¤³ ÈþÂå»Ò #JNM 0 ¤ß¤è¤· »°¹¥ #JCN 0 ¤ß¤è¤· »°¼¡ #JCN 0 ¤ß¤è¤· »°Ë§ #JCN 0 ¤ß¤è¤· »°Á± #JNS 0 ¤ß¤è¤· »°Á· #JNS 0 ¤ß¤è¤¿ ¸æÂåÅÄ #JCN 0 ¤ß¤è¤ê ¿È´ó¤ê #T35 0 ¤ß¤é¤¤ ̤Íè #T35 10 ¤ß¤é¤µ¤« »°Îɺä #JCN 0 ¤ß¤ê ¥ß¥ê #JS 10 ¤ß¤ê¤Ï ¥ß¥êÇÈ #T35 1 ¤ß¤ê¤Ð¡¼¤ë ¥ß¥ê¥Ð¡¼¥ë #JS 0 ¤ß¤ê¤á¡¼¤È¤ë ¥ß¥ê¥á¡¼¥È¥ë #JS 0 ¤ß¤ê¤á¡¼¤È¤ë ̰ #JS 0 ¤ß¤ê¤ç¤¦ ̤λ #T15 0 ¤ß¤ê¤ç¤¦ ̥λ #T30 0 ¤ß¤ê¤ç¤¯ Ì¥ÎÏ #T35 10 ¤ß¤ê¤ó Ì£îÎ #T35 0 ¤ß¤ë¤«¤é¤Ë ¸«¤ë¤«¤é¤Ë #F14 0 ¤ß¤ë¤¯ ¥ß¥ë¥¯ #T35 3 ¤ß¤ë¤ß¤ë ¤ß¤ë¤ß¤ë #F14 1 ¤ß¤ì¤ó ̤Îý #T05 2 ¤ß¤í¤¯ ÌïðÕ #JNS 0 ¤ß¤ï »°ÎØ #JCN 0 ¤ß¤ï ÈþÏ #JNM 0 ¤ß¤ï »°Ï #JNS 0 ¤ß¤ï¤¯ Ì¥ÏÇ #T30 2 ¤ß¤ï¤± ¸«Ê¬¤± #KSr 1 ¤ß¤ï¤³ ÈþÏÂ»Ò #JNS 0 ¤ß¤ï¤¿ ¸«ÅÏ #S5r 1 ¤ß¤ó ¥ß¥ó #JN 0 ¤ß¤ó ̲ #KJ 1 ¤ß¤ó ïÜ #KJ 1 ¤ß¤ó ÌÀ #KJ 5 ¤ß¤ó ̱ #KJ 7 ¤ß¤ó¤¤ ̱°Õ #T35 0 ¤ß¤ó¤¨¤¤ ̱±Ä #T35 1 ¤ß¤ó¤« ̱²È #T35 0 ¤ß¤ó¤«¤ó ̱´Ö #T35 3 ¤ß¤ó¤±¤ó ̱¸¢ #T35 0 ¤ß¤ó¤²¤¤ ̱·Ý #T35 1 ¤ß¤ó¤·¤ã¤È¤¦ ̱¼ÒÅÞ #KK 0 ¤ß¤ó¤·¤å ̱¼ç #T35 2 ¤ß¤ó¤·¤å¤¦ ̱½° #T35 2 ¤ß¤ó¤·¤å¤¯ ̱½É #T35 0 ¤ß¤ó¤¸ ̱»ö #T35 0 ¤ß¤ó¤¹¤­¡¼ ¥ß¥ó¥¹¥­¡¼ #JN 0 ¤ß¤ó¤»¤¤ ̱À¯ #T35 0 ¤ß¤ó¤»¤¤ ̱À¸ #T35 1 ¤ß¤ó¤¾¤¯ ̱¯ #T35 1 ¤ß¤ó¤¾¤¯ ̱² #T35 3 ¤ß¤ó¤À ̱ÅÄ #JNS 0 ¤ß¤ó¤Á¤ç¤¦ ÌÀÄ« #KK 2 ¤ß¤ó¤Á¤ç¤¦¤¿¤¤ ÌÀÄ«ÂÎ #KK 6 ¤ß¤ó¤Æ¤¤ ÌÀÄë #KK 1 ¤ß¤ó¤È ¥ß¥ó¥È #T35 1 ¤ß¤ó¤Ê ³§ #T35 42 ¤ß¤ó¤Ê ¤ß¤ó¤Ê #T35 62 ¤ß¤ó¤Ý¤¦ ̱Êü #T35 1 ¤ß¤ó¤Ý¤¦ ̱ˡ #T35 2 ¤ß¤ó¤æ¤¦ ̱ͭ #T35 0 ¤ß¤ó¤è¤¦ Ì±ÍØ #T35 1 ¤ß¤ó¤ï ̱Ïà #T35 0 ¤à Çí #K5 0 ¤à ¸þ #K5r 104 ¤à Ì· #KJ 0 ¤à ̸ #KJ 0 ¤à ̹ #KJ 0 ¤à Éð #KJ 1 ¤à ̶ #KJ 1 ¤à Ì´ #KJ 2 ¤à ̳ #KJ 4 ¤à ̵ #PRE 62 ¤à ¾ø #S5r 3 ¤à Ï» #T35 0 ¤à ̵ #T35 105 ¤à¡¼¤¢ ¥à¡¼¥¢ #JN 0 ¤à¡¼¤É ¥à¡¼¥É #T35 1 ¤à¡¼¤ó ¥à¡¼¥ó #T35 0 ¤à¤¤ ̵°Ù #T05 0 ¤à¤¤¤« Ï»Æü #CN 0 ¤à¤¤¤« 6Æü #T35 0 ¤à¤¤¤« £¶Æü #T35 0 ¤à¤¤¤«¤¤¤Á Ï»Æü»Ô #CN 0 ¤à¤¤¤Á¤â¤ó ̵°ìʸ #T15 0 ¤à¤¤¤ß ̵°ÕÌ£ #T05 14 ¤à¤¨¤­ ̵±× #T05 1 ¤à¤¨¤ó ̵±ï #T05 1 ¤à¤¨¤ó ̵±ô #T35 0 ¤à¤ª¤ó ̵²» #T15 0 ¤à¤« ¸þ¤« #W5r 40 ¤à¤«¤¤ ¸þ°æ #JNS 0 ¤à¤«¤¤¤¢ ¸þ¤«¤¤¹ç #W5r 0 ¤à¤«¤¤¤·¤Þ ¸þÅç #CN 0 ¤à¤«¤¤¤Ï¤é ¸þ¸¶ #JCN 0 ¤à¤«¤¤¤ä¤Þ ¸þ»³ #JNS 0 ¤à¤«¤¨ ·Þ¤¨ #KSr 6 ¤à¤«¤¨¤¤¤ì ·Þ¤¨Æþ¤ì #KSr 0 ¤à¤«¤· ¤à¤«¤· #T35 1 ¤à¤«¤· ÀÎ #T35 77 ¤à¤«¤·¤Ð¤Ê¤· ÀÎÏà #T35 1 ¤à¤«¤Ã¤Ñ¤é ¤à¤«¤ÃÊ¢ #T35 0 ¤à¤«¤ï ÉðÀî #JCN 0 ¤à¤«¤ï ̹Àî #JCN 0 ¤à¤«¤ó ̵´§ #T35 0 ¤à¤¬ ̵²æ #T35 1 ¤à¤¬¤¤ ̵³² #T35 1 ¤à¤¬¤¯ ̵³Ø #T05 1 ¤à¤­ ̵´ü #T35 3 ¤à¤­ ̵µ¡ #T35 4 ¤à¤­¤¢ ¸þ¤­¹ç #W5r 0 ¤à¤­¤º ̵½ý #T05 0 ¤à¤­¤À ¤à¤­½Ð #S5r 0 ¤à¤­¤å¤¦ ̵µÙ #T35 0 ¤à¤­¤å¤¦ ̵µë #T35 1 ¤à¤­¤ó ̵¶Ý #T35 1 ¤à¤® Éðµ· #CN 0 ¤à¤® ̶´ô #CN 0 ¤à¤® Çþ #T35 2 ¤à¤®¤¿¤Ë Çþë #JNS 0 ¤à¤®¤Á¤ã ÇþÃã #T35 0 ¤à¤®¤Ð¤¿¤± ÇþȪ #T35 0 ¤à¤®¤ï¤é ÇþÏÎ #T35 0 ¤à¤®¤ï¤é Çþ¥ï¥é #T35 1 ¤à¤¯ ¤à¤¯ #M5r 0 ¤à¤¯ ̵¹¤ #T05 2 ¤à¤¯ ̺ #T35 0 ¤à¤¯¤¤ Êó¤¤ #KSr 0 ¤à¤¯¤À¤¤ ̺Âå #JNS 0 ¤à¤¯¤Á ̵¸ý #T05 2 ¤à¤¯¤É¤ê ¥à¥¯¥É¥ê #T35 0 ¤à¤¯¤É¤ê ̺Ļ #T35 0 ¤à¤¯¤à¤¯ ¤à¤¯¤à¤¯ #F04 0 ¤à¤¯¤ì ¤à¤¯¤ì #KSr 0 ¤à¤¯¤í ³¼ #T35 0 ¤à¤¯¤í ¶í #T35 0 ¤à¤¯¤ï¤ì Êó¤ï¤ì #KS 0 ¤à¤± ¸þ¤± #KSr 27 ¤à¤±¤¤ ̵·Á #T15 1 ¤à¤±¤Ä ̵·ç #T05 0 ¤à¤² ̵³· #T15 1 ¤à¤²¤¤ ̵·Ý #T05 0 ¤à¤²¤¬¤ï Éð·ÝÀî #CN 0 ¤à¤²¤ó ̵¸Â #T05 16 ¤à¤²¤ó¤¨¤ó ̵¸Â±ó #T35 0 ¤à¤²¤ó¤À¤¤ ̵¸ÂÂç #T05 2 ¤à¤²¤ó¤À¤¤ ¡ç #T35 2 ¤à¤³ Ì» #T35 2 ¤à¤³¤¦ ¸þÆü #CN 0 ¤à¤³¤¦ ̵¸ú #T05 34 ¤à¤³¤¦ ̵¸þ #T35 16 ¤à¤³¤¦ ¸þ¤¦ #T35 19 ¤à¤³¤¦ ¤à¤³¤¦ #T35 2 ¤à¤³¤¦ ¸þ¤³¤¦ #T35 25 ¤à¤³¤¦¤¸¤Þ ¸þÅç #JCN 0 ¤à¤³¤¬¤ï Éð¸ËÀî #CN 0 ¤à¤³¤ó ̵º¬ #T15 1 ¤à¤´ »´ #KY 0 ¤à¤´ ¹ó #KY 1 ¤à¤´¤¦ »´¤¦ #KYU 0 ¤à¤´¤¦ ¹ó¤¦ #KYU 1 ¤à¤´¤¿¤é¤· ¤à¤´¤¿¤é¤· #KY 1 ¤à¤´¤¿¤é¤·¤å¤¦ ¤à¤´¤¿¤é¤·¤å¤¦ #KYU 1 ¤à¤´¤ó ̵¸À #T35 3 ¤à¤µ¤· Éð¢ #JCN 0 ¤à¤µ¤· Éð¢ #T35 3 ¤à¤µ¤·¤Î Éð¢Ìî #CN 0 ¤à¤µ¤·¤à¤é¤ä¤Þ É𢼻³ #CN 0 ¤à¤µ¤Ü ìÅ #R5r 0 ¤à¤µ¤ó ̵»º #T35 0 ¤à¤¶¤¤ ̵ºá #T35 1 ¤à¤¶¤à¤¶ ¤à¤¶¤à¤¶ #F06 0 ¤à¤¶¤ó ̵»´ #T05 0 ¤à¤¶¤ó ̵»Ä #T05 0 ¤à¤· êµ #KJ 1 ¤à¤· ̵»ë #T30 68 ¤à¤· Ãî #T35 42 ¤à¤·¤¢¤Ä ¾ø¤·½ë #KY 2 ¤à¤·¤¢¤Ä¤¦ ¾ø¤·½ë¤¦ #KYU 1 ¤à¤·¤±¤é Ã¤é #T35 0 ¤à¤·¤Ð ¿ª #M5 0 ¤à¤·¤Ð Ãî»õ #T35 1 ¤à¤·¤ã Éð¼Ô #T35 1 ¤à¤·¤ã¤Ö¤ë¤¤ Éð¼Ô¿Ì¤¤ #T30 0 ¤à¤·¤å¤¦ ̵½­ #T35 0 ¤à¤·¤ç¤¦ ̵½þ #T15 8 ¤à¤·¤ç¤¦ ̸¾Ã #T30 0 ¤à¤·¤ç¤¦ ̵À­ #T35 0 ¤à¤·¤ç¤¦¤Ë ¤à¤·¤ç¤¦¤Ë #F14 0 ¤à¤·¤ç¤¯ ̵¿§ #T15 0 ¤à¤·¤ç¤¯ ̵¿¦ #T35 1 ¤à¤·¤í ¤à¤·¤í #F14 16 ¤à¤·¤í ä§ #T35 0 ¤à¤·¤í èî #T35 0 ¤à¤·¤ó ̵¿´ #T00 0 ¤à¤·¤ó¤í¤ó ̵¿ÀÏÀ #T35 0 ¤à¤¸ ̵ÃÏ #T15 1 ¤à¤¸¤Ä ̵¼Â #T35 1 ¤à¤¸¤Ê ì» #T35 0 ¤à¤¸¤ã¤­ ̵¼Ùµ¤ #T05 1 ¤à¤¸¤å¤ó Ì·½â #T10 22 ¤à¤¸¤ç¤¦ ̵¾ð #T05 2 ¤à¤¸¤ç¤¦¤±¤ó ̵¾ò·ï #T15 0 ¤à¤¸¤ó ̵¿Ô #T05 1 ¤à¤¸¤ó ̵¿Í #T35 1 ¤à¤¸¤ó¤¾¤¦ ̵¿Ô¢ #T15 0 ¤à¤¹ ·ë #B5r 33 ¤à¤¹¤¦ ̵¿ô #T05 0 ¤à¤¹¤³ ©»Ò #T35 4 ¤à¤¹¤Ó¤Ä ·ë¤Ó¤Ä #K5r 2 ¤à¤¹¤Ó¤Ä ·ë¤ÓÉÕ #K5r 6 ¤à¤¹¤Ó¤Ä¤± ·ë¤Ó¤Ä¤± #KSr 1 ¤à¤¹¤á ̼ #T35 3 ¤à¤¹¤ê¤à ¥à¥¹¥ê¥à #T35 0 ¤à¤º¤«¤· ¤à¤º¤«¤· #KYme 1 ¤à¤º¤«¤· Æñ¤· #KYme 73 ¤à¤º¤«¤·¤¬ ¤à¤º¤«¤·¤¬ #R5 0 ¤à¤º¤«¤·¤¬ Æñ¤·¤¬ #R5 1 ¤à¤º¤«¤·¤å¤¦ ¤à¤º¤«¤·¤å¤¦ #KYU 1 ¤à¤º¤«¤·¤å¤¦ Æñ¤·¤å¤¦ #KYU 2 ¤à¤» °ö #B5 0 ¤à¤»¤¤ ̵À¼ #T35 0 ¤à¤»¤­¤Ë¤ó ̵ÀÕǤ #T05 4 ¤à¤»¤Ã¤½¤¦ ̵ÀáÁà #T05 1 ¤à¤»¤ó ̵Á¬ #T35 0 ¤à¤»¤ó ̵Àþ #T35 17 ¤à¤»¤ó¤­ ̵Àþµ¡ #T35 1 ¤à¤¼¤¤ ̵ÀÇ #T35 0 ¤à¤½¤¦ Ì´ÁÛ #T30 1 ¤à¤½¤¸ Ï»½½Ï© #T35 0 ¤à¤¾¤¦¤µ ̵¤ºî #T05 1 ¤à¤¿ ̶ÅÄ #JNS 0 ¤à¤À ¥à¥À #T05 2 ¤à¤À ̵ÂÌ #T05 45 ¤à¤À¤ó ̵ÃÇ #T35 4 ¤à¤Á ̵ÃÎ #T05 16 ¤à¤Á ÊÜ #T35 10 ¤à¤Á¤ã ̵Ãã #T00 1 ¤à¤Á¤ã ¤à¤Á¤ã #T00 2 ¤à¤Á¤ã¤¯¤Á¤ã ̵Ãã¶ìÃã #T05 2 ¤à¤Á¤ã¤¯¤Á¤ã ¤à¤Á¤ã¤¯¤Á¤ã #T05 3 ¤à¤Á¤å¤¦ Ì´Ãæ #T05 1 ¤à¤Á¤ó ̵Ä #T35 0 ¤à¤Ã¤Ä Ï»¤Ä #T35 2 ¤à¤Ä ¤à¤Ä #CN 0 ¤à¤Ä Φ±ü #JCN 0 ¤à¤Ä ËÓ #KJ 1 ¤à¤Ä¤¦ ̵ÄË #T35 0 ¤à¤Ä¤¦¤é Ï»±º #JCN 0 ¤à¤Ä¤ª ËÓÉ× #JNM 0 ¤à¤Ä¤«¤· ¤à¤Ä¤«¤· #KYme 0 ¤à¤Ä¤«¤· Æñ¤· #KYme 18 ¤à¤Ä¤«¤·¤¬ ¤à¤Ä¤«¤·¤¬ #R5 0 ¤à¤Ä¤«¤·¤¬ Æñ¤·¤¬ #R5 1 ¤à¤Ä¤«¤·¤å¤¦ Æñ¤·¤å¤¦ #KYU 2 ¤à¤Ä¤­ ËÓ·î #T35 0 ¤à¤Ä¤¶¤ï ËÓÂô #CN 0 ¤à¤Ä¤Þ¤¸ ËÓ¤Þ¤¸ #KY 0 ¤à¤Ä¤Þ¤¸¤å¤¦ ËÓ¤Þ¤¸¤å¤¦ #KYU 0 ¤à¤Ä¤ß ËÓÈþ #JNM 0 ¤à¤Æ¤­ ̵Ũ #T05 0 ¤à¤Æ¤¸¤å¤ó ̵¼ê½ç #T35 0 ¤à¤Ç¤ó ̵ÅÅ #T35 0 ¤à¤È¤¦ ÉðÆ£ #JNS 0 ¤à¤È¤ó¤Á¤ã¤¯ ̵ÆÜÃå #T05 0 ¤à¤É¤¯ ̵ÆÇ #T35 0 ¤à¤Ê¤«¤¿ ½¡Áü #JCN 0 ¤à¤Ê¤² ¶»ÌÓ #T35 0 ¤à¤Ê¤µ¤ï¤® ¶»Áû¤® #T30 0 ¤à¤Ê¤· ¶õ¤· #KY 0 ¤à¤Ê¤· µõ¤· #KY 2 ¤à¤Ê¤·¤¬ ¶õ¤·¤¬ #R5 0 ¤à¤Ê¤·¤¬ µõ¤·¤¬ #R5 1 ¤à¤Ê¤·¤å¤¦ ¶õ¤·¤å¤¦ #KYU 0 ¤à¤Ê¤·¤å¤¦ µõ¤·¤å¤¦ #KYU 1 ¤à¤Ë ̵Æó #T35 0 ¤à¤Ë¤¨¤ë ¥à¥Ë¥¨¥ë #T35 1 ¤à¤Í Åï #JS 0 ¤à¤Í ½¡ #KJ 2 ¤à¤Í Åï #T35 0 ¤à¤Í »Ý #T35 34 ¤à¤Í ¶» #T35 8 ¤à¤Í¤¢¤² Åï¾å¤² #T30 0 ¤à¤Í¤ª ½¡ÃË #JNM 0 ¤à¤Í¤ª ½¡Íº #JNM 0 ¤à¤Í¤ó ̵ǰ #T05 2 ¤à¤Î¤¦ ̵ǽ #T05 2 ¤à¤Ï¤¤ ̵ÇÔ #T35 1 ¤à¤Ò ÌµÈæ #T05 0 ¤à¤Ó¤ç¤¦ ̵É #T05 0 ¤à¤Õ¤¦ ̵É÷ #T35 0 ¤à¤Ø¤ó¤«¤ó ̵ÊÑ´¹ #T30 0 ¤à¤Û¤¦ ̵ˡ #T05 1 ¤à¤Ü¤¦ ̵ËÅ #T05 2 ¤à¤Ü¤¦¤Ó ̵ËÉÈ÷ #T05 0 ¤à¤Þ Ì´Ëâ #T35 0 ¤à¤ß ̵̣ #T05 1 ¤à¤á¤¤ ̵̾ #T05 1 ¤à¤á¤¤ ̵Ìà #T35 0 ¤à¤ä¤ß ̵°Ç #T05 2 ¤à¤æ¤¦¤Ó¤ç¤¦ Ì´Í·É #T35 1 ¤à¤è¤¦ ̵ÍÑ #T05 4 ¤à¤è¤¯ ̵Íß #T05 0 ¤à¤é ¼ #CNSUC1 72 ¤à¤é ·² #KJ 0 ¤à¤é ÆÖ #KJ 0 ¤à¤é ͸ #KJ 0 ¤à¤é ¾ø¤é #S5 5 ¤à¤é ¼ #T35 0 ¤à¤é¤¤ ¼°æ #JNS 0 ¤à¤é¤ª¤« ¼²¬ #JCN 0 ¤à¤é¤«¤ß ¼¾å #JCN 0 ¤à¤é¤¬ ·²¤¬ #R5 0 ¤à¤é¤­ ¼ÌÚ #JNS 0 ¤à¤é¤³¤· ¼±Û #JNS 0 ¤à¤é¤µ¤­ »ç #T35 1 ¤à¤é¤» ¼À¥ #JNS 0 ¤à¤é¤¿ ¼ÅÄ #JCN 0 ¤à¤é¤Ï¤Á¤Ö ¼Ȭʬ #T35 0 ¤à¤é¤Þ¤Ä ¼¾¾ #JCN 0 ¤à¤é¤à¤é ¤à¤é¤à¤é #F06 1 ¤à¤é¤â¤È ¼ËÜ #JNS 0 ¤à¤é¤ä¤Þ ¼»³ #JCN 0 ¤à¤ê ̵Íý #T05 80 ¤à¤ê¤¸¤¤ ̵Íý¶¯¤¤ #T30 0 ¤à¤ê¤ä¤ê ̵ÍýÌðÍý #T05 13 ¤à¤ê¤ç¤¦ ̵ÎÁ #T15 10 ¤à¤ê¤ç¤¦ ̵ÎÌ #T35 0 ¤à¤ê¤ç¤¯ ̵ÎÏ #T05 2 ¤à¤ë¤¤ ̵Îà #T05 0 ¤à¤ì ̶Îé #JCN 0 ¤à¤ì ¾ø¤ì #KS 0 ¤à¤ì ·²¤ì #KS 2 ¤à¤ì ·² #T35 0 ¤à¤í ̶Ϭ #JNS 0 ¤à¤í ¼¼ #T35 1 ¤à¤í¤¤ ¼¼°æ #JNS 0 ¤à¤í¤¦ ¼¼À¸ #JCN 0 ¤à¤í¤¿ ¼¼ÅÄ #JNS 0 ¤à¤í¤È ¼¼¸Í #CN 0 ¤à¤í¤Í ¼¼º¬ #CN 0 ¤à¤í¤Þ¤Á ¼¼Ä® #T35 0 ¤à¤í¤é¤ó ¼¼Íö #CN 0 ¤à¤í¤ó ¤à¤í¤ó #F14 1 ¤à¤í¤ó ̵ÏÀ #F14 13 ¤à¤í¤ó¤Î ¤à¤í¤ó¤Î #RT 0 ¤à¤í¤ó¤Î ̵ÏÀ¤Î #RT 0 ¤á ÌÜ #D2T35 16 ¤á ÌÜ #JSSUC 0 ¤á ¤á #K5r 1 ¤á ½÷ #KJ 3 ¤á ¾¤ #S5 7 ¤á ¤á #SUC 0 ¤á ²ê #T35 11 ¤á ´ã #T35 2 ¤á ÌÜ #T35 255 ¤á¡¼¤« ¥á¡¼¥« #T35 20 ¤á¡¼¤«¡¼ ¥á¡¼¥«¡¼ #T35 7 ¤á¡¼¤¯¤¢¤Ã¤× ¥á¡¼¥¯¥¢¥Ã¥× #T30 1 ¤á¡¼¤¿ ¥á¡¼¥¿ #T35 9 ¤á¡¼¤¿¡¼ ¥á¡¼¥¿¡¼ #T35 9 ¤á¡¼¤Ç¡¼ ¥á¡¼¥Ç¡¼ #T35 0 ¤á¡¼¤È¤ë ¥á¡¼¥È¥ë #JS 3 ¤á¡¼¤È¤ë ¥á¡¼¥È¥ë #T35 2 ¤á¡¼¤ê¤ó¤° ¥á¡¼¥ê¥ó¥° #T30 49 ¤á¡¼¤ë ¥á¡¼¥ë #T30 255 ¤á¤¢¤«¤· ÌÜÌÀ¤«¤· #T35 0 ¤á¤¢¤¿¤é¤· ÌÜ¿·¤· #KY 2 ¤á¤¢¤¿¤é¤·¤å¤¦ ÌÜ¿·¤·¤å¤¦ #KYU 1 ¤á¤¢¤Æ ÌÜÅö¤Æ #T35 2 ¤á¤¤ ̾ #JS 255 ¤á¤¤ Ææ #KJ 0 ¤á¤¤ ̾ #KJ 0 ¤á¤¤ ÌÁ #KJ 0 ¤á¤¤ Ì #KJ 1 ¤á¤¤ ÌÀ #KJ 17 ¤á¤¤ ÌÄ #KJ 2 ¤á¤¤ ̾ #PRE 0 ¤á¤¤ Ìà #PRE 0 ¤á¤¤ ÌÇÆþ #R5 1 ¤á¤¤ ̾ #SUC 0 ¤á¤¤ ̽ #T30 3 ¤á¤¤ ÌÅ #T35 0 ¤á¤¤ Ì¿ #T35 1 ¤á¤¤ Ìà #T35 1 ¤á¤¤ ̾ #T35 2 ¤á¤¤ Ìà #ZX 1 ¤á¤¤ Ì¿ #ZX 2 ¤á¤¤¤¢¤ó ÌÀ°Å #T35 1 ¤á¤¤¤¢¤ó ̾°Æ #T35 2 ¤á¤¤¤¤ ̾°å #T35 0 ¤á¤¤¤¦ ÌÃÂÇ #T5r 0 ¤á¤¤¤¦¤ó Ì¿±¿ #T35 0 ¤á¤¤¤ª¤¦¤»¤¤ ̽²¦À± #CNS 1 ¤á¤¤¤« ̾²È #T35 0 ¤á¤¤¤« ÌÃ²Û #T35 0 ¤á¤¤¤«¤¤ ÌÀ²ò #T00 1 ¤á¤¤¤«¤¤ ÌÀ²÷ #T05 0 ¤á¤¤¤«¤¯ ÌÀ³Î #T05 31 ¤á¤¤¤¬ ̾²è #T35 1 ¤á¤¤¤¬¤é ÌÃÊÁ #T35 1 ¤á¤¤¤­ Ìõ­ #T30 2 ¤á¤¤¤­ ÌÀµ­ #T30 9 ¤á¤¤¤­¤å¤¦ Ì嵆 #T35 1 ¤á¤¤¤­¤ç¤¯ ̾¶Ê #T35 1 ¤á¤¤¤® ̾µÁ #T35 1 ¤á¤¤¤¯ ¥á¥¤¥¯ #T30 6 ¤á¤¤¤±¤ó ̾·õ #T35 0 ¤á¤¤¤±¤ó ̾¸¤ #T35 0 ¤á¤¤¤²¤Ä ̾·î #T35 0 ¤á¤¤¤²¤ó ÌÀ¸À #T30 3 ¤á¤¤¤²¤ó ̾¸À #T35 1 ¤á¤¤¤³¤¦ ̾¹© #T35 8 ¤á¤¤¤µ¤¤ ÌÀºÙ #T05 16 ¤á¤¤¤µ¤¯ ̾ºî #T35 1 ¤á¤¤¤µ¤Ä ̾Ñë #T35 0 ¤á¤¤¤µ¤Þ ̾ÍÍ #JS 0 ¤á¤¤¤µ¤ó ̾»º #T35 0 ¤á¤¤¤· ̾»ì #T35 50 ¤á¤¤¤· ̾»É #T35 9 ¤á¤¤¤·¤å ̾¼ê #T35 1 ¤á¤¤¤·¤å Ìüò #T35 1 ¤á¤¤¤·¤ç ̾½ê #T35 6 ¤á¤¤¤·¤ç¤¦ ̾¾¡ #T35 0 ¤á¤¤¤·¤ç¤¦ ̾¾Î #T35 37 ¤á¤¤¤·¤ó ̾¿À #CN 0 ¤á¤¤¤·¤ó Ì¿® #T35 4 ¤á¤¤¤¸ ÌÀ¼£ #KK 4 ¤á¤¤¤¸ ÌÀ¼¨ #T30 32 ¤á¤¤¤¸¤Ä ̾¼Â #T35 2 ¤á¤¤¤¸¤ó ̾¿Í #T35 3 ¤á¤¤¤¹¤¤ ̾¿å #T35 0 ¤á¤¤¤¹¤¦ ̾¿ô #T35 0 ¤á¤¤¤»¤¤ ̾À¼ #T35 1 ¤á¤¤¤»¤­ ÌÀÚò #T05 1 ¤á¤¤¤»¤ó ̾Àô #T35 0 ¤á¤¤¤½¤¦ âÔÁÛ #T30 1 ¤á¤¤¤À¤¤ ÌÀÂç #KK 1 ¤á¤¤¤À¤¤ ̾Âç #KK 10 ¤á¤¤¤À¤¤ Ì¿Âê #T35 13 ¤á¤¤¤À¤¤¤Þ¤¨ ÌÀÂçÁ° #CN 0 ¤á¤¤¤Á ÌÀÃÎ #T35 0 ¤á¤¤¤Á¤å¤¦ Ì¿Ãæ #T30 1 ¤á¤¤¤Á¤ç Ì¾Ãø #T35 0 ¤á¤¤¤Ã¤Ñ¤¤ ÌܰìÇÕ #T15 0 ¤á¤¤¤È¤¦ ̾Åì #CN 0 ¤á¤¤¤È¤¦ ̾Åü #KK 2 ¤á¤¤¤È¤¦ ̾Åú #T30 0 ¤á¤¤¤È¤¦ ̾Åá #T35 0 ¤á¤¤¤È¤¦ ̾Åú #T35 0 ¤á¤¤¤É ̽ÅÚ #T35 0 ¤á¤¤¤É ÌÀÅÙ #T35 1 ¤á¤¤¤Ë¤Á Ì¿Æü #T35 0 ¤á¤¤¤Ï¤¯ ÌÀÇò #T05 2 ¤á¤¤¤Ð ̾ÇÏ #T35 0 ¤á¤¤¤Ó ÌÀÕ» #T05 1 ¤á¤¤¤Ó ̾ջ #T35 1 ¤á¤¤¤Ó¤ó ÌÀÉÒ #T05 0 ¤á¤¤¤Õ ̽ÉÜ #T35 0 ¤á¤¤¤Õ¤¯ ̽ʡ #T35 0 ¤á¤¤¤Ö¤Ä ̾ʪ #T35 2 ¤á¤¤¤Ö¤ó ̾ʬ #T35 0 ¤á¤¤¤Ö¤ó ̾ʸ #T35 2 ¤á¤¤¤Ö¤ó¤« ÌÀʸ²½ #T30 1 ¤á¤¤¤Û¤¦ ÌÁË® #T35 0 ¤á¤¤¤Ü ̾Êí #T35 8 ¤á¤¤¤Ü¤¦ ̾˾ #T35 0 ¤á¤¤¤á¤¤ ̿̾ #T30 2 ¤á¤¤¤á¤¤¤Ï¤¯¤Ï¤¯ ÌÀ¡¹Çò¡¹ #T05 0 ¤á¤¤¤â¤¯ ̽ÌÛ #T30 0 ¤á¤¤¤â¤¯ ̾ÌÜ #T35 1 ¤á¤¤¤â¤ó ̾Ìç #T35 0 ¤á¤¤¤è ̾ÍÀ #T05 3 ¤á¤¤¤ê¤ç¤¦ ÌÀÎÆ #T05 2 ¤á¤¤¤ê¤ó¤° ¥á¥¤¥ê¥ó¥° #T35 2 ¤á¤¤¤ê¤ó¤°¤ê¤¹¤È ¥á¥¤¥ê¥ó¥°¥ê¥¹¥È #T35 6 ¤á¤¤¤ë ¥á¥¤¥ë #T30 25 ¤á¤¤¤ì¤¤ Ì¿Îá #T30 117 ¤á¤¤¤í ÌÂÏ© #T35 1 ¤á¤¤¤í¤¦ ÌÀϯ #T05 0 ¤á¤¤¤ï ÌÀÏ #CN 0 ¤á¤¤¤ï¤¯ ÌÂÏÇ #T00 18 ¤á¤¤¤ó ¥á¥¤¥ó #T05 24 ¤á¤¦¤¨ Ìܾå #T35 1 ¤á¤¦¤· ÌÆµí #T35 0 ¤á¤¦¤Ä¤ê Ìܰܤê #T30 0 ¤á¤ª¤È É×ÉØ #T35 0 ¤á¤« ¥á¥« #T35 3 ¤á¤«¤± ¾ª #T35 0 ¤á¤«¤¿ ÌÜÊý #T35 0 ¤á¤«¤Ë¤º¤à ¥á¥«¥Ë¥º¥à #T35 13 ¤á¤¬ ¥á¥¬ #JS 7 ¤á¤¬¤·¤é ÌÜÆ¬ #T35 0 ¤á¤¬¤Í ´ã¶À #T35 0 ¤á¤¬¤Í ¥á¥¬¥Í #T35 0 ¤á¤¬¤ß ½÷¿À #T35 1 ¤á¤­¤·¤³ ¥á¥­¥·¥³ #CN 0 ¤á¤¯ ¤á¤¯ #R5r 0 ¤á¤¯¤é ¤á¤¯¤é #T35 1 ¤á¤¯¤é ÌÕ #T35 1 ¤á¤¯¤ë¤á¤¯ Ìܤ¯¤ë¤á¤¯ #RT 0 ¤á¤° ·Ã #M5r 4 ¤á¤° ½ä #R5r 1 ¤á¤° ¤á¤° #R5r 11 ¤á¤°¤¹¤ê ÌÜÌô #T35 1 ¤á¤°¤ß ·Ã #JN 0 ¤á¤°¤ß ¤á¤°¤ß #JNM 0 ¤á¤°¤ê¤¢ ½ä¤ê¹ç #W5r 4 ¤á¤°¤í Ìܹõ #JCN 0 ¤á¤² ¤á¤² #KS 2 ¤á¤µ¤­ ÌÜÀè #T35 1 ¤á¤¶ ÌÜ»Ø #S5 18 ¤á¤¶¤È Ìܤ¶¤È #KY 1 ¤á¤¶¤È¤¦ Ìܤ¶¤È¤¦ #KYU 1 ¤á¤¶¤Þ¤· ÌܳФ· #KY 3 ¤á¤¶¤Þ¤· ÌܳФ· #T35 3 ¤á¤¶¤Þ¤·¤å¤¦ ÌܳФ·¤å¤¦ #KYU 1 ¤á¤¶¤á ÌܳФá #KSr 2 ¤á¤¶¤ï¤ê Ìܾã¤ê #T05 1 ¤á¤· ÈÓ #T35 17 ¤á¤·¤¿ Ìܲ¼ #T35 0 ¤á¤·¤Ä¤«¤¤ ¾¤»È #T35 0 ¤á¤¸¤ã¡¼ ¥á¥¸¥ã¡¼ #T05 9 ¤á¤¸¤ê ÌÜ¿¬ #T35 0 ¤á¤¸¤ë¤· Ìܰõ #T30 1 ¤á¤¸¤í ¥á¥¸¥í #T35 0 ¤á¤¸¤í ½«´ã»ù #T35 0 ¤á¤¸¤í ÌÜÇò #T35 1 ¤á¤¹ »ó #T35 0 ¤á¤¹ ÌÆ #T35 0 ¤á¤¹ ¡ê #T35 1 ¤á¤¹ ¥á¥¹ #T35 1 ¤á¤º¤é¤· ÄÁ¤· #KY 15 ¤á¤º¤é¤·¤¬ ÄÁ¤·¤¬ #R5 0 ¤á¤º¤é¤·¤å¤¦ ÄÁ¤·¤å¤¦ #KYU 2 ¤á¤»¤ó ÌÜÀþ #T35 2 ¤á¤½¤Ã¤É ¥á¥½¥Ã¥É #T35 33 ¤á¤½¤Ý¤¿¤ß¤¢ ¥á¥½¥Ý¥¿¥ß¥¢ #CN 0 ¤á¤¾¤Í¤Ã¤È ¥á¥¾¥Í¥Ã¥È #T35 1 ¤á¤¿ ¥á¥¿ #PRE 22 ¤á¤¿ ¥á¥¿ #T05 22 ¤á¤¿¤Õ¤¡ ¥á¥¿¥Õ¥¡ #T35 1 ¤á¤¿¤Õ¤¡¡¼ ¥á¥¿¥Õ¥¡¡¼ #T35 0 ¤á¤¿¤â¤ë¤Õ¤©¡¼¤¼ ¥á¥¿¥â¥ë¥Õ¥©¡¼¥¼ #T30 2 ¤á¤¿¤ë ¥á¥¿¥ë #T35 2 ¤á¤¿¤ó ¥á¥¿¥ó #T35 1 ¤á¤À ÌÜΩ #T5 10 ¤á¤À¤Þ ÌÜ¶Ì #T35 3 ¤á¤À¤ë ¥á¥À¥ë #T35 1 ¤á¤Á¤ã¤¯¤Á¤ã ¥á¥Á¥ã¥¯¥Á¥ã #T05 0 ¤á¤Á¤ã¤¯¤Á¤ã ÌÇÃã¶ìÃã #T05 0 ¤á¤Á¤ã¤¯¤Á¤ã ¤á¤Á¤ã¤¯¤Á¤ã #T05 5 ¤á¤Á¤ã¤á¤Á¤ã ¥á¥Á¥ã¥á¥Á¥ã #T05 0 ¤á¤Á¤ã¤á¤Á¤ã ¤á¤Á¤ã¤á¤Á¤ã #T05 1 ¤á¤Á¤ë ¥á¥Á¥ë #T30 1 ¤á¤Ã¤« ¥á¥Ã¥« #CN 0 ¤á¤Ã¤­ ÌǶâ #T30 0 ¤á¤Ã¤­¤ã¤¯ ÌÇµÑ #T30 0 ¤á¤Ã¤­¤ê ¤á¤Ã¤­¤ê #F06 0 ¤á¤Ã¤­¤ê ¤á¤Ã¤­¤ê #T16 0 ¤á¤Ã¤­¤ó ÌÇ¶Ý #T30 0 ¤á¤Ã¤·¤Ä ÌǼº #T35 0 ¤á¤Ã¤·¤å ¥á¥Ã¥·¥å #T35 2 ¤á¤Ã¤»¡¼¤¸ ¥á¥Ã¥»¡¼¥¸ #T35 161 ¤á¤Ã¤¿ ÌÇ¿ #T05 2 ¤á¤Ã¤¿¤Ë ÌÇ¿¤Ë #F14 13 ¤á¤Ã¤Ý¤¦ ÌÇË¡ #T15 0 ¤á¤Ä ÌÇ #T35 4 ¤á¤Ä¤Ü¤¦ ÌÇË´ #T30 0 ¤á¤Ç¤£¤¢ ¥á¥Ç¥£¥¢ #T35 31 ¤á¤Ç¤£¤«¤ë ¥á¥Ç¥£¥«¥ë #T05 0 ¤á¤Ç¤¿ ÌܽÐÅÙ #KY 0 ¤á¤Ç¤¿ ¤á¤Ç¤¿ #KY 4 ¤á¤Ç¤¿¤¬ ¤á¤Ç¤¿¤¬ #R5 0 ¤á¤Ç¤¿¤¬ ÌܽÐÅÙ¤¬ #R5 0 ¤á¤Ç¤È¤¦ ÌܽÐÅÙ¤¦ #KYU 0 ¤á¤Ç¤È¤¦ ¤á¤Ç¤È¤¦ #KYU 1 ¤á¤È¤Ë¤ß¡¼ ¥á¥È¥Ë¥ß¡¼ #T35 0 ¤á¤È¤ê¤Ã¤¯ ¥á¥È¥ê¥Ã¥¯ #T35 8 ¤á¤É Ìܽè #T35 1 ¤á¤É ¥á¥É #T35 2 ¤á¤Ê¤· ÌÜÍü #CN 0 ¤á¤Ë¤å¡¼ ¥á¥Ë¥å¡¼ #T35 201 ¤á¤Ì¤Þ ºÊ¾Â #JCN 0 ¤á¤Î¤¦ âûâõ #T35 0 ¤á¤Ï¤Ê ÌÜÉ¡ #T35 1 ¤á¤Ð¤¨ ²êÀ¸¤¨ #KSr 0 ¤á¤Ö ²ê¿á #K5r 0 ¤á¤Ö¤ó¤ê¤ç¤¦ ÌÜʬÎÌ #T15 0 ¤á¤Ù¤ê Ìܸº¤ê #T30 0 ¤á¤Ü¤· ¤á¤Ü¤· #KY 0 ¤á¤Ü¤· ÌÜÀ± #T35 0 ¤á¤Þ¤°¤ë¤· Ìܤޤ°¤ë¤· #KY 1 ¤á¤Þ¤°¤ë¤·¤å¤¦ Ìܤޤ°¤ë¤·¤å¤¦ #KYU 1 ¤á¤Þ¤ó¤Ù¤Ä ½÷ËþÊÌ #CN 0 ¤á¤à¤í ²ê¼¼ #CN 0 ¤á¤á¤· ½÷¡¹¤· #KY 1 ¤á¤á¤·¤å¤¦ ½÷¡¹¤·¤å¤¦ #KYU 1 ¤á¤â ¥á¥â #T30 80 ¤á¤â¤Á¤ç¤¦ ¥á¥âÄ¢ #T35 0 ¤á¤â¤È Ìܸµ #T35 0 ¤á¤â¤ê ÌÜÀ¹¤ê #T35 1 ¤á¤â¤ê ¥á¥â¥ê #T35 189 ¤á¤â¤ê ÌÜÀ¹ #T35 4 ¤á¤â¤ê¡¼ ¥á¥â¥ê¡¼ #T35 4 ¤á¤ä¤¹ Ìܰ #T35 3 ¤á¤ä¤Ë ÌÜ»é #T35 0 ¤á¤ê¤±¤ó¤³ ¥á¥ê¥±¥óÊ´ #T35 0 ¤á¤ê¤Ã¤È ¥á¥ê¥Ã¥È #T35 16 ¤á¤í¤Ç¤£¡¼ ¥á¥í¥Ç¥£¡¼ #T35 1 ¤á¤ó ÌÌ #JS 68 ¤á¤ó ÌÉ #KJ 0 ¤á¤ó ÌË #KJ 0 ¤á¤ó ÌÌ #SUC 0 ¤á¤ó ÌÊ #T35 0 ¤á¤ó ÌÌ #T35 0 ¤á¤ó ÌÍ #T35 16 ¤á¤ó ÌÈ #T35 29 ¤á¤ó ÌÈ #ZX 29 ¤á¤ó¤¨¤­ Ì鱅 #T35 0 ¤á¤ó¤«¤¤ Ì̲ñ #T30 0 ¤á¤ó¤¬ Ì̲è #T35 1 ¤á¤ó¤­¤ç Ìȵö #T30 4 ¤á¤ó¤­¤ç¤·¤ç¤¦ Ìȵö¾Ú #T35 1 ¤á¤ó¤¶¤¤ ÌȺá #T30 0 ¤á¤ó¤· ÌÊ»å #T35 0 ¤á¤ó¤·¤­ Ì̼± #T35 5 ¤á¤ó¤·¤ç¤¯ ÌÈ¿¦ #T30 0 ¤á¤ó¤¸¤ç ÌȽü #T30 1 ¤á¤ó¤¸¤ç¤¦ ÌȾõ #T35 2 ¤á¤ó¤»¤­ ÌÈÀÕ #T30 3 ¤á¤ó¤»¤­ ÌÌÀÑ #T35 2 ¤á¤ó¤»¤Ä ÌÌÀÜ #T30 11 ¤á¤ó¤¼¤¤ ÌÈÀÇ #T30 0 ¤á¤ó¤¼¤ó ÌÌÁ° #T35 1 ¤á¤ó¤½ ÌÈÁÅ #T30 0 ¤á¤ó¤½ ÌÈÁÊ #T30 0 ¤á¤ó¤½¤¦ ÌÌÁê #T35 0 ¤á¤ó¤¿¤¤¤³ ÌÀÂÀ»Ò #T35 1 ¤á¤ó¤¿¤ë ¥á¥ó¥¿¥ë #T05 2 ¤á¤ó¤À ÌÈÅÄ #JCN 0 ¤á¤ó¤À¤ó ÌÌÃÌ #T30 4 ¤á¤ó¤Ä ÌÌ»Ò #T35 7 ¤á¤ó¤Æ¤Ê¤ó¤¹ ¥á¥ó¥Æ¥Ê¥ó¥¹ #T30 137 ¤á¤ó¤É¤¦ ¤á¤ó¤É¤¦ #T05 1 ¤á¤ó¤É¤¦ ÌÌÅÝ #T05 82 ¤á¤ó¤É¤¦¤¯¤µ¤¬ ÌÌÅݽ­¤¬ #R5r 0 ¤á¤ó¤É¤¯¤µ ¤á¤ó¤É¤¯¤µ #KY 26 ¤á¤ó¤É¤¯¤µ¤¬ ¤á¤ó¤É¤¯¤µ¤¬ #R5 0 ¤á¤ó¤Ð ¥á¥ó¥Ð #T35 90 ¤á¤ó¤Ð¡¼ ¥á¥ó¥Ð¡¼ #T35 32 ¤á¤ó¤Ü¤¯ ÌÌÌÜ #T35 1 ¤á¤ó¤ß¤Ä ÌÊÌ© #T05 0 ¤á¤ó¤á¤ó ÌÌ¡¹ #T35 3 ¤á¤ó¤â¤¯ ÌÌÌÜ #T35 0 ¤á¤ó¤ë¤¤ ÌÍÎà #T35 0 ¤â ¾Ø #KJ 0 ¤â ÌÎ #KJ 0 ¤â ÌÐ #KJ 0 ¤â ¤â #M5 12 ¤â Ùæ #M5 3 ¤â ±Ì #R5 0 ¤â ϳ #R5 5 ¤â ¤â #R5r 2 ¤â À¹ #R5r 3 ¤â dz #S5 2 ¤â ÌÏ #KJ 0 ¤â ÁÓ #T35 1 ¤â Áô #T35 1 ¤â ¤â #T5 19 ¤â »ý #T5 255 ¤â¡¼¤·¤ç¤ó ¥â¡¼¥·¥ç¥ó #T35 0 ¤â¡¼¤¿ ¥â¡¼¥¿ #T35 2 ¤â¡¼¤¿¡¼ ¥â¡¼¥¿¡¼ #T35 1 ¤â¡¼¤Ä¤¡¤ë¤È ¥â¡¼¥Ä¥¡¥ë¥È #JN 0 ¤â¡¼¤É ¥â¡¼¥É #T35 255 ¤â¡¼¤é ¥â¡¼¥é #T35 0 ¤â¡¼¤ë¤¹ ¥â¡¼¥ë¥¹ #JN 0 ¤â¤¦ ¤â¤¦ #F14 255 ¤â¤¦ ÌÓ #JS 1 ¤â¤¦ Ë´ #KJ 0 ¤â¤¦ ÌÒ #KJ 0 ¤â¤¦ ÌÓ #KJ 0 ¤â¤¦ Ì× #KJ 0 ¤â¤¦ ÌØ #KJ 0 ¤â¤¦ ˾ #KJ 1 ¤â¤¦ ÌÑ #KJ 1 ¤â¤¦ ò³ #KJ 1 ¤â¤¦ ÌÔ #KJ 22 ¤â¤¦ ÌÕ #KJ 3 ¤â¤¦ ÌÖ #KJ 4 ¤â¤¦ ¿½ #S5 66 ¤â¤¦ ÌÖ #SUC 0 ¤â¤¦¤¤ ÌÔ°Ò #T35 0 ¤â¤¦¤« ÌÙ¤« #R5 2 ¤â¤¦¤­¤ó ÌÔ¶Ù #T35 1 ¤â¤¦¤± ÌÙ #KJ 0 ¤â¤¦¤± Àߤ± #KS 31 ¤â¤¦¤± ¤â¤¦¤± #KSr 1 ¤â¤¦¤± ÌÙ¤± #KSr 5 ¤â¤¦¤²¤ó ÌѸÀ #T35 1 ¤â¤¦¤·¤¢¤² ¿½¤·¾å¤² #KS 16 ¤â¤¦¤·¤¢¤ï ¿½¤·¹ç¤ï #S5r 0 ¤â¤¦¤·¤¤¤ì ¿½¤·Æþ¤ì #KSr 0 ¤â¤¦¤·¤¦¤± ¿½¤·¼õ¤± #KSr 0 ¤â¤¦¤·¤³ ¿½¤·¹þ #M5r 65 ¤â¤¦¤·¤³¤ß ¿½¹þ #T35 3 ¤â¤¦¤·¤³¤ß¤·¤ç ¿½¹þ½ñ #T35 24 ¤â¤¦¤·¤¿¤Æ¤·¤ç ¿½Î©½ñ #T35 1 ¤â¤¦¤·¤Ä¤± ¿½¤·¤Ä¤± #KSr 1 ¤â¤¦¤·¤Ç ¿½¤·½Ð #T35 2 ¤â¤¦¤·¤Ö¤ó ¿½¤·Ê¬ #T35 0 ¤â¤¦¤·¤ç ÌÔ½ë #T35 0 ¤â¤¦¤·¤ï¤± ¿½¤·Ìõ #T30 125 ¤â¤¦¤·¤ï¤±¤Ê ¿½¤·Ìõ¤Ê #KY 30 ¤â¤¦¤·¤ï¤±¤Ê¤¬ ¿½¤·Ìõ¤Ê¤¬ #R5 0 ¤â¤¦¤·¤ï¤±¤Î¤¦ ¿½¤·Ìõ¤Î¤¦ #KYU 2 ¤â¤¦¤·¤ï¤¿ ¿½¤·ÅÏ #S5r 0 ¤â¤¦¤·¤ó ÌÕ¿® #T30 0 ¤â¤¦¤¸¤ã Ë´¼Ô #T35 0 ¤â¤¦¤¸¤å¤¦ ÌԽà #T35 1 ¤â¤¦¤¸¤ó ÌÕ¿Í #T35 0 ¤â¤¦¤»¤ó ÌÓÝá #T35 0 ¤â¤¦¤¼¤ó ÌÔÁ³ #F02 0 ¤â¤¦¤½¤¦ ÌÑÁÛ #T30 1 ¤â¤¦¤¿¤¯¤È¤¦ ÌÓÂôÅì #JNS 0 ¤â¤¦¤Á¤ç¤¦ ÌÕIJ #T35 0 ¤â¤¦¤Æ¤ó ÌÕÅÀ #T35 0 ¤â¤¦¤Ç ·Ø¤Ç #KSr 0 ¤â¤¦¤È¤¦ ÌÓÆ¬ #F14 1 ¤â¤¦¤É¤¦¤±¤ó ÌÕÆ³¸¤ #T35 1 ¤â¤¦¤É¤¯ ÌÔÆÇ #T15 0 ¤â¤¦¤Ï¤Ä ÌÓȱ #T35 0 ¤â¤¦¤Ò¤Ä ÌÓÉ® #T35 1 ¤â¤¦¤Õ ÌÓÉÛ #T35 1 ¤â¤¦¤Ü¤µ¤ó¤»¤ó ÌÒÊì»°Á« #T35 0 ¤â¤¦¤Þ¤¯ ÌÖËì #T35 1 ¤â¤¦¤â¤¦ ¤â¤¦¤â¤¦ #F00 1 ¤â¤¦¤â¤¯ ÌÕÌÜ #T15 0 ¤â¤¦¤è¤¦¤¿¤¤ ÌÓÍÍÂÎ #T35 1 ¤â¤¦¤é ÌÖÍå #T30 2 ¤â¤¦¤ê ÌÓÍø #JCN 0 ¤â¤¦¤ì¤Ä ÌÔÎõ #T05 1 ¤â¤¨ ˨¤¨ #KS 0 ¤â¤¨ dz¤¨ #KS 4 ¤â¤¨ ˨ #T35 1 ¤â¤ª¤« ¿¿²¬ #JCN 0 ¤â¤¬¤ß ºÇ¾å #JCN 0 ¤â¤® ÌÐÌÚ #JNS 0 ¤â¤® Ìϵ¼ #T35 0 ¤â¤¯ ÌÛ #KJ 0 ¤â¤¯ ÌÝ #KJ 0 ¤â¤¯ ÌÜ #KJ 4 ¤â¤¯ ÌÚ #KJ 90 ¤â¤¯ ÌÛ #S5 0 ¤â¤¯ ÌÛ #SX 0 ¤â¤¯¤¢¤ß ÌÛ°¤Ìï #T35 0 ¤â¤¯¤²¤­ ÌÜ·â #T30 1 ¤â¤¯¤µ¤Ä ÌÛ»¦ #T30 1 ¤â¤¯¤µ¤ó ÌÜ»» #T30 0 ¤â¤¯¤¶¤¤ ÌÚºà #T35 0 ¤â¤¯¤· ÌÛ»ë #T30 0 ¤â¤¯¤· ÌÜ»Ø #T30 1 ¤â¤¯¤· ÌÜ»ë #T30 1 ¤â¤¯¤¸ Ìܼ¡ #T35 26 ¤â¤¯¤»¤¤ ÌÚÀ± #CNS 1 ¤â¤¯¤¼¤ó ÌÜÁ° #T35 2 ¤â¤¯¤½¤¯ Ìܬ #T30 0 ¤â¤¯¤¾¤¦ ÌÚ¤ #T35 0 ¤â¤¯¤¿¤ó ÌÚú #T35 0 ¤â¤¯¤Æ¤­ ÌÜŪ #T30 121 ¤â¤¯¤Æ¤­¤Á ÌÜŪÃÏ #T35 1 ¤â¤¯¤È¤¦ ÌÛÅø #T30 1 ¤â¤¯¤Ë¤ó ÌÛǧ #T30 0 ¤â¤¯¤Ð ÌÚÇÏ #T35 1 ¤â¤¯¤Ò ÌÛÈë #T30 0 ¤â¤¯¤Ò¤ç¤¦ ÌÜɸ #T35 48 ¤â¤¯¤á ÌÚÌÜ #T35 1 ¤â¤¯¤â¤¯ ÌÛ¡¹ #F00 2 ¤â¤¯¤è¤¦ ÌÚÍË #T35 5 ¤â¤¯¤è¤¦¤Ó ÌÚÍËÆü #T35 27 ¤â¤¯¤ì¤¤ ÌÛÎé #T30 0 ¤â¤¯¤í ÌÜÏÀ #M5 0 ¤â¤¯¤í¤¯ ÌÜÏ¿ #T35 24 ¤â¤¯¤í¤ß ÌÜÏÀ¸« #T35 0 ¤â¤° Àø #R5r 1 ¤â¤°¤ê¤³ ¤â¤°¤ê¹þ #M5r 1 ¤â¤±¤¤ ÌÏ·¿ #T35 0 ¤â¤´¤â¤´ ¤â¤´¤â¤´ #F04 1 ¤â¤µ¤¯ ÌϺ÷ #T30 2 ¤â¤· ¤â¤· #F14 93 ¤â¤·¤« ¤â¤·¤« #T31 24 ¤â¤·¤­ Ìϼ° #T35 2 ¤â¤·¤¯¤Ï ¤â¤·¤¯¤Ï #CJ 16 ¤â¤·¤¿ ÌϤ·¤¿ #RT 0 ¤â¤·¤Æ ÌϤ·¤Æ #F14 0 ¤â¤·¤â¤· ¤â¤·¤â¤· #CJ 0 ¤â¤·¤ã ÌÏ¼Ì #T30 0 ¤â¤·¤ä ¤â¤·¤ä #CJ 1 ¤â¤·¤å ÁÓ¼ç #T35 0 ¤â¤·¤ç¤¦ ÁÓ¾Ï #T35 0 ¤â¤¸ Ìç»Ê #JCN 0 ¤â¤¸ ¤â¤¸ #R5r 6 ¤â¤¸ ʸ»ú #T35 255 ¤â¤¸¤·¤å ʸ»ú¼ï #T35 0 ¤â¤¸¤¹¤¦ ʸ»ú¿ô #T35 0 ¤â¤¸¤Ð¤± ʸ»ú²½¤± #T30 0 ¤â¤¸¤å¡¼¤ë ¥â¥¸¥å¡¼¥ë #T35 133 ¤â¤¸¤ì¤Ä ʸ»úÎó #T35 0 ¤â¤¹¤¯¤ï ¥â¥¹¥¯¥ï #CN 0 ¤â¤º ó¦ #T35 1 ¤â¤º É´Àå #T35 2 ¤â¤º¤¯ ¤â¤º¤¯ #T35 0 ¤â¤»¤¦¤· ËåÇØµí #CN 0 ¤â¤¾¤¦ ÌϤ #T30 0 ¤â¤¾¤â¤¾ ¤â¤¾¤â¤¾ #F04 0 ¤â¤¿¤² ¤â¤¿¤² #KS 1 ¤â¤¿¤é ¤â¤¿¤é #S5 25 ¤â¤À¤¨ Ì夨 #KSr 0 ¤â¤À¤ó ¥â¥À¥ó #T05 0 ¤â¤Á ÌÞ #KJ 0 ¤â¤Á »ý¤Á #T35 0 ¤â¤Á Ìß #T35 0 ¤â¤Á¡¼¤Õ ¥â¥Á¡¼¥Õ #T35 0 ¤â¤Á¤¢¤² »ý¤Á¾å¤² #KSr 5 ¤â¤Á¤¢¤ë »ý¤ÁÊâ #K5r 1 ¤â¤Á¤¢¤ï »ý¤Á¹ç¤ï #S5r 1 ¤â¤Á¤¤ ÍѤ¤ #KS 161 ¤â¤Á¤¬¤» ÍÑÀ¥ #JCN 0 ¤â¤Á¤³ »ý¤Á¹þ #M5r 14 ¤â¤Á¤³ »ý¤Á±Û #S5r 2 ¤â¤Á¤´¤á ÌßÊÆ #T35 0 ¤â¤Á¤µ »ý¤Áµî #R5 0 ¤â¤Á¤À »ýÅÄ #JNS 0 ¤â¤Á¤À »ý¤Á½Ð #S5r 1 ¤â¤Á¤Å¤­ ˾·î #JCN 0 ¤â¤Á¤Å¤­ ˾·î #T35 1 ¤â¤Á¤Ê¤ª »ý¤Áľ #S5r 0 ¤â¤Á¤Ï¤³ »ý¤Á±¿ #B5r 0 ¤â¤Á¤Ï¤À ÌßÈ© #T15 0 ¤â¤Á¤Þ¤ï »ý¤Á²ó #R5r 1 ¤â¤Á¤å¤¦ ÁÓÃæ #T35 0 ¤â¤Á¤è »ý¤Á´ó #R5r 1 ¤â¤Á¤í¤ó ÌÞÏÀ #F14 10 ¤â¤Á¤í¤ó ¤â¤Á¤í¤ó #F14 80 ¤â¤Á¤í¤ó¤Î ¤â¤Á¤í¤ó¤Î #RT 0 ¤â¤Á¤í¤ó¤Î ÌÞÏÀ¤Î #RT 0 ¤â¤Ã¤³¤¦ ÌÚ±» #T35 0 ¤â¤Ã¤³¤¦ ÌÚ¹© #T35 0 ¤â¤Ã¤¿¤¤ ÌÞÂÎ #T35 1 ¤â¤Ã¤¿¤¤ ¤â¤Ã¤¿¤¤ #T35 2 ¤â¤Ã¤¿¤¤¤Ê¤¬ ¤â¤Ã¤¿¤¤¤Ê¤¬ #R5 0 ¤â¤Ã¤Æ¤Î¤Û¤« ¤â¤Ã¤Æ¤Î¤Û¤« #T06 0 ¤â¤Ã¤È ¤â¤Ã¤È #F14 136 ¤â¤Ã¤È¡¼ ¥â¥Ã¥È¡¼ #T35 1 ¤â¤Ã¤È¤â Ìà¤â #CJ 1 ¤â¤Ã¤È¤â ¤â¤Ã¤È¤â #CJ 3 ¤â¤Ã¤È¤â ºÇ¤â #F14 35 ¤â¤Ã¤È¤â Ìà¤â #T05 1 ¤â¤Ã¤È¤â ¤â¤Ã¤È¤â #T05 3 ¤â¤Ã¤Ñ¤é ¤â¤Ã¤Ñ¤é #T06 1 ¤â¤Ã¤Ñ¤é Àì¤é #T06 4 ¤â¤Ä¤ä¤¯ Ë×Ìô #T35 0 ¤â¤Ä¤ì ¤â¤Ä¤ì #KSr 0 ¤â¤Æ¤¢¤½ Ï® #B5 0 ¤â¤Æ¤¢¤Þ »ý¤ÆÍ¾ #S5 1 ¤â¤Æ¤® ÌÐÌÚ #JCN 0 ¤â¤Ç¤£¤Õ¤¡¤¤ ¥â¥Ç¥£¥Õ¥¡¥¤ #T30 1 ¤â¤Ç¤à ¥â¥Ç¥à #T35 77 ¤â¤Ç¤é ¥â¥Ç¥é #T35 2 ¤â¤Ç¤ê¤ó¤° ¥â¥Ç¥ê¥ó¥° #T30 9 ¤â¤Ç¤ë ¥â¥Ç¥ë #T35 164 ¤â¤È ˾ÅÔ #JNS 0 ¤â¤È ËÜ #KJ 19 ¤â¤È µá #M5 0 ¤â¤È ËÜ #PRE 0 ¤â¤È ¸µ #PRE 1 ¤â¤È ¸µ #SUC 0 ¤â¤È ²¼ #T35 22 ¤â¤È ¸µ #T35 255 ¤â¤È ¤â¤È #T35 33 ¤â¤È ÁÇ #T35 4 ¤â¤È ´ð #T35 81 ¤â¤È¤¤ ¤â¤È¤¤ #CJ 0 ¤â¤È¤¤ ´ð #T35 1 ¤â¤È¤¤¤± ËÜÃÓ #JNS 0 ¤â¤È¤¦¤± ¸µÀÁ¤± #T30 0 ¤â¤È¤ª ¸µÉ× #JNM 0 ¤â¤È¤ª¤« ¸µ²¬ #JNS 0 ¤â¤È¤­ ËÜÌÚ #T35 0 ¤â¤È¤³ ÁÇ»Ò #JNM 0 ¤â¤È¤¸¤á ¸µÄù¤á #T30 1 ¤â¤È¤¹ ËÜÁã #JCN 0 ¤â¤È¤»¤ó ¸µÀò #T35 0 ¤â¤È¤À ¸µÅÄ #JNS 0 ¤â¤È¤Á¤ç¤¦ ¸µÄ¢ #T35 0 ¤â¤È¤Å ´ð¤Å #K5 55 ¤â¤È¤Ç ¸µ¼ê #T35 0 ¤â¤È¤É¤ª¤ê ¸µÄ̤ê #T15 1 ¤â¤È¤Í ¸µÃÍ #T35 0 ¤â¤È¤Î ËÜǸ #JCN 0 ¤â¤È¤Ï¤· Ëܶ¶ #JNS 0 ¤â¤È¤Ò¤³ ¸µÉ§ #JNM 0 ¤â¤È¤Ö ËÜÉô #JCN 0 ¤â¤È¤Þ µá¤Þ #R5 5 ¤â¤È¤ß¤ä ËÜµÜ #JCN 0 ¤â¤È¤à¤é Ëܼ #JNS 0 ¤â¤È¤á µá¤á #KSr 69 ¤â¤È¤â¤È ¤â¤È¤â¤È #F14 19 ¤â¤È¤â¤È ¤â¤È¤â¤È #T35 19 ¤â¤È¤â¤È ¸µ¡¹ #T35 9 ¤â¤È¤ä¤Þ ËÜ»³ #JCN 0 ¤â¤È¤æ¤­ ´ðÇ· #JNM 0 ¤â¤È¤è¤· ËÜµÈ #JCN 0 ¤â¤È¤è¤· ´ðÎÉ #JNM 0 ¤â¤È¤è¤· ¸µµÈ #JNM 0 ¤â¤È¤í¡¼¤é ¥â¥È¥í¡¼¥é #KK 2 ¤â¤É Ìá #R5r 248 ¤â¤É Ìá #S5r 182 ¤â¤É¤­ ¤â¤É¤­ #SUC 2 ¤â¤Ë¤¿ ¥â¥Ë¥¿ #T30 20 ¤â¤Ë¤¿¡¼ ¥â¥Ë¥¿¡¼ #T30 20 ¤â¤Ë¤¿¤ê¤ó¤° ¥â¥Ë¥¿¥ê¥ó¥° #T30 4 ¤â¤Î ʪ #D2T35 1 ¤â¤Î ¤â¤Î #T35 160 ¤â¤Î ʪ #T35 255 ¤â¤Î ¼Ô #T35 54 ¤â¤Î ¥â¥Î #T35 8 ¤â¤Î¤¦ ÅíÀ¸ #JCN 0 ¤â¤Î¤ª ÅíÀ¸ #JCN 0 ¤â¤Î¤ª¤­ ʪÃÖ #T35 1 ¤â¤Î¤ª¤È ʪ²» #T35 0 ¤â¤Î¤ª¤â¤¤ ʪ»×¤¤ #T30 0 ¤â¤Î¤«¤­ ʪ½ñ¤­ #T35 0 ¤â¤Î¤¬¤¿ ʪ¸ì #R5 8 ¤â¤Î¤¬¤¿¤ê ʪ¸ì #T35 2 ¤â¤Î¤¬¤Ê¤· ʪÈᤷ #KY 0 ¤â¤Î¤¬¤Ê¤· ¤â¤ÎÈᤷ #KY 1 ¤â¤Î¤¬¤Ê¤·¤å¤¦ ʪÈᤷ¤å¤¦ #KYU 0 ¤â¤Î¤¬¤Ê¤·¤å¤¦ ¤â¤ÎÈᤷ¤å¤¦ #KYU 1 ¤â¤Î¤¯¤í ¥â¥Î¥¯¥í #T15 4 ¤â¤Î¤´¤¤ ʪ¸ð¤¤ #T30 0 ¤â¤Î¤´¤È ʪ»ö #T35 5 ¤â¤Î¤µ¤· ʪº¹¤· #T35 1 ¤â¤Î¤·¤º¤« ʪÀŤ« #T06 0 ¤â¤Î¤·¤ê ʪÃΤê #T15 0 ¤â¤Î¤¹¤´ ¤â¤Î¤¹¤´ #KYmi 0 ¤â¤Î¤¹¤´ ʪÀ¨ #KYmi 0 ¤â¤Î¤¹¤´¤¦ ¤â¤Î¤¹¤´¤¦ #KYU 0 ¤â¤Î¤¹¤´¤¦ ʪÀ¨¤¦ #KYU 0 ¤â¤Î¤º¤­ ʪ¹¥¤­ #T05 1 ¤â¤Î¤¿¤ê¤Ê ʪ­¤ê¤Ê #KY 1 ¤â¤Î¤¿¤ê¤Î¤¦ ÊªÂ­¤ê¤Î¤¦ #KYU 1 ¤â¤Î¤Î¤± ¤â¤Î¤Î¤± #T35 1 ¤â¤Î¤Î¤Ù ʪÉô #JNS 0 ¤â¤Î¤Ù ʪÉô #JCN 0 ¤â¤Î¤Û¤· ʪ´³¤· #T35 1 ¤â¤Î¤á¤º¤é¤· ʪÄÁ¤· #KY 0 ¤â¤Î¤á¤º¤é¤·¤¬ ʪÄÁ¤·¤¬ #R5r 0 ¤â¤Î¤ì¡¼¤ë ¥â¥Î¥ì¡¼¥ë #T35 0 ¤â¤Ï¤ä ºÇÁá #F14 1 ¤â¤Ï¤ä ¤â¤Ï¤ä #F14 13 ¤â¤Ï¤ó ÌÏÈÏ #T35 1 ¤â¤Ð¤é Ìи¶ #JCN 0 ¤â¤Õ¤¯ ÁÓÉþ #T35 1 ¤â¤Û¤¦ ÌÏÊï #T30 0 ¤â¤ß Ìâ #KJ 0 ¤â¤ß¤± ¤â¤ß¾Ã #S5r 0 ¤â¤ß¤± Ùæ¤ß¾Ã #S5r 0 ¤â¤ß¤¸ ³ñ #T35 2 ¤â¤ß¤¸ ¹ÈÍÕ #T35 3 ¤â¤á Ùæ¤á #KS 1 ¤â¤á ¤â¤á #KS 5 ¤â¤á¤´¤È Ùæ¤á»ö #S5r 0 ¤â¤á¤ó ÌÚÌÊ #T35 1 ¤â¤â É´ #KJ 2 ¤â¤â ¸Ô #T35 0 ¤â¤â ÂÜ #T35 0 ¤â¤â Åí #T35 7 ¤â¤â¤¤¤· É´ÀÐ #JCN 0 ¤â¤â¤» É´À¥ #JNS 0 ¤â¤â¤À¤Ë Åíë #JCN 0 ¤â¤â¤ä¤Þ Åí»³ #JCN 0 ¤â¤â¤ó¤¬ ¥â¥â¥ó¥¬ #T35 1 ¤â¤ä dz¤ä #S5 0 ¤â¤ä Êì²° #T35 0 ¤â¤ä ðË #T35 0 ¤â¤ä ¤â¤ä #W5 0 ¤â¤è¤¦ ÌÏÍÍ #T35 4 ¤â¤è¤ª ºÅ #S5r 3 ¤â¤è¤ê ºÇ´ó¤ê #T35 2 ¤â¤é ϳ¤é #S5r 1 ¤â¤é ¤â¤é #W5 222 ¤â¤é Ìã #W5r 31 ¤â¤é¤¤ Ìã #KJ 0 ¤â¤é¤È¤ê¤¢¤à ¥â¥é¥È¥ê¥¢¥à #T35 0 ¤â¤é¤ë ¥â¥é¥ë #T35 2 ¤â¤ê ¿¹ #JCN 0 ¤â¤ê ¼é #T30 2 ¤â¤ê ÅÎ #T35 0 ¤â¤ê ¿¹ #T35 72 ¤â¤ê¤¢¤¬ À¹¤ê¾å¤¬ #R5r 8 ¤â¤ê¤¢¤² À¹¤ê¾å¤² #KSr 2 ¤â¤ê¤ª ¼éÃË #JNM 0 ¤â¤ê¤ª À¹É× #JNM 0 ¤â¤ê¤ª À¹Íº #JNM 0 ¤â¤ê¤ª¤« À¹²¬ #JCN 0 ¤â¤ê¤ª¤« ¿¹²¬ #JNS 0 ¤â¤ê¤ª¤«¤· À¹²¬»Ô #CNS 0 ¤â¤ê¤«¤¨ À¹¤ê¤«¤¨ #S5r 1 ¤â¤ê¤«¤ï ¿¹Àî #JNS 0 ¤â¤ê¤°¤Á ¼é¸ý #JCN 0 ¤â¤ê¤°¤Á ¿¹¸ý #JNS 0 ¤â¤ê¤³ À¹¤ê¹þ #M5r 3 ¤â¤ê¤µ¤­ ¿¹ºê #JNS 0 ¤â¤ê¤·¤¿ ¿¹²¼ #JCN 0 ¤â¤ê¤·¤Þ ¿¹Åç #JNS 0 ¤â¤ê¤·¤Þ ¿¹Åè #JNS 0 ¤â¤ê¤¿ ¿¹ÅÄ #JCN 0 ¤â¤ê¤¿ À¹ÅÄ #JNS 0 ¤â¤ê¤¿¤« ¿¹¹â #JNS 0 ¤â¤ê¤¿¤Æ À¹¤êΩ¤Æ #KSr 0 ¤â¤ê¤È¤â ¼éͧ #JNS 0 ¤â¤ê¤Ê¤¬ ¿¹±Ê #JNS 0 ¤â¤ê¤Î ¿¹Ìî #JNS 0 ¤â¤ê¤Ò¤³ ¼éɧ #JNM 0 ¤â¤ê¤Ò¤í ¼é¹° #JNM 0 ¤â¤ê¤Ù ¿¹Éô #JNS 0 ¤â¤ê¤à¤é ¿¹Â¼ #JNS 0 ¤â¤ê¤â¤È ¿¹ËÜ #JCN 0 ¤â¤ê¤ä ¼é²° #JNS 0 ¤â¤ê¤ä ¼éë #JNS 0 ¤â¤ê¤ä ¿¹Ã« #JNS 0 ¤â¤ê¤ä¤Þ ¼é»³ #JCN 0 ¤â¤ê¤ä¤Þ ¿¹»³ #JCN 0 ¤â¤ê¤è¤· ¿¹µÈ #JCN 0 ¤â¤ê¤ï¤­ ¿¹ÏÆ #JNS 0 ¤â¤ë¤â¤Ã¤È ¥â¥ë¥â¥Ã¥È #T35 1 ¤â¤ì ±Ì¤ì #KSr 9 ¤â¤ì¤·¤ã¤ó ¥â¥ì¥·¥ã¥ó #JN 0 ¤â¤ì¤Ê¤¯ ¤â¤ì¤Ê¤¯ #F14 0 ¤â¤í ÀÈ #KY 1 ¤â¤í ¤â¤í #T35 0 ¤â¤í ½ô #T35 2 ¤â¤í¤¦ ÀȤ¦ #KYU 1 ¤â¤í¤«¤¿ ½ô¸© #JNS 0 ¤â¤í¤º¤ß ½ô³Ñ #JNS 0 ¤â¤í¤Ä¤« ½ôÄÍ #JCN 0 ¤â¤í¤É¤ß ½ôÉÙ #JCN 0 ¤â¤í¤Ü¤· ½ôÀ± #JNS 0 ¤â¤í¤ß ¤â¤í¤ß #T35 0 ¤â¤í¤â¤í ½ô¡¹ #T35 2 ¤â¤í¤ä¤Þ ÌÓϤ»³ #JCN 0 ¤â¤ó Ìä #JS 9 ¤â¤ó Ìä #KJ 1 ¤â¤ó Ìå #KJ 1 ¤â¤ó ʹ #KJ 2 ¤â¤ó ʸ #KJ 6 ¤â¤ó Ìæ #T35 1 ¤â¤ó Ìç #T35 24 ¤â¤ó¤« Ìç²¼ #T35 1 ¤â¤ó¤«¤·¤ç¤¦ ʸ²Ê¾Ê #KK 0 ¤â¤ó¤¬¤¤¤«¤ó Ìç³°´Á #T35 2 ¤â¤ó¤­¤ê¤¬¤¿ ÌæÀڤ귿 #T05 1 ¤â¤ó¤¯ ʸ¶ç #T35 29 ¤â¤ó¤²¤ó Ìç¸Â #T35 0 ¤â¤ó¤· Ìå»à #T30 0 ¤â¤ó¤· Ìç»õ #T35 0 ¤â¤ó¤·¤ç¤¦ Ìæ¾Ï #T35 1 ¤â¤ó¤·¤ó Ìä¿Ç #T30 0 ¤â¤ó¤¸¤å ʸ¼î #T35 1 ¤â¤ó¤¹¤¿¡¼ ¥â¥ó¥¹¥¿¡¼ #T35 1 ¤â¤ó¤¼¤ó ÌçÁ° #JCN 0 ¤â¤ó¤¼¤ó ÌçÁ° #T35 0 ¤â¤ó¤¿¡¼¤¸¤å ¥â¥ó¥¿¡¼¥¸¥å #T30 0 ¤â¤ó¤À¤¤ ÌäÂê #T15 255 ¤â¤ó¤À¤¤¤Æ¤ó ÌäÂêÅÀ #T35 77 ¤â¤ó¤À¤¤¤Ê ÌäÂê¤Ê #KY 0 ¤â¤ó¤Á¤ã¤¯ ÌåÃå #T30 1 ¤â¤ó¤Ä¤­ ÌæÉÕ #T35 0 ¤â¤ó¤Æ¤¤ ÌçÄï #T35 0 ¤â¤ó¤Æ¤«¤ë¤í ¥â¥ó¥Æ¥«¥ë¥í #CN 0 ¤â¤ó¤È¤ê¤ª¡¼¤ë ¥â¥ó¥È¥ê¥ª¡¼¥ë #CN 0 ¤â¤ó¤É Ìç¸Í #JNS 0 ¤â¤ó¤É¤¦ ÌäÅú #T30 1 ¤â¤ó¤É¤ê¤¦ ¤â¤ó¤É¤êÂÇ #T5 0 ¤â¤ó¤Ð¤Ä Ìçȶ #T35 0 ¤â¤ó¤Ð¤ó ÌçÈÖ #T30 0 ¤â¤ó¤Ô¤ç¤¦ Ìçɸ #T35 0 ¤â¤ó¤Ö ʸÉô #T35 2 ¤â¤ó¤Ö¤«¤¬¤¯¤·¤ç¤¦ ʸÉô²Ê³Ø¾Ê #KK 0 ¤â¤ó¤Ö¤·¤ç¤¦ ʸÉô¾Ê #KK 3 ¤â¤ó¤Ù¤Ä ÌæÊÌ #CN 0 ¤â¤ó¤Ù¤Ä ÌçÊÌ #CN 0 ¤â¤ó¤á Ìè #JS 1 ¤â¤ó¤á Ìè #T35 1 ¤â¤ó¤è¤¦ ʸÍÍ #T35 1 Canna37p3/dic/ideo/pubdic/n.p0100644000076500001200000011036307735225677015240 0ustar shinraadmin¤Ê Æä #G5r 0 ¤Ê ÌÄ #K5 7 ¤Ê µã #K5r 82 ¤Ê ²Ø #KJ 0 ¤Ê Ǽ #KJ 0 ¤Ê Æá #KJ 2 ¤Ê Æà #KJ 9 ¤Ê ̵ #KY 255 ¤Ê ¤Ê #KY 99 ¤Ê Ë´ #KY 0 ¤Ê À® #R5 12 ¤Ê ¤Ê #R5 255 ¤Ê ÌÄ #R5r 5 ¤Ê À® #S5 0 ¤Ê °Ù #S5 1 ¤Ê ¤Ê #S5 8 ¤Ê ºÚ #T35 11 ¤Ê ̾ #T35 154 ¤Ê¤¤ Æâ #SUC 255 ¤Ê¤¤ Æâ #T35 2 ¤Ê¤¤¡¼¤Ö ¥Ê¥¤¡¼¥Ö #T05 1 ¤Ê¤¤¤¢¤¬¤é ¥Ê¥¤¥¢¥¬¥é #CN 0 ¤Ê¤¤¤¤¤ó¤»¤¤ Æâ°øÀ­ #T35 1 ¤Ê¤¤¤¨ Æà°æ¹¾ #JCN 0 ¤Ê¤¤¤« Æâ²Ê #T35 2 ¤Ê¤¤¤«¤¤ Æâ²Ê°å #T35 0 ¤Ê¤¤¤«¤¯ Æâ³Ñ #T35 0 ¤Ê¤¤¤«¤¯ Æâ³Õ #T35 2 ¤Ê¤¤¤¬¤¤ Æâ³° #T35 3 ¤Ê¤¤¤¬¤·¤í ÊΤí #T35 0 ¤Ê¤¤¤­¤ç¤¯ Æâ¶É #T35 0 ¤Ê¤¤¤­¤ó Æâ¶Ð #T30 0 ¤Ê¤¤¤³¤¦ Æâ¸þ #T30 0 ¤Ê¤¤¤³¤¯ Æâ¹ñ #T35 0 ¤Ê¤¤¤µ¤¤¤Ü¤¦¤«¤¤ ÆâºÙ˦²ô #T35 1 ¤Ê¤¤¤¶¤¤ Æâºß #T30 1 ¤Ê¤¤¤· ¤Ê¤¤¤· #CJ 0 ¤Ê¤¤¤· ǵ»ê #CJ 0 ¤Ê¤¤¤·¤­¤ç¤¦ Æâ»ë¶À #T35 0 ¤Ê¤¤¤·¤Ï ¤Ê¤¤¤·¤Ï #CJ 1 ¤Ê¤¤¤·¤å¤Ã¤±¤Ä Æâ½Ð·ì #T30 0 ¤Ê¤¤¤·¤ç ¥Ê¥¤¥·¥ç #T15 0 ¤Ê¤¤¤·¤ç Æâ½ï #T15 11 ¤Ê¤¤¤·¤ç¤¯ Æâ¿¦ #T30 1 ¤Ê¤¤¤·¤ó Æâ¿½ #T30 0 ¤Ê¤¤¤·¤ó Æâ¿Ç #T30 0 ¤Ê¤¤¤·¤ó Æâ¿´ #T35 1 ¤Ê¤¤¤·¤ó¤Î¤¦ Æâ¿Æ²¦ #T35 0 ¤Ê¤¤¤¸ Æâ¼¨ #T30 2 ¤Ê¤¤¤¸¤Ä Æâ¼Â #T35 0 ¤Ê¤¤¤¸¤å Æâ¼û #T35 1 ¤Ê¤¤¤¸¤ç¤¦ Æâ¾ð #T35 0 ¤Ê¤¤¤»¤¤ Æâ¾Ê #T30 1 ¤Ê¤¤¤»¤¤ ÆâÀ¼ #T35 0 ¤Ê¤¤¤»¤¤ ÆâÀ¯ #T35 1 ¤Ê¤¤¤»¤­ ÆâÀÑ #T35 1 ¤Ê¤¤¤»¤Ä ÆâÀÜ #T30 1 ¤Ê¤¤¤»¤ó ÆâÀï #T35 2 ¤Ê¤¤¤»¤ó ÆâÀþ #T35 28 ¤Ê¤¤¤½¤¦ ÆâÁØ #T35 1 ¤Ê¤¤¤½¤¦ ÆâÁõ #T35 1 ¤Ê¤¤¤½¤¯ Æâ¦ #T35 1 ¤Ê¤¤¤¾¤¦ Æâ¢ #T30 13 ¤Ê¤¤¤¾¤¦ Æâ¡ #T35 0 ¤Ê¤¤¤À¤¯ ÆâÂú #T30 0 ¤Ê¤¤¤Á ÆâÃÏ #T35 0 ¤Ê¤¤¤Æ¤¤ ÆâÄê #T30 3 ¤Ê¤¤¤Æ¤­ ÆâŪ #T15 0 ¤Ê¤¤¤È ¥Ê¥¤¥È #T35 7 ¤Ê¤¤¤È¤¦ ÆâÆ£ #JCN 0 ¤Ê¤¤¤Ï¤Ä Æâȯ #T30 0 ¤Ê¤¤¤Õ ¥Ê¥¤¥Õ #T35 1 ¤Ê¤¤¤Õ¤ó Æâʶ #T35 0 ¤Ê¤¤¤Ö ÆâÉô #T35 144 ¤Ê¤¤¤Ö¤ó¤Ô¤Ä¤±¤¤ ÆâʬÈç·Ï #T35 1 ¤Ê¤¤¤Û¤¦ ÆâÊñ #T30 0 ¤Ê¤¤¤ß¤Ä ÆâÌ© #T05 0 ¤Ê¤¤¤á¤ó ÆâÌÌ #T35 1 ¤Ê¤¤¤ä¤¯ ÆâÌó #T30 0 ¤Ê¤¤¤æ¤¦ ÆâÍ« #T35 0 ¤Ê¤¤¤è¤¦ ÆâÍÆ #T35 255 ¤Ê¤¤¤é¤ó ÆâÍð #T35 0 ¤Ê¤¤¤ê¤¯ ÆâΦ #T35 0 ¤Ê¤¤¤ê¤ç¤¯ ÆâÎÏ #T35 0 ¤Ê¤¤¤í¤ó ¥Ê¥¤¥í¥ó #T35 0 ¤Ê¤¦ ¥Ê¥¦ #KY 1 ¤Ê¤¨ °à¤¨ #KS 1 ¤Ê¤¨ ÉÄ #T35 1 ¤Ê¤¨¤Ð Éľì #JCN 0 ¤Ê¤ª ¾° #CJ 1 ¤Ê¤ª ¤Ê¤ª #CJ 72 ¤Ê¤ª ͱ #F14 2 ¤Ê¤ª ľ #JNM 0 ¤Ê¤ª Æà½ï #JNM 0 ¤Ê¤ª ¾° #KJ 10 ¤Ê¤ª ¤Ê¤ª #R5r 1 ¤Ê¤ª ľ #R5r 168 ¤Ê¤ª ¼£ #R5r 53 ¤Ê¤ª ľ #S5r 255 ¤Ê¤ª ¼£ #S5r 52 ¤Ê¤ª ¤Ê¤ª #S5r 8 ¤Ê¤ª¤¤ ľ°æ #JNM 0 ¤Ê¤ª¤¤¤ê ľÆþ #JCN 0 ¤Ê¤ª¤¨ ľ¹¾ #JCN 0 ¤Ê¤ª¤¨¤Ä ľ¹¾ÄÅ #JCN 0 ¤Ê¤ª¤«¤ï ľÀî #JCN 0 ¤Ê¤ª¤­ ¾°µª #JNM 0 ¤Ê¤ª¤­ ľ¼ù #JNM 0 ¤Ê¤ª¤­¤Á ľµÈ #JNM 0 ¤Ê¤ª¤³ ¾°»Ò #JNM 0 ¤Ê¤ª¤³ ľ»Ò #JNM 0 ¤Ê¤ª¤³ ÆàÊÝ»Ò #JNM 0 ¤Ê¤ª¤µ¤é ¤Ê¤ª¤µ¤é #F14 2 ¤Ê¤ª¤µ¤é ¤Ê¤ª¤µ¤é #T36 0 ¤Ê¤ª¤·¤Þ ľÅç #JCN 0 ¤Ê¤ª¤¸ ľ¼£ #JNM 0 ¤Ê¤ª¤¿ ľÅÄ #JNS 0 ¤Ê¤ª¤¿¤± ¾°Éð #JNM 0 ¤Ê¤ª¤È ľ¿Í #JNM 0 ¤Ê¤ª¤Ï¤é ͱ¸¶ #JNS 0 ¤Ê¤ª¤Ò¤µ ¾°µ× #JNM 0 ¤Ê¤ª¤ß ¾°Èþ #JNM 0 ¤Ê¤ª¤ß ľÈþ #JNM 0 ¤Ê¤ª¤â ¤Ê¤ª¤â #F14 1 ¤Ê¤ª¤ä ľÌé #JNM 0 ¤Ê¤ª¤æ¤­ ľ¹Ô #JNM 0 ¤Ê¤ª¤è¤· ľµÁ #JNM 0 ¤Ê¤« Ãæ #CNPRE 0 ¤Ê¤« Ãæ #JCN 0 ¤Ê¤« Æá²Ñ #JCN 0 ¤Ê¤« Æá²ì #JCN 0 ¤Ê¤« ¥Ê¥« #JN 0 ¤Ê¤« Ãç #T35 18 ¤Ê¤« Ãæ #T35 209 ¤Ê¤« ¤Ê¤« #T35 6 ¤Ê¤«¤¤ Ãæ°æ #JCN 0 ¤Ê¤«¤¤ Ãçµï #T35 0 ¤Ê¤«¤¤¤º Ãæ°ËƦ #CN 0 ¤Ê¤«¤¦¤ª¤Ì¤Þ Ãæµû¾Â #CN 0 ¤Ê¤«¤ª ÃæÈø #JCN 0 ¤Ê¤«¤«¤ï¤Í ÃæÀ #JCN 0 ¤Ê¤«¤«¤ó¤Ð¤é Ãæ³÷¸¶ #CN 0 ¤Ê¤«¤¬¤¤ ÃçÇã #T30 0 ¤Ê¤«¤¬¤ß ÃæÆ¬ #JCN 0 ¤Ê¤«¤¬¤ï Æá²ìÀî #CN 0 ¤Ê¤«¤¬¤ï ÃæÀî #JCN 0 ¤Ê¤«¤­¤¿ ÃæÍèÅÄ #JNS 0 ¤Ê¤«¤®¤ç¤¦ Ãæµþ #CN 0 ¤Ê¤«¤¯¤Ó¤­ Ãæ·Û¾ë #JCN 0 ¤Ê¤«¤°¤¹¤¯ Ãæ¾ë #JCN 0 ¤Ê¤«¤³¤Þ ÃæµðËà #CN 0 ¤Ê¤«¤´¤¦ Ãæ¶¿ #CN 0 ¤Ê¤«¤´¤á Ãæ¹þ #JNS 0 ¤Ê¤«¤´¤í Ãæ¤´¤í #T35 1 ¤Ê¤«¤µ¤Ä¤Ê¤¤ Ãæ»¥Æâ #CN 0 ¤Ê¤«¤µ¤È ÃæÎ¤ #JCN 0 ¤Ê¤«¤¶¤È ÃæÎ¤ #JCN 0 ¤Ê¤«¤¶¤È ÃçΤ #JCN 0 ¤Ê¤«¤¶¤ï ÃæÂô #JNS 0 ¤Ê¤«¤·¤Ù¤Ä ÃæÉ¸ÄÅ #CN 0 ¤Ê¤«¤·¤Þ ÃæÅç #JNS 0 ¤Ê¤«¤¸¤Þ ÃæÅç #JCN 0 ¤Ê¤«¤¸¤Þ ÃæÅè #JNS 0 ¤Ê¤«¤¸¤ç¤¦ Ãæ¾ò #JCN 0 ¤Ê¤«¤¹¤¸ Ãæ¶Ú #T35 4 ¤Ê¤«¤»¤ó ÃæÀç #JCN 0 ¤Ê¤«¤½¤Í ÃæÁ¾º¬ #JNS 0 ¤Ê¤«¤¿ ÃæÅÄ #JCN 0 ¤Ê¤«¤¿ ÃçÅÄ #JNS 0 ¤Ê¤«¤¿¤¬¤¤ Ã礿¤¬¤¤ #T30 0 ¤Ê¤«¤¿¤É Ãç¿ÅÙ #JCN 0 ¤Ê¤«¤¿¤Ë ÃæÃ« #JNS 0 ¤Ê¤«¤¿¤Ë Ãçë #JNS 0 ¤Ê¤«¤¿¤Í Ãæ¼ï»Ò #JNS 0 ¤Ê¤«¤À ÃæÅÄ #JCN 0 ¤Ê¤«¤À ÃçÅÄ #JNS 0 ¤Ê¤«¤À¤¤¤é ÃæÊ¿ #JNS 0 ¤Ê¤«¤À¤Á ÃçΩ¤Á #T30 0 ¤Ê¤«¤À¤Á ÇÞ #T35 0 ¤Ê¤«¤À¤ë¤ß Ãæ¤À¤ë¤ß #T10 0 ¤Ê¤«¤Ä ÃæÄÅ #JCN 0 ¤Ê¤«¤Ä¤¨ ÃæÄŹ¾ #JCN 0 ¤Ê¤«¤Ä¤¬¤ë ÃæÄÅ·Ú #CN 0 ¤Ê¤«¤Ä¤¬¤ï ÃæÄÅÀî #JCN 0 ¤Ê¤«¤Ä¤® Ãæ·Ñ¤® #T30 1 ¤Ê¤«¤Æ¤ó ¥Ê¥«¥Æ¥ó #T35 5 ¤Ê¤«¤Ç Ãæ½Ð #JNS 0 ¤Ê¤«¤È¤­ Ãæ»þ #JNS 0 ¤Ê¤«¤È¤µ ÃæÅÚº´ #CN 0 ¤Ê¤«¤È¤ß ÃæÉÙ #JCN 0 ¤Ê¤«¤È¤ó¤Ù¤Ä ÃæÆÜÊÌ #CN 0 ¤Ê¤«¤Ê¤ª¤ê Ã群ê #T30 1 ¤Ê¤«¤Ê¤« ¤Ê¤«¤Ê¤« #F14 62 ¤Ê¤«¤Ê¤« ¤Ê¤«¤Ê¤« #T36 0 ¤Ê¤«¤Ë ¤Ê¤«¤Ë #F14 0 ¤Ê¤«¤Ë¤¤¤«¤ï Ãæ¿·Àî #CN 0 ¤Ê¤«¤Ë¤¤¤À Ãæ¿·ÅÄ #CN 0 ¤Ê¤«¤Ë¤· ÃæÀ¾ #JNS 0 ¤Ê¤«¤Ë¤Ï Ãæ¤Ë¤Ï #F14 0 ¤Ê¤«¤Ë¤â Ãæ¤Ë¤â #F14 0 ¤Ê¤«¤Ë¤ï ÃæÄí #T35 1 ¤Ê¤«¤Í Ãæº¬ #JCN 0 ¤Ê¤«¤Î ÃæÌî #JCN 0 ¤Ê¤«¤Î¤¯¤Á ÃæÇ·¸ý #JCN 0 ¤Ê¤«¤Î¤·¤Þ ÃæÇ·Åç #CN 0 ¤Ê¤«¤Î¤¸¤ç¤¦ ÃæÇ·¾ò #JCN 0 ¤Ê¤«¤Ï¤é Ãæ¸¶ #JCN 0 ¤Ê¤«¤Ð Ⱦ¤Ð #T35 3 ¤Ê¤«¤Ð¤ä¤· ÃæÎÓ #JNS 0 ¤Ê¤«¤Ð¤ë Ãæ¸¶ #JCN 0 ¤Ê¤«¤Õ¤é¤Î ÃæÉÙÎÉÌî #CN 0 ¤Ê¤«¤Ø¤¸ ÃæÊÕÏ© #JCN 0 ¤Ê¤«¤Û¤É ÃæÄø #T35 0 ¤Ê¤«¤Þ Ãæ´Ö #JCN 0 ¤Ê¤«¤Þ Ãæ´Ö #T35 0 ¤Ê¤«¤Þ Ãç´Ö #T35 13 ¤Ê¤«¤Þ¤Á ÃæÄ® #JCN 0 ¤Ê¤«¤ß Ãæ¿È #T35 42 ¤Ê¤«¤ß¤Á ÃæÆ» #JCN 0 ¤Ê¤«¤ß¤Á ÃçÆ» #JNS 0 ¤Ê¤«¤ß¤Ê¤È Æá²ÑÌ« #CN 0 ¤Ê¤«¤à¤é ÃæÂ¼ #JCN 0 ¤Ê¤«¤à¤é Ãç¼ #JNS 0 ¤Ê¤«¤â¤È ÃæËÜ #JNS 0 ¤Ê¤«¤ä ÃæÃ« #JCN 0 ¤Ê¤«¤ä¤Þ Ãæ»³ #JCN 0 ¤Ê¤«¤æ¤Ó Ãæ»Ø #T35 0 ¤Ê¤«¤è ÃçÎÉ #KY 3 ¤Ê¤«¤è¤¦ ÃçÎɤ¦ #KYU 1 ¤Ê¤«¤è¤· ÃçÎɤ· #T15 1 ¤Ê¤«¤ó¤º¤¯ ¤Ê¤«¤ó¤º¤¯ #CJ 0 ¤Ê¤«¤ó¤Å¤¯ ¤Ê¤«¤ó¤Å¤¯ #CJ 0 ¤Ê¤¬ Æá²ì #JCN 0 ¤Ê¤¬ ̾²ì #JNS 0 ¤Ê¤¬ ±Ê #KJ 0 ¤Ê¤¬ Ĺ #KJ 0 ¤Ê¤¬ ±Ê #KY 12 ¤Ê¤¬ Ĺ #KYme 255 ¤Ê¤¬ ή #S5r 77 ¤Ê¤¬¤¢¤á ű« #T35 0 ¤Ê¤¬¤¤ ±Ê°æ #JCN 0 ¤Ê¤¬¤¤ Űæ #JCN 0 ¤Ê¤¬¤¤ ŵï #T30 9 ¤Ê¤¬¤¤¤­ ĹÀ¸¤­ #T10 1 ¤Ê¤¬¤¤¤º¤ß ĹÀô #JCN 0 ¤Ê¤¬¤¦¤¿ ű´ #T35 0 ¤Ê¤¬¤ª Ä¹Èø #JCN 0 ¤Ê¤¬¤ª¤« Ĺ²¬ #JCN 0 ¤Ê¤¬¤ª¤«¤­¤ç¤¦ Ĺ²¬µþ #CN 0 ¤Ê¤¬¤¯¤Æ Ĺµ×¼ê #JCN 0 ¤Ê¤¬¤°¤Ä Ĺ·¤ #T35 0 ¤Ê¤¬¤µ¤« Ĺºä #JCN 0 ¤Ê¤¬¤µ¤­ Ĺºê #JCN 0 ¤Ê¤¬¤µ¤­¤±¤ó Ĺºê¸© #CNS 0 ¤Ê¤¬¤µ¤­¤· Ĺºê»Ô #CNS 0 ¤Ê¤¬¤µ¤ï ĹÂô #JCN 0 ¤Ê¤¬¤·¤³ ή¤·¹þ #M5r 2 ¤Ê¤¬¤·¤Þ ĹÅç #JCN 0 ¤Ê¤¬¤·¤Þ ±ÊÅç #JNS 0 ¤Ê¤¬¤·¤Þ ±ÊÅè #JNS 0 ¤Ê¤¬¤·¤Þ ĹÅè #JNS 0 ¤Ê¤¬¤·¤è¤ß ή¤·ÆÉ¤ß #T30 0 ¤Ê¤¬¤¹ Ĺ½§ #JCN 0 ¤Ê¤¬¤¹¤® Ĺ²á¤® #KS 9 ¤Ê¤¬¤» ±ÊÀ¥ #JCN 0 ¤Ê¤¬¤» ĹÀ¥ #JCN 0 ¤Ê¤¬¤½¤Ç ŵ #T35 1 ¤Ê¤¬¤¿ ±ÊÅÄ #JCN 0 ¤Ê¤¬¤¿ ĹÅÄ #JCN 0 ¤Ê¤¬¤¿¤é¤· Ť¿¤é¤· #KY 0 ¤Ê¤¬¤¿¤é¤·¤å¤¦ Ť¿¤é¤·¤å¤¦ #KYU 0 ¤Ê¤¬¤Á¤ç¤¦¤Ð ĹÃú¾ì #T35 0 ¤Ê¤¬¤Ä¤­ Ĺ·î #T35 0 ¤Ê¤¬¤Ä¤À ĹÄÅÅÄ #JCN 0 ¤Ê¤¬¤Ä¤Å¤­ Ĺ³¤­ #T10 0 ¤Ê¤¬¤È ĹÌç #JCN 0 ¤Ê¤¬¤È¤í ĹÆÔ #JCN 0 ¤Ê¤¬¤Ê¤¬ Ĺ¡¹ #F06 3 ¤Ê¤¬¤Ê¤¬ Ĺ¡¹ #T36 0 ¤Ê¤¬¤Ì¤Þ Ĺ¾Â #JCN 0 ¤Ê¤¬¤Í¤ó ±Êǯ #T35 1 ¤Ê¤¬¤Í¤ó Ĺǯ #T35 3 ¤Ê¤¬¤Î ĹÌî #JCN 0 ¤Ê¤¬¤Î ±ÊÌî #JNS 0 ¤Ê¤¬¤Î ±Ê¤Î #RT 0 ¤Ê¤¬¤Î¤±¤ó ĹÌ #CNS 0 ¤Ê¤¬¤Î¤· ĹÌî»Ô #CNS 0 ¤Ê¤¬¤Î¤Ï¤é ĹÌ #JCN 0 ¤Ê¤¬¤Ï¤Þ ĹÉÍ #JCN 0 ¤Ê¤¬¤Ð¤Ê¤· ĹÏà #T30 0 ¤Ê¤¬¤Ó Űú #K5 3 ¤Ê¤¬¤Ö¤Á Ĺʥ #JNS 0 ¤Ê¤¬¤Ö¤Á Ĺ޼ #JNS 0 ¤Ê¤¬¤Þ¤Ä ±Ê¾¾ #JNS 0 ¤Ê¤¬¤á į¤á #KSr 14 ¤Ê¤¬¤â¤Á Ĺ»ý¤Á #T10 1 ¤Ê¤¬¤ä Ĺ²° #T35 1 ¤Ê¤¬¤ä¤Þ ±Ê»³ #JCN 0 ¤Ê¤¬¤è ĹͿ #JCN 0 ¤Ê¤¬¤é ĹÊÁ #JCN 0 ¤Ê¤¬¤é Æã #KJ 1 ¤Ê¤¬¤é¤¯ Ĺ¤é¤¯ #F14 5 ¤Ê¤¬¤é¤¯ Ĺ¤é¤¯ #T36 0 ¤Ê¤¬¤ì ή¤ì #KSr 115 ¤Ê¤¬¤ì¤³ ή¤ì¹þ #M5r 1 ¤Ê¤¬¤ì¤À ή¤ì½Ð #S5r 1 ¤Ê¤¬¤ì¤ä¤Þ ή»³ #JCN 0 ¤Ê¤¬¤ï ÆàÀî #JCN 0 ¤Ê¤¬¤ï ̾Àî #JCN 0 ¤Ê¤­¤¸¤ó º£µ¢¿Î #CN 0 ¤Ê¤® ÆàµÁ #JNS 0 ¤Ê¤® Æä #T35 1 ¤Ê¤® Æå #T35 1 ¤Ê¤®¤µ ½í #T35 1 ¤Ê¤®¤½ ÆîÌÚÁ½ #CN 0 ¤Ê¤¯ Ë´¤¯ #S5 0 ¤Ê¤¯ ̵¤¯ #S5 11 ¤Ê¤¯ ¤Ê¤¯ #S5 6 ¤Ê¤¯¤Ê Ë´¤¯¤Ê #R5 16 ¤Ê¤¯¤Ê ̵¤¯¤Ê #R5 3 ¤Ê¤° ²¥ #R5 3 ¤Ê¤°¤µ °Ö #M5r 1 ¤Ê¤°¤µ¤á °Ö¤á #KSr 2 ¤Ê¤°¤â Æî±À #JNS 0 ¤Ê¤°¤ê ̾·ª #JCN 0 ¤Ê¤² ò #K5 2 ¤Ê¤² Åꤲ #KS 9 ¤Ê¤²¤¤¤ì ÅꤲÆþ¤ì #KSr 1 ¤Ê¤²¤«¤± Åꤲ¤«¤± #KS 0 ¤Ê¤²¤«¤ï¤· ò¤«¤ï¤· #KY 0 ¤Ê¤²¤«¤ï¤·¤å¤¦ ò¤«¤ï¤·¤å¤¦ #KYU 0 ¤Ê¤²¤³ Åꤲ¹þ #M5r 0 ¤Ê¤²¤À Åꤲ½Ð #S5 1 ¤Ê¤²¤Ä¤± Åꤲ¤Ä¤± #KSr 1 ¤Ê¤²¤ä¤ê Åꤲ¤ä¤ê #T05 2 ¤Ê¤³¤¦¤É Ãç¿Í #T35 1 ¤Ê¤´ ̾¸î #CN 0 ¤Ê¤´ Ï #M5 1 ¤Ê¤´¤¦ ±Ê¤¦ #KYU 2 ¤Ê¤´¤¦ Ť¦ #KYU 3 ¤Ê¤´¤ä ̾¸Å²° #JCN 0 ¤Ê¤´¤ä ̾±Û #JNS 0 ¤Ê¤´¤ä¤« Ϥ䤫 #T05 1 ¤Ê¤´¤ä¤· ̾¸Å²°»Ô #CNS 0 ¤Ê¤´¤ê ̾»Ä #T35 2 ¤Ê¤´¤ê¤ª¤· ̾»ÄÀˤ· #KY 1 ¤Ê¤´¤ê¤ª¤·¤å¤¦ ̾»ÄÀˤ·¤å¤¦ #KYU 1 ¤Ê¤µ ¤Ê¤µ #L5 124 ¤Ê¤µ¤± ¾ð¤± #T35 0 ¤Ê¤µ¤±¤Ê ¾ð¤Ê #KY 2 ¤Ê¤µ¤±¤Ê ¾ð¤±¤Ê #KY 4 ¤Ê¤µ¤±¤Î¤¦ ¾ð¤±¤Î¤¦ #KYU 1 ¤Ê¤µ¤±¤Î¤¦ ¾ð¤Î¤¦ #KYU 1 ¤Ê¤µ¤±¤Ö¤« ¾ð¤±¿¼ #KY 0 ¤Ê¤µ¤±¤Ö¤³¤¦ ¾ð¤±¿¼¤¦ #KYU 0 ¤Ê¤µ¤½¤¦ ̵¤µ¤½¤¦ #T05 0 ¤Ê¤µ¤½¤¦ ¤Ê¤µ¤½¤¦ #T05 8 ¤Ê¤¶¤· ̾»Ø¤· #T30 3 ¤Ê¤· Íü #T35 1 ¤Ê¤· ̵¤· #T35 128 ¤Ê¤· ¤Ê¤· #T35 44 ¤Ê¤·¤È¤² À®¤·¿ë¤² #KS 3 ¤Ê¤·¤Î¤Ä¤Ö¤Æ ¤Ê¤·¤Î¤Ä¤Ö¤Æ #T35 2 ¤Ê¤·¤ç¤Ê¤ë ¥Ê¥·¥ç¥Ê¥ë #KK 4 ¤Ê¤¸ ÆëÀ÷ #M5r 10 ¤Ê¤¸ ¤Ê¤¸ #M5r 2 ¤Ê¤¸ µÍ #R5 0 ¤Ê¤¹ Æá¿Ü #JCN 0 ¤Ê¤¹ Æá½£ #JNS 0 ¤Ê¤¹ ¤Ê¤¹ #R5 0 ¤Ê¤¹ »¤ #R5 0 ¤Ê¤¹ ¤Ê¤¹ #T35 0 ¤Ê¤¹¤ê¤Ä¤± ¤Ê¤¹¤ê¤Ä¤± #KSr 0 ¤Ê¤¹¤ê¤Ä¤± »¤¤êÉÕ¤± #KSr 0 ¤Ê¤¼ ²¿¸Î #F14 36 ¤Ê¤¼ ¤Ê¤¼ #F14 42 ¤Ê¤¼ ̾À¥ #JCN 0 ¤Ê¤¼¤« ²¿¸Î¤« #F14 58 ¤Ê¤¼¤« ¤Ê¤¼¤« #F14 0 ¤Ê¤¼¤Ê¤é¤Ð ¢è #T35 1 ¤Ê¤¼¤Ë ¤Ê¤¼¤Ë #F14 0 ¤Ê¤¾ Ææ #T35 4 ¤Ê¤¾¤é¤¨ ¤Ê¤¾¤é¤¨ #KS 0 ¤Ê¤¾¤é¤¨ ½à¤¨ #KS 0 ¤Ê¤¿¤·¤ç¤¦ ̾Åľ± #CN 0 ¤Ê¤¿¤Ç¤³¤³ ¥Ê¥¿¥Ç¥³¥³ #T35 0 ¤Ê¤À Æç #CNSUC1 0 ¤Ê¤À Æç #JCN 0 ¤Ê¤À Æç #T35 1 ¤Ê¤À¤« ̾¹â #KY 0 ¤Ê¤À¤³¤¦ ̾¹â¤¦ #KYU 0 ¤Ê¤À¤µ¤­ Æçºê #JCN 0 ¤Ê¤À¤Á ̾Ω #JCN 0 ¤Ê¤À¤á ¤Ê¤À¤á #KS 0 ¤Ê¤À¤á ͨ¤á #KS 0 ¤Ê¤À¤ì ÀãÊø #T35 1 ¤Ê¤Á¤«¤Ä¤¦¤é ÆáÃÒ¾¡±º #CN 0 ¤Ê¤Á¤¹ ¥Ê¥Á¥¹ #KK 1 ¤Ê¤Ã¤È ¥Ê¥Ã¥È #T35 4 ¤Ê¤Ã¤È¤¦ ǼƦ #T35 1 ¤Ê¤Ã¤È¤¯ ǼÆÀ #T30 29 ¤Ê¤Ã¤Ñ ºÚ¤ÃÍÕ #T35 0 ¤Ê¤Ä Æè #KJ 0 ¤Ê¤Ä ²Æ #T35 33 ¤Ê¤Ä¤¤¤ó Æè°õ #T30 1 ¤Ê¤Ä¤«¤· ¤Ê¤Ä¤«¤· #KY 1 ¤Ê¤Ä¤«¤· ²û¤«¤· #KY 15 ¤Ê¤Ä¤«¤· ¤Ê¤Ä¤«¤· #M5r 1 ¤Ê¤Ä¤«¤· ²û¤«¤· #M5r 4 ¤Ê¤Ä¤«¤·¤¬ ¤Ê¤Ä¤«¤·¤¬ #R5 0 ¤Ê¤Ä¤«¤·¤¬ ²û¤«¤·¤¬ #R5 1 ¤Ê¤Ä¤«¤·¤Î ²û¤«¤·¤Î #RT 0 ¤Ê¤Ä¤«¤·¤å¤¦ ¤Ê¤Ä¤«¤·¤å¤¦ #KYU 1 ¤Ê¤Ä¤«¤·¤å¤¦ ²û¤«¤·¤å¤¦ #KYU 2 ¤Ê¤Ä¤­ Æà·î #JNM 0 ¤Ê¤Ä¤³ ²Æ»Ò #JNM 0 ¤Ê¤Ä¤Î ¤Ê¤Ä¤Î #JNM 0 ¤Ê¤Ä¤Ð ²Æ¾ì #T35 0 ¤Ê¤Ä¤Ð¤Æ ²Æ¥Ð¥Æ #T30 0 ¤Ê¤Ä¤Ð¤Æ ²Æ¤Ð¤Æ #T30 0 ¤Ê¤Ä¤Õ¤¯ ²ÆÉþ #T35 0 ¤Ê¤Ä¤à¤­ ²Æ¸þ¤­ #T15 0 ¤Ê¤Ä¤á ܧ #T35 1 ¤Ê¤Ä¤â¤Î ²ÆÊª #T35 0 ¤Ê¤Ä¤ä¤¹¤ß ²ÆµÙ¤ß #T35 57 ¤Ê¤Ä¤ä¤Þ ²Æ»³ #T35 0 ¤Ê¤Å¤± ̾ÉÕ¤± #KSr 4 ¤Ê¤Ç Éï¤Ç #KS 1 ¤Ê¤Ç¤ª¤í ¤Ê¤Ç¤ª¤í #S5 1 ¤Ê¤È¤ê ̾¼è #JCN 0 ¤Ê¤È¤ê ̾¼è #T35 0 ¤Ê¤È¤ê¤¦¤à ¥Ê¥È¥ê¥¦¥à #T35 3 ¤Ê¤É Åù #SUC 180 ¤Ê¤É ¤Ê¤É #T35 10 ¤Ê¤Ê ¼· #NN 17 ¤Ê¤Ê¤¨ ¼·ÈÓ #JCN 0 ¤Ê¤Ê¤ª ¼·Èø #JCN 0 ¤Ê¤Ê¤«¤¤ ¼·²ñ #JCN 0 ¤Ê¤Ê¤» ¼·À¥ #JNS 0 ¤Ê¤Ê¤½¤¸ ¼·½½Ï© #T35 0 ¤Ê¤Ê¤Ä ¼·¤Ä #T35 1 ¤Ê¤Ê¤Ä¤« ¼·ÄÍ #JCN 0 ¤Ê¤Ê¤á ¼Ð¤á #T05 6 ¤Ê¤Ê¤ä¤·¤í ¼·¼Ò #JNS 0 ¤Ê¤Ê¤ä¤Þ ¼·»³ #JCN 0 ¤Ê¤Ë ¤Ê¤Ë #T35 19 ¤Ê¤Ë ²¿ #T35 255 ¤Ê¤Ë¤¬¤· Ë¿ #KJ 0 ¤Ê¤Ë¤²¤Ê ²¿µ¤¤Ê #KY 2 ¤Ê¤Ë¤²¤Î¤¦ ²¿µ¤¤Î¤¦ #KYU 1 ¤Ê¤Ë¤´¤È ²¿»ö #T35 2 ¤Ê¤Ë¤·¤í ¤Ê¤Ë¤·¤í #F14 1 ¤Ê¤Ë¤·¤í ²¿¤·¤í #F14 6 ¤Ê¤Ë¤» ²¿¤» #F14 3 ¤Ê¤Ë¤È¤¾ ²¿Â´ #F14 5 ¤Ê¤Ë¤Ö¤ó ²¿Ê¬ #T35 10 ¤Ê¤Ë¤â¤Î ²¿¼Ô #T35 4 ¤Ê¤Ë¤æ¤¨ ²¿¸Î #F14 0 ¤Ê¤Ë¤æ¤¨ ²¿¸Î #T36 0 ¤Ê¤Ë¤æ¤¨¤Ë ²¿¸Î¤Ë #F14 0 ¤Ê¤Ë¤ï ÆñÇÈ #JCN 0 ¤Ê¤Ë¤ï ϲ® #JCN 0 ¤Ê¤Ë¤ï ϲ²Ö #JNS 0 ¤Ê¤Î ̾¾è #R5r 4 ¤Ê¤Î¤« 7Æü #T35 0 ¤Ê¤Î¤« £·Æü #T35 0 ¤Ê¤Î¤« ¼·Æü #T35 3 ¤Ê¤Ï ÆáÇÆ #JCN 0 ¤Ê¤Ï¤· ÆáÇÆ»Ô #CNS 0 ¤Ê¤Ï¤ê ÆàÈ¾Íø #JCN 0 ¤Ê¤Ð¤ê ̾ĥ #JCN 0 ¤Ê¤Ó ¤Ê¤Ó #K5r 0 ¤Ê¤Õ¤À ̾»¥ #T35 1 ¤Ê¤Ö¤é¤Á¤í¤ï ¥Ê¥Ö¥é¥Á¥í¥ï #JN 0 ¤Ê¤Ø¤ó ÆáÊÕ #T35 0 ¤Ê¤Ù Æé #T35 20 ¤Ê¤Ù¤¾¤³ ÆéÄì #T35 0 ¤Ê¤Ù¤Å¤ë ¥Ê¥Ù¥Å¥ë #T35 0 ¤Ê¤Ù¤â¤Î Æéʪ #T35 0 ¤Ê¤Û¤ß ÆàÊÝÈþ #JNM 0 ¤Ê¤Þ Æß #R5r 0 ¤Ê¤Þ À¸ #T05 10 ¤Ê¤Þ¤¤¤­ À¸°Õµ¤ #T05 1 ¤Ê¤Þ¤¨ ̾Á° #T35 255 ¤Ê¤Þ¤¯¤Ó À¸¼ó #T35 0 ¤Ê¤Þ¤°¤µ À¸½­ #KYmi 1 ¤Ê¤Þ¤°¤½¤¦ À¸½­¤¦ #KYU 1 ¤Ê¤Þ¤± ÂÕ¤± #KS 1 ¤Ê¤Þ¤³ ¥Ê¥Þ¥³ #T35 1 ¤Ê¤Þ¤¶¤«¤Ê À¸µû #T35 0 ¤Ê¤Þ¤¸ ¤Ê¤Þ¤¸ #F05 0 ¤Ê¤Þ¤¸ ¤Ê¤Þ¤¸ #T36 0 ¤Ê¤Þ¤¸¤Ã¤« ¤Ê¤Þ¤¸¤Ã¤« #F05 0 ¤Ê¤Þ¤¸¤Ã¤« ¤Ê¤Þ¤¸¤Ã¤« #T36 0 ¤Ê¤Þ¤¹ çº #T35 0 ¤Ê¤Þ¤º ò¾ #T35 1 ¤Ê¤Þ¤º òÐ #T35 1 ¤Ê¤Þ¤Ê¤Þ¤· À¸¡¹¤· #KY 1 ¤Ê¤Þ¤Ê¤Þ¤·¤å¤¦ À¸¡¹¤·¤å¤¦ #KYU 1 ¤Ê¤Þ¤Ï¤² ¤Ê¤Þ¤Ï¤² #T35 0 ¤Ê¤Þ¤ß À¸¿È #T35 0 ¤Ê¤Þ¤ê ±ô #T35 1 ¤Ê¤Þ¤í¤¯ À¸Ï¿ #T30 4 ¤Ê¤Þ¤ï¤¯ À¸¥ï¥¯ #T35 1 ¤Ê¤ß Ê #SUC 0 ¤Ê¤ß ¤Ê¤ß #SUC 1 ¤Ê¤ß ÇÈ #T35 11 ¤Ê¤ß ¡Á #T35 16 ¤Ê¤ß ϲ #T35 2 ¤Ê¤ß Ê #T35 4 ¤Ê¤ß¤¢¤¤ ϲ¹ç #JCN 0 ¤Ê¤ß¤¢¤· Ê­ #T30 0 ¤Ê¤ß¤¨ ϲ¹¾ #JCN 0 ¤Ê¤ß¤ª¤« ϲ²¬ #JCN 0 ¤Ê¤ß¤«¤¼ ÇÈÉ÷ #T35 1 ¤Ê¤ß¤«¤¿ ÇÈÊý #JCN 0 ¤Ê¤ß¤«¤ï ÊÂ²Ï #JCN 0 ¤Ê¤ß¤­ ÊÂÌÚ #JCN 0 ¤Ê¤ß¤­ ÊÂÌÚ #T35 1 ¤Ê¤ß¤À ÎÞ #T30 11 ¤Ê¤ß¤À ÇÈΩ #T5r 0 ¤Ê¤ß¤À¤° ÎÞ¤° #M5 0 ¤Ê¤ß¤À¤°¤Þ¤· ÎÞ¤°¤Þ¤· #KY 0 ¤Ê¤ß¤À¤°¤Þ¤·¤å¤¦ ÎÞ¤°¤Þ¤·¤å¤¦ #KYU 0 ¤Ê¤ß¤Ê¤ß Ê¡¹ #F02 0 ¤Ê¤ß¤Ê¤ß Ê¡¹ #T36 0 ¤Ê¤ß¤Î ÇÈÌî #JCN 0 ¤Ê¤ß¤Ï¤º¤ì ʳ°¤ì #KS 0 ¤Ê¤ß¤Þ ÇÈ´Ö #T35 0 ¤Ê¤à Æî̵ #CJ 3 ¤Ê¤á ¾¨¤á #KS 0 ¤Ê¤á ¤Ê¤á #KS 2 ¤Ê¤á ðä #S5r 0 ¤Ê¤á¤«¤¿ ¹ÔÊý #JCN 0 ¤Ê¤á¤«¤ï ³êÀî #JCN 0 ¤Ê¤á¤¬¤¿ ¹ÔÊý #JCN 0 ¤Ê¤á¤é¤« ¤Ê¤á¤é¤« #T05 1 ¤Ê¤á¤é¤« ³ê¤é¤« #T05 2 ¤Ê¤á¤ê¤«¤ï ³êÀî #JCN 0 ¤Ê¤ä Ǻ #M5r 14 ¤Ê¤ä¤Þ Ǻ¤Þ #S5 0 ¤Ê¤è¤í ̾´ó #JCN 0 ¤Ê¤é ÄÄ #B5 0 ¤Ê¤é Îó #B5 0 ¤Ê¤é Ê #B5r 88 ¤Ê¤é ÆàÎÉ #JCN 0 ¤Ê¤é ¶Ñ #S5 0 ¤Ê¤é ÌĤé #S5 5 ¤Ê¤é ´·¤é #S5r 1 ¤Ê¤é Æê #T35 3 ¤Ê¤é ½¬ #W5r 6 ¤Ê¤é¤¤¤´¤È ½¬¤¤»ö #T35 0 ¤Ê¤é¤ª ÆàÎÉÈø #JCN 0 ¤Ê¤é¤«¤ï ÆêÀî #JCN 0 ¤Ê¤é¤­ ÆàÎÉÌÚ #JNS 0 ¤Ê¤é¤±¤ó ÆàÎɸ© #CNS 0 ¤Ê¤é¤· ÆàÎÉ»Ô #CNS 0 ¤Ê¤é¤·¤Î ½¬»ÖÌî #JCN 0 ¤Ê¤é¤Ç¤Ï ¤Ê¤é¤Ç¤Ï #SUC 1 ¤Ê¤é¤Ï ÆêÍÕ #JCN 0 ¤Ê¤é¤Ð ¢Í #T35 1 ¤Ê¤é¤Ó¤¿ ʤÓΩ #T5 0 ¤Ê¤é¤Ó¤Ë ¤Ê¤é¤Ó¤Ë #CJ 2 ¤Ê¤é¤Ù ÄĤ٠#KS 0 ¤Ê¤é¤Ù Îó¤Ù #KS 0 ¤Ê¤é¤Ù ʤ٠#KSr 1 ¤Ê¤é¤ï ´·¤ï #S5r 0 ¤Ê¤é¤ï ½¬¤ï #S5r 0 ¤Ê¤ê Ìé #JS 4 ¤Ê¤ê¤­¤ó À®¶â #T35 0 ¤Ê¤ê¤¿ À®ÅÄ #JCN 0 ¤Ê¤ê¤¿ ¤Ê¤ê¤¿ #T5r 1 ¤Ê¤ê¤¿ À®¤êΩ #T5r 4 ¤Ê¤ê¤¿¤Á À®Î©¤Á #T35 0 ¤Ê¤ê¤Ò¤Ó ÌĤê¶Á #K5 1 ¤Ê¤ê¤Þ¤¹ À®Áý #JCN 0 ¤Ê¤ê¤ä¤¹ À®¹¯ #JNM 0 ¤Ê¤ê¤æ¤­ À®¹Ô¤­ #T35 1 ¤Ê¤ê¤ï À®±© #JCN 0 ¤Ê¤ê¤ï¤¤ À¸¶È #T35 1 ¤Ê¤ë Æàα #JCN 0 ¤Ê¤ë¤³ ÌÄ»Ò #JCN 0 ¤Ê¤ë¤µ¤ï ÌÄÂô #JCN 0 ¤Ê¤ë¤µ¤ï À®ß· #JNS 0 ¤Ê¤ë¤·¤¹¤È ¥Ê¥ë¥·¥¹¥È #T35 0 ¤Ê¤ë¤·¤º¤à ¥Ê¥ë¥·¥º¥à #T35 0 ¤Ê¤ë¤» À®À¥ #JCN 0 ¤Ê¤ë¤¿¤± ¤Ê¤ë¤¿¤± #F14 1 ¤Ê¤ë¤¿¤± ¤Ê¤ë¤¿¤± #T36 0 ¤Ê¤ë¤È ÌÄÌç #JCN 0 ¤Ê¤ë¤È¤¦ À®Åì #JCN 0 ¤Ê¤ë¤Ù¤¯ ¤Ê¤ë¤Ù¤¯ #F14 7 ¤Ê¤ë¤Û¤É ¤Ê¤ë¤Û¤É #CJ 2 ¤Ê¤ë¤Û¤É ¤Ê¤ë¤Û¤É #F14 7 ¤Ê¤ë¤ß¤Ä À®¸÷ #JNM 0 ¤Ê¤ë¤è¤· À®ÎÉ #JNM 0 ¤Ê¤ì Æë #KJ 0 ¤Ê¤ì ½Ï¤ì #KS 0 ¤Ê¤ì àÀ¤ì #KS 0 ¤Ê¤ì Æë¤ì #KSr 0 ¤Ê¤ì ´·¤ì #KSr 30 ¤Ê¤ì¤º¤· ½Ïò¿ #T35 0 ¤Ê¤ì¤Ê¤ì¤· ¤Ê¤ì¤Ê¤ì¤· #KY 0 ¤Ê¤ì¤Ê¤ì¤·¤å¤¦ ¤Ê¤ì¤Ê¤ì¤·¤å¤¦ #KYU 0 ¤Ê¤ï ̾Ï #JCN 0 ¤Ê¤ï Æì #T35 2 ¤Ê¤ï¤Æ Æí #T35 0 ¤Ê¤ï¤Ð¤ê ÆìÄ¥¤ê #T30 1 ¤Ê¤ï¤Ð¤ê ÆìÄ¥ #T35 1 ¤Ê¤ó Æï #KJ 0 ¤Ê¤ó ÃË #KJ 1 ¤Ê¤ó Æð #KJ 1 ¤Ê¤ó Æî #KJ 5 ¤Ê¤ó ²¿ #NN 193 ¤Ê¤ó Æñ #T35 20 ¤Ê¤ó Æñ #ZX 13 ¤Ê¤ó¤¤ Æî°Þ #T35 0 ¤Ê¤ó¤¤ Æñ°× #T35 2 ¤Ê¤ó¤« Æî²¼ #T30 12 ¤Ê¤ó¤« Æð²½ #T30 19 ¤Ê¤ó¤«¤¤ Æñ²ò #T05 1 ¤Ê¤ó¤«¤¤ Æî³¤ #T35 0 ¤Ê¤ó¤«¤¤ ²¿²ó #T35 24 ¤Ê¤ó¤«¤ó Æî´Ø #CN 0 ¤Ê¤ó¤«¤ó Æñ´Ø #T35 0 ¤Ê¤ó¤¬¤¤ Æî³° #CN 0 ¤Ê¤ó¤­¤ç¤¯ Æî¶Ë #CNS 0 ¤Ê¤ó¤­¤ç¤¯ Æñ¶É #T35 0 ¤Ê¤ó¤­¤ó Æîµþ #CN 0 ¤Ê¤ó¤­¤ó Æð¶Ø #T30 0 ¤Ê¤ó¤® Æñµ· #T00 1 ¤Ê¤ó¤°¤ó Æî·³ #T35 0 ¤Ê¤ó¤±¤ó Æð·ï #T35 3 ¤Ê¤ó¤³¤¦ Æî¸÷ #CN 0 ¤Ê¤ó¤³¤¦ Æñ¹Ò #T30 1 ¤Ê¤ó¤³¤¦ Æð¹Ñ #T35 1 ¤Ê¤ó¤³¤¦¤Õ¤é¤¯ Æñ¹¶ÉÔÍî #T05 0 ¤Ê¤ó¤³¤¯ Æî¹ñ #CN 0 ¤Ê¤ó¤³¤Ä Æð¹ü #T35 0 ¤Ê¤ó¤´¤¦ Æî¶¿ #CN 0 ¤Ê¤ó¤´¤¯ Æî¹ñ #CN 0 ¤Ê¤ó¤¶¤ó Æî»³ #JCN 0 ¤Ê¤ó¤·¤­ Æð¼° #T35 0 ¤Ê¤ó¤·¤Ä Æð¼Á #T05 0 ¤Ê¤ó¤·¤ç Æñ½ê #T35 1 ¤Ê¤ó¤·¤ç¤¯ Æñ¿§ #T35 1 ¤Ê¤ó¤¸ ¼¤ #T35 0 ¤Ê¤ó¤¸ Æñ»ö #T35 0 ¤Ê¤ó¤¸ Æò #T35 2 ¤Ê¤ó¤¸ ²¿»þ #T35 32 ¤Ê¤ó¤¸¤ã¤¯ Æð¼å #T05 4 ¤Ê¤ó¤¸¤å¤¦ Æñ½Â #T30 2 ¤Ê¤ó¤¸¤ç¤¦ Æî¾ò #JCN 0 ¤Ê¤ó¤¹¤¤ Æð¿å #T35 0 ¤Ê¤ó¤» ¤Ê¤ó¤» #F14 2 ¤Ê¤ó¤» ²¿¤» #F14 2 ¤Ê¤ó¤»¤¤ ÆîÀª #JCN 0 ¤Ê¤ó¤»¤¤ ÆîÀ¾ #T35 1 ¤Ê¤ó¤»¤¤ ÆðÀ­ #T35 1 ¤Ê¤ó¤»¤ó¤¹ ¥Ê¥ó¥»¥ó¥¹ #T05 1 ¤Ê¤ó¤¾ ¤Ê¤ó¤¾ #SUC 1 ¤Ê¤ó¤¾¤ä ²¿¤¾¤ä #F06 0 ¤Ê¤ó¤¿¤ó Æîü #T35 0 ¤Ê¤ó¤À¤¤ ÆñÂê #T35 0 ¤Ê¤ó¤À¤¤ ²¿Âæ #T35 2 ¤Ê¤ó¤À¤« ¤Ê¤ó¤À¤« #F14 3 ¤Ê¤ó¤À¤ó Æîø #JCN 0 ¤Ê¤ó¤Á¤ã¤¯¤ê¤¯ ÆðÃåΦ #T30 0 ¤Ê¤ó¤Á¤ç¤¦ Æñİ #T35 0 ¤Ê¤ó¤Æ ¤Ê¤ó¤Æ #F14 58 ¤Ê¤ó¤Æ¤Ä ÆðÅ´ #T35 0 ¤Ê¤ó¤Æ¤ó ÆñÅÀ #T35 2 ¤Ê¤ó¤Ç ¤Ê¤ó¤Ç #F14 23 ¤Ê¤ó¤Ç¤â ¤Ê¤ó¤Ç¤â #F14 2 ¤Ê¤ó¤Ç¤â¤«¤ó¤Ç¤â ¤Ê¤ó¤Ç¤â¤«¤ó¤Ç¤â #F14 0 ¤Ê¤ó¤Ç¤â¤«¤ó¤Ç¤â ²¿¤Ç¤â¤«¤ó¤Ç¤â #F14 0 ¤Ê¤ó¤È ¤Ê¤ó¤È #F14 7 ¤Ê¤ó¤È¤¦ ÆîÅç #JCN 0 ¤Ê¤ó¤È¤¦ ÆîÅì #T35 0 ¤Ê¤ó¤È¤« ²¿¤È¤« #F12 38 ¤Ê¤ó¤È¤Ê¤¯ ¤Ê¤ó¤È¤Ê¤¯ #F14 14 ¤Ê¤ó¤È¤Ê¤¯ ²¿¤È¤Ê¤¯ #F14 0 ¤Ê¤ó¤È¤Ê¤¯ ¤Ê¤ó¤È¤Ê¤¯ #T36 0 ¤Ê¤ó¤È¤Ê¤¯ ²¿¤È¤Ê¤¯ #T36 0 ¤Ê¤ó¤É Ǽ¸Í #T35 0 ¤Ê¤ó¤É ²¿ÅÙ #T35 31 ¤Ê¤ó¤Ê¤¯ Æñ¤Ê¤¯ #F14 0 ¤Ê¤ó¤Ë¤Á ²¿Æü #T35 2 ¤Ê¤ó¤Ë¤ç Ã˽÷ #T35 0 ¤Ê¤ó¤Ë¤ó ²¿¿Í #T35 10 ¤Ê¤ó¤Í¤ó ²¿Ç¯ #T35 5 ¤Ê¤ó¤Î¤¦ ÆîÇ» #CN 0 ¤Ê¤ó¤Ð ÆñÇÈ #JCN 0 ¤Ê¤ó¤Ð¡¼ ¡ô #T35 1 ¤Ê¤ó¤Ð¡¼ ¥Ê¥ó¥Ð¡¼ #T35 24 ¤Ê¤ó¤Ñ ÆðÇÉ #T30 1 ¤Ê¤ó¤Ñ ÆñÇË #T30 2 ¤Ê¤ó¤Ó¤ç¤¦ ²¿Éà #T35 0 ¤Ê¤ó¤Ó¤ç¤¦ ÆñÉ #T35 0 ¤Ê¤ó¤Ô¤È ²¿¿Í #T35 1 ¤Ê¤ó¤Ô¤ç¤¦¤è¤¦ ÆîɹÍÎ #T35 0 ¤Ê¤ó¤Ö ÆîÉô #JCN 0 ¤Ê¤ó¤Ö ÆðÉô #T35 1 ¤Ê¤ó¤×¤é¡¼ ¥Ê¥ó¥×¥é¡¼ #T35 0 ¤Ê¤ó¤×¤ó ²¿Ê¬ #T35 0 ¤Ê¤ó¤Ù¤¤ ÆîÊÆ #CN 0 ¤Ê¤ó¤Ü¤¯ ÆîËÌ #T35 2 ¤Ê¤ó¤Ý¤¦ ÆîÊý #T35 1 ¤Ê¤ó¤Ý¤í ÆîËÚ #CN 0 ¤Ê¤ó¤ß¤ó Æṉ̃ #T35 1 ¤Ê¤ó¤â¤¯ ÆîËÒ #CN 0 ¤Ê¤ó¤â¤ó ÆñÌä #T35 1 ¤Ê¤ó¤ä Æîë #JNS 0 ¤Ê¤ó¤è¤¦ ÆîÍÛ #JCN 0 ¤Ê¤ó¤é ²¿Åù #T35 0 ¤Ê¤ó¤é ¤Ê¤ó¤é #T35 1 ¤Ê¤ó¤é ²¿¤é #T35 38 ¤Ë »÷ #KJ 0 ¤Ë »ù #KJ 0 ¤Ë ¼¤ #KJ 0 ¤Ë ¼Ñ #KJ 0 ¤Ë Æö #KJ 0 ¤Ë íî #KJ 1 ¤Ë ð #KJ 2 ¤Ë Æô #KJ 4 ¤Ë ¿Î #KJ 9 ¤Ë ¼Ñ #KS 16 ¤Ë »÷ #KS 160 ¤Ë Æõ #NN 1 ¤Ë Æó #NN 255 ¤Ë ²Ù #T35 3 ¤Ë¡¼¤º ¥Ë¡¼¥º #T35 2 ¤Ë¡¼¤â¤Ë¤Ã¤¯ ¥Ë¡¼¥â¥Ë¥Ã¥¯ #T35 0 ¤Ë¤¢ »÷¹ç #W5r 21 ¤Ë¤¢¤² ²ÙÍȤ² #T30 0 ¤Ë¤¢¤ß¤¹ ¥Ë¥¢¥ß¥¹ #T30 2 ¤Ë¤¢¤ê¤¤¤³¡¼¤ë ¢â #T35 3 ¤Ë¤¤ ¿· #KJ 2 ¤Ë¤¤¤«¤Ã¤× ¿·´§ #CN 0 ¤Ë¤¤¤«¤ï ¿·Àî #JNS 0 ¤Ë¤¤¤¬¤¿ ¿·³ã #CN 0 ¤Ë¤¤¤¬¤¿¤±¤ó ¿·³ã¸© #CNS 0 ¤Ë¤¤¤¬¤¿¤· ¿·³ã»Ô #CNS 0 ¤Ë¤¤¤µ¤È ¿·Î¤ #JCN 0 ¤Ë¤¤¤µ¤ó ·»¤µ¤ó #T35 1 ¤Ë¤¤¤¶ ¿·ºÂ #CN 0 ¤Ë¤¤¤¶¤È ¿·Î¤ #CN 0 ¤Ë¤¤¤¸¤Þ ¿·Åç #JCN 0 ¤Ë¤¤¤¸¤Þ¤Û¤ó¤½¤ó ¿·ÅçËܼ #CN 0 ¤Ë¤¤¤Á¤ã¤ó ·»¤Á¤ã¤ó #T35 0 ¤Ë¤¤¤Ä ¿·ÄÅ #JCN 0 ¤Ë¤¤¤Ä¤ë ¿·Äá #CN 0 ¤Ë¤¤¤Å¤Þ ¿·ºÊ #T35 0 ¤Ë¤¤¤Ç ¿·½Ð #JNS 0 ¤Ë¤¤¤Ï¤Þ ¿·µïÉÍ #CN 0 ¤Ë¤¤¤Ï¤ê ¿·¼£ #JCN 0 ¤Ë¤¤¤Ï¤ë ¿·¼£ #CN 0 ¤Ë¤¤¤Û ¿·Êæ #JCN 0 ¤Ë¤¤¤ß ¿·¸« #CN 0 ¤Ë¤¤¤ß ¿·¼Â #JNS 0 ¤Ë¤¤¤ß ¿·Èþ #JNS 0 ¤Ë¤¦ ðÀ¸ #JNS 0 ¤Ë¤¦¤± ²Ù¼õ¤± #T30 1 ¤Ë¤¨ ¼Ñ¤¨ #KS 1 ¤Ë¤ª ¿ÎÈø #JCN 0 ¤Ë¤ª ½­ #W5r 1 ¤Ë¤ª Æ÷ #W5r 8 ¤Ë¤ª¤¤ Æ÷ #KJ 0 ¤Ë¤ª¤¦ ¿Î²¦ #T35 0 ¤Ë¤ª¤ä¤« Æ÷¤ä¤« #T05 0 ¤Ë¤ª¤ï Æ÷¤ï #S5 0 ¤Ë¤«¤¤ Æó³¬ #T35 5 ¤Ë¤«¤Û ¿Î²ìÊÝ #JCN 0 ¤Ë¤«¤è »÷ÄÌ #W5 0 ¤Ë¤«¤é¤°¤¢ ¥Ë¥«¥é¥°¥¢ #CN 0 ¤Ë¤«¤ï ç± #T35 0 ¤Ë¤¬ ¶ì #KYmi 3 ¤Ë¤¬ ƨ¤¬ #S5 0 ¤Ë¤¬ ƨ #S5 1 ¤Ë¤¬¤ª¤¨ »÷´é³¨ #T35 0 ¤Ë¤¬¤Æ ¶ì¼ê #T05 5 ¤Ë¤¬¤Ë¤¬¤· ¶ì¡¹¤· #KY 1 ¤Ë¤¬¤Ë¤¬¤·¤å¤¦ ¶ì¡¹¤·¤å¤¦ #KYU 1 ¤Ë¤¬¤ï¤é¤¤ ¶ì¾Ð¤¤ #T30 0 ¤Ë¤­ ¿ÎÌÚ #JCN 0 ¤Ë¤­¤Ó ¤Ë¤­¤Ó #T35 0 ¤Ë¤® °® #R5r 6 ¤Ë¤®¤ä¤« Æø¤ä¤« #T05 3 ¤Ë¤®¤ê¤Ä¤Ö °®¤ê¤Ä¤Ö #S5r 1 ¤Ë¤®¤ï Æø¤ï #S5 2 ¤Ë¤®¤ï Æø¤ï #W5r 3 ¤Ë¤¯ ¤Ë¤¯ #D2KY 0 ¤Ë¤¯ Áþ #D2KY 0 ¤Ë¤¯ Æñ #D2KY 0 ¤Ë¤¯ Æñ #KY 0 ¤Ë¤¯ Áþ #KYmi 9 ¤Ë¤¯ Áþ #M5 1 ¤Ë¤¯ Æù #T35 10 ¤Ë¤¯¤¦ Áþ¤¦ #KYU 1 ¤Ë¤¯¤«¤¤ Æù²ô #T35 0 ¤Ë¤¯¤¬ Æù²ê #T35 1 ¤Ë¤¯¤¬¤ó Æù´ã #T35 0 ¤Ë¤¯¤­¤å¤¦ Æùµå #T35 0 ¤Ë¤¯¤®¤å¤¦ Æùµí #T35 0 ¤Ë¤¯¤·¤ß Áþ¤·¤ß #T35 1 ¤Ë¤¯¤·¤ç¤¯ Æù¿© #T30 0 ¤Ë¤¯¤·¤ó Æù¿Æ #T35 0 ¤Ë¤¯¤¹¤¤ Æù¿â #T35 1 ¤Ë¤¯¤»¤¤ ÆùÀ¼ #T35 0 ¤Ë¤¯¤¿¤¤ ÆùÂÎ #T35 3 ¤Ë¤¯¤¿¤é¤· Áþ¤¿¤é¤· #KY 0 ¤Ë¤¯¤¿¤é¤·¤å¤¦ Áþ¤¿¤é¤·¤å¤¦ #KYU 0 ¤Ë¤¯¤Å¤­ ÆùÉÕ¤­ #T35 0 ¤Ë¤¯¤Ï¤¯ ÆùÇö #T30 0 ¤Ë¤¯¤é¤· Áþ¤é¤· #KY 0 ¤Ë¤¯¤é¤·¤å¤¦ Áþ¤é¤·¤å¤¦ #KYU 0 ¤Ë¤°¤ë¤Þ ²Ù¼Ö #T35 0 ¤Ë¤² ƨ¤² #KSr 11 ¤Ë¤²¤³ ƨ¤²¹þ #M5 1 ¤Ë¤²¤À ƨ¤²½Ð #S5 1 ¤Ë¤²¤ß¤Á ƨ¤²Æ» #T35 0 ¤Ë¤²¤ó Æó¸µ #T35 1 ¤Ë¤³ ¼Ñ¹þ #M5r 3 ¤Ë¤³¤Á¤ó ¥Ë¥³¥Á¥ó #T35 0 ¤Ë¤³¤Ë¤³ ¥Ë¥³¥Ë¥³ #T30 2 ¤Ë¤³¤ä¤« ¤Ë¤³¤ä¤« #T05 0 ¤Ë¤³¤í¤¬ ¼Ñ¤³¤í¤¬ #S5r 0 ¤Ë¤³¤ó ¥Ë¥³¥ó #KK 0 ¤Ë¤´ Âù #R5r 1 ¤Ë¤´ Âù #S5 1 ¤Ë¤´¤¦ ¶ì¤¦ #KYU 1 ¤Ë¤´¤é Âù¤é #S5 0 ¤Ë¤µ¤ó¤«¤¿¤ó¤½ Æó»À²½ÃºÁÇ #T35 0 ¤Ë¤· À¾ #CNPRE 4 ¤Ë¤· À¾ #CNSUC1 0 ¤Ë¤· À¾ #JCN 0 ¤Ë¤· Íæ #T35 0 ¤Ë¤· À¾ #T35 179 ¤Ë¤·¤¢¤¤¤Å À¾²ñÄÅ #CN 0 ¤Ë¤·¤¢¤¶¤¤ À¾Àõ°æ #CN 0 ¤Ë¤·¤¢¤¶¤Ö À¾ËãÉÛ #CN 0 ¤Ë¤·¤¢¤ê¤¨ À¾Í­²È #CN 0 ¤Ë¤·¤¢¤ê¤¿ À¾Í­ÅÄ #CN 0 ¤Ë¤·¤¢¤ï¤¯¤é À¾°ÀÁÒ #CN 0 ¤Ë¤·¤¤¤º À¾°ËƦ #CN 0 ¤Ë¤·¤¤¤Ð¤é¤­ À¾°ñ¾ë #CN 0 ¤Ë¤·¤¤¤ä¤ä¤Þ À¾ÁÄ뻳 #CN 0 ¤Ë¤·¤¤¤ï¤¤ À¾Èذæ #CN 0 ¤Ë¤·¤¦¤¹¤­ À¾±±µÏ #CN 0 ¤Ë¤·¤¦¤ß À¾³¤ #JCN 0 ¤Ë¤·¤¦¤ï À¾±§Ï #CN 0 ¤Ë¤·¤ª À¾Èø #JCN 0 ¤Ë¤·¤ª¤ª¤¸ À¾ÂçÏ© #CN 0 ¤Ë¤·¤ª¤« À¾²¬ #JNS 0 ¤Ë¤·¤ª¤­¤¿¤Þ À¾ÃÖ»ò #CN 0 ¤Ë¤·¤ª¤³¤Ã¤Ú À¾¶½Éô #CN 0 ¤Ë¤·¤«¤¤¤¬¤ó À¾³¤´ß #T35 2 ¤Ë¤·¤«¤¹¤¬¤¤ À¾½ÕÆü°æ #CN 0 ¤Ë¤·¤«¤¼ À¾É÷ #T35 0 ¤Ë¤·¤«¤¿ À¾Êý #JCN 0 ¤Ë¤·¤«¤Ä¤é À¾·Ë #CN 0 ¤Ë¤·¤«¤â À¾²ÃÌÐ #CN 0 ¤Ë¤·¤«¤ï À¾Àî #JCN 0 ¤Ë¤·¤«¤ó¤Ð¤é À¾³÷¸¶ #CN 0 ¤Ë¤·¤¬¤¤¤Á À¾³ÀÆâ #JNS 0 ¤Ë¤·¤¬¤ï À¾Â¦ #T35 1 ¤Ë¤·¤­ ¶Ó #CN 0 ¤Ë¤·¤­ À¾µª #CN 0 ¤Ë¤·¤­ À¾ÌÚ #JCN 0 ¤Ë¤·¤­ ¶Ó #T35 2 ¤Ë¤·¤­¤´¤¤ ¶Ó¸ñ #T35 0 ¤Ë¤·¤­¤ß ¶Ó¸« #JNS 0 ¤Ë¤·¤­¤ç¤¦ À¾µþ #CN 0 ¤Ë¤·¤¯¤Ë¤µ¤­ À¾¹ñÅì #CN 0 ¤Ë¤·¤¯¤Ó¤­ À¾·Û¾ë #CN 0 ¤Ë¤·¤°¤Á À¾¸ý #T35 1 ¤Ë¤·¤´¤¦ À¾¶¿ #CN 0 ¤Ë¤·¤´¤¦¤· À¾¹ç»Ö #CN 0 ¤Ë¤·¤¶¤­ À¾ºê #JCN 0 ¤Ë¤·¤¶¤ï À¾Âô #JCN 0 ¤Ë¤·¤·¤é¤«¤ï À¾Çò²Ï #CN 0 ¤Ë¤·¤¸¤Þ À¾Åç #JNS 0 ¤Ë¤·¤¸¤Þ À¾Åè #JNS 0 ¤Ë¤·¤¸¤ó À¾¿Ø #CN 0 ¤Ë¤·¤»¤ó¤Ü¤¯ À¾ÀçËÌ #CN 0 ¤Ë¤·¤½¤Î¤® À¾ÈàµÏ #CN 0 ¤Ë¤·¤¿¤¬¤ï À¾ÅÄÀî #CN 0 ¤Ë¤·¤¿¤Þ À¾Â¿Ëà #CN 0 ¤Ë¤·¤À À¾ÅÄ #JNS 0 ¤Ë¤·¤À¤Æ À¾´Û #JNS 0 ¤Ë¤·¤Ä¤¬¤ë À¾ÄÅ·Ú #CN 0 ¤Ë¤·¤È¤µ À¾ÅÚº´ #CN 0 ¤Ë¤·¤È¤Ê¤ß À¾Å×ÇÈ #CN 0 ¤Ë¤·¤È¤Ê¤ß À¾âêÇÈ #CN 0 ¤Ë¤·¤Ê ¿Î²Ê #JCN 0 ¤Ë¤·¤Ê¤ê À¾À® #JCN 0 ¤Ë¤·¤Í À¾º¬ #JCN 0 ¤Ë¤·¤Î À¾Ìî #JCN 0 ¤Ë¤·¤Î¤ª¤â¤Æ À¾Ç·É½ #CN 0 ¤Ë¤·¤Î¤·¤Þ À¾¥ÎÅç #CN 0 ¤Ë¤·¤Î¤Ï¤é À¾Ç·¸¶ #JNS 0 ¤Ë¤·¤Î¤ß¤ä À¾µÜ #JCN 0 ¤Ë¤·¤Ï¤é À¾¸¶ #JCN 0 ¤Ë¤·¤Ï¤ë À¾½Õ #CN 0 ¤Ë¤·¤Ó À¾Æü #T35 0 ¤Ë¤·¤Ó À¾ÍÛ #T35 1 ¤Ë¤·¤Ó¤ï¤¸¤Þ À¾ÈúÇÇÅç #CN 0 ¤Ë¤·¤Þ¤Ä¤¦¤é À¾¾¾±º #CN 0 ¤Ë¤·¤à¤é À¾Â¼ #JNS 0 ¤Ë¤·¤à¤é¤ä¤Þ À¾Â¼»³ #CN 0 ¤Ë¤·¤à¤í À¾Ì¶Ï¬ #CN 0 ¤Ë¤·¤á À¾ÌÜ #CN 0 ¤Ë¤·¤á ¼Ñ¤·¤á #KSr 0 ¤Ë¤·¤á ¼ÑÀ÷¤á #KSr 0 ¤Ë¤·¤á¤ä À¾Ìܲ° #CN 0 ¤Ë¤·¤á¤é À¾ÊÆÎÉ #CN 0 ¤Ë¤·¤â¤È À¾ËÜ #JNS 0 ¤Ë¤·¤â¤í¤«¤¿ À¾½ô¸© #CN 0 ¤Ë¤·¤ã¤¿¤¯¤¤¤Ä Æó¼ÔÂò°ì #T30 2 ¤Ë¤·¤ä¤Ä¤·¤í À¾È¬Âå #CN 0 ¤Ë¤·¤ä¤Þ À¾»³ #JCN 0 ¤Ë¤·¤è¤·¤Î À¾µÈÌî #CN 0 ¤Ë¤·¤è¤É¤¬¤ï À¾ÍäÀî #CN 0 ¤Ë¤·¤ï¤­ À¾ÏÆ #JCN 0 ¤Ë¤·¤ó Æó¿Ê #T05 2 ¤Ë¤·¤ó ¤Ë¤·¤ó #T35 1 ¤Ë¤·¤ó Æó¿³ #T35 1 ¤Ë¤·¤ó òÙ #T35 2 ¤Ë¤·¤ó¤® Æó¿ÊÌÚ #T35 1 ¤Ë¤¸ Þú #M5r 0 ¤Ë¤¸ Æó¼¡ #T35 21 ¤Ë¤¸ Æú #T35 3 ¤Ë¤¸¤å¤¦ Æû #T35 1 ¤Ë¤¸¤å¤¦ Æó½Å #T35 20 ¤Ë¤¸¤å¤¦ Æó½½ #T35 94 ¤Ë¤¸¤å¤¦¤Þ¤ë ¡ý #T35 5 ¤Ë¤¸¤ç¤¦ Æó¾æ #CN 0 ¤Ë¤¸¤ç¤¦ Æó¾è #T30 0 ¤Ë¤» »÷¤» #KS 1 ¤Ë¤» ´æ #T35 0 ¤Ë¤» µ¶ #T35 2 ¤Ë¤»¤¤ ÆóÀ¤ #T35 0 ¤Ë¤»¤³ ¥Ë¥»¥³ #CN 0 ¤Ë¤»¤â¤Î µ¶Êª #T35 3 ¤Ë¤»¤ó¤·¤­ ÆóÀþ¼° #T35 25 ¤Ë¤¿ ¿Î¿ #JCN 0 ¤Ë¤¿¤Æ ¼ÑΩ¤Æ #KS 0 ¤Ë¤¿¤É¤ê »÷Ä» #JNS 0 ¤Ë¤¿¤Ë¤¿ ¤Ë¤¿¤Ë¤¿ #F04 0 ¤Ë¤¿¤Ë¤¿ ¤Ë¤¿¤Ë¤¿ #T36 0 ¤Ë¤À¤¤ ²ÙÂæ #T35 0 ¤Ë¤Á Æü #JS 255 ¤Ë¤Á Æü #T35 6 ¤Ë¤Á¤« ÆóÀ鿯 #JNM 0 ¤Ë¤Á¤²¤ó Æü¸Â #T35 0 ¤Ë¤Á¤´¤¦ Æü¹æ #JS 0 ¤Ë¤Á¤¸ Æü»þ #T35 32 ¤Ë¤Á¤¸¤ç¤¦ Æü¾ï #T35 7 ¤Ë¤Á¤Å¤± ÆüÉÕ #JS 2 ¤Ë¤Á¤É¤¦ Æüư #KK 2 ¤Ë¤Á¤É¤¯ ÆüÆÈ #T35 0 ¤Ë¤Á¤Ê¤ó ÆüÆî #CN 0 ¤Ë¤Á¤Ï¤é Æü¸¶ #CN 0 ¤Ë¤Á¤Ö ÆüÉñ #T35 0 ¤Ë¤Á¤Ö¤ê Æü¤Ö¤ê #JS 0 ¤Ë¤Á¤Ù¤¤ ÆüÊÆ #CN 0 ¤Ë¤Á¤Ü¤Ä ÆüË× #T30 0 ¤Ë¤Á¤ä ÆüÌë #T35 2 ¤Ë¤Á¤è¤¦ ÆüÍË #T35 26 ¤Ë¤Á¤è¤¦¤Ò¤ó ÆüÍÑÉÊ #T35 1 ¤Ë¤Á¤è¤¦¤Ó ÆüÍËÆü #T35 18 ¤Ë¤Á¤ì¤ó ÆüÏ¡ #JNS 0 ¤Ë¤Ã¤« Æü²Ý #T35 1 ¤Ë¤Ã¤«¤ó Æü´Ú #T35 0 ¤Ë¤Ã¤«¤ó Æü´© #T35 3 ¤Ë¤Ã¤­ Æüµ­ #T35 1 ¤Ë¤Ã¤­¤å¤¦ Æüµë #T35 0 ¤Ë¤Ã¤­¤ç¤¦¤½ Æü¶µÁÈ #KK 0 ¤Ë¤Ã¤­¤ó Æü¶Ð #T30 1 ¤Ë¤Ã¤±¤¤ Æü·Ð #KK 16 ¤Ë¤Ã¤±¤¤ Æü·Ï #T35 25 ¤Ë¤Ã¤±¤¤ Æü·× #T35 4 ¤Ë¤Ã¤±¤ë ¥Ë¥Ã¥±¥ë #T35 0 ¤Ë¤Ã¤³¤¦ Æü¸÷ #CN 0 ¤Ë¤Ã¤³¤¦ Æü¹Ò #KK 1 ¤Ë¤Ã¤³¤¦ Æü¶½ #KK 3 ¤Ë¤Ã¤³¤¦ Æü¸÷ #T35 4 ¤Ë¤Ã¤³¤ê ¤Ë¤Ã¤³¤ê #F04 1 ¤Ë¤Ã¤³¤ê ¤Ë¤Ã¤³¤ê #T36 0 ¤Ë¤Ã¤³¤í¤¬ ¼Ñ¤Ã¤³¤í¤¬ #S5r 0 ¤Ë¤Ã¤µ¤ó Æü»² #T30 1 ¤Ë¤Ã¤µ¤ó Æü»º #T35 1 ¤Ë¤Ã¤· Æü»ï #T35 0 ¤Ë¤Ã¤·¤ã Æü¼Í #T35 0 ¤Ë¤Ã¤·¤ç¤¦ Æü¾¦ #KK 1 ¤Ë¤Ã¤·¤ç¤¦ Æü¾È #T35 0 ¤Ë¤Ã¤·¤ç¤¯ Æü¿© #T35 1 ¤Ë¤Ã¤·¤ó Æü¿Ê #CN 0 ¤Ë¤Ã¤·¤ó¤²¤Ã¤Ý Æü¿Ê·îÊâ #T10 1 ¤Ë¤Ã¤·¤ó¤»¤¤¤³¤¦ Æü¿·À½¹Ý #KK 2 ¤Ë¤Ã¤¹¤¦ Æü¿ô #T35 3 ¤Ë¤Ã¤½ Æü¥½ #CN 0 ¤Ë¤Ã¤¿ ¿·ÅÄ #JCN 0 ¤Ë¤Ã¤Á¤å¤¦ ÆüÃæ #T35 2 ¤Ë¤Ã¤Á¤ç¤¯ Æüľ #T35 0 ¤Ë¤Ã¤Æ¤¤ ÆüÄø #T35 82 ¤Ë¤Ã¤È¤¦ ÆüÅì #KK 1 ¤Ë¤Ã¤È¤¦ ÆüÅö #T35 1 ¤Ë¤Ã¤Ý¤¦ ÆüÊó #T35 2 ¤Ë¤Ã¤Ý¤ê ÆüÊëΤ #CN 0 ¤Ë¤Ã¤Ý¤ó ÆüËÜ #JCN 8 ¤Ë¤Ã¤Ý¤ó¤Ç¤ó¤­ ÆüËÜÅŵ¤ #KK 32 ¤Ë¤Ã¤Ý¤ó¤Ð¤· ÆüËܶ¶ #CN 0 ¤Ë¤Ã¤Ý¤ó¤æ¤¦¤»¤¤¤³¤¦¤·¤ã ÆüËÜ͹À¯¸ø¼Ò #KK 0 ¤Ë¤Ä¤«¤ï¤· »÷¤Ä¤«¤ï¤· #KY 0 ¤Ë¤Ä¤«¤ï¤·¤å¤¦ »÷¤Ä¤«¤ï¤·¤å¤¦ #KYU 0 ¤Ë¤Ä¤± ¼Ñ¤Ä¤± #KSr 0 ¤Ë¤Ä¤Þ ¼ÑµÍ¤Þ #R5 1 ¤Ë¤Å¤¯¤ê ²Ù¤¤ê #T30 0 ¤Ë¤Å¤¯¤ê ²Ùºî¤ê #T30 3 ¤Ë¤È¤í ¥Ë¥È¥í #T35 2 ¤Ë¤È¤í¤°¤ê¤»¤ê¤ó ¥Ë¥È¥í¥°¥ê¥»¥ê¥ó #T35 4 ¤Ë¤É ÆóÅÙ #T35 5 ¤Ë¤Ê ô #W5 10 ¤Ë¤Ë¤ó¤·¤ç¤¦ Æó¿Í¾Î #T35 0 ¤Ë¤Ì¤· ²Ù¼ç #T35 0 ¤Ë¤Î¤¦¤Ç Æó¤ÎÏÓ #T35 0 ¤Ë¤Î¤¯ Æó¤Î¶ç #T35 0 ¤Ë¤Î¤Ø Æó¸Í #JCN 0 ¤Ë¤Î¤ß¤ä ÆóµÜ #JCN 0 ¤Ë¤Ó¤¤¤í Æß¿§ #T15 0 ¤Ë¤Õ¤À ²Ù»¥ #T35 0 ¤Ë¤Ö Æß #KY 3 ¤Ë¤Ö Æß #R5r 2 ¤Ë¤Ö¤¦ Æß¤¦ #KYU 1 ¤Ë¤Ö¤ó Æóʬ #T30 0 ¤Ë¤Ö¤ó¤® ÆóʬÌÚ #T35 1 ¤Ë¤Ø¤¤ ÆóÉÓ #JNS 0 ¤Ë¤Û¤¦¤»¤¤ ÆóÊöÀ­ #T35 1 ¤Ë¤Û¤ó ÆüËÜ #JNS 0 ¤Ë¤Û¤ó ÆóËÜ #T35 13 ¤Ë¤Û¤ó¤¤¤Á ÆüËܰì #T35 2 ¤Ë¤Û¤ó¤«¤¤ ÆüËܳ¤ #CNS 0 ¤Ë¤Û¤ó¤³¤¦¤«¤ó ÆüËÜ¹Ý´É #KK 1 ¤Ë¤Û¤ó¤´ ÆüËܸì #KK 255 ¤Ë¤Û¤ó¤´¤« ÆüËܸ첽 #T30 32 ¤Ë¤Û¤ó¤·¤å ÆüËܼò #T35 3 ¤Ë¤Û¤ó¤·¤ç¤­ ÆüËܽñµª #KK 1 ¤Ë¤Û¤ó¤¸¤ó ÆüËÜ¿Í #T35 18 ¤Ë¤Û¤ó¤Ç¤ó¤­ ÆüËÜÅŵ¤ #KK 21 ¤Ë¤Û¤ó¤Ð¤ì ÆüËÜÀ²¤ì #T35 0 ¤Ë¤Û¤ó¤Þ¤Ä ÆóËܾ¾ #JCN 0 ¤Ë¤Ü¤· ¼Ñ´³ #T35 0 ¤Ë¤Þ ÆöËà #CN 0 ¤Ë¤Þ¤¤¤´¤· ÆóËç¹ø #T15 0 ¤Ë¤Þ¤¤¤¸¤¿ ÆóËçÀå #T15 0 ¤Ë¤Þ¤á ¼ÑƦ #T35 0 ¤Ë¤ß¤ä ÆóµÜ #JNS 0 ¤Ë¤â¤Ä ²Ùʪ #T35 14 ¤Ë¤â¤Ë¤Ã¤¯ ¥Ë¥â¥Ë¥Ã¥¯ #T35 1 ¤Ë¤â¤Î ¼Ñʪ #T30 0 ¤Ë¤ä ¼Ñ¤ä #S5 0 ¤Ë¤ä¤± ¤Ë¤ä¤± #KS 0 ¤Ë¤ä¤ê¤È ¤Ë¤ä¤ê¤È #F12 0 ¤Ë¤å¡¼ ¥Ë¥å¡¼ #PRE 6 ¤Ë¤å¡¼ ¦Í #T35 1 ¤Ë¤å¡¼ ¦­ #T35 3 ¤Ë¤å¡¼¤¹ ¥Ë¥å¡¼¥¹ #T35 232 ¤Ë¤å¡¼¤º ¥Ë¥å¡¼¥º #T35 13 ¤Ë¤å¡¼¤È¤ó ¥Ë¥å¡¼¥È¥ó #JN 0 ¤Ë¤å¡¼¤è¡¼¤¯ ¥Ë¥å¡¼¥è¡¼¥¯ #CN 0 ¤Ë¤å¡¼¤í¤ó ¥Ë¥å¡¼¥í¥ó #T35 1 ¤Ë¤å¤¢¤ó¤¹ ¥Ë¥å¥¢¥ó¥¹ #T35 1 ¤Ë¤å¤¦ ðÀ¸ #JCN 0 ¤Ë¤å¤¦ ½À #KJ 0 ¤Ë¤å¤¦ Æý #KJ 0 ¤Ë¤å¤¦ Æþ #KJ 19 ¤Ë¤å¤¦¤¤¤ó Æþ±¡ #T30 2 ¤Ë¤å¤¦¤¨¤­ Æý±Õ #T35 0 ¤Ë¤å¤¦¤¨¤ó Æþ±à #T30 1 ¤Ë¤å¤¦¤« Æý²½ #T30 0 ¤Ë¤å¤¦¤« Æþ²Ù #T30 3 ¤Ë¤å¤¦¤«¤¤ Æþ²ñ #T30 2 ¤Ë¤å¤¦¤«¤¤¤­¤ó Æþ²ñ¶â #T35 2 ¤Ë¤å¤¦¤«¤¯ Æþ³Õ #T30 0 ¤Ë¤å¤¦¤«¤ï ðÀ¸Àî #CN 0 ¤Ë¤å¤¦¤¬¤¯ Æþ³Ø #T30 3 ¤Ë¤å¤¦¤¬¤¯¤­¤ó Æþ³Ø¶â #T35 0 ¤Ë¤å¤¦¤¬¤¯¤·¤­ Æþ³Ø¼° #T35 0 ¤Ë¤å¤¦¤­¤ç Æþµï #T30 0 ¤Ë¤å¤¦¤­¤ç¤¦ Æþî÷ #T30 1 ¤Ë¤å¤¦¤­¤ó Æþ¶â #T30 17 ¤Ë¤å¤¦¤®¤ç¤¦ Æý¶È #T35 0 ¤Ë¤å¤¦¤³ Æþ¸Ë #T30 0 ¤Ë¤å¤¦¤³¤¦ Æþ¹Á #T30 0 ¤Ë¤å¤¦¤³¤¦ Æþ¹½ #T30 1 ¤Ë¤å¤¦¤³¤¯ Æþ¹ñ #T30 0 ¤Ë¤å¤¦¤³¤ó Æþº² #T30 1 ¤Ë¤å¤¦¤µ¤Ä Æþ»¥ #T30 1 ¤Ë¤å¤¦¤µ¤ó Æý»À #T35 0 ¤Ë¤å¤¦¤· Æý»õ #T35 0 ¤Ë¤å¤¦¤· Æþ»î #T35 4 ¤Ë¤å¤¦¤·¤Ä Æþ¼¼ #T30 0 ¤Ë¤å¤¦¤·¤ã Æþ¼Ò #T30 9 ¤Ë¤å¤¦¤·¤å Æþ¼ê #T30 65 ¤Ë¤å¤¦¤·¤å¤Ä¤ê¤ç¤¯ Æþ½ÐÎÏ #T30 46 ¤Ë¤å¤¦¤·¤ç Æþ½ê #T30 1 ¤Ë¤å¤¦¤·¤ç¤¦ Æþ¾Þ #T30 1 ¤Ë¤å¤¦¤¸ Æý»ù #T35 1 ¤Ë¤å¤¦¤¸¤ç¤¦ Æþ¾ì #T30 5 ¤Ë¤å¤¦¤»¤¤¤Ò¤ó ÆýÀ½ÉÊ #T35 1 ¤Ë¤å¤¦¤»¤­ ÆþÀÒ #T30 1 ¤Ë¤å¤¦¤»¤ó ÆþÁª #T30 1 ¤Ë¤å¤¦¤¼¤ó ÆþÁ± #JCN 0 ¤Ë¤å¤¦¤¿¤¤ ÆþÂâ #T30 0 ¤Ë¤å¤¦¤À¤ó ÆþÃÄ #T30 0 ¤Ë¤å¤¦¤Æ¤¤ ÆþÄî #T30 0 ¤Ë¤å¤¦¤Ç¤ó ÆþÅÅ #T30 0 ¤Ë¤å¤¦¤È¤¦ ÆþÅÞ #T30 0 ¤Ë¤å¤¦¤È¤¦ ÆýƬ #T35 1 ¤Ë¤å¤¦¤È¤¦¤­¤ó ÆýƬ¶Ú #T35 1 ¤Ë¤å¤¦¤Í¤ó Æþǰ #T05 1 ¤Ë¤å¤¦¤Ð¤¤ ÆþÇß #T30 0 ¤Ë¤å¤¦¤Ö ÆþÉô #T30 2 ¤Ë¤å¤¦¤Ü¤¦ Æý˼ #T35 1 ¤Ë¤å¤¦¤â¤ó ÆþÌç #T30 30 ¤Ë¤å¤¦¤â¤ó¤·¤ç ÆþÌç½ñ #T35 0 ¤Ë¤å¤¦¤è¤¦ ÆþÍÑ #T05 2 ¤Ë¤å¤¦¤è¤¦¤¸ ÆýÍÄ»ù #T35 0 ¤Ë¤å¤¦¤è¤¯ ÆþÍá #T30 2 ¤Ë¤å¤¦¤ê¤ç¤¦ ÆþÎÀ #T30 3 ¤Ë¤å¤¦¤ê¤ç¤¯ ÆþÎÏ #T30 255 ¤Ë¤å¤¦¤ê¤ç¤¯¤»¤ó ÆþÎÏÀþ #T35 33 ¤Ë¤å¤¦¤ï ½ÀÏ #T05 1 ¤Ë¤ç ½÷ #KJ 2 ¤Ë¤ç Ç¡ #KJ 3 ¤Ë¤ç¤¤ Ç¡°Õ #T35 1 ¤Ë¤ç¤¦ Ç¢ #T35 4 ¤Ë¤ç¤¦¤«¤ó Ç¢´É #T35 0 ¤Ë¤ç¤¦¤Ü¤¦ ½÷˼ #T35 3 ¤Ë¤ç¤¦¤Þ¤¯ Ç¢Ëì #T35 1 ¤Ë¤ç¤é¤¤ Ç¡Íè #T35 1 ¤Ë¤ç¤í ¡Á #T35 1 ¤Ë¤è¤É ¿ÎÍä #CN 0 ¤Ë¤é âË #M5r 3 ¤Ë¤é Ç£ #T35 0 ¤Ë¤é¤µ¤­ Ç£ºê #JCN 0 ¤Ë¤é¤ß¤¢¤ï¤» ¤Ë¤é¤ß¹ç¤ï¤» #KS 0 ¤Ë¤é¤ä¤Þ Ç£»³ #JCN 0 ¤Ë¤ê¤å¤¦ Æóή #T35 0 ¤Ë¤ê¤ó ÆóÎØ #T35 1 ¤Ë¤ï 𱩠#JNS 0 ¤Ë¤ï Äí #T35 42 ¤Ë¤ï¤« ²ä #T05 3 ¤Ë¤ï¤« ¤Ë¤ï¤« #T15 1 ¤Ë¤ï¤«¤¢¤á ¤Ë¤ï¤«±« #T35 0 ¤Ë¤ï¤­ ÄíÌÚ #T35 0 ¤Ë¤ï¤µ¤­ ÄíÀè #T35 0 ¤Ë¤ï¤È¤ê ·Ü #T35 4 ¤Ë¤ó ¿Í #JS 172 ¤Ë¤ó ¿Î #KJ 0 ¤Ë¤ó Ç¥ #KJ 0 ¤Ë¤ó Ǧ #KJ 1 ¤Ë¤ó ǧ #KJ 1 ¤Ë¤ó ¿Í #SUC 0 ¤Ë¤ó ¿Í #T35 0 ¤Ë¤ó Ǥ #T35 1 ¤Ë¤ó Ǥ #ZX 0 ¤Ë¤ó¤¤ Ǥ°Õ #T05 37 ¤Ë¤ó¤« ǧ²Ä #T30 2 ¤Ë¤ó¤­ Ǥ´ü #T35 1 ¤Ë¤ó¤­ ¿Íµ¤ #T35 6 ¤Ë¤ó¤­¤ç¤¦ ¿Î¶¢ #T35 0 ¤Ë¤ó¤®¤ç¤¦ ¿Í·Á #T35 19 ¤Ë¤ó¤°¤ß ¿ÍÁÈ #JS 0 ¤Ë¤ó¤²¤Ä ¿Í·î #JS 1 ¤Ë¤ó¤²¤ó ¿Í´Ö #T35 127 ¤Ë¤ó¤²¤ó¤»¤¤ ¿Í´ÖÀ­ #T35 0 ¤Ë¤ó¤²¤ó¤ß ¿Í´ÖÌ£ #T35 0 ¤Ë¤ó¤µ¤ó¤× Ç¥»ºÉØ #T35 0 ¤Ë¤ó¤·¤­ ǧ¼± #T30 70 ¤Ë¤ó¤·¤ç¤¦ ǧ¾Ú #T30 2 ¤Ë¤ó¤·¤ç¤¦ ¿Í¾Î #T35 1 ¤Ë¤ó¤·¤ó Ç¥¿± #T30 1 ¤Ë¤ó¤¸ ¿Í»þ #T35 0 ¤Ë¤ó¤¸¤ã Ǧ¼Ô #T35 3 ¤Ë¤ó¤¸¤å¤¦ Ǧ½¾ #T30 0 ¤Ë¤ó¤¸¤ç¤¦ ¿Ï½ý #T35 0 ¤Ë¤ó¤¸¤ç¤¦ ¿Í¾ð #T35 1 ¤Ë¤ó¤¸¤ó ¿Í»² #T35 5 ¤Ë¤ó¤º¤¦ ¿Í¿ô #T35 34 ¤Ë¤ó¤½¤¦ ¿ÍÁê #T35 0 ¤Ë¤ó¤½¤¯ ¿Í­ #T35 0 ¤Ë¤ó¤¿¤¤ ǦÂÑ #T30 2 ¤Ë¤ó¤Á ǧÃÎ #T30 2 ¤Ë¤ó¤Á ǤÃÏ #T35 0 ¤Ë¤ó¤Æ¤¤ ǧÄê #T30 2 ¤Ë¤ó¤Ë¤¯ ¥Ë¥ó¥Ë¥¯ #T35 0 ¤Ë¤ó¤Ô ǧÈÝ #T35 0 ¤Ë¤ó¤× ¿ÍÉ× #T35 0 ¤Ë¤ó¤× Ç¥ÉØ #T35 0 ¤Ë¤ó¤Þ¤ê ¤Ë¤ó¤Þ¤ê #F04 0 ¤Ë¤ó¤Þ¤ê ¤Ë¤ó¤Þ¤ê #T36 0 ¤Ë¤ó¤à Ǥ̳ #T35 1 ¤Ë¤ó¤á¤¤ Ǥ̿ #T30 0 ¤Ë¤ó¤á¤ó ǤÌÈ #T30 0 ¤Ì æ #G5 2 ¤Ì È´ #K5r 14 ¤Ì Ǩ #KJ 7 ¤Ì ÅÉ #R5r 8 ¤Ì Ë¥ #W5 3 ¤Ì¤¤¤°¤ë¤ß ¤Ì¤¤¤°¤ë¤ß #T35 2 ¤Ì¤¤¤³ Ë¥¤¤¹þ #M5r 0 ¤Ì¤¤¤Ä¤± Ë¥¤¤¤Ä¤± #KSr 0 ¤Ì¤¤¤á Ë¥ÌÜ #T35 0 ¤Ì¤¤¤â¤Î ˥ʪ #T30 2 ¤Ì¤¨ ó¬ #T35 0 ¤Ì¤« È´¤« #R5r 0 ¤Ì¤« È´¤« #S5 3 ¤Ì¤« ¹Ç #T35 1 ¤Ì¤«¤¿ ³ÛÅÄ #JCN 0 ¤Ì¤­ È´¤­ #SUC 7 ¤Ì¤­ ´Ó #T35 1 ¤Ì¤­¤µ¤· È´¤­º¹¤· #T30 1 ¤Ì¤­¤È È´¤­¼è #R5r 0 ¤Ì¤­¤ó¤Ç È´¤­¤ó½Ð #KS 1 ¤Ì¤¯ ²¹ #KYmi 0 ¤Ì¤¯ ²¹ #M5r 0 ¤Ì¤¯¤¦ ²¹¤¦ #KYU 0 ¤Ì¤¯¤Ì¤¯ ¤Ì¤¯¤Ì¤¯ #F06 0 ¤Ì¤¯¤Ì¤¯ ¤Ì¤¯¤Ì¤¯ #T16 0 ¤Ì¤¯¤â ²¹¤â #R5r 0 ¤Ì¤¯¤ì¤ª¤Á¤É ¥Ì¥¯¥ì¥ª¥Á¥É #T35 1 ¤Ì¤° ¤Ì¤° #W5 1 ¤Ì¤° ¿¡ #W5 10 ¤Ì¤± È´¤± #KSr 70 ¤Ì¤±¤À È´¤±½Ð #S5 4 ¤Ì¤±¤á È´ÌÜ #T35 0 ¤Ì¤· ¼ç #T35 5 ¤Ì¤¹ Åð #M5r 2 ¤Ì¤¹¤ß Åð¤ß #T35 1 ¤Ì¤¹¤ß¤À Åð¤ß½Ð #S5 0 ¤Ì¤¿¤¯ ¤Ì¤¿¤¯ #R5r 0 ¤Ì¤Î ÉÛ #T35 2 ¤Ì¤Î¤­¤ì ÉÛÀÚ¤ì #T35 0 ¤Ì¤Þ ¾Â #T35 22 ¤Ì¤Þ¤ª¤« ¾Â²¬ #JNS 0 ¤Ì¤Þ¤¯¤Þ ¾Â·¨ #CN 0 ¤Ì¤Þ¤¿ ¾ÂÅÄ #JCN 0 ¤Ì¤Þ¤¿ ¾ÂÅÄ #T35 0 ¤Ì¤Þ¤Á ¾ÂÃÏ #T35 0 ¤Ì¤Þ¤Å ¾ÂÄÅ #CN 0 ¤Ì¤é Ǩ¤é #S5 0 ¤Ì¤ê ÅÉ #T35 1 ¤Ì¤ê¤Ä¤± ÅɤêÉÕ¤± #KSr 0 ¤Ì¤ê¤Ä¤Ö Åɤê¤Ä¤Ö #S5r 14 ¤Ì¤ë ¤Ì¤ë #KYme 0 ¤Ì¤ë ²¹ #KYme 1 ¤Ì¤ë ¤Ì¤ë #M5 1 ¤Ì¤ë ²¹ #M5 1 ¤Ì¤ë¤¦ ²¹¤¦ #KYU 1 ¤Ì¤ë¤Ì¤ë ¤Ì¤ë¤Ì¤ë #F04 0 ¤Ì¤ë¤Ì¤ë ¤Ì¤ë¤Ì¤ë #T16 0 ¤Ì¤ë¤Þ¤æ ¤Ì¤ë¤ÞÅò #T35 1 ¤Ì¤ì Ǩ¤ì #KSr 2 ¤Í »Ò #KJ 0 ¤Í Ǫ #KJ 0 ¤Í Ç© #KJ 2 ¤Í ¿² #KS 106 ¤Í Îý #R5r 4 ¤Í ²» #T35 0 ¤Í ÃÍ #T35 2 ¤Í º¬ #T35 9 ¤Í¡¼¤ß¤ó¤° ¥Í¡¼¥ß¥ó¥° #T30 2 ¤Í¡¼¤à ¥Í¡¼¥à #T35 8 ¤Í¤¢¤¬¤ê º¬¾å #JCN 0 ¤Í¤¢¤¬¤ê Ã;夬¤ê #T30 1 ¤Í¤¢¤² Ã;夲 #T30 2 ¤Í¤¤ ÉØÉé #JCN 0 ¤Í¤¤ Ç« #KJ 0 ¤Í¤¤ ¿²Æþ #R5r 0 ¤Í¤¤¤­ ¿²Â© #T35 0 ¤Í¤¤¤·¤ó Õ¤¿Ã #T35 0 ¤Í¤¤¤Æ¤£¤Ö ¥Í¥¤¥Æ¥£¥Ö #T05 1 ¤Í¤¤¤í ²»¿§ #T35 0 ¤Í¤¦¤Á ÃÍÂǤÁ #T35 1 ¤Í¤¨ ¤Í¤¨ #CJ 6 ¤Í¤¨ »Ð #T35 1 ¤Í¤¨ ¤Í¤¨ #T35 2 ¤Í¤¨¤µ¤ó »Ð¤µ¤ó #T35 0 ¤Í¤ª º¬Èø #JCN 0 ¤Í¤ª¤ó ¥Í¥ª¥ó #T35 1 ¤Í¤« ¿²¤« #S5 4 ¤Í¤¬ ´ê #W5r 50 ¤Í¤¬¤¤ ´ê #T35 2 ¤Í¤¬¤¤¤µ¤² ´ê¤¤²¼¤² #KSr 0 ¤Í¤® ÃÍÀÚ #R5r 1 ¤Í¤® Ǭ #T35 2 ¤Í¤®¤· º¬´ß #JCN 0 ¤Í¤®¤é Ï« #W5r 0 ¤Í¤¯¤¿¤¤ ¥Í¥¯¥¿¥¤ #T35 2 ¤Í¤°¤ê¤¸¤§ ¥Í¥°¥ê¥¸¥§ #T35 1 ¤Í¤³ ¿²¹þ #M5r 3 ¤Í¤³ Ç­ #T35 17 ¤Í¤³¤¸¤¿ Ç­Àå #T05 0 ¤Í¤³¤¸¤å¤¦¤¸¤·¤ã Ç­½½»ú¼Ò #KK 2 ¤Í¤³¤¼ Ç­ÇØ #T15 0 ¤Í¤³¤Þ Ç­Ëâ #CN 0 ¤Í¤´¤³¤Á ¿²¿´ÃÏ #T35 0 ¤Í¤´¤È ¿²¸À #T35 1 ¤Í¤µ¤¬¤ê ÃͲ¼¤¬¤ê #T30 1 ¤Í¤µ¤² ÃͲ¼¤² #T30 4 ¤Í¤¶ º¬¤¶ #S5 0 ¤Í¤¶¤á ¿²³Ð¤á #T35 0 ¤Í¤¸ ¥Í¥¸ #T35 0 ¤Í¤¸ DZ #R5r 0 ¤Í¤¸ ¤Í¤¸ #R5r 1 ¤Í¤¸ Íæ #T35 0 ¤Í¤¸¤á º¬Àê #JCN 0 ¤Í¤¹¤È ¥Í¥¹¥È #T30 3 ¤Í¤º º¬ÄÅ #JCN 0 ¤Í¤º¤ß ÁÍ #T35 1 ¤Í¤¿ ¤Í¤¿ #M5r 0 ¤Í¤¿ ÅÊ #M5r 0 ¤Í¤¿ ¥Í¥¿ #T35 22 ¤Í¤À ¤Í¤À #R5 1 ¤Í¤À¤ó ÃÍÃÊ #T35 34 ¤Í¤Á¤¬¤¨ ¿²°ã¤¨ #KS 0 ¤Í¤Ã Ç® #S5 0 ¤Í¤Ã Ç® #SX 0 ¤Í¤Ã¤­ Ç®µ¤ #T35 1 ¤Í¤Ã¤­¤ç¤¦ Ç®¶¸ #T30 1 ¤Í¤Ã¤¯ ¥Í¥Ã¥¯ #T35 3 ¤Í¤Ã¤³ º¬¤Ã»Ò #T35 0 ¤Í¤Ã¤·¤ã¤Ó¤ç¤¦ Ç®¼ÍÉ #T35 0 ¤Í¤Ã¤·¤ç¤¦ Ç®¾§ #T30 0 ¤Í¤Ã¤·¤ó Ç®¿´ #T05 8 ¤Í¤Ã¤»¤ó Ç®Àï #T30 0 ¤Í¤Ã¤¿¤¤ Ç®ÂÓ #T35 3 ¤Í¤Ã¤¿¤¤¤¦¤ê¤ó Ç®ÂÓ±«ÎÓ #T35 0 ¤Í¤Ã¤Á¤å¤¦ Ç®Ãæ #T30 2 ¤Í¤Ã¤È ¥Í¥Ã¥È #T35 45 ¤Í¤Ã¤È¤¦ Ç®Åò #T35 0 ¤Í¤Ã¤È¤ê ¤Í¤Ã¤È¤ê #F04 0 ¤Í¤Ã¤È¤ê ¤Í¤Ã¤È¤ê #T16 0 ¤Í¤Ã¤È¤ï¡¼¤­¤ó¤° ¥Í¥Ã¥È¥ï¡¼¥­¥ó¥° #T30 3 ¤Í¤Ã¤È¤ï¡¼¤¯ ¥Í¥Ã¥È¥ï¡¼¥¯ #T35 224 ¤Í¤Ã¤Ñ Ç®ÇÈ #T35 0 ¤Í¤Ã¤×¤¦ Ç®É÷ #T35 0 ¤Í¤Ä ¿²¤Ä #K5r 1 ¤Í¤Ä Ç® #T35 20 ¤Í¤Ä¤¤ Ç®°Õ #T35 1 ¤Í¤Ä¤¨¤ó Ç®±é #T30 0 ¤Í¤Ä¤¾¤¦ ÙÔ¤ #T30 0 ¤Í¤Ä¤Ù¤ó Ç®ÊÛ #T30 1 ¤Í¤Ä¤Ü¤¦ Ǯ˾ #T30 1 ¤Í¤Ä¤ê¤ç¤¦ Ç®ÎÌ #T35 0 ¤Í¤Ä¤ì¤Ä Ç®Îõ #T05 1 ¤Í¤Å º¬ÄÅ #JCN 0 ¤Í¤Å º¬ÉÕ #K5 1 ¤Í¤Å¤è º¬¶¯ #KY 1 ¤Í¤Å¤è¤¦ º¬¶¯¤¦ #KYU 1 ¤Í¤É¤³ ¿²¾² #T35 1 ¤Í¤Ï¤Ð ÃÍÉý #T35 0 ¤Í¤Ï¤ó ÞºÜÑ #T35 2 ¤Í¤Ð º¬±© #CN 0 ¤Í¤Ð Ç´ #R5r 1 ¤Í¤Ð¤ê¤Å¤è Ç´¤ê¶¯ #KY 0 ¤Í¤Ð¤ê¤Å¤è¤¦ Ç´¤ê¶¯¤¦ #KYU 0 ¤Í¤Ó¤¨ ¿²Î䤨 #T30 0 ¤Í¤Ó¤­ ÃͰú¤­ #T30 1 ¤Í¤Õ¤À ÃÍ»¥ #T35 0 ¤Í¤Ö¤« º¬¿¼ #KY 0 ¤Í¤Ö¤³¤¦ º¬¿¼¤¦ #KYU 0 ¤Í¤Ö¤½¤¯ ¿²ÉÔ­ #T00 1 ¤Í¤Þ¤ï¤· º¬²ó¤· #T30 1 ¤Í¤à ̲ #KY 32 ¤Í¤à ̲ #R5r 34 ¤Í¤à¤¦ ̲¤¦ #KYU 2 ¤Í¤à¤¬ ̲¤¬ #R5 0 ¤Í¤à¤± ̲µ¤ #T35 1 ¤Í¤à¤¿ ̲¤¿ #KY 1 ¤Í¤à¤¿¤¬ ̲¤¿¤¬ #R5 0 ¤Í¤à¤È¤¦ ̲¤È¤¦ #KYU 1 ¤Í¤à¤é ̲¤é #S5 0 ¤Í¤à¤í º¬¼¼ #CN 0 ¤Í¤â¤È º¬ËÜ #JNS 0 ¤Í¤ä ïá #KJ 0 ¤Í¤ä¤¬¤ï ¿²²°Àî #JCN 0 ¤Í¤é ÁÀ #W5r 11 ¤Í¤é ¤Í¤é #W5r 4 ¤Í¤ê Îý¤ê #T35 1 ¤Í¤ê¤¢¤² Îý¤ê¾å¤² #KSr 1 ¤Í¤ê¤¢¤ï¤» Îý¤ê¹ç¤ï¤» #KSr 0 ¤Í¤ê¤Ê¤ª Îý¤êľ #S5r 0 ¤Í¤ê¤Þ ÎýÇÏ #JCN 0 ¤Í¤ë¤½¤ó ¥Í¥ë¥½¥ó #JN 0 ¤Í¤ó ǯ #JS 255 ¤Í¤ó Á³ #KJ 0 ¤Í¤ó DZ #KJ 0 ¤Í¤ó Dz #KJ 0 ¤Í¤ó dz #KJ 0 ¤Í¤ó Ç´ #KJ 0 ¤Í¤ó Ì­ #KJ 2 ¤Í¤ó ǯ #T35 225 ¤Í¤ó ǰ #T35 34 ¤Í¤ó ǰ #ZX 22 ¤Í¤ó¤¤¤ê ǰÆþ¤ê #T18 0 ¤Í¤ó¤«¤ó ǯ´Ö #JS 13 ¤Í¤ó¤«¤ó ǯ´© #T35 0 ¤Í¤ó¤«¤ó ǯ´Ö #T35 10 ¤Í¤ó¤¬ ǯ²ì #T35 1 ¤Í¤ó¤¬¤¯ ǯ³Û #T35 0 ¤Í¤ó¤¬¤¸¤ç¤¦ ǯ²ì¾õ #T35 11 ¤Í¤ó¤¬¤Ã¤Ô ǯ·îÆü #T35 14 ¤Í¤ó¤¬¤ó ǰ´ê #T30 1 ¤Í¤ó¤­ ǯ´ü #T35 0 ¤Í¤ó¤­ ǯµ¨ #T35 0 ¤Í¤ó¤­ ǯ´÷ #T35 1 ¤Í¤ó¤­¤ó Ç´¶Ý #T35 0 ¤Í¤ó¤­¤ó ǯ¶â #T35 5 ¤Í¤ó¤° ǯ¹× #T35 0 ¤Í¤ó¤²¤Ä ǯ·î #T35 1 ¤Í¤ó¤³¤¦ ǯ¸ù #T35 0 ¤Í¤ó¤´ ǯ¸å #JS 1 ¤Í¤ó¤´¤¦ ǯ¹æ #T35 1 ¤Í¤ó¤µ¤ó ǯ»º #T35 0 ¤Í¤ó¤¶ DZºÃ #T30 2 ¤Í¤ó¤· ǯ»Ï #T35 1 ¤Í¤ó¤·¤å¤¦ ǯ¼ý #T35 1 ¤Í¤ó¤·¤å¤Ä DZ½Ð #T30 1 ¤Í¤ó¤·¤ç ǰ½ñ #T35 1 ¤Í¤ó¤·¤ç¤¦ ǯ¾¯ #T05 0 ¤Í¤ó¤·¤ç¤¦ dz¾Æ #T30 1 ¤Í¤ó¤·¤ç¤¦ ǯ¾¦ #T35 0 ¤Í¤ó¤¸ ǯ¼¡ #T35 1 ¤Í¤ó¤¸¤å¤¦ Ç¯Ãæ #T35 5 ¤Í¤ó¤¹¤¦ ǯ¿ô #T35 1 ¤Í¤ó¤»¤¤ Ç´À­ #T35 0 ¤Í¤ó¤»¤¤ ǯÀ¸ #JS 8 ¤Í¤ó¤À¤¤ ǯÂå #JS 3 ¤Í¤ó¤À¤¤ ǯÂå #T35 2 ¤Í¤ó¤Á¤ã¤¯ Ç´Ãå #T30 0 ¤Í¤ó¤Á¤ç¤¦ ǯĹ #T05 1 ¤Í¤ó¤Æ¤ó DZž #T30 0 ¤Í¤ó¤È¤¦ ǯƬ #T35 1 ¤Í¤ó¤È¤¦ ǰƬ #T35 4 ¤Í¤ó¤É ǯÅÙ #JS 26 ¤Í¤ó¤É Ç´ÅÚ #T35 0 ¤Í¤ó¤É ǯÅÙ #T35 22 ¤Í¤ó¤É¤Þ¤Ä ǯÅÙËö #T35 2 ¤Í¤ó¤Ê¤¤ ǯÆâ #T35 1 ¤Í¤ó¤Í¤ó ǯ¡¹ #T35 2 ¤Í¤ó¤Ñ¤¤ ǯÇÚ #T35 0 ¤Í¤ó¤Ñ¤¤ ǯÇÛ #T35 1 ¤Í¤ó¤Ô dzÈñ #T35 2 ¤Í¤ó¤Ô¤ç¤¦ ǯɽ #T35 1 ¤Í¤ó¤Ö¤¿¡¼¤ë ¥Í¥ó¥Ö¥¿¡¼¥ë #T35 1 ¤Í¤ó¤Ö¤Ä ǰʩ #T30 1 ¤Í¤ó¤Ö¤ê ǯ¤Ö¤ê #JS 5 ¤Í¤ó¤Ù¤Ä ǯÊÌ #T35 0 ¤Í¤ó¤Ý¤¦ ǯÊð #T35 0 ¤Í¤ó¤Ý¤¦ ǯÊó #T35 0 ¤Í¤ó¤Þ¤¯ Ç´Ëì #T35 0 ¤Í¤ó¤Þ¤Ä ǯËö #T35 5 ¤Í¤ó¤é¤¤ ǯÍè #T35 0 ¤Í¤ó¤ê Ç¯Íø #T35 0 ¤Í¤ó¤ê¤­ ǰÎÏ #T35 0 ¤Í¤ó¤ê¤ç¤¦ dzÎÁ #T35 1 ¤Í¤ó¤ê¤ó Ç¯ÎØ #T35 0 ¤Í¤ó¤ì¤¤ ǯÎð #T35 7 ¤Î Âà #K5 20 ¤Î Ƕ #KJ 0 ¤Î Ǹ #KJ 0 ¤Î Ç· #KJ 16 ¤Î ǵ #KJ 3 ¤Î ÆÝ #M5 3 ¤Î °û #M5r 163 ¤Î ¤Î #M5r 2 ¤Î ¾è #R5 140 ¤Î ºÜ #R5 168 ¤Î ¤Î #R5 18 ¤Î ¤Î #S5 24 ¤Î Ìî #T35 188 ¤Î¡¼ ¥Î¡¼ #CJ 3 ¤Î¡¼¤È ¥Î¡¼¥È #T30 9 ¤Î¡¼¤É ¥Î¡¼¥É #T35 102 ¤Î¡¼¤Þ¤ë ¥Î¡¼¥Þ¥ë #T05 3 ¤Î¤¢ ¥Î¥¢ #JN 0 ¤Î¤¤¤º ¥Î¥¤¥º #T35 16 ¤Î¤¤¤Á Ìî»Ô #JCN 0 ¤Î¤¤¤Þ¤ó ¥Î¥¤¥Þ¥ó #KK 3 ¤Î¤¤¤í¡¼¤¼ ¥Î¥¤¥í¡¼¥¼ #T35 2 ¤Î¤¦ ǽÀ¸ #JCN 0 ¤Î¤¦ ǹ #KJ 0 ¤Î¤¦ Ǻ #KJ 0 ¤Î¤¦ Ç¿ #KJ 0 ¤Î¤¦ Ç» #KJ 1 ¤Î¤¦ ÇÀ #KJ 3 ¤Î¤¦ Ǽ #KJ 9 ¤Î¤¦ ¤Î¤¦ #KYU 2 ¤Î¤¦ ̵¤¦ #KYU 3 ¤Î¤¦ ǽ #T35 10 ¤Î¤¦ Ǿ #T35 7 ¤Î¤¦¤¤¤Ã¤±¤Ä Ǿ°î·ì #T35 0 ¤Î¤¦¤¨¤ó Ǿ±ê #T35 0 ¤Î¤¦¤¨¤ó ÇÀ±à #T35 0 ¤Î¤¦¤« ÇÀ²È #T35 1 ¤Î¤¦¤«¤¤ Ǽ²ñ #T35 4 ¤Î¤¦¤«¤¬¤¯ Ǿ²Ê³Ø #T35 0 ¤Î¤¦¤«¤¹¤¤¤¿¤¤ Ǿ²¼¿âÂÎ #T35 0 ¤Î¤¦¤«¤ó Ǽ´½ #T30 0 ¤Î¤¦¤«¤ó Ǿ´´ #T35 1 ¤Î¤¦¤«¤ó¤­ ÇÀ´×´ü #T35 0 ¤Î¤¦¤¬¤¯ ǽ³Ú #T35 0 ¤Î¤¦¤¬¤¯ ÇÀ³Ø #T35 1 ¤Î¤¦¤¬¤¿ ľÊý #JCN 0 ¤Î¤¦¤­ Ǽ´ü #T35 8 ¤Î¤¦¤­¤° ÇÀµ¡¶ñ #T35 0 ¤Î¤¦¤­¤ç¤¦ ÇÀ¶¨ #T35 0 ¤Î¤¦¤­¤ó Ǽ¶â #T30 0 ¤Î¤¦¤®¤ç¤¦ ÇÀ¶È #T35 4 ¤Î¤¦¤° ÇÀ¶ñ #T35 0 ¤Î¤¦¤³¤¦ Ç»¸ü #T05 1 ¤Î¤¦¤³¤¦ ÇÀ¹Ì #T30 0 ¤Î¤¦¤³¤¦¤½¤¯ Ǿ¹¼ºÉ #T35 1 ¤Î¤¦¤³¤Ä Ǽ¹ü #T30 0 ¤Î¤¦¤µ¤® ÌîÅÆ #T35 0 ¤Î¤¦¤µ¤®¤ç¤¦ ÇÀºî¶È #T35 0 ¤Î¤¦¤µ¤Ä Ǻ»¦ #T30 0 ¤Î¤¦¤µ¤ó ÇÀ»º #T35 1 ¤Î¤¦¤· Ǿ»à #T30 0 ¤Î¤¦¤·¤ã Ǽ¼Ö #T30 2 ¤Î¤¦¤·¤å¤¯ Ç»½Ì #T30 0 ¤Î¤¦¤¸¤ç¤¦ ÇÀ¾ì #T35 0 ¤Î¤¦¤º¤¤ Ǿ¿ñ #T35 0 ¤Î¤¦¤¼¤¤ ǼÀÇ #T30 0 ¤Î¤¦¤½¤Ã¤Á¤å¤¦ Ç¾Â´Ãæ #T35 0 ¤Î¤¦¤½¤ó ÇÀ¼ #T35 1 ¤Î¤¦¤¿¤ó ǻø #T35 2 ¤Î¤¦¤Á ÇÀÃÏ #T35 6 ¤Î¤¦¤Æ¤ó¤­ ǽŷµ¤ #T05 0 ¤Î¤¦¤É Ç»ÅÙ #T35 1 ¤Î¤¦¤É¤¦ ǽư #T35 1 ¤Î¤¦¤Ê¤¤ ǾÆâ #T35 2 ¤Î¤¦¤Ë¤å¤¦ ǼÆþ #T30 12 ¤Î¤¦¤Î¤¦¤È ¤Î¤¦¤Î¤¦¤È #F14 0 ¤Î¤¦¤Ï ǾÇÈ #T35 0 ¤Î¤¦¤Ï¤¦ ¥Î¥¦¥Ï¥¦ #T35 13 ¤Î¤¦¤Ï¤ó¤­ ÇÀÈË´ü #T35 0 ¤Î¤¦¤Ò¤ó ǼÉÊ #T30 18 ¤Î¤¦¤Õ ǼÉÕ #T30 4 ¤Î¤¦¤Õ ÇÀÉ× #T35 1 ¤Î¤¦¤Þ¤¯ ǾËì #T35 0 ¤Î¤¦¤ß ǽÈþ #JCN 0 ¤Î¤¦¤ß¤Ä ǻ̩ #T05 1 ¤Î¤¦¤ß¤ó ÇÀ̱ #T35 1 ¤Î¤¦¤à ǻ̸ #T35 1 ¤Î¤¦¤á¤ó ǽÌÌ #T35 0 ¤Î¤¦¤ä¤¯ ÇÀÌô #T35 0 ¤Î¤¦¤è¤¦ Ç¿áç #T35 1 ¤Î¤¦¤ê Ǿ΢ #T35 0 ¤Î¤¦¤ê¤Ä ǽΨ #T35 1 ¤Î¤¦¤ê¤ç¤¦ ǾΠ#T35 0 ¤Î¤¦¤ê¤ç¤¦ ǼÎà #T35 2 ¤Î¤¦¤ê¤ç¤¯ ǽÎÏ #T35 28 ¤Î¤¦¤ê¤ó ÇÀÎÓ #T35 1 ¤Î¤¦¤ê¤ó¤¹¤¤¤µ¤ó¤·¤ç¤¦ ÇÀÎӿ建¾Ê #KK 0 ¤Î¤ª¤¬¤¿ ľÊý #JCN 0 ¤Î¤«¤ß Ìî¾å #JCN 0 ¤Î¤¬ ƨ #S5 5 ¤Î¤¬¤¿ ÌîÊý #JCN 0 ¤Î¤¬¤ß Ìî¾å #JNS 0 ¤Î¤¬¤ì ƨ¤ì #KSr 3 ¤Î¤­ ¸® #T35 1 ¤Î¤­¤µ¤­ ¸®Àè #T35 0 ¤Î¤­¤Ê¤ß ¸®Ê #T35 1 ¤Î¤® ǽµÁ #JCN 0 ¤Î¤® ÌîÌÚ #JCN 0 ¤Î¤® ÌîµÁ #JNS 0 ¤Î¤® ²Ó #T35 0 ¤Î¤°¤Á Ìî¸ý #JCN 0 ¤Î¤± Âऱ #KS 0 ¤Î¤± ½ü¤± #KS 13 ¤Î¤³ »Ä #R5r 117 ¤Î¤³ »Ä #S5r 117 ¤Î¤³¤®¤ê µø #T35 1 ¤Î¤³¤Î¤·¤Þ ǽ¸ÅÅç #JCN 0 ¤Î¤³¤é¤º »Ä¤é¤º #F14 0 ¤Î¤³¤ê »Ä¤ê #SUC 16 ¤Î¤³¤ê »Ä¤ê #T35 1 ¤Î¤µ¤« Ìî±É #JCN 0 ¤Î¤¶¤­ Ìîºê #JCN 0 ¤Î¤¶¤ï ÌîÂô #JCN 0 ¤Î¤¶¤ï¤ª¤ó¤»¤ó ÌîÂô²¹Àô #CN 0 ¤Î¤·¤í ǽÂå #JCN 0 ¤Î¤¸¤Þ ÌîÅç #JNS 0 ¤Î¤¸¤Þ ÌîÅè #JNS 0 ¤Î¤¸¤å¤¯ Ìî½É #T30 1 ¤Î¤¸¤ê Ì #JCN 0 ¤Î¤» ǽÀª #JCN 0 ¤Î¤» ¾è¤» #KS 15 ¤Î¤» ºÜ¤» #KS 55 ¤Î¤»¤¬¤ï ÌîÇ÷Àî #JCN 0 ¤Î¤¾ ½ü #K5 80 ¤Î¤¾ ÇÁ #K5r 15 ¤Î¤¾ Î× #M5 1 ¤Î¤¾ ˾ #M5r 17 ¤Î¤¾¤¨ ÌîÉû #JNS 0 ¤Î¤¾¤­ ÇÁ #KJ 0 ¤Î¤¾¤­¤³ ¤Î¤¾¤­¹þ #M5r 1 ¤Î¤¾¤Þ¤· ˾¤Þ¤· #KY 36 ¤Î¤¾¤Þ¤·¤å¤¦ ˾¤Þ¤·¤å¤¦ #KYU 2 ¤Î¤¾¤ß ˾¤ß #T35 0 ¤Î¤¿¤¦ ¤Î¤¿¤¦ #T5r 0 ¤Î¤¿¤Þ Àë #W5 0 ¤Î¤¿¤Þ ¤Î¤¿¤Þ #W5 2 ¤Î¤À ÌîÅÄ #JCN 0 ¤Î¤À¤¬¤ï ÌîÅÄÀî #JCN 0 ¤Î¤Á ¸å #T35 45 ¤Î¤Á¤Î¤Á ¸å¡¹ #T35 0 ¤Î¤Ã¤« ¾è¤Ã¤« #R5 0 ¤Î¤Ã¤± ¾è¤Ã¤± #R5 0 ¤Î¤Ã¤± ¤Î¤Ã¤± #T35 0 ¤Î¤Ã¤È § #R5 1 ¤Î¤Ã¤È ¾è¤Ã¼è #R5r 2 ¤Î¤Ã¤È¤¤¤³¡¼¤ë ¡â #T35 1 ¤Î¤Ä ÌîÄÅ #JCN 0 ¤Î¤Ä¤± ÌîÉÕ #JCN 0 ¤Î¤Ä¤Ï¤ë ÌîÄŸ¶ #CN 0 ¤Î¤Æ¤ó ÌîÅ· #T35 4 ¤Î¤Æ¤ó¤Ö¤í ÌîÅ·É÷Ϥ #T35 1 ¤Î¤È ǽÅÔ #JCN 0 ¤Î¤È¤«¤ï ǽÅÐÀî #JCN 0 ¤Î¤È¤¸¤Þ ǽÅÐÅç #JCN 0 ¤Î¤È¤Ð¤¤¤ª¡¼¤È ¥Î¥È¥Ð¥¤¥ª¡¼¥È #T35 1 ¤Î¤É °ö #T35 0 ¤Î¤É ¹¢ #T35 5 ¤Î¤É¤« ¤Î¤É¤« #T05 0 ¤Î¤É¤« Ĺ´× #T05 0 ¤Î¤Ê¤« ÌîÃæ #JNS 0 ¤Î¤Ê¤« ÌîÃæ #T35 59 ¤Î¤Î¤¤¤Á Ì»Ô #CN 0 ¤Î¤Î¤· ÇÍ #R5r 0 ¤Î¤Ï¤é Ì #JNS 0 ¤Î¤Ð ¿­¤Ð #S5r 35 ¤Î¤Ð ±ä¤Ð #S5r 7 ¤Î¤Ð¤Ê¤· ÌîÊü¤· #T00 0 ¤Î¤Ó ¿­¤Ó #KSr 4 ¤Î¤Ó ±ä¤Ó #KSr 9 ¤Î¤Ó¤Ê¤ä ¿­¤ÓǺ #M5r 0 ¤Î¤Ó¤Î¤Ó ¤Î¤Ó¤Î¤Ó #F04 1 ¤Î¤Ó¤Î¤Ó ¤Î¤Ó¤Î¤Ó #T36 0 ¤Î¤Ó¤Î¤Ó ¿­¤Ó¿­¤Ó #T30 0 ¤Î¤Ö °ô #KJ 0 ¤Î¤Ö ¿® #KJ 0 ¤Î¤Ö Ī #KJ 0 ¤Î¤Ö °Ô #KJ 1 ¤Î¤Ö ±ä #KJ 1 ¤Î¤Ö Àë #KJ 1 ¤Î¤Ö ¿­ #KJ 4 ¤Î¤Ö¤¢¤­ ¿®ÌÀ #JNM 0 ¤Î¤Ö¤ª ¿­À¸ #JNM 0 ¤Î¤Ö¤ª ¿­É× #JNM 0 ¤Î¤Ö¤ª ¿®À¸ #JNM 0 ¤Î¤Ö¤ª ¿®ÃË #JNM 0 ¤Î¤Ö¤ª ¿®É× #JNM 0 ¤Î¤Ö¤ª ¿®Íº #JNM 0 ¤Î¤Ö¤ª ÄÄͺ #JNM 0 ¤Î¤Ö¤ª¤­ ζ½ #JNM 0 ¤Î¤Ö¤³ ¿­»Ò #JNM 0 ¤Î¤Ö¤³ ¿®»Ò #JNM 0 ¤Î¤Ö¤¿¤« ¿®¹§ #JNM 0 ¤Î¤Ö¤Ê¤¬ ¿®Ä¹ #JNM 0 ¤Î¤Ö¤Ò¤³ ¿®É§ #JNM 0 ¤Î¤Ö¤Ò¤³ Àëɧ #JNM 0 ¤Î¤Ö¤Ò¤í ¿­¹À #JNM 0 ¤Î¤Ö¤Þ¤µ ÀëÀ¯ #JNM 0 ¤Î¤Ö¤ä ¿®Ìé #JNM 0 ¤Î¤Ö¤æ¤­ ¿®¹¬ #JNM 0 ¤Î¤Ö¤æ¤­ ¿®¹Ô #JNM 0 ¤Î¤Ö¤æ¤­ ¿®Ç· #JNM 0 ¤Î¤Ö¤è¤· ¿®µÁ #JNM 0 ¤Î¤Ø¤¸ ÌîÊÕÃÏ #JCN 0 ¤Î¤Ù ÌîÊÕ #JNS 0 ¤Î¤Ù ¿­¤Ù #KS 1 ¤Î¤Ù ½Ò¤Ù #KS 121 ¤Î¤Ù ±ä¤Ù #KSr 6 ¤Î¤Ù ±ä¤Ù #RT 0 ¤Î¤Ù¤ª¤« ±ä²¬ #JCN 0 ¤Î¤Ù¤ë ¥Î¥Ù¥ë #T35 0 ¤Î¤Û¤¦¤º ÌîÊü¿Þ #T05 0 ¤Î¤Û¤Û¤ó¤È ¤Î¤Û¤Û¤ó¤È #F12 2 ¤Î¤Ü ¾º #R5r 1 ¤Î¤Ü ¾å #R5r 1 ¤Î¤Ü ÅÐ #R5r 18 ¤Î¤Ü ¤Î¤Ü #R5r 2 ¤Î¤Ü¤» ¤Î¤Ü¤» #KSr 1 ¤Î¤Ü¤ê¤Ä¤á ¾å¤êµÍ¤á #KS 0 ¤Î¤Ü¤ê¤Ù¤Ä ÅÐÊÌ #CN 0 ¤Î¤Ü¤ë ¾º #JNM 0 ¤Î¤Ü¤ë ÅÐ #JNM 0 ¤Î¤Þ ¡¹ #KJ 1 ¤Î¤ß ǽÈþ #JCN 0 ¤Î¤ß Ç #T35 0 ¤Î¤ß¤Í¡¼¤È ¥Î¥ß¥Í¡¼¥È #T30 1 ¤Î¤ß¤Û °û¤ß´³ #S5 0 ¤Î¤ß¤â¤Î °ûʪ #T35 7 ¤Î¤ß¤ä °û¤ß²° #T35 4 ¤Î¤à¤é Ìî¼ #JNS 0 ¤Î¤á ¤Î¤á #R5 0 ¤Î¤á¤ê¤³ ¤Î¤á¤ê¹þ #M5r 0 ¤Î¤â¤¶¤­ ÌîÊìºê #JCN 0 ¤Î¤â¤È ÌîËÜ #JNS 0 ¤Î¤ä¤Þ Ì #T35 0 ¤Î¤é ÌîÎÉ #T35 1 ¤Î¤é¤¯¤é ¤Î¤é¤¯¤é #F04 0 ¤Î¤é¤ê¤¯¤é¤ê ¤Î¤é¤ê¤¯¤é¤ê #F04 0 ¤Î¤ê µª #KJ 0 ¤Î¤ê ¶ë #KJ 0 ¤Î¤ê É« #KJ 0 ¤Î¤ê ·û #KJ 1 ¤Î¤ê ºó #KJ 1 ¤Î¤ê ÆÁ #KJ 1 ¤Î¤ê ÈÏ #KJ 1 ¤Î¤ê µ¬ #KJ 2 ¤Î¤ê § #KJ 2 ¤Î¤ê ³¤ÂÝ #T35 3 ¤Î¤ê ¸Ò #T35 4 ¤Î¤ê¤¢¤­ §ÌÀ #JNM 0 ¤Î¤ê¤¢¤­ ÈÏÌÀ #JNM 0 ¤Î¤ê¤¢¤² ¾è¤ê¾å¤² #KS 0 ¤Î¤ê¤¤¤ì ¾è¤êÆþ¤ì #KSr 1 ¤Î¤ê¤¦¤Ä ¾è¤ê°Ü #R5r 1 ¤Î¤ê¤ª µªÃË #JNM 0 ¤Î¤ê¤ª µªÉ× #JNM 0 ¤Î¤ê¤ª §É× #JNM 0 ¤Î¤ê¤ª¤¯¤ì ¾è¤êÃÙ¤ì #KSr 1 ¤Î¤ê¤ª¤ê ¾è¤ê¹ß¤ê #T30 2 ¤Î¤ê¤«¤¨ ¾è¤ê´¹¤¨ #KSr 13 ¤Î¤ê¤«¤¨ ¾è´¹ #T35 1 ¤Î¤ê¤«¤« ¾è¤ê¤«¤« #R5 0 ¤Î¤ê¤­ ¾è¤êµ¤ #T08 0 ¤Î¤ê¤­ ¾è¤êÀÚ #R5 3 ¤Î¤ê¤¯ ¾è¤êÁÈ #M5r 0 ¤Î¤ê¤¯¤ß¤¤¤ó ¾èÁȰ÷ #T35 0 ¤Î¤ê¤¯¤é ¾è°È #JCN 0 ¤Î¤ê¤³ ¤Î¤ê»Ò #JNM 0 ¤Î¤ê¤³ µª»Ò #JNM 0 ¤Î¤ê¤³ ŵ»Ò #JNM 0 ¤Î¤ê¤³ ÆÁ»Ò #JNM 0 ¤Î¤ê¤³ Ë¡»Ò #JNM 0 ¤Î¤ê¤³ ¾è¤ê¹þ #M5r 2 ¤Î¤ê¤³ ¾è¤ê±Û #S5r 0 ¤Î¤ê¤³¤¨ ¾è¤ê±Û¤¨ #KS 2 ¤Î¤ê¤¹¤Æ ¾è¤ê¼Î¤Æ #KSr 0 ¤Î¤ê¤À ¾è¤ê½Ð #S5 1 ¤Î¤ê¤Ä ¾è¤ê·Ñ #G5r 1 ¤Î¤ê¤Ä¤± ¾è¤êÉÕ¤± #KS 0 ¤Î¤ê¤Å¤± ¸ÒÉÕ¤± #T30 0 ¤Î¤ê¤È ½Ë»ì #T35 0 ¤Î¤ê¤Ð ¾è¤ê¾ì #T35 0 ¤Î¤ê¤Ò¤µ ÈÏµ× #JNM 0 ¤Î¤ê¤Ò¤í ŵÂç #JNM 0 ¤Î¤ê¤Þ¤ï ¾è¤ê²ó #S5 0 ¤Î¤ê¤â¤Î ¾èʪ #T35 3 ¤Î¤ê¤æ¤­ µª¹¬ #JNM 0 ¤Î¤ê¤æ¤­ µªÇ· #JNM 0 ¤Î¤ê¤æ¤­ ¶ëÇ· #JNM 0 ¤Î¤ë¤¦¤§¡¼ ¥Î¥ë¥¦¥§¡¼ #CN 0 ¤Î¤ë¤à ¥Î¥ë¥à #T35 2 ¤Î¤í ÌîϤ #JCN 0 ¤Î¤í ¤Î¤í #KY 2 ¤Î¤í Æß #KY 2 ¤Î¤í ¼ö #W5r 2 ¤Î¤í¤¦ ¤Î¤í¤¦ #KYU 1 ¤Î¤í¤¦ Æß¤¦ #KYU 1 ¤Î¤í¤· ϵ±ì #T35 0 ¤Î¤í¤Î¤í ¤Î¤í¤Î¤í #F04 0 ¤Î¤í¤Î¤í ¤Î¤í¤Î¤í #T16 0 ¤Î¤í¤ï¤· ¼ö¤ï¤· #KY 0 ¤Î¤í¤ï¤·¤å¤¦ ¼ö¤ï¤·¤å¤¦ #KYU 0 ¤Î¤ó ¥Î¥ó #PRE 3 ¤Î¤ó¤­ ε¤ #T05 0 ¤Î¤ó¤¿¡¼¤ß¤Ê¤ë ¥Î¥ó¥¿¡¼¥ß¥Ê¥ë #T05 1 ¤Î¤ó¤Ó¤ê ¤Î¤ó¤Ó¤ê #F04 6 ¤Î¤ó¤Ó¤ê ¤Î¤ó¤Ó¤ê #T16 0 ¤Î¤ó¤Õ¤£¤¯¤·¤ç¤ó ¥Î¥ó¥Õ¥£¥¯¥·¥ç¥ó #T35 0 ¤Î¤ó¤Ù¤ó¤À¤é¤ê ¤Î¤ó¤Ù¤ó¤À¤é¤ê #F06 0 ¤Î¤ó¤Ù¤ó¤À¤é¤ê ¤Î¤ó¤Ù¤ó¤À¤é¤ê #T16 0 Canna37p3/dic/ideo/pubdic/pod.c0100644000076500001200000006651510046011573015532 0ustar shinraadmin/* Copyright 1994 Pubdic+ Project. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of Pubdic+ * Project not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. Pubdic+ Project makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * PUBDIC+ PROJECT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL PUBDIC+ PROJECT BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #include #include "ccompat.h" RCSID("$Id: pod.c,v 1.3.6.1 2004/05/04 22:04:43 aida_s Exp $"); typedef unsigned short Wchar; static char *program; static int compare, ignore_hinshi_to_compare, sort_by_frequency, merge_sj3; static int merge_kind, wnn_type_output, canna_type_output, sj3_type_output; static int list_kinds; static int copy_frequency, extract_kana = 0; static long specific_kind; static FILE *in1, *in2; static char *common_out, *old_out, *new_out, *hinshi_table, *bunrui; static char *description_table; static int selhinshi = 0; /* hinshi_direction */ #define INORDER 0 #define REVERSE 1 static int hinshi_direction = INORDER; /* see above */ #define READBUFSIZE 128 #define DICBUFSIZE (2 << 13) #define DICBUFINDEXMASK (DICBUFSIZE - 1) #define HINSHIBUFSIZE (2 << 13) #define HINSHIBUFINDEXMASK (HINSHIBUFSIZE - 1) /* status of intern() */ #define FOUND 0 #define CREATE 1 # define SS2 0x8e # define SS3 0x8f # define MSB 0x80 # define MSK 0x7f # define WCG0 0x0000 # define WCG1 0x8080 # define WCG2 0x0080 # define WCG3 0x8000 # define WCMSK 0x8080 int Mbstowcs(d, ss, n) Wchar *d; char *ss; int n; { register Wchar *p = d; register int ch; register unsigned char *s = (unsigned char *)ss; while ((ch = *s++) && (p - d < n)) { if (ch & MSB) { if (ch == SS2) { /* kana */ *p++ = (Wchar)*s++; } else if (ch == SS3) { *p++ = (Wchar)((*s << 8) | (*(s + 1) & MSK)); s += 2; } else { *p++ = (Wchar)((ch << 8) | (*s++ & 0xff)); } } else { *p++ = (Wchar)ch; } } *p = (Wchar)0; return p - d; } int Wcstombs(d, s, n) char *d; Wchar *s; int n; { register unsigned char *p = (unsigned char *)d; register Wchar ch; while ((ch = *s++) && ((char *)p - d + 2 < n)) { switch (ch & WCMSK) { case WCG0: *p++ = ch & 0xff; break; case WCG1: *p++ = (ch >> 8) & 0xff; *p++ = ch & 0xff; break; case WCG2: *p++ = SS2; *p++ = ch & 0xff; break; case WCG3: *p++ = SS3; *p++ = (ch >> 8) & 0xff; *p++ = (ch & 0xff) | MSB; break; } } *p = '\0'; return (char *)p - d; } int Wscmp(s1, s2) register Wchar *s1, *s2; { register int res; /* °Ê²¼¤Î¥³¡¼¥É¤Ï¤¤¤µ¤µ¤«¥È¥ê¥Ã¥­¡¼¤Ê¤Î¤Ç¡¢ÀâÌÀ¤ò²Ã¤¨¤Æ¤ª¤³¤¦¡£ °Ê²¼¤Ç¤Ï¤³¤Î¥³¥á¥ó¥ÈÆâ¤Ë¤¢¤ë¤è¤¦¤Ê¤³¤È¤ò¤·¤¿¤¤¤ï¤±¤Ç¤¢¤ë¡£ while (*s1 && *s2 && && *s1 == *s2) { s1++; s2++; } return *s1 - *s2; ¤¹¤Ê¤ï¤Á¡¢s1 ¤â s2 ¤â EOS ('\0') ¤ò»Ø¤·¤Æ¤¤¤Ê¤¯¤Æ¡¢¤·¤«¤âÃͤ¬ °Û¤Ê¤ë´Ö¤Ï¤½¤ì¤¾¤ì¤Î¥Ý¥¤¥ó¥¿¤ò¿Ê¤á¤ë¡£¤¤¤º¤ì¤«¤¬ EOS ¤Ë¤Ê¤ë¤«¡¢ Ãͤ¬°ã¤Ã¤Æ¤­¤¿¾ì¹ç¤Ë¤Ï¡¢*s1 - *s2 ¤òÊÖ¤¹¡£ */ while (!(res = *s1 - *s2++) && *s1++) ; return res; } Wchar * Wscpy(d, s) Wchar *d; register Wchar *s; { register Wchar *p = d, ch; while (ch = *s++) { *p++ = ch; } *p = (Wchar)0; return d; } int Wslen(s) Wchar *s; { register Wchar *p = s; while (*p) p++; return p - s; } int Watoi(s) Wchar *s; { register int res = 0; register Wchar ch; while ((ch = *s++) && ((Wchar)'0' <= ch) && (ch <= (Wchar)'9')) { res *= 10; res += ch - (Wchar)'0'; } return res; } static void Fputws(s, f) Wchar *s; FILE *f; { char buf[READBUFSIZE]; if (Wcstombs(buf, s, READBUFSIZE)) { (void)fputs(buf, f); } } Wchar * Fgetws(buf, siz, f) Wchar *buf; int siz; FILE *f; { char mbuf[READBUFSIZE], *p; p = fgets(mbuf, READBUFSIZE, f); if (p) { if (Mbstowcs(buf, mbuf, siz)) { return buf; } } return (Wchar *)0; } /* s ¤¬Á´¤Æ¥«¥¿¥«¥Ê¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤òÊÖ¤¹´Ø¿ô */ static int all_kana(s) Wchar *s; { static Wchar xa = 0, xke, aa, *p; if (!xa) { (void)Mbstowcs(&xa, "\045\041", 1); (void)Mbstowcs(&xke, "\045\166", 1); (void)Mbstowcs(&aa, "\041\074", 1); } for (p = s ; *p ; p++) { if (!(*p == aa || (xa <= *p && *p <= xke))) { return 0; } } return 1; } /* ¥¹¥é¥Ã¥·¥å¤òõ¤¹ */ static Wchar * findslash(s) Wchar *s; { while (*s) { if (*s == (Wchar)'/') { return s; } s++; } return (Wchar *)0; } /* ¥È¡¼¥¯¥ó¤ò°ì¸Ä¼è¤ê½Ð¤¹ */ static Wchar * extstr(p, pp, key_return) Wchar *p, **pp; int *key_return; { Wchar *res; int key = 0; while (*p == (Wchar)' ' || *p == (Wchar)'\t') p++; res = p; while (*p && *p != (Wchar)' ' && *p != (Wchar)'\t' && *p != (Wchar)'\n') { key += (int)*p++; } *p++ = (Wchar)'\0'; if (pp) *pp = p; if (key_return) *key_return = key; return res; } /* ÉÊ»ì¤òɽ¤¹¹½Â¤ÂÎ */ struct hinshipack { int nhinshis; Wchar *hinshi; unsigned flags; /* see below */ struct hinshipack *next; }; /* values of flags */ #define REPLACED 1 static struct hinshipack *partsofspeech[HINSHIBUFSIZE]; static void malloc_failed() { (void)fprintf(stderr, "%s: malloc failed.\n", program); } /* ÉÊ»ì̾¤òÉÊ»ì̾¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë */ static struct hinshipack * internhinshi(str, flag) Wchar *str; int flag; { struct hinshipack *p, **pp; Wchar *s; int key = 0; for (s = str ; *s ; s++) key += (int)*s; key = ((unsigned)key & HINSHIBUFINDEXMASK); for (pp = partsofspeech + key ; p = *pp ; pp = &(p->next)) { if (!Wscmp(p->hinshi, str)) { return p; } } if (flag) { p = (struct hinshipack *)malloc(sizeof(struct hinshipack)); if (p) { *pp = p; (void)bzero((char *)p, sizeof(struct hinshipack)); p->hinshi = (Wchar *)malloc((Wslen(str) + 1) * sizeof(Wchar)); if (p->hinshi) { (void)Wscpy(p->hinshi, str); p->nhinshis = 1; return p; } free((char *)p); } malloc_failed(); } return (struct hinshipack *)0; } /* ÉÊ»ì̾¤òÃÖ¤­´¹¤¨¤ë */ static void replace_hinshi() { FILE *f; Wchar readbuf[READBUFSIZE], *to, *from, *s; struct hinshipack *hinshientry, *p; int i, err = 0; f = fopen(hinshi_table, "r"); if (!f) { (void)fprintf(stderr, "%s: can not open the table file of parts of speech \"%s\".\n", program, hinshi_table); exit(1); } while (s = Fgetws(readbuf, READBUFSIZE, f)) { from = extstr(s, &s, (int *)0); to = extstr(s, &s, (int *)0); if (hinshi_direction == REVERSE) { Wchar *xx = from; from = to; to = xx; } hinshientry = internhinshi(from, 0); if (hinshientry) { Wchar *xx; xx = (Wchar *)malloc((Wslen(to) + 1) * sizeof(Wchar)); if (xx) { Wchar *cp; int n = 1; (void)Wscpy(xx, to); free((char *)hinshientry->hinshi); hinshientry->hinshi = xx; for (cp = xx ; *cp ; cp++) { if (*cp == (Wchar)'/') { *cp = (Wchar)0; n++; } } hinshientry->nhinshis = n; hinshientry->flags |= REPLACED; } else { malloc_failed(); } } } (void)fclose(f); for (i = 0 ; i < HINSHIBUFSIZE ; i++) { for (p = partsofspeech[i] ; p ; p = p->next) { if (!(p->flags & REPLACED)) { (void)fprintf(stderr, "%s: The replacement for \"", program); Fputws(p->hinshi, stderr); (void)fprintf(stderr, "\" is not mentioned in the table.\n"); err = 1; } } } if (err) { exit(1); } } static void select_hinshi(n) int n; { Wchar *s, *t, *xx; struct hinshipack *p; int i; if (!n) return; for (i = 0 ; i < HINSHIBUFSIZE ; i++) { for (p = partsofspeech[i] ; p ; p = p->next) { switch (n) { case 1: s = findslash(p->hinshi); if (s) { *s = (Wchar)0; } break; case 2: s = findslash(p->hinshi); if (s) { s++; t = findslash(s); if (t) { xx = (Wchar *)malloc((t - s + 1) * sizeof(Wchar)); if (xx) { *t = (Wchar)0; (void)Wscpy(xx, s); t = p->hinshi; p->hinshi = xx; (void)free((char *)t); } } } break; case 3: s = findslash(p->hinshi); if (s) { t = findslash(s + 1); if (t) { t++; xx = (Wchar *)malloc((Wslen(t) + 1) * sizeof(Wchar)); if (xx) { (void)Wscpy(xx, t); t = p->hinshi; p->hinshi = xx; (void)free((char *)t); } } } break; default: break; } } } } /* ½ª»ß·Á¤òÄɲ乤뤿¤á¤Î¥ë¡¼¥ë¥Õ¥¡¥¤¥ë¤ÎÆâÉôɽ¸½(¤À¤È»×¤¦) */ struct descpack { Wchar *hinshi, *tandesc, *yomdesc; struct descpack *next; }; static void freedesc(p) struct descpack *p; { free((char *)p->hinshi); free((char *)p->tandesc); free((char *)p->yomdesc); free((char *)p); } static struct descpack *description[HINSHIBUFSIZE]; /* ¥ë¡¼¥ë¤ÎÅÐÏ¿ */ static struct descpack * interndesc(hin, tan, yom) Wchar *hin, *tan, *yom; { struct descpack *p, **pp, *next = (struct descpack *)0; Wchar *s; int key = 0; for (s = hin ; *s ; s++) key += (int)*s; key = ((unsigned)key & HINSHIBUFINDEXMASK); for (pp = description + key ; p = *pp ; pp = &(p->next)) { if (!Wscmp(p->hinshi, hin)) { if (!Wscmp(p->tandesc, tan) && !Wscmp(p->yomdesc, yom)) { return p; } else { *pp = next = p->next; freedesc(p); break; } } } p = (struct descpack *)malloc(sizeof(struct descpack)); if (p) { *pp = p; (void)bzero((char *)p, sizeof(struct descpack)); p->next = next; p->hinshi = (Wchar *)malloc((Wslen(hin) + 1) * sizeof(Wchar)); if (p->hinshi) { (void)Wscpy(p->hinshi, hin); p->tandesc = (Wchar *)malloc((Wslen(tan) + 1) * sizeof(Wchar)); if (p->tandesc) { (void)Wscpy(p->tandesc, tan); p->yomdesc = (Wchar *)malloc((Wslen(yom) + 1) * sizeof(Wchar)); if (p->yomdesc) { (void)Wscpy(p->yomdesc, yom); return p; } free((char *)p->tandesc); } free((char *)p->hinshi); } free((char *)p); } malloc_failed(); return (struct descpack *)0; } /* ¥ë¡¼¥ë¤Îõº÷ */ static struct descpack * searchdesc(hin) Wchar *hin; { struct descpack *p, **pp; Wchar *s; int key = 0; for (s = hin ; *s ; s++) key += (int)*s; key = ((unsigned)key & HINSHIBUFINDEXMASK); for (pp = description + key ; p = *pp ; pp = &(p->next)) { if (!Wscmp(p->hinshi, hin)) { return p; } } return (struct descpack *)0; } static void store_description() { FILE *f; Wchar readbuf[READBUFSIZE], *hin, *tan, *yom, *s; if (!description_table) { return; } f = fopen(description_table, "r"); if (!f) { (void)fprintf(stderr, "%s: can not open the table file of parts of speech \"%s\".\n", program, description_table); exit(1); } while (s = Fgetws(readbuf, READBUFSIZE, f)) { Wchar nl[1]; nl[0] = (Wchar)0; hin = tan = yom = nl; hin = extstr(s, &s, (int *)0); if (*hin) { tan = extstr(s, &s, (int *)0); if (*tan) { yom = extstr(s, &s, (int *)0); } } (void)interndesc(hin, tan, yom); } (void)fclose(f); } /* ¥¨¥ó¥È¥ê¤Î¼ïÊ̤òɽ¤¹¹½Â¤ÂΤ½¤Î¾ */ struct kindpack { Wchar *kind; long kindbit; } kinds[sizeof(long) * 8]; static int nkinds; #define KIHONBIT 1L /* ¼ïÊ̤ÎÅÐÏ¿ */ static long internkind(s) Wchar *s; { int i; Wchar *p; p = findslash(s); if (p) { long res; *p = (Wchar)'\0'; res = internkind(s); res |= internkind(p + 1); return res; } else { for (i = 0 ; i < nkinds ; i++) { if (!Wscmp(s, kinds[i].kind)) { return kinds[i].kindbit; } } if (nkinds < (sizeof(long) * 8) && (kinds[nkinds].kind = (Wchar *)malloc((Wslen(s) + 1) * sizeof(Wchar))) ) { (void)Wscpy(kinds[nkinds].kind, s); kinds[nkinds].kindbit = 1 << nkinds; return kinds[nkinds++].kindbit; } return 0; } } /* ¼ïÊ̤ΰìÍ÷¤Î½ÐÎÏ */ static void listkinds() { int i; for (i = 0 ; i < nkinds ; i++) { Fputws(kinds[i].kind, stdout); (void)putchar('\n'); } } static int kindcompar(k1, k2) struct kindpack *k1, *k2; { return Wscmp(k1->kind, k2->kind); } static void sortkind() { qsort((char *)kinds, nkinds, sizeof(struct kindpack), kindcompar); } /* ¼­½ñ¤òɽ¤¹¹½Â¤ÂÎ */ struct dicpack { Wchar *yomi, *tango; struct hinshipack *hinshi; int hindo; long kind; Wchar *extdata; unsigned flags; /* SEE BELOW */ struct dicpack *next; }; #define COMMON 001 #define NEW 002 static struct dicpack *dic[DICBUFSIZE], **pdic; static int ndicentries = 0; /* intern -- ¼­½ñ¥¨¥ó¥È¥ê¤Î¸¡º÷/ÅÐÏ¿ Â裶°ú¿ô¤Î stat ¤È¤·¤Æ¥Ì¥ë¤Ç¤Ê¤¤¥¢¥É¥ì¥¹¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢Æ±¤¸¥¨¥ó¥È¥ê ¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤ÏÅÐÏ¿¤ò¹Ô¤¦¡£¥¢¥É¥ì¥¹¤¬¥Ì¥ë¤Î¾ì¹ç¤Ë¤ÏÅÐÏ¿¤·¤Ê¤¤¡£ flags ¤Ë¤è¤Ã¤Æ¤¤¤í¤¤¤í¤È»ØÄê¤ò¤¹¤ë¡£(°Ê²¼¤ò¸«¤Æ¤Í)¡£ hinshi ¤Ë 0 ¤òÅϤ·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£kind ¤Ï 0 ¤òÅϤ·¤Æ¤â²Ä¤À¤¬¡¢-m ¤Î»þ¤¸¤ã¤Ê¤¤ ¥Þ¥Ã¥Á¤Ï¤·¤Ê¤¤¤Î¤ÇÃí°Õ¡£ */ /* flags */ #define IGNORE_HINSHI 1L #define IGNORE_KIND 2L static struct dicpack * intern(key, yomi, kouho, hinshi, hindo, kind, stat, flags) int key, hindo, *stat; Wchar *yomi, *kouho, *hinshi; long kind, flags; { struct dicpack *p, **pp; struct descpack *dp; Wchar nl[1], *yomdesc = nl, *tandesc = nl; Wchar *yom = (Wchar *)0, *tan = (Wchar *)0, *dhinshi, *dh; nl[0] = (Wchar)'\0'; if (description_table) { dhinshi = dh = hinshi; /* ¤«¤ó¤Ê¤ÎÉÊ»ì¤òõ¤¹ */ while (*dh) { if (*dh++ == (Wchar)'/') { dhinshi = dh; } } dp = searchdesc(dhinshi); if (dp) { yomdesc = dp->yomdesc; tandesc = dp->tandesc; if (Wslen(yomdesc)) { Wchar *t; t = (Wchar *)malloc((Wslen(yomi) + Wslen(yomdesc) + 1) * sizeof(Wchar)); if (t) { (void)Wscpy(t, yomi); yom = yomi = t; (void)Wscpy(yomi + Wslen(yomi), yomdesc); } } if (Wslen(tandesc)) { Wchar *t; t = (Wchar *)malloc((Wslen(kouho) + Wslen(tandesc) + 1) * sizeof(Wchar)); if (t) { (void)Wscpy(t, kouho); tan = kouho = t; (void)Wscpy(kouho + Wslen(kouho), tandesc); } } } else { char foo[64]; (void)fprintf(stderr, "no description rule for "); (void)Wcstombs(foo, dhinshi, 64); (void)fprintf(stderr, "%s.\n", foo); } } key = ((unsigned)key & DICBUFINDEXMASK); for (pp = dic + key ; p = *pp ; pp = &(p->next)) { if (!Wscmp(p->yomi, yomi) && !Wscmp(p->tango, kouho) && ((flags & IGNORE_HINSHI) || !Wscmp(p->hinshi->hinshi, hinshi)) && ((flags & IGNORE_KIND) || ((p->kind & kind) == kind)) ) { /* match */ if (stat) *stat = FOUND; if (yom) free((char *)yom); if (tan) free((char *)tan); return p; } } if (stat) { p = (struct dicpack *)malloc(sizeof(struct dicpack)); if (p) { *pp = p; (void)bzero((char *)p, sizeof(struct dicpack)); p->yomi = (Wchar *)malloc((Wslen(yomi) + 1) * sizeof(Wchar)); if (p->yomi) { (void)Wscpy(p->yomi, yomi); p->tango = (Wchar *)malloc((Wslen(kouho) + 1) * sizeof(Wchar)); if (p->tango) { (void)Wscpy(p->tango, kouho); p->hinshi = internhinshi(hinshi, 1); if (p->hinshi) { p->hindo = hindo; *stat = CREATE; ndicentries++; p->kind = kind; p->extdata = (Wchar *)0; if (yom) free((char *)yom); if (tan) free((char *)tan); return p; } free((char *)p->tango); } free((char *)p->yomi); } free((char *)p); } malloc_failed(); } if (yom) free((char *)yom); if (tan) free((char *)tan); return (struct dicpack *)0; } #if 0 /* unused */ /* ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥È¥ê¤ËÂФ·¤Æ fn ¤ò¼Â¹Ô¤¹¤ë */ static void for_all_interned(fn) void (*fn)(); { int i; struct dicpack *p; for (i = 0 ; i < DICBUFSIZE ; i++) { for (p = dic[i] ; p ; p = p->next) { (*fn)(p); } } } #endif static void storepd(file) FILE *file; { Wchar readbuf[READBUFSIZE], *p, *yomi, *hinshi, *kouho, *hindo, *kind; int nhindo, key, tkey, stat; long kindbit; struct dicpack *dicentry; while (p = Fgetws(readbuf, READBUFSIZE, file)) { key = 0; yomi = extstr(p, &p, &tkey); key += tkey; kouho = extstr(p, &p, &tkey); key += tkey; hinshi = extstr(p, &p, (int *)0); hindo = extstr(p, &p, (int *)0); nhindo = Watoi(hindo); kind = extstr(p, (Wchar **)0, (int *)0); if (*kind) { kindbit = internkind(kind); } else { kindbit = KIHONBIT; } dicentry = intern(key, yomi, kouho, hinshi, nhindo, kindbit, &stat, IGNORE_KIND); if (dicentry) { dicentry->kind |= kindbit; } } } static void comparepd(file) FILE *file; { Wchar readbuf[READBUFSIZE], *p, *yomi, *hinshi, *kouho, *hindo, *kind; int nhindo, key, tkey, stat, *statp = &stat; struct dicpack *dicentry; long kindbit, flags = 0L; while (p = Fgetws(readbuf, READBUFSIZE, file)) { key = 0; yomi = extstr(p, &p, &tkey); key += tkey; kouho = extstr(p, &p, &tkey); key += tkey; hinshi = extstr(p, &p, (int *)0); if (ignore_hinshi_to_compare) { flags |= IGNORE_HINSHI; } hindo = extstr(p, &p, (int *)0); nhindo = Watoi(hindo); kind = extstr(p, (Wchar **)0, (int *)0); if (*kind) { kindbit = internkind(kind); } else { kindbit = KIHONBIT; } if (merge_kind || merge_sj3) { flags |= IGNORE_KIND; } if (copy_frequency) { statp = (int *)0; } dicentry = intern(key, yomi, kouho, hinshi, nhindo, kindbit, statp, flags); if (dicentry) { if (copy_frequency) { dicentry->hindo = nhindo; dicentry->flags &= ~COMMON; } else if (ignore_hinshi_to_compare && stat == FOUND) { /* ¤³¤Î¾ì¹ç¡¢Æ±¤¸¥­¡¼¤Î¥Á¥§¡¼¥ó¤¬ÊÖ¤ë */ struct dicpack *pd; for (pd = dicentry ; pd ; pd = pd->next) { if (!Wscmp(pd->yomi, yomi) && !Wscmp(pd->tango, kouho)) { pd->flags |= COMMON; if (!merge_sj3) { pd->kind |= kindbit; } if (merge_sj3) { int len = 0; Wchar *dat; if (pd->extdata) { len = Wslen(pd->extdata); } dat = (Wchar *)malloc((Wslen(hinshi) + 1 + len) * sizeof(Wchar)); if (dat) { if (len) { (void)Wscpy(dat, pd->extdata); (void)free((char *)pd->extdata); } (void)Wscpy(dat + len, hinshi); pd->extdata = dat; } } } } } else { dicentry->kind |= kindbit; if (stat == FOUND) { dicentry->flags |= COMMON; } else { /* CREATE */ dicentry->flags |= NEW; } } } } } static void canna_yomioutput(ws, cf) Wchar *ws; FILE *cf; { Wchar yomi[READBUFSIZE]; Wchar *yp; Wchar c; static Wchar u[3] = {0xa5f4, 0xa4a6, 0xa1ab}; /* ¥ô ¤¦ ¡« */ /* * ¤«¤ó¤Ê¼­½ñ¤ÏÆÉ¤ß¤Ë¡Ö¥ô¡×¤ÎÂå¤ï¤ê¤Ë¡Ö¤¦¡«¡×¤ò»ÈÍѤ¹¤ë¤Î¤Ç * ¤½¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦ */ yp = yomi; while ((c = *ws++) != 0) { if (c == u[0]) { *yp++ = u[1]; *yp++ = u[2]; } else { *yp++ = c; } } *yp = 0; Fputws(yomi, cf); } static void canna_output(cf, p, h, n) FILE *cf; struct dicpack *p; Wchar *h; int n; { for (; n-- > 0 ; h += Wslen(h) + 1) { canna_yomioutput(p->yomi, cf); (void)putc(' ', cf); Fputws(h, cf); if (p->hindo) { (void)fprintf(cf, "*%d", p->hindo); } (void)putc(' ', cf); Fputws(p->tango, cf); (void)putc('\n', cf); } } static void entry_out(cf, p, h, n, ex) FILE *cf; struct dicpack *p; Wchar *h; int n; Wchar *ex; { int i, f = 1; long b; for (; n-- > 0 ; h += Wslen(h) + 1) { Fputws(p->yomi, cf); (void)putc(' ', cf); Fputws(p->tango, cf); (void)putc(' ', cf); if (merge_sj3 && ex) { Fputws(ex, cf); (void)putc('/', cf); } Fputws(h, cf); if (!sj3_type_output) { (void)fprintf(cf, " %d", p->hindo); } if (!wnn_type_output) { if (bunrui) { (void)printf(" %s", bunrui); } else { if (specific_kind) { b = (specific_kind & p->kind); } else { b = p->kind; } if (b != KIHONBIT) { /* ´ðËܤÀ¤±¤À¤Ã¤¿¤é²¿¤â½ñ¤«¤Ê¤¤ */ for (i = 0 ; i < nkinds ; i++) { if (b & kinds[i].kindbit) { if (f) { (void)putc(' ', cf); f = 0; } else { (void)putc('/', cf); } Fputws(kinds[i].kind, cf); } } } } } (void)putc('\n', cf); } } /* p ¤Çɽ¤µ¤ì¤ë¥¨¥ó¥È¥ê¤ò¥Õ¥¡¥¤¥ë cf ¤Ë½ÐÎϤ¹¤ë */ static void printentry(cf, p) FILE *cf; struct dicpack *p; { if (specific_kind && !(p->kind & specific_kind)) { return; } if (extract_kana && !all_kana(p->tango)) { return; } if (selhinshi && !p->hinshi->hinshi[0]) { return; } if (canna_type_output) { canna_output(cf, p, p->hinshi->hinshi, p->hinshi->nhinshis); } else { entry_out(cf, p, p->hinshi->hinshi, p->hinshi->nhinshis, p->extdata); } } #if 0 /* unused */ static void showdeleted(p) struct dicpack *p; { if (!(p->flags & COMMON)) { (void)printf("- "); printentry(stdout, p); } } #endif static void showentry(pd, n) struct dicpack **pd; int n; { FILE *cf = (FILE *)0, *of = (FILE *)0, *nf = (FILE *)0; struct dicpack *p; int i; if (common_out) { if (common_out[0] != '-' || common_out[1]) { cf = fopen(common_out, "w"); if (!cf) { (void)fprintf(stderr, "%s: can not open file \"%s\".\n", program, common_out); exit(1); } } else { cf = stdout; } } if (old_out) { if (old_out[0] != '-' || old_out[1]) { of = fopen(old_out, "w"); if (!of) { (void)fprintf(stderr, "%s: can not open file \"%s\".\n", program, old_out); exit(1); } } else { of = stdout; } } if (new_out) { if (new_out[0] != '-' || new_out[1]) { nf = fopen(new_out, "w"); if (!nf) { (void)fprintf(stderr, "%s: can not open file \"%s\".\n", program, new_out); exit(1); } } else { nf = stdout; } } for (i = 0 ; i < n ; i++) { p = pd[i]; if (compare) { if (p->flags & COMMON) { if (cf) { printentry(cf, p); } } else if (p->flags & NEW) { if (nf) { printentry(nf, p); } } else { if (of) { printentry(of, p); } } } else { /* just print the normalized dictionary */ printentry(stdout, p); } } } static int diccompar(p1, p2) struct dicpack **p1, **p2; { int n; if (n = Wscmp((*p1)->yomi, (*p2)->yomi)) { return n; } else if (n = Wscmp((*p1)->tango, (*p2)->tango)) { return n; } else if (n = Wscmp((*p1)->hinshi->hinshi, (*p2)->hinshi->hinshi)) { return n; } else { /* impossible */ return 0; } } static int dichindocompar(p1, p2) struct dicpack **p1, **p2; { int n; if (n = Wscmp((*p1)->yomi, (*p2)->yomi)) { return n; } else if (n = ((*p2)->hindo - (*p1)->hindo)) { return n; } else if (n = Wscmp((*p1)->tango, (*p2)->tango)) { return n; } else if (n = Wscmp((*p1)->hinshi->hinshi, (*p2)->hinshi->hinshi)) { return n; } else { /* impossible */ return 0; } } static void shrinkargs(argv, n, count) char **argv; int n, count; { int i; for (i = 0 ; i + n < count ; i++) { argv[i] = argv[i + n]; } } static void parseargs(argc, argv) int argc; char *argv[]; { int i; for (program = argv[0] + strlen(argv[0]) ; argv[0] < program ; program--) { if (program[0] == '/') { program++; break; } } for (i = 1 ; i < argc ;) { if (argv[i][0] == '-' && argv[i][2] == '\0') { switch (argv[i][1]) { case '1': case '2': case '3': selhinshi = argv[i][1] - '0'; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'b': bunrui = argv[i + 1]; shrinkargs(argv + i, 2, argc - i); argc -= 2; break; case 'c': common_out = argv[i + 1]; shrinkargs(argv + i, 2, argc - i); argc -= 2; break; case 'd': description_table = argv[i + 1]; shrinkargs(argv + i, 2, argc - i); argc -= 2; break; case 'f': copy_frequency = 1; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'h': ignore_hinshi_to_compare = 1; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'i': canna_type_output = 1; wnn_type_output = 0; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'j': extract_kana = 1; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'k': { Wchar buf[READBUFSIZE]; (void)Mbstowcs(buf, argv[i + 1], READBUFSIZE); specific_kind |= internkind(buf); } shrinkargs(argv + i, 2, argc - i); argc -= 2; break; case 'l': list_kinds = 1; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'm': merge_kind = 1; shrinkargs(argv + i, 1, argc - 1); argc -= 1; break; case 'n': new_out = argv[i + 1]; shrinkargs(argv + i, 2, argc - i); argc -= 2; break; case 'o': old_out = argv[i + 1]; shrinkargs(argv + i, 2, argc - i); argc -= 2; break; case 'p': sort_by_frequency = 1; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'r': hinshi_table = argv[i + 1]; shrinkargs(argv + i, 2, argc - i); argc -= 2; hinshi_direction = REVERSE; break; case 's': hinshi_table = argv[i + 1]; shrinkargs(argv + i, 2, argc - i); argc -= 2; break; case 'v': sj3_type_output = 1; wnn_type_output = 1; /* Wnn ·Á¼°¤È»÷¤Æ¤¤¤ë¤Î¤ÇΩ¤Æ¤ë */ shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'w': canna_type_output = 0; sj3_type_output = 0; wnn_type_output = 1; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; case 'x': merge_sj3 = 1; ignore_hinshi_to_compare = 1; shrinkargs(argv + i, 1, argc - i); argc -= 1; break; default: i++; break; } } else { i++; } } if (argc < 2) { (void)fprintf(stderr, "Usage: %s dic1 [dic2] [-c filecommon] ...\n", program); exit(1); } if (argv[1][0] != '-' || argv[1][1]) { in1 = fopen(argv[1], "r"); if (!in1) { (void)fprintf(stderr, "%s: can not open file \"%s\".\n", program, argv[1]); exit(1); } } if (argc == 3) { if (argv[2][0] != '-' || argv[2][1]) { in2 = fopen(argv[2], "r"); if (!in2) { (void)fprintf(stderr, "%s: can not open file \"%s\".\n", program, argv[2]); exit(1); } } } else { in2 = (FILE *)0; } if (description_table) { store_description(); } } static Wchar kihonh[] = { (Wchar)'k', (Wchar)'i', (Wchar)'h', (Wchar)'o', (Wchar)'n', (Wchar)0, }; int main(argc, argv) int argc; char *argv[]; { in1 = in2 = stdin; (void)internkind(kihonh); /* ´ðËܼ­½ñÍÑ¡£1L ¤È¤·¤ÆÅÐÏ¿ */ parseargs(argc, argv); storepd(in1); (void)fclose(in1); if (in2) { compare = 1; comparepd(in2); (void)fclose(in2); } if (list_kinds) { listkinds(); exit(0); } if (selhinshi) { select_hinshi(selhinshi); } else if (hinshi_table) { replace_hinshi(); } pdic = (struct dicpack **)malloc(ndicentries * sizeof(struct dicpack *)); if (pdic) { int i, j; struct dicpack *p; for (i = 0, j = 0 ; i < DICBUFSIZE ; i++) { for (p = dic[i] ; p ; p = p->next) { pdic[j++] = p; } } if (sort_by_frequency) { qsort((char *)pdic, ndicentries, sizeof(struct dicpack *), dichindocompar); } else { qsort((char *)pdic, ndicentries, sizeof(struct dicpack *), diccompar); } sortkind(); showentry(pdic, ndicentries); } else { malloc_failed(); } exit(0); /* NOTREACHED */ } Canna37p3/dic/ideo/pubdic/pod.jmn0100644000076500001200000001547307554213571016105 0ustar shinraadmin.\" -*-Mode: nroff-*- .\" $Id: pod.jmn,v 1.1.1.1 2002/10/19 08:27:37 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} pod 1 "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" pod \- ¥Ý¡¼¥¿¥Ö¥ë¼­½ñ·Á¼°¼­½ñ¤Î¼ï¡¹¤ÎÁàºî¤ò¹Ô¤¦¥³¥Þ¥ó¥É .SH "·Á¼°" .B "pod [\fIoptions\fP] \fIdic1\fP [\fIdic2\fP]" .SH "ÀâÌÀ" .PP .IB pod ¤Ï¥Ý¡¼¥¿¥Ö¥ë¼­½ñ·Á¼°¤Î¼­½ñ¤Î¼ï¡¹¤ÎÁàºî¤ò¹Ô¤¦¥Ä¡¼¥ë¤Ç¤¢¤ê¡¢¼­½ñ¤Î¥½¡¼¥È¡¢ ¥æ¥Ë¡¼¥¯²½¡¢Èæ³Ó¤Ê¤É¤ò¹Ô¤¤¤Þ¤¹¡£ .PP ¤É¤Î¤è¤¦¤Ê½èÍý¤¬¹Ô¤ï¤ì¤ë¤«¤Ï»ØÄꤹ¤ë¼­½ñ¤Î¿ô¤È\fIoptions\fP¤Ë°Í¸¤·¤Þ ¤¹¡£ .PP ñ°ì¤Î¼­½ñ¤ò»ØÄꤹ¤ë¤È»ØÄꤵ¤ì¤¿¼­½ñ\fIdic1\fP¤¬¥½¡¼¥È¤µ¤ì¡¢É¸½à½ÐÎÏ¤Ë É½¼¨¤µ¤ì¤Þ¤¹¡£É½¼¨¤µ¤ì¤ëÆâÍÆ¤Ç¡¢Æ±°ì¤Î¹Ô¤¬Ê£¿ô¸½¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ÆÉ¤ß¡¢¸õÊä¡¢Éʻ줬Ʊ°ì¤Ç¤¢¤ì¤Ð¤¿¤È¤¨ÉÑÅÙ¤¬°Û¤Ê¤Ã¤Æ¤¤¤Æ¤âƱ°ì¤Î¹Ô¤È¤ß¤Ê ¤µ¤ì¤Þ¤¹¡£ .PP £²¤Ä¤Î¼­½ñ¤ò»ØÄꤹ¤ë¤È¤½¤Î£²¤Ä¤Î¼­½ñ¤Î´Ö¤Ç¹àÌܤÎÈæ³Ó¤ò¹Ô¤¤¤Þ¤¹¡£Èæ³Ó¤Î ·ë²Ì¡¢\fIdic1\fP ¤Ë¤Î¤ß´Þ¤Þ¤ì¤ë¹àÌÜ¡¢\fIdic2\fP ¤Ë¤Î¤ß´Þ¤Þ¤ì¤ë¹àÌÜ¡¢ \fIdic1\fP ¤ª¤è¤Ó \fIdic2\fP ¤Ë¶¦Ä̤˴ޤޤì¤ë¹àÌܤËʬÎव¤ì¤Þ¤¹¡£Ê¬Îà ¤µ¤ì¤¿¹àÌܤÏ\fIoptions\fP¤Î»ØÄê¤Ë¤è¤ê¡¢Äê¤á¤é¤ì¤¿¾ì½ê¤Ë½ÐÎϤµ¤ì¤Þ¤¹¡£ .PP \fIdic1\fP ¤¢¤ë¤¤¤Ï \fIdic2\fP ¤È¤·¤Æ \- ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤Î¾ì ¹ç¤Ë¤Ï¥Õ¥¡¥¤¥ë¤ÎÂå¤ï¤ê¤Ëɸ½àÆþÎϤ¬»²¾È¤µ¤ì¤Þ¤¹¡£\fIdic1\fP ¤ª¤è¤Ó \fIdic2\fP ¤ÎξÊýƱ»þ¤Ë \- ¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ .PP ¥³¥Þ¥ó¥É¥¢¡¼¥®¥å¥á¥ó¥È¤Ï \fIdic1\fP ¤È \fIdic2\fP ¤Î½Ð¸½½ç°Ê³° ¤Ï½çÈÖ¤òÌ䤤¤Þ¤»¤ó¡£\fIoptions\fP ¤Ï¼­½ñ¤Î»ØÄê¤Î¸å¤Ë¸½¤ì¤Æ¤â¤«¤Þ¤¤¤Þ¤» ¤ó¡£ .SH "¥ª¥×¥·¥ç¥ó" .IP "\-1" 12 ¥½¡¼¥¹¤È¤Ê¤ë¼­½ñ¤ÎÉÊ»ì¥Õ¥£¡¼¥ë¥É¤¬¥¹¥é¥Ã¥·¥å(/)¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤ë¤È¤­¡¢ pod ¤Î½ÐÎϤȤ·¤Æ¤Ï°ìÈÖº¸¤Î¥Õ¥£¡¼¥ë¥É¤Ëµ­½Ò¤µ¤ì¤¿ÉÊ»ì¤Î¤ß¤òÁªÂò¤·¤Æ½ÐÎÏ ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ .IP "\-2" 12 ¥½¡¼¥¹¤È¤Ê¤ë¼­½ñ¤ÎÉÊ»ì¥Õ¥£¡¼¥ë¥É¤¬¥¹¥é¥Ã¥·¥å(/)¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤ë¤È¤­¡¢ pod ¤Î½ÐÎϤȤ·¤Æ¤Ï¿¿¤óÃæ¤Î¥Õ¥£¡¼¥ë¥É¤Ëµ­½Ò¤µ¤ì¤¿ÉÊ»ì¤Î¤ß¤òÁªÂò¤·¤Æ½ÐÎÏ ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ .IP "\-3" 12 ¥½¡¼¥¹¤È¤Ê¤ë¼­½ñ¤ÎÉÊ»ì¥Õ¥£¡¼¥ë¥É¤¬¥¹¥é¥Ã¥·¥å(/)¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤ë¤È¤­¡¢ pod ¤Î½ÐÎϤȤ·¤Æ¤Ï°ìÈÖ±¦¤Î¥Õ¥£¡¼¥ë¥É¤Ëµ­½Ò¤µ¤ì¤¿ÉÊ»ì¤Î¤ß¤òÁªÂò¤·¤Æ½ÐÎÏ ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ .IP "\-b \fIkind\fP" 12 ½ÐÎϤ¹¤ë¥¨¥ó¥È¥ê¤Î¤¹¤Ù¤Æ¤Î¹Ô¤Ë \fIkind\fP ¤Ç¼¨¤·¤¿¼ïÎà¥Õ¥£¡¼¥ë¥É¤òÉղà ¤·¤Þ¤¹¡£ .IP "\-c \fIfile\fP" 12 \fIdic1\fP ¤ª¤è¤Ó \fIdic2\fP ¤Ë¶¦Ä̤˴ޤޤì¤ë¹àÌܤ¬¥Õ¥¡¥¤¥ë \fIfile\fP ¤Ë½ÐÎϤµ¤ì¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ \- ¤ò»ØÄꤹ¤ë¤Èɸ½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£ .IP "\-d \fIfile\fP" 12 \fIfile\fP ¤Ë»È¤ï¤ì¤Æ¤¤¤ë¥ë¡¼¥ë¤ò»È¤Ã¤Æ¡¢³Æ¥¨¥ó¥È¥ê¤ò½ª»ß·Á¤Ëľ¤·¤Þ¤¹¡£ .IP "\-f" 12 ÉÑÅÙÃͤò¥³¥Ô¡¼¤·¤Þ¤¹(¤É¤³¤«¤é¤É¤³¤Ø¡©)¡£ .IP "\-h" 12 ¾åµ­¤ÎÈæ³Ó¤ÎºÝ¡¢ÉÊ»ì¤Î°ã¤¤¤ò°ã¤¤¤È¤ß¤Ê¤·¤Þ¤»¤ó¡£\fIdic1\fP ¤È \fIdic2\fP ¤Ë¤ª¤¤¤ÆÆÉ¤ß¤È¸õÊ䤬Ʊ°ì¤Î¹àÌܤϹàÌÜÁ´ÂΤ¬Æ±°ì¤Ç¤¢¤ë¤È¤ß¤Ê ¤µ¤ì¤Þ¤¹¡£ .IP "\-i" 12 ½ÐÎÏ·Á¼°¤È¤·¤Æ¡Ø¤«¤ó¤Ê¡Ù¤Î¥Æ¥­¥¹¥È¼­½ñ·Á¼°¤Ç½ÐÎϤò¹Ô¤¤¤Þ¤¹¡£ .IP "\-j" 12 ¥«¥¿¥«¥Ê¤À¤±¤«¤é¤Ê¤ë¥¨¥ó¥È¥ê¤òÃê½Ð¤·½ÐÎϤ·¤Þ¤¹¡£ .IP "\-k \fIkind\fP" ½ÐÎϤ¹¤ë¥¨¥ó¥È¥ê¤È¤·¤Æ¤Ï¡¢\fIkind\fP ¤Ç¼¨¤µ¤ì¤¿¼ïÎà¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ã¤¿ ¤â¤Î¤À¤±¤ò½ÐÎϤ·¤Þ¤¹¡£ .IP "\-l" ¼ïÎà¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ¤É¤Î¤è¤¦¤Ê¤â¤Î¤¬Â¸ºß¤¹¤ë¤«¤Î¥ê¥¹¥È¤ò½ÐÎϤ·¤Þ¤¹¡£¼­ ½ñ¤Î½ÐÎϤϹԤï¤ì¤Þ¤»¤ó¡£ .IP "\-m" £²¤Ä¤Î¼­½ñ¤ÎÈæ³Ó¤ò¹Ô¤¦ºÝ¤Ë¡¢¼ïÎà¥Õ¥£¡¼¥ë¥É¤Î¤ß¤¬°ã¤¦¥¨¥ó¥È¥ê¤Ë´Ø¤·¤Æ¤Ï Ʊ°ì¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ \-c ¤Ç¼¨¤µ¤ì¤¿½ÐÎÏÀè¤ËÂФ·¤Æ½ÐÎϤ·¤Þ¤¹¡£¤½¤ÎºÝ¤Ë £²¤Ä¤Î¼­½ñ¤Ë¤ª¤±¤ë¤½¤ì¤¾¤ì¤Î¼ïÎà¥Õ¥£¡¼¥ë¥É¤ò¥Þ¡¼¥¸¤·¤Æ½ÐÎϤ·¤Þ¤¹¡£ .IP "\-n \fIfile\fP" 12 \fIdic2\fP ¤Ë¤Î¤ß´Þ¤Þ¤ì¤ë¹àÌܤ¬¥Õ¥¡¥¤¥ë \fIfile\fP ¤Ë½ÐÎϤµ¤ì¤Þ¤¹¡£¥Õ¥¡ ¥¤¥ë̾¤È¤·¤Æ \- ¤ò»ØÄꤹ¤ë¤Èɸ½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£ .IP "\-o \fIfile\fP" 12 \fIdic1\fP ¤Ë¤Î¤ß´Þ¤Þ¤ì¤ë¹àÌܤ¬¥Õ¥¡¥¤¥ë \fIfile\fP ¤Ë½ÐÎϤµ¤ì¤Þ¤¹¡£¥Õ¥¡ ¥¤¥ë̾¤È¤·¤Æ \- ¤ò»ØÄꤹ¤ë¤Èɸ½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£ .IP "\-p" 12 ¥½¡¼¥È¤ÏÄ̾¥Ý¡¼¥¿¥Ö¥ë¼­½ñ·Á¼°¤ò¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤·¤Æ¡¢sort(1) ¥³¥Þ¥ó¥É¤ËÍ¿¤¨¤¿¤È¤­¤ÈƱ¤¸½ç½ø¤È¤Ê¤ë¤è¤¦¤Ë¹Ô¤ï¤ì¤Þ¤¹¤¬¡¢\-p ¥ª¥×¥·¥ç¥ó ¤òÍ¿¤¨¤¿¾ì¹ç¤Ï¡¢Æ±°ì¤ÎÆÉ¤ß¤ËÂФ·¤Æ¤ÏÉÑÅÙ¤ÎÂ礭¤¤¤â¤Î¤Û¤ÉÀè¤Ë¸½¤ì¤ë¤è¤¦ ¤Ë¥½¡¼¥È¤·¤Þ¤¹¡£ÉÑÅÙ¤¬Æ±¤¸ÃͤǤ¢¤ë¾ì¹ç¤Ë¤Ï¤½¤Î¾¤ÎÉôʬ¤Î sort(1) ½ç¤Ë ¤·¤¿¤¬¤¤¤Þ¤¹¡£ .IP "\-r \fItranslation_table\fP" 12 \-s ¤ÈƱÍͤËÉÊ»ì̾¤ÎÉÕ¤±Âؤ¨¤ò¹Ô¤¤¤Þ¤¹¤¬¡¢\fItranslation_table\fP ¤Ëµ­ ½Ò¤µ¤ì¤Æ¤¤¤ëµ¬Â§¤òµÕ¤ËŬÍѤ·¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢\-s ¤Î¾ì¹ç¤ÈµÕ¤ÎÊÑ´¹¤ò¹Ô¤¤ ¤Þ¤¹¡£ .IP "\-s \fItranslation_table\fP" 12 ÉÊ»ì̾ÉÕ¤±Âؤ¨¥Õ¥¡¥¤¥ë \fItranslation_table\fP ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ëµ¬Â§¤Ë ¤·¤¿¤¬¤Ã¤ÆÉÊ»ì̾¤ÎÉÕ¤±Âؤ¨¤ò¹Ô¤¤¤Þ¤¹¡£ÉÊ»ì̾ÉÕ¤±Âؤ¨¥Õ¥¡¥¤¥ë¤Ï¡¢³Æ¹Ô¤¬¡¢ ¸µ¤ÎÉʻ졢ÉÕ¤±Âå¤ï¤ëÉʻ졢¤ÎÁȤߤ«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ \fIdic1\fP ¤ª¤è¤Ó \fIdic2\fP ¤Ë¤Æ»È¤ï¤ì¤Æ¤¤¤ëÉÊ»ì̾¤ÎÉÕ¤±Âؤ¨µ¬Â§¤¬ \fItranslation_table\fP ¤Ë¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤òȯÀ¸¤·½èÍý¤¬ÃæÃÇ ¤·¤Þ¤¹¡£ .IP "\-v" 12 ½ÐÎÏ·Á¼°¤È¤·¤Æ SJ3 ¤Î¥Ó¥¸¥å¥¢¥ë·Á¼°¼­½ñ¤Ç½ÐÎϤò¹Ô¤¤¤Þ¤¹¡£ .IP "\-w" 12 ½ÐÎÏ·Á¼°¤È¤·¤Æ Wnn ¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç½ÐÎϤò¹Ô¤¤¤Þ¤¹¡£ .IP "\-x" 12 SJ3 ¤È¥Þ¡¼¥¸¤·¤Þ¤¹(ËÜÅö¤«¡©)¡£ .SH "»ÈÍÑÎã" .IP (1) 4 ¼­½ñ foo.p ¤ÎÆâÍÆ¤ò¥½¡¼¥È¤·É½¼¨¤·¤Þ¤¹¡£ .sp .ft CW .nf % pod foo.p .fi .ft .sp .IP (2) 4 ¼­½ñ foo.p ¤ª¤è¤Ó bar.p ¤ò¥Þ¡¼¥¸¤·¡¢¥½¡¼¥È¤·½ÐÎϤ·¤Þ¤¹¡£ .sp .ft CW .nf % cat foo.p bar.p | pod - .fi .ft .sp .IP (3) 4 ¼­½ñ foo.p ¤Ë¤Ä¤¤¤Æ¡¢Æ±°ì¤ÎÆÉ¤ß¤Ë¤Ä¤¤¤Æ¤ÏÉÑÅÙ¤ÎÂ礭¤¤½ç¤Ë¥½¡¼¥È¤·¤Æ½Ð ÎϤ·¤Þ¤¹¡£ .sp .ft CW .nf % pod foo.p -p .fi .ft .sp .IP (4) 4 ¼­½ñ foo.p ¤«¤é foo.p.new ¤Ø¤ÎÊѹ¹¤ò¡¢ºï½ü¤µ¤ì¤¿Ê¬¤Ë¤Ä¤¤¤Æ¤Ï¥Õ¥¡¥¤¥ë̾ del ¤Î¥Õ¥¡¥¤¥ë¤Ë¡¢Äɲ䵤줿ʬ¤Ë¤Ä¤¤¤Æ¤Ï¥Õ¥¡¥¤¥ë̾ add ¤Î¥Õ¥¡¥¤¥ë¤Ë½Ð ÎϤ¹¤ë¤³¤È¤Ë¤è¤êº¹Ê¬¤òµá¤á¤Þ¤¹¡£ .sp .ft CW .nf % pod foo.p foo.p.new -o del -n add .fi .ft .sp .IP (5) 4 ¼­½ñ foo.p ¤«¤é¥Õ¥¡¥¤¥ë del ¤Ë´Þ¤Þ¤ì¤ë¹àÌܤòºï½ü¤·¡¢¥Õ¥¡¥¤¥ë add ¤Ë´Þ ¤Þ¤ì¤ë¹àÌܤòÄɲä·¡¢foo.p.new ¤Ë½ÐÎϤ·¤Þ¤¹¡£ .sp .ft CW .nf % (cat add ; pod foo.p del -o -) | pod - > foo.p.new .fi .ft .sp .IP (6) 4 ¼­½ñ bar.p ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë³Æ¹àÌܤ˰ìÃפ¹¤ë¹àÌܤò¡¢¤¿¤È ¤¨Éʻ줬°Û¤Ê¤Ã¤Æ¤¤¤Æ¤â¤è¤¤¤«¤é¼­½ñ foo.p ¤«¤éÃê½Ð¤·É¸½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡£ .sp .ft CW .nf % pod -h foo.p bar.p -c - .fi .ft .sp .IP (7) 4 ¼­½ñ foo.p ¤ÎÉÊ»ì̾¤òÉÊ»ìÊѹ¹¥Æ¡¼¥Ö¥ë¥Õ¥¡¥¤¥ë wc.tab ¤ò¥Ù¡¼¥¹¤ËÊѹ¹¤·¤Þ ¤¹¡£ .sp .ft CW .nf % pod -s wc.tab foo.p .fi .ft .sp .IP (8) 4 ¼­½ñ pubdic.p ¤«¤é¡¢¼ïÊÌ¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ bio ¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥È¥ê ¤Î¤ß¤ò bio.p ¤È¸À¤¦¥Õ¥¡¥¤¥ë¤Ë¼è¤ê½Ð¤·¤Þ¤¹¡£ .sp .ft CW .nf % pod -k bio pubdic.p > bio.p .fi .ft .sp .IP (9) 4 ¼­½ñ pubdic.p ¤«¤é¡¢¼ïÊÌ¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ bio ¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¥¨¥ó¥È¥ê ¤Î¤ß¤ò¼è¤ê½Ð¤·¡¢¤µ¤é¤ËÉÊ»ì¤â Wnn ¤Î¤â¤Î¤òÁªÂò¤· Wnn ¤Î¥Æ¥­¥¹¥È¼­½ñ·Á¼° ¤Ç¼è¤ê½Ð¤·¤Þ¤¹¡£ÊÑ´¹·ë²Ì¤ò bio.u¤Ë½ÐÎϤ·¤Þ¤¹¡£ .sp .ft CW .nf % pod -k bio pubdic.p -w -1 > bio.u .fi .ft .sp .IP (10) 4 Wnn ¤Î¼­½ñ bio.u ¤Î³Æ¥¨¥ó¥È¥ê¤Ë¼ïÊ̤òɽ¤¹ bio ¤È¸À¤¦¼ïÊÌ¥Õ¥£¡¼¥ë¥É¤òÉÕ ²Ã¤·¡¢½ÐÎϤ·¤Þ¤¹¡£ .sp .ft CW .nf % pod -b bio bio.u .fi .ft .sp .IP (11) 4 ¼­½ñ pubdic.p ¤È special.p ¤ò¥Þ¡¼¥¸¤·¡¢ÉÑÅ٤ǥ½¡¼¥È¤·¡¢¡Ø¤«¤ó¤Ê¡Ù¤ÎÉÊ »ì¤òÁªÂò¤·¡¢¡Ø¤«¤ó¤Ê¡Ù¤Î¥Æ ¥­¥¹¥È¼­½ñ·Á¼°¤Ç iroha.t ¤È¸À¤¦¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤Þ¤¹¡£ .sp .ft CW .nf % cat pubdic.p special.p | pod - -p -i -2 > iroha.t .fi .ft .sp .IP (12) 4 ¼­½ñ pubdic.p ¤È special.p ¤ò¥Þ¡¼¥¸¤·¡¢ÉÑÅ٤ǥ½¡¼¥È¤·¡¢SJ3 ¤ÎÉÊ»ì¤òÁª Âò¤·¡¢SJ3 ¤Î¥Ó¥¸¥å¥¢¥ë¼­½ñ·Á¼°¤Ç visual.dic ¤È¸À¤¦¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤Þ¤¹¡£ .sp .ft CW .nf % cat pubdic.p special.p | pod - -p -v -3 > visual.dic .fi .ft .sp .SH "¥Ð¥°" ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¤¢¤Þ¤ê¤·¤Æ¤¤¤Þ¤»¤ó¡£¼­½ñ¤ò¤¤¤Ã¤¿¤ó¥á¥â¥ê¾å¤ËÆÉ¤ß¹þ¤à¤Î ¤Ç¥á¥â¥ê¤ò¤«¤Ê¤ê¾ÃÈñ¤·¤Þ¤¹¡£\-s ¥ª¥×¥·¥ç¥ó¡¢\-r ¥ª¥×¥·¥ç¥ó¤Ë´Ø¤·¤Æ¤Ï»Å ÍͤÎÊѹ¹¤ò¹Ô¤¦Í½Äê¤Ç¤¹¡£ .PP ÉÑÅÙ¤À¤±¤¬°Û¤Ê¤ë¹àÌܤκï½ü¤Î¤·¤«¤¿¤Ëˡ§À­¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ïˡ§À­¤ò »ý¤¿¤»¤ë¤è¤¦¤Ë»ÅÍͤòÊѹ¹¤¹¤ëͽÄê¤Ç¤¹¡£ .SH "´ØÏ¢¾ðÊó" ctop(1), ptoc(1) Canna37p3/dic/ideo/pubdic/r.p0100644000076500001200000006321507735225677015247 0ustar shinraadmin¤é Íå #JN 0 ¤é Åù #JNSUC 0 ¤é ¤é #JNSUC 191 ¤é Íå #KJ 2 ¤é Íç #KJ 2 ¤é Íæ #KJ 5 ¤é¡¼¤á¤ó ¥é¡¼¥á¥ó #T35 3 ¤é¡¼¤æ íåÌý #T35 0 ¤é¤¤ Íé #KJ 0 ¤é¤¤ Íê #KJ 0 ¤é¤¤ Íè #KJ 1 ¤é¤¤ Íë #KJ 1 ¤é¤¤ âý #KJ 4 ¤é¤¤ Íè #SUC 58 ¤é¤¤¤¦ Í뱫 #T35 0 ¤é¤¤¤¨¤ó Íè±é #T30 0 ¤é¤¤¤ª¤ó ¥é¥¤¥ª¥ó #T35 4 ¤é¤¤¤« Íè²Æ #T35 0 ¤é¤¤¤«¤¤ Íè²ñ #T30 0 ¤é¤¤¤«¤ó Íè´Û #T30 0 ¤é¤¤¤­ Íè´ü #T35 0 ¤é¤¤¤­ Í赨 #T35 1 ¤é¤¤¤­¤ã¤¯ ÍèµÒ #T35 0 ¤é¤¤¤²¤Ä Íè·î #T35 11 ¤é¤¤¤³¤¦ Íè¹» #T30 0 ¤é¤¤¤³¤¦ Íè¹Ò #T30 0 ¤é¤¤¤³¤¦ Íè¸÷ #T35 0 ¤é¤¤¤´¤¦ Íè¹ß #T30 0 ¤é¤¤¤µ¤ó Î黾 #T30 0 ¤é¤¤¤µ¤ó Î黿 #T30 1 ¤é¤¤¤·¤ã Íè¼Ò #T30 0 ¤é¤¤¤·¤å¤¦ Íè½± #T30 0 ¤é¤¤¤·¤å¤¦ Í轩 #T35 0 ¤é¤¤¤·¤å¤¦ Íè½µ #T35 85 ¤é¤¤¤·¤å¤ó Íè½Õ #T35 1 ¤é¤¤¤·¤ç Íè½ê #T30 0 ¤é¤¤¤·¤ó Íè¿® #T30 0 ¤é¤¤¤·¤ó Íè¿Ç #T30 0 ¤é¤¤¤¸¤ç¤¦ Íè¾ì #T30 1 ¤é¤¤¤¹ ¥é¥¤¥¹ #T35 2 ¤é¤¤¤» ÍèÀ¤ #T35 1 ¤é¤¤¤»¤ó¤¹ ¥é¥¤¥»¥ó¥¹ #T30 12 ¤é¤¤¤¿ ¥é¥¤¥¿ #T35 8 ¤é¤¤¤¿¡¼ ¥é¥¤¥¿¡¼ #T35 7 ¤é¤¤¤¿¤¯ ÍèÂð #T30 0 ¤é¤¤¤Á¤ç¤¦ Íèİ #T30 0 ¤é¤¤¤Á¤ç¤¦ ÍëÄ» #T35 1 ¤é¤¤¤Æ¤£¤ó¤° ¥é¥¤¥Æ¥£¥ó¥° #T30 1 ¤é¤¤¤Æ¤ó ÍèŹ #T30 0 ¤é¤¤¤È ¥é¥¤¥È #T35 18 ¤é¤¤¤Ë¤Á ÍèÆü #T30 2 ¤é¤¤¤Í¤ó Íèǯ #T35 31 ¤é¤¤¤Í¤ó¤É ÍèǯÅÙ #T35 4 ¤é¤¤¤Ï¤¤ ÎéÇÒ #T30 1 ¤é¤¤¤Ð¤ë ¥é¥¤¥Ð¥ë #T35 1 ¤é¤¤¤Ò¤ó ÍèÉÐ #T35 0 ¤é¤¤¤Õ ¥é¥¤¥Õ #T35 5 ¤é¤¤¤Ö ¥é¥¤¥Ö #T35 12 ¤é¤¤¤Ö¤é¤ê ¥é¥¤¥Ö¥é¥ê #T35 255 ¤é¤¤¤Ö¤é¤ê¤¢¤ó ¥é¥¤¥Ö¥é¥ê¥¢¥ó #T35 1 ¤é¤¤¤Û¤¦ Íèˬ #T30 1 ¤é¤¤¤á¤¤ ÍëÌÄ #T35 0 ¤é¤¤¤é¤¯ âýÍî #T05 0 ¤é¤¤¤é¤Ã¤¯ ¥é¥¤¥é¥Ã¥¯ #T35 0 ¤é¤¤¤ó ¥é¥¤¥ó #T35 68 ¤é¤¦¤¹ Íå±± #CN 0 ¤é¤¦¤ó¤É ¥é¥¦¥ó¥É #T35 1 ¤é¤¦¤ó¤É¤í¤Ó¤ó ¥é¥¦¥ó¥É¥í¥Ó¥ó #T35 1 ¤é¤¬¤ó Íç´ã #T35 0 ¤é¤¯ Íî #KJ 0 ¤é¤¯ Íï #KJ 0 ¤é¤¯ Íì #KJ 1 ¤é¤¯ Íí #KJ 1 ¤é¤¯ ³Ú #T00 27 ¤é¤¯ ³Ú #T05 49 ¤é¤¯¤¨¤ó ³Ú±à #T35 1 ¤é¤¯¤¬¤­ Íî½ñ¤­ #T30 0 ¤é¤¯¤¬¤­ Íî½ñ #T30 1 ¤é¤¯¤¬¤ó Íî´ç #T35 0 ¤é¤¯¤´ Íî¸å #T30 0 ¤é¤¯¤´ Íî¸ì #T35 1 ¤é¤¯¤µ Í #T35 1 ¤é¤¯¤µ¤Ä Í #T30 0 ¤é¤¯¤·¤å Íî¼ê #T30 0 ¤é¤¯¤·¤ç¤¦ ³Ú¾¡ #T10 1 ¤é¤¯¤¸¤Ä ÍîÆü #T35 0 ¤é¤¯¤»¤¤ ÍîÀ® #T30 0 ¤é¤¯¤»¤­ ÍîÀÐ #T30 0 ¤é¤¯¤»¤ó ÍîÁª #T30 0 ¤é¤¯¤¿¤ó ÍîÃÀ #T30 1 ¤é¤¯¤À ñÑñÌ #T35 0 ¤é¤¯¤À¤¤ ÍîÂè #T30 1 ¤é¤¯¤Á¤ã¤¯ ÍîÃå #T30 1 ¤é¤¯¤Á¤ç¤¦ ÍîÃú #T35 0 ¤é¤¯¤Æ¤ó ³ÚÅ· #T35 1 ¤é¤¯¤Î¤¦ ÍïÇÀ #T35 0 ¤é¤¯¤Ï¤¯ Íîò° #T30 0 ¤é¤¯¤Ð ÍîÇÏ #T30 0 ¤é¤¯¤Ð¤ó ÍîÈØ #T30 0 ¤é¤¯¤â¤¤¤É ¥é¥¯¥â¥¤¥É #T35 1 ¤é¤¯¤è¤¦ ÍìÍÛ #JNS 0 ¤é¤¯¤è¤¦ ÍîÍÕ #T30 1 ¤é¤¯¤é¤¤ ÍîÍë #T30 1 ¤é¤¯¤é¤¯ ¤é¤¯¤é¤¯ #F14 0 ¤é¤¯¤é¤¯ ¤é¤¯¤é¤¯ #T16 0 ¤é¤¯¤é¤¯ ³Ú¡¹ #F14 0 ¤é¤¯¤é¤¯ ³Ú¡¹ #T16 0 ¤é¤¯¤ë¤¤ ÍîÎÞ #T30 0 ¤é¤°¤Ó¡¼ ¥é¥°¥Ó¡¼ #T35 1 ¤é¤±¤Ã¤È ¥é¥±¥Ã¥È #T35 10 ¤é¤·¤å¤Ä Íç½Ð #T30 0 ¤é¤·¤ó¤Ð¤ó Íå¿ËÈ× #T35 0 ¤é¤¸¤¦¤à ¥é¥¸¥¦¥à #T35 0 ¤é¤¸¤ª ¥é¥¸¥ª #T35 4 ¤é¤¸¤ª¤·¤Æ¤£ ¥é¥¸¥ª¥·¥Æ¥£ #T35 4 ¤é¤¸¤«¤» ¥é¥¸¥«¥» #T30 0 ¤é¤¸¤«¤ë ¥é¥¸¥«¥ë #T05 0 ¤é¤¹¤¿ ¥é¥¹¥¿ #T35 7 ¤é¤¹¤È ¥é¥¹¥È #T35 3 ¤é¤»¤ó ÍæÀû #T35 0 ¤é¤Á ÙÇÃ× #T30 0 ¤é¤Á ÔÀ #T35 0 ¤é¤Ã¤« Íî²¼ #T30 1 ¤é¤Ã¤«¤ó ³Ú´Ñ #T30 3 ¤é¤Ã¤­¡¼ ¥é¥Ã¥­¡¼ #T05 12 ¤é¤Ã¤­¤ç ¤é¤Ã¤­¤ç #T35 0 ¤é¤Ã¤­¤ç¤¦ ¤é¤Ã¤­¤ç¤¦ #T35 0 ¤é¤Ã¤³ ¥é¥Ã¥³ #T35 1 ¤é¤Ã¤·¤ã ¤é¤Ã¤·¤ã #L5 1 ¤é¤Ã¤·¤å ¥é¥Ã¥·¥å #T35 1 ¤é¤Ã¤Á ¥é¥Ã¥Á #T30 1 ¤é¤Ã¤È ¥é¥Ã¥È #T35 1 ¤é¤Ã¤Ñ ¥é¥Ã¥Ñ #T35 1 ¤é¤Ä íå #KJ 1 ¤é¤Ä¤ï¤ó íåÏÓ #T05 0 ¤é¤Ç¤£¤«¤ë ¥é¥Ç¥£¥«¥ë #T05 0 ¤é¤Ç¤ó Íæîï #T35 0 ¤é¤Ó¤ª¤ê ¥é¥Ó¥ª¥ê #T35 1 ¤é¤Ó¤ê¤ó¤¹ ¥é¥Ó¥ê¥ó¥¹ #T35 1 ¤é¤Õ¤©¡¼¤ì ¥é¥Õ¥©¡¼¥ì #KK 1 ¤é¤Ö ¥é¥Ö #T35 7 ¤é¤Ù¤ë ¥é¥Ù¥ë #JN 0 ¤é¤Ù¤ë ¥é¥Ù¥ë #T35 19 ¤é¤Ü ¥é¥Ü #T35 62 ¤é¤à¤À ¦« #T35 1 ¤é¤à¤À ¦Ë #T35 13 ¤é¤ê¡¼ ¥é¥ê¡¼ #T30 2 ¤é¤ì¤Ä ÍåÎó #T30 1 ¤é¤ó Íò #KJ 0 ¤é¤ó Íô #KJ 0 ¤é¤ó Íõ #KJ 0 ¤é¤ó ॠ#KJ 1 ¤é¤ó ó #KJ 1 ¤é¤ó Íñ #T35 0 ¤é¤ó Íö #T35 1 ¤é¤ó Í÷ #T35 1 ¤é¤ó Íð #T35 2 ¤é¤ó ¥é¥ó #T35 4 ¤é¤ó Íó #T35 57 ¤é¤ó¤ª¤¦ Íñ²« #T35 0 ¤é¤ó¤ª¤¦¤Î¤¦ Íñ²«Ç¹ #T35 1 ¤é¤ó¤«¤¯ Íð³Í #T30 0 ¤é¤ó¤«¤¯ Íñ³Ì #T35 0 ¤é¤ó¤«¤Ä Íñ³ä #T35 1 ¤é¤ó¤«¤ó Íñ´É #T35 1 ¤é¤ó¤«¤ó Íó´³ #T35 1 ¤é¤ó¤«¤ó¤µ¤¤ Íñ´ÉºÓ #T35 1 ¤é¤ó¤¬¤¤ Íó³° #T35 1 ¤é¤ó¤­¤å¤¦ ÍñµÖ #T35 1 ¤é¤ó¤­¤ê¤å¤¦ Íðµ¤Î® #T35 0 ¤é¤ó¤­¤ó¤° ¥é¥ó¥­¥ó¥° #T30 0 ¤é¤ó¤®¤ç¤¦ Íð¹Ô #T35 0 ¤é¤ó¤¯ ¥é¥ó¥¯ #T30 0 ¤é¤ó¤²¡¼¤¸ ¥é¥ó¥²¡¼¥¸ #T35 1 ¤é¤ó¤³¤¦ Íð¸ò #T30 0 ¤é¤ó¤³¤¦¤² Íð¹â²¼ #T30 0 ¤é¤ó¤³¤· Íö±Û #CN 0 ¤é¤ó¤³¤ó Í𺧠#T30 0 ¤é¤ó¤¶¤Ä Í𻨠#T05 0 ¤é¤ó¤¶¤ó Íò»³ #JCN 0 ¤é¤ó¤· Íð»ë #T35 0 ¤é¤ó¤· Íñ»Ò #T35 0 ¤é¤ó¤·¤ã Íð¼Í #T30 0 ¤é¤ó¤¸¤å¤¯ à¥½Ï #T30 1 ¤é¤ó¤¹¤¦ Íð¿ô #T35 2 ¤é¤ó¤»¤ó ÍðÀï #T35 0 ¤é¤ó¤½¤¦ ÍñÁã #T35 0 ¤é¤ó¤¿¤¤¤à ¥é¥ó¥¿¥¤¥à #T35 1 ¤é¤ó¤À¤à ¥é¥ó¥À¥à #T05 10 ¤é¤ó¤Á¤ç¤¦ ÍðÃú #T35 0 ¤é¤ó¤Á¤ç¤ó ¥é¥ó¥Á¥ç¥ó #T35 1 ¤é¤ó¤È¤¦ ÍðÆ® #T30 0 ¤é¤ó¤É ¥é¥ó¥É #SUC 10 ¤é¤ó¤É¤¯ ÍðÆÉ #T30 0 ¤é¤ó¤Ê¡¼ ¥é¥ó¥Ê¡¼ #T35 1 ¤é¤ó¤Ë¤å¤¦ ÍðÆþ #T30 0 ¤é¤ó¤Ð¤Ä ÍðȲ #T30 0 ¤é¤ó¤Ñ¤¯ ÍñÇò #T35 0 ¤é¤ó¤Ñ¤Ä Íðȯ #T30 1 ¤é¤ó¤Ô ÍðÈñ #T30 0 ¤é¤ó¤Ö ÍðÉñ #T30 2 ¤é¤ó¤× ¥é¥ó¥× #T35 5 ¤é¤ó¤Ü¤¦ Íð˽ #T00 1 ¤é¤ó¤Ý ÍðÊâ #JNM 0 ¤é¤ó¤Ý¤¦ Íñ˦ #T35 1 ¤é¤ó¤Þ Íó´Ö #T35 0 ¤é¤ó¤Þ¤ó à¥Ì¡ #T05 1 ¤é¤ó¤ß¤ã¤¯ ÍðÌ® #T05 0 ¤é¤ó¤è¤¦ ÍðÍÑ #T30 1 ¤é¤ó¤è¤¦ ÍôÍÑ #T30 1 ¤é¤ó¤é¤ó ॡ¹ #F02 0 ¤é¤ó¤ê¤Ä ÍðΩ #T30 1 ¤é¤ó¤ì¤ó¤°¤¹ ¥é¥ó¥ì¥ó¥°¥¹ #KK 1 ¤ê Τ #JS 22 ¤ê ³½ #KJ 0 ¤ê Íü #KJ 0 ¤ê Íþ #KJ 0 ¤ê Ρ #KJ 0 ¤ê Σ #KJ 0 ¤ê Íù #KJ 1 ¤ê Î¥ #KJ 1 ¤ê Ëé #KJ 3 ¤ê Íû #KJ 3 ¤ê Íú #KJ 7 ¤ê Íø #S5 11 ¤ê Íù #SUC 0 ¤ê Íø #T30 11 ¤ê ΢ #T35 1 ¤ê Τ #T35 3 ¤ê Íý #T35 69 ¤ê¡¼¤° ¥ê¡¼¥° #T35 2 ¤ê¡¼¤¸¤ç¤ó ¥ê¡¼¥¸¥ç¥ó #T35 7 ¤ê¡¼¤¹ ¥ê¡¼¥¹ #T30 2 ¤ê¡¼¤º¤Ê¤Ö¤ë ¥ê¡¼¥º¥Ê¥Ö¥ë #T05 1 ¤ê¡¼¤À ¥ê¡¼¥À #T35 16 ¤ê¡¼¤À¡¼ ¥ê¡¼¥À¡¼ #T35 16 ¤ê¡¼¤É ¥ê¡¼¥É #T30 5 ¤ê¤¢¤ê¤º¤à ¥ê¥¢¥ê¥º¥à #T35 3 ¤ê¤¢¤ë ¥ê¥¢¥ë #T05 6 ¤ê¤¢¤ë¤¿¤¤¤à ¥ê¥¢¥ë¥¿¥¤¥à #T05 10 ¤ê¤¤¤Á Íø°ì #JNM 0 ¤ê¤¨ Íø·Ã #JNM 0 ¤ê¤¨ Íý·Ã #JNM 0 ¤ê¤¨¤­ Íø±× #T30 7 ¤ê¤¨¤³ Íý·Ã»Ò #JNM 0 ¤ê¤¨¤ó Î¥±ï #T30 0 ¤ê¤¨¤ó Íü±à #T35 0 ¤ê¤« Íø²Â #JNM 0 ¤ê¤« Τ²Î #JNM 0 ¤ê¤« Íý²Ê #T35 6 ¤ê¤«¡¼¤·¤Ö ¥ê¥«¡¼¥·¥Ö #T05 0 ¤ê¤«¡¼¤¸¤ç¤ó ¥ê¥«¡¼¥¸¥ç¥ó #T35 1 ¤ê¤«¤¤ Íý²ò #T30 99 ¤ê¤«¤Ð¡¼ ¥ê¥«¥Ð¡¼ #T30 2 ¤ê¤«¤ó Øí´µ #T30 1 ¤ê¤¬¤¤ Íø³² #T35 1 ¤ê¤¬¤¯ Íý³Ø #T35 2 ¤ê¤¬¤ó¤É ¥ê¥¬¥ó¥É #T35 1 ¤ê¤­ ÎÏ #M5r 0 ¤ê¤­ ÎÏ #SUC 4 ¤ê¤­ ÎÏ #T35 0 ¤ê¤­¤¨¤ó Îϱé #T30 0 ¤ê¤­¤ª ÎÏÃË #JNM 0 ¤ê¤­¤ª ÎÏͺ #JNM 0 ¤ê¤­¤¬¤¯ ÎÏ³Ø #T35 1 ¤ê¤­¤µ¤¯ ÎϺî #T35 2 ¤ê¤­¤· ÎϻΠ#T35 0 ¤ê¤­¤»¤Ä ÎÏÀâ #T30 0 ¤ê¤­¤»¤ó ÎÏÀï #T30 0 ¤ê¤­¤Á ÍøµÈ #JNM 0 ¤ê¤­¤È¤¦ ÎÏÆ® #T30 0 ¤ê¤­¤å¤¦ Î¥µÜ #T35 0 ¤ê¤­¤ê¤ç¤¦ ÎÏÎÌ #T35 1 ¤ê¤¯ Φ #T35 3 ¤ê¤¯¤¢¤² ΦÍȤ² #T30 0 ¤ê¤¯¤¦¤ó Φ±¿ #T35 0 ¤ê¤¯¤¨¤¹¤È ¥ê¥¯¥¨¥¹¥È #T30 39 ¤ê¤¯¤¸¤ç¤¦ Φ¾å #T35 17 ¤ê¤¯¤¼¤ó ΦÁ° #CN 0 ¤ê¤¯¤¼¤ó¤¿¤«¤¿ ΦÁ°¹âÅÄ #CN 0 ¤ê¤¯¤Á ΦÃÏ #T35 0 ¤ê¤¯¤Ä Íý¶þ #T35 3 ¤ê¤¯¤È¤¦ Φ°ð #T35 1 ¤ê¤¯¤Ù¤Ä ΦÊÌ #CN 0 ¤ê¤¯¤ë¡¼¤È ¥ê¥¯¥ë¡¼¥È #T30 2 ¤ê¤¯¤í Φϩ #T35 0 ¤ê¤±¤¤ Íý·Ï #T35 0 ¤ê¤±¤ó Íø¸¢ #T35 1 ¤ê¤³ Íø¸Ê #T35 1 ¤ê¤³¡¼ ¥ê¥³¡¼ #KK 5 ¤ê¤³¤¦ Íú¹Ô #T30 8 ¤ê¤³¤¦ Íý¹© #T35 16 ¤ê¤³¤ó Î¥º§ #T30 1 ¤ê¤´¤¦ Î¥¹ç #T30 1 ¤ê¤µ¡¼¤Á ¥ê¥µ¡¼¥Á #T30 3 ¤ê¤µ¤¤¤¯¤ë ¥ê¥µ¥¤¥¯¥ë #T30 0 ¤ê¤µ¤¤¤º ¥ê¥µ¥¤¥º #T30 2 ¤ê¤µ¤Ö¤í¤¦ Íø»°Ïº #JNM 0 ¤ê¤µ¤ó Î¥»¶ #T30 4 ¤ê¤¶¡¼¤Ö ¥ê¥¶¡¼¥Ö #T30 3 ¤ê¤¶¤ë¤È ¥ê¥¶¥ë¥È #T35 1 ¤ê¤· Íø»Ò #T35 0 ¤ê¤·¤å¤¦ Íú½¤ #T30 1 ¤ê¤·¤ç¤¯ Î¥¿¦ #T30 1 ¤ê¤·¤ê Íø¿¬ #CN 0 ¤ê¤·¤ó¤í¤ó Íý¿ÀÏÀ #T35 0 ¤ê¤¸ Íý»ö #T35 2 ¤ê¤¸¤§¤¯¤È ¥ê¥¸¥§¥¯¥È #T30 3 ¤ê¤¸¤å¤ó Íø½á #T35 0 ¤ê¤¹ ¥ê¥¹ #T35 35 ¤ê¤¹¤¯ ¥ê¥¹¥¯ #T35 5 ¤ê¤¹¤¿¡¼¤È ¥ê¥¹¥¿¡¼¥È #T30 1 ¤ê¤¹¤È ¥ê¥¹¥È #T30 219 ¤ê¤¹¤È¤¢ ¥ê¥¹¥È¥¢ #T30 2 ¤ê¤¹¤È¤¢¤Ã¤× ¥ê¥¹¥È¥¢¥Ã¥× #T30 2 ¤ê¤¹¤È¤é ¥ê¥¹¥È¥é #T30 0 ¤ê¤¹¤× ¥ê¥¹¥× #KK 4 ¤ê¤º¤à ¥ê¥º¥à #T35 1 ¤ê¤»¤¤ ÍýÀ­ #T35 2 ¤ê¤»¤Ã¤È ¥ê¥»¥Ã¥È #T30 9 ¤ê¤»¤×¤¿ ¥ê¥»¥×¥¿ #T35 1 ¤ê¤»¤×¤¿¡¼ ¥ê¥»¥×¥¿¡¼ #T35 1 ¤ê¤½¡¼¤¹ ¥ê¥½¡¼¥¹ #T35 61 ¤ê¤½¤¦ ÍýÁÛ #T35 7 ¤ê¤½¤¯ ÍøÂ© #T35 1 ¤ê¤½¤ó Υ¼ #T30 0 ¤ê¤¾¤Ã¤È ¥ê¥¾¥Ã¥È #T35 1 ¤ê¤¿ ÍøÂ¾ #T35 1 ¤ê¤¿¡¼¤ó ¥ê¥¿¡¼¥ó #T30 53 ¤ê¤¿¤¤¤¢ ¥ê¥¿¥¤¥¢ #T30 3 ¤ê¤À¤¤¤ì¤¯¤·¤ç¤ó ¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó #T30 2 ¤ê¤À¤¤¤ì¤¯¤È ¥ê¥À¥¤¥ì¥¯¥È #T30 2 ¤ê¤À¤¯¤·¤ç¤ó ¥ê¥À¥¯¥·¥ç¥ó #T30 4 ¤ê¤À¤Ä Υæ #T30 0 ¤ê¤Á ÍýÃÎ #T35 1 ¤ê¤Á¤¦¤à ¥ê¥Á¥¦¥à #T35 1 ¤ê¤Á¤® Χµ· #T05 0 ¤ê¤Á¤® ΧµÁ #T05 1 ¤ê¤Á¤ã¤¯¤ê¤¯ Î¥ÃåΦ #T30 0 ¤ê¤Ã Χ #S5 0 ¤ê¤Ã Χ #SX 0 ¤ê¤Ã¤« Ω²Æ #T35 0 ¤ê¤Ã¤­¤ã¤¯ ΩµÓ #T30 1 ¤ê¤Ã¤­¤ç¤¦ Ω¶µ #KK 0 ¤ê¤Ã¤­¤ç¤¦ Φ¶¶ #T35 0 ¤ê¤Ã¤±¤ó Ω·û #T35 0 ¤ê¤Ã¤±¤ó Ω·ï #T30 0 ¤ê¤Ã¤³¤¦¤Û Ω¸õÊä #T30 1 ¤ê¤Ã¤· Ω»Ö #T30 0 ¤ê¤Ã¤·¤å¤¦ Ω½© #T35 0 ¤ê¤Ã¤·¤å¤ó Ω½Õ #T35 1 ¤ê¤Ã¤·¤ç¤¦ Ω¾Ú #T30 2 ¤ê¤Ã¤·¤ç¤¯ Ω¿© #T30 2 ¤ê¤Ã¤·¤ó Ω¿È #T30 1 ¤ê¤Ã¤½¤¯ Χ® #T35 2 ¤ê¤Ã¤¿¤¤ ΩÂÎ #T35 1 ¤ê¤Ã¤Á ¥ê¥Ã¥Á #T05 1 ¤ê¤Ã¤È¤¦ ·ªÅì #CN 0 ¤ê¤Ã¤È¤¦ ΩÅß #T35 0 ¤ê¤Ã¤È¤ë ¥ê¥Ã¥È¥ë #JS 9 ¤ê¤Ã¤È¤ë ¥ê¥Ã¥È¥ë #T35 2 ¤ê¤Ã¤Ñ ΩÇÉ #T05 9 ¤ê¤Ã¤×¤¯ Ωʢ #T30 0 ¤ê¤Ã¤×¤ë ¥ê¥Ã¥×¥ë #T35 1 ¤ê¤Ã¤Ý¤¦ ΩÊý #JS 1 ¤ê¤Ã¤Ý¤¦ Ωˡ #T30 1 ¤ê¤Ã¤Ý¤¦¤¿¤¤ ΩÊýÂÎ #T35 2 ¤ê¤Ä Ω #KJ 0 ¤ê¤Ä ØË #KJ 1 ¤ê¤Ä Χ #KJ 2 ¤ê¤Ä Ψ #SUC 0 ¤ê¤Ä Ω #SUC 2 ¤ê¤Ä Χ #T35 0 ¤ê¤Ä Ϊ #T35 0 ¤ê¤Ä Ψ #T35 10 ¤ê¤Ä¤¢¤ó Ω°Æ #T30 1 ¤ê¤Ä¤­¤ç¤¦ Ω¶µ #KK 1 ¤ê¤Ä¤³ ÍøÄÅ»Ò #JNM 0 ¤ê¤Ä¤³ ÍýÄÅ»Ò #JNM 0 ¤ê¤Ä¤¼¤ó ØËÁ³ #F00 0 ¤ê¤Ä¤¾¤¦ ΩÁü #T35 0 ¤ê¤Ä¤É¤¦ Χư #T30 0 ¤ê¤Ä¤á¤¤¤«¤ó Ω̿´Û #KK 2 ¤ê¤Ä¤í¤ó ΩÏÀ #T30 0 ¤ê¤Æ¤é¤ë ¥ê¥Æ¥é¥ë #T05 42 ¤ê¤Æ¤ó ÍøÅÀ #T35 32 ¤ê¤È¤¢¤Ë¤¢ ¥ê¥È¥¢¥Ë¥¢ #CN 0 ¤ê¤È¤¦ Î¥Åç #T30 0 ¤ê¤È¤¯ ÍøÆÀ #T35 0 ¤ê¤È¤ë ¥ê¥È¥ë #T05 1 ¤ê¤Ë¤¢ ¥ê¥Ë¥¢ #T05 1 ¤ê¤Ë¤å¤¦ Î¥Æý #T30 0 ¤ê¤Í¤ó Íýǰ #T35 6 ¤ê¤Î¤¦ Î¥ÇÀ #T30 0 ¤ê¤Ï¤Ã¤Á¤ã¤¯ ΥȯÃå #T30 0 ¤ê¤Ï¤Ä ÍøÈ¯ #T05 0 ¤ê¤Ï¤Ä Íýȱ #T30 0 ¤ê¤Ï¤Ó¤ê ¥ê¥Ï¥Ó¥ê #T30 0 ¤ê¤Ð¡¼¤¹ ¥ê¥Ð¡¼¥¹ #T30 17 ¤ê¤Ó¤¸¤ç¤ó ¥ê¥Ó¥¸¥ç¥ó #T35 19 ¤ê¤Ô¡¼¤¿ ¥ê¥Ô¡¼¥¿ #T35 22 ¤ê¤Ô¡¼¤¿¡¼ ¥ê¥Ô¡¼¥¿¡¼ #T35 22 ¤ê¤Õ ÍøÉÜ #CN 0 ¤ê¤Õ¤¡¤ì¤ó¤¹ ¥ê¥Õ¥¡¥ì¥ó¥¹ #T30 38 ¤ê¤Õ¤¸¤ó ÍýÉÔ¿Ô #T05 1 ¤ê¤Õ¤È ¥ê¥Õ¥È #T35 6 ¤ê¤Õ¤ì¤¤¤ó ¥ê¥Õ¥ì¥¤¥ó #T30 0 ¤ê¤Ö¡¼¤È ¥ê¥Ö¡¼¥È #T30 11 ¤ê¤×¤é¤¤ ¥ê¥×¥é¥¤ #T30 8 ¤ê¤×¤ê¤±¡¼¤·¤ç¤ó ¥ê¥×¥ê¥±¡¼¥·¥ç¥ó #T30 6 ¤ê¤×¤ê¤±¡¼¤È ¥ê¥×¥ê¥±¡¼¥È #T30 1 ¤ê¤×¤ë ¥ê¥×¥ë #T35 1 ¤ê¤Ø¤¤ ÍøÊ¿ #JNM 0 ¤ê¤Ù¤Ä Î¥ÊÌ #T30 1 ¤ê¤Ù¤ó ÍøÊØ #T35 0 ¤ê¤Ü¤¾¡¼¤à ¥ê¥Ü¥¾¡¼¥à #T35 1 ¤ê¤Ü¤ó ¤ê¤Ü¤ó #T35 2 ¤ê¤Ü¤ó ¥ê¥Ü¥ó #T35 2 ¤ê¤Ý¡¼¤¿ ¥ê¥Ý¡¼¥¿ #T35 1 ¤ê¤Ý¡¼¤¿¡¼ ¥ê¥Ý¡¼¥¿¡¼ #T35 1 ¤ê¤Ý¡¼¤È ¥ê¥Ý¡¼¥È #T30 3 ¤ê¤Þ¤ï¤ê Íø²ó¤ê #T35 0 ¤ê¤ß¤Ã¤¿ ¥ê¥ß¥Ã¥¿ #T35 1 ¤ê¤ß¤Ã¤¿¡¼ ¥ê¥ß¥Ã¥¿¡¼ #T35 1 ¤ê¤á¤ó ΢ÌÌ #T35 1 ¤ê¤â¡¼¤È ¥ê¥â¡¼¥È #T35 47 ¤ê¤ã¤¯ Ϋ #KJ 0 ¤ê¤ã¤¯ ά #S5 20 ¤ê¤ã¤¯ ά #T35 186 ¤ê¤ã¤¯¤«¤¤ ά²ò #T30 1 ¤ê¤ã¤¯¤® άµ· #T35 0 ¤ê¤ã¤¯¤´ ά¸ì #T35 1 ¤ê¤ã¤¯¤·¤­ ά¼° #T05 1 ¤ê¤ã¤¯¤·¤ç¤¦ ά¾Î #T30 13 ¤ê¤ã¤¯¤¸ ά»ú #T35 0 ¤ê¤ã¤¯¤º ά¿Þ #T35 0 ¤ê¤ã¤¯¤½¤¦ άÁõ #T30 0 ¤ê¤ã¤¯¤À¤Ä άå #T30 1 ¤ê¤ã¤¯¤Ò¤Ä άɮ #T30 0 ¤ê¤ã¤¯¤ì¤­ άÎò #T35 0 ¤ê¤ã¤Ã¤«¤¤ ά²ò #T35 1 ¤ê¤ã¤Ã¤­ άµ­ #T30 1 ¤ê¤å¤¦ ή #JNSUC 7 ¤ê¤å¤¦ ί #KJ 0 ¤ê¤å¤¦ ΰ #KJ 0 ¤ê¤å¤¦ ÎÜ #KJ 0 ¤ê¤å¤¦ Ìø #KJ 1 ¤ê¤å¤¦ έ #KJ 1 ¤ê¤å¤¦ β #KJ 1 ¤ê¤å¤¦ γ #KJ 1 ¤ê¤å¤¦ δ #KJ 1 ¤ê¤å¤¦ α #KJ 2 ¤ê¤å¤¦ ή #T35 0 ¤ê¤å¤¦ ε #T35 16 ¤ê¤å¤¦ ζ #T35 5 ¤ê¤å¤¦¤¤ α°Õ #T30 7 ¤ê¤å¤¦¤¤¤­ ή°è #T35 0 ¤ê¤å¤¦¤¤¤Á δ°ì #JNM 0 ¤ê¤å¤¦¤¤¤Á ε°ì #JNM 0 ¤ê¤å¤¦¤¤¤Á ζ°ì #JNM 0 ¤ê¤å¤¦¤¤¤ó ί°û #T35 0 ¤ê¤å¤¦¤ª¤¦ 岦 #CN 0 ¤ê¤å¤¦¤« β²½ #T30 0 ¤ê¤å¤¦¤«¤¤ ή²ñ #T30 0 ¤ê¤å¤¦¤«¤ó ή´¶ #T35 0 ¤ê¤å¤¦¤¬¤¯ α³Ø #T30 6 ¤ê¤å¤¦¤¬¤¯¤»¤¤ α³ØÀ¸ #T35 2 ¤ê¤å¤¦¤¬¤µ¤­ ε¥öºê #CN 0 ¤ê¤å¤¦¤¬¤ó ε´é #T35 1 ¤ê¤å¤¦¤­ δµ¯ #T30 1 ¤ê¤å¤¦¤® ήµ· #T35 2 ¤ê¤å¤¦¤±¤Ä ή·ì #T30 0 ¤ê¤å¤¦¤²¤ó ή¸À #T35 0 ¤ê¤å¤¦¤²¤ó¤Ò¤´ ή¸ÀÈô¸ì #T35 0 ¤ê¤å¤¦¤²¤ó¤Ò¤´ ή¸Àéô¸ì #T35 0 ¤ê¤å¤¦¤³¤¦ ή¹Ô #T30 2 ¤ê¤å¤¦¤´ δ¸ã #JNM 0 ¤ê¤å¤¦¤´ ζ¸Þ #JNM 0 ¤ê¤å¤¦¤µ¤ó β»À #T35 0 ¤ê¤å¤¦¤¶¤ó ή»º #T30 1 ¤ê¤å¤¦¤· γ»Ò #T35 3 ¤ê¤å¤¦¤·¤Ä ή¼º #T30 0 ¤ê¤å¤¦¤·¤å¤Ä ή½Ð #T30 2 ¤ê¤å¤¦¤¸ δ»Ê #JNM 0 ¤ê¤å¤¦¤¸ δÆó #JNM 0 ¤ê¤å¤¦¤¸¤ó ζ¿À #JCN 0 ¤ê¤å¤¦¤¹¤¤ ή¿å #T35 4 ¤ê¤å¤¦¤¹¤± δ²ð #JNM 0 ¤ê¤å¤¦¤º εƬ #T35 0 ¤ê¤å¤¦¤»¤¤ δÀ¹ #T05 1 ¤ê¤å¤¦¤»¤¤ ήÀ± #T35 0 ¤ê¤å¤¦¤»¤¤¤°¤ó ήÀ±·² #T35 0 ¤ê¤å¤¦¤½¤¯ ή® #T35 0 ¤ê¤å¤¦¤¾¤¦ δ»° #JNM 0 ¤ê¤å¤¦¤¾¤¦ ε»° #JNM 0 ¤ê¤å¤¦¤¿ εÂÀ #JNM 0 ¤ê¤å¤¦¤¿¤¤ ήÂÎ #T35 3 ¤ê¤å¤¦¤Á αÃÖ #T30 0 ¤ê¤å¤¦¤Á¤ç¤¦ ήĪ #T05 2 ¤ê¤å¤¦¤Ä¤¦ ήÄÌ #T30 8 ¤ê¤å¤¦¤È¤¦¤À¤Ó εƬ¼ØÈø #T15 0 ¤ê¤å¤¦¤È¤¦¤À¤Ó ζƬ¼ØÈø #T15 0 ¤ê¤å¤¦¤É¤¦ ήư #T30 4 ¤ê¤å¤¦¤Ë¤å¤¦ ήÆþ #T30 1 ¤ê¤å¤¦¤Ë¤ó αǤ #T30 0 ¤ê¤å¤¦¤Í¤ó αǯ #T30 1 ¤ê¤å¤¦¤Ï ήÇÉ #T35 0 ¤ê¤å¤¦¤Ò¤ç¤¦ ήɹ #T35 1 ¤ê¤å¤¦¤Ø¤¤ ζʿ #JNM 0 ¤ê¤å¤¦¤Û αÊÝ #T30 0 ¤ê¤å¤¦¤Û¤¯ εËÌ #CN 0 ¤ê¤å¤¦¤è¤¦ εÍÎ #CN 0 ¤ê¤å¤¦¤è¤¦ ήÍÑ #T30 18 ¤ê¤å¤¦¤ê¤ç¤¦ ήÎÌ #T35 2 ¤ê¤æ¤¦ Íýͳ #T35 130 ¤ê¤ç η #KJ 0 ¤ê¤ç ι #KJ 0 ¤ê¤ç κ #KJ 0 ¤ê¤ç Ϥ #KJ 1 ¤ê¤ç θ #KJ 8 ¤ê¤ç¤¦ μ #JNM 0 ¤ê¤ç¤¦ ÎÉ #JNM 0 ¤ê¤ç¤¦ ξ #JS 12 ¤ê¤ç¤¦ °½ #KJ 0 ¤ê¤ç¤¦ É© #KJ 0 ¤ê¤ç¤¦ ν #KJ 0 ¤ê¤ç¤¦ ÎÅ #KJ 0 ¤ê¤ç¤¦ ÎÆ #KJ 0 ¤ê¤ç¤¦ ÎÈ #KJ 0 ¤ê¤ç¤¦ ÎË #KJ 0 ¤ê¤ç¤¦ Îá #KJ 0 ¤ê¤ç¤¦ Îæ #KJ 0 ¤ê¤ç¤¦ Îç #KJ 0 ¤ê¤ç¤¦ Îî #KJ 0 ¤ê¤ç¤¦ ̺ #KJ 1 ¤ê¤ç¤¦ ο #KJ 1 ¤ê¤ç¤¦ Îà #KJ 1 ¤ê¤ç¤¦ ÎÇ #KJ 1 ¤ê¤ç¤¦ ò´ #KJ 1 ¤ê¤ç¤¦ ÎÍ #KJ 2 ¤ê¤ç¤¦ Π#KJ 3 ¤ê¤ç¤¦ ξ #PRE 0 ¤ê¤ç¤¦ ÎÀ #SUC 0 ¤ê¤ç¤¦ ÎÁ #SUC 0 ¤ê¤ç¤¦ ÎÌ #SUC 0 ¤ê¤ç¤¦ ÎÊ #T30 0 ¤ê¤ç¤¦ ÎÎ #T30 18 ¤ê¤ç¤¦ ξ #T35 0 ¤ê¤ç¤¦ ÎÄ #T35 0 ¤ê¤ç¤¦ µù #T35 1 ¤ê¤ç¤¦ ÎÀ #T35 12 ¤ê¤ç¤¦ ÎÉ #T35 14 ¤ê¤ç¤¦ λ #T35 2 ¤ê¤ç¤¦ ÎÌ #T35 201 ¤ê¤ç¤¦ ÎÁ #T35 6 ¤ê¤ç¤¦¤¢¤· ξ­ #T35 0 ¤ê¤ç¤¦¤¢¤ó¤¸ ε°Â»û #KK 1 ¤ê¤ç¤¦¤¤¤­ Îΰè #T35 223 ¤ê¤ç¤¦¤¤¤Á μ°ì #JNM 0 ¤ê¤ç¤¦¤¤¤Á Îɰì #JNM 0 ¤ê¤ç¤¦¤¤¤ó ξ±¡ #T35 0 ¤ê¤ç¤¦¤¨¤ó Îɱï #T35 0 ¤ê¤ç¤¦¤«¤¤ Îʲò #T30 0 ¤ê¤ç¤¦¤«¤¤ λ²ò #T30 36 ¤ê¤ç¤¦¤«¤¤ Îγ¤ #T35 0 ¤ê¤ç¤¦¤«¤ß ξ¿À #CN 0 ¤ê¤ç¤¦¤«¤ó ÎÌ´¶ #T35 0 ¤ê¤ç¤¦¤¬ ο²ï #T30 1 ¤ê¤ç¤¦¤¬¤¨ Î¾ÂØ #T30 0 ¤ê¤ç¤¦¤¬¤ï ξ¦ #T35 2 ¤ê¤ç¤¦¤­ ÎÄ´ñ #T35 0 ¤ê¤ç¤¦¤­¤Á ÎÉµÈ #JNM 0 ¤ê¤ç¤¦¤­¤ç¤¯ ξ¶Ë #T35 1 ¤ê¤ç¤¦¤­¤ç¤¯¤¿¤ó ξ¶Ëü #T35 0 ¤ê¤ç¤¦¤­¤ó ÎÁ¶â #T35 26 ¤ê¤ç¤¦¤¯¤¦ Îζõ #T35 0 ¤ê¤ç¤¦¤± ξ²È #T35 0 ¤ê¤ç¤¦¤±¤ó λ¸« #T35 0 ¤ê¤ç¤¦¤±¤ó ξ¸© #T35 0 ¤ê¤ç¤¦¤±¤ó ÎÁ´Ê #T35 0 ¤ê¤ç¤¦¤±¤ó Îĸ¤ #T35 0 ¤ê¤ç¤¦¤³ ÎÉ»Ò #JNM 0 ¤ê¤ç¤¦¤³ ÎÌ»Ò #JNM 0 ¤ê¤ç¤¦¤³¤¦ Îɹ¥ #T05 4 ¤ê¤ç¤¦¤³¤¯ ξ¹ñ #T35 1 ¤ê¤ç¤¦¤´¤¯ ξ¹ñ #CN 0 ¤ê¤ç¤¦¤µ¤¤¤±¤ó¤Ü Îɺʸ­Êì #T35 2 ¤ê¤ç¤¦¤µ¤¯ Îɺö #T35 0 ¤ê¤ç¤¦¤µ¤ó ÎÌ»º #T30 1 ¤ê¤ç¤¦¤· µù»Õ #T35 0 ¤ê¤ç¤¦¤· ξ»Ô #T35 0 ¤ê¤ç¤¦¤· ÎÄ»Õ #T35 0 ¤ê¤ç¤¦¤· ξ»á #T35 2 ¤ê¤ç¤¦¤· ÎÌ»Ò #T35 6 ¤ê¤ç¤¦¤·¤­ Îɼ± #T35 1 ¤ê¤ç¤¦¤·¤Ä ÎɼÁ #T05 0 ¤ê¤ç¤¦¤·¤ã ξ¼Ô #T35 18 ¤ê¤ç¤¦¤·¤ã ξ¼Ò #T35 2 ¤ê¤ç¤¦¤·¤å Îμç #T35 0 ¤ê¤ç¤¦¤·¤å¤¦ Îμý #T30 3 ¤ê¤ç¤¦¤·¤å¤¦ Îε #T35 0 ¤ê¤ç¤¦¤·¤ç¤¦ Îʾµ #T30 0 ¤ê¤ç¤¦¤·¤ç¤¦ λ¾µ #T30 4 ¤ê¤ç¤¦¤·¤ç¤¯ ÎÈ¿© #T35 0 ¤ê¤ç¤¦¤·¤ó ÎÉ¿´ #T35 2 ¤ê¤ç¤¦¤·¤ó ξ¿Æ #T35 5 ¤ê¤ç¤¦¤¸ Îɼ£ #JNM 0 ¤ê¤ç¤¦¤¸ ÎÉÆó #JNM 0 ¤ê¤ç¤¦¤¸ Îż£ #T30 0 ¤ê¤ç¤¦¤¸ Îλö #T35 0 ¤ê¤ç¤¦¤¸¤Ä ξÆü #T35 4 ¤ê¤ç¤¦¤¸¤å¤¦ ÎÄ½Æ #T35 0 ¤ê¤ç¤¦¤¸¤ó ÎÉ¿Í #T35 0 ¤ê¤ç¤¦¤»¤¤ ÎÉÀ­ #T05 0 ¤ê¤ç¤¦¤»¤¤ ξÀ­ #T35 0 ¤ê¤ç¤¦¤»¤ó ÎÇÀþ #T35 2 ¤ê¤ç¤¦¤¼¤ó Î #CN 0 ¤ê¤ç¤¦¤½¤¯ ξ¦ #T35 1 ¤ê¤ç¤¦¤¾¤¦ ÎÉ»° #JNM 0 ¤ê¤ç¤¦¤¿ ÎÉÂÀ #JNM 0 ¤ê¤ç¤¦¤¿¤ó ξü #T35 4 ¤ê¤ç¤¦¤À¤ó ξÃÇ #T30 0 ¤ê¤ç¤¦¤Á ÎÎÃÏ #T35 1 ¤ê¤ç¤¦¤Ä ξÄÅ #JCN 0 ¤ê¤ç¤¦¤Æ ξ¼ê #T35 3 ¤ê¤ç¤¦¤Æ¤¤ ÎÁÄâ #T35 1 ¤ê¤ç¤¦¤Æ¤­ ÎÌŪ #T05 1 ¤ê¤ç¤¦¤È¤¯ ξÆÀ #T35 0 ¤ê¤ç¤¦¤É ÎÎÅÚ #T35 0 ¤ê¤ç¤¦¤É¤¦ ξƻ #T35 1 ¤ê¤ç¤¦¤É¤¦ ÎÈÆ» #T35 1 ¤ê¤ç¤¦¤Ê¤¤ ÎÎÆâ #T35 0 ¤ê¤ç¤¦¤Ê¤ó °½Æî #CN 0 ¤ê¤ç¤¦¤Ë¤ó ξ¿Í #T35 1 ¤ê¤ç¤¦¤Í¤ó ξǯ #T35 0 ¤ê¤ç¤¦¤Ï ξÇÉ #T35 2 ¤ê¤ç¤¦¤Ï¤· ξü #T35 1 ¤ê¤ç¤¦¤Ò ÎÉÈÝ #T35 0 ¤ê¤ç¤¦¤Ö¤ó ξʬ #T30 0 ¤ê¤ç¤¦¤Ö¤ó ÎÎʬ #T35 1 ¤ê¤ç¤¦¤Ø¤¤ ÎÉÊ¿ #JNM 0 ¤ê¤ç¤¦¤Û¤¦ ÎÅË¡ #T35 1 ¤ê¤ç¤¦¤Û¤¦ ξÊý #T35 105 ¤ê¤ç¤¦¤Ü ÎÀÊì #T35 0 ¤ê¤ç¤¦¤Ü ÎÍÊè #T35 0 ¤ê¤ç¤¦¤ß ÎÃÌ£ #T35 0 ¤ê¤ç¤¦¤á ξÌÜ #T35 1 ¤ê¤ç¤¦¤á¤ó ξÌÌ #T35 2 ¤ê¤ç¤¦¤æ¤¦ ÎÎÍ­ #T30 0 ¤ê¤ç¤¦¤è¤¦ ξÍÑ #T30 2 ¤ê¤ç¤¦¤è¤¦ ÎÅÍÜ #T30 3 ¤ê¤ç¤¦¤è¤¦ ξÍÍ #T35 0 ¤ê¤ç¤¦¤è¤¯ ξÍã #T35 0 ¤ê¤ç¤¦¤ê ÎÁÍý #T30 28 ¤ê¤ç¤¦¤ê¤Ä ξΩ #T30 1 ¤ê¤ç¤¦¤í¤ó ξÏÀ #T30 1 ¤ê¤ç¤«¤¯ ιµÒ #T35 0 ¤ê¤ç¤«¤ó ι´Û #T35 1 ¤ê¤ç¤¬¤¤ θ³° #T35 0 ¤ê¤ç¤¯ ÎÏ #KJ 0 ¤ê¤ç¤¯ ÎÐ #KJ 0 ¤ê¤ç¤¯ ÎÏ #SUC 56 ¤ê¤ç¤¯¤·¤ç¤¯ Îп§ #T35 1 ¤ê¤ç¤¯¤Á ÎÐÃÏ #T35 0 ¤ê¤ç¤¯¤Á¤ã ÎÐÃã #T35 4 ¤ê¤ç¤±¤ó ι·ô #T35 0 ¤ê¤ç¤³¤¦ ι¹Ô #T30 48 ¤ê¤ç¤¸¤ç¤¦ ι¾ð #T35 0 ¤ê¤ç¤À¤ó ιÃÄ #T35 1 ¤ê¤ç¤Ã¤« Îв½ #T30 0 ¤ê¤ç¤Æ¤¤ Î¹Äø #T35 0 ¤ê¤ç¤Ò ιÈñ #T35 3 ¤ê¤è¤¦ ÍøÍÑ #T30 215 ¤ê¤è¤¦ ÍýÍÆ #T35 0 ¤ê¤è¤¦¤±¤ó ÍøÍÑ·ô #T35 3 ¤ê¤è¤¦¤·¤ã ÍøÍÑ¼Ô #T35 0 ¤ê¤é¤­¤·¤ó ¥ê¥é¥­¥·¥ó #T35 1 ¤ê¤ê¡¼¤¹ ¥ê¥ê¡¼¥¹ #T30 203 ¤ê¤ê¤¯ ΥΦ #T30 1 ¤ê¤ê¤· ÑÛ¡¹¤· #KY 1 ¤ê¤ê¤·¤å¤¦ ÑÛ¡¹¤·¤å¤¦ #KYU 1 ¤ê¤ê¤Ä ÍøÎ¨ #T35 1 ¤ê¤ì¡¼ ¥ê¥ì¡¼ #T30 11 ¤ê¤ì¡¼¤·¤ç¤ó ¥ê¥ì¡¼¥·¥ç¥ó #T35 16 ¤ê¤ì¤­ ÍúÎò #T35 45 ¤ê¤ì¤­¤·¤ç ÍúÎò½ñ #T35 5 ¤ê¤í¤ó ÍýÏÀ #T35 24 ¤ê¤ó ÎÒ #JS 0 ¤ê¤ó ÎØ #JS 0 ¤ê¤ó ÎÑ #KJ 0 ¤ê¤ó ÎÔ #KJ 0 ¤ê¤ó ÎÖ #KJ 0 ¤ê¤ó ÎØ #KJ 0 ¤ê¤ó ÎÛ #KJ 0 ¤ê¤ó ÎÙ #KJ 1 ¤ê¤ó ÎÚ #KJ 1 ¤ê¤ó ãÈ #KJ 1 ¤ê¤ó Î× #KJ 2 ¤ê¤ó ÎÓ #KJ 5 ¤ê¤ó ÎÓ #SUC 0 ¤ê¤ó Îë #T35 0 ¤ê¤ó ÎÕ #T35 1 ¤ê¤ó¤« ÎÙ²È #T35 0 ¤ê¤ó¤« ¥ê¥ó¥« #T35 1 ¤ê¤ó¤«¡¼ ¥ê¥ó¥«¡¼ #T35 1 ¤ê¤ó¤«¤¤ Î׳¦ #T30 1 ¤ê¤ó¤«¤¤ Î׳¤ #T35 1 ¤ê¤ó¤«¤¯ ÎØ³Ô #T35 3 ¤ê¤ó¤«¤ó ÎÓ´Ö #T35 0 ¤ê¤ó¤­¤ª¤¦¤Ø¤ó Î×µ¡±þÊÑ #T00 0 ¤ê¤ó¤® ã鵀 #T30 2 ¤ê¤ó¤®¤ç¤¦ ÎÓ¶È #T35 0 ¤ê¤ó¤¯ ¥ê¥ó¥¯ #T30 190 ¤ê¤ó¤¯¤¦ Î×¶õ #T35 1 ¤ê¤ó¤¯¤¹ ¥ê¥ó¥¯¥¹ #KK 6 ¤ê¤ó¤° ¥ê¥ó¥° #T35 20 ¤ê¤ó¤±¡¼¤¸ ¥ê¥ó¥±¡¼¥¸ #T35 1 ¤ê¤ó¤²¤Ä Î×·î #T35 0 ¤ê¤ó¤²¤ó åŸÀ #T35 0 ¤ê¤ó¤³¤¦ ÎØ¹Ö #T30 13 ¤ê¤ó¤´ ¤ê¤ó¤´ #T35 4 ¤ê¤ó¤´¤¯ ÎÙ¹ñ #T35 1 ¤ê¤ó¤µ¤ó ÎÓ»º #T35 0 ¤ê¤ó¤·¤ç¤¦ ÎØ¾§ #T30 0 ¤ê¤ó¤·¤ç¤¦ Î×¾² #T35 0 ¤ê¤ó¤·¤ç¤¯ ÒçÔ§ #T00 0 ¤ê¤ó¤¸ Î×»þ #T15 2 ¤ê¤ó¤¸¤å¤¦ Î×½ª #T30 0 ¤ê¤ó¤¸¤ç¤¦ Î×¾ì #T30 0 ¤ê¤ó¤¸¤ó ÎÙ¿Í #T35 0 ¤ê¤ó¤º åÅ»Ò #T35 0 ¤ê¤ó¤»¤­ Î×ÀÊ #T30 0 ¤ê¤ó¤»¤Ä ÎÙÀÜ #T30 10 ¤ê¤ó¤Æ¤ó ÎØÅ¾ #T30 2 ¤ê¤ó¤È ÑÛ¤È #F06 0 ¤ê¤ó¤É¤¦ ÎÓÆ» #T35 0 ¤ê¤ó¤É¤¦ εÃÀ #T35 1 ¤ê¤ó¤Í ÎØ²ö #T30 0 ¤ê¤ó¤Ñ ¥ê¥ó¥Ñ #T35 1 ¤ê¤ó¤ä ÎÓÌî #T35 0 ¤ê¤ó¤ê ÎÑÍý #T35 1 ¤ê¤ó¤ê¤Ä ÎÓΩ #T35 0 ¤ë ¼È #KJ 0 ¤ë ÎÜ #KJ 0 ¤ë Ϭ #KJ 1 ¤ë α #KJ 16 ¤ë ΰ #KJ 72 ¤ë¡¼¤¸¤å ¥ë¡¼¥¸¥å #T35 1 ¤ë¡¼¤º ¥ë¡¼¥º #T05 0 ¤ë¡¼¤¿ ¥ë¡¼¥¿ #T35 9 ¤ë¡¼¤¿¡¼ ¥ë¡¼¥¿¡¼ #T35 9 ¤ë¡¼¤Á¤ó ¥ë¡¼¥Á¥ó #T35 51 ¤ë¡¼¤Ä ¥ë¡¼¥Ä #T35 0 ¤ë¡¼¤Æ¤£¤ó ¥ë¡¼¥Æ¥£¥ó #T15 0 ¤ë¡¼¤Æ¤£¤ó¤° ¥ë¡¼¥Æ¥£¥ó¥° #T30 38 ¤ë¡¼¤È ¥ë¡¼¥È #T35 22 ¤ë¡¼¤È ¢å #T35 6 ¤ë¡¼¤Ö¤ë ¥ë¡¼¥Ö¥ë #T35 1 ¤ë¡¼¤× ¥ë¡¼¥× #T30 34 ¤ë¡¼¤Ú ¥ë¡¼¥Ú #T35 0 ¤ë¡¼¤Þ¤Ë¤¢ ¥ë¡¼¥Þ¥Ë¥¢ #CN 0 ¤ë¡¼¤à ¥ë¡¼¥à #T35 6 ¤ë¡¼¤ë ¥ë¡¼¥ë #T35 50 ¤ë¤¤ ÎÝ #JS 0 ¤ë¤¤ Îà #JS 0 ¤ë¤¤ ÎÞ #KJ 1 ¤ë¤¤ Îà #SUC 0 ¤ë¤¤ Îà #T30 20 ¤ë¤¤ ÎÝ #T35 0 ¤ë¤¤ Îß #T35 0 ¤ë¤¤¤±¤¤ Îß·× #T30 4 ¤ë¤¤¤´ Îà¸ì #T35 1 ¤ë¤¤¤µ¤ó Îß»» #T30 1 ¤ë¤¤¤·¤ç Îà½ñ #T35 0 ¤ë¤¤¤·¤ç¤¦ Îà¾Æ #T30 0 ¤ë¤¤¤·¤ç¤¦ Îà¾É #T35 1 ¤ë¤¤¤·¤ó Îß¿Ê #T30 0 ¤ë¤¤¤·¤ó ÎÝ¿³ #T35 0 ¤ë¤¤¤¸ Îà»÷ #T10 12 ¤ë¤¤¤¸ Îà»ú #T35 0 ¤ë¤¤¤¸¤ç¤¦ Îß¾è #T30 0 ¤ë¤¤¤¹¤¤ Îà¿ä #T30 3 ¤ë¤¤¤»¤­ ÎßÀÑ #T30 3 ¤ë¤¤¤»¤ó ÎÞÁ£ #T35 0 ¤ë¤¤¤É¤¦ ÎàÆ± #T30 0 ¤ë¤¤¤Ù¤Ä ÎàÊÌ #T30 1 ¤ë¤¤¤ë¤¤ Îß¡¹ #F02 0 ¤ë¤¨¤ó ή޷ #T35 1 ¤ë¤¯¤¹ ¥ë¥¯¥¹ #T35 0 ¤ë¤¹ α¼é #T10 5 ¤ë¤¹¤Ä α¼÷ÅÔ #CN 0 ¤ë¤¹¤Ç¤ó α¼éÅÅ #T35 0 ¤ë¤¹¤Ð¤ó α¼éÈÖ #T30 6 ¤ë¤Ã¤¯¤¹ ¥ë¥Ã¥¯¥¹ #T35 1 ¤ë¤Æ¤ó ήž #T30 0 ¤ë¤Î¤ï¡¼¤ë ¥ë¥Î¥ï¡¼¥ë #JN 0 ¤ë¤Ó ¥ë¥Ó #T35 2 ¤ë¤Õ ήÉÛ #T30 1 ¤ë¤Ý¤ë¤¿¡¼¤¸¤å ¥ë¥Ý¥ë¥¿¡¼¥¸¥å #T35 1 ¤ë¤ß¤³ αÈþ»Ò #JNM 0 ¤ë¤â¤¤ α˨ #CN 0 ¤ë¤ê ÎÜÍþ #T35 1 ¤ë¤í¤¦ ήϲ #T30 1 ¤ì¡¼¤¬¤ó ¥ì¡¼¥¬¥ó #JN 0 ¤ì¡¼¤¶ ¥ì¡¼¥¶ #T35 13 ¤ì¡¼¤¶¡¼ ¥ì¡¼¥¶¡¼ #T35 6 ¤ì¡¼¤¹ ¥ì¡¼¥¹ #T35 4 ¤ì¡¼¤À ¥ì¡¼¥À #T35 1 ¤ì¡¼¤À¡¼ ¥ì¡¼¥À¡¼ #T35 1 ¤ì¡¼¤È ¥ì¡¼¥È #T35 3 ¤ì¡¼¤Ù¤ë ¥ì¡¼¥Ù¥ë #T35 2 ¤ì¡¼¤ë ¥ì¡¼¥ë #T35 2 ¤ì¤¤ ³Â #KJ 0 ¤ì¤¤ Å× #KJ 0 ¤ì¤¤ Ìá #KJ 0 ¤ì¤¤ Îâ #KJ 0 ¤ì¤¤ Îê #KJ 0 ¤ì¤¤ Îì #KJ 0 ¤ì¤¤ Îð #KJ 0 ¤ì¤¤ Îá #KJ 1 ¤ì¤¤ Îæ #KJ 1 ¤ì¤¤ Îç #KJ 1 ¤ì¤¤ Îè #KJ 1 ¤ì¤¤ Îë #KJ 1 ¤ì¤¤ Îï #KJ 1 ¤ì¤¤ óÕ #KJ 1 ¤ì¤¤ Îä #KJ 3 ¤ì¤¤ Îå #KJ 3 ¤ì¤¤ Îã #SUC 0 ¤ì¤¤ Îá #SUC 2 ¤ì¤¤ Îí #T35 0 ¤ì¤¤ Îé #T35 14 ¤ì¤¤ Îî #T35 19 ¤ì¤¤ Îã #T35 255 ¤ì¤¤ ¥ì¥¤ #T35 4 ¤ì¤¤¤¢¤¦¤È ¥ì¥¤¥¢¥¦¥È #T30 24 ¤ì¤¤¤¨¤ó Îî±à #T35 0 ¤ì¤¤¤« Î䲯 #T35 0 ¤ì¤¤¤« Îí²¼ #T35 0 ¤ì¤¤¤«¤¤ Îã²ñ #T35 2 ¤ì¤¤¤«¤ó Îî´¶ #T35 0 ¤ì¤¤¤¬¤¤ Îã³° #T15 32 ¤ì¤¤¤¬¤¤ Îä³² #T35 0 ¤ì¤¤¤­ Î䵤 #T35 0 ¤ì¤¤¤­¤ã¤¯ ÎäµÑ #T30 2 ¤ì¤¤¤­¤ó Îé¶â #T35 1 ¤ì¤¤¤® Îéµ· #T35 1 ¤ì¤¤¤°¤¦ Îä¶ø #T30 0 ¤ì¤¤¤±¤Ä Îä·ì #T05 0 ¤ì¤¤¤±¤Ä¤«¤ó Îä·ì´Á #T35 1 ¤ì¤¤¤±¤ó Î #T35 2 ¤ì¤¤¤²¤Ä Îã·î #T35 0 ¤ì¤¤¤³ Îá»Ò #JNM 0 ¤ì¤¤¤³ Îç»Ò #JNM 0 ¤ì¤¤¤³ Îè»Ò #JNM 0 ¤ì¤¤¤³ Îé»Ò #JNM 0 ¤ì¤¤¤³¤¦ Îå¹Ô #T30 2 ¤ì¤¤¤³¤¯ Îä¹ó #T05 0 ¤ì¤¤¤³¤ó Î #T35 0 ¤ì¤¤¤µ¤¤ ÎíºÙ #T05 0 ¤ì¤¤¤·¤ç Îì½ñ #T35 0 ¤ì¤¤¤·¤ç¤¦ Îä¾Ð #T30 0 ¤ì¤¤¤·¤ç¤¦ Îã¾Ú #T30 1 ¤ì¤¤¤¸ ÎèÆó #JNM 0 ¤ì¤¤¤¸ Î㼨 #T30 1 ¤ì¤¤¤¸ Îí»þ #T35 0 ¤ì¤¤¤¸¤ç¤¦ Îá¾î #T35 0 ¤ì¤¤¤¸¤ç¤¦ Îá¾õ #T35 0 ¤ì¤¤¤¸¤ç¤¦ Îî¾ì #T35 0 ¤ì¤¤¤¸¤ç¤¦ Îé¾õ #T35 2 ¤ì¤¤¤¹¤¤ Îä¿å #T35 0 ¤ì¤¤¤»¤¤ ÎäÀÅ #T05 3 ¤ì¤¤¤»¤ó ÎäÀï #T35 0 ¤ì¤¤¤¼¤ó ÎîÁ° #T35 0 ¤ì¤¤¤½¤¯ Îá© #T35 0 ¤ì¤¤¤¾¤¦¤³ Îä¢¸Ë #T35 3 ¤ì¤¤¤¿¤ó Îäø #T05 0 ¤ì¤¤¤À¤¤ ÎãÂê #T35 21 ¤ì¤¤¤È¤¦ ÎäÅà #T30 1 ¤ì¤¤¤É ÎíÅÙ #T35 0 ¤ì¤¤¤Ë¤å¤¦ ÌáÆþ #T30 0 ¤ì¤¤¤Í¤Ä ÎäÇ® #T35 0 ¤ì¤¤¤Í¤ó Îãǯ #T35 2 ¤ì¤¤¤Ð¤¤ ÎäÇÞ #T35 0 ¤ì¤¤¤Ð¤¤ ÎîÇÞ #T35 0 ¤ì¤¤¤Õ¤¦ ÎäÉ÷ #T35 0 ¤ì¤¤¤Õ¤¯ ÎéÉþ #T35 1 ¤ì¤¤¤Ö¤ó Îãʸ #T35 10 ¤ì¤¤¤Û¤¦ ÎéË¡ #T35 0 ¤ì¤¤¤Û¤¦ Îéˤ #T35 0 ¤ì¤¤¤Û¤¯ ÎêËÌ #CN 0 ¤ì¤¤¤Ü¤¦ Îä˼ #T35 1 ¤ì¤¤¤á¤¤ óÕÌÀ #T35 0 ¤ì¤¤¤ä ¥ì¥¤¥ä #T35 23 ¤ì¤¤¤ä¡¼ ¥ì¥¤¥ä¡¼ #T35 3 ¤ì¤¤¤ì¤¤¤· Î¤· #KY 0 ¤ì¤¤¤ì¤¤¤·¤å¤¦ Î¤·¤å¤¦ #KYU 0 ¤ì¤­ 㪠#KJ 1 ¤ì¤­ Îñ #T35 1 ¤ì¤­ Îò #T35 13 ¤ì¤­¤· íà»à #T30 0 ¤ì¤­¤· Îò»Ë #T35 17 ¤ì¤­¤¼¤ó ÎòÁ³ #F00 1 ¤ì¤­¤¼¤ó ÎòÁ³ #T36 0 ¤ì¤­¤À¤¤ ÎòÂå #T35 1 ¤ì¤­¤Û¤¦ Îòˬ #T30 0 ¤ì¤­¤ì¤­ Îò¡¹ #T35 0 ¤ì¤®¤å¤é¡¼ ¥ì¥®¥å¥é¡¼ #T05 1 ¤ì¤¯¤¤¤¨¤à ¥ì¥¯¥¤¥¨¥à #T35 1 ¤ì¤¯¤Á¤ã¡¼ ¥ì¥¯¥Á¥ã¡¼ #T30 2 ¤ì¤³¡¼¤À ¥ì¥³¡¼¥À #T35 1 ¤ì¤³¡¼¤À¡¼ ¥ì¥³¡¼¥À¡¼ #T35 1 ¤ì¤³¡¼¤Ç¤£¤ó¤° ¥ì¥³¡¼¥Ç¥£¥ó¥° #T30 2 ¤ì¤³¡¼¤É ¥ì¥³¡¼¥É #T35 67 ¤ì¤·¡¼¤È ¥ì¥·¡¼¥È #T35 1 ¤ì¤·¡¼¤Ð ¥ì¥·¡¼¥Ð #T35 0 ¤ì¤·¡¼¤Ð¡¼ ¥ì¥·¡¼¥Ð¡¼ #T35 0 ¤ì¤·¤Ô ¥ì¥·¥Ô #T35 0 ¤ì¤¸ ¥ì¥¸ #T35 2 ¤ì¤¸¡¼¤à ¥ì¥¸¡¼¥à #T35 19 ¤ì¤¸¤¹¤¿ ¥ì¥¸¥¹¥¿ #T35 42 ¤ì¤¸¤¹¤¿¡¼ ¥ì¥¸¥¹¥¿¡¼ #T35 42 ¤ì¤¸¤ã¡¼ ¥ì¥¸¥ã¡¼ #T35 1 ¤ì¤¸¤å¤á ¥ì¥¸¥å¥á #T35 1 ¤ì¤¹ ¥ì¥¹ #SUC 32 ¤ì¤¹¤È¤é¤ó ¥ì¥¹¥È¥é¥ó #T35 6 ¤ì¤¹¤Ý¤ó¤¹ ¥ì¥¹¥Ý¥ó¥¹ #T30 11 ¤ì¤¹¤ê¤ó¤° ¥ì¥¹¥ê¥ó¥° #T35 1 ¤ì¤»¤×¤·¤ç¤ó ¥ì¥»¥×¥·¥ç¥ó #T35 1 ¤ì¤¾¤ê¤å¡¼¤·¤ç¤ó ¥ì¥¾¥ê¥å¡¼¥·¥ç¥ó #T30 4 ¤ì¤¿¡¼ ¥ì¥¿¡¼ #T35 9 ¤ì¤Ã¤« Îô²½ #T30 2 ¤ì¤Ã¤« Îõ²Ð #T35 0 ¤ì¤Ã¤­ Îóµ­ #T30 2 ¤ì¤Ã¤­¤È ¤ì¤Ã¤­¤È #T12 0 ¤ì¤Ã¤­¤È Îò¤È #T12 0 ¤ì¤Ã¤­¤ç Îóµó #T30 6 ¤ì¤Ã¤­¤ç¤¦ Îó¶¯ #T35 0 ¤ì¤Ã¤³¤¯ Îó¹ñ #T35 0 ¤ì¤Ã¤·¤ã Îó¼Ö #T35 11 ¤ì¤Ã¤·¤ç¤¦ Îö½ý #T35 0 ¤ì¤Ã¤»¤¤ ÎôÀª #T05 0 ¤ì¤Ã¤»¤¤ ÎôÀ­ #T05 0 ¤ì¤Ã¤»¤­ ÎóÀÊ #T30 0 ¤ì¤Ã¤È¤¦ ÎôÅù #T05 0 ¤ì¤Ã¤È¤¦ ÎóÅç #T35 1 ¤ì¤Ã¤É ¥ì¥Ã¥É #T05 2 ¤ì¤Ã¤Ñ¤¯ ÎõÖç #T35 0 ¤ì¤Ä Îó #JS 255 ¤ì¤Ä Îö #KJ 0 ¤ì¤Ä Îõ #KJ 1 ¤ì¤Ä Îô #KJ 3 ¤ì¤Ä Îó #SUC 0 ¤ì¤Ä Îó #T35 148 ¤ì¤Ä¤¢¤¯ Îô°­ #T05 2 ¤ì¤Ä¤Ç¤ó ÎóÅÁ #T35 1 ¤ì¤Ä¤ì¤Ä Îó¡¹ #F03 0 ¤ì¤È¤ê¤Ã¤¯ ¥ì¥È¥ê¥Ã¥¯ #T35 0 ¤ì¤È¤ë¤È ¥ì¥È¥ë¥È #T35 4 ¤ì¤Ð¡¼ ¥ì¥Ð¡¼ #T35 3 ¤ì¤Ó¤å¡¼ ¥ì¥Ó¥å¡¼ #T30 6 ¤ì¤Õ ¥ì¥Õ #T35 0 ¤ì¤Ö¤§¤ë ¥ì¥ô¥§¥ë #T35 1 ¤ì¤Ö¤ó Îéʸ #CN 0 ¤ì¤Ù¤ë ¥ì¥Ù¥ë #T35 216 ¤ì¤Ý¡¼¤¿ ¥ì¥Ý¡¼¥¿ #T35 0 ¤ì¤Ý¡¼¤¿¡¼ ¥ì¥Ý¡¼¥¿¡¼ #T35 0 ¤ì¤Ý¡¼¤È ¥ì¥Ý¡¼¥È #T30 31 ¤ì¤â¤Í¡¼¤É ¥ì¥â¥Í¡¼¥É #T35 1 ¤ì¤â¤ó ¥ì¥â¥ó #T35 2 ¤ì¤ó Îø #KJ 0 ¤ì¤ó Îù #KJ 0 ¤ì¤ó Îú #KJ 0 ¤ì¤ó Îü #KJ 0 ¤ì¤ó Îý #KJ 0 ¤ì¤ó Îþ #KJ 0 ¤ì¤ó ³ù #KJ 1 ¤ì¤ó Î÷ #KJ 1 ¤ì¤ó Îû #KJ 1 ¤ì¤ó Ï¡ #KJ 1 ¤ì¤ó Ï£ #KJ 1 ¤ì¤ó Ï¢ #T35 153 ¤ì¤ó¤¢¤¤ Îø°¦ #T30 1 ¤ì¤ó¤« Î÷²Á #T05 1 ¤ì¤ó¤«¤ó Ï¢´Ø #T30 1 ¤ì¤ó¤¬ Îû´¤ #T35 1 ¤ì¤ó¤­ Ï¢µ­ #T30 1 ¤ì¤ó¤­¤å¤¦ Ï¢µÙ #T35 25 ¤ì¤ó¤­¤ó¤¸¤å¤Ä Ï£¶â½Ñ #T35 1 ¤ì¤ó¤°¤¹ ¥ì¥ó¥°¥¹ #T35 1 ¤ì¤ó¤±¤¤ Ï¢·È #T30 2 ¤ì¤ó¤±¤¤ Ï¢·¸ #T30 4 ¤ì¤ó¤±¤Ä Ï¢·ë #T10 13 ¤ì¤ó¤±¤Ä¤· Ï¢·ë»Ò #T35 1 ¤ì¤ó¤²¤ó Ï¢¸À #T35 1 ¤ì¤ó¤²¤ó¤· Ï¢¸À»è #T35 6 ¤ì¤ó¤³ Ï¢¸Æ #T30 2 ¤ì¤ó¤³¤¦ Ï¢¹Ô #T30 0 ¤ì¤ó¤³¤ó Ï¡º¬ #T35 1 ¤ì¤ó¤´ Ï¢¸ì #T35 0 ¤ì¤ó¤´¤¦ Ï¢¹ç #T30 3 ¤ì¤ó¤µ Ï¢º¿ #T30 2 ¤ì¤ó¤µ¤¤ Ï¢ºÜ #T30 10 ¤ì¤ó¤µ¤¯ Ï¢ºî #T30 0 ¤ì¤ó¤¶ Ï¢ºÂ #T30 0 ¤ì¤ó¤¶¤ó Ï¢»³ #T35 0 ¤ì¤ó¤·¤å¤¦ Îý½¬ #T30 28 ¤ì¤ó¤·¤ç Ï¢½ð #T30 0 ¤ì¤ó¤·¤ç¤¦ Ï¢¾¡ #T30 2 ¤ì¤ó¤¸ ¥ì¥ó¥¸ #T35 6 ¤ì¤ó¤¸¤Ä Ï¢Æü #T35 0 ¤ì¤ó¤¸¤å Ï¢¼î #T35 0 ¤ì¤ó¤º ¥ì¥ó¥º #T35 0 ¤ì¤ó¤»¤¤ Ï¢À® #T30 0 ¤ì¤ó¤»¤¤ Ï£À® #T30 0 ¤ì¤ó¤»¤Ä Ï¢ÀÜ #T30 2 ¤ì¤ó¤»¤Ä¤· Ï¢ÀÜ»Ò #T35 1 ¤ì¤ó¤½¤¦ Ï¢ÁÛ #T30 6 ¤ì¤ó¤¾¤¯ Ϣ³ #T10 32 ¤ì¤ó¤¿¤¤ Ï¢ÂÓ #T30 3 ¤ì¤ó¤¿¤¤ Ï¢Ââ #T35 1 ¤ì¤ó¤¿¤¤ Ï¢ÂÎ #T35 8 ¤ì¤ó¤¿¤«¡¼ ¥ì¥ó¥¿¥«¡¼ #T35 0 ¤ì¤ó¤¿¤Ä Îýã #T30 1 ¤ì¤ó¤¿¤ë ¥ì¥ó¥¿¥ë #T30 3 ¤ì¤ó¤À Ï¢ÂÇ #T30 3 ¤ì¤ó¤À¤¯ Ï¢Âù #T30 0 ¤ì¤ó¤À¤ê¤ó¤° ¥ì¥ó¥À¥ê¥ó¥° #T30 8 ¤ì¤ó¤À¤ó Ï¢ÃÆ #T30 0 ¤ì¤ó¤Á¤å¤¦ Ï¢Ãæ #T35 7 ¤ì¤ó¤È¤¦ Ϣƭ #T30 0 ¤ì¤ó¤È¤²¤ó ¥ì¥ó¥È¥²¥ó #T35 0 ¤ì¤ó¤É¤¦ Ϣư #T30 5 ¤ì¤ó¤Í¤ó Ϣǯ #T35 0 ¤ì¤ó¤Ñ Ï¢ÇÆ #T30 0 ¤ì¤ó¤Ñ Ï¢ÇË #T30 0 ¤ì¤ó¤Ñ¤¤ Ï¢ÇÔ #T30 1 ¤ì¤ó¤Ñ¤Ä Ϣȯ #T30 2 ¤ì¤ó¤Ó¤ó ÎùØâ #T35 0 ¤ì¤ó¤Ö¤ó¤»¤Ä ϢʸÀá #T35 0 ¤ì¤ó¤Ý¤¦ Ï¢Êö #T35 0 ¤ì¤ó¤Ý¤¦ Ϣˮ #T35 1 ¤ì¤ó¤Þ Ï£Ëá #T30 0 ¤ì¤ó¤á¤¤ Ï¢ÌÁ #T35 2 ¤ì¤ó¤á¤¤ Ϣ̾ #T35 5 ¤ì¤ó¤á¤ó Ï¢ÌÊ #F03 0 ¤ì¤ó¤ä Ï¢Ìë #T35 1 ¤ì¤ó¤è¤¦ Ï¢ÍÑ #T30 6 ¤ì¤ó¤è¤¦¤±¤¤ Ï¢ÍÑ·Á #T35 0 ¤ì¤ó¤é¤¯ Ï¢Íí #T30 255 ¤ì¤ó¤ê¤Ä ϢΩ #T30 2 ¤í ºí #KJ 0 ¤í ȧ #KJ 0 ¤í Éù #KJ 0 ¤í Ϩ #KJ 0 ¤í Ï¥ #KJ 1 ¤í Ï© #KJ 1 ¤í Ϥ #KJ 2 ¤í Ϫ #KJ 2 ¤í Ï© #SUC 63 ¤í Ϧ #T35 0 ¤í ϧ #T35 3 ¤í¡¼ ¥í¡¼ #PRE 10 ¤í¡¼ ¦Ñ #T35 1 ¤í¡¼ ¦± #T35 3 ¤í¡¼¤«¤ë ¥í¡¼¥«¥ë #T05 115 ¤í¡¼¤º ¥í¡¼¥º #T35 1 ¤í¡¼¤É ¥í¡¼¥É #T30 79 ¤í¡¼¤Þ ¥í¡¼¥Þ #CN 0 ¤í¡¼¤Þ¤¸ ¥í¡¼¥Þ»ú #T35 180 ¤í¡¼¤ì¤·¤¢ ¥í¡¼¥ì¥·¥¢ #CN 0 ¤í¡¼¤ì¤Ù¤ë ¥í¡¼¥ì¥Ù¥ë #T05 1 ¤í¡¼¤ó ¥í¡¼¥ó #T35 2 ¤í¤¢¤¯ Ϫ°­ #T30 0 ¤í¤¦ Âì #KJ 0 ¤í¤¦ ÎÈ #KJ 0 ¤í¤¦ Ϭ #KJ 0 ¤í¤¦ Ï­ #KJ 0 ¤í¤¦ ϰ #KJ 0 ¤í¤¦ ϱ #KJ 0 ¤í¤¦ ϳ #KJ 0 ¤í¤¦ ϵ #KJ 0 ¤í¤¦ ϶ #KJ 0 ¤í¤¦ ϸ #KJ 0 ¤í¤¦ ϲ #KJ 1 ¤í¤¦ Ï´ #KJ 1 ¤í¤¦ Ϲ #KJ 1 ¤í¤¦ äÆ #KJ 1 ¤í¤¦ Ϻ #KJ 7 ¤í¤¦ Ï® #S5 0 ¤í¤¦ ϰ #SUC 3 ¤í¤¦ Ï® #T30 0 ¤í¤¦ Ï« #T30 6 ¤í¤¦ Ï· #T35 1 ¤í¤¦ ϯ #T35 2 ¤í¤¦¤¢ ¤í¤¦¤¢ #T35 0 ¤í¤¦¤¢ ϸ°¢ #T35 0 ¤í¤¦¤¨¤¤ ϳ±Ì #T30 2 ¤í¤¦¤« Ï·²½ #T30 1 ¤í¤¦¤« Ï­²¼ #T35 8 ¤í¤¦¤«¤¤ Ï·àÖ #T05 0 ¤í¤¦¤¬¤ó Ï·´ã #T35 0 ¤í¤¦¤­¤Û¤¦ Ï«´ðË¡ #KK 0 ¤í¤¦¤­¤å¤¦ Ï·µà #T30 1 ¤í¤¦¤­¤ç¤¯ ϲ¶Ê #T35 1 ¤í¤¦¤¯ Ï«¶ì #T30 0 ¤í¤¦¤´ Ï·¸å #T35 0 ¤í¤¦¤´¤¯ Ï´¹ö #T35 1 ¤í¤¦¤µ¤¤ Ï«ºÒ #T35 0 ¤í¤¦¤µ¤¤ Ï·ºÊ #T35 0 ¤í¤¦¤µ¤¯ Ï«ºî #T30 2 ¤í¤¦¤· Ï«»È #T35 0 ¤í¤¦¤· ϲ»Î #T35 0 ¤í¤¦¤·¤å¤Ä ϳ½Ð #T30 0 ¤í¤¦¤·¤ç¤¦ Ï«Áê #T35 0 ¤í¤¦¤¸¤ã¤¯ Ï·¼å #T05 0 ¤í¤¦¤¸¤å¤¦ Ï·Ãæ #T35 0 ¤í¤¦¤¸¤å¤¯ Ï·½Ï #T30 0 ¤í¤¦¤¸¤ç¤¦ 䯾ë #T30 0 ¤í¤¦¤¸¤ç¤¦ Ï·¾î #T35 0 ¤í¤¦¤¸¤ó Ï·¿Í #T35 3 ¤í¤¦¤¹¤¤ ϳ¿å #T30 0 ¤í¤¦¤¹¤¤ Ï·¿ê #T30 0 ¤í¤¦¤»¤­ ϹÀÐ #T35 0 ¤í¤¦¤¼¤­ Ïµé´ #T35 0 ¤í¤¦¤½ Ï«ÁÈ #T35 0 ¤í¤¦¤½¤¯ ¥í¥¦¥½¥¯ #T35 0 ¤í¤¦¤½¤¯ Ϲ¿¤ #T35 0 ¤í¤¦¤¿¤¤ Ï·ÂÎ #T35 0 ¤í¤¦¤Á¤ó ϫĠ#T35 0 ¤í¤¦¤Ç¤ó ϳÅÅ #T30 1 ¤í¤¦¤È ϳÅÍ #T35 0 ¤í¤¦¤È¤¦ ϺÅù #T35 0 ¤í¤¦¤É¤¦ ϫƯ #T30 4 ¤í¤¦¤É¤¦¤·¤ç¤¦ ϫƯ¾Ê #KK 0 ¤í¤¦¤É¤¯ ϯÆÉ #T30 3 ¤í¤¦¤Ë¤ã¤¯ Ï·¼ã #T35 0 ¤í¤¦¤Ë¤ó ϲ¿Í #T30 3 ¤í¤¦¤Ï¤¤ Ï·ÇÑ #T30 0 ¤í¤¦¤Ð Ï·ÇÌ #T35 1 ¤í¤¦¤Ð¤¤ ϵÇâ #T30 0 ¤í¤¦¤Ò ϲÈñ #T30 4 ¤í¤¦¤Õ Ï·É× #T35 0 ¤í¤¦¤Õ Ï·Éã #T35 0 ¤í¤¦¤Û¤¦ ϯÊó #T35 0 ¤í¤¦¤Ü Ï·Êì #T35 0 ¤í¤¦¤Ü¤¯ Ï·ÌÚ #T35 0 ¤í¤¦¤à ϫ̳ #T35 0 ¤í¤¦¤ê¤ç¤¯ Ï«ÎÏ #T35 3 ¤í¤¦¤ì¤¤ Ï·Îð #T05 0 ¤í¤¦¤ì¤Ä ïûÎô #T05 0 ¤í¤¦¤ì¤ó Ï·Îý #T05 0 ¤í¤«¤¿ Ï©¸ª #T35 0 ¤í¤®¤ó Ï©¶ä #T35 0 ¤í¤¯ ¹÷ #KJ 0 ¤í¤¯ ¼¯ #KJ 0 ¤í¤¯ ÎÐ #KJ 0 ¤í¤¯ ϼ #KJ 0 ¤í¤¯ Ͻ #KJ 0 ¤í¤¯ Ͼ #KJ 0 ¤í¤¯ Ï» #NN 25 ¤í¤¯ Ï¿ #SUC 6 ¤í¤¯ ¤í¤¯ #T05 5 ¤í¤¯ Ï¿ #T30 1 ¤í¤¯¤ª¤ó Ï¿²» #T30 14 ¤í¤¯¤¬ Ï¿²è #T30 6 ¤í¤¯¤¬¤É¤ê Ï¿²è»£¤ê #T30 1 ¤í¤¯¤´¤¦ Ï»¶¿ #CN 0 ¤í¤¯¤¹¤Ã¤Ý ¤í¤¯¤¹¤Ã¤Ý #F14 0 ¤í¤¯¤»¤¤ ¼¯À¾ #CN 0 ¤í¤¯¤Î¤Ø Ï»¸Í #CN 0 ¤í¤¯¤Ö¤ó¤® ϻʬµ· #T35 0 ¤í¤¯¤Ü¤¯ ϾÌÚ #T35 0 ¤í¤¯¤Þ¤¯ ϾËì #T35 0 ¤í¤¯¤è¤¦ Ï»ÍË #T35 0 ¤í¤¯¤í ¤í¤¯¤í #T35 1 ¤í¤¯¤í¤¦ ϻϺ #JNM 0 ¤í¤¯¤í¤¯ ¤í¤¯¤í¤¯ #F06 0 ¤í¤° ¥í¥° #T30 25 ¤í¤°¤¤¤ó ¥í¥°¥¤¥ó #T30 116 ¤í¤±¡¼¤·¤ç¤ó ¥í¥±¡¼¥·¥ç¥ó #T35 0 ¤í¤±¡¼¤¿ ¥í¥±¡¼¥¿ #T35 1 ¤í¤±¡¼¤¿¡¼ ¥í¥±¡¼¥¿¡¼ #T35 1 ¤í¤±¡¼¤ë ¥í¥±¡¼¥ë #T35 0 ¤í¤±¤Ã¤È ¥í¥±¥Ã¥È #T35 3 ¤í¤±¤ó Ϫ¸« #T30 1 ¤í¤³¤¦ Ϫ¸÷ #T30 0 ¤í¤³¤Ä Ϫ¹ü #T05 1 ¤í¤´ ¥í¥´ #T35 4 ¤í¤µ¤ó¤¼¤ë¤¹ ¥í¥µ¥ó¥¼¥ë¥¹ #CN 0 ¤í¤· ¤í»æ #T35 1 ¤í¤· ßÉ»æ #T35 1 ¤í¤·¤¢ ¥í¥·¥¢ #CN 0 ¤í¤·¤¢¤´ ¥í¥·¥¢¸ì #KK 2 ¤í¤·¤å¤Ä Ϫ½Ð #T30 0 ¤í¤·¤ó ϧ¿´ #T35 1 ¤í¤¸ ϪÃÏ #T35 0 ¤í¤¸ Ï©ÃÏ #T35 2 ¤í¤¸¤Ã¤¯ ¥í¥¸¥Ã¥¯ #T35 14 ¤í¤¸¤ç¤¦ Ï©¾å #T35 0 ¤í¤»¤ó Ï©Àþ #T35 3 ¤í¤À¤ó ¥í¥À¥ó #JN 0 ¤í¤Á¤ç¤¦ ϩĹ #T35 0 ¤í¤Á¤ç¤¦ ñ¡Äº #T35 0 ¤í¤Ã Ï» #NN 3 ¤í¤Ã¤«¡¼ ¥í¥Ã¥«¡¼ #T35 8 ¤í¤Ã¤­¡¼¤É ¥í¥Ã¥­¡¼¥É #KK 0 ¤í¤Ã¤¯ ¥í¥Ã¥¯ #T30 86 ¤í¤Ã¤³¤¦ Ï»¹Ã #CN 0 ¤í¤Ã¤³¤¦¤µ¤ó Ï»¹Ã»³ #CN 0 ¤í¤Ã¤³¤Ä Ͼ¹ü #T35 0 ¤í¤Ã¤Æ ¥í¥Ã¥Æ #KK 0 ¤í¤Ã¤Ý¤¦ ϻˡ #T35 4 ¤í¤Ã¤Ý¤ó¤® Ï»ËÜÌÚ #JCN 0 ¤í¤Æ¤¤ ϪÄè #T30 0 ¤í¤Æ¤ó ϪŹ #T35 0 ¤í¤Æ¤ó ϪÅÀ #T35 0 ¤í¤Æ¤ó Ϫŷ #T35 1 ¤í¤Ð¤ó Ï©È× #T35 0 ¤í¤Ó¤ó¤½¤ó ¥í¥Ó¥ó¥½¥ó #JN 0 ¤í¤Ü ¥í¥Ü #SUC 3 ¤í¤Ü¤Ã¤È ¥í¥Ü¥Ã¥È #T35 4 ¤í¤Þ¤ó¤Æ¤£¤·¤º¤à ¥í¥Þ¥ó¥Æ¥£¥·¥º¥à #T35 1 ¤í¤à ¥í¥à #T35 1 ¤í¤á¤ó Ï©ÌÌ #T35 1 ¤í¤ê¤³¤ó ¥í¥ê¥³¥ó #T15 10 ¤í¤ó ÏÀ #SUC 5 ¤í¤ó ÏÀ #T35 52 ¤í¤ó ÏÀ #ZX 52 ¤í¤ó¤¬¤¤ ÏÀ³° #T05 4 ¤í¤ó¤­¤å¤¦ ÏÀµÚ #T30 0 ¤í¤ó¤­¤å¤¦ ÏÀµæ #T30 0 ¤í¤ó¤­¤ç ÏÀµò #T35 0 ¤í¤ó¤® ÏÀµÄ #T30 2 ¤í¤ó¤° ¥í¥ó¥° #T05 5 ¤í¤ó¤³¤¯ ÏÀ¹ð #T30 0 ¤í¤ó¤´ ÏÀ¸ì #T35 0 ¤í¤ó¤· ÏÀ»Ý #T35 0 ¤í¤ó¤·¤ã ÏÀ¼Ô #T35 0 ¤í¤ó¤·¤å¤¦ ÏÀ½¸ #T35 0 ¤í¤ó¤·¤ç¤¦ ÏÀ¾Ú #T30 0 ¤í¤ó¤¸¤ã ÏÀ¼Ô #T35 0 ¤í¤ó¤¸¤å¤Ä ÏÀ½Ò #T30 0 ¤í¤ó¤½¤¦ ÏÀÁè #T30 1 ¤í¤ó¤À¤¤ ÏÀÂê #T35 0 ¤í¤ó¤Á¤ç¤¦ ÏÀÄ´ #T35 0 ¤í¤ó¤Æ¤ó ÏÀÅÀ #T35 1 ¤í¤ó¤É¤ó ¥í¥ó¥É¥ó #CN 0 ¤í¤ó¤É¤ó ÎÑÆØ #CN 0 ¤í¤ó¤Ô¤ç¤¦ ÏÀɾ #T30 0 ¤í¤ó¤Ö¤ó ÏÀʸ #T35 91 ¤í¤ó¤Ý¤¦ ÏÀË¡ #T35 1 ¤í¤ó¤ê ÏÀÍý #T35 123 Canna37p3/dic/ideo/pubdic/README.pubdic+0100644000076500001200000000730607554213567017016 0ustar shinraadmin¡ãËÜ¥½¥Õ¥È¥¦¥§¥¢¤Î¼è¤ê°·¤¤¤ª¤è¤Ó̵ÊݾڤˤĤ¤¤Æ¡ä ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¤Î¤Ï¥Õ¥ê¡¼¤Ê¼­½ñ pubdic ¤Ç¤¹¡£ ¤³¤Î¼­½ñ¤Ï²¿¤ò¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï pubdic ¤ò°·¤¦¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ë´Ø¤·¤Æ¤â²¿¤ò¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ pubdic ¤ª¤è¤Ó pubdic ¤ò¤¢¤Ä¤«¤¦¥³¥Þ¥ó¥É¤ò¤³¤³¤Ç¤Ï¡ÖËÜ¥½¥Õ¥È¥¦¥§¥¢¡×¤È Áí¾Î¤·¤Þ¤¹¡£ ËÜ¥½¥Õ¥È¥¦¥§¥¢¤Ï¤¤¤ï¤æ¤ë as is ¤Î¤â¤Î¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤ª¤ê¡¢ËÜ¥½¥Õ¥È¥¦¥§ ¥¢¤ÎÃøºî¼Ô¤ª¤è¤Ó pubdic ¥Ü¥é¥ó¥Æ¥£¥¢¤Ï¡¢ËÜ¥½¥Õ¥È¥¦¥§¥¢¤Ë¤è¤Ã¤Æ°ú¤­µ¯¤³ ¤µ¤ì¤ë¤¤¤«¤Ê¤ë»³²¤Ë´Ø¤¹¤ëÊݾڤò¹Ô¤¤¤Þ¤»¤ó¤Î¤Ç¤¢¤é¤«¤¸¤á¤´Î»¾µ¤¯¤À¤µ¤¤¡£ ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ÎºÆÇÛÉۤ⼫ͳ¤Ç¤¹¤¬¡¢ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ÎºÆÇÛÉÛ¤ò¹Ô¤¦¾ì¹ç¤Ï ËÜʸ½ñ¤ÈƱÍͤÎÃí°Õʸ¤òÉղ乤ë¤Ê¤É̵ÊݾڤǤ¢¤ë¤³¤È¤òÌÀ¼¨¤¹¤ë¤«¡¢¤¢¤ë¤¤ ¤ÏºÆÇÛÉÛ¼Ô¤ÎÀÕǤ¤Ë¤è¤êÊݾڤò¹Ô¤¦¤è¤¦¤ª´ê¤¤¤·¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢ºÆÇÛÉÛÀè¤Ë ¤ª¤±¤ë¤¤¤«¤Ê¤ë»³²¤ÎÀÕǤ¤âËÜ¥½¥Õ¥È¥¦¥§¥¢¤ÎÃøºî¼Ô¤ª¤è¤Ó pubdic ¥Ü¥é¥ó¥Æ¥£ ¥¢¤ËµÚ¤Ð¤Ê¤¤¤è¤¦¤Ë¤ª´ê¤¤¤·¤Þ¤¹¡£ ¡ãpubdic ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ä¤¤¤Æ¡ä ËÜ¥½¥Õ¥È¥¦¥§¥¢¤Ç¤Ï¼­½ñ¤òɽ¸½¤¹¤ë¤Î¤Ë pubdic ¥Õ¥©¡¼¥Þ¥Ã¥È¤È¸À¤¦¿·¤·¤¤¥Õ¥©¡¼ ¥Þ¥Ã¥È¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£pubdic ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤Î·Á¤ò¤·¤Æ¤¤¤Þ¤¹¡£ ÆÉ¤ß ¸õÊä ÉÊ»ì ÉÑÅÙ [¼ïÎà[/¼ïÎà[/..]]] Î㤨¤Ð¡¢°Ê²¼¤¬ pubdic ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÎã¤Ç¤¹¡£Îã¤Çʬ¤«¤ëÄ̤ꡢÉÊ»ì¥Õ¥£¡¼ ¥ë¥É¤Ë¤Ï Wnn/Canna/SJ3 ¤ÎÉʻ줬ʻµ­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¾­ÍèŪ¤Ë¤Ï¤è¤ê °ìÈÌŪ¤Êµ­½Ò¤ò»ý¤Ã¤¿ÉÊ»ìɽµ­¤ËÊѤ¨¤Æ¹Ô¤­¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ ¤¢¤«¤ó¤³ °¤´¨¸Ð ÃÏ̾/#CN/ÃÏ̾: 3 chimei ¤¢¤­ ˰¤­ °ìÃÊ/#KS/°ìÃÊ£±: 40 ¤« ½ñ ¥«¹Ô¸ÞÃÊ/#K5/¥«¸Þ£±: 66 ¤Î¤¦¤«¤¹¤¤¤¿¤¤ Ǿ²¼¿âÂΠ̾»ì/#T35/̾£±: bio Â裵¥Õ¥£¡¼¥ë¥É¤Î¼ïÎà¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¼ïÎà¤òɽ¤¹Ê¸»úÎó¤òµ­¤·¤Þ¤¹¡£¤¿¤À¤·¡¢ ¼ïÎब kihon ¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¤³¤Î¥Õ¥£¡¼¥ë¥É¤ò¥µ¥×¥ì¥¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¼ïÎबʣ¿ô¤ËÅϤë¾ì¹ç¤Ë¤Ï¥¹¥é¥Ã¥·¥å(/)¤Ç¶èÀڤäƤ½¤ì¤é¤Î¼ïÎà¤ò¤Ê¤é¤Ù¤Þ ¤¹¡£Ê£¿ô¤Î¼ïÎà¤òµ­½Ò¤¹¤ë¾ì¹ç¤Ë¤Ï kihon ¤Ë´Ø¤·¤Æ¤â¥µ¥×¥ì¥¹¤»¤ºµ­½Ò¤ò¹Ô ¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¡ãpubdic ¥Õ¥©¡¼¥Þ¥Ã¥Èɸ½à·Á¡ä ¼­½ñ¥Ä¡¼¥ë¤Ê¤É¤Ç¼è¤ê°·¤¤¤ò¹Ô¤¦¤È¤­¡¢Æ±¤¸ÆâÍÆ¤ò»ý¤Ä¼­½ñ¤¬Ê£¿ô¤Îɽ¸½·Á¼° ¤ò»ý¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤Ï diff ¤Ê¤É¤Ç°ã¤¤¤òÄ´¤Ù¤ë¤È¤­¤Ê¤É¤ËÉÔÊØ¤òÍ褹¤³¤È¤¬ ¤¢¤ê¤Þ¤¹¡£ <Îã> ¤¢¤«¤ó¤³ °¤´¨¸Ð #CN 3 chimei ¤¢¤­ ˰¤­ #KS 40 ¤È ¤¢¤­ ˰¤­ #KS 40 ¤¢¤«¤ó¤³ °¤´¨¸Ð #CN 3 chimei ¤½¤³¤Ç¡¢Æ±°ì¤Î¼­½ñ¤ÏƱ°ì¤Î¥Õ¥¡¥¤¥ëɽ¸½¤È¤Ê¤ë¤è¤¦¤Ëɸ½à·Á¤ò°Ê²¼¤Î¤è¤¦¤Ë ÄêµÁ¤·¤Þ¤¹¡£ (1) ³Æ¥¨¥ó¥È¥ê¤Ë¤ª¤¤¤Æ¡¢³Æ¥Õ¥£¡¼¥ë¥É´Ö¤Ïñ°ì¤Î¶õÇò(space)¤Ë¤è¤ê¶èÀÚ¤é ¤ì¤ë¡£ (2) Â裵¥¨¥ó¥È¥ê¤¬ kihon ¤Î¤ß¤Ë¤Ê¤ë¾ì¹ç¤Ï¤½¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥µ¥×¥ì¥¹¤¹¤ë¡£ (3) ºÇ½ª¥Õ¥£¡¼¥ë¥É¤Î±¦¤Ïľ¤Á¤Ë²þ¹Ô¤¬Íè¤ë¤â¤Î¤È¤¹¤ë¡£ (4) ¶õÇò¹Ô¤Ï´Þ¤Þ¤Ê¤¤¡£ (5) ³Æ¥¨¥ó¥È¥ê¤Ï¥³¡¼¥É½ç¤Ë¥½¡¼¥È¤µ¤ì¤ë¡£ (6) ÆÉ¤ß¡¢Ã±¸ì¡¢Éʻ줬Ʊ¤¸¥¨¥ó¥È¥ê¤Ï¤¿¤«¤À¤«£±¹Ô¤·¤«Â¸ºß¤·¤Ê¤¤¡£ ɸ½à·Á¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤ pubdic ¥Õ¥©¡¼¥Þ¥Ã¥È¼­½ñ foo.p ¤òɸ½à·Á¤Ë¤¹¤ë¤¿¤á ¤Ë¤Ï¡¢¥³¥Þ¥ó¥É pod ¤òÍѤ¤¤Æ°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¤Èɸ½à½ÐÎϤˤÏɸ½à·Á¤Ëľ¤µ ¤ì¤¿¼­½ñ¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ % pod foo.p ¡ã¼­½ñ¤Îº¹Ê¬Ãê½Ð¤Ë¤Ä¤¤¤Æ¡ä ¼­½ñ a.p ¤ò¥Ù¡¼¥¹¤Ë¤¢¤ëÄøÅÙ½¤Àµ¤ò²Ã¤¨ b.p ¤òºîÀ®¤·¤¿¤È¤­¤Ë¡¢a.p ¤È b.p ¤Îº¹Ê¬¤òµá¤á¤ë¤Ë¤Ï¥³¥Þ¥ó¥É pod ¤òÍѤ¤¤Æ°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ % pod a.p b.p -o dels -n adds ¤³¤ì¤Ë¤è¤êºï½ü¤µ¤ì¤¿¥¨¥ó¥È¥ê¤¬ dels ¤Ë¡¢Äɲ䵤줿¥¨¥ó¥È¥ê¤¬ adds ¤Ë½Ð ÎϤµ¤ì¤Þ¤¹¡£ a.p ¤Î¤ß¤ò½ê»ý¤·¤Æ¤¤¤ë¿Í¤¬¤³¤Î dels ¤ª¤è¤Ó adds ¤òÆþ¼ê¤· b.p ¤òºÆ¸½¤¹ ¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ % pod a.p dels -o - | cat adds | pod - > b.p dels ¤ª¤è¤Ó adds ¤Ï context diff ¤È°Û¤Ê¤ê¡¢¼ÂºÝ¤ËÄɲÃ/ºï½ü¤µ¤é¤¿Éôʬ¤À ¤±¤Ç¤¹¤Î¤Ç¡¢context diff ¤è¤ê¤ÏÎ̤¬¾¯¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¡ã³Æ¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥àÍѤμ­½ñ¤ÎºîÀ®¡ä ¤Þ¤º¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£ % xmkmf Wnn ¤Î¼­½ñ¤òºî¤ë¤Ë¤Ï¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢ % make wnn ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ¤¹¤ë¤È¡¢bio.u¡¢chimei.u¡¢computer.u¡¢jinmei.u¡¢kihon.u¡¢ koyuu.u¡¢setsuji.u¡¢symbol.u¡¢tankan.u ¤¬¤Ç¤­¤Þ¤¹¡£special.u ¤ÏºÇ½é¤« ¤éÃÖ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Î¼­½ñ¤òºîÀ®¤¹¤ë¤Ë¤Ï¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢ % make canna ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤¹¤ë¤È iroha.t ¤¬¤Ç¤­¤Þ¤¹¡£ SJ3 ¤Î¼­½ñ¤òºî¤ë¤Ë¤Ï¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢ % make sj3 ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤¹¤ë¤È visual.dic ¤¬¤Ç¤­¤Þ¤¹¡£ Canna37p3/dic/ideo/pubdic/README.txt0100644000076500001200000000051307554213567016305 0ustar shinraadmin¡û¼­½ñ¤Ë¤Ä¤¤¤Æ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¤ë¤«¤Ê´Á»úÊÑ´¹¼­½ñ iroha.t ¤Ï¥Õ¥ê¡¼¤Î¼­½ñ pubdic+ ¤ò¥Ù¡¼¥¹¤ËºîÀ®¤·¤¿¤â¤Î¤Ç¤¹¡£ ¤Þ¤¿¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤¤Æ¤¢¤ë pod ¥×¥í¥°¥é¥à¤Ï pubdic+ ¤Ç¸ø³«¤µ¤ì ¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£ ¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ï README.pubdic+ ¤ò¤´»²¾È¤¯¤À¤µ¤¤¡£ ($Id: README.txt,v 1.1.1.1 2002/10/19 08:27:35 aida_s Exp $) Canna37p3/dic/ideo/pubdic/s.p0100644000076500001200000050521207766307311015234 0ustar shinraadmin¤µ Îö #K5 1 ¤µ ³ä #K5 16 ¤µ ºé #K5 8 ¤µ º³ #KJ 0 ¤µ ºµ #KJ 0 ¤µ º¶ #KJ 0 ¤µ º¼ #KJ 0 ¤µ º¾ #KJ 0 ¤µ ºÀ #KJ 0 ¤µ ºÃ #KJ 0 ¤µ ¼Ó #KJ 0 ¤µ Áá #KJ 0 ¤µ ̬ #KJ 0 ¤µ ¶¹ #KJ 1 ¤µ º· #KJ 1 ¤µ ºî #KJ 1 ¤µ Ãã #KJ 1 ¤µ ºº #KJ 12 ¤µ º» #KJ 2 ¤µ º¿ #KJ 3 ¤µ º´ #KJ 4 ¤µ º½ #KJ 4 ¤µ º¸ #KJ 5 ¤µ º¸ #PRE 1 ¤µ µî #R5 104 ¤µ ¼Í #S5 0 ¤µ »Ø #S5 103 ¤µ »É #S5 2 ¤µ ÁÞ #S5 2 ¤µ ¤µ #S5 4 ¤µ º¹ #S5 6 ¤µ º¹ #T35 154 ¤µ¡¼¤«¤à¤¹¤¯¤é¤¤¤Ö ¥µ¡¼¥«¥à¥¹¥¯¥é¥¤¥Ö #T30 6 ¤µ¡¼¤«¤à¤¹¤¯¤ê¤×¤·¤ç¤ó ¥µ¡¼¥«¥à¥¹¥¯¥ê¥×¥·¥ç¥ó #T35 16 ¤µ¡¼¤¬ ¥µ¡¼¥¬ #T35 0 ¤µ¡¼¤­¤Ã¤È ¥µ¡¼¥­¥Ã¥È #T35 1 ¤µ¡¼¤¯¤ë ¥µ¡¼¥¯¥ë #T35 2 ¤µ¡¼¤¸ ¥µ¡¼¥¸ #T35 1 ¤µ¡¼¤Á ¥µ¡¼¥Á #T30 23 ¤µ¡¼¤Ð ¥µ¡¼¥Ð #T35 255 ¤µ¡¼¤Ð¡¼ ¥µ¡¼¥Ð¡¼ #T35 122 ¤µ¡¼¤Ó¤¹ ¥µ¡¼¥Ó¥¹ #T30 138 ¤µ¡¼¤Õ¤£¤ó ¥µ¡¼¥Õ¥£¥ó #T30 2 ¤µ¡¼¤Ö ¥µ¡¼¥Ö #T30 1 ¤µ¡¼¤Ù¤¤ ¥µ¡¼¥Ù¥¤ #T35 2 ¤µ¤¢ ¤µ¤¢ #CJ 6 ¤µ¤¤ ºÇ #F00 4 ¤µ¤¤ º´°æ #JCN 0 ¤µ¤¤ ºÍ #JS 0 ¤µ¤¤ ºÐ #JS 32 ¤µ¤¤ ºÇ #KJ 0 ¤µ¤¤ ºÈ #KJ 0 ¤µ¤¤ ºÉ #KJ 0 ¤µ¤¤ ºÊ #KJ 0 ¤µ¤¤ ºË #KJ 0 ¤µ¤¤ ºÏ #KJ 0 ¤µ¤¤ ºÐ #KJ 0 ¤µ¤¤ ºÒ #KJ 0 ¤µ¤¤ ºÓ #KJ 0 ¤µ¤¤ ºÔ #KJ 0 ¤µ¤¤ ºÕ #KJ 0 ¤µ¤¤ ºÖ #KJ 0 ¤µ¤¤ º× #KJ 0 ¤µ¤¤ ºâ #KJ 0 ¤µ¤¤ »¦ #KJ 0 ¤µ¤¤ »¯ #KJ 0 ¤µ¤¤ ¼Å #KJ 0 ¤µ¤¤ ÀÕ #KJ 0 ¤µ¤¤ ÀÚ #KJ 0 ¤µ¤¤ ºÄ #KJ 1 ¤µ¤¤ ºÅ #KJ 1 ¤µ¤¤ ºØ #KJ 1 ¤µ¤¤ ºÚ #KJ 1 ¤µ¤¤ ºÛ #KJ 1 ¤µ¤¤ ºÜ #KJ 1 ¤µ¤¤ À¾ #KJ 1 ¤µ¤¤ ÀÆ #KJ 1 ¤µ¤¤ ã· #KJ 1 ¤µ¤¤ òÔ #KJ 1 ¤µ¤¤ ºÆ #KJ 135 ¤µ¤¤ ºÌ #KJ 2 ¤µ¤¤ ºÍ #KJ 2 ¤µ¤¤ ºÑ #KJ 5 ¤µ¤¤ ºÙ #KJ 6 ¤µ¤¤ ºÎ #KJ 8 ¤µ¤¤ ºÆ #PRE 0 ¤µ¤¤ ºÇ #PRE 0 ¤µ¤¤ º× #SUC 0 ¤µ¤¤ ºÝ #SX 26 ¤µ¤¤ ºÝ #T35 255 ¤µ¤¤ ¥µ¥¤ #T35 3 ¤µ¤¤ º¹°Û #T35 8 ¤µ¤¤¤¢¤¤ ºÇ°¦ #T35 1 ¤µ¤¤¤¢¤¯ ºÇ°­ #T05 10 ¤µ¤¤¤¦ ºÇ±¦ #T35 0 ¤µ¤¤¤¨¤ó ºÆ±é #T30 0 ¤µ¤¤¤¨¤ó ºÍɲ #T35 0 ¤µ¤¤¤¨¤ó ºÚ±à #T35 0 ¤µ¤¤¤¨¤ó¤¹ ¥µ¥¤¥¨¥ó¥¹ #T35 2 ¤µ¤¤¤¨¤ó¤Æ¤£¤¹¤È ¥µ¥¤¥¨¥ó¥Æ¥£¥¹¥È #T35 1 ¤µ¤¤¤« ºÇ²¼ #T05 1 ¤µ¤¤¤« ºÛ²Ä #T30 0 ¤µ¤¤¤«¤¤ À¾³¤ #CN 0 ¤µ¤¤¤«¤¤ ºÆ²ñ #T30 4 ¤µ¤¤¤«¤¤ ºÆ³« #T30 8 ¤µ¤¤¤«¤®¤ç¤¦ ºÇ²¼¹Ô #T35 0 ¤µ¤¤¤«¤¯ ºÍ³Ð #T30 0 ¤µ¤¤¤¬¤¤ ºÒ³² #T35 2 ¤µ¤¤¤¬¤¤ ºÇ³° #T35 3 ¤µ¤¤¤¬¤ï ºÔÀî #JCN 0 ¤µ¤¤¤­ º´Çì #JCN 0 ¤µ¤¤¤­ ºØÌÚ #JNS 0 ¤µ¤¤¤­ ÀÆÌÚ #JNS 0 ¤µ¤¤¤­ ºÆµ¯ #T30 1 ¤µ¤¤¤­ ºÆµ¢ #T30 53 ¤µ¤¤¤­ ºÍµ¤ #T35 0 ¤µ¤¤¤­¤å¤¦ òÔµÝ #T35 1 ¤µ¤¤¤­¤ç¤¦ ºÇ¶¯ #T35 3 ¤µ¤¤¤­¤ó ºÙ¶Ý #T35 16 ¤µ¤¤¤­¤ó ºÇ¶á #T35 191 ¤µ¤¤¤® àʵ¿ #T35 1 ¤µ¤¤¤¯ ºÙ¹© #T30 2 ¤µ¤¤¤¯¤Ä ºÎ·¡ #T30 1 ¤µ¤¤¤¯¤ê¤ó¤° ¥µ¥¤¥¯¥ê¥ó¥° #T30 2 ¤µ¤¤¤¯¤ë ¥µ¥¤¥¯¥ë #T35 17 ¤µ¤¤¤°¤µ »°»Þ #JNS 0 ¤µ¤¤¤±¤¤ ºÆ·Ç #T30 2 ¤µ¤¤¤±¤Ä ºÎ·è #T30 0 ¤µ¤¤¤±¤Ä ºÛ·è #T30 0 ¤µ¤¤¤±¤Ä ºÎ·ì #T30 1 ¤µ¤¤¤±¤ó ºÆ·ú #T30 0 ¤µ¤¤¤±¤ó ºÄ·ô #T35 0 ¤µ¤¤¤±¤ó ºÄ¸¢ #T35 0 ¤µ¤¤¤±¤ó¤µ ºÆ¸¡ºº #T30 0 ¤µ¤¤¤±¤ó¤È¤¦ ºÆ¸¡Æ¤ #T30 0 ¤µ¤¤¤²¤Ä ºÐ·î #T35 1 ¤µ¤¤¤²¤ó ºÆ¸½ #T30 27 ¤µ¤¤¤²¤ó ºÝ¸Â #T35 1 ¤µ¤¤¤³ ºÇ¸Å #T35 0 ¤µ¤¤¤³¤¦ ºÇ¹â #T05 21 ¤µ¤¤¤³¤¦ ºÆ¶½ #T30 0 ¤µ¤¤¤³¤¦ ºÆ¹Í #T30 29 ¤µ¤¤¤³¤¦¤µ¤¤ ºÇ¹âºÛ #T35 1 ¤µ¤¤¤³¤¦¤Á¤ç¤¦ ºÇ¹âĬ #T35 1 ¤µ¤¤¤³¤¯ ºÅ¹ð #T30 0 ¤µ¤¤¤³¤ó ºÆº§ #T30 0 ¤µ¤¤¤´ ºÇ¸å #T35 190 ¤µ¤¤¤´ ºÇ´ü #T35 2 ¤µ¤¤¤´¤¦ À¾¶¿ #JCN 0 ¤µ¤¤¤´¤¯ À¾¹ñ #CN 0 ¤µ¤¤¤µ ºÐº¹ #T35 0 ¤µ¤¤¤µ ºÇº¸ #T35 2 ¤µ¤¤¤µ¤ó ºÆ»° #T35 1 ¤µ¤¤¤µ¤ó ºÎ»» #T35 2 ¤µ¤¤¤· ºÊ»Ò #T35 1 ¤µ¤¤¤·¤å ºÎ¼è #T30 2 ¤µ¤¤¤·¤å¤¦ ºÎ½¸ #T30 5 ¤µ¤¤¤·¤å¤¦ ºÇ½ª #T35 98 ¤µ¤¤¤·¤å¤¦¤«¤¤ ºÇ½ª²ó #T35 0 ¤µ¤¤¤·¤å¤Ä ºÐ½Ð #T35 0 ¤µ¤¤¤·¤ç ºÇ½é #T35 245 ¤µ¤¤¤·¤ç¤¦ ºÇ¾® #T35 25 ¤µ¤¤¤·¤ç¤¦ ºÇ¾¯ #T35 4 ¤µ¤¤¤·¤ç¤¦¤²¤ó ºÇ¾®¸Â #T35 7 ¤µ¤¤¤·¤ç¤¦¤Á ºÇ¾®ÃÍ #T35 2 ¤µ¤¤¤·¤ç¤¯ ºÚ¿© #T30 1 ¤µ¤¤¤·¤ç¤¯ ºÍ¿§ #T35 0 ¤µ¤¤¤·¤ó ºÙ¿´ #T05 0 ¤µ¤¤¤·¤ó ºÆ¿³ #T30 0 ¤µ¤¤¤·¤ó ºÇ¿· #T35 88 ¤µ¤¤¤¸¤Ä º×Æü #T35 2 ¤µ¤¤¤¸¤ç ºÍ½÷ #T35 1 ¤µ¤¤¤¸¤ç¤¦ À¾¾ë #JCN 0 ¤µ¤¤¤¸¤ç¤¦ À¾¾ò #JCN 0 ¤µ¤¤¤¸¤ç¤¦ ºÇ¾å #T05 1 ¤µ¤¤¤¹¤ó ºÎÀ£ #T30 0 ¤µ¤¤¤º ¥µ¥¤¥º #T35 141 ¤µ¤¤¤»¤¤ ºÆÀ½ #T30 0 ¤µ¤¤¤»¤¤ ºÆÀ¸ #T30 6 ¤µ¤¤¤»¤¤ ºÎÀº #T35 1 ¤µ¤¤¤»¤¤¤­ ºÇÀ¹´ü #T35 1 ¤µ¤¤¤»¤­ ºÎÀÐ #T30 0 ¤µ¤¤¤»¤­ ºÕÀÐ #T30 0 ¤µ¤¤¤»¤ó ºÆÁª #T30 0 ¤µ¤¤¤»¤ó¤¿¤ó ºÇÀèü #T35 1 ¤µ¤¤¤¼¤ó ºÇÁ± #T35 2 ¤µ¤¤¤¼¤ó ºÇÁ° #T35 3 ¤µ¤¤¤¼¤ó¤»¤ó ºÇÁ°Àþ #T35 1 ¤µ¤¤¤½¤¦ ºÆÁ÷ #T30 5 ¤µ¤¤¤½¤¯ ºÅÂ¥ #T30 4 ¤µ¤¤¤¿ ºâÅÄ #JCN 0 ¤µ¤¤¤¿ ºÇ¿ #T35 0 ¤µ¤¤¤¿¤¤ ºÊÂÓ #T30 0 ¤µ¤¤¤¿¤¤ çÁÂÓ #T35 1 ¤µ¤¤¤¿¤¯ ºÎÂò #T30 1 ¤µ¤¤¤¿¤Þ ºë¶Ì #JCN 0 ¤µ¤¤¤¿¤Þ¤±¤ó ºë¶Ì¸© #CNS 0 ¤µ¤¤¤¿¤ó ºÇû #T35 2 ¤µ¤¤¤À ºØÅÄ #JNS 0 ¤µ¤¤¤À ÀÆÅÄ #JNS 0 ¤µ¤¤¤À¡¼ ¥µ¥¤¥À¡¼ #T35 0 ¤µ¤¤¤À¤¤ ºÙÂç #T35 0 ¤µ¤¤¤À¤¤ ºÇÂç #T35 59 ¤µ¤¤¤À¤¤¤²¤ó ºÇÂç¸Â #T35 1 ¤µ¤¤¤À¤¤¤¸ À¾Âç»û #CN 0 ¤µ¤¤¤À¤¤¤Á ºÇÂçÃÍ #T35 10 ¤µ¤¤¤À¤ó ºÛÃÇ #T30 0 ¤µ¤¤¤À¤ó º×ÃÅ #T35 0 ¤µ¤¤¤Á º´°ì #JNM 0 ¤µ¤¤¤Á ºÍÃÎ #T35 0 ¤µ¤¤¤Á¤å¤¦ ºÇÃæ #T35 26 ¤µ¤¤¤Á¤ç¤¦ ºÇĹ #T35 2 ¤µ¤¤¤Æ¤¤ ºÇÄã #T05 21 ¤µ¤¤¤Æ¤¤ ºÛÄê #T30 1 ¤µ¤¤¤Æ¤¤¤²¤ó ºÇÄã¸Â #T35 9 ¤µ¤¤¤Æ¤­ ºÇŬ #T05 18 ¤µ¤¤¤Æ¤ó ºÎÅÀ #T30 2 ¤µ¤¤¤Æ¤ó º×ŵ #T35 1 ¤µ¤¤¤È À¾ÅÔ #JCN 0 ¤µ¤¤¤È ¥µ¥¤¥È #T35 148 ¤µ¤¤¤È¤¦ ºØÆ£ #JNS 0 ¤µ¤¤¤È¤¦ ÀÆÆ£ #JNS 0 ¤µ¤¤¤È¤¦ ã·Æ£ #JNS 0 ¤µ¤¤¤È¤¦ óîÆ£ #JNS 0 ¤µ¤¤¤È¤¾¤ë ¥µ¥¤¥È¥¾¥ë #T35 1 ¤µ¤¤¤É ºÆÅÙ #T35 23 ¤µ¤¤¤É ¥µ¥¤¥É #T35 7 ¤µ¤¤¤É¤¯ ºÆÆÉ #T30 0 ¤µ¤¤¤Ê¤ó ºÒÆñ #T35 1 ¤µ¤¤¤Ê¤ó¤¿¤ó ºÇÆîü #T35 0 ¤µ¤¤¤Ë¤å¤¦ ºÐÆþ #T35 1 ¤µ¤¤¤Ë¤ó ºÆÇ¤ #T30 0 ¤µ¤¤¤Í¤ó ºÆÇ³ #T30 0 ¤µ¤¤¤Í¤ó¤·¤ç¤¦ ºÇǯ¾¯ #T35 0 ¤µ¤¤¤Í¤ó¤Á¤ç¤¦ ºÇǯĹ #T35 0 ¤µ¤¤¤Î¤¦ ºÍǽ #T35 2 ¤µ¤¤¤Ï¤¤ ºÓÇÛ #T30 0 ¤µ¤¤¤Ï¤¤¤Á ºÆÇÛÃÖ #T30 1 ¤µ¤¤¤Ï¤¯ À¾Çì #JCN 0 ¤µ¤¤¤Ï¤Ä ºÆÈ¯ #T30 2 ¤µ¤¤¤Ï¤ó ºÆÈÎ #T30 0 ¤µ¤¤¤Ð¡¼ ¥µ¥¤¥Ð¡¼ #PRE 1 ¤µ¤¤¤Ð¤¤ ºÏÇÝ #T30 1 ¤µ¤¤¤Ð¤· ºÍÁö #R5 0 ¤µ¤¤¤Ð¤ó ºÛȽ #T30 4 ¤µ¤¤¤Ð¤ó¤«¤ó ºÛȽ´± #T35 0 ¤µ¤¤¤Ð¤ó¤·¤ç ºÛȽ½ê #T35 1 ¤µ¤¤¤Ò ºÐÈñ #T35 0 ¤µ¤¤¤Ò ºÎÈÝ #T35 1 ¤µ¤¤¤Õ ºâÉÛ #T35 3 ¤µ¤¤¤Ö ºÙÉô #T35 6 ¤µ¤¤¤Ö¤ó ºÙʬ #T30 5 ¤µ¤¤¤Ø¤ó ºÆÊÔ #T30 7 ¤µ¤¤¤Û¤¦ ºÛË¥ #T30 1 ¤µ¤¤¤Û¤¯¤¿¤ó ºÇËÌü #T35 0 ¤µ¤¤¤Ü¤¦ ºÙ˦ #T35 0 ¤µ¤¤¤Ü¤¦¤·¤Ä ºÙ˦¼Á #T35 1 ¤µ¤¤¤Þ¤Ä ºÐËö #T35 1 ¤µ¤¤¤ß¤Ä ºÙÌ© #T05 0 ¤µ¤¤¤ß¤ó ºÅ̲ #T35 0 ¤µ¤¤¤à ºÄ̳ #T35 2 ¤µ¤¤¤â¤¯ ºÙÌÜ #T35 1 ¤µ¤¤¤â¤ó »çÌç #JNS 0 ¤µ¤¤¤æ¤¦¤­ À¾Í·µ­ #KK 1 ¤µ¤¤¤æ¤¦¤Û¤¦ ºÇÌàË¡ #T35 1 ¤µ¤¤¤è¤¦ ºÎÍÑ #T30 61 ¤µ¤¤¤é¤¤ ºÆÍè #T30 1 ¤µ¤¤¤ê¤ç¤¦ ºÇÎÉ #T05 1 ¤µ¤¤¤ê¤ç¤¦ ºÛÎÌ #T30 1 ¤µ¤¤¤ì¤¤ º×Îé #T35 0 ¤µ¤¤¤í¤¯ ºÎÏ¿ #T30 1 ¤µ¤¤¤í¤¯ ºÜÏ¿ #T30 1 ¤µ¤¤¤ï¤¤ ¹¬ #CN 0 ¤µ¤¤¤ï¤¤ ¹¬ #T00 0 ¤µ¤¤¤ï¤¤ ¹¬¤¤ #T00 25 ¤µ¤¤¤ï¤¤ ¹¬¤¤ #T05 30 ¤µ¤¤¤ó ¥µ¥¤¥ó #T30 5 ¤µ¤¦¤ó¤É ¥µ¥¦¥ó¥É #T35 6 ¤µ¤¨ ºã¤¨ #KSr 11 ¤µ¤¨¤­ º´Çì #JCN 0 ¤µ¤¨¤­ º¹±× #T35 1 ¤µ¤¨¤® ¼× #R5 0 ¤µ¤¨¤°¤µ »°»Þ #JNS 0 ¤µ¤¨¤³ ¤µ¤¨»Ò #JNM 0 ¤µ¤¨¤³ ¾®»Þ»Ò #JNM 0 ¤µ¤¨¤Ä ºº±Ü #T30 23 ¤µ¤ª ܪ #JS 0 ¤µ¤ª ´È #JS 1 ¤µ¤ª ´È #T35 0 ¤µ¤ª¤ê º´¿¥ #JN 0 ¤µ¤« ºä #JN 0 ¤µ¤« ºå #KJ 2 ¤µ¤« À¹ #R5r 0 ¤µ¤« ºé¤« #S5 29 ¤µ¤« ºä #T35 19 ¤µ¤«¤¤ ¶­ #JCN 0 ¤µ¤«¤¤ ºä°æ #JCN 0 ¤µ¤«¤¤ ºæ #JCN 0 ¤µ¤«¤¤ º¸³¤ #JNS 0 ¤µ¤«¤¤ ºå°æ #JNS 0 ¤µ¤«¤¤ ¼ò°æ #JNS 0 ¤µ¤«¤¤ ºæ #T35 14 ¤µ¤«¤¤ ¶­ #T35 2 ¤µ¤«¤¤¤¬¤ï ¶­Àî #JCN 0 ¤µ¤«¤¤¤Ç ºä½Ð #JCN 0 ¤µ¤«¤¤¤ß¤Ê¤È ¶­¹Á #CN 0 ¤µ¤«¤¦¤¨ ºä¾å #JNS 0 ¤µ¤«¤¦¤Á ºäÆâ #JCN 0 ¤µ¤«¤¨ ±É #JCN 0 ¤µ¤«¤¨ ±É¤¨ #KSr 1 ¤µ¤«¤¨ ±É #T35 8 ¤µ¤«¤¬¤ß ºä¾å #JNS 0 ¤µ¤«¤­ ºä¾ë #JCN 0 ¤µ¤«¤­ ºç #T35 0 ¤µ¤«¤­¤¿ ºäËÌ #JCN 0 ¤µ¤«¤­¤Ð¤é ºç¸¶ #JCN 0 ¤µ¤«¤°¤Á ºä¸ý #JNS 0 ¤µ¤«¤°¤Á ºå¸ý #JNS 0 ¤µ¤«¤µ µÕ¤µ #T15 1 ¤µ¤«¤µ¤¤ µÕ°æ #JCN 0 ¤µ¤«¤·¤¿ ºä²¼ #JCN 0 ¤µ¤«¤·¤é ¤µ¤«¤·¤é #T05 1 ¤µ¤«¤º¤­ ÇÕ #T35 0 ¤µ¤«¤¿ ¼òÅÄ #JCN 0 ¤µ¤«¤¿ ºäÅÄ #JNS 0 ¤µ¤«¤Å¤­ ÇÕ #T35 0 ¤µ¤«¤É ºä¸Í #JCN 0 ¤µ¤«¤Ê ºè #T35 1 ¤µ¤«¤Ê µû #T35 11 ¤µ¤«¤Ë¤ï ºäÄí #JNS 0 ¤µ¤«¤Î ºäÌî #JNS 0 ¤µ¤«¤Î¤Ü ÁÌ #R5 3 ¤µ¤«¤Ð ¼ò¾ì #T35 1 ¤µ¤«¤Ù ºäÉô #JNS 0 ¤µ¤«¤Û¤® ºä½Ë #JCN 0 ¤µ¤«¤Þ µÕ´¬ #K5 0 ¤µ¤«¤ß¤Á ºäÆ» #T35 0 ¤µ¤«¤â¤È ºäËÜ #JCN 0 ¤µ¤«¤ä ¼ò²° #T35 1 ¤µ¤«¤é µÕ¤é #W5 2 ¤µ¤«¤ê À¹¤ê #T35 2 ¤µ¤«¤ï º´Àî #JNS 0 ¤µ¤«¤ó ¤µ¤«¤ó #T05 0 ¤µ¤«¤ó À¹¤ó #T05 4 ¤µ¤«¤ó º´´± #T35 0 ¤µ¤«¤ó º¸´± #T35 0 ¤µ¤¬ º´²ì #JCN 0 ¤µ¤¬ º·²å #JCN 0 ¤µ¤¬ ²¼¤¬ #R5r 9 ¤µ¤¬ ÁÜ #S5r 6 ¤µ¤¬ õ #S5r 91 ¤µ¤¬ À­ #T35 3 ¤µ¤¬¤¨ ´¨²Ï¹¾ #JCN 0 ¤µ¤¬¤¯ º¹³Û #T35 1 ¤µ¤¬¤±¤ó º´²ì¸© #CNS 0 ¤µ¤¬¤· º´²ì»Ô #CNS 0 ¤µ¤¬¤·¤¢¤Æ Áܤ·Åö¤Æ #KSr 1 ¤µ¤¬¤·¤À Áܤ·½Ð #S5r 1 ¤µ¤¬¤Î º·²åÌî #JCN 0 ¤µ¤¬¤Î¤»¤­ º´²ì´Ø #CN 0 ¤µ¤¬¤ß ÁêÌÏ #CN 0 ¤µ¤¬¤ß¤³ ÁêÌϸР#CN 0 ¤µ¤¬¤ß¤Ï¤é ÁêÌϸ¶ #CN 0 ¤µ¤¬¤é ÁêÎÉ #JCN 0 ¤µ¤¬¤ë ²¼¥ë #CNSUC1 1 ¤µ¤¬¤ï º´Àî #JCN 0 ¤µ¤­ Áᵪ #JNM 0 ¤µ¤­ ºë #KJ 0 ¤µ¤­ ºì #KJ 0 ¤µ¤­ Ö¿ #KJ 0 ¤µ¤­ ºé #KJ 1 ¤µ¤­ ºê #KJ 26 ¤µ¤­ Àè #SUC 6 ¤µ¤­ º¸µ­ #T35 0 ¤µ¤­ Á° #T35 2 ¤µ¤­ Àè #T35 255 ¤µ¤­¤ª¤¯¤ê ÀèÁ÷¤ê #T30 2 ¤µ¤­¤¬¤± ³¡ #KJ 0 ¤µ¤­¤¬¤± Àè¶î¤± #KSr 0 ¤µ¤­¤´¤í À褴¤í #T35 0 ¤µ¤­¤´¤í À躢 #T35 1 ¤µ¤­¤µ¤Þ ÀèÍÍ #T35 0 ¤µ¤­¤¶¤­ À衹 #T35 0 ¤µ¤­¤¶¤­ À衹 #T35 1 ¤µ¤­¤À ÀèΩ #T5 3 ¤µ¤­¤À¤Æ ÀèΩ¤Æ #KS 0 ¤µ¤­¤Á º´µÈ #JNS 0 ¤µ¤­¤È ºê¸Í #JCN 0 ¤µ¤­¤É¤ê Àè¼è¤ê #T30 0 ¤µ¤­¤Ð¤· ÀèÁö #R5r 0 ¤µ¤­¤Þ¤ï¤ê Àè²ó¤ê #T30 0 ¤µ¤­¤â¤Î Àèʪ #T35 0 ¤µ¤­¤ä ºêë #JNS 0 ¤µ¤­¤å¤¦ º½µÖ #T35 2 ¤µ¤­¤æ¤­ Àè¹Ô¤­ #T35 1 ¤µ¤­¤ç¤¦ º¸µþ #JCN 0 ¤µ¤­¤ó Àè¤ó #ZX 1 ¤µ¤® ºí #T35 0 ¤µ¤® º¾µ½ #T35 2 ¤µ¤®¤ç¤¦ ºî¶È #T30 255 ¤µ¤®¤ç¤¦ ¥µ¹Ô #T35 0 ¤µ¤®¤ç¤¦¤® ºî¶ÈÃå #T35 0 ¤µ¤¯ º´µ× #JCN 0 ¤µ¤¯ ºï #KJ 0 ¤µ¤¯ ºñ #KJ 0 ¤µ¤¯ ºó #KJ 0 ¤µ¤¯ ºõ #KJ 0 ¤µ¤¯ ºø #KJ 0 ¤µ¤¯ ¿Ý #KJ 0 ¤µ¤¯ Æã #KJ 0 ¤µ¤¯ ßÚ #KJ 1 ¤µ¤¯ ºò #KJ 5 ¤µ¤¯ ºð #KJ 7 ¤µ¤¯ ºô #T35 0 ¤µ¤¯ º÷ #T35 0 ¤µ¤¯ ºö #T35 26 ¤µ¤¯ ºî #T35 27 ¤µ¤¯¤¤ ºî°Ù #T30 1 ¤µ¤¯¤¤ ºî°Õ #T35 0 ¤µ¤¯¤¤¤ª¤ó ºø¥¤¥ª¥ó #T35 0 ¤µ¤¯¤¤¤ó º÷°ú #T35 31 ¤µ¤¯¤¬ ºî²è #T30 4 ¤µ¤¯¤¬¤é ºîÊÁ #T35 0 ¤µ¤¯¤® ºòÌÚ #JNS 0 ¤µ¤¯¤²¤ó ºï¸º #T30 8 ¤µ¤¯¤´ ºø¸í #T30 4 ¤µ¤¯¤· ºî»ì #T30 2 ¤µ¤¯¤· ºö»Î #T35 1 ¤µ¤¯¤·¤ã ºî¼Ô #T35 11 ¤µ¤¯¤·¤å ºñ¼è #T30 0 ¤µ¤¯¤¸ ºî»ö #T35 0 ¤µ¤¯¤¸¤Ä ºòÆü #T35 33 ¤µ¤¯¤¸¤ç ºï½ü #T30 255 ¤µ¤¯¤º ºî¿Þ #T30 28 ¤µ¤¯¤»¤¤ ºîÀ® #T30 255 ¤µ¤¯¤»¤¤ ºîÀ½ #T30 6 ¤µ¤¯¤»¤ó ºîÀï #T35 2 ¤µ¤¯¤½¤¦ ºøÁî #T30 1 ¤µ¤¯¤Ä¤± ºîÉÕ #T30 0 ¤µ¤¯¤Æ¤¤ ºöÄê #T30 3 ¤µ¤¯¤È¤¦ ºîÅì #JCN 0 ¤µ¤¯¤È¤¦ ºòÅß #T35 0 ¤µ¤¯¤É¤¦ ºöư #T30 0 ¤µ¤¯¤Ë¤å¤¦ ºñÆý #T30 0 ¤µ¤¯¤Í¤ó ºòǯ #T35 24 ¤µ¤¯¤Í¤ó¤É ºòǯÅÙ #T35 2 ¤µ¤¯¤Ð¤ó ºòÈÕ #T35 0 ¤µ¤¯¤Ò¤ç¤¦ ºîɽ #T30 2 ¤µ¤¯¤Ò¤ó ºîÉÊ #T35 18 ¤µ¤¯¤Õ ºîÉè #T30 1 ¤µ¤¯¤Õ¤¦ ºîÉ÷ #T35 1 ¤µ¤¯¤Ö¤ó ºîʸ #T30 4 ¤µ¤¯¤Þ º´µ×´Ö #JCN 0 ¤µ¤¯¤â¤Ä ºîʪ #T35 0 ¤µ¤¯¤ä ºòÌë #T35 3 ¤µ¤¯¤æ ºñÌý #T30 0 ¤µ¤¯¤é º´ÁÒ #JCN 0 ¤µ¤¯¤é ºù #JCN 0 ¤µ¤¯¤é ¤µ¤¯¤é #T35 1 ¤µ¤¯¤é ݯ #T35 3 ¤µ¤¯¤é ºù #T35 9 ¤µ¤¯¤é¤¤ ºù°æ #JCN 0 ¤µ¤¯¤é¤¤ ݯ°æ #JNS 0 ¤µ¤¯¤é¤¨ ºù¹¾ #JCN 0 ¤µ¤¯¤é¤¬¤¤ ºù³­ #T35 4 ¤µ¤¯¤é¤¬¤ï ºùÀî #JCN 0 ¤µ¤¯¤é¤·¤ó¤Þ¤Á ºù¿·Ä® #CN 0 ¤µ¤¯¤é¤¸¤Þ ºùÅç #JCN 0 ¤µ¤¯¤é¤À ºùÅÄ #JCN 0 ¤µ¤¯¤é¤À¤¤ ºùÂæ #JCN 0 ¤µ¤¯¤é¤Å¤Ä¤ß ºùÄé #JNS 0 ¤µ¤¯¤é¤â¤Á ºùÌß #T35 0 ¤µ¤¯¤é¤ó ºøÍð #T30 0 ¤µ¤¯¤ê¤ã¤¯ ºöά #T30 1 ¤µ¤¯¤ì¤¤ ºîÎã #T35 0 ¤µ¤¯¤ì¤Ä ßÚÎö #T30 1 ¤µ¤° õ #R5r 3 ¤µ¤°¤ê¤¢¤Æ õ¤êÅö¤Æ #KS 0 ¤µ¤°¤ê¤À õ¤ê½Ð #S5 1 ¤µ¤± ¶« #B5r 7 ¤µ¤± Èò¤± #KS 116 ¤µ¤± ºú #T35 1 ¤µ¤± ¼ò #T35 50 ¤µ¤±¤¤ º¸·¹ #T30 0 ¤µ¤±¤«¤ï ºúÀî #JCN 0 ¤µ¤² Äó¤² #KS 1 ¤µ¤² ²¼¤² #KS 13 ¤µ¤³ º´¸Å #JNS 0 ¤µ¤³ Ç÷ #KJ 0 ¤µ¤³¤¦ ¼ò¸þ #JNS 0 ¤µ¤³¤¦ ¼òÆ÷ #JNS 0 ¤µ¤³¤¯ º¿¹ñ #T30 0 ¤µ¤µ ¼Ä #KJ 0 ¤µ¤µ »É¤µ #R5 13 ¤µ¤µ ºû #T35 4 ¤µ¤µ¤¤ º³ºÙ #T05 5 ¤µ¤µ¤¨ »Ù¤¨ #KSr 4 ¤µ¤µ¤ª ºûÈø #JNS 0 ¤µ¤µ¤ª¤« ºû²¬ #JNS 0 ¤µ¤µ¤«¤ß ºû¿À #JCN 0 ¤µ¤µ¤¬¤ï ºûÀî #JNS 0 ¤µ¤µ¤­ º´¡¹ÌÚ #JNS 0 ¤µ¤µ¤¯¤é ºûÁÒ #JCN 0 ¤µ¤µ¤°¤ê ¼Ä·ª #JCN 0 ¤µ¤µ¤² Êû¤² #KS 1 ¤µ¤µ¤À ºûÅÄ #JNS 0 ¤µ¤µ¤Ä ºº»¡ #T30 0 ¤µ¤µ¤Ï¤é ºû¸¶ #JNS 0 ¤µ¤µ¤â¤È ºûËÜ #JNS 0 ¤µ¤µ¤ä Óñ #K5 1 ¤µ¤µ¤ä Óñ¤ä #K5 1 ¤µ¤µ¤ä ¤µ¤µ¤ä #K5 2 ¤µ¤µ¤ä¤« ¤µ¤µ¤ä¤« #T05 3 ¤µ¤µ¤ä¤Þ ¼Ä»³ #JCN 0 ¤µ¤µ¤é äÉ #T35 0 ¤µ¤¶ º´¡¹ #CN 0 ¤µ¤¶¤Ê¤ß Îú #T35 0 ¤µ¤¶¤Ê¤ß ¤µ¤¶ÇÈ #T35 3 ¤µ¤¶¤ó¤« ¥µ¥¶¥ó¥« #T35 1 ¤µ¤¶¤ó¤Ö¤í¤Ã¤È ¥µ¥¶¥ó¥Ö¥í¥Ã¥È #T35 1 ¤µ¤· ¤µ¤· #D2T35 6 ¤µ¤·¤¢¤² º¹¤·¾å¤² #KS 8 ¤µ¤·¤¢¤¿¤ê ¤µ¤·¤¢¤¿¤ê #F14 1 ¤µ¤·¤¢¤¿¤ê ¤µ¤·¤¢¤¿¤ê #T36 0 ¤µ¤·¤¤¤ì º¹Æþ¤ì #KSr 0 ¤µ¤·¤¨ ÁÞ³¨ #T35 4 ¤µ¤·¤ª¤µ¤¨ º¹¤·²¡¤¨ #KSr 0 ¤µ¤·¤ª¤µ¤¨ º¹²¡ #T30 0 ¤µ¤·¤«¤¨ º¹¤·Âؤ¨ #KSr 3 ¤µ¤·¤«¤± º¹¤·¤«¤± #KS 0 ¤µ¤·¤¬¤Í º¹¶â #T35 0 ¤µ¤·¤­ º´Éß #JCN 0 ¤µ¤·¤­ ÁÞ¤·ÌÚ #T30 0 ¤µ¤·¤³ º¹¤·¹þ #M5r 1 ¤µ¤·¤µ¤ï¤ê º¹¾ã¤ê #T35 0 ¤µ¤·¤·¤á »Ø¤·¼¨ #S5 1 ¤µ¤·¤º »Ø¿Þ #T30 0 ¤µ¤·¤º¤á ¤µ¤·¤º¤á #CJ 0 ¤µ¤·¤»¤Þ º¹¤·Ç÷ #R5 1 ¤µ¤·¤¿¤ë ¤µ¤·¤¿¤ë #RT 1 ¤µ¤·¤À º¹¤·½Ð #S5 0 ¤µ¤·¤À¤·¤Ë¤ó º¹½Ð¿Í #T35 0 ¤µ¤·¤Ä¤«¤¨ º¹¤·»Ù¤¨ #KSr 3 ¤µ¤·¤Å¤á ¤µ¤·¤Å¤á #CJ 0 ¤µ¤·¤Æ ¤µ¤·¤Æ #F14 0 ¤µ¤·¤Æ ¤µ¤·¤Æ #T36 0 ¤µ¤·¤Ç¤¬¤Þ¤· ¤µ¤·¤Ç¤¬¤Þ¤· #KY 0 ¤µ¤·¤Ç¤¬¤Þ¤· º¹¤·½Ð¤¬¤Þ¤· #KY 0 ¤µ¤·¤Ç¤¬¤Þ¤·¤å¤¦ ¤µ¤·¤Ç¤¬¤Þ¤·¤å¤¦ #KYU 0 ¤µ¤·¤Ç¤¬¤Þ¤·¤å¤¦ º¹¤·½Ð¤¬¤Þ¤·¤å¤¦ #KYU 0 ¤µ¤·¤È¤á º¹¤·»ß¤á #KSr 0 ¤µ¤·¤É¤á º¹»ß¤á #T30 0 ¤µ¤·¤Ò º¹¤·°ú #K5r 0 ¤µ¤·¤Ò¤«¤¨ º¹¤·¹µ¤¨ #KS 1 ¤µ¤·¤Ò¤­ º¹°ú #T35 1 ¤µ¤·¤Þ ±îÅç #JCN 0 ¤µ¤·¤Þ¤ï º¹¤·²ó #S5 0 ¤µ¤·¤ß »É¿È #T35 3 ¤µ¤·¤à¤«¤¤ º¹¸þ¤¤ #T10 0 ¤µ¤·¤à¤± º¹¤·¸þ¤± #KS 0 ¤µ¤·¤â¤É º¹¤·Ìá #S5r 0 ¤µ¤·¤â¤É¤· º¹Ìᤷ #T35 0 ¤µ¤·¤å º¾¼è #T30 0 ¤µ¤·¤å¤¦ ºº¼ý #T30 2 ¤µ¤·¤ç¤¦ º³¾¯ #T05 1 ¤µ¤·¤ç¤¦ ºº¾Ú #T30 0 ¤µ¤·¤ï¤¿¤· º¹ÅϤ· #T30 0 ¤µ¤·¤ó¤·¤Ä º¸¿´¼¼ #T35 1 ¤µ¤¸ º´Ìê #JCN 0 ¤µ¤¸ ºü #T35 0 ¤µ¤¸ º³»ö #T35 1 ¤µ¤¸¤­ »·Éß #T35 1 ¤µ¤¸¤Þ º´Åç #JCN 0 ¤µ¤¹ ¤µ¤¹ #R5 1 ¤µ¤¹¤¬ ήÀÐ #T05 1 ¤µ¤¹¤¬ ¤µ¤¹¤¬ #T05 29 ¤µ¤¹¤Ú¤ó¤É ¥µ¥¹¥Ú¥ó¥É #T30 5 ¤µ¤º¤« ¼ø¤« #R5 1 ¤µ¤º¤± ¼ø¤± #KS 0 ¤µ¤» º´À¥ #JNS 0 ¤µ¤» ¤µ¤» #KS 1 ¤µ¤»¤Ä º¸ÀÞ #T30 2 ¤µ¤»¤Ü º´À¤ÊÝ #JCN 0 ¤µ¤»¤ó º¸Á« #T30 1 ¤µ¤»¤ó º¿Àþ #T35 4 ¤µ¤½ Ͷ #W5r 49 ¤µ¤½¤¤¤¢¤ï Ͷ¤¤¹ç¤ï #S5r 0 ¤µ¤½¤¤¤«¤± Ͷ¤¤¤«¤± #KSr 0 ¤µ¤½¤¤¤³ Ͷ¤¤¹þ #M5r 0 ¤µ¤½¤¤¤À Ͷ¤¤½Ð #S5r 0 ¤µ¤½¤¯ º¸Â¦ #T35 1 ¤µ¤½¤ê ê¸ #T35 2 ¤µ¤½¤ó º¹Â» #T35 1 ¤µ¤¿ º´Â¿ #JCN 0 ¤µ¤¿ º´²° #JNS 0 ¤µ¤¿ º»ÂÁ #T30 2 ¤µ¤¿¤± º´ÃÝ #JNS 0 ¤µ¤¿¤ß¤µ¤­ º´Â¿Ì¨ #CN 0 ¤µ¤¿¤í¤¦ º´ÂÀϺ #JNM 0 ¤µ¤¿¤ó º¸Ã¼ #T35 7 ¤µ¤À º´ÅÄ #JCN 0 ¤µ¤À Äå #KJ 0 ¤µ¤À Ä÷ #KJ 0 ¤µ¤À Äê #KJ 1 ¤µ¤À¤ª ÄçÃË #JNM 0 ¤µ¤À¤ª ÄçÉ× #JNM 0 ¤µ¤À¤ª Äçͺ #JNM 0 ¤µ¤À¤ª ÄêÃË #JNM 0 ¤µ¤À¤ª ÄêÉ× #JNM 0 ¤µ¤À¤ª Äêͺ #JNM 0 ¤µ¤À¤« Ä꤫ #T05 5 ¤µ¤À¤­¤Á ÄêµÈ #JNM 0 ¤µ¤À¤³ Äç»Ò #JNM 0 ¤µ¤À¤Þ Äê¤Þ #R5r 6 ¤µ¤À¤ß¤Ä Äç¸÷ #JCN 0 ¤µ¤À¤á Äê¤á #KSr 37 ¤µ¤À¤æ¤­ Äç¹Ô #JNM 0 ¤µ¤Á ¸ö #KJ 1 ¤µ¤Á ¹¬ #KJ 3 ¤µ¤Á¤ª ¹¬Íº #JNM 0 ¤µ¤Á¤³ ¹¬»Ò #JNM 0 ¤µ¤Ã »¡ #SX 6 ¤µ¤Ã¤« »¤²á #T30 0 ¤µ¤Ã¤« ºî²È #T35 2 ¤µ¤Ã¤«¡¼ ¥µ¥Ã¥«¡¼ #T35 2 ¤µ¤Ã¤«¤¯ ºø³Ð #T30 2 ¤µ¤Ã¤­ »¦µ¤ #T35 0 ¤µ¤Ã¤­ ¤µ¤Ã¤­ #T35 53 ¤µ¤Ã¤­¤å¤¦ ÁáµÞ #T05 2 ¤µ¤Ã¤­¤ç¤¯ ºî¶Ê #T30 2 ¤µ¤Ã¤­¤ó »¦¶Ý #T30 0 ¤µ¤Ã¤³¤ó ºòº£ #T35 2 ¤µ¤Ã¤µ¤È ¤µ¤Ã¤µ¤È #F14 3 ¤µ¤Ã¤· »¡¤· #T35 0 ¤µ¤Ã¤· ºý»Ò #T35 1 ¤µ¤Ã¤·¤ó ºþ¿· #T30 2 ¤µ¤Ã¤¹¤¦ ºý¿ô #T35 0 ¤µ¤Ã¤½¤¦ ¤µ¤Ã¤½¤¦ #F02 0 ¤µ¤Ã¤½¤¦ ¤µ¤Ã¤½¤¦ #T36 0 ¤µ¤Ã¤½¤¦ ñ¥ÁÖ #F02 0 ¤µ¤Ã¤½¤¦ ñ¥ÁÖ #T36 0 ¤µ¤Ã¤½¤¯ ¤µ¤Ã¤½¤¯ #F14 10 ¤µ¤Ã¤½¤¯ Áá® #F14 44 ¤µ¤Ã¤½¤¯ ¤µ¤Ã¤½¤¯ #T36 0 ¤µ¤Ã¤½¤¯ Áá® #T36 0 ¤µ¤Ã¤Á »¡ÃÎ #T30 0 ¤µ¤Ã¤Æ ¹¬¼ê #CN 0 ¤µ¤Ã¤È ¤µ¤Ã¤È #F14 0 ¤µ¤Ã¤È ¤µ¤Ã¤È #T36 0 ¤µ¤Ã¤È¤¦ »¦Åþ #T30 0 ¤µ¤Ã¤Ñ¤ê ¤µ¤Ã¤Ñ¤ê #F04 4 ¤µ¤Ã¤Ñ¤ê ¤µ¤Ã¤Ñ¤ê #T16 0 ¤µ¤Ã¤Ô ¤µ¤Ã°ú #K5 0 ¤µ¤Ã¤Ý¤í »¥ËÚ #CN 0 ¤µ¤Ã¤Ý¤í¤· »¥ËÚ»Ô #CNS 0 ¤µ¤Ä ºý #JS 0 ¤µ¤Ä ºþ #JS 1 ¤µ¤Ä ºþ #KJ 0 ¤µ¤Ä »¢ #KJ 0 ¤µ¤Ä »¤ #KJ 0 ¤µ¤Ä »µ #KJ 0 ¤µ¤Ä »£ #KJ 1 ¤µ¤Ä »§ #KJ 1 ¤µ¤Ä »¦ #KJ 2 ¤µ¤Ä »¡ #T35 1 ¤µ¤Ä »¥ #T35 3 ¤µ¤Ä ºý #T35 49 ¤µ¤Ä¤¤ »¦°Õ #T35 1 ¤µ¤Ä¤¨¤¤ »£±Æ #T30 9 ¤µ¤Ä¤¬¤¤ »¦³² #T30 0 ¤µ¤Ä¤­ ¸Þ·î #JN 0 ¤µ¤Ä¤­ »©·î #T35 0 ¤µ¤Ä¤­¤¬¤ª¤« ¸Þ·îµÖ #CN 0 ¤µ¤Ä¤¸¤ó »¦¿Í #T35 2 ¤µ¤Ä¤¸¤ó¤­ »¦¿Íµ´ #T35 0 ¤µ¤Ä¤Ð¤Ä »¦È² #F00 1 ¤µ¤Ä¤Þ »§Ëà #JCN 0 ¤µ¤Ä¤Þ¤¤¤â ¥µ¥Ä¥Þ¥¤¥â #T35 0 ¤µ¤Ä¤Þ¤¤¤â »§Ëà°ò #T35 0 ¤µ¤Ä¤ê¤¯ »¦Ù¤ #T30 0 ¤µ¤Æ ¤µ¤Æ #CJ 64 ¤µ¤Æ¤£ ¥µ¥Æ¥£ #JN 0 ¤µ¤Æ¤¤ ººÄê #T30 2 ¤µ¤Æ¤ª¤­ ¤µ¤Æ¤ª¤­ #CJ 0 ¤µ¤È Τ #JN 0 ¤µ¤È Áï #KJ 1 ¤µ¤È ÉÒ #KY 0 ¤µ¤È Áï #KY 1 ¤µ¤È ¸ç #R5r 19 ¤µ¤È Í¡ #S5 1 ¤µ¤È ¶¿ #T35 1 ¤µ¤È Τ #T35 10 ¤µ¤È¤¦ º´Æ£ #JNS 0 ¤µ¤È¤¦ Á臘 #KYU 1 ¤µ¤È¤¦ º½Åü #T35 6 ¤µ¤È¤³ º´ÅÐ»Ò #JNM 0 ¤µ¤È¤³ º½ÅÐ»Ò #JNM 0 ¤µ¤È¤· ³Ð #JNM 0 ¤µ¤È¤· ¸ç #JNM 0 ¤µ¤È¤· Áï #JNM 0 ¤µ¤È¤· ÃÒ #JNM 0 ¤µ¤È¤· ÃÒ»Ì #JNM 0 ¤µ¤È¤· ů #JNM 0 ¤µ¤È¤· ÉÒ #JNM 0 ¤µ¤È¤· Í¡ #JNM 0 ¤µ¤È¤·¤ç¤¦ Τ¾± #JCN 0 ¤µ¤È¤ß ΤÈþ #JCN 0 ¤µ¤È¤ß ·Ãµ¬ #JNM 0 ¤µ¤È¤ß ÁïÈþ #JNM 0 ¤µ¤È¤ß ÃÒÈþ #JNM 0 ¤µ¤È¤ë ³Ð #JNM 0 ¤µ¤È¤ë ¸ç #JNM 0 ¤µ¤È¤ë ů #JNM 0 ¤µ¤È¤ë Íý #JNM 0 ¤µ¤É º´ÅÏ #JCN 0 ¤µ¤É¤¦ ºîư #T30 1 ¤µ¤É¤¦ ÃãÆ» #T35 0 ¤µ¤É¤¯ ººÆÉ #T30 4 ¤µ¤É¤ï¤é º´ÅÚ¸¶ #CN 0 ¤µ¤Ê¤¨ ÁáÉÄ #JNM 0 ¤µ¤Ê¤® éì #T35 1 ¤µ¤Ê¤´¤¦¤Á º´Æá²ÏÆâ #CN 0 ¤µ¤Ê¤À ¿¿ÅÄ #JCN 0 ¤µ¤Ì¤­ »¾´ô #JCN 0 ¤µ¤Í ¼Â #KJ 0 ¤µ¤Í¤È¤¦ ¼ÂÆ£ #JNS 0 ¤µ¤Í¤È¤¦ Õ鯣 #JNS 0 ¤µ¤Î º´Ìî #JCN 0 ¤µ¤Î¤¦ º½Ç¹ #T35 0 ¤µ¤Ï º¸ÇÉ #T35 1 ¤µ¤Ï¤¤ º¹ÇÛ #T30 0 ¤µ¤Ï¤é º´¸¶ #JNS 0 ¤µ¤Ï¤é º½¸¶ #JNS 0 ¤µ¤Ï¤ó¤¸ ÃãÈÓ»ö #T35 2 ¤µ¤Ð º´ÇÈ #JCN 0 ¤µ¤Ð »« #K5r 0 ¤µ¤Ð ºÛ #K5r 1 ¤µ¤Ð »ª #T35 0 ¤µ¤Ð¤¨ »ª¹¾ #JCN 0 ¤µ¤Ð¤­ »« #KJ 0 ¤µ¤Ð¤¯ º½Çù #T35 13 ¤µ¤Ó »¬¤Ó #KS 0 ¤µ¤Ó »¬ #T35 3 ¤µ¤Ó¤· ¼ä¤· #KY 11 ¤µ¤Ó¤· ¤µ¤Ó¤· #KY 3 ¤µ¤Ó¤· ÎÔ¤· #KY 8 ¤µ¤Ó¤·¤¬ ¤µ¤Ó¤·¤¬ #R5r 0 ¤µ¤Ó¤·¤¬ ÎÔ¤·¤¬ #R5r 1 ¤µ¤Ó¤·¤¬ ¼ä¤·¤¬ #R5r 2 ¤µ¤Ó¤·¤å¤¦ ¤µ¤Ó¤·¤å¤¦ #KYU 1 ¤µ¤Ó¤·¤å¤¦ ÎÔ¤·¤å¤¦ #KYU 1 ¤µ¤Ó¤·¤å¤¦ ¼ä¤·¤å¤¦ #KYU 2 ¤µ¤Ó¤·¤í ÎÔÂå #JCN 0 ¤µ¤Ó¤Ä »¬¤Ó¤Ä #K5r 0 ¤µ¤Ó¤ì ¼ä¤ì #KS 0 ¤µ¤Ô¤¨¤ó¤¹ ¥µ¥Ô¥¨¥ó¥¹ #KK 2 ¤µ¤Ô¤¨¤ó¤¹ ¥µ¥Ô¥¨¥ó¥¹ #T35 1 ¤µ¤Õ¤¡¤¤¤¢ ¥µ¥Õ¥¡¥¤¥¢ #T35 0 ¤µ¤Ö ¥µ¥Ö #PRE 52 ¤µ¤Ö¤¸¤§¤¯¤È ¥µ¥Ö¥¸¥§¥¯¥È #T35 2 ¤µ¤Ö¤í¤¦ »°Ï¯ #JNM 0 ¤µ¤Ö¤í¤¦ »°Ïº #JNM 0 ¤µ¤Ö¤ó º¹Ê¬ #T35 9 ¤µ¤×¤é¤¤ ¥µ¥×¥é¥¤ #T30 1 ¤µ¤Ø¤ó º¸ÊÕ #T35 2 ¤µ¤Ù¤Ä º¹ÊÌ #T30 6 ¤µ¤Û¤¦ ºîË¡ #T35 1 ¤µ¤Û¤É ¤µ¤Û¤É #F14 1 ¤µ¤Û¤É ¤µ¤Û¤É #T36 0 ¤µ¤Ü ¤µ¤Ü #R5r 4 ¤µ¤Ü ¥µ¥Ü #R5r 5 ¤µ¤Ü¤¦ º½ËÉ #T35 0 ¤µ¤Ý¡¼¤È ¥µ¥Ý¡¼¥È #T30 171 ¤µ¤Þ ¤µ¤Þ #JNSUC 0 ¤µ¤Þ ÍÍ #JNSUC 213 ¤µ¤Þ Îä¤Þ #S5r 1 ¤µ¤Þ ³Ð¤Þ #S5r 3 ¤µ¤Þ ÍÍ #T35 2 ¤µ¤Þ ¤µ¤Þ #T35 4 ¤µ¤Þ¤¬¤ï¤ê ÍÍÊѤê #T30 0 ¤µ¤Þ¤¬¤ï¤ê ÍÍÊѤï¤ê #T30 0 ¤µ¤Þ¤¶¤Þ ÍÍ¡¹ #T05 26 ¤µ¤Þ¤¶¤Þ ¤µ¤Þ¤¶¤Þ #T05 68 ¤µ¤Þ¤¿¤² ˸¤² #KSr 4 ¤µ¤Þ¤Ä àôËö #T05 0 ¤µ¤Þ¤Ë ÍÍ»÷ #CN 0 ¤µ¤Þ¤è ¤µ¤Þ¤è #W5 1 ¤µ¤Þ¤è ¤µÌ #W5 3 ¤µ¤Þ¤ê¡¼ ¥µ¥Þ¥ê¡¼ #T35 1 ¤µ¤ß¤· ¤µ¤ß¤· #KY 0 ¤µ¤ß¤· ¼ä¤· #KY 3 ¤µ¤ß¤· ÎÔ¤· #KY 3 ¤µ¤ß¤·¤¬ ¤µ¤ß¤·¤¬ #R5r 0 ¤µ¤ß¤·¤¬ ¼ä¤·¤¬ #R5r 1 ¤µ¤ß¤·¤¬ ÎÔ¤·¤¬ #R5r 1 ¤µ¤ß¤·¤å¤¦ ¤µ¤ß¤·¤å¤¦ #KYU 0 ¤µ¤ß¤·¤å¤¦ ¼ä¤·¤å¤¦ #KYU 1 ¤µ¤ß¤·¤å¤¦ ÎÔ¤·¤å¤¦ #KYU 1 ¤µ¤ß¤º »°¿å #JCN 0 ¤µ¤ß¤À¤ì ¸Þ·î±« #T35 0 ¤µ¤à ´¨ #KYme 19 ¤µ¤à ¥µ¥à #T35 4 ¤µ¤à¤¦ ´¨¤¦ #KYU 2 ¤µ¤à¤¨ ºî̳°á #T35 0 ¤µ¤à¤«¤ï ´¨Àî #JCN 0 ¤µ¤à¤¬ ´¨¤¬ #R5r 0 ¤µ¤à¤± ´¨µ¤ #T35 1 ¤µ¤à¤µ ´¨¤µ #T35 1 ¤µ¤à¤é¤¤ »ø #T35 1 ¤µ¤á ³Ð¤á #KS 2 ¤µ¤á Îä¤á #KS 2 ¤µ¤á Àäá #KS 5 ¤µ¤á »­ #T35 11 ¤µ¤á¤«¤ï »­Àî #JCN 0 ¤µ¤á¤¶¤á ¤µ¤á¤¶¤á #F06 0 ¤µ¤á¤¶¤á ¤µ¤á¤¶¤á #T36 0 ¤µ¤á¤·¤Þ »­Åç #JNS 0 ¤µ¤á¤Ï¤À »­È© #T15 0 ¤µ¤â ¤µ¤â #F14 1 ¤µ¤â¤Ê¤±¤ì¤Ð ¤µ¤â¤Ê¤±¤ì¤Ð #CJ 1 ¤µ¤â¤ó ººÌä #T30 0 ¤µ¤ä ¾ä #T35 4 ¤µ¤ä¤¢¤Æ ¾äÅö¤Æ #T35 0 ¤µ¤ä¤« º»Ìé²Ã #JNM 0 ¤µ¤ä¤Þ ¶¹»³ #JCN 0 ¤µ¤ä¤Þ º´»³ #JNS 0 ¤µ¤æ¤¦ º¸±¦ #T30 32 ¤µ¤æ¤ê ¤µ¤æ¤ê #JNM 0 ¤µ¤æ¤ê ÁáÉ´¹ç #JNM 0 ¤µ¤è¤¦ º´ÍÑ #JCN 0 ¤µ¤è¤¦ ºîÍÑ #T30 8 ¤µ¤è¤¦¤Ê¤é ¤µ¤è¤¦¤Ê¤é #CJ 4 ¤µ¤è¤¦¤Ê¤é ¤µ¤è¤¦¤Ê¤é #T30 3 ¤µ¤è¤¯ º¸Íã #T35 0 ¤µ¤è¤Ê¤é ¤µ¤è¤Ê¤é #CJ 6 ¤µ¤è¤Ê¤é ¤µ¤è¤Ê¤é #T30 6 ¤µ¤é »® #JS 19 ¤µ¤é ¹¹ #KJ 1 ¤µ¤é Çø #S5 0 ¤µ¤é »¯ #S5 1 ¤µ¤é »® #T35 16 ¤µ¤é ¤µ¤é #T35 72 ¤µ¤é ²ý #W5 1 ¤µ¤é¤¤¤²¤Ä ºÆÍè·î #T35 1 ¤µ¤é¤¤¤·¤å¤¦ ºÆÍè½µ #T35 4 ¤µ¤é¤¤¤Í¤ó ºÆÍèǯ #T35 0 ¤µ¤é¤¦¤ó¤É ¥µ¥é¥¦¥ó¥É #T35 1 ¤µ¤é¤±¤À ¤µ¤é¤±½Ð #S5 0 ¤µ¤é¤±¤À ¤µ¤é¤±¤À #S5 2 ¤µ¤é¤µ¤é ¹¹¡¹ #F14 2 ¤µ¤é¤· »¯ #T35 0 ¤µ¤é¤·¤Ê ¹¹µé #JCN 0 ¤µ¤é¤·¤Ê ¹¹²Ê #KK 1 ¤µ¤é¤À ¥µ¥é¥À #T35 4 ¤µ¤é¤Ë ¹¹¤Ë #F14 22 ¤µ¤é¤Ð ¤µ¤é¤Ð #CJ 1 ¤µ¤é¤Ù¤Ä ¹¹ÊÌ #CN 0 ¤µ¤é¤ê¡¼¤Þ¤ó ¥µ¥é¥ê¡¼¥Þ¥ó #T35 1 ¤µ¤é¤ê¤È ¤µ¤é¤ê¤È #F12 0 ¤µ¤ê¤²¤Ê ¤µ¤ê¤²¤Ê #KY 4 ¤µ¤ê¤²¤Î¤¦ ¤µ¤ê¤²¤Î¤¦ #KYU 1 ¤µ¤ë º»Î® #CN 0 ¤µ¤ë ¤µ¤ë #T35 1 ¤µ¤ë ¥µ¥ë #T35 1 ¤µ¤ë ±î #T35 6 ¤µ¤ë¤³¤È ¤µ¤ë¤³¤È #T35 1 ¤µ¤ë¤³¤È Á³¤ë¤³¤È #T35 1 ¤µ¤ë¤¹¤Ù¤ê ¥µ¥ë¥¹¥Ù¥ê #T35 1 ¤µ¤ë¤¹¤Ù¤ê É´Æü¹È #T35 1 ¤µ¤ë¤Â¤¨ ±îÃηà #T35 0 ¤µ¤ë¤È¤ë ¥µ¥ë¥È¥ë #JN 0 ¤µ¤ë¤Õ¤¡¤¶¤¤ ¥µ¥ë¥Õ¥¡ºÞ #T35 1 ¤µ¤ë¤Õ¤Ä ±îʧ #JCN 0 ¤µ¤ì¤É ¤µ¤ì¤É #CJ 1 ¤µ¤í¤Þ º´Ï¤´Ö #CN 0 ¤µ¤ï Áû #G5r 25 ¤µ¤ï º´ÇÈ #JCN 0 ¤µ¤ï Âô #JNS 0 ¤µ¤ï ß· #KJ 33 ¤µ¤ï ¾ã #R5r 0 ¤µ¤ï ¿¨ #R5r 20 ¤µ¤ï Âô #T35 19 ¤µ¤ï¤¤ Âô°æ #JCN 0 ¤µ¤ï¤¦¤Á ÂôÆâ #JCN 0 ¤µ¤ï¤¦¤Á ß·Æâ #JNS 0 ¤µ¤ï¤«¤¤ ÃãÏòñ #T35 0 ¤µ¤ï¤¬¤· Áû¤¬¤· #KY 1 ¤µ¤ï¤¬¤·¤å¤¦ Áû¤¬¤·¤å¤¦ #KYU 1 ¤µ¤ï¤°¤Á Âô¸ý #JNS 0 ¤µ¤ï¤¿ º´ÏÂÅÄ #JCN 0 ¤µ¤ï¤¿¤ê ÂôÅÏ #JCN 0 ¤µ¤ï¤À ÂôÅÄ #JNS 0 ¤µ¤ï¤À ß·ÅÄ #JNS 0 ¤µ¤ï¤à¤é Âô¼ #JNS 0 ¤µ¤ï¤ä¤« ¤µ¤ï¤ä¤« #T05 1 ¤µ¤ï¤ä¤« Á֤䤫 #T05 4 ¤µ¤ï¤é º´¸¶ #JCN 0 ¤µ¤ï¤é ÁáÎÉ #JCN 0 ¤µ¤ï¤é òÖ #T35 1 ¤µ¤ï¤ó º¸ÏÓ #T35 2 ¤µ¤ó »º #CNSUC1 0 ¤µ¤ó »³ #CNSUC1 12 ¤µ¤ó ¤µ¤ó #JNSUC 255 ¤µ¤ó »± #KJ 0 ¤µ¤ó »² #KJ 0 ¤µ¤ó »´ #KJ 0 ¤µ¤ó »¸ #KJ 0 ¤µ¤ó »¹ #KJ 0 ¤µ¤ó »½ #KJ 0 ¤µ¤ó »Á #KJ 0 ¤µ¤ó ÉÇ #KJ 0 ¤µ¤ó »³ #KJ 1 ¤µ¤ó »µ #KJ 1 ¤µ¤ó »¶ #KJ 1 ¤µ¤ó »· #KJ 1 ¤µ¤ó »¼ #KJ 2 ¤µ¤ó »¾ #KJ 3 ¤µ¤ó ¥µ¥ó #KK 6 ¤µ¤ó »° #NN 153 ¤µ¤ó ¤µ¤ó #SUC 0 ¤µ¤ó »º #T30 0 ¤µ¤ó »¿ #T30 1 ¤µ¤ó »» #T30 2 ¤µ¤ó »² #T30 3 ¤µ¤ó »À #T35 1 ¤µ¤ó »¶ #ZX 0 ¤µ¤ó »² #ZX 2 ¤µ¤ó¤¤ »¿°Õ #T35 2 ¤µ¤ó¤¤¤Ä »¶°ï #T30 1 ¤µ¤ó¤¤¤ó »³±¢ #CN 0 ¤µ¤ó¤¤¤ó »²±¡ #T35 0 ¤µ¤ó¤¤¤ó »º±¡ #T35 0 ¤µ¤ó¤« »À²½ #JS 2 ¤µ¤ó¤« »À²½ #T30 1 ¤µ¤ó¤« »²²Ã #T30 255 ¤µ¤ó¤« »¿²Î #T35 0 ¤µ¤ó¤« »¾²Î #T35 2 ¤µ¤ó¤« »±²¼ #T35 3 ¤µ¤ó¤«¤¤ »²²ñ #T30 0 ¤µ¤ó¤«¤¤ »¶²ñ #T30 2 ¤µ¤ó¤«¤¯ »°³Ñ #T35 4 ¤µ¤ó¤«¤¯ ¢¥ #T35 48 ¤µ¤ó¤«¤¯ ¢¤ #T35 96 ¤µ¤ó¤«¤¯¤Á¤å¤¦ »°³ÑÃì #T35 1 ¤µ¤ó¤«¤·¤ã »²²Ã¼Ô #T35 0 ¤µ¤ó¤«¤ó »²´Ñ #T30 0 ¤µ¤ó¤«¤ó »³´Ö #T35 2 ¤µ¤ó¤«¤ó¤·¤ª¤ó »°´¨»Í²¹ #T35 2 ¤µ¤ó¤¬ »²²ì #T30 0 ¤µ¤ó¤¬ »³²Ï #T35 0 ¤µ¤ó¤¬¤¤ »°³¦ #T35 0 ¤µ¤ó¤¬¤¤ »´³² #T35 0 ¤µ¤ó¤¬¤¯ »³³Ù #T35 0 ¤µ¤ó¤¬¤¯ »º³Û #T35 0 ¤µ¤ó¤¬¤Ë¤Á »°¤¬Æü #T35 1 ¤µ¤ó¤¬¤ï ´¨Àî #JCN 0 ¤µ¤ó¤­¤å¤¦ »ºµÙ #T30 0 ¤µ¤ó¤­¤ç¤¦ »³¶® #T35 0 ¤µ¤ó¤®¤¤¤ó »²µÄ±¡ #KK 0 ¤µ¤ó¤®¤ç¤¦ »º¶È #T35 20 ¤µ¤ó¤°¤¦ »²µÜ #T30 0 ¤µ¤ó¤°¤é¤¹ ¥µ¥ó¥°¥é¥¹ #T30 2 ¤µ¤ó¤± »ºµ¤ #T35 0 ¤µ¤ó¤±¤¤ »º·Ð #KK 0 ¤µ¤ó¤±¤¤ »²·Ø #T30 0 ¤µ¤ó¤±¤ó »¶¸« #T30 2 ¤µ¤ó¤±¤ó »°¸¢ #T35 0 ¤µ¤ó¤²¤­ »´·à #T35 0 ¤µ¤ó¤³¤¦ »°¸÷ #CN 0 ¤µ¤ó¤³¤¦ »²¹Í #T30 127 ¤µ¤ó¤³¤¦¤·¤ç »²¹Í½ñ #T35 1 ¤µ¤ó¤³¤Ä »¶¹ü #T30 0 ¤µ¤ó¤´ »º¸å #T35 0 ¤µ¤ó¤´ »¹¸ê #T35 1 ¤µ¤ó¤´¤¦ »°¶¿ #CN 0 ¤µ¤ó¤´¤·¤ç¤¦ »¹¸ê¾Ì #T35 0 ¤µ¤ó¤µ¤¤ »³ºÚ #T35 1 ¤µ¤ó¤µ¤¯ »¶ºö #T30 3 ¤µ¤ó¤µ¤ó »¸¡¹ #F02 0 ¤µ¤ó¤¶¤¤ »¶ºß #T30 0 ¤µ¤ó¤¶¤¤ »¶ºâ #T30 0 ¤µ¤ó¤¶¤ó »¶¡¹ #T05 3 ¤µ¤ó¤· »½»å #T35 0 ¤µ¤ó¤· »º»Æ #T35 1 ¤µ¤ó¤·¤å¤¦ »²½¸ #T30 2 ¤µ¤ó¤·¤å¤Ä »º½Ð #T30 2 ¤µ¤ó¤·¤å¤Ä »»½Ð #T30 5 ¤µ¤ó¤·¤ç¤¦ »°¾§ #T30 0 ¤µ¤ó¤·¤ç¤¦ »²¾È #T30 255 ¤µ¤ó¤·¤ç¤¦¤¦¤ª òÉ #T35 1 ¤µ¤ó¤·¤ç¤¯ »½¿© #T30 0 ¤µ¤ó¤·¤ç¤¯ »°¿© #T35 1 ¤µ¤ó¤·¤ó »°¿¶ #T35 0 ¤µ¤ó¤¸ »°¼¡ #JNM 0 ¤µ¤ó¤¸ »¿¼­ #T30 1 ¤µ¤ó¤¸ »´»ö #T35 0 ¤µ¤ó¤¸ »º»ù #T35 0 ¤µ¤ó¤¸ »²»ö #T35 2 ¤µ¤ó¤¸¤å »±¼÷ #T35 0 ¤µ¤ó¤¸¤å¤Ä »»½Ñ #T35 4 ¤µ¤ó¤¸¤ç »¿½õ #T30 1 ¤µ¤ó¤¸¤ç¤¦ »°¾ò #JCN 0 ¤µ¤ó¤¸¤ç¤¦ »²¾å #T30 3 ¤µ¤ó¤¸¤ç¤¦ »³¾å #T35 1 ¤µ¤ó¤¸¤ç¤¦ »´¾õ #T35 1 ¤µ¤ó¤¸¤ç¤¯ »ºêó #T35 0 ¤µ¤ó¤¹¤¤ »µ¿å #T30 0 ¤µ¤ó¤¹¤¤ »¶¿å #T30 0 ¤µ¤ó¤¹¤¦ »»¿ô #T35 1 ¤µ¤ó¤»¤¤ »¿À® #T10 40 ¤µ¤ó¤»¤¤ »ºÀ¸ #T30 3 ¤µ¤ó¤»¤¤ »²À¯ #T35 0 ¤µ¤ó¤»¤¤ »ÀÀ­ #T35 1 ¤µ¤ó¤»¤¤¤É¤¦ »°¾ÊƲ #KK 1 ¤µ¤ó¤»¤­ »³ÀÑ #T30 1 ¤µ¤ó¤»¤ó »²Àï #T30 0 ¤µ¤ó¤»¤ó¤½¤¦¤â¤¯ »³ÀîÁðÌÚ #T35 0 ¤µ¤ó¤¼¤ó »¸Á³ #F02 2 ¤µ¤ó¤½ »ÀÁÇ #T35 1 ¤µ¤ó¤½¤¦ »³Áñ #T35 0 ¤µ¤ó¤½¤ó »³Â¼ #T35 0 ¤µ¤ó¤¾¤¯ »³Â± #T35 1 ¤µ¤ó¤¿¤¤ »»ÂÎ #T35 1 ¤µ¤ó¤¿¤¯¤í¡¼¤¹ ¥µ¥ó¥¿¥¯¥í¡¼¥¹ #JN 0 ¤µ¤ó¤¿¤ó »´ß¸ #T02 0 ¤µ¤ó¤¿¤ó »¿Ã² #T30 0 ¤µ¤ó¤À »°ÅÄ #JCN 0 ¤µ¤ó¤À¤Ä ÒÕÃ¥ #T30 0 ¤µ¤ó¤À¤ë ¥µ¥ó¥À¥ë #T35 0 ¤µ¤ó¤À¤ó »»ÃÊ #T30 1 ¤µ¤ó¤À¤ó »¶ÃÆ #T35 3 ¤µ¤ó¤À¤ó¤Ð¤é »°ÃÊÊ¢ #T15 0 ¤µ¤ó¤Á »³ÃÏ #T35 0 ¤µ¤ó¤Á »ºÃÏ #T35 1 ¤µ¤ó¤Á¤å¤¦ »³Ãæ #T35 1 ¤µ¤ó¤Á¤ç¤¦ »³Äº #T35 1 ¤µ¤ó¤Æ¤¤ »»Äê #T30 1 ¤µ¤ó¤Æ¤ó ¡Ä #T35 2 ¤µ¤ó¤È¤¦ »°Åç #JCN 0 ¤µ¤ó¤È¤¦ »³Åì #JCN 0 ¤µ¤ó¤È¤ê¡¼ ¥µ¥ó¥È¥ê¡¼ #KK 1 ¤µ¤ó¤É ¥µ¥ó¥É #T35 0 ¤µ¤ó¤É¤¤¤Ã¤Á ¥µ¥ó¥É¥¤¥Ã¥Á #T35 0 ¤µ¤ó¤É¤¦ »¿Æ± #T30 6 ¤µ¤ó¤É¤¦ »²Æ» #T35 6 ¤µ¤ó¤É¤¦¤£¤Ã¤Á ¥µ¥ó¥É¥¦¥£¥Ã¥Á #T35 0 ¤µ¤ó¤É¤¦¤¤¤Ã¤Á ¥µ¥ó¥É¥¦¥¤¥Ã¥Á #T35 0 ¤µ¤ó¤Ê¤¤ »³Æâ #CN 0 ¤µ¤ó¤Ê¤ó »³Æî #CN 0 ¤µ¤ó¤Ë¤å¤¦ »»Æþ #T30 0 ¤µ¤ó¤Ë¤å¤¦ »²Æþ #T30 1 ¤µ¤ó¤Ë¤ó »°¿Í #T35 8 ¤µ¤ó¤Ë¤ó¤·¤ç¤¦ »°¿Í¾Î #T35 0 ¤µ¤ó¤Î¤¦ »³²¦ #CN 0 ¤µ¤ó¤Î¤Ø »°¸Í #JCN 0 ¤µ¤ó¤Î¤ß¤ä »°¤ÎµÜ #CN 0 ¤µ¤ó¤Ï¤ó¤­¤«¤ó »°È¾µ¬´É #T35 0 ¤µ¤ó¤Ð »ºÇÌ #T35 1 ¤µ¤ó¤Ð¤· »·¶¶ #T35 1 ¤µ¤ó¤Ð¤ó »°ÈÖ #T35 3 ¤µ¤ó¤Ñ¤¤ »²ÇÒ #T30 0 ¤µ¤ó¤Ñ¤¤ »ºÇÑ #T35 0 ¤µ¤ó¤Ñ¤Ä »¶È± #T30 0 ¤µ¤ó¤Ñ¤Ä »¶È¯ #T30 1 ¤µ¤ó¤Ó »¿Èþ #T30 0 ¤µ¤ó¤Ô »¿ÈÝ #T35 2 ¤µ¤ó¤Õ¤¸¤ó¤« »ºÉØ¿Í²Ê #T35 1 ¤µ¤ó¤Õ¤é¤ó¤·¤¹¤³ ¥µ¥ó¥Õ¥é¥ó¥·¥¹¥³ #CN 0 ¤µ¤ó¤Ö »³Éð #JNS 0 ¤µ¤ó¤Ö¤Ä »ºÊª #T35 2 ¤µ¤ó¤Ö¤ó »°Ê¬ #T30 0 ¤µ¤ó¤Ö¤ó »¶Ê¸ #T35 0 ¤µ¤ó¤× »¶ÉÛ #T30 2 ¤µ¤ó¤× »ºÉØ #T35 0 ¤µ¤ó¤× »»Éè #T35 1 ¤µ¤ó¤×¤¯ »³Ê¢ #T35 0 ¤µ¤ó¤×¤ê¤ó¤° ¥µ¥ó¥×¥ê¥ó¥° #T30 13 ¤µ¤ó¤×¤ë ¥µ¥ó¥×¥ë #T35 58 ¤µ¤ó¤Ú¤¤ »°Ê¿ #JCN 0 ¤µ¤ó¤Ü¤¦ »²ËÅ #T35 0 ¤µ¤ó¤Ü¤¯ »³ËÌ #JNS 0 ¤µ¤ó¤Ü¤ó¤® »°ËÜÌÚ #JCN 0 ¤µ¤ó¤Ý »¶Êâ #T30 1 ¤µ¤ó¤Ý¤¦ »»Ë¡ #T35 10 ¤µ¤ó¤Þ¤¤¤¯¤í¤·¤¹¤Æ¤à¤º ¥µ¥ó¥Þ¥¤¥¯¥í¥·¥¹¥Æ¥à¥º #KK 1 ¤µ¤ó¤Þ¤ó »¶Ì¡ #T05 1 ¤µ¤ó¤ß »°°Ì #T35 0 ¤µ¤ó¤ß »ÀÌ£ #T35 0 ¤µ¤ó¤ß¤ã¤¯ »³Ì® #T35 1 ¤µ¤ó¤á¤ó¤í¤Ã¤Ô »°ÌÌÏ»ç¾ #T35 0 ¤µ¤ó¤â¤ó¤Ð¤ó »°Ê¸È½ #T35 0 ¤µ¤ó¤æ »ºÌý #T35 0 ¤µ¤ó¤è »²Í¿ #T30 0 ¤µ¤ó¤è¤¦ »³ÍÛ #CN 0 ¤µ¤ó¤è¤¦ »°ÍÎ #KK 1 ¤µ¤ó¤è¤¦ »»ÍÑ #T30 0 ¤µ¤ó¤è¤¦¤Á¤å¤¦ »°ÍÕÃî #T35 0 ¤µ¤ó¤é¤ó »ºÍñ #T30 0 ¤µ¤ó¤é¤ó »¶Íð #T30 4 ¤µ¤ó¤é¤ó¤±¤¤ »ºÍñ·Ü #T35 1 ¤µ¤ó¤ê¤¯ »°Î¦ #CN 0 ¤µ¤ó¤ê¤ó »³ÎÓ #T35 0 ¤µ¤ó¤ì¤Ä »²Îó #T30 1 ¤µ¤ó¤í¤¯ »³Ï¼ #T35 0 ¤µ¤ó¤ï »°Ï #JCN 0 ¤µ¤ó¤ï »°Ï #KK 1 ¤¶ ºÃ #KJ 1 ¤¶ ºÁ #KJ 3 ¤¶ ºÂ #T30 33 ¤¶¤¢¤¶¤¢ ¤¶¤¢¤¶¤¢ #F06 0 ¤¶¤¤ ºß #KJ 2 ¤¶¤¤ ºÞ #KJ 3 ¤¶¤¤ ºÞ #SUC 0 ¤¶¤¤ ºà #SUC 1 ¤¶¤¤ ºá #SUC 3 ¤¶¤¤ ºà #T35 0 ¤¶¤¤ ºá #T35 0 ¤¶¤¤ ºâ #T35 2 ¤¶¤¤¤¢¤¯ ºá°­ #T05 1 ¤¶¤¤¤¤ ºß°Ì #T30 0 ¤¶¤¤¤« ºâ²ß #T35 0 ¤¶¤¤¤«¤¤ ºâ³¦ #T35 1 ¤¶¤¤¤¬¤¤ ºß³° #T35 1 ¤¶¤¤¤¬¤¯ ºß³Ø #T30 1 ¤¶¤¤¤­¤ç¤¦ ºßµþ #T30 0 ¤¶¤¤¤­¤ó ºß¶Ð #T30 0 ¤¶¤¤¤±¤¤ ºâ·Á #T35 1 ¤¶¤¤¤±¤¤ ºâ·Ð #T35 1 ¤¶¤¤¤²¤ó ºâ¸» #T35 2 ¤¶¤¤¤³ ºß¸Ë #T35 7 ¤¶¤¤¤³¤¦ ºß¹» #T30 0 ¤¶¤¤¤µ¤ó ºâ»º #T35 3 ¤¶¤¤¤·¤Ä ºà¼Á #T35 0 ¤¶¤¤¤·¤ç ºß½ê #T35 0 ¤¶¤¤¤·¤ç¤¯ ºß¿¦ #T30 1 ¤¶¤¤¤¸¤å¤¦ ºß½» #T30 2 ¤¶¤¤¤¸¤ç¤¦ ºá¾õ #T35 0 ¤¶¤¤¤»¤¤ ºâÀ¯ #T35 2 ¤¶¤¤¤»¤­ ºßÀÒ #T30 0 ¤¶¤¤¤¿¤¯ ºßÂð #T30 3 ¤¶¤¤¤À¤ó ºâÃÄ #T35 1 ¤¶¤¤¤À¤ó¤Û¤¦¤¸¤ó ºâÃÄË¡¿Í #T35 2 ¤¶¤¤¤Ë¤Á ºßÆü #T30 0 ¤¶¤¤¤Ë¤ó ºßǤ #T30 0 ¤¶¤¤¤Ë¤ó ºá¿Í #T35 0 ¤¶¤¤¤Ð¤Ä ºâȶ #T35 0 ¤¶¤¤¤Û¤¦ ºâÊõ #T35 4 ¤¶¤¤¤à ºâ̳ #T35 1 ¤¶¤¤¤à¤·¤ç¤¦ ºâ̳¾Ê #KK 1 ¤¶¤¤¤â¤¯ ºàÌÚ #T35 1 ¤¶¤¤¤â¤¯¤ä ºàÌÚë #JNS 0 ¤¶¤¤¤é¤¤ ºßÍè #T35 1 ¤¶¤¤¤ê¤å¤¦ ºßα #T30 0 ¤¶¤¤¤ê¤ç¤¦ ºàÎÁ #T35 13 ¤¶¤¤¤ê¤ç¤¯ ºâÎÏ #T35 0 ¤¶¤ª¤¦ ¢²¦ #CN 0 ¤¶¤« ºä #CNSUC1 2 ¤¶¤­ ºê #T35 9 ¤¶¤¯¤í ¥¶¥¯¥í #T35 0 ¤¶¤¯¤í ÀÐÜØ #T35 0 ¤¶¤± ¼ò #T35 0 ¤¶¤³¤¦ ºÂ¹â #T35 0 ¤¶¤·¤­ ºÂÉß #T35 1 ¤¶¤·¤ç¤¦ ºÂ¾Ì #T30 0 ¤¶¤·¤ç¤¦ ºÃ½ý #T35 0 ¤¶¤»¤­ ºÂÀÊ #T35 8 ¤¶¤»¤Ä ºÃÀÞ #T30 2 ¤¶¤¼¤ó ºÁÁµ #T30 0 ¤¶¤¼¤ó ºÂÁµ #T30 0 ¤¶¤¾¤¦ ºÂÁü #T35 0 ¤¶¤¿ º»ÂÁ #T35 0 ¤¶¤À¤ó ºÂÃÌ #T30 1 ¤¶¤Á¤ç¤¦ ºÂĹ #T35 2 ¤¶¤Ã¤« »¨²ß #T35 0 ¤¶¤Ã¤­ »¨µ­ #T30 1 ¤¶¤Ã¤­¤ç »¨µï #T30 1 ¤¶¤Ã¤¯¤Ð¤é¤ó ¤¶¤Ã¤¯¤Ð¤é¤ó #T05 0 ¤¶¤Ã¤· »¨»ï #T35 27 ¤¶¤Ã¤·¤å »¨¼ï #T35 1 ¤¶¤Ã¤·¤ç¤¯ »¨¿© #T30 0 ¤¶¤Ã¤½¤¦ »¨Áð #T35 0 ¤¶¤Ã¤¿ »¨Â¿ #T05 2 ¤¶¤Ã¤È ¤¶¤Ã¤È #F14 3 ¤¶¤Ã¤È ¤¶¤Ã¤È #T36 0 ¤¶¤Ã¤È¤¦ »¨Æ§ #T30 0 ¤¶¤Ã¤Ñ¤¤ »¨ÇÐ #T35 0 ¤¶¤Ã¤Ñ¤¯ »¨Çý #T08 0 ¤¶¤Ã¤Ô »¨Èñ #T35 1 ¤¶¤Ã¤Ý¤¦ »¨Êó #T35 0 ¤¶¤Ä »¨ #T05 5 ¤¶¤Ä¤¨¤­ »¨±× #T35 0 ¤¶¤Ä¤ª¤ó »¨²» #T35 1 ¤¶¤Ä¤¬¤¯ »¨³Ø #T35 0 ¤¶¤Ä¤¸ »¨»ö #T35 1 ¤¶¤Ä¤¼¤ó »¨Á³ #F00 2 ¤¶¤Ä¤À¤ó »¨ÃÌ #T30 3 ¤¶¤Ä¤Í¤ó »¨Ç° #T35 1 ¤¶¤Ä¤Ö¤ó »¨Ê¸ #T35 0 ¤¶¤Ä¤à »¨Ì³ #T35 2 ¤¶¤Ä¤è¤¦ »¨ÍÑ #T35 11 ¤¶¤Ò¤ç¤¦ ºÂɸ #T35 43 ¤¶¤Ö¤È¤ó ºÂ³÷ÃÄ #T35 0 ¤¶¤Ö¤È¤ó ºÂÉÛÃÄ #T35 0 ¤¶¤Þ ÍÍ #D2T35 1 ¤¶¤Þ ºÂ´Ö #JCN 0 ¤¶¤Þ ¤¶¤Þ #T35 0 ¤¶¤Þ¤ß ºÂ´Ö¸« #JNS 0 ¤¶¤ä¤¯ ºÂÌô #T35 0 ¤¶¤æ¤¦ ºÂ±¦ #T35 1 ¤¶¤é ¤¶¤é #T05 0 ¤¶¤é »® #T35 0 ¤¶¤ï Âô #KJ 0 ¤¶¤ï¤á ¤¶¤ï¤á #K5r 3 ¤¶¤ó »³ #CNSUC1 10 ¤¶¤ó »´ #KJ 0 ¤¶¤ó »Ã #KJ 0 ¤¶¤ó »Â #KJ 1 ¤¶¤ó »» #SUC 0 ¤¶¤ó »Ä #T35 19 ¤¶¤ó¤¬¤¤ »Ä³¼ #T35 2 ¤¶¤ó¤¬¤¯ »Ä³Û #T35 0 ¤¶¤ó¤­ »Ä´ð #T35 1 ¤¶¤ó¤­¤ç¤¦ »Ä¶Á #T35 0 ¤¶¤ó¤­¤ó »Ä¶â #T35 1 ¤¶¤ó¤®¤ã¤¯ »ÄµÔ #T05 0 ¤¶¤ó¤®¤ç¤¦ »Ä¶È #T30 29 ¤¶¤ó¤² Øò²ù #T30 0 ¤¶¤ó¤²¤ó 쩸À #T30 0 ¤¶¤ó¤³¤¯ »Ä¹ó #T05 2 ¤¶¤ó¤´¤¦ ÔϹè #T35 0 ¤¶¤ó¤µ¤¤ »ÄÞè #T35 0 ¤¶¤ó¤µ¤Ä »´»¦ #T30 0 ¤¶¤ó¤· »ÄÞè #T35 0 ¤¶¤ó¤·¤ç »Ä½ë #T35 3 ¤¶¤ó¤·¤ç¤¦ »Ä¾È #T35 0 ¤¶¤ó¤·¤ó »Â¿· #T05 0 ¤¶¤ó¤¸ »Ã»þ #T35 0 ¤¶¤ó¤»¤Ä »ÄÀã #T35 0 ¤¶¤ó¤½¤ó »Ä¸ #T30 2 ¤¶¤ó¤¾¤¦ »ÄÁü #T35 0 ¤¶¤ó¤¾¤ó »Ä¸ #T30 2 ¤¶¤ó¤À¤« »Ä¹â #T35 17 ¤¶¤ó¤Æ¤¤ »ÃÄê #T30 6 ¤¶¤ó¤Ë¤ó »ÄǦ #T05 0 ¤¶¤ó¤Í¤ó »Äǰ #T05 87 ¤¶¤ó¤Ñ¤¤ »´ÇÔ #T30 0 ¤¶¤ó¤Ñ¤ó »ÄÈÓ #T35 0 ¤¶¤ó¤Ô¤ó »ÄÉÊ #T35 0 ¤¶¤ó¤Ö »ÄÉô #T35 0 ¤¶¤ó¤Ü¤¦ ì©ëî #T30 0 ¤¶¤ó¤Þ¤¤ »°Ëæ #T15 2 ¤¶¤ó¤à »Ä̳ #T35 0 ¤¶¤ó¤è »Ä; #T35 0 ¤¶¤ó¤ê¤å¤¦ »Äα #T30 1 ¤· »Ë #CNSUC1 0 ¤· »Ô #CNSUC1 242 ¤· »á #JNSUC 80 ¤· »æ #JS 0 ¤· »ï #JS 0 ¤· ¤· #K5 37 ¤· Éß #K5 7 ¤· µÀ #KJ 0 ¤· º¡ #KJ 0 ¤· ºü #KJ 0 ¤· »Æ #KJ 0 ¤· »Ç #KJ 0 ¤· »É #KJ 0 ¤· »Ð #KJ 0 ¤· »Ñ #KJ 0 ¤· »Ó #KJ 0 ¤· »× #KJ 0 ¤· »Ø #KJ 0 ¤· »Ú #KJ 0 ¤· »Ü #KJ 0 ¤· »Ý #KJ 0 ¤· »Þ #KJ 0 ¤· »ß #KJ 0 ¤· »â #KJ 0 ¤· »ã #KJ 0 ¤· »å #KJ 0 ¤· »é #KJ 0 ¤· »ë #KJ 0 ¤· »ð #KJ 0 ¤· »ò #KJ 0 ¤· »ó #KJ 0 ¤· »ô #KJ 0 ¤· »õ #KJ 0 ¤· ¼¡ #KJ 0 ¤· ¼¨ #KJ 0 ¤· ¼« #KJ 0 ¤· ¼Å #KJ 0 ¤· ¼Æ #KJ 0 ¤· ¼Ç #KJ 0 ¤· ¿Ú #KJ 0 ¤· ÃÐ #KJ 0 ¤· ÅÖ #KJ 0 ¤· Ç· #KJ 0 ¤· ÇÁ #KJ 0 ¤· ɦ #KJ 0 ¤· Ìð #KJ 0 ¤· »Ë #KJ 1 ¤· »Ì #KJ 1 ¤· »Ù #KJ 1 ¤· »Û #KJ 1 ¤· »ä #KJ 1 ¤· »è #KJ 1 ¤· »ï #KJ 1 ¤· »Å #KJ 2 ¤· »È #KJ 2 ¤· »Ê #KJ 2 ¤· »ì #KJ 23 ¤· »Ï #KJ 3 ¤· »ç #KJ 3 ¤· »î #KJ 3 ¤· »Ò #KJ 4 ¤· »æ #KJ 8 ¤· Åà #M5 0 ¤· À÷ #M5 25 ¤· »ë #N2T30 0 ¤· »à #N5 95 ¤· »Í #NN 10 ¤· ÃÎ #R5 255 ¤· ¤· #R5 70 ¤· »ñ #S5 1 ¤· »Ë #SUC 0 ¤· »Î #SUC 0 ¤· »Õ #SUC 0 ¤· »Þ #SUC 0 ¤· »ì #SUC 0 ¤· »ï #SUC 0 ¤· »Ò #SUC 61 ¤· »à #SX 0 ¤· »ñ #T30 1 ¤· »ê #T35 1 ¤· »í #T35 1 ¤· ̦ #T35 1 ¤· »Ö #T35 12 ¤· »á #T35 143 ¤· »Ô #T35 2 ¤· »Õ #T35 3 ¤· »à #T35 59 ¤· »Î #T35 7 ¤· ¤· #sxi 255 ¤·¡¼¤¯ ¥·¡¼¥¯ #T30 2 ¤·¡¼¤¯¤§¤ó¤¹ ¥·¡¼¥¯¥§¥ó¥¹ #T35 1 ¤·¡¼¤±¤ó¤µ ¥·¡¼¥±¥ó¥µ #T35 23 ¤·¡¼¤±¤ó¤µ¡¼ ¥·¡¼¥±¥ó¥µ¡¼ #T35 23 ¤·¡¼¤±¤ó¤·¤ã¤ë ¥·¡¼¥±¥ó¥·¥ã¥ë #T05 1 ¤·¡¼¤±¤ó¤¹ ¥·¡¼¥±¥ó¥¹ #T35 31 ¤·¡¼¤º¤ó ¥·¡¼¥º¥ó #T35 3 ¤·¡¼¤¿ ¦¨ #T35 1 ¤·¡¼¤¿ ¦È #T35 2 ¤·¡¼¤È ¥·¡¼¥È #T35 17 ¤·¡¼¤È¤Õ¤£¡¼¤À ¥·¡¼¥È¥Õ¥£¡¼¥À #T35 1 ¤·¡¼¤È¤Õ¤£¡¼¤À¡¼ ¥·¡¼¥È¥Õ¥£¡¼¥À¡¼ #T35 1 ¤·¡¼¤É ¥·¡¼¥É #T30 1 ¤·¡¼¤Õ¡¼¤É ¥·¡¼¥Õ¡¼¥É #T35 0 ¤·¡¼¤Þ ¥·¡¼¥Þ #KK 1 ¤·¡¼¤ë¤É ¥·¡¼¥ë¥É #T30 3 ¤·¡¼¤ó ¥·¡¼¥ó #T35 13 ¤·¤¢¤¤ »î¹ç #T30 6 ¤·¤¢¤¬ »Å¾å¤¬ #R5r 2 ¤·¤¢¤¬ »Å¾å #R5r 3 ¤·¤¢¤² »Å¾å¤² #KSr 4 ¤·¤¢¤¿¡¼ ¥·¥¢¥¿¡¼ #T35 1 ¤·¤¢¤ï¤» ¹¬¤» #T05 12 ¤·¤¢¤ï¤» ¤·¤¢¤ï¤» #T05 2 ¤·¤¢¤ó »×°Æ #T30 1 ¤·¤¢¤ó ¥·¥¢¥ó #T35 1 ¤·¤¢¤ó »ä°Æ #T35 3 ¤·¤¤ ¶¯¤¤ #KS 35 ¤·¤¤ »×°Ô #T30 0 ¤·¤¤ »Í°Ï #T35 0 ¤·¤¤ ¤·¤¤ #T35 1 ¤·¤¤ »ä°Õ #T35 1 ¤·¤¤ ×ó°Õ #T35 1 ¤·¤¤ ÄÇ #T35 3 ¤·¤¤¤« »í²Î #T35 1 ¤·¤¤¤¯ »ô°é #T30 0 ¤·¤¤¤¿¤± ÄÇÂû #T35 0 ¤·¤¤¤¿¤² µÔ¤² #KS 0 ¤·¤¤¤À ÄÇÅÄ #JNS 0 ¤·¤¤¤Ê ÄÇ̾ #JCN 0 ¤·¤¤¤Î ÄÇÌî #JNS 0 ¤·¤¤¤Ð ÄÇÍÕ #JCN 0 ¤·¤¤¤ì »ÅÆþ¤ì #KSr 7 ¤·¤¤¤ó »î°û #T30 0 ¤·¤¤¤ó »à°ø #T35 0 ¤·¤¤¤ó »Ò²» #T35 5 ¤·¤¦¤Á »ÅÂÇ #T35 1 ¤·¤¦¤é »Ô±º #JCN 0 ¤·¤¦¤ó¤¸ »ç±À»û #CN 0 ¤·¤¦¤ó¤Æ¤ó »î±¿Å¾ #T30 0 ¤·¤§¡¼¤Ç¤£¤ó¤° ¥·¥§¡¼¥Ç¥£¥ó¥° #T30 2 ¤·¤§¡¼¤Ð ¥·¥§¡¼¥Ð #T35 0 ¤·¤§¡¼¤Ð¡¼ ¥·¥§¡¼¥Ð¡¼ #T35 0 ¤·¤§¤¢ ¥·¥§¥¢ #T35 4 ¤·¤§¤¢¤ê¤ó¤° ¥·¥§¥¢¥ê¥ó¥° #T30 1 ¤·¤§¤Ñ¡¼¤É ¥·¥§¥Ñ¡¼¥É #T35 1 ¤·¤§¤ë ¥·¥§¥ë #T35 108 ¤·¤§¤ë¤¿ ¥·¥§¥ë¥¿ #T35 0 ¤·¤§¤ë¤¿¡¼ ¥·¥§¥ë¥¿¡¼ #T35 0 ¤·¤¨¤¤ »Ô±Ä #T35 0 ¤·¤¨¤¤ »ä±Ä #T35 0 ¤·¤¨¤­ »ÈÌò #T30 0 ¤·¤¨¤­ »ä±× #T35 0 ¤·¤¨¤ó »Ù±ç #T30 91 ¤·¤¨¤ó »ä±å #T35 0 ¤·¤¨¤ó »ç±ì #T35 0 ¤·¤ª »Öͺ #JCN 0 ¤·¤ª »ËÀ¸ #JNM 0 ¤·¤ª ¼® #T35 0 ¤·¤ª ±ö #T35 10 ¤·¤ª Ĭ #T35 3 ¤·¤ª¤«¤é ±ö¿É #KYmi 0 ¤·¤ª¤«¤é ±ö¿É #T35 0 ¤·¤ª¤«¤ï ±öÀî #JCN 0 ¤·¤ª¤¬¤Þ ±ö³ö #JCN 0 ¤·¤ª¤¬¤Þ ±ö³ø #JCN 0 ¤·¤ª¤¯¤ê »ÅÁ÷¤ê #T30 0 ¤·¤ª¤± ±öµ¤ #T35 0 ¤·¤ª¤¶¤ï ±öÂô #JCN 0 ¤·¤ª¤¸¤ê ±ö¿¬ #JCN 0 ¤·¤ª¤¿ ±öÅÄ #JCN 0 ¤·¤ª¤À ±öÅÄ #JCN 0 ¤·¤ª¤Å¤± ±öÄÒ¤± #T30 0 ¤·¤ª¤É¤á ¼®Î± #CN 0 ¤·¤ª¤Î ±öÌî #JCN 0 ¤·¤ª¤Î¤¨ ±ö¹¾ #JCN 0 ¤·¤ª¤Ï¤Þ ±öÉÍ #JCN 0 ¤·¤ª¤Ð¤é ±ö¸¶ #JCN 0 ¤·¤ª¤Ò¤¬¤ê Ĭ´³¼í #T35 1 ¤·¤ª¤ß ±ö¸« #JCN 0 ¤·¤ª¤ß¤º ±ö¿å #T35 0 ¤·¤ª¤â¤È ±öËÜ #JNS 0 ¤·¤ª¤ä ±ö²° #JCN 0 ¤·¤ª¤ä ±öë #JCN 0 ¤·¤ª¤ä¤­ ±ö¾Æ #T30 0 ¤·¤ª¤ê ÛÙ #T35 2 ¤·¤ª¤ó »ç±ñ #T35 2 ¤·¤« »Ö²ì #JCN 0 ¤·¤« ¤·¤« #R5 1 ¤·¤« ¼¸ #R5 19 ¤·¤« »Ô²Á #T35 0 ¤·¤« ¼¯ #T35 2 ¤·¤« »õ²Ê #T35 8 ¤·¤«¤¤ »Ê²ñ #T30 8 ¤·¤«¤¤ »Ô²ñ #T35 0 ¤·¤«¤¤ »õ²Ê°å #T35 0 ¤·¤«¤¤ »ë³¦ #T35 2 ¤·¤«¤¨¤· »ÅÊÖ¤· #T30 2 ¤·¤«¤ª¤¤ ¼¯ÄÉ #JCN 0 ¤·¤«¤¯ »Í³Ñ #KYmi 16 ¤·¤«¤¯ »Í³Ñ #T05 18 ¤·¤«¤¯ »à³Ñ #T35 0 ¤·¤«¤¯ ¢¢ #T35 180 ¤·¤«¤¯ »ë³Ð #T35 19 ¤·¤«¤¯ »ñ³Ê #T35 26 ¤·¤«¤¯ ¢£ #T35 42 ¤·¤«¤¯¤¦ »Í³Ñ¤¦ #KYU 2 ¤·¤«¤¯¤« »ë³Ð²½ #T30 0 ¤·¤«¤± »Å³Ý¤± #KSr 13 ¤·¤«¤± »Å³Ý #T35 0 ¤·¤«¤· ¤·¤«¤· #CJ 100 ¤·¤«¤·¤Ê¤¬¤é ¤·¤«¤·¤Ê¤¬¤é #CJ 11 ¤·¤«¤¿ »ÅÊý #T35 64 ¤·¤«¤Ã¤±¤¤ »Í³Ñ·Á #T35 3 ¤·¤«¤Ä »Õ¾¡ #JCN 0 ¤·¤«¤Î ¼¯Ìî #JCN 0 ¤·¤«¤Ð¤Í »Ó #T35 0 ¤·¤«¤Ù ¼¯Éô #JCN 0 ¤·¤«¤Þ ¾þËá #JCN 0 ¤·¤«¤Þ ¿§Ëã #JNS 0 ¤·¤«¤Þ¤Á ¼¯Ä® #CN 0 ¤·¤«¤ß ¼¤¸« #JNS 0 ¤·¤«¤â ¤·¤«¤â #CJ 32 ¤·¤«¤é¤Ð ¤·¤«¤é¤Ð #CJ 0 ¤·¤«¤ê Á³¤ê #T35 0 ¤·¤«¤ê¤Ä¤± ¼¸¤ê¤Ä¤± #KS 0 ¤·¤«¤ë¤Ù¤­ Á³¤ë¤Ù¤­ #RT 2 ¤·¤«¤ó »Å´± #T30 0 ¤·¤«¤ó ÃÐ´Ë #T30 0 ¤·¤«¤ó »Î´± #T35 0 ¤·¤«¤ó »Î´Ø #T35 2 ¤·¤¬ »Í²ì #JCN 0 ¤·¤¬ »Ö²ì #JCN 0 ¤·¤¬ ¼¢²ì #JCN 0 ¤·¤¬¤¤ »à³¼ #T35 0 ¤·¤¬¤¤ »Ô³° #T35 1 ¤·¤¬¤¤ »Ô³¹ #T35 5 ¤·¤¬¤¤¤»¤ó »ç³°Àþ #T35 1 ¤·¤¬¤¯ »Ë³Ø #T35 0 ¤·¤¬¤¯ »Ö³Ø #T35 0 ¤·¤¬¤¯ »ä³Ø #T35 0 ¤·¤¬¤¯ »õ³Ø #T35 0 ¤·¤¬¤±¤ó ¼¢²ì¸© #CNS 0 ¤·¤¬¤³¤¦¤²¤ó »Ö²ì¹â¸¶ #CN 0 ¤·¤¬¤é¤­ ¿®³Ú #JCN 0 ¤·¤¬¤é¤ß ¤·¤¬¤é¤ß #T35 1 ¤·¤¬¤ó »Ö´ê #T30 1 ¤·¤­ °ë¾ë #JCN 0 ¤·¤­ »ÖÌÚ #JCN 0 ¤·¤­ ¼° #JS 2 ¤·¤­ ¼± #KJ 0 ¤·¤­ ¿¥ #KJ 0 ¤·¤­ Éß #KJ 0 ¤·¤­ Êß #KJ 0 ¤·¤­ ¿§ #KJ 2 ¤·¤­ »Ëµ­ #KK 0 ¤·¤­ »ÅÀÚ #R5r 6 ¤·¤­ ¼° #SUC 0 ¤·¤­ »Ø´ø #T30 25 ¤·¤­ »Ï´ü #T35 1 ¤·¤­ »à´ü #T35 1 ¤·¤­ »Íµ¨ #T35 2 ¤·¤­ ¼° #T35 32 ¤·¤­¤¤ Éßµï #T35 0 ¤·¤­¤¤¤­ ¼±ïç #T35 0 ¤·¤­¤¤¤Á ïçÃÍ #T35 4 ¤·¤­¤­¤ó Éß¶â #T35 0 ¤·¤­¤µ¤¤ ¿§ºÌ #T35 1 ¤·¤­¤· ¿§»æ #T35 3 ¤·¤­¤·¤Þ ÉßÅç #JCN 0 ¤·¤­¤·¤ã ¼±¼Ô #T35 1 ¤·¤­¤·¤ã »Ø´ø¼Ô #T35 0 ¤·¤­¤¸ ¼°¼­ #T35 0 ¤·¤­¤¸¤ç¤¦ ¼°¾ì #T35 1 ¤·¤­¤½ ¿§ÁÇ #T35 0 ¤·¤­¤½¤¦ ¿§Áê #T35 0 ¤·¤­¤À ÉßÅÄ #JNS 0 ¤·¤­¤Á ÉßÃÏ #T35 0 ¤·¤­¤Á¤ç¤¦ ¿§Ä´ #T35 1 ¤·¤­¤Ä¤á Éߤ­µÍ¤á #KS 1 ¤·¤­¤Æ¤ó ¼°Åµ #T35 0 ¤·¤­¤Õ ÉßÉÛ #T35 0 ¤·¤­¤Ö ¼°Éô #T35 2 ¤·¤­¤Ù¤Ä ¼±ÊÌ #T30 34 ¤·¤­¤Ù¤Ä¤· ¼±ÊÌ»Ò #T35 27 ¤·¤­¤â¤¦ ¿§ÌÕ #T35 0 ¤·¤­¤å¤¦ »êµÞ #T05 19 ¤·¤­¤å¤¦ »Ùµë #T30 8 ¤·¤­¤å¤¦ »ÒµÜ #T35 1 ¤·¤­¤å¤¦¤«¤¯ »ÒµÜ³Ñ #T35 1 ¤·¤­¤ç »àµî #T30 0 ¤·¤­¤ç¤¦ »Ô¶· #T35 0 ¤·¤­¤ç¤¯ »Ù¶É #T35 0 ¤·¤­¤ê »ÅÀÚ¤ê #T35 0 ¤·¤­¤ê¤Ë ¤·¤­¤ê¤Ë #F14 0 ¤·¤­¤ó »ê¶á #T35 0 ¤·¤­¤ó »ñ¶â #T35 2 ¤·¤­¤ó¤°¤ê »ñ¶â·«¤ê #T30 1 ¤·¤® ¿®µ® #JCN 0 ¤·¤® »ÔµÄ #T35 0 ¤·¤® ¼² #T35 0 ¤·¤® »Åµ· #T35 1 ¤·¤®¤ã¤¯ ÓÏµÔ #T35 0 ¤·¤®¤ç¤¦ »Ï¶È #T30 5 ¤·¤®¤ó »í¶ã #T35 0 ¤·¤¯ »ÅÁÈ #M5r 14 ¤·¤¯ »Ô¶è #T35 0 ¤·¤¯¤·¤¯ ¤·¤¯¤·¤¯ #F14 2 ¤·¤¯¤Ï¤Ã¤¯ »Í¶ìȬ¶ì #T30 1 ¤·¤°¤µ »ÅÁð #T35 0 ¤·¤°¤µ ¤·¤°¤µ #T35 1 ¤·¤°¤Ê¤ë ¥·¥°¥Ê¥ë #T35 18 ¤·¤°¤Þ ¦Ò #T35 1 ¤·¤°¤Þ ¦² #T35 87 ¤·¤°¤ì »þ±« #T35 1 ¤·¤±¤¤ »à·º #T35 0 ¤·¤±¤¤ »õ·Ô #T35 0 ¤·¤±¤¤ »ä·º #T35 0 ¤·¤±¤Ä »ß·ì #T30 0 ¤·¤±¤ó »î¸³ #T30 55 ¤·¤±¤ó »ä¸« #T35 2 ¤·¤±¤ó¤«¤ó »î¸³´É #T35 0 ¤·¤±¤ó¤¸¤ç¤¦ »î¸³¾ì #T35 0 ¤·¤² ÈË #KJ 0 ¤·¤² ½Å #KJ 4 ¤·¤² ÌÐ #KJ 5 ¤·¤² ÈË #R5 1 ¤·¤² ¤·¤² #R5 2 ¤·¤² ÌÐ #R5 2 ¤·¤²¤ª ½ÅÃË #JNM 0 ¤·¤²¤ª ½ÅÉ× #JNM 0 ¤·¤²¤ª ½Åͺ #JNM 0 ¤·¤²¤ª ÈËÃË #JNM 0 ¤·¤²¤ª ÈËÉ× #JNM 0 ¤·¤²¤ª ÈËͺ #JNM 0 ¤·¤²¤ª ÌÐÃË #JNM 0 ¤·¤²¤ª ÌÐÉ× #JNM 0 ¤·¤²¤ª ÌÐͺ #JNM 0 ¤·¤²¤«¤º ½Å°ì #JNM 0 ¤·¤²¤­ ½Å¼ù #JNM 0 ¤·¤²¤­ Ìмù #JNM 0 ¤·¤²¤­ »É·ã #T30 3 ¤·¤²¤³ ¥·¥²»Ò #JNM 0 ¤·¤²¤³ ÌÐ»Ò #JNM 0 ¤·¤²¤· ÌÐ»Ö #JNS 0 ¤·¤²¤·¤² ¤·¤²¤·¤² #F06 0 ¤·¤²¤¿ ½ÅÅÄ #JNS 0 ¤·¤²¤Î¤Ö ½Å¿® #JCN 0 ¤·¤²¤Ï¤ë ½Å¼£ #JNM 0 ¤·¤²¤Ò¤³ ½Åɧ #JNM 0 ¤·¤²¤Þ¤Ä ½Å¾¾ #JN 0 ¤·¤²¤ß ÌÐ¤ß #T30 0 ¤·¤²¤ß¤Ä ½Å¸÷ #JNM 0 ¤·¤²¤æ¤­ ½Å¹Ô #JNM 0 ¤·¤²¤æ¤­ ÌÐ¹Ô #JNM 0 ¤·¤²¤è¤· ½ÅµÁ #JNM 0 ¤·¤²¤ë ¼¢ #JNM 0 ¤·¤²¤ë ÈË #JNM 0 ¤·¤²¤ë ÌÐ #JNM 0 ¤·¤²¤ó »ñ¸» #T35 38 ¤·¤²¤ó »ê¸À #T35 52 ¤·¤³ »Å¹þ #M5r 2 ¤·¤³¤¦ »ê¹â #T05 1 ¤·¤³¤¦ »Ö¸þ #T30 1 ¤·¤³¤¦ »×¹Í #T30 123 ¤·¤³¤¦ »î¹Ô #T30 29 ¤·¤³¤¦ ÓϹ¥ #T30 4 ¤·¤³¤¦ »Ü¹Ô #T30 6 ¤·¤³¤¦ »Ø¸þ #T30 63 ¤·¤³¤¯ »Í¹ñ #CN 0 ¤·¤³¤¿¤ó ¿§Ã° #CN 0 ¤·¤³¤ó »õº¬ #T35 0 ¤·¤³¤ó »çº° #T35 2 ¤·¤´ °· #K5r 0 ¤·¤´ ¤·¤´ #K5r 1 ¤·¤´ »ä¸ì #T30 0 ¤·¤´ »à¸å #T35 16 ¤·¤´¤¦ »ç¹ç #JNS 0 ¤·¤´¤¯ ¤·¤´¤¯ #F14 1 ¤·¤´¤¯ »ê¶Ë #F14 1 ¤·¤´¤È »Å»ö #T30 231 ¤·¤µ ¼¨º¶ #T30 6 ¤·¤µ¤¤ »ÒºÙ #T05 1 ¤·¤µ¤¤ »Êº× #T35 0 ¤·¤µ¤¯ »×º÷ #T30 1 ¤·¤µ¤¯ »Üºö #T30 1 ¤·¤µ¤¯ »îºî #T30 11 ¤·¤µ¤Ä »É»¦ #T30 0 ¤·¤µ¤Ä »ë»¡ #T30 1 ¤·¤µ¤ó »Í»¶ #T30 0 ¤·¤µ¤ó »î»» #T30 1 ¤·¤µ¤ó »ñ»º #T35 11 ¤·¤¶¤¤ »äºâ #T35 0 ¤·¤¶¤¤ »ñºà #T35 1 ¤·¤· ¼µ #KJ 0 ¤·¤· »Í»è #T35 0 ¤·¤· »â»Ò #T35 2 ¤·¤·¤¯¤¤ ¼µ¶ô #CN 0 ¤·¤·¤Ä »Ù¼Á #T35 1 ¤·¤·¤Ä »ñ¼Á #T35 1 ¤·¤·¤É ¼µ¸Í #JNS 0 ¤·¤·¤Þ¤¤ »â»ÒÉñ #T35 0 ¤·¤·¤ã »î¼Í #T30 0 ¤·¤·¤ã »î¼Ì #T30 1 ¤·¤·¤ã »È¼Ô #T35 1 ¤·¤·¤ã »à¼Ô #T35 1 ¤·¤·¤ã »Ù¼Ò #T35 16 ¤·¤·¤ã¤¯ »Ò¼ß #T35 1 ¤·¤·¤ã¤´¤Ë¤å¤¦ »Í¼Î¸ÞÆþ #T30 2 ¤·¤·¤ã¤Á¤ç¤¦ »Ù¼ÒĹ #T35 0 ¤·¤·¤å »à¼é #T30 0 ¤·¤·¤å¤¦ »É½« #T30 0 ¤·¤·¤å¤¦ »Ó½­ #T35 0 ¤·¤·¤å¤¦ »í½¸ #T35 0 ¤·¤·¤å¤¦¤­ »×½©´ü #T35 1 ¤·¤·¤å¤Ä »Ù½Ð #T30 7 ¤·¤·¤å¤ó¤­ »×½Õ´ü #T35 1 ¤·¤·¤ç »Ê½ñ #T35 0 ¤·¤·¤ç »Ù½ð #T35 0 ¤·¤·¤ç »Ù½ê #T35 1 ¤·¤·¤ç¤¦ »à½ý #T30 1 ¤·¤·¤ç¤¦ »É½ý #T35 0 ¤·¤·¤ç¤¦ »Õ¾¢ #T35 2 ¤·¤·¤ç¤¦ »Ù¾ã #T35 7 ¤·¤·¤ç¤¯ »î¿© #T30 1 ¤·¤·¤ç¤Ð¤³ »ä½ñÈ¢ #T35 0 ¤·¤·¤ó »ë¿Ç #T30 0 ¤·¤·¤ó »ä¿´ #T35 0 ¤·¤·¤ó »Ø¿Ë #T35 5 ¤·¤·¤ó »ä¿® #T35 8 ¤·¤¸ »Õ»ö #T30 0 ¤·¤¸ »Ù»ý #T30 6 ¤·¤¸ »Ø¼¨ #T30 65 ¤·¤¸ »ä»ö #T35 53 ¤·¤¸¤ß éä #T35 1 ¤·¤¸¤å¤¦ »Í½Å #T35 1 ¤·¤¸¤å¤¦ »Ï½ª #T35 1 ¤·¤¸¤å¤¦¤«¤é ¥·¥¸¥å¥¦¥«¥é #T35 0 ¤·¤¸¤å¤¦¤«¤é »Í½½¿ý #T35 0 ¤·¤¸¤å¤¦¤½¤¦ »Í½ÅÁÕ #T35 1 ¤·¤¸¤å¤¯ »ä½Î #T35 0 ¤·¤¸¤å¤ó ¼¨½à #T35 0 ¤·¤¸¤ç »Ò½÷ #T35 0 ¤·¤¸¤ç¤¦ »Í¾ò #JCN 0 ¤·¤¸¤ç¤¦ »î¾è #T30 0 ¤·¤¸¤ç¤¦ »ä¾ð #T35 0 ¤·¤¸¤ç¤¦ »æ¾å #T35 0 ¤·¤¸¤ç¤¦ »ê¾å #T35 0 ¤·¤¸¤ç¤¦ »ï¾å #T35 0 ¤·¤¸¤ç¤¦ »Ë¾å #T35 1 ¤·¤¸¤ç¤¦ »Ô¾ì #T35 6 ¤·¤¸¤ç¤¦¤Ê¤ï¤Æ »ÍÛêÆí #CN 0 ¤·¤¸¤ó »í¿Í #T35 1 ¤·¤¹¤¤ ¼ò¡¹°æ #CN 0 ¤·¤¹¤¤ Ýù¿å #JCN 0 ¤·¤¹¤¦ »Ø¿ô #T35 4 ¤·¤¹¤Æ¤¤¤ó ¥·¥¹¥Æ¥¤¥ó #T35 1 ¤·¤¹¤Æ¤Þ¤Æ¤£¤Ã¤¯ ¥·¥¹¥Æ¥Þ¥Æ¥£¥Ã¥¯ #T05 0 ¤·¤¹¤Æ¤à ¥·¥¹¥Æ¥à #T35 255 ¤·¤¹¤Æ¤à¤º ¥·¥¹¥Æ¥à¥º #T35 6 ¤·¤¹¤È¤ê¤Ã¤¯ ¥·¥¹¥È¥ê¥Ã¥¯ #T05 1 ¤·¤º ÀÅ #JNM 0 ¤·¤º ÄÀ #M5 1 ¤·¤º¤¨ Àʾ #JNM 0 ¤·¤º¤¨ ÀÅ»Þ #JNM 0 ¤·¤º¤ª ÀÅÃË #JNM 0 ¤·¤º¤ª ÀÅÉ× #JNM 0 ¤·¤º¤ª ÀÅͺ #JNM 0 ¤·¤º¤ª¤« ÀŲ¬ #JCN 0 ¤·¤º¤ª¤«¤±¤ó ÀŲ¬¸© #CNS 0 ¤·¤º¤ª¤«¤· ÀŲ¬»Ô #CNS 0 ¤·¤º¤« ÀÅ #JNM 0 ¤·¤º¤« ÀŹá #JNM 0 ¤·¤º¤« ÀŤ« #T05 4 ¤·¤º¤¬¤ï »ÖÄÅÀî #JCN 0 ¤·¤º¤¯ ¼¶ #T35 0 ¤·¤º¤¯ Å© #T35 0 ¤·¤º¤¯¤¤¤· ¼¶ÀÐ #JCN 0 ¤·¤º¤±¤µ ÀŤ±¤µ #T35 1 ¤·¤º¤³ ÀÅ»Ò #JNM 0 ¤·¤º¤Ê¤¤ ÀÅÆâ #CN 0 ¤·¤º¤Þ ÀÅ¤Þ #R5r 0 ¤·¤º¤Þ ÄÃ¤Þ #R5r 0 ¤·¤º¤Þ¤ê¤«¤¨ ÀŤޤ꤫¤¨ #R5 0 ¤·¤º¤Þ¤ê¤«¤¨ ÀŤޤêÊÖ #R5 0 ¤·¤º¤á ÄÀ¤á #KS 0 ¤·¤º¤á ÀŤá #KSr 0 ¤·¤º¤á Ääá #KSr 1 ¤·¤»¤¤ »ÍÀ¼ #T35 0 ¤·¤»¤¤ »ÜÀ¯ #T30 0 ¤·¤»¤¤ »Ô°æ #T35 0 ¤·¤»¤¤ »ÔÀ© #T35 0 ¤·¤»¤¤ »ÔÀ¯ #T35 0 ¤·¤»¤¤ »äÀ½ #T35 0 ¤·¤»¤¤ »óÀ­ #T35 1 ¤·¤»¤¤ »ÑÀª #T35 4 ¤·¤»¤¤¤«¤Ä »äÀ¸³è #T35 1 ¤·¤»¤¤¤«¤ó »àÀ¸´Ñ #T35 0 ¤·¤»¤¤¤¸ »äÀ¸»ù #T35 0 ¤·¤»¤­ »ËÀ× #T35 0 ¤·¤»¤­ »õÀÐ #T35 0 ¤·¤»¤Ä »ÜÀß #T30 3 ¤·¤»¤Ä »ÈÀá #T35 0 ¤·¤»¤Ä »äÀß #T35 0 ¤·¤»¤ë »à¤»¤ë #RT 0 ¤·¤»¤ó »ÍÀî #CN 0 ¤·¤»¤ó »ÙÀþ #T35 0 ¤·¤»¤ó »àÀþ #T35 0 ¤·¤»¤ó »ëÀþ #T35 2 ¤·¤¼¤ó ¼«Á³ #T05 39 ¤·¤¼¤ó¤«¤¤ ¼«Á³³¦ #T35 0 ¤·¤½ »çÁÉ #T35 0 ¤·¤½¡¼¤é¤¹ ¥·¥½¡¼¥é¥¹ #T35 1 ¤·¤½¤¦ ¼µ°À #JCN 0 ¤·¤½¤¦ »îÁö #T30 0 ¤·¤½¤¦ »×ÁÛ #T35 6 ¤·¤½¤¦¤« »×ÁÛ²È #T35 0 ¤·¤½¤¯ »Ò© #T35 1 ¤·¤½¤ó »Ò¹ #T35 2 ¤·¤¾¤¦ »à¢ #T30 0 ¤·¤¾¤¯ »Î² #T35 0 ¤·¤¾¤¯ »á² #T35 1 ¤·¤¿ ²¼ #PRE 3 ¤·¤¿ Àå #T35 11 ¤·¤¿ ²¼ #T35 255 ¤·¤¿ Êé #W5 1 ¤·¤¿¤¤ »àÂÎ #T35 0 ¤·¤¿¤¤ »èÂÎ #T35 0 ¤·¤¿¤¤ »ÑÂÖ #T35 2 ¤·¤¿¤¦¤± ²¼ÀÁ¤± #T30 1 ¤·¤¿¤¨ ²¼³¨ #T35 0 ¤·¤¿¤¬ ½¾ #W5 154 ¤·¤¿¤¬ ¤·¤¿¤¬ #W5 4 ¤·¤¿¤¬¤­ ²¼½ñ¤­ #T30 1 ¤·¤¿¤¬¤Ã¤Æ ½¾¤Ã¤Æ #CJ 28 ¤·¤¿¤¬¤Ã¤Æ ¤·¤¿¤¬¤Ã¤Æ #CJ 4 ¤·¤¿¤® ²¼Ãå #T35 0 ¤·¤¿¤¯ »ÙÅÙ #T30 3 ¤·¤¿¤¶¤ï¤ê À忨¤ê #T35 1 ¤·¤¿¤· ¿Æ¤· #KYmi 6 ¤·¤¿¤· ¿Æ¤· #M5r 5 ¤·¤¿¤·¤å¤¦ ¿Æ¤·¤å¤¦ #KYU 1 ¤·¤¿¤·¤é¤Ù ²¼Ä´¤Ù #T30 0 ¤·¤¿¤¸ ²¼ÃÏ #T35 1 ¤·¤¿¤¸¤­ ²¼Éß #T35 1 ¤·¤¿¤¿ Å© #R5r 1 ¤·¤¿¤¿¤« ¶¯¤« #T05 0 ¤·¤¿¤¿¤á ǧ¤á #KS 1 ¤·¤¿¤¿¤é¤º À孤餺 #T05 0 ¤·¤¿¤À ²¼ÅÄ #JCN 0 ¤·¤¿¤Å¤ß ²¼ÀÑ¤ß #T30 0 ¤·¤¿¤Æ »ÅΩ¤Æ #KSr 2 ¤·¤¿¤Æ ²¼¼ê #T05 0 ¤·¤¿¤É¤ê ²¼¼è¤ê #T30 1 ¤·¤¿¤Í ²¼ÃÍ #T35 0 ¤·¤¿¤Ó ²¼²Ð #T05 1 ¤·¤¿¤Þ¤Á ²¼Ä® #T35 1 ¤·¤¿¤Þ¤ï ²¼²ó #R5r 1 ¤·¤¿¤ß ²¼¸« #T30 4 ¤·¤¿¤à¤­ ²¼¸þ¤­ #T35 2 ¤·¤¿¤ä ¢­ #T35 7 ¤·¤¿¤é Àß³Ú #JCN 0 ¤·¤¿¤ï¤· Êé¤ï¤· #KY 0 ¤·¤¿¤ï¤·¤å¤¦ Êé¤ï¤·¤å¤¦ #KYU 0 ¤·¤À »îÂÇ #T30 0 ¤·¤À »ÖÂÀ #JCN 0 ¤·¤À »ÖÅÄ #JCN 0 ¤·¤À¤¤ ¼¡Âè #D2T35 74 ¤·¤À¤¤ »äÂç #T35 1 ¤·¤À¤¤ ¼¡Âè #T35 17 ¤·¤À¤¤¤¹¤¦ »ÏÂå¿ô #T35 1 ¤·¤À¤· »Å½Ð¤· #T30 0 ¤·¤À¤ì ¿â¤ì #KSr 0 ¤·¤À¤ó »ØÃÆ #T30 0 ¤·¤À¤ó »ÕÃÄ #T35 1 ¤·¤Á ¼· #NN 4 ¤·¤Á ¼Á #T35 0 ¤·¤Á¤¬¤Ï¤Þ ¼·¥öÉÍ #CN 0 ¤·¤Á¤±¤ó ¼Á¸¢ #T35 0 ¤·¤Á¤·¤ç¤¦ ¼·À¸ #T35 0 ¤·¤Á¤¸¤ç¤¦ ¼·¾ë #JCN 0 ¤·¤Á¤º¤ó ¥·¥Á¥º¥ó #KK 0 ¤·¤Á¤Æ¤ó¤Ð¤Ã¤È¤¦ ¼·Å¾È¬ÅÝ #T30 1 ¤·¤Á¤Ê¤ó ¼·Æñ #T35 1 ¤·¤Á¤Î¤Ø ¼·¸Í #JCN 0 ¤·¤Á¤á¤ó¤É¤¦ ¤·¤ÁÌÌÅÝ #T05 0 ¤·¤Á¤ä ¼Á²° #T35 0 ¤·¤Á¤å¡¼ ¥·¥Á¥å¡¼ #T35 2 ¤·¤Á¤å¤¦ »ÔÃæ #T35 0 ¤·¤Á¤å¤¦ »ÙÃì #T35 0 ¤·¤Á¤ç¤¦ »îİ #T30 0 ¤·¤Á¤ç¤¦ »ëİ #T30 1 ¤·¤Á¤ç¤¦ »×Ĭ #T35 0 ¤·¤Á¤ç¤¦ »ÙÄ£ #T35 0 ¤·¤Á¤ç¤¦ »ÔĹ #T35 1 ¤·¤Á¤ç¤¦¤½¤ó »ÔĮ¼ #T35 1 ¤·¤Á¤ç¤¯ »Êľ #T35 0 ¤·¤Á¤è¤¦ ¼·ÍË #T35 0 ¤·¤Á¤í¤¦ ¼·Ïº #JNM 0 ¤·¤Ã¤«¤¯ ¼º³Ê #T30 2 ¤·¤Ã¤«¤ê ¤·¤Ã¤«¤ê #F04 23 ¤·¤Ã¤«¤ê ¤·¤Ã¤«¤ê #T16 0 ¤·¤Ã¤«¤ó ¼À´µ #T35 0 ¤·¤Ã¤­ ¼¿´ï #T35 0 ¤·¤Ã¤­¤ã¤¯ ¼ºµÓ #T30 0 ¤·¤Ã¤­¤ó ¼º¶Ø #T30 0 ¤·¤Ã¤¯¤ê ¤·¤Ã¤¯¤ê #T30 1 ¤·¤Ã¤±¤¤ ¼º·É #T00 0 ¤·¤Ã¤³¤¦ ¼º¸ú #T30 1 ¤·¤Ã¤³¤¦ ¼¹¹Ô #T30 3 ¤·¤Ã¤³¤¯ ÛßÛç #T35 0 ¤·¤Ã¤µ¤¯ ¼ººö #T30 0 ¤·¤Ã¤·¤ç¤¦ ¼º¾Ð #T30 0 ¤·¤Ã¤·¤ç¤¯ ¼º¿¦ #T30 0 ¤·¤Ã¤·¤ó ¼º¿À #T30 1 ¤·¤Ã¤·¤ó ¼¾¿¾ #T35 0 ¤·¤Ã¤»¤¤ ¼ºÀ¯ #T35 0 ¤·¤Ã¤»¤­ ¼¸ÀÕ #T30 1 ¤·¤Ã¤½ ¼ÁÁÇ #T05 0 ¤·¤Ã¤½¤¦ ¼ºí© #T30 1 ¤·¤Ã¤½¤¦ ¼ÀÁö #T30 2 ¤·¤Ã¤½¤¯ ¼ºÂ® #T30 0 ¤·¤Ã¤¿ ¼¸Ó£ #T30 1 ¤·¤Ã¤¿¤¤ ¼ºÂÖ #T35 1 ¤·¤Ã¤Á ¼¾ÃÏ #T35 0 ¤·¤Ã¤Á¤ç¤¦ ¼ºÄ´ #T30 0 ¤·¤Ã¤Ä¤¤ ¼ºÄÆ #T30 1 ¤·¤Ã¤Æ¤ó ¼ºÅÀ #T30 0 ¤·¤Ã¤È ¼»ÅÊ #T30 1 ¤·¤Ã¤È¤¦ ¼¹Åá #T30 0 ¤·¤Ã¤È¤ê ¤·¤Ã¤È¤ê #T30 0 ¤·¤Ã¤Ñ¤¤ ¼ºÇÔ #T30 154 ¤·¤Ã¤Ô¤Ä ¼¹É® #T30 43 ¤·¤Ã¤Ô¤Ä¤·¤ã ¼¹É®¼Ô #T35 0 ¤·¤Ã¤× ¼¾ÉÛ #T30 4 ¤·¤Ã¤×¤¦ ¼ÀÉ÷ #T35 1 ¤·¤Ã¤Ú¤¤ ¼ÀÉ #T35 0 ¤·¤Ã¤Ý ¿¬Èø #T35 0 ¤·¤Ã¤Ý¤¦ ¼·Êõ #CN 0 ¤·¤Ã¤Ý¤ê ¤·¤Ã¤Ý¤ê #F06 0 ¤·¤Ä ¼¸ #KJ 0 ¤·¤Ä ¼¹ #KJ 0 ¤·¤Ä ¼» #KJ 0 ¤·¤Ä ¼½ #KJ 0 ¤·¤Ä ¼¾ #KJ 0 ¤·¤Ä ¼¿ #KJ 0 ¤·¤Ä ¼À #KJ 0 ¤·¤Ä ɨ #KJ 0 ¤·¤Ä ¼º #KJ 2 ¤·¤Ä ¼¼ #SUC 0 ¤·¤Ä ¼Á #SUC 18 ¤·¤Ä ¼Á #T35 1 ¤·¤Ä ¼¼ #T35 38 ¤·¤Ä¤¤ ¼º°Õ #T35 0 ¤·¤Ä¤¦ »ßÄË #T35 0 ¤·¤Ä¤ª¤ó ¼¼²¹ #T35 0 ¤·¤Ä¤«¤ó ¼Á´¶ #T35 3 ¤·¤Ä¤­ ¸å·î #CN 0 ¤·¤Ä¤® ¼Áµ¿ #T30 3 ¤·¤Ä¤®¤ç¤¦ ¼º¶È #T30 0 ¤·¤Ä¤± í¿¤± #KS 0 ¤·¤Ä¤± ¤·¤Ä¤± #KSr 0 ¤·¤Ä¤± »ÅÉÕ #T30 0 ¤·¤Ä¤± í¿ #T35 0 ¤·¤Ä¤²¤ó ¼º¸À #T30 0 ¤·¤Ä¤²¤ó ¼¾¸¶ #T35 1 ¤·¤Ä¤³ ¤·¤Ä¤³ #KY 4 ¤·¤Ä¤³¤¦ ¤·¤Ä¤³¤¦ #KYU 1 ¤·¤Ä¤´¤·¤ç¤¦ ¼º¸ì¾É #T35 1 ¤·¤Ä¤¸ ¼¹»ö #T35 0 ¤·¤Ä¤¸¤Ä ¼Á¼Â #T05 0 ¤·¤Ä¤¸¤å¤ó ¼¾½á #T05 0 ¤·¤Ä¤Á¤ç¤¦ ¼¼Ä¹ #T35 5 ¤·¤Ä¤Æ¤­ ¼ÁŪ #T05 2 ¤·¤Ä¤Ç¤ó ¼¾ÅÄ #T35 0 ¤·¤Ä¤É ¼¾ÅÙ #T35 1 ¤·¤Ä¤Ê¤¤ ¼¼Æâ #T35 2 ¤·¤Ä¤Ê¤¤¤¬¤¯ ¼¼Æâ³Ú #T35 1 ¤·¤Ä¤Í¤ó ¼ºÇ° #T30 2 ¤·¤Ä¤Ü¤¦ ¼ºË¾ #T30 1 ¤·¤Ä¤à ¼¹Ì³ #T30 0 ¤·¤Ä¤á¤¤ ¼ºÌÀ #T30 0 ¤·¤Ä¤â¤ó ¼ÁÌä #T30 216 ¤·¤Ä¤è¤¦ ¼¹¤è¤¦ #T05 0 ¤·¤Ä¤è¤¦ ¼¹Ù¹ #T05 2 ¤·¤Ä¤ê¤ç¤¦ ¼ÁÎÌ #T35 2 ¤·¤Ä¤ì¤¤ ¼ºÎé #T00 52 ¤·¤Ä¤ì¤ó ¼ºÎø #T30 0 ¤·¤Æ¤£ ¥·¥Æ¥£ #T35 2 ¤·¤Æ¤£¡¼ ¥·¥Æ¥£¡¼ #T35 2 ¤·¤Æ¤¤ »ØÄê #T30 255 ¤·¤Æ¤¤ »ÕÄï #T35 0 ¤·¤Æ¤¤ »äÅ¡ #T35 0 ¤·¤Æ¤¤¤»¤­ »ØÄêÀÊ #T35 1 ¤·¤Æ¤­ »ËŪ #T05 0 ¤·¤Æ¤­ »äŪ #T05 4 ¤·¤Æ¤­ »êŬ #T15 1 ¤·¤Æ¤­ »íŪ #T16 0 ¤·¤Æ¤­ »ØÅ¦ #T30 75 ¤·¤Æ¤Ä »äÅ´ #T35 0 ¤·¤Æ¤ó »ÙÅÀ #T35 3 ¤·¤Æ¤ó »ÙŹ #T35 31 ¤·¤Æ¤ó »ëÅÀ #T35 35 ¤·¤Æ¤ó »ÏÅÀ #T35 5 ¤·¤Æ¤ó¤Á¤ç¤¦ »ÙŹĹ #T35 0 ¤·¤Æ¤ó¤Î¤¦ »ÍÅ·²¦ #T35 1 ¤·¤Ç¤« ¤·¤Ç¤« #S5 0 ¤·¤Ç¤ó »ÔÅÅ #T35 0 ¤·¤È »ÈÅÓ #T35 0 ¤·¤È »ÈÅÌ #T35 1 ¤·¤È¤¦ »àÆ® #T30 0 ¤·¤È¤Í êó #KJ 0 ¤·¤È¤ß ¼Ã #T35 0 ¤·¤É »ÖÅÙ #JCN 0 ¤·¤É¤¦ »Ïư #T30 1 ¤·¤É¤¦ »ØÆ³ #T30 20 ¤·¤É¤¦ »äÆ» #T35 0 ¤·¤Ê ¤·¤Ê #D2T35 1 ¤·¤Ê ÉÊ #JS 0 ¤·¤Ê ²Ê #KJ 1 ¤·¤Ê ¥·¥Ê #KK 1 ¤·¤Ê ÉÊ #T35 20 ¤·¤Ê ¤·¤Ê #W5 0 ¤·¤Ê¤¤ ÃÝÅá #T35 0 ¤·¤Ê¤¤ »ÔÆâ #T35 30 ¤·¤Ê¤ª ¤·¤Ê¤ª #S5 0 ¤·¤Ê¤ª ¤·Ä¾ #S5 0 ¤·¤Ê¤«¤º ÉÊ¿ô #T35 1 ¤·¤Ê¤¬¤ï ÉÊÀî #JCN 0 ¤·¤Ê¤®¤ì ÉÊÀÚ¤ì #T30 1 ¤·¤Ê¤³ ¿®À®»Ò #JNM 0 ¤·¤Ê¤µ¤À¤á ÉÊÄê¤á #T30 0 ¤·¤Ê¤¸¤Ê ÉÊ¡¹ #T35 0 ¤·¤Ê¤Î ¿®Ç» #CN 0 ¤·¤Ê¤Ó °à¤Ó #KS 0 ¤·¤Ê¤×¤¹ ¥·¥Ê¥×¥¹ #T35 1 ¤·¤Ê¤â¤Î ÉÊʪ #T35 4 ¤·¤Ê¤ê¤ª ¥·¥Ê¥ê¥ª #T35 42 ¤·¤Ê¤ó »êÆñ #T05 1 ¤·¤Ê¤ó »ØÆî #T30 0 ¤·¤Ê¤ó¤Ð¤ó »ØÆîÈÖ #T35 0 ¤·¤Ë¤¢ ¥·¥Ë¥¢ #T35 0 ¤·¤Ë¤» Ï·ÊÞ #T35 0 ¤·¤Ë¤¿¤¨ »à¤ËÀ䤨 #KS 0 ¤·¤Ë¤Ï¤Æ »à¤Ë²Ì¤Æ #KS 0 ¤·¤Ë¤å¤¦ »ÉÆþ #T30 1 ¤·¤Ë¤ç¤¦ ¤·Ç¢ #T35 0 ¤·¤Ë¤ó »ëǧ #T30 1 ¤·¤Ë¤ó »à¿Í #T35 1 ¤·¤Í »à¤Í #KS 0 ¤·¤Í¤Þ ¥·¥Í¥Þ #T35 1 ¤·¤Í¤ó »×ǰ #T30 0 ¤·¤Î ¼Å #B5 1 ¤·¤Î Ǧ #B5r 4 ¤·¤Î ο #G5r 1 ¤·¤Î ¤·¤Î #G5r 5 ¤·¤Î ¼Ä #JN 0 ¤·¤Î ¼Ä #T35 14 ¤·¤Î¤¶¤­ ¼Äºê #JCN 0 ¤·¤Î¤À ¼ÄÅÄ #JNS 0 ¤·¤Î¤Å¤« ¼ÄÄÍ #JNS 0 ¤·¤Î¤Ë¤à ¥·¥Î¥Ë¥à #T35 1 ¤·¤Î¤Ï¤é ¼Ä¸¶ #JCN 0 ¤·¤Î¤Ó¤³ Ǧ¤Ó¹þ #M5r 1 ¤·¤Î¤Ó¤è Ǧ¤Ó´ó #R5 0 ¤·¤Î¤Ö Ǧ #JN 0 ¤·¤Î¤Ö ¼Å #KJ 0 ¤·¤Î¤Ö Ǧ #T35 1 ¤·¤Ï¤¤ »ÙÇÛ #T30 4 ¤·¤Ï¤¤ »æÇØ #T35 0 ¤·¤Ï¤¤ »òÇÕ #T35 0 ¤·¤Ï¤¤¤Ë¤ó »ÙÇÛ¿Í #T35 1 ¤·¤Ï¤Ä »Ïȯ #T35 5 ¤·¤Ï¤é »Ùʧ #W5r 3 ¤·¤Ï¤é¤¤ »Ùʧ #T35 5 ¤·¤Ï¤é¤¤¤Ë¤ó »Ùʧ¿Í #T35 0 ¤·¤Ï¤ó »ÔÈÎ #T30 7 ¤·¤Ï¤ó »ÕÈÏ #T35 0 ¤·¤Ï¤ó »àÈà #T35 0 ¤·¤Ï¤ó »çÈà #T35 1 ¤·¤Ï¤ó¤»¤¤¤­ »ÍȾÀ¤µª #T35 0 ¤·¤Ï¤ó¤À¤¤ »ÕÈÏÂå #T35 0 ¤·¤Ð ¼Æ #JNS 0 ¤·¤Ð Çû #R5r 4 ¤·¤Ð ¼Æ #T35 3 ¤·¤Ð ¼Ç #T35 8 ¤·¤Ð¤¤ ¼Çµï #T30 2 ¤·¤Ð¤¦¤é ¼Ç±º #JCN 0 ¤·¤Ð¤«¤ï ¼ÇÀî #JCN 0 ¤·¤Ð¤µ¤­ ¼Æºê #JCN 0 ¤·¤Ð¤¶¤­ ¼Æºê #JNS 0 ¤·¤Ð¤· »Ã¤· #F14 0 ¤·¤Ð¤· ¤·¤Ð¤· #F14 1 ¤·¤Ð¤· ¤·¤Ð¤· #T36 0 ¤·¤Ð¤· »Ã¤· #T36 0 ¤·¤Ð¤·¤Ð ¤·¤Ð¤·¤Ð #F14 13 ¤·¤Ð¤·¤Ð ¤·¤Ð¤·¤Ð #T16 0 ¤·¤Ð¤¿ ¼ÆÅÄ #JCN 0 ¤·¤Ð¤¿ ¿·È¯ÅÄ #JCN 0 ¤·¤Ð¤Ï¤é ¼Ç¸¶ #JNS 0 ¤·¤Ð¤Õ ¼ÇÀ¸ #T35 6 ¤·¤Ð¤Þ¤¿ ¼ÆËô #CN 0 ¤·¤Ð¤ä¤Þ ¼Æ»³ #JCN 0 ¤·¤Ð¤ä¤Þ ¼Ç»³ #JCN 0 ¤·¤Ð¤é¤¯ ¤·¤Ð¤é¤¯ #F12 40 ¤·¤Ð¤é¤¯ »Ã¤¯ #F12 9 ¤·¤Ð¤é¤¯ ¤·¤Ð¤é¤¯ #T36 0 ¤·¤Ð¤é¤¯ »Ã¤¯ #T36 0 ¤·¤Ð¤ê¤Ä¤± Çû¤êÉÕ¤± #KSr 0 ¤·¤Ò »ÔÈñ #T35 1 ¤·¤Ò¤ç¤¦ »ØÉ¸ #T35 8 ¤·¤Ó¤¢ ¥·¥Ó¥¢ #T05 2 ¤·¤Ó¤Ã¤¯ ¥·¥Ó¥Ã¥¯ #KK 1 ¤·¤Ó¤È »à¿Í #T35 0 ¤·¤Ó¤ì áã¤ì #KSr 2 ¤·¤Õ¤¯ »óÉú #T30 1 ¤·¤Õ¤¯ »äÊ¢ #T35 0 ¤·¤Õ¤¯ »êÊ¡ #T35 0 ¤·¤Õ¤¯ »äÉþ #T35 1 ¤·¤Õ¤È ¥·¥Õ¥È #T30 50 ¤·¤Õ¤ó »äʰ #T35 0 ¤·¤Õ¤ó »éÊ´ #T35 0 ¤·¤Ö ½Â #KYmi 21 ¤·¤Ö ½Â #R5 19 ¤·¤Ö »ÔÉô #T35 0 ¤·¤Ö ½Â #T35 19 ¤·¤Ö »ÙÉô #T35 3 ¤·¤Ö¤¦ ½Â¤¦ #KYU 2 ¤·¤Ö¤«¤ï ½ÂÀî #JCN 0 ¤·¤Ö¤«¤ï ½ÂÈé #T35 0 ¤·¤Ö¤¬¤­ ½Â³Á #T35 0 ¤·¤Ö¤· »ÖÉÛ»Ö #CN 0 ¤·¤Ö¤·¤Ö ¤·¤Ö¤·¤Ö #F06 0 ¤·¤Ö¤·¤Ö ½Â¡¹ #F06 1 ¤·¤Ö¤·¤Ö ¤·¤Ö¤·¤Ö #T16 0 ¤·¤Ö¤·¤Ö ½Â¡¹ #T16 0 ¤·¤Ö¤Ä »äʪ #T35 2 ¤·¤Ö¤È ¤·¤Ö¤È #KY 0 ¤·¤Ö¤È¤¦ ¤·¤Ö¤È¤¦ #KYU 0 ¤·¤Ö¤ä ½Âë #JCN 0 ¤·¤Ö¤ó »íʸ #T35 0 ¤·¤Ö¤ó¤® »Íʬµ· #T35 0 ¤·¤Ø¤¤ »æÊ¾ #T35 0 ¤·¤Ù ¼É #T35 0 ¤·¤Ù¤Á¤ã ɸÃã #CN 0 ¤·¤Ù¤Ä »ÎÊÌ #CN 0 ¤·¤Ù¤Ä ɸÄÅ #CN 0 ¤·¤Ù¤Ä »àÊÌ #T30 0 ¤·¤Ù¤ê¤¢ ¥·¥Ù¥ê¥¢ #CN 0 ¤·¤Ù¤ó »êÊØ #T05 0 ¤·¤Ù¤ó »×ÊÛ #T30 0 ¤·¤Û¤¦ »êÊõ #T35 0 ¤·¤Û¤¦ »ÊË¡ #T35 1 ¤·¤Û¤¦ »ÍÊý #T35 1 ¤·¤Û¤¦ »ëË¡ #T35 1 ¤·¤Û¤¦¤·¤ç¤· »ÊË¡½ñ»Î #T35 0 ¤·¤Û¤í »ÎËÚ #CN 0 ¤·¤Û¤ó »ñËÜ #T35 1 ¤·¤Û¤ó¤« »ñËÜ²È #T35 0 ¤·¤Û¤ó¤­¤ó »ñËܶâ #T35 1 ¤·¤Ü °à #M5 0 ¤·¤Ü ºñ #R5 0 ¤·¤Ü ¤·¤Ü #R5 5 ¤·¤Ü ¹Ê #R5 5 ¤·¤Ü »×Êé #T30 2 ¤·¤Ü¤¦ »àË´ #T30 1 ¤·¤Ü¤¦ »Ö˾ #T30 2 ¤·¤Ü¤¦ »éËà #T35 2 ¤·¤Ü¤¦¤³¤¦ »Ö˾¹» #T35 0 ¤·¤Ü¤Ä »àË× #T30 0 ¤·¤Ü¤ê¤¢¤² ¹Ê¤ê¾å¤² #KS 0 ¤·¤Ü¤ê¤¢¤² ºñ¤ê¾å¤² #KS 0 ¤·¤Ü¤ê¤À ¹Ê¤ê½Ð #S5 1 ¤·¤Þ »ÖËà #JCN 0 ¤·¤Þ Åç #JNS 0 ¤·¤Þ Åè #JNS 0 ¤·¤Þ Åè #KJ 0 ¤·¤Þ Öº #KJ 0 ¤·¤Þ Äù¤Þ #R5r 0 ¤·¤Þ ÊÄ¤Þ #R5r 5 ¤·¤Þ ¼Ê #T35 4 ¤·¤Þ Åç #T35 90 ¤·¤Þ »ÅÉñ #W5r 1 ¤·¤Þ ¤·¤Þ #W5r 255 ¤·¤Þ¤¤ ½ª¤¤ #T35 0 ¤·¤Þ¤¤ »ÐËå #T35 2 ¤·¤Þ¤¦¤Þ ¥·¥Þ¥¦¥Þ #T35 1 ¤·¤Þ¤«¤² Åç±¢ #T35 0 ¤·¤Þ¤¬¤Ï¤é Åç¥ö¸¶ #CN 0 ¤·¤Þ¤°¤Ë Åç¹ñ #T35 0 ¤·¤Þ¤µ¤­ Åçºê #JNS 0 ¤·¤Þ¤µ¤­ Åèºê #JNS 0 ¤·¤Þ¤¶¤­ Åçºê #JNS 0 ¤·¤Þ¤¶¤­ Åèºê #JNS 0 ¤·¤Þ¤¸¤ê Å翬 #JCN 0 ¤·¤Þ¤À ÅçÅÄ #JCN 0 ¤·¤Þ¤À ÅèÅÄ #JNS 0 ¤·¤Þ¤Ä »ÏËö #T30 2 ¤·¤Þ¤Å ÅçÄÅ #JNS 0 ¤·¤Þ¤Å ÅèÄÅ #JNS 0 ¤·¤Þ¤Í Å纬 #JCN 0 ¤·¤Þ¤Í¤±¤ó Å纬¸© #CNS 0 ¤·¤Þ¤Î ÅçÌî #JNS 0 ¤·¤Þ¤Î ÅèÌî #JNS 0 ¤·¤Þ¤Ð¤é Å縶 #JCN 0 ¤·¤Þ¤Þ¤­ ÅçËÒ #CN 0 ¤·¤Þ¤Þ¤È ÅçËÜ #JNS 0 ¤·¤Þ¤à¤é Åç¼ #JNS 0 ¤·¤Þ¤à¤é Åè¼ #JNS 0 ¤·¤ß Åà¤ß #KS 1 ¤·¤ß ¿»¤ß #KSr 0 ¤·¤ß À÷¤ß #KSr 0 ¤·¤ß »æµû #T35 0 ¤·¤ß¤³ À÷¤ß¹þ #M5r 0 ¤·¤ß¤¸¤ß ¤·¤ß¤¸¤ß #F04 0 ¤·¤ß¤¸¤ß ¤·¤ß¤¸¤ß #T16 0 ¤·¤ß¤º À¶¿å #JCN 0 ¤·¤ß¤º À¶¿å #T35 10 ¤·¤ß¤Ä À÷¤ßÃå #K5r 0 ¤·¤ß¤É¤¦¤Õ Åà¤ßƦÉå #T35 0 ¤·¤ß¤Ì¤­ À÷¤ßÈ´¤­ #T30 1 ¤·¤ß¤ã¤¯ »ÙÌ® #T35 0 ¤·¤ß¤å¤ì¡¼¤·¤ç¤ó ¥·¥ß¥å¥ì¡¼¥·¥ç¥ó #T30 25 ¤·¤ß¤å¤ì¡¼¤¿ ¥·¥ß¥å¥ì¡¼¥¿ #T35 5 ¤·¤ß¤å¤ì¡¼¤¿¡¼ ¥·¥ß¥å¥ì¡¼¥¿¡¼ #T35 5 ¤·¤ß¤å¤ì¡¼¤È ¥·¥ß¥å¥ì¡¼¥È #T30 2 ¤·¤ß¤ç¤¦ »ê̯ #T15 0 ¤·¤ß¤ó »Ô̱ #T35 1 ¤·¤ß¤ó¤¼¤¤ »Ô̱ÀÇ #T35 0 ¤·¤à¤«¤Ã¤× Àê´§ #CN 0 ¤·¤à¤± »Å¸þ¤± #KS 0 ¤·¤à¤± »Å¸þ #T35 0 ¤·¤à¤é »Ö¼ #JCN 0 ¤·¤á »ÖÌÈ #CN 0 ¤·¤á ¹Ê¤á #KS 0 ¤·¤á ÊĤá #KS 7 ¤·¤á Àê¤á #KS 72 ¤·¤á Äù¤á #KSr 3 ¤·¤á ¼¾ #R5r 4 ¤·¤á ¼¨ #S5 255 ¤·¤á Äù #T35 0 ¤·¤á ¡º #T35 1 ¤·¤á¤¤ »ØÌ¾ #T30 3 ¤·¤á¤¤ »ØÌ¿ #T35 0 ¤·¤á¤¤ »ÈÌ¿ #T35 1 ¤·¤á¤¤ »á̾ #T35 18 ¤·¤á¤­ ÊĤáÀÚ #R5r 0 ¤·¤á¤­ Äù¤áÀÚ #R5r 1 ¤·¤á¤­¤ê ÄùÀÚ #T35 22 ¤·¤á¤­¤ê ¡ºÀÚ #T35 33 ¤·¤á¤­¤ê¤Ó ÄùÀÚÆü #T35 2 ¤·¤á¤¯¤¯ Äù¤á¤¯¤¯ #R5r 1 ¤·¤á¤· ¼¨¤· #T35 0 ¤·¤á¤À Äù¤á½Ð #S5r 1 ¤·¤á¤Ã¤Ý ¼¾¤Ã¤Ý #KY 0 ¤·¤á¤Ä »àÌÇ #T30 0 ¤·¤á¤Ä¤± Äù¤á¤Ä¤± #KSr 0 ¤·¤á¤Ä¤± Äù¤áÉÕ¤± #KSr 0 ¤·¤á¤Æ Äù¤á¤Æ #F14 0 ¤·¤á¤Ó Äù¤áÆü #T35 0 ¤·¤á¤ä¤« ¤·¤á¤ä¤« #T05 0 ¤·¤á¤ó »æÌÌ #T35 1 ¤·¤á¤ó »ïÌÌ #T35 1 ¤·¤á¤ó¤½¤« »ÍÌÌÁ¿²Î #T35 1 ¤·¤â ²¼ #CNPRE 1 ¤·¤â ²¼ #JNS 0 ¤·¤â Áú #T35 1 ¤·¤â ²¼ #T35 29 ¤·¤â¡¼¤Ì ¥·¥â¡¼¥Ì #JN 0 ¤·¤â¤¢¤¬¤¿ ²¼¸© #CN 0 ¤·¤â¤¤¤Á ²¼»Ô #JCN 0 ¤·¤â¤¤¤Ê ²¼°ËÆá #CN 0 ¤·¤â¤¦¤µ ²¼Áí #CN 0 ¤·¤â¤ª ²¼Èø #JNS 0 ¤·¤â¤«¤Þ¤¬¤ê ²¼³÷´¢ #CN 0 ¤·¤â¤«¤ï ²¼Àî #JCN 0 ¤·¤â¤¬¤ì Áú¸Ï¤ì #T30 0 ¤·¤â¤­ ²¼´ü #T35 2 ¤·¤â¤­¤¿ ²¼ËÌ #CN 0 ¤·¤â¤­¤¿¤¶¤ï ²¼ËÌÂô #CN 0 ¤·¤â¤­¤¿¤ä¤Þ ²¼ËÌ»³ #CN 0 ¤·¤â¤®¤ç¤¦ ²¼µþ #CN 0 ¤·¤â¤² ²¼ÌÓ #JCN 0 ¤·¤â¤³¤·¤­ ²¼¹ù #JCN 0 ¤·¤â¤´¤¦ ²¼¶¿ #CN 0 ¤·¤â¤¶ ²¼ºÂ #T35 0 ¤·¤â¤¸ ²¼ÃÏ #JCN 0 ¤·¤â¤¸¤ç¤¦ ²¼¾ò #JCN 0 ¤·¤â¤¸¤ç¤¦ ²¼Ûê #JNS 0 ¤·¤â¤¹¤ï ²¼¿Ûˬ #CN 0 ¤·¤â¤¿¤«¤¤ ²¼¹â°æ #CN 0 ¤·¤â¤À ²¼ÅÄ #JCN 0 ¤·¤â¤À¤Æ ²¼´Û #JCN 0 ¤·¤â¤Ä ²¼ÄÅ #JCN 0 ¤·¤â¤Ä¤¬ ²¼ÅÔ²ì #JCN 0 ¤·¤â¤Ä¤­ Áú·î #T35 0 ¤·¤â¤Ä¤± ²¼Ìî #JCN 0 ¤·¤â¤Ä¤¸ ²¼ÄÔ #JNS 0 ¤·¤â¤Ä¤Þ ²¼ºÊ #JCN 0 ¤·¤â¤Å¤Þ ²¼ºÊ #JCN 0 ¤·¤â¤Æ ²¼¼ê #T35 0 ¤·¤â¤Ê¤ê ²¼À® #JNS 0 ¤·¤â¤Ë¤¤¤«¤ï ²¼¿·Àî #CN 0 ¤·¤â¤Ë¤¿ ²¼¿ÎÅÄ #CN 0 ¤·¤â¤Î¤»¤­ ²¼´Ø #CN 0 ¤·¤â¤Ï¤ó¤­ ²¼È¾´ü #T35 0 ¤·¤â¤Ð¤·¤é ÁúÃì #T35 0 ¤·¤â¤Õ¤µ ²¼Áí #CN 0 ¤·¤â¤Ø¤¤ ²¼ÊÄ°Ë #CN 0 ¤·¤â¤Ù ²¼Éô #JCN 0 ¤·¤â¤Þ¤·¤­ ²¼±×¾ë #JCN 0 ¤·¤â¤ß¤Î¤Á ²¼¿åÆâ #CN 0 ¤·¤â¤à¤é ²¼Â¼ #JCN 0 ¤·¤â¤ä¤± Áú¾Æ¤± #T30 1 ¤·¤â¤ä¤Þ ²¼»³ #JCN 0 ¤·¤â¤ó »îÌä #T30 3 ¤·¤â¤ó »ðÌä #T30 4 ¤·¤â¤ó »ØÌæ #T35 0 ¤·¤ã º» #KJ 0 ¤·¤ã º½ #KJ 0 ¤·¤ã ¼Î #KJ 0 ¤·¤ã ¼Ñ #KJ 0 ¤·¤ã ¼Ë #KJ 1 ¤·¤ã ¼Ï #KJ 1 ¤·¤ã ¼Ð #KJ 1 ¤·¤ã ¼Ô #KJ 1 ¤·¤ã ¼× #KJ 1 ¤·¤ã ¼Ì #KJ 2 ¤·¤ã ¼Õ #KJ 2 ¤·¤ã ¼Í #KJ 4 ¤·¤ã ¼Ë #SUC 2 ¤·¤ã ¼Ò #SUC 6 ¤·¤ã ¼Ô #SUC 8 ¤·¤ã ¼Õ #SX 1 ¤·¤ã ¼Ó #T35 1 ¤·¤ã ¼Ö #T35 11 ¤·¤ã ¼Ô #T35 134 ¤·¤ã ¼Ò #T35 171 ¤·¤ã¡¼¤× ¥·¥ã¡¼¥× #T05 108 ¤·¤ã¡¼¤× ¢ô #T35 1 ¤·¤ã¤¤ ¼Õ°Õ #T35 1 ¤·¤ã¤¤¤ó ¼Ò°÷ #T35 18 ¤·¤ã¤¦¤ó ¼Ò±¿ #T35 0 ¤·¤ã¤¨¤¤ ¼Í±Æ #T30 1 ¤·¤ã¤ª¤¯ ¼Ò²° #T35 0 ¤·¤ã¤ª¤ó ¼×²» #T30 0 ¤·¤ã¤ª¤ó ¼Õ²¸ #T30 1 ¤·¤ã¤« ¼á²à #T35 1 ¤·¤ã¤«¤¤ ¼Ò²ñ #T35 40 ¤·¤ã¤«¤¤¤È¤¦ ¼Ò²ñÅÞ #KK 0 ¤·¤ã¤¬¤¤ ¼Ò³° #T35 24 ¤·¤ã¤¬¤¤¤Ò ¼Ò³°Èë #T35 2 ¤·¤ã¤­¤Ã¤È ¤·¤ã¤­¤Ã¤È #F14 0 ¤·¤ã¤­¤ç¤¦ ¼Ì·Ð #T30 0 ¤·¤ã¤®¤ç¤¦ ¼Ò¶È #T35 0 ¤·¤ã¤¯ ¼Û #JS 0 ¤·¤ã¤¯ ¼Ü #JS 0 ¤·¤ã¤¯ ¼Ú #KJ 0 ¤·¤ã¤¯ ¼Þ #KJ 0 ¤·¤ã¤¯ ¼ß #KJ 0 ¤·¤ã¤¯ ¼á #KJ 0 ¤·¤ã¤¯ ¼â #KJ 0 ¤·¤ã¤¯ ÀÎ #KJ 0 ¤·¤ã¤¯ ÀÐ #KJ 0 ¤·¤ã¤¯ ÀÖ #KJ 0 ¤·¤ã¤¯ áû #T19 0 ¤·¤ã¤¯ ¼Ý #T35 0 ¤·¤ã¤¯ ¼à #T35 0 ¤·¤ã¤¯ ¼Ü #T35 2 ¤·¤ã¤¯¤¤ ¼ß°Ì #T35 1 ¤·¤ã¤¯¤¶¤¤ ¼Úºâ #T30 0 ¤·¤ã¤¯¤· ¼Ý»Ò #T35 2 ¤·¤ã¤¯¤·¤¸¤ç¤¦¤® ¼Ý»ÒÄ구 #T15 0 ¤·¤ã¤¯¤¸¤ç¤¦ ¼â¾ó #T35 1 ¤·¤ã¤¯¤¼¤ó ¼áÁ³ #F00 0 ¤·¤ã¤¯¤É ¼ÜÅÙ #T35 1 ¤·¤ã¤¯¤Í¤Ä ¼ÞÇ® #T30 1 ¤·¤ã¤¯¤Ï¤Á ¼ÜȬ #T35 0 ¤·¤ã¤¯¤Û¤¦ ¼áÊü #T30 0 ¤·¤ã¤¯¤á¤¤ ¼áÌÀ #T30 0 ¤·¤ã¤¯¤ä¤¯ ¥·¥ã¥¯¥ä¥¯ #T35 0 ¤·¤ã¤¯¤ä¤¯ çéÌô #T35 0 ¤·¤ã¤¯¤è¤¦ ¼ÚÍÑ #T30 5 ¤·¤ã¤¯¤ê¤¢¤² ¤·¤ã¤¯¤ê¤¢¤² #KS 0 ¤·¤ã¤¯¤ê¤ç¤¦ ¼àÎÌ #T30 0 ¤·¤ã¤± ºú #T35 0 ¤·¤ã¤±¤ó ¼Ö¸¡ #T30 2 ¤·¤ã¤²¤­ ¼Í·â #T30 1 ¤·¤ã¤³ ¼Ö¸Ë #T35 1 ¤·¤ã¤³¤¦ ¼Ð¸ò #T30 0 ¤·¤ã¤³¤¦ ¼Ð¹Ô #T30 0 ¤·¤ã¤³¤¦ ¼×¸÷ #T30 0 ¤·¤ã¤³¤¦ ¼Ò¸ò #T35 0 ¤·¤ã¤³¤¿¤ó ÀÑð #CN 0 ¤·¤ã¤µ¤¤ ¼ÒºÄ #T35 0 ¤·¤ã¤µ¤Ä ¼Í»¦ #T30 0 ¤·¤ã¤¶¤¤ ¼Õºá #T30 1 ¤·¤ã¤· ¼Ð»ë #T35 0 ¤·¤ã¤· ¼Ò»Ë #T35 0 ¤·¤ã¤· ÔúÐÌ #T35 0 ¤·¤ã¤·¤å ¼Ö¼ï #T35 1 ¤·¤ã¤·¤å¤Ä ¼Í½Ð #T30 0 ¤·¤ã¤·¤ç¤¦ ¼Î¾Ý #T30 0 ¤·¤ã¤·¤ç¤¦ ¼Ö¾¸ #T35 1 ¤·¤ã¤·¤ç¤¯ ¼Ì¿¢ #T30 2 ¤·¤ã¤·¤ó ¼Ì¿¿ #T35 45 ¤·¤ã¤¸ ¼Õ¼­ #T35 3 ¤·¤ã¤¸ ¼Ò»û #T35 4 ¤·¤ã¤¸¤¯ ¼Ö¼´ #T35 0 ¤·¤ã¤¸¤Ä ¼Ì¼Â #T35 0 ¤·¤ã¤¸¤ç¤¦ ¼Õ¾õ #T35 1 ¤·¤ã¤»¤¤ ¼ÌÀ¸ #T30 1 ¤·¤ã¤»¤¤ ¼ÍÀº #T30 1 ¤·¤ã¤»¤Ä ¼ÒÀâ #T35 1 ¤·¤ã¤»¤ó ¼ÐÀþ #T35 2 ¤·¤ã¤»¤ó ¼ÖÀþ #T35 2 ¤·¤ã¤¼¤Ä ¼ÕÀä #T30 0 ¤·¤ã¤½¤¦ ¼ÒÁò #T35 0 ¤·¤ã¤½¤¦ ¼ÖÁë #T35 0 ¤·¤ã¤½¤¯ ¼Ö® #T35 1 ¤·¤ã¤¾¤¦ ¼ÌÁü #T30 25 ¤·¤ã¤¿¤¤ ¼ÖÂÎ #T35 1 ¤·¤ã¤¿¤¤ ¼ÐÂÎ #T35 2 ¤·¤ã¤¿¤¯ ¼ÒÂð #T35 1 ¤·¤ã¤À¤ó ¼×ÃÇ #T30 1 ¤·¤ã¤À¤ó ¼ÒÃÄ #T35 1 ¤·¤ã¤À¤ó¤Û¤¦¤¸¤ó ¼ÒÃÄË¡¿Í #T35 0 ¤·¤ã¤Á òÏ #T35 2 ¤·¤ã¤Á¤å¤¦ ¼ÒÃæ #T35 0 ¤·¤ã¤Á¤å¤¦ ¼ÖÃæ #T35 1 ¤·¤ã¤Á¤ç¤¦ ¼ÒĹ #T35 14 ¤·¤ã¤Ã¤«¤ó ¼Ú´¾ #T35 2 ¤·¤ã¤Ã¤­¤ó ¼Ú¶â #T30 7 ¤·¤ã¤Ã¤¯¤ê ¤·¤ã¤Ã¤¯¤ê #T30 0 ¤·¤ã¤Ã¤±¤¤ ¼Ú·Ê #T35 0 ¤·¤ã¤Ã¤³¤¦ ÀÖ¸ý #T35 0 ¤·¤ã¤Ã¤¿¡¼ ¥·¥ã¥Ã¥¿¡¼ #T35 2 ¤·¤ã¤Ã¤Ý ¥·¥ã¥Ã¥Ý #T35 0 ¤·¤ã¤Ä ¥·¥ã¥Ä #T35 5 ¤·¤ã¤Æ¤¤ ¼ÍÄø #T35 1 ¤·¤ã¤Æ¤­ ¼ÍŪ #T35 0 ¤·¤ã¤É¤¦ ¼ÖÆ» #T35 0 ¤·¤ã¤Ê ¼ÓÆá #CN 0 ¤·¤ã¤Ê¤¤ ¼ÖÆâ #T35 5 ¤·¤ã¤Ê¤¤ ¼ÒÆâ #T35 79 ¤·¤ã¤Ë¤¯¤µ¤¤ ¼ÕÆùº× #T35 1 ¤·¤ã¤Ë¤à¤Ë ¤·¤ã¤Ë¤à¤Ë #F14 0 ¤·¤ã¤Ò ¼ÒÈñ #T35 0 ¤·¤ã¤Õ ¼ÌÉè #T30 0 ¤·¤ã¤Õ¤¦ ¼ÒÉ÷ #T35 0 ¤·¤ã¤Õ¤Ä ¼Ñʨ #T30 0 ¤·¤ã¤Ø¤¤ ¼×Êà #T30 0 ¤·¤ã¤Ø¤ó ¼ÐÊÕ #T35 0 ¤·¤ã¤Ù Ãý #R5r 13 ¤·¤ã¤ß º»Ìï #T35 0 ¤·¤ã¤ß »°Ì£ #T35 0 ¤·¤ã¤ß¤»¤ó »°Ì£Àþ #T35 1 ¤·¤ã¤á¤¤ ¼Ò̾ #T35 2 ¤·¤ã¤á¤ó ¼ÐÌÌ #T35 0 ¤·¤ã¤è¤¦ ¼ÒÍÑ #T35 16 ¤·¤ã¤é¤¯ ¼Ì³Ú #JN 0 ¤·¤ã¤é¤¯¤µ ¤·¤ã¤é¤¯¤µ #KY 0 ¤·¤ã¤ê ¼ÐΤ #CN 0 ¤·¤ã¤ê¤­ ¼ÖÎÏ #CN 0 ¤·¤ã¤ê¤ç¤¦ ¼Öξ #T35 3 ¤·¤ã¤ê¤ó ¼ÖÎØ #T35 0 ¤·¤ã¤ì ¥·¥ã¥ì #KSr 0 ¤·¤ã¤ì ¤·¤ã¤ì #KSr 1 ¤·¤ã¤ì Þ¯Íî #KSr 2 ¤·¤ã¤ì¤¤ ¼ÕÎé #T30 1 ¤·¤ã¤ì¤­ ¼ÒÎò #T35 0 ¤·¤ã¤ï¡¼ ¥·¥ã¥ï¡¼ #T30 1 ¤·¤ã¤ó¤½¤ó ¥·¥ã¥ó¥½¥ó #T35 0 ¤·¤ã¤ó¤Ï¤¤ ¾å³¤ #CN 0 ¤·¤ã¤ó¤Ñ¤ó ¥·¥ã¥ó¥Ñ¥ó #T35 0 ¤·¤ã¤ó¤×¡¼ ¥·¥ã¥ó¥×¡¼ #T30 1 ¤·¤ã¤ó¤Ú¤ó ¥·¥ã¥ó¥Ú¥ó #T35 0 ¤·¤ä »ëÌî #T35 5 ¤·¤ä¤¯ »îÌô #T35 0 ¤·¤ä¤¯¤·¤ç »ÔÌò½ê #T35 0 ¤·¤ä¤± ½é½É #JNS 0 ¤·¤å ¼ó #JS 0 ¤·¤å ¼ï #JS 180 ¤·¤å ¼é #KJ 0 ¤·¤å ¼ê #KJ 0 ¤·¤å ¼ì #KJ 0 ¤·¤å ¼í #KJ 0 ¤·¤å ¼ò #KJ 0 ¤·¤å ¼ó #KJ 0 ¤·¤å ¿Û #KJ 0 ¤·¤å ¼è #KJ 1 ¤·¤å ¼î #KJ 1 ¤·¤å ¼ð #KJ 1 ¤·¤å ¼ñ #KJ 1 ¤·¤å ¼ç #PRE 0 ¤·¤å ¼ç #SUC 0 ¤·¤å ¼ê #SUC 0 ¤·¤å ¼ò #SUC 0 ¤·¤å ¼ë #T35 2 ¤·¤å ¼ç #T35 31 ¤·¤å ¼ï #T35 80 ¤·¤å¡¼¤¯¤ê¡¼¤à ¥·¥å¡¼¥¯¥ê¡¼¥à #T35 0 ¤·¤å¡¼¤º ¥·¥å¡¼¥º #T35 1 ¤·¤å¡¼¤Ù¤ë¤È ¥·¥å¡¼¥Ù¥ë¥È #JN 0 ¤·¤å¤¤ ¼ç°Õ #T35 0 ¤·¤å¤¤ ¼ñ°Õ #T35 1 ¤·¤å¤¤ ¼ó°Ì #T35 3 ¤·¤å¤¤¤ó ¼ç°ø #T35 0 ¤·¤å¤¦ ¼þ #JS 0 ¤·¤å¤¦ ½µ #JS 0 ¤·¤å¤¦ ½£ #JS 6 ¤·¤å¤¦ ³â #KJ 0 ¤·¤å¤¦ ·­ #KJ 0 ¤·¤å¤¦ ¼¹ #KJ 0 ¤·¤å¤¦ ¼ü #KJ 0 ¤·¤å¤¦ ½¥ #KJ 0 ¤·¤å¤¦ ½¦ #KJ 0 ¤·¤å¤¦ ½« #KJ 0 ¤·¤å¤¦ ½¬ #KJ 0 ¤·¤å¤¦ ½® #KJ 0 ¤·¤å¤¦ ½² #KJ 0 ¤·¤å¤¦ ½³ #KJ 0 ¤·¤å¤¦ ½´ #KJ 0 ¤·¤å¤¦ ½¶ #KJ 0 ¤·¤å¤¦ ½· #KJ 0 ¤·¤å¤¦ À¢ #KJ 0 ¤·¤å¤¦ ¼ý #KJ 1 ¤·¤å¤¦ ½¡ #KJ 1 ¤·¤å¤¦ ½­ #KJ 1 ¤·¤å¤¦ ½° #KJ 1 ¤·¤å¤¦ ½± #KJ 1 ¤·¤å¤¦ ½¹ #KJ 1 ¤·¤å¤¦ ½ª #KJ 12 ¤·¤å¤¦ ½¢ #KJ 2 ¤·¤å¤¦ ½¤ #KJ 2 ¤·¤å¤¦ ½© #KJ 2 ¤·¤å¤¦ ½¯ #KJ 2 ¤·¤å¤¦ ½° #SUC 0 ¤·¤å¤¦ ½¸ #SUC 0 ¤·¤å¤¦ ½§ #T35 0 ¤·¤å¤¦ ¼þ #T35 11 ¤·¤å¤¦ ½µ #T35 121 ¤·¤å¤¦ ½¨ #T35 19 ¤·¤å¤¦ ½¸ #T35 5 ¤·¤å¤¦ ½£ #T35 6 ¤·¤å¤¦¤¤ ½¦°ä #T35 0 ¤·¤å¤¦¤¤ ¼þ°Ï #T35 2 ¤·¤å¤¦¤¤¤Á ½¤°ì #JNM 0 ¤·¤å¤¦¤¤¤Á ½¨°ì #JNM 0 ¤·¤å¤¦¤¤¤Ä ½¨°ï #JN 0 ¤·¤å¤¦¤¤¤Ä ½¨°ï #T05 1 ¤·¤å¤¦¤¤¤ó ½°±¡ #T35 0 ¤·¤å¤¦¤¦ ñ屫 #T35 0 ¤·¤å¤¦¤¨¤¤¤·¤ã ½¸±Ñ¼Ò #KK 1 ¤·¤å¤¦¤¨¤­ ½¢Ìò #T30 0 ¤·¤å¤¦¤¨¤­ ¼ý±× #T35 2 ¤·¤å¤¦¤« ½¸²Ù #T30 0 ¤·¤å¤¦¤«¤¤ ¼þ²ó #T30 1 ¤·¤å¤¦¤«¤¤ ½¸²ñ #T30 16 ¤·¤å¤¦¤«¤¯ ¼ý³Ï #T30 1 ¤·¤å¤¦¤«¤ó ½µ´Ö #JS 62 ¤·¤å¤¦¤«¤ó ½µ´© #T35 0 ¤·¤å¤¦¤«¤ó ½µ´Ö #T35 29 ¤·¤å¤¦¤«¤ó ½¬´· #T35 8 ¤·¤å¤¦¤«¤ó¤· ½µ´©»ï #T35 1 ¤·¤å¤¦¤¬¤¯ ½¢³Ø #T30 0 ¤·¤å¤¦¤¬¤¯ ½¤³Ø #T30 0 ¤·¤å¤¦¤­ ¼þ´÷ #JS 0 ¤·¤å¤¦¤­ ¼þ´ü #JS 0 ¤·¤å¤¦¤­ ¼þ´÷ #T35 0 ¤·¤å¤¦¤­ ½ª´ü #T35 1 ¤·¤å¤¦¤­ ¼þ´ü #T35 4 ¤·¤å¤¦¤­ ½­µ¤ #T35 0 ¤·¤å¤¦¤­¤å¤¦ ½³µå #T35 0 ¤·¤å¤¦¤­¤å¤¦ ½µµÙ #T35 1 ¤·¤å¤¦¤­¤å¤¦ ½µµë #T35 5 ¤·¤å¤¦¤­¤ç¤¦ ½¡¶µ #T35 3 ¤·¤å¤¦¤­¤ç¤¦¤Û¤¦¤¸¤ó ½¡¶µË¡¿Í #T35 0 ¤·¤å¤¦¤­¤ç¤¯ êù¶Ê #T30 0 ¤·¤å¤¦¤­¤ç¤¯ ½ª¶É #T30 1 ¤·¤å¤¦¤­¤ç¤¯ ½ª¶Ê #T35 0 ¤·¤å¤¦¤­¤ó ½¸¶â #T30 5 ¤·¤å¤¦¤® ½Ëµ· #T35 1 ¤·¤å¤¦¤®¤¤¤ó ½°µÄ±¡ #KK 0 ¤·¤å¤¦¤®¤ç¤¦ ½¢¶È #T30 0 ¤·¤å¤¦¤®¤ç¤¦ ½¤¶È #T30 0 ¤·¤å¤¦¤®¤ç¤¦ ½ª¶È #T30 2 ¤·¤å¤¦¤±¤¤ ½¸·× #T30 10 ¤·¤å¤¦¤±¤Ä ½ª·ë #T30 1 ¤·¤å¤¦¤±¤Ä ½¸·ë #T30 2 ¤·¤å¤¦¤±¤ó ½¸¸¢ #T35 1 ¤·¤å¤¦¤²¤­ ½±·â #T30 1 ¤·¤å¤¦¤²¤ó ½Ë¸À #T35 0 ¤·¤å¤¦¤³ ½¤»Ò #JNM 0 ¤·¤å¤¦¤³¤¦ ¼þ¹Ò #T30 0 ¤·¤å¤¦¤³¤¦ ½¢¹Ò #T30 0 ¤·¤å¤¦¤³¤¦ ½¤¹¥ #T30 0 ¤·¤å¤¦¤³¤¦ ½¹¹Ô #T35 0 ¤·¤å¤¦¤´¤¦ ½¸¹ç #T30 143 ¤·¤å¤¦¤µ¤¤ ¼ýºÜ #T30 0 ¤·¤å¤¦¤µ¤¤ ½¨ºÍ #T35 1 ¤·¤å¤¦¤µ¤¯ ½¨ºî #T35 1 ¤·¤å¤¦¤µ¤ó ½¸»¶ #T30 0 ¤·¤å¤¦¤µ¤ó ½°»² #T35 0 ¤·¤å¤¦¤· ½ª»ß #T30 10 ¤·¤å¤¦¤· ½ª»Ï #T30 4 ¤·¤å¤¦¤· ½¤»Î #T35 16 ¤·¤å¤¦¤· ¼ý»Ù #T35 2 ¤·¤å¤¦¤·¤å¤¦ ½¯½¸ #T30 1 ¤·¤å¤¦¤·¤å¤¦ ¼ý½¸ #T30 13 ¤·¤å¤¦¤·¤å¤¦ ¼ý½¦ #T30 5 ¤·¤å¤¦¤·¤å¤¯ ¼ý½Ì #T30 0 ¤·¤å¤¦¤·¤ç¤¦ ¼þ¾Ï #T30 0 ¤·¤å¤¦¤·¤ç¤¦ ½¥½ý #T35 2 ¤·¤å¤¦¤·¤ç¤¯ ½¢¿¦ #T30 29 ¤·¤å¤¦¤·¤ç¤¯ ½¤¾þ #T30 4 ¤·¤å¤¦¤·¤ó ¼¹¿´ #T30 0 ¤·¤å¤¦¤·¤ó ½¢¿² #T30 1 ¤·¤å¤¦¤·¤ó ½ª¿È #T35 1 ¤·¤å¤¦¤¸ ¼þÆó #JNM 0 ¤·¤å¤¦¤¸ ½¤»Ê #JNM 0 ¤·¤å¤¦¤¸ ½¤Æó #JNM 0 ¤·¤å¤¦¤¸ ½¬»ú #T35 0 ¤·¤å¤¦¤¸ ½°¼ª #T35 0 ¤·¤å¤¦¤¸ ½¤¼­ #T35 1 ¤·¤å¤¦¤¸¤Ä ½ªÆü #T35 1 ¤·¤å¤¦¤¸¤å¤¯ ½¬½Ï #T30 0 ¤·¤å¤¦¤¸¤ç¤· ½ª½õ»ì #T35 0 ¤·¤å¤¦¤¸¤ó ¼ü¿Í #T35 0 ¤·¤å¤¦¤»¤¤ ½¤À° #T30 0 ¤·¤å¤¦¤»¤¤ ½¸À® #T30 0 ¤·¤å¤¦¤»¤¤ ½¤Àµ #T30 255 ¤·¤å¤¦¤»¤¤ ½ªÀ¸ #T35 0 ¤·¤å¤¦¤»¤¤ ½¬À­ #T35 1 ¤·¤å¤¦¤»¤­ ½¸ÀÑ #T30 3 ¤·¤å¤¦¤»¤ó ¼þÀû #T30 0 ¤·¤å¤¦¤»¤ó ½ªÀï #T30 0 ¤·¤å¤¦¤¼¤ó ½¤Á¶ #T30 0 ¤·¤å¤¦¤½ ½¥ÁÊ #T35 0 ¤·¤å¤¦¤½ ½­ÁÇ #T35 0 ¤·¤å¤¦¤½¤¦ ¼þ·¬ #JCN 0 ¤·¤å¤¦¤½¤¯ ½ªÂ© #T30 0 ¤·¤å¤¦¤½¤¯ ½¸Â« #T30 0 ¤·¤å¤¦¤½¤¯ ¼ý« #T30 3 ¤·¤å¤¦¤¾¤¦ ½¤»° #JNM 0 ¤·¤å¤¦¤¾¤¯ ½¬Â¯ #T35 0 ¤·¤å¤¦¤¿¤¤ ½¹ÂÖ #T35 0 ¤·¤å¤¦¤¿¤¤¤»¤¤ ½¸ÂçÀ® #T30 0 ¤·¤å¤¦¤¿¤ó ½¥Ã² #T30 2 ¤·¤å¤¦¤¿¤ó ½ªÃ¼ #T35 16 ¤·¤å¤¦¤À¤¤¤¹¤¦ ½ªÂå¿ô #T35 1 ¤·¤å¤¦¤À¤ó ½¸ÃÄ #T35 7 ¤·¤å¤¦¤Á ¼þÃÒ #JCN 0 ¤·¤å¤¦¤Á æ·ÃÑ #T30 1 ¤·¤å¤¦¤Á ¼þÃÎ #T30 19 ¤·¤å¤¦¤Á ½¬ÃÎ #T35 0 ¤·¤å¤¦¤Á¤¯ ½¤ÃÛ #T30 0 ¤·¤å¤¦¤Á¤ã¤¯ ¼¹Ãå #T30 0 ¤·¤å¤¦¤Á¤ã¤¯ ½ªÃå #T35 0 ¤·¤å¤¦¤Á¤å¤¦ ½¸Ãæ #T30 30 ¤·¤å¤¦¤Á¤ç¤¦ ½¶Ä¹ #T35 0 ¤·¤å¤¦¤Æ¤ó ½ªÅÀ #T35 2 ¤·¤å¤¦¤Ç¤ó ½ªÅÅ #T35 1 ¤·¤å¤¦¤È ¸È #T35 0 ¤·¤å¤¦¤È¤¦ ¼þÅì #JCN 0 ¤·¤å¤¦¤È¤¦ ¼þÅþ #T05 1 ¤·¤å¤¦¤È¤¯ ¼ýÆÀ #T30 0 ¤·¤å¤¦¤È¤¯ ½¤ÆÀ #T30 1 ¤·¤å¤¦¤È¤¯ ½¦ÆÀ #T30 1 ¤·¤å¤¦¤È¤¯ ½¬ÆÀ #T30 3 ¤·¤å¤¦¤È¤á ¸È #T35 1 ¤·¤å¤¦¤É¤¦ ½¤Æ» #T30 0 ¤·¤å¤¦¤Ë¤å¤¦ ¼ýÆþ #T35 9 ¤·¤å¤¦¤Ë¤ó ½¢Ç¤ #T30 3 ¤·¤å¤¦¤Í¤ó ¼þǯ #JS 2 ¤·¤å¤¦¤Í¤ó ¼¹Ç° #T35 0 ¤·¤å¤¦¤Í¤ó ¼þǯ #T35 1 ¤·¤å¤¦¤Î¤¦ ¼ýǼ #T30 3 ¤·¤å¤¦¤Ï ½¡ÇÉ #T35 0 ¤·¤å¤¦¤Ï ½©ÇÈ #T35 0 ¤·¤å¤¦¤Ï ¼þÇÈ #T35 2 ¤·¤å¤¦¤Ï¤¤ ½¸ÇÛ #T30 1 ¤·¤å¤¦¤Ï¤¹¤¦ ¼þÇÈ¿ô #T35 11 ¤·¤å¤¦¤Ð¤Ä ½¨È´ #T05 0 ¤·¤å¤¦¤Ð¤ó ½ªÈ× #T35 1 ¤·¤å¤¦¤Õ¤¯ ½¤Éü #T30 2 ¤·¤å¤¦¤Ö¤ó ½¹Ê¹ #T35 0 ¤·¤å¤¦¤Ö¤ó ½©Ê¬ #T35 1 ¤·¤å¤¦¤Ø¤­ ½¬ÊÊ #T35 0 ¤·¤å¤¦¤Ø¤ó ¼þÊÕ #T35 6 ¤·¤å¤¦¤Û¤¦ ½©Ë§ #CN 0 ¤·¤å¤¦¤Û¤¦ ½µÊó #T35 16 ¤·¤å¤¦¤Ü¤¦ ½°Ë¾ #T35 0 ¤·¤å¤¦¤Ü¤¦ ½¹ËÆ #T35 0 ¤·¤å¤¦¤Þ¤¤ ¥·¥å¥¦¥Þ¥¤ #T35 0 ¤·¤å¤¦¤Þ¤¤ ¾ÆÇä #T35 0 ¤·¤å¤¦¤Þ¤¯ ½ªËë #T35 0 ¤·¤å¤¦¤Þ¤Ä ½ªËö #T35 0 ¤·¤å¤¦¤Þ¤Ä ½µËö #T35 17 ¤·¤å¤¦¤ß¤ó ½¢Ì² #T30 0 ¤·¤å¤¦¤á¤¤ ½±Ì¾ #T30 0 ¤·¤å¤¦¤â¤¯ ½°ÌÜ #T35 1 ¤·¤å¤¦¤ä ½ªÌë #T35 1 ¤·¤å¤¦¤ä¤¯ ½¸Ìó #T30 4 ¤·¤å¤¦¤æ¤¦ ¼þÍ· #T30 1 ¤·¤å¤¦¤è¤¦ ¼ýÍÑ #T30 0 ¤·¤å¤¦¤è¤¦ ½¤ÍÜ #T30 0 ¤·¤å¤¦¤è¤¦ ¼ýÍÆ #T30 3 ¤·¤å¤¦¤é¤¤ ½±Íè #T30 0 ¤·¤å¤¦¤é¤¯ ½¸Íî #T35 1 ¤·¤å¤¦¤ê ½¤Íý #T30 12 ¤·¤å¤¦¤ê¤ç¤¦ ½ªÎ» #T30 255 ¤·¤å¤¦¤ê¤ç¤¦ ½¤Î» #T30 3 ¤·¤å¤¦¤ê¤ç¤¦ ¼ýÎÌ #T35 0 ¤·¤å¤¦¤ê¤ç¤¦¤´ ½ªÎ»¸å #T35 0 ¤·¤å¤¦¤ê¤ó ½©ðà #T35 0 ¤·¤å¤¦¤ì¤¤ ½©Îä #T35 0 ¤·¤å¤¦¤ì¤¤ ½µÎá #T35 1 ¤·¤å¤¦¤ì¤ó ¼ýÚÌ #T30 0 ¤·¤å¤¦¤ì¤ó ½¤Îý #T30 0 ¤·¤å¤¦¤í¤¦ ½¢Ï« #T30 0 ¤·¤å¤¦¤í¤¯ ½¸Ï¿ #T30 0 ¤·¤å¤¦¤í¤¯ ¼ýÏ¿ #T30 4 ¤·¤å¤¦¤í¤ó ½¤ÏÀ #T35 7 ¤·¤å¤¦¤ï¤¤ ¼ýÏÅ #T30 0 ¤·¤å¤¨¤¤ ¼é±Ò #T35 3 ¤·¤å¤¨¤ó ¼ç±é #T30 1 ¤·¤å¤«¤¤ ¼ç³¡ #T35 0 ¤·¤å¤«¤¯ ¼ç³Ê #T35 1 ¤·¤å¤«¤ó ¼ç´´ #T35 10 ¤·¤å¤«¤ó ¼ç´Ñ #T35 4 ¤·¤å¤¬¡¼ ¥·¥å¥¬¡¼ #T35 1 ¤·¤å¤¬¤ó ¼ç´ã #T35 3 ¤·¤å¤­ ¼êµ­ #T30 1 ¤·¤å¤­¤å¤¦¤Ï ¼éµìÇÉ #T35 0 ¤·¤å¤® ¼êµ» #T35 1 ¤·¤å¤® ¼çµÁ #T35 10 ¤·¤å¤®¤ç¤¦ ½¤¹Ô #T30 5 ¤·¤å¤¯ ½Ç #KJ 0 ¤·¤å¤¯ ½È #KJ 0 ¤·¤å¤¯ ½Í #KJ 0 ¤·¤å¤¯ ½Ê #KJ 1 ¤·¤å¤¯ ½Ì #KJ 6 ¤·¤å¤¯ ½Ë #S5 2 ¤·¤å¤¯ ½É #S5 4 ¤·¤å¤¯ ½Ë #T30 2 ¤·¤å¤¯ ½É #T30 8 ¤·¤å¤¯¤¢ ½ÉáÞ #T35 0 ¤·¤å¤¯¤¤ ½Ë°Õ #T35 0 ¤·¤å¤¯¤¨¤ó ½Ë±ã #T35 0 ¤·¤å¤¯¤¬ ½Ë²ì #T30 2 ¤·¤å¤¯¤¬¤ó ½É´ê #T35 0 ¤·¤å¤¯¤® ½Ëµ· #T35 0 ¤·¤å¤¯¤µ¤Ä ½Ìºþ #T30 0 ¤·¤å¤¯¤·¤ã ½Ì¼Ì #T30 0 ¤·¤å¤¯¤·¤ã ½É¼Ë #T35 1 ¤·¤å¤¯¤·¤ã¤¯ ½Ì¼Ü #T30 6 ¤·¤å¤¯¤·¤å ½É¼ç #T35 1 ¤·¤å¤¯¤·¤ç¤¦ ½Ì¾® #T30 17 ¤·¤å¤¯¤¸ ½Ë¼­ #T35 2 ¤·¤å¤¯¤¸¤Ä ½ËÆü #T35 2 ¤·¤å¤¯¤¸¤ç ½Ê½÷ #T35 0 ¤·¤å¤¯¤º ½Ì¿Þ #T35 0 ¤·¤å¤¯¤»¤¤ ½ÍÀµ #T30 0 ¤·¤å¤¯¤¼¤ó ½ÍÁ³ #F03 0 ¤·¤å¤¯¤¿¤¤ ½ÌÂà #T30 2 ¤·¤å¤¯¤À¤¤ ½ÉÂê #T30 17 ¤·¤å¤¯¤Á¤ç¤¯ ½Éľ #T30 0 ¤·¤å¤¯¤Æ¤­ ½ÉŨ #T35 0 ¤·¤å¤¯¤Æ¤ó ½Ëŵ #T35 1 ¤·¤å¤¯¤Ç¤ó ½ËÅÅ #T35 0 ¤·¤å¤¯¤Ï¤¤ ½ËÇÕ #T35 0 ¤·¤å¤¯¤Ï¤¯ ½ÉÇñ #T30 17 ¤·¤å¤¯¤Ð ½É¾ì #T35 0 ¤·¤å¤¯¤Õ¤¯ ½ËÊ¡ #T30 1 ¤·¤å¤¯¤Û¤¦ ½Ëˤ #T35 0 ¤·¤å¤¯¤Ü¤¦ ½É˾ #T30 0 ¤·¤å¤¯¤á¤¤ ½ÉÌ¿ #T35 2 ¤·¤å¤¯¤ó ¼ì·® #T35 0 ¤·¤å¤¯¤ó ¼ç·¯ #T35 1 ¤·¤å¤±¤¤ ¼ç·× #T35 0 ¤·¤å¤±¤ó ¼ç¸¢ #T35 1 ¤·¤å¤²¤¤ ¼ê·Ý #T35 0 ¤·¤å¤³¤¦ ¼ñ¸þ #T35 1 ¤·¤å¤´ ¼é¸î #T30 0 ¤·¤å¤´ ¼ç¸ì #T35 3 ¤·¤å¤´¤·¤ó ¼é¸î¿À #T35 0 ¤·¤å¤µ ¼çºº #T35 1 ¤·¤å¤µ¤¤ ¼çºË #T30 1 ¤·¤å¤µ¤¤ ¼çºÅ #T30 7 ¤·¤å¤µ¤¤ ¼çºÚ #T35 0 ¤·¤å¤µ¤ó ¼ç»Á #T35 0 ¤·¤å¤¶¤¤ ¼èºà #T30 1 ¤·¤å¤¶¤ó ¼î»» #T35 0 ¤·¤å¤· ¼ï»Ò #T35 1 ¤·¤å¤· ¼ñ»Ý #T35 13 ¤·¤å¤· ¼ç»Ý #T35 5 ¤·¤å¤·¤ã ¼è¼Î #T30 1 ¤·¤å¤·¤ã¤»¤ó¤¿¤¯ ¼è¼ÎÁªÂò #T30 1 ¤·¤å¤·¤å ¼ï¡¹ #T35 5 ¤·¤å¤·¤ç¤¦ ¼ì¾¡ #T05 3 ¤·¤å¤·¤ç¤¦ ¼ç¾§ #T30 0 ¤·¤å¤·¤ç¤¦ ¼ç¾­ #T35 0 ¤·¤å¤·¤ç¤¦ ¼óÁê #T35 4 ¤·¤å¤·¤ç¤¯ ¼ç¿© #T35 0 ¤·¤å¤·¤ó ¼ç¿³ #T35 0 ¤·¤å¤¸ ¼ç»ö #T35 0 ¤·¤å¤¸ ¼ç¼­ #T35 25 ¤·¤å¤¸¤¤ ¼ç¼£°å #T35 0 ¤·¤å¤¸¤¯ ¼ç¼´ #T35 0 ¤·¤å¤¸¤å ¼ï¡¹ #T05 7 ¤·¤å¤¸¤å¤¦ ¼ç½¾ #T35 1 ¤·¤å¤¸¤å¤Ä ¼ê½Ñ #T30 2 ¤·¤å¤¸¤å¤Ä ¼ç½Ò #T35 0 ¤·¤å¤¸¤ç¤¦ ½°À¸ #T35 0 ¤·¤å¤¸¤ó ¼ç¿Í #T35 1 ¤·¤å¤¸¤ó¤³¤¦ ¼ç¿Í¸ø #T35 2 ¤·¤å¤»¤¤ ¼éÀª #T15 2 ¤·¤å¤»¤­ ¼óÀÊ #T35 0 ¤·¤å¤»¤­ ¼çÀÊ #T35 1 ¤·¤å¤¼¤ó¤¸ ½¤Á±»û #CN 0 ¤·¤å¤¾¤¦ ¼ò¤ #T35 0 ¤·¤å¤¾¤¯ ¼ï² #T35 2 ¤·¤å¤¿¤¤ ¼çÂÎ #T35 5 ¤·¤å¤À¤¤ ¼ðÂç #T30 1 ¤·¤å¤À¤¤ ¼çÂê #T35 2 ¤·¤å¤À¤¤¤« ¼çÂê²Î #T35 0 ¤·¤å¤À¤ó ¼êÃÊ #T35 84 ¤·¤å¤Á¤Ë¤¯¤ê¤ó ¼òÃÓÆùÎÓ #T35 1 ¤·¤å¤Á¤å¤¦ ¼êÃæ #T35 1 ¤·¤å¤Á¤ç¤¦ ¼çÄ¥ #T30 28 ¤·¤å¤Á¤ç¤¦ ¼çĬ #T35 0 ¤·¤å¤Á¤ç¤¦ ¼óĹ #T35 0 ¤·¤å¤Á¤ç¤¦ ¼çħ #T35 1 ¤·¤å¤Ã¤« ½Ð²Ð #T30 0 ¤·¤å¤Ã¤« ½Ð²Ù #T30 74 ¤·¤å¤Ã¤«¤ó ½Ð´½ #T30 0 ¤·¤å¤Ã¤­¤ó ½Ð¶â #T30 2 ¤·¤å¤Ã¤­¤ó ½Ð¶Ð #T30 9 ¤·¤å¤Ã¤±¤Ä ½Ð·ì #T30 0 ¤·¤å¤Ã¤±¤Ä ½Ð·ç #T35 4 ¤·¤å¤Ã¤³ ½Ð¸Ë #T30 0 ¤·¤å¤Ã¤³¤¦ ½Ð¹Æ #T30 0 ¤·¤å¤Ã¤³¤¦ ½Ð¹Ò #T30 0 ¤·¤å¤Ã¤³¤¦ ½Ð¸þ #T30 5 ¤·¤å¤Ã¤³¤¯ ½Ð¹ñ #T30 1 ¤·¤å¤Ã¤µ¤ó ½Ð»º #T30 2 ¤·¤å¤Ã¤· ½Ð»ñ #T30 2 ¤·¤å¤Ã¤·¤ã ½Ð¼Ò #T30 7 ¤·¤å¤Ã¤·¤ç ½Ð½ê #T30 0 ¤·¤å¤Ã¤·¤ç ½Ð½è #T35 1 ¤·¤å¤Ã¤·¤ç¤¦ ½ÐÀ¸ #T30 0 ¤·¤å¤Ã¤·¤ó ½Ð¿È #T35 8 ¤·¤å¤Ã¤¹¤¤ ½Ð¿å #T30 0 ¤·¤å¤Ã¤» ½ÐÀ¤ #T30 13 ¤·¤å¤Ã¤»¤¤ ½ÐÀ¬ #T30 0 ¤·¤å¤Ã¤»¤¤ ½ÐÀ¸ #T30 1 ¤·¤å¤Ã¤»¤­ ½ÐÀÊ #T30 73 ¤·¤å¤Ã¤»¤­¤·¤ã ½ÐÀÊ¼Ô #T35 0 ¤·¤å¤Ã¤½¤¦ ½ÐÁö #T30 0 ¤·¤å¤Ã¤¿¤¤ ½ÐÍè #T30 0 ¤·¤å¤Ã¤Á¤ç¤¦ ½ÐÄ¥ #T30 57 ¤·¤å¤Ã¤Á¤ç¤¦ ½ÐĶ #T35 0 ¤·¤å¤Ã¤Æ¤ó ½ÐŹ #T30 0 ¤·¤å¤Ã¤Æ¤ó ½ÐŸ #T30 8 ¤·¤å¤Ã¤Æ¤ó ½Ðŵ #T35 4 ¤·¤å¤Ã¤È¤¦ ½ÐƬ #T30 0 ¤·¤å¤Ã¤Ñ¤Ä ½Ðȯ #T30 27 ¤·¤å¤Ã¤Ñ¤ó ½ÐÈÁ #T30 0 ¤·¤å¤Ã¤Ñ¤ó ½ÐÈÇ #T30 18 ¤·¤å¤Ã¤Ô ½ÐÈñ #T30 2 ¤·¤å¤Ã¤Ô¤ó ½ÐÉÊ #T30 2 ¤·¤å¤Ã¤Ý¤ó ½ÐËÛ #T30 0 ¤·¤å¤Ä ½Ð #T35 37 ¤·¤å¤Ä¤¨¤ó ½Ð±é #T30 5 ¤·¤å¤Ä¤¬¤ó ½Ð´ê #T30 4 ¤·¤å¤Ä¤²¤ó ½Ð¸½ #T30 12 ¤·¤å¤Ä¤´¤¯ ½Ð¹ö #T30 0 ¤·¤å¤Ä¤¸ ½Ð¼« #T35 0 ¤·¤å¤Ä¤¸¤ç¤¦ ½Ð¾ì #T30 1 ¤·¤å¤Ä¤¸¤ó ½Ð¿Ø #T30 0 ¤·¤å¤Ä¤À¤¤ ½ÐÂê #T30 0 ¤·¤å¤Ä¤É¤¦ ½Ðư #T30 0 ¤·¤å¤Ä¤Ë¤å¤¦ ½ÐÆþ #T30 0 ¤·¤å¤Ä¤Ë¤å¤¦¤³¤¯ ½ÐÆþ¹ñ #T30 0 ¤·¤å¤Ä¤Ð ½ÐÇÏ #T30 0 ¤·¤å¤Ä¤Ü¤Ä ½ÐË× #T30 4 ¤·¤å¤Ä¤é¤¤ ½ÐÍè #T30 0 ¤·¤å¤Ä¤ê¤ç¤¦ ½Ðµù #T30 0 ¤·¤å¤Ä¤ê¤ç¤¦ ½ÐÎÄ #T30 2 ¤·¤å¤Ä¤ê¤ç¤¯ ½ÐÎÏ #T30 224 ¤·¤å¤Ä¤ê¤ç¤¯¤»¤ó ½ÐÎÏÀþ #T35 68 ¤·¤å¤Ä¤ë¤¤ ½ÐÎÝ #T30 0 ¤·¤å¤È ¼óÅÔ #T35 9 ¤·¤å¤È¤¦ ¼óÆ£ #JNS 0 ¤·¤å¤È¤¦ ¼ïÅ÷ #T30 0 ¤·¤å¤È¤¯ ¼èÆÀ #T30 58 ¤·¤å¤È¤±¤ó ¼óÅÔ·÷ #T35 1 ¤·¤å¤È¤·¤Æ ¼ç¤È¤·¤Æ #F14 0 ¤·¤å¤É¤¦ ¼çƳ #T30 2 ¤·¤å¤É¤¦ ¼êư #T35 13 ¤·¤å¤Ë¤ó ¼çǤ #T35 42 ¤·¤å¤Î¤¦ ¼óǾ #T35 1 ¤·¤å¤Ï¤ó ¼çÈÈ #T35 0 ¤·¤å¤Ò ¼ïÈé #T35 0 ¤·¤å¤Ò ¼éÈë #T35 1 ¤·¤å¤Ò¤Ä ¼çÉ® #T35 0 ¤·¤å¤Ò¤ó ¼çÉÐ #T35 1 ¤·¤å¤Ó ¼éÈ÷ #T30 6 ¤·¤å¤Ó ¼óÈø #T35 1 ¤·¤å¤Õ ¼óÉÜ #T35 0 ¤·¤å¤Õ ¼çÉ× #T35 1 ¤·¤å¤Õ ¼çÉØ #T35 4 ¤·¤å¤Ö¤ó ¼çʸ #T35 0 ¤·¤å¤×¡¼¤ë ¥·¥å¥×¡¼¥ë #T35 1 ¤·¤å¤Ù¤Ä ¼ïÊÌ #T30 22 ¤·¤å¤Û¤¦ ¼çÊö #T35 0 ¤·¤å¤Û¤¦ ¼êË¡ #T35 31 ¤·¤å¤Ü¤¦ ¼óËÅ #T30 2 ¤·¤å¤ß ¼ñÌ£ #T35 20 ¤·¤å¤ß¤ì¡¼¤·¤ç¤ó ¥·¥å¥ß¥ì¡¼¥·¥ç¥ó #T30 4 ¤·¤å¤à ¼ç̳ #T35 0 ¤·¤å¤â¤¯ ¼ïÌÜ #T35 3 ¤·¤å¤ä¤¯ ¼çÌò #T35 3 ¤·¤å¤è¤¦ ¼çÍ× #T05 12 ¤·¤å¤è¤¯ ¼çÍã #T35 0 ¤·¤å¤é ½¤Íå #T35 1 ¤·¤å¤é¤ó ¼òÍð #T35 0 ¤·¤å¤ê¤å¤¦ ¼çή #T35 5 ¤·¤å¤ê¤ç¤¦ ¼íÎÄ #T30 4 ¤·¤å¤ê¤ç¤¦ ¼óÎÎ #T35 2 ¤·¤å¤ê¤ç¤¯ ¼çÎÏ #T35 1 ¤·¤å¤ë¤¤ ¼ïÎà #JS 124 ¤·¤å¤ë¤¤ ¼ïÎà #T35 62 ¤·¤å¤í ¥·¥å¥í #T35 0 ¤·¤å¤í ܣݭ #T35 0 ¤·¤å¤ï ¼êÏà #T35 0 ¤·¤å¤ï¤ó ¼êÏÓ #T35 0 ¤·¤å¤ó ½Ô #KJ 0 ¤·¤å¤ó ½Ó #KJ 1 ¤·¤å¤ó ½Ö #KJ 1 ¤·¤å¤ó ½× #KJ 1 ¤·¤å¤ó ½Ø #KJ 1 ¤·¤å¤ó ½Õ #KJ 2 ¤·¤å¤ó ½Ù #KJ 3 ¤·¤å¤ó ½Ü #T35 5 ¤·¤å¤ó¤¤¤Á ½Ó°ì #JNM 0 ¤·¤å¤ó¤¨¤¤ ½Ó±Ñ #T35 0 ¤·¤å¤ó¤«¤·¤å¤¦¤È¤¦ ½Õ²Æ½©Åß #T35 0 ¤·¤å¤ó¤«¤ó ½Ö´Ö #T35 19 ¤·¤å¤ó¤­ ½Ôµ± #JN 0 ¤·¤å¤ó¤­ ½Õµ¨ #T35 1 ¤·¤å¤ó¤­¤ç ½Ôµñ #T30 0 ¤·¤å¤ó¤³¤¦ ½×¹© #T30 0 ¤·¤å¤ó¤µ¤¤ ½ÓºÍ #T35 0 ¤·¤å¤ó¤¸ ½ÓÆó #JNM 0 ¤·¤å¤ó¤¸ ½Ö»þ #T35 2 ¤·¤å¤ó¤¸¤Æ¤­ ½Ö»þŪ #T15 0 ¤·¤å¤ó¤¸¤å¤¦ ½Õ½© #T35 1 ¤·¤å¤ó¤¸¤å¤ó íõ½ä #F00 0 ¤·¤å¤ó¤»¤Ä Þ´ÞØ #T30 0 ¤·¤å¤ó¤»¤Ä ½ÕÀã #T35 0 ¤·¤å¤ó¤½¤¯ ½Ù­ #T05 0 ¤·¤å¤ó¤½¤¯ ½Ó­ #T35 0 ¤·¤å¤ó¤¿¤í¤¦ ½ÓÂÀϺ #JNM 0 ¤·¤å¤ó¤À¤ó ½ÕÃÈ #T35 0 ¤·¤å¤ó¤È¤¦ ½ÕÆ® #T35 0 ¤·¤å¤ó¤Ó¤ó ½ÓÉÒ #T05 0 ¤·¤å¤ó¤Ö¤ó ½Õʬ #T35 0 ¤·¤å¤ó¤Ù¤Ä ½ÔÊÌ #T30 0 ¤·¤æ¤¦ »äÍ­ #T30 2 ¤·¤æ¤¦ »óͺ #T35 0 ¤·¤æ¤¦¤Á »äÍ­ÃÏ #T35 0 ¤·¤ç ½ð #CNSUC1 1 ¤·¤ç µÐ #KJ 0 ¤·¤ç ½í #KJ 0 ¤·¤ç ½î #KJ 0 ¤·¤ç ½ï #KJ 0 ¤·¤ç ½ò #KJ 0 ¤·¤ç ½ó #KJ 0 ¤·¤ç Á» #KJ 0 ¤·¤ç ½ë #KJ 1 ¤·¤ç ½ì #KJ 1 ¤·¤ç ½ô #KJ 10 ¤·¤ç ½é #KJ 67 ¤·¤ç ½é #PRE 0 ¤·¤ç ½ô #PRE 0 ¤·¤ç ½è #S5 25 ¤·¤ç ½ê #SUC 0 ¤·¤ç ½ð #SUC 0 ¤·¤ç ½ñ #SUC 0 ¤·¤ç ½è #T30 25 ¤·¤ç ½ð #T35 0 ¤·¤ç ½ñ #T35 152 ¤·¤ç ½ê #T35 9 ¤·¤ç¡¼ ¥·¥ç¡¼ #T35 10 ¤·¤ç¡¼¤È ¥·¥ç¡¼¥È #T00 2 ¤·¤ç¤¢¤¯ ½ô°­ #T35 1 ¤·¤ç¤¤ ½ê°Ù #T35 0 ¤·¤ç¤¤¤ó ½ê°÷ #T35 0 ¤·¤ç¤¤¤ó ½ð°÷ #T35 0 ¤·¤ç¤¤¤ó ½ñ±¡ #T35 1 ¤·¤ç¤¦ ¾® #CNSUC1 13 ¤·¤ç¤¦ ¾¡ #JS 0 ¤·¤ç¤¦ ¾£ #JS 0 ¤·¤ç¤¦ ¾Ï #JS 0 ¤·¤ç¤¦ ·­ #KJ 0 ¤·¤ç¤¦ »¬ #KJ 0 ¤·¤ç¤¦ ¼Ä #KJ 0 ¤·¤ç¤¦ ½ý #KJ 0 ¤·¤ç¤¦ ½þ #KJ 0 ¤·¤ç¤¦ ¾¢ #KJ 0 ¤·¤ç¤¦ ¾¤ #KJ 0 ¤·¤ç¤¦ ¾¥ #KJ 0 ¤·¤ç¤¦ ¾¦ #KJ 0 ¤·¤ç¤¦ ¾¨ #KJ 0 ¤·¤ç¤¦ ¾© #KJ 0 ¤·¤ç¤¦ ¾« #KJ 0 ¤·¤ç¤¦ ¾¬ #KJ 0 ¤·¤ç¤¦ ¾² #KJ 0 ¤·¤ç¤¦ ¾³ #KJ 0 ¤·¤ç¤¦ ¾´ #KJ 0 ¤·¤ç¤¦ ¾¸ #KJ 0 ¤·¤ç¤¦ ¾¹ #KJ 0 ¤·¤ç¤¦ ¾º #KJ 0 ¤·¤ç¤¦ ¾¾ #KJ 0 ¤·¤ç¤¦ ¾¿ #KJ 0 ¤·¤ç¤¦ ¾À #KJ 0 ¤·¤ç¤¦ ¾Á #KJ 0 ¤·¤ç¤¦ ¾Â #KJ 0 ¤·¤ç¤¦ ¾Ä #KJ 0 ¤·¤ç¤¦ ¾Ç #KJ 0 ¤·¤ç¤¦ ¾Ñ #KJ 0 ¤·¤ç¤¦ ¾Ò #KJ 0 ¤·¤ç¤¦ ¾Ô #KJ 0 ¤·¤ç¤¦ ¾Ø #KJ 0 ¤·¤ç¤¦ ¾Ù #KJ 0 ¤·¤ç¤¦ ¾Û #KJ 0 ¤·¤ç¤¦ ¾Ü #KJ 0 ¤·¤ç¤¦ ¾à #KJ 0 ¤·¤ç¤¦ ¾á #KJ 0 ¤·¤ç¤¦ ¾â #KJ 0 ¤·¤ç¤¦ ¾ã #KJ 0 ¤·¤ç¤¦ ¾ä #KJ 0 ¤·¤ç¤¦ À« #KJ 0 ¤·¤ç¤¦ À­ #KJ 0 ¤·¤ç¤¦ À¯ #KJ 0 ¤·¤ç¤¦ Àµ #KJ 0 ¤·¤ç¤¦ Àº #KJ 0 ¤·¤ç¤¦ Áê #KJ 0 ¤·¤ç¤¦ Âý #KJ 0 ¤·¤ç¤¦ Æ´ #KJ 0 ¤·¤ç¤¦ ÆË #KJ 0 ¤·¤ç¤¦ ¾ª #KJ 1 ¤·¤ç¤¦ ¾µ #KJ 1 ¤·¤ç¤¦ ¾¶ #KJ 1 ¤·¤ç¤¦ ¾½ #KJ 1 ¤·¤ç¤¦ ¾Å #KJ 1 ¤·¤ç¤¦ ¾Æ #KJ 1 ¤·¤ç¤¦ ¾È #KJ 1 ¤·¤ç¤¦ ¾É #KJ 1 ¤·¤ç¤¦ ¾Ë #KJ 1 ¤·¤ç¤¦ ¾Ì #KJ 1 ¤·¤ç¤¦ ¾Í #KJ 1 ¤·¤ç¤¦ ¾Ð #KJ 1 ¤·¤ç¤¦ ¾Ó #KJ 1 ¤·¤ç¤¦ ¾Õ #KJ 1 ¤·¤ç¤¦ ¾Ö #KJ 1 ¤·¤ç¤¦ ¾× #KJ 1 ¤·¤ç¤¦ À¸ #KJ 1 ¤·¤ç¤¦ Áõ #KJ 1 ¤·¤ç¤¦ ëÖ #KJ 1 ¤·¤ç¤¦ ¾¼ #KJ 10 ¤·¤ç¤¦ ¾¡ #KJ 2 ¤·¤ç¤¦ ¾§ #KJ 2 ¤·¤ç¤¦ ¾¯ #KJ 2 ¤·¤ç¤¦ ¾± #KJ 2 ¤·¤ç¤¦ ¾· #KJ 2 ¤·¤ç¤¦ ¾» #KJ 2 ¤·¤ç¤¦ ¾Ý #KJ 2 ¤·¤ç¤¦ ØÞ #KJ 2 ¤·¤ç¤¦ æÆ #KJ 2 ¤·¤ç¤¦ ¾Ã #KJ 3 ¤·¤ç¤¦ ¾° #KJ 4 ¤·¤ç¤¦ ¾ß #KJ 6 ¤·¤ç¤¦ ¾® #PRE 0 ¤·¤ç¤¦ ¾Ê #PRE 0 ¤·¤ç¤¦ ¾Ú #S5 2 ¤·¤ç¤¦ ¾Þ #S5 5 ¤·¤ç¤¦ ¾Î #S5 53 ¤·¤ç¤¦ ¾¦ #SUC 0 ¤·¤ç¤¦ ¾É #SUC 0 ¤·¤ç¤¦ ¾Ê #SUC 0 ¤·¤ç¤¦ ¾Ú #SUC 0 ¤·¤ç¤¦ ¾Þ #SUC 0 ¤·¤ç¤¦ À­ #SUC 0 ¤·¤ç¤¦ Áê #SUC 0 ¤·¤ç¤¦ ¾Ú #T30 2 ¤·¤ç¤¦ ¾Þ #T30 5 ¤·¤ç¤¦ ¾Î #T30 53 ¤·¤ç¤¦ À­ #T35 0 ¤·¤ç¤¦ ¾Ê #T35 1 ¤·¤ç¤¦ ¾Ï #T35 198 ¤·¤ç¤¦ ¾­ #T35 3 ¤·¤ç¤¦ ¥·¥ç¥¦ #T35 4 ¤·¤ç¤¦ ¾® #T35 51 ¤·¤ç¤¦ À¸ #ZX 5 ¤·¤ç¤¦¤¢¤¯ ¾¸°® #T30 0 ¤·¤ç¤¦¤¢¤Ä ¾º°µ #T30 1 ¤·¤ç¤¦¤¤ ¾®°Û #T35 0 ¤·¤ç¤¦¤¤¤Á ¾±°ì #JNM 0 ¤·¤ç¤¦¤¤¤Á ¾º°ì #JNM 0 ¤·¤ç¤¦¤¤¤Á ¾¼°ì #JNM 0 ¤·¤ç¤¦¤¤¤Á ¾Ï°ì #JNM 0 ¤·¤ç¤¦¤¤¤Á Àµ°ì #JNM 0 ¤·¤ç¤¦¤¤¤Á¤í¤¦ ¾»°ìϺ #JNM 0 ¤·¤ç¤¦¤¤¤Á¤í¤¦ Àµ°ìϺ #JNM 0 ¤·¤ç¤¦¤¤¤ó ¾¡°ø #T35 0 ¤·¤ç¤¦¤¨¤ó Áñ±à #T30 0 ¤·¤ç¤¦¤¨¤ó ¾®±ã #T35 0 ¤·¤ç¤¦¤¨¤ó ¾·±ã #T35 1 ¤·¤ç¤¦¤ª¤¦ ¾¡±û #JCN 0 ¤·¤ç¤¦¤ª¤¦ ¾È±þ #T30 0 ¤·¤ç¤¦¤ª¤ó ¾Ã²» #T30 0 ¤·¤ç¤¦¤« ¾Ã²Ð #T30 2 ¤·¤ç¤¦¤« ¾Ã²½ #T30 9 ¤·¤ç¤¦¤«¤¤ ¾Ü²ò #T30 0 ¤·¤ç¤¦¤«¤¤ ¾È²ñ #T30 10 ¤·¤ç¤¦¤«¤¤ ¾Ò²ð #T30 64 ¤·¤ç¤¦¤«¤¤ ¾¦²ñ #T35 8 ¤·¤ç¤¦¤«¤¯ ¾º³Ê #T30 2 ¤·¤ç¤¦¤«¤É¤¦ ¾¾¹áƲ #KK 1 ¤·¤ç¤¦¤«¤ï ÁñÀî #JCN 0 ¤·¤ç¤¦¤«¤ó ½þ´Ô #T30 0 ¤·¤ç¤¦¤«¤ó ¾¤´­ #T30 2 ¤·¤ç¤¦¤«¤ó ¾­´± #T35 0 ¤·¤ç¤¦¤«¤ó ¾®´¨ #T35 2 ¤·¤ç¤¦¤¬ À¸Õª #T35 0 ¤·¤ç¤¦¤¬¤¤ ½ý³² #T30 0 ¤·¤ç¤¦¤¬¤¤ ¾ã³· #T35 0 ¤·¤ç¤¦¤¬¤¤ ¾Ä³° #T35 1 ¤·¤ç¤¦¤¬¤¤ À¸³¶ #T35 1 ¤·¤ç¤¦¤¬¤¤ ¾ã³² #T35 62 ¤·¤ç¤¦¤¬¤¯ ¾®³Û #T05 0 ¤·¤ç¤¦¤¬¤¯ ¾¯³Û #T05 0 ¤·¤ç¤¦¤¬¤¯ ¾©³Ø #T35 1 ¤·¤ç¤¦¤¬¤¯ ¾®³Ø #T35 1 ¤·¤ç¤¦¤¬¤¯¤«¤ó ¾®³Ø´Û #KK 1 ¤·¤ç¤¦¤¬¤¯¤»¤¤ ¾©³ØÀ¸ #T35 1 ¤·¤ç¤¦¤¬¤¯¤»¤¤ ¾®³ØÀ¸ #T35 3 ¤·¤ç¤¦¤¬¤Ã¤³¤¦ ¾®³Ø¹» #T35 2 ¤·¤ç¤¦¤¬¤Ä Àµ·î #T35 7 ¤·¤ç¤¦¤¬¤Ê ¤·¤ç¤¦¤¬¤Ê #KY 25 ¤·¤ç¤¦¤¬¤Î¤¦ ¤·¤ç¤¦¤¬¤Î¤¦ #KYU 2 ¤·¤ç¤¦¤¬¤ï ¾±Àî #JCN 0 ¤·¤ç¤¦¤­ Àµµ¤ #T35 0 ¤·¤ç¤¦¤­¤Á ¾¼µÈ #JNM 0 ¤·¤ç¤¦¤­¤Á ÀµµÈ #JNM 0 ¤·¤ç¤¦¤­¤Ü ¾®µ¬ÌÏ #T05 6 ¤·¤ç¤¦¤­¤ã¤¯ ½þµÑ #T30 0 ¤·¤ç¤¦¤­¤ã¤¯ ¾ÃµÑ #T30 0 ¤·¤ç¤¦¤­¤ã¤¯ ¾ÆµÑ #T30 0 ¤·¤ç¤¦¤­¤å¤¦ ¾ºµé #T30 0 ¤·¤ç¤¦¤­¤å¤¦ ¾ºµë #T30 0 ¤·¤ç¤¦¤­¤ç ¾Ãµî #T30 39 ¤·¤ç¤¦¤­¤ç¤¯ ¾Ã¶Ë #T35 1 ¤·¤ç¤¦¤­¤ó ½þ¶â #T35 0 ¤·¤ç¤¦¤­¤ó ¾Þ¶â #T35 1 ¤·¤ç¤¦¤® ¾­´ý #T35 1 ¤·¤ç¤¦¤®¤ç¤¦ ¾¦¶È #T35 2 ¤·¤ç¤¦¤°¤ó ¾­·³ #T35 4 ¤·¤ç¤¦¤±¤¤ Æ´ØÝ #T30 0 ¤·¤ç¤¦¤±¤¤ ¾Ý·Á #T35 0 ¤·¤ç¤¦¤±¤¤ ¾®·× #T35 9 ¤·¤ç¤¦¤±¤Ä ¾Æ·ë #T30 0 ¤·¤ç¤¦¤±¤ó ëú·ô #T35 2 ¤·¤ç¤¦¤±¤ó ¾Ú·ô #T35 3 ¤·¤ç¤¦¤²¤­ ¾×·â #T35 1 ¤·¤ç¤¦¤²¤­¤Ï ¾×·âÇÈ #T35 0 ¤·¤ç¤¦¤²¤ó ¾Ú¸À #T30 1 ¤·¤ç¤¦¤³ ¾Í»Ò #JNM 0 ¤·¤ç¤¦¤³ À»»Ò #JNM 0 ¤·¤ç¤¦¤³ æÆ»Ò #JNM 0 ¤·¤ç¤¦¤³ ¾Úµò #T35 13 ¤·¤ç¤¦¤³¤¦ ¾Ã¸÷ #T30 0 ¤·¤ç¤¦¤³¤¦ ¾Æ¹á #T30 0 ¤·¤ç¤¦¤³¤¦ ¾º¹ß #T30 2 ¤·¤ç¤¦¤³¤¦ ¾¦¹© #T35 0 ¤·¤ç¤¦¤³¤¦ ¾­¹» #T35 0 ¤·¤ç¤¦¤³¤¦ ¾®¹¯ #T35 0 ¤·¤ç¤¦¤³¤¦ ¾É¸õ #T35 0 ¤·¤ç¤¦¤³¤¦¤°¤ó ¾É¸õ·² #T35 1 ¤·¤ç¤¦¤³¤¦¤Í¤Ä àϹÈÇ® #T35 0 ¤·¤ç¤¦¤³¤¯ ¾®¹ñ #T35 1 ¤·¤ç¤¦¤³¤ó ¾¦º² #T35 0 ¤·¤ç¤¦¤´ ¾¼¸ã #JNM 0 ¤·¤ç¤¦¤´ ¾Ê¸ã #JNM 0 ¤·¤ç¤¦¤´ Àµ¸ã #JNM 0 ¤·¤ç¤¦¤´ Àµ¸á #T35 1 ¤·¤ç¤¦¤´¤¤¤ó À»¸î±¡ #CN 0 ¤·¤ç¤¦¤´¤¦ ¾È¹ç #T30 4 ¤·¤ç¤¦¤´¤¦ ¾¦¹æ #T35 0 ¤·¤ç¤¦¤´¤¦ ¾Î¹æ #T35 1 ¤·¤ç¤¦¤µ ¾Èºº #T30 1 ¤·¤ç¤¦¤µ ¾®º¹ #T35 0 ¤·¤ç¤¦¤µ ¾¯º´ #T35 0 ¤·¤ç¤¦¤µ¤¤ ¾ÜºÙ #T05 135 ¤·¤ç¤¦¤µ¤¤ ¾¦ºÍ #T35 0 ¤·¤ç¤¦¤µ¤ó ¾Ã»¶ #T30 0 ¤·¤ç¤¦¤µ¤ó ¾Þ»¿ #T30 0 ¤·¤ç¤¦¤µ¤ó ¾Î»¿ #T30 1 ¤·¤ç¤¦¤µ¤ó ¾¡»» #T35 1 ¤·¤ç¤¦¤µ¤ó ¾Ë»À #T35 1 ¤·¤ç¤¦¤¶¤Ö¤í¤¦ Àµ»°Ïº #JNM 0 ¤·¤ç¤¦¤· ¾Ð»ß #T15 0 ¤·¤ç¤¦¤· ¾Æ»à #T30 0 ¤·¤ç¤¦¤· ¾Ú»æ #T35 0 ¤·¤ç¤¦¤·¤Ä ¾Ã¼º #T30 1 ¤·¤ç¤¦¤·¤Ä ¾Æ¼º #T30 1 ¤·¤ç¤¦¤·¤ã ßÏÞ¯ #T05 0 ¤·¤ç¤¦¤·¤ã ¾¶¼Ì #T30 0 ¤·¤ç¤¦¤·¤ã ¾È¼Í #T30 1 ¤·¤ç¤¦¤·¤ã ¾¡¼Ô #T35 0 ¤·¤ç¤¦¤·¤ã ¾®¼Ò #T35 0 ¤·¤ç¤¦¤·¤ã ¾¦¼Ò #T35 1 ¤·¤ç¤¦¤·¤å¤¦ ¾¤½¸ #T30 0 ¤·¤ç¤¦¤·¤å¤¦ ¾Ã½­ #T30 0 ¤·¤ç¤¦¤·¤å¤¦ ¾·½¸ #T30 1 ¤·¤ç¤¦¤·¤å¤¯¤·¤ã¤¯ ¾®½Ì¼Ü #T15 0 ¤·¤ç¤¦¤·¤å¤Ä ¾¶½Ð #T30 0 ¤·¤ç¤¦¤·¤ç ¾Ú½ñ #T35 0 ¤·¤ç¤¦¤·¤ç ¾®½ë #T35 1 ¤·¤ç¤¦¤·¤ç¤¦ ¾¯¾­ #T35 0 ¤·¤ç¤¦¤·¤ç¤¦ ¾¯¡¹ #T35 38 ¤·¤ç¤¦¤·¤ç¤¯ ¾®¿© #T05 0 ¤·¤ç¤¦¤·¤ç¤¯ ¾¯¿© #T05 0 ¤·¤ç¤¦¤·¤ç¤¯ ¾®¿¦ #T35 0 ¤·¤ç¤¦¤·¤ó ¾®¿´ #T05 0 ¤·¤ç¤¦¤·¤ó ½ý¿´ #T30 0 ¤·¤ç¤¦¤·¤ó ¾Æ¿È #T30 0 ¤·¤ç¤¦¤·¤ó ¾Ç¿´ #T30 0 ¤·¤ç¤¦¤·¤ó ¾º¿Ê #T30 2 ¤·¤ç¤¦¤·¤ó Àµ¿¿ #T35 1 ¤·¤ç¤¦¤¸ ¾±»Ê #JN 0 ¤·¤ç¤¦¤¸ Å쳤ÎÓ #JN 0 ¤·¤ç¤¦¤¸ ¾®Ï© #JNM 0 ¤·¤ç¤¦¤¸ ¾°»Ê #JNM 0 ¤·¤ç¤¦¤¸ ¾»Æó #JNM 0 ¤·¤ç¤¦¤¸ ¾¼»Ê #JNM 0 ¤·¤ç¤¦¤¸ ¾¼¼¡ #JNM 0 ¤·¤ç¤¦¤¸ ¾¼¼£ #JNM 0 ¤·¤ç¤¦¤¸ ¾¼Æó #JNM 0 ¤·¤ç¤¦¤¸ ¾Í¼£ #JNM 0 ¤·¤ç¤¦¤¸ ¾Ï»Ê #JNM 0 ¤·¤ç¤¦¤¸ ¾ÏÆó #JNM 0 ¤·¤ç¤¦¤¸ Àµ¼¡ #JNM 0 ¤·¤ç¤¦¤¸ Àµ¼£ #JNM 0 ¤·¤ç¤¦¤¸ ÀµÆó #JNM 0 ¤·¤ç¤¦¤¸ À¸¤¸ #KS 61 ¤·¤ç¤¦¤¸ ¾ã»Ò #T35 1 ¤·¤ç¤¦¤¸ ¾¦»ö #T35 2 ¤·¤ç¤¦¤¸¤­ ÀµÄ¾ #T05 13 ¤·¤ç¤¦¤¸¤ã Àº¼Ë #T35 1 ¤·¤ç¤¦¤¸¤ã¤¯ Àµ¿ý #CN 0 ¤·¤ç¤¦¤¸¤å¤¦ ¾®½Æ #T35 1 ¤·¤ç¤¦¤¸¤å¤Ä ¾Ü½Ò #T30 1 ¤·¤ç¤¦¤¸¤å¤ó ¾º½ç #T05 3 ¤·¤ç¤¦¤¸¤å¤ó ¾È½à #T30 1 ¤·¤ç¤¦¤¸¤ç ¾¯½÷ #T35 16 ¤·¤ç¤¦¤¸¤ç¤¦ ¾Þ¾õ #T35 1 ¤·¤ç¤¦¤¸¤ç¤¦ ¾É¾õ #T35 46 ¤·¤ç¤¦¤¸¤í¤¦ ¾Ï¼£Ïº #JNM 0 ¤·¤ç¤¦¤¸¤í¤¦ Àµ¼¡Ïº #JNM 0 ¤·¤ç¤¦¤¸¤ó Àº¿Ê #T30 2 ¤·¤ç¤¦¤¹¤¤ ØÞج #T30 2 ¤·¤ç¤¦¤¹¤¦ ¾¯¿ô #T05 13 ¤·¤ç¤¦¤¹¤¦ ¾®¿ô #T05 19 ¤·¤ç¤¦¤º ¾®Æ¦ #CN 0 ¤·¤ç¤¦¤»¤¤ ¾·ÀÁ #T30 1 ¤·¤ç¤¦¤»¤¤ ¾®À¸ #T35 1 ¤·¤ç¤¦¤»¤Ä ¾®Àá #JS 0 ¤·¤ç¤¦¤»¤Ä ¾ÜÀâ #T30 1 ¤·¤ç¤¦¤»¤Ä ¾®Àá #T35 0 ¤·¤ç¤¦¤»¤Ä ¾®Àã #T35 1 ¤·¤ç¤¦¤»¤Ä ¾®Àâ #T35 10 ¤·¤ç¤¦¤»¤Ä¤« ¾®Àâ²È #T35 0 ¤·¤ç¤¦¤»¤ó ¾¦Á¥ #T35 4 ¤·¤ç¤¦¤½ ¾¡ÁÊ #T30 0 ¤·¤ç¤¦¤½¤¦ ¾°Áá #T05 4 ¤·¤ç¤¦¤½¤¦ ¾ÇÁç #T30 1 ¤·¤ç¤¦¤½¤¦¤¤¤ó ÀµÁÒ±¡ #KK 0 ¤·¤ç¤¦¤½¤¯ ¾Ã© #T35 1 ¤·¤ç¤¦¤¾¤¦ ¾°»° #JNM 0 ¤·¤ç¤¦¤¾¤¦ ¾´»° #JNM 0 ¤·¤ç¤¦¤¾¤¦ ¾¼»° #JNM 0 ¤·¤ç¤¦¤¾¤¦ ¾Ê»° #JNM 0 ¤·¤ç¤¦¤¾¤¦ Àµ»° #JNM 0 ¤·¤ç¤¦¤¾¤¦ ¾ÓÁü #T35 1 ¤·¤ç¤¦¤¾¤¯ Áõ« #T35 1 ¤·¤ç¤¦¤¿¤¤ ¾·ÂÔ #T30 8 ¤·¤ç¤¦¤¿¤¤ ¾®ÂÎ #T35 1 ¤·¤ç¤¦¤¿¤¤ ¾®Ââ #T35 1 ¤·¤ç¤¦¤¿¤¤ ÀµÂÎ #T35 2 ¤·¤ç¤¦¤¿¤í¤¦ ÀµÂÀϺ #JNM 0 ¤·¤ç¤¦¤¿¤ó ¾Þò #T30 0 ¤·¤ç¤¦¤À¤¯ ¾µÂú #T30 3 ¤·¤ç¤¦¤À¤ó ¾¦ÃÌ #T30 1 ¤·¤ç¤¦¤Á ¾·Ã× #T30 0 ¤·¤ç¤¦¤Á ¾µÃÎ #T30 8 ¤·¤ç¤¦¤Á¤¯ ¾¾ÃÝ #KK 2 ¤·¤ç¤¦¤Á¤å¤¦ ¾¸Ãæ #T35 0 ¤·¤ç¤¦¤Á¤å¤¦ ¾ÆÃñ #T35 0 ¤·¤ç¤¦¤Á¤ç ¾®Ãø #T35 0 ¤·¤ç¤¦¤Á¤ç¤¦ ¾Ýħ #T30 2 ¤·¤ç¤¦¤Á¤ç¤¦ ¾®Ä² #T35 0 ¤·¤ç¤¦¤Á¤ç¤¦ ¾ÃĹ #T35 0 ¤·¤ç¤¦¤Á¤ç¤¦ ¾ÊÄ£ #T35 2 ¤·¤ç¤¦¤Á¤ó ¾ÃÄÀ #T30 0 ¤·¤ç¤¦¤Æ¤­¤Û¤¦ ¾®Å©Ë¡ #T35 1 ¤·¤ç¤¦¤Æ¤ó ¾ºÅ· #T30 1 ¤·¤ç¤¦¤Æ¤ó ¾×Å· #T35 0 ¤·¤ç¤¦¤Æ¤ó ¾¦Å¹ #T35 2 ¤·¤ç¤¦¤Æ¤ó ¾ÇÅÀ #T35 2 ¤·¤ç¤¦¤È¤¦ ¾¾Åó #CN 0 ¤·¤ç¤¦¤È¤¦ ¾ÃÅô #T30 1 ¤·¤ç¤¦¤È¤¯¤¿¤¤¤· À»ÆÁÂÀ»Ò #JNS 0 ¤·¤ç¤¦¤È¤Ä ¾×ÆÍ #T30 8 ¤·¤ç¤¦¤É ¾ÇÅÚ #T35 0 ¤·¤ç¤¦¤É ¾ÈÅÙ #T35 0 ¤·¤ç¤¦¤É¤¦ ¾×ư #T35 1 ¤·¤ç¤¦¤É¤¯ ¾ÃÆÇ #T30 0 ¤·¤ç¤¦¤Ê¤¤ ¾±Æâ #JCN 0 ¤·¤ç¤¦¤Ê¤¤ ¾ÄÆâ #T35 0 ¤·¤ç¤¦¤Ê¤´¤ó ¾¯Ç¼¸À #T35 0 ¤·¤ç¤¦¤Ê¤ê ¡ã #T35 1 ¤·¤ç¤¦¤Ê¤ê¤¤¤³¡¼¤ë ¡å #T35 3 ¤·¤ç¤¦¤Ê¤ó ¾ÂÆî #CN 0 ¤·¤ç¤¦¤Ê¤ó ¾ÅÆî #CN 0 ¤·¤ç¤¦¤Ë ¾®»ù #T35 0 ¤·¤ç¤¦¤Ë¤å¤¦¤É¤¦ ¾áÆýƶ #T35 1 ¤·¤ç¤¦¤Ë¤ó ¾ºÇ¤ #T30 1 ¤·¤ç¤¦¤Ë¤ó ¾µÇ§ #T30 41 ¤·¤ç¤¦¤Ë¤ó ¾®¿Í #T35 0 ¤·¤ç¤¦¤Ë¤ó ¾¦¿Í #T35 2 ¤·¤ç¤¦¤Ë¤ó ¾Ú¿Í #T35 6 ¤·¤ç¤¦¤Í À­º¬ #T35 0 ¤·¤ç¤¦¤Í¤Ä ¾ÇÇ® #T35 0 ¤·¤ç¤¦¤Í¤ó ¾¯Ç¯ #T35 2 ¤·¤ç¤¦¤Í¤ó¤Ð ÀµÇ°¾ì #T35 1 ¤·¤ç¤¦¤Î¤¦ ¾ÐǼ #T30 0 ¤·¤ç¤¦¤Î¤¦ ¾®Ç¾ #T35 0 ¤·¤ç¤¦¤Î¤¦ ¾ÀǾ #T35 0 ¤·¤ç¤¦¤Ï ¾®ÇË #T30 0 ¤·¤ç¤¦¤Ï¤¤ ¾ÞÇÕ #T35 0 ¤·¤ç¤¦¤Ï¤¤ ¾¡ÇÔ #T35 1 ¤·¤ç¤¦¤Ï¤Á ÀµÈ¬ #JNM 0 ¤·¤ç¤¦¤Ð¤¤ ¾¦Çä #T30 9 ¤·¤ç¤¦¤Ð¤Ä ¾Þȳ #T35 0 ¤·¤ç¤¦¤Ð¤é ¾±¸¶ #JCN 0 ¤·¤ç¤¦¤Ð¤ó Áêȼ #T30 0 ¤·¤ç¤¦¤Ò ¾ÃÈñ #T30 19 ¤·¤ç¤¦¤Ò¤·¤ã ¾ÃÈñ¼Ô #T35 2 ¤·¤ç¤¦¤Ò¤¼¤¤ ¾ÃÈñÀÇ #T35 14 ¤·¤ç¤¦¤Ò¤ç¤¦ ¾¦É¸ #T35 14 ¤·¤ç¤¦¤Ò¤ó ¾ÞÉÊ #T35 1 ¤·¤ç¤¦¤Ò¤ó ¾¦ÉÊ #T35 15 ¤·¤ç¤¦¤Ó ¾ÞÈþ #T30 0 ¤·¤ç¤¦¤Ó ¾ÇÈý #T35 3 ¤·¤ç¤¦¤Ó¤ç¤¦ ½ýÉ #T35 0 ¤·¤ç¤¦¤Õ ¾«ÉØ #T35 3 ¤·¤ç¤¦¤Õ¤¯ ¾µÉú #T30 0 ¤·¤ç¤¦¤Õ¤¯ ¾ªÊ¢ #T35 1 ¤·¤ç¤¦¤Õ¤À Àµ»¥ #T35 0 ¤·¤ç¤¦¤Ö ¾Ô³÷ #JCN 0 ¤·¤ç¤¦¤Ö ¾¡Éé #T30 7 ¤·¤ç¤¦¤Ö¤ó ¾»Ê¸ #JNM 0 ¤·¤ç¤¦¤Ö¤ó À­Ê¬ #T35 0 ¤·¤ç¤¦¤Ø¤¤ ¾ÏÊ¿ #JNM 0 ¤·¤ç¤¦¤Ø¤¤ ÀµÊ¿ #JNM 0 ¤·¤ç¤¦¤Ø¤¤ ¾·æÛ #T30 2 ¤·¤ç¤¦¤Ø¤¤ ¾­Ê¼ #T35 0 ¤·¤ç¤¦¤Ø¤­ ¾ãÊÉ #T35 2 ¤·¤ç¤¦¤Ø¤ó ¾®ÊÒ #T35 0 ¤·¤ç¤¦¤Ø¤ó ¾¸ÊÓ #T35 0 ¤·¤ç¤¦¤Ø¤ó ¾¸ÊÔ #T35 0 ¤·¤ç¤¦¤Ù¤ó ¾®ÊØ #T35 0 ¤·¤ç¤¦¤Û¤¦ ¾¦Ë¡ #T35 1 ¤·¤ç¤¦¤Û¤ó ¾¶ËÜ #T35 0 ¤·¤ç¤¦¤Ü¤¦ ¾ÆË´ #T30 0 ¤·¤ç¤¦¤Ü¤¦ ¾ÃËÉ #T35 1 ¤·¤ç¤¦¤Ü¤¦¤·¤ç ¾ÃËɽð #T35 1 ¤·¤ç¤¦¤Þ¤ó ¾®Ëþ #T35 1 ¤·¤ç¤¦¤ß ¾ÞÌ£ #T30 0 ¤·¤ç¤¦¤ß ÀµÌ£ #T35 0 ¤·¤ç¤¦¤á¤¤ ¾ÈÌÀ #T30 2 ¤·¤ç¤¦¤á¤¤ ¾ÚÌÀ #T30 80 ¤·¤ç¤¦¤á¤¤ ÀµÌà #T35 1 ¤·¤ç¤¦¤á¤Ä ¾ÃÌÇ #T30 8 ¤·¤ç¤¦¤á¤ó ÀµÌÌ #T35 3 ¤·¤ç¤¦¤â¤¦ ¾ÃÌ× #T30 6 ¤·¤ç¤¦¤â¤Ê ¤·¤ç¤¦¤â¤Ê #KY 0 ¤·¤ç¤¦¤â¤Î¤¦ ¤·¤ç¤¦¤â¤Î¤¦ #KYU 0 ¤·¤ç¤¦¤â¤ó ¾Úʸ #T35 1 ¤·¤ç¤¦¤ä ¾±²° #T35 1 ¤·¤ç¤¦¤ä¤¯ ¾¶Ìõ #T30 0 ¤·¤ç¤¦¤ä¤¯ À¸Ìô #T35 0 ¤·¤ç¤¦¤æ ¾ßÌý #T35 2 ¤·¤ç¤¦¤è ¾ÞÍ¿ #T35 0 ¤·¤ç¤¦¤è¤¦ ¾®ÍÕ #T35 1 ¤·¤ç¤¦¤è¤¦ ¾¦ÍÑ #T35 2 ¤·¤ç¤¦¤é¤¤ ¾·Íè #T30 0 ¤·¤ç¤¦¤é¤¤ ¾­Íè #T35 60 ¤·¤ç¤¦¤é¤ó ¾ÈÍ÷ #T30 0 ¤·¤ç¤¦¤é¤ó ¾ÐÍ÷ #T30 0 ¤·¤ç¤¦¤ê ¾¡Íø #T30 3 ¤·¤ç¤¦¤ê¤­ ÀµÎÏ #JNS 0 ¤·¤ç¤¦¤ê¤ã¤¯ ¾Êά #T30 63 ¤·¤ç¤¦¤ê¤ç ¾Çθ #T30 1 ¤·¤ç¤¦¤ê¤ç¤¦ ¾®ÎÌ #T05 2 ¤·¤ç¤¦¤ê¤ç¤¦ ¾¯ÎÌ #T05 2 ¤·¤ç¤¦¤ê¤ç¤¯ ¾ÊÎÏ #T35 0 ¤·¤ç¤¦¤ì¤¤ ¾©Îå #T30 2 ¤·¤ç¤¦¤ì¤¤ ¾ÉÎã #T35 0 ¤·¤ç¤¦¤ì¤¤ ¾ÊÎá #T35 0 ¤·¤ç¤¦¤í¤¯ ¾¶Ï¿ #T30 0 ¤·¤ç¤¦¤í¤ó ¾ÜÏÀ #T30 0 ¤·¤ç¤¦¤ï ¾±Ï #CN 0 ¤·¤ç¤¦¤ï ¾¼Ï #CN 0 ¤·¤ç¤¦¤ï ¾¼Ï #KK 27 ¤·¤ç¤¦¤ï ¾§Ï #T30 0 ¤·¤ç¤¦¤ï¤¯¤»¤¤ ¾®ÏÇÀ± #T35 0 ¤·¤ç¤¦¤ï¤ë À­°­ #T18 0 ¤·¤ç¤¨¤ó ½é±é #T30 0 ¤·¤ç¤« ½ñ²Í #T35 0 ¤·¤ç¤« ½é²Æ #T35 2 ¤·¤ç¤«¤¤ ½é²ñ #T35 0 ¤·¤ç¤«¤¤ ½é²ó #T35 1 ¤·¤ç¤«¤Ä ½ê³í #T30 0 ¤·¤ç¤«¤ó ½ê´É #T30 0 ¤·¤ç¤«¤ó ½ñ´Ê #T35 1 ¤·¤ç¤«¤ó ½ê´¶ #T35 5 ¤·¤ç¤¬ ½ñ²è #T35 0 ¤·¤ç¤¬¤¤ ½ê³° #T35 2 ¤·¤ç¤­ ½ê´ü #T35 0 ¤·¤ç¤­ ½ñµ­ #T35 58 ¤·¤ç¤­ ½é´ü #T35 95 ¤·¤ç¤­¤« ½é´ü²½ #T30 149 ¤·¤ç¤­¤Á ½é´üÃÍ #T35 10 ¤·¤ç¤­¤Á¤ç¤¦ ½ñµ­Ä¹ #T35 1 ¤·¤ç¤­¤å¤¦ ½éµé #T35 2 ¤·¤ç¤® ½ôµ· #T35 0 ¤·¤ç¤¯ ¿§ #JS 0 ¤·¤ç¤¯ ¿© #JS 5 ¤·¤ç¤¯ ¶ô #KJ 0 ¤·¤ç¤¯ ¾ý #KJ 0 ¤·¤ç¤¯ ¿¡ #KJ 0 ¤·¤ç¤¯ ¿¢ #KJ 0 ¤·¤ç¤¯ ¿¤ #KJ 0 ¤·¤ç¤¯ ¿¥ #KJ 0 ¤·¤ç¤¯ ¿¨ #KJ 0 ¤·¤ç¤¯ ¿£ #KJ 1 ¤·¤ç¤¯ ¿ª #KJ 1 ¤·¤ç¤¯ ¾þ #KJ 5 ¤·¤ç¤¯ ¿§ #KJ 6 ¤·¤ç¤¯ ¿© #S5 0 ¤·¤ç¤¯ ¿¦ #SUC 0 ¤·¤ç¤¯ ¿§ #SUC 0 ¤·¤ç¤¯ ¿© #SUC 0 ¤·¤ç¤¯ ¾ü #T30 0 ¤·¤ç¤¯ ¿© #T30 0 ¤·¤ç¤¯ ° #T30 0 ¤·¤ç¤¯ ¿¦ #T35 1 ¤·¤ç¤¯¤¢¤ó ¿¦°Â #T35 0 ¤·¤ç¤¯¤¤ ¿¦°Ì #T35 0 ¤·¤ç¤¯¤¤¤ó ¿¦°÷ #T35 13 ¤·¤ç¤¯¤¨¤ó ¿©±ö #T35 0 ¤·¤ç¤¯¤®¤ç¤¦ ¿¦¶È #T35 4 ¤·¤ç¤¯¤´ ¿©¸å #T35 1 ¤·¤ç¤¯¤µ¤Ä ¶ô»¦ #T35 1 ¤·¤ç¤¯¤· ¿©»Ø #T35 1 ¤·¤ç¤¯¤·¤å ¿¨¼ê #T35 0 ¤·¤ç¤¯¤·¤å ¿¦¼ï #T35 1 ¤·¤ç¤¯¤·¤ç¤¦ ¿©½ý #T30 1 ¤·¤ç¤¯¤·¤ç¤¦ ¿¦¾¸ #T35 0 ¤·¤ç¤¯¤·¤ó ¿¨¿Ç #T30 0 ¤·¤ç¤¯¤¸ ¿¢»ú #T30 0 ¤·¤ç¤¯¤¸ ¿©»ö #T30 28 ¤·¤ç¤¯¤¸¤å ¿¢¼ù #T30 1 ¤·¤ç¤¯¤¸¤å¤¦ ¿¦½» #T35 0 ¤·¤ç¤¯¤¸¤ç ¿¥½÷ #JN 0 ¤·¤ç¤¯¤»¤¤ ¿¢À¸ #T35 0 ¤·¤ç¤¯¤»¤¤ ¿¦À© #T35 0 ¤·¤ç¤¯¤»¤¤¤«¤Ä ¿©À¸³è #T35 3 ¤·¤ç¤¯¤»¤­ ¿¦ÀÕ #T35 0 ¤·¤ç¤¯¤¼¤ó ¿©Á· #T35 0 ¤·¤ç¤¯¤¼¤ó ¿©Á° #T35 1 ¤·¤ç¤¯¤¿¤¯ ¾üÂ÷ #T30 1 ¤·¤ç¤¯¤¿¤¯ ¿©Âî #T35 1 ¤·¤ç¤¯¤À¤¤ ¿¤Âæ #T35 0 ¤·¤ç¤¯¤Á ½ô¸ý #T35 0 ¤·¤ç¤¯¤Á¤å¤¦¤É¤¯ ¿©ÃæÆÇ #T30 0 ¤·¤ç¤¯¤Ä¤¦ ¿©ÄÌ #T35 0 ¤·¤ç¤¯¤É¤¦ ¿©Æ» #T35 0 ¤·¤ç¤¯¤É¤¦ ¿©Æ² #T35 10 ¤·¤ç¤¯¤É¤¦¤·¤ã ¿©Æ²¼Ö #T35 0 ¤·¤ç¤¯¤Ë¤ó ¿¦¿Í #T35 0 ¤·¤ç¤¯¤Î¤¦ ¿¦Ç½ #T35 0 ¤·¤ç¤¯¤Ï¤Ä ¿¨È¯ #T30 0 ¤·¤ç¤¯¤Ð ¿¦¾ì #T35 7 ¤·¤ç¤¯¤Ð¤¤ ¿¨ÇÞ #T35 0 ¤·¤ç¤¯¤Ò ¿©Èñ #T35 3 ¤·¤ç¤¯¤Ò¤ó ¿©ÉÊ #T35 2 ¤·¤ç¤¯¤Ö¤Ä ¿¢Êª #T35 3 ¤·¤ç¤¯¤Ö¤ó ¿¦Ê¬ #T35 0 ¤·¤ç¤¯¤Û¤¦ ¿¨Ë¡ #T30 3 ¤·¤ç¤¯¤Ü¤¦ ¾ü˾ #T30 0 ¤·¤ç¤¯¤ß¤ó¤Á ¿¢Ì±ÃÏ #T35 1 ¤·¤ç¤¯¤à ¿¦Ì³ #T35 1 ¤·¤ç¤¯¤â¤¯ °ÌÜ #T30 0 ¤·¤ç¤¯¤â¤Ä ¿©Êª #T35 1 ¤·¤ç¤¯¤è¤¦ ¿©ÍÑ #T35 0 ¤·¤ç¤¯¤è¤¯ ¿©Íß #T35 2 ¤·¤ç¤¯¤ê¤ç¤¦ ¿©ÎÁ #T35 0 ¤·¤ç¤¯¤ê¤ç¤¦ ¿©ÎÈ #T35 4 ¤·¤ç¤¯¤ê¤ç¤¦¤Ê¤ó ¿©ÎÈÆñ #T35 1 ¤·¤ç¤¯¤ê¤ç¤¦¤Ò¤ó ¿©ÎÁÉÊ #T35 0 ¤·¤ç¤¯¤ê¤ó ¿¢ÎÓ #T30 0 ¤·¤ç¤¯¤ì¤­ ¿¦Îò #T35 0 ¤·¤ç¤¯¤ó ½ô·¯ #T35 1 ¤·¤ç¤±¤¤ ½è·º #T30 1 ¤·¤ç¤±¤¤ ½ô·» #T35 0 ¤·¤ç¤±¤ó ½ñ¸« #T30 3 ¤·¤ç¤±¤ó ½é¸« #T35 0 ¤·¤ç¤±¤ó ½ê¸« #T35 0 ¤·¤ç¤² ¤·¤ç¤² #KS 0 ¤·¤ç¤³ ½ñ¸Ë #T35 3 ¤·¤ç¤³¤¯ ½ô¹ñ #T35 1 ¤·¤ç¤³¤ó ½éº§ #T35 0 ¤·¤ç¤µ¤¤ ½êºÜ #T35 0 ¤·¤ç¤µ¤¤ ½ñºØ #T35 0 ¤·¤ç¤µ¤ó ½ê»º #T35 0 ¤·¤ç¤µ¤ó¤Ù¤Ä ½é»³ÊÌ #CN 0 ¤·¤ç¤¶¤¤ ½êºß #T35 1 ¤·¤ç¤¶¤¤¤Á ½êºßÃÏ #T35 1 ¤·¤ç¤¶¤ó ½é»º #T35 1 ¤·¤ç¤· ½é»Ö #T35 0 ¤·¤ç¤· ½ô»á #T35 3 ¤·¤ç¤·¤­ ½ô¼° #T35 0 ¤·¤ç¤·¤­ ½ñ¼° #T35 31 ¤·¤ç¤·¤ã ½ñ¼Ì #T30 0 ¤·¤ç¤·¤å¤¦ ½é½© #T35 0 ¤·¤ç¤·¤å¤¦ ½ê¼ý #T35 2 ¤·¤ç¤·¤å¤Ä ½é½Ð #T30 2 ¤·¤ç¤·¤å¤ó ½é½Õ #T35 0 ¤·¤ç¤·¤ç ½è½ë #T35 1 ¤·¤ç¤·¤ç ½ô½è #T35 5 ¤·¤ç¤·¤ç¤¦ ½ñ¾Ú #T35 0 ¤·¤ç¤·¤ó ½é¿³ #T35 0 ¤·¤ç¤·¤ó ½ê¿® #T35 0 ¤·¤ç¤·¤ó ½ñ¿® #T35 0 ¤·¤ç¤·¤ó ½é¿Ç #T35 2 ¤·¤ç¤·¤ó ½é¿´ #T35 8 ¤·¤ç¤·¤ó¤·¤ã ½é¿´¼Ô #T35 10 ¤·¤ç¤¸ ½ê»ý #T30 0 ¤·¤ç¤¸ ½ô»ö #T35 0 ¤·¤ç¤¸¤å¤ó ½é½Ü #T35 1 ¤·¤ç¤¸¤ç ½è½÷ #T35 0 ¤·¤ç¤¸¤ç¤¦ ½ñ¾õ #T35 0 ¤·¤ç¤»¤¤ ½èÀ¤ #T35 0 ¤·¤ç¤»¤¤ ½ñÀ¸ #T35 0 ¤·¤ç¤»¤¤ ½éÀ¸ #T35 1 ¤·¤ç¤»¤­ ½ñÀÒ #T35 10 ¤·¤ç¤»¤Ä ½ôÀâ #T35 0 ¤·¤ç¤»¤ó ½êÁ§ #F14 5 ¤·¤ç¤»¤ó ½ïÀï #T35 0 ¤·¤ç¤¼¤¤ ½ôÀÇ #T35 0 ¤·¤ç¤½¤¦ ½ôÁê #T35 0 ¤·¤ç¤½¤¯ ½é® #T35 0 ¤·¤ç¤¾¤¦ ½ê¢ #T30 1 ¤·¤ç¤¾¤¯ ½ê° #T30 32 ¤·¤ç¤¾¤ó ½ê¸ #T35 2 ¤·¤ç¤¿¤¤ ½êÂÓ #T35 1 ¤·¤ç¤¿¤¤ ½ñÂÎ #T35 13 ¤·¤ç¤¿¤¤¤á¤ó ½éÂÐÌÌ #T35 2 ¤·¤ç¤À¤¤ ½éÂå #T35 0 ¤·¤ç¤À¤Ê ½ñê #T35 0 ¤·¤ç¤À¤ó ½éÃÊ #T35 0 ¤·¤ç¤Á ½èÃÖ #T30 18 ¤·¤ç¤Á¤å¤¦ ½ñÃæ #T35 0 ¤·¤ç¤Á¤å¤¦ ½ëÃæ #T35 4 ¤·¤ç¤Á¤ç¤¦ ½éĬ #T35 0 ¤·¤ç¤Á¤ç¤¦ ½ðĹ #T35 0 ¤·¤ç¤Á¤ç¤¦ ½êĹ #T35 3 ¤·¤ç¤Ã¤«¤¯ ¿¨³Ð #T35 0 ¤·¤ç¤Ã¤«¤ó ¿¨´¶ #T35 0 ¤·¤ç¤Ã¤«¤ó ¿©´Ö #T35 0 ¤·¤ç¤Ã¤«¤ó ¿©´¶ #T35 0 ¤·¤ç¤Ã¤­ ¿©´ï #T35 6 ¤·¤ç¤Ã¤­¤ê ½é¤ÃÀÚ¤ê #T35 0 ¤·¤ç¤Ã¤¯ ¥·¥ç¥Ã¥¯ #T05 9 ¤·¤ç¤Ã¤¯¤· ¥·¥ç¥Ã¥¯»à #T30 0 ¤·¤ç¤Ã¤±¤ó ¿¦¸¢ #T35 0 ¤·¤ç¤Ã¤±¤ó ¿©·ô #T35 0 ¤·¤ç¤Ã¤³¤¦ ¿¦¹© #T35 0 ¤·¤ç¤Ã¤Á¤å¤¦ ¤·¤ç¤Ã¤Á¤å¤¦ #F14 17 ¤·¤ç¤Ã¤Á¤å¤¦ ¤·¤ç¤Ã¤Á¤å¤¦ #T16 0 ¤·¤ç¤Ã¤Ä¤ë ¤·¤ç¤Ã¤Ä¤ë #T35 0 ¤·¤ç¤Ã¤È ¥·¥ç¥Ã¥È #T30 9 ¤·¤ç¤Ã¤Ñ ¤·¤ç¤Ã¤Ñ #KYmi 0 ¤·¤ç¤Ã¤Ô ¤·¤ç¤Ã°ú #K5 0 ¤·¤ç¤Ã¤Ô¤ó¤° ¥·¥ç¥Ã¥Ô¥ó¥° #T30 1 ¤·¤ç¤Ã¤× ¥·¥ç¥Ã¥× #T35 28 ¤·¤ç¤Æ ½é¼ê #T35 1 ¤·¤ç¤Æ¤¤ ½êÄê #T35 4 ¤·¤ç¤Æ¤ó ½ñŹ #T35 7 ¤·¤ç¤È¤¦ ½éÅù #T15 2 ¤·¤ç¤È¤¦ ½éÅß #T35 1 ¤·¤ç¤È¤¦ ½éƬ #T35 1 ¤·¤ç¤È¤¦ ½ôÅç #T35 1 ¤·¤ç¤È¤¯ ½êÆÀ #T35 3 ¤·¤ç¤É¤¦ ½ñÆ» #T35 0 ¤·¤ç¤Ê¤¤ ½êÆâ #T35 2 ¤·¤ç¤Ë¤Á ½éÆü #T35 3 ¤·¤ç¤Ë¤å¤¦ ½éÆý #T35 1 ¤·¤ç¤Ë¤ó¤­¤å¤¦ ½éǤµë #T35 0 ¤·¤ç¤Í¤ó¤É ½éǯÅÙ #T35 4 ¤·¤ç¤Ï¤ó ½éÈÈ #T35 0 ¤·¤ç¤Ï¤ó ½ôÈÌ #T35 27 ¤·¤ç¤Ï¤ó ½éÈÇ #T35 6 ¤·¤ç¤Ð¤Ä ½èȳ #T30 0 ¤·¤ç¤Ñ¤ó ¥·¥ç¥Ñ¥ó #JN 0 ¤·¤ç¤Ò¤ç¤¦ ½ñɾ #T30 1 ¤·¤ç¤Ò¤ç¤¦ ½ôɽ #T35 2 ¤·¤ç¤Ö¤ó ½èʬ #T30 5 ¤·¤ç¤Û ½éÊâ #T35 3 ¤·¤ç¤Û¤¦ ½èÊý #T30 0 ¤·¤ç¤Û¤¦ ½ôÊý #T35 0 ¤·¤ç¤Û¤¦¤»¤ó ½èÊýäµ #T35 0 ¤·¤ç¤Ü¤¦ ½ñ˼ #T35 1 ¤·¤ç¤ß¤ó ½î̱ #T35 3 ¤·¤ç¤à ½î̳ #T35 2 ¤·¤ç¤á¤¤ ½ð̾ #T30 15 ¤·¤ç¤á¤¤ ½ñ̾ #T35 4 ¤·¤ç¤á¤ó ½ñÌÌ #T35 1 ¤·¤ç¤â¤¦ ½ê˾ #T30 0 ¤·¤ç¤â¤Ä ½ñʪ #T35 2 ¤·¤ç¤æ¤¦ ½êÍ­ #T30 8 ¤·¤ç¤æ¤¦¤Á ½êÍ­ÃÏ #T35 0 ¤·¤ç¤è¤¦ ½êÍ× #T35 3 ¤·¤ç¤è¤¦ ½êÍÑ #T35 5 ¤·¤ç¤ê ½èÍý #T30 255 ¤·¤ç¤ë¤¤ ½ñÎà #T35 24 ¤·¤ç¤í¤¦ ½éÏ· #T35 0 ¤·¤ç¤ó¤Ù¤ó ¤·¤ç¤ó¤Ù¤ó #T35 0 ¤·¤ç¤ó¤Ù¤ó ¾®ÊØ #T35 0 ¤·¤ç¤ó¤Ü¤ê ¤·¤ç¤ó¤Ü¤ê #T30 0 ¤·¤è¤¦ »ßÍÈ #T30 0 ¤·¤è¤¦ »äÍÑ #T30 12 ¤·¤è¤¦ »ÈÍÑ #T30 255 ¤·¤è¤¦ »îÍÑ #T30 4 ¤·¤è¤¦ »éÍÏ #T35 1 ¤·¤è¤¦ »ÅÍÍ #T35 188 ¤·¤è¤¦¤·¤ã »ÈÍÑ¼Ô #T35 0 ¤·¤è¤¦¤·¤ç »ÅÍͽñ #T35 219 ¤·¤è¤¯ »äÍß #T35 0 ¤·¤é Çò #M5 1 ¤·¤é ÃΤé #S5 4 ¤·¤é¤¤ Çò°æ #JCN 0 ¤·¤é¤¤¤· ÇòÀÐ #JCN 0 ¤·¤é¤ª¤¤ ÇòÏ· #CN 0 ¤·¤é¤ª¤« Çò²¬ #JCN 0 ¤·¤é¤«¤Ð Çò³ò #T35 1 ¤·¤é¤«¤Ð¤³ Çò³ò¸Ð #CN 0 ¤·¤é¤«¤ï Çò²Ï #JCN 0 ¤·¤é¤«¤ï ÇòÀî #JCN 0 ¤·¤é¤¬ Çòȱ #T35 1 ¤·¤é¤­ ÇòÌÚ #JNS 0 ¤·¤é¤¯¤â Çòáý #T35 0 ¤·¤é¤± Çò¤± #KSr 1 ¤·¤é¤³ Çò»Ò #JCN 0 ¤·¤é¤µ¤® Çòºí #T35 0 ¤·¤é¤µ¤ï ÇòÂô #JCN 0 ¤·¤é¤¸¤é¤· Çò¡¹¤· #KY 0 ¤·¤é¤¸¤é¤·¤å¤¦ Çò¡¹¤·¤å¤¦ #KYU 0 ¤·¤é¤¿¤« ÇòÂë #JCN 0 ¤·¤é¤¿¤­ ÇòÂì #JCN 0 ¤·¤é¤¿¤Þ Çò¶Ì #T35 0 ¤·¤é¤¿¤Þ¤³ Çò¶ÌÊ´ #T35 0 ¤·¤é¤È Çò¸Í #JNS 0 ¤·¤é¤È¤ê ÇòÄ» #JCN 0 ¤·¤é¤Ì¤« Çò¹Ç #CN 0 ¤·¤é¤Ì¤Ò ÉÔÃβР#CN 0 ¤·¤é¤Í Çòº¬ #CN 0 ¤·¤é¤Ï Çò±© #T35 0 ¤·¤é¤Ï¤Þ ÇòÉÍ #CN 0 ¤·¤é¤Ð¤¹ ¥·¥é¥Ð¥¹ #T35 0 ¤·¤é¤Ö¤ë ¥·¥é¥Ö¥ë #T35 1 ¤·¤é¤Ù Ä´¤Ù #KSr 245 ¤·¤é¤ß¤Í ÇòÊö #JNS 0 ¤·¤ê »äÍø #T35 0 ¤·¤ê ¿¬ #T35 9 ¤·¤ê¡¼¤º ¥·¥ê¡¼¥º #T35 42 ¤·¤ê¤¢ ÃΤê¹ç #W5r 1 ¤·¤ê¤¢¤¤ Ãι礤 #T35 7 ¤·¤ê¤¢¤¹ ¥·¥ê¥¢¥¹ #T05 1 ¤·¤ê¤¢¤é¤¤¤º ¥·¥ê¥¢¥é¥¤¥º #T30 1 ¤·¤ê¤¢¤ë ¥·¥ê¥¢¥ë #T05 17 ¤·¤ê¤¦¤Á ÃÎÆâ #JCN 0 ¤·¤ê¤­¤·¤Ê¤¤ ¿¬´ßÆâ #CN 0 ¤·¤ê¤³¤ó ¥·¥ê¥³¥ó #T35 3 ¤·¤ê¤³¤ó¤Ð¤ì¡¼ ¥·¥ê¥³¥ó¥Ð¥ì¡¼ #CNS 1 ¤·¤ê¤´¤ß ¸å¹þ¤ß #T30 1 ¤·¤ê¤´¤ß ¿¬¹þ¤ß #T30 1 ¤·¤ê¤¾ Âà #K5 1 ¤·¤ê¤¾¤± Àͤ± #KS 0 ¤·¤ê¤¾¤± Âऱ #KS 1 ¤·¤ê¤Ä »äΩ #T35 2 ¤·¤ê¤Ä »ÔΩ #T35 7 ¤·¤ê¤Ä¤Ü¤ß ¿¬¤Ä¤Ü¤ß #T15 0 ¤·¤ê¤Ì ÃΤêÈ´ #K5 0 ¤·¤ê¤Ì¤°¤¤ ¿¬¿¡¤¤ #T30 0 ¤·¤ê¤Ù¤· ¸å»Ö #CN 0 ¤·¤ê¤á ¸åÌÜ #T35 0 ¤·¤ê¤á¤Ä¤ì¤Ä »ÙÎ¥ÌÇÎö #T05 1 ¤·¤ê¤å¤¦ »Ùή #T35 0 ¤·¤ê¤ç »×θ #T30 1 ¤·¤ê¤ç¤¦ »×ÎÌ #T30 0 ¤·¤ê¤ç¤¦ »ËÎÁ #T35 0 ¤·¤ê¤ç¤¦ »ôÎÁ #T35 1 ¤·¤ê¤ç¤¦ »ñÎÁ #T35 155 ¤·¤ê¤ç¤¦ »àÎî #T35 2 ¤·¤ê¤ç¤¯ »àÎÏ #T35 0 ¤·¤ê¤ç¤¯ »ñÎÏ #T35 0 ¤·¤ê¤ç¤¯ »ëÎÏ #T35 1 ¤·¤ë µ­ #S5 10 ¤·¤ë ½Á #T35 3 ¤·¤ë¤¨¤Ã¤È ¥·¥ë¥¨¥Ã¥È #T35 0 ¤·¤ë¤¯ ¥·¥ë¥¯ #T35 0 ¤·¤ë¤· °õ #T35 26 ¤·¤ë¤Ð¡¼ ¥·¥ë¥Ð¡¼ #T05 1 ¤·¤ë¤Ù ɸ #T35 1 ¤·¤ì¤¤ »ÊÎá #T30 0 ¤·¤ì¤¤ »ØÎá #T30 3 ¤·¤ì¤È¤³ Ãξ² #CN 0 ¤·¤ì¤ï¤¿ ÃΤìÅÏ #R5 0 ¤·¤ì¤ó »îÎý #T35 0 ¤·¤í Âå #KJ 12 ¤·¤í Çò #KY 22 ¤·¤í Çò #T35 24 ¤·¤í ¾ë #T35 9 ¤·¤í ¤·¤í #sxiro 0 ¤·¤í¤¤ Çò°æ #JCN 0 ¤·¤í¤¤¤· ÇòÀÐ #JCN 0 ¤·¤í¤¦ »ÊϺ #JNM 0 ¤·¤í¤¦ »ËϺ #JNM 0 ¤·¤í¤¦ »ÍϺ #JNM 0 ¤·¤í¤¦ »ÖϺ #JNM 0 ¤·¤í¤¦ Çò¤¦ #KYU 2 ¤·¤í¤¦ »ÓϹ #T35 0 ¤·¤í¤¦¤È ÁÇ¿Í #T35 4 ¤·¤í¤¦¤Þ ÇòÇÏ #JCN 0 ¤·¤í¤«¤ï ¾ëÀî #JCN 0 ¤·¤í¤¬¤Í Çò¶â #JCN 0 ¤·¤í¤¯¤¸¤Á¤å¤¦ »ÍÏ»»þÃæ #T35 0 ¤·¤í¤¯¤Þ ¥·¥í¥¯¥Þ #T35 1 ¤·¤í¤¯¤í Çò¹õ #T35 4 ¤·¤í¤¶¤È¤¦ Çòº½Åü #T35 0 ¤·¤í¤·¤á ÃÎ¤í¤·¤á #S5 0 ¤·¤í¤¸ ÇòÃÏ #T35 1 ¤·¤í¤¿ ÇòÅÄ #JNS 0 ¤·¤í¤Ã¤Ý Çò¤Ã¤Ý #KY 0 ¤·¤í¤È¤ê ÇòÄ» #JCN 0 ¤·¤í¤Í Çòº¬ #JCN 0 ¤·¤í¤Ð¤¤ Çò¥Ð¥¤ #T35 0 ¤·¤í¤Ü¤· ÇòÀ± #T35 0 ¤·¤í¤ß Çò¿È #T35 1 ¤·¤í¤ß¤¶¤«¤Ê Çò¿Èµû #T35 0 ¤·¤í¤à¤¯ Çò̵¹¤ #T35 2 ¤·¤í¤â¤Î Âåʪ #T35 2 ¤·¤í¤ä¤Þ ¾ë»³ #JCN 0 ¤·¤í¤ä¤Þ ¾ë»³ #T35 1 ¤·¤í¤ó »äÏÀ #T35 0 ¤·¤í¤ó »ËÏÀ #T35 1 ¤·¤ï »çÇÈ #JCN 0 ¤·¤ï ¤·¤ï #T35 0 ¤·¤ï â² #T35 0 ¤·¤ï¤¯ »×ÏÇ #T30 0 ¤·¤ï¤± »Åʬ¤± #KSr 0 ¤·¤ï¤± »Åʬ¤± #T30 1 ¤·¤ï¤± »ÅÌõ #T30 9 ¤·¤ï¤¶ »Å¶È #T35 1 ¤·¤ï¤¹ »ÕÁö #T35 1 ¤·¤ï¤Ò¤á »ÖÇÈɱ #CN 0 ¤·¤ï¤è¤» ¤·¤ï´ó¤» #T30 0 ¤·¤ó ¿· #JN 0 ¤·¤ó ¿­ #JNM 0 ¤·¤ó ¿Ê #JS 11 ¤·¤ó ¿¯ #KJ 0 ¤·¤ó ¿° #KJ 0 ¤·¤ó ¿± #KJ 0 ¤·¤ó ¿¶ #KJ 0 ¤·¤ó ¿º #KJ 0 ¤·¤ó ¿» #KJ 0 ¤·¤ó ¿¾ #KJ 0 ¤·¤ó ¿Â #KJ 0 ¤·¤ó ¿Ã #KJ 0 ¤·¤ó ¿Å #KJ 0 ¤·¤ó ¿Æ #KJ 0 ¤·¤ó ¿Ç #KJ 0 ¤·¤ó ¿È #KJ 0 ¤·¤ó ¿É #KJ 0 ¤·¤ó ¿Ë #KJ 0 ¤·¤ó ¿Ì #KJ 0 ¤·¤ó ä #KJ 0 ¤·¤ó ÄÅ #KJ 0 ¤·¤ó Æø #KJ 0 ¤·¤ó Çê #KJ 0 ¤·¤ó ¿² #KJ 1 ¤·¤ó ¿µ #KJ 1 ¤·¤ó ¿¹ #KJ 1 ¤·¤ó ¿½ #KJ 1 ¤·¤ó Ëê #KJ 1 ¤·¤ó Ýî #KJ 1 ¤·¤ó âà #KJ 1 ¤·¤ó ¿¼ #KJ 2 ¤·¤ó ¿¸ #KJ 3 ¤·¤ó ¿³ #KJ 4 ¤·¤ó ¿À #KJ 5 ¤·¤ó ¿Á #KJ 6 ¤·¤ó ¿Ê #KJ 75 ¤·¤ó ¿· #PRE 0 ¤·¤ó ¿¿ #T05 1 ¤·¤ó ¿Ä #T35 1 ¤·¤ó ¿· #T35 120 ¤·¤ó ¿´ #T35 16 ¤·¤ó ¿® #T35 165 ¤·¤ó ¿¿ #T35 34 ¤·¤ó ¿­ #T35 4 ¤·¤ó ¿® #ZX 163 ¤·¤ó¤¢¤¤ ¿Æ°¦ #T05 2 ¤·¤ó¤¢¤µ¤Ò ¿·°° #CN 0 ¤·¤ó¤¢¤ó ¿·°Æ #T35 0 ¤·¤ó¤¤ ¿¿°Õ #T35 2 ¤·¤ó¤¤ ¿¼°Õ #T35 6 ¤·¤ó¤¤¤Á ¿·»Ô #JCN 0 ¤·¤ó¤¤¤Á ¿­°ì #JNM 0 ¤·¤ó¤¤¤Á ¿®°ì #JNM 0 ¤·¤ó¤¤¤Á ¿µ°ì #JNM 0 ¤·¤ó¤¤¤Á ¿·°ì #JNM 0 ¤·¤ó¤¤¤Á ¿¿°ì #JNM 0 ¤·¤ó¤¤¤Á ¿Ê°ì #JNM 0 ¤·¤ó¤¤¤Á¤í¤¦ ¿µ°ìϺ #JNM 0 ¤·¤ó¤¤¤Á¤í¤¦ ¿·°ìϺ #JNM 0 ¤·¤ó¤¤¤ê ¿·Æþ¤ê #T30 0 ¤·¤ó¤¦¤ª¤Î¤á ¿·µûÌÜ #CN 0 ¤·¤ó¤¦¤Á ¿¿ÂǤÁ #T35 1 ¤·¤ó¤¨¤¤ ¿·±Ô #T05 0 ¤·¤ó¤¨¤¤ ¿Æ±Ò #T35 0 ¤·¤ó¤¨¤ó ¿¼±ó #T05 1 ¤·¤ó¤ª¤¦ ¿Ì±û #T35 0 ¤·¤ó¤ª¤ª¤µ¤« ¿·Âçºå #CN 0 ¤·¤ó¤ª¤ó ¿´²» #T35 0 ¤·¤ó¤« ¿¼²½ #T30 1 ¤·¤ó¤« ¿Ê²½ #T30 4 ¤·¤ó¤« ¿¿²Á #T35 0 ¤·¤ó¤« ¿Ã²¼ #T35 0 ¤·¤ó¤«¤¤ ¿¼³¤ #T35 0 ¤·¤ó¤«¤¤¤Á ¿·³«ÃÏ #T35 0 ¤·¤ó¤«¤¯ ¿¿³Ë #T35 1 ¤·¤ó¤«¤Ö ¿·³ô #T35 0 ¤·¤ó¤«¤ï ¿·Àî #JCN 0 ¤·¤ó¤«¤ó ¿·´Û #T35 0 ¤·¤ó¤«¤ó ¿·´© #T35 4 ¤·¤ó¤«¤ó¤»¤ó ¿·´´Àþ #T35 6 ¤·¤ó¤¬¡¼ ¥·¥ó¥¬¡¼ #T35 0 ¤·¤ó¤¬¤¤ ¿´³° #T05 1 ¤·¤ó¤¬¤¤ ¿¯³² #T30 2 ¤·¤ó¤¬¤ª ¿·´é #T35 0 ¤·¤ó¤¬¤¯ ¿Ê³Ø #T30 1 ¤·¤ó¤¬¤¯ ¿À³Ø #T35 0 ¤·¤ó¤¬¤¯¤®¤Û¤¦ ¿®³Øµ»Êó #T35 3 ¤·¤ó¤¬¤¯¤í¤ó ¿®³ØÏÀ #T35 1 ¤·¤ó¤¬¤¿ ¿··¿ #T35 2 ¤·¤ó¤¬¤Ý¡¼¤ë ¥·¥ó¥¬¥Ý¡¼¥ë #CN 0 ¤·¤ó¤­ ¿·´ñ #T05 1 ¤·¤ó¤­ ¿·µ¬ #T05 99 ¤·¤ó¤­ ¿´µ¡ #T35 0 ¤·¤ó¤­¤²¤­ ¿·´î·à #T35 0 ¤·¤ó¤­¤Á ¿®µÈ #JNM 0 ¤·¤ó¤­¤Á ¿·µÈ #JNM 0 ¤·¤ó¤­¤Á ¿¿µÈ #JNM 0 ¤·¤ó¤­¤å¤¦ ¿Êµé #T30 1 ¤·¤ó¤­¤å¤¦ ¿·µì #T35 4 ¤·¤ó¤­¤ç ¿·µï #T35 3 ¤·¤ó¤­¤ç¤¦ ¿´¶­ #T35 2 ¤·¤ó¤­¤ç¤¯ ¿·¶Ê #T35 0 ¤·¤ó¤­¤í¤¦ é絤ϰ #T35 1 ¤·¤ó¤­¤í¤¯ ¿·µ­Ï¿ #T35 1 ¤·¤ó¤­¤ó ¿Æ¶á #T30 1 ¤·¤ó¤­¤ó ¿®¶â #T35 0 ¤·¤ó¤­¤ó ¿´¶Ú #T35 0 ¤·¤ó¤­¤ó ¿¿¶Ý #T35 1 ¤·¤ó¤® ¿³µÄ #T30 1 ¤·¤ó¤® ¿¿µ¶ #T35 4 ¤·¤ó¤®¤«¤¤ ¿³µÄ²ñ #T35 1 ¤·¤ó¤®¤¸¤å¤Ä ¿·µ»½Ñ #T35 1 ¤·¤ó¤®¤¿¤¤ ¿´µ»ÂÎ #T35 0 ¤·¤ó¤®¤ó Òñ¶ã #T30 0 ¤·¤ó¤¯ ¿É¶ì #T30 0 ¤·¤ó¤¯ ¿¿¹È #T35 1 ¤·¤ó¤¯¤¦ ¿¿¶õ #T15 0 ¤·¤ó¤¯¤¦¤«¤ó ¿¿¶õ´É #T35 1 ¤·¤ó¤° ¿²¶ñ #T35 0 ¤·¤ó¤°¤¦ ¿·µÜ #JCN 0 ¤·¤ó¤°¤¦ ¿·µÜ #T35 0 ¤·¤ó¤°¤ë ¥·¥ó¥°¥ë #T35 14 ¤·¤ó¤°¤ó ¿Ê·³ #T30 0 ¤·¤ó¤±¤¤ ¿À·Ð #T35 7 ¤·¤ó¤±¤¤¤·¤Ä ¿À·Ð¼Á #T35 1 ¤·¤ó¤±¤¤¤Ä¤¦ ¿À·ÐÄË #T35 0 ¤·¤ó¤±¤ó ¿¿·õ #T05 9 ¤·¤ó¤±¤ó ¿Æ¸¢ #T35 0 ¤·¤ó¤²¤­ ¿Ê·â #T30 0 ¤·¤ó¤²¤ó ¿®¸¼ #JNM 0 ¤·¤ó¤²¤ó¤Á ¿Ì¸»ÃÏ #T35 0 ¤·¤ó¤³¤¦ ¿¯¹¶ #T30 0 ¤·¤ó¤³¤¦ ¿¶¶½ #T30 2 ¤·¤ó¤³¤¦ ¿Ê¹Ô #T30 31 ¤·¤ó¤³¤¦ ¿®¶Ä #T30 8 ¤·¤ó¤³¤¦ ¿Æ¸ò #T35 0 ¤·¤ó¤³¤¦ ¿Æ¹¥ #T35 0 ¤·¤ó¤³¤¦ ¿·¶½ #T35 1 ¤·¤ó¤³¤­¤å¤¦ ¿¼¸ÆµÛ #T30 0 ¤·¤ó¤³¤¯ ¿¼¹ï #T05 4 ¤·¤ó¤³¤¯ ¿Æ¹ð #T30 0 ¤·¤ó¤³¤¯ ¿½¹ð #T30 8 ¤·¤ó¤³¤Ã¤Á¤ç¤¦ ¿¿¹üĺ #T35 1 ¤·¤ó¤³¤ä¤¹ ¿·»Ò°Â #CN 0 ¤·¤ó¤³¤ó ¿·º§ #T35 5 ¤·¤ó¤´ ¿Â¸ç #JNM 0 ¤·¤ó¤´¤¦ ¿·¶¿ #JCN 0 ¤·¤ó¤´¤¦ ¿À¶¿ #JCN 0 ¤·¤ó¤´¤¦ ¿®¹æ #T35 62 ¤·¤ó¤µ ¿³ºº #T30 4 ¤·¤ó¤µ¤¤ ¿ÌºÒ #T35 4 ¤·¤ó¤µ¤¯ ¿·ºî #T30 1 ¤·¤ó¤µ¤Ä ¿Ç»¡ #T30 3 ¤·¤ó¤µ¤ó ¿É»À #T35 0 ¤·¤ó¤¶¤ó ¿·»² #T35 3 ¤·¤ó¤· ¿¿Ùõ #T19 0 ¤·¤ó¤· ¿Â»Î #T35 1 ¤·¤ó¤·¤­ ¿·¼° #T05 0 ¤·¤ó¤·¤Ä ¿²¼¼ #T35 1 ¤·¤ó¤·¤Ä ¿´¼¼ #T35 1 ¤·¤ó¤·¤Î¤Ä ¿·¼ÄÄÅ #CN 0 ¤·¤ó¤·¤ã ¿¼¼Õ #T30 0 ¤·¤ó¤·¤ã ¿·¼Ö #T30 1 ¤·¤ó¤·¤ã¤¯ Úмà #T30 0 ¤·¤ó¤·¤å ¿·¼ò #T35 0 ¤·¤ó¤·¤å ¿Ê¼è #T35 0 ¤·¤ó¤·¤å ¿·¼ï #T35 1 ¤·¤ó¤·¤å¤¦ ¿®½£ #CN 0 ¤·¤ó¤·¤å¤¯ ¿­½Ì #T30 18 ¤·¤ó¤·¤å¤Ä ¿¯½Ð #T30 0 ¤·¤ó¤·¤å¤Ä ¿»½Ð #T30 0 ¤·¤ó¤·¤å¤Ä Þú½Ð #T30 1 ¤·¤ó¤·¤å¤Ä ¿Ê½Ð #T30 2 ¤·¤ó¤·¤å¤ó ¿·½Õ #T35 1 ¤·¤ó¤·¤ç ¿·½ñ #T35 1 ¤·¤ó¤·¤ç¤¦ ¿É¾¡ #T30 1 ¤·¤ó¤·¤ç¤¦ ¿´¾Ú #T35 0 ¤·¤ó¤·¤ç¤¦¤·¤ã ¿È¾ã¼Ô #T35 0 ¤·¤ó¤·¤ç¤¦¤Ò¤ó ¿·¾¦ÉÊ #T35 0 ¤·¤ó¤·¤ç¤¯ ¿¯¿ª #T30 0 ¤·¤ó¤·¤ç¤¯ ¿²¿© #T30 0 ¤·¤ó¤·¤ç¤¯ ¿»¿© #T30 0 ¤·¤ó¤·¤ç¤¯ ¿»¿ª #T30 0 ¤·¤ó¤·¤ç¤¯ ¿¯¿© #T30 1 ¤·¤ó¤·¤í ¿·¾ë #JCN 0 ¤·¤ó¤·¤ó ÄÅÄÅ #F00 2 ¤·¤ó¤·¤ó ¿·¿Ê #T35 1 ¤·¤ó¤·¤ó ¿´¿È #T35 8 ¤·¤ó¤¸ ¼µÆ» #JCN 0 ¤·¤ó¤¸ ¿®¼¡ #JNM 0 ¤·¤ó¤¸ ¿®¼£ #JNM 0 ¤·¤ó¤¸ ¿®Æó #JNM 0 ¤·¤ó¤¸ ¿·¼£ #JNM 0 ¤·¤ó¤¸ ¿¿»Ê #JNM 0 ¤·¤ó¤¸ ¿¿¼£ #JNM 0 ¤·¤ó¤¸ ¿®¤¸ #KS 0 ¤·¤ó¤¸¤±¡¼¤È ¥·¥ó¥¸¥±¡¼¥È #T35 0 ¤·¤ó¤¸¤Ä ¿¿¼Â #T35 4 ¤·¤ó¤¸¤ã ¿®¼Ô #T35 3 ¤·¤ó¤¸¤å ¿¿¼î #T35 2 ¤·¤ó¤¸¤å¤¦ ¿´Ãæ #T30 1 ¤·¤ó¤¸¤å¤¯ ¿·½É #JCN 0 ¤·¤ó¤¸¤ç¤¦ ¿·¾± #JCN 0 ¤·¤ó¤¸¤ç¤¦ ¿Ê¾å #T30 0 ¤·¤ó¤¸¤ç¤¦ ¿´¾ð #T35 1 ¤·¤ó¤¸¤ç¤¦ ¿È¾å #T35 1 ¤·¤ó¤¸¤ç¤¦ ¿®¾ò #T35 2 ¤·¤ó¤¸¤í¤¦ ¿·¼¡Ïº #JNM 0 ¤·¤ó¤¸¤ó ¿®¿´ #T30 1 ¤·¤ó¤¸¤ó ¿·¿Í #T35 42 ¤·¤ó¤¹¤¤ ¿´¿ì #T30 0 ¤·¤ó¤¹¤¤ ¿Ê¿å #T30 0 ¤·¤ó¤¹¤¤ ¿»¿å #T30 8 ¤·¤ó¤¹¤¤¤»¤¤ ¿Æ¿åÀ­ #T05 1 ¤·¤ó¤¹¤¦ ¿Ê¿ô #JS 10 ¤·¤ó¤º¤¤ ¿´¿ñ #T35 0 ¤·¤ó¤º¤¤ ¿À¿ñ #T35 0 ¤·¤ó¤º¤¤ ¿¿¿ñ #T35 1 ¤·¤ó¤»¤¤ ¿¿Àµ #CN 0 ¤·¤ó¤»¤¤ ¿¿Àµ #T05 0 ¤·¤ó¤»¤¤ ¿ÀÀ» #T05 1 ¤·¤ó¤»¤¤ ¿½ÀÁ #T30 31 ¤·¤ó¤»¤¤ ¿·À© #T35 0 ¤·¤ó¤»¤¤ ¿·À± #T35 0 ¤·¤ó¤»¤¤ ¿¿À­ #T35 0 ¤·¤ó¤»¤¤ ¿·À¸ #T35 1 ¤·¤ó¤»¤¤¤¸ ¿·À¸»ù #T35 0 ¤·¤ó¤»¤¤¤Ò¤ó ¿·À½ÉÊ #T35 2 ¤·¤ó¤»¤­ ¿ÆÀÌ #T35 3 ¤·¤ó¤»¤µ¤¤¤¶ ¥·¥ó¥»¥µ¥¤¥¶ #T35 0 ¤·¤ó¤»¤µ¤¤¤¶¡¼ ¥·¥ó¥»¥µ¥¤¥¶¡¼ #T35 0 ¤·¤ó¤»¤Ä ¿ÆÀÚ #T05 16 ¤·¤ó¤»¤Ä ¿·Àß #T30 10 ¤·¤ó¤»¤Ä ¿·Àâ #T35 0 ¤·¤ó¤»¤Ä ¿·Àã #T35 0 ¤·¤ó¤»¤ó ¿ÀÀô #JCN 0 ¤·¤ó¤»¤ó ¿·Á¯ #T05 8 ¤·¤ó¤»¤ó ¿Ìðü #T30 0 ¤·¤ó¤»¤ó ¿ÀÀç #T35 0 ¤·¤ó¤»¤ó ¿¶Àï #T35 1 ¤·¤ó¤»¤ó ¿ÄÀþ #T35 1 ¤·¤ó¤¼¤ó ¿ÀÁ° #T35 0 ¤·¤ó¤¼¤ó ¿ÆÁ± #T35 0 ¤·¤ó¤½¤¦ ¿¼Áë #T35 0 ¤·¤ó¤½¤¦ ¿¼ÁØ #T35 2 ¤·¤ó¤½¤¦ ¿¿Áê #T35 2 ¤·¤ó¤½¤³ ¿´Äì #T35 0 ¤·¤ó¤½¤Ä ¿·Â´ #T35 0 ¤·¤ó¤¾¤¦ ¿´Â¡ #T35 4 ¤·¤ó¤¾¤¯ ¿ÆÂ² #T35 1 ¤·¤ó¤¿¤¤ ¿ÊÂà #T30 1 ¤·¤ó¤¿¤¤ ¿ÀÂÎ #T35 0 ¤·¤ó¤¿¤¤ ¿ÈÂÎ #T35 1 ¤·¤ó¤¿¤¤¤»¤¤ ¿·ÂÎÀ© #T35 2 ¤·¤ó¤¿¤¤¤½¤¦ ¿·ÂÎÁà #T35 0 ¤·¤ó¤¿¤¯ ¿·Âð #JNS 0 ¤·¤ó¤¿¤¯ ¿®Â÷ #T30 6 ¤·¤ó¤¿¤¯ ¿ÀÂ÷ #T35 0 ¤·¤ó¤¿¤¯¤®¤ó¤³¤¦ ¿®Â÷¶ä¹Ô #T35 0 ¤·¤ó¤¿¤¯¤¹ ¥·¥ó¥¿¥¯¥¹ #T35 0 ¤·¤ó¤¿¤Ã¤¯¤¹ ¥·¥ó¥¿¥Ã¥¯¥¹ #T35 14 ¤·¤ó¤¿¤í¤¦ ¿®ÂÀϺ #JNM 0 ¤·¤ó¤¿¤í¤¦ ¿·ÂÀϺ #JNM 0 ¤·¤ó¤À¤¤ ¿²Âæ #T35 1 ¤·¤ó¤À¤ó ¿ÇÃÇ #T30 31 ¤·¤ó¤Á ¿·ÃÏ #CN 0 ¤·¤ó¤Á ¿·ÃÏ #T35 0 ¤·¤ó¤Á¤¯ ¿·ÃÛ #T30 0 ¤·¤ó¤Á¤å¤¦ ¿ÊÃó #T30 0 ¤·¤ó¤Á¤å¤¦ ¿¿ï« #T35 0 ¤·¤ó¤Á¤å¤¦ ¿´Ãæ #T35 1 ¤·¤ó¤Á¤ç¤¦ ¿·Ä¬ #KK 3 ¤·¤ó¤Á¤ç¤¦ ¿¼Ä¹ #T05 0 ¤·¤ó¤Á¤ç¤¦ ¿µ½Å #T05 8 ¤·¤ó¤Á¤ç¤¦ ¿­Ä¹ #T30 13 ¤·¤ó¤Á¤ç¤¦ ¿·Ä´ #T30 2 ¤·¤ó¤Á¤ç¤¦ ¿ÈĹ #T35 8 ¤·¤ó¤Á¤ç¤¯ ¿ÊĽ #T30 68 ¤·¤ó¤Á¤ó¤¿¤¤¤·¤ã ¿·ÄÄÂå¼Õ #T30 0 ¤·¤ó¤Ä¤¦ ¿´ÄË #T30 0 ¤·¤ó¤Æ¤¤ ¿ÊÄè #T30 1 ¤·¤ó¤Æ¤­ ¿´Åª #T05 4 ¤·¤ó¤Æ¤ó ¿ÊŸ #T30 5 ¤·¤ó¤Æ¤ó ¿ÆÅ¸ #T35 1 ¤·¤ó¤Ç¤ì¤é ¥·¥ó¥Ç¥ì¥é #JN 0 ¤·¤ó¤Ç¤ó ¿·ÅÄ #JCN 0 ¤·¤ó¤Ç¤ó ¿ÀÅ #T35 1 ¤·¤ó¤Ç¤ó¤º ¿´ÅÅ¿Þ #T35 0 ¤·¤ó¤È¤¦ ¿ºÅì #JCN 0 ¤·¤ó¤È¤¦ ¿¿Æ£ #JNS 0 ¤·¤ó¤È¤¦ ¿ÆÅù #JS 0 ¤·¤ó¤È¤¦ ¿»Æ© #T30 3 ¤·¤ó¤È¤¦ ¿´Æ¬ #T35 0 ¤·¤ó¤È¤¦ ¿·ÅÞ #T35 0 ¤·¤ó¤È¤¦ ¿ÆÅù #T35 0 ¤·¤ó¤È¤¯ ¿·ÆÀ #JCN 0 ¤·¤ó¤È¤Ä¤«¤ï ¿·½½ÄÅÀî #CN 0 ¤·¤ó¤È¤Í ¿·Íøº¬ #CN 0 ¤·¤ó¤È¤ß ¿·ÉÙ #CN 0 ¤·¤ó¤É ¤·¤ó¤É #KY 0 ¤·¤ó¤É ¿ÌÅÙ #T35 0 ¤·¤ó¤É ¿ÊÅÙ #T35 2 ¤·¤ó¤É¤¦ ¿¿Æ£ #JNS 0 ¤·¤ó¤É¤¦ ¿ÊÆ£ #JNS 0 ¤·¤ó¤É¤¦ ¿Ìư #T30 0 ¤·¤ó¤É¤¦ ¿¶Æ° #T30 1 ¤·¤ó¤É¤¦ ¿ÀƸ #T35 0 ¤·¤ó¤É¤¬ ¤·¤ó¤É¤¬ #R5 0 ¤·¤ó¤Ê¡¼ ¥·¥ó¥Ê¡¼ #T35 0 ¤·¤ó¤Ê¤¤ ¿´Æâ #T35 0 ¤·¤ó¤Ê¤ó¤è¤¦ ¿·ÆîÍÛ #CN 0 ¤·¤ó¤Ë¤Á¤Ï ¿ÆÆüÇÉ #T35 0 ¤·¤ó¤Ë¤Ã¤Æ¤Ä ¿·ÆüÅ´ #KK 1 ¤·¤ó¤Ë¤Û¤ó ¿·ÆüËÜ #KK 4 ¤·¤ó¤Ë¤å¤¦ ¿»Æþ #T30 1 ¤·¤ó¤Ë¤å¤¦ ¿ÊÆþ #T30 1 ¤·¤ó¤Ë¤å¤¦ ¿¯Æþ #T30 5 ¤·¤ó¤Ë¤å¤¦ ¿·Æþ #T35 2 ¤·¤ó¤Ë¤å¤¦¤¬¤¯ ¿·Æþ³Ø #T35 0 ¤·¤ó¤Ë¤å¤¦¤»¤¤ ¿·ÆþÀ¸ #T35 0 ¤·¤ó¤Ë¤ó ¿®Ç¤ #T30 0 ¤·¤ó¤Ë¤ó ¿·Ç¤ #T30 0 ¤·¤ó¤Í¤ó ¿·Ç¯ #T35 21 ¤·¤ó¤Í¤ó ¿®Ç° #T35 3 ¤·¤ó¤Í¤ó¤«¤¤ ¿·Ç¯²ñ #T35 7 ¤·¤ó¤Î¤¦ ¿Æ²¦ #T35 0 ¤·¤ó¤Î¤¦ ¿´Ç¹ #T35 1 ¤·¤ó¤Ï¤Ä¤Ð¤¤ ¿·È¯Çä #T30 0 ¤·¤ó¤Ð¤· ¿·¶¶ #T35 8 ¤·¤ó¤Ð¤ó ¿·È× #T35 1 ¤·¤ó¤Ñ ¿·ÇÉ #T35 1 ¤·¤ó¤Ñ¤¤ ¿´ÇÛ #T00 64 ¤·¤ó¤Ñ¤ó ¿¯ÈÈ #T30 1 ¤·¤ó¤Ñ¤ó ¿³È½ #T30 2 ¤·¤ó¤Ó ¿³Èþ #T35 1 ¤·¤ó¤Ô ¿ÀÈë #T05 1 ¤·¤ó¤Ô ¿¿ÈÝ #T35 0 ¤·¤ó¤Ô¤ç¤¦ ¿®Øá #T30 0 ¤·¤ó¤Ô¤ó ¿·ÉÊ #T05 1 ¤·¤ó¤Õ¤¼¤ó ¿´ÉÔÁ´ #T35 0 ¤·¤ó¤Ö ¿¼Éô #T35 2 ¤·¤ó¤Ö¤Ä ¿ÀÊ© #T35 1 ¤·¤ó¤Ö¤ó ¿·Ê¹ #T35 31 ¤·¤ó¤× ¿ÀÉã #T35 0 ¤·¤ó¤× ¿·ÉØ #T35 3 ¤·¤ó¤× ¿·Éè #T35 7 ¤·¤ó¤×¤¦ ¿·É÷ #T35 0 ¤·¤ó¤×¤¯ ¿¶Éý #T35 1 ¤·¤ó¤×¤ë ¥·¥ó¥×¥ë #T05 10 ¤·¤ó¤Ú¤¤ ¿·Ê¿ #JNM 0 ¤·¤ó¤Ú¤ó ¿ÈÊÕ #T35 0 ¤·¤ó¤Ü ¿·ÊÝ #JCN 0 ¤·¤ó¤Ü¤¦ ¿ÉÊú #T30 2 ¤·¤ó¤Ü¤¦ ¿´Ë¼ #T35 0 ¤·¤ó¤Ü¤¦ ¿´ËÀ #T35 0 ¤·¤ó¤Ü¤¦ ¿®Ë¾ #T35 4 ¤·¤ó¤Ü¤¯ ¿ÆËÓ #T30 6 ¤·¤ó¤Ü¤¯ ¿ÀÌÚ #T35 0 ¤·¤ó¤Ü¤ê¤Ã¤¯ ¥·¥ó¥Ü¥ê¥Ã¥¯ #T05 21 ¤·¤ó¤Ü¤ê¤Ã¤¯¤¹ ¥·¥ó¥Ü¥ê¥Ã¥¯¥¹ #KK 2 ¤·¤ó¤Ü¤ë ¥·¥ó¥Ü¥ë #T35 23 ¤·¤ó¤Ý ¿ÊÊâ #T30 14 ¤·¤ó¤Ý¤¦ ¿®Êô #T30 0 ¤·¤ó¤Ý¤¦ ¿·Ë¡ #T35 0 ¤·¤ó¤Ý¤¸¤¦¤à ¥·¥ó¥Ý¥¸¥¦¥à #T35 24 ¤·¤ó¤Ý¤ó ¿·ËÜ #T35 0 ¤·¤ó¤Þ¤¤ ¿·ÊÆ #T35 0 ¤·¤ó¤Þ¤Á ¿·Ä® #JCN 0 ¤·¤ó¤ß ¿Æ¿È #T05 0 ¤·¤ó¤ß¤Ä ¿ÆÌ© #T05 0 ¤·¤ó¤ß¤Ê¤È ¿·Ì« #CN 0 ¤·¤ó¤ß¤ê ¤·¤ó¤ß¤ê #T00 0 ¤·¤ó¤á ¿·²ê #T35 0 ¤·¤ó¤á¤¤ ¿ÈÌ¿ #T35 1 ¤·¤ó¤â¤Ä ¿Êʪ #T35 0 ¤·¤ó¤â¤ó ¿³Ìä #T30 0 ¤·¤ó¤ä ¿­Ìé #JNM 0 ¤·¤ó¤ä ¿®Ìé #JNM 0 ¤·¤ó¤ä ¿¿ºÈ #JNM 0 ¤·¤ó¤ä ¿ÊÌé #JNM 0 ¤·¤ó¤ä ¿¼Ìë #T35 8 ¤·¤ó¤æ¤¦ ¿ÆÍ§ #T35 0 ¤·¤ó¤è¤¦ ¿®ÍÑ #T30 9 ¤·¤ó¤è¤³¤Ï¤Þ ¿·²£ÉÍ #CN 0 ¤·¤ó¤è¤·¤È¤ß ¿·µÈÉÙ #CN 0 ¤·¤ó¤é¤¤ ¿®Íê #T30 50 ¤·¤ó¤é¤Ä ¿Éíå #T05 1 ¤·¤ó¤é¤Ð¤ó¤·¤ç¤¦ ¿¹ÍåËü¾Ý #T35 1 ¤·¤ó¤é¤ó ¿Æó #JNS 0 ¤·¤ó¤ê ¿³Íý #T30 2 ¤·¤ó¤ê ¿¿Íý #T35 1 ¤·¤ó¤ê ¿´Íý #T35 2 ¤·¤ó¤ê¤ã¤¯ ¿¯Î¬ #T30 0 ¤·¤ó¤ê¤ç ¿¼Î¸ #T35 0 ¤·¤ó¤ê¤ç ¿Àθ #T35 0 ¤·¤ó¤ê¤ç¤¦ ¿ÇÎÅ #T30 1 ¤·¤ó¤ê¤ç¤¯ ¿·ÎÐ #T35 0 ¤·¤ó¤ê¤ó ¿¹ÎÓ #T35 1 ¤·¤ó¤ë¤¤ ¿ÆÎà #T35 1 ¤·¤ó¤ì¤¤ ¿´Îî #T35 0 ¤·¤ó¤í ¿ÊÏ© #T35 4 ¤·¤ó¤í¤¦ ¿´Ï« #T30 1 ¤·¤ó¤í¤¦ ¿·Ïº #T35 2 ¤·¤ó¤ï ¿·Ï #JCN 0 ¤·¤ó¤ï ¿ÆÏ #T30 3 ¤·¤ó¤ï ¿ÀÏà #T35 1 ¤¸ Ï© #CNSUC1 3 ¤¸ »ù #JS 0 ¤¸ »ú #JS 0 ¤¸ »þ #JS 0 ¤¸ ¼¡ #JS 0 ¤¸ ±Â #KJ 0 ¤¸ »÷ #KJ 0 ¤¸ »ø #KJ 0 ¤¸ »ù #KJ 0 ¤¸ ¼¤ #KJ 0 ¤¸ ¼¥ #KJ 0 ¤¸ ¼¬ #KJ 0 ¤¸ Æö #KJ 0 ¤¸ Ï© #KJ 0 ¤¸ »þ #KJ 1 ¤¸ ¼¢ #KJ 1 ¤¸ ¼¨ #KJ 1 ¤¸ ¼© #KJ 1 ¤¸ ¼ª #KJ 1 ¤¸ Öµ #KJ 1 ¤¸ ¼£ #KJ 10 ¤¸ »û #KJ 16 ¤¸ »ü #KJ 2 ¤¸ »ö #KJ 25 ¤¸ ¼« #KJ 32 ¤¸ ¼§ #KJ 4 ¤¸ ¼­ #KJ 6 ¤¸ ¼¡ #KJ 64 ¤¸ ¼¡ #PRE 0 ¤¸ ¼­ #S5 1 ¤¸ »ý #S5 6 ¤¸ ¼¡ #SUC 0 ¤¸ »þ #SUC 255 ¤¸ ¼­ #SX 1 ¤¸ »ý #SX 6 ¤¸ ¼¦ #T35 1 ¤¸ ÃÏ #T35 1 ¤¸ »ú #T35 190 ¤¸ »þ #T35 2 ¤¸¡¼¤¿ ¦¦ #T35 1 ¤¸¡¼¤¿ ¦Æ #T35 1 ¤¸¤¢¤¤ ¼«°¦ #T30 0 ¤¸¤¢¤¤ »ü°¦ #T35 0 ¤¸¤¤ Ìì #KJ 1 ¤¸¤¤ ¼«°Ö #T30 1 ¤¸¤¤ ¤¸¤¤ #T35 1 ¤¸¤¤ ¼­°Õ #T35 1 ¤¸¤¤ Ìì #T35 2 ¤¸¤¤¤·¤­ ¼«°Õ¼± #T35 0 ¤¸¤¤¤ó »û±¡ #T35 2 ¤¸¤§¤Ã¤È ¥¸¥§¥Ã¥È #T35 5 ¤¸¤§¤Ã¤È¤­ ¥¸¥§¥Ã¥Èµ¡ #T35 1 ¤¸¤§¤Í¤ì¡¼¤·¤ç¤ó ¥¸¥§¥Í¥ì¡¼¥·¥ç¥ó #T30 2 ¤¸¤§¤Í¤ì¡¼¤¿ ¥¸¥§¥Í¥ì¡¼¥¿ #T35 4 ¤¸¤§¤Í¤ì¡¼¤¿¡¼ ¥¸¥§¥Í¥ì¡¼¥¿¡¼ #T35 4 ¤¸¤§¤Í¤ì¡¼¤È ¥¸¥§¥Í¥ì¡¼¥È #T30 1 ¤¸¤§¤é¤·¡¼ ¥¸¥§¥é¥·¡¼ #T35 1 ¤¸¤¨¤¤ ¼«±Ò #T30 0 ¤¸¤¨¤¤ ¼«±Ä #T30 1 ¤¸¤¨¤¤¤¿¤¤ ¼«±ÒÂâ #KK 2 ¤¸¤¨¤ó ¼«±é #T30 1 ¤¸¤« »þ²Á #T35 0 ¤¸¤« ¼«²È #T35 0 ¤¸¤« »þ²¼ #T35 2 ¤¸¤« ¤¸¤« #T35 4 ¤¸¤«¤¤ ¼¡²ó #T35 80 ¤¸¤«¤¤ ¼«²ü #T30 0 ¤¸¤«¤¯ ¼«³Ð #T30 2 ¤¸¤«¤¯ »ú²è #T35 0 ¤¸¤«¤± »Å³Ý¤± #SUC 1 ¤¸¤«¤»¤¤ ¼«²ÈÀ½ #T35 1 ¤¸¤«¤Ä ¼«³è #T30 0 ¤¸¤«¤è¤¦ ¼«²ÈÍÑ #T35 1 ¤¸¤«¤è¤¦¤·¤ã ¼«²ÈÍÑ¼Ö #T35 1 ¤¸¤«¤ó »þ´Ö #JS 255 ¤¸¤«¤ó ¼¡´± #T35 0 ¤¸¤«¤ó »þ´Ö #T35 75 ¤¸¤«¤ó¤¬¤¤ »þ´Ö³° #T35 7 ¤¸¤«¤ó¤®¤ì »þ´ÖÀÚ¤ì #T35 1 ¤¸¤«¤ó¤¿¤¤ »þ´ÖÂÓ #T35 4 ¤¸¤«¤ó¤ï¤ê »þ´Ö³ä #T35 0 ¤¸¤¬ ¼«²è #T35 1 ¤¸¤¬ ¼«²æ #T35 3 ¤¸¤¬¤¯ ¼«³Ø #T30 0 ¤¸¤¬¤¾¤¦ ¼«²èÁü #T35 0 ¤¸¤¬¤¿¤á ÃϸǤá #T30 0 ¤¸¤­ ¶ô #KJ 0 ¤¸¤­ ¼«´þ #T30 0 ¤¸¤­ ¼§´ï #T35 0 ¤¸¤­ »þµ¡ #T35 2 ¤¸¤­ ¼¡´ü #T35 34 ¤¸¤­ ¼§µ¤ #T35 48 ¤¸¤­ »þ´ü #T35 92 ¤¸¤­¤µ¤ó ľ»² #T35 0 ¤¸¤­¤·¤¢¤ó ľ»Ø°Ã #KK 1 ¤¸¤­¤¸¤­ ľ¡¹ #T15 0 ¤¸¤­¤½ ľÁÊ #T30 0 ¤¸¤­¤Ò¤Ä ľɮ #T35 0 ¤¸¤­¤å¤¦ »ýµ× #T30 0 ¤¸¤­¤å¤¦ ¼«µë #T30 1 ¤¸¤­¤å¤¦ »þµë #T35 2 ¤¸¤­¤ç ¼­µî #T30 0 ¤¸¤­¤ç¤¦ ¼«¶¡ #T30 0 ¤¸¤­¤ç¤¯ »þ¶É #T35 0 ¤¸¤­¤ç¤¯ ¼§¶Ë #T35 0 ¤¸¤® ¼­µ· #T35 0 ¤¸¤® »úµÁ #T35 8 ¤¸¤®¤ã¤¯ ¼«µÔ #T30 1 ¤¸¤®¤ç¤¦ »ö¶È #T35 59 ¤¸¤®¤ç¤¦¤·¤ç »ö¶È½ê #T35 1 ¤¸¤®¤ç¤¦¤Ì¤· »ö¶È¼ç #T35 0 ¤¸¤®¤ç¤¦¤Ö »ö¶ÈÉô #T35 0 ¤¸¤¯ ¼³ #KJ 0 ¤¸¤¯ »ú¶ç #T35 3 ¤¸¤¯ ¼´ #T35 64 ¤¸¤¯¤µ¤¯ ¼´º÷ #T35 1 ¤¸¤¯¤¸ ×Ù×â #F10 0 ¤¸¤°¤¶¤° ¥¸¥°¥¶¥° #T00 1 ¤¸¤°¤½¡¼ ¥¸¥°¥½¡¼ #T35 9 ¤¸¤±¤¤ ¼¡·» #T35 2 ¤¸¤±¤¤¤ì¤Ä »þ·ÏÎó #T35 1 ¤¸¤±¤Ä ¼«·è #T30 0 ¤¸¤±¤ó »ö·ï #T35 7 ¤¸¤²¤ó ¼¡¸µ #JS 0 ¤¸¤²¤ó »þ¸Â #JS 1 ¤¸¤²¤ó »þ¸Â #T35 0 ¤¸¤²¤ó ¼¡¸µ #T35 36 ¤¸¤³ »ö¸Î #T35 107 ¤¸¤³ ¼«¸Ê #T35 35 ¤¸¤³¤¦ »þ¸õ #T35 1 ¤¸¤³¤¦ »þ¸ú #T35 1 ¤¸¤³¤¦ ¼¡¹à #T35 1 ¤¸¤³¤¦ »ö¹à #T35 95 ¤¸¤³¤¯ ¼«¹ñ #T35 2 ¤¸¤³¤¯ »þ¹ï #T35 36 ¤¸¤³¤¯¤Ò¤ç¤¦ »þ¹ïɽ #T35 0 ¤¸¤³¤½¤·¤­¤« ¼«¸ÊÁÈ¿¥²½ #T30 0 ¤¸¤´ »ö¸å #T35 5 ¤¸¤´¤¦ ¼¡¹æ #T35 1 ¤¸¤´¤¦¤¸¤È¤¯ ¼«¶È¼«ÆÀ #T05 1 ¤¸¤´¤¯ ÃϹö #T35 3 ¤¸¤µ »þº¹ #T35 4 ¤¸¤µ¤¯ ¼«ºî #T30 3 ¤¸¤µ¤² »ú²¼¤² #T30 0 ¤¸¤µ¤Ä ¼«»¦ #T30 3 ¤¸¤µ¤ó ¼«»¿ #T30 1 ¤¸¤µ¤ó »ý»² #T30 2 ¤¸¤¶¤¤ ¼«ºß #T05 1 ¤¸¤¶¤± Ãϼò #T35 1 ¤¸¤· ¼¡»Ò #T35 0 ¤¸¤·¤Ä ¼«¼º #T30 0 ¤¸¤·¤Ä ¼«¼¼ #T35 1 ¤¸¤·¤ã ¼«¼Ò #T35 3 ¤¸¤·¤ã¤¯ ¼§ÀÐ #T35 1 ¤¸¤·¤å ¼«¼ó #T30 0 ¤¸¤·¤å »ú¼ï #T35 0 ¤¸¤·¤å ¼«¼ç #T35 7 ¤¸¤·¤å¤¦ ¼«½¬ #T30 2 ¤¸¤·¤å¤¯ ¼«½Í #T30 0 ¤¸¤·¤ç ¼«½ð #T30 1 ¤¸¤·¤ç ¼­½ñ #T35 255 ¤¸¤·¤ç ÃϽê #T35 6 ¤¸¤·¤ç¤¦ ¼«¾Î #T30 1 ¤¸¤·¤ç¤¦ ¼¡¾Ï #T35 0 ¤¸¤·¤ç¤¦ ¼«¾Ý #T35 1 ¤¸¤·¤ç¤¦ »ö¾Ý #T35 57 ¤¸¤·¤ç¤¯ ¼­¿¦ #T30 1 ¤¸¤·¤ó ¼§¿Ë #T35 0 ¤¸¤·¤ó ¼«¿È #T35 118 ¤¸¤·¤ó ÃÏ¿Ì #T35 12 ¤¸¤·¤ó ¼«¿® #T35 31 ¤¸¤¸ Ìì #T35 2 ¤¸¤¸ »þ»ö #T35 3 ¤¸¤¸¤³¤¯¤³¤¯ »þ¡¹¹ï¡¹ #T35 1 ¤¸¤¸¤Ä »ö¼Â #T35 30 ¤¸¤¸¤Ä¤¸¤ç¤¦ »ö¼Â¾å #T35 3 ¤¸¤¸¤å¤¦ »ø½¾ #T35 0 ¤¸¤¸¤å¤ó ¼ª½ç #T35 0 ¤¸¤¸¤ç ¼¡½÷ #T35 0 ¤¸¤¸¤ç ¼«½ø #T35 0 ¤¸¤¸¤ç¤¦ ¼«¾è #T30 0 ¤¸¤¸¤ç¤¦ »ö¾ð #T35 33 ¤¸¤¸¤ç¤Ç¤ó ¼«½öÅÁ #T35 0 ¤¸¤¹¤¤ ¼«¿æ #T30 2 ¤¸¤¹¤¦ ¼¡¿ô #T35 11 ¤¸¤¹¤® »þ¤¹¤® #JS 1 ¤¸¤»¤¤ ¼«À© #T30 6 ¤¸¤»¤¤ »þÀª #T35 0 ¤¸¤»¤¤ »þÀ¤ #T35 1 ¤¸¤»¤¤ »þÀ© #T35 2 ¤¸¤»¤­ ¼«ÀÕ #T30 0 ¤¸¤»¤­ ¼¡ÀÊ #T35 0 ¤¸¤»¤­ ¼«ÀÊ #T35 0 ¤¸¤»¤Ä ¼«Àâ #T35 0 ¤¸¤»¤Ä »þÀá #T35 4 ¤¸¤»¤ó ¼«Á¦ #T30 0 ¤¸¤»¤ó ¼«Áª #T30 1 ¤¸¤¼¤ó ¼¡Á± #T15 1 ¤¸¤¼¤ó »üÁ± #T35 0 ¤¸¤¼¤ó »öÁ° #T35 28 ¤¸¤½¤¦ »þÁê #T35 8 ¤¸¤½¤¯ »þ® #T35 2 ¤¸¤½¤ó ¼«Â¸ #T30 0 ¤¸¤½¤ó ¼«Âº #T35 0 ¤¸¤¾¤¦ ÃÏ¢ #T35 0 ¤¸¤¾¤¯ »ý³ #T30 1 ¤¸¤¿ ¼«Â¾ #T35 1 ¤¸¤¿¤¤ ¼­Âà #T30 2 ¤¸¤¿¤¤ »úÂÎ #T35 3 ¤¸¤¿¤¤ »öÂÖ #T35 7 ¤¸¤¿¤¤ ¼«ÂÎ #T35 73 ¤¸¤¿¤¯ ¼«Âð #T35 40 ¤¸¤¿¤Ð¤¿ ¤¸¤¿¤Ð¤¿ #F12 0 ¤¸¤À¤¤ ÃÏÂå #T35 0 ¤¸¤À¤¤ ¼¡Âå #T35 1 ¤¸¤À¤¤ »þÂå #T35 38 ¤¸¤À¤¤¤²¤­ »þÂå·à #T35 0 ¤¸¤À¤é¤¯ ¼«ÂÄÍî #T05 0 ¤¸¤À¤ó ¼¨ÃÌ #T35 0 ¤¸¤À¤ó ¼¡ÃÊ #T35 1 ¤¸¤Á ¼«¼£ #T35 1 ¤¸¤Á¤«¤¤ ¼«¼£²ñ #T35 1 ¤¸¤Á¤·¤ç¤¦ ¼«¼£¾Ê #KK 0 ¤¸¤Á¤¿¤¤ ¼«¼£ÂÎ #T35 1 ¤¸¤Á¤ç¤¦ ¼«ÓÞ #T30 0 ¤¸¤Á¤ç¤¦ ¼«½Å #T30 1 ¤¸¤Á¤ç¤¦ ¼¡Ä¹ #T35 1 ¤¸¤Ã ½½ #NN 5 ¤¸¤Ã ¼Â #PRE 0 ¤¸¤Ã¤« ¼Â²È #T35 5 ¤¸¤Ã¤«¤ó ¼Â´¶ #T30 8 ¤¸¤Ã¤­ ¼Âµ¡ #T35 7 ¤¸¤Ã¤­¤ç¤¦ ¼Â¶· #T35 1 ¤¸¤Ã¤¯¤ê ¤¸¤Ã¤¯¤ê #F04 3 ¤¸¤Ã¤±¤¤ ¼Â·º #T35 0 ¤¸¤Ã¤±¤¤ ¼Â·» #T35 0 ¤¸¤Ã¤±¤ó ¼Â¸¡ #T30 0 ¤¸¤Ã¤±¤ó ¼Â¸³ #T30 105 ¤¸¤Ã¤±¤ó ¼Â¸¢ #T35 0 ¤¸¤Ã¤³¤¦ ¼Â¹Ô #T30 255 ¤¸¤Ã¤³¤¦ ¼Â¸ú #T35 3 ¤¸¤Ã¤µ¤¤ ¼ÂºÝ #T35 255 ¤¸¤Ã¤µ¤¯ ¼Âºî #T30 0 ¤¸¤Ã¤· ¼Â»ë #T30 2 ¤¸¤Ã¤· ¼Â»Ü #T30 40 ¤¸¤Ã¤· ¼Â»Ò #T35 0 ¤¸¤Ã¤·¤Ä ¼Â¼Á #T35 11 ¤¸¤Ã¤·¤ã ¼Â¼Ì #T30 1 ¤¸¤Ã¤·¤å¤¦ ¼Â½¬ #T30 10 ¤¸¤Ã¤·¤å¤¦ ¼Â¼ý #T35 0 ¤¸¤Ã¤·¤ç¤¦ ¼Â¾Ú #T30 3 ¤¸¤Ã¤¹¤¦ ¼Â¿ô #T35 4 ¤¸¤Ã¤»¤­ ¼ÂÀÓ #T35 26 ¤¸¤Ã¤»¤ó ¼ÂÀï #T30 1 ¤¸¤Ã¤»¤ó ¼ÂÁ© #T30 5 ¤¸¤Ã¤»¤ó ¼ÂÀþ #T35 4 ¤¸¤Ã¤½¤¦ ¼ÂÁõ #T30 75 ¤¸¤Ã¤½¤¯ ¼Â¬ #T30 1 ¤¸¤Ã¤¿¤¤ ¼ÂÂÖ #T35 123 ¤¸¤Ã¤¿¤¤ ¼ÂÂÎ #T35 44 ¤¸¤Ã¤Á ¼ÂÃÏ #T35 0 ¤¸¤Ã¤Á¤ç¤¯ ¼Âľ #T05 0 ¤¸¤Ã¤È ¤¸¤Ã¤È #F14 3 ¤¸¤Ã¤Ô ¼ÂÈñ #T35 4 ¤¸¤Ã¤× ¼ÂÉã #T35 0 ¤¸¤Ä Õé #KJ 1 ¤¸¤Ä Æü #KJ 17 ¤¸¤Ä ¼Â #T35 241 ¤¸¤Ä¤¤¤ó ¼Â°õ #T35 0 ¤¸¤Ä¤¨¤­ ¼Â±× #T35 1 ¤¸¤Ä¤¨¤ó ¼Â±é #T30 2 ¤¸¤Ä¤¬¤¤ ¼Â³² #T35 1 ¤¸¤Ä¤® ¼Âµ» #T35 1 ¤¸¤Ä¤®¤ç¤¦ ¼Â¶È #T35 0 ¤¸¤Ä¤®¤ç¤¦¤« ¼Â¶È²È #T35 0 ¤¸¤Ä¤²¤ó ¼Â¸½ #T30 255 ¤¸¤Ä¤¶¤¤ ¼Âºß #T30 6 ¤¸¤Ä¤¸¤ç¤¦ ¼Â¾õ #T35 0 ¤¸¤Ä¤¸¤ç¤¦ ¼Â¾ð #T35 4 ¤¸¤Ä¤¾¤¦ ¼ÂÁü #T35 0 ¤¸¤Ä¤¾¤ó ¼Â¸ #T30 1 ¤¸¤Ä¤À¤ó ¼ÂÃÆ #T35 0 ¤¸¤Ä¤É¤¦ ¼ÂƯ #T30 2 ¤¸¤Ä¤Ö¤Ä ¼Âʪ #T35 4 ¤¸¤Ä¤Ü ¼ÂÊì #T35 0 ¤¸¤Ä¤à ¼Â̳ #T35 2 ¤¸¤Ä¤á¤¤ ¼Â̾ #T35 2 ¤¸¤Ä¤è¤¦ ¼ÂÍÑ #T30 32 ¤¸¤Ä¤ê ¼ÂÍø #T35 0 ¤¸¤Ä¤ê¤ç¤¯ ¼ÂÎÏ #T35 1 ¤¸¤Ä¤ì¤¤ ¼ÂÎã #T35 2 ¤¸¤Ä¤í¤¯ ¼ÂÏ¿ #T30 1 ¤¸¤Ä¤ï ¼ÂÏà #T35 2 ¤¸¤Å¤é »úÌÌ #T35 2 ¤¸¤Æ¤­ ¼«Å¬ #T30 0 ¤¸¤Æ¤ó ¼«Å¾ #T30 0 ¤¸¤Æ¤ó ¼¡ÅÀ #T35 0 ¤¸¤Æ¤ó »öŵ #T35 1 ¤¸¤Æ¤ó ¼­Åµ #T35 6 ¤¸¤Æ¤ó »þÅÀ #T35 81 ¤¸¤Æ¤ó¤·¤ã ¼«Å¾¼Ö #T35 7 ¤¸¤Ç¤ó ¼«ÅÁ #T35 1 ¤¸¤È¤¦ ¼«Åú #T30 0 ¤¸¤È¤¯ ¼«ÆÀ #T30 0 ¤¸¤È¤ê ÃÏ·Ü #T35 1 ¤¸¤É¤¦ ¼«Æ° #T05 255 ¤¸¤É¤¦ »ùƸ #T35 1 ¤¸¤É¤¦¤· ¼«Æ°»ì #T35 8 ¤¸¤É¤¦¤·¤ã ¼«Æ°¼Ö #T35 31 ¤¸¤É¤¦¤·¤ã¤É¤¦ ¼«Æ°¼ÖÆ» #T35 1 ¤¸¤Ê¤ê ÃÏÌĤê #T30 0 ¤¸¤Ê¤ó ¼¡ÃË #T35 0 ¤¸¤Ë¤ó ¼«Ç¤ #T30 0 ¤¸¤Ë¤ó ¼­Ç¤ #T30 0 ¤¸¤Ë¤ó ¼«Ç§ #T30 1 ¤¸¤Ì¤· Ãϼç #T35 0 ¤¸¤Í¤Ä ÃÏÇ® #T35 0 ¤¸¤Ï¤¯ ¼«Çò #T30 1 ¤¸¤Ï¤À ÃÏÈ© #T35 0 ¤¸¤Ï¤Ä ¼«È¯ #T35 0 ¤¸¤Ð ÃϾì #T35 0 ¤¸¤Ð¤¯ ¼«Çú #T30 0 ¤¸¤Ð¤é ¼«Ê¢ #T35 0 ¤¸¤Ð¤ó ÃÏÈ× #T35 1 ¤¸¤Ò »üÈá #T35 1 ¤¸¤Ò ¼«Èñ #T35 1 ¤¸¤Ò¤Ä ¼«É® #T35 0 ¤¸¤Ò¤ç¤¦ ¼­É½ #T35 1 ¤¸¤Ó¤« ¼ªÉ¡²Ê #T35 0 ¤¸¤Ó¤­ »ú°ú #T35 1 ¤¸¤Ó¤ç¤¦ »ýÉ #T35 1 ¤¸¤Õ ¼«Éé #T30 2 ¤¸¤Ö¤Ä »öʪ #T35 1 ¤¸¤Ö¤ó »þʬ #T35 0 ¤¸¤Ö¤ó ¼«Ê¬ #T35 255 ¤¸¤Ø¤¤¤·¤ç¤¦ ¼«ÊÄ¾É #T35 1 ¤¸¤Ø¤ó »öÊÑ #T35 7 ¤¸¤Û¤¦ »þÊó #T35 1 ¤¸¤Ü¤¦ ¼«Ë½ #T35 0 ¤¸¤Þ Åç #T35 7 ¤¸¤Þ¤¤ »ÅÉñ¤¤ #T35 1 ¤¸¤Þ¤¨ ¼«Á° #T35 2 ¤¸¤Þ¤¯ »úËë #T35 1 ¤¸¤Þ¤ó ¼«Ëý #T30 3 ¤¸¤ß ÃÏÌ£ #T05 2 ¤¸¤ß¤Á ÃÏÆ» #T05 2 ¤¸¤ß¤ó ¼«Ì± #KK 1 ¤¸¤ß¤ó¤È¤¦ ¼«Ì±ÅÞ #KK 2 ¤¸¤à ¥¸¥à #T35 1 ¤¸¤à »ö̳ #T35 24 ¤¸¤à¤­ »ö̳µ¡ #T35 1 ¤¸¤à¤­¤ç¤¯ »ö̳¶É #T35 8 ¤¸¤à¤·¤ç »ö̳½ê #T35 2 ¤¸¤á¤¤ ¼«ÌÀ #T05 3 ¤¸¤á¤Ä ¼«ÌÇ #T30 0 ¤¸¤á¤ó ÃÏÌÌ #T35 2 ¤¸¤â¤¯ ¼ªÌÜ #T35 0 ¤¸¤â¤¯¤¸ ¿ÓÌÜ»û #CN 0 ¤¸¤â¤È Ãϸµ #T35 2 ¤¸¤â¤ó ¼«Ìä #T35 0 ¤¸¤ã ¼Ù #KJ 7 ¤¸¤ã ¼Ø #T35 4 ¤¸¤ã¡¼¤Ê¤ê¤¹¤È ¥¸¥ã¡¼¥Ê¥ê¥¹¥È #T35 1 ¤¸¤ã¡¼¤Ê¤ë ¥¸¥ã¡¼¥Ê¥ë #T35 2 ¤¸¤ã¤¢ ¤¸¤ã¤¢ #CJ 13 ¤¸¤ã¤¢¤¯ ¼Ù°­ #T05 1 ¤¸¤ã¤¤¤¢¤ó¤È ¥¸¥ã¥¤¥¢¥ó¥È #T05 1 ¤¸¤ã¤¬¤¤¤â ¤¸¤ã¤¬¤¤¤â #T35 1 ¤¸¤ã¤­ ¼Ùµ¤ #T35 0 ¤¸¤ã¤¯ ¼å #JSSUC 0 ¤¸¤ã¤¯ ¼ã #KJ 0 ¤¸¤ã¤¯ ¼ä #KJ 0 ¤¸¤ã¤¯ ¼æ #KJ 0 ¤¸¤ã¤¯ ¿ý #KJ 1 ¤¸¤ã¤¯ ¼å #PRE 0 ¤¸¤ã¤¯ ¼å #T35 3 ¤¸¤ã¤¯¤· ¼å»ë #T35 0 ¤¸¤ã¤¯¤·¤ã ¼å¼Ô #T35 1 ¤¸¤ã¤¯¤·¤ç¤¦ ¼å¾® #T05 1 ¤¸¤ã¤¯¤·¤ó ¼å¿Ì #T35 0 ¤¸¤ã¤¯¤½¤ó ¥¸¥ã¥¯¥½¥ó #KK 1 ¤¸¤ã¤¯¤Æ¤ó ¼åÅÀ #T35 2 ¤¸¤ã¤¯¤Ë¤¯¤­¤ç¤¦¤·¤ç¤¯ ¼åÆù¶¯¿© #T15 0 ¤¸¤ã¤¯¤Í¤ó ¼ãǯ #T35 1 ¤¸¤ã¤¯¤Ï¤¤ ¼ãÇÚ #T35 1 ¤¸¤ã¤¯¤ä¤¯ ¿ýÌö #T30 0 ¤¸¤ã¤°¤Á ¼Ø¸ý #T35 0 ¤¸¤ã¤±¤Ã¤È ¥¸¥ã¥±¥Ã¥È #T35 1 ¤¸¤ã¤±¤ó ¤¸¤ã¤±¤ó #T05 0 ¤¸¤ã¤±¤ó ¼ÙØÌ #T05 0 ¤¸¤ã¤·¤ó ¼Ù¿´ #T35 0 ¤¸¤ã¤¸¤ã¤¦¤Þ ¤¸¤ã¤¸¤ãÇÏ #T35 1 ¤¸¤ã¤¹¤¤ ¼Ù¿ä #T30 3 ¤¸¤ã¤¹¤È ¥¸¥ã¥¹¥È #T35 4 ¤¸¤ã¤¹¤ß¤ó ¥¸¥ã¥¹¥ß¥ó #T35 1 ¤¸¤ã¤º ¥¸¥ã¥º #T35 2 ¤¸¤ã¤Ã¤«¤ó ¼ã´³ #T35 40 ¤¸¤ã¤Ã¤­ ¼æµ¯ #T30 0 ¤¸¤ã¤Ã¤­ ¥¸¥ã¥Ã¥­ #T35 0 ¤¸¤ã¤Ã¤¯ ¼æ¶ç #T35 0 ¤¸¤ã¤É¤¦ ¼ÙÆ» #T35 4 ¤¸¤ã¤Þ ¼ÙËâ #T00 23 ¤¸¤ã¤à ¥¸¥ã¥à #T35 13 ¤¸¤ã¤ê º½Íø #T35 0 ¤¸¤ã¤ó¤°¤ë ¥¸¥ã¥ó¥°¥ë #T35 1 ¤¸¤ã¤ó¤Ñ¡¼ ¥¸¥ã¥ó¥Ñ¡¼ #T35 1 ¤¸¤ã¤ó¤× ¥¸¥ã¥ó¥× #T30 2 ¤¸¤ã¤ó¤Ü ¥¸¥ã¥ó¥Ü #T05 1 ¤¸¤ã¤ó¤ë ¥¸¥ã¥ó¥ë #T35 8 ¤¸¤å ¼ô #KJ 0 ¤¸¤å ¼ú #KJ 0 ¤¸¤å ¼û #KJ 0 ¤¸¤å ÄÜ #KJ 0 ¤¸¤å ¼÷ #KJ 1 ¤¸¤å ¼ø #KJ 1 ¤¸¤å ¼ù #KJ 1 ¤¸¤å ¼ö #KJ 2 ¤¸¤å ¼õ #KJ 35 ¤¸¤å¡¼¤¯¤Ü¤Ã¤¯¤¹ ¥¸¥å¡¼¥¯¥Ü¥Ã¥¯¥¹ #T35 29 ¤¸¤å¡¼¤¹ ¥¸¥å¡¼¥¹ #T35 7 ¤¸¤å¤¦ Ãæ #CNSUC1 42 ¤¸¤å¤¦ ½Å #JS 0 ¤¸¤å¤¦ ½º #KJ 0 ¤¸¤å¤¦ ½¿ #KJ 0 ¤¸¤å¤¦ ½Á #KJ 0 ¤¸¤å¤¦ ½Å #KJ 0 ¤¸¤å¤¦ ½¾ #KJ 1 ¤¸¤å¤¦ ½À #KJ 1 ¤¸¤å¤¦ ½Â #KJ 1 ¤¸¤å¤¦ ½Ã #KJ 1 ¤¸¤å¤¦ ½Ä #KJ 1 ¤¸¤å¤¦ ½» #KJ 4 ¤¸¤å¤¦ ½¼ #KJ 4 ¤¸¤å¤¦ ½¦ #NN 0 ¤¸¤å¤¦ ½½ #NN 119 ¤¸¤å¤¦ ½Å #PRE 0 ¤¸¤å¤¦ Ãæ #SUC 0 ¤¸¤å¤¦ Ãæ #T35 0 ¤¸¤å¤¦ ½Å #T35 15 ¤¸¤å¤¦ ½Æ #T35 2 ¤¸¤å¤¦¤¢¤Ä ½Å°µ #T35 0 ¤¸¤å¤¦¤¤ ½Ã°å #T35 0 ¤¸¤å¤¦¤ª¤¦ ½½²¦ #CN 0 ¤¸¤å¤¦¤ª¤¦ ½Ä²£ #T35 1 ¤¸¤å¤¦¤«¤ó ½Å´µ #T15 0 ¤¸¤å¤¦¤«¤ó ½Ã´¯ #T30 0 ¤¸¤å¤¦¤«¤ó ½Ä´Ó #T30 0 ¤¸¤å¤¦¤­ ½Æ´ï #T35 0 ¤¸¤å¤¦¤­ ½º´ï #T35 1 ¤¸¤å¤¦¤­¤Á ½ÅµÈ #JNM 0 ¤¸¤å¤¦¤­¤ç ½»µï #T35 2 ¤¸¤å¤¦¤®¤ç¤¦¤¤¤ó ½¾¶È°÷ #T35 3 ¤¸¤å¤¦¤±¤¤ ½Å·º #T35 1 ¤¸¤å¤¦¤±¤¤¤·¤ç¤¦ ½Å·Ú½ý #T35 0 ¤¸¤å¤¦¤±¤Ä ½¼·ì #T30 0 ¤¸¤å¤¦¤²¤­ ½Æ·â #T30 0 ¤¸¤å¤¦¤³¤¦ ½Å¸ü #T05 1 ¤¸¤å¤¦¤³¤¦ ½Æ¸ý #T35 0 ¤¸¤å¤¦¤³¤¦¤®¤ç¤¦ ½Å¹©¶È #T35 0 ¤¸¤å¤¦¤µ¤Ä ½Æ»¦ #T30 0 ¤¸¤å¤¦¤¶¤¤ ½Åºá #T35 0 ¤¸¤å¤¦¤· ½Å»ë #T30 4 ¤¸¤å¤¦¤·¤ä¤Þ ½½»Í»³ #CN 0 ¤¸¤å¤¦¤·¤ç ½»½ê #T35 30 ¤¸¤å¤¦¤·¤ç¤¦ ½Å¾§ #T30 0 ¤¸¤å¤¦¤·¤ç¤¦ ½Å¾É #T35 2 ¤¸¤å¤¦¤·¤ç¤¦ ½Å½ý #T35 3 ¤¸¤å¤¦¤·¤ç¤¯ ½»¿¦ #T35 0 ¤¸¤å¤¦¤·¤ç¤í¤¯ ½»½êÏ¿ #T35 2 ¤¸¤å¤¦¤·¤ó ½Æ¿È #T35 0 ¤¸¤å¤¦¤·¤ó ½Å¿´ #T35 1 ¤¸¤å¤¦¤¸ ½¾»ö #T30 3 ¤¸¤å¤¦¤¸ ½½»ú #T35 0 ¤¸¤å¤¦¤¸ ½½»þ #T35 0 ¤¸¤å¤¦¤¸¤Ä ½¼¼Â #T30 24 ¤¸¤å¤¦¤¸¤å¤¦ ½Å¡¹ #F14 0 ¤¸¤å¤¦¤¸¤å¤ó ½¾½ç #T05 1 ¤¸¤å¤¦¤¸¤ç¤¦ ½Å¾ö #T30 3 ¤¸¤å¤¦¤¹¤¤ ½Å¿å #T35 0 ¤¸¤å¤¦¤»¤¤ ½ÆÀ¼ #T35 0 ¤¸¤å¤¦¤»¤­ ½ÅÀÕ #T35 0 ¤¸¤å¤¦¤¼¤¤ ½ÅÀÇ #T35 0 ¤¸¤å¤¦¤¼¤ó ½½Á´ #T15 0 ¤¸¤å¤¦¤½¤¦ ½½»° #JCN 0 ¤¸¤å¤¦¤½¤¦ ½ÄÁö #T30 0 ¤¸¤å¤¦¤½¤¦ ½ÅÁÕ #T30 0 ¤¸¤å¤¦¤½¤¦ ½ÅÁØ #T30 1 ¤¸¤å¤¦¤½¤¦ ½ÅÁâ #T35 0 ¤¸¤å¤¦¤½¤¯ ½¼Â­ #T30 1 ¤¸¤å¤¦¤¾¤¦ ½½»° #JNM 0 ¤¸¤å¤¦¤¾¤¦ ½ÅÁü #T35 4 ¤¸¤å¤¦¤¾¤¯ ½¾Â° #T30 1 ¤¸¤å¤¦¤¾¤¯¤· ½¾Â°»Ò #T35 1 ¤¸¤å¤¦¤¿¤¤ ½ÅÂÎ #T05 0 ¤¸¤å¤¦¤¿¤¤ ½ÂÂÚ #T30 4 ¤¸¤å¤¦¤¿¤¯ ½»Âð #T35 4 ¤¸¤å¤¦¤¿¤¯¤¬¤¤ ½»Âð³¹ #T35 0 ¤¸¤å¤¦¤¿¤¯¤Á ½»ÂðÃÏ #T35 1 ¤¸¤å¤¦¤¿¤ó ¤¸¤å¤¦¤¿¤ó #T35 1 ¤¸¤å¤¦¤¿¤ó å°Ýß #T35 4 ¤¸¤å¤¦¤À¤¤ ½ÅÂç #T05 6 ¤¸¤å¤¦¤À¤ó ½ÄÃÇ #T30 0 ¤¸¤å¤¦¤À¤ó ½ÆÃÆ #T35 1 ¤¸¤å¤¦¤Æ¤ó ½¼Å¶ #T30 1 ¤¸¤å¤¦¤Æ¤ó ½ÅÅÀ #T35 7 ¤¸¤å¤¦¤Ç¤ó ½¼ÅÅ #T30 2 ¤¸¤å¤¦¤È¤¦ ½¼Åö #T30 0 ¤¸¤å¤¦¤È¤¯ ½ÅÆÆ #T35 1 ¤¸¤å¤¦¤É¤¦ ½ÀÆ» #T35 6 ¤¸¤å¤¦¤Ê¤ó ½ÀÆð #T05 16 ¤¸¤å¤¦¤Ë¤· ½½Æó»Ù #T35 1 ¤¸¤å¤¦¤Ë¤·¤Á¤ç¤¦ ½½Æó»ØÄ² #T35 0 ¤¸¤å¤¦¤Ë¤ó ½»¿Í #T35 2 ¤¸¤å¤¦¤Ð¤³ ½ÅÈ¢ #T35 1 ¤¸¤å¤¦¤Ð¤Ä ½Åȳ #T35 0 ¤¸¤å¤¦¤Ó¤ç¤¦ ½ÅÉ #T35 0 ¤¸¤å¤¦¤Õ¤¯ ½ÅÊ£ #T30 5 ¤¸¤å¤¦¤Ö¤ó ½¼Ê¬ #T05 34 ¤¸¤å¤¦¤Ö¤ó ½½Ê¬ #T05 90 ¤¸¤å¤¦¤Û¤¦ ½ÆË¤ #T35 1 ¤¸¤å¤¦¤Þ¤ó ½¼Ëþ #T30 1 ¤¸¤å¤¦¤ß¤ó ½»Ì± #T35 3 ¤¸¤å¤¦¤ß¤ó¤« ½»Ì±²Ý #T35 0 ¤¸¤å¤¦¤ß¤ó¤¼¤¤ ½»Ì±ÀÇ #T35 0 ¤¸¤å¤¦¤á¤ó ½ÂÌÌ #T35 0 ¤¸¤å¤¦¤â¤¦ å°ÌÓ #T35 0 ¤¸¤å¤¦¤â¤¦¤Þ¤¯ å°ÌÓËì #T35 1 ¤¸¤å¤¦¤â¤ó¤¸ ½½Ê¸»ú #CN 0 ¤¸¤å¤¦¤â¤ó¤¸ ½½Ê¸»ú #T35 1 ¤¸¤å¤¦¤ä¤¯ ½ÅÌò #T35 0 ¤¸¤å¤¦¤æ ½ÅÌý #T35 0 ¤¸¤å¤¦¤è¤¦ ½ÅÍ× #T05 79 ¤¸¤å¤¦¤è¤¦ ½¼ÍÑ #T30 0 ¤¸¤å¤¦¤è¤¦¤· ½ÅÍ×»ë #T30 1 ¤¸¤å¤¦¤é¤¤ ½¾Íè #T35 120 ¤¸¤å¤¦¤é¤ó ½ÄÍ÷ #T30 0 ¤¸¤å¤¦¤ê¤ç¤¦ ½ÅÎÌ #T35 5 ¤¸¤å¤¦¤ê¤ç¤¦¤¢¤² ½ÅÎÌµó¤² #T35 0 ¤¸¤å¤¦¤ê¤ç¤¦¤»¤¤ ½¾ÎÌÀ© #T35 0 ¤¸¤å¤¦¤ê¤ç¤¦¤¼¤¤ ½¾ÎÌÀÇ #T35 0 ¤¸¤å¤¦¤ê¤ç¤¯ ½ÅÎÏ #T35 3 ¤¸¤å¤¦¤ê¤ó ìúí¸ #T30 0 ¤¸¤å¤¦¤í¤¦ ½½Ïº #JNM 0 ¤¸¤å¤«¤¤ ¼ù³¤ #T35 0 ¤¸¤å¤­¤å¤¦ ¼õµë #T30 0 ¤¸¤å¤­¤å¤¦ ¼ûµë #T35 1 ¤¸¤å¤®¤ç¤¦ ¼ø¶È #T30 15 ¤¸¤å¤¯ ½Ï #KJ 2 ¤¸¤å¤¯ ½Ï #S5 19 ¤¸¤å¤¯ ½Ï #SX 2 ¤¸¤å¤¯ ½É #T35 1 ¤¸¤å¤¯ ½Î #T35 19 ¤¸¤å¤¯¤³¤¦ ½Ï¹Í #T30 2 ¤¸¤å¤¯¤´ ½Ï¸ì #T35 2 ¤¸¤å¤¯¤· ½Ï³Á #T35 0 ¤¸¤å¤¯¤¸¤¯¤ó ½Ï»ú·± #T35 0 ¤¸¤å¤¯¤¹¤¤ ½Ï¿ç #T30 1 ¤¸¤å¤¯¤»¤¤ ½ÏÀ® #T30 1 ¤¸¤å¤¯¤¿¤Ä ½Ïã #T30 1 ¤¸¤å¤¯¤Á ½ÏÃÎ #T30 2 ¤¸¤å¤¯¤É¤¯ ½ÏÆÉ #T30 1 ¤¸¤å¤¯¤Í¤ó ½Ïǯ #T35 0 ¤¸¤å¤¯¤ê¤ç ½Ïθ #T30 1 ¤¸¤å¤¯¤ì¤ó ½ÏÎý #T30 2 ¤¸¤å¤±¤¤ ¼õ·º #T30 0 ¤¸¤å¤±¤ó ¼õ¸¡ #T30 0 ¤¸¤å¤±¤ó ¼õ¸³ #T30 2 ¤¸¤å¤±¤ó¤»¤¤ ¼õ¸³À¸ #T35 1 ¤¸¤å¤³¤¦ ¼õ¹Ö #T30 4 ¤¸¤å¤· ¼ù»é #T35 0 ¤¸¤å¤·¤ç¤¦ ¼õ¾Þ #T30 2 ¤¸¤å¤·¤ç¤¦ ¼ø¾Þ #T30 2 ¤¸¤å¤·¤ó ¼õ¿Ç #T30 1 ¤¸¤å¤·¤ó ¼õ¿® #T30 30 ¤¸¤å¤·¤ó¤Ü ¼õ¿®Êí #T35 0 ¤¸¤å¤¸¤å ¼ø¼õ #T30 2 ¤¸¤å¤¸¤å¤Ä ¼ö½Ñ #T35 1 ¤¸¤å¤¹¤¤ Æþ¿å #T30 0 ¤¸¤å¤º ¿ô¼î #T35 1 ¤¸¤å¤»¤¤ ¼øÀº #T30 0 ¤¸¤å¤»¤¤ ¼õÀº #T30 1 ¤¸¤å¤»¤¤¤é¤ó ¼õÀºÍñ #T35 1 ¤¸¤å¤¾¤¦ ¼õÁü #T30 1 ¤¸¤å¤¿¤¤ ¼õÂÛ #T30 0 ¤¸¤å¤¿¤¯ ¼õÂ÷ #T30 2 ¤¸¤å¤À¤¯ ¼õÂú #T30 0 ¤¸¤å¤Á¤å¤¦ ¼õÃí #T30 23 ¤¸¤å¤Ã ½½ #NN 5 ¤¸¤å¤Ã¤«¤¤ ½Ò²û #T30 1 ¤¸¤å¤Ä ½Ò #KJ 3 ¤¸¤å¤Ä ½Ñ #T35 16 ¤¸¤å¤Ä¤´ ½Ñ¸ì #T35 3 ¤¸¤å¤Ä¤´ ½Ò¸ì #T35 43 ¤¸¤å¤É¤¦ ¼õư #T35 2 ¤¸¤å¤É¤¦¤¿¤¤ ¼õưÂÖ #T35 2 ¤¸¤å¤Ê¤ó ¼õÆñ #T30 1 ¤¸¤å¤Ë¤¢ ¥¸¥å¥Ë¥¢ #T35 1 ¤¸¤å¤Ë¤å¤¦ ¼øÆý #T30 0 ¤¸¤å¤Í¡¼¤Ö ¥¸¥å¥Í¡¼¥Ö #CN 0 ¤¸¤å¤Î¤¦ ¼õǼ #T30 1 ¤¸¤å¤Ò ¼ùÈé #T35 0 ¤¸¤å¤Ò¤ç¤¦ ¼ùɹ #T35 1 ¤¸¤å¤Õ¤ó ¼õÊ´ #T30 0 ¤¸¤å¤ß¤ç¤¦ ¼÷Ì¿ #T35 2 ¤¸¤å¤â¤¯ ¼ùÌÚ #T35 1 ¤¸¤å¤â¤ó ¼öʸ #T35 2 ¤¸¤å¤è ¼øÍ¿ #T30 0 ¤¸¤å¤è¤¦ ¼õÍÆ #T30 16 ¤¸¤å¤è¤¦ ¼ûÍ× #T35 8 ¤¸¤å¤ê ¼õÍý #T30 2 ¤¸¤å¤ê¤Ä ¼ùΩ #T30 0 ¤¸¤å¤ê¤ç¤¦ ¼õÎÎ #T30 1 ¤¸¤å¤ê¤ç¤¦¤·¤ç ¼õÎνñ #T35 1 ¤¸¤å¤ì¤¤ ¼ùÎð #T35 0 ¤¸¤å¤ï ¼õÏà #T35 0 ¤¸¤å¤ï¤­ ¼õÏôï #T35 1 ¤¸¤å¤ó ½ß #JNM 0 ¤¸¤å¤ó ½á #JNM 0 ¤¸¤å¤ó ½ã #JNM 0 ¤¸¤å¤ó ½ç #JNM 0 ¤¸¤å¤ó ±¼ #KJ 0 ¤¸¤å¤ó ½Û #KJ 0 ¤¸¤å¤ó ½Ý #KJ 0 ¤¸¤å¤ó ½Þ #KJ 0 ¤¸¤å¤ó ½â #KJ 0 ¤¸¤å¤ó ½å #KJ 0 ¤¸¤å¤ó ½æ #KJ 0 ¤¸¤å¤ó Æ× #KJ 0 ¤¸¤å¤ó Æë #KJ 0 ¤¸¤å¤ó È» #KJ 0 ¤¸¤å¤ó ½Ü #KJ 1 ¤¸¤å¤ó ½ä #KJ 2 ¤¸¤å¤ó ½Ú #PRE 0 ¤¸¤å¤ó ½à #PRE 0 ¤¸¤å¤ó ½ã #PRE 0 ¤¸¤å¤ó ½ç #SUC 0 ¤¸¤å¤ó ½ã #T05 7 ¤¸¤å¤ó ½Ú #T35 1 ¤¸¤å¤ó ½á #T35 1 ¤¸¤å¤ó ½ß #T35 17 ¤¸¤å¤ó ½ç #T35 29 ¤¸¤å¤ó ½à #T35 4 ¤¸¤å¤ó ½Þ #ZX 0 ¤¸¤å¤ó ½Ú #ZX 1 ¤¸¤å¤ó ½à #ZX 6 ¤¸¤å¤ó¤¢¤¤ ½ã°¦ #T35 1 ¤¸¤å¤ó¤¤ ½ç°Ì #T35 15 ¤¸¤å¤ó¤¤¤Á ½ß°ì #JNM 0 ¤¸¤å¤ó¤¤¤Á ½ã°ì #JNM 0 ¤¸¤å¤ó¤¤¤Á ½ç°ì #JNM 0 ¤¸¤å¤ó¤¤¤Ä ½ã°ì #T05 0 ¤¸¤å¤ó¤¨¤­ ½ã±× #T35 0 ¤¸¤å¤ó¤¨¤ó ½ä±é #T30 0 ¤¸¤å¤ó¤¨¤ó ½ç±ä #T30 2 ¤¸¤å¤ó¤« ½ã²½ #T30 0 ¤¸¤å¤ó¤« ½ç²½ #T30 0 ¤¸¤å¤ó¤« Æë²½ #T30 1 ¤¸¤å¤ó¤«¤¤ ½ä²ó #T30 2 ¤¸¤å¤ó¤«¤Ä ½á³ê #T05 1 ¤¸¤å¤ó¤«¤Ä¤æ ½á³êÌý #T35 0 ¤¸¤å¤ó¤«¤ó ½Û´Ä #T30 5 ¤¸¤å¤ó¤«¤ó ½Ú´Ç #T35 0 ¤¸¤å¤ó¤­¤ç ½àµò #T30 11 ¤¸¤å¤ó¤­¤ó ½ã¶â #T35 0 ¤¸¤å¤ó¤®¤ç¤¦ ½ä¶È #T30 0 ¤¸¤å¤ó¤°¤ê ½ç·«¤ê #T15 0 ¤¸¤å¤ó¤±¤Ã¤·¤ç¤¦ ½à·è¾¡ #T35 0 ¤¸¤å¤ó¤±¤Ä ½ã·é #T05 0 ¤¸¤å¤ó¤±¤Ä ½ã·ì #T35 0 ¤¸¤å¤ó¤³ ½ß»Ò #JNM 0 ¤¸¤å¤ó¤³ ½ã»Ò #JNM 0 ¤¸¤å¤ó¤³ ½ç»Ò #JNM 0 ¤¸¤å¤ó¤³¤¦ ½ä¹Ô #T30 1 ¤¸¤å¤ó¤µ ½äºº #T35 0 ¤¸¤å¤ó¤µ¤¤ èóºÚ #T35 0 ¤¸¤å¤ó¤µ¤Ä ½ä»¡ #T30 0 ¤¸¤å¤ó¤· ½ä»ë #T30 0 ¤¸¤å¤ó¤· ½Þ»à #T30 1 ¤¸¤å¤ó¤·¤å ½å¼é #T30 1 ¤¸¤å¤ó¤·¤ç¤¯ ½Þ¿¦ #T30 0 ¤¸¤å¤ó¤·¤ç¤¯ ½ã¿§ #T35 0 ¤¸¤å¤ó¤·¤ó ½ã¿¿ #T05 1 ¤¸¤å¤ó¤¸ ½ç¼¡ #F14 34 ¤¸¤å¤ó¤¸¤å¤ó ¤¸¤å¤ó¤¸¤å¤ó #F06 0 ¤¸¤å¤ó¤¸¤å¤ó ëÙ¡¹ #F06 0 ¤¸¤å¤ó¤¸¤å¤ó ½ç¡¹ #F14 2 ¤¸¤å¤ó¤¸¤å¤ó ½ç¡¹ #T16 0 ¤¸¤å¤ó¤¸¤å¤ó¤±¤Ã¤·¤ç¤¦ ½à¡¹·è¾¡ #T35 0 ¤¸¤å¤ó¤¸¤ç ½ç½ø #T35 57 ¤¸¤å¤ó¤¸¤ç¤¦ ½ã¾ð #T05 1 ¤¸¤å¤ó¤¹¤¤ ½ã¿è #T05 7 ¤¸¤å¤ó¤¹¤¤ ½ã¿å #T35 1 ¤¸¤å¤ó¤»¤¤ ½ãÀµ #T05 4 ¤¸¤å¤ó¤»¤Ä ½çÀÜ #T30 0 ¤¸¤å¤ó¤¾¤¦ ½ß»° #JNM 0 ¤¸¤å¤ó¤¿¤¤¤²¤ó¤¸¤ç¤· ½àÂθÀ½õ»ì #T35 0 ¤¸¤å¤ó¤¿¤¯ ½áÂô #T05 0 ¤¸¤å¤ó¤Á ÆëÃ× #T30 0 ¤¸¤å¤ó¤Á¤ç¤¦ ½çÄ´ #T05 9 ¤¸¤å¤ó¤È¤¦ ½çÅö #T05 1 ¤¸¤å¤ó¤É ½ãÅÙ #T35 0 ¤¸¤å¤ó¤Î¤¦ ½ç±þ #T30 1 ¤¸¤å¤ó¤Ð¤ó ½çÈÖ #T35 63 ¤¸¤å¤ó¤Ñ¤¯ ½ãÇò #T05 0 ¤¸¤å¤ó¤Ó ½àÈ÷ #T30 112 ¤¸¤å¤ó¤Ó¤­¤ó ½àÈ÷¶â #T35 1 ¤¸¤å¤ó¤Õ¤É¤¦ ½çÉÔÆ± #T15 1 ¤¸¤å¤ó¤×¤¦ ½çÉ÷ #T35 0 ¤¸¤å¤ó¤Ü¤¯ ½ãËÑ #T05 0 ¤¸¤å¤ó¤Ý¤¦ ½åË¡ #T35 0 ¤¸¤å¤ó¤Ý¤¦ ½çË¡ #T35 0 ¤¸¤å¤ó¤è¤¦ ½àÍÑ #T30 0 ¤¸¤å¤ó¤è¤¦¤«¤ó ½äÍÎ´Ï #T35 0 ¤¸¤å¤ó¤ê ½ãÍø #T35 0 ¤¸¤å¤ó¤ê¤ç¤¦ ½ãÎÉ #T05 0 ¤¸¤å¤ó¤ê¤ç¤¦ ½çÎÉ #T05 0 ¤¸¤å¤ó¤ì¤¤ ½äÎé #T30 1 ¤¸¤å¤ó¤í ½çÏ© #T35 0 ¤¸¤æ¤¦ ¼«Í³ #T05 62 ¤¸¤æ¤¦ »öͳ #T35 1 ¤¸¤æ¤¦¤¬¤ª¤« ¼«Í³¤¬µÖ #CN 0 ¤¸¤æ¤¦¤¬¤ª¤« ¼«Í³¥öµÖ #CN 0 ¤¸¤æ¤¦¤®¤ç¤¦ ¼«Í³¶È #T35 0 ¤¸¤ç ½÷ #JS 8 ¤¸¤ç ½÷ #KJ 0 ¤¸¤ç ½û #KJ 0 ¤¸¤ç Æò #KJ 0 ¤¸¤ç ½õ #KJ 1 ¤¸¤ç ½ù #KJ 1 ¤¸¤ç Ç¡ #KJ 3 ¤¸¤ç ½õ #PRE 0 ¤¸¤ç ½ö #S5 0 ¤¸¤ç ½ü #S5 1 ¤¸¤ç ½ø #S5 4 ¤¸¤ç ½ê #SUC 0 ¤¸¤ç ½ú #SX 0 ¤¸¤ç ½ö #T30 0 ¤¸¤ç ½ü #T30 1 ¤¸¤ç ½ø #T30 4 ¤¸¤ç ½ê #T35 14 ¤¸¤ç¡¼¤¯ ¥¸¥ç¡¼¥¯ #T35 1 ¤¸¤ç¡¼¤¸ ¥¸¥ç¡¼¥¸ #JN 0 ¤¸¤ç¤¤ ½÷°å #T35 5 ¤¸¤ç¤¤¤¹ ¥¸¥ç¥¤¥¹ #JN 0 ¤¸¤ç¤¦ ¾ë #JN 0 ¤¸¤ç¤¦ ¾ò #JS 0 ¤¸¤ç¤¦ ¾ö #JS 0 ¤¸¤ç¤¦ ¾û #JS 1 ¤¸¤ç¤¦ Ä¡ #JS 1 ¤¸¤ç¤¦ ¾ç #KJ 0 ¤¸¤ç¤¦ ¾ê #KJ 0 ¤¸¤ç¤¦ ¾í #KJ 0 ¤¸¤ç¤¦ ¾ó #KJ 0 ¤¸¤ç¤¦ ¾ô #KJ 0 ¤¸¤ç¤¦ ¾ö #KJ 0 ¤¸¤ç¤¦ ¾÷ #KJ 0 ¤¸¤ç¤¦ ¾ø #KJ 0 ¤¸¤ç¤¦ À® #KJ 0 ¤¸¤ç¤¦ ÀÅ #KJ 0 ¤¸¤ç¤¦ Ä¡ #KJ 0 ¤¸¤ç¤¦ Äê #KJ 0 ¤¸¤ç¤¦ ÆÔ #KJ 0 ¤¸¤ç¤¦ Æì #KJ 0 ¤¸¤ç¤¦ ¾æ #KJ 1 ¤¸¤ç¤¦ ¾é #KJ 1 ¤¸¤ç¤¦ ¾ë #KJ 1 ¤¸¤ç¤¦ ¾ñ #KJ 1 ¤¸¤ç¤¦ ¾ò #KJ 1 ¤¸¤ç¤¦ ¾ù #KJ 1 ¤¸¤ç¤¦ ¾ú #KJ 1 ¤¸¤ç¤¦ Âû #KJ 1 ¤¸¤ç¤¦ Äç #KJ 1 ¤¸¤ç¤¦ ¾è #KJ 2 ¤¸¤ç¤¦ ¾ï #KJ 4 ¤¸¤ç¤¦ ¾å #PRE 0 ¤¸¤ç¤¦ ¾å #SUC 0 ¤¸¤ç¤¦ ¾ì #SUC 0 ¤¸¤ç¤¦ ¾õ #SUC 0 ¤¸¤ç¤¦ ¾û #T35 0 ¤¸¤ç¤¦ ¾å #T35 145 ¤¸¤ç¤¦ ¾ì #T35 17 ¤¸¤ç¤¦ ¾î #T35 25 ¤¸¤ç¤¦ ¾ð #T35 47 ¤¸¤ç¤¦ ¾õ #T35 5 ¤¸¤ç¤¦ ¾è #ZX 4 ¤¸¤ç¤¦¤¢¤¤ ¾ð°¦ #T35 0 ¤¸¤ç¤¦¤¤ ¾ù°Ì #T30 0 ¤¸¤ç¤¦¤¤ ¾å°Ì #T35 38 ¤¸¤ç¤¦¤¤¤ó ¾å±¡ #T35 0 ¤¸¤ç¤¦¤¤¤ó ¾è°÷ #T35 1 ¤¸¤ç¤¦¤¨¤¤ ¾å±Ç #T30 2 ¤¸¤ç¤¦¤¨¤Ä ¾å±Û #CN 0 ¤¸¤ç¤¦¤¨¤ó ¾å±é #T30 2 ¤¸¤ç¤¦¤ª¤ó ¾ï²¹ #T35 0 ¤¸¤ç¤¦¤« ¾ô²½ #T30 0 ¤¸¤ç¤¦¤«¤¤ ¾å³¦ #T35 0 ¤¸¤ç¤¦¤«¤½¤¦ ¾ô²½Áå #T35 0 ¤¸¤ç¤¦¤«¤Þ¤Á ¾ë²¼Ä® #T35 0 ¤¸¤ç¤¦¤«¤ó ¾å´¬ #T35 0 ¤¸¤ç¤¦¤«¤ó ¾å´± #T35 0 ¤¸¤ç¤¦¤«¤ó ¾ð´¶ #T35 1 ¤¸¤ç¤¦¤¬¤¤ ¾ì³° #T35 0 ¤¸¤ç¤¦¤¬¤·¤Þ ¾ë¥öÅç #CN 0 ¤¸¤ç¤¦¤­ ¾åµ¤ #T30 0 ¤¸¤ç¤¦¤­ ¾øµ¤ #T35 0 ¤¸¤ç¤¦¤­ ¾åµ­ #T35 113 ¤¸¤ç¤¦¤­¤ã¤¯ ¾èµÒ #T35 1 ¤¸¤ç¤¦¤­¤å¤¦ ¾åµé #T35 0 ¤¸¤ç¤¦¤­¤ç¤¦ ¾åµþ #T30 5 ¤¸¤ç¤¦¤­¤ç¤¦ ¾õ¶· #T35 183 ¤¸¤ç¤¦¤­¤ó ¾ï¶Ð #T30 1 ¤¸¤ç¤¦¤® Ä구 #T35 1 ¤¸¤ç¤¦¤¯¤¦ ¾å¶õ #T35 1 ¤¸¤ç¤¦¤±¤¤ ¾ð·Ê #T35 3 ¤¸¤ç¤¦¤±¤ó ¾ò·ï #T35 162 ¤¸¤ç¤¦¤² ¾å²¼ #CN 0 ¤¸¤ç¤¦¤² ¾å²¼ #T30 13 ¤¸¤ç¤¦¤²¤ó ¾å¸¹ #T35 0 ¤¸¤ç¤¦¤²¤ó ¾å¸Â #T35 4 ¤¸¤ç¤¦¤³¤¦ ¾å¹Ô #T30 0 ¤¸¤ç¤¦¤³¤¦ ¾å¸þ #T30 1 ¤¸¤ç¤¦¤³¤¦ ¾è¹ß #T30 1 ¤¸¤ç¤¦¤³¤¦ ¾ð¹© #T35 16 ¤¸¤ç¤¦¤³¤¦ ¾ò¹à #T35 2 ¤¸¤ç¤¦¤³¤¦ ¾å¹Ä #T35 3 ¤¸¤ç¤¦¤³¤¯ ¾å¹ð #T30 1 ¤¸¤ç¤¦¤´ ϳÅÍ #T35 0 ¤¸¤ç¤¦¤´ ¾å¸Í #T35 1 ¤¸¤ç¤¦¤µ¤¤ ¾ëºÖ #T35 0 ¤¸¤ç¤¦¤µ¤ó ¾ø»¶ #T30 0 ¤¸¤ç¤¦¤µ¤ó ¾è»» #T30 1 ¤¸¤ç¤¦¤¶¤¤ ¾ïºß #T30 1 ¤¸¤ç¤¦¤¶¤¤ ¾ûºÞ #T35 0 ¤¸¤ç¤¦¤¶¤ó ¾è»» #T30 8 ¤¸¤ç¤¦¤· ¾å°´ #T30 0 ¤¸¤ç¤¦¤· ¾ð»à #T30 0 ¤¸¤ç¤¦¤· ¾å»Ê #T35 20 ¤¸¤ç¤¦¤·¤­ ¾ï¼± #T35 16 ¤¸¤ç¤¦¤·¤Ä ¾å¼Á #T05 1 ¤¸¤ç¤¦¤·¤ã ¾è¼Ö #T30 1 ¤¸¤ç¤¦¤·¤å ¾ë¼ç #T35 1 ¤¸¤ç¤¦¤·¤ç ¾ð½è #KK 4 ¤¸¤ç¤¦¤·¤ç ¾ð½ï #T35 0 ¤¸¤ç¤¦¤·¤ç¤¦ ¾å¾º #T30 4 ¤¸¤ç¤¦¤·¤ç¤¯ ¾ï¿© #T30 0 ¤¸¤ç¤¦¤·¤ç¤í¤ó ¾ð½èÏÀ #T35 1 ¤¸¤ç¤¦¤·¤ó ¾å¿½ #T30 0 ¤¸¤ç¤¦¤·¤ó¤¨¤Ä ¾å¿®±Û #CN 0 ¤¸¤ç¤¦¤·¤ó¤³ ¾å¿·Ê´ #T35 0 ¤¸¤ç¤¦¤¸ ¾ï»þ #T35 2 ¤¸¤ç¤¦¤¸ ¾ð»ö #T35 3 ¤¸¤ç¤¦¤¸¤Þ ¾ëÅç #JCN 0 ¤¸¤ç¤¦¤¸¤å À®½¢ #T30 0 ¤¸¤ç¤¦¤¸¤å¤Ä ¾å½Ò #T30 6 ¤¸¤ç¤¦¤¸¤å¤ó ¾å½Ü #T35 4 ¤¸¤ç¤¦¤¸¤ç ¾è½ü #T30 0 ¤¸¤ç¤¦¤¸¤ç¤¦ Õ¾¡¹ #F02 0 ¤¸¤ç¤¦¤¸¤ç¤¦ ¾å¡¹ #T05 0 ¤¸¤ç¤¦¤¸¤ç¤¦ ¾å¾è #T05 0 ¤¸¤ç¤¦¤¸¤ç¤¦ ¾å¾ì #T30 1 ¤¸¤ç¤¦¤¸¤ç¤¦ ¾ð¾õ #T35 0 ¤¸¤ç¤¦¤¸¤ó ¾ï¿Í #T35 0 ¤¸¤ç¤¦¤¹¤¤ ¾ô¿å #T30 0 ¤¸¤ç¤¦¤¹¤¤¤É¤¦ ¾å¿åÆ» #T35 0 ¤¸¤ç¤¦¤¹¤¦ ¾ï¿ô #T35 0 ¤¸¤ç¤¦¤¹¤¦ Äê¿ô #T35 1 ¤¸¤ç¤¦¤¹¤¦ ¾è¿ô #T35 2 ¤¸¤ç¤¦¤º ¾å¼ê #T05 6 ¤¸¤ç¤¦¤»¤¤ ¾úÀ® #T30 0 ¤¸¤ç¤¦¤»¤¤ ¾õÀª #T35 0 ¤¸¤ç¤¦¤»¤¤ ¾åÀ¶ #T35 1 ¤¸¤ç¤¦¤»¤¤ ¾ðÀª #T35 2 ¤¸¤ç¤¦¤»¤­ ¾åÀÊ #T35 0 ¤¸¤ç¤¦¤»¤­ ÄêÀÐ #T35 1 ¤¸¤ç¤¦¤»¤Ä ¾ïÀß #T30 1 ¤¸¤ç¤¦¤»¤ó ¾èÁ¥ #T30 1 ¤¸¤ç¤¦¤¼¤Ä ñÁÀå #T05 0 ¤¸¤ç¤¦¤½ ¾åÁÊ #T30 0 ¤¸¤ç¤¦¤½¤¦ ¾ðÁà #T35 0 ¤¸¤ç¤¦¤½¤¦ ¾åÁØ #T35 1 ¤¸¤ç¤¦¤¾¤¦ ¾ú¤ #T30 0 ¤¸¤ç¤¦¤¿¤¤ ¾ïÂÖ #T35 0 ¤¸¤ç¤¦¤¿¤¤ ¾åÂÎ #T35 1 ¤¸¤ç¤¦¤¿¤¤ ¾õÂÖ #T35 255 ¤¸¤ç¤¦¤¿¤Ä ¾åã #T30 1 ¤¸¤ç¤¦¤¿¤ó ¾åü #T35 1 ¤¸¤ç¤¦¤À¤ó ¾éÃÌ #T35 12 ¤¸¤ç¤¦¤À¤ó ¾åÃÊ #T35 3 ¤¸¤ç¤¦¤Á ¾åÃÒ #JNS 0 ¤¸¤ç¤¦¤Á ¾åÃÒ #KK 4 ¤¸¤ç¤¦¤Á ¾ïÃÖ #T30 2 ¤¸¤ç¤¦¤Á¤ã¤¯ ¾øÃå #T30 0 ¤¸¤ç¤¦¤Á¤å¤¦ ¾ïÃó #T30 8 ¤¸¤ç¤¦¤Á¤ç ¾ð½ï #T35 1 ¤¸¤ç¤¦¤Á¤ç¤¦ ¾éĹ #T05 8 ¤¸¤ç¤¦¤Æ¤ó¤­ ¾åÅ·µ¤ #T15 0 ¤¸¤ç¤¦¤Ç¤­ ¾å½ÐÍè #T05 1 ¤¸¤ç¤¦¤È ¾ùÅÏ #T30 1 ¤¸¤ç¤¦¤È¤¦ ¾åÆ» #CN 0 ¤¸¤ç¤¦¤È¤¦ ¾ëÅì #JCN 0 ¤¸¤ç¤¦¤È¤¦ ¾ïÅå #T00 2 ¤¸¤ç¤¦¤È¤¦ ¾åÅù #T05 2 ¤¸¤ç¤¦¤È¤¦¤¯ ¾ïÅå¶ç #T35 0 ¤¸¤ç¤¦¤É ¾ôÅÚ #T35 1 ¤¸¤ç¤¦¤É¤¸ ¾ôÅÚ»û #CN 0 ¤¸¤ç¤¦¤Ê¤¤ ¾ëÆâ #JNS 0 ¤¸¤ç¤¦¤Ê¤¤ ¾ëÆâ #T35 0 ¤¸¤ç¤¦¤Ê¤¤ ¾ìÆâ #T35 1 ¤¸¤ç¤¦¤Ê¤ó ¾ëÆî #CN 0 ¤¸¤ç¤¦¤Ë¤ó ¾ïǤ #T30 0 ¤¸¤ç¤¦¤Í¤Ä ¾ðÇ® #T35 2 ¤¸¤ç¤¦¤Í¤ó ¾ðǰ #T35 0 ¤¸¤ç¤¦¤Î¤¦ ¾åǼ #T30 0 ¤¸¤ç¤¦¤Î¤¦¤Á ¾ëÇ·Æâ #JNM 0 ¤¸¤ç¤¦¤Ï¤Ä ¾øÈ¯ #T30 1 ¤¸¤ç¤¦¤Ï¤Ê ¾ëü #JCN 0 ¤¸¤ç¤¦¤Ï¤ó¤·¤ó ¾åȾ¿È #T35 0 ¤¸¤ç¤¦¤Ð ¾èÇÏ #T30 0 ¤¸¤ç¤¦¤Ð¤ó ¾ïÈØ #JNS 0 ¤¸¤ç¤¦¤Ò ¾åÈé #T35 1 ¤¸¤ç¤¦¤Ò¤ó ¾åÉÊ #T05 4 ¤¸¤ç¤¦¤Ó ¾ïÈ÷ #T30 0 ¤¸¤ç¤¦¤Ö ¾æÉ× #T05 3 ¤¸¤ç¤¦¤Ö ¾åÉô #T35 4 ¤¸¤ç¤¦¤Ö¤Ä À®Ê© #T30 1 ¤¸¤ç¤¦¤Ö¤ó ¾òʸ #T35 1 ¤¸¤ç¤¦¤Ø¤­ ¾ëÊÉ #T35 0 ¤¸¤ç¤¦¤Ø¤ó ¾ëÊÕ #JCN 0 ¤¸¤ç¤¦¤Û ¾ùÊâ #T30 1 ¤¸¤ç¤¦¤Û¤¦ ¾åÊý #T35 0 ¤¸¤ç¤¦¤Û¤¦ ¾ïË¡ #T35 1 ¤¸¤ç¤¦¤Û¤¦ ¾èË¡ #T35 2 ¤¸¤ç¤¦¤Û¤¦ ¾ðÊó #T35 255 ¤¸¤ç¤¦¤Û¤¦¤·¤ç¤ê¤¬¤Ã¤«¤¤ ¾ðÊó½èÍý³Ø²ñ #KK 2 ¤¸¤ç¤¦¤Û¤¦¤¸ ¾ôË¡»û #CN 0 ¤¸¤ç¤¦¤Û¤¯ ¾ïËÌ #CN 0 ¤¸¤ç¤¦¤Ü¤¦ ¾å˼ #CN 0 ¤¸¤ç¤¦¤ß¤ã¤¯ ÀÅÌ® #T35 0 ¤¸¤ç¤¦¤ß¤ó ¾ï̱ #T35 0 ¤¸¤ç¤¦¤à ¾è̳ #T30 0 ¤¸¤ç¤¦¤à ¾ï̳ #T35 0 ¤¸¤ç¤¦¤ä¤¯ ¾òÌó #T30 1 ¤¸¤ç¤¦¤è ¾ùÍ¿ #T30 1 ¤¸¤ç¤¦¤è ¾ê; #T35 1 ¤¸¤ç¤¦¤è¤¦ ¾åÍÛ #CN 0 ¤¸¤ç¤¦¤è¤¦ ¾ëÍÛ #CN 0 ¤¸¤ç¤¦¤è¤¦ ¾èÍÑ #T30 2 ¤¸¤ç¤¦¤è¤¦ ¾ïÍÑ #T30 2 ¤¸¤ç¤¦¤è¤¦¤·¤ã ¾èÍÑ¼Ö #T35 0 ¤¸¤ç¤¦¤è¤¯ ¾ðÍß #T35 0 ¤¸¤ç¤¦¤é¤ó ¾åÍ÷ #T30 0 ¤¸¤ç¤¦¤é¤ó ¾ñÍð #T30 0 ¤¸¤ç¤¦¤ê ¾òÍý #T35 1 ¤¸¤ç¤¦¤ê¤¯ ¾åΦ #T30 1 ¤¸¤ç¤¦¤ê¤å¤¦ ¾øÎ± #T30 0 ¤¸¤ç¤¦¤ê¤å¤¦ ¾åή #T35 1 ¤¸¤ç¤¦¤ê¤ç¤¯ ¾ïÎÐ #T35 1 ¤¸¤ç¤¦¤ê¤ç¤¯¤¸¤å ¾ïÎмù #T35 0 ¤¸¤ç¤¦¤ë¤ê ¾ôÎÜÍþ #T35 0 ¤¸¤ç¤¦¤ì¤¤ ¾ïÎã #T35 0 ¤¸¤ç¤¦¤ì¤¤ ¾òÎã #T35 0 ¤¸¤ç¤¦¤ì¤ó ¾ïÏ¢ #T35 0 ¤¸¤ç¤¦¤í ¥¸¥ç¥¦¥í #T35 0 ¤¸¤ç¤¨¤ó ½õ±é #T30 0 ¤¸¤ç¤ª¤¦ ½÷²¦ #T35 2 ¤¸¤ç¤«¤¯ ½ü³Ë #T35 1 ¤¸¤ç¤¬¤¤ ½ü³° #T30 3 ¤¸¤ç¤¬¤¯¤»¤¤ ½÷³ØÀ¸ #T35 0 ¤¸¤ç¤­¤ç ½üµî #T30 7 ¤¸¤ç¤­¤ç¤¦¤¸¤å ½õ¶µ¼ø #T35 3 ¤¸¤ç¤¯ ¿« #KJ 0 ¤¸¤ç¤¯¤ó ½ö·® #T35 0 ¤¸¤ç¤²¤ó ½õ¸À #T30 5 ¤¸¤ç¤³¤¦ ½ù¹Ô #T30 1 ¤¸¤ç¤µ¤¤ Ç¡ºÍ #T35 1 ¤¸¤ç¤µ¤ó¤× ½õ»ºÉØ #T35 1 ¤¸¤ç¤¶¤ó ½ü»» #T30 2 ¤¸¤ç¤· ½õ»ì #T35 19 ¤¸¤ç¤· ½÷»Ë #T35 3 ¤¸¤ç¤· ½÷»Ò #T35 38 ¤¸¤ç¤·¤Ä ½ü¼¾ #T35 1 ¤¸¤ç¤·¤å ½õ¼ê #T35 5 ¤¸¤ç¤·¤ç¤¦ ½ø¾Ï #T35 1 ¤¸¤ç¤¸ ½ö»ö #T35 0 ¤¸¤ç¤¸ ½÷»ù #T35 1 ¤¸¤ç¤¸¤å¤Ä ½ö½Ò #T30 1 ¤¸¤ç¤¸¤ç¤¦ ½ö¾ð #T35 0 ¤¸¤ç¤¸¤ç¤Ë ½ù¡¹¤Ë #F14 3 ¤¸¤ç¤¹¤¦ ½ø¿ô #T35 0 ¤¸¤ç¤¹¤¦¤· ½õ¿ô»ì #T35 0 ¤¸¤ç¤»¤¤ ½õÀª #T30 0 ¤¸¤ç¤»¤¤ ½õÀ® #T30 0 ¤¸¤ç¤»¤¤ ½÷À¼ #T35 0 ¤¸¤ç¤»¤¤ ½÷À­ #T35 68 ¤¸¤ç¤»¤­ ½üÀÒ #T30 0 ¤¸¤ç¤»¤Ä ½üÀã #T30 1 ¤¸¤ç¤»¤Ä ½øÀâ #T35 1 ¤¸¤ç¤½¤¦ ½õÁö #T30 0 ¤¸¤ç¤½¤¦ ½üÁð #T30 0 ¤¸¤ç¤½¤¦ ½÷Áõ #T30 1 ¤¸¤ç¤¿¤¤ ½üÂâ #T30 0 ¤¸¤ç¤¿¤ó¤Ñ¤¯ ½üÃÁÇò #T35 1 ¤¸¤ç¤Á¤å¤¦ ½÷Ãæ #T35 1 ¤¸¤ç¤Á¤ç¤¦ ½õĹ #T30 0 ¤¸¤ç¤Ã¤­ ¥¸¥ç¥Ã¥­ #T35 0 ¤¸¤ç¤É¤¦¤· ½õư»ì #T35 4 ¤¸¤ç¤Ð¤ó ½øÈ× #T35 0 ¤¸¤ç¤Ö ¥¸¥ç¥Ö #T35 17 ¤¸¤ç¤Ö¤º ¥¸¥ç¥Ö¥º #JN 0 ¤¸¤ç¤Ö¤ó ½øÊ¸ #T35 2 ¤¸¤ç¤Û¤¦ ½üË¡ #T35 6 ¤¸¤ç¤Þ¤¯ ½øËë #T35 0 ¤¸¤ç¤Þ¤¯¤·¤­ ½üËë¼° #T35 0 ¤¸¤ç¤á¤¤ ½õÌ¿ #T30 1 ¤¸¤ç¤á¤¤ ½ü̾ #T30 1 ¤¸¤ç¤ä ½üÌë #T35 0 ¤¸¤ç¤ä¤¯ ½õÌò #T35 0 ¤¸¤ç¤æ¤¦ ½÷Í¥ #T35 1 ¤¸¤ç¤ê¤å¤¦ ½÷ή #T35 1 ¤¸¤ç¤ê¤ç¤¯ ½õÎÏ #T30 1 ¤¸¤ç¤ì¤Ä ½øÎó #T35 1 ¤¸¤ç¤í¤ó ½øÏÀ #T35 1 ¤¸¤ç¤ó ¥¸¥ç¥ó #JN 0 ¤¸¤è¤¦ ¼¢ÍÜ #T35 1 ¤¸¤é ¤¸¤é #S5r 2 ¤¸¤é¤¤ ÃÏÍë #T35 1 ¤¸¤ê¤­ ÃÏÎÏ #T35 0 ¤¸¤ê¤­ ¼«ÎÏ #T35 3 ¤¸¤ê¤Ä ¼«Î© #T30 64 ¤¸¤ê¤Ä ¼©Î© #T35 0 ¤¸¤ê¤Ä ¼«Î§ #T35 1 ¤¸¤ê¤Ä¤´ ¼«Î©¸ì #T35 0 ¤¸¤ê¤å¤¦ »þή #T35 0 ¤¸¤ê¤å¤¦ ¼«Î® #T35 0 ¤¸¤ê¤ç¤¯ ¼§ÎÏ #T35 0 ¤¸¤ë ½Á #SUC 2 ¤¸¤ë¤· °õ #SUC 9 ¤¸¤ì¤¤ »öÎã #T35 4 ¤¸¤ì¤¤ ¼­Îá #T35 7 ¤¸¤ì¤ó¤Þ ¥¸¥ì¥ó¥Þ #T35 1 ¤¸¤í¤¦ ¼¡Ïº #JNM 0 ¤¸¤í¤¦ ¼£Ïº #JNM 0 ¤¸¤í¤¦ ÆóϺ #JNM 0 ¤¸¤í¤¸¤í ¤¸¤í¤¸¤í #F06 0 ¤¸¤í¤ó »ýÏÀ #T35 1 ¤¸¤ó ¿Í #CNSUC1 63 ¤¸¤ó ¿Î #JNM 0 ¤¸¤ó ¿Ø #JS 0 ¤¸¤ó ¿Ï #KJ 0 ¤¸¤ó ¿Ð #KJ 0 ¤¸¤ó ¿Ñ #KJ 0 ¤¸¤ó ¿Ó #KJ 0 ¤¸¤ó ¿Õ #KJ 0 ¤¸¤ó ¿Ö #KJ 0 ¤¸¤ó ¿× #KJ 0 ¤¸¤ó ¿Ù #KJ 0 ¤¸¤ó ¿À #KJ 1 ¤¸¤ó ¿Ò #KJ 1 ¤¸¤ó ¿Ô #KJ 1 ¤¸¤ó ¿Í #SUC 0 ¤¸¤ó ¿Ø #SUC 0 ¤¸¤ó ¿Í #T35 0 ¤¸¤ó ¿Î #T35 28 ¤¸¤ó ¿Ø #T35 4 ¤¸¤ó¤¤ ¿Í°Ù #T35 2 ¤¸¤ó¤¤¤Á ¿Î°ì #JNM 0 ¤¸¤ó¤¤¤ó ¿Í°÷ #T35 2 ¤¸¤ó¤¦ ¿Õâ³ #T35 1 ¤¸¤ó¤¨¤¤ ¿Ø±Ä #T35 1 ¤¸¤ó¤¨¤ó ¿Õ±ê #T35 1 ¤¸¤ó¤« ¿Í²È #T35 0 ¤¸¤ó¤«¤¤ ¿Ð³© #T35 0 ¤¸¤ó¤«¤¤¤»¤ó¤¸¤å¤Ä ¿Í³¤Àï½Ñ #T35 0 ¤¸¤ó¤«¤¯ ¿Í³Ê #T35 1 ¤¸¤ó¤¬¤µ ¿Ø³Þ #T35 0 ¤¸¤ó¤® ¿ÎµÁ #T35 1 ¤¸¤ó¤¯¤¹ ¥¸¥ó¥¯¥¹ #T35 1 ¤¸¤ó¤°¤¦ ¿À¸ù #JNS 0 ¤¸¤ó¤°¤¦ ¿ÀµÜ #T35 2 ¤¸¤ó¤±¤ó ¿Í·ï #T35 0 ¤¸¤ó¤±¤ó ¿Í¸¢ #T35 1 ¤¸¤ó¤³¤¦ ¿Í¹© #T35 27 ¤¸¤ó¤³¤¦ ¿Í¸ý #T35 4 ¤¸¤ó¤³¤Ä ¿Í¹ü #T35 0 ¤¸¤ó¤µ¤¤ ¿ÍºÒ #T35 0 ¤¸¤ó¤¶¤¤ ¿Íºà #T35 4 ¤¸¤ó¤·¤å ¿Í¼ï #T35 1 ¤¸¤ó¤·¤ó ¿Í¿È #T35 1 ¤¸¤ó¤¸ ¿Í»ö #T35 7 ¤¸¤ó¤¸¤¤¤ó ¿Í»ö±¡ #KK 1 ¤¸¤ó¤¸¤« ¿Í»ö²Ý #T35 0 ¤¸¤ó¤¸¤ã ¿À¼Ò #T35 1 ¤¸¤ó¤¸¤ç¤¦ ¿Ò¾ï #T05 1 ¤¸¤ó¤»¤¤ ¿ÍÀ¸ #T35 8 ¤¸¤ó¤»¤¤¤«¤ó ¿ÍÀ¸´Ñ #T35 0 ¤¸¤ó¤»¤¤¤í¤ó ¿ÍÀ¸ÏÀ #T35 0 ¤¸¤ó¤»¤­ ¿ÀÀÐ #JCN 0 ¤¸¤ó¤»¤­ ¿ÍÀ× #T35 0 ¤¸¤ó¤»¤ó ¿ÍÁª #T30 1 ¤¸¤ó¤½¤¯ ¿×® #T05 2 ¤¸¤ó¤¾¤¦ ¿Í¤ #T30 4 ¤¸¤ó¤¾¤¦ ¿Õ¡ #T35 1 ¤¸¤ó¤¿¤¤ ¿ÍÂÎ #T35 0 ¤¸¤ó¤À¤¤ ¿ÓÂç #T05 0 ¤¸¤ó¤Á ¿ØÃÏ #T35 0 ¤¸¤ó¤Á ¿ÍÃÎ #T35 2 ¤¸¤ó¤Á¤¯ ¿ÍÃÜ #T35 1 ¤¸¤ó¤Á¤å¤¦ ¿ØÃæ #T35 0 ¤¸¤ó¤Á¤ç¤¦¤² ¥¸¥ó¥Á¥ç¥¦¥² #T35 0 ¤¸¤ó¤Á¤ç¤¦¤² ÄÀÃú²Ö #T35 0 ¤¸¤ó¤Ä¤¦ ¿ØÄË #T35 0 ¤¸¤ó¤Æ¤¤ ¿ÍÄê #T35 0 ¤¸¤ó¤Æ¤­ ¿ÍŪ #T05 2 ¤¸¤ó¤È¤¦ ¿ØÆ¬ #T35 0 ¤¸¤ó¤È¤¯ ¿ÍÆÁ #T35 1 ¤¸¤ó¤É¤¦ ¿ÍÆ» #T35 1 ¤¸¤ó¤Ð ¿ÀÇÏ #JNS 0 ¤¸¤ó¤Ð ¿ÍÇÏ #T35 0 ¤¸¤ó¤Ö¤Ä ¿Íʪ #T35 17 ¤¸¤ó¤Ö¤ó ¿Íʸ #T35 1 ¤¸¤ó¤Ü ¿ÀÊÝ #JNS 0 ¤¸¤ó¤Ü¤¦ ¿Í˾ #T35 0 ¤¸¤ó¤Ü¤¦¤Á¤ç¤¦ ¿ÀÊÝÄ® #CN 0 ¤¸¤ó¤Þ¤·¤ó é¡Ë㿾 #T35 1 ¤¸¤ó¤ß¤ã¤¯ ¿ÍÌ® #T35 1 ¤¸¤ó¤ß¤ó ¿Í̱ #T35 3 ¤¸¤ó¤á¤¤ ¿ÍÌ¿ #T35 1 ¤¸¤ó¤á¤¤ ¿Í̾ #T35 24 ¤¸¤ó¤â¤ó ¿ÒÌä #T30 1 ¤¸¤ó¤ê¤­¤·¤ã ¿ÍÎÏ¼Ö #T35 1 ¤¸¤ó¤ê¤ç¤¯ ¿ÔÎÏ #T30 1 ¤¸¤ó¤ê¤ç¤¯ ¿ÍÎÏ #T35 0 ¤¸¤ó¤ë¤¤ ¿ÍÎà #T35 3 ¤¹ Æ© #K5 0 ¤¹ ¤¹ #K5 67 ¤¹ ¹¥ #K5 7 ¤¹ ¹÷ #K5r 0 ¤¹ ¶õ #K5r 4 ¤¹ ¿Ú #KJ 0 ¤¹ ¿Û #KJ 0 ¤¹ À³ #KJ 0 ¤¹ Îü #KJ 0 ¤¹ ¼é #KJ 1 ¤¹ À´ #KJ 1 ¤¹ ¿Ü #KJ 5 ¤¹ À³ #M5 0 ¤¹ ½» #M5 57 ¤¹ À¡ #M5 8 ¤¹ ºÑ #M5r 255 ¤¹ ¤¹ #M5r 45 ¤¹ ÁÇ #PRE 62 ¤¹ À¢ #R5 4 ¤¹ »¤ #R5 77 ¤¹ ºþ #R5r 72 ¤¹ ½£ #T35 1 ¤¹ ½§ #T35 119 ¤¹ ¿Ý #T35 2 ¤¹ ÁÇ #T35 2 ¤¹ Áã #T35 3 ¤¹ µÛ #W5 40 ¤¹ ¤¹ #sxu2 0 ¤¹¡¼¤Ä ¥¹¡¼¥Ä #T35 30 ¤¹¡¼¤Ñ ¥¹¡¼¥Ñ #PRE 4 ¤¹¡¼¤Ñ¡¼ ¥¹¡¼¥Ñ¡¼ #PRE 22 ¤¹¡¼¤Ñ¡¼ ¥¹¡¼¥Ñ¡¼ #T35 13 ¤¹¡¼¤Ñ¡¼¤Ð¤¤¤¶ ¥¹¡¼¥Ñ¡¼¥Ð¥¤¥¶ #T35 1 ¤¹¡¼¤Ñ¡¼¤Ð¤¤¤¶¡¼ ¥¹¡¼¥Ñ¡¼¥Ð¥¤¥¶¡¼ #T35 1 ¤¹¡¼¤Ñ¡¼¤æ¡¼¤¶ ¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶ #T35 10 ¤¹¡¼¤Ñ¤Ð¤¤¤¶ ¥¹¡¼¥Ñ¥Ð¥¤¥¶ #T35 1 ¤¹¡¼¤× ¥¹¡¼¥× #T35 1 ¤¹¤¢¤· ÁÇ­ #T35 0 ¤¹¤¤ ½Ð #KJ 0 ¤¹¤¤ ¿æ #KJ 0 ¤¹¤¤ ¿ë #KJ 0 ¤¹¤¤ ¿í #KJ 0 ¤¹¤¤ ¿î #KJ 0 ¤¹¤¤ ï #KJ 0 ¤¹¤¤ Êæ #KJ 0 ¤¹¤¤ ¿á #KJ 1 ¤¹¤¤ ¿â #KJ 1 ¤¹¤¤ ¿ã #KJ 1 ¤¹¤¤ ¿ç #KJ 1 ¤¹¤¤ ¿é #KJ 1 ¤¹¤¤ ¿ê #KJ 1 ¤¹¤¤ ¿ì #KJ 1 ¤¹¤¤ ج #KJ 1 ¤¹¤¤ ¿ä #KJ 3 ¤¹¤¤ ¿å #SUC 116 ¤¹¤¤ ¿è #T05 1 ¤¹¤¤ ¿å #T35 0 ¤¹¤¤¡¼¤× ¥¹¥¤¡¼¥× #T30 3 ¤¹¤¤¤¢¤² µÛ¤¤¾å¤² #KSr 6 ¤¹¤¤¤¢¤Ä ¿å°µ #T35 0 ¤¹¤¤¤¤ ¿ä°Ü #T30 4 ¤¹¤¤¤¤ ¿å°Ì #T35 6 ¤¹¤¤¤¤¤­ ¿å°è #T35 0 ¤¹¤¤¤¤¤ê¤Ä ¿ä°ÜΧ #T35 1 ¤¹¤¤¤¨¤¤ ¿å±Ë #T30 13 ¤¹¤¤¤ª¤ó ¿å²¹ #T35 1 ¤¹¤¤¤« ﲿ #T30 0 ¤¹¤¤¤« ¿â²¼ #T30 1 ¤¹¤¤¤« ¤¹¤¤¤« #T35 0 ¤¹¤¤¤« À¾±» #T35 0 ¤¹¤¤¤¬¤¤ ¿å³² #T35 0 ¤¹¤¤¤¬¤é µÛ³Ì #T35 0 ¤¹¤¤¤­¤å¤¦ ¿åµå #T35 0 ¤¹¤¤¤­¤ç ¿äµó #T30 0 ¤¹¤¤¤®¤ó ¿å¶ä #T35 0 ¤¹¤¤¤±¤¤ ¿ä·× #T30 0 ¤¹¤¤¤²¤ó ¿å¸» #T35 0 ¤¹¤¤¤³ µÛ¤¤¹þ #M5r 1 ¤¹¤¤¤³¤¦ ¿ä¹Í #T30 1 ¤¹¤¤¤³¤¦ ¿ë¹Ô #T30 6 ¤¹¤¤¤³¤¦ ¿äÚÊ #T30 8 ¤¹¤¤¤³¤Ç¤ó ¿åÞ÷ÅÁ #KK 0 ¤¹¤¤¤µ¤¤¤¬ ¿åºÌ²è #T35 0 ¤¹¤¤¤µ¤Ä ¿ä»¡ #T30 2 ¤¹¤¤¤µ¤ó ¿ä»» #T30 1 ¤¹¤¤¤µ¤ó ¿å»º #T35 1 ¤¹¤¤¤µ¤ó ¿å»À #T35 1 ¤¹¤¤¤µ¤ó¤« ¿å»À²½ #T30 0 ¤¹¤¤¤· ¿å»à #T30 0 ¤¹¤¤¤·¤Ä ¿å¼Á #T35 0 ¤¹¤¤¤·¤ç¤¦ ¿ä¾Þ #T30 0 ¤¹¤¤¤·¤ç¤¦ ¿ä¾© #T30 5 ¤¹¤¤¤·¤ç¤¦ ¿å¾½ #T35 0 ¤¹¤¤¤·¤ó ¿ä¿Ê #T30 22 ¤¹¤¤¤·¤ó ¿â¿´ #T35 0 ¤¹¤¤¤·¤ó ¿å¿¼ #T35 0 ¤¹¤¤¤¸ ¿æ»ö #T30 0 ¤¹¤¤¤¸¤ã¤¯ ¿ê¼å #T30 1 ¤¹¤¤¤¸¤å¤ó ¿å½à #T35 10 ¤¹¤¤¤¸¤ç¤¦ ¿å¾å #T35 1 ¤¹¤¤¤¸¤ç¤¦¤­ ¿å¾øµ¤ #T35 0 ¤¹¤¤¤¹ ¥¹¥¤¥¹ #CN 0 ¤¹¤¤¤»¤¤ ¿åÀ± #CNS 1 ¤¹¤¤¤»¤¤ ¿åÀ­ #T35 0 ¤¹¤¤¤»¤¤ ×ÂÀ± #T35 1 ¤¹¤¤¤»¤ó ¿åÀö #T30 1 ¤¹¤¤¤»¤ó ¿äÁ¦ #T30 5 ¤¹¤¤¤»¤ó ¿åÀç #T35 0 ¤¹¤¤¤»¤ó ¿âÀþ #T35 6 ¤¹¤¤¤¼¤ó ¿âÞ· #T30 0 ¤¹¤¤¤½ ¿åÁÇ #T35 1 ¤¹¤¤¤½¤¦ ¿áÁÕ #T30 0 ¤¹¤¤¤½¤¦ ¿åÁò #T30 0 ¤¹¤¤¤½¤¦ ¿åÁå #T35 0 ¤¹¤¤¤½¤¦ ¿åÁØ #T35 1 ¤¹¤¤¤½¤¯ ¿ä¬ #T30 4 ¤¹¤¤¤¾¤¦ ç¹Â¡ #T35 0 ¤¹¤¤¤¾¤¯¤«¤ó ¿å²´Û #T35 1 ¤¹¤¤¤¿ ¿áÅÄ #JCN 0 ¤¹¤¤¤¿¤¤ ¿êÂà #T30 1 ¤¹¤¤¤Á¤å¤¦ ¿åÃæ #T35 0 ¤¹¤¤¤Á¤å¤¦¤è¤¯¤»¤ó ¿åÃæÍãÁ¥ #T35 0 ¤¹¤¤¤Á¤ç¤¯ ¿âľ #T05 16 ¤¹¤¤¤Ã¤Á ¥¹¥¤¥Ã¥Á #T30 67 ¤¹¤¤¤Ã¤Á¤ó¤° ¥¹¥¤¥Ã¥Á¥ó¥° #T30 16 ¤¹¤¤¤Æ¤¤ ¿äÄê #T30 9 ¤¹¤¤¤Æ¤¤ ¿åÄì #T35 0 ¤¹¤¤¤Æ¤­ ¿åÅ© #T35 0 ¤¹¤¤¤Ç¤ó ¿åÅÄ #T35 0 ¤¹¤¤¤È µÛ¤¤¼è #R5r 1 ¤¹¤¤¤È¤¦ ½ÐǼ #T30 1 ¤¹¤¤¤È¤¦ ¿åÅû #T35 0 ¤¹¤¤¤È¤¦ ¿å°ð #T35 1 ¤¹¤¤¤É¤¦ ¿åÆ» #T35 4 ¤¹¤¤¤Ê¤ó ¿åÆñ #T30 0 ¤¹¤¤¤Ï¤ó¤­ ¿æÈÓ´ï #T35 2 ¤¹¤¤¤Ð¤¯ ¿åÇú #T35 0 ¤¹¤¤¤Ð¤é ¿å¸¶ #JCN 0 ¤¹¤¤¤Ð¤ó ¿åÈ× #T35 0 ¤¹¤¤¤Õ ¿åÉÜ #JCN 0 ¤¹¤¤¤Õ ¿åÉ× #T35 1 ¤¹¤¤¤Ø¤¤ ¿åÊ¿ #T05 16 ¤¹¤¤¤Û¤¦ ¿å˦ #T35 1 ¤¹¤¤¤Û¤¦ ¿åá× #T35 1 ¤¹¤¤¤Ü¤¦ ¿êË´ #T30 0 ¤¹¤¤¤Ü¤¯¤¬ ¿åËϲè #T35 0 ¤¹¤¤¤Ü¤Ä ¿åË× #T30 0 ¤¹¤¤¤Þ ¿çËâ #T35 1 ¤¹¤¤¤Þ¤»¤ó ¤¹¤¤¤Þ¤»¤ó #CJ 29 ¤¹¤¤¤Þ¤»¤ó ¤¹¤¤¤Þ¤»¤ó #T35 25 ¤¹¤¤¤ß¤ó ¿ç̲ #T30 4 ¤¹¤¤¤á¤ó ¿åÌÌ #T35 1 ¤¹¤¤¤â¤ó ¿åÌç #T35 0 ¤¹¤¤¤è¤¦ ¿åÍÏ #T35 2 ¤¹¤¤¤è¤¦ ¿åÍË #T35 7 ¤¹¤¤¤è¤¦¤¨¤­ ¿åÍÏ±Õ #T35 0 ¤¹¤¤¤è¤¦¤Ó ¿åÍËÆü #T35 23 ¤¹¤¤¤é¤ó ¿éÍò #KK 1 ¤¹¤¤¤ê ¿äÍý #T30 2 ¤¹¤¤¤ê¤å¤¦ ¿åή #T35 1 ¤¹¤¤¤ê¤ç¤¦ ¿äÎÌ #T30 0 ¤¹¤¤¤ê¤ç¤¦ ¿åÎÌ #T35 0 ¤¹¤¤¤ê¤ç¤¯ ¿äÎÏ #T35 13 ¤¹¤¤¤ê¤ç¤¯ ¿åÎÏ #T35 2 ¤¹¤¤¤í ¿åÏ© #T35 0 ¤¹¤¤¤í¤ó ¿äÏÀ #T30 47 ¤¹¤¤¤ó¤° ¥¹¥¤¥ó¥° #T30 0 ¤¹¤¦ ¿ò #KJ 0 ¤¹¤¦ ¿ó #KJ 0 ¤¹¤¦ ¿ö #KJ 0 ¤¹¤¦ ¿÷ #KJ 0 ¤¹¤¦ ¿õ #KJ 1 ¤¹¤¦ ¿ô #SUC 253 ¤¹¤¦ ¿ô #T35 180 ¤¹¤¦¤§¡¼¤Ç¤ó ¥¹¥¦¥§¡¼¥Ç¥ó #CN 0 ¤¹¤¦¤«¤¤ ¿ô²ó #T35 4 ¤¹¤¦¤¬¤¯ ¿ô³Ø #T35 26 ¤¹¤¦¤­ ¿ô´ñ #T05 0 ¤¹¤¦¤³ ¿ô¸Ä #T35 4 ¤¹¤¦¤³¤¦ ¿ò¹â #T05 1 ¤¹¤¦¤· ¿ô»ì #T35 8 ¤¹¤¦¤·¤­ ¿ô¼° #T35 13 ¤¹¤¦¤¸ ¿ô»ú #T35 73 ¤¹¤¦¤¸¤¯ ¿õ¼´ #T35 1 ¤¹¤¦¤¸¤Ä ¿ôÆü #T35 6 ¤¹¤¦¤»¤¤ ¿öÀª #T35 3 ¤¹¤¦¤À¤¤ ¿ôÂæ #T35 2 ¤¹¤¦¤Á ¿ôÃÍ #T35 42 ¤¹¤¦¤Ë¤ó ¿ô¿Í #T35 4 ¤¹¤¦¤Ï¤¤ ¿òÇÒ #T30 0 ¤¹¤¦¤á¤¤ ¿ô̾ #T35 6 ¤¹¤¦¤ê ¿ôÍý #T35 19 ¤¹¤¦¤ê¤«¤¬¤Ã¤« ¿ôÍý²Ê³Ø²Ê #KK 1 ¤¹¤¦¤ê¤ç¤¦ ¿ôÎÌ #T35 5 ¤¹¤¦¤ì¤Ä ¿ôÎó #T35 2 ¤¹¤¨ ¿Ü·Ã #JN 0 ¤¹¤¨ ¿ø #KJ 0 ¤¹¤¨ ¿ø¤¨ #KS 1 ¤¹¤¨ Ëö #SUC 11 ¤¹¤¨ Æ« #T35 0 ¤¹¤¨ Ëö #T35 0 ¤¹¤¨¤ª ËöÃË #JNM 0 ¤¹¤¨¤ª ¿ø¤¨ÃÖ #K5r 1 ¤¹¤¨¤­¤Á ËöµÈ #JNM 0 ¤¹¤¨¤­¤Á ËöµÈ #T35 0 ¤¹¤¨¤¸ Ëö¼£ #JNM 0 ¤¹¤¨¤Ä¤± ¿ø¤¨ÉÕ¤± #KSr 0 ¤¹¤¨¤Ê¤¬ Ëö±Ê #KY 1 ¤¹¤¨¤Ê¤´¤¦ Ëö±Ê¤¦ #KYU 1 ¤¹¤¨¤Ò¤í Ëö¹­ #JCN 0 ¤¹¤¨¤Ò¤í Ëö¹­ #T35 3 ¤¹¤¨¤Þ¤Ä Ëö¾¾ #JN 0 ¤¹¤¨¤è¤· ËöµÈ #JCN 0 ¤¹¤ª¤¦ ¼þËÉ #CN 0 ¤¹¤« Æ©¤« #S5r 1 ¤¹¤«¡¼¤È ¥¹¥«¡¼¥È #T35 5 ¤¹¤«¤¦¤È ¥¹¥«¥¦¥È #T30 1 ¤¹¤«¤¬¤ï ¿Ü²ìÀî #JCN 0 ¤¹¤«¤µ¤º ¤¹¤«¤µ¤º #F14 1 ¤¹¤«¤µ¤º ¤¹¤«¤µ¤º #T36 0 ¤¹¤«¤Ã¤Á¤ã¡¼¤É¤×¤í¤Ã¤È ¥¹¥«¥Ã¥Á¥ã¡¼¥É¥×¥í¥Ã¥È #T35 1 ¤¹¤«¤È¤í¤¸¡¼ ¥¹¥«¥È¥í¥¸¡¼ #T35 0 ¤¹¤«¤é ¥¹¥«¥é #T35 11 ¤¹¤«¤ó¤Ô¤ó ÁÇ´¨ÉÏ #T15 0 ¤¹¤¬ ¿Ü²ì #JCN 0 ¤¹¤¬ ¿û #JNS 0 ¤¹¤¬¤¤ ¿û°æ #JNS 0 ¤¹¤¬¤ª ÁÇ´é #T35 1 ¤¹¤¬¤¿ ¿ûÅÄ #JNS 0 ¤¹¤¬¤¿ »Ñ #T35 24 ¤¹¤¬¤À¤¤¤é ¿ûÊ¿ #JCN 0 ¤¹¤¬¤Î ¿ûÌî #JCN 0 ¤¹¤¬¤Ï¤é ¿û¸¶ #JNS 0 ¤¹¤¬¤â Áã³û #JCN 0 ¤¹¤¬¤ä ¿ûë #JNS 0 ¤¹¤¬¤ï¤é ¿û¸¶ #JCN 0 ¤¹¤­ ¿ÜÌÚ #JCN 0 ¤¹¤­ ¹÷ #KJ 0 ¤¹¤­ ¹¥¤­ #T05 110 ¤¹¤­ ·­ #T35 0 ¤¹¤­ ·ä #T35 0 ¤¹¤­ ൠ#T35 0 ¤¹¤­ ½û #T35 0 ¤¹¤­¡¼ ¥¹¥­¡¼ #T30 42 ¤¹¤­¡¼¤Þ ¥¹¥­¡¼¥Þ #T35 2 ¤¹¤­¡¼¤ä¡¼ ¥¹¥­¡¼¥ä¡¼ #T35 1 ¤¹¤­¤º¤­ ¹¥¤­¤º¤­ #T05 1 ¤¹¤­¤Ã¤Ñ¤é ¶õ¤­¤ÃÊ¢ #T35 0 ¤¹¤­¤Ã¤× ¥¹¥­¥Ã¥× #T30 6 ¤¹¤­¤È¤ª Æ©¤­ÄÌ #R5 0 ¤¹¤­¤Þ ·ä´Ö #T35 0 ¤¹¤­¤Þ ¤¹¤­´Ö #T35 1 ¤¹¤­¤ã¤Ê ¥¹¥­¥ã¥Ê #T35 11 ¤¹¤­¤ã¤Ê¡¼ ¥¹¥­¥ã¥Ê¡¼ #T35 11 ¤¹¤­¤ã¤ó ¥¹¥­¥ã¥ó #T30 2 ¤¹¤­¤ã¤ó¤À¤ë ¥¹¥­¥ã¥ó¥À¥ë #T35 0 ¤¹¤­¤ë ¥¹¥­¥ë #T35 5 ¤¹¤® ¿ú #KJ 0 ¤¹¤® ²á¤® #KSr 133 ¤¹¤® ¤¹¤® #KSr 8 ¤¹¤® ¿ù #T35 20 ¤¹¤®¤¦¤é ¿ù±º #JNS 0 ¤¹¤®¤¨ ¿ù¹¾ #JN 0 ¤¹¤®¤µ ²á¤®µî #R5 2 ¤¹¤®¤µ¤­ ¿ùºê #JNS 0 ¤¹¤®¤¶¤­ ¿ùºê #JNS 0 ¤¹¤®¤¿ ¿ùÅÄ #JCN 0 ¤¹¤®¤È ¿ù¸Í #JCN 0 ¤¹¤®¤È¤¦ ¿ùÆ£ #JNS 0 ¤¹¤®¤Ê¤ß ¿ùÊ #JCN 0 ¤¹¤®¤Î ¿ùÌî #JNS 0 ¤¹¤®¤Î¤·¤¿ ¿ùÇ·²¼ #JNS 0 ¤¹¤®¤Ï¤é ¿ù¸¶ #JNS 0 ¤¹¤®¤à¤é ¿ù¼ #JNS 0 ¤¹¤®¤â¤È ¿ùËÜ #JCN 0 ¤¹¤®¤ä¤Þ ¿ù»³ #JNS 0 ¤¹¤®¤ä¤Þ ¿ù»³ #T35 6 ¤¹¤¯ Áã¿© #W5 2 ¤¹¤¯ µß #W5r 4 ¤¹¤¯¡¼¤× ¥¹¥¯¡¼¥× #T30 0 ¤¹¤¯¡¼¤ë ¥¹¥¯¡¼¥ë #T35 4 ¤¹¤¯¤¤¤À µß¤¤½Ð #S5r 0 ¤¹¤¯¤Ê ¤¹¤¯¤Ê #KYme 0 ¤¹¤¯¤Ê ¾¯¤Ê #KYme 122 ¤¹¤¯¤Ê ¾¯ #KYme 20 ¤¹¤¯¤Ê¤¬ ¤¹¤¯¤Ê¤¬ #R5 0 ¤¹¤¯¤Ê¤¬ ¾¯¤Ê¤¬ #R5 0 ¤¹¤¯¤Î¤¦ ¤¹¤¯¤Î¤¦ #KYU 0 ¤¹¤¯¤Î¤¦ ¾¯¤¦ #KYU 2 ¤¹¤¯¤Î¤¦ ¾¯¤Î¤¦ #KYU 3 ¤¹¤¯¤â ½ÉÌÓ #JCN 0 ¤¹¤¯¤é¤Ã¤× ¥¹¥¯¥é¥Ã¥× #T30 0 ¤¹¤¯¤ê¡¼¤Ë¤ó¤° ¥¹¥¯¥ê¡¼¥Ë¥ó¥° #T30 1 ¤¹¤¯¤ê¡¼¤ó ¥¹¥¯¥ê¡¼¥ó #T35 20 ¤¹¤¯¤ê¤×¤È ¥¹¥¯¥ê¥×¥È #T35 42 ¤¹¤¯¤í¡¼¤ë ¥¹¥¯¥í¡¼¥ë #T30 49 ¤¹¤° ¤¹¤° #F14 117 ¤¹¤° ¤¹¤° #T36 0 ¤¹¤°¤µ¤Þ ¤¹¤°¤µ¤Þ #F14 1 ¤¹¤°¤Ë ¤¹¤°¤Ë #F14 25 ¤¹¤°¤ë ±Ñ #JNM 0 ¤¹¤°¤ì ¤¹¤°¤ì #KS 1 ¤¹¤°¤ì Í¥¤ì #KS 17 ¤¹¤± ¾ç #KJ 0 ¤¹¤± Êã #KJ 0 ¤¹¤± μ #KJ 0 ¤¹¤± Êå #KJ 1 ¤¹¤± ͤ #KJ 1 ¤¹¤± Í´ #KJ 1 ¤¹¤± ½õ #KJ 3 ¤¹¤± ²ð #KJ 4 ¤¹¤± Æ©¤± #KSr 3 ¤¹¤±¡¼¤È ¥¹¥±¡¼¥È #T30 1 ¤¹¤±¡¼¤ê¤ó¤° ¥¹¥±¡¼¥ê¥ó¥° #T30 1 ¤¹¤±¡¼¤ë ¥¹¥±¡¼¥ë #T35 1 ¤¹¤±¤¸¤å¡¼¤é ¥¹¥±¥¸¥å¡¼¥é #T35 1 ¤¹¤±¤¸¤å¡¼¤é¡¼ ¥¹¥±¥¸¥å¡¼¥é¡¼ #T35 1 ¤¹¤±¤¸¤å¡¼¤ê¤ó¤° ¥¹¥±¥¸¥å¡¼¥ê¥ó¥° #T30 3 ¤¹¤±¤¸¤å¡¼¤ë ¥¹¥±¥¸¥å¡¼¥ë #T30 38 ¤¹¤±¤Ã¤Á ¥¹¥±¥Ã¥Á #T30 1 ¤¹¤±¤ë¤È¤ó ¥¹¥±¥ë¥È¥ó #T35 3 ¤¹¤² ¿û #JNS 0 ¤¹¤² ¿û #KJ 0 ¤¹¤²¤Ì¤Þ ¿û¾Â #JNS 0 ¤¹¤³¡¼¤Ô¤ó¤° ¥¹¥³¡¼¥Ô¥ó¥° #T35 2 ¤¹¤³¡¼¤× ¥¹¥³¡¼¥× #T35 6 ¤¹¤³¡¼¤ó ¥¹¥³¡¼¥ó #T35 0 ¤¹¤³¤¢ ¥¹¥³¥¢ #T35 3 ¤¹¤³¤· ¤¹¤³¤· #F14 13 ¤¹¤³¤· ¾¯¤· #T35 255 ¤¹¤³¤·¤â ¾¯¤·¤â #F14 0 ¤¹¤³¤Ö¤ë ¤¹¤³¤Ö¤ë #F14 2 ¤¹¤³¤ä¤« ·ò¤ä¤« #T05 0 ¤¹¤´ ¤¹¤´ #KYmi 37 ¤¹¤´ À¨ #KYmi 44 ¤¹¤´ ²á¤´ #S5 19 ¤¹¤´¤¦ ¿ûÀ¸ #JCN 0 ¤¹¤´¤¦ ¤¹¤´¤¦ #KYU 2 ¤¹¤´¤¦ À¨¤¦ #KYU 2 ¤¹¤´¤í¤¯ ¤¹¤´¤í¤¯ #T35 1 ¤¹¤µ ¿Üº´ #JCN 0 ¤¹¤µ¤­ ¿Üºê #JCN 0 ¤¹¤µ¤Þ¤¸ À¨¤Þ¤¸ #KY 1 ¤¹¤µ¤Þ¤¸ ¤¹¤µ¤Þ¤¸ #KY 2 ¤¹¤µ¤Þ¤¸¤µ À¨¤Þ¤¸¤µ #T35 1 ¤¹¤µ¤Þ¤¸¤å¤¦ ¤¹¤µ¤Þ¤¸¤å¤¦ #KYU 1 ¤¹¤µ¤Þ¤¸¤å¤¦ À¨¤Þ¤¸¤å¤¦ #KYU 1 ¤¹¤µ¤ß ¤¹¤µ¤ß #CN 0 ¤¹¤¶¤« ¿Üºä #JCN 0 ¤¹¤¶¤¯ ¼ë¿ý #KK 0 ¤¹¤· ò¿ #T35 2 ¤¹¤· ¼÷»Ê #T35 8 ¤¹¤¸ ¶Ú #SUC 6 ¤¹¤¸ ¶Ú #T35 1 ¤¹¤¸¤¬¤­ ¶Ú½ñ¤­ #T35 1 ¤¹¤¸¤ß¤Á ¶ÚÆ» #T35 1 ¤¹¤¸¤ç¤¦ ÁÇÀ­ #T35 0 ¤¹¤¸¤ï¤ë ¶Ú°­ #T18 0 ¤¹¤¹ Âõ #G5r 1 ¤¹¤¹ ¿Ê #M5r 147 ¤¹¤¹ ¤¹¤¹ #R5 2 ¤¹¤¹ Çá #T35 2 ¤¹¤¹¤­ ¥¹¥¹¥­ #T35 0 ¤¹¤¹¤­ Çö #T35 0 ¤¹¤¹¤¹¤Ã¤È ¤¹¤¹¤¹¤Ã¤È #F14 1 ¤¹¤¹¤ß¤À ¿Ê¤ß½Ð #S5 1 ¤¹¤¹¤à ¿¸ #JNM 0 ¤¹¤¹¤à ¿Ê #JNM 0 ¤¹¤¹¤á ¿Ê¤á #KS 10 ¤¹¤¹¤á ´«¤á #KSr 10 ¤¹¤¹¤á ¿ä¤á #KSr 3 ¤¹¤¹¤á Á¦¤á #KSr 3 ¤¹¤¹¤á ¤¹¤¹¤á #KSr 5 ¤¹¤¹¤á ¾©¤á #KSr 5 ¤¹¤º ¼î½§ #CN 0 ¤¹¤º Îà #M5 1 ¤¹¤º ¥¹¥º #T35 0 ¤¹¤º ¼â #T35 0 ¤¹¤º Îë #T35 6 ¤¹¤º¤« Î뼯 #JCN 0 ¤¹¤º¤«¤¼ ÎÃÉ÷ #T35 0 ¤¹¤º¤­ ÎëÌÚ #JCN 0 ¤¹¤º¤­ òé #T35 1 ¤¹¤º¤µ¤ï ¤¹¤º¤µ¤ï #KK 1 ¤¹¤º¤· Îä· #KYme 2 ¤¹¤º¤·¤å¤¦ Î䷤夦 #KYU 1 ¤¹¤º¤á ¿ý #T35 2 ¤¹¤º¤á¤Ð¤Á ¥¹¥º¥á¥Ð¥Á #T35 0 ¤¹¤º¤á¤Ð¤Á ¿ý˪ #T35 0 ¤¹¤º¤é¤ó ÎëÍö #T35 1 ¤¹¤º¤ê ¸§ #T35 1 ¤¹¤½ ¿þ #T35 1 ¤¹¤½¤Î ¿þÌî #JCN 0 ¤¹¤½¤Î ¿þÌî #T35 0 ¤¹¤¿ ÇÑ #R5r 0 ¤¹¤¿¡¼ ¥¹¥¿¡¼ #T35 24 ¤¹¤¿¡¼¤È ¥¹¥¿¡¼¥È #T30 8 ¤¹¤¿¡¼¤È¤ì¤Ã¤¯ ¥¹¥¿¡¼¥È¥ì¥Ã¥¯ #KK 1 ¤¹¤¿¡¼¤ê¤Ë¤º¤à ¥¹¥¿¡¼¥ê¥Ë¥º¥à #T35 0 ¤¹¤¿¤¤¤ë ¥¹¥¿¥¤¥ë #T35 19 ¤¹¤¿¤¸¤ª ¥¹¥¿¥¸¥ª #T35 2 ¤¹¤¿¤Ã¤¯ ¥¹¥¿¥Ã¥¯ #T35 41 ¤¹¤¿¤Ã¤¯¤¦¤§¤¢ ¥¹¥¿¥Ã¥¯¥¦¥§¥¢ #T35 1 ¤¹¤¿¤Ã¤Õ ¥¹¥¿¥Ã¥Õ #T35 4 ¤¹¤¿¤Æ¤£¤Ã¤¯ ¥¹¥¿¥Æ¥£¥Ã¥¯ #T05 12 ¤¹¤¿¤Ç¤£ ¥¹¥¿¥Ç¥£ #T30 4 ¤¹¤¿¤Ç¤£¡¼ ¥¹¥¿¥Ç¥£¡¼ #T30 4 ¤¹¤¿¤Ö ¥¹¥¿¥Ö #T35 6 ¤¹¤¿¤ß¤Ê ¥¹¥¿¥ß¥Ê #T35 0 ¤¹¤¿¤ì ÇѤì #KS 1 ¤¹¤¿¤ó¤À¡¼¤É ¥¹¥¿¥ó¥À¡¼¥É #T05 1 ¤¹¤¿¤ó¤É ¥¹¥¿¥ó¥É #T35 3 ¤¹¤¿¤ó¤Õ¤©¡¼¤É ¥¹¥¿¥ó¥Õ¥©¡¼¥É #KK 3 ¤¹¤¿¤ó¤× ¥¹¥¿¥ó¥× #T35 3 ¤¹¤À ¿ÜÅÄ #JCN 0 ¤¹¤À ÁãΩ #T5r 0 ¤¹¤À¤Þ ¿Ü¶Ì #JCN 0 ¤¹¤À¤ì Îü #T35 0 ¤¹¤Á¡¼¤ë ¥¹¥Á¡¼¥ë #T35 1 ¤¹¤Á¤í¡¼¤ë ¥¹¥Á¥í¡¼¥ë #T35 1 ¤¹¤Ã¤«¤ê ¤¹¤Ã¤«¤ê #F14 9 ¤¹¤Ã¤­¤ê ¤¹¤Ã¤­¤ê #F04 5 ¤¹¤Ã¤Ä ¼÷ÅÔ #CN 0 ¤¹¤Ã¤È ¤¹¤Ã¤È #F12 0 ¤¹¤Ã¤Ñ ¤¹¤Ã¤Ñ #KYmi 3 ¤¹¤Ã¤Ý¤« ¤¹¤Ã¤Ý¤« #S5r 0 ¤¹¤Ã¤Ý¤ê ¤¹¤Ã¤Ý¤ê #F06 0 ¤¹¤Ã¤Ý¤ó ¤¹¤Ã¤Ý¤ó #T35 0 ¤¹¤Æ ¼Î¤Æ #KS 55 ¤¹¤Æ¡¼¤­ ¥¹¥Æ¡¼¥­ #T35 0 ¤¹¤Æ¡¼¤·¤ç¤ó ¥¹¥Æ¡¼¥·¥ç¥ó #T35 139 ¤¹¤Æ¡¼¤¸ ¥¹¥Æ¡¼¥¸ #T35 13 ¤¹¤Æ¡¼¤¿¤¹ ¥¹¥Æ¡¼¥¿¥¹ #T35 17 ¤¹¤Æ¡¼¤È ¥¹¥Æ¡¼¥È #T35 1 ¤¹¤Æ¡¼¤È¤á¤ó¤È ¥¹¥Æ¡¼¥È¥á¥ó¥È #T35 1 ¤¹¤Æ¤£¤Ã¤¯ ¥¹¥Æ¥£¥Ã¥¯ #T35 0 ¤¹¤Æ¤¤¤¿¤¹ ¥¹¥Æ¥¤¥¿¥¹ #T35 5 ¤¹¤Æ¤­ ¤¹¤Æ¤­ #T05 2 ¤¹¤Æ¤­ ÁÇŨ #T05 7 ¤¹¤Æ¤µ ¼Î¤Æµî #R5 0 ¤¹¤Æ¤Ã¤«¡¼ ¥¹¥Æ¥Ã¥«¡¼ #T35 4 ¤¹¤Æ¤Ã¤Ñ ¥¹¥Æ¥Ã¥Ñ #T35 1 ¤¹¤Æ¤Ã¤Ñ¡¼ ¥¹¥Æ¥Ã¥Ñ¡¼ #T35 1 ¤¹¤Æ¤Ã¤× ¥¹¥Æ¥Ã¥× #T30 34 ¤¹¤Æ¤Æ¤³ ¥¹¥Æ¥Æ¥³ #T35 0 ¤¹¤Æ¤Ð¤Á ¼Î¤ÆÈ­ #T05 0 ¤¹¤Æ¤é ¥¹¥Æ¥é #KK 6 ¤¹¤Æ¤ì¤ª ¥¹¥Æ¥ì¥ª #T35 3 ¤¹¤Æ¤í¤¤¤É ¥¹¥Æ¥í¥¤¥É #T35 1 ¤¹¤Æ¤ó¤ì¤¹ ¥¹¥Æ¥ó¥ì¥¹ #T35 2 ¤¹¤Ç ÁǼê #T35 3 ¤¹¤Ç¤Ë ´û¤Ë #F14 136 ¤¹¤Ç¤Ë ¤¹¤Ç¤Ë #F14 87 ¤¹¤È ¥¹¥È #T35 7 ¤¹¤È¡¼¤Ö ¥¹¥È¡¼¥Ö #T35 0 ¤¹¤È¡¼¤ê¡¼ ¥¹¥È¡¼¥ê¡¼ #T35 5 ¤¹¤È¡¼¤ó ¥¹¥È¡¼¥ó #T35 0 ¤¹¤È¤¢ ¥¹¥È¥¢ #T30 4 ¤¹¤È¤¢¡¼ ¥¹¥È¥¢¡¼ #T35 1 ¤¹¤È¤Ã¤­¤ó¤° ¥¹¥È¥Ã¥­¥ó¥° #T35 1 ¤¹¤È¤Ã¤¯ ¥¹¥È¥Ã¥¯ #T30 3 ¤¹¤È¤Ã¤× ¥¹¥È¥Ã¥× #T30 5 ¤¹¤È¤é¤¤¤­ ¥¹¥È¥é¥¤¥­ #T30 0 ¤¹¤È¤é¤¯¤Á¤ã ¥¹¥È¥é¥¯¥Á¥ã #T35 1 ¤¹¤È¤é¤¯¤Á¤ã¡¼ ¥¹¥È¥é¥¯¥Á¥ã¡¼ #T35 0 ¤¹¤È¤é¤Ã¤× ¥¹¥È¥é¥Ã¥× #T35 0 ¤¹¤È¤é¤Æ¤¸¡¼ ¥¹¥È¥é¥Æ¥¸¡¼ #T35 1 ¤¹¤È¤ê¡¼¤È ¥¹¥È¥ê¡¼¥È #T35 1 ¤¹¤È¤ê¡¼¤Þ ¥¹¥È¥ê¡¼¥Þ #T35 1 ¤¹¤È¤ê¡¼¤Þ¡¼ ¥¹¥È¥ê¡¼¥Þ¡¼ #T35 1 ¤¹¤È¤ê¡¼¤à ¥¹¥È¥ê¡¼¥à #T35 33 ¤¹¤È¤ê¤ó¤° ¥¹¥È¥ê¥ó¥° #T35 13 ¤¹¤È¤ì¡¼¤¸ ¥¹¥È¥ì¡¼¥¸ #T35 0 ¤¹¤È¤ì¡¼¤È ¥¹¥È¥ì¡¼¥È #T05 1 ¤¹¤È¤ì¤¹ ¥¹¥È¥ì¥¹ #T35 4 ¤¹¤È¤í¡¼¤¯ ¥¹¥È¥í¡¼¥¯ #T30 8 ¤¹¤È¤í¡¼¤Ö ¥¹¥È¥í¡¼¥Ö #T35 1 ¤¹¤È¤í¤Ù¤ê¡¼ ¥¹¥È¥í¥Ù¥ê¡¼ #T35 1 ¤¹¤É¤¦ ¿ÜÆ£ #JNS 0 ¤¹¤É¤ª¤ê ÁÇÄ̤ê #T30 0 ¤¹¤Ê º» #KJ 0 ¤¹¤Ê º½ #T35 3 ¤¹¤Ê¤ª ÁÇľ #T05 12 ¤¹¤Ê¤¬ ¿Ü±Ê #JNS 0 ¤¹¤Ê¤¬¤ï º½Àî #JCN 0 ¤¹¤Ê¤¬¤ï º½Àî #T35 1 ¤¹¤Ê¤¸ º½ÃÏ #T35 0 ¤¹¤Ê¤Ã¤¯ ¥¹¥Ê¥Ã¥¯ #T35 2 ¤¹¤Ê¤Ã¤× ¥¹¥Ê¥Ã¥× #T30 6 ¤¹¤Ê¤É¤±¤¤ º½»þ·× #T35 0 ¤¹¤Ê¤Ï¤Þ º½ÉÍ #T35 1 ¤¹¤Ê¤Ï¤é º½¸¶ #JNS 0 ¤¹¤Ê¤Ð º½¾ì #T35 0 ¤¹¤Ê¤ß ÁãÆî #JCN 0 ¤¹¤Ê¤ä¤Þ º½»³ #T35 0 ¤¹¤Ê¤ï¤Á ¨¤Á #F14 10 ¤¹¤Ê¤ï¤Á ¤¹¤Ê¤ï¤Á #F14 52 ¤¹¤Ë¡¼¤«¡¼ ¥¹¥Ë¡¼¥«¡¼ #T35 0 ¤¹¤Î¤Ã¤Ö ¥¹¥Î¥Ã¥Ö #T15 0 ¤¹¤Î¤Þ¤¿ ËÏËó #JCN 0 ¤¹¤Ï¤À ÁÇÈ© #T35 0 ¤¹¤Ð¤ä ÁÇÁá #KY 17 ¤¹¤Ð¤é¤· ¤¹¤Ð¤é¤· #KY 0 ¤¹¤Ð¤é¤· ÁÇÀ²¤é¤· #KY 20 ¤¹¤Ð¤é¤·¤å¤¦ ¤¹¤Ð¤é¤·¤å¤¦ #KYU 0 ¤¹¤Ð¤é¤·¤å¤¦ ÁÇÀ²¤é¤·¤å¤¦ #KYU 2 ¤¹¤Ð¤ë Úå #T35 7 ¤¹¤Ñ¡¼¤¯ ¥¹¥Ñ¡¼¥¯ #T30 2 ¤¹¤Ñ¤¤ ¥¹¥Ñ¥¤ #T30 1 ¤¹¤Ñ¤²¤Ã¤Æ¤£ ¥¹¥Ñ¥²¥Ã¥Æ¥£ #T35 2 ¤¹¤Ñ¤²¤Ã¤Æ¤£¡¼ ¥¹¥Ñ¥²¥Ã¥Æ¥£¡¼ #T35 0 ¤¹¤Ñ¤²¤Æ¤£¡¼ ¥¹¥Ñ¥²¥Æ¥£¡¼ #T35 0 ¤¹¤Ñ¤ó ¥¹¥Ñ¥ó #T35 5 ¤¹¤Ô¡¼¤« ¥¹¥Ô¡¼¥« #T35 2 ¤¹¤Ô¡¼¤Á ¥¹¥Ô¡¼¥Á #T30 1 ¤¹¤Ô¡¼¤Ç¤£ ¥¹¥Ô¡¼¥Ç¥£ #T05 0 ¤¹¤Ô¡¼¤Ç¤£¡¼ ¥¹¥Ô¡¼¥Ç¥£¡¼ #T05 0 ¤¹¤Ô¡¼¤É ¥¹¥Ô¡¼¥É #T35 24 ¤¹¤Ô¤ó ¥¹¥Ô¥ó #T30 3 ¤¹¤×¡¼¤é ¥¹¥×¡¼¥é #T35 2 ¤¹¤×¡¼¤é¡¼ ¥¹¥×¡¼¥é¡¼ #T35 2 ¤¹¤×¡¼¤ë ¥¹¥×¡¼¥ë #T30 6 ¤¹¤×¡¼¤ó ¥¹¥×¡¼¥ó #T35 0 ¤¹¤×¤é¤¤¤ó ¥¹¥×¥é¥¤¥ó #T35 13 ¤¹¤Ù Åý¤Ù #KS 24 ¤¹¤Ù ³ê¤Ù #R5r 18 ¤¹¤Ù ½Ñ #T35 3 ¤¹¤Ù¤«¤é¤¯ ¤¹¤Ù¤«¤é¤¯ #F14 0 ¤¹¤Ù¤«¤é¤¯ ¿Ü¤¯ #F14 0 ¤¹¤Ù¤Æ ¢Ï #T35 1 ¤¹¤Ù¤Æ ¤¹¤Ù¤Æ #T35 14 ¤¹¤Ù¤Æ Á´¤Æ #T35 255 ¤¹¤Ù¤ê¤ª¤Á ³ê¤êÍî¤Á #KSr 0 ¤¹¤Ù¤ê¤³ ³ê¤ê¹þ #M5r 0 ¤¹¤Ù¤ê¤À ³ê¤ê½Ð #S5r 0 ¤¹¤Ú¡¼¤¹ ¥¹¥Ú¡¼¥¹ #T35 43 ¤¹¤Ú¤¢ ¥¹¥Ú¥¢ #T35 0 ¤¹¤Ú¤¤¤ó ¥¹¥Ú¥¤¥ó #CN 0 ¤¹¤Ú¤¤¤ó¤´ ¥¹¥Ú¥¤¥ó¸ì #KK 1 ¤¹¤Ú¤¯¤È¤ë ¥¹¥Ú¥¯¥È¥ë #T35 1 ¤¹¤Ú¤·¤ã¤ê¤¹¤È ¥¹¥Ú¥·¥ã¥ê¥¹¥È #T35 1 ¤¹¤Ú¤Ã¤¯ ¥¹¥Ú¥Ã¥¯ #T35 45 ¤¹¤Ú¤ê¤ó¤° ¥¹¥Ú¥ê¥ó¥° #T35 2 ¤¹¤Ú¤ë ¥¹¥Ú¥ë #T35 9 ¤¹¤Ý¡¼¤Ä ¥¹¥Ý¡¼¥Ä #T30 7 ¤¹¤Ý¤Ã¤È ¥¹¥Ý¥Ã¥È #T35 2 ¤¹¤Ý¤ó¤µ ¥¹¥Ý¥ó¥µ #T35 0 ¤¹¤Ý¤ó¤µ¡¼ ¥¹¥Ý¥ó¥µ¡¼ #T35 2 ¤¹¤Þ ¿ÜËá #JCN 0 ¤¹¤Þ ºÑ¤Þ #S5 1 ¤¹¤Þ À¡¤Þ #S5r 0 ¤¹¤Þ¡¼¤È ¥¹¥Þ¡¼¥È #T35 1 ¤¹¤Þ¤¤ ½»¤Þ¤¤ #T35 1 ¤¹¤Þ¤¤ ½»¤¤ #T35 2 ¤¹¤ß ¥¹¥ß #JNM 0 ¤¹¤ß ½» #KJ 17 ¤¹¤ß À¡ #KJ 6 ¤¹¤ß ºÑ #SUC 75 ¤¹¤ß ºÑ #T35 0 ¤¹¤ß ËÏ #T35 1 ¤¹¤ß ú #T35 2 ¤¹¤ß ³Ñ #T35 6 ¤¹¤ß ¶ù #T35 8 ¤¹¤ß¤¨ À¡¹¾ #JNM 0 ¤¹¤ß¤¨ Ëϳ¨ #T35 0 ¤¹¤ß¤« À´ #KJ 0 ¤¹¤ß¤« ½»½è #T35 0 ¤¹¤ß¤«¤ï À¡Àî #JCN 0 ¤¹¤ß¤³ À¡»Ò #JNM 0 ¤¹¤ß¤³ ½»¤ß¹þ #M5r 0 ¤¹¤ß¤¹ ¥¹¥ß¥¹ #JN 0 ¤¹¤ß¤º¤ß ¶ù¡¹ #T35 0 ¤¹¤ß¤¿ ½»ÅÄ #JCN 0 ¤¹¤ß¤À ËÏÅÄ #JCN 0 ¤¹¤ß¤Ä ½»¤ßÃå #K5 0 ¤¹¤ß¤È¤â ½»Í§ #KK 11 ¤¹¤ß¤Ê¤ì ½»¤ß´·¤ì #KS 0 ¤¹¤ß¤Î¤¨ ½»Ç·¹¾ #JCN 0 ¤¹¤ß¤ä¤« ®¤ä¤« #T05 1 ¤¹¤ß¤è¤¦ ½»ÍÑ #JCN 0 ¤¹¤ß¤è¤· ½»µÈ #JCN 0 ¤¹¤à¡¼¤º ¥¹¥à¡¼¥º #T05 6 ¤¹¤á¤¢¡¼ ¥¹¥á¥¢¡¼ #T35 1 ¤¹¤á¤¿¤Ê ¥¹¥á¥¿¥Ê #JN 0 ¤¹¤â¤¦ ÁêËÐ #T35 1 ¤¹¤â¤Ã¤° ¥¹¥â¥Ã¥° #T35 0 ¤¹¤â¤È ½§ËÜ #JCN 0 ¤¹¤â¤È À´ËÜ #JCN 0 ¤¹¤â¤â Íû #T35 2 ¤¹¤â¤ó ¼éÌç #JCN 0 ¤¹¤ä¤Þ ¿Ü»³ #JNS 0 ¤¹¤é¡¼ ¥¹¥é¡¼ #T35 0 ¤¹¤é¤¤¤¹ ¥¹¥é¥¤¥¹ #T30 1 ¤¹¤é¤¤¤É ¥¹¥é¥¤¥É #T30 1 ¤¹¤é¤¹¤é ¤¹¤é¤¹¤é #F06 0 ¤¹¤é¤¹¤é ¤¹¤é¤¹¤é #T16 0 ¤¹¤é¤Ã¤·¤å ¥¹¥é¥Ã¥·¥å #T35 3 ¤¹¤é¤ê¤È ¤¹¤é¤ê¤È #F12 0 ¤¹¤ê À¢ #T35 3 ¤¹¤ê¤«¤¨ ¤¹¤êÂØ¤¨ #KSr 3 ¤¹¤ê¤­¤ì »¤¤êÀÚ¤ì #KSr 0 ¤¹¤ê¤³ »¤¤ê¹þ #M5r 0 ¤¹¤ê¤Ã¤× ¥¹¥ê¥Ã¥× #T30 1 ¤¹¤ê¤Ì¤± ¤¹¤êÈ´¤± #KSr 0 ¤¹¤ê¤Ì¤± ¤¹¤êÈ´¤± #R5r 0 ¤¹¤ê¤Ð¤Á ¤¹¤ê¤Ð¤Á #T35 1 ¤¹¤ê¤Ð¤Á ¤¹¤êÈ­ #T35 1 ¤¹¤ê¤Ð¤Á Ú§È­ #T35 1 ¤¹¤ê¤Ø ¤¹¤ê¸º #R5r 0 ¤¹¤ê¤Ø¤é ¤¹¤ê¸º¤é #S5 0 ¤¹¤ê¤à »¤¤ê¤à #K5r 0 ¤¹¤ê¤ê¤ó¤° ¥¹¥ê¥ê¥ó¥° #T05 1 ¤¹¤ê¤ë ¥¹¥ê¥ë #T35 1 ¤¹¤ë ¤¹¤ë #sxuru 255 ¤¹¤ë¡¼¤×¤Ã¤È ¥¹¥ë¡¼¥×¥Ã¥È #T35 3 ¤¹¤ë¤¬ ½Ù²Ï #JCN 0 ¤¹¤ë¤È ¤¹¤ë¤È #CJ 14 ¤¹¤ë¤É ±Ô #KY 1 ¤¹¤ë¤É¤¦ ±Ô¤¦ #KYU 1 ¤¹¤ë¤á òÈ #T35 1 ¤¹¤ì ¤¹¤ì #sxure 0 ¤¹¤ì¡¼¤Ö ¥¹¥ì¡¼¥Ö #T35 21 ¤¹¤ì¤¢ »¤¤ì¹ç #W5r 0 ¤¹¤ì¤¤¤Ö ¥¹¥ì¥¤¥Ö #T35 1 ¤¹¤ì¤¹¤ì ¤¹¤ì¤¹¤ì #T05 0 ¤¹¤ì¤Á¤¬ ¤¹¤ì°ã #W5r 4 ¤¹¤ì¤Ã¤«¤é¤· ¤¹¤ì¤Ã¤«¤é¤· #T15 0 ¤¹¤ì¤Ã¤·¤ç¤ë¤É ¥¹¥ì¥Ã¥·¥ç¥ë¥É #T35 0 ¤¹¤ì¤Ã¤É ¥¹¥ì¥Ã¥É #T35 6 ¤¹¤í¡¼¤¬¤ó ¥¹¥í¡¼¥¬¥ó #T35 1 ¤¹¤í¤Ã¤È ¥¹¥í¥Ã¥È #T35 7 ¤¹¤í¤Ã¤È¤ë ¥¹¥í¥Ã¥È¥ë #T35 2 ¤¹¤ï ¿Ûˬ #JCN 0 ¤¹¤ï ¿ø¤ï #R5 0 ¤¹¤ï ºÂ #R5r 15 ¤¹¤ï¤³ ¿Ûˬ¸Ð #CN 0 ¤¹¤ï¤Ã¤× ¥¹¥ï¥Ã¥× #T30 16 ¤¹¤ï¤ê¤³ ºÂ¤ê¹þ #M5r 1 ¤¹¤ó À£ #JS 2 ¤¹¤ó À£ #T35 2 ¤¹¤ó¤« À£²Ë #T35 0 ¤¹¤ó¤· À£»Ö #T35 0 ¤¹¤ó¤¸ À£»þ #T35 0 ¤¹¤ó¤¼¤ó À£Á° #T35 3 ¤¹¤ó¤À¤¤ ½ÙÂæ #JCN 0 ¤¹¤ó¤À¤ó À£ÃÇ #T30 0 ¤¹¤ó¤Æ¤Ä À£Å´ #T35 0 ¤¹¤ó¤È¤¦ ½ÙÅì #CN 0 ¤¹¤ó¤Ê¤ê ¤¹¤ó¤Ê¤ê #F04 0 ¤¹¤ó¤Ê¤ê ¤¹¤ó¤Ê¤ê #T36 0 ¤¹¤ó¤Ö¤ó À£Ê¬ #T35 0 ¤¹¤ó¤Ý¤¦ À£Ë¡ #T35 2 ¤¹¤ó¤ï À£Ïà #T35 0 ¤º ¿ß #KJ 0 ¤º ¿à #KJ 0 ¤º Ʀ #KJ 0 ¤º ¿Þ #SUC 13 ¤º Ƭ #T35 1 ¤º ¿Þ #T35 157 ¤º¡¼¤à ¥º¡¼¥à #T30 1 ¤º¤¢¤ó ¿Þ°Æ #T35 1 ¤º¤¤ ¼É #KJ 0 ¤º¤¤ ¿ð #KJ 1 ¤º¤¤ ¿ñ #T35 0 ¤º¤¤ ¿ï #T35 2 ¤º¤¤¤¤ ¿ï°Õ #T05 1 ¤º¤¤¤¤¤Á ¿ï°ì #T15 0 ¤º¤¤¤¤¤ó ¿ï°÷ #T35 0 ¤º¤¤¤³¤¦ ¿ï¹Ô #T30 0 ¤º¤¤¤·¤ç ¿ï½ê #T35 1 ¤º¤¤¤¸ ¿ï»þ #T35 3 ¤º¤¤¤½¤¦ ¿ïÁÛ #T30 0 ¤º¤¤¤Ï¤ó ¿ïȼ #T30 1 ¤º¤¤¤Ò¤Ä ¿ïÉ® #T35 1 ¤º¤¤¤Ö¤ó ¿ïʬ #F06 14 ¤º¤¤¤Ö¤ó ¤º¤¤¤Ö¤ó #F06 77 ¤º¤¤¤Ö¤ó ¤º¤¤¤Ö¤ó #T05 74 ¤º¤¤¤Ö¤ó ¿ïʬ #T05 8 ¤º¤¦¤º¤¦¤· ¿Þ¡¹¤· #KY 2 ¤º¤¦¤º¤¦¤·¤å¤¦ ¿Þ¡¹¤·¤å¤¦ #KYU 1 ¤º¤«¤¤ ¿Þ²ò #T30 0 ¤º¤«¤ó ¿Þ´Õ #T35 0 ¤º¤¬ ¿Þ²è #T35 2 ¤º¤¬¤¤¤³¤Ä Ƭ³¸¹ü #T35 1 ¤º¤¬¤é ¿ÞÊÁ #T35 1 ¤º¤­ ¹¥¤­ #N2T16 4 ¤º¤¯ ¤º¤¯ #SUC 2 ¤º¤¯¤á ¤º¤¯¤á #N2T16 1 ¤º¤±¤¤ ¿Þ·Á #T35 154 ¤º¤³¤¦ ¿Þ¹© #T35 0 ¤º¤· ¿à»Ò #CN 0 ¤º¤· ¿Þ¼¨ #T30 1 ¤º¤· ¼÷»Ê #T35 0 ¤º¤· ¿à»Ò #T35 4 ¤º¤·¤­ ¿Þ¼° #T35 2 ¤º¤·¤ê¤È ¤º¤·¤ê¤È #F12 0 ¤º¤¸¤ç¤¦ Ƭ¾å #T35 0 ¤º¤¸¤ç¤¦ ¿Þ¾å #T35 2 ¤º¤Ã¤­¡¼¤Ë ¥º¥Ã¥­¡¼¥Ë #T35 1 ¤º¤Ã¤·¤ê ¤º¤Ã¤·¤ê #F04 2 ¤º¤Ã¤·¤ê ¤º¤Ã¤·¤ê #T16 0 ¤º¤Ã¤È ¤º¤Ã¤È #F14 22 ¤º¤Ã¤È ¤º¤Ã¤È #T36 0 ¤º¤Ä¤¦ ƬÄË #T35 2 ¤º¤Î¤¦ ƬǾ #T35 1 ¤º¤Ð¤Ì¤± ¤º¤ÐÈ´¤± #KS 0 ¤º¤Ð¤ê ¤º¤Ð¤ê #F04 1 ¤º¤Ð¤ê ¤º¤Ð¤ê #T36 0 ¤º¤Ò¤ç¤¦ ¿Þɽ #T35 3 ¤º¤Õ ¿ÞÉè #T35 0 ¤º¤Û¤¦ ¿ÞË¡ #T35 0 ¤º¤Ü¤· ¿ÞÀ± #T15 0 ¤º¤Ü¤é ¤º¤Ü¤é #T05 0 ¤º¤Ü¤ó ¥º¥Ü¥ó #T35 2 ¤º¤Þ¤¤ ½»¤¤ #SUC 0 ¤º¤ß ºÑ¤ß #SUC 0 ¤º¤ß ½»¤ß #SUC 7 ¤º¤ß ºÑ #T35 0 ¤º¤ß ºÑ¤ß #T35 0 ¤º¤á¤ó ¿ÞÌÌ #T35 7 ¤º¤é ¤º¤é #S5r 6 ¤º¤é¤ê¤È ¤º¤é¤ê¤È #F14 1 ¤º¤ë ¤º¤ë #KY 3 ¤º¤ë¤¦ ¤º¤ë¤¦ #KYU 1 ¤º¤ë¤¬¤·¤³ ¤º¤ë¸­ #KY 0 ¤º¤ë¤º¤ë ¤º¤ë¤º¤ë #F04 3 ¤º¤ë¤º¤ë ¤º¤ë¤º¤ë #T16 0 ¤º¤ì ¤º¤ì #KSr 7 ¤º¤ì¤³ ¤º¤ì¹þ #M5r 0 ¤º¤í¤¯ ¿ÞÏ¿ #T35 0 ¤º¤ó¤°¤ê ¤º¤ó¤°¤ê #F04 0 ¤º¤ó¤°¤ê ¤º¤ó¤°¤ê #T16 0 ¤» À¦ #JS 25 ¤» »Ü #KJ 0 ¤» À¦ #KJ 0 ¤» ÀÔ #KJ 0 ¤» À¤ #KJ 1 ¤» ¶¥ #R5r 7 ¤» À¥ #T35 17 ¤» ÇØ #T35 22 ¤» ¤» #sxe 4 ¤»¡¼¤¿¡¼ ¥»¡¼¥¿¡¼ #T35 0 ¤»¡¼¤Õ ¥»¡¼¥Õ #T30 0 ¤»¡¼¤Ö ¥»¡¼¥Ö #T30 16 ¤»¡¼¤ë ¥»¡¼¥ë #T30 1 ¤»¡¼¤ë¤¹ ¥»¡¼¥ë¥¹ #T30 3 ¤»¤¤ À½ #CNSUC1 31 ¤»¤¤ À¤ #JS 0 ¤»¤¤ °æ #KJ 0 ¤»¤¤ ±ù #KJ 0 ¤»¤¤ ºÐ #KJ 0 ¤»¤¤ ºÔ #KJ 0 ¤»¤¤ »¬ #KJ 0 ¤»¤¤ ¾à #KJ 0 ¤»¤¤ À¤ #KJ 0 ¤»¤¤ À¨ #KJ 0 ¤»¤¤ À³ #KJ 0 ¤»¤¤ À´ #KJ 0 ¤»¤¤ À· #KJ 0 ¤»¤¤ À¼ #KJ 0 ¤»¤¤ ÀÀ #KJ 0 ¤»¤¤ ÀÁ #KJ 0 ¤»¤¤ À #KJ 0 ¤»¤¤ Àà #KJ 0 ¤»¤¤ ÆÔ #KJ 0 ¤»¤¤ Ì» #KJ 0 ¤»¤¤ ¾Ê #KJ 1 ¤»¤¤ Àª #KJ 1 ¤»¤¤ À° #KJ 1 ¤»¤¤ À² #KJ 1 ¤»¤¤ À¹ #KJ 1 ¤»¤¤ À¿ #KJ 1 ¤»¤¤ ÀÄ #KJ 1 ¤»¤¤ ÀÅ #KJ 1 ¤»¤¤ ÀÆ #KJ 1 ¤»¤¤ À¯ #KJ 2 ¤»¤¤ À± #KJ 2 ¤»¤¤ À¾ #KJ 3 ¤»¤¤ Ì÷ #KJ 3 ¤»¤¤ À» #KJ 4 ¤»¤¤ À¶ #KJ 5 ¤»¤¤ À® #KJ 9 ¤»¤¤ Àµ #PRE 0 ¤»¤¤ À© #S5 3 ¤»¤¤ À© #SUC 0 ¤»¤¤ À­ #SUC 0 ¤»¤¤ À± #SUC 0 ¤»¤¤ À¬ #T30 1 ¤»¤¤ À© #T30 3 ¤»¤¤ À½ #T35 0 ¤»¤¤ À­ #T35 108 ¤»¤¤ Àº #T35 13 ¤»¤¤ Àµ #T35 15 ¤»¤¤ ½ê°Ù #T35 4 ¤»¤¤ À« #T35 6 ¤»¤¤ ¤»¤¤ #T35 71 ¤»¤¤ À¸ #T35 88 ¤»¤¤¤¢¤Ä À©°µ #T30 0 ¤»¤¤¤¢¤ó À¾°Â #CN 0 ¤»¤¤¤¢¤ó À®°Æ #T35 0 ¤»¤¤¤¤ À¿°Õ #T35 2 ¤»¤¤¤¤¤¯ À®°é #T30 0 ¤»¤¤¤¤¤¯ À¸°é #T30 0 ¤»¤¤¤¤¤Á À¶°ì #JNM 0 ¤»¤¤¤¤¤Á Àº°ì #JNM 0 ¤»¤¤¤¤¤Á À¿°ì #JNM 0 ¤»¤¤¤¤¤Á¤í¤¦ À¶°ìϺ #JNM 0 ¤»¤¤¤¤¤Á¤í¤¦ À¿°ìϺ #JNM 0 ¤»¤¤¤¤¤Ã¤Ñ¤¤ Àº¤¤¤Ã¤Ñ¤¤ #T35 1 ¤»¤¤¤¤¤Ä Àưì #T05 0 ¤»¤¤¤¤¤ó À®°ø #T35 0 ¤»¤¤¤¤¤ó Àµ°÷ #T35 0 ¤»¤¤¤¤¤ó À®°÷ #T35 1 ¤»¤¤¤¦¤ó À±±À #T35 0 ¤»¤¤¤¦¤ó À¹±¿ #T35 0 ¤»¤¤¤¦¤ó ÀıÀ #T35 0 ¤»¤¤¤¨¤¤ Àº±Ô #T35 1 ¤»¤¤¤¨¤¤ À¶±É #T35 2 ¤»¤¤¤¨¤­ Àº±Õ #T35 0 ¤»¤¤¤¨¤ó À½±ö #T30 0 ¤»¤¤¤¨¤ó À¼±ç #T30 1 ¤»¤¤¤ª¤¦ À¾²¤ #CN 0 ¤»¤¤¤ª¤ó ÀŲº #T05 0 ¤»¤¤¤« Àº²Ú #JCN 0 ¤»¤¤¤« Àµ²Á #T35 0 ¤»¤¤¤« Àµ²Ý #T35 0 ¤»¤¤¤« À¸²È #T35 0 ¤»¤¤¤« À¸²Ö #T35 0 ¤»¤¤¤« À¹²Æ #T35 0 ¤»¤¤¤« À½²Û #T35 0 ¤»¤¤¤« ÀÄ²Ì #T35 0 ¤»¤¤¤« À»²Ð #T35 1 ¤»¤¤¤« À®²Ì #T35 28 ¤»¤¤¤«¤¤ Àº²ò #T30 0 ¤»¤¤¤«¤¤ Àµ²ò #T30 15 ¤»¤¤¤«¤¤ À¹²ñ #T35 0 ¤»¤¤¤«¤¤ À¯³¦ #T35 1 ¤»¤¤¤«¤¯ Àµ³Î #T05 99 ¤»¤¤¤«¤¯ À­³Ê #T35 79 ¤»¤¤¤«¤Ä À¸³è #T30 21 ¤»¤¤¤«¤Ä¤«¤ó À¸³è´Ä #T35 1 ¤»¤¤¤«¤ó ÀÄÈ¡ #CN 0 ¤»¤¤¤«¤ó Àº×û #T05 0 ¤»¤¤¤«¤ó À¸´Ô #T30 1 ¤»¤¤¤«¤ó ÀÅ´Ñ #T30 1 ¤»¤¤¤«¤ó Àº´É #T35 1 ¤»¤¤¤¬¤¤¤Ï Àij¤ÇÈ #KK 1 ¤»¤¤¤¬¤¯ À¼³Ú #T35 4 ¤»¤¤¤¬¤ó ÀÁ´ê #T30 0 ¤»¤¤¤­ À¸µ¯ #JNS 0 ¤»¤¤¤­ À¤µª #JS 9 ¤»¤¤¤­ Àµµ¬ #T05 67 ¤»¤¤¤­ À¤µª #T35 0 ¤»¤¤¤­ À¸µ¤ #T35 0 ¤»¤¤¤­ Àºµ¡ #T35 0 ¤»¤¤¤­ Àºµ¤ #T35 0 ¤»¤¤¤­ À­´ï #T35 1 ¤»¤¤¤­¤Á À¶µÈ #JNM 0 ¤»¤¤¤­¤Þ¤Ä À¤µªËö #T35 0 ¤»¤¤¤­¤å¤¦ À­µÞ #T05 2 ¤»¤¤¤­¤å¤¦ ÀÁµá #T30 36 ¤»¤¤¤­¤ç Àµî #T30 1 ¤»¤¤¤­¤ç À¹µó #T35 0 ¤»¤¤¤­¤ç¤¦ À¹¶· #T05 2 ¤»¤¤¤­¤ç¤¦ À¸¶¨ #T35 8 ¤»¤¤¤­¤ç¤¯ À¯¶É #T35 0 ¤»¤¤¤­¤ó Àº¶Ð #T30 0 ¤»¤¤¤® ÀµµÁ #T35 1 ¤»¤¤¤®¤ç À©¸æ #T30 255 ¤»¤¤¤®¤ç¤¦ À®¶È #T30 6 ¤»¤¤¤®¤ç¤¦ À¹¶È #T35 0 ¤»¤¤¤¯¤¦ À©¶õ #T30 0 ¤»¤¤¤°¤ó À¾·³ #T35 0 ¤»¤¤¤±¤¤ À®ìþ #KK 0 ¤»¤¤¤±¤¤ À®·Á #T30 1 ¤»¤¤¤±¤¤ À°·Á #T30 16 ¤»¤¤¤±¤¤ À¸·× #T35 1 ¤»¤¤¤±¤Ä À¶·é #T05 1 ¤»¤¤¤±¤ó À¸¸¦ #JNS 0 ¤»¤¤¤±¤ó À¯¸« #T35 0 ¤»¤¤¤±¤ó À¯¸¢ #T35 25 ¤»¤¤¤²¤ó À©¸Â #T30 112 ¤»¤¤¤²¤ó Àµ¸¹ #T35 0 ¤»¤¤¤³ À»»Ò #JNM 0 ¤»¤¤¤³¡¼ ¥»¥¤¥³¡¼ #KK 19 ¤»¤¤¤³¤¦ À±¸÷ #KK 6 ¤»¤¤¤³¤¦ À¸¹Å #T05 0 ¤»¤¤¤³¤¦ Àº¹ª #T05 0 ¤»¤¤¤³¤¦ À­¸ò #T30 0 ¤»¤¤¤³¤¦ À½¹Ý #T30 0 ¤»¤¤¤³¤¦ À®¸ù #T30 69 ¤»¤¤¤³¤¦ Àº¹Ý #T35 0 ¤»¤¤¤³¤¦¤¦¤É¤¯ À²¹Ì±«ÆÉ #T35 2 ¤»¤¤¤³¤¦¤Û¤¦ Àµ¹¶Ë¡ #T35 0 ¤»¤¤¤³¤¯ Àµ¹ô #T35 0 ¤»¤¤¤³¤Ä À°¹ü #T35 0 ¤»¤¤¤³¤ó À®º§ #T30 0 ¤»¤¤¤³¤ó Àºº² #T35 0 ¤»¤¤¤´ À¶¸ã #JNM 0 ¤»¤¤¤´ Àµ¸í #T30 40 ¤»¤¤¤´ À¸¸å #T35 2 ¤»¤¤¤´¤¦ À°¹ç #T30 18 ¤»¤¤¤´¤¯ À¸¹ñ #T35 0 ¤»¤¤¤µ Àººº #T30 4 ¤»¤¤¤µ À­º¹ #T35 2 ¤»¤¤¤µ¤¤ ÀººÙ #T05 1 ¤»¤¤¤µ¤¤ À©ºÛ #T30 2 ¤»¤¤¤µ¤¤ ÀµºÊ #T35 2 ¤»¤¤¤µ¤¯ À¶ºî #JNM 0 ¤»¤¤¤µ¤¯ À©ºî #T30 1 ¤»¤¤¤µ¤¯ À½ºî #T30 17 ¤»¤¤¤µ¤¯ À¯ºö #T35 1 ¤»¤¤¤µ¤ó À¨»´ #T05 0 ¤»¤¤¤µ¤ó Àº»» #T30 1 ¤»¤¤¤µ¤ó À¶»» #T30 12 ¤»¤¤¤µ¤ó À¸»º #T30 51 ¤»¤¤¤µ¤ó À®»» #T35 0 ¤»¤¤¤µ¤ó Àµ»Á #T35 0 ¤»¤¤¤µ¤ó¤À¤« À¸»º¹â #T35 1 ¤»¤¤¤µ¤ó¤Á À¸»ºÃÏ #T35 0 ¤»¤¤¤¶ ÀµºÂ #T30 0 ¤»¤¤¤¶ À±ºÂ #T35 1 ¤»¤¤¤¶¤¤ À½ºà #T30 1 ¤»¤¤¤¶¤¤¤«¤¤ À¯ºâ³¦ #T35 0 ¤»¤¤¤¶¤Ö¤í¤¦ À¶»°Ïº #JNM 0 ¤»¤¤¤· À©»ß #T30 0 ¤»¤¤¤· ÀÅ»ß #T30 2 ¤»¤¤¤· Àµ»ë #T30 4 ¤»¤¤¤· À¸»à #T35 0 ¤»¤¤¤· Àº»Ò #T35 0 ¤»¤¤¤· À½»æ #T35 0 ¤»¤¤¤·¤­ Àµ¼° #T05 70 ¤»¤¤¤·¤Ä À­¼Á #T35 23 ¤»¤¤¤·¤ã¤¤¤ó Àµ¼Ò°÷ #T35 0 ¤»¤¤¤·¤ã¤¯ Àµ¼á #T35 0 ¤»¤¤¤·¤å À¶¼ò #T35 0 ¤»¤¤¤·¤å¤ó ÀÄ½Õ #T35 1 ¤»¤¤¤·¤ç À¶½ñ #T30 22 ¤»¤¤¤·¤ç À»½ñ #T35 2 ¤»¤¤¤·¤ç¤¦ Àƾ§ #T30 1 ¤»¤¤¤·¤ç¤¦ À¶¾¡ #T35 0 ¤»¤¤¤·¤ç¤¦ À¶¾Í #T35 0 ¤»¤¤¤·¤ç¤¦ ÀºÞù #T35 1 ¤»¤¤¤·¤ç¤¦¤Ê¤´¤ó À¶¾¯Ç¼¸À #JNS 0 ¤»¤¤¤·¤ç¤¦¤Í¤ó Àľ¯Ç¯ #T35 1 ¤»¤¤¤·¤ç¤¯ À¸¿£ #T30 1 ¤»¤¤¤·¤ç¤¯ À¸¿§ #T35 0 ¤»¤¤¤·¤ç¤¯ À¸¿© #T35 1 ¤»¤¤¤·¤ç¤Û¤¦ Àµ½ñË¡ #T35 0 ¤»¤¤¤·¤ó À»¿´ #JNM 0 ¤»¤¤¤·¤ó À±Ã¤ #T35 0 ¤»¤¤¤·¤ó À¿¿´ #T35 1 ¤»¤¤¤·¤ó Àº¿À #T35 14 ¤»¤¤¤·¤ó¤« Àº¿À²Ê #T35 0 ¤»¤¤¤¸ À¶»Ê #JNM 0 ¤»¤¤¤¸ À¶¼¡ #JNM 0 ¤»¤¤¤¸ À¶¼£ #JNM 0 ¤»¤¤¤¸ À¶Æó #JNM 0 ¤»¤¤¤¸ À¿»Ê #JNM 0 ¤»¤¤¤¸ À¿¼£ #JNM 0 ¤»¤¤¤¸ À¿Æó #JNM 0 ¤»¤¤¤¸ Àļ§ #T35 0 ¤»¤¤¤¸ À¯¼£ #T35 8 ¤»¤¤¤¸¤« À¯¼£²È #T35 1 ¤»¤¤¤¸¤Ä À¿¼Â #T05 1 ¤»¤¤¤¸¤ã Àµ¼Ù #T35 0 ¤»¤¤¤¸¤ã À»¼Ô #T35 0 ¤»¤¤¤¸¤ã¤¯ Àżä #T05 0 ¤»¤¤¤¸¤å¤¯ À®½Ï #T30 2 ¤»¤¤¤¸¤å¤ó À¶½ã #T05 1 ¤»¤¤¤¸¤ç À°½ü #T30 0 ¤»¤¤¤¸¤ç¤¦ À®¾ë #CN 0 ¤»¤¤¤¸¤ç¤¦ À¶¾ô #T05 1 ¤»¤¤¤¸¤ç¤¦ Àµ¾ï #T05 116 ¤»¤¤¤¸¤ç¤¦ À­¾õ #T35 1 ¤»¤¤¤¸¤ç¤¦ À¯¾ð #T35 1 ¤»¤¤¤¸¤ç¤¦¤¿¤¤ À±¾õÂÎ #T35 1 ¤»¤¤¤¸¤í¤¦ À¶¼¡Ïº #JNM 0 ¤»¤¤¤¸¤ó À»¿Í #T35 0 ¤»¤¤¤¸¤ó À®¿Í #T30 1 ¤»¤¤¤¹¤¤ À¹¿ê #T30 0 ¤»¤¤¤¹¤¤ À»¿å #T35 1 ¤»¤¤¤¹¤¦ Àµ¿ô #T35 1 ¤»¤¤¤¹¤¦ À°¿ô #T35 35 ¤»¤¤¤¹¤± À¶½õ #JNM 0 ¤»¤¤¤º À½¿Þ #T30 0 ¤»¤¤¤º À±¿Þ #T35 1 ¤»¤¤¤»¤¤ ¤»¤¤¤»¤¤ #F12 0 ¤»¤¤¤»¤¤ À¶¡¹ #T30 0 ¤»¤¤¤»¤¤ ÀºÀ½ #T30 0 ¤»¤¤¤»¤¤ À¸À® #T30 213 ¤»¤¤¤»¤¤¤É¤¦¤É¤¦ Àµ¡¹Æ²¡¹ #F00 0 ¤»¤¤¤»¤­ À®ÀÓ #T35 3 ¤»¤¤¤»¤Ä ÀµÀÜ #T35 0 ¤»¤¤¤»¤ó À¸Á¯ #T05 0 ¤»¤¤¤»¤ó ÀºÁª #T30 0 ¤»¤¤¤»¤ó À­Á£ #T35 1 ¤»¤¤¤¼¤¤ ¤»¤¤¤¼¤¤ #F14 4 ¤»¤¤¤¼¤¤ ¤»¤¤¤¼¤¤ #T36 0 ¤»¤¤¤¼¤ó À°Á³ #F00 1 ¤»¤¤¤¼¤ó À¸Á° #T35 0 ¤»¤¤¤½ À¶Á¿ #T05 1 ¤»¤¤¤½ À°Áà #T05 7 ¤»¤¤¤½¤¦ À¹Áõ #T30 0 ¤»¤¤¤½¤¦ ÀµÁõ #T30 1 ¤»¤¤¤½¤¦ À¶ÁÝ #T30 2 ¤»¤¤¤½¤¦ ÀºÁã #T35 1 ¤»¤¤¤½¤¦ À¯Áè #T35 3 ¤»¤¤¤½¤¦¤±¤ó À®ÁØ·÷ #T35 0 ¤»¤¤¤½¤¯ ÀµÂ§ #T05 1 ¤»¤¤¤½¤¯ À³Â© #T30 1 ¤»¤¤¤½¤¯ À¸Â© #T30 2 ¤»¤¤¤¾¤¦ À¶»° #JNM 0 ¤»¤¤¤¾¤¦ À¶Â¢ #JNM 0 ¤»¤¤¤¾¤¦ ÀÀ»° #JNM 0 ¤»¤¤¤¾¤¦ À½Â¤ #T30 22 ¤»¤¤¤¾¤í¤¤ Àª¤¾¤í¤¤ #T30 0 ¤»¤¤¤¾¤ó À¸Â¸ #T30 1 ¤»¤¤¤¿¤¤ À¸ÂÖ #T35 0 ¤»¤¤¤¿¤¤ À¼ÂÓ #T35 0 ¤»¤¤¤¿¤¤ À®ÂÎ #T35 1 ¤»¤¤¤¿¤¤ À¸ÂÎ #T35 2 ¤»¤¤¤¿¤¤¤´¤¦ À¾ÂÀ¹¡ #JN 0 ¤»¤¤¤¿¤«¤¯¤±¤¤ ÀµÂ¿³Ñ·Á #T35 1 ¤»¤¤¤¿¤«¤¯¤Á¤å¤¦ ÀµÂ¿³ÑÃì #T35 1 ¤»¤¤¤¿¤í¤¦ À¶ÂÀϺ #JNM 0 ¤»¤¤¤À¤¤ À¹Âç #T05 0 ¤»¤¤¤À¤ó À¾Ã¸ #CN 0 ¤»¤¤¤Á ÀºåÌ #T05 1 ¤»¤¤¤Á À°ÃÏ #T30 0 ¤»¤¤¤Á ÀÅÃÖ #T30 1 ¤»¤¤¤Á À¸ÃÏ #T35 1 ¤»¤¤¤Á À»ÃÏ #T35 1 ¤»¤¤¤Á¤ã À½Ãã #T35 0 ¤»¤¤¤Á¤å¤¦ À®Ãî #T35 2 ¤»¤¤¤Á¤ç¤¦ À¶À¡ #T05 0 ¤»¤¤¤Á¤ç¤¦ À¸Ä¹ #T30 0 ¤»¤¤¤Á¤ç¤¦ ÀÅİ #T30 0 ¤»¤¤¤Á¤ç¤¦ À®Ä¹ #T30 8 ¤»¤¤¤Á¤ç¤¦ À°Ä´ #T35 0 ¤»¤¤¤Á¤ç¤¦ ÀµÄ´ #T35 0 ¤»¤¤¤Ä¤¦ ÀºÄÌ #T30 1 ¤»¤¤¤Æ¤¤ À©Äê #T30 3 ¤»¤¤¤Æ¤­ À­Åª #T05 1 ¤»¤¤¤Æ¤­ ÀÅŪ #T05 25 ¤»¤¤¤Æ¤Ä À½Å´ #T30 1 ¤»¤¤¤Æ¤ó À¹Åµ #T35 0 ¤»¤¤¤Æ¤ó À²Å· #T35 38 ¤»¤¤¤Ç¤ó¤­ ÀÅÅŵ¤ #T35 1 ¤»¤¤¤È À®ÅÔ #CN 0 ¤»¤¤¤È À¸ÅÌ #T35 14 ¤»¤¤¤È¤¦ ÀµÅö #T05 17 ¤»¤¤¤È¤¦ ÀµÅú #T30 0 ¤»¤¤¤È¤¦ À½Åü #T30 0 ¤»¤¤¤È¤¦ À¯ÅÞ #T35 1 ¤»¤¤¤È¤¦ ÀµÅý #T35 1 ¤»¤¤¤È¤ó À°ÆÜ #T30 2 ¤»¤¤¤É ÀºÅÙ #T35 13 ¤»¤¤¤É À©ÅÙ #T35 23 ¤»¤¤¤É¤¦ À©Æ° #T30 0 ¤»¤¤¤É¤¦ À»Æ² #T35 0 ¤»¤¤¤É¤¦ ÀÄÆ¼ #T35 0 ¤»¤¤¤É¤¦¤­ ÀÄÆ¼´ï #T35 0 ¤»¤¤¤É¤¯ ÀºÆÉ #T30 0 ¤»¤¤¤Ê¤¤¤¸ À¶ÆâÏ© #CN 0 ¤»¤¤¤Ê¤ë À»¤Ê¤ë #RT 0 ¤»¤¤¤Ë¤¯ ÀºÆù #T35 0 ¤»¤¤¤Í¤ó À®Ç¯ #T35 0 ¤»¤¤¤Í¤ó ÀÄǯ #T35 2 ¤»¤¤¤Í¤ó¤¬¤Ã¤Ô À¸Ç¯·îÆü #T35 2 ¤»¤¤¤Î À¶Ìî #JNS 0 ¤»¤¤¤Î¤¦ À­Ç½ #T35 75 ¤»¤¤¤Ï À©ÇÆ #T30 2 ¤»¤¤¤Ï¤¯ ÀºÇò #T30 0 ¤»¤¤¤Ï¤Ä À°È± #T30 0 ¤»¤¤¤Ï¤Ä¤ê¤ç¤¦ À°È±ÎÁ #T35 0 ¤»¤¤¤Ï¤ó À½ÈÇ #T30 0 ¤»¤¤¤Ï¤ó¤¿¤¤ ÀµÈ¿ÂÐ #T05 1 ¤»¤¤¤Ð¤¤ À®ÇÔ #T30 0 ¤»¤¤¤Ð¤Ä À¬È² #T30 0 ¤»¤¤¤Ò À¾Èà #JCN 0 ¤»¤¤¤Ò À­Èæ #T35 1 ¤»¤¤¤Ò À®ÈÝ #T35 2 ¤»¤¤¤Ò ÀµÈÝ #T35 2 ¤»¤¤¤Ò¤Ä ÀÅëí #T05 0 ¤»¤¤¤Ò¤ç¤¦ À½É¹ #T30 0 ¤»¤¤¤Ò¤ó À¶ÉÏ #T05 0 ¤»¤¤¤Ò¤ó À½ÉÊ #T35 157 ¤»¤¤¤Ó À°È÷ #T30 33 ¤»¤¤¤Õ ÀµÉé #T35 0 ¤»¤¤¤Õ À¯ÉÜ #T35 16 ¤»¤¤¤Õ¤¦ À¶É÷ #JNS 0 ¤»¤¤¤Õ¤¯ À¬Éþ #T30 0 ¤»¤¤¤Õ¤¯ À©Éþ #T35 1 ¤»¤¤¤Õ¤ó À½Ê´ #T30 0 ¤»¤¤¤Ö À¼Éô #T35 0 ¤»¤¤¤Ö À¾Éô #T35 2 ¤»¤¤¤Ö À¾Éð #T35 5 ¤»¤¤¤Ö¤Ä ÀÅʪ #T35 0 ¤»¤¤¤Ö¤Ä À¸Êª #T35 4 ¤»¤¤¤Ö¤ó À®Ê¬ #T35 0 ¤»¤¤¤Ø¤­ À­ÊÊ #T35 0 ¤»¤¤¤Ù¤Ä À­ÊÌ #T35 2 ¤»¤¤¤Û¤¦ ÀµÊý #T35 0 ¤»¤¤¤Û¤¦ À½Ë¡ #T35 0 ¤»¤¤¤Û¤¦ À¾Êý #T35 0 ¤»¤¤¤Û¤¦¤±¤¤ ÀµÊý·Á #T35 3 ¤»¤¤¤Û¤ó À½ËÜ #T30 4 ¤»¤¤¤Ü ºÐÊë #T35 0 ¤»¤¤¤Ü À¸Êì #T35 0 ¤»¤¤¤Ü¤¦ À©Ë¹ #T35 0 ¤»¤¤¤Ü¤¦ À¼Ë¾ #T35 0 ¤»¤¤¤Þ¤¤ ÀºÊÆ #T30 0 ¤»¤¤¤ß¤Ä ÀºÌ© #T05 2 ¤»¤¤¤á¤¤ À¶ÌÀ #T30 0 ¤»¤¤¤á¤¤ À¼ÌÀ #T30 1 ¤»¤¤¤á¤¤ À«Ì¾ #T35 10 ¤»¤¤¤á¤¤ À¸Ì¿ #T35 2 ¤»¤¤¤á¤ó À½ÌÍ #T30 0 ¤»¤¤¤â¤ó ÀµÌç #T35 2 ¤»¤¤¤ä¤¯ À®Ìó #T30 0 ¤»¤¤¤ä¤¯ ÀÀÌó #T30 0 ¤»¤¤¤ä¤¯ À©Ìó #T30 36 ¤»¤¤¤ä¤¯ À½Ìô #T35 0 ¤»¤¤¤æ À½Ìý #T35 0 ¤»¤¤¤æ¤¦ À¼Í¥ #T35 1 ¤»¤¤¤è¤¦ ÀÅÍÜ #T30 1 ¤»¤¤¤è¤¯ À­Íß #T35 8 ¤»¤¤¤é¤¤ À¸Íè #T35 1 ¤»¤¤¤ê À°Íý #T30 43 ¤»¤¤¤ê À¸Íý #T35 2 ¤»¤¤¤ê¤Ä À®Î© #T30 17 ¤»¤¤¤ê¤ã¤¯ À¯Î¬ #T35 0 ¤»¤¤¤ê¤å¤¦ À¶Î® #T35 0 ¤»¤¤¤ê¤ç¤¦ ÀÄζ #KK 0 ¤»¤¤¤ê¤ç¤¦ À¶Îà #T05 1 ¤»¤¤¤ê¤ç¤¦ À¼ÎÌ #T35 0 ¤»¤¤¤ê¤ç¤¯ ÀºÎÏ #T35 1 ¤»¤¤¤ê¤ç¤¯ ÀªÎÏ #T35 2 ¤»¤¤¤ì¤¤ ÀºÎå #T30 0 ¤»¤¤¤ì¤¤ À¯Îá #T35 0 ¤»¤¤¤ì¤¤ ÀºÎî #T35 1 ¤»¤¤¤ì¤­ À¾Îñ #T35 2 ¤»¤¤¤ì¤Ä À°Îó #T30 3 ¤»¤¤¤ì¤ó À¶Î÷ #T05 0 ¤»¤¤¤ì¤ó ÀºÏ£ #T30 1 ¤»¤¤¤í ¾øÏ¶ #T35 0 ¤»¤¤¤í¤¦ À»Ï¶ #CN 0 ¤»¤¤¤í¤ó ÀµÏÀ #T35 2 ¤»¤¤¤ï ÀªÏ #CN 0 ¤»¤¤¤ï À¶Ï #CN 0 ¤»¤ª À¥Èø #JNS 0 ¤»¤ª ÇØÉé #W5 2 ¤»¤ª¤ê¡¼ ¥»¥ª¥ê¡¼ #T35 1 ¤»¤« µÞ¤« #S5 0 ¤»¤«¤¤ À¤³¦ #T35 71 ¤»¤«¤»¤« ¤»¤«¤»¤« #F04 0 ¤»¤«¤»¤« ¤»¤«¤»¤« #T16 0 ¤»¤«¤ó¤É ¥»¥«¥ó¥É #T35 0 ¤»¤¬¤ï À¥²Ï #JNS 0 ¤»¤¬¤ï À¥Àî #JNS 0 ¤»¤­ ´Ø #JCN 0 ¤»¤­ ÀÉ #JS 0 ¤»¤­ °Ò #KJ 0 ¤»¤­ ÀË #KJ 0 ¤»¤­ ÀÌ #KJ 0 ¤»¤­ ÀÍ #KJ 0 ¤»¤­ ÀÎ #KJ 0 ¤»¤­ ÀÏ #KJ 0 ¤»¤­ ÀÓ #KJ 0 ¤»¤­ ÀÔ #KJ 0 ¤»¤­ À× #KJ 0 ¤»¤­ ÀÙ #KJ 0 ¤»¤­ ͼ #KJ 0 ¤»¤­ ÀØ #KJ 1 ¤»¤­ ÀÖ #KJ 2 ¤»¤­ ÀÐ #KJ 3 ¤»¤­ ÀÕ #KJ 3 ¤»¤­ ¼ä #T35 0 ¤»¤­ ÀÉ #T35 0 ¤»¤­ ±á #T35 1 ¤»¤­ ÀÕ #T35 1 ¤»¤­ ÀÑ #T35 16 ¤»¤­ ÀÒ #T35 2 ¤»¤­ ³± #T35 3 ¤»¤­ ´Ø #T35 4 ¤»¤­ ÀÊ #T35 75 ¤»¤­¤« Àв½ #T30 0 ¤»¤­¤«¤ï ´ØÀî #JCN 0 ¤»¤­¤¬¤¤¤»¤ó ÀÖ³°Àþ #T35 1 ¤»¤­¤¬¤¯ ÀÙ³Ø #T35 0 ¤»¤­¤¬¤Í ´Ø¶â #JCN 0 ¤»¤­¤¬¤Ï¤é ´Ø¥ö¸¶ #CN 0 ¤»¤­¤¬¤ï ´ØÀî #JNS 0 ¤»¤­¤°¤Á ´Ø¸ý #JCN 0 ¤»¤­¤³¤¦ Àѹà #T35 1 ¤»¤­¤µ¤¤ ÀÑºÜ #T30 0 ¤»¤­¤µ¤¯ ÀÔº÷ #T35 0 ¤»¤­¤µ¤ó ÀÑ»» #T30 2 ¤»¤­¤¶¤¤ Àкà #T35 1 ¤»¤­¤·¤å¤Ä ÀϽР#T30 0 ¤»¤­¤·¤ç¤¯ ÀÖ¿§ #T05 1 ¤»¤­¤¸¤å¤¦¤¸ ÀÖ½½»ú #T35 0 ¤»¤­¤¸¤ç¤¦ ´Ø¾ë #JCN 0 ¤»¤­¤¸¤ç¤¦ ´Ø¾å #JNS 0 ¤»¤­¤¸¤ç¤¦ Àʾå #T35 1 ¤»¤­¤º¤¤ ÀÔ¿ñ #T35 0 ¤»¤­¤»¤Ä ÀÑÀã #T30 2 ¤»¤­¤¼¤ó ´ØÁ° #JCN 0 ¤»¤­¤¾¤¦ ÀÐÁü #T35 1 ¤»¤­¤¿¤ó ÀÐú #T35 1 ¤»¤­¤Ä¤¤ ÀÔÄÇ #T35 0 ¤»¤­¤Æ¤¤ ÀÐÄí #T35 1 ¤»¤­¤È¤á ¤»¤­»ß¤á #KSr 1 ¤»¤­¤È¤ê ´Ø¼è #T35 2 ¤»¤­¤É¤¦ ÀÖÆ» #T35 1 ¤»¤­¤Ë¤ó ÀÕǤ #T35 35 ¤»¤­¤Ë¤ó¤·¤ã ÀÕǤ¼Ô #T35 0 ¤»¤­¤Í ´Øº¬ #JNS 0 ¤»¤­¤Í¤Ä ÀÖÇ® #T30 0 ¤»¤­¤Î ´ØÌî #JNS 0 ¤»¤­¤Î¤ß¤ä ´ØµÜ #JCN 0 ¤»¤­¤Ï¤¤ ÀËÇÔ #T30 0 ¤»¤­¤Ï¤ó ÀÖÈÓ #T35 0 ¤»¤­¤Ð¤ó ÀÐÈÇ #T35 0 ¤»¤­¤Ò ÀÐÈê #T35 0 ¤»¤­¤Ò¤ó ÀÖÉÏ #T35 0 ¤»¤­¤Ö¤ó ÀÑʬ #T30 2 ¤»¤­¤Ù¤Ä ÀËÊÌ #T30 0 ¤»¤­¤à ÀÕ̳ #T35 1 ¤»¤­¤á ´ØÌÜ #JCN 0 ¤»¤­¤á¤ó ÀÖÌÌ #T30 2 ¤»¤­¤â¤È ´ØËÜ #JCN 0 ¤»¤­¤ä ´Ø²° #JCN 0 ¤»¤­¤ä ´ØÃ« #JNS 0 ¤»¤­¤ä¤É ´Ø½É #JCN 0 ¤»¤­¤å¤ê¤Æ¤£ ¥»¥­¥å¥ê¥Æ¥£ #T35 14 ¤»¤­¤å¤ê¤Æ¤£¡¼ ¥»¥­¥å¥ê¥Æ¥£¡¼ #T35 14 ¤»¤­¤æ ÀÐÌý #T35 4 ¤»¤­¤é ÀÖÍç #T05 0 ¤»¤­¤é¤é ÀÖÍ硹 #T05 0 ¤»¤­¤ê ÀÖΡ #T35 1 ¤»¤­¤ê¤ç¤¯ ÀÍÎÏ #T35 0 ¤»¤­¤ï¤± ´ØÏÆ #T35 1 ¤»¤¯¤·¤ç¤ó ¡ø #T35 1 ¤»¤¯¤·¤ç¤ó ¥»¥¯¥·¥ç¥ó #T35 12 ¤»¤¯¤Ï¤é ¥»¥¯¥Ï¥é #T30 0 ¤»¤°¤Á À¥¸ý #JNS 0 ¤»¤°¤á¤ó¤Æ¡¼¤·¤ç¤ó ¥»¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó #T35 2 ¤»¤°¤á¤ó¤È ¥»¥°¥á¥ó¥È #T35 19 ¤»¤±¤ó À¤´Ö #T35 8 ¤»¤³¤¦ »Ü¹© #T30 1 ¤»¤³¤à ¥»¥³¥à #KK 1 ¤»¤¶¤ó¤Ì ¥»¥¶¥ó¥Ì #JN 0 ¤»¤·¤å¤¦ À¤½± #T30 0 ¤»¤·¤ç¤ó ¥»¥·¥ç¥ó #T35 33 ¤»¤¸ À¤¼­ #T35 2 ¤»¤¸¤ç¤¦ »Ü¾û #T30 2 ¤»¤¸¤ç¤¦ À¤¾ð #T35 0 ¤»¤¹¤¸ ÇØ¶Ú #T35 2 ¤»¤½¤¦ À¤Áê #T35 0 ¤»¤¾¤¯ À¤Â¯ #T35 0 ¤»¤¿ À¥ÅÄ #JCN 0 ¤»¤¿ ÀªÂ¿ #JNS 0 ¤»¤¿¤¤ À¤ÂÓ #JS 1 ¤»¤¿¤¤ À¤ÂÓ #T35 1 ¤»¤¿¤« À¥¹â #JCN 0 ¤»¤¿¤¬¤ä À¤ÅÄë #JCN 0 ¤»¤¿¤± ÇØ¾æ #T35 0 ¤»¤¿¤Ê À¥Ãª #JCN 0 ¤»¤À¤¤ À¤Âå #JS 11 ¤»¤À¤¤ À¤Âå #T35 10 ¤»¤Á¤Ð¤ë À¤Ãθ¶ #JCN 0 ¤»¤Ã ÀÜ #SX 2 ¤»¤Ã¤«¤¤ ÀÚ³« #T30 0 ¤»¤Ã¤«¤¤ Àг¥ #T35 1 ¤»¤Ã¤«¤¯ ¤»¤Ã¤«¤¯ #T36 16 ¤»¤Ã¤«¤¯ ÀÞ³Ñ #T36 6 ¤»¤Ã¤«¤Á ¤»¤Ã¤«¤Á #T05 1 ¤»¤Ã¤«¤ó ÀÞÝ£ #T30 0 ¤»¤Ã¤­ Àдï #T35 0 ¤»¤Ã¤­ Àᵤ #T35 4 ¤»¤Ã¤­¤ã¤¯ ÀÜµÒ #T30 0 ¤»¤Ã¤­¤ç¤¦ Àâ¶µ #T30 1 ¤»¤Ã¤­¤ç¤¯ ÀÑ¶Ë #T35 19 ¤»¤Ã¤­¤ó Àܶá #T30 1 ¤»¤Ã¤¯ Àá¶ç #T35 0 ¤»¤Ã¤¯¤¹ ¥»¥Ã¥¯¥¹ #T30 1 ¤»¤Ã¤±¤¤ Àß·× #T30 234 ¤»¤Ã¤±¤¤¤· À߷׻Π#T35 0 ¤»¤Ã¤±¤¤¤º Àß·×¿Þ #T35 0 ¤»¤Ã¤±¤Ã¤­¤å¤¦ ÀÖ·ìµå #T35 0 ¤»¤Ã¤±¤ó Àܸ« #T30 0 ¤»¤Ã¤±¤ó Àи´ #T35 1 ¤»¤Ã¤³¤¦ À͸õ #T30 0 ¤»¤Ã¤³¤¦ ÀÛ¹Æ #T35 0 ¤»¤Ã¤³¤¦ ÀÐ¹Ñ #T35 1 ¤»¤Ã¤³¤Ä Àܹü #T30 0 ¤»¤Ã¤µ¤¯ ÀÚºï #T30 0 ¤»¤Ã¤µ¤¯ ÀÛºî #T35 0 ¤»¤Ã¤µ¤¿¤¯¤Þ ÀÚâøÂöËá #T30 0 ¤»¤Ã¤· Àà»ë #T30 0 ¤»¤Ã¤· ÀÝ»á #T35 0 ¤»¤Ã¤·¤ã ÀÛ¼Ô #T35 0 ¤»¤Ã¤·¤ä¤¯¤ï¤ó ÀÚ»õÙ¯ÏÓ #T30 0 ¤»¤Ã¤·¤å Àܼï #T30 0 ¤»¤Ã¤·¤å Àݼè #T30 1 ¤»¤Ã¤·¤å¤¦ Àܼý #T30 0 ¤»¤Ã¤·¤ç¤¦ »¦À¸ #T10 0 ¤»¤Ã¤·¤ç¤¦ ÀÞ¾× #T30 3 ¤»¤Ã¤·¤ç¤¦ ÀÝÀ¯ #T35 0 ¤»¤Ã¤·¤ç¤¯ Àá¿© #T30 0 ¤»¤Ã¤·¤ç¤¯ ÀÜ¿¨ #T30 13 ¤»¤Ã¤·¤ç¤ó ¥»¥Ã¥·¥ç¥ó #T35 17 ¤»¤Ã¤¹¤¤ Àá¿å #T30 0 ¤»¤Ã¤» ¤»¤Ã¤» #F14 1 ¤»¤Ã¤»¤¤ ÀÝÀ¸ #T30 0 ¤»¤Ã¤»¤¤ ÀáÀ© #T30 0 ¤»¤Ã¤»¤ó ÀÜÀï #T30 0 ¤»¤Ã¤»¤ó ÀÜÀþ #T35 2 ¤»¤Ã¤½¤¦ ÀáÁà #T35 2 ¤»¤Ã¤½¤¯ ÀÛ® #T05 1 ¤»¤Ã¤½¤¯ Àá­ #T35 0 ¤»¤Ã¤¿¤¤ ÀÜÂÔ #T30 1 ¤»¤Ã¤¿¤¯ ÀÛÂð #T35 1 ¤»¤Ã¤Á ÀÜÃÏ #T30 1 ¤»¤Ã¤Á ÀßÃÖ #T30 22 ¤»¤Ã¤Á¤ã¤¯ ÀÜÃå #T30 0 ¤»¤Ã¤Á¤å¤¦ ÀÞÃï #T30 0 ¤»¤Ã¤Á¤ç ÀÛÃø #T35 1 ¤»¤Ã¤Á¤ó Àã±£ #T35 0 ¤»¤Ã¤Ä ÀÝÄÅ #JCN 0 ¤»¤Ã¤Ä ¤»¤Ã¤Ä #K5r 0 ¤»¤Ã¤Æ¤¤ ÀßÄê #T30 255 ¤»¤Ã¤Æ¤ó ÀáÅÀ #T35 1 ¤»¤Ã¤Æ¤ó ÀÜÅÀ #T35 2 ¤»¤Ã¤È ¥»¥Ã¥È #T30 255 ¤»¤Ã¤È¤¦ ÀàÅð #T30 0 ¤»¤Ã¤È¤¦ ÀÜÆ¬ #T30 6 ¤»¤Ã¤È¤¦¤´ ÀÜÆ¬¸ì #T35 0 ¤»¤Ã¤È¤¯ ÀâÆÀ #T30 5 ¤»¤Ã¤Ñ¤¯ ÀÚÇ÷ #T30 1 ¤»¤Ã¤Ñ¤Ä¤Þ ÀÚ±©µÍ¤Þ #R5 0 ¤»¤Ã¤Ñ¤ó ÀÞȾ #T30 0 ¤»¤Ã¤Ô ÀÚÈé #T30 1 ¤»¤Ã¤×¤¯ ÀÚÊ¢ #T30 0 ¤»¤Ã¤×¤ó ÀÜÊ­ #T30 2 ¤»¤Ã¤Ú¤ó ÀÚÊÒ #T35 1 ¤»¤Ä ¤»¤Ä #JNM 0 ¤»¤Ä ¥»¥Ä #JNM 0 ¤»¤Ä Àâ #JNSUC 27 ¤»¤Ä Àá #JS 0 ¤»¤Ä ÀÞ #KJ 0 ¤»¤Ä Àà #KJ 0 ¤»¤Ä í #KJ 0 ¤»¤Ä ÀÛ #KJ 1 ¤»¤Ä ÀÝ #KJ 1 ¤»¤Ä Àß #KJ 1 ¤»¤Ä ÀÜ #KJ 18 ¤»¤Ä Àã #KJ 7 ¤»¤Ä Àâ #SUC 0 ¤»¤Ä ÀÚ #T05 2 ¤»¤Ä Àâ #T35 1 ¤»¤Ä Àá #T35 79 ¤»¤Ä¤¨¤¤ Àß±Ä #T30 1 ¤»¤Ä¤ª ÀáÃË #JNM 0 ¤»¤Ä¤ª ÀáÉ× #JNM 0 ¤»¤Ä¤¬¤ó ÀÜ´ß #T30 0 ¤»¤Ä¤²¤ó ÀḺ #T30 0 ¤»¤Ä¤²¤ó À㸶 #T35 1 ¤»¤Ä¤³ Àá»Ò #JNM 0 ¤»¤Ä¤´¤¦ Àܹç #T30 7 ¤»¤Ä¤¸ Àܼ­ #T35 1 ¤»¤Ä¤¸¤Ä Àڼ #T05 1 ¤»¤Ä¤¸¤å Àܼõ #T30 0 ¤»¤Ä¤¸¤ç ÀÚ½ü #T30 0 ¤»¤Ä¤¸¤ç¤¯ Àã¿« #T30 0 ¤»¤Ä¤»¤Ä ÀÚ¡¹ #F00 0 ¤»¤Ä¤»¤Ä ÀÚ¡¹ #T36 0 ¤»¤Ä¤¼¤¤ ÀáÀÇ #T30 1 ¤»¤Ä¤¾¤¯ Àܳ #T30 255 ¤»¤Ä¤¾¤¯¤· Àܳ»ì #T35 7 ¤»¤Ä¤À¤ó ÀÚÃÇ #T30 5 ¤»¤Ä¤Ç¤ó ÀáÅÅ #T30 1 ¤»¤Ä¤É ÀáÅÙ #T35 1 ¤»¤Ä¤É¤¦ ÀÝÆ° #T30 0 ¤»¤Ä¤Ê ÀÚ¤Ê #KY 1 ¤»¤Ä¤Ê ÑëÆá #T35 1 ¤»¤Ä¤Ê¤¬ Àڤʤ¬ #R5 0 ¤»¤Ä¤Î¤¦ ÀڤΤ¦ #KYU 1 ¤»¤Ä¤Ó ÀßÈ÷ #T30 16 ¤»¤Ä¤Ó ÀÜÈø #T30 40 ¤»¤Ä¤Ó¤´ ÀÜÈø¸ì #T35 0 ¤»¤Ä¤Ö¤ó Àáʬ #T35 1 ¤»¤Ä¤Ø¤¤¤á¤ó ÀÜÊ¿ÌÌ #T35 2 ¤»¤Ä¤Ü¤¦ ÀÚ˾ #T30 1 ¤»¤Ä¤á¤¤ ÀâÌÀ #T30 255 ¤»¤Ä¤á¤¤¤«¤¤ ÀâÌÀ²ñ #T35 0 ¤»¤Ä¤á¤¤¤·¤ç ÀâÌÀ½ñ #T35 0 ¤»¤Ä¤â¤ó ÀßÌä #T30 0 ¤»¤Ä¤ä¤¯ ÀáÌó #T30 14 ¤»¤Ä¤ê ÀÝÍý #T35 0 ¤»¤Ä¤ê¤Ä ÀßΩ #T30 8 ¤»¤Ä¤ï ÀâÏà #T35 0 ¤»¤È À¥¸Í #JCN 0 ¤»¤È À¥¸Í #T35 10 ¤»¤È¤¦¤Á À¥¸ÍÆâ #JCN 0 ¤»¤È¤®¤ï À¥¸ÍºÝ #T35 1 ¤»¤È¤À À¥¸ÍÅÄ #CN 0 ¤»¤È¤Ê¤¤¤«¤¤ À¥¸ÍÆâ³¤ #CN 0 ¤»¤È¤â¤Î À¥¸Íʪ #T35 0 ¤»¤Ê¤« ÇØÃæ #T35 3 ¤»¤Î¤Ó ÇØ¿­¤Ó #T30 0 ¤»¤Ð¤Þ ¶¹¤Þ #R5 1 ¤»¤Ð¤á ¶¹¤á #KS 0 ¤»¤Ó¤í ÇØ¹­ #T35 1 ¤»¤Ô¤¢ ¥»¥Ô¥¢ #T35 1 ¤»¤Õ¤£¡¼¤í ¥»¥Õ¥£¡¼¥í #KK 1 ¤»¤Õ¤ê ÇØ¿¶ #CN 0 ¤»¤Ü¤Í ÇØ¹ü #T35 1 ¤»¤Þ ¶¹ #KYme 34 ¤»¤Þ Ç÷ #R5 9 ¤»¤Þ¤¬ ¶¹¤¬ #R5 0 ¤»¤Þ¤¯¤ë¤· ¶¹¶ì¤· #KY 0 ¤»¤Þ¤¯¤ë¤·¤å¤¦ ¶¹¶ì¤·¤å¤¦ #KYU 0 ¤»¤Þ¤Õ¤© ¥»¥Þ¥Õ¥© #T35 2 ¤»¤Þ¤Õ¤©¤¢ ¥»¥Þ¥Õ¥©¥¢ #T35 0 ¤»¤Þ¤ó¤Æ¤£¤¯¤¹ ¥»¥Þ¥ó¥Æ¥£¥¯¥¹ #T35 3 ¤»¤Þ¤ó¤Æ¤£¤Ã¤¯ ¥»¥Þ¥ó¥Æ¥£¥Ã¥¯ #T35 1 ¤»¤Þ¤ó¤Æ¤£¤Ã¤¯¤¹ ¥»¥Þ¥ó¥Æ¥£¥Ã¥¯¥¹ #T35 1 ¤»¤ß Àæ #T35 1 ¤»¤ß¤³¤í¤ó ¥»¥ß¥³¥í¥ó #T35 2 ¤»¤ß¤³¤ó¤À¤¯¤¿ ¥»¥ß¥³¥ó¥À¥¯¥¿ #T35 1 ¤»¤ß¤³¤ó¤À¤¯¤¿¡¼ ¥»¥ß¥³¥ó¥À¥¯¥¿¡¼ #T35 1 ¤»¤ß¤Ê ¥»¥ß¥Ê #T35 4 ¤»¤ß¤Ê¡¼ ¥»¥ß¥Ê¡¼ #T35 26 ¤»¤ß¤Í À¥Êö #JCN 0 ¤»¤á ÀÕ¤á #KSr 4 ¤»¤á ¹¶¤á #KSr 9 ¤»¤á ÀÕ #T35 0 ¤»¤á¤ª¤È ¹¶¤áÍî¤È #S5 1 ¤»¤á¤³ ¹¶¤á¹þ #M5r 1 ¤»¤á¤¿¤Æ Àդ᤿¤Æ #KSr 0 ¤»¤á¤Ä¤± ÀÕ¤á¤Ä¤± #KSr 0 ¤»¤á¤Æ ¤»¤á¤Æ #F14 3 ¤»¤á¤Æ ¤»¤á¤Æ #T36 0 ¤»¤á¤Æ¤â¤Î ¤»¤á¤Æ¤â¤Î #RT 0 ¤»¤á¤ó¤È ¥»¥á¥ó¥È #T35 0 ¤»¤â¤¦ ¶¹¤¦ #KYU 2 ¤»¤ä À¥Ã« #JCN 0 ¤»¤è ¤»¤è #sxeyo 0 ¤»¤é À¤Íå #JCN 0 ¤»¤é¤Ë¤· À¤ÍåÀ¾ #CN 0 ¤»¤é¤ß¤Ã¤¯ ¥»¥é¥ß¥Ã¥¯ #T35 2 ¤»¤ê ¶Ü #T35 39 ¤»¤ê¤¢ ¶¥¤ê¹ç #W5r 0 ¤»¤ê¤¢¤² ¤»¤ê¾å¤² #KSr 0 ¤»¤ê¤¶¤ï ¶ÜÂô #JNS 0 ¤»¤ê¤¶¤ï ¶Üß· #JNS 0 ¤»¤ê¤Õ Âæ»ì #T35 1 ¤»¤ê¤Õ ¥»¥ê¥Õ #T35 3 ¤»¤ë ¥»¥ë #T35 5 ¤»¤ë¤Õ¤Á¤§¤Ã¤­¤ó¤° ¥»¥ë¥Õ¥Á¥§¥Ã¥­¥ó¥° #T30 10 ¤»¤ì¤¯¤¿ ¥»¥ì¥¯¥¿ #T35 6 ¤»¤ì¤¯¤¿¡¼ ¥»¥ì¥¯¥¿¡¼ #T35 6 ¤»¤ì¤¯¤È ¥»¥ì¥¯¥È #T30 2 ¤»¤ì¤Ê¡¼¤É ¥»¥ì¥Ê¡¼¥É #T35 1 ¤»¤í¤ó À¤ÏÀ #T35 1 ¤»¤ï À¤Ïà #T30 4 ¤»¤ï¤·¤Ê ¤»¤ï¤·¤Ê #KY 0 ¤»¤ï¤·¤Î¤¦ ¤»¤ï¤·¤Î¤¦ #KYU 0 ¤»¤ó Àþ #CNSUC1 121 ¤»¤ó Áª #JS 0 ¤»¤ó Á¬ #JS 0 ¤»¤ó Àæ #KJ 0 ¤»¤ó Àç #KJ 0 ¤»¤ó Àê #KJ 0 ¤»¤ó Àí #KJ 0 ¤»¤ó Àî #KJ 0 ¤»¤ó Àð #KJ 0 ¤»¤ó Àó #KJ 0 ¤»¤ó Àõ #KJ 0 ¤»¤ó À÷ #KJ 0 ¤»¤ó Àø #KJ 0 ¤»¤ó Àú #KJ 0 ¤»¤ó Àû #KJ 0 ¤»¤ó Àü #KJ 0 ¤»¤ó Àý #KJ 0 ¤»¤ó Á¡ #KJ 0 ¤»¤ó Á¢ #KJ 0 ¤»¤ó Á£ #KJ 0 ¤»¤ó Á¤ #KJ 0 ¤»¤ó Á¦ #KJ 0 ¤»¤ó Á§ #KJ 0 ¤»¤ó Á¨ #KJ 0 ¤»¤ó Á© #KJ 0 ¤»¤ó Á¬ #KJ 0 ¤»¤ó Á­ #KJ 0 ¤»¤ó Á® #KJ 0 ¤»¤ó · #KJ 0 ¤»¤ó ÆÑ #KJ 0 ¤»¤ó ÏË #KJ 0 ¤»¤ó ¶ü #KJ 1 ¤»¤ó Àì #KJ 1 ¤»¤ó Á¯ #KJ 1 ¤»¤ó Ѩ #KJ 1 ¤»¤ó Àè #KJ 14 ¤»¤ó Àö #KJ 2 ¤»¤ó Àô #KJ 3 ¤»¤ó Àù #KJ 3 ¤»¤ó Á¥ #KJ 5 ¤»¤ó Á« #KJ 5 ¤»¤ó Àï #KJ 7 ¤»¤ó Àé #NN 35 ¤»¤ó Àë #S5 6 ¤»¤ó Àï #SUC 0 ¤»¤ó Àþ #SUC 0 ¤»¤ó Á¥ #SUC 0 ¤»¤ó Àñ #T30 0 ¤»¤ó Àë #T30 6 ¤»¤ó Áª #T35 1 ¤»¤ó Àþ #T35 33 ¤»¤ó Àò #T35 9 ¤»¤ó¤¤ Á«°Ü #T30 54 ¤»¤ó¤¤ Àþ°Ý #T35 1 ¤»¤ó¤¤ Á¡°Ý #T35 4 ¤»¤ó¤¤¤½ Àþ°ÝÁÇ #T35 1 ¤»¤ó¤¤¤ó Á¥°÷ #T35 1 ¤»¤ó¤¨¤­ ÀïÌò #T35 2 ¤»¤ó¤¨¤Ä Ѩ±Û #T05 1 ¤»¤ó¤« Àì²Ê #T35 0 ¤»¤ó¤« Àï²Ð #T35 0 ¤»¤ó¤« Àï²Ò #T35 0 ¤»¤ó¤« Àï²Ì #T35 1 ¤»¤ó¤«¤¤ Àû²ó #T30 1 ¤»¤ó¤«¤¯ Àè³Ð #T35 0 ¤»¤ó¤«¤ó Àï´Ï #T35 1 ¤»¤ó¤¬ Àþ²è #T35 1 ¤»¤ó¤¬¤¤ Áª³° #T35 0 ¤»¤ó¤¬¤¯ Àõ³Ø #T05 0 ¤»¤ó¤¬¤¯ Àè³Ø #T35 0 ¤»¤ó¤¬¤ó Àö´é #T30 1 ¤»¤ó¤­ Àïµ­ #T35 1 ¤»¤ó¤­¤ã¤¯ Á¥µÒ #T35 0 ¤»¤ó¤­¤ã¤¯¤Ð¤ó¤é¤¤ ÀéµÒËüÍè #T35 1 ¤»¤ó¤­¤ç Áªµó #T30 1 ¤»¤ó¤­¤ç Àêµò #T30 2 ¤»¤ó¤­¤ç¤¦¤· Àë¶µ»Õ #T35 0 ¤»¤ó¤­¤ç¤¯ Áª¶Ê #T30 2 ¤»¤ó¤­¤ç¤¯ Àï¶É #T35 0 ¤»¤ó¤® Á§µÄ #T30 0 ¤»¤ó¤®¤ç Á¯µû #T35 0 ¤»¤ó¤®¤ç¤¦ Àì¶È #T35 0 ¤»¤ó¤¯ Àè¶î #T30 2 ¤»¤ó¤°¤¦ Á«µÜ #T30 0 ¤»¤ó¤±¤¤ Àþ·Á #T35 4 ¤»¤ó¤±¤Ä Àè·è #T30 3 ¤»¤ó¤±¤ó À踫 #T35 1 ¤»¤ó¤²¤Ä Àè·î #T35 15 ¤»¤ó¤²¤ó Àë¸À #T30 69 ¤»¤ó¤²¤ó Áª¸À #T35 2 ¤»¤ó¤³¤¦ Àü¹¦ #T30 0 ¤»¤ó¤³¤¦ Áª¹Í #T30 2 ¤»¤ó¤³¤¦ Àè¹¶ #T30 4 ¤»¤ó¤³¤¦ Àì¹¶ #T30 4 ¤»¤ó¤³¤¦ Àè¹Ô #T30 5 ¤»¤ó¤³¤¦ Àþ¹á #T35 0 ¤»¤ó¤³¤¦ Á®¸÷ #T35 0 ¤»¤ó¤³¤¯ Àë¹ð #T30 1 ¤»¤ó¤³¤¯ Àè¹ï #T35 1 ¤»¤ó¤³¤ó ÀïÛþ #T35 0 ¤»¤ó¤´ Àï¸å #T35 1 ¤»¤ó¤´¤¯ Àï¹ñ #T35 1 ¤»¤ó¤µ ¥»¥ó¥µ #T35 8 ¤»¤ó¤µ¡¼ ¥»¥ó¥µ¡¼ #T35 2 ¤»¤ó¤µ¤¤ Á¡ºÙ #T05 2 ¤»¤ó¤µ¤¤ ÀïºÒ #T35 0 ¤»¤ó¤µ¤¯ Á§º÷ #T30 1 ¤»¤ó¤µ¤Ð¤ó¤Ù¤Ä À麹ËüÊÌ #T05 1 ¤»¤ó¤¶¤¤ Àøºß #T30 8 ¤»¤ó¤¶¤¤ ÀéºÜ #T35 0 ¤»¤ó¤¶¤¤ ÀöºÞ #T35 2 ¤»¤ó¤¶¤¤¤¤¤Á¤°¤¦ ÀéºÜ°ì¶ø #T35 0 ¤»¤ó¤· Àï»à #T30 1 ¤»¤ó¤· Àï»Î #T35 3 ¤»¤ó¤·¤­¤á¤ó Àþ¿¥ÌÌ #T35 4 ¤»¤ó¤·¤Ä Á¥¼¼ #T35 0 ¤»¤ó¤·¤ã Àï¼Ö #T35 2 ¤»¤ó¤·¤å Àè¼è #T30 0 ¤»¤ó¤·¤å Á¥¼ó #T35 1 ¤»¤ó¤·¤å Áª¼ê #T35 4 ¤»¤ó¤·¤å¤¦ Àô½£ #CN 0 ¤»¤ó¤·¤å¤¦ À콤 #T30 1 ¤»¤ó¤·¤å¤¦ Áª½¸ #T35 1 ¤»¤ó¤·¤å¤¦ Àè½µ #T35 33 ¤»¤ó¤·¤å¤¦¤é¤¯ À齩³Ú #T35 0 ¤»¤ó¤·¤å¤Ä Áª½Ð #T30 2 ¤»¤ó¤·¤ç¤¦ À辡 #T30 0 ¤»¤ó¤·¤ç¤¦ Ѩ¾Î #T35 0 ¤»¤ó¤·¤ç¤¯ À÷¿§ #T30 0 ¤»¤ó¤·¤ç¤¯ À÷¿¥ #T35 0 ¤»¤ó¤·¤ç¤¯¤¿¤¤ À÷¿§ÂÎ #T35 0 ¤»¤ó¤·¤ó Àì¿´ #T30 0 ¤»¤ó¤·¤ó Àè¿Ê #T35 1 ¤»¤ó¤·¤ó Àé¿Ê #T35 1 ¤»¤ó¤·¤ó¤³¤¯ Àè¿Ê¹ñ #T35 1 ¤»¤ó¤¸ Àù¤¸ #KS 1 ¤»¤ó¤¸ Àï»þ #T35 0 ¤»¤ó¤¸¤Ä ÀèÆü #T35 112 ¤»¤ó¤¸¤ã Áª¼Ô #T35 0 ¤»¤ó¤¸¤å¤¦ Àì½¾ #T30 0 ¤»¤ó¤¸¤å¤Ä Àè½Ò #T30 1 ¤»¤ó¤¸¤å¤Ä Àç½Ñ #T35 1 ¤»¤ó¤¸¤å¤Ä Àï½Ñ #T35 1 ¤»¤ó¤¸¤ç¤¦ Àö¾ô #T30 1 ¤»¤ó¤¸¤ç¤¦ Àï¾ì #T35 0 ¤»¤ó¤¸¤ç¤¦ Àð¾õ #T35 0 ¤»¤ó¤¸¤ç¤¦ Á¥¾å #T35 1 ¤»¤ó¤¸¤ç¤¦¤Æ¤­ Àþ¾òŪ #T15 0 ¤»¤ó¤¸¤ó Àé¿Ò #T35 1 ¤»¤ó¤¸¤ó Àè¿Í #T35 2 ¤»¤ó¤¹ Àð»Ò #T35 1 ¤»¤ó¤¹ ¥»¥ó¥¹ #T35 11 ¤»¤ó¤¹¤¤ Àø¿å #T30 1 ¤»¤ó¤¹¤¤¤«¤ó Àø¿å´Ï #T35 1 ¤»¤ó¤º ÀèÅÓ #T35 0 ¤»¤ó¤»¡¼¤·¤ç¤Ê¤ë ¥»¥ó¥»¡¼¥·¥ç¥Ê¥ë #T05 0 ¤»¤ó¤»¡¼¤·¤ç¤ó ¥»¥ó¥»¡¼¥·¥ç¥ó #T35 0 ¤»¤ó¤»¤¤ ÀëÀÀ #T30 2 ¤»¤ó¤»¤¤ ÀèÀ¸ #T35 143 ¤»¤ó¤»¤¤¤¸¤å¤Ä ÀêÀ±½Ñ #T35 1 ¤»¤ó¤»¤ó ÀëÀï #T30 0 ¤»¤ó¤»¤ó ÀïÀþ #T35 0 ¤»¤ó¤»¤ó¤­¤ç¤¦¤­¤ç¤¦ À¶²¡¹ #F03 ¤»¤ó¤»¤ó¤·¤å¤¦ À衹½µ #T35 0 ¤»¤ó¤¼¤ó ÀïÁ° #T35 1 ¤»¤ó¤½¤¦ ÀïÁè #T30 4 ¤»¤ó¤½¤¯ ÀòºÉ #T35 1 ¤»¤ó¤¾ ÀèÁÄ #T35 2 ¤»¤ó¤¾¤¬¤¨¤ê ÀèÁÄÊÖ¤ê #T30 0 ¤»¤ó¤¾¤¯ Àì° #T35 0 ¤»¤ó¤¿ ¥»¥ó¥¿ #T35 55 ¤»¤ó¤¿¡¼ ¥»¥ó¥¿¡¼ #T35 60 ¤»¤ó¤¿¤¤ Á¥ÂÎ #T35 2 ¤»¤ó¤¿¤¯ ÀöÂõ #T30 14 ¤»¤ó¤¿¤¯ ÁªÂò #T30 255 ¤»¤ó¤¿¤¯¤­ ÀöÂõµ¡ #T35 5 ¤»¤ó¤¿¤¯¤· ÁªÂò»Ò #T35 1 ¤»¤ó¤¿¤¯¤· ÁªÂò»è #T35 14 ¤»¤ó¤¿¤ó Àíü #T35 0 ¤»¤ó¤¿¤ó Àèü #T35 2 ¤»¤ó¤À¤¤ ÀçÂæ #CN 0 ¤»¤ó¤À¤¤ ÀîÆâ #CN 0 ¤»¤ó¤À¤¤ ÀèÂå #T35 1 ¤»¤ó¤À¤¤¤· ÀçÂæ»Ô #CNS 0 ¤»¤ó¤À¤¬¤ä ÀéÂÌ¥öë #CN 0 ¤»¤ó¤À¤® ÀéÂÌÌÚ #CN 0 ¤»¤ó¤À¤Ä Àèã #T35 0 ¤»¤ó¤Á ¥»¥ó¥Á #JS 5 ¤»¤ó¤Á ¥»¥ó¥Á #T05 2 ¤»¤ó¤Á ÀïÃÏ #T35 0 ¤»¤ó¤Á¤á¡¼¤È¤ë ¥»¥ó¥Á¥á¡¼¥È¥ë #JS 0 ¤»¤ó¤Á¤á¡¼¤È¤ë Á¸ #JS 0 ¤»¤ó¤Á¤ã ÀùÃã #T35 1 ¤»¤ó¤Á¤ã¤¯ ÀèÃå #T30 2 ¤»¤ó¤Á¤ç¤¦ ÀéÃú #CN 0 ¤»¤ó¤Á¤ç¤¦ Á¥Ä¹ #T35 0 ¤»¤ó¤Ä¤¦ áÍÄË #T35 1 ¤»¤ó¤Æ Àè¼ê #T35 6 ¤»¤ó¤Æ¤¤ ÁªÄê #T30 13 ¤»¤ó¤Æ¤ó ÀèÅ· #T35 0 ¤»¤ó¤Ç¤­ ÀöÞþ #T35 0 ¤»¤ó¤Ç¤ó ÀëÅÁ #T30 10 ¤»¤ó¤È Á«ÅÔ #T30 0 ¤»¤ó¤È ¥»¥ó¥È #T35 0 ¤»¤ó¤È ¡ñ #T35 1 ¤»¤ó¤È¤¦ ÀïÆ® #T30 4 ¤»¤ó¤È¤¦ ÀíÅã #T35 0 ¤»¤ó¤È¤¦ Á¬Åò #T35 0 ¤»¤ó¤È¤¦ ÀèÆ¬ #T35 86 ¤»¤ó¤È¤¦¤­ ÀïÆ®µ¡ #T35 0 ¤»¤ó¤É ¥»¥ó¥É #T35 0 ¤»¤ó¤É Á¯ÅÙ #T35 0 ¤»¤ó¤É¤¦ ÀèÆ³ #T30 1 ¤»¤ó¤É¤¦ Á¥Æ¬ #T35 1 ¤»¤ó¤Ê¤¤ Á¥Æâ #T35 0 ¤»¤ó¤Ê¤ó ÀçÆî #CN 0 ¤»¤ó¤Ê¤ó ÀôÆî #CN 0 ¤»¤ó¤Ë¤Á¤Þ¤¨ ÀéÆüÁ° #CN 0 ¤»¤ó¤Ë¤å¤¦ ÀøÆþ #T30 0 ¤»¤ó¤Ë¤å¤¦¤«¤ó ÀèÆþ´Ñ #T35 1 ¤»¤ó¤Ë¤ó ÀìǤ #T30 2 ¤»¤ó¤Ë¤ó ÁªÇ¤ #T30 2 ¤»¤ó¤Ë¤ó Àç¿Í #T35 1 ¤»¤ó¤Í¤ó Àìǰ #T30 5 ¤»¤ó¤Î¤¦ ÀöǾ #T30 2 ¤»¤ó¤Ï¤¿ ÀéȪ #JCN 0 ¤»¤ó¤Ð Á¥¾ì #T35 1 ¤»¤ó¤Ð¤¤ ÀìÇä #T30 1 ¤»¤ó¤Ð¤Ä ÁªÈ´ #T30 0 ¤»¤ó¤Ð¤Å¤ë À鱩Äá #T35 0 ¤»¤ó¤Ð¤ó ÀéËü #T05 0 ¤»¤ó¤Ð¤ó ÀûÈ× #T35 0 ¤»¤ó¤Ñ¤¤ ÀèÇÚ #T35 27 ¤»¤ó¤Ñ¤¯ Á¥Çõ #T35 1 ¤»¤ó¤Ñ¤Ä Àèȯ #T30 1 ¤»¤ó¤Ñ¤Ä Àöȱ #T30 2 ¤»¤ó¤Ñ¤ó ÀèÈÌ #T35 2 ¤»¤ó¤Ó Á¥Èø #T35 1 ¤»¤ó¤Ó¤ó Á¥ÊØ #T35 0 ¤»¤ó¤Ô¤ç¤¦ ÁªÉ¾ #T30 1 ¤»¤ó¤Ô¤ç¤¦ Àþɽ #T35 14 ¤»¤ó¤Ö¤ó Àþʬ #T35 16 ¤»¤ó¤× ÀèÉé #T35 0 ¤»¤ó¤× ÀïÉà #T35 0 ¤»¤ó¤×¤¦ ÀûÉ÷ #T35 2 ¤»¤ó¤×¤¦¤­ ÀðÉ÷µ¡ #T35 1 ¤»¤ó¤×¤¯ ÀøÉú #T30 0 ¤»¤ó¤Ù¤¤ ÀùÌß #T35 0 ¤»¤ó¤Ù¤Ä ÁªÊÌ #T30 2 ¤»¤ó¤Ù¤Ä ñ´ÊÌ #T35 0 ¤»¤ó¤Ù¤ó ÀèÊÜ #T35 0 ¤»¤ó¤Ú¤¤ Àíʼ #T35 2 ¤»¤ó¤Û¤¯ ÀôËÌ #CN 0 ¤»¤ó¤Ü¤¦ Á¢Ë¾ #T30 1 ¤»¤ó¤Ü¤¦¤­¤ç¤¦ ÀøË¾¶À #T35 1 ¤»¤ó¤Ü¤¯ ÀçËÌ #CN 0 ¤»¤ó¤Ü¤¯ ÀôËÌ #CN 0 ¤»¤ó¤Ü¤Ä ÀïË× #T30 0 ¤»¤ó¤Ý¤¦ ÀïË¡ #T35 0 ¤»¤ó¤Ý¤¦ ÀûË¡ #T35 0 ¤»¤ó¤Ý¤¦ ÀèÊý #T35 2 ¤»¤ó¤Ý¤¯ ÀôËÌ #CN 0 ¤»¤ó¤Þ¤ä Àé±¹ #JCN 0 ¤»¤ó¤ß¤ó Á¨Ì± #T35 0 ¤»¤ó¤ß¤ó ÁªÌ± #T35 0 ¤»¤ó¤à Àì̳ #T35 3 ¤»¤ó¤á¤¤ Á¯ÌÀ #T05 2 ¤»¤ó¤á¤Ä ÝÓÌÇ #T35 0 ¤»¤ó¤á¤ó ÀöÌÌ #T30 2 ¤»¤ó¤â¤¦ Á¡ÌÓ #T35 0 ¤»¤ó¤â¤¦ ëþÌÑ #T35 0 ¤»¤ó¤â¤¦ ÑòÌÓ #T35 1 ¤»¤ó¤â¤ó ÀìÌç #T35 32 ¤»¤ó¤â¤ó¤« ÀìÌç²È #T35 6 ¤»¤ó¤ä¤¯ ÀèÌó #T35 1 ¤»¤ó¤æ¤¦ ÀìÍ­ #T30 1 ¤»¤ó¤æ¤¦ ÀêÍ­ #T30 8 ¤»¤ó¤æ¤¦ Àïͧ #T35 1 ¤»¤ó¤è¤¦ ÀìÍÑ #T10 71 ¤»¤ó¤ê ÀéΤ #T35 1 ¤»¤ó¤ê ÀïÍø #T35 1 ¤»¤ó¤ê¤¬¤ó ÀéΤ´ã #T35 0 ¤»¤ó¤ê¤Ä ÀïØË #T30 1 ¤»¤ó¤ê¤Ä ÀûΧ #T35 1 ¤»¤ó¤ê¤ã¤¯ Àïά #T35 30 ¤»¤ó¤ê¤å¤¦ ÀîÌø #T35 1 ¤»¤ó¤ê¤ç¤¦ ÀêÎÎ #T30 1 ¤»¤ó¤ê¤ç¤¦ À÷ÎÁ #T35 0 ¤»¤ó¤ê¤ç¤¦ ÀþÎÌ #T35 29 ¤»¤ó¤ê¤ç¤¯ ÀïÎÏ #T35 0 ¤»¤ó¤ì¤¤ ÀöÎé #T30 1 ¤»¤ó¤ì¤¤ ÀèÎã #T35 1 ¤»¤ó¤ì¤Ä Á¯Îõ #T05 0 ¤»¤ó¤ì¤ó ÀöÎý #T30 3 ¤»¤ó¤í ÀþÏ© #T35 2 ¤¼ À§ #T35 9 ¤¼¤¤ ÀÈ #KJ 2 ¤¼¤¤ ÀÇ #SUC 4 ¤¼¤¤ ÀÇ #T35 0 ¤¼¤¤¤«¤ó ÀÇ´Ø #T35 1 ¤¼¤¤¤¬¤¯ ÀÇ³Û #T35 0 ¤¼¤¤¤­¤ó ÀǶâ #T35 5 ¤¼¤¤¤²¤ó ÀǸ» #T35 0 ¤¼¤¤¤³¤ß Àǹþ¤ß #T35 0 ¤¼¤¤¤·¤å¤¦ ÀǼý #T35 1 ¤¼¤¤¤¸¤ã¤¯ Àȼå #T35 0 ¤¼¤¤¤»¤¤ ÀÇÀ© #T35 1 ¤¼¤¤¤¿¤¯ ¤¼¤¤¤¿¤¯ #T00 3 ¤¼¤¤¤¿¤¯ ìÔÂô #T00 5 ¤¼¤¤¤Ë¤¯ ¤¼¤¤Æù #T35 1 ¤¼¤¤¤Û¤¦ ÀÇË¡ #T35 0 ¤¼¤¤¤à ÀÇ̳ #T35 0 ¤¼¤¤¤à¤·¤ç ÀÇ̳½ð #T35 0 ¤¼¤¤¤á¤¤ ÓÃÌÄ #T35 1 ¤¼¤¤¤ê¤· ÀÇÍý»Î #T35 0 ¤¼¤¤¤ê¤Ä ÀÇΨ #T35 0 ¤¼¤²¤ó ½÷êÊ #T35 0 ¤¼¤»¤¤ À§Àµ #T30 1 ¤¼¤¼ Á·½ê #JCN 0 ¤¼¤Ã Àä #SX 4 ¤¼¤Ã¤­¤ç¤¦ Àä¶« #T30 0 ¤¼¤Ã¤¯ Àä¶ç #T30 0 ¤¼¤Ã¤±¤¤ Àä·Ê #T35 1 ¤¼¤Ã¤³¤¦ Àä¹¥ #T05 1 ¤¼¤Ã¤³¤¦ Àä¸ò #T30 0 ¤¼¤Ã¤³¤¦¤Á¤ç¤¦ À乥Ĵ #T05 1 ¤¼¤Ã¤µ¤ó À仿 #T30 0 ¤¼¤Ã¤·¤ç¤¦ Àä¾§ #T30 0 ¤¼¤Ã¤·¤ç¤¯ Àä¿© #T30 0 ¤¼¤Ã¤»¤¤ ÀäÀ¤ #T35 0 ¤¼¤Ã¤¿¤¤ ÀäÂÐ #T35 83 ¤¼¤Ã¤¿¤¤¤¼¤Ä¤á¤¤ ÀäÂÎÀäÌ¿ #T15 0 ¤¼¤Ã¤¿¤¤¤Á ÀäÂÐÃÍ #T35 3 ¤¼¤Ã¤Á¤ç¤¦ Àäĺ #T35 0 ¤¼¤Ã¤Ñ¤ó ÀäÈÇ #T30 1 ¤¼¤Ã¤Ô¤Ä ÀäÉ® #T30 1 ¤¼¤Ã¤Ô¤ó ÀäÉÊ #T05 1 ¤¼¤Ã¤Ú¤­ ÀäÊÉ #T35 0 ¤¼¤Ã¤Ý¤¦ Àå˯ #T35 0 ¤¼¤Ä Àå #KJ 1 ¤¼¤Ä Àä #KJ 3 ¤¼¤Ä¤¨¤ó Àä±ï #T30 1 ¤¼¤Ä¤À¤¤ ÀäÂç #T05 2 ¤¼¤Ä¤Ü¤¦ Àä˾ #T30 5 ¤¼¤Ä¤ß¤ç¤¦ Àä̯ #T05 4 ¤¼¤Ä¤à Àä̵ #T15 0 ¤¼¤Ä¤á¤¤ ÀäÌ¿ #T30 1 ¤¼¤Ä¤á¤Ä ÀäÌÇ #T30 1 ¤¼¤Ë Á¬ #T35 2 ¤¼¤Ë¤ó À§Ç§ #T30 1 ¤¼¤Í¤¹¤È ¥¼¥Í¥¹¥È #T30 0 ¤¼¤Ò ¤¼¤Ò #T35 11 ¤¼¤Ò À§Èó #T35 86 ¤¼¤ß ¥¼¥ß #T35 13 ¤¼¤ß¤Ê¡¼¤ë ¥¼¥ß¥Ê¡¼¥ë #T35 4 ¤¼¤í ¥¼¥í #T35 18 ¤¼¤í ¡» #T35 3 ¤¼¤í Îí #T35 4 ¤¼¤í¤Ã¤¯¤¹ ¥¼¥í¥Ã¥¯¥¹ #KK 5 ¤¼¤ó Á· #JS 3 ¤¼¤ó Àæ #KJ 0 ¤¼¤ó Á² #KJ 0 ¤¼¤ó Á³ #KJ 0 ¤¼¤ó Áµ #KJ 0 ¤¼¤ó Á¶ #KJ 0 ¤¼¤ó Óà #KJ 1 ¤¼¤ó Á° #PRE 0 ¤¼¤ó Á´ #PRE 0 ¤¼¤ó Á³ #SUC 0 ¤¼¤ó Áµ #T35 0 ¤¼¤ó Àé #T35 2 ¤¼¤ó Á· #T35 2 ¤¼¤ó Á± #T35 25 ¤¼¤ó Á° #T35 47 ¤¼¤ó Á´ #T35 70 ¤¼¤ó¤¢¤¯ Á±°­ #T35 1 ¤¼¤ó¤¤ Á±°Õ #T35 1 ¤¼¤ó¤¤¤­ Á´°è #T35 3 ¤¼¤ó¤¤¤Á Á±°ì #JNM 0 ¤¼¤ó¤¤¤ó Á´°÷ #T35 50 ¤¼¤ó¤¨¤¤ Á°±Ò #T35 1 ¤¼¤ó¤« Á°²Ê #T35 0 ¤¼¤ó¤«¤¤ Á´²õ #T30 0 ¤¼¤ó¤«¤¤ Á´²÷ #T30 0 ¤¼¤ó¤«¤¤ Á´³« #T30 1 ¤¼¤ó¤«¤¤ Á´²ñ #T35 0 ¤¼¤ó¤«¤¤ Á°²ó #T35 36 ¤¼¤ó¤«¤¯ Á°³Ë #T35 1 ¤¼¤ó¤«¤¯ Á´³Ñ #T35 60 ¤¼¤ó¤«¤¯¤­ Á°³Ë´ü #T35 1 ¤¼¤ó¤«¤·¤­ Á²²½¼° #T35 1 ¤¼¤ó¤«¤ó Á´´¬ #T35 0 ¤¼¤ó¤«¤ó Á´´Û #T35 0 ¤¼¤ó¤¬¤¯ Á´³Ø #T35 1 ¤¼¤ó¤¬¤¯ Á´³Û #T35 1 ¤¼¤ó¤­ Á°µ­ #T35 1 ¤¼¤ó¤­ Á°´ü #T35 3 ¤¼¤ó¤­¤Á Á±µÈ #JNM 0 ¤¼¤ó¤­¤ç¤¦¤ì¤ó Á´¶¦Ï¢ #KK 3 ¤¼¤ó¤­¤ç¤¯ Á´¶É #T35 0 ¤¼¤ó¤­¤ç¤¯ Á´¶Ê #T35 6 ¤¼¤ó¤­¤ó Á²¶á #T30 2 ¤¼¤ó¤¯ Á°¶î #T30 0 ¤¼¤ó¤¯ Á´¶è #T35 0 ¤¼¤ó¤¯¤Ä Á°¶þ #T30 0 ¤¼¤ó¤±¤¤ Á°·¹ #T30 0 ¤¼¤ó¤±¤¤ Á°·Ç #T30 0 ¤¼¤ó¤±¤¤ Á´·Á #T35 0 ¤¼¤ó¤±¤¤ Á´·Ê #T35 0 ¤¼¤ó¤±¤Ä Á´·ì #T35 0 ¤¼¤ó¤±¤ó Á´¸¡ #T30 0 ¤¼¤ó¤±¤ó Á´¸¢ #T35 0 ¤¼¤ó¤±¤ó Á´¸© #T35 0 ¤¼¤ó¤²¤Ä Á°·î #T35 2 ¤¼¤ó¤²¤ó Á²¸º #T30 1 ¤¼¤ó¤²¤ó Á°¸À #T35 0 ¤¼¤ó¤³ Á´¸Í #T35 0 ¤¼¤ó¤³¤¦ Á°¹à #T35 0 ¤¼¤ó¤³¤¦ Á´¹» #T35 0 ¤¼¤ó¤³¤¦ Á±¹Ô #T35 1 ¤¼¤ó¤³¤¯ Á´¹ñ #T35 28 ¤¼¤ó¤´ Á°¸å #T30 19 ¤¼¤ó¤´¤µ¤¯ Á±¸åºö #T35 0 ¤¼¤ó¤µ¤¤ Á°ºÚ #T35 1 ¤¼¤ó¤µ¤¯ Á°ºî #T35 1 ¤¼¤ó¤¶¤¤ Á±ºÈ #T35 0 ¤¼¤ó¤¶¤¤ ¤¼¤ó¤¶¤¤ #T35 0 ¤¼¤ó¤· Á´»Ô #T35 0 ¤¼¤ó¤· Á´»æ #T35 0 ¤¼¤ó¤· Á°»è #T35 1 ¤¼¤ó¤·¤Ä Á°¼¼ #T35 1 ¤¼¤ó¤·¤ã Á°¼Ô #T35 15 ¤¼¤ó¤·¤ã Á´¼Í #T35 2 ¤¼¤ó¤·¤ã Á´¼Ò #T35 3 ¤¼¤ó¤·¤å¤¦ Á´½¸ #T35 0 ¤¼¤ó¤·¤å¤¦ Áµ½¡ #T35 0 ¤¼¤ó¤·¤å¤¦ Á°½µ #T35 2 ¤¼¤ó¤·¤ç Á±½è #T30 2 ¤¼¤ó¤·¤ç Á´½ñ #T35 0 ¤¼¤ó¤·¤ç¤¦ Á´¾¡ #T30 1 ¤¼¤ó¤·¤ç¤¦ Á´¾Æ #T30 1 ¤¼¤ó¤·¤ç¤¦ Á°¾Ï #T35 48 ¤¼¤ó¤·¤ç¤¦¤»¤ó Á°¾¥Àï #T35 0 ¤¼¤ó¤·¤í¤¦ Á±»ÍϺ #JNM 0 ¤¼¤ó¤·¤ó Á²¿Ê #T30 0 ¤¼¤ó¤·¤ó Á°¿Ê #T30 2 ¤¼¤ó¤·¤ó Á°¿È #T35 1 ¤¼¤ó¤·¤ó Á´¿È #T35 1 ¤¼¤ó¤¸ Á²»þ #T35 1 ¤¼¤ó¤¸ Á²¼¡ #T35 1 ¤¼¤ó¤¸¤Ä Á´Æü #T35 0 ¤¼¤ó¤¸¤Ä Á°Æü #T35 9 ¤¼¤ó¤¸¤å¤Ä Á°½Ò #T30 5 ¤¼¤ó¤¸¤í¤¦ Á±¼¡Ïº #JNM 0 ¤¼¤ó¤»¤¤¤­ Á´À¹´ü #T35 1 ¤¼¤ó¤»¤­ Á´ÀÊ #T35 1 ¤¼¤ó¤»¤ó Á°Àþ #T35 0 ¤¼¤ó¤»¤ó Á´Àþ #T35 2 ¤¼¤ó¤¼¤ó Á´Á³ #F14 119 ¤¼¤ó¤¼¤ó¤·¤Ä Á°¡¹¼¼ #T35 1 ¤¼¤ó¤½¤¦ Á°ÁÕ #T35 1 ¤¼¤ó¤½¤¯ Óé #T35 1 ¤¼¤ó¤¾¤¦ Á²Áý #T30 0 ¤¼¤ó¤¿¤¤ Á´ÂÎ #T35 154 ¤¼¤ó¤¿¤í¤¦ Á±ÂÀϺ #JNM 0 ¤¼¤ó¤¿¤ó Á°Ã¼ #T35 4 ¤¼¤ó¤À¤¤ Á°Âå #T35 1 ¤¼¤ó¤À¤Þ Á±¶Ì #T35 0 ¤¼¤ó¤Á Á´¼£ #T30 0 ¤¼¤ó¤Á Á°ÃÖ #T30 3 ¤¼¤ó¤Á¤· Á°ÃÖ»ì #T35 4 ¤¼¤ó¤Á¤ç Á°Ãø #T35 0 ¤¼¤ó¤Á¤ç¤¦ Á´Ä¹ #T35 1 ¤¼¤ó¤Á¤ç¤¦ Á°Ãû #T35 8 ¤¼¤ó¤Ä¤¦ Á´ÄÌ #T30 0 ¤¼¤ó¤Ä¤¦¤¸ Á±ÄÌ»û #CN 0 ¤¼¤ó¤Æ¤¤ Á°Äó #T35 30 ¤¼¤ó¤Æ¤ó Á´Å¹ #T35 0 ¤¼¤ó¤Ç¤é Áµ»û #T35 0 ¤¼¤ó¤È Á°ÅÓ #T35 1 ¤¼¤ó¤È¤¦ Á´Åç #T35 0 ¤¼¤ó¤È¤¦¤è¤¦ Á°Æ¬ÍÕ #T35 0 ¤¼¤ó¤É Á´ÅÚ #T35 1 ¤¼¤ó¤É¤¦ Á±Æ³ #T30 0 ¤¼¤ó¤É¤¦ êÀư #T30 1 ¤¼¤ó¤Ë¤Á¤»¤¤ Á´ÆüÀ© #T35 0 ¤¼¤ó¤Ë¤Ã¤¯¤¦ Á´Æü¶õ #KK 2 ¤¼¤ó¤Ë¤Û¤ó Á´ÆüËÜ #T35 2 ¤¼¤ó¤Ë¤ó Á°Ç¤ #T35 0 ¤¼¤ó¤Ë¤ó Á±¿Í #T35 0 ¤¼¤ó¤Í¤ó¤É Á°Ç¯ÅÙ #T35 1 ¤¼¤ó¤Î¤¦ Á°Ç¼ #T30 0 ¤¼¤ó¤Ï¤ó Á°È¾ #T35 4 ¤¼¤ó¤Ñ¤¤ Á´ÇÔ #T30 0 ¤¼¤ó¤Ñ¤¤ Á´ÇÑ #T30 1 ¤¼¤ó¤Ñ¤ó Á°È¾ #T35 0 ¤¼¤ó¤Ñ¤ó Á´ÈÌ #T35 18 ¤¼¤ó¤Ó¤ó Á´ÊØ #T35 0 ¤¼¤ó¤Ô¤ó Á´ÉÊ #T35 0 ¤¼¤ó¤Ö Á´Éô #T35 138 ¤¼¤ó¤Ö¤ó Á°Ê¸ #T35 0 ¤¼¤ó¤Ö¤ó Á´Ê¸ #T35 5 ¤¼¤ó¤Ú¤ó Á°ÊÔ #T35 1 ¤¼¤ó¤Ú¤ó Á´ÊÔ #T35 1 ¤¼¤ó¤Ü¤¦ Á´ËÆ #T35 1 ¤¼¤ó¤Ý¤¦ Á°Êý #T35 2 ¤¼¤ó¤á¤Ä Á´ÌÇ #T30 6 ¤¼¤ó¤á¤ó Á°ÌÌ #T35 4 ¤¼¤ó¤á¤ó Á´ÌÌ #T35 4 ¤¼¤ó¤ä Á°Ìë #T35 1 ¤¼¤ó¤ä¤¯ Á´Ìõ #T30 1 ¤¼¤ó¤è¤¦ Á±ÍÑ #T30 0 ¤¼¤ó¤è¤¦ Á´ÍÆ #T35 0 ¤¼¤ó¤é Á´Íç #T35 0 ¤¼¤ó¤ê¤ã¤¯ Á°Î¬ #T35 4 ¤¼¤ó¤ê¤ç¤¦ Á±ÎÉ #T05 1 ¤¼¤ó¤ê¤ç¤¯ Á´ÎÏ #T35 1 ¤¼¤ó¤ì¤¤ Á°Îã #T35 2 ¤¼¤ó¤ì¤­ Á°Îò #T35 1 ¤¼¤ó¤ì¤Ä Á°Îó #T35 0 ¤½ °¹ #KJ 0 ¤½ ¿Ý #KJ 0 ¤½ Á¹ #KJ 0 ¤½ Áº #KJ 0 ¤½ Á» #KJ 0 ¤½ Á¼ #KJ 0 ¤½ Á½ #KJ 0 ¤½ Á¿ #KJ 0 ¤½ ÁÀ #KJ 0 ¤½ ÁÁ #KJ 0 ¤½ Áà #KJ 0 ¤½ ÁÈ #KJ 0 ¤½ ÁÊ #KJ 0 ¤½ ÁË #KJ 0 ¤½ ÁÌ #KJ 0 ¤½ ÁÍ #KJ 0 ¤½ Á¾ #KJ 1 ¤½ ÁÆ #KJ 1 ¤½ ÁÉ #KJ 1 ¤½ Á #KJ 33 ¤½ ÁÅ #KJ 4 ¤½ ÁÇ #KJ 7 ¤½ È¿ #R5r 0 ¤½ Äæ #R5r 8 ¤½ ÁÇ #T05 2 ¤½ ÁÄ #T35 195 ¤½ ±è #U5 153 ¤½ ź #U5 3 ¤½ ±è #W5 153 ¤½ ź #W5 3 ¤½¡¼¤¹ ¥½¡¼¥¹ #T35 255 ¤½¡¼¤»¡¼¤¸ ¥½¡¼¥»¡¼¥¸ #T35 0 ¤½¡¼¤È ¥½¡¼¥È #T30 24 ¤½¡¼¤× ¥½¡¼¥× #T35 1 ¤½¤¢¤¯ Áư­ #T05 0 ¤½¤¤¤Ä ¤½¤¤¤Ä #T35 2 ¤½¤¤¤ó Áǰø #T35 0 ¤½¤¤¤ó Áʰø #T35 0 ¤½¤¤¤ó¤· Áǰø»Ò #T35 0 ¤½¤¤¤ó¤¹¤¦ Áǰø¿ô #T35 0 ¤½¤¦ °³ #KJ 0 ¤½¤¦ ·« #KJ 0 ¤½¤¦ ·¬ #KJ 0 ¤½¤¦ ¾± #KJ 0 ¤½¤¦ Á½ #KJ 0 ¤½¤¦ ÁÑ #KJ 0 ¤½¤¦ ÁÓ #KJ 0 ¤½¤¦ ÁÔ #KJ 0 ¤½¤¦ ÁÖ #KJ 0 ¤½¤¦ Á× #KJ 0 ¤½¤¦ ÁÙ #KJ 0 ¤½¤¦ ÁÚ #KJ 0 ¤½¤¦ ÁÜ #KJ 0 ¤½¤¦ ÁÝ #KJ 0 ¤½¤¦ Áß #KJ 0 ¤½¤¦ Áã #KJ 0 ¤½¤¦ Áæ #KJ 0 ¤½¤¦ Áç #KJ 0 ¤½¤¦ Áè #KJ 0 ¤½¤¦ Áé #KJ 0 ¤½¤¦ Áë #KJ 0 ¤½¤¦ Áì #KJ 0 ¤½¤¦ Áî #KJ 0 ¤½¤¦ Áò #KJ 0 ¤½¤¦ Áó #KJ 0 ¤½¤¦ Áô #KJ 0 ¤½¤¦ Áø #KJ 0 ¤½¤¦ Áù #KJ 0 ¤½¤¦ Áú #KJ 0 ¤½¤¦ £ #KJ 0 ¤½¤¦ ÄÞ #KJ 0 ¤½¤¦ Ǭ #KJ 0 ¤½¤¦ Ç #KJ 0 ¤½¤¦ Ì« #KJ 0 ¤½¤¦ Á¾ #KJ 1 ¤½¤¦ ÁÞ #KJ 1 ¤½¤¦ Áà #KJ 1 ¤½¤¦ Áä #KJ 1 ¤½¤¦ Áï #KJ 1 ¤½¤¦ Áû #KJ 1 ¤½¤¦ æâ #KJ 1 ¤½¤¦ í¯ #KJ 1 ¤½¤¦ íÔ #KJ 1 ¤½¤¦ Áõ #KJ 10 ¤½¤¦ ÁÏ #KJ 2 ¤½¤¦ ÁÛ #KJ 2 ¤½¤¦ Áâ #KJ 2 ¤½¤¦ Áö #KJ 2 ¤½¤¦ ÁÐ #KJ 3 ¤½¤¦ ÁÒ #KJ 3 ¤½¤¦ Áá #KJ 5 ¤½¤¦ Á÷ #KJ 8 ¤½¤¦ Áí #PRE 42 ¤½¤¦ ÁÕ #S5 2 ¤½¤¦ ÁØ #SUC 0 ¤½¤¦ Áå #SUC 0 ¤½¤¦ Áñ #SUC 0 ¤½¤¦ Áð #T30 1 ¤½¤¦ Áê #T30 18 ¤½¤¦ ¤½¤¦ #T30 196 ¤½¤¦ ÁÕ #T30 2 ¤½¤¦ ½¡ #T35 0 ¤½¤¦ ÁÎ #T35 0 ¤½¤¦ Áå #T35 0 ¤½¤¦ ÁØ #T35 15 ¤½¤¦ Áñ #T35 4 ¤½¤¦ Áí #T35 41 ¤½¤¦¤¢¤¤ Áê°¦ #T35 0 ¤½¤¦¤¢¤ó Áð°Æ #T35 4 ¤½¤¦¤¤ Áê°ã #T30 9 ¤½¤¦¤¤ ÁÏ°Õ #T35 1 ¤½¤¦¤¤¤¦ ¤½¤¦¤¤¤¦ #RT 71 ¤½¤¦¤¤¤Á ½¡°ì #JNM 0 ¤½¤¦¤¤¤Á¤í¤¦ Áí°ìϯ #JNM 0 ¤½¤¦¤¤¤ó Áí°÷ #T35 0 ¤½¤¦¤¦¤Ä í¯Ýµ #T05 1 ¤½¤¦¤ª¤¦ Áê±þ #T05 1 ¤½¤¦¤ª¤ó Áû²» #T35 1 ¤½¤¦¤« Áð²Ã #JCN 0 ¤½¤¦¤«¤¤ ÁÖ²÷ #T05 0 ¤½¤¦¤«¤¤ ÁÔ²÷ #T05 2 ¤½¤¦¤«¤¤ Áݳ¤ #T30 0 ¤½¤¦¤«¤¤ Áí²ñ #T35 4 ¤½¤¦¤«¤Ä Áí³í #T30 0 ¤½¤¦¤«¤Ä Áí³ç #T30 18 ¤½¤¦¤«¤ó ÁÔ´Ñ #T05 4 ¤½¤¦¤«¤ó ÁÏ´© #T30 0 ¤½¤¦¤«¤ó Áê´¯ #T30 0 ¤½¤¦¤«¤ó Á÷´Ô #T30 0 ¤½¤¦¤«¤ó Áê´Ø #T30 2 ¤½¤¦¤«¤ó Áí´Æ #T35 0 ¤½¤¦¤«¤ó ÁØ´Ö #T35 4 ¤½¤¦¤¬ ÁÞ²è #T35 0 ¤½¤¦¤¬¤¯ Áí³Û #T35 1 ¤½¤¦¤¬¤ó¤­¤ç¤¦ Áдã¶À #T35 0 ¤½¤¦¤­ ÁÛµ¯ #T30 0 ¤½¤¦¤­ Áá´ü #T35 10 ¤½¤¦¤­¤å¤¦ ÁáµÞ #T05 20 ¤½¤¦¤­¤ç ÁÔµó #T35 0 ¤½¤¦¤­¤ç¤¯ Áí¶É #T35 1 ¤½¤¦¤­¤ç¤¯¤· ÁÐ¶Ë»Ò #T35 0 ¤½¤¦¤­¤ç¤¯¤»¤ó ÁжÊÀþ #T35 2 ¤½¤¦¤­¤ó Á÷¶â #T30 2 ¤½¤¦¤® ÁèµÄ #T30 0 ¤½¤¦¤® Áòµ· #T35 0 ¤½¤¦¤®¤ç¤¦ Áà¶È #T30 0 ¤½¤¦¤®¤ç¤¦ ÁÏ¶È #T30 1 ¤½¤¦¤°¤¦ Áø¶ø #T30 2 ¤½¤¦¤± ½¡²È #T35 0 ¤½¤¦¤±¤¤ Áá·Ä #KK 0 ¤½¤¦¤±¤¤ Áí·× #T30 0 ¤½¤¦¤±¤ó ÁÔ·ò #T05 1 ¤½¤¦¤±¤ó Á÷¸¡ #T30 0 ¤½¤¦¤²¤¤ Á÷·Þ #T30 3 ¤½¤¦¤²¤ó Á𸶠#T35 8 ¤½¤¦¤³ ÁÒ¸Ë #T35 2 ¤½¤¦¤³¤¦ Áö¹Ô #T30 12 ¤½¤¦¤³¤¦ ÁÔ¹Ô #T30 5 ¤½¤¦¤³¤¦ Áà¹Ô #T35 0 ¤½¤¦¤³¤¦ Áì¹Ç #T35 0 ¤½¤¦¤³¤¦ Áð¹Æ #T35 1 ¤½¤¦¤³¤¦ Áú¹ß #T35 1 ¤½¤¦¤´ Áê¸ß #T35 69 ¤½¤¦¤´¤¦ Áí¹ç #T30 33 ¤½¤¦¤´¤¦ Áê¹¥ #T35 0 ¤½¤¦¤´¤µ¤è¤¦ Áê¸ßºîÍÑ #T30 0 ¤½¤¦¤´¤ó Áñ¸· #T05 1 ¤½¤¦¤µ ÁÙº¼ #CN 0 ¤½¤¦¤µ Áöºº #SX 2 ¤½¤¦¤µ Áܺº #T30 1 ¤½¤¦¤µ Áàºî #T30 255 ¤½¤¦¤µ¤¤ Á껦 #T30 0 ¤½¤¦¤µ¤¤ ÁíºÛ #T35 1 ¤½¤¦¤µ¤¯ ÁϺî #T30 1 ¤½¤¦¤µ¤¯ Áܺ÷ #T30 2 ¤½¤¦¤¶¤¤ ÁÚºÚ #T35 0 ¤½¤¦¤· ÁÏ»Ï #T30 1 ¤½¤¦¤· Áê»× #T35 0 ¤½¤¦¤· Áð»æ #T35 0 ¤½¤¦¤·¤­ Áò¼° #T35 1 ¤½¤¦¤·¤¿¤é ¤½¤¦¤·¤¿¤é #CJ 0 ¤½¤¦¤·¤Ä ÁÓ¼º #T30 1 ¤½¤¦¤·¤Æ ¤½¤¦¤·¤Æ #CJ 0 ¤½¤¦¤·¤ã Áà¼Ö #T30 1 ¤½¤¦¤·¤ã ÁÕ¼Ô #T35 0 ¤½¤¦¤·¤ã Áö¼Ô #T35 0 ¤½¤¦¤·¤å¤¦¤Ø¤ó Áí½¸ÊÔ #T35 0 ¤½¤¦¤·¤å¤Ä Á÷½Ð #T30 10 ¤½¤¦¤·¤å¤ó Áá½Õ #T35 1 ¤½¤¦¤·¤ç Áð½ñ #T35 2 ¤½¤¦¤·¤ç¤¦ ½¡¾¢ #T30 0 ¤½¤¦¤·¤ç¤¦ Áí¾Î #T30 5 ¤½¤¦¤·¤ç¤¯ Áð¿© #T30 0 ¤½¤¦¤·¤ç¤¯ Áõ¾þ #T30 10 ¤½¤¦¤·¤ó Áé¿È #T30 0 ¤½¤¦¤·¤ó Áõ¿È #T30 0 ¤½¤¦¤·¤ó Á÷¿® #T30 65 ¤½¤¦¤·¤ó¤Ü Á÷¿®Êí #T35 0 ¤½¤¦¤¸ Áê»÷ #T30 0 ¤½¤¦¤¸ Áݽü #T30 23 ¤½¤¦¤¸¤·¤ç¤¯ Áí¼­¿¦ #T30 1 ¤½¤¦¤¸¤Ä¤Ï¤¤ ·¬¼Âæõ #T35 1 ¤½¤¦¤¸¤Æ Áí¤¸¤Æ #F14 0 ¤½¤¦¤¸¤ã Áí¼Ò #CN 0 ¤½¤¦¤¸¤å Á÷¼õ #T30 2 ¤½¤¦¤¸¤å¤¦ Áà½Ä #T30 1 ¤½¤¦¤¸¤å¤¯ Áá½Ï #T05 0 ¤½¤¦¤¸¤å¤·¤ó Á÷¼õ¿® #T30 5 ¤½¤¦¤¸¤ç¤¦ Áû¾ñ #T30 0 ¤½¤¦¤¸¤ç¤¦ Áê¾è #T30 1 ¤½¤¦¤¸¤ç¤¦ Áξå #T35 1 ¤½¤¦¤¹¤¦ Áí¿ô #T35 5 ¤½¤¦¤º ÁÞ¿Þ #T35 0 ¤½¤¦¤»¤¤ ÁÏÀ½ #T30 0 ¤½¤¦¤»¤¤ ÁÑÀ¸ #T30 0 ¤½¤¦¤»¤¤ ÁáÀ #T30 0 ¤½¤¦¤»¤¤ ÁáÀ¤ #T30 1 ¤½¤¦¤»¤¤¤¸ ÁÐÀ¸»ù #T35 0 ¤½¤¦¤»¤­ ÞûÀÐ #JNM 0 ¤½¤¦¤»¤Ä ÁÏÀß #T30 2 ¤½¤¦¤¼¤¤ ÁíÀª #T35 1 ¤½¤¦¤¼¤Ä ÁÔÀä #T05 1 ¤½¤¦¤¼¤ó ÁûÁ³ #F00 0 ¤½¤¦¤½¤¦ ¹ #F02 0 ¤½¤¦¤½¤¦ Á𡹠#T35 2 ¤½¤¦¤½¤¦ Á᡹ #T35 41 ¤½¤¦¤¾¤¦ Á÷Áü #T30 1 ¤½¤¦¤¾¤¦ ÁϤ #T30 2 ¤½¤¦¤¾¤¦ ÁÛÁü #T30 20 ¤½¤¦¤¾¤¦¤· Áû¡¹¤· #KY 0 ¤½¤¦¤¾¤¦¤·¤å¤¦ Áû¡¹¤·¤å¤¦ #KYU 0 ¤½¤¦¤¾¤¯ Áê³ #T30 2 ¤½¤¦¤¿¤¤ ÁáÂà #T30 22 ¤½¤¦¤¿¤¤ ÁíÂÎ #T35 0 ¤½¤¦¤¿¤¤ ÁêÂÐ #T35 28 ¤½¤¦¤¿¤¤¤Á ÁêÂÐÃÍ #T35 0 ¤½¤¦¤¿¤¤¤Æ¤­ ÁêÂÐŪ #T15 0 ¤½¤¦¤¿¤Ä Á÷ã #T30 1 ¤½¤¦¤À ÁàÂÉ #T30 0 ¤½¤¦¤À¤¤ ÁáÂç #KK 1 ¤½¤¦¤À¤¤ ÁÔÂç #T05 1 ¤½¤¦¤À¤¤ ÁíÂå #T35 0 ¤½¤¦¤À¤« Áí¹â #T35 0 ¤½¤¦¤À¤Á ÁíΩ¤Á #T35 0 ¤½¤¦¤À¤Ä ÁèÃ¥ #T30 0 ¤½¤¦¤À¤ó ÁêÃÌ #T30 57 ¤½¤¦¤À¤ó¤·¤ç ÁêÃ̽ê #T35 0 ¤½¤¦¤Á Á÷Ã× #T30 0 ¤½¤¦¤Á ÁõÃÖ #T30 74 ¤½¤¦¤Á¤ã¤¯ ÁõÃå #T30 1 ¤½¤¦¤Á¤ç¤¦ Áñ½Å #T05 0 ¤½¤¦¤Á¤ç¤¦ ÁíĹ #T35 0 ¤½¤¦¤Á¤ç¤¦ ÁáÄ« #T35 7 ¤½¤¦¤Ä¤¤ ÁÐÂÐ #T05 1 ¤½¤¦¤Æ¤¤ ÁõÃú #T30 0 ¤½¤¦¤Æ¤¤ Á÷Äè #T30 0 ¤½¤¦¤Æ¤¤ ÁÛÄê #T30 17 ¤½¤¦¤Æ¤ó ÁèÅÀ #T35 1 ¤½¤¦¤Æ¤ó¤¤ Áêž°Ü #T30 0 ¤½¤¦¤Ç Áí½Ð #T35 0 ¤½¤¦¤Ç¤¹¤¬ ¤½¤¦¤Ç¤¹¤¬ #CJ 0 ¤½¤¦¤Ç¤ó Á÷ÅÅ #T30 1 ¤½¤¦¤È ÁÔ¿Þ #T35 0 ¤½¤¦¤È ÁÔÅÓ #T35 0 ¤½¤¦¤È¤¦ ÁêÅö #T00 27 ¤½¤¦¤È¤¦ ÁÝÆ¤ #T30 0 ¤½¤¦¤È¤¦ ÁíÅý #T35 0 ¤½¤¦¤È¤¦ ÁÐÆ¬ #T35 1 ¤½¤¦¤È¤¯ ÁíÆÄ #T35 0 ¤½¤¦¤É¤¦ Áûư #T35 0 ¤½¤¦¤É¤¦ ÁêÆ± #T35 1 ¤½¤¦¤Ê¤ó ÁøÆñ #T30 1 ¤½¤¦¤Ë¤å¤¦ ÁÞÆþ #T30 102 ¤½¤¦¤Í¤ó ÁÔǯ #T35 0 ¤½¤¦¤Ï Áßਠ#T30 0 ¤½¤¦¤Ï ÁöÇË #T30 0 ¤½¤¦¤Ï¤¤ Á÷ÇÛ #T30 0 ¤½¤¦¤Ï¤Ä ÁÏȯ #T30 0 ¤½¤¦¤Ï¤ó ÁêÈ¿ #T30 1 ¤½¤¦¤Ð Áê¾ì #T35 2 ¤½¤¦¤Ð¤ó ÁáÈÕ #T35 1 ¤½¤¦¤Ò¤ç¤¦ Áíɾ #T35 1 ¤½¤¦¤Ó ÁõÈ÷ #T30 3 ¤½¤¦¤Ó¤ç¤¦ í¯É #T35 0 ¤½¤¦¤Õ Á÷ÉÕ #T30 121 ¤½¤¦¤Õ¤¦ Á÷É÷ #T30 0 ¤½¤¦¤Ù¤Ä ÁÔÊÍ #CN 0 ¤½¤¦¤Ù¤Ä Á÷ÊÌ #T30 23 ¤½¤¦¤Û ÁêÊä #T30 2 ¤½¤¦¤Û¤¦ ÁÐÊý #T35 3 ¤½¤¦¤Û¤¦¤³¤¦ ÁÐÊý¸þ #T35 11 ¤½¤¦¤Û¤µ ÁêÊ亿 #T35 1 ¤½¤¦¤Û¤Æ¤­ ÁêÊäŪ #T15 0 ¤½¤¦¤Þ ÁêÇÏ #JCN 0 ¤½¤¦¤à ÁÏÌ´ #KK 10 ¤½¤¦¤à Áí̳ #T35 11 ¤½¤¦¤à¤·¤ç¤¦ Áí̳¾Ê #KK 0 ¤½¤¦¤á¤¤ ÁïÌÀ #T05 0 ¤½¤¦¤á¤¤ æâÌÀ #T05 1 ¤½¤¦¤á¤ó ÁÇÌÍ #T35 4 ¤½¤¦¤ä ½¡Ã« #JCN 0 ¤½¤¦¤è¤¦ ÁõÍÑ #T30 1 ¤½¤¦¤è¤¦ ÁßáÚ #T35 1 ¤½¤¦¤é¤¯ Áê³Ú #CN 0 ¤½¤¦¤é¤ó ÁíÍ÷ #T30 0 ¤½¤¦¤é¤ó ÁûÍð #T35 0 ¤½¤¦¤ê ÁíÍý #T35 2 ¤½¤¦¤ê¤Ä ÁÏΩ #T30 0 ¤½¤¦¤ê¤Õ ÁíÍýÉÜ #T35 1 ¤½¤¦¤ê¤ç ÁÎη #T35 1 ¤½¤¦¤ê¤ç¤¦ ÁíÎÎ #JCN 0 ¤½¤¦¤ê¤ç¤¦ ÁíÎÌ #T35 1 ¤½¤¦¤ê¤ç¤¦ Á÷ÎÁ #T35 4 ¤½¤¦¤ê¤ç¤¯ ÁíÎÏ #T35 1 ¤½¤¦¤ë ¥½¥¦¥ë #CN 0 ¤½¤¦¤ë¤¤ ÁöÎÝ #T30 0 ¤½¤¦¤ì¤Ä ÁÔÎõ #T05 0 ¤½¤¦¤í¤¦ ¸õ #T35 2 ¤½¤¦¤í¤ó ÁíÏÀ #T30 1 ¤½¤¦¤ï ÁíÏ #CN 0 ¤½¤¦¤ï ÁÞÏà #T35 1 ¤½¤¦¤ï ÁíÏ #T35 2 ¤½¤¨ ¤½¤¨ #KSr 11 ¤½¤¨ ꤍ #KSr 3 ¤½¤¨¤«¤ß ź¾å #CN 0 ¤½¤¨¤¸ ź»ú #T35 10 ¤½¤¨¤À źÅÄ #JCN 0 ¤½¤¨¤ó Á±ó #T05 0 ¤½¤ª Á½±÷ #CN 0 ¤½¤ª Á¾±÷ #CN 0 ¤½¤«¤¤ Á³« #T30 2 ¤½¤«¤¯ ÁÂ³Ö #T30 0 ¤½¤«¤¯ ÁÈ³Õ #T30 0 ¤½¤¬ Áɲæ #JCN 0 ¤½¤¬ Á½²æ #JNS 0 ¤½¤¬ Á¾²æ #JNS 0 ¤½¤¬¤¤ Á³° #T30 2 ¤½¤¬¤¤ Á˳² #T30 4 ¤½¤­¤å¤¦ ÁÌµÚ #T30 0 ¤½¤¯ « #JS 0 ¤½¤¯ ­ #JS 1 ¤½¤¯ ºÉ #KJ 0 ¤½¤¯ Â¥ #KJ 0 ¤½¤¯ § #KJ 1 ¤½¤¯ ¬ #KJ 1 ¤½¤¯ ª #KJ 2 ¤½¤¯ ® #KJ 2 ¤½¤¯ ¦ #KJ 4 ¤½¤¯ § #S5 4 ¤½¤¯ ¨ #T30 47 ¤½¤¯ © #T35 1 ¤½¤¯ « #T35 1 ¤½¤¯ ­ #T35 1 ¤½¤¯ § #T35 4 ¤½¤¯¤¤ ¨°Ì #T30 0 ¤½¤¯¤ª¤¦ ¨±þ #T30 0 ¤½¤¯¤ª¤ó Â¥²» #T35 0 ¤½¤¯¤µ ¦º¿ #T35 1 ¤½¤¯¤¶ ¨ºÂ #T15 5 ¤½¤¯¤· ¨»à #T30 0 ¤½¤¯¤·¤ó Â¥¿Ê #T30 5 ¤½¤¯¤¸ ¨»þ #T35 2 ¤½¤¯¤»¤¤ Â¥À® #T30 1 ¤½¤¯¤»¤­ ¨ÀÊ #T35 0 ¤½¤¯¤»¤­ ­À× #T35 0 ¤½¤¯¤¿¤¤ «ÂÓ #T35 0 ¤½¤¯¤¿¤Ä ®ã #T35 1 ¤½¤¯¤À¤¯ ¨Âú #T30 0 ¤½¤¯¤À¤ó ¨ÃÇ #T30 1 ¤½¤¯¤Á ¬ÃÏ #T30 1 ¤½¤¯¤Á ¨ÃÍ #T35 2 ¤½¤¯¤Æ¤¤ ¬Äê #T30 30 ¤½¤¯¤È¤¦ ®Åú #T30 0 ¤½¤¯¤È¤¦ ¨Åú #T30 1 ¤½¤¯¤È¤¦¤è¤¦ ¦ƬÍÕ #T35 0 ¤½¤¯¤É ¬ÅÙ #T35 2 ¤½¤¯¤É ®ÅÙ #T35 52 ¤½¤¯¤Ï¤Ä ¨ȯ #T30 0 ¤½¤¯¤Ð¤¤ ¨Çä #T30 1 ¤½¤¯¤Ð¤¯ «Çû #T30 13 ¤½¤¯¤Ö¤Ä¤Æ¤­ ¨ʪŪ #T15 0 ¤½¤¯¤Û¤¦ ®Êó #T30 0 ¤½¤¯¤á¤ó ¦ÌÌ #T35 5 ¤½¤¯¤é¤Æ¤¹ ¥½¥¯¥é¥Æ¥¹ #JN 0 ¤½¤¯¤ê¤ç¤¦ ¬ÎÌ #T30 0 ¤½¤¯¤ê¤ç¤¯ ®ÎÏ #T35 0 ¤½¤¯¤í¤¦ ­ϫ #T35 1 ¤½¤° ¤½¤° #W5 2 ¤½¤±¤Ã¤È ¥½¥±¥Ã¥È #T35 17 ¤½¤²¤­ ÁÀ·â #T30 0 ¤½¤³ ¤½¤³ #T35 117 ¤½¤³ Äì #T35 29 ¤½¤³¤¦ ÁÇ¹Ô #T35 0 ¤½¤³¤¯ ÁĹñ #T35 0 ¤½¤³¤½¤³ ¤½¤³¤½¤³ #T35 1 ¤½¤³¤Â¤«¤é ÄìÎÏ #T35 0 ¤½¤³¤Ç ¤½¤³¤Ç #CJ 29 ¤½¤³¤Ê »¤Ê #W5 3 ¤½¤³¤Í »¤Í #KSr 6 ¤½¤³¤Í ÄìÃÍ #T35 0 ¤½¤³¤Ï¤«¤È¤Ê ¤½¤³¤Ï¤«¤È¤Ê #KY 0 ¤½¤³¤Ï¤«¤È¤Î¤¦ ¤½¤³¤Ï¤«¤È¤Î¤¦ #KYU 0 ¤½¤³¤Ó¤¨ ÄìÎ䤨 #T30 0 ¤½¤³¤Ó¤­ Äì°ú¤­ #T35 0 ¤½¤³¤é ¤½¤³¤é #T35 4 ¤½¤´ óòó÷ #T30 0 ¤½¤´¤¦ ¤½¤´¤¦ #KK 2 ¤½¤µ¤¤ èöºÚ #T35 0 ¤½¤¶¤¤ ÁǺà #T35 4 ¤½¤¶¤Ä ÁÆ»¨ #T05 0 ¤½¤· Èð #R5r 1 ¤½¤· ÁË»ß #T30 2 ¤½¤· ÁÇ»Ò #T35 14 ¤½¤·¤­ ÁÈ¿¥ #T30 119 ¤½¤·¤Ä ÁǼÁ #T35 1 ¤½¤·¤Æ ¤½¤·¤Æ #CJ 51 ¤½¤·¤Ê ÁÆÉÊ #T35 1 ¤½¤·¤ã¤¯ ÁÅ¼Ú #T30 0 ¤½¤·¤ã¤¯ ÒòÓð #T30 1 ¤½¤·¤ç¤¦ Áʾ٠#T30 1 ¤½¤·¤ç¤¯ ÁÆ¿© #T30 0 ¤½¤¸ ÁÇÃÏ #T35 0 ¤½¤¸¤ç¤¦ Þê¾å #T30 0 ¤½¤¸¤ç¤¦ Áʾõ #T35 0 ¤½¤¸¤ç¤¦ ÐÙ¾å #T35 0 ¤½¤¹¤¤ Á¿å #T35 0 ¤½¤¹¤¦ ÁÇ¿ô #T35 0 ¤½¤»¤¤ ÁÇÀ­ #T35 0 ¤½¤»¤¤ ÁÈÀ® #T30 0 ¤½¤»¤¤ ÁÉÀ¸ #T30 0 ¤½¤»¤¤ ÁÆÀ½ #T35 0 ¤½¤»¤ó ÁÄÀè #T35 1 ¤½¤½ Á¿¡¹ #F00 1 ¤½¤½ ¤½¤½ #G5 1 ¤½¤½ Ãí #G5 3 ¤½¤½¤¦ ÁÆÁê #T30 0 ¤½¤½¤®¤°¤Á Ãí¤®¸ý #T35 0 ¤½¤½¤Î¤« º¶ #S5 0 ¤½¤½¤ê¤¿ ¤½¤½¤êΩ #T5 0 ¤½¤¾¤í ¤½¤¾¤í #T16 0 ¤½¤À °é #T5r 3 ¤½¤À¤¤ ÁÆÂç #T05 2 ¤½¤À¤Æ °é¤Æ #KSr 11 ¤½¤À¤Æ¤¢¤² °é¤Æ¾å¤² #KSr 0 ¤½¤Á Á¼ÃÖ #T30 4 ¤½¤Á¤é ¤½¤Á¤é #T35 101 ¤½¤Ã¤­ ®µ­ #T30 0 ¤½¤Ã¤­¤å¤¦ ®µÞ #T05 1 ¤½¤Ã¤­¤ç¤¦ ¨¶½ #T35 0 ¤½¤Ã¤­¤ó ¦¶á #T35 0 ¤½¤Ã¤­¤ó ¨¶â #T35 0 ¤½¤Ã¤¯¤ê ¤½¤Ã¤¯¤ê #T06 2 ¤½¤Ã¤±¤Ä ¨·è #T30 0 ¤½¤Ã¤±¤Ê ¤½¤Ã¤±¤Ê #KY 1 ¤½¤Ã¤±¤Î¤¦ ¤½¤Ã¤±¤Î¤¦ #KYU 1 ¤½¤Ã¤³¤¦ ®¹¶ #T30 2 ¤½¤Ã¤³¤¦ ¨¸ú #T35 1 ¤½¤Ã¤³¤¦¤¸¤ç ¬¸õ½ê #T35 0 ¤½¤Ã¤³¤¯ ¨¹ï #T35 0 ¤½¤Ã¤»¤ó ΨÀè #T30 0 ¤½¤Ã¤Á ¤½¤Ã¤Á #T35 10 ¤½¤Ã¤Á¤Î¤± ¤½¤Ã¤Á¤Î¤± #T15 0 ¤½¤Ã¤Á¤å¤¦ Â´Ãæ #T35 0 ¤½¤Ã¤Á¤ç¤¯ Ψľ #T05 1 ¤½¤Ã¤È ¤½¤Ã¤È #F14 2 ¤½¤Ã¤È ¤½¤Ã¤È #T36 0 ¤½¤Ã¤È¤¦ ´ÅÝ #T30 0 ¤½¤Ã¤×¤¬¤¿ ¥½¥Ã¥×·Á #T15 0 ¤½¤Ã¤Ý ¤½¤Ã¤Ý #T35 0 ¤½¤Ä Ψ #KJ 0 ¤½¤Ä ´ #T35 14 ¤½¤Ä¤¦ ÁÂÄÌ #T30 1 ¤½¤Ä¤®¤ç¤¦ ´¶È #T30 14 ¤½¤Ä¤®¤ç¤¦¤·¤­ ´¶È¼° #T35 0 ¤½¤Ä¤±¤ó ´¸¡ #T35 0 ¤½¤Ä¤¸¤å ´¼÷ #T35 0 ¤½¤Ä¤í¤ó ´ÏÀ #T35 22 ¤½¤Æ¡¼ ¥½¥Æ¡¼ #T35 0 ¤½¤Æ¤¤ Á¼Äê #T30 0 ¤½¤Ç µ #T35 1 ¤½¤Ç¤¬¤¦¤é µ¥ö±º #CN 0 ¤½¤È ³° #T35 67 ¤½¤È¤¬¤ï ³°Â¦ #T35 5 ¤½¤È¤Å¤é ³°ÌÌ #T35 0 ¤½¤È¤Þ¤ï¤ê ³°²ó¤ê #T35 1 ¤½¤È¤á ³°³¤ #CN 0 ¤½¤Ê¡¼ ¥½¥Ê¡¼ #T35 0 ¤½¤Ê¤¨ ¶¡¤¨ #KSr 1 ¤½¤Ê¤¨ È÷¤¨ #KSr 10 ¤½¤Ê¤¨¤Ä¤± È÷¤¨ÉÕ¤± #KSr 0 ¤½¤Ê¤¿ ¥½¥Ê¥¿ #T35 1 ¤½¤Ê¤ï È÷¤ï #R5r 2 ¤½¤Ë Á½¼¤ #CN 0 ¤½¤Ë¡¼ ¥½¥Ë¡¼ #KK 11 ¤½¤Í Á¾º¬ #JCN 0 ¤½¤Í Á½º¬ #JNS 0 ¤½¤Í ¤½¤Í #M5r 0 ¤½¤Í ¼» #M5r 0 ¤½¤Í¤¶¤­ Á¾º¬ºê #JCN 0 ¤½¤Î ±ñ #KJ 0 ¤½¤Î ±ò #KJ 0 ¤½¤Î ¶ #RT 1 ¤½¤Î ¤½¤Î #RT 255 ¤½¤Î ±à #T35 2 ¤½¤Î¤¦¤Á ¤½¤Î¤¦¤Á #F14 26 ¤½¤Î¤¦¤Á ¤½¤Î¤¦¤Á #T16 0 ¤½¤Î¤® ÈàµÏ #CN 0 ¤½¤Î¤³¤È ¤½¤Î¤³¤È #T35 6 ¤½¤Î¤¿ ¤½¤Î¾ #T35 217 ¤½¤Î¤¿¤á ¤½¤Î¤¿¤á #F14 63 ¤½¤Î¤¿¤á ¤½¤Î¤¿¤á #T36 57 ¤½¤Î¤À ±àÅÄ #JNS 0 ¤½¤Î¤Ù ±àÉô #JCN 0 ¤½¤Î¤Þ¤Þ ¤½¤Î¤Þ¤Þ #F14 62 ¤½¤Î¤Þ¤Þ ¤½¤Î¤Þ¤Þ #T35 78 ¤½¤Î¤â¤Î ¤½¤Î¤â¤Î #T35 12 ¤½¤Î¤è¤¦ ¤½¤Î¤è¤¦ #T05 33 ¤½¤Î¤è¤¦ ¤½¤ÎÍÍ #T05 6 ¤½¤Ð ¶¾Çþ #T35 1 ¤½¤Ð ¦ #T35 1 ¤½¤Ð ¤½¤Ð #T35 33 ¤½¤Ð¤³ ¤½¤ÐÊ´ #T35 0 ¤½¤Ð¤³ ¶¾ÇþÊ´ #T35 0 ¤½¤Ó¤¨¤¿ ¤½¤Ó¤¨Î© #T5 0 ¤½¤Ó¤¨¤È ¥½¥Ó¥¨¥È #CN 0 ¤½¤Ó¤ç¤¦ ÁÇÉÁ #T30 0 ¤½¤Ó¤ì ¤½¤Ó¤ì #KS 0 ¤½¤Õ ÁÄÉã #T35 4 ¤½¤Õ¤£¤¹¤Æ¤£¤±¡¼¤È ¥½¥Õ¥£¥¹¥Æ¥£¥±¡¼¥È #T30 0 ¤½¤Õ¤£¤¹¤È ¥½¥Õ¥£¥¹¥È #T35 0 ¤½¤Õ¤È ¥½¥Õ¥È #T05 95 ¤½¤Õ¤È¤¦¤§¤¢ ¥½¥Õ¥È¥¦¥§¥¢ #T35 200 ¤½¤Õ¤È¤¦¤¨¤¢ ¥½¥Õ¥È¥¦¥¨¥¢ #T35 12 ¤½¤Õ¤È¤Ð¤ó¤¯ ¥½¥Õ¥È¥Ð¥ó¥¯ #KK 1 ¤½¤Õ¤Ü ÁÄÉãÊì #T35 1 ¤½¤Ö¤¨ ÁÄÉã¹¾ #JCN 0 ¤½¤Ø¤ó ÁÇÊÒ #T35 2 ¤½¤Û¤¦ ÁÆÊü #T05 0 ¤½¤Ü ÁÄÊì #T35 2 ¤½¤Ü¤¦ ÁÆË½ #T05 1 ¤½¤Ü¤¯ ÁÇËÑ #T05 4 ¤½¤Ü¤í ¤½¤Ü¤í #T35 0 ¤½¤Þ À÷¤Þ #R5 1 ¤½¤Þ¤Ä ÁÆËö #T05 4 ¤½¤à ÇØ #K5 1 ¤½¤á ½é¤á #KS 3 ¤½¤á À÷¤á #KS 3 ¤½¤á¤À À÷¤á½Ð #S5r 0 ¤½¤á¤Ä¤± À÷¤áÉÕ¤± #KSr 0 ¤½¤á¤â¤Î À÷ʪ #T30 0 ¤½¤á¤ä À÷ë #JNS 0 ¤½¤â¤½¤â ¤½¤â¤½¤â #F14 5 ¤½¤â¤½¤â ¤½¤â¤½¤â #T35 4 ¤½¤ä ÁÆÌî #T05 0 ¤½¤è ¤½¤è #G5r 1 ¤½¤è¤¦ ÁÉÍÛ #CN 0 ¤½¤è¤¦ ÁÇÍÜ #T35 1 ¤½¤è¤«¤¼ ¤½¤èÉ÷ #T35 1 ¤½¤é °ï¤é #S5 0 ¤½¤é È¿¤é #S5 0 ¤½¤é °ï #S5 1 ¤½¤é ¶õ #T35 26 ¤½¤é¤ª¤½¤í¤· ¤½¤é¶²¤í¤· #KY 0 ¤½¤é¤ª¤½¤í¤·¤å¤¦ ¤½¤é¶²¤í¤·¤å¤¦ #KYU 0 ¤½¤é¤Á ¶õÃÎ #CN 0 ¤½¤é¤Ê¤ß¤À ¶õÎÞ #T35 0 ¤½¤ê¤«¤¨ È¿¤êÊÖ #R5r 0 ¤½¤ê¤Ã¤É ¥½¥ê¥Ã¥É #T35 4 ¤½¤ê¤ã¤¯ ÁÆÎ¬ #T05 0 ¤½¤ê¤å¤¦¤· ÁÇγ»Ò #T35 1 ¤½¤ë ¥½¥ë #KK 2 ¤½¤ì °ï¤ì #KSr 3 ¤½¤ì ¤½¤ì #KSr 80 ¤½¤ì ¤½¤ì #T35 243 ¤½¤ì¤¾¤ì ¶¡¹ #T35 16 ¤½¤ì¤¾¤ì Éס¹ #T35 16 ¤½¤ì¤¾¤ì ¤½¤ì¤¾¤ì #T35 86 ¤½¤ì¤À¤± ¤½¤ì¤À¤± #T35 0 ¤½¤ì¤Û¤É ¤½¤ì¤Û¤É #F14 18 ¤½¤ì¤Û¤É ¤½¤ì¤Û¤É #T16 0 ¤½¤ì¤é ¤½¤ì¤é #T35 0 ¤½¤ì¤é¤Î ¤½¤ì¤é¤Î #RT 19 ¤½¤ì¤ó ¥½Ï¢ #CN 0 ¤½¤í · #W5r 25 ¤½¤í¤¨ ¤½¤í¤¨ #KSr 1 ¤½¤í¤¨ ·¤¨ #KSr 1 ¤½¤í¤½¤í ¤½¤í¤½¤í #F14 28 ¤½¤í¤½¤í ¤½¤í¤½¤í #T16 0 ¤½¤ó ¼ #CNSUC1 28 ¤½¤ó ±½ #KJ 0 ¤½¤ó » #KJ 0 ¤½¤ó ¹ #KJ 1 ¤½¤ó ½ #KJ 1 ¤½¤ó î· #KJ 1 ¤½¤ó º #KJ 2 ¤½¤ó » #T10 10 ¤½¤ó ¸ #T30 1 ¤½¤ó ¼ #T35 0 ¤½¤ó » #ZX 8 ¤½¤ó¤¨¤¤ ¼±Ä #T35 0 ¤½¤ó¤¨¤­ »±× #T35 0 ¤½¤ó¤«¤¤ »²õ #T30 0 ¤½¤ó¤¬¤¤ »³² #T30 1 ¤½¤ó¤° ¥½¥ó¥° #T35 1 ¤½¤ó¤±¤¤ º·É #T30 2 ¤½¤ó¤²¤ó º¸· #T05 1 ¤½¤ó¤¶¤¤ ¸ºß #T30 255 ¤½¤ó¤·¤Ä »¼º #T30 1 ¤½¤ó¤·¤ç¤¦ º¾Î #T30 0 ¤½¤ó¤·¤ç¤¦ »½ý #T30 3 ¤½¤ó¤·¤ç¤¯ ½¿§ #T35 1 ¤½¤ó¤¾¤¯ ¸³ #T30 1 ¤½¤ó¤¾¤¯ º° #T35 0 ¤½¤ó¤¿¤¯ ×ÖÅÙ #T30 0 ¤½¤ó¤À¤¤ ºÂç #T05 1 ¤½¤ó¤Á ¸ÃÖ #T30 0 ¤½¤ó¤Á¤ç¤¦ º½Å #T30 6 ¤½¤ó¤Á¤ç¤¦ ¼Ĺ #T35 0 ¤½¤ó¤È¤¯ »ÆÀ #T35 0 ¤½¤ó¤Ê ¤½¤ó¤Ê #RT 74 ¤½¤ó¤Ê ¤½¤ó¤Ê #T05 65 ¤½¤ó¤Ü¤¦ ¸˴ #T35 1 ¤½¤ó¤ß¤ó ¼̱ #T35 1 ¤½¤ó¤â¤¦ »Ì× #T30 0 ¤½¤ó¤é¤¯ ¼Íî #T35 0 ¤½¤ó¤ê¤Ä ¸Ω #T30 1 ¤½¤ó¤ê¤Ä ¼Ω #T35 0 ¤¾¤¤ ±è¤¤ #SUC 7 ¤¾¤¦ »¨ #KJ 0 ¤¾¤¦ ¡ #KJ 0 ¤¾¤¦ £ #KJ 0 ¤¾¤¦ Áþ #KJ 1 ¤¾¤¦ ¤ #KJ 1 ¤¾¤¦ Á¹ #KJ 4 ¤¾¤¦ ¢ #T30 49 ¤¾¤¦ ¾Ý #T35 11 ¤¾¤¦ Áý #T35 11 ¤¾¤¦ Áü #T35 12 ¤¾¤¦¤¤¤ó Áý°÷ #T30 1 ¤¾¤¦¤¨¤¤ ¤±Ä #T30 0 ¤¾¤¦¤¨¤­ Áý±× #T30 0 ¤¾¤¦¤¨¤ó Áý±ç #T30 0 ¤¾¤¦¤¨¤ó ¤±à #T30 0 ¤¾¤¦¤ª Áþ°­ #T30 1 ¤¾¤¦¤« Áý²Ã #T30 51 ¤¾¤¦¤« ¤²Ö #T35 0 ¤¾¤¦¤«¤ó Áý´© #T30 1 ¤¾¤¦¤¬¤¯ Áý³Û #T30 0 ¤¾¤¦¤­ »¨ÌÚ #T35 0 ¤¾¤¦¤­ ¡´ï #T35 0 ¤¾¤¦¤­¤Ð¤ä¤· »¨ÌÚÎÓ #T35 0 ¤¾¤¦¤­¤ç¤¦ Áý¶¯ #T30 6 ¤¾¤¦¤­¤ó ¤¾¤¦¤­¤ó #T35 0 ¤¾¤¦¤­¤ó »¨¶Ò #T35 0 ¤¾¤¦¤±¤¤ ¤·Á #T30 0 ¤¾¤¦¤±¤¤ ¤·Ø #T35 2 ¤¾¤¦¤±¤Ä Áý·ë #T30 0 ¤¾¤¦¤² ¾Ý²ç #T35 1 ¤¾¤¦¤²¤ó Áý¸º #T30 1 ¤¾¤¦¤´ ¤¸ì #T30 1 ¤¾¤¦¤´¤ó »¨¸À #T30 0 ¤¾¤¦¤µ ¤ºî #T35 0 ¤¾¤¦¤µ¤¯ Áýºî #T30 0 ¤¾¤¦¤µ¤¯ ¤ºî #T30 0 ¤¾¤¦¤µ¤Ä Áýºþ #T30 2 ¤¾¤¦¤µ¤ó Áý»º #T30 2 ¤¾¤¦¤· Áý»ñ #T30 0 ¤¾¤¦¤·¤å¤¦ Áý¼ý #T30 0 ¤¾¤¦¤·¤ç ¢½ñ #T30 2 ¤¾¤¦¤·¤ç¤¦ ¢Áê #T35 0 ¤¾¤¦¤·¤ç¤¯ Áý¿£ #T30 1 ¤¾¤¦¤·¤ó Áý¿Ê #T30 1 ¤¾¤¦¤¹¤¤ Áý¿å #T30 6 ¤¾¤¦¤¹¤¤ »¨¿æ #T35 2 ¤¾¤¦¤»¤¤ ¤À® #T30 0 ¤¾¤¦¤»¤¤ ÁýÀ¸ #T30 1 ¤¾¤¦¤»¤Ä ÁýÀß #T30 12 ¤¾¤¦¤»¤ó ¤Á¥ #T30 1 ¤¾¤¦¤¼¤¤ ÁýÀÇ #T30 1 ¤¾¤¦¤À¤¤ ÁýÂç #T30 13 ¤¾¤¦¤Á¤¯ ÁýÃÛ #T30 0 ¤¾¤¦¤Á¤ç¤¦ ÁýĹ #T30 0 ¤¾¤¦¤Æ¤¤ £Äè #T30 0 ¤¾¤¦¤È¤¦ £Åú #T30 0 ¤¾¤¦¤Ë »¨¼Ñ #T35 0 ¤¾¤¦¤Ï¤Ä Áýȯ #T30 0 ¤¾¤¦¤Ó¤ó ÁýÊØ #T30 0 ¤¾¤¦¤Õ¤¯ ÁýÉý #T30 1 ¤¾¤¦¤Ö¤ó Áýʬ #T35 2 ¤¾¤¦¤Û ÁýÊä #T30 0 ¤¾¤¦¤à¤· ¾ÝÃî #T35 0 ¤¾¤¦¤è £Ϳ #T30 1 ¤¾¤¦¤ê ÁðÍú #T35 2 ¤¾¤¦¤ê¤ç¤¯ ÁýÎÏ #T30 0 ¤¾¤¦¤ê¤ó ¤ÎÓ #T30 0 ¤¾¤¦¤ï¤¤ £ÏÅ #T30 0 ¤¾¤¯ « #JS 0 ¤¾¤¯ ­ #JS 0 ¤¾¤¯ ³ #KJ 3 ¤¾¤¯ ° #S5 55 ¤¾¤¯ ² #SUC 0 ¤¾¤¯ ¯ #T05 2 ¤¾¤¯ ° #T30 53 ¤¾¤¯ ² #T35 0 ¤¾¤¯ ± #T35 2 ¤¾¤¯¤¢¤¯ ¯°­ #T05 0 ¤¾¤¯¤´ ¯¸ì #T35 1 ¤¾¤¯¤·¤å¤¦ ¯½¬ #T35 0 ¤¾¤¯¤·¤å¤Ä ³½Ð #T30 1 ¤¾¤¯¤·¤ç¤¦ ¯¾Î #T30 0 ¤¾¤¯¤·¤ó ³¿­ #T30 0 ¤¾¤¯¤¸ ¯»ú #T35 0 ¤¾¤¯¤¸¤ó °¿Í #T35 0 ¤¾¤¯¤»¤¤ °À­ #T35 108 ¤¾¤¯¤»¤¤¤Á °À­ÃÍ #T35 7 ¤¾¤¯¤»¤Ä ¯Àâ #T30 1 ¤¾¤¯¤¾¤¯ ¤¾¤¯¤¾¤¯ #F05 0 ¤¾¤¯¤¾¤¯ ³¡¹ #F14 4 ¤¾¤¯¤¾¤¯ ³¡¹ #T36 0 ¤¾¤¯¤Á °ÃÏ #T35 0 ¤¾¤¯¤È¤¦ ³Åê #T30 0 ¤¾¤¯¤È¤¦ ³ƭ #T30 0 ¤¾¤¯¤Ï¤Ä ³ȯ #T30 0 ¤¾¤¯¤Ö¤Ä ¯ʪ #T35 0 ¤¾¤¯¤Ø¤ó ³ÊÔ #T35 2 ¤¾¤¯¤Û¤¦ ³Êó #T30 4 ¤¾¤¯¤é¤¯ ³Íî #T30 0 ¤¾¤¯¤ê¤å¤¦ ¯ή #T35 0 ¤¾¤¯¤ê¤å¤¦ °Àγ #T35 1 ¤¾¤¯¤í¤ó ¯ÏÀ #T30 1 ¤¾¤Ã¤« ¯²½ #T30 0 ¤¾¤Ã¤³¤¦ ³¹Ô #T30 3 ¤¾¤á ½é¤á #D2T35 0 ¤¾¤ë ¥¾¥ë #T35 1 ¤¾¤í¤¢¤¹¤¿¡¼ ¥¾¥í¥¢¥¹¥¿¡¼ #KK 1 ¤¾¤í¤¨ ·¤¨ #SUC 4 ¤¾¤í¤¨ ·¤¨ #T35 0 ¤¾¤í¤¾¤í ¤¾¤í¤¾¤í #F04 0 ¤¾¤í¤¾¤í ¤¾¤í¤¾¤í #T36 0 ¤¾¤ó ¸ #KJ 4 ¤¾¤ó ¸ #ZX 12 ¤¾¤ó¤¬¤¤ ¸³° #T05 0 ¤¾¤ó¤¶¤¤ ¤¾¤ó¤¶¤¤ #T05 0 ¤¾¤ó¤¸¤¢¤² ¸¤¸¾å¤² #KS 1 ¤¾¤ó¤Ö¤ó ¸ʬ #T15 0 ¤¾¤ó¤á¤¤ ¸̿ #T30 0 Canna37p3/dic/ideo/pubdic/t.p0100644000076500001200000033265507766307311015246 0ustar shinraadmin¤¿ ʲ #K5 1 ¤¿ ¿æ #K5 4 ¤¿ ÏÍ #KJ 0 ¤¿ ¿ #KJ 13 ¤¿ ÂÁ #KJ 2 ¤¿ ÂÀ #KJ 9 ¤¿ ¾ #PRE 0 ¤¿ ¿ #PRE 0 ¤¿ ­ #R5 5 ¤¿ ­ #S5r 39 ¤¿ ¾ #T35 255 ¤¿ ÅÄ #T35 95 ¤¿ µ¯ #T5 0 ¤¿ ºÛ #T5 0 ¤¿ ·ú #T5 1 ¤¿ ÃÇ #T5 1 ¤¿ ȯ #T5 14 ¤¿ Ω #T5 145 ¤¿ Àä #T5 3 ¤¿ ¤¿ #T5 55 ¤¿ ·Ð #T5 55 ¤¿¡¼¤²¤Ã¤È ¥¿¡¼¥²¥Ã¥È #T35 13 ¤¿¡¼¤È¤ë ¥¿¡¼¥È¥ë #T35 3 ¤¿¡¼¤Ó¤ó ¥¿¡¼¥Ó¥ó #T35 1 ¤¿¡¼¤Ü ¥¿¡¼¥Ü #T35 1 ¤¿¡¼¤ß¤Ê¤ë ¥¿¡¼¥ß¥Ê¥ë #T35 23 ¤¿¡¼¤ß¤Í¡¼¤¿ ¥¿¡¼¥ß¥Í¡¼¥¿ #T35 4 ¤¿¡¼¤ß¤Í¡¼¤¿¡¼ ¥¿¡¼¥ß¥Í¡¼¥¿¡¼ #T35 0 ¤¿¡¼¤à ¥¿¡¼¥à #T35 1 ¤¿¡¼¤ó ¥¿¡¼¥ó #T30 16 ¤¿¤¢¤¤ ¾°¦ #T35 2 ¤¿¤¢¤¤¤Ê ¾°¦¤Ê #KY 0 ¤¿¤¢¤¤¤Î¤¦ ¾°¦¤Î¤¦ #KYU 0 ¤¿¤¤ ¥¿¥¤ #CN 0 ¤¿¤¤ ±° #KJ 0 ¤¿¤¤ ºÜ #KJ 0 ¤¿¤¤ ÂÁ #KJ 0 ¤¿¤¤ ÂÏ #KJ 0 ¤¿¤¤ ÂÒ #KJ 0 ¤¿¤¤ ÂÕ #KJ 0 ¤¿¤¤ Â× #KJ 0 ¤¿¤¤ ÂØ #KJ 0 ¤¿¤¤ ÂÛ #KJ 0 ¤¿¤¤ ÂÜ #KJ 0 ¤¿¤¤ ÂÝ #KJ 0 ¤¿¤¤ ÂÞ #KJ 0 ¤¿¤¤ Âß #KJ 0 ¤¿¤¤ Âá #KJ 0 ¤¿¤¤ Âã #KJ 0 ¤¿¤¤ Âæ #KJ 0 ¤¿¤¤ Äü #KJ 0 ¤¿¤¤ ÂÔ #KJ 1 ¤¿¤¤ ÂÚ #KJ 1 ¤¿¤¤ Âà #KJ 1 ¤¿¤¤ Âç #KJ 12 ¤¿¤¤ ÂÖ #KJ 16 ¤¿¤¤ ÂÑ #KJ 2 ¤¿¤¤ ÂÙ #KJ 2 ¤¿¤¤ ÂÀ #KJ 3 ¤¿¤¤ ÂÐ #PRE 1 ¤¿¤¤ ÂÎ #SUC 0 ¤¿¤¤ Ââ #SUC 0 ¤¿¤¤ ÂÎ #T30 14 ¤¿¤¤ ÂÐ #T30 245 ¤¿¤¤ ÂÓ #T30 6 ¤¿¤¤ Âä #T35 1 ¤¿¤¤ ¾°Õ #T35 2 ¤¿¤¤ Ââ #T35 2 ¤¿¤¤¤¢¤¿¤ê ÂÎÅö¤ê #T30 1 ¤¿¤¤¤¢¤Ã¤× ¥¿¥¤¥¢¥Ã¥× #T30 1 ¤¿¤¤¤¢¤ó ÂÐ°Æ #T35 0 ¤¿¤¤¤¢¤ó Âç°Â #T35 3 ¤¿¤¤¤¤ Âà°Ì #T30 1 ¤¿¤¤¤¤ ÂÎ°Ì #T35 0 ¤¿¤¤¤¤ Âç°Õ #T35 0 ¤¿¤¤¤¤¤­ Âç°è #T15 4 ¤¿¤¤¤¤¤­ ÂÓ°è #T35 8 ¤¿¤¤¤¤¤­¤Á Âç°èÃÍ #T35 0 ¤¿¤¤¤¤¤¯ Âΰé #T35 4 ¤¿¤¤¤¤¤¯¤«¤ó Âΰé´Û #T35 1 ¤¿¤¤¤¤¤Û¤¦ ÂаÌË¡ #T35 0 ¤¿¤¤¤¤¤ó Âౡ #T30 8 ¤¿¤¤¤¤¤ó Ââ°÷ #T35 2 ¤¿¤¤¤¨¤¤ Âç±É #CN 0 ¤¿¤¤¤¨¤¤ Âà±Å #T30 0 ¤¿¤¤¤¨¤­ ÂÎ±Õ #T35 0 ¤¿¤¤¤ª¤¦ Âбþ #T30 255 ¤¿¤¤¤ª¤ó Âβ¹ #T35 1 ¤¿¤¤¤« ÂÚ²ß #T30 0 ¤¿¤¤¤« Âಽ #T30 0 ¤¿¤¤¤« ÂѲá #T30 1 ¤¿¤¤¤« ÂѲР#T35 0 ¤¿¤¤¤« Âç²Ð #T35 0 ¤¿¤¤¤« Âç²á #T35 0 ¤¿¤¤¤« Âç²È #T35 1 ¤¿¤¤¤«¤¤ Âà²ñ #T30 0 ¤¿¤¤¤«¤¤ Â糤 #T35 1 ¤¿¤¤¤«¤¤ Âç²ñ #T35 41 ¤¿¤¤¤«¤¯ ÂÎ³Ê #T35 0 ¤¿¤¤¤«¤¯ ÂÐ³Ñ #T35 1 ¤¿¤¤¤«¤¯ ÂÐ³Ê #T35 25 ¤¿¤¤¤«¤¯¤»¤ó ÂгÑÀþ #T35 2 ¤¿¤¤¤«¤ó Âç´Ñ #CN 0 ¤¿¤¤¤«¤ó Â×´§ #T30 0 ¤¿¤¤¤«¤ó Âà´± #T30 1 ¤¿¤¤¤«¤ó ÂÑ´¨ #T35 0 ¤¿¤¤¤«¤ó Âδ¶ #T30 0 ¤¿¤¤¤«¤ó¤·¤­ Â×´§¼° #T35 0 ¤¿¤¤¤¬ Âç²Ï #T35 2 ¤¿¤¤¤¬¤¤ Âç³µ #T15 2 ¤¿¤¤¤¬¤¤ Âγ° #T35 10 ¤¿¤¤¤¬¤¤ Âг° #T35 2 ¤¿¤¤¤¬¤¯ Âà³Ø #T30 1 ¤¿¤¤¤¬¤ó ÂÐ´ß #T35 1 ¤¿¤¤¤­ Âç¼ù #JCN 0 ¤¿¤¤¤­ ÂÔµ¡ #T30 3 ¤¿¤¤¤­ Â絤 #T35 1 ¤¿¤¤¤­¤ã¤¯ ÂàµÑ #T30 0 ¤¿¤¤¤­¤å¤¦ ÂÑµ× #T35 2 ¤¿¤¤¤­¤ç Âçµó #T30 0 ¤¿¤¤¤­¤ç Âàµî #T30 1 ¤¿¤¤¤­¤ç¤¦ ÂÛ¶µ #T35 0 ¤¿¤¤¤­¤ç¤¯ ÂÐ¶É #T30 0 ¤¿¤¤¤­¤ç¤¯ ÂÀ¶Ë #T35 0 ¤¿¤¤¤­¤ç¤¯ Âç¶É #T35 1 ¤¿¤¤¤­¤ç¤¯ ÂÐ¶Ë #T35 2 ¤¿¤¤¤­¤ç¤¯¤±¤ó ÂÀ¶Ë·ý #T35 0 ¤¿¤¤¤­¤ó Âç¶â #T35 0 ¤¿¤¤¤®¤á¤¤¤Ö¤ó ÂçµÁ̾ʬ #T35 1 ¤¿¤¤¤¯¤¦ ÂιР#T35 1 ¤¿¤¤¤¯¤Ä Âà¶þ #T00 1 ¤¿¤¤¤°¤¦ ÂÔ¶ø #T30 0 ¤¿¤¤¤°¤ó Âç·² #T35 0 ¤¿¤¤¤±¤¤ Âç·Ä #T15 0 ¤¿¤¤¤±¤¤ Âη¿ #T35 1 ¤¿¤¤¤±¤¤ ÂÎ·Ï #T35 38 ¤¿¤¤¤±¤Ä Âзè #T30 0 ¤¿¤¤¤±¤ó Âθ³ #T30 5 ¤¿¤¤¤±¤ó Âç·÷ #T35 0 ¤¿¤¤¤²¤ó Âθ½ #T30 2 ¤¿¤¤¤²¤ó ÂθÀ #T35 2 ¤¿¤¤¤³ ÂÀ¸Ý #T35 1 ¤¿¤¤¤³ ÂÀ¸Å #T35 3 ¤¿¤¤¤³¤¦ Âà¹Ô #T30 1 ¤¿¤¤¤³¤¦ Âй³ #T30 5 ¤¿¤¤¤³¤¦ Âç¹Ë #T35 1 ¤¿¤¤¤³¤¦ Âç¸ø #T35 2 ¤¿¤¤¤³¤¯ Âç¹ñ #T35 1 ¤¿¤¤¤³¤·¤ç¤¦ ÂѸξã #T35 1 ¤¿¤¤¤³¤Ð¤é ÂÀ¸ÝÊ¢ #T35 0 ¤¿¤¤¤³¤Ð¤ó ÂÀ¸ÝȽ #T35 0 ¤¿¤¤¤µ Â纹 #T35 3 ¤¿¤¤¤µ Â纴 #T35 8 ¤¿¤¤¤µ¤¯ Âкö #T30 34 ¤¿¤¤¤µ¤¯ Âçºî #T35 10 ¤¿¤¤¤µ¤ó Âà»¶ #T30 0 ¤¿¤¤¤¶ Âк #T30 0 ¤¿¤¤¤¶¤¤ ÂÚºß #T30 6 ¤¿¤¤¤· ÂÀ»Ò #CN 0 ¤¿¤¤¤· Âç»È #T35 0 ¤¿¤¤¤· Âç»Ö #T35 0 ¤¿¤¤¤·¤«¤ó Âç»È´Û #T35 0 ¤¿¤¤¤·¤¿ Â礷¤¿ #RT 21 ¤¿¤¤¤·¤Ä ÂμÁ #T35 1 ¤¿¤¤¤·¤Æ Â礷¤Æ #F14 0 ¤¿¤¤¤·¤ã Âç¼Ò #CN 0 ¤¿¤¤¤·¤ã Âå¼Õ #T30 0 ¤¿¤¤¤·¤ã Âà¼Ò #T30 4 ¤¿¤¤¤·¤ã Âç¼Ï #T35 0 ¤¿¤¤¤·¤ã¤¯ Âß¼Ú #T30 0 ¤¿¤¤¤·¤ã¤¯¤Æ¤ó Äë¼áÅ· #JN 0 ¤¿¤¤¤·¤å¤¦ Âν­ #T35 0 ¤¿¤¤¤·¤å¤¦ Âç½° #T35 2 ¤¿¤¤¤·¤å¤Ä Âà½Ð #T30 0 ¤¿¤¤¤·¤ç Âнè #T30 55 ¤¿¤¤¤·¤ç Âç½ë #T35 1 ¤¿¤¤¤·¤ç¤¦ ÂçÀµ #JCN 0 ¤¿¤¤¤·¤ç¤¦ ÂçÀµ #KK 3 ¤¿¤¤¤·¤ç¤¦ ÂоΠ#T05 10 ¤¿¤¤¤·¤ç¤¦ Â羡 #T30 0 ¤¿¤¤¤·¤ç¤¦ ÂÐ¾È #T30 11 ¤¿¤¤¤·¤ç¤¦ Âç¾Þ #T35 0 ¤¿¤¤¤·¤ç¤¦ ÂÐ¾É #T35 1 ¤¿¤¤¤·¤ç¤¦ ÂÐ¾Ý #T35 211 ¤¿¤¤¤·¤ç¤¦ Âç¾­ #T35 62 ¤¿¤¤¤·¤ç¤¦¤¬¤¤ Âоݳ° #T15 0 ¤¿¤¤¤·¤ç¤¯ Âç¿© #T05 0 ¤¿¤¤¤·¤ç¤¯ Â࿦ #T30 11 ¤¿¤¤¤·¤ç¤¯¤«¤ó Âç¿©´Á #T15 0 ¤¿¤¤¤·¤ç¤¯¤­¤ó Â࿦¶â #T35 1 ¤¿¤¤¤·¤ó Âç¿® #CN 0 ¤¿¤¤¤·¤ó ÂÑ¿Ì #T15 0 ¤¿¤¤¤¸ ÂÀÃÏ #CN 0 ¤¿¤¤¤¸ ÂÙ¼¡ #JNM 0 ¤¿¤¤¤¸ ÂÐÖµ #T30 2 ¤¿¤¤¤¸ Â༣ #T30 3 ¤¿¤¤¤¸ ÂÛ»Æ #T35 1 ¤¿¤¤¤¸ ÂÛ»ù #T35 1 ¤¿¤¤¤¸¤å Âç¼ù #T35 1 ¤¿¤¤¤¸¤å¤¦ ÂνŠ#T35 5 ¤¿¤¤¤¸¤ç¤¦ Âà¾ì #T30 1 ¤¿¤¤¤¸¤ó ÂÐ¿Í #T35 1 ¤¿¤¤¤¹¤¤ ÂÑ¿å #T35 1 ¤¿¤¤¤¹¤¦ Âпô #T35 3 ¤¿¤¤¤¹¤± ÂÙ²ð #JNM 0 ¤¿¤¤¤¹¤± ÂÙͤ #JNM 0 ¤¿¤¤¤»¤¤ ÂçÀ® #JCN 0 ¤¿¤¤¤»¤¤ ÂçÀ® #T30 1 ¤¿¤¤¤»¤¤ ÂÎÀª #T35 0 ¤¿¤¤¤»¤¤ ÂÖÀª #T35 0 ¤¿¤¤¤»¤¤ ÂÑÀ­ #T35 1 ¤¿¤¤¤»¤¤ ÂçÀª #T35 1 ¤¿¤¤¤»¤¤ ÂÎÀ© #T35 7 ¤¿¤¤¤»¤¤¤è¤¦ ÂçÀ¾ÍÎ #CN 0 ¤¿¤¤¤»¤­ ÂÚÀÑ #T30 0 ¤¿¤¤¤»¤­ ÂàÀÊ #T30 0 ¤¿¤¤¤»¤­ ÂÏÀÑ #T30 1 ¤¿¤¤¤»¤­ ÂÎÀÑ #T35 1 ¤¿¤¤¤»¤Ä ÂçÀÚ #T05 25 ¤¿¤¤¤»¤Ä ÂçÀã #T35 0 ¤¿¤¤¤»¤Ä ÂÎÀá #T35 1 ¤¿¤¤¤»¤ó ÂÐÀï #T30 3 ¤¿¤¤¤»¤ó ÂçÀï #T35 1 ¤¿¤¤¤¼¤ó ÂÙÁ³ #F02 0 ¤¿¤¤¤½¤¦ ¤¿¤¤¤½¤¦ #F14 1 ¤¿¤¤¤½¤¦ ¤¿¤¤¤½¤¦ #T16 0 ¤¿¤¤¤½¤¦ ÂçÁØ #T16 1 ¤¿¤¤¤½¤¦ ÂÎÁà #T30 3 ¤¿¤¤¤½¤¦ ÂçÁÓ #T35 4 ¤¿¤¤¤¾¤¦ Âç¤ #JN 0 ¤¿¤¤¤¾¤¦ ÂÙ»° #JNM 0 ¤¿¤¤¤¾¤¦ Âࢠ#T30 0 ¤¿¤¤¤À ÂÕÂÆ #T05 0 ¤¿¤¤¤À¤ó ÂÐÃÌ #T30 1 ¤¿¤¤¤À¤ó ÂàÃÄ #T30 2 ¤¿¤¤¤Á ÂÀ°ì #JNM 0 ¤¿¤¤¤Á ÂÐÃÖ #T30 1 ¤¿¤¤¤Á¤ç ÂçÃø #T35 0 ¤¿¤¤¤Á¤ç¤¦ ÂâĹ #T35 1 ¤¿¤¤¤Á¤ç¤¦ ÂÎĹ #T35 3 ¤¿¤¤¤Á¤ç¤¦ ÂÎÄ´ #T35 6 ¤¿¤¤¤Æ¤¤ ÂçÄñ #T05 23 ¤¿¤¤¤Æ¤¤ ¤¿¤¤¤Æ¤¤ #T05 3 ¤¿¤¤¤Æ¤­ ÂçŨ #T35 0 ¤¿¤¤¤Ç¤ó ÂÓÅÅ #T30 1 ¤¿¤¤¤È ¥¿¥¤¥È #T05 0 ¤¿¤¤¤È ÂÙÅÍ #T35 0 ¤¿¤¤¤È¤¦ ÂæÅì #JCN 0 ¤¿¤¤¤È¤¦ ÂÐÅù #T05 3 ¤¿¤¤¤È¤¦ ÂÓÅá #T30 0 ¤¿¤¤¤È¤¦ ÂæÆ¬ #T30 1 ¤¿¤¤¤È¤¯ ÂÎÆÀ #T30 0 ¤¿¤¤¤È¤ê¡¼¤¸¤ç¤ó ¥¿¥¤¥È¥ê¡¼¥¸¥ç¥ó #T35 1 ¤¿¤¤¤È¤ë ¥¿¥¤¥È¥ë #T35 67 ¤¿¤¤¤É ÂÖÅÙ #T35 18 ¤¿¤¤¤É¤¦ ÂÛÆ° #T30 0 ¤¿¤¤¤Ê¤¤ ÂÐÆâ #T35 0 ¤¿¤¤¤Ê¤¤ ÂÎÆâ #T35 1 ¤¿¤¤¤Ê¤¤ ÂÛÆâ #T35 2 ¤¿¤¤¤Ë¤Á ÂÚÆü #T30 0 ¤¿¤¤¤Ë¤Á ÂÐÆü #T35 1 ¤¿¤¤¤Ë¤ó ÂàǤ #T30 1 ¤¿¤¤¤Ë¤ó ÂçǤ #T35 0 ¤¿¤¤¤Í¤Ä ÂÑÇ® #T35 0 ¤¿¤¤¤Î¤¦ ÂÚǼ #T30 0 ¤¿¤¤¤Ï ÂçÇË #T30 0 ¤¿¤¤¤Ï¤ó ÂçȾ #T35 3 ¤¿¤¤¤Ð¤Ä ÂÎȳ #T35 0 ¤¿¤¤¤Ð¤ó ÂÛÈ× #T35 0 ¤¿¤¤¤Ò ÂàÈò #T30 13 ¤¿¤¤¤Ò ÂÐÈæ #T30 47 ¤¿¤¤¤Ó¤ç¤¦ ÂçÉ #T35 0 ¤¿¤¤¤Ô¤¹¤È ¥¿¥¤¥Ô¥¹¥È #T35 0 ¤¿¤¤¤Õ¤¦ ÂæÉ÷ #T35 11 ¤¿¤¤¤Ö ÂçÉô #T05 0 ¤¿¤¤¤Ö ÂÎÉô #T35 1 ¤¿¤¤¤Ö¤Ä ÂÐʪ #T35 0 ¤¿¤¤¤× ¥¿¥¤¥× #T30 76 ¤¿¤¤¤×¤é¤¤¤¿ ¥¿¥¤¥×¥é¥¤¥¿ #T35 1 ¤¿¤¤¤×¤é¤¤¤¿¡¼ ¥¿¥¤¥×¥é¥¤¥¿¡¼ #T35 1 ¤¿¤¤¤Ø¤¤ ÂçÊ¿ #JN 0 ¤¿¤¤¤Ø¤¤ ÂÀÊ¿ #T05 0 ¤¿¤¤¤Ø¤¤¤è¤¦ ÂÀÊ¿ÍÎ #CN 0 ¤¿¤¤¤Ø¤ó ¤¿¤¤¤Ø¤ó #T05 13 ¤¿¤¤¤Ø¤ó ÂçÊÑ #T05 255 ¤¿¤¤¤Ù¤¤ ÂÐÊÆ #T35 1 ¤¿¤¤¤Ù¤Ä ÂçÊÌ #T30 1 ¤¿¤¤¤Û ÂàÊâ #T30 0 ¤¿¤¤¤Û ÂáÊá #T30 1 ¤¿¤¤¤Û¤¦ Âçˤ #T35 0 ¤¿¤¤¤Û¤¦ Âç˲ #T35 0 ¤¿¤¤¤Ü¤¦ ÂÑ˳ #T30 0 ¤¿¤¤¤Ü¤¦ ÂÔ˾ #T30 2 ¤¿¤¤¤Ü¤¦ Âç˾ #T35 0 ¤¿¤¤¤Ü¤¯ ÂçÌÚ #T35 0 ¤¿¤¤¤Ý¤°¤é¤Õ¤£ ¥¿¥¤¥Ý¥°¥é¥Õ¥£ #T35 1 ¤¿¤¤¤Ý¤°¤é¤Õ¤£¡¼ ¥¿¥¤¥Ý¥°¥é¥Õ¥£¡¼ #T35 1 ¤¿¤¤¤Þ ÅöËã #CN 0 ¤¿¤¤¤Þ ÂçËã #T35 0 ¤¿¤¤¤Þ ¥¿¥¤¥Þ #T35 10 ¤¿¤¤¤Þ¡¼ ¥¿¥¤¥Þ¡¼ #T35 10 ¤¿¤¤¤Þ¤ó ÂÕËý #T05 1 ¤¿¤¤¤ß¤ó¤° ¥¿¥¤¥ß¥ó¥° #T35 25 ¤¿¤¤¤à ¥¿¥¤¥à #T35 28 ¤¿¤¤¤à¤¢¤¦¤È ¥¿¥¤¥à¥¢¥¦¥È #T30 4 ¤¿¤¤¤à¤ê ¥¿¥¤¥à¥ê #T05 1 ¤¿¤¤¤à¤ê¡¼ ¥¿¥¤¥à¥ê¡¼ #T05 1 ¤¿¤¤¤á¤¤ ÂÒÌÀ #CN 0 ¤¿¤¤¤á¤ó ÂÐÌÌ #T30 1 ¤¿¤¤¤á¤ó ÂÎÌÌ #T35 1 ¤¿¤¤¤â¤¦ ÂçÌÖ #T35 1 ¤¿¤¤¤ä ¥¿¥¤¥ä #T35 6 ¤¿¤¤¤ä¤¯ ÂÐÌõ #T30 3 ¤¿¤¤¤ä¤¯ ÂçÌò #T35 2 ¤¿¤¤¤æ¤¦ Âçͺ #JCN 0 ¤¿¤¤¤è ÂßÍ¿ #T30 1 ¤¿¤¤¤è¤¦ ÂçÍÎ #JCN 0 ¤¿¤¤¤è¤¦ ÂçÍ× #T35 0 ¤¿¤¤¤è¤¦ ÂçÍÎ #T35 1 ¤¿¤¤¤è¤¦ ÂÀÍÛ #T35 9 ¤¿¤¤¤è¤¦¤±¤¤ ÂÀÍÛ·Ï #T35 0 ¤¿¤¤¤é Ê¿ #JCN 0 ¤¿¤¤¤é Ê¿¤é #T05 1 ¤¿¤¤¤é Ê¿ #T35 3 ¤¿¤¤¤é¤² Ê¿¤é¤² #KS 0 ¤¿¤¤¤ê¤¯ ÂçΦ #T35 1 ¤¿¤¤¤ê¤Ä ÂÐΩ #T30 1 ¤¿¤¤¤ê¤ã¤¯ Âçά #T35 0 ¤¿¤¤¤ê¤å¤¦ ÂÚα #T30 0 ¤¿¤¤¤ê¤ç¤¦ ÂçÎÌ #T05 19 ¤¿¤¤¤ê¤ç¤¯ ÂÎÎÏ #T35 8 ¤¿¤¤¤ê¤ó ÂçÎØ #T35 1 ¤¿¤¤¤ë ¥¿¥¤¥ë #T35 3 ¤¿¤¤¤ì¤¤ ÂÛÎð #T35 2 ¤¿¤¤¤í¤¦ ÂçÏ· #T35 0 ¤¿¤¤¤ï ÂçÏ #JCN 0 ¤¿¤¤¤ï ÂÐÏà #T30 32 ¤¿¤¤¤ï¤ó ÂæÏÑ #CN 0 ¤¿¤¦ ¦Ó #T35 10 ¤¿¤¦ ¦³ #T35 4 ¤¿¤¦ ¿±« #T35 4 ¤¿¤¦¤ó ¥¿¥¦¥ó #T35 3 ¤¿¤¨ ̯ #KJ 0 ¤¿¤¨ ÂѤ¨ #KS 12 ¤¿¤¨ ´®¤¨ #KS 3 ¤¿¤¨ À䤨 #KS 7 ¤¿¤¨¤³ ̯»Ò #JNM 0 ¤¿¤¨¤º À䤨¤º #F14 1 ¤¿¤¨¤Ê¤ë ̯¤Ê¤ë #RT 0 ¤¿¤¨¤Þ À䤨¤Þ #T35 1 ¤¿¤¨¤Þ À䤨´Ö #T35 1 ¤¿¤ª ÅÝ #S5 15 ¤¿¤ª¤ä¤« ¤¿¤ª¤ä¤« #T05 0 ¤¿¤ª¤ë ¥¿¥ª¥ë #T35 4 ¤¿¤ª¤ì Åݤì #KS 3 ¤¿¤« ¤¿¤« #JNM 0 ¤¿¤« ¥¿¥« #JNM 0 ¤¿¤« ¿²Ä #JNS 0 ¤¿¤« ¶Æ #KJ 0 ¤¿¤« ¿ó #KJ 0 ¤¿¤« δ #KJ 2 ¤¿¤« ¹â #KJ 33 ¤¿¤« ¹â #KYmime 170 ¤¿¤« ¿²É #T35 0 ¤¿¤« Âë #T35 2 ¤¿¤«¤¢¤­ ¹§ÌÀ #JNM 0 ¤¿¤«¤¢¤­ δÌÀ #JNM 0 ¤¿¤«¤¤ ¹â°æ #JNS 0 ¤¿¤«¤¤ ¾³¦ #T30 1 ¤¿¤«¤¤¤· ¹âÀÐ #JCN 0 ¤¿¤«¤¤¤Á ¹â»Ô #JCN 0 ¤¿¤«¤¤¤Á δ°ì #JNM 0 ¤¿¤«¤¤¤É ¹â°æ¸Í #CN 0 ¤¿¤«¤ª ¹âÈø #JCN 0 ¤¿¤«¤ª ¹§ÃË #JNM 0 ¤¿¤«¤ª ¹§É× #JNM 0 ¤¿¤«¤ª ¹§Íº #JNM 0 ¤¿¤«¤ª δÃË #JNM 0 ¤¿¤«¤ª δÉ× #JNM 0 ¤¿¤«¤ª δͺ #JNM 0 ¤¿¤«¤ª¤« ¹â²¬ #JCN 0 ¤¿¤«¤ª¤Î ¹âÈøÌî #CN 0 ¤¿¤«¤¬ ¤¿¤«¤¬ #F14 1 ¤¿¤«¤­ ¹âÌÚ #JNS 0 ¤¿¤«¤­ ¹âÍè #JNS 0 ¤¿¤«¤® ¶¬ÌÚ #JCN 0 ¤¿¤«¤® ¹âÍè #JCN 0 ¤¿¤«¤® ¹âÌÚ #JNS 0 ¤¿¤«¤¯ ¹âµ× #JNS 0 ¤¿¤«¤¯ ¿³Ñ #T35 2 ¤¿¤«¤¯¤±¤¤ ¿³Ñ·Á #T35 1 ¤¿¤«¤¯¤¹¤¤ ¿³Ñ¿í #T35 3 ¤¿¤«¤¯¤¹¤¤¤À¤¤ ¿³Ñ¿íÂæ #T35 3 ¤¿¤«¤¯¤Á¤å¤¦ ¿³ÑÃì #T35 2 ¤¿¤«¤³ µ®»Ò #JNM 0 ¤¿¤«¤³ ¹§»Ò #JNM 0 ¤¿¤«¤µ¤« ¹âºä #JCN 0 ¤¿¤«¤µ¤­ ¹âºê #JCN 0 ¤¿¤«¤µ¤´ ¹âº½ #CN 0 ¤¿¤«¤µ¤´ ¹âº½ #T35 1 ¤¿¤«¤µ¤È ¹â¶¿ #JCN 0 ¤¿¤«¤µ¤ï ¹âÂô #JNS 0 ¤¿¤«¤¶¤ï ¹âÂô #JNS 0 ¤¿¤«¤· µ®»Ë #JNM 0 ¤¿¤«¤· µ®»Î #JNM 0 ¤¿¤«¤· ¶¬ #JNM 0 ¤¿¤«¤· ·É #JNM 0 ¤¿¤«¤· ¹§ #JNM 0 ¤¿¤«¤· ¹§»Ê #JNM 0 ¤¿¤«¤· ¹§»Ö #JNM 0 ¤¿¤«¤· ¹â»Ö #JNM 0 ¤¿¤«¤· ¾° #JNM 0 ¤¿¤«¤· ¿ò #JNM 0 ¤¿¤«¤· Âî #JNM 0 ¤¿¤«¤· δ #JNM 0 ¤¿¤«¤· δ»Ê #JNM 0 ¤¿¤«¤· δ»Ë #JNM 0 ¤¿¤«¤· δ»Ö #JNM 0 ¤¿¤«¤·¤ª ¹âĬ #T35 1 ¤¿¤«¤·¤Þ ¹âÅç #JCN 0 ¤¿¤«¤·¤Þ ÂëÅç #JCN 0 ¤¿¤«¤·¤Þ ¹âÅè #JNS 0 ¤¿¤«¤·¤Þ¤À¤¤¤é ¹âÅçÊ¿ #CN 0 ¤¿¤«¤·¤ß¤º ¹âÀ¶¿å #JCN 0 ¤¿¤«¤¸¤ç¤¦ ¹â¾ë #JCN 0 ¤¿¤«¤¹ ÂëÀ´ #JCN 0 ¤¿¤«¤¹ ¹âÏÉ #JNS 0 ¤¿¤«¤» ¹âÀ¥ #JCN 0 ¤¿¤«¤» ¹âÀ¥ #JN 1 ¤¿¤«¤¿ ¹âÅÄ #JCN 0 ¤¿¤«¤À ¹âÅÄ #JCN 0 ¤¿¤«¤À¤¤ ¹âÂæ #T35 0 ¤¿¤«¤À¤« ¹â¡¹ #F14 5 ¤¿¤«¤À¤Î¤Ð¤Ð ¹âÅÄÇϾì #CN 0 ¤¿¤«¤Á¤Û ¹âÀéÊæ #JCN 0 ¤¿¤«¤Ã¤±¤¤ ¿³Ñ·Á #T35 3 ¤¿¤«¤Ä ¹âÄÅ #JCN 0 ¤¿¤«¤Ä¤­ ¹â·î #JCN 0 ¤¿¤«¤Ä¤­ ¹âÄÐ #JCN 0 ¤¿¤«¤È¤¦ ¹â±ó #JCN 0 ¤¿¤«¤È¤¦ ¹âÆ£ #JNS 0 ¤¿¤«¤È¤· ¹§Íø #JNM 0 ¤¿¤«¤È¤Ó ¹âÈô¤Ó #T30 1 ¤¿¤«¤È¤ß ¹âÉÙ #JCN 0 ¤¿¤«¤È¤ê ¹â¼è #JCN 0 ¤¿¤«¤Ê ¹âÌÄ #R5r 0 ¤¿¤«¤Ê¤« ¹âÃæ #JNS 0 ¤¿¤«¤Ê¤· ¹âÍü #JNS 0 ¤¿¤«¤Ê¤Ù ¹âÆé #JCN 0 ¤¿¤«¤Ê¤ß ¹âÇÈ #T35 0 ¤¿¤«¤Ê¤ï ¹âÎØ #JCN 0 ¤¿¤«¤Í ¹âº¬ #JCN 0 ¤¿¤«¤Í ¹âÃÍ #T35 0 ¤¿¤«¤Í¤¶¤ï ¹âº¬Âô #JNS 0 ¤¿¤«¤Î ¹âÌî #JCN 0 ¤¿¤«¤Î¤¹ ÂëÁã #JCN 0 ¤¿¤«¤Î¤¾¤ß ¹â˾¤ß #T10 0 ¤¿¤«¤Î¤ê δ§ #JNM 0 ¤¿¤«¤Ï¤® ¹âÇë #JCN 0 ¤¿¤«¤Ï¤· ¹âΠ#JCN 0 ¤¿¤«¤Ï¤· ¹â¶¶ #JNS 0 ¤¿¤«¤Ï¤¿ ¹âÈ« #JCN 0 ¤¿¤«¤Ï¤¿ ¹âȪ #JNS 0 ¤¿¤«¤Ï¤Þ ¹âÉÍ #JCN 0 ¤¿¤«¤Ï¤Þ ¹âßÀ #JNS 0 ¤¿¤«¤Ï¤é ¹â¸¶ #JCN 0 ¤¿¤«¤Ï¤ë ¹â¸¶ #JCN 0 ¤¿¤«¤Ð¤ä¤· ¹âÎÓ #JNS 0 ¤¿¤«¤Ò¤Ç µ®±Ñ #JNM 0 ¤¿¤«¤Ò¤í ¹§¹¨ #JNM 0 ¤¿¤«¤Õ¤ß µ®Ê¸ #JNM 0 ¤¿¤«¤Õ¤ß δʸ #JNM 0 ¤¿¤«¤Ö ¹·¤Ö #R5r 0 ¤¿¤«¤Þ ¹â¤Þ #R5r 3 ¤¿¤«¤Þ¤Ä ¹â¾¾ #JCN 0 ¤¿¤«¤Þ¤Ä¤· ¹â¾¾»Ô #CNS 0 ¤¿¤«¤ß ¹â¸« #JCN 0 ¤¿¤«¤ß¤Á ¹§ÄÌ #JNM 0 ¤¿¤«¤ß¤Í ¹âÎæ #JNS 0 ¤¿¤«¤ß¤ä ¹âµÜ #JCN 0 ¤¿¤«¤à¤é ¹â¼ #JNS 0 ¤¿¤«¤á ¹â¤á #KS 7 ¤¿¤«¤â¤È ¹âËÜ #JNS 0 ¤¿¤«¤â¤ê ¹â¿¹ #JCN 0 ¤¿¤«¤ä ¹âë #JNS 0 ¤¿¤«¤ä¤¹ ¹â°Â #JCN 0 ¤¿¤«¤ä¤Ê¤® ¹âÌø #JCN 0 ¤¿¤«¤ä¤Þ ¹â»³ #JCN 0 ¤¿¤«¤æ¤­ ¹§¹¬ #JNM 0 ¤¿¤«¤æ¤­ ¹§¹Ô #JNM 0 ¤¿¤«¤æ¤­ ¹§Ç· #JNM 0 ¤¿¤«¤æ¤­ δǷ #JNM 0 ¤¿¤«¤è¤· ¹§µÁ #JNM 0 ¤¿¤«¤é ºâ #JNM 0 ¤¿¤«¤é Êõ #T35 10 ¤¿¤«¤é¤« ¹â¤é¤« #T05 0 ¤¿¤«¤é¤¬¤¤¤± Êõ¤¬ÃÓ #CN 0 ¤¿¤«¤é¤¯¤¸ Êõ¤¯¤¸ #T35 0 ¤¿¤«¤é¤¸¤Þ ÊõÅç #T35 1 ¤¿¤«¤é¤Å¤« ÊõÄÍ #JCN 0 ¤¿¤«¤é¤Ù ºâÉô #JCN 0 ¤¿¤«¤é¤â¤Î Êõʪ #T35 1 ¤¿¤«¤ê ¤¿¤«¤ê #T35 1 ¤¿¤«¤ó ¿´¶ #T05 1 ¤¿¤¬ ¿²ì #JCN 0 ¤¿¤¬ °ã #W5 1 ¤¿¤¬¤¤ ¸ß¤¤ #T35 12 ¤¿¤¬¤¤¤Á¤¬¤¤ ¸ß¤¤°ã¤¤ #T35 0 ¤¿¤¬¤¯ ¿³Û #T05 2 ¤¿¤¬¤¸¤ç¤¦ ¿²ì¾ë #JCN 0 ¤¿¤¬¤¿ ÅÄÊý #JCN 0 ¤¿¤¬¤Í ï´ #T35 0 ¤¿¤¬¤ß Åľå #JCN 0 ¤¿¤¬¤ä ¹Ì #S5r 0 ¤¿¤¬¤ï ÅÄÀî #JCN 0 ¤¿¤­ ¿µ¤ #JCN 0 ¤¿¤­ ¿µª #JCN 0 ¤¿¤­ ¿´î #JNS 0 ¤¿¤­ ¿´ô #JNS 0 ¤¿¤­ Âì #JNS 0 ¤¿¤­ Âí #JNS 0 ¤¿¤­ ¿´ô #T35 1 ¤¿¤­ Âì #T35 4 ¤¿¤­ Âí #T35 5 ¤¿¤­¤«¤ï ÂìÀî #JCN 0 ¤¿¤­¤«¤ï ÂíÀî #JNS 0 ¤¿¤­¤«¤ï ÂìÀî #T35 1 ¤¿¤­¤¬¤ï ÂìÀî #JNS 0 ¤¿¤­¤¬¤ï ÂíÀî #JNS 0 ¤¿¤­¤® ¿Å #T35 0 ¤¿¤­¤°¤Á Âì¸ý #JNS 0 ¤¿¤­¤°¤Á Âí¸ý #JNS 0 ¤¿¤­¤µ¤ï ÂìÂô #JNS 0 ¤¿¤­¤¶¤ï ÂìÂô #JCN 0 ¤¿¤­¤¶¤ï ÂíÂô #JNS 0 ¤¿¤­¤·¡¼¤É ¥¿¥­¥·¡¼¥É #T35 2 ¤¿¤­¤¿ ÂìÅÄ #JNS 0 ¤¿¤­¤¿ ÂíÅÄ #JNS 0 ¤¿¤­¤À¤· ¿æ½Ð¤· #T30 0 ¤¿¤­¤Í Â캬 #JCN 0 ¤¿¤­¤Î ÂìÌî #JCN 0 ¤¿¤­¤Ó ʲ²Ð #T30 0 ¤¿¤­¤â¤È ÂìËÜ #JNS 0 ¤¿¤­¤ç¤¦ ¾¶¿ #T35 1 ¤¿¤­¤ç¤¯ ¿¶Ë #T15 0 ¤¿¤­¤ç¤¯ ¾¶É #T35 0 ¤¿¤® ¿µÁ #T35 0 ¤¿¤®¤»¤¤ ¿µÁÀ­ #T35 0 ¤¿¤¯ ¿µ× #JCN 0 ¤¿¤¯ Âð #JNSUC 43 ¤¿¤¯ Âî #JS 0 ¤¿¤¯ Âî #KJ 0 ¤¿¤¯ Âï #KJ 0 ¤¿¤¯ Âñ #KJ 0 ¤¿¤¯ Âò #KJ 0 ¤¿¤¯ Âõ #KJ 0 ¤¿¤¯ Â÷ #KJ 0 ¤¿¤¯ Âø #KJ 0 ¤¿¤¯ ÄÓ #KJ 0 ¤¿¤¯ ŧ #KJ 0 ¤¿¤¯ Âó #KJ 1 ¤¿¤¯ Âô #KJ 1 ¤¿¤¯ Âö #KJ 1 ¤¿¤¯ Âñ #S5 1 ¤¿¤¯ Â÷ #S5 3 ¤¿¤¯ Â÷ #SX 0 ¤¿¤¯ Âð #T35 0 ¤¿¤¯¤¤ Âð°æ #JNS 0 ¤¿¤¯¤¤¤Ä Âò°ì #T30 1 ¤¿¤¯¤¨¤Ä Âî±Û #T30 0 ¤¿¤¯¤ª Âîͺ #JNM 0 ¤¿¤¯¤µ¤ó Âô»³ #T06 15 ¤¿¤¯¤µ¤ó ¤¿¤¯¤µ¤ó #T06 61 ¤¿¤¯¤·¡¼ ¥¿¥¯¥·¡¼ #T35 4 ¤¿¤¯¤·¤å¤Ä Âî½Ð #T30 0 ¤¿¤¯¤·¤ç¤¯ Âó¿£ #T30 1 ¤¿¤¯¤¸ Â÷»ù #T35 0 ¤¿¤¯¤¸¤ç¤¦ Âî¾å #T35 3 ¤¿¤¯¤»¤Ä ÂîÀâ #T35 0 ¤¿¤¯¤»¤ó Â÷Àë #T35 0 ¤¿¤¯¤½¤¦ ÂóÁ× #JNM 0 ¤¿¤¯¤½¤¦ Â÷Á÷ #T30 0 ¤¿¤¯¤Á ÂðÃÏ #T35 0 ¤¿¤¯¤Ï¤¤ ÂðÇÛ #T30 0 ¤¿¤¯¤Ï¤Ä ÂñÈ­ #T30 0 ¤¿¤¯¤Ð¤Ä ÂîÈ´ #T05 0 ¤¿¤¯¤Û¤ó ÂóËÜ #T35 0 ¤¿¤¯¤Ü ÅÄ·¦ #JNS 0 ¤¿¤¯¤Ü¤¯ ÂïÌÚ #JNM 0 ¤¿¤¯¤Þ ÏÍ´Ö #JCN 0 ¤¿¤¯¤Þ¤· ¤¿¤¯¤Þ¤· #KY 0 ¤¿¤¯¤Þ¤·¤å¤¦ ¤¿¤¯¤Þ¤·¤å¤¦ #KYU 0 ¤¿¤¯¤ß ¹ª #JNM 0 ¤¿¤¯¤ß ¹ª¤ß #T05 2 ¤¿¤¯¤ß ¾¢ #T35 0 ¤¿¤¯¤ä ÂîÌé #JNM 0 ¤¿¤¯¤é ´ë #M5r 1 ¤¿¤¯¤ï¤¨ Ãù¤¨ #KSr 2 ¤¿¤¯¤ï¤¨ Ãߤ¨ #KSr 6 ¤¿¤° ¼ê·« #R5 10 ¤¿¤° ¥¿¥° #T35 29 ¤¿¤°¤¤ Îà #T35 4 ¤¿¤°¤Á Åĸý #JCN 0 ¤¿¤± ³Ù #CNSUC1 1 ¤¿¤± ¤¿¤± #JNM 0 ¤¿¤± ¥¿¥± #JNM 0 ¤¿¤± Âû #KJ 5 ¤¿¤± Éð #KJ 7 ¤¿¤± Ť± #KS 6 ¤¿¤± ÌÔ #R5 0 ¤¿¤± ¾²È #T35 0 ¤¿¤± ¾æ #T35 1 ¤¿¤± ³Ù #T35 15 ¤¿¤± ÃÝ #T35 39 ¤¿¤±¤¤ Éð°æ #JNS 0 ¤¿¤±¤¤ Ãݰæ #JNS 0 ¤¿¤±¤¤¤Á ÃÝ»Ô #JNS 0 ¤¿¤±¤¤¤Á Éð°ì #JNS 0 ¤¿¤±¤¤¤Á Éð»Ô #JNS 0 ¤¿¤±¤¦¤Á ÃÝÆâ #JNS 0 ¤¿¤±¤¦¤Á ÉðÆâ #JNS 0 ¤¿¤±¤ª Éðͺ #JCN 0 ¤¿¤±¤ª ÃÝÃË #JN 0 ¤¿¤±¤ª ÃÝͺ #JN 0 ¤¿¤±¤ª µ£Íº #JNM 0 ¤¿¤±¤ª ·òÉ× #JNM 0 ¤¿¤±¤ª ¾æÉ× #JNM 0 ¤¿¤±¤ª ÉðÃË #JNM 0 ¤¿¤±¤ª ÉðÉ× #JNM 0 ¤¿¤±¤ª °Òͺ #JNS 0 ¤¿¤±¤ª¤« Ãݲ¬ #JCN 0 ¤¿¤±¤¶¤ï ÃÝÂô #JNS 0 ¤¿¤±¤· ÉðÀÐ #JCN 0 ¤¿¤±¤· µ£ #JNM 0 ¤¿¤±¤· ·ò #JNM 0 ¤¿¤±¤· ·ò»Ë #JNM 0 ¤¿¤±¤· ·ò»Ö #JNM 0 ¤¿¤±¤· ¹ä #JNM 0 ¤¿¤±¤· ÃÝ»Ö #JNM 0 ¤¿¤±¤· Éð #JNM 0 ¤¿¤±¤· Éð»Ê #JNM 0 ¤¿¤±¤· Éð»Ë #JNM 0 ¤¿¤±¤· Éð»Ö #JNM 0 ¤¿¤±¤· ÌÔ #JNM 0 ¤¿¤±¤·¤¿ Ãݲ¼ #JNS 0 ¤¿¤±¤¸ Éð¼£ #JNM 0 ¤¿¤±¤¸¤í¤¦ Ãݼ¡Ïº #JNM 0 ¤¿¤±¤¾¤Î Ãݱà #JNS 0 ¤¿¤±¤¿ ÃÝÅÄ #JCN 0 ¤¿¤±¤À ÃÝÅÄ #JCN 0 ¤¿¤±¤À ÉðÅÄ #JCN 0 ¤¿¤±¤È ¾æ¿Í #JNM 0 ¤¿¤±¤È¤ß ÃÝÉÙ #JCN 0 ¤¿¤±¤È¤è ÉðË­ #JCN 0 ¤¿¤±¤Ê¤« ÃÝÃæ #JNS 0 ¤¿¤±¤Ê¤ï ¤¿¤±¤Ê¤ï #T05 1 ¤¿¤±¤Î ÃÝÌî #JCN 0 ¤¿¤±¤Î¤Ö Éð¿® #JN 0 ¤¿¤±¤Ï¤é Ãݸ¶ #JCN 0 ¤¿¤±¤Ð¤ä¤· ÃÝÎÓ #JNS 0 ¤¿¤±¤Ò¤³ Éðɧ #JNM 0 ¤¿¤±¤Ò¤´ ÃݤҤ´ #T35 0 ¤¿¤±¤Ò¤µ Éðµ× #JNM 0 ¤¿¤±¤Ò¤Ç Éð±Ñ #JNM 0 ¤¿¤±¤Ò¤Ç É𽨠#JNM 0 ¤¿¤±¤Ò¤í Éð͵ #JNM 0 ¤¿¤±¤Õ ÉðÀ¸ #JCN 0 ¤¿¤±¤Ù ·úÉô #JCN 0 ¤¿¤±¤à¤é Ãݼ #JNS 0 ¤¿¤±¤â¤È ÃÝËÜ #JNS 0 ¤¿¤±¤â¤ê ÃÝ¿¹ #JNS 0 ¤¿¤±¤ä¤ê ÉðÌú #JNS 0 ¤¿¤±¤ï¤­ ÃÝÏÆ #JNS 0 ¤¿¤±¤ó ¾¸© #T35 1 ¤¿¤² ¤¿¤² #T05 0 ¤¿¤²¤¤ ¿·Ý #T05 0 ¤¿¤²¤ó ¿¸À #T30 0 ¤¿¤²¤ó ¿¸µ #T35 0 ¤¿¤³ ¿¸Å #JNS 0 ¤¿¤³ Âü #T35 1 ¤¿¤³ òà #T35 1 ¤¿¤³ Âý #T35 23 ¤¿¤³¤¦ ¹â¤¦ #KYU 3 ¤¿¤³¤¦ ¿¹¬ #T05 0 ¤¿¤³¤¦ ¾¹» #T35 1 ¤¿¤³¤¦¤·¤­ ¿¹à¼° #T35 2 ¤¿¤³¤¯ ¾¹ñ #T35 2 ¤¿¤´¤ó ¾¸À #T30 0 ¤¿¤µ¤¤ ¿ºÍ #T05 1 ¤¿¤µ¤¤ ¿ºÌ #T05 3 ¤¿¤µ¤¯ ¿ºî #T05 0 ¤¿¤µ¤Ä ¾»¦ #T35 0 ¤¿¤¶ ÂǺÁ #T30 0 ¤¿¤¶¤­ Åĺê #JNS 0 ¤¿¤¶¤ï ÅÄÂô #JNS 0 ¤¿¤¶¤ï¤³ ÅÄÂô¸Ð #CN 0 ¤¿¤· ¾»ï #T35 0 ¤¿¤· ­¤· #T35 1 ¤¿¤· ¾»æ #T35 10 ¤¿¤·¤« ³Î¤« #T06 180 ¤¿¤·¤« ¤¿¤·¤« #T06 6 ¤¿¤·¤«¤á ³Î¤«¤á #KSr 15 ¤¿¤·¤¶¤ó ­¤·»» #T30 1 ¤¿¤·¤¶¤ó ­»» #T30 1 ¤¿¤·¤Ä ¿¼¾ #T05 0 ¤¿¤·¤ã ¿¼Õ #T30 0 ¤¿¤·¤ã ¾¼Ô #T35 0 ¤¿¤·¤ã ¾¼Ò #T35 14 ¤¿¤·¤å ¿¼ï #T05 4 ¤¿¤·¤å ¾¼ï #T35 0 ¤¿¤·¤å¤Ä ¾½Ð #T30 0 ¤¿¤·¤ç¤¦ ¾À¸ #T35 0 ¤¿¤·¤ç¤¦ ¿¾Í #T35 0 ¤¿¤·¤ç¤¦ ¿¾¯ #T35 31 ¤¿¤·¤í ÅÄÂå #JCN 0 ¤¿¤¸ ¿»ö #T05 0 ¤¿¤¸ ¾»ö #T35 2 ¤¿¤¸¤Ä ¾Æü #T35 0 ¤¿¤¸¤Þ ÅÄÅç #JCN 0 ¤¿¤¸¤Þ ÅÄÅè #JNS 0 ¤¿¤¸¤ß ¿¼£¸« #JCN 0 ¤¿¤¸¤å¤¦ ¿½Å #T35 29 ¤¿¤¸¤ç¤¦ ¿¾ð #T05 0 ¤¿¤¸¤ê ÅÄ¿¬ #JCN 0 ¤¿¤¹¤¦ ¿¿ô #T35 29 ¤¿¤¹¤¦¤±¤Ä ¿¿ô·è #T30 1 ¤¿¤¹¤« ½õ¤« #R5r 19 ¤¿¤¹¤¯ ¥¿¥¹¥¯ #T35 43 ¤¿¤¹¤± ½õ¤± #KSr 24 ¤¿¤¹¤±¤¢ ½õ¤±¹ç #W5r 1 ¤¿¤¹¤±¤À ½õ¤±½Ð #S5 0 ¤¿¤º¤µ¤¨ ·È¤¨ #KS 0 ¤¿¤º¤µ¤ï ¤¿¤º¤µ¤ï #R5r 2 ¤¿¤º¤µ¤ï ·È¤ï #R5r 3 ¤¿¤º¤Í ¤¿¤º¤Í #KSr 1 ¤¿¤º¤Í ˬ¤Í #KSr 2 ¤¿¤º¤Í ¿Ò¤Í #KSr 20 ¤¿¤»¤ó ¾Á¦ #T30 0 ¤¿¤¼¤¤ ¿Àª #T35 0 ¤¿¤½¡¼¤È ¿¥½¡¼¥È #T30 1 ¤¿¤¾¤¨ ÅÄź #JNS 0 ¤¿¤¿ ¿¡¹ #F14 5 ¤¿¤¿ ¤¿¤¿ #K5r 2 ¤¿¤¿ á #K5r 27 ¤¿¤¿ ¾ö #M5 2 ¤¿¤¿ ã® #R5r 0 ¤¿¤¿¤¨ ¤¿¤¿¤¨ #KS 0 ¤¿¤¿¤¨ ù¤¨ #KS 0 ¤¿¤¿¤¨ ¾Î¤¨ #KSr 0 ¤¿¤¿¤¨ »¾¤¨ #KSr 1 ¤¿¤¿¤« Æ® #W5r 1 ¤¿¤¿¤« Àï #W5r 4 ¤¿¤¿¤­¤³ ¤¿¤¿¤­¹þ #M5r 0 ¤¿¤¿¤­¤À ¤¿¤¿¤­½Ð #S5r 1 ¤¿¤¿¤ß ¾ö #T35 1 ¤¿¤¿¤ß¤«¤± ¾ö¤ß³Ý¤± #KSr 0 ¤¿¤¿¤ß¤³ ¾ö¤ß¹þ #M5r 1 ¤¿¤À ¤¿¤À #F14 53 ¤¿¤À ¿ÅÄ #JNS 0 ¤¿¤À °Ô #KJ 0 ¤¿¤À Í£ #KJ 3 ¤¿¤À ¼Á #S5 0 ¤¿¤À Àµ #S5 2 ¤¿¤À Âþ #T35 3 ¤¿¤À ¤¿¤À #T35 47 ¤¿¤À ¥¿¥À #T35 0 ¤¿¤À¤¤ ¿Âç #T05 3 ¤¿¤À¤¤¤Þ ¤¿¤À¤¤¤Þ #F14 19 ¤¿¤À¤¤¤Þ ¤¿¤Àº£ #T35 1 ¤¿¤À¤¤¤Þ Âþº£ #T35 28 ¤¿¤À¤ª ÃéÃË #JNM 0 ¤¿¤À¤ª ÃéÉ× #JNM 0 ¤¿¤À¤ª Ãéͺ #JNM 0 ¤¿¤À¤ª¤« Ã鲬 #JCN 0 ¤¿¤À¤´¤È Í£»ö #T35 0 ¤¿¤À¤· â #CJ 1 ¤¿¤À¤· ¤¿¤À¤· #CJ 109 ¤¿¤À¤· ⤷ #CJ 43 ¤¿¤À¤· °Ô»Ë #JNM 0 ¤¿¤À¤· Àµ #JNM 0 ¤¿¤À¤· Ãé #JNM 0 ¤¿¤À¤· Ãé»Ê #JNM 0 ¤¿¤À¤· Ãé»Ö #JNM 0 ¤¿¤À¤· ľ #JNM 0 ¤¿¤À¤· Äç #JNM 0 ¤¿¤À¤· Ä÷ #JNM 0 ¤¿¤À¤· Àµ¤· #KY 255 ¤¿¤À¤·¤å¤¦ Àµ¤·¤å¤¦ #KYU 3 ¤¿¤À¤¹ ¶© #JN 0 ¤¿¤À¤Á¤Ë ľ¤Á¤Ë #F14 12 ¤¿¤À¤Ï¤ë Ãé¼£ #JNM 0 ¤¿¤À¤Ò¤³ Ãéɧ #JNM 0 ¤¿¤À¤Ò¤í Ãé¹­ #JNM 0 ¤¿¤À¤Þ¤µ ÃéÀµ #JNM 0 ¤¿¤À¤ß Âþ¸« #JCN 0 ¤¿¤À¤ß¤Á ľƻ #JNM 0 ¤¿¤À¤è ɺ #W5 1 ¤¿¤À¤è ¤¿¤À¤è #W5 6 ¤¿¤À¤è¤· ÃéµÁ #JNM 0 ¤¿¤À¤è¤· ÃéÎÉ #JNM 0 ¤¿¤À¤è¤ï ɺ¤ï #S5 0 ¤¿¤À¤ì ¤¿¤À¤ì #KSr 0 ¤¿¤Á ã #JNSUC 0 ¤¿¤Á ¤¿¤Á #JNSUC 197 ¤¿¤Á ã #KJ 34 ¤¿¤Á ¤¿¤Á #SUC 0 ¤¿¤Á ã #SUC 0 ¤¿¤Á ¿ÃÍ #T15 12 ¤¿¤Á ¼Á #T35 0 ¤¿¤Á ÂÀÅá #T35 2 ¤¿¤Á¤¢ Ω¤Á²ñ #W5r 3 ¤¿¤Á¤¢¤¤¤Ë¤ó Ω²ñ¿Í #T35 0 ¤¿¤Á¤¢¤¬ Ω¤Á¾å¤¬ #R5r 37 ¤¿¤Á¤¢¤¬¤ê Ω¾å¤ê #T35 0 ¤¿¤Á¤¢¤² Ω¤Á¾å¤² #KSr 0 ¤¿¤Á¤¢¤é¤¤ ÂçÅáÀö #JCN 0 ¤¿¤Á¤¤ Ω¤ÁÆþ #R5r 2 ¤¿¤Á¤¤ Ω¤Áµï #T30 1 ¤¿¤Á¤¤ Ωµï #T30 1 ¤¿¤Á¤¦¤ê ΩÇä #JNS 0 ¤¿¤Á¤¦¤ê ΩÇä #T30 0 ¤¿¤Á¤ª¤¦¤¸¤ç¤¦ Ω±ýÀ¸ #T30 0 ¤¿¤Á¤ª¤¯¤ì Ω¤Á¸å¤ì #KSr 0 ¤¿¤Á¤«¤± ÂÀ¿Ï³Ý #JNS 0 ¤¿¤Á¤«¤ï ΩÀî #JCN 0 ¤¿¤Á¤­ ÃǤÁÀÚ #R5r 1 ¤¿¤Á¤®¤¨ Ω¤Á¾Ã¤¨ #T35 1 ¤¿¤Á¤®¤­ Ω¤Áʹ¤­ #T30 1 ¤¿¤Á¤°¤¤ Ω¤Á¿©¤¤ #T30 0 ¤¿¤Á¤µ Ω¤Áµî #R5 0 ¤¿¤Á¤¹¤¯ Ω¤Á¤¹¤¯ #M5r 0 ¤¿¤Á¤É¤³¤í¤Ë ¤¿¤Á¤É¤³¤í¤Ë #F14 0 ¤¿¤Á¤É¤Þ Ω¤Á»ß¤Þ #R5r 1 ¤¿¤Á¤Ê¤ª Ω¤Áľ #R5r 3 ¤¿¤Á¤Ê¤é ·ú¤ÁÊ #B5 0 ¤¿¤Á¤Ê¤é Ω¤ÁÊ #B5 1 ¤¿¤Á¤Î Ω¤ÁÂà #K5r 0 ¤¿¤Á¤Ï¤À¤« Ω¤Á¤Ï¤À¤« #R5 1 ¤¿¤Á¤Ð Ω¾ì #T35 29 ¤¿¤Á¤Ð¤Ê µÌ #JCN 0 ¤¿¤Á¤Ð¤Ê Ω²Ö #JCN 0 ¤¿¤Á¤Ð¤Ê µÌ #T35 22 ¤¿¤Á¤Ð¤Ê¤· Ω¤ÁÏà #T30 3 ¤¿¤Á¤Þ¤Á ¤¿¤Á¤Þ¤Á #F14 1 ¤¿¤Á¤Þ¤Á ¤¿¤Á¤Þ¤Á #T16 0 ¤¿¤Á¤Þ¤Á ΩÂÔ¤Á #T35 1 ¤¿¤Á¤Þ¤ï Ω¤Á²ó #R5r 1 ¤¿¤Á¤ß Ω¸« #T30 2 ¤¿¤Á¤à¤« Ω¤Á¸þ¤« #W5r 1 ¤¿¤Á¤è Ω¤Á´ó #R5 0 ¤¿¤Ã ã #SX 15 ¤¿¤Ã¤­¤å¤¦ Âîµå #T30 2 ¤¿¤Ã¤­¤å¤¦¤Ó¤ó ÂðµÞÊØ #T35 3 ¤¿¤Ã¤±¤ó Â #T35 0 ¤¿¤Ã¤·¤ã ã¼Ô #T05 1 ¤¿¤Ã¤»¤¤ ãÀ® #T30 4 ¤¿¤Ã¤¿ ¤¿¤Ã¤¿ #F14 1 ¤¿¤Ã¤¿ ¤¿¤Ã¤¿ #T36 0 ¤¿¤Ã¤Á ¥¿¥Ã¥Á #T30 5 ¤¿¤Ã¤Æ¤Î ¤¿¤Ã¤Æ¤Î #RT 0 ¤¿¤Ã¤È µ® #B5 0 ¤¿¤Ã¤È º #B5 0 ¤¿¤Ã¤È µ® #KY 0 ¤¿¤Ã¤È º #KY 0 ¤¿¤Ã¤Ô¤Ä ãɮ #T05 0 ¤¿¤Ã¤×¤ê ¤¿¤Ã¤×¤ê #F04 2 ¤¿¤Ã¤×¤ê ¤¿¤Ã¤×¤ê #T16 0 ¤¿¤Ä ã #KJ 6 ¤¿¤Ä ä #T35 0 ¤¿¤Ä ε #T35 0 ¤¿¤Ä ζ #T35 1 ¤¿¤Ä¤ª ãÃË #JNM 0 ¤¿¤Ä¤ª ãÉ× #JNM 0 ¤¿¤Ä¤ª ãͺ #JNM 0 ¤¿¤Ä¤ª äÃË #JNM 0 ¤¿¤Ä¤ª äÉ× #JNM 0 ¤¿¤Ä¤ª äͺ #JNM 0 ¤¿¤Ä¤ª εÉ× #JNM 0 ¤¿¤Ä¤ª εͺ #JNM 0 ¤¿¤Ä¤ª ζͺ #JNM 0 ¤¿¤Ä¤«¤ï ΩÀî #JNS 0 ¤¿¤Ä¤³ ÅÄ»Ò #JN 0 ¤¿¤Ä¤´¤¦ ε¶¿ #JNS 0 ¤¿¤Ä¤· ã»Ö #JNM 0 ¤¿¤Ä¤¸ äÆó #JNM 0 ¤¿¤Ä¤¸¤ó ã¿Í #T35 2 ¤¿¤Ä¤Î äÌî #JCN 0 ¤¿¤Ä¤Î ζÌî #JCN 0 ¤¿¤Ä¤Î εÌî #JNS 0 ¤¿¤Ä¤Î¤¯¤Á ä¸ý #JCN 0 ¤¿¤Ä¤Î¤ê ãÆÁ #JNM 0 ¤¿¤Ä¤Ö¤ó ãʸ #T35 0 ¤¿¤Ä¤Þ¤­ ε´¬ #T35 1 ¤¿¤Ä¤ß Ω¸« #JNM 0 ¤¿¤Ä¤ß ç #T35 0 ¤¿¤Ä¤ä ãÌé #JNM 0 ¤¿¤Ä¤ä äÌé #JNM 0 ¤¿¤Ä¤ä ΩºÈ #JNM 0 ¤¿¤Ä¤ä εÌé #JNM 0 ¤¿¤Ä¤ä ζÌé #JNM 0 ¤¿¤Ä¤ä¤Þ ε»³ #JNS 0 ¤¿¤Ä¤æ¤­ ã¹Ô #JNM 0 ¤¿¤Ä¤ë¤Ï¤Þ ÅÄÄáÉÍ #CN 0 ¤¿¤Ä¤í¤¦ ãϺ #JNM 0 ¤¿¤Å¤Ê ¼ê¹Ë #T35 1 ¤¿¤Æ ¤¿¤Æ #D2T35 0 ¤¿¤Æ Ω¤Æ #D2T35 0 ¤¿¤Æ è #KJ 0 ¤¿¤Æ ÅÀ¤Æ #KS 0 ¤¿¤Æ ¤¿¤Æ #KS 1 ¤¿¤Æ ·ú¤Æ #KS 21 ¤¿¤Æ Ω¤Æ #KS 6 ¤¿¤Æ ´Û #T35 0 ¤¿¤Æ ½Ý #T35 0 ¤¿¤Æ ´Ü #T35 1 ¤¿¤Æ ½â #T35 1 ¤¿¤Æ ½Ä #T35 28 ¤¿¤Æ¤¢¤­ ¸­ÌÀ #JNM 0 ¤¿¤Æ¤¤¤· ΩÀÐ #JCN 0 ¤¿¤Æ¤¤¤· ·úÀÐ #JNS 0 ¤¿¤Æ¤¤¤· ΩÀÐ #KK 4 ¤¿¤Æ¤¤¤·¤Ç¤ó¤­ ΩÀÐÅŵ¡ #KK 8 ¤¿¤Æ¤¤¤ï ´Û´ä #JCN 0 ¤¿¤Æ¤¦¤Á ´ÛÆâ #JN 1 ¤¿¤Æ¤¦¤ê ·úÇä¤ê #T35 0 ¤¿¤Æ¤«¤¨ ·ú¤ÆÂؤ¨ #KSr 1 ¤¿¤Æ¤«¤¨ Ω¤ÆÂؤ¨ #KSr 22 ¤¿¤Æ¤«¤¨ Î©ÂØ #T30 2 ¤¿¤Æ¤«¤± Ω¤Æ¤«¤± #KS 0 ¤¿¤Æ¤±¤¤ ¨¢ #T35 1 ¤¿¤Æ¤±¤¤ ¨­ #T35 1 ¤¿¤Æ¤³ ¤¿¤Æ¹þ #M5r 1 ¤¿¤Æ¤³¤â Ω¤Æ¤³¤â #R5r 0 ¤¿¤Æ¤·¤Ê Ω²Ê #JCN 0 ¤¿¤Æ¤¸¤Þ ½Ä¼Ê #T35 1 ¤¿¤Æ¤Ä ½âÆÍ #K5 0 ¤¿¤Æ¤Ä¤± ·ú¤Æ¤Ä¤± #T35 0 ¤¿¤Æ¤Ä¤± ΩÉÕ¤± #T35 0 ¤¿¤Æ¤Ä¤Ü ·úÄÚ #T35 0 ¤¿¤Æ¤Ê¤¬ ½ÄĹ #T05 3 ¤¿¤Æ¤Î ´ÛÌî #JCN 0 ¤¿¤Æ¤Î ´ÜÌî #JNS 0 ¤¿¤Æ¤Ð¤ä¤· ´ÛÎÓ #JCN 0 ¤¿¤Æ¤Þ¤¨ ·úÁ° #T35 0 ¤¿¤Æ¤Þ¤· ·úÁý¤· #T30 0 ¤¿¤Æ¤Þ¤Ä Êô #R5 0 ¤¿¤Æ¤â¤Î ·úʪ #T35 4 ¤¿¤Æ¤ä¤¯¤·¤ã ΩÌò¼Ô #T35 0 ¤¿¤Æ¤ä¤Þ ´Û»³ #JCN 0 ¤¿¤Æ¤ä¤Þ Ω»³ #JCN 0 ¤¿¤Ç èú #T35 2 ¤¿¤È¤¨ ¤¿¤È¤¨ #F14 24 ¤¿¤È¤¨ ¤¿¤È¤¨ #KS 1 ¤¿¤È¤¨ Î㤨 #KS 8 ¤¿¤È¤¨¤Ð ¤¿¤È¤¨¤Ð #T36 5 ¤¿¤È¤¨¤Ð Î㤨¤Ð #T36 226 ¤¿¤È¤ß ÅÄÉÙ #JCN 0 ¤¿¤É ¿ÅÙ #JCN 0 ¤¿¤É ¤¿¤É #R5 12 ¤¿¤É é #R5 2 ¤¿¤É¤¦¤· ¾ư»ì #T35 3 ¤¿¤É¤¯ ¿ÆÉ #T30 0 ¤¿¤É¤³¤í ÅĽê #JNS 0 ¤¿¤É¤Ä ¿ÅÙÄÅ #JCN 0 ¤¿¤É¤ê¤Ä ¤¿¤É¤êÃå #K5 6 ¤¿¤Ê Ź #T35 0 ¤¿¤Ê ê #T35 10 ¤¿¤Ê¤¢¤² ê¾å¤² #T30 0 ¤¿¤Ê¤ª¤í¤· ê²·¤· #T30 0 ¤¿¤Ê¤« ÅÄÃæ #JCN 0 ¤¿¤Ê¤­ êÌÚ #JNS 0 ¤¿¤Ê¤°¤é êÁÒ #JCN 0 ¤¿¤Ê¤´¤³¤í ¾¸ #T35 0 ¤¿¤Ê¤· ÅÄ̵ #CN 0 ¤¿¤Ê¤À êÅÄ #JNS 0 ¤¿¤Ê¤Ð¤¿ ¼·Í¼ #T35 4 ¤¿¤Ê¤Ó ê°ú #K5 0 ¤¿¤Ê¤Ù ÅÄÊÕ #JCN 0 ¤¿¤Ê¤ó ¿Æñ #T05 1 ¤¿¤Ë ë #JNS 0 ¤¿¤Ë ë #T35 22 ¤¿¤Ë¤¦¤Á ëÆâ #JNS 0 ¤¿¤Ë¤¬¤ï ëÀî #JCN 0 ¤¿¤Ë¤¬¤ï ëÀî #T35 2 ¤¿¤Ë¤°¤Á ë¸ý #JCN 0 ¤¿¤Ë¤°¤ß ëµâ #JCN 0 ¤¿¤Ë¤¶¤­ ëºê #JNS 0 ¤¿¤Ë¤Þ ë´Ö #T35 0 ¤¿¤Ë¤â¤È ëËÜ #JNS 0 ¤¿¤Ë¤ä¤Þ 뻳 #JCN 0 ¤¿¤Ë¤ó ¾¿Í #T35 28 ¤¿¤Ì¤­ ì #T35 1 ¤¿¤Ì¤·¤Þ¤ë Åļç´Ý #CN 0 ¤¿¤Ì¤Þ Åľ #JCN 0 ¤¿¤Í ¼ï»Ò #JN 0 ¤¿¤Í °ý #T35 0 ¤¿¤Í ¼ï #T35 5 ¤¿¤Í¤¢¤«¤· ¼ïÌÀ¤«¤· #T30 0 ¤¿¤Í¤¢¤«¤· ¼ïÌÀ¤· #T30 0 ¤¿¤Í¤¤¤Á ¼ï»Ô #JCN 0 ¤¿¤Í¤¬¤·¤Þ ¼ï»ÒÅç #CN 0 ¤¿¤Í¤ó ¿ǯ #T15 0 ¤¿¤Î ¿Ìî #JCN 0 ¤¿¤Î ÅÄÌî #JCN 0 ¤¿¤Î Íê #M5r 67 ¤¿¤Î¤¦ ¿ǽ #T05 0 ¤¿¤Î¤¦¤é Åıº #JCN 0 ¤¿¤Î¤· ¤¿¤Î¤· #KYmi 0 ¤¿¤Î¤· Ìû¤· #KYmi 1 ¤¿¤Î¤· ³Ú¤· #KYmi 116 ¤¿¤Î¤· ³Ú¤· #M5r 116 ¤¿¤Î¤·¤¬ ¤¿¤Î¤·¤¬ #R5 0 ¤¿¤Î¤·¤¬ Ìû¤·¤¬ #R5 1 ¤¿¤Î¤·¤¬ ³Ú¤·¤¬ #R5 2 ¤¿¤Î¤·¤å¤¦ ¤¿¤Î¤·¤å¤¦ #KYU 0 ¤¿¤Î¤·¤å¤¦ Ìû¤·¤å¤¦ #KYU 1 ¤¿¤Î¤·¤å¤¦ ³Ú¤·¤å¤¦ #KYU 3 ¤¿¤Î¤Ï¤¿ ÅÄÌîȪ #JCN 0 ¤¿¤Î¤ß¤³ Íê¤ß¹þ #M5r 0 ¤¿¤Î¤â¤· Íê¤â¤· #KY 3 ¤¿¤Î¤â¤·¤å¤¦ Íê¤â¤·¤å¤¦ #KYU 1 ¤¿¤Ï¤Ä ¿ȯ #T30 2 ¤¿¤Ï¤é Åĸ¶ #JCN 0 ¤¿¤Ð « #JS 1 ¤¿¤Ð « #T35 1 ¤¿¤Ð¤¤¤È ¿¥Ð¥¤¥È #T15 26 ¤¿¤Ð¤« ¤¿¤Ð¤« #R5 0 ¤¿¤Ð¤« ËÅ #R5 0 ¤¿¤Ð¤³ ¥¿¥Ð¥³ #T35 2 ¤¿¤Ð¤³ ±ìÁð #T35 2 ¤¿¤Ð¤¿ ÅÄü #JCN 0 ¤¿¤Ð¤¿ ÅÄȪ #JNS 0 ¤¿¤Ð¤Í «¤Í #KS 0 ¤¿¤Ð¤ä¤Þ ðÇÈ»³ #CN 0 ¤¿¤Ó ι #T30 9 ¤¿¤Ó ­ÂÞ #T35 0 ¤¿¤Ó ÅÙ #T35 23 ¤¿¤Ó ¤¿¤Ó #T35 31 ¤¿¤Ó¤«¤µ¤Ê ÅÙ½Å¤Ê #R5 1 ¤¿¤Ó¤µ¤­ ιÀè #T35 0 ¤¿¤Ó¤¸ ιϩ #T35 1 ¤¿¤Ó¤¿¤Ó ¤¿¤Ó¤¿¤Ó #T06 6 ¤¿¤Ó¤¿¤Ó ÅÙ¡¹ #T06 6 ¤¿¤Ó¤À ιΩ #T5r 4 ¤¿¤Ó¤Ó¤È ι¿Í #T35 1 ¤¿¤Ó¤é ÅÄÊ¿ #JCN 0 ¤¿¤Õ ¥¿¥Õ #T05 3 ¤¿¤Ö ¥¿¥Ö #T35 9 ¤¿¤Ö¡¼ ¥¿¥Ö¡¼ #T05 1 ¤¿¤Ö¤» ÅÄÉÛ»Ü #JCN 0 ¤¿¤Ö¤Á ÅÄÞ¼ #JNS 0 ¤¿¤Ö¤ó ¿ʬ #F14 153 ¤¿¤Ö¤ó ¤¿¤Ö¤ó #F14 19 ¤¿¤Ö¤ó ¿ʬ #T35 101 ¤¿¤Ö¤ó ¾ʹ #T35 2 ¤¿¤Ù ¿©¤Ù #KS 119 ¤¿¤Ù¤â¤Î ¤¿¤Ù¤â¤Î #T35 6 ¤¿¤Ù¤â¤Î ¿©¤Ùʪ #T35 0 ¤¿¤Ù¤ó ¿ÊÛ #T05 0 ¤¿¤Û¤¦ ¾Êý #T35 6 ¤¿¤Ü¤¦ ¿˻ #T05 4 ¤¿¤Þ ¿Ëà #JCN 0 ¤¿¤Þ Îî #KJ 0 ¤¿¤Þ Ãù #R5 0 ¤¿¤Þ ί #R5r 33 ¤¿¤Þ ¤¿¤Þ #R5r 9 ¤¿¤Þ ´Ý #T35 0 ¤¿¤Þ ÃÆ #T35 0 ¤¿¤Þ ¼î #T35 1 ¤¿¤Þ µå #T35 4 ¤¿¤Þ ¶Ì #T35 7 ¤¿¤Þ µë #W5 0 ¤¿¤Þ »ò #W5 0 ¤¿¤Þ¤¤ ¶Ì°æ #JNS 0 ¤¿¤Þ¤«¤· ¶ÌÇð #JNS 0 ¤¿¤Þ¤«¤ï ¶ÌÀî #JNS 0 ¤¿¤Þ¤¬¤ï ÅÄËüÀî #CN 0 ¤¿¤Þ¤¬¤ï ¶ÌÀî #JCN 0 ¤¿¤Þ¤­ ¶Ì¾ë #JCN 0 ¤¿¤Þ¤­ ¶ÌÌÚ #JNS 0 ¤¿¤Þ¤°¤¹¤¯ ¶Ì¾ë #JCN 0 ¤¿¤Þ¤² ¤¿¤Þ¤² #KS 0 ¤¿¤Þ¤² º²¾Ã #KS 0 ¤¿¤Þ¤´ ¶Ì»Ò #T35 0 ¤¿¤Þ¤´ Íñ #T35 12 ¤¿¤Þ¤·¤¤ º² #T35 2 ¤¿¤Þ¤¿¤Þ ¤¿¤Þ¤¿¤Þ #T06 7 ¤¿¤Þ¤Á ÅÄÄ® #CN 0 ¤¿¤Þ¤Ä¤­ µåƵ¤­ #T30 0 ¤¿¤Þ¤Ä¤¯¤ê ¶Ì¤ #JCN 0 ¤¿¤Þ¤Å¤¯¤ê ¶Ì¤ #JCN 0 ¤¿¤Þ¤Æ¤Ã¤¯ ¿Ëà¥Æ¥Ã¥¯ #KK 1 ¤¿¤Þ¤Ê ¶Ì̾ #JCN 0 ¤¿¤Þ¤Ë ¤¿¤Þ¤Ë #F14 16 ¤¿¤Þ¤Í¤® ¥¿¥Þ¥Í¥® #T35 0 ¤¿¤Þ¤Í¤® ¶ÌǬ #T35 0 ¤¿¤Þ¤Î ¶ÌÌî #JCN 0 ¤¿¤Þ¤Î¤¦¤é ¶ÌÇ·±º #CN 0 ¤¿¤Þ¤Î¤³¤· ¶Ì¤ÎÍÁ #T35 2 ¤¿¤Þ¤Û ¶ÌÊæ #JCN 0 ¤¿¤Þ¤à¤· ¶ÌÃî #T35 1 ¤¿¤Þ¤à¤é ¶Ì¼ #JNS 0 ¤¿¤Þ¤â¤Î »ò #T35 0 ¤¿¤Þ¤ä¤Þ ¶Ì»³ #JCN 0 ¤¿¤Þ¤æ ¶ÌÅò #JCN 0 ¤¿¤Þ¤ê ¶ÌΤ #JCN 0 ¤¿¤Þ¤ê ί #T35 0 ¤¿¤Þ¤ï »ò #R5 0 ¤¿¤Þ¤ï »ò¤ï #R5 2 ¤¿¤ß ̱ #T35 0 ¤¿¤ß¤ª ̱ÃË #JNM 0 ¤¿¤ß¤ª ̱ͺ #JNM 0 ¤¿¤à¤· ÅÄÃî #T35 0 ¤¿¤à¤é Åļ #JNS 0 ¤¿¤à¤í ÆÖ #T30 2 ¤¿¤á ¶º¤á #KS 0 ¤¿¤á ί¤á #KS 0 ¤¿¤á Ãù¤á #KS 8 ¤¿¤á »î #S5 76 ¤¿¤á ί #T35 1 ¤¿¤á ¤¿¤á #T35 255 ¤¿¤á °Ù #T35 53 ¤¿¤á¤¤¤­ ¤¿¤á© #T30 1 ¤¿¤á¤· Îã #T35 0 ¤¿¤á¤·¤¦¤Á »î¤·ÂǤÁ #T30 0 ¤¿¤á¤é ¤¿¤á¤é #W5r 1 ¤¿¤á¤ó ¿ÌÌ #T05 1 ¤¿¤á¤ó ¾ÌÌ #T35 2 ¤¿¤á¤ó¤¿¤¤ ¿ÌÌÂÎ #T35 3 ¤¿¤â ÊÝ #T5 21 ¤¿¤â¤Ä ÊÝ #JN 0 ¤¿¤â¤ê ¥¿¥â¥ê #JNS 0 ¤¿¤ä Àä¤ä #S5 0 ¤¿¤ä¤¹ ¤¿¤ä¤¹ #KY 1 ¤¿¤ä¤¹ ÍÆ°× #KY 1 ¤¿¤ä¤¹¤¦ ¤¿¤ä¤¹¤¦ #KYU 1 ¤¿¤è Íê #R5r 24 ¤¿¤è¤¦ ¿ÍÍ #T05 4 ¤¿¤è¤¦ ¿ÍÑ #T30 2 ¤¿¤è¤ê ÊØ¤ê #T35 3 ¤¿¤è¤ê¤Ê Íê¤ê¤Ê #KY 0 ¤¿¤è¤ê¤Ê ¤¿¤è¤ê¤Ê #KY 1 ¤¿¤è¤ê¤Î¤¦ Íê¤ê¤Î¤¦ #KYU 0 ¤¿¤è¤ê¤Î¤¦ ¤¿¤è¤ê¤Î¤¦ #KYU 1 ¤¿¤é ÂÀÎÉ #JCN 0 ¤¿¤é ¿â¤é #S5 2 ¤¿¤é í #T35 11 ¤¿¤é¤® ¿ÎÉÌÚ #JCN 0 ¤¿¤é¤º ­¤é¤º #N2T16 7 ¤¿¤é¤Þ ¿ÎÉ´Ö #JCN 0 ¤¿¤é¤ß ¿Îɸ« #JCN 0 ¤¿¤ê ­¤ê #KS 51 ¤¿¤ê¤­ ¾ÎÏ #T35 1 ¤¿¤ê¤ç¤¦ ¿ÎÌ #T05 3 ¤¿¤ë î #T35 1 ¤¿¤ë¤¤ ¿â°æ #JCN 0 ¤¿¤ë¤ß ¿â¿å #JCN 0 ¤¿¤ë¤ß¤º ¿â¿å #JCN 0 ¤¿¤ì ¿â¤ì #KSr 3 ¤¿¤ì¤µ¤¬ ¿â¤ì²¼¤¬ #R5r 0 ¤¿¤ì¤ó¤È ¥¿¥ì¥ó¥È #T35 1 ¤¿¤í¤¦ ÅÄÏ· #CN 0 ¤¿¤í¤¦ ÂÀϺ #JCN 0 ¤¿¤ï ¤¿¤ï #M5r 1 ¤¿¤ï¡¼ ¥¿¥ï¡¼ #T35 2 ¤¿¤ï¤¤ ¤¿¤ï¤¤ #T35 1 ¤¿¤ï¤¤¤Ê ¤¿¤ï¤¤¤Ê #KY 0 ¤¿¤ï¤¤¤Î¤¦ ¤¿¤ï¤¤¤Î¤¦ #KYU 0 ¤¿¤ï¤´¤È ¤¿¤ï¤´¤È #T35 1 ¤¿¤ï¤´¤È µº¸À #T35 1 ¤¿¤ï¤à¤ì µº¤ì #KSr 0 ¤¿¤ï¤é Åĸ¶ #JCN 0 ¤¿¤ï¤é ɶ #T35 4 ¤¿¤ï¤é¤â¤È Åĸ¶ËÜ #JCN 0 ¤¿¤ï¤ï ¤¿¤ï¤ï #T05 0 ¤¿¤ó È¿ #JS 1 ¤¿¤ó ô #KJ 0 ¤¿¤ó õ #KJ 0 ¤¿¤ó ö #KJ 0 ¤¿¤ó ù #KJ 0 ¤¿¤ó ú #KJ 0 ¤¿¤ó ý #KJ 0 ¤¿¤ó þ #KJ 0 ¤¿¤ó ÿ #KJ 0 ¤¿¤ó ÃÁ #KJ 0 ¤¿¤ó à#KJ 0 ¤¿¤ó Ãà #KJ 0 ¤¿¤ó ÆÎ #KJ 0 ¤¿¤ó â #KJ 1 ¤¿¤ó ò #KJ 1 ¤¿¤ó ÷ #KJ 1 ¤¿¤ó ø #KJ 1 ¤¿¤ó ó #KJ 2 ¤¿¤ó ëý #KJ 2 ¤¿¤ó ð #KJ 4 ¤¿¤ó ü #KJ 5 ¤¿¤ó ü #SUC 0 ¤¿¤ó ÃÀ #T35 1 ¤¿¤ó áâ #T35 1 ¤¿¤ó ñ #T35 217 ¤¿¤ó û #T35 9 ¤¿¤ó ò #ZX 0 ¤¿¤ó¤¤ ñ°Ì #T35 101 ¤¿¤ó¤¤ ñ°Ù #T35 2 ¤¿¤ó¤¤¤Ä ñ°ì #T05 28 ¤¿¤ó¤¤¤Ä¤« ñ°ì²½ #T30 4 ¤¿¤ó¤« ú²½ #T30 0 ¤¿¤ó¤« ô²Í #T35 0 ¤¿¤ó¤« Ó·Òê #T35 0 ¤¿¤ó¤« ¡÷ #T35 1 ¤¿¤ó¤« û²Î #T35 1 ¤¿¤ó¤« ñ²Á #T35 4 ¤¿¤ó¤«¡¼ ¥¿¥ó¥«¡¼ #T35 0 ¤¿¤ó¤«¤ó ñ´Á #T35 2 ¤¿¤ó¤«¤ó¤¸ ñ´Á»ú #T35 0 ¤¿¤ó¤¬¤ó ò´ê #T30 0 ¤¿¤ó¤­ ûµ¤ #T05 1 ¤¿¤ó¤­ û´ü #T15 3 ¤¿¤ó¤­¤å¤¦ õµæ #T30 1 ¤¿¤ó¤­¤å¤¦ õµá #T30 2 ¤¿¤ó¤¯ ¥¿¥ó¥¯ #T35 3 ¤¿¤ó¤°¤¹¤Æ¤ó ¥¿¥ó¥°¥¹¥Æ¥ó #T35 1 ¤¿¤ó¤±¤ó õ¸± #T30 1 ¤¿¤ó¤±¤ó õ¸¡ #T30 3 ¤¿¤ó¤²¤¤ üÐä #T30 0 ¤¿¤ó¤²¤ó ñ¸µ #T35 0 ¤¿¤ó¤³¤¦ ñ¹à #T05 3 ¤¿¤ó¤³¤¦ ñ¹Ô #T30 2 ¤¿¤ó¤³¤¦ ú¹£ #T35 0 ¤¿¤ó¤³¤¦ ú¹Û #T35 1 ¤¿¤ó¤³¤¦ ñ¸þ #T35 2 ¤¿¤ó¤´ ð¸å #CN 0 ¤¿¤ó¤´ ñ¸ì #T35 255 ¤¿¤ó¤´ ¥¿¥ó¥´ #T35 0 ¤¿¤ó¤µ õºº #T30 0 ¤¿¤ó¤µ¤¤ øºÌ #T35 0 ¤¿¤ó¤µ¤¯ õº÷ #T30 16 ¤¿¤ó¤µ¤¯¤® õº÷ÌÚ #T35 6 ¤¿¤ó¤µ¤ó ú»À #T35 0 ¤¿¤ó¤¶¤¯ ûºý #T35 0 ¤¿¤ó¤¶¤Ë¤¢ ¥¿¥ó¥¶¥Ë¥¢ #CN 0 ¤¿¤ó¤· ü»Ò #T35 17 ¤¿¤ó¤·¤ã ñ¼Ö #T35 0 ¤¿¤ó¤·¤ã ñ¼Í #T35 3 ¤¿¤ó¤·¤å¤¯ û½Ì #T30 8 ¤¿¤ó¤·¤ç ü½ï #T35 0 ¤¿¤ó¤·¤ç û½ê #T35 2 ¤¿¤ó¤·¤ç¤¦ û¾® #T05 0 ¤¿¤ó¤·¤ç¤¦ õ¾¡ #T30 0 ¤¿¤ó¤·¤ó û¿Ë #T35 0 ¤¿¤ó¤·¤ó ñ¿È #T35 2 ¤¿¤ó¤¸¤«¤ó û»þ´Ö #T15 3 ¤¿¤ó¤¸¤å¤¦ û½Æ #T35 0 ¤¿¤ó¤¸¤å¤¦ ÃÀ½Á #T35 1 ¤¿¤ó¤¸¤å¤ó ñ½ã #T05 37 ¤¿¤ó¤¸¤ç¤¦ ÃÂÀ¸ #T30 7 ¤¿¤ó¤¸¤ç¤¦¤Ó ÃÂÀ¸Æü #T35 21 ¤¿¤ó¤¹ ý¿Ú #T35 2 ¤¿¤ó¤¹¤¤ ø¿å #T35 0 ¤¿¤ó¤¹¤¦ ñ¿ô #T35 0 ¤¿¤ó¤»¤¤ øÀÄ #KK 1 ¤¿¤ó¤»¤¤ üÀµ #T05 1 ¤¿¤ó¤»¤¤ ðÀº #T30 0 ¤¿¤ó¤»¤¤ ðÀÄ #T35 1 ¤¿¤ó¤»¤¤¤É ñÀºÅÙ #T05 1 ¤¿¤ó¤»¤­ ÃÀÀÐ #T35 0 ¤¿¤ó¤»¤ó ñÀþ #T35 0 ¤¿¤ó¤¼¤ó ðÁ° #CN 0 ¤¿¤ó¤¼¤ó üÁ³ #F00 0 ¤¿¤ó¤¼¤ó ðÁ° #T35 0 ¤¿¤ó¤½ úÁÇ #T35 1 ¤¿¤ó¤½ úáÔ #T35 1 ¤¿¤ó¤½¤¯ ò© #T30 0 ¤¿¤ó¤¿¤¤ ôÂÎ #T35 1 ¤¿¤ó¤¿¤¤ ñÂÎ #T35 3 ¤¿¤ó¤¿¤ó ø¡¹ #F00 1 ¤¿¤ó¤À¤¤ ûÂç #T35 12 ¤¿¤ó¤Á õÃÎ #T30 1 ¤¿¤ó¤Á¤ç¤¦ ñĴ #T05 3 ¤¿¤ó¤Á¤ç¤¦ ðĺ #T35 0 ¤¿¤ó¤Á¤ç¤¦ ûĴ #T35 0 ¤¿¤ó¤Á¤ç¤¦¤Å¤ë ðĺÄá #T35 0 ¤¿¤ó¤Æ¤¤ õÄå #T30 1 ¤¿¤ó¤Æ¤¤ ñÄý #T35 1 ¤¿¤ó¤Æ¤­ üŪ #T05 2 ¤¿¤ó¤Æ¤ó üÅÀ #T35 1 ¤¿¤ó¤Ç¤­ ÿŮ #T35 0 ¤¿¤ó¤Ç¤ó úÅÄ #T35 1 ¤¿¤ó¤È¤¦ âÅì #CN 0 ¤¿¤ó¤È¤¦ ôÅö #T30 255 ¤¿¤ó¤È¤¦ ûÅá #T35 2 ¤¿¤ó¤È¤¦¤·¤ã ôÅö¼Ô #T35 0 ¤¿¤ó¤È¤¦¤Á¤ç¤¯¤Ë¤å¤¦ ñÅáľÆþ #T05 0 ¤¿¤ó¤É¤¯ ðÆÇ #T35 0 ¤¿¤ó¤É¤¯ ñÆÈ #T35 16 ¤¿¤ó¤Ê¤ë ñ¤Ê¤ë #RT 10 ¤¿¤ó¤Ê¤ó ðÆî #CN 0 ¤¿¤ó¤Ë¤ó ôǤ #T30 1 ¤¿¤ó¤Í¤ó ðǰ #T05 0 ¤¿¤ó¤Î üÌî #JCN 0 ¤¿¤ó¤Î ðÌî #JNS 0 ¤¿¤ó¤Î¤¦ ´®Ç½ #T30 0 ¤¿¤ó¤Î¤¦ ÃÀǹ #T30 0 ¤¿¤ó¤Ð ðÇÈ #JCN 0 ¤¿¤ó¤Ð¤¤¤Á ðÇÈ»Ô #CN 0 ¤¿¤ó¤Ð¤é 𸶠#JCN 0 ¤¿¤ó¤Ñ ûÇÈ #T35 0 ¤¿¤ó¤Ñ¤¯ øÇò #T05 0 ¤¿¤ó¤Ñ¤¯ ¥¿¥ó¥Ñ¥¯ #T35 1 ¤¿¤ó¤Ñ¤¯ ÃÁÇò #T35 1 ¤¿¤ó¤Ñ¤ó û¥Ñ¥ó #T35 0 ¤¿¤ó¤Ó ÿÈþ #T35 0 ¤¿¤ó¤Ô¤ç¤¦ ûɾ #T30 1 ¤¿¤ó¤Ô¤ç¤¦ ñɼ #T35 1 ¤¿¤ó¤Ô¤ó ñÉÊ #T35 0 ¤¿¤ó¤Ö¤ó ûʸ #T35 0 ¤¿¤ó¤Ö¤ó ñʸ #T35 2 ¤¿¤ó¤Ú¤ó ûÊÕ #T35 0 ¤¿¤ó¤Ú¤ó ûÊÓ #T35 1 ¤¿¤ó¤Ú¤ó ûÊÔ #T35 1 ¤¿¤ó¤Ü ÅĤó¤Ü #T35 9 ¤¿¤ó¤Ü¤¦ õˬ #T30 0 ¤¿¤ó¤Ý ôÊÝ #T30 0 ¤¿¤ó¤Ý¤Ý ¥¿¥ó¥Ý¥Ý #T35 0 ¤¿¤ó¤Ý¤Ý ³÷¸ø±Ñ #T35 0 ¤¿¤ó¤Þ¤Ä üËö #T35 151 ¤¿¤ó¤à ó̳ #T30 1 ¤¿¤ó¤â¤Î ȿʪ #T35 0 ¤¿¤ó¤è¤¦¤­ ñÍÕµ¡ #T35 0 ¤¿¤ó¤é¤¯ ûÍí #T30 4 ¤¿¤ó¤ê¤ç¤¯ ÃÀÎÏ #T35 0 ¤¿¤ó¤ì¤¤ üÎï #T05 0 ¤¿¤ó¤ì¤ó ÃÃÏ£ #T30 0 ¤À ÂÇ #JS 66 ¤À Êú #K5 9 ¤À Âà #KJ 0 ¤À ÂÄ #KJ 0 ¤À ÂÆ #KJ 0 ¤À ÂÇ #KJ 0 ¤À ÂÈ #KJ 0 ¤À ÂË #KJ 0 ¤À ¼¶ #KJ 1 ¤À ¼Ø #KJ 1 ¤À ÂÅ #KJ 1 ¤À ÂÉ #KJ 1 ¤À ÂÊ #KJ 1 ¤À ÂÍ #KJ 1 ¤À ÂÌ #KJ 5 ¤À ¤À #S5 9 ¤À ½Ð #S5r 255 ¤À ÅÄ #T35 95 ¤À Ω #T5r 3 ¤À¡¼¤¤ ¤À¡¼¤¤ #PRE 1 ¤À¡¼¤¯ ¥À¡¼¥¯ #T05 2 ¤À¡¼¤¹ ¥À¡¼¥¹ #JS 2 ¤À¤¤ Âæ #CNSUC1 0 ¤À¤¤ Âç #CNSUC1 0 ¤À¤¤ Âå #JS 0 ¤À¤¤ Âê #JS 0 ¤À¤¤ Âæ #JSSUC 0 ¤À¤¤ ÂÒ #KJ 0 ¤À¤¤ Äï #KJ 0 ¤À¤¤ Æâ #KJ 0 ¤À¤¤ Ƕ #KJ 0 ¤À¤¤ Âé #KJ 1 ¤À¤¤ Âè #KJ 201 ¤À¤¤ Âè #NNPRE 0 ¤À¤¤ Âç #PRE 0 ¤À¤¤ Âê #S5 10 ¤À¤¤ Âå #SUC 0 ¤À¤¤ Âç #SUC 0 ¤À¤¤ Âê #T30 10 ¤À¤¤ Âå #T35 18 ¤À¤¤ Âæ #T35 43 ¤À¤¤ Âç #T35 76 ¤À¤¤¤¢¤°¤é¤à ¥À¥¤¥¢¥°¥é¥à #T35 5 ¤À¤¤¤¢¤ë ¥À¥¤¥¢¥ë #T30 12 ¤À¤¤¤¢¤í¤° ¥À¥¤¥¢¥í¥° #T30 5 ¤À¤¤¤¢¤ó Âç°Â #CN 0 ¤À¤¤¤¢¤ó Âå°Æ #T35 4 ¤À¤¤¤¤¤Á Âè°ì #T35 118 ¤À¤¤¤¨¤¤ Âç±É #CN 0 ¤À¤¤¤¨¤Ã¤È ¥À¥¤¥¨¥Ã¥È #T30 4 ¤À¤¤¤¨¤ó Âç±ß #T35 0 ¤À¤¤¤ª¡¼¤É ¥À¥¤¥ª¡¼¥É #T35 2 ¤À¤¤¤ª¤¦ Â粦 #CN 0 ¤À¤¤¤ª¤¦¤¸¤ç¤¦ Âç±ýÀ¸ #T30 1 ¤À¤¤¤« Âå²Á #T35 1 ¤À¤¤¤«¤ó Âç´¨ #T35 2 ¤À¤¤¤¬¤¨ ÂåÂØ #T30 0 ¤À¤¤¤¬¤¯ Âç³Ø #T35 45 ¤À¤¤¤¬¤¯¤¤¤ó Âç³Ø±¡ #T35 26 ¤À¤¤¤¬¤¯¤»¤¤ Âç³ØÀ¸ #T35 3 ¤À¤¤¤­¤Ü Â絬ÌÏ #T05 17 ¤À¤¤¤­¤å¤¦ ÂåµÙ #T30 4 ¤À¤¤¤­¤ó Âå¶â #T35 5 ¤À¤¤¤¯ Â繩 #T35 1 ¤À¤¤¤¯¤¹¤È¤é ¥À¥¤¥¯¥¹¥È¥é #JN 0 ¤À¤¤¤±¤¤ Âæ·Á #T15 0 ¤À¤¤¤³¤¦ Âå¹Ö #T30 0 ¤À¤¤¤³¤¦ Âå¹Ô #T30 4 ¤À¤¤¤³¤¯ Âç¹õ #T35 1 ¤À¤¤¤³¤ó Â纬 #T35 5 ¤À¤¤¤´ Âç»Ò #CN 0 ¤À¤¤¤´¤ß Âé¸ïÌ£ #T35 3 ¤À¤¤¤¶¤¤ Âêºà #T35 1 ¤À¤¤¤· Âæ»æ #T35 0 ¤À¤¤¤·¤ã Âæ¼Ö #T35 1 ¤À¤¤¤·¤å¤¯¤·¤ã¤¯ Âç½Ì¼Ü #T15 0 ¤À¤¤¤·¤ç Âå½ñ #T30 0 ¤À¤¤¤·¤ç¤¦ Âå½þ #T30 3 ¤À¤¤¤·¤ç¤¦ Âç¾® #T35 9 ¤À¤¤¤¸ Âç»ö #T05 27 ¤À¤¤¤¸ Âê»ú #T35 0 ¤À¤¤¤¸¤§¤¹¤È ¥À¥¤¥¸¥§¥¹¥È #T30 4 ¤À¤¤¤¸¤ç¤¦¤Ö Âç¾æÉ× #T05 199 ¤À¤¤¤¸¤ê¤ó Âç¼­ÎÓ #KK 0 ¤À¤¤¤¸¤ó Âç¿Ã #T35 3 ¤À¤¤¤¹¤¦ Âæ¿ô #T35 115 ¤À¤¤¤¹¤¦ Âå¿ô #T35 35 ¤À¤¤¤¹¤­ Âç¹¥¤­ #T05 15 ¤À¤¤¤º ÂçÆ¦ #T35 0 ¤À¤¤¤»¤Ä ÂçÀã #T35 1 ¤À¤¤¤»¤ó Â绳 #CN 0 ¤À¤¤¤½¤ì¤¿ Â礽¤ì¤¿ #RT 0 ¤À¤¤¤¾¤¦ Âç¢ #JNM 0 ¤À¤¤¤¿¤¤ ÂåÂØ #T30 23 ¤À¤¤¤¿¤¤ ÂçÂÜ #T35 1 ¤À¤¤¤¿¤¤ ÂçÂâ #T35 1 ¤À¤¤¤¿¤¤ ÂçÂÎ #T35 138 ¤À¤¤¤¿¤¤ ¤À¤¤¤¿¤¤ #T35 7 ¤À¤¤¤¿¤ó ÂçÃÀ #T05 5 ¤À¤¤¤À¤¤ Â塹 #T35 3 ¤À¤¤¤À¤¤ Üô #T35 3 ¤À¤¤¤Á ÂæÃÏ #T35 0 ¤À¤¤¤Á ÂçÃÏ #T35 4 ¤À¤¤¤Á¤ç¤¦ ÂçIJ #T35 0 ¤À¤¤¤Á¤ç¤¦ ÂæÄ¢ #T35 2 ¤À¤¤¤È¤¦ ÂçÅì #JCN 0 ¤À¤¤¤È¤¦¤ê¤ç¤¦ ÂçÅýÎÎ #T35 1 ¤À¤¤¤É¤³¤í Âæ½ê #T35 1 ¤À¤¤¤Ê¤´¤ó ÂçǼ¸À #T35 0 ¤À¤¤¤Ê¤· ÂæÌµ¤· #T05 0 ¤À¤¤¤Ê¤Ö¤Ã¤¯ ¥À¥¤¥Ê¥Ö¥Ã¥¯ #KK 2 ¤À¤¤¤Ê¤ß¤¯¤¹ ¥À¥¤¥Ê¥ß¥¯¥¹ #T35 0 ¤À¤¤¤Ê¤ß¤Ã¤¯ ¥À¥¤¥Ê¥ß¥Ã¥¯ #T05 34 ¤À¤¤¤Ê¤ß¤Ã¤¯¤¹ ¥À¥¤¥Ê¥ß¥Ã¥¯¥¹ #T35 1 ¤À¤¤¤Ê¤ê ¡ä #T35 2 ¤À¤¤¤Ê¤ê¤¤¤³¡¼¤ë ¡æ #T35 4 ¤À¤¤¤Ë ÂèÆó #T35 111 ¤À¤¤¤Ë¤Ã¤Ý¤ó ÂçÆüËÜ #KK 3 ¤À¤¤¤Ë¤å¤¦ ÂåÆþ #T30 32 ¤À¤¤¤Î¤¦ ÂåǼ #T30 0 ¤À¤¤¤Î¤¦ ÂçǾ #T35 0 ¤À¤¤¤Ò¤Ä ÂåÉ® #T30 1 ¤À¤¤¤Ò¤ç¤¦ Âåɽ #T30 23 ¤À¤¤¤Õ¤¯ ÂçÊ¡ #T35 0 ¤À¤¤¤Õ¤¯¤Á¤ç¤¦ ÂçʡĢ #T35 0 ¤À¤¤¤Ö ¤À¤¤¤Ö #F14 15 ¤À¤¤¤Ö Âçʬ #F14 5 ¤À¤¤¤Ö¤Ä ÂçÊ© #T35 3 ¤À¤¤¤Ö¤Ö¤ó ÂçÉôʬ #T35 7 ¤À¤¤¤Ö¤ó Âçʬ #F14 1 ¤À¤¤¤Ù¤ó ÂçÊØ #T30 0 ¤À¤¤¤Ù¤ó ÂåÊÛ #T30 1 ¤À¤¤¤Û¤ó ÂæËÜ #T35 0 ¤À¤¤¤Þ¤ó¤¾¤¯ ÂçËþ­ #T10 0 ¤À¤¤¤ß¤ç¤¦ Âç̾ #T35 1 ¤À¤¤¤á¤¤ Âê̾ #T35 6 ¤À¤¤¤á¤¤¤· Âå̾»ì #T35 5 ¤À¤¤¤â¤¯ ÂêÌÜ #T35 5 ¤À¤¤¤â¤ó ÂçÌç #JCN 0 ¤À¤¤¤â¤ó ÂçÌç #T35 0 ¤À¤¤¤â¤ó¤¸ Âçʸ»ú #CN 0 ¤À¤¤¤ä ¥À¥¤¥ä #T35 3 ¤À¤¤¤ä¤¯ ÂåÌò #T30 1 ¤À¤¤¤ä¤°¤é¤à ¥À¥¤¥ä¥°¥é¥à #T35 16 ¤À¤¤¤ä¤â¤ó¤É ¥À¥¤¥ä¥â¥ó¥É #T35 1 ¤À¤¤¤ä¤ë ¥À¥¤¥ä¥ë #T30 4 ¤À¤¤¤è¤¦ ÂåÍÑ #T30 6 ¤À¤¤¤ê ÂåÍý #T30 22 ¤À¤¤¤ê¤»¤­ ÂçÍýÀÐ #T35 1 ¤À¤¤¤ê¤Æ¤ó ÂåÍýŹ #T35 3 ¤À¤¤¤ì¤¯¤È ¥À¥¤¥ì¥¯¥È #T05 5 ¤À¤¤¤ï ÂçÏ #JCN 0 ¤À¤¦ ¥À¥¦ #T35 0 ¤À¤¦¤ó ¥À¥¦¥ó #T30 37 ¤À¤¦¤ó¤Ò¤ë ¥À¥¦¥ó¥Ò¥ë #T35 1 ¤À¤¨¤­ ÂÃ±Õ #T35 0 ¤À¤¨¤ó Â汧 #T35 10 ¤À¤¨¤ó¤³ ÂÊ±ß¸Ì #T35 2 ¤À¤ª¤ì Åݤì #D2T35 1 ¤À¤« ¹â #KY 2 ¤À¤« ¹â #SUC 0 ¤À¤«¤¤ Âdz« #T30 2 ¤À¤«¤é ¤À¤«¤é #CJ 14 ¤À¤«¤é ¤À¤«¤é #T35 1 ¤À¤¬ ¤À¤¬ #CJ 1 ¤À¤¬¡¼ ¢÷ #T35 1 ¤À¤­ Âôþ #T30 0 ¤À¤­¤³ Êú¤­¹þ #M5r 0 ¤À¤­¤·¤á Êú¤­Äù¤á #KSr 0 ¤À¤­¤·¤á Êú¤­¤·¤á #KSr 1 ¤À¤­¤·¤á ¤À¤­¤·¤á #KSr 2 ¤À¤­¤ç¤¦ ÂŶ¨ #T30 2 ¤À¤¯ Âù #KJ 4 ¤À¤¯ Âú #T30 0 ¤À¤¯¤ª¤ó Âù²» #T35 3 ¤À¤¯¤¹¤¤ Âù¿å #T35 0 ¤À¤¯¤Æ¤ó ¡« #T35 2 ¤À¤¯¤Æ¤ó ÂùÅÀ #T35 2 ¤À¤¯¤È ¥À¥¯¥È #T35 1 ¤À¤¯¤ê¤å¤¦ Âùή #T35 0 ¤À¤± ³Ù #CNSUC1 8 ¤À¤±¤Ä ÂÅ·ë #T30 0 ¤À¤±¤É ¤À¤±¤É #CJ 9 ¤À¤±¤ó ÂǸ° #T30 9 ¤À¤²¤­ ÂÇ·â #T35 2 ¤À¤³¤¦ ¹â¤¦ #KYU 1 ¤À¤³¤¦ ¼Ø¹Ô #T30 0 ¤À¤µ¤¯ Â̺î #T05 1 ¤À¤µ¤ó ÂÇ»» #T30 3 ¤À¤¶¤¤ ÂÀºË #JNS 0 ¤À¤¶¤¤¤Õ ÂÀºËÉÜ #CN 0 ¤À¤· »³¼Ö #T35 0 ¤À¤· ½Ð½Á #T35 0 ¤À¤·¤¢ ½Ð¤·¹ç #W5r 2 ¤À¤·¤¤¤ì ½Ð¤·Æþ¤ì #T30 1 ¤À¤·¤­ ½Ð¤·ÀÚ #R5r 1 ¤À¤·¤Ì ½Ð¤·È´ #K5r 0 ¤À¤·¤â¤Î ½Ð¤·Êª #T35 2 ¤À¤·¤ã ÂÇ¼Ô #T35 1 ¤À¤·¤ó ÂÇ¿Ç #T30 2 ¤À¤¸¤ã¤¯ Øï¼å #T05 0 ¤À¤¸¤ã¤ì ÂÌÞ¯Íî #T35 3 ¤À¤¸¤ã¤ì ¥À¥¸¥ã¥ì #T35 0 ¤À¤¹¤Æ¤£¤ó ¥À¥¹¥Æ¥£¥ó #JN 0 ¤À¤»¤¤ ÂÆÀ­ #T35 1 ¤À¤»¤­ ÂÇÀÊ #JS 0 ¤À¤»¤­ ÂÇÀÊ #T35 0 ¤À¤½¤¯ ¼ØÂ­ #T05 3 ¤À¤À ¤À¤À #T35 3 ¤À¤Á¤ç¤¦ ñÌÄ» #T35 0 ¤À¤Á¤ó ÂÌÄ #T35 0 ¤À¤Ã æ #SX 2 ¤À¤Ã¤«¤¤ Ã¥²ó #T30 0 ¤À¤Ã¤«¤¤ æ²ñ #T30 0 ¤À¤Ã¤«¤¯ Ã¥³Ê #T35 0 ¤À¤Ã¤­¤ã¤¯ æµÑ #T30 0 ¤À¤Ã¤­¤å¤¦ æ±± #T30 1 ¤À¤Ã¤³¤¦ ææê #T30 0 ¤À¤Ã¤³¤¦ æ¹Æ #T30 1 ¤À¤Ã¤³¤¯ æ¹ò #T30 0 ¤À¤Ã¤· æ»é #T30 0 ¤À¤Ã¤·¤å ¥À¥Ã¥·¥å #T30 2 ¤À¤Ã¤·¤å¤¦ æ½­ #T30 1 ¤À¤Ã¤·¤å¤Ä æ½Ð #T30 3 ¤À¤Ã¤·¤ç¤¯ æ¿§ #T30 0 ¤À¤Ã¤¹¤¤ æ¿å #T30 0 ¤À¤Ã¤»¤ó æÀþ #T30 1 ¤À¤Ã¤½¤¦ æÁö #T30 0 ¤À¤Ã¤¿¤¤ æÂà #T30 1 ¤À¤Ã¤¿¤é ¤À¤Ã¤¿¤é #CJ 0 ¤À¤Ã¤Á¤ç¤¦ æIJ #T30 0 ¤À¤Ã¤Æ ¤À¤Ã¤Æ #CJ 0 ¤À¤Ã¤Ô æÈé #T30 0 ¤À¤Ä Ã¥ #KJ 0 ¤À¤Ä æ #KJ 2 ¤À¤Ä¤¤ æ°á #T30 0 ¤À¤Ä¤´¤¯ æ¹ö #T30 1 ¤À¤Ä¤¸ æ»ú #T35 1 ¤À¤Ä¤¼¤¤ æÀÇ #T30 0 ¤À¤Ä¤Ü¤¦ æ˹ #T30 1 ¤À¤Ä¤â¤¦ æÌÓ #T30 0 ¤À¤Ä¤é¤¯ æÍî #T30 0 ¤À¤Ä¤ê¤ã¤¯ åά #T30 0 ¤À¤Æ °Ëã #JCN 0 ¤À¤Æ Ω¤Æ #KSr 1 ¤À¤Æ °Ëã #T05 19 ¤À¤Æ¤Þ¤­ °Ëã´¬ #T35 0 ¤À¤Æ¤ó ÂÇÅÀ #JS 0 ¤À¤Ç¤ó ÂÇÅÅ #T30 0 ¤À¤È¤¦ ÂÅÅö #T00 10 ¤À¤È¤¦ ÂÇÅÝ #T30 0 ¤À¤È¤¦¤»¤¤ ÂÅÅöÀ­ #T35 8 ¤À¤È¤·¤Æ¤â ¤À¤È¤·¤Æ¤â #CJ 0 ¤À¤È¤¹¤ì¤Ð ¤À¤È¤¹¤ì¤Ð #CJ 0 ¤À¤Ë ë #CNSUC1 1 ¤À¤Ë ë #T35 1 ¤À¤Ï ÂÇÇË #T30 2 ¤À¤Ó è¸Èû #T35 0 ¤À¤Ó¤ó¤° ¥À¥Ó¥ó¥° #T30 2 ¤À¤Õ ¥À¥Õ #R5 0 ¤À¤Ö ¥À¥Ö #R5 0 ¤À¤Ö¤Ä ¥À¥Ö¤Ä #K5r 1 ¤À¤Ö¤ë ¥À¥Ö¥ë #T35 15 ¤À¤Ö¤ë¤À¤¬¡¼ ¢ø #T35 1 ¤À¤Û Ù½Êá #T30 0 ¤À¤Ü¤¯ ÂÇËÐ #T30 0 ¤À¤Þ ÌÛ #R5 4 ¤À¤Þ ¤À¤Þ #S5r 5 ¤À¤Þ¤·¤È ¤À¤Þ¤·¼è #R5r 0 ¤À¤Þ¤ê ί¤ê #T35 0 ¤À¤ß¡¼ ¥À¥ß¡¼ #T35 4 ¤À¤ß¤´¤¨ ¤À¤ßÀ¼ #T35 0 ¤À¤à ¥À¥à #T35 1 ¤À¤á ÂÌÌÜ #T05 55 ¤À¤á ¥À¥á #T05 91 ¤À¤á ί¤á #T35 0 ¤À¤á¡¼¤¸ ¥À¥á¡¼¥¸ #T35 13 ¤À¤é¤¯ ÂÄÍî #T30 0 ¤À¤é¤± ¤À¤é¤± #SUC 3 ¤À¤é¤·¤Ê ¤À¤é¤·¤Ê #KY 0 ¤À¤é¤·¤Î¤¦ ¤À¤é¤·¤Î¤¦ #KYU 0 ¤À¤é¤¹ ¥À¥é¥¹ #CN 0 ¤À¤é¤À¤é ¤À¤é¤À¤é #F04 0 ¤À¤é¤À¤é ¤À¤é¤À¤é #T16 0 ¤À¤é¤ê¤È ¤À¤é¤ê¤È #F12 0 ¤À¤ê ¥À¥ê #JN 0 ¤À¤ê¤¢ ¥À¥ê¥¢ #T35 0 ¤À¤ê¤ç¤¯ ÂÆÎÏ #T35 0 ¤À¤ë ¤À¤ë #KYmi 2 ¤À¤ë¤¦ ¤À¤ë¤¦ #KYU 1 ¤À¤ë¤¬ ¤À¤ë¤¬ #R5 0 ¤À¤ì ¤À¤ì #T35 14 ¤À¤ì ï #T35 255 ¤À¤ì¤·¤â 路¤â #F14 0 ¤À¤ì¤·¤â 路¤â #T36 0 ¤À¤ó Ô¥ #JNS 0 ¤À¤ó ÃÊ #JS 87 ¤À¤ó ÂÍ #KJ 0 ¤À¤ó ö #KJ 0 ¤À¤ó ÃÉ #KJ 0 ¤À¤ó ÆÎ #KJ 0 ¤À¤ó Æç #KJ 0 ¤À¤ó ÃË #KJ 1 ¤À¤ó ÃÄ #SUC 0 ¤À¤ó ÃÄ #T35 0 ¤À¤ó ÃÅ #T35 0 ¤À¤ó ÃÈ #T35 1 ¤À¤ó ÃÊ #T35 1 ¤À¤ó ÃÆ #T35 18 ¤À¤ó ÃÇ #T35 2 ¤À¤ó ÃÌ #T35 25 ¤À¤ó ÃÌ #ZX 13 ¤À¤ó ÃÇ #ZX 2 ¤À¤ó ÃÆ #ZX 4 ¤À¤ó¤¢¤Ä ÃÆ°µ #T30 1 ¤À¤ó¤«¤¤ Ãʳ¬ #JS 54 ¤À¤ó¤«¤¤ ÃIJô #T35 1 ¤À¤ó¤«¤¤ Ãʳ¬ #T35 29 ¤À¤ó¤¬¤¤ ÃÆ³¯ #T30 2 ¤À¤ó¤¬¤¤ Ãdz³ #T35 0 ¤À¤ó¤¬¤ó ÃÆ´Ý #T35 1 ¤À¤ó¤­ Ãȵ¤ #T35 0 ¤À¤ó¤® Ã̵Á #T30 0 ¤À¤ó¤® ÃÌµÄ #T30 0 ¤À¤ó¤±¤Ä ÃÄ·ë #T30 1 ¤À¤ó¤²¤ó ÃǸÀ #T30 2 ¤À¤ó¤³ ÃÇ¸Ç #F00 2 ¤À¤ó¤³ ÃÇ¸Ç #T36 0 ¤À¤ó¤³¤¦ Ãĸò #T30 0 ¤À¤ó¤³¤¦ ÃǸò #T30 0 ¤À¤ó¤³¤¦ ÃÇ¹Ô #T30 0 ¤À¤ó¤³¤ó ÃÆº¯ #T35 0 ¤À¤ó¤³¤ó Ã˺¬ #T35 0 ¤À¤ó¤´ ¤À¤ó¤´ #T35 1 ¤À¤ó¤´ ÃÄ»Ò #T35 1 ¤À¤ó¤´¤¦ Ã̹ç #T30 1 ¤À¤ó¤´¤¦¤¶¤« Ã̹çºä #CN 0 ¤À¤ó¤´¤Ð¤Ê ¤À¤ó¤´É¡ #T35 1 ¤À¤ó¤µ¤¤ ÃÇºÛ #T30 1 ¤À¤ó¤· ÃË»Ò #T35 31 ¤À¤ó¤·¤ã¤¯ ÃË¼ß #T35 1 ¤À¤ó¤·¤ç¤¦ Ã̾Р#T30 0 ¤À¤ó¤¸ ÃË»ù #T35 1 ¤À¤ó¤¸¤­ ÃÇ¿© #T30 0 ¤À¤ó¤¸¤Æ ÃǤ¸¤Æ #F14 2 ¤À¤ó¤¸¤Æ ÃǤ¸¤Æ #T36 0 ¤À¤ó¤¸¤ç Ã˽÷ #T35 12 ¤À¤ó¤¸¤ç¤¦ Þå #T35 0 ¤À¤ó¤¹ ¥À¥ó¥¹ #T30 6 ¤À¤ó¤»¤¤ ÃËÀ¼ #T35 0 ¤À¤ó¤»¤¤ ÃËÀ­ #T35 17 ¤À¤ó¤»¤¤ ÃÆÀ­ #T35 2 ¤À¤ó¤»¤ó ÃÇÀþ #T30 0 ¤À¤ó¤¼¤Ä ÃÇÀä #T30 0 ¤À¤ó¤¼¤ó ÃÇÁ³ #F14 2 ¤À¤ó¤¼¤ó ÃÇÁ³ #T16 0 ¤À¤ó¤½¤¦ ÃÇÁØ #T35 0 ¤À¤ó¤¾¤¯ Ãdz #T30 2 ¤À¤ó¤¿¤¤ ÃÄÂÎ #T35 15 ¤À¤ó¤À¤ó ÃÊ¡¹ #F14 15 ¤À¤ó¤À¤ó ¤À¤ó¤À¤ó #F14 2 ¤À¤ó¤À¤ó ÃÊ¡¹ #T16 0 ¤À¤ó¤À¤ó ¤À¤ó¤À¤ó #T16 0 ¤À¤ó¤Á ÃÄÃÏ #T35 3 ¤À¤ó¤Á¤¬¤¤ Ãʰ㤤 #T05 0 ¤À¤ó¤Á¤ç¤¦ ÃÇIJ #T35 0 ¤À¤ó¤Á¤ç¤¦ ÃÄĹ #T35 2 ¤À¤ó¤Æ¤¤ ÃÇÄê #T30 2 ¤À¤ó¤È¤¦ ÃÈÅß #T35 1 ¤À¤ó¤È¤¦¤À¤¤ ÃÇÆ¬Âæ #T35 0 ¤À¤ó¤È¤Ä ÃÇ¥È¥Ä #T05 0 ¤À¤ó¤É¤ê Ãʼè¤ê #T30 1 ¤À¤ó¤Ê öÆá #T35 8 ¤À¤ó¤Í¤ó ÃÇǰ #T30 2 ¤À¤ó¤× ¥À¥ó¥× #T30 59 ¤À¤ó¤Ú¤ó ÃÇÊÒ #T35 3 ¤À¤ó¤Ü¤¦ ÃÈ˼ #T30 0 ¤À¤ó¤á¤ó ÃÇÌÌ #T35 1 ¤À¤ó¤æ¤¦ ÃËÍ¥ #T35 0 ¤À¤ó¤é¤¯ ÃÊÍî #T35 8 ¤À¤ó¤ê¤å¤¦ ÃÈή #T35 0 ¤À¤ó¤ê¤ç¤¯ ÃÆÎÏ #T35 1 ¤À¤ó¤í ÃÈϧ #T35 0 ¤À¤ó¤ï ÃÌÏà #T30 1 ¤Á ÃÍ #KJ 0 ¤Á ÃÔ #KJ 0 ¤Á Ã× #KJ 0 ¤Á ÃØ #KJ 0 ¤Á ÃÚ #KJ 0 ¤Á Æå #KJ 0 ¤Á ÃÐ #KJ 1 ¤Á ÃÑ #KJ 1 ¤Á ÃÖ #KJ 1 ¤Á òµ #KJ 1 ¤Á ³ý #KJ 13 ¤Á ÃÒ #KJ 2 ¤Á ÃÕ #KJ 2 ¤Á ÃÙ #KJ 4 ¤Á ÃÓ #KJ 6 ¤Á Àé #KJ 7 ¤Á »¶ #R5 10 ¤Á ÃÏ #SUC 0 ¤Á ÃÍ #SUC 255 ¤Á ¼£ #T30 3 ¤Á ÃÍ #T35 0 ¤Á ÃÏ #T35 12 ¤Á ÃÎ #T35 25 ¤Á ·ì #T35 9 ¤Á¡¼¤º ¥Á¡¼¥º #T35 4 ¤Á¡¼¤Õ ¥Á¡¼¥Õ #T35 1 ¤Á¡¼¤à ¥Á¡¼¥à #T35 14 ¤Á¤¢¤­ À齩 #JN 0 ¤Á¤¢¤ó ¼£°Â #T35 0 ¤Á¤¤ Ãϰá #T35 0 ¤Á¤¤ ÃÏ°Ì #T35 5 ¤Á¤¤¤­ ÃͰè #T35 16 ¤Á¤¤¤­ Ãϰè #T35 20 ¤Á¤¤¤µ ¾®¤µ #KYme 62 ¤Á¤¤¤µ¤¬¤¿ ¾®¸© #CN 0 ¤Á¤¤¤µ¤Ê ¾®¤µ¤Ê #RT 26 ¤Á¤¤¤½¤¦ ¾®¤½¤¦ #KYU 2 ¤Á¤§¡¼¤ó ¥Á¥§¡¼¥ó #T35 2 ¤Á¤§¤¢ ¥Á¥§¥¢ #T35 0 ¤Á¤§¤¢¤Þ¤ó ¥Á¥§¥¢¥Þ¥ó #T35 1 ¤Á¤§¤¹ ¥Á¥§¥¹ #T35 1 ¤Á¤§¤¹¤È ¥Á¥§¥¹¥È #T35 0 ¤Á¤§¤Ã¤« ¥Á¥§¥Ã¥« #T35 8 ¤Á¤§¤Ã¤«¡¼ ¥Á¥§¥Ã¥«¡¼ #T35 1 ¤Á¤§¤Ã¤¯ ¥Á¥§¥Ã¥¯ #T30 248 ¤Á¤§¤ë¤Î¤Ö¤¤¤ê ¥Á¥§¥ë¥Î¥Ö¥¤¥ê #CN 0 ¤Á¤§¤í ¥Á¥§¥í #T35 0 ¤Á¤§¤ó¤¸ ¥Á¥§¥ó¥¸ #T30 2 ¤Á¤¨ À鳨 #JNM 0 ¤Á¤¨ Ãηà #T35 9 ¤Á¤¨¤³ Àé·Ã»Ò #JNM 0 ¤Á¤¨¤³ Àé»Þ»Ò #JNM 0 ¤Á¤¨¤³ ÃÒ·Ã»Ò #JNM 0 ¤Á¤¨¤Ö¤¯¤í ÃηÃÂÞ #T35 0 ¤Á¤¨¤ê ÃÒ·ÃÍý #JNM 0 ¤Á¤¨¤ó ÃÙ±ä #T30 30 ¤Á¤¨¤ó Ãϱï #T35 1 ¤Á¤« ¶á #KJ 2 ¤Á¤« ¶á #KYme 106 ¤Á¤« ÃϲÁ #T35 1 ¤Á¤« Ãϲ¼ #T35 8 ¤Á¤« ÀÀ #W5r 10 ¤Á¤«¤¤ Ãϳ¬ #T35 2 ¤Á¤«¤¯ ÃγР#T30 2 ¤Á¤«¤¯ ÃÏ³Ì #T35 0 ¤Á¤«¤¯ ¶á¤¯ #T35 18 ¤Á¤«¤±¤¤ Ãϲ¼·Ô #T35 0 ¤Á¤«¤³ Àé²Ã»Ò #JNM 0 ¤Á¤«¤´¤í ¶áº¢ #T35 2 ¤Á¤«¤· ¶á¤· #KY 0 ¤Á¤«¤·¤Ä Ãϲ¼¼¼ #T35 3 ¤Á¤«¤·¤å¤¦ ¶á¤·¤å¤¦ #KYU 0 ¤Á¤«¤¹¤¤ Ãϲ¼¿å #T35 0 ¤Á¤«¤Â¤« ¶á¡¹ #F14 16 ¤Á¤«¤Â¤« ¶á¡¹ #T16 0 ¤Á¤«¤Â¤«¤È ¶á¡¹¤È #F14 0 ¤Á¤«¤Å ¶á¤Å #K5 0 ¤Á¤«¤Å ¶áÉÕ #K5 31 ¤Á¤«¤Å¤± ¶á¤Å¤± #KS 0 ¤Á¤«¤Å¤± ¶áÉÕ¤± #KS 0 ¤Á¤«¤Æ¤Ä Ãϲ¼Å´ #T35 8 ¤Á¤«¤Ð ¶á¾ì #T35 0 ¤Á¤«¤ß¤Á ¶áÆ» #T30 1 ¤Á¤«¤ä¤Þ ¶á»³ #JNS 0 ¤Á¤«¤è ¶á´ó #R5 1 ¤Á¤«¤é ÎÏ #JN 0 ¤Á¤«¤é ÎÏ #T35 26 ¤Á¤«¤é¤¾¤¨ ÎÏź¤¨ #T30 0 ¤Á¤«¤é¤Å¤è Î϶¯ #KY 1 ¤Á¤«¤é¤Å¤è¤¦ Î϶¯¤¦ #KYU 1 ¤Á¤«¤é¤Ö¤½¤¯ ÎÏÉÔ­ #T00 1 ¤Á¤«¤é¤â¤Á ÎÏ»ý¤Á #T15 0 ¤Á¤«¤é¤ï¤¶ ÎÏ¶È #T35 0 ¤Á¤«¤é¤ï¤¶ Îϵ» #T35 0 ¤Á¤«¤ó ÃÖ´¹ #T30 36 ¤Á¤«¤ó ÃÔ´Á #T35 1 ¤Á¤¬ °ã #W5r 255 ¤Á¤¬¤¤¤Ê °ã¤¤¤Ê #KY 5 ¤Á¤¬¤¤¤Î¤¦ °ã¤¤¤Î¤¦ #KYU 1 ¤Á¤¬¤¨ °ã¤¨ #KS 0 ¤Á¤¬¤µ¤­ ³ý¥öºê #CN 0 ¤Á¤­ ÃÎ¸Ê #T35 2 ¤Á¤­¤å¤¦ Ãϵå #T35 3 ¤Á¤­¤å¤¦¤® Ãϵ嵷 #T35 0 ¤Á¤­¤ó ¥Á¥­¥ó #T35 5 ¤Á¤® ·À #R5r 1 ¤Á¤®¤ê ·À #T35 1 ¤Á¤¯ Ã϶è #CNSUC1 17 ¤Á¤¯ ÃÜ #KJ 0 ¤Á¤¯ Ãà #KJ 0 ¤Á¤¯ ÃÝ #KJ 1 ¤Á¤¯ Ãß #KJ 1 ¤Á¤¯ ÃÛ #KJ 2 ¤Á¤¯ ÃÞ #KJ 4 ¤Á¤¯ Ã϶è #T35 0 ¤Á¤¯¤¤¤Á Ãà°ì #F14 0 ¤Á¤¯¤¤¤Á Ãà°ì #T16 0 ¤Á¤¯¤´ ÃÞ¸å #CN 0 ¤Á¤¯¤µ Àé¼ï #JCN 0 ¤Á¤¯¤µ¤ó ÃÜ»º #T30 0 ¤Á¤¯¤· ÃÞ»ç #JCN 0 ¤Á¤¯¤·¤Î ÃÞ»çÌî #CN 0 ¤Á¤¯¤¸ Ã༡ #F14 255 ¤Á¤¯¤¸¤ç¤¦ ÃÛ¾å #CN 0 ¤Á¤¯¤¸¤ç¤¦ ÃÛ¾ë #T30 0 ¤Á¤¯¤»¤­ ÃßÀÑ #T30 14 ¤Á¤¯¤¼¤ó ÃÞÁ° #JCN 0 ¤Á¤¯¤¾¤¦ ÃÛ¤ #T30 0 ¤Á¤¯¤Ç¤ó ÃßÅÅ #T30 0 ¤Á¤¯¤Í¤ó Ãàǯ #F14 0 ¤Á¤¯¤Û ÃÞÊæ #CN 0 ¤Á¤¯¤Þ ÃÞËà #JCN 0 ¤Á¤¯¤é ÀéÁÒ #JCN 0 ¤Á¤°¤µ ÀéÁð #T35 0 ¤Á¤°¤Ï¤° ¤Á¤°¤Ï¤° #T05 0 ¤Á¤±¤¤ ÃÏ·Á #T35 1 ¤Á¤±¤Ã¤È ¥Á¥±¥Ã¥È #T35 25 ¤Á¤±¤ó Ãθ« #T35 1 ¤Á¤±¤ó Ãϸ¡ #T35 0 ¤Á¤³¤¦ ¶á¤¦ #KYU 3 ¤Á¤³¤¯ ÃÙ¹ï #T30 4 ¤Á¤´ ÃÕ»ù #T35 0 ¤Á¤µ¤¤ ÃÏºÛ #T35 0 ¤Á¤µ¤³ À麴»Ò #JNM 0 ¤Á¤µ¤È ÀéΤ #JCN 0 ¤Á¤µ¤ó ÃÙ»² #T30 0 ¤Á¤· Ã×»à #T35 1 ¤Á¤·¤ª ·ìĬ #T35 0 ¤Á¤·¤­ Ãμ± #T35 85 ¤Á¤·¤Ä ÃϼÁ #T35 1 ¤Á¤·¤Þ ÀéÅç #CN 0 ¤Á¤¸ Ãλö #T35 2 ¤Á¤¸¤¯ Ãϼ´ #T35 0 ¤Á¤¸¤ç¤¦ ÃÔ¾ð #T35 0 ¤Á¤¸¤ç¤¦ ÃϾå #T35 4 ¤Á¤¸¤ç¤¯ ÃÑ¿« #T35 0 ¤Á¤¸¤ó ÃÎ¿Í #T35 2 ¤Á¤¹¤¤ ¼£¿å #T30 0 ¤Á¤¹¤¸ ·ì¶Ú #T35 0 ¤Á¤º ÃÒÆ¬ #JCN 0 ¤Á¤º ÃÏ¿Þ #T35 22 ¤Á¤»¤¤ ÃÎÀ­ #T35 2 ¤Á¤»¤Ä ÃÕÀÛ #T05 1 ¤Á¤½¤¦ ÃÚÁö #T30 0 ¤Á¤½¤¦ ÃÏÁØ #T35 1 ¤Á¤¿ Ãο #CN 0 ¤Á¤¿¤¤ ÃÙÂÚ #T30 1 ¤Á¤¿¤¤ ÃÏÂÓ #T35 2 ¤Á¤À ÀéÅÄ #JNS 0 ¤Á¤À¤¤ ÃÏÂå #T35 0 ¤Á¤Á ÃÙ¡¹ #F00 1 ¤Á¤Á Æý #T35 1 ¤Á¤Á Éã #T35 11 ¤Á¤Á¤ª¤ä Éã¿Æ #T35 7 ¤Á¤Á¤Ð¤Ê¤ì ÆýÎ¥¤ì #T30 0 ¤Á¤Á¤Ö ÃáÉã #JCN 0 ¤Á¤Á¤å¤¦ ÃÏÃæ #T35 1 ¤Á¤Á¤å¤¦¤«¤¤ ÃÏÃæ³¤ #CN 0 ¤Á¤Â ½Ì #M5r 38 ¤Á¤Â¤³¤Þ ½Ì¤³¤Þ #R5 0 ¤Á¤Â¤Þ ½Ì¤Þ #R5r 2 ¤Á¤Â¤á ½Ì¤á #KSr 0 ¤Á¤Â¤ï À项ÀÐ #CN 0 ¤Á¤Ã¤­¤ç ꯵ï #T30 0 ¤Á¤Ã¤µ ¤Á¤Ã¤µ #KY 1 ¤Á¤Ã¤µ¤Ê ¤Á¤Ã¤µ¤Ê #RT 1 ¤Á¤Ã¤½ ÃâÁÇ #T35 1 ¤Á¤Ã¤½¤¯ Ãâ© #T30 0 ¤Á¤Ã¤È¤â ¤Á¤Ã¤È¤â #F14 6 ¤Á¤Ã¤× ¥Á¥Ã¥× #T30 15 ¤Á¤Ã¤×¤Ù¤Ä ÃáÉãÊÌ #CN 0 ¤Á¤Ã¤Ý¤± ¤Á¤Ã¤Ý¤± #T05 0 ¤Á¤Ä Ãâ #KJ 0 ¤Á¤Ä Ãá #KJ 1 ¤Á¤Ä ç´ #KJ 1 ¤Á¤Ä ç´ #T35 4 ¤Á¤Ä¤¸¤ç Ãá½ø #T35 1 ¤Á¤Ä¤»¤ó ç´Àò #T35 1 ¤Á¤Å¤³ ÀéÄá»Ò #JNM 0 ¤Á¤Æ¤¤ ÃÏÄì #T35 0 ¤Á¤Æ¤­ ÃÎŪ #T05 8 ¤Á¤Æ¤ó ÃÏÅÀ #T35 3 ¤Á¤È ¤Á¤È #F14 1 ¤Á¤È¤· ÀéºÐ #JCN 0 ¤Á¤È¤» ÀéºÐ #JCN 0 ¤Á¤È¤» ÀéºÐ #T35 2 ¤Á¤É¤¦¤»¤Ä ÃÏÆ°Àâ #T35 0 ¤Á¤É¤ê ÀéÄ» #T35 1 ¤Á¤Ê ÃÎ̾ #CN 0 ¤Á¤Ê °ø #M5 8 ¤Á¤Ê¤Ä À鲯 #JNM 0 ¤Á¤Ê¤ß¤Ë °ø¤ß¤Ë #CJ 22 ¤Á¤Ê¤ß¤Ë ¤Á¤Ê¤ß¤Ë #CJ 71 ¤Á¤Ë¤Á¤Ï ÃÎÆüÇÉ #T35 0 ¤Á¤Í¤Ä ÃÏÇ® #T35 1 ¤Á¤Í¤ó ÃÎǰ #JCN 0 ¤Á¤Î ³ýÌî #JCN 0 ¤Á¤Î ÀéÌî #JN 0 ¤Á¤Î¤¦ ÃÎǽ #T35 6 ¤Á¤Ï¤¤ ÃÙÇÛ #T30 0 ¤Á¤Ï¤é ³ý¸¶ #JNS 0 ¤Á¤Ð ÀéÍÕ #JCN 0 ¤Á¤Ð¤±¤ó ÀéÍÕ¸© #CNS 0 ¤Á¤Ð¤· ÀéÍÕ»Ô #CNS 0 ¤Á¤Ð¤· ·ìÁö #R5r 1 ¤Á¤Ð¤ó ÃÏÈÖ #T35 8 ¤Á¤Ò¤ç¤¦ ÃÏɽ #T35 0 ¤Á¤Ò¤í Àé¿Ò #JCN 0 ¤Á¤Ö ÃÎÉ× #CN 0 ¤Á¤Ö ÃÑÉô #T35 0 ¤Á¤Ö¤µ Æý˼ #T35 1 ¤Á¤Ø¤¤ ÃÏÊ¿ #T35 0 ¤Á¤Ø¤ó ÃÏÊÑ #T35 0 ¤Á¤Ù¤Ã¤È ¥Á¥Ù¥Ã¥È #CN 0 ¤Á¤Û¤¦ ÃÏÊý #CNSUC1 16 ¤Á¤Û¤¦ ÃÏÊý #T35 0 ¤Á¤Û¤¦ ÃÔÊò #T35 1 ¤Á¤Þ¤­ äð #T35 0 ¤Á¤Þ¤¿ ¹« #T35 0 ¤Á¤Þ¤è ·ìÌ #W5 0 ¤Á¤ß¤Ä åÌÌ© #T05 1 ¤Á¤ß¤â¤¦¤ê¤ç¤¦ òµÌ¥ò³ò´ #T35 1 ¤Á¤á¤¤ ÃÎ̾ #T35 0 ¤Á¤á¤¤ ÃÎÌ¿ #T35 0 ¤Á¤á¤¤ ÃÏ̾ #T35 22 ¤Á¤á¤¤ Ã×Ì¿ #T35 5 ¤Á¤á¤¤¤É ÃÎ̾ÅÙ #T35 0 ¤Á¤ã Ãã #T35 23 ¤Á¤ã¡¼¤¸ ¥Á¥ã¡¼¥¸ #T30 1 ¤Á¤ã¡¼¤¿¡¼ ¥Á¥ã¡¼¥¿¡¼ #T30 1 ¤Á¤ã¡¼¤È ¥Á¥ã¡¼¥È #T35 6 ¤Á¤ã¡¼¤Ï¤ó ¥Á¥ã¡¼¥Ï¥ó #T35 2 ¤Á¤ã¡¼¤Ï¤ó ßÖÈÓ #T35 2 ¤Á¤ã¤¤¤Ê ¥Á¥ã¥¤¥Ê #CN 0 ¤Á¤ã¤¤¤Ê ¥Á¥ã¥¤¥Ê #T35 2 ¤Á¤ã¤¤¤í Ãã¿§ #T15 0 ¤Á¤ã¤­ Ãã´ï #T35 0 ¤Á¤ã¤¯ Ãå #CNSUC1 35 ¤Á¤ã¤¯ Ãå #JS 0 ¤Á¤ã¤¯ Ŧ #KJ 0 ¤Á¤ã¤¯ Ãä #KJ 2 ¤Á¤ã¤¯ Ãå #T30 1 ¤Á¤ã¤¯¤¤ Ãå°á #T30 0 ¤Á¤ã¤¯¤¬¤ó Ãå´ã #T30 2 ¤Á¤ã¤¯¤· Ãä»Ò #T35 0 ¤Á¤ã¤¯¤·¤å Ãå¼ê #T30 2 ¤Á¤ã¤¯¤·¤å¤Ä Ãä½Ð #T30 1 ¤Á¤ã¤¯¤·¤ç¤¦ Ãå¾² #T30 1 ¤Á¤ã¤¯¤·¤ç¤¯ Ãå¿§ #T30 0 ¤Á¤ã¤¯¤·¤ó Ãå¿® #T30 4 ¤Á¤ã¤¯¤¸¤Ä Ãå¼Â #T05 2 ¤Á¤ã¤¯¤¹¤¤ Ãå¿å #T30 0 ¤Á¤ã¤¯¤»¤­ ÃåÀÊ #T30 0 ¤Á¤ã¤¯¤½¤¦ ÃåÁÛ #T30 1 ¤Á¤ã¤¯¤À¤Ä Ãåæ #T30 1 ¤Á¤ã¤¯¤Á ÃåÃÏ #T30 1 ¤Á¤ã¤¯¤Á¤ã¤¯ Ã塹 #F14 10 ¤Á¤ã¤¯¤Ë¤ó ÃåǤ #T30 0 ¤Á¤ã¤¯¤Ð¤é¤¤ Ãåʧ #T30 1 ¤Á¤ã¤¯¤â¤¯ ÃåÌÜ #T30 4 ¤Á¤ã¤¯¤è¤¦ ÃåÍÑ #T30 0 ¤Á¤ã¤¯¤ê¤¯ ÃåΦ #T30 1 ¤Á¤ã¤¯¤ê¤å¤¦ Ãäή #T35 0 ¤Á¤ã¤·¤ã¤¯ Ãã¼Ý #T35 0 ¤Á¤ã¤¸¤å Ãã¼÷ #T35 0 ¤Á¤ã¤»¤ó Ããä¦ #T35 0 ¤Á¤ã¤¿¤ó ËÌë #CN 0 ¤Á¤ã¤Ã¤« Ãå²Ð #T30 0 ¤Á¤ã¤Ã¤«¤ê ¤Á¤ã¤Ã¤«¤ê #F04 4 ¤Á¤ã¤Ã¤«¤ê ¤Á¤ã¤Ã¤«¤ê #T36 0 ¤Á¤ã¤Ã¤³ Ã可 #T30 13 ¤Á¤ã¤Ã¤³¤¦ Ã幩 #T30 1 ¤Á¤ã¤Í¤ë ¥Á¥ã¥Í¥ë #T35 25 ¤Á¤ã¤Î¤Þ Ãã¤Î´Ö #T35 1 ¤Á¤ã¤Ñ¤Ä Ããȱ #T35 0 ¤Á¤ã¤Ú¤ë ¥Á¥ã¥Ú¥ë #T35 1 ¤Á¤ã¤ä Ãã²° #T35 1 ¤Á¤ã¤ê¤Æ¤£ ¥Á¥ã¥ê¥Æ¥£ #T35 0 ¤Á¤ã¤ê¤Æ¤£¡¼ ¥Á¥ã¥ê¥Æ¥£¡¼ #T35 0 ¤Á¤ã¤ì¤ó¤¸ ¥Á¥ã¥ì¥ó¥¸ #T30 8 ¤Á¤ã¤ï¤ó ÃãÏÒ #T35 2 ¤Á¤ã¤ó ¤Á¤ã¤ó #JNSUC 255 ¤Á¤ã¤ó¤¯ ¥Á¥ã¥ó¥¯ #T35 4 ¤Á¤ã¤ó¤¹ ¥Á¥ã¥ó¥¹ #T35 3 ¤Á¤ã¤ó¤¹ ¾»Þ¬ #JNM 0 ¤Á¤ã¤ó¤¹¤¦ ¾»Þ¬ #JNM 1 ¤Á¤ã¤ó¤È ¤Á¤ã¤ó¤È #F12 45 ¤Á¤ã¤ó¤Í¤ë ¥Á¥ã¥ó¥Í¥ë #T35 10 ¤Á¤ã¤ó¤Ô¤ª¤ó ¥Á¥ã¥ó¥Ô¥ª¥ó #T35 0 ¤Á¤å¡¼¤È¤ê¤¢¤ë ¥Á¥å¡¼¥È¥ê¥¢¥ë #T35 16 ¤Á¤å¡¼¤Ê ¥Á¥å¡¼¥Ê #T35 4 ¤Á¤å¡¼¤Ê¡¼ ¥Á¥å¡¼¥Ê¡¼ #T35 4 ¤Á¤å¡¼¤Ð ¥Á¥å¡¼¥Ð #T35 0 ¤Á¤å¡¼¤Ö ¥Á¥å¡¼¥Ö #T35 0 ¤Á¤å¡¼¤ê¤Ã¤× ¥Á¥å¡¼¥ê¥Ã¥× #T35 0 ¤Á¤å¡¼¤ê¤ó¤° ¥Á¥å¡¼¥ê¥ó¥° #JN 0 ¤Á¤å¡¼¤ó ¥Á¥å¡¼¥ó #T30 3 ¤Á¤å¤¦ Ãæ #CNSUC1 0 ¤Á¤å¤¦ ±¯ #KJ 0 ¤Á¤å¤¦ ¿ß #KJ 0 ¤Á¤å¤¦ Ãç #KJ 0 ¤Á¤å¤¦ Ãï #KJ 0 ¤Á¤å¤¦ Ãð #KJ 0 ¤Á¤å¤¦ Ãñ #KJ 0 ¤Á¤å¤¦ Ãò #KJ 0 ¤Á¤å¤¦ Ãó #KJ 0 ¤Á¤å¤¦ ÄÝ #KJ 0 ¤Á¤å¤¦ ɪ #KJ 0 ¤Á¤å¤¦ ɳ #KJ 0 ¤Á¤å¤¦ Ãê #KJ 1 ¤Á¤å¤¦ Ãì #KJ 1 ¤Á¤å¤¦ Ãî #KJ 1 ¤Á¤å¤¦ Ãë #KJ 2 ¤Á¤å¤¦ Ãæ #PRE 0 ¤Á¤å¤¦ Ãó #PRE 0 ¤Á¤å¤¦ ²­ #S5 0 ¤Á¤å¤¦ Ãí #S5 161 ¤Á¤å¤¦ Ãæ #SUC 0 ¤Á¤å¤¦ ²­ #T30 0 ¤Á¤å¤¦ Ãí #T30 161 ¤Á¤å¤¦ Ãè #T35 1 ¤Á¤å¤¦ Ãæ #T35 255 ¤Á¤å¤¦ Ãé #T35 43 ¤Á¤å¤¦¤¤ Ãí°Õ #T30 160 ¤Á¤å¤¦¤¤¤Á Ãé°ì #JNM 0 ¤Á¤å¤¦¤¤¤Ö¤« Ãí°Õ¿¼ #KY 2 ¤Á¤å¤¦¤¤¤Ö¤³¤¦ Ãí°Õ¿¼¤¦ #KYU 1 ¤Á¤å¤¦¤¤¤Û¤¦ Ãí°ÕÊó #T35 0 ¤Á¤å¤¦¤ª¤¦ Ãæ±û #CN 0 ¤Á¤å¤¦¤ª¤¦ Ãæ±û #T35 22 ¤Á¤å¤¦¤« ÃæÏ #CN 0 ¤Á¤å¤¦¤« Ãæ²Ú #T35 10 ¤Á¤å¤¦¤«¤¤ Ãí²ò #T30 0 ¤Á¤å¤¦¤«¤¤ Ãð²ò #T30 0 ¤Á¤å¤¦¤«¤¤ Ãç²ð #T30 2 ¤Á¤å¤¦¤«¤¯ Ãæ³Ö #T35 1 ¤Á¤å¤¦¤«¤¯ Ãæ³Ë #T35 2 ¤Á¤å¤¦¤«¤É¤ó Ãæ²ÚЧ #T35 0 ¤Á¤å¤¦¤«¤ó Ãæ´Ö #T35 42 ¤Á¤å¤¦¤«¤ó¤· Ãæ´Ö»Ò #T35 1 ¤Á¤å¤¦¤¬¤¨¤ê ÃèÊÖ¤ê #T35 1 ¤Á¤å¤¦¤¬¤¯ Ãæ³Ø #T35 1 ¤Á¤å¤¦¤¬¤¯¤»¤¤ Ãæ³ØÀ¸ #T35 3 ¤Á¤å¤¦¤¬¤¿ Ãæ·¿ #T15 0 ¤Á¤å¤¦¤¬¤Ã¤³¤¦ Ãæ³Ø¹» #T35 1 ¤Á¤å¤¦¤­ Ãíµ­ #T30 0 ¤Á¤å¤¦¤­ Ãæ´ü #T35 1 ¤Á¤å¤¦¤­¤Á ÃéµÈ #JNM 0 ¤Á¤å¤¦¤­¤Ü Ãæµ¬ÌÏ #T05 2 ¤Á¤å¤¦¤­¤å¤¦ Ãæµé #T35 1 ¤Á¤å¤¦¤­¤ç¤¦ Ãæµþ #CN 0 ¤Á¤å¤¦¤­¤ç¤ê Ãæµ÷Î¥ #T15 0 ¤Á¤å¤¦¤­¤ó Ãé¶Ð #T30 0 ¤Á¤å¤¦¤­¤ó¤È¤¦ Ãæ¶áÅì #CN 0 ¤Á¤å¤¦¤® ÃéµÁ #T30 0 ¤Á¤å¤¦¤¯¤¦ Ãæ¶õ #T05 1 ¤Á¤å¤¦¤±¤¤ Ãæ·Ñ #T30 10 ¤Á¤å¤¦¤±¤ó Ãæ¸¦ #T35 12 ¤Á¤å¤¦¤±¤ó Ãæ·ø #T35 20 ¤Á¤å¤¦¤²¤ó Ãæ¸µ #T35 0 ¤Á¤å¤¦¤³ Ãæ¸Å #T35 3 ¤Á¤å¤¦¤³¤¯ Ãé¹ð #T30 2 ¤Á¤å¤¦¤´¤¯ Ãæ¹ñ #CN 0 ¤Á¤å¤¦¤´¤· Ãæ¹ø #T15 1 ¤Á¤å¤¦¤µ Ãæº´ #T35 0 ¤Á¤å¤¦¤µ¤¤ ÃçºÛ #T30 1 ¤Á¤å¤¦¤¶ ÃæºÂ #T30 0 ¤Á¤å¤¦¤¶¤¤ Ãóºß #T30 1 ¤Á¤å¤¦¤· Ãí»ë #T30 1 ¤Á¤å¤¦¤· Ãæ»ß #T30 35 ¤Á¤å¤¦¤·¤ã Ãí¼Í #T30 0 ¤Á¤å¤¦¤·¤ã Ãó¼Ö #T30 7 ¤Á¤å¤¦¤·¤ã¤¯ Ãí¼á #T30 10 ¤Á¤å¤¦¤·¤ã¤·¤ó Ãí¼Í¿Ë #T35 1 ¤Á¤å¤¦¤·¤ã¤¸¤ç¤¦ Ãó¼Ö¾ì #T35 46 ¤Á¤å¤¦¤·¤ã¤È¤¦ Ãí¼ÍÅû #T35 1 ¤Á¤å¤¦¤·¤å¤¦ Ã罩 #T35 0 ¤Á¤å¤¦¤·¤å¤Ä Ãê½Ð #T30 14 ¤Á¤å¤¦¤·¤ç¤¦ Ãæ½ý #T30 25 ¤Á¤å¤¦¤·¤ç¤¦ Ãê¾Ý #T30 31 ¤Á¤å¤¦¤·¤ç¤¦ Ãæ¾® #T35 2 ¤Á¤å¤¦¤·¤ç¤¯ Ãë¿© #T30 11 ¤Á¤å¤¦¤·¤ó Ãé¿Ã #T35 0 ¤Á¤å¤¦¤·¤ó Ãï¿´ #T35 0 ¤Á¤å¤¦¤·¤ó Ãæ¿´ #T35 59 ¤Á¤å¤¦¤·¤ó¤°¤é Ãé¿Ã¢ #KK 0 ¤Á¤å¤¦¤¸ Ãé¼£ #JNM 0 ¤Á¤å¤¦¤¸ Ãæ¼ª #T35 0 ¤Á¤å¤¦¤¸ Ãç»Å #T35 0 ¤Á¤å¤¦¤¸¤Ä Ãé¼Â #T05 5 ¤Á¤å¤¦¤¸¤å¤ó Ãæ½Ü #T35 8 ¤Á¤å¤¦¤¸¤ç¤¦ Ãæ¾­ #T35 0 ¤Á¤å¤¦¤¹¤¤ Ãí¿å #T30 0 ¤Á¤å¤¦¤¹¤¤ Ãî¿â #T35 0 ¤Á¤å¤¦¤¹¤¦ Ãæ¿õ #T35 1 ¤Á¤å¤¦¤º Ãæ¼ç #CN 0 ¤Á¤å¤¦¤»¤¤ ÃéÀ¿ #T05 1 ¤Á¤å¤¦¤»¤¤ ÃæÀ­ #T15 1 ¤Á¤å¤¦¤»¤¤ ÃæÀ¤ #T35 2 ¤Á¤å¤¦¤»¤¤¤· ÃæÀ­»Ò #T35 1 ¤Á¤å¤¦¤»¤ó ÃêÁª #T30 6 ¤Á¤å¤¦¤¼¤Ä ÃæÀä #T30 0 ¤Á¤å¤¦¤½¤¯ ÃæÂ® #T30 0 ¤Á¤å¤¦¤½¤Ä ÃæÂ´ #T35 0 ¤Á¤å¤¦¤¾¤¦ Ãé»° #JNM 0 ¤Á¤å¤¦¤¾¤¦ Ãò¤ #T30 0 ¤Á¤å¤¦¤¿¤¤ ÃæÂà #T30 1 ¤Á¤å¤¦¤¿¤¤ ÃæÂâ #T35 1 ¤Á¤å¤¦¤À¤ó ÃæÃÇ #T30 20 ¤Á¤å¤¦¤Á ÃæÃÖ #T30 1 ¤Á¤å¤¦¤Á¤ç í´í° #T30 1 ¤Á¤å¤¦¤Ã¤Ñ¤é Ãæ¤ÃÊ¢ #T15 0 ¤Á¤å¤¦¤Æ¤Ä ÃòÅ´ #T35 0 ¤Á¤å¤¦¤Æ¤ó ÃæÅ· #T35 0 ¤Á¤å¤¦¤Æ¤ó ÃæÅÀ #T35 0 ¤Á¤å¤¦¤È ÃæÅÓ #T35 10 ¤Á¤å¤¦¤È¤¦ ÃæÅù #T15 0 ¤Á¤å¤¦¤È¤Ï¤ó¤Ñ ÃæÅÓȾü #T05 0 ¤Á¤å¤¦¤É¤¯ ÃæÆÇ #T30 1 ¤Á¤å¤¦¤Ê¤´¤ó ÃæÇ¼¸À #T35 0 ¤Á¤å¤¦¤Ê¤ó ÃçÆî #CN 0 ¤Á¤å¤¦¤Ê¤ó¤Ù¤¤ ÃæÆîÊÆ #CN 0 ¤Á¤å¤¦¤Ë¤Á ÃóÆü #T30 0 ¤Á¤å¤¦¤Ë¤å¤¦ ÃíÆþ #T30 2 ¤Á¤å¤¦¤Í¤ó ÃæÇ¯ #T35 1 ¤Á¤å¤¦¤Î¤¦ ÃæÇ» #T35 0 ¤Á¤å¤¦¤Ï¤¤¤è¤¦ ÃææõÍÕ #T35 1 ¤Á¤å¤¦¤Ð¤Ä ëÏȲ #T30 0 ¤Á¤å¤¦¤Ð¤ó ÃæÈ× #T35 0 ¤Á¤å¤¦¤Ò ÃæÈé #T35 1 ¤Á¤å¤¦¤Õ¤¯ ÃæÊ¢ #T35 0 ¤Á¤å¤¦¤Ö ÃæÉô #CN 0 ¤Á¤å¤¦¤Ö ÃæÉô #T35 7 ¤Á¤å¤¦¤Ö¤¦ ÃæÉ÷ #T35 0 ¤Á¤å¤¦¤Ö¤ó ÃæÊ¸ #T35 0 ¤Á¤å¤¦¤Ù¤¤ ÃæÊÆ #CN 0 ¤Á¤å¤¦¤Ü¤¦ ¿ß˼ #T35 0 ¤Á¤å¤¦¤â¤¯ ÃíÌÜ #T30 36 ¤Á¤å¤¦¤â¤ó Ãíʸ #T30 24 ¤Á¤å¤¦¤â¤ó ÃæÌç #T35 1 ¤Á¤å¤¦¤ä ÃëÌë #T35 0 ¤Á¤å¤¦¤ê¤Ä ÃæÎ© #T30 1 ¤Á¤å¤¦¤ê¤ã¤¯ ÃæÎ¬ #T30 31 ¤Á¤å¤¦¤ê¤å¤¦ ÃæÎ® #T35 0 ¤Á¤å¤¦¤ê¤ç¤¯ ÃíÎÏ #T30 0 ¤Á¤å¤¦¤ë¤¤ ÃéÎà #CN 0 ¤Á¤å¤¦¤ï ÃæÏ #T30 0 ¤Á¤å¤Ë¤¸¤¢ ¥Á¥å¥Ë¥¸¥¢ #CN 0 ¤Á¤æ ¼£Ìþ #T30 1 ¤Á¤ç Ãø #JNSUC 31 ¤Á¤ç ½ï #KJ 0 ¤Á¤ç Ãõ #KJ 0 ¤Á¤ç Ã÷ #KJ 0 ¤Á¤ç Ãù #KJ 0 ¤Á¤ç Ȥ #KJ 0 ¤Á¤ç ÌÙ #KJ 0 ¤Á¤ç Ãô #KJ 1 ¤Á¤ç Ãö #KJ 3 ¤Á¤ç Ãø #T35 0 ¤Á¤ç¡¼¤¯ ¥Á¥ç¡¼¥¯ #T35 1 ¤Á¤ç¤¤ ¤Á¤ç¤¤ #JSSUC 3 ¤Á¤ç¤¤¤È ¤Á¤ç¤¤¤È #F14 1 ¤Á¤ç¤¦ Ä® #CNSUC1 6 ¤Á¤ç¤¦ Ãú #JS 0 ¤Á¤ç¤¦ Ä¡ #JS 0 ¤Á¤ç¤¦ ½Å #KJ 0 ¤Á¤ç¤¦ À¡ #KJ 0 ¤Á¤ç¤¦ Ãü #KJ 0 ¤Á¤ç¤¦ Ä¡ #KJ 0 ¤Á¤ç¤¦ Ħ #KJ 0 ¤Á¤ç¤¦ Ĩ #KJ 0 ¤Á¤ç¤¦ Ä© #KJ 0 ¤Á¤ç¤¦ Ī #KJ 0 ¤Á¤ç¤¦ Ä­ #KJ 0 ¤Á¤ç¤¦ į #KJ 0 ¤Á¤ç¤¦ ı #KJ 0 ¤Á¤ç¤¦ ĵ #KJ 0 ¤Á¤ç¤¦ Ä· #KJ 0 ¤Á¤ç¤¦ ĸ #KJ 0 ¤Á¤ç¤¦ ĺ #KJ 0 ¤Á¤ç¤¦ ÄÕ #KJ 0 ¤Á¤ç¤¦ Äò #KJ 0 ¤Á¤ç¤¦ Èù #KJ 0 ¤Á¤ç¤¦ Ä¥ #KJ 1 ¤Á¤ç¤¦ Ĭ #KJ 1 ¤Á¤ç¤¦ İ #KJ 1 ¤Á¤ç¤¦ Ä´ #KJ 1 ¤Á¤ç¤¦ Ä» #KJ 1 ¤Á¤ç¤¦ Ķ #KJ 13 ¤Á¤ç¤¦ Ä« #KJ 2 ¤Á¤ç¤¦ Ãú #KJ 3 ¤Á¤ç¤¦ Ãû #NN 3 ¤Á¤ç¤¦ Ķ #PRE 0 ¤Á¤ç¤¦ Ä¢ #SUC 0 ¤Á¤ç¤¦ Ä£ #SUC 0 ¤Á¤ç¤¦ Ä´ #SUC 0 ¤Á¤ç¤¦ Ĺ #SUC 0 ¤Á¤ç¤¦ Ãþ #T30 0 ¤Á¤ç¤¦ ħ #T30 0 ¤Á¤ç¤¦ Ĥ #T30 1 ¤Á¤ç¤¦ Ãý #T35 0 ¤Á¤ç¤¦ Ä¢ #T35 0 ¤Á¤ç¤¦ IJ #T35 1 ¤Á¤ç¤¦ ij #T35 1 ¤Á¤ç¤¦ Ä® #T35 114 ¤Á¤ç¤¦ Ä£ #T35 3 ¤Á¤ç¤¦ Ĺ #T35 68 ¤Á¤ç¤¦ Ĺ #ZX 0 ¤Á¤ç¤¦¤¢¤¤ Ãþ°¦ #T30 0 ¤Á¤ç¤¦¤¤ Ĥ°Ö #T30 1 ¤Á¤ç¤¦¤¤ Ĥ°Õ #T35 0 ¤Á¤ç¤¦¤¤¤ó Ä´°õ #T30 1 ¤Á¤ç¤¦¤¨¤¤ Ä®±Ä #T35 0 ¤Á¤ç¤¦¤¨¤­ ĨÌò #T35 0 ¤Á¤ç¤¦¤¨¤Ä Ķ±Û #T30 1 ¤Á¤ç¤¦¤ª¤ó ݲ» #T30 2 ¤Á¤ç¤¦¤ª¤ó Ĺ²» #T35 1 ¤Á¤ç¤¦¤ª¤ó Ä´²» #T30 0 ¤Á¤ç¤¦¤ª¤ó¤Ñ Ͳ»ÇÈ #T35 1 ¤Á¤ç¤¦¤« Ͳá #T30 1 ¤Á¤ç¤¦¤«¤¤ Ä»³¤ #JCN 0 ¤Á¤ç¤¦¤«¤¤ Ĩ²ü #T30 0 ¤Á¤ç¤¦¤«¤¤ Ä«²ñ #T35 0 ¤Á¤ç¤¦¤«¤¤ Ä®²ñ #T35 0 ¤Á¤ç¤¦¤«¤¤¤ê¤ç¤¯ ݲòÎÏ #T35 8 ¤Á¤ç¤¦¤«¤¯ İ³Ð #T35 2 ¤Á¤ç¤¦¤«¤ó Ä»â× #T30 0 ¤Á¤ç¤¦¤«¤ó Ä«´© #T35 1 ¤Á¤ç¤¦¤«¤ó IJ´É #T35 1 ¤Á¤ç¤¦¤«¤ó Ĺ´± #T35 1 ¤Á¤ç¤¦¤«¤ó¤Þ¤¯ IJ´ÖËì #T35 1 ¤Á¤ç¤¦¤­ Ĺ´ü #T15 2 ¤Á¤ç¤¦¤­¤Á ĹµÈ #JNM 0 ¤Á¤ç¤¦¤­¤ç¤¦ Ä´¶µ #T30 0 ¤Á¤ç¤¦¤­¤ç¤ê ŵ÷Î¥ #T15 3 ¤Á¤ç¤¦¤­¤ó Ħ¶â #T30 0 ¤Á¤ç¤¦¤­¤ó Ķ¶Ð #T30 0 ¤Á¤ç¤¦¤±¤· Ä¢¾Ã¤· #T30 0 ¤Á¤ç¤¦¤²¤ó Ä´¸¹ #T30 0 ¤Á¤ç¤¦¤³¤¦ Ĺ¹¾ #CN 0 ¤Á¤ç¤¦¤³¤¦ İ¹Ö #T30 0 ¤Á¤ç¤¦¤³¤¦ Ĺ¹Í #T30 0 ¤Á¤ç¤¦¤³¤¦ Ãû¸õ #T35 0 ¤Á¤ç¤¦¤³¤¦¤¼¤Ä Ĺ¹­Àå #T35 0 ¤Á¤ç¤¦¤³¤¦¤½¤¯ Ķ¹â® #T05 1 ¤Á¤ç¤¦¤³¤¯ ͹î #T30 0 ¤Á¤ç¤¦¤³¤¯ Ħ¹ï #T30 1 ¤Á¤ç¤¦¤´¤¦ Ä´¹ç #T30 1 ¤Á¤ç¤¦¤´¤¦ Ä´¹æ #T35 0 ¤Á¤ç¤¦¤µ Ä´ºº #T30 246 ¤Á¤ç¤¦¤µ¤ó ƨ»¶ #T30 0 ¤Á¤ç¤¦¤· ĸ»Ò #JCN 0 ¤Á¤ç¤¦¤· ĸ»Ò #T35 0 ¤Á¤ç¤¦¤· Ĺ»Ò #T35 0 ¤Á¤ç¤¦¤· Ä´»Ò #T35 35 ¤Á¤ç¤¦¤·¤ã Ä£¼Ë #T35 1 ¤Á¤ç¤¦¤·¤å ݼè #T30 0 ¤Á¤ç¤¦¤·¤å¤¦ ħ¼ý #T30 2 ¤Á¤ç¤¦¤·¤å¤¦ ݽ° #T35 6 ¤Á¤ç¤¦¤·¤ç Ä´½ñ #T35 16 ¤Á¤ç¤¦¤·¤ç Ĺ½ê #T35 4 ¤Á¤ç¤¦¤·¤ç¤¦ ĹÓâ #T30 0 ¤Á¤ç¤¦¤·¤ç¤¦ Ó޾Р#T30 0 ¤Á¤ç¤¦¤·¤ç¤¦ Ĥ¾â #T35 0 ¤Á¤ç¤¦¤·¤ç¤¯ Ä«¿© #T30 2 ¤Á¤ç¤¦¤·¤ó Ĺ¿È #T05 0 ¤Á¤ç¤¦¤·¤ó Ĥ¿´ #T35 0 ¤Á¤ç¤¦¤¸ Ĺ¼£ #JNM 0 ¤Á¤ç¤¦¤¸ Ĥ¼­ #T35 0 ¤Á¤ç¤¦¤¸¤«¤ó Ĺ»þ´Ö #T15 4 ¤Á¤ç¤¦¤¸¤ã Ĺ¼Ô #T35 1 ¤Á¤ç¤¦¤¸¤å Ĺ¼÷ #T05 1 ¤Á¤ç¤¦¤¸¤ç Ĺ½÷ #T35 1 ¤Á¤ç¤¦¤¸¤ç¤¦ ½Å¾ö #T30 0 ¤Á¤ç¤¦¤¸¤ç¤¦ ĺ¾å #T35 3 ¤Á¤ç¤¦¤¸¤ê Ä¢¿¬ #T35 1 ¤Á¤ç¤¦¤¸¤í¤¦ Ĺ¼¡Ïº #JNM 0 ¤Á¤ç¤¦¤¸¤ó Ķ¿Í #T35 1 ¤Á¤ç¤¦¤»¤¤ ĹÀ¸ #JCN 0 ¤Á¤ç¤¦¤»¤¤ Ä´À½ #T30 0 ¤Á¤ç¤¦¤»¤¤ Ä´À° #T30 32 ¤Á¤ç¤¦¤»¤Ä Ä´Àá #T30 6 ¤Á¤ç¤¦¤»¤ó Ä«Á¯ #CN 0 ¤Á¤ç¤¦¤»¤ó Ä©Àï #T30 7 ¤Á¤ç¤¦¤¼¤ó ĶÁ³ #F00 0 ¤Á¤ç¤¦¤½¤ó Į¼ #T35 0 ¤Á¤ç¤¦¤½¤ó Ĺ¹ #T35 0 ¤Á¤ç¤¦¤¾¤¦ Ĺ¢ #JNM 0 ¤Á¤ç¤¦¤¾¤¦ ĦÁü #T35 0 ¤Á¤ç¤¦¤¿¤¯ ĦÂö #T30 0 ¤Á¤ç¤¦¤¿¤Ä Ĵã #T30 9 ¤Á¤ç¤¦¤¿¤í¤¦ ĹÂÀϺ #JNM 0 ¤Á¤ç¤¦¤¿¤ó Ĺû #T35 1 ¤Á¤ç¤¦¤À¤¤ ĹÂç #T05 1 ¤Á¤ç¤¦¤À¤¤ ĺÂ× #T30 6 ¤Á¤ç¤¦¤Á¤ã¤¯ ÂÇÚ³ #T30 0 ¤Á¤ç¤¦¤Á¤ç¤¦ Ãý¡¹ #T30 0 ¤Á¤ç¤¦¤Á¤ç¤¦ ĮĹ #T35 0 ¤Á¤ç¤¦¤Á¤ç¤¦ ĹĴ #T35 0 ¤Á¤ç¤¦¤Á¤ç¤¦ ij¡¹ #T35 1 ¤Á¤ç¤¦¤Á¤ç¤¦¤Ï¤Ã¤· ÂÇ¡¹È¯»ß #F03 0 ¤Á¤ç¤¦¤Á¤ç¤¦¤Ï¤Ã¤· ÂÇ¡¹È¯»ß #T36 0 ¤Á¤ç¤¦¤Æ¤¤ Ä´Ää #T30 1 ¤Á¤ç¤¦¤Æ¤¤ Ä«Äî #T35 0 ¤Á¤ç¤¦¤Æ¤ó ĺÅÀ #T35 8 ¤Á¤ç¤¦¤Ç¤ó ĤÅÅ #T35 0 ¤Á¤ç¤¦¤Ç¤ó¤É¤¦ ĶÅÅÆ³ #T35 1 ¤Á¤ç¤¦¤É ¤Á¤ç¤¦¤É #T06 22 ¤Á¤ç¤¦¤É ÃúÅÙ #T06 8 ¤Á¤ç¤¦¤É Ä´ÅÙ #T35 0 ¤Á¤ç¤¦¤É¤­¤å¤¦ Ķ׸µé #T15 0 ¤Á¤ç¤¦¤Ê¤¤ Ä®Æâ #T35 0 ¤Á¤ç¤¦¤Ê¤¤ IJÆâ #T35 1 ¤Á¤ç¤¦¤Ê¤ó ĹÆî #JCN 0 ¤Á¤ç¤¦¤Ê¤ó ĹÃË #T35 2 ¤Á¤ç¤¦¤Ï ĹÇÈ #T35 0 ¤Á¤ç¤¦¤Ï¤Ä ħȯ #T30 0 ¤Á¤ç¤¦¤Ï¤Ä ĩȯ #T30 1 ¤Á¤ç¤¦¤Ð Ä¢¾ì #T35 0 ¤Á¤ç¤¦¤Ð¤Ä Ĩȳ #T30 0 ¤Á¤ç¤¦¤Ò¤ç¤¦ Ģɼ #T35 57 ¤Á¤ç¤¦¤Õ Ä´ÉÛ #JCN 0 ¤Á¤ç¤¦¤Õ¤¯ ½ÅÊ£ #T30 27 ¤Á¤ç¤¦¤Ö¤Ä Ĺʪ #T35 2 ¤Á¤ç¤¦¤Ö¤ó Ĺʸ #T35 2 ¤Á¤ç¤¦¤Ø¤¤ Ĺʿ #JNM 0 ¤Á¤ç¤¦¤Ø¤¤ ħʼ #T30 1 ¤Á¤ç¤¦¤Ø¤ó ĹÊÕ #T35 0 ¤Á¤ç¤¦¤Ø¤ó ĹÊÔ #T35 1 ¤Á¤ç¤¦¤Û¤¦ ½ÅÊõ #T00 2 ¤Á¤ç¤¦¤Û¤¦ ĵÊó #T35 0 ¤Á¤ç¤¦¤Û¤¦¤±¤¤ ĹÊý·Á #T35 6 ¤Á¤ç¤¦¤Û¤ó¤Ë¤ó Ä¥ËÜ¿Í #T35 1 ¤Á¤ç¤¦¤Ü Ä¢Êí #T35 1 ¤Á¤ç¤¦¤ß Ä´Ì£ #T30 1 ¤Á¤ç¤¦¤ß¤ê¤ç¤¦ Ä´Ì£ÎÁ #T35 4 ¤Á¤ç¤¦¤ß¤ó Į̱ #T35 1 ¤Á¤ç¤¦¤á ÃúÌÜ #JS 16 ¤Á¤ç¤¦¤á ÃúÌÜ #T35 13 ¤Á¤ç¤¦¤á¤ó Ä¢ÌÌ #T35 0 ¤Á¤ç¤¦¤â¤¯ Ä»ÌÜ #T35 1 ¤Á¤ç¤¦¤â¤ó ĤÌä #T30 0 ¤Á¤ç¤¦¤ä¤¯ Ä·Ìö #T30 0 ¤Á¤ç¤¦¤è¤¦ Ä®ÍÛ #CN 0 ¤Á¤ç¤¦¤é¤¯ ÃüÍî #T30 0 ¤Á¤ç¤¦¤ê Ä´Íý #T30 2 ¤Á¤ç¤¦¤ê¤Ä ĴΧ #T30 0 ¤Á¤ç¤¦¤ê¤Ä ĮΩ #T35 1 ¤Á¤ç¤¦¤ê¤å¤¦ Ĭή #T35 1 ¤Á¤ç¤¦¤ê¤ç¤¦ ĬÎÍ #KK 1 ¤Á¤ç¤¦¤ê¤ç¤¦ ķΠ#T30 0 ¤Á¤ç¤¦¤ê¤ç¤¯ Ä¥ÎÏ #T35 0 ¤Á¤ç¤¦¤ê¤ç¤¯ İÎÏ #T35 0 ¤Á¤ç¤¦¤ì¤¤ Ä«Îé #T30 1 ¤Á¤ç¤¦¤ì¤¤¤Ü¤«¤¤ Ä«ÎáÊë²þ #T35 1 ¤Á¤ç¤¦¤í¤¦ ÓÞÏ® #T30 0 ¤Á¤ç¤¦¤í¤¦ ĹϷ #T35 1 ¤Á¤ç¤¦¤ï Ä´Ï #T30 4 ¤Á¤ç¤­¤ó Ãù¶â #T30 2 ¤Á¤ç¤¯ Ľ #KJ 1 ¤Á¤ç¤¯ ľ #KJ 16 ¤Á¤ç¤¯ ļ #KJ 2 ¤Á¤ç¤¯¤¨¤¤ ľ±Ä #T30 0 ¤Á¤ç¤¯¤²¤­ ľ·â #T30 1 ¤Á¤ç¤¯¤´ ļ¸ì #T35 1 ¤Á¤ç¤¯¤´ ľ¸å #T35 18 ¤Á¤ç¤¯¤µ¤¤ ľ٣ #T05 0 ¤Á¤ç¤¯¤· ľ»ë #T30 0 ¤Á¤ç¤¯¤·¤ã ľ¼Í #T30 1 ¤Á¤ç¤¯¤·¤ó ľ¿Ê #T30 1 ¤Á¤ç¤¯¤¸ ľ¼¨ #T30 1 ¤Á¤ç¤¯¤»¤­ ľÀÑ #T35 3 ¤Á¤ç¤¯¤»¤Ä ľ٣ #T05 0 ¤Á¤ç¤¯¤»¤Ä ľÀÜ #T15 224 ¤Á¤ç¤¯¤»¤ó ľÀþ #T35 13 ¤Á¤ç¤¯¤¼¤ó ľÁ° #T35 44 ¤Á¤ç¤¯¤½¤¦ ľÁ÷ #T30 1 ¤Á¤ç¤¯¤¾¤¯ ľ° #T30 1 ¤Á¤ç¤¯¤Á¤ç¤¯ ¤Á¤ç¤¯¤Á¤ç¤¯ #F14 3 ¤Á¤ç¤¯¤Á¤ç¤¯ ¤Á¤ç¤¯¤Á¤ç¤¯ #T16 0 ¤Á¤ç¤¯¤Ä¤¦ ľÄÌ #T30 2 ¤Á¤ç¤¯¤È¤¦ ľÅú #T30 0 ¤Á¤ç¤¯¤Ï¤ó ľÈÎ #T30 1 ¤Á¤ç¤¯¤Ð¤¤ ľÇä #T30 0 ¤Á¤ç¤¯¤Û¤¦¤¿¤¤ ľÊýÂÎ #T35 2 ¤Á¤ç¤¯¤á¤¤ ļ̿ #T35 0 ¤Á¤ç¤¯¤á¤ó ľÌÌ #T30 3 ¤Á¤ç¤¯¤ä¤¯ ľÌõ #T30 1 ¤Á¤ç¤¯¤ê¤Ä ľΩ #T30 0 ¤Á¤ç¤¯¤ê¤å¤¦ ľή #T35 1 ¤Á¤ç¤¯¤ì¤Ä ľÎó #T30 3 ¤Á¤ç¤¯¤ï ľÏ #T35 2 ¤Á¤ç¤³ Ãö¸ý #T35 0 ¤Á¤ç¤³ ¥Á¥ç¥³ #T35 38 ¤Á¤ç¤³¤ì¡¼¤È ¥Á¥ç¥³¥ì¡¼¥È #T35 3 ¤Á¤ç¤µ¤¯ Ãøºî #T30 11 ¤Á¤ç¤·¤ã Ãø¼Ô #T35 21 ¤Á¤ç¤·¤ç Ãø½ñ #T35 2 ¤Á¤ç¤¸¤å¤Ä Ãø½Ò #T30 0 ¤Á¤ç¤¾¤¦ Ãù¢ #T30 1 ¤Á¤ç¤Á¤¯ ÃùÃß #T30 0 ¤Á¤ç¤Ã¤« ľ²¼ #T35 5 ¤Á¤ç¤Ã¤«¤¯ ľ³Ñ #T15 1 ¤Á¤ç¤Ã¤«¤Ä ľ³í #T30 0 ¤Á¤ç¤Ã¤«¤ó ľ´Ñ #T30 115 ¤Á¤ç¤Ã¤«¤ó ľ´¶ #T30 4 ¤Á¤ç¤Ã¤­ ľµ¢ #T30 5 ¤Á¤ç¤Ã¤±¤¤ ľ·Â #T35 3 ¤Á¤ç¤Ã¤±¤¤ ľ·Ï #T35 3 ¤Á¤ç¤Ã¤±¤Ä ľ·ë #T30 13 ¤Á¤ç¤Ã¤³¤¦ ľ¹Ô #T30 10 ¤Á¤ç¤Ã¤³¤¦ ľ¸ò #T30 3 ¤Á¤ç¤Ã¤È ¤Á¤ç¤Ã¤È #F14 220 ¤Á¤ç¤Ã¤È ¤Á¤ç¤Ã¤È #T31 157 ¤Á¤ç¤Ã¤Ô¤ê ¤Á¤ç¤Ã¤Ô¤ê #F14 2 ¤Á¤ç¤Ã¤Ô¤ê ¤Á¤ç¤Ã¤Ô¤ê #T16 0 ¤Á¤ç¤È¤Ä¤â¤¦¤·¤ó ÃöÆÍÌÔ¿Ê #T35 1 ¤Á¤ç¤Ó¤Ã¤È ¤Á¤ç¤Ó¤Ã¤È #F12 0 ¤Á¤ç¤Ó¤Ã¤È ¤Á¤ç¤Ó¤Ã¤È #T16 0 ¤Á¤ç¤á¤¤ ÃøÌ¾ #T05 0 ¤Á¤ç¤á¤¤ ÃøÌÀ #T05 1 ¤Á¤ç¤ê¤å¤¦ Ãùα #T30 1 ¤Á¤è ÀéÂå #JN 0 ¤Á¤è ¤Á¤è #JNM 0 ¤Á¤è ¥Á¥è #JNM 0 ¤Á¤è ÀéÂå #T35 1 ¤Á¤è¤«¤ï ÀéÂåÀî #CN 0 ¤Á¤è¤¯¤é ÀéÂåÁÒ #JNS 0 ¤Á¤è¤³ ÀéÂå»Ò #JNM 0 ¤Á¤è¤À ÀéÂåÅÄ #JCN 0 ¤Á¤è¤Î ÀéÂåǵ #JNM 0 ¤Á¤é »¶¤é #S5 2 ¤Á¤é¤« »¶¤é¤« #R5 2 ¤Á¤é¤« »¶¤é¤« #S5 2 ¤Á¤é¤· ¥Á¥é¥· #T35 2 ¤Á¤é¤Ã ¤Á¤é¤Ã #F06 2 ¤Á¤é¤Ä ¤Á¤é¤Ä #K5r 1 ¤Á¤é¤Ð »¶¤é¤Ð #R5r 0 ¤Á¤é¤ê ¤Á¤é¤ê #F06 1 ¤Á¤é¤ó ÃÎÍ÷ #JCN 0 ¤Á¤ê ¥Á¥ê #CN 0 ¤Á¤ê ¿Ð #T35 1 ¤Á¤ê ÃÏÍý #T35 10 ¤Á¤ê¤Ð¤á »¶¤ê¤Ð¤á #KS 1 ¤Á¤ê¤å¤¦ ÃÎΩ #JCN 0 ¤Á¤ê¤ç¤¦ ¼£ÎÅ #T30 4 ¤Á¤ë¤Á¤ë ¥Á¥ë¥Á¥ë #JN 0 ¤Á¤ï ÃÔÏà #T35 1 ¤Á¤ó µÎ #KJ 0 ¤Á¤ó ÄÀ #KJ 0 ¤Á¤ó ÄÁ #KJ 0 ¤Á¤ó Äà #KJ 0 ¤Á¤ó ÄÄ #KJ 1 ¤Á¤ó ÄØ #KJ 1 ¤Á¤ó Ä #KJ 3 ¤Á¤ó ¥Á¥ó #T30 10 ¤Á¤ó ÄÁ #T35 1 ¤Á¤ó Ä¿ #T35 3 ¤Á¤ó ÄÄ #ZX 0 ¤Á¤ó¤¢¤² ľ夲 #T30 1 ¤Á¤ó¤¢¤Ä Äðµ #T30 0 ¤Á¤ó¤« ÄÀ²¼ #T30 0 ¤Á¤ó¤« ÄòР#T30 0 ¤Á¤ó¤­ ÄÁ´ñ #T05 0 ¤Á¤ó¤­ ¥Á¥ó¥­ #T35 0 ¤Á¤ó¤­¤ã¤¯ ÄÁµÒ #T35 0 ¤Á¤ó¤®¤ó Ķâ #T35 1 ¤Á¤ó¤³¤¦ ÄÀ¹ß #T30 0 ¤Á¤ó¤µ ÄÀÞÖ #T35 1 ¤Á¤ó¤µ¤² IJ¼¤² #T30 0 ¤Á¤ó¤¶ Äú #T30 3 ¤Á¤ó¤·¤ã ÄÄ¼Õ #T30 1 ¤Á¤ó¤·¤ã¤¯ ÄÂ¼Ú #T30 0 ¤Á¤ó¤¸ ÄÁ»ö #T35 0 ¤Á¤ó¤¸¤å Äüé #T35 0 ¤Á¤ó¤¸¤å¤Ä ÄÄ½Ò #T30 1 ¤Á¤ó¤¸¤ç¤¦ Äľð #T30 0 ¤Á¤ó¤»¤¤ ÄÃÀÅ #T30 0 ¤Á¤ó¤¼¤¤ ÄÃÀ¾ #JCN 0 ¤Á¤ó¤¿¤¤ ÄÀÂÚ #T30 1 ¤Á¤ó¤¿¤¤ ÄÂÂß #T30 1 ¤Á¤ó¤À¤ó ÄÁÃÌ #T35 0 ¤Á¤ó¤Á¤ç¤¦ ÄÁ½Å #T30 1 ¤Á¤ó¤Ä¤¦ ÄÃÄË #T30 0 ¤Á¤ó¤Ç¤ó ÄÀÅà #T30 0 ¤Á¤ó¤È¤¦ ËíÆ¬ #T35 0 ¤Á¤ó¤Ü¤Ä ÄÀË× #T30 0 ¤Á¤ó¤Ý¤³ »÷»Ø #T35 1 ¤Á¤ó¤ß ÄÁÌ£ #T35 0 ¤Á¤ó¤â¤¯ ÄÀÌÛ #T30 2 ¤Á¤ó¤ì¤Ä ÄÄÎó #T30 0 ¤Â ¼¦ #T35 14 ¤Ã¤³ ¤Ã¤³ #D2T35 6 ¤Ã¤³ ¤Ã¤³ #KY 1 ¤Ã¤Ñ¤Ê¤· ¤Ã¤Ñ¤Ê¤· #T05 2 ¤Ã¤Ý ¤Ã¤Ý #KY 6 ¤Ä Ãí #G5 0 ¤Ä »Ì #G5 1 ¤Ä ÀÜ #G5r 0 ¤Ä ·Ñ #G5r 4 ¤Ä ¼¡ #G5r 48 ¤Ä ÄÅ #JCN 0 ¤Ä ¾× #K5 0 ¤Ä Éí #K5 0 ¤Ä ¤Ä #K5 155 ¤Ä ½¢ #K5 2 ¤Ä ÉÕ #K5 255 ¤Ä Ãå #K5 48 ¤Ä Ƶ #K5r 0 ¤Ä ÆÍ #K5r 1 ¤Ä ³¢ #KJ 0 ¤Ä ÄÓ #KJ 0 ¤Ä ÅÔ #KJ 10 ¤Ä Ŧ #M5 0 ¤Ä ÀÑ #M5 27 ¤Ä ¤Ä #M5 4 ¤Ä µÍ #M5r 0 ¤Ä ¤Ä #R5 3 ¤Ä Äß #R5r 1 ¤Ä Äà #R5r 1 ¤Ä ÄÅ #T35 20 ¤Ä¡¼¤ê¤¹¤È ¥Ä¡¼¥ê¥¹¥È #T35 1 ¤Ä¡¼¤ê¤ó¤° ¥Ä¡¼¥ê¥ó¥° #T30 3 ¤Ä¡¼¤ë ¥Ä¡¼¥ë #T35 6 ¤Ä¡¼¤ë¤­¤Ã¤È ¥Ä¡¼¥ë¥­¥Ã¥È #T35 0 ¤Ä¤¢¡¼ ¥Ä¥¢¡¼ #T30 12 ¤Ä¤¤ ¤Ä¤¤ #F14 62 ¤Ä¤¤ ÂÐ #JS 76 ¤Ä¤¤ ÂÏ #KJ 0 ¤Ä¤¤ ÄÆ #KJ 0 ¤Ä¤¤ ÄÇ #KJ 0 ¤Ä¤¤ ÄÈ #KJ 0 ¤Ä¤¤ ÄÊ #KJ 0 ¤Ä¤¤ ÄÉ #KJ 1 ¤Ä¤¤ ÂÐ #T35 42 ¤Ä¤¤¤ª¤¯ Äɲ± #T30 0 ¤Ä¤¤¤« Äɲà #T30 255 ¤Ä¤¤¤«¤ó¤Ð¤ó ÄÇ´ÖÈÄ #T35 0 ¤Ä¤¤¤­ ÃÛ¾ë #JCN 0 ¤Ä¤¤¤­ ΩÌÚ #JNS 0 ¤Ä¤¤¤­ Äɵ­ #T30 8 ¤Ä¤¤¤­¤å¤¦ Äɵæ #T30 1 ¤Ä¤¤¤­¤å¤¦ ÄÉµÚ #T30 3 ¤Ä¤¤¤­¤å¤¦ Äɵá #T30 6 ¤Ä¤¤¤²¤­ ÄÉ·â #T30 0 ¤Ä¤¤¤· ÄÆ»à #T30 1 ¤Ä¤¤¤· ÄÉ»î #T30 2 ¤Ä¤¤¤·¤±¤ó Äɻ #T30 0 ¤Ä¤¤¤·¤ç¤¦ Äɽ¾ #T30 0 ¤Ä¤¤¤·¤ó ÄÉ¿­ #T35 16 ¤Ä¤¤¤¸¤å¤¦ Äɽ¾ #T30 2 ¤Ä¤¤¤º¤¤ ÄÉ¿ï #T30 1 ¤Ä¤¤¤»¤­ ÄÉÀ× #T30 4 ¤Ä¤¤¤½ ÄÉÁÊ #T30 0 ¤Ä¤¤¤¿¤Á £±Æü #T35 0 ¤Ä¤¤¤¿¤Á 1Æü #T35 1 ¤Ä¤¤¤¿¤Á °ìÆü #T35 1 ¤Ä¤¤¤Á¤ç¤¦ ÄÉħ #T30 0 ¤Ä¤¤¤Ä¤¤ ¤Ä¤¤¤Ä¤¤ #F14 2 ¤Ä¤¤¤Æ¤Ï ¤Ä¤¤¤Æ¤Ï #CJ 10 ¤Ä¤¤¤Ç ¤Ä¤¤¤Ç #T35 6 ¤Ä¤¤¤Ç¤Ë ¤Ä¤¤¤Ç¤Ë #F14 36 ¤Ä¤¤¤È¤¦ ÄÉÅé #T30 0 ¤Ä¤¤¤È¤Ä ÄÉÆÍ #T30 0 ¤Ä¤¤¤Ë ¿ë¤Ë #F14 3 ¤Ä¤¤¤Ë¤ó ÄÉǧ #T30 2 ¤Ä¤¤¤Ð Âï #M5 0 ¤Ä¤¤¤Û¤¦ ÄÉÊü #T30 0 ¤Ä¤¤¤ä Èñ¤ä #S5 2 ¤Ä¤¤¤ä Èñ #S5 9 ¤Ä¤¤¤é¤¯ ÄÆÍî #T30 2 ¤Ä¤¤¤í¤¯ ÄÉÏ¿ #T30 0 ¤Ä¤¤¤ó ¥Ä¥¤¥ó #T35 3 ¤Ä¤¦ ÄÌ #JS 101 ¤Ä¤¦ ÄË #KJ 2 ¤Ä¤¦ ÄÌ #SUC 0 ¤Ä¤¦ ÄÌ #T35 0 ¤Ä¤¦ ÄÌ #ZX 28 ¤Ä¤¦¤¤¤ó Ä̱¡ #T30 3 ¤Ä¤¦¤¨¤ó Ä̱à #T30 0 ¤Ä¤¦¤« Ä̲á #T30 31 ¤Ä¤¦¤« ÄÌ²ß #T35 1 ¤Ä¤¦¤«¤¤ Ä˲÷ #T05 1 ¤Ä¤¦¤«¤¯ Ä˳Р#T35 0 ¤Ä¤¦¤«¤ó ÄË´¶ #T30 2 ¤Ä¤¦¤«¤ó ÄÌ´Ø #T35 0 ¤Ä¤¦¤«¤ó ÄÌ´¬ #T35 1 ¤Ä¤¦¤¬¤¯ ÄÌ³Ø #T30 2 ¤Ä¤¦¤­ Ä̵¤ #T35 0 ¤Ä¤¦¤­¤ó Ä̶Р#T30 28 ¤Ä¤¦¤±¤ó Ä̸¦ #KK 2 ¤Ä¤¦¤²¤­ ÄË·â #T30 0 ¤Ä¤¦¤³¤¦ ÄÌ¹Ô #T30 1 ¤Ä¤¦¤³¤¯ ÄËÓ­ #T30 0 ¤Ä¤¦¤³¤¯ Ä̹ð #T30 2 ¤Ä¤¦¤³¤ó Ä˺¨ #T30 0 ¤Ä¤¦¤µ¤ó ÄÌ»» #T30 1 ¤Ä¤¦¤µ¤ó ÄÌ»º #T35 1 ¤Ä¤¦¤µ¤ó¤·¤ç¤¦ ÄÌ»º¾Ê #KK 6 ¤Ä¤¦¤µ¤ó¤·¤ç¤¦ ÄÌ»ºÁê #T35 4 ¤Ä¤¦¤·¤ç¤¦ Ä̾Π#T30 4 ¤Ä¤¦¤·¤ç¤¦ Ä̾¦ #T35 1 ¤Ä¤¦¤·¤ó ÄÌ¿® #T30 255 ¤Ä¤¦¤·¤ó¤À¤¤ ÄÌ¿®Âå #T35 0 ¤Ä¤¦¤·¤ó¤â¤¦ ÄÌ¿®ÌÖ #T35 0 ¤Ä¤¦¤¸ ÄÌ»þ #T35 0 ¤Ä¤¦¤¸¤ç¤¦ Ä̾ï #T05 102 ¤Ä¤¦¤»¤Ä ÄËÀÚ #T05 0 ¤Ä¤¦¤»¤Ä ÄÌÀâ #T35 0 ¤Ä¤¦¤¾¤¯ Ä̯ #T05 0 ¤Ä¤¦¤¿¤Ä ÄÌã #T30 2 ¤Ä¤¦¤Á ÄÌÃÎ #T30 32 ¤Ä¤¦¤Á¤ç¤¦ ÄÌÄ¢ #T35 10 ¤Ä¤¦¤Æ¤ó ÄËÅÀ #T35 0 ¤Ä¤¦¤Æ¤ó¤«¤¯ ÄÌÅ·³Õ #CN 0 ¤Ä¤¦¤Ç¤ó ÄÌÅÅ #T30 0 ¤Ä¤¦¤É¤¯ ÄÌÆÉ #T30 0 ¤Ä¤¦¤Í¤ó ÄÌǰ #T35 1 ¤Ä¤¦¤Ï¤ó ÄÌÈÎ #T35 0 ¤Ä¤¦¤Õ¤¦ ÄÌÉ÷ #T35 0 ¤Ä¤¦¤Û¤¦ ÄÌÊó #T30 2 ¤Ä¤¦¤ä¤¯ ÄÌÌõ #T30 6 ¤Ä¤¦¤è¤¦ ÄÌÍÑ #T30 5 ¤Ä¤¦¤ì¤¤ ÄÌÎã #T35 1 ¤Ä¤¦¤ì¤Ä ÄËÎõ #T05 1 ¤Ä¤¦¤í ÄÌÏ© #T35 3 ¤Ä¤¦¤ï ÄÌÏà #T30 2 ¤Ä¤¨ ¾ó #T35 0 ¤Ä¤« ÊÁ #KJ 0 ¤Ä¤« « #KJ 1 ¤Ä¤« ÄÏ #M5r 8 ¤Ä¤« ÄÒ¤« #R5 0 ¤Ä¤« ¿»¤« #R5 2 ¤Ä¤« ÄÍ #T35 9 ¤Ä¤« ¸¯ #W5r 1 ¤Ä¤« »È #W5r 255 ¤Ä¤«¤¤¤¬¤Ã¤Æ »È¤¤¾¡¼ê #T35 4 ¤Ä¤«¤¤¤³ »È¤¤¹þ #M5r 3 ¤Ä¤«¤¤¤³¤Ê »È¤¤¤³¤Ê #S5r 3 ¤Ä¤«¤¤¤ï¤± »È¤¤Ê¬¤± #KSr 3 ¤Ä¤«¤¨ »Å¤¨ #KS 24 ¤Ä¤«¤°¤Á Ä͸ý #JCN 0 ¤Ä¤«¤³¤· ÄÍ±Û #JNS 0 ¤Ä¤«¤´¤· ÄÍ±Û #JNS 0 ¤Ä¤«¤µ »Ê #JNM 0 ¤Ä¤«¤µ »Ê #T35 11 ¤Ä¤«¤µ¤É »Ê #R5 1 ¤Ä¤«¤À ÄÍÅÄ #JCN 0 ¤Ä¤«¤Ï¤é Ä͸¶ #JCN 0 ¤Ä¤«¤Þ Êá¤Þ #R5r 3 ¤Ä¤«¤Þ¤¨ Êá¤Þ¤¨ #KSr 12 ¤Ä¤«¤ß¤¢ ¤Ä¤«¤ß¹ç #W5r 0 ¤Ä¤«¤â¤È ÄÍËÜ #JNS 0 ¤Ä¤«¤ì Èè¤ì #KSr 85 ¤Ä¤¬ ÅÔ²ì #JCN 0 ¤Ä¤¬ ÄÎ #KJ 1 ¤Ä¤¬¤¤ ÈÖ #T35 0 ¤Ä¤¬¤ë ÄÅ·Ú #JCN 0 ¤Ä¤¬¤ï ÄÅÀî #JCN 0 ¤Ä¤­ ·î #JS 155 ¤Ä¤­ ÄÐ #KJ 0 ¤Ä¤­ ¿Ô¤­ #KSr 3 ¤Ä¤­ ¤Ä¤­ #SUC 0 ¤Ä¤­ ÉÕ #SUC 0 ¤Ä¤­ ¤Ä¤­ #T35 0 ¤Ä¤­ ÉÕ¤­ #T35 0 ¤Ä¤­ ·î #T35 3 ¤Ä¤­¤¢ ÉÕ¤­¹ç #W5r 0 ¤Ä¤­¤¢ ¤Ä¤­¹ç #W5r 38 ¤Ä¤­¤¢ ¤Ä¤­¤¢ #W5r 8 ¤Ä¤­¤¢¤² ÆÍ¤­¾å¤² #KSr 0 ¤Ä¤­¤¢¤ï¤» ÆÍ¤­¹ç¤ï¤» #KSr 0 ¤Ä¤­¤¬¤± ·î³Ý¤± #T35 0 ¤Ä¤­¤¬¤» ·î¥öÀ¥ #CN 0 ¤Ä¤­¤¬¤¿ ·î·Á #JCN 0 ¤Ä¤­¤®¤á ·î¶Ë¤á #T35 0 ¤Ä¤­¤®¤ê ·î¸Â #T35 0 ¤Ä¤­¤µ ÆÍ¤­»É #S5r 0 ¤Ä¤­¤µ¤à ·î´¨ #CN 0 ¤Ä¤­¤¸ ÃÛÃÏ #JCN 0 ¤Ä¤­¤¹¤¹ ÆÍ¤­¿Ê #M5 1 ¤Ä¤­¤½ ÉÕ¤­Åº #W5r 0 ¤Ä¤­¤½¤¤ ÉÕź¤¤ #T30 0 ¤Ä¤­¤½¤¤ ÉÕź #T30 1 ¤Ä¤­¤À ÆÍ¤­½Ð #S5r 1 ¤Ä¤­¤À¤Æ ÃÛ´Û #JNS 0 ¤Ä¤­¤Ä¤± ÆÍ¤­ÉÕ¤± #KS 2 ¤Ä¤­¤Ä¤á ÆÍ¤­µÍ¤á #KSr 1 ¤Ä¤­¤Å¤­ ·î¡¹ #T35 1 ¤Ä¤­¤È¤á ÆÍ¤­»ß¤á #KS 2 ¤Ä¤­¤Ê¤ß ·îÊ #T05 0 ¤Ä¤­¤Ï¤Ê ÆÍ¤­Êü #S5r 1 ¤Ä¤­¤Ð¤é¤¤ ·îʧ¤¤ #T30 0 ¤Ä¤­¤Ò ·îÆü #T35 4 ¤Ä¤­¤Ù¤Ä ·îÊÌ #T15 1 ¤Ä¤­¤Þ¤È ÉÕ¤­¤Þ¤È #W5 1 ¤Ä¤­¤ä¤Þ ÃÛ»³ #T35 0 ¤Ä¤­¤è ·îÌë #T35 1 ¤Ä¤­¤è¤Î ·îÌëÌî #CN 0 ¤Ä¤® ¤Ä¤® #T35 2 ¤Ä¤® ¼¡ #T35 255 ¤Ä¤®¤ª ¼¡ÃË #JNM 0 ¤Ä¤®¤ª ¼¡É× #JNM 0 ¤Ä¤®¤ª ¼¡Íº #JNM 0 ¤Ä¤®¤³ ¤Ä¤®¤³ #M5r 2 ¤Ä¤®¤¿ ·Ñ¤®Â­ #S5r 1 ¤Ä¤®¤Ä¤® ¼¡¡¹ #T35 4 ¤Ä¤®¤á ·ÑÌÜ #T35 0 ¤Ä¤¯ ÃÞ #KJ 1 ¤Ä¤¯ ÁÏ #R5 2 ¤Ä¤¯ ºî #R5 255 ¤Ä¤¯ ¤ #R5r 2 ¤Ä¤¯ ¤Ä¤¯ #R5r 3 ¤Ä¤¯ ¿Ô¤¯ #S5 7 ¤Ä¤¯¤¤ Äŵװæ #JCN 0 ¤Ä¤¯¤¤¤³ Äŵװæ¸Ð #CN 0 ¤Ä¤¯¤¨ ´ù #T35 42 ¤Ä¤¯¤· ÃÞ»ç #JCN 0 ¤Ä¤¯¤À ÄÑ #T35 3 ¤Ä¤¯¤À¤Ë ÄÑ¼Ñ #T35 0 ¤Ä¤¯¤Å¤¯ ¤Ä¤¯¤Å¤¯ #F14 1 ¤Ä¤¯¤Ç ºî¼ê #JCN 0 ¤Ä¤¯¤Ð ¤Ä¤¯¤Ð #CN 0 ¤Ä¤¯¤Ð ÃÞÇÈ #JCN 0 ¤Ä¤¯¤Ð¤· ¤Ä¤¯¤Ð»Ô #CN 0 ¤Ä¤¯¤Ð¤Í ÃÞÇÈÎæ #KK 0 ¤Ä¤¯¤Ü ÅÔ·¦ #JCN 0 ¤Ä¤¯¤ß Äŵ׸« #JCN 0 ¤Ä¤¯¤ê ÚÕ #KJ 6 ¤Ä¤¯¤ê ºî¤ê #T35 0 ¤Ä¤¯¤ê¤¢¤² ¤¤ê¾å¤² #KS 0 ¤Ä¤¯¤ê¤¢¤² ºî¤ê¾å¤² #KS 3 ¤Ä¤¯¤ê¤«¤¿ ºî¤êÊý #T35 20 ¤Ä¤¯¤ê¤À ÁϤê½Ð #S5 0 ¤Ä¤¯¤ê¤À ¤Ä¤¯¤ê½Ð #S5 23 ¤Ä¤¯¤ê¤À ºî¤ê½Ð #S5 5 ¤Ä¤¯¤í Á¶ #W5r 0 ¤Ä¤° ÄŶñ #JCN 0 ¤Ä¤°¤Ê ½þ #W5r 1 ¤Ä¤°¤ß ¥Ä¥°¥ß #T35 0 ¤Ä¤°¤ß óª #T35 0 ¤Ä¤± ¤Ä¤± #D2T35 0 ¤Ä¤± ÄÒ #KJ 0 ¤Ä¤± ÅÀ¤± #KS 0 ¤Ä¤± ÄÒ¤± #KS 3 ¤Ä¤± ÉÕ¤± #KS 57 ¤Ä¤± ¤Ä¤± #KSr 4 ¤Ä¤±¤«¤¿ ÉÕ¤±Êý #T35 5 ¤Ä¤±¤¯¤ï¤¨ ÉÕ¤±²Ã¤¨ #KSr 22 ¤Ä¤±¤³ ÉÕ¤±¹þ #M5 0 ¤Ä¤±¤³ ÄÒ¤±¹þ #M5r 0 ¤Ä¤±¤¿ ÉÕ¤±Â­ #S5r 4 ¤Ä¤±¤Á ÉÕÃÎ #JCN 0 ¤Ä¤±¤Í¤é ÉÕ¤±ÁÀ #W5 1 ¤Ä¤±¤â¤Î ÄÒʪ #T35 2 ¤Ä¤±¤ä¤­¤Ð ÉÕ¤±¾Æ¤­¿Ï #T35 0 ¤Ä¤±¤ä¤­¤Ð ÉÕ¾Æ¿Ï #T35 0 ¤Ä¤² ÄÓ¿¢ #JCN 0 ¤Ä¤² ÅÔ·· #JCN 0 ¤Ä¤² ÄÓ #KJ 0 ¤Ä¤² ¹ð¤² #KS 6 ¤Ä¤²¤°¤Á ¹ð¤²¸ý #T30 0 ¤Ä¤´¤¦ ÅÔ¹ç #T30 74 ¤Ä¤· ÄÅ»Ô #CNS 0 ¤Ä¤·¤Þ ÂÐÇÏ #JCN 0 ¤Ä¤·¤Þ ÄÅÅç #JCN 0 ¤Ä¤¸ ÄÔ #JCN 0 ¤Ä¤¸ ÄÔ #T35 5 ¤Ä¤¸¤¤ ÄÔ°æ #JNS 0 ¤Ä¤¸¤Ä¤Þ ¤Ä¤¸¤Ä¤Þ #T35 2 ¤Ä¤¸¤Ä¤Þ ÄÔêí #T35 2 ¤Ä¤¸¤Î ÄÔÌî #JNS 0 ¤Ä¤¿ ÄÕ #T35 3 ¤Ä¤¿¤¦ ÅÁ #JNM 0 ¤Ä¤¿¤¨ ÅÁ¤¨ #KS 64 ¤Ä¤¿¤Ê ÀÛ #KY 2 ¤Ä¤¿¤Î¤¦ ÀÛ¤¦ #KYU 1 ¤Ä¤¿¤ï ÅÁ¤ï #R5 14 ¤Ä¤À ÄÅÅÄ #JCN 0 ¤Ä¤À¤Ì¤Þ ÄÅÅľ #CN 0 ¤Ä¤Á ¾í #KJ 0 ¤Ä¤Á ÄÇ #KJ 0 ¤Ä¤Á ÄÊ #T35 0 ¤Ä¤Á ÄÈ #T35 3 ¤Ä¤Á ÅÚ #T35 3 ¤Ä¤Á¤¦¤é ÅÚ±º #JCN 0 ¤Ä¤Á¤« ÇÝ #W5 3 ¤Ä¤Á¤¯¤ì ÅÚ¤¯¤ì #T35 0 ¤Ä¤Á¤À ÅÚÅÄ #JNS 0 ¤Ä¤Á¤Î¤¨ Êê #T35 0 ¤Ä¤Á¤ä ÅÚ²° #JCN 0 ¤Ä¤Á¤ä¤Þ ÅÚ»³ #JCN 0 ¤Ä¤Ã¤«¤¨ ÆÍ¤ÃÊÖ #S5 1 ¤Ä¤Ã¤«¤« ÆÍ¤Ã¤«¤« #R5 0 ¤Ä¤Ã¤±¤ó¤É¤ó ¤Ä¤Ã¤±¤ó¤É¤ó #T05 0 ¤Ä¤Ã¤±¤ó¤É¤ó ÆÍØÌìÅ #T05 0 ¤Ä¤Ã¤³ ÆÍ¤Ã¹þ #M5r 4 ¤Ä¤Ã¤Ä ÆÍ¤Ã¤Ä #K5 1 ¤Ä¤Ã¤Ñ ÆÍ¤ÃÄ¥ #R5r 1 ¤Ä¤Ã¤Ñ¤· ¤Ä¤ÃÁö #R5 1 ¤Ä¤Ã¤× ¤Ä¤Ã¤× #S5 0 ¤Ä¤Ã¤× ¤Ä¤ÃÉú #S5 0 ¤Ä¤Ä Êñ #M5r 3 ¤Ä¤Ä Åû #T35 3 ¤Ä¤Ä¤¤ Åû°æ #JCN 0 ¤Ä¤Ä¤¦¤é¤¦¤é ÄÅ¡¹±º¡¹ #T35 0 ¤Ä¤Ä¤¬ Åû²ì #JCN 0 ¤Ä¤Ä¤¬¤Ê ¤Ä¤Ä¤¬¤Ê #KY 2 ¤Ä¤Ä¤¬¤Î¤¦ ¤Ä¤Ä¤¬¤Î¤¦ #KYU 1 ¤Ä¤Ä¤· ¤Ä¤Ä¤· #M5r 0 ¤Ä¤Ä¤· ¶à #M5r 0 ¤Ä¤Ä¤· ¿µ #M5r 0 ¤Ä¤Ä¤·¤ó¤Ç ¶à¤ó¤Ç #F14 1 ¤Ä¤Ä¤ß Äé #JNS 0 ¤Ä¤Ä¤ß Êñ #T35 0 ¤Ä¤Ä¤ß Äé #T35 2 ¤Ä¤Ä¤ß¤³ Êñ¤ß¹þ #M5r 0 ¤Ä¤Å ³ #K5r 123 ¤Ä¤Å ¤Ä¤Å #KSr 2 ¤Ä¤Å ¤Ä¤Å #R5r 1 ¤Ä¤Å ÄÖ #R5r 6 ¤Ä¤Å¤­ ÄÖ´î #JCN 0 ¤Ä¤Å¤­ ÅÔÃÛ #JNS 0 ¤Ä¤Å¤± ³¤± #KS 1 ¤Ä¤Å¤ß ¸Ý #T35 0 ¤Ä¤Å¤ê ÄÖ #T35 5 ¤Ä¤Æ ¤Ä¤Æ #T35 0 ¤Ä¤Æ ÅÁ¼ê #T35 0 ¤Ä¤È¤Ë ¤Ä¤È¤Ë #F14 0 ¤Ä¤È¤Þ ¶Ð¤Þ #R5 0 ¤Ä¤È¤Þ ÅØ¤Þ #R5 1 ¤Ä¤È¤à ¶Ð #JNM 0 ¤Ä¤È¤à ÅØ #JNM 0 ¤Ä¤È¤à ÊÙ #JNM 0 ¤Ä¤È¤à ̳ #JNM 0 ¤Ä¤È¤à ÎÏ #JNM 0 ¤Ä¤È¤á ÊÙ¤á #KSr 0 ¤Ä¤È¤á ̳¤á #KSr 0 ¤Ä¤È¤á ¤Ä¤È¤á #KSr 1 ¤Ä¤È¤á ¶Ð¤á #KSr 10 ¤Ä¤È¤á ÅØ¤á #KSr 2 ¤Ä¤È¤á¤µ¤­ ¶Ð¤áÀè #T35 1 ¤Ä¤È¤á¤Æ ÅØ¤á¤Æ #F14 0 ¤Ä¤É ÅÔÅÙ #T35 6 ¤Ä¤É ½¸ #W5r 2 ¤Ä¤Ê ·Ò #G5r 23 ¤Ä¤Ê ¤Ä¤Ê #G5r 73 ¤Ä¤Ê ÄÅ̾ #JCN 0 ¤Ä¤Ê ¹Ë #T35 1 ¤Ä¤Ê¤¬ ·Ñ #R5 40 ¤Ä¤Ê¤¬ ¤Ä¤Ê¤¬ #R5r 120 ¤Ä¤Ê¤¬ ·Ò¤¬ #R5r 3 ¤Ä¤Ê¤® ÄÅÆàÌÚ #JCN 0 ¤Ä¤Ê¤® ·Ò #T35 1 ¤Ä¤Ê¤®¤È¤á ¤Ä¤Ê¤®»ß¤á #KSr 0 ¤Ä¤Ê¤² ·Ò¤² #KS 1 ¤Ä¤Ê¤·¤Þ ¹ËÅç #JCN 0 ¤Ä¤Ê¤·¤Þ ¹ËÅè #JNS 0 ¤Ä¤Ê¤ß ÄÅÇÈ #T35 0 ¤Ä¤Ê¤ó ÄÅÆî #CN 0 ¤Ä¤Í ¤Ä¤Í #JNM 0 ¤Ä¤Í ¹± #T35 0 ¤Ä¤Í ¾ï #T35 53 ¤Ä¤Í¤¢¤­ ¾ïÌÀ #JNM 0 ¤Ä¤Í¤ª ¹±ÃË #JNM 0 ¤Ä¤Í¤ª ¹±É× #JNM 0 ¤Ä¤Í¤ª ¹±Íº #JNM 0 ¤Ä¤Í¤ª ¾ïÃË #JNM 0 ¤Ä¤Í¤ª ¾ïÉ× #JNM 0 ¤Ä¤Í¤ª ¾ïͺ #JNM 0 ¤Ä¤Í¤­¤Á ¾ïµÈ #JNM 0 ¤Ä¤Í¤º¤ß ¾ïÀ¡ #JCN 0 ¤Ä¤Í¤Å¤Í ¾ï¡¹ #T35 2 ¤Ä¤Í¤È¤¦ ¹±Æ£ #JNS 0 ¤Ä¤Í¤È¤¦ ¹±Ç¤ #JNS 0 ¤Ä¤Í¤È¤· ¹±ÉÒ #JNM 0 ¤Ä¤Î ÅÔÇ» #JCN 0 ¤Ä¤Î ÅÔÇÀ #JCN 0 ¤Ä¤Î ¤Ä¤Î #R5 1 ¤Ä¤Î Êç #R5 4 ¤Ä¤Î ³Ñ #T35 1 ¤Ä¤Î¤À ³ÑÅÄ #JNS 0 ¤Ä¤Ð Âà #T35 0 ¤Ä¤Ð Ä× #T35 0 ¤Ä¤Ð¤­ ÄØ #T35 0 ¤Ä¤Ð¤µ Íã #T35 2 ¤Ä¤Ð¤¿ ÄÅȨ #JCN 0 ¤Ä¤Ð¤á ±í #CN 0 ¤Ä¤Ð¤á ±í #T35 0 ¤Ä¤Ö γ #JS 5 ¤Ä¤Ö ¤Ä¤Ö #R5 4 ¤Ä¤Ö ÄÙ #S5r 8 ¤Ä¤Ö γ #T35 3 ¤Ä¤Ö¤Æ 㪠#T35 0 ¤Ä¤Ö¤ä ¤Ä¤Ö¤ä #K5r 2 ¤Ä¤Ö¤è¤ê γÁª¤ê #T05 0 ¤Ä¤Ö¤é ¤Ä¤Ö¤é #T05 0 ¤Ä¤Ö¤ì ÄÙ¤ì #KSr 16 ¤Ä¤Ù¤³¤Ù ¤Ä¤Ù¤³¤Ù #F06 0 ¤Ä¤Ù¤Ä ÄÅÊÌ #JCN 0 ¤Ä¤Ü ÄÚ #JS 3 ¤Ä¤Ü ÄÛ #T35 0 ¤Ä¤Ü ÄÚ #T35 3 ¤Ä¤Ü¤¤ ÄÚ°æ #JNS 0 ¤Ä¤Ü¤¹¤¦ ÄÚ¿ô #T35 0 ¤Ä¤Ü¤¿ ÄÚÅÄ #JNS 0 ¤Ä¤Þ ÅÔËü #JCN 0 ¤Ä¤Þ ÄÜ #KJ 0 ¤Ä¤Þ ¤Ä¤Þ #M5r 0 ¤Ä¤Þ Ŧ #M5r 1 ¤Ä¤Þ ¤Ä¤Þ #R5r 31 ¤Ä¤Þ µÍ¤Þ #R5r 6 ¤Ä¤Þ ºÊ #T35 8 ¤Ä¤Þ¤´¤¤ ÄÜÎø #JCN 0 ¤Ä¤Þ¤µ¤­ ÄÞÀè #T35 0 ¤Ä¤Þ¤º ¤Ä¤Þ¤º #K5r 1 ¤Ä¤Þ¤Å ¤Ä¤Þ¤Å #K5r 0 ¤Ä¤Þ¤Å íµ #K5r 0 ¤Ä¤Þ¤ß¤À ¤Ä¤Þ¤ß½Ð #S5 0 ¤Ä¤Þ¤é¤Ê ¤Ä¤Þ¤é¤Ê #KY 6 ¤Ä¤Þ¤é¤Ê¤¬ ¤Ä¤Þ¤é¤Ê¤¬ #R5 0 ¤Ä¤Þ¤é¤Î¤¦ ¤Ä¤Þ¤é¤Î¤¦ #KYU 1 ¤Ä¤Þ¤ê ¤Ä¤Þ¤ê #CJ 61 ¤Ä¤ß ºá #T05 19 ¤Ä¤ß¤¢¤² ÀѤ߾夲 #KSr 1 ¤Ä¤ß¤«¤¨ ÀѤßÂØ¤¨ #T30 0 ¤Ä¤ß¤«¤µ¤Ê ÀÑ¤ß½Å¤Ê #R5r 0 ¤Ä¤ß¤«¤µ¤Í ÀÑ¤ß½Å¤Í #KSr 1 ¤Ä¤ß¤­ ÀÑÌÚ #T35 0 ¤Ä¤ß¤³ ÀѤ߹þ #M5r 0 ¤Ä¤ß¤¿¤Æ ÀѤßΩ¤Æ #KSr 3 ¤Ä¤ß¤¿¤Æ ÀÑΩ¤Æ #T30 2 ¤Ä¤ß¤À ÀѤ߽Р#S5r 0 ¤Ä¤ß¤Ë ÀѲ٠#T35 0 ¤Ä¤ß¤Î¤³ ÀÑ¤ß»Ä #R5r 0 ¤Ä¤ß¤Î¤³ ÀÑ¤ß»Ä #S5r 1 ¤Ä¤ß¤Û¤í¤Ü¤· ºáÌǤܤ· #T30 1 ¤Ä¤à Ë #G5 1 ¤Ä¤à¤® ÄÝ #T35 0 ¤Ä¤à¤é Äż #JNS 0 ¤Ä¤á ¤Ä¤á #KSr 20 ¤Ä¤á µÍ¤á #KSr 28 ¤Ä¤á ÄÞ #T35 2 ¤Ä¤á¤¢¤ï¤» µÍ¤á¹ç¤ï¤» #KSr 0 ¤Ä¤á¤¢¤ï¤» µÍ¹ç¤» #T30 0 ¤Ä¤á¤«¤¨ µÍ¤áÂØ¤¨ #KSr 0 ¤Ä¤á¤«¤± µÍ¤á¤«¤± #KS 0 ¤Ä¤á¤³ µÍ¤á¹þ #M5r 4 ¤Ä¤á¤´ µÍ¸ë #T35 0 ¤Ä¤á¤·¤ç µÍ½ê #T35 0 ¤Ä¤á¤·¤ç¤¦¤® µÍ¾­´ý #T35 0 ¤Ä¤á¤¿ Î䤿 #KY 14 ¤Ä¤á¤¿¤¬ Î䤿¤¬ #R5 0 ¤Ä¤á¤È¤¦ Îä¤È¤¦ #KYU 2 ¤Ä¤â ÀѤâ #R5 3 ¤Ä¤â¤ê ¤Ä¤â¤ê #T35 76 ¤Ä¤ä ÄÌÌë #T30 1 ¤Ä¤ä ±ð #T35 0 ¤Ä¤ä¤¶¤­ ÄŲ°ºê #JCN 0 ¤Ä¤ä¤Þ ÄÅ»³ #JCN 0 ¤Ä¤æ Ϫ #T35 1 ¤Ä¤æ Çß±« #T35 6 ¤Ä¤è ¶¯ #KYmime 45 ¤Ä¤è¤¦ ¶¯¤¦ #KYU 2 ¤Ä¤è¤¬ ¶¯¤¬ #R5r 0 ¤Ä¤è¤­ ¶¯µ¤ #T05 1 ¤Ä¤è¤· µ£ #JNM 0 ¤Ä¤è¤· ¶¯ #JNM 0 ¤Ä¤è¤· ¹ä #JNM 0 ¤Ä¤è¤Þ ¶¯¤Þ #R5r 1 ¤Ä¤è¤á ¶¯¤á #KSr 4 ¤Ä¤é ¤Ä¤é #KY 2 ¤Ä¤é ¿É #KY 21 ¤Ä¤é ÌÌ #T35 1 ¤Ä¤é¤¬ ¤Ä¤é¤¬ #R5 0 ¤Ä¤é¤¬ ¿É¤¬ #R5 1 ¤Ä¤é¤¬¤Þ¤¨ Ì̹½¤¨ #T35 0 ¤Ä¤é¤Ê Ï¢¤Ê #R5r 3 ¤Ä¤é¤Ì ´Ó #K5 2 ¤Ä¤é¤Ì¤­¤È¤ª ´Ó¤­ÄÌ #S5 0 ¤Ä¤é¤Í Ï¢¤Í #KS 1 ¤Ä¤ê Äß #KJ 2 ¤Ä¤ê Äà #KJ 2 ¤Ä¤ê¡¼ ¥Ä¥ê¡¼ #T35 7 ¤Ä¤ê¤¢¤¤ Äà¹ç #T35 1 ¤Ä¤ê¤¢¤¬ ¤Ä¤ê¾å¤¬ #R5r 0 ¤Ä¤ê¤¢¤² ¤Ä¤ê¾å¤² #KSr 0 ¤Ä¤ê¤À Äߤê½Ð #S5r 0 ¤Ä¤ê¤À Äà¤ê½Ð #S5r 0 ¤Ä¤ë ÅÔα #JCN 0 ¤Ä¤ë ÆØ #KJ 0 ¤Ä¤ë Ì¢ #KJ 0 ¤Ä¤ë Äß #S5r 1 ¤Ä¤ë ¸¹ #T35 0 ¤Ä¤ë Äá #T35 6 ¤Ä¤ë¤¤ Äáµï #JCN 0 ¤Ä¤ë¤ª¤« ÄᲬ #JCN 0 ¤Ä¤ë¤¬ ÆØ²ì #JCN 0 ¤Ä¤ë¤¬¤·¤Þ Äá¥öÅç #CN 0 ¤Ä¤ë¤® ÄáÍè #JCN 0 ¤Ä¤ë¤® ·õ #T35 1 ¤Ä¤ë¤¿ ÄáÅÄ #JCN 0 ¤Ä¤ë¤À ÄáÅÄ #JCN 0 ¤Ä¤ë¤Ã¤Ñ¤² ¤Ä¤ë¤ÃÆÅ #T15 0 ¤Ä¤ë¤Ä¤ë ¤Ä¤ë¤Ä¤ë #F04 0 ¤Ä¤ë¤Ä¤ë ¤Ä¤ë¤Ä¤ë #T16 0 ¤Ä¤ë¤Ï¤· Äá¶¶ #JCN 0 ¤Ä¤ë¤Ù ÄàÉÓ #T35 0 ¤Ä¤ë¤Þ¤¤ ÄáÉñ #JNS 0 ¤Ä¤ë¤ß Äḫ #JCN 0 ¤Ä¤ì ¤Ä¤ì #KS 47 ¤Ä¤ì Ï¢¤ì #KSr 25 ¤Ä¤ì¤«¤¨ Ï¢¤ìµ¢ #R5 1 ¤Ä¤ì¤³ Ï¢¤ì¹þ #M5r 0 ¤Ä¤ì¤½ Ï¢¤ìź #W5r 0 ¤Ä¤ì¤À Ï¢¤ì½Ð #S5r 0 ¤Ä¤ì¤Å¤ì¤°¤µ ÅÌÁ³Áð #KK 0 ¤Ä¤ì¤â¤É Ï¢¤ìÌá #S5r 0 ¤Ä¤í¤¦ ¤Ä¤í¤¦ #KYU 1 ¤Ä¤í¤¦ ¿É¤¦ #KYU 2 ¤Ä¤ï¤Î ÄÅÏÂÌî #JCN 0 ¤Ä¤ó¤Î¤á ¤Ä¤ó¤Î¤á #R5 0 ¤Ä¤ó¤Ü ϸ #T15 1 ¤Å ÄÅ #T35 32 ¤Å¤« ÄÍ #T35 6 ¤Å¤«¤¤ ¤Å¤«¤¤ #N2T10 0 ¤Å¤«¤¤ »È¤¤ #SUC 6 ¤Å¤­ ·î #KJ 0 ¤Å¤¯¤¨ ´ù #T35 3 ¤Å¤¯¤ê ºî¤ê #N2T30 3 ¤Å¤± ÉÕ #JS 5 ¤Å¤± ¤Å¤± #KSr 0 ¤Å¤± ÉÕ¤± #KSr 0 ¤Å¤± ÄÒ¤± #N2T30 0 ¤Å¤± ¤Å¤± #SUC 0 ¤Å¤á µÍ¤á #T30 16 ¤Å¤è ¶¯ #KY 2 ¤Å¤è¤¦ ¶¯¤¦ #KYU 1 ¤Å¤é ¤Å¤é #D2KY 0 ¤Å¤é ¿É #D2KY 6 ¤Æ ¼ê #D2T35 10 ¤Æ ¼ê #JS 0 ¤Æ ¾È #R5r 10 ¤Æ ¢© #T35 22 ¤Æ ¼ê #T35 255 ¤Æ¡¼¤Ö¤ë ¥Æ¡¼¥Ö¥ë #T35 157 ¤Æ¡¼¤× ¥Æ¡¼¥× #T35 76 ¤Æ¡¼¤Þ ¥Æ¡¼¥Þ #T35 28 ¤Æ¤¢¤· ¼ê­ #T35 1 ¤Æ¤¢¤Ä ¼ê¸ü #KY 1 ¤Æ¤¢¤Ä¤¦ ¼ê¸ü¤¦ #KYU 1 ¤Æ¤¢¤Æ ¼êÅö #T30 10 ¤Æ¤¢¤é ¼ê¹Ó #T05 1 ¤Æ¤¢¤é¤¤ ¼êÀö¤¤ #T30 0 ¤Æ¤£¡¼ ¥Æ¥£¡¼ #T35 2 ¤Æ¤£¤·¤å ¥Æ¥£¥·¥å #T35 1 ¤Æ¤£¤·¤å¡¼ ¥Æ¥£¥·¥å¡¼ #T35 1 ¤Æ¤£¤Ã¤·¤å ¥Æ¥£¥Ã¥·¥å #T35 1 ¤Æ¤£¤ó¤Ñ¤Ë ¥Æ¥£¥ó¥Ñ¥Ë #T35 0 ¤Æ¤¤ Å¡ #JNSUC 2 ¤Æ¤¤ ±­ #KJ 0 ¤Æ¤¤ ÂÚ #KJ 0 ¤Æ¤¤ Äå #KJ 0 ¤Æ¤¤ Äæ #KJ 0 ¤Æ¤¤ Äí #KJ 0 ¤Æ¤¤ Äî #KJ 0 ¤Æ¤¤ Äï #KJ 0 ¤Æ¤¤ Äð #KJ 0 ¤Æ¤¤ Äñ #KJ 0 ¤Æ¤¤ Äõ #KJ 0 ¤Æ¤¤ Äö #KJ 0 ¤Æ¤¤ Äù #KJ 0 ¤Æ¤¤ Äú #KJ 0 ¤Æ¤¤ Äü #KJ 0 ¤Æ¤¤ Äý #KJ 0 ¤Æ¤¤ Äþ #KJ 0 ¤Æ¤¤ Å¢ #KJ 0 ¤Æ¤¤ Å£ #KJ 0 ¤Æ¤¤ Æå #KJ 0 ¤Æ¤¤ ÄÖ #KJ 1 ¤Æ¤¤ Ää #KJ 1 ¤Æ¤¤ Äé #KJ 1 ¤Æ¤¤ Äó #KJ 1 ¤Æ¤¤ Äô #KJ 1 ¤Æ¤¤ Ä÷ #KJ 1 ¤Æ¤¤ Äø #KJ 1 ¤Æ¤¤ Äâ #KJ 10 ¤Æ¤¤ Äã #KJ 18 ¤Æ¤¤ Ť #KJ 2 ¤Æ¤¤ Äê #KJ 34 ¤Æ¤¤ Äë #KJ 4 ¤Æ¤¤ Äç #KJ 5 ¤Æ¤¤ Äã #PRE 0 ¤Æ¤¤ Äè #S5 13 ¤Æ¤¤ Äò #T30 0 ¤Æ¤¤ Äè #T30 13 ¤Æ¤¤ Äû #T30 5 ¤Æ¤¤ Äì #T35 0 ¤Æ¤¤ Å¡ #T35 0 ¤Æ¤¤ ÂÎ #T35 1 ¤Æ¤¤ Ãú #T35 1 ¤Æ¤¤¤¢¤ó Äó°Æ #T30 75 ¤Æ¤¤¤¤¤Á Äç°ì #JNM 0 ¤Æ¤¤¤¤¤ó Äê°÷ #T35 5 ¤Æ¤¤¤¨¤ó Äí±à #T35 0 ¤Æ¤¤¤ª¤¦ Ä벦 #T35 2 ¤Æ¤¤¤ª¤ó Äã²¹ #T05 0 ¤Æ¤¤¤ª¤ó Äã²» #T05 1 ¤Æ¤¤¤« Äã²¼ #T30 11 ¤Æ¤¤¤« Äê²Á #T35 6 ¤Æ¤¤¤«¤¯ Äê³Ê #T35 0 ¤Æ¤¤¤«¤ó Äê´¾ #T35 0 ¤Æ¤¤¤¬¤¯ Äã³Û #T05 0 ¤Æ¤¤¤¬¤¯ Äê³Û #T35 2 ¤Æ¤¤¤¬¤¯¤Í¤ó Äã³ØÇ¯ #T35 1 ¤Æ¤¤¤­ Äóµ¯ #T30 8 ¤Æ¤¤¤­ Äê´ü #T35 32 ¤Æ¤¤¤­¤¢¤Ä Ä㵤°µ #T35 1 ¤Æ¤¤¤­¤å¤¦ Äãµé #T05 1 ¤Æ¤¤¤­¤å¤¦ Äíµå #T35 0 ¤Æ¤¤¤­¤å¤¦¤Ó ÄêµÙÆü #T35 2 ¤Æ¤¤¤­¤ç¤¦ Äó¶¡ #T30 255 ¤Æ¤¤¤­¤ó Äó¶× #T35 0 ¤Æ¤¤¤® ÄêµÁ #T30 255 ¤Æ¤¤¤¯¤¦ Äã¶õ #T35 0 ¤Æ¤¤¤±¤¤ Äó·È #T30 2 ¤Æ¤¤¤±¤¤ Äê·¿ #T35 4 ¤Æ¤¤¤±¤Ä Äù·ë #T30 1 ¤Æ¤¤¤±¤ó Ä긫 #T35 0 ¤Æ¤¤¤²¤ó Äó¸À #T30 1 ¤Æ¤¤¤²¤ó Ä㸺 #T30 3 ¤Æ¤¤¤³ Äç»Ò #JNM 0 ¤Æ¤¤¤³¤¦ Äñ¹³ #T30 14 ¤Æ¤¤¤³¤¦ Äê¹à #T35 4 ¤Æ¤¤¤³¤¦¤«¤ó Äñ¹³´¶ #T35 0 ¤Æ¤¤¤³¤¯ Äê¹ï #T35 0 ¤Æ¤¤¤³¤¯ Äë¹ñ #T35 3 ¤Æ¤¤¤µ¤¤ ÂÎºÛ #T35 11 ¤Æ¤¤¤µ¤Ä Ä廡 #T30 1 ¤Æ¤¤¤¶¤¤¤Ï ÄêºßÇÈ #T35 0 ¤Æ¤¤¤· Ää»ß #T30 35 ¤Æ¤¤¤·¤­ Äê¼° #T35 16 ¤Æ¤¤¤·¤Ä Äã¼¾ #T05 0 ¤Æ¤¤¤·¤ã Ää¼Ö #T30 1 ¤Æ¤¤¤·¤å Äâ¼ç #T35 3 ¤Æ¤¤¤·¤å¤«¤ó¤Ñ¤¯ Äâ¼ç´ØÇò #T15 0 ¤Æ¤¤¤·¤å¤¯ Äç½Ê #T05 0 ¤Æ¤¤¤·¤å¤Ä Äó½Ð #T30 167 ¤Æ¤¤¤·¤å¤Ä¤Ó Äó½ÐÆü #T35 0 ¤Æ¤¤¤·¤ç¤¦ Äó¾§ #T30 2 ¤Æ¤¤¤·¤ç¤¯ Äñ¿¨ #T30 2 ¤Æ¤¤¤·¤ç¤¯ Ä꿦 #T35 0 ¤Æ¤¤¤·¤ç¤¯ Äê¿© #T35 2 ¤Æ¤¤¤·¤ó Äþ¿® #T35 1 ¤Æ¤¤¤¸ Ä缡 #JNM 0 ¤Æ¤¤¤¸ Äç¼£ #JNM 0 ¤Æ¤¤¤¸ ÄçÆó #JNM 0 ¤Æ¤¤¤¸ Ä輨 #T30 1 ¤Æ¤¤¤¸ Äó¼¨ #T30 5 ¤Æ¤¤¤¸ Äê»þ #T35 31 ¤Æ¤¤¤¸ Ä㼡 #T35 0 ¤Æ¤¤¤¸¤»¤¤ Äê»þÀ© #T35 0 ¤Æ¤¤¤¸¤å¤¦ Äê½» #T30 0 ¤Æ¤¤¤¸¤ç¤¦ Äê¾ï #T05 2 ¤Æ¤¤¤¸¤ç¤¦ Äè¾å #T30 0 ¤Æ¤¤¤¹¤¤¤¸¤å¤ó Äã¿å½à #T05 1 ¤Æ¤¤¤¹¤¦ Äê¿ô #T35 57 ¤Æ¤¤¤»¤¤ ÄûÀµ #T30 34 ¤Æ¤¤¤»¤¤ ÄêÀ­ #T35 1 ¤Æ¤¤¤»¤¤¤Æ¤­ ÄêÀ­Åª #T15 0 ¤Æ¤¤¤»¤Ä ÄêÀâ #T35 1 ¤Æ¤¤¤»¤ó ÄäÀï #T30 0 ¤Æ¤¤¤½ ÄóÁÊ #T30 0 ¤Æ¤¤¤½¤¦ ÄçÁà #T35 1 ¤Æ¤¤¤½¤¯ Äã® #T05 5 ¤Æ¤¤¤¾¤¯ Ä㯠#T05 0 ¤Æ¤¤¤¿¤¤ ÄäÂÚ #T30 2 ¤Æ¤¤¤¿¤¯ Å¡Âð #T35 1 ¤Æ¤¤¤¿¤é¤¯ ¤Æ¤¤¤¿¤é¤¯ #T35 0 ¤Æ¤¤¤À¤ó ŤÃÌ #T30 0 ¤Æ¤¤¤Á ÄêÃÖ #T30 1 ¤Æ¤¤¤Á ÄãÃÏ #T35 0 ¤Æ¤¤¤Á¤ã¤¯ ÄêÃå #T30 2 ¤Æ¤¤¤Á¤ç¤¦ ÄãÄ´ #T05 0 ¤Æ¤¤¤Á¤ç¤¦ Ãú½Å #T05 2 ¤Æ¤¤¤Ã¤Ñ¤¤ ¼ê°ìÇÕ #T15 0 ¤Æ¤¤¤Æ¤ó ÄêÅÀ #T35 0 ¤Æ¤¤¤Ç¤ó ÄäÅÅ #T30 4 ¤Æ¤¤¤È ÄëÅÔ #T35 0 ¤Æ¤¤¤È¤¦ ÄãÆ¬ #T30 0 ¤Æ¤¤¤È¤¦ ÄñÅö #T35 0 ¤Æ¤¤¤É ¤Æ¤¤¤É #T15 1 ¤Æ¤¤¤É ÄøÅÙ #T15 154 ¤Æ¤¤¤É¤µ ÄøÅÙº¹ #T35 0 ¤Æ¤¤¤Í ¥Æ¥¤¥Í #CN 0 ¤Æ¤¤¤Í ¼ê°ð #CN 0 ¤Æ¤¤¤Í¤¤ ÃúÇ« #T05 5 ¤Æ¤¤¤Í¤ó Äêǯ #T35 1 ¤Æ¤¤¤Î¤¦ Äãǽ #T05 0 ¤Æ¤¤¤Ï¤¯ ÄäÇñ #T30 0 ¤Æ¤¤¤Ð¤ó ÄêÈÖ #T35 0 ¤Æ¤¤¤Ò¤ç¤¦ Äêɾ #T35 1 ¤Æ¤¤¤Ø¤ó ÄìÊÕ #T35 0 ¤Æ¤¤¤Ü¤¦ ÄéËÉ #T35 0 ¤Æ¤¤¤á¤¤ ÄãÌ #T30 1 ¤Æ¤¤¤á¤ó ÄìÌÌ #T35 1 ¤Æ¤¤¤â¤¦ ÄæÌÓ #T30 1 ¤Æ¤¤¤é¤¯ ÄãÍî #T30 0 ¤Æ¤¤¤ê ÄãÍø #T15 0 ¤Æ¤¤¤ê ÄêÍý #T35 52 ¤Æ¤¤¤ê¤Ä ÄãΨ #T05 0 ¤Æ¤¤¤ê¤å¤¦ Ääα #T30 4 ¤Æ¤¤¤ê¤å¤¦ Äìή #T35 1 ¤Æ¤¤¤ê¤ç¤¦ ÄêÎÌ #T35 1 ¤Æ¤¤¤ê¤ç¤¦¤Æ¤­ ÄêÎÌŪ #T15 0 ¤Æ¤¤¤ì ¼êÆþ¤ì #T30 1 ¤Æ¤¤¤ì¤¤ ÄêÎã #T35 0 ¤Æ¤¦¤¹ ¼êÇö #T05 0 ¤Æ¤ª¤¯¤ì ¼êÃÙ¤ì #T15 1 ¤Æ¤ª¤Á ¼êÍî¤Á #T35 0 ¤Æ¤ª¤ê ¼ê¿¥ #T35 1 ¤Æ¤«¤²¤ó ¼ê²Ã¸º #T30 3 ¤Æ¤¬¤«¤ê ¼ê³Ý¤«¤ê #T35 0 ¤Æ¤¬¤«¤ê ¼ê¤¬¤«¤ê #T35 2 ¤Æ¤¬¤­ ¼ê½ñ¤­ #T30 5 ¤Æ¤¬¤± ¼ê¤¬¤± #KS 0 ¤Æ¤¬¤± ¼ê³Ý¤± #KS 1 ¤Æ¤¬¤¿ ¼ê·ø #KY 0 ¤Æ¤¬¤¿ ¼ê·Á #T35 2 ¤Æ¤¬¤È¤¦ ¼ê·ø¤¦ #KYU 0 ¤Æ¤¬¤ß ¼ê»æ #T35 38 ¤Æ¤¬¤é ¼êÊÁ #T35 1 ¤Æ¤¬¤ë ¼ê·Ú #T05 7 ¤Æ¤­ Å© #JS 5 ¤Æ¤­ Ãä #KJ 0 ¤Æ¤­ ŧ #KJ 0 ¤Æ¤­ Å© #KJ 0 ¤Æ¤­ Å« #KJ 0 ¤Æ¤­ Å­ #KJ 0 ¤Æ¤­ Ŧ #KJ 1 ¤Æ¤­ Ū #KJ 50 ¤Æ¤­ Ū #N2T16 0 ¤Æ¤­ Ŭ #S5 80 ¤Æ¤­ Ū #T15 228 ¤Æ¤­ Ŭ #T30 91 ¤Æ¤­ Ũ #T30 96 ¤Æ¤­¤¤ Ũ°Õ #T35 0 ¤Æ¤­¤ª¤¦ Ŭ±þ #T30 2 ¤Æ¤­¤«¤¯ Ū³Î #T05 4 ¤Æ¤­¤«¤¯ Ŭ³Ê #T35 1 ¤Æ¤­¤¬¤¤¤·¤ó ŨØÁ¿´ #T35 0 ¤Æ¤­¤­ Ŭ´ü #T35 1 ¤Æ¤­¤® Ŭµ¹ #T05 10 ¤Æ¤­¤´¤¦ Ŭ¹ç #T30 15 ¤Æ¤­¤µ¤¹ ¥Æ¥­¥µ¥¹ #CN 0 ¤Æ¤­¤¶¤¤ Ŭºà #T35 0 ¤Æ¤­¤· Ũ»ë #T30 0 ¤Æ¤­¤·¤å¤Ä Ŧ½Ð #T30 2 ¤Æ¤­¤·¤å¤Ä¤ê¤Ä Ŧ½ÐΨ #T35 0 ¤Æ¤­¤¸ Ŭ»þ #T05 1 ¤Æ¤­¤¸¤ç Þþ½ü #T30 0 ¤Æ¤­¤¸¤ó Ũ¿Ø #T35 0 ¤Æ¤­¤¹¤Á¤ã ¥Æ¥­¥¹¥Á¥ã #T35 2 ¤Æ¤­¤¹¤Á¤ã¡¼ ¥Æ¥­¥¹¥Á¥ã¡¼ #T35 2 ¤Æ¤­¤¹¤È ¥Æ¥­¥¹¥È #T35 255 ¤Æ¤­¤»¤¤ ŬÀµ #T05 3 ¤Æ¤­¤»¤¤ ŬÀ­ #T35 0 ¤Æ¤­¤»¤Ä ŬÀÚ #T05 19 ¤Æ¤­¤¿¤¤ ŨÂÐ #T30 1 ¤Æ¤­¤Á ŬÃÏ #T35 0 ¤Æ¤­¤Á¤å¤¦ ÅªÃæ #T30 0 ¤Æ¤­¤È¤¦ ŬÅö #T05 115 ¤Æ¤­¤É ŬÅÙ #T05 5 ¤Æ¤­¤Ë¤ó ŬǤ #T05 0 ¤Æ¤­¤Ï¤Ä Ŧȯ #T30 1 ¤Æ¤­¤Ñ¤­ ¤Æ¤­¤Ñ¤­ #F06 1 ¤Æ¤­¤Ñ¤­ ¤Æ¤­¤Ñ¤­ #T36 0 ¤Æ¤­¤Ò ŬÈÝ #T35 1 ¤Æ¤­¤Ó¤· ¼ê¸·¤· #KY 0 ¤Æ¤­¤Ó¤·¤å¤¦ ¼ê¸·¤·¤å¤¦ #KYU 0 ¤Æ¤­¤Û¤¦ Ŭˡ #T05 0 ¤Æ¤­¤ä¤¯ ŬÌò #T35 0 ¤Æ¤­¤è¤¦ ŦÍ× #T30 2 ¤Æ¤­¤è¤¦ ŬÍÑ #T30 68 ¤Æ¤­¤ê¤ç¤¦ ŬÎÌ #T35 8 ¤Æ¤­¤ì¤¤ ŬÎð #T35 2 ¤Æ¤­¤ì¤¤¤­ ŬÎð´ü #T35 1 ¤Æ¤®¤ï ¼êºÝ #T35 0 ¤Æ¤¯¤¹¤Á¤ã ¥Æ¥¯¥¹¥Á¥ã #T35 1 ¤Æ¤¯¤¹¤Á¤ã¡¼ ¥Æ¥¯¥¹¥Á¥ã¡¼ #T35 1 ¤Æ¤¯¤¹¤È ¥Æ¥¯¥¹¥È #T35 0 ¤Æ¤¯¤È¤í¤Ë¤¯¤¹ ¥Æ¥¯¥È¥í¥Ë¥¯¥¹ #KK 1 ¤Æ¤¯¤Ë¤«¤ë ¥Æ¥¯¥Ë¥«¥ë #T05 5 ¤Æ¤¯¤Ë¤Ã¤¯ ¥Æ¥¯¥Ë¥Ã¥¯ #T35 2 ¤Æ¤¯¤Î ¥Æ¥¯¥Î #T35 3 ¤Æ¤¯¤Î¤µ¤¤¤¨¤ó¤¹ ¥Æ¥¯¥Î¥µ¥¤¥¨¥ó¥¹ #KK 1 ¤Æ¤¯¤Î¤í¤¸ ¥Æ¥¯¥Î¥í¥¸ #T35 2 ¤Æ¤¯¤Î¤í¤¸¡¼ ¥Æ¥¯¥Î¥í¥¸¡¼ #T35 5 ¤Æ¤¯¤Î¤í¤¸¤º ¥Æ¥¯¥Î¥í¥¸¥º #KK 2 ¤Æ¤¯¤Ó ¼ê¼ó #T35 0 ¤Æ¤°¤¹¤Í ¤Æ¤°¤¹¤Í #T35 1 ¤Æ¤°¤Á ¼ê¸ý #T35 0 ¤Æ¤³ Ûì #T35 4 ¤Æ¤³¤º ¼ê¤³¤º #R5 0 ¤Æ¤´¤¿¤¨ ¼ê±þ¤¨ #T35 0 ¤Æ¤´¤Þ ¼ê¶ð #T35 0 ¤Æ¤´¤á ¼ê϶¤á #T35 0 ¤Æ¤´¤í ¼ê¤´¤í #T05 0 ¤Æ¤´¤í ¼êº¢ #T05 2 ¤Æ¤´¤ï ¼ê¤´¤ï #KY 1 ¤Æ¤´¤ï ¼ê¶¯ #KY 1 ¤Æ¤µ¤­ ¼êÀè #T35 0 ¤Æ¤µ¤² ¼êÄó¤² #T35 0 ¤Æ¤¶¤ï¤ê ¼ê¿¨¤ê #T35 1 ¤Æ¤·¤ª Å·±ö #CN 0 ¤Æ¤·¤«¤¬ Äï»Ò¶þ #CN 0 ¤Æ¤·¤´¤È ¼ê»Å»ö #T30 0 ¤Æ¤·¤¿ ¼ê²¼ #T35 2 ¤Æ¤·¤Þ ¼êÅè #JNS 0 ¤Æ¤·¤í¤® ¼êÂåÌÚ #JNS 0 ¤Æ¤¸¤Ê ¼êÉÊ #T30 0 ¤Æ¤¸¤Þ ¼êÅç #JNS 0 ¤Æ¤¸¤Þ ¼êÅè #JNS 0 ¤Æ¤¸¤å¤ó ¼ê½ç #T35 93 ¤Æ¤¸¤å¤ó¤·¤ç ¼ê½ç½ñ #T35 0 ¤Æ¤¸¤ç¤¦ ¼ê¾û #T35 0 ¤Æ¤¹¤¦ ¼ê¿ô #T35 5 ¤Æ¤¹¤È ¥Æ¥¹¥È #T30 255 ¤Æ¤¹¤ê ¤Æ¤¹¤ê #T35 1 ¤Æ¤¼¤Þ ¼ê¶¹ #T05 0 ¤Æ¤À¤· ¼ê½Ð¤· #T30 0 ¤Æ¤À¤¹¤± ¼ê½õ¤± #T30 2 ¤Æ¤À¤Æ ¼êΩ¤Æ #T30 1 ¤Æ¤Á¤¬¤¤ ¼ê°ã¤¤ #T35 2 ¤Æ¤Á¤ç¤¦ ¼êÄ¡ #T35 0 ¤Æ¤Á¤ç¤¦ ¼êÄ¢ #T35 3 ¤Æ¤Â¤« ¼ê¶á #T05 1 ¤Æ¤Ã Ű #S5 5 ¤Æ¤Ã Ű #SX 5 ¤Æ¤Ã¤«¤¤ ű²ó #T30 1 ¤Æ¤Ã¤«¤ó Å´´É #T35 0 ¤Æ¤Ã¤­ Ũµ¡ #T35 0 ¤Æ¤Ã¤­ Å´´ï #T35 0 ¤Æ¤Ã¤­ Ŭ´ü #T35 1 ¤Æ¤Ã¤­¤ç űµî #T30 1 ¤Æ¤Ã¤­¤ç¤¦ Å´¶¶ #T35 0 ¤Æ¤Ã¤­¤ê ¤Æ¤Ã¤­¤ê #F14 1 ¤Æ¤Ã¤­¤ó Å´¶Ú #T35 0 ¤Æ¤Ã¤³¤¦ Å´¹© #T35 0 ¤Æ¤Ã¤³¤¦ Å´¹Û #T35 0 ¤Æ¤Ã¤³¤¦ Å´¹Ý #T35 1 ¤Æ¤Ã¤³¤Ä Å´¹ü #T35 0 ¤Æ¤Ã¤·¤å¤¦ ű¼ý #T30 0 ¤Æ¤Ã¤·¤ç¤¦ Ű¾¬ #T30 0 ¤Æ¤Ã¤»¤¤ ůÀ¾ #CN 0 ¤Æ¤Ã¤»¤¤ Å´À½ #T35 0 ¤Æ¤Ã¤»¤ó Å´Àð #T35 0 ¤Æ¤Ã¤»¤ó Å´Àþ #T35 0 ¤Æ¤Ã¤½¤¯ Ŵ§ #T35 0 ¤Æ¤Ã¤¿¤¤ űÂà #T30 2 ¤Æ¤Ã¤Æ¤¤ ŰÄì #T30 5 ¤Æ¤Ã¤È¤¦ Å´Åã #T35 0 ¤Æ¤Ã¤È¤¦¤Æ¤Ä¤Ó Å°Æ¬Å°Èø #F14 0 ¤Æ¤Ã¤È¤¦¤Æ¤Ä¤Ó Å°Æ¬Å°Èø #T36 0 ¤Æ¤Ã¤È¤ê¤Ð¤ä ¼ê¤Ã¼è¤êÁá #KY 3 ¤Æ¤Ã¤Ñ¤¤ űÇÑ #T30 1 ¤Æ¤Ã¤Ñ¤ó Å´ÈÄ #T35 1 ¤Æ¤Ã¤Ú¤¤ űʼ #T30 1 ¤Æ¤Ã¤Ý¤¦ Ŵˤ #T35 2 ¤Æ¤Ä ÄÖ #KJ 0 ¤Æ¤Ä ű #KJ 0 ¤Æ¤Ä ų #KJ 0 ¤Æ¤Ä ÌÅ #KJ 0 ¤Æ¤Ä Ű #KJ 1 ¤Æ¤Ä Ų #KJ 1 ¤Æ¤Ä ů #KJ 2 ¤Æ¤Ä Å´ #T35 57 ¤Æ¤Ä¤ª ůÃË #JNM 0 ¤Æ¤Ä¤ª ůÉ× #JNM 0 ¤Æ¤Ä¤ª ůͺ #JNM 0 ¤Æ¤Ä¤ª Å´ÃË #JNM 0 ¤Æ¤Ä¤ª Å´É× #JNM 0 ¤Æ¤Ä¤ª Ŵͺ #JNM 0 ¤Æ¤Ä¤¬¤¯ ů³Ø #T35 10 ¤Æ¤Ä¤±¤­¤ó ¼êÉÕ¶â #T35 0 ¤Æ¤Ä¤³ Ű»Ò #JNM 0 ¤Æ¤Ä¤´¤¦¤· Å´³Ê»Ò #T35 3 ¤Æ¤Ä¤¶¤¤ Å´ºà #T35 0 ¤Æ¤Ä¤· ů»Ë #JNM 0 ¤Æ¤Ä¤¸ ůÆó #JNM 0 ¤Æ¤Ä¤¸¤ó ů¿Í #T35 0 ¤Æ¤Ä¤¸¤ó Å´¿Í #T35 0 ¤Æ¤Ä¤¿ ů¿ #CN 0 ¤Æ¤Ä¤¿¤í¤¦ Å´ÂÀϺ #JNM 0 ¤Æ¤Ä¤À ¼êÅÁ #W5r 30 ¤Æ¤Ä¤Å¤­ ¼ê³ #T30 20 ¤Æ¤Ä¤Å¤­ ¼ê³¤­ #T30 37 ¤Æ¤Ä¤É¤¦ Å´Æ» #T35 1 ¤Æ¤Ä¤Ó¤ó Å´ÉÓ #T35 0 ¤Æ¤Ä¤Ü¤¦ Å´ËÀ #T35 0 ¤Æ¤Ä¤ß ůÈþ #JNM 0 ¤Æ¤Ä¤ä ůÌé #JNM 0 ¤Æ¤Ä¤ä ŰÌë #T30 8 ¤Æ¤Ä¤ê ůÍý #T35 0 ¤Æ¤Ä¤í¤¦ ůϯ #JNM 0 ¤Æ¤Ä¤í¤¦ ůϺ #JNM 0 ¤Æ¤Å¤« ¼êÄÍ #JNS 0 ¤Æ¤Å¤¯¤ê ¼êºî¤ê #T30 4 ¤Æ¤Å¤Þ¤ê ¼êµÍ¤ê #T10 0 ¤Æ¤É¤ê ¼ê¼è¤ê #T35 2 ¤Æ¤Ê¤ª¤· ¼êľ¤· #T30 5 ¤Æ¤Ê¤ï¤±¤Ç ¤Æ¤Ê¤ï¤±¤Ç #CJ 0 ¤Æ¤Ë¤¹ ¥Æ¥Ë¥¹ #T30 83 ¤Æ¤Ì¤­ ¼êÈ´¤­ #T10 2 ¤Æ¤Ì¤°¤¤ ¼ê¿¡¤¤ #T35 0 ¤Æ¤Ì¤°¤¤ ¼ê¤Ì¤°¤¤ #T35 1 ¤Æ¤Î¡¼¤ë ¥Æ¥Î¡¼¥ë #T35 0 ¤Æ¤Î¤Ò¤é ¾¸ #T35 0 ¤Æ¤Î¤Ò¤é ¼ê¤ÎÊ¿ #T35 1 ¤Æ¤Ï¤¤ ¼êÇÛ #T30 16 ¤Æ¤Ï¤¸¤á ¼ê»Ï¤á #T35 2 ¤Æ¤Ð¤Ê ¼êÊü #S5r 1 ¤Æ¤Ó¤­ ¼ê°ú¤­ #T30 4 ¤Æ¤Ó¤­ ¼ê°ú #T35 71 ¤Æ¤Õ¤À ¼ê»¥ #T35 0 ¤Æ¤Ö¤¯¤í ¼êÂÞ #T35 2 ¤Æ¤Ù¤ó¤È¤¦ ¼êÊÛÅö #T35 1 ¤Æ¤Û¤ó ¼êËÜ #T35 2 ¤Æ¤Þ ¼ê´Ö #T35 27 ¤Æ¤Þ¤¨ ¼êÁ° #T35 4 ¤Æ¤Þ¤É ¼ê´Ö¼è #R5 3 ¤Æ¤Þ¤ê ¼êÝÜ #T35 1 ¤Æ¤Þ¤ï¤· ¼ê²ó¤· #T30 0 ¤Æ¤ß¤¸¤« ¼êû #T05 1 ¤Æ¤à¤« ¼ê¸þ¤« #W5 0 ¤Æ¤â¤Á ¼ê»ý¤Á #T35 0 ¤Æ¤â¤È ¼ê¸µ #T35 31 ¤Æ¤é ¤Æ¤é #S5 10 ¤Æ¤é ¾È¤é #S5 2 ¤Æ¤é »û #T35 6 ¤Æ¤é êÊ #W5r 1 ¤Æ¤é¤¤ »û°æ #JCN 0 ¤Æ¤é¤¦¤Á »ûÆâ #JNS 0 ¤Æ¤é¤ª »ûÈø #JNS 0 ¤Æ¤é¤ª¤« »û²¬ #JNS 0 ¤Æ¤é¤µ¤« »ûºä #JNS 0 ¤Æ¤é¤µ¤­ »ûºê #JNS 0 ¤Æ¤é¤µ¤ï »ûÂô #JNS 0 ¤Æ¤é¤·¤Þ »ûÅç #JCN 0 ¤Æ¤é¤·¤Þ »ûÅè #JNS 0 ¤Æ¤é¤À »ûÅÄ #JCN 0 ¤Æ¤é¤É¤Þ¤ê »ûÇñ #CN 0 ¤Æ¤é¤â¤È »ûËÜ #JNS 0 ¤Æ¤é¤ä¤Þ »û»³ #JNS 0 ¤Æ¤ê¤«¤¨ ¾È¤êÊÖ #S5r 0 ¤Æ¤ê¤Ä¤± ¾È¤ê¤Ä¤± #KSr 0 ¤Æ¤ë ¥Æ¥ë #JN 0 ¤Æ¤ë ¾È #JN 0 ¤Æ¤ë ¤Æ¤ë #JNM 0 ¤Æ¤ë µ± #T35 0 ¤Æ¤ë ¾È #T35 3 ¤Æ¤ë¤ª µ±ÃË #JNM 0 ¤Æ¤ë¤ª µ±É× #JNM 0 ¤Æ¤ë¤ª µ±Íº #JNM 0 ¤Æ¤ë¤ª ¾ÈÃË #JNM 0 ¤Æ¤ë¤ª ¾ÈÉ× #JNM 0 ¤Æ¤ë¤ª ¾Èͺ #JNM 0 ¤Æ¤ë¤³ ¤Æ¤ë»Ò #JNM 0 ¤Æ¤ë¤³ µ±»Ò #JNM 0 ¤Æ¤ë¤³ ¾È»Ò #JNM 0 ¤Æ¤ë¤ß ¾ÈÈþ #JNM 0 ¤Æ¤ì ¾È¤ì #KSr 0 ¤Æ¤ì¤« ¥Æ¥ì¥« #T35 0 ¤Æ¤ì¤Ã¤¯¤¹ ¥Æ¥ì¥Ã¥¯¥¹ #T35 0 ¤Æ¤ì¤Ñ¤·¡¼ ¥Æ¥ì¥Ñ¥·¡¼ #T35 1 ¤Æ¤ì¤Ó ¥Æ¥ì¥Ó #T35 28 ¤Æ¤ì¤Ó¤­¤ç¤¯ ¥Æ¥ì¥Ó¶É #T35 2 ¤Æ¤ì¤Ó¤¸¤ç¤ó ¥Æ¥ì¥Ó¥¸¥ç¥ó #T35 1 ¤Æ¤ï¤± ¼êʬ¤± #T30 1 ¤Æ¤ï¤¿ ¼êÅÏ #S5r 7 ¤Æ¤ó Ÿ #JNSUC 6 ¤Æ¤ó ÅÀ #JS 0 ¤Æ¤ó é #KJ 0 ¤Æ¤ó Ŷ #KJ 0 ¤Æ¤ó Å» #KJ 0 ¤Æ¤ó ż #KJ 0 ¤Æ¤ó Å¿ #KJ 0 ¤Æ¤ó Å #KJ 0 ¤Æ¤ó Ÿ #KJ 1 ¤Æ¤ó ź #KJ 1 ¤Æ¤ó Ž #KJ 1 ¤Æ¤ó Ëê #KJ 1 ¤Æ¤ó ŵ #KJ 111 ¤Æ¤ó Ź #KJ 4 ¤Æ¤ó ž #KJ 5 ¤Æ¤ó Ź #SUC 0 ¤Æ¤ó ÅÀ #SUC 0 ¤Æ¤ó ¥Æ¥ó #T35 1 ¤Æ¤ó ¡¦ #T35 2 ¤Æ¤ó ÅÀ #T35 255 ¤Æ¤ó Å· #T35 32 ¤Æ¤ó ÅÀ #ZX 0 ¤Æ¤ó ž #ZX 1 ¤Æ¤ó¤¤ ž°Ü #T30 0 ¤Æ¤ó¤¤¤à¤Û¤¦ Å·°á̵˥ #T05 1 ¤Æ¤ó¤¤¤ó ʰ÷ #T35 3 ¤Æ¤ó¤¨¤¤ Å·±É #CN 0 ¤Æ¤ó¤« ź²Ã #T30 1 ¤Æ¤ó¤« ž²½ #T30 1 ¤Æ¤ó¤« ÅÀ²Ð #T30 1 ¤Æ¤ó¤« ž²Ç #T30 2 ¤Æ¤ó¤« Å·²¼ #T35 2 ¤Æ¤ó¤«¤¤ ž²ó #T30 0 ¤Æ¤ó¤«¤¤ Ÿ³« #T30 33 ¤Æ¤ó¤«¤ó ž´¹ #T30 4 ¤Æ¤ó¤­ žµ­ #T30 2 ¤Æ¤ó¤­ žµ¡ #T35 0 ¤Æ¤ó¤­ Å·µ¤ #T35 74 ¤Æ¤ó¤­¡¼ ¥Æ¥ó¥­¡¼ #T35 0 ¤Æ¤ó¤­¤ç žµï #T30 1 ¤Æ¤ó¤­¤ó ž¶Ð #T30 3 ¤Æ¤ó¤®¤ç¤¦ ž¶È #T30 0 ¤Æ¤ó¤¯¤¦ Å·¶õ #T35 0 ¤Æ¤ó¤¯¤® Å·Å£ #T35 0 ¤Æ¤ó¤° Å·¶é #T35 1 ¤Æ¤ó¤±¤¤ ŵ·¿ #T35 12 ¤Æ¤ó¤±¤¤ Å··¼ #T35 0 ¤Æ¤ó¤±¤ó ÅÀ¸¡ #T30 3 ¤Æ¤ó¤³ ÅÀ¸Æ #T30 1 ¤Æ¤ó¤³¤¦ ž¸þ #T30 2 ¤Æ¤ó¤³¤¦ ž¹» #T30 2 ¤Æ¤ó¤³¤¦ Å·¸õ #T35 5 ¤Æ¤ó¤´¤¯ Å·¹ñ #T35 2 ¤Æ¤ó¤µ¤¤ žºÜ #T30 7 ¤Æ¤ó¤µ¤¤ Å·ºÒ #T35 0 ¤Æ¤ó¤µ¤¤ Å·ºÍ #T35 3 ¤Æ¤ó¤µ¤¯ źºï #T30 7 ¤Æ¤ó¤¶¤¤ ÅÀºß #T30 1 ¤Æ¤ó¤· Å·»È #T35 2 ¤Æ¤ó¤·¤ã ž¼Ì #T30 1 ¤Æ¤ó¤·¤å ʼç #T35 3 ¤Æ¤ó¤·¤å¤Ä ž½Ð #T30 0 ¤Æ¤ó¤·¤å¤É¤¦ Å·¼çƲ #T35 1 ¤Æ¤ó¤·¤ç ź½ñ #T30 0 ¤Æ¤ó¤·¤ç 俽ñ #T35 0 ¤Æ¤ó¤·¤ç¤¦ žÀ¸ #T30 0 ¤Æ¤ó¤·¤ç¤¯ ž¿¦ #T30 2 ¤Æ¤ó¤·¤ç¤¯ Å·¿¦ #T35 1 ¤Æ¤ó¤·¤ó Å·ÄÅ #CN 0 ¤Æ¤ó¤·¤ó ž¿Ê #T30 0 ¤Æ¤ó¤·¤ó ž¿È #T30 1 ¤Æ¤ó¤·¤ó¤é¤ó¤Þ¤ó Å·¿¿à¥Ì¡ #T05 1 ¤Æ¤ó¤¸ Ÿ¼¨ #T30 32 ¤Æ¤ó¤¸ ÅÀ»ú #T35 0 ¤Æ¤ó¤¸¤¯ Å·¼³ #CN 0 ¤Æ¤ó¤¸¤å Å·¼÷ #T35 0 ¤Æ¤ó¤¸¤ç¤¦ ÅÀ¾õ #T35 1 ¤Æ¤ó¤¸¤ç¤¦ Å·°æ #T35 5 ¤Æ¤ó¤¸¤ó Å·¿À #T35 1 ¤Æ¤ó¤¹¤¤ Å·¿å #CN 0 ¤Æ¤ó¤¹¤¦ ÅÀ¿ô #T35 3 ¤Æ¤ó¤»¤¤ žÀ® #T30 0 ¤Æ¤ó¤»¤¤ Å·À­ #T35 0 ¤Æ¤ó¤»¤­ žÀÒ #T30 0 ¤Æ¤ó¤»¤­ žÀÐ #T35 0 ¤Æ¤ó¤»¤ó ÅÀÀþ #T35 10 ¤Æ¤ó¤½¤¦ žÁ÷ #T30 129 ¤Æ¤ó¤½¤ë ¥Æ¥ó¥½¥ë #T35 2 ¤Æ¤ó¤¾¤¯ ž° #T30 1 ¤Æ¤ó¤¿¤¤ Å·ÂÎ #T35 0 ¤Æ¤ó¤¿¤ó ×÷ø #F02 0 ¤Æ¤ó¤Á žÃÏ #T30 0 ¤Æ¤ó¤Á žÃÖ #T30 10 ¤Æ¤ó¤Á Å·ÃÏ #T35 1 ¤Æ¤ó¤Á¤å¤¦ Å·ëÏ #T35 0 ¤Æ¤ó¤Á¤ç¤¦ žĴ #T30 0 ¤Æ¤ó¤Æ¤­ ÅÀÅ© #T30 0 ¤Æ¤ó¤Æ¤­ ŷŨ #T35 0 ¤Æ¤ó¤Æ¤³¤Þ¤¤ ¤Æ¤ó¤Æ¤³¤Þ¤¤ #T10 1 ¤Æ¤ó¤Æ¤ó ¡Ä #T35 255 ¤Æ¤ó¤Æ¤ó ¡Å #T35 8 ¤Æ¤ó¤È ¥Æ¥ó¥È #T35 7 ¤Æ¤ó¤È¤¦ ÅÀÅô #T30 1 ¤Æ¤ó¤È¤¦ žÅÝ #T30 2 ¤Æ¤ó¤È¤¦ ŹƬ #T35 0 ¤Æ¤ó¤É¤¦ ŷƸ #JCN 0 ¤Æ¤ó¤É¤¦¤»¤Ä ŷưÀâ #T35 0 ¤Æ¤ó¤É¤ó ŷЧ #T35 0 ¤Æ¤ó¤Ê¤¤ ŹÆâ #T35 0 ¤Æ¤ó¤Ë¤å¤¦ žÆþ #T30 0 ¤Æ¤ó¤Ë¤ç Å·½÷ #T35 1 ¤Æ¤ó¤Ë¤ó žǤ #T30 0 ¤Æ¤ó¤Í¤ó Å·Á³ #T35 0 ¤Æ¤ó¤Í¤ó¤È¤¦ Å·Á³Å÷ #T35 1 ¤Æ¤ó¤Î¤¦ Å·²¦ #CN 0 ¤Æ¤ó¤Î¤¦ Å·¹Ä #T35 2 ¤Æ¤ó¤Î¤¦¤¸ Å·²¦»û #JCN 0 ¤Æ¤ó¤Î¤¦¤»¤¤ Å·²¦À± #CNS 1 ¤Æ¤ó¤Î¤¦¤»¤¤ Å·¹ÄÀ© #T35 0 ¤Æ¤ó¤Ð¤¤ žÇä #T30 0 ¤Æ¤ó¤Ñ¤¯ Å·Çò #CN 0 ¤Æ¤ó¤Ñ¤ó ŵÈÏ #T35 0 ¤Æ¤ó¤Ó¤­ Å·°ú¤­ #T30 0 ¤Æ¤ó¤Ó¤ó Å·Çé #T35 0 ¤Æ¤ó¤Ô Å·Æü #T35 0 ¤Æ¤ó¤Ô Å·²Ð #T35 1 ¤Æ¤ó¤Ö¤¯¤í Å·ÂÞ #T35 0 ¤Æ¤ó¤Ö¤ó ŷʬ #T35 0 ¤Æ¤ó¤× źÉÕ #T30 49 ¤Æ¤ó¤×¤¯ žʤ #T30 0 ¤Æ¤ó¤×¤é ¤Æ¤ó¤×¤é #T35 3 ¤Æ¤ó¤×¤ì¡¼¤È ¥Æ¥ó¥×¥ì¡¼¥È #T35 13 ¤Æ¤ó¤Ú¤ó žÊÑ #T30 0 ¤Æ¤ó¤Ú¤ó¤Á¤¤ Å·ÊÑÃÏ°Û #T35 0 ¤Æ¤ó¤Ü¤¦ Ÿ˾ #T30 2 ¤Æ¤ó¤Ý ŹÊÞ #T35 0 ¤Æ¤ó¤Ý ¥Æ¥ó¥Ý #T35 1 ¤Æ¤ó¤Ý¤é¤ê ¥Æ¥ó¥Ý¥é¥ê #T35 1 ¤Æ¤ó¤Þ Å·Ëþ #CN 0 ¤Æ¤ó¤Þ¤Ä Å¿Ëö #T35 0 ¤Æ¤ó¤Þ¤Ð¤ä¤· Å·´ÖÎÓ #CN 0 ¤Æ¤ó¤Þ¤ó¤°¤¦ Å·ËþµÜ #T35 4 ¤Æ¤ó¤á¤¤ Å·ÌÀ #JCN 0 ¤Æ¤ó¤á¤¤ Ź̾ #T35 0 ¤Æ¤ó¤á¤Ä ÅÀÌÇ #T30 5 ¤Æ¤ó¤â¤ó ŷʸ #T35 1 ¤Æ¤ó¤æ¤¦¤·¤ó¤¸¤ç Å·Í´¿À½õ #T35 0 ¤Æ¤ó¤è¤¦ žÍÑ #T30 1 ¤Æ¤ó¤é¤¯ žÍî #T30 0 ¤Æ¤ó¤é¤ó ŸÍ÷ #T30 2 ¤Æ¤ó¤ê Å·Íý #CN 0 ¤Æ¤ó¤ê Å·Íý #T35 42 ¤Æ¤ó¤ê¤å¤¦ ŷε #JCN 0 ¤Æ¤ó¤ê¤å¤¦ ŷζ #JNS 0 ¤Æ¤ó¤ì¤Ä ÅÀÎó #T35 0 ¤Ç ¤Ç #KS 78 ¤Ç ½Ð #KSr 255 ¤Ç¡¼¤¿ ¥Ç¡¼¥¿ #T35 174 ¤Ç¡¼¤¿¤Õ¤í¡¼ ¥Ç¡¼¥¿¥Õ¥í¡¼ #T35 22 ¤Ç¡¼¤¿¤Ù¡¼¤¹ ¥Ç¡¼¥¿¥Ù¡¼¥¹ #T35 32 ¤Ç¡¼¤È ¥Ç¡¼¥È #T30 16 ¤Ç¡¼¤â¤ó ¥Ç¡¼¥â¥ó #T35 13 ¤Ç¤¢ ½Ð²ñ #W5r 7 ¤Ç¤¢¤· ½Ð­ #T35 0 ¤Ç¤¢¤ë ½ÐÊâ #K5r 1 ¤Ç¤£¡¼¤ê¤ó¤° ¥Ç¥£¡¼¥ê¥ó¥° #T35 1 ¤Ç¤£¤¯¤·¤ç¤Ê¤ê ¥Ç¥£¥¯¥·¥ç¥Ê¥ê #T35 2 ¤Ç¤£¤¯¤¹ ¥Ç¥£¥¯¥¹ #T35 1 ¤Ç¤£¤¸¤¿¤ë ¥Ç¥£¥¸¥¿¥ë #T05 11 ¤Ç¤£¤¸¤¿¤ë ¥Ç¥£¥¸¥¿¥ë #T35 1 ¤Ç¤£¤¹¤«¤Ã¤·¤ç¤ó ¥Ç¥£¥¹¥«¥Ã¥·¥ç¥ó #T30 3 ¤Ç¤£¤¹¤¯ ¥Ç¥£¥¹¥¯ #T35 175 ¤Ç¤£¤¹¤¯¤ê¤×¤¿ ¥Ç¥£¥¹¥¯¥ê¥×¥¿ #T35 4 ¤Ç¤£¤¹¤¯¤ê¤×¤¿¡¼ ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼ #T35 4 ¤Ç¤£¤¹¤±¤Ã¤È ¥Ç¥£¥¹¥±¥Ã¥È #T35 5 ¤Ç¤£¤¹¤³ ¥Ç¥£¥¹¥³ #T35 2 ¤Ç¤£¤¹¤³¡¼¤¹ ¥Ç¥£¥¹¥³¡¼¥¹ #T35 0 ¤Ç¤£¤¹¤Æ¤£¤Í¡¼¤·¤ç¤ó ¥Ç¥£¥¹¥Æ¥£¥Í¡¼¥·¥ç¥ó #T35 1 ¤Ç¤£¤¹¤È¤ê¤Ó¤å¡¼¤·¤ç¤ó ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó #T30 2 ¤Ç¤£¤¹¤Ñ¤Ã¤Á ¥Ç¥£¥¹¥Ñ¥Ã¥Á #T30 19 ¤Ç¤£¤¹¤Ñ¤Ã¤Á¤ã ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã #T35 13 ¤Ç¤£¤¹¤Ñ¤Ã¤Á¤ã¡¼ ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã¡¼ #T35 13 ¤Ç¤£¤¹¤×¤ì¡¼ ¥Ç¥£¥¹¥×¥ì¡¼ #T30 2 ¤Ç¤£¤¹¤×¤ì¡¼¤¹¤á¤ó¤È ¥Ç¥£¥¹¥×¥ì¡¼¥¹¥á¥ó¥È #T35 1 ¤Ç¤£¤¹¤×¤ì¤¤ ¥Ç¥£¥¹¥×¥ì¥¤ #T30 66 ¤Ç¤£¤º¤Ë¡¼ ¥Ç¥£¥º¥Ë¡¼ #JN 0 ¤Ç¤£¤Ã¤·¤å ¥Ç¥£¥Ã¥·¥å #T35 1 ¤Ç¤£¤Ê¡¼ ¥Ç¥£¥Ê¡¼ #T35 2 ¤Ç¤£¤Õ¤©¤ë¤È ¥Ç¥£¥Õ¥©¥ë¥È #T35 2 ¤Ç¤£¤×¤ê¡¼¤·¤ç¤ó ¥Ç¥£¥×¥ê¡¼¥·¥ç¥ó #T35 1 ¤Ç¤£¤ì¤¤ ¥Ç¥£¥ì¥¤ #T35 2 ¤Ç¤£¤ì¤¯¤¿ ¥Ç¥£¥ì¥¯¥¿ #T35 2 ¤Ç¤£¤ì¤¯¤¿¡¼ ¥Ç¥£¥ì¥¯¥¿¡¼ #T35 2 ¤Ç¤£¤ì¤¯¤È¤ê ¥Ç¥£¥ì¥¯¥È¥ê #T35 255 ¤Ç¤£¤ì¤¯¤È¤ê¡¼ ¥Ç¥£¥ì¥¯¥È¥ê¡¼ #T35 255 ¤Ç¤¤ Å¥ #KJ 1 ¤Ç¤¤ Ç© #KJ 1 ¤Ç¤¤¤¹¤¤ Å¥¿ì #T30 0 ¤Ç¤¤¤Í¤¤ ť߿ #T35 0 ¤Ç¤¤¤ê ½ÐÆþ¤ê #T30 2 ¤Ç¤¤¤ê¤°¤Á ½ÐÆþ¸ý #T35 1 ¤Ç¤« ¤Ç¤« #KY 7 ¤Ç¤«¤± ½Ð¤«¤± #KS 9 ¤Ç¤«¤»¤® ½Ð²Ô¤® #T30 1 ¤Ç¤«¤ë¤È ¥Ç¥«¥ë¥È #JN 0 ¤Ç¤­ Å® #KJ 0 ¤Ç¤­ ½ÐÍè #KSr 244 ¤Ç¤­ ¤Ç¤­ #KSr 255 ¤Ç¤­¤¢¤¤ Å®°¦ #T30 1 ¤Ç¤­¤¢¤¤ ½ÐÍè¹ç¤¤ #T35 0 ¤Ç¤­¤¢¤¬ ½ÐÍè¾å¤¬ #R5r 13 ¤Ç¤­¤´¤È ¤Ç¤­¤´¤È #T35 1 ¤Ç¤­¤´¤È ½ÐÍè»ö #T35 2 ¤Ç¤­¤· Å®»à #T30 0 ¤Ç¤­¤À¤« ½ÐÍè¹â #T35 0 ¤Ç¤­¤Ð¤¨ ½ÐÍè±É¤¨ #T35 1 ¤Ç¤¯ ÌÚ¶ö #T35 0 ¤Ç¤¯¤ê¤á¤ó¤È ¥Ç¥¯¥ê¥á¥ó¥È #T30 3 ¤Ç¤°¤Á ½Ð¸ý #JNS 0 ¤Ç¤°¤Á ½Ð¸ý #T35 7 ¤Ç¤³¡¼¤À ¥Ç¥³¡¼¥À #T35 1 ¤Ç¤³¡¼¤À¡¼ ¥Ç¥³¡¼¥À¡¼ #T35 1 ¤Ç¤³¡¼¤É ¥Ç¥³¡¼¥É #T30 1 ¤Ç¤³¤Ü¤³ ÆÌ±ú #T30 1 ¤Ç¤³¤ó¤Ñ¤¤¤é ¥Ç¥³¥ó¥Ñ¥¤¥é #T35 1 ¤Ç¤µ¤­ ½ÐÀè #T35 0 ¤Ç¤¶¡¼¤È ¥Ç¥¶¡¼¥È #T35 0 ¤Ç¤¶¤¤¤Ê ¥Ç¥¶¥¤¥Ê #T35 3 ¤Ç¤¶¤¤¤Ê¡¼ ¥Ç¥¶¥¤¥Ê¡¼ #T35 0 ¤Ç¤¶¤¤¤Ê¡¼¤º ¥Ç¥¶¥¤¥Ê¡¼¥º #T35 1 ¤Ç¤¶¤¤¤ó ¥Ç¥¶¥¤¥ó #T30 23 ¤Ç¤· Äï»Ò #T35 3 ¤Ç¤·¤¸¤ç¤ó ¥Ç¥·¥¸¥ç¥ó #T35 1 ¤Ç¤¸¤«¤á ¥Ç¥¸¥«¥á #T35 0 ¤Ç¤¸¤¿¤ë ¥Ç¥¸¥¿¥ë #T15 8 ¤Ç¤¸¤Þ ½ÐÅç #JCN 0 ¤Ç¤¹¤«¤é ¤Ç¤¹¤«¤é #CJ 4 ¤Ç¤¹¤¬ ¤Ç¤¹¤¬ #CJ 30 ¤Ç¤¹¤¯ ¥Ç¥¹¥¯ #T35 10 ¤Ç¤¹¤±¤ì¤É ¤Ç¤¹¤±¤ì¤É #CJ 0 ¤Ç¤¹¤Æ¤£¤Í¡¼¤·¤ç¤ó ¥Ç¥¹¥Æ¥£¥Í¡¼¥·¥ç¥ó #T35 16 ¤Ç¤½¤í ½Ð¤½¤í #W5 0 ¤Ç¤¿¤é¤á ¤Ç¤¿¤é¤á #T05 0 ¤Ç¤¿¤é¤á ¥Ç¥¿¥é¥á #T05 0 ¤Ç¤¿¤é¤á ½ÐíÌÜ #T05 0 ¤Ç¤Ã¤« ¤Ç¤Ã¤« #KY 1 ¤Ç¤Ã¤­ ¥Ç¥Ã¥­ #T35 2 ¤Ç¤Ã¤Á ÃúÃÕ #T35 0 ¤Ç¤Ã¤Á¤¢¤² ¤Ç¤Ã¤Á¤¢¤² #KSr 0 ¤Ç¤Ã¤É¤í¤Ã¤¯ ¥Ç¥Ã¥É¥í¥Ã¥¯ #T30 3 ¤Ç¤Ã¤Ñ ½Ð¤Ã¤Ñ #R5r 1 ¤Ç¤Ã¤Ñ ½Ð¤Ã»õ #T15 1 ¤Ç¤Ä¤¯ ½Ð¿Ô¤¯ #S5 0 ¤Ç¤È¤í¤¤¤È ¥Ç¥È¥í¥¤¥È #CN 0 ¤Ç¤É¤³¤í ½Ð¤É¤³¤í #T35 0 ¤Ç¤É¤³¤í ½Ð½ê #T35 0 ¤Ç¤Ê¤ª ½Ðľ #S5r 1 ¤Ç¤Ê¤±¤ì¤Ð ¤Ç¤Ê¤±¤ì¤Ð #CJ 0 ¤Ç¤Ï ¤Ç¤Ï #CJ 7 ¤Ç¤Ð¤¤¤¹ ¥Ç¥Ð¥¤¥¹ #T35 85 ¤Ç¤Ð¤° ¥Ç¥Ð¥° #T30 19 ¤Ç¤Ð¤Ã¤¬ ¥Ç¥Ð¥Ã¥¬ #T35 21 ¤Ç¤Ð¤Ã¤¬¡¼ ¥Ç¥Ð¥Ã¥¬¡¼ #T35 21 ¤Ç¤Ð¤Ã¤¯ ¥Ç¥Ð¥Ã¥¯ #T30 7 ¤Ç¤Ð¤Ã¤° ¥Ç¥Ð¥Ã¥° #T30 50 ¤Ç¤Ð¤ó ½ÐÈÖ #T35 2 ¤Ç¤Ñ¡¼¤È ¥Ç¥Ñ¡¼¥È #T35 2 ¤Ç¤Ó¤å¡¼ ¥Ç¥Ó¥å¡¼ #T30 3 ¤Ç¤Õ¤©¡¼¤ë¤È ¥Ç¥Õ¥©¡¼¥ë¥È #T35 8 ¤Ç¤Õ¤©¤ë¤È ¥Ç¥Õ¥©¥ë¥È #T35 131 ¤Ç¤Õ¤ì ¥Ç¥Õ¥ì #T35 0 ¤Ç¤Ö ¥Ç¥Ö #T05 2 ¤Ç¤Ö¤·¤ç¤¦ ½ÐÉÔÀº #T05 0 ¤Ç¤Þ ¥Ç¥Þ #T35 1 ¤Ç¤Þ ¼ê´Ö #T35 1 ¤Ç¤Þ¤ï ½Ð²ó #R5r 6 ¤Ç¤Þ¤ó¤É ¥Ç¥Þ¥ó¥É #T35 3 ¤Ç¤ß¤» ½ÐŹ #T35 0 ¤Ç¤à ½Ð¸þ #K5 2 ¤Ç¤à¤«¤¨ ½Ð·Þ¤¨ #KSr 0 ¤Ç¤à¤«¤¨ ½Ð·Þ¤¨ #T30 0 ¤Ç¤à¤é ½Ð¼ #JNS 0 ¤Ç¤á¤­¤ó ½ÐÌܶâ #T35 0 ¤Ç¤â ¤Ç¤â #CJ 23 ¤Ç¤â ¥Ç¥â #T30 84 ¤Ç¤â¤¸¤å¤ì¡¼¤¿ ¥Ç¥â¥¸¥å¥ì¡¼¥¿ #T35 4 ¤Ç¤â¤ó¤¹¤È¤ì¡¼¤·¤ç¤ó ¥Ç¥â¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó #T30 4 ¤Ç¤é »û #KJ 0 ¤Ç¤é¤Ã¤¯¤¹ ¥Ç¥é¥Ã¥¯¥¹ #T05 1 ¤Ç¤ê¡¼¤È ¥Ç¥ê¡¼¥È #T30 1 ¤Ç¤ê¤ß¤¿ ¥Ç¥ê¥ß¥¿ #T35 1 ¤Ç¤ê¤ß¤¿¡¼ ¥Ç¥ê¥ß¥¿¡¼ #T35 1 ¤Ç¤ë¤¿ ¦¤ #T35 1 ¤Ç¤ë¤¿ ¦Ä #T35 1 ¤Ç¤ë¤¿ ¥Ç¥ë¥¿ #T35 2 ¤Ç¤ï ½Ð±© #JCN 0 ¤Ç¤ó Å #KJ 0 ¤Ç¤ó Åà #KJ 0 ¤Ç¤ó ÅÁ #KJ 2 ¤Ç¤ó ÅÄ #KJ 3 ¤Ç¤ó ÅÅ #KJ 43 ¤Ç¤ó¤¢¤Ä Å۵ #T35 27 ¤Ç¤ó¤¤ ÅÅ°Ì #T35 2 ¤Ç¤ó¤¨¤ó Åıà #T35 2 ¤Ç¤ó¤« ÅŲ½ #T30 1 ¤Ç¤ó¤« Ų¼ #T35 0 ¤Ç¤ó¤« ÅŲ٠#T35 1 ¤Ç¤ó¤­ ÅÅ´ï #T35 101 ¤Ç¤ó¤­ Åŵ¡ #T35 25 ¤Ç¤ó¤­ Åŵ¤ #T35 63 ¤Ç¤ó¤­¤¨¤¤¤É¤¦ Åŵ¤±Ëư #T30 1 ¤Ç¤ó¤­¤å¤¦ Åŵå #T35 2 ¤Ç¤ó¤­¤ç¤¯ ÅÅ¶Ë #T35 0 ¤Ç¤ó¤±¤ó ÅŸ² #T35 1 ¤Ç¤ó¤²¤­ ÅÅ·â #T35 0 ¤Ç¤ó¤²¤ó ÅŸ» #T35 33 ¤Ç¤ó¤³¤¦ ÅŹ© #KK 2 ¤Ç¤ó¤³¤¦ ÅŶ½ #KK 4 ¤Ç¤ó¤´¤ó ÅÁ¸À #T30 9 ¤Ç¤ó¤µ¤ó ÅÅ»» #T35 4 ¤Ç¤ó¤µ¤ó¤­ ÅÅ»»µ¡ #T35 4 ¤Ç¤ó¤· ÅÅ»Ò #T35 135 ¤Ç¤ó¤·¤È¤á¡¼¤¿ ¥Ç¥ó¥·¥È¥á¡¼¥¿ #T35 1 ¤Ç¤ó¤·¤ã ÅÅ¼Ö #T35 28 ¤Ç¤ó¤·¤ç¤¦ ÅÁ¾µ #T30 0 ¤Ç¤ó¤·¤ç¤Ð¤È ÅÁ½ñÈ· #T35 0 ¤Ç¤ó¤·¤ó ÅÅ¿® #T35 10 ¤Ç¤ó¤¸¤­ Åż§µ¤ #T35 1 ¤Ç¤ó¤¸¤Ï Åż§ÇÈ #T35 1 ¤Ç¤ó¤¸¤å ÅÁ¼ø #T30 1 ¤Ç¤ó¤»¤Ä ÅÁÀâ #T35 4 ¤Ç¤ó¤»¤ó ÅÁÀ÷ #T30 0 ¤Ç¤ó¤»¤ó ÅÅÀþ #T35 2 ¤Ç¤ó¤»¤ó¤Ó¤ç¤¦ ÅÁÀ÷É #T35 0 ¤Ç¤ó¤½¤¦ ÅÅÁõ #KK 1 ¤Ç¤ó¤½¤¦ ÅÅÁ÷ #T30 1 ¤Ç¤ó¤½¤¦ ÅÁÁ÷ #T30 26 ¤Ç¤ó¤½¤¦¤±¤ó ÅÅÁí¸¦ #KK 74 ¤Ç¤ó¤¿¤¯ ÅÅÂî #T35 5 ¤Ç¤ó¤¿¤Ä ÅÁã #T30 6 ¤Ç¤ó¤Á ÅÅÃÓ #T35 2 ¤Ç¤ó¤Á¤å¤¦ ÅÂÃæ #T35 0 ¤Ç¤ó¤Á¤å¤¦ ÅÅÃì #T35 1 ¤Ç¤ó¤Ä¤¦ ÅÅÄÌ #KK 0 ¤Ç¤ó¤Ä¤¦¤À¤¤ ÅÅÄÌÂç #KK 1 ¤Ç¤ó¤Æ¤Ä ÅÅÅ´ #T35 0 ¤Ç¤ó¤Ç¤ó ÅÅ¡¹ #KK 2 ¤Ç¤ó¤È¤¦ ÅÅÅô #T35 3 ¤Ç¤ó¤È¤¦ ÅÁÅý #T35 4 ¤Ç¤ó¤É¤¦ ÅÁƳ #T30 0 ¤Ç¤ó¤É¤¦ ÅÂÆ² #T35 0 ¤Ç¤ó¤É¤¦ ÅÅÆ° #T35 6 ¤Ç¤ó¤Í¤Ä ÅÅÇ® #T35 0 ¤Ç¤ó¤Ñ ÅÁÇÅ #T30 2 ¤Ç¤ó¤Ñ ÅÅÇÈ #T35 2 ¤Ç¤ó¤Ñ¤ó ÅÁÈ #T30 8 ¤Ç¤ó¤Ô¤ç¤¦ ÅÁɼ #T35 9 ¤Ç¤ó¤Ö¤ó ÅÁʹ #T30 1 ¤Ç¤ó¤Ö¤ó ÅÅʸ #T35 0 ¤Ç¤ó¤Ý¤¦ ÅÅÊó #T35 1 ¤Ç¤ó¤é¤¤ ÅÁÍè #T30 0 ¤Ç¤ó¤ê¤å¤¦ ÅÅή #T35 25 ¤Ç¤ó¤ê¤ç¤¯ ÅÅÎÏ #T35 25 ¤Ç¤ó¤ì¤¤ ÅÁÎá #T35 0 ¤Ç¤ó¤ï ÅÅÏà #T30 255 ¤Ç¤ó¤ï¤­¤ç¤¯ ÅÅÏÃ¶É #T35 2 ¤Ç¤ó¤ï¤À¤¤ ÅÅÏÃÂå #T35 0 ¤Ç¤ó¤ï¤Á¤ç¤¦ ÅÅÏÃÄ¢ #T35 0 ¤È ¤È #B5 12 ¤È Ä· #B5 2 ¤È Èô #B5 88 ¤È ¸¦ #G5r 0 ¤È ÅÔ #JS 0 ¤È ÅÍ #JS 1 ¤È ¼á #K5 0 ¤È ²ò #K5 111 ¤È Àâ #K5 2 ¤È ÍÏ #K5 5 ¤È ÅÇ #KJ 0 ¤È ÅÉ #KJ 0 ¤È ÅÊ #KJ 0 ¤È ÅË #KJ 0 ¤È ÅÍ #KJ 0 ¤È ÅÑ #KJ 0 ¤È ÅÕ #KJ 0 ¤È ¹Ü #KJ 1 ¤È ÅÆ #KJ 1 ¤È ÅÈ #KJ 1 ¤È ÅÌ #KJ 1 ¤È ÅÎ #KJ 1 ¤È ÅÖ #KJ 1 ¤È ÅÚ #KJ 1 ¤È ¿Þ #KJ 2 ¤È ÅÏ #KJ 2 ¤È ÅÓ #KJ 2 ¤È ÅÐ #KJ 3 ¤È ÉÙ #M5 12 ¤È ÀÝ #R5 0 ¤È Êá #R5 1 ¤È »£ #R5 17 ¤È ºÎ #R5 24 ¤È ¤È #R5 255 ¤È ¼è #R5 255 ¤È Ã¥ #R5r 0 ¤È Åð #R5r 0 ¤È ÅÒ #S5 1 ¤È ÅÒ #SX 1 ¤È ¸Í #T35 127 ¤È ÅÔ #T35 31 ¤È ˬ #U5 0 ¤È Ìä #U5r 56 ¤È¡¼¤¯¤ó ¥È¡¼¥¯¥ó #T35 10 ¤È¡¼¤¿¤ë ¥È¡¼¥¿¥ë #T00 3 ¤È¡¼¤È¤í¤¸¡¼ ¥È¡¼¥È¥í¥¸¡¼ #T35 1 ¤È¡¼¤È¤í¤¸¤«¤ë ¥È¡¼¥È¥í¥¸¥«¥ë #T17 0 ¤È¡¼¤é¤¹ ¥È¡¼¥é¥¹ #T35 1 ¤È¤¢¤ë ¤È¤¢¤ë #RT 2 ¤È¤¤ ÅÚÈî #JCN 0 ¤È¤¤ ¸Í°æ #JNS 0 ¤È¤¤ Ìä #T35 1 ¤È¤¤ Èõ #T35 2 ¤È¤¤¤¢¤ï¤» Ì䤤¹ç¤ï¤» #KSr 69 ¤È¤¤¤¢¤ï¤» Ìä¹ç¤» #T30 13 ¤È¤¤¤¢¤ï¤» Ì䤤¹ç¤ï¤» #T30 32 ¤È¤¤¤«¤± Ì䤤¤«¤± #KSr 1 ¤È¤¤¤­ ÅÇ© #T30 1 ¤È¤¤¤· ÅÖÀÐ #T35 0 ¤È¤¤¤¿¤À Ì䤤¼Á #S5 0 ¤È¤¤¤¿¤À Ì䤤Àµ #S5 0 ¤È¤¤¤ì ¥È¥¤¥ì #T35 6 ¤È¤¤¤ì¤Ã¤È ¥È¥¤¥ì¥Ã¥È #T35 2 ¤È¤¦ Åç #CNSUC1 0 ¤È¤¦ Åï #JS 0 ¤È¤¦ Ƭ #JS 0 ¤È¤¦ Åù #JS 255 ¤È¤¦ ²³ #KJ 0 ¤È¤¦ ³õ #KJ 0 ¤È¤¦ ¶Í #KJ 0 ¤È¤¦ ·£ #KJ 0 ¤È¤¦ »ð #KJ 0 ¤È¤¦ ¿Ö #KJ 0 ¤È¤¦ ¿à #KJ 0 ¤È¤¦ Åà #KJ 0 ¤È¤¦ Åä #KJ 0 ¤È¤¦ Åå #KJ 0 ¤È¤¦ Åæ #KJ 0 ¤È¤¦ Åé #KJ 0 ¤È¤¦ Åë #KJ 0 ¤È¤¦ Åí #KJ 0 ¤È¤¦ Åî #KJ 0 ¤È¤¦ Åó #KJ 0 ¤È¤¦ Åõ #KJ 0 ¤È¤¦ Å÷ #KJ 0 ¤È¤¦ Åø #KJ 0 ¤È¤¦ Åý #KJ 0 ¤È¤¦ Åþ #KJ 0 ¤È¤¦ Æ¡ #KJ 0 ¤È¤¦ Æ¢ #KJ 0 ¤È¤¦ Ƥ #KJ 0 ¤È¤¦ Ʀ #KJ 0 ¤È¤¦ ƨ #KJ 0 ¤È¤¦ Æ© #KJ 0 ¤È¤¦ ƪ #KJ 0 ¤È¤¦ Æ« #KJ 0 ¤È¤¦ Æ­ #KJ 0 ¤È¤¦ Æ® #KJ 0 ¤È¤¦ ƺ #KJ 0 ¤È¤¦ ÆÉ #KJ 0 ¤È¤¦ Èõ #KJ 0 ¤È¤¦ ˬ #KJ 0 ¤È¤¦ °ð #KJ 1 ¤È¤¦ ÅÝ #KJ 1 ¤È¤¦ Åß #KJ 1 ¤È¤¦ Åè #KJ 1 ¤È¤¦ Åñ #KJ 1 ¤È¤¦ Åú #KJ 1 ¤È¤¦ Æ£ #KJ 1 ¤È¤¦ Æ¥ #KJ 1 ¤È¤¦ Ǥ #KJ 1 ¤È¤¦ Åì #KJ 19 ¤È¤¦ ÅÐ #KJ 2 ¤È¤¦ Åò #KJ 2 ¤È¤¦ Ƨ #KJ 2 ¤È¤¦ Ƭ #KJ 2 ¤È¤¦ Åð #KJ 3 ¤È¤¦ Åç #KJ 4 ¤È¤¦ Åû #KJ 4 ¤È¤¦ Åö #PRE 0 ¤È¤¦ Åù #SUC 0 ¤È¤¦ Åê #T35 0 ¤È¤¦ Åï #T35 0 ¤È¤¦ Åù #T35 0 ¤È¤¦ Åü #T35 0 ¤È¤¦ ½½ #T35 1 ¤È¤¦ Åá #T35 1 ¤È¤¦ Åô #T35 1 ¤È¤¦ ÅÞ #T35 2 ¤È¤¦ Åâ #T35 2 ¤È¤¦ Åö #T35 30 ¤È¤¦ Åã #T35 4 ¤È¤¦ Åç #T35 0 ¤È¤¦ Åê #ZX 1 ¤È¤¦¤¢ Åì°¡ #KK 2 ¤È¤¦¤¢¤ó Åú°Æ #T35 1 ¤È¤¦¤¤ Åü°á #T35 0 ¤È¤¦¤¤¤Á Åì°ì #JNM 0 ¤È¤¦¤¤¤Ä Åý°ì #T30 53 ¤È¤¦¤¤¤ó Åì°÷ #CN 0 ¤È¤¦¤¤¤ó ÅÞ°÷ #T35 0 ¤È¤¦¤¤¤ó Ƭ±¤ #T35 0 ¤È¤¦¤¨¤¤ Åì±É #CN 0 ¤È¤¦¤¨¤¤ Åì±Ç #KK 2 ¤È¤¦¤¨¤¤ Åê±Æ #T30 1 ¤È¤¦¤ª¤¦ Å첤 #CN 0 ¤È¤¦¤ª¤ó¤»¤ó Åù²¹Àþ #T35 0 ¤È¤¦¤« Æ©²á #T00 16 ¤È¤¦¤« Åù²Á #T05 44 ¤È¤¦¤« Åê²¼ #T30 0 ¤È¤¦¤« Åô²Ð #T35 0 ¤È¤¦¤« 10Æü #T35 1 ¤È¤¦¤« £±£°Æü #T35 1 ¤È¤¦¤« ½½Æü #T35 1 ¤È¤¦¤«¤¤ Å쳤 #JCN 0 ¤È¤¦¤«¤¤ ðë³¢ #T30 0 ¤È¤¦¤«¤¤ Åݲõ #T30 25 ¤È¤¦¤«¤¤¤É¤¦ Å쳤ƻ #CN 0 ¤È¤¦¤«¤¯ Åö³Î #T15 0 ¤È¤¦¤«¤¯ ÅÝ³Õ #T30 0 ¤È¤¦¤«¤¯ Ƭ³Ñ #T35 0 ¤È¤¦¤«¤Ä Åý³ç #T30 2 ¤È¤¦¤«¤ó ÅêÈ¡ #T30 1 ¤È¤¦¤«¤ó Åù´× #T35 0 ¤È¤¦¤¬¤¤ Åö³º #T35 2 ¤È¤¦¤¬¤Í Åì¶â #CN 0 ¤È¤¦¤¬¤é¤· Åâ¿É»Ò #T35 0 ¤È¤¦¤¬¤ó Åß±» #T35 0 ¤È¤¦¤­ Åе­ #T30 0 ¤È¤¦¤­ Åê´þ #T30 0 ¤È¤¦¤­ Æ­µ® #T30 0 ¤È¤¦¤­ Åß´ü #T35 0 ¤È¤¦¤­ Åßµ¨ #T35 0 ¤È¤¦¤­ Åöµ¡ #T35 1 ¤È¤¦¤­ Æ«´ï #T35 1 ¤È¤¦¤­ Åö´ü #T35 3 ¤È¤¦¤­¤Á Æ£µÈ #JNM 0 ¤È¤¦¤­¤å¤¦ Åùµé #JS 2 ¤È¤¦¤­¤å¤¦ ÅìµÞ #KK 5 ¤È¤¦¤­¤å¤¦ Åêµå #T30 3 ¤È¤¦¤­¤å¤¦ Åùµé #T35 2 ¤È¤¦¤­¤ç¤¦ Åìµþ #CN 0 ¤È¤¦¤­¤ç¤¦¤È ÅìµþÅÔ #CNS 0 ¤È¤¦¤­¤ç¤¯ Åö¶É #T35 4 ¤È¤¦¤® ƤµÄ #T30 3 ¤È¤¦¤®¤å¤¦ Æ®µí #T35 1 ¤È¤¦¤®¤ç Åý¸æ #T30 0 ¤È¤¦¤°¤ó Åì·³ #T35 0 ¤È¤¦¤±¤¤ Åý·× #T30 22 ¤È¤¦¤±¤¤ Åì·Ð #T35 8 ¤È¤¦¤±¤Ä Åà·ë #T30 2 ¤È¤¦¤² ƽ #CNSUC1 0 ¤È¤¦¤² ƽ #T35 1 ¤È¤¦¤²¤¤ Æ«·Ý #T35 1 ¤È¤¦¤²¤ó¤­¤ç¤¦ Åí¸»¶¿ #T35 0 ¤È¤¦¤³¤¦ Åê¹ß #T30 0 ¤È¤¦¤³¤¦ Åй» #T30 42 ¤È¤¦¤³¤¦ Åê¹Æ #T30 65 ¤È¤¦¤³¤¦¤»¤ó Åù¹âÀþ #T35 2 ¤È¤¦¤³¤¦¤À¤¤ Å칩Âç #KK 84 ¤È¤¦¤³¤ó Æ®º² #T35 0 ¤È¤¦¤´ Åý¸ì #T35 1 ¤È¤¦¤´¤¦ Åì¶¿ #JCN 0 ¤È¤¦¤´¤¦ Åý¹ç #T30 52 ¤È¤¦¤´¤¦ Åù¹æ #T35 16 ¤È¤¦¤´¤¦¤·¤Ã¤Á¤ç¤¦¤·¤ç¤¦ Åý¹ç¼ºÄ´¾É #T35 0 ¤È¤¦¤´¤¦¤·¤ã Åý¹ç¼Ô #T35 0 ¤È¤¦¤µ¤¤ ÅëºÜ #T30 17 ¤È¤¦¤µ¤¯ Åìºî #JNM 0 ¤È¤¦¤µ¤¯ Åðºî #T30 0 ¤È¤¦¤µ¤¯ Åݺø #T30 3 ¤È¤¦¤µ¤Þ ÉãÍÍ #T35 7 ¤È¤¦¤µ¤ó ÅÝ»º #T30 0 ¤È¤¦¤µ¤ó É㤵¤ó #T35 4 ¤È¤¦¤¶ ÅöºÂ #T35 1 ¤È¤¦¤¶¤¤ ÅìÀ¾ #T35 3 ¤È¤¦¤· Åà»à #T30 1 ¤È¤¦¤· Åê»ñ #T30 10 ¤È¤¦¤· Æ©»ë #T30 2 ¤È¤¦¤· Æ®»Ö #T35 0 ¤È¤¦¤· Æ®»Î #T35 1 ¤È¤¦¤·¤­ Åù¼° #T35 3 ¤È¤¦¤·¤Ä Åù¼Á #T05 0 ¤È¤¦¤·¤Ä Åü¼Á #T35 1 ¤È¤¦¤·¤Ð Åì¼Ç #KK 15 ¤È¤¦¤·¤ã Åê¼Í #T30 0 ¤È¤¦¤·¤ã Æ©¼Ì #T30 0 ¤È¤¦¤·¤ã Åö¼Ò #T35 29 ¤È¤¦¤·¤ã¤Ð¤ó Æ¥¼ÌÈÇ #T35 1 ¤È¤¦¤·¤å ÅÞ¼ó #T35 0 ¤È¤¦¤·¤å Åö¼ç #T35 0 ¤È¤¦¤·¤å Åê¼ê #T35 1 ¤È¤¦¤·¤å¤¦ Ƨ½± #T30 1 ¤È¤¦¤·¤ç Åê½ñ #T30 0 ¤È¤¦¤·¤ç Åö½é #T35 14 ¤È¤¦¤·¤ç¤¦ Åà½ý #T35 1 ¤È¤¦¤·¤ó Åù¿Æ #JS 0 ¤È¤¦¤·¤ó Ƭ¿È #JS 0 ¤È¤¦¤·¤ó Åê¿È #T30 0 ¤È¤¦¤·¤ó Åú¿½ #T30 2 ¤È¤¦¤·¤ó¤À¤¤ Åù¿ÈÂç #T35 0 ¤È¤¦¤¸ ÅÄÏ© #JNS 0 ¤È¤¦¤¸ Åò¼£ #T30 1 ¤È¤¦¤¸ Åλá #T35 0 ¤È¤¦¤¸ Åß»ê #T35 0 ¤È¤¦¤¸ Åú¼­ #T35 1 ¤È¤¦¤¸ Åö»þ #T35 17 ¤È¤¦¤¸¤­ Æ«¼§´ï #T35 0 ¤È¤¦¤¸¤·¤ã Åö»ö¼Ô #T35 1 ¤È¤¦¤¸¤Ä ÅöÆü #T35 44 ¤È¤¦¤¸¤ç¤¦ Åì¾ë #JCN 0 ¤È¤¦¤¸¤ç¤¦ Åì¾ò #JCN 0 ¤È¤¦¤¸¤ç¤¦ ÅìÛê #JNS 0 ¤È¤¦¤¸¤ç¤¦ Åï¾å #JNS 0 ¤È¤¦¤¸¤ç¤¦ Åë¾è #T30 0 ¤È¤¦¤¸¤ç¤¦ Åоì #T30 19 ¤È¤¦¤¸¤ó Æ¢¿Ô #T30 0 ¤È¤¦¤¹¤¤ Æ«¿ì #T30 0 ¤È¤¦¤¹¤¦ Ƭ¿ô #T35 1 ¤È¤¦¤»¤¤ ÅýÀ© #T30 2 ¤È¤¦¤»¤¤ Æ«À½ #T35 0 ¤È¤¦¤»¤¤ ÅöÀ¤ #T35 3 ¤È¤¦¤»¤­ Æ©ÀÏ #T30 1 ¤È¤¦¤»¤­ ÅêÀÐ #T30 10 ¤È¤¦¤»¤ó ÅöÁª #T30 5 ¤È¤¦¤¼¤ó ÅöÁ³ #T06 96 ¤È¤¦¤½¤¦ Æ®Áè #T30 0 ¤È¤¦¤½¤¦ ƨÁö #T30 1 ¤È¤¦¤½¤¦ ÅÞÁè #T35 4 ¤È¤¦¤½¤¯ Ƭ¦ #T35 1 ¤È¤¦¤½¤¯¤ë¤¤ Ƭ­Îà #T35 0 ¤È¤¦¤½¤Ä ÅýΨ #T30 0 ¤È¤¦¤¾¤¯ Åð± #T35 1 ¤È¤¦¤¿ ÅñÂÁ #T30 1 ¤È¤¦¤¿¤Ä Åþã #T30 16 ¤È¤¦¤À¤¤ ÅìÂç #KK 57 ¤È¤¦¤À¤¤ ÅôÂæ #T35 0 ¤È¤¦¤À¤¤ ÅõÂæ #T35 0 ¤È¤¦¤À¤¤ ÅöÂå #T35 0 ¤È¤¦¤À¤¤¤¸ ÅìÂç»û #CN 0 ¤È¤¦¤Á ÅÝÃÖ #T30 0 ¤È¤¦¤Á Åý¼£ #T30 1 ¤È¤¦¤Á ÅöÃÏ #T35 1 ¤È¤¦¤Á¤ã¤¯ ÅþÃå #T30 64 ¤È¤¦¤Á¤ã¤ó Éã¤Á¤ã¤ó #T35 1 ¤È¤¦¤Á¤ç¤¦ ÅÐĺ #T30 0 ¤È¤¦¤Á¤ç¤¦ Åðİ #T30 1 ¤È¤¦¤Á¤ç¤¦¤è¤¦ ƬĺÍÕ #T35 0 ¤È¤¦¤Á¤ç¤¯ Åöľ #T30 0 ¤È¤¦¤Æ¤¤ ¤È¤¦¤Æ¤¤ #F14 1 ¤È¤¦¤Æ¤¤ ÅþÄì #F14 2 ¤È¤¦¤Æ¤¤ ¤È¤¦¤Æ¤¤ #T36 0 ¤È¤¦¤Æ¤¤ ÅþÄì #T36 0 ¤È¤¦¤Æ¤­ ÅêÚ³ #T30 0 ¤È¤¦¤Æ¤ó ÅöŹ #T35 0 ¤È¤¦¤Æ¤ó ÆÉÅÀ #T35 1 ¤È¤¦¤È µ® #B5 1 ¤È¤¦¤È º #B5 1 ¤È¤¦¤È µ® #KY 1 ¤È¤¦¤È º #KY 1 ¤È¤¦¤È¤¦ Þí¡¹ #F06 0 ¤È¤¦¤È¤¦ ¤È¤¦¤È¤¦ #F14 4 ¤È¤¦¤È¤¦ Åù¡¹ #SUC 2 ¤È¤¦¤È¤¦¤ß ±ó¹¾ #JNS 0 ¤È¤¦¤È¤Ä ÅâÆÍ #T05 4 ¤È¤¦¤É¤ê Ƭ¼è #T35 0 ¤È¤¦¤Ê¤¤ ÅÞÆâ #T35 0 ¤È¤¦¤Ê¤ó ÅðÆñ #T35 1 ¤È¤¦¤Ê¤ó ÅìÆî #T35 10 ¤È¤¦¤Ë¤å¤¦ ÅêÆþ #T30 12 ¤È¤¦¤Ë¤ó Åö¿Í #T35 2 ¤È¤¦¤Í¤ó Åöǯ #T35 0 ¤È¤¦¤Î ÅìÌî #JNS 0 ¤È¤¦¤Î¤·¤ç¤¦ Åì¾± #JCN 0 ¤È¤¦¤Ï ƧÇË #T30 0 ¤È¤¦¤Ï ÅÞÇÉ #T35 0 ¤È¤¦¤Ï¤¯ ÅìÇì #JCN 0 ¤È¤¦¤Ï¤Ä Ƭȱ #T35 0 ¤È¤¦¤Ï¤ó ÅÐÚµ #T30 0 ¤È¤¦¤Ð¤¯ ÅÝËë #T30 0 ¤È¤¦¤Ð¤Ä ƤȲ #T30 0 ¤È¤¦¤Ð¤ó ÅöÈÖ #T30 1 ¤È¤¦¤Ò ƨÈò #T30 3 ¤È¤¦¤Ò ÅöÈÝ #T35 0 ¤È¤¦¤Ò¤³¤¦ ƨÈò¹Ô #T35 0 ¤È¤¦¤Ò¤ç¤¦ Åêɼ #T30 2 ¤È¤¦¤Ó¤ç¤¦ Ʈɠ#T30 1 ¤È¤¦¤Õ ¤È¤¦¤Õ #T35 0 ¤È¤¦¤Õ ƦÉå #T35 0 ¤È¤¦¤Ö ÅìÉô #CN 0 ¤È¤¦¤Ö ÅöÉô #T35 0 ¤È¤¦¤Ö ÅìÉô #T35 1 ¤È¤¦¤Ö ƬÉô #T35 9 ¤È¤¦¤Ö¤ó Åùʬ #T10 2 ¤È¤¦¤Ö¤ó Åüʬ #T35 0 ¤È¤¦¤Ö¤ó Åöʬ #T35 19 ¤È¤¦¤Ø¤­ ÅðÊÊ #T35 0 ¤È¤¦¤Ø¤ó ÅùÊÕ #JS 0 ¤È¤¦¤Ø¤ó¤Ü¤¯ ÅâÊÑÌÚ #T35 1 ¤È¤¦¤Ù¤Ä ÅöÊÌ #CN 0 ¤È¤¦¤Ù¤ó ÅúÊÛ #T30 0 ¤È¤¦¤Û¤¦ ÅìÊõ #KK 2 ¤È¤¦¤Û¤¦ ÅìË® #KK 2 ¤È¤¦¤Û¤¦ ÅìÊý #T35 0 ¤È¤¦¤Û¤¦ ÅöÊý #T35 6 ¤È¤¦¤Û¤¯ ÅìËÌ #CN 0 ¤È¤¦¤Û¤¯ ÅìËÌ #T35 19 ¤È¤¦¤Û¤ó Æ¥ËÜ #T35 0 ¤È¤¦¤Û¤ó¤»¤¤¤½¤¦ ÅìËÛÀ¾Áö #T30 1 ¤È¤¦¤Ü¤¦ ƨ˴ #T30 1 ¤È¤¦¤Þ ÅöËã #JCN 0 ¤È¤¦¤ß¤ó Åß̲ #T30 0 ¤È¤¦¤á¤¤ Åì̾ #CN 0 ¤È¤¦¤á¤¤ Æ©ÌÀ #T05 10 ¤È¤¦¤á¤ó ÅöÌÌ #T30 9 ¤È¤¦¤â¤¯ ƬÌÜ #T35 0 ¤È¤¦¤â¤í¤³¤· ¤È¤¦¤â¤í¤³¤· #T35 0 ¤È¤¦¤â¤í¤³¤· ¶ÌéæµÐ #T35 0 ¤È¤¦¤ä ƶÌì #CN 0 ¤È¤¦¤ä¤¯ ÅêÌô #T30 0 ¤È¤¦¤ä¤Þ ±ó»³ #JNS 0 ¤È¤¦¤æ ÅôÌý #T35 0 ¤È¤¦¤è Åìͽ #JCN 0 ¤È¤¦¤è ÅêÍ¿ #T30 0 ¤È¤¦¤è¤¦ ÅìÍÎ #JCN 0 ¤È¤¦¤è¤¦ ÅìÍÛ #JCN 0 ¤È¤¦¤è¤¦ ÅÐÍÑ #T30 0 ¤È¤¦¤è¤¦ ÅöÍÑ #T30 2 ¤È¤¦¤è¤³ Åì²£ #KK 5 ¤È¤¦¤é¤¤ ÅþÍè #T30 1 ¤È¤¦¤é¤¯ ÅöÍî #T35 0 ¤È¤¦¤ê¤Ä ÅÝΩ #T30 1 ¤È¤¦¤ê¤å¤¦ ¿àα #T30 0 ¤È¤¦¤ê¤å¤¦¤â¤ó ÅÐεÌç #T35 2 ¤È¤¦¤ê¤ç¤¦ ÅùÎÌ #T15 0 ¤È¤¦¤ê¤ç¤¦ Åêλ #T30 0 ¤È¤¦¤ê¤ç¤¦ ƬÎÎ #T35 0 ¤È¤¦¤ë¤¤ ÅðÎÝ #T30 0 ¤È¤¦¤í¤¦ Åô϶ #T35 0 ¤È¤¦¤í¤¦ ÅôäÆ #T35 0 ¤È¤¦¤í¤¯ ÅÐÏ¿ #T30 255 ¤È¤¦¤í¤ó ƤÏÀ #T30 9 ¤È¤¦¤ï ÅìÏ #JCN 0 ¤È¤¦¤ï¤¯ ÅöÏÇ #T30 1 ¤È¤¨ ½½½Å #T35 0 ¤È¤¨¤¤ Åﱀ #T35 0 ¤È¤ª ±ó #KY 40 ¤È¤ª ÄÌ #R5 255 ¤È¤ª ¤È¤ª #S5 1 ¤È¤ª ÄÌ #S5 255 ¤È¤ª ½½ #T35 2 ¤È¤ª¤¢¤µ ±óÀõ #T05 0 ¤È¤ª¤« 10Æü #T35 0 ¤È¤ª¤« £±£°Æü #T35 0 ¤È¤ª¤« ½½Æü #T35 0 ¤È¤ª¤«¤¤¤Á ½½Æü»Ô #CN 0 ¤È¤ª¤«¤Þ¤Á ½½ÆüÄ® #CN 0 ¤È¤ª¤¯ ±ó¤¯ #T35 5 ¤È¤ª¤¶¤« ±ó¤¶¤« #R5 1 ¤È¤ª¤¶¤± ±ó¤¶¤± #KS 2 ¤È¤ª¤· Ä̤· #T35 0 ¤È¤ª¤À ±óÅÄ #JCN 0 ¤È¤ª¤Ç ±ó½Ð #T30 1 ¤È¤ª¤Î ±óÌî #JCN 0 ¤È¤ª¤Î ±ó¤Î #K5 1 ¤È¤ª¤Þ¤­ ±ó´¬¤­ #T15 0 ¤È¤ª¤Þ¤ï¤· ±ó²ó¤· #T10 0 ¤È¤ª¤Þ¤ï¤ê ±ó²ó¤ê #T10 0 ¤È¤ª¤ä¤Þ ±ó»³ #JNS 0 ¤È¤ª¤ä¤Þ ±ó»³ #T35 1 ¤È¤ª¤ê Ä̤ê #JS 139 ¤È¤ª¤ê ¤È¤ª¤ê #T35 4 ¤È¤ª¤ê Ä̤ê #T35 4 ¤È¤ª¤ê¤¹¤® Ä̤ê²á¤® #KS 1 ¤È¤ª¤ê¤Ì¤± Ä̤êÈ´¤± #KSr 0 ¤È¤ª¤ë µü #JNM 0 ¤È¤ª¤ë µý #JNM 0 ¤È¤ª¤ë ã #JNM 0 ¤È¤ª¤ë Ű #JNM 0 ¤È¤ª¤ï ½½Ï #CN 0 ¤È¤« ²ò¤« #S5 1 ¤È¤« ÍϤ« #S5 2 ¤È¤« Í»¤« #S5 4 ¤È¤« ÅÔ²¼ #T35 0 ¤È¤«¤¤ ÅÔ²ñ #T35 5 ¤È¤«¤¯ ¤È¤«¤¯ #F14 11 ¤È¤«¤¯ ¤È¤«¤¯ #T16 0 ¤È¤«¤² éòéî #T35 0 ¤È¤«¤·¤­ ÅϲÅÉß #JCN 0 ¤È¤«¤Á ½½¾¡ #CN 0 ¤È¤¬ Íø²ì #JCN 0 ¤È¤¬ Àí #R5 0 ¤È¤¬¤¦¤Á ¸Í²ÏÆâ #JCN 0 ¤È¤¬¤¯¤· ¸Í±£ #JCN 0 ¤È¤¬¤· ÉÙ³ß #JNS 0 ¤È¤¬¤· ÉÚ³ß #JNS 0 ¤È¤¬¤á Òë¤á #KSr 1 ¤È¤¬¤ï ¸ÍÀî #JNS 0 ¤È¤­ ÅÚ´ô #JCN 0 ¤È¤­ ƾ #T35 0 ¤È¤­ ¤È¤­ #T35 184 ¤È¤­ »þ #T35 255 ¤È¤­¤¨¤À »þ»Þ #JNM 0 ¤È¤­¤ª »þÃË #JNM 0 ¤È¤­¤ª »þÉ× #JNM 0 ¤È¤­¤ª »þͺ #JNM 0 ¤È¤­¤ª¤ê »þ¤ª¤ê #F14 1 ¤È¤­¤ª¤ê »þÀÞ #F14 1 ¤È¤­¤ª¤ê »þ¤ª¤ê #T36 0 ¤È¤­¤ª¤ê »þÀÞ #T36 0 ¤È¤­¤¬¤ï ÅÔ´öÀî #JCN 0 ¤È¤­¤³ »þ»Ò #JNM 0 ¤È¤­¤¿ »þÅÄ #JNS 0 ¤È¤­¤À »þÅÄ #JNS 0 ¤È¤­¤É¤­ ¤È¤­¤É¤­ #T06 1 ¤È¤­¤É¤­ »þ¡¹ #T06 28 ¤È¤­¤á¤­ ¤È¤­¤á¤­ #T35 3 ¤È¤­¤ï ¾ïÍÕ #JCN 0 ¤È¤­¤ï ¾ïÈ× #JNS 0 ¤È¤® ÉÙÍè #JCN 0 ¤È¤® ÅÖ #T35 1 ¤È¤®¤Ä »þÄÅ #JCN 0 ¤È¤®¤ì ÅÓÀÚ¤ì #KSr 1 ¤È¤®¤ó ÅÔ¶ä #T35 1 ¤È¤¯ ¤È¤¯ #JNM 0 ¤È¤¯ Æ¿ #KJ 0 ¤È¤¯ ÆÂ #KJ 0 ¤È¤¯ ÆÅ #KJ 0 ¤È¤¯ ÆÆ #KJ 0 ¤È¤¯ ÆÀ #T10 20 ¤È¤¯ ÆÄ #T30 0 ¤È¤¯ ÆÁ #T35 10 ¤È¤¯ ÆÃ #T35 255 ¤È¤¯¤¤ ÆÃ°Û #T05 1 ¤È¤¯¤¤ ÆÀ°Õ #T05 6 ¤È¤¯¤¤¤² ÆÀ°Õµ¤ #T05 1 ¤È¤¯¤¤¤Á ÆÁ°ì #JNM 0 ¤È¤¯¤ª ÆÁÃË #JNM 0 ¤È¤¯¤ª ÆÁͺ #JNM 0 ¤È¤¯¤¬¤ï ÆÁÀî #JNS 0 ¤È¤¯¤® ÆÃµ» #T35 1 ¤È¤¯¤µ¤¯ ÆÀºö #T15 1 ¤È¤¯¤µ¤Ö¤í¤¦ ÆÁ»°Ïº #JNM 0 ¤È¤¯¤µ¤ó ÆÃ»º #T35 0 ¤È¤¯¤·¤Ä ÆÃ¼Á #T35 1 ¤È¤¯¤·¤Þ ÆÁÅç #JCN 0 ¤È¤¯¤·¤Þ¤±¤ó ÆÁÅ縩 #CNS 0 ¤È¤¯¤·¤Þ¤· ÆÁÅç»Ô #CNS 0 ¤È¤¯¤·¤å ÆÃ¼ì #T05 37 ¤È¤¯¤·¤å¤¦ ÆÃ½¸ #T30 3 ¤È¤¯¤·¤ç¤¦ ÆÃ¾Þ #T35 1 ¤È¤¯¤·¤ç¤¯ ÆÃ¿§ #T35 2 ¤È¤¯¤·¤ó ÆÀ¿´ #T30 0 ¤È¤¯¤·¤ó ÆÃ¿Ê #T30 0 ¤È¤¯¤¸ ÆÁÃÏ #JCN 0 ¤È¤¯¤¸ ÆÁ¼£ #JNM 0 ¤È¤¯¤¸¤å ÆÃ¼û #T35 1 ¤È¤¯¤¸¤í¤¦ ÆÁ¼¡Ïº #JCN 0 ¤È¤¯¤»¤¤ ÆÃÀ½ #T35 1 ¤È¤¯¤»¤¤ ÆÃÀ­ #T35 22 ¤È¤¯¤»¤Ä ÆÃÀß #T30 0 ¤È¤¯¤»¤ó ÆÃÁª #T30 0 ¤È¤¯¤½¤¦ ÆÃÁÜ #T35 0 ¤È¤¯¤½¤¦¤Ö ÆÃÁÜÉô #T35 0 ¤È¤¯¤½¤¯ ÆÄÂ¥ #T30 0 ¤È¤¯¤¾¤¦ ÆÁ¢ #JNM 0 ¤È¤¯¤¿¤í¤¦ ÆÁÂÀϺ #JNM 0 ¤È¤¯¤À ÆÁÅÄ #JNS 0 ¤È¤¯¤À¤¤ ÆÃÂç #T05 0 ¤È¤¯¤Á¤å¤¦ ÆÃÃí #T30 0 ¤È¤¯¤Á¤ç¤¦ ÆÃĹ #T35 6 ¤È¤¯¤Á¤ç¤¦ ÆÃħ #T35 77 ¤È¤¯¤Æ¤¤ ÆÃÄê #T10 59 ¤È¤¯¤Æ¤ó ÆÀÅÀ #T30 8 ¤È¤¯¤Æ¤ó ÆÃŵ #T35 2 ¤È¤¯¤È¤¦ ÆÃÅù #T35 0 ¤È¤¯¤Ê¤¬ ÆÁ±Ê #JNS 0 ¤È¤¯¤Ë ¤È¤¯¤Ë #F14 28 ¤È¤¯¤Î¤·¤Þ ÆÁÇ·Åç #CN 0 ¤È¤¯¤Ï ÆÃÇÉ #T30 1 ¤È¤¯¤Ð¤¤ ÆÃÇä #T30 2 ¤È¤¯¤Ò¤Ä ÆÃÉ® #T30 1 ¤È¤¯¤Ù¤Ä ÆÃÊÌ #T06 41 ¤È¤¯¤Þ¤ë ÆÀ´Ý #JNM 0 ¤È¤¯¤ß ÆÁÈþ #JNM 0 ¤È¤¯¤á¤¤ ÆÃÌ¿ #T35 1 ¤È¤¯¤á¤¤ ƿ̾ #T35 4 ¤È¤¯¤ä¤¯ ÆÃÌó #T30 1 ¤È¤¯¤ä¤¹ ÆÁ¹¯ #JNM 0 ¤È¤¯¤ä¤Þ ÆÁ»³ #JCN 0 ¤È¤¯¤æ¤¦ ÆÃÍ­ #T05 8 ¤È¤¯¤è¤¦ ÆÁÍÑ #T05 0 ¤È¤¯¤é ÅÔÁÒ #JNS 0 ¤È¤¯¤ì¤¤ ÆÄÎå #T30 0 ¤È¤¯¤ì¤¤ ÆÃÎã #T35 1 ¤È¤°¤Á ¸Í¸ý #T35 0 ¤È¤°¤é ¸ÍÁÒ #JCN 0 ¤È¤± ÍФ± #KS 0 ¤È¤± Í»¤± #KS 1 ¤È¤±¤¤ »þ·× #T35 9 ¤È¤±¤Ä ÅÇ·ì #T30 0 ¤È¤² ¿ë¤² #KS 1 ¤È¤² »É #T35 1 ¤È¤³ ¾ï #KJ 0 ¤È¤³ ¾² #T35 9 ¤È¤³¤¦ ÅÏ¹Ò #T30 2 ¤È¤³¤È¤ó ¤È¤³¤È¤ó #F14 1 ¤È¤³¤È¤ó ¤È¤³¤È¤ó #T36 0 ¤È¤³¤Ê¤Ä ¾ï²Æ #T35 0 ¤È¤³¤Ê¤á ¾ï³ê #JCN 0 ¤È¤³¤Ð¤·¤é ¾²Ãì #T35 0 ¤È¤³¤ä ¾²²° #T35 5 ¤È¤³¤í ¾ïϤ #JCN 0 ¤È¤³¤í ½ê #JN 0 ¤È¤³¤í ¤È¤³¤í #T35 20 ¤È¤³¤í ½ê #T35 252 ¤È¤³¤í ½è #T35 3 ¤È¤³¤í¤¬ ¤È¤³¤í¤¬ #CJ 3 ¤È¤³¤í¤¶¤ï ½êÂô #JCN 0 ¤È¤³¤í¤Ç ¤È¤³¤í¤Ç #CJ 12 ¤È¤³¤í¤É¤³¤í ½ê¡¹ #T35 1 ¤È¤µ ÅÚº´ #JCN 0 ¤È¤µ¤·¤ß¤º ÅÚº´À¶¿å #CN 0 ¤È¤µ¤Ä ÅË»¦ #T30 0 ¤È¤µ¤ä¤Þ ÅÚº´»³ #CN 0 ¤È¤µ¤ä¤Þ¤À ÅÚº´»³ÅÄ #CN 0 ¤È¤¶ ÊĤ¶ #S5 0 ¤È¤¶¤È ³°Î¤ #JNS 0 ¤È¤¶¤Þ ³°ÍÍ #T35 0 ¤È¤¶¤ï ¸ÍÂô #JCN 0 ¤È¤¶¤ó Åл³ #T30 5 ¤È¤· ¤È¤· #JNM 0 ¤È¤· ½È #KJ 0 ¤È¤· ½Ù #KJ 0 ¤È¤· È¥ #KJ 0 ¤È¤· Ì­ #KJ 0 ¤È¤· ÉÒ #KJ 14 ¤È¤· Íø #KJ 3 ¤È¤· ½Ó #KJ 5 ¤È¤· ºÐ #T35 4 ¤È¤· ÅÔ»Ô #T35 53 ¤È¤· ǯ #T35 54 ¤È¤·¤¢¤­ ½Ó¾¼ #JNM 0 ¤È¤·¤¢¤­ ½Ó¾Ï #JNM 0 ¤È¤·¤¢¤­ ½ÓÌÀ #JNM 0 ¤È¤·¤¢¤­ ǯ¾¼ #JNM 0 ¤È¤·¤¢¤­ ÉÒ¾¼ #JNM 0 ¤È¤·¤¢¤­ ÉÒÌÀ #JNM 0 ¤È¤·¤¢¤­ Íø¾¼ #JNM 0 ¤È¤·¤¢¤­ ÍøÌÀ #JNM 0 ¤È¤·¤¢¤± ǯÌÀ¤± #T35 0 ¤È¤·¤¦¤¨ ºÐ¾å #T05 1 ¤È¤·¤¦¤¨ ǯ¾å #T35 29 ¤È¤·¤¨ µ¨°á #JNM 0 ¤È¤·¤ª ¼÷ÃË #JNM 0 ¤È¤·¤ª ½ÓÃË #JNM 0 ¤È¤·¤ª ½ÓÉ× #JNM 0 ¤È¤·¤ª ½Óͺ #JNM 0 ¤È¤·¤ª ÉÒÃË #JNM 0 ¤È¤·¤ª ÉÒÉ× #JNM 0 ¤È¤·¤ª ÉÒͺ #JNM 0 ¤È¤·¤ª ÍøÃË #JNM 0 ¤È¤·¤ª ÍøÉ× #JNM 0 ¤È¤·¤ª ÍøÍº #JNM 0 ¤È¤·¤ª ÍøÏ¯ #JNM 0 ¤È¤·¤«¤º ½Ó°ì #JNM 0 ¤È¤·¤«¤º Íø°ì #JNM 0 ¤È¤·¤«¤Ä Íø¾¡ #JNM 0 ¤È¤·¤­ ¸ÍÉß #JNM 0 ¤È¤·¤­ ½Ó¼ù #JNM 0 ¤È¤·¤³ ¤È¤·»Ò #JNM 0 ¤È¤·¤³ ¥È¥·»Ò #JNM 0 ¤È¤·¤³ ¼÷»Ò #JNM 0 ¤È¤·¤³ ½Ê»Ò #JNM 0 ¤È¤·¤³ ½Ó»Ò #JNM 0 ¤È¤·¤³ ǯ»Ò #JNM 0 ¤È¤·¤³ ÉÒ»Ò #JNM 0 ¤È¤·¤³ Íø»Ò #JNM 0 ¤È¤·¤´¤í ¤È¤·¤´¤í #T35 2 ¤È¤·¤´¤í ǯº¢ #T35 3 ¤È¤·¤¿¤À ÍøÃé #JNM 0 ¤È¤·¤Ä¤­ ǯ·î #T35 1 ¤È¤·¤Ä¤° ÉÒ»Ì #JNM 0 ¤È¤·¤Æ ¤È¤·¤Æ #CJ 11 ¤È¤·¤Ê¤ß ǯÇÈ #T35 0 ¤È¤·¤Î¤Ö ÉÒ¿­ #JNM 0 ¤È¤·¤Î¤Ö Íø¿­ #JNM 0 ¤È¤·¤Î¤ê ¤È¤·¤Î¤ê #JNM 0 ¤È¤·¤Î¤ê ½ÓÈÏ #JNM 0 ¤È¤·¤Î¤ê ǯµª #JNM 0 ¤È¤·¤Ï¤ë ¼÷À² #JNM 0 ¤È¤·¤Ï¤ë ½Ó¼£ #JNM 0 ¤È¤·¤Ï¤ë Íø¼£ #JNM 0 ¤È¤·¤Ò¤³ ½Óɧ #JNM 0 ¤È¤·¤Ò¤³ ÉÒɧ #JNM 0 ¤È¤·¤Ò¤³ ÍøÉ§ #JNM 0 ¤È¤·¤Ò¤È ÉÒ¿Î #JNM 0 ¤È¤·¤Ò¤í ½ÓÇî #JNM 0 ¤È¤·¤Ò¤í ÉÒ¹¨ #JNM 0 ¤È¤·¤Ò¤í ÉÒ¹° #JNM 0 ¤È¤·¤Õ¤ß ½Ó»Ë #JNM 0 ¤È¤·¤Õ¤ß ½Óʸ #JNM 0 ¤È¤·¤Þ ½½Åç #JCN 0 ¤È¤·¤Þ Ë­Åç #JCN 0 ¤È¤·¤Þ ÍøÅç #JCN 0 ¤È¤·¤Þ ǯÁý #T35 1 ¤È¤·¤Þ¤µ ÉÒÀµ #JNM 0 ¤È¤·¤ß¤Ä ½Ó¸÷ #JNM 0 ¤È¤·¤ä ½ÓºÈ #JNM 0 ¤È¤·¤ä ÉÒºÈ #JNM 0 ¤È¤·¤æ¤­ ½Ó¹¬ #JNM 0 ¤È¤·¤æ¤­ ½Ó¹Ô #JNM 0 ¤È¤·¤æ¤­ ½ÓÇ· #JNM 0 ¤È¤·¤æ¤­ ÉÒ¹¬ #JNM 0 ¤È¤·¤æ¤­ ÉÒ¹Ô #JNM 0 ¤È¤·¤æ¤­ ÉÒÇ· #JNM 0 ¤È¤·¤æ¤­ Íø¹¬ #JNM 0 ¤È¤·¤æ¤­ ÍøÇ· #JNM 0 ¤È¤·¤ç ¿Þ½ñ #T35 13 ¤È¤·¤ç¤«¤ó ¿Þ½ñ´Û #T35 8 ¤È¤·¤è¤ê ǯ´ó¤ê #T35 2 ¤È¤·¤í¤¦ ½ÓϺ #JNM 0 ¤È¤·¤í¤¦ ÉÒϺ #JNM 0 ¤È¤·¤í¤¦ ÍøÏº #JNM 0 ¤È¤·¤ó ÅÔ¿´ #T35 1 ¤È¤¸ ÊĤ¸ #KS 28 ¤È¤¸ ÄÖ¤¸ #KSr 5 ¤È¤¸ ÅἫ #T35 0 ¤È¤¸¤­ ¸ÍÉß #JNS 0 ¤È¤¸¤³¤á ÊĤ¸¹þ¤á #KS 4 ¤È¤¸¤Þ¤ê ¸ÍÄù¤ê #T30 0 ¤È¤¸¤ç¤¦ ÅÓ¾å #T35 1 ¤È¤¸¤ç¤¦¤³¤¯ ÅÓ¾å¹ñ #T35 0 ¤È¤¹ Ä»À´ #JCN 0 ¤È¤¼¤Ä ÅÓÀä #T30 1 ¤È¤½ ÅËÁÉ #T35 0 ¤È¤½¤¦ ÅÉÁõ #T30 0 ¤È¤¿¤ó ¥È¥¿¥ó #T35 0 ¤È¤¿¤ó ÅÉú #T35 0 ¤È¤¿¤ó ÅÓü #T35 21 ¤È¤¿¤ó¤Ë ¤È¤¿¤ó¤Ë #F14 2 ¤È¤À ¸ÍÅÄ #JCN 0 ¤È¤À¤¨ ÅÓÀ䤨 #KS 2 ¤È¤À¤Ê ¸Íê #T35 0 ¤È¤Á ÆÊ #KJ 0 ¤È¤Á ÆË #KJ 0 ¤È¤Á ÅÚÃÏ #T35 10 ¤È¤Á¤ª ÆÊÈø #JCN 0 ¤È¤Á¤® ÆÊÌÚ #JCN 0 ¤È¤Á¤®¤±¤ó ÆÊÌÚ¸© #CNS 0 ¤È¤Á¤å¤¦ ÅÓÃæ #T35 84 ¤È¤Á¤ç¤¦ ÅÔÄ£ #T35 0 ¤È¤Ã¤« ÆÃ²½ #T30 0 ¤È¤Ã¤« ÆÃ²Á #T35 0 ¤È¤Ã¤«¤¤ ÆÃ²ò #T35 0 ¤È¤Ã¤«¤ó ÆÍ´Ó #T30 0 ¤È¤Ã¤­ ÆÍµ¯ #T30 1 ¤È¤Ã¤­¤å¤¦ ÆÃµÞ #T35 4 ¤È¤Ã¤­¤ç ÆÃµö #T30 19 ¤È¤Ã¤¯¤Ë ¤È¤Ã¤¯¤Ë #F14 1 ¤È¤Ã¤¯¤Î ¤È¤Ã¤¯¤Î #RT 0 ¤È¤Ã¤¯¤ß¤¢ ¼è¤ÃÁȤ߹ç #W5r 0 ¤È¤Ã¤¯¤ê ÆÁÍø #T35 1 ¤È¤Ã¤¯¤ó ÆÃ·± #T30 1 ¤È¤Ã¤±¤ó ÆÃ¸¢ #T35 2 ¤È¤Ã¤³¤¦¤ä¤¯ ÆÃ¸úÌô #T35 1 ¤È¤Ã¤·¤å¤Ä ÆÍ½Ð #T30 0 ¤È¤Ã¤·¤ó ÆÍ¿Ê #T30 0 ¤È¤Ã¤Æ ¤È¤Ã¤Æ #T35 0 ¤È¤Ã¤Æ ¼è¤Ã¼ê #T35 0 ¤È¤Ã¤Æ ¼è¼ê #T35 0 ¤È¤Ã¤Æ ÇĤüê #T35 0 ¤È¤Ã¤Æ Çļê #T35 0 ¤È¤Ã¤Æ¤«¤ï ¤È¤Ã¤ÆÂå¤ï #R5 0 ¤È¤Ã¤Æ¤«¤ï ¼è¤Ã¤ÆÂå¤ï #R5 0 ¤È¤Ã¤È¤ê Ä»¼è #JCN 0 ¤È¤Ã¤È¤ê¤±¤ó Ä»¼è¸© #CNS 0 ¤È¤Ã¤È¤ê¤· Ä»¼è»Ô #CNS 0 ¤È¤Ã¤Ñ ÆÍÇË #T30 2 ¤È¤Ã¤Ñ¤Ä ÆÍȯ #T30 0 ¤È¤Ã¤Ñ¤ó ÆÌÈÇ #KK 3 ¤È¤Ã¤Ô¤ç¤¦¤· ÆÍÇï»Ò #T35 0 ¤È¤Ã¤× ¥È¥Ã¥× #T35 35 ¤È¤Ã¤×¤¦ ÆÍÉ÷ #T35 0 ¤È¤Ã¤×¤À¤¦¤ó ¥È¥Ã¥×¥À¥¦¥ó #T05 3 ¤È¤Ã¤×¤ê ¤È¤Ã¤×¤ê #F06 0 ¤È¤Ä ²Ç #G5 1 ¤È¤Ä ÆÍ #KJ 1 ¤È¤Ä ÆÌ #T35 3 ¤È¤Ä¤« ¸ÍÄÍ #JCN 0 ¤È¤Ä¤«¤ï ½½ÄÅÀî #JCN 0 ¤È¤Ä¤±¤Ä¤´¤¦ ÆÌ·ë¹ç #T35 1 ¤È¤Ä¤¸¤ç ÆÍÇ¡ #F14 1 ¤È¤Ä¤¸¤ç ÆÍÇ¡ #T36 0 ¤È¤Ä¤¸¤ç¤È¤·¤Æ ÆÍÇ¡¤È¤·¤Æ #F14 1 ¤È¤Ä¤¼¤ó ÆÍÁ³ #F02 31 ¤È¤Ä¤¼¤ó ÆÍÁ³ #T06 56 ¤È¤Ä¤Ë¤å¤¦ ÆÍÆþ #T30 2 ¤È¤Ä¤Ø¤¤¤Û¤¦ ÆÌÊÄÊñ #T35 2 ¤È¤Æ¤¤ ÅÌÄï #T35 0 ¤È¤Æ¤Ä ¤È¤Æ¤Ä #T35 1 ¤È¤Æ¤â ¤È¤Æ¤â #F14 53 ¤È¤È¤Î Ä´ #W5 0 ¤È¤È¤Î À° #W5 16 ¤È¤È¤Î¤¨ Ä´¤¨ #KSr 0 ¤È¤È¤Î¤¨ À°¤¨ #KSr 4 ¤È¤É ÆÏ #K5 255 ¤È¤É ÆÎ #KJ 1 ¤È¤É¤¦¤Õ¤±¤ó ÅÔÆ»Éܸ© #T35 1 ¤È¤É¤± ÆÏ¤± #KSr 2 ¤È¤É¤± ÆÏ #SUC 6 ¤È¤É¤± ÆÏ #T35 1 ¤È¤É¤±¤Ç ÆÏ½Ð #T30 0 ¤È¤É¤³¤ª ÂÚ #R5r 1 ¤È¤É¤Û¤Ã¤± ÆÎË¡²Ú #CN 0 ¤È¤É¤Þ α¤Þ #R5 2 ¤È¤É¤Þ¤Ä ÆÎ #T35 0 ¤È¤É¤á α¤á #KS 0 ¤È¤É¤á »ß¤á #KSr 0 ¤È¤É¤á ¤È¤É¤á #KSr 5 ¤È¤É¤í ¹ì #K5r 4 ¤È¤É¤í¤­ ¹ì #JCN 0 ¤È¤É¤í¤­ Åù¡¹ÎÏ #JCN 0 ¤È¤Ê¤¤ ÅÔÆâ #T35 5 ¤È¤Ê¤¨ ¾§¤¨ #KS 2 ¤È¤Ê¤­ ÅÏ̾´î #JCN 0 ¤È¤Ê¤ß Å×ÇÈ #JCN 0 ¤È¤Ê¤ß âêÇÈ #JNS 0 ¤È¤Ê¤ê ¤È¤Ê¤ê #T35 3 ¤È¤Ê¤ê ÎÙ #T35 53 ¤È¤Ê¤ê¤¢ ÎÙ¤ê¹ç #W5r 0 ¤È¤Ê¤ê¤¢¤ï¤» ÎÙ¹ç¤ï¤» #KSr 0 ¤È¤Ê¤ó ÅÔÆî #CN 0 ¤È¤Ë¤«¤¯ ¤È¤Ë¤«¤¯ #F14 29 ¤È¤Í Íøº¬ #JCN 0 ¤È¤Í ÅẬ #JNS 0 ¤È¤Í¤ä¤Þ ÅẬ»³ #JNS 0 ¤È¤Î Å #T35 12 ¤È¤Î¤·¤ç¤¦ ÅÚ¾± #JCN 0 ¤È¤Ï¤¤¤Ã¤Æ¤â ¤È¤Ï¸À¤Ã¤Æ¤â #CJ 0 ¤È¤Ð Ä»±© #JCN 0 ¤È¤Ð Èô¤Ð #S5r 18 ¤È¤Ð¤¯ ÅÒÇî #T35 1 ¤È¤Ð¤¿ ¸ÍȪ #JCN 0 ¤È¤Ð¤Ã¤Á¤ê ¤È¤Ð¤Ã¤Á¤ê #T35 0 ¤È¤Ð¤ê Ä¢ #T35 0 ¤È¤Ó ÆÐ #T35 0 ¤È¤Ó¤ª¤ê Èô¤Ó¹ß¤ê #KSr 1 ¤È¤Ó¤« Èô¤Ó¸ò #W5 7 ¤È¤Ó¤³ ¤È¤Ó¤³ #M5r 2 ¤È¤Ó¤³ Èô¤Ó¹þ #M5r 2 ¤È¤Ó¤³ Èô¤Ó±Û #S5r 1 ¤È¤Ó¤³¤¨ Èô¤Ó±Û¤¨ #KSr 0 ¤È¤Ó¤·¤Þ ÈôÅç #JCN 0 ¤È¤Ó¤¿ ÈôÅÄ #JCN 0 ¤È¤Ó¤À Èô¤Ó½Ð #S5r 2 ¤È¤Ó¤Á Èô¤Ó»¶ #R5r 1 ¤È¤Ó¤Ä Èô¤Ó¤Ä #K5r 2 ¤È¤Ó¤Î Èô¤Ó¾è #R5r 0 ¤È¤Ó¤Ï¤Í Èô¤ÓÄ·¤Í #KS 0 ¤È¤Ó¤Þ¤ï Èô¤Ó²ó #R5 0 ¤È¤Ó¤é Èâ #T35 1 ¤È¤Ô¤Ã¤¯ ¥È¥Ô¥Ã¥¯ #T35 0 ¤È¤Ô¤Ã¤¯¤¹ ¥È¥Ô¥Ã¥¯¥¹ #T35 1 ¤È¤Ö¤¯¤í ¸ÍÂÞ #T35 0 ¤È¤Ù ÅÖÉô #JCN 0 ¤È¤Ù¤¤ ÅÏÊÆ #T30 3 ¤È¤Û ÅÌÊâ #T35 5 ¤È¤Û¤¦ ÅÓÊý #T35 1 ¤È¤Ü¤· ˳¤· #KY 1 ¤È¤Ü¤·¤å¤¦ ˳¤·¤å¤¦ #KYU 1 ¤È¤Ü¤È¤Ü ¤È¤Ü¤È¤Ü #F06 0 ¤È¤Ý¤í¤¸¡¼ ¥È¥Ý¥í¥¸¡¼ #T35 2 ¤È¤Þ ÆÑ #KJ 0 ¤È¤Þ α¤Þ #R5 0 ¤È¤Þ »ß¤Þ #R5 52 ¤È¤Þ Çñ¤Þ #R5r 37 ¤È¤Þ¤³¤Þ¤¤ ÆÑ¾®ËÒ #CN 0 ¤È¤Þ¤¿ ÆÑÅÄ #JCN 0 ¤È¤Þ¤Ä ÅÉË÷ #T30 1 ¤È¤Þ¤È ¥È¥Þ¥È #T35 2 ¤È¤Þ¤É ¤È¤Þ¤É #W5r 0 ¤È¤Þ¤É ¸ÍÏÇ #W5r 3 ¤È¤Þ¤Þ¤¨ ÆÑÁ° #JCN 0 ¤È¤Þ¤à ¥È¥Þ¥à #CN 0 ¤È¤Þ¤ê Çñ #JCN 0 ¤È¤Þ¤ê Çñ¤ê #T35 0 ¤È¤Þ¤ê¤³ Çñ¤ê¹þ #M5r 2 ¤È¤ß ÅÐÈþ #JN 0 ¤È¤ß ÉÙ #JN 0 ¤È¤ß ¤È¤ß #JNM 0 ¤È¤ß ¥È¥ß #JNM 0 ¤È¤ß ÉÚ #KJ 0 ¤È¤ß ÉÙ #T35 2 ¤È¤ß¤¢¤¤ ÉÙ¹ç #JCN 0 ¤È¤ß¤¦¤é ÉÙ±º #JCN 0 ¤È¤ß¤¨ ÉÙ¹¾ #JCN 0 ¤È¤ß¤ª ÉÙͺ #JCN 0 ¤È¤ß¤ª ÉÙÃË #JNM 0 ¤È¤ß¤ª ÉÙÉ× #JNM 0 ¤È¤ß¤ª¤« ÉÙ²¬ #JCN 0 ¤È¤ß¤ª¤« ÉÚ²¬ #JNS 0 ¤È¤ß¤« Éٲà #JCN 0 ¤È¤ß¤«¤ï ÉÙÀî #JNS 0 ¤È¤ß¤°¤¹¤¯ Ë­¸«¾ë #CN 0 ¤È¤ß¤³ ÉÙ»Ò #JNM 0 ¤È¤ß¤³ ÉÙÈþ»Ò #JNM 0 ¤È¤ß¤µ¤È ÉÙΤ #JCN 0 ¤È¤ß¤µ¤ï ÉÙÂô #JNS 0 ¤È¤ß¤µ¤ï ÉÚÂô #JNS 0 ¤È¤ß¤¶¤ï ÉÙÂô #JCN 0 ¤È¤ß¤¸ ÉÙ¼£ #JNM 0 ¤È¤ß¤¿ ÉÙÅÄ #JNS 0 ¤È¤ß¤¿ ÉÚÅÄ #JNS 0 ¤È¤ß¤Ê¤¬ ÉÙ±Ê #JNS 0 ¤È¤ß¤Ê¤¬ ÉÚ±Ê #JNS 0 ¤È¤ß¤Ë ¤È¤ß¤Ë #F14 0 ¤È¤ß¤ä ÉÙë #JCN 0 ¤È¤ß¤ä¤Þ ÉÙ»³ #JNS 0 ¤È¤ß¤ó ÅÔ̱ #T35 0 ¤È¤à¤é ³°Â¼ #JNS 0 ¤È¤à¤é ¸Í¼ #JNS 0 ¤È¤à¤é Ĥ #W5r 0 ¤È¤á ÅÐÊÆ #JCN 0 ¤È¤á ¤È¤á #JNM 0 ¤È¤á Ää¤á #KS 0 ¤È¤á ¤È¤á #KS 1 ¤È¤á α¤á #KS 1 ¤È¤á »ß¤á #KS 47 ¤È¤á Çñ¤á #KS 5 ¤È¤á¤­¤Á αµÈ #JNM 0 ¤È¤á¤³ α»Ò #JNM 0 ¤È¤á¤¸ α¼£ #JNM 0 ¤È¤á¤½¤Ç αµ #T35 1 ¤È¤â Êþ #KJ 2 ¤È¤â ÃÒ #KJ 34 ¤È¤â ¤È¤â #T35 100 ¤È¤â ͧ #T35 11 ¤È¤â ¶¡ #T35 2 ¤È¤â ¶¦ #T35 43 ¤È¤â¤¢¤ì ¤È¤â¤¢¤ì #CJ 1 ¤È¤â¤¤¤· ͧÀÐ #JNS 0 ¤È¤â¤¤¤Á ͧ°ì #JNM 0 ¤È¤â¤¨ Çà #T35 0 ¤È¤â¤«¤¯ ¤È¤â¤«¤¯ #F14 10 ¤È¤â¤«¤º ͧÏ #JNM 0 ¤È¤â¤­¤Á ͧµÈ #JNM 0 ¤È¤â¤³ ¤È¤â¤³ #JNM 0 ¤È¤â¤³ ÃÎ»Ò #JNM 0 ¤È¤â¤³ ÃÒ»Ò #JNM 0 ¤È¤â¤³ Ä«»Ò #JNM 0 ¤È¤â¤³ Êþ»Ò #JNM 0 ¤È¤â¤³ ͧ»Ò #JNM 0 ¤È¤â¤¸ ͧ¼£ #JNM 0 ¤È¤â¤À¤Á ͧã #T35 37 ¤È¤â¤Á ÅÖÍÑ #JCN 0 ¤È¤â¤É¤â ¶¦¡¹ #F14 2 ¤È¤â¤É¤â ¶¦¡¹ #T36 0 ¤È¤â¤Ê ȼ #W5 45 ¤È¤â¤Ê¤¬ Ä«±Ê #JNS 0 ¤È¤â¤Ê¤¬ ͧ±Ê #JNS 0 ¤È¤â¤Ë ¤È¤â¤Ë #CJ 3 ¤È¤â¤Ï¤ë Ãμ£ #JNM 0 ¤È¤â¤Ð¤¿¤é¤­ ¶¦Æ¯¤­ #T30 1 ¤È¤â¤Ò¤³ ͧɧ #JNM 0 ¤È¤â¤Ò¤í ÃÒÇî #JNM 0 ¤È¤â¤Ò¤í ͧÍÎ #JNM 0 ¤È¤â¤Ó¤­ ͧ°ú #T35 0 ¤È¤â¤Ù ͧÉô #JCN 0 ¤È¤â¤æ¤­ ÃÒÇ· #JNM 0 ¤È¤â¤æ¤­ ÊþÇ· #JNM 0 ¤È¤â¤æ¤ß ÃÒÇ· #JNM 0 ¤È¤â¤è ÃÎÀ¤ #JNM 0 ¤È¤â¤è ÃÎÂå #JNM 0 ¤È¤ä ¸Íë #JNS 0 ¤È¤ä¤«¤¯ ¤È¤ä¤«¤¯ #F14 0 ¤È¤ä¤Þ ÉÙ»³ #JCN 0 ¤È¤ä¤Þ ³°»³ #JNS 0 ¤È¤ä¤Þ ÉÚ»³ #JNS 0 ¤È¤ä¤Þ¤±¤ó ÉÙ»³¸© #CNS 0 ¤È¤ä¤Þ¤· ÉÙ»³»Ô #CNS 0 ¤È¤è ¥È¥è #JNM 0 ¤È¤è Ë­ #T35 10 ¤È¤è¤¢¤­ Ë­ÌÀ #JN 0 ¤È¤è¤¢¤± Ë­ÌÀ #JCN 0 ¤È¤è¤¦¤é Ë­±º #JCN 0 ¤È¤è¤ª¤« Ë­²¬ #JCN 0 ¤È¤è¤ª¤« Ë­µÖ #JCN 0 ¤È¤è¤«¤º Ë­Ï #JNM 0 ¤È¤è¤«¤ï Ë­Àî #JCN 0 ¤È¤è¤­ Ë­¼ù #JNM 0 ¤È¤è¤­¤Á Ë­µÈ #JNM 0 ¤È¤è¤³ Ë­»Ò #JNM 0 ¤È¤è¤³¤í Ë­º¢ #JCN 0 ¤È¤è¤µ¤« Ë­±É #JCN 0 ¤È¤è¤µ¤¯ Ë­ºî #JNS 0 ¤È¤è¤µ¤È Ë­¶¿ #JCN 0 ¤È¤è¤µ¤È ˭Τ #JCN 0 ¤È¤è¤·¤Ê Ë­²Ê #JCN 0 ¤È¤è¤·¤Þ Ë­Åç #JNS 0 ¤È¤è¤·¤Þ Ë­Åè #JNS 0 ¤È¤è¤¸ Ë­¼£ #JN 0 ¤È¤è¤¿ Ë­ÅÄ #JCN 0 ¤È¤è¤¿ ¥È¥è¥¿ #KK 1 ¤È¤è¤¿¤Þ Ë­¶Ì #JCN 0 ¤È¤è¤À Ë­ÅÄ #JCN 0 ¤È¤è¤Ä Ë­ÄÅ #JCN 0 ¤È¤è¤È¤ß Ë­ÉÙ #JCN 0 ¤È¤è¤È¤ß Ë­¿Ã #JNS 0 ¤È¤è¤Ê¤« Ë­Ãæ #JCN 0 ¤È¤è¤Í Ë­º¬ #JCN 0 ¤È¤è¤Î ˭ǽ #JCN 0 ¤È¤è¤Î Ë­Ìî #JCN 0 ¤È¤è¤Ï¤· Ë­¶¶ #JCN 0 ¤È¤è¤Ï¤Þ Ë­ÉÍ #JCN 0 ¤È¤è¤Ò¤é Ë­Ê¿ #JCN 0 ¤È¤è¤Þ ÅÐÊÆ #JCN 0 ¤È¤è¤Þ¤Ä Ë­¾¾ #JCN 0 ¤È¤è¤ä¤Þ Ë­»³ #JCN 0 ¤È¤é ÆÒ #T35 2 ¤È¤é ¸× #T35 4 ¤È¤é¤¤ ÅÏÍè #T30 0 ¤È¤é¤¤ ¥È¥é¥¤ #T30 2 ¤È¤é¤¨ Êᤨ #KS 0 ¤È¤é¤¨ Êá¤é¤¨ #KS 2 ¤È¤é¤¨ ¤È¤é¤¨ #KS 37 ¤È¤é¤¨ ª¤¨ #KS 6 ¤È¤é¤ª ¸×ͺ #JNM 0 ¤È¤é¤ª ÆÒÃË #JNM 0 ¤È¤é¤ª ÆÒͺ #JNM 0 ¤È¤é¤­¤Á ÆÒµÈ #JNM 0 ¤È¤é¤¯¤¿ ¥È¥é¥¯¥¿ #T35 1 ¤È¤é¤¯¤¿¡¼ ¥È¥é¥¯¥¿¡¼ #T35 1 ¤È¤é¤Ã¤­¤ó¤° ¥È¥é¥Ã¥­¥ó¥° #T30 1 ¤È¤é¤Ã¤¯ ¥È¥é¥Ã¥¯ #T35 3 ¤È¤é¤Ã¤× ¥È¥é¥Ã¥× #T30 3 ¤È¤é¤Î¤â¤ó ¸×¥ÎÌç #CN 0 ¤È¤é¤Ð¡¼¤æ ¥È¥é¥Ð¡¼¥æ #T30 2 ¤È¤é¤Ò¤³ ÆÒɧ #JNM 0 ¤È¤é¤Ò¤Ã¤¯ ¥È¥é¥Ò¥Ã¥¯ #T35 33 ¤È¤é¤Ò¤á ¸×ɱ #JCN 0 ¤È¤é¤Õ¤£¤Ã¤¯ ¥È¥é¥Õ¥£¥Ã¥¯ #T35 25 ¤È¤é¤Ö¤ë ¥È¥é¥Ö¥ë #T35 53 ¤È¤é¤Ù¤ë ¥È¥é¥Ù¥ë #T35 0 ¤È¤é¤ï¤ì ¼ü¤ï¤ì #KSr 1 ¤È¤é¤ï¤ì Êá¤é¤ï¤ì #KSr 1 ¤È¤é¤ó¤¯ ¥È¥é¥ó¥¯ #T35 3 ¤È¤é¤ó¤¶¤¯¤·¤ç¤ó ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó #T35 15 ¤È¤é¤ó¤·¡¼¤Ð ¥È¥é¥ó¥·¡¼¥Ð #T35 16 ¤È¤é¤ó¤·¤ë¤Ð¤Ë¤¢ ¥È¥é¥ó¥·¥ë¥Ð¥Ë¥¢ #CN 0 ¤È¤é¤ó¤¸¤§¤ó¤È ¥È¥é¥ó¥¸¥§¥ó¥È #T05 0 ¤È¤é¤ó¤¸¤¹¤¿ ¥È¥é¥ó¥¸¥¹¥¿ #T35 8 ¤È¤é¤ó¤¸¤¹¤¿¡¼ ¥È¥é¥ó¥¸¥¹¥¿¡¼ #T35 8 ¤È¤é¤ó¤¹¤Õ¤¡ ¥È¥é¥ó¥¹¥Õ¥¡ #T30 1 ¤È¤é¤ó¤¹¤Õ¤¡¡¼ ¥È¥é¥ó¥¹¥Õ¥¡¡¼ #T30 1 ¤È¤é¤ó¤¹¤Ý¡¼¤È ¥È¥é¥ó¥¹¥Ý¡¼¥È #T30 8 ¤È¤é¤ó¤¹¤ì¡¼¤¿¡¼ ¥È¥é¥ó¥¹¥ì¡¼¥¿¡¼ #T35 1 ¤È¤é¤ó¤¹¤ì¡¼¤È ¥È¥é¥ó¥¹¥ì¡¼¥È #T30 1 ¤È¤é¤ó¤× ¥È¥é¥ó¥× #T35 2 ¤È¤é¤ó¤Ú¤Ã¤È ¥È¥é¥ó¥Ú¥Ã¥È #T35 0 ¤È¤ê ¶Ù #KJ 0 ¤È¤ê ÆÓ #T35 0 ¤È¤ê Ä» #T35 23 ¤È¤ê¤¢ ¼è¤ê¹ç #W5r 3 ¤È¤ê¤¢¤¨¤º ¼è¤ê´º¤¨¤º #F14 27 ¤È¤ê¤¢¤¨¤º ¤È¤ê¤¢¤¨¤º #F14 97 ¤È¤ê¤¢¤¨¤º ¤È¤ê¤¢¤¨¤º #T36 0 ¤È¤ê¤¢¤¨¤º ¼è¤ê´º¤¨¤º #T36 0 ¤È¤ê¤¢¤² ¤È¤ê¾å¤² #KSr 1 ¤È¤ê¤¢¤² ¼è¤ê¾å¤² #KSr 4 ¤È¤ê¤¢¤Ä¤« ¼è¤ê°· #W5r 56 ¤È¤ê¤¢¤Ä¤« ¼è°· #W5r 8 ¤È¤ê¤¢¤Ä¤«¤¤ ¼è°· #T35 1 ¤È¤ê¤¢¤Ä¤á ¼è¤ê½¸¤á #KSr 0 ¤È¤ê¤¤ Ä»µï #JCN 0 ¤È¤ê¤¤¤½¤® ¼è¤êµÞ¤® #F14 2 ¤È¤ê¤¤¤½¤® ¼è¤êµÞ¤® #T36 0 ¤È¤ê¤¤¤ì ºÎ¤êÆþ¤ì #KSr 27 ¤È¤ê¤¤¤ì ¼è¤êÆþ¤ì #KSr 4 ¤È¤ê¤¤¤ì ¼èÆþ¤ì #T30 0 ¤È¤ê¤¦¤ß Ä»³¤ #JNS 0 ¤È¤ê¤¨ ¤È¤ê¤¨ #T35 1 ¤È¤ê¤¨ ¼è¤êÊÁ #T35 1 ¤È¤ê¤ª ¥È¥ê¥ª #T35 1 ¤È¤ê¤ª¤³¤Ê ¼¹¤ê¹Ô #W5 1 ¤È¤ê¤ª¤È ¼è¤êÍî¤È #S5r 0 ¤È¤ê¤«¤¨ ¼è¤ê´¹¤¨ #KSr 3 ¤È¤ê¤«¤¨ ¼è¤êÂØ¤¨ #KSr 3 ¤È¤ê¤«¤¨ ¼è¤êÊÖ #S5r 1 ¤È¤ê¤«¤« ¼è¤ê³Ý¤« #R5r 2 ¤È¤ê¤«¤³ ¼è¤ê°Ï #M5r 1 ¤È¤ê¤«¤ï ¼è¤ê¸ò¤ï #S5r 1 ¤È¤ê¤¬ ¥È¥ê¥¬ #T30 4 ¤È¤ê¤¬¡¼ ¥È¥ê¥¬¡¼ #T35 1 ¤È¤ê¤­¤á ¼è¤ê·è¤á #KSr 6 ¤È¤ê¤¯ ¼è¤êÁÈ #M5r 4 ¤È¤ê¤¯¤º ¼è¤êÊø #S5 0 ¤È¤ê¤± ¼è¤ê¾Ã #S5r 9 ¤È¤ê¤±¤· ¼è¾Ã #T35 14 ¤È¤ê¤³ ¼è¤ê¹þ #M5r 47 ¤È¤ê¤³ κ #T35 1 ¤È¤ê¤³¤ï ¼è¤ê²õ #S5r 0 ¤È¤ê¤´¤¨ Ä»±Û #JCN 0 ¤È¤ê¤µ ¼è¤êµî #R5 2 ¤È¤ê¤µ¤² ¼è¤ê²¼¤² #KSr 1 ¤È¤ê¤¶¤¿ ¼è¤ê¤¶¤¿ #T30 0 ¤È¤ê¤·¤­ ¼è¤ê»ÅÀÚ #R5r 1 ¤È¤ê¤·¤Þ ¼è¤êÄù¤Þ #R5r 0 ¤È¤ê¤·¤Þ¤ê ¼èÄù¤ê #T30 0 ¤È¤ê¤·¤Þ¤ê¤ä¤¯ ¼èÄùÌò #T35 3 ¤È¤ê¤·¤é¤Ù ¼è¤êÄ´¤Ù #KSr 0 ¤È¤ê¤·¤é¤Ù ¼èÄ´ #T35 0 ¤È¤ê¤½¤í ¼è¤ê· #W5r 0 ¤È¤ê¤½¤í¤¨ ¼è¤ê·¤¨ #KSr 0 ¤È¤ê¤¿¤Æ ¼è¤êΩ¤Æ #KSr 1 ¤È¤ê¤¿¤Æ ¼èΩ #T35 0 ¤È¤ê¤¿¤Ë Ļë #JNS 0 ¤È¤ê¤À ¤È¤ê¤À #S5r 1 ¤È¤ê¤À ¼è¤ê½Ð #S5r 79 ¤È¤ê¤Á¤¬¤¨ ¼è¤ê°ã¤¨ #KSr 1 ¤È¤ê¤Ä ¼è¤ê¼¡ #G5r 2 ¤È¤ê¤Ä ¼è¤êÉÕ #K5r 0 ¤È¤ê¤Ä ÅÔΩ #T35 11 ¤È¤ê¤Ä¤¯¤í ¼è¤êÁ¶ #W5r 0 ¤È¤ê¤Ä¤± ¼è¤êÉÕ¤± #KSr 3 ¤È¤ê¤Ä¤± ¼è¤ê¤Ä¤± #KSr 0 ¤È¤ê¤Ä¤± ¼èÉÕ #T35 0 ¤È¤ê¤Ç ¼è¼ê #JCN 0 ¤È¤ê¤Ç ºÖ #T35 1 ¤È¤ê¤È¤á ¼è¤êα¤á #KSr 2 ¤È¤ê¤Ê ¼¹¤êÀ® #S5 0 ¤È¤ê¤Î¤³ ¼è¤ê»Ä #S5r 1 ¤È¤ê¤Î¤¾ ¼è¤ê½ü #K5r 25 ¤È¤ê¤Ï¤«¤é ¼è¤ê·×¤é #W5r 0 ¤È¤ê¤Ï¤º ¼è¤ê³° #S5r 1 ¤È¤ê¤Ï¤À Ļȩ #T35 1 ¤È¤ê¤Ï¤é ¼è¤êʧ #W5r 1 ¤È¤ê¤Ò¤­ ¼è¤ê°ú¤­ #T30 3 ¤È¤ê¤Ò¤­ ¼è°ú #T35 1 ¤È¤ê¤Ò¤­¤µ¤­ ¼è°úÀè #T35 1 ¤È¤ê¤×¤ë ¥È¥ê¥×¥ë #T35 1 ¤È¤ê¤Þ ¼è¤ê´¬ #K5r 1 ¤È¤ê¤Þ¤¼ ¼è¤êº®¤¼ #KS 1 ¤È¤ê¤Þ¤È¤á ¼è¤ê¤Þ¤È¤á #KSr 34 ¤È¤ê¤ß¤À ¼è¤êÍð #S5 0 ¤È¤ê¤á Ä»ÌÜ #T35 0 ¤È¤ê¤â ¼è¤ê»ý #T5r 0 ¤È¤ê¤â¤É ¼è¤êÌá #S5r 2 ¤È¤ê¤â¤Î Êáʪ #T35 1 ¤È¤ê¤ä Ä»²° #JCN 0 ¤È¤ê¤ä¤Þ Ä»»³ #JNS 0 ¤È¤ê¤ä¤á ¼è¤ê»ß¤á #KSr 0 ¤È¤ê¤ç¤¦ ÅÉÎÁ #T35 0 ¤È¤ê¤è¤» ¼è¤ê´ó¤» #KSr 2 ¤È¤ê¤ï¤­ Ä»ÏÆ #JNS 0 ¤È¤ê¤ï¤± ¤È¤ê¤ï¤± #F14 2 ¤È¤ê¤ï¤± ¤È¤ê¤ï¤± #T16 0 ¤È¤ë¤¯ ¥È¥ë¥¯ #T35 0 ¤È¤ë¤³ ¥È¥ë¥³ #CN 0 ¤È¤ì¡¼¤·¤ó¤° ¥È¥ì¡¼¥·¥ó¥° #T30 2 ¤È¤ì¡¼¤¹ ¥È¥ì¡¼¥¹ #T30 23 ¤È¤ì¡¼¤É¤ª¤Õ ¥È¥ì¡¼¥É¥ª¥Õ #T30 2 ¤È¤ì¡¼¤Ê¡¼ ¥È¥ì¡¼¥Ê¡¼ #T35 1 ¤È¤ì¡¼¤Ë¤ó¤° ¥È¥ì¡¼¥Ë¥ó¥° #T30 2 ¤È¤ì¤¤ ¥È¥ì¥¤ #T35 1 ¤È¤ì¤é¤ó¤È ¥È¥ì¥é¥ó¥È #T35 4 ¤È¤ì¤ó¤É ¥È¥ì¥ó¥É #T35 6 ¤È¤í ¥È¥í #KYme 0 ¤È¤í ¥È¥í #T35 0 ¤È¤í ÅÐϤ #JCN 0 ¤È¤í ÅÇϪ #T30 0 ¤È¤í¡¼¤Á ¥È¥í¡¼¥Á #T35 0 ¤È¤í¤¦ ÅÌÏ« #T35 1 ¤È¤í¤± ¤È¤í¤± #KS 1 ¤È¤í¤Õ¤£¡¼ ¥È¥í¥Õ¥£¡¼ #T35 1 ¤È¤í¤ó ¥È¥í¥ó #KK 0 ¤È¤í¤ó¤È ¥È¥í¥ó¥È #CN 0 ¤È¤í¤ó¤Ü¡¼¤ó ¥È¥í¥ó¥Ü¡¼¥ó #T35 0 ¤È¤ï¤À ½½ÏÂÅÄ #JCN 0 ¤È¤ï¤À¤³ ½½ÏÂÅĸР#CN 0 ¤È¤ó ¥È¥ó #JS 0 ¤È¤ó ÆÕ #JS 0 ¤È¤ó ÆÖ #KJ 0 ¤È¤ó Æ× #KJ 0 ¤È¤ó ÆØ #KJ 0 ¤È¤ó ÆÙ #KJ 0 ¤È¤ó ÆÚ #KJ 0 ¤È¤ó ÆÛ #KJ 0 ¤È¤ó ÆÜ #KJ 0 ¤È¤ó ÆÕ #KJ 3 ¤È¤ó¤«¤Ä ÆÚ¥«¥Ä #T35 0 ¤È¤ó¤À¤Ð¤ä¤· ÉÙÅÄÎÓ #JCN 0 ¤È¤ó¤Á¤ã¤¯ ÆÜÃå #T30 0 ¤È¤ó¤Á¤ó¤«¤ó ¤È¤ó¤Á¤ó¤«¤ó #T05 2 ¤È¤ó¤Á¤ó¤«¤ó ÆÜÄÁ´Á #T05 2 ¤È¤ó¤Ç¤â¤Ê ¤È¤ó¤Ç¤â¤Ê #KY 2 ¤È¤ó¤Ç¤â¤Î¤¦ ¤È¤ó¤Ç¤â¤Î¤¦ #KYU 1 ¤È¤ó¤Ç¤ó¤Ø¤¤ ÆÖÅÄʼ #T35 1 ¤È¤ó¤È ¤È¤ó¤È #F14 0 ¤È¤ó¤Í¤ë ¥È¥ó¥Í¥ë #T35 2 ¤È¤ó¤Ð¤é ÆÜ¸¶ #JCN 0 ¤È¤ó¤Ó ÆÐ #T35 0 ¤È¤ó¤Ü éñéÙ #T35 0 ¤È¤ó¤Ü ¤È¤ó¤Ü #T35 2 ¤È¤ó¤Ü¤¬¤¨¤ê ¤È¤ó¤ÜÊÖ¤ê #T30 0 ¤È¤ó¤Ü¤¬¤¨¤ê éñéÙÊÖ¤ê #T30 0 ¤É ¡ë #JS 1 ¤É ÅÙ #JS 146 ¤É ÅÈ #KJ 0 ¤É ÅÛ #KJ 0 ¤É ÅØ #KJ 1 ¤É ÅÜ #KJ 1 ¤É ¸Í #KJ 4 ¤É ÅÚ #KJ 80 ¤É ÅÙ #SUC 0 ¤É ÅÙ #T30 7 ¤É ¡ë #T35 1 ¤É¡¼¤Ê¤Ä ¥É¡¼¥Ê¥Ä #T35 1 ¤É¡¼¤à ¥É¡¼¥à #T35 1 ¤É¤¢ ¥É¥¢ #T35 8 ¤É¤¢¤¤ ÅÙ¹ç #T35 1 ¤É¤¢¤Û ¤É°¤Êò #T05 1 ¤É¤¤ ÅÚ°æ #JCN 0 ¤É¤¤ ÅÚµï #JCN 0 ¤É¤¤¤Ä ¥É¥¤¥Ä #CN 0 ¤É¤¤¤Ä¤´ ¥É¥¤¥Ä¸ì #KK 4 ¤É¤¦ ¤É¤¦ #F14 116 ¤É¤¦ ¶Í #KJ 0 ¤É¤¦ Æ£ #KJ 0 ¤É¤¦ Ư #KJ 0 ¤É¤¦ Ʊ #KJ 0 ¤É¤¦ Ʋ #KJ 0 ¤É¤¦ Ƶ #KJ 0 ¤É¤¦ Æ· #KJ 0 ¤É¤¦ ƺ #KJ 0 ¤É¤¦ Æ´ #KJ 1 ¤É¤¦ Æ» #KJ 1 ¤É¤¦ ƶ #KJ 2 ¤É¤¦ Ƹ #KJ 2 ¤É¤¦ Ƴ #KJ 6 ¤É¤¦ Ʋ #SUC 0 ¤É¤¦ Æ» #SUC 10 ¤É¤¦ ¤É¤¦ #SX 221 ¤É¤¦ ư #T35 10 ¤É¤¦ ¡¹ #T35 2 ¤É¤¦ ƹ #T35 2 ¤É¤¦ Ƽ #T35 3 ¤É¤¦ Ʊ #T35 96 ¤É¤¦ Ʊ #ZX 0 ¤É¤¦ ư #ZX 3 ¤É¤¦¡«¤©¤ë¤¶¡¼¤¯ ¥É¥ô¥©¥ë¥¶¡¼¥¯ #JN 0 ¤É¤¦¤¤ Ʊ°Ì #T15 3 ¤É¤¦¤¤ Ʊ°Õ #T30 2 ¤É¤¦¤¤ ƹ°á #T35 0 ¤É¤¦¤¤¤¦ ¤É¤¦¤¤¤¦ #RT 43 ¤É¤¦¤¤¤Ä Ʊ°ì #T05 58 ¤É¤¦¤¤¤Ä¤· Ʊ°ì»ë #T30 1 ¤É¤¦¤¤¤ó ư°ø #T35 0 ¤É¤¦¤¤¤ó ư°÷ #T30 1 ¤É¤¦¤ª¤ó Ʊ²» #T35 4 ¤É¤¦¤« ¤É¤¦¤« #F14 26 ¤É¤¦¤« ¤É¤¦¤« #T30 1 ¤É¤¦¤« Ʊ²½ #T30 1 ¤É¤¦¤« Ƽ²ß #T35 0 ¤É¤¦¤«¤¯ Ʊ³Ê #T05 2 ¤É¤¦¤«¤Ä ×ø³å #T30 0 ¤É¤¦¤«¤ó Ʊ´¶ #T30 7 ¤É¤¦¤¬ Ƹ²è #T35 1 ¤É¤¦¤¬ ư²è #T35 3 ¤É¤¦¤¬¤¯ Ʊ³Û #T15 0 ¤É¤¦¤¬¤ó Ƹ´é #T35 0 ¤É¤¦¤­ Ʊ´ü #T30 54 ¤É¤¦¤­ ưة #T35 0 ¤É¤¦¤­ ưµ¡ #T35 95 ¤É¤¦¤­¤å¤¦ Ƶµå #T30 0 ¤É¤¦¤­¤å¤¦ Ʊµé #T35 2 ¤É¤¦¤­¤ç Ʊµï #T30 3 ¤É¤¦¤­¤ç¤¦ Ʊ¶¿ #T35 0 ¤É¤¦¤­¤ó ƱêÐ #T30 0 ¤É¤¦¤® ƱµÁ #T05 2 ¤É¤¦¤® ưµÄ #T35 0 ¤É¤¦¤®¤ç¤¦ Ʊ¶È #T35 1 ¤É¤¦¤¯¤Ä ƶ·¢ #T35 2 ¤É¤¦¤° Æ»¶ñ #T35 20 ¤É¤¦¤°¤Á ƶ¸ý #JNS 0 ¤É¤¦¤± Æ»²½ #T35 0 ¤É¤¦¤±¤¤ Ʊ·Á #T05 0 ¤É¤¦¤±¤¤ Ʊ·Ï #T05 0 ¤É¤¦¤±¤¤ Ʊ·¿ #T05 1 ¤É¤¦¤±¤ó Ʊ¸© #T35 9 ¤É¤¦¤²¤Ä Ʊ·î #T35 0 ¤É¤¦¤²¤ó¤¶¤« Æ»¸¼ºä #CN 0 ¤É¤¦¤³¤¦ Ʊ¹Ô #T30 2 ¤É¤¦¤³¤¦ Æ·¹¦ #T35 0 ¤É¤¦¤³¤¦ Ʊ¹¥ #T35 1 ¤É¤¦¤³¤¦ ư¸þ #T35 13 ¤É¤¦¤³¤¦¤Î¤· Ʊ¹¥¤Î»Î #T35 1 ¤É¤¦¤³¤¦¤Û¤¦ Æ»¸òË¡ #T35 0 ¤É¤¦¤³¤¯ ØÖÓ­ #T30 0 ¤É¤¦¤³¤¯ Ʊ¹ñ #T35 0 ¤É¤¦¤³¤ó Ʊº¬ #T15 0 ¤É¤¦¤³¤ó Ʊº­ #T30 0 ¤É¤¦¤µ ưºî #T30 255 ¤É¤¦¤µ¤Ä ƶ»¡ #T30 2 ¤É¤¦¤µ¤ó ư»º #T35 0 ¤É¤¦¤· Æ»»Ö #JCN 0 ¤É¤¦¤· Ʊ»Ô #T35 1 ¤É¤¦¤· Ʊ»Ö #T35 1 ¤É¤¦¤· Ʊ»á #T35 1 ¤É¤¦¤· Ʊ»Î #T35 33 ¤É¤¦¤· ư»ì #T35 76 ¤É¤¦¤· ¤É¤¦¤· #T35 8 ¤É¤¦¤·¤·¤ã Ʊ»Ö¼Ò #KK 1 ¤É¤¦¤·¤¿ Ʋ²¼ #JNS 0 ¤É¤¦¤·¤Ä Ʊ¼Á #T05 0 ¤É¤¦¤·¤Ä Ʊ¼¼ #T30 0 ¤É¤¦¤·¤Æ ¤É¤¦¤·¤Æ #F14 139 ¤É¤¦¤·¤ã Ʊ¼Ò #T35 1 ¤É¤¦¤·¤ã¤¯ Ʊ¼Ü #T15 0 ¤É¤¦¤·¤å Ʊ¼ï #T15 1 ¤É¤¦¤·¤å¤Ä Ƴ½Ð #T30 6 ¤É¤¦¤·¤ç¤¦ Ƽ¾Þ #T35 0 ¤É¤¦¤·¤ç¤¦¤¤¤à Ʊ¾²°ÛÌ´ #T35 0 ¤É¤¦¤·¤ç¤¯ Ʊ¿§ #T35 0 ¤É¤¦¤·¤ç¤¯¤Ö¤Ä ư¿¢Êª #T35 2 ¤É¤¦¤·¤ó Ƹ¿´ #T35 0 ¤É¤¦¤·¤ó¤¨¤ó Ʊ¿´±ß #T35 2 ¤É¤¦¤¸ Ʊ»þ #T05 107 ¤É¤¦¤¸ Ƹ»Ò #T35 0 ¤É¤¦¤¸¤¯ Ʊ¼´ #T35 1 ¤É¤¦¤¸¤Ä ƱÆü #T35 2 ¤É¤¦¤¸¤Þ ƲÅç #JCN 0 ¤É¤¦¤¸¤ç Ƹ½÷ #T35 0 ¤É¤¦¤¸¤ç¤¦ Ʊ¾è #T30 4 ¤É¤¦¤¸¤ç¤¦ Ʊ¾ð #T30 4 ¤É¤¦¤¸¤ç¤¦ ¡¸ #T35 1 ¤É¤¦¤¸¤ç¤¦ Æ»¾ì #T35 1 ¤É¤¦¤¸¤ç¤¦ Ʊ¾å #T35 12 ¤É¤¦¤¸¤ó Ʊ¿Í #T35 1 ¤É¤¦¤¹¤¦ Ʊ¿ô #T15 1 ¤É¤¦¤» ¤É¤¦¤» #F14 10 ¤É¤¦¤»¤¤ ƱÀ³ #T30 1 ¤É¤¦¤»¤¤ ưÀÅ #T35 0 ¤É¤¦¤»¤¤ ƱÀ¼ #T35 0 ¤É¤¦¤»¤¤ ƸÀ¼ #T35 0 ¤É¤¦¤»¤¤ ƼÀ½ #T35 0 ¤É¤¦¤»¤¤ ƱÀ­ #T35 1 ¤É¤¦¤»¤¤ ƱÀ« #T35 2 ¤É¤¦¤»¤­ ƱÀÊ #T30 2 ¤É¤¦¤»¤ó ƳÀþ #T35 0 ¤É¤¦¤¼¤ó ƱÁ³ #T05 2 ¤É¤¦¤½¤¦ ƱÁê #T05 0 ¤É¤¦¤½¤¦ ƱÁë #T35 4 ¤É¤¦¤¾ ¤É¤¦¤¾ #F14 21 ¤É¤¦¤¾¤¦ ƼÁü #T35 0 ¤É¤¦¤¿¤¤ ƹÂÎ #T35 0 ¤É¤¦¤¿¤¤ ưÂÖ #T35 1 ¤É¤¦¤¿¤¤ ƳÂÎ #T35 1 ¤É¤¦¤¿¤¯ Æ¼Âø #T35 0 ¤É¤¦¤À¤ó ƱÃÇ #T05 0 ¤É¤¦¤Á ƱÃÍ #T05 2 ¤É¤¦¤Á ƱÃÏ #T35 0 ¤É¤¦¤Á ¢Î #T35 1 ¤É¤¦¤Á¤å¤¦ Æ»Ãæ #T35 1 ¤É¤¦¤Á¤ç¤¦ ƱĴ #T30 1 ¤É¤¦¤Á¤ç¤¦ ƻģ #T35 0 ¤É¤¦¤Ä¤¦ ƳÄÌ #T30 0 ¤É¤¦¤Æ¤¤ ƱÄê #T30 4 ¤É¤¦¤Æ¤¤ Æ»Äø #T35 1 ¤É¤¦¤Æ¤¤ ƸÄç #T35 4 ¤É¤¦¤Æ¤­ ưŪ #T05 44 ¤É¤¦¤Æ¤ó ƱÅÀ #T15 0 ¤É¤¦¤Æ¤ó ưž #T30 1 ¤É¤¦¤Ç¤ó ƳÅÅ #T30 0 ¤É¤¦¤Ç¤ó¤¿¤¤ ƳÅÅÂÎ #T35 1 ¤É¤¦¤È¤¦ ƱÅù #T05 16 ¤É¤¦¤È¤¯ Æ»ÆÁ #T35 0 ¤É¤¦¤É¤¦ Ʋ¡¹ #F00 2 ¤É¤¦¤É¤¦ Ʋ¡¹ #T36 0 ¤É¤¦¤É¤¦¤á¤°¤ê Ʋ¡¹½ä¤ê #T30 0 ¤É¤¦¤Ê¤¤ Æ»Æâ #T35 1 ¤É¤¦¤Ë¤« ¤É¤¦¤Ë¤« #F14 1 ¤É¤¦¤Ë¤â ¤É¤¦¤Ë¤â #F14 0 ¤É¤¦¤Ë¤å¤¦ ƳÆþ #T30 99 ¤É¤¦¤Ë¤å¤¦¤´ ƳÆþ¸å #T35 0 ¤É¤¦¤Í¤ó Ʊǯ #T35 0 ¤É¤¦¤Ï Æ»ÇË #T30 0 ¤É¤¦¤Ï¤¤ ƱÇÚ #T35 0 ¤É¤¦¤Ï¤ó Ʊȼ #T30 1 ¤É¤¦¤Ò¤ç¤¦ ƻɸ #T35 1 ¤É¤¦¤Õ¤¦ ƱÉõ #T30 12 ¤É¤¦¤Õ¤¯ Ʊʢ #T35 1 ¤É¤¦¤Ö¤Ä ưʪ #T35 10 ¤É¤¦¤Û¤¦ Ʊ˦ #T35 0 ¤É¤¦¤Û¤¦ ƱÊó #T35 10 ¤É¤¦¤Þ¤´¤¨ ƹ´ÖÀ¼ #T35 0 ¤É¤¦¤ß¤ã¤¯ ư̮ #T35 0 ¤É¤¦¤ß¤ã¤¯¤³¤¦¤« ư̮¹Å²½ #T30 1 ¤É¤¦¤á¤¤ ƱÌÁ #T30 16 ¤É¤¦¤á¤¤ Ʊ̾ #T35 6 ¤É¤¦¤â ¤É¤¦¤â #F14 109 ¤É¤¦¤â¤¦ àØÌÔ #T05 0 ¤É¤¦¤â¤¯ âÕÌÜ #T30 0 ¤É¤¦¤â¤È ƹ¸µ #T35 0 ¤É¤¦¤ä¤é ¤É¤¦¤ä¤é #F14 0 ¤É¤¦¤æ¤¦ Ʊͧ #T35 1 ¤É¤¦¤è¤¦ ƱÍÍ #T05 136 ¤É¤¦¤è¤¦ ưÍÉ #T30 2 ¤É¤¦¤è¤¦ Æ¸ÍØ #T35 3 ¤É¤¦¤é¤¯ Æ»³Ú #T30 0 ¤É¤¦¤é¤ó ưÍð #T35 0 ¤É¤¦¤ê Æ»Íý #T35 20 ¤É¤¦¤ê¤Ä ƱΨ #T15 0 ¤É¤¦¤ê¤ç¤¦ Ʊν #T35 3 ¤É¤¦¤ê¤ç¤¯ ưÎÏ #T35 1 ¤É¤¦¤ë¤¤ ƱÎà #T15 1 ¤É¤¦¤ì¤Ä ƱÎó #T35 1 ¤É¤¦¤í ƻϩ #T35 5 ¤É¤¦¤ï ƱÏ #T35 0 ¤É¤¦¤ï ƸÏà #T35 2 ¤É¤ª ±ó #KY 1 ¤É¤ª¤ê ÄÌ #CNSUC1 1 ¤É¤ª¤ê Ä̤ê #CNSUC1 25 ¤É¤ª¤ê ¤É¤ª¤ê #SUC 0 ¤É¤ª¤ê Ä̤ê #SUC 0 ¤É¤ª¤ê ¤É¤ª¤ê #T15 0 ¤É¤ª¤ê Ä̤ê #T15 0 ¤É¤«¤¿ ÅÚÊý #T35 0 ¤É¤­ »þ #SUC 4 ¤É¤­ ÅÚ´ï #T35 16 ¤É¤­¤Ã¤È ¤É¤­¤Ã¤È #F12 0 ¤É¤­¤É¤­ ¥É¥­¥É¥­ #T30 3 ¤É¤­¤å¤á¤ó¤Æ¡¼¤·¤ç¤ó ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó #T35 2 ¤É¤­¤å¤á¤ó¤È ¥É¥­¥å¥á¥ó¥È #T35 111 ¤É¤­¤ç¤¦ ÅÙ¶» #T35 1 ¤É¤®¤Ä ¤É¤®¤Ä #KY 0 ¤É¤®¤Ä¤¦ ¤É¤®¤Ä¤¦ #KYU 0 ¤É¤¯ ÆÉ #KJ 13 ¤É¤¯ ÆÈ #KJ 3 ¤É¤¯ ÆÇ #S5 57 ¤É¤¯ ÆÇ #T30 57 ¤É¤¯¤¨¤ó ÆÈ±é #T30 0 ¤É¤¯¤«¤¤ ÆÉ²ò #T30 1 ¤É¤¯¤¬¤¯ ÆÈ³Ø #T30 0 ¤É¤¯¤´ ÆÈ¸ì #T30 0 ¤É¤¯¤µ¤¤ ÆÈºÛ #T30 1 ¤É¤¯¤·¤ã ÆÉ¼Ô #T35 8 ¤É¤¯¤·¤ç ÆÉ½ñ #T30 2 ¤É¤¯¤·¤ç¤¦ ÆÈ¾§ #T30 0 ¤É¤¯¤·¤ó ÆÈ¿È #T35 3 ¤É¤¯¤¸ ÆÈ¼« #T05 27 ¤É¤¯¤»¤¤ ÆÇÀ­ #T35 2 ¤É¤¯¤»¤ó ÆÈÀê #T30 2 ¤É¤¯¤»¤ó¤¸¤ç¤¦ ÆÈÚ£¾ì #T35 0 ¤É¤¯¤¼¤ó ÆÈÁ± #T35 0 ¤É¤¯¤¼¤ó¤Æ¤­ ÆÈÁ±Åª #T15 0 ¤É¤¯¤½ ÆÇÁÇ #T35 0 ¤É¤¯¤½¤¦ ÆÈÁÕ #T30 0 ¤É¤¯¤½¤¦ ÆÈÁö #T30 0 ¤É¤¯¤½¤¦ ÆÈÁÏ #T30 2 ¤É¤¯¤¿¡¼ ¥É¥¯¥¿¡¼ #T35 1 ¤É¤¯¤À¤ó ÆÈÃÇ #T30 3 ¤É¤¯¤È¤¯ ÆÈÆÃ #T05 3 ¤É¤¯¤É¤¯¤· ÆÇ¡¹¤· #KY 0 ¤É¤¯¤É¤¯¤·¤å¤¦ ÆÇ¡¹¤·¤å¤¦ #KYU 0 ¤É¤¯¤Ï ÆÉÇË #T30 1 ¤É¤¯¤Ï¤¯ ÆÈÇò #T30 1 ¤É¤¯¤Û¤ó ÆÉËÜ #T35 1 ¤É¤¯¤Ü¤¦ ÆÈ˼ #T35 0 ¤É¤¯¤ä¤¯ ÆÇÌô #T35 0 ¤É¤¯¤ê¤Ä ÆÈΩ #T00 44 ¤É¤¯¤ê¤ç¤¯ ÆÈÎÏ #T35 2 ¤É¤±¤¤ »þ·× #T35 0 ¤É¤±¤ó ÅÚ·ú #T35 1 ¤É¤³ ¤É¤³ #T35 137 ¤É¤³ ²¿½è #T35 52 ¤É¤³¤« ¤É¤³¤« #T35 3 ¤É¤³¤í¤« ¤É¤³¤í¤« #CJ 1 ¤É¤´¤¦ Åܹæ #T30 0 ¤É¤·¡¼ ¡î #JS 1 ¤É¤·¡¼ ¡î #T35 1 ¤É¤·¤É¤· ¤É¤·¤É¤· #F14 2 ¤É¤·¤ã ÅÚº½ #T35 0 ¤É¤¸ ¥É¥¸ #T00 0 ¤É¤¸¤ç¤¦ ¤É¤¸¤ç¤¦ #T35 1 ¤É¤¸¤ç¤¦ ÅÚ¾í #T35 1 ¤É¤¸¤ç¤¦ òÎ #T35 1 ¤É¤¸¤ç¤¦ òÕ #T35 1 ¤É¤¹¤¦ ÅÙ¿ô #T35 4 ¤É¤»¤¤ ÅÚÀ± #CNS 1 ¤É¤½¤¦ ÅÚÁò #T30 0 ¤É¤½¤¯ ÅÚ­ #T35 0 ¤É¤¾¤¦ ÅÚ¢ #T35 0 ¤É¤¿¤Ð¤¿ ¥É¥¿¥Ð¥¿ #T00 0 ¤É¤¿¤ó¤Ð ÅÚÞì #T35 0 ¤É¤À¤¤ ÅÚÂæ #T35 3 ¤É¤Á¤é ¤É¤Á¤é #T35 96 ¤É¤Ã¤« ¤É¤Ã¤« #F06 3 ¤É¤Ã¤« ¤É¤Ã¤« #T35 9 ¤É¤Ã¤«¤¤ ÆÉ²ò #T30 1 ¤É¤Ã¤­¤ó¤° ¥É¥Ã¥­¥ó¥° #T30 1 ¤É¤Ã¤­¤ó¤Û¤¦ ÆÈ¶ØË¡ #T35 0 ¤É¤Ã¤¯ ¥É¥Ã¥¯ #T35 1 ¤É¤Ã¤° ¥É¥Ã¥° #T35 0 ¤É¤Ã¤³¤¤ ¤É¤Ã¤³¤¤ #F14 0 ¤É¤Ã¤³¤¤ ¤É¤Ã¤³¤¤ #T36 0 ¤É¤Ã¤³¤¤¤·¤ç ¤É¤Ã¤³¤¤¤·¤ç #CJ 0 ¤É¤Ã¤µ¤ê ¤É¤Ã¤µ¤ê #F04 0 ¤É¤Ã¤µ¤ê ¤É¤Ã¤µ¤ê #T16 0 ¤É¤Ã¤·¤ê ¤É¤Ã¤·¤ê #F04 1 ¤É¤Ã¤·¤ê ¤É¤Ã¤·¤ê #T16 0 ¤É¤Ã¤Á ¤É¤Ã¤Á #T35 21 ¤É¤Ã¤È ¤É¤Ã¤È #F14 2 ¤É¤Ã¤È ¥É¥Ã¥È #T35 15 ¤É¤Ã¤È¤Ö¤í¤Ã¤È ¥É¥Ã¥È¥Ö¥í¥Ã¥È #T35 1 ¤É¤Æ ÅÚ¼ê #T35 1 ¤É¤È¤¦ ÅÜÅó #T35 1 ¤É¤Ê ¤É¤Ê #R5 1 ¤É¤Ê ÅÜÌÄ #R5 1 ¤É¤Ê¡¼ ¥É¥Ê¡¼ #T35 0 ¤É¤Ê¤¿ ¤É¤Ê¤¿ #T35 20 ¤É¤Ê¤Ù ÅÚÆé #T35 1 ¤É¤Ê¤ê ÅÚÀ® #JCN 0 ¤É¤Ë¤Á ÅÚÆü #T35 3 ¤É¤Î Å #JNSUC 119 ¤É¤Î ¤É¤Î #RT 85 ¤É¤Î Å #T35 0 ¤É¤Î¤³¤È ¤É¤Î¤³¤È #T35 0 ¤É¤Î¤ß¤Á ¤É¤Î¤ß¤Á #F14 1 ¤É¤Î¤è¤¦ ¤É¤Î¤è¤¦ #T05 129 ¤É¤Î¤è¤¦ ¤É¤ÎÍÍ #T05 3 ¤É¤Î¤è¤¦¤Ë ¤É¤Î¤è¤¦¤Ë #F12 0 ¤É¤Ð¤· ÅÚ¶¶ #JNS 0 ¤É¤Ð¤È ¥É¥Ð¥È #T35 0 ¤É¤Ð¤È ÅÚÈ· #T35 0 ¤É¤Ò ÅÚÈî #JNS 0 ¤É¤Ò¤ç¤¦ ÅÚɶ #T35 2 ¤É¤Ó¤ó ÅÚÉÓ #T35 0 ¤É¤Ù¤¤ ÅÚʽ #T35 0 ¤É¤Ü¤¯ ÅÚÌÚ #T35 1 ¤É¤Ü¤ë¤¶¡¼¤¯ ¥É¥Ü¥ë¥¶¡¼¥¯ #JN 0 ¤É¤Þ ÅÚ´Ö #T35 1 ¤É¤á¤¤¤ó ¥É¥á¥¤¥ó #T35 177 ¤É¤â µÉ #R5r 1 ¤É¤â ¤É¤â #SUC 0 ¤É¤â ¶¦ #SUC 2 ¤É¤è¤¦ ÅÚÍÑ #T35 13 ¤É¤è¤¦ ÅÚÍË #T35 18 ¤É¤è¤¦¤Ó ÅÚÍËÆü #T35 63 ¤É¤è¤á ¤É¤è¤á #K5r 0 ¤É¤é ¥É¥é #T35 0 ¤É¤é¤¤ ¥É¥é¥¤ #T05 4 ¤É¤é¤¤¤Ð ¥É¥é¥¤¥Ð #T35 56 ¤É¤é¤¤¤Ð¡¼ ¥É¥é¥¤¥Ð¡¼ #T35 2 ¤É¤é¤¤¤Ö ¥É¥é¥¤¥Ö #T30 23 ¤É¤é¤Ã¤®¤ó¤° ¥É¥é¥Ã¥®¥ó¥° #T30 8 ¤É¤é¤Ã¤° ¥É¥é¥Ã¥° #T30 13 ¤É¤é¤Õ¤È ¥É¥é¥Õ¥È #T35 23 ¤É¤é¤Þ ¥É¥é¥Þ #T35 3 ¤É¤é¤à ¥É¥é¥à #T35 0 ¤É¤é¤à¤¹ ¥É¥é¥à¥¹ #T35 1 ¤É¤é¤ä¤­ ¥É¥é¾Æ¤­ #T35 0 ¤É¤é¤ä¤­ ¤É¤é¾Æ¤­ #T35 0 ¤É¤ê¡¼¤à ¥É¥ê¡¼¥à #T35 0 ¤É¤ê¤¢ ¥É¥ê¥¢ #T35 1 ¤É¤ê¤Ö¤ó ¥É¥ê¥Ö¥ó #T05 4 ¤É¤ê¤ç¤¦ ÅÙÎÌ #T35 0 ¤É¤ê¤ç¤¦¤³¤¦ ÅÙÎÌ¹Õ #T35 0 ¤É¤ê¤ç¤¯ ÅØÎÏ #T30 34 ¤É¤ë ¥É¥ë #JS 20 ¤É¤ë ¡ð #T35 1 ¤É¤ë ¥É¥ë #T35 4 ¤É¤ë¤Ó¡¼ ¥É¥ë¥Ó¡¼ #KK 1 ¤É¤ì ¤É¤ì #T35 54 ¤É¤ì¤¤ ÅÚÎë #T35 0 ¤É¤ì¤¤ ÅÛÎì #T35 1 ¤É¤ì¤¤¤ó ¥É¥ì¥¤¥ó #T35 1 ¤É¤ì¤Ã¤·¤ó¤° ¥É¥ì¥Ã¥·¥ó¥° #T35 1 ¤É¤ì¤Û¤É ¤É¤ì¤Û¤É #T36 0 ¤É¤í Å¥ #T35 7 ¤É¤í¤¸¤¢¤¤ Å¥»Å¹ç #T35 1 ¤É¤í¤Ã¤× ¥É¥í¥Ã¥× #T35 2 ¤É¤í¤É¤í Å¥¡¹ #T30 1 ¤É¤í¤Ê¤ï Å¥Æì #T15 0 ¤É¤í¤Ì¤Þ Å¥¾Â #T35 1 ¤É¤ó ÆÝ #KJ 1 ¤É¤ó ÆÞ #KJ 1 ¤É¤ó ìÅ #KJ 1 ¤É¤ó Ч #KJ 5 ¤É¤ó Æß #T30 9 ¤É¤ó¤« Æß²½ #T30 0 ¤É¤ó¤«¤ó Æß´¶ #T05 1 ¤É¤ó¤°¤ê ¥É¥ó¥°¥ê #T35 1 ¤É¤ó¤³¤¦ Æß¹Ô #T35 1 ¤É¤ó¤¸¤å¤¦ Æß½Å #T05 0 ¤É¤ó¤Á¤ç¤¦ åËÄ¢ #T35 0 ¤É¤ó¤Ä¤¦ ÆßÄË #T35 0 ¤É¤ó¤Æ¤ó ÆÞÅ· #T35 0 ¤É¤ó¤È ¤É¤ó¤È #F14 0 ¤É¤ó¤É¤ó ¤É¤ó¤É¤ó #F14 22 ¤É¤ó¤Ê ¤É¤ó¤Ê #RT 51 ¤É¤ó¤Ê ¤É¤ó¤Ê #T05 48 ¤É¤ó¤Ö¤ê Ч #T35 0 ¤É¤ó¤Þ ÆßËá #T30 0 ¤É¤ó¤è¤¯ ¤É¤óÍß #T05 1 ¤É¤ó¤è¤¯ ìÅÍß #T05 1 ¤É¤ó¤è¤ê ¤É¤ó¤è¤ê #F04 0 ¤É¤ó¤è¤ê ¤É¤ó¤è¤ê #T16 0 ¤É¤ó¤é¤ó ìÅÕº #T05 0 Canna37p3/dic/ideo/pubdic/VERSION0100644000076500001200000000006010046011573015633 0ustar shinraadminPubdic+ Version 1.0 fix-01 (modified for Canna) Canna37p3/dic/ideo/pubdic/w.p0100644000076500001200000001362107735225677015250 0ustar shinraadmin¤ï ±© #JS 0 ¤ï ÇÄ #JS 0 ¤ï ʨ #K5 1 ¤ï Ͱ #K5 1 ¤ï ͯ #K5 11 ¤ï ¸ã #KJ 1 ¤ï ÏÁ #KJ 1 ¤ï Ïà #KJ 1 ¤ï ²æ #KJ 2 ¤ï ³ä #R5r 14 ¤ï Ï #S5 140 ¤ï Ïà #SUC 0 ¤ï Ï #T30 140 ¤ï ´Ä #T35 0 ¤ï ÎØ #T35 17 ¤ï¡¼¤¯ ¥ï¡¼¥¯ #T35 144 ¤ï¡¼¤¯¤¹¤Æ¡¼¤·¤ç¤ó ¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó #T35 0 ¤ï¡¼¤É ¥ï¡¼¥É #JS 64 ¤ï¡¼¤É ¥ï¡¼¥É #T35 16 ¤ï¡¼¤É¤×¤í¤»¤Ã¤µ ¥ï¡¼¥É¥×¥í¥»¥Ã¥µ #T35 2 ¤ï¡¼¤É¤×¤í¤»¤Ã¤µ¡¼ ¥ï¡¼¥É¥×¥í¥»¥Ã¥µ¡¼ #T35 2 ¤ï¡¼¤× ¥ï¡¼¥× #T30 3 ¤ï¡¼¤×¤í ¥ï¡¼¥×¥í #T35 29 ¤ï¡¼¤ë¤É ¥ï¡¼¥ë¥É #T35 1 ¤ï¡¼¤ë¤É¤«¤Ã¤× ¥ï¡¼¥ë¥É¥«¥Ã¥× #T35 0 ¤ï¤¤ ÏÄ #KJ 0 ¤ï¤¤ ÏÅ #KJ 0 ¤ï¤¤ ·¨ #KJ 2 ¤ï¤¤¤¢ ¥ï¥¤¥¢ #T35 2 ¤ï¤¤¤¢¡¼ ¥ï¥¤¥¢¡¼ #T35 2 ¤ï¤¤¤­¤ç¤¯ ÏÄ¶Ê #T30 0 ¤ï¤¤¤·¤ã¤Ä ¥ï¥¤¥·¥ã¥Ä #T35 0 ¤ï¤¤¤·¤ç¤¦ âä¾® #T05 0 ¤ï¤¤¤»¤¤ âäÀ± #T35 0 ¤ï¤¤¤»¤Ä àÐêø #T05 0 ¤ï¤¤¤À¤ó àÐÃÌ #T30 0 ¤ï¤¤¤É ¥ï¥¤¥É #T05 69 ¤ï¤¤¤Ñ¡¼ ¥ï¥¤¥Ñ¡¼ #T35 3 ¤ï¤¤¤ä ¥ï¥¤¥ä #T35 1 ¤ï¤¤¤ä¡¼ ¥ï¥¤¥ä¡¼ #T35 2 ¤ï¤¤¤ä¡¼¤É ¥ï¥¤¥ä¡¼¥É #T35 1 ¤ï¤¤¤ë¤É ¥ï¥¤¥ë¥É #T05 2 ¤ï¤¤¤í ÏÅϨ #T35 0 ¤ï¤¤¤ó ¥ï¥¤¥ó #T35 6 ¤ï¤« ¼ã #KYme 34 ¤ï¤« ¼ã #PRE 0 ¤ï¤« ʬ #R5r 10 ¤ï¤« ²ò #R5r 15 ¤ï¤« ¤ï¤« #R5r 199 ¤ï¤« ʬ¤« #R5r 255 ¤ï¤« Ƚ #R5r 31 ¤ï¤« ʨ¤« #S5 1 ¤ï¤« ¼ã #T35 0 ¤ï¤« ϲΠ#T35 1 ¤ï¤«¤¤ ¼ã°æ #JNS 0 ¤ï¤«¤¤ ϲò #T30 4 ¤ï¤«¤¬¤¨ ¼ãÊÖ #R5r 1 ¤ï¤«¤¯¤µ ¼ãÁð #CN 0 ¤ï¤«¤¯¤µ ¼ãÁð #T35 0 ¤ï¤«¤¯¤ï ¼ã·¬ #JNS 0 ¤ï¤«¤³ ÏÂ²Â»Ò #JNM 0 ¤ï¤«¤³ ÏÂ²Î»Ò #JNM 0 ¤ï¤«¤µ ¼ãºù #JCN 0 ¤ï¤«¤Á ¤ï¤«¤Á #T35 2 ¤ï¤«¤Á¤¬¤­ ¤ï¤«¤Á½ñ¤­ #T35 1 ¤ï¤«¤Ä¤­ ¼ã·î #JNS 0 ¤ï¤«¤Æ ¼ã¼ê #T35 4 ¤ï¤«¤Ð ¼ãÍÕ #JCN 0 ¤ï¤«¤Ð ¼ãÍÕ #T35 2 ¤ï¤«¤Ð¤ä¤· ¼ãÎÓ #JCN 0 ¤ï¤«¤Þ¤Ä ¼ã¾¾ #JCN 0 ¤ï¤«¤Þ¤Ä ¼ã¾¾ #T35 0 ¤ï¤«¤ß ¼ãÈþ #CN 0 ¤ï¤«¤ß¤ä ¼ãµÜ #JCN 0 ¤ï¤«¤á ¼ãÉÛ #T35 1 ¤ï¤«¤â¤Î ¼ã¼Ô #T35 6 ¤ï¤«¤ä¤Ê¤® ¼ãÌø #JCN 0 ¤ï¤«¤ä¤Þ Ï²λ³ #JCN 0 ¤ï¤«¤ä¤Þ ¼ã»³ #JNS 0 ¤ï¤«¤ä¤Þ¤±¤ó Ï²λ³¸© #CNS 0 ¤ï¤«¤ä¤Þ¤· Ï²λ³»Ô #CNS 0 ¤ï¤«¤ì ʬ¤«¤ì #KSr 10 ¤ï¤«¤ì Ê̤ì #KSr 22 ¤ï¤«¤ï¤«¤· ¼ã¡¹¤· #KY 1 ¤ï¤«¤ï¤«¤·¤å¤¦ ¼ã¡¹¤·¤å¤¦ #KYU 1 ¤ï¤«¤ó Ï´¯ #T30 0 ¤ï¤¬ ϲì #JCN 0 ¤ï¤¬ ¤ï¤¬ #RT 1 ¤ï¤¬ ²æ¤¬ #RT 5 ¤ï¤¬ ²æ #T35 4 ¤ï¤¬¤¯¤Ë ¤ï¤¬¹ñ #T35 2 ¤ï¤¬¤· ÏÂ²Û»Ò #T35 1 ¤ï¤¬¤Ï¤¤ ²æÇÚ #T35 0 ¤ï¤¬¤Þ¤Þ ²æËù #T00 1 ¤ï¤¬¤Þ¤Þ ²æ¤¬¤Þ¤Þ #T00 2 ¤ï¤¬¤Þ¤Þ ¤ï¤¬¤Þ¤Þ #T00 5 ¤ï¤¬¤Þ¤Þ ²æÐÖ #T00 5 ¤ï¤¬¤ä ²æ¤¬²È #T35 3 ¤ï¤­ ÏÆ #JCN 0 ¤ï¤­ ÏÆ #T35 5 ¤ï¤­¤¢¤¤¤¢¤¤ ϵ¤¤¢¤¤¤¢¤¤ #T00 2 ¤ï¤­¤¢¤¤¤¢¤¤ ϵ¤é½¡¹ #T00 2 ¤ï¤­¤² ÏÆÌÓ #T35 1 ¤ï¤­¤¿ ʨ¤­Î© #T5r 0 ¤ï¤­¤Î¤µ¤ï ÏÆÌîÂô #CN 0 ¤ï¤­¤Ð¤é ÏÆÊ¢ #T35 0 ¤ï¤­¤Þ¤¨ ÊÛ¤¨ #KSr 0 ¤ï¤­¤ß ¤ï¤­¸« #T30 0 ¤ï¤­¤ß¤Á ÏÆÆ» #T35 0 ¤ï¤® ÏÂÌÚ #CN 0 ¤ï¤® Ï嵀 #T30 0 ¤ï¤®¤å¤¦ ϵí #T35 0 ¤ï¤®¤ê ÎØÀÚ¤ê #T30 1 ¤ï¤¯ ÏÇ #KJ 0 ¤ï¤¯ ÏÈ #T35 47 ¤ï¤¯¤¬¤¤ Ïȳ° #T35 1 ¤ï¤¯¤°¤ß ÏÈÁÈ #T35 10 ¤ï¤¯¤»¤¤ ÏÇÀ± #T35 4 ¤ï¤¯¤Á¤ó ¥ï¥¯¥Á¥ó #T35 0 ¤ï¤¯¤Ê¤¤ ÏÈÆâ #T35 1 ¤ï¤¯¤ä Ͱë #JCN 0 ¤ï¤± ϵ¤ #JCN 0 ¤ï¤± ʬ¤± #KSr 160 ¤ï¤± ¤ï¤± #KSr 23 ¤ï¤± ¤ï¤± #T35 234 ¤ï¤± Ìõ #T35 91 ¤ï¤±¤¤ ʬ¤±Æþ #R5 0 ¤ï¤±¤Þ¤¨ ʬ¤±Á° #T35 0 ¤ï¤±¤á ʬ¤±ÌÜ #T35 0 ¤ï¤³¡¼¤ë ¥ï¥³¡¼¥ë #KK 0 ¤ï¤³¤¦ ϸ÷ #JCN 0 ¤ï¤³¤¦ ¼ã¤¦ #KYU 2 ¤ï¤³¤¦¤É ¼ã¿Í #T35 1 ¤ï¤´¤¦ Ϲç #T30 0 ¤ï¤´¤ó ¥ï¥´¥ó #T35 1 ¤ï¤µ¤¤ ÏÂºÛ #T35 2 ¤ï¤µ¤Ó »³°ª #T35 0 ¤ï¤¶ ½Ñ #KJ 0 ¤ï¤¶ ¶È #T35 1 ¤ï¤¶ ¤ï¤¶ #T35 2 ¤ï¤¶ µ» #T35 31 ¤ï¤¶¤È ¤ï¤¶¤È #T06 3 ¤ï¤¶¤ï¤¤ ºÒ¤¤ #T30 0 ¤ï¤¶¤ï¤¤ ²Ò #T35 0 ¤ï¤¶¤ï¤¶ ¤ï¤¶¤ï¤¶ #F14 18 ¤ï¤¶¤ï¤¶ ¤ï¤¶¤ï¤¶ #T36 0 ¤ï¤· Ï»æ #T35 0 ¤ï¤· ÏÉ #T35 3 ¤ï¤·¤ª ÏÉÈø #JNS 0 ¤ï¤·¤­ ϼ° #T35 0 ¤ï¤·¤Ä ϼ¼ #T35 2 ¤ï¤·¤Þ ÏÂÅç #CN 0 ¤ï¤·¤ß¤ä ÏÉµÜ #CN 0 ¤ï¤·¤ã ÏÃ¼Ô #T35 1 ¤ï¤·¤ç¤¯ Ï¿© #T35 3 ¤ï¤·¤ó¤È¤ó ¥ï¥·¥ó¥È¥ó #CN 0 ¤ï¤¸¤­ ÏÉÉß #CN 0 ¤ï¤¸¤Þ ÎØÅç #JCN 0 ¤ï¤¸¤Þ ÏÂÅç #JNS 0 ¤ï¤¹¤ì ˺¤ì #KSr 188 ¤ï¤¹¤ì¤µ ˺¤ìµî #R5r 1 ¤ï¤º¤« ¶Ï¤« #T05 2 ¤ï¤º¤« ¤ï¤º¤« #T05 3 ¤ï¤º¤é ´µ #W5r 0 ¤ï¤º¤é ÈÑ #W5r 1 ¤ï¤º¤é¤ï ÈѤï #S5 5 ¤ï¤º¤é¤ï¤· ÈѤ路 #KY 5 ¤ï¤º¤é¤ï¤·¤¬ ÈѤ路¤¬ #R5 0 ¤ï¤º¤é¤ï¤·¤å¤¦ ÈѤ路¤å¤¦ #KYU 1 ¤ï¤» ÁáÀ¸ #T35 1 ¤ï¤» Áá°ð #T35 4 ¤ï¤»¤¤ ÏÂÀ¼ #T35 0 ¤ï¤»¤À Áá°ðÅÄ #JCN 0 ¤ï¤¿ ÏÊ #R5 0 ¤ï¤¿ ¹Ò #R5 1 ¤ï¤¿ ÅÏ #R5r 233 ¤ï¤¿ ¤ï¤¿ #R5r 5 ¤ï¤¿ ÅÏ #S5r 255 ¤ï¤¿ ÌÊ #T35 12 ¤ï¤¿ ÌÉ #T35 38 ¤ï¤¿¤¯¤· »ä #T35 55 ¤ï¤¿¤¯¤·¤´¤È »ä»ö #T35 2 ¤ï¤¿¤¯¤·¤¿¤Á »äã #T35 0 ¤ï¤¿¤¯¤·¤ê¤Ä »äΩ #T35 0 ¤ï¤¿¤· ÅϤ· #T35 0 ¤ï¤¿¤· »ä #T35 255 ¤ï¤¿¤· ¤ï¤¿¤· #T35 76 ¤ï¤¿¤·¤¿¤Á »äã #T35 7 ¤ï¤¿¤·¤É¤â »ä¶¡ #T35 1 ¤ï¤¿¤·¤Ö¤Í ÅϤ·Á¥ #T35 0 ¤ï¤¿¤Ê¤Ù ÅÏÉô #JNS 0 ¤ï¤¿¤Ê¤Ù ÅÏÊÕ #JNS 0 ¤ï¤¿¤Ì¤­ ÌÊ´Ó #JNS 0 ¤ï¤¿¤Ù ÅÏÉô #JNS 0 ¤ï¤¿¤é¤¤ ÅÙ²ñ #JCN 0 ¤ï¤¿¤ê ÏËÍý #JCN 0 ¤ï¤¿¤ê ÅϤê #T35 0 ¤ï¤¿¤ê¤É¤ê ÅϤêÄ» #T35 0 ¤ï¤¿¤ë ¾Ä #JNM 0 ¤ï¤¿¤ë ÏË #JNM 0 ¤ï¤¿¤ë ÏÊ #KJ 0 ¤ï¤À ÏÂÅÄ #JCN 0 ¤ï¤À¤¤ ÏÃÂê #T35 52 ¤ï¤À¤«¤Þ ¤ï¤À¤«¤Þ #R5r 1 ¤ï¤À¤Á Ų #T35 0 ¤ï¤À¤ä¤Þ ÏÂÅÄ»³ #CN 0 ¤ï¤Á ÏÂÃÎ #JCN 0 ¤ï¤Ã¤« ÎØ¤Ã¤« #T35 0 ¤ï¤Ã¤«¤Ê¤¤ ÃÕÆâ #JCN 0 ¤ï¤Ã¤µ¤à Ï´¨ #CN 0 ¤ï¤Ã¤·¤ç¤¤ ¤ï¤Ã¤·¤ç¤¤ #CJ 0 ¤ï¤Ã¤È ¥ï¥Ã¥È #JS 1 ¤ï¤Ã¤È ¥ï¥Ã¥È #T35 1 ¤ï¤Å¤« Ï« #CN 0 ¤ï¤È¤¸ ÏÂÄÖ¤¸ #T35 0 ¤ï¤È¤½¤ó ¥ï¥È¥½¥ó #JN 0 ¤ï¤É¤Þ¤ê ÏÂÇñ #CN 0 ¤ï¤Ê æ« #T35 9 ¤ï¤Ë ¥ï¥Ë #T35 0 ¤ï¤Ë ÏÌ #T35 0 ¤ï¤Î¤¦¤Á ÎØÇ·Æâ #CN 0 ¤ï¤Ó ÏÍ¤Ó #KS 0 ¤ï¤Ó¤¸¤ç¤¦ Ï;õ #T35 0 ¤ï¤Õ¤¦ ÏÂÉ÷ #T35 1 ¤ï¤Õ¤¯ ÏÂÉþ #T35 1 ¤ï¤Ö¤ó ÏÂʸ #T35 1 ¤ï¤Ø¤¤ ÏÂÊ¿ #T30 0 ¤ï¤Û¤¦ ÏÃË¡ #T35 1 ¤ï¤Ü¤¯ ÏÂËÓ #T30 0 ¤ï¤ä¤¯ ÏÂÌõ #T30 1 ¤ï¤è¤¦ ÏÂÍÎ #T35 0 ¤ï¤é ÏÂÎÉ #CN 0 ¤ï¤é ÏÎ #T35 0 ¤ï¤é ¹Æ #T35 2 ¤ï¤é ¾Ð #W5r 38 ¤ï¤é¤Ó ÏÏ #CN 0 ¤ï¤é¤Ó ÏÏ #T35 3 ¤ï¤é¤Ù Ƹ #T35 0 ¤ï¤ê ³ä #JS 79 ¤ï¤ê ³ä #SUC 0 ¤ï¤ê ³ä #T35 62 ¤ï¤ê¤¢¤¤ ³ä¹ç #T35 8 ¤ï¤ê¤¢¤Æ ³ä¤êÅö¤Æ #KS 149 ¤ï¤ê¤¢¤Æ ³äÅö #T30 16 ¤ï¤ê¤¤¤ó ³ä°õ #T35 0 ¤ï¤ê¤«¤ó ¤ï¤ê¤«¤ó #T35 1 ¤ï¤ê¤­ ³ä¤êÀÚ #R5r 4 ¤ï¤ê¤³ ³ä¤ê¹þ #M5r 26 ¤ï¤ê¤¶¤ó ³ä»» #T35 0 ¤ï¤ê¤À¤« ³ä¹â #T05 1 ¤ï¤ê¤Ä¤± ³ä¤êÉÕ¤± #KSr 10 ¤ï¤ê¤Ð¤· ³äȤ #T35 1 ¤ï¤ê¤Ó ³ä¤ê°ú #K5r 16 ¤ï¤ê¤Ó¤­ ³ä°ú #T35 4 ¤ï¤ê¤Õ ³ä¤ê¤Õ #R5r 2 ¤ï¤ê¤Õ ³ä¤ê¿¶ #R5r 6 ¤ï¤ê¤Þ¤· ³äÁý¤· #T35 1 ¤ï¤ê¤â¤É ³ä¤êÌá #S5r 0 ¤ï¤ê¤â¤É¤· ³äÌᤷ #T35 0 ¤ï¤ê¤ä¤¹ ³ä°Â #T05 2 ¤ï¤ë ¤ï¤ë #KY 1 ¤ï¤ë °­ #KY 209 ¤ï¤ë ¡à #T35 1 ¤ï¤ë °­ #T35 87 ¤ï¤ë¤¢¤¬¤­ °­¤¢¤¬¤­ #T30 0 ¤ï¤ë¤¦ ¤ï¤ë¤¦ #KYU 1 ¤ï¤ë¤¦ °­¤¦ #KYU 3 ¤ï¤ë¤® °­µ¤ #T35 1 ¤ï¤ë¤¯¤Á °­¸ý #T35 1 ¤ï¤ë¤À¤¯¤ß °­¹ª¤ß #T30 0 ¤ï¤ë¤Â¤¨ °­Ãηà #T35 0 ¤ï¤ë¤Ó¤ì °­¤Ó¤ì #KS 0 ¤ï¤ë¤â¤Î °­¼Ô #T35 2 ¤ï¤ì ³ä¤ì #KSr 5 ¤ï¤ì ²æ #T35 2 ¤ï¤ì¤á ³ä¤ìÌÜ #T35 0 ¤ï¤ì¤é ²æ¤é #T35 0 ¤ï¤ì¤é ¤ï¤ì¤é #T35 1 ¤ï¤ì¤ï¤ì ²æ¡¹ #T35 48 ¤ï¤ó ÏÑ #CNSUC1 3 ¤ï¤ó ÏÒ #KJ 0 ¤ï¤ó ÏÓ #KJ 0 ¤ï¤ó ÏÐ #T35 16 ¤ï¤ó ÏÑ #T35 3 ¤ï¤ó¤¬¤ó ÏÑ´ß #T35 0 ¤ï¤ó¤­¤ç¤¯ ÏÑ¶Ê #T30 0 ¤ï¤ó¤²¤ë ¥ï¥ó¥²¥ë #T35 0 ¤ï¤ó¤µ¤« ¤ï¤ó¤µ¤« #F06 0 ¤ï¤ó¤µ¤« ¤ï¤ó¤µ¤« #T36 0 ¤ï¤ó¤µ¤È ¤ï¤ó¤µ¤È #F14 0 ¤ï¤ó¤·¤ç¤¦ ÏÓ¾Ï #T35 0 ¤ï¤ó¤¿¤ó ¥ï¥ó¥¿¥ó #T35 1 ¤ï¤ó¤À¡¼¤Õ¤©¡¼¤²¤ë ¥ï¥ó¥À¡¼¥Õ¥©¡¼¥²¥ë #T35 0 ¤ï¤ó¤Ê¤¤ ÏÑÆâ #T35 0 ¤ï¤ó¤Ñ¤¯ ÏÓÇò #T05 0 ¤ï¤ó¤Þ¤ó ¥ï¥ó¥Þ¥ó #T05 0 ¤ï¤ó¤ê¤ç¤¯ ÏÓÎÏ #T35 1 Canna37p3/dic/ideo/pubdic/x.p0100644000076500001200000000001707554213573015233 0ustar shinraadmin¡¼ ¡¼ #SUC 179 Canna37p3/dic/ideo/pubdic/y.p0100644000076500001200000007225007735225677015255 0ustar shinraadmin¤ä ¤ä #K5 1 ¤ä ¼Þ #K5 1 ¤ä ÅÊ #K5 10 ¤ä ¾Æ #K5r 31 ¤ä Àý #KJ 0 ¤ä Ǹ #KJ 0 ¤ä Ìê #KJ 0 ¤ä Ìì #KJ 0 ¤ä Ìí #KJ 1 ¤ä Ìï #KJ 1 ¤ä ²È #KJ 2 ¤ä Ȭ #KJ 2 ¤ä ë #KJ 22 ¤ä Ìë #KJ 3 ¤ä Ìé #KJ 5 ¤ä ºÈ #KJ 8 ¤ä É #M5 1 ¤ä ¤ä #M5 199 ¤ä ¸¯ #R5 0 ¤ä ¤ä #R5 195 ¤ä »¦ #R5 6 ¤ä ²° #SUC 139 ¤ä ²° #T35 0 ¤ä Ìî #T35 2 ¤ä ¢ª #T35 252 ¤ä Ìð #T35 27 ¤ä¡¼¤É ¥ä¡¼¥É #JS 1 ¤ä¤¢ ¤ä¤¢ #CJ 2 ¤ä¤¢ ¤ä¤¢ #T35 2 ¤ä¤¤¤¿ ÌðÈÄ #JCN 0 ¤ä¤¤¤Å ¾ÆÄÅ #CN 0 ¤ä¤¤¤Î¤ä¤¤¤Î ¤ä¤¤¤Î¤ä¤¤¤Î #F12 0 ¤ä¤¤¤Ð ¿Ï #T35 0 ¤ä¤¨ Ȭ½Å #T35 0 ¤ä¤¨¤¤ Ìî±Ä #T30 0 ¤ä¤¨¤³ Ȭ½Å»Ò #JNM 0 ¤ä¤¨¤³ ×½À¸»Ò #JNM 0 ¤ä¤¨¤¹ Ȭ½Å½§ #CN 0 ¤ä¤¨¤Ð Ȭ½Å»õ #T35 1 ¤ä¤¨¤ä¤Þ Ȭ½Å»³ #JCN 0 ¤ä¤ª È¬Èø #JCN 0 ¤ä¤ª¤Á¤ç¤¦ ȬɴĹ #T30 0 ¤ä¤ª¤Ä ȬɴÄÅ #CN 0 ¤ä¤ª¤â¤Æ ÌðÌÌ #T35 1 ¤ä¤ª¤ä Ȭɴ²° #T35 0 ¤ä¤ª¤é ¤ä¤ª¤é #F14 1 ¤ä¤«¤² Ìð³Ý #JCN 0 ¤ä¤«¤¿ ´Û #T35 0 ¤ä¤«¤¿ ²°·Á #T35 1 ¤ä¤«¤¿ ´Ü #T35 1 ¤ä¤«¤Þ¤· ¤ä¤«¤Þ¤· #KY 0 ¤ä¤«¤Þ¤· ·ö¤· #KY 0 ¤ä¤«¤Þ¤·¤å¤¦ ¤ä¤«¤Þ¤·¤å¤¦ #KYU 0 ¤ä¤«¤Þ¤·¤å¤¦ ·ö¤·¤å¤¦ #KYU 0 ¤ä¤«¤é ÇÚ #T35 2 ¤ä¤«¤ó Ìë´Ö #T35 4 ¤ä¤¬¤¤ Ìî³° #T35 1 ¤ä¤¬¤¯ Ìë³Ø #T35 0 ¤ä¤¬¤Æ ¤ä¤¬¤Æ #F14 1 ¤ä¤¬¤ß Ìð¾å #JCN 0 ¤ä¤¬¤ß Ȭ¿À #JNS 0 ¤ä¤­¤Ä ¾Æ¤­ÉÕ #K5r 1 ¤ä¤­¤Ä¤± ¤ä¤­¤Ä¤± #KSr 1 ¤ä¤­¤Ä¤± ¾ÆÉÕ¤± #T30 0 ¤ä¤­¤Ë¤¯ ¾ÆÆù #T35 2 ¤ä¤­¤â¤Î ¾ÆÊª #T35 0 ¤ä¤­¤å¤¦ Ìîµå #T35 9 ¤ä¤­¤ó Ìë¶Ð #T30 1 ¤ä¤­¤ó Ìê¶â #T35 0 ¤ä¤® ȬÌÚ #JCN 0 ¤ä¤® »³ÍÓ #T35 6 ¤ä¤®¤¶ »³ÍӺ #KK 1 ¤ä¤®¤Ì¤Þ ȬÌھ #JNS 0 ¤ä¤¯ ²°µ× #JCN 0 ¤ä¤¯ Ìö #KJ 1 ¤ä¤¯ Ìó #NNPRE 101 ¤ä¤¯ Ìó #S5 1 ¤ä¤¯ Ìõ #S5 116 ¤ä¤¯ Ìò #SUC 0 ¤ä¤¯ Ìõ #T30 117 ¤ä¤¯ Ìó #T30 63 ¤ä¤¯ Ìñ #T35 1 ¤ä¤¯ Ìò #T35 10 ¤ä¤¯ Ìô #T35 18 ¤ä¤¯¤¤¤ó Ìò°÷ #T35 1 ¤ä¤¯¤¬¤¤ Ìô³² #T35 0 ¤ä¤¯¤¬¤¯ Ìô³Ø #T35 0 ¤ä¤¯¤¬¤é ÌòÊÁ #T35 1 ¤ä¤¯¤´ Ìõ¸ì #T35 0 ¤ä¤¯¤¶¤¤ ÌôºÞ #T35 0 ¤ä¤¯¤· Ìô»Õ #JCN 0 ¤ä¤¯¤·¤Þ¤ë Ìô»Õ´Ý #JNS 0 ¤ä¤¯¤·¤ã Ìò¼Ô #T35 2 ¤ä¤¯¤·¤ç Ìò½ê #T35 1 ¤ä¤¯¤·¤ç¤¯ Ìò¿¦ #T35 4 ¤ä¤¯¤·¤ó Ìö¿Ê #T30 0 ¤ä¤¯¤¸¤ç ÌöÇ¡ #T02 0 ¤ä¤¯¤¸¤ç¤¦ ÌóÄê #T30 0 ¤ä¤¯¤¹¤¦ Ìó¿ô #T35 0 ¤ä¤¯¤½¤¦ ÌôÁð #T35 1 ¤ä¤¯¤½¤¯ Ìó« #T30 12 ¤ä¤¯¤À ÌòΩ #T5r 5 ¤ä¤¯¤Æ¤¤ ÌóÄê #T30 0 ¤ä¤¯¤È¤¯ ÌòÆÀ #T35 0 ¤ä¤¯¤É¤¦ Ìöư #T30 1 ¤ä¤¯¤É¤¯ ÌõÆÉ #T30 0 ¤ä¤¯¤É¤¯ ÌòÆÀ #T35 3 ¤ä¤¯¤É¤· Ìñǯ #T35 0 ¤ä¤¯¤Ë¤ó Ìò¿Í #T35 1 ¤ä¤¯¤Î Ìëµ×Ìî #CN 0 ¤ä¤¯¤Ð Ìò¾ì #T35 0 ¤ä¤¯¤Ò¤ó ÌôÉÊ #T35 0 ¤ä¤¯¤Ö¤Ä Ìôʪ #T35 0 ¤ä¤¯¤Ö¤ó Ìõʸ #T35 1 ¤ä¤¯¤Þ¤ó ÌòËþ #T35 0 ¤ä¤¯¤á ÌòÌÜ #T35 3 ¤ä¤¯¤â Ȭ±À #JCN 0 ¤ä¤¯¤è¤¦ ÌôÍÑ #T35 0 ¤ä¤¯¤ê ÌôÍý #T35 1 ¤ä¤¯¤ï¤ê Ìò³ä #T35 21 ¤ä¤°¤Á Ìð¸ý #JCN 0 ¤ä¤°¤é Ϧ #T35 0 ¤ä¤± ¾Æ¤± #KSr 1 ¤ä¤± ¼Þ¤± #R5r 0 ¤ä¤±¤¤ Ìë·Ù #T35 0 ¤ä¤±¤¤ Ìî·Ü #T35 1 ¤ä¤±¤¤ Ìë·Ê #T35 2 ¤ä¤±¤Ä ¾Æ¤±ÉÕ #K5r 0 ¤ä¤±¤É ²Ð½ý #T30 1 ¤ä¤±¤Ü¤Ã¤¯¤¤ ¾Æ¤±¤Ü¤Ã¤¯¤¤ #T35 0 ¤ä¤±¤Ü¤Ã¤¯¤¤ ¾Æ¤±ËÀ¹º #T35 0 ¤ä¤³¤¦ Ìë¸÷ #T35 10 ¤ä¤³¤¦ Ìë¹Ô #T35 3 ¤ä¤´¤¦ ²°¹æ #T35 0 ¤ä¤´¤È Ȭ»ö #JCN 0 ¤ä¤µ¤¤ ÌîºÚ #T35 5 ¤ä¤µ¤« Ȭºä #JCN 0 ¤ä¤µ¤« Ìï±É #JCN 0 ¤ä¤µ¤­ ÌðÀè #T35 2 ¤ä¤µ¤¯ Ìðºî #JNS 0 ¤ä¤µ¤· ¤ä¤µ¤· #KY 22 ¤ä¤µ¤· Í¥¤· #KY 9 ¤ä¤µ¤· °×¤· #KYme 1 ¤ä¤µ¤·¤å¤¦ °×¤·¤å¤¦ #KYU 1 ¤ä¤µ¤·¤å¤¦ Í¥¤·¤å¤¦ #KYU 1 ¤ä¤µ¤·¤å¤¦ ¤ä¤µ¤·¤å¤¦ #KYU 2 ¤ä¤µ¤È Ȭ¶¿ #JCN 0 ¤ä¤¶¤­ Ìðºê #JNS 0 ¤ä¤¶¤ï ÌðÂô #JNS 0 ¤ä¤· ¹á¶ñ»Õ #T35 1 ¤ä¤·¤ª ȬĬ #JCN 0 ¤ä¤·¤­ ²°Éß #T35 3 ¤ä¤·¤Ê ÍÜ #W5r 1 ¤ä¤·¤Þ ÌðÅç #JCN 0 ¤ä¤·¤ç¤¯ Ìë¿© #T35 1 ¤ä¤·¤í ¼Ò #JCN 0 ¤ä¤·¤í ¼Ò #T35 1 ¤ä¤·¤ó Ìî¿´ #T35 1 ¤ä¤¸ Ì #T35 1 ¤ä¤¸¤¦¤Þ ÌÇÏ #T35 0 ¤ä¤¸¤Þ ÌðÅç #JNS 0 ¤ä¤¸¤Þ ÌðÅè #JNS 0 ¤ä¤¸¤å¤¦ Ìî½Ã #T35 0 ¤ä¤¸¤ë¤· Ìð°õ #T30 23 ¤ä¤¸¤ë¤· ¢« #T35 12 ¤ä¤¸¤ë¤· ¢­ #T35 14 ¤ä¤¸¤ë¤· ¢ª #T35 69 ¤ä¤¸¤ë¤· ¢¬ #T35 8 ¤ä¤¸¤ó Ìî¿Í #T35 0 ¤ä¤¹ °× #D2KY 0 ¤ä¤¹ ¤ä¤¹ #D2KY 226 ¤ä¤¹ °Â #JCN 0 ¤ä¤¹ Ìë¿Ü #JCN 0 ¤ä¤¹ Ìî½§ #JCN 0 ¤ä¤¹ ÊÝ #KJ 0 ¤ä¤¹ ÂÙ #KJ 1 ¤ä¤¹ ¹¯ #KJ 3 ¤ä¤¹ Ì÷ #KJ 7 ¤ä¤¹ °× #KY 30 ¤ä¤¹ °Â #KYme 101 ¤ä¤¹ µÙ #M5r 39 ¤ä¤¹ °Â #T35 83 ¤ä¤¹¤¢¤¬¤ê °Â¾å¤¬¤ê #T05 1 ¤ä¤¹¤¢¤­ Ì÷¾¼ #JNM 0 ¤ä¤¹¤¤ °Â°æ #JCN 0 ¤ä¤¹¤¦ °×¤¦ #KYU 2 ¤ä¤¹¤¦ °Â¤¦ #KYU 3 ¤ä¤¹¤¦¤é °Â±º #JCN 0 ¤ä¤¹¤¦¤ê °ÂÇä¤ê #T10 3 ¤ä¤¹¤ª °ÂÃË #JNM 0 ¤ä¤¹¤ª °Âͺ #JNM 0 ¤ä¤¹¤ª ¹¯À¸ #JNM 0 ¤ä¤¹¤ª ¹¯ÃË #JNM 0 ¤ä¤¹¤ª ¹¯É× #JNM 0 ¤ä¤¹¤ª ¹¯Íº #JNM 0 ¤ä¤¹¤ª ÂÙÃË #JNM 0 ¤ä¤¹¤ª ÂÙÉ× #JNM 0 ¤ä¤¹¤ª ÂÙͺ #JNM 0 ¤ä¤¹¤ª ÊÝÀ¸ #JNM 0 ¤ä¤¹¤ª ÊÝÃË #JNM 0 ¤ä¤¹¤ª ÊÝÉ× #JNM 0 ¤ä¤¹¤ª ÊÝͺ #JNM 0 ¤ä¤¹¤ª Ì÷É× #JNM 0 ¤ä¤¹¤ª¤« ÂÙÉì #JCN 0 ¤ä¤¹¤«¤ï °ÂÀî #JNS 0 ¤ä¤¹¤® °ÂÍè #JCN 0 ¤ä¤¹¤³ °Â»Ò #JNM 0 ¤ä¤¹¤³ ¹¯»Ò #JNM 0 ¤ä¤¹¤³ ÂÙ»Ò #JNM 0 ¤ä¤¹¤³ Ì÷»Ò #JNM 0 ¤ä¤¹¤· °Â #JNM 0 ¤ä¤¹¤· ÂÙ #JNM 0 ¤ä¤¹¤· Ì÷ #JNM 0 ¤ä¤¹¤· ¹¯ #JNM 0 ¤ä¤¹¤¸ ¹¯»Ê #JNM 0 ¤ä¤¹¤À °ÂÅÄ #JCN 0 ¤ä¤¹¤Ã¤Ý °Â¤Ã¤Ý #KY 1 ¤ä¤¹¤Å¤« °ÂÄÍ #JCN 0 ¤ä¤¹¤È¤ß °ÂÉÙ #JCN 0 ¤ä¤¹¤È¤â ¹¯Í§ #JNM 0 ¤ä¤¹¤Í °ÂÃÍ #T15 0 ¤ä¤¹¤Î¤ê °Â§ #JNM 0 ¤ä¤¹¤Î¤ê ÂÙ·û #JNM 0 ¤ä¤¹¤Ò¤³ ¹¯É§ #JNM 0 ¤ä¤¹¤Ò¤³ ÂÙɧ #JNM 0 ¤ä¤¹¤Ò¤³ Ì÷ɧ #JNM 0 ¤ä¤¹¤Ò¤í °Â¹° #JNM 0 ¤ä¤¹¤Ò¤í ¹¯¹¨ #JNM 0 ¤ä¤¹¤Ò¤í ¹¯¹­ #JNM 0 ¤ä¤¹¤Ò¤í ¹¯¹° #JNM 0 ¤ä¤¹¤Ò¤í ¹¯Çî #JNM 0 ¤ä¤¹¤Ò¤í ÂÙ¹° #JNM 0 ¤ä¤¹¤Ò¤í ÊÝÇî #JNM 0 ¤ä¤¹¤Õ¤ß ÂÙ»Ë #JNM 0 ¤ä¤¹¤Þ µÙ¤Þ #R5r 0 ¤ä¤¹¤Þ¤µ ¹¯Àµ #JNM 0 ¤ä¤¹¤ß µÙ¤ß #T35 15 ¤ä¤¹¤â¤Î °Âʪ #T35 1 ¤ä¤¹¤æ¤­ ¶³Ç· #JNM 0 ¤ä¤¹¤æ¤­ ¹¯Ç· #JNM 0 ¤ä¤¹¤æ¤­ ÊÝÇ· #JNM 0 ¤ä¤¹¤è ¹¯Âå #JNM 0 ¤ä¤¹¤è¤· ¹¯Á± #JNS 0 ¤ä¤¹¤é °Â¤é #G5r 1 ¤ä¤¹¤é¤« °Â¤é¤« #T05 0 ¤ä¤¹¤í¤¦ ¹¯Ï¯ #JNM 0 ¤ä¤¹¤ó °Â¤ó #ZX 1 ¤ä¤º ȬƬ #JNS 0 ¤ä¤» Á餻 #KSr 3 ¤ä¤»¤¤ ÌîÀ¸ #T30 0 ¤ä¤»¤¤ ÌîÀ­ #T35 1 ¤ä¤»¤ª¤È¤í¤¨ ¤ä¤»¿ê¤¨ #KSr 0 ¤ä¤»¤Û¤½ ¤ä¤»ºÙ #R5r 0 ¤ä¤½¤¦ ÌîÁð #T35 0 ¤ä¤½¤¦¤­¤ç¤¯ ÌëÁÛ¶Ê #T35 1 ¤ä¤½¤¸ Ȭ½½Ï© #T35 0 ¤ä¤¿ ÌðÅÄ #JNS 0 ¤ä¤¿¤¤ ²°Âæ #T35 2 ¤ä¤¿¤Ù ëÅÄÉô #JNS 0 ¤ä¤¿¤é ¤ä¤¿¤é #F14 3 ¤ä¤¿¤é ¤ä¤¿¤é #T05 3 ¤ä¤¿¤í¤¦ ÌïÂÀϺ #JNM 0 ¤ä¤À ÌðÅÄ #JNS 0 ¤ä¤Á¤Û ȬÀéÊæ #JCN 0 ¤ä¤Á¤Þ¤¿ Ȭ³¹ #JCN 0 ¤ä¤Á¤ç¤¦ ÌîÄ» #T35 0 ¤ä¤Á¤è ȬÀéÂå #JCN 0 ¤ä¤Á¤è ȬÀéÂå #T35 0 ¤ä¤Á¤ó ²ÈÄ #T35 2 ¤ä¤Ã¤« ¤ä¤Ã¤« #M5r 0 ¤ä¤Ã¤« Ìô²Á #T35 1 ¤ä¤Ã¤«¤¤ Ìñ²ð #T05 6 ¤ä¤Ã¤­ Ìöµ¯ #T35 0 ¤ä¤Ã¤­ ¤ä¤Ã¤­ #T35 1 ¤ä¤Ã¤­¤ç¤¦ Ìôè² #T35 0 ¤ä¤Ã¤­¤ç¤¯ Ìô¶É #T35 0 ¤ä¤Ã¤³ ÅÛ #T35 0 ¤ä¤Ã¤Ä Ȭ¤Ä #T35 1 ¤ä¤Ã¤Ä¤± ¤ä¤Ã¤Ä¤± #KS 2 ¤ä¤Ã¤È ¤ä¤Ã¤È #F14 22 ¤ä¤Ã¤È ¤ä¤Ã¤È #T36 0 ¤ä¤Ã¤È¤³ ¤ä¤Ã¤È¤³ #T35 0 ¤ä¤Ã¤È¤³¤µ ¤ä¤Ã¤È¤³¤µ #F14 0 ¤ä¤Ã¤È¤³¤µ ¤ä¤Ã¤È¤³¤µ #T36 0 ¤ä¤Ã¤Ñ¤ê ¤ä¤Ã¤Ñ¤ê #F14 71 ¤ä¤Ã¤Ñ¤ê ¤ä¤Ã¤Ñ¤ê #T36 0 ¤ä¤Ä ¤ä¤Ä #S5 0 ¤ä¤Ä Ȭ #T35 11 ¤ä¤Ä ¤ä¤Ä #T35 29 ¤ä¤Ä ÅÛ #T35 83 ¤ä¤Ä¤ª È¬Èø #JCN 0 ¤ä¤Ä¤« Ȭ« #JCN 0 ¤ä¤Ä¤¬¤À¤± Ȭ¥ö³Ù #CN 0 ¤ä¤Ä¤·¤í ȬÂå #JCN 0 ¤ä¤Ä¤Þ¤­ Ȭ´¬ #JNS 0 ¤ä¤Ä¤á¤¦¤Ê¤® òç #T35 1 ¤ä¤È ÌîÅÆ #T35 1 ¤ä¤È ¸Û #W5 1 ¤ä¤È¤¤ ¸Û #T35 0 ¤ä¤È¤¤¤Ì¤· ¸Û¼ç #T35 0 ¤ä¤È¤¦ ÌîÅð #T35 0 ¤ä¤È¤¦ ÌîÅÞ #T35 1 ¤ä¤È¤ß ÌïÉÙ #JCN 0 ¤ä¤É ½É #R5 1 ¤ä¤É ½É #S5 1 ¤ä¤É ½É #T35 12 ¤ä¤É¤ä ½É²° #T35 1 ¤ä¤Ê Π#T35 0 ¤ä¤Ê¤¤ Ìø°æ #JCN 0 ¤ä¤Ê¤¤¤Å ÌøÄÅ #JCN 0 ¤ä¤Ê¤¬¤ï ÌøÀî #JCN 0 ¤ä¤Ê¤¬¤ï ÎÂÀî #JCN 0 ¤ä¤Ê¤® Ìø #JNS 0 ¤ä¤Ê¤® Ìø #T35 2 ¤ä¤Ê¤®¤µ¤ï ÌøÂô #JNS 0 ¤ä¤Ê¤®¤À ÌøÅÄ #JCN 0 ¤ä¤Ê¤®¤Ï¤é Ìø¸¶ #JCN 0 ¤ä¤Ê¤®¤â¤È ÌøËÜ #JCN 0 ¤ä¤Ê¤» ÌøÀ¥ #JNS 0 ¤ä¤Ê¤À¤Ë ÌøÃ« #JCN 0 ¤ä¤Ê¤Ï¤é ºô¸¶ #JNS 0 ¤ä¤Ë ¥ä¥Ë #T35 0 ¤ä¤Ë »é #T35 0 ¤ä¤Ë¤µ¤¬ ¤ä¤Ë²¼¤¬ #R5 0 ¤ä¤Ì¤· ²È¼ç #T35 0 ¤ä¤Í ²°º¬ #T35 2 ¤ä¤Î ÌðÌî #JCN 0 ¤ä¤Ï¤® Ìðºî #JCN 0 ¤ä¤Ï¤¿ ȬȨ #JNS 0 ¤ä¤Ï¤¿¤Ë¤· ȬȨÀ¾ #CN 0 ¤ä¤Ï¤¿¤Ò¤¬¤· ȬȨÅì #CN 0 ¤ä¤Ï¤Ð Ìð¶Ò #JCN 0 ¤ä¤Ï¤ê ¤ä¤Ï¤ê #CJ 64 ¤ä¤Ï¤ó ÌëȾ #T35 0 ¤ä¤Ð ¤ä¤Ð #KY 0 ¤ä¤Ð ¥ä¥Ð #KY 0 ¤ä¤Ð¤±¤¤ ÌíÇÏ·Ì #CN 0 ¤ä¤Ð¤ó ÌîÈÚ #T05 1 ¤ä¤Ò¤³ Ìïɧ #JCN 0 ¤ä¤Ö ÍÜÉã #JCN 0 ¤ä¤Ö ÇË #R5r 3 ¤ä¤Ö Ìù #T35 0 ¤ä¤Ö¤«¤é¤Ü¤¦ Ìù¤«¤éËÀ #T15 0 ¤ä¤Ö¤­ Ìð¿á #JCN 0 ¤ä¤Ö¤µ¤« ¤ä¤Ö¤µ¤« #T05 2 ¤ä¤Ö¤Ø¤Ó Ìù¼Ø #T15 0 ¤ä¤Ö¤ì ÇÔ¤ì #KS 0 ¤ä¤Ö¤ì¤«¤Ö¤ì Çˤ줫¤Ö¤ì #T05 0 ¤ä¤Ù ÌðÉô #JCN 0 ¤ä¤Ü ¥ä¥Ü #T05 1 ¤ä¤Ü ÌîÊë #T05 2 ¤ä¤Ü¤¦ Ìî˾ #T35 0 ¤ä¤Ü¤Ã¤¿ ¤ä¤Ü¤Ã¤¿ #KY 0 ¤ä¤Þ »³ #CNSUC1 53 ¤ä¤Þ ÌíËã #JCN 0 ¤ä¤Þ »³ #T35 80 ¤ä¤Þ¤¢¤¤ »³´Ö #T35 0 ¤ä¤Þ¤¤ »³°æ #JNS 0 ¤ä¤Þ¤¤ É #T35 1 ¤ä¤Þ¤¦¤Á »³Æâ #JCN 0 ¤ä¤Þ¤¨ »³¹¾ #JCN 0 ¤ä¤Þ¤ª¤« »³²¬ #JCN 0 ¤ä¤Þ¤ª¤¯ »³±ü #T35 1 ¤ä¤Þ¤«¤ï »³Àî #JNS 0 ¤ä¤Þ¤«¤ï »³Àî #T35 0 ¤ä¤Þ¤¬ »³¹á #JCN 0 ¤ä¤Þ¤¬ »³¼¯ #JCN 0 ¤ä¤Þ¤¬ »³²ì #JNS 0 ¤ä¤Þ¤¬¤¿ »³·Á #JCN 0 ¤ä¤Þ¤¬¤¿ »³¸© #JCN 0 ¤ä¤Þ¤¬¤¿ »³Êý #JCN 0 ¤ä¤Þ¤¬¤¿¤±¤ó »³·Á¸© #CNS 0 ¤ä¤Þ¤¬¤¿¤· »³·Á»Ô #CNS 0 ¤ä¤Þ¤¬¤ß »³¾å #JNS 0 ¤ä¤Þ¤¬¤é ¥ä¥Þ¥¬¥é #T35 0 ¤ä¤Þ¤¬¤é »³¿ý #T35 0 ¤ä¤Þ¤¬¤ï »³Àî #JCN 0 ¤ä¤Þ¤¬¤ï »³Â¦ #T35 0 ¤ä¤Þ¤­¤¿ »³ËÌ #JCN 0 ¤ä¤Þ¤®¤· »³´ß #JNS 0 ¤ä¤Þ¤¯¤º¤ì »³Êø¤ì #T30 0 ¤ä¤Þ¤¯¤Ë »³¹ñ #JCN 0 ¤ä¤Þ¤°¤Á »³¸ý #JCN 0 ¤ä¤Þ¤°¤Á¤±¤ó »³¸ý¸© #CNS 0 ¤ä¤Þ¤°¤Á¤· »³¸ý»Ô #CNS 0 ¤ä¤Þ¤°¤Ë »³¹ñ #T35 0 ¤ä¤Þ¤³¤· »³±Û #JCN 0 ¤ä¤Þ¤³¤· »³¸Å»Ö #JNS 0 ¤ä¤Þ¤´¤ä »³¾®²° #T35 0 ¤ä¤Þ¤µ¤­ »³ºê #JNS 0 ¤ä¤Þ¤¶¤­ »³ºê #JCN 0 ¤ä¤Þ¤¶¤¯¤é »³ºù #T35 0 ¤ä¤Þ¤¶¤È »³Î¤ #T35 1 ¤ä¤Þ¤· ¤ä¤Þ¤· #KY 0 ¤ä¤Þ¤· á̤· #KY 0 ¤ä¤Þ¤· »³»Õ #T35 0 ¤ä¤Þ¤·¤¿ »³²¼ #JCN 0 ¤ä¤Þ¤·¤Ê »³²Ê #JCN 0 ¤ä¤Þ¤·¤å¤¦ ¤ä¤Þ¤·¤å¤¦ #KYU 0 ¤ä¤Þ¤·¤å¤¦ á̤·¤å¤¦ #KYU 0 ¤ä¤Þ¤·¤í »³¾ë #JCN 0 ¤ä¤Þ¤¹¤½ »³¿þ #T35 0 ¤ä¤Þ¤¾¤¨ »³Åº #JCN 0 ¤ä¤Þ¤À »³ÅÄ #JCN 0 ¤ä¤Þ¤Ä¤ê Ìðº× #JCN 0 ¤ä¤Þ¤Å¤ß »³ÀÑ¤ß #T10 2 ¤ä¤Þ¤Æ »³¼ê #JCN 0 ¤ä¤Þ¤Æ »³¼ê #T35 3 ¤ä¤Þ¤È »³ÅÔ #JCN 0 ¤ä¤Þ¤È ÂçÏ #JCN 0 ¤ä¤Þ¤È »³Ìç #JNS 0 ¤ä¤Þ¤È ÂçÏ #T35 7 ¤ä¤Þ¤È¤³¤ª¤ê¤ä¤Þ ÂçÏ·´»³ #CN 0 ¤ä¤Þ¤È¤¿¤«¤À ÂçϹâÅÄ #CN 0 ¤ä¤Þ¤Ê¤« »³Ãæ #JCN 0 ¤ä¤Þ¤Ê¤«¤³ »³Ãæ¸Ð #CN 0 ¤ä¤Þ¤Ê¤· »³Íü #JCN 0 ¤ä¤Þ¤Ê¤·¤±¤ó »³Íü¸© #CNS 0 ¤ä¤Þ¤Í »³º¬ #JCN 0 ¤ä¤Þ¤Î »³Ìî #JCN 0 ¤ä¤Þ¤Î¤¦¤Á »³¥ÎÆâ #JCN 0 ¤ä¤Þ¤Î¤¦¤Á »³Ç·Æâ #JNS 0 ¤ä¤Þ¤Î¤¯¤Á »³Ç·¸ý #JCN 0 ¤ä¤Þ¤Î¤Æ »³¤Î¼ê #T35 2 ¤ä¤Þ¤Î¤Ù »³ÊÕ #JNS 0 ¤ä¤Þ¤Î¤Ü¤ê »³ÅФê #T30 2 ¤ä¤Þ¤Ï ¥ä¥Þ¥Ï #KK 1 ¤ä¤Þ¤Ï¤À »³È© #T35 0 ¤ä¤Þ¤Ð »³¾ì #T35 0 ¤ä¤Þ¤Ù »³ÊÕ #JCN 0 ¤ä¤Þ¤à¤é »³Â¼ #JNS 0 ¤ä¤Þ¤â¤È »³¸µ #JCN 0 ¤ä¤Þ¤â¤È »³ËÜ #JCN 0 ¤ä¤Þ¤â¤ê »³¿¹ #JNS 0 ¤ä¤Þ¤â¤ê »³À¹¤ê #T10 0 ¤ä¤Þ¤ä¤Þ »³¡¹ #T35 4 ¤ä¤Þ¤ï¤± »³Ê¬¤± #T10 0 ¤ä¤ß °Ç #T35 2 ¤ä¤ß¤¦¤Á °ÇƤ¤Á #T30 0 ¤ä¤ß¤Ä¤­ ɤßÉÕ¤­ #T35 1 ¤ä¤à¤Á¤ã °ûÃã #T35 1 ¤ä¤à¤Ê ¤ä¤à¤Ê #KY 0 ¤ä¤à¤Î¤¦ ¤ä¤à¤Î¤¦ #KYU 0 ¤ä¤à¤ò¤¨ ¤ä¤à¤òÆÀ #KS 2 ¤ä¤á Ȭ½÷ #JCN 0 ¤ä¤á »ß¤á #KS 29 ¤ä¤á ¼­¤á #KS 4 ¤ä¤â¤È ÌðËÜ #JCN 0 ¤ä¤ä ¤ä¤ä #F14 18 ¤ä¤ä¤³¤· ¤ä¤ä¤³¤· #KY 4 ¤ä¤ä¤³¤·¤å¤¦ ¤ä¤ä¤³¤·¤å¤¦ #KYU 1 ¤ä¤æ ÙèÙé #T30 0 ¤ä¤è¤¤ ÌïÀ¸ #JCN 0 ¤ä¤è¤¤ ÌïÀ¸ #T35 2 ¤ä¤ê Ìú #T35 0 ¤ä¤ê Áä #T35 3 ¤ä¤ê¤¬¤¤ ¤ä¤ê¤¬¤¤ #T35 2 ¤ä¤ê¤¬¤À¤± Áä¥ö³Ù #CN 0 ¤ä¤ê¤¯¤ê ¤ä¤ê¤¯¤ê #T30 1 ¤ä¤ê¤¹¤´ ¤ä¤ê²á¤´ #S5r 0 ¤ä¤ê¤À¤Þ ¤ä¤ê¶Ì #T35 1 ¤ä¤ê¤Æ ¤ä¤ê¼ê #T35 0 ¤ä¤ê¤È¤ê ¤ä¤ê¤È¤ê #T30 20 ¤ä¤ê¤È¤ê ¤ä¤ê¼è¤ê #T30 5 ¤ä¤ê¤Ê¤ª ¤ä¤êľ #S5r 8 ¤ä¤ë¤»¤Ê ¤ä¤ë¤»¤Ê #KY 0 ¤ä¤ë¤»¤Î¤¦ ¤ä¤ë¤»¤Î¤¦ #KYU 0 ¤ä¤í¤¦ ÌîϺ #T35 6 ¤ä¤ï ¤ä¤ï #T05 0 ¤ä¤ï¤¿ ȬȨ #JCN 0 ¤ä¤ï¤¿¤Ï¤Þ ȬȨÉÍ #CN 0 ¤ä¤ï¤Ï¤À ½ÀÈ© #T35 0 ¤ä¤ï¤Ï¤é ëϸ¶ #JNS 0 ¤ä¤ï¤é Ϥé #G5r 0 ¤ä¤ï¤é ëϸ¶ #JCN 0 ¤ä¤ï¤é¤« Æð¤é¤« #KYme 4 ¤ä¤ï¤é¤« ½À¤é¤« #KYmime 0 ¤ä¤ï¤é¤« ½À¤é¤« #T05 0 ¤ä¤ï¤é¤« Æð¤é¤« #T05 2 ¤ä¤ï¤é¤³¤¦ ½À¤é¤³¤¦ #KYU 0 ¤ä¤ï¤é¤³¤¦ Æð¤é¤³¤¦ #KYU 1 ¤ä¤ó¤¯ ¥ä¥ó¥¯ #T30 1 ¤ä¤ó¤° ¥ä¥ó¥° #T05 1 ¤ä¤ó¤ï¤ê ¤ä¤ó¤ï¤ê #F04 0 ¤ä¤ó¤ï¤ê ¤ä¤ó¤ï¤ê #T16 0 ¤æ ±ý #K5 0 ¤æ À #K5 0 ¤æ ¹Ô #K5r 22 ¤æ ¤æ #K5r 45 ¤æ Ìþ #KJ 0 ¤æ Í¡ #KJ 0 ¤æ Ìû #KJ 1 ¤æ Ìü #KJ 1 ¤æ Ìý #KJ 1 ¤æ Í¢ #KJ 1 ¤æ Í® #KJ 1 ¤æ ÓÈ #KJ 1 ¤æ ͳ #KJ 3 ¤æ ÍÉ #R5 1 ¤æ Åò #T35 65 ¤æ ·ë #W5 13 ¤æ¡¼¤¯¤ê¤Ã¤É ¥æ¡¼¥¯¥ê¥Ã¥É #JN 0 ¤æ¡¼¤¶ ¥æ¡¼¥¶ #T35 255 ¤æ¡¼¤¶¡¼ ¥æ¡¼¥¶¡¼ #T35 158 ¤æ¡¼¤¶¡¼¤º ¥æ¡¼¥¶¡¼¥º #T35 5 ¤æ¡¼¤Æ¤£¤ê¤Æ¤£ ¥æ¡¼¥Æ¥£¥ê¥Æ¥£ #T35 91 ¤æ¡¼¤Æ¤£¤ê¤Æ¤£¡¼ ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼ #T35 91 ¤æ¡¼¤È¤Ô¤¢ ¥æ¡¼¥È¥Ô¥¢ #T35 0 ¤æ¡¼¤â¤¢ ¥æ¡¼¥â¥¢ #T35 0 ¤æ¡¼¤â¤é¤¹ ¥æ¡¼¥â¥é¥¹ #T05 1 ¤æ¤¢¤µ ÅòÀõ #JCN 0 ¤æ¤¢¤µ ÅòÞÉ #JNS 0 ¤æ¤¤ Í³Èæ #JCN 0 ¤æ¤¤ Í£ #JNM 0 ¤æ¤¤ °ä #KJ 0 ¤æ¤¤ Í£ #KJ 8 ¤æ¤¤¤¤¤Ä Í£°ì #T35 5 ¤æ¤¤¤¬¤É¤¯¤½¤ó Í£²æÆÈº #T15 1 ¤æ¤¤¤´¤ó °ä¸À #T30 1 ¤æ¤¤¤·¤ç ͳ½ï #T35 1 ¤æ¤¤¤Î¤¦ ·ëǼ #T35 3 ¤æ¤¤¤Ö¤Ä ͣʪ #T35 0 ¤æ¤¦ ͳ±§ #JCN 0 ¤æ¤¦ ±¦ #KJ 0 ¤æ¤¦ ÆÓ #KJ 0 ¤æ¤¦ ͤ #KJ 0 ¤æ¤¦ ͨ #KJ 0 ¤æ¤¦ Í© #KJ 0 ¤æ¤¦ ͬ #KJ 0 ¤æ¤¦ Í® #KJ 0 ¤æ¤¦ ͯ #KJ 0 ¤æ¤¦ Ͱ #KJ 0 ¤æ¤¦ ͱ #KJ 0 ¤æ¤¦ Ͳ #KJ 0 ¤æ¤¦ ͸ #KJ 0 ¤æ¤¦ ͹ #KJ 0 ¤æ¤¦ ͧ #KJ 1 ¤æ¤¦ ͪ #KJ 1 ¤æ¤¦ ͳ #KJ 1 ¤æ¤¦ Í´ #KJ 1 ¤æ¤¦ Ͷ #KJ 1 ¤æ¤¦ Í« #KJ 10 ¤æ¤¦ ͵ #KJ 13 ¤æ¤¦ ͦ #KJ 2 ¤æ¤¦ Í» #KJ 2 ¤æ¤¦ ͺ #KJ 3 ¤æ¤¦ Í· #KJ 7 ¤æ¤¦ Í­ #S5 94 ¤æ¤¦ Í­ #T30 94 ¤æ¤¦ ͼ #T35 21 ¤æ¤¦ Í¥ #T35 3 ¤æ¤¦¤¤ Í­°Õ #T05 2 ¤æ¤¦¤¤ Í¥°Ì #T05 7 ¤æ¤¦¤¤¤® Í­°ÕµÁ #T05 3 ¤æ¤¦¤¤¤Á ͦ°ì #JNM 0 ¤æ¤¦¤¤¤Á Í´°ì #JNM 0 ¤æ¤¦¤¤¤Á ͵°ì #JNM 0 ¤æ¤¦¤¤¤Á ͺ°ì #JNM 0 ¤æ¤¦¤¤¤Á¤í¤¦ Í´°ìϺ #JNM 0 ¤æ¤¦¤¤¤ó Ͷ°ú #T30 0 ¤æ¤¦¤¦¤Ä ͫݵ #T05 1 ¤æ¤¦¤¨¤­ Í­±× #T05 6 ¤æ¤¦¤¨¤Ä Í¥±Û #T30 1 ¤æ¤¦¤¨¤ó ·ë±ï #JNS 0 ¤æ¤¦¤¨¤ó¤Á Í·±àÃÏ #T35 3 ¤æ¤¦¤« Í­²Á #T35 1 ¤æ¤¦¤«¤¤ Í­³¦ #T05 1 ¤æ¤¦¤«¤¤ Í»²ò #T30 0 ¤æ¤¦¤«¤¤ Ͷ²ý #T30 1 ¤æ¤¦¤«¤ó ͦ´º #T05 10 ¤æ¤¦¤«¤ó ͼ´© #T35 1 ¤æ¤¦¤¬ Í¥²í #T05 1 ¤æ¤¦¤¬¤¤ Í­³² #T05 1 ¤æ¤¦¤¬¤¯ Í·³Ø #T30 0 ¤æ¤¦¤¬¤¿ ͼÊý #T35 26 ¤æ¤¦¤­ ·ë¾ë #JCN 0 ¤æ¤¦¤­ Í¥µ¯ #JNM 0 ¤æ¤¦¤­ Í´´õ #JNM 0 ¤æ¤¦¤­ Ͷµ¯ #T30 1 ¤æ¤¦¤­ Í­µ¡ #T35 2 ¤æ¤¦¤­ ͦµ¤ #T35 4 ¤æ¤¦¤­¤Á ͦµÈ #JNM 0 ¤æ¤¦¤­¤å¤¦ ͪµ× #T05 1 ¤æ¤¦¤­¤å¤¦ Í­µÙ #T35 1 ¤æ¤¦¤­¤å¤¦ Í·µÙ #T35 1 ¤æ¤¦¤­¤å¤¦ Í­µë #T35 31 ¤æ¤¦¤°¤¦ Í¥¶ø #T30 1 ¤æ¤¦¤°¤ì ͼÊë¤ì #T35 1 ¤æ¤¦¤±¤¤ Í­·Á #T15 0 ¤æ¤¦¤±¤ó¤·¤ã Í­¸¢¼Ô #T35 0 ¤æ¤¦¤²¤ó Í­¸Â #T05 12 ¤æ¤¦¤²¤ó¤¬¤¤¤·¤ã Í­¸Â²ñ¼Ò #T35 0 ¤æ¤¦¤³ Í¥»Ò #JNM 0 ¤æ¤¦¤³ ͳ»Ò #JNM 0 ¤æ¤¦¤³ Í´»Ò #JNM 0 ¤æ¤¦¤³ ͵»Ò #JNM 0 ¤æ¤¦¤³¤¦ Í­¸ú #T05 101 ¤æ¤¦¤³¤¦ Í­¸þ #T05 2 ¤æ¤¦¤³¤¦ ͧ¹¥ #T35 2 ¤æ¤¦¤³¤¯ ͼ¹ï #T35 1 ¤æ¤¦¤³¤ó ͺÞÕ #T05 0 ¤æ¤¦¤´¤¦ Í»¹ç #T30 4 ¤æ¤¦¤¶¤¤ Í­ºá #T35 1 ¤æ¤¦¤· ͦ»Ñ #T35 0 ¤æ¤¦¤· Í»»ñ #T30 2 ¤æ¤¦¤· Í­»Ö #T35 6 ¤æ¤¦¤·¤­¤·¤ã Í­¼±¼Ô #T35 2 ¤æ¤¦¤·¤Æ¤Ã¤»¤ó Í­»ÉÅ´Àþ #T35 0 ¤æ¤¦¤·¤å¤¦ Í¥½¨ #T05 6 ¤æ¤¦¤·¤å¤Ä ͯ½Ð #T30 0 ¤æ¤¦¤·¤å¤ó Í¥½Ù #T35 0 ¤æ¤¦¤·¤ç¤¦ Í¥¾¡ #T30 24 ¤æ¤¦¤·¤ç¤¦ Í­½þ #T35 10 ¤æ¤¦¤·¤ç¤¯ ͼ¿© #T35 13 ¤æ¤¦¤·¤ó¤í¤ó Í­¿ÀÏÀ #T35 0 ¤æ¤¦¤¸ ͦ¼¡ #JNM 0 ¤æ¤¦¤¸ ͦ¼£ #JNM 0 ¤æ¤¦¤¸ ͦÆó #JNM 0 ¤æ¤¦¤¸ Í´»Ê #JNM 0 ¤æ¤¦¤¸ Í´Æó #JNM 0 ¤æ¤¦¤¸ ͵»Ê #JNM 0 ¤æ¤¦¤¸ ͵»Ë #JNM 0 ¤æ¤¦¤¸ ͵¼£ #JNM 0 ¤æ¤¦¤¸ ͵Æó #JNM 0 ¤æ¤¦¤¸ ͺÆó #JNM 0 ¤æ¤¦¤¸¤å¤¦¤Õ¤À¤ó Í¥½ÀÉÔÃÇ #T35 2 ¤æ¤¦¤¸¤ç ͨ½ú #T30 0 ¤æ¤¦¤¸¤ç Í·½÷ #T35 0 ¤æ¤¦¤¸¤ç¤¦ ͧ¾ð #T35 2 ¤æ¤¦¤¸¤í¤¦ ͵¼¡Ïº #JNM 0 ¤æ¤¦¤¸¤í¤¦ ͺÆóϺ #JNM 0 ¤æ¤¦¤¸¤ó Í­¿Í #T35 0 ¤æ¤¦¤¸¤ó ͧ¿Í #T35 22 ¤æ¤¦¤¹¤¦ Í­¿ô #T05 1 ¤æ¤¦¤¹¤º¤ß ͼÎÃ¤ß #T30 0 ¤æ¤¦¤º¤¦ Í»ÄÌ #T30 3 ¤æ¤¦¤º¤¦¤à¤² Í»ÄÌ̵³· #T05 2 ¤æ¤¦¤»¤¤ ͹À¯ #KK 1 ¤æ¤¦¤»¤¤ Í¥Àª #T05 1 ¤æ¤¦¤»¤¤ Í¥À¸ #T35 0 ¤æ¤¦¤»¤¤ Í·À± #T35 0 ¤æ¤¦¤»¤¤ ͺÀ­ #T35 1 ¤æ¤¦¤»¤¤ Í­À­ #T35 2 ¤æ¤¦¤»¤¤ ͹À¯ #T35 8 ¤æ¤¦¤»¤¤¤³¤¦¤·¤ã ͹À¯¸ø¼Ò #KK 0 ¤æ¤¦¤»¤¤¤·¤ç¤¦ ͹À¯¾Ê #KK 1 ¤æ¤¦¤»¤¤¤¸¤®¤ç¤¦¤Á¤ç¤¦ ͹À¯»ö¶ÈÄ£ #KK 0 ¤æ¤¦¤»¤Ä Í»Àã #T30 0 ¤æ¤¦¤»¤ó Í¥Àè #T30 43 ¤æ¤¦¤»¤ó Í­Àþ #T35 1 ¤æ¤¦¤¼¤¤ Í·Àâ #T30 0 ¤æ¤¦¤¼¤¤ Í­ÀÇ #T35 0 ¤æ¤¦¤¼¤ó ͪÁ³ #F00 1 ¤æ¤¦¤¼¤ó ͧÁµ #T35 0 ¤æ¤¦¤½¤¦ ͺÁÔ #T05 0 ¤æ¤¦¤½¤¦ ͹Á÷ #T30 4 ¤æ¤¦¤¾¤¦ ͦ»° #JNM 0 ¤æ¤¦¤¾¤¦ ͦ¢ #JNM 0 ¤æ¤¦¤¾¤¦ ͺ»° #JNM 0 ¤æ¤¦¤¿¤¤ Í¥ÂÔ #T30 0 ¤æ¤¦¤À¤¤ ͺÂç #T05 1 ¤æ¤¦¤À¤Á ͼΩ¤Á #T35 2 ¤æ¤¦¤À¤ó ͦÃÇ #T30 1 ¤æ¤¦¤Á ͶÃ× #T30 1 ¤æ¤¦¤Á¤ç ͹Ãù #T35 0 ¤æ¤¦¤Á¤ç¤¦ ͪĹ #T05 1 ¤æ¤¦¤Å¤¦ Í»ÄÌ #T30 0 ¤æ¤¦¤È¤¦ ͺƧ #JCN 0 ¤æ¤¦¤È¤¦ Í¥Åù #T05 0 ¤æ¤¦¤É¤¦ ͶƳ #T30 2 ¤æ¤¦¤É¤¯ Í­ÆÇ #T05 0 ¤æ¤¦¤Î¤¦ ͭǽ #T05 0 ¤æ¤¦¤Ï¤Ä Ͷȯ #T30 0 ¤æ¤¦¤Ï¤ó ͼÈÓ #T35 3 ¤æ¤¦¤Ð¤ê ͼĥ #CN 0 ¤æ¤¦¤Ò ͼÆü #T35 1 ¤æ¤¦¤Ò ͼÍÛ #T35 1 ¤æ¤¦¤Ò¤«¤¯ Í­Èå³Õ #KK 1 ¤æ¤¦¤Ó Í¥Èþ #T05 0 ¤æ¤¦¤Ó¤ó Í¹ÊØ #T35 20 ¤æ¤¦¤Ó¤ó ¢© #T35 79 ¤æ¤¦¤Ó¤ó¤­¤ç¤¯ Í¹ÊØ¶É #T35 3 ¤æ¤¦¤Ó¤ó¤Ö¤Ä Í¹ÊØÊª #T35 1 ¤æ¤¦¤Õ¤¯ ͵ʡ #T05 1 ¤æ¤¦¤Õ¤Ä ͦʧ #CN 0 ¤æ¤¦¤Ø¤¤ ͵ʿ #JNM 0 ¤æ¤¦¤Ù ͼ¤Ù #T35 1 ¤æ¤¦¤Ù ºòÌë #T35 2 ¤æ¤¦¤Ù ¤æ¤¦¤Ù #T35 3 ¤æ¤¦¤Ù¤Ä ͯÊÌ #CN 0 ¤æ¤¦¤Ù¤ó ͺÊÛ #T05 1 ¤æ¤¦¤Û¤¦ ͧÊþ #T35 0 ¤æ¤¦¤Û¤É¤¦ Í·ÊâÆ» #T35 1 ¤æ¤¦¤Ü¤¦ ͭ˾ #T05 3 ¤æ¤¦¤Ü¤¯ Í·ËÒ #T30 0 ¤æ¤¦¤á¤¤ ͭ̾ #T05 18 ¤æ¤¦¤á¤· ͼÈÓ #T35 1 ¤æ¤¦¤ä ͺÌé #JNM 0 ¤æ¤¦¤ä¤¯ ͦÌö #T30 0 ¤æ¤¦¤ä¤¯ îØÌô #T35 0 ¤æ¤¦¤ä¤± ͼ¾Æ¤± #T35 1 ¤æ¤¦¤ä¤ß ͼ°Ç #T35 1 ¤æ¤¦¤æ¤¦ ͪ¡¹ #F00 0 ¤æ¤¦¤æ¤¦¤¸¤Æ¤­ ͪ¡¹¼«Å¬ #T30 1 ¤æ¤¦¤è ͱͽ #T30 1 ¤æ¤¦¤è ͭ; #T35 0 ¤æ¤¦¤è¤¦ ͪÍÈ #F02 0 ¤æ¤¦¤è¤¦ Í­ÍÑ #T05 4 ¤æ¤¦¤è¤¯ Þâ×µ #T30 0 ¤æ¤¦¤é¤¯¤Á¤ç¤¦ Í­³ÚÄ® #CN 0 ¤æ¤¦¤é¤ó Í·Í÷ #T30 1 ¤æ¤¦¤ê Í­Íø #T05 11 ¤æ¤¦¤ê Í·Î¥ #T30 1 ¤æ¤¦¤ê Í­Íý #T35 22 ¤æ¤¦¤ê¤¹¤¦ Í­Íý¿ô #T35 1 ¤æ¤¦¤ê¤ç ͫθ #T30 1 ¤æ¤¦¤ê¤ç¤¦ Í¥ÎÉ #T05 0 ¤æ¤¦¤ê¤ç¤¦ Í­ÎÁ #T15 2 ¤æ¤¦¤ê¤ç¤¯ Í­ÎÏ #T05 4 ¤æ¤¦¤ì¤¤ Í©Îî #T35 2 ¤æ¤¦¤ì¤Ä Í¥Îô #T35 1 ¤æ¤¦¤ï ͺÏ #JCN 0 ¤æ¤¦¤ï ͻϠ#T30 0 ¤æ¤¦¤ï¤¯ ͶÏÇ #T30 1 ¤æ¤¨ ·ë¤¨ #KS 0 ¤æ¤¨ ¤æ¤¨ #T35 1 ¤æ¤¨ ¸Î #T35 16 ¤æ¤¨¤Ë ¡è #T35 1 ¤æ¤¨¤ó ·ë±ï #JNM 0 ¤æ¤« ͳ²Â #JNM 0 ¤æ¤« ͳ¹á #JNM 0 ¤æ¤« ¾² #T35 3 ¤æ¤«¤¤ Ìû²÷ #T05 1 ¤æ¤«¤¦¤¨ ¾²¾å #T35 2 ¤æ¤«¤·¤¿ ¾²²¼ #T35 3 ¤æ¤«¤¿ Íá°á #T35 0 ¤æ¤«¤ê ¤æ¤«¤ê #JNM 0 ¤æ¤«¤ê ͳ²ÂÍø #JNM 0 ¤æ¤«¤ï ÅòÀî #JCN 0 ¤æ¤«¤ó Åò´Ã #T30 0 ¤æ¤¬ Åò¤¬ #K5r 0 ¤æ¤¬ ÏÄ #M5r 1 ¤æ¤¬ ¤æ¤¬ #M5r 3 ¤æ¤¬¤ï ÅòÀî #JCN 0 ¤æ¤¬¤ï¤é Åò²Ï¸¶ #CN 0 ¤æ¤­ ¹Ô #CNSUC1 1 ¤æ¤­ ÅòÍè #JCN 0 ¤æ¤­ ÌýÌÚ #JCN 0 ¤æ¤­ ͳ´ô #JCN 0 ¤æ¤­ ¥æ¥­ #JNM 0 ¤æ¤­ ͳµª #JNM 0 ¤æ¤­ ͳµ® #JNM 0 ¤æ¤­ ͳɱ #JNM 0 ¤æ¤­ ͵µª #JNM 0 ¤æ¤­ ¸ö #KJ 0 ¤æ¤­ Ç· #KJ 3 ¤æ¤­ ¹¬ #T35 4 ¤æ¤­ Àã #T35 40 ¤æ¤­¤¨ À㳨 #JNM 0 ¤æ¤­¤¨ ͳµª¹¾ #JNM 0 ¤æ¤­¤ª ¹¬ÃË #JNM 0 ¤æ¤­¤ª ¹¬É× #JNM 0 ¤æ¤­¤ª ¹¬Íº #JNM 0 ¤æ¤­¤ª ¹ÔÉ× #JNM 0 ¤æ¤­¤ª ¹Ôͺ #JNM 0 ¤æ¤­¤ª ͳµªÉ× #JNM 0 ¤æ¤­¤ª ͳµ¯É× #JNM 0 ¤æ¤­¤« ¹Ô¤­¸ò #W5r 0 ¤æ¤­¤­ ¹Ô¤­Íè #T30 0 ¤æ¤­¤°¤Ë Àã¹ñ #T35 1 ¤æ¤­¤³ ¹¬»Ò #JNM 0 ¤æ¤­¤³ Àã»Ò #JNM 0 ¤æ¤­¤³ ͳµª»Ò #JNM 0 ¤æ¤­¤Á Í¡µÈ #JNM 0 ¤æ¤­¤È¤É ¤æ¤­¤È¤É #K5r 0 ¤æ¤­¤È¤É ¹Ô¤­ÆÏ #K5r 0 ¤æ¤­¤É¤± Àã²ò¤± #T35 1 ¤æ¤­¤Ï¤ë ¹¬½Õ #JNM 0 ¤æ¤­¤Ò¤³ ¹¬É§ #JNM 0 ¤æ¤­¤Ò¤È ¹¬¿Î #JNM 0 ¤æ¤­¤Þ¤µ ¹¬¿¿ #JNM 0 ¤æ¤­¤ä ¹¬Ìé #JNM 0 ¤æ¤¯¤¨ ¹ÔÊý #T35 3 ¤æ¤¯¤Ï¤· ¹Ô¶¶ #JCN 0 ¤æ¤¯¤æ¤¯ ¤æ¤¯¤æ¤¯ #F14 0 ¤æ¤¯¤æ¤¯ ¤æ¤¯¤æ¤¯ #T36 0 ¤æ¤±¤Ä Í¢·ì #T30 0 ¤æ¤² µÝºï #JCN 0 ¤æ¤² Åòµ¤ #T35 0 ¤æ¤µ Í·º´ #JNS 0 ¤æ¤µ¤Ö Íɤµ¤Ö #R5r 1 ¤æ¤¶¤Þ¤· ÅòÎä¤Þ¤· #T35 0 ¤æ¤¶¤ï ÅòÂô #JCN 0 ¤æ¤· Ìý»é #T35 0 ¤æ¤·¤å¤Ä Í¢½Ð #T30 4 ¤æ¤·¤å¤Ä¤Ë¤å¤¦ Í¢½ÐÆþ #T35 0 ¤æ¤¹ Âõ #G5r 0 ¤æ¤¹ ¤æ¤¹ #R5r 1 ¤æ¤¹¤Ï¤é Å #JCN 0 ¤æ¤º Åî #KJ 1 ¤æ¤º ¾ù #R5 7 ¤æ¤º Í® #T35 3 ¤æ¤º¤ê¤¢ ¾ù¤ê¹ç #W5r 0 ¤æ¤º¤ë ¾ù #JNM 0 ¤æ¤»¤¤ Ìý°æ #T35 0 ¤æ¤»¤¤ ÌýÀ­ #T35 0 ¤æ¤»¤¤¤«¤ó Í¢Àº´É #T35 1 ¤æ¤½¤¦ Í¢Á÷ #T30 2 ¤æ¤¿¤« Ë­ #JCN 0 ¤æ¤¿¤« ÂÙ #JNM 0 ¤æ¤¿¤« ͵ #JNM 0 ¤æ¤¿¤« ãÕ #JNM 0 ¤æ¤¿¤« Ë­¤« #T05 6 ¤æ¤¿¤ó¤Ý Åò¤¿¤ó¤Ý #T35 0 ¤æ¤À ÅòÅÄ #JCN 0 ¤æ¤À¤Í °Ñ¤Í #KS 2 ¤æ¤À¤ó ÌýÃÇ #T30 1 ¤æ¤Á¤ã¤¯ ÌþÃå #T30 0 ¤æ¤Ã¤¯¤ê ¤æ¤Ã¤¯¤ê #F04 14 ¤æ¤Ã¤¯¤ê ¤æ¤Ã¤¯¤ê #T16 0 ¤æ¤Ã¤¿¤ê ¤æ¤Ã¤¿¤ê #F04 2 ¤æ¤Ã¤¿¤ê ¤æ¤Ã¤¿¤ê #T16 0 ¤æ¤Å¤«¤ß ÅòÄžå #CN 0 ¤æ¤Å¤­ µÝ·î #JNS 0 ¤æ¤Ç è§¤Ç #KSr 0 ¤æ¤Ç ¤æ¤Ç #KSr 2 ¤æ¤Ç¤ó ÌýÅÄ #T35 0 ¤æ¤È¤ê ¤æ¤È¤ê #T35 16 ¤æ¤Ë ͳ¿Î #CN 0 ¤æ¤Ë ¥æ¥Ë #PRE 1 ¤æ¤Ë¡¼¤¯ ¥æ¥Ë¡¼¥¯ #T05 19 ¤æ¤Ë¤·¤¹ ¥æ¥Ë¥·¥¹ #KK 4 ¤æ¤Ë¤Ã¤¯¤¹ ¥æ¥Ë¥Ã¥¯¥¹ #KK 3 ¤æ¤Ë¤Ã¤È ¥æ¥Ë¥Ã¥È #T35 18 ¤æ¤Ë¤Ð¡¼¤µ¤ë ¥æ¥Ë¥Ð¡¼¥µ¥ë #T05 2 ¤æ¤Ë¤Ð¡¼¤¹ ¥æ¥Ë¥Ð¡¼¥¹ #T35 2 ¤æ¤Ë¤Õ¤£¤±¡¼¤·¤ç¤ó ¥æ¥Ë¥Õ¥£¥±¡¼¥·¥ç¥ó #T30 4 ¤æ¤Ë¤Õ¤©¡¼¤à ¥æ¥Ë¥Õ¥©¡¼¥à #T35 0 ¤æ¤Ë¤å¤¦ Í¢Æþ #T30 3 ¤æ¤Î¤¿¤Ë ÅòǷë #CN 0 ¤æ¤Î¤Ä ²¹ÀôÄÅ #JCN 0 ¤æ¤Î¤Þ¤¨ ÅòÁ° #JCN 0 ¤æ¤Î¤ß Åò°û¤ß #T35 2 ¤æ¤Ï¤é Åò¸¶ #JNS 0 ¤æ¤Ð µÝ¾ì #JNS 0 ¤æ¤Ð¤é Åò¸¶ #JCN 0 ¤æ¤Ó »Ø #T35 14 ¤æ¤Ó¤µ »Ø¤µ #S5r 2 ¤æ¤Ó¤µ¤­ »ØÀè #T35 1 ¤æ¤Ó¤ï »ØÎØ #T35 4 ¤æ¤Õ¤¤¤ó ÅòÉÛ±¡ #CN 0 ¤æ¤Õ¤¤¤ó ͳÉÛ±¡ #CN 0 ¤æ¤Ö¤¤¤ó ÅòÉÛ±¡ #KK 1 ¤æ¤Ö¤Í Åò½® #T35 0 ¤æ¤×¤·¤í¤ó ¦´ #T35 1 ¤æ¤×¤·¤í¤ó ¦Ô #T35 2 ¤æ¤Þ ͳ¿¿ #JNS 0 ¤æ¤Þ¤¯ ÌýËì #T35 1 ¤æ¤ß ¤æ¤ß #JNM 0 ¤æ¤ß ͧÈþ #JNM 0 ¤æ¤ß Í­Èþ #JNM 0 ¤æ¤ß ͳ¼Â #JNM 0 ¤æ¤ß ͳÈþ #JNM 0 ¤æ¤ß µÝ #T35 4 ¤æ¤ß¤³ µÝ»Ò #JNM 0 ¤æ¤ß¤³ ͳÈþ»Ò #JNM 0 ¤æ¤á ¤æ¤á #T35 10 ¤æ¤á Ì´ #T35 23 ¤æ¤á¤µ¤­ Ì´Á° #JCN 0 ¤æ¤á¤ß Ì´¸« #KSr 1 ¤æ¤â¤È ÅòËÜ #JCN 0 ¤æ¤ä Ìýë #JCN 0 ¤æ¤è¤¯ ÅòÍá #T35 0 ¤æ¤é Íɤé #G5r 1 ¤æ¤é ͳÎÉ #JCN 0 ¤æ¤é¤¤ ͳÍè #T30 4 ¤æ¤ê Í³Íø #JNM 0 ¤æ¤ê É´¹ç #T35 2 ¤æ¤ê¤«¤´ ¤æ¤ê¤«¤´ #T35 2 ¤æ¤ê¤³ É´¹ç»Ò #JNM 0 ¤æ¤ê¤³ Í³Íø»Ò #JNM 0 ¤æ¤ê¤³ ͳΤ»Ò #JNM 0 ¤æ¤ë Íɤë #G5r 0 ¤æ¤ë ´Ë #KYme 5 ¤æ¤ë ´Ë #M5r 4 ¤æ¤ë µö #S5r 68 ¤æ¤ë¤¦ ´Ë¤¦ #KYU 1 ¤æ¤ë¤á ´Ë¤á #KS 0 ¤æ¤ë¤ä¤« ´Ë¤ä¤« #T05 2 ¤æ¤ì ¤æ¤ì #KSr 2 ¤æ¤ì Íɤì #KSr 4 ¤æ¤ï¤¨ ·ë¤ï¤¨ #KS 0 ¤æ¤ï¤«¤· Åòʨ¤· #T35 1 ¤è ¸Æ #B5 255 ¤è ¤è #B5 8 ¤è ÍÀ #KJ 0 ¤è ÍÁ #KJ 0 ¤è Í #KJ 0 ¤è Í¿ #KJ 1 ¤è ͽ #KJ 4 ¤è ²Â #KY 0 ¤è ¤è #KY 191 ¤è Á± #KY 2 ¤è ÎÉ #KY 255 ¤è ¹¥ #KY 3 ¤è ±Ó #M5 2 ¤è ÆÉ #M5r 255 ¤è »Í #NN 19 ¤è °ø #R5 0 ¤è Áª #R5 0 ¤è °Í #R5 4 ¤è ¤è #R5 94 ¤è Dz #R5r 0 ¤è ´ó #R5r 64 ¤è »ß #S5 0 ¤è ¤è #S5 70 ¤è À¤ #T35 119 ¤è Âå #T35 2 ¤è ; #T35 2 ¤è Ìë #T35 9 ¤è ¿ì #W5r 68 ¤è¡¼¤°¤ë¤È ¥è¡¼¥°¥ë¥È #T35 1 ¤è¡¼¤É¤ó ¥è¡¼¥É¥ó #KK 1 ¤è¡¼¤í¤Ã¤Ñ ¥è¡¼¥í¥Ã¥Ñ #CN 0 ¤è¤¢¤± ÌëÌÀ¤± #T35 2 ¤è¤¤ ¾¬ #T35 33 ¤è¤¤¤·¤ç ¤è¤¤¤·¤ç #CJ 0 ¤è¤¤¤¿ Í¿ÈÄ #JCN 0 ¤è¤¤¤Á ;»Ô #CN 0 ¤è¤¤¤Ã¤Ñ¤ê ¾¬¤ÃÄ¥¤ê #T15 0 ¤è¤¤¤ó ;±¤ #T35 1 ¤è¤¦ ¤è¤¦ #D2T35 3 ¤è¤¦ ±Þ #KJ 0 ¤è¤¦ ¹ø #KJ 0 ¤è¤¦ Íà #KJ 0 ¤è¤¦ ÍÄ #KJ 0 ¤è¤¦ ÍÇ #KJ 0 ¤è¤¦ ÍÌ #KJ 0 ¤è¤¦ ÍÒ #KJ 0 ¤è¤¦ ÍÓ #KJ 0 ¤è¤¦ ÍÔ #KJ 0 ¤è¤¦ ÍØ #KJ 0 ¤è¤¦ ÍÙ #KJ 0 ¤è¤¦ ÍÚ #KJ 0 ¤è¤¦ ÍÈ #KJ 1 ¤è¤¦ ÍÉ #KJ 1 ¤è¤¦ ÍÊ #KJ 1 ¤è¤¦ ÍÏ #KJ 1 ¤è¤¦ ÍÐ #KJ 1 ¤è¤¦ ÍÕ #KJ 1 ¤è¤¦ ÍÖ #KJ 1 ¤è¤¦ áç #KJ 1 ¤è¤¦ ÍÅ #KJ 2 ¤è¤¦ ÍÆ #KJ 2 ¤è¤¦ ÍË #KJ 2 ¤è¤¦ ÍÜ #KJ 2 ¤è¤¦ ²Â¤¦ #KYU 0 ¤è¤¦ ¹¥¤¦ #KYU 1 ¤è¤¦ Á±¤¦ #KYU 1 ¤è¤¦ ¤è¤¦ #KYU 3 ¤è¤¦ Îɤ¦ #KYU 3 ¤è¤¦ ÍÊ #S5 1 ¤è¤¦ Í× #S5 154 ¤è¤¦ ÍÑ #SUC 0 ¤è¤¦ ÍÊ #SX 1 ¤è¤¦ ÍÍ #T05 111 ¤è¤¦ ¤è¤¦ #T05 222 ¤è¤¦ Í× #T30 154 ¤è¤¦ áþ #T35 1 ¤è¤¦ ÍÑ #T35 255 ¤è¤¦ ÍÛ #T35 29 ¤è¤¦ ÍÎ #T35 8 ¤è¤¦¤¤ ÍÆ°× #T05 64 ¤è¤¦¤¤ ÍÑ°Õ #T30 255 ¤è¤¦¤¤¤ª¤ó ÍÛ¥¤¥ª¥ó #T35 0 ¤è¤¦¤¤¤¯ Íܰé #T30 1 ¤è¤¦¤¤¤Á Íΰì #JNM 0 ¤è¤¦¤¤¤Á Í×°ì #JNM 0 ¤è¤¦¤¤¤Á ÍÛ°ì #JNM 0 ¤è¤¦¤¤¤Á¤í¤¦ ÍΰìϺ #JNM 0 ¤è¤¦¤¤¤Á¤í¤¦ ÍÛ°ìϺ #JNM 0 ¤è¤¦¤¤¤ó Í×°ø #T35 12 ¤è¤¦¤¤¤ó Í×°÷ #T35 3 ¤è¤¦¤¨¤­ ÍÏ±Õ #T35 0 ¤è¤¦¤ª¤ó Ù¹²» #T35 1 ¤è¤¦¤« Ȭ¼¯ #JCN 0 ¤è¤¦¤« 8Æü #T35 0 ¤è¤¦¤« £¸Æü #T35 0 ¤è¤¦¤« ȬÆü #T35 0 ¤è¤¦¤«¤¤ ÍÆÓ¼ #T30 0 ¤è¤¦¤«¤¤ Íϲò #T30 0 ¤è¤¦¤«¤¤¤Á ȬÆü»Ô #CN 0 ¤è¤¦¤«¤¤¤Á¤Ð ȬÆü»Ô¾ì #CN 0 ¤è¤¦¤«¤ó ÍÎ´Û #T35 0 ¤è¤¦¤«¤ó ÍÓæ½ #T35 0 ¤è¤¦¤¬ ÍѲì #JCN 0 ¤è¤¦¤¬ Íβè #T35 1 ¤è¤¦¤¬¤· ÍÎ²Û»Ò #T35 0 ¤è¤¦¤­ ÍÛµ¤ #T05 3 ¤è¤¦¤­ ÍÆ´ï #T35 3 ¤è¤¦¤­¤å¤¦ Í×µá #T30 232 ¤è¤¦¤­¤ç¤¯ ÍØ¶Ê #T35 0 ¤è¤¦¤­¤ç¤¯ ÍÛ¶Ë #T35 2 ¤è¤¦¤® ÍÆµ¿ #T35 1 ¤è¤¦¤®¤ç¤¦ ÍÒ¶È #T35 0 ¤è¤¦¤®¤ó Íζä #T35 0 ¤è¤¦¤° ÍѶñ #T35 4 ¤è¤¦¤±¤¤ ÍÜ·Ü #T35 0 ¤è¤¦¤±¤¤¤¸¤ç¤¦ Íܷܾì #T35 0 ¤è¤¦¤±¤Ä ÍÏ·ì #T30 1 ¤è¤¦¤±¤ó Í×·ï #T35 3 ¤è¤¦¤±¤ó ÍÑ·ï #T35 4 ¤è¤¦¤²¤ó ÍѸÀ #T35 16 ¤è¤¦¤³ ÍÆ»Ò #JNM 0 ¤è¤¦¤³ ÍÈ»Ò #JNM 0 ¤è¤¦¤³ ÍÎ»Ò #JNM 0 ¤è¤¦¤³ ÍÕ»Ò #JNM 0 ¤è¤¦¤³ ÍÛ»Ò #JNM 0 ¤è¤¦¤³¤¦ ÍÎ¹Ô #T30 1 ¤è¤¦¤³¤¦ Í×¹à #T35 2 ¤è¤¦¤³¤¦ ÍÛ¸÷ #T35 2 ¤è¤¦¤³¤¦¤í ÍϹÛϧ #T35 0 ¤è¤¦¤´ Íʸî #T30 1 ¤è¤¦¤´ Íܸî #T30 10 ¤è¤¦¤´ ÍѸì #T35 40 ¤è¤¦¤µ¤¤ ÍÎºÛ #T35 0 ¤è¤¦¤µ¤¤ Í×ºÉ #T35 1 ¤è¤¦¤µ¤ó ÍÜ»½ #T35 0 ¤è¤¦¤· ÍÜ»Ò #T35 0 ¤è¤¦¤· ÍÆ»Ñ #T35 1 ¤è¤¦¤· Í×»Ý #T35 1 ¤è¤¦¤· ÍÛ»Ò #T35 3 ¤è¤¦¤· ÍÑ»æ #T35 39 ¤è¤¦¤·¤­ Íμ° #T35 0 ¤è¤¦¤·¤­ Íͼ° #T35 2 ¤è¤¦¤·¤Ä Íμ¼ #T35 1 ¤è¤¦¤·¤ã ÍÆ¼Ï #T30 6 ¤è¤¦¤·¤ã¤Ê ÍÆ¼Ï¤Ê #KY 0 ¤è¤¦¤·¤å Íμò #T35 0 ¤è¤¦¤·¤å¤ó ÍÛ½Õ #T35 0 ¤è¤¦¤·¤ç Í×½ê #T35 1 ¤è¤¦¤·¤ç Íνñ #T35 3 ¤è¤¦¤·¤ç¤¦ Íľ¯ #T05 0 ¤è¤¦¤·¤ç¤¦ Í×¾× #T35 0 ¤è¤¦¤·¤ç¤¯ ÍÜ¿£ #T30 1 ¤è¤¦¤·¤ç¤¯ ÍÆ¿§ #T35 0 ¤è¤¦¤·¤ç¤¯ Í׿¦ #T35 0 ¤è¤¦¤·¤ç¤¯ Íο© #T35 4 ¤è¤¦¤¸ ÍÎ»Ê #JNM 0 ¤è¤¦¤¸ Íμ¡ #JNM 0 ¤è¤¦¤¸ ÍÎÆó #JNM 0 ¤è¤¦¤¸ ÍÛ¼£ #JNM 0 ¤è¤¦¤¸ ÍÄ»ù #T35 10 ¤è¤¦¤¸ ÍÑ»ö #T35 23 ¤è¤¦¤¸¤ã¤¯ Íļã #T35 1 ¤è¤¦¤¸¤å¤Ä ÍÅ½Ñ #T35 1 ¤è¤¦¤¸¤ç Íܽ÷ #T35 0 ¤è¤¦¤¸¤ç ÍĽ÷ #T35 4 ¤è¤¦¤¸¤ç¤¦ ÍÜÀ¸ #T30 0 ¤è¤¦¤¸¤ç¤¦ Íξå #T35 0 ¤è¤¦¤¸¤ó ÍÑ¿´ #T30 2 ¤è¤¦¤¸¤ó Í×¿Í #T35 1 ¤è¤¦¤¹ ÍÍ»Ò #T35 28 ¤è¤¦¤¹¤¤ ÍÛ¿å #JNM 0 ¤è¤¦¤¹¤¤ ÍÑ¿å #T35 1 ¤è¤¦¤»¤¤ ÔðÀ #T30 0 ¤è¤¦¤»¤¤ ÍÜÀ® #T30 3 ¤è¤¦¤»¤¤ Í×ÀÁ #T30 8 ¤è¤¦¤»¤¤ ÍÛÀ­ #T35 0 ¤è¤¦¤»¤¤ ÍÅÀº #T35 1 ¤è¤¦¤»¤­ ÍÆÀÑ #T35 0 ¤è¤¦¤»¤Ä ÍÏÀÜ #T30 0 ¤è¤¦¤»¤Ä ÔðÀÞ #T30 1 ¤è¤¦¤»¤ó ÍÑäµ #T35 0 ¤è¤¦¤½ Í×ÁÇ #T35 76 ¤è¤¦¤½¤¦ ÍÍÁê #T35 2 ¤è¤¦¤À¤¤ ÍÆÂÎ #T35 0 ¤è¤¦¤Á ÍÄÃÕ #T05 1 ¤è¤¦¤Á ÍÑÃÏ #T35 0 ¤è¤¦¤Á¤¨¤ó ÍÄÃÕ±à #T35 2 ¤è¤¦¤Á¤å¤¦ ÍÄÃî #T35 2 ¤è¤¦¤Á¤ç¤¦ ÍÓIJ #F02 0 ¤è¤¦¤Ä¤¤ Í×ÂÐ #T05 4 ¤è¤¦¤Æ¤¤ Í×Äü #T35 0 ¤è¤¦¤Æ¤ó Í×ÅÀ #T35 4 ¤è¤¦¤Ç¤ó¤· ÍÛÅÅ»Ò #T35 1 ¤è¤¦¤È Úâ¤È #F13 0 ¤è¤¦¤È ÍÑÅÓ #T35 9 ¤è¤¦¤È¤ó ÍÜÆÚ #T35 0 ¤è¤¦¤È¤ó¤¸¤ç¤¦ ÍÜÆÚ¾ì #T35 0 ¤è¤¦¤É ÍÑÅÙ #T35 0 ¤è¤¦¤Ë¤ó ÍÆÇ§ #T30 3 ¤è¤¦¤Í¤ó ÍÄǯ #T35 0 ¤è¤¦¤Ò¤· ÍÓÈ黿 #T35 0 ¤è¤¦¤Ò¤ó ÍÎÉÊ #T35 3 ¤è¤¦¤Ó ÍËÆü #T35 6 ¤è¤¦¤Õ ÍÜÉã #T35 1 ¤è¤¦¤Õ¤¦ ÍÎÉ÷ #T05 0 ¤è¤¦¤Õ¤¯ ÍÎÉþ #T35 3 ¤è¤¦¤Õ¤Ü ÍÜÉãÊì #T35 1 ¤è¤¦¤Ö¤ó ÍÜʬ #T35 1 ¤è¤¦¤Û¤¦ ÍÜ˪ #T35 0 ¤è¤¦¤Û¤¦ ÍÑË¡ #T35 6 ¤è¤¦¤Û¤¦¤¨¤ó ÍÜ˪±à #T35 0 ¤è¤¦¤Û¤¦¤« ÍÜ˪²È #T35 0 ¤è¤¦¤Û¤¦¤¸¤ç¤¦ ÍÜ˪¾ì #T35 0 ¤è¤¦¤Ü¤¦ Í×˾ #T30 26 ¤è¤¦¤Ü¤¦ ÍÆËÆ #T35 0 ¤è¤¦¤Þ Í뫅 #T35 0 ¤è¤¦¤Þ¤¯ ÍÓËì #T35 1 ¤è¤¦¤à ÍÑ̳ #T35 0 ¤è¤¦¤á¤¤ ÍÑÌ¿ #T35 0 ¤è¤¦¤â¤¦ ÍÓÌÓ #T35 0 ¤è¤¦¤â¤Î ÍÎʪ #T35 0 ¤è¤¦¤ä¤¯ ¤è¤¦¤ä¤¯ #F14 18 ¤è¤¦¤ä¤¯ ¤è¤¦¤ä¤¯ #T36 0 ¤è¤¦¤ä¤¯ Í×Ìó #T30 2 ¤è¤¦¤æ¤¦ ÍÐÍ» #T30 2 ¤è¤¦¤é¤ó Í×Í÷ #T35 1 ¤è¤¦¤é¤ó¤­ ÍÉä×´ü #T35 0 ¤è¤¦¤ê¤ç¤¦ Í×ÎÎ #T35 10 ¤è¤¦¤ê¤ç¤¦ ÍÆÎÌ #T35 78 ¤è¤¦¤ê¤ç¤¯¤½ ÍÕÎÐÁÇ #T35 0 ¤è¤¦¤ê¤ç¤¯¤¿¤¤ ÍÕÎÐÂÎ #T35 0 ¤è¤¦¤ì¤¤ ÍÑÎã #T35 0 ¤è¤¦¤ì¤­ ÍÛÎñ #T35 0 ¤è¤¦¤í¤¦ ÍÜÏ· #CN 0 ¤è¤¦¤í¤¦ ÍÜÏ· #T35 0 ¤è¤¦¤í¤¯ Í×Ï¿ #T35 0 ¤è¤« ;²Ë #T35 1 ¤è¤«¤¯ Í¿³Ê #T35 52 ¤è¤«¤ï µÈÀî #JCN 0 ¤è¤«¤ó ͽ´¶ #T30 1 ¤è¤¬ Á±¤¬ #R5 0 ¤è¤¬ ¤è¤¬ #R5 1 ¤è¤­ ͽ´ü #T30 3 ¤è¤­¤ç¤¦ ;¶½ #T35 1 ¤è¤­¤ó Ͷâ #T30 9 ¤è¤®¤Ê ;µ·¤Ê #KY 1 ¤è¤¯ ¤è¤¯ #F14 0 ¤è¤¯ Îɤ¯ #F14 5 ¤è¤¯ ÍÞ #KJ 0 ¤è¤¯ Íà #KJ 0 ¤è¤¯ Íã #KJ 1 ¤è¤¯ Íâ #KJ 3 ¤è¤¯ Íá #S5 0 ¤è¤¯ Íá #T30 0 ¤è¤¯ ÍÝ #T35 0 ¤è¤¯ Íß #T35 13 ¤è¤¯¤¢¤Ä ÍÞ°µ #T30 0 ¤è¤¯¤²¤Ä Íâ·î #T35 1 ¤è¤¯¤· ÍÞ»ß #T30 1 ¤è¤¯¤·¤Ä Íá¼¼ #T35 0 ¤è¤¯¤·¤å¤¦ Íâ½µ #T35 0 ¤è¤¯¤¸¤Ä ÍâÆü #T35 9 ¤è¤¯¤¸¤ç¤¦ Íá¾ì #T35 0 ¤è¤¯¤»¤¤ ÍÞÀ© #T30 8 ¤è¤¯¤½¤¦ ÍáÁå #T35 0 ¤è¤¯¤Á¤ç¤¦ ÍâÄ« #T35 1 ¤è¤¯¤È¤¯ Í߯À #T35 0 ¤è¤¯¤È¤· Íâǯ #T35 1 ¤è¤¯¤É ÍàÅÚ #T35 0 ¤è¤¯¤Í¤ó Íâǯ #T35 1 ¤è¤¯¤Ð ÍßÄ¥ #R5r 0 ¤è¤¯¤Ü¤¦ Íß˾ #T35 2 ¤è¤¯¤è¤¦ ÍÞÍÈ #T35 0 ¤è¤¯¤è¤¦ ÍáÍÑ #T35 0 ¤è¤¯¤è¤¯ ¤è¤¯¤è¤¯ #F14 2 ¤è¤¯¤è¤¯ ¤è¤¯¤è¤¯ #T36 0 ¤è¤¯¤è¤¯ Í⡹ #PRE 4 ¤è¤¯¤è¤¯ ¤è¤¯¤è¤¯ #T36 0 ¤è¤¯¤è¤¯¤¸¤Ä Í⡹Æü #T35 0 ¤è¤¯¤ê¤å¤¦ ÍÞα #T30 1 ¤è¤± Èò¤± #KS 1 ¤è¤±¤¤ ;·× #T05 16 ¤è¤²¤ó ͽ¸À #T30 1 ¤è¤²¤ó ͸À #T30 1 ¤è¤²¤ó ;¸¹ #T35 0 ¤è¤³ ²£ #T35 44 ¤è¤³¤¤ ²£°æ #JNS 0 ¤è¤³¤¦ ͽ¹Ô #T35 13 ¤è¤³¤¦ ͽ¹Æ #T35 2 ¤è¤³¤ª ²£Èø #JNS 0 ¤è¤³¤«¤ï ²£Àî #JCN 0 ¤è¤³¤«¤ï ²£²Ï #KK 1 ¤è¤³¤¬¤ª ²£´é #T35 0 ¤è¤³¤¬¤ï¤Ç¤ó¤­ ²£²ÏÅŵ¡ #KK 2 ¤è¤³¤® ²£ÀÚ #R5r 0 ¤è¤³¤¯ ͽ¹ð #T30 13 ¤è¤³¤±¤¤ ¨¡ #T35 1 ¤è¤³¤±¤¤ ¨¬ #T35 1 ¤è¤³¤´¤· ²£±Û #JCN 0 ¤è¤³¤¶¤Þ ²£ÍÍ #T05 1 ¤è¤³¤·¤Ð ²£¼Ç #JCN 0 ¤è¤³¤·¤Þ ²£Åç #JCN 0 ¤è¤³¤·¤Þ ¼Ù #T05 0 ¤è¤³¤·¤Þ ¤è¤³¤·¤Þ #T05 1 ¤è¤³¤¸¤Þ ²£¼Ê #T35 0 ¤è¤³¤¹¤« ²£¿Ü²ì #JCN 0 ¤è¤³¤» ²£À¥ #JCN 0 ¤è¤³¤¿ ²£ÅÄ #JCN 0 ¤è¤³¤¿¤ï ²£¤¿¤ï #R5 1 ¤è¤³¤Å¤Ê ²£¹Ë #T35 2 ¤è¤³¤Æ ²£¼ê #JCN 0 ¤è¤³¤Æ ²£¼ê #T35 2 ¤è¤³¤É¤ê ²£¼è¤ê #T30 2 ¤è¤³¤Ê¤¬ ²£Ä¹ #T35 1 ¤è¤³¤Ï¤Þ ²£ÉÍ #JCN 0 ¤è¤³¤Ï¤Þ¤· ²£ÉÍ»Ô #CNS 0 ¤è¤³¤Ð¤¤ ²£¤Ð¤¤ #T10 0 ¤è¤³¤Ò¤é ²£Ê¿ #JNS 0 ¤è¤³¤ß¤¾ ²£¹Â #JNS 0 ¤è¤³¤ß¤Á ²£Æ» #T35 0 ¤è¤³¤á ²£ÌÜ #T35 1 ¤è¤³¤ä¤Þ ²£»³ #JCN 0 ¤è¤³¤ì¤ó¤Ü ²£ÎøÊé #T30 1 ¤è¤´ ;¸â #JCN 0 ¤è¤´ ±ø #S5 1 ¤è¤´¤ì ±ø¤ì #KSr 1 ¤è¤µ Í¿¼Õ #JCN 0 ¤è¤µ¤½¤¦ ¤è¤µ¤½¤¦ #T05 2 ¤è¤µ¤½¤¦ Îɤµ¤½¤¦ #T05 2 ¤è¤µ¤Ö¤í¤¦ Í¿»°Ïº #JNM 0 ¤è¤µ¤ó ͽ»» #T35 22 ¤è¤¶ Í¿¼Õ #JNS 0 ¤è¤· ¤è¤· #JNM 0 ¤è¤· ¥è¥· #JNM 0 ¤è¤· ¹¥ #JNM 0 ¤è¤· ÎÉ #JNM 0 ¤è¤· Èþ #KJ 0 ¤è¤· Á± #KJ 1 ¤è¤· Ä÷ #KJ 1 ¤è¤· ˧ #KJ 1 ¤è¤· µÁ #KJ 4 ¤è¤· µÈ #KJ 4 ¤è¤· ²Â #KJ 6 ¤è¤· °± #T35 0 ¤è¤· ͳ #T35 23 ¤è¤· ¹¥ #T35 5 ¤è¤·¤¢¤­ µÁ¾¼ #JNM 0 ¤è¤·¤¢¤­ µÁÌÀ #JNM 0 ¤è¤·¤¢¤­ µÈÌÀ #JNM 0 ¤è¤·¤¢¤­ ÈþÌÀ #JNM 0 ¤è¤·¤¢¤­ ˧ÌÀ #JNM 0 ¤è¤·¤¢¤­ Îɾ¼ #JNM 0 ¤è¤·¤¢¤­ ÎÉÌÀ #JNM 0 ¤è¤·¤¢¤· Á±¤·°­¤· #T35 3 ¤è¤·¤¤ µÈ°æ #JCN 0 ¤è¤·¤¤ ˧°æ #JNS 0 ¤è¤·¤¤¤Á µÁ°ì #JNM 0 ¤è¤·¤¦¤ß µÈ³¤ #JCN 0 ¤è¤·¤ª ²ÅÃË #JNM 0 ¤è¤·¤ª µÁÃË #JNM 0 ¤è¤·¤ª µÁÉ× #JNM 0 ¤è¤·¤ª µÁͺ #JNM 0 ¤è¤·¤ª µÈÃË #JNM 0 ¤è¤·¤ª µÈÉ× #JNM 0 ¤è¤·¤ª µÈͺ #JNM 0 ¤è¤·¤ª ¹¥ÃË #JNM 0 ¤è¤·¤ª ¹¥É× #JNM 0 ¤è¤·¤ª ¹¥Íº #JNM 0 ¤è¤·¤ª Á±Íº #JNM 0 ¤è¤·¤ª ˧ÃË #JNM 0 ¤è¤·¤ª ˧É× #JNM 0 ¤è¤·¤ª ˧ͺ #JNM 0 ¤è¤·¤ª ͳÉ× #JNM 0 ¤è¤·¤ª ÎÉÃË #JNM 0 ¤è¤·¤ª ÎÉÉ× #JNM 0 ¤è¤·¤ª ÎÉͺ #JNM 0 ¤è¤·¤ª¤« µÈ²¬ #JCN 0 ¤è¤·¤«¤º ±Ñ°ì #JNM 0 ¤è¤·¤«¤º µÁ°ì #JNM 0 ¤è¤·¤«¤º µÁÏ #JNM 0 ¤è¤·¤«¤º ¹¥°ì #JNM 0 ¤è¤·¤«¤º ÎÉÏ #JNM 0 ¤è¤·¤«¤Ä µÁ¾¡ #JNM 0 ¤è¤·¤«¤Ä ¹¥¹î #JNM 0 ¤è¤·¤«¤ï µÈÀî #JCN 0 ¤è¤·¤­ µÈ¾ë #JCN 0 ¤è¤·¤­ µÈÉß #JCN 0 ¤è¤·¤­ Èþ¼ù #JNM 0 ¤è¤·¤­ ˧¼ù #JNM 0 ¤è¤·¤³ ¤è¤·»Ò #JNM 0 ¤è¤·¤³ ¥è¥·»Ò #JNM 0 ¤è¤·¤³ ²Â»Ò #JNM 0 ¤è¤·¤³ ²Å»Ò #JNM 0 ¤è¤·¤³ ¹¥»Ò #JNM 0 ¤è¤·¤³ Èþ»Ò #JNM 0 ¤è¤·¤³ ˧»Ò #JNM 0 ¤è¤·¤³ ÎÉ»Ò #JNM 0 ¤è¤·¤¶¤­ µÈºê #JCN 0 ¤è¤·¤¶¤ï µÈÂô #JNS 0 ¤è¤·¤¸ Îɼ£ #JNM 0 ¤è¤·¤º¤ß µÈ½» #JNS 0 ¤è¤·¤¿¤« µÁ¹§ #JNM 0 ¤è¤·¤¿¤« µÁδ #JNM 0 ¤è¤·¤¿¤í¤¦ ˧ÂÀϺ #JNM 0 ¤è¤·¤¿¤í¤¦ ͳÂÀϺ #JNM 0 ¤è¤·¤À µÈÅÄ #JCN 0 ¤è¤·¤Ä¤° Á±¼¡ #JNM 0 ¤è¤·¤È µÁ¿Í #JNM 0 ¤è¤·¤È¤ß µÈÉÙ #JCN 0 ¤è¤·¤Ê¤¬ µÈ±Ê #JCN 0 ¤è¤·¤Ê¤ê Á±À® #JNM 0 ¤è¤·¤Î µÈÌî #JCN 0 ¤è¤·¤Î¤À¤Ë µÈÌîë #JCN 0 ¤è¤·¤Î¤Ö ±É¿­ #JNM 0 ¤è¤·¤Î¤Ö µÁ¿® #JNM 0 ¤è¤·¤Î¤ê ²Âŵ #JNM 0 ¤è¤·¤Î¤ê µÁ§ #JNM 0 ¤è¤·¤Ï¤ë ´îÀ² #JNM 0 ¤è¤·¤Ï¤ë µÁ¼£ #JNM 0 ¤è¤·¤Ò¤³ µÁɧ #JNM 0 ¤è¤·¤Ò¤³ µÈɧ #JNM 0 ¤è¤·¤Ò¤³ ˧ɧ #JNM 0 ¤è¤·¤Ò¤³ ÎÉɧ #JNM 0 ¤è¤·¤Ò¤µ µÁµ× #JNM 0 ¤è¤·¤Ò¤µ ˧µ× #JNM 0 ¤è¤·¤Ò¤È ˧¿Í #JNM 0 ¤è¤·¤Ò¤í ´î¹° #JNM 0 ¤è¤·¤Ò¤í µÁ¹° #JNM 0 ¤è¤·¤Ò¤í ÈþÇî #JNM 0 ¤è¤·¤Û ÈþÊæ #JNM 0 ¤è¤·¤Þ¤Ä µÈ¾¾ #JCN 0 ¤è¤·¤Þ¤Ä ͳ¾¾ #JNS 0 ¤è¤·¤ß µÈ¸« #JCN 0 ¤è¤·¤ß µÁÈþ #JNM 0 ¤è¤·¤ß ¹¥Èþ #JNM 0 ¤è¤·¤ß ˧Èþ #JNM 0 ¤è¤·¤ß ͳÈþ #JNM 0 ¤è¤·¤ß¤Ä µÁ¸÷ #JNM 0 ¤è¤·¤à¤é µÈ¼ #JNS 0 ¤è¤·¤â¤È µÈËÜ #JNS 0 ¤è¤·¤ä µÁºÈ #JNM 0 ¤è¤·¤å¤¦ ͽ½¬ #T30 0 ¤è¤·¤æ¤­ ²ÅÇ· #JNM 0 ¤è¤·¤æ¤­ µÁ¹Ô #JNM 0 ¤è¤·¤æ¤­ µÁÇ· #JNM 0 ¤è¤·¤æ¤­ Á±Ç· #JNM 0 ¤è¤·¤æ¤­ ÎÉÇ· #JNM 0 ¤è¤·¤í¤¦ µÁϺ #JNM 0 ¤è¤·¤í¤¦ ˧Ϻ #JNM 0 ¤è¤·¤í¤¦ Í¿»ÍϺ #JNM 0 ¤è¤·¤ï µÈÏ #JCN 0 ¤è¤·¤ï¤é µÈ¸¶ #JCN 0 ¤è¤·¤ó ;¿Ì #T35 0 ¤è¤·¤ó¤Ð ¤è¤·¤ó¤Ð #CJ 0 ¤è¤¸¤ç¤¦ ;¾ê #T05 0 ¤è¤¸¤ç¤¦ ;¾ð #T35 0 ¤è¤¸¤ó ;¿Í #T35 0 ¤è¤» ´ó¤» #KSr 10 ¤è¤» ´óÀÊ #T35 1 ¤è¤»¤¤ ;À¸ #T35 0 ¤è¤»¤¬¤­ ´ó½ñ¤­ #T30 1 ¤è¤»¤ó ͽÁª #T35 16 ¤è¤»¤ó ͽñ´ #T35 2 ¤è¤½ ¤è¤½ #T35 11 ¤è¤½¤¦ ͽÁÛ #T30 40 ¤è¤½¤¦¤¬¤¤ ͽÁÛ³° #T05 1 ¤è¤½¤ª Áõ #W5r 0 ¤è¤½¤¯ ͽ¬ #T30 22 ¤è¤½¤¸ »Í½½Ï© #T35 0 ¤è¤¾¤é Ìë¶õ #T35 0 ¤è¤¿¤¯ ÍÂÂ÷ #T30 0 ¤è¤À °ÍÅÄ #JNS 0 ¤è¤À¤ì ¤è¤À¤ì #T35 0 ¤è¤À¤ó ͽÃÇ #T30 0 ¤è¤À¤ó ;ÃÌ #T35 8 ¤è¤Á ͽÃÎ #T30 2 ¤è¤Á ;ÃÏ #T35 10 ¤è¤Á¤ç¤¦ ͽÃû #T35 0 ¤è¤Á¤ç¤­¤ó ÍÂÃù¶â #T30 0 ¤è¤Ã¤« 4Æü #T35 0 ¤è¤Ã¤« £´Æü #T35 0 ¤è¤Ã¤« »ÍÆü #T35 1 ¤è¤Ã¤«¤¤¤Á »ÍÆü»Ô #CN 0 ¤è¤Ã¤­¤å¤¦ Íßµá #T30 2 ¤è¤Ã¤Ä »Í¤Ä #T35 2 ¤è¤Ã¤Ñ¤é ¿ì¤Ãʧ #W5r 7 ¤è¤Ã¤Ý¤É ¤è¤Ã¤Ý¤É #T05 3 ¤è¤Ä¤«¤¤¤É¤¦ »Í³¹Æ» #CN 0 ¤è¤Ä¤«¤É »Í¤Ä³Ñ #T35 0 ¤è¤Ä¤® À¤·Ñ #T35 0 ¤è¤Ä¤ä »Í¥Äë #CN 0 ¤è¤Ä¤ä »Íë #JCN 0 ¤è¤Æ¤¤ ͽÄê #T30 255 ¤è¤È¤¦ Í¿ÅÞ #T35 1 ¤è¤É Íä #M5r 1 ¤è¤É¤¨ Íä¹¾ #JCN 0 ¤è¤É¤¬¤ï ÍäÀî #JCN 0 ¤è¤É¤ä¤Ð¤· Íä²°¶¶ #CN 0 ¤è¤Ê¤« ÌëÃæ #T35 5 ¤è¤Ê¤°¤¹¤¯ Í¿Æá¾ë #CN 0 ¤è¤Ê¤°¤Ë Í¿Æá¹ñ #CN 0 ¤è¤Ê¤´ ÊÆ»Ò #CN 0 ¤è¤Ê¤Ð¤ë Í¿Æá¸¶ #CN 0 ¤è¤Í ¤è¤Í #JNM 0 ¤è¤Í ÊÆ #KJ 2 ¤è¤Í¤­¤Á ÊÆµÈ #JNM 0 ¤è¤Í¤³ ÊÆ»Ò #JNS 0 ¤è¤Í¤¶¤­ ÊÆºê #JNS 0 ¤è¤Í¤¶¤ï ÊÆÂô #JCN 0 ¤è¤Í¤¶¤ï ÊÆß· #JNS 0 ¤è¤Í¤À ÊÆÅÄ #JNS 0 ¤è¤Í¤Ä ;Ǯ #T35 0 ¤è¤Í¤Å ÊÆÄÅ #JNS 0 ¤è¤Í¤ä¤Þ ÊÆ»³ #JCN 0 ¤è¤Í¤ó ;ǰ #T35 0 ¤è¤Î Í¿Ìî #JCN 0 ¤è¤Î¤¦¤Å ÊÆ¿åÄÅ #JCN 0 ¤è¤Î¤Ê¤« À¤¤ÎÃæ #T35 18 ¤è¤Ï ;ÇÈ #T35 1 ¤è¤Ï¤¯ ;Çò #T35 2 ¤è¤Ð¤¤ ÌëÇ礤 #T30 1 ¤è¤Ð¤ï¤ê ¸Æ¤Ð¤ï¤ê #N2T30 2 ¤è¤Ó ͽÈ÷ #T35 30 ¤è¤Ó¤«¤± ¸Æ¤Ó¤«¤± #KSr 2 ¤è¤Ó¤«¤± ¸Æ³Ý¤± #T30 1 ¤è¤Ó¤°¤ó ͽÈ÷·³ #T35 0 ¤è¤Ó¤³ ¸Æ¤Ó¹þ #M5r 0 ¤è¤Ó¤³¤¦ ͽÈ÷¹» #T35 0 ¤è¤Ó¤´¤¨ ¸Æ¤ÓÀ¼ #T35 0 ¤è¤Ó¤À ¸Æ¤Ó½Ð #S5r 139 ¤è¤Ó¤À¤· ¸Æ½Ð¤· #T30 6 ¤è¤Ó¤À¤· ¸Æ½Ð #T35 19 ¤è¤Ó¤â¤É ¸Æ¤ÓÌá #S5r 1 ¤è¤Ó¤è¤» ¸Æ¤Ó´ó¤» #KSr 1 ¤è¤Õ¤«¤· Ìë¹¹¤· #T10 0 ¤è¤Õ¤± Ìë¹¹¤± #T35 0 ¤è¤Ö¤³ ¸Æ»Ò #JCN 0 ¤è¤Ö¤ó ;ʬ #T05 7 ¤è¤Û¤¦ ͽÊó #T30 3 ¤è¤Û¤É ¤è¤Û¤É #F14 3 ¤è¤Û¤É ¤è¤Û¤É #T36 0 ¤è¤Ü¤¦ ͽËÉ #T30 2 ¤è¤Þ¤¤¤´¤È À¤Ì¤¤¸À #T35 0 ¤è¤ß¤¢¤² ÆÉ¤ß¾å¤² #KSr 1 ¤è¤ß¤¦¤ê ÆÉÇä #KK 2 ¤è¤ß¤«¤­ ÆÉ¤ß½ñ¤­ #T30 18 ¤è¤ß¤«¤¿ ÆÉ¤ßÊý #T35 6 ¤è¤ß¤¬¤¨ ÁÉ #R5r 0 ¤è¤ß¤¬¤¨ á´ #R5r 2 ¤è¤ß¤¬¤Ê ÆÉ¤ß¤¬¤Ê #T35 13 ¤è¤ß¤³ ÆÉ¤ß¹þ #M5r 153 ¤è¤ß¤¿¤Ë ÆÉë #JCN 0 ¤è¤á ²Ç #T35 7 ¤è¤â¤® Ë© #T35 0 ¤è¤â¤®¤¿ Ë©ÅÄ #JCN 0 ¤è¤ä¤¯ ͽÌó #T30 87 ¤è¤æ¤¦ ;͵ #T35 21 ¤è¤è¤® Â塹ÌÚ #JCN 0 ¤è¤ê ¤è¤ê #F14 54 ¤è¤ê¤¢ ´ó¤ê¹ç #W5r 0 ¤è¤ê¤¤ ´óµï #JCN 0 ¤è¤ê¤«¤« ´ó¤ê¤«¤« #R5r 1 ¤è¤ê¤«¤« ´ó¤ê³Ý¤« #R5r 1 ¤è¤ê¤³ °Í»Ò #JNM 0 ¤è¤ê¤³ Íê»Ò #JNM 0 ¤è¤ê¤·¤Þ ´óÅç #JCN 0 ¤è¤ê¤½ ´ó¤êź #W5r 0 ¤è¤ê¤É¤³¤í µò¤ê½ê #T35 2 ¤è¤ê¤ß¤Á ´ó¤êÆ» #T30 1 ¤è¤ê¤ç¤¯ ;ÎÏ #T35 1 ¤è¤ë Ìë #T35 114 ¤è¤í¤¤ ³» #T35 1 ¤è¤í¤¯ ;Ͽ #T35 0 ¤è¤í¤³ ±Ù #B5r 0 ¤è¤í¤³ ´¿ #B5r 0 ¤è¤í¤³ ·Ä #B5r 0 ¤è¤í¤³ ¤è¤í¤³ #B5r 1 ¤è¤í¤³ ´î #B5r 22 ¤è¤í¤³¤Ð¤· ´î¤Ð¤· #KY 1 ¤è¤í¤³¤Ð¤·¤å¤¦ ´î¤Ð¤·¤å¤¦ #KYU 1 ¤è¤í¤· ¤è¤í¤· #KY 255 ¤è¤í¤·¤¯ µ¹¤·¤¯ #F14 255 ¤è¤í¤·¤¯ ¤è¤í¤·¤¯ #F14 37 ¤è¤í¤·¤å¤¦ ¤è¤í¤·¤å¤¦ #KYU 3 ¤è¤í¤º Ëü #T35 0 ¤è¤í¤ó Í¿ÏÀ #JCN 0 ¤è¤í¤ó À¤ÏÀ #T35 0 ¤è¤ï ¼å #KYmime 17 ¤è¤ï ¼å #R5 11 ¤è¤ï¤¤ Îð #T35 0 ¤è¤ï¤­ ¼åµ¤ #T05 2 ¤è¤ï¤´¤· ¼å¹ø #T15 0 ¤è¤ï¤Í ¼å²» #T35 0 ¤è¤ï¤Þ ¼å¤Þ #R5r 0 ¤è¤ï¤ß ¼åÌ£ #T35 0 ¤è¤ï¤á ¼å¤á #KS 1 ¤è¤ï¤è¤ï¤· ¼å¡¹¤· #KY 1 ¤è¤ó »Í #NN 37 ¤è¤ó¤É¤³¤í¤Ê µò¤ó½ê¤Ê #KY 0 ¤è¤ó¤É¤³¤í¤Î¤¦ µò¤ó½ê¤Î¤¦ #KYU 0 Canna37p3/dic/ideo/words/0040755000076500001200000000000010052700704014460 5ustar shinraadminCanna37p3/dic/ideo/words/.cvsignore0100644000076500001200000000004607601177340016467 0ustar shinraadmin.depend Makefile *.d *.fq *.cbd *.cld Canna37p3/dic/ideo/words/bushu.t0100644000076500001200000004223507554213573016016 0ustar shinraadmin# $Id: bushu.t,v 1.1.1.1 2002/10/19 08:27:39 aida_s Exp $ .¤« #KJ ¡Æ ¡Ç ¡È ¡É ¡Ê ¡Ë ¡Ì ¡Í ¡Î ¡Ï ¡Ð ¡Ñ ¡Ò ¡Ó ¡Ô ¡Õ ¡Ö ¡× ¡Ø ¡Ù ¡Ú ¡Û .¤¬ #KJ ¡Ü ¡Ý ¡Þ ¡ß ¡à ¡á ¡â ¡ã ¡ä ¡å ¡æ ¡ç ¡è ¡é ¡ê .¤­ #KJ ¡¢ ¡£ ¡¤ ¡¥ ¡¦ ¡§ ¡¨ ¡© ¡ª ¡« ¡¬ ¡­ ¡® ¡¯ ¡° ¡± ¡² ¡³ ¡´ ¡µ ¡¶ ¡· ¡¸ ¡¹ ¡º ¡» ¡¼ ¡½ ¡¾ ¡¿ ¡À ¡Á ¡Â ¡Ã ¡Ä ¡Å ¡ô ¡õ ¡ö ¡÷ ¡ø ¡ù ¡ú ¡û ¡ü ¡ý ¡þ ¢¡ ¢¢ ¢£ ¢¤ ¢¥ ¢¦ ¢§ ¢¨ ¢© ¢ª ¢« ¢¬ ¢­ ¢® .¤® #KJ ¦¡ ¦¢ ¦£ ¦¤ ¦¥ ¦¦ ¦§ ¦¨ ¦© ¦ª ¦« ¦¬ ¦­ ¦® ¦¯ ¦° ¦± ¦² ¦³ ¦´ ¦µ ¦¶ ¦· ¦¸ ¦Á ¦Â ¦Ã ¦Ä ¦Å ¦Æ ¦Ç ¦È ¦É ¦Ê ¦Ë ¦Ì ¦Í ¦Î ¦Ï ¦Ð ¦Ñ ¦Ò ¦Ó ¦Ô ¦Õ ¦Ö ¦× ¦Ø .¤¿ #KJ ¡ë ¡ì ¡í ¡î ¡ï ¡ð ¡ñ ¡ò ¡ó .¤í¤·¤¢ #KJ §¡ §¢ §£ §¤ §¥ §¦ §§ §¨ §© §ª §« §¬ §­ §® §¯ §° §± §² §³ §´ §µ §¶ §· §¸ §¹ §º §» §¼ §½ §¾ §¿ §À §Á §Ñ §Ò §Ó §Ô §Õ §Ö §× §Ø §Ù §Ú §Û §Ü §Ý §Þ §ß §à §á §â §ã §ä §å §æ §ç §è §é §ê §ë §ì §í §î §ï §ð §ñ ¤¢¤« #KJ ³Ò ìß ìà ¤¢¤¯¤Ó #KJ ÷ Ý· ݸ ݹ ݺ Ý» ݼ ݽ ݾ Ý¿ ÝÀ ÝÁ Ý Ýà ÝÄ ¤¢¤· #KJ ¸Ù ÁÁ É¥ ìå ìæ ìç ìè ìé ìê ìë ìì ìí ìî ìï ìð ìñ ìò ìó ìô ìõ ìö ì÷ ìø ìù ìú ìû ìü ìý ìþ í¡ í¢ í£ í¤ í¥ í¦ í§ í¨ í© íª í« í¬ í­ í® í¯ í° í± í² í³ í´ íµ í¶ í· í¸ í¹ íº ¤¢¤Ê #KJ ãÖ ã× ãØ ãÙ ãÚ ãÛ ãÜ ãÝ ãÞ ãß ãà ãá ãâ ãã ãä ãå ãæ ¤¢¤á #KJ Û± ð¹ ð» ð¼ ð½ ð¾ ð¿ ðÀ ðÁ ð ðà ðÄ ðÅ ðÆ ðÇ ðÈ ðÉ ðÊ ðË ðÌ ðÍ ðÎ ðÏ ¤¢¤é¤º #KJ Èå æÇ éô ðÑ ðì ¤¤¤· #KJ ±° ³· µÎ ¸§ ¹Ü ºì ÀÙ Äö Å× È£ ÈØ ÊË ÚÑ âå âæ âç âè âé âê âë âì âí âî âï âð âñ âò âó âô âõ âö â÷ âø âù âú âû âü âý âþ 㡠㢠㣠㤠㥠㦠㧠㨠㩠㪠¤¤¤Á #KJ ±¾ Æû Êã С Т У в г д ÑÀ Öà ×° ¤¤¤Á¤¿ #KJ ËØ ÝÆ ÝÇ ÝÈ ÝÉ ÝÊ ÝË ÝÌ ÝÍ ÝÎ ÝÏ ÝÐ ÝÑ ÝÒ ÝÓ ÝÔ ¤¤¤È #KJ °¼ µ« ·¥ ·Ò ¸¾ ¹É ¼Ê ¼Ó ¼ú ½« Áî þ ÄÝ Å» Èì ÌË ÖÝ ×¾ äý äþ å¡ å¢ å£ å¤ å¥ å¦ å§ å¨ å© åª å« å¬ å­ å® å¯ å° å± å² å³ å´ åµ å¶ å· å¸ å¹ åº å» å¼ å½ å¾ å¿ åÀ åÁ å åà åÄ åÅ åÆ åÇ åÈ åÉ åÊ åË åÌ åÍ åÎ åÏ åÐ åÑ åÒ åÓ åÔ åÕ åÖ å× åØ åÙ åÚ åÛ åÜ åÝ åÞ åß åà åá åâ åã åä åå åæ åç åè åé åê åë åì åí åî åï åð åñ åò åó åô åõ åö å÷ åø åù åú åû åü ¤¤¤Ì #KJ àÇ àÒ àÔ àÙ àÛ ¤¤¤Î¤³ #KJ ×Á à¡ ìµ ì¶ ì· ¤¦ #KJ ±® ³ö ¶÷ ºõ Àü Ãþ ͨ ÍÒ Õß Õà Õá Õâ Õã Õä Õå Õæ Õç Õè Õé Õê Õë Õì Õí Õî Õï Õð Ùë ÜÍ ëé ìÐ í¡ ñÚ ¤¦¤ª #KJ ³â í ÉÉ Ê« Ëð ÎÚ Ï¥ ÏÌ ò· ò¸ ò¹ òº ò» ò¼ ò½ ò¾ ò¿ òÀ òÁ ò òà òÄ òÅ òÆ òÇ òÈ òÉ òÊ òË òÌ òÍ òÎ òÏ òÐ òÑ òÒ òÓ òÔ òÕ òÖ ò× òØ òÙ òÚ òÛ òÜ òÝ òÞ òß òà òá òâ òã òä òå òæ òç òè òé ¤¦¤±¤Ð¤³ #KJ Ñá Ñâ ¤¦¤· #KJ ²´ ºÔ ̶ ÌÆ ಠೠഠൠච෠ภ๠ຠ¤¦¤¹ #KJ ÍÁ Ñ» çÌ çÍ çÎ çÏ çÐ çÑ ¤¦¤Þ #KJ ÂÍ ÃÚ ÆÆ Çý ñÇ ñÈ ñÉ ñÊ ñË ñÌ ñÍ ñÎ ñÏ ñÐ ñÑ ñÒ ñÓ ñÔ ñÕ ñÖ ñ× ñØ ñÙ ñÚ ñÛ ñÜ ñÝ ñÞ ñß ñà ñá ñâ ñã ñä ñå ñæ ñç ñè ñé ñê ñë ¤¦¤ê #KJ É» ᡠᢠ¤¨¤ó #KJ ²ö Ƕ ×® ׯ ¤ª¤¤ #KJ æÍ æÎ æÏ ¤ª¤¦ #KJ ±Í ²Ñ ´á ¶ê ·¾ ¸ê º¼ »¹ Âö ÇÊ Èà Èü Íþ ΰ ÎÖ Ï® àÝ àÞ àß àà àá àâ àã àä àå àæ àç àè àé àê àë àì àí àî àï àð àñ àò àó àô àõ àö à÷ àø àù àú àû àü àý àþ ¤ª¤ª¤¬¤¤ #KJ ±Ï ±Ð ¿ü Å¿ ÈÒ ðò ðó ðô ðõ ðö ð÷ ðø ðù ðú ðû ðü ðý ðþ ñ¡ ñ¢ ñ£ ¤ª¤ª¤¶¤È #KJ °ê ·· Å¢ ͸ î· î¸ î¹ îº î» î¼ î½ î¾ î¿ îÀ îÁ î îà ¤ª¤È #KJ ðï ðð ðñ ¤ª¤Ë #KJ ³¡ ò° ò± ò² ò³ ò´ òµ ò¶ ¤ª¤Î¤ì #KJ ¹« ç ̦ Öá Öâ ¤ª¤ß #KJ çÉ ¤ª¤ó¤Ê #KJ °£ °¨ °¹ ±¸ ±Å ´ò µ¸ ¼» Ãä ÄÜ ÅÊ É² ÊÚ ÌŠϬ Õ¡ Õ¢ Õ£ Õ¤ Õ¥ Õ¦ Õ§ Õ¨ Õ© Õª Õ« Õ¬ Õ­ Õ® Õ¯ Õ° Õ± Õ² Õ³ Õ´ Õµ Õ¶ Õ· Õ¸ Õ¹ Õº Õ» Õ¼ Õ½ Õ¾ Õ¿ ÕÀ ÕÁ Õ Õà ÕÄ ÕÅ ÕÆ ÕÇ ÕÈ ÕÉ ÕÊ ÕË ÕÌ ÕÍ ÕÎ ÕÏ ÕÐ ÕÑ ÕÒ ×¸ ¤« #KJ ¹å ËÖ Ò¢ Ò£ Ò¤ Ò¥ Ò¦ Ò§ Ò¨ Ò© Òª Ò« Ò¬ Ò­ Ò® Ò¯ Ò° ¤«¤¤ #KJ »ò Á¨ Ž ÅÒ Æø Éê Ϩ æ¢ ìà ìÄ ìÅ ìÆ ìÇ ìÈ ìÉ ìÊ ìË ìÌ ìÍ ìÎ ìÏ ìÐ ìÑ ìÒ ìÓ ìÔ ìÕ ìÖ ì× ìØ ìÙ ìÚ ìÛ ìÜ ìÝ ìÞ ¤«¤ª¤ê #KJ ñÆ ¤«¤¯ #KJ °È ³ó µÇ ¾ä ¿Ù ÊÜ ëñ ðÕ ðÖ ð× ðØ ðÙ ðÚ ðÛ ðÜ ðÝ ðÞ ðß ðà ðá ðâ ðã ðä ðå ðæ ðç ðè ðé ¤«¤¼ #KJ ñ¤ ñ¥ ñ¦ ñ§ ñ¨ ñ© ñª ¤«¤¿ #KJ Ä­ à° à± ¤«¤¿¤Ê #KJ ѽ Ñã Ñç Ñì Ñò Ñù Ñú Ñû Ñü Ò¡ ¤«¤Í #KJ ³» ³Ã µø ¶ü ·­ ¸Ú »¬ ¼â ½û ¾à ¾á ¿í ¿î Á­ Áù Âø Ãò ĸ ÄÊ Ä× Å­ ÅÕ Æª ÉÅ ÉÆ Êß Ë¯ ËÈ ËÕ Ìú îÛ îÜ îÝ îÞ îß îà îá îâ îã îä îå îæ îç îè îé îê îë îì îí îî îï îð îñ îò îó îô îõ îö î÷ îø îù îú îû îü îý îþ ï¡ ï¢ ï£ ï¤ ï¥ ï¦ ï§ ï¨ ï© ïª ï« ï¬ ï­ ï® ï¯ ï° ï± ï² ï³ ï´ ïµ ï¶ ï· ï¸ ï¹ ïº ï» ï¼ ï½ ï¾ ï¿ ïÀ ïÁ ï ïà ïÄ ïÅ ïÆ ïÇ ïÈ ïÉ ïÊ ïË ïÌ ïÍ ïÎ ïÏ ïÐ ïÑ ïÒ ïÓ ïÔ ïÕ ïÖ ï× ïØ ¤«¤Þ¤¨ #KJ ¶© ÁÙ ÈÛ Êà ÑÄ ÑÅ ÑÆ ÑÇ ÑÈ ÑÉ ÑÊ ÑË Ò¹ Òº Ò» Ò¼ Ò½ Ò¾ Ò¿ Óø Óù Óú Óû Óü Óý Óþ Ô¡ Ô¢ Ô£ Ô¤ Ô¥ Ô¦ Ô§ Ô¨ æ¨ ¤«¤ß #KJ ɦ ñõ ñö ñ÷ ñø ñù ñú ñû ñü ñý ñþ ò¡ ò¢ ò£ ò¤ ò¥ ò¦ ò§ ¤«¤á #KJ óý ¤«¤é¤¤ #KJ íã íä íå íæ íç ¤«¤ï #KJ ⮠⯠ⰠⱠⲠ¤«¤ï¤é #KJ ¹ù ᣠᤠᥠᦠ᧠ᨠ᩠᪠᫠ᬠ᭠ᮠᯠᰠᱠᲠ¤«¤ó #KJ åý åþ æ¡ æ¢ æ£ æ¤ æ¥ ¤¬¤ó #KJ ±¹ ±Þ ´ç ¿ß Ìñ ÒÌ ÒÍ ÒÎ ÒÏ ÒÐ ÒÑ ÒÒ ðÔ ò¶ òî òï óá ¤­ #KJ ³à ³ñ ³ü ºÓ ¾Á ¿ú Àó ÂÈ Ãô ÄÐ Åî ÆË ÆÎ Ëï ÌÉ ÌÝ Ï¦ ϱ Ôí Õº Úâ Û² Û³ Û´ Ûµ Û¶ Û· Û¸ Û¹ Ûº Û» Û¼ Û½ Û¾ Û¿ ÛÀ ÛÁ Û Ûà ÛÄ ÛÅ ÛÆ ÛÇ ÛÈ ÛÉ ÛÊ ÛË ÛÌ ÛÍ ÛÎ ÛÏ ÛÐ ÛÑ ÛÒ ÛÓ ÛÔ ÛÕ ÛÖ Û× ÛØ ÛÙ ÛÚ ÛÛ ÛÜ ÛÝ ÛÞ Ûß Ûà Ûá Ûâ Ûã Ûä Ûå Ûæ Ûç Ûè Ûé Ûê Ûë Ûì Ûí Ûî Ûï Ûð Ûñ Ûò Ûó Ûô Ûõ Ûö Û÷ Ûø Ûù Ûú Ûû Ûü Ûý Ûþ Ü¡ Ü¢ Ü£ ܤ Ü¥ ܦ ܧ ܨ Ü© ܪ Ü« ܬ Ü­ Ü® ܯ ܰ ܱ ܲ ܳ Ü´ ܵ ܶ Ü· ܸ ܹ ܺ Ü» ܼ ܽ ܾ Ü¿ ÜÀ ÜÁ Ü Üà ÜÄ ÜÅ ÜÆ ÜÇ ÜÈ ÜÉ ÜÊ ÜË ÜÌ ÜÍ ÜÎ ÜÏ ÜÐ ÜÑ ÜÒ ÜÓ ÜÔ ÜÕ ÜÖ Ü× ÜØ ÜÙ ÜÚ ÜÛ ÜÜ ÜÝ ÜÞ Üß Üà Üá Üâ Üã Üä Üå Üæ Üç Üè ¤­¤¬¤Þ¤¨ #KJ Ýã Ýä Ýå Ýæ ¤­¤´¤¦ #KJ ¡« ¡¬ ¡­ ¡® ¡¯ ¡° ¡± ¡² ¡³ ¡´ ¡µ ¡¶ ¡· ¡¸ ¡¹ ¡º ¡» ¡¼ ¡½ ¡¾ ¡¿ ¡À ¡Á ¡Â ¡Ã ¡Ä ¡Å ¡Æ ¡Ç ¡È ¡É ¡Ì ¡Í ¡Ð ¡Ñ ¡Ò ¡Ó ¡Ô ¡Õ ¡Ø ¡Ù ¡Ú ¡Û ¡Ü ¡Ý ¡Þ ¡ß ¡à ¡á ¡â ¡ã ¡ä ¡å ¡æ ¡ç ¡è ¡é ¡ê ¡ë ¡ì ¡í ¡î ¡ñ ¡ò ¡ó ¡ô ¡õ ¡ö ¡ø ¡ù ¡ú ¡û ¡ü ¡ý ¡þ ¢¡ ¢¢ ¢£ ¢¤ ¢¥ ¢¦ ¢§ ¢¨ ¢© ¢ª ¢« ¢¬ ¢­ ¤­¤Ì #KJ ·¶ ºÀ êÏ êÐ êÑ êÝ êÞ êã êä êæ êç êê êñ ê÷ êø êþ ¤®¤ç¤¦ #KJ µ« ׯ ×Ç ×È ×É ×Ê ×Ë ×Ì ×Í ×Î ×Ï ×Ð ×Ñ ×Ò ×Ó ×Ô ×Õ êÊ êË êÌ êÍ òý óà ¤¯ #KJ ¸û ÌÞ Ò± Ò² Ò³ Ò´ Òµ Ò¶ Ò· ¤¯¤µ #KJ °ª °à °þ ±¶ ±Á ±ò ³ë ³÷ ³ý ³þ ´Ð ¶¾ ·Õ ¸Ö ¼¬ ¼Ã ¼É ¼æ ½¯ ½ò ½ó ¾Ô ¾Õ ¾Ö ¿Å ¿û Áó Âû Ã÷ ÅÑ Æ¡ Æ¢ ÆÑ Æå ÈÙ ÉÇ Éó Éø Éù Êà Ëú Ì¢ ̬ ÌØ Ìù ÍÖ Íé Ϊ Îê ÏÏ á° â¼ çÑ çç çè çé çê çë çì çí çî çï çð çñ çò çó çô çõ çö ç÷ çø çù çú çû çü çý çþ è¡ è¢ è£ è¤ è¥ è¦ è§ è¨ è© èª è« è¬ è­ è® è¯ è° è± è² è³ è´ èµ è¶ è· è¸ è¹ èº è» è¼ è½ è¾ è¿ èÀ èÁ è èà èÄ èÅ èÆ èÇ èÈ èÉ èÊ èË èÌ èÍ èÎ èÏ èÐ èÑ èÒ èÓ èÔ èÕ èÖ è× èØ èÙ èÚ èÛ èÜ èÝ èÞ èß èà èá èâ èã èä èå èæ èç èè èé èê èë èì èí èî èï èð èñ èò èó èô èõ èö è÷ èø èù èú èû èü ¤¯¤Á #KJ °¢ °ö ±¥ ±½ ²Å ²Þ ³± ³Å ³å ³ú µÉ ·¥ º¶ ºÈ ºð »Ì ¾¥ Á¹ Âà Âï Ãý ÆÕ ȸ Ê­ Ëé ͸ ÒÚ ÒÛ ÒÜ ÒÝ ÒÞ Òß Òà Òá Òâ Òã Òä Òå Òæ Òç Òè Òé Òê Òë Òì Òí Òî Òï Òð Òñ Òò Òó Òô Òõ Òö Ò÷ Òø Òù Òú Òû Òü Òý Òþ Ó¡ Ó¢ Ó£ Ó¤ Ó¥ Ó¦ Ó§ Ó¨ Ó© Óª Ó« Ó¬ Ó­ Ó® Ó¯ Ó° Ó± Ó² Ó³ Ó´ Óµ Ó¶ Ó· Ó¸ Ó¹ Óº Ó» Ó¼ Ó½ Ó¾ Ó¿ ÓÀ ÓÁ Ó Óà ÓÄ ÓÅ ÓÆ ÓÇ ÓÈ ÓÉ ÓÊ ÓË ÓÌ ÓÍ ÓÎ ÓÏ ÓÐ ÓÑ ÓÒ ÓÓ ÓÔ ÓÕ ÓÖ Ó× ÓØ ÓÙ ÓÚ ÓÛ ÓÜ ÓÝ ÓÞ Óß Óà Óá Óâ Óã Óä Óå Óæ Óç Óè Óé Óê Óë Óì Óí Óî Óï Óð Óñ Óò Óó Óô Óõ Óö Ó÷ ÖÉ ¤¯¤Ó #KJ ñÄ ñÅ ¤¯¤ë¤Þ #KJ ·¥ ¹ì »Â ½´ Ų Êå ÍÁ í íà íÄ íÅ íÆ íÇ íÈ íÉ íÊ íË íÌ íÍ íÎ íÏ íÐ íÑ íÒ íÓ íÔ íÕ íÖ í× íØ íÙ íÚ íÛ íÜ íÝ íÞ íß íà íá íâ ï´ ¤¯¤í #KJ àÔ óØ óÙ óÚ óÛ óÜ óÝ óÞ óß óà óá óâ ¤± #KJ ÝÛ ÝÜ ÝÝ ÝÞ Ýß Ýà Ýá æÎ ¤±¤Ä #KJ ÷ Ý· ݸ ݹ ݺ Ý» ݼ ݽ ݾ Ý¿ ÝÀ ÝÁ Ý Ýà ÝÄ ¤±¤â¤Î #KJ ¶é ¹ý ÁÀ Çâ ͱ ໠༠འྠ࿠àÀ àÁ à àà àÄ àÅ àÆ àÈ àÉ àÊ àË àÌ àÍ àÎ àÏ àÐ àÑ àÓ àÕ àÖ à× àØ àÚ àÜ ¤±¤ó #KJ ÇÁ ë¬ ë­ ë® ë¯ ë° ë± ë² ë³ ë´ ëµ ë¶ ë· ¤³ #KJ »Ú ÕÓ ÕÔ ÕÕ ÕÖ Õ× ÕØ ÕÙ ÕÚ ÕÛ ÕÜ ÕÝ ÕÞ ¤³¤¦ #KJ ñÆ ¤³¤³¤í #KJ ±å ·Å ¹ú ¼½ ¼æ ½ú Ìü ×Û ×Ü ×Ý ×ã ×ä ×ë ×ì ×î ×ó ×ù ب ت Ø´ ض ؾ ØÀ ØÂ ØÅ ØÇ ØÊ ØÏ ØÑ Ø× ØÚ ØÛ ØÜ Øà Øá Øæ Øé Øì Øð Øô Øø ¤³¤¶¤È #KJ ·¨ ·ä ÂË Çæ ç¡ ïô ïõ ïö ï÷ ïø ïù ïú ïû ïü ïý ïþ ð¡ ð¢ ð£ ð¤ ð¥ ð¦ ð§ ð¨ ð© ðª ð« ð¬ ð­ ð® 㔕³¤á #KJ °À ´¡ ¶Î ·© ¸Ò ¹Ç Á¸ Áì Çô ʵ ̰ Ìâ äâ äã ää äå äæ äç äè äé äê äë äì äí äî äï äð äñ äò äó äô äõ äö ä÷ äø äù äú äû äü ¤³¤í¤â #KJ °Á ²¨ ¿þ Σ êÎ êÒ êÓ êÔ êÕ êÖ ê× êØ êÙ êÚ êÛ êÜ êß êà êá êâ êå êè êé êë êì êí êî êï êð êò êó êô êõ êö êù êú êû êü êý ë¡ ë¢ ë£ ë¤ ë¥ ë¦ ë§ ð· ¤´¤ó #KJ °â ±Ú ³º ´Ò µÃ ·í »ð ¿Ö  Ãð ĵ Èð ɵ ÎÊ æÁ ë¾ ë¿ ëÀ ëÁ ë ëà ëÄ ëÅ ëÆ ëÇ ëÈ ëÉ ëÊ ëË ëÌ ëÍ ëÎ ëÏ ëÐ ëÑ ëÒ ëÓ ëÔ ëÕ ëÖ ë× ëØ ëÙ ëÚ ëÛ ëÜ ëÝ ëÞ ëß ëà ëá ëâ ëã ëä ëå ëæ ëç ëè ëé ëê ëë ëì ëí ëî ëï ëð ëñ ëò ëó ëô ëõ ëö ë÷ ëø ëù ëú ëû ëü ëý ëþ ì¡ ì¢ ì£ ì¤ ì¥ ì¦ ì§ ì¨ ì© ìª ì« ì¬ ì­ íç ¤µ¤± #KJ ¸ï ½¶ ½· ½¹ ½æ ¾ß Àà Âé Ãñ ÆÓ Ȱ Ͳ îÄ îÅ îÆ îÇ îÈ îÉ îÊ îË îÌ îÍ îÎ îÏ îÐ îÑ îÒ îÓ îÔ îÕ îÖ î× ¤µ¤à¤é¤¤ #KJ Ôã Ôä Ôå Ôæ Ôç Ôè ×Å ßô çÊ êÆ ìÎ íØ óé óê ¤µ¤é #KJ ±Î ݹ Ⳡⴠⵠⶠⷠ⸠⹠⺠⻠⼠óÅ ¤µ¤ó #KJ °¯ °î ±Ì ³½ ´Â ´Ã µâ µô ¹ã º» ½§ ½á Á² ÂÁ Âí ù Ãõ ÄÙ Äõ Åà Åñ Åó ÆÂ ÆÙ Æç È® ÈÆ Ë÷ Ì« Ͱ Íà Íä Íì ί ÎÔ Îú Õ° Ýè Ýé Ýê Ýë Ýì Ýí Ýî Ýï Ýð Ýñ Ýò Ýó Ýô Ýõ Ýö Ý÷ Ýø Ýù Ýú Ýû Ýü Ýý Ýþ Þ¡ Þ¢ Þ£ Þ¤ Þ¥ Þ¦ Þ§ Þ¨ Þ© Þª Þ« Þ¬ Þ­ Þ® Þ¯ Þ° Þ± Þ² Þ³ Þ´ Þµ Þ¶ Þ· Þ¸ Þ¹ Þº Þ» Þ¼ Þ½ Þ¾ Þ¿ ÞÀ ÞÁ Þ Þà ÞÄ ÞÅ ÞÆ ÞÇ ÞÈ ÞÉ ÞÊ ÞË ÞÌ ÞÍ ÞÎ ÞÏ ÞÐ ÞÑ ÞÒ ÞÓ ÞÔ ÞÕ ÞÖ Þ× ÞØ ÞÙ ÞÚ ÞÛ ÞÜ ÞÝ ÞÞ Þß Þà Þá Þâ Þã Þä Þå Þæ Þç Þè Þé Þê Þë Þì Þí Þï Þð Þñ Þò Þô Þõ Þö Þ÷ Þø Þú Þû Þü Þý Þþ ß¡ ߢ ߣ ߤ ߥ ߦ ß§ ߨ ß© ߪ ß« ߬ ß­ ß® ߯ ß° ß± ß² ¤· #KJ °¯ °î ±Ì ³½ ´Â ´Ã µâ µô ¹ã º» ½§ ½á Á² ÂÁ Âí ù Ãõ ÄÙ Äõ Åà Åñ Åó ÆÂ ÆÙ Æç È® ÈÆ Ë÷ Ì« Ͱ Íà Íä Íì ί ÎÔ Îú Õ° Ýè Ýé Ýê Ýë Ýì Ýí Ýî Ýï Ýð Ýñ Ýò Ýó Ýô Ýõ Ýö Ý÷ Ýø Ýù Ýú Ýû Ýü Ýý Ýþ Þ¡ Þ¢ Þ£ Þ¤ Þ¥ Þ¦ Þ§ Þ¨ Þ© Þª Þ« Þ¬ Þ­ Þ® Þ¯ Þ° Þ± Þ² Þ³ Þ´ Þµ Þ¶ Þ· Þ¸ Þ¹ Þº Þ» Þ¼ Þ½ Þ¾ Þ¿ ÞÀ ÞÁ Þ Þà ÞÄ ÞÅ ÞÆ ÞÇ ÞÈ ÞÉ ÞÊ ÞË ÞÌ ÞÍ ÞÎ ÞÏ ÞÐ ÞÑ ÞÒ ÞÓ ÞÔ ÞÕ ÞÖ Þ× ÞØ ÞÙ ÞÚ ÞÛ ÞÜ ÞÝ ÞÞ Þß Þà Þá Þâ Þã Þä Þå Þæ Þç Þè Þé Þê Þë Þì Þí Þï Þð Þñ Þò Þô Þõ Þö Þ÷ Þø Þú Þû Þü Þý Þþ ß¡ ߢ ߣ ߤ ߥ ߦ ß§ ߨ ß© ߪ ß« ߬ ß­ ß® ߯ ß° ß± ß² ß³ ¤·¤« #KJ ÎÛ ï² óÆ óÇ óÈ óÉ óÊ óË óÌ óÍ ¤·¤­ #KJ С б ×µ ×¶ ìÈ ¤·¤¿ #KJ ´Ü ż а çÒ çÓ çÔ ¤·¤á¤¹ #KJ ±Ð µÀ µú ·· Åø Ç© 㫠㬠㭠㮠㯠㰠㱠㲠㳠㴠㵠㶠㷠㸠㹠㺠¤·¤ã¤¯ #KJ ¶ý ºÔ »Ó ¼È ÅË Õù Õú Õû Õü Õý Õþ Ö¡ Ö¢ Ö£ Ö¤ ¤·¤ç¤¦ #KJ ¾¨ Àí Õõ Õö á³ á· òô óÞ óë ¤·¤ç¤¯ #KJ ¶Â Ò¬ Ý» ñ« ñ¬ ñ­ ñ® ñ¯ ñ° ñ± ñ² ñ³ ñ´ ñµ ñ¶ ñ· ñ¸ ñ¹ ñº ñ» ñ¼ ñ½ ñ¾ ñ¿ ñÀ ñÁ ñ ñà ¤·¤í #KJ »© Öç ⥠⦠⧠⨠⩠⪠⫠⬠⭠ò° ¤·¤ó #KJ ¿× ÁÌ Â½ Ãà Äþ ÆÛ Æö ɯ íè íé íê íë íì íí íî íï íð íñ íò íó íô íõ íö í÷ íø íù íú íû íü íý íþ î¡ î¢ î£ î¤ î¥ î¦ î§ î¨ î© îª î« î¬ î­ î® î¯ î° î± î² î³ î´ îµ î¶ ¤¸¤å¤¦ #KJ Ѿ ÒÀ ÒÁ Ò Òà ÒÄ ÒÅ Öô íã ¤¹¤¤ #KJ Ýç Þî Þó Þù ¤¹¤­ #KJ æÐ æÑ æÒ æÓ æÔ æÕ ¤¹¤ó #KJ Õñ Õò Õó Õô ¤»¤Ä #KJ ÒÇ ÒÈ ÒÉ ÒÊ ÒË ¤½¤¦ #KJ ¿ö ìá ìâ ìã ìä ¤½¤Î¤¿ #KJ ±ù ³î ´Ü ¶Ù ¸ð º¡ º± º³ ºü »Û ¼© ÁÑ Æã Çà ÉÌ Éà Êã ËÎ Ìà ÏÄ Ð¢ Ð¥ Ц Ч Ь Э Ю Я а в г д ÑÀ ÑÁ Ò¸ ÒÆ ÒÓ ÒÔ Ôé Ôê Ôë Õ÷ Õø Õú Ö¥ Öß Öô Öõ Öö ×° ×± ײ ׳ ×´ ×À ×Á × ×à ×Ä ×Å Øô Ù¨ Ú½ ÚÇ ÚÍ ÚÐ ÚÒ ÚÛ ÚÜ Û² ÝÅ ÝÙ ÝÚ Ýâ ঠૠଠୠ஠௠ᴠᵠââ ã» ã¼ äå äø æÀ æÌ çË çå çæ êÅ êÆ ìá î× îÚ ð° ð± ðÐ ðì ò® ò¯ óà óÄ óÔ óã óä óå óæ óç óè óé óê óì ¤¿ #KJ °Ú µ¦ Â× Æí Ç× Èû É­ ÔÞ Ú ᶠᷠḠṠẠỠἠὠᾠῠáÀ áÁ á áà áÄ áÅ áÆ áÇ áÈ áÉ áÊ æ£ ¤¿¤«¤¤ #KJ ÚÊ ãÌ ñô ¤¿¤± #KJ ´È µè »¼ ¼Ä ¿Ú Àý ý ÃÞ ÆÆ Çó Ȥ Ȧ ȵ Èö ÊÏ ÊÓ Ì§ Îü ϶ ÒÕ ãó ãô ãõ ãö ã÷ ãø ãù ãú ãû ãü ãý ãþ ä¡ ä¢ ä£ ä¤ ä¥ ä¦ ä§ ä¨ ä© äª ä« ä¬ ä­ ä® ä¯ ä° ä± ä² ä³ ä´ äµ ä¶ ä· ä¸ ä¹ äº ä» ä¼ ä½ ä¾ ä¿ äÀ äÁ ä äà äÄ äÅ äÆ äÇ äÈ äÉ äÊ äË äÌ äÍ äÎ äÏ äÐ äÑ äÒ äÓ äÔ äÕ äÖ ä× äØ äÙ äÚ äÛ äÜ äÝ äÞ äß äà äá ¤¿¤Ä #KJ ½× Ñ¿ Ñþ ãç ãè ãé ãê ãë ãì ãí ãî ãï ãð ãñ ãò æÄ ñ¥ ¤¿¤Ë #KJ ì® ì¯ ì° ¤¿¤Þ #KJ ±Í ²Ñ ´á ¶ê ·¾ ¸ê º¼ »¹ Âö ÇÊ Èà Èü Íþ ΰ ÎÖ Ï® àÝ àÞ àß àà àá àâ àã àä àå àæ àç àè àé àê àë àì àí àî àï àð àñ àò àó àô àõ àö à÷ àø àù àú àû àü àý àþ ¤À¤¤ #KJ °Ð ±â Àí Åå Ò· Ôï Ôð Ôñ Ôò Ôó Ôô Ôõ Ôö Ô÷ Ôø Ôù Ôú Ôû Ôü Ôý Ôþ Üè ¤Á #KJ êÈ êÉ ¤Á¤«¤é #KJ ¹å ËÖ Ò¢ Ò£ Ò¤ Ò¥ Ò¦ Ò§ Ò¨ Ò© Òª Ò« Ò¬ Ò­ Ò® Ò¯ Ò° ¤Ä #KJ ¾¨ Àí Õõ Õö á³ á· òô óÞ óë ¤Ä¤­ #KJ °ý ¸Õ ¹Ï ¹Ð ºè ÀÈ Á· ı Ç¿ ɨ Ͼ ÑÉ Û¬ Û­ Û® Û¯ Û° Û± åØ æê æë æì æí æî æï æð æñ æò æó æô æõ æö æ÷ æø æù æú æû æü æý æþ ç¡ ç¢ ç£ ç¤ ç¥ ç¦ ç§ ç¨ ç© çª ç« ç¬ ç­ ç® ç¯ ç° ç± ç² ç³ ç´ çµ ç¶ ç· ç¸ ç¹ çº ç» ç¼ ç½ ç¾ ç¿ çÀ çÁ ç çà çÄ çÅ çÆ çÇ çÈ ¤Ä¤¯¤¨ #KJ ³® ½È Æä ˱ ÑÜ ÑÝ ÑÞ Ñß Ñà ¤Ä¤Á #KJ ±á ´® ¶Æ ·µ ·¾ ¹¤ º¥ ºÁ ¾ý Áº ÂÏ Ã³ Ŷ ÅÈ Åä ȹ ÉÖ Ô© Ôª Ô« Ô¬ Ô­ Ô® Ô¯ Ô° Ô± Ô² Ô³ Ô´ Ôµ Ô¶ Ô· Ô¸ Ô¹ Ôº Ô» Ô¼ Ô½ Ô¾ Ô¿ ÔÀ ÔÁ Ô Ôà ÔÄ ÔÅ ÔÆ ÔÇ ÔÈ ÔÉ ÔÊ ÔË ÔÌ ÔÍ ÔÎ ÔÏ ÔÐ ÔÑ ÔÒ ÔÓ ÔÔ ÔÕ ÔÖ Ô× ÔØ ÔÙ ÔÚ ÔÛ ÔÜ ÔÝ ÔÞ Ôß Ôà Ôá Ôâ Ô÷ ìá ¤Ä¤Ä¤ß #KJ ¸û ÌÞ Ò± Ò² Ò³ Ò´ Òµ Ò¶ Ò· ¤Ä¤Î #KJ ÚÏ ë¸ ë¹ ëº ë» ë¼ ë½ ó£ ¤Ä¤á #KJ Ь Ôø ÕÕ à§ à¨ à© àª ë¬ ¤Æ #KJ °§ °Ä ±æ ²ý ³É µÅ ·ý ·þ ¹´ ¹é ºÃ ºñ »¢ »« »µ ¾¹ ¾ñ ¿¡ ¿ø À¢ ÀÛ Àñ Á¼ Áß Âª · Âñ Ľ ÄÏ Äò ŧ ű Åë Æµ Æè DZ Dz ÇÄ ÇÅ ÈÔ Éï ʱ Êû Ëõ ÌΠͬ Ϋ Ù© Ùª Ù« Ù¬ Ù­ Ù® Ù¯ Ù° Ù± Ù² Ù³ Ù´ Ùµ Ù¶ Ù· Ù¸ Ù¹ Ùº Ù» Ù¼ Ù½ Ù¾ Ù¿ ÙÀ ÙÁ Ù Ùà ÙÄ ÙÅ ÙÆ ÙÇ ÙÈ ÙÉ ÙÊ ÙË ÙÌ ÙÍ ÙÎ ÙÏ ÙÐ ÙÑ ÙÒ ÙÓ ÙÔ ÙÕ ÙÖ Ù× ÙØ ÙÙ ÙÚ ÙÛ ÙÜ ÙÝ ÙÞ Ùß Ùà Ùá Ùâ Ùã Ùä Ùå Ùæ Ùç Ùè Ùé Ùê Ùë Ùì Ùí Ùî Ùï Ùð Ùñ Ùò Ùó Ùô Ùõ Ùö Ù÷ Ùø Ùù Ùú Ùû Ùü Ùý Ùþ Ú¡ Ú¢ Ú£ Ú¤ Ú¥ Ú¦ Ú§ Ú¨ Ú© Úª Ú« Ú¬ Ú­ Ú® Ú¯ Ú° Ú± Ú² Ú³ Ú´ Úµ Ú¶ Ú· Ú¸ Ú¹ Úº Ú» Ú¼ ¤È¤¦ #KJ ò¨ ò© òª ò« ò¬ ò­ ¤È¤é #KJ É· ÑÝ âº éÈ éÉ éÊ éË éÌ ¤È¤ê #KJ ±­ ±õ ²ª ¹ã ¹ô ºí ¼² ÄÕ Åè Æ¾ ÆÐ ˱ ˲ ̹ ÏÉ Ûæ òê òë òì òí òî òï òð òñ òò òó òô òõ òö ò÷ òø òù òú òû òü òý òþ ó¡ ó¢ ó£ ó¤ ó¥ ó¦ ó§ ó¨ ó© óª ó« ó¬ ó­ ó® ó¯ ó° ó± ó² ó³ ó´ óµ ó¶ ó· ó¸ ó¹ óº ó» ó¼ ó½ ó¾ ó¿ óÀ óÁ ó ¤É #KJ ±á ´® ¶Æ ·µ ·¾ ¹¤ º¥ ºÁ ¾ý Áº ÂÏ Ã³ Ŷ ÅÈ Åä ȹ ÉÖ Ô© Ôª Ô« Ô¬ Ô­ Ô® Ô¯ Ô° Ô± Ô² Ô³ Ô´ Ôµ Ô¶ Ô· Ô¸ Ô¹ Ôº Ô» Ô¼ Ô½ Ô¾ Ô¿ ÔÀ ÔÁ Ô Ôà ÔÄ ÔÅ ÔÆ ÔÇ ÔÈ ÔÉ ÔÊ ÔË ÔÌ ÔÍ ÔÎ ÔÏ ÔÐ ÔÑ ÔÒ ÔÓ ÔÔ ÔÕ ÔÖ Ô× ÔØ ÔÙ ÔÚ ÔÛ ÔÜ ÔÝ ÔÞ Ôß Ôà Ôá Ôâ Ô÷ ìá ¤Ê¤Ù #KJ °ç ¸£ ǹ Ëò е ж з и й ÒÆ ÔÙ Ôõ ×± ÚÕ ÝÝ á± ãÈ ãÉ êÑ êÝ êç êñ ê÷ êø ìÚ ð¶ ðí ðî óî ¤Ê¤á¤· #KJ ðê ðë ¤Ë #KJ ºã À¨ Ãü Ìê ο ÑÒ ÑÓ ÑÔ ÑÕ ÑÖ Ñ× ÑØ ÑÙ ÑÚ ÑÛ ÒÅ ñÈ ¤Ë¤¯ #KJ çÈ ¤Ë¤· #KJ ë¨ ë© ëª ë« ìË ¤Ë¤Á #KJ ²¢ ´Í ·£ ·á ¹· ¹¸ ºª »¯ ½ì ¿¸ Á½ Ī Çø Ëæ Ï¥ ÏË ÑË Ò¨ ÒØ ÚÝ ÚÞ Úß Úà Úá Úâ Úã Úä Úå Úæ Úç Úè Úé Úê Úë Úì Úí Úî Úï Úð Úñ Úò Úó Úô Úõ Úö Ú÷ Úø Úù Úú Úû Úü Úý Úþ Û¡ Û¢ Û£ Û¤ Û¥ Û¦ Û§ Û¨ Û© Ûª Û« æÍ ¤Ë¤ó #KJ ²À ²ä ²é ´¦ ´ì ¶¢ ¶£ ¶Ï ¶æ ·ñ ¸à ¸ó ¸ô ¸ö ºÁ »Æ ¼Å ½º â Äå ÊÈ Ëó Ëù ÌÙ Íà η Îâ ÏÁ Ф к л м н о п ÐÀ ÐÁ РÐà ÐÄ ÐÅ ÐÆ ÐÇ ÐÈ ÐÉ ÐÊ ÐË ÐÌ ÐÍ ÐÎ ÐÏ ÐÐ ÐÑ ÐÒ ÐÓ ÐÔ ÐÕ ÐÖ Ð× ÐØ ÐÙ ÐÚ ÐÛ ÐÜ ÐÝ ÐÞ Ðß Ðà Ðá Ðâ Ðã Ðä Ðå Ðæ Ðç Ðè Ðé Ðê Ðë Ðì Ðí Ðî Ðï Ðð Ðñ Ðò Ðó Ðô Ðõ Ðö Ð÷ Ðø Ðù Ðú Ðû Ðü Ðý Ðþ Ñ¡ Ñ¢ Ñ£ Ѥ Ñ¥ Ѧ ѧ Ѩ Ñ© Ѫ Ñ« Ѭ Ñ­ Ñ® ѯ Ѱ ѱ Ѳ ѳ Ñ´ ѵ Ѷ Ñ· Ѹ Õ¤ Õ¥ Öà ÚÁ Ûê àÇ æû çÒ óü óþ ¤Ì #KJ ºµ ÒÖ Ò× ÒØ ÒÙ ¤Í #KJ »ã Ä÷ Ǫ ¤Î #KJ ¸Ã ¸ð ºÓ ¿Ñ ÆÖ Ш Щ Ъ Ы Ь Õú Ö¥ ã½ ¤Î¤® #KJ °¬ ±Ï ²Ó µÐ ¾÷ ¿Á Çé ËÔ ã½ ã¾ ã¿ ãÀ ãÁ ã ãà ãÄ ãÅ ãÆ ãÇ ãÈ ãÉ ãÊ ãË ãÌ ãÍ ãÎ ãÏ ãÐ ãÑ ãÒ ãÓ ãÔ ãÕ óÕ óÖ ó× ¤Î¤´¤á #KJ ÈÐ Ôü æÌ îØ îÙ ¤Î¤Ö¤ó #KJ Ú¾ Ú¿ ÚÀ ÚÁ Ú Úà ÚÄ ÚÅ ÚÆ ÚÈ ÚÉ ÚË ÚÌ ÚÍ ÚÎ ¤Ï #KJ óï óð óñ óò óó óô óõ óö ó÷ óø óù óú óû ¤Ï¤·¤ë #KJ ¿ö ìá ìâ ìã ìä ¤Ï¤Á #KJ ¶ ç ÍÁ Ѽ Ñ Ñà Ôû çÐ ¤Ï¤Ä #KJ ⢠⣠⤠¤Ï¤Ê #KJ óí ¤Ï¤Í #KJ ´å æÂ æÃ æÄ æÅ æÆ æÇ æÈ æÉ æÊ æË ¤Ï¤Ð #KJ ¿ã ÁÙ Ä¡ Ȩ ËÚ Öã Öä Öå Öæ Öç Öè Öé Öê Öë Öì Öí Öî Öï Öð Öñ Öò Öó éÉ ¤Ð¤¯ #KJ ¹í ÌÍ óÎ óÏ óÐ óÑ óÒ ¤Ò #KJ ±ë µä »¸ ¼Þ ¿¤ Àú Åõ Çá ʲ ÍÐ ÎÕ Îû Ò© ÓÛ ÔÊ ÜÆ ßÕ ßÖ ß× ßØ ßÙ ßÚ ßÛ ßÜ ßÝ ßà ßâ ßã ßä ßå ßé ßê ßë ßì ßî ßï ßð ßñ ßó ßõ ßö ß÷ ßø ßù ßú ßû ßü ßý ßþ ࡠࢠ࣠ठॠঠภàò ê¥ ¤Ò¤Ä¤¸ #KJ Á¢ Õª âµ æµ æ¶ æ· æ¸ æ¹ æº æ» æ¼ æ½ æ¾ æ¿ æÀ æÁ æÆ ¤Ò¤È #KJ ²À ²ä ²é ´¦ ´ì ¶¢ ¶£ ¶Ï ¶æ ·ñ ¸à ¸ó ¸ô ¸ö ºÁ »Æ ¼Å ½º â Äå ÊÈ Ëó Ëù ÌÙ Íà η Îâ ÏÁ Ф к л м н о п ÐÀ ÐÁ РÐà ÐÄ ÐÅ ÐÆ ÐÇ ÐÈ ÐÉ ÐÊ ÐË ÐÌ ÐÍ ÐÎ ÐÏ ÐÐ ÐÑ ÐÒ ÐÓ ÐÔ ÐÕ ÐÖ Ð× ÐØ ÐÙ ÐÚ ÐÛ ÐÜ ÐÝ ÐÞ Ðß Ðà Ðá Ðâ Ðã Ðä Ðå Ðæ Ðç Ðè Ðé Ðê Ðë Ðì Ðí Ðî Ðï Ðð Ðñ Ðò Ðó Ðô Ðõ Ðö Ð÷ Ðø Ðù Ðú Ðû Ðü Ðý Ðþ Ñ¡ Ñ¢ Ñ£ Ѥ Ñ¥ Ѧ ѧ Ѩ Ñ© Ѫ Ñ« Ѭ Ñ­ Ñ® ѯ Ѱ ѱ Ѳ ѳ Ñ´ ѵ Ѷ Ñ· Ѹ Õ¤ Õ¥ Öà ÚÁ Ûê àÇ æû çÒ óü óþ ¤Ò¤È¤¢¤· #KJ °ô ³õ ¶¤ ÅÆ ѹ Ѻ Ñ» Ѽ ѽ Ѿ Ñ¿ ⦠ðï ¤Ò¤è¤ß #KJ ¸ï ½¶ ½· ½¹ ½æ ¾ß Àà Âé Ãñ ÆÓ Ȱ Ͳ îÄ îÅ îÆ îÇ îÈ îÉ îÊ îË îÌ îÍ îÎ îÏ îÐ îÑ îÒ îÓ îÔ îÕ îÖ î× ¤Õ¤· #KJ ÒÇ ÒÈ ÒÉ ÒÊ ÒË ¤Õ¤¿ #KJ °ç ¸£ ǹ Ëò е ж з и й ÒÆ ÔÙ Ôõ ×± ÚÕ ÝÝ á± ãÈ ãÉ êÑ êÝ êç êñ ê÷ êø ìÚ ð¶ ðí ðî óî ¤Õ¤Ç #KJ ææ æç æè æé ¤Õ¤Í #KJ ¸¿ ÂÉ çÕ çÖ ç× çØ çÙ çÚ çÛ çÜ çÝ çÞ çß çà çá çâ çã çä ¤Õ¤ë¤È¤ê #KJ ÒÖ Ó´ âÚ ê­ ì¨ ð² ð³ ð´ ðµ ð¶ ð· ð¸ ð¹ 𺠤ڡ¼¤¸ #KJ ±Ï ±Ð ¿ü Å¿ ÈÒ ðò ðó ðô ðõ ðö ð÷ ðø ðù ðú ðû ðü ðý ðþ ñ¡ ñ¢ ñ£ ¤Û¤¦ #KJ ÚÓ ÚÔ ÚÕ ÚÖ Ú× ÚØ ÚÙ ÚÚ ¤Û¤³ #KJ ±È µ¦ ½¿ Â× Êê Øù Øú Øû Øü Øý Øþ Ù¡ Ù¢ Ù£ Ù¤ Ù¥ Ù¦ Ù§ çÉ ¤Û¤Í #KJ ñì ñí ñî ñï ñð ññ ñò ñó ¤Þ #KJ °Ã ³Ç ¹® ¾³ Èß ÉÀ Êù ÍÇ Î÷ Ö÷ Öø Öù Öú Öû Öü Öý Öþ ס ×¢ ×£ פ ×¥ צ ×§ ר ש ת ׫ ׬ ×­ Øæ Ýà äö åÛ óÓ ¤Þ¤¿ #KJ ºµ ÒÖ Ò× ÒØ ÒÙ ¤Þ¤á #KJ ì± ì² ì³ ì´ ¤ß #KJ ¶í í» í¼ í½ í¾ í¿ íÀ íÁ ¤ß¤º #KJ Ýç Þî Þó Þù ¤ß¤ß #KJ ÿ Ìí Îþ ϸ æÖ æ× æØ æÙ æÚ æÛ æÜ æÝ æÞ æß æà æá æâ æã æä æå ñ£ òþ ¤ß¤ë #KJ ÇÁ ë¬ ë­ ë® ë¯ ë° ë± ë² ë³ ë´ ëµ ë¶ ë· ¤à¤® #KJ ¹í ÌÍ óÎ óÏ óÐ óÑ óÒ ¤à¤· #KJ °º ²Ü ³Â Àæ Âý ÃÁ ÃØ Çè ÉÈ Íæ Ϲ éÍ éÎ éÏ éÐ éÑ éÒ éÓ éÔ éÕ éÖ é× éØ éÙ éÚ éÛ éÜ éÝ éÞ éß éà éá éâ éã éä éå éæ éç éè éé éê éë éì éí éî éï éð éñ éò éó éô éõ éö é÷ éø éù éú éû éü éý éþ ê¡ ê¢ ê£ ê¤ ê¥ ê¦ ê§ ê¨ ê© êª ê« ê¬ ê­ ê® ê¯ ê° ê± ê² ê³ ê´ êµ ê¶ ê· ê¸ ê¹ êº ê» ê¼ ê½ ê¾ ê¿ êÀ êÁ ê êà êÄ êÅ êÆ êÇ ¤à¤¸¤Ê #KJ É¿ ËÆ ì¸ ì¹ ìº ì» ì¼ ì½ ì¾ ì¿ ìÀ ìÁ ì ¤á #KJ Ť ÊÍ ËÓ â½ â¾ â¿ âÀ âÁ â âà âÄ âÅ âÆ âÇ âÈ âÉ âÊ âË âÌ âÍ âÎ âÏ âÐ âÑ âÒ âÓ âÔ âÕ âÖ â× âØ âÙ âÚ âÛ âÜ âÝ âÞ âß âà âá ð³ ¤á¤ó #KJ ðÒ ðÓ ðÔ ¤â¤ó #KJ ±¼ ¹Þ Á® ïÙ ïÚ ïÛ ïÜ ïÝ ïÞ ïß ïà ïá ïâ ïã ïä ïå ïæ ïç ïè ïé ïê ïë ïì ïí ïî ïï ïð ïñ ïò ïó ¤ä #KJ ¶º ¶ë Çê âã âä ðµ ¤ä¤Þ #KJ ²å ³³ º· ½Ô ¿ó Á» ÂÒ Ê÷ Ö¦ Ö§ Ö¨ Ö© Öª Ö« Ö¬ Ö­ Ö® Ö¯ Ö° Ö± Ö² Ö³ Ö´ Öµ Ö¶ Ö· Ö¸ Ö¹ Öº Ö» Ö¼ Ö½ Ö¾ Ö¿ ÖÀ ÖÁ Ö Öà ÖÄ ÖÅ ÖÆ ÖÇ ÖÈ ÖÉ ÖÊ ÖË ÖÌ ÖÍ ÖÎ ÖÏ ÖÐ ÖÑ ÖÒ ÖÓ ÖÔ ÖÕ ÖÖ Ö× ÖØ ÖÙ ÖÚ ÖÛ ÖÜ ÖÝ ÖÞ éÐ ì± ¤ä¤Þ¤¤ #KJ Áé áË áÌ áÍ áÎ áÏ áÐ áÑ áÒ áÓ áÔ áÕ áÖ á× áØ áÙ áÚ áÛ áÜ áÝ áÞ áß áà áá áâ áã áä áå áæ áç áè áé áê áë áì áí áî áï áð áñ áò áó áô áõ áö á÷ áø áù áú áû áü áý áþ â¡ ¤æ¤¦ #KJ ½Ø Á¤ ÒÉ Ôì Ôí Ôî ¤æ¤ß #KJ °Ð ´¡ ¶° ÃРĤ É« ʦ ×· ׸ ×¹ ׺ ×» ×¼ ×½ ×¾ ׿ ¤è¤Ä¤Æ¤ó #KJ ±í Àù Âã Ë£ ßÞ ßß ßá ßæ ßç ßè ßí ßò ßô ¤è¤ó #KJ ±µ Øí æ¦ æ© æª æ« æ¬ æ­ æ® æ¯ æ° æ± æ² æ³ æ´ éæ ¤ê¤Ã¤·¤ó #KJ °Ô ²ú ³´ ³æ ´¸ ¶± ¹û Äð Æ´ Æ× ×Ö ×× ×Ø ×Ù ×Ú ×Þ ×ß ×à ×á ×â ×å ׿ ×ç ×è ×é ×ê ×í ×ï ×ð ×ñ ×ò ×ô ×õ ×ö ×÷ ×ø ×ú ×û ×ü ×ý ×þ Ø¡ Ø¢ Ø£ ؤ Ø¥ ئ ا Ø© Ø« ج Ø­ Ø® د ذ ر ز س ص Ø· ظ ع غ Ø» ؼ ؽ Ø¿ ØÁ ØÃ ØÄ ØÆ ØÈ ØÉ ØË ØÌ ØÍ ØÎ ØÐ ØÒ ØÓ ØÔ ØÕ ØÖ ØØ ØÙ ØÝ ØÞ Øß Øâ Øã Øä Øå Øç Øè Øê Øë Øí Øî Øï Øñ Øò Øó Øõ Øö Ø÷ ¤ê¤Ã¤È¤¦ #KJ ³Ä ·Õ Äæ Çí έ Ñä Ñå Ñæ Ñè Ñé Ñê Ñë Ñí Ñî Ñï Ñð Ññ Ñó Ñô Ñõ Ñö Ñ÷ Ñø Ñý Ñþ ¤ê¤Ä #KJ ½× Ñ¿ Ñþ ãç ãè ãé ãê ãë ãì ãí ãî ãï ãð ãñ ãò æÄ ñ¥ ¤ë #KJ °ô ³õ ¶¤ ÅÆ ѹ Ѻ Ñ» Ѽ ѽ Ѿ Ñ¿ ⦠ðï ¤ë¤Þ¤¿ #KJ ÝÕ ÝÖ Ý× ÝØ ¤í #KJ °¢ °ö ±¥ ±½ ²Å ²Þ ³± ³Å ³å ³ú µÉ ·¥ º¶ ºÈ ºð »Ì ¾¥ Á¹ Âà Âï Ãý ÆÕ ȸ Ê­ Ëé ͸ ÒÚ ÒÛ ÒÜ ÒÝ ÒÞ Òß Òà Òá Òâ Òã Òä Òå Òæ Òç Òè Òé Òê Òë Òì Òí Òî Òï Òð Òñ Òò Òó Òô Òõ Òö Ò÷ Òø Òù Òú Òû Òü Òý Òþ Ó¡ Ó¢ Ó£ Ó¤ Ó¥ Ó¦ Ó§ Ó¨ Ó© Óª Ó« Ó¬ Ó­ Ó® Ó¯ Ó° Ó± Ó² Ó³ Ó´ Óµ Ó¶ Ó· Ó¸ Ó¹ Óº Ó» Ó¼ Ó½ Ó¾ Ó¿ ÓÀ ÓÁ Ó Óà ÓÄ ÓÅ ÓÆ ÓÇ ÓÈ ÓÉ ÓÊ ÓË ÓÌ ÓÍ ÓÎ ÓÏ ÓÐ ÓÑ ÓÒ ÓÓ ÓÔ ÓÕ ÓÖ Ó× ÓØ ÓÙ ÓÚ ÓÛ ÓÜ ÓÝ ÓÞ Óß Óà Óá Óâ Óã Óä Óå Óæ Óç Óè Óé Óê Óë Óì Óí Óî Óï Óð Óñ Óò Óó Óô Óõ Óö Ó÷ ÖÉ ¤í¤¦ #KJ æÍ æÎ æÏ ¤ï #KJ ÉÚ Ì½ ÑÌ ÑÍ ÑÎ ÑÏ ÑÐ ÑÑ æ§ ¤ó #KJ ºã À¨ Ãü Ìê ο ÑÒ ÑÓ ÑÔ ÑÕ ÑÖ Ñ× ÑØ ÑÙ ÑÚ ÒÅ ñÈ Canna37p3/dic/ideo/words/chimei.t0100644000076500001200000011220007735225677016125 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: chimei.t,v 1.2 2003/09/27 06:18:39 aida_s Exp $ ¤¢¡¼¤«¤ó¤½¡¼ #CN ¥¢¡¼¥«¥ó¥½¡¼ ¤¢¤¤¤ª¤¤¤· #CNS ÁêÀ¸»Ô ¤¢¤¤¤ª¤ï #CN ¥¢¥¤¥ª¥ï ¤¢¤¤¤¹¤é¤ó¤É #CN ¥¢¥¤¥¹¥é¥ó¥É ¤¢¤¤¤Å¤ï¤«¤Þ¤Ä¤· #CNS ²ñÄż㾾»Ô ¤¢¤¤¤ë¤é¤ó¤É #CN ¥¢¥¤¥ë¥é¥ó¥É ¤¢¤«¤¤¤·¤À¤± #CN ÀÖÀг٠¤¢¤«¤·¤· #CNS ÌÀÀÐ»Ô ¤¢¤«¤Ð¤Í¤»¤ó #CNS ÀÖ±©Àþ ¤¢¤«¤Ó¤é¤· #CNS ÀÖÊ¿»Ô ¤¢¤«¤ó¤³ #CN °¤´¨¸Ð ¤¢¤­¤¬¤ï¤· #CNS ½©Àî»Ô ¤¢¤­¤¯ #CNS °Â·Ý¶è ¤¢¤­¤· #CNS °Â·Ý»Ô ¤¢¤­¤·¤Þ¤· #CNS ¾¼Åç»Ô ¤¢¤­¤Ä #CN ½©ÄÅ ¤¢¤­¤è¤·¤À¤¤ #CN ½©µÈÂæ ¤¢¤­¤ë¤Î #CN ¤¢¤­¤ëÌî ¤¢¤­¤ë¤Î¤· #CNS ¤¢¤­¤ëÌî»Ô ¤¢¤¯¤Í¤· #CNS °¤µ×º¬»Ô ¤¢¤¯¤é #CN ¥¢¥¯¥é ¤¢¤±¤Ü¤Î¤Ð¤· #CN ½ì¶¶ ¤¢¤²¤ª¤· #CNS ¾åÈø»Ô ¤¢¤³¤¦¤· #CNS ÀÖÊæ»Ô ¤¢¤µ¤ª¤¯ #CNS ËãÀ¸¶è ¤¢¤µ¤«¤· #CNS Ä«²â»Ô ¤¢¤µ¤¬¤ä #CN °¤º´¥öë ¤¢¤µ¤­¤¿¤¯ #CNS °Âº´ËÌ¶è ¤¢¤µ¤¯¤µ¤Ð¤· #CN ÀõÁð¶¶ ¤¢¤µ¤Ò¤«¤ï¤· #CNS °°Àî»Ô ¤¢¤µ¤Ò¤¯ #CNS °°¶è ¤¢¤µ¤Ò¤· #CNS °°»Ô ¤¢¤µ¤Ò¤Á¤ç¤¦ #CNS °°Ä® ¤¢¤µ¤ß¤Ê¤ß¤¯ #CNS °Âº´Æî¶è ¤¢¤·¤«¤¬¤· #CNS Â­Íø»Ô ¤¢¤·¤Ï¤Ð¡¼¤É #CN ¥¢¥·¥Ï¥Ð¡¼¥É ¤¢¤·¤Ù¤Ä¤· #CNS °²ÊÌ»Ô ¤¢¤·¤ä¤· #CNS °²²°»Ô ¤¢¤¸¤¢ #CN ¥¢¥¸¥¢ °¡ºÙ°¡ ¤¢¤¸¤¹¤¢¤Ù¤Ð #CN ¥¢¥¸¥¹¥¢¥Ù¥Ð ¤¢¤¹¤Þ¤é #CN ¥¢¥¹¥Þ¥é ¤¢¤¹¤ó¤·¤ª¤ó #CN ¥¢¥¹¥ó¥·¥ª¥ó ¤¢¤º¤Þ¤Ð¤· #CN ¸ãºÊ¶¶ ¤¢¤¼¤ë¤Ð¤¤¤¸¤ã¤ó #CN ¥¢¥¼¥ë¥Ð¥¤¥¸¥ã¥ó ¤¢¤½¤¶¤ó #CN °¤ÁÉ»³ ¤¢¤¿¤´ #CN °¦Åæ ¤¢¤¿¤ß¤· #CNS Ç®³¤»Ô ¤¢¤À¤¿¤é #CN °ÂãÂÀÎÉ ¤¢¤À¤Á¤¯ #CNS ­Ω¶è ¤¢¤Ä¤®¤· #CNS ¸üÌÚ»Ô ¤¢¤Ä¤¿¤¯ #CNS Ç®ÅÄ¶è ¤¢¤Ç¤ó #CN ¥¢¥Ç¥ó ¤¢¤Ê¤ó¤· #CNS °¤Æî»Ô ¤¢¤Ð¤·¤ê¤· #CNS ÌÖÁö»Ô ¤¢¤Ñ¤é¤Á¤¢ #CN ¥¢¥Ñ¥é¥Á¥¢ ¤¢¤Ó¤³¤· #CNS ²æÂ¹»Ò»Ô ¤¢¤Ó¤¸¤ã¤ó #CN ¥¢¥Ó¥¸¥ã¥ó ¤¢¤Ô¤¢ #CN ¥¢¥Ô¥¢ ¤¢¤Õ¤¬¤ó #CN ¥¢¥Õ¥¬¥ó ¤¢¤Ö¤¯¤Þ¤¬¤ï #CN °¤Éð·¨Àî ¤¢¤Ö¤À¤Ó #CN ¥¢¥Ö¥À¥Ó ¤¢¤Ö¤é¤Ä¤Ü #CN ÌýÄÛ ¤¢¤Ù¤Î¤¯ #CNS °¤ÇÜÌî¶è ¤¢¤Ù¤Î¤¹¤¸ #CN °¤ÇÜÌî¶Ú ¤¢¤Þ¤¬¤µ¤­¤· #CNS Æôºê»Ô ¤¢¤Þ¤®¤· #CNS ´ÅÌÚ»Ô ¤¢¤à¤¹¤Æ¤ë¤À¤à #CN ¥¢¥à¥¹¥Æ¥ë¥À¥à ¤¢¤ä¤»¤· #CNS °½À¥»Ô ¤¢¤ä¤Ù¤· #CNS °½Éô»Ô ¤¢¤é¤¤¤· #CNS ¿·°æ»Ô ¤¢¤é¤ª¤· #CNS ¹ÓÈø»Ô ¤¢¤é¤«¤ï¤¯ #CNS ¹ÓÀî¶è ¤¢¤é¤Ö #CN ¥¢¥é¥Ö ¤¢¤é¤Ö¤·¤å¤Á¤ç¤¦¤³¤¯¤ì¤ó¤Ý¤¦ #CNS ¥¢¥é¥Ö¼óĹ¹ñϢˮ ¤¢¤ê¤À¤· #CNS Í­ÅÄ»Ô ¤¢¤ê¤å¡¼¤·¤ã¤ó #CN ¥¢¥ê¥å¡¼¥·¥ã¥ó ¤¢¤ë¤¸¤§ #CN ¥¢¥ë¥¸¥§ ¤¢¤ë¤¸¤§¤ê¤¢ #CN ¥¢¥ë¥¸¥§¥ê¥¢ ¤¢¤ë¤Ð¤Ë¤¢ #CN ¥¢¥ë¥Ð¥Ë¥¢ ¤¢¤ë¤Þ¤¢¤¿ #CN ¥¢¥ë¥Þ¥¢¥¿ ¤¢¤ë¤á¤Ë¤¢ #CN ¥¢¥ë¥á¥Ë¥¢ ¤¢¤ì¤­¤µ¤ó¤É¤ê¤¢ #CN ¥¢¥ì¥­¥µ¥ó¥É¥ê¥¢ ¤¢¤ì¤¯¤µ¤ó¤É¤í¤Õ¤¹¤¯ #CN ¥¢¥ì¥¯¥µ¥ó¥É¥í¥Õ¥¹¥¯ ¤¢¤ó¤«¤é #CN ¥¢¥ó¥«¥é ¤¢¤ó¤«¤ì¤¸ #CN ¥¢¥ó¥«¥ì¥¸ ¤¢¤ó¤´¤é #CN ¥¢¥ó¥´¥é ¤¢¤ó¤¸¤ç¤¦¤· #CNS °Â¾ë»Ô ¤¢¤ó¤¿¤Ê¤Ê¤ê¤Ð #CN ¥¢¥ó¥¿¥Ê¥ê¥Ü ¤¢¤ó¤Ç¤¹ #CN ¥¢¥ó¥Ç¥¹ ¤¢¤ó¤É¤é #CN ¥¢¥ó¥É¥é ¤¢¤ó¤É¤é¤é¤Ù¤é #CN ¥¢¥ó¥É¥é¥é¥Ù¥é ¤¢¤ó¤Ê¤«¤· #CNS °ÂÃæ»Ô ¤¢¤ó¤Þ¤ó #CN ¥¢¥ó¥Þ¥ó ¤¤¤¤¤À¤· #CNS ÈÓÅÄ»Ô ¤¤¤¤¤À¤Ð¤· #CN ÈÓÅͶ ¤¤¤¤¤Å¤«¤· #CNS ÈÓÄÍ»Ô ¤¤¤¤¤â¤ê¤ä¤Þ #CN ÈÓÀ¹»³ ¤¤¤¤¤ä¤Þ¤· #CNS ÈÓ»³»Ô ¤¤¤¨¤á¤ó #CN ¥¤¥¨¥á¥ó ¤¤¤¯¤Î¤¯ #CNS À¸Ìî¶è ¤¤¤±¤¸¤ê #CN ÃÓ¿¬ ¤¤¤±¤¸¤ê¤ª¤ª¤Ï¤· #CN ÃÓ¿¬Âç¶¶ ¤¤¤±¤À¤· #CNS ÃÓÅÄ»Ô ¤¤¤±¤Î¤Ï¤¿ #CN ÃÓ¥Îü ¤¤¤±¤Ö¤¯¤í¤»¤ó #CNS ÃÓÂÞÀþ ¤¤¤³¤Þ¤· #CNS À¸¶ð»Ô ¤¤¤µ¤Ï¤ä¤· #CNS ´ÒÁá»Ô ¤¤¤·¤ª¤«¤· #CNS Àв¬»Ô ¤¤¤·¤«¤ï¤· #CNS ÀÐÀî»Ô ¤¤¤·¤«¤ï¤Á¤ç¤¦ #CNS ÀÐÀîÄ® ¤¤¤·¤¬¤­¤· #CNS ÀгÀ»Ô ¤¤¤·¤¬¤­¤¸¤Þ #CN ÀгÀÅç ¤¤¤·¤Î¤Þ¤­¤· #CNS Àд¬»Ô ¤¤¤¹¤¿¤ó¤Ö¡¼¤ë #CN ¥¤¥¹¥¿¥ó¥Ö¡¼¥ë ¤¤¤¹¤é¤Þ¤Ð¡¼¤É #CN ¥¤¥¹¥é¥Þ¥Ð¡¼¥É ¤¤¤º¤ß #CN ½Ð¿å Àô ÏÂÀô ¤¤¤º¤ß¤ª¤ª¤Ä¤· #CNS ÀôÂçÄÅ»Ô ¤¤¤º¤ß¤µ¤Î¤· #CNS Àôº´Ìî»Ô ¤¤¤º¤ß¤· #CNS ½Ð¿å»Ô Àô»Ô ÏÂÀô»Ô ¤¤¤º¤â¤· #CNS ½Ð±À»Ô ¤¤¤»¤­ #CN °äÀ× ¤¤¤»¤µ¤­¤· #CNS °ËÀªºê»Ô ¤¤¤»¤¶¤­ #CN °ËÀªº´ÌÚ °ËÀªºê ¤¤¤»¤· #CNS °ËÀª»Ô ¤¤¤»¤Ï¤é¤· #CNS °ËÀª¸¶»Ô ¤¤¤½¤´¤¯ #CNS °ë»Ò¶è ¤¤¤¿¤Ð¤·¤¯ #CNS ÈͶ¶è ¤¤¤¿¤ß¤· #CNS °Ëð»Ô ¤¤¤Á¤«¤ï¤· #CNS »ÔÀî»Ô ¤¤¤Á¤Î¤»¤­¤· #CNS °ì´Ø»Ô ¤¤¤Á¤Î¤ß¤ä¤· #CNS °ìµÜ»Ô ¤¤¤Á¤Ï¤é¤· #CNS »Ô¸¶»Ô ¤¤¤Á¤Ð¤ó¤¬¤¤ #CN °ìÈÖ³¹ ¤¤¤Ä¤«¤¤¤Á¤»¤ó #CNS ¸ÞÆü»ÔÀþ ¤¤¤Ä¤¯¤·¤Þ #CN ¸·Åç ¤¤¤È¤¤¤¬¤ï¤· #CNS »åµûÀî»Ô ¤¤¤È¤¦¤· #CNS °ËÅì»Ô ¤¤¤È¤Þ¤ó¤· #CNS »åËþ»Ô ¤¤¤Ê¤®¤· #CNS °ð¾ë»Ô ¤¤¤Ê¤¶¤ï¤· #CNS °ðÂô»Ô ¤¤¤Ê¤· #CNS °ËÆá»Ô ¤¤¤Ê¤ï¤·¤í¤³ #CN ÃöÉÄÂå¸Ð ¤¤¤Ì¤ä¤Þ¤· #CNS ¸¤»³»Ô ¤¤¤Ð¤é¤­ #CN °ñ¾ë °ñÌÚ ¤¤¤Ð¤é¤­¤· #CNS °ñÌÚ»Ô ¤¤¤Ð¤é¤· #CNS °æ¸¶»Ô ¤¤¤Ö¤¹¤­¤· #CNS »Ø½É»Ô ¤¤¤Þ¤¤¤Á¤· #CNS º£»Ô»Ô ¤¤¤Þ¤¶¤È #CN º£Î¤ ¤¤¤Þ¤Ð¤· #CN º£¶¶ ¤¤¤Þ¤Ð¤ê¤· #CNS º£¼£»Ô ¤¤¤Þ¤ê¤· #CNS °ËËüΤ»Ô ¤¤¤è¤· #CNS °Ëͽ»Ô ¤¤¤è¤ß¤·¤Þ¤· #CNS °Ëͽ»°Åç»Ô ¤¤¤é¤¯ #CN ¥¤¥é¥¯ ¤¤¤é¤ó #CN ¥¤¥é¥ó ¤¤¤ê¤Î¤¤ #CN ¥¤¥ê¥Î¥¤ ¤¤¤ê¤Õ¤Í #CN ÆþÁ¥ ¤¤¤ë¤Þ¤· #CNS Æþ´Ö»Ô ¤¤¤ï¤¤¤· #CNS ´ä°æ»Ô ¤¤¤ï¤­¤· #CNS ¤¤¤ï¤­»Ô ¤¤¤ï¤¯¤Ë¤· #CNS ´ä¹ñ»Ô ¤¤¤ï¤¯¤é¤· #CNS ´äÁÒ»Ô ¤¤¤ï¤¿¤· #CNS ÈØÅÄ»Ô ¤¤¤ï¤Ä¤« #CN ´äÄÍ ¤¤¤ï¤Ä¤­¤· #CNS ´äÄÐ»Ô ¤¤¤ï¤Ì¤Þ¤· #CNS ´ä¾Â»Ô ¤¤¤ï¤ß¤¶¤ï¤· #CNS ´ä¸«Âô»Ô ¤¤¤ï¤â¤È¤Á¤ç¤¦ #CNS ´äËÜÄ® ¤¤¤ó¤« #CN ¥¤¥ó¥« ¤¤¤ó¤¸¤¢¤Ê #CN ¥¤¥ó¥¸¥¢¥Ê ¤¤¤ó¤É #CN ¥¤¥ó¥É °õÅÙ ¤¤¤ó¤É¤Í¤·¤¢ #CN ¥¤¥ó¥É¥Í¥·¥¢ ¤¤¤ó¤Î¤·¤Þ¤· #CNS °øÅç»Ô ¤¦¤£¡¼¤ó #CN ¥¦¥£¡¼¥ó ¤¦¤£¤¹¤³¤ó¤·¤ó #CN ¥¦¥£¥¹¥³¥ó¥·¥ó ¤¦¤£¤ó¤È¤Õ¤¯ #CN ¥¦¥£¥ó¥È¥Õ¥¯ ¤¦¤§¤ê¤ó¤È¤ó #CN ¥¦¥§¥ê¥ó¥È¥ó ¤¦¤¨¤À¤· #CNS ¾åÅÄ»Ô ¤¦¤¨¤Î¤· #CNS ¾åÌî»Ô ¤¦¤©¡¼¤ë¤¬¤¤ #CN ¥¦¥©¡¼¥ë³¹ ¤¦¤ª¤Å¤· #CNS µûÄÅ»Ô ¤¦¤¬¤ó¤À #CN ¥¦¥¬¥ó¥À ¤¦¤­¤ç¤¦¤¯ #CNS ±¦µþ¶è ¤¦¤¯¤é¤¤¤Ê #CN ¥¦¥¯¥é¥¤¥Ê ¤¦¤µ¤· #CNS ±§º´»Ô ¤¦¤·¤¯¤Ì¤Þ #CN µíµ×¾Â ¤¦¤·¤´¤á #CN µí¹þ ¤¦¤·¤Ö¤«¤· #CNS µí¿¼»Ô ¤¦¤¸¤· #CNS ±§¼£»Ô ¤¦¤¹¤­¤· #CNS ±±µÏ»Ô ¤¦¤¹¤¶¤ó #CN Í­¼î»³ ¤¦¤º¤Ù¤¯ #CN ¥¦¥º¥Ù¥¯ ¤¦¤º¤Þ¤µ #CN ÂÀ¿Á ¤¦¤¿¤·¤Ê¤¤¤· #CNS ²Î»ÖÆâ»Ô ¤¦¤Á¤µ¤¤¤ï¤¤¤Á¤ç¤¦ #CNS Æâ¹¬Ä® ¤¦¤Ä¤¯¤·¤¬¤Ï¤é #CN Èþ¥±¸¶ ¤¦¤È¤· #CNS ±§ÅÚ»Ô ¤¦¤Ù¤· #CNS ±§Éô»Ô ¤¦¤é¤¬ #CN ±º²ì ¤¦¤é¤¸¤ª¤¹¤È¤¯ #CN ¥¦¥é¥¸¥ª¥¹¥È¥¯ ¤¦¤é¤½¤¨¤· #CNS ±ºÅº»Ô ¤¦¤é¤ä¤¹¤· #CNS ±º°Â»Ô ¤¦¤é¤ó¤Ð¡¼¤È¤ë #CN ¥¦¥é¥ó¥Ð¡¼¥È¥ë ¤¦¤ë¤¬¤¢¤¤ #CN ¥¦¥ë¥°¥¢¥¤ ¤¦¤ï¤¸¤Þ¤· #CNS ±§ÏÂÅç»Ô ¤¦¤ó¤¼¤ó¤À¤± #CN ±ÀÀç³Ù ¤¨¤¤¤³¤¯ #CN ±Ñ¹ñ ¤¨¤¤¤¿¤¤ #CN ±ÊÂå ¤¨¤­¤Þ¤¨ #CN ±ØÁ° ¤¨¤µ¤·¤· #CNS ¹¾»É»Ô ¤¨¤¸¤ó¤Ð¤é #CN ¥¨¥¸¥ó¥Ð¥é ¤¨¤¹¤È¤Ë¤¢ #CN ¥¨¥¹¥È¥Ë¥¢ ¤¨¤Á¤ª¤Ô¤¢ #CN ¥¨¥Á¥ª¥Ô¥¢ ¤¨¤É¤¬¤ï¤¯ #CNS ¹¾¸ÍÀî¶è ¤¨¤É¤¬¤ï¤Ð¤· #CN ¹¾¸ÍÀî¶¶ ¤¨¤É¤Ü¤ê #CN ¹¾¸ÍËÙ ¤¨¤Ê¤· #CNS ·ÃÆá»Ô ¤¨¤Ë¤ï¤· #CNS ·ÃÄí»Ô ¤¨¤Ó¤¹ #CN ·ÃÈæ¼÷ ·ÃÈþ¿Ü ¤¨¤Ó¤Ê¤· #CNS ³¤Ï·Ì¾»Ô ¤¨¤Ó¤Î¤· #CNS ¤¨¤Ó¤Î»Ô ¤¨¤Ù¤Ä¤· #CNS ¹¾ÊÌ»Ô ¤¨¤Ù¤ì¤¹¤È #CN ¥¨¥Ù¥ì¥¹¥È ¤¨¤Ü¤·¤À¤± #CN ±¨Ë¹»Ò³Ù ¤¨¤ê¤È¤ê¤¢ #CN ¥¨¥ê¥È¥ê¥¢ ¤¨¤ë¤µ¤ì¤à #CN ¥¨¥ë¥µ¥ì¥à ¤¨¤ì¤Ð¤ó #CN ¥¨¥ì¥Ð¥ó ¤¨¤ó¤¶¤ó¤· #CNS ±ö»³»Ô ¤¨¤ó¤Æ¤Ù #CN ¥¨¥ó¥Æ¥Ù ¤ª¡¼¤¯¤é¤ó¤É #CN ¥ª¡¼¥¯¥é¥ó¥É ¤ª¡¼¤È¤Ü¤ë¤¿ #CN ¥ª¡¼¥È¥Ü¥ë¥¿ ¤ª¤¦¤á¤· #CNS ÀÄÇß»Ô ¤ª¤ª¤¤¤º¤ß¤¬¤¯¤¨¤ó #CN ÂçÀô³Ø±à ¤ª¤ª¤¤¤Þ¤Á¤»¤ó #CNS Âç°æÄ®Àþ ¤ª¤ª¤«¤ï¤· #CNS ÂçÀî»Ô ¤ª¤ª¤¬¤­¤· #CNS Âç³À»Ô ¤ª¤ª¤®¤Þ¤Á #CNS ÀðÄ® ¤ª¤ª¤¯¤Á¤· #CNS Âç¸ý»Ô ¤ª¤ª¤µ¤«¤ï¤ó #CN ÂçºåÏÑ ¤ª¤ª¤¸¤Þ #CN ÂçÅç ¤ª¤ª¤º¤· #CNS Âç½§»Ô ¤ª¤ª¤¿¤¯ #CNS ÂçÅÄ¶è ¤ª¤ª¤¿¤±¤· #CNS ÂçÃÝ»Ô ¤ª¤ª¤¿¤· #CNS ÂÀÅÄ»Ô ¤ª¤ª¤¿¤ï¤é¤· #CNS ÂçÅĸ¶»Ô ¤ª¤ª¤À¤· #CNS ÂçÅÄ»Ô ¤ª¤ª¤À¤Æ¤· #CNS Âç´Û»Ô ¤ª¤ª¤Ä¤­¤· #CNS Âç·î»Ô ¤ª¤ª¤Æ¤Þ¤Á #CNS Âç¼êÄ® ¤ª¤ª¤Ç¤ó¤Þ¤Á¤ç¤¦ #CNS ÂçÅÁÇÏÄ® ¤ª¤ª¤É¤ª¤ê #CN ÂçÄÌ¤ê ¤ª¤ª¤Î¤· #CNS ÂçÌî»Ô ¤ª¤ª¤Î¤¸¤ç¤¦¤· #CNS ÂçÌî¾ë»Ô ¤ª¤ª¤Õ¤Ê¤È¤· #CNS ÂçÁ¥ÅÏ»Ô ¤ª¤ª¤Ö¤· #CNS ÂçÉÜ»Ô ¤ª¤ª¤Þ¤¬¤ê¤· #CNS Âç¶Ê»Ô ¤ª¤ª¤Þ¤Á¤· #CNS ÂçÄ®»Ô ¤ª¤ª¤ß¤Ï¤Á¤Þ¤ó #CN ¶á¹¾È¬È¨ ¤ª¤ª¤ß¤Ï¤Á¤Þ¤ó¤· #CNS ¶á¹¾È¬È¨»Ô ¤ª¤ª¤ß¤ä¤· #CNS ÂçµÜ»Ô ¤ª¤ª¤à¤¿¤· #CNS Âç̶ÅÄ»Ô ¤ª¤ª¤à¤é¤· #CNS Âç¼»Ô ¤ª¤ª¤è¤É¤¯ #CNS ÂçÍä¶è ¤ª¤«¤¶¤­¤· #CNS ²¬ºê»Ô ¤ª¤«¤Á¤Þ¤Á #CNS ¸æÅÌÄ® ¤ª¤«¤ä¤· #CNS ²¬Ã«»Ô ¤ª¤¬¤· #CNS Ã˼¯»Ô ¤ª¤­¤Ê¤ï¤· #CNS ²­Æì»Ô ¤ª¤¯¤Ò¤À #CN ±üÈôÂÍ ¤ª¤¯¤é¤Û¤Þ¤·¤Æ¤£¡¼ #CN ¥ª¥¯¥é¥Û¥Þ¥·¥Æ¥£¡¼ ¤ª¤±¤¬¤ï¤· #CNS ²³Àî»Ô ¤ª¤±¤Ï¤¶¤Þ #CN ²³¶¹´Ö ¤ª¤´¤ª¤ê¤· #CNS ¾®·´»Ô ¤ª¤·¤¢¤² #CN ²¡¾å ¤ª¤¹¤í #CN ¥ª¥¹¥í ¤ª¤»¤¢¤Ë¤¢ #CN ¥¢¥»¥Ê¥Ë¥¢ ¤ª¤¿¤ë¤· #CNS ¾®Ã®»Ô ¤ª¤¿¤ï #CN ¥ª¥¿¥ï ¤ª¤À¤­¤å¤¦ #CN ¾®ÅÄµÞ ¤ª¤À¤ï¤é¤· #CNS ¾®Åĸ¶»Ô ¤ª¤Â¤ä¤· #CNS ¾®Àéë»Ô ¤ª¤Ã¤¯¤¹¤Õ¤©¡¼¤É #CN ¥ª¥Ã¥¯¥¹¥Õ¥©¡¼¥É ¤ª¤Ç¤Ã¤µ #CN ¥ª¥Ç¥Ã¥µ ¤ª¤Î¤· #CNS ¾®Ìî»Ô ¤ª¤Î¤À¤· #CNS ¾®ÌîÅÄ»Ô ¤ª¤Î¤ß¤Á #CNS ÈøÆ» ¤ª¤Î¤ß¤Á¤· #CNS ÈøÆ»»Ô ¤ª¤Ð¤Ê¤¶¤ï¤· #CNS Èø²ÖÂô»Ô ¤ª¤Ð¤Þ¤· #CNS ¾®ÉÍ»Ô ¤ª¤Ó¤Ò¤í¤· #CNS ÂÓ¹­»Ô ¤ª¤Û¡¼¤Ä¤¯ #CN ¥ª¥Û¡¼¥Ä¥¯ ¤ª¤Þ¡¼¤ó #CN ¥ª¥Þ¡¼¥ó ¤ª¤ä¤Ù¤· #CNS ¾®ÌðÉô»Ô ¤ª¤ä¤Þ¤· #CNS ¾®»³»Ô ¤ª¤ê¤ó¤Ô¤¢ #CN ¥ª¥ê¥ó¥Ô¥¢ ¤ª¤ï¤»¤· #CNS ÈøÏÉ»Ô ¤ª¤ï¤ê¤¢¤µ¤Ò¤· #CNS ÈøÄ¥°°»Ô ¤ª¤ó¤»¤ó¤­¤ç¤¦ #CN ²¹Àô¶¿ ¤ª¤ó¤¿¤±¤µ¤ó #CN ¸æ³Ù»³ ¤«¤¤¤Å¤«¤· #CNS ³­ÄÍ»Ô ¤«¤¤¤Ê¤ó¤· #CNS ³¤Æî»Ô ¤«¤«¤ß¤¬¤Ï¤é¤· #CNS ³ÆÌ³¸¶»Ô ¤«¤¬¤· #CNS ²Ã²ì»Ô ¤«¤¯¤À¤· #CNS ³ÑÅÄ»Ô ¤«¤°¤é¤¶¤« #CN ¿À³Úºä ¤«¤±¤¬¤ï¤· #CNS ³ÝÀî»Ô ¤«¤³¤¬¤ï¤· #CNS ²Ã¸ÅÀî»Ô ¤«¤µ¤¤¤· #CNS ²ÃÀ¾»Ô ¤«¤µ¤ª¤«¤· #CNS ³Þ²¬»Ô ¤«¤µ¤Þ¤· #CNS ³Þ´Ö»Ô ¤«¤¶¤Õ #CN ¥«¥¶¥Õ ¤«¤·¤Ï¤é¤· #CNS ³à¸¶»Ô ¤«¤·¤Þ¤· #CNS ¼¯Åç»Ô ¤«¤·¤ï¤¶¤­¤· #CNS Çðºê»Ô ¤«¤·¤ï¤· #CNS Çð»Ô ¤«¤·¤ï¤é¤· #CNS Çð¸¶»Ô ¤«¤¹¤«¤Ù¤· #CNS ½ÕÆüÉô»Ô ¤«¤¹¤¬¤¤¤· #CNS ½ÕÆü°æ»Ô ¤«¤¹¤¬¤· #CNS ½ÕÆü»Ô ¤«¤¹¤¬¤Ç #CN ½ÕÆü½Ð ¤«¤¹¤È¤ê¡¼¤º #CN ¥«¥¹¥È¥ê¡¼¥º ¤«¤¹¤Ô¤«¤¤ #CN ¥«¥¹¥Ô³¤ ¤«¤»¤À¤· #CNS ²ÃÀ¤ÅÄ»Ô ¤«¤¾¤· #CNS ²Ã¿Ü»Ô ¤«¤¿¡¼¤ë #CN ¥«¥¿¡¼¥ë ¤«¤¿¤Î¤· #CNS ¸òÌî»Ô ¤«¤Ä¤¦¤é¤· #CNS ¾¡±º»Ô ¤«¤Ä¤·¤«¤¯ #CNS ³ë¾þ¶è ¤«¤Ä¤¿¤· #CNS ¾¡ÅÄ»Ô ¤«¤Ä¤ä¤Þ¤· #CNS ¾¡»³»Ô ¤«¤Å¤Î¤· #CNS ¼¯³Ñ»Ô ¤«¤È¤Þ¤ó¤º #CN ¥«¥È¥Þ¥ó¥º ¤«¤É¤Þ¤· #CNS Ìç¿¿»Ô ¤«¤Ê¤¬¤ï¤¯ #CNS ¿ÀÆàÀî¶è ¤«¤Ê¤¶¤ï¤¯ #CNS ¶âÂô¶è ¤«¤Ê¤¶¤ï¤Ö¤ó¤³ #CN ¶âÂôʸ¸Ë ¤«¤Ê¤Þ¤Á #CNS ¶âÄ® ¤«¤Ê¤ê¤¢ #CN ¥«¥Ê¥ê¥¢ ¤«¤Ë¤· #CNS ²Ä»ù»Ô ¤«¤Ì¤Þ¤· #CNS ¼¯¾Â»Ô ¤«¤Î¤ä¤· #CNS ¼¯²°»Ô ¤«¤Ö¡¼¤ë #CN ¥«¥Ö¡¼¥ë ¤«¤Ö¤­ #CN ²ÎÉñ´ì ¤«¤Ö¤­¤Á¤ç¤¦ #CNS ²ÎÉñ´ìÄ® ¤«¤Ö¤È¤Þ¤Á #CNS ³õÄ® ¤«¤×¡¼¤ë #CN ¥«¥×¡¼¥ë ¤«¤Ü¤Ù¤ë¤Ç #CN ¥«¥Ü¥Ù¥ë¥Ç ¤«¤Þ¤¤¤·¤· #CNS ³øÀÐ»Ô ¤«¤Þ¤¬¤ä¤· #CNS ³ù¥öë»Ô ¤«¤Þ¤¯¤é¤· #CNS ³ùÁÒ»Ô ¤«¤ß¤ª¤ª¤ª¤« #CN ¾åÂ粬 ¤«¤ß¤¬¤¿ #CN ¾åÊý ¤«¤ß¤®¤ç¤¦¤¯ #CNS ¾åµþ¶è ¤«¤ß¤¿¤«¤¤¤É #CN ¾å¹â°æ¸Í ¤«¤ß¤Ê¤ê¤â¤ó #CN ÍëÌç ¤«¤ß¤Î¤² #CN ¾åÌîÌÓ ¤«¤ß¤Î¤ä¤Þ¤· #CNS ¾å»³»Ô ¤«¤ß¤Õ¤¯¤ª¤«¤· #CNS ¾åÊ¡²¬»Ô ¤«¤ß¤ä¤Á¤ç¤¦ #CNS ¿ÀëĮ ¤«¤à¤Á¤ã¤Ã¤« #CN ¥«¥à¥Á¥ã¥Ã¥« ¤«¤á¤¢¤ê #CN µµÍ­ ¤«¤á¤¤¤É #CN µµ¸Í ¤«¤á¤ª¤«¤· #CNS µµ²¬»Ô ¤«¤á¤ä¤Þ¤· #CNS µµ»³»Ô ¤«¤á¤ë¡¼¤ó #CN ¥«¥á¥ë¡¼¥ó ¤«¤â¤¬¤ï¤· #CNS ³ûÀî»Ô ¤«¤â¤· #CNS ²ÃÌÐ»Ô ¤«¤ä¤Ð #CN ³ý¾ì ¤«¤ä¤Ð¤Á¤ç¤¦ #CNS ³ý¾ìÄ® ¤«¤é¤«¤¹ #CN ¥«¥é¥«¥¹ ¤«¤é¤¹¤â¤ê #CN ±¨¿¹ ¤«¤é¤Ä¤· #CNS ÅâÄÅ»Ô ¤«¤é¤Û¤ê¤Á¤ç¤¦ #CNS ¶õËÙÄ® ¤«¤ê¤Ö #CN ¥«¥ê¥Ö ¤«¤ê¤Ö¤«¤¤ #CN ¥«¥ê¥Ö³¤ ¤«¤ê¤ä¤· #CNS ´¢Ã«»Ô ¤«¤ë¤«¤Ã¤¿ #CN ¥«¥ë¥«¥Ã¥¿ ¤«¤ë¤¬¤ê #CN ¥«¥ë¥¬¥ê ¤«¤ï¤°¤Á¤· #CNS Àî¸ý»Ô ¤«¤ï¤´¤¨¤· #CNS Àî±Û»Ô ¤«¤ï¤µ¤­¤¯ #CNS Àîºê¶è ¤«¤ï¤Á¤Ê¤¬¤Î¤· #CNS ²ÏÆâĹÌî»Ô ¤«¤ï¤Ë¤·¤· #CNS ÀîÀ¾»Ô ¤«¤ï¤Î¤¨¤· #CNS ÀîÇ·¹¾»Ô ¤«¤ï¤é¤Þ¤Á #CNS ²Ï¸¶Ä® ´¤Ä® ¤«¤ó¤ª¤ó¤¸¤· #CNS ´Ñ²»»û»Ô ¤«¤ó¤³¤¯ #CN ´Ú¹ñ Âç´Ú̱¹ñ ¤«¤ó¤µ¤¤ #CN ´ØÀ¾ ¤«¤ó¤¶¤¹¤·¤Æ¤£¡¼ #CN ¥«¥ó¥¶¥¹¥·¥Æ¥£¡¼ ¤«¤ó¤¸¤ç¤¦¤»¤ó #CNS ´Ä¾õÀþ ¤«¤ó¤È¤¦ #CN ´ØÅì ¤«¤ó¤È¤¦¤Á¤Û¤¦ #CN ´ØÅìÃÏÊý ¤«¤ó¤Ï¤Ã¤·¤å¤¦ #CN ´ØÈ¬½£ ¤«¤ó¤Ñ¤é #CN ¥«¥ó¥Ñ¥é ¤«¤ó¤Ü¤¸¤¢ #CN ¥«¥ó¥Ü¥¸¥¢ ¤¬¡¼¤Ê #CN ¥¬¡¼¥Ê ¤¬¤¤¤¢¤Ê #CN ¥¬¥¤¥¢¥Ê ¤¬¤¯¤²¤¤¤À¤¤¤¬¤¯ #CN ³Ø·ÝÂç³Ø ¤¬¤Ü¤í¡¼¤Í #CN ¥¬¥Ü¥í¡¼¥Í ¤¬¤Ü¤ó #CN ¥¬¥Ü¥ó ¤¬¤Þ¤´¤ª¤ê¤· #CNS ³÷·´»Ô ¤¬¤ó¤Ó¤¢ #CN ¥¬¥ó¥Ó¥¢ ¤­¤¨¤Õ #CN ¥­¥¨¥Õ ¤­¤¬¤ê #CN ¥­¥¬¥ê ¤­¤¯¤Á¤· #CNS µÆÃÓ»Ô ¤­¤µ¤é¤Å¤· #CNS ÌÚ¹¹ÄÅ»Ô ¤­¤¶¤­¤³ #CN ÌÚºê¸Ð ¤­¤·¤Ë¤ç¤Õ #CN ¥­¥·¥Ë¥ç¥Õ ¤­¤·¤ï¤À¤· #CNS ´ßÏÂÅÄ»Ô ¤­¤¿¤¢¤ë¤×¤¹ #CN ËÌ¥¢¥ë¥×¥¹ ¤­¤¿¤¤¤Ð¤é¤­¤· #CNS Ḛ̈ñ¾ë»Ô ¤­¤¿¤«¤¿¤· #CNS ´î¿Êý»Ô ¤­¤¿¤«¤ß¤· #CNS Ë̾å»Ô ¤­¤¿¤«¤ó¤È¤¦ #CN ËÌ´ØÅì ¤­¤¿¤¯ #CNS ËÌ¶è ¤­¤¿¤»¤ó¤¸¤å #CN ËÌÀé½» ¤­¤¿¤¿¤¤¤»¤¤¤è¤¦ #CN ËÌÂçÀ¾ÍÎ ¤­¤¿¤ß¤· #CNS Ë̸«»Ô ¤­¤¿¤â¤È¤· #CNS ËÌËÜ»Ô ¤­¤Ä¤­¤· #CNS µÏÃÛ»Ô ¤­¤È #CN ¥­¥È ¤­¤Ì¤¿ #CN µÎ ¤­¤×¤í¤¹ #CN ¥­¥×¥í¥¹ ¤­¤Ü¤¦¤Û¤¦ #CN ´î˾Êö ¤­¤ß¤Ä¤· #CNS ·¯ÄÅ»Ô ¤­¤ã¤ó¤Ù¤é #CN ¥­¥ã¥ó¥Ù¥é ¤­¤å¡¼¤Ð #CN ¥­¥å¡¼¥Ð ¤­¤å¤¦¤·¤å¤¦¤Á¤Û¤¦ #CN ¶å½£ÃÏÊý ¤­¤ç¤¦¤Ð¤· #CN µþ¶¶ ¤­¤ç¤¦¤Þ¤Á¤Ü¤ê #CN µþÄ®ËÙ ¤­¤è¤»¤· #CNS À¶À¥»Ô ¤­¤ê¤·¤Þ¤ä¤Þ #CN ̸Å绳 ¤­¤ê¤Ð¤¹ #CN ¥­¥ê¥Ð¥¹ ¤­¤ê¤å¤¦¤· #CNS ¶ÍÀ¸»Ô ¤­¤ë¤®¤¹ #CN ¥­¥ë¥®¥¹ ¤­¤ó¤­¤Á¤Û¤¦ #CN ¶áµ¦ÃÏÊý ¤­¤ó¤°¤¹¤È¤ó #CN ¥­¥ó¥°¥¹¥È¥ó ¤­¤ó¤·¤Á¤ç¤¦ #CNS ¶Ó»åÄ® ¤­¤ó¤·¤ã¤µ #CN ¥­¥ó¥·¥ã¥µ ¤®¤Ë¤¢ #CN ¥®¥Ë¥¢ ¤®¤Ë¤¢¤Ó¤µ¤¦ #CN ¥®¥Ë¥¢¥Ó¥µ¥¦ ¤®¤Î¤ï¤ó¤· #CNS µ¹ÌîÏÑ»Ô ¤®¤ç¤¦¤À¤· #CNS ¹ÔÅÄ»Ô ¤®¤ç¤¦¤È¤¯ #CN ¹ÔÆÁ ¤®¤ó¤¶¤»¤ó #CNS ¶äºÂÀþ ¤¯¤¢¤é¤ë¤ó¤×¡¼¤ë #CN ¥¯¥¢¥é¥ë¥ó¥×¡¼¥ë ¤¯¤¦¤§¡¼¤È #CN ¥¯¥¦¥§¡¼¥È ¤¯¤¦¤³¤¦¤»¤ó #CNS ¶õ¹ÁÀþ ¤¯¤¬¤ä¤Þ #CN µ×²æ»³ ¤¯¤­¤· #CNS µ×´î»Ô ¤¯¤µ¤Ä¤· #CNS ÁðÄÅ»Ô ¤¯¤·¤­¤Î¤· #CNS ¶úÌÚÌî»Ô ¤¯¤·¤Þ¤· #CNS ¶ú´Ö»Ô ¤¯¤·¤í¤· #CNS ¶üÏ©»Ô ¤¯¤¸¤· #CNS µ×»ü»Ô ¤¯¤¸¤å¤¦¤µ¤ó #CN µ×½»»³ ¤¯¤¸¤ç¤¦ #CN ¶å¾ò ¤¯¤º¤ê¤å¤¦¤¬¤ï #CN ¶åƬεÀî ¤¯¤À¤Þ¤Ä¤· #CNS ²¼¾¾»Ô ¤¯¤Ë¤¿¤Á¤· #CNS ¹ñΩ»Ô ¤¯¤Þ¤¬¤ä¤· #CNS ·§Ã«»Ô ¤¯¤Þ¤¬¤ï #CN µåËáÀî ¤¯¤Þ¤Î¤· #CNS ·§Ìî»Ô ¤¯¤é¤¤¤¹¤È¤Á¤ã¡¼¤Á #CN ¥¯¥é¥¤¥¹¥È¥Á¥ã¡¼¥Á ¤¯¤é¤·¤­¤· #CNS ÁÒÉß»Ô ¤¯¤é¤Þ¤¨ #CN ¢Á° ¤¯¤é¤è¤·¤· #CNS ÁÒµÈ»Ô ¤¯¤ë¤á¤· #CNS µ×Î±ÊÆ»Ô ¤¯¤ì¤· #CNS ¸â»Ô ¤¯¤í¤¤¤·¤· #CNS ¹õÀÐ»Ô ¤¯¤í¤¤¤½¤· #CNS ¹õ°ë»Ô ¤¯¤í¤µ¤­¤Þ¤Á #CNS ¹õºëÄ® ¤¯¤í¤Ù¤· #CNS ¹õÉô»Ô ¤¯¤ï¤Ê¤· #CNS ·¬Ì¾»Ô ¤°¤¢¤É¤ë¡¼¤× #CN ¥°¥¢¥É¥ë¡¼¥× ¤°¤¢¤à #CN ¥°¥¢¥à ¤°¤¢¤à¤È¤¦ #CN ¥°¥¢¥àÅç ¤°¤·¤«¤ï¤· #CNS ¶ñ»ÖÀî»Ô ¤°¤ê¡¼¤ó¤é¤ó¤É #CN ¥°¥ê¡¼¥ó¥é¥ó¥É ¤°¤ë¤¸¤ä #CN ¥°¥ë¥¸¥ä ¤°¤ì¤Ê¤À #CN ¥°¥ì¥Ê¥À ¤±¡¼¤×¤¿¤¦¤ó #CN ¥±¡¼¥×¥¿¥¦¥ó ¤±¤¤¤ª¤¦ #CN µþ²¦ ¤±¤¤¤»¤¤ #CN µþÀ® ¤±¤¤¤Ò¤ó¤­¤å¤¦¤³¤¦ #CN µþÉÍµÞ¹Ô ¤±¤¤¤Ò¤ó¤È¤¦¤Û¤¯ #CN µþÉÍÅìËÌ ¤±¤´¤ó¤Î¤¿¤­ #CN ²Ú¸·Âì ¤±¤»¤ó¤Ì¤Þ¤· #CNS µ¤Àç¾Â»Ô ¤±¤Ë¤¢ #CN ¥±¥Ë¥¢ ¤²¤ó¤«¤¤¤Ê¤À #CN ¸¼³¦Æç ¤³¡¼¤È¤¸¤Ü¤¢¡¼¤ë #CN ¥³¡¼¥È¥¸¥Ü¥¢¡¼¥ë ¤³¤¤¤·¤«¤ï #CN ¾®ÀÐÀî ¤³¤¤¤ï #CN ¾®´ä ¤³¤¦¤¨¤ó¤¸ #CN ¹â±ß»û ¤³¤¦¤«¤¤ #CN ²«³¤ ¹È³¤ ¤³¤¦¤·¤ç¤¯¤· #CNS ¹¹¾ý»Ô ¤³¤¦¤·¤ó¤¨¤Ä #CN ¹Ã¿®±Û ¤³¤¦¤¸¤Þ¤Á #CNS ¹íÄ® ¤³¤¦¤¸¤ä #CN äñë ¤³¤¦¤½¤¯¤É¤¦¤í #CN ¹â®ƻϩ ¤³¤¦¤È¤¦¤¯ #CNS ¹¾Åì¶è ¤³¤¦¤Ê¤ó #CN ¹¾Æî ¹ÁÆî ¤³¤¦¤Ê¤ó¤¯ #CNS ¹ÁÆî¶è ¤³¤¦¤Ê¤ó¤· #CNS ¹¾Æî»Ô ¤³¤¦¤Î¤¹¤· #CNS ¹ãÁã»Ô ¤³¤¦¤Ð¤¤¤Á¤ç¤¦ #CNS ¹ÈÇßÄ® ¤³¤¦¤Û¤¯¤¯ #CNS ¹ÁËÌ¶è ¤³¤¦¤é¤¤¤Ð¤· #CN ¹âÎï¶¶ ¤³¤ª¤ê¤ä¤Þ¤· #CNS ·´»³»Ô ¤³¤¬¤· #CNS ¸Å²Ï»Ô ¤³¤¬¤Í¤¤¤· #CNS ¾®¶â°æ»Ô ¤³¤¯¤µ¤¤¤¯¤¦¤³¤¦ #CN ¹ñºÝ¶õ¹Á ¤³¤¯¤Ö¤· #CNS ¹ñʬ»Ô ¤³¤¯¤Ö¤ó¤¸¤· #CNS ¹ñʬ»û»Ô ¤³¤¯¤é¤­¤¿¤¯ #CNS ¾®ÁÒËÌ¶è ¤³¤¯¤é¤ß¤Ê¤ß¤¯ #CNS ¾®ÁÒÆî¶è ¤³¤µ¤¤¤· #CNS ¸ÐÀ¾»Ô ¤³¤·¤¬¤ä¤· #CNS ±Ûë»Ô ¤³¤¿¤Ð¤ë #CN ¥³¥¿¥Ð¥ë ¤³¤À¤¤¤é¤· #CNS ¾®Ê¿»Ô ¤³¤Ã¤«¤¤ #CN ¹õ³¤ ¤³¤Ç¤ó¤Þ¤Á¤ç¤¦ #CNS ¾®ÅÁÇÏÄ® ¤³¤Ê¤¯¤ê #CN ¥³¥Ê¥¯¥ê ¤³¤Í¤Á¤«¤Ã¤È #CN ¥³¥Í¥Á¥«¥Ã¥È ¤³¤Î¤Ï¤Ê¤¯ #CNS º¡²Ö¶è ¤³¤Ð¤ä¤·¤· #CNS ¾®ÎÓ»Ô ¤³¤Ú¤ó¤Ï¡¼¤²¤ó #CN ¥³¥Ú¥ó¥Ï¡¼¥²¥ó ¤³¤Þ¤¨¤· #CNS ¹ý¹¾»Ô ¤³¤Þ¤¬¤¿¤± #CN ¶ð¥ö³Ù ¤³¤Þ¤¬¤Í¤· #CNS ¶ð¥öº¬»Ô ¤³¤Þ¤­¤· #CNS ¾®ËÒ»Ô ¤³¤Þ¤Ä¤· #CNS ¾®¾¾»Ô ¤³¤Þ¤Ä¤·¤Þ¤· #CNS ¾®¾¾Åç»Ô ¤³¤ß¤ä¤Á¤ç¤¦ #CNS ¾®µÜÄ® ¤³¤â¤í #CN ¥³¥â¥í ¾®½ô ¤³¤â¤í¤· #CNS ¾®½ô»Ô ¤³¤í¤ó¤Ó¤¢ #CN ¥³¥í¥ó¥Ó¥¢ ¤³¤í¤ó¤Ü #CN ¥³¥í¥ó¥Ü ¤³¤ó¤´ #CN ¥³¥ó¥´ ¤³¤ó¤´¤¦¤µ¤ó #CN ¶â¹ä»³ ¤´¤¦¤Ä¤· #CNS ¹¾ÄÅ»Ô ¤´¤³¤¯¤¸ #CN ¸î¹ñ»û ¤´¤·¤­¤Ì¤Þ #CN ¸Þ¿§¾Â ¤´¤·¤­¤ä¤Þ #CN ¸Þ¿§»³ ¤´¤·¤ç¤¬¤ï¤é¤· #CNS ¸Þ½êÀ»Ô ¤´¤¸¤ç¤¦¤· #CNS ¸ÞÛê»Ô ¤´¤»¤· #CNS ¸æ½ê»Ô ¤´¤»¤ó¤· #CNS ¸ÞÀô»Ô ¤´¤Ã¤È¤Û¡¼¤× #CN ¥´¥Ã¥È¥Û¡¼¥× ¤´¤Æ¤ó¤Ð¤· #CNS ¸æÅ¾ì»Ô ¤´¤Ü¤¦¤· #CNS ¸æË·»Ô ¤µ¤¤¤­¤· #CNS º´Çì»Ô ¤µ¤¤¤³ #CN À¾¸Ð ¤µ¤¤¤¸¤ç¤¦¤· #CNS À¾¾ò»Ô ¤µ¤¤¤¿¤Þ #CN ¤µ¤¤¤¿¤Þ ¤µ¤¤¤¿¤Þ¤· #CNS ¤µ¤¤¤¿¤Þ»Ô ¤µ¤¤¤È¤· #CNS À¾ÅÔ»Ô ¤µ¤¤¤ï¤¤¤¯ #CNS ¹¬¶è ¤µ¤¦¤¸¤¢¤é¤Ó¤¢ #CN ¥µ¥¦¥¸¥¢¥é¥Ó¥¢ ¤µ¤«¤¤¤· #CNS ºæ»Ô ¤µ¤«¤¤¤Ç¤· #CNS ºä½Ð»Ô ¤µ¤«¤¤¤ß¤Ê¤È¤· #CNS ¶­¹Á»Ô ¤µ¤«¤¿¤· #CNS ¼òÅÄ»Ô ¤µ¤«¤É¤· #CNS ºä¸Í»Ô ¤µ¤¬¤¨¤· #CNS ´¨²Ï¹¾»Ô ¤µ¤¬¤ß¤Ï¤é¤· #CNS ÁêÌϸ¶»Ô ¤µ¤­¤ç¤¦¤¯ #CNS º¸µþ¶è ¤µ¤¯¤· #CNS º´µ×»Ô ¤µ¤¯¤é¤¤¤· #CNS ºù°æ»Ô ¤µ¤¯¤é¤¬¤ª¤« #CN ºù¥öµÖ ¤µ¤¯¤é¤®¤Á¤ç¤¦ #CNS ºùÌÚÄ® ¤µ¤¯¤é¤· #CNS º´ÁÒ»Ô ¤µ¤¯¤é¤·¤ó¤Þ¤Á #CNS ºù¿·Ä® ¤µ¤¯¤é¤À¤â¤ó #CN ºùÅÄÌç ¤µ¤¯¤é¤Î¤ß¤ä #CN ºù¥ÎµÜ ¤µ¤µ¤Å¤« #CN ºûÄÍ ¤µ¤»¤Ü¤· #CNS º´À¤ÊÝ»Ô ¤µ¤É¤¬¤·¤Þ #CN º´ÅÏÅç ¤µ¤Ê¤¢ #CN ¥µ¥Ê¥¢ ¤µ¤Ê¤¤¤Á¤ç¤¦ #CNS º¸ÆâÄ® ¤µ¤Ê¤À¤ä¤Þ¤Á¤ç¤¦ #CNS ¿¿ÅÄ»³Ä® ¤µ¤Ì¤¢ #CN ¥µ¥Ì¥¢ ¤µ¤Î¤· #CNS º´Ìî»Ô ¤µ¤Ï¤é #CN ¥µ¥Ï¥é ¤µ¤Ð¤¨¤· #CNS »ª¹¾»Ô ¤µ¤Ð¤Ê #CN ¥µ¥Ð¥Ê ¤µ¤ä¤Þ¤· #CNS ¶¹»³»Ô ¤µ¤é¤¨¤Ü #CN ¥µ¥é¥¨¥Ü ¤µ¤ï¤é¤¯ #CNS ÁáÎÉ¶è ¤µ¤ï¤é¤· #CNS º´¸¶»Ô ¤µ¤ó¤²¤ó¤Â¤ã¤ä #CN »°¸®Ãã²° ¤µ¤ó¤µ¤ë¤Ð¤É¤ë #CN ¥µ¥ó¥µ¥ë¥Ð¥É¥ë ¤µ¤ó¤¸¤¨¤´ #CN ¥µ¥ó¥¸¥¨¥´ ¤µ¤ó¤¸¤ç¤¦¤· #CNS »°¾ò»Ô ¤µ¤ó¤À¤· #CNS »°ÅÄ»Ô ¤µ¤ó¤Á¤¢¤´ #CN ¥µ¥ó¥Á¥¢¥´ ¤µ¤ó¤È¤É¤ß¤ó¤´ #CN ¥µ¥ó¥È¥É¥ß¥ó¥´ ¤µ¤ó¤È¤á #CN ¥µ¥ó¥È¥á ¤µ¤ó¤È¤á¤×¤ê¤ó¤·¤Ú #CN ¥µ¥ó¥È¥á¥×¥ê¥ó¥·¥Ú ¤µ¤ó¤É¤Ë #CN ¥µ¥ó¥É¥Ë ¤µ¤ó¤Ñ¤¦¤í #CN ¥µ¥ó¥Ñ¥¦¥í ¤µ¤ó¤Õ¤¢¤ó #CN ¥µ¥ó¥Õ¥¢¥ó ¤µ¤ó¤Û¤» #CN ¥µ¥ó¥Û¥» ¤µ¤ó¤Ü¤ó¤Þ¤Ä #CN »°Ëܾ¾ ¤µ¤ó¤Þ¤ê¤Î #CN ¥µ¥ó¥Þ¥ê¥Î ¤¶¤¤¡¼¤ë #CN ¥¶¥¤¡¼¥ë ¤¶¤¤¤± #CN ºß²È ¤¶¤¤¤â¤¯¤Á¤ç¤¦ #CNS ºàÌÚÄ® ¤¶¤ª¤¦¤µ¤ó #CN ¢²¦»³ ¤¶¤Þ¤· #CNS ºÂ´Ö»Ô ¤¶¤ë¤Ä¤Ö¤ë¤¯ #CN ¥¶¥ë¥Ä¥Ö¥ë¥¯ ¤¶¤ó¤Ó¤¢ #CN ¥¶¥ó¥Ó¥¢ ¤·¤¢¤È¤ë #CN ¥·¥¢¥È¥ë ¤·¤¨¤é¤ì¤ª¤Í #CN ¥·¥¨¥é¥ì¥ª¥Í ¤·¤ª¤¬¤Þ #CN ±ö³ö ±ö³ø ¤·¤ª¤¬¤Þ¤· #CNS ±ö³ö»Ô ¤·¤ª¤¸¤ê¤· #CNS ±ö¿¬»Ô ¤·¤ª¤ß¤Ð¤· #CN ¼®¸«¶¶ ¤·¤«¤¤ #CN »à³¤ ¤·¤«¤´ #CN ¥·¥«¥´ ¤·¤­¤· #CNS »ÖÌÚ»Ô ¤·¤®¤µ¤ó #CN ¿®µ®»³ ¤·¤³¤¯¤Á¤Û¤¦ #CN »Í¹ñÃÏÊý ¤·¤¸¤ç¤¦¤Ê¤ï¤Æ #CN »Í¾òÆí ¤·¤¸¤ç¤¦¤Ê¤ï¤Æ¤· #CNS »Í¾òÆí»Ô ¤·¤¿¤Þ¤Á #CNS ²¼Ä® ¤·¤É¤Ë¡¼ #CN ¥·¥É¥Ë¡¼ ¤·¤Ê¤¬¤ï¤¯ #CNS ÉÊÀî¶è ¤·¤Ê¤Î¤Þ¤Á #CNS ¿®Ç»Ä® ¤·¤Î¤Î¤á #CN Åì±À ¤·¤Ð¤³¤¦¤¨¤ó #CN ¼Ç¸ø±à ¤·¤Ð¤¿¤· #CNS ¿·È¯ÅÄ»Ô ¤·¤Ð¤À¤¤¤â¤ó #CN ¼ÇÂçÌç ¤·¤Ö¤«¤ï¤· #CNS ½ÂÀî»Ô ¤·¤Ö¤ä¤¯ #CNS ½Âë¶è ¤·¤Ù¤Ä¤· #CNS »ÎÊÌ»Ô ¤·¤Þ¤À¤· #CNS ÅçÅÄ»Ô ¤·¤Þ¤Ð¤é¤· #CNS Å縶»Ô ¤·¤ß¤º¤· #CNS À¶¿å»Ô ¤·¤ß¤º¤À¤Ë¤Á¤ç¤¦ #CNS À¶¿åëĮ ¤·¤â¤®¤ç¤¦¤¯ #CNS ²¼µþ¶è ¤·¤â¤¿¤«¤¤¤É #CN ²¼¹â°æ¸Í ¤·¤â¤À¤· #CNS ²¼ÅÄ»Ô ¤·¤â¤À¤Æ¤· #CNS ²¼´Û»Ô ¤·¤â¤Ä¤Þ¤· #CNS ²¼ºÊ»Ô ¤·¤â¤Î¤»¤­¤· #CNS ²¼´Ø»Ô ¤·¤â¤Þ¤ë¤³ #CN ²¼´Ý»Ò ¤·¤ã¤ó¤¼¤ê¤¼ #CN ¥·¥ã¥ó¥¼¥ê¥¼ ¤·¤ç¤¦¤¸¤³ #CN Àº¿Ê¸Ð ¤·¤ç¤¦¤É¤·¤Þ #CN ¾®Æ¦Åç ¤·¤ç¤¦¤Ë¤å¤¦¤É¤¦ #CN ¾áÆýƶ ¤·¤ç¤¦¤Ð¤é¤· #CNS ¾±¸¶»Ô ¤·¤ç¤¦¤ï¤¯ #CNS ¾¼ÏÂ¶è ¤·¤ç¤È¤¦ #CN ½ôÅç ¤·¤é¤¦¤á #CN ÇòÇß ¤·¤é¤«¤ï¤· #CNS Çò²Ï»Ô ¤·¤é¤Í¤µ¤ó #CN Çòº¬»³ ¤·¤ê¤¢ #CN ¥·¥ê¥¢ ¤·¤í¤¤¤·¤¯ #CNS ÇòÀÐ¶è ¤·¤í¤¤¤·¤· #CNS ÇòÀÐ»Ô ¤·¤í¤«¤Í #CN Çò¶â ¤·¤í¤Í¤· #CNS Çòº¬»Ô ¤·¤ó¤¨¤Ä #CN ¿®±Û ¤·¤ó¤ª¤ª¤¯¤Ü #CN ¿·Âçµ×ÊÝ ¤·¤ó¤°¤¦¤· #CNS ¿·µÜ»Ô ¤·¤ó¤³¤À¤¤¤é #CN ¿·¾®Ê¿ ¤·¤ó¤µ¤¤¤Ð¤·¤¹¤¸ #CN ¿´ºØ¶¶¶Ú ¤·¤ó¤µ¤¯¤é¤À¤¤ #CN ¿·ºùÂæ ¤·¤ó¤·¤í¤· #CNS ¿·¾ë»Ô ¤·¤ó¤¸¤å¤¯¤®¤ç¤¨¤ó #CN ¿·½É¸æ±ñ ¤·¤ó¤¸¤å¤¯¤¯ #CNS ¿·½É¶è ¤·¤ó¤¸¤å¤ï¤ó #CN ¿¿¼îÏÑ ¤·¤ó¤¸¤ç¤¦¤· #CNS ¿·¾±»Ô ¤·¤ó¤¿¤Þ¤¬¤ï¤»¤ó #CNS ¿·¶ÌÀîÀþ ¤·¤ó¤È¤¦¤­¤ç¤¦¤³¤¯¤µ¤¤ #CN ¿·Åìµþ¹ñºÝ ¤·¤ó¤Ê¤ó¤è¤¦¤· #CNS ¿·ÆîÍÛ»Ô ¤·¤ó¤Ð¤· #CN ¿·¶¶ ¤·¤ó¤Þ¤Á #CNS ¿·Ä® ¤·¤ó¤ß¤Ê¤È¤· #CNS ¿·Ì«»Ô ¤¸¤§¤Î¤Ð #CN ¥¸¥§¥Î¥Ð ¤¸¤Ö¤Á #CN ¥¸¥Ö¥Á ¤¸¤ã¤«¤ë¤¿ #CN ¥¸¥ã¥«¥ë¥¿ ¤¸¤ã¤Þ¤¤¤« #CN ¥¸¥ã¥Þ¥¤¥« ¤¸¤ã¤ï #CN ¥¸¥ã¥ï ¤¸¤å¤¦¤¸¤ç¤¦ #CN ½½¾ò ¤¸¤å¤·¤ã¤ó¤Ù #CN ¥¸¥å¥·¥ã¥ó¥Ù ¤¸¤ç¡¼¤¸¤¢ #CN ¥¸¥ç¡¼¥¸¥¢ ¤¸¤ç¡¼¤¸¤¿¤¦¤ó #CN ¥¸¥ç¡¼¥¸¥¿¥¦¥ó ¤¸¤ç¤¦¤¨¤Ä¤· #CNS ¾å±Û»Ô ¤¸¤ç¤¦¤·¤å¤¦ #CN ¾å½£ ¤¸¤ç¤¦¤»¤­ #CN ¾ëÀ× ¤¸¤ç¤¦¤È¤¦¤¯ #CNS ¾ëÅì¶è ¤¸¤ç¤¦¤Ê¤ó¤¯ #CNS ¾ëÆî¶è ¤¸¤ç¤¦¤Ð¤ó¤»¤ó #CNS ¾ïÈ×Àþ ¤¸¤ç¤¦¤è¤¦¤· #CNS ¾ëÍÛ»Ô ¤¸¤ç¤Û¡¼¤ë #CN ¥¸¥ç¥Û¡¼¥ë ¤¸¤ó¤°¤¦¤Þ¤¨ #CN ¿ÀµÜÁ° ¤¸¤ó¤Å¤¦¤¬¤ï #CN ¿ÀÄÌÀî ¤¸¤ó¤Ê¤ó #CN ¿ÀÆî ¤¸¤ó¤Ð¤Ö¤¨ #CN ¥¸¥ó¥Ð¥Ö¥¨ ¤¸¤ó¤Ü¤¦¤Á¤ç¤¦ #CNS ¿ÀÊÝÄ® ¤¹¡¼¤À¤ó #CN ¥¹¡¼¥À¥ó ¤¹¤¤¤¿¤· #CNS ¿áÅÄ»Ô ¤¹¤¤¤É¤¦¤Ð¤· #CN ¿åÆ»¶¶ ¤¹¤¦¤§¡¼¤Ç¤ó #CN ¥¹¥¦¥§¥Ç¡¼¥ó ¤¹¤¨¤Ò¤í¤Á¤ç¤¦ #CNS Ëö¹­Ä® ¤¹¤«¤¬¤ï¤· #CNS ¿Ü²ìÀî»Ô ¤¹¤«¤ó¤¸¤Ê¤Ó¤¢ #CN ¥¹¥«¥ó¥¸¥Ê¥Ó¥¢ ¤¹¤®¤Ê¤ß¤¯ #CNS ¿ùÊÂ¶è ¤¹¤¯¤â¤· #CNS ½ÉÌÓ»Ô ¤¹¤µ¤­¤· #CNS ¿Üºê»Ô ¤¹¤¶¤«¤· #CNS ¿Üºä»Ô ¤¹¤º¤«¤· #CNS Î뼯»Ô ¤¹¤º¤· #CNS ¼î½§»Ô ¤¹¤½¤Î¤· #CNS ¿þÌî»Ô ¤¹¤È¤Ã¤¯¤Û¤ë¤à #CN ¥¹¥È¥Ã¥¯¥Û¥ë¥à ¤¹¤Ê¤¬¤ï¤· #CNS º½Àî»Ô ¤¹¤Ð #CN ¥¹¥Ð ¤¹¤Ú¤ê¤ª¤ë #CN ¥¹¥Ú¥ê¥ª¥ë ¤¹¤Þ¤¯ #CNS ¿ÜËá¶è ¤¹¤ß¤À¤¯ #CNS ËÏÅÄ¶è ¤¹¤ß¤Î¤¨¤¯ #CNS ½»Ç·¹¾¶è ¤¹¤ß¤è¤·¤¯ #CNS ½»µÈ¶è ¤¹¤ß¤è¤·¤Á¤ç¤¦ #CNS ½»µÈÄ® ¤¹¤â¤È¤· #CNS ½§ËÜ»Ô ¤¹¤ê¤é¤ó¤« #CN ¥¹¥ê¥é¥ó¥« ¤¹¤ï¤· #CNS ¿Ûˬ»Ô ¤¹¤ï¤¸¤é¤ó¤É #CN ¥¹¥ï¥¸¥é¥ó¥É ¤º¤·¤· #CNS ¿à»Ò»Ô ¤»¡¼¤·¤§¤ë #CN ¥»¡¼¥·¥§¥ë ¤»¤¤¤»¤­ #CN À»ÀØ ¤»¤¤¤É¤¯ #CN À¾ÆÈ ¤»¤¤¤è¤¦ #CN À¾ÍÎ ¤»¤­¤· #CNS ´Ø»Ô ¤»¤­¤É¤¦¤®¤Ë¤¢ #CN ÀÖÆ»¥®¥Ë¥¢ ¤»¤¿¤¬¤ä¤¯ #CNS À¤ÅÄë¶è ¤»¤Ã¤Ä¤· #CNS ÀÝÄÅ»Ô ¤»¤È¤· #CNS À¥¸Í»Ô ¤»¤Í¤¬¤ë #CN ¥»¥Í¥¬¥ë ¤»¤ä¤¯ #CNS À¥Ã«¶è ¤»¤ó¤«¤¯ #CN Àí³Õ ¤»¤ó¤¬¤¯¤¸ #CN Àô³Ù»û ¤»¤ó¤´¤¯ #CN ÀéÀÐ ¤»¤ó¤¸¤å #CN Àé½» ¤»¤ó¤¸¤å¤ª¤ª¤Ï¤· #CN Àé½»Âç¶¶ ¤»¤ó¤À¤¤ #CN ÀçÂæ ÀîÆâ ¤»¤ó¤À¤¤¤· #CNS ÀçÂæ»Ô ÀîÆâ»Ô ¤»¤ó¤È¤¸¤ç¡¼¤¸¤º #CN ¥»¥ó¥È¥¸¥ç¡¼¥¸¥º ¤»¤ó¤È¤Ó¤ó¤»¤ó¤È #CN ¥»¥ó¥È¥Ó¥ó¥»¥ó¥È ¤»¤ó¤È¤ë¤·¤¢ #CN ¥»¥ó¥È¥ë¥·¥¢ ¤»¤ó¤Ê¤ó¤· #CNS ÀôÆî»Ô ¤»¤ó¤Ð #CN Á¥¾ì ¤»¤ó¤Ð¤Á¤å¤¦¤ª¤¦ #CN Á¥¾ìÃæ±û ¤¼¤ó¤Ä¤¦¤¸¤· #CNS Á±ÄÌ»û»Ô ¤½¡¼¤ë¤º¤Ù¤ê #CN ¥½¡¼¥ë¥º¥Ù¥ê ¤½¤¦¤«¤· #CNS Áð²Ã»Ô ¤½¤¦¤¸¤ã¤· #CNS Áí¼Ò»Ô ¤½¤¦¤Ö¤»¤ó #CNS ÁíÉðÀþ ¤½¤¦¤Ö¤Û¤ó¤»¤ó #CNS ÁíÉðËÜÀþ ¤½¤¦¤Þ¤· #CNS ÁêÇÏ»Ô ¤½¤Õ¤£¤¢ #CN ¥½¥Õ¥£¥¢ ¤½¤Þ¤ê¤¢ #CN ¥½¥Þ¥ê¥¢ ¤½¤ì¤ó #CN ¥½¥Ó¥¨¥ÈϢˮ ¥½Ï¢ ¤½¤í¤â¤ó #CN ¥½¥í¥â¥ó ¤¾¤¦¤·¤¬¤ä #CN »¨»Ê¤¬Ã« ¤¿¤¤¤·¤ç¤¦¤¯ #CNS ÂçÀµ¶è ¤¿¤¤¤È¤¦¤¯ #CNS ÂæÅì¶è ¤¿¤¤¤Ø¤¤ #CN ÂÀÊ¿ ¤¿¤¤¤Ú¤¤ #CN ÂæËÌ ¤¿¤«¤¤¤·¤· #CNS ¹âÀÐ»Ô ¤¿¤«¤ª¤«¤· #CNS ¹â²¬»Ô ¤¿¤«¤µ¤­¤· #CNS ¹âºê»Ô ¤¿¤«¤µ¤´¤· #CNS ¹âº½»Ô ¤¿¤«¤·¤Þ¤ä #CN ¹âÅç²° ¤¿¤«¤Á¤Û¤Î¤ß¤Í #CN ¹âÀéÊæÊö ¤¿¤«¤Ä¤­¤· #CNS ¹âÄÐ»Ô ¤¿¤«¤Ä¤¯ #CNS ¹âÄÅ¶è ¤¿¤«¤Ê¤ï¤À¤¤ #CN ¹âÎØÂæ ¤¿¤«¤Ï¤®¤· #CNS ¹âÇë»Ô ¤¿¤«¤Ï¤·¤· #CNS ¹âÎÂ»Ô ¤¿¤«¤Ï¤Þ¤· #CNS ¹âÉÍ»Ô ¤¿¤«¤Þ¤¬¤Ï¤é #CN ¹âÅ·¸¶ ¤¿¤«¤ä¤Þ¤· #CNS ¹â»³»Ô ¤¿¤«¤é¤Å¤«¤· #CNS ÊõÄÍ»Ô ¤¿¤¬¤¸¤ç¤¦¤· #CNS ¿²ì¾ë»Ô ¤¿¤¬¤ï¤· #CNS ÅÄÀî»Ô ¤¿¤­¤«¤ï¤· #CNS ÂìÀî»Ô ¤¿¤­¤Î¤¬¤ï #CN ÂìÌîÀî ¤¿¤¯¤· #CNS ¿µ×»Ô ¤¿¤±¤ª¤· #CNS Éðͺ»Ô ¤¿¤±¤¿¤· #CNS ÃÝÅÄ»Ô ¤¿¤±¤Î¤Ä¤« #CN ÃݤÎÄÍ ¤¿¤±¤Ï¤é¤· #CNS Ãݸ¶»Ô ¤¿¤±¤Ð¤· #CN Ãݶ¶ ¤¿¤±¤Õ¤· #CNS ÉðÀ¸»Ô ¤¿¤·¤±¤ó¤È #CN ¥¿¥·¥±¥ó¥È ¤¿¤¸¤¯ #CN ¥¿¥¸¥¯ ¤¿¤¸¤ß¤· #CNS ¿¼£¸«»Ô ¤¿¤¿¤é¤¬¤ï #CN ¿¿ÎÉÀî ¤¿¤Á¤«¤ï¤· #CNS ΩÀî»Ô ¤¿¤Ä¤Î¤· #CNS ζÌî»Ô ¤¿¤Æ¤Ð¤ä¤·¤· #CNS ´ÛÎÓ»Ô ¤¿¤Æ¤ä¤Þ¤· #CNS ´Û»³»Ô ¤¿¤Ê¤·¤· #CNS ÅÄ̵»Ô ¤¿¤Ê¤Ù¤· #CNS ÅÄÊÕ»Ô ¤¿¤Ë¤Þ¤Á #CNS ëĮ ¤¿¤Ò¤Á #CN ¥¿¥Ò¥Á ¤¿¤Þ¤¬¤ï #CN ¿ËàÀî ¤¿¤Þ¤¬¤ï¤¸¤ç¤¦¤¹¤¤ #CN ¶ÌÀî¾å¿å ¤¿¤Þ¤¯ #CNS ¿Ëà¶è ¤¿¤Þ¤³¤»¤ó #CNS ¿Ëà¸ÐÀþ ¤¿¤Þ¤· #CNS ¿Ëà»Ô ¤¿¤Þ¤Ê¤· #CNS ¶Ì̾»Ô ¤¿¤Þ¤Î¤· #CNS ¶ÌÌî»Ô ¤¿¤Þ¤ì¤¤¤¨¤ó #CN ¿ËàÎî±à ¤¿¤é¤ï #CN ¥¿¥é¥ï ¤¿¤ê¤ó #CN ¥¿¥ê¥ó ¤¿¤ë¤ß¤¯ #CNS ¿â¿å¶è ¤¿¤ë¤ß¤º¤· #CNS ¿â¿å»Ô ¤¿¤ï¤é¤Á¤ç¤¦ #CNS Åĸ¶Ä® ¤À¡¼¤¦¤£¤ó #CN ¥À¡¼¥¦¥£¥ó ¤À¡¼¤¸¤ê¤ó #CN ¥À¡¼¥¸¥ê¥ó ¤À¤¤¤«¤ó¤ß¤ó¤³¤¯ #CN Âç´Ú̱¹ñ ¤À¤¤¤«¤ó¤ä¤Þ #CN Âå´±»³ ¤À¤¤¤¶¤ï #CN ÂåÂô ¤À¤¤¤·¤Þ¤¨ #CN Âç»ÕÁ° ¤À¤¤¤È¤¦¤· #CNS ÂçÅì»Ô ¤À¤¤¤â¤ó¤¸¤ä¤Þ #CN Âçʸ»ú»³ ¤À¤«¡¼¤ë #CN ¥À¥«¡¼¥ë ¤À¤¶¤¤¤Õ¤· #CNS ÂÀºËÉÜ»Ô ¤À¤Ã¤« #CN ¥À¥Ã¥« ¤À¤Æ¤· #CNS °Ëã»Ô ¤À¤Ö¤ê¤ó #CN ¥À¥Ö¥ê¥ó ¤À¤Þ¤¹¤«¤¹ #CN ¥À¥Þ¥¹¥«¥¹ ¤À¤ë¤¨¤¹¤µ¤é¡¼¤à #CN ¥À¥ë¥¨¥¹¥µ¥é¡¼¥à ¤Á¤§¤³¤¹¤ë¤Ð¤­¤¢ #CN ¥Á¥§¥³¥¹¥í¥Ð¥­¥¢ ¤Á¤§¤ê¤ã¤Ó¤ó¤¹¤¯ #CN ¥Á¥§¥ê¥ã¥Ó¥ó¥¹¥¯ ¤Á¤¬¤µ¤­¤· #CNS ³ý¥öºê»Ô ¤Á¤¯¤´¤¬¤ï #CN ÃÞ¸åÀî ¤Á¤¯¤´¤· #CNS ÃÞ¸å»Ô ¤Á¤¯¤µ¤¯ #CNS Àé¼ï¶è ¤Á¤¯¤·¤Î¤· #CNS ÃÞ»çÌî»Ô ¤Á¤°¤ê¤¹ #CN ¥Á¥°¥ê¥¹ ¤Á¤¿¤· #CNS Ãο»Ô ¤Á¤Á¤Ö¤· #CNS ÃáÉã»Ô ¤Á¤Á¤å¤¦¤«¤¤ #CNS ÃÏÃæ³¤ ¤Á¤Ã¤³¤¦ #CN ÃÛ¹Á ¤Á¤È¤»¤«¤é¤¹¤ä¤Þ #CN ÀéºÐ±¨»³ ¤Á¤È¤»¤· #CNS ÀéºÐ»Ô ¤Á¤É¤ê¤Á¤ç¤¦ #CNS ÀéĻĮ ¤Á¤Î¤· #CNS ³ýÌî»Ô ¤Á¤ã¤¦¤¹¤ä¤Þ #CN Ãã±±»³ ¤Á¤ã¤É #CN ¥Á¥ã¥É ¤Á¤ã¤ä¤Þ¤Á #CNS Ãã²°Ä® ¤Á¤å¡¼¤ê¤Ã¤Ò #CN ¥Á¥å¡¼¥ê¥Ã¥Ò ¤Á¤å¤¦¤ª¤¦¤¢¤Õ¤ê¤« #CN Ãæ±û¥¢¥Õ¥ê¥« ¤Á¤å¤¦¤ª¤¦¤¯ #CNS Ãæ±û¶è ¤Á¤å¤¦¤ª¤¦¤»¤ó #CNS Ãæ±ûÀþ ¤Á¤å¤¦¤« #CN Ãæ²Ú ¤Á¤å¤¦¤«¤¬¤¤ #CN Ãæ²Ú³¹ ¤Á¤å¤¦¤«¤ß¤ó¤³¤¯ #CN Ãæ²Ú̱¹ñ ¤Á¤å¤¦¤´¤¯ #CN Ãæ²Ú¿Í̱¶¦Ï¹ñ Ãæ¹ñ ¤Á¤å¤¦¤´¤¯¤Á¤Û¤¦ #CN Ãæ¹ñÃÏÊý ¤Á¤å¤¦¤¼¤ó¤¸¤³ #CN ÃæÁµ»û¸Ð ¤Á¤å¤¦¤È¤¦ #CN ÃæÅì ¤Á¤å¤¦¤Ë¤Á #CN ÃæÆü ¤Á¤å¤¦¤Ö¤Á¤Û¤¦ #CN ÃæÉôÃÏÊý ¤Á¤å¤Ë¤¹ #CN ¥Á¥å¥Ë¥¹ ¤Á¤ç¤¦¤«¤¤¤µ¤ó #CN Ä»³¤»³ ¤Á¤ç¤¦¤·¤· #CNS ĸ»Ò»Ô ¤Á¤ç¤¦¤¸¤ã¤Þ¤Á #CNS Ĺ¼ÔÄ® ¤Á¤ç¤¦¤Õ¤· #CNS Ä´ÉÛ»Ô ¤Á¤è¤¶¤­ #CN ÀéÂåºê ¤Á¤è¤À¤¯ #CNS ÀéÂåÅÄ¶è ¤Á¤è¤À¤»¤ó #CNS ÀéÂåÅÄÀþ ¤Á¤é¤Ê #CN ¥Á¥é¥Ê ¤Á¤ê¤å¤¦¤· #CNS ÃÎΩ»Ô ¤Á¤ó¤×¡¼ #CN ¥Á¥ó¥×¡¼ ¤Ä¤¯¤À #CN ÄÑ ¤Ä¤¯¤Ð¤µ¤ó #CN ÃÞÇÈ»³ ¤Ä¤¯¤ß¤· #CNS Äŵ׸«»Ô ¤Ä¤·¤Þ #CN ÂÐÇÏ ÄÅÅç ¤Ä¤·¤Þ¤· #CNS ÄÅÅç»Ô ¤Ä¤¸¤É¤¦ #CN ÄÔÆ² ¤Ä¤Á¤¦¤é¤· #CNS ÅÚ±º»Ô ¤Ä¤Ð¤á¤· #CNS ±í»Ô ¤Ä¤Ð¤ë #CN ¥Ä¥Ð¥ë ¤Ä¤Þ¤´ #CN ºÊ϶ ¤Ä¤ä¤Þ¤· #CNS ÄÅ»³»Ô ¤Ä¤ê¤¬¤Í¤Á¤ç¤¦ #CNS Äà¾âÄ® ¤Ä¤ë¤ª¤«¤· #CNS ÄᲬ»Ô ¤Ä¤ë¤¬¤· #CNS ÆØ²ì»Ô ¤Ä¤ë¤®¤µ¤ó #CN ·õ»³ ¤Ä¤ë¤· #CNS ÅÔα»Ô ¤Ä¤ë¤Þ¤­ #CN ¸¹´¬ ¤Ä¤ë¤ß¤¯ #CNS Äḫ¶è ¤Æ¤°¤·¤¬¤ë¤Ñ #CN ¥Æ¥°¥·¥¬¥ë¥Ñ ¤Æ¤Ø¤é¤ó #CN ¥Æ¥Ø¥é¥ó ¤Æ¤à¤º #CN ¥Æ¥à¥º ¤Æ¤ë¤¢¤Ó¤Ö #CN ¥Æ¥ë¥¢¥Ó¥Ö ¤Æ¤ó¤¢¤ó¤â¤ó #CN Å·°ÂÌç ¤Æ¤ó¤¸¤ó #CN Å·¿À ¤Æ¤ó¤¸¤ó¤Ð¤· #CN Å·¿À¶¶ ¤Æ¤ó¤É¤¦¤· #CNS ŷƸ»Ô ¤Æ¤ó¤Î¤¦¤¸¤¯ #CNS Å·²¦»û¶è ¤Æ¤ó¤Ñ¤¯¤¯ #CNS Å·Çò¶è ¤Æ¤ó¤ê¤· #CNS Å·Íý»Ô ¤Æ¤ó¤ê¤å¤¦¤· #CNS ŷε»Ô ¤Ç¤ó¤¨¤ó¤Á¤ç¤¦¤Õ #CN ÅıàÄ´ÉÛ ¤Ç¤ó¤Þ¡¼¤¯ #CN ¥Ç¥ó¥Þ¡¼¥¯ ¤È¡¼¤´ #CN ¥È¡¼¥´ ¤È¤¦¤«¤¤¤· #CNS Å쳤»Ô ¤È¤¦¤¬¤Í¤· #CNS Åì¶â»Ô ¤È¤¦¤­¤ç¤¦¤³¤¯¤µ¤¤ #CN Åìµþ¹ñºÝ ¤È¤¦¤­¤ç¤¦¤ï¤ó #CN ÅìµþÏÑ ¤È¤¦¤¶¤¤¤»¤ó #CNS ÅìÀ¾Àþ ¤È¤¦¤¸¤ç¤¦¤»¤ó #CNS Åì¾åÀþ ¤È¤¦¤É¤¯ #CN ÅìÆÈ ¤È¤¦¤Û¤¯¤Á¤Û¤¦ #CN ÅìËÌÃÏÊý ¤È¤¦¤Û¤¯¤Û¤ó¤»¤ó #CNS ÅìËÌËÜÀþ ¤È¤¦¤ä¤³ #CN ƶÌì¸Ð ¤È¤¦¤è¤¦¤Á¤ç¤¦ #CNS ÅìÍÛÄ® ¤È¤¦¤è¤· #CNS Åìͽ»Ô ¤È¤ª¤«¤Þ¤Á¤· #CNS ½½ÆüÄ®»Ô ¤È¤ª¤Î¤· #CNS ±óÌî»Ô ¤È¤­¤· #CNS ÅÚ´ô»Ô ¤È¤¯¤ä¤Þ¤· #CNS ÆÁ»³»Ô ¤È¤³¤Ê¤á¤· #CNS ¾ï³ê»Ô ¤È¤³¤í¤¶¤ï¤· #CNS ½êÂô»Ô ¤È¤´¤· #CN ¸Í±Û ¤È¤µ¤· #CNS ÅÚº´»Ô ¤È¤µ¤·¤ß¤º¤· #CNS ÅÚº´À¶¿å»Ô ¤È¤µ¤Ü¤ê #CN ÅÚº´ËÙ ¤È¤·¤Þ¤¨¤ó #CN Ë­Åç±à ¤È¤·¤Þ¤¯ #CNS Ë­Åç¶è ¤È¤¹¤· #CNS Ä»À´»Ô ¤È¤À¤· #CNS ¸ÍÅÄ»Ô ¤È¤Á¤ª¤· #CNS ÆÊÈø»Ô ¤È¤Á¤®¤· #CNS ÆÊÌÚ»Ô ¤È¤Ä¤«¤¯ #CNS ¸ÍÄÍ¶è ¤È¤Ê¤ß #CN âêÇÈ ¤È¤Ê¤ß¤· #CNS âêÇÈ»Ô ¤È¤Ð¤· #CNS Ä»±©»Ô ¤È¤Ð¤¿¤¯ #CNS ¸ÍȪ¶è ¤È¤Ó¤ê¤· #CN ¥È¥Ó¥ê¥· ¤È¤Þ¤³¤Þ¤¤¤· #CNS ÆÑ¾®ËÒ»Ô ¤È¤ß¤ª¤«¤· #CNS ÉÙ²¬»Ô ¤È¤è¤¢¤±¤· #CNS Ë­ÌÀ»Ô ¤È¤è¤ª¤«¤· #CNS Ë­²¬»Ô ¤È¤è¤«¤ï¤· #CNS Ë­Àî»Ô ¤È¤è¤µ¤«¤· #CNS Ë­±É»Ô ¤È¤è¤¹ #CN Ë­½§ ¤È¤è¤¿¤· #CNS Ë­ÅÄ»Ô ¤È¤è¤Ê¤«¤· #CNS Ë­Ãæ»Ô ¤È¤è¤Ï¤·¤· #CNS Ë­¶¶»Ô ¤È¤è¤Ò¤é¤¯ #CNS Ë­Ê¿¶è ¤È¤ê¤Ç¤· #CNS ¼è¼ê»Ô ¤È¤ê¤Ë¤À¡¼¤É¤È¤Ð¤´ #CN ¥È¥ê¥Ë¥À¡¼¥É¥È¥Ð¥´ ¤È¤ê¤Ý¤ê #CN ¥È¥ê¥Ý¥ê ¤È¤ë¤¯¤á¤ó #CN ¥È¥ë¥¯¥á¥ó ¤È¤ï¤À¤· #CNS ½½ÏÂÅÄ»Ô ¤È¤ó¤¬ #CN ¥È¥ó¥¬ ¤È¤ó¤¬¤ª¤¦¤³¤¯ #CN ¥È¥ó¥¬²¦¹ñ ¤È¤ó¤À¤Ð¤ä¤·¤· #CNS ÉÙÅÄÎÓ»Ô ¤É¡¼¤¦¡«¤¡¡¼ #CN ¥É¡¼¥ô¥¡¡¼ ¤É¡¼¤¦¡«¤¡¡¼¤«¤¤¤­¤ç¤¦ #CNS ¥É¡¼¥ô¥¡¡¼³¤¶® ¤É¡¼¤Ï #CN ¥É¡¼¥Ï ¤É¡¼¤Ð #CN ¥É¡¼¥Ð ¤É¡¼¤Ð¡¼ #CN ¥É¡¼¥Ð¡¼ ¤É¡¼¤Ð¡¼¤«¤¤¤­¤ç¤¦ #CN ¥É¡¼¥Ð¡¼³¤¶® ¤É¡¼¤Ð¤«¤¤¤­¤ç¤¦ #CN ¥É¡¼¥Ð³¤¶® ¤É¤¦¤´ #CN Æ»¸å ¤É¤¦¤È¤ó¤Ü¤ê #CN Æ»ÆÜËÙ ¤É¤Ö¤¤¤±¤¹¤¸ #CN ЧÃÓ¶Ú ¤É¤ß¤Ë¤« #CN ¥É¥ß¥Ë¥« ¤Ê¤¤¤¸¤§¤ê¤¢ #CN ¥Ê¥¤¥¸¥§¥ê¥¢ ¤Ê¤¤¤í¤Ó #CN ¥Ê¥¤¥í¥Ó ¤Ê¤¦¤ë #CN ¥Ê¥¦¥ë ¤Ê¤«¤¬¤ß #CN Ãæ¿À ¤Ê¤«¤¬¤ï¤¯ #CNS ÃæÀî¶è ¤Ê¤«¤®¤ç¤¦¤¯ #CNS Ãæµþ¶è ¤Ê¤«¤¯ #CNS Ãæ¶è ¤Ê¤«¤¹ #CN Ãæ½§ ¤Ê¤«¤Ä¤¬¤ï¤· #CNS ÃæÄÅÀî»Ô ¤Ê¤«¤Ä¤· #CNS ÃæÄÅ»Ô ¤Ê¤«¤Î¤¯ #CNS ÃæÌî¶è ¤Ê¤«¤Î¤· #CNS ÃæÌî»Ô ¤Ê¤«¤Î¤·¤Þ #CN Ãæ¥ÎÅç ÃæÇ·Åç ¤Ê¤«¤Î¤Ö #CN Ãæ±ä ¤Ê¤«¤Ï¤é¤¯ #CNS Ãæ¸¶¶è ¤Ê¤«¤Þ¤· #CNS Ãæ´Ö»Ô ¤Ê¤«¤ß¤Ê¤È¤· #CNS Æá²ÑÌ«»Ô ¤Ê¤«¤à¤é¤¯ #CNS ÃæÂ¼¶è ¤Ê¤«¤à¤é¤· #CNS ÃæÂ¼»Ô ¤Ê¤«¤á¤°¤í #CN ÃæÌܹõ ¤Ê¤«¤â¤º #CN ÃæÉ´ÀåÄ» ¤Ê¤¬¤¤¤· #CNS Űæ»Ô ¤Ê¤¬¤ª¤«¤­¤ç¤¦¤· #CNS Ĺ²¬µþ»Ô ¤Ê¤¬¤ª¤«¤· #CNS Ĺ²¬»Ô ¤Ê¤¬¤ª¤«¤Æ¤ó¤¸¤ó #CN Ĺ²¬Å·¿À ¤Ê¤¬¤¿¤¯ #CNS ĹÅÄ¶è ¤Ê¤¬¤¿¤Á¤ç¤¦ #CNS ±ÊÅÄÄ® ¤Ê¤¬¤È¤· #CNS ĹÌç»Ô ¤Ê¤¬¤Ï¤Þ¤· #CNS ĹÉÍ»Ô ¤Ê¤¬¤ì¤ä¤Þ¤· #CNS ή»³»Ô ¤Ê¤®¤µ¤ó #CN Æá´ô»³ ¤Ê¤´¤· #CNS ̾¸î»Ô ¤Ê¤¼¤· #CNS ̾À¥»Ô ¤Ê¤À¤¯ #CNS Æç¶è ¤Ê¤Ã¤½¡¼ #CN ¥Ê¥Ã¥½¡¼ ¤Ê¤È¤ê¤· #CNS ̾¼è»Ô ¤Ê¤Ê¤ª¤· #CNS ¼·Èø»Ô ¤Ê¤Ë¤ï¤¯ #CNS ϲ®¶è ¤Ê¤Ð¤ê¤· #CNS ̾ĥ»Ô ¤Ê¤Û¤È¤« #CN ¥Ê¥Û¥È¥« ¤Ê¤Ý¤ê #CN ¥Ê¥Ý¥ê ¤Ê¤ß¤Ó¤¢ #CN ¥Ê¥ß¥Ó¥¢ ¤Ê¤ß¤è¤± #CN ÇȽü ¤Ê¤á¤ê¤«¤ï¤· #CNS ³êÀî»Ô ¤Ê¤è¤í¤· #CNS ̾´ó»Ô ¤Ê¤é¤·¤Î¤· #CNS ½¬»ÖÌî»Ô ¤Ê¤ê¤¿¤· #CNS À®ÅÄ»Ô ¤Ê¤ë¤È¤· #CNS ÌÄÌç»Ô ¤Ê¤ë¤ß #CN Ìij¤ ¤Ê¤ó¤­ #CN Æîµª ¤Ê¤ó¤³¤¯¤· #CNS Æî¹ñ»Ô ¤Ê¤ó¤¿¤¤¤¶¤ó #CN ÃËÂλ³ ¤Ê¤ó¤Ð¤·¤ó¤Á #CN ÆñÇÈ¿·ÃÏ ¤Ê¤ó¤Ö¤»¤ó #CNS ÆîÉðÀþ ¤Ê¤ó¤Ú¤¤¤À¤¤ #CN ÆîÊ¿Âæ ¤Ê¤ó¤è¤¦¤· #CNS ÆîÍÛ»Ô ¤Ë¤¢¤á¡¼ #CN ¥Ë¥¢¥á¡¼ ¤Ë¤¤¤¶¤· #CNS ¿·ºÂ»Ô ¤Ë¤¤¤¸¤å¤¯ #CN ¿·½É ¤Ë¤¤¤Ä¤· #CNS ¿·ÄÅ»Ô ¤Ë¤¤¤Ï¤Þ¤· #CNS ¿·µïÉÍ»Ô ¤Ë¤¤¤ß¤· #CNS ¿·¸«»Ô ¤Ë¤³¤·¤¢ #CN ¥Ë¥³¥·¥¢ ¤Ë¤·¤¢¤­¤ë #CN À¾½©Î± ¤Ë¤·¤ª¤· #CNS À¾Èø»Ô ¤Ë¤·¤­¤ç¤¦¤¯ #CNS À¾µþ¶è ¤Ë¤·¤¯ #CNS À¾¶è ¤Ë¤·¤µ¤â¤¢ #CN À¾¥µ¥â¥¢ ¤Ë¤·¤À¤¤ #CN À¾Âæ ¤Ë¤·¤É¤¤¤Ä #CN À¾¥É¥¤¥Ä ¤Ë¤·¤Ê¤ê¤¯ #CNS À¾À®¶è ¤Ë¤·¤Ë¤Û¤ó #CN À¾ÆüËÜ ¤Ë¤·¤Î¤ª¤â¤Æ¤· #CNS À¾Ç·É½»Ô ¤Ë¤·¤Î¤ß¤ä¤· #CNS À¾µÜ»Ô ¤Ë¤·¤Þ¤´¤á #CN À¾ÇϹþ ¤Ë¤·¤è¤É¤¬¤ï¤¯ #CNS À¾ÍäÀî¶è ¤Ë¤·¤ï¤­¤· #CNS À¾ÏÆ»Ô ¤Ë¤¸¤§¡¼¤ë #CN ¥Ë¥¸¥§¡¼¥ë ¤Ë¤¸¤å¤¦¤Ð¤·¤Þ¤¨ #CN Æó½Å¶¶Á° ¤Ë¤Á¤¨¤¤ #CN Æü±Ñ ¤Ë¤Á¤É¤¯ #CN ÆüÆÈ ¤Ë¤Á¤Ê¤ó¤· #CNS ÆüÆî»Ô ¤Ë¤Á¤Õ¤Ä #CN ÆüÊ© ¤Ë¤Ã¤«¤ó #CN Æü´Ú ¤Ë¤Ã¤³¤¦¤· #CNS Æü¸÷»Ô ¤Ë¤Ã¤Á¤å¤¦ #CN ÆüÃæ ¤Ë¤Î¤Ø¤· #CNS Æó¸Í»Ô ¤Ë¤Û¤ó¤«¤¤ #CN ÆüËܳ¤ ¤Ë¤Û¤ó¤«¤¤¤³¤¦ #CN ÆüËܳ¤¹Â ¤Ë¤Û¤ó¤Ð¤· #CN ÆüËܶ¶ ¤Ë¤Û¤ó¤Þ¤Ä¤· #CNS ÆóËܾ¾»Ô ¤Ë¤å¡¼¤ª¡¼¤ê¤ó¤¹ #CN ¥Ë¥å¡¼¥ª¡¼¥ê¥ó¥¹ ¤Ë¤å¡¼¤«¤ì¤É¤Ë¤¢ #CN ¥Ë¥å¡¼¥«¥ì¥É¥Ë¥¢ ¤Ë¤å¡¼¤®¤Ë¤¢ #CN ¥Ë¥å¡¼¥®¥Ë¥¢ ¤Ë¤å¡¼¤¸¡¼¤é¤ó¤É #CN ¥Ë¥å¡¼¥¸¡¼¥é¥ó¥É ¤Ë¤å¡¼¤¸¤ã¡¼¤¸¡¼ #CN ¥Ë¥å¡¼¥¸¥ã¡¼¥¸¡¼ ¤Ë¤å¡¼¤Ç¤ê¡¼ #CN ¥Ë¥å¡¼¥Ç¥ê¡¼ ¤Ë¤å¡¼¤Ï¤ó¤×¤·¤ã¡¼ #CN ¥Ë¥å¡¼¥Ï¥ó¥×¥·¥ã¡¼ ¤Ë¤é¤µ¤­¤· #CNS Ç£ºê»Ô ¤Ë¤ó¤®¤ç¤¦¤Á¤ç¤¦ #CNS ¿Í·ÁÄ® ¤Ì¡¼¤á¤¢ #CN ¥Ì¡¼¥á¥¢ ¤Ì¤¢¤¯¤·¤ç¤Ã¤È #CN ¥Ì¥¢¥¯¥·¥ç¥Ã¥È ¤Ì¤¯¤¢¤í¤Õ¤¡ #CN ¥Ì¥¯¥¢¥í¥Õ¥¡ ¤Ì¤¸¤§¤á¤Ê #CN ¥Ì¥¸¥§¥á¥Ê ¤Ì¤Î¤Ó¤­ #CN ÉÛ°ú ¤Ì¤Þ¤¿¤· #CNS ¾ÂÅÄ»Ô ¤Ì¤Þ¤Å¤· #CNS ¾ÂÄÅ»Ô ¤Í¤Ð¤À #CN ¥Í¥Ð¥À ¤Í¤Ñ¡¼¤ë #CN ¥Í¥Ñ¡¼¥ë ¤Í¤à¤í¤· #CNS º¬¼¼»Ô ¤Í¤ä¤¬¤ï¤· #CNS ¿²²°Àî»Ô ¤Í¤ê¤Þ¤¯ #CNS ÎýÇÏ¶è ¤Î¤¦¤Ó #CN Ç»Èø ¤Î¤ª¤¬¤¿¤· #CNS ľÊý»Ô ¤Î¤®¤¶¤« #CN ǵÌÚºä ¤Î¤² #CN ÌîÌÓ ¤Î¤·¤í¤· #CNS ǽÂå»Ô ¤Î¤¸¤ê¤³ #CN Ì¸Ð ¤Î¤À¤· #CNS ÌîÅÄ»Ô ¤Î¤È #CN ǽÅÐ ¤Î¤Ù¤ª¤«¤· #CNS ±ä²¬»Ô ¤Î¤Ü¤ê¤Ù¤Ä¤· #CNS ÅÐÊÌ»Ô ¤Î¤ê¤¯¤é¤À¤± #CN ¾è°È³Ù ¤Ï¤¤¤¸¤Þ #CN ÇÒÅç ¤Ï¤¤¤Á #CN ¥Ï¥¤¥Á ¤Ï¤«¤¿¤¯ #CNS Çî¿¶è ¤Ï¤®¤· #CNS Çë»Ô ¤Ï¤¯¤¤¤· #CNS ±©ºð»Ô ¤Ï¤¯¤í¤·¤¢ #CN Çò¥í¥·¥¢ ¤Ï¤³¤¶¤­ #CN È¢ºê ¤Ï¤³¤À¤Æ¤· #CNS È¡´Û»Ô ¤Ï¤·¤Å¤á¤Þ¤Á #CNS ¶¶µÍÄ® ¤Ï¤·¤Þ¤· #CNS ±©Åç»Ô ¤Ï¤·¤â¤È¤· #CNS ¶¶ËÜ»Ô ¤Ï¤¹¤À¤· #CNS Ï¡ÅÄ»Ô ¤Ï¤¹¤Í #CN Ï¡º¬ ¤Ï¤À¤Î¤· #CNS ¿ÁÌî»Ô ¤Ï¤Á¤ª¤¦¤¸¤· #CNS Ȭ²¦»Ò»Ô ¤Ï¤Á¤³¤¦¤»¤ó #CNS Ȭ¹âÀþ ¤Ï¤Á¤¸¤ç¤¦¤¸¤Þ #CN Ȭ¾æÅç ¤Ï¤Á¤Î¤Ø¤· #CNS Ȭ¸Í»Ô ¤Ï¤Á¤Þ¤ó¤Á¤ç¤¦ #CNS ȬȨĮ ¤Ï¤Ã¤³¤¦¤À¤µ¤ó #CN Ȭ¹ÃÅÄ»³ ¤Ï¤Ã¤Á¤ç¤¦¤Ü¤ê #CN ȬÃúËÙ ¤Ï¤È¤¬¤ä¤· #CNS È·¥öë»Ô ¤Ï¤Ê¤Ï¤¿ #CN ²ÖȪ ¤Ï¤Ê¤Þ¤­¤· #CNS ²Ö´¬»Ô ¤Ï¤Ë¤å¤¦¤· #CNS ±©À¸»Ô ¤Ï¤Í¤À¤¯¤¦¤³¤¦ #CN ±©ÅĶõ¹Á ¤Ï¤Î¤¤ #CN ¥Ï¥Î¥¤ ¤Ï¤Ð¤Ê #CN ¥Ï¥Ð¥Ê ¤Ï¤Ó¤­¤Î¤· #CNS ±©±ÈÌî»Ô ¤Ï¤Ü¤Þ¤¤ #CN »õÉñ ¤Ï¤Þ¤­¤¿¤· #CNS ÉÍËÌ»Ô ¤Ï¤Þ¤À¤· #CNS ÉÍÅÄ»Ô ¤Ï¤Þ¤Þ¤Á #CNS ÉÍÄ® ¤Ï¤Þ¤Þ¤Ä¤· #CNS É;¾»Ô ¤Ï¤Þ¤Þ¤Ä¤Á¤ç¤¦ #CNS É;¾Ä® ¤Ï¤Þ¤ê¤­¤å¤¦ #CN ÉÍÎ¥µÜ ¤Ï¤é¤Þ¤Á¤· #CNS ¸¶Ä®»Ô ¤Ï¤ë¤Ä¡¼¤à #CN ¥Ï¥ë¥Ä¡¼¥à ¤Ï¤ó¤¬¤ê¡¼ #CN ¥Ï¥ó¥¬¥ê¡¼ ¤Ï¤ó¤À¤· #CNS ȾÅÄ»Ô ¤Ï¤ó¤Î¤¦¤· #CNS ÈÓǽ»Ô ¤Ð¡¼¤ß¤ó¤¬¤à #CN ¥Ð¡¼¥ß¥ó¥¬¥à ¤Ð¡¼¤ì¡¼¤ó #CN ¥Ð¡¼¥ì¡¼¥ó ¤Ð¤¯¡¼ #CN ¥Ð¥¯¡¼ ¤Ð¤¯¤í #CN Ç϶ô ¤Ð¤¯¤í¤¦¤Þ¤Á #CNS ÇîϫĮ ¤Ð¤¯¤í¤è¤³¤ä¤Þ #CN Ç϶ô²£»³ ¤Ð¤°¤À¤Ã¤É #CN ¥Ð¥°¥À¥Ã¥É ¤Ð¤Á¤«¤ó #CN ¥Ð¥Á¥«¥ó ¤Ð¤Ì¤¢¤Ä #CN ¥Ð¥Ì¥¢¥Ä ¤Ð¤Ï¤Þ #CN ¥Ð¥Ï¥Þ ¤Ð¤Þ¤³ #CN ¥Ð¥Þ¥³ ¤Ð¤ß¤å¡¼¤À #CN ¥Ð¥ß¥å¡¼¥À ¤Ð¤é¤­¤Ê¤«¤ä¤Þ #CN ¸¶ÌÚÃæ»³ ¤Ð¤ê #CN ¥Ð¥ê ¤Ð¤ë¤Ð¤É¤¹ #CN ¥Ð¥ë¥Ð¥É¥¹ ¤Ð¤ì¤Ã¤¿ #CN ¥Ð¥ì¥Ã¥¿ ¤Ð¤ó¤® #CN ¥Ð¥ó¥® ¤Ð¤ó¤¯¡¼¤Ð¡¼ #CN ¥Ð¥ó¥¯¡¼¥Ð¡¼ ¤Ð¤ó¤°¤é¤Ç¤·¤å #CN ¥Ð¥ó¥°¥é¥Ç¥·¥å ¤Ð¤ó¤³¤¯ #CN ¥Ð¥ó¥³¥¯ ¤Ð¤ó¤¸¤å¤ë #CN ¥Ð¥ó¥¸¥å¥ë ¤Ð¤ó¤ê¤Î¤Á¤ç¤¦¤¸¤ç¤¦ #CN ËüΤĹ¾ë ¤Ñ¤×¤¢¤Ë¤å¡¼¤®¤Ë¤¢ #CN ¥Ñ¥×¥¢¥Ë¥å¡¼¥®¥Ë¥¢ ¤Ñ¤é¤°¤¢¤¤ #CN ¥Ñ¥é¥°¥¢¥¤ ¤Ñ¤é¤Þ¤ê¤Ü #CN ¥Ñ¥é¥Þ¥ê¥Ü ¤Ò¤¨¤¤¤¶¤ó #CN Èæ±Ã»³ ¤Ò¤«¤ê¤· #CNS ¸÷»Ô ¤Ò¤¬¤·¤ª¤ª¤µ¤«¤· #CNS ÅìÂçºå»Ô ¤Ò¤¬¤·¤«¤¬¤ï #CN Å줫¤¬¤ï ¤Ò¤¬¤·¤«¤¬¤ï¤· #CNS Å줫¤¬¤ï»Ô ¤Ò¤¬¤·¤¯ #CNS Åì¶è ¤Ò¤¬¤·¤¯¤ë¤á¤· #CNS Åìµ×Î±ÊÆ»Ô ¤Ò¤¬¤·¤·¤Ê¤«¤¤ #CN Å쥷¥Ê³¤ ¤Ò¤¬¤·¤¹¤Ê #CN Å캽 ¤Ò¤¬¤·¤¹¤ß¤è¤·¤¯ #CNS Åì½»µÈ¶è ¤Ò¤¬¤·¤É¤¤¤Ä #CN Åì¥É¥¤¥Ä ¤Ò¤¬¤·¤Ê¤À¤¯ #CNS ÅìÆç¶è ¤Ò¤¬¤·¤Ê¤ê¤¯ #CNS ÅìÀ®¶è ¤Ò¤¬¤·¤Ë¤Û¤ó #CN ÅìÆüËÜ ¤Ò¤¬¤·¤Í¤· #CNS Å캬»Ô ¤Ò¤¬¤·¤Ò¤í¤·¤Þ¤· #CNS Åì¹­Åç»Ô ¤Ò¤¬¤·¤Þ¤Ä¤ä¤Þ¤· #CNS Åì¾¾»³»Ô ¤Ò¤¬¤·¤à¤é¤ä¤Þ¤· #CNS Åì¼»³»Ô ¤Ò¤¬¤·¤ä¤Þ¤¯ #CNS Å컳¶è ¤Ò¤¬¤·¤ä¤Þ¤È¤· #CNS ÅìÂçÏÂ»Ô ¤Ò¤¬¤·¤è¤É¤¬¤ï¤¯ #CNS ÅìÍäÀî¶è ¤Ò¤³¤¦¤¸¤ç¤¦ #CN Èô¹Ô¾ì ¤Ò¤³¤Í¤· #CNS ɧº¬»Ô ¤Ò¤µ¤¤¤· #CNS µ×µï»Ô ¤Ò¤¿¤· #CNS ÆüÅÄ»Ô ¤Ò¤¿¤Á #CN ¾ïΦ ÆüΩ ¤Ò¤¿¤Á¤ª¤ª¤¿¤· #CNS ¾ïΦÂÀÅÄ»Ô ¤Ò¤¿¤Á¤· #CNS ÆüΩ»Ô ¤Ò¤È¤è¤·¤· #CNS ¿ÍµÈ»Ô ¤Ò¤Î¤· #CNS ÆüÌî»Ô ¤Ò¤ß¤· #CNS ɹ¸«»Ô ¤Ò¤á¤¸¤· #CNS ɱϩ»Ô ¤Ò¤ã¤¯¤Ë¤ó¤Á¤ç¤¦ #CNS É´¿ÍÄ® ¤Ò¤å¡¼¤í¤ó¤³ #CN ¥Ò¥å¡¼¥í¥ó¸Ð ¤Ò¤å¤¦¤¬¤· #CNS Æü¸þ»Ô ¤Ò¤ç¤¦¤´¤¯ #CNS ʼ¸Ë¶è ¤Ò¤ç¤¦¤Î¤»¤ó #CN ɹ¥Î»³ ¤Ò¤é¤«¤¿¤· #CNS ËçÊý»Ô ¤Ò¤é¤¿¤· #CNS Ê¿ÅÄ»Ô ¤Ò¤é¤Ä¤«¤· #CNS Ê¿ÄÍ»Ô ¤Ò¤é¤É¤· #CNS Ê¿¸Í»Ô ¤Ò¤é¤Î¤¯ #CNS Ê¿Ìî¶è ¤Ò¤é¤é¤· #CNS Ê¿ÎÉ»Ô ¤Ò¤í¤³¤¦¤¸ #CN ¹­¾®Ï© ¤Ò¤í¤µ¤­¤· #CNS ¹°Á°»Ô ¤Ó¤¨¤ó¤Á¤ã¤ó #CN ¥Ó¥¨¥ó¥Á¥ã¥ó ¤Ó¤­¤Ë #CN ¥Ó¥­¥Ë ¤Ó¤­¤Ë¤«¤ó¤·¤ç¤¦ #CN ¥Ó¥­¥Ë´Ä¾Ì ¤Ó¤µ¤¤¤· #CNS ÈøÀ¾»Ô ¤Ó¤µ¤¦ #CN ¥Ó¥µ¥¦ ¤Ó¤¼¤ó¤· #CNS È÷Á°»Ô ¤Ó¤Ð¤¤¤· #CNS Èþ±´»Ô ¤Ó¤é #CN ¥Ó¥é ¤Ó¤é¤·¤¹¤Í¤í¤¹ #CN ¥Ó¥é¥·¥¹¥Í¥í¥¹ ¤Ó¤ê¤Ë¤å¤¹ #CN ¥Ó¥ê¥Ë¥å¥¹ ¤Ó¤ë¤Þ #CN ¥Ó¥ë¥Þ ¤Ó¤ï¤·¤Þ #CN ÈúÇÇÅç ¤Õ¤¡¤É¡¼¤Ä #CN ¥Õ¥¡¥É¡¼¥Ä ¤Õ¤£¤¸¡¼ #CN ¥Õ¥£¥¸¡¼ ¤Õ¤£¤é¤Ç¤ë¤Õ¤£¤¢ #CN ¥Õ¥£¥é¥Ç¥ë¥Õ¥£¥¢ ¤Õ¤£¤ì¤ó¤Ä¤§ #CN ¥Õ¥£¥ì¥ó¥Ä¥§ ¤Õ¤£¤ó¤é¤ó¤É #CN ¥Õ¥£¥ó¥é¥ó¥É ¤Õ¤«¤ä¤· #CNS ¿¼Ã«»Ô ¤Õ¤¯¤¨¤· #CNS Ê¡¹¾»Ô ¤Õ¤¯¤·¤Þ¤¯ #CNS Ê¡Åç¶è ¤Õ¤¯¤Á¤ä¤Þ¤· #CNS Ê¡Ãλ³»Ô ¤Õ¤¯¤ä¤Þ¤· #CNS Ê¡»³»Ô ¤Õ¤¯¤í¤¤¤· #CNS ÂÞ°æ»Ô ¤Õ¤·¤ß¤¯ #CNS Éú¸«¶è ¤Õ¤¸¤¤¤Ç¤é¤· #CNS Æ£°æ»û»Ô ¤Õ¤¸¤¨¤À¤· #CNS Æ£»Þ»Ô ¤Õ¤¸¤ª¤«¤· #CNS Æ£²¬»Ô ¤Õ¤¸¤µ¤ï¤· #CNS Æ£Âô»Ô ¤Õ¤¸¤· #CNS ÉÙ»Î»Ô ¤Õ¤¸¤Î¤ß¤ä¤· #CNS ÉÙ»ÎµÜ»Ô ¤Õ¤¸¤ß¤· #CNS Éٻθ«»Ô ¤Õ¤¸¤è¤·¤À¤· #CNS ÉٻεÈÅÄ»Ô ¤Õ¤¿¤Ð¤Á¤ç¤¦ #CNS ÁÐÍÕÄ® ¤Õ¤¿¤Þ¤¿¤¬¤ï #CN ÆóËóÀî ¤Õ¤Á¤å¤¦¤· #CNS ÉÜÃæ»Ô ¤Õ¤Ã¤³¤¯ #CN Ê©¹ñ ¤Õ¤Ã¤µ¤· #CNS Ê¡À¸»Ô ¤Õ¤Ã¤Ä¤· #CNS ÉÙÄÅ»Ô ¤Õ¤Ê¤Ð¤·¤· #CNS Á¥¶¶»Ô ¤Õ¤Ê¤Õ¤Á #CN ¥Õ¥Ê¥Õ¥Á ¤Õ¤é¤Î¤· #CNS ÉÙÎÉÌî»Ô ¤Õ¤ê¡¼¤¿¤¦¤ó #CN ¥Õ¥ê¡¼¥¿¥¦¥ó ¤Õ¤ë¤«¤ï¤· #CNS ¸ÅÀî»Ô ¤Õ¤ë¤ó¤¼ #CN ¥Õ¥ë¥ó¥¼ ¤Ö¡¼¤¿¤ó #CN ¥Ö¡¼¥¿¥ó ¤Ö¤¨¤Î¤¹¤¢¤¤¤ì¤¹ #CN ¥Ö¥¨¥Î¥¹¥¢¥¤¥ì¥¹ ¤Ö¤«¤ì¤¹¤È #CN ¥Ö¥«¥ì¥¹¥È ¤Ö¤¸¤å¤ó¤Ö¤é #CN ¥Ö¥¸¥å¥ó¥Ö¥é ¤Ö¤¼¤ó¤· #CNS Ë­Á°»Ô ¤Ö¤À¤Ú¤¹¤È #CN ¥Ö¥À¥Ú¥¹¥È ¤Ö¤é¤¶¤Ó¤ë #CN ¥Ö¥é¥¶¥Ó¥ë ¤Ö¤é¤¸¤ê¤¢ #CN ¥Ö¥é¥¸¥ê¥¢ ¤Ö¤ê¤¹¤Ù¡¼¤ó #CN ¥Ö¥ê¥¹¥Ù¡¼¥ó ¤Ö¤ê¤Ã¤¸¤¿¤¦¤ó #CN ¥Ö¥ê¥Ã¥¸¥¿¥¦¥ó ¤Ö¤ê¤å¤Ã¤»¤ë #CN ¥Ö¥ê¥å¥Ã¥»¥ë ¤Ö¤ë¤Í¤¤ #CN ¥Ö¥ë¥Í¥¤ ¤Ö¤ë¤ó¤¸ #CN ¥Ö¥ë¥ó¥¸ ¤Ö¤ó¤­¤ç¤¦¤¯ #CNS ʸµþ¶è ¤Ö¤ó¤´¤¿¤«¤À¤· #CNS Ë­¸å¹âÅÄ»Ô ¤×¤¨¤ë¤È¤ê¤³ #CN ¥×¥¨¥ë¥È¥ê¥³ ¤×¤Î¤ó¤Ú¤ó #CN ¥×¥Î¥ó¥Ú¥ó ¤×¤é¤¤¤¢ #CN ¥×¥é¥¤¥¢ ¤×¤é¤Ï #CN ¥×¥é¥Ï ¤×¤ì¤È¤ê¤¢ #CN ¥×¥ì¥È¥ê¥¢ ¤Ø¤¤¤ï¤¸¤Þ #CN Ê¿ÏÂÅç ¤Ø¤¤¤ï¤À¤¤ #CN Ê¿ÏÂÂæ ¤Ø¤­¤Ê¤ó¤· #CNS ÊËÆî»Ô ¤Ø¤ë¤·¤ó¤­ #CN ¥Ø¥ë¥·¥ó¥­ ¤Ù¤¤¤³¤¯ #CN ¥¢¥á¥ê¥«¹ç½°¹ñ ÊÆ¹ñ ¤Ù¤¤¤ë¡¼¤È #CN ¥Ù¥¤¥ë¡¼¥È ¤Ù¤ª¤°¤é¡¼¤É #CN ¥Ù¥ª¥°¥é¡¼¥É ¤Ù¤Ã¤×¤· #CNS ÊÌÉÜ»Ô ¤Ù¤Ä¤¤¤ó #CN Ê̱¡ ¤Ù¤Ë¤ó #CN ¥Ù¥Ë¥ó ¤Ù¤Í¤º¤¨¤é #CN ¥Ù¥Í¥º¥¨¥é ¤Ù¤Í¤Á¤¢ #CN ¥Ù¥Í¥Á¥¢ ¤Ù¤é¤¦ #CN ¥Ù¥é¥¦ ¤Ù¤ë¤µ¤¤¤æ #CN ¥Ù¥ë¥µ¥¤¥æ ¤Ù¤ë¤ó #CN ¥Ù¥ë¥ó ¤Ú¤ë¡¼ #CN ¥Ú¥ë¡¼ ¤Ú¤ë¤·¤ã #CN ¥Ú¥ë¥·¥ã ¤Ú¤ë¤·¤ã¤ï¤ó #CN ¥Ú¥ë¥·¥ãÏÑ ¤Ú¤ó¤·¤ë¤Ù¤Ë¤¢ #CN ¥Ú¥ó¥·¥ë¥Ù¥Ë¥¢ ¤Û¡¼¤Á¤ß¤ó #CN ¥Û¡¼¥Á¥ß¥ó ¤Û¤¦¤¸¤ç¤¦¤· #CNS Ë̾ò»Ô ¤Û¤¦¤Õ¤· #CNS ËÉÉÜ»Ô ¤Û¤¦¤ä¤· #CNS ÊÝë»Ô ¤Û¤À¤«¤À¤± #CN Êæ¹â³Ù ¤Û¤Ã¤«¤¤ #CN Ë̳¤ ¤Û¤Ã¤«¤¤¤É¤¦¤Á¤Û¤¦ #CN Ë̳¤Æ»ÃÏÊý ¤Û¤É¤¬¤ä¤¯ #CNS ÊÝÅÚ¥öë¶è ¤Û¤Ë¤¢¤é #CN ¥Û¥Ë¥¢¥é ¤Û¤ê¤­¤ê #CN ËÙÀÚ ¤Û¤ê¤É¤á #CN ËÙα ¤Û¤í¤Ò¤é¤Ï¤· #CN ËÚÊ¿¶¶ ¤Û¤ó¤¬¤ó¤¸ #CN ËÜ´ê»û ¤Û¤ó¤´¤¯ #CN ËÜÀÐ ¤Û¤ó¤¶¤ó #CN ËÜ»³ ¤Û¤ó¤¸¤ç #CN ËÜ½ê ¤Û¤ó¤¸¤ç¤¦ #CN Ëܾ± ËÜÁñ ¤Û¤ó¤¸¤ç¤¦¤· #CNS Ëܾ±»Ô ËÜÁñ»Ô ¤Û¤ó¤¸¤ó #CN ËÜ¿Ø ¤Û¤ó¤É¤ª¤ê #CN ËÜÄÌ¤ê ¤Û¤ó¤É¤· #CNS ËÜÅÏ»Ô ¤Û¤ó¤Þ¤Á #CNS ËÜÄ® ¤Ü¤¦¤·¤å¤¦ #CN ˼½£ ¤Ü¤´¤¿ #CN ¥Ü¥´¥¿ ¤Ü¤Ä¤ï¤Ê #CN ¥Ü¥Ä¥ï¥Ê ¤Ü¤ê¤Ó¤¢ #CN ¥Ü¥ê¥Ó¥¢ ¤Ü¤ó #CN ¥Ü¥ó ¤Ý¡¼¤Ä¤Þ¤¹ #CN ¥Ý¡¼¥Ä¥Þ¥¹ ¤Ý¡¼¤È¤ª¤Ö¤¹¤Ú¤¤¤ó #CN ¥Ý¡¼¥È¥ª¥Ö¥¹¥Ú¥¤¥ó ¤Ý¡¼¤È¤â¤ì¤¹¤Ó¡¼ #CN ¥Ý¡¼¥È¥â¥ì¥¹¥Ó¡¼ ¤Ý¡¼¤È¤ë¤¤¤¹ #CN ¥Ý¡¼¥È¥ë¥¤¥¹ ¤Ý¡¼¤é¤ó¤É #CN ¥Ý¡¼¥é¥ó¥É ¤Ý¤Ä¤À¤à #CN ¥Ý¥Ä¥À¥à ¤Ý¤ë¤È¡¼¤×¤é¤ó¤¹ #CN ¥Ý¥ë¥È¡¼¥Ö¥é¥ó¥¹ ¤Ý¤ë¤È¤Î¤Ü #CN ¥Ý¥ë¥È¥Î¥Ü ¤Þ¤¤¤Å¤ë¤· #CNS ÉñÄá»Ô ¤Þ¤¦¤¤ #CN ¥Þ¥¦¥¤ ¤Þ¤¦¤¤¤È¤¦ #CN ¥Þ¥¦¥¤Åç ¤Þ¤«¤ª #CN ¥Þ¥«¥ª ¤Þ¤«¤Ã¤µ¤ë #CN ¥Þ¥«¥Ã¥µ¥ë ¤Þ¤«¤Ã¤µ¤ë¤«¤¤¤­¤ç¤¦ #CN ¥Þ¥«¥Ã¥µ¥ë³¤¶® ¤Þ¤¯¤é¤¶¤­¤· #CNS Ëíºê»Ô ¤Þ¤´¤á #CN ÇϹþ ¤Þ¤·¤å¤¦¤³ #CN Ëà¼þ¸Ð ¤Þ¤¹¤«¤Ã¤È #CN ¥Þ¥¹¥«¥Ã¥È ¤Þ¤¹¤À¤· #CNS ±×ÅÄ»Ô ¤Þ¤»¤ë #CN ¥Þ¥»¥ë ¤Þ¤¼¤é¤ó¤«¤¤¤­¤ç¤¦ #CN ¥Þ¥¼¥é¥ó³¤¶® ¤Þ¤À¤¬¤¹¤«¤ë #CN ¥Þ¥À¥¬¥¹¥«¥ë ¤Þ¤Á¤À¤· #CNS Ä®ÅÄ»Ô ¤Þ¤Á¤ä #CN Ä®²° ¤Þ¤Ã¤­¤ó¤ê¡¼ #CN ¥Þ¥Ã¥­¥ó¥ê¡¼ ¤Þ¤Ã¤¿¡¼¤Û¡¼¤ó #CN ¥Þ¥Ã¥¿¡¼¥Û¡¼¥ó ¤Þ¤Ä¤¦¤é¤· #CNS ¾¾±º»Ô ¤Þ¤Ä¤µ¤«¤· #CNS ¾¾ºå»Ô ¤Þ¤Ä¤È¤¦¤· #CNS ¾¾Ç¤»Ô ¤Þ¤Ä¤É¤· #CNS ¾¾¸Í»Ô ¤Þ¤Ä¤Ð¤é¤· #CNS ¾¾¸¶»Ô ¤Þ¤Ä¤â¤È¤· #CNS ¾¾ËÜ»Ô ¤Þ¤É¤ê¡¼¤É #CN ¥Þ¥É¥ê¡¼¥É ¤Þ¤Ê¤°¤¢ #CN ¥Þ¥Ê¥°¥¢ ¤Þ¤Ê¤Þ #CN ¥Þ¥Ê¥Þ ¤Þ¤Ë¤é #CN ¥Þ¥Ë¥é ¤Þ¤×¤È #CN ¥Þ¥×¥È ¤Þ¤ß¤ä #CN ´ÖµÜ ¤Þ¤é¤¦¤£ #CN ¥Þ¥é¥¦¥£ ¤Þ¤é¤Ü #CN ¥Þ¥é¥Ü ¤Þ¤ê #CN ¥Þ¥ê ¤Þ¤ë¤¬¤á¤· #CNS ´Ýµµ»Ô ¤Þ¤ë¤¿ #CN ¥Þ¥ë¥¿ ¤Þ¤ë¤¿¤Þ¤Á #CNS ´ÝÂÀÄ® ¤Þ¤ë¤Î¤¦¤Á #CN ´Ý¥ÎÆâ ¤Þ¤ë¤Î¤¦¤Á¤»¤ó #CNS ´Ý¥ÎÆâÀþ ¤Þ¤ì¡¼¤·¤¢ #CN ¥Þ¥ì¡¼¥·¥¢ ¤ß¤¦¤é¤· #CNS »°±º»Ô ¤ß¤«¤µ¤· #CNS »°³Þ»Ô ¤ß¤«¤ï¤·¤Þ #CN »°²ÏÅç ¤ß¤­¤· #CNS »°ÌÚ»Ô ¤ß¤¯¤Ë¤È¤¦¤² #CN »°¹ñƽ ¤ß¤µ¤È¤· #CNS »°¶¿»Ô ¤ß¤µ¤ï¤· #CNS »°Âô»Ô ¤ß¤·¤·¤Ã¤Ô #CN ¥ß¥·¥·¥Ã¥Ô ¤ß¤·¤Þ¤· #CNS »°Åç»Ô ¤ß¤º¡¼¤ê #CN ¥ß¥º¡¼¥ê ¤ß¤º¤µ¤ï¤· #CNS ¿åÂô»Ô ¤ß¤º¤Ê¤ß¤· #CNS ¿ðϲ»Ô ¤ß¤º¤Û¤¯ #CNS ¿ðÊæ¶è ¤ß¤¾¤Î¤¯¤Á #CN ¹Â¥Î¸ý ¤ß¤¿¤«¤· #CNS »°Âë»Ô ¤ß¤Ã¤É¤¦¤§¡¼ #CN ¥ß¥Ã¥É¥¦¥§¡¼ ¤ß¤Ä¤«¤¤¤É¤¦¤· #CNS ¿å³¤Æ»»Ô ¤ß¤Ä¤±¤· #CNS ¸«Éí»Ô ¤ß¤È¤·¤í #CN ÈþÅÚÂå ¤ß¤É¤ê¤¬¤ª¤« #CN ÎФ¬µÖ ¤ß¤É¤ê¤¯ #CNS ÎÐ¶è ¤ß¤Ê¤È¤¯ #CNS ¹Á¶è ¤ß¤Ê¤Þ¤¿¤· #CNS ¿åËó»Ô ¤ß¤Ê¤ß¤¢¤·¤¬¤é¤· #CNS Æî­ÊÁ»Ô ¤ß¤Ê¤ß¤¢¤ë¤×¤¹ #CN Æî¥¢¥ë¥×¥¹ ¤ß¤Ê¤ß¤¢¤ë¤×¤¹¤· #CNS Æî¥¢¥ë¥×¥¹»Ô ¤ß¤Ê¤ß¤«¤ó¤È¤¦ #CN Æî´ØÅì ¤ß¤Ê¤ß¤­¤å¤¦¤·¤å¤¦ #CN Æî¶å½£ ¤ß¤Ê¤ß¤¯ #CNS Æî¶è ¤ß¤Ê¤ß¤Ë¤Û¤ó #CN ÆîÆüËÜ ¤ß¤Í #CN ÈþÇ© ¤ß¤Í¤· #CNS ÈþÇ©»Ô ¤ß¤Î¤ª¤· #CNS ̧ÌÌ»Ô ¤ß¤Î¤«¤â¤· #CNS ÈþÇ»²ÃÌÐ»Ô ¤ß¤Î¤· #CNS ÈþÇ»»Ô ¤ß¤Î¤·¤Þ #CN ̬Åç ¤ß¤Ï¤é¤· #CNS »°¸¶»Ô ¤ß¤ä¤³¤· #CNS µÜ¸Å»Ô ¤ß¤ä¤³¤¸¤Þ¤¯ #CNS ÅÔÅç¶è ¤ß¤ä¤³¤Î¤¸¤ç¤¦¤· #CNS ÅÔ¾ë»Ô ¤ß¤ä¤Å¤· #CNS µÜÄÅ»Ô ¤ß¤ä¤Þ¤¨¤¯ #CNS µÜÁ°¶è ¤ß¤å¤ó¤Ø¤ó #CN ¥ß¥å¥ó¥Ø¥ó ¤ß¤ç¤¦¤¬¤À¤Ë #CN 謲Ùë ¤ß¤ç¤¦¤®¤µ¤ó #CN ̯µÁ»³ ¤ß¤è¤·¤· #CNS »°¼¡»Ô ¤ß¤é¤Î #CN ¥ß¥é¥Î ¤ß¤ë¤¦¤©¡¼¤­¡¼ #CN ¥ß¥ë¥¦¥©¡¼¥­¡¼ ¤ß¤ó¤¹¤¯ #CN ¥ß¥ó¥¹¥¯ ¤ß¤ó¤À¤Ê¤ª #CN ¥ß¥ó¥À¥Ê¥ª ¤à¤³¤¦¤· #CNS ¸þÆü»Ô ¤à¤µ¤·¤³¤¹¤® #CN É𢾮¿ù ¤à¤µ¤·¤³¤ä¤Þ #CN É𢾮»³ ¤à¤µ¤·¤µ¤«¤¤ #CN É𢶭 ¤à¤µ¤·¤Î¤· #CNS Éð¢Ìî»Ô ¤à¤µ¤·¤à¤é¤ä¤Þ¤· #CNS É𢼻³»Ô ¤à¤Ä¤· #CNS ¤à¤Ä»Ô ¤à¤Ê¤«¤¿¤· #CNS ½¡Áü»Ô ¤à¤Ð¤Ð¤Í #CN ¥à¥Ð¥Ð¥Í ¤à¤é¤«¤ß¤· #CNS ¼¾å»Ô ¤à¤é¤ä¤Þ¤· #CNS ¼»³»Ô ¤à¤í¤È¤· #CNS ¼¼¸Í»Ô ¤à¤í¤é¤ó¤· #CNS ¼¼Íö»Ô ¤á¡¼¤ó #CN ¥á¡¼¥ó ¤á¤¤¤¸¤¸¤ó¤°¤¦ #CN ÌÀ¼£¿ÀµÜ ¤á¤¤¤È¤¦¤¯ #CNS ̾Åì¶è ¤á¤°¤í¤¯ #CNS Ìܹõ¶è ¤á¤¸¤í #CN ÌÜÇò ¤á¤¸¤í¤À¤¤ #CNS ÌÜÇòÂæ ¤á¤ë¤Ü¤ë¤ó #CN ¥á¥ë¥Ü¥ë¥ó ¤á¤ó¤É¤µ #CN ¥á¥ó¥É¥µ ¤â¡¼¤ê¤·¤ã¤¹ #CN ¥â¡¼¥ê¥·¥ã¥¹ ¤â¡¼¤ê¤¿¤é¤Ë¤¢ #CN ¥â¡¼¥ê¥¿¥Ë¥¢ ¤â¤¦¤³ #CN ÌØ¸Å ¤â¤ª¤«¤· #CNS ¿¿²¬»Ô ¤â¤« #CN ¥â¥« ¤â¤¬¤¸¤·¤ª #CN ¥â¥¬¥¸¥·¥ª ¤â¤¶¤ó¤Ó¡¼¤¯ #CN ¥â¥¶¥ó¥Ó¡¼¥¯ ¤â¤¸¤¯ #CNS Ìç»Ê¶è ¤â¤È¤¹¤³ #CN ËÜÀ´¸Ð ¤â¤È¤Þ¤Á #CNS ¸µÄ® ¤â¤Ê¤³ #CN ¥â¥Ê¥³ ¤â¤Ð¤é¤· #CNS Ìи¶»Ô ¤â¤ê¤°¤Á¤· #CNS ¼é¸ý»Ô ¤â¤ê¤Î¤ß¤ä #CN ¿¹Ç·µÜ ¤â¤ê¤ä¤Þ¤¯ #CNS ¼é»³¶è ¤â¤ê¤ä¤Þ¤· #CNS ¼é»³»Ô ¤â¤ë¤¸¤Ö #CN ¥â¥ë¥¸¥Ö ¤â¤ë¤À¤Ó¤¢ #CN ¥â¥ë¥À¥Ó¥¢ ¤â¤í¤Ã¤³ #CN ¥â¥í¥Ã¥³ ¤â¤ó¤´¤ë #CN ¥â¥ó¥´¥ë ¤â¤ó¤¼¤ó¤Ê¤«¤Á¤ç¤¦ #CNS ÌçÁ°ÃçÄ® ¤â¤ó¤Æ¤Ó¤Ç¤ª #CN ¥â¥ó¥Æ¥Ó¥Ç¥ª ¤â¤ó¤Ð¤µ #CN ¥â¥ó¥Ð¥µ ¤â¤ó¤Ù¤Ä¤· #CNS ÌæÊÌ»Ô ¤â¤ó¤í¤Ó¤¢ #CN ¥â¥ó¥í¥Ó¥¢ ¤ä¤¤¤¿¤· #CNS ÌðÈÄ»Ô ¤ä¤¤¤Å¤· #CNS ¾ÆÄÅ»Ô ¤ä¤¦¤ó¤Ç #CN ¥ä¥¦¥ó¥Ç ¤ä¤¨¤¹ #CN Ȭ½Å½£ ¤ä¤¨¤¹¤°¤Á #CN Ȭ½Å½£¸ý ¤ä¤ª¤· #CNS È¬Èø»Ô ¤ä¤·¤ª¤· #CNS ȬĬ»Ô ¤ä¤¹¤®¤· #CNS °ÂÍè»Ô ¤ä¤¹¤¯¤Ë #CN Ì÷¹ñ ¤ä¤Á¤è¤· #CNS ȬÀéÂå»Ô ¤ä¤Ä¤¬¤¿¤± #CN Ȭ¥ö³Ù ¤ä¤Ä¤·¤í¤· #CNS ȬÂå»Ô ¤ä¤Ê¤¤¤· #CNS Ìø°æ»Ô ¤ä¤Ê¤¬¤ï¤· #CNS ÌøÀî»Ô ¤ä¤Ï¤¿¤Ë¤·¤¯ #CNS ȬȨÀ¾¶è ¤ä¤Ï¤¿¤Ò¤¬¤·¤¯ #CNS ȬȨÅì¶è ¤ä¤Þ¤¬¤· #CNS »³¼¯»Ô ¤ä¤Þ¤¬¤¿¤· #CNS »³¸©»Ô ¤ä¤Þ¤·¤Ê¤¯ #CNS »³²Ê¶è ¤ä¤Þ¤À¤· #CNS »³ÅÄ»Ô ¤ä¤Þ¤È¤³¤ª¤ê¤ä¤Þ¤· #CNS ÂçÏ·´»³»Ô ¤ä¤Þ¤È¤· #CNS ÂçÏÂ»Ô ¤ä¤Þ¤È¤¿¤«¤À¤· #CNS ÂçϹâÅÄ»Ô ¤ä¤Þ¤Ê¤·¤· #CNS »³Íü»Ô ¤ä¤Þ¤Î¤Æ #CN »³¼ê ¤ä¤á¤· #CNS Ȭ½÷»Ô ¤ä¤ê¤¬¤¿¤± #CN Áä¥ö³Ù ¤ä¤ï¤¿¤· #CNS ȬȨ»Ô ¤ä¤ï¤¿¤Ï¤Þ¤· #CNS ȬȨÉÍ»Ô ¤æ¡¼¤´¤¹¤é¤Ó¤¢ #CN ¥æ¡¼¥´¥¹¥é¥Ó¥¢ ¤æ¡¼¤Õ¤é¤Æ¤¹ #CN ¥æ¡¼¥Õ¥é¥Æ¥¹ ¤æ¤¦¤­¤· #CNS ·ë¾ë»Ô ¤æ¤¦¤Ð¤ê¤· #CNS ͼĥ»Ô ¤æ¤¦¤Ù¤Ä¤¬¤ï #CN ͯÊÌÀî ¤æ¤¦¤é¤¯¤Á¤ç¤¦ #CNS Í­³ÚÄ® ¤æ¤¦¤ê¤ç¤¦¤É¤¦¤í #CN Í­ÎÁƻϩ ¤æ¤­¤¬¤ä #CN Àã¥öë Àãë ¤æ¤¯¤Ï¤·¤· #CNS ¹Ô¶¶»Ô ¤æ¤¶¤ï¤· #CNS ÅòÂô»Ô ¤æ¤·¤Þ #CN ÅòÅç ¤æ¤¿ #CN ¥æ¥¿ ¤æ¤á¤Î¤·¤Þ #CN Ì´¤ÎÅç ¤è¡¼¤¯¤·¤ã¡¼ #CN ¥è¡¼¥¯¥·¥ã¡¼ ¤è¤¦¤«¤¤¤Á¤· #CNS ȬÆü»Ô»Ô ¤è¤¦¤«¤¤¤Á¤Ð¤· #CNS ȬÆü»Ô¾ì»Ô ¤è¤¦¤³¤¦¤À¤¤ #CN Íθ÷Âæ ¤è¤¦¤Æ¤¤¤¶¤ó #CN ÍÓÄý»³ ¤è¤³¤¹¤«¤· #CNS ²£¿Ü²ì»Ô ¤è¤³¤Æ¤· #CNS ²£¼ê»Ô ¤è¤Ã¤«¤¤¤Á¤· #CNS »ÍÆü»Ô»Ô ¤è¤Ä¤® #CN »Í¥ÄÌÚ ¤è¤Ä¤Ð¤· #CN »Í¥Ä¶¶ ¤è¤É¤¬¤ï¤¯ #CNS ÍäÀî¶è ¤è¤Ê¤´¤· #CNS ÊÆ»Ò»Ô ¤è¤Ê¤·¤í¤¬¤ï #CN ÊÆÂåÀî ¤è¤Í¤¶¤ï¤· #CNS ÊÆÂô»Ô ¤è¤Î¤· #CNS Í¿Ìî»Ô ¤è¤ë¤À¤ó #CN ¥è¥ë¥À¥ó ¤é¤ª¤¹ #CN ¥é¥ª¥¹ ¤é¤´¤¹ #CN ¥é¥´¥¹ ¤é¤µ #CN ¥é¥µ ¤é¤¹¤Ù¤¬¤¹ #CN ¥é¥¹¥Ù¥¬¥¹ ¤é¤È¤Ó¤¢ #CN ¥é¥È¥Ó¥¢ ¤é¤Ð¤È #CN ¥é¥Ð¥È ¤é¤Ñ¤¹ #CN ¥é¥Ñ¥¹ ¤é¤ó¤«¤·¤ã¡¼ #CN ¥é¥ó¥«¥·¥ã¡¼ ¤é¤ó¤°¡¼¤ó #CN ¥é¥ó¥°¡¼¥ó ¤ê¡¼¤Ö¤ë¤Ó¤ë #CN ¥ê¡¼¥Ö¥ë¥Ó¥ë ¤ê¤¬ #CN ¥ê¥¬ ¤ê¤¯¤¦ #CN Φ±© ¤ê¤¯¤¼¤ó¤¿¤«¤¿¤· #CNS ΦÁ°¹âÅÄ»Ô ¤ê¤¹¤Ü¤ó #CN ¥ê¥¹¥Ü¥ó ¤ê¤Ò¤Æ¤ó¤·¤å¤¿¤¤¤ó #CN ¥ê¥Ò¥Æ¥ó¥·¥å¥¿¥¤¥ó ¤ê¤Ó¤¢ #CN ¥ê¥Ó¥¢ ¤ê¤Ù¤ê¤¢ #CN ¥ê¥Ù¥ê¥¢ ¤ê¤Þ #CN ¥ê¥Þ ¤ê¤ä¤É #CN ¥ê¥ä¥É ¤ê¤å¤¦¤¬¤µ¤­¤· #CNS ε¥öºê»Ô ¤ê¤å¤¦¤­¤å¤¦ #CN ΰµå ¤ê¤ç¤¦¤¬¤¨¤Þ¤Á #CNS Î¾ÂØÄ® ¤ê¤ç¤¦¤Ä¤· #CNS ξÄÅ»Ô ¤ê¤í¤ó¤°¤¨ #CN ¥ê¥í¥ó¥°¥¨ ¤ë¤¢¤ó¤À #CN ¥ë¥¢¥ó¥À ¤ë¤¯¤»¤ó¤Ö¤ë¤¯ #CN ¥ë¥¯¥»¥ó¥Ö¥ë¥¯ ¤ë¤µ¤« #CN ¥ë¥µ¥« ¤ë¤â¤¤¤· #CNS α˨»Ô ¤ë¤ï¤ó¤À #CN ¥ë¥ï¥ó¥À ¤ì¤¤¤­¤ã¤Ó¤¯ #CN ¥ì¥¤¥­¥ã¥Ó¥¯ ¤ì¤½¤È #CN ¥ì¥½¥È ¤ì¤Ð¤Î¤ó #CN ¥ì¥Ð¥Î¥ó ¤ì¤æ¤Ë¤ª¤ó #CN ¥ì¥æ¥Ë¥ª¥ó ¤í¤¾¡¼ #CN ¥í¥¾¡¼ ¤í¤á #CN ¥í¥á ¤ï¤¤¤ª¤ß¤ó¤° #CN ¥ï¥¤¥ª¥ß¥ó¥° ¤ï¤«¤Þ¤Ä¤¯ #CNS ¼ã¾¾¶è ¤ï¤¬¤É¤° #CN ¥ï¥¬¥É¥° ¤ï¤³¤¦¤· #CNS ϸ÷»Ô ¤ï¤¸¤Þ¤· #CNS ÎØÅç»Ô ¤ï¤¿¤é¤»¤¬¤ï #CN ÅÏÎÉÀ¥Àî ¤ï¤Ã¤«¤Ê¤¤¤· #CNS ÃÕÆâ»Ô ¤ï¤é¤Ó¤· #CNS ÏÏ»Ô ¤ï¤ë¤·¤ã¤ï #CN ¥ï¥ë¥·¥ã¥ï ¤ï¤ó¤¬¤ó #CN ÏÑ´ß Canna37p3/dic/ideo/words/dics.dir0100644000076500001200000000327007735225677016132 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # iroha.cbd # # $Id: dics.dir,v 1.5 2003/09/27 06:18:39 aida_s Exp $ # fuzokugo.cbd(fuzokugo.swd) -fuzokugo--- iroha.cbd(iroha.mwd) -iroha--- iroha.cbd(bushu.mwd) -bushu--- hojoswd.ctd(.swd) -hojoswd--- iroha.cld(iroha.mwd) -iroha--- bushu.cld(bushu.mwd) -bushu--- hojomwd.ctd(.mwd) -hojomwd--- number.ctd(.swd) -number--- katakana.ctd(.mwd) -katakana--- keishiki.ctd(.swd) -keishiki--- suffix.ctd(.swd) -suffix--- chimei.ctd(.mwd) -chimei--- kanasmpl.ctd(.mwd) -kanasample--- necgaiji.ctd(.mwd) -necgaiji--- software.ctd(.mwd) -software--- Canna37p3/dic/ideo/words/hojomwd.t0100644000076500001200000000272607554426265016344 0ustar shinraadmin/* Copyright 1997 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided * "as is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: hojomwd.t,v 1.2 2002/10/20 04:10:29 aida_s Exp $ */ # $Id: hojomwd.t,v 1.2 2002/10/20 04:10:29 aida_s Exp $ ¤­¤ê¤¬¤Ê #KY ¤­¤ê¤¬¤Ê ¤¯¤ê¤ã #kxya Íè¤ê¤ã ¤¯¤ê¤ã¤¢ #kxya Íè¤ê¤ã¤¢ ¤È¤¤ #W5 ¤È¸À ¤È¤¤ ¤Ê¤¢ #CJ ¤Ê¤¢ ¤­¤¬ #T32 µ¤¤¬ ¤­¤Ë¤Ê #R5 µ¤¤Ë¤Ê ¤­¤â #T32 µ¤¤â ¤¹¤ê¤ã #sxya ¤¹¤ê¤ã ¤¹¤ê¤ã¤¢ #sxya ¤¹¤ê¤ã¤¢ Canna37p3/dic/ideo/words/hojoswd.t0100644000076500001200000000520307554426265016343 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: hojoswd.t,v 1.2 2002/10/20 04:10:29 aida_s Exp $ ¤¤ #Zi @ #ktok5iO @ ¤« #Zka @ ¤« #ktok5a @ ¤«¤¤ #Zkai @ ¤«¤·¤é #Zkasira @ ¤«¤·¤é¤ó #Zkasira @ ¤«¤Ê #Zkana @ ¤¬¤¿ #yasui @ ¤¬¤Á #D2T16 @ ¤­ #ktok5i @ ¤­¤ã #ktok5ya @ #kykya @ #k5ya @ ¤­¤ã¤¢ #ktok5ya @ #kykya @ #k5ya @ ¤®¤ã #g5ya @ ¤®¤ã¤¢ #g5ya @ ¤¯ #ktok5u @ ¤¯¤é¤¤ #FKN @ ¤¯¤ê¤ã #kxya @ ¤¯¤ó #JNSUC ·¯ ¤¯¤ó ¤°¤é¤¤ #FKN @ ¤± #ktok5e @ ¤±¤É #Skeredo ¤±¤É ¤±¤É¤â #Skeredo @ ¤±¤ê¤ã #kykya @ ¤³ #ktok5o @ ¤³¤½ #FKN @ ¤µ #Zsa @ ¤µ¤· #sasiru ¤µ¤· ¤µ¤Þ #JNSUC ÍÍ ¤µ¤Þ ¤µ¤ó #JNSUC ¤µ¤ó ¤· #siru @ #JNSUC »á #k5siru @ ¤·¤ã #s5ya @ ¤·¤ã¤¢ #s5ya @ ¤¸¤Þ #jau @ ¤¸¤ã #jau @ #kdya @ ¤¸¤ã¤ó #djan @ ¤¹¤ê¤ã #sxya @ ¤¹¤ê¤ã¤¢ #sxya @ ¤º¤ê¤ã #zxya @ ¤º¤ê¤ã¤¢ #zxya @ ¤¼ #Zze @ ¤¾ #Zzo @ ¤¿¤Ã¤Æ #ktemo @ ¤¿¤á #KN @ ¤À¤± #FKN @ ¤Á¤Þ #chau @ ¤Á¤ã #chau @ #ktya @ #t5ya @ ¤Á¤ã¤¢ #ktya @ #t5ya @ ¤Á¤ã¤ó #JNSUC ¤Á¤ã¤ó ¤Ã¤± #kke @ ¤Ã¤¹ #ssu @ ¤Ã¤¿¤Ã¤Æ #Fttatte @ ¤Ã¤¿¤é #Fttara @ ¤Ã¤Æ¤Ð #Fttara @ ¤Ã¤È #Ztto @ ¤Ã¤Ñ¤Ê¤· #D2T35 ¤Ã¤Ñ¤Ê¤· ¤Å¤é #yasui @ ¤Æ #kte2 @ ¤È #kto @ ¤È¤â #Ztomo @ ¤É #kdo @ ¤É¤Î #JNSUC Å ¤É¤Î ¤Ê #Zna @ ¤Ê¤¢ #Znaa @ ¤Ê¤É #FKN @ ¤Ë #Zni @ ¤Ë¤ã #n5ya @ ¤Ë¤ã #nainya @ ¤Ë¤ã¤¢ #n5ya @ ¤Ë¤ã¤¢ #nainya @ ¤Ë¤¯ #yasui @ ¤Í #Zne @ ¤Í¤¨ #Znee @ ¤Í¤¨ #nainee @ ¤Î #Zno @ ¤Ï¤º #KN @ #TKN @ ¤Ó¤ã #b5ya @ ¤Ó¤ã¤¢ #b5ya @ ¤Þ¤Þ #KN @ ¤ß¤ã #m5ya @ ¤ß¤ã¤¢ #m5ya @ ¤â¤Î #Zmono @ ¤â¤ó #Zmono @ ¤ä #Zya @ ¤ä¤¬ #yagaru @ ¤ä¤¹ #yasui @ ¤è #Zyo @ ¤è¤Ê #Zyona @ ¤è¤Ê¤¢ #Zyona @ ¤ê¤ã #r5ya @ #ksya @ ¤ê¤ã¤¢ #r5ya @ #ksya @ ¤ì #rareru ¤ì ¤ï #Zwa @ ¤ï¤± #TKN @ ¤ó #nn @ ¤ó #r5nO @ ¤ó #JTNN @ ¤ó¤Ç #Snode @ Canna37p3/dic/ideo/words/Imakefile0100644000076500001200000000743107735225677016324 0ustar shinraadmin/* $Id: Imakefile,v 1.6 2003/09/27 06:18:39 aida_s Exp $ */ #include "../../../Canna.conf" #ifdef __EMX__ CANNAROOT = ..\\..\\.. CANNACMDDIR = $(CANNAROOT)\\cmd FORCPP = $(CANNACMDDIR)\\forcpp\\forcpp.exe FORSORT = $(CANNACMDDIR)\\forsort\\forsort.exe SORT = gsort SED = sed SPLITWORD = $(CANNACMDDIR)\\splitwd\\splitword MERGEWORD = $(CANNACMDDIR)\\mergewd\\mergeword CRXDIC = $(CANNACMDDIR)\\crxdic\\crxdic CRFREQ = $(CANNACMDDIR)\\crfreq\\crfreq #else CANNAROOT = ../../.. CANNACMDDIR = $(CANNAROOT)/cmd FORCPP = $(CANNACMDDIR)/forcpp/forcpp FORSORT = $(CANNACMDDIR)/forsort/forsort SORT = sort SED = sed SPLITWORD = $(CANNACMDDIR)/splitwd/splitword MERGEWORD = $(CANNACMDDIR)/mergewd/mergeword CRXDIC = $(CANNACMDDIR)/crxdic/crxdic CRFREQ = $(CANNACMDDIR)/crfreq/crfreq #endif CANNADICDIR = $(DicDir)/canna SAMPLEDIR = $(CANNADIR)/sample SAMPLESRCDIR = $(CANNADIR)/sample/src #ifdef USE_OBSOLETE_STYLE_FILENAME TARGETS = iroha.d iroha.fq bushu.fq #else TARGETS = iroha.cbd iroha.cld bushu.cld #endif FUZOKUGODIC = ../grammar/cnj.bits #ifdef DIC_3_6_COMPAT COMPATFLAG = -c 3.0 #endif AllTarget($(TARGETS)) iroha.cbd iroha.cld: $(pubdicDir)/iroha.t bushu.cbd $(FUZOKUGODIC) $(CRXDIC) $(COMPATFLAG) -D $(FUZOKUGODIC) -m -o iroha.cbd -n iroha $(pubdicDir)/iroha.t $(CRFREQ) -div 512 -o iroha.cld iroha.cbd iroha.mwd cat bushu.cbd >> iroha.cbd iroha.d iroha.fq: $(pubdicDir)/iroha.t bushu.d $(FUZOKUGODIC) $(CRXDIC) $(COMPATFLAG) -D $(FUZOKUGODIC) -m -o iroha.d -n iroha $(pubdicDir)/iroha.t $(CRFREQ) -div 512 -o iroha.fq iroha.d iroha.mwd cat bushu.d >> iroha.d clean:: $(RM) $(TARGETS) bushu.cbd bushu.d bushu.cbd bushu.cld: bushu.t $(FUZOKUGODIC) $(CRXDIC) $(COMPATFLAG) -D $(FUZOKUGODIC) -m -o bushu.cbd -n bushu bushu.t $(CRFREQ) -o bushu.cld bushu.cbd bushu.mwd bushu.d bushu.fq: bushu.t $(FUZOKUGODIC) $(CRXDIC) $(COMPATFLAG) -D $(FUZOKUGODIC) -m -o bushu.d -n bushu bushu.t $(CRFREQ) -o bushu.fq bushu.d bushu.mwd MakeDirectories(install,$(CANNADICDIR)) InstallMultipleFlags($(TARGETS),$(CANNADICDIR),-m 0664 $(cannaOwnerGroup)) #ifdef USE_OBSOLETE_STYLE_FILENAME InstallNamedNonExec(obsolete.dir,dics.dir,$(CANNADICDIR)) #else InstallNonExec(dics.dir,$(CANNADICDIR)) #endif install:: $(CHGRP) $(cannaGroup) $(DESTDIR)$(CANNADICDIR) $(CHOWN) $(cannaOwner) $(DESTDIR)$(CANNADICDIR) $(CHMOD) ug+w $(DESTDIR)$(CANNADICDIR) $(CHGRP) $(cannaGroup) $(DESTDIR)$(DicDir) $(CHOWN) $(cannaOwner) $(DESTDIR)$(DicDir) $(CHMOD) ug+w $(DESTDIR)$(DicDir) $(CHMOD) -w $(DESTDIR)$(CANNADICDIR)/dics.dir #ifndef USE_OBSOLETE_STYLE_FILENAME InstallNamedNonExec(necgaiji.t,necgaiji.ctd,$(CANNADICDIR)) InstallNamedNonExec(kanasmpl.t,kanasmpl.ctd,$(CANNADICDIR)) InstallNamedNonExec(software.t,software.ctd,$(CANNADICDIR)) InstallNamedNonExec(chimei.t,chimei.ctd,$(CANNADICDIR)) InstallNamedNonExec(hojomwd.t,hojomwd.ctd,$(CANNADICDIR)) InstallNamedNonExec(hojoswd.t,hojoswd.ctd,$(CANNADICDIR)) InstallNamedNonExec(suffix.t,suffix.ctd,$(CANNADICDIR)) InstallNamedNonExec(number.t,number.ctd,$(CANNADICDIR)) InstallNamedNonExec(katakana.t,katakana.ctd,$(CANNADICDIR)) InstallNamedNonExec(keishiki.t,keishiki.ctd,$(CANNADICDIR)) install:: cd $(DESTDIR)$(CANNADICDIR) ; $(CHMOD) 0664 *.ctd ;\ $(CHOWN) $(cannaOwner) *.ctd ; $(CHGRP) $(cannaGroup) *.ctd #else TEXTDICS = necgaiji.t kanasmpl.t software.t chimei.t \ hojomwd.t hojoswd.t suffix.t number.t katakana.t keishiki.t InstallMultipleFlags($(TEXTDICS),$(CANNADICDIR),-m 0664 $(cannaOwnerGroup)) #endif depend:: Canna37p3/dic/ideo/words/kanasmpl.t0100644000076500001200000003342207735225677016505 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: kanasmpl.t,v 1.2 2003/09/27 06:18:39 aida_s Exp $ # ¤¢¡¼¤®¤å¤á¤ó¤È #T30 ¥¢¡¼¥®¥å¥á¥ó¥È ¤¢¡¼¤È #T30 ¥¢¡¼¥È ¤¢¡¼¤Ó¤¿ #T35 ¥¢¡¼¥Ó¥¿ ¤¢¡¼¤Ó¤È¤ì¡¼¤·¤ç¤ó #T35 ¥¢¡¼¥Ó¥È¥ì¡¼¥·¥ç¥ó ¤¢¡¼¤à #T35 ¥¢¡¼¥à ¤¢¡¼¤ë #T35 ¥¢¡¼¥ë ¤¢¤¦¤È¤×¤Ã¤È #T30 ¥¢¥¦¥È¥×¥Ã¥È ¤¢¤¦¤È¤é¤¤¤ó #T30 ¥¢¥¦¥È¥é¥¤¥ó ¤¢¤«¤Ç¤ß¡¼ #T35 ¥¢¥«¥Ç¥ß¡¼ ¤¢¤¯¤¤¤¸¤·¤ç¤ó #T35 ¥¢¥¯¥¤¥¸¥·¥ç¥ó ¤¢¤¯¤»¤é¤ì¡¼¤¿ #T35 ¥¢¥¯¥»¥é¥ì¡¼¥¿ ¤¢¤µ¡¼¤·¤ç¤ó #T35 ¥¢¥µ¡¼¥·¥ç¥ó ¤¢¤¹¤­¡¼ #T35 ¥¢¥¹¥­¡¼ ¤¢¤Ã¤Ñ¡¼ #T35 ¥¢¥Ã¥Ñ¡¼ ¤¢¤Ã¤×¤Ç¡¼¤È #T30 ¥¢¥Ã¥×¥Ç¡¼¥È ¤¢¤È¤ê¤Ó¤å¡¼¤È #T30 ¥¢¥È¥ê¥Ó¥å¡¼¥È ¤¢¤É¤ª¤ó #T35 ¥¢¥É¥ª¥ó ¤¢¤É¤Ð¤¤¤¶ #T35 ¥¢¥É¥Ð¥¤¥¶ ¤¢¤É¤ì¤¹ #T30 ¥¢¥É¥ì¥¹ ¤¢¤Ê¤ê¤·¤¹ #T35 ¥¢¥Ê¥ê¥·¥¹ ¤¢¤Ë¤á¡¼¤·¤ç¤ó #T30 ¥¢¥Ë¥á¡¼¥·¥ç¥ó ¤¢¤Î¡¼¤É #T35 ¥¢¥Î¡¼¥É ¤¢¤Ñ¤Á¤ã #T35 ¥¢¥Ñ¥Á¥ã ¤¢¤Õ¤¿¡¼ #T30 ¥¢¥Õ¥¿¡¼ ¤¢¤Ú¤ó¤É #T30 ¥¢¥Ú¥ó¥É ¤¢¤Þ #T35 ¥¢¥Þ ¤¢¤Þ¤Á¤å¤¢ #T15 ¥¢¥Þ¥Á¥å¥¢ ¤¢¤é¡¼¤à #T30 ¥¢¥é¡¼¥à ¤¢¤ë¤´¤ë #T35 ¥¢¥ë¥´¥ë ¤¢¤í¡¼ #T35 ¥¢¥í¡¼ ¤¢¤í¡¼¤ó #T35 ¥¢¥í¡¼¥ó ¤¢¤ó¤É¤¦ #T30 ¥¢¥ó¥É¥¦ ¤¢¤ó¤Ñ¤Ã¤¯ #T35 ¥¢¥ó¥Ñ¥Ã¥¯ ¤¢¤ó¤Õ¤§¤Î¡¼¤ë #T35 ¥¢¥ó¥Õ¥§¥Î¡¼¥ë ¤¤¡¼¤Þ¤Ã¤¯¤¹ #T35 ¥¤¡¼¥Þ¥Ã¥¯¥¹ ¤¤¤¿¤ê¤Ã¤¯ #T35 ¥¤¥¿¥ê¥Ã¥¯ ¤¤¤Ù¤ó¤È #T30 ¥¤¥Ù¥ó¥È ¤¤¤ó¤¿ #T35 ¥¤¥ó¥¿ ¤¤¤ó¤¿¤Í¤Ã¤È #T35 ¥¤¥ó¥¿¥Í¥Ã¥È ¤¤¤ó¤¿¤Õ¤§¡¼¤¹ #T30 ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ ¤¤¤ó¤¿¤×¤ê¤Æ¤£¤Ö #T10 ¥¤¥ó¥¿¥×¥ê¥Æ¥£¥Ö ¤¤¤ó¤¿¤é¤×¤È #T30 ¥¤¥ó¥¿¥é¥×¥È ¤¤¤ó¤¿¤ê¡¼¤Ö #T35 ¥¤¥ó¥¿¥ê¡¼¥Ö ¤¤¤ó¤Æ¤ê¤¸¤§¤ó¤È #T30 ¥¤¥ó¥Æ¥ê¥¸¥§¥ó¥È ¤¤¤ó¤Ç¤£¤±¡¼¤¿ #T35 ¥¤¥ó¥Ç¥£¥±¡¼¥¿ ¤¤¤ó¤Ç¤Ã¤¯¤¹ #T30 ¥¤¥ó¥Ç¥Ã¥¯¥¹ ¤¤¤ó¤Õ¤£¤Ã¤¯¤¹ #T35 ¥¤¥ó¥Õ¥£¥Ã¥¯¥¹ ¤¤¤ó¤Ý¡¼¤º #T30 ¥¤¥ó¥Ý¡¼¥º ¤¦¤©¡¼¤¿ #T35 ¥¦¥©¡¼¥¿ ¤¨¤­¤¹¤Ñ¡¼¤È #T15 ¥¨¥­¥¹¥Ñ¡¼¥È ¤¨¤ß¤Ã¤¿ #T35 ¥¨¥ß¥Ã¥¿ ¤¨¤ß¤å¤ì¡¼¤·¤ç¤ó #T30 ¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó ¤¨¤ì¤á¤ó¤È #T35 ¥¨¥ì¥á¥ó¥È ¤¨¤ó¤È¤ê #T30 ¥¨¥ó¥È¥ê ¤¨¤ó¤É #T30 ¥¨¥ó¥É ¤ª¡¼¤À #T30 ¥ª¡¼¥À ¤ª¡¼¤È #T35 ¥ª¡¼¥È ¤ª¡¼¤È¤Þ¤Á¤Ã¤¯ #T15 ¥ª¡¼¥È¥Þ¥Á¥Ã¥¯ ¤ª¡¼¤È¤Þ¤Æ¤£¤º¤à #T35 ¥ª¡¼¥È¥Þ¥Æ¥£¥º¥à ¤ª¡¼¤Ð #T10 ¥ª¡¼¥Ð ¤ª¡¼¤Ð¡¼ #T10 ¥ª¡¼¥Ð¡¼ ¤ª¡¼¤Ð¤Ñ¤ó¤Á #T30 ¥ª¡¼¥Ð¥Ñ¥ó¥Á ¤ª¡¼¤Ð¤Ø¤Ã¤É #T30 ¥ª¡¼¥Ð¥Ø¥Ã¥É ¤ª¡¼¤Ð¤ì¤¤ #T30 ¥ª¡¼¥Ð¥ì¥¤ ¤ª¤¯¤¿¤ë #T35 ¥ª¥¯¥¿¥ë ¤ª¤¹ #T30 ¥ª¥¹ ¤ª¤Õ¤³¤ó #T35 ¥ª¥Õ¥³¥ó ¤ª¤Õ¤»¤Ã¤È #T30 ¥ª¥Õ¥»¥Ã¥È ¤ª¤Ú¤ì¡¼¤·¤ç¤ó¤º #T35 ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥º ¤ª¤ó¤¶¤Õ¤é¤¤ #T35 ¥ª¥ó¥¶¥Õ¥é¥¤ ¤ª¤ó¤Ü¡¼¤É #T35 ¥ª¥ó¥Ü¡¼¥É ¤«¡¼¤Ü¤ó #T35 ¥«¡¼¥Ü¥ó ¤«¤¹¤¿¤à #T25 ¥«¥¹¥¿¥à ¤«¤½¡¼¤É #T35 ¥«¥½¡¼¥É ¤«¤Ã¤× #T35 ¥«¥Ã¥× ¤«¤×¤é #T35 ¥«¥×¥é ¤«¤ë¤Á¤ã¡¼ #T35 ¥«¥ë¥Á¥ã¡¼ ¤«¤ë¤Î¡¼ #T35 ¥«¥ë¥Î¡¼ ¤«¤ë¤í #T35 ¥«¥ë¥í ¤¬¡¼¤Ù¤Ã¤¸ #T35 ¥¬¡¼¥Ù¥Ã¥¸ ¤¬¤¤¤À¤ó¤¹ #T35 ¥¬¥¤¥À¥ó¥¹ ¤¬¤¤¤É¤é¤¤¤ó #T35 ¥¬¥¤¥É¥é¥¤¥ó ¤­¤ã¤Ñ¤·¤Æ¤£ #T35 ¥­¥ã¥Ñ¥·¥Æ¥£ ¤­¤ã¤Ô¤¿¤ë #T35 ¥­¥ã¥Ô¥¿¥ë ¤­¤ã¤ê¤Ã¤¸ #T35 ¥­¥ã¥ê¥Ã¥¸ ¤­¤å¡¼¤¤¤ó¤° #T30 ¥­¥å¡¼¥¤¥ó¥° ¤®¤¬ #T35 ¥®¥¬ ¤¯¤©¡¼¤È #T30 ¥¯¥©¡¼¥È ¤¯¤é¤Ã¤·¤å #T30 ¥¯¥é¥Ã¥·¥å ¤¯¤ê¤¢ #T30 ¥¯¥ê¥¢ ¤¯¤ê¤¨¡¼¤È #T30 ¥¯¥ê¥¨¡¼¥È ¤¯¤ê¤¨¤¤¤Æ¤£¤Ö #T15 ¥¯¥ê¥¨¥¤¥Æ¥£¥Ö ¤¯¤í¡¼¤º¤É #T30 ¥¯¥í¡¼¥º¥É ¤¯¤í¤¹¤Õ¤Ã¤È #T35 ¥¯¥í¥¹¥Õ¥Ã¥È ¤¯¤í¤à #T35 ¥¯¥í¥à ¤°¤ì¡¼¤É #T35 ¥°¥ì¡¼¥É ¤±¤¢ #T35 ¥±¥¢ ¤³¤¹¤È #T30 ¥³¥¹¥È ¤³¤Ü¤ë #T35 ¥³¥Ü¥ë ¤³¤Þ¤ó¤À¡¼ #T35 ¥³¥Þ¥ó¥À¡¼ ¤³¤ß¤å¤Ë¤Æ¤£ #T35 ¥³¥ß¥å¥Ë¥Æ¥£ ¤³¤â¤ó #T35 ¥³¥â¥ó ¤³¤ì¤¯¤¿ #T35 ¥³¥ì¥¯¥¿ ¤³¤ì¤¯¤È #T35 ¥³¥ì¥¯¥È ¤³¤ó¤«¤ì¤ó¤· #T35 ¥³¥ó¥«¥ì¥ó¥· ¤³¤ó¤»¤×¤È #T30 ¥³¥ó¥»¥×¥È ¤³¤ó¤À¤¯¤¿ #T35 ¥³¥ó¥À¥¯¥¿ ¤³¤ó¤Æ¤ó¤·¤ç¤ó #T35 ¥³¥ó¥Æ¥ó¥·¥ç¥ó ¤µ¡¼¤É #T35 ¥µ¡¼¥É ¤µ¤¤¤Ð¤Í¤Æ¤£¤Ã¤¯¤¹ #T35 ¥µ¥¤¥Ð¥Í¥Æ¥£¥Ã¥¯¥¹ ¤µ¤Ö #T35 ¥µ¥Ö ¤µ¤Ö¤ë¡¼¤Á¤ó #T35 ¥µ¥Ö¥ë¡¼¥Á¥ó ¤µ¤ó¤×¤ë #T30 ¥µ¥ó¥×¥ë ¤¶¤° #T35 ¥¶¥° ¤·¡¼¤±¤ó¤¹ #T30 ¥·¡¼¥±¥ó¥¹ ¤·¡¼¤È #T30 ¥·¡¼¥È ¤·¤§¡¼¤Ç¤£¤ó¤° #T35 ¥·¥§¡¼¥Ç¥£¥ó¥° ¤·¤§¡¼¤É #T35 ¥·¥§¡¼¥É ¤·¤§¤¢ #T30 ¥·¥§¥¢ ¤·¤§¤¢¤É #T35 ¥·¥§¥¢¥É ¤·¤°¤Þ #T35 ¥·¥°¥Þ ¦² ¤·¤Ã¤× #T35 ¥·¥Ã¥× ¤·¤Õ¤¿ #T35 ¥·¥Õ¥¿ ¤·¤ã¡¼¤· #T35 ¥·¥ã¡¼¥· ¤·¤ã¤ï¡¼ #T35 ¥·¥ã¥ï¡¼ ¤·¤ç¡¼¤È #T30 ¥·¥ç¡¼¥È ¤·¤ê¤¢¤ë #T35 ¥·¥ê¥¢¥ë ¤·¤ê¤ó¤À #T35 ¥·¥ê¥ó¥À ¤·¤ó¤¯ #T35 ¥·¥ó¥¯ ¤·¤ó¤Ü¤ê¤Ã¤¯ #T35 ¥·¥ó¥Ü¥ê¥Ã¥¯ ¤¸¤§¤Í¤ì¡¼¤·¤ç¤ó #T35 ¥¸¥§¥Í¥ì¡¼¥·¥ç¥ó ¤¸¤° #T35 ¥¸¥° ¤¸¤ã¤Ñ¤ó #T35 ¥¸¥ã¥Ñ¥ó ¤¸¤ç¤¤ #T35 ¥¸¥ç¥¤ ¤¸¤ç¤¤¤¹¤Æ¤£¤Ã¤¯ #T35 ¥¸¥ç¥¤¥¹¥Æ¥£¥Ã¥¯ ¤¹¡¼¤Ñ #T35 ¥¹¡¼¥Ñ ¤¹¤«¤é #T30 ¥¹¥«¥é ¤¹¤­¤å¡¼ #T30 ¥¹¥­¥å¡¼ ¤¹¤¯¤ê¤×¤È #T30 ¥¹¥¯¥ê¥×¥È ¤¹¤¿¤Ã¤« #T35 ¥¹¥¿¥Ã¥« ¤¹¤¿¤Ã¤¯ #T30 ¥¹¥¿¥Ã¥¯ ¤¹¤¿¤Æ¤£¤µ¤¤¤¶ #T30 ¥¹¥¿¥Æ¥£¥µ¥¤¥¶ ¤¹¤¿¤Æ¤£¤Ã¤¯ #T35 ¥¹¥¿¥Æ¥£¥Ã¥¯ ¤¹¤¿¤ó¤À¡¼¤É #T35 ¥¹¥¿¥ó¥À¡¼¥É ¤¹¤¿¤ó¤Ð¤¤ #T30 ¥¹¥¿¥ó¥Ð¥¤ ¤¹¤Æ¤£¤Ã¤¯ #T30 ¥¹¥Æ¥£¥Ã¥¯ ¤¹¤Æ¤Ã¤Ô¤ó¤° #T35 ¥¹¥Æ¥Ã¥Ô¥ó¥° ¤¹¤È¡¼¤ë #T30 ¥¹¥È¡¼¥ë ¤¹¤È¤é¤¤¤× #T35 ¥¹¥È¥é¥¤¥× ¤¹¤È¤é¤¯¤È #T30 ¥¹¥È¥é¥¯¥È ¤¹¤Ê¤Ã¤×¤·¤ç¤Ã¤È #T30 ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È ¤¹¤Ô¡¼¤«¡¼ #T35 ¥¹¥Ô¡¼¥«¡¼ ¤¹¤×¡¼¤ê¤ó¤° #T30 ¥¹¥×¡¼¥ê¥ó¥° ¤¹¤×¤é¤¤¤È #T35 ¥¹¥×¥é¥¤¥È ¤¹¤×¤ì¡¼ #T30 ¥¹¥×¥ì¡¼ ¤¹¤×¤ì¤Ã¤É #T35 ¥¹¥×¥ì¥Ã¥É ¤¹¤Ú¡¼¤µ #T35 ¥¹¥Ú¡¼¥µ ¤¹¤Ú¡¼¤·¤ó¤° #T35 ¥¹¥Ú¡¼¥·¥ó¥° ¤¹¤Ú¡¼¤¹ #T30 ¥¹¥Ú¡¼¥¹ ¤¹¤Ú¤·¤ã¤ë #T35 ¥¹¥Ú¥·¥ã¥ë ¤¹¤à¡¼¤¸¤ó¤° #T35 ¥¹¥à¡¼¥¸¥ó¥° ¤¹¤â¡¼¤ë #T05 ¥¹¥â¡¼¥ë ¤¹¤é¤¤¤·¤ó¤° #T35 ¥¹¥é¥¤¥·¥ó¥° ¤¹¤ë¡¼ #T30 ¥¹¥ë¡¼ ¤¹¤ë¡¼¤×¤Ã¤È #T30 ¥¹¥ë¡¼¥×¥Ã¥È ¤¹¤ì¡¼¤Ö #T30 ¥¹¥ì¡¼¥Ö ¤¹¤ï¤Ã¤Ô¤ó¤° #T30 ¥¹¥ï¥Ã¥Ô¥ó¥° ¤»¤¯¤¿ #T35 ¥»¥¯¥¿ ¤»¤¯¤¿¡¼ #T35 ¥»¥¯¥¿¡¼ ¤»¤°¤á¤ó¤È #T30 ¥»¥°¥á¥ó¥È ¤»¤Ã¤·¤ç¤ó #T30 ¥»¥Ã¥·¥ç¥ó ¤»¤Ã¤È #T30 ¥»¥Ã¥È ¤»¤Þ¤ó¤Æ¤£¤¯ #T35 ¥»¥Þ¥ó¥Æ¥£¥¯ ¤»¤ß¤Ê¡¼ #T30 ¥»¥ß¥Ê¡¼ ¤»¤ë¤Õ #T15 ¥»¥ë¥Õ ¤»¤ì¤¯¤·¤ç¤ó #T30 ¥»¥ì¥¯¥·¥ç¥ó ¤»¤ì¤¯¤Æ¤£¤ó¤° #T30 ¥»¥ì¥¯¥Æ¥£¥ó¥° ¤»¤ó¤¹ #T30 ¥»¥ó¥¹ ¤»¤ó¤¿¤ê¤ó¤° #T30 ¥»¥ó¥¿¥ê¥ó¥° ¤»¤ó¤È¤í #T35 ¥»¥ó¥È¥í ¤»¤ó¤È¤í¤Ë¤¯¤¹ #T35 ¥»¥ó¥È¥í¥Ë¥¯¥¹ ¤¼¤Í¤ì¡¼¤¿ #T35 ¥¼¥Í¥ì¡¼¥¿ ¤½¡¼¤Æ¤£¤ó¤° #T30 ¥½¡¼¥Æ¥£¥ó¥° ¤½¤Õ¤È #T35 ¥½¥Õ¥È ¤¾¡¼¤ó #T35 ¥¾¡¼¥ó ¤¿¡¼¤ß¤Ê¤ë #T30 ¥¿¡¼¥ß¥Ê¥ë ¤¿¡¼¤ó¤¢¤é¤¦¤ó¤É #T30 ¥¿¡¼¥ó¥¢¥é¥¦¥ó¥É ¤¿¤¤¤Ô¤ó¤° #T30 ¥¿¥¤¥Ô¥ó¥° ¤¿¤¤¤à #T30 ¥¿¥¤¥à ¤¿¤¹¤­¤ó¤° #T30 ¥¿¥¹¥­¥ó¥° ¤¿¤Ö¤ì¤Ã¤È #T30 ¥¿¥Ö¥ì¥Ã¥È ¤À¤¤¤¢¤ë¤¤¤ó #T30 ¥À¥¤¥¢¥ë¥¤¥ó ¤À¤¤¤¢¤í¤° #T35 ¥À¥¤¥¢¥í¥° ¤À¤¤¤Ê¤ß¤µ¤¤¤¶ #T35 ¥À¥¤¥Ê¥ß¥µ¥¤¥¶ ¤À¤¤¤Ê¤ß¤Ã¤¯ #T15 ¥À¥¤¥Ê¥ß¥Ã¥¯ ¤À¤Ö¤ë #T30 ¥À¥Ö¥ë ¤À¤ß¡¼ #T30 ¥À¥ß¡¼ ¤À¤á¡¼¤¸ #T30 ¥À¥á¡¼¥¸ ¤À¤é¤¹ #T30 ¥À¥é¥¹ ¤Á¤§¤¤¤ó #T30 ¥Á¥§¥¤¥ó ¤Á¤ã¤É #T35 ¥Á¥ã¥É ¤Á¤ã¤É¤ì¤¹ #T35 ¥Á¥ã¥É¥ì¥¹ ¤Á¤ã¤ó¤¹ #T15 ¥Á¥ã¥ó¥¹ ¤Á¤å¡¼¤ê¤ó¤° #T30 ¥Á¥å¡¼¥ê¥ó¥° ¤Ä¤¢¡¼ #T35 ¥Ä¥¢¡¼ ¤Æ¡¼¤× #T30 ¥Æ¡¼¥× ¤Æ¤­¤µ¤¹ #T30 ¥Æ¥­¥µ¥¹ ¤Æ¤­¤¹¤È #T30 ¥Æ¥­¥¹¥È ¤Æ¤¯ #T30 ¥Æ¥¯ ¤Æ¤¯¤Î #T35 ¥Æ¥¯¥Î ¤Æ¤é #T30 ¥Æ¥é ¤Æ¤ë¤Í¤Ã¤È #T35 ¥Æ¥ë¥Í¥Ã¥È ¤Æ¤ì¤¿¤¤¤× #T35 ¥Æ¥ì¥¿¥¤¥× ¤Æ¤ì¤Ã¤¯¤¹ #T30 ¥Æ¥ì¥Ã¥¯¥¹ ¤Æ¤ì¤Ó #T30 ¥Æ¥ì¥Ó ¤Ç¤£¤¹¤±¤Ã¤È #T30 ¥Ç¥£¥¹¥±¥Ã¥È ¤Ç¤£¤¹¤È¤ê¤Ó¤å¡¼¤·¤ç¤ó #T35 ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó ¤Ç¤£¤¹¤×¤ì¤¤ #T35 ¥Ç¥£¥¹¥×¥ì¥¤ ¤Ç¤£¤Ã¤× #T30 ¥Ç¥£¥Ã¥× ¤Ç¤¤¤¸¡¼ #T35 ¥Ç¥¤¥¸¡¼ ¤Ç¤·¤Þ¤ë #T35 ¥Ç¥·¥Þ¥ë ¤Ç¤¸¤¿¤ë #T35 ¥Ç¥¸¥¿¥ë ¤Ç¤Ã¤¯ #T30 ¥Ç¥Ã¥¯ ¤Ç¤á¤ê¤Ã¤È #T05 ¥Ç¥á¥ê¥Ã¥È ¤Ç¤â¤ó¤¹¤È¤ì¡¼¤·¤ç¤ó #T35 ¥Ç¥â¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó ¤Ç¤å¤¢¤ë #T35 ¥Ç¥å¥¢¥ë ¤Ç¤ê¤±¡¼¤È #T15 ¥Ç¥ê¥±¡¼¥È ¤È¡¼¤¯ #T30 ¥È¡¼¥¯ ¤È¡¼¤¿¤ë #T30 ¥È¡¼¥¿¥ë ¤È¡¼¤ó #T35 ¥È¡¼¥ó ¤È¤é¤Ã¤­¤ó¤° #T35 ¥È¥é¥Ã¥­¥ó¥° ¤È¤é¤Ã¤¯ #T30 ¥È¥é¥Ã¥¯ ¤È¤é¤Õ¤£¤Ã¤¯ #T30 ¥È¥é¥Õ¥£¥Ã¥¯ ¤È¤é¤Ö¤ë #T30 ¥È¥é¥Ö¥ë ¤È¤é¤ó¤¶¤¯¤·¤ç¤ó #T30 ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó ¤È¤é¤ó¤¹ #T30 ¥È¥é¥ó¥¹ ¤È¤é¤ó¤¹¤Ú¤¢¤ì¤ó¤· #T30 ¥È¥é¥ó¥¹¥Ú¥¢¥ì¥ó¥· ¤È¤é¤ó¤¹¤Ú¤¢¤ì¤ó¤È #T30 ¥È¥é¥ó¥¹¥Ú¥¢¥ì¥ó¥È ¤È¤é¤ó¤¹¤Ý¡¼¤¿ #T35 ¥È¥é¥ó¥¹¥Ý¡¼¥¿ ¤È¤é¤ó¤¹¤ì¡¼¤¿ #T35 ¥È¥é¥ó¥¹¥ì¡¼¥¿ ¤È¤ê¤¬¡¼ #T30 ¥È¥ê¥¬¡¼ ¤È¤ì¡¼¤µ #T35 ¥È¥ì¡¼¥µ ¤È¤ì¡¼¤·¤ó¤° #T35 ¥È¥ì¡¼¥·¥ó¥° ¤È¤ì¡¼¤Ê #T35 ¥È¥ì¡¼¥Ê ¤È¤í¤ó #T35 TRON ¥È¥í¥ó ¤É¤­¤å¤á¤ó¤È #T30 ¥É¥­¥å¥á¥ó¥È ¤É¤á¤¤¤ó #T30 ¥É¥á¥¤¥ó ¤É¤é¤Ã¤­¤ó¤° #T30 ¥É¥é¥Ã¥­¥ó¥° ¤É¤é¤Õ¤È #T30 ¥É¥é¥Õ¥È ¤É¤í¤Ã¤× #T30 ¥É¥í¥Ã¥× ¤Ê¤ó¤Ð¡¼ #T30 ¥Ê¥ó¥Ð¡¼ ¤Ë¤Ã¤«¤É #T35 ¥Ë¥Ã¥«¥É ¤Ë¤å¡¼ #T35 ¥Ë¥å¡¼ ¤Ë¤å¡¼¤¹ #T30 ¥Ë¥å¡¼¥¹ ¤Ë¤å¡¼¤é¤ë #T35 ¥Ë¥å¡¼¥é¥ë ¤Ë¤å¡¼¤í #T35 ¥Ë¥å¡¼¥í ¤Ë¤å¤¢¤ó¤¹ #T30 ¥Ë¥å¥¢¥ó¥¹ ¤Í¡¼¤à #T30 ¥Í¡¼¥à ¤Í¤¬¤Æ¤£¤Ö #T30 ¥Í¥¬¥Æ¥£¥Ö ¤Í¤Ã¤È #T30 ¥Í¥Ã¥È ¤Í¤Ã¤È¤ï¡¼¤¯ #T30 ¥Í¥Ã¥È¥ï¡¼¥¯ ¤Î¡¼ #T35 ¥Î¡¼ ¤Î¤ó¤¤¤ó¤Ñ¤¯¤È #T30 ¥Î¥ó¥¤¥ó¥Ñ¥¯¥È ¤Î¤ó¤í¤Ã¤­¤ó¤° #T30 ¥Î¥ó¥í¥Ã¥­¥ó¥° ¤Ï¤¤ #T15 ¥Ï¥¤ ¤Ï¤¤¤°¤ì¡¼¤É #T15 ¥Ï¥¤¥°¥ì¡¼¥É ¤Ï¤¤¤Ö¤ê¤Ã¤É #T35 ¥Ï¥¤¥Ö¥ê¥Ã¥É ¤Ï¤¤¤é¤¤¤È #T35 ¥Ï¥¤¥é¥¤¥È ¤Ï¤¦¤¹¤­¡¼¤Ô¤ó¤° #T30 ¥Ï¥¦¥¹¥­¡¼¥Ô¥ó¥° ¤Ï¤ó¤À #T35 ¥Ï¥ó¥À ¤Ï¤ó¤É¤ë #T35 ¥Ï¥ó¥É¥ë ¤Ï¤ó¤Þ #T35 ¥Ï¥ó¥Þ ¤Ð¡¼¤¹¤È #T30 ¥Ð¡¼¥¹¥È ¤Ð¡¼¤Á¤ã¤ë #T30 ¥Ð¡¼¥Á¥ã¥ë ¤Ð¤¤¤Á #T35 ¥Ð¥¤¥Á ¤Ð¤¤¤È #T30 ¥Ð¥¤¥È ¤Ð¤¦¤ó¤É #T30 ¥Ð¥¦¥ó¥É ¤Ð¤Ã¤Æ¤ê #T35 ¥Ð¥Ã¥Æ¥ê ¤Ð¤Ã¤Õ¤¡ #T30 ¥Ð¥Ã¥Õ¥¡ ¤Ð¤Ã¤Õ¤¡¤ê¤ó¤° #T30 ¥Ð¥Ã¥Õ¥¡¥ê¥ó¥° ¤Ð¤é¤Ã¤¯ #T35 ¥Ð¥é¥Ã¥¯ ¤Ð¤ó¤¯ #T30 ¥Ð¥ó¥¯ ¤Ñ¡¼¤½¤Ê¤ë #T35 ¥Ñ¡¼¥½¥Ê¥ë ¤Ñ¡¼¤Õ¤©¤Þ¤ó¤¹ #T30 ¥Ñ¡¼¥Õ¥©¥Þ¥ó¥¹ ¤Ñ¤¦¤À¡¼ #T35 ¥Ñ¥¦¥À¡¼ ¤Ñ¤±¤Ã¤È #T30 ¥Ñ¥±¥Ã¥È ¤Ñ¤¹ #T30 ¥Ñ¥¹ ¤Ñ¤Ã¤Á #T35 ¥Ñ¥Ã¥Á ¤Ñ¤Í¤ë #T30 ¥Ñ¥Í¥ë ¤Ñ¤Ö¤ê¤Ã¤¯ #T35 ¥Ñ¥Ö¥ê¥Ã¥¯ ¤Ñ¤Ö¤ê¤Ã¤·¤ó¤° #T35 ¥Ñ¥Ö¥ê¥Ã¥·¥ó¥° ¤Ñ¤é #T35 ¥Ñ¥é ¤Ñ¤é¤ì¤ë #T15 ¥Ñ¥é¥ì¥ë ¤Ñ¤ó¤Á #T30 ¥Ñ¥ó¥Á ¤Ò¤å¡¼¤¸ #T30 ¥Ò¥å¡¼¥¸ ¤Ò¤å¡¼¤Þ¤ó #T30 ¥Ò¥å¡¼¥Þ¥ó ¤Ò¤å¡¼¤ì¤Ã¤È #T30 ¥Ò¥å¡¼¥ì¥Ã¥È ¤Ó¡¼¤à #T30 ¥Ó¡¼¥à ¤Ó¤¸¤Í¤¹ #T30 ¥Ó¥¸¥Í¥¹ ¤Ó¤¸¤å¤¢¤ë #T35 ¥Ó¥¸¥å¥¢¥ë ¤Ó¤¸¤ç¤ó #T30 ¥Ó¥¸¥ç¥ó ¤Ó¤¿¤ß¤ó #T35 ¥Ó¥¿¥ß¥ó ¤Ó¤Ç¤ª #T30 ¥Ó¥Ç¥ª ¤Ô¤¯¤»¤ë #T30 ¥Ô¥¯¥»¥ë ¤Ô¤¯¤Á¤ã #T35 ¥Ô¥¯¥Á¥ã ¤Ô¤³ #T30 ¥Ô¥³ ¤Ô¤Ã¤¯ #T30 ¥Ô¥Ã¥¯ ¤Ô¤Ã¤¿¤ê #T05 ¥Ô¥Ã¥¿¥ê ¤Ô¤Ã¤Á #T30 ¥Ô¥Ã¥Á ¤Ô¤ó #T30 ¥Ô¥ó ¤Ô¤ó¤Ü¡¼¤É #T35 ¥Ô¥ó¥Ü¡¼¥É ¤Õ¡¼¤É #T30 ¥Õ¡¼¥É ¤Õ¤¡¡¼¤¹¤È #T30 ¥Õ¥¡¡¼¥¹¥È ¤Õ¤¡¤¤¤Ê¤ë #T35 ¥Õ¥¡¥¤¥Ê¥ë ¤Õ¤¡¤¯¤·¤ß¤ê #T30 ¥Õ¥¡¥¯¥·¥ß¥ê ¤Õ¤¡¤¯¤¿ #T35 ¥Õ¥¡¥¯¥¿ ¤Õ¤¡¤¯¤¿¡¼ #T30 ¥Õ¥¡¥¯¥¿¡¼ ¤Õ¤¡¤¯¤È #T30 ¥Õ¥¡¥¯¥È ¤Õ¤¡¤·¤ê¤Æ¤£ #T30 ¥Õ¥¡¥·¥ê¥Æ¥£ ¤Õ¤¡¤¹¤È #T30 ¥Õ¥¡¥¹¥È ¤Õ¤¡¤Ã¤¯¤¹ #T35 ¥Õ¥¡¥Ã¥¯¥¹ ¤Õ¤¡¤ß¤³¤ó #T30 ¥Õ¥¡¥ß¥³¥ó ¤Õ¤¡¤ó #T30 ¥Õ¥¡¥ó ¤Õ¤¡¤ó¤¯¤·¤ç¤ó #T30 ¥Õ¥¡¥ó¥¯¥·¥ç¥ó ¤Õ¤£¡¼¤É #T30 ¥Õ¥£¡¼¥É ¤Õ¤£¡¼¤ë¤É #T30 ¥Õ¥£¡¼¥ë¥É ¤Õ¤£¤¯¤·¤ç¤ó #T30 ¥Õ¥£¥¯¥·¥ç¥ó ¤Õ¤£¤Ü¤Ê¤Ã¤Á #T30 ¥Õ¥£¥Ü¥Ê¥Ã¥Á ¤Õ¤§¡¼¤¹ #T35 ¥Õ¥§¡¼¥¹ ¤Õ¤§¡¼¤º #T30 ¥Õ¥§¡¼¥º ¤Õ¤©¡¼¤¯ #T30 ¥Õ¥©¡¼¥¯ ¤Õ¤©¡¼¤È¤é¤ó #T30 ¥Õ¥©¡¼¥È¥é¥ó ¤Õ¤©¡¼¤Þ¤ë #T30 ¥Õ¥©¡¼¥Þ¥ë ¤Õ¤©¡¼¤à #T30 ¥Õ¥©¡¼¥à ¤Õ¤©¡¼¤ë #T30 ¥Õ¥©¡¼¥ë ¤Õ¤©¡¼¤ë¤È #T30 ¥Õ¥©¡¼¥ë¥È ¤Õ¤©¤È #T35 ¥Õ¥©¥È ¤Õ¤©¤ë¤É #T35 ¥Õ¥©¥ë¥É ¤Õ¤©¤ë¤à #T35 ¥Õ¥©¥ë¥à ¤Õ¤©¤í¤¢ #T30 ¥Õ¥©¥í¥¢ ¤Õ¤©¤ó #T30 ¥Õ¥©¥ó ¤Õ¤Ã¤­¤ó¤° #T30 ¥Õ¥Ã¥­¥ó¥° ¤Õ¤Ã¤¯ #T30 ¥Õ¥Ã¥¯ ¤Õ¤ê¤¯¤·¤ç¤ó #T30 ¥Õ¥ê¥¯¥·¥ç¥ó ¤Õ¤ì¡¼¤º #T35 ¥Õ¥ì¡¼¥º ¤Õ¤ì¡¼¤à #T30 ¥Õ¥ì¡¼¥à ¤Õ¤ì¤­¤·¤Ö¤ë #T35 ¥Õ¥ì¥­¥·¥Ö¥ë ¤Õ¤ì¤ó¤É¤ê¡¼ #T15 ¥Õ¥ì¥ó¥É¥ê¡¼ ¤Õ¤í¡¼ #T30 ¥Õ¥í¡¼ ¤Õ¤í¡¼¤Æ¤£¤ó¤° #T30 ¥Õ¥í¡¼¥Æ¥£¥ó¥° ¤Õ¤í¡¼¤È #T30 ¥Õ¥í¡¼¥È ¤Õ¤í¤Ã¤Ô¡¼ #T30 ¥Õ¥í¥Ã¥Ô¡¼ ¤Ö¡¼¤È¤¹¤È¤é¤Ã¤× #T30 ¥Ö¡¼¥È¥¹¥È¥é¥Ã¥× ¤Ö¡¼¤ê¤¢¤ó #T30 ¥Ö¡¼¥ê¥¢¥ó ¤Ö¡¼¤ë #T35 ¥Ö¡¼¥ë ¤Ö¤Ã¤¯ #T30 ¥Ö¥Ã¥¯ ¤Ö¤é¤¦¤ó #T05 ¥Ö¥é¥¦¥ó ¤Ö¤é¤ó¤­¤ó¤° #T30 ¥Ö¥é¥ó¥­¥ó¥° ¤Ö¤é¤ó¤Á #T35 ¥Ö¥é¥ó¥Á ¤Ö¤ê¤ó¤­¤ó¤° #T30 ¥Ö¥ê¥ó¥­¥ó¥° ¤Ö¤ì¡¼¤­ #T30 ¥Ö¥ì¡¼¥­ ¤Ö¤ì¡¼¤ó #T35 ¥Ö¥ì¡¼¥ó ¤×¤é¤¤¤ª¤ê¤Æ¤£ #T30 ¥×¥é¥¤¥ª¥ê¥Æ¥£ ¤×¤é¤¤¤Ù¡¼¤È #T35 ¥×¥é¥¤¥Ù¡¼¥È ¤×¤é¤¯¤Æ¤£¤¹ #T30 ¥×¥é¥¯¥Æ¥£¥¹ ¤×¤é¤°¤Þ¤Æ¤£¤¯¤¹ #T35 ¥×¥é¥°¥Þ¥Æ¥£¥¯¥¹ ¤×¤é¤ó #T30 ¥×¥é¥ó ¤×¤ê¤¢¤ó¤Ö¤ë #T35 ¥×¥ê¥¢¥ó¥Ö¥ë ¤×¤ê¤×¤í¤»¤Ã¤µ #T35 ¥×¥ê¥×¥í¥»¥Ã¥µ ¤×¤ê¤ß¤Æ¤£¤Ö #T10 ¥×¥ê¥ß¥Æ¥£¥Ö ¤×¤ê¤ó¤¹¤È¤ó #T30 ¥×¥ê¥ó¥¹¥È¥ó ¤×¤ê¤ó¤Æ¤£¤ó¤° #T35 ¥×¥ê¥ó¥Æ¥£¥ó¥° ¤×¤ì¡¼¤È #T35 ¥×¥ì¡¼¥È ¤×¤ì¡¼¤ó #T30 ¥×¥ì¡¼¥ó ¤×¤ì¤¤¤ä #T30 ¥×¥ì¥¤¥ä ¤×¤ì¤¼¤ó¤Æ¡¼¤·¤ç¤ó #T35 ¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó ¤×¤ì¤¼¤ó¤Æ¡¼¤È #T30 ¥×¥ì¥¼¥ó¥Æ¡¼¥È ¤×¤ì¤Æ¤Ã¤É #T35 ¥×¥ì¥Æ¥Ã¥É ¤×¤ì¤Õ¤£¤Ã¤¯¤¹ #T35 ¥×¥ì¥Õ¥£¥Ã¥¯¥¹ ¤×¤í¤»¤µ #T35 ¥×¥í¥»¥µ ¤×¤í¤»¤¹ #T35 ¥×¥í¥»¥¹ ¤×¤í¤»¤Ã¤·¤ó¤° #T30 ¥×¥í¥»¥Ã¥·¥ó¥° ¤×¤í¤À¤¯¤È #T30 ¥×¥í¥À¥¯¥È ¤×¤í¤Ã¤¿ #T30 ¥×¥í¥Ã¥¿ ¤×¤í¤Æ¤¤¤ó #T35 ¥×¥í¥Æ¥¤¥ó ¤×¤í¤È #T35 ¥×¥í¥È ¤×¤í¤È¤¿¤¤¤Ô¤ó¤° #T35 ¥×¥í¥È¥¿¥¤¥Ô¥ó¥° ¤×¤í¤Õ¤§¤Ã¤·¤ç¤Ê¤ë #T10 ¥×¥í¥Õ¥§¥Ã¥·¥ç¥Ê¥ë ¤Ø¤­¤µ #T35 ¥Ø¥­¥µ ¤Ø¤¯¤È #T35 ¥Ø¥¯¥È ¤Ø¤Ã¤Ç¤£¤ó¤° #T30 ¥Ø¥Ã¥Ç¥£¥ó¥° ¤Ù¤ó #T35 ¥Ù¥ó ¤Ù¤ó¤Á #T35 ¥Ù¥ó¥Á ¤Ú¡¼¤Ñ #T35 ¥Ú¡¼¥Ñ ¤Ú¤ê¤Õ¤§¤é¤ë #T35 ¥Ú¥ê¥Õ¥§¥é¥ë ¤Û¡¼¤ó #T35 ¥Û¡¼¥ó ¤Û¤¤¡¼¤ë #T35 ¥Û¥¤¡¼¥ë ¤Û¤³¤ê #T35 ¥Û¥³¥ê ¤Û¤¹¤È #T30 ¥Û¥¹¥È ¤Û¤Ã¤Ñ #T35 ¥Û¥Ã¥Ñ ¤Û¤ë¤Þ¤ó¤È #T35 ¥Û¥ë¥Þ¥ó¥È ¤Û¤í¤°¤é¤à #T35 ¥Û¥í¥°¥é¥à ¤Ü¡¼ #T35 ¥Ü¡¼ ¤Ü¡¼¤ë¤É #T15 ¥Ü¡¼¥ë¥É ¤Ý¡¼¤¿¤Ó¤ê¤£¤Æ¤£ #T35 ¥Ý¡¼¥¿¥Ó¥ê¥£¥Æ¥£ ¤Ý¡¼¤¿¤Ö¤ë #T15 ¥Ý¡¼¥¿¥Ö¥ë ¤Ý¡¼¤é¤ó¤É #CN ¥Ý¡¼¥é¥ó¥É ¤Ý¤¤¤Æ¤£¤ó¤° #T35 ¥Ý¥¤¥Æ¥£¥ó¥° ¤Ý¤¸¤Æ¤£¤Ö #T35 ¥Ý¥¸¥Æ¥£¥Ö ¤Ý¤¹¤È¤¢¤ó¤Ö¤ë #T35 ¥Ý¥¹¥È¥¢¥ó¥Ö¥ë ¤Ý¤¹¤È¤Õ¤£¤Ã¤¯¤¹ #T35 ¥Ý¥¹¥È¥Õ¥£¥Ã¥¯¥¹ ¤Ý¤¹¤È¤×¤í¤»¤Ã¤µ #T35 ¥Ý¥¹¥È¥×¥í¥»¥Ã¥µ ¤Ý¤Ã¤× #T30 ¥Ý¥Ã¥× ¤Ý¤ê #T35 ¥Ý¥ê ¤Ý¤ó¤× #T35 ¥Ý¥ó¥× ¤Þ¤¤¤Ê #T05 ¥Þ¥¤¥Ê ¤Þ¤¯¤í #T35 ¥Þ¥¯¥í ¤Þ¤¯¤í¤×¤í¤»¤Ã¤µ #T30 ¥Þ¥¯¥í¥×¥í¥»¥Ã¥µ ¤Þ¤°¤«¤Ã¤× #T35 ¥Þ¥°¥«¥Ã¥× ¤Þ¤°¤Í¤Æ¤£¤Ã¤¯ #T35 ¥Þ¥°¥Í¥Æ¥£¥Ã¥¯ ¤Þ¤¶¡¼¤Ü¡¼¤É #T35 ¥Þ¥¶¡¼¥Ü¡¼¥É ¤Þ¤Ã¤­¤ó¤È¤Ã¤·¤å #T35 ¥Þ¥Ã¥­¥ó¥È¥Ã¥·¥å ¤Þ¤Ã¤¯ #T35 ¥Þ¥Ã¥¯ ¤Þ¤Ã¤× #T35 ¥Þ¥Ã¥× ¤Þ¤Ë¤¢ #T15 ¥Þ¥Ë¥¢ ¤Þ¤ë¤Á #T35 ¥Þ¥ë¥Á ¤Þ¤ë¤Á¤¿¤¹¤­¤ó¤° #T30 ¥Þ¥ë¥Á¥¿¥¹¥­¥ó¥° ¤Þ¤ë¤Á¤Ö¤ì¤¯¤µ #T35 ¥Þ¥ë¥Á¥Ö¥ì¥¯¥µ ¤Þ¤ó #T35 ¥Þ¥ó ¤ß¤¯¤í #T35 ¥ß¥¯¥í ¤ß¤Ë #T15 ¥ß¥Ë ¤ß¤Í¤é¤ë #T35 ¥ß¥Í¥é¥ë ¤ß¤é¡¼ #T35 ¥ß¥é¡¼ ¤à¡¼¤É #T30 ¥à¡¼¥É ¤á¡¼¤ê¤ó¤° #T35 ¥á¡¼¥ê¥ó¥° ¤á¤¤¤ó #T35 ¥á¥¤¥ó ¤á¤¤¤ó¤Æ¤Ê¤ó¤¹ #T30 ¥á¥¤¥ó¥Æ¥Ê¥ó¥¹ ¤á¤¸¤ã¡¼ #T15 ¥á¥¸¥ã¡¼ ¤á¤¿ #T35 ¥á¥¿ ¤á¤Ã¤»¡¼¤¸ #T30 ¥á¥Ã¥»¡¼¥¸ ¤â¡¼¤À¤ë #T35 ¥â¡¼¥À¥ë ¤â¡¼¤Æ¤à #T35 ¥â¡¼¥Æ¥à ¤â¤¸¤å¤é¡¼ #T10 ¥â¥¸¥å¥é¡¼ ¤â¤¸¤å¤í #T35 ¥â¥¸¥å¥í ¤â¤È¤í¡¼¤é #T35 ¥â¥È¥í¡¼¥é ¤â¤Ë¤¿ #T35 ¥â¥Ë¥¿ ¤â¤ó¤Æ #T35 ¥â¥ó¥Æ ¤æ¤Ë¤Ã¤¯¤¹ #T35 ¥æ¥Ë¥Ã¥¯¥¹ ¤é¡¼¤¸ #T35 ¥é¡¼¥¸ ¤é¤¤¤¯ #T05 ¥é¥¤¥¯ ¤é¤¹¤¿ #T30 ¥é¥¹¥¿ ¤é¤Ã¤¯ #T35 ¥é¥Ã¥¯ ¤é¤Ã¤Ô¤ó¤° #T30 ¥é¥Ã¥Ô¥ó¥° ¤é¤Ã¤× #T30 ¥é¥Ã¥× ¤é¤Ô¤Ã¤É #T35 ¥é¥Ô¥Ã¥É ¤é¤Ù¤ë #T35 ¥é¥Ù¥ë ¤é¤à¤À #T35 ¥é¥à¥À ¤é¤ó¤À¤à #T15 ¥é¥ó¥À¥à ¤é¤ó¤Ë¤ó¤° #T35 ¥é¥ó¥Ë¥ó¥° ¤ê¤¢ #T30 ¥ê¥¢ ¤ê¤¹¤È #T35 ¥ê¥¹¥È ¤ê¤¹¤× #T35 ¥ê¥¹¥× ¤ê¤¿¡¼¤²¤Ã¤¿¤Ö¤ë #T30 ¥ê¥¿¡¼¥²¥Ã¥¿¥Ö¥ë ¤ê¤¿¤é¤·¡¼ #T35 ¥ê¥¿¥é¥·¡¼ ¤ê¤À¤¯¤·¤ç¤ó #T35 ¥ê¥À¥¯¥·¥ç¥ó ¤ê¤Æ¤é¤ë #T30 ¥ê¥Æ¥é¥ë ¤ê¤È¤é¤¤ #T30 ¥ê¥È¥é¥¤ ¤ê¤Ë¤¢ #T30 ¥ê¥Ë¥¢ ¤ê¤Õ¤¡¤ì¤ó¤¹ #T35 ¥ê¥Õ¥¡¥ì¥ó¥¹ ¤ê¤Õ¤ì¤Ã¤·¤å #T30 ¥ê¥Õ¥ì¥Ã¥·¥å ¤ê¤×¤ì¡¼¤¹ #T30 ¥ê¥×¥ì¡¼¥¹ ¤ê¤ß¤Ã¤È #T35 ¥ê¥ß¥Ã¥È ¤ê¤â¡¼¤È #T30 ¥ê¥â¡¼¥È ¤ê¤ì¡¼¤·¤ç¤Ê¤ë #T35 ¥ê¥ì¡¼¥·¥ç¥Ê¥ë ¤ê¤ì¡¼¤·¤ç¤ó #T30 ¥ê¥ì¡¼¥·¥ç¥ó ¤ê¤ì¡¼¤·¤ç¤ó¤·¤Ã¤× #T35 ¥ê¥ì¡¼¥·¥ç¥ó¥·¥Ã¥× ¤ê¤ó¤«¡¼ #T35 ¥ê¥ó¥«¡¼ ¤ê¤ó¤° #T30 ¥ê¥ó¥° ¤ê¤ó¤±¡¼¤¸ #T30 ¥ê¥ó¥±¡¼¥¸ ¤ë¡¼¤È #T30 ¥ë¡¼¥È ¤ë¡¼¤ë #T30 ¥ë¡¼¥ë ¤ë¤«¡¼¤·¤å¤Ó¤Ã¤Á #T35 ¥ë¥«¡¼¥·¥å¥Ó¥Ã¥Á ¤ì¤³¡¼¤É #T30 ¥ì¥³¡¼¥É ¤ì¤·¡¼¤Ö #T30 ¥ì¥·¡¼¥Ö ¤ì¤¸¤Ç¤ó¤È #T35 ¥ì¥¸¥Ç¥ó¥È ¤ì¤¹ #T35 ¥ì¥¹ ¤ì¤¾¤ê¤å¡¼¤·¤ç¤ó #T35 ¥ì¥¾¥ê¥å¡¼¥·¥ç¥ó ¤í¡¼ #T35 ¥í¡¼ ¤í¡¼¤¢ #T35 ¥í¡¼¥¢ ¤í¡¼¤«¤ë #T15 ¥í¡¼¥«¥ë ¤í¡¼¤¼¤Ã¤È #T35 ¥í¡¼¥¼¥Ã¥È ¤í¡¼¤À #T35 ¥í¡¼¥À ¤í¡¼¤ë #T30 ¥í¡¼¥ë ¤í¤¢ #T35 ¥í¥¢ ¤í¤¬¡¼ #T35 ¥í¥¬¡¼ ¤í¤° #T35 ¥í¥° ¤í¤°¤¢¤¦¤È #T30 ¥í¥°¥¢¥¦¥È ¤í¤¸¤«¤ë #T15 ¥í¥¸¥«¥ë ¤í¤Ã¤­¤ó¤° #T30 ¥í¥Ã¥­¥ó¥° ¤ï¡¼¤­¤ó¤° #T35 ¥ï¡¼¥­¥ó¥° ¤ï¡¼¤¯ #T30 ¥ï¡¼¥¯ ¤ï¡¼¤¹¤È #T35 ¥ï¡¼¥¹¥È ¤ï¤ó #T35 ¥ï¥ó ¤ï¤ó¤¿¤Ã¤Á #T15 ¥ï¥ó¥¿¥Ã¥Á Canna37p3/dic/ideo/words/katakana.t0100644000076500001200000000231207554213574016434 0ustar shinraadmin# Copyright 1995 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided # "as is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: katakana.t,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ Canna37p3/dic/ideo/words/keishiki.t0100644000076500001200000000244507554426265016473 0ustar shinraadmin/* Copyright 1995 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided * "as is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: keishiki.t,v 1.2 2002/10/20 04:10:29 aida_s Exp $ */ ¤¦¤Á #KN @ ¤³¤È #KN @ ¤È¤­ #KN @ ¤È¤³¤í #KN @ ¤â¤Î #KN @ ¤ï¤± #KN @ Canna37p3/dic/ideo/words/necgaiji.t0100644000076500001200000000627507554213574016446 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: necgaiji.t,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # ()1 #KJ ­¡ ()10 #KJ ­ª ()11 #KJ ­« ()12 #KJ ­¬ ()13 #KJ ­­ ()14 #KJ ­® ()15 #KJ ­¯ ()16 #KJ ­° ()17 #KJ ­± ()18 #KJ ­² ()19 #KJ ­³ ()2 #KJ ­¢ ()20 #KJ ­´ ()3 #KJ ­£ ()4 #KJ ­¤ ()5 #KJ ­¥ ()6 #KJ ­¦ ()7 #KJ ­§ ()8 #KJ ­¨ ()9 #KJ ­© (¤«¤Ö) #KJ ­ê (¤À¤¤) #KJ ­ì (¤æ¤¦) #KJ ­ë .¤« #KJ ­à ­á .¤¬ #KJ ­ð ­ñ ­ò ­ó ­ô ­õ ­ö ­÷ ­ø ­ù ­ú ­û ­ü .¤± #KJ ¬¤ ¬¥ ¬¦ ¬§ ¬¨ ¬© ¬ª ¬« ¬¬ ¬­ ¬® ¬¯ ¬° ¬± ¬² ¬³ ¬´ ¬µ ¬¶ ¬· ¬¸ ¬¹ ¬º ¬» ¬¼ ¬½ ¬¾ ¬¿ ¬À ¬Á ¬Â ¬Ã ¬Ä ¬Å ¬Æ ¬Ç ¬È ¬É ¬Ê ¬Ë ¬Ì ¬Í ¬Î ¬Ï ¬Ð ¬Ñ ¬Ò ¬Ó ¬Ô ¬Õ ¬Ö ¬× ¬Ø ¬Ù ¬Ú ¬Û ¬Ü ¬Ý ¬Þ ¬ß ¬à ¬á ¬â ¬ã ¬ä ¬å ¬æ ¬ç ¬è ¬é ¬ê ¬ë ¬ì ¬í ¬î ¬ï .¤¿ #KJ ­À ­Á ­Â ­Ã ­Ä ­Å ­Æ ­Ç ­È ­É ­Ê ­Ë ­Ì ­Í ­Î ­Ï ­Ð ­Ñ ­Ò ­Ó ­Ô ­Õ ­Ö .¤È #KJ ­ß ­â ­ã ­ä ­å ­æ ­ç ­è ­é ­ê ­ë ­ì ­í ­î ­ï .¤Ï #KJ «¤ «¥ «¦ «§ «¨ «© «ª «« «¬ «­ «® «¯ «° «± «² «³ «´ «µ «¶ «· «¸ «¹ «º «» «¼ «½ «¾ «¿ «À «Á «Â «Ã «Ä «Å «Æ «Ç «È «É «Ê «Ë «Ì «Í «Î «Ï «Ð «Ñ «Ò «Ó «Ô «Õ «Ö «× «Ø «Ù «Ú «Û «Ü «Ý «Þ «ß «à «á «â «ã «ä «å «æ «ç «è «é «ê «ë «ì «í «î «ï .¤Þ #KJ ­¡ ­¢ ­£ ­¤ ­¥ ­¦ ­§ ­¨ ­© ­ª ­« ­¬ ­­ ­® ­¯ ­° ­± ­² ­³ ­´ .¤í #KJ ­µ ­¶ ­· ­¸ ­¹ ­º ­» ­¼ ­½ ­¾ 1 #KJ ­¡ ­µ 10 #KJ ­ª ­¾ 11 #KJ ­« 12 #KJ ­¬ 13 #KJ ­­ 14 #KJ ­® 15 #KJ ­¯ 16 #KJ ­° 17 #KJ ­± 18 #KJ ­² 19 #KJ ­³ 2 #KJ ­¢ ­¶ 20 #KJ ­´ 3 #KJ ­£ ­· 4 #KJ ­¤ ­¸ 5 #KJ ­¥ ­¹ 6 #KJ ­¦ ­º 7 #KJ ­§ ­» 8 #KJ ­¨ ­¼ 9 #KJ ­© ­½ C.C. #KJ ­Õ CC #KJ ­Õ CM #KJ ­Ñ K.K. #KJ ­ã KG #KJ ­Ô KK #KJ ­ã KM #KJ ­Ò M' #KJ ­Ö MG #KJ ­Ó MM #KJ ­Ð NO #KJ ­â NO. #KJ ­â TEL #KJ ­ä ¤¢¡¼¤ë #KJ ­Æ ¤«¤Ö #KJ ­ê ¤«¤í¤ê¡¼ #KJ ­Ê ¤­¤´¤¦ #KJ ­à ­á ¤­¤í #KJ ­Á ¤­¤í¤°¤é¤à #KJ ­Ô ¤­¤í¤á¡¼¤È¤ë #KJ ­Ò ¤°¤é¤à #KJ ­Ä ¤±¤¤¤±¤¤ #KJ ­ã ¤² #KJ ­ç ¤·¡¼¤·¡¼ #KJ ­Õ ¤·¤ç¤¦¤ï #KJ ­ï ¤¸¤ç¤¦ #KJ ­å ¤»¤ó¤Á #KJ ­Â ¤»¤ó¤Á¤á¡¼¤È¤ë #KJ ­Ñ ¤»¤ó¤È #KJ ­Ì ¤¿¤¤¤·¤ç¤¦ #KJ ­î ¤À¤¤ #KJ ­ì ¤Á¤å¤¦ #KJ ­æ ¤Æ¤ë #KJ ­ä ¤Æ¤ì #KJ ­ä ¤Ç¤ó¤ï #KJ ­ä ¤È¤ó #KJ ­Å ¤É¤ë #KJ ­Ë ¤Ê¤ó¤Ð¡¼ #KJ ­â ¤Ñ¡¼¤»¤ó¤È #KJ ­Í ¤Ò¤À¤ê #KJ ­è ¤Ø¤¤¤»¤¤ #KJ ­ß ¤Ø¤¤¤Û¤¦¤á¡¼¤È¤ë #KJ ­Ö ¤Ø¤¯¤¿¡¼¤ë #KJ ­Ç ¤Ú¡¼¤¸ #KJ ­Ï ¤ß¤® #KJ ­é ¤ß¤ê #KJ ­À ¤ß¤ê¤°¤é¤à #KJ ­Ó ¤ß¤ê¤Ð¡¼¤ë #KJ ­Î ¤ß¤ê¤á¡¼¤È¤ë #KJ ­Ð ¤á¡¼¤È¤ë #KJ ­Ã ¤á¤¤¤¸ #KJ ­í ¤ä¤¯ #KJ ­ð ¤æ¤¦ #KJ ­ë ¤ê¤Ã¤È¤ë #KJ ­È ¤ï¤Ã¤È #KJ ­É Canna37p3/dic/ideo/words/number.t0100644000076500001200000001707307554213574016163 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: number.t,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # ¤¤ #JS*68 °Ì ¤¤¤¯ #NN*3 ´ö ¤¤¤Á #NN*255 °ì ¤¤¤Á¤ª¤¯ #N00 °ì²¯ ¤¤¤Á¤Þ¤ó #N00 °ìËü ¤¤¤Ã #NN*59 °ì ¤¤¤Ã¤»¤ó #N01 °ìÀé ¤¤¤Ã¤Á¤ç¤¦ #N00 °ìÃû ¤¤¤ó¤Á #JS*10 ¥¤¥ó¥Á #JS*0 ±¥ ¤¨¤ó #JS*131 ±ß ¤¨¤ó¤À¤« #JS*2 ±ß¹â ¤ª¤¯ #N00 ²¯ ¤« #JS*68 Æü #JS*6 ²Ý #JS*1 ²Á ¤«¤¤ #JS*184 ²ó #JS*87 ³¬ ¤«¤¤¤­ #JS*1 ²ó´÷ ¤«¤¤¤­¤å¤¦ #JS*2 ³¬µé ¤«¤¤¤»¤¤ #JS*6 ²óÀ¸ ¤«¤¤¤»¤ó #JS*80 ²óÀþ #JS*1 ²óÀï ¤«¤¤¤½¤¦ #JS*37 ³¬ÁØ ¤«¤¤¤Æ¤ó #JS*3 ²óž ¤«¤¤¤ê #JS*0 ¥«¥¤¥ê ³¤Î¤ ³½ ¤«¤¯ #JS*8 ³Ñ #JS*1 ²è ¤«¤²¤Ä #JS*16 ¥«·î #JS*10 ¥ö·î #JS*3 ¤«·î #JS*1 ¥õ·î ¤«¤³¤¯ #JS*2 ¥«¹ñ #JS*0 ¥ö¹ñ ¤«¤·¤ç #JS*25 ²Õ½ê #JS*4 ¥ö½ê ¤«¤¸¤ç¤¦ #JS*1 ¥ö¾ò ²Õ¾ò #JS*0 ¤«¾ò ¤«¤Å¤± #JS*0 ÆüÉÕ ¤«¤Í¤ó #JS*0 ¤«Ç¯ ¥öǯ ¤«¤Ö #JS*62 ³ô ¤«¤â¤¯ #JS*2 ²ÊÌÜ ¤«¤í¤ê¡¼ #JS*1 ¥«¥í¥ê¡¼ ¤«¤ó #JS*8 ´¬ #JS*2 ´Ì #JSSUC ´Ö #JS*0 ´Ó ¤«¤ó¤¯ #JS*0 ´É¶è ¤¬¤¤ #JS*4 ³¬ ¤¬¤ª #JS*1 ´é ¤¬¤¯¤·¤ç¤¦ #JS*1 ³Ú¾Ï ¤¬¤¯¤Í¤ó #JS*2 ³ØÇ¯ ¤¬¤Ã¤­ #JS*4 ³Ø´ü ¤¬¤Ã¤­¤å¤¦ #JS*0 ³Øµé ¤¬¤Ã¤¯ #JS*0 ³Ø¶è ¤¬¤Ä #JS*472 ·î ¤¬¤Ä¤´¤¦ #JS*0 ·î¹æ ¤¬¤Ä¤Þ¤Ä #JS*1 ·îËö ¤­ #JS*25 ´ü #JS*2 ´ð µ¡ #JS*0 µ³ ¤­¤»¤¤ #JS*1 ´üÀ¸ ¤­¤ã¤¯ #JS*2 µÓ #JS*0 µÒ ¤­¤å¤¦ #NN*14 ¶å #JS*1 µå #JS*0 µé ¤­¤å¤¦¤ª¤¯ #N00 ¶å²¯ ¤­¤å¤¦¤¸¤å¤¦ #N03 ¶å½½ ¤­¤å¤¦¤»¤ó #N01 ¶åÀé ¤­¤å¤¦¤Á¤ç¤¦ #N00 ¶åÃû ¤­¤å¤¦¤Ò¤ã¤¯ #N02 ¶åÉ´ ¤­¤å¤¦¤Þ¤ó #N00 ¶åËü ¤­¤ç¤¦ #JSSUC ¶¯ ¤­¤ç¤¯ #JS*19 ¶Ê ¤­¤í #JS*6 ¥­¥í ¤­¤í¤á¡¼¤È¤ë #JS*0 ¥­¥í¥á¡¼¥È¥ë ¶Î ¤­¤ó #JS*0 ¶Ô ¤®¤ç¤¦ #JS*269 ¹Ô ¤¯ #JS*247 ¶è #JS*19 ¶ç #NN*6 ¶å ¤¯¤Á #JS*16 ¸ý ¤¯¤ß #JS*47 ÁÈ ¤°¤é¤à #JS*29 ¥°¥é¥à ¤±¤¿ #JS*13 ·å ¤±¤ó #JS*148 ·ï #JS*10 ¸© #JS*4 ¸® #JS*1 ´Ö ¤²¤ó #JS*19 ¸µ #JS*2 ¸¹ ¤³ #JS*236 ¸Ä #JS*1 ¸Í ¤³¤¦ #JS*87 ¹à #JS*4 ¹» ¤³¤¦¤±¤¤ #JS*0 ¸ý·Â ¤³¤¦¤Í¤ó #JS*0 ¸÷ǯ ¤´ #NN*190 ¸Þ #JS*6 ¸ì ¤´¤¦ #JS*68 ¹æ #JS*8 ¹ç ¤´¤¦¤«¤ó #JS*10 ¹æ´Û ¤´¤¦¤·¤Ä #JS*4 ¹æ¼¼ ¤´¤¦¤·¤ç¤¦ #JS*0 ¹æ¾Ú ¤´¤¦¤»¤ó #JS*2 ¹æÀþ ¤´¤¦¤È¤¦ #JS*0 ¹æÅï ¤´¤ª¤¯ #N00 ¸Þ²¯ ¤´¤¸¤å¤¦ #N03 ¸Þ½½ ¤´¤»¤ó #N01 ¸ÞÀé ¤´¤Á¤ç¤¦ #N00 ¸ÞÃû ¤´¤È #JSSUC Ëè ¤´¤Ò¤ã¤¯ #N02 ¸ÞÉ´ ¤´¤Þ¤ó #N00 ¸ÞËü ¤µ¤¤ #JS*25 ºÐ #JS*4 ºÍ ¤µ¤ª #JS*1 ܪ #JS*0 ´È ¤µ¤Ä #JS*29 ºý #JS*1 ºþ ¤µ¤é #JS*16 »® ¤µ¤ó #NN*153 »° ¤µ¤ó¤ª¤¯ #N00 »°²¯ ¤µ¤ó¤« #JS*2 »À²½ ¤µ¤ó¤¸¤å¤¦ #N03 »°½½ ¤µ¤ó¤¼¤ó #N01 »°Àé ¤µ¤ó¤Á¤ç¤¦ #N00 »°Ãû ¤µ¤ó¤Ó¤ã¤¯ #N02 »°É´ ¤µ¤ó¤Þ¤ó #N00 »°Ëü ¤· #JS*33 »ï #NN*10 »Í #JS*1 »æ ¤·¤­ #JS*258 ¼° ¤·¤¸¤å¤¦ #N03 »Í½½ ¤·¤Á #NN*4 ¼· ¤·¤Á¤ª¤¯ #N00 ¼·²¯ ¤·¤Á¤Þ¤ó #N00 ¼·Ëü ¤·¤Ê #JS*13 ÉÊ ¤·¤ã¤¯ #JS*2 ¼Ü #JS*0 ¼Û ¤·¤å #JS*131 ¼ï #JS*2 ¼ó ¤·¤å¤¦ #JS*94 ½µ #JS*8 ¼þ #JS*6 ½£ ¤·¤å¤¦¤«¤ó #JS*29 ½µ´Ö ¤·¤å¤¦¤­ #JS*4 ¼þ´ü #JS*0 ¼þ´÷ ¤·¤å¤¦¤Í¤ó #JS*1 ¼þǯ ¤·¤å¤ë¤¤ #JS*62 ¼ïÎà ¤·¤ç¤¦ #JS*175 ¾Ï #JS*4 ¾£ #JS*2 ¾¡ ¤·¤ç¤¦¤»¤Ä #JS*0 ¾®Àá ¤·¤ç¤¯ #JS*22 ¿§ #JS*0 ¿© ¤·¤ó #JS*2 ¿Ê ¤·¤ó¤¹¤¦ #JS*1 ¿Ê¿ô ¤·¤ó¤È¤¦ #JS*0 ¿ÆÅù ¤¸ #JS*357 »þ #JS*123 »ú #JS*68 ¼¡ #JS*16 »ù ¤¸¤«¤ó #JS*331 »þ´Ö ¤¸¤²¤ó #JS*29 ¼¡¸µ #JS*0 »þ¸Â ¤¸¤¹¤® #JS*1 »þ¤¹¤® ¤¸¤Ã #NN*5 ½½ ¤¸¤å¤¦ #JS*2 ½Å #N03 ½½ ¤¸¤ç #JS*2 ½÷ ¤¸¤ç¤¦ #JS*52 ¾ò #JS*2 ¾ö #JS*1 ¾û Ä¡ ¤¸¤ó #JS*0 ¿Ø ¤¹¤¦¤ª¤¯ #N00 ¿ô²¯ ¤¹¤¦¤¸¤å¤¦ #N03 ¿ô½½ ¤¹¤¦¤»¤ó #N01 ¿ôÀé ¤¹¤¦¤Á¤ç¤¦ #N00 ¿ôÃû ¤¹¤¦¤Ò¤ã¤¯ #N02 ¿ôÉ´ ¤¹¤¦¤Þ¤ó #N00 ¿ôËü ¤¹¤ó #JS*2 À£ ¤» #JS*25 À¦ ¤»¤¤ #JS*1 À¤ ¤»¤¤¤­ #JS*2 À¤µª ¤»¤­ #JS*0 ÀÉ ¤»¤¿¤¤ #JS*1 À¤ÂÓ ¤»¤À¤¤ #JS*10 À¤Âå ¤»¤Ä #JS*115 Àá ¤»¤ó #JS*1 Áª Á¬ #N01 Àé ¤»¤ó¤Á #JS*1 ¥»¥ó¥Á ¤»¤ó¤Á¤á¡¼¤È¤ë #JS*0 ¥»¥ó¥Á¥á¡¼¥È¥ë Á¸ ¤¼¤ó #JS*2 Á· ¤½¤¯ #JS*2 « #JS*1 ­ ¤¾¤¯ #JS*1 ­ #JS*0 « ¤¿¤¯ #JS*8 Âî ¤¿¤Ð #JS*1 « ¤¿¤ó #JS*1 È¿ ¤À #JS*62 ÂÇ ¤À¡¼¤¹ #JS*2 ¥À¡¼¥¹ ¤À¤¤ #JS*157 Âå #JS*16 Âê #JSSUC Âæ #JS Âæ #NNPRE Âè ¤À¤»¤­ #JS*0 ÂÇÀÊ ¤À¤Æ¤ó #JS*0 ÂÇÅÀ ¤À¤ó #JS*74 ÃÊ ¤À¤ó¤«¤¤ #JS*29 Ãʳ¬ ¤Á¤ã¤¯ #JS*19 Ãå ¤Á¤ç¤¤ #JSSUC @ ¤Á¤ç¤¦ #JS*33 Ãú #JS*1 Ä¡ #N00 Ãû ¤Á¤ç¤¦¤á #JS*13 ÃúÌÜ ¤Ä #JS*293 @ ¤Ä¤¤ #JS*42 ÂÐ ¤Ä¤¦ #JS*68 ÄÌ ¤Ä¤­ #JS*62 ·î ¤Ä¤Ö #JS*3 γ ¤Ä¤Ü #JS*3 ÄÚ ¤Å¤± #JS*1 ÉÕ ¤Æ #JS*10 ¼ê ¤Æ¤­ #JS*0 Å© ¤Æ¤ó #JS*809 ÅÀ ¤È #JS*2 ÅÔ #JS*1 ÅÍ ¤È¤¦ #JS*281 Åù #JS*74 Åï #JS*4 Ƭ ¤È¤¦¤­¤å¤¦ #JS*2 Åùµé ¤È¤¦¤·¤ó #JS*1 Ƭ¿È #JS*0 Åù¿Æ ¤È¤¦¤Ø¤ó #JS*0 ÅùÊÕ ¤È¤ª¤ê #JS*1 ÄÌ¤ê ¤È¤ó #JS*16 ¥È¥ó #JS*0 ÆÕ ¤É #JS*101 ÅÙ ¤É¤ë #JS*4 ¥É¥ë ¤Ê¤Ê #NN*17 ¼· ¤Ê¤Ê¤ª¤¯ #N00 ¼·²¯ ¤Ê¤Ê¤¸¤å¤¦ #N03 ¼·½½ ¤Ê¤Ê¤»¤ó #N01 ¼·Àé ¤Ê¤Ê¤Á¤ç¤¦ #N00 ¼·Ãû ¤Ê¤Ê¤Ò¤ã¤¯ #N02 ¼·É´ ¤Ê¤Ê¤Þ¤ó #N00 ¼·Ëü ¤Ê¤ê #JS*2 Ìé ¤Ê¤ó #NN*193 ²¿ ¤Ê¤ó¤ª¤¯ #N00 ²¿²¯ ¤Ê¤ó¤¸¤å¤¦ #N03 ²¿½½ ¤Ê¤ó¤¼¤ó #N01 ²¿Àé ¤Ê¤ó¤Á¤ç¤¦ #N00 ²¿Ãû ¤Ê¤ó¤Ó¤ã¤¯ #N02 ²¿É´ ¤Ê¤ó¤Þ¤ó #N00 ²¿Ëü ¤Ë #NN*255 Æó ¤Ë¤ª¤¯ #N00 Æó²¯ ¤Ë¤¸¤å¤¦ #N03 Æó½½ ¤Ë¤»¤ó #N01 ÆóÀé ¤Ë¤Á #JS*569 Æü ¤Ë¤Á¤´¤¦ #JS*0 Æü¹æ ¤Ë¤Á¤Å¤± #JS*2 ÆüÉÕ ¤Ë¤Á¤Ö¤ê #JS*0 Æü¤Ö¤ê ¤Ë¤Á¤ç¤¦ #N00 ÆóÃû ¤Ë¤Ò¤ã¤¯ #N02 ÆóÉ´ ¤Ë¤Þ¤ó #N00 ÆóËü ¤Ë¤ó #JS*52 ¿Í ¤Ë¤ó¤°¤ß #JS*0 ¿ÍÁÈ ¤Ë¤ó¤²¤Ä #JS*1 ¿Í·î ¤Í¤ó #JS*225 ǯ ¤Í¤ó¤«¤ó #JS*10 ǯ´Ö ¤Í¤ó¤´ #JS*1 ǯ¸å ¤Í¤ó¤»¤¤ #JS*8 ǯÀ¸ ¤Í¤ó¤À¤¤ #JS*2 ǯÂå ¤Í¤ó¤É #JS*22 ǯÅÙ ¤Í¤ó¤Ö¤ê #JS*2 ǯ¤Ö¤ê ¤Ï¤¤ #JS*4 ÇÕ #JS*1 ÇÔ ¤Ï¤¯ #JS*13 Çñ #JS*3 Çï ¤Ï¤Á #NN*30 Ȭ ¤Ï¤Á¤ª¤¯ #N00 Ȭ²¯ ¤Ï¤Á¤¸¤å¤¦ #N03 Ȭ½½ ¤Ï¤Á¤Þ¤ó #N00 ȬËü ¤Ï¤Ã #NN*9 Ȭ ¤Ï¤Ã¤»¤ó #N01 ȬÀé ¤Ï¤Ã¤Á¤ç¤¦ #N00 ȬÃû ¤Ï¤Ã¤Ô¤ã¤¯ #N02 Ȭɴ ¤Ï¤Ä #JS*19 ȯ ¤Ï¤ó #JS*204 ÈÇ ¤Ð #JS*4 ±© ¤Ð¤¤ #JS*57 ÇÜ ¤Ð¤¤¤È #JS*148 ¥Ð¥¤¥È ¤Ð¤ê¤­ #JS*1 ÇÏÎÏ ¤Ð¤ó #JS*115 ÈÖ ¤Ð¤ó¤»¤ó #JS*0 ÈÖÀþ ¤Ð¤ó¤À¤¤ #JS*0 ÈÖÂæ ¤Ð¤ó¤Á #JS*4 ÈÖÃÏ ¤Ð¤ó¤Æ #JS*0 ÈÖ¼ê ¤Ñ #JS*37 ±© #JS*1 ÇÈ ¤Ñ¡¼¤»¤ó¤È #JS*2 ¥Ñ¡¼¥»¥ó¥È ¤Ñ¤¤ #JS*4 ÇÕ #JS*1 ÇÔ ¤Ñ¤¯ #JS*3 Çñ #JS*0 Çï ¤Ñ¤³ #JS*1 È¢ ¤Ñ¤Ä #JS*2 ȯ ¤Ñ¤ó #JS*13 ÈÇ ¤Ò¤­ #JS*1 ɤ ¤Ò¤È #NN*60 °ì ¤Ò¤ã¤¯ #N02 É´ ¤Ò¤ç¤¦ #JS*0 ɶ ɼ ¤Ò¤ó #JS*1 ÉÊ ¤Ò¤ó¤â¤¯ #JS*1 ÉÊÌÜ ¤Ó¤­ #JS*1 ɤ ¤Ó¤ç¤¦ #JS*29 Éà #JS*0 ɼ ¤Ó¤ç¤¦¤· #JS*2 Çï»Ò ¤Ô¡¼¤¹ #JS*6 ¥Ô¡¼¥¹ ¤Ô¤­ #JS*2 ɤ ¤Ô¤¯¤»¤ë #JS*10 ¥Ô¥¯¥»¥ë ¤Ô¤ç¤¦ #JS*2 ɼ ¤Ô¤ó #JS*13 ¥Ô¥ó #JS*1 ÉÊ ¤Õ¤£¡¼¤È #JS*1 ¥Õ¥£¡¼¥È ¤Õ¤¿ #NN*6 Æó ¤Õ¤é¤ó #JS*1 ¥Õ¥é¥ó ¤Õ¤ó #JS*29 ʬ ¤Ö #JS*1 Éô ʬ Êâ ¤Ö¤»¤¤ #JS*0 ÉôÀ© ¤Ö¤ó #JS*258 ʬ ¤Ö¤ó¤«¤Ä #JS*1 ʬ³ä ¤Ö¤ó¤® #JS*6 ʬÌÚ ¤×¤ó #JS*47 ʬ ¤Ø¤¤¤Ù¤¤ #JS*0 Ê¿ÊÆ ¤Ø¤¤¤Û¤¦ #JS*2 Ê¿Êý ¤Ø¤ë¤Ä #JS*1 ¥Ø¥ë¥Ä ¤Ø¤ó #JS*157 ÊÕ ¤Ú¡¼¤¸ #JS*87 ¥Ú¡¼¥¸ #JS*3 ÊÇ ¤Ú¤¤¤¸ #JS*2 ¥Ú¥¤¥¸ ¤Ú¤ó #JS*3 ÊÕ ¤Û #JS*42 Êâ ¤Û¤¦ #JS*10 Êó ¤Û¤ó #JS*214 ËÜ ¤Ü¤ó #JS*6 ËÜ ¤Ý #JS*4 Ê⠤ݤ¦ #JS*2 Êñ Êó ¤Ý¤ó #JS*6 ËÜ ¤Ý¤ó¤É #JS*1 ¥Ý¥ó¥É ¤Þ¤¤ #JS*57 Ëç #NNPRE Ëè ¤Þ¤¤¤ë #JS*3 ¥Þ¥¤¥ë #JS*0 Ëé ¤Þ¤¨ #JSSUC Á° ¤Þ¤ó #N00 Ëü ¤ß¤ê #JS*10 ¥ß¥ê ¤ß¤ê¤á¡¼¤È¤ë #JS*0 ¥ß¥ê¥á¡¼¥È¥ë ̰ ¤à¤Í #JS*0 Åï ¤á #JSSUC ÌÜ ¤á¡¼¤È¤ë #JS*2 ¥á¡¼¥È¥ë ¤á¤¤ #JS*305 ̾ ¤á¤¤¤µ¤Þ #JS*0 ̾ÍÍ ¤á¤¬ #JS*3 ¥á¥¬ ¤á¤ó #JS*52 ÌÌ ¤â¤¦ #JS*1 ÌÓ ¤â¤ó #JS*2 Ìä ¤â¤ó¤á #JS*1 Ìè ¤ä¡¼¤É #JS*1 ¥ä¡¼¥É ¤ä¤¯ #NNPRE*101 Ìó ¤è #NN*19 »Í ¤è¤ó #NN*37 »Í ¤è¤ó¤ª¤¯ #N00 »Í²¯ ¤è¤ó¤¸¤å¤¦ #N03 »Í½½ ¤è¤ó¤»¤ó #N01 »ÍÀé ¤è¤ó¤Á¤ç¤¦ #N00 »ÍÃû ¤è¤ó¤Ò¤ã¤¯ #N02 »ÍÉ´ ¤è¤ó¤Þ¤ó #N00 »ÍËü ¤ê #JS*3 Τ ¤ê¤Ã¤È¤ë #JS*2 ¥ê¥Ã¥È¥ë ¤ê¤Ã¤Ý¤¦ #JS*1 ΩÊý ¤ê¤ç¤¦ #JS*1 ξ ¤ê¤ó #JS*19 ÎØ #JS*0 ÎÒ ¤ë¤¤ #JS*16 Îà #JS*0 ÎÝ ¤ì¤Ä #JS*101 Îó ¤í¤¯ #NN*25 Ï» ¤í¤¯¤ª¤¯ #N00 Ï»²¯ ¤í¤¯¤¸¤å¤¦ #N03 Ï»½½ ¤í¤¯¤»¤ó #N01 Ï»Àé ¤í¤¯¤Á¤ç¤¦ #N00 Ï»Ãû ¤í¤¯¤Þ¤ó #N00 Ï»Ëü ¤í¤Ã #NN*3 Ï» ¤í¤Ã¤Ô¤ã¤¯ #N02 ϻɴ ¤ï #JS*4 ±© #JS*0 ÇÄ ¤ï¡¼¤É #JS*16 ¥ï¡¼¥É ¤ï¤Ã¤È #JS*1 ¥ï¥Ã¥È ¤ï¤ê #JS*62 ³ä Canna37p3/dic/ideo/words/obsolete.dir0100644000076500001200000000317207554426265017020 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # iroha.d # # $Id: obsolete.dir,v 1.2 2002/10/20 04:10:29 aida_s Exp $ # fuzokugo.d(fuzokugo.swd) -fuzokugo--- iroha.d(iroha.mwd) -iroha--- iroha.d(bushu.mwd) -bushu--- hojoswd.t(.swd) -hojoswd--- iroha.fq(iroha.mwd) -iroha--- bushu.fq(bushu.mwd) -bushu--- hojomwd.t(.mwd) -hojomwd--- number.t(.swd) -number--- katakana.t(.mwd) -katakana--- keishiki.t(.swd) -keishiki--- chimei.t(.mwd) -chimei--- kanasmpl.t(.mwd) -kanasample--- necgaiji.t(.mwd) -necgaiji--- software.t(.mwd) -software--- Canna37p3/dic/ideo/words/software.t0100644000076500001200000000633607735225677016535 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: software.t,v 1.2 2003/09/27 06:18:39 aida_s Exp $ # ¤¤¤·¤ç¤¯¤»¤¤ #T35 °Ü¿¢À­ ¤¨¡¼¤¢¤¤ #T35 £Á£É ¤¨¤Æ¤£¤Æ¤£ #T35 £Á£Ô¡õ£Ô ¤ª¤¦¤è¤¦¤½¤¦ #T35 ±þÍÑÁØ ¤«¤¤¤·¤­¤´¤¦ #T35 ³«»Ïµ­¹æ ¤«¤¤¤»¤ó¤½¤¯¤É #T35 ²óÀþ®ÅÙ ¤«¤¤¤Ï¤Ä¤«¤ó¤­¤ç¤¦ #T35 ³«È¯´Ä¶­ ¤«¤¤¤Ï¤Ä¤Û¤ó¤Ö #T35 ³«È¯ËÜÉô ¤«¤·¤»¤¤ #T35 ²Ä»ëÀ­ ¤«¤½¤¦¤« #T30 ²¾ÁÛ²½ ¤«¤¿¤á¤¤ #T35 ·¿Ì¾ ¤«¤Ø¤ó¤Ö #T35 ²ÄÊÑÉô ¤«¤ê¤Ò¤­¤¹¤¦ #T35 ²¾°ú¿ô ¤«¤ó¤¹¤¦¤Æ¤­¤è¤¦ #T30 ´Ø¿ôŬÍÑ ¤«¤ó¤Í¤Ä #T35 ´¶Ç® ¤«¤ó¤Í¤Ä¤·¤­ #T35 ´¶Ç®¼° ¤«¤ó¤ê¤Û¤¦ #T35 ´ÉÍýË¡ ¤­¤´¤¦¤Æ¤­ #T35 µ­¹æÅª ¤­¤·¤å¤¤¤¾¤ó #T35 µ¡¼ï°Í¸ ¤­¤·¤å¤É¤¯¤ê¤Ä #T35 µ¡¼ïÆÈΩ ¤­¤¸¤å¤Ä¤· #T35 µ­½Ò»Ò ¤­¤Û¤ó¤Û¤¦¤·¤­ #T35 ´ðËÜÊý¼° ¤­¤ç¤¯¤·¤ç¤Æ¤­ #T15 ¶É½êŪ ¤­¤í¤¯¤· #T35 µ­Ï¿»æ ¤®¤¸¤å¤Ä¤Û¤ó¤Ö #T35 µ»½ÑËÜÉô ¤®¤Û¤ó #T35 µ»ËÜ ¤¯¤ß¤³¤ß #T30 Áȹþ¤ß ¤°¤²¤ó¤« #T30 ¶ñ¸½²½ ¤±¤Ã¤Æ¤¤¤»¤¤ #T35 ·èÄêÀ­ ¤±¤ó¤­¤å¤¦¤«¤¤¤Ï¤Ä #T30 ¸¦µæ³«È¯ ¤²¤ó¤Æ¤¤¤¬¤¿ #T35 ¸ÂÄê·¿ ¤³¤¦¤Ö¤ó¤«¤¤¤»¤­ #T30 ¹½Ê¸²òÀÏ ¤³¤¦¤Ö¤ó¤­ #T35 ¹½Ê¸ÌÚ ¤³¤¦¤Ö¤ó¤­¤´¤¦ #T35 ¹½Ê¸µ­¹æ ¤³¤¦¤Ö¤ó¤­¤½¤¯ #T35 ¹½Ê¸µ¬Â§ ¤³¤¦¤Ö¤ó¤® #T35 ¹½Ê¸ÌÚ ¤´¤¦¤­ #T35 ¹æµ¡ ¤µ¤¤¤­¤Æ¤­ #T35 ºÆµ¢Åª ¤µ¤¤¤Æ¤­¤« #T30 ºÇŬ²½ ¤µ¤è¤¦¤¬¤¿ #T35 ºîÍÑ·¿ ¤·¡¼¤¢¤ó¤É¤·¡¼ #T35 £Ã¡õ£Ã ¤·¤ç¤¦¤ê¤ã¤¯¤¸ #T35 ¾Êά»þ ¤·¤ç¤¦¤ê¤ã¤¯¤Á #T35 ¾ÊάÃÍ ¤·¤ç¤­¤¸¤ç¤¦¤¿¤¤ #T35 ½é´ü¾õÂÖ ¤·¤ç¤­¤»¤Ã¤Æ¤¤ #T35 ½é´üÀßÄê ¤·¤ç¤ê¤±¤¤ #T35 ½èÍý·Ï ¤·¤ó¤é¤¤¤»¤¤ #T35 ¿®ÍêÀ­ ¤¸¤« #T30 ¼§²½ ¤¸¤Ã¤¹¤¦¤¬¤¿ #T35 ¼Â¿ô·¿ ¤¸¤Ä¤¸¤«¤ó #T35 ¼Â»þ´Ö ¤¸¤Ä¤¸¤«¤ó¤»¤¤ #T35 ¼Â»þ´ÖÀ­ ¤¸¤Ä¤Ò¤­¤¹¤¦ #T35 ¼Â°ú¿ô ¤¸¤ó¤³¤¦¤Á¤Î¤¦ #T35 ¿Í¹©ÃÎǽ ¤»¤¤¤¹¤¦¤¬¤¿ #T35 À°¿ô·¿ ¤»¤¤¤»¤¤¤­¤½¤¯ #T35 À¸À®µ¬Â§ ¤»¤Ã¤Æ¤¤¤·¤­ #T35 ÀßÄê¼° ¤½¤¦¤µ #T30 Áöºº ¤¿¤¤¤¤¤­¤Æ¤­ #T15 Âç°èŪ ¤¿¤³¤¦ #T35 ¿¹à ¤¿¤½¤¦ #T35 ¿Áê ¤Á¤å¤¦¤·¤ç¤¦¤Æ¤­ #T15 Ãê¾ÝŪ ¤Á¤ç¤¦¤Ç¤ó¤É¤¦ #T35 ĶÅÁƳ ¤Ë¤³¤¦ #T35 Æó¹à ¤Í¤Ä¤Æ¤ó¤·¤ã #T30 Ǯž¼Ì ¤Ï¤¤¤ì¤Ä¤¬¤¿ #T35 ÇÛÎó·¿ ¤Ï¤»¤¤¤¬¤¿ #T35 ÇÉÀ¸·¿ ¤Ï¤ó¤Ù¤Ä¤· #T35 ȽÊÌ»Ò ¤Ò¤±¤Ã¤Æ¤¤ #T35 Èó·èÄê ¤Ò¤±¤Ã¤Æ¤¤¤»¤¤ #T35 Èó·èÄêÀ­ ¤Ò¤·¤å¤¦¤¿¤ó #T35 Èó½ªÃ¼ ¤Ö¤½¤¦¤« #T30 ÉðÁõ²½ ¤Ö¤Ö¤ó¤¬¤¿ #T35 Éôʬ·¿ ¤Ö¤Ö¤ó¤·¤­ #T35 Éôʬ¼° ¤Ö¤ó¤«¤«¤¤ #T35 ʬ²Ê²ñ ¤Û¤¦¤Û¤¦¤í¤ó #T35 ÊýË¡ÏÀ ¤ß¤Ã¤Ú¤¤¤¬¤¿ #T35 Ì©ÊÄ·¿ ¤à¤»¤¤¤ä¤¯ #T35 ̵À©Ìó ¤á¤¤¤Ò¤ç¤¦ #T35 ̾ɸ ¤â¤¸¤¬¤¿ #T35 ʸ»ú·¿ ¤â¤¸¤ì¤Ä¤¬¤¿ #T35 ʸ»úÎó·¿ ¤ê¤ì¤­¤¤¤¾¤ó #T35 ÍúÎò°Í¸ ¤ì¤Ã¤­¤ç¤¬¤¿ #T35 Îóµó·¿ ¤ï¤ê¤³¤ß #T30 ³ä¹þ¤ß ¤ï¤ê¤À¤· #T35 ³ä½Ð¤· ¤ï¤ê¤Ä¤± #T35 ³äÉÕ¤± Canna37p3/dic/ideo/words/suffix.t0100644000076500001200000000271207554426265016174 0ustar shinraadmin# $Id: suffix.t,v 1.2 2002/10/20 04:10:29 aida_s Exp $ ¤« #N2T30*1187 ²½ ¤Æ¤­ #N2T16*1187 Ū ¤µ¤ó #JNSUC*1139 ¤µ¤ó ¤Æ¤ó #SUC*809 ÅÀ ¤»¤¤ #SUC*693 À­ ¤«¤¿ #D2T35*656 Êý ¤·¤ã #SUC*656 ¼Ô ¤Á¤å¤¦ #SUC*427 Ãæ ¤¸¤ç¤¦ #SUC*398 ¾å ¤Ê¤¤ #SUC*384 Æâ ¤±¤ó #JNSUC*357 ¸¦ ¤¸ #SUC*357 »þ ¤´ #SUC*344 ¸å ¤«¤¤ #SUC*331 ²ñ ¤· #JNSUC*331 »á ¤¹¤¦ #SUC*331 ¿ô ¤»¤ó #SUC*331 Àþ ¤Û¤¦ #SUC*331 Ë¡ ¤·¤ç #SUC*318 ½ñ ¤±¤¤ #SUC*305 ·Ï ¤á¤¤ #SUC*305 ̾ ¤Ö #SUC*281 Éô ¤·¤­ #SUC*258 ¼° ¤¯¤ó #JNSUC*236 ·¯ ¤· #CNSUC1*225 »Ô ¤Ð¤ó #SUC*214 ÈÇ ¤¬¤¿ #SUC*194 ·¿ ¤ä¤¹ #D2KY*184 ¤ä¤¹ ¤é #JNSUC*184 ¤é ¤µ¤Þ #JNSUC*166 ÍÍ ¤¿¤Á #JNSUC*166 ¤¿¤Á ¤À¤¤ #SUC*157 Âå ¤Á¤ã¤ó #JNSUC*157 ¤Á¤ã¤ó ¤Á¤ç¤¦ #SUC*148 Ĺ ¤Ê¤É #SUC*148 Åù ¡¼ #SUC*131 ¡¼ ¤½¤¦ #SUC*131 ÁØ ¤«¤ó #CNSUC1*101 ´Ö ¤µ¤ó #CNSUC1*87 »º ¤±¤ó #SUC*80 ¸¢ ¤¸¤å¤ó #SUC*80 ½ç ¤ä¤¯ #SUC*80 Ìò ¤·¤À¤¤ #D2T35*74 ¼¡Âè ¤·¤ç #SUC*74 ½ê ¤Ó #SUC*74 Æü ¤á¤ó #SUC*74 ÌÌ ¤­ #SUC*68 µ¡ ¤±¤¤ #SUC*68 ·Á ¤·¤Ä #SUC*68 ¼¼ ¤¨¤­ #CNSUC1*57 ±Ø ¤è¤¦ #SUC*57 ÍÑ ¤¬¤ï #CNSUC1*52 Àî ¤¸¤ó #SUC*52 ¿Í ¤¸¤ó #CNSUC1*52 ¿Í ¤º¤ß #SUC*52 ºÑ¤ß ¤¿¤Á #JNSUC*52 㠤ؤó #JNSUC*47 ÊÔ ¤à¤é #CNSUC1*47 ¼ ¤É¤ª¤ê #SUC*37 ÄÌ¤ê ¤Ï #JNSUC*33 ÇÉ ¤°¤ß #JNSUC*29 ÁÈ ¤Á¤ç #JNSUC*29 Ãø ¤½¤ó #CNSUC1*25 ¼ ¤Õ¤¦ #CNSUC1*25 É÷ ¤¬¤­ #N2T30*22 ½ñ¤­ ¤¬¤ï #CNSUC1*22 ²Ï ¤»¤¤ #CNSUC1*22 À½ ¤¸¤å¤¦ #CNSUC1*19 Ãæ ¤¿¤¯ #JNSUC*19 Âð ¤Á¤ã¤¯ #CNSUC1*19 Ãå ¤Ï¤· #CNSUC1*16 ¶¶ ¤Ð¤· #CNSUC1*16 ¶¶ ¤Á¤¯ #CNSUC1*13 ÃÏ¶è ¤Á¤Û¤¦ #CNSUC1*13 ÃÏÊý ¤µ¤ó #CNSUC1*10 »³ ¤¶¤ó #CNSUC1*10 »³ ¤É¤Î #JNSUC*6 Å ¤ê¤å¤¦ #JNSUC*6 ή ¤­¤¿ #CNSUC1*4 ËÌ Canna37p3/dic/ideo/words/yuubin.t0100644000076500001200000011557107554213574016210 0ustar shinraadmin# $Id: yuubin.t,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ 001 #CN Ë̳¤Æ»»¥ËÚ»ÔË̶è 002 #CN Ë̳¤Æ»»¥ËÚ»ÔË̶è Ë̳¤Æ»ÀÐ¼í·´ 003 #CN Ë̳¤Æ»»¥ËÚ»ÔÇòÀжè 004 #CN Ë̳¤Æ»»¥ËÚ»ÔÇòÀжè Ë̳¤Æ»»¥ËÚ»ÔË­Ê¿¶è 005 #CN Ë̳¤Æ»»¥ËÚ»ÔÆî¶è 006 #CN Ë̳¤Æ»»¥ËÚ»ÔÀ¾¶è 010 #CN ½©Åĸ©²ÏÊÕ·´ ½©Åĸ©½©ÅÄ»Ô ½©Åĸ©Ã˼¯»Ô ½©Åĸ©Æî½©ÅÄ·´ 011 #CN ½©Åĸ©½©ÅÄ»Ô 012 #CN ½©Åĸ©ÅòÂô»Ô ½©Åĸ©Í³Íø·´ ½©Åĸ©Íº¾¡·´ 013 #CN ½©Åĸ©²£¼ê»Ô ½©Åĸ©Ê¿¼¯·´ ½©Åĸ©Íº¾¡·´ 014 #CN ½©Åĸ©ÀçËÌ·´ ½©Åĸ©Âç¶Ê»Ô ½©Åĸ©Ê¿¼¯·´ 015 #CN ½©Åĸ©ËÜÁñ»Ô ½©Åĸ©Í³Íø·´ 016 #CN ½©Åĸ©Ç½Âå»Ô 017 #CN ½©Åĸ©¼¯³Ñ·´ ½©Åĸ©Âç´Û»Ô 018 #CN ½©Åĸ©»³ËÜ·´ ½©Åĸ©¼¯³Ñ·´ ½©Åĸ©¼¯³Ñ»Ô ½©Åĸ©Âç´Û»Ô ½©Åĸ©Æî½©ÅÄ·´ ½©Åĸ©Ç½Âå»Ô ½©Åĸ©Ë̽©ÅÄ·´ ½©Åĸ©ËÜÁñ»Ô ½©Åĸ©Í³Íø·´ ÀÄ¿¹¸©¾åËÌ·´ 019 #CN ½©Åĸ©²£¼ê»Ô ½©Åĸ©²ÏÊÕ·´ ½©Åĸ©ÀçËÌ·´ ½©Åĸ©ÅòÂô»Ô ½©Åĸ©Ê¿¼¯·´ ½©Åĸ©Íº¾¡·´ 020 #CN ´ä¼ê¸©´ä¼ê·´ ´ä¼ê¸©»çÇÈ·´ ´ä¼ê¸©À¹²¬»Ô 021 #CN ´ä¼ê¸©°ì´Ø»Ô 022 #CN ´ä¼ê¸©µ¤Àç·´ ´ä¼ê¸©ÂçÁ¥ÅÏ»Ô 023 #CN ´ä¼ê¸©¹¾»É»Ô ´ä¼ê¸©¿åÂô»Ô ´ä¼ê¸©ÃÀÂô·´ 024 #CN ´ä¼ê¸©Ë̾å»Ô ´ä¼ê¸©Ï²췴 025 #CN ´ä¼ê¸©²Ö´¬»Ô 026 #CN ´ä¼ê¸©³øÀÐ»Ô 027 #CN ´ä¼ê¸©²¼Êİ˷´ ´ä¼ê¸©µÜ¸Å»Ô 028 #CN ´ä¼ê¸©±óÌî»Ô ´ä¼ê¸©²¼Êİ˷´ ´ä¼ê¸©´ä¼ê·´ ´ä¼ê¸©¶å¸Í·´ ´ä¼ê¸©»çÇÈ·´ ´ä¼ê¸©¾åÊİ˷´ ´ä¼ê¸©Æó¸Í·´ ´ä¼ê¸©Æó¸Í»Ô ´ä¼ê¸©É£´Ó·´ ´ä¼ê¸©Ï²췴 029 #CN ´ä¼ê¸©°ì´Ø»Ô ´ä¼ê¸©µ¤Àç·´ ´ä¼ê¸©À¾Èذ淴 ´ä¼ê¸©ÃÀÂô·´ ´ä¼ê¸©ÅìÈØ°æ·´ ´ä¼ê¸©Î¦Á°¹âÅÄ»Ô ´ä¼ê¸©Ï²췴 030 #CN ÀÄ¿¹¸©ÀÄ¿¹»Ô ÀÄ¿¹¸©ÅìÄÅ·Ú·´ ÀÄ¿¹¸©ËÌÄÅ·Ú·´ 031 #CN ÀÄ¿¹¸©»°¸Í·´ ÀÄ¿¹¸©È¬¸Í»Ô 032 #CN ´ä¼ê¸©²¼Êİ˷´ ´ä¼ê¸©µ×»ü»Ô ´ä¼ê¸©¶å¸Í·´ 033 #CN ÀÄ¿¹¸©»°Âô»Ô ÀÄ¿¹¸©¾åËÌ·´ 034 #CN ÀÄ¿¹¸©½½ÏÂÅÄ»Ô ÀÄ¿¹¸©¾åËÌ·´ 035 #CN ÀÄ¿¹¸©¤à¤Ä»Ô ÀÄ¿¹¸©²¼ËÌ·´ 036 #CN ÀÄ¿¹¸©¹°Á°»Ô ÀÄ¿¹¸©¹õÀÐ»Ô ÀÄ¿¹¸©ÃæÄÅ·Ú·´ ÀÄ¿¹¸©ÆîÄÅ·Ú·´ 037 #CN ÀÄ¿¹¸©¸Þ½êÀ»Ô ÀÄ¿¹¸©À¾ÄÅ·Ú·´ ÀÄ¿¹¸©ËÌÄÅ·Ú·´ 038 #CN ÀÄ¿¹¸©¹°Á°»Ô ÀÄ¿¹¸©À¾ÄÅ·Ú·´ ÀÄ¿¹¸©ÆîÄÅ·Ú·´ ÀÄ¿¹¸©ËÌÄÅ·Ú·´ 039 #CN ´ä¼ê¸©µ×»ü»Ô ´ä¼ê¸©¶å¸Í·´ ÀÄ¿¹¸©¤à¤Ä»Ô ÀÄ¿¹¸©²¼ËÌ·´ ÀÄ¿¹¸©»°¸Í·´ ÀÄ¿¹¸©¾åËÌ·´ ÀÄ¿¹¸©ÀÄ¿¹»Ô ÀÄ¿¹¸©ÅìÄÅ·Ú·´ ÀÄ¿¹¸©È¬¸Í»Ô 040 #CN Ë̳¤Æ»È¡´Û»Ô 041 #CN Ë̳¤Æ»³ýÉô·´ Ë̳¤Æ»µµÅÄ·´ Ë̳¤Æ»È¡´Û»Ô 042 #CN Ë̳¤Æ»È¡´Û»Ô 043 #CN Ë̳¤Æ»±ü¿¬·´ Ë̳¤Æ»µ×±ó·´ Ë̳¤Æ»¼¤»Ö·´ Ë̳¤Æ»É°»³·´ 044 #CN Ë̳¤Æ»°ºÅÄ·´ Ë̳¤Æ»Í­¼î·´ 045 #CN Ë̳¤Æ»´äÆâ·´ Ë̳¤Æ»¸Å±§·´ 046 #CN Ë̳¤Æ»¸ÅÊ¿·´ Ë̳¤Æ»ÀÑð·´ Ë̳¤Æ»Í¾»Ô·´ 047 #CN Ë̳¤Æ»¾®Ã®»Ô Ë̳¤Æ»Í¾»Ô·´ 048 #CN Ë̳¤Æ»°ºÅÄ·´ Ë̳¤Æ»°ëë·´ Ë̳¤Æ»´äÆâ·´ Ë̳¤Æ»¼÷ÅÔ·´ Ë̳¤Æ»¾®Ã®»Ô Ë̳¤Æ»ÅçËÒ·´ Ë̳¤Æ»Í¾»Ô·´ 049 #CN Ë̳¤Æ»°ºÅÄ·´ Ë̳¤Æ»°ëë·´ Ë̳¤Æ»³ýÉô·´ Ë̳¤Æ»µµÅÄ·´ Ë̳¤Æ»»³±Û·´ Ë̳¤Æ»¾¾Á°·´ Ë̳¤Æ»¾å°ë·´ Ë̳¤Æ»À¥Ãª·´ Ë̳¤Æ»ÅçËÒ·´ Ë̳¤Æ»É°»³·´ Ë̳¤Æ»Í­¼î·´ 050 #CN Ë̳¤Æ»¼¼Íö»Ô 051 #CN Ë̳¤Æ»¼¼Íö»Ô 052 #CN Ë̳¤Æ»°Ëã»Ô Ë̳¤Æ»Í­¼î·´ 053 #CN Ë̳¤Æ»ÆÑ¾®ËÒ»Ô 054 #CN Ë̳¤Æ»Í¦Ê§·´ 055 #CN Ë̳¤Æ»º»Î®·´ 056 #CN Ë̳¤Æ»ÀÅÆâ·´ 057 #CN Ë̳¤Æ»±º²Ï·´ 058 #CN Ë̳¤Æ»±º²Ï·´ Ë̳¤Æ»ËÚÀô·´ Ë̳¤Æ»ÍÍ»÷·´ 059 #CN Ë̳¤Æ»°Ëã»Ô Ë̳¤Æ»±º²Ï·´ Ë̳¤Æ»º»Î®·´ Ë̳¤Æ»»°Àз´ Ë̳¤Æ»¿·´§·´ Ë̳¤Æ»ÀÅÆâ·´ Ë̳¤Æ»ÅÐÊÌ»Ô Ë̳¤Æ»ÆÑ¾®ËÒ»Ô Ë̳¤Æ»ÇòÏ··´ Ë̳¤Æ»Í¦Ê§·´ Ë̳¤Æ»Í¼Ä¥·´ 060 #CN Ë̳¤Æ»»¥ËÚ»ÔÃæ±û¶è Ë̳¤Æ»»¥ËÚ»ÔÅì¶è Ë̳¤Æ»»¥ËÚ»ÔË̶è 061 #CN Ë̳¤Æ»³ò¸Í·´ Ë̳¤Æ»·ÃÄí»Ô Ë̳¤Æ»¸üÅÄ·´ Ë̳¤Æ»»¥ËÚ·´ Ë̳¤Æ»»¥ËÚ»ÔÆî¶è Ë̳¤Æ»¾®Ã®»Ô Ë̳¤Æ»ÀÐ¼í·´ 062 #CN Ë̳¤Æ»»¥ËÚ»ÔË­Ê¿¶è 063 #CN Ë̳¤Æ»»¥ËÚ»ÔÀ¾¶è 064 #CN Ë̳¤Æ»»¥ËÚ»ÔÃæ±û¶è 065 #CN Ë̳¤Æ»»¥ËÚ»ÔÅì¶è 066 #CN Ë̳¤Æ»ÀéºÐ»Ô Ë̳¤Æ»ÆÑ¾®ËÒ»Ô 067 #CN Ë̳¤Æ»¹¾ÊÌ»Ô 068 #CN Ë̳¤Æ»³ò¸Í·´ Ë̳¤Æ»´ä¸«Âô»Ô Ë̳¤Æ»¶õÃη´ Ë̳¤Æ»»°³Þ»Ô Ë̳¤Æ»ÀÐ¼í·´ Ë̳¤Æ»Èþ±´»Ô Ë̳¤Æ»Í¼Ä¥·´ Ë̳¤Æ»Í¼Ä¥»Ô 069 #CN Ë̳¤Æ»´ä¸«Âô»Ô Ë̳¤Æ»¶õÃη´ Ë̳¤Æ»¹¾ÊÌ»Ô Ë̳¤Æ»ÀéºÐ»Ô Ë̳¤Æ»Í¼Ä¥·´ 070 #CN Ë̳¤Æ»°°Àî»Ô 071 #CN Ë̳¤Æ»°°Àî»Ô Ë̳¤Æ»¶õÃη´ Ë̳¤Æ»¾åÀî·´ 072 #CN Ë̳¤Æ»Èþ±´»Ô 073 #CN Ë̳¤Æ»²Î»ÖÆâ»Ô Ë̳¤Æ»³ò¸Í·´ Ë̳¤Æ»¶õÃη´ Ë̳¤Æ»¸üÅÄ·´ Ë̳¤Æ»º½Àî»Ô Ë̳¤Æ»ÂìÀî»Ô Ë̳¤Æ»Éͱ׷´ 074 #CN Ë̳¤Æ»°°Àî»Ô Ë̳¤Æ»±«Îµ·´ Ë̳¤Æ»¿¼Àî»Ô 075 #CN Ë̳¤Æ»°²ÊÌ»Ô 076 #CN Ë̳¤Æ»°²ÊÌ»Ô Ë̳¤Æ»ÉÙÎÉÌî»Ô 077 #CN Ë̳¤Æ»ÁýÌÓ·´ Ë̳¤Æ»Éͱ׷´ Ë̳¤Æ»Î±Ë¨·´ Ë̳¤Æ»Î±Ë¨»Ô 078 #CN Ë̳¤Æ»°°Àî»Ô Ë̳¤Æ»±«Îµ·´ Ë̳¤Æ»³ò¸Í·´ Ë̳¤Æ»¾åÀî·´ Ë̳¤Æ»¿¼Àî»Ô Ë̳¤Æ»ÆÑÁ°·´ Ë̳¤Æ»Î±Ë¨·´ Ë̳¤Æ»Î±Ë¨»Ô 079 #CN Ë̳¤Æ»°°Àî»Ô Ë̳¤Æ»°²ÊÌ»Ô Ë̳¤Æ»±«Îµ·´ Ë̳¤Æ»´ä¸«Âô»Ô Ë̳¤Æ»¶õÃη´ Ë̳¤Æ»º»Î®·´ Ë̳¤Æ»º½Àî»Ô Ë̳¤Æ»ÀÖÊ¿»Ô Ë̳¤Æ»ÂìÀî»Ô Ë̳¤Æ»Èþ±´»Ô Ë̳¤Æ»ÉÙÎÉÌî»Ô Ë̳¤Æ»Í¦Ê§·´ 080 #CN Ë̳¤Æ»²ÏÅì·´ Ë̳¤Æ»ÂÓ¹­»Ô 081 #CN Ë̳¤Æ»²ÏÅì·´ Ë̳¤Æ»¾åÀî·´ 082 #CN Ë̳¤Æ»²ÏÀ¾·´ 083 #CN Ë̳¤Æ»ÃæÀî·´ 084 #CN Ë̳¤Æ»¶üÏ©»Ô 085 #CN Ë̳¤Æ»°¤´¨·´ Ë̳¤Æ»¶üÏ©·´ Ë̳¤Æ»¶üÏ©»Ô Ë̳¤Æ»Àî¾å·´ 086 #CN Ë̳¤Æ»¸ü´ß·´ Ë̳¤Æ»º¬¼¼»Ô Ë̳¤Æ»É¸ÄÅ·´ Ë̳¤Æ»ÌÜÍü·´ Ë̳¤Æ»ÌîÉÕ·´ 087 #CN Ë̳¤Æ»º¬¼¼»Ô 088 #CN Ë̳¤Æ»¶üÏ©·´ Ë̳¤Æ»¶üÏ©»Ô Ë̳¤Æ»¸ü´ß·´ Ë̳¤Æ»º¬¼¼»Ô Ë̳¤Æ»½½¾¡·´ Ë̳¤Æ»Àî¾å·´ Ë̳¤Æ»Çò¹Ç·´ Ë̳¤Æ»É¸ÄÅ·´ Ë̳¤Æ»ÌîÉÕ·´ 089 #CN Ë̳¤Æ»²ÏÀ¾·´ Ë̳¤Æ»¹­Èø·´ Ë̳¤Æ»½½¾¡·´ Ë̳¤Æ»¾åÀî·´ Ë̳¤Æ»Â­´ó·´ Ë̳¤Æ»ÂÓ¹­»Ô Ë̳¤Æ»ÃæÀî·´ 090 #CN Ë̳¤Æ»¾ïϤ·´ Ë̳¤Æ»Ë̸«»Ô 091 #CN Ë̳¤Æ»¾ïϤ·´ 092 #CN Ë̳¤Æ»ÌÖÁö·´ 093 #CN Ë̳¤Æ»¾ïϤ·´ Ë̳¤Æ»ÌÖÁö»Ô Ë̳¤Æ»ÌæÊÌ·´ 094 #CN Ë̳¤Æ»ÌæÊÌ»Ô 095 #CN Ë̳¤Æ»»ÎÊÌ»Ô Ë̳¤Æ»¾åÀî·´ 096 #CN Ë̳¤Æ»Ì¾´ó»Ô 097 #CN Ë̳¤Æ»ÃÕÆâ»Ô Ë̳¤Æ»Íø¿¬·´ Ë̳¤Æ»Îéʸ·´ 098 #CN Ë̳¤Æ»»ÎÊÌ»Ô Ë̳¤Æ»»Þ¹¬·´ Ë̳¤Æ»½¡Ã«·´ Ë̳¤Æ»¾åÀî·´ Ë̳¤Æ»ÃÕÆâ»Ô Ë̳¤Æ»ÃæÀî·´ Ë̳¤Æ»Å·±ö·´ Ë̳¤Æ»ÆÑÁ°·´ Ë̳¤Æ»Ì¾´ó»Ô Ë̳¤Æ»ÌæÊÌ·´ 099 #CN Ë̳¤Æ»¼ÐΤ·´ Ë̳¤Æ»¾ïϤ·´ Ë̳¤Æ»Ë̸«»Ô Ë̳¤Æ»ÌÖÁö·´ Ë̳¤Æ»ÌÖÁö»Ô Ë̳¤Æ»ÌæÊÌ·´ Ë̳¤Æ»ÌæÊÌ»Ô 100 #CN ÅìµþÅÔ¸æÂ¢Åç¼ ÅìµþÅÔ»°Âð¼ ÅìµþÅÔ¾®³Þ¸¶Â¼ ÅìµþÅÔ¿·ÅçËܼ ÅìµþÅÔ¿ÀÄÅÅç¼ ÅìµþÅÔÀÄ¥±Åç¼ ÅìµþÅÔÀéÂåÅĶè ÅìµþÅÔÂçÅçÄ® ÅìµþÅÔȬ¾æÄ® ÅìµþÅÔÍøÅç¼ 101 #CN ÅìµþÅÔÀéÂåÅĶè 102 #CN ÅìµþÅÔÀéÂåÅĶè 103 #CN ÅìµþÅÔÃæ±û¶è 104 #CN ÅìµþÅÔÃæ±û¶è 105 #CN ÅìµþÅÔ¹Á¶è 106 #CN ÅìµþÅÔ¹Á¶è 107 #CN ÅìµþÅÔ¹Á¶è 108 #CN ÅìµþÅÔ¹Á¶è 109 #CN ÅìµþÅÔ¹Á¶è 110 #CN ÅìµþÅÔÂæÅì¶è 111 #CN ÅìµþÅÔÂæÅì¶è 112 #CN ÅìµþÅÔʸµþ¶è 113 #CN ÅìµþÅÔʸµþ¶è 114 #CN ÅìµþÅÔË̶è 115 #CN ÅìµþÅÔË̶è 116 #CN ÅìµþÅÔ¹ÓÀî¶è 120 #CN ÅìµþÅÔ­Ω¶è 121 #CN ÅìµþÅÔ­Ω¶è 123 #CN ÅìµþÅÔ­Ω¶è 124 #CN ÅìµþÅÔ³ë¾þ¶è 125 #CN ÅìµþÅÔ³ë¾þ¶è 130 #CN ÅìµþÅÔËÏÅĶè 131 #CN ÅìµþÅÔËÏÅĶè 132 #CN ÅìµþÅÔ¹¾¸ÍÀî¶è 133 #CN ÅìµþÅÔ¹¾¸ÍÀî¶è 134 #CN ÅìµþÅÔ¹¾¸ÍÀî¶è 135 #CN ÅìµþÅÔ¹¾Åì¶è ÅìµþÅÔ¹Á¶è ÅìµþÅÔÉÊÀî¶è 136 #CN ÅìµþÅÔ¹¾Åì¶è 140 #CN ÅìµþÅÔÉÊÀî¶è 141 #CN ÅìµþÅÔÉÊÀî¶è 142 #CN ÅìµþÅÔÉÊÀî¶è 143 #CN ÅìµþÅÔÂçÅĶè 144 #CN ÅìµþÅÔÂçÅĶè 145 #CN ÅìµþÅÔÂçÅĶè 146 #CN ÅìµþÅÔÂçÅĶè 149 #CN ÅìµþÅÔÂçÅĶè 150 #CN ÅìµþÅÔ½Âë¶è 151 #CN ÅìµþÅÔ½Âë¶è 152 #CN ÅìµþÅÔÌܹõ¶è 153 #CN ÅìµþÅÔÌܹõ¶è 154 #CN ÅìµþÅÔÀ¤ÅÄë¶è 155 #CN ÅìµþÅÔÀ¤ÅÄë¶è 156 #CN ÅìµþÅÔÀ¤ÅÄë¶è 157 #CN ÅìµþÅÔÀ¤ÅÄë¶è 158 #CN ÅìµþÅÔÀ¤ÅÄë¶è 160 #CN ÅìµþÅÔ¿·½É¶è 161 #CN ÅìµþÅÔ¿·½É¶è 162 #CN ÅìµþÅÔ¿·½É¶è 163 #CN ÅìµþÅÔ¿·½É¶è 164 #CN ÅìµþÅÔÃæÌî¶è 165 #CN ÅìµþÅÔÃæÌî¶è 166 #CN ÅìµþÅÔ¿ùʶè 167 #CN ÅìµþÅÔ¿ùʶè 168 #CN ÅìµþÅÔ¿ùʶè 169 #CN ÅìµþÅÔ¿·½É¶è 170 #CN ÅìµþÅÔË­Åç¶è 171 #CN ÅìµþÅÔË­Åç¶è 173 #CN ÅìµþÅÔÈͶ¶è 174 #CN ÅìµþÅÔÈͶ¶è 175 #CN ÅìµþÅÔÈͶ¶è 176 #CN ÅìµþÅÔÎýÇ϶è 177 #CN ÅìµþÅÔÎýÇ϶è 180 #CN ÅìµþÅÔÉð¢Ìî»Ô 181 #CN ÅìµþÅÔ»°Âë»Ô 182 #CN ÅìµþÅÔÄ´ÉÛ»Ô 183 #CN ÅìµþÅÔÉÜÃæ»Ô 184 #CN ÅìµþÅÔ¾®¶â°æ»Ô 185 #CN ÅìµþÅÔ¹ñʬ»û»Ô 186 #CN ÅìµþÅÔ¹ñΩ»Ô 187 #CN ÅìµþÅÔ¾®Ê¿»Ô 188 #CN ÅìµþÅÔÅÄ̵»Ô 189 #CN ÅìµþÅÔÅì¼»³»Ô ÅìµþÅÔÅìÂçÏÂ»Ô 190 #CN ÅìµþÅÔÀ¾Â¿Ëà·´ ÅìµþÅÔÉ𢼻³»Ô ÅìµþÅÔΩÀî»Ô 191 #CN ÅìµþÅÔÆüÌî»Ô 192 #CN ÅìµþÅÔȬ²¦»Ò»Ô 193 #CN ÅìµþÅÔȬ²¦»Ò»Ô 194 #CN ÅìµþÅÔÄ®ÅÄ»Ô 196 #CN ÅìµþÅÔ¾¼Åç»Ô 197 #CN ÅìµþÅÔ½©Àî»Ô ÅìµþÅÔÊ¡À¸»Ô 198 #CN ÅìµþÅÔÀ¾Â¿Ëà·´ ÅìµþÅÔÀÄÇß»Ô 199 #CN ¿ÀÆàÀÄŵװ淴 201 #CN ÅìµþÅÔ¹ý¹¾»Ô 202 #CN ÅìµþÅÔÊÝë»Ô 203 #CN ÅìµþÅÔÅìµ×Î±ÊÆ»Ô 204 #CN ÅìµþÅÔÀ¶À¥»Ô 206 #CN ÅìµþÅÔ°ð¾ë»Ô ÅìµþÅÔ¿Ëà»Ô 210 #CN ¿ÀÆàÀÀîºê»Ô¹¬¶è ¿ÀÆàÀÀîºê»ÔÀîºê¶è 211 #CN ¿ÀÆàÀÀîºê»Ô¹¬¶è ¿ÀÆàÀÀîºê»ÔÃæ¸¶¶è 213 #CN ¿ÀÆàÀÀîºê»ÔµÜÁ°¶è ¿ÀÆàÀÀîºê»Ô¹âÄŶè 214 #CN ¿ÀÆàÀÀîºê»Ô¿Ëà¶è 215 #CN ¿ÀÆàÀÀîºê»ÔËãÀ¸¶è 220 #CN ¿ÀÆàÀ²£ÉÍ»ÔÀ¾¶è ¿ÀÆàÀÄŵװ淴 221 #CN ¿ÀÆàÀ²£ÉͻԿÀÆàÀî¶è 222 #CN ¿ÀÆàÀ²£ÉͻԹÁË̶è 223 #CN ¿ÀÆàÀ²£ÉͻԹÁË̶è 226 #CN ¿ÀÆàÀ²£ÉÍ»ÔÎжè 227 #CN ¿ÀÆàÀ²£ÉÍ»ÔÎжè 228 #CN ¿ÀÆàÀºÂ´Ö»Ô ¿ÀÆàÀÁêÌϸ¶»Ô 229 #CN ¿ÀÆàÀÁêÌϸ¶»Ô 230 #CN ¿ÀÆàÀ²£ÉÍ»ÔÄḫ¶è 231 #CN ¿ÀÆàÀ²£ÉÍ»ÔÃæ¶è 232 #CN ¿ÀÆàÀ²£ÉÍ»ÔÆî¶è 233 #CN ¿ÀÆàÀ²£ÉͻԹÁÆî¶è 234 #CN ¿ÀÆàÀ²£ÉͻԿÀÆàÀî¶è 235 #CN ¿ÀÆàÀ²£Éͻ԰ë»Ò¶è 236 #CN ¿ÀÆàÀ²£ÉͻԶâÂô¶è 237 #CN ¿ÀÆàÀ²£¿Ü²ì»Ô 238 #CN ¿ÀÆàÀ²£¿Ü²ì»Ô ¿ÀÆàÀ»°±º»Ô 239 #CN ¿ÀÆàÀ²£¿Ü²ì»Ô 240 #CN ¿ÀÆàÀ²£¿Ü²ì»Ô ¿ÀÆàÀ²£ÉÍ»ÔÊÝÅÚ¥±Ã«¶è ¿ÀÆàÀ»°±º·´ 241 #CN ¿ÀÆàÀ²£Éͻ԰°¶è 242 #CN ¿ÀÆàÀÂçÏÂ»Ô 243 #CN ¿ÀÆàÀ°¦¹Ã·´ ¿ÀÆàÀ³¤Ï·Ì¾»Ô ¿ÀÆàÀ¸üÌÚ»Ô 244 #CN ¿ÀÆàÀ²£ÉÍ»Ô±É¶è ¿ÀÆàÀ²£ÉͻԸÍÄͶè 245 #CN ¿ÀÆàÀ²£ÉͻԸÍÄÍ¶è ¿ÀÆàÀ²£ÉÍ»ÔÀô¶è 246 #CN ¿ÀÆàÀ²£ÉÍ»ÔÀ¥Ã«¶è 247 #CN ¿ÀÆàÀ²£ÉÍ»Ô±É¶è ¿ÀÆàÀ³ùÁÒ»Ô 248 #CN ¿ÀÆàÀ³ùÁÒ»Ô 249 #CN ¿ÀÆàÀ¿à»Ò»Ô 250 #CN ¿ÀÆàÀ¾®Åĸ¶»Ô ¿ÀÆàÀ­ÊÁ²¼·´ ¿ÀÆàÀÆî­ÊÁ»Ô 251 #CN ¿ÀÆàÀƣÂô»Ô 252 #CN ¿ÀÆàÀ°½À¥»Ô ¿ÀÆàÀƣÂô»Ô 253 #CN ¿ÀÆàÀ³ý¥±ºê»Ô ¿ÀÆàÀ¹âºÂ·´ 254 #CN ¿ÀÆàÀʿÄÍ»Ô 255 #CN ¿ÀÆàÀî¸©Ãæ·´ 256 #CN ¿ÀÆàÀ¾®Åĸ¶»Ô 257 #CN ¿ÀÆàÀ°¦¹Ã·´ ¿ÀÆàÀ¿ÁÌî»Ô 258 #CN ¿ÀÆàÀ­ÊÁ¾å·´ 259 #CN ¿ÀÆàÀ°ËÀª¸¶»Ô ¿ÀÆàÀ¿ÁÌî»Ô ¿ÀÆàÀ­ÊÁ²¼·´ ¿ÀÆàÀ­ÊÁ¾å·´ ¿ÀÆàÀî¸©Ãæ·´ ¿ÀÆàÀʿÄÍ»Ô 260 #CN ÀéÍÕ¸©ÀéÍÕ»Ô 270 #CN °ñ¾ë¸©ËÌÁêÇÏ·´ ÀéÍÕ¸©°õÚÙ·´ ÀéÍÕ¸©²æÂ¹»Ò»Ô ÀéÍÕ¸©¾¾¸Í»Ô ÀéÍÕ¸©Á¥¶¶»Ô ÀéÍÕ¸©Åì³ë¾þ·´ ÀéÍÕ¸©ÌîÅÄ»Ô ÀéÍÕ¸©Î®»³»Ô 271 #CN ÀéÍÕ¸©¾¾¸Í»Ô 272 #CN ÀéÍÕ¸©»ÔÀî»Ô 273 #CN ÀéÍÕ¸©³ù¥±Ã«»Ô ÀéÍÕ¸©Á¥¶¶»Ô 274 #CN ÀéÍÕ¸©Á¥¶¶»Ô 275 #CN ÀéÍÕ¸©½¬»ÖÌî»Ô 276 #CN ÀéÍÕ¸©È¬ÀéÂå»Ô 277 #CN ÀéÍÕ¸©Åì³ë¾þ·´ ÀéÍÕ¸©Çð»Ô 278 #CN ÀéÍÕ¸©ÌîÅÄ»Ô 279 #CN ÀéÍÕ¸©±º°Â»Ô 280 #CN ÀéÍÕ¸©ÀéÍÕ»Ô 281 #CN ÀéÍÕ¸©ÀéÍÕ»Ô 282 #CN ÀéÍÕ¸©À®ÅÄ»Ô 283 #CN ÀéÍÕ¸©»³Éð·´ ÀéÍÕ¸©Åì¶â»Ô 284 #CN ÀéÍÕ¸©»Í³¹Æ»»Ô 285 #CN ÀéÍÕ¸©°õÚÙ·´ ÀéÍÕ¸©º´ÁÒ»Ô 286 #CN ÀéÍÕ¸©°õÚÙ·´ ÀéÍÕ¸©À®ÅÄ»Ô 287 #CN ÀéÍÕ¸©¹á¼è·´ ÀéÍÕ¸©º´¸¶»Ô 288 #CN ÀéÍÕ¸©Ä¸»Ò»Ô 289 #CN ÀéÍÕ¸©°°»Ô ÀéÍÕ¸©°õÚÙ·´ ÀéÍÕ¸©³¤¾å·´ ÀéÍÕ¸©¹á¼è·´ ÀéÍÕ¸©»³Éð·´ ÀéÍÕ¸©ÁÙº¼·´ ÀéÍÕ¸©È¬Æü»Ô¾ì»Ô 290 #CN ÀéÍÕ¸©»Ô¸¶»Ô 292 #CN ÀéÍÕ¸©·¯ÄÅ»Ô ÀéÍÕ¸©ÌÚ¹¹ÄÅ»Ô 294 #CN ÀéÍÕ¸©°Â˼·´ ÀéÍÕ¸©´Û»³»Ô 295 #CN ÀéÍÕ¸©°Â˼·´ 296 #CN ÀéÍÕ¸©³ûÀî»Ô 297 #CN ÀéÍÕ¸©Ä¹À¸·´ ÀéÍÕ¸©Ìи¶»Ô 298 #CN ÀéÍÕ¸©°Ð¶ù·´ 299 #CN ÀéÍÕ¸©°Â˼·´ ÀéÍÕ¸©°Ð¶ù·´ ÀéÍÕ¸©³ûÀî»Ô ÀéÍÕ¸©·¯ÄÅ·´ ÀéÍÕ¸©·¯ÄÅ»Ô ÀéÍÕ¸©»³Éð·´ ÀéÍÕ¸©»Ô¸¶»Ô ÀéÍÕ¸©¾¡±º»Ô ÀéÍÕ¸©ÀéÍÕ»Ô ÀéÍÕ¸©Ä¹À¸·´ ÀéÍÕ¸©ÉÙÄÅ»Ô ÀéÍÕ¸©Ìи¶»Ô 300 #CN °ñ¾ë¸©¤Ä¤¯¤Ð»Ô °ñ¾ë¸©°ðÉß·´ °ñ¾ë¸©µíµ×»Ô °ñ¾ë¸©·ë¾ë·´ °ñ¾ë¸©¿·¼£·´ °ñ¾ë¸©¿¿ÊÉ·´ °ñ¾ë¸©¿å³¤Æ»»Ô °ñ¾ë¸©ÃÞÇÈ·´ °ñ¾ë¸©ÅÚ±º»Ô °ñ¾ë¸©ËÌÁêÇÏ·´ 301 #CN °ñ¾ë¸©°ðÉß·´ °ñ¾ë¸©Îµ¥±ºê»Ô 302 #CN °ñ¾ë¸©¼è¼ê»Ô °ñ¾ë¸©¿å³¤Æ»»Ô °ñ¾ë¸©ÃÞÇÈ·´ °ñ¾ë¸©ËÌÁêÇÏ·´ 303 #CN °ñ¾ë¸©¿å³¤Æ»»Ô 304 #CN °ñ¾ë¸©²¼ºÊ»Ô 305 #CN °ñ¾ë¸©¤Ä¤¯¤Ð»Ô °ñ¾ë¸©°ðÉß·´ 306 #CN °ñ¾ë¸©±îÅç·´ °ñ¾ë¸©´ä°æ»Ô °ñ¾ë¸©¸Å²Ï»Ô 307 #CN °ñ¾ë¸©·ë¾ë»Ô ÆÊÌÚ¸©²ÏÆâ·´ ÆÊÌÚ¸©¾®»³»Ô 308 #CN °ñ¾ë¸©²¼´Û»Ô °ñ¾ë¸©¿¿ÊÉ·´ 309 #CN °ñ¾ë¸©³Þ´Ö»Ô °ñ¾ë¸©¿·¼£·´ °ñ¾ë¸©¿¿ÊÉ·´ °ñ¾ë¸©À¾°ñ¾ë·´ 310 #CN °ñ¾ë¸©¿å¸Í»Ô 311 #CN °ñ¾ë¸©µ×»ü·´ °ñ¾ë¸©¹ÔÊý·´ °ñ¾ë¸©¼¯Åç·´ °ñ¾ë¸©¾ïΦÂÀÅÄ»Ô °ñ¾ë¸©¿·¼£·´ °ñ¾ë¸©¿å¸Í»Ô °ñ¾ë¸©À¾°ñ¾ë·´ °ñ¾ë¸©Åì°ñ¾ë·´ °ñ¾ë¸©Æá²Ñ·´ °ñ¾ë¸©Æá²ÑÌ«»Ô °ñ¾ë¸©ÆüΩ»Ô 312 #CN °ñ¾ë¸©¾¡ÅÄ»Ô 313 #CN °ñ¾ë¸©µ×»ü·´ °ñ¾ë¸©¾ïΦÂÀÅÄ»Ô 314 #CN °ñ¾ë¸©¼¯Åç·´ 315 #CN °ñ¾ë¸©¿·¼£·´ °ñ¾ë¸©Àв¬»Ô 316 #CN °ñ¾ë¸©ÆüΩ»Ô 317 #CN °ñ¾ë¸©ÆüΩ»Ô 318 #CN °ñ¾ë¸©¹âÇë»Ô 319 #CN °ñ¾ë¸©µ×»ü·´ °ñ¾ë¸©¿·¼£·´ °ñ¾ë¸©À¾°ñ¾ë·´ °ñ¾ë¸©Â¿²ì·´ °ñ¾ë¸©Åì°ñ¾ë·´ °ñ¾ë¸©Æá²Ñ·´ °ñ¾ë¸©ÆüΩ»Ô °ñ¾ë¸©Ḛ̈ñ¾ë»Ô 320 #CN ÆÊÌÚ¸©±§ÅÔµÜ»Ô 321 #CN ÆÊÌÚ¸©±§ÅÔµÜ»Ô ÆÊÌÚ¸©±öë·´ ÆÊÌÚ¸©²¼ÅԲ췴 ÆÊÌÚ¸©²ÏÆâ·´ ÆÊÌÚ¸©º£»Ô»Ô ÆÊÌÚ¸©¼¯¾Â»Ô ÆÊÌÚ¸©¿¿²¬»Ô ÆÊÌÚ¸©Æá¿Ü·´ ÆÊÌÚ¸©Æü¸÷»Ô ÆÊÌÚ¸©Ë§²ì·´ 322 #CN ÆÊÌÚ¸©¼¯¾Â»Ô ÆÊÌÚ¸©¾åÅԲ췴 323 #CN ÆÊÌÚ¸©¾®»³»Ô 324 #CN ÆÊÌÚ¸©ÂçÅĸ¶»Ô ÆÊÌÚ¸©Æá¿Ü·´ 325 #CN ÆÊÌÚ¸©¹õ°ë»Ô ÆÊÌÚ¸©Æá¿Ü·´ 326 #CN ÆÊÌÚ¸©Â­Íø»Ô 327 #CN ÆÊÌÚ¸©°ÂÁÉ·´ ÆÊÌÚ¸©º´Ìî»Ô 328 #CN ÆÊÌÚ¸©°ÂÁÉ·´ ÆÊÌÚ¸©²¼ÅԲ췴 ÆÊÌÚ¸©¾åÅԲ췴 ÆÊÌÚ¸©ÆÊÌÚ»Ô 329 #CN ÆÊÌÚ¸©±öë·´ ÆÊÌÚ¸©²¼ÅԲ췴 ÆÊÌÚ¸©²ÏÆâ·´ ÆÊÌÚ¸©¹õ°ë»Ô ÆÊÌÚ¸©¾®»³»Ô ÆÊÌÚ¸©Â­Íø»Ô ÆÊÌÚ¸©ÂçÅĸ¶»Ô ÆÊÌÚ¸©Æá¿Ü·´ ÆÊÌÚ¸©ÌðÈÄ»Ô 330 #CN ºë¶Ì¸©ÂçµÜ»Ô 331 #CN ºë¶Ì¸©ÂçµÜ»Ô 332 #CN ºë¶Ì¸©Àî¸ý»Ô 333 #CN ºë¶Ì¸©Àî¸ý»Ô 334 #CN ºë¶Ì¸©Àî¸ý»Ô ºë¶Ì¸©È·¥±Ã«»Ô 335 #CN ºë¶Ì¸©¸ÍÅÄ»Ô ºë¶Ì¸©ÏÏ»Ô 336 #CN ºë¶Ì¸©±ºÏÂ»Ô 337 #CN ºë¶Ì¸©±ºÏÂ»Ô 338 #CN ºë¶Ì¸©±ºÏÂ»Ô ºë¶Ì¸©Í¿Ìî»Ô 339 #CN ºë¶Ì¸©´äÄÐ»Ô 340 #CN ºë¶Ì¸©Áð²Ã»Ô ºë¶Ì¸©È¬Ä¬»Ô ºë¶Ì¸©Ë̳ë¾þ·´ 341 #CN ºë¶Ì¸©»°¶¿»Ô 342 #CN ºë¶Ì¸©Ë̳ë¾þ·´ 343 #CN ºë¶Ì¸©±Ûë»Ô ºë¶Ì¸©Ë̳ë¾þ·´ 344 #CN ºë¶Ì¸©½ÕÆüÉô»Ô ºë¶Ì¸©Ë̳ë¾þ·´ 345 #CN ºë¶Ì¸©Æîºë¶Ì·´ ºë¶Ì¸©Ë̳ë¾þ·´ 346 #CN ºë¶Ì¸©µ×´î»Ô ºë¶Ì¸©Æîºë¶Ì·´ 347 #CN ºë¶Ì¸©²Ã¿Ü»Ô ºë¶Ì¸©Ë̺ë¶Ì·´ 348 #CN ºë¶Ì¸©±©À¸»Ô 349 #CN ºë¶Ì¸©Æîºë¶Ì·´ ºë¶Ì¸©Ë̳ë¾þ·´ ºë¶Ì¸©Ë̺ë¶Ì·´ ºë¶Ì¸©Ï¡ÅÄ»Ô ÆÊÌÚ¸©²¼ÅԲ췴 350 #CN ºë¶Ì¸©¶¹»³»Ô ºë¶Ì¸©ºä¸Í»Ô ºë¶Ì¸©Àî±Û»Ô ºë¶Ì¸©Æþ´Ö·´ ºë¶Ì¸©Èæ´ë·´ 351 #CN ºë¶Ì¸©Ä«²â»Ô ºë¶Ì¸©Ï¸÷»Ô 352 #CN ºë¶Ì¸©¿·ºÂ»Ô 353 #CN ºë¶Ì¸©»ÖÌÚ»Ô 354 #CN ºë¶Ì¸©Æþ´Ö·´ ºë¶Ì¸©Éٻθ«»Ô 355 #CN ºë¶Ì¸©ÃáÉã·´ ºë¶Ì¸©Åì¾¾»³»Ô ºë¶Ì¸©Èæ´ë·´ 356 #CN ºë¶Ì¸©¾åÊ¡²¬»Ô ºë¶Ì¸©Àî±Û»Ô 357 #CN ºë¶Ì¸©Æþ´Ö·´ ºë¶Ì¸©ÈÓǽ»Ô 358 #CN ºë¶Ì¸©Æþ´Ö»Ô 359 #CN ºë¶Ì¸©½êÂô»Ô 360 #CN ºë¶Ì¸©·§Ã«»Ô ºë¶Ì¸©¹ÔÅÄ»Ô ºë¶Ì¸©ÂçΤ·´ ºë¶Ì¸©Ë̺ë¶Ì·´ 361 #CN ºë¶Ì¸©¹ÔÅÄ»Ô 362 #CN ºë¶Ì¸©¾åÈø»Ô ºë¶Ì¸©ËÌ­Ω·´ 363 #CN ºë¶Ì¸©²³Àî»Ô 364 #CN ºë¶Ì¸©ËÌËÜ»Ô 365 #CN ºë¶Ì¸©¹ãÁã»Ô ºë¶Ì¸©Ë̺ë¶Ì·´ 366 #CN ºë¶Ì¸©¿¼Ã«»Ô 367 #CN ºë¶Ì¸©»ù¶Ì·´ ºë¶Ì¸©Ëܾ±»Ô 368 #CN ºë¶Ì¸©ÃáÉã·´ ºë¶Ì¸©ÃáÉã»Ô 369 #CN ºë¶Ì¸©»ù¶Ì·´ ºë¶Ì¸©ÂçΤ·´ ºë¶Ì¸©ÃáÉã·´ ºë¶Ì¸©ÃáÉã»Ô ºë¶Ì¸©ËÌ­Ω·´ 370 #CN ·²Çϸ©´Å³Ú·´ ·²Çϸ©´ÛÎÓ»Ô ·²Çϸ©·²ÇÏ·´ ·²Çϸ©¸ãºÊ·´ ·²Çϸ©¹âºê»Ô ·²Çϸ©º´ÇÈ·´ ·²Çϸ©¿·ÅÄ·´ ·²Çϸ©Á°¶¶»Ô ·²Çϸ©Â¿Ìî·´ ·²Çϸ©ÉÙ²¬»Ô ·²Çϸ©ËÌ·²ÇÏ·´ ·²Çϸ©Í¸³Ú·´ 371 #CN ·²Çϸ©ÀªÂ¿·´ ·²Çϸ©Á°¶¶»Ô 372 #CN ·²Çϸ©°ËÀªºê»Ô 373 #CN ·²Çϸ©ÂÀÅÄ»Ô 374 #CN ·²Çϸ©´ÛÎÓ»Ô ·²Çϸ©Í¸³Ú·´ 375 #CN ·²Çϸ©Æ£²¬»Ô 376 #CN ·²Çϸ©¶ÍÀ¸»Ô ·²Çϸ©»³ÅÄ·´ ·²Çϸ©ÀªÂ¿·´ ÆÊÌÚ¸©¾åÅԲ췴 377 #CN ·²Çϸ©¸ãºÊ·´ ·²Çϸ©½ÂÀî»Ô ·²Çϸ©ÀªÂ¿·´ ·²Çϸ©ËÌ·²ÇÏ·´ 378 #CN ·²Çϸ©¾ÂÅÄ»Ô ·²Çϸ©Íøº¬·´ 379 #CN ·²Çϸ©°ÂÃæ»Ô ·²Çϸ©±°É¹·´ ·²Çϸ©´Å³Ú·´ ·²Çϸ©º´ÇÈ·´ ·²Çϸ©¿·ÅÄ·´ ·²Çϸ©ÀªÂ¿·´ ·²Çϸ©Á°¶¶»Ô ·²Çϸ©Íøº¬·´ 380 #CN ĹÌĹÌî»Ô 381 #CN ĹÌ²¼¹â°æ·´ ĹÌ¹¹µé·´ ĹÌ¾å¹â°æ·´ ĹÌ¾å¿åÆâ·´ ĹÌĹÌî»Ô 382 #CN ĹÌ¾å¹â°æ·´ ĹÌ¿Üºä»Ô 383 #CN ĹÌî¸©ÃæÌî»Ô 384 #CN ·²Çϸ©¸ãºÊ·´ ĹÌº´µ×»Ô ĹÌ¾®½ô»Ô ĹÌÆîº´µ×·´ ĹÌË̺´µ×·´ 385 #CN ĹÌº´µ×»Ô 386 #CN ĹÌ¾®¸©·´ ĹÌ¾åÅÄ»Ô Ä¹Ì¿Üºä»Ô 387 #CN ĹÌ¹¹¾ý»Ô 388 #CN ĹÌĹÌî»Ô 389 #CN ·²Çϸ©±°É¹·´ ¿·³ã¸©Ãæ·Û¾ë·´ ĹÌ²¼¹â°æ·´ ĹÌ²¼¿åÆâ·´ ĹÌ¹¹µé·´ ĹÌº´µ×»Ô ĹÌ¾®¸©·´ ĹÌ¾®½ô»Ô ĹÌ¾å¿åÆâ·´ ĹÌ¾ý²Ê·´ ĹÌî¸©ÃæÌî»Ô ĹÌÈÓ»³»Ô ĹÌË̺´µ×·´ 390 #CN ĹÌ¾¾ËÜ»Ô Ä¹ÌÅìÃÞËà·´ ĹÌÆî°ÂÆÞ·´ 391 #CN ĹÌ³ýÌî»Ô ĹÌ¿Ûˬ·´ ĹÌË̺´µ×·´ 392 #CN ĹÌ¿Ûˬ»Ô 393 #CN ĹÌ¿Ûˬ·´ 394 #CN ĹÌ±ö¿¬»Ô ĹÌ²¬Ã«»Ô 395 #CN ĹÌ²¼°ËÆá·´ ĹÌÈÓÅÄ»Ô 396 #CN ĹÌ°ËÆá»Ô ĹÌ¾å°ËÆá·´ 397 #CN ĹÌÌÚÁ¾·´ 398 #CN ĹÌÂçÄ®»Ô 399 #CN ĹÌ°ËÆá»Ô ĹÌ±ö¿¬»Ô ĹÌ²¼°ËÆá·´ ĹÌ¶ð¥±º¬»Ô ĹÌ¾¾ËÜ»Ô Ä¹Ì¾å°ËÆá·´ ĹÌ¿Ûˬ·´ ĹÌÅìÃÞËà·´ ĹÌÆî°ÂÆÞ·´ ĹÌÈÓÅÄ»Ô Ä¹ÌËÌ°ÂÆÞ·´ ĹÌÌÚÁ¾·´ 400 #CN »³Íü¸©¹ÃÉÜ»Ô »³Íü¸©ÃæµðËà·´ »³Íü¸©ÅìȬÂå·´ »³Íü¸©ÆîµðËà·´ 401 #CN »³Íü¸©Âç·î»Ô »³Íü¸©ÆîÅÔα·´ 402 #CN »³Íü¸©ÅÔα»Ô »³Íü¸©ÆîÅÔα·´ 403 #CN »³Íü¸©ÆîÅÔα·´ »³Íü¸©ÉٻεÈÅÄ»Ô 404 #CN »³Íü¸©±ö»³»Ô »³Íü¸©Å컳Íü·´ 405 #CN »³Íü¸©»³Íü»Ô 406 #CN »³Íü¸©¹ÃÉÜ»Ô »³Íü¸©Å컳Íü·´ »³Íü¸©ÅìȬÂå·´ 407 #CN »³Íü¸©Ç£ºê»Ô »³Íü¸©Ë̵ðËà·´ 408 #CN »³Íü¸©Ë̵ðËà·´ 409 #CN »³Íü¸©±ö»³»Ô »³Íü¸©À¾È¬Âå·´ »³Íü¸©Âç·î»Ô »³Íü¸©ÃæµðËà·´ »³Íü¸©Å컳Íü·´ »³Íü¸©ÅìȬÂå·´ »³Íü¸©ÆîµðËà·´ »³Íü¸©Ë̵ðËà·´ »³Íü¸©ËÌÅÔα·´ 410 #CN ÀŲ¬¸©²ìÌз´ ÀŲ¬¸©½ÙÅì·´ ÀŲ¬¸©¾ÂÄÅ»Ô ÀŲ¬¸©¿þÌî»Ô ÀŲ¬¸©ÅÄÊý·´ 411 #CN ÀŲ¬¸©»°Åç»Ô ÀŲ¬¸©½ÙÅì·´ ÀŲ¬¸©¾ÂÄÅ»Ô ÀŲ¬¸©ÅÄÊý·´ 412 #CN ÀŲ¬¸©¸æÅ¾ì»Ô 413 #CN ÀŲ¬¸©°ËÅì»Ô ÀŲ¬¸©²¼ÅÄ»Ô ÀŲ¬¸©²ìÌз´ ÀŲ¬¸©Ç®³¤»Ô 414 #CN ÀŲ¬¸©°ËÅì»Ô 415 #CN ÀŲ¬¸©²¼ÅÄ»Ô ÀŲ¬¸©²ìÌз´ 416 #CN ÀŲ¬¸©ÉÙ»Î»Ô 417 #CN ÀŲ¬¸©ÉÙ»Î»Ô 418 #CN ÀŲ¬¸©ÉÙ»ÎµÜ»Ô ÀŲ¬¸©Éٻη´ 419 #CN ÀŲ¬¸©ÅÄÊý·´ ÀŲ¬¸©Éٻη´ ÀŲ¬¸©ÉÙ»Î»Ô 420 #CN ÀŲ¬¸©ÀŲ¬»Ô 421 #CN ÀŲ¬¸©°Ã¸¶·´ ÀŲ¬¸©»ÖÂÀ·´ ÀŲ¬¸©¿º¸¶·´ ÀŲ¬¸©ÀŲ¬»Ô 422 #CN ÀŲ¬¸©ÀŲ¬»Ô 424 #CN ÀŲ¬¸©À¶¿å»Ô 425 #CN ÀŲ¬¸©¾ÆÄÅ»Ô 426 #CN ÀŲ¬¸©Æ£»Þ»Ô 427 #CN ÀŲ¬¸©ÅçÅÄ»Ô 428 #CN ÀŲ¬¸©¿º¸¶·´ ÀŲ¬¸©ÀŲ¬»Ô 430 #CN ÀŲ¬¸©É;¾»Ô 431 #CN ÀŲ¬¸©°úº´·´ ÀŲ¬¸©¸ÐÀ¾»Ô ÀŲ¬¸©Å·Îµ»Ô ÀŲ¬¸©ÈØÅÄ·´ ÀŲ¬¸©É;¾»Ô ÀŲ¬¸©ÉÍ̾·´ 432 #CN ÀŲ¬¸©É;¾»Ô ÀŲ¬¸©ÉÍ̾·´ 433 #CN ÀŲ¬¸©É;¾»Ô 434 #CN ÀŲ¬¸©ÉÍËÌ»Ô 435 #CN ÀŲ¬¸©É;¾»Ô 436 #CN ÀŲ¬¸©³ÝÀî»Ô 437 #CN ÀŲ¬¸©¼þÃÒ·´ ÀŲ¬¸©¾®³Þ·´ ÀŲ¬¸©ÂÞ°æ»Ô ÀŲ¬¸©ÈØÅÄ·´ 438 #CN ÀŲ¬¸©ÈØÅÄ·´ ÀŲ¬¸©ÈØÅÄ»Ô 439 #CN ÀŲ¬¸©¾®³Þ·´ 440 #CN °¦Ãθ©Ë­¶¶»Ô 441 #CN °¦Ãθ©°¯Èþ·´ °¦Ãθ©¿·¾ë»Ô °¦Ãθ©ÆîÀß³Ú·´ °¦Ãθ©ÊõÈÓ·´ °¦Ãθ©Ë­¶¶»Ô °¦Ãθ©Ë­Àî»Ô °¦Ãθ©ËÌÀß³Ú·´ 442 #CN °¦Ãθ©Ë­Àî»Ô 443 #CN °¦Ãθ©³÷·´»Ô 444 #CN °¦Ãθ©°Â¾ë»Ô °¦Ãθ©²¬ºê»Ô °¦Ãθ©³ÛÅÄ·´ °¦Ãθ©¹âÉÍ»Ô °¦Ãθ©À¾Èø»Ô °¦Ãθ©Åì²ÃÌз´ °¦Ãθ©È¨Æ¦·´ °¦Ãθ©Ë­ÅÄ»Ô 445 #CN °¦Ãθ©À¾Èø»Ô 446 #CN °¦Ãθ©°Â¾ë»Ô 447 #CN °¦Ãθ©ÊËÆî»Ô 448 #CN °¦Ãθ©´¢Ã«»Ô 449 #CN °¦Ãθ©ËÌÀß³Ú·´ 450 #CN °¦Ãθ©Ì¾¸Å²°»ÔÃæ¶è °¦Ãθ©Ì¾¸Å²°»ÔÃæÂ¼¶è 451 #CN °¦Ãθ©Ì¾¸Å²°»ÔÀ¾¶è 452 #CN °¦Ãθ©À¾½ÕÆü°æ·´ °¦Ãθ©Ì¾¸Å²°»ÔÀ¾¶è 453 #CN °¦Ãθ©Ì¾¸Å²°»ÔÃæÂ¼¶è 454 #CN °¦Ãθ©Ì¾¸Å²°»ÔÃæÀî¶è 455 #CN °¦Ãθ©Ì¾¸Å²°»Ô¹Á¶è 456 #CN °¦Ãθ©Ì¾¸Å²°»ÔÇ®ÅĶè 457 #CN °¦Ãθ©Ì¾¸Å²°»ÔÆî¶è 458 #CN °¦Ãθ©Ì¾¸Å²°»ÔÎжè 459 #CN °¦Ãθ©Ì¾¸Å²°»ÔÎжè 460 #CN °¦Ãθ©Ì¾¸Å²°»ÔÀé¼ï¶è °¦Ãθ©Ì¾¸Å²°»ÔÃæ¶è 461 #CN °¦Ãθ©Ì¾¸Å²°»ÔÅì¶è 462 #CN °¦Ãθ©Ì¾¸Å²°»ÔË̶è 463 #CN °¦Ãθ©Ì¾¸Å²°»Ô¼é»³¶è 464 #CN °¦Ãθ©Ì¾¸Å²°»ÔÀé¼ï¶è 465 #CN °¦Ãθ©Ì¾¸Å²°»Ô̾Åì¶è 466 #CN °¦Ãθ©Ì¾¸Å²°»Ô¾¼Ï¶è 467 #CN °¦Ãθ©Ì¾¸Å²°»Ô¿ðÊæ¶è 468 #CN °¦Ãθ©Ì¾¸Å²°»ÔÀé¼ï¶è °¦Ãθ©Ì¾¸Å²°»ÔÅ·Çò¶è 469 #CN °¦Ãθ©Ì¾¸Å²°»ÔÃæ¶è °¦Ãθ©Ì¾¸Å²°»ÔÇ®ÅĶè 470 #CN °¦Ãθ©°¦Ãη´ °¦Ãθ©À¾²ÃÌз´ °¦Ãθ©Ãο·´ °¦Ãθ©Ë­ÅÄ»Ô °¦Ãθ©Ë­ÌÀ»Ô 471 #CN °¦Ãθ©Ë­ÅÄ»Ô 472 #CN °¦Ãθ©ÃÎΩ»Ô 473 #CN °¦Ãθ©Ë­ÅÄ»Ô 474 #CN °¦Ãθ©ÂçÉÜ»Ô 475 #CN °¦Ãθ©È¾ÅÄ»Ô 476 #CN °¦Ãθ©Å쳤»Ô 477 #CN °¦Ãθ©Å쳤»Ô 478 #CN °¦Ãθ©Ãο»Ô 479 #CN °¦Ãθ©¾ï³ê»Ô 480 #CN °¦Ãθ©°¦Ãη´ °¦Ãθ©½ÕÆü°æ»Ô °¦Ãθ©À¥¸Í»Ô °¦Ãθ©À¾½ÕÆü°æ·´ °¦Ãθ©Ã°±©·´ 481 #CN °¦Ãθ©À¾½ÕÆü°æ·´ 482 #CN °¦Ãθ©´äÁÒ»Ô 483 #CN °¦Ãθ©¹¾Æî»Ô ´ôÉ츩±©Åç·´ 484 #CN °¦Ãθ©¸¤»³»Ô 485 #CN °¦Ãθ©¾®ËÒ»Ô 486 #CN °¦Ãθ©½ÕÆü°æ»Ô 487 #CN °¦Ãθ©½ÕÆü°æ»Ô 488 #CN °¦Ãθ©ÈøÄ¥°°»Ô 489 #CN °¦Ãθ©À¥¸Í»Ô 490 #CN °¦Ãθ©³¤Éô·´ °¦Ãθ©ÃæÅç·´ 491 #CN °¦Ãθ©°ìµÜ»Ô 492 #CN °¦Ãθ©°ðÂô»Ô 493 #CN °¦Ãθ©°ìµÜ»Ô °¦Ãθ©ÍÕ·ª·´ 494 #CN °¦Ãθ©ÈøÀ¾»Ô 495 #CN °¦Ãθ©ÃæÅç·´ 496 #CN °¦Ãθ©³¤Éô·´ °¦Ãθ©ÄÅÅç»Ô 497 #CN °¦Ãθ©³¤Éô·´ 498 #CN °¦Ãθ©³¤Éô·´ »°½Å¸©·¬Ì¾·´ 500 #CN ´ôÉ츩´ôÉì»Ô 501 #CN ´ôÉ츩°ÂȬ·´ ´ôÉ츩±©Åç·´ ´ôÉ츩±©Åç»Ô ´ôÉ츩²ÃÌз´ ´ôÉ츩´Ø»Ô ´ôÉ츩´ôÉì»Ô ´ôÉ츩·´¾å·´ ´ôÉ츩»³¸©·´ ´ôÉ츩ÂçÌî·´ ´ôÉ츩ÈþÇ»»Ô ´ôÉ츩Éðµ··´ ´ôÉ츩ËÜÁã·´ ´ôÉ츩ͬÈå·´ 502 #CN ´ôÉ츩´ôÉì»Ô 503 #CN ´ôÉ츩°ÂȬ·´ ´ôÉ츩³¤ÄÅ·´ ´ôÉ츩Âç³À»Ô ´ôÉ츩ÉÔÇË·´ ´ôÉ츩ͬÈå·´ ´ôÉ츩ÍÜÏ··´ 504 #CN ´ôÉ츩³ÆÌ³¸¶»Ô 505 #CN ´ôÉ츩²ÃÌз´ ´ôÉ츩²Ä»ù·´ ´ôÉ츩ÈþÇ»²ÃÌÐ»Ô 506 #CN ´ôÉ츩µÈ¾ë·´ ´ôÉ츩¹â»³»Ô ´ôÉ츩ÂçÌî·´ ÉÙ»³¸©¾å¿·Àî·´ 507 #CN ´ôÉ츩¿¼£¸«»Ô ´ôÉ츩ÅÚ´ô·´ 508 #CN ´ôÉ츩·ÃÆá·´ ´ôÉì¸©ÃæÄÅÀî»Ô 509 #CN ´ôÉ츩±×ÅÄ·´ ´ôÉ츩²ÃÌз´ ´ôÉ츩²Ä»ù»Ô ´ôÉ츩³ÆÌ³¸¶»Ô ´ôÉ츩µÈ¾ë·´ ´ôÉ츩·ÃÆá·´ ´ôÉ츩·ÃÆá»Ô ´ôÉ츩¿ðϲ»Ô ´ôÉ츩ÂçÌî·´ ´ôÉì¸©ÃæÄÅÀî»Ô ´ôÉ츩ÅÚ´ô»Ô 510 #CN »°½Å¸©°Â·Ý·´ »°½Å¸©»°½Å·´ »°½Å¸©»ÍÆü»Ô»Ô »°½Å¸©Î뼯»Ô 511 #CN »°½Å¸©°÷ÊÛ·´ »°½Å¸©·¬Ì¾·´ »°½Å¸©·¬Ì¾»Ô 512 #CN »°½Å¸©»°½Å·´ »°½Å¸©»ÍÆü»Ô»Ô 513 #CN »°½Å¸©Î뼯»Ô 514 #CN »°½Å¸©°Â·Ý·´ »°½Å¸©°ì»Ö·´ »°½Å¸©µ×µï»Ô »°½Å¸©ÄÅ»Ô 515 #CN »°½Å¸©°ËÀª»Ô »°½Å¸©°ì»Ö·´ »°½Å¸©¾¾ºå»Ô »°½Å¸©Â¿µ¤·´ »°½Å¸©ÅÙ²ñ·´ »°½Å¸©ÈÓÆî·´ 516 #CN »°½Å¸©°ËÀª»Ô »°½Å¸©ÅÙ²ñ·´ 517 #CN »°½Å¸©°ËÀª»Ô »°½Å¸©»ÖËà·´ »°½Å¸©Ä»±©»Ô 518 #CN »°½Å¸©°¤»³·´ »°½Å¸©¾åÌî»Ô »°½Å¸©Ì¾²ì·´ »°½Å¸©Ì¾Ä¥»Ô ÆàÎɸ©»³ÊÕ·´ ÆàÎɸ©Åº¾å·´ 519 #CN »°½Å¸©°¤»³·´ »°½Å¸©µµ»³»Ô »°½Å¸©·§Ìî»Ô »°½Å¸©»ÍÆü»Ô»Ô »°½Å¸©¾¾ºå»Ô »°½Å¸©¾åÌî»Ô »°½Å¸©Â¿µ¤·´ »°½Å¸©ÅÙ²ñ·´ »°½Å¸©Æî̶Ϭ·´ »°½Å¸©ÈøÏÉ»Ô »°½Å¸©ËÌ̶Ϭ·´ »°½Å¸©Î뼯·´ »°½Å¸©Î뼯»Ô Ï²λ³¸©Åì̶Ϭ·´ 520 #CN µþÅÔÉܵþÅÔ»Ôº¸µþ¶è ¼¢²ì¸©³÷À¸·´ ¼¢²ì¸©·ªÂÀ·´ ¼¢²ì¸©¹Ã²ì·´ ¼¢²ì¸©¹âÅç·´ ¼¢²ì¸©¼¢²ì·´ ¼¢²ì¸©ÂçÄÅ»Ô ¼¢²ì¸©Ìî½§·´ 521 #CN ¼¢²ì¸©³÷À¸·´ ¼¢²ì¸©ºäÅÄ·´ ¼¢²ì¸©¿Àºê·´ ¼¢²ì¸©É§º¬»Ô 522 #CN ¼¢²ì¸©¸¤¾å·´ ¼¢²ì¸©É§º¬»Ô 523 #CN ¼¢²ì¸©¶á¹¾È¬È¨»Ô 524 #CN ¼¢²ì¸©¼é»³»Ô ¼¢²ì¸©Ìî½§·´ 525 #CN ¼¢²ì¸©ÁðÄÅ»Ô 526 #CN ¼¢²ì¸©Ä¹ÉÍ»Ô ¼¢²ì¸©ÅìÀõ°æ·´ 527 #CN ¼¢²ì¸©°¦Ãη´ ¼¢²ì¸©¿Àºê·´ ¼¢²ì¸©È¬Æü»Ô»Ô 528 #CN ¼¢²ì¸©¹Ã²ì·´ 529 #CN ¼¢²ì¸©°¦Ãη´ ¼¢²ì¸©°Ë¹á·´ ¼¢²ì¸©³÷À¸·´ ¼¢²ì¸©¸¤¾å·´ ¼¢²ì¸©¹Ã²ì·´ ¼¢²ì¸©¿Àºê·´ ¼¢²ì¸©ÅìÀõ°æ·´ ¼¢²ì¸©É§º¬»Ô 530 #CN ÂçºåÉÜÂçºå»ÔÅì¶è ÂçºåÉÜÂçºå»ÔË̶è 531 #CN ÂçºåÉÜÂçºå»ÔÂçÍä¶è 532 #CN ÂçºåÉÜÂçºå»ÔÍäÀî¶è 533 #CN ÂçºåÉÜÂçºå»ÔÅìÍäÀî¶è 534 #CN ÂçºåÉÜÂçºå»ÔÅÔÅç¶è 535 #CN ÂçºåÉÜÂçºå»Ô°°¶è 536 #CN ÂçºåÉÜÂçºå»Ô¾ëÅì¶è 537 #CN ÂçºåÉÜÂçºå»ÔÅìÀ®¶è 538 #CN ÂçºåÉÜÂçºå»ÔÄḫ¶è 540 #CN ÂçºåÉÜÂçºå»ÔÅì¶è 541 #CN ÂçºåÉÜÂçºå»ÔÅì¶è 542 #CN ÂçºåÉÜÂçºå»ÔÆî¶è 543 #CN ÂçºåÉÜÂçºå»ÔÅ·²¦»û¶è 544 #CN ÂçºåÉÜÂçºå»ÔÀ¸Ìî¶è 545 #CN ÂçºåÉÜÂçºå»Ô°¤ÇÜÌî¶è 546 #CN ÂçºåÉÜÂçºå»ÔÅì½»µÈ¶è 547 #CN ÂçºåÉÜÂçºå»ÔÊ¿Ìî¶è 550 #CN ÂçºåÉÜÂçºå»ÔÀ¾¶è 551 #CN ÂçºåÉÜÂçºå»ÔÂçÀµ¶è 552 #CN ÂçºåÉÜÂçºå»Ô¹Á¶è 553 #CN ÂçºåÉÜÂçºå»ÔÊ¡Åç¶è 554 #CN ÂçºåÉÜÂçºå»Ôº¡²Ö¶è 555 #CN ÂçºåÉÜÂçºå»ÔÀ¾ÍäÀî¶è 556 #CN ÂçºåÉÜÂçºå»Ôϲ®¶è 557 #CN ÂçºåÉÜÂçºå»ÔÀ¾À®¶è 558 #CN ÂçºåÉÜÂçºå»Ô½»µÈ¶è 559 #CN ÂçºåÉÜÂçºå»Ô½»Ç·¹¾¶è 560 #CN ÂçºåÉÜË­Ãæ»Ô ʼ¸Ë¸©°Ëð»Ô 561 #CN ÂçºåÉÜË­Ãæ»Ô 562 #CN ÂçºåÉÜ̧ÌÌ»Ô 563 #CN ÂçºåÉÜÃÓÅÄ»Ô ÂçºåÉÜ˭ǽ·´ ÂçºåÉÜ̧ÌÌ»Ô 564 #CN ÂçºåÉÜ¿áÅÄ»Ô 565 #CN ÂçºåÉÜ¿áÅÄ»Ô ÂçºåÉÜË­Ãæ»Ô 566 #CN ÂçºåÉÜÀÝÄÅ»Ô 567 #CN ÂçºåÉܰñÌÚ»Ô 568 #CN ÂçºåÉܰñÌÚ»Ô 569 #CN ÂçºåÉܹâÄÐ»Ô 570 #CN ÂçºåÉܼé¸ý»Ô 571 #CN ÂçºåÉÜÌç¿¿»Ô 572 #CN ÂçºåÉÜ¿²²°Àî»Ô 573 #CN ÂçºåÉÜËçÊý»Ô 574 #CN ÂçºåÉÜÂçÅì»Ô 575 #CN ÂçºåÉܻ;òÆí»Ô 576 #CN ÂçºåÉܸòÌî»Ô 577 #CN ÂçºåÉÜÅìÂçºå»Ô 578 #CN ÂçºåÉÜÅìÂçºå»Ô 579 #CN ÂçºåÉÜÅìÂçºå»Ô ÆàÎɸ©À¸¶ð»Ô 580 #CN ÂçºåÉܾ¾¸¶»Ô 581 #CN ÂçºåÉÜÈ¬Èø»Ô 582 #CN ÂçºåÉÜÇð¸¶»Ô 583 #CN ÂçºåÉܱ©±ÈÌî»Ô ÂçºåÉÜÆ£°æ»û»Ô ÂçºåÉÜÆî²ÏÆâ·´ 584 #CN ÂçºåÉÜÉÙÅÄÎÓ»Ô 585 #CN ÂçºåÉÜÆî²ÏÆâ·´ 586 #CN ÂçºåÉÜ²ÏÆâĹÌî»Ô 587 #CN ÂçºåÉÜÆî²ÏÆâ·´ 588 #CN ÂçºåÉܺæ»Ô 589 #CN ÂçºåÉÜÆî²ÏÆâ·´ 590 #CN ÂçºåÉܺæ»Ô ÂçºåÉÜÀôº´Ìî»Ô ÂçºåÉÜÀôÆî·´ ÂçºåÉÜÀôÆî»Ô ÂçºåÉÜÏÂÀô»Ô 591 #CN ÂçºåÉܺæ»Ô 592 #CN ÂçºåÉܹâÀÐ»Ô ÂçºåÉܺæ»Ô 593 #CN ÂçºåÉܺæ»Ô 594 #CN ÂçºåÉÜÏÂÀô»Ô 595 #CN ÂçºåÉÜÀôÂçÄÅ»Ô ÂçºåÉÜÀôËÌ·´ 596 #CN ÂçºåÉÜ´ßÏÂÅÄ»Ô 597 #CN ÂçºåÉܳ­ÄÍ»Ô 598 #CN ÂçºåÉÜÀôº´Ìî»Ô ÂçºåÉÜÀôÆî·´ 599 #CN ÂçºåÉÜÀôÆî·´ 600 #CN µþÅÔÉܵþÅÔ»Ô²¼µþ¶è 601 #CN µþÅÔÉܱ§¼£»Ô µþÅÔÉܵþÅÔ»Ôº¸µþ¶è µþÅÔÉܵþÅÔ»ÔÆî¶è µþÅÔÉܵþÅÔ»ÔÉú¸«¶è µþÅÔÉܵþÅÔ»ÔËÌ¶è µþÅÔÉÜËÌ·¬ÅÄ·´ 602 #CN µþÅÔÉܵþÅÔ»Ô¾åµþ¶è 603 #CN µþÅÔÉܵþÅÔ»ÔË̶è 604 #CN µþÅÔÉܵþÅÔ»ÔÃæµþ¶è 605 #CN µþÅÔÉܵþÅÔ»ÔÅ컳¶è 606 #CN µþÅÔÉܵþÅÔ»Ôº¸µþ¶è 607 #CN µþÅÔÉܵþÅÔ»Ô»³²Ê¶è 610 #CN µþÅÔÉܵþÅÔ»ÔÀ¾µþ¶è µþÅÔÉܾëÍÛ»Ô µþÅÔÉÜÄÖ´î·´ 611 #CN µþÅÔÉܱ§¼£»Ô 612 #CN µþÅÔÉܵþÅÔ»ÔÉú¸«¶è 613 #CN µþÅÔÉܵ×À¤·´ µþÅÔÉܵþÅÔ»ÔÉú¸«¶è µþÅÔÉÜȬȨ»Ô 614 #CN µþÅÔÉÜȬȨ»Ô 615 #CN µþÅÔÉܵþÅÔ»Ô±¦µþ¶è µþÅÔÉܵþÅÔ»ÔÀ¾µþ¶è 616 #CN µþÅÔÉܵþÅÔ»Ô±¦µþ¶è µþÅÔÉܵþÅÔ»ÔÀ¾µþ¶è 617 #CN µþÅÔÉܸþÆü»Ô µþÅÔÉÜĹ²¬µþ»Ô 618 #CN µþÅÔÉܲµ·±·´ ÂçºåÉÜ»°Åç·´ 619 #CN µþÅÔÉÜÁê³Ú·´ 620 #CN µþÅÔÉܲú´·´ µþÅÔÉÜÅ·ÅÄ·´ µþÅÔÉÜÊ¡Ãλ³»Ô 621 #CN µþÅÔÉܵµ²¬»Ô ÂçºåÉܹâÄÐ»Ô 622 #CN µþÅÔÉÜÁ¥°æ·´ 623 #CN µþÅÔÉܰ½Éô»Ô µþÅÔÉÜÊ¡Ãλ³»Ô 624 #CN µþÅÔÉÜÉñÄá»Ô 625 #CN µþÅÔÉÜÉñÄá»Ô 626 #CN µþÅÔÉܵÜÄÅ»Ô µþÅÔÉÜÍ¿¼Õ·´ 627 #CN µþÅÔÉÜÃÝÌî·´ µþÅÔÉÜÃæ·´ 629 #CN µþÅÔÉܰ½Éô»Ô µþÅÔÉܵÜÄÅ»Ô µþÅÔÉÜ·§Ìî·´ µþÅÔÉÜÁ¥°æ·´ µþÅÔÉÜÃÝÌî·´ µþÅÔÉÜÃæ·´ µþÅÔÉÜÅ·ÅÄ·´ µþÅÔÉÜÉñÄá»Ô µþÅÔÉÜÊ¡Ãλ³»Ô µþÅÔÉÜÍ¿¼Õ·´ 630 #CN ÂçºåÉÜÅìÂçºå»Ô ÆàÎɸ©»³ÊÕ·´ ÆàÎɸ©À¸¶ð»Ô ÆàÎɸ©ÆàÎÉ»Ô 631 #CN ÆàÎɸ©ÆàÎÉ»Ô 632 #CN ÆàÎɸ©±§ÂË·´ ÆàÎɸ©»³ÊÕ·´ ÆàÎɸ©Å·Íý»Ô 633 #CN ÆàÎɸ©±§ÂË·´ ÆàÎɸ©µÈÌî·´ ÆàÎɸ©ºù°æ»Ô 634 #CN ÆàÎɸ©³à¸¶»Ô ÆàÎɸ©¹â»Ô·´ 635 #CN ÆàÎɸ©¹â»Ô·´ ÆàÎɸ©ÂçϹâÅÄ»Ô ÆàÎɸ©Ë̳ë¾ë·´ 636 #CN ÆàÎɸ©°ë¾ë·´ ÆàÎɸ©À¸¶ð·´ ÆàÎɸ©Ë̳ë¾ë·´ 637 #CN ÆàÎɸ©µÈÌî·´ ÆàÎɸ©¸ÞÛê»Ô Ï²λ³¸©°ËÅÔ·´ 638 #CN ÆàÎɸ©µÈÌî·´ 639 #CN ÆàÎɸ©µÈÌî·´ ÆàÎɸ©¸æ½ê»Ô ÆàÎɸ©ÂçÏ·´»³»Ô ÆàÎɸ©Ë̳ë¾ë·´ 640 #CN Ï²λ³¸©°ËÅÔ·´ Ï²λ³¸©³¤Áð·´ Ï²λ³¸©³¤Æî»Ô Ï²λ³¸©Æá²ì·´ Ï²λ³¸©Ï²λ³»Ô 641 #CN Ï²λ³¸©Ï²λ³»Ô 642 #CN Ï²λ³¸©³¤Æî»Ô 643 #CN Ï²λ³¸©°ËÅÔ·´ Ï²λ³¸©Í­ÅÄ·´ 644 #CN Ï²λ³¸©¸æË·»Ô Ï²λ³¸©Æü¹â·´ 645 #CN Ï²λ³¸©Æü¹â·´ 646 #CN Ï²λ³¸©À¾Ì¶Ï¬·´ Ï²λ³¸©ÅÄÊÕ»Ô 647 #CN »°½Å¸©Æî̶Ϭ·´ ÆàÎɸ©µÈÌî·´ Ï²λ³¸©¿·µÜ»Ô Ï²λ³¸©Åì̶Ϭ·´ 648 #CN ÆàÎɸ©µÈÌî·´ Ï²λ³¸©°ËÅÔ·´ Ï²λ³¸©¶¶ËÜ»Ô 649 #CN Ï²λ³¸©°ËÅÔ·´ Ï²λ³¸©³¤Áð·´ Ï²λ³¸©¶¶ËÜ»Ô Ï²λ³¸©¸æË·»Ô Ï²λ³¸©À¾Ì¶Ï¬·´ Ï²λ³¸©Åì̶Ϭ·´ Ï²λ³¸©Æá²ì·´ Ï²λ³¸©Æü¹â·´ Ï²λ³¸©Í­ÅÄ·´ Ï²λ³¸©Í­ÅÄ»Ô Ï²λ³¸©Ï²λ³»Ô 650 #CN ʼ¸Ë¸©¿À¸Í»ÔÃæ±û¶è 651 #CN ʼ¸Ë¸©¿À¸Í»ÔÃæ±û¶è ʼ¸Ë¸©¿À¸Í»ÔË̶è ʼ¸Ë¸©À¾µÜ»Ô 652 #CN ʼ¸Ë¸©¿À¸Í»Ôʼ¸Ë¶è ʼ¸Ë¸©¿À¸Í»ÔË̶è 653 #CN ʼ¸Ë¸©¿À¸Í»ÔĹÅĶè 654 #CN ʼ¸Ë¸©¿À¸Í»Ô¿ÜËá¶è 655 #CN ʼ¸Ë¸©¿À¸Í»Ô¿â¿å¶è 656 #CN ʼ¸Ë¸©»°¸¶·´ ʼ¸Ë¸©½§ËÜ»Ô Ê¼¸Ë¸©ÄÅ̾·´ 657 #CN ʼ¸Ë¸©¿À¸Í»ÔÆç¶è ʼ¸Ë¸©¿À¸Í»ÔË̶è 658 #CN ʼ¸Ë¸©¿À¸Í»ÔÅìÆç¶è 659 #CN ʼ¸Ë¸©°²²°»Ô 660 #CN ʼ¸Ë¸©Æôºê»Ô 661 #CN ʼ¸Ë¸©Æôºê»Ô 662 #CN ʼ¸Ë¸©À¾µÜ»Ô 663 #CN ʼ¸Ë¸©À¾µÜ»Ô 664 #CN ʼ¸Ë¸©°Ëð»Ô 665 #CN ʼ¸Ë¸©ÀîÀ¾»Ô ʼ¸Ë¸©ÊõÄÍ»Ô 666 #CN ʼ¸Ë¸©ÀîÀ¾»Ô ʼ¸Ë¸©ÀîÊÕ·´ ʼ¸Ë¸©ÊõÄÍ»Ô 667 #CN ʼ¸Ë¸©ÈþÊý·´ ʼ¸Ë¸©ÍÜÉã·´ 668 #CN ʼ¸Ë¸©½ÐÀз´ ʼ¸Ë¸©Ë­²¬»Ô 669 #CN ʼ¸Ë¸©»°ÅÄ»Ô Ê¼¸Ë¸©¾ëºê·´ ʼ¸Ë¸©¿À¸Í»ÔË̶è ʼ¸Ë¸©À¾µÜ»Ô ʼ¸Ë¸©Â¿µª·´ ʼ¸Ë¸©Ä«Íè·´ ʼ¸Ë¸©ÈþÊý·´ ʼ¸Ë¸©É¹¾å·´ ʼ¸Ë¸©ÊõÄÍ»Ô Ê¼¸Ë¸©Ë­²¬»Ô 670 #CN ʼ¸Ë¸©É±Ï©»Ô 671 #CN ʼ¸Ë¸©¹âº½»Ô ʼ¸Ë¸©º´ÍÑ·´ ʼ¸Ë¸©¼µ°À·´ ʼ¸Ë¸©¾þËá·´ ʼ¸Ë¸©É±Ï©»Ô ʼ¸Ë¸©Í¬ÊÝ·´ 672 #CN ʼ¸Ë¸©¾þËá·´ ʼ¸Ë¸©É±Ï©»Ô 673 #CN ʼ¸Ë¸©²ÃÅì·´ ʼ¸Ë¸©»°ÌÚ»Ô Ê¼¸Ë¸©¿À¸Í»ÔÀ¾¶è ʼ¸Ë¸©¿À¸Í»ÔË̶è ʼ¸Ë¸©Èþǹ·´ ʼ¸Ë¸©ÌÀÀÐ»Ô 674 #CN ʼ¸Ë¸©¿À¸Í»ÔÀ¾¶è ʼ¸Ë¸©ÌÀÀÐ»Ô 675 #CN ʼ¸Ë¸©²Ã¸Å·´ ʼ¸Ë¸©²Ã¸ÅÀî»Ô ʼ¸Ë¸©²ÃÀ¾»Ô ʼ¸Ë¸©¾®Ìî»Ô 676 #CN ʼ¸Ë¸©¹âº½»Ô 677 #CN ʼ¸Ë¸©À¾ÏÆ»Ô Ê¼¸Ë¸©Â¿²Ä·´ 678 #CN ʼ¸Ë¸©ÀÖÊæ·´ ʼ¸Ë¸©ÀÖÊæ»Ô ʼ¸Ë¸©ÁêÀ¸»Ô 679 #CN ʼ¸Ë¸©²ÃÀ¾»Ô ʼ¸Ë¸©²ÃÅì·´ ʼ¸Ë¸©º´ÍÑ·´ ʼ¸Ë¸©¿Àºê·´ ʼ¸Ë¸©Â¿²Ä·´ ʼ¸Ë¸©Ä«Íè·´ ʼ¸Ë¸©É±Ï©»Ô ʼ¸Ë¸©Í¬ÊÝ·´ ʼ¸Ë¸©ÎµÌî»Ô 680 #CN Ä»¼è¸©´äÈþ·´ Ä»¼è¸©Ä»¼è»Ô Ä»¼è¸©È¬Æ¬·´ 681 #CN Ä»¼è¸©´äÈþ·´ 682 #CN Ä»¼è¸©ÁÒµÈ»Ô Ä»¼è¸©ÅìÇì·´ 683 #CN Ä»¼è¸©À¾Çì·´ Ä»¼è¸©ÊÆ»Ò»Ô 684 #CN Ä»¼è¸©¶­¹Á»Ô Å纬¸©±£´ô·´ 685 #CN Å纬¸©±£´ô·´ 689 #CN Ä»¼è¸©´äÈþ·´ Ä»¼è¸©µ¤¹â·´ Ä»¼è¸©À¾Çì·´ Ä»¼è¸©Ä»¼è»Ô Ä»¼è¸©ÅìÇì·´ Ä»¼è¸©ÆüÌî·´ Ä»¼è¸©È¬Æ¬·´ Ä»¼è¸©ÊÆ»Ò»Ô 690 #CN Å纬¸©¾¾¹¾»Ô Å纬¸©È¬Â«·´ Å纬¸©ÈÓÀз´ 691 #CN Å纬¸©Ê¿ÅÄ»Ô 692 #CN Å纬¸©°ÂÍè»Ô Å纬¸©Ç½µÁ·´ 693 #CN Å纬¸©½Ð±À»Ô Å纬¸©ÈöÀî·´ 694 #CN Å纬¸©ÂçÅÄ»Ô 695 #CN Å纬¸©¹¾ÄÅ»Ô Å纬¸©ÉÍÅÄ»Ô 696 #CN Å纬¸©Í¸ÃÒ·´ 697 #CN Å纬¸©Æá²ì·´ Å纬¸©ÉÍÅÄ»Ô Å纬¸©Í¸ÃÒ·´ 698 #CN Å纬¸©±×ÅÄ»Ô Å纬¸©ÈþÇ»·´ 699 #CN Å纬¸©±×ÅÄ»Ô Å纬¸©¹¾ÄÅ»Ô Å纬¸©¼¯Â­·´ Å纬¸©½Ð±À»Ô Å纬¸©¿Î¿·´ Å纬¸©Â縶·´ Å纬¸©ÂçÅÄ»Ô Å纬¸©Æá²ì·´ Å纬¸©ÆöËà·´ Å纬¸©È¬Â«·´ Å纬¸©ÈöÀî·´ Å纬¸©Í¸ÃÒ·´ 700 #CN ²¬»³¸©²¬»³»Ô 701 #CN ²¬»³¸©±ÑÅÄ·´ ²¬»³¸©²¬»³»Ô ²¬»³¸©ÀÖÈØ·´ ²¬»³¸©ÁÒÉß»Ô ²¬»³¸©ÅÔ·¦·´ ²¬»³¸©Í¸µ×·´ ²¬»³¸©Ïµ¤·´ 702 #CN ²¬»³¸©²¬»³»Ô 703 #CN ²¬»³¸©²¬»³»Ô 704 #CN ²¬»³¸©²¬»³»Ô 705 #CN ²¬»³¸©È÷Á°»Ô 706 #CN ²¬»³¸©²¬»³»Ô ²¬»³¸©¶ÌÌî»Ô 707 #CN ²¬»³¸©±ÑÅÄ·´ ²¬»³¸©¾¡ÅÄ·´ 708 #CN ²¬»³¸©µ×ÊÆ·´ ²¬»³¸©¾¡ÅÄ·´ ²¬»³¸©ÄÅ»³»Ô ²¬»³¸©ÆÑÅÄ·´ 709 #CN ²¬»³¸©±ÑÅÄ·´ ²¬»³¸©²¬»³»Ô ²¬»³¸©µ×ÊÆ·´ ²¬»³¸©¸æÄÅ·´ ²¬»³¸©»ùÅç·´ ²¬»³¸©¾¡ÅÄ·´ ²¬»³¸©ÀÖÈØ·´ ²¬»³¸©ÁÒÉß»Ô ²¬»³¸©ÆÑÅÄ·´ ²¬»³¸©È÷Á°»Ô ²¬»³¸©Ïµ¤·´ 710 #CN ²¬»³¸©µÈÈ÷·´ ²¬»³¸©»ùÅç·´ ²¬»³¸©Àõ¸ý·´ ²¬»³¸©ÁÒÉß»Ô ²¬»³¸©Áí¼Ò»Ô 711 #CN ²¬»³¸©ÁÒÉß»Ô 712 #CN ²¬»³¸©ÁÒÉß»Ô 713 #CN ²¬»³¸©ÁÒÉß»Ô 714 #CN ²¬»³¸©³Þ²¬»Ô ²¬»³¸©¸å·î·´ ²¬»³¸©¾®ÅÄ·´ ²¬»³¸©Àî¾å·´ ²¬»³¸©Àõ¸ý·´ 715 #CN ²¬»³¸©°æ¸¶»Ô 716 #CN ²¬»³¸©¹âÎÂ»Ô ²¬»³¸©¾å˼·´ ²¬»³¸©Àî¾å·´ 717 #CN ²¬»³¸©¿¿Äí·´ 718 #CN ²¬»³¸©°¤Å¯·´ ²¬»³¸©¿·¸«»Ô 719 #CN ²¬»³¸©°¤Å¯·´ ²¬»³¸©¹âÎÂ»Ô ²¬»³¸©¿·¸«»Ô ²¬»³¸©¿¿Äí·´ ²¬»³¸©Àî¾å·´ ²¬»³¸©Àõ¸ý·´ ²¬»³¸©Áí¼Ò»Ô ²¬»³¸©ÅÔ·¦·´ ²¬»³¸©ÆÑÅÄ·´ 720 #CN ¹­Å縩¾Â·¨·´ ¹­Å縩¿¼°Â·´ ¹­Å縩¿ÀÀз´ ¹­Åç¸©ÈæÇÌ·´ ¹­Åç¸©ÈøÆ»»Ô ¹­Å縩ʡ»³»Ô 721 #CN ¹­Å縩ʡ»³»Ô 722 #CN ¹­Å縩°øÅç»Ô ¹­Å縩¸æÄ´·´ ¹­Å縩»°¸¶»Ô ¹­Å縩¾Â·¨·´ ¹­Å縩À¤Íå·´ ¹­Åç¸©ÈøÆ»»Ô ¹­Å縩ÉÜÃæ»Ô ¹­Å縩˭ÅÄ·´ 723 #CN ¹­Å縩»°¸¶»Ô 724 #CN ¹­Å縩²ìÌз´ ¹­Å縩¸â»Ô ¹­Å縩¹âÅÄ·´ ¹­Å縩Åì¹­Åç»Ô 725 #CN ¹­Å縩Ãݸ¶»Ô ¹­Å縩˭ÅÄ·´ 726 #CN ¹­Å縩ÉÜÃæ»Ô 727 #CN ¹­Å縩¾±¸¶»Ô ¹­Åç¸©ÈæÇÌ·´ 728 #CN ¹­Å縩»°¼¡»Ô ¹­Å縩Áл°·´ ¹­Åç¸©ÈæÇÌ·´ 729 #CN ¹­Å縩°²ÉÊ·´ ¹­Å縩²ìÌз´ ¹­Å縩¸â»Ô ¹­Å縩¹ÃÅÛ·´ ¹­Å縩¹âÅÄ·´ ¹­Å縩»°¸¶»Ô ¹­Å縩»°¼¡»Ô ¹­Å縩¾±¸¶»Ô ¹­Å縩¿ÀÀз´ ¹­Å縩À¤Íå·´ ¹­Å縩Áл°·´ ¹­Å縩Ãݸ¶»Ô ¹­Å縩Åì¹­Åç»Ô ¹­Åç¸©ÈæÇÌ·´ ¹­Åç¸©ÈøÆ»»Ô ¹­Å縩ÉÜÃæ»Ô ¹­Å縩ʡ»³»Ô ¹­Å縩˭ÅÄ·´ 730 #CN ¹­Å縩¹­Åç»ÔÃæ¶è ¹­Å縩¹­Åç»ÔÅì¶è 731 #CN ¹­Å縩°Â·Ý·´ ¹­Å縩¹­Åç»Ô°Â·Ý¶è ¹­Å縩¹­Åç»Ô°Âº´Æî¶è ¹­Å縩¹­Åç»Ô°Âº´ËÌ¶è ¹­Å縩¹âÅÄ·´ ¹­Å縩º´Çì·´ ¹­Å縩»³¸©·´ 732 #CN ¹­Å縩¹­Åç»ÔÃæ¶è ¹­Å縩¹­Åç»ÔÅì¶è ¹­Å縩¹­Åç»ÔÆî¶è 733 #CN ¹­Å縩¹­Åç»ÔÀ¾¶è 734 #CN ¹­Å縩¹­Åç»ÔÆî¶è ¹­Å縩˭ÅÄ·´ 735 #CN ¹­Å縩°Â·Ý·´ ¹­Å縩¹­Åç»ÔÅì¶è 736 #CN ¹­Å縩°Â·Ý·´ ¹­Å縩¹­Åç»Ô°Â·Ý¶è 737 #CN ¹­Å縩°Â·Ý·´ ¹­Å縩¸â»Ô ¹­Å縩º´Çì·´ 738 #CN ¹­Å縩º´Çì·´ 739 #CN ¹­Å縩¹­Åç»Ô°Â·Ý¶è ¹­Å縩¹­Åç»Ô°Âº´ËÌ¶è ¹­Å縩¹âÅÄ·´ ¹­Å縩º´Çì·´ ¹­Å縩ÂçÃÝ»Ô ¹­Å縩Åì¹­Åç»Ô 740 #CN »³¸ý¸©´ä¹ñ»Ô »³¸ý¸©¶ê²Ñ·´ 741 #CN »³¸ý¸©´ä¹ñ»Ô »³¸ý¸©¶ê²Ñ·´ 742 #CN »³¸ý¸©¶ê²Ñ·´ »³¸ý¸©·§ÌÓ·´ »³¸ý¸©ÂçÅç·´ »³¸ý¸©Ìø°æ»Ô 743 #CN »³¸ý¸©·§ÌÓ·´ »³¸ý¸©¸÷»Ô 744 #CN »³¸ý¸©²¼¾¾»Ô 745 #CN »³¸ý¸©²¼¾¾»Ô »³¸ý¸©·§ÌÓ·´ »³¸ý¸©ÅÔÇ»·´ »³¸ý¸©ÆÁ»³»Ô 746 #CN »³¸ý¸©¿·ÆîÍÛ»Ô »³¸ý¸©ÆÁ»³»Ô 747 #CN »³¸ý¸©º´ÇÈ·´ »³¸ý¸©»³¸ý»Ô »³¸ý¸©ÅÔÇ»·´ »³¸ý¸©ËÉÉÜ»Ô 749 #CN »³¸ý¸©¶ê²Ñ·´ 750 #CN »³¸ý¸©²¼´Ø»Ô »³¸ý¸©ÈþǪ»Ô »³¸ý¸©Ë­±º·´ 751 #CN »³¸ý¸©²¼´Ø»Ô 752 #CN »³¸ý¸©²¼´Ø»Ô 753 #CN »³¸ý¸©°¤Éð·´ »³¸ý¸©µÈÉß·´ »³¸ý¸©»³¸ý»Ô 754 #CN »³¸ý¸©°¤Éð·´ »³¸ý¸©±§Éô»Ô »³¸ý¸©µÈÉß·´ »³¸ý¸©»³¸ý»Ô »³¸ý¸©ÈþǪ·´ 755 #CN »³¸ý¸©±§Éô»Ô 756 #CN »³¸ý¸©¾®ÌîÅÄ»Ô 757 #CN »³¸ý¸©¸ü¶¹·´ 758 #CN »³¸ý¸©°¤Éð·´ »³¸ý¸©Çë»Ô 759 #CN »³¸ý¸©°¤Éð·´ »³¸ý¸©±§Éô»Ô »³¸ý¸©²¼´Ø»Ô »³¸ý¸©»³¸ý»Ô »³¸ý¸©ÂçÄÅ·´ »³¸ý¸©Ä¹Ìç»Ô »³¸ý¸©Çë»Ô »³¸ý¸©ÈþǪ»Ô »³¸ý¸©Ë­±º·´ 760 #CN ¹áÀ¹â¾¾»Ô 761 #CN ¹áÀ°½²Î·´ ¹áÀ¹áÀî·´ ¹áÀ¹â¾¾»Ô ¹áÀ¾®Æ¦·´ ¹áÀÂçÀî·´ ¹áÀÌÚÅÄ·´ 762 #CN ¹áÀ°½²Î·´ ¹áÀºä½Ð»Ô 763 #CN ¹áÀ´Ýµµ»Ô 764 #CN ¹áÀÃç¿ÅÙ·´ 765 #CN ¹áÀÁ±ÄÌ»û»Ô 766 #CN ¹áÀÃç¿ÅÙ·´ 767 #CN ¹áÀ»°Ë­·´ 768 #CN ¹áÀ´Ñ²»»û»Ô ¹áÀ»°Ë­·´ 769 #CN ¹áÀ°½²Î·´ ¹áÀ»°Ë­·´ ¹áÀÂçÀî·´ ¹áÀÃç¿ÅÙ·´ ¹áÀÌÚÅÄ·´ 770 #CN ÆÁÅ縩ÆÁÅç»Ô 771 #CN ÆÁÅ縩°¤Æî»Ô ÆÁÅ縩°¤ÇÈ·´ ÆÁÅ縩»°¹¥·´ ÆÁÅ縩¾¡±º·´ ÆÁÅ縩ÆÁÅç»Ô ÆÁÅ縩Æá²ì·´ ÆÁÅ縩ÈÄÌî·´ ÆÁÅ縩ÈþÇÏ·´ ÆÁÅ縩̾À¾·´ ÆÁÅ縩̾Åì·´ ÆÁÅ縩ÌÄÌç»Ô 772 #CN ÆÁÅ縩ÌÄÌç»Ô 773 #CN ÆÁÅ縩¾®¾¾Åç»Ô ÆÁÅ縩ÆÁÅç»Ô 774 #CN ÆÁÅ縩°¤Æî»Ô 775 #CN ÆÁÅ縩³¤Éô·´ 776 #CN ÆÁÅ縩Ëã¿¢·´ 777 #CN ÆÁÅ縩ÈþÇÏ·´ 778 #CN ÆÁÅ縩»°¹¥·´ 779 #CN ÆÁÅ縩°¤Æî»Ô ÆÁÅ縩³¤Éô·´ ÆÁÅ縩»°¹¥·´ ÆÁÅ縩ÆÁÅç»Ô ÆÁÅ縩Æá²ì·´ ÆÁÅ縩ÈÄÌî·´ ÆÁÅ縩ÈþÇÏ·´ ÆÁÅ縩Ëã¿¢·´ ÆÁÅ縩̾À¾·´ ÆÁÅ縩ÌÄÌç»Ô 780 #CN ¹âÃθ©¹âÃÎ»Ô 781 #CN ¹âÃθ©°Â·Ý·´ ¹âÃθ©¸ãÀî·´ ¹âÃθ©¹áÈþ·´ ¹âÃθ©¹â²¬·´ ¹âÃθ©¹âÃÎ»Ô ¹âÃθ©¼¼¸Í»Ô ¹âÃθ©Ä¹²¬·´ ¹âÃθ©ÅÚº´·´ ¹âÃθ©ÅÚº´»Ô ¹âÃθ©Æî¹ñ»Ô 782 #CN ¹âÃθ©¹áÈþ·´ 783 #CN ¹âÃθ©¹âÃÎ»Ô ¹âÃθ©Æî¹ñ»Ô 784 #CN ¹âÃθ©°Â·Ý·´ ¹âÃθ©°Â·Ý»Ô ¹âÃθ©¹áÈþ·´ 785 #CN ¹âÃθ©¹â²¬·´ ¹âÃθ©¿Üºê»Ô 786 #CN ¹âÃθ©¹â²¬·´ ¹âÃθ©È¨Â¿·´ 787 #CN ¹âÃθ©½ÉÌÓ»Ô ¹âÃθ©ÃæÂ¼»Ô ¹âÃθ©ÅÚº´À¶¿å»Ô ¹âÃθ©È¨Â¿·´ 788 #CN ¹âÃθ©½ÉÌÓ»Ô ¹âÃθ©È¨Â¿·´ 789 #CN ¹âÃθ©¹áÈþ·´ ¹âÃθ©¹â²¬·´ ¹âÃθ©Ä¹²¬·´ ¹âÃθ©È¨Â¿·´ 790 #CN °¦É²¸©¾¾»³»Ô 791 #CN °¦É²¸©°Ëͽ·´ °¦É²¸©²¹Àô·´ °¦É²¸©´î¿·´ °¦É²¸©¼þ·¬·´ °¦É²¸©¾¾»³»Ô °¦É²¸©¾åÉâ·ê·´ °¦É²¸©Ë̾ò»Ô 792 #CN °¦É²¸©±ÛÃÒ·´ °¦É²¸©¿·µïÉÍ»Ô 793 #CN °¦É²¸©À¾¾ò»Ô 794 #CN °¦É²¸©±ÛÃÒ·´ °¦É²¸©º£¼£»Ô 795 #CN °¦É²¸©´î¿·´ °¦É²¸©Âç½§»Ô 796 #CN °¦É²¸©À¾±§Ï·´ °¦É²¸©È¬È¨ÉÍ»Ô 797 #CN °¦É²¸©´î¿·´ °¦É²¸©Åì±§Ï·´ 798 #CN °¦É²¸©±§ÏÂÅç»Ô °¦É²¸©Æî±§Ï·´ °¦É²¸©Ë̱§Ï·´ 799 #CN °¦É²¸©°Ëͽ·´ °¦É²¸©°Ëͽ»°Åç»Ô °¦É²¸©°Ëͽ»Ô °¦É²¸©±§Ëà·´ °¦É²¸©±ÛÃÒ·´ °¦É²¸©´î¿·´ °¦É²¸©º£¼£»Ô °¦É²¸©¼þ·¬·´ °¦É²¸©¾¾»³»Ô °¦É²¸©À¾¾ò»Ô °¦É²¸©ÀîÇ·¹¾»Ô °¦É²¸©Åìͽ»Ô °¦É²¸©Ë̱§Ï·´ °¦É²¸©Ë̾ò»Ô 800 #CN Ê¡²¬¸©µþÅÔ·´ Ê¡²¬¸©Ë̶彣»Ô¾®ÁÒÆî¶è Ê¡²¬¸©Ë̶彣»ÔÌç»Ê¶è 801 #CN Ê¡²¬¸©Ë̶彣»ÔÌç»Ê¶è 802 #CN Ê¡²¬¸©Ë̶彣»Ô¾®ÁÒÆî¶è Ê¡²¬¸©Ë̶彣»Ô¾®ÁÒË̶è 803 #CN Ê¡²¬¸©Ë̶彣»Ô¾®ÁÒÆî¶è Ê¡²¬¸©Ë̶彣»Ô¾®ÁÒË̶è 804 #CN Ê¡²¬¸©Ë̶彣»Ô¸ÍȪ¶è 805 #CN Ê¡²¬¸©Ë̶彣»ÔȬȨÅì¶è 806 #CN Ê¡²¬¸©Ë̶彣»ÔȬȨÀ¾¶è 807 #CN Ê¡²¬¸©°È¼ê·´ Ê¡²¬¸©±ó²ì·´ Ê¡²¬¸©Ãæ´Ö»Ô Ê¡²¬¸©Ë̶彣»ÔȬȨÀ¾¶è 808 #CN Ê¡²¬¸©Ë̶彣»Ô¼ã¾¾¶è 809 #CN Ê¡²¬¸©Ãæ´Ö»Ô Ê¡²¬¸©Ë̶彣»ÔȬȨÀ¾¶è 810 #CN Ê¡²¬¸©Ê¡²¬»ÔÃæ±û¶è Ê¡²¬¸©Ê¡²¬»ÔÆî¶è Ê¡²¬¸©Ê¡²¬»ÔÇî¿¶è 811 #CN Ĺºê¸©°í´ô·´ Ê¡²¬¸©±ó²ì·´ Ê¡²¬¸©½¡Áü·´ Ê¡²¬¸©½¡Áü»Ô Ê¡²¬¸©Ã޻練 Ê¡²¬¸©Çô²°·´ Ê¡²¬¸©Ê¡²¬»ÔÀ¾¶è Ê¡²¬¸©Ê¡²¬»ÔÁáÎɶè Ê¡²¬¸©Ê¡²¬»ÔÅì¶è 812 #CN Ê¡²¬¸©Ê¡²¬»ÔÃæ±û¶è Ê¡²¬¸©Ê¡²¬»ÔÅì¶è Ê¡²¬¸©Ê¡²¬»ÔÇî¿¶è 813 #CN Ê¡²¬¸©Çô²°·´ Ê¡²¬¸©Ê¡²¬»ÔÅì¶è 814 #CN Ê¡²¬¸©Ê¡²¬»Ô¾ëÆî¶è Ê¡²¬¸©Ê¡²¬»ÔÀ¾¶è Ê¡²¬¸©Ê¡²¬»ÔÁáÎɶè Ê¡²¬¸©Ê¡²¬»ÔÃæ±û¶è 815 #CN Ê¡²¬¸©Ê¡²¬»Ô¾ëÆî¶è Ê¡²¬¸©Ê¡²¬»ÔÃæ±û¶è Ê¡²¬¸©Ê¡²¬»ÔÆî¶è 816 #CN Ê¡²¬¸©½ÕÆü»Ô Ê¡²¬¸©ÂçÌî¾ë»Ô Ê¡²¬¸©Ê¡²¬»ÔÆî¶è Ê¡²¬¸©Ê¡²¬»ÔÇî¿¶è 817 #CN Ĺºê¸©²¼¸©·´ Ĺºê¸©¾å¸©·´ 818 #CN Ê¡²¬¸©ÂÀºËÉÜ»Ô Ê¡²¬¸©ÃÞ»çÌî»Ô 819 #CN Ê¡²¬¸©»åÅç·´ Ê¡²¬¸©Ê¡²¬»ÔÀ¾¶è 820 #CN Ê¡²¬¸©°È¼ê·´ Ê¡²¬¸©²ÅÊæ·´ Ê¡²¬¸©ÈÓÄÍ»Ô 821 #CN Ê¡²¬¸©²ÅÊæ·´ Ê¡²¬¸©»³ÅÄ»Ô 822 #CN Ê¡²¬¸©°È¼ê·´ Ê¡²¬¸©²ÅÊæ·´ Ê¡²¬¸©Ä¾Êý»Ô Ê¡²¬¸©ÅÄÀî·´ 823 #CN Ê¡²¬¸©°È¼ê·´ 824 #CN Ê¡²¬¸©µþÅÔ·´ Ê¡²¬¸©¹Ô¶¶»Ô Ê¡²¬¸©ÅÄÀî·´ 825 #CN Ê¡²¬¸©ÅÄÀî»Ô 826 #CN Ê¡²¬¸©ÅÄÀî·´ Ê¡²¬¸©ÅÄÀî»Ô 827 #CN Ê¡²¬¸©ÅÄÀî·´ 828 #CN Ê¡²¬¸©Ë­Á°»Ô 829 #CN Ê¡²¬¸©Ã۾巴 830 #CN Ê¡²¬¸©µ×Î±ÊÆ»Ô Ê¡²¬¸©»°°æ·´ Ê¡²¬¸©»°ßÌ·´ 831 #CN Ê¡²¬¸©ÂçÀî»Ô 832 #CN Ê¡²¬¸©»³Ìç·´ Ê¡²¬¸©ÌøÀî»Ô 833 #CN Ê¡²¬¸©ÃÞ¸å»Ô 834 #CN Ê¡²¬¸©È¬½÷·´ Ê¡²¬¸©È¬½÷»Ô 835 #CN Ê¡²¬¸©»°ÃÓ·´ Ê¡²¬¸©»³Ìç·´ 836 #CN Ê¡²¬¸©Âç̶ÅÄ»Ô 837 #CN Ê¡²¬¸©Âç̶ÅÄ»Ô 838 #CN Ê¡²¬¸©´ÅÌÚ»Ô Ê¡²¬¸©¾®·´»Ô Ê¡²¬¸©Ä«ÁÒ·´ 839 #CN Âçʬ¸©ÆüÅÄ·´ Ê¡²¬¸©µ×Î±ÊÆ»Ô Ê¡²¬¸©»°ÃÓ·´ Ê¡²¬¸©»³Ìç·´ Ê¡²¬¸©ÉⱩ·´ 840 #CN º´²ì¸©º´²ì·´ º´²ì¸©º´²ì»Ô º´²ì¸©»°ÍÜ´ð·´ 841 #CN º´²ì¸©»°ÍÜ´ð·´ º´²ì¸©Ä»À´»Ô 842 #CN º´²ì¸©¿Àºë·´ 843 #CN º´²ì¸©Æ£ÄÅ·´ º´²ì¸©Éðͺ»Ô 844 #CN º´²ì¸©À¾¾¾±º·´ 845 #CN º´²ì¸©¾®¾ë·´ 846 #CN º´²ì¸©Â¿µ×»Ô 847 #CN º´²ì¸©ÅâÄÅ»Ô º´²ì¸©Åì¾¾±º·´ 848 #CN º´²ì¸©°ËËüΤ»Ô 849 #CN º´²ì¸©°ËËüΤ»Ô º´²ì¸©µÏÅç·´ º´²ì¸©º´²ì·´ º´²ì¸©º´²ì»Ô º´²ì¸©»°ÍÜ´ð·´ º´²ì¸©¼¯Åç»Ô º´²ì¸©¾®¾ë·´ º´²ì¸©À¾¾¾±º·´ º´²ì¸©Åì¾¾±º·´ º´²ì¸©Æ£ÄÅ·´ º´²ì¸©Éðͺ»Ô 850 #CN Ĺºê¸©Ä¹ºê»Ô 851 #CN Ĺºê¸©À¾ÈàµÏ·´ Ĺºê¸©Ä¹ºê»Ô 852 #CN Ĺºê¸©Ä¹ºê»Ô 853 #CN Ĺºê¸©Æî¾¾±º·´ Ĺºê¸©Ê¡¹¾»Ô 854 #CN Ĺºê¸©´ÒÁá»Ô Ĺºê¸©Æî¹âÍè·´ Ĺºê¸©Ë̹âÍè·´ 855 #CN Ĺºê¸©Å縶»Ô 856 #CN Ĺºê¸©Âç¼»Ô 857 #CN Ĺºê¸©º´À¤ÊÝ»Ô Ä¹ºê¸©À¾ÈàµÏ·´ Ĺºê¸©Æî¾¾±º·´ Ĺºê¸©Ë̾¾±º·´ 858 #CN Ĺºê¸©º´À¤ÊÝ»Ô 859 #CN Ĺºê¸©´ÒÁá»Ô Ĺºê¸©º´À¤ÊÝ»Ô Ä¹ºê¸©¾¾±º»Ô Ĺºê¸©À¾ÈàµÏ·´ Ĺºê¸©ÅìÈàµÏ·´ Ĺºê¸©Æî¹âÍè·´ Ĺºê¸©Ê¿¸Í»Ô Ĺºê¸©Ë̹âÍè·´ Ĺºê¸©Ë̾¾±º·´ 860 #CN ·§Ëܸ©·§ËÜ»Ô 861 #CN ·§Ëܸ©°¤ÁÉ·´ ·§Ëܸ©²¼±×¾ë·´ ·§Ëܸ©µÆÃÓ·´ ·§Ëܸ©µÆÃÓ»Ô ·§Ëܸ©¶Ì̾·´ ·§Ëܸ©·§ËÜ»Ô ·§Ëܸ©»³¼¯»Ô ·§Ëܸ©¼¯ËÜ·´ ·§Ëܸ©¾å±×¾ë·´ ·§Ëܸ©Å·Áð·´ ·§Ëܸ©Ë°Â÷·´ ·§Ëܸ©ËÜÅÏ»Ô 862 #CN ·§Ëܸ©·§ËÜ»Ô 863 #CN ·§Ëܸ©µí¿¼»Ô ·§Ëܸ©Å·Áð·´ ·§Ëܸ©ËÜÅÏ»Ô 864 #CN ·§Ëܸ©¹ÓÈø»Ô 865 #CN ·§Ëܸ©¶Ì̾·´ ·§Ëܸ©¶Ì̾»Ô 866 #CN ·§Ëܸ©Å·Áð·´ ·§Ëܸ©È¬Âå»Ô 867 #CN ·§Ëܸ©¿åËó»Ô 868 #CN ·§Ëܸ©µåËá·´ ·§Ëܸ©¿ÍµÈ»Ô 869 #CN ·§Ëܸ©°¤ÁÉ·´ ·§Ëܸ©°±ËÌ·´ ·§Ëܸ©±§ÅÚ·´ ·§Ëܸ©±§ÅÚ»Ô ·§Ëܸ©²¼±×¾ë·´ ·§Ëܸ©µÆÃÓ·´ ·§Ëܸ©µåËá·´ ·§Ëܸ©¶Ì̾·´ ·§Ëܸ©¿ÍµÈ»Ô ·§Ëܸ©Å·Áð·´ ·§Ëܸ©È¬Âå·´ ·§Ëܸ©È¬Âå»Ô 870 #CN Âçʬ¸©Âçʬ·´ Âçʬ¸©Âçʬ»Ô 871 #CN Âçʬ¸©²¼ÌÓ·´ Âçʬ¸©ÃæÄÅ»Ô Ê¡²¬¸©Ã۾巴 872 #CN Âçʬ¸©±§º´·´ Âçʬ¸©±§º´»Ô Âçʬ¸©À¾¹ñÅì·´ Âçʬ¸©Åì¹ñÅì·´ 873 #CN Âçʬ¸©µÏÃÛ»Ô Âçʬ¸©À¾¹ñÅì·´ Âçʬ¸©Åì¹ñÅì·´ 874 #CN Âçʬ¸©ÊÌÉÜ»Ô 875 #CN Âçʬ¸©±±µÏ»Ô Âçʬ¸©ÂçÌî·´ 876 #CN Âçʬ¸©º´Çì»Ô Âçʬ¸©Æî³¤Éô·´ 877 #CN Âçʬ¸©ÆüÅÄ·´ Âçʬ¸©ÆüÅÄ»Ô 878 #CN Âçʬ¸©ÃÝÅÄ»Ô Âçʬ¸©Ä¾Æþ·´ 879 #CN Âçʬ¸©±§º´»Ô Âçʬ¸©±±µÏ»Ô Âçʬ¸©²¼ÌÓ·´ Âçʬ¸©¶ê¼î·´ Âçʬ¸©À¾¹ñÅì·´ Âçʬ¸©Â®¸«·´ Âçʬ¸©Âçʬ·´ Âçʬ¸©Âçʬ»Ô Âçʬ¸©ÂçÌî·´ Âçʬ¸©ÃÝÅÄ»Ô Âçʬ¸©ÃæÄÅ»Ô Âçʬ¸©Ä¾Æþ·´ Âçʬ¸©Äŵ׸«»Ô Âçʬ¸©Æî³¤Éô·´ Âçʬ¸©ÆüÅÄ·´ Âçʬ¸©ÆüÅÄ»Ô Âçʬ¸©ÊÌÉÜ»Ô Âçʬ¸©Ë­¸å¹âÅÄ»Ô Âçʬ¸©Ë̳¤Éô·´ 880 #CN µÜºê¸©µÜºê·´ µÜºê¸©µÜºê»Ô µÜºê¸©»ùÅò·´ µÜºê¸©À¾ÅÔ»Ô µÜºê¸©Åì½ô¸©·´ µÜºê¸©Ë̽ô¸©·´ 881 #CN µÜºê¸©»ùÅò·´ µÜºê¸©À¾ÅÔ»Ô 882 #CN µÜºê¸©±ä²¬»Ô µÜºê¸©À¾±±µÏ·´ µÜºê¸©Åì±±µÏ·´ 883 #CN µÜºê¸©Åì±±µÏ·´ µÜºê¸©Æü¸þ»Ô 884 #CN µÜºê¸©»ùÅò·´ 885 #CN µÜºê¸©ÅÔ¾ë»Ô µÜºê¸©Ë̽ô¸©·´ 886 #CN µÜºê¸©¾®ÎÓ»Ô µÜºê¸©À¾½ô¸©·´ µÜºê¸©Åì½ô¸©·´ 887 #CN µÜºê¸©ÆüÆî»Ô 888 #CN µÜºê¸©¶ú´Ö»Ô 889 #CN µÜºê¸©¤¨¤Ó¤Î»Ô µÜºê¸©±ä²¬»Ô µÜºê¸©µÜºê·´ µÜºê¸©µÜºê»Ô µÜºê¸©¶ú´Ö»Ô µÜºê¸©»ùÅò·´ µÜºê¸©¾®ÎÓ»Ô µÜºê¸©À¾½ô¸©·´ µÜºê¸©Åì±±µÏ·´ µÜºê¸©Åì½ô¸©·´ µÜºê¸©ÆîÆá²Ñ·´ µÜºê¸©Æü¸þ»Ô µÜºê¸©ÆüÆî»Ô µÜºê¸©Ë̽ô¸©·´ 890 #CN ¼¯»ùÅ縩¼¯»ùÅç·´ ¼¯»ùÅ縩¼¯»ùÅç»Ô 891 #CN ¼¯»ùÅ縩·§ÌÓ·´ ¼¯»ùÅ縩»Ø½É»Ô ¼¯»ùÅ縩¼¯²°»Ô ¼¯»ùÅ縩¼¯»ùÅç·´ ¼¯»ùÅ縩¼¯»ùÅç»Ô ¼¯»ùÅ縩¿â¿å»Ô ¼¯»ùÅ縩À¾Ç·É½»Ô ¼¯»ùÅ縩ÀîÊÕ·´ ¼¯»ùÅ縩ÂçÅç·´ ¼¯»ùÅ縩ÆüÃÖ·´ ¼¯»ùÅ縩ͬ½É·´ 892 #CN ¼¯»ùÅ縩¼¯»ùÅç»Ô 893 #CN ¼¯»ùÅ縩´Î°·´ ¼¯»ùÅ縩¼¯²°»Ô ¼¯»ùÅ縩Á½±÷·´ 894 #CN ¼¯»ùÅ縩ÂçÅç·´ ¼¯»ùÅ縩̾À¥»Ô 895 #CN ¼¯»ùÅ縩°Ëº´·´ ¼¯»ùÅ縩»§Ëà·´ ¼¯»ùÅ縩ÀîÆâ»Ô ¼¯»ùÅ縩Âç¸ý»Ô 896 #CN ¼¯»ùÅ縩¶úÌÚÌî»Ô ¼¯»ùÅ縩»§Ëà·´ 897 #CN ¼¯»ùÅ縩²ÃÀ¤ÅÄ»Ô ¼¯»ùÅ縩ÀîÊÕ·´ 898 #CN ¼¯»ùÅ縩ÀîÊÕ·´ ¼¯»ùÅ縩Ëíºê»Ô 899 #CN ¼¯»ùÅ縩°¤µ×º¬»Ô ¼¯»ùÅ縩°¨ÎÉ·´ ¼¯»ùÅ縩²ÃÀ¤ÅÄ»Ô ¼¯»ùÅ縩¹ñʬ»Ô ¼¯»ùÅ縩¼¯»ùÅç»Ô ¼¯»ùÅ縩½Ð¿å·´ ¼¯»ùÅ縩½Ð¿å»Ô ¼¯»ùÅ縩¿â¿å»Ô ¼¯»ùÅ縩ÀîÆâ»Ô ¼¯»ùÅ縩Á½±÷·´ ¼¯»ùÅ縩ÆüÃÖ·´ 900 #CN ²­Æì¸©ÆáÇÆ»Ô 901 #CN ²­Æì¸©±ºÅº»Ô ²­Æì¸©µ¹ÌîÏÑ»Ô ²­Æì¸©»åËþ»Ô ²­Æì¸©ÃæÆ¬·´ ²­Æì¸©Å翬·´ ²­Æì¸©ÆáÇÆ»Ô 902 #CN ²­Æì¸©ÆáÇÆ»Ô 903 #CN ²­Æì¸©ÃæÆ¬·´ ²­Æì¸©ÆáÇÆ»Ô 904 #CN ²­Æì¸©²­Æì»Ô ²­Æì¸©¶ñ»ÖÀî»Ô ²­Æì¸©¹ñƬ·´ ²­Æì¸©ÀÐÀî»Ô ²­Æì¸©ÃæÆ¬·´ 905 #CN ²­Æì¸©¹ñƬ·´ ²­Æì¸©Å翬·´ ²­Æì¸©Ì¾¸î»Ô 906 #CN ²­Æì¸©µÜ¸Å·´ ²­Æì¸©Ê¿ÎÉ»Ô 907 #CN ²­Æì¸©ÀгÀ»Ô ²­Æì¸©È¬½Å»³·´ 910 #CN Ê¡°æ¸©µÈÅÄ·´ Ê¡°æ¸©º£Î©·´ Ê¡°æ¸©ºä°æ·´ Ê¡°æ¸©Â­±©·´ Ê¡°æ¸©Ã°À¸·´ Ê¡°æ¸©Ê¡°æ»Ô 911 #CN Ê¡°æ¸©¾¡»³»Ô 912 #CN Ê¡°æ¸©ÂçÌî·´ Ê¡°æ¸©ÂçÌî»Ô 913 #CN Ê¡°æ¸©ºä°æ·´ 914 #CN Ê¡°æ¸©ÆØ²ì»Ô 915 #CN Ê¡°æ¸©º£Î©·´ Ê¡°æ¸©Æî¾ò·´ Ê¡°æ¸©ÉðÀ¸»Ô 916 #CN Ê¡°æ¸©»ª¹¾»Ô Ê¡°æ¸©Ã°À¸·´ 917 #CN Ê¡°æ¸©±óÉß·´ Ê¡°æ¸©¾®ÉÍ»Ô 919 #CN Ê¡°æ¸©±óÉß·´ Ê¡°æ¸©ºä°æ·´ Ê¡°æ¸©»°Êý·´ Ê¡°æ¸©ÂçÈÓ·´ Ê¡°æ¸©ÆØ²ì»Ô Ê¡°æ¸©Æî¾ò·´ Ê¡°æ¸©Ê¡°æ»Ô 920 #CN ÀÐÀ²ÏËÌ·´ ÀÐÀ¶âÂô»Ô ÀÐÀÀÐÀî·´ 921 #CN ÀÐÀ¶âÂô»Ô ÀÐÀÀÐÀî·´ 922 #CN ÀÐÀ²Ã²ì»Ô ÀÐÀ¹¾¾Â·´ Ê¡°æ¸©ºä°æ·´ 923 #CN ÀÐÀ¾®¾¾»Ô ÀÐÀǽÈþ·´ 924 #CN ÀÐÀ¾¾Ç¤»Ô 925 #CN ÀÐÀ±©ºð·´ ÀÐÀ±©ºð»Ô 926 #CN ÀÐÀ¼¯Åç·´ ÀÐÀ¼·Èø»Ô 927 #CN ÀÐÀ¼î½§·´ ÀÐÀ¼î½§»Ô ÀÐÀ˱»ê·´ 928 #CN ÀÐÀ˱»ê·´ ÀÐÀî¸©ÎØÅç»Ô 929 #CN ÀÐÀ±©ºð·´ ÀÐÀ±©ºð»Ô ÀÐÀ²ÏËÌ·´ ÀÐÀ¼¯Åç·´ ÀÐÀÀÐÀî·´ ÀÐÀǽÈþ·´ ÀÐÀî¸©ÎØÅç»Ô 930 #CN ÉÙ»³¸©¾å¿·Àî·´ ÉÙ»³¸©Ãæ¿·Àî·´ ÉÙ»³¸©ÉØÉé·´ ÉÙ»³¸©ÉÙ»³»Ô 931 #CN ÉÙ»³¸©ÉÙ»³»Ô 932 #CN ÉÙ»³¸©¾®ÌðÉô»Ô ÉÙ»³¸©ÅìÅ×ÇÈ·´ 933 #CN ÉÙ»³¸©¹â²¬»Ô ÉÙ»³¸©¼Í¿å·´ ÉÙ»³¸©¿·Ì«»Ô 934 #CN ÉÙ»³¸©¹â²¬»Ô ÉÙ»³¸©¿·Ì«»Ô 935 #CN ÉÙ»³¸©É¹¸«»Ô 936 #CN ÉÙ»³¸©³êÀî»Ô ÉÙ»³¸©Ãæ¿·Àî·´ 937 #CN ÉÙ»³¸©µûÄÅ»Ô 938 #CN ÉÙ»³¸©²¼¿·Àî·´ ÉÙ»³¸©¹õÉô»Ô 939 #CN ÀÐÀ±©ºð·´ ÉÙ»³¸©²¼¿·Àî·´ ÉÙ»³¸©¹â²¬»Ô ÉÙ»³¸©¼Í¿å·´ ÉÙ»³¸©¾å¿·Àî·´ ÉÙ»³¸©À¾Å×ÇÈ·´ ÉÙ»³¸©ÅìÅ×ÇÈ·´ ÉÙ»³¸©ÉØÉé·´ ÉÙ»³¸©ÉÙ»³»Ô ÉÙ»³¸©âêÇÈ»Ô 940 #CN ¿·³ã¸©»°Åç·´ ¿·³ã¸©Ä¹²¬»Ô ¿·³ã¸©ÆÊÈø»Ô 941 #CN ¿·³ã¸©»åµûÀî»Ô 942 #CN ¿·³ã¸©¾å±Û»Ô ¿·³ã¸©Ãæ·Û¾ë·´ ¿·³ã¸©Åì·Û¾ë·´ 943 #CN ¿·³ã¸©¾å±Û»Ô ¿·³ã¸©Ãæ·Û¾ë·´ ¿·³ã¸©Åì·Û¾ë·´ 944 #CN ¿·³ã¸©¿·°æ»Ô ¿·³ã¸©Ãæ·Û¾ë·´ 945 #CN ¿·³ã¸©´¢±©·´ ¿·³ã¸©Çðºê»Ô 946 #CN ¿·³ã¸©Ë̵û¾Â·´ 947 #CN ¿·³ã¸©¸Å»Ö·´ ¿·³ã¸©»°Åç·´ ¿·³ã¸©¾®Àéë»Ô 948 #CN ¿·³ã¸©½½ÆüÄ®»Ô ¿·³ã¸©Ãæµû¾Â·´ 949 #CN ¿·³ã¸©´¢±©·´ ¿·³ã¸©»°Åç·´ ¿·³ã¸©»åµûÀî»Ô ¿·³ã¸©½½ÆüÄ®»Ô ¿·³ã¸©¾®Àéë»Ô ¿·³ã¸©¾å±Û»Ô ¿·³ã¸©À¾·Û¾ë·´ ¿·³ã¸©Ãæµû¾Â·´ ¿·³ã¸©Ãæ·Û¾ë·´ ¿·³ã¸©Æîµû¾Â·´ ¿·³ã¸©Çðºê»Ô ¿·³ã¸©Ë̵û¾Â·´ ĹÌ²¼¿åÆâ·´ 950 #CN ¿·³ã¸©²ÃÌÐ»Ô ¿·³ã¸©¿·³ã»Ô ¿·³ã¸©À¾³÷¸¶·´ ¿·³ã¸©Ãæ³÷¸¶·´ ¿·³ã¸©Çòº¬»Ô ¿·³ã¸©Ë­±É»Ô 951 #CN ¿·³ã¸©¿·³ã»Ô 952 #CN ¿·³ã¸©º´ÅÏ·´ ¿·³ã¸©Î¾ÄÅ»Ô 953 #CN ¿·³ã¸©À¾³÷¸¶·´ 954 #CN ¿·³ã¸©¸«Éí»Ô ¿·³ã¸©Ä¹²¬»Ô ¿·³ã¸©Æî³÷¸¶·´ 955 #CN ¿·³ã¸©»°¾ò»Ô ¿·³ã¸©Æî³÷¸¶·´ 956 #CN ¿·³ã¸©¿·ÄÅ»Ô ¿·³ã¸©Ãæ³÷¸¶·´ 957 #CN ¿·³ã¸©¿·È¯ÅÄ»Ô ¿·³ã¸©Ë̳÷¸¶·´ 958 #CN ¿·³ã¸©´äÁ¥·´ ¿·³ã¸©Â¼¾å»Ô 959 #CN ¿·³ã¸©±í»Ô ¿·³ã¸©²ÃÌÐ»Ô ¿·³ã¸©´äÁ¥·´ ¿·³ã¸©¸ÞÀô»Ô ¿·³ã¸©»°Åç·´ ¿·³ã¸©¿·È¯ÅÄ»Ô ¿·³ã¸©À¾³÷¸¶·´ ¿·³ã¸©Ãæ³÷¸¶·´ ¿·³ã¸©Åì³÷¸¶·´ ¿·³ã¸©Æî³÷¸¶·´ ¿·³ã¸©Ë̳÷¸¶·´ 960 #CN Ê¡Å縩°Ëã·´ Ê¡Å縩ÁêÇÏ·´ Ê¡Å縩ʡÅç»Ô 961 #CN Ê¡Å縩À¾Çò²Ï·´ Ê¡Å縩Çò²Ï»Ô 962 #CN Ê¡Å縩´äÀ¥·´ Ê¡Å縩¿Ü²ìÀî»Ô 963 #CN Ê¡Å縩·´»³»Ô Ê¡Å縩Åļ·´ 964 #CN Ê¡Å縩°Âã·´ Ê¡Å縩ÆóËܾ¾»Ô 965 #CN Ê¡Å縩²ñÄż㾾»Ô Ê¡Å縩Ë̲ñÄÅ·´ 966 #CN Ê¡Å縩´î¿Êý»Ô Ê¡Å縩ÌíËã·´ 967 #CN Ê¡Å縩Æî²ñÄÅ·´ 968 #CN Ê¡Å縩Âç¾Â·´ Ê¡Å縩Æî²ñÄÅ·´ 969 #CN Ê¡Å縩°Âã·´ Ê¡Å縩°Ëã·´ Ê¡Å縩²Ï¾Â·´ Ê¡Å縩²ñÄż㾾»Ô Ê¡Å縩´äÀ¥·´ Ê¡Å縩·´»³»Ô Ê¡Å縩¿Ü²ìÀî»Ô Ê¡Å縩À¾Çò²Ï·´ Ê¡Å縩Âç¾Â·´ Ê¡Å縩Æî²ñÄÅ·´ Ê¡Å縩ʡÅç»Ô Ê¡Å縩Ë̲ñÄÅ·´ Ê¡Å縩ÌíËã·´ 970 #CN Ê¡Å縩¤¤¤ï¤­»Ô 971 #CN Ê¡Å縩¤¤¤ï¤­»Ô 972 #CN Ê¡Å縩¤¤¤ï¤­»Ô 973 #CN Ê¡Å縩¤¤¤ï¤­»Ô 974 #CN Ê¡Å縩¤¤¤ï¤­»Ô 975 #CN Ê¡Å縩¸¶Ä®»Ô 976 #CN Ê¡Å縩ÁêÇÏ»Ô 977 #CN Ê¡Å縩Åļ·´ 978 #CN Ê¡Å縩ÀÐÀî·´ Ê¡Å縩ÅìÇòÀî·´ 979 #CN Ê¡Å縩¤¤¤ï¤­»Ô Ê¡Å縩¸¶Ä®»Ô Ê¡Å縩ÀÐÀî·´ Ê¡Å縩ÁÐÍÕ·´ Ê¡Å縩ÁêÇÏ·´ Ê¡Å縩ÁêÇÏ»Ô Ê¡Å縩Åļ·´ Ê¡Å縩ÅìÇòÀî·´ 980 #CN µÜ¾ë¸©ÀçÂæ»Ô 981 #CN µÜ¾ë¸©°Ë¶ñ·´ µÜ¾ë¸©²ÃÈþ·´ µÜ¾ë¸©³ÑÅÄ»Ô µÜ¾ë¸©µÜ¾ë·´ µÜ¾ë¸©¹õÀî·´ µÜ¾ë¸©ÀçÂæ»Ô µÜ¾ë¸©ÅíÀ¸·´ µÜ¾ë¸©Ì¾¼è»Ô 982 #CN µÜ¾ë¸©ÀçÂæ»Ô 983 #CN µÜ¾ë¸©ÀçÂæ»Ô 985 #CN µÜ¾ë¸©±ö³ö»Ô µÜ¾ë¸©µÜ¾ë·´ µÜ¾ë¸©ÀçÂæ»Ô µÜ¾ë¸©Â¿²ì¾ë»Ô 986 #CN µÜ¾ë¸©²´¼¯·´ µÜ¾ë¸©Àд¬»Ô µÜ¾ë¸©ÅíÀ¸·´ µÜ¾ë¸©Ëܵȷ´ 987 #CN µÜ¾ë¸©±óÅÄ·´ µÜ¾ë¸©¶Ì¤·´ µÜ¾ë¸©·ª¸¶·´ µÜ¾ë¸©¸ÅÀî»Ô µÜ¾ë¸©»ÖÅÄ·´ µÜ¾ë¸©ÅÐÊÆ·´ µÜ¾ë¸©ÅíÀ¸·´ 988 #CN µÜ¾ë¸©µ¤Àç¾Â»Ô µÜ¾ë¸©Ëܵȷ´ 989 #CN µÜ¾ë¸©±óÅÄ·´ µÜ¾ë¸©´¢ÅÄ·´ µÜ¾ë¸©´ä¾Â»Ô µÜ¾ë¸©µÜ¾ë·´ µÜ¾ë¸©¶Ì¤·´ µÜ¾ë¸©·ª¸¶·´ µÜ¾ë¸©¸ÅÀî»Ô µÜ¾ë¸©»ÖÅÄ·´ µÜ¾ë¸©¼ÆÅÄ·´ µÜ¾ë¸©ÅÐÊÆ·´ µÜ¾ë¸©ÇòÀÐ»Ô µÜ¾ë¸©Ì¾¼è·´ µÜ¾ë¸©Ì¾¼è»Ô µÜ¾ë¸©ÏËÍý·´ 990 #CN »³·Á¸©´¨²Ï¹¾»Ô »³·Á¸©»³·Á»Ô »³·Á¸©¾å»³»Ô »³·Á¸©À¾Â¼»³·´ »³·Á¸©Åì¼»³·´ 991 #CN »³·Á¸©´¨²Ï¹¾»Ô »³·Á¸©À¾Â¼»³·´ 992 #CN »³·Á¸©À¾ÃÖ»ò·´ »³·Á¸©Ä¹°æ»Ô »³·Á¸©ÅìÃÖ»ò·´ »³·Á¸©ÆîÍÛ»Ô »³·Á¸©ÊÆÂô»Ô 993 #CN »³·Á¸©Ä¹°æ»Ô 994 #CN »³·Á¸©Å·Æ¸»Ô 995 #CN »³·Á¸©Â¼»³»Ô »³·Á¸©Èø²ÖÂô»Ô 996 #CN »³·Á¸©ºÇ¾å·´ »³·Á¸©¿·¾±»Ô 997 #CN »³·Á¸©ÄᲬ»Ô »³·Á¸©ÅìÅÄÀî·´ 998 #CN »³·Á¸©¼òÅÄ»Ô 999 #CN »³·Á¸©ºÇ¾å·´ »³·Á¸©»³·Á»Ô »³·Á¸©¼òÅÄ»Ô »³·Á¸©¾å»³»Ô »³·Á¸©¿·¾±»Ô »³·Á¸©À¾Â¼»³·´ »³·Á¸©À¾ÃÖ»ò·´ »³·Á¸©À¾ÅÄÀî·´ »³·Á¸©Ä¹°æ»Ô »³·Á¸©ÄᲬ»Ô »³·Á¸©Å·Æ¸»Ô »³·Á¸©Å캬»Ô »³·Á¸©ÅìÃÖ»ò·´ »³·Á¸©ÅìÅÄÀî·´ »³·Á¸©ÆîÍÛ»Ô »³·Á¸©Èø²ÖÂô»Ô »³·Á¸©ÊÆÂô»Ô »³·Á¸©Ë°³¤·´ »³·Á¸©Ë̼»³·´ TOKYO #CN Åìµþ Canna37p3/dic/Imakefile0100644000076500001200000000051607554213566014234 0ustar shinraadmin/* $Id: Imakefile,v 1.1.1.1 2002/10/19 08:27:34 aida_s Exp $ */ #include "../Canna.conf" #define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' CANNAROOT = .. SUBDIRS = ideo phono MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) MakeLintLibSubdirs($(SUBDIRS)) MakeLintSubdirs($(SUBDIRS),install.ln,install.ln) Canna37p3/dic/phono/0040755000076500001200000000000010052700704013525 5ustar shinraadminCanna37p3/dic/phono/.cvsignore0100644000076500001200000000003407601177341015532 0ustar shinraadmin.depend Makefile *.cbp *.kp Canna37p3/dic/phono/default.kpdef0100644000076500001200000001100507554213574016177 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: default.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ @568 ¤¿¤í¤¦88¡¦1 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° a ¤¢ i ¤¤ u ¤¦ e ¤¨ o ¤ª ka ¤« ki ¤­ ku ¤¯ ke ¤± ko ¤³ sa ¤µ si ¤· su ¤¹ se ¤» so ¤½ ta ¤¿ ti ¤Á tu ¤Ä te ¤Æ to ¤È na ¤Ê ni ¤Ë nu ¤Ì ne ¤Í no ¤Î ha ¤Ï hi ¤Ò hu ¤Õ he ¤Ø ho ¤Û ma ¤Þ mi ¤ß mu ¤à me ¤á mo ¤â ya ¤ä yi ¤¤ yu ¤æ ye ¤¤¤§ yo ¤è ra ¤é ri ¤ê ru ¤ë re ¤ì ro ¤í wa ¤ï wi ¤ð wu ¤¦ we ¤ñ wo ¤ò ga ¤¬ gi ¤® gu ¤° ge ¤² go ¤´ za ¤¶ zi ¤¸ zu ¤º ze ¤¼ zo ¤¾ da ¤À di ¤Â du ¤Å de ¤Ç do ¤É ba ¤Ð bi ¤Ó bu ¤Ö be ¤Ù bo ¤Ü pa ¤Ñ pi ¤Ô pu ¤× pe ¤Ú po ¤Ý fa ¤Õ¤¡ fi ¤Õ¤£ fu ¤Õ fe ¤Õ¤§ fo ¤Õ¤© ja ¤¸¤ã ji ¤¸ ju ¤¸¤å je ¤¸¤§ jo ¤¸¤ç ca ¤« cu ¤¯ co ¤³ la ¤é li ¤ê lu ¤ë le ¤ì lo ¤í va ¤¦¡«¤¡ vi ¤¦¡«¤£ vu ¤¦¡« ve ¤¦¡«¤§ vo ¤¦¡«¤© kya ¤­¤ã kyi ¤­¤£ kyu ¤­¤å kye ¤­¤§ kyo ¤­¤ç gya ¤®¤ã gyi ¤®¤£ gyu ¤®¤å gye ¤®¤§ gyo ¤®¤ç sya ¤·¤ã syi ¤·¤£ syu ¤·¤å sye ¤·¤§ syo ¤·¤ç zya ¤¸¤ã zyi ¤¸¤£ zyu ¤¸¤å zye ¤¸¤§ zyo ¤¸¤ç jya ¤¸¤ã jyi ¤¸¤£ jyu ¤¸¤å jye ¤¸¤§ jyo ¤¸¤ç tya ¤Á¤ã tyi ¤Á¤£ tyu ¤Á¤å tye ¤Á¤§ tyo ¤Á¤ç cya ¤Á¤ã cyi ¤Á¤£ cyu ¤Á¤å cye ¤Á¤§ cyo ¤Á¤ç dya ¤Â¤ã dyi ¤Â¤£ dyu ¤Â¤å dye ¤Â¤§ dyo ¤Â¤ç nya ¤Ë¤ã nyi ¤Ë¤£ nyu ¤Ë¤å nye ¤Ë¤§ nyo ¤Ë¤ç hya ¤Ò¤ã hyi ¤Ò¤£ hyu ¤Ò¤å hye ¤Ò¤§ hyo ¤Ò¤ç bya ¤Ó¤ã byi ¤Ó¤£ byu ¤Ó¤å bye ¤Ó¤§ byo ¤Ó¤ç pya ¤Ô¤ã pyi ¤Ô¤£ pyu ¤Ô¤å pye ¤Ô¤§ pyo ¤Ô¤ç mya ¤ß¤ã myi ¤ß¤£ myu ¤ß¤å mye ¤ß¤§ myo ¤ß¤ç rya ¤ê¤ã ryi ¤ê¤£ ryu ¤ê¤å rye ¤ê¤§ ryo ¤ê¤ç tsa ¤Ä¤¡ tsi ¤Ä¤£ tsu ¤Ä tse ¤Ä¤§ tso ¤Ä¤© lya ¤ê¤ã lyi ¤ê¤£ lyu ¤ê¤å lye ¤ê¤§ lyo ¤ê¤ç sha ¤·¤ã shi ¤· shu ¤·¤å she ¤·¤§ sho ¤·¤ç tha ¤Æ¤ã thi ¤Æ¤£ thu ¤Æ¤å the ¤Æ¤§ tho ¤Æ¤ç dha ¤Ç¤ã dhi ¤Ç¤£ dhu ¤Ç¤å dhe ¤Ç¤§ dho ¤Ç¤ç cha ¤Á¤ã chi ¤Á chu ¤Á¤å che ¤Á¤§ cho ¤Á¤ç gwa ¤°¤¡ gwi ¤°¤£ gwu ¤°¤¥ gwe ¤°¤§ gwo ¤°¤© xa ¤¡ xi ¤£ xu ¤¥ xe ¤§ xo ¤© xwa ¤î xtu ¤Ã xtsu ¤Ã xya ¤ã xyu ¤å xyo ¤ç n ¤ó n\x27 ¤ó mn ¤ó nn ¤ó kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q vv ¤Ã v tch ¤Ã ch , ¡¢ . ¡£ [ ¡Ö ] ¡× { ¡Ø } ¡Ù ^ ¡° < ¡ã > ¡ä - ¡¼ @- ¡Ý \ ¡¡ @@ ¡¡ @/ ¡¦ @\\ ¡À @ ¡÷ @, ¡¤ @. ¡¥ @~ ¡Á @|| ¡Â @| ¡Ã @3 ¡Ä @2 ¡Å @( ¡Ê @) ¡Ë @[ ¡Î @] ¡Ï @{ ¡Ð @} ¡Ñ ~ ¡± ? ¡© ! ¡ª \# ¡ô $ ¡ð \x22 ¡É % ¡ó & ¡õ \x27 ¡Ç ` ¡® + ¡Ü * ¡ö = ¡á | ¡Ã ; ¡¨ : ¡§ _ ¡² / ¡¿ \\ ¡ï Canna37p3/dic/phono/english.kpdef0100644000076500001200000011043007554213574016206 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: english.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ @568 fromÆâ»³¤µ¤ó¡¦1992.6.16 abnormal ¥¢¥Ö¥Î¡¼¥Þ¥ë abort ¥¢¥Ü¡¼¥È about ¥¢¥Ð¥¦¥È abstract ¥¢¥Ö¥¹¥È¥é¥¯¥È abstraction ¥¢¥Ö¥¹¥È¥é¥¯¥·¥ç¥ó academic ¥¢¥«¥Ç¥ß¥Ã¥¯ accent ¥¢¥¯¥»¥ó¥È accept ¥¢¥¯¥»¥×¥È acceptor ¥¢¥¯¥»¥×¥¿ access ¥¢¥¯¥»¥¹ accessible ¥¢¥¯¥»¥·¥Ö¥ë accessing ¥¢¥¯¥»¥Ã¥·¥ó¥° accessory ¥¢¥¯¥»¥µ¥ê accident ¥¢¥¯¥·¥Ç¥ó¥È account ¥¢¥«¥¦¥ó¥È accumulate ¥¢¥­¥å¥à¥ì¡¼¥È accumulator ¥¢¥­¥å¥à¥ì¡¼¥¿ ace ¥¨¡¼¥¹ action ¥¢¥¯¥·¥ç¥ó activate ¥¢¥¯¥Æ¥£¥Ù¡¼¥È activation ¥¢¥¯¥Æ¥£¥Ù¡¼¥·¥ç¥ó active ¥¢¥¯¥Æ¥£¥Ö activity ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£ actor ¥¢¥¯¥¿¡¼ actress ¥¢¥¯¥È¥ì¥¹ adapter ¥¢¥À¥×¥¿ address ¥¢¥É¥ì¥¹ addressing ¥¢¥É¥ì¥Ã¥·¥ó¥° adjust ¥¢¥¸¥ã¥¹¥È adobe ¥¢¥É¥Ó adopter ¥¢¥À¥×¥¿ adult ¥¢¥À¥ë¥È advance ¥¢¥É¥Ð¥ó¥¹ advantage ¥¢¥É¥Ð¥ó¥Æ¡¼¥¸ adventure ¥¢¥É¥Ù¥ó¥Á¥ã advice ¥¢¥É¥Ð¥¤¥¹ advisor ¥¢¥É¥Ð¥¤¥¶ agent ¥¨¡¼¥¸¥§¥ó¥È air ¥¨¥¢ airmail ¥¨¥¢¥á¥¤¥ë airport ¥¨¥¢¥Ý¡¼¥È alarm ¥¢¥é¡¼¥à album ¥¢¥ë¥Ð¥à algorithm ¥¢¥ë¥´¥ê¥º¥à algorithmic ¥¢¥ë¥´¥ê¥¹¥ß¥Ã¥¯ alien ¥¨¥¤¥ê¥¢¥ó align ¥¢¥é¥¤¥ó alignment ¥¢¥é¥¤¥ó¥á¥ó¥È allocate ¥¢¥í¥±¡¼¥È allocation ¥¢¥í¥±¡¼¥·¥ç¥ó alpha ¥¢¥ë¥Õ¥¡ alphabet ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È alphanumeric ¥¢¥ë¥Õ¥¡¥Ë¥å¡¼¥á¥ê¥Ã¥¯ alpine ¥¢¥ë¥Ñ¥¤¥ó amateur ¥¢¥Þ¥Á¥å¥¢ america ¥¢¥á¥ê¥« amplify ¥¢¥ó¥×¥ê¥Õ¥¡¥¤ anagram ¥¢¥Ê¥°¥é¥à analogue ¥¢¥Ê¥í¥° analogy ¥¢¥Ê¥í¥¸ analyst ¥¢¥Ê¥ê¥¹¥È analyzer ¥¢¥Ê¥é¥¤¥¶ anchor ¥¢¥ó¥« and ¥¢¥ó¥É angel ¥¨¥ó¥¸¥§¥ë angle ¥¢¥ó¥°¥ë animate ¥¢¥Ë¥á¡¼¥È animation ¥¢¥Ë¥á¡¼¥·¥ç¥ó announce ¥¢¥Ê¥¦¥ó¥¹ announcer ¥¢¥Ê¥¦¥ó¥µ¡¼ antenna ¥¢¥ó¥Æ¥Ê anti ¥¢¥ó¥Á aperture ¥¢¥Ñ¥Á¥ã appeal ¥¢¥Ô¡¼¥ë append ¥¢¥Ú¥ó¥É apple ¥¢¥Ã¥×¥ë application ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó approach ¥¢¥×¥í¡¼¥Á apron ¥¨¥×¥í¥ó arc ¥¢¡¼¥¯ arcade ¥¢¡¼¥±¡¼¥É archery ¥¢¡¼¥Á¥§¥ê¡¼ architect ¥¢¡¼¥­¥Æ¥¯¥È architecture ¥¢¡¼¥­¥Æ¥¯¥Á¥ã archive ¥¢¡¼¥«¥¤¥Ö archiver ¥¢¡¼¥«¥¤¥Ð area ¥¨¥ê¥¢ arena ¥¢¥ê¡¼¥Ê argument ¥¢¡¼¥®¥å¥á¥ó¥È arm ¥¢¡¼¥à around ¥¢¥é¥¦¥ó¥É arrange ¥¢¥ì¥ó¥¸ arrangeable ¥¢¥ì¥ó¥¸¥ã¥Ö¥ë array ¥¢¥ì¥¤ art ¥¢¡¼¥È article ¥¢¡¼¥Æ¥£¥¯¥ë ascii ¥¢¥¹¥­¡¼ aspect ¥¢¥¹¥Ú¥¯¥È assemble ¥¢¥»¥ó¥Ö¥ë assembler ¥¢¥»¥ó¥Ö¥é assembly ¥¢¥»¥ó¥Ö¥ê assert ¥¢¥µ¡¼¥È assertion ¥¢¥µ¡¼¥·¥ç¥ó assign ¥¢¥µ¥¤¥ó astronomy ¥¢¥¹¥È¥í¥Î¥ß athlete ¥¢¥¹¥ê¡¼¥È athletic ¥¢¥¹¥ì¥Á¥Ã¥¯ atlas ¥¢¥È¥é¥¹ atom ¥¢¥È¥à atomic ¥¢¥È¥ß¥Ã¥¯ attach ¥¢¥¿¥Ã¥Á attack ¥¢¥¿¥Ã¥¯ attribute ¥¢¥È¥ê¥Ó¥å¡¼¥È auction ¥ª¡¼¥¯¥·¥ç¥ó audio ¥ª¡¼¥Ç¥£¥ª aurora ¥ª¡¼¥í¥é auto ¥ª¡¼¥È automatic ¥ª¡¼¥È¥Þ¥Á¥Ã¥¯ automation ¥ª¡¼¥È¥á¡¼¥·¥ç¥ó automaton ¥ª¡¼¥È¥Þ¥È¥ó availability ¥¢¥Ù¥¤¥é¥Ó¥ê¥Æ¥£ average ¥¢¥Ù¥ì¡¼¥¸ baby ¥Ù¥Ó¡¼ back ¥Ð¥Ã¥¯ backbone ¥Ð¥Ã¥¯¥Ü¡¼¥ó background ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É backtrack ¥Ð¥Ã¥¯¥È¥é¥Ã¥¯ backup ¥Ð¥Ã¥¯¥¢¥Ã¥× backward ¥Ð¥Ã¥¯¥ï¡¼¥É bad ¥Ð¥Ã¥É ball ¥Ü¡¼¥ë ballerina ¥Ð¥ì¥ê¡¼¥Ê balloon ¥Ð¥ë¡¼¥ó banana ¥Ð¥Ê¥Ê band ¥Ð¥ó¥É bank ¥Ð¥ó¥¯ bar ¥Ð¡¼ barrier ¥Ð¥ê¥¢ bartender ¥Ð¡¼¥Æ¥ó base ¥Ù¡¼¥¹ baseband ¥Ù¡¼¥¹¥Ð¥ó¥É basic ¥Ù¡¼¥·¥Ã¥¯ basket ¥Ð¥¹¥±¥Ã¥È basketball ¥Ð¥¹¥±¥Ã¥È¥Ü¡¼¥ë bat ¥Ð¥Ã¥È batch ¥Ð¥Ã¥Á battery ¥Ð¥Ã¥Æ¥ê battle ¥Ð¥È¥ë baud ¥Ü¡¼ beach ¥Ó¡¼¥Á beaker ¥Ó¡¼¥« beam ¥Ó¡¼¥à beautiful ¥Ó¥å¡¼¥Æ¥£¥Õ¥ë bed ¥Ù¥Ã¥É beep ¥Ó¡¼¥× beer ¥Ó¡¼¥ë bell ¥Ù¥ë belt ¥Ù¥ë¥È bench ¥Ù¥ó¥Á benchmark ¥Ù¥ó¥Á¥Þ¡¼¥¯ best ¥Ù¥¹¥È beta ¥Ù¡¼¥¿ bible ¥Ð¥¤¥Ö¥ë big ¥Ó¥Ã¥° billboard ¥Ó¥ë¥Ü¡¼¥É binary ¥Ð¥¤¥Ê¥ê bind ¥Ð¥¤¥ó¥É binder ¥Ð¥¤¥ó¥À¡¼ binding ¥Ð¥¤¥ó¥Ç¥£¥ó¥° bird ¥Ð¡¼¥É bit ¥Ó¥Ã¥È bitmap ¥Ó¥Ã¥È¥Þ¥Ã¥× bitnet ¥Ó¥Ã¥È¥Í¥Ã¥È black ¥Ö¥é¥Ã¥¯ blank ¥Ö¥é¥ó¥¯ blanking ¥Ö¥é¥ó¥­¥ó¥° blind ¥Ö¥é¥¤¥ó¥É blink ¥Ö¥ê¥ó¥¯ blinking ¥Ö¥ê¥ó¥­¥ó¥° block ¥Ö¥í¥Ã¥¯ board ¥Ü¡¼¥É boat ¥Ü¡¼¥È body ¥Ü¥Ç¥£ bold ¥Ü¥ë¥É book ¥Ö¥Ã¥¯ bool ¥Ö¡¼¥ë boolean ¥Ö¡¼¥ê¥¢¥ó boom ¥Ö¡¼¥à boost ¥Ö¡¼¥¹¥È boot ¥Ö¡¼¥È boots ¥Ö¡¼¥Ä bootstrap ¥Ö¡¼¥È¥¹¥È¥é¥Ã¥× bottle ¥Ü¥È¥ë bottom ¥Ü¥È¥à bound ¥Ð¥¦¥ó¥É boundary ¥Ð¥¦¥ó¥À¥ê bowling ¥Ü¥¦¥ê¥ó¥° box ¥Ü¥Ã¥¯¥¹ boy ¥Ü¡¼¥¤ brain ¥Ö¥ì¥¤¥ó branch ¥Ö¥é¥ó¥Á brand ¥Ö¥é¥ó¥É bread ¥Ñ¥ó break ¥Ö¥ì¡¼¥¯ bridal ¥Ö¥é¥¤¥À¥ë bridge ¥Ö¥ê¥Ã¥¸ brink ¥Ö¥ê¥ó¥¯ broadcast ¥Ö¥í¡¼¥É¥­¥ã¥¹¥È bronze ¥Ö¥í¥ó¥º brood ¥Ö¥é¥Ã¥É brown ¥Ö¥é¥¦¥ó browser ¥Ö¥é¥¦¥¶ browsing ¥Ö¥é¥¦¥¸¥ó¥° bubble ¥Ð¥Ö¥ë buffer ¥Ð¥Ã¥Õ¥¡ buffet ¥Ó¥å¥Ã¥Õ¥§ bug ¥Ð¥° bulb ¥Ð¥ë¥Ö bulk ¥Ð¥ë¥¯ bundle ¥Ð¥ó¥É¥ë burst ¥Ð¡¼¥¹¥È bus ¥Ð¥¹ business ¥Ó¥¸¥Í¥¹ businessman ¥Ó¥¸¥Í¥¹¥Þ¥ó busy ¥Ó¥¸¡¼ butter ¥Ð¥¿¡¼ buttery ¥Ð¥Ã¥Æ¥ê button ¥Ü¥¿¥ó buyer ¥Ð¥¤¥ä¡¼ bye ¥Ð¥¤ byte ¥Ð¥¤¥È cabbage ¥­¥ã¥Ù¥Ä cabinet ¥­¥ã¥Ó¥Í¥Ã¥È cable ¥±¡¼¥Ö¥ë cache ¥­¥ã¥Ã¥·¥å caching ¥­¥ã¥Ã¥·¥ó¥° cage ¥±¡¼¥¸ cake ¥±¡¼¥­ calendar ¥«¥ì¥ó¥À call ¥³¡¼¥ë camel ¥­¥ã¥á¥ë camera ¥«¥á¥é camp ¥­¥ã¥ó¥× campaign ¥­¥ã¥ó¥Ú¡¼¥ó campus ¥­¥ã¥ó¥Ñ¥¹ cancel ¥­¥ã¥ó¥»¥ë candle ¥­¥ã¥ó¥É¥ë candy ¥­¥ã¥ó¥Ç¥£ canvas ¥­¥ã¥ó¥Ð¥¹ cap ¥­¥ã¥Ã¥× capability ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ capacity ¥­¥ã¥Ñ¥·¥Æ¥£ capsule ¥«¥×¥»¥ë carbon ¥«¡¼¥Ü¥ó card ¥«¡¼¥É care ¥±¥¢ carry ¥­¥ã¥ê¡¼ cartridge ¥«¡¼¥È¥ê¥Ã¥¸ cascade ¥«¥¹¥±¡¼¥É case ¥±¡¼¥¹ casein ¥«¥¼¥¤¥ó cassette ¥«¥»¥Ã¥È cast ¥­¥ã¥¹¥È casual ¥«¥¸¥å¥¢¥ë catalog ¥«¥¿¥í¥° category ¥«¥Æ¥´¥ê cell ¥»¥ë cent ¥»¥ó¥È center ¥»¥ó¥¿¡¼ centimeter ¥»¥ó¥Á century ¥»¥ó¥Á¥å¥ê ceramic ¥»¥é¥ß¥Ã¥¯ chain ¥Á¥§¡¼¥ó chair ¥Á¥§¥¢ challenge ¥Á¥ã¥ì¥ó¥¸ challenging ¥Á¥ã¥ì¥ó¥¸¥ó¥° champagne ¥·¥ã¥ó¥Ú¥ó champion ¥Á¥ã¥ó¥Ô¥ª¥ó chance ¥Á¥ã¥ó¥¹ chandelier ¥·¥ã¥ó¥Ç¥ê¥¢ channel ¥Á¥ã¥Í¥ë character ¥­¥ã¥é¥¯¥¿ check ¥Á¥§¥Ã¥¯ checker ¥Á¥§¥Ã¥« checksum ¥Á¥§¥Ã¥¯¥µ¥à cheese ¥Á¡¼¥º chess ¥Á¥§¥¹ chip ¥Á¥Ã¥× chocolate ¥Á¥ç¥³¥ì¡¼¥È cholesterol ¥³¥ì¥¹¥Æ¥í¡¼¥ë chunk ¥Á¥ã¥ó¥¯ cinema ¥·¥Í¥Þ circle ¥µ¡¼¥¯¥ë circuit ¥µ¡¼¥­¥Ã¥È circus ¥µ¡¼¥«¥¹ claim ¥¯¥ì¡¼¥à clash ¥¯¥é¥Ã¥·¥å class ¥¯¥é¥¹ classic ¥¯¥é¥·¥Ã¥¯ classmate ¥¯¥é¥¹¥á¥¤¥È clear ¥¯¥ê¥¢ click ¥¯¥ê¥Ã¥¯ client ¥¯¥é¥¤¥¢¥ó¥È clipping ¥¯¥ê¥Ã¥Ô¥ó¥° clitoris ¥¯¥ê¥È¥ê¥¹ clock ¥¯¥í¥Ã¥¯ clone ¥¯¥í¡¼¥ó close ¥¯¥í¡¼¥º club ¥¯¥é¥Ö cluster ¥¯¥é¥¹¥¿ coast ¥³¡¼¥¹¥È cocoa ¥³¥³¥¢ code ¥³¡¼¥É coding ¥³¡¼¥Ç¥£¥ó¥° coffee ¥³¡¼¥Ò¡¼ coherent ¥³¥Ò¡¼¥ì¥ó¥È coil ¥³¥¤¥ë coin ¥³¥¤¥ó cold ¥³¡¼¥ë¥É collect ¥³¥ì¥¯¥È collection ¥³¥ì¥¯¥·¥ç¥ó collector ¥³¥ì¥¯¥¿ collision ¥³¥ê¥¸¥ç¥ó cologne ¥³¥í¥ó colony ¥³¥í¥Ë¡¼ color ¥«¥é¡¼ column ¥«¥é¥à combinate ¥³¥ó¥Ó¥Í¡¼¥È combination ¥³¥ó¥Ó¥Í¡¼¥·¥ç¥ó combinator ¥³¥ó¥Ó¥Í¡¼¥¿ combine ¥³¥ó¥Ð¥¤¥ó comeback ¥«¥à¥Ð¥Ã¥¯ comic ¥³¥ß¥Ã¥¯ comma ¥³¥ó¥Þ command ¥³¥Þ¥ó¥É comment ¥³¥á¥ó¥È commit ¥³¥ß¥Ã¥È common ¥³¥â¥ó communicate ¥³¥ß¥å¥Ë¥±¡¼¥È communication ¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó community ¥³¥ß¥å¥Ë¥Æ¥£ compact ¥³¥ó¥Ñ¥¯¥È compatibility ¥³¥ó¥Ñ¥Á¥Ó¥ê¥Æ¥£ compatible ¥³¥ó¥Ñ¥Á¥Ö¥ë compile ¥³¥ó¥Ñ¥¤¥ë compiled ¥³¥ó¥Ñ¥¤¥ë¥É compiler ¥³¥ó¥Ñ¥¤¥é complete ¥³¥ó¥×¥ê¡¼¥È completion ¥³¥ó¥×¥ì¥·¥ç¥ó complex ¥³¥ó¥×¥ì¥Ã¥¯¥¹ component ¥³¥ó¥Ý¥Í¥ó¥È compose ¥³¥ó¥Ý¡¼¥º composite ¥³¥ó¥Ý¥¸¥Ã¥È compress ¥³¥ó¥×¥ì¥¹ computer ¥³¥ó¥Ô¥å¡¼¥¿ computing ¥³¥ó¥Ô¥å¡¼¥Æ¥£¥ó¥° concept ¥³¥ó¥»¥×¥È concert ¥³¥ó¥µ¡¼¥È concrete ¥³¥ó¥¯¥ê¡¼¥È concurrency ¥³¥ó¥«¥ì¥ó¥· concurrent ¥³¥ó¥«¥ì¥ó¥È condition ¥³¥ó¥Ç¥£¥·¥ç¥ó conference ¥«¥ó¥Õ¥¡¥ì¥ó¥¹ configuration ¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó conflict ¥³¥ó¥Õ¥ê¥¯¥È connect ¥³¥Í¥¯¥È connected ¥³¥Í¥¯¥Æ¥£¥Ã¥É connection ¥³¥Í¥¯¥·¥ç¥ó connector ¥³¥Í¥¯¥¿ consistency ¥³¥ó¥·¥¹¥Æ¥ó¥· console ¥³¥ó¥½¡¼¥ë constant ¥³¥ó¥¹¥¿¥ó¥È constraint ¥³¥ó¥¹¥È¥ì¥¤¥ó¥È constructor ¥³¥ó¥¹¥È¥é¥¯¥¿ consulting ¥³¥ó¥µ¥ë¥Æ¥£¥ó¥° contact ¥³¥ó¥¿¥¯¥È container ¥³¥ó¥Æ¥Ê contention ¥³¥ó¥Æ¥ó¥·¥ç¥ó contest ¥³¥ó¥Æ¥¹¥È context ¥³¥ó¥Æ¥­¥¹¥È contribute ¥³¥ó¥È¥ê¥Ó¥å¡¼¥È control ¥³¥ó¥È¥í¡¼¥ë controllable ¥³¥ó¥È¥í¡¼¥é¥Ö¥ë controller ¥³¥ó¥È¥í¡¼¥é convenience ¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ convention ¥³¥ó¥Ù¥ó¥·¥ç¥ó conventional ¥³¥ó¥Ù¥ó¥·¥ç¥Ê¥ë conversion ¥³¥ó¥Ð¡¼¥¸¥ç¥ó convert ¥³¥ó¥Ð¡¼¥È converter ¥³¥ó¥Ð¡¼¥¿ cookie ¥¯¥Ã¥­¡¼ copy ¥³¥Ô¡¼ core ¥³¥¢ coroutine ¥³¥ë¡¼¥Á¥ó corset ¥³¥ë¥»¥Ã¥È cosmos ¥³¥¹¥â¥¹ cost ¥³¥¹¥È costume ¥³¥¹¥Á¥å¡¼¥à cotton ¥³¥Ã¥È¥ó count ¥«¥¦¥ó¥È counter ¥«¥¦¥ó¥¿ country ¥«¥ó¥È¥ê¡¼ couple ¥«¥Ã¥×¥ë course ¥³¡¼¥¹ cover ¥«¥Ð¡¼ coverage ¥«¥Ð¥ì¥Ã¥¸ cranberry ¥¯¥é¥ó¥Ù¥ê¡¼ crash ¥¯¥é¥Ã¥·¥å cream ¥¯¥ê¡¼¥à cricket ¥¯¥ê¥±¥Ã¥È critical ¥¯¥ê¥Æ¥£¥«¥ë cross ¥¯¥í¥¹ crust ¥¯¥é¥¹¥È cube ¥­¥å¡¼¥Ö cubic ¥­¥å¡¼¥Ó¥Ã¥¯ cuckoo ¥«¥Ã¥³¡¼ culture ¥«¥ë¥Á¥ã cup ¥«¥Ã¥× current ¥«¥ì¥ó¥È curry ¥«¥ì¡¼ cursor ¥«¡¼¥½¥ë curtain ¥«¡¼¥Æ¥ó curve ¥«¡¼¥Ö cushion ¥¯¥Ã¥·¥ç¥ó custom ¥«¥¹¥¿¥à customize ¥«¥¹¥¿¥Þ¥¤¥º cut ¥«¥Ã¥È cyber ¥µ¥¤¥Ð¡¼ cybernetics ¥µ¥¤¥Ð¥Í¥Æ¥£¥Ã¥¯¥¹ cycle ¥µ¥¤¥¯¥ë cyclic ¥µ¥¤¥¯¥ê¥Ã¥¯ cylinder ¥·¥ê¥ó¥À daemon ¥Ç¡¼¥â¥ó damage ¥À¥á¡¼¥¸ dandy ¥À¥ó¥Ç¥£ danger ¥Ç¥ó¥¸¥ã dark ¥À¡¼¥¯ dash ¥À¥Ã¥·¥å data ¥Ç¡¼¥¿ database ¥Ç¡¼¥¿¥Ù¡¼¥¹ dataflow ¥Ç¡¼¥¿¥Õ¥í¡¼ deadlock ¥Ç¥Ã¥É¥í¥Ã¥¯ debug ¥Ç¥Ð¥Ã¥° debugger ¥Ç¥Ð¥Ã¥¬ decision ¥Ç¥·¥¸¥ç¥ó deck ¥Ç¥Ã¥¯ decode ¥Ç¥³¡¼¥É decoder ¥Ç¥³¡¼¥À decompiler ¥Ç¥³¥ó¥Ñ¥¤¥é decrement ¥Ç¥¯¥ê¥á¥ó¥È default ¥Ç¥£¥Õ¥©¡¼¥ë¥È delay ¥Ç¥£¥ì¥¤ delete ¥Ç¥ê¡¼¥È delimiter ¥Ç¥ê¥ß¥¿ delta ¥Ç¥ë¥¿ deluxe ¥Ç¥é¥Ã¥¯¥¹ demand ¥Ç¥Þ¥ó¥É demerit ¥Ç¥á¥ê¥Ã¥È demodulator ¥Ç¥â¥¸¥å¥ì¡¼¥¿ demonstrate ¥Ç¥â¥ó¥¹¥È¥ì¡¼¥È dental ¥Ç¥ó¥¿¥ë depart ¥Ç¥Ñ¡¼¥È depletion ¥Ç¥£¥×¥ê¡¼¥·¥ç¥ó descriptor ¥Ç¥£¥¹¥¯¥ê¥×¥¿ design ¥Ç¥¶¥¤¥ó desk ¥Ç¥¹¥¯ destination ¥Ç¥¹¥Æ¥£¥Í¡¼¥·¥ç¥ó device ¥Ç¥Ð¥¤¥¹ devil ¥Ç¥Ó¥ë diagram ¥À¥¤¥¢¥°¥é¥à dial ¥À¥¤¥¢¥ë dialogue ¥À¥¤¥¢¥í¥° dialup ¥À¥¤¥¢¥ë¥¢¥Ã¥× diamond ¥À¥¤¥¢¥â¥ó¥É diary ¥À¥¤¥¢¥ê¡¼ dictionary ¥Ç¥£¥¯¥·¥ç¥Ê¥ê digest ¥À¥¤¥¸¥§¥¹¥È digital ¥Ç¥£¥¸¥¿¥ë dimension ¥Ç¥£¥á¥ó¥¸¥ç¥ó diode ¥À¥¤¥ª¡¼¥É direct ¥À¥¤¥ì¥¯¥È directory ¥Ç¥£¥ì¥¯¥È¥ê dis ¥Ç¥£¥¹ disc ¥Ç¥£¥¹¥¯ disco ¥Ç¥£¥¹¥³ discussion ¥Ç¥£¥¹¥«¥Ã¥·¥ç¥ó dish ¥Ç¥£¥Ã¥·¥å disk ¥Ç¥£¥¹¥¯ diskette ¥Ç¥£¥¹¥±¥Ã¥È dispatch ¥Ç¥£¥¹¥Ñ¥Ã¥Á dispatcher ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã displacement ¥Ç¥£¥¹¥×¥ì¡¼¥¹¥á¥ó¥È display ¥Ç¥£¥¹¥×¥ì¥¤ distribute ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥È distribution ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó document ¥É¥­¥å¥á¥ó¥È documentation ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó dogma ¥É¥°¥Þ domain ¥É¥á¥¤¥ó door ¥É¥¢ dot ¥É¥Ã¥È double ¥À¥Ö¥ë down ¥À¥¦¥ó dozen ¥À¡¼¥¹ draft ¥É¥é¥Õ¥È drag ¥É¥é¥Ã¥° dragging ¥É¥é¥Ã¥®¥ó¥° dragon ¥É¥é¥´¥ó drain ¥É¥ì¥¤¥ó drama ¥É¥é¥Þ dreamer ¥É¥ê¡¼¥Þ¡¼ drink ¥É¥ê¥ó¥¯ drive ¥É¥é¥¤¥Ö driver ¥É¥é¥¤¥Ð drop ¥É¥í¥Ã¥× drum ¥É¥é¥à drummer ¥É¥é¥Þ¡¼ dryer ¥É¥é¥¤¥ä¡¼ dual ¥Ç¥å¥¢¥ë duet ¥Ç¥å¥¨¥Ã¥È dumb ¥À¥à dump ¥À¥ó¥× dust ¥À¥¹¥È dynamic ¥À¥¤¥Ê¥ß¥Ã¥¯ dynamism ¥À¥¤¥Ê¥ß¥º¥à echo ¥¨¥³¡¼ edge ¥¨¥Ã¥¸ edit ¥¨¥Ç¥£¥Ã¥È editor ¥¨¥Ç¥£¥¿ effect ¥¨¥Õ¥§¥¯¥È eject ¥¨¥¸¥§¥¯¥È electric ¥¨¥ì¥¯¥È¥ê¥Ã¥¯ electro ¥¨¥ì¥¯¥È¥í electronics ¥¨¥ì¥¯¥È¥í¥Ë¥¯¥¹ elegant ¥¨¥ì¥¬¥ó¥È element ¥¨¥ì¥á¥ó¥È elements ¥¨¥ì¥á¥ó¥È elevator ¥¨¥ì¥Ù¡¼¥¿¡¼ emulate ¥¨¥ß¥å¥ì¡¼¥È emulation ¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó emulator ¥¨¥ß¥å¥ì¡¼¥¿ enable ¥¨¥Í¡¼¥Ö¥ë encode ¥¨¥ó¥³¡¼¥É encoder ¥¨¥ó¥³¡¼¥À encoding ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° end ¥¨¥ó¥É energy ¥¨¥Í¥ë¥®¡¼ engine ¥¨¥ó¥¸¥ó engineer ¥¨¥ó¥¸¥Ë¥¢ engineering ¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥° enhancement ¥¨¥ó¥Ï¥ó¥¹¥á¥ó¥È enter ¥¨¥ó¥¿ enterprise ¥¨¥ó¥¿¡¼¥×¥é¥¤¥º entity ¥¨¥ó¥Æ¥£¥Æ¥£ entrant ¥¨¥ó¥È¥é¥ó¥È entropy ¥¨¥ó¥È¥í¥Ô entry ¥¨¥ó¥È¥ê episode ¥¨¥Ô¥½¡¼¥É erase ¥¤¥ì¡¼¥¹ error ¥¨¥é¡¼ escalator ¥¨¥¹¥«¥ì¡¼¥¿¡¼ escape ¥¨¥¹¥±¡¼¥× essay ¥¨¥Ã¥»¥¤ ether ¥¤¡¼¥µ ethernet ¥¤¡¼¥µ¥Í¥Ã¥È etiquette ¥¨¥Á¥±¥Ã¥È evaluate ¥¨¥Ð¥ê¥å¥¨¡¼¥È evaluation ¥¨¥Ð¥ê¥å¥¨¡¼¥·¥ç¥ó even ¥¤¡¼¥Ö¥ó event ¥¤¥Ù¥ó¥È exciting ¥¨¥­¥µ¥¤¥Æ¥£¥ó¥° exclusive ¥¨¥¯¥¹¥¯¥ë¡¼¥¸¥Ö expert ¥¨¥­¥¹¥Ñ¡¼¥È extension ¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó extensive ¥¨¥¯¥¹¥Æ¥ó¥·¥Ö exterior ¥¨¥¯¥¹¥Æ¥ê¥¢ eye ¥¢¥¤ face ¥Õ¥§¡¼¥¹ facility ¥Õ¥¡¥·¥ê¥Æ¥£ fact ¥Õ¥¡¥¯¥È factor ¥Õ¥¡¥¯¥¿ fade ¥Õ¥§¡¼¥É fadeout ¥Õ¥§¡¼¥É¥¢¥¦¥È fail ¥Õ¥§¥¤¥ë faint ¥Õ¥§¥¤¥ó¥È fair ¥Õ¥§¥¢ family ¥Õ¥¡¥ß¥ê fanout ¥Õ¥¡¥ó¥¢¥¦¥È fashion ¥Õ¥¡¥Ã¥·¥ç¥ó fault ¥Õ¥©¥ë¥È feed ¥Õ¥£¡¼¥É feedback ¥Õ¥£¡¼¥É¥Ð¥Ã¥¯ feeder ¥Õ¥£¡¼¥À feminism ¥Õ¥§¥ß¥Ë¥º¥à feminist ¥Õ¥§¥ß¥Ë¥¹¥È fence ¥Õ¥§¥ó¥¹ fetch ¥Õ¥§¥Ã¥Á field ¥Õ¥£¡¼¥ë¥É figure ¥Õ¥£¥®¥å¥¢ filament ¥Õ¥£¥é¥á¥ó¥È file ¥Õ¥¡¥¤¥ë fill ¥Õ¥£¥ë fillet ¥Ò¥ì film ¥Õ¥£¥ë¥à filter ¥Õ¥£¥ë¥¿ filtering ¥Õ¥£¥ë¥¿¥ê¥ó¥° final ¥Õ¥¡¥¤¥Ê¥ë finance ¥Õ¥¡¥¤¥Ê¥ó¥¹ finish ¥Õ¥£¥Ë¥Ã¥·¥å fire ¥Õ¥¡¥¤¥¢ firm ¥Õ¥¡¡¼¥à firmware ¥Õ¥¡¡¼¥à¥¦¥§¥¢ first ¥Õ¥¡¡¼¥¹¥È fit ¥Õ¥£¥Ã¥È fix ¥Õ¥£¥Ã¥¯¥¹ flag ¥Õ¥é¥° flat ¥Õ¥é¥Ã¥È flesh ¥Õ¥ì¥Ã¥·¥å flex ¥Õ¥ì¥Ã¥¯¥¹ flexible ¥Õ¥ì¥­¥·¥Ö¥ë flight ¥Õ¥é¥¤¥È flipflop ¥Õ¥ê¥Ã¥×¥Õ¥í¥Ã¥× float ¥Õ¥í¡¼¥È floating ¥Õ¥í¡¼¥Æ¥£¥ó¥° floor ¥Õ¥í¥¢ floppy ¥Õ¥í¥Ã¥Ô flora ¥Õ¥í¡¼¥é flow ¥Õ¥í¡¼ flowchart ¥Õ¥í¡¼¥Á¥ã¡¼¥È flute ¥Õ¥ë¡¼¥È focus ¥Õ¥©¡¼¥«¥¹ fold ¥Õ¥©¥ë¥É folder ¥Õ¥©¥ë¥À follow ¥Õ¥©¥í¡¼ follower ¥Õ¥©¥í¥¢ font ¥Õ¥©¥ó¥È foot ¥Õ¥Ã¥È football ¥Õ¥Ã¥È¥Ü¡¼¥ë fork ¥Õ¥©¡¼¥¯ form ¥Õ¥©¡¼¥à formal ¥Õ¥©¡¼¥Þ¥ë format ¥Õ¥©¡¼¥Þ¥Ã¥È formatting ¥Õ¥©¡¼¥Þ¥Ã¥Æ¥£¥ó¥° forum ¥Õ¥©¡¼¥é¥à forwarding ¥Õ¥©¥ï¡¼¥Ç¥£¥ó¥° fragment ¥Õ¥é¥°¥á¥ó¥È fragmentation ¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó frame ¥Õ¥ì¡¼¥à framework ¥Õ¥ì¡¼¥à¥ï¡¼¥¯ freak ¥Õ¥ê¡¼¥¯ free ¥Õ¥ê¡¼ freedom ¥Õ¥ê¡¼¥À¥à freeze ¥Õ¥ê¡¼¥º friend ¥Õ¥ì¥ó¥É friends ¥Õ¥ì¥ó¥º front ¥Õ¥í¥ó¥È full ¥Õ¥ë fun ¥Õ¥¡¥ó function ¥Õ¥¡¥ó¥¯¥·¥ç¥ó fusion ¥Õ¥å¡¼¥¸¥ç¥ó fuzzy ¥Õ¥¡¥¸¥¤ gain ¥²¥¤¥ó game ¥²¡¼¥à gap ¥®¥ã¥Ã¥× garbage ¥¬¡¼¥Ù¡¼¥¸ garden ¥¬¡¼¥Ç¥ó garlic ¥¬¡¼¥ê¥Ã¥¯ gas ¥¬¥¹ gasoline ¥¬¥½¥ê¥ó gate ¥²¡¼¥È gateway ¥²¡¼¥È¥¦¥§¥¤ gauze ¥¬¡¼¥¼ generate ¥¸¥§¥Í¥ì¡¼¥È generation ¥¸¥§¥Í¥ì¡¼¥·¥ç¥ó generator ¥¸¥§¥Í¥ì¡¼¥¿ generic ¥¸¥§¥Í¥ê¥Ã¥¯ genome ¥²¥Î¥à giant ¥¸¥ã¥¤¥¢¥ó¥È girl ¥¬¡¼¥ë glade ¥°¥ì¡¼¥É glass ¥°¥é¥¹ global ¥°¥í¡¼¥Ð¥ë glycogen ¥°¥ê¥³¡¼¥²¥ó goal ¥´¡¼¥ë golden ¥´¡¼¥ë¥Ç¥ó golf ¥´¥ë¥Õ gossip ¥´¥·¥Ã¥× grade ¥°¥ì¡¼¥É grapefruit ¥°¥ì¡¼¥×¥Õ¥ë¡¼¥Ä graph ¥°¥é¥Õ graphic ¥°¥é¥Õ¥£¥Ã¥¯ graphical ¥°¥é¥Õ¥£¥Ã¥«¥ë graphics ¥°¥é¥Ã¥Õ¥£¥¯¥¹ gray ¥°¥ì¥¤ great ¥°¥ì¡¼¥È green ¥°¥ê¡¼¥ó grey ¥°¥ì¥¤ grid ¥°¥ê¥Ã¥É gridding ¥°¥ê¥Ã¥Ç¥£¥ó¥° ground ¥°¥é¥ó¥É group ¥°¥ë¡¼¥× grouping ¥°¥ë¡¼¥Ô¥ó¥° groupware ¥°¥ë¡¼¥×¥¦¥§¥¢ guard ¥¬¡¼¥É guardian ¥¬¡¼¥Ç¥£¥¢¥ó guest ¥²¥¹¥È guidance ¥¬¥¤¥À¥ó¥¹ guide ¥¬¥¤¥É guideline ¥¬¥¤¥É¥é¥¤¥ó guitar ¥®¥¿¡¼ hack ¥Ï¥Ã¥¯ hacker ¥Ï¥Ã¥«¡¼ halt ¥Û¥ë¥È ham ¥Ï¥à hamming ¥Ï¥ß¥ó¥° hand ¥Ï¥ó¥É handbag ¥Ï¥ó¥É¥Ð¥Ã¥° handicap ¥Ï¥ó¥Ç¥£¥­¥ã¥Ã¥× handle ¥Ï¥ó¥É¥ë handler ¥Ï¥ó¥É¥é handling ¥Ï¥ó¥É¥ê¥ó¥° handshake ¥Ï¥ó¥É¥·¥§¡¼¥¯ handy ¥Ï¥ó¥Ç¥£ hang ¥Ï¥ó¥° hank ¥Ï¥ó¥¯ hard ¥Ï¡¼¥É hardware ¥Ï¡¼¥É¥¦¥§¥¢ harp ¥Ï¡¼¥× hash ¥Ï¥Ã¥·¥å hat ¥Ï¥Ã¥È hazard ¥Ï¥¶¡¼¥È head ¥Ø¥Ã¥É header ¥Ø¥Ã¥À heading ¥Ø¥Ã¥Ç¥£¥ó¥° headlight ¥Ø¥Ã¥É¥é¥¤¥È headphone ¥Ø¥Ã¥É¥Õ¥©¥ó heap ¥Ò¡¼¥× heart ¥Ï¡¼¥È heat ¥Ò¡¼¥È heater ¥¹¥È¡¼¥Ö heavy ¥Ø¥Ó¡¼ heel ¥Ò¡¼¥ë helicopter ¥Ø¥ê¥³¥×¥¿¡¼ help ¥Ø¥ë¥× hemoglobin ¥Ø¥â¥°¥í¥Ó¥ó heroin ¥Ø¥í¥¤¥ó heroine ¥Ò¥í¥¤¥ó hetero ¥Ø¥Æ¥í heterogeneous ¥Ø¥Æ¥í¥¸¥Ë¥¢¥¹ heuristic ¥Ò¥å¡¼¥ê¥¹¥Æ¥£¥Ã¥¯ high ¥Ï¥¤ highlight ¥Ï¥¤¥é¥¤¥È highway ¥Ï¥¤¥¦¥§¥¤ hike ¥Ï¥¤¥¯ hiker ¥Ï¥¤¥«¡¼ hiking ¥Ï¥¤¥­¥ó¥° hint ¥Ò¥ó¥È history ¥Ò¥¹¥È¥ê holiday ¥Û¥ê¥Ç¥¤ holt ¥Û¥ë¥È home ¥Û¡¼¥à homo ¥Û¥â homogeneous ¥Û¥â¥¸¥Ë¥¢¥¹ honey ¥Ï¥Ë¡¼ hopper ¥Û¥Ã¥Ñ horizon ¥Û¥é¥¤¥¾¥ó horizontal ¥Û¥ê¥¾¥ó¥¿¥ë host ¥Û¥¹¥È hot ¥Û¥Ã¥È hotel ¥Û¥Æ¥ë house ¥Ï¥¦¥¹ housekeeping ¥Ï¥¦¥¹¥­¡¼¥Ô¥ó¥° human ¥Ò¥å¡¼¥Þ¥ó hung ¥Ï¥ó¥° hurricane ¥Ï¥ê¥±¡¼¥ó husband ¥Ï¥º¥Ð¥ó¥É hybrid ¥Ï¥¤¥Ö¥ê¥Ã¥É hydro ¥Ï¥¤¥É¥í hyper ¥Ï¥¤¥Ñ¡¼ hyphen ¥Ï¥¤¥Õ¥ó hyphenation ¥Ï¥¤¥Õ¥Í¡¼¥·¥ç¥ó ice ¥¢¥¤¥¹ icon ¥¢¥¤¥³¥ó idea ¥¢¥¤¥Ç¥¢ idempotent ¥¢¥¤¥Ç¥ó¥Ý¡¼¥Æ¥ó¥È idle ¥¢¥¤¥É¥ë illustrate ¥¤¥é¥¹¥È¥ì¡¼¥È illustration ¥¤¥é¥¹¥È¥ì¡¼¥·¥ç¥ó image ¥¤¥á¡¼¥¸ imitation ¥¤¥ß¥Æ¡¼¥·¥ç¥ó immediate ¥¤¥ß¥Ç¥£¥¨¥¤¥È impact ¥¤¥ó¥Ñ¥¯¥È impedance ¥¤¥ó¥Ô¡¼¥À¥ó¥¹ implement ¥¤¥ó¥×¥ê¥á¥ó¥È implementation ¥¤¥ó¥×¥ê¥á¥ó¥Æ¡¼¥·¥ç¥ó implementer ¥¤¥ó¥×¥ê¥á¥ó¥¿ implementor ¥¤¥ó¥×¥ê¥á¥ó¥¿ implicit ¥¤¥ó¥×¥ê¥·¥Ã¥È impose ¥¤¥ó¥Ý¡¼¥º impulse ¥¤¥ó¥Ñ¥ë¥¹ in ¥¤¥ó inboard ¥¤¥ó¥Ü¡¼¥É inch ¥¤¥ó¥Á include ¥¤¥ó¥¯¥ë¡¼¥É increment ¥¤¥ó¥¯¥ê¥á¥ó¥È incremental ¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë indent ¥¤¥ó¥Ç¥ó¥È indentation ¥¤¥ó¥Ç¥ó¥Æ¡¼¥·¥ç¥ó index ¥¤¥ó¥Ç¥Ã¥¯¥¹ indexing ¥¤¥ó¥Ç¥­¥·¥ó¥° indicate ¥¤¥ó¥Ç¥£¥±¡¼¥È indication ¥¤¥ó¥Ç¥£¥±¡¼¥·¥ç¥ó indicator ¥¤¥ó¥Ç¥£¥±¡¼¥¿ indirect ¥¤¥ó¥À¥¤¥ì¥¯¥È indoor ¥¤¥ó¥É¥¢ induction ¥¤¥ó¥À¥¯¥·¥ç¥ó informal ¥¤¥ó¥Õ¥©¡¼¥Þ¥ë information ¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó ingot ¥¤¥ó¥´¥Ã¥È inheritance ¥¤¥ó¥Ø¥ê¥¿¥ó¥¹ inhibit ¥¤¥ó¥Ò¥Ó¥Ã¥È initial ¥¤¥Ë¥·¥ã¥ë initialization ¥¤¥Ë¥·¥ã¥ê¥¼¡¼¥·¥ç¥ó initialize ¥¤¥Ë¥·¥ã¥é¥¤¥º initiate ¥¤¥Ë¥·¥¨¡¼¥È initiator ¥¤¥Ë¥·¥¨¡¼¥¿ inject ¥¤¥ó¥¸¥§¥¯¥È injection ¥¤¥ó¥¸¥§¥¯¥·¥ç¥ó ink ¥¤¥ó¥¯ input ¥¤¥ó¥×¥Ã¥È insert ¥¤¥ó¥µ¡¼¥È inspection ¥¤¥ó¥¹¥Ú¥¯¥·¥ç¥ó install ¥¤¥ó¥¹¥È¡¼¥ë instance ¥¤¥ó¥¹¥¿¥ó¥¹ instant ¥¤¥ó¥¹¥¿¥ó¥È instantiate ¥¤¥ó¥¹¥¿¥ó¥·¥¨¡¼¥È instruction ¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó instructor ¥¤¥ó¥¹¥È¥é¥¯¥¿ instrument ¥¤¥ó¥¹¥Ä¥ë¥á¥ó¥È integral ¥¤¥ó¥Æ¥°¥é¥ë integrate ¥¤¥ó¥Æ¥°¥ì¡¼¥È integration ¥¤¥ó¥Æ¥°¥ì¡¼¥·¥ç¥ó intelligent ¥¤¥ó¥Æ¥ê¥¸¥§¥ó¥È intensive ¥¤¥ó¥Æ¥ó¥·¥Ö intentional ¥¤¥ó¥Æ¥ó¥·¥ç¥Ê¥ë inter ¥¤¥ó¥¿ interaction ¥¤¥ó¥¿¥é¥¯¥·¥ç¥ó interactive ¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö intercept ¥¤¥ó¥¿¥»¥×¥È interface ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ interfere ¥¤¥ó¥¿¥Õ¥§¥¢ interleave ¥¤¥ó¥¿¥ê¡¼¥Ö internal ¥¤¥ó¥¿¡¼¥Ê¥ë internet ¥¤¥ó¥¿¥Í¥Ã¥È interpret ¥¤¥ó¥¿¥×¥ê¥Ã¥È interpretation ¥¤¥ó¥¿¥×¥ê¥Æ¡¼¥·¥ç¥ó interpreter ¥¤¥ó¥¿¥×¥ê¥¿ interrupt ¥¤¥ó¥¿¥é¥×¥È interval ¥¤¥ó¥¿¥Ð¥ë interview ¥¤¥ó¥¿¥Ó¥å¡¼ introduction ¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó invoice ¥¤¥ó¥Ü¥¤¥¹ ion ¥¤¥ª¥ó isolation ¥¢¥¤¥½¥ì¡¼¥·¥ç¥ó isolator ¥¢¥¤¥½¥ì¡¼¥¿ italic ¥¤¥¿¥ê¥Ã¥¯ item ¥¢¥¤¥Æ¥à jam ¥¸¥ã¥à jazz ¥¸¥ã¥º jealousy ¥¸¥§¥é¥·¡¼ jeans ¥¸¡¼¥ó¥º jet ¥¸¥§¥Ã¥È job ¥¸¥ç¥Ö jogging ¥¸¥ç¥®¥ó¥° joke ¥¸¥ç¡¼¥¯ journal ¥¸¥ã¡¼¥Ê¥ë journalist ¥¸¥ã¡¼¥Ê¥ê¥¹¥È joy ¥¸¥ç¥¤ jumbo ¥¸¥ã¥ó¥Ü jump ¥¸¥ã¥ó¥× junky ¥¸¥ã¥ó¥­¡¼ just ¥¸¥ã¥¹¥È kangaroo ¥«¥ó¥¬¥ë kernel ¥«¡¼¥Í¥ë key ¥­¡¼ keyboard ¥­¡¼¥Ü¡¼¥É keyword ¥­¡¼¥ï¡¼¥É king ¥­¥ó¥° kiss ¥­¥¹ knife ¥Ê¥¤¥Õ knight ¥Ê¥¤¥È koala ¥³¥¢¥é kodak ¥³¥À¥Ã¥¯ label ¥é¥Ù¥ë laboratory ¥é¥Ü¥é¥È¥ê lady ¥ì¥Ç¥£ lamb ¥é¥à lambda ¥é¥à¥À lamp ¥é¥ó¥× language ¥é¥ó¥²¡¼¥¸ lap ¥é¥Ã¥× large ¥é¡¼¥¸ laser ¥ì¡¼¥¶ last ¥é¥¹¥È latch ¥é¥Ã¥Á latency ¥ì¥¤¥Æ¥ó¥· layer ¥ì¥¤¥ä layout ¥ì¥¤¥¢¥¦¥È lazy ¥ì¥¤¥¸¡¼ leaf ¥ê¡¼¥Õ leak ¥ê¡¼¥¯ lecture ¥ì¥¯¥Á¥ã leisure ¥ì¥¸¥ã¡¼ lemon ¥ì¥â¥ó length ¥ì¥ó¥°¥¹ lens ¥ì¥ó¥º leotard ¥ì¥ª¥¿¡¼¥É less ¥ì¥¹ letter ¥ì¥¿¡¼ lettuce ¥ì¥¿¥¹ level ¥ì¥Ù¥ë liberal ¥ê¥Ù¥é¥ë librarian ¥é¥¤¥Ö¥é¥ê¥¢¥ó library ¥é¥¤¥Ö¥é¥ê license ¥é¥¤¥»¥ó¥¹ life ¥é¥¤¥Õ lift ¥ê¥Õ¥È light ¥é¥¤¥È limit ¥ê¥ß¥Ã¥È limiter ¥ê¥ß¥Ã¥¿ limousine ¥ê¥à¥¸¥ó line ¥é¥¤¥ó link ¥ê¥ó¥¯ linkage ¥ê¥ó¥±¡¼¥¸ linker ¥ê¥ó¥« lisp ¥ê¥¹¥× list ¥ê¥¹¥È literal ¥ê¥Æ¥é¥ë little ¥ê¥È¥ë load ¥í¡¼¥É loader ¥í¡¼¥À lobby ¥í¥Ó¡¼ local ¥í¡¼¥«¥ë locater ¥í¥±¡¼¥¿ location ¥í¥±¡¼¥·¥ç¥ó lock ¥í¥Ã¥¯ locker ¥í¥Ã¥«¡¼ locking ¥í¥Ã¥­¥ó¥° loft ¥í¥Õ¥È log ¥í¥° logger ¥í¥¬¡¼ logic ¥í¥¸¥Ã¥¯ logical ¥í¥¸¥«¥ë login ¥í¥°¥¤¥ó logout ¥í¥°¥¢¥¦¥È long ¥í¥ó¥° look ¥ë¥Ã¥¯ loop ¥ë¡¼¥× loose ¥ë¡¼¥º loss ¥í¥¹ lost ¥í¥¹¥È love ¥é¥Ö low ¥í¡¼ luck ¥é¥Ã¥¯ lucky ¥é¥Ã¥­¡¼ lullaby ¥é¥é¥Ð¥¤ machine ¥Þ¥·¥ó macro ¥Þ¥¯¥í magazine ¥Þ¥¬¥¸¥ó magenta ¥Þ¥¼¥ó¥À magma ¥Þ¥°¥Þ magnet ¥Þ¥°¥Í¥Ã¥È magnetic ¥Þ¥°¥Í¥Æ¥£¥Ã¥¯ mail ¥á¡¼¥ë mailer ¥á¥¤¥é¡¼ mailing ¥á¡¼¥ê¥ó¥° main ¥á¥¤¥ó maintenance ¥á¥ó¥Æ¥Ê¥ó¥¹ majesty ¥Þ¥¸¥¹¥Æ¥£ major ¥á¥¸¥ã¡¼ make ¥á¡¼¥¯ maker ¥á¡¼¥«¡¼ manager ¥Þ¥Í¡¼¥¸¥ã mania ¥Þ¥Ë¥¢ maniac ¥Þ¥Ë¥¢¥Ã¥¯ manicure ¥Þ¥Ë¥­¥å¥¢ manipulation ¥Þ¥Ë¥Ô¥å¥ì¡¼¥·¥ç¥ó manners ¥Þ¥Ê¡¼ mansion ¥Þ¥ó¥·¥ç¥ó manual ¥Þ¥Ë¥å¥¢¥ë map ¥Þ¥Ã¥× mapping ¥Þ¥Ã¥Ô¥ó¥° marathon ¥Þ¥é¥½¥ó margin ¥Þ¡¼¥¸¥ó mark ¥Þ¡¼¥¯ marker ¥Þ¡¼¥« market ¥Þ¡¼¥±¥Ã¥È marshmallow ¥Þ¥·¥å¥Þ¥í mask ¥Þ¥¹¥¯ master ¥Þ¥¹¥¿ match ¥Þ¥Ã¥Á matching ¥Þ¥Ã¥Á¥ó¥° matrix ¥Þ¥È¥ê¥Ã¥¯¥¹ max ¥Þ¥Ã¥¯¥¹ maximum ¥Þ¥­¥·¥Þ¥à maze ¥á¡¼¥º mechanism ¥á¥«¥Ë¥º¥à media ¥á¥Ç¥£¥¢ medium ¥ß¥Ç¥£¥¢¥à medley ¥á¥É¥ê¡¼ meeting ¥ß¡¼¥Æ¥£¥ó¥° mega ¥á¥¬ melancholy ¥á¥é¥ó¥³¥ê¡¼ melody ¥á¥í¥Ç¥£¡¼ melon ¥á¥í¥ó member ¥á¥ó¥Ð memory ¥á¥â¥ê mental ¥á¥ó¥¿¥ë menu ¥á¥Ë¥å¡¼ merge ¥Þ¡¼¥¸ merit ¥á¥ê¥Ã¥È mesa ¥á¥µ message ¥á¥Ã¥»¡¼¥¸ messenger ¥á¥Ã¥»¥ó¥¸¥ã meta ¥á¥¿ metal ¥á¥¿¥ë metaphor ¥á¥¿¥Õ¥©¥¢ method ¥á¥½¥Ã¥É metric ¥á¥È¥ê¥Ã¥¯ micro ¥Þ¥¤¥¯¥í migrate ¥Þ¥¤¥°¥ì¡¼¥È migration ¥Þ¥¤¥°¥ì¡¼¥·¥ç¥ó mile ¥Þ¥¤¥ë mili ¥ß¥ê milk ¥ß¥ë¥¯ milky ¥ß¥ë¥­¡¼ million ¥ß¥ê¥ª¥ó mini ¥ß¥Ë minimal ¥ß¥Ë¥Þ¥ë minimum ¥ß¥Ë¥Þ¥à minor ¥Þ¥¤¥Ê minuet ¥á¥Ì¥¨¥Ã¥È minus ¥Þ¥¤¥Ê¥¹ mirage ¥ß¥é¡¼¥¸¥å mirror ¥ß¥é¡¼ miss ¥ß¥¹ mission ¥ß¥Ã¥·¥ç¥ó mix ¥ß¥Ã¥¯¥¹ mobile ¥â¥Ð¥¤¥ë mode ¥â¡¼¥É model ¥â¥Ç¥ë modem ¥â¥Ç¥à modify ¥â¥Ç¥£¥Õ¥¡¥¤ modular ¥â¥¸¥å¥é modularity ¥â¥¸¥å¥é¥ê¥Æ¥£ module ¥â¥¸¥å¡¼¥ë moment ¥â¡¼¥á¥ó¥È momentary ¥â¡¼¥á¥ó¥¿¥ê money ¥Þ¥Í¡¼ monitor ¥â¥Ë¥¿ monitoring ¥â¥Ë¥¿¥ê¥ó¥° monkey ¥â¥ó¥­¡¼ moon ¥à¡¼¥ó mosaic ¥â¥¶¥¤¥¯ motel ¥â¡¼¥Æ¥ë mother ¥Þ¥¶¡¼ mount ¥Þ¥¦¥ó¥È mountain ¥Þ¥¦¥ó¥Æ¥ó mouse ¥Þ¥¦¥¹ muffler ¥Þ¥Õ¥é¡¼ multi ¥Þ¥ë¥Á multicast ¥Þ¥ë¥Á¥­¥ã¥¹¥È multiplexor ¥Þ¥ë¥Á¥×¥ì¥¯¥µ multiprocessor ¥Þ¥ë¥Á¥×¥í¥»¥Ã¥µ muscle ¥Þ¥Ã¥¹¥ë mutant ¥ß¥å¡¼¥¿¥ó¥È mutate ¥ß¥å¡¼¥Æ¡¼¥È mutton ¥Þ¥È¥ó mysterious ¥ß¥¹¥Æ¥ê¥¢¥¹ mystery ¥ß¥¹¥Æ¥ê name ¥Í¡¼¥à naming ¥Í¡¼¥ß¥ó¥° national ¥Ê¥·¥ç¥Ê¥ë neck ¥Í¥Ã¥¯ needs ¥Ë¡¼¥º negate ¥Í¥²¡¼¥È negative ¥Í¥¬¥Æ¥£¥Ö nest ¥Í¥¹¥È net ¥Í¥Ã¥È network ¥Í¥Ã¥È¥ï¡¼¥¯ networking ¥Í¥Ã¥È¥ï¡¼¥­¥ó¥° neural ¥Ë¥å¡¼¥é¥ë neuron ¥Ë¥å¡¼¥í¥ó neutral ¥Ë¥å¡¼¥È¥é¥ë new ¥Ë¥å¡¼ news ¥Ë¥å¡¼¥¹ nickel ¥Ë¥Ã¥±¥ë nickname ¥Ë¥Ã¥¯¥Í¡¼¥à night ¥Ê¥¤¥È node ¥Î¡¼¥É noise ¥Î¥¤¥º noisy ¥Î¥¤¥¸ normal ¥Î¡¼¥Þ¥ë nose ¥Î¡¼¥º note ¥Î¡¼¥È notes ¥Î¡¼¥Ä notice ¥Î¡¼¥Æ¥£¥¹ notify ¥Î¡¼¥Æ¥£¥Õ¥¡¥¤ novel ¥Î¥Ù¥ë novelty ¥Î¥Ù¥ë¥Æ¥£ novice ¥Î¡¼¥Ó¥¹ nuclear ¥Ë¥å¡¼¥¯¥ê¥¢ nude ¥Ì¡¼¥É null ¥Ê¥ë number ¥Ê¥ó¥Ð¡¼ nylon ¥Ê¥¤¥í¥ó oasis ¥ª¥¢¥·¥¹ object ¥ª¥Ö¥¸¥§¥¯¥È objective ¥ª¥Ö¥¸¥§¥¯¥Æ¥£¥Ö objet ¥ª¥Ö¥¸¥§¥¯¥È oboe ¥ª¡¼¥Ü¥¨ observer ¥ª¥Ö¥¶¡¼¥Ð ocean ¥ª¡¼¥·¥ã¥ó octal ¥ª¥¯¥¿¥ë octave ¥ª¥¯¥¿¡¼¥Ö octet ¥ª¥¯¥Æ¥Ã¥È off ¥ª¥Õ office ¥ª¥Õ¥£¥¹ official ¥ª¥Õ¥£¥·¥ã¥ë offline ¥ª¥Õ¥é¥¤¥ó offset ¥ª¥Õ¥»¥Ã¥È old ¥ª¡¼¥ë¥É omega ¥ª¥á¥¬ on ¥ª¥ó online ¥ª¥ó¥é¥¤¥ó only ¥ª¥ó¥ê open ¥ª¡¼¥×¥ó opera ¥ª¥Ú¥é operability ¥ª¥Ú¥é¥Ó¥ê¥Æ¥£ operand ¥ª¥Ú¥é¥ó¥É operating ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° operation ¥ª¥Ú¥ì¡¼¥·¥ç¥ó operational ¥ª¥Ú¥ì¡¼¥·¥ç¥Ê¥ë operations ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥º operator ¥ª¥Ú¥ì¡¼¥¿ optimize ¥ª¥×¥Æ¥£¥Þ¥¤¥º option ¥ª¥×¥·¥ç¥ó optional ¥ª¥×¥·¥ç¥Ê¥ë orange ¥ª¥ì¥ó¥¸ orbit ¥ª¡¼¥Ó¥Ã¥È orchestra ¥ª¡¼¥±¥¹¥È¥é order ¥ª¡¼¥À ordinary ¥ª¡¼¥Ç¥£¥Ê¥ê organ ¥ª¥ë¥¬¥ó orient ¥ª¥ê¥¨¥ó¥È oriental ¥ª¥ê¥¨¥ó¥¿¥ë oriented ¥ª¥ê¥¨¥ó¥Æ¥Ã¥É original ¥ª¥ê¥¸¥Ê¥ë oscillate ¥ª¥·¥ì¡¼¥È oscilloscope ¥ª¥·¥í¥¹¥³¡¼¥× ostrich ¥ª¡¼¥¹¥È¥ê¥Ã¥Á out ¥¢¥¦¥È output ¥¢¥¦¥È¥×¥Ã¥È oven ¥ª¡¼¥Ö¥ó over ¥ª¡¼¥Ð overflow ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ overhead ¥ª¡¼¥Ð¥Ø¥Ã¥É overlay ¥ª¡¼¥Ð¥ì¥¤ ozone ¥ª¥¾¥ó pace ¥Ú¡¼¥¹ pacific ¥Ñ¥·¥Õ¥£¥Ã¥¯ pack ¥Ñ¥Ã¥¯ package ¥Ñ¥Ã¥±¡¼¥¸ packet ¥Ñ¥±¥Ã¥È page ¥Ú¡¼¥¸ pager ¥Ú¡¼¥¸¥ã paging ¥Ú¡¼¥¸¥ó¥° paints ¥Ú¥ó¥­ pair ¥Ú¥¢ pallet ¥Ñ¥ì¥Ã¥È panel ¥Ñ¥Í¥ë panic ¥Ñ¥Ë¥Ã¥¯ panorama ¥Ñ¥Ê¥é¥Þ parabola ¥Ñ¥é¥Ü¥é parachute ¥Ñ¥é¥·¥å¡¼¥È parade ¥Ñ¥ì¡¼¥É paradigm ¥Ñ¥é¥À¥¤¥à paradise ¥Ñ¥é¥À¥¤¥¹ paradox ¥Ñ¥é¥É¥Ã¥¯¥¹ paraffin ¥Ñ¥é¥Õ¥£¥ó parallel ¥Ñ¥é¥ì¥ë parameter ¥Ñ¥é¥á¡¼¥¿ parametron ¥Ñ¥é¥á¥È¥í¥ó parasol ¥Ñ¥é¥½¥ë parity ¥Ñ¥ê¥Æ¥£ park ¥Ñ¡¼¥¯ parse ¥Ñ¡¼¥¹ part ¥Ñ¡¼¥È partition ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó party ¥Ñ¡¼¥Æ¥£ pass ¥Ñ¥¹ passing ¥Ñ¥Ã¥·¥ó¥° passionate ¥Ñ¥Ã¥·¥ç¥Í¡¼¥È passive ¥Ñ¥Ã¥·¥Ö passport ¥Ñ¥¹¥Ý¡¼¥È password ¥Ñ¥¹¥ï¡¼¥É paste ¤Ú¡¼¥¹¥È patch ¥Ñ¥Ã¥Á patchwork ¥Ñ¥Ã¥Á¥ï¡¼¥¯ path ¥Ñ¥¹ patrol ¥Ñ¥È¥í¡¼¥ë pattern ¥Ñ¥¿¡¼¥ó peach ¥Ô¡¼¥Á peak ¥Ô¡¼¥¯ peaky ¥Ô¡¼¥­¡¼ pedal ¥Ú¥À¥ë pedestal ¥Ú¥Ç¥¹¥¿¥ë pen ¥Ú¥ó pendant ¥Ú¥ó¥À¥ó¥È pending ¥Ú¥ó¥Ç¥£¥ó¥° pension ¥Ú¥ó¥·¥ç¥ó peptide ¥Ú¥×¥Á¥É percent ¥Ñ¡¼¥»¥ó¥È percentage ¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸ percussion ¥Ñ¡¼¥«¥Ã¥·¥ç¥ó performance ¥Ñ¡¼¥Õ¥©¥Þ¥ó¥¹ period ¥Ô¥ê¥ª¥É peripheral ¥Ú¥ê¥Õ¥§¥é¥ë permanent ¥Ñ¡¼¥Þ¥Í¥ó¥È permission ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó permutation ¥Ñ¡¼¥ß¥å¥Æ¡¼¥·¥ç¥ó personal ¥Ñ¡¼¥½¥Ê¥ë pet ¥Ú¥Ã¥È phantom ¥Õ¥¡¥ó¥È¥à phase ¥Õ¥§¡¼¥º philosophy ¥Õ¥£¥í¥½¥Õ¥£ phone ¥Õ¥©¥ó photo ¥Õ¥©¥È phrase ¥Õ¥ì¡¼¥º physical ¥Õ¥£¥¸¥«¥ë piano ¥Ô¥¢¥Î picnic ¥Ô¥¯¥Ë¥Ã¥¯ picture ¥Ô¥¯¥Á¥ã pilot ¥Ñ¥¤¥í¥Ã¥È pin ¥Ô¥ó pine ¥Ñ¥¤¥ó pineapple ¥Ñ¥¤¥Ê¥Ã¥×¥ë pipe ¥Ñ¥¤¥× pipeline ¥Ñ¥¤¥×¥é¥¤¥ó pipette ¥Ô¥Ú¥Ã¥È pitch ¥Ô¥Ã¥Á pitcher ¥Ô¥Ã¥Á¥ã¡¼ pivot ¥Ô¥Ü¥Ã¥È pixel ¥Ô¥¯¥»¥ë pizza ¥Ô¥Ã¥Ä¥¡ plain ¥×¥ì¥¤¥ó plan ¥×¥é¥ó plane ¥×¥ì¥¤¥ó plasma ¥×¥é¥º¥Þ plastic ¥×¥é¥¹¥Á¥Ã¥¯ platform ¥Û¡¼¥à play ¥×¥ì¥¤ playground ¥×¥ì¥¤¥°¥é¥ó¥É plot ¥×¥í¥Ã¥È plotter ¥×¥í¥Ã¥¿ plug ¥×¥é¥° plum ¥×¥é¥à plus ¥×¥é¥¹ pocket ¥Ý¥±¥Ã¥È pod ¥Ý¥Ã¥É poem ¥Ý¥¨¥à point ¥Ý¥¤¥ó¥È pointer ¥Ý¥¤¥ó¥¿ pointing ¥Ý¥¤¥ó¥Æ¥£¥ó¥° pole ¥Ý¡¼¥ë policy ¥Ý¥ê¥· polish ¥Ý¥ê¥Ã¥·¥å poll ¥Ý¡¼¥ë polling ¥Ý¡¼¥ê¥ó¥° polyester ¥Ý¥ê¥¨¥¹¥Æ¥ë polygon ¥Ý¥ê¥´¥ó polymorphic ¥Ý¥ê¥â¥ë¥Õ¥£¥Ã¥¯ polymorphism ¥Ý¥ê¥â¥ë¥Õ¥£¥º¥à pomp ¥Ý¥ó¥× pool ¥×¡¼¥ë poor ¥×¥¢ pop ¥Ý¥Ã¥× popular ¥Ý¥Ô¥å¥é¡¼ port ¥Ý¡¼¥È portability ¥Ý¡¼¥¿¥Ó¥ê¥Æ¥£ portable ¥Ý¡¼¥¿¥Ö¥ë position ¥Ý¥¸¥·¥ç¥ó positive ¥Ý¥¸¥Æ¥£¥Ö post ¥Ý¥¹¥È postamble ¥Ý¥¹¥È¥¢¥ó¥Ö¥ë postfix ¥Ý¥¹¥È¥Õ¥£¥Ã¥¯¥¹ postmaster ¥Ý¥¹¥È¥Þ¥¹¥¿¡¼ postprocessor ¥Ý¥¹¥È¥×¥í¥»¥Ã¥µ postscript ¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È potential ¥Ý¥Æ¥ó¥·¥ã¥ë pound ¥Ý¥ó¥É powder ¥Ñ¥¦¥À¡¼ power ¥Ñ¥ï¡¼ powerful ¥Ñ¥ï¥Õ¥ë pragmatics ¥×¥é¥°¥Þ¥Æ¥£¥¯¥¹ preamble ¥×¥ê¥¢¥ó¥Ö¥ë precedence ¥×¥ì¥·¥Ç¥ó¥¹ predicate ¥×¥ì¥Ç¥£¥±¡¼¥È preemption ¥×¥ê¥¨¥ó¥×¥·¥ç¥ó preemptive ¥×¥ê¥¨¥ó¥×¥Æ¥£¥Ö prefix ¥×¥ì¥Õ¥£¥Ã¥¯¥¹ preprocessor ¥×¥ê¥×¥í¥»¥Ã¥µ present ¥×¥ì¥¼¥ó¥È presentate ¥×¥ì¥¼¥ó¥Æ¡¼¥È presentation ¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó presentator ¥×¥ì¥¼¥ó¥Æ¡¼¥¿ president ¥×¥ì¥¸¥Ç¥ó¥È pressure ¥×¥ì¥Ã¥·¥ã preview ¥×¥ì¥Ó¥å¡¼ previewer ¥×¥ì¥Ó¥å¥¢¡¼ primary ¥×¥é¥¤¥Þ¥ê prime ¥×¥é¥¤¥à primitive ¥×¥ê¥ß¥Æ¥£¥Ö print ¥×¥ê¥ó¥È printer ¥×¥ê¥ó¥¿ printing ¥×¥ê¥ó¥Æ¥£¥ó¥° priority ¥×¥é¥¤¥ª¥ê¥Æ¥£ prism ¥×¥ê¥º¥à privacy ¥×¥é¥¤¥Ð¥· private ¥×¥é¥¤¥Ù¡¼¥È probe ¥×¥í¡¼¥Ö procedure ¥×¥í¥·¥¸¥ã process ¥×¥í¥»¥¹ processing ¥×¥í¥»¥Ã¥·¥ó¥° processor ¥×¥í¥»¥Ã¥µ produce ¥×¥í¥Ç¥å¡¼¥¹ product ¥×¥í¥À¥¯¥È production ¥×¥í¥À¥¯¥·¥ç¥ó professor ¥×¥í¥Õ¥§¥Ã¥µ profiler ¥×¥í¥Õ¥¡¥¤¥é program ¥×¥í¥°¥é¥à programmable ¥×¥í¥°¥é¥Þ¥Ö¥ë programmer ¥×¥í¥°¥é¥Þ programming ¥×¥í¥°¥é¥ß¥ó¥° project ¥×¥í¥¸¥§¥¯¥È promenade ¥×¥í¥Þ¥Ê¡¼¥É promote ¥×¥í¥â¡¼¥È promotion ¥×¥í¥â¡¼¥·¥ç¥ó prompt ¥×¥í¥ó¥×¥È propagation ¥×¥í¥Ñ¥²¡¼¥·¥ç¥ó propeller ¥×¥í¥Ú¥é property ¥×¥í¥Ñ¥Æ¥£ proportion ¥×¥í¥Ý¡¼¥·¥ç¥ó proposal ¥×¥í¥Ý¡¼¥¶¥ë propose ¥×¥í¥Ý¡¼¥º protect ¥×¥í¥Æ¥¯¥È protection ¥×¥í¥Æ¥¯¥·¥ç¥ó protocol ¥×¥í¥È¥³¥ë prototype ¥×¥í¥È¥¿¥¤¥× prototyping ¥×¥í¥È¥¿¥¤¥Ô¥ó¥° psycho ¥µ¥¤¥³ public ¥Ñ¥Ö¥ê¥Ã¥¯ publication ¥Ñ¥Ö¥ê¥±¡¼¥·¥ç¥ó publishing ¥Ñ¥Ö¥ê¥Ã¥·¥ó¥° pulse ¥Ñ¥ë¥¹ pumpkin ¥Ñ¥ó¥×¥­¥ó punch ¥Ñ¥ó¥Á puncture ¥Ñ¥ó¥¯ punk ¥Ñ¥ó¥¯ pure ¥Ô¥å¥¢ push ¥×¥Ã¥·¥å put ¥×¥Ã¥È puzzle ¥Ñ¥º¥ë pyramid ¥Ô¥é¥ß¥Ã¥É quad ¥¯¥¢¥É qualify ¥¯¥ª¥ê¥Õ¥¡¥¤ quality ¥¯¥ª¥ê¥Æ¥£ queue ¥­¥å¡¼ quick ¥¯¥¤¥Ã¥¯ quiz ¥¯¥¤¥º quotation ¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó quote ¥¯¥©¡¼¥È rabbit ¥é¥Ó¥Ã¥È race ¥ì¡¼¥¹ racket ¥é¥±¥Ã¥È radar ¥ì¡¼¥À¡¼ radical ¥é¥¸¥«¥ë radio ¥é¥¸¥ª rail ¥ì¡¼¥ë rain ¥ì¥¤¥ó rainbow ¥ì¥¤¥ó¥Ü¥¦ raincoat ¥ì¥¤¥ó¥³¡¼¥È raise ¥ì¥¤¥º rally ¥é¥ê¡¼ random ¥é¥ó¥À¥à range ¥ì¥ó¥¸ rank ¥é¥ó¥¯ rapid ¥é¥Ô¥Ã¥É rash ¥é¥Ã¥·¥å raster ¥é¥¹¥¿ rate ¥ì¡¼¥È ratio ¥ì¥·¥ª reaction ¥ê¥¢¥¯¥·¥ç¥ó read ¥ê¡¼¥É readability ¥ê¡¼¥À¥Ó¥ê¥Æ¥£ reader ¥ê¡¼¥À ready ¥ì¥Ç¥£ real ¥ê¥¢¥ë realtime ¥ê¥¢¥ë¥¿¥¤¥à rear ¥ê¥¢ reboot ¥ê¥Ö¡¼¥È receipt ¥ì¥·¡¼¥È receive ¥ì¥·¡¼¥Ö receiver ¥ì¥·¡¼¥Ð receptacle ¥ì¥»¥×¥¿¥¯¥ë reception ¥ì¥»¥×¥·¥ç¥ó record ¥ì¥³¡¼¥É recorder ¥ì¥³¡¼¥À recover ¥ê¥«¥Ð recovery ¥ê¥«¥Ð¥ê recruit ¥ê¥¯¥ë¡¼¥È recursion ¥ê¥«¡¼¥¸¥ç¥ó recursive ¥ê¥«¡¼¥·¥Ö red ¥ì¥Ã¥É redirect ¥ê¥À¥¤¥ì¥¯¥È redirection ¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó reduce ¥ê¥Ç¥å¡¼¥¹ reduction ¥ê¥À¥¯¥·¥ç¥ó refer ¥ê¥Õ¥¡ reference ¥ê¥Õ¥¡¥ì¥ó¥¹ reflect ¥ê¥Õ¥ì¥¯¥È reflection ¥ê¥Õ¥ì¥¯¥·¥ç¥ó refrain ¥ê¥Õ¥ì¥¤¥ó refresh ¥ê¥Õ¥ì¥Ã¥·¥å regimental ¥ì¥¸¥á¥ó¥¿¥ë region ¥ê¡¼¥¸¥ç¥ó register ¥ì¥¸¥¹¥¿ regular ¥ì¥®¥å¥é relation ¥ê¥ì¡¼¥·¥ç¥ó relational ¥ê¥ì¡¼¥·¥ç¥Ê¥ë relationship ¥ê¥ì¡¼¥·¥ç¥ó¥·¥Ã¥× relax ¥ê¥é¥Ã¥¯¥¹ release ¥ê¥ê¡¼¥¹ remote ¥ê¥â¡¼¥È removal ¥ê¥à¡¼¥Ð¥ë rename ¥ê¥Í¡¼¥à rendering ¥ì¥ó¥À¥ê¥ó¥° rendezvous ¥é¥ó¥Ç¥Ö repair ¥ê¥Ú¥¢ repeat ¥ê¥Ô¡¼¥È repeater ¥ê¥Ô¡¼¥¿ replace ¥ê¥×¥ì¡¼¥¹ replica ¥ì¥×¥ê¥« replicate ¥ì¥×¥ê¥±¡¼¥È replication ¥ì¥×¥ê¥±¡¼¥·¥ç¥ó reply ¥ê¥×¥é¥¤ report ¥ì¥Ý¡¼¥È repository ¥ê¥Ý¥¸¥È¥ê republic ¥ê¥Ñ¥Ö¥ê¥Ã¥¯ request ¥ê¥¯¥¨¥¹¥È rescue ¥ì¥¹¥­¥å¡¼ research ¥ê¥µ¡¼¥Á reset ¥ê¥»¥Ã¥È resize ¥ê¥µ¥¤¥º resolution ¥ì¥¾¥ê¥å¡¼¥·¥ç¥ó resort ¥ê¥¾¡¼¥È resource ¥ê¥½¡¼¥¹ response ¥ì¥¹¥Ý¥ó¥¹ restart ¥ê¥¹¥¿¡¼¥È restaurant ¥ì¥¹¥È¥é¥ó restore ¥ê¥¹¥È¥¢ result ¥ê¥¶¥ë¥È retain ¥ê¥Æ¥¤¥ó return ¥ê¥¿¡¼¥ó reversal ¥ê¥Ð¡¼¥µ¥ë reverse ¥ê¥Ð¡¼¥¹ reversible ¥ê¥Ð¡¼¥·¥Ö¥ë review ¥ì¥Ó¥å¡¼ revision ¥ê¥Ó¥¸¥ç¥ó ribbon ¥ê¥Ü¥ó rich ¥ê¥Ã¥Á ring ¥ê¥ó¥° ripple ¥ê¥×¥ë road ¥í¡¼¥É roast ¥í¡¼¥¹¥È robot ¥í¥Ü¥Ã¥È rock ¥í¥Ã¥¯ rogue ¥í¡¼¥° roll ¥í¡¼¥ë roman ¥í¡¼¥Þ romance ¥í¥Þ¥ó¥¹ romantic ¥í¥Þ¥ó¥Á¥Ã¥¯ room ¥ë¡¼¥à root ¥ë¡¼¥È round ¥é¥¦¥ó¥É route ¥ë¡¼¥È router ¥ë¡¼¥¿ routine ¥ë¡¼¥Á¥ó routing ¥ë¡¼¥Æ¥£¥ó¥° royal ¥í¥¤¥ä¥ë rule ¥ë¡¼¥ë run ¥é¥ó runtime ¥é¥ó¥¿¥¤¥à saddle ¥µ¥É¥ë sadism ¥µ¥Ç¥£¥º¥à sadist ¥µ¥Ç¥£¥¹¥È safe ¥»¡¼¥Õ safety ¥»¡¼¥Õ¥Æ¥£ sail ¥»¡¼¥ë salad ¥µ¥é¥À salary ¥µ¥é¥ê¡¼ sale ¥»¡¼¥ë salesman ¥»¡¼¥ë¥¹¥Þ¥ó salmon ¥µ¡¼¥â¥ó sample ¥µ¥ó¥×¥ë sand ¥µ¥ó¥É sandal ¥µ¥ó¥À¥ë sandwich ¥µ¥ó¥É¥¤¥Ã¥Á sanitary ¥µ¥Ë¥¿¥ê satellite ¥µ¥Æ¥é¥¤¥È save ¥»¡¼¥Ö scalar ¥¹¥«¥é scale ¥¹¥±¡¼¥ë scaling ¥¹¥±¡¼¥ê¥ó¥° scanner ¥¹¥­¥ã¥Ê scarf ¥¹¥«¡¼¥Õ scene ¥·¡¼¥ó schedule ¥¹¥±¥¸¥å¡¼¥ë scheduler ¥¹¥±¥¸¥å¡¼¥é scheduling ¥¹¥±¥¸¥å¡¼¥ê¥ó¥° schema ¥¹¥­¡¼¥Þ school ¥¹¥¯¡¼¥ë science ¥µ¥¤¥¨¥ó¥¹ scooter ¥¹¥¯¡¼¥¿¡¼ scope ¥¹¥³¡¼¥× score ¥¹¥³¥¢ screen ¥¹¥¯¥ê¡¼¥ó screening ¥¹¥¯¥ê¡¼¥Ë¥ó¥° scribe ¥¹¥¯¥é¥¤¥Ö script ¥¹¥¯¥ê¥×¥È scroll ¥¹¥¯¥í¡¼¥ë scuba ¥¹¥­¥å¡¼¥Ð search ¥µ¡¼¥Á season ¥·¡¼¥º¥ó seat ¥·¡¼¥È second ¥»¥«¥ó¥É secondary ¥»¥«¥ó¥À¥ê secret ¥·¡¼¥¯¥ì¥Ã¥È secretary ¥»¥¯¥ì¥¿¥ê sect ¥»¥¯¥È section ¥»¥¯¥·¥ç¥ó sector ¥»¥¯¥¿ secure ¥»¥­¥å¥¢ security ¥»¥­¥å¥ê¥Æ¥£ seek ¥·¡¼¥¯ segment ¥»¥°¥á¥ó¥È segmentation ¥»¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó select ¥»¥ì¥¯¥È selecting ¥»¥ì¥¯¥Æ¥£¥ó¥° selector ¥»¥ì¥¯¥¿ self ¥»¥ë¥Õ semantic ¥»¥Þ¥ó¥Æ¥£¥Ã¥¯ semantics ¥»¥Þ¥ó¥Æ¥£¥Ã¥¯¥¹ semaphore ¥»¥Þ¥Õ¥© semi ¥»¥ß semicolon ¥»¥ß¥³¥í¥ó seminar ¥»¥ß¥Ê¡¼ send ¥»¥ó¥É senior ¥·¥Ë¥¢ sense ¥»¥ó¥¹ sensitive ¥»¥ó¥·¥Æ¥£¥Ö sensor ¥»¥ó¥µ sentence ¥»¥ó¥Æ¥ó¥¹ separate ¥»¥Ñ¥ì¡¼¥È sepia ¥»¥Ô¥¢ sequence ¥·¡¼¥±¥ó¥¹ sequent ¥·¡¼¥±¥ó¥È sequential ¥·¡¼¥±¥ó¥·¥ã¥ë serial ¥·¥ê¥¢¥ë serialize ¥·¥ê¥¢¥é¥¤¥º series ¥·¥ê¡¼¥º server ¥µ¡¼¥Ð service ¥µ¡¼¥Ó¥¹ session ¥»¥Ã¥·¥ç¥ó set ¥»¥Ã¥È settle ¥»¥È¥ë setup ¥»¥Ã¥È¥¢¥Ã¥× sex ¥»¥Ã¥¯¥¹ sexual ¥»¥¯¥·¥ã¥ë sexy ¥»¥¯¥·¡¼ shading ¥·¥§¡¼¥Ç¥£¥ó¥° shaft ¥·¥ã¥Õ¥È shake ¥·¥§¡¼¥¯ shampoo ¥·¥ã¥ó¥×¡¼ share ¥·¥§¥¢ sharing ¥·¥§¥¢¥ê¥ó¥° sharp ¥·¥ã¡¼¥× sheet ¥·¡¼¥È shell ¥·¥§¥ë shift ¥·¥Õ¥È shock ¥·¥ç¥Ã¥¯ shoes ¥·¥å¡¼¥º shop ¥·¥ç¥Ã¥× short ¥·¥ç¡¼¥È show ¥·¥ç¥¦ shower ¥·¥ã¥ï¡¼ shrink ¥·¥å¥ê¥ó¥¯ shutdown ¥·¥ã¥Ã¥È¥À¥¦¥ó side ¥µ¥¤¥É sight ¥µ¥¤¥È sign ¥µ¥¤¥ó signal ¥·¥°¥Ê¥ë signature ¥·¥°¥Í¥Á¥ã silent ¥µ¥¤¥ì¥ó¥È silk ¥·¥ë¥¯ silver ¥·¥ë¥Ð¡¼ simple ¥·¥ó¥×¥ë simulate ¥·¥ß¥å¥ì¡¼¥È simulation ¥·¥ß¥å¥ì¡¼¥·¥ç¥ó simulator ¥·¥ß¥å¥ì¡¼¥¿ single ¥·¥ó¥°¥ë site ¥µ¥¤¥È size ¥µ¥¤¥º sizing ¥µ¥¤¥¸¥ó¥° skeleton ¥¹¥±¥ë¥È¥ó sketch ¥¹¥±¥Ã¥Á skew ¥¹¥­¥å¡¼ ski ¥¹¥­¡¼ skid ¥¹¥­¥Ã¥É skill ¥¹¥­¥ë skin ¥¹¥­¥ó skip ¥¹¥­¥Ã¥× skirt ¥¹¥«¡¼¥È slacks ¥¹¥é¥Ã¥¯¥¹ slash ¥¹¥é¥Ã¥·¥å slave ¥¹¥ì¡¼¥Ö sleep ¥¹¥ê¡¼¥× slice ¥¹¥é¥¤¥¹ slide ¥¹¥é¥¤¥É slippers ¥¹¥ê¥Ã¥Ñ slot ¥¹¥í¥Ã¥È slow ¥¹¥í¡¼ small ¥¹¥â¡¼¥ë smart ¥¹¥Þ¡¼¥È smash ¥¹¥Þ¥Ã¥·¥å smog ¥¹¥â¥Ã¥° smoke ¥¹¥â¡¼¥¯ smooth ¥¹¥à¡¼¥¹ snap ¥¹¥Ê¥Ã¥× snapshot ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È snow ¥¹¥Î¡¼ soap ¥½¡¼¥× soccer ¥µ¥Ã¥«¡¼ society ¥½¥µ¥¨¥Æ¥£ socket ¥½¥±¥Ã¥È socks ¥½¥Ã¥¯¥¹ soft ¥½¥Õ¥È softcopy ¥½¥Õ¥È¥³¥Ô¡¼ software ¥½¥Õ¥È¥¦¥§¥¢ solar ¥½¡¼¥é¡¼ solid ¥½¥ê¥Ã¥É solo ¥½¥í song ¥½¥ó¥° sonny ¥½¥Ë¡¼ sophia ¥½¥Õ¥£¥¢ sort ¥½¡¼¥È sound ¥µ¥¦¥ó¥É source ¥½¡¼¥¹ space ¥¹¥Ú¡¼¥¹ spade ¥¹¥Ú¡¼¥É special ¥¹¥Ú¥·¥ã¥ë specification ¥¹¥Ú¥·¥Õ¥£¥±¡¼¥·¥ç¥ó spectrum ¥¹¥Ú¥¯¥È¥é¥à speech ¥¹¥Ô¡¼¥Á speed ¥¹¥Ô¡¼¥É spell ¥¹¥Ú¥ë spike ¥¹¥Ñ¥¤¥¯ spin ¥¹¥Ô¥ó spline ¥¹¥×¥é¥¤¥ó split ¥¹¥×¥ê¥Ã¥È spool ¥¹¥×¡¼¥ë spooler ¥¹¥×¡¼¥é spooling ¥¹¥×¡¼¥ê¥ó¥° spoon ¥¹¥×¡¼¥ó sport ¥¹¥Ý¡¼¥Ä sports ¥¹¥Ý¡¼¥Ä spot ¥¹¥Ý¥Ã¥È spotlight ¥¹¥Ý¥Ã¥È¥é¥¤¥È spread ¥¹¥×¥ì¥Ã¥É spy ¥¹¥Ñ¥¤ squash ¥¹¥«¥Ã¥·¥å squeeze ¥¹¥¯¥¤¥º stab ¥¹¥¿¥Ö stack ¥¹¥¿¥Ã¥¯ stackable ¥¹¥¿¥Ã¥«¥Ö¥ë stadium ¥¹¥¿¥¸¥¢¥à staff ¥¹¥¿¥Ã¥Õ stage ¥¹¥Æ¡¼¥¸ stamp ¥¹¥¿¥ó¥× standard ¥¹¥¿¥ó¥À¡¼¥É starlight ¥¹¥¿¡¼¥é¥¤¥È start ¥¹¥¿¡¼¥È state ¥¹¥Æ¡¼¥È statement ¥¹¥Æ¡¼¥È¥á¥ó¥È static ¥¹¥¿¥Æ¥£¥Ã¥¯ station ¥¹¥Æ¡¼¥·¥ç¥ó status ¥¹¥Æ¡¼¥¿¥¹ steak ¥Ó¥Õ¥Æ¥­ steal ¥¹¥Á¡¼¥ë steam ¥¹¥Á¡¼¥à step ¥¹¥Æ¥Ã¥× stereo ¥¹¥Æ¥ì¥ª steroid ¥¹¥Æ¥í¥¤¥É stick ¥¹¥Æ¥£¥Ã¥¯ stile ¥¹¥¿¥¤¥ë stock ¥¹¥È¥Ã¥¯ stockings ¥¹¥È¥Ã¥­¥ó¥° stone ¥¹¥È¡¼¥ó stop ¥¹¥È¥Ã¥× storage ¥¹¥È¥ì¡¼¥¸ store ¥¹¥È¥¢ storm ¥¹¥È¡¼¥à story ¥¹¥È¡¼¥ê stove ¥¹¥È¡¼¥Ö straight ¥¹¥È¥ì¡¼¥È strap ¥¹¥È¥é¥Ã¥× strategy ¥¹¥È¥é¥Æ¥¸¡¼ strawberry ¥¹¥È¥í¥Ù¥ê¡¼ stream ¥¹¥È¥ê¡¼¥à streamer ¥¹¥È¥ê¡¼¥Þ street ¥¹¥È¥ê¡¼¥È stretch ¥¹¥È¥ì¥Ã¥Á string ¥¹¥È¥ê¥ó¥° strobe ¥¹¥È¥í¡¼¥Ö stroke ¥¹¥È¥í¡¼¥¯ strove ¥¹¥È¥í¡¼¥Ö struct ¥¹¥È¥é¥¯¥È structure ¥¹¥È¥é¥¯¥Á¥ã stud ¥¹¥¿¥Ã¥É style ¥¹¥¿¥¤¥ë sub ¥µ¥Ö subclass ¥µ¥Ö¥¯¥é¥¹ subdomain ¥µ¥Ö¥É¥á¥¤¥ó subject ¥µ¥Ö¥¸¥§¥¯¥È submit ¥µ¥Ö¥ß¥Ã¥È subnet ¥µ¥Ö¥Í¥Ã¥È subnetting ¥µ¥Ö¥Í¥Ã¥Æ¥£¥ó¥° subroutine ¥µ¥Ö¥ë¡¼¥Á¥ó subset ¥µ¥Ö¥»¥Ã¥È success ¥µ¥¯¥»¥¹ successor ¥µ¥¯¥»¥Ã¥µ suit ¥¹¡¼¥È suitcase ¥¹¡¼¥Ä¥±¡¼¥¹ summary ¥µ¥Þ¥ê summit ¥µ¥ß¥Ã¥È super ¥¹¡¼¥Ñ¡¼ superclass ¥¹¡¼¥Ñ¡¼¥¯¥é¥¹ supermarket ¥¹¡¼¥Ñ¡¼ supervise ¥¹¡¼¥Ñ¥Ð¥¤¥º supervisor ¥¹¡¼¥Ñ¥Ð¥¤¥¶ supply ¥µ¥×¥é¥¤ support ¥µ¥Ý¡¼¥È surface ¥µ¡¼¥Õ¥§¥¹ surfboard ¥µ¡¼¥Õ¥Ü¡¼ surge ¥µ¡¼¥¸ survey ¥µ¡¼¥Ù¥¤ suspend ¥µ¥¹¥Ú¥ó¥É sustain ¥µ¥¹¥Æ¥¤¥ó swap ¥¹¥ï¥Ã¥× swapping ¥¹¥ï¥Ã¥Ô¥ó¥° sweep ¥¹¥¤¡¼¥× switch ¥¹¥¤¥Ã¥Á switching ¥¹¥¤¥Ã¥Á¥ó¥° symbol ¥·¥ó¥Ü¥ë symbolic ¥·¥ó¥Ü¥ê¥Ã¥¯ symbolics ¥·¥ó¥Ü¥ê¥Ã¥¯¥¹ symposium ¥·¥ó¥Ý¥¸¥¦¥à synchronous ¥·¥ó¥¯¥í¥Ê¥¹ synonym ¥·¥Î¥Ë¥à syntax ¥·¥ó¥¿¥Ã¥¯¥¹ synthesizer ¥·¥ó¥»¥µ¥¤¥¶¡¼ system ¥·¥¹¥Æ¥à systematic ¥·¥¹¥Æ¥Þ¥Æ¥£¥Ã¥¯ systemcall ¥·¥¹¥Æ¥à¥³¡¼¥ë systems ¥·¥¹¥Æ¥à¥º systolic ¥·¥¹¥È¥ê¥Ã¥¯ tab ¥¿¥Ö table ¥Æ¡¼¥Ö¥ë tablet ¥¿¥Ö¥ì¥Ã¥È taboo ¥¿¥Ö¡¼ tabulation ¥¿¥Ö tag ¥¿¥° tail ¥Æ¥¤¥ë tandem ¥¿¥ó¥Ç¥à tank ¥¿¥ó¥¯ tap ¥¿¥Ã¥× tape ¥Æ¡¼¥× target ¥¿¡¼¥²¥Ã¥È task ¥¿¥¹¥¯ tasking ¥¿¥¹¥­¥ó¥° taste ¥Æ¥¤¥¹¥È tautology ¥È¡¼¥È¥í¥¸¡¼ taxi ¥¿¥¯¥·¡¼ team ¥Á¡¼¥à technic ¥Æ¥¯¥Ë¥Ã¥¯ technical ¥Æ¥¯¥Ë¥«¥ë technique ¥Æ¥¯¥Ë¥Ã¥¯ technology ¥Æ¥¯¥Î¥í¥¸ telepathy ¥Æ¥ì¥Ñ¥·¡¼ telephone ¥Æ¥ì¥Õ¥©¥ó television ¥Æ¥ì¥Ó¥¸¥ç¥ó telex ¥Æ¥ì¥Ã¥¯¥¹ tempo ¥Æ¥ó¥Ý temporary ¥Æ¥ó¥Ý¥é¥ê tennis ¥Æ¥Ë¥¹ tension ¥Æ¥ó¥·¥ç¥ó term ¥¿¡¼¥à terminal ¥¿¡¼¥ß¥Ê¥ë terminate ¥¿¡¼¥ß¥Í¡¼¥È terminator ¥¿¡¼¥ß¥Í¡¼¥¿ terrace ¥Æ¥é¥¹ territory ¥Æ¥ê¥È¥ê test ¥Æ¥¹¥È text ¥Æ¥­¥¹¥È texture ¥Æ¥¯¥¹¥Á¥ã theme ¥Æ¡¼¥Þ theory ¥»¥ª¥ê¡¼ thermo ¥µ¡¼¥â thesaurus ¥·¥½¡¼¥é¥¹ thesis ¥Æ¡¼¥¼ thread ¥¹¥ì¥Ã¥É thrill ¥¹¥ê¥ë through ¥¹¥ë¡¼ throughput ¥¹¥ë¡¼¥×¥Ã¥È tic ¥Æ¥£¥Ã¥¯ ticket ¥Á¥±¥Ã¥È tie ¥¿¥¤ tight ¥¿¥¤¥È tile ¥¿¥¤¥ë time ¥¿¥¤¥à timeout ¥¿¥¤¥à¥¢¥¦¥È timer ¥¿¥¤¥Þ timing ¥¿¥¤¥ß¥ó¥° tiny ¥¿¥¤¥Ë¡¼ tip ¥Á¥Ã¥× tire ¥¿¥¤¥ä title ¥¿¥¤¥È¥ë toggle ¥È¥°¥ë toilet ¥È¥¤¥ì token ¥È¡¼¥¯¥ó tolerancy ¥È¥ì¥é¥ó¥· tolerant ¥È¥ì¥é¥ó¥È tomato ¥È¥Þ¥È tongue ¥¿¥ó tool ¥Ä¡¼¥ë toolkit ¥Ä¡¼¥ë¥­¥Ã¥È top ¥È¥Ã¥× topology ¥È¥Ý¥í¥¸ torn ¥È¡¼¥ó total ¥È¡¼¥¿¥ë touch ¥¿¥Ã¥Á tour ¥Ä¥¢¡¼ tourist ¥Ä¡¼¥ê¥¹¥È tournament ¥È¡¼¥Ê¥á¥ó¥È town ¥¿¥¦¥ó toy ¥È¥¤ trace ¥È¥ì¡¼¥¹ tracing ¥È¥ì¡¼¥·¥ó¥° track ¥È¥é¥Ã¥¯ trade ¥È¥ì¡¼¥É trademark ¥È¥ì¡¼¥É¥Þ¡¼¥¯ tradeoff ¥È¥ì¡¼¥É¥ª¥Õ traffic ¥È¥é¥Õ¥£¥Ã¥¯ train ¥È¥ì¥¤¥ó training ¥È¥ì¡¼¥Ë¥ó¥° transaction ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó transceiver ¥È¥é¥ó¥·¡¼¥Ð transfer ¥È¥é¥ó¥¹¥Õ¥¡ transit ¥È¥é¥ó¥¸¥Ã¥È transition ¥È¥é¥ó¥¸¥·¥ç¥ó translate ¥È¥é¥ó¥¹¥ì¡¼¥È translator ¥È¥é¥ó¥¹¥ì¡¼¥¿¡¼ transmission ¥È¥é¥ó¥¹¥ß¥Ã¥·¥ç¥ó transmit ¥È¥é¥ó¥¹¥ß¥Ã¥È transparency ¥È¥é¥ó¥¹¥Ú¥¢¥ì¥ó¥· transparent ¥È¥é¥ó¥¹¥Ú¥¢¥ì¥ó¥È transport ¥È¥é¥ó¥¹¥Ý¡¼¥È trap ¥È¥é¥Ã¥× trash ¥È¥é¥Ã¥·¥å travel ¥È¥é¥Ù¥ë tree ¥Ä¥ê¡¼ trend ¥È¥ì¥ó¥É trendy ¥È¥ì¥ó¥Ç¥£ trial ¥È¥é¥¤¥¢¥ë triangle ¥È¥é¥¤¥¢¥ó¥°¥ë trick ¥È¥ê¥Ã¥¯ trigger ¥È¥ê¥¬¡¼ trimer ¥È¥ê¥Þ trio ¥È¥ê¥ª trip ¥È¥ê¥Ã¥× tristate ¥È¥é¥¤¥¹¥Æ¡¼¥È trivial ¥È¥ê¥Ó¥¢¥ë trouble ¥È¥é¥Ö¥ë trousers ¥º¥Ü¥ó trump ¥È¥é¥ó¥× trust ¥È¥é¥¹¥È try ¥È¥é¥¤ tube ¥Á¥å¡¼¥Ö tug ¥¿¥° tune ¥Á¥å¡¼¥ó tuning ¥Á¥å¡¼¥Ë¥ó¥° tunnel ¥È¥ó¥Í¥ë turn ¥¿¡¼¥ó turnaround ¥¿¡¼¥ó¥¢¥é¥¦¥ó¥É tutorial ¥Á¥å¡¼¥È¥ê¥¢¥ë twilight ¥È¥ï¥¤¥é¥¤¥È type ¥¿¥¤¥× typeface ¥¿¥¤¥×¥Õ¥§¡¼¥¹ typewriter ¥¿¥¤¥×¥é¥¤¥¿¡¼ typist ¥¿¥¤¥Ô¥¹¥È typography ¥¿¥¤¥Ý¥°¥é¥Õ¥£ ultra ¥¦¥ë¥È¥é umber ¥¢¥ó¥Ð¡¼ under ¥¢¥ó¥À¡¼ unification ¥æ¥Ë¥Õ¥£¥±¡¼¥·¥ç¥ó uniform ¥æ¥Ë¥Õ¥©¡¼¥à unify ¥æ¥Ë¥Õ¥¡¥¤ union ¥æ¥Ë¥ª¥ó unique ¥æ¥Ë¡¼¥¯ unit ¥æ¥Ë¥Ã¥È universal ¥æ¥Ë¥Ð¡¼¥µ¥ë unpack ¥¢¥ó¥Ñ¥Ã¥¯ up ¥¢¥Ã¥× update ¥¢¥Ã¥×¥Ç¡¼¥È upon ¥¢¥Ý¥ó urban ¥¢¡¼¥Ð¥ó user ¥æ¡¼¥¶ utility ¥æ¡¼¥Æ¥£¥ê¥Æ¥£ vacation ¥Ð¥±¡¼¥·¥ç¥ó vaccine ¥ï¥¯¥Á¥ó vacuum ¥Ð¥­¥å¡¼¥à value ¥Ð¥ê¥å¡¼ variety ¥Ð¥é¥¨¥Æ¥£ varnish ¥Ë¥¹ vector ¥Ù¥¯¥¿ vegetarian ¥Ù¥¸¥¿¥ê¥¢¥ó veil ¥Ù¡¼¥ë vendor ¥Ù¥ó¥À verifier ¥Ù¥ê¥Õ¥¡¥¤¥¢ verify ¥Ù¥ê¥Õ¥¡¥¤ version ¥Ð¡¼¥¸¥ç¥ó veteran ¥Ù¥Æ¥é¥ó video ¥Ó¥Ç¥ª view ¥Ó¥å¡¼ vinyl ¥Ó¥Ë¡¼¥ë viola ¥Ó¥ª¥é violate ¥Ð¥¤¥ª¥ì¡¼¥È violation ¥Ð¥¤¥ª¥ì¡¼¥·¥ç¥ó violet ¥Ð¥¤¥ª¥ì¥Ã¥È violin ¥Ð¥¤¥ª¥ê¥ó virtual ¥Ð¡¼¥Á¥ã¥ë virus ¥¦¥£¥ë¥¹ visa ¥Ó¥¶ visitor ¥Ó¥¸¥¿¡¼ visual ¥Ó¥¸¥å¥¢¥ë visualization ¥Ó¥¸¥å¥¢¥ê¥¼¡¼¥·¥ç¥ó vitamin ¥Ó¥¿¥ß¥ó vocabulary ¥Ü¥­¥ã¥Ö¥é¥ê vocal ¥Ü¡¼¥«¥ë volleyball ¥Ð¥ì¡¼¥Ü¡¼¥ë volt ¥Ü¥ë¥È voltage ¥Ü¥ë¥Æ¡¼¥¸ volume ¥Ü¥ê¥å¡¼¥à volunteer ¥Ü¥é¥ó¥Æ¥£¥¢ waist ¥¦¥¨¥¹¥È wait ¥¦¥¨¥¤¥È waltz ¥ï¥ë¥Ä warp ¥ï¡¼¥× watch ¥¦¥©¥Ã¥Á watching ¥¦¥©¥Ã¥Á¥ó¥° wave ¥¦¥§¡¼¥Ö wax ¥ï¥Ã¥¯¥¹ weak ¥¦¥£¡¼¥¯ weight ¥¦¥§¥¤¥È wet ¥¦¥§¥Ã¥È wheel ¥Û¥¤¡¼¥ë white ¥Û¥ï¥¤¥È wide ¥ï¥¤¥É widget ¥¦¥£¥¸¥§¥Ã¥È wife ¥ï¥¤¥Õ wild ¥ï¥¤¥ë¥É wind ¥¦¥¤¥ó¥É window ¥¦¥¤¥ó¥É¥¦ wine ¥ï¥¤¥ó winter ¥¦¥£¥ó¥¿¡¼ wire ¥ï¥¤¥ä wired ¥ï¥¤¥ä¡¼¥É woman ¥¦¡¼¥Þ¥ó wonder ¥ï¥ó¥À¡¼ wool ¥¦¡¼¥ë word ¥ï¡¼¥É work ¥ï¡¼¥¯ workshop ¥ï¥¯¥·¥ç¥Ã¥× workstation ¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó world ¥ï¡¼¥ë¥É worst ¥ï¡¼¥¹¥È write ¥é¥¤¥È writer ¥é¥¤¥¿ writing ¥é¥¤¥Æ¥£¥ó¥° xerox ¥¼¥í¥Ã¥¯¥¹ yacht ¥è¥Ã¥È yank ¥ä¥ó¥¯ yellow ¥¤¥¨¥í¡¼ zero ¥¼¥í zone ¥¾¡¼¥ó zoom ¥º¡¼¥à Canna37p3/dic/phono/Imakefile0100644000076500001200000000751507554213574015364 0ustar shinraadmin/* $Id: Imakefile,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ */ #include "../../Canna.conf" #ifdef __EMX__ SORT = gsort -d CANNAROOT = ..\\.. CMDDIR = $(CANNAROOT)\\cmd FORCPP = $(CMDDIR)\\forcpp\\forcpp.exe PRECPP = $(FORCPP) -7 POSTCPP = $(FORCPP) -8 FORSORT = $(BINDIR)\\forsort\\forsort.exe PRESORT = $(FORSORT) -7 POSTSORT = $(FORSORT) -8 KPDIC = $(CMDDIR)\\kpdic\\kpdic.exe #else SORT = sort -d CANNAROOT = ../.. CMDDIR = $(CANNAROOT)/cmd FORCPP = $(CMDDIR)/forcpp/forcpp PRECPP = $(FORCPP) -7 POSTCPP = $(FORCPP) -8 FORSORT = $(BINDIR)/forsort/forsort PRESORT = $(FORSORT) -7 POSTSORT = $(FORSORT) -8 KPDIC = $(CMDDIR)/kpdic/kpdic #endif ROMAJI_DIC_DEF = -DSHIFT DICDIR = $(cannaLibDir)/dic SAMPLEDIR = $(cannaLibDir)/sample SAMPLESRCDIR = $(cannaLibDir)/sample/src KPDEF = default.kpdef jdaemon.kpdef just.kpdef kaisoku.kpdef kana.kpdef \ lan5.kpdef matsu.kpdef newjis.kpdef romaji.kpdef sokuon.kpdef \ english.kpdef tut.kpdef vje.kpdef wx2+.kpdef CBP = default.cbp jdaemon.cbp just.cbp kaisoku.cbp kana.cbp \ lan5.cbp matsu.cbp newjis.cbp romaji.cbp sokuon.cbp \ english.cbp tut.cbp vje.cbp wx2+.cbp KP = default.kp jdaemon.kp just.kp kaisoku.kp kana.kp \ lan5.kp matsu.kp newjis.kp romaji.kp sokuon.kp \ english.kp tut.kp vje.kp wx2+.kp #ifdef USE_OBSOLETE_STYLE_FILENAME ROMKANA_TABLES = $(KP) #else ROMKANA_TABLES = $(CBP) #endif AllTarget($(ROMKANA_TABLES)) .SUFFIXES: .cbp .kp .kpdef #ifdef __EMX__ .kpdef.kp: $(FORCPP) -7 < $< | $(CPP) $(ROMAJI_DIC_DEF) | $(FORCPP) -8 | $(KPDIC) > $@ .kpdef.cbp: $(FORCPP) -7 < $< | $(CPP) $(ROMAJI_DIC_DEF) | $(FORCPP) -8 | $(KPDIC) > $@ #else .kpdef.kp: $(FORCPP) -7 < $< | $(CPP) $(ROMAJI_DIC_DEF) | $(FORCPP) -8 | $(KPDIC) > `basename $< '.kpdef'`.kp .kpdef.cbp: $(FORCPP) -7 < $< | $(CPP) $(ROMAJI_DIC_DEF) | $(FORCPP) -8 | $(KPDIC) > `basename $< '.kpdef'`.cbp #endif MakeDirectories(install,$(DICDIR)) MakeDirectories(install,$(SAMPLESRCDIR)) InstallMultiple($(ROMKANA_TABLES),$(DICDIR)) #ifdef USE_OBSOLETE_STYLE_FILENAME InstallNonExec(default.kpdef,$(SAMPLESRCDIR)) InstallNonExec(jdaemon.kpdef,$(SAMPLESRCDIR)) InstallNonExec(just.kpdef,$(SAMPLESRCDIR)) InstallNonExec(kaisoku.kpdef,$(SAMPLESRCDIR)) InstallNonExec(kana.kpdef,$(SAMPLESRCDIR)) InstallNonExec(lan5.kpdef,$(SAMPLESRCDIR)) InstallNonExec(matsu.kpdef,$(SAMPLESRCDIR)) InstallNonExec(newjis.kpdef,$(SAMPLESRCDIR)) InstallNonExec(romaji.kpdef,$(SAMPLESRCDIR)) InstallNonExec(sokuon.kpdef,$(SAMPLESRCDIR)) InstallNonExec(english.kpdef,$(SAMPLESRCDIR)) InstallNonExec(tut.kpdef,$(SAMPLESRCDIR)) InstallNonExec(vje.kpdef,$(SAMPLESRCDIR)) InstallNonExec(wx2+.kpdef,$(SAMPLESRCDIR)) #else InstallNamedNonExec(default.kpdef,default.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(jdaemon.kpdef,jdaemon.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(just.kpdef,just.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(kaisoku.kpdef,kaisoku.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(kana.kpdef,kana.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(lan5.kpdef,lan5.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(matsu.kpdef,matsu.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(newjis.kpdef,newjis.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(romaji.kpdef,romaji.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(sokuon.kpdef,sokuon.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(english.kpdef,english.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(tut.kpdef,tut.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(vje.kpdef,vje.ctd,$(SAMPLESRCDIR)) InstallNamedNonExec(wx2+.kpdef,wx2+.ctd,$(SAMPLESRCDIR)) #endif clean:: $(RM) $(ROMKANA_TABLES) depend:: Canna37p3/dic/phono/jdaemon.kpdef0100644000076500001200000001104307554213574016172 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: jdaemon.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ @568 ¤¿¤í¤¦88¡¦1 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° a ¤¢ i ¤¤ u ¤¦ e ¤¨ o ¤ª ka ¤« ki ¤­ ku ¤¯ ke ¤± ko ¤³ sa ¤µ si ¤· su ¤¹ se ¤» so ¤½ ta ¤¿ ti ¤Á tu ¤Ä te ¤Æ to ¤È ¤óa ¤Ê ¤ói ¤Ë ¤óu ¤Ì ¤óe ¤Í ¤óo ¤Î ha ¤Ï hi ¤Ò hu ¤Õ he ¤Ø ho ¤Û ma ¤Þ mi ¤ß mu ¤à me ¤á mo ¤â ya ¤ä yu ¤æ ye ¤¤¤§ yo ¤è ra ¤é ri ¤ê ru ¤ë re ¤ì ro ¤í wa ¤ï wi ¤¤ wu ¤¦ we ¤¨ wo ¤ò ga ¤¬ gi ¤® gu ¤° ge ¤² go ¤´ za ¤¶ zi ¤¸ zu ¤º ze ¤¼ zo ¤¾ da ¤À di ¤Â du ¤Å de ¤Ç do ¤É ba ¤Ð bi ¤Ó bu ¤Ö be ¤Ù bo ¤Ü pa ¤Ñ pi ¤Ô pu ¤× pe ¤Ú po ¤Ý fa ¤Õ¤¡ fi ¤Õ¤£ fu ¤Õ fe ¤Õ¤§ fo ¤Õ¤© ja ¤¸¤ã ji ¤¸ ju ¤¸¤å je ¤¸¤§ jo ¤¸¤ç ca ¤« cu ¤¯ co ¤³ la ¤é li ¤ê lu ¤ë le ¤ì lo ¤í qa ¤¯¤¡ qi ¤¯¤£ qu ¤¯ qe ¤¯¤§ qo ¤¯¤© va ¤¦¡«¤¡ vi ¤¦¡«¤£ vu ¤¦¡« ve ¤¦¡«¤§ vo ¤¦¡«¤© kya ¤­¤ã kyi ¤­¤£ kyu ¤­¤å kye ¤­¤§ kyo ¤­¤ç gya ¤®¤ã gyi ¤®¤£ gyu ¤®¤å gye ¤®¤§ gyo ¤®¤ç sya ¤·¤ã syi ¤·¤£ syu ¤·¤å sye ¤·¤§ syo ¤·¤ç zya ¤¸¤ã zyi ¤¸¤£ zyu ¤¸¤å zye ¤¸¤§ zyo ¤¸¤ç jya ¤¸¤ã jyi ¤¸¤£ jyu ¤¸¤å jye ¤¸¤§ jyo ¤¸¤ç tya ¤Á¤ã tyi ¤Á¤£ tyu ¤Á¤å tye ¤Á¤§ tyo ¤Á¤ç cya ¤Á¤ã cyi ¤Á¤£ cyu ¤Á¤å cye ¤Á¤§ cyo ¤Á¤ç dya ¤Â¤ã dyi ¤Â¤£ dyu ¤Â¤å dye ¤Â¤§ dyo ¤Â¤ç ¤óya ¤Ë¤ã ¤óyi ¤Ë¤£ ¤óyu ¤Ë¤å ¤óye ¤Ë¤§ ¤óyo ¤Ë¤ç hya ¤Ò¤ã hyi ¤Ò¤£ hyu ¤Ò¤å hye ¤Ò¤§ hyo ¤Ò¤ç fya ¤Õ¤ã fyi ¤Õ¤£ fyu ¤Õ¤å fye ¤Õ¤§ fyo ¤Õ¤ç bya ¤Ó¤ã byi ¤Ó¤£ byu ¤Ó¤å bye ¤Ó¤§ byo ¤Ó¤ç pya ¤Ô¤ã pyi ¤Ô¤£ pyu ¤Ô¤å pye ¤Ô¤§ pyo ¤Ô¤ç mya ¤ß¤ã myi ¤ß¤£ myu ¤ß¤å mye ¤ß¤§ myo ¤ß¤ç rya ¤ê¤ã ryi ¤ê¤£ ryu ¤ê¤å rye ¤ê¤§ ryo ¤ê¤ç tsa ¤Ä¤¡ tsi ¤Ä¤£ tsu ¤Ä tse ¤Ä¤§ tso ¤Ä¤© lya ¤ê¤ã lyi ¤ê¤£ lyu ¤ê¤å lye ¤ê¤§ lyo ¤ê¤ç sha ¤·¤ã shi ¤· shu ¤·¤å she ¤·¤§ sho ¤·¤ç tha ¤Æ¤ã thi ¤Æ¤£ thu ¤Æ¤å the ¤Æ¤§ tho ¤Æ¤ç dha ¤Ç¤ã dhi ¤Ç¤£ dhu ¤Ç¤å dhe ¤Ç¤§ dho ¤Ç¤ç cha ¤Á¤ã chi ¤Á chu ¤Á¤å che ¤Á¤§ cho ¤Á¤ç gwa ¤°¤¡ gwi ¤°¤£ gwu ¤°¤¥ gwe ¤°¤§ gwo ¤°¤© qwa ¤¯¤î qwi ¤¯¤£ qwu ¤¯¤¥ qwe ¤¯¤§ qwo ¤¯¤© A ¤¡ I ¤£ U ¤¥ E ¤§ O ¤© TU ¤Ã TSU ¤Ã YA ¤ã YU ¤å YO ¤ç n \0 ¤ó ¤ó\x27 ¤ó mn ¤ó ¤ón ¤ó kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q vv ¤Ã v tch ¤Ã ch \ ¡¡ [ ¡Ì ] ¡Í { ¡Ð } ¡Ñ ^ ¡¼ < ¡¢ > ¡£ @ ¡÷ ~ ¡± ? ¡© ! ¡ª \x22 ¡É \# ¡ô $ ¡ð % ¡ó & ¡õ \x27 ¡Ç \( ¡Ê \) ¡Ë * ¡ö + ¡Ü , ¡¤ - ¡Ý . ¡¥ ` ¡® = ¡á | ¡Ã ; ¡¨ : ¡§ _ ¡² / ¡¿ \\ ¡ï Canna37p3/dic/phono/just.kpdef0100644000076500001200000001015407554213574015544 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: just.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ @568 ¤¿¤í¤¦88¡¦1 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° a ¤¢ i ¤¤ u ¤¦ e ¤¨ o ¤ª ka ¤« ki ¤­ ku ¤¯ ke ¤± ko ¤³ sa ¤µ si ¤· su ¤¹ se ¤» so ¤½ ta ¤¿ ti ¤Á tu ¤Ä te ¤Æ to ¤È na ¤Ê ni ¤Ë nu ¤Ì ne ¤Í no ¤Î ha ¤Ï hi ¤Ò hu ¤Õ he ¤Ø ho ¤Û ma ¤Þ mi ¤ß mu ¤à me ¤á mo ¤â ya ¤ä yi ¤¤ yu ¤æ ye ¤¤¤§ yo ¤è ra ¤é ri ¤ê ru ¤ë re ¤ì ro ¤í wa ¤ï wu ¤¦ wo ¤ò ga ¤¬ gi ¤® gu ¤° ge ¤² go ¤´ za ¤¶ zi ¤¸ zu ¤º ze ¤¼ zo ¤¾ da ¤À di ¤Â du ¤Å de ¤Ç do ¤É ba ¤Ð bi ¤Ó bu ¤Ö be ¤Ù bo ¤Ü pa ¤Ñ pi ¤Ô pu ¤× pe ¤Ú po ¤Ý fa ¤Õ¤¡ fi ¤Õ¤£ fu ¤Õ fe ¤Õ¤§ fo ¤Õ¤© ja ¤¸¤ã ji ¤¸ ju ¤¸¤å je ¤¸¤§ jo ¤¸¤ç kya ¤­¤ã kyi ¤­¤£ kyu ¤­¤å kye ¤­¤§ kyo ¤­¤ç gya ¤®¤ã gyi ¤®¤£ gyu ¤®¤å gye ¤®¤§ gyo ¤®¤ç sya ¤·¤ã syi ¤·¤£ syu ¤·¤å sye ¤·¤§ syo ¤·¤ç zya ¤¸¤ã zyi ¤¸¤£ zyu ¤¸¤å zye ¤¸¤§ zyo ¤¸¤ç tya ¤Á¤ã tyi ¤Á¤£ tyu ¤Á¤å tye ¤Á¤§ tyo ¤Á¤ç dya ¤Â¤ã dyi ¤Â¤£ dyu ¤Â¤å dye ¤Â¤§ dyo ¤Â¤ç nya ¤Ë¤ã nyi ¤Ë¤£ nyu ¤Ë¤å nye ¤Ë¤§ nyo ¤Ë¤ç hya ¤Ò¤ã hyi ¤Ò¤£ hyu ¤Ò¤å hye ¤Ò¤§ hyo ¤Ò¤ç bya ¤Ó¤ã byi ¤Ó¤£ byu ¤Ó¤å bye ¤Ó¤§ byo ¤Ó¤ç pya ¤Ô¤ã pyi ¤Ô¤£ pyu ¤Ô¤å pye ¤Ô¤§ pyo ¤Ô¤ç mya ¤ß¤ã myi ¤ß¤£ myu ¤ß¤å mye ¤ß¤§ myo ¤ß¤ç rya ¤ê¤ã ryi ¤ê¤£ ryu ¤ê¤å rye ¤ê¤§ ryo ¤ê¤ç tsa ¤Ä¤¡ tsi ¤Ä¤£ tsu ¤Ä tse ¤Ä¤§ tso ¤Ä¤© sha ¤·¤ã shi ¤· shu ¤·¤å she ¤·¤§ sho ¤·¤ç cha ¤Á¤ã chi ¤Á chu ¤Á¤å che ¤Á¤§ cho ¤Á¤ç jya ¤¸¤ã jyi ¤¸¤£ jyu ¤¸¤å jye ¤¸¤§ jyo ¤¸¤ç tha ¤Æ¤ã thi ¤Æ¤£ thu ¤Æ¤å the ¤Æ¤§ tho ¤Æ¤ç dha ¤Ç¤ã dhi ¤Ç¤£ dhu ¤Ç¤å dhe ¤Ç¤§ dho ¤Ç¤ç wi ¤¦¤£ we ¤¦¤§ la ¤¡ le ¤§ li ¤£ lo ¤© ltu ¤Ã ltsu ¤Ã lu ¤¥ lya ¤ã lye ¤§ lyi ¤£ lyo ¤ç lyu ¤å n ¤ó n\x27 ¤ó mn ¤ó nn ¤ó kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q vv ¤Ã v tch ¤Ã ch , ¡¢ . ¡£ [ ¡Ö ] ¡× { ¡Ø } ¡Ù ^ ¡° < ¡ã > ¡ä - ¡¼ @- ¡Ý @@ ¡¡ @/ ¡¦ @\\ ¡À @ ¡÷ @, ¡¤ @. ¡¥ @~ ¡Á @|| ¡Â @| ¡Ã @3 ¡Ä @2 ¡Å @( ¡Ê @) ¡Ë @[ ¡Î @] ¡Ï @{ ¡Ð @} ¡Ñ ~ ¡± ? ¡© ! ¡ª \# ¡ô $ ¡ð \x22 ¡É % ¡ó & ¡õ \x27 ¡Ç ` ¡® + ¡Ü * ¡ö = ¡á | ¡Ã ; ¡¨ : ¡§ _ ¡² / ¡¿ \\ ¡ï Canna37p3/dic/phono/kaisoku.kpdef0100644000076500001200000000600307554213574016223 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: kaisoku.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° - ¡¼ = ¡Ü \\ ¡Ý f ¤¢ d ¤¤ s ¤¦ a ¤¨ g ¤ª h \0 £ë £ëf ¤« £ëd ¤­ £ës ¤¯ £ëa ¤± £ëg ¤³ j \0 £ó £óf ¤µ £ód ¤· £ós ¤¹ £óa ¤» £óg ¤½ k \0 £ô £ôf ¤¿ £ôd ¤Á £ôs ¤Ä £ôa ¤Æ £ôg ¤È l \0 £î £îf ¤Ê £îd ¤Ë £îs ¤Ì £îa ¤Í £îg ¤Î ; \0 £è £èf ¤Ï £èd ¤Ò £ès ¤Õ £èa ¤Ø £èg ¤Û y \0 £í £íf ¤Þ £íd ¤ß £ís ¤à £ía ¤á £íg ¤â u \0 £ù £ùf ¤ä £ùs ¤æ £ùg ¤è i \0 £ò £òf ¤é £òd ¤ê £òs ¤ë £òa ¤ì £òg ¤í o \0 £÷ £÷f ¤ï £÷g ¤ò £î ¤ó n \0 £ç £çf ¤¬ £çd ¤® £çs ¤° £ça ¤² £çg ¤´ m \0 £ú £úf ¤¶ £úd ¤¸ £ús ¤º £úa ¤¼ £úg ¤¾ , \0 £ä £äf ¤À £äd ¤Â £äs ¤Å £äa ¤Ç £äg ¤É / \0 £â £âf ¤Ð £âd ¤Ó £âs ¤Ö £âa ¤Ù £âg ¤Ü p \0 £ð £ðf ¤Ñ £ðd ¤Ô £ðs ¤× £ða ¤Ú £ðg ¤Ý £ëu \0 £ë£ù £ë£ùf ¤­¤ã £ë£ùs ¤­¤å £ë£ùg ¤­¤ç £óu \0 £ó£ù £ó£ùf ¤·¤ã £ó£ùs ¤·¤å £ó£ùg ¤·¤ç £ôu \0 £ô£ù £ô£ùf ¤Á¤ã £ô£ùs ¤Á¤å £ô£ùg ¤Á¤ç £îu \0 £î£ù £î£ùf ¤Ë¤ã £î£ùs ¤Ë¤å £î£ùg ¤Ë¤ç £èu \0 £è£ù £è£ùf ¤Ò¤ã £è£ùs ¤Ò¤å £è£ùg ¤Ò¤ç £íu \0 £í£ù £í£ùf ¤ß¤ã £í£ùs ¤Ë¤å £í£ùg ¤ß¤ç £òu \0 £ò£ù £ò£ùf ¤ê¤ã £ò£ùs ¤ê¤å £ò£ùg ¤ê¤ç £çu \0 £ç£ù £ç£ùf ¤®¤ã £ç£ùs ¤®¤å £ç£ùg ¤®¤ç £úu \0 £ú£ù £ú£ùf ¤¸¤ã £ú£ùs ¤¸¤å £ú£ùg ¤¸¤ç £äu \0 £ä£ù £ä£ùf ¤Â¤ã £ä£ùs ¤Â¤å £ä£ùg ¤Â¤ç £âu \0 £â£ù £â£ùf ¤Ó¤ã £â£ùs ¤Ó¤å £â£ùg ¤Ó¤ç £ðu \0 £ð£ù £ð£ùf ¤Ô¤ã £ð£ùs ¤Ô¤å £ð£ùg ¤Ô¤ç e \0 £ê £êf ¤¸¤ã £êd ¤¸ £ês ¤¸¤å £êa ¤¸¤§ £êg ¤¸¤ç r \0 £æ £æf ¤Õ¤¡ £æd ¤Õ¤£ £æs ¤Õ £æa ¤Õ¤§ £æg ¤Õ¤© t \0 £ã £ã; \0 £ã£è £ã£èf ¤Á¤ã £ã£èd ¤Á £ã£ès ¤Á¤å £ã£èa ¤Á¤§ £ã£èg ¤Á¤ç £ó; \0 £ó£è £ó£èf ¤·¤ã £ó£èd ¤· £ó£ès ¤·¤å £ó£èa ¤·¤§ £ó£èg ¤·¤ç £ô; \0 £ô£è £ô£èd ¤Æ¤£ £ä; \0 £ä£è £ä£èd ¤Ç¤£ c \0 £ø £øf ¤¡ £ød ¤£ £øs ¤¥ £øa ¤§ £øg ¤© £øo \0 £ø£÷ £ø£÷f ¤î £øh \0 £ø£ë £ø£ëf ¥õ £ø£ëa ¥ö £ëh ¤Ã £ë £ój ¤Ã £ó £ôk ¤Ã £ô £è; ¤Ã £è £íy ¤Ã £í £ùu ¤Ã £ù £òi ¤Ã £ò £÷o ¤Ã £÷ £çn ¤Ã £ç £úm ¤Ã £ú £ä, ¤Ã £ä £â/ ¤Ã £â £ðp ¤Ã £ð £êe ¤Ã £ê £ær ¤Ã £æ £ãt ¤Ã £ã £øc ¤Ã £ø [ ¡Ä ] ¡Î \x27 ¡§ ` ¡Ï z ¡¿ . ¡¢ x ¡£ Canna37p3/dic/phono/kana.kpdef0100644000076500001200000000646707631176511015500 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: kana.kpdef,v 1.2 2003/03/04 19:23:53 aida_s Exp $ # */ \# ¤¡ E ¤£ $ ¤¥ % ¤§ #ifndef ASCII & ¤© \x27 ¤ã ( ¤å ) ¤ç | ¤ò #else ^ ¤© & ¤ã * ¤å ( ¤ç ) ¤ò #endif Z ¤Ã y ¤ó 3 ¤¢ e ¤¤ 4 ¤¦ 5 ¤¨ 6 ¤ª t \0 ¤« g \0 ¤­ h \0 ¤¯ #ifndef ASCII : \0 ¤± #else \x27 \0 ¤± #endif b \0 ¤³ x \0 ¤µ d \0 ¤· r \0 ¤¹ p \0 ¤» c \0 ¤½ q \0 ¤¿ a \0 ¤Á z \0 ¤Ä w \0 ¤Æ s \0 ¤È u ¤Ê i ¤Ë 1 ¤Ì , ¤Í k ¤Î f \0 ¤Ï v \0 ¤Ò 2 \0 ¤Õ #ifndef ASCII ^ \0 ¤Ø #else = \0 ¤Ø #endif - \0 ¤Û j ¤Þ n ¤ß #ifndef ASCII ] ¤à #else ` ¤à #endif / ¤á m ¤â 7 ¤ä 8 ¤æ 9 ¤è o ¤é l ¤ê . ¤ë ; ¤ì #ifndef ASCII ` ¤í #else | ¤í #endif 0 ¤ï #ifndef ASCII ¤«@ ¤¬ ¤­@ ¤® ¤¯@ ¤° ¤±@ ¤² ¤³@ ¤´ ¤µ@ ¤¶ ¤·@ ¤¸ ¤¹@ ¤º ¤»@ ¤¼ ¤½@ ¤¾ ¤¿@ ¤À ¤Á@ ¤Â ¤Ä@ ¤Å ¤Æ@ ¤Ç ¤È@ ¤É ¤Ï@ ¤Ð ¤Ò@ ¤Ó ¤Õ@ ¤Ö ¤Ø@ ¤Ù ¤Û@ ¤Ü ¤Ï[ ¤Ñ ¤Ò[ ¤Ô ¤Õ[ ¤× ¤Ø[ ¤Ú ¤Û[ ¤Ý #else /* ASCII */ ¤«[ ¤¬ ¤­[ ¤® ¤¯[ ¤° ¤±[ ¤² ¤³[ ¤´ ¤µ[ ¤¶ ¤·[ ¤¸ ¤¹[ ¤º ¤»[ ¤¼ ¤½[ ¤¾ ¤¿[ ¤À ¤Á[ ¤Â ¤Ä[ ¤Å ¤Æ[ ¤Ç ¤È[ ¤É ¤Ï[ ¤Ð ¤Ò[ ¤Ó ¤Õ[ ¤Ö ¤Ø[ ¤Ù ¤Û[ ¤Ü ¤Ï] ¤Ñ ¤Ò] ¤Ô ¤Õ] ¤× ¤Ø] ¤Ú ¤Û] ¤Ý #endif /* ASCII */ > ¡£ < ¡¢ ? ¡¦ { ¡Ö } ¡× \\ ¡¼ #ifndef ASCII [ ¡¬ @ ¡« #else ] ¡¬ [ ¡« #endif #ifdef SHIFT *0 £° *1 £± *2 £² *3 £³ *4 £´ *5 £µ *6 £¶ *7 £· *8 £¸ *9 £¹ *A £Á *B £Â *C £Ã *D £Ä *E £Å *F £Æ *G £Ç *H £È *I £É *J £Ê *K £Ë *L £Ì *M £Í *N £Î *O £Ï *P £Ð *Q £Ñ *R £Ò *S £Ó *T £Ô *U £Õ *V £Ö *W £× *X £Ø *Y £Ù *Z £Ú *a £á *b £â *c £ã *d £ä *e £å *f £æ *g £ç *h £è *i £é *j £ê *k £ë *l £ì *m £í *n £î *o £ï *p £ð *q £ñ *r £ò *s £ó *t £ô *u £õ *v £ö *w £÷ *x £ø *y £ù *z £ú *\ \¡¡ *! ¡ª *@ ¡÷ *\# ¡ô *$ ¡ð *% ¡ó *^ ¡° *& ¡õ ** ¡ö *( ¡Ê *) ¡Ë *- ¡Ý *= ¡á *` ¡® *\\ ¡ï *| ¡Ã *_ ¡² *+ ¡Ü *~ ¡± *[ ¡Î *] ¡Ï *{ ¡Ð *} ¡Ñ *: ¡§ *; ¡¨ *\x22 ¡É *\x27 ¡Ç *< ¡ã *> ¡ä *? ¡© */ ¡¿ *, ¡¤ *. ¡¥ ~0 0 ~1 1 ~2 2 ~3 3 ~4 4 ~5 5 ~6 6 ~7 7 ~8 8 ~9 9 ~A A ~B B ~C C ~D D ~E E ~F F ~G G ~H H ~I I ~J J ~K K ~L L ~M M ~N N ~O O ~P P ~Q Q ~R R ~S S ~T T ~U U ~V V ~W W ~X X ~Y Y ~Z Z ~a a ~b b ~c c ~d d ~e e ~f f ~g g ~h h ~i i ~j j ~k k ~l l ~m m ~n n ~o o ~p p ~q q ~r r ~s s ~t t ~u u ~v v ~w w ~x x ~y y ~z z ~\ \ ~! ! ~@ @ ~\# # ~$ $ ~% % ~^ ^ ~& & ~* * ~( ( ~) ) ~- - ~= = ~` ` ~\\ \\ ~| | ~_ _ ~+ + ~~ ~ ~[ [ ~] ] ~{ { ~} } ~: : ~; ; ~\x22 \x22 ~\x27 \x27 ~< < ~> > ~? ? ~/ / ~, , ~. . #endif /* SHIFT */ Canna37p3/dic/phono/lan5.kpdef0100644000076500001200000000712207554213574015417 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: lan5.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ @568 ¤¿¤í¤¦88¡¦1 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° a ¤¢ i ¤¤ u ¤¦ e ¤¨ o ¤ª ka ¤« ki ¤­ ku ¤¯ ke ¤± ko ¤³ sa ¤µ si ¤· su ¤¹ se ¤» so ¤½ ta ¤¿ ti ¤Á tu ¤Ä te ¤Æ to ¤È na ¤Ê ni ¤Ë nu ¤Ì ne ¤Í no ¤Î ha ¤Ï hi ¤Ò hu ¤Õ he ¤Ø ho ¤Û ma ¤Þ mi ¤ß mu ¤à me ¤á mo ¤â ya ¤ä yu ¤æ yo ¤è ra ¤é ri ¤ê ru ¤ë re ¤ì ro ¤í wa ¤ï wo ¤ò ga ¤¬ gi ¤® gu ¤° ge ¤² go ¤´ za ¤¶ zi ¤¸ zu ¤º ze ¤¼ zo ¤¾ da ¤À di ¤Â du ¤Å de ¤Ç do ¤É ba ¤Ð bi ¤Ó bu ¤Ö be ¤Ù bo ¤Ü pa ¤Ñ pi ¤Ô pu ¤× pe ¤Ú po ¤Ý fa ¤Õ¤¡ fi ¤Õ¤£ fu ¤Õ fe ¤Õ¤§ fo ¤Õ¤© ja ¤¸¤ã ji ¤¸ ju ¤¸¤å je ¤¸¤§ jo ¤¸¤ç la ¤é li ¤ê lu ¤ë le ¤ì lo ¤í va ¤¦¡«¤¡ vi ¤¦¡«¤£ vu ¤¦¡« ve ¤¦¡«¤§ vo ¤¦¡«¤© kya ¤­¤ã kyu ¤­¤å kyo ¤­¤ç gya ¤®¤ã gyu ¤®¤å gyo ¤®¤ç sya ¤·¤ã syu ¤·¤å syo ¤·¤ç zya ¤¸¤ã zyu ¤¸¤å zyo ¤¸¤ç tya ¤Á¤ã tyu ¤Á¤å tyo ¤Á¤ç dya ¤Â¤ã dyu ¤Â¤å dyo ¤Â¤ç nya ¤Ë¤ã nyu ¤Ë¤å nyo ¤Ë¤ç hya ¤Ò¤ã hyu ¤Ò¤å hyo ¤Ò¤ç fya ¤Õ¤ã fyu ¤Õ¤å fyo ¤Õ¤ç bya ¤Ó¤ã byu ¤Ó¤å byo ¤Ó¤ç pya ¤Ô¤ã pyu ¤Ô¤å pyo ¤Ô¤ç mya ¤ß¤ã myu ¤ß¤å myo ¤ß¤ç rya ¤ê¤ã ryu ¤ê¤å ryo ¤ê¤ç tsu ¤Ä lya ¤ê¤ã lyu ¤ê¤å lyo ¤ê¤ç sha ¤·¤ã shi ¤· shu ¤·¤å she ¤·¤§ sho ¤·¤ç tha ¤Æ¤ã thi ¤Æ¤£ thu ¤Æ¤å the ¤Æ¤§ tho ¤Æ¤ç cha ¤Á¤ã chi ¤Á chu ¤Á¤å che ¤Á¤§ cho ¤Á¤ç A ¤¡ I ¤£ U ¤¥ E ¤§ O ¤© TU ¤Ã TSU ¤Ã YA ¤ã YU ¤å YO ¤ç n ¤ó n7 ¤ó mn ¤ó kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q vv ¤Ã v tch ¤Ã ch \ ¡¡ { ¡Ö } ¡× ^ ¡¼ < ¡¢ > ¡£ ? ¡¦ \\ ¡¼ \x27 ¤ã \( ¤å \) ¤ç Canna37p3/dic/phono/matsu.kpdef0100644000076500001200000001125407554213574015712 0ustar shinraadmin#define copyright /* # # Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # $Id: matsu.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° a ¤¢ i ¤¤ u ¤¦ e ¤¨ o ¤ª ka ¤« ki ¤­ ku ¤¯ ke ¤± ko ¤³ sa ¤µ si ¤· su ¤¹ se ¤» so ¤½ ta ¤¿ ti ¤Á tu ¤Ä te ¤Æ to ¤È na ¤Ê ni ¤Ë nu ¤Ì ne ¤Í no ¤Î ha ¤Ï hi ¤Ò hu ¤Õ he ¤Ø ho ¤Û ma ¤Þ mi ¤ß mu ¤à me ¤á mo ¤â ya ¤ä yi ¤¤ yu ¤æ ye ¤¤¤§ yo ¤è ra ¤é ri ¤ê ru ¤ë re ¤ì ro ¤í wa ¤ï wu ¤¦ wo ¤ò ga ¤¬ gi ¤® gu ¤° ge ¤² go ¤´ za ¤¶ zi ¤¸ zu ¤º ze ¤¼ zo ¤¾ da ¤À di ¤Â du ¤Å de ¤Ç do ¤É ba ¤Ð bi ¤Ó bu ¤Ö be ¤Ù bo ¤Ü pa ¤Ñ pi ¤Ô pu ¤× pe ¤Ú po ¤Ý va ¤¦¡«¤¡ vi ¤¦¡«¤£ vu ¤¦¡« ve ¤¦¡«¤§ vo ¤¦¡«¤© ca ¤« cu ¤¯ co ¤³ ja ¤¸¤ã ji ¤¸ ju ¤¸¤å je ¤¸¤§ jo ¤¸¤ç fa ¤Õ¤¡ fi ¤Õ¤£ fu ¤Õ fe ¤Õ¤§ fo ¤Õ¤© la ¤é li ¤ê lu ¤ë le ¤ì lo ¤í whi ¤¦¤£ whe ¤¦¤§ who ¤¦¤© kya ¤­¤ã kyi ¤­¤£ kyu ¤­¤å kye ¤­¤§ kyo ¤­¤ç gya ¤®¤ã gyi ¤®¤£ gyu ¤®¤å gye ¤®¤§ gyo ¤®¤ç qwa ¤¯¤î qwi ¤¯¤£ qwu ¤¯¤¥ qwe ¤¯¤§ qwo ¤¯¤© gwa ¤°¤¡ gwi ¤°¤£ gwu ¤°¤¥ gwe ¤°¤§ gwo ¤°¤© sha ¤·¤ã shi ¤· shu ¤·¤å she ¤·¤§ sho ¤·¤ç sya ¤·¤ã syi ¤·¤£ syu ¤·¤å sye ¤·¤§ syo ¤·¤ç zya ¤¸¤ã zyi ¤¸¤£ zyu ¤¸¤å zye ¤¸¤§ zyo ¤¸¤ç jya ¤¸¤ã jyi ¤¸¤£ jyu ¤¸¤å jye ¤¸¤§ jyo ¤¸¤ç tya ¤Á¤ã tyi ¤Á¤£ tyu ¤Á¤å tye ¤Á¤§ tyo ¤Á¤ç cha ¤Á¤ã chi ¤Á chu ¤Á¤å che ¤Á¤§ cho ¤Á¤ç cya ¤Á¤ã cyi ¤Á¤£ cyu ¤Á¤å cye ¤Á¤§ cyo ¤Á¤ç dya ¤Â¤ã dyi ¤Â¤£ dyu ¤Â¤å dye ¤Â¤§ dyo ¤Â¤ç tsa ¤Ä¤¡ tsi ¤Ä¤£ tsu ¤Ä tse ¤Ä¤§ tso ¤Ä¤© tha ¤Æ¤ã thi ¤Æ¤£ thu ¤Æ¤å the ¤Æ¤§ tho ¤Æ¤ç dha ¤Ç¤ã dhi ¤Ç¤£ dhu ¤Ç¤å dhe ¤Ç¤§ dho ¤Ç¤ç nya ¤Ë¤ã nyi ¤Ë¤£ nyu ¤Ë¤å nye ¤Ë¤§ nyo ¤Ë¤ç hya ¤Ò¤ã hyi ¤Ò¤£ hyu ¤Ò¤å hye ¤Ò¤§ hyo ¤Ò¤ç bya ¤Ó¤ã byi ¤Ó¤£ byu ¤Ó¤å bye ¤Ó¤§ byo ¤Ó¤ç pya ¤Ô¤ã pyi ¤Ô¤£ pyu ¤Ô¤å pye ¤Ô¤§ pyo ¤Ô¤ç mya ¤ß¤ã myi ¤ß¤£ myu ¤ß¤å mye ¤ß¤§ myo ¤ß¤ç rya ¤ê¤ã ryi ¤ê¤£ ryu ¤ê¤å rye ¤ê¤§ ryo ¤ê¤ç lya ¤ê¤ã lyi ¤ê¤£ lyu ¤ê¤å lye ¤ê¤§ lyo ¤ê¤ç A ¤¡ I ¤£ U ¤¥ E ¤§ O ¤© xa ¤¡ xi ¤£ xu ¤¥ xe ¤§ xo ¤© WA ¤î TU ¤Ã TSU ¤Ã xwa ¤î xtu ¤Ã xtsu ¤Ã YA ¤ã YU ¤å YO ¤ç xya ¤ã xyu ¤å xyo ¤ç n ¤ó n\x27 ¤ó x ¤ó kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q ll ¤Ã l vv ¤Ã v tch ¤Ã ch , ¡¢ . ¡£ [ ¡Ö ] ¡× { ¡Ø } ¡Ù ^ ¡° < ¡ã > ¡ä - ¡¼ @- ¡Ý \ ¡¡ @@ ¡¡ @/ ¡¦ @\\ ¡À @ ¡÷ @, ¡¤ @. ¡¥ @~ ¡Á @|| ¡Â @| ¡Ã @3 ¡Ä @2 ¡Å @( ¡Ê @) ¡Ë @[ ¡Î @] ¡Ï @{ ¡Ð @} ¡Ñ ~ ¡± ? ¡© ! ¡ª \# ¡ô $ ¡ð \x22 ¡É % ¡ó & ¡õ \x27 ¡Ç ` ¡® + ¡Ü * ¡ö = ¡á | ¡Ã ; ¡¨ : ¡§ _ ¡² / ¡¿ \\ ¡ï Canna37p3/dic/phono/newjis.kpdef0100644000076500001200000000410607631176511016051 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: newjis.kpdef,v 1.2 2003/03/04 19:23:53 aida_s Exp $ # */ b ¤¢ k ¤¤ j ¤¦ U ¤¨ J ¤ª s \0 ¤« ; \0 ¤­ h \0 ¤¯ w \0 ¤± x \0 ¤³ v \0 ¤µ d \0 ¤· z \0 ¤¹ e \0 ¤» q \0 ¤½ g \0 ¤¿ #ifndef ASCII @ \0 ¤Á #else /* ASCII */ [ \0 ¤Á #endif /* ASCII */ y \0 ¤Ä r \0 ¤Æ f \0 ¤È #ifndef ASCII : ¤Ê #else /* ASCII */ \x27 ¤Ê #endif /* ASCII */ c ¤Ë P ¤Ì V ¤Í i ¤Î a \0 ¤Ï Y \0 ¤Ò R \0 ¤Õ S \0 ¤Ø E \0 ¤Û H ¤Þ I ¤ß N ¤à T ¤á K ¤â O ¤ä #ifndef ASCII + ¤æ #else/* ASCII */ : ¤æ #endif /* ASCII */ G ¤è D ¤é p ¤ê m ¤ë / ¤ì M ¤í L ¤ï o ¤ò u ¤ó Q ¤¡ A ¤£ Z ¤¥ X ¤§ C ¤© B ¤ã F ¤å t ¤ç n ¤Ã #ifndef ASCII ~ ¡Ö * ¡× #else /* ASCII */ { ¡Ö \x22 ¡× #endif /* ASCII */ , ¡¢ . ¡£ < ¡¦ > ¡¼ ¤ÏW ¤Ñ ¤ÒW ¤Ô ¤ÕW ¤× ¤ØW ¤Ú ¤ÛW ¤Ý ¤«l ¤¬ ¤­l ¤® ¤¯l ¤° ¤±l ¤² ¤³l ¤´ ¤µl ¤¶ ¤·l ¤¸ ¤¹l ¤º ¤»l ¤¼ ¤½l ¤¾ ¤¿l ¤À #ifndef ASCII ¤Ál ¤Â #else /* ASCII */ ¤Ál ¤Â #endif /* ASCII */ ¤Äl ¤Å ¤Æl ¤Ç ¤Èl ¤É ¤Ïl ¤Ð ¤Òl ¤Ó ¤Õl ¤Ö ¤Øl ¤Ù ¤Ûl ¤Ü W ¡¬ l ¡« Canna37p3/dic/phono/romaji.kpdef0100644000076500001200000000742307554213574016045 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: romaji.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # # ¥í¡¼¥Þ»ú¥«¥ÊÊÑ´¹¥Æ¡¼¥Ö¥ë # 1988¡¦1 (C) ¤Æ¤é¤ä¡¦¤¦¤Á¤ä¤Þ¡¦¤¹¤¬¤¤ # # ¥í¡¼¥Þ»ú¼­½ñ¤ÎºîÀ®ÊýË¡ # /lib/cpp .rdic | sort | crrdic > .rdef # */ @568 ¤¿¤í¤¦88¡¦1 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° a ¤¢ i ¤¤ u ¤¦ e ¤¨ o ¤ª ka ¤« ki ¤­ ku ¤¯ ke ¤± ko ¤³ sa ¤µ si ¤· su ¤¹ se ¤» so ¤½ ta ¤¿ ti ¤Á tu ¤Ä te ¤Æ to ¤È na ¤Ê ni ¤Ë nu ¤Ì ne ¤Í no ¤Î ha ¤Ï hi ¤Ò hu ¤Õ he ¤Ø ho ¤Û ma ¤Þ mi ¤ß mu ¤à me ¤á mo ¤â ya ¤ä yi ¤¤ yu ¤æ ye ¤¤¤§ yo ¤è ra ¤é ri ¤ê ru ¤ë re ¤ì ro ¤í wa ¤ï wu ¤¦ wo ¤ò ga ¤¬ gi ¤® gu ¤° ge ¤² go ¤´ za ¤¶ zi ¤¸ zu ¤º ze ¤¼ zo ¤¾ da ¤À di ¤Â du ¤Å de ¤Ç do ¤É ba ¤Ð bi ¤Ó bu ¤Ö be ¤Ù bo ¤Ü pa ¤Ñ pi ¤Ô pu ¤× pe ¤Ú po ¤Ý fa ¤Õ¤¡ fi ¤Õ¤£ fu ¤Õ fe ¤Õ¤§ fo ¤Õ¤© ja ¤¸¤ã ji ¤¸ ju ¤¸¤å je ¤¸¤§ jo ¤¸¤ç kya ¤­¤ã kyi ¤­¤£ kyu ¤­¤å kye ¤­¤§ kyo ¤­¤ç gya ¤®¤ã gyi ¤®¤£ gyu ¤®¤å gye ¤®¤§ gyo ¤®¤ç sya ¤·¤ã syi ¤·¤£ syu ¤·¤å sye ¤·¤§ syo ¤·¤ç zya ¤¸¤ã zyi ¤¸¤£ zyu ¤¸¤å zye ¤¸¤§ zyo ¤¸¤ç tya ¤Á¤ã tyi ¤Á¤£ tyu ¤Á¤å tye ¤Á¤§ tyo ¤Á¤ç dya ¤Â¤ã dyi ¤Â¤£ dyu ¤Â¤å dye ¤Â¤§ dyo ¤Â¤ç nya ¤Ë¤ã nyi ¤Ë¤£ nyu ¤Ë¤å nye ¤Ë¤§ nyo ¤Ë¤ç hya ¤Ò¤ã hyi ¤Ò¤£ hyu ¤Ò¤å hye ¤Ò¤§ hyo ¤Ò¤ç bya ¤Ó¤ã byi ¤Ó¤£ byu ¤Ó¤å bye ¤Ó¤§ byo ¤Ó¤ç pya ¤Ô¤ã pyi ¤Ô¤£ pyu ¤Ô¤å pye ¤Ô¤§ pyo ¤Ô¤ç mya ¤ß¤ã myi ¤ß¤£ myu ¤ß¤å mye ¤ß¤§ myo ¤ß¤ç rya ¤ê¤ã ryi ¤ê¤£ ryu ¤ê¤å rye ¤ê¤§ ryo ¤ê¤ç tsa ¤Ä¤¡ tsi ¤Ä¤£ tsu ¤Ä tse ¤Ä¤§ tso ¤Ä¤© sha ¤·¤ã shi ¤· shu ¤·¤å she ¤·¤§ sho ¤·¤ç cha ¤Á¤ã chi ¤Á chu ¤Á¤å che ¤Á¤§ cho ¤Á¤ç n ¤ó n\x27 ¤ó mn ¤ó kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q vv ¤Ã v tch ¤Ã ch ~ ¡± ? ¡© ! ¡ª \# ¡ô $ ¡ð \x22 ¡É % ¡ó & ¡õ \x27 ¡Ç ` ¡® + ¡Ü * ¡ö = ¡á | ¡Ã ; ¡¨ : ¡§ _ ¡² / ¡¿ \\ ¡ï Canna37p3/dic/phono/sokuon.kpdef0100644000076500001200000000263007554213574016075 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: sokuon.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q vv ¤Ã v tch ¤Ã ch Canna37p3/dic/phono/tut.kpdef0100644000076500001200000004506307731735275015406 0ustar shinraadmin#define copyright /* # # Copyright 1993 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: tut.kpdef,v 1.2 2003/09/17 01:37:01 aida_s Exp $ # */ rk ¤¢ ri ¤¤ ru ¤¦ rh ¤¨ rj ¤ª ek ¤« ei ¤­ eu ¤¯ eh ¤± ej ¤³ sk ¤µ si ¤· su ¤¹ sh ¤» sj ¤½ dk ¤¿ di ¤Á du ¤Ä dh ¤Æ dj ¤È fk ¤Ê fi ¤Ë fu ¤Ì fh ¤Í fj ¤Î tk ¤Ï ti ¤Ò tu ¤Õ th ¤Ø tj ¤Û wk ¤Þ wi ¤ß wu ¤à wh ¤á wj ¤â qk ¤ä qu ¤æ qj ¤è gk ¤é gi ¤ê gu ¤ë gh ¤ì gj ¤í ak ¤ï ai ¤ð ah ¤ñ aj ¤ò rlk ¤¡ rli ¤£ rlu ¤¥ rlru ¤¦¡« rlh ¤§ rlj ¤© elk ¤¬ elek ¥õ eli ¤® elu ¤° elh ¤² eleh ¥ö elj ¤´ slk ¤¶ sli ¤¸ slu ¤º slh ¤¼ slj ¤¾ dlk ¤À dli ¤Â dlu ¤Ã dldu ¤Å dlh ¤Ç dlj ¤É fl ¤ó tlk ¤Ð tli ¤Ó tlu ¤Ö tlh ¤Ù tlj ¤Ü tltk ¤Ñ tlti ¤Ô tltu ¤× tlth ¤Ú tltj ¤Ý qlk ¤ã qlu ¤å qlj ¤ç alk ¤î q\ ¡È w\ ¢© e\ ¡¼ r\ ¡Ú t\ ¡Ö y\ ¡× u\ ¡Û i\ ¡Ä o\ ¡¦ p\ ¡É a\ ¡Æ s\ ¡ù d\ ¡¢ f\ ¡£ g\ ¡Ø h\ ¡Ù j\ ¡¹ k\ ¢¨ l\ ¡À ;\ ¡Ç z\ ¡º x\ ¡ø c\ ¡û v\ ¡à b\ ¢« n\ ¢ª m\ ¡ß ,\ ¡Ô .\ ¡Õ /\ ¡¿ ,, ¸Ä ,. »ë ,/ Îý ,; ¾õ ,a ÁÒ ,b ±Ê ,c ±É ,d »Ô ,e ²Ä ,f ʸ ,g ¼ ,i ¸± ,j ¾Ê ,k Ï© ,l °õ ,o ·â ,p ¾­ ,q Åý ,r ÀÐ ,s Ä« ,t ³Ê ,u ι ,v ¶Ì ,w ¸© ,x Èø ,z Éß ., ´¬ .. Èà ./ ¶· .; ¨ .a É© .b ½© .c ¸Ë .d »Ù .e ¼¼ .f Âô .g ¸Å .i ¹½ .j ·¿ .k Áõ .l ÇÔ .o »Ê .p ³£ .q ½¨ .r µÙ .s ÇÀ .t µÈ .u Ãç .v ÍË .w ÃÛ .x ÃÝ .z Í» /, ±« /. ºÍ // ·Ê /; ÊÕ /a Íá /b Φ /c ÇÈ /d ¿¹ /e ½Â /f ÇÏ /g ÂÞ /i ͹ /j ¸Î /k Ư /l ¼ø /o µï /p ¸î /q Ìý /r Ë­ /s ²¯ /t Îð /u ¶Ë /v ´Ä /w ³Ñ /x Àô /z ±º ;, Äã ;. Îã ;/ ¿Þ ;; µæ ;a ¾Þ ;b ·Ý ;c ¹¾ ;d ÉÔ ;e ËÌ ;f Êâ ;g ¶µ ;i µ» ;j ¹æ ;k ·¸ ;l ¦ ;o ÃÊ ;p µð ;q À¶ ;r ¸¶ ;s ¾¦ ;t ¶á ;u ÍÆ ;v Êõ ;w º´ ;x ºä ;z Íú a, ¸¢ a. ¿½ a/ ³Î a; ²Î aa ¿¼ ac Ä ad Ìó ae Å· af ľ am ¼Ì an ½õ ao ´ü ap ³ aq °­ ar ÎÀ as Ëè au ÌÜ aw º¬ ax ² ay ½ñ az À± b, ¸À b. Ä¥ b/ ²á b; ÇÉ ba ̤ bc »Ë bd ²Ö be Ψ bf ²ð bh ¿ bi °Õ bj ¶¯ bk ¼Â bl »× bm ºÆ bn ¾Ã bo ¿È bp ´¶ bq »Ï br ÊØ bs µó bu ÀÚ bw ·Þ bx ¶Á by ÊÌ bz ±§ c, Àâ c. ÀÊ c/ Äó c; µÁ ca »ù cc ¼é cd ²þ ce Êä cf ËÉ ch Àï ci ÂÐ cj Åö ck °Ñ cl ÅÞ cm ή cn °¦ co ±é cp ±þ cq ÀÅ cr »Ü cs Âß cu Ä´ cw ²¿ cx ÅÐ cy »ä cz ÅÏ d, Çä d. ÂÇ d/ ¹Í d; Ĺ da ¶Ð dc ÆÈ dd Á´ de ³Æ df ÊÝ dm ºî dn Ïà do ¿Í dp Äê dq Áá dr Ê¿ ds ¾ dw ̵ dx Ʋ dy ²ñ dz ³¹ e, ³« e. »Ø e/ »à e; ¹ç ea »Ä ec ÌÈ ed ¿ô ee ·ë ef ¸ø em ÃÌ en ¼£ eo ¼Ô ep µÄ eq ξ er ¿® es ÃÄ ew ÂÔ ex ½ô ey »Ò ez Êì f, Ź f. ²Á f/ ˾ f; Êý fa Áý fc ´Ñ fd ¼« fe ´Ø ff À¤ fm ¸ò fn ¸ì fo °÷ fp ½÷ fq »å fr ²» fs ÊÆ fw °Æ fx ʼ fy ¾å fz Îë g, ÃË g. ¹þ g/ µ¬ g; À¯ ga ½¬ gc ÊÑ gd ½» ge ±¿ gf ¸½ gl ¼Ò gm ½Å gn ÅÀ go À¸ gp À® gq »î gr ·× gs Íø gw ³Û gx ´Æ gy ÄÌ gz Äë h, ´Þ h. Èæ h/ ½à h; °Ì ha Æ£ hb ·³ hc Æî hd Åì he ¹â hf ¿· hg ±ß hi Ï¢ hj ÎÏ hk ²½ hl Ìë ho ͳ hp µé hq ¾¾ hr »³ hs Âå ht ̾ hu À½ hv ²£ hw ư hx ÉÍ hz Àº i, ¹Ò i. ʧ i/ ºà i; ·à ia Åç ib ¿¦ ic ±Ç id Âç ie Ëü if Ãæ ig ʬ ii É× ij ²è ik ¹» il Âê io ÈÖ ip ¼ó iq ÍÎ ir µþ is Á° it ¶è iu ³Ú iv À© iw ̳ ix ³¬ iz ¹Ý j, ʹ j. »ß j/ Æñ j; ºß ja ÉÕ jb ÅÚ jc ë jd Æó je ¹ñ jf ǯ jg »Í ji ¼Ö jj ¸³ jk ²¼ jl ʪ jo ¶É jp ²Ý jq °Â jr ÅÅ js ·î jt Éô ju ¼ï jv Âæ jw Àî jx ¸Í jz ͧ k, ·ï k. ¿³ k/ ºÛ k; ¼° ka ·Ð kb ¿À kc Æ» kd Æü ke »° kf °ì kg ½½ ki °Ê kj ´Ö kk ²ó kl ½ê ko ÂÎ kp °é kq ÅÔ kr ¸Þ ks ÅÄ kt ¶È ku ÍÑ kv ¶¶ kw µë kx ÎÁ kz ¼ý l, »Õ l. »¦ l/ Ŭ l; ºÑ la Àµ lb ¤ lc ¶¦ ld »þ le Ȭ lf Ʊ lg ÌÌ li ´° lj Àß lk Îò ll ºÝ lo Ìô lp ¿§ lq Í¿ lr ¾® ls ¸å lt Ìä lu ³¦ lv Éð lw ÌÚ lx ²Ð lz »û m, ³² m. ÎÌ m/ ÆÄ m; ÎÝ ma ÍÕ mb ¾ë mc ¾ò md ³¤ me ½É mf Ϻ mg Âð mi ÃÇ mj ÍÍ mk ÃÍ ml ÊÔ mo ÍÜ mp ô mq ±Û mr ²¬ ms ´ mt Ìç mu Ç· mv ¹¬ mw ¢ mx ÄÍ mz ¹Û n, ½ð n. ²Ú n/ ¸ü n; Ëö na ¸¦ nb ´ä nc Áð nd µÞ ne ºê nf ¸÷ ng ¼¡ ni Á³ nj ÎÉ nk ÏÀ nl ÈÌ no »ú np ³Õ nq ²Ï nr Ⱦ ns ´Ý nt ÎÓ nu Ä£ nv ¼Ç nw ¸µ nx ÄÅ nz ¿¶ o, ´ó o. ´é o/ º¹ o; ¿Æ oa »Î ob ͺ oc ºå od Ï» oe ·ú of ¶å og Ω oi ²Ã oj ¿´ ok ¶ä ol ¹ð oo ¾ï op ÌÓ oq Á¥ or Íý os É´ ot À¾ ou ±à ov ¾Ú ow ±Ø ox Ï« oz Ää p, Ëþ p. Éá p/ Àö p; Çú pa ÄÚ pb ½Õ pc ¾º pd ³ô pe Å´ pf ¸á pg ³° pi ǽ pj ÈÎ pk ž pl Àª po ÎÎ pp ·ô pq µ× pr ±Ä ps ÀÜ pt ÉÙ pu ½ª pv Àõ pw Ƭ px ÈÄ pz ½£ q, »È q. º¸ q/ Ÿ q; ¶õ qa ǰ qc ÆÞ qd ¹õ qe ÀÄ qf ·Ù qh ¼ç qi Áê qm ¹Ö qn ɬ qo ²ò qp ÇÛ qq Ê qr À° qs ÀÇ qw ÅÁ qx º× qy ¿© qz ÊÖ r, ·è r. ¸þ r/ Í¢ r; ²È ra ÀÖ rc Ãã rd ÉÊ re Í¥ rf ºÙ rm ¶¨ rn Àè ro ¼ê rp ÆÃ rq ¾è rr Êó rs »² rw Çò rx ½¤ ry ½Ð rz Ç® s, Áª s. É÷ s/ ­ s; ÌÀ sa ´É sc À² sd Í­ se º£ sf Á÷ sm Êç sn À­ so ȯ sp Áí sq É sr ¹­ ss Ê¡ sw »Å sx ½¾ sy ¾ì sz µö t, Èþ t. Êü t/ Ì£ t; ½¸ ta ·Á tc ºò td ºÂ te ºÇ tf Èñ tm È¿ tn ½é to Ū tp Ë¡ tq Àì tr ÂÀ ts ´ð tw ¹Á tx ÈÇ ty ¹Ô tz Âà u, Èô u. ÍÛ u/ Á± u; ±Ò ua °æ ub µÜ uc ²° ud ËÜ ue ÃÏ uf »ö ug Àé ui ɽ uj »á uk ÅÙ ul ±Ñ uo ±¡ up Åù uq ¸ý ur ¼· us Ìî ut Ï uu µÚ uv ÃÓ uw »º ux ½µ uz Éþ v, ÉØ v. Ï¿ v/ Åú v; ºº va »Ö vc Äø vd Ìò ve ·Ú vf ÁÇ vh ÁÈ vi Í× vj Íè vk Æþ vl ¼õ vm ¸¡ vn Ãå vo ½Ñ vp Çã vq ºâ vr µ¢ vs ÄÉ vu ÃÎ vw ÀÑ vx Îä vy ¼è vz ¸ú w, ¿¿ w. »» w/ ÆÀ w; Àþ wa ±¦ wc Ãí wd »ñ we ³è wf Â÷ wl ¸« wm ÉÜ wn ´± wo µ¤ wp ͽ wq ÂÖ wr ¾¯ ws ¼Á ww ·ò wx ˬ wy »ý wz ¶¥ x, Ì¿ x. Ƴ x/ À¼ x; Áè xa ¼¨ xc ¸æ xd Äí xe Èó xf ¶ñ xh Åê xi ¿Ê xj È÷ xk µ­ xl °ú xm ÁÛ xn ǧ xo µá xp ¸Â xq ±© xr Í· xs ñ xu ´Û xw û xx ÆÁ xy ¾ð xz ¿ä y, Ââ y. ¸º y/ Ãú y; ²¦ ya ¶ø yb ¾¼ yc ²Ê yd ³Ø ye ¶â yf ¹© yg Æâ yi ̱ yj ¾¡ yk ºÐ yl »æ yo µå yp ²Ì yq ¶½ yr Ä® ys µ¡ yt Âè yu ³ä yv ±û yw ¿å yx °Ë yz ´ë z, µ¯ z. È´ z/ °ã z; ÃÖ za ÁÕ zc ¼ò zd ɾ ze Îà zf Ƥ zh Ƚ zi ´ï zj ºö zk ¼ã zl Ǥ zm ¼º zn Éé zo ÆÉ zp ã zq ¿­ zr Éü zs °å zu ¹¥ zw ΢ zx ´© zy Íî zz »¨ ,ha ÉÞ ,hb ÈÊ ,hc ²õ ,hd ü ,he Äá ,hf µ¨ ,hg ²® ,hq Ϥ ,hr dz ,hs °Ï ,ht ¿Ç ,hv Çï ,hw Å ,hx ·ö ,hz ³Ì ,ma Ëß ,mb ÊÎ ,mc ½Î ,md ¿ø ,me Ê¢ ,mf ·« ,mg ¸ë ,mq ¼à ,mr ¹Õ ,ms ȶ ,mt ÀÛ ,mv ÌÒ ,mw ²ã ,mx ¿Á ,mz ¼µ ,na ³å ,nb ´¯ ,nc Áô ,nd Í¡ ,ne ²Ë ,nf ¿£ ,ng γ ,nq Áï ,nr ¶³ ,ns ºÁ ,nt Êø ,nv Ͻ ,nw ²Ô ,nx °ñ ,nz »¾ ,ya ¿Ò ,yb ¹Î ,yc ºÕ ,yd ¶Û ,ye ̸ ,yf ¿Î ,yg µÛ ,yq Êé ,yr ¸ª ,ys ¿ï ,yt ¸Ü ,yv ¸à ,yw ²µ ,yx ¸ô ,yz ÏÍ .ha Íù .hb È­ .hc ´è .hd Èî .he ÄÁ .hf ºØ .hg ÄÄ .hq ÃÚ .hr Îñ .hs ¹ò .ht ¾ø .hv ¶ë .hw κ .hx ¿Ä .hz Á¨ .ma ˨ .mb Ìù .mc Ä¡ .md ½ö .me ±¾ .mf ÈÞ .mg Ìû .mq ²´ .mr ²Õ .ms °þ .mt ËÕ .mv ÀÌ .mw °ô .mx ²× .mz ĵ .na ¸Á .nb °¹ .nc ¶û .nd ÎÔ .ne ³é .nf ±¯ .ng ½Ô .nq Ë£ .nr Æ× .ns Ëõ .nt ÈÆ .nv Ëø .nw ÂÝ .nx ÃÐ .nz ÅÆ .ya Âä .yb ¿¤ .yc ´Ú .yd ±ã .ye º° .yf į .yg Ãà .yq ˪ .yr ͪ .ys ²Ò .yt Àà .yv ·Û .yw ²ù .yx ɰ .yz ÇÁ /ha °¿ /hb °ö /hc ³î /hd ¸Ê /he Àû /hf ̦ /hg ¹ª /hq ³ì /hr Äå /hs ËÅ /ht ÆÆ /hv ÆØ /hw Äé /hx ĸ /hz Âé /ma »Æ /mb ο /mc Çí /md ½Ù /me µ¦ /mf Ìè /mg ¸È /mq »â /mr ¿Ð /ms ÏÁ /mt ±» /mv ¸ï /mw Å® /mx ̧ /mz ÀÈ /na ±¨ /nb ¹å /nc ÏÐ /nd ²î /ne Âö /nf ¼¤ /ng Ë« /nq ¼Ê /nr ÏÈ /ns ζ /nt ÌÆ /nv ³· /nw ¾« /nx ³ë /nz ³ð /ya Íþ /yb ì /yc ¿ª /yd °ï /ye Äþ /yf »ü /yg ¸Ï /yq ½ì /yr ¸Ì /ys ²ô /yt ÈÜ /yv È« /yw ¹¸ /yx Èà /yz ½ú ;ha Í ;hb ¾æ ;hc ¹Å ;hd ºÄ ;he Ãé ;hf µ¥ ;hg ±ö ;hq ÍÒ ;hr °ä ;hs Ìø ;ht Áà ;hv ÆÚ ;hw Áò ;hx ¿Ý ;hz Á² ;ma °¯ ;mb ³Ç ;mc È¥ ;md ½Ã ;me Îô ;mf ί ;mg ¿» ;mq Çë ;mr Ê® ;ms Æ· ;mt ÌÕ ;mv °¶ ;mw ¼ß ;mx °§ ;mz ºü ;na ¿¡ ;nb ºæ ;nc ³Å ;nd ʶ ;ne ¿ì ;nf ´¨ ;ng ´¤ ;nq ³¾ ;nr º¶ ;ns ËÄ ;nt ʨ ;nv ÆÒ ;nw Çå ;nx ·ä ;nz Á§ ;ya ËÁ ;yb ÊÐ ;yc ÀÆ ;yd ÊÁ ;ye ²· ;yf ¹Ã ;yg Èò ;yq ¿¬ ;yr ¶ð ;ys µ± ;yt Æá ;yv ºÏ ;yw ÉÒ ;yx Èê ;yz ³º ab, ¾¿ ab. ±Ã ab/ ³ß ab; ʯ abh µ³ abi µ abj ÌÔ abk ÊÀ abl ¿ê abm Ìí abn ºô abo ¶Ò abp ½í abu Ç¡ aby ½â ag, Ã¥ ag. ¼¢ ag/ ¶ò ag; Ãî agh ÅÝ agi µí agj °Ý agk ³È agl ¶Ø agm ÀÉ agn ½Ê ago Ìï agp ź agu ÄË agy Ǽ at, Áµ at. È· at/ ½å at; »Ý ath Íã ati Âì atj ÀÞ atk Îø atl ¾È atm Çù atn ¿° ato ²ø atp ·Ü atu ³§ aty Æì av, Æõ av. Íì av/ µÀ av; ³¸ avh ³ê avi ´§ avj ï avk Êú avl ½¦ avm ²ç avn É¿ avo ¼ä avp Æï avu »ò avy °Ó bb, Ìà bb. ÿ bb/ ¶Â bb; ̶ bbh ¿¸ bbi µ£ bbj °´ bbk ÇÌ bbl Ëû bbm ²À bbn Ç¿ bbo ±Ý bbp ¸Ã bbu Èí bby ¼Æ bg, ¿ã bg. ËÚ bg/ ÎÕ bg; Á bgh ¶Í bgi Äñ bgj Í£ bgk Åþ bgl ÁÓ bgm ¹É bgn Éö bgo ¿Ô bgp ±Ó bgu ²¸ bgy ÅÛ bt, ÇÖ bt. ÆÅ bt/ ¿à bt; ó bth µê bti ´¢ btj »Ì btk ¼ë btl ¿ò btm ÄØ btn Éà bto ÀÍ btp Æò btu Èç bty Èý bv, ̪ bv. ÄÊ bv/ Äõ bv; ÆÌ bvh ³¥ bvi µý bvj ½· bvk ¼í bvl Îì bvm ºë bvn ÍÝ bvo Ìã bvp Åè bvu ÈÍ bvy ¾¶ cb, Áº cb. Íä cb/ Çâ cb; ·Î cbh µõ cbi Ž cbj ű cbk ÊÇ cbl ¿ç cbm ÎË cbn ±Þ cbo ´Ì cbp Àò cbu ƽ cby Æß cg, Îï cg. Ì× cg/ ±ú cg; ´Ï cgh Á¬ cgi ±À cgj Τ cgk ¾Ä cgl Ű cgm Æ© cgn Æ¥ cgo ·¼ cgp ÅÍ cgu ½Ó cgy ¹À ct, Íï ct. ·Å ct/ ¸Ò ct; ʤ cth ÊÄ cti β ctj ´ú ctk ÇÑ ctl ·õ ctm »¤ ctn ɳ cto ·æ ctp ¿â ctu ·¡ cty ·ü cv, ¼Û cv. ¾Å cv/ ²ë cv; ¼ð cvh ³ø cvi Çì cvj ¸É cvk ¾Î cvl ÍÏ cvm ÌÑ cvn ºç cvo °© cvp ¼× cvu ¹Ø cvy ¸° db, ¾£ db. ¾Ì db/ ±¬ db; º÷ dbh ·º dbi Ç÷ dbj ´ø dbk ±Æ dbl ¹ï dbm µ¶ dbn °Ø dbo ˧ dbp Á¾ dbu ÎÐ dby Ì¡ dg, Æý dg. Ë´ dg/ ¹µ dg; °Û dgh º§ dgi ²Æ dgj ´´ dgk ¶¡ dgl Àá dgm ¸ dgn È¢ dgo °è dgp Ȩ dgu ¼þ dgy ±ü dt, Èé dt. ½® dt/ Ãì dt; æ dth ·Ã dti ¸Ç dtj ´ß dtk µÒ dtl µù dtm Ȫ dtn ÌÖ dto ÌÊ dtp ÊÙ dtu Éû dty ´¿ dv, ¸Û dv. ¹¡ dv/ ¶ï dv; ÎÒ dvh Ãó dvi Íê dvj Îé dvk ÇÜ dvl ·» dvm °¸ dvn ÀÝ dvo ·¬ dvp ¸ç dvu δ dvy ä eb, ²ö eb. ·½ eb/ Á× eb; ÍÉ ebh ºý ebi ¶Ý ebj ÈÕ ebk ¼Í ebl ȱ ebm ʺ ebn ËË ebo ÏÅ ebp ÄÒ ebu ÂÚ eby ÇÒ eg, ¹Ë eg. °ß eg/ ±´ eg; ¹È egh Æù egi À¹ egj µÖ egk ¿ù egl ÂÓ egm ²« egn ¿¯ ego ÊÛ egp ½¡ egu ÀÓ egy ú et, ά et. À§ et/ ºï et; Ǿ eth Áö eti Îá etj ºÊ etk ³× etl ° etm ´µ etn °Ò eto ÎÙ etp ¸· etu Èë ety Ìõ ev, º² ev. °Ô ev/ °È ev; ÍÓ evh ÂÙ evi ËÏ evj İ evk ǵ evl ²ü evm Êî evn Á­ evo ·é evp »Ã evu ÃÜ evy ÊÓ fb, Åá fb. »ó fb/ Ì÷ fb; Äî fbh ¹¨ fbi ̼ fbj ·¹ fbk Íß fbl ¸í fbm Î÷ fbn ¼Ü fbo Ãà fbp ƶ fbu ÏÓ fby ·É fg, ´Ç fg. Ũ fg/ ±ô fg; ÅØ fgh Àä fgi ±ç fgj ¼Ë fgk °µ fgl ¾Æ fgm ²Û fgn ³û fgo ·¯ fgp ¿Ì fgu ¹Ó fgy Ëô ft, ÌÄ ft. ̯ ft/ ¿è ft; ¾§ fth ¶Ñ fti ËÙ ftj ¾ù ftk ½ü ftl ºù ftm ϲ ftn ¸× fto § ftp ½¼ ftu Éý fty ºÅ fv, µç fv. ¹¿ fv/ ²² fv; Åû fvh Ŧ fvi Êö fvj ¸¤ fvk ³ù fvl ±¢ fvm ų fvn ÈÑ fvo ·® fvp ¶® fvu ±è fvy ÁÄ gb, ÀØ gb. ¿Û gb/ ²à gb; Âù gbh ³Þ gbi ³­ gbj Ƽ gbk ¶» gbl ¶¼ gbm ¹Â gbn Éç gbo ÂÕ gbp ²§ gbu ÏÆ gby Åâ gg, ¹ø gg. ËÞ gg/ Ĩ gg; º¤ ggh ¾ã ggi ÌÁ ggj À¥ ggk Á¡ ggl °Ü ggm ¸¹ ggn Ëý ggo Ëë ggp Åô ggu ¾û ggy É® gt, Èù gt. µ§ gt/ Á« gt; ÆÇ gth Îó gti ÁÏ gtj µû gtk ŵ gtl Àë gtm ÌÛ gtn ÀË gto ÍÙ gtp ½ï gtu ÃÙ gty ¼û gv, ¾½ gv. ºË gv/ Ìþ gv; ¶« gvh Ç» gvi ½Ë gvj ÃÈ gvk ¼î gvl ÇÕ gvm Îß gvn ²³ gvo ·È gvp Èå gvu Ëâ gvy Ħ hha ·ó hhb Ãê hhc »é hhd ÀÕ hhe ¿Ü hhf °Í hhg Åð hhq ¿² hhr Áà hhs ÈÓ hht ¾· hhv ¶À hhw ½¢ hhx ³á hhz ÂÛ hma ±ñ hmb ¾ü hmc ϵ hmd ´Ô hme ø hmf ·ø hmg Ǻ hmq ¼Ð hmr ²Â hms ÍÈ hmt Ä© hmv ½¥ hmw ±ê hmx ¹é hmz ÍÖ hna ²¢ hnb Éù hnc ¼¸ hnd ´² hne ½Ä hnf ̲ hng ¾© hnq ¶Ô hnr Îà hns ³Ö hnt ʳ hnv º« hnw Îæ hnx ¸û hnz º· hya ·Ç hyb °½ hyc ¾ö hyd Åò hye ¸Ð hyf ¸Æ hyg Íí hyq ɤ hyr Àç hys Çö hyt ÉÁ hyv Åí hyw ¹Ä hyx °¥ hyz Åõ iha ºþ ihb ²í ihc ƨ ihd ÆÍ ihe ɧ ihf Åü ihg ´³ ihq ¿Ø ihr ²¡ ihs ˼ iht ³Ë ihv º® ihw ; ihx Äâ ihz ÍÞ ima ´ö imb ÆÝ imc µ° imd ·Ë ime ¾× imf Äï img ´þ imq ¸² imr Ëå ims °² imt Åë imv Ëú imw Áø imx °ë imz ±å ina ÇÚ inb ½¹ inc »Ç ind ħ ine ½Æ inf Âá ing Ǧ inq ¼´ inr ˤ ins ÄÀ int µñ inv º¨ inw ¶¹ inx ·Ô inz ËÖ iya ²ß iyb ·ª iyc ¾É iyd ÌÏ iye °× iyf ´õ iyg Å¡ iyq ν iyr Ä» iys ·´ iyt Ëç iyv µò iyw Ê´ iyx IJ iyz µº jha °ø jhb Éê jhc µ· jhd ¹¯ jhe ÉÛ jhf Ë jhg ¼± jhq °· jhr ²¹ jhs ¾Ý jht ·ì jhv °û jhw Éã jhx »ê jhz º jma ƹ jmb ÂÆ jmc µÔ jmd Èá jme ¸Ø jmf ¸¥ jmg Ƹ jmq Ëí jmr ¾Ø jms Âî jmt ½Í jmv ²¥ jmw ½î jmx ºÈ jmz ºó jna ij jnb ¾é jnc »® jnd Êë jne Áû jnf µµ jng ³¨ jnq ²± jnr È© jns Êô jnt Ãß jnv Ì· jnw Íñ jnx ÈÚ jnz ÍÚ jya ³Ù jyb ´ì jyc ¹à jyd Æ® jye ºÎ jyf µ¿ jyg Ê© jyq ½Ü jyr Î¥ jys Éà jyt ¸ù jyv ¸ã jyw ¾þ jyx ÅÜ jyz ¶Ä kha ¶Ú khb Ã× khc µÊ khd ¿Ë khe Éñ khf ÅÌ khg ´î khq ¹ë khr Ì© khs ·Ï kht ±ó khv ²¤ khw ÍØ khx Ãè khz Îí kma ¿û kmb Íö kmc ÎÞ kmd ´í kme Èï kmf ¸ð kmg ÂØ kmq àkmr ½Ì kms ºÜ kmt ¿á kmv °® kmw ½ø kmx ²¶ kmz °« kna ¾² knb ·¨ knc Îå knd ÊÒ kne ¼­ knf ¼å kng ͦ knq ²Å knr ËÒ kns Éâ knt ´« knv »´ knw ²¾ knx ʰ knz ³¯ kya ¼÷ kyb Èè kyc ¾Ë kyd Ë® kye ¶­ kyf ½° kyg »Ñ kyq ³ã kyr ¼Ú kys ¹¶ kyt ͼ kyv ¿Ã kyw Çî kyx À÷ kyz ³Ó lha ÏÑ lhb »Ð lhc ¼Õ lhd Äù lhe ÇË lhf ´¹ lhg ÈÈ lhq ´ã lhr ÊÞ lhs ½ý lht Ʀ lhv ·ê lhw ºÒ lhx ÎÈ lhz Éë lma Ç¢ lmb ½Þ lmc ¾Ù lmd Ìö lme ´Ó lmf ·ç lmg ÆÊ lmq ÎÄ lmr Íò lms º© lmt Äç lmv ÁÅ lmw ˹ lmx ¼ô lmz Ææ lna ÍÇ lnb ÇÆ lnc Ãï lnd Χ lne ÊÉ lnf ½± lng Äà lnq µ¸ lnr ¿æ lns Í« lnt Ï¡ lnv ¶ß lnw ¶þ lnx ÍÅ lnz ¸´ lya ¹ö lyb ±Ù lyc ½ë lyd »À lye Ê» lyf »¥ lyg ð lyq Àð lyr ¼¹ lys Áü lyt µÆ lyv Å¥ lyw ÆÏ lyx ±÷ lyz µØ mha ¿Ï mhb ÎÍ mhc Ρ mhd Êñ mhe ¾» mhf © mhg Ƨ mhq ¾¸ mhr ·± mhs ¸â mht Êæ mhv ËÝ mhw ¼Î mhx Ȳ mhz Íå mma ¼Ä mmb »Ó mmc Ìß mmd ËÑ mme ÊÊ mmf Çû mmg Â× mmq Äö mmr ³Ã mms °¾ mmt ¸ñ mmv Çè mmw ÉÑ mmx ÃÉ mmz ¸§ mna ÆÖ mnb ʵ mnc Èü mnd ÉÄ mne Á© mnf ê mng ±ð mnq Éì mnr ¶é mns Ëì mnt ¼Ï mnv ³¿ mnw ̰ mnx Âü mnz ´¼ mya ϶ myb Äò myc ö myd ´¥ mye ¸¯ myf Ãá myg ĺ myq Ä· myr Íó mys ÁÔ myt »§ myv ¶Ê myw ¹´ myx Îè myz º¡ nha ¶ö nhb ʽ nhc ¹Ê nhd ±Ë nhe »£ nhf ÀÒ nhg ËÐ nhq ºµ nhr ÊÅ nhs ÁË nht ¶ nhv ºã nhw ÍÊ nhx ´á nhz ·µ nma ÆÓ nmb ¾ó nmc ±ª nmd º¾ nme Áç nmf Ì® nmg ÁÀ nmq ¾ª nmr »½ nms ͯ nmt ½« nmv ºú nmw Äß nmx ÷ nmz ÄÙ nna ·Ó nnb ÏÉ nnc °î nnd ¶Þ nne µü nnf °¼ nng ¿ð nnq ÌÞ nnr ÉË nns ̨ nnt °Ú nnv Á£ nnw ÆÜ nnx è nnz ˲ nya Ãö nyb ³ª nyc ÄÑ nyd Äú nye ͱ nyf ¶Ç nyg ± nyq ±± nyr ¸Ý nys ¶ã nyt ¿õ nyv ±È nyw ±Ì nyx Æ´ nyz ºÉ oha ËÀ ohb ÁÎ ohc ¹ ohd ¸ß ohe ¼ù ohf ε ohg Ì´ ohq ´Ë ohr Çß ohs ÅÉ oht λ ohv À¬ ohw Éõ ohx ³¶ ohz Ĥ oma ½³ omb Êã omc Êò omd Ëá ome ´ô omf ½À omg Éå omq Êï omr ±ï oms ¼¾ omt ¼Ø omv ºû omw ÅÒ omx ϼ omz ɪ ona ÁÚ onb Çó onc Å£ ond ÍÀ one Ë¢ onf ËÆ ong Âú onq ¹¢ onr ·¢ ons ÂÄ ont ³Ô onv ÌÍ onw ´ò onx ·Ø onz »¹ oya ±Ô oyb »ì oyc É¡ oyd ɼ oye ¾Ï oyf ÇØ oyg »É oyq ¼ª oyr Äè oys µ® oyt ½ä oyv ÌÇ oyw Ãù oyx »Â oyz ²â pha ¿¨ phb ´ù phc ´× phd Ãø phe Á¯ phf ¸¨ phg Ê£ phq ÂÅ phr Åß phs Á¼ pht ͵ phv ˸ phw Â¥ phx ʾ phz ²ý pma ¿Õ pmb ËÊ pmc µâ pmd ²Þ pme Áó pmf ÄÛ pmg Á¸ pmq ¼¦ pmr Æû pms °í pmt »è pmv ²ä pmw Êþ pmx ÃÁ pmz Ëó pna Íü pnb ɨ pnc î pnd ´¾ pne ºø pnf ¼Ù png ˶ pnq °» pnr ÈÁ pns µ² pnt »µ pnv ÎÇ pnw ·Ö pnx ´» pnz ÂÏ pya ½á pyb ²û pyc â pyd ÅÓ pye Ķ pyf ¾Â pyg « pyq ˵ pyr Áâ pys ÍÄ pyt »ô pyv ¼À pyw ²æ pyx ³´ pyz ÁÞ qb, °Ð qb. þ qb/ Ï® qb; ³± qbh °± qbi Åé qbj °ò qbk Æé qbl °ý qbm ɵ qbn ¼Þ qbo ËÓ qbp ³ò qbu °ª qby ¼¥ qg, ÉÝ qg. ±Â qg/ È» qg; ·¤ qgh ¾° qgi ³÷ qgj »í qgk ²÷ qgl ¹ü qgm Éä qgn ¶ô qgo Ͷ qgp ¾¢ qgu ¶Ó qgy ů qt, ÃÀ qt. ˰ qt/ ÃÞ qt; À£ qth ÈÏ qti Ì¥ qtj µß qtk ·Ñ qtl µÍ qtm ¿± qtn ËÛ qto ²Ç qtp ò qtu ˺ qty ÃÒ qv, µä qv. ¹í qv/ ·ñ qv; ¼ö qvh Á¶ qvi ·ù qvj Ê· qvk ˦ qvl °É qvm ±í qvn Ͼ qvo Êå qvp ÆÑ qvu ¿Ö qvy »· rb, Àå rb. μ rb/ Äü rb; ´¸ rbh Ìæ rbi Éú rbj Àø rbk ¡ rbl ¶î rbm ¶© rbn Ī rbo ·ß rbp À¨ rbu Îõ rby µÝ rg, £ rg. À» rg/ ȳ rg; Áë rgh °á rgi ·ã rgj »¶ rgk Êá rgl ÁÜ rgm µÓ rgn Êè rgo »õ rgp µ´ rgu Ãë rgy °ð rt, ¹î rt. Âò rt/ ¹¦ rt; À× rth ¹á rti ¬ rtj ½è rtk ÀÁ rtl ¹³ rtm ¶ç rtn ÂÑ rto ·Ä rtp ÏÇ rtu Àã rty ¸» rv, ¾÷ rv. º¯ rv/ Æä rv; ´½ rvh È rvi Èä rvj »ã rvk ½Ö rvl ¾¬ rvm Íô rvn ¸Ñ rvo Ëà rvp ¾í rvu Ë× rvy ±î sb, ÈÒ sb. Âà sb/ ±â sb; ¿É sbh ¹Æ sbi ¹Ú sbj ¾´ sbk ½Ï sbl ¾ô sbm ¶Õ sbn Æú sbo ¾ê sbp ¹² sbu ¹Ì sby Ç­ sg, Ϫ sg. ÃÅ sg/ ÎÑ sg; ºÚ sgh ¾Ð sgi ¿¥ sgj È× sgk ¹ß sgl Äì sgm ÇÐ sgn Çþ sgo ¾µ sgp µÑ sgu ½ç sgy ¶¿ st, ¹Ù st. ·° st/ º¦ st; Åà sth Àê sti ¼¯ stj »ï stk ÎÅ stl Ìà stm º¿ stn ¾î sto ¾Ç stp Éè stu Ìð sty õ sv, ²Í sv. Æë sv/ ÏË sv; ɶ svh ¾Ü svi ¾Ñ svj Ìá svk ¹¹ svl Á¦ svm ´Ù svn ϳ svo Îî svp Âõ svu µ¾ svy Æð tb, Çð tb. Ç× tb/ ´æ tb; Âþ tbh ÅÇ tbi Ȧ tbj ˳ tbk ½Ú tbl À« tbm Àù tbn ̽ tbo ²É tbp ´â tbu ÉÐ tby Æ÷ tg, ³Í tg. ËÍ tg/ ²é tg; ³Ý tgh ÈË tgi Èã tgj ´ê tgk ËÇ tgl µÕ tgm °Ö tgn ÁÆ tgo ¾Í tgp ´· tgu ·§ tgy °Ù tt, ¶à tt. ¶§ tt/ ´à tt; ¶¸ tth ÁØ tti ϯ ttj α ttk °¡ ttl ȼ ttm Å« ttn »ø tto ´û ttp ·Æ ttu ¿Â tty ¶² tv, °ù tv. ÎÊ tv/ ´Ü tv; ³í tvh Ì tvi Çõ tvj ¶× tvk Ë¥ tvl Íë tvm ¶¬ tvn ı tvo ³ç tvp ±Ö tvu Îö tvy ÀÏ uha °¤ uhb ¶Ã uhc ÇÓ uhd ²ì uhe ±ä uhf ½ã uhg Æà uhq ¹§ uhr ɸ uhs Íð uht µì uhv Ĭ uhw ½þ uhx Âó uhz À· uma ³³ umb ÁÉ umc ¿î umd Ë» ume ·÷ umf Äû umg µ½ umq ¿Å umr ¸¸ ums Ç¥ umt ²ê umv Íõ umw ¹£ umx ˱ umz ¼¶ una Åï unb Äð unc ¶ó und ¼ñ une ±ý unf µã ung Ãû unq ±½ unr Æ­ uns ´À unt ºé unv ¶Æ unw ½Û unx Îç unz ºÀ uya »¿ uyb ÀÎ uyc ±ì uyd ¶ì uye µî uyf »¡ uyg ® uyq ´Õ uyr ±× uys ˽ uyt ÁÊ uyv ¿µ uyw ÌÐ uyx ɱ uyz Áî vb, Ï´ vb. ÄÐ vb/ ´È vb; Å÷ vbh ³Ï vbi ÇÅ vbj ½ù vbk Íû vbl ¿« vbm Á¿ vbn ºÓ vbo ±³ vbp ÉÚ vbu ¹ä vby ¾ß vg, ·ý vg. Éî vg/ Í´ vg; ³µ vgh Ä¢ vgi Ìé vgj ÁÝ vgk ´Ê vgl ±ø vgm ¼ü vgn ¼¿ vgo ¹± vgp ÇÞ vgu ·À vgy ±Õ vt, ¹· vt. ÎÜ vt/ Çô vt; ¿Ó vth ¼Ñ vti ¸¬ vtj Çñ vtk ´Å vtl À¡ vtm ¶´ vtn Ä¿ vto Ï£ vtp ½Ç vtu ºÌ vty ½­ vv, ³¡ vv. ¶ª vv/ Á½ vv; °Ã vvh ¶Å vvi Ê× vvj Ìñ vvk Áþ vvl °° vvm ÇÎ vvn Éï vvo Èì vvp ÂÉ vvu ¿þ vvy ·Ì wb, °ü wb. ±° wb/ Æè wb; ¿ó wbh Ë¿ wbi Å© wbj ¾± wbk »ð wbl ¸Õ wbm Æø wbn á wbo ³æ wbp ±ù wbu ´÷ wby Æô wg, Ëä wg. ²º wg/ »± wg; ´ñ wgh ·û wgi ¸õ wgj ²­ wgk Ëã wgl Áñ wgm Ï­ wgn Ãâ wgo ºÞ wgp Ê¥ wgu ºá wgy ÃÆ wt, ÉÏ wt. ϰ wt/ ±¤ wt; ¸® wth ¾Ò wti ½Ò wtj Î× wtk º½ wtl ÁÐ wtm · wtn ÃÔ wto » wtp ¼á wtu ³Ð wty À¿ wv, Ǩ wv. ºª wv/ Æç wv; Í© wvh »÷ wvi ÈÉ wvj ÄÔ wvk Í÷ wvl ½Á wvm ºñ wvn ÊË wvo Æ¿ wvp ËØ wvu ɺ wvy º¢ xb, Á¹ xb. ´£ xb/ ¶ý xb; ÂÁ xbh ¼Ó xbi ±Í xbj º» xbk ¶Ï xbl Ëò xbm Ë© xbn ¾Ö xbo °À xbp ÁÍ xbu Åã xby ³Á xg, Äæ xg. ¶ü xg/ Áä xg; ¾Ó xgh ÄÆ xgi Ãò xgj Íâ xgk Ë· xgl ¾¤ xgm ¶Ö xgn ÇÄ xgo ÉÓ xgp Ç« xgu ´Î xgy ´® xt, ÄÞ xt. ÀÔ xt/ µ© xt; À xth ¹ó xti ÀÀ xtj ±£ xtk ¸­ xtl ÃÑ xtm Á¢ xtn µÂ xto ·ð xtp ·¦ xtu ³¼ xty µà xv, Á® xv. ÂÜ xv/ ¿Ñ xv; Êð xvh ±Ü xvi ¸ä xvj Éí xvk ·Â xvl ´­ xvm ´ç xvn Ê÷ xvo °ê xvp Ȥ xvu ÄÖ xvy °Ç yha ½ß yhb ϧ yhc ³À yhd µª yhe ¹° yhf ÎØ yhg Ï· yhq È¡ yhr Áã yhs θ yht Ëà yhv ¿ë yhw ¼ì yhx °Î yhz ¿× yma °Þ ymb ÄÕ ymc Ìì ymd ¾â yme ´ý ymf Âë ymg Êí ymq ¸Ô ymr ´Á yms ¯ ymt »ç ymv ¶º ymw Íç ymx Îâ ymz ¶Ü yna Ãä ynb ²ª ync ½§ ynd Çà yne ¶ù ynf ÇÙ yng ´º ynq ÏÄ ynr Èâ yns Ì» ynt Á· ynv °à ynw ±Ú ynx ²å ynz µø yya ÃÕ yyb Éæ yyc ÂÌ yyd ·² yye ¿¢ yyf ÈÝ yyg ²Ù yyq ¸¼ yyr »Þ yys Æ« yyt °Å yyv Äà yyw ɹ yyx µ¼ yyz µÌ zb, ½¶ zb. Àà zb/ ÊÜ zb; Ãð zbh ¶ú zbi Ëê zbj Ä÷ zbk ±² zbl ÇÊ zbm ÅË zbn ±á zbo ½Ý zbp ÄÇ zbu ÎÆ zby ¸¿ zg, ¾á zg. »¢ zg/ Èõ zg; Çæ zgh ¿ý zgi ¾ú zgj ´ª zgk µ÷ zgl ¼§ zgm ͤ zgn ³© zgo ¾ç zgp ¾Û zgu ¹× zgy ÇÝ zt, Àí zt. ³ý zt/ Áæ zt; ³ó zth ļ zti µ¹ ztj Áú ztk Áå ztl Ç´ ztm ¶æ ztn ³õ zto À¦ ztp Çü ztu ¿ñ zty °ç zv, Ìå zv. Éó zv/ ¸Ó zv; ´Ã zvh º­ zvi ·å zvj Ì­ zvk ¼® zvl ³® zvm Âû zvn ÁÌ zvo ɦ zvp ÌØ zvu ÅÎ zvy ºÖ Canna37p3/dic/phono/vje.kpdef0100644000076500001200000001154307554213574015346 0ustar shinraadmin#define copyright /* # # Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # $Id: vje.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° a ¤¢ i ¤¤ u ¤¦ e ¤¨ o ¤ª xa ¤¡ xi ¤£ xu ¤¥ xe ¤§ xo ¤© ka ¤« ki ¤­ ku ¤¯ ke ¤± ko ¤³ ca ¤« co ¤³ xka ¥õ xke ¥ö kya ¤­¤ã kyi ¤­¤£ kyu ¤­¤å kye ¤­¤§ kyo ¤­¤ç kwa ¤¯¤¡ kwi ¤¯¤£ kwu ¤¯ kwe ¤¯¤§ kwo ¤¯¤© qya ¤¯¤ã qyi ¤¯¤£ qyu ¤¯¤å qye ¤¯¤§ qyo ¤¯¤ç sa ¤µ si ¤· su ¤¹ se ¤» so ¤½ sya ¤·¤ã syi ¤·¤£ syu ¤·¤å sye ¤·¤§ syo ¤·¤ç sha ¤·¤ã shi ¤· shu ¤·¤å she ¤·¤§ sho ¤·¤ç ci ¤· ce ¤» ta ¤¿ ti ¤Á tu ¤Ä te ¤Æ to ¤È xtu ¤Ã xtsu ¤Ã tya ¤Á¤ã tyi ¤Á¤£ tyu ¤Á¤å tye ¤Á¤§ tyo ¤Á¤ç cya ¤Á¤ã cyi ¤Á¤£ cyu ¤Á¤å cye ¤Á¤§ cyo ¤Á¤ç cha ¤Á¤ã chi ¤Á chu ¤Á¤å che ¤Á¤§ cho ¤Á¤ç tsa ¤Ä¤¡ tsi ¤Ä¤£ tsu ¤Ä tse ¤Ä¤§ tso ¤Ä¤© tha ¤Æ¤ã thi ¤Æ¤£ thu ¤Æ¤å the ¤Æ¤§ tho ¤Æ¤ç na ¤Ê ni ¤Ë nu ¤Ì ne ¤Í no ¤Î nya ¤Ë¤ã nyi ¤Ë¤£ nyu ¤Ë¤å nye ¤Ë¤§ nyo ¤Ë¤ç ha ¤Ï hi ¤Ò hu ¤Õ he ¤Ø ho ¤Û hya ¤Ò¤ã hyi ¤Ò¤£ hyu ¤Ò¤å hye ¤Ò¤§ hyo ¤Ò¤ç fa ¤Õ¤¡ fi ¤Õ¤£ fu ¤Õ fe ¤Õ¤§ fo ¤Õ¤© fya ¤Õ¤ã fyi ¤Õ¤£ fyu ¤Õ¤å fye ¤Õ¤§ fyo ¤Õ¤ç ma ¤Þ mi ¤ß mu ¤à me ¤á mo ¤â mya ¤ß¤ã myi ¤ß¤£ myu ¤ß¤å mye ¤ß¤§ myo ¤ß¤ç ya ¤ä yi ¤¤ yu ¤æ ye ¤¤¤§ yo ¤è xya ¤ã xyi ¤£ xyu ¤å xye ¤§ xyo ¤ç la ¤é li ¤ê lu ¤ë le ¤ì lo ¤í ra ¤é ri ¤ê ru ¤ë re ¤ì ro ¤í lya ¤ê¤ã lyi ¤ê¤£ lyu ¤ê¤å lye ¤ê¤§ lyo ¤ê¤ç rya ¤ê¤ã ryi ¤ê¤£ ryu ¤ê¤å rye ¤ê¤§ ryo ¤ê¤ç wa ¤ï wi ¤¦¤£ wu ¤¦ we ¤¦¤§ wo ¤ò wha ¤¦¤¡ whi ¤¦¤£ whu ¤¦ whe ¤¦¤§ who ¤¦¤© n ¤ó n\x27 ¤ó nn ¤ó ga ¤¬ gi ¤® gu ¤° ge ¤² go ¤´ gya ¤®¤ã gyi ¤®¤£ gyu ¤®¤å gye ¤®¤§ gyo ¤®¤ç gwa ¤°¤¡ gwi ¤°¤£ gwu ¤° gwe ¤°¤§ gwo ¤°¤© za ¤¶ zi ¤¸ zu ¤º ze ¤¼ zo ¤¾ zya ¤¸¤ã zyi ¤¸¤£ zyu ¤¸¤å zye ¤¸¤§ zyo ¤¸¤ç ja ¤¸¤ã ji ¤¸ ju ¤¸¤å je ¤¸¤§ jo ¤¸¤ç jya ¤¸¤ã jyi ¤¸¤£ jyu ¤¸¤å jye ¤¸¤§ jyo ¤¸¤ç da ¤À di ¤Â du ¤Å de ¤Ç do ¤É dya ¤Â¤ã dyi ¤Â¤£ dyu ¤Â¤å dye ¤Â¤§ dyo ¤Â¤ç dha ¤Ç¤ã dhi ¤Ç¤£ dhu ¤Ç¤å dhe ¤Ç¤§ dho ¤Ç¤ç ba ¤Ð bi ¤Ó bu ¤Ö be ¤Ù bo ¤Ü bya ¤Ó¤ã byi ¤Ó¤£ byu ¤Ó¤å bye ¤Ó¤§ byo ¤Ó¤ç pa ¤Ñ pi ¤Ô pu ¤× pe ¤Ú po ¤Ý pya ¤Ô¤ã pyi ¤Ô¤£ pyu ¤Ô¤å pye ¤Ô¤§ pyo ¤Ô¤ç va ¥ô¤¡ vi ¥ô¤£ vu ¥ô ve ¥ô¤§ vo ¥ô¤© vya ¥ô¤ã vyi ¥ô¤£ vyu ¥ô¤å vye ¥ô¤§ vyo ¥ô¤ç kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q vv ¤Ã v ll ¤Ã l tts ¤Ã ts tch ¤Ã ch , ¡¢ . ¡£ [ ¡Ö ] ¡× { ¡Ø } ¡Ù ^ ¡° < ¡ã > ¡ä - ¡¼ @- ¡Ý @@ ¡¡ @/ ¡¦ @\\ ¡À @ ¡÷ @, ¡¤ @. ¡¥ @~ ¡Á @|| ¡Â @| ¡Ã @3 ¡Ä @2 ¡Å @( ¡Ê @) ¡Ë @[ ¡Î @] ¡Ï @{ ¡Ð @} ¡Ñ ~ ¡± ? ¡© ! ¡ª \# ¡ô $ ¡ð \x22 ¡É % ¡ó & ¡õ \x27 ¡Ç ` ¡® + ¡Ü * ¡ö = ¡á | ¡Ã ; ¡¨ : ¡§ _ ¡² / ¡¿ \\ ¡ï Canna37p3/dic/phono/wx2+.kpdef0100644000076500001200000001104507554213574015352 0ustar shinraadmin#define copyright /* # # Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # $Id: wx2+.kpdef,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ # */ 1 £± 2 £² 3 £³ 4 £´ 5 £µ 6 £¶ 7 £· 8 £¸ 9 £¹ 0 £° a ¤¢ i ¤¤ u ¤¦ e ¤¨ o ¤ª la ¤¡ li ¤£ lu ¤¥ le ¤§ lo ¤© xa ¤¡ xi ¤£ xu ¤¥ xe ¤§ xo ¤© ka ¤« ki ¤­ ku ¤¯ ke ¤± ko ¤³ kya ¤­¤ã kyi ¤­¤£ kyu ¤­¤å kye ¤­¤§ kyo ¤­¤ç kwa ¤¯¤¡ sa ¤µ si ¤· su ¤¹ se ¤» so ¤½ sya ¤·¤ã syi ¤·¤£ syu ¤·¤å sye ¤·¤§ syo ¤·¤ç sha ¤·¤ã shi ¤· shu ¤·¤å she ¤·¤§ sho ¤·¤ç ta ¤¿ ti ¤Á tu ¤Ä te ¤Æ to ¤È ltu ¤Ã ltsu ¤Ã xtu ¤Ã xtsu ¤Ã tya ¤Á¤ã tyi ¤Á¤£ tyu ¤Á¤å tye ¤Á¤§ tyo ¤Á¤ç cya ¤Á¤ã cyi ¤Á¤£ cyu ¤Á¤å cye ¤Á¤§ cyo ¤Á¤ç cha ¤Á¤ã chi ¤Á chu ¤Á¤å che ¤Á¤§ cho ¤Á¤ç tsa ¤Ä¤¡ tsi ¤Ä¤£ tsu ¤Ä tse ¤Ä¤§ tso ¤Ä¤© tha ¤Æ¤ã thi ¤Æ¤£ thu ¤Æ¤å the ¤Æ¤§ tho ¤Æ¤ç twu ¤È¤¥ na ¤Ê ni ¤Ë nu ¤Ì ne ¤Í no ¤Î nya ¤Ë¤ã nyi ¤Ë¤£ nyu ¤Ë¤å nye ¤Ë¤§ nyo ¤Ë¤ç ha ¤Ï hi ¤Ò hu ¤Õ he ¤Ø ho ¤Û hya ¤Ò¤ã hyi ¤Ò¤£ hyu ¤Ò¤å hye ¤Ò¤§ hyo ¤Ò¤ç fa ¤Õ¤¡ fi ¤Õ¤£ fu ¤Õ fe ¤Õ¤§ fo ¤Õ¤© fya ¤Õ¤ã fyi ¤Õ¤£ fyu ¤Õ¤å fye ¤Õ¤§ fyo ¤Õ¤ç ma ¤Þ mi ¤ß mu ¤à me ¤á mo ¤â mya ¤ß¤ã myi ¤ß¤£ myu ¤ß¤å mye ¤ß¤§ myo ¤ß¤ç ya ¤ä yi ¤¤ yu ¤æ ye ¤¤¤§ yo ¤è lya ¤ã lye ¤§ lyi ¤£ lyo ¤ç lyu ¤å xya ¤ã xye ¤§ xyi ¤£ xyo ¤ç xyu ¤å ra ¤é ri ¤ê ru ¤ë re ¤ì ro ¤í rya ¤ê¤ã ryi ¤ê¤£ ryu ¤ê¤å rye ¤ê¤§ ryo ¤ê¤ç wa ¤ï wi ¤¦¤£ wu ¤¦ we ¤¦¤§ wo ¤ò whi ¤¦¤£ whe ¤¦¤§ n ¤ó n\x27 ¤ó nn ¤ó mn ¤ó ga ¤¬ gi ¤® gu ¤° ge ¤² go ¤´ gya ¤®¤ã gyi ¤®¤£ gyu ¤®¤å gye ¤®¤§ gyo ¤®¤ç gwa ¤°¤¡ za ¤¶ zi ¤¸ zu ¤º ze ¤¼ zo ¤¾ jya ¤¸¤ã jyi ¤¸¤£ jyu ¤¸¤å jye ¤¸¤§ jyo ¤¸¤ç zya ¤¸¤ã zyi ¤¸¤£ zyu ¤¸¤å zye ¤¸¤§ zyo ¤¸¤ç ja ¤¸¤ã ji ¤¸ ju ¤¸¤å je ¤¸¤§ jo ¤¸¤ç da ¤À di ¤Â du ¤Å de ¤Ç do ¤É dya ¤Â¤ã dyi ¤Â¤£ dyu ¤Â¤å dye ¤Â¤§ dyo ¤Â¤ç dha ¤Ç¤ã dhi ¤Ç¤£ dhu ¤Ç¤å dhe ¤Ç¤§ dho ¤Ç¤ç dwu ¤É¤¥ ba ¤Ð bi ¤Ó bu ¤Ö be ¤Ù bo ¤Ü bya ¤Ó¤ã byi ¤Ó¤£ byu ¤Ó¤å bye ¤Ó¤§ byo ¤Ó¤ç pa ¤Ñ pi ¤Ô pu ¤× pe ¤Ú po ¤Ý pya ¤Ô¤ã pyi ¤Ô¤£ pyu ¤Ô¤å pye ¤Ô¤§ pyo ¤Ô¤ç va ¤¦¡«¤¡ vi ¤¦¡«¤£ vu ¤¦¡« ve ¤¦¡«¤§ vo ¤¦¡«¤© kk ¤Ã k ss ¤Ã s tt ¤Ã t hh ¤Ã h mm ¤Ã m yy ¤Ã y rr ¤Ã r ww ¤Ã w gg ¤Ã g zz ¤Ã z dd ¤Ã d bb ¤Ã b pp ¤Ã p cc ¤Ã c ff ¤Ã f jj ¤Ã j qq ¤Ã q vv ¤Ã v tch ¤Ã ch , ¡¢ . ¡£ [ ¡Ö ] ¡× { ¡Ø } ¡Ù ^ ¡° < ¡ã > ¡ä - ¡¼ @- ¡Ý @@ ¡¡ @/ ¡¦ @\\ ¡À @ ¡÷ @, ¡¤ @. ¡¥ @~ ¡Á @|| ¡Â @| ¡Ã @3 ¡Ä @2 ¡Å @( ¡Ê @) ¡Ë @[ ¡Î @] ¡Ï @{ ¡Ð @} ¡Ñ ~ ¡± ? ¡© ! ¡ª \# ¡ô $ ¡ð \x22 ¡É % ¡ó & ¡õ \x27 ¡Ç ` ¡® + ¡Ü * ¡ö = ¡á | ¡Ã ; ¡¨ : ¡§ _ ¡² / ¡¿ \\ ¡ï Canna37p3/doc/0040755000076500001200000000000010052700705012411 5ustar shinraadminCanna37p3/doc/.cvsignore0100644000076500001200000000002107601177341014411 0ustar shinraadmin.depend Makefile Canna37p3/doc/canna.bib0100644000076500001200000002301107554213574014161 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: canna.bib,v 1.1.1.1 2002/10/19 08:27:40 aida_s Exp $ @ARTICLE{jus¥×¥í¥°¥é¥à, AUTHOR = "ºäËÜʸ", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1992, MONTH = 7, PAGES = 103, NOTE = "jusÂç²ñ¤Î¥×¥í¥°¥é¥à¤Ë½Ð¤Æ¤¤¤ë¤À¤±", } @INPROCEEDINGS{Canna22paper, AUTHOR = "º£¾¼,¿û°æ¾¡", TITLE = "ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¡Ö¤«¤ó¤Ê¡×", BOOKTITLE = "jusÀßΩ10¼þǯµ­Ç°UNIX¹ñºÝ¥·¥ó¥Ý¥¸¥¦¥àÏÀʸ½¸", YEAR = 1992, PAGES = "83--93", PUBLISHER = "jusÆüËÜUNIX¥æ¡¼¥¶²ñ", MONTH = 7, NOTE = "¡Ø¤«¤ó¤Ê¡Ù¤ÎºÇ½é¤ÎÏÀʸ", } @ARTICLE{ȯɽ¾Ò²ð, AUTHOR = "", TITLE = "jusÀßΩ10¼þǯµ­Ç°UNIX¹ñºÝ¥·¥ó¥Ý¥¸¥¦¥à", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1992, MONTH = 9, PAGES = 22, NOTE = "jus¤Ç¤Îȯɽ¤ÎÍͻҤξҲ𵭻öÃæ¤Ë½Ð¤Æ¤¯¤ë", } @ARTICLE{ÀÖ¤Á¤ã¤ó¤Î̾Á°, AUTHOR = "ºäËÜʸ(Aya Sakamoto)", TITLE = "UNIX¤Ø¤Î¾·ÂÔ", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1992, MONTH = 11, PAGES = 157, NOTE = "ÀÖ¤Á¤ã¤ó¤Î̾Á°¤È¤·¤Æ¡Ö¤«¤ó¤Ê¡×¤òÄ󰯤·¤¿Ï䬽Фë", } @ARTICLE{ÅÌÁ³Áð, AUTHOR = "ÀõÌîÍý¿¹(Tadamori Asano)", TITLE = "Âè6²ó¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥óÅÌÁ³Áð¡ÁEWS4800ÊÔ¡ÁÆüËܸìÆþÎϴĶ­¤«¤ó¤Ê", JOURNAL = {Software Design}, YEAR = 1992, MONTH = 11, PAGES = "62--69", NOTE = "¾¾ÂûÉ÷¥«¥¹¥¿¥Þ¥¤¥º¥µ¥ó¥×¥ëÉÕ¤­", } @ARTICLE{386BSD, AUTHOR = "ÁýÅIJÂÂÙ", TITLE = "386BSDÂè5²ó386BSD¤ÇÆüËܸì¤ò»È¤ª¤¦", JOURNAL = {¥¹¡¼¥Ñ¡¼¥¢¥¹¥­¡¼}, YEAR = 1993, MONTH = 4, PAGES = "81--84", NOTE = "386BSD ¤ÇÆüËܸìÆþÎϤȤ·¤Æ¡Ø¤«¤ó¤Ê¡Ù¤òÍѤ¤¤ë¾Ò²ðµ­»ö", } @ARTICLE{Nemacs, AUTHOR = "¹Ó°æÈþÀé»Ò(Michiko Arai)", TITLE = "NemacsÆþÌç17", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1993, MONTH = 5, PAGES = 104, NOTE = "Nemacs¤Ç»È¤¦¤«¤Ê´Á»úÊÑ´¹¤ÎÈæ³Óµ­»ö¤ÇÂоݤˤʤä¿", } @ARTICLE{beta3, AUTHOR = "ÀõÌîÍý¿¹(Tadamori Asano)", TITLE = "ºÇ¿·¡ªÆüËܸì´Ä¶­¤Ë¥Á¥ã¥ì¥ó¥¸1", JOURNAL = {Software Design}, YEAR = 1993, MONTH = 6, PAGES = "49--54", NOTE = "¡Ø¤«¤ó¤Ê¡Ù¤Î¦Â3¤Î¾Ò²ðµ­»ö", } @ARTICLE{SOMOSAN, AUTHOR = "¼ÆÅĤߤ椭(Miyuki Shibata)", TITLE = "ºÇ¿·¡ªÆüËܸì´Ä¶­¤Ë¥Á¥ã¥ì¥ó¥¸2", JOURNAL = {Software Design}, YEAR = 1993, MONTH = 6, PAGES = 63, NOTE = "¡Ö¥Õ¥ê¡¼¤Î¤â¤Î¤Ï¥á¥ó¥Æ¤¬¤Ê¤¤¡×Îã¤È¤·¤Æ¥Ý¥¤¥ó¥È¤µ¤ì¤Æ¤¤¤ë", } @ARTICLE{UnixWare, AUTHOR = "±Ê±É¹¨°Â(Hiroyasu Nagae)", TITLE = "UnixWare", JOURNAL = {Software Design}, YEAR = 1993, MONTH = 6, PAGES = "112", NOTE = "UnixWare¤ËSDK¤µ¤¨¤¢¤ì¤Ð¤«¤Ê´Á»úÊÑ´¹¤¬ºî¤ì¤ë¤Í¤Ç¡¢¤Á¤ç¤Ã¤È½Ð¤ÆÍè¤ë", } @ARTICLE{Canna22, AUTHOR = "¤ß¤ë¤¯", TITLE = "NetNewsÊØ¤ê", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1993, MONTH = 7, PAGES = 120, NOTE = "¡Ø¤«¤ó¤Ê¡Ù2.2 ¤ÎÅê¹Æµ­»ö¤ÎµÒ´ÑŪÊó¹ð", } @ARTICLE{´äÇȼ­½ñ, AUTHOR = "", TITLE = "´äÇÈÈǤ«¤ó¤Ê¼­½ñ", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1993, MONTH = 8, PAGES = 2, NOTE = "´äÇÈÈǤ«¤ó¤Ê¼­½ñ¤Î½Ð²Ù¥Ë¥å¡¼¥¹", } @ARTICLE{diclookup.el, AUTHOR = "¤ß¤ë¤¯", TITLE = "NetNewsÊØ¤ê", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1993, MONTH = 8, PAGES = 133, NOTE = "diclookup.el¤ÎCanna 2.2Âбþ¤¬ fj.sources ¤Ë½Ð¤¿¤È¸À¤¦µ­»ö", } @ARTICLE{IXI, AUTHOR = "", TITLE = "SPARCÍÑÆüËܸìOSF/Motif", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1993, MONTH = 4, PAGES = 3, NOTE = "SparcÍÑMotif¤Î½Ð²Ùµ­»ö¡£¡Ø¤«¤ó¤Ê¡Ù¤â¥Ð¥ó¥É¥ë", } @ARTICLE{386BSD, AUTHOR = "¸Å¾ì Àµ¹Ô", TITLE = "386BSD Âè9²ó Canna Ver.2.2 ¤ò»È¤ª¤¦", JOURNAL = {¥¹¡¼¥Ñ¡¼¥¢¥¹¥­¡¼}, YEAR = 1993, MONTH = 8, PAGES = "84--85", NOTE = "386BSD ¤Ø¤Î¡Ø¤«¤ó¤Ê¡Ù¤Î¥¤¥ó¥¹¥È¡¼¥ë¤È³èÍÑÊýË¡¤ò¾Ò²ð¤·¤¿µ­»ö", } @ARTICLE{YaCaN_9309, AUTHOR = "¤¹¤º¤­¤Ò¤í¤Î¤Ö", TITLE = "NeXT¤Î¤â¤¦£±¤Ä¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥àYaCaN", JOURNAL = {¥È¥éµ»¥³¥ó¥Ô¥å¡¼¥¿}, YEAR = 1993, MONTH = 9, PAGES = "11 -- 12", PUBLISHER= "CQ½ÐÈÇ", NOTE = "NeXTSTEP¾å¤Ç¤Î¡Ø¤«¤ó¤Ê¡Ù¥¯¥é¥¤¥¢¥ó¥ÈYaCaN¤Ë¤Ä¤¤¤Æ¤Î¾Ò²ð" } @INBOOK{ÆþÌçXWindow, AUTHOR = "¾¾ÅÄ ¹¸°ì and ÎñËÜ ½ã°ì", TITLE = "ÆþÌç X Window", PUBLISHER = "¥¢¥¹¥­¡¼½ÐÈǶÉ", YEAR = 1993, PAGES = "76--78", NOTE = "3¾Ï ÆüËܸì´Ä¶­/ 3.3 kinput2/ 3.3.1 canna" } @ARTICLE{PANIX, AUTHOR = "º£°æ »üϺ", TITLE = "PANIX", JOURNAL = {Software Design}, YEAR = 1993, MONTH = 10, PAGES = "62--63", NOTE = "PANIX ¤Î¥Õ¥ê¡¼¥½¥Õ¥È¤Î¾Ò²ð¤Ç¤Á¤ç¤Ã¤ÈºÜ¤Ã¤Æ¤¤¤¿", } @INBOOK{IPA, AUTHOR = "¾ðÊó½èÍý¿¶¶½»ö¶È¶¨²ñ and ³ô¼°²ñ¼Ò »°É©Áí¹ç¸¦µæ½ê", TITLE = "¹âÅÙ¾ðÊó½èÍýµ»½ÑÁªÂò¶µºà¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à ¥Æ¥­¥¹¥È", PUBLISHER = "¥ê¥Ã¥¯¥Æ¥ì¥³¥à", YEAR = 1993, PAGES = "99--102", NOTE = "EWS4800¤ÎÆüËܸìÆþÎϤΤ·¤«¤¿¤Ç½Ð¤Æ¤¯¤ë" } @ARTICLE{BOOKREVIEW, AUTHOR = "ÇðÌÚ¿­°ìϺ", TITLE = "BOOKREVIEW,¡ÖGNU Emacs¡×", JOURNAL = {UNIX USER}, YEAR = 1994, MONTH = 2, PAGES = "152-153", NOTE = "ËÜʸ¤Ë Canna ¤Ë¤Ä¤¤¤Æ½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¤Î¤¬»Äǰ¤È½ñ¤¤¤Æ¤¢¤ë", } @ARTICLE{Canna22, AUTHOR = "¤Ê¤«¤à¤é¡¦¤ª¤µ¤à ·Ä±þµÁ½ÎÂç³Ø", TITLE = "NetNews", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1994, MONTH = 2, PAGES = 55, NOTE = "¼¡²ó¡¢Canna ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ËÄ©À路¤è¤¦¤È½ñ¤¤¤Æ¤¢¤ë¤À¤±", } @ARTICLE{CannaVersion2.2patch4, AUTHOR = "¤ß¤ë¤¯", TITLE = "NetNews", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1994, MONTH = 2, PAGES = 130, NOTE = "fj.sources ¤Ë Canna version 2.2 patch 4 ¤¬½Ð¤Þ¤·¤¿¤È¤¤¤¦µ­»ö", } @ARTICLE{¥Ð¡¼¥Á¥ã¥ë¡¦¥ï¡¼¥¯¥¹¥Ú¡¼¥¹, AUTHOR = "", TITLE = "News" JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1994, MONTH = 2, PAGES = 4, NOTE = "ÆüËܸìÆþÎϤλÅÍͤȤ·¤Æ canna¥µ¡¼¥Ð¡¼ ¤¬ºÜ¤Ã¤Æ¤¤¤ë" } @ARTICLE{ÆüËܸì´Ä¶­(4), AUTHOR = "ÃæÂ¼ ½¤", TITLE = "BSD/386", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1994, MONTH = 3, PAGES = "50--55", NOTE = "¡Ø¤«¤ó¤Ê¡Ù¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Î»ÅÊý¤Ë¤Ä¤¤¤Æ", } @ARTICLE{UNIX¤ÎGraphicalUserInterface, AUTHOR = "̱ÅÄ ²í¿Í" TITLE = "ÆüËܸìÆþÎÏ¥Õ¥í¥ó¥È¥¨¥ó¥É Kinput2 ¤Î SJ3 ¥â¡¼¥É" JOURNAL = {UNIX USER}, YEAR = 1994, MONTH = 3, PAGES = "136-141" NOTE = "¥¿¥¤¥È¥ë¤È°ã¤Ã¤Æ¡¢ÆâÍÆ¤Ï¤Û¤È¤ó¤É Canna ¤Ë¤Ä¤¤¤Æ½ñ¤«¤ì¤Æ¤¤¤ë" } @ARTICLE{Canna22¥Ñ¥Ã¥Á¥ì¥Ù¥ë4, AUTHOR = "Çòºê ÇîÀ¸", TITLE = "AIX¤Ç»È¤¦¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢Canna22¥Ñ¥Ã¥Á¥ì¥Ù¥ë4", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1994, MONTH = 6, PAGES = "112", NOTE = "¥Õ¥ê¡¼¥½¥Õ¥È¤È¤·¤Æ¤Î¾Ò²ð", } @ARTICLE{dp/NOTE, AUTHOR = "", TITLE = "NEWS", JOURNAL = {UNIX¥Þ¥¬¥¸¥ó}, YEAR = 1994, MONTH = 6, PAGES = "11", NOTE = "UNIXÍÑÆüËܸì¥ï¡¼¥×¥í¡¦¥½¥Õ¥È¥¦¥§¥¢À½ÉʤξҲð", } @ARTICLE{¤¤¤Ä¤Ç¤â¤É¤³¤Ç¤âÆüËܸìÆþÎÏ, AUTHOR = "º£ ¾¼", TITLE = "¤¤¤Ä¤Ç¤â¤É¤³¤Ç¤âÆüËܸìÆþÎϡؤ«¤ó¤Ê¡Ù", JOURNAL = {bit}, YEAR = 1994, MONTH = 7, PAGES = "55--66", NOTE = "¡Ø¤«¤ó¤Ê¡Ù¤Ë¤Ä¤¤¤Æ³«È¯¼Ô¤¬¸ì¤ë¡£", } @ARTICLE{CD-ROM¤Î²òÀâ, AUTHOR = "", TITLE = "¡ÖUNIX USER Lib CD Vol.4¡×¤ÎÊ⤭Êý", JOURNAL = {UNIX USER}, YEAR = 1994, MONTH = 7, PAGES = "77,79", NOTE = "LibCD Vol.4 ¤Ë¼ýÏ¿¤µ¤ì¤¿¥½¡¼¥¹¤È¤·¤ÆCanna¤ò¾Ò²ð", } @ARTICLE{PCUNIX¿¿À¹¤ê, AUTHOR = "º£°æ»üϺ(Yoshiro Imai),»°Ã«½¡»Ò(Soko Mitani)", TITLE = "PANIX Ver3.0¤Î¼ÂÎÏ", JOURNAL = {Software Design}, YEAR = 1994, MONTH = 7, PAGES = "48-49", NOTE = "Emacs ¤Ç»È¤¨¤ëÆüËܸìÆþÎÏ¥½¥Õ¥È¤È¤·¤Æ¡¢Wnn ¤è¤êÀè¤Ë½Ð¤Æ¤¤¤ë¡£", } @ARTICLE{LettersFromReader, AUTHOR = "Êݺä ÂÙ¿Í", TITLE = "Ì¥ÏǤÎPANIX", JOURNAL = {Software Design}, YEAR = 1994, MONTH = 7, PAGES = "174", NOTE = "¡ÖWnn¤¬ÃÙ¤¯¤ÆCanna¤¬Â®¤¤¡×¤Ï¾ï¼±", } @ARTICLE{¤«¤Ê´Á»úÊÑ´¹µ»½Ñ, AUTHOR = "º£¾¼,»°´Èͼ»Ò", TITLE = "¤«¤Ê´Á»úÊÑ´¹µ»½Ñ", JOURNAL = {NECµ»Ë¡(Vol.47 No.8)}, YEAR = 1994, MONTH = 9, PAGES = "7-11", NOTE = "¤«¤Ê´Á»úÊѵ»½Ñ¤Î¤Ò¤È¤Ä¤È¤·¤ÆCanna¤ÎÆÃħ¤ò¾Ò²ð", } @INPROCEEDINGS{Canna32paper, AUTHOR = "»°´Èͼ»Ò,º£¾¼", TITLE = "¡Ø¤«¤ó¤Ê¡ÙVersion3.2¤Ë¤Ä¤¤¤Æ", BOOKTITLE = "Âè24²ójusUNIX¥·¥ó¥Ý¥¸¥¦¥àÏÀʸ½¸", YEAR = 1994, PAGES = "70--79", PUBLISHER = "jusÆüËÜUNIX¥æ¡¼¥¶²ñ", MONTH = 10, NOTE = "Âè24²ójusUNIX¥·¥ó¥Ý¥¸¥¦¥à¤Ç¡ØÍ¥½¨ÏÀʸ¾Þ¡Ù¤ò¼õ¾Þ!!", } @INPROCEEDINGS{Mule, AUTHOR = "ÂçÌÚÆØÍº", TITLE = "¡Ö¤«¤ó¤Ê¡×¤Ë¤è¤ëÆüËܸìÆþÎÏ", BOOKTITLE = "ÆþÌç Mule", YEAR = 1994, PAGES = "71--94,143-149", PUBLISHER = "¥¢¥¹¥­¡¼½ÐÈǶÉ", MONTH = 12, NOTE = "ÆüËܸìÆþÎϤˡ¢Canna ¤¬Â硹Ū¤Ë¼è¤ê¾å¤²¤é¤ì¤Æ¤¤¤ë¡£", } @INPROCEEDINGS{BOW, AUTHOR = "", TITLE = "BSD on Windows", BOOKTITLE = "SUPER ASCII", YEAR = 1995, PAGES = "95", PUBLISHER = "¥¢¥¹¥­¡¼", MONTH = 1, NOTE = "BOW(Bsd on Window)¾å¤Ç cannaserver ¤òư¤«¤· Mule ¤ÇÆüËܸìÆþÎÏ", } @INPROCEEDINGS{UNIX¤ÎÆüËܸì´Ä¶­, AUTHOR = "¾¾ÅŸ°ì,ÎñËܽã°ì", TITLE = "Canna¤Ë¤è¤ëÆüËܸìÆþÎÏ", BOOKTITLE = "UNIXÆüËܸì´Ä¶­", YEAR = 1995, PAGES = "82--104,130--144,152--171,192--196", PUBLISHER = "¥¢¥¹¥­¡¼½ÐÈǶÉ", MONTH = 1, NOTE = "Wnn ¤« Canna ¤Î¤É¤Á¤é¤«Ì¤äƤ¤¤ë¤Ê¤é¡¢¤º¤Ð¤êCanna", } @INPROCEEDINGS{BSD, AUTHOR = "µÜÀîÉá,ÁýÅIJÂÂÙ,¸Å¾ìÀµ¹Ô", TITLE = "¤¤¤í¤Ï¤Ë¤«¤ó¤Ê", BOOKTITLE = "BSD¤ò256ÇܻȤ¦¤¿¤á¤ÎËÜ", YEAR = 1995, PAGES = "198--202", PUBLISHER = "¥¢¥¹¥­¡¼½ÐÈǶÉ", MONTH = 3, NOTE = "É®¼Ô¤¬ Canna ¤Ë¹¥°ÕŪ", } Canna37p3/doc/canna.sty0100644000076500001200000001027307727326134014251 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % $Id: canna.sty,v 1.2 2003/09/09 10:33:00 takasan Exp $ % enumerate ´Ä¶­¤ÎºÆÄêµÁ % % LaTeX ¤Î enumerate ´Ä¶­¤ò°Ê²¼¤Î´ÑÅÀ¤«¤éÄêµÁ¤·Ä¾¤¹¡£ % % (1) ÈÖ¹æ¤ò´Ý¥«¥Ã¥³¤Ç°Ï¤à¤è¤¦¤Ë¤¹¤ë¡£ % (2) ¥ê¥¹¥È¤ÎËÜʸ¤ÇÃÊÍî¤Î¤Ï¤¸¤á¤Ï¥¤¥ó¥Ç¥ó¥È¤¹¤ë¤è¤¦¤Ë¤¹¤ë¡£ % (3) \enumerate ¤È¤¤¤¦¤Î¤ÏÂǤÁ¤Ë¤¯¤¤¤Î¤Ç \bango ¤ÇÆþ¤ì¤é¤ì¤ë¤è¤¦¤Ë¤¹ % ¤ë¡£Æ±ÍÍ¤Ë \itemize ¤ËÂФ·¤Æ \pochi ¤ò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¡£¤Þ¤¿¡¢ % \item ¤Ï¤Á¤ç¤Ã¤ÈÌܾã¤ê¤Ê¤Î¤Ç \x ¤Ç¤â¤¤¤¤¤è¤¦¤Ë¤¹¤ë¡£ % \def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list {\csname label\@enumctr\endcsname}{\usecounter {\@enumctr} \listparindent\parindent \parsep\parskip \itemsep\z@ \def\makelabel##1{\hss\llap{##1}}}\fi} \def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% \list{\csname\@itemitem\endcsname}{ \listparindent\parindent \parsep\parskip \itemsep\z@ \def\makelabel##1{\hss\llap{##1}}}\fi} \let\bango =\enumerate \let\pochi =\itemize \let\x =\item \def\labelenumi{(\theenumi)} \def\labelenumii{(\theenumii)} \def\labelenumiii{(\theenumiii)} \def\labelenumiv{(\theenumiv)} % ¥¤¥ó¥Ç¥ó¥È¤ÎÂ礭¤µ¤ò°ìʸ»úʬ¤Ë¤¹¤ë¡£ % % \settowidth{\parindent}{¤¢} % ʸ½ñ¤Î¥µ¥¤¥º¤ò¥ì¥¿¡¼¥µ¥¤¥º¤Ç¤Ï¤Ê¤¯¡¢A4 ¥µ¥¤¥º¤Ë¹ç¤ï¤»¤ë % % \setlength{\oddsidemargin}{5mm} \setlength{\textwidth}{153mm} \setlength{\textheight}{230mm} \setlength{\topmargin}{-5mm} % ÃÊÍî´Ö¤Î¥¹¥Ú¡¼¥¹¤òÍ¿¤¨¤ë % % \setlength{\parskip}{1ex plus 0.2ex} \gdef\IDX#1#2{{#1}\index{#2$$$#1$$$}} % \gdef\IDXX#1#2{{\sf\dg #1}\index{#2$$$#1$$$}} \gdef\IDXAS#1#2{\index{#2$$$#1$$$}} % \gdef\IDXC#1#2#3{{#1}\index{#3a#2$$$CIDX #1$$$}} % \gdef\IDXCAS#1#2#3{\index{#3a#2$$$CIDX #1$$$}} % HIDX ¤Ê¤ÉÂбþ \gdef\HIDX#1#2#3{\IDX{#1}{#2}} \gdef\HIDXAS#1#2#3{\IDXAS{#1}{#2}} \gdef\hptar#1{} \gdef\hpref#1{} % ¥­¡¼¥Ü¡¼¥É¤ÎÀâÌÀ¤¬¤·¤ä¤¹¤¤¤è¤¦¤Ë \def\CTRL{\fbox{CTRL}} \def\SHIFT{\fbox{SHIFT}} \def\TAB{\fbox{TAB}} \def\BS{\fbox{BS}} \def\DEL{\fbox{DEL}} \def\ESC{\fbox{ESC}} \def\XFER{\fbox{XFER}} \def\NFER{\fbox{NFER}} \def\SPACE{\fbox{SPACE}} \def\INS{\fbox{INS}} \def\HELP{\fbox{HELP}} \def\RETURN{\fbox{RETURN}} \newlength{\reversefboxsep} \setlength{\reversefboxsep}{0.1em} \setcounter{secnumdepth}{5} \newenvironment{nquote}[1]% {\list{}{\leftmargin=#1}\item[]}% {\endlist} %namelist environment (Nelson H. F. Beebe) %form: \begin{namelist}{width} \newcommand{\namelistlabel}[1]{\mbox{#1}\hfil} \newenvironment{namelist}[1]{% \begin{list}{} {\let\makelabel\namelistlabel \settowidth{\labelwidth}{#1} \setlength{\leftmargin}{1.1\labelwidth}} }{% \end{list}} \hfuzz 5pt % % ¥Ú¡¼¥¸ÅÓÃæ¤Ç²þ¥Ú¡¼¥¸¤¹¤ë¤È¤­¡¢¥Ú¡¼¥¸¤Î²¼Êý¤Ë¶õÇò¤ò¤È¤ë % \raggedbottom % % ¿ÞɽÌܼ¡¤ÎÈÖ¹æ¤È¸«½Ð¤·¤Î´Ö³Ö¤ò¹­¤¯¤¹¤ë % %\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} % ¥ª¥ê¥¸¥Ê¥ë(jbook.sty) \def\l@figure{\@dottedtocline{1}{1.5em}{3.3em}} \def\l@table{\@dottedtocline{1}{1.5em}{3.3em}} % % ASCII ÈÇ TeX ¤È NTT ÈǤΰ㤤¤ÎµÛ¼ý % %\newif\ifASCII %\ifx\gtfam\undefined %\ASCIIfalse %\else %\ASCIItrue %\fi %\ifASCII \providecommand{\dg}{\gt} \providecommand{\dm}{\mc} %\fi Canna37p3/doc/Imakefile0100644000076500001200000000041407731733471014236 0ustar shinraadmin/* $Id: Imakefile,v 1.2 2003/09/17 01:22:01 aida_s Exp $ */ #include "../Canna.conf" CANNAROOT = .. all:: LinkFileList(includes,canna.sty,man/guide/tex,../../..) LinkFileList(includes,canna.sty,lisp,..) LinkFileList(includes,canna.sty,intern,..) depend:: Canna37p3/doc/intern/0040755000076500001200000000000010052700705013710 5ustar shinraadminCanna37p3/doc/intern/.cvsignore0100644000076500001200000000001207601177341015710 0ustar shinraadmincanna.sty Canna37p3/doc/intern/dic.txt0100644000076500001200000003142307724401365015224 0ustar shinraadmincanna¤Î¥Ð¥¤¥Ê¥ê¼­½ñ¤Î·Á¼° $Id: dic.txt,v 1.4 2003/08/31 14:15:17 aida_s Exp $ canna¤Î¼­½ñ¤Ë¤Ï¼«Î©¸ì¼­½ñ¤ÈÉÕ°¸ì¼­½ñ¤¬¤¢¤ê¡¢¤½¤ì¤¾¤ìMWD,SWD¤È¤¤¤¦¥³¡¼¥É¤Ç ¼±Ê̤µ¤ì¤ë¡£¤³¤Î¤Û¤«¡¢ÆâÉô¤Ç¤ÏPRE¼­½ñ¡¢SUC¼­½ñ¤È¤¤¤¦¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢ ¤½¤ì¤¾¤ìÀÜÆ¬¸ì¡¢ÀÜÈø¸ì¤Î¼­½ñ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤è¤¦¤À¤¬¡¢¸½ºß¤Î¤È¤³¤í»È¤ï¤ì¤Æ¤ª¤é¤º¡¢ ưºî¤¹¤ë¤«¤É¤¦¤«¤âÉÔÌÀ¤Ç¤¢¤ë¡£ ¤Þ¤¿¡¢¼­½ñ¤Î·Á¼°¤Ï¥Æ¥­¥¹¥È·Á¼°¤È¥Ð¥¤¥Ê¥ê·Á¼°¤¬¤¢¤ë¡£¥Æ¥­¥¹¥È¼­½ñ¤Ï¡¢Ã±¸ìÅÐÏ¿¤¬ ²Äǽ¤Ç¤¢¤ê¡¢³Ø½¬¤Ë¤è¤Ã¤Æ¤âÆâÍÆ¤¬ÊѲ½¤¹¤ë¡£¤½¤Î¤«¤ï¤ê¥Þ¥¦¥ó¥È¤Ë¶õ´ÖŪ¡¦»þ´ÖŪ ¥³¥¹¥È¤¬¤«¤«¤ë¤¿¤á¡¢¥æ¡¼¥¶¡¼¼­½ñ¤äÀìÌçÍѸ켭½ñ¤Ë»È¤ï¤ì¤ë¡£¤Þ¤¿¡¢ÊÝ»ý¤Ç¤­¤ë ³Ø½¬¾ðÊó¤Ï¡¢Ã±¸ì¤ÎÍ¥Àè½ç°Ì¤È¡¢Á°²ó»È¤ï¤ì¤Æ¤«¤é¤Î²¾ÁÛŪ»þ´Ö(tick)¤À¤±¤Ç¤¢¤ë¡£ ¤Ê¤ª¡¢ÉÕ°¸ì¼­½ñ¤Î¤¦¤Á¡¢fuzokugo.cbd¤Ï¡¢¸ì×åǡ¼¥¿¤Î¾¤Ëʸˡ¥Ç¡¼¥¿¤ò»ý¤Ä¤¿¤á¡¢ ¥Æ¥­¥¹¥È·Á¼°¤Ë¤Ï¤Ç¤­¤Ê¤¤¡£ ¥Ð¥¤¥Ê¥ê¼­½ñ¤Ï¡¢¥µ¡¼¥Ð¤È¤È¤â¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢¤½¤Î¤Þ¤ÞÆâÍÆ¤¬ÊѲ½¤·¤Ê¤¤¡£ ñ¸ìÅÐÏ¿¤Ï¤Ç¤­¤º¡¢³Ø½¬¾ðÊó¤ÏÊ̤˺î¤é¤ì¤¿³Ø½¬¥Õ¥¡¥¤¥ë(.cld)¤ËÊݸ¤µ¤ì¤ë¡£ ¸¡º÷¤ËŬ¤·¤¿ÌÚ¹½Â¤¤ò¤¢¤é¤«¤¸¤á»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¥Þ¥¦¥ó¥È»þ¤Ë¿·¤·¤¯´ÉÍý¾ðÊó¤ò À¸À®¤¹¤ëɬÍפ¬¤Ê¤¯¡¢mmap()¤À¤±¤Ç¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤â²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ ¤Þ¤¿¡¢1¤Ä¤Î.cbd¤ÎÃæ¤Ë¥Ð¥¤¥Ê¥ê¼­½ñ¤òÊ£¿ô³ÊǼ¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡£¤³¤ì¤Ï ñ¤ËÊ£¿ô¤Î¥Ð¥¤¥Ê¥ê¼­½ñ¤òcat¤Ç¤Ä¤Ê¤²¤¿¤À¤±¤Î·Á¼°¤Ç¤¢¤ë¡£.cbdÁ´ÂΤȶèÊÌ ¤¹¤ë¤¿¤á¡¢.cbdÆâ¤Î¸Ä¡¹¤Î¼­½ñ¤ò°Ê²¼¼­½ñ¥á¥ó¥Ð(DM)¤È¸Æ¤Ö¡£ ³Ø½¬¥Õ¥¡¥¤¥ë¤¬ÉÑÅÙ¼­½ñ¤È¤â¸Æ¤Ð¤ì¤ë¤Ê¤É¡¢¼­½ñ¤È¤¤¤¦¸ì¤Ï¤¤¤í¤¤¤í¤Ê°ÕÌ£¤Ç »È¤ï¤ì¤ë¤Î¤Ç¡¢ÆÃ¤Ë¼«Î©¸ì¼­½ñ¤äÉÕ°¸ì¼­½ñ¤Î¸ì×ÃÉôʬ¤ò¤¢¤ï¤»¤Æ¡¢¡Ö¸ì×ü­½ñ¡×¤È ¸Æ¤Ö¤³¤È¤Ë¤¹¤ë¡£¤Þ¤¿¡¢³Ø½¬¥Õ¥¡¥¤¥ë¤Ï¸ì×ü­½ñ¤È´Ø·¸¤¬¿¼¤¤¤Î¤Ç¡¢¤³¤ì¤âÊ»¤»¤Æ ²òÀ⤹¤ë¡£ 3.7devel2¤«¤é¤Ï¡¢¤è¤ê¹â¤¤³ÈÄ¥À­¤È¸ß´¹À­¤Î¤¿¤á¡¢¼­½ñ¤Î¥Ø¥Ã¥À¤Î·Á¼°¤¬Â¿¾¯ ²þ¤á¤é¤ì¤¿¡£¤³¤ì¤Ï¤Þ¤À³«È¯¥Ð¡¼¥¸¥ç¥ó¤Ç¤¢¤ë¤¿¤á¡¢½¾Íè¤Î¼­½ñ¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤â »Ä¤·¤Æ¤¢¤ë¡£ ËÞÎã¡§ BOOL 0¤Þ¤¿¤Ï1 CARDnn nn¥Ó¥Ã¥È¤ÎÉä¹æÌµ¤·À°¿ô¡¢MSB first CHAR ʸ»ú WCHAR ¥ï¥¤¥Éʸ»ú ZSTR 0½ªÃ¼Ê¸»úÎó 1. ¸ì×ü­½ñ 1.1 Wrec ¥Ð¥¤¥Ê¥ê¼­½ñ¤Î´ðËÜñ°Ì¤Ï¡¢ÆÉ¤ß¤È´Á»ú¡¢ÉÊ»ì¤ò¤Þ¤È¤á¤¿Wrec¤È¤¤¤¦¥ì¥³¡¼¥É¤Ç¤¢¤ë¡£ ¤³¤ì¤ÏRKÆâÉô¤Ç¥Ð¥¤¥È¥Ç¡¼¥¿¤Î¤Þ¤ÞÊÝ»ý¤µ¤ì¡¢¤«¤Ê´Á»úÊÑ´¹¤¹¤ë¤¿¤Ó¤Ë²òÀϤµ¤ì¤ë¡£ ·Á¼°¤Ï¼¡¤ÎÄ̤ê¤Ç¤¢¤ë¡£ WREC: WREC_HEADER2|WREC_HEADER4 LEFTYOMI(WCHAR*leftylen) CANDIDATE*ncand WREC_HEADER2: 0(BOOL) LEFTYLEN(CARD6) WRECLEN(CARD6) NCAND(CARD3) WREC_HEADER4: 1(BOOL) LEFTYLEN(CARD6) WRECLEN1(CARD6) NCAND1(CARD3) \ WRECLEN2(CARD7) NCAND2(CARD9) CANDIDATE: KANJILEN(CARD7) HINSHIID(CARD9) KANJI(WCHAR*kanjilen) ¸õÊ䤬8¸Ä°Ê¾å¤¢¤ë¤«¡¢Wrec¤ÎÂ礭¤µ¤¬64¥Ð¥¤¥È°Ê¾å¤Ë¤Ê¤ë¤È¤­¤Ï¡¢4¥Ð¥¤¥È¤Î¥Ø¥Ã¥À¤¬ »È¤ï¤ì¤ë¡£¤Þ¤¿¡¢ÆÉ¤ß¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ÈWrec¤ËʬÃǤµ¤ì¤ÆÆþ¤Ã¤Æ¤ª¤ê¡¢Wrec¤ò°ì°Õ¤Ë ¼±Ê̤Ǥ­¤ë¤Î¤ËɬÍפÊʬ¤À¤±¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢»Ä¤ê¤¬Wrec¤ËLEFTYOMI¤È¤·¤ÆÆþ¤ë¡£ 1.2 Á´Âι½Â¤ DMHEADER HD_RECORDS: HD_RECORD*n HD_RECORD: TAG(CHAR*4) LENGTH(CARD32) OFFSET(CARD32)|VALUE(CARD32) LENGTH¤¬0¤Î¤È¤­¤Ï¡¢ÃͤÏ4¥Ð¥¤¥ÈÀ°¿ô¤È¤·¤ÆÄ¾Àܽñ¤­¹þ¤Þ¤ì¤ë¡£ LENGTH¤¬1°Ê¾å¤Î¤È¤­¤Ï¡¢ÃͤÏVALUES¤ÎÎΰè¤Ë½ñ¤­¹þ¤Þ¤ì¡¢OFFSET¤Ë¤è¤Ã¤Æ ´ÖÀÜ»²¾È¤µ¤ì¤ë¡£OFFSET¤Î´ð½à¤ÏHEADER¤ÎÀèÆ¬¤Ç¤¢¤ë¡£ ENDTAG: '\0'*4 VALUES TOPDIR: DIRNODE_BROTHERS*n DIRNODE_BROTHERS: NBROTHERS(CARD16) 0(CARD24) DIRNODE*nbrothers DIRNODE: KEY(WCHAR) WORD_NODE(BOOL) NODEOFF(CARD23)|WRECOFF(CARD23) NODEOFF,WRECOFF¤È¤â¡¢¼­½ñ¥á¥ó¥Ð¤Î¥Ø¥Ã¥À¤«¤é¤Î¥ª¥Õ¥»¥Ã¥È¤Ç¤¢¤ë¡£ PAGES: PAGE*npages PAGE PAGEHEADER: PAGENUMBER(CARD16) N_PAGENODES(CARD16) NWREC(CARD16) \ 0(CARD8) FIRST_LVO(CARD24) FIRST_CSN(CARD24) 0(CARD8) PAGEDIR: PAGENODE*n_pagenodes PAGENODE: KEY(WCHAR) WORD_NODE(BOOL) LAST_NODE(BOOL) \ NODEOFF(CARD14)|WRECOFF(CARD14) NODEOFF,WRECOFF¤È¤â¥Ú¡¼¥¸¤ÎÀèÆ¬¤«¤é¤Î¥ª¥Õ¥»¥Ã¥È¤Ç¤¢¤ë¡£ LINKTABLE: LINK*nwrec LINK: WRECOFF(CARD14) LVO_IN_PAGE(CARD15) CSN_IN_PAGE(CARD11) WORDS: WREC*nwrec [GRAMMER] ¼«Î©¸ì¼­½ñ¤Î¾ì¹ç¤Ï¤³¤³¤Ï¶õ¤Ç¤¢¤ë¡£3.7devel1¤Þ¤Ç¤Î¥Ð¥¤¥Ê¥êÉÕ°¸ì¼­½ñ¤Î¾ì¹ç¡¢ ¤³¤³¤Ëʸˡ¥Ç¡¼¥¿¤¬É¬ÍפǤ¢¤ë¡£¼ÂÁõ¤ò¸«¤ë¸Â¤ê¡¢Ê¸Ë¡¤ò»ý¤¿¤Ê¤¤¥Ð¥¤¥Ê¥ê¼­½ñ¤ò ºî¤ê¤¿¤¤¾ì¹ç¤Ï¡¢4¥Ð¥¤¥È¤Î0¤ò½ñ¤¤¤Æ¤ª¤±¤Ð¡¢RK¤ò¡Ö¤À¤Þ¤·¤Æ¡×ưºî¤µ¤»¤ë¤³¤È¤¬ ¤Ç¤­¤ë¤è¤¦¤Ç¤¢¤ë¡£3.7devel2°Ê¹ß¤Ï¡¢HD_GRAM¥ì¥³¡¼¥É¤ò¾Êά¤¹¤ë¤«¡¢HD_GRSZ¤ò 0¤Ë¤¹¤ì¤Ð¡¢Ê¸Ë¡¤Î̵¤¤¼­½ñ¤òºî¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¼­½ñ¤Ï¥Ú¡¼¥¸¤È¤¤¤¦Ã±°Ì¤Ëʬ¤«¤ì¤Æ¤¤¤ë¡£»ñ¸»¤¬¸Â¤é¤ì¤Æ¤¤¤¿»þÂå¤Ë¤Ï¡¢¥Ú¡¼¥¸¤ò ¸ÄÊ̤˲òÊü¤·¤¿¤ê¡¢¥Ú¡¼¥¸Ã±°Ì¤Çmmap¤·¤¿¤ê¤¹¤ë¤³¤È¤Ç¡¢¥á¥â¥ê¤òÀáÌ󤷤Ƥ¤¤¿¤è¤¦¤Ç ¤¢¤ë¡£Wrec¤ÏÁ´¤Æ¥Ú¡¼¥¸¤ÎÃæ¤Ë¤¢¤ê¡¢¼­½ñÌڤϥڡ¼¥¸¤È¥Ç¥£¥ì¥¯¥È¥êÎΰè¤Ëʬ¤«¤ì¤Æ Æþ¤Ã¤Æ¤¤¤ë¡£ 1.3 ¥Ø¥Ã¥À ¥Ø¥Ã¥À¤Ï³ÈÄ¥À­¤¬¹â¤¤¤è¤¦¤Ë¸«¤¨¤ë¤¬¡¢3.6¤Þ¤Ç¤Î¼ÂÁõ¤Ç¤Ï¡¢RK¤¬ÃΤé¤Ê¤¤TAG¤¬¤¢¤ë¤È¡¢ ¤½¤Î»þÅÀ¤Ç¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤½¤Î¤¿¤á¡¢¥ì¥³¡¼¥É¤ò¿·Àߤ¹¤ë¤È¡¢¸Å¤¤RK¤Ç¤Ï ÆÉ¤á¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£ 3.7devel2¤«¤é¤Ï¡¢RK¤¬ÃΤé¤Ê¤¤¥ì¥³¡¼¥É¤Ï̵»ë¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢Ç¤°Õ¤Î¥Ç¡¼¥¿¤ò ÄɲäǤ­¤ë¡£¤Þ¤¿¡¢¥Ð¡¼¥¸¥ç¥ó¤òɽ¤¹¥ì¥³¡¼¥É¤Ï¼ÂºÝ¤Ë¤Ï»È¤ï¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¾å¡¢ ¸ß´¹À­¤ò¾Ü¤·¤¯¼¨¤»¤ë¤è¤¦¤Ë¤Ï¤Ê¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢HD_VER¤òÇѻߤ·¤Æ¡¢¼­½ñ¤Î ¼ÂºÝ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¼¨¤¹HD_CURV¤È¡¢¸ß´¹À­¤Î¤¢¤ëºÇ¤â¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¼¨¤¹HD_CMPV ¤òÀߤ±¤¿¡£¤³¤Î¤Û¤«¡¢¥Ø¥Ã¥À¤Î¥µ¥¤¥º¤ÎÀ©¸Â¤ò¤Ê¤¯¤¹¤¿¤á¡¢½ÅÍפÊ5¤Ä¤Î¥ì¥³¡¼¥É¤Ï ¾ï¤ËÀèÆ¬¤ËÇÛÃÖ¤¹¤ë¤³¤È¤Ë¤·¤¿¡£ ¸½ºß¤Î¥ì¥³¡¼¥É¤Ï¼¡¤ÎÄ̤ê¤Ç¤¢¤ë¡£ 1.3.1 ºÇ½é¤Ë¡¢¤³¤Î½ç¤Ç¸½¤ì¤Í¤Ð¤Ê¤é¤Ê¤¤¤â¤Î(3.7devel2¤è¤êÁ°¤Ç¤Ï¾ì½ê¤ÏǤ°Õ) HD_MAG (MAG#): "CDIC"¤òCARD32¤È¸«¤¿ÃÍ HD_SIZ (#SIZ): ¼­½ñ¥á¥ó¥Ð¤ÎÂ礭¤µ¡¢3.7devel2¤«¤é¤Ïʸˡ¥Ç¡¼¥¿¤ÎÂ礭¤µ¤ò´Þ¤à HD_HSZ (#HSZ): ¥Ø¥Ã¥À¤ÎÂ礭¤µ HD_CURV (CURV): ¼­½ñ·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¡¢¸½ºß¤Ï0x300702L HD_CMPV (CMPV): ¸ß´¹À­¤Î¤¢¤ë¼­½ñ·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¡¢¸½ºß¤Ï0x300702L 1.3.2 ½ç½ø¤ÏǤ°Õ¤Ç¡¢3.7devel2¤è¤êÁ°¤Î¼­½ñ¤Ë¸ºß¤¹¤ë¤â¤Î HD_VER (VER#): "R3.0"¤òCARD32¤È¸«¤¿ÃÍ¡¢¥Á¥§¥Ã¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢3.7devel2¤ÇÇÑ»ß HD_TIME (TIME): ºîÀ®»þ¹ï HD_REC (#REC): Wrec¤ÎÁí¿ô HD_CAN (#CAN): ¸õÊä¤ÎÁí¿ô HD_L2P (L2P#): log2(¥Ú¡¼¥¸¤ÎÂ礭¤µ)¡¢crxdic¤Çºî¤Ã¤¿¾ì¹ç13=8KB HD_L2C (L2C#): log2(¥Ú¡¼¥¸¤¢¤¿¤ê¤ÎºÇÂç¸õÊä¿ô)¡¢crxdic¤Çºî¤Ã¤¿¾ì¹ç11=2048¸Ä HD_PAG (#PAG): ¥Ú¡¼¥¸¤ÎÁí¿ô HD_LND (#LND): TOPDIR¤Ë´Þ¤Þ¤ì¤ëÀáÅÀ¤Î¿ô HD_SND (#SND): PAGEDIR¤Ë´Þ¤Þ¤ì¤ëÀáÅÀ¤Î¿ô HD_DROF (DROF): TOPDIR¤Î°ÌÃÖ¡¢Ä̾ïHD_HSZ¤ÈƱ¤¸¤Ç¤¢¤êRKÆâÉô¤Ç¤âº®Æ±¤µ¤ì¤Æ¤¤¤ë HD_PGOF (PGOF): ºÇ½é¤Î¥Ú¡¼¥¸¤Î°ÌÃÖ HD_DMNM (DMNM): ¼­½ñ¥á¥ó¥Ð¤Î̾Á° HD_CODM (CODM): 0¡¢³Ø½¬¥Õ¥¡¥¤¥ë¤Ç¤ÏÂбþ¤¹¤ë¼­½ñ¥á¥ó¥Ð¤Î̾Á° HD_LANG (LANG): "japan" HD_WWID (WWID): 2(¥ï¥¤¥Éʸ»ú¤ÎÉý?) HD_WTYP (WTYP): "W16 "¤òCARD32¤È¸«¤¿ÃÍ HD_COPY ((C) ): 0(Ãøºî¸¢¼Ô?) HD_NOTE (NOTE): 0(Ãøºî¸¢É½¼¨?) HD_TYPE (TYPE): "jmwd"¤òCARD32¤È¸«¤¿ÃÍ 1.3.3 3.7devel1¤ÇÅо줷¡¢3.6·Ï¤Î¼­½ñ¤Ë¤Ï¸ºß¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¤â¤Î HD_CRC (#CRC): TOPDIR¤ÈPAGE¤ò¹ç¤ï¤»¤¿Îΰè¤ÎISO/IEC 8802-3:1989 CRC 1.3.4 3.7devel2°Ê¹ß¤ËÅо줷¡¢3.7devel1¤Þ¤Ç¤Î¼­½ñ¤Ë¤Ï¸ºß¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¤â¤Î HD_GRAM (GRAM): ʸˡ¥Ç¡¼¥¿¤Î°ÌÃÖ HD_GRSZ (GRSZ): ʸˡ¥Ç¡¼¥¿¤ÎÂ礭¤µ 1.4 ¼­½ñÌڤι½Â¤ Wrec¤ÏÆÉ¤ß¤Î1ʸ»ú¤ò1¤Ä¤ÎÀáÅÀ¤È¤¹¤ëÌÚ¹½Â¤¤Ç¸¡º÷¤µ¤ì¤ë¡£ÍդˤÏWORD_NODE¥Õ¥é¥°¤¬ Ω¤Ã¤Æ¤ª¤ê¡¢WRECOFF¤ÇWrec¤ò»Ø¤·¼¨¤¹¡£ÀáÅÀ¤ÏÁ´ÂΤΥǥ£¥ì¥¯¥È¥ê(TOPDIR)¤È ¥Ú¡¼¥¸Æâ¥Ç¥£¥ì¥¯¥È¥ê(PAGEDIR)¤Ëʬ¤«¤ì¤ÆÆþ¤Ã¤Æ¤¤¤ë¡£ÀáÅÀ¤¬¤É¤Á¤é¤Ë°¤¹¤ë¤«¤Ï¡¢ ¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç·è¤á¤é¤ì¤ë¡£ a.ĺÅÀ¤òx¤È¤¹¤ë¡£ÄºÅÀ¤ÏTOPDIR¤ËÆþ¤ì¤ë¡£ b.x¤«¤é²¼¤ÎÉôʬÌÚ(x¼«¿È¤ò½ü¤¯)¤ò¤¹¤Ù¤Æ¥Ú¡¼¥¸Æâ¤ËǼ¤á¤ë¤È²¾Äꤷ¤Æ¡¢ÀáÅÀ¤È¡¢ ÍÕ¤¬»Ø¤·¼¨¤¹Wrec¡¢¤ª¤è¤ÓWrec¤ò»Ø¤¹¥ê¥ó¥¯(¸å½Ò)¤ò¹ç¤ï¤»¤¿Â礭¤µ¤òµá¤á¤ë¡£ c.ÉôʬÌÚ¤¬Á´¤Æ¼ý¤Þ¤ë¥Ú¡¼¥¸¤òºÇ½é¤Î¥Ú¡¼¥¸¤«¤é½ç¤Ëõ¤¹¡£¸«ÉÕ¤«¤ì¤Ð¤½¤Î¥Ú¡¼¥¸¤Ë Á´¤ÆÇ¼¤á¤Æ¤·¤Þ¤¦¡£ÀáÅÀ¤ÏPAGEDIR¤Ë¡¢¥ê¥ó¥¯¤ÏLINKTABLE¤Ë¡¢Wrec¤ÏWORDS¤ËǼ¤á¤ë¡£ d.¤É¤Î¥Ú¡¼¥¸¤Ë¤â¼ý¤Þ¤é¤Ê¤¤¤È¤­¤Ï¡¢x¤ÎľÀܤλҶ¡¤òTOPDIR¤Ë³ÊǼ¤·¡¢»Ò¶¡¤¿¤Á¤ò ºÆ¤Óx¤È¤·¤Æ¼ê½çb°Ê²¼¤ò·«¤êÊÖ¤¹¡£ °ì¸«¸úΨ¤¬Ä㤤¤è¤¦¤Ë¸«¤¨¤ë¤¬¡¢»ÈÍÑΨ¤¬È¾Ê¬¤òÀÚ¤ë¥Ú¡¼¥¸¤Ï¹â¡¹1¤Ä¤Ç¤¢¤ê¡¢»ÈÍÑΨ ¤ÎºÇ¾®Ãͤòm¤È¤¹¤ë¤È¡¢Â¾¤Î¥Ú¡¼¥¸¤Î»ÈÍÑΨ¤Ï1-m°Ê¾å¤Ç¤¢¤ë¤«¤é¡¢°­¤¤¤È¤Ï¤¤¤¨¤Ê¤¤¡£ TOPDIR¤ÈPAGEDIR¤ËÆþ¤ì¤ë¤È¤­¤Ç¡¢ÀáÅÀ¤Î·Á¼°¡¢³ÊǼˡ¤¬°ã¤Ã¤Æ¤¤¤ë¡£·Á¼°¤Ë¤Ä¤¤¤Æ¤Ï ¿Þ1.2¤Ç½½Ê¬¤Ç¤¢¤í¤¦¡£³ÊǼ¤¹¤ë¤È¤­¤Ï¡¢¤É¤Á¤é¤Î¾ì¹ç¤â·»Äï¤Ë¤¢¤¿¤ëÀáÅÀ¤ò¤«¤¿¤á¤Æ µ­Ï¿¤¹¤ë¤Î¤À¤¬¡¢TOPDIR¤ËÆþ¤ì¤ë¤È¤­¤Ï¡¢·»Ä郎ÆÉ¤ß¤Î1ʸ»ú¤ò¥­¡¼¤È¤¹¤ë¥Ï¥Ã¥·¥å ¥Æ¡¼¥Ö¥ë¤ò¤Ê¤·¤Æ¤¤¤ë¤Î¤ËÂФ·¡¢PAGEDIR¤ËÆþ¤ì¤ë¤È¤­¤Ï¡¢Ã±¤ËÆÉ¤ß¤Î½ç¤Ë³ÊǼ¤¹¤ë¡£ ¤Þ¤¿¡¢TOPDIR¤Ç¤Ï¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ÎÂ礭¤µ¤¬¥Æ¡¼¥Ö¥ë¤ÎÀèÆ¬¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤ËÂФ·¡¢ PAGEDIR¤Ç¤Ï·»Äï¤ÎºÇ¸å¤ÎÀáÅÀ¤ËLAST_NODE¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤¤¤ë¡£ ¡Ö¤¢¤¤¡¢¤¢¤¤¤¢¤ó¡¢¤¢¤¤¤ª¡¦¡¦¡¦¡×¤Î¤è¤¦¤Ë¡¢ÆÉ¤ß¤Ë¾¤Î¸ì¤È¤ÎÉÔ°ìÃפ¬½Ð¤Ê¤¤¤Þ¤Þ ½ª¤ï¤ë¸ì(¤³¤Î¾ì¹ç¤Ï¡Ö¤¢¤¤¡×)¤¬¤¢¤ë¾ì¹ç¤Ï¡¢ÆÉ¤ß¤ÎºÇ¸å¤Ë0¤¬²Ã¤ï¤Ã¤¿¤«¤Î¤è¤¦¤Ë °·¤ï¤ì¤ë¡£¤³¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢¡Ö¤¢¤¤¡×¤Î»Ò¶¡¤Ï¡Ö0¡¢¤¢¡¢¤ª¡¦¡¦¡¦¡×¤È¤Ê¤ë¡£ 1.5 ¥ê¥ó¥¯ÎÎ°è ¥Ú¡¼¥¸¤Ë¤Ï¥ê¥ó¥¯¤È¸Æ¤Ð¤ì¤ë¾ðÊó¤âµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¡£¥ê¥ó¥¯¤Ï¡¢¸ÇÄêŤÇWrec¤È°ìÂÐ°ì ¤ËÂбþ¤·¤Æ¤ª¤ê¡¢Wrec¤ÎÈÖ¹æ¤Ç¥¤¥ó¥Ç¥£¥Ã¥¯¥¹¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¼ç¤Ë³Ø½¬ ¤Ë»È¤ï¤ì¤Æ¤¤¤ë¡£¥ê¥ó¥¯¤Ï¼¡¤ÎÆâÍÆ¤ò»ý¤Ä¡£ WRECOFF: ¥Ú¡¼¥¸¤ÎÀèÆ¬¤«¤é¬¤Ã¤¿Wrec¤Î°ÌÃÖ¡£ LVO: ³Ø½¬¥Õ¥¡¥¤¥ë¤Ç¡¢¸õÊä¤Î½ç½ø¤òµ­Ï¿¤¹¤ë¾ì½ê¤ò»Ø¤¹¡£¼ÂºÝ¤Ë¤Ï¡¢ºÇ½é¤ÎWrec¤ÎLVO ¤¬FIRST_LVO¤È¤·¤Æ¥Ú¡¼¥¸¤Î¥Ø¥Ã¥À¤Ë½ñ¤«¤ì¡¢¥ê¥ó¥¯Îΰè¤Ë¤Ï¡¢LVO¤ÈFIRST_LVO ¤Îº¹¤Î·Á¤Çµ­Ï¿¤µ¤ì¤ë¡£ CSN: ¼­½ñ¤Ë´Þ¤Þ¤ì¤ëÁ´¸õÊä¤ÎÄ̤·Èֹ档¤³¤ì¤â¥Ú¡¼¥¸¤ÎºÇ½é¤Î¸õÊä¤ÎCSN¤¬FIRST_CSN ¤È¤·¤Æ½ñ¤«¤ì¡¢¥ê¥ó¥¯Îΰè¤Ë¤ÏFIRST_CSN¤È¤Îº¹¤¬½ñ¤«¤ì¤ë¡£¤¿¤À¤·¡¢3.6p3¤Þ¤Ç¤Ï¡¢ CSN_IN_PAGE¤Î·×»»¤¬´Ö°ã¤Ã¤Æ¤¤¤¿¡£CSN¤Ï¡Ö¸õÊ䤬ºÇ¸å¤Ë»È¤ï¤ì¤Æ¤«¤é¤Î»þ´Ö (tick)¡×¤ò´ÉÍý¤¹¤ë¤¿¤á¤À¤±¤Ë»È¤ï¤ì¤Æ¤¤¤¿¤Î¤Ç¡¢¼Â³²¤ÏÍ¥ÀèÅÙ¤¬Áê¸ß´³¾Ä¤·¤Æ ¿¾¯¶¸¤¦¤À¤±¤À¤Ã¤¿¤è¤¦¤Ç¤¢¤ë¡£ 2. ʸˡ¥Õ¥¡¥¤¥ë 2.1 Á´Âι½Â¤ GRAMMER_SIZE(CARD32) GRAMMER_SIZE¥ì¥³¡¼¥É¼«ÂΤÎÂ礭¤µ(4byte)¤ò½ü¤­¡¢N_HINSHI¥ì¥³¡¼¥É¤ÎÂ礭¤µ ¤Ï´Þ¤à¡£ N_HINSHI(CARD32) CONJ_MATRIX HINSHIMEI_TABLE: HINSHIMEI(ZSTR)*n_hinshi BB,K5r,k5u,Fkoso¤È¤¤¤Ã¤¿ÉÊ»ì̾¤¬¡¢Ã±¤ËÉÊ»ìÈÖ¹æ¤Î½ç¤Ë0½ªÃ¼Ê¸»úÎó¤Ç Æþ¤Ã¤Æ¤¤¤ë¡£ [NEG_CONJ_TABLE] NUMNEG(CARD32) NEG_CONJ*numneg NEG_CONJ: 0(CARD4) HINSHIID1(CARD9) HINSHIID2(CARD9) \ HINSHIID3(CARD9) NEG_FLAG(BOOL) 0(CARD8) LOGIC_HACK¤òÍ­¸ú¤Ë¤¹¤ë¤ÈNEG_CONJ_TABLE¤¬ÉÕ¤¯¡£ RK¤ÏGRAMMER_SIZE¤¬Ê¸Ë¡¥Ç¡¼¥¿Á´ÂΤÎÂ礭¤µ¤ò»Ø¤¹¤³¤È¤ò²¾Äꤷ¤Æ¤¤¤ë¤¬¡¢¸½ºß¤Î crxgram¤Î¼ÂÁõ¤Ç¤Ï¡¢NEG_CONJ_TABLE¤ÈºÇ¸å¤Î0¤ÎÂ礭¤µ¤¬´Þ¤Þ¤ì¤Æ¤Ê¤¤¡£¤³¤Î¤¿¤á¡¢ 3.7devel2¤è¤êÁ°¤Î¼­½ñ¤Ç¡¢Ê¸Ë¡¥Ç¡¼¥¿¤Î¸å¤ËÊ̤μ­½ñ¥á¥ó¥Ð¤¬Â³¤¤¤¿¾ì¹ç¡¢Àµ¤·¤¯ ¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡£ÆÃ¤Ë¡¢NEG_CONJ_TABLE¤Î̵ͭ¤ÏÛ£Ëæ¤Ç¤¢¤ê¡¢Ã±¤Ê¤ëRK¤Î½¤Àµ¤Ç¤Ï ºÑ¤Þ¤Ê¤¤¡¢·Á¼°¼«ÂΤηç´Ù¤Ë¤Ê¤Ã¤Æ¤¤¤¿¡£ 3.7devel2¤Î¼­½ñ¤Ç¤Ï¡¢Ê¸Ë¡¥Ç¡¼¥¿¤Î¥µ¥¤¥º¤ÏDMHEADER¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÌäÂê ¤ÏÀ¸¤¸¤Ê¤¤¡£3.7devel2¤Ç¤â¡¢Ê¸Ë¡¥Õ¥¡¥¤¥ëËÜÂΤηÁ¼°¤Ï°ìÀÚÊѹ¹¤·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢ GRAMMER_SIZE¤ÏNEG_CONJ_TABLE¤ÈºÇ¸å¤Î0¤ò´Þ¤Þ¤Ê¤¤¤Þ¤Þ¤Ç¤¢¤ë¡£ 2.2 Àܳ¹ÔÎó ¤¢¤ëÉÊ»ìi¤Î¸å¤ËÉÊ»ìj¤¬Â³¤¯¤«¤É¤¦¤«¤Ï¡¢¥Ó¥Ã¥È¤Î¹ÔÎó¤Çɽ¤µ¤ì¤ë¡£i¹ÔjÎó¤¬1¤Ê¤é Àܳ¤·¡¢0¤Ê¤éÀܳ¤·¤Ê¤¤¡£ÉÊ»ì¤Î¼ïÎब8¤ÎÇÜ¿ô¤Ç¤Ê¤¤¤È¡¢¥Ó¥Ã¥È¤Îü¿ô¤¬½Ð¤ë¤¬¡¢ ü¿ô¤Ï¹ÔËè¤ËÀÚ¤ê¾å¤²¤é¤ì¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢¹Ô¤ÎÀèÆ¬(ÉÊ»ì0¡¢¤³¤ì¤ÏBB¤Ç¤¢¤ë)¤Ï¾ï¤Ë ¥Ð¥¤¥È¶­³¦¤Ë·¤¨¤é¤ì¤Æ¤¤¤ë¡£ 2.3 ÂǤÁ¾Ã¤·Àܳ¥Æ¡¼¥Ö¥ë NEG_CONJ¤Ï¡¢3¤Ä¤ÎÉÊ»ì¤ÎÉÊ»ìÈÖ¹æ¤È¡¢Àܳ¤òÀÚ¤ë(NEG_FLAG=0)¤«Í¥ÀèÅÙ¤ò²¼¤²¤ë (NEG_FLAG=1)¤«¤ò¤Þ¤È¤á¤Æ¡¢32¥Ó¥Ã¥È¤Ë¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£¤³¤ì¤¬¼­½ñ½ç¤Ëʤó¤Ç¤¤¤ë¡£ RK¤Ï¤³¤Î¥Æ¡¼¥Ö¥ë¤ò¤½¤Î¤Þ¤ÞÆóʬõº÷¤¹¤ë¤Î¤Ç¡¢É¬¤º¼­½ñ½ç¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ 3. ³Ø½¬¥Õ¥¡¥¤¥ë 3.1 Á´Âι½Â¤ DMHEADER ¸ì×ü­½ñ¤Î¥Ø¥Ã¥À¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¢¤ë¡£¤Û¤È¤ó¤É¤Î¥ì¥³¡¼¥É¤Ï¡¢Âбþ¤¹¤ë ¸ì×ü­½ñ¤Î¥ì¥³¡¼¥É¤Î¥³¥Ô¡¼¤Ç¤¢¤ê¡¢¿·¤¿¤ËÀßÄꤵ¤ì¤ë¤Î¤ÏHD_DMNM,HD_CODM, HD_HSZ¤À¤±¤Ç¤¢¤ë¡£HD_SIZ¤Ê¤É¤Ï°ÕÌ£¤ò»ý¤¿¤Ê¤¤¡£ PERM_TABLE_SIZE(CARD32) PERM_TABLE: PERMUTATION*nwrec PADDING PERMUTATION: CANDNUM(CARDn)*ncand_in_wrec RUC_TABLE RUC_TABLE_SIZE(CARD32) RUC_TABLE_BODY¤Î¶õ¤ÎÉôʬ¤ò´Þ¤á¤¿¥¨¥ó¥È¥ê¿ô¡£ N_RUC(CARD32) RUC_TABLE¤Î¤¦¤Á¼ÂºÝ¤Ë»È¤ï¤ì¤Æ¤¤¤ë¥¨¥ó¥È¥ê¿ô¡£ FIRST_RUC(CARD32) ºÇ½é¤Ë(¤Ä¤Þ¤êºÇ¤â¸Å¤¯)»È¤ï¤ì¤¿¸õÊä¤ÎÈֹ档N_RUC$} 'n{\it 1} 'n{\it 2} \ldots 'n{\it n}) SUBR} n{\it 1} n{\it 2} \ldots n{\it n} ¤¬Â礭¤¤½ç¤Ëʤó¤Ç¤¤¤ë¤È¤­¤Ë¤Î¤ß t ¤òÊÖ ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï nil ¤òÊÖ¤¹¡£n{\it i} ¤Ï n{\it i-1} ¤è¤ê¤â¿¿¤Ë¾®¤µ¤¯¤Ê ¤±¤ì¤Ð t ¤Ë¤Ï¤Ê¤é¤Ê¤¤¡£ ¤¹¤Ê¤ï¤Á¡¢ n{\it 1}¡Án{\it n} ¤Î¤¤¤º¤ì¤« 2 ¤Ä¤¬Æ±¤¸ÃÍ ¤À¤Ã¤¿¾ì¹ç¤Ï nil ¤òÊÖ¤¹¡£ °ú¿ô¤¬ 1 ¸Ä°Ê²¼¤·¤«Í¿¤¨¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï t ¤òÊÖ¤¹¡£ n{\it 1}¡Án{\it n}¤Î¤¤¤º¤ì¤«¤¬Èó¿ôÃͤξì¹ç¤Ï¥¨¥é¡¼¤È¤Ê¤ë¡£ \subsubsection{({\bf $<$} 'n{\it 1} 'n{\it 2} \ldots 'n{\it n}) SUBR} $<$ ¤Ï $>$ ¤ÎÈ¿ÂФǤ¢¤ë¡£$>$ ¤ÈƱ¤¸¤¯ n{\it 1}¡Án{\it n} ¤Î¤¤¤º¤ì¤« 2 ¤Ä¤¬Æ±¤¸ÃͤÀ¤Ã¤¿¾ì¹ç¤Ï nil¤òÊÖ¤¹¡£ \subsubsection{({\bf boundp} 'v) SUBR} ¥·¥ó¥Ü¥ë v ¤¬ÊÑ¿ô¤È¤·¤ÆÃͤò»ý¤Ã¤Æ¤¤¤ì¤Ð t ¤òÊÖ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð nil ¤òÊÖ¤¹¡£ \subsubsection{({\bf fboundp} 'v) SUBR} ¥·¥ó¥Ü¥ë v ¤Ë¤Ê¤ó¤é¤«¤Î´Ø¿ôÄêµÁ¤¬¤ª¤³¤Ê¤ï¤ì¤Æ¤¤¤ì¤Ð t ¤òÊÖ¤¹¡£¤½¤¦¤Ç ¤Ê¤±¤ì¤Ð nil ¤òÊÖ¤¹¡£ \subsection{À©¸æ¹½Â¤} \subsubsection{({\bf progn} 'g{\it 1} 'g{\it 2} \ldots 'g{\it n}) SPECIAL} ¼° g{\it 1} ¡Á g{\it n} ¤ò½çÈÖ¤Ëɾ²Á¤·¡¢g{\it n} ¤Îɾ²Á·ë²Ì¤òÊÖ¤¹¡£°ú ¿ô¤ò¤¢¤¿¤¨¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï nil ¤òÊÖ¤¹¡£ \subsubsection{({\bf cond} (g{\it 11} g{\it 12} \ldots g{\it 1n}) (g{\it 21} g{\it 22} \ldots g{\it 2n}) \ldots (g{\it m1} g{\it m2} \ldots g{\it mn})) SPECIAL} cond ¼°¤Ï if ¡Á then ¡Á else if ¡Á then ¡Á else if ¡Á then \ldots else ¡Á ¤Î¹½Â¤¤òÍ¿¤¨¤ë ¼°¤Ç¤¢¤ë¡£¾åµ­¤Î cond ¼°¤Ï C ¤Î if-then-else ¤Çµ­½Ò¤¹¤ë¤È ¤À¤¤¤¿¤¤°Ê²¼¤Î¤è¤¦¤Ë¤Ê ¤ë¡£ \begin{verbatim} if (g11) { g12; ... g1n; } else if (g21) { g22; ... g2n; } else if (gm1) { gm2; ... gmn; } \end{verbatim} ¤¹¤Ê¤ï¤Á¡¢g{\it 11}¡¢g{\it 21}¡¢\ldots g{\it m1} ¤¬¡¢¤¤¤º¤ì¤«¤¬Èó nil ¤ò ÊÖ¤¹¤Þ¤Ç½çÈÖ¤Ëɾ²Á¤µ¤ì¤ë¡£g{\it i1} ¤¬Èó nil ¤òÊÖ¤·¤¿¾ì¹ç¡¢g{\it i+11} ¡Á g{\it m1} ¤Þ¤Ç¤Î¼°¤Ïɾ²Á¤µ¤ì¤Ê¤¤¡£ ¾ò·ï¼° g{\it 11}¡¢g{\it 21}¡¢\ldots g{\it m1} ¤ò½çÈÖ¤Ëɾ²Á¤·¤Æ¤¤¤­¡¢g{\it i1} ¤¬Èó nil ¤òÊÖ¤·¤¿¾ì¹ç¡¢g{\it i1} ¤Î±¦¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë g{\it i2}¡¢ \ldots g{\it in} ¤¬½ç¤Ëɾ²Á¤µ¤ì¡¢g{\it in} ¤Îɾ²Á·ë²Ì¤¬ cond ¼°¤ÎÃͤȤ·¤ÆÊÖ¤µ ¤ì¤ë¡£g{\it i1} ¤Î±¦Â¦¤ËÁ´¤¯¼°¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï g{\it i1} ¤Îɾ²Á·ë ²Ì¤½¤Î¤â¤Î¤¬ cond ¼°¤ÎÃͤȤ·¤ÆÊÖ¤µ¤ì¤ë¡£ ¾ò·ï¼° g{\it 11}¡¢g{\it 21}¡¢\ldots g{\it m1} ¤¬¤¤¤º¤ì¤â nil ¤òÊÖ¤·¤¿¾ì¹ç¤Ï cond ¼°¤Î·ë²Ì¤Ï nil ¤È¤Ê¤ë¡£ ¤È¤³¤í¤Ç¡¢cond ¼°¤Î¾ò·ï¼°¤È¤·¤Æ t ¤¬Í¿¤¨¤é¤ì¤¿¾ì¹ç¤Ë¤Ï t ¤Î±¦Â¦¤¬ else ¾ò·ï¤È¤·¤ÆÉ¾²Á¤µ¤ì¤ë¡£ ¤³¤ì¤Ï¤¿¤È¤¨ t ¤Ë nil ¤¬Â«Çû¤µ¤ì¤Æ¤¤¤¿¤È¤·¤Æ¤â¤½¤¦¤Ç¤¢¤ë¡£ °Ê²¼¤Î´Ø¿ô double ¤Ï°ú¿ô¤È¤·¤Æ nil ¤òÍ¿¤¨¤¿¾ì¹ç¡¢ (nil nil) ¤òÊÖ¤·¡¢ (foo nil) ¤Ï nil ¤ò ÊÖ¤¹¤Î¤ËÂФ·¤Æ¡¢(bar nil) ¤Ï nil ¤Ç¤Ï¤Ê¤¯¡¢Ê¸»úÎó "nil ¤Ç¤¢¤ë" ¤ò ÊÖ¤¹¤³¤È¤òÃí°Õ¤µ¤ì¤¿¤¤¡£ \begin{verbatim} (defun double (t) (list t t)) (defun foo (x) (cond ((not (null x)) "nil ¤Ç¤Ï¤Ê¤¤") (x "nil ¤Ç¤¢¤ë") )) (defun bar (t) (cond ((not (null t)) "nil ¤Ç¤Ï¤Ê¤¤") (t "nil ¤Ç¤¢¤ë") )) \end{verbatim} \subsubsection{({\bf and} g{\it 1} g{\it 2} \ldots g{\it n}) SPECIAL} and ¤ÏÏÀÍýÀѤòÊÖ¤¹´Ø¿ô¤Ç¤¢¤ë¤¬¡¢°ú¿ô g{\it 1}¡¢g{\it 2}¡¢\ldots g{\it n} ¤Ï½çÈÖ¤Ëɾ²Á¤µ¤ì¡¢É¾²Á·ë²Ì¤È¤·¤Æ nil ¤¬Ìá¤Ã¤¿¤È¤³¤í¤Çɾ²Á¤¬ÂǤÁÀÚ¤é¤ì¡¢ and ¼°¤ÎÃͤȤ·¤Æ nil ¤òÊÖ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ and ¤ÏÀ©¸æ¹½Â¤¤È¤·¤ÆÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¡£Î㤨¤Ð¡¢°Ê²¼¤Î ¼°¡¢ \begin{verbatim} (and (> a 0) (do_proc a)) \end{verbatim} ¤Ï C ¸À¸ì¤Ç¤Î¡¢ \begin{verbatim} if (a > 0) do_proc(a); \end{verbatim} ¤Î¤è¤¦¤Ê°ÕÌ£¤ò»ý¤Ä¡£ g{\it 1}¡Ág{\it n} ¤¹¤Ù¤Æ¤¬Èó nil ¤À¤Ã¤¿¾ì¹ç¤Ï g{\it n} ¤ÎÃͤ¬ and ¼° ¤ÎÃͤȤ·¤ÆÊÖ¤µ¤ì¤ë¡£ \subsubsection{({\bf or} g{\it 1} g{\it 2} \ldots g{\it n}) SPECIAL} or ¤ÏÏÀÍýϤòÊÖ¤¹´Ø¿ô¤Ç¤¢¤ë¤¬¡¢and ¤ÈƱÍÍÀ©¸æ¹½Â¤¤Ç¤¢¤ë¡£¤¹¤Ê¤ï¤Á¡¢ g{\it 1}¡¢g{\it 2}¡¢\ldots g{\it n} ¤Ï¤¤¤º¤ì¤«¤Î¼°¤Îɾ²Á·ë²Ì¤È¤·¤Æ Èó nil ¤¬Ê֤à ¤¿»þÅÀ¤ÇÂǤÁÀÚ¤é¤ì¡¢¤½¤ÎÃͤ¬ or ¤ÎÃͤȤ·¤ÆÊÖ¤µ¤ì¤ë¡£ \subsubsection{({\bf if} g{\it 1} g{\it 2} g{\it 3}) CMACRO} (if a b c) ¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¥Þ¥¯¥íŸ³«¤µ¤ìɾ²Á¤µ¤ì¤ë¡£ \begin{verbatim} (cond (a b) (c)) \end{verbatim} (if a b) ¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¥Þ¥¯¥íŸ³«¤µ¤ìɾ²Á¤µ¤ì¤ë¡£ \begin{verbatim} (cond (a b)) \end{verbatim} if ¤Î¾ò·ï¤¬¿¿¤À¤Ã¤¿¤È¤­¤Î½èÍý¤ò¤¿¤¯¤µ¤ó½ñ¤­¤¿¤¤¤È¤­¤Ë¡¢ % \begin{verbatim} (if predicate proc1 proc2 ... procn) \end{verbatim} % ¤Î¤è¤¦¤Ë½ñ¤­¤¿¤¯¤Ê¤ë¤¬¡¢¤³¤ì¤ÏÀµ¤·¤¯¤Ê¤¤¡£°Ê²¼¤Î¤è¤¦¤Ë progn ¤ò»È¤ï¤Ê ¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ \begin{verbatim} (if predicate (progn proc1 proc2 ... procn)) \end{verbatim} \subsection{ÊÑ¿ô«Çû} \subsubsection{({\bf set} 'v 'g) SUBR} ¥·¥ó¥Ü¥ë v ¤ËÂФ·¤ÆÃÍ g ¤òÂåÆþ¤¹¤ë¡£¥·¥ó¥Ü¥ë v ¤¬¶É½êŪ¤Ë«Çû¤µ¤ì¤Æ¤¤ ¤ì¤Ð v ¤Î¶É½êÃͤ¬Êѹ¹¤µ¤ì¤ë¡£¥·¥ó¥Ü¥ë v ¤¬¶É½êŪ¤Ë«Çû¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð v ¤ÎÂç°èÃͤȤ·¤Æ g ¤¬ÂåÆþ¤µ¤ì¤ë¡£g ¤ÎÃͤ¬ set ¤ÎÃͤȤʤ롣 set ¤Ï°Ê²¼¤Ë¼¨¤¹ setq ¤È¤Ï°ã¤¤ SUBR ¤Ç¤¢¤ê¡¢³Æ°ú¿ô¤¬É¾²Á¤µ¤ì¤ë¡£ \subsubsection{({\bf setq} v{\it 1} 'g{\it 1} v{\it 2} 'g{\it 2} \ldots v{\it n} 'g{\it n}) SPECIAL} ¥·¥ó¥Ü¥ë v{\it 1} ¤ËÂФ·¼° g{\it 1} ¤òɾ²Á¤·¤¿·ë²Ì¤òÂåÆþ¤¹¤ë¡£v{\it 1} ¤Ø¤ÎÂåÆþ¤Î¸å g{\it 2} ¤òɾ²Á¤·¤½¤Î·ë²Ì¤ò v{\it 2} ¤ËÂåÆþ¤¹¤ë¡£°Ê²¼ g{\it n} ¤Þ¤Çɾ²Á¤ò·«¤êÊÖ¤·¡¢g{\it n}¤Îɾ²Á·ë²Ì¤ò setq ¼°¤ÎÃͤȤ·¤ÆÊÖ ¤¹¡£ ÂåÆþ¤Î°ÕÌ£¤Ë¤Ä¤¤¤Æ¤Ï set ¤ÎÉôʬ¤ò»²¾È¤Î¤³¤È¡£ °ú¿ô¤¬Á´¤¯Í¿¤¨¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï setq ¤ÎÃÍ¤Ï nil ¤È¤Ê¤ë¡£ \subsubsection{({\bf let} ((v{\it 1} 'g{\it 1}) (v{\it 2} 'g{\it 2}) \ldots (v{\it n} 'g{\it n})) gg{\it 1} gg{\it 2} \ldots gg{\it n}) CMACRO} let ¼°¤Ï¥í¡¼¥«¥ëÊÑ¿ô v{\it 1}¡¢v{\it 2}¡¢\ldots v{\it n} ¤ò½àÈ÷¤·¡¢¤½¤ì ¤¾¤ì¤ÎÊÑ¿ô¤Ë g{\it 1}¡¢ g{\it 2}¡¢\ldots g{\it n} ¤Îɾ²Á·ë²Ì¤ò¤½¤ì¤¾¤ìÂå Æþ¤·¡¢¤½¤Î´Ä¶­¤Ë¤ª¤¤¤Æ¼° gg{\it 1}¡¢gg{\it 2}¡¢\ldots gg{\it n} ¤ò½çÈÖ¤Ë É¾²Á¤¹¤ë¡£gg{\it n} ¤Îɾ²Á·ë²Ì¤¬ let ¼°¤ÎÃͤȤʤ롣 let ¼°¤Ï¥Þ¥¯¥í¤Ç¤¢¤ê¡¢ % \begin{verbatim} (let ((var1 val1) (var2 val2) ... (varn valn)) e1 e2 ... en) \end{verbatim} % ¤Ï°Ê²¼¤Î¤è¤¦¤Ë¥Þ¥¯¥íŸ³«¤µ¤ìɾ²Á¤µ¤ì¤ë¡£ \begin{verbatim} ((lambda (var1 var2 ... varn) e1 e2 ... en) val1 val2 ... valn) \end{verbatim} \subsection{´Ø¿ôÄêµÁ} \label{´Ø¿ôÄêµÁ} \subsubsection{({\bf defun} vfname (v{\it 1} v{\it 2} \ldots v{\it n}) g{\it 1} g{\it 2} \ldots g{\it n}) SPECIAL} defun ¤Ï´Ø¿ô¤òÄêµÁ¤¹¤ë¡£Á´¤Æ¤Î°ú¿ô¤Ïɾ²Á¤µ¤ì¤Ê¤¤¡£ Âè°ì°ú¿ô vfname ¤ÏÄêµÁ¤µ¤ì¤ë´Ø¿ô¤Î̾Á°¤ò¤·¤á¤¹¡£¼¡¤Ë¸½¤ì¤ë¤Î¤Ï°ú¿ô¥ê¥¹ ¥È¤Ç¤¢¤ë¡£ºÇ¸å¤Ï¤½¤Î´Ø¿ô¤ÎËÜÂΤ¬¸½¤ì¤ë¡£ Î㤨¤ÐÍ¿¤¨¤é¤ì¤¿¿ô¤ÎÆó¾è¤Î¿ô¤òÊÖ¤¹´Ø¿ô square ¤Ï°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤¹¤ë¡£ \begin{verbatim} (defun square (x) (* x x)) \end{verbatim} ¤³¤³¤Ç¡¢{\tt square} ¤¬ÄêµÁ¤µ¤ì¤ë´Ø¿ô¤Î̾Á°¡¢{\tt (x)}¤¬°ú¿ô¥ê¥¹¥È¤òɽ ¤¹¡£¤³¤Î¾ì¹ç¡¢´Ø¿ô{\tt square}¤ÏÍ£°ì¤Î°ú¿ô{\tt x}¤ò»ý¤Ä¡£ {\tt (* x x)} ¤Ï¤³¤Î´Ø¿ô¤ÎËÜÂΤǤ¢¤ê¡¢°ú¿ô{\tt x}¼«¿È¤ò³Ý¤±¹ç¤ï¤»¤¿ÃÍ ¤òÌá¤êÃͤȤ¹¤ë¡£ ¤³¤ÎÄêµÁ¤ò¹Ô¤Ã¤¿¸å¡¢canlisp ¥¤¥ó¥¿¥×¥ê¥¿¤Ç¤³¤Î´Ø¿ô¤Î¸Æ½Ð¤ò¹Ô¤¦¤È°Ê²¼¤Î ¤è¤¦¤Ë¤Ê¤ë¡£ \begin{verbatim} -> (square 2) 4 -> (square 5) 25 \end{verbatim} \subsubsection{({\bf defmacro} vmname gvars g{\it 1} g{\it 2} \ldots g{\it n}) SPECIAL} defmacro ¤Ï¥Þ¥¯¥í¤òÄêµÁ¤¹¤ë¡£Á´¤Æ¤Î°ú¿ô¤Ïɾ²Á¤µ¤ì¤Ê¤¤¡£ defmacro ¤ÇÄêµÁ¤µ¤ì¤¿´Ø¿ô¤Ç¤Ï¡¢¤½¤Î´Ø¿ô¤Ø¤ÎÁ´¤Æ¤Î°ú¿ô¤Ï¥ê¥¹¥È¤È¤·¤Æ¤Þ ¤È¤á¤é¤ì¡¢gvars ¤Ë«Çû¤µ¤ì¤ë¡£Î㤨¤Ð°Ê²¼¤ÎÄêµÁ¤ò¸«¤Æ¤ß¤è¤¦¡£ \begin{verbatim} (defmacro spread-value x (if (not (null (cdr x))) (cons 'let (cons (list (list 'spread-tmp-val (car x))) (make-setq-form (cdr x)) ))) ) (defun make-setq-form (l) (if (null l) nil (cons (list 'setq (car l) 'spread-tmp-val) (make-setq-form (cdr l))) )) \end{verbatim} ¥Þ¥¯¥í´Ø¿ô spread-value ¤Ø¤Î°ú¿ô¤Ï¥ê¥¹¥È¤Ë¤Þ¤È¤á¤é¤ì x ¤Ë«Çû¤µ¤ì¤ë¡£ Î㤨¤Ð¡¢ % \begin{verbatim} (spread-value 5680 iroha canna) \end{verbatim} % ¤È¸À¤¦¸Æ¤Ó½Ð¤·¤Î¾ì¹ç¤Ï (5680 iroha canna) ¤¬ x ¤Ë«Çû¤µ¤ì¤ë¡£ ¤µ¤Æ¾åµ­¤ÎÄêµÁ¤Ç¡¢make-setq-form ¤Ï°ú¿ô¤ËÍ¿¤¨¤é¤ì¤¿Êª¤ËÂФ·¤Æ spread-tmp-val ¤ò setq ¤¹¤ë¼°¤òºîÀ®¤¹¤ë¡£ \begin{verbatim} -> (make-setq-form '(a b)) ((setq a spread-tmp-val) (setq b spread-tmp-val)) \end{verbatim} ¥Þ¥¯¥í spread-value ¤ÎËÜÂΤÏÊÑ¿ô¥ê¥¹¥È¤Î³ÆÊÑ¿ô¤ËÂФ·¤Æ x ¤Î car Éô¤Ë¤¢ ¤ë°ú¿ô¤ò let ¼°¤òÁȤ߹ç¤ï¤»¤ÆÂåÆþ¤¹¤ë lisp ¼°¤òÀ¸À®¤¹¤ë¡£ Î㤨¤Ð¡¢x ¤¬ (0 a b) ¤Ç¤¢¤ë¤Ê¤é¤Ð¡¢defmacro ¤ÇÍ¿¤¨¤¿ËÜÂΤϰʲ¼¤Î¼°¤òÀ¸ À®¤¹¤ë(¤³¤³¤Ç¤Ï¸«¤ä¤¹¤µ¤Î¤¿¤á¥×¥ê¥Æ¥£¥×¥ê¥ó¥È¤·¤Æ¤¤¤ë)¡£ \begin{verbatim} (let ((spread-tmp-val 0)) (setq a spread-tmp-val) (setq b spread-tmp-val) ) \end{verbatim} ¥Þ¥¯¥í¼°¤Ç¤Ï¡¢ defmacro ¤ÇÍ¿¤¨¤é¤ì¤¿ËÜÂΤˤè¤êÆÀ¤é¤ì¤ë¼°¤ò¤â¤¦°ìÅÙɾ²Á ¤¹¤ë¡£¾å¤ÎÎã¤Ç spread-value ¤ò°Ê²¼¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¡¢ % \begin{verbatim} -> (spread-value 5680 iroha canna) \end{verbatim} % ¤Ï¡¢¤¢¤¿¤«¤â¡¢ % \begin{verbatim} -> (let ((spread-tmp-val 5680)) (setq iroha spread-tmp-val) (setq canna spread-tmp-val) ) \end{verbatim} % ¤ò¼Â¹Ô¤·¤¿¤«¤Î¤è¤¦¤Ëɾ²Á¤¬¹Ô¤ï¤ì¡¢ÊÑ¿ô iroha ¤ª¤è¤Ó canna ¤Ë¤Ï 5680 ¤¬ «Çû¤µ¤ì¤ë¡£ ¤³¤³¤Ç¡¢spread-value ¤ÎÂè°ì°ú¿ô¤À¤±¤Ïɾ²Á¤¬¹Ô¤ï¤ì¡¢¤½¤Î¾¤Î°ú¿ô¤ÏÁ´¤¯ ɾ²Á¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤µ¤ì¤¿¤¤¡£ ¤³¤Î¤è¤¦¤Ë¥Þ¥¯¥í¤Ï¥¹¥Ú¥·¥ã¥ë·¿¤Î´Ø¿ô¤Î¤è¤¦¤Ë¡¢°ìÉô°ú¿ô¤¬É¾²Á¤µ¤ì¤Ê¤¤´Ø ¿ô¤òºîÀ®¤¹¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£ ¤Ê¤ª¡¢Common Lisp ¤Ê¤É¤Ë¤Ï defmacro ¤ò½õ¤±¤ëµ­Ë¡¤È¤·¤Æ¥Ð¥Ã¥¯¥¯¥ª¡¼¥È ¥Þ¥¯¥í(lisp reader ¤Ë¤è¤ê½èÍý¤µ¤ì¤ë¥Þ¥¯¥íµ­½Ò)¤òÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¤¬¡¢ canlisp ¤Ç¤Ï¥Ð¥Ã¥¯¥¯¥ª¡¼¥È¥Þ¥¯¥í¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£ \subsection{UNIX ´ØÏ¢} \subsubsection{({\bf getenv} 's) SUBR} s ¤Ç¼¨¤µ¤ì¤ë´Ä¶­ÊÑ¿ô¤ÎÃͤòÊÖ¤¹¡£ÊÖ¤µ¤ì¤ëÃͤÏʸ»úÎ󷿤Υǡ¼¥¿¤Ç¤¢¤ë¡£´Ä ¶­ÊÑ¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï getenv ¤Ï nil ¤òÊÖ¤¹¡£ ʸ»úÎó°Ê³°¤Î¥Ç¡¼¥¿¤ò getenv ¤ËÍ¿¤¨¤ë¤È¥¨¥é¡¼¤Ë¤Ê¤ë¡£ \subsection{¤½¤Î¾} \subsubsection{({\bf quote} g{\it 1} g{\it 2} \ldots g{\it n}) SPECIAL} quote ¼°¤Ï g{\it 1} ¼«¿È¤òÃͤȤ·¤ÆÊÖ¤¹¡£g{\it 1}¡Ág{\it n} ¤Ïɾ²Á¤µ¤ì ¤Ê¤¤¡£°ú¿ô¤¬¤Þ¤Ã¤¿¤¯Í¿¤¨¤é¤ì¤Ê¤¤¾ì¹ç¤Ï nil ¤¬ÃͤȤʤ롣 \subsubsection{({\bf load} 's) SUBR} load ¤Ï s ¤Ç¼¨¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ò canlisp ¥Õ¥¡¥¤¥ë¤È¤·¤ÆÆÉ¤ß¹þ¤ß¡¢¤½¤ÎÃæ ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë lisp ¼°¤òɾ²Á¤¹¤ë¡£ load Ãæ¤Ë load ¤ò¹Ô¤¦¤³¤È¤â²Äǽ¤Ç¤¢¤ê¡¢Æþ¤ì¤³¤Î¿¼¤µ¤ÏºÇÂç 20 ¤Þ¤Ç¤Ç¤¢ ¤ë¡£load Ãæ EOF ¤Ë¤Ê¤Ã¤¿»þÅÀ¤ÇÆÉ¤ß¹þ¤ß¤¬½ªÎ»¤·¡¢¸µ¤Î¥Õ¥¡¥¤¥ë¤Î½èÍý¤ËÌá ¤ë¡£ \subsubsection{({\bf gc}) SUBR} ¥¬¡¼¥Ù¥¸¥³¥ì¥¯¥·¥ç¥ó¤¬¹Ô¤ï¤ì¤ë¡£ \subsubsection{({\bf copy-symbol} 'v{\it 1} 'v{\it 2}) SUBR} ¥·¥ó¥Ü¥ë v{\it 2} ¤Î¤¹¤Ù¤Æ¤Î°À­¤ò¥·¥ó¥Ü¥ë v{\it 1} ¤Ë¥³¥Ô¡¼¤¹¤ë¡£ ¤³¤ì¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Î³Æ¥·¥ó¥Ü¥ë̾¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤ËÍѤ¤¤ë¡£Î㤨¤Ð¡Ø¤«¤ó¤Ê¡Ù ¤Ç¥â¡¼¥É¤äµ¡Ç½¤òɽ¤¹¥·¥ó¥Ü¥ë¤Ë¡¢yomi-mode ¤ä¡¢kigou-mode¡¢kakutei ¤¬¤¢ ¤ë¡£¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë̾¤Ï¥í¡¼¥Þ»úɽµ­¤µ¤ì¤Æ¤¤¤ë¤¬¡¢copy-symbol ¤òÍѤ¤¤Æ¡¢ ¤³¤ì¤é¤Î̾Á°¤ËÊ̤Î̾Á°¤ò¿¶¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ \begin{verbatim} (copy-symbol 'ÆÉ¤ß¥â¡¼¥É 'yomi-mode) (copy-symbol 'µ­¹æ¥â¡¼¥É 'kigou-mode) (copy-symbol '³ÎÄê 'kakutei) \end{verbatim} ¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ò¤¹¤ë¤È¤­¤Ë ¼¡¤Î¤è¤¦¤Ê½ñ¤­¤«¤¿¤¬¤Ç¤­¤ë¡£ \begin{verbatim} (set-key 'ÆÉ¤ß¥â¡¼¥É "\C-l" '³ÎÄê) \end{verbatim} Î㤨¤Ð copy-symbol ¤ò¹Ô¤Ã¤ÆÅ¬Åö¤Ê̾Á°¤òÉÕ¤±¤ë¥Õ¥¡¥¤¥ë¤òÊ̤ËÍѰդ·¤Æ¡¢ ¤½¤ì¤ò load ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¼ï¡¹¤Î¥â¡¼¥É̾¤ä¡¢µ¡Ç½Ì¾¤ËÆüËܸì¤Î̾¾Î¤òÉÕ ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£Î㤨¤Ð copy-symbol ¤ò¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ò /usr/local/canna/share/canna/jpn.canna ¤È¤¹¤ë¤È¡¢°Ê²¼¤Î¤è¤¦¤Êµ­½Ò¤¬²Äǽ¤Ç¤¢¤ë¡£ \begin{verbatim} (load "/usr/local/canna/share/canna/jpn.canna") (ÀßÄê ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë "default.cbp") (¼­½ñÍøÍÑ "iroha" "fuzokugo" :Éô¼ó "bushu" :¥æ¡¼¥¶ "user") (ÀßÄê Ã༡¼«Æ°ÊÑ´¹ ¤¹¤ë) \end{verbatim} ¤³¤Î¾ì¹ç jpn.canna ¤Ë¤ÏºÇÄã¸Â°Ê²¼¤Îµ­½Ò¤¬¤¢¤Ã¤¿¤³¤È¤Ë¤Ê¤ë¡£ \begin{verbatim} (copy-symbol 'ÀßÄê 'setq) (copy-symbol '¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë 'romkana-table) (copy-symbol '¼­½ñÍøÍÑ 'use-dictionary) (copy-symbol 'Ã༡¼«Æ°ÊÑ´¹ 'auto) (setq :Éô¼ó :bushu :¥æ¡¼¥¶ :user ¤¹¤ë t) \end{verbatim} ¡Ø¤«¤ó¤Ê¡Ù¤Î³Æ¼ï¥·¥ó¥Ü¥ë¤Ë¤Ï¥í¡¼¥Þ»ú¤ò¥Ù¡¼¥¹¤Ë¤·¤¿Ì¾Á°¤¬Â¿¤¤¤¬(Îã: henkan¡¢kakutei)¾­Íè¡Ø¤«¤ó¤Ê¡Ù¤¬´Ú¹ñ¸ì¤äÃæ¹ñ¸ì¤ËÂбþ¤¹¤ë¾ì¹ç¡¢¥í¡¼¥Þ»ú ¥Ù¡¼¥¹¤Î³Æ¼ï¥·¥ó¥Ü¥ë¤ò copy-symbol µ¡Ç½¤òÍѤ¤¤ÆÊ̤Î̾Á°¤ËÊѹ¹¤¹¤ë¤³¤È ¤¬²Äǽ¤Ç¤¢¤ë¡£ \subsection{¡Ø¤«¤ó¤Ê¡Ù´ØÏ¢} \subsubsection{({\bf defmode} vname ['sdpy ['srt ['gfn ['gus]]]]) SPECIAL} ¤¢¤¿¤é¤·¤¤ÆþÎϥ⡼¥É¤òÄêµÁ¤¹¤ë¡£¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢ÆÈΩ¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼ ¥Ö¥ë¤ò»ý¤Á¡¢¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤â¤³¤Î¥â¡¼¥É¤Ç¤À¤±ÆÈΩ¤Ç¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¡£ vname ¤Ï¿·¤·¤¤¥â¡¼¥É¤òɽ¤¹¥·¥ó¥Ü¥ë¤È¤·¤ÆÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£ ¤Þ¤¿¡¢vname ¤Ï¡¢¤½¤Î¥â¡¼¥É¤Ø°Ü¹Ô¤¹¤ëµ¡Ç½¤òɽ¤¹¥·¥ó¥Ü¥ë¤È¤·¤Æ¤âÍѤ¤¤ë¤³¤È ¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£ sdpy ¤Ï¤³¤Î¥â¡¼¥É¤Ë¤Ê¤Ã¤¿¤È¤­¤Ë¥â¡¼¥Éɽ¼¨Éôʬ¤Ëɽ¼¨¤µ¤ì¤ëʸ»úÎó¤Ç¤¢¤ë¡£ sdpy ¤Î»ØÄ꤬¤Ê¤±¤ì¤Ð nil ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤ÈƱ¤¸¿¶¤ëÉñ¤¤¤ò¤¹¤ë¡£ srt ¤Ï¤³¤Î¥â¡¼¥É¤ÇÍѤ¤¤é¤ì¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ç¤¢¤ë¡£Ä̾ï¤Î ¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÈƱ¤¸¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤¿¤¤¾ì¹ç ¤Ï¡¢ % \begin{verbatim} (setq romkana-table 'srt) \end{verbatim} % ¤¬ defmode ¤è¤ê¤âÁ°¤Ë¸ºß¤¹¤ë¤³¤È¤ò³Îǧ¤·¤Æ¡¢defmode ¤Î srt ¤ÎÉôʬ ¤Ë romkana-table ¤ò»Ø Äꤹ¤ì¤ÐÎɤ¤¡£ srt ¤Î»ØÄ꤬¤Ê¤±¤ì¤Ð¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ï¹Ô¤ï¤Ê¤¤¡£ gfn ¤Ï¤³¤Î¥â¡¼¥É¤Ç¡¢ÆþÎϤ¬¹Ô¤ï¤ì¤¿¤È¤­¤Ë¼Â¹Ô¤µ¤ì¤ëµ¡Ç½¤Ç¤¢¤ë¡£µ¡Ç½¤È¤· ¤Æ¤Ï kakutei¡¢henkan¡¢zenkaku¡¢hankaku¡¢hiragana¡¢katakana¡¢romaji¡¢ to-upper¡¢capitalize¡¢to-lower ¤¬»ØÄê¤Ç¤­¤ë¡£³Æ»ØÄê¤Î°ÕÌ£¤Ë¤Ä¤¤¤Æ¤Ï ¡Ø¤«¤ó¤Ê¡Ù¥Þ¥Ë¥å¥¢¥ë¤ÎÊý¤ò»²¾È¤¹¤ë¤³¤È¡£ ¤¿¤À¤·¡¢ henkan¡¢to-upper¡¢capitalize¡¢to-lower ¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 2.2¡Á3.2 ¤Ç¤Ïñ ¤Ë̵»ë¤µ¤ì¤ë¡£ gfn ¤Î»ØÄ꤬¤Ê¤±¤ì¤Ð¡¢¶õ¤Îµ¡Ç½¥ê¥¹¥È¤¬ÅϤµ¤ì¤¿¤Î¤ÈƱ¤¸°ÕÌ£¤È¤Ê¤ë¡£ gus ¤Ï defsymbol ¤Ç¤Î¥·¥ó¥Ü¥ëÄêµÁ¤ò¤½¤Î¥â¡¼¥É¤Ç¤Ï»È¤¦¤«¤É¤¦¤«¤òɽ¤¹¡£ Î㤨¤ÐÉáÃÊ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÍѤ¤¡¢defmode ¤Ë¤è¤êµ¿»÷¥«¥ÊÆþÎϤòÄêµÁ¤·»þ¡¹ ÍѤ¤¤ë¾ì¹ç¡¢µ¿»÷¥«¥ÊÆþÎϤǤϿô»ú¥­¡¼¤âÍѤ¤¤ë¤¿¤á¿ô»ú¥­¡¼¤ËÂФ¹¤ë defsymbol ¤Ï¼ÙËâ¤Ë¤Ê¤ë¡£ gus ¤¬ nil ¤Ç¤¢¤ì¤Ð¡¢defsymbol ¤Ç¤ÎÄêµÁ¤Ï¤½¤Î¥â¡¼¥É¤Ç¤ÏÍѤ¤¤é¤ì¤Ê¤¤¡£ Èó nil ¤Ç¤¢¤ì¤Ð¡¢ÍѤ¤¤é¤ì¤ë¡£»ØÄ꤬¤Ê¤±¤ì¤Ð nil ¤È¤ß¤Ê¤µ¤ì¤ë¡£ \subsubsection{({\bf defsymbol} nkey{\it 11} [nkey{\it 12}] s{\it 11} \ldots s{\it 1n} \ldots nkey{\it m1} [nkey{\it m2}] s{\it m1} \ldots s{\it mn}) SPECIAL} ³Æ°ú¿ô¤Ïɾ²Á¤µ¤ì¤Ê¤¤¡£nkey{\it i} ¤Ïʸ»ú¤òµ­½Ò¤¹¤ë¡£ defsymbol ¤Î°ÕÌ£¤Ë¤Ä¤¤¤Æ¤Ï¡Ø¤«¤ó¤Ê¡Ù¥Þ¥Ë¥å¥¢¥ë»²¾È¤Î¤³¤È¡£ \subsubsection{({\bf defselection} vname sdpy 'llist) SPECIAL} ¤Ê¤ó¤é¤«¤Î°ìÍ÷ɽ¼¨¤ò´Êñ¤Ë½Ð¤»¤ë¤è¤¦¤ËÄêµÁ¤¹¤ë\footnote{Version 3.2 ¤« ¤é¤Îµ¡Ç½}¡£ ºÇ¸å¤Î°ú¿ô¤Î¤ß¤¬É¾²Á¤µ¤ì¤ë¡£llist ¤Ë¤Ïʸ»ú¤Î¥ê¥¹¥È¤«¡¢¤¢¤ë¤¤¤Ï¥Ï¥¤¥Õ¥ó (-)¤ÇÈϰϻØÄê¤òÍ¿¤¨¤ë¡£defselection ¤Î¾ÜºÙ¤Ë´Ø¤·¤Æ¤Ï¡Ø¤«¤ó¤Ê¡Ù¥Þ¥Ë¥å¥¢ ¥ë¤ò»²¾È¤Î¤³¤È¡£ \subsubsection{({\bf defmenu} vname (sentry{\it 1} vfn{\it 1}) \ldots (sentry{\it n} vfn{\it n})) SPECIAL} ¥á¥Ë¥å¡¼¤ÎÄêµÁ¤òÍ¿¤¨¤ë\footnote{Version 3.2 ¤«¤é¤Îµ¡Ç½}¡£ °ú¿ô¤Ïɾ²Á¤µ¤ì¤Ê¤¤¡£¤³¤ÎÄêµÁ¤ò¤¹¤ë¤È vname ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤ê sentry{\it 1}¡Ásentry{\it n} ¤«¤é¤Ê¤ë¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¡¢ÆÃÄê¤Î¹àÌÜ sentry{\it i} ¤ÎÁªÂò¤Ë¤è¤ê¤½¤Î¹àÌܤËÂбþ¤¹¤ëµ¡Ç½ vfn{\it i}¤¬¼Â¹Ô¤µ¤ì¤ë¡£vfn{\it i} ¤Ï¤µ¤é¤Ë defmenu ¤ÇÄêµÁ¤µ¤ì¤¿¥á¥Ë¥å¡¼¤Ç¤â¹½¤ï¤Ê¤¤¡£ defmenu ¤Î¾ÜºÙ¤Ë´Ø¤·¤Æ¤Ï¡Ø¤«¤ó¤Ê¡Ù¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤Î¤³¤È¡£ \subsubsection{({\bf set-mode-display} 'vmode 'sdpy) SUBR} vmode ¤Î¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ò sdpy ¤Ë¤¹¤ë¡£ \subsubsection{({\bf set-key} 'vmode 'skeys 'gfn) SUBR} ¡Ø¤«¤ó¤Ê¡Ù¤Î¥â¡¼¥É vmode ¤Ë¤Æ¡¢£±¤Ä°Ê¾å¤Î¥­¡¼¤ÎÊÂ¤Ó skeys ¤Ë£±¤Ä°Ê¾å¤Î µ¡Ç½¤ÎÊÂ¤Ó gfn ¤ò¥Ð¥¤¥ó¥É¤¹¤ë¡£ gfn ¤Ïµ¡Ç½¤òɽ¤¹Ã±°ì¤Î¥·¥ó¥Ü¥ë¤«¡¢µ¡Ç½¤òɽ¤¹¥·¥ó¥Ü¥ë¤«¤é¤Ê¤ëÀþ·Á¥ê¥¹¥È ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ vmode ¤¬¥â¡¼¥É¤òɽ¤¹µ¡Ç½¤Ç¤Ê¤«¤Ã¤¿¤ê¡¢gfn ¤Îµ¡Ç½¤ÎÃæ¤Ë¡¢µ¡Ç½¤òɽ¤¹¥·¥ó ¥Ü¥ë¤Ç¤Ê¤¤¤â¤Î¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¥¨¥é¡¼¤Ë¤Ê¤ë¡£ \subsubsection{({\bf global-set-key} 'skeys 'gfn) SUBR} ¤¹¤Ù¤Æ¤Î¥â¡¼¥É¤ËÂФ·¤Æ¥­¡¼¤Èµ¡Ç½¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¹Ô¤¦ÅÀ¤ò½ü¤¤¤Æ set-key ¤ÈƱ¤¸¡£ \subsubsection{({\bf unbind-key-function} 'vmode 'gfn) SUBR} vmode ¤Ë¤ª¤¤¤Æ gfn ¤Ç»ØÄꤵ¤ì¤¿µ¡Ç½¤¬³ä¤êÅö¤Æ¤Æ¤¢¤ë¥­¡¼¤ò̵¸ú¤Ë¤¹¤ë¡£ gfn ¤Ïµ¡Ç½¤òɽ¤¹Ã±°ì¤Î¥·¥ó¥Ü¥ë¤«¡¢µ¡Ç½¤òɽ¤¹¥·¥ó¥Ü¥ë¤«¤é¤Ê¤ëÀþ·Á¥ê¥¹¥È ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ \subsubsection{({\bf global-unbind-key-function} 'gfn) SUBR} ¤¹¤Ù¤Æ¤Î¥â¡¼¥É¤ËÂФ·¤Æ¥­¡¼¤Èµ¡Ç½¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¹Ô¤¦ÅÀ¤ò½ü¤¤¤Æ unbind-key-function ¤ÈƱ¤¸¡£ \subsubsection{({\bf define-esc-sequence} 'sterm 'sseq 'nkey) SUBR} üËö¤Î¥¿¥¤¥×¤´¤È¤Ë¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤Èµ¡Ç½¥­¡¼¤ÎÂбþ¤òÀßÄꤹ¤ë¡£ ¡Ø¤«¤ó¤Ê¡Ù¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤Î¤³¤È¡£ \subsubsection{({\bf use-dictionary} 's{\it 1} \ldots [':bushu 's{\it i}\/] \ldots [':user 's{\it j}\/] \ldots [':katakana 's{\it k}\/] 's{\it n}\/) SUBR} ¼­½ñ¤ÎÍøÍѤò»Ø¼¨¤¹¤ë¡£¤¹¤Ù¤Æ¤Î°ú¿ô¤Ïɾ²Á¤µ¤ì¤ë¡£¥­¡¼¥ï¡¼¥É°ú¿ô¤¬¤¤¤¯¤Ä ¤«»ØÄê¤Ç¤­¤ë¡£ÍøÍѤǤ­¤ë¥­¡¼¥ï¡¼¥É¤Ï :bushu ¤ª¤è¤Ó :user, :katakana ¤Ç¤¢¤ë¡£ use-dictionary ¤Î¾ÜºÙ¤Ï¡Ø¤«¤ó¤Ê¡Ù¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤Î¤³¤È¡£ \subsubsection{({\bf initialize-function} 'gfn) SUBR} ½é´ü²½»þ¤Ë¼Â¹Ô¤µ¤ì¤ëµ¡Ç½¤ò»ØÄꤹ¤ë¡£ gfn ¤Ïµ¡Ç½¤òɽ¤¹Ã±°ì¤Î¥·¥ó¥Ü¥ë¤«¡¢µ¡Ç½¤òɽ¤¹¥·¥ó¥Ü¥ë¤«¤é¤Ê¤ëÀþ·Á¥ê¥¹¥È ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ \appendix \section{ÆÃ¼ì¤Ê¥·¥ó¥Ü¥ë¤Îɽ} \subsection{¡Ø¤«¤ó¤Ê¡Ù´ØÏ¢¤ÎÊÑ¿ô} °Ê²¼¤Î¤¦¤Á canna-directory ¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 2.2 ¤ÇÄɲ䵤줿ÊÑ¿ô¤Ç ¤¢¤ë¡£¤Þ¤¿¡¢auto-sync, force-kana, hiragana-touroku, ignore-case, inhibit-hankaku-kana, katakana-touroku, quickly-escape-from-kigo-input, renbun-continue, romaji-yuusen¤Ï Version 3.2 ¤ÇÄɲ䵤줿ÊÑ¿ô¤Ç¤¢¤ë¡£ code-input ¤Ï Version 3.4 ¤Ç¡¢mojishu-continue ¤Ï Version 3.5 ¤ÇÄɲäµ ¤ì¤Æ¤ª¤ê¡¢delay-connect ¤Ï Version 3.7 ¤ÇÄɲäµ¤ì¤Æ¤¤¤ë¡£ \begin{verbatim} abandon-illegal-phonogram ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ë»È¤ï¤ì¤Ê¤¤Ê¸»ú¤ò¼Î¤Æ¤ë¤« allow-next-input °ìÍ÷ɽ¼¨»þ¤Ë¼¡¤ÎÆþÎϤòµö¤¹¤« auto Ã༡¼«Æ°ÊÑ´¹¤¹¤ë¤« auto-sync ñ¸ìÅÐÏ¿ºï½ü»þ¤Ë¼«Æ°Åª¤Ë¼­½ñ¤¬SYNC¤µ¤ì¤ë¤« backspace-behaves-as-quit ¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤¬ quit ¤Î¤è¤¦¤ËƯ¤¯¤« break-into-roman ¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤Ç¥í¡¼¥Þ»ú¤ËÌ᤹¤« bunsetsu-kugiri ʸÀá´Ö¤Ë¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤ë¤« canna-directory ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ê¤É¤¬¤ª¤¤¤Æ¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê canna-version ¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó character-based-move ¥«¡¼¥½¥ë°Üư¤¬Ê¸»úñ°Ì¤« chikuji-continue Ã༡¼«Æ°ÊÑ´¹¸õÊäɽ¼¨Ãæ¤ÎÆþÎϤdzÎÄꤹ¤ë¤«¤É¤¦¤« chikuji-force-backspace Ã༡¼«Æ°Ê¸Àá»þ¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤Çɬ¤º1ʸ»ú¾Ã¤¹¤«¤É¤¦¤« code-input ¥³¡¼¥ÉÆþÎÏ»þ¤Î¥³¡¼¥É¼ïÊÌ cursor-wrap ±¦Ã¼¤«¤é±¦¤Ø¹Ô¤¯¤Èº¸¤Ø¹Ô¤Ã¤¿¤ê¤¹¤ë¤Î¤ò¤¹¤ë¤« delay-connect ºÇ½é¤ÎÊÑ´¹¤Î»þ¤Þ¤Ç¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤òÃٱ䤹¤ë¤« english-table ³°Íè¸ìÊÑ´¹ÍѼ­½ñ¤òÆþ¤ì¤Æ¤ª¤¯ÊÑ¿ô force-kana ¡Ô»È¤Ã¤Æ¤¤¤Ê¤¤¡Õ gakushu ³Ø½¬¤¹¤ë¤« grammatical-question ñ¸ìÅÐÏ¿»þ¤ËÉÊ»ìʬÎà¤Î¤¿¤á¤Î¼ÁÌä¤ò¤¹¤ë¤« hex-direct £±£¶¿Ê¥³¡¼¥ÉÆþÎϤǣ´¥±¥¿Ìܤ˥ï¥ó¥¯¥Ã¥·¥ç¥óÃÖ¤¯¤« hiragana-touroku ¡Ô»È¤Ã¤Æ¤¤¤Ê¤¤¡Õ ignore-case ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÇÂçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ index-hankaku ¸õÊä°ìÍ÷¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¿ôÃͤòȾ³Ñ¤Ë¤¹¤ë¤« index-separator ¸õÊä°ìÍ÷¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¿ôÃͤȸõÊä¤Î´Ö¤Îʸ»ú¤òÆþ¤ì¤Æ¤ª¤¯ inhibit-hankaku-kana »ú¼ïÊÑ´¹¤ÇȾ³Ñ¤«¤Ê¤ò¶Ø»ß¤¹¤ë¤« inhibit-list-callback ¥ê¥¹¥È¥³¡¼¥ë¥Ð¥Ã¥¯¤ò¶Ø»ß¤¹¤ë¤« kakutei-if-end-of-bunsetsu ʸÀá¤ÎºÇ¸å¤«¤é±¦¤Ø¹Ô¤³¤¦¤È¤·¤¿»þ¤Ë³ÎÄꤹ¤ë¤« katakana-touroku ¡Ô»È¤Ã¤Æ¤¤¤Ê¤¤¡Õ keep-cursor ¡Ô»È¤Ã¤Æ¤¤¤Ê¤¤¡Õ keep-cursor-position ÊÑ´¹¤«¤éÆÉ¤ß¤ËÌᤷ¤¿»þ¤Î¥«¡¼¥½¥ë°ÌÃÖ¤ò¤É¤³¤Ë¤¹¤ë¤« kojin ¸Ä¿ÍÊ̳ؽ¬¤ò¤¹¤ë¤« kouho-count ¸õÊ䤬²¿ÈÖÌܤ«¤ò¸õÊä°ìÍ÷»þ¤Ëɽ¼¨¤¹¤ë¤« learn-numerical-type ¡Ô»È¤Ã¤Æ¤¤¤Ê¤¤¡Õ mojishu-continue ʸ»ú¼ïÊÑ´¹¸å¡¢³ÎÄꤷ¤Ê¤¤¤Ç¼¡¤ÎÆþÎϤò¹Ô¤¦¤« n-henkan-for-ichiran ²¿ÈÖÌܤÎÊÑ´¹¥­¡¼¤Ç¸õÊä°ìÍ÷¤ò½Ð¤¹¤« n-keys-to-disconnect ¤É¤Î¤¯¤é¤¤¤«¤Ê´Á»úÊÑ´¹¤·¤Ê¤¤¤ÈÀܳ¤òÀڤ뤫 n-kouho-bunsetsu Ã༡¼«Æ°ÊÑ´¹¤Ç³ÎÄꤷ¤Ê¤¤¤Ç¤ª¤¯Ê¸Àá¿ô numerical-key-select ¸õÊä°ìÍ÷¤Î»þ¤Ë¿ô»ú¥­¡¼¤ò½Ð¤¹¤« protocol-version ¥×¥í¥È¥³¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤¬Æþ¤Ã¤Æ¤¤¤ëÊÑ¿ô quickly-escape-from-kigo-input µ­¹æÆþÎϤǤҤȤÄÁª¤ó¤À¤é¤¹¤°È´¤±¤ë¤« quit-if-end-of-ichiran °ìÍ÷¤ÎºÇ¸å¤Ç¼¡¤Î¸õÊä¤ò½Ð¤½¤¦¤È¤¹¤ë¤È°ìÍ÷¤ò½ª¤ï¤ë¤« renbun-continue ϢʸÀáÊÑ´¹»þ¡¢¼¡ÆþÎϳ«»Ï¤Ç¤âÁ°¤ÎʸÀ᤬»Ä¤ë¤« reverse-widely ÆÉ¤ßÆþÎÏÃæ¤Î¥ê¥Ð¡¼¥¹¤ÎÉý¤ò¹­¤¯¤¹¤ë¤« reverse-word °ìÍ÷»þ¤Î¥ê¥Ð¡¼¥¹¤ÎÉý¤ò¹­¤¯¤¹¤ë¤« romaji-yuusen ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÍ¥À褵¤»¤ë¤« romkana-table ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÆþ¤ì¤Æ¤ª¤¯ select-direct ¸õÊä°ìÍ÷¤Ç¿ô»ú¤òÁª¤Ö¤È°ìÍ÷¤¬½ª¤ë¤« server-name ¥µ¡¼¥Ð̾¤¬Æþ¤Ã¤Æ¤¤¤ëÊÑ¿ô server-version ¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó¤¬Æþ¤Ã¤Æ¤¤¤ëÊÑ¿ô stay-after-validate ¸õÊä°ìÍ÷¤ÇÁªÂò¤·¤¿¸å¡¢Æ±¤¸Ê¸Àá¤Ë¤È¤É¤Þ¤ë¤« \end{verbatim} \subsection{¡Ø¤«¤ó¤Ê¡Ù¤Î¥â¡¼¥É¤òɽ¤¹¥·¥ó¥Ü¥ë} °Ê²¼¡Ö¡ö¡×¤¬ÉÕ¤¤¤Æ¤¤¤ë¤Î¤Ï¥ê¥¢¥ë¥â¡¼¥É¤Ç¡¢Â¾¤Ï¥¤¥Þ¥¸¥Ê¥ê¥â¡¼¥É¤Ç¤¢¤ë¡£ ¥ê¥¢¥ë¥â¡¼¥É¤Ç¤Ï¥â¡¼¥É̾¤ÎÊѹ¹¤È¤½¤Î¥â¡¼¥É¤À¤±¤Ç¤Î¥­¡¼¤Î³äÅö¤¬¤Ç¤­¤ë¤¬¡¢ ¥¤¥Þ¥¸¥Ê¥ê¥â¡¼¥É¤Ë´Ø¤·¤Æ¤Ï¥â¡¼¥É̾¤ÎÊѹ¹¤·¤«¹Ô¤¨¤Ê¤¤¡£¥¤¥Þ¥¸¥Ê¥ê¥â¡¼¥É ¤Ï¥ê¥¢¥ë¥â¡¼¥É¤ÎÁȹ礻¤Çºî¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¥¤¥Þ¥¸¥Ê¥ê¥â¡¼¥É¤Ç¤Î¥­¡¼¥Ð¥¤¥ó ¥Ç¥£¥ó¥°¤Ï¥Ù¡¼¥¹¤È¤Ê¤ë¥ê¥¢¥ë¥â¡¼¥É¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤ë¡£Î㤨¤Ð extend-mode ¤Î¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï ichiran-mode ¤Ç¤Î¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥° ¤¬¤½¤Î¤Þ¤ÞÍѤ¤¤é¤ì¤ë¡£ °Ê²¼¤Î¤¦¤Á¡¢bubun-muhenkan-mode ¤Ï Version 3.2 °Ê¹ß¤Ï̵¸ú¤Ç¤¢¤ë¡£ \begin{verbatim} alpha-mode ¡ö¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É bubun-muhenkan-mode ¡¡ÊÔ½¸¥â¡¼¥É bushu-mode ¡¡Éô¼ó¥â¡¼¥É changing-server-mode ¡¡¥µ¡¼¥Ð¤òÊѹ¹¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥â¡¼¥É chikuji-bunsetsu-mode ¡öÃ༡¼«Æ°ÊÑ´¹¤ÇʸÀá¾å¤Ë¤¤¤ë¥â¡¼¥É chikuji-yomi-mode ¡öÃ༡¼«Æ°ÊÑ´¹¤ÇÆÉ¤ß¤Î¾å¤Ë¤¤¤ë¥â¡¼¥É delete-dic-mode ¡¡Ã±¸ìºï½ü¥â¡¼¥É empty-mode ¡ö¤Þ¤ÀÆþÎϤò¤·¤Æ¤¤¤Ê¤¤¤È¤­¤Î¥â¡¼¥É extend-mode ¡¡³ÈÄ¥¥á¥Ë¥å¡¼¥â¡¼¥É greek-mode ¡¡¥®¥ê¥·¥ãʸ»úÁªÂò¥â¡¼¥É han-alpha-henkan-mode ¡¡È¾³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É han-alpha-kakutei-mode ¡¡È¾³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É han-hira-henkan-mode ¡¡È¾³Ñ¤Ò¤é¤¬¤ÊÊÑ´¹ÆþÎϥ⡼¥É han-hira-kakutei-mode ¡¡È¾³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É han-kata-henkan-mode ¡¡È¾³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É han-kata-kakutei-mode ¡¡È¾³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É henkan-method-mode ¡¡ÊÑ´¹Êý¼°ÀÚÂØ¤¨¥â¡¼¥É henkan-nyuuryoku-mode ¡¡ÊÑ´¹ÆþÎϥ⡼¥É hex-mode ¡¡£±£¶¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É ichiran-mode ¡ö¸õÊä°ìÍ÷¥â¡¼¥É kigou-mode ¡öµ­¹æÆþÎϥ⡼¥É line-mode ¡¡·ÓÀþÁÇÊÒÁªÂò¥â¡¼¥É mojishu-mode ¡ö»ú¼ïÊÑ´¹¥â¡¼¥É mount-dic-mode ¡¡¼­½ñ¥Þ¥¦¥ó¥È¥¢¥ó¥Þ¥¦¥ó¥È¥â¡¼¥É on-off-mode ¡öÁªÂò/ÈóÁªÂò¥â¡¼¥É quoted-insert-mode ¡ö°úÍÑÆþÎϥ⡼¥É russian-mode ¡¡¥í¥·¥¢Ê¸»ú(¥­¥ê¥ëʸ»ú)ÁªÂò¥â¡¼¥É shinshuku-mode ¡öʸÀá¿­½Ì¥â¡¼¥É tankouho-mode ¡öñ¸õÊäɽ¼¨¥â¡¼¥É touroku-dic-mode ¡¡Ã±¸ìÅÐÏ¿»þ¼­½ñÁªÂò¥â¡¼¥É touroku-hinshi-mode ¡¡Ã±¸ìÅÐÏ¿»þÉÊ»ìÁªÂò¥â¡¼¥É touroku-mode ¡¡Ã±¸ìÅÐÏ¿¥â¡¼¥É yes-no-mode ¡ö¡Ö¤Ï¤¤¡×¤«¡Ö¤¤¤¤¤¨¡×¤òÅú¤¨¤ë¥â¡¼¥É yomi-mode ¡öÆÉ¤ßÆþÎϥ⡼¥É zen-alpha-henkan-mode ¡¡Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÊÑ´¹ÆþÎϥ⡼¥É zen-alpha-kakutei-mode ¡¡Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É zen-hira-henkan-mode ¡¡Á´³Ñ¤Ò¤é¤¬¤ÊÊÑ´¹ÆþÎϥ⡼¥É zen-hira-kakutei-mode ¡¡Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É zen-kata-henkan-mode ¡¡Á´³Ñ¥«¥¿¥«¥ÊÊÑ´¹ÆþÎϥ⡼¥É zen-kata-kakutei-mode ¡¡Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É \end{verbatim} \subsection{¡Ø¤«¤ó¤Ê¡Ù¤Îµ¡Ç½¤òɽ¤¹¥·¥ó¥Ü¥ë} °Ê²¼¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Îµ¡Ç½¤òɽ¤¹¥·¥ó¥Ü¥ë¤Ç¤¢¤ë chikuji-mode, delete-dic-mode, disconnect-server, greek-mode, henkan-or-do-nothing, henkan-or-self-insert, jisho-ichiran, line-mode, renbun-mode, russian-mode, show-canna-file, show-canna-version, show-gakushu, show-romkana-table, show-server-name, switch-server, sync-dictionary, touroku-mode ¤Ï Version 3.2 ¤Ç¤ÎÄɲõ¡Ç½¤Ç¤¢¤ë¡£ bubun-kakutei, kana-rotate-forward, romaji-rotate-forward, case-rotate-forward ¤Ï Version 3.5 ¤Ç¤ÎÄɲõ¡Ç½¤Ç¤¢¤ë¡£ \begin{verbatim} alpha-mode ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤Ë¤Ê¤ë backward ¸åÊý(º¸)¤Ø¹Ô¤¯ base-eisu ¥Ù¡¼¥¹¤ò±Ñ¿ô¤Ë¤¹¤ë base-hankaku ¥Ù¡¼¥¹¤òȾ³Ñ¤Ë¤¹¤ë base-henkan ¥Ù¡¼¥¹¤òÊÑ´¹¤Ë¤¹¤ë base-hiragana ¥Ù¡¼¥¹¤ò¤Ò¤é¤¬¤Ê¤Ë¤¹¤ë base-hiragana-katakana-toggle ¥Ù¡¼¥¹¤ò¤Ò¤é¤¬¤Ê¤È¥«¥¿¥«¥Ê¤Î¤È´Ö¤ÇÀÚÂØ¤¨¤ë base-kakutei ¥Ù¡¼¥¹¤ò³ÎÄê¤Ë¤¹¤ë base-kakutei-henkan-toggle ¥Ù¡¼¥¹¤ò³ÎÄê¤ÈÊÑ´¹¤È¤Î´Ö¤ÇÀÚÂØ¤¨¤ë base-kana ¥Ù¡¼¥¹¤ò¤«¤Ê(¤Ò¤é¤¬¤Ê¤«¥«¥¿¥«¥Ê)¤Ë¤¹¤ë base-kana-eisu-toggle ¥Ù¡¼¥¹¤ò¤«¤Ê¤È±Ñ¿ô¤È¤Î´Ö¤ÇÀÚÂØ¤¨¤ë base-katakana ¥Ù¡¼¥¹¤ò¥«¥¿¥«¥Ê¤Ë¤¹¤ë base-rotate-backward ¥Ù¡¼¥¹¤ò½çÊý¸þ¤ËÀÚÂØ¤¨¤ë base-rotate-forward ¥Ù¡¼¥¹¤òµÕÊý¸þ¤ËÀÚÂØ¤¨¤ë base-zenkaku ¥Ù¡¼¥¹¤òÁ´³Ñ¤Ë¤¹¤ë base-zenkaku-hankaku-toggle ¥Ù¡¼¥¹¤òÁ´³Ñ¤ÈȾ³Ñ¤È¤Î´Ö¤ÇÀÚÂØ¤¨¤ë beginning-of-line ¹ÔƬ¤Ë¹Ô¤¯ bubun-kakutei ¥«¡¼¥½¥ë¤ÎÁ°¤Þ¤Ç¤ÎÎΰè¤ò³ÎÄꤵ¤»¤ë bushu-mode Éô¼ó¥â¡¼¥É¤Ë¤Ê¤ë capitalize ÀèÆ¬Ê¸»ú¤òÂçʸ»ú¤Ë¤¹¤ë case-rotate-forward Âçʸ»ú¾®Ê¸»ú¥­¥ã¥Ô¥¿¥é¥¤¥º¤Î¤ß¤Î»ú¼ïÊÑ´¹ chikuji-mode Ã༡¼«Æ°ÊÑ´¹ÆþÎϥ⡼¥É¤Ë¤¹¤ë convert-as-bushu ÆÉ¤ß¤òÉô¼ó̾¤È¤ß¤Ê¤·¤ÆÉô¼óÊÑ´¹¤¹¤ë convert-as-hex ÆÉ¤ß¤ò£±£¶¿Ê¥³¡¼¥É¤È¤ß¤Ê¤·¤Æ£±£¶¿Ê¥³¡¼¥ÉÊÑ´¹¤¹¤ë delete-dic-mode ñ¸ìºï½ü¥â¡¼¥É¤ËÆþ¤ë delete-next ¼¡(±¦)¤Îʸ»ú¤òºï½ü¤¹¤ë delete-previous Á°(º¸)¤Îʸ»ú¤òºï½ü¤¹¤ë disconnect-server ¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚÃǤ¹¤ë end-of-line ¹ÔËö¤Ë¹Ô¤¯ extend ʸÀá¿­¤Ð¤· extend-mode ³ÈÄ¥¥á¥Ë¥å¡¼¥â¡¼¥É¤Ø¹Ô¤¯ forward Á°Êý(±¦)¤Ë¹Ô¤¯ greek-mode ¥®¥ê¥·¥ãʸ»ú°ìÍ÷ɽ¼¨¤¹¤ë han-alpha-kakutei-mode Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É¤Ë¤Ê¤ë han-kata-kakutei-mode Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É¤Ë¤Ê¤ë hankaku Ⱦ³Ñ¤ËÊÑ´¹¤¹¤ë henkan ÊÑ´¹¤¹¤ë (henkan-naive ¥Ê¥¤¡¼¥Ö¤ËÊÑ´¹¤¹¤ë) henkan-or-do-nothing ÊÑ´¹¤Þ¤¿¤Ï²¿¤â¤·¤Ê¤¤ henkan-or-self-insert ÊÑ´¹¤Þ¤¿¤Ï self-insert henkan-nyuuryoku-mode ÊÑ´¹ÆþÎϥ⡼¥É¤Ë¤Ê¤ë henshu ÊÔ½¸¥â¡¼¥É¤ËÆþ¤ë hex-mode £±£¶¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ë¤Ê¤ë hiragana ¤Ò¤é¤¬¤Ê¤ËÊÑ´¹¤¹¤ë japanese-mode ÆüËܸìÆþÎϥ⡼¥É¤Ë¤Ê¤ë jisho-ichiran ¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¥â¡¼¥É¤ËÆþ¤ë kakutei ³ÎÄꤹ¤ë kana-rotate-forward ¤«¤Êʸ»ú»ú¼ï¤À¤±¤Î»ú¼ïÊÑ´¹ katakana ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë kigou-mode µ­¹æÆþÎϥ⡼¥É¤Ë¤Ê¤ë kill-to-end-of-line ¹ÔËö¤Þ¤Çºï½ü¤¹¤ë kouho-ichiran ¸õÊä°ìÍ÷¤òɽ¼¨¤¹¤ë line-mode ·ÓÀþ°ìÍ÷¤òɽ¼¨¤¹¤ë mark ¥Þ¡¼¥¯¤òÀßÄꤹ¤ë next ¼¡¤ò½Ð¤¹ previous Á°¤ò½Ð¤¹ quit ¤È¤ê¤ä¤á¤ë quoted-insert °úÍÑÆþÎϤò¤¹¤ë renbun-mode ϢʸÀáÊÑ´¹¥â¡¼¥É¤Ë¤¹¤ë romaji ¥í¡¼¥Þ»ú¤ËÊÑ´¹¤¹¤ë romaji-rotate-forward ±Ñ¿ôʸ»ú¤À¤±¤Î»ú¼ïÊÑ´¹ russian-mode ¥í¥·¥¢Ê¸»ú(¥­¥ê¥ëʸ»ú)°ìÍ÷ɽ¼¨¤ò¤¹¤ë self-insert ¼«Ê¬¼«¿È¤òÆþÎϤ¹¤ë shinshuku-mode ʸÀá¿­½Ì¥â¡¼¥É¤Ë¤Ê¤ë show-canna-file ¤É¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¤¤¤ë¤«¤òɽ¼¨ show-canna-version ¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó¤Îɽ¼¨¤ò¤¹¤ë show-gakushu ³Ø½¬¾õÂÖ¤Îɽ¼¨¤ò¤¹¤ë show-romkana-table ¤É¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»È¤Ã¤Æ¤¤¤ë¤«É½¼¨ show-server-name ¥µ¡¼¥Ð̾¤òɽ¼¨¤¹¤ë shrink ʸÀá½Ì¤á sync-dictionary ¼­½ñ¤òSYNC¤¹¤ë switch-server ¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨¤ò¹Ô¤¦ temporary °ì»þ¥â¡¼¥É¤ËÆþ¤ë to-lower ¾®Ê¸»ú¤ËÊÑ´¹¤¹¤ë to-upper Âçʸ»ú¤ËÊÑ´¹¤¹¤ë touroku ñ¸ìÅÐÏ¿¥â¡¼¥É¤ËÆþ¤ë touroku-mode ñ¸ìÅÐÏ¿/ºï½ü¥â¡¼¥É¤ËÆþ¤ë undefined ̤ÄêµÁ¤Îµ¡Ç½ zen-alpha-kakutei-mode Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É¤Ë¤Ê¤ë zen-hira-kakutei-mode Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É¤Ë¤Ê¤ë zen-kata-kakutei-mode Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É¤Ë¤Ê¤ë zenkaku Á´³Ñ¤ËÊÑ´¹¤¹¤ë \end{verbatim} \end{document} Canna37p3/doc/man/0040755000076500001200000000000010052700705013164 5ustar shinraadminCanna37p3/doc/man/.cvsignore0100644000076500001200000000002107601177342015165 0ustar shinraadmin.depend Makefile Canna37p3/doc/man/guide/0040755000076500001200000000000010052700707014263 5ustar shinraadminCanna37p3/doc/man/guide/.cvsignore0100644000076500001200000000002107601177342016262 0ustar shinraadmin.depend Makefile Canna37p3/doc/man/guide/Imakefile0100644000076500001200000000036107554213575016110 0ustar shinraadmin/* $Id: Imakefile,v 1.1.1.1 2002/10/19 08:27:41 aida_s Exp $ */ #include "../../../Canna.conf" #define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' CANNAROOT = ../../.. SUBDIRS = tex MakeSubdirs($(SUBDIRS)) Canna37p3/doc/man/guide/tex/0040755000076500001200000000000010052700707015063 5ustar shinraadminCanna37p3/doc/man/guide/tex/.cvsignore0100644000076500001200000000015207601177342017067 0ustar shinraadmin.depend Makefile cannaindex canna.sty *.dvi *.ps *.aux *.idx *.lof *.log *.lot *.toc canna.tex candex.tex Canna37p3/doc/man/guide/tex/bushu.tex0100644000076500001200000001451407554213575016754 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: bushu.tex,v 1.1.1.1 2002/10/19 08:27:41 aida_s Exp $ \chapter{Éô¼óÆþÎϤÎ\HIDX{Éô¼ó̾°ìÍ÷ɽ}{¤Õ¤·¤å¤á¤¤¤¤¤Á¤é¤ó¤Ò¤ç¤¦} {H0.G.0.0.0}} \label{GÉô¼óÆþÎϤÎÉô¼ó̾°ìÍ÷ɽ} %~\\ %~\\ %~\\ %~\\ % ¿·¤¿¤Ëºî¤Ã¤¿ %\twocolumn \begin{center} \begin{tabular}{|c|p{13mm}p{30mm}|p{32mm}|} \hline ²è¿ô & Éô¼ó & & Éô¼ó¥­¡¼ \\ \hline 1 & °ì & (¤¤¤Á) & ¤¤¤Á \\ & ¥Î & (¤Î¤«¤ó¤à¤ê)& ¤Î \\ \hline 2 & Ñá & (¤«¤ó¤Ë¤ç¤¦) & ¤¦¤±¤Ð¤³ \\ & & (¤¦¤±¤Ð¤³) & \\ & ½½ & (¤¸¤å¤¦) & ¤¸¤å¤¦ \\ & ÒÇ & (¤Õ¤·¤Å¤¯¤ê) & ¤»¤Ä¡¢¤Õ¤· \\ & Åá(´¢) & (¤ê¤Ã¤È¤¦) & ¤«¤¿¤Ê¡¢¤ê¤Ã¤È¤¦ \\ & ÎÏ & (¤Á¤«¤é) & ¤«¡¢¤Á¤«¤é \\ & ÒÌ & (¤«¤ó¤À¤ì) & ¤¬¤ó \\ & Ò± & (¤Ä¤Ä¤ß¤¬¤Þ¤¨) & ¤¯¡¢¤Ä¤Ä¤ß \\ & ÑÄÒ¹Óø & (¤É¤¦¤¬¤Þ¤¨) & ¤«¤Þ¤¨ \\ & & (¤Ï¤³¤¬¤Þ¤¨) & \\ & & (¤¯¤Ë¤¬¤Þ¤¨) & \\ & е & (¤Ê¤Ù¤Ö¤¿) & ¤Ê¤Ù \\ & ÑÒ & (¤Ë¤¹¤¤) & ¤Ë¡¢¤ó \\ & ¿Í(¿Î) & (¤Ë¤ó¤Ù¤ó) & ¤Ë¤ó¡¢¤Ò¤È \\ & Ëô & (¤Þ¤¿) & ¤Ì¡¢¤Þ¤¿ \\ & ÑÜ & (¤­¤Ë¤ç¤¦) & ¤Ä¤¯¤¨ \\ & Ȭ & (¤Ï¤Á¤¬¤·¤é) & ¤Ï¤Á \\ & ѹ & (¤Ò¤È¤¢¤·) & ¤Ò¤È¤¢¤·¡¢¤ë \\ & ÑÌ & (¤ï¤«¤ó¤à¤ê) & ¤ï \\ \hline 3 & Õß & (¤¦¤«¤ó¤à¤ê) & ¤¦ \\ & ×® & (¤¨¤ó¤Ë¤ç¤¦) & ¤¨¤ó \\ & °ê & (¤ª¤ª¤¶¤È) & ¤ª¤ª¤¶¤È \\ & ¸Ê & (¤ª¤Î¤ì) & ¤ª¤Î¤ì \\ & ½÷ & (¤ª¤ó¤Ê) & ¤ª¤ó¤Ê \\ & ׯ & (¤®¤ç¤¦¤Ë¤ó¤Ù¤ó) & ¤®¤ç¤¦ \\ \hline \end{tabular} \newpage \begin{tabular}{|c|p{13mm}p{30mm}|p{32mm}|} \hline ²è¿ô & Éô¼ó & & Éô¼ó¥­¡¼ \\ \hline 3 & ¸ý & (¤¯¤Á¤Ø¤ó) & ¤¯¤Á¡¢¤í \\ & Áð & (¤¯¤µ¤«¤ó¤à¤ê) & ¤¯¤µ \\ & ÆÈ & (¤±¤â¤Î¤Ø¤ó) & ¤±¤â¤Î \\ & »Ò & (¤³¤Ø¤ó) & ¤³ \\ & ïú & (¤³¤¶¤È) & ¤³¤¶¤È \\ & »Î & (¤µ¤à¤é¤¤) & ¤µ¤à¤é¤¤ \\ & ¹¾ & (¤µ¤ó¤º¤¤) & ¤µ¤ó¡¢¤· \\ & ×µ & (¤·¤­¤¬¤Þ¤¨) & ¤·¤­ \\ & Õù & (¤·¤«¤Ð¤Í) & ¤·¤ã¤¯ \\ & ¾®¡¿Ã± &(¤·¤ç¤¦¡¢¤Ä) & ¤·¤ç¤¦¡¢¤Ä \\ & íè & (¤·¤ó¤Ë¤å¤¦) & ¤·¤ó \\ & À£ & (¤¹¤ó) & ¤¹¤ó \\ & Âç & (¤À¤¤) & ¤À¤¤ \\ & ÅÚ & (¤Ä¤Á¤Ø¤ó) & ¤Ä¤Á¡¢¤É \\ & ¼ê & (¤Æ¤Ø¤ó) & ¤Æ \\ & ¶Ò & (¤Ï¤Ð) & ¤Ï¤Ð \\ & Öø & (¤Þ¤À¤ì) & ¤Þ \\ & »³ & (¤ä¤Þ¤Ø¤ó) & ¤ä¤Þ \\ & ͼ & (¤æ¤¦¤Ù) & ¤æ¤¦ \\ & µÝ & (¤æ¤ß¤Ø¤ó) & ¤æ¤ß \\ & Ë» & (¤ê¤Ã¤·¤ó¤Ù¤ó) & ¤ê¤Ã¤·¤ó \\ \hline 4& ·ç & (¤¢¤¯¤Ó) & ¤¢¤¯¤Ó¡¢¤±¤Ä \\ & ÝÆ & (¤¬¤Ä¤Ø¤ó) & ¤¤¤Á¤¿ \\ & ¸¤ & (¤¤¤Ì) & ¤¤¤Ì \\ & µí¡¿²´ & (¤¦¤·¤Ø¤ó) & ¤¦¤· \\ & ÊÒ & (¤«¤¿¤Ø¤ó) & ¤«¤¿ \\ & ÌÚ & (¤­¤Ø¤ó) & ¤­ \\ & Ýã & (¤­¤¬¤Þ¤¨) & ¤­¤¬¤Þ¤¨ \\ & ÌÓ & (¤±) & ¤± \\ & ¿´ & (¤·¤¿¤´¤³¤í) & ¤³¤³¤í \\ & ¿å & (¤ß¤º) & ¤¹¤¤¡¢¤ß¤º \\ \hline \end{tabular} \newpage \begin{tabular}{|c|p{13mm}p{30mm}|p{32mm}|} \hline ²è¿ô & Éô¼ó & & Éô¼ó¥­¡¼ \\ \hline 4 & ·î & (¤Ä¤­¤Ø¤ó) & ¤Ä¤­ \\ & ÄÞ & (¤Ä¤á¤«¤ó¤à¤ê) & ¤Ä¤á \\ & Æü & (¤Ò¤Ø¤ó) & ¤Ò \\ & Ú¾ & (¤Î¤Ö¤ó) & ¤Î¤Ö¤ó \\ & ²Ð & (¤Ò) & ¤Ò \\ & Êý & (¤«¤¿¤Ø¤ó) & ¤Û¤¦ \\ & Øù & (¤Û¤³¤¬¤Þ¤¨) & ¤Û¤³ \\ & ÅÀ & (¤ì¤Ã¤«) & ¤è¤Ä¤Æ¤ó \\ & ÝÕ & (¤ë¤Þ¤¿) & ¤ë¤Þ¤¿ \\ \hline 5& ·ê & & ¤¢¤Ê \\ & ÀÐ & (¤¤¤·¤Ø¤ó) & ¤¤¤· \\ & ¶Ì & (¤¿¤Þ¤Ø¤ó) & ¤ª¤¦¡¢¤¿¤Þ \\ & Èé & (¤Ò¤Î¤«¤ï) & ¤«¤ï \\ & ´¤ & (¤«¤ï¤é) & ¤«¤ï¤é \\ & »® & (¤µ¤é) & ¤µ¤é \\ & ¼¨¡¿¿À & (¤·¤á¤¹¤Ø¤ó)& ¤·¤á¤¹¡¢¤Í \\ & Çò & (¤·¤í) & ¤·¤í \\ & ÅÄ & (¤¿¤Ø¤ó) & ¤¿ \\ & Ω & (¤¿¤Ä¤Ø¤ó) & ¤¿¤Ä¡¢¤ê¤Ä \\ & ²Ó & (¤Î¤®¤Ø¤ó) & ¤Î¤® \\ & ÌÜ & (¤á¤Ø¤ó) & ¤á \\ & ⢠& (¤Ï¤Ä¤¬¤·¤é) & ¤Ï¤Ä \\ & Ìð & (¤ä¤Ø¤ó) & ¤ä \\ & áË & (¤ä¤Þ¤¤¤À¤ì) & ¤ä¤Þ¤¤ \\ & »Í & (¤¢¤ß¤¬¤·¤é) & ¤è¤ó \\ \hline 6& »å & (¤¤¤È¤Ø¤ó) & ¤¤¤È\\ & ±± & (¤¦¤¹) &¤¦¤¹ \\ & ±» & & ¤¦¤ê \\ & Ï· & (¤ª¤¤¤«¤ó¤à¤ê) & ¤ª¤¤¡¢¤í¤¦ \\ & ´Ì & (¤Û¤É¤®) & ¤«¤ó \\ & °á¡¿½é & (¤³¤í¤â¤Ø¤ó) & ¤­¤Ì¡¢¤³¤í¤â \\ \hline \end{tabular} \newpage \begin{tabular}{|c|p{13mm}p{30mm}|p{32mm}|} \hline ²è¿ô & Éô¼ó & & Éô¼ó¥­¡¼ \\ \hline 6 & ÊÆ & (¤³¤á¤Ø¤ó) & ¤³¤á \\ & Àå & (¤·¤¿) & ¤·¤¿ \\ & æÐ & (¤¹¤­¤Ø¤ó) & ¤¹¤­ \\ & ÃÝ & (¤¿¤±¤«¤ó¤à¤ê)& ¤¿¤±\\ & ·ì & (¤Á) & ¤Á\\ & ¸× & (¤È¤é¤«¤ó¤à¤ê)& ¤È¤é\\ & Æù & (¤Ë¤¯) & ¤Ë¤¯ \\ &À¾& (¤«) & ¤Ë¤·\\ &±©& (¤Ï¤Í) & ¤Ï¤Í\\ &ÍÓ & (¤Ò¤Ä¤¸¤Ø¤ó) & ¤Ò¤Ä¤¸ \\ &ææ& (¤Õ¤Ç¤Å¤¯¤ê) & ¤Õ¤Ç \\ &½®& (¤Õ¤Í¤Ø¤ó) & ¤Õ¤Í\\ &¼ª& (¤ß¤ß¤Ø¤ó) & ¤ß¤ß \\ &Ãî& (¤à¤·¤Ø¤ó) & ¤à¤· \\ \hline 7 &ÀÖ& (¤¢¤«¤Ø¤ó) & ¤¢¤« \\ &­(É¥)& (¤¢¤·¤Ø¤ó) & ¤¢¤· \\ &ìµ& (¤¤¤Î¤³¤Ø¤ó) & ¤¤¤Î¤³ \\ &¿Ã& & ¤ª¤ß \\ &³­& (¤«¤¤¤Ø¤ó) & ¤«¤¤\\ &¿É& (¤«¤é¤¤) & ¤«¤é¤¤ \\ &¼Ö& (¤¯¤ë¤Þ¤Ø¤ó) & ¤¯¤ë¤Þ \\ &¸«& (¤ß¤ë) & ¤±¤ó¡¢¤ß¤ë \\ &¸À& (¤´¤ó¤Ù¤ó) & ¤´¤ó \\ &ÆÓ& (¤µ¤±¤Å¤¯¤ê) &¤µ¤±¡¢¤Ò¤è¤ß \\ & & (¤Ò¤è¤ß¤Î¤È¤ê) & \\ &Áö& (¤½¤¦¤Ë¤ç¤¦) & ¤½¤¦¡¢¤Ï¤·¤ë \\ &ë& (¤¿¤Ë¤Ø¤ó) & ¤¿¤Ë \\ &³Ñ & (¤Ä¤Î¤Ø¤ó) & ¤Ä¤Î \\ &ÈÐ& (¤Î¤´¤á¤Ø¤ó) & ¤Î¤´¤á \\ & Çþ& (¤Ð¤¯¤Ë¤ç¤¦) & ¤Ð¤¯¡¢¤à¤® \\ &Ʀ& (¤Þ¤á¤Ø¤ó) & ¤Þ¤á \\ \hline \end{tabular} \newpage \begin{tabular}{|c|p{13mm}p{30mm}|p{32mm}|} \hline ²è¿ô & Éô¼ó & & Éô¼ó¥­¡¼ \\ \hline 7 &¿È& (¤ß¤Ø¤ó) & ¤ß \\ &ì¸& (¤à¤¸¤Ê) & ¤à¤¸¤Ê \\ \hline 8 &±«& (¤¢¤á¤«¤ó¤à¤ê) & ¤¢¤á\\ &Èó& (¤¢¤é¤º) & ¤¢¤é¤º \\ &¶â& (¤«¤Í¤Ø¤ó) & ¤«¤Í \\ &Ìç& (¤â¤ó¤¬¤Þ¤¨) & ¤â¤ó \\ &ð²& (¤Õ¤ë¤È¤ê) & ¤Õ¤ë¤È¤ê\\ \hline 9 &ÊÇ& (¤ª¤ª¤¬¤¤) & ¤ª¤ª¤¬¤¤¡¢¤Ú¡¼¤¸ \\ &²»& (¤ª¤È) & ¤ª¤È \\ &¹á& (¤«¤ª¤ê) & ¤«¤ª¤ê¡¢¤³¤¦ \\ &³×& (¤«¤ï¤Ø¤ó) & ¤«¤¯\\ &É÷& (¤«¤¼) & ¤«¤¼ \\ &¼ó& (¤¯¤Ó) & ¤¯¤Ó \\ &¿©& (¤·¤ç¤¯¤Ø¤ó) & ¤·¤ç¤¯ \\ &ðê& (¤Ê¤á¤·¤¬¤ï) & ¤Ê¤á¤·\\ &ÌÌ& (¤á¤ó) & ¤á¤ó \\ \hline 10 &ÇÏ& (¤¦¤Þ¤Ø¤ó) & ¤¦¤Þ \\ &µ´& (¤­¤Ë¤ç¤¦) & ¤ª¤Ë\\ &ñõ& (¤«¤ß¤¬¤·¤é) & ¤«¤ß \\ &¹â& (¤¿¤«¤¤) & ¤¿¤«¤¤ \\ &ò¨& (¤È¤¦¤¬¤Þ¤¨) & ¤È¤¦ \\ &¹ü& (¤Û¤Í) & ¤Û¤Í \\ \hline 11 &µû& (¤¦¤ª¤Ø¤ó) & ¤¦¤ª\\ &µµ& & ¤«¤á\\ &Ä»& (¤È¤ê¤Ø¤ó) & ¤È¤ê \\ &¹õ& (¤¯¤í) & ¤¯¤í\\ \hline 12 &¼¯& & ¤·¤«\\ \hline 14 &É¡& (¤Ï¤Ê¤Ø¤ó) & ¤Ï¤Ê \\ \hline 15 &óï& (¤Ï¤Ø¤ó) & ¤Ï \\ \hline & & ¤­¤´¤¦ & ¤­¤´¤¦ \\ \hline & & ¤½¤Î¤¿ & ¤½¤Î¤¿ \\ \hline \end{tabular} \end{center} Canna37p3/doc/man/guide/tex/canna-dist.tex0100644000076500001200000001372007727326134017643 0ustar shinraadmin%%% ¡Ø¤«¤ó¤Ê¡Ù¥Þ¥Ë¥å¥¢¥ë %%% %%% $Id: canna-dist.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ \documentclass{jbook} \usepackage{graphicx} \usepackage{fancyvrb} \usepackage{canna} \setlength{\oddsidemargin}{0mm} \setlength{\evensidemargin}{0mm} \pagestyle{headings} % ËÜÍècanna.sty¤ËÆþ¤ì¤ë¤Ù¤­? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\CURSOR}{\rule[-1mm]{2mm}{4mm}} \newenvironment{SCREEN}{% \vspace{10mm} \begin{tabular}{|p{0.87\textwidth}} }{% \hline \end{tabular} \vspace{10mm} } \newcommand{\SCREENRIGHT}[1]{\hfill{\small #1}\hspace{5mm}} \newenvironment{CODEBOX}{% \vspace{5mm} \begin{center}\tt \begin{tabular}{|p{13cm}|} \hline }{% \hline \end{tabular} \end{center} \vspace{5mm} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\CANNALIBDIR}{@(cannaLibDir)} \newcommand{\CANNABINDIR}{@(cannaBinDir)} \newcommand{\CANNALOGDIR}{@(ErrDir)} \newcommand{\CANNAINCLUDEDIR}{@(cannaIncDir)} \newcommand{\IROHASPOOLDIR}{/usr/spool/iroha} \newcommand{\IROHAINCLUDEDIR}{/usr/include/iroha} \newcommand{\refCANNALIBDIR}{\$(CANNALIBDIR)} \newcommand{\refCANNABINDIR}{\$(CANNABINDIR)} \newcommand{\refCANNALOGDIR}{\$(CANNALOGDIR)} \newcommand{\refCANNAINCLUDEDIR}{\$(CANNAINCLUDEDIR)} \newcommand{\refIROHASPOOLDIR}{\$(IROHASPOOLDIR)} \newcommand{\refIROHAINCLUDEDIR}{\$(IROHAINCLUDEDIR)} \makeindex %\includeonly{} \title{¤«~~~~~¤ó~~~~~¤Ê\\¥Þ¥Ë¥å¥¢¥ë} \author{Canna Project} \date{Version 3.7\\2003ǯ} \begin{document} \setcounter{page}{0} \maketitle \renewcommand{\thepage}{\roman{page}} \chapter*{¤Ï¤¸¤á¤Ë} ËÜʸ½ñ¤Ï¡Ø¤«¤ó¤Ê¡Ù¤ò»È¤Ã¤¿ÆüËܸìÆþÎϤΤ·¤«¤¿¡¢¡Ø¤«¤ó¤Ê¡Ù¤Î³Æ¼ï¥æ¡¼¥Æ¥£ ¥ê¥Æ¥£¥³¥Þ¥ó¥É¤Î»È¤¤Êý¡¢¡Ø¤«¤ó¤Ê¡Ù¥é¥¤¥Ö¥é¥ê¤Î»È¤¤Êý¤Ê¤É¤ò½Ò¤Ù¤¿¥Þ¥Ë¥å ¥¢¥ë¤Ç¤¹¡£ ËÜÊ¸Ãæ¤Ç¡¢\refCANNALIBDIR ¤Ê¤É¤Îɽ¸½¤òÍѤ¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù ¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤ËÀßÄꤵ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤·¤Æ¤ª¤ê¡¢¤½¤ì¤¾¤ì°Ê²¼¤Î°ÕÌ£ ¤ò»ý¤Á¤Þ¤¹¡£ \begin{table}[hbtp] \caption{¡Ø¤«¤ó¤Ê¡Ù¤ÇÍѤ¤¤ë¥Ç¥£¥ì¥¯¥È¥ê} \label{¡Ø¤«¤ó¤Ê¡Ù¤ÇÍѤ¤¤ë¥Ç¥£¥ì¥¯¥È¥ê} \begin{center} {\footnotesize \begin{tabular}{|l|l|l|} \hline \multicolumn{1}{|c|}{ɽ¸½} & \multicolumn{1}{c|}{¥Ç¥Õ¥©¥ë¥È} &\multicolumn{1}{|c|}{ÆâÍÆ} \\ \hline \hline {\footnotesize \refCANNALIBDIR} & \CANNALIBDIR & ¥Ç¡¼¥¿¤Ê¤É¤òÃÖ¤¯¥Ç¥£¥ì¥¯¥È¥ê \\ \hline {\footnotesize \refCANNABINDIR} & \CANNABINDIR & ¼Â¹Ô·Á¼°¥³¥Þ¥ó¥É¤òÃÖ¤¯¥Ç¥£¥ì¥¯¥È¥ê \\ \hline {\footnotesize \refCANNALOGDIR} & \CANNALOGDIR & cannaserver ¤Î¥í¥°¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¥Ç¥£¥ì¥¯¥È¥ê \\ \hline {\footnotesize \refCANNAINCLUDEDIR} & \CANNAINCLUDEDIR & ¡Ø¤«¤ó¤Ê¡Ù´ØÏ¢¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¥Ç¥£¥ì¥¯¥È¥ê \\ \hline \hline {\footnotesize \refIROHASPOOLDIR} & \IROHASPOOLDIR & ¡Ø¤«¤ó¤Ê¡ÙVersion 1.2 ¤Îº¢¤Î¥¹¥×¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê \\ \hline {\footnotesize \refIROHAINCLUDEDIR} & \IROHAINCLUDEDIR & ¡Ø¤«¤ó¤Ê¡ÙVersion 1.2 ¤Îº¢¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëÍÑ\\ && ¥Ç¥£¥ì¥¯¥È¥ê \\ \hline \end{tabular} } %%small no tame no kakko \end{center} \end{table} Ëܥޥ˥奢¥ëÃæ¡¢\XFER ¡¢ \NFER ¤Ê¤É¡¢¥Þ¥·¥ó¤Ë¤è¤Ã¤Æ¤Ï¸ºß¤·¤Ê¤¤¥­¡¼¤ò »ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¤¬¡¢Â¾¤Î¥­¡¼¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ»È¤Ã¤ÆÄº¤±¤ë¤è ¤¦¤ª´ê¤¤¤·¤Þ¤¹¡£ \newpage \vspace*{\fill} \begin{flushleft} °ìÂÀϺ¤Ï¥¸¥ã¥¹¥È¥·¥¹¥Æ¥à(³ô)¤Î¾¦É¸¤Ç¤¹¡£ \end{flushleft} \vspace{5ex} \begin{flushleft} Copyright 1993 NEC Corporation, Tokyo, Japan. Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of NEC Corporation not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. NEC Corporation makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \end{flushleft} \newpage \tableofcontents \newcommand{\etcrc}{ ¤½¤Î¾ì¹ç¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Îµ¯Æ°¤ÏÉÔÍפȤʤê¤Þ¤¹¤Î¤Ç¡¢ /etc/rc.local ¤Ê¤É¤Ç cannaserver ¤òµ¯Æ°¤·¤Æ¤¤¤¿¿Í¤Ïµ¯Æ°¤Î¥¹¥¯¥ê¥×¥È¤ò ºï½ü¤·¤Æ cannaserver ¤¬µ¯Æ°¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£} \newcommand{\rcetc}{ cannaserver¤Ï¥·¥¹¥Æ¥àµ¯Æ°»þ¤Ë /etc/rc.local ¤Ê¤É¤«¤éµ¯Æ°¤¹¤ë¤Î¤¬Îɤ¤¤Ç ¤·¤ç¤¦¡£\footnote{SVR4 ¤Î¾ì¹ç¤Ï¡¢ /etc/rc0.d/Kaacanna¡¢/etc/rc1.d/Kaacanna ¤Ê¤É¤Î¥Õ¥¡¥¤¥ë¤ò¤Ä¤¯¤ê¤½¤³¤Ë µ¯Æ°¤Î¤¿¤á¤Î¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£} } \newcommand{\ignorercetc}{} \newpage \setcounter{page}{1} \renewcommand{\thepage}{\arabic{page}} \include{jinput} \include{custom} \newcommand{\usedictool}{} \include{server} \newcommand{\terminalop}{} \include{commands} \newcommand{\howversion}{} \newpage (³Æ¥³¥Þ¥ó¥É¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò½ÐÎϤ·¤Æ¡¢¤³¤ÎÉôʬ¤Ë¤Ï¤µ¤ó¤Ç¤¯¤À¤µ¤¤¡£) \newpage \addtocounter{page}{44} \newcommand{\seeXLIB}{} \include{library} %\include{libman} %\include{libRK} \newpage (³Æ´Ø¿ô¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò½ÐÎϤ·¤Æ¡¢¤³¤ÎÉôʬ¤Ë¤Ï¤µ¤ó¤Ç¤¯¤À¤µ¤¤¡£) \newpage \addtocounter{page}{20} \include{konna} \appendix \include{keymap} \include{func} \include{customfn} \include{romkana} \include{rkexp} \include{customex} %\include{bushu} % Á°²ó¤Î¤ò¤ª»È¤¤¤¯¤À¤µ¤¤¡£ \include{bushu} % Á°²ó¤Î¤ò¤ª»È¤¤¤¯¤À¤µ¤¤¡£ \include{hinshi} %\include{escape} \include{kanacode} \include{kancode} %\include{cancompat} \pagebreak \setlength{\columnsep}{10mm} \twocolumn[\chapter*{º÷°ú}] \pagestyle{myheadings} \markboth{º÷°ú}{º÷°ú} \thispagestyle{plain} \addcontentsline{toc}{chapter}{º÷°ú} \noindent \def\indexentry#1#2{\parbox{\columnwidth}{\flushright#1\dotfill#2}} \def\indexchar#1{\vspace{2pt}\begin{center}{\sf\dg\Large #1}\end{center}} \input{candex} \end{document} Canna37p3/doc/man/guide/tex/cannaindex.c0100644000076500001200000001055207554536746017366 0ustar shinraadmin/* Copyright 1993 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef lint static char rcs_id[] = "$Id: cannaindex.c,v 1.2 2002/10/20 14:29:58 aida_s Exp $"; #endif #include #include "ccompat.h" static char * allocs(s) char *s; { char *res; res = malloc(strlen(s) + 1); if (res) { strcpy(res, s); } return res; } static char *program; static void usage() { fprintf(stderr, "Usage: %s filename\n", program); exit(1); } struct ind { char *yomi, *midashi; int page; } entries[1024]; /* ¸½¾õ¤Ï 192 ¤Ê¤Î¤Ç;͵¤Î¤è¤Ã¤Á¤ã¤ó¤Ç¤¢¤ë */ static compentry(a, b) struct ind *a, *b; { int res; res = strcmp(a->yomi, b->yomi); if (!res) { res = a->page - b->page; } return res; } static void printentries(e, n) struct ind *e; int n; { int i, j; unsigned prevchar = 0, curchar; for (i = 0 ; i < n ;) { if (e[i].yomi[0] & 0x80) { /* G3 ¤¬Í褿¤é¥¢¥¦¥È!? */ curchar = ((e[i].yomi[0] & 0xff) << 8) | (e[i].yomi[1] & 0xff); } else { curchar = (unsigned)e[i].yomi[0]; } if (curchar != prevchar) { prevchar = curchar; if (curchar & 0xff00) { printf("\\indexchar{%c%c}\n", (curchar >> 8), curchar & 0xff); } else { printf("\\indexchar{%c}\n", curchar); } } for (j = i + 1 ; j < n ; j++) { if (strcmp(e[i].yomi, e[j].yomi) || strcmp(e[i].midashi, e[j].midashi)) { break; } } printf("\\indexentry{%s}{%d", e[i].midashi, e[i].page); while (++i < j) { /* i is incremented also for the beginning `for' */ printf(", %d", e[i].page); } printf("}\n"); } } static void freeentries(e, n) struct ind *e; int n; { int i; for (i = 0 ; i < n ; i++) { if (e[i].yomi) { free(e[i].yomi); e[i].yomi = (char *)0; } if (e[i].midashi) { free(e[i].midashi); e[i].midashi = (char *)0; } } } #define CHARBUFSIZE 1024 static readindex(f, e) FILE *f; struct ind *e; { char buf[CHARBUFSIZE], *p, *q, *r, *ebuf; int n = 0, pagenum; while (fgets(buf, sizeof(buf), f)) { ebuf = buf + strlen(buf) - 1; *ebuf = '\0'; /* chop */ p = index(buf, '{'); if (p) { q = ++p; while (p = index(p, '$')) { if (p + 2 < ebuf && *(p + 1) == '$' && *(p + 2) == '$') { *p = '\0'; p += 3; break; } else { p++; } } if (p) { r = p; while (p = index(p, '$')) { if (p + 2 < ebuf && *(p + 1) == '$' && *(p + 2) == '$') { *p = '\0'; p += 3; break; } else { p++; } } if (p) { p = index(p, '{'); if (p) { p++; e[n].page = atoi(p); e[n].yomi = allocs(q); e[n].midashi = allocs(r); n++; } } } } } return n; } main(argc, argv) int argc; char *argv[]; { FILE *inf; int pages; program = argv[0] + strlen(argv[0]); while (argv[0] < program) { if (*(program - 1) == '/') { break; } program--; } if (argc < 2) { usage(); } inf = fopen(argv[1], "r"); if (!inf) { fprintf(stderr, "%s: Can not open file \"%s\".\n", argv[1]); exit(1); } pages = readindex(inf, entries); fclose(inf); qsort(entries, pages, sizeof(struct ind), compentry); printentries(entries, pages); freeentries(entries, pages); exit(0); } Canna37p3/doc/man/guide/tex/commands.tex0100644000076500001200000000672707727326134017434 0ustar shinraadmin% % $Id: commands.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£} \label{4¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£} ËÜ¥·¥¹¥Æ¥à¤Ç¤Ï¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¤ä¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥á¥ó ¥Æ¥Ê¥ó¥¹¤ò¹Ô¤¦¤¿¤á¤Î¼ï¡¹¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£¥æ¡¼¥Æ¥£¥ê¥Æ¥£ ¤Ï¼­½ñ¤ò¥á¥ó¥Æ¥Ê¥ó¥¹¤¹¤ë¤â¤Î¤È¤½¤Î¾¤Î2¤Ä¤ËÂ礭¤¯Ê¬¤±¤é¤ì¡¢¼­½ñ¤ò¥á¥ó ¥Æ¥Ê¥ó¥¹¤¹¤ë¤â¤Î¤Ë´Ø¤·¤Æ¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò²ð¤·¤Æ¼­½ñ¤Î¥á¥ó¥Æ¥Ê¥ó ¥¹¤¬²Äǽ¤Ê¤â¤Î¤È¡¢¼­½ñ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¥Þ¥·¥ó¾å¤Ç¤Ê¤±¤ì¤Ð¥á¥ó¥Æ¥Ê¥ó¥¹ ¤¬¤Ç¤­¤Ê¤¤¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¾Ï¤Ç¤Ï¤³¤ì¤é¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥Ä¡¼¥ë¤Ë´Ø¤¹¤ëÀâÌÀ¤ò¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Î ·Á¤Ç¼¨¤·¤Þ¤¹¡£ ¼­½ñ¤ÎÊÑ´¹¤ä¡¢¿·¤·¤¤¼­½ñ¤ÎºîÀ®¤Ê¤É¤Î¤¿¤á¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò Ä󶡤·¤Æ¤¤¤Þ¤¹¡£ \begin{nquote}{2em} \begin{namelist}{cannaserverxxxx} \item [mkromdic] ¥Æ¥­¥¹¥È·Á¼°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¥Ð¥¤¥Ê¥ê·Á¼°¤ËÊÑ´¹¤¹¤ë¡£ \item [mkbindic] ¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤ò¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¤ËÊÑ´¹¤¹¤ë¡£ \item [dpbindic] ¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¤ò¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤ËÊÑ´¹¤¹¤ë¡£ \item [dpromdic] ¥Ð¥¤¥Ê¥ê·Á¼°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¥Æ¥­¥¹¥È·Á¼°¤ËÊÑ´¹¤¹¤ë¡£ \item [dicar] ¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¤Î¥¢¡¼¥«¥¤¥Ö¤ò¹Ô¤¦¡£ \end{namelist} \end{nquote} °Ê²¼¤Ï¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò²ð¤·¤Æ¼­½ñ¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¤¬²Äǽ¤Ê¥Ä¡¼¥ë¤Ç¤¹¡£ \begin{nquote}{2em} \begin{namelist}{cannaserverxxxx} \item [mkdic] ¼­½ñ¤ÎºîÀ®¡¿¥¢¥Ã¥×¥í¡¼¥É¤ò¹Ô¤¦¡£ \item [lsdic] ¼­½ñ¤Î°ìÍ÷¤ò½ÐÎϤ¹¤ë¡£ \item [rmdic] ¼­½ñ¤òºï½ü¤¹¤ë¡£ \item [mvdic] ¼­½ñ¤Î̾Á°¤òÊѹ¹¤¹¤ë¡£ \item [cpdic] ¼­½ñ¤ò¥³¥Ô¡¼¤¹¤ë¡£ \item [catdic] ¼­½ñ¤Î¥À¥¦¥ó¥í¡¼¥É¤ò¹Ô¤¦¡£ \item [addwords] ñ¸ì¤Î°ì³çÅÐÏ¿¤ò¹Ô¤¦¡£ \item [delwords] ñ¸ì¤Î°ì³çºï½ü¤ò¹Ô¤¦¡£ \item [chmoddic] ¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤ÎÊѹ¹¤ò¹Ô¤¦¡£ \end{namelist} \end{nquote} ¤Þ¤¿¡¢½é´ü¾õÂ֤ΥÁ¥§¥Ã¥¯¤ä¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ë´Ø¤¹¤ë°Ê²¼¤Î¤è¤¦¤Ê¥³¥Þ ¥ó¥É¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ \begin{nquote}{2em} \begin{namelist}{cannaserverxxxx} \item [cshost] ¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¤Î¥µ¡¼¥Ð¡¦¥¢¥¯¥»¥¹À©¸æ¾õÂÖ¤òɽ¼¨¤¹¤ë¡£ \item [cannacheck] ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à´ØÏ¢¾ðÊó¤òɽ¼¨¤¹¤ë¡£ \item [cannakill] ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ðcannaserver¤ò½ªÎ»¤µ¤»¤ë¡£ \item [cannaserver] ¤«¤Ê´Á»úÊÑ´¹¤Î¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¡£ \item [cannastat] ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¾ðÊó¤òɽ¼¨¤¹¤ë¡£ \end{namelist} \end{nquote} % \par ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò¼«Æ°Åª¤ËºîÀ®½¤Àµ¤¹¤ë¥Ä¡¼¥ë¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ % \begin{nquote}{2em} \begin{namelist}{cannaserverxxxx} \item [ccustom] ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ò¤¹¤ë¡£ \end{namelist} \end{nquote} % \par ¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥àWnn¤È¤Î¥Æ¥­¥¹¥È¼­½ñ¸ß´¹¥Ä¡¼¥ë¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ % \begin{nquote}{2em} \begin{namelist}{cannaserverxxxx} \item [ctow] ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤òWnn¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤ËÊÑ´¹¤¹¤ë¡£ \item [wtoc] Wnn¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤òËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤ËÊÑ´¹¤¹¤ë¡£ \item [splitword] Ê£¿ô¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤ò£±¤Ä¤Ë¤·¤Æ¡¢£±¹Ô£±Éʻ죱¸õÊä¤Ë¤¹¤ë¡£ \end{namelist} \end{nquote} üËö¤Ç¤ÎÆüËܸì´Ä¶­ÀßÄê¤Î¤¿¤á¤Ë°Ê²¼¤Î¥³¥Þ¥ó¥É¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ \begin{nquote}{2em} \begin{namelist}{cannaserverxxxx} \item [canuum] üËö¤Ç¤Î¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¡£ \end{namelist} \end{nquote} %% \include{addwords} %% \include{cannacheck} %% \include{cannad} %% \include{cannakill} %% \include{cannaserver} %% \include{cannastat} %% \include{canvert} %% \include{catdic} %% \include{ccustom} %% \include{chmoddic} %% \include{cpdic} %% \include{cshost} %% \include{ctow} %% \include{delwords} %% \include{dicar} %% \include{dpbindic} %% \include{dpromdic} %% \include{irohacheck} %% \include{jset} %% \include{jsetconv} %% \include{lsdic} %% \include{mkbindic} %% \include{mkdic} %% \include{mkromdic} %% \include{mvdic} %% \include{rmdic} %% \include{splitword} %% \include{wtoc} Canna37p3/doc/man/guide/tex/custom.tex0100644000076500001200000030210207731735275017134 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: custom.tex,v 1.3 2003/09/17 01:37:01 aida_s Exp $ % \chapter{¥«¥¹¥¿¥Þ¥¤¥º} \label{3.3¥«¥¹¥¿¥Þ¥¤¥º} ¤«¤Ê´Á»úÊÑ´¹¤Ë´Ø¤·¤ÆÊÑ´¹¤ËÍøÍѤ¹¤ë¼­½ñ¤ò»Ï¤á¤È¤·¤Æ¥­¡¼Áàºî¤ä¥í¡¼¥Þ»ú¤« ¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ë¤¤¤¿¤ë¤Þ¤Ç¥æ¡¼¥¶¤Î¹¥¤ß¤Ë¹ç¤¦¤è¤¦¤Ë \HIDX{¥«¥¹¥¿¥Þ¥¤¥º} {¤«¤¹¤¿¤Þ¤¤¤¹}{H0.4.0.0.0} ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥«¥¹¥¿¥Þ¥¤¥º¤ËÍѤ¤¤é¤ì¤ë¥Õ¥¡¥¤¥ë¤È¤·¤Æ¤Ï¡¢°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£ \vspace{5mm} %\begin{center} \begin{tabular}{ll} ÆüËܸìÆþÎϤε¡Ç½¤ä¥­¡¼Áàºî¤òÀßÄꤹ¤ë&\hpref{count=10,label=H0.4.1.0.0}¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë \\ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îµ¬Â§¤òÀßÄꤹ¤ë&\hpref{count=11,label=H0.4.4.2.0}¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥½¡¼¥¹ \\ & ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(¡ß¡ß¡ß.ctd) \\ & \hpref{count=12,label=H0.4.4.0.0}¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë \\ & ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(¡ß¡ß¡ß.cbp) \\ \end{tabular} %\end{center} \vspace{5mm} ¤³¤³¤Ç¤Ï¤½¤ì¤¾¤ì¤Î¥æ¡¼¥¶¤Ë¹ç¤ï¤»¤¿¥«¥¹¥¿¥Þ¥¤¥ºÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ % ------------------------------ 3.3.1 %\section{\HIDX{½é´ü²½¥Õ¥¡¥¤¥ë(¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë)} %{¤·¤è¤­¤«¤Õ¤¢¤¤¤ë¡Ê¤«¤¹¤¿¤Þ¤¤¤¹¤Õ¤¢¤¤¤ë¡Ë}{H0.4.1.0.0}} \section{\HIDX{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë}{¤«¤¹¤¿¤Þ¤¤¤¹¤Õ¤¢¤¤¤ë}{H0.4.1.0.0}} \label{3.3.1¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} ¥«¥¹¥¿¥Þ¥¤¥º¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÍѤ¤¤Æ¹Ô¤¤¤Þ¤¹¡£¥« ¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÏÆÃÊ̤λØÄ꤬¤Ê¤¤¤«¤®¤ê¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë ¤¢¤ë \HIDX{.canna}{¡¥£Ã£Á£Î£Î£Á}{H0.4.1.0.0} ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡£ \subsection{¥«¥¹¥¿¥Þ¥¤¥º¤Î¤¿¤á¤Î½é´üÀßÄê} ¥«¥¹¥¿¥Þ¥¤¥º¤ò¹Ô¤¦¤Ë¤Ï¤Þ¤º \refCANNALIBDIR /sample/default.canna ¤ò¼«Ê¬¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë»ý¤Ã¤Æ¤­¤Æ \verb+.canna+ ¤È¤¤¤¦Ì¾Á°¤Ç¥»¡¼ ¥Ö¤·¤Þ¤¹¡£ \vspace{2mm} \begin{nquote}{3em} {\ttfamily ¡¡¡¡\% cp \CANNALIBDIR/sample/default.canna .canna \\ ¡¡¡¡\% chmod u+w .canna } \end{nquote} \vspace{2mm} ¤¹¤Ç¤Ë .canna ¤ò»ý¤Ã¤Æ¤¤¤ë¿Í¤Ï¾åµ­¤ÎÁàºî¤ÏÉÔÍפǤ¹¡£ \subsection{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î»ØÄê} ´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤Ë¤è¤ê»²¾È¤¹¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÊѹ¹¤¹¤ë¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡£ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤Î½ç¤Ë¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£ \begin{enumerate} \item ´Ä¶­ÊÑ¿ô \HIDX{CANNAFILE}{£Ã£Á£Î£Î£Á£Æ£É£Ì£Å}{H0.4.1.2.0} ¤¬ ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤­ ´Ä¶­ÊÑ¿ô CANNAFILE ¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ \item\label{.canna} \$HOME/.canna¤¬Â¸ºß¤¹¤ë¤È¤­ ¤½¤Î¥Õ¥¡¥¤¥ë¤¬¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ \item\label{other} ¾åµ­¤Î¤¤¤º¤ì¤Ç¤â¤Ê¤¤¤È¤­ \refCANNALIBDIR /\HIDX{default.canna}{£Ä£Å£Æ£Á£Õ£Ì£Ô¡¥£Ã£Á£Î£Î£Á} {H0.4.1.2.0.a1} \hptar{label=H0.4.1.2.0.a1} ¤¬¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤ÆÍѤ¤¤é¤ì¤Þ¤¹¡£ \end{enumerate} ¤Þ¤¿¡¢(\ref{.canna}), (\ref{other})¤Î¾ì¹ç¤Ï ¤½¤ì¤¾¤ì¼¡¤Î¥Õ¥¡¥¤¥ë¤âÆÉ¤ß¹þ¤Þ¤ì¤Þ¤¹¡£ \begin{itemize} \item (\ref{.canna})¤Î¾ì¹ç \begin{nquote}{1em} \begin{namelist}{¡¡¡¡¡¡} \item[{\dm \rm (2.1)}]´Ä¶­ÊÑ¿ô \HIDX{DISPLAY}{£Ä£É£Ó£Ð£Ì£Á£Ù}{H0.4.1.2.0.a2} \hptar{label=H0.4.1.2.0.a2}¤Ë Ãͤ¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢¤½¤ÎÃͤ¬ ¡ß¡ß¡ß:0 ¤Ç¤¢¤ë¤È¤­¤Ë¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë ~.canna-$\times\times\times$ ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¤µ¤é¤Ë ¤³¤Î¥Õ¥¡¥¤¥ë¤âÆÉ¤ß¹þ¤Þ¤ì¤Þ¤¹¡£ \item[{\dm \rm (2.2)}]´Ä¶­ÊÑ¿ô \HIDX{TERM}{£Ô£Å£Ò£Í}{H0.4.1.2.0.a3} \hptar{label=H0.4.1.2.0.a3}¤Ë Ãͤ¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢¤½¤ÎÃͤ¬ $\times\times\times$ ¤Ç¤¢¤ë¤È¤­¤Ë¡¢ ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë ~.canna-$\times\times\times$ ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬ ¸ºß¤¹¤ë¾ì¹ç¡¢¤µ¤é¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤âÆÉ¤ß¹þ¤Þ¤ì¤Þ¤¹¡£ \end{namelist} \end{nquote} \item (\ref{other})¤Î¾ì¹ç \begin{nquote}{1em} \begin{namelist}{¡¡¡¡¡¡} \item[{\dm \rm (3.1)}]´Ä¶­ÊÑ¿ô DISPLAY ¤ËÃͤ¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢¤½¤ÎÃͤ¬ $\times\times\times$:0 ¤Ç¤¢¤ë¤È¤­¤Ë \refCANNALIBDIR ¤Ë $\times\times\times$.canna ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢ ¤µ¤é¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤âÆÉ¤ß¹þ¤Þ¤ì¤Þ¤¹¡£ \item[{\dm \rm (3.2)}]´Ä¶­ÊÑ¿ô TERM ¤ËÃͤ¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢ ¤½¤ÎÃͤ¬ $\times\times\times$ ¤Ç¤¢¤ë¤È¤­¤Ë \refCANNALIBDIR ¤Ë $\times\times\times$.canna ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢ ¤µ¤é¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤âÆÉ¤ß¹þ¤Þ¤ì¤Þ¤¹¡£ \end{namelist} \end{nquote} \end{itemize} °Ê¾å¤ò¤Þ¤È¤á¤ë¤È¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥µ¡¼¥Á½ç¤Ï ɽ\ref{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡ ¥¤¥ë¤Î¥µ¡¼¥Á½ç} ¤Î¤È¤ª¤ê¤Ë¤Ê¤ê¤Þ¤¹¡£ \vspace{5mm} %{\tt \begin{table}[hbtp] \caption{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥µ¡¼¥Á½ç} \label{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥µ¡¼¥Á½ç} \begin{center} \begin{tabular}{|l|l|} \hline & \multicolumn{1}{|c|}{¥Õ¥¡¥¤¥ë} \\ \hline 1 & CANNAFILE ¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë \\ \hline 2 & \$HOME/.canna \\ & \$HOME/.canna-X¤Î¥Ç¥£¥¹¥×¥ì¥¤Ì¾ \\ & \$HOME/.canna-term̾ \\ \hline 3 & \refCANNALIBDIR /default.canna \\ & \refCANNALIBDIR /X¤Î¥Ç¥£¥¹¥×¥ì¥¤Ì¾.canna \\ & \refCANNALIBDIR /term̾.canna \\ \hline \end{tabular} \end{center} \end{table} %} %\vspace{5mm} % ------------------------------ newnew \subsection{¥µ¥ó¥×¥ë¤È¤·¤ÆÄ󶡤¹¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} \label{¥µ¥ó¥×¥ë¤È¤·¤ÆÄ󶡤¹¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} ¡Ø¤«¤ó¤Ê¡Ù°Ê³°¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¥×¥í¥»¥Ã¥µ¤Ë¤Ê¤ì¤Æ¤¤¤é¤Ã¤·¤ã¤ëÊý¤â¤¤¤ë¤Ç ¤·¤ç¤¦¡£ ¤½¤Î¤è¤¦¤ÊÊý¤Î¤¿¤á¤Ë¡¢¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Â¾¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¥×¥í¥»¥Ã ¥µ¤ÎÁàºîÀ­¤òÍ­¤·¤¿¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë\raisebox{0.6ex}{\footnotesize \dg Ãí 1} ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ ¥µ¥ó¥×¥ë¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ¤Ïɽ\ref{Ä󶡤¹¤ë¥« ¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} ¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤Ï \refCANNALIBDIR /sample ¤Î²¼¤Ë¥Õ¥¡¥¤¥ë¤Î·Á ¤Ç¸ºß¤·¤Þ¤¹¡£%\raisebox{0.6ex}{\footnotesize \dg Ãí 2} default.canna ¤¬¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ò¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Çɽ¤·¤¿¤â¤Î¤Ë¤Ê¤Ã ¤Æ¤¤¤Þ¤¹¡£ %{\tt \begin{table}[hbtp] \begin{center} \caption{¥µ¥ó¥×¥ë¤È¤·¤ÆÄ󶡤¹¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë}\label{Ä󶡤¹¤ë¥« ¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} \begin{tabular}{|l|p{10cm}|} \hline \multicolumn{1}{|c|}{¥Õ¥¡¥¤¥ë̾} & \multicolumn{1}{|c|}{È÷¡¡¡¡¡¡¡¡¡¡¡¡¡¡¹Í} \\ \hline default.canna & ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ò¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Çɽ¤·¤¿¤â¤Î \\ \hline sample.canna & ¥«¥¹¥¿¥Þ¥¤¥º¤ÎÊýË¡¤ÎÎã¤òµ­½Ò¤·¤¿¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë\\ \hline just.canna & °ìÂÀϺ \footnotemark ¤È¤Û¤ÜƱ¤¸¥­¡¼Áàºî¤òÄ󶡤¹¤ë¥«¥¹ ¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë \\ \hline matsu.canna & ¾¾Âû\footnotemark ¤È¤Û¤ÜƱ¤¸¥­¡¼Áàºî¤òÄ󶡤¹¤ë¥«¥¹¥¿ ¥Þ¥¤¥º¥Õ¥¡¥¤¥ë \\ \hline vje.canna & vje$-\beta$\footnotemark ¤È¤Û¤ÜƱ¤¸¥­¡¼Áàºî¤òÄ󶡤¹¤ë¥«¥¹ ¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë \\ \hline wx2+.canna & WXII+\footnotemark ¤È¤Û¤ÜƱ¤¸¥­¡¼Áàºî¤òÄ󶡤¹¤ë¥«¥¹¥¿¥Þ ¥¤¥º¥Õ¥¡¥¤¥ë \\ \hline verbose.canna & ¥«¥¹¥¿¥Þ¥¤¥º²Äǽ¤ÊÁ´¥­¡¼¥ï¡¼¥É¤òÎóµó¤·¤¿¥«¥¹¥¿¥Þ¥¤¥º ¥Õ¥¡¥¤¥ë \\ \hline \end{tabular} \end{center} \end{table} %} \addtocounter{footnote}{-3}\footnotetext{°ìÂÀϺ¤Ï¥¸¥ã¥¹¥È¥·¥¹¥Æ¥à(³ô) ¤Î¾¦É¸¤Ç¤¹} \addtocounter{footnote}{1}\footnotetext{¾¾Âû¤Ï(³ô)´ÉÍý¹©³Ø¸¦µæ½ê¤Î¾¦É¸¤Ç¤¹} \addtocounter{footnote}{1}\footnotetext{VJE$-\beta$¤Ï(³ô)¥Ð¥Ã¥¯¥¹¤Î¾¦É¸¤Ç¤¹} \addtocounter{footnote}{1}\footnotetext{WXII+¤Ï¥¨¡¼¡¦¥¢¥¤¡¦¥½¥Õ¥È(³ô) ¤Î¾¦É¸¤Ç¤¹} ¥µ¥ó¥×¥ë¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ï¡¢´Ä¶­ÊÑ¿ô CANNAFILE ¤òÀßÄꤹ¤ë$^{(1)}$¤«¡¢¼«Ê¬¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê ¤Ë¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤ò .canna ¤È¤·¤Æ¥³¥Ô¡¼¤·¤Æ»ÈÍѤ¹¤ë$^{(2)}$¤È¤è¤¤¤Ç¤·¤ç¤¦¡£ just.canna ¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ï¼¡¤Î¤¤¤º¤ì¤«¤ò¼Â¹Ô¤·¤Þ¤¹¡£ \vspace{3mm} \begin{nquote}{3em} \begin{enumerate} \item \texttt{\% setenv CANNAFILE \CANNALIBDIR/sample/just.canna} \item \texttt{\% cp \CANNALIBDIR/sample/just.canna \textasciitilde/.canna} \end{enumerate} \end{nquote} \vspace{3mm} \begin{nquote}{1em} \begin{namelist}{¡¡} \item [Ãí 1] ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï¡¢¤Ç¤­¤ë¤«¤®¤ê³Æ¡¹¤Î¥Õ¥í¥ó¥È¥¨¥ó ¥É¥×¥í¥»¥Ã¥µ¤Î¥­¡¼Áàºî¤ÈƱ¤¸¤Ë¤Ê¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤¢¤ê¤Þ¤¹¤¬¡¢X ¥¦¥£¥ó¥É¥¦ ¤Ë¤ª¤¤¤Æ¤Î¤ßµ¡Ç½¤¹¤ë¥­¡¼ (ɽ \ref{X¥¦¥£¥ó¥É¥¦¤Î¤ß¤Î¥­¡¼°ìÍ÷} »²¾È) ¤Ê¤É¤â ¸ºß¤¹¤ë¤¿¤á¡¢É¬¤º¤·¤â¡¢Á´¤¯Æ±¤¸ÁàºîÊýË¡¤¬¼Â¸½¤Ç¤­¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ %% \item [Ãí 2] ¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤Ï¡¢cannasmp ¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ %% \refCANNALIBDIR /sample ¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ cannasmp ¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó %% ¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{namelist} \end{nquote} \subsection{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÎã} ¼¡ÊǤË\HIDX{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÎã}{¤«¤¹¤¿¤Þ¤¤¤¹¤Õ¤¢¤¤¤ë¤Î¤ì¤¤} {H0.4.1.4.0} ¤ò¼¨¤·¤Þ¤¹¡£ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï \HIDX{Lisp}{£Ì£É£Ó£Ð}{H0.4.1.4.0} ¸À¸ì¤ÈƱÍͤΠ¥·¥ó¥¿¥Ã¥¯¥¹¤Ë¤è¤êµ­½Ò¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢¡Ö;¡×(¥»¥ß¥³¥í¥ó)¤«¤é¹ÔËö¤Þ¤Ç¤Ï¥³¥á¥ó¥È¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ \vspace{5mm} \begin{Verbatim}[frame=single] ;; ;;¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÎã ;; (setq cursor-wrap t) ;¥«¡¼¥½¥ë¤¬½Û´Ä¤¹¤ë¤è¤¦¤Ë¤¹¤ë¡£ (setq gakushu t) ;³Ø½¬¤¹¤ë¤è¤¦¤Ë¤¹¤ë¡£ (setq kakutei-if-end-of-bunsetsu t) ;ʸÀá¤ÎºÇ¸å¤Ç±¦¤Ë¹Ô¤¯¤È³ÎÄꤹ¤ë¡£ (setq break-into-roman t) ;BS¤Ç¤¤¤Ã¤¿¤ó¥í¡¼¥Þ»ú¤ËÌ᤹¡£ (setq grammatical-question nil) ;ñ¸ìÅÐÏ¿¤Î¤È¤­ÉÊ»ì¤Î¼ÁÌä¤ò¤·¤Ê¤¤¡£ (setq kouho-count t) ;¸õÊä°ìÍ÷¤Î¤È¤­ 1/25 ¤Ê¤É¤Îɽ¼¨¤ò¤¹¤ë¡£ (setq n-henkan-for-ichiran 3) ;ÊÑ´¹¥­¡¼3²ó¤Ç°ìÍ÷¤ò½Ð¤¹¤è¤¦¤Ë¤¹¤ë¡£ ; »ÈÍѤ¹¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÀßÄê (setq romkana-table "default.cbp") ; »ÈÍѤ¹¤ë¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤ÎÀßÄê (use-dictionary "iroha" "fuzokugo" "hojoswd" :bushu "bushu" ; Éô¼óÊÑ´¹ÍѼ­½ñ ) ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î¿¸õÊäÀßÄê (defsymbol ?["¡Ö" "¡Ø " "[" "¡Ì " "¡Î " ?]"¡×" "¡Ù" "]" " ¡Í" "¡Ï") (defsymbol ?¡¥"¡£" "¡¥" "." ?¡¤"¡¢" "¡¤" ",") ;;¥­¡¼¤ÎÄêµÁ (global-set-key "\F1" 'kigou-mode) (global-set-key "\F2" 'hex-mode) (global-set-key "\F3" 'bushu-mode) \end{Verbatim} % ------------------------------ 3.3.2 \section{»ÈÍѤ¹¤ë\HIDX{¼­½ñ¤Î»ØÄê}{¤·¤·¤è¤Î¤·¤Æ¤¤}{H0.4.2.0.0}} \label{3.3.2»ÈÍѤ¹¤ë¼­½ñ¤Î»ØÄê} ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ç¤ÏÊ£¿ô¤Î¼­½ñ¤òƱ»þ¤ËÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÍøÍѤ¹¤ë¼­½ñ¤Î»ØÄêÊýË¡¤Ï¡¢¤½¤Î¼­½ñ¤ò¤É¤Î¤è¤¦¤ËÍøÍѤ¹¤ë¤«¤Ë¤è¤ê¡¢ ɽ\ref{¼­½ñ»ØÄꥭ¡¼¥ï¡¼¥É}¤Ë¼¨¤¹ 5 ¼ïÎब¤¢¤ê¤Þ¤¹¡£ %\vspace{5mm} %{\tt \begin{table}[hbtp] \begin{center} \caption{¼­½ñ»ØÄꥭ¡¼¥ï¡¼¥É}\label{¼­½ñ»ØÄꥭ¡¼¥ï¡¼¥É} \begin{tabular}{|l|l|p{7cm}|} \hline \multicolumn{1}{|c|}{¥­¡¼¥ï¡¼¥É} & \multicolumn{1}{|c|}{¼­½ñ¤Î¼ïÎà} & \multicolumn{1}{|c|}{È÷¹Í} \\ \hline \multicolumn{1}{|c|}{¡Ý} & ¥·¥¹¥Æ¥à¼­½ñ & ¥·¥¹¥Æ¥à¼­½ñ¤È¤·¤ÆÍѤ¤¤ë¼­½ñ¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¼­½ñ¤Ë¤Ïñ¸ì¤ÎÅÐÏ¿¤Ï¹Ô¤¨¤Þ¤»¤ó¡£ \\ \hline :bushu & Éô¼óÊÑ´¹ÍѼ­½ñ & Éô¼óÊÑ´¹¤ËÍѤ¤¤ë¼­½ñ¤ò»ØÄꤷ¤Þ¤¹¡£ \\ \hline :grammar & ʸˡ¾ðÊóÍѼ­½ñ & ÉÊ»ì¤ÎÄêµÁ¡¢ÉÊ»ì´Ö¤ÎÀܳ¾ðÊó¤ò»ý¤Ä¼­½ñ¤ò»ØÄꤷ¤Þ¤¹¡£ \\ \hline :user & ñ¸ìÅÐÏ¿ÍѼ­½ñ & ñ¸ìÅÐÏ¿ÍѤμ­½ñ¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¼­½ñ¤Ë¤Ïñ¸ì¤òÅÐÏ¿¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¼­½ñ¤Î·Á¼°¤Ï¥Æ¥­¥¹¥È·Á¼°¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\raisebox{0.6ex}{\footnotesize \dg Ãí} \\ \hline :katakana & ¼«Æ°ÅÐÏ¿ÍѼ­½ñ & ¥«¥¿¥«¥Ê¸ì¤ò¼«Æ°ÅÐÏ¿¤¹¤ë¼­½ñ¤ò»ØÄꤷ¤Þ¤¹¡£ \\ \hline \end{tabular} \end{center} \end{table} %} %\vspace{5mm} \begin{nquote}{1em} \begin{namelist}{¡¡} \item[Ãí°Õ]¥Æ¥­¥¹¥È·Á¼°¼­½ñ¡¢ ¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¤Ë¤Ä¤¤¤Æ¤Ï {\dg\bf \ref{³µÀ⡦¤«¤Ê´Á»úÊÑ´¹¼­½ñ}¡¡ \hpref{count=8,label=H0.3.1.2.0}¤«¤Ê´Á»úÊÑ´¹¼­½ñ} ¤ª¤è¤Ó {\dg\bf \ref{3.4.2¼­½ñ}¡¡\hpref{count=2,label=H0.5.2.0.0}¼­½ñ} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{namelist} \end{nquote} »ÈÍѤ¹¤ë¼­½ñ¤Î»ØÄê¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¼¡¤Î¤è¤¦¤Ë¹Ô¤¤¤Þ¤¹¡£ \HIDXAS{use-dictionary}{£Õ£Ó£Å¡Ý£Ä£É£Ã£Ô£É£Ï£Î£Á£Ò£Ù}{H0.4.2.0.0} \begin{nquote}{3em} \begin{verbatim} (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" "yuubin" :katakana "katakana" :bushu "bushu" :grammar "grammar" :user "mine" ) \end{verbatim} \end{nquote} \begin{nquote}{3em} \begin{namelist}{¡¡¡¡} \item[Ãí°Õ] use-dictionary ¤Ï°ìÅ٤ε­½Ò¤Ç¤¿¤¯¤µ¤ó¤Î ¼­½ñ¤ò»ØÄꤷ¤Æ¤â$^{(1)}$¡¢Ê£¿ô²ó¤Îµ­½Ò¤Ëʬ¤±¤Æ¡¢ ¼­½ñ¤ò»ØÄꤷ¤Æ¤â$^{(2)}$Ʊ¤¸¸ú²Ì¤¬ÆÀ¤é¤ì¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢°Ê²¼¤Î (1) ¤È (2) ¤ÏƱ¤¸°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£ \begin{nquote}{3em} \begin{enumerate} \item (use-dictionary "A" "B" "C") \item (use-dictionary "A") \\ (use-dictionary "B") \\ (use-dictionary "C") \end{enumerate} \end{nquote} \end{namelist} \end{nquote} »ØÄê¤Ç¤­¤ë¥·¥¹¥Æ¥à¼­½ñ¤È¤·¤Æ¤Ïɽ\ref{»ØÄê¤Ç¤­¤ë¼­½ñ}¤Ë¼¨¤¹¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ %\vspace{5mm} %{\tt \begin{table}[hbtp] \begin{center} \caption{»ØÄê¤Ç¤­¤ë¼­½ñ}\label{»ØÄê¤Ç¤­¤ë¼­½ñ} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{¼­ ½ñ ̾} & \multicolumn{1}{|c|}{Àâ¡¡¡¡¡¡¡¡¡¡ÌÀ} \\ \hline %%%%% %%%%%% %%%%% %%%%%% %%%%% %%%%%% %iroha & ´ð´´¼­½ñ(8Ëü¸ì) \\ iroha & \HIDX{´ð´´¼­½ñ}{¤­¤«¤ó¤·¤·¤è}{H0.4.2.0.0.a} \hptar{label=H0.4.2.0.0.a} \\ \hline fuzokugo & \HIDX{ÉÕ°¸ì¼­½ñ}{¤Õ¤½¤¯¤³¤·¤·¤è}{H0.4.2.0.0.a} \\ \hline bushu & \HIDX{Éô¼ó¼­½ñ}{¤Õ¤·¤æ¤·¤·¤è}{H0.4.2.0.0.a} \\ \hline yuubin & \HIDX{Í¹ÊØÈֹ漭½ñ}{¤æ¤¦¤Ò¤ó¤Ï¤ó¤³¤¦¤·¤·¤è}{H0.4.2.0.0.a} \\ \hline hojomwd & ¸ý¸ìɽ¸½¤Ê¤É¤ÎÊä½õŪ¤Ê¼«Î©¸ì \\ \hline hojoswd & ¸ý¸ìɽ¸½¤Ê¤É¤ÎÊä½õŪ¤ÊÉÕ°¸ì \\ \hline %%%%% %%%%%% %%%%% %%%%%% %%%%% %%%%%% %necgaiji & ÆüËÜÅŵ¤¤Î³°»ú¤ò´Þ¤à¸ì \\ %\hline %%%%% %%%%%% %%%%% %%%%%% %%%%% %%%%%% \end{tabular} \end{center} \end{table} %} %\vspace{5mm} ¤³¤ì¤é¤Î¼­½ñ¤Î¤¦¤Á¡¢iroha ¤¬´ðËÜŪ¤Ê¼­½ñ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢iroha ¤ò»ÈÍѤ¹¤ë¤È¤­¤Ï fuzokugo ¤âɬ¤º»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤·¤¿¤¬¤Ã¤ÆºÇÄã¸Â»ÈÍѤ¹¤ë¼­½ñ¤Ï iroha ¤ª¤è¤Ó fuzokugo ¤Ç¤¢¤ê¡¢ ¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{nquote}{3em} \begin{verbatim} (use-dictionary "iroha" "fuzokugo" ) \end{verbatim} \end{nquote} Í¹ÊØÈֹ漭½ñ¤ÏÍ¹ÊØÈֹ椫¤éÃÏ̾¤Ø¤ÎÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤Î¼­½ñ¤Ç¤¹¡£ ɬÍפ˱þ¤¸¤Æ¤´ÍøÍѤ¯¤À¤µ¤¤¡£ hojomwd,hojoswd¤ÏÊä½õŪ¤ËÄɲ䵤줿ÉÕ°¸ì¤Î¼­½ñ¤Ç¤¹¡£¸ý¸ìɽ¸½¤Ê¤É¤Ï¤³¤Î¼­½ñ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤êÊÑ´¹¤·°×¤¯¤Ê¤ê¤Þ¤¹¡£É¬Íפ˱þ¤¸¤Æ¤´ÍøÍѤ¯¤À¤µ¤¤¡£ ¾åµ­¤Î 3 ¤Ä¤Î¼­½ñ¤Ï°Ê²¼¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤Ë¤è¤êÍøÍѤǤ­¤Þ¤¹¡£ \begin{nquote}{3em} \begin{verbatim} (use-dictionary "yuubin" "hojomwd" "hojoswd" ) \end{verbatim} \end{nquote} bushu ¤ÏÉô¼óÊÑ´¹¤ò¹Ô¤¦¤È¤­¤Ë»È¤ï¤ì¤ë¼­½ñ¤Ç¤¹¡£ Éô¼óÊÑ´¹¤òÍøÍѤ¹¤ë¾ì¹ç¤Ï¤³¤Î¼­½ñ¤ò»È¤¦¤³¤È¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¼­½ñ¤Î»ØÄê¤Î¤¿¤á¤Î¥­¡¼¥ï¡¼¥É \HIDX{:bushu}{¡§£Â£Õ£Ó£È£Õ}{H0.4.2.0.0} ¤¬ ɬÍפǤ¹¤Î¤Ç¡¢¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ \begin{nquote}{3em} \begin{verbatim} (use-dictionary :bushu "bushu" ) \end{verbatim} \end{nquote} ÉÊ»ì¤ÎÄêµÁ¤ª¤è¤ÓÉÊ»ì´Ö¤ÎÀܳ¾ðÊó¤ò»ý¤Ä¼­½ñ¤ò»ØÄꤹ¤ë¤¿¤á¤Ë¤Ï¡¢ ¥­¡¼¥ï¡¼¥É \HIDX{:grammar}{¡§£Ç£Ò£Á£Í£Í£Á£Ò}{H0.4.2.0.0} ¤òÍѤ¤¤Þ¤¹¡£ :grammar ¤Ç»ØÄꤵ¤ì¤¿¼­½ñ¤¬¤Ê¤¤¾ì¹ç¡¢ ¤ª¤è¤Ó :grammar ¤Ç»ØÄꤵ¤ì¤¿¼­½ñ¤ËÉÕ°¸ì¾ðÊ󤬵­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ fuzokugo.cbd ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ëʸˡ¾ðÊó¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤Þ¤¿¡¢:grammar ¤¬ 2 ¤Ä°Ê¾å»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢¸å¤Ë»ØÄꤵ¤ì¤¿¼­½ñ¤ò»ÈÍѤ·¤Þ¤¹¡£ :grammar ¤Î»ØÄê¤Ï°Ê²¼¤Î¤è¤¦¤Ë¹Ô¤¤¤Þ¤¹¡£ \begin{nquote}{3em} \begin{verbatim} (use-dictionary :grammar "myGrammarDictionary" ) \end{verbatim} \end{nquote} ¥æ¡¼¥¶¼«¿È¤¬ÄɲÃÅÐÏ¿¤·¤¿Ã±¸ì¤òǼ¤á¤Æ¤ª¤¯¤¿¤á¤Î¼­½ñ¤ò»ØÄꤹ¤ë¤¿¤á¤Ë¤Ï¡¢ ¥­¡¼¥ï¡¼¥É \HIDX{:user}{¡§£Õ£Ó£Å£Ò}{H0.4.2.0.0} ¤òÍѤ¤¤Þ¤¹¡£ ñ¸ìÅÐÏ¿¤ÎºÝ¡¢ÅÐÏ¿¤µ¤ì¤¿Ã±¸ì¤ò¤É¤Î¼­½ñ¤ËǼ¤á¤ë¤«¤ò¿Ò¤Í¤é¤ì¤Þ¤¹¤¬¡¢ ¤½¤Î¤È¤­ÁªÂò¤Ç¤­¤ë¼­½ñ¤Ï :user ¤Ç»ØÄꤷ¤¿¼­½ñ¤Ë¸Â¤é¤ì¤Þ¤¹¡£ :user ¤Ç»ØÄꤹ¤ë¼­½ñ¤Ïñ¸ìÅÐÏ¿¤ò¹Ô¤¦´Ø·¸¾å¡¢Ã±¸ìÅÐÏ¿ÍѼ­½ñ¤È¤·¤ÆºîÀ®¤µ¤ì¤¿ ¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó\raisebox{0.6ex}{\footnotesize \dg Ãí}¡£ :user ¤Î»ØÄê¤Ï°Ê²¼¤Î¤è¤¦¤Ë¹Ô¤¤¤Þ¤¹¡£ \begin{nquote}{3em} \begin{verbatim} (use-dictionary :user "myTextDictionary" ) \end{verbatim} \end{nquote} \begin{nquote}{1em} \begin{namelist}{¡¡} \item[Ãí°Õ]¥Æ¥­¥¹¥È·Á¼°¼­½ñ¡¢ ¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¤Ë¤Ä¤¤¤Æ¤Ï {\dg\bf \ref{³µÀ⡦¤«¤Ê´Á»úÊÑ´¹¼­½ñ}¡¡ \hpref{count=8,label=H0.3.1.2.0}¤«¤Ê´Á»úÊÑ´¹¼­½ñ} ¤ª¤è¤Ó {\dg\bf \ref{3.4.2¼­½ñ}¡¡\hpref{count=2,label=H0.5.2.0.0}¼­½ñ} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{namelist} \end{nquote} ñ¸ìÅÐÏ¿ÍѼ­½ñ¤Ï mkdic ¥³¥Þ¥ó¥É¤ÇºîÀ®¤Ç¤­¤Þ¤¹¡£ ºÇ½é¤Ï¶õ¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¤ª¤­¡¢ ½ç¼¡¼­½ñÅÐÏ¿¤Ë¤è¤êñ¸ì¤òÄɲ䷤Ƥ¤¤¯¤Î¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£ »²¹ÍÍѤȤ·¤Æ¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë(\refCANNALIBDIR /dic/canna)¤Ë ´Þ¤Þ¤ì¤Æ¤¤¤ë¼­½ñ¤òɽ\ref{¥Æ¥­¥¹¥È·Á¼°¥·¥¹¥Æ¥à¼­½ñ}¤Ë¼¨¤·¤Þ¤¹¡£ ñ¸ìÅÐÏ¿ÍѼ­½ñ¤òºîÀ®¤¹¤ë¤È¤­¤Î»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ %\vspace{5mm} %{\tt \begin{table}[hbtp] \begin{center} \caption{\refCANNALIBDIR /dic/canna ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥Æ¥­¥¹¥È·Á¼°¥·¥¹¥Æ¥à¼­½ñ}\label{¥Æ¥­¥¹¥È·Á¼°¥·¥¹¥Æ¥à¼­½ñ} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{¼­ ½ñ ̾} & \multicolumn{1}{|c|}{Àâ¡¡¡¡¡¡ÌÀ} \\ \hline kanasample & ¥«¥¿¥«¥Ê¸ì \\ \hline software & ¥½¥Õ¥È¥¦¥§¥¢¸ì¡¡¡¡¡¡¡¡ \\ \hline chimei & ÃÏ̾ \\ \hline \end{tabular} \end{center} \end{table} %} \begin{nquote}{1em} \begin{namelist}{¡¡} \item[Ãí°Õ]¥Ç¥Õ¥©¥ë¥È¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë(\refCANNALIBDIR/default.canna)¤Ç¤Ï¡¢Ã±¸ìÅÐÏ¿ÍѼ­½ñ¤È¤·¤Æ¤¢¤é¤«¤¸¤á "user" ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ \end{namelist} \end{nquote} ¥­¡¼¥ï¡¼¥É \HIDX{:katakana}{¡§£Ë£Á£Ô£Á£Ë£Á£Î£Á}{H0.4.2.0.0} ¤Ç»ØÄꤵ¤ì¤ë¥«¥¿¥« ¥Ê¸ì¼«Æ°ÅÐÏ¿¼­½ñ¤ÏÆÃ¼ì¤Ê¼­½ñ¤Ç¤¹¡£»ú¼ïÊÑ´¹¡Ê\textbf{\ref{»ú¼ïÊÑ´¹¤Ë¤è¤ëÆþÎÏ} »ú¼ïÊÑ´¹¤Ë¤è¤ëÆþÎÏ}»²¾È¡Ë¤ÇÁ´³Ñ¥«¥¿¥«¥Ê¤Ë³ÎÄꤷ¤¿¤È¤­¤Ë¡¢¤½¤Î¥«¥¿¥«¥Ê ¤ò¼«Æ°ÅÐÏ¿¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¼«Æ°ÅÐÏ¿¤Î»ØÄê¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ëÃæ ¤Ç°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ \begin{nquote}{3em} \begin{verbatim} (use-dictionary :katakana "katakana") \end{verbatim} \end{nquote} ¼«Æ°ÅÐÏ¿ÍѤμ­½ñ¤Ï¥Æ¥­¥¹¥È·Á¼°¤Ç¡¢½ñ¤­¹þ¤ß²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ ¤»¤ó¡Ê\textbf{\ref{¼­½ñ¤ÎREAD¡¦WRITE¸¢}¼­½ñ¤ÎREAD¡¦WRITE¸¢}»²¾È¡Ë¡£¼« ưÅÐÏ¿µ¡Ç½¤ò»È¤¦¤È¤­¤Ï¡¢¤¢¤é¤«¤¸¤áñ¸ìÅÐÏ¿ÍѼ­½ñ¤ÈƱÍÍ¤Ë \texttt{mkdic} ¥³¥Þ¥ó¥É¤Ç¼­½ñ¤òºî¤Ã¤Æ¤ª¤¯¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ % ------------------------------ 3.3.3 \section{\HIDX{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÀßÄê}{¤í¡¼¤Þ¤·¤«¤Ê¤Ø¤ó¤«¤ó¤Æ¡¼ ¤Õ¤ë¤Î¤»¤Ä¤Æ¤¤}{H0.4.3.0.0}} \label{3.3.3¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÀßÄê} »ÈÍѤ·¤¿¤¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òµ­½Ò¤·¤Þ¤¹¡£ \HIDXAS{romkana-table}{£Ò£Ï£Í£Ë£Á£Î£Á¡Ý£Ô£Á£Â£Ì£Å}{H0.4.3.0.0} \begin{nquote}{3em} \begin{verbatim} (setq romkana-table "romaji.cbp") \end{verbatim} \end{nquote} romkana-table ¤Ë»ØÄꤹ¤ë¤â¤Î¤Ï¥Õ¥¡¥¤¥ë̾¤Ç¤¹¡£ »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¡¢ ¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¡¢\refCANNALIBDIR /dic ¤Î½ç¤Ë¥µ¡¼¥Á¤·¡¢ ºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿¥Õ¥¡¥¤¥ë¤¬¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤È¤·¤ÆÍѤ¤¤é¤ì¤Þ¤¹¡£ % ------------------------------ 3.3.4 \section{\HIDX{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥«¥¹¥¿¥Þ¥¤¥º}{¤í¡¼¤Þ¤·¤«¤Ê¤Ø ¤ó¤«¤ó¤Æ¡¼¤Õ¤ë¤Î¤«¤¹¤¿¤Þ¤¤¤¹}{H0.4.4.0.0}} \label{3.3.4¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥«¥¹¥¿¥Þ¥¤¥º} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ë´Ø¤·¤Æ¡¢¤¿¤È¤¨¤Ð¡Ö¤³¤ó¤Ë¤Á¤Ï¡×¤È ÆþÎϤ¹¤ë¤Î¤Ë¡¢¡Ökonnichiha¡×¤ÈÆþÎϤ¹¤ë¤Î¤Ë´·¤ì¤Æ¤¤¤ë¾ì¹ç¤È¡¢¡Ökonnnichiha¡× ¤ÈÆþÎϤ¹¤ë(¡Ön¡×¤Î²ó¿ô¤¬°ã¤¤¤Þ¤¹)¤Î¤Ë´·¤ì¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤À¤±¤ò¤È¤Ã¤Æ¤ß¤Æ¤â¥æ¡¼¥¶¤Î¹¥¤ß¤Ï ¤¤¤í¤¤¤í¤¢¤ê¤Þ¤¹¡£ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ë´Ø¤·¤Æ¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë¤è¤ê ¹¥¤ß¤Î¥Æ¡¼¥Ö¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢É¸½àŪ¤ËÍѰդ·¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤Ë¹¥¤ß¤Î¤â¤Î¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢ ¼«Ê¬¤Ç¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ % ------------------------------ 3.3.4.1 \subsection{ɸ½àŪ¤ËÄ󶡤¹¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë} \label{3.3.4.1ɸ½àŪ¤ËÄ󶡤¹¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë} ɸ½àŪ¤ËÄ󶡤µ¤ì¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤È¤·¤Æ¤Ï ɽ \ref{Ä󶡤¹¤ë¥í¡¼¥Þ»ú¼­½ñ¥Æ¡¼¥Ö¥ë} ¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Æ¡¼ ¥Ö¥ë¤Ï \refCANNALIBDIR /dic ¤Î²¼¤Ë¥Õ¥¡¥¤¥ë¤Î·Á¤Ç¸ºß¤·¤Þ¤¹¡£ \newpage %{\tt \begin{table}[hbtp] \begin{center} \caption{Ä󶡤¹¤ë¥í¡¼¥Þ»ú¼­½ñ¥Æ¡¼¥Ö¥ë}\label{Ä󶡤¹¤ë¥í¡¼¥Þ»ú¼­½ñ¥Æ¡¼¥Ö¥ë} \begin{tabular}{|l|p{10cm}|} \hline \multicolumn{1}{|c|}{¼­½ñ̾} & \multicolumn{1}{|c|}{È÷¡¡¡¡¡¡¡¡¡¡¡¡¡¡¹Í} \\ \hline default.cbp & ¥Ç¥Õ¥©¥ë¥È¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë \\ \hline %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %jdaemon.cbp & EWS-UX/V R6.¡ß°ÊÁ°¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤È¸ß´¹¤Î¥í¡¼¥Þ»ú %¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë \\ %\hline %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% just.cbp & °ìÂÀϺ\footnotemark ¤ÈƱ°ì¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤ò»ý¤Ä¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼ ¥Ö¥ë \\ \hline matsu.cbp & ¾¾Âû\footnotemark ¤ÈƱ°ì¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤ò»ý¤Ä¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë \\ \hline vje.cbp & vje$-\beta$\footnotemark ¤ÈƱ°ì¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤ò»ý ¤Ä¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ ¥Æ¡¼¥Ö¥ë \\ \hline wx2+.cbp & WXII+\footnotemark ¤ÈƱ°ì¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤ò»ý¤Ä¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë \\ \hline kana.cbp & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥­¡¼¥Ü¡¼¥É¤Çµ¿»÷Ū¤Ë ¤«¤ÊÆþÎϤò¹Ô¤¦¤¿¤á¤Î¥Æ¡¼¥Ö¥ë¡£¤³¤Î¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤ë¤³¤È¤Ë¤è¤ê¡¢ ÆüËܸì¥â¡¼¥É¤È¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤ÎÀÚ¤êÂØ¤¨¤À¤±¤Ç¡¢ ¤«¤ÊÆþÎϤȥ¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϤÎÀÚ¤êÂØ¤¨¤â¹Ô¤¨¤Þ¤¹¡£ \\ \hline newjis.cbp & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥­¡¼¥Ü¡¼¥É¤Çµ¿»÷Ū¤Ë¿·JIS¥­¡¼¥Ü¡¼¥É¤Î¥«¥ÊÇÛÎó¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë¤¿¤á¤Î¥Æ¡¼¥Ö¥ë \\ \hline kaisoku.cbp & ²÷®¥í¡¼¥Þ»úÇÛÎó¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë¤¿¤á¤Î¥Æ¡¼¥Ö¥ë \\ \hline \end{tabular} \end{center} \end{table} %} \addtocounter{footnote}{-3}\footnotetext{°ìÂÀϺ¤Ï¥¸¥ã¥¹¥È¥·¥¹¥Æ¥à(³ô) ¤Î¾¦É¸¤Ç¤¹} \addtocounter{footnote}{1}\footnotetext{¾¾Âû¤Ï(³ô)´ÉÍý¹©³Ø¸¦µæ½ê¤Î¾¦É¸¤Ç¤¹} \addtocounter{footnote}{1}\footnotetext{VJE$-\beta$¤Ï(³ô)¥Ð¥Ã¥¯¥¹¤Î¾¦ ɸ¤Ç¤¹} \addtocounter{footnote}{1}\footnotetext{WXII+¤Ï¥¨¡¼¡¦¥¢¥¤¡¦¥½¥Õ¥È(³ô) ¤Î¾¦É¸¤Ç¤¹} %\vspace{5mm} ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ïdefault.cbp¤¬Áª¤Ð¤ì¤Þ¤¹¤¬¡¢¤½¤Î¤Û¤«¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò ÍøÍѤ¹¤ë¾ì¹ç¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Ê¹Ô¤ò²Ã¤¨¤Þ¤¹¡£ \begin{nquote}{3em} \begin{verbatim} ;kana.cbp¤òÍøÍѤ¹¤ë¾ì¹ç (setq romkana-table "kana.cbp") \end{verbatim} \end{nquote} »ØÄꤷ¤¿Ì¾Á°¤Ï¥Õ¥¡¥¤¥ë̾¤È¤ß¤Ê¤µ¤ì¡¢¼¡¤Î½ç¤Ë¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£ \begin{nquote}{3em} \begin{namelist}{¡¡¡¡} \item[(1) ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê] ¡¡\\ »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥µ¡¼¥Á¤·¤Þ¤¹¡£ \item[(2) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê]¡¡ \\ »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥µ¡¼¥Á¤·¤Þ¤¹¡£ \item[(3) ¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê]¡¡ \\ »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò\refCANNALIBDIR /dic¤Ç¥µ¡¼¥Á¤·¤Þ¤¹¡£ \end{namelist} \end{nquote} ¤¤¤º¤ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤â¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÆþÎϤ¬¹Ô¤¨¤Þ¤»¤ó¤Î¤Ç¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ % ------------------------------ 3.3.4.2 \subsection{\HIDX{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎºîÀ®} {¤í¡¼¤Þ¤·¤«¤Ê¤Ø¤ó¤«¤ó¤Æ¡¼¤Õ¤ë¤Î¤µ¤¯¤»¤¤}{H0.4.4.2.0}ÊýË¡} \label{3.3.4.2¼«Ê¬¼«¿È¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤Î»ÅÊý} ¥·¥¹¥Æ¥à¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ç¤ÏËþ­¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥½¡¼¥¹¥Õ¥¡ ¥¤¥ë¤Ç¤¢¤ë \\ \refCANNALIBDIR /sample/src/default.ctd ¤ò¥³¥Ô¡¼¤·¤Æ½ñ¤­´¹¤¨¤ë¤Î¤¬´Ê ñ¤Ç¤¹¡£ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï1¹Ô¤Ë¥í¡¼¥Þ»ú¤È¤½¤ì¤ËÂбþ¤¹¤ë¡Ø¤«¤Ê¡Ù¤È¤¬µ­ ½Ò¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤Ç¤¹¡£É½ \ref{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÆâÍÆ} ¤Î¤è ¤¦¤ÊÆâÍÆ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ \begin{table}[htbp] \centering \caption{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÆâÍÆ} \label{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÆâÍÆ} \begin{tabular}{|lll|} \hline a & ¤¢ & \\ i & ¤¤ & \\ u & ¤¦ & \\ e & ¤¨ & \\ o & ¤ª & \\ ka & ¤« & \\ ki & ¤­ & \\ & ¡¦¡¦¡¦¡¦ & \\ n & ¤ó & \\ n' & ¤ó & \\ mn & ¤ó & \\ nn & ¤ó & \\ & ¡¦¡¦¡¦¡¦ & \\ tch & ¤Ã & ch¡¡¡¡¡¡\\ kk & ¤Ã & k \\ ss & ¤Ã & s \\ tt & ¤Ã & t \\ hh & ¤Ã & h \\ \hline \end{tabular} \end{table} ¡ÖƱ¤¸»Ò²»¤¬½Å¤Ê¤Ã¤¿¾ì¹ç¤ÏÂ¥²»¤òȯÀ¸¤¹¤ë¡×¤È¤¤¤Ã¤¿µ¬Â§¤â ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ëµ­½Ò¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ \vspace{5mm} {\tt \begin{center} \begin{tabular}{|p{6cm}|} \hline \multicolumn{1}{|c|}{ kk¡¡¡¡¤Ã¡¡¡¡k¡¡¡¡¡¡} \\ \hline \end{tabular} \end{center} } \vspace{5mm} ¤³¤ì¤Ï¡¢kk¤ÈÆþÎϤ¬Í褿¤È¤­¤Ï¡Ö¤Ã¡×¤òȯÀ¸¤µ¤»¡¢k ¤ò ¼¡¤ÎÆþÎϤȤĤʤ²¤ë¤¿¤á¤Ë»Ä¤·¤Æ¤ª¤¯¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£ ¤³¤Îµ¬Â§¤òÍѤ¤¤Æ¡¢¡Ö¤Þ¤Ã¤Á¡×¤ÈÆþÎϤ¹¤ë¤È¤­¤Ë¡Ömatchi¡×¤Î¤è¤¦¤Ë ÆþÎϤ¹¤ë¤¿¤á¤Î¥ë¡¼¥ë¤ò°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \vspace{5mm} {\tt \begin{center} \begin{tabular}{|p{6cm}|} \hline \multicolumn{1}{|c|}{tch¡¡¡¡¤Ã¡¡¡¡ch¡¡¡¡¡¡} \\ \hline \end{tabular} \end{center} } \vspace{5mm} ÆÃ¼ì¤Êʸ»ú¤ò»ØÄꤹ¤ë¤È¤­¤Î¤¿¤á¤Ë¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å($\backslash$)¤ò ¥¨¥¹¥±¡¼¥×ʸ»ú¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÆÃ¼ì¤Êʸ»ú¤È¤·¤Æ¤Ï¡¢¥¹¥Ú¡¼¥¹Ê¸»ú¡¢ ¥·¥ã¡¼¥×(\#),¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å($\backslash$)¤¬¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å($\backslash$)¤òÆþÎϤ·¤¿¤È¤­¤Ë ¡ï ¤¬ÆþÎϤµ¤ì¤ë ¤è¤¦¤Ë¤¹¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ \vspace{5mm} {\tt \begin{center} \begin{tabular}{|p{6cm}|} \hline \multicolumn{1}{|c|}{$\backslash \backslash $ ¡ï¡¡¡¡¡¡} \\ \hline \end{tabular} \end{center} } \subsubsection{¥Æ¡¼¥Ö¥ë¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ëµ¬Â§¤ÎÍѤ¤¤é¤ìÊý} \HIDXAS{ÊÑ´¹µ¬Â§}{¤Ø¤ó¤«¤ó¤­¤½¤¯}{H0.4.4.2.1} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò´ð¤Ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¤¬¡¢ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Çµ­½Ò¤µ¤ì¤¿ÊÑ´¹µ¬Â§¤Ï¡¢ºÇŰìÃ×Ë¡¤Î¸¶Â§¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¡Ö¤Ù¤ó¤ê¤Ê¡×¤ÈÆþÎϤ¹¤ë¤È¤­¤Ï ¿Þ \ref{ºÇŰìÃ×Ë¡¤Î¸¶Â§} ¤Î¤è¤¦¤Ë¥Æ¡¼¥Ö¥ë¤¬»²¾È¤µ¤ì¤Þ¤¹¡£ \begin{figure}[htbp] \centering \caption{ºÇŰìÃ×Ë¡¤Î¸¶Â§} \label{ºÇŰìÃ×Ë¡¤Î¸¶Â§} \begin{tabular}{|l|l|p{8cm}|} \hline \multicolumn{1}{|c|}{ÆþÎÏ} & \multicolumn{1}{|c|}{ɽ¡¡¼¨} & \multicolumn{1}{|c|}{È÷¡¡¡¡¡¡¡¡¡¡¡¡¹Í}\\ \hline ben & ¤Ùn & ¡Ön¡×¤Ë¤Ä¤¤¤Æ¤Ï¤â¤Ã¤ÈŤ¤µ¬Â§¤Ç¤¢¤ë¡Öna¡×¤Î¤è¤¦¤Ê¤â¤Î¤¬Â¸ºß¤¹¤ë¤Î¤Ç¥í¡¼¥Þ»ú¤Î¤Þ¤Þ¥¨¥³¡¼¤µ¤ì¤Þ¤¹¡£ \\ \hline r & ¤Ù¤ór & ¡Önr¡×¤Ç»Ï¤Þ¤ëµ¬Â§¤¬¤Ê¤¤¤Î¤Ç¡Ön¡×¢ª¡Ö¤ó¡×¤Îµ¬Â§¤¬Å¬ÍѤµ¤ì¤Þ¤¹ \\ \hline i & ¤Ù¤ó¤ê & \\ \hline n & ¤Ù¤ó¤ên & \\ \hline a & ¤Ù¤ó¤ê¤Ê & ¡Öna¡×¤Ç»Ï¤Þ¤ëµ¬Â§¤¬¡Öna¡×¢ª¡Ö¤Ê¡×¤À¤±¤Ç¤¢¤ë¤Î¤Ç¤³¤Îµ¬Â§¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£ \\ \hline \end{tabular} \end{figure} \subsubsection{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î\HIDX{¥³¥ó¥Ñ¥¤¥ë}{¤³¤ó¤Ï¤¤¤ë} {H0.4.4.2.2}} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï¥·¥¹¥Æ¥à¤¬ÆÉ¤ß°×¤¤¥Ð¥¤¥Ê¥ê·Á¼°¤Ë ÊÑ´¹¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤¹¤Ê¤ï¤Á¡¢¾åµ­¤Î¤è¤¦¤Ê¥Æ¥­¥¹¥È·Á¼°¤Î¥Õ¥¡¥¤¥ë¤ò ¥Ð¥¤¥Ê¥ê·Á¼°¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¥Æ¥­¥¹¥È·Á¼°¤«¤é ¥Ð¥¤¥Ê¥ê·Á¼°¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{nquote}{3em} \%¡¡mkromdic¡¡¥Õ¥¡¥¤¥ë̾ \RETURN \end{nquote} mkromdic ¤ò¹Ô¤¦¤È¡¢$\ast$.cbp ¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤ÇÄ󶡤µ¤ì¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ \refCANNALIBDIR /sample/src ¤Î²¼¤Ë $\ast$.ctd ¤È¤·¤ÆÂ¸ºß¤·¤Þ¤¹¤Î¤Ç»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{nquote}{1em} \begin{namelist}{¡¡} \item[Ãí°Õ]¥Ð¥¤¥Ê¥ê·Á¼°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï dpromdic ¥³¥Þ¥ó¥É¤Ë¤è¤ê ¥Æ¥­¥¹¥È·Á¼°¤ËÌ᤹¤³¤È¤¬²Äǽ¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢{\dg\bf \ref{4¤«¤Ê´Á»úÊÑ ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£} \hpref{count=13,label=H0.6.0.0.0} ¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{namelist} \end{nquote} % ------------------------------ 3.3.5 \section{\HIDX{¥­¡¼Áàºî¤Î¥«¥¹¥¿¥Þ¥¤¥º}{¤­¡¼¤½¤¦¤µ¤Î¤«¤¹¤¿¤Þ¤¤¤¹}{H0.4.5.0.0}} \label{3.3.5¥­¡¼Áàºî¤Î¥«¥¹¥¿¥Þ¥¤¥º} ¤¿¤È¤¨¤Ð¡¢ÆüËܸì¥â¡¼¥É¤È¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤òÀÚ¤êÂØ¤¨¤ë¥­¡¼¤¬¥Ç¥Õ¥©¥ë¥È ¤Ç¤Ï \XFER ¤Þ¤¿¤Ï \CTRL + \fbox{o} ¤Ç¤¹¤¬¡¢ ÍøÍѼԤϤ³¤Î¥­¡¼¤ò¹¥¤ß¤Ë±þ¤¸¤ÆÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÍѤ¤¤Æ¡¢¤«¤Ê´Á»úÊÑ´¹¤ËÍѤ¤¤é¤ì¤ë¥­¡¼¤Î³ä¤êÅö¤Æ¤ò ¥Ç¥Õ¥©¥ë¥È¤È¤Ï°Û¤Ê¤ë¥­¡¼¤Ë³ä¤êÅö¤ÆÄ¾¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \subsection{¥­¡¼¤Î³ä¤êÅö¤Æ¤ÎÍ­¸úÈϰÏ} ¤«¤Ê´Á»úÊÑ´¹¤Ç¤Ï¿¤¯¤Î¥â¡¼¥É¤ÎÁ«°Ü¤¬¤¢¤ê¤Þ¤¹¡£¥­¡¼¤Î³ä¤êÅö¤Æ¤Ï³Æ¥â¡¼¥É ¤´¤È¤Ë¸ÄÊ̤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢¤¹¤Ù¤Æ¤Î¥â¡¼¥É¤Î¥­¡¼¤Î³ä¤êÅö ¤Æ¤ò°ì³ç¤·¤ÆÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ \subsection{Êѹ¹¤Ç¤­¤ëµ¡Ç½} ¥­¡¼¤Î³ä¤êÅö¤Æ¤ÎÊѹ¹¤Ï¥­¡¼Ì¾¤ËÂФ·¤Æ\HIDX{µ¡Ç½Ì¾}{¤­¤Î¤¦¤á¤¤}{H0.4.5.2.0}¤ò µ­½Ò¤¹¤ë¤³¤È¤Ë¤è¤ê¹Ô¤¤¤Þ¤¹¡£ ¼ç¤Êµ¡Ç½Ì¾¤È¤·¤Æ¤Ï ɽ\ref{¼ç¤Êµ¡Ç½Ì¾} ¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£\\ ¤½¤Î¤Û¤«¤Îµ¡Ç½Ì¾¤Ë´Ø¤·¤Æ¤Ï {\dg ÉÕÏ¿ \ref{C¥«¥¹¥¿¥Þ¥¤¥º¤ËÍѤ¤¤ëµ¡Ç½Ì¾°ìÍ÷ɽ} \hpref{count=16,label=H0.C.0.0.0}¥«¥¹¥¿¥Þ¥¤¥º¤ËÍѤ¤¤ëµ¡Ç½Ì¾°ìÍ÷ɽ} ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ %¡¦¡¡¼ç¤Êµ¡Ç½Ì¾ %{\tt {\small \begin{table}[hbtp] \begin{center} \caption{¼ç¤Êµ¡Ç½Ì¾}\label{¼ç¤Êµ¡Ç½Ì¾} \begin{tabular}{|l|l|c|c|} \hline \multicolumn{1}{|c|}{̾¡¡¡¡Á°} & \multicolumn{1}{|c|}{µ¡¡¡¡¡¡¡¡¡¡¡Ç½} &\multicolumn{1}{|c|}{¥Ç¥Õ¥©¥ë¥È} & \multicolumn{1}{|c|}{È÷¡¡ ¹Í} \\ \hline \HIDX{alpha-mode}{£Á£Ì£Ð£È£Á¡Ý£Í£Ï£Ä£Å}{H0.4.5.2.0.a} \hptar{label=H0.4.5.2.0.a} & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë& Xfer,C-o & \\ \hline \HIDX{quoted-insert}{£Ñ£Õ£Ï£Ô£Å£Ä¡Ý£É£Î£Ó£Å£Ò£Ô}{H0.4.5.2.0.a} & ¼¡¤Î°ìʸ»ú¤ò̵¾ò·ï¤ËÆþÎϤ¹¤ë & C-q & ¡¡\\ \hline \HIDX{kakutei}{£Ë£Á£Ë£Õ£Ô£Å£É}{H0.4.5.2.0.a} & ³ÎÄꤹ¤ë & Return, Nfer & ¡¡\\ \hline \HIDX{extend}{£Å£Ø£Ô£Å£Î£Ä}{H0.4.5.2.0.a} & Îΰ迭¤Ð¤· & S-¢ª, C-o & ¡¡\\ \hline \HIDX{shrink}{£Ó£È£Ò£É£Î£Ë}{H0.4.5.2.0.a} & Îΰè½Ì¤á & S-¢«, C-i & ¡¡\\ \hline \HIDX{touroku}{£Ô£Ï£Õ£Ò£Ï£Ë£Õ}{H0.4.5.2.0.a} & ñ¸ìÅÐÏ¿ & Help & ¡¡\\ \hline \HIDX{forward}{£Æ£Ï£Ò£×£Á£Ò£Ä}{H0.4.5.2.0.a} & ±¦ÁªÂò & ¢ª, C-f & ¡¡\\ \hline \HIDX{backward}{£Â£Á£Ã£Ë£×£Á£Ò£Ä}{H0.4.5.2.0.a} & º¸ÁªÂò & ¢«, C-b & ¡¡\\ \hline \HIDX{previous}{£Ð£Ò£Å£Ö£É£Ï£Õ£Ó}{H0.4.5.2.0.a} & Á°ÁªÂò & ¢¬, C-p & ¡¡\\ \hline \HIDX{next}{£Î£Å£Ø£Ô}{H0.4.5.2.0.a} & ¼¡ÁªÂò & ¢­, C-n & ¡¡\\ \hline \HIDX{beginning-of-line}{£Â£Å£Ç£É£Î£Î£É£Î£Ç¡Ý£Ï£Æ¡Ý£Ì£É£Î£Å}{H0.4.5.2.0.a} & ÀèÆ¬ÁªÂò & C-a & ¡¡\\ \hline \HIDX{end-of-line}{£Å£Î£Ä¡Ý£Ï£Æ¡Ý£Ì£É£Î£Å}{H0.4.5.2.0.a} & ËöÈøÁªÂò & C-e & ¡¡\\ \hline \HIDX{delete-next}{£Ä£Å£Ì£Å£Ô£Å¡Ý£Î£Å£Ø£Ô}{H0.4.5.2.0.a} & ¼¡°ìʸ»ú¾Ãµî & C-d & ¡¡\\ \hline \HIDX{delete-previous}{£Ä£Å£Ì£Å£Ô£Å¡Ý£Ð£Ò£Å£Ö£É£Ï£Õ£Ó}{H0.4.5.2.0.a} & Á°°ìʸ»ú¾Ãµî & Backspace & ¡¡\\ \hline \HIDX{kill-to-end-of-line}{£Ë£É£Ì£Ì¡Ý£Ô£Ï¡Ý£Å£Î£Ä¡Ý£Ï£Æ¡Ý£Ì£É£Î£Å}{H0.4.5.2.0.a} & ¹ÔËö¤Þ¤Ç¾Ãµî & C-k & ¡¡\\ \hline \HIDX{bubun-kakutei}{£Â£Õ£Â£Õ£Î¡Ý£Ë£Á£Ë£Õ£Ô£Å£É}{H0.4.5.2.0.a} & ¥«¡¼¥½¥ëÁ°¤Þ¤Ç³ÎÄê & C-j & ¡¡\\ \hline \HIDX{henkan}{£È£Å£Î£Ë£Á£Î}{H0.4.5.2.0.a} & ÊÑ´¹ & Space, Xfer & ¡¡\\ \hline \HIDX{quit}{£Ñ£Õ£É£Ô}{H0.4.5.2.0.a} & ¼è¤ê¤ä¤á & C-g & ¡¡\\ \hline \HIDX{self-insert}{£Ó£Å£Ì£Æ¡Ý£É£Î£Ó£Å£Ò£Ô}{H0.4.5.2.0.a} & ʸ»úÁÞÆþ & a, b, c ¡Ä & ¡¡\\ \hline \end{tabular} \end{center} \end{table} } %% small no tame %} \vspace{5mm} \subsection{µ¡Ç½¤Ø¤Î\HIDX{¥­¡¼¤Î³ä¤êÅö¤Æ}{¤­¡¼¤Î¤ï¤ê¤¢¤Æ}{H0.4.5.3.0}} \label{4.5.2µ¡Ç½¤Ø¤Î¥­¡¼¤Î³ä¤êÅö¤Æ} ¤¢¤ëµ¡Ç½¤ËÂФ·¤Æ¥­¡¼¤ò³ä¤êÅö¤Æ¤ë¤È¤­¤Ï¡¢global-set-key ¤Þ¤¿¤Ï set-key ¤ò ÍѤ¤¤Æ¡¢°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¤³¤È¤Ë¤è¤ê³ä¤êÅö¤Æ¤Þ¤¹¡£ ¤¢¤ëµ¡Ç½¤ËÂФ·¤ÆÊ£¿ô¤Î¥­¡¼¤ò³ä¤êÅö¤Æ¤ë¾ì¹ç¤Ï¡¢ {\dg\bf \ref{4.5.5Ê£¿ô½èÍý¤Ç¤Î¥­¡¼¤Î³ä¤êÅö¤Æ} \hpref{count=13,label=H0.4.5.4.0}Ê£¿ô½èÍý¤Ç¤Î¥­¡¼¤Î³ä¤êÅö¤Æ} ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \HIDXAS{global-set-key}{£Ç£Ì£Ï£Â£Á£Ì¡Ý£Ó£Å£Ô¡Ý£Ë£Å£Ù}{H0.4.5.3.0} \begin{nquote}{3em} \begin{verbatim} (global-set-key "¥­¡¼" 'µ¡Ç½Ì¾) \end{verbatim} \end{nquote} \HIDXAS{set-key}{£Ó£Å£Ô¡Ý£Ë£Å£Ù}{H0.4.5.3.0} \begin{nquote}{3em} \begin{verbatim} (set-key '¥â¡¼¥É̾ "¥­¡¼" 'µ¡Ç½Ì¾) \end{verbatim} \end{nquote} global-set-key ¤Ç¤Ï¡¢ÆüËܸìÆþÎÏ»þ¤Î¤¹¤Ù¤Æ¤Î¥â¡¼¥É¤ËÂФ·¤Æ ¥­¡¼¤Î³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ set-key ¤Ç¤Ï¡¢ÆÃÄê¤Î¥â¡¼¥É¤ËÂФ·¤Æ¤Î¤ß¡¢¥­¡¼¤Î³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ set-key ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢ÆÃÄê¤Î¥â¡¼¥É¤Ç¤Î¥­¡¼¤Î³ä¤êÅö¤Æ¤ò ¤½¤Î¥â¡¼¥É¤Î¤È¤­¤À¤±Ã±ÆÈ¤ÇÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \HIDX{¥­¡¼}{¤­¡¼}{H0.4.5.3.0.a1} \hptar{label=H0.4.5.3.0.a1}¤Ï \verb!"a"! ¤ä \verb!"b"! ¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£ ¥³¥ó¥È¥í¡¼¥ë¥­¡¼¤ò²¡¤·¤Ê¤¬¤é²¿¤é¤«¤Î¥­¡¼¤ò²¡¤¹¤È¤¤¤¦¤Î¤Ï ¥­¡¼¤Î»ØÄê¤ÎÁ°¤Ë \verb!"\C-"! ¤òÉÕ¤±¤ë¤³¤È¤Çɽ¸½¤·¤Þ¤¹¡£ ¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤Ê¤É¤Î\HIDX{ÆÃ¼ì¥­¡¼}{¤È¤¯¤·¤æ¤­¡¼}{H0.4.5.3.0.a2} \hptar{label=H0.4.5.3.0.a2}¤Ë¤Ä¤¤¤Æ¤Ïɽ \ref{ÆÃ¼ì¥­¡¼°ìÍ÷}¤Ë¼¨¤¹Ì¾Á°¤Ç»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥­¡¼¤Î̾Á°¤Ï¡¢Âçʸ»ú¡¦¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤¹¡£¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ %\vspace{5mm} %{\tt {\small \begin{table}[hbtp] \begin{center} \caption{ÆÃ¼ì¥­¡¼¤Î¼ïÎà}\label{ÆÃ¼ì¥­¡¼°ìÍ÷} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{¥­¡¡¡¡¡¼} & \multicolumn{1}{|c|}{̾¡¡¡¡¡¡Á°} \\ \hline f¡¦1(°Ê²¼2,3¡Ä) & \tt "$\backslash$F1",~"$\backslash$F2",~\ldots \\ %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% %Æ©ÌÀ(º¸¤«¤é1,2,¡Ä)& \tt "$\backslash$Pf1",~"$\backslash$Pf2",~\ldots \\ %%%%% %%%%% %%%%% %%%%% %%%%% %%%%% ESC & \tt "$\backslash$Escape" \\ TAB & \tt "$\backslash$Tab" \\ NFER & \tt "$\backslash$Nfer" \\ XFER & \tt "$\backslash$Xfer" \\ BS & \tt "$\backslash$Backspace" \\ INS & \tt "$\backslash$Insert" \\ DEL & \tt "$\backslash$Delete" \\ ROLLUP(PAGEDOWN) & \tt "$\backslash$Rollup" \\ ROLLDOWN(PAGEUP) & \tt "$\backslash$Rolldown" \\ ¢¬ & \tt "$\backslash$Up" \\ ¢« & \tt "$\backslash$Left" \\ ¢ª & \tt "$\backslash$Right" \\ ¢­ & \tt "$\backslash$Down" \\ HOME & \tt "$\backslash$Home" \\ CLR & \tt "$\backslash$Clear" \\ HELP & \tt "$\backslash$Help" \\ ENTER & \tt "$\backslash$Enter" \\ END & \tt "$\backslash$End" \\ (SPACE) & \tt "$\backslash$Space" \\ (RETURN) & \tt "$\backslash$Return" \\ \hline \end{tabular} \end{center} \end{table} } %% small no tame %} %\vspace{5mm} ¤Þ¤¿¡¢X ¥¦¥£¥ó¥É¥¦¤Ë¤ª¤±¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤Ï ɽ\ref{X¥¦¥£¥ó¥É¥¦¤Î¤ß¤Î¥­¡¼°ìÍ÷}¤Î µ­½Ò¤ò¼õ¤±¤Ä¤±¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹ (TTY¥Ù¡¼¥¹¤ÎÆüËܸìÆþÎϤǤϡ¢¤³¤ì¤é¤Î¥­¡¼µ­½Ò¤Ï̵»ë¤µ¤ì¤Þ¤¹)¡£ \HIDXAS{X ¥¦¥£¥ó¥É¥¦¤Î¥­¡¼}{£Ø¤¦¤¤¤ó¤È¤¦¤Î¤­¡¼}{H0.4.5.3.0.a3} \hptar{label=H0.4.5.3.0.a3} %{\tt {\small \begin{table}[hbtp] \begin{center} \caption{X¥¦¥£¥ó¥É¥¦¤Î¤ß¤Î¥­¡¼°ìÍ÷}\label{X¥¦¥£¥ó¥É¥¦¤Î¤ß¤Î¥­¡¼°ìÍ÷} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{¥­¡¡¡¼} & \multicolumn{1}{|c|}{̾¡¡¡¡Á°} \\ \hline CTRL+NFER & \tt "$\backslash$C-Nfer" \\ CTRL+XFER & \tt "$\backslash$C-Xfer" \\ CTRL+¢¬ & \tt "$\backslash$C-Up" \\ CTRL+¢« & \tt "$\backslash$C-Left" \\ CTRL+¢ª & \tt "$\backslash$C-Right" \\ CTRL+¢­ & \tt "$\backslash$C-Down" \\ SHIFT+NFER& \tt "$\backslash$S-Nfer" \\ SHIFT+XFER& \tt "$\backslash$S-Xfer" \\ SHIFT+¢¬ & \tt "$\backslash$S-Up" \\ SHIFT+¢« & \tt "$\backslash$S-Left" \\ SHIFT+¢ª & \tt "$\backslash$S-Right" \\ SHIFT+¢­ & \tt "$\backslash$S-Down" \\ ¤Ò¤é¤¬¤Ê & \tt "$\backslash$Hiragana" \\ ¥«¥¿¥«¥Ê & \tt "$\backslash$Katakana" \\ Ⱦ³Ñ/Á´³Ñ & \tt "$\backslash$Hankakuzenkaku" \\ ±Ñ¿ô & \tt "$\backslash$Eisu" \\ \hline \end{tabular} \end{center} \end{table} } %% small no tame %} %\vspace{5mm} ɽ\ref{¡ã»²¹Í¡äÅù²Á¤Ê¥­¡¼°ìÍ÷}¤Î¥­¡¼¤Ï¤Û¤«¤Î¥­¡¼¤ÈÅù²Á¤Ê¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¤Î ¤Ç¡¢¤É¤Á¤é¤«°ìÊý¤Î¥­¡¼¤Ëµ¡Ç½¤ò³ä¤êÅö¤Æ¤ë¤È¡¢ ¤½¤Î¥­¡¼¤È\HIDX{Åù²Á¤Ê¥­¡¼}{¤È¤¦¤«¤Ê¤­¡¼}{H0.4.5.3.0.a4} \hptar{label=H0.4.5.3.0.a4}¤Ë¤â µ¡Ç½¤ò³ä¤êÅö¤Æ¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ %\vspace{5mm} %{\tt \begin{table}[hbtp] \begin{center} \caption{¡ã»²¹Í¡äÅù²Á¤Ê¥­¡¼°ìÍ÷}\label{¡ã»²¹Í¡äÅù²Á¤Ê¥­¡¼°ìÍ÷} \begin{tabular}{|ll|l|} \hline \multicolumn{2}{|c|}{¥­¡¡¡¼} & \multicolumn{1}{|c|}{Åù ²Á ¤Ê ¥­ ¡¼} \\ \hline \tt CTRL+h & \tt (C-h) & BS(Backspace) \\ \tt CTRL+i & \tt (C-i) & TAB(Tab) \\ \tt CTRL+k & \tt (C-k) & HOMECLR(Clear) \\ \tt CTRL+m & \tt (C-m) & ENTER(Enter), RETURN(Return) \\ \tt CTRL+[ & \tt (C-[) & ESC(Escape) \\ \tt CTRL+@ & \tt (C-@) & CTRL+SPACE(C+Space) \\ \hline \end{tabular} \end{center} \end{table} %} %\vspace{5mm} \HIDX{¥â¡¼¥É̾}{¤â¡¼¤È¤á¤¤}{H0.4.5.3.0.a5} \hptar{label=H0.4.5.3.0.a5}¤Ï ɽ\ref{¥­¡¼³ä¤êÅö¤Æ¤Î¤Ç¤­¤ë¥â¡¼¥É°ìÍ÷}¤Ë¼¨¤¹¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ %\vspace{5mm} %{\tt \begin{table}[hbtp] \begin{center} \caption{¥­¡¼³ä¤êÅö¤Æ¤Î¤Ç¤­¤ë¥â¡¼¥É°ìÍ÷}\label{¥­¡¼³ä¤êÅö¤Æ¤Î¤Ç¤­¤ë¥â¡¼¥É°ìÍ÷} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{̾¡¡¡¡Á°} & \multicolumn{1}{|c|}{Àâ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÌÀ} \\ \hline \HIDX{alpha-mode}{£Á£Ì£Ð£È£Á¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} \hptar{label=H0.4.5.3.0.b} & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ \\ \hline \HIDX{empty-mode}{£Å£Í£Ð£Ô£Ù¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & ÆüËܸìÆþÎϥ⡼¥É¤Ç¤Þ¤Àʸ»ú¤òÆþÎϤ·¤Æ¤¤¤Ê¤¤¾õÂÖ\\ \hline \HIDX{yomi-mode}{£Ù£Ï£Í£É¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ\\ \hline \HIDX{mojishu-mode}{£Í£Ï£Ê£É£Ó£È£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & ʸ»ú¼ïÊÑ´¹¤ò¹Ô¤Ã¤Æ¤¤¤ë¾õÂÖ\\ \hline \HIDX{tankouho-mode}{£Ô£Á£Î£Ë£Ï£Õ£È£Ï¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & ÊÑ´¹¥­¡¼¤ò²¡¤·¤Æ¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂÖ\\ \hline \HIDX{ichiran-mode}{£É£Ã£È£É£Ò£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & ¸õÊä°ìÍ÷ɽ¼¨¤ò¤·¤Æ¤¤¤ë¾õÂÖ\\ \hline \HIDX{henkan-nyuuryoku-mode}{£È£Å£Î£Ë£Á£Î¡Ý£Î£Ù£Õ£Õ£Ò£Ù£Ï£Ë£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & empty-mode¤Èyomi-mode¤ÎÁí¾Î\\ \hline \HIDX{kigou-mode}{£Ë£É£Ç£Ï£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & µ­¹æ°ìÍ÷¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ\\ \hline \HIDX{yes-no-mode}{£Ù£Å£Ó¡Ý£Î£Ï¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & YES/NO¤òÌ䤤¹ç¤ï¤»¤ë¼ÁÌä¤ò¤·¤Æ¤¤¤ë¾õÂÖ\\ \hline \HIDX{on-off-mode}{£Ï£Î¡Ý£Ï£Æ£Æ¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & ¼­½ñ¥Þ¥¦¥ó¥È¥¢¥ó¥Þ¥¦¥ó¥È¤ò»ØÄꤷ¤Æ¤¤¤ë¾õÂÖ\\ \hline \HIDX{shinshuku-mode}{£Ó£È£É£Î£Ó£È£Õ£Ë£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.5.3.0.b} & ʸÀá¤ò¿­¤Ð¤·½Ì¤á¤·¤Æ¤¤¤ë¾õÂÖ\\ \hline \end{tabular} \end{center} \end{table} %} %\vspace{5mm} ¥â¡¼¥É̾¤Ï¡¢Âçʸ»ú¡¦¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤¹¡£¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ \subsection{Ê£¿ô½èÍý¤Ç¤Î¥­¡¼¤Î³ä¤êÅö¤Æ(\HIDX{¥Þ¥ë¥Á¥·¡¼¥±¥ó¥¹}{¤Þ¤ë¤Á ¤·¡¼¤±¤ó¤¹}{H0.4.5.4.0})} \label{4.5.5Ê£¿ô½èÍý¤Ç¤Î¥­¡¼¤Î³ä¤êÅö¤Æ} {\dg\bf \ref{4.5.2µ¡Ç½¤Ø¤Î¥­¡¼¤Î³ä¤êÅö¤Æ} \hpref{count=11,label=H0.4.5.3.0} µ¡Ç½¤Ø¤Î¥­¡¼¤Î³ä¤êÅö¤Æ} ¤Ç¤Ï¡¢ 1 ¤Ä¤Îµ¡Ç½¤Ë 1 ¤Ä¤Î¥­¡¼Áàºî¤ò³ä¤êÅö¤Æ¤ëÊýË¡¤òÀâÌÀ¤·¤Þ¤·¤¿¡£ ¤·¤«¤·¡¢¥­¡¼¤Î³ä¤êÅö¤Æ¤Ï¥­¡¼¤Èµ¡Ç½¤ò 1 ÂÐ 1 ¤Ë¤·¤«Âбþ¤µ¤»¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢ ¿ÂпÂбþ¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢Ê£¿ô¤Îµ¡Ç½¤òÊ£¿ô¤Î¥­¡¼Áàºî¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¼¡¤Î¤è¤¦¤Êµ­½Ò¤ò¤¹¤ë¤³¤È¤Ë¤è¤ê³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ \begin{nquote}{3em} \begin{verbatim} (set-key '¥â¡¼¥É̾ "¥­¡¼1 ¥­¡¼2 ¡Ä ¥­¡¼n " '(µ¡Ç½Ì¾1 µ¡Ç½Ì¾2 ¡Ä µ¡Ç½Ì¾n)) \end{verbatim} \end{nquote} \begin{nquote}{3em} \begin{verbatim} (global-set-key "¥­¡¼1 ¥­¡¼2 ¡Ä ¥­¡¼n " '(µ¡Ç½Ì¾1 µ¡Ç½Ì¾2 ¡Ä µ¡Ç½Ì¾n)) \end{verbatim} \end{nquote} \begin{nquote}{3em} \begin{tabular}{ll} (Îã) & \\ & ;C-x¥¹¥Ú¡¼¥¹¤È²¡¤µ¤ì¤¿¤È¤­¡¢¤«¤Ê´Á»úÊÑ´¹¤·¡¢\\ & ;±¦Ã¼¤ÎʸÀ᤬ȿž¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¡£ \\ & \verb!(set-key 'yomi-mode "\C-x\Space"! \\ & \verb!¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'(henken end-of-line)) ! \end{tabular} \end{nquote} ¥­¡¼¥·¡¼¥±¥ó¥¹ÆþÎÏÃæ¤Ë¤½¤Î¾õÂÖ¤«¤éÈ´¤±¤ë¾ì¹ç¤Ï quit(¼è¤ê¤ä¤á)¤ò ³ä¤êÅö¤Æ¤¿¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \CTRL + \fbox{g} ¤Ç¤¹¡£ \subsection{\HIDX{¥­¡¼¤Î³ä¤êÅö¤Æ²ò½ü}{¤­¡¼¤Î¤ï¤ê¤¢¤Æ¤«¤¤¤·¤è}{H0.4.5.5.0}} ¤¢¤ëµ¡Ç½¤ËÂФ¹¤ë¥­¡¼¤Î³ä¤êÅö¤Æ¤ò̤ÄêµÁ¾õÂÖ¤ËÌ᤹¤È¤­¤Ï¡¢ global-unbind-key-function ¤Þ¤¿¤Ï unbind-key-function ¤ò ÍѤ¤¤Æ¡¢°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ \HIDXAS{global-unbind-key-function}{£Ç£Ì£Ï£Â£Á£Ì¡Ý£Õ£Î£Â£É£Î£Ä¡Ý£Ë£Å£Ù ¡Ý£Æ£Õ£Î£Ã£Ô£É£Ï£Î}{H0.4.5.5.0.a1} \hptar{label=H0.4.5.5.0.a1} \begin{nquote}{3em} \begin{verbatim} (global-unbind-key-function 'µ¡Ç½Ì¾) \end{verbatim} \end{nquote} \HIDXAS{unbind-key-function}{£Õ£Î£Â£É£Î£Ä¡Ý£Ë£Å£Ù¡Ý£Æ£Õ£Î£Ã£Ô£É£Ï£Î} {H0.4.5.5.0.a2} \hptar{label=H0.4.5.5.0.a2} \begin{nquote}{3em} \begin{verbatim} (unbind-key-function '¥â¡¼¥É̾ 'µ¡Ç½Ì¾) \end{verbatim} \end{nquote} \vspace{5mm} \begin{nquote}{3em} \begin{tabular}{ll} (Îã) & \\ & ;Á´ÂÎŪ¤Ë¡Ö¼è¤ê¤ä¤á¡×µ¡Ç½¤ò̤ÄêµÁ¤Ë¤¹¤ë \\ & \verb!(global-unbind-key-function 'quit)! \\ & ;ÆÉ¤ß¥â¡¼¥É¤Ç¡ÖÊÑ´¹¡×µ¡Ç½¤ò̤ÄêµÁ¤Ë¤¹¤ë \\ & \verb!(unbind-key-function 'yomi-mode 'henkan)! \end{tabular} \end{nquote} % ------------------------------ 3.3.6 \section{¤½¤Î¤Û¤«¤Î¥«¥¹¥¿¥Þ¥¤¥º} \label{3.3.6¤½¤Î¾¤Î¥«¥¹¥¿¥Þ¥¤¥º} ¤³¤³¤Ç¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë(.canna)¤Î \HIDX{¥·¥ó¥¿¥Ã¥¯¥¹µ¬Â§} {¤·¤ó¤¿¤Ã¤¯¤¹¤­¤½¤¯}{H0.4.6.0.0}¤ä¡¢ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÇÍѤ¤¤é¤ì¤ë¥Ç¡¼¥¿¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ % ------------------------------ 3.3.6.1 \subsection{\HIDX{¥·¥ó¥¿¥Ã¥¯¥¹¤Î´ðËÜ}{¤·¤ó¤¿¤Ä¤¯¤¹¤Î¤­¤Û¤ó}{H0.4.6.1.0}} \label{3.3.6.1¥·¥ó¥¿¥Ã¥¯¥¹¤Î´ðËÜ} .canna ¤Î¥·¥ó¥¿¥Ã¥¯¥¹¤Ï Lisp ¤ÈƱ¤¸¤â¤Î¤Ç¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢¡Ö (¡×¤È¡Ö) ¡×¤Ç°Ï¤Þ¤ì¤¿Éôʬ¤Ç 1 ¤Ä¤Î¤³¤È¤¬¤é¤òɽ¸½¤·¤Æ¤¤¤Þ¤¹¡£ Ä̾ï¤Ï¡¢¡Ö (¡×¤È¡Ö) ¡×¤Ç°Ï¤Þ¤ì¤¿¤â¤Î¤Î¤¦¤Á¡¢º¸Ã¼¤Ë µ­½Ò¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤¬´Ø¿ô¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ \begin{CODEBOX} (Îã) \\ ¡¡¡¡(set-mode-display 'alpha-mode "--") \\ ¡¡¡¡set-mode-display ¤Ï´Ø¿ô¤Ç¤¹¡£ \\ \end{CODEBOX} ¤½¤ì°Ê³°¤Î¤â¤Î¤Ç¡Ö (¡×¤È¡Ö) ¡×¤Î´Ö¤ËÆþ¤Ã¤Æ¤¤¤ë¤â¤Î¤Ï´Ø¿ô¤Î°ú¿ô¤Ç¤¹¡£ \begin{CODEBOX} (Îã) \\ ¡¡¡¡(set-mode-display 'alpha-mode "--") \\ ¡¡¡¡'alpha-mode, "-" ¤Ï°ú¿ô¤Ç¤¹¡£ \\ \end{CODEBOX} °ú¿ô¤ÎÉôʬ¤Ë¤µ¤é¤Ë¡Ö (¡×¤È¡Ö) ¡×¤Ç°Ï¤Þ¤ì¤¿¼°¤ò½ñ¤¯¤³¤È¤â²Äǽ¤Ç¤¹¡£ \begin{CODEBOX} (Îã) \\ ¡¡¡¡ (set-mode-display 'alpha-mode \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(if use-default " " "--")) \\ use-default¤È¤¤¤¦ÊÑ¿ô¤ÎÃͤο¿ÍýÃͤˤè¤Ã¤Æalpha-mode¤Î¥â¡¼¥É¤Î¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤òÀÚ¤êÂØ¤¨¤Æ¤¤¤Þ¤¹¡£ \\ \end{CODEBOX} °ú¿ô¤Ï°ìÅÙ¡Ö\HIDX{ɾ²Á}{¤Ò¤è¤¦¤«}{H0.4.6.1.0.a1} \hptar{label=H0.4.6.1.0.a1}¡× (\HIDX{evaluate}{£Å£Ö£Á£Ì£Õ£Á£Ô£Å}{H0.4.6.1.0.a2} \hptar{label=H0.4.6.1.0.a2})¤µ¤ì¤Æ¤«¤é ´Ø¿ô¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢¤¤¤¯¤Ä¤«¤ÎÎã³°¤â¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢setq, if, defmode ¤Ê¤É¤Î´Ø¿ô(Àµ³Î¤Ë¤Ï´Ø¿ô¤È¤Ï¸Æ¤Ð¤Ê¤¤ Lisp ½èÍý·Ï ¤¬Â¿¤¤)¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î°ú¿ô¤¬¡Öɾ²Á¡×¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤³¤³¤Ç¡Öɾ²Á¡×¤È¤Ï°ìÅÙ¤½¤Î¼°¤¬¼Â¹Ô¤µ¤ì¤Æ¤½¤Î¼°¤ÎÃͤòµá¤á¤ë¤³¤È¤ò»Ø¤·¤Þ¤¹¡£ % ------------------------------ 3.3.6.2 \subsection{¤µ¤Þ¤¶¤Þ¤Ê¥Ç¡¼¥¿} \label{3.3.6.2¤µ¤Þ¤¶¤Þ¤Ê¥Ç¡¼¥¿} .canna¤Ç¤Ïɽ\ref{.canna¤Ë¤ª¤±¤ëɾ²Á·¿}¤Ë¼¨¤¹·¿¤Î¥Ç¡¼¥¿¤¬Åо줷¤Þ¤¹¡£ \HIDXAS{.canna¤Ë¤ª¤±¤ëɾ²Á·¿}{¡¥CANNA¤Ë¤ª¤±¤ë¤Ò¤ç¤¦¤«¤«¤¿}{H0.4.6.2.0} %\vspace{5mm} %{\tt \begin{table}[hbtp] \begin{center} \caption{.canna¤Ë¤ª¤±¤ë\HIDX{ɾ²Á·¿}{¤Ò¤è¤¦¤«¤«¤¿}{H0.4.6.2.0}} \label{.canna¤Ë¤ª¤±¤ëɾ²Á·¿} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{¥Ç¡¼¥¿·¿} & \multicolumn{1}{|c|}{Îã} \\ \hline ¿¿ÍýÃÍ & t, nil \\ À°¡¡¿ô & 1, 2, 3, ¡Ä¡Ä \\ ʸ¡¡»ú & ?a, ?$\backslash$C-a, ?$\backslash$Xfer, ¡Ä¡Ä \\ ʸ»úÎó & "romaji.cbp", "fuzokugo", "[ ¤¢ ]", ¡Ä¡Ä \\ ¥·¥ó¥Ü¥ë(µ­¹æ) & forward, next, alpha-mode, ¡Ä¡Ä \\ ¥ê¥¹¥È & (henkan end-of-line), (katakana kakutei), ¡Ä \\ \hline \end{tabular} \end{center} \end{table} %} %\vspace{5mm} ÆÃ¤Ë¡¢¿¿ÍýÃͤò \HIDX{t}{£Ô}{H0.4.6.2.0}(¿¿) ¤È\HIDX{nil}{£Î£É£Ì}{H0.4.6.2.0}(µ¶)¤Çɽ¸½¤¹¤ë¤³¤È¤Ë¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ % ------------------------------ 3.3.6.3 \subsection{\HIDX{ÊÑ¿ô}{¤Ø¤ó¤¹¤¦}{H0.4.6.3.0}} \label{3.3.6.3ÊÑ¿ô} ÊÑ¿ô¤Ï¥·¥ó¥Ü¥ë¤Çɽ¸½¤µ¤ì¤Þ¤¹¡£ ÊÑ¿ô¤ËÃͤòÂåÆþ¤¹¤ë½èÍý¤Ï\HIDX{setq}{£Ó£Å£Ô£Ñ}{H0.4.6.3.0}¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£ \vspace{5mm} \begin{CODEBOX} (Îã) \\ ¡¡¡¡(setq bunsetsu-kugiri t) \\ ¡¡¡¡ÊÑ¿ôbunsetsu-kugiri¤Ë¿¿¤òÂåÆþ¤·¤Þ¤¹¡£ \\ ¡¡¡¡(setq n-henkan-for-ichiran 5) \\ ¡¡¡¡ÊÑ¿ôn-henkan-for-ichiran¤Ë5¤òÂåÆþ¤·¤Þ¤¹¡£ \\ \end{CODEBOX} ¤½¤ÎÊÑ¿ô¤ò»²¾È¤¹¤ë¤Ë¤ÏÊÑ¿ô¼«¿È¤ò´Ø¿ô¤Î°ú¿ô¤Ëµ­½Ò¤·¤Þ¤¹¡£ \begin{CODEBOX} (Îã) \\ ¡¡¡¡(if bunsetsu-kugiri (setq select-direct nil)) \\ ¡¡¡¡¡ÖʸÀá¶èÀÚ¤ê¡×¤¬¿¿¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤Ðselect-direct¤òµ¶¤Ë¤·¤Þ¤¹¡£ \\ \end{CODEBOX} ¥·¥ó¥Ü¥ë¤Ï´Ø¿ô¤Î°ú¿ô¤ËÍ¿¤¨¤é¤ì¤¿¤È¤­¤ÏÊÑ¿ô¤È¤·¤Æ¡Öɾ²Á¡×¤µ¤ì¡¢ ÊÑ¿ô¤È¤·¤Æ¤ÎÆâÍÆ¤¬ÆÀ¤é¤ì¤Þ¤¹¡£¥·¥ó¥Ü¥ë¼«¿È¤òÃͤȤ·¤ÆÍ¿¤¨¤¿¤¤¾ì¹ç¤Ï¡¢ ¡Ö'¡×(¥·¥ó¥°¥ë¥¯¥©¡¼¥È)¤ò¥·¥ó¥Ü¥ë¤ÎÁ°¤Ë¤Ä¤±¤Þ¤¹¡£ \vspace{5mm} {\tt \begin{center} \begin{tabular}{|p{1cm}p{13cm}|} \hline (Îã) & \\ & (global-set-key "$\backslash$Space" 'self-insert) \\ & ¥¹¥Ú¡¼¥¹¥­¡¼¤ÏÊÑ´¹¤Ç¤Ï¤Ê¤¯ÆþÎϤȤ·¤Æ¼è¤ê°·¤¤¤Þ¤¹¡£¤³¤Î¾ì¹ç \\ & self-insert¤È¤¤¤¦¥·¥ó¥Ü¥ë¼«¿È¤òglobal-set-key¤È¤¤¤¦´Ø¿ô¤ËÍ¿¤¨¤¿¤«¤Ã ¤¿¤Î¤Ç¡¢ self-insert¤ËÂФ·¤Æ¡Ö'¡×¤òÉÕ¤±¤Æ¤¤¤Þ¤¹¡£ \\ \hline \end{tabular} \end{center} } \vspace{5mm} ¥·¥ó¥Ü¥ë°Ê³°¤Î¥Ç¡¼¥¿¤Î¡Öɾ²Á¡×¸å¤ÎÃͤòɽ\ref{¥·¥ó¥Ü¥ë°Ê³°¤Î¥Ç¡¼¥¿·¿}¤Ë¼¨¤·¤Þ¤¹¡£ %\vspace{5mm} {\tt \begin{table}[hbtp] \begin{center} \caption{¥·¥ó¥Ü¥ë°Ê³°¤Î¥Ç¡¼¥¿·¿}\label{¥·¥ó¥Ü¥ë°Ê³°¤Î¥Ç¡¼¥¿·¿} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{¥Ç¡¼¥¿·¿} & \multicolumn{1}{|c|}{ɾ²Á¸å¤ÎÃÍ} \\ \hline ¿¿ÍýÃÍ & ¤½¤ÎÃͼ«¿È \\ À°¿ô & À°¿ô¥Ç¡¼¥¿¼«¿È \\ ʸ»ú & ʸ»ú¥Ç¡¼¥¿¼«¿È \\ ʸ»úÎó & ʸ»úÎó¥Ç¡¼¥¿¼«¿È \\ ¥·¥ó¥Ü¥ë(µ­¹æ)& ÊÑ¿ô¤ÎÃæ¿È \\ ¥ê¥¹¥È & ´Ø¿ô¤ò¼Â¹Ô¤·¤¿¥ê¥¿¡¼¥óÃÍ \\ \hline \end{tabular} \end{center} \end{table} } %\vspace{5mm} ɽ\ref{¥·¥ó¥Ü¥ë°Ê³°¤Î¥Ç¡¼¥¿·¿}¤«¤é¤ï¤«¤ë¤è¤¦¤Ë¡¢ ¥·¥ó¥Ü¥ë¤È¥ê¥¹¥È¤Ë´Ø¤·¤Æ¤Ï¤½¤ì¤é¤Î¥Ç¡¼¥¿¼«¿È¤ò°ú¿ô¤Ë¤·¤¿¤¤¾ì¹ç¤Ï ¡Ö'¡×¤¬É¬Íפˤʤê¤Þ¤¹¡£ ¤·¤«¤·¡¢¤½¤ì°Ê³°¤Î¥Ç¡¼¥¿¤Î¾ì¹ç¤Ï¡Ö'¡×¤ò¤Ä¤±¤Ê¤¯¤È¤â¹½¤¤¤Þ¤»¤ó¡£ ¤É¤Î¤è¤¦¤Ê̾Á°¤Î¥·¥ó¥Ü¥ë¤Ç¤âÊÑ¿ô¤È¤·¤ÆÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ÂåÆþ½èÍý¤ò¹Ô¤ï ¤Ê¤¤¤ÇÊÑ¿ô¤Î»²¾È¤ò¹Ô¤¦¤È¡ÖUnbound Variable¡×¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£ {\dg\bf \ref{3.3.6.4¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É} (\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦¤½¤Î¾¤Î¥­¡¼¥ï¡¼¥É}) \hpref{count=10,label=H0.4.6.4.0.100}¤½¤Î¤Û¤«¤Î¥­¡¼¥ï¡¼¥É} ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤Ï¡¢ ¤«¤Ê´Á»úÊÑ´¹¤Î¥«¥¹¥¿¥Þ¥¤¥º¥­¡¼¥ï¡¼¥É¤È¤·¤Æ¤Î°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£ ¤½¤Î¤è¤¦¤ÊÊÑ¿ô¤ËÃͤòÂåÆþ¤¹¤ëÁàºî¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹½èÍý¤Ë±Æ¶Á¤òÍ¿¤¨¤Þ¤¹¡£ % ------------------------------ 3.3.6.4 \subsection{¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É} \label{3.3.6.4¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É} ¥«¥¹¥¿¥Þ¥¤¥º¤Î¤¿¤á¤Î\HIDX{¥­¡¼¥ï¡¼¥É}{¤­¡¼¤ï¡¼¤È}{H0.4.6.4.0}¤Ï ¤¹¤Ù¤Æ¥·¥ó¥Ü¥ë¤È¤·¤Æ¤Îɽµ­¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ ¤½¤Î¼ÂÂ֤ϴؿô¤Ç¤¢¤Ã¤¿¤êÊÑ¿ô¤Ç¤¢¤Ã¤¿¤ê¤·¤Þ¤¹¡£°Ê²¼¤Ë³µÍפò¼¨¤·¤Þ¤¹¡£ \begin{enumerate} % ------------------------------ (1) \hptar{label=H0.4.6.4.0.1} \item {\dg\bf \HIDX{¼­½ñ¤ÎÍøÍÑ}{¤·¤·¤è¤Î¤ê¤è¤¦} {H0.4.6.4.0.1} $-$ \HIDX{use-dictionary}{£Õ£Ó£Å¡Ý£Ä£É£Ã£Ô£É£Ï£Î£Á£Ò£Ù} {H0.4.6.4.0.1}} \begin{CODEBOX} (use-dictionary "iroha" "fuzokugo") \\ \end{CODEBOX} »ÈÍѤ¹¤ë¼­½ñ¤ò»ØÄꤷ¤Þ¤¹¡£ % misao ¡Ä ʸˡ¼­½ñÄɲà % Éô¼ó¼­½ñ¡¢Ê¸Ë¡¼­½ñ¡¢Ã±¸ìÅÐÏ¿ÍѼ­½ñ¡¢¥«¥¿¥«¥Ê¸ì¼«Æ°ÅÐÏ¿ÍѼ­½ñ¤ò»ØÄꤹ¤ë ¤Ë¤Ï¼­½ñ¤Î ̾Á°¤ÎľÁ°¤Ë \HIDX{:bushu}{¡§£Â£Õ£Ó£È£Õ}{H0.4.6.4.0.1} ¤ä \HIDX{:grammar}{¡§£Ç£Ò£Á£Í£Í£Á£Ò}{H0.4.6.4.0.1}, \HIDX{:user}{¡§£Õ£Ó£Å£Ò}{H0.4.6.4.0.1}, \HIDX{:katakana}{¡§£Ë£Á£Ô£Á£Ë£Á£Î£Á}{H0.4.6.4.0.1} ¤ò Àè¹Ô¤µ¤»¤Þ¤¹¡£ \vspace{5mm} \begin{CODEBOX} (use-dictionary "iroha" "fuzokugo" :bushu "bushu" \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡:katakana "mykatakana"¡¡:grammar "mygram" ) \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡:user "mydic" ) \\ \end{CODEBOX} \begin{nquote}{1em} \begin{namelist}{¡¡} \item[Ãí°Õ] :bushu, :grammar, :user, :katakana ¤Ï¥·¥ó¥Ü¥ë¤Ê¤Î¤Ç ËÜÍè¤Ï ':bushu, ':user ¤Î¤è¤¦¤Ë¡Ö'¡×(¥·¥ó¥°¥ë¥¯¥©¡¼¥È)¤ò¤Ä¤±¤Ê¤±¤ì¤Ð ¤Ê¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ¡Ö:¡×(¥³¥í¥ó)¤«¤é»Ï¤Þ¤ë¥·¥ó¥Ü¥ë(¥­¡¼¥ï¡¼¥É¥·¥ó¥Ü¥ë¤È¤¤¤¤¤Þ¤¹)¤Ë¸Â¤Ã¤Æ¤Ï ÉÔÍפǤ¹¡£ \end{namelist} \end{nquote} ¡Ö (¡×¤È¡Ö) ¡×¤Î´Ö¤ÏŬÅö¤Ë²þ¹Ô¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ \vspace{5mm} \begin{center}\tt \begin{tabular}{|p{20em}|} \hline (use-dictionary \\ "iroha" "fuzokugo" :bushu "bushu" :katakana "mykatakana" :grammar "mygram" :user "mydic") \\ \hline \end{tabular} \end{center} \vspace{5mm} use-dictionary ¤Ë´Ø¤¹¤ëÀâÌÀ¤Ï {\bf\dg \ref{3.3.2»ÈÍѤ¹¤ë¼­½ñ¤Î»ØÄê} \hpref{count=9,label=H0.4.2.0.0}»ÈÍѤ¹¤ë¼­½ñ¤Î»ØÄê} ¤Ë¤â¤¢¤ê¤Þ¤¹ ¤Î¤Ç»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ % ------------------------------ (2) \hptar{label=H0.4.6.4.0.2} \item {\dg\bf \HIDX{¥â¡¼¥Éɽ¼¨¤ÎÊѹ¹}{¤â¡¼¤È¤Ò¤ç¤¦¤·¤Î¤Ø¤ó¤³¤¦} {H0.4.6.4.0.2} $-$ \HIDX{set-mode-display}{£Ó£Å£Ô¡Ý£Í£Ï£Ä£Å¡Ý£Ä£É£Ó£Ð£Ì£Á£Ù} {H0.4.6.4.0.2}} \label{¥«¥¹¥¿¥Þ¥¤¥º¡¦¥â¡¼¥Éɽ¼¨¤ÎÊѹ¹} \begin{CODEBOX} (set-mode-display 'henkan-nyuuryoku-mode "[ÊÑ´¹ÆþÎÏ]") \\ \end{CODEBOX} ÆþÎϥ⡼¥É¤Îɽ¼¨Ê¸»úÎó¤òÊѹ¹¤·¤Þ¤¹¡£ ·ë²Ì¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb+% + \CURSOR \\ {[ÊÑ´¹ÆþÎÏ]} \\ \end{SCREEN} ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤òÊѹ¹¤·¤Ê¤¤¤Ç¡¢Á°¤Î¥â¡¼¥É¤Î¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÈƱ¤¸É½¼¨¤Ë ¤·¤¿¤¤¾ì¹ç¤Ï¡¢Ê¸»úÎó¤ÎÂå¤ï¤ê¤Ë nil ¤òµ­½Ò¤·¤Þ¤¹¡£ »ØÄê¤Ç¤­¤ë¥â¡¼¥É¤òɽ\ref{¥â¡¼¥É°ìÍ÷}¤Ë¼¨¤·¤Þ¤¹¡£ \HIDXAS{¥â¡¼¥É̾}{¤â¡¼¤È¤á¤¤}{H0.4.6.4.0.2.a} \hptar{label=H0.4.6.4.0.2.a} ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É(alpha-mode)¡¦ÊÑ´¹ÆþÎϥ⡼¥É(henkan-nyuuryoku-mode)¤Ç ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ò nil ¤ËÀßÄꤷ¤¿¾ì¹ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï¡¢ ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤¬É½¼¨¤µ¤ì¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¡¢ÊÑ´¹ÆþÎϥ⡼¥É¤Ç¤Ï nil ¤Îµ­½Ò¤Ï Èò¤±¤¿Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ ¤¢¤Þ¤êŤ¤Ê¸»úÎó¤ò»ØÄꤹ¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï ʸ»úÎó¤Î¸åÊý¤¬ÀÚ¤ì¤ÆÉ½¼¨¤µ¤ì¤¿¤ê¡¢ÉÔÀµÆ°ºî¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ %%%%% \newpage %%%%% \HIDXAS{¥â¡¼¥É°ìÍ÷}{¤â¡¼¤È¤¤¤Á¤é¤ó}{H0.4.6.4.0.2.b} {\tt \small \begin{table}[hbtp] \begin{center} \caption{¥â¡¼¥É°ìÍ÷}\label{¥â¡¼¥É°ìÍ÷} \begin{tabular}{|l|c|l|} \hline \multicolumn{1}{|c|}{»Ø¡¡¡¡¡¡¡¡Äê} & \multicolumn{1}{|c|}{¥Ç¥Õ¥©¥ë¥È} & \multicolumn{1}{|c|}{Àâ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÌÀ} \\ \hline \HIDX{alpha-mode}{£Á£Ì£Ð£È£Á¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É \\ \hline \HIDX{henkan-nyuuryoku-mode}{£È£Å£Î£Ë£Á£Î¡Ý£Î£Ù£Õ£Õ£Ò£Ù£Ï£Ë£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [ ¤¢ ] & ÊÑ´¹ÆþÎϥ⡼¥É \\ \hline \HIDX{kigou-mode}{£Ë£É£Ç£Ï£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} \hptar{label=H0.4.6.4.0.2.b} & [µ­¹æ] & µ­¹æ°ìÍ÷ɽ¼¨¾õÂÖ \\ \hline \HIDX{yomi-mode}{£Ù£Õ£Í£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & nil & ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ \\ \hline \HIDX{mojishu-mode}{£Í£Ï£Ê£É£Ó£È£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [»ú¼ï] & ʸ»ú¼ïÊÑ´¹¾õÂÖ \\ \hline \HIDX{tankouho-mode}{£Ô£Á£Î£Ë£Ï£Õ£È£Ï¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [´Á»ú] & ñ¸õÊäɽ¼¨¾õÂÖ \\ \hline \HIDX{ichiran-mode}{£É£Ã£È£É£Ò£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [°ìÍ÷] & ¸õÊä°ìÍ÷ɽ¼¨¾õÂÖ \\ \hline \HIDX{yes-no-mode}{£Ù£Å£Ó¡Ý£Î£Ï¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [¼ÁÌä] & ÍøÍѼԤ˼ÁÌä¤ò¤·¤Æ¤¤¤ë¾õÂÖ \\ \hline \HIDX{on-off-mode}{£Ï£Î¡Ý£Ï£Æ£Æ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & nil & ¼­½ñ¥Þ¥¦¥ó¥È¥¢¥ó¥Þ¥¦¥ó¥È¾õÂÖ¤Ê¤É \\ \hline \HIDX{shinshuku-mode}{£Ó£È£É£Î£Ó£È£Õ£Ë£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [ʸÀá] & ʸÀá¿­½Ì¥â¡¼¥É \\ \hline \HIDX{chikuji-yomi-mode}{£Ã£È£É£Ë£Õ£Ê£É¡Ý£Ù£Ï£Í£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Ã༡] & Ã༡¼«Æ°ÆþÎÏ»þ¤ÎÆÉ¤ßÉôʬ \\ \hline \HIDX{chikuji-bunsetsu-mode}{£Ã£È£É£Ë£Õ£Ê£É¡Ý£Â£Õ£Î£Ó£Å£Ô£Ó£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Ã༡] & Ã༡¼«Æ°ÆþÎÏ»þ¤ÎʸÀáÉôʬ \\ \hline \HIDX{zen-hira-henkan-mode}{£Ú£Å£Î¡Ý£È£É£Ò£Á¡Ý£È£Å£Î£Ë£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Á´¤¢] & Á´³Ñ¤Ò¤é¤¬¤Ê¥â¡¼¥É \\ \hline \HIDX{han-hira-henkan-mode}{£È£Á£Î¡Ý£È£É£Ò£Á¡Ý£È£Å£Î£Ë£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Ⱦ¤¢] & Ⱦ³Ñ¤Ò¤é¤¬¤Ê¥â¡¼¥É \\ \hline \HIDX{zen-kata-henkan-mode}{£Ú£Å£Î¡Ý£Ë£Á£Ô£Á¡Ý£È£Å£Î£Ë£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Á´¥¢] & Á´³Ñ¥«¥¿¥«¥Ê¥â¡¼¥É \\ \hline \HIDX{han-kata-henkan-mode}{£È£Á£Î¡Ý£Ë£Á£Ô£Á¡Ý£È£Å£Î£Ë£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Ⱦ¥¢] & Ⱦ³Ñ¥«¥¿¥«¥Ê¥â¡¼¥É \\ \hline \HIDX{zen-alpha-henkan-mode}{£Ú£Å£Î¡Ý£Á£Ì£Ð£È£Á¡Ý£È£Å£Î£Ë£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Á´±Ñ] & Á´³Ñ±Ñ¿ô¥â¡¼¥É \\ \hline \HIDX{han-alpha-henkan-mode}{£È£Á£Î¡Ý£Á£Ì£Ð£È£Á¡Ý£Ë£Å£Î£Ë£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Ⱦ±Ñ] & Ⱦ³Ñ±Ñ¿ô¥â¡¼¥É \\ \hline \HIDX{zen-hira-kakutei-mode}{£Ú£Å£Î¡Ý£È£É£Ò£Á¡Ý£Ë£Á£Ë£Õ£Ô£Å£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & $<$Á´¤¢$>$ & Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄê¥â¡¼¥É \\ \hline \HIDX{han-hira-kakutei-mode}{£È£Á£Î¡Ý£È£É£Ò£Á¡Ý£Ë£Á£Ë£Õ£Ô£Å£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & $<$Ⱦ¤¢$>$ & Ⱦ³Ñ¤Ò¤é¤¬¤Ê³ÎÄê¥â¡¼¥É \\ \hline \HIDX{zen-kata-kakutei-mode}{£Ú£Å£Î¡Ý£Ë£Á£Ô£Á¡Ý£Ë£Á£Ë£Õ£Ô£Å£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & $<$Á´¥¢$>$ & Á´³Ñ¥«¥¿¥«¥Ê³ÎÄê¥â¡¼¥É \\ \hline \HIDX{han-kata-kakutei-mode}{£È£Á£Î¡Ý£Ë£Á£Ô£Á¡Ý£Ë£Á£Ë£Õ£Ô£Å£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & $<$Ⱦ¥¢$>$ & Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄê¥â¡¼¥É \\ \hline \HIDX{zen-alpha-kakutei-mode}{£Ú£Å£Î¡Ý£Á£Ì£Ð£È£Á¡Ý£Ë£Á£Ë£Õ£Ô£Å£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & $<$Á´±Ñ$>$ & Á´³Ñ±Ñ¿ô³ÎÄê¥â¡¼¥É \\ \hline \HIDX{han-alpha-kakutei-mode}{£È£Á£Î¡Ý£Á£Ì£Ð£È£Á¡Ý£Ë£Á£Ë£Õ£Ô£Å£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & $<$Ⱦ±Ñ$>$ & Ⱦ³Ñ±Ñ¿ô³ÎÄê¥â¡¼¥É \\ \hline \HIDX{hex-mode}{£È£Å£Ø¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [16¿Ê] & ¥³¡¼¥ÉÆþÎϾõÂÖ \\ \hline \HIDX{bushu-mode}{£Â£Õ£Ó£È£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Éô¼ó] & Éô¼óÆþÎϥ⡼¥É \\ \hline \HIDX{extend-mode}{£Å£Ø£Ô£Å£Î£Ä¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [³ÈÄ¥] & ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥â¡¼¥É \\ \hline \HIDX{russian-mode}{£Ò£Õ£Ó£Ó£É£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [~¥í~] & ¥í¥·¥¢Ê¸»ú°ìÍ÷¾õÂÖ \\ \hline \HIDX{greek-mode}{£Ç£Ò£Å£Å£Ë¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [~¥®~] & ¥®¥ê¥·¥ãʸ»ú°ìÍ÷¾õÂÖ \\ \hline \HIDX{line-mode}{£Ì£É£Î£Å¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [·ÓÀþ] & ·ÓÀþ°ìÍ÷¾õÂÖ \\ \hline \HIDX{changing-server-mode}{£Ã£È£Á£Î£Ç£É£Î£Ç¡Ý£Ó£Å£Ò£Ö£Å£Ò¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [Êѹ¹] & ¥µ¡¼¥ÐÊѹ¹¾õÂÖ \\ \hline \HIDX{henkan-method-mode}{£È£Å£Î£Ë£Á£Î¡Ý£Í£Å£Ô£È£Ï£Ä¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [ÊÑ´¹] & ÊÑ´¹ÊýË¡Êѹ¹¾õÂÖ \\ \hline \HIDX{delete-dic-mode}{£Ä£Å£Ì£Å£Ô£Å¡Ý£Ä£É£Ã¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [ºï½ü] & ñ¸ìºï½ü¾õÂÖ \\ \hline \HIDX{touroku-mode}{£Ô£Ï£Õ£Ò£Ï£Ë£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [ÅÐÏ¿] & ñ¸ìÅÐÏ¿¾õÂÖ \\ \hline \HIDX{touroku-hinshi-mode}{£Ô£Ï£Õ£Ò£Ï£Ë£Õ¡Ý£È£É£Î£Ó£È£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [ÉÊ»ì] & ÉÊ»ìÁªÂò¾õÂÖ \\ \hline \HIDX{touroku-dic-mode}{£Ô£Ï£Õ£Ò£Ï£Ë£Õ¡Ý£Ä£É£Ã¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [¼­½ñ] & ¼­½ñÁªÂò¾õÂÖ \\ \hline \HIDX{quoted-insert-mode}{£Ñ£Õ£Ï£Ô£Å£Ä¡Ý£É£Î£Ó£Å£Ò£Ô¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [~£ñ~] & °úÍÑÆþÎϾõÂÖ \\ \hline \HIDX{mount-dic-mode}{£Í£Ï£Õ£Î£Ô¡Ý£Ä£É£Ã¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.2.b} & [¼­½ñ] & ¼­½ñ¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥ÈÁªÂò¾õÂÖ \\ \hline \end{tabular} \end{center} \end{table} } %\vspace{5mm} %\newpage % ------------------------------ (3) \hptar{label=H0.4.6.4.0.3} \item {\dg\bf \HIDX{¥­¡¼¤Î¥Ð¥¤¥ó¥É}{¤­¡¼¤Î¤Ï¤¤¤ó¤È} {H0.4.6.4.0.3} $-$ \HIDX{set-key}{£Ó£Å£Ô¡Ý£Ë£Å£Ù}{H0.4.6.4.0.3}, \HIDX{global-set-key}{£Ç£Ì£Ï£Â£Á£Ì¡Ý£Ó£Å£Ô¡Ý£Ë£Å£Ù}{H0.4.6.4.0.3}} \label{¥«¥¹¥¿¥Þ¥¤¥º¡¦¥­¡¼¤Î¥Ð¥¤¥ó¥É} %\vspace{5mm} \begin{CODEBOX} (set-key '¥â¡¼¥É̾ "¥­¡¼Îó" 'µ¡Ç½Îó) \\ (global-set-key "¥­¡¼Îó" 'µ¡Ç½Îó) \\ \end{CODEBOX} set-key ¤Ç¤Ï¡Ö¥â¡¼¥É̾¡×¤Ç»ØÄꤵ¤ì¤¿¥â¡¼¥É¤ËÂФ·¤Æ¤Î¤ß¥­¡¼¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ global-set-key ¤Ï¤¹¤Ù¤Æ¤Î¥â¡¼¥É¤ËÂФ·¤ÆÆ±Íͤ˥­¡¼¤ò¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ ¥­¡¼Îó¤Ë¤Ï 1 ʸ»ú°Ê¾å¤Îʸ»ú¤òµ­½Ò¤·¤Þ¤¹¡£¥­¡¼¤Ï {\tt "a", "B"} ¤Ê¤É¤È½ñ ¤±¤ë¤Û¤«¡¢¥³¥ó¥È¥í¡¼¥ë¥­¡¼¤Ï {\tt "$\backslash$C-a"} ¤Î¤è¤¦¤Ë {\tt $\backslash$C-} ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£C-x ¤ò²¡¤·¤Æ¤«¤é C-a ¤ò ²¡¤·¤¿¾ì¹ç¤ËÂФ·¤Æ¥­¡¼¤ò³ä¤êÅö¤Æ¤ë¤È¤¤¤¦¤è¤¦¤Ë C-x, C-a ¤È¤¤¤¦¥·¡¼¥±¥ó ¥¹¤òɽ¸½¤¹¤ë¤È¤­¤Ï {\tt "$\backslash$C-x$\backslash$C-a"} ¤Èµ­½Ò¤·¤Þ¤¹¡£ C-\textbackslash ¤òɽ¸½¤¹¤ë¤È¤­¤Ï \texttt{"\textbackslash C-\textbackslash"} ¤Èµ­½Ò¤·¤Þ¤¹¡£ Xfer ¤Ê¤ÉÆÃ¼ì¤Ê¥­¡¼¤Ë´Ø¤·¤Æ¤Ï°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ \HIDXAS{ÆÃ¼ì¥­¡¼}{¤È¤¯¤·¤æ¤­¡¼}{H0.4.6.4.0.3} \vspace{5mm} {\tt \small \begin{center} \begin{tabular}{|l|} \hline \verb+ "\Space" "\Escape" "\Tab" "\Nfer" "\Xfer" "\Backspace" + \\ \verb+ "\Delete" "\Insert" "\Rollup" "\Rolldown" "\Up" "\Left" + \\ \verb+ "\Right" "\Down" "\Home" "\Clear" "\Help" "\Enter" + \\ \verb+ "\Return" "\End" "\F1" "\F2" "\F3" "\F4" + \\ \verb+ "\F5" "\F6" "\F7" "\F8" "\F9" "\F10" + \\ \verb+ "\Pf1" "\Pf2" "\Pf3" "\Pf4" "\Pf5" "\Pf6" + \\ \verb+ "\Pf7" "\Pf8" "\Pf9" "\Pf10" "\S-Nfer" "\S-Xfer" + \\ \verb+ "\S-Up" "\S-Down" "\S-Left" "\S-Right" "\C-Nfer" "\C-Xfer" + \\ \verb+ "\C-Up" "\C-Down" "\C-Left" "\C-Right" "\Hiragana" "\Katakana" + \\ \verb+ "\Eisu" "\Hankakuzenkaku" + \\ \hline \end{tabular} \end{center} } \vspace{5mm} µ¡Ç½Îó¤Ë¤Ï¡¢Ã±°ì¤Îµ¡Ç½¤òµ­½Ò¤¹¤ë¤«Ê£¿ô¤Îµ¡Ç½¤ò¡Ö (¡×¤È¡Ö) ¡×¤Ç°Ï¤ó¤Ç»Ø Äꤷ¤Þ¤¹¡£Ê£¿ô¤Îµ¡Ç½¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢»ØÄꤷ¤¿µ¡Ç½¤¬»ØÄꤷ¤¿½ç¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ »ØÄê¤Ç¤­¤ëµ¡Ç½Ì¾¤Î°ìÍ÷¤Ï {\dg\bf ÉÕÏ¿\ref{C¥«¥¹¥¿¥Þ¥¤¥º¤ËÍѤ¤¤ëµ¡Ç½Ì¾°ìÍ÷ɽ} \hpref{count=16,label=H0.C.0.0.0}¥«¥¹¥¿¥Þ¥¤¥º¤ËÍѤ¤¤ëµ¡Ç½Ì¾°ìÍ÷ɽ} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ set-key, global-set-key ¤Ë¤Ä¤¤¤Æ¤Ï¡¢{\dg\bf\ref{3.3.5¥­¡¼Áàºî¤Î¥«¥¹¥¿¥Þ ¥¤¥º} \hpref{count=11,label=H0.4.5.0.0}¥­¡¼Áàºî¤Î¥«¥¹¥¿¥Þ¥¤¥º} ¤Ë¤â µ­½Ò¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ % ------------------------------ (4) \hptar{label=H0.4.6.4.0.4} \item {\bf\dg \HIDX{¥­¡¼¤Èµ¡Ç½¤Î¥¢¥ó¥Ð¥¤¥ó¥É}{¤­¡¼¤È¤­¤Î¤¦¤Î¤¢¤ó¤Ï¤¤¤ó¤È} {H0.4.6.4.0.4} $-$ \HIDX{unbind-key-function} {£Õ£Î£Â£É£Î£Ä¡Ý£Ë£Å£Ù¡Ý£Æ£Õ£Î£Ã£Ô£É£Ï£Î}{H0.4.6.4.0.4}, \HIDX{global-unbind-key-function} {£Ç£Ì£Ï£Â£Á£Ì¡Ý£Õ£Î£Â£É£Î£Ä¡Ý£Ë£Å£Ù¡Ý£Æ£Õ£Î£Ã£Ô£É£Ï£Î}{H0.4.6.4.0.4}} %\vspace{5mm} \begin{CODEBOX} (unbind-key-function '¥â¡¼¥É̾ 'µ¡Ç½Ì¾) \\ (global-unbind-key-function 'µ¡Ç½Ì¾) \\ \end{CODEBOX} unbind-key-function ¤Ç¤Ï ¡Ö¥â¡¼¥É̾¡×¤Ç»ØÄꤵ¤ì¤¿¥â¡¼¥É¤ËÂФ·¤Æ¤Î¤ß¥­¡¼¤ò¥¢¥ó¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ global-unbind-key-function ¤Ç¤Ï¤¹¤Ù¤Æ¤Î¥â¡¼¥É¤ËÂФ·¤Æ¥­¡¼¤ò¥¢¥ó¥Ð¥¤¥ó¥É¤·¤Þ¤¹¡£ µ¡Ç½Ì¾¤Ë¤Ïµ¡Ç½¥ê¥¹¥È¤òµ­½Ò¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ % ------------------------------ (5) \hptar{label=H0.4.6.4.0.5} \item {\dg\bf \HIDX{¥â¡¼¥ÉÄêµÁ}{¤â¡¼¤È¤Æ¤¤¤­}{H0.4.6.4.0.5} $-$ \HIDX{defmode}{£Ä£Å£Æ£Í£Ï£Ä£Å}{H0.4.6.4.0.5}} \label{¥«¥¹¥¿¥Þ¥¤¥º¡¦¥â¡¼¥ÉÄêµÁ} %\vspace{5mm} \begin{CODEBOX} (defmode ¥â¡¼¥É¥·¥ó¥Ü¥ë "¥â¡¼¥Éɽ¼¨" "¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë" \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'(µ¡Ç½¥ê¥¹¥È) µ­¹æÍøÍѥե饰)\\ \end{CODEBOX} ¿·¤·¤¤¥â¡¼¥É¤òÄêµÁ¤·¤Þ¤¹¡£ ¿·¤·¤¤¥â¡¼¥É¤Ç¤Ï¡¢¥­¡¼¥Ð¥¤¥ó¥ÉÍѤΤ½¤Î¥â¡¼¥ÉÆÈ¼«¤Î¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë¤ÈÆÈ ¼«¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÈÆÈ¼«¤Î¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤Ê¤É¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£ ¥â¡¼¥É¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢¤½¤Î¥â¡¼¥É¤ò»²¾È¤¹¤ë¤È¤­¤Î¤¿¤á¤Î¥·¥ó¥Ü¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ °Ê²¼¤½¤Î¥â¡¼¥É¤ò»²¾È¤¹¤ë¤È¤­¤Ë¤Ï¤³¤Î¥â¡¼¥É¥·¥ó¥Ü¥ë¤Ç»²¾È¤µ¤ì¤Þ¤¹¡£¥â¡¼¥É ¥·¥ó¥Ü¥ë¤Ïɾ²Á¤µ¤ì¤ºÍѤ¤¤é¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡Ö'¡×¤ò¤Ä¤±¤ëɬÍפϤ¢¤ê¤Þ ¤»¤ó¡£¥â¡¼¥É¥·¥ó¥Ü¥ë¤Ïɬ¤º»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¥·¥ó¥Ü¥ë¤Ï¼¡¤Î¤è¤¦¤ËÍøÍѤǤ­¤Þ¤¹¡£ \begin{enumerate} % ------------------------------ (a) \item ¡Ö¤½¤Î¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë¡×¤È¤¤¤¦µ¡Ç½¤òɽ¤¹µ¡Ç½Ì¾ \begin{CODEBOX} (Îã) \\ ¡¡¡¡(set-key 'henkan-nyuuryoku-mode "\verb!\!C-t" \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'ÄêµÁ¤µ¤ì¤¿¥·¥ó¥Ü¥ë) \\ \end{CODEBOX} % ------------------------------- (b) \item ¤½¤Î¥â¡¼¥É¤Ç¤Î¤ß¥­¡¼¤ò³ä¤êÅö¤Æ¤¿¤ê¡¢¤½¤Î¥â¡¼¥É¤ËÂбþ¤¹¤ë¥â¡¼¥Éʸ»úÎó¤òÀßÄꤷ¤¿¤ê¤¹¤ë¤È¤­¤Î¥â¡¼¥É̾ \end{enumerate} \begin{CODEBOX} (Îã) \\ ¡¡¡¡(set-mode-display 'ÄêµÁ¤µ¤ì¤¿¥·¥ó¥Ü¥ë \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡"[¿·¥â¡¼¥É]") \\ ¡¡¡¡(set-key 'ÄêµÁ¤µ¤ì¤¿¥·¥ó¥Ü¥ë \\ ¡¡¡¡¡¡¡¡¡¡¡¡"\verb!\!C-t" 'henkan-nyuuryoku-mode) \\ \end{CODEBOX} ¥â¡¼¥É¥·¥ó¥Ü¥ë°Ê³°¤Î°ú¿ô¤Ï¾Êά²Äǽ¤Ç¤¹¡£ ¾Êά¤·¤¿¾ì¹ç¤Ï nil ¤¬»ØÄꤵ¤ì¤¿¤Î¤ÈƱ¤¸½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ µ¡Ç½¥ê¥¹¥È¤Ë¤Ï¡¢katakana, hiragana, romaji, kakutei, zenkaku, hankaku ¤Ê¤É¤¬ »ØÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ëȼ¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ëµ¡Ç½¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ ºÇ¸å¤Î°ú¿ô¡Öµ­¹æÍøÍѥե饰¡×¤Ë¤Ï¡¢ defsymbol¤Ë¤è¤ëÀßÄê¤ò defmode ¤ÇºîÀ®¤·¤¿¥â¡¼¥É¤Ç»ÈÍѤ¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹ (defsymbol ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ {\dg\bf (\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦µ­¹æÄêµÁ}) \hpref{count=4,label=H0.4.6.4.0.6}µ­¹æÄêµÁ} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£ \begin{CODEBOX} (Îã) \\ ¡¡¡¡;¥«¥¿¥«¥ÊÆþÎϥ⡼¥É¤òÄêµÁ¤·¤Þ¤¹¡£ \\ ¡¡¡¡(defmode katakana-mode "[¥«¥¿]" romkana-table \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'(katakana) t) \\ ¡¡¡¡;C-k¤Ç¥È¥°¥ë¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ \\ ¡¡¡¡(set-key 'henkan-nyuuryoku-mode "\verb!\!C-k" \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'katakana-mode) \\ ¡¡¡¡(set-key 'katakana-mode "\verb!\!C-k" \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'henkan-nyuuryoku-mode) \\ ¡¡¡¡;¥«¥ÊÆþÎϥ⡼¥É(µ¿»÷Ū¤Ê)¤òÄêµÁ¤·¤Þ¤¹¡£ \\ ¡¡¡¡(defmode kana-input-mode "[¥«¥Ê]" "kana.cbp") \\ ¡¡¡¡;C-r¤Ç¥È¥°¥ë¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ \\ ¡¡¡¡(set-key 'henkan-nyuuryoku-mode "\verb!\!C-r" \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'kana-input-mode) \\ ¡¡¡¡(set-key 'kana-input-mode "\verb!\!C-r" \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡'henkan-nyuuryoku-mode) \\ \end{CODEBOX} % ------------------------------ (6) \hptar{label=H0.4.6.4.0.6} \item {\dg\bf \HIDX{µ­¹æÄêµÁ}{¤­¤³¤¦¤Æ¤¤¤­}{H0.4.6.4.0.6} $-$ \HIDX{defsymbol}{£Ä£Å£Æ£Ó£Ù£Í£Â£Ï£Ì}{H0.4.6.4.0.6}} \label{¥«¥¹¥¿¥Þ¥¤¥º¡¦µ­¹æÄêµÁ} \begin{CODEBOX} (defsymbol ?[ "¡Ö" "¡Ø" ) \\ \end{CODEBOX} defsymbol ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÊ亴¤¹¤ëµ¬Â§¤òµ­½Ò¤·¤Þ¤¹¡£ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤Ë¤ª¤¤¤Æ¤ÏÆþÎϤΥ­¡¼¤ÈÊÑ´¹¤µ¤ì¤ë ¡Ö¤«¤Ê¡×¤È¤Îµ¬Â§¤¬ 1 ÂÐ 1 ¤Ç¤·¤«Âбþ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢ defsymbol ¤ÇÄêµÁ¤µ¤ì¤ëµ¬Â§¤Ç¤Ï 1 ¤Ä¤Î¥­¡¼¤ËÂФ·¤Æ ¤¤¤¯¤Ä¤â¤Î¸õÊä¤òÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¾å¤ÎÎã¤Ï {\tt"¡Î "} ¤ËÂФ·¤Æ {\tt"¡Ö "} ¤« {\tt"¡Ø "} ¤ËÊÑ´¹¤»¤è ¤È¤¤¤¦¥ë¡¼¥ë¤òµ­½Ò¤·¤¿Îã¤Ç¤¹¡£ ¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢Ä̾ï¤Ï {\tt"¡Î "} ¤ËÂФ·¤Æ {\tt"¡Ö "} ¤¬ ÆþÎϤµ¤ì¤Þ¤¹¤¬¡¢{\tt"¡Î "} ¤À¤±¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ¤Ç ÊÑ´¹¥­¡¼¤òÂǤĤ³¤È¤Ë¤è¤ê {\tt"¡Î "} ¤ò {\tt"¡Ø "} ¤Ë ÊÑ´¹¤¹¤ë¤è¤¦¤ËÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Ò¤È¤¿¤ÓÀÚ¤êÂØ¤¨¤é¤ì¤ë¤È¡¢ ¼¡¤«¤é¤Ï {\tt"¡Ø "} ¤¬¹±¾ïŪ¤ËÆþÎϤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ defsymbol ¤ÏÊ£¿ôÎóµ­½Ò¤ò¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÀÚ¤êÂØ¤¨¤ò¥ê¥ó¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{CODEBOX} (Îã) \\ \verb!¡¡¡¡(defsymbol ?[ "¡Ö" "¡Ø "! \\ \verb!¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡?] "¡×" "¡Ù " )! \\ \end{CODEBOX} ¤³¤Î¤è¤¦¤ËÄêµÁ¤¹¤ë¤³¤È¤Ë¤è¤ê {\tt"¡Î"} ¤¬ {\tt"¡Ø"} ¤ËÀÚ¤êÂØ¤ï¤ë¤È¡¢¼«Æ°Åª¤Ë {\tt"¡Ï"} ¤â {\tt" ¡Ù"} ¤ËÀÚ¤êÂØ¤ï¤ê¤Þ¤¹¡£ defsymbol ¤Ç¤Ï¡¢ÆþÎÏ¥­¡¼¤ËÂФ·¤ÆÂ¾¤Î¥­¡¼¤¬ÆþÎϤµ¤ì¤¿¤è¤¦¤Ë¿¶Éñ¤ï¤»¤ë¤³ ¤È¤â¤Ç¤­¤Þ¤¹¡£ \begin{CODEBOX} (Îã) F1 ¤ò²¡¤·¤¿¤éÁ´³Ñ¥¹¥Ú¡¼¥¹¤òÆþÎϤ¹¤ë¡£¤½¤Î»þÆþÎÏ¥­¡¼¤Ï¤¢¤¿¤«¤â ¥¹¥Ú¡¼¥¹¥­¡¼¤Ç¤¢¤Ã¤¿¤«¤Î¤è¤¦¤Ë¤¹¤ë¡£\\ \verb! (defsymbol ?\F1 ?\Space "¡¡")! \\ \end{CODEBOX} % ------------------------------ (7) \hptar{label=H0.4.6.4.0.7} \item {\dg\bf \HIDX{¥á¥Ë¥å¡¼¤ÎÄêµÁ}{¤á¤Ë¤æ¡¼¤Î¤Æ¤¤¤­}{H0.4.6.4.0.7} $-$ \HIDX{defmenu}{£Ä£Å£Æ£Í£Å£Î£Õ}{H0.4.6.4.0.7}} \begin{CODEBOX} (defmenu ¥á¥Ë¥å¡¼Ì¾ \\ ¡¡¡¡("ɽ¼¨Ê¸»úÎó1" µ¡Ç½¥·¥ó¥Ü¥ë1) \\ ¡¡¡¡("ɽ¼¨Ê¸»úÎó2" µ¡Ç½¥·¥ó¥Ü¥ë2) \\ ¡¡¡¡¡¡¡¡¡¡¡§\\ ) \\ \end{CODEBOX} ¿·¤·¤¤¥á¥Ë¥å¡¼¤òÄêµÁ¤·¤Þ¤¹¡£ ¥á¥Ë¥å¡¼Ì¾¤Ë»ØÄꤷ¤¿Ì¾Á°¤Ï¡¢¤½¤Î¥á¥Ë¥å¡¼¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Îµ¡Ç½Ì¾¤È¤·¤Æ»È ¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤È¤È¤â¤Ë¡¢set-mode-display ¤Ç¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤òÊѹ¹¤¹¤ë ¤È¤­¤Î¥â¡¼¥É̾¤È¤·¤Æ¤â»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£set-mode-display ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ {\dg\bf (\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦¥â¡¼¥Éɽ¼¨¤ÎÊѹ¹}) \hpref{count=8,label=H0.4.6.4.0.2}¥â¡¼¥Éɽ¼¨¤ÎÊѹ¹} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ɽ¼¨Ê¸»úÎó¤Ë¤Ï¡¢¤½¤Î¥á¥Ë¥å¡¼¤Î°ìÍ÷ɽ¼¨¤Çɽ¼¨¤µ¤ì¤ë¸õÊä̾¤ò»ØÄꤷ¤Þ¤¹¡£ µ¡Ç½¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢É½\ref{¥á¥Ë¥å¡¼}¤Ë¼¨¤¹µ¡Ç½Ì¾¡¢¤Þ¤¿¤Ï defselection ¤ÇÄêµÁ¤·¤¿ µ¡Ç½¥·¥ó¥Ü¥ë¤ò»ØÄꤷ¤Þ¤¹¡£defselection ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ {\dg\bf (\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦Ê¸»ú°ìÍ÷¤ÎºîÀ®}) \hpref{count=7,label=H0.4.6.4.0.8}ʸ»ú°ìÍ÷¤ÎºîÀ®} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢µ¡Ç½¥·¥ó¥Ü¥ë¤Ë¡¢Ê̤Πdefmenu ¤ÇÄêµÁ¤µ¤ì¤¿¥á¥Ë¥å¡¼Ì¾¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê ¥á¥Ë¥å¡¼¥Ä¥ê¡¼¤ò¹½À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ \begin{table}[hbtp] \begin{center} \caption{\dg\bf ¥á¥Ë¥å¡¼¤Ë»ØÄê¤Ç¤­¤ëµ¡Ç½Ì¾°ìÍ÷}\label{¥á¥Ë¥å¡¼} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{µ¡ ǽ ̾} & \multicolumn{1}{|c|}{µ¡¡¡¡¡¡¡¡¡¡¡¡¡Ç½} \\ \hline \HIDX{kigou-mode}{£Ë£É£Ç£Ï£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} \hptar{label=H0.4.6.4.0.7.a} & µ­¹æÁ´È̤ΰìÍ÷¥â¡¼¥É¤Ë¤Ê¤ë\\ \hline \HIDX{russian-mode}{£Ò£Õ£Ó£Ó£É£Á£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & ¥í¥·¥¢Ê¸»ú°ìÍ÷¥â¡¼¥É¤Ë¤Ê¤ë\\ \hline \HIDX{greek-mode}{£Ç£Ò£Å£Å£Ë¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & ¥®¥ê¥·¥ãʸ»ú°ìÍ÷¥â¡¼¥É¤Ë¤Ê¤ë\\ \hline \HIDX{line-mode}{£Ì£É£Î£Å¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & ·ÓÀþ°ìÍ÷¥â¡¼¥É¤Ë¤Ê¤ë\\ \hline \HIDX{hex-mode}{£È£Å£Ø¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & 16 ¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ë¤Ê¤ë\\ \hline \HIDX{bushu-mode}{£Â£Õ£Ó£È£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & Éô¼óÆþÎϥ⡼¥É¤Ë¤Ê¤ë\\ \hline \HIDX{touroku-mode}{£Ô£Ï£Õ£Ò£Ï£Ë£Õ¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & ñ¸ìÅÐÏ¿¥â¡¼¥É¤Ë¤Ê¤ë\\ \hline \HIDX{delete-dic-mode}{£Ä£Å£Ì£Å£Ô£Å¡Ý£Ä£É£Ã¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & ñ¸ìºï½ü¥â¡¼¥É¤Ë¤Ê¤ë\\ \hline \HIDX{jisho-ichiran}{£Ê£É£Ó£È£Ï¡Ý£É£Ã£È£É£Ò£Á£Î}{H0.4.6.4.0.7.a} & ¼­½ñ¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È¤ò¹Ô¤¦\\ \hline \HIDX{chikuji-mode}{£Ã£È£É£Ë£Õ£Ê£É¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & Ã༡¼«Æ°ÊÑ´¹¤ËÀÚ¤êÂØ¤¨¤ë\\ \hline \HIDX{renbun-mode}{£Ò£Å£Î£Â£Õ£Î¡Ý£Í£Ï£Ä£Å}{H0.4.6.4.0.7.a} & ϢʸÀáÊÑ´¹¤ËÀÚ¤êÂØ¤¨¤ë\\ \hline \HIDX{disconnect-server}{£Ä£É£Ó£Ã£Ï£Î£Î£Å£Ã£Ô¡Ý£Ó£Å£Ò£Ö£Å£Ò}{H0.4.6.4.0.7.a} & ¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ë\\ \hline \HIDX{switch-server}{£Ó£×£É£Ô£Ã£È¡Ý£Ó£Å£Ò£Ö£Å£Ò}{H0.4.6.4.0.7.a} & ¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨¤ò¹Ô¤¦\\ \hline \HIDX{show-server-name}{£Ó£È£Ï£×¡Ý£Ó£Å£Ò£Ö£Å£Ò¡Ý£Î£Á£Í£Å}{H0.4.6.4.0.7.a} & ¥µ¡¼¥Ð̾¤òɽ¼¨¤¹¤ë\\ \hline \HIDX{show-gakushu}{£Ó£È£Ï£×¡Ý£Ç£Á£Ë£Õ£Ó£È£Õ}{H0.4.6.4.0.7.a} & ³Ø½¬¾õÂÖ¤òɽ¼¨¤¹¤ë\\ \hline \HIDX{show-canna-version}{£Ó£È£Ï£×¡Ý£Ã£Á£Î£Î£Á¡Ý£Ö£Å£Ò£Ó£É£Ï£Î}{H0.4.6.4.0.7.a} & ¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë\\ \hline \HIDX{show-romkana-table}{£Ó£È£Ï£×¡Ý£Ò£Ï£Í£Ë£Á£Î£Á¡Ý£Ô£Á£Â£Ì£Å}{H0.4.6.4.0.7.a} & ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë̾¤òɽ¼¨¤¹¤ë\\ \hline \HIDX{show-canna-file}{£Ó£È£Ï£×¡Ý£Ã£Á£Î£Î£Á¡Ý£Æ£É£Ì£Å}{H0.4.6.4.0.7.a} & ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë̾¤òɽ¼¨¤¹¤ë\\ \hline \HIDX{sync-dictionary}{£Ó£Ù£Î£Ã¡Ý£Ä£É£Ã£Ô£É£Ï£Î£Á£Ò£Ù}{H0.4.6.4.0.7.a} & ¼­½ñ¤Ë½ñ¤­¹þ¤à\\ \hline \end{tabular} \end{center} \end{table} defmenu ¤ÇÄêµÁ¤·¤¿¥á¥Ë¥å¡¼Ì¾¤òµ¡Ç½Ì¾¤È¤·¤Æ»ÈÍѤ·¡¢set-key ¤Ê¤É¤Ç¥­¡¼¤ò ¥Ð¥¤¥ó¥É¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¼«Ê¬¤ÇºîÀ®¤·¤¿¥á¥Ë¥å¡¼¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è ¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£set-key ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ {\dg\bf (\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦¥­¡¼¤Î¥Ð¥¤¥ó¥É}) \hpref{count=7,label=H0.4.6.4.0.3}¥­¡¼¤Î¥Ð¥¤¥ó¥É} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \vspace{5mm} \newpage \begin{Verbatim}[frame=single] (Îã) ; ¥á¥Ë¥å¡¼¥Ä¥ê¡¼¤ò¹½À®¤¹¤ë ; topmenu ¤ÎÄêµÁ (defmenu topmenu ("µ­¹æ°ìÍ÷" kigou-mode) ; µ¡Ç½ kigou-mode ¤ò¼Â¹Ô¤¹¤ë ("ÅÐÏ¿" menu1) ; menu1 ¤Ø ) ; menu1 ¤ÎÄêµÁ (defmenu menu1 ("ÅÐÏ¿" touroku-mode) ; µ¡Ç½ touroku-mode ¤ò¼Â¹Ô¤¹¤ë ("ºï½ü" delete-dic-mode) ; µ¡Ç½ delete-dic-mode ¤ò¼Â¹Ô¤¹¤ë ("¼­½ñ°ìÍ÷" jisho-ichiran) ; µ¡Ç½ jisho-ichiran ¤ò¼Â¹Ô¤¹¤ë ) (set-key 'empty-mode "\Help" 'topmenu) \end{Verbatim} \vspace{5mm} ¥á¥Ë¥å¡¼¥Ä¥ê¡¼¤ò¹½À®¤¹¤ëºÝ¡¢¥«¥¹¥¿¥Þ¥¤¥º¤Î½çÈÖ¤ÏǤ°Õ¤Ç¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢¾åµ­¤ÎÎã¤Î¤è¤¦¤Ë \verb+ (defmenu menu1 ¡Ä ) + ¤òÀßÄꤹ¤ë¤è¤ê ¤âÁ°¤Ë \verb+ (defmenu topmenu ¡Ä ) + ¤ÎÃæ¤Ç menu1 ¤ò»ØÄꤹ¤ë¤³¤È ¤¬²Äǽ¤Ç¤¹¡£¤¿¤À¤·¡¢ºÆµ¢Åª¤Ë¥á¥Ë¥å¡¼¤òÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥á¥Ë¥å¡¼¤ÎÀßÄê¤Ë¥¨¥é¡¼¤¬Â¸ºß¤·¤¿¾ì¹ç¡¢ ¤½¤Î¥á¥Ë¥å¡¼¤òÁªÂò¤·¤¿¤È¤­¡¢ ¥¬¥¤¥É¥é¥¤¥ó¤Ë "¤³¤Î¹àÌܤÏÀµ¤·¤¯ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" ¤Èɽ¼¨¤·¤Æ¡¢ empty ¥â¡¼¥É¤ËÌá¤ê¤Þ¤¹¡£ % misao ¡Ä defselectin ¤ÎÄɲà % % ------------------------------ (8) \hptar{label=H0.4.6.4.0.8} \item {\dg\bf \HIDX{ʸ»ú°ìÍ÷¤ÎºîÀ®}{¤â¤·¤¤¤Á¤é¤ó¤Î¤µ¤¯¤»¤¤}{H0.4.6.4.0.8} $-$ \HIDX{defselection}{£Ä£Å£Æ£Ó£Å£Ì£Å£Ã£Ô£É£Ï£Î}{H0.4.6.4.0.8}} \label{¥«¥¹¥¿¥Þ¥¤¥º¡¦Ê¸»ú°ìÍ÷¤ÎºîÀ®} \begin{CODEBOX} (defselection µ¡Ç½¥·¥ó¥Ü¥ë "ɽ¼¨Ê¸»úÎó" '(ʸ»ú°ìÍ÷)) \\ \end{CODEBOX} ʸ»ú°ìÍ÷¤òºîÀ®¤·¤Þ¤¹¡£ µ¡Ç½¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢¤½¤Îµ¡Ç½¤ò»²¾È¤¹¤ë¤È¤­¤Î¤¿¤á¤Î¥·¥ó¥Ü¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ °Ê²¼¤½¤Îµ¡Ç½¤ò»²¾È¤¹¤ë¤È¤­¤Ë¤Ï¡¢¤³¤Îµ¡Ç½¥·¥ó¥Ü¥ë¤Ç»²¾È¤µ¤ì¤Þ¤¹¡£ ɽ¼¨Ê¸»úÎó¤Ë¤Ï¡¢¤½¤Îµ¡Ç½¤Ë°Ü¹Ô¤·¤¿¤È¤­¤Ë¥¬¥¤¥É¥é¥¤¥ó¤Ëɽ¼¨¤¹¤ë ʸ»úÎó¤ò»ØÄꤷ¤Þ¤¹¡£É½¼¨Ê¸»úÎó¤Ï¾Êά¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¾Êά¤¹¤ë¾ì¹ç¤Ï¡¢É½¼¨Ê¸»úÎó¤Ë nil ¤ò»ØÄꤷ¤Þ¤¹¡£ ¾Êά»þ¤Ï¡¢Ê¸»úÎó°ìÍ÷¤òɽ¼¨¤¹¤ëľÁ°¤Îɽ¼¨Ê¸»úÎó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ʸ»ú°ìÍ÷¤Ë¤Ï¡¢É½¼¨¤·¤¿¤¤°ìÍ÷¤òµ­½Ò¤·¤Þ¤¹¡£ ʸ»ú°ìÍ÷¤Î»ØÄêÊýË¡¤Ï¼¡¤Î 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ \begin{nquote}{3em} \begin{enumerate} \item \label{string} ³ÆÍ×ÁǤòʸ»úÎó¤È¤·¤Æ»ØÄꤹ¤ë (¥À¥Ö¥ë¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó¤Ç°Ï¤à)¡£ \item \label{character} ³ÆÍ×ÁǤòʸ»ú¤È¤·¤Æ»ØÄꤹ¤ë (Í×ÁǤÎÁ°¤Ë¥¯¥¨¥¹¥Á¥ç¥ó¥Þ¡¼¥¯¤ò¤Ä¤±¤ë)¡£ \end{enumerate} \end{nquote} (\ref{string}) ¤Î¾ì¹ç¤Ï¡¢³ÆÍ×ÁǤò¤¹¤Ù¤Æ»ØÄꤷ¤Þ¤¹¡£ %\begin{CODEBOX} \vspace{5mm} \begin{center}\tt \begin{tabular}{|p{14cm}|} \hline (Îã1) 1 ʸ»ú¤º¤Äɽ¼¨¤¹¤ë¾ì¹ç \\ ¡¡¡¡;ʸ»ú°ìÍ÷ kakko ¤ÎÄêµÁ \\ ¡¡¡¡(defselection kakko "[³ç¸Ì]" \\ ¡¡¡¡¡¡'("¡Ê" "¡Ë" "¡Ì" "¡Í" "¡Î" "¡Ï" "¡Ð" "¡Ñ")) \\ (Îã2) 2 ʸ»ú¤º¤Äɽ¼¨¤¹¤ë¾ì¹ç \\ ¡¡¡¡;ʸ»ú°ìÍ÷ kakko ¤ÎÄêµÁ \\ ¡¡¡¡(defselection kakko "[³ç¸Ì]" '("¡Ê¡Ë" "¡Ì¡Í" "¡Î¡Ï" "¡Ð¡Ñ")) \\ \hline \end{tabular} \end{center} \vspace{5mm} %\end{CODEBOX} (\ref{character}) ¤Î¾ì¹ç¤Ï¡¢Ê¸»ú°ìÍ÷¤ÎÍ×ÁǤò¤¹¤Ù¤Æµ­½Ò¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ ÈϰϻØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢ÈÏ°Ï¤Ï EUC ¥³¡¼¥É¤Î¥³¡¼¥ÉÈÖ¹æ¤Î ¾º½ç¤Ë»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ %\begin{CODEBOX} \vspace{5mm} \begin{center}\tt \begin{tabular}{|p{14cm}|} \hline (Îã3) Í×ÁǤò¤¹¤Ù¤Æ»ØÄꤹ¤ë¾ì¹ç \\ ¡¡¡¡;ʸ»ú°ìÍ÷ keisan ¤ÎÄêµÁ \\ ¡¡¡¡(defselection keisan "[·×»»]" \\ ¡¡¡¡¡¡'(?¡Ü ?¡Ý ?¡Þ ?¡ß ?¡à ?¡á ?¡â ?¡ã ?¡ä ?¡å ?¡æ ?¡ç ?¡è)) \\ (Îã4) Í×ÁǤòÈϰϻØÄꤹ¤ë¾ì¹ç \\ ¡¡¡¡;ʸ»ú°ìÍ÷ keisan ¤ÎÄêµÁ \\ ¡¡¡¡(defselection keisan "[·×»»]" '(?¡Ü - ?¡è)) \\ \hline \end{tabular} \end{center} \vspace{5mm} %\end{CODEBOX} ¤µ¤é¤Ë¡¢(Îã1) ¡Á (Îã4) ¤Þ¤Ç¤Î»ØÄê¤ò¹ç¤ï¤»¤Æ»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ \vspace{5mm} \begin{center}\tt \begin{tabular}{|p{14cm}|} \hline (Îã5) ¤¤¤í¤¤¤í¤ÊÊýË¡¤ò¹ç¤ï¤»¤Æ»ØÄꤹ¤ë \\ ¡¡¡¡;Éô¼ó "¤®¤ç¤¦¤Ë¤ó¤Ù¤ó" ¤ÎÄêµÁ \\ ¡¡¡¡(defselection gyou "[¤®¤ç¤¦¤Ë¤ó¤Ù¤ó]" \\ ¡¡¡¡¡¡("µ«" ?ׯ - ?×Õ ?êÊ - ?êÍ ?òý ?óà)) \\ \hline \end{tabular} \end{center} \vspace{5mm} % ------------------------------ (9) \hptar{label=H0.4.6.4.0.9} \item {\dg\bf \HIDX{½é´ü¾õÂÖ¤ÎÀßÄê}{¤·¤è¤­¤·¤è¤¦¤¿¤¤¤Î¤»¤Ä¤Æ¤¤} {H0.4.6.4.0.9} $-$ \HIDX{initialize-function}{£É£Î£É£Ô£É£Á£Ì£É£Ú£Å¡Ý£Æ £Õ£Î£Ã£Ô£É£Ï£Î}{H0.4.6.4.0.9}} \begin{CODEBOX} (initialize-function '(½é´ü¾õÂÖÀßÄꥷ¡¼¥±¥ó¥¹))\\ \end{CODEBOX} initialize-function ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬µ¯Æ°¤·¤¿¤È¤­¤Î¤«¤Ê´Á»úÊÑ´¹¤Î¾õÂÖ¤ò »ØÄꤷ¤Þ¤¹¡£ ½é´ü¾õÂÖÀßÄꥷ¡¼¥±¥ó¥¹¤ÎÉôʬ¤Ë¤Ïµ¡Ç½Ì¾¤òµ­½Ò¤·¤Þ¤¹¡£ Ê£¿ô¤Îµ¡Ç½Ì¾¤ò»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Îµ¯Æ°»þ¤ËÆüËܸìÆþÎϥ⡼¥É¤Ç¤¢¤Ã¤Æ ¤Û¤·¤¤¾ì¹ç¤Ï¡¢ \begin{CODEBOX} (initialize-function '(japanese-mode)) \\ \end{CODEBOX} ¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ µ¯Æ°»þ¤Ë¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤Ç¤¢¤Ã¤Æ¤Û¤·¤¤¤¬¡¢\XFER ¤ÇÆüËܸìÆþÎϥ⡼¥É¤Ë °Ü¹Ô¤·¤¿¤È¤­¤Ë¥«¥¿¥«¥Ê¥Ù¡¼¥¹¤Î¥â¡¼¥É¤Ç¤¢¤Ã¤Æ¤Û¤·¤¤¾ì¹ç¤Ï¼¡¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ \begin{CODEBOX} (initialize-function '(japanese-mode base-katakana \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ alpha-mode)) \\ \end{CODEBOX} % ------------------------------ (10) \hptar{label=H0.4.6.4.0.10} \item {\dg\bf ¤Û¤«¤Î\HIDX{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß}{¤«¤¹¤¿¤Þ¤¤¤¹¤Õ¤¢ ¤¤¤ë¤Î¤è¤ß¤³¤ß}{H0.4.6.4.0.10} $-$ \HIDX{load}{£Ì£Ï£Á£Ä}{H0.4.6.4.0.10}} \vspace{5mm} \begin{CODEBOX} (load "¥Õ¥¡¥¤¥ë̾") \\ \end{CODEBOX} .canna ¤«¤é¤Û¤«¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë̾ ¤ÏÀäÂХѥ¹Ì¾¤Ç½ñ¤¯¤³¤È¤¬Ë¾¤Þ¤·¤¤¤Ç¤¹¡£¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤¹¥Á¥ë¥À¥Þ¡¼ ¥¯¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ % ------------------------------ (11) \hptar{label=H0.4.6.4.0.11} \item {\dg \HIDX{¥Ð¡¼¥¸¥ç¥ó¤òɽ¤¹ÊÑ¿ô}{¤Ï¡¼¤·¤è¤ó¤ò¤¢¤é¤ï¤¹¤Ø¤ó¤¹¤¦} {H0.4.6.4.0.11}} °Ê²¼¤ÎÊÑ¿ô¤Ë¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó¡¢ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÄÌ¿®¤ËÍѤ¤¤é¤ì¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ ¤½¤ì¤¾¤ì³ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ \begin{CODEBOX} \verb+ canna-version ¿ô»ú ¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó + \\ \verb+ protocol-version ¿ô»ú ¥×¥í¥È¥³¥ë¤Î¥Ð¡¼¥¸¥ç¥ó + \\ \verb+ server-version ¿ô»ú ¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó + \\ \end{CODEBOX} ¤¿¤È¤¨¤Ð¡Ø¤«¤ó¤Ê¡ÙVersion3.3 ¤Ç¤Ï canna-version ¤Ë¤Ï 3003 ¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£ ¼¡¤Î¤è¤¦¤ËÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \vspace{5mm} {\tt \begin{center} \begin{tabular}{|p{1cm}p{12cm}|} \hline (Îã) & \\ & (if (> protocol-version 1999) (setq auto t)) \\ & ¤«¤Ê´Á»úÊÑ´¹¥×¥í¥È¥³¥ë¤¬2.0°Ê¾å¤Î¤È¤­¤Ë¸Â¤Ã¤ÆÃ༡¼«Æ°ÊÑ´¹¤òÍøÍѤ·¤Þ¤¹¡£ \\ \hline \end{tabular} \end{center} } \vspace{5mm} % ------------------------------ (12) \hptar{label=H0.4.6.4.0.100} \item {\dg ¤½¤Î¤Û¤«¤Î¥­¡¼¥ï¡¼¥É} \label{¥«¥¹¥¿¥Þ¥¤¥º¡¦¤½¤Î¾¤Î¥­¡¼¥ï¡¼¥É} °Ê²¼¤Ç¡¢¤½¤Î¤Û¤«¤Î¥­¡¼¥ï¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ % % ¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤ËÊ¤Ùľ¤·¤Þ¤·¤¿¡£ % \begin{itemize} % ------- ¡¦ \hptar{label=H0.4.6.4.0.101} \item \HIDX{abandon-illegal-phonogram}{£Á£Â£Á£Î£Ä£Ï£Î¡Ý£É£Ì£Ì£Å£Ç£Á£Ì ¡Ý£Ð£È£Ï£Î£Ï£Ç£Ò£Á£Í}{H0.4.6.4.0.101} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÇÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤¬ÆþÎϤȤ·¤Æ»Ä¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤Ï»Ä¤ê¤Þ¤¹¤¬¡¢abandon-illegal-phonogram ¤Ë t ¤ò »ØÄꤹ¤ë¤ÈÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤ÏÆþÎϤ«¤é¼Î¤Æ¤é¤ì¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq abandon-illegal-phonogram nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.102} \item \HIDX{allow-next-input}{£Á£Ì£Ì£Ï£×¡Ý£Î£Å£Ø£Ô¡Ý£É£Î£Ð£Õ£Ô}{H0.4.6.4.0.102} ¸õÊä°ìÍ÷ɽ¼¨¾õÂ֤ǿô»ú°Ê³°¤Î¥­¡¼¤ò²¡¤·¤¿¤È¤­¤Ë¡¢¸½ºß¥«¡¼¥½¥ë¤¬°ÌÃÖ¤·¤Æ ¤¤ ¤ë¸õÊ䤬ÁªÂò¤µ¤ì¼¡¤ÎÆþÎϤȤʤ뤫¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ allow-next-input ¤¬ t ¤Î¾ì¹ç¡¢¸õÊä°ìÍ÷ɽ¼¨¾õÂ֤ǿô»ú°Ê³°¤Î¥­¡¼¤òÂǤĤȡ¢ ¼¡¤Î ÆþÎϤȤʤê¤Þ¤¹¡£ allow-next-input ¤¬ nil ¤Î¾ì¹ç¡¢¡Ö¥Ô¥Ã¡×¤È¤¤¤¦²»¤¬ÌĤꡢ¼¡¤ÎÆþÎϤˤÏÍÑ ¤¤¤é¤ì¤Þ¤»¤ó¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq allow-next-input t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.103} \item \HIDX{auto}{£Á£Õ£Ô£Ï}{H0.4.6.4.0.103} Ã༡¼«Æ°ÊÑ´¹¤òÍѤ¤¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£t ¤ÇÃ༡¼«Æ°ÊÑ´¹¤òÍѤ¤¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq auto nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.104} \item \HIDX{auto-sync}{£Á£Õ£Ô£Ï¡Ý£Ó£Ù£Î£Ã}{H0.4.6.4.0.104} ñ¸ìÅÐÏ¿ºï½ü¤·¤¿Ä¾¸å¤Ë¼«Æ°Åª¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¦¤«¤É¤¦¤«¤ò»ØÄꤷ ¤Þ¤¹¡£ auto-sync ¤¬ t ¤Î¾ì¹ç¤Ï¡¢¼«Æ°Åª¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ auto-sync ¤¬ nil ¤Î¾ì¹ç¤Ï¡¢¼­½ñ¤ËÂФ¹¤ë¥¢¥¯¥»¥¹¤¬¤Ê¤¯¤Ê¤Ã¤¿»þÅÀ¤Ç¼­½ñ ¤Î½ñ¤­½Ð¤·½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;ñ¸ìÅÐÏ¿ºï½ü¤Îľ¸å¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ (setq auto-sync t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.105} \item \HIDX{break-into-roman}{£Â£Ò£Å£Á£Ë¡Ý£É£Î£Ô£Ï¡Ý£Ò£Ï£Í£Á£Î} {H0.4.6.4.0.105} ¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¥­¡¼¤òÂǤ俤Ȥ­¤ËľÁ°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó¤¬ ¥í¡¼¥Þ»ú¤ËÌá¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq break-into-roman t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.106} \item \HIDX{bunsetsu-kugiri}{£Â£Õ£Î£Ó£Å£Ô£Ó£Õ¡Ý£Ë£Õ£Ç£É£Ò£É} {H0.4.6.4.0.106} ¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¤È¤­¤ËʸÀᤴ¤È¤Ë¶õÇò¤Ç¶èÀڤ뤫¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ t ¤Ç¶èÀÚ¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;¸õÊäɽ¼¨¾õÂÖ¤ÇʸÀá¶çÀÚ¤ê¤ò¹Ô¤¤¤Þ¤¹¡£ (setq bunsetsu-kugiri t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.107} \item \HIDX{character-based-move}{£Ã£È£Á£Ò£Á£Ã£Ô£Å£Ò¡Ý£Â£Á£Ó£Å£Ä¡Ý£Í£Ï £Ö£Å}{H0.4.6.4.0.107} ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¤È¤­¤Ë¥«¡¼¥½¥ë°Üư¤ò¹Ô¤¦¾ì¹ç¤Ë¡¢Ê¸»úñ°Ì¤Ç°Üư¤ò¹Ô¤¦ ¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£character-based-move ¤ò nil ¤Ë¤¹¤ë ¤È¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î³ÎÄê¤Îñ°Ì¤ò¤â¤È¤Ë¤·¤Æ¥«¡¼¥½¥ë¤ò°Üư¤·¤Þ ¤¹¡£¤¹¤Ê¤ï¤Á¡¢"ju" ¤ÈÆþÎϤ·¤¿¾ì¹ç¤Ï¡¢¡Ø¤¸¤å¡Ù¤Ï°ìʸ»ú¤È¤ß¤Ê¤µ¤ì¤Æ¥«¡¼ ¥½¥ë¤¬°Üư¤·¤Þ¤¹¡£Ê¸»úºï½ü¤Î¤È¤­¤âƱÍͤ˼è¤ê°·¤ï¤ì¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¤È¤­¡¢¥«¡¼¥½¥ë¤Ïʸ»úñ°Ì¤Ç°Üư¤·¤Þ¤¹¡£ (setq character-based-move t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.107.5} \item \HIDX{code-input}{£Ã£Ï£Ä£Å¡Ý£É£Î£Ð£Õ£Ô}{H0.4.6.4.0.107.5} ¥³¡¼¥ÉÊÑ´¹¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¥³¡¼¥ÉÆþÎϤò¹Ô¤¦¾ì¹ç¡¢JIS ¥³¡¼¥É(``jis'')¡¢¥· ¥Õ¥È JIS ¥³¡¼¥É(``sjis'')¡¢¶èÅÀ¥³¡¼¥É(``kuten'')¤Î 3 ¤Ä¤Î¥³¡¼¥É¼ïÊ̤Τ¤¤º¤ì ¤«¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï ``jis'' ¤Ç¤¹¡£ ¤¿¤À¤·¡¢¥á¥Ë¥å¡¼¤òÍøÍѤ·¤¿¥³¡¼¥ÉÆþÎϤϡ¢JIS ¥³¡¼¥É¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;JIS ¥³¡¼¥É¤Ç¥³¡¼¥ÉÆþÎϤ·¤Þ¤¹¡£ (setq code-input "jis") \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.108} \item \HIDX{cursor-wrap}{£Ã£Õ£Ò£Ó£Ï£Ò¡Ý£×£Ò£Á£Ð}{H0.4.6.4.0.108} ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ¤ä¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂ֤ǥ«¡¼¥½¥ë¤ò°Üư¤¹¤ë¤È¤­ ¤Ë±¦Ã¼¤«¤é±¦¤Ø°Üư¤¹¤ëÁàºî¤ò¤·¤¿¤È¤­¤äº¸Ã¼¤«¤éº¸¤ä°Üư¤¹¤ëÁàºî¤ò¤·¤¿¤È ¤­¤ËÈ¿ÂЦ¤Îü¤Ë¥«¡¼¥½¥ë¤¬°Üư¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£t ¤Ç°Üư¤·¡¢nil ¤Ç °Üư¤·¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;¥«¡¼¥½¥ë¥é¥Ã¥×¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ (setq cursor-wrap nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.109} \item \HIDX{define-esc-sequence}{£Ä£Å£Æ£É£Î£Å¡Ý£Å£Ó£Ã¡Ý£Ó£Å£Ñ£Õ£Å£Î£Ã£Å} {H0.4.6.4.0.109} üËö¤Î¥¿¥¤¥×¤´¤È¤Ë¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤Èµ¡Ç½¥­¡¼¤ÎÂбþ¤òÀßÄꤷ¤Þ¤¹¡£ %vi(1) ¤ä cannad(1) ¤Ê¤É¤¬ canuum(1) ¤¬ ¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤Ê¤É¤ò²ò¼á¤¹¤ëºÝ¤Ë»²¾È¤µ¤ì¤Þ¤¹¡£ ¤Ê¤ª¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï¤³¤Îµ¡Ç½¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (define-esc-sequence "kterm" "\Escape[28~" ?\Help) (define-esc-sequence "kterm" "\Escape[210z" ?\Xfer) \end{verbatim} \end{nquote} ¥¿¡¼¥ß¥Ê¥ë̾¤È¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤Ïʸ»úÎó¤òµö¤·¤Þ¤¹¤¬¡¢ºÇ¸å¤Î¥­¡¼¤Ïñ ¥­¡¼¤È¤¹¤ë¤¿¤á¡¢Ê¸»ú¤ò»ØÄꤹ¤ë¤è¤¦¤Ë¹½Ê¸¾å¤ÎÀ©Ìó¤ò²Ã¤¨¤Æ¤¤¤Þ¤¹¡£ % ------- ¡¦ \hptar{label=H0.4.6.4.0.109.5} \item \HIDX{delay-connect}{£Ä£Å£Ì£Á£Ù¡Ý£Ã£Ï£Î£Î£Å£Ã£Ô}{H0.4.6.4.0.109.5} ºÇ½é¤ÎÊÑ´¹¤Î»þ¤Þ¤Ç¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤òÃٱ䤹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ nil ¤Î¤È¤­¤Ï½é´ü²½»þ¤Ë¤¹¤°¤ËÀܳ¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq delay-connect nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.110} \item \HIDX{gakushu}{£Ç£Á£Ë£Õ£Ó£È£Õ}{H0.4.6.4.0.110} ¤«¤Ê´Á»úÊÑ´¹¤¬³Ø½¬¤ò¹Ô¤¦¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq gakushu t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.111} \item \HIDX{grammatical-question}{£Ç£Ò£Á£Í£Í£Á£Ô£É£Ã£Á£Ì¡Ý£Ñ£Õ£Å£Ó£Ô£É £Ï£Î}{H0.4.6.4.0.111} ñ¸ìÅÐÏ¿¤ÇÉÊ»ì¤ò»ØÄꤷ¤¿¸å¡¢¾ÜºÙ¤ÊÉÊ»ìʬÎà¤Î¤¿¤á¤Î¼ÁÌä¤ò¹Ô¤¦¤«Èݤ«¤ò »ØÄꤷ¤Þ¤¹¡£t ¤Ç¼ÁÌä¤ò¹Ô¤¤¡¢nil ¤Ç¤Ï¼ÁÌä¤ò¤·¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq grammatical-question nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.112} \item \HIDX{henkan-or-do-nothing}{£È£Å£Î£Ë£Á£Î¡Ý£Ï£Ò¡Ý£Ä£Ï¡Ý£Î£Ï£Ô£È£É£Î£Ç} {H0.4.6.4.0.112} Ã༡¼«Æ°ÊÑ´¹¤òÍѤ¤¤Æ¤¤¤ë¾ì¹ç¡¢¥Ù¡¼¥¹ÀÚÂØ¤¨µ¡Ç½¤òÍøÍѤ·¤Æ¥Ù¡¼¥¹¤òÀÚÂØ¤¨ ¤¿ºÝ¤Î¥­¡¼¤Îưºî¤ò»ØÄꤷ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¶çÅÀ¤ÎÆþÎÏ»þ¤ËÊÑ´¹¤ò¹Ô¤¦¤è¤¦¤Ë»ØÄꤷ¤Æ¤¢¤ë¤¬¡¢¥Ù¡¼¥¹¤¬¤Ò¤é¤¬ ¤Ê°Ê³°¤Î¾ì¹ç¤ÏÊÑ´¹¤ò¹Ô¤ï¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;¶çÅÀÆþÎÏ»þ¤ËÊÑ´¹¤ò¹Ô¤¦¤¬¡¢¥Ù¡¼¥¹¤¬ ;¤Ò¤é¤¬¤Ê°Ê³°¤Î¾ì¹ç¤Ï¤Ê¤Ë¤â¹Ô¤ï¤Ê¤¤¡£ (set-key 'chikuji-yomi-mode "." '(self-insert henkan-or-do-nothing)) (set-key 'chikuji-bunsetsu-mode "." '(self-insert henkan-or-do-nothing)) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.113} \item \HIDX{henkan-or-self-insert}{£È£Å£Î£Ë£Á£Î¡Ý£Ï£Ò¡Ý£Ó£Å£Ì£Æ¡Ý£É£Î £Ó£Å£Ò£Ô} {H0.4.6.4.0.113} ϢʸÀáÊÑ´¹¤òÍѤ¤¤Æ¤¤¤ë¾ì¹ç¡¢¥Ù¡¼¥¹ÀÚÂØ¤¨µ¡Ç½¤òÍøÍѤ·¤Æ¥Ù¡¼¥¹¤òÀÚÂØ¤¨¤¿ ºÝ¤Î¥­¡¼¤Îưºî¤ò»ØÄꤷ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥Ù¡¼¥¹ÀÚÂØ¤¨µ¡Ç½¤òÍøÍѤ·¤Æ¡¢bese-eisu µ¡Ç½¤Ë¤è¤ê±Ñ¿ôÆþÎϥ⡼ ¥É¤Ë°Ü¹Ô¤¹¤ëºÝ¡¢ÆþÎÏ¥Ù¡¼¥¹¤¬¤Ò¤é¤¬¤Ê¤Î¾ì¹ç¤ÏÊÑ´¹¤ò¹Ô¤¤¡¢¤Ò¤é¤¬¤Ê°Ê³°¤Î ¾ì¹ç¤Ï self-insert ¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;ÆÉ¤ßÆþÎÏÃæ¤Ë C-o ¤ò²¡¤¹¤³¤È¤Ë¤è¤ê ;ÆüËܸìÆþÎϥ⡼¥É¤Î ON/OFF ¤ò¹Ô¤¦¡£ (set-key 'yomi-mode "\C-o" 'base-kana-eisu-toggle) ;¥Ù¡¼¥¹¤¬¤Ò¤é¤¬¤Ê°Ê³°¤Î¾ì¹ç¤Ï self-insert ¤ò¹Ô¤¦¡£ (set-key 'yomi-mode "\Space" 'henkan-or-self-insert) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.114} \item \HIDX{hex-direct}{£È£Å£Ø¡Ý£Ä£É£Ò£Å£Ã£Ô}{H0.4.6.4.0.114} 16 ¿Ê¥³¡¼¥ÉÆþÎÏ»þ¤Ë 4 ¥±¥¿ÌܤòÆþ¤ì¤¿»þÅÀ¤Ç 16 ¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤¬½ªÎ» ¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ nil ¤ò»ØÄꤹ¤ë¤È 4 ¥±¥¿ÌܤòÆþ¤ì¤¿»þÅÀ¤Ç¤âÆþÎϤ¬³ÎÄꤷ¤Ê¤¤¾õÂ֤Ȥʤê¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq hex-direct nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.115} \item \HIDX{ignore-case}{£É£Ç£Î£Ï£Ò£Å¡Ý£Ã£Á£Ó£Å}{H0.4.6.4.0.115} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ë¤ÏÉáÄ̾®Ê¸»ú¤Îµ¬Â§¤À¤±¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢ÄÌ¾ï ¤ÏÂçʸ»ú¤òÆþÎϤ¹¤ë¤È¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î¤Þ¤ÞÆþÎϤµ¤ì¡¢¤«¤Ê¤Ë¤ÏÊÑ´¹¤µ¤ì¤Þ¤» ¤ó¡£ ignore-case ¤ò t ¤Ë¤·¤¿¾ì¹ç¡¢Âçʸ»ú¤ÇÆþÎϤ·¤Æ¤â¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¤Ï¾® ʸ»ú¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq ignore-case nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.116} \item \HIDX{index-hankaku}{£É£Î£Ä£Å£Ø¡Ý£È£Á£Î£Ë£Á£Ë£Õ}{H0.4.6.4.0.116} ¸õÊä°ìÍ÷¤ÎÈÖ¹æ¤òÁ´³Ñʸ»ú¤«¤éȾ³Ñʸ»ú¤ËÊѹ¹¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil(Á´³Ñʸ»ú)¤Ç¤¹¡£ % ------- ¡¦ \hptar{label=H0.4.6.4.0.117} \item \HIDX{index-separator}{£É£Î£Ä£Å£Ø¡Ý£È£Á£Î£Ë£Á£Ë£Õ}{H0.4.6.4.0.117} ¸õÊä°ìÍ÷¤ÎÈÖ¹æ¤òȾ³Ñʸ»ú¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤ë¾ì¹ç¤Î¡¢ÈÖ¹æ¤È¸õÊä¤È¤Î¶è ÀÚ¤ê¤Î¥»¥Ñ¥ì¡¼¥¿Ê¸»ú¤ò»ØÄꤷ¤Þ¤¹¡£? ¤Î¼¡¤Î 1 ʸ»ú¤ò¥»¥Ñ¥ì¡¼¥¿Ê¸»ú¤È¤· ¤Æ»ÈÍѤ·¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï¥Ô¥ê¥ª¥É¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;¥»¥Ñ¥ì¡¼¥¿¤ò¥³¥í¥ó¤Ë¤·¤Þ¤¹¡£ (setq index-separator ?:) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.117.5} \item \HIDX{inhibit-hankaku-kana}{£É£Î£È£É£Â£É£Ô¡Ý£È£Á£Î£Ë£Á£Ë£Õ¡Ý£Ë£Á£Î£Á}{H0.4.6.4.0.117.5} ʸ»ú¼ïÊÑ´¹¤ÇȾ³Ñ¥«¥¿¥«¥Ê¤ò¶Ø»ß¤¹¤ë¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£t ¤Î¤È¤­¤Ï¶Ø»ß¤·¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;Ⱦ³Ñ¥«¥¿¥Ê¥Ê¤ò¶Ø»ß¤·¤Þ¤¹¡£ (setq inhibit-hankaku-kana t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.118} \item \HIDX{kakutei-if-end-of-bunsetsu}{£Ë£Á£Ë£Õ£Ô£Å£É¡Ý£É£Æ¡Ý£Å£Î£Ä¡Ý £Ï£Æ¡Ý£Â£Õ£Î£Ó£Å£Ô£Ó£Õ}{H0.4.6.4.0.118} ºÇ±¦Ê¸Àá¤Ç¼¡Ê¸Àá¤Ø°Üư¤·¤è¤¦¤È¤·¤¿¤È¤­¤Ë¡¢³ÎÄꤹ¤ë¤«Èݤ«¤ò»ØÄꤷ¤Þ¤¹¡£ t ¤Ç³ÎÄꤷ¤Þ¤¹¡£nil ¤ò»ØÄꤹ¤ë¤ÈºÇº¸Ê¸À᤬¥«¥ì¥ó¥ÈʸÀá¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£¤Þ¤¿¡¢stay-after-validate ¤¬ nil ¤Î¤È¤­¤Ç kakutei-if-end-bunsetsu ¤¬ t ¤Î¤È¤­¤ÏºÇ±¦Ê¸Àá¤Ç¸õÊä°ìÍ÷¾õÂÖ¤«¤é¸õÊä¤ò ÁªÂò¤¹¤ë¤ÈÁ´Ê¸¤¬³ÎÄꤷ¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq kakutei-if-end-of-bunsetsu nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.119} \item \HIDX{kouho-count}{£Ë£Ï£Õ£È£Ï¡Ý£Ã£Ï£Õ£Î£Ô}{H0.4.6.4.0.119} ¸õÊä°ìÍ÷¤Ê¤É°ìÍ÷ɽ¼¨¤ò¤·¤Æ¤¤¤ë¤È¤­¤Ë¡¢¤¤¤ÞÁªÂò¤·¤Æ¤¤¤ë¹àÌܤ¬ Á´ÂΤιàÌܤβ¿ÈÖÌܤǤ¢¤ë¤Î¤«¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ t ¤Çɽ¼¨¤·¡¢nil ¤Çɽ¼¨¤·¤Þ¤»¤ó¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq kouho-count t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.119.5} \item \HIDX{mojishu-continue}{£Í£Ï£Ê£É£Ó£È£Õ¡Ý£Ã£Ï£Î£Ô£É£Î£Õ£Å}{H0.4.6.4.0.119.5} ʸ»ú¼ïÊÑ´¹¸å¡¢Ê¸»ú¼ïÊÑ´¹Éôʬ¤ò³ÎÄꤷ¤Ê¤¤¤Ç¼¡¤ÎÆþÎϤò¹Ô¤¦¤«¤É¤¦¤«¤ò»Ø Äꤷ¤Þ¤¹¡£t ¤Î¤È¤­¤Ï³ÎÄꤷ¤Ê¤¤¤Ç¼¡¤ÎÆþÎϤò¹Ô¤¤¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq mojishu-continue t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.120} \item \HIDX{n-henkan-for-ichiran}{£Î¡Ý£È£Å£Î£Ë£Á£Î¡Ý£Æ£Ï£Ò¡Ý£É£Ã£È£É£Ò £Á£Î}{H0.4.6.4.0.120} ÊÑ´¹¥­¡¼(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥¹¥Ú¡¼¥¹¥­¡¼¤ÈXfer)¤ò²¿²ó¤«²¡¤¹¤È¸õÊä°ìÍ÷ɽ¼¨¤¬ ¹Ô¤ï¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£n-henkan-for-ichiran ¤ËÂФ·¤Æ¿ô¤ò»Ø Äꤹ¤ë¤È¡¢ »ØÄꤵ¤ì¤¿²ó¿ôÊÑ´¹¥­¡¼¤ò²¡¤¹¤³¤È¤Ë¤è¤ê¸õÊä°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ 0 ¤ò»ØÄꤹ¤ë¤È²¿²óÊÑ´¹¥­¡¼¤ò²¡¤·¤Æ¤â°ìÍ÷ɽ¼¨¤¬¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 2 ¤Ç¡¢2 ²óÊÑ´¹¥­¡¼¤ò²¡¤¹¤È°ìÍ÷ɽ¼¨¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;ÊÑ´¹¥­¡¼¤ò 3 ²ó²¡¤¹¤È¸õÊä°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ (setq n-henkan-for-ichiran 3) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.121} \item \HIDX{n-keys-to-disconnect}{£Î¡Ý£Ë£Å£Ù£Ó¡Ý£Ô£Ï¡Ý£Ä£É£Ó£Ã£Ï£Î£Î£Å £Ã£Ô}{H0.4.6.4.0.121} ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤òÆþÎϤ·Â³¤±¤¿¾ì¹ç¤Î¥µ¡¼¥Ð¤È¤ÎÀܳ¤ÎÀÚ¤ì¤ë¥¹¥È¥í¡¼¥¯¿ô¤ò »ØÄꤷ¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 500 ¤Ç¤¹¡£0 ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¥µ¡¼¥Ð¤È¤ÎÀܳ¤ÏÀÚ¤ì¤Ê¤¯¤Ê¤ê ¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq n-keys-to-dicsonnect 500) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.122} \item \HIDX{n-kouho-bunsetsu}{£Î¡Ý£Ë£Ï£Õ£È£Ï¡Ý£Â£Õ£Î£Ó£Å£Ô£Ó£Õ}{H0.4.6.4.0.122} Ã༡¼«Æ°ÊÑ´¹»þ¤Ë´Á»ú¤Ë¼«Æ°Åª¤ËÊÑ´¹¤µ¤ì¤¿Ê¸Àá¤ò¤¤¤¯¤Ä¤Þ¤Ç³ÎÄꤻ¤º¤ËÊÝ»ý ¤¹¤ë¤«¤ò »ØÄꤷ¤Þ¤¹¡£3 ¡Á 32 ¤ÎÈϰϤǻØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 16 ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq n-kouho-bunsetsu 16) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.123} \item \HIDX{numerical-key-select}{£Î£Õ£Í£Å£Ò£É£Ã£Á£Ì¡Ý£Ë£Å£Ù¡Ý£Ó£Å£Ì£Å £Ã£Ô}{H0.4.6.4.0.123} ¸õÊä°ìÍ÷¤òɽ¼¨¤·¤Æ¤¤¤ë¤È¤­¤Ë¡¢¿ô»ú¥­¡¼¤òÍѤ¤¤Æ¸õÊä¤òÁªÂò¤Ç¤­¤ë¤«¤É¤¦¤«¤ò »ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£nil ¤ò»ØÄꤹ¤ë¤È¡¢¸õÊä°ìÍ÷¤ÎÈֹ椬ɽ ¼¨¤µ¤ì¤Þ¤»¤ó¡£¤Þ¤¿¡¢¿ô»ú¥­¡¼¤ò²¡¤·¤¿¾ì¹ç¡¢ÁªÂò¤µ¤ì¤Æ¤¤¤ë¸õÊ䤬³ÎÄꤷ¡¢ ²¡¤·¤¿¥­¡¼¤Ï¼¡¤ÎÆÉ¤ß¤ÎÆþÎϤȤ·¤Æ¼è¤ê°·¤ï¤ì¤Þ¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;°ìÍ÷ÁªÂò¤ò¿ô»ú¥­¡¼¤Ç¹Ô¤¤¤Þ¤»¤ó¡£ (setq numerical-key-select nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.124} \item \HIDX{reverse-widely}{£Ò£Å£Ö£Å£Ò£Ó£Å¡Ý£×£É£Ä£Å£Ì£Ù} {H0.4.6.4.0.124} t ¤ò»ØÄꤹ¤ë¤ÈÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¤È¤­¤Îʸ»úÎó¤ÎȿžÈϰϤ¬¹­¤¯¤Ê¤ê¤Þ¤¹¡£¥Ç ¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;ÆÉ¤ßÆþÎÏ»þ¡¢ÆÉ¤ßÁ´ÂΤòȿž¤µ¤»¤Þ¤¹¡£ (setq reverse-widely t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.125} \item \HIDX{romaji-yuusen}{£Ò£Ï£Í£Á£Ê£É¡Ý£Ù£Õ£Õ£Ó£Å£Î}{H0.4.6.4.0.125} romaji-yuusen ¤¬ t ¤Î¾ì¹ç¡¢¸½ºß¤ÎÆþÎϥ⡼¥É¤¬ÆÉ¤ßÆþÎϥ⡼¥É¤Þ¤¿¤Ï ¤½¤ì¤Ë½à¤º¤ë¥â¡¼¥É¤Ç¤¢¤ê¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤¬ÅÓÃæ¤Î¾õÂ֤ΤȤ­¡¢ ¼¡¤ÎÆþÎÏʸ»ú¤¬¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÇÍ­¸ú¤Ê¥­¡¼¤Ç¤¢¤ì¤Ð¡¢self-insert ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ romaji-yuusen ¤¬ nil ¤Î¾ì¹ç¡¢¤É¤Î¤è¤¦¤Ê¾õÂ֤ˤª¤¤¤Æ¤â¡¢¥­¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿ µ¡Ç½¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÍ¥À褷¤Þ¤¹¡£ ; ¤¿¤È¤¨¤Ð "x" + " "(¥¹¥Ú¡¼¥¹)¤ËÂФ·¤Æ¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë ; ¤Ç "¡¡"(Á´³Ñ¤Î¥¹¥Ú¡¼¥¹)¤ò³ä¤êÅö¤Æ¤Æ¤¤¤ë¾ì¹ç¡¢romaji-yuusen ¤¬ ; t ¤Î»þ¤ÏÁ´³Ñ¤Î¥¹¥Ú¡¼¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢romaji-yuusen ¤¬ nil ; ¤Î»þ¤Ï¡¢¥¹¤Ú¡¼¥¹¤¬¡ØÊÑ´¹¡Ù¤Î°ÕÌ£¤È¤·¤ÆÍѤ¤¤é¤ì¤Þ¤¹¡£ (setq romaji-yuusen t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.126} \item \HIDX{quickly-escape-from-kigo-input} {£Ñ£Õ£É£Ã£Ë£Ì£Ù¡Ý£Å£Ó£Ã£Á£Ð£Å¡Ý£Æ£Ò£Ï£Í¡Ý£Ë£É£Ç£Ï¡Ý£É£Î£Ð£Õ£Ô}{H0.4.6.4.0.126} µ­¹æÆþÎϥ⡼¥É»þ¤Ë¡¢µ­¹æ¤òϢ³¤·¤ÆÆþÎϤ¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ quickly-escape-from-kigo-input ¤¬ t ¤Î¾ì¹ç¡¢µ­¹æÆþÎϥ⡼¥É¤Çµ­¹æ¤ò 1 ¤Ä ÆþÎϤ¹¤ë¤Èµ­¹æÆþÎϥ⡼¥É¤ò½ªÎ»¤·¤Þ¤¹¡£ quickly-escape-from-kigo-input ¤¬ nil ¤Î¾ì¹ç¡¢µ­¹æ¤òÁªÂò¤·¤¿¤Î¤Á¤â µ­¹æÆþÎϥ⡼¥É¤Ë¤È¤É¤Þ¤ê¡¢µ­¹æ¤òϢ³¤·¤ÆÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;µ­¹æ¤òϢ³¤·¤ÆÆþÎϤ·¤Þ¤¹¡£ (setq quickly-escape-from-kigo-input nil) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.127} \item \HIDX{quit-if-end-of-ichiran}{£Ñ£Õ£É£Ô¡Ý£É£Æ¡Ý£Å£Î£Ä¡Ý£Ï£Æ¡Ý£É£Ã £È£É£Ò£Á£Î}{H0.4.6.4.0.127} ¸õÊä°ìÍ÷ɽ¼¨¤ò¤·¤Æ¤¤¤ë¤È¤­¤Ë¡¢ºÇ½ª¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂ֤Ǽ¡¸õÊäÁàºî¤ò¹Ô¤¦¤È ¸õÊä°ìÍ÷ɽ¼¨¤ò½ªÎ»¤·¡¢ÆÉ¤ß¤½¤Î¤â¤Î¤ò¸õÊä¤È¤·¤ÆÉ½¼¨¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ 2 ÂÇÌܤΥ¹¥Ú¡¼¥¹¥­¡¼¤ò¸õÊä°ìÍ÷ɽ¼¨¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤ë¤È¤­ ¤Ê¤É¤Ï quit-if-end-of-ichiran ¤ò t ¤Ë¤·¤Æ¤ª¤¯¤ÈÊØÍø¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï nil ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) (setq quit-if-end-of-ichiran t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.128} \item \HIDX{select-direct}{£Ó£Å£Ì£Å£Ã£Ô¡Ý£Ä£É£Ò£Å£Ã£Ô}{H0.4.6.4.0.128} numerical-key-select ¤¬ t ¤Ç¤¢¤ë¤È¤­¤Ë¡¢¿ô»ú¥­¡¼¤Ç¸õÊä¤òÁªÂò¤·¤¿¤È¤­¤Ë ¸õÊä°ìÍ÷ɽ¼¨¤Î¤Þ¤Þ¤«¤½¤¦¤Ç¤Ê¤¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£ t ¤Î¾ì¹ç¤Ï¸õÊä°ìÍ÷¤¬½ªÎ»¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;¿ô»ú¥­¡¼ÆþÎϤǰìÍ÷¥â¡¼¥É¤ò½ªÎ»¤·¤Þ¤¹¡£ (setq select-direct t) \end{verbatim} \end{nquote} % ------- ¡¦ \hptar{label=H0.4.6.4.0.129} \item \HIDX{stay-after-validate}{£Ó£Ô£Á£Ù¡Ý£Á£Æ£Ô£Å£Ò¡Ý£Ö£Á£Ì£É£Ä£Á£Ô £Å}{H0.4.6.4.0.129} ¸õÊä°ìÍ÷ɽ¼¨¾õÂ֤ǸõÊä¤òÁªÂò¤·¤ÆÃ±°ì¸õÊäɽ¼¨¾õÂÖ¤ËÌá¤Ã¤¿¤È¤­¤Ë¡¢ ¥«¥ì¥ó¥ÈʸÀá¤ò¼¡¤ÎʸÀá¤Ë°Üư¤µ¤»¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ nil ¤Ç¥«¥ì¥ó¥ÈʸÀá¤Ï¼¡¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ t ¤Ç¤Ï¥«¥ì¥ó¥ÈʸÀá¤ÏÊѤï¤ê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ï t ¤Ç¤¹¡£ \begin{nquote}{2em} \begin{verbatim} (Îã) ;¸õÊäÁªÂò¤¹¤ë¤È¼¡¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ (setq stay-after-validate nil) \end{verbatim} \end{nquote} \end{itemize} \end{enumerate} \subsection{¤½¤Î¤Û¤«¤Î\HIDX{Lisp¤Î´Ø¿ô}{£Ì£É£Ó£Ð¤Î¤«¤ó¤¹¤¦}{H0.4.6.5.0}} º£¤Þ¤ÇÀâÌÀ¤·¤¿°Ê³°¤Î Lisp ¤Î´Ø¿ô¤òÀâÌÀ¤·¤Þ¤¹¡£ °Ê²¼¤Î´Ø¿ô¤Ï¤«¤Ê´Á»úÊÑ´¹¤Ë¤ÏľÀܤϱƶÁ¤òµÚ¤Ü¤·¤Þ¤»¤ó¡£ \begin{enumerate} % ------------------------------ (1) \item {\dg\bf ¾ò·ïʬ´ô $-$ cond, if} \begin{nquote}{3em} \begin{verbatim} (if A B C) \end{verbatim} \end{nquote} ¤³¤Î¼°¤Ï¡¢¤Þ¤º A ¤òɾ²Á¤·¡¢¤½¤Î·ë²Ì¤¬ nil °Ê³°¤Ç¤¢¤ì¤Ð¡¢B ¤òɾ²Á¤·¡¢ nil ¤Ç¤¢¤ì¤Ð C ¤òɾ²Á¤·¤Þ¤¹¡£ (if¡Ä¡Ä) ¼°¤Î·ë²Ì¤Ï B ¤Þ¤¿¤Ï C ¤Îɾ²Á·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£ \begin{CODEBOX} (Îã) \\ ¡¡¡¡(if (> protocol-version 2000) (setq auto t) \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(setq auto nil)) \\ ¡¡¡¡(setq auto (if (> protocol-version 2000) t nil)) \\ ¡¡ \\ \end{CODEBOX} \begin{nquote}{3em} \tt (cond (C$1$ B$1$) (C$2$ B$2$)¡¦¡¦¡¦¡¦(C$n$ B$n$)) \end{nquote} ¤Þ¤º¡¢ C$1$ ¤òɾ²Á¤·¡¢¤½¤Î·ë²Ì¤¬ nil °Ê³°¤Ê¤é B$1$ ¤òɾ²Á¤·¤½¤Î·ë²Ì¤ò cond ¼°¤Î·ë²Ì¤È¤·¤Þ¤¹¡£¤½¤Î¾ì¹ç C$2$ ¡Á C$n$¡¢B$2$ ¡Á B$n$ ¤Ïɾ²Á¤µ ¤ì¤Þ¤»¤ó¡£ C$1$ ¤Îɾ²Á·ë²Ì¤¬ nil ¤Ê¤é¼¡¤Ë C$2$ ¤òɾ²Á¤·¤Þ¤¹¡£ C$2$ ¤Î ·ë²Ì¤¬ nil °Ê³°¤Ê¤é B$2$ ¤òɾ²Á¤·¤½¤Î·ë²Ì¤ò cond ¼°¤Î·ë²Ì¤È¤·¤Þ¤¹¡£ C$i$ ¤ò¼¡¡¹¤È nil °Ê³°¤ÎÃͤ¬½Ð¤Æ¤¯¤ë¤Þ¤Çɾ²Á¤·¡¢ nil °Ê³°¤ÎÃͤ¬ÊÖ¤Ã¤Æ Í褿¤È¤³¤í¤Î B$i$ ¤òɾ²Á¤·¡¢¤½¤ì¤ò cond ¼°¤ÎÃͤȤ·¤ÆÊÖ¤·¤Þ¤¹¡£ % ------------------------------ (2) \item {\dg\bf ¤½¤Î¤Û¤«¤ÎÀ©¸æ¹½Â¤ $-$ let} \begin{nquote}{3em} \tt (let ((VAR$1$ VAL$1$) (VAR$2$ VAL$2$) .... (VAR$n$ VAL$n$)) body) \end{nquote} ÊÑ¿ô VAR$1$ ¡Á VAR$n$ ¤Ë¡¢¤½¤ì¤¾¤ìÃÍ VAL$1$ ¡Á VAL$n$ ¤òÂåÆþ¤·¤¿¸å¤Ë body ¤òɾ²Á¤·¤Þ¤¹¡£ body ¤Îɾ²Á·ë²Ì¤¬ let ¼°¤Î·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£ body ¤Ï Ê£¿ô¤Î¼°¤òµ­½Ò¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ let ¼°¤Îɾ²Á¤¬½ªÎ»¤¹¤ë¤È VAR$1$ ¡Á VAR$n$ ¤ÎÃͤϸµ¤ÎÃͤËÌá¤ê¤Þ¤¹¡£ % ------------------------------ (3) \item {\dg\bf ´Ø¿ô¤ÎÃ༡¸Æ½Ð¤· $-$ progn} \begin{nquote}{3em} \begin{verbatim} (progn A B C ....) \end{verbatim} \end{nquote} ¼° A B C ¡Ä ¤ò¼¡¡¹¤Èɾ²Á¤·¤ÆºÇ¸å¤Î¼°¤Îɾ²Á·ë²Ì¤òÃͤȤ·¤Þ¤¹¡£ if ʸ¤Î¼Â¹ÔÉô¤ËÊ£¿ô¤Î½èÍý¤òµ­½Ò¤¹¤ë¤È¤­¤Ë»È¤¤¤Þ¤¹¡£ \begin{CODEBOX} (Îã) \\ ¡¡¡¡(if (< canna-version 2000) \\ ¡¡¡¡¡¡(progn (setq n-henkan-for-ichiran 2) \\ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡(setq quit-if-end-of-ichiran t)) ) \\ \end{CODEBOX} % ------------------------------ (4) \item {\dg\bf ÃͤÎÈæ³Ó $-$ equal, =, ¡ä, ¡ã, eq } ÃͤÎÈæ³Ó¤ò¹Ô¤¤¤Þ¤¹¡£eq ¤Ï¥·¥ó¥Ü¥ëƱ»Î¤ÎÈæ³Ó¤È¿ôÃÍÆ±»Î¤ÎÈæ³Ó¤Î¤ß¤Ë¤·¤« ÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤¬¡¢Èó¾ï¤Ë¹â®¤ËÈæ³Ó½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ % ------------------------------ (5) \item {\dg\bf ¿¿ÍýÃͤÎÄ´ºº $-$ not, and, or} ¿¿ÍýÃͤòÄ´ºº¤·¤Þ¤¹¡£ and ¤ª¤è¤Ó or ¤Ï°ú¿ô¤òº¸Â¦¤«¤éɬÍפʿô¤À¤±É¾²Á¤·¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢and ¤Î¾ì¹ç¤ÏºÇ½é¤Ë nil ¤ò·ë²Ì¤È¤·¤ÆÊÖ¤¹¼°¤¬¤¢¤Ã¤¿¾ì¹ç¡¢ ¤½¤³¤«¤é±¦¤Ë½ñ¤«¤ì¤Æ¤¤¤ë°ú¿ô¤Ïɾ²Á¤·¤Þ¤»¤ó¡£ or ¤Î¾ì¹ç¤Ï¡¢ºÇ½é¤Ë nil °Ê³°¤ÎÃͤò·ë²Ì¤È¤·¤ÆÊÖ¤¹¼°¤¬¤¢¤Ã¤¿¾ì¹ç¡¢ ¤½¤³¤«¤é±¦¤Ë½ñ¤«¤ì¤Æ¤¤¤ë°ú¿ô¤Ïɾ²Á¤·¤Þ¤»¤ó¡£ % ------------------------------ (6) \item {\dg\bf »»½Ñ±é»» $-$ $+$, $-$, $\ast$, /, \%} »»½Ñ±é»»¤ò¹Ô¤¤¤Þ¤¹¡£°ÕÌ£¤Ï C ¸À¸ì¤Î¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£ % ------------------------------ (7) \item {\dg\bf ¥¬¡¼¥Ù¥¸¥³¥ì¥¯¥·¥ç¥ó $-$ gc} Lisp ¸À¸ì¤Î¥á¥â¥ê´ÉÍý¥·¥¹¥Æ¥à¤òµ¯Æ°¤·¡¢¥á¥â¥ê¤ÎÀ°Íý¤ò¹Ô¤¤¤Þ¤¹¡£ % ------------------------------ (8) \item {\dg\bf ¥ê¥¹¥È±é»» $-$ list, cons, car, cdr, atom, null} ¥ê¥¹¥È½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¤«¤Ê´Á»úÊÑ´¹¤ÇÍѤ¤¤ë¤³¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¾ÜºÙ¤Ï Lisp ´ØÏ¢¤Î»²¹Í½ñ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ % ------------------------------ (9) \item {\dg\bf °úÍÑ $-$ quote} \begin{nquote}{3em} \begin{verbatim} (quote A) \end{verbatim} \end{nquote} 'A ¤ÈƱ¤¸¤è¤¦¤Ë A ¤È¤¤¤¦¥Ç¡¼¥¿¤ò¤½¤Î¤Þ¤Þ¥Ç¡¼¥¿¤È¤·¤Æ»È¤¤¤¿¤¤¤È¤­¤ËÍѤ¤¤Þ¤¹¡£ % ------------------------------ (10) \item {\dg\bf ÂåÆþ $-$ set} set ¤Ï setq ¤ÈƱÍͤνèÍý¤ò¹Ô¤¤¤Þ¤¹¡£setq ¤È¤Î°ã¤¤¤ÏÂè 1 °ú¿ô¤òɾ²Á¤¹¤ëÅÀ¤Ç¤¹¡£ % ------------------------------ (11) \item {\dg\bf ´Ø¿ôÄê¿ô $-$ defun, defmacro} ´Ø¿ôÄêµÁ¡¢¥Þ¥¯¥íÄêµÁ¤ò¹Ô¤¤¤Þ¤¹¡£¤«¤Ê´Á»úÊÑ´¹¤ÇÍѤ¤¤ë¤³¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¾ÜºÙ¤Ï Lisp ´ØÏ¢¤Î»²¹Í½ñ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ % ------------------------------ (12) \item {\bf\dg ¥·¥ó¥Ü¥ë¤ÎÊ£À½ $-$ copy-symbol} ¥·¥ó¥Ü¥ë¤ÎÊ£À½¤òºîÀ®¤·¤Þ¤¹¡£ copy-symbol ¤Ï¥·¥ó¥Ü¥ë¤Î»ý¤Ä¤µ¤Þ¤¶¤Þ¤Ê°À­¤ò¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤·¤Þ¤¹¡£ \begin{CODEBOX} (Îã) \\ ¡¡¡¡(copy-symbol 'ÆÉ¤ß¥â¡¼¥É 'yomi-mode) \\ \end{CODEBOX} ¾åµ­¤Î½èÍý¤Ë¤è¤ê yomi-mode ¤È¤¤¤¦¥­¡¼¥ï¡¼¥É¤ÎÂå¤ï¤ê¤Ë¡ÖÆÉ¤ß¥â¡¼¥É¡×¤È µ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ \end{enumerate} % ------------------------------ 3.3.7 \section{¤³¤ó¤ÊÉ÷¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤ß¤¿¤¤} \HIDXAS{¥«¥¹¥¿¥Þ¥¤¥º¤ÎÎã}{¤«¤¹¤¿¤Þ¤¤¤¹¤Î¤ì¤¤}{H0.4.7.0.0} \label{3.3.7¤³¤ó¤ÊÉ÷¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤ß¤¿¤¤} °Ê²¼¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤È¤­¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î µ­½ÒÎã¤ò¼¨¤·¤Þ¤¹¡£ \vspace{5mm} %{\tt \begin{center} \begin{tabular}{|l|p{12cm}|} \hline \hpref{count=1,label=H0.4.7.0.0.1}1 & ÊÑ´¹¤Ï Xfer ¤Ç¹Ô¤¤¡¢¥¹¥Ú¡¼¥¹¤ÏÁ´³Ñ¶õÇòʸ»ú¤ÎÆþÎϤȤ·¤Æ»ÈÍѤ·¤¿¤¤¡£ \\ %\hpref{count=1,label=H0.4.7.0.0.2}2 & ¸õÊä¤ò¿ô»ú¤ÇÁª¤ó¤À¤é¸õÊä°ìÍ÷¤òÈ´¤±¤¿¤¤¡£ \\ \hpref{count=1,label=H0.4.7.0.0.3}2 & ¸õÊä¤òÁªÂò¤·¤¿¤é¼¡¤ÎʸÀá¤Ë°Üư¤·¤¿¤¤¡£ \\ \hpref{count=1,label=H0.4.7.0.0.4}3 & °ìÂÀϺ\footnotemark ¤Î¤è¤¦¤ÊÁàºîË¡¤ÇÆþÎϤ·¤¿¤¤¡£ \\ \hpref{count=1,label=H0.4.7.0.0.5}4 & ¡Ö¤È¡Î¤òξÊý»È¤¤¤¿¤¤¡£ \\ \hpref{count=1,label=H0.4.7.0.0.6}5 & ³ÈÄ¥¥á¥Ë¥å¡¼¤ò¼«Ê¬¤ÇÄêµÁ¤·¤¿¤¤¡£ \\ \hline \end{tabular} \footnotetext{°ìÂÀϺ¤Ï¥¸¥ã¥¹¥È¥·¥¹¥Æ¥à(³ô)¤Î¾¦É¸¤Ç¤¹} \end{center} %} \vspace{5mm} °Ê²¼¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ÎÀâÌÀ¤Ç¤Ï¡¢.canna ¤ò½ñ¤­´¹¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ ¥«¥¹¥¿¥Þ¥¤¥º¤ò¼Â¸½¤·¤Þ¤¹¡£½ñ¤­´¹¤¨¤Ï¡¢.canna ¤ÎºÇ¸å¤ÎÊý¤Ë²Ã¤¨¤Æ¤¤¤±¤Ð Îɤ¤¤Ç¤·¤ç¤¦¡£.canna ¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ¡¢.canna ¤ò ½àÈ÷¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{CODEBOX} \% cp \refCANNALIBDIR /sample/default.canna .canna \\ \% chmod u+w .canna \\ \end{CODEBOX} \begin{enumerate} % ------------------- (1) \item {\dg\bf ÊÑ´¹¤Ï Xfer ¤Ç¹Ô¤¤¡¢¥¹¥Ú¡¼¥¹¤ÏÁ´³Ñ¶õÇòʸ»ú¤ÎÆþÎϤȤ·¤Æ»ÈÍѤ·¤¿¤¤} \hptar{label=H0.4.7.0.0.1} ¤Þ¤º¡¢¥¹¥Ú¡¼¥¹¥­¡¼¤ËÂФ·¤ÆÄ̾ï¤ÎÆþÎϵ¡Ç½(self-insert)¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£ self-insert ¤Î self ¤È¤Ï¥­¡¼¼«¿È¤ò»Ø¤·¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢¥¹¥Ú¡¼¥¹¥­¡¼¤ËÂФ·¤Æ self-insert ¤ò³ä¤êÅö¤Æ¤ë¤È ¶õÇò¤òÁÞÆþ¤¹¤ë¤È¤¤¤¦µ¡Ç½¤¬¥¹¥Ú¡¼¥¹¥­¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ ¥¹¥Ú¡¼¥¹¥­¡¼¤Ë self-insert µ¡Ç½¤ò³ä¤êÅö¤Æ¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤·¤Þ¤¹¡£ \begin{CODEBOX} (global-set-key "\verb!\!Space" 'self-insert) \\ \end{CODEBOX} "$\backslash$Space" ¤Ï¥¹¥Ú¡¼¥¹¥­¡¼¤ò¼¨¤·¤Þ¤¹¡£ "$\backslash$Space" ¤ÎÂå¤ï¤ê¤Ë " " ¤Î¤è¤¦¤Ëµ­½Ò¤·¤Æ¤âƱ¤¸°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤µ¤Æ¡¢¤³¤ì¤À¤±ÀßÄꤹ¤ë¤È¥¹¥Ú¡¼¥¹¥­¡¼¤¬ÊÑ´¹Áàºî¤Ë»ÈÍѤǤ­¤Ê¤¯¤Ê¤ê¡¢ Âå¤ï¤ê¤ËÁ´³Ñ¶õÇò¤¬ÁÞÆþ¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ Á´³Ñ¶õÇò¤Ç¤Ï¤Ê¤¯¡¢È¾³Ñ¶õÇò¤Ë¤·¤¿¤¤¤È¤­¤Ï ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î½ñ¤­´¹¤¨¤¬É¬ÍפȤʤê¤Þ¤¹¡£ % ------------------- (2) % misao ¡Ä V3.3 ¤Ç¤Ï¡¢¤³¤ì¤ò¥Ç¥Õ¥©¥ë¥È¤Ë¤·¤¿¤Î¤Ç¡¢¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ë¡£ % %\item {\dg ¸õÊä¤ò¿ô»ú¤ÇÁª¤ó¤À¤é¸õÊä°ìÍ÷¤òÈ´¤±¤¿¤¤} %\hptar{label=H0.4.7.0.0.2} % %¡Ø¤«¤ó¤Ê¡Ù¤Ç¤Ï¡¢¸õÊä°ìÍ÷¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂ֤dzƸõÊä¤ÎÈÖ¹æ¤ò²¡¤·¤¿¾ì¹ç¡¢ %¥«¡¼¥½¥ë¤¬¤½¤Î¸õÊä¤Ë°Üư¤¹¤ë¤À¤±¤Ç¼ÂºÝ¤ÎÁªÂò¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£ % %\begin{SCREEN} %{\tt \%} \underline{¤³¤¦¤·¤ã}\CURSOR \\ %{[ ¤¢ ]} \\ %\end{SCREEN} % %¡¡¡¡¡¡¢­ÊÑ´¹ % %\begin{SCREEN} %\verb+%+ \fbox{¸å¼Ô} \\ %{[ ¤¢ ]} \\ %\end{SCREEN} % %¡¡¡¡¡¡¢­ÊÑ´¹ % %\begin{SCREEN} %\verb+%+ \fbox{¸ø¼Ò} \\ %{[ ¤¢ ] 1 ¸å¼Ô \fbox{2} ¸ø¼Ò 3 ¹»¼Ë 4 ¹ß¼Ö 5 ¹ª¼Ô} \SCREENRIGHT{2/8}\\ %\end{SCREEN} % %¡¡¡¡¡¡¢­4¤òÆþÎÏ % %\begin{SCREEN} %\verb+%+ \fbox{¹ß¼Ö} \\ %{[ ¤¢ ] 1 ¸å¼Ô 2 ¸ø¼Ò 3 ¹»¼Ë \fbox{4} ¹ß¼Ö 5 ¹ª¼Ô} \SCREENRIGHT{4/8}\\ %\end{SCREEN} % %¼ÂºÝ¤ËÁªÂò¤¹¤ë¤¿¤á¤Ë¤Ï³ÎÄꥭ¡¼(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \RETURN)¤ò²¡¤µ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ % %¿ô»ú¤òÁªÂò¤·¤¿»þÅÀ¤Ç¤½¤Î¸õÊä¤òÁªÂò¤·¡¢¸õÊä°ìÍ÷ɽ¼¨¤ò½ªÎ»¤·¤¿¤¤¾ì¹ç¤Ï %¼¡¤Î¤è¤¦¤Ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤·¤Þ¤¹¡£ % %\begin{CODEBOX} %(setq select-direct t) \\ %\end{CODEBOX} % %¤³¤ì¤Ë¤è¤ê¡¢¿ô»ú¤òÁªÂò¤·¤¿¤À¤±¤Ç¸õÊ䤬ÁªÂò¤µ¤ì¡¢¸õÊä°ìÍ÷¤¬½ªÎ»¤·¤Þ¤¹¡£ % %\begin{SCREEN} %\verb+%+ \fbox{¸ø¼Ò} \\ %{[ ¤¢ ] 1 ¸å¼Ô \fbox{2} ¸ø¼Ò 3 ¹»¼Ë 4 ¹ß¼Ö 5 ¹ª¼Ô} \SCREENRIGHT{2/8}\\ %\end{SCREEN} % %¡¡¡¡¡¡¢­4¤òÆþÎÏ % %\begin{SCREEN} %\verb+%+ \fbox{¹ß¼Ö} \\ %{[ ¤¢ ]} \\ %\end{SCREEN} % % ------------------- (3) \item {\dg ¸õÊä¤òÁªÂò¤·¤¿¤é¼¡¤ÎʸÀá¤Ë°Üư¤·¤¿¤¤} \hptar{label=H0.4.7.0.0.3} Ť¤Ê¸¾Ï¤òÆþÎϤ·¤ÆÊÑ´¹¥­¡¼¤ò²¡¤·¡¢Á°¤Îʸ¾Ï¤«¤é¸õÊäÁªÂò¤ò¤¹¤ë¤È¤¤¤¦ÊýË¡¤Ç ÆþÎϤ·¤Æ¤¤¤ëÊý¤â¿¤¤¤Ç¤·¤ç¤¦¡£ ¤½¤Î¤è¤¦¤ÊÊý¤Î¾ì¹ç¡¢¸õÊä°ìÍ÷¤ÇÁªÂò¤·¤¿¤È¤­¤Ë¥«¥ì¥ó¥ÈʸÀ᤬Ʊ¤¸Ê¸Àá¤Ë ¤È¤É¤Þ¤Ã¤Æ¤·¤Þ¤¦¤È¤¤¤Á¤¤¤ÁʸÀá°Üư¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤ÇÉÔÊØ¤ò ´¶¤¸¤Æ¤Ï¤¤¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡© \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb+%+ \fbox{¹»¼Ë¤ò}\underline{²þÃÛ¤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¤¬¤É¤¦¤·¤Þ¤·¤ç¤¦¤Í} \\ {[ ¤¢ ] 1 ¸ø¼Ò¤ò \fbox{2} ¹»¼Ë¤ò 3 ¹ß¼Ö¤ò 4 ¹ª¼Ô¤ò} \SCREENRIGHT{2/8} \\ \end{SCREEN} %\begin{center} ¢­³ÎÄê(\RETURN)¤òÆþÎÏ \end{center} ¡¡¡¡¡¡¢­³ÎÄê(\RETURN)¤òÆþÎÏ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb+%+ \fbox{¹»¼Ë¤ò}\underline{²þÃÛ¤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¤¬¤É¤¦¤·¤Þ¤·¤ç¤¦¤Í} \\ {[ ¤¢ ]} \\ \end{SCREEN} ¡Ö°ìÍ÷¤òÁªÂò¤·¤¿¤Î¤À¤«¤é¤½¤ÎʸÀá¤Ç¤Î»Å»ö¤Ï½ª¤ï¤Ã¤Æ¤¤¤ë¤Ï¤º¤À¡£ °ìÍ÷ÁªÂò¤ò½ª¤ï¤Ã¤¿¤é¼¡¤ÎʸÀá¤Ë°Üư¤·¤Æ¤Û¤·¤¤¡£¡×¤È¤¤¤¦É÷¤Ë¤ª»×¤¤¤ÎÊý¤â ¿¤¤¤Ç¤·¤ç¤¦¡£¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Þ¤¹¡£ \begin{CODEBOX} (setq stay-after-validate nil) \\ \end{CODEBOX} \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb+%+ \fbox{¹»¼Ë¤ò}\underline{²þÃÛ¤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¤¬¤É¤¦¤·¤Þ¤·¤ç¤¦¤Í} \\ {[ ¤¢ ] 1 ¸ø¼Ò¤ò \fbox{2} ¹»¼Ë¤ò 3 ¹ß¼Ö¤ò 4 ¹ª¼Ô¤ò} \SCREENRIGHT{2/8} \\ \end{SCREEN} %\begin{center} ¢­³ÎÄê(\RETURN)¤òÆþÎÏ \end{center} ¡¡¡¡¡¡¢­³ÎÄê(\RETURN)¤òÆþÎÏ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb+%+ \underline{¹»¼Ë¤ò}\fbox{²þÃÛ¤·¤è¤¦¤È}\underline{¹Í¤¨¤Æ¤¤¤Þ¤¹¤¬¤É¤¦¤·¤Þ¤·¤ç¤¦¤Í} \\ {[ ¤¢ ]} \\ \end{SCREEN} % ------------------- (4) \item {\dg °ìÂÀϺ\footnotemark ¤Î¤è¤¦¤ÊÁàºîË¡¤ÇÆþÎϤ·¤¿¤¤} \hptar{label=H0.4.7.0.0.4} \footnotetext{°ìÂÀϺ¤Ï¥¸¥ã¥¹¥È¥·¥¹¥Æ¥à(³ô)¤Î¾¦É¸¤Ç¤¹} ¡Ö°ìÂÀϺ¤Ë´·¤ì¤Æ¤¤¤ë¤Î¤Ç°ìÂÀϺ¤È¤Ç¤­¤ë¤À¤±Æ±¤¸Áàºî¤ÇÆüËܸìÆþÎϤ¬¤·¤¿¤¤¡× ¤È¤¤¤¦Êý¤â¤¤¤é¤Ã¤·¤ã¤ë¤Ç¤·¤ç¤¦¡£ °ìÂÀϺ¤È¤Û¤ÜƱ¤¸¥­¡¼Áàºî¤òÄ󶡤¹¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¬\\ \refCANNALIBDIR /sample/just.canna¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò ¼Â¹Ô¤·¤Æ¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{CODEBOX} \% cd \\ \% cp \refCANNALIBDIR /sample/just.canna .canna \\ \end{CODEBOX} % ------------------- (5) \item {\dg ¡Ö¤È¡Î¤òξÊý»È¤¤¤¿¤¤} \hptar{label=H0.4.7.0.0.5} ¥ï¡¼¥×¥í¤Ë¤è¤Ã¤Æ¤Ï¡¢¡Ö¡¥¡×(¥Ô¥ê¥ª¥É)¤òÂǤ俤Ȥ­¤Ë¡Ö¡£¡×¤¬ÆþÎϤµ¤ì¤ë¤« ¡Ö¡¥¡×¤¬ÆþÎϤµ¤ì¤ë¤«¤òÁªÂò¤Ç¤­¤¿¤ê¡¢ ¡Ö[\ ¡×(³Ñ¤«¤Ã¤³)¤òÆþÎϤ·¤¿¤È¤­¤Ë¡Ö¡Ö\ ¡×(¤«¤®¤«¤Ã¤³)¤¬ÆþÎϤµ¤ì¤ë¤« ¡Ö¡Î\ ¡×(Á´³Ñ³Ñ¤«¤Ã¤³)¤¬ÆþÎϤµ¤ì¤ë¤«¤òÁªÂò¤Ç¤­¤¿¤ê¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Ç¤â¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò½ñ¤­´¹¤¨¤ë¤³¤È¤Ë¤è¤ê¡¢ ¡Ö¡¥¡×¤ä¡Ö¡Î\ ¡×¤ËÂбþ¤¹¤ëµ­¹æ¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î½ñ¤­´¹¤¨¤Ï¼ã´³ÌÌÅݤǤ⤢¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¤½¤ì¤¾¤ì¤Îµ­¹æ¤òξÊýÄêµÁ¤·¤Æ¤ª¤­¡¢ ɬÍפ˱þ¤¸¤Æ´Êñ¤ËÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{CODEBOX} \verb!(defsymbol ?. "¡£" "." )! \\ \verb!(defsymbol ?[ "¡Ö" "[" )! \\ \end{CODEBOX} ¤³¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤È°Ê²¼¤Î¼ê½ç¤Çµ­¹æ¤òÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤º¡¢¡Ö¡¥¡×¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \underline{¡£} \\ {[ ¤¢ ]} \\ \end{SCREEN} ¡¡¡¡¡¡¢­ÊÑ´¹¥­¡¼¤ò²¡¤·¡¢¸õÊä°ìÍ÷¤òɽ¼¨¤µ¤»¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \underline{¡£} \\ {[°ìÍ÷] ¡¡\fbox{1} ¡£ 2 ¡¥} \SCREENRIGHT{1/2}\\ \end{SCREEN} ¡¡¡¡¡¡¢­¡¡\fbox{¢ª}¡¤\RETURN ¤Ç 2 ¤òÁª¤Ó¤Þ¤¹¡£ \begin{SCREEN} \underline{¡¥} \\ {[ ¤¢ ]} \\ \end{SCREEN} ¤Ä¤®¤«¤é¤Ï¥Ô¥ê¥ª¥É¤òÂǤĤȡ֡¥¡×¤¬Æþ¤ê¤Þ¤¹¡£ \begin{SCREEN} \underline{¡¥} \\ {[ ¤¢ ]} \\ \end{SCREEN} ƱÍͤÎÁàºî¤Ë¤è¤ê¸µ¤ËÌ᤹¤³¤È¤¬²Äǽ¤Ç¤¹¡£ % ----------------------- (6) \item {\dg ³ÈÄ¥¥á¥Ë¥å¡¼¤ò¼«Ê¬¤ÇÄêµÁ¤·¤¿¤¤} \hptar{label=H0.4.7.0.0.6} ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢\HELP ¥­¡¼¤ò²¡¤·¤¿¤È¤­¤Ë¡¢¥¬¥¤¥É¥é¥¤¥ó¤Ë ¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¡¢µ­¹æÆþÎÏ¡¢Ã±¸ìÅÐÏ¿¡¢ÊÑ´¹Êý¼°¤ÎÊѹ¹¤Ê¤É¤¬ ¹Ô¤¨¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ÎÊýË¡¤Ç¤Ï¡¢¼«Ê¬¤¬»È¤¤¤¿¤¤µ¡Ç½¤ò¤¹¤°¤ËÁªÂò¤¹¤ë¤³¤È¤¬ ¤Ç¤­¤Ê¤«¤Ã¤¿¤ê¡¢µ­¹æÆþÎÏ»þ¤Ë¼«Ê¬¤¬ÁªÂò¤·¤¿¤¤µ­¹æ¤ò¤¹¤°¤Ë¸«¤Ä¤±¤ë¤³¤È¤¬ ¤Ç¤­¤Ê¤«¤Ã¤¿¤ê¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢¥á¥Ë¥å¡¼¤ò¼«Ê¬¤Ç¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï¡¢¼«Ê¬¤Çʸ»ú°ìÍ÷¤òºîÀ®¤·¡¢¤µ¤é¤Ë¡¢¼«Ê¬¤Î»È¤¤ ¤ä¤¹¤¤¤è¤¦¤Ë¥á¥Ë¥å¡¼¤òÄêµÁ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ¤¿¤È¤¨¤Ð¡¢ \begin{nquote}{2em} \begin{enumerate} \item ÊÑ´¹Êý¼°¤ÎÊѹ¹¤Ê¤É¤Ï¤Û¤È¤ó¤É¹Ô¤ï¤Ê¤¤¤Î¤Ç¡¢¥á¥Ë¥å¡¼¤Ë¤Ï °ìÍ÷ɽ¼¨¤Èñ¸ìÅÐÏ¿¤À¤±¤¬¤¢¤ì¤Ð¤¤¤¤¡£ \item °ìÍ÷ɽ¼¨¤Ç¤Ï¡¢¼«Ê¬¤ÇºîÀ®¤·¤¿³ç¸Ì¤È¿ô³Øµ­¹æ¤Î°ìÍ÷¤âɽ¼¨¤·¤¿¤¤¡£ \end{enumerate} \end{nquote} ¤È¤¤¤¦¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤Þ¤¹¡£ \vspace{5mm} \newpage \begin{Verbatim}[frame=single] ; ʸ»ú°ìÍ÷ kakko ¤ÎÄêµÁ (defselection kakko "[³ç¸Ì]" '(?¡Ê ?¡Ë ?¡Ì ?¡Í ?¡Î ?¡Ï ?¡Ð ?¡Ñ ?¡Ò ?¡Ó)) ; ʸ»ú°ìÍ÷ keisan ¤ÎÄêµÁ (defselection keisan "[·×»»]" ¡¡'(?¡Ü ?¡Ý ?¡Þ ?¡ß ?¡à ?¡á ?¡â ?¡ã ?¡ä ?¡å ?¡æ ?¡ç ?¡è)) ; ¥á¥Ë¥å¡¼¤Ë°ìÍ÷¤ÈÅÐÏ¿¤òÄêµÁ¤¹¤ë (defmenu toplevel-menu ; ½é´ü menu ¤ÎÄêµÁ ("°ìÍ÷" menu1) ; menu1 ¤Ø ("ÅÐÏ¿" menu2) ; menu2 ¤Ø ) ; °ìÍ÷¤òÁªÂò¤¹¤ë¤È¡¢³ç¸Ì¡¢¿ô³Øµ­¹æ¡¢¥®¥ê¥·¥ã¸ì¤Î°ìÍ÷ɽ¼¨¤¬¤Ç¤­¤ë (defmenu menu1 ; menu1 ¤ÎÄêµÁ ("¥«¥Ã¥³" kakko) ; kakko ¤ò°ìÍ÷ɽ¼¨¤¹¤ë ("·×»»" keisan) ; keisan ¤ò°ìÍ÷ɽ¼¨¤¹¤ë ("¥®¥ê¥·¥ã" greek-mode) ; µ¡Ç½ greek-mode ¤ò¹Ô¤¦ ) ; ÅÐÏ¿¤òÁªÂò¤¹¤ë¤È¡¢Ã±¸ìÅÐÏ¿/ºï½ü¡¢¼­½ñ°ìÍ÷¤Îɽ¼¨¤¬¤Ç¤­¤ë (defmenu menu2 ; menu2 ¤ÎÄêµÁ ("ÅÐÏ¿" touroku-mode) ; µ¡Ç½ touroku-mode ¤ò¹Ô¤¦ ("ºï½ü" delete-dic-mode) ; µ¡Ç½ delete-dic-mode ¤ò¹Ô¤¦ ("¼­½ñ°ìÍ÷" jisho-ichiran) ; µ¡Ç½ jisho-ichiran ¤ò¹Ô¤¦ ) ; C-t ¤ò²¡¤¹¤È¡¢ÄêµÁ¤·¤¿¥á¥Ë¥å¡¼¤òɽ¼¨¤¹¤ë (set-key 'empty-mode "\C-t" 'toplevel-menu) \end{Verbatim} \vspace{5mm} ¤³¤Î¤è¤¦¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤È¡¢°Ê²¼¤Î¤è¤¦¤Ë¥á¥Ë¥å¡¼¤òÍøÍѤǤ­¤Þ¤¹¡£ \begin{enumerate} \item \CTRL + \fbox{t} ¤ò²¡¤·¤Æ¡¢¥á¥Ë¥å¡¼¤ËÆþ¤ë¡£ \label{initmenu} \begin{SCREEN} \verb+% + \CURSOR \\ {[³ÈÄ¥] \fbox{1} °ìÍ÷\,\,\, 2 ÅÐÏ¿} \SCREENRIGHT{1/2} \\ \end{SCREEN} \item {\dg\bf 1 °ìÍ÷} ¤òÁªÂò¤¹¤ë¡£ \label{slctichiran} \begin{SCREEN} \verb+% + \CURSOR \\ {[³ÈÄ¥] \fbox{1} ¥«¥Ã¥³\,\,\, 2 ·×»»\,\,\, 3 ¥®¥ê¥·¥ã} \SCREENRIGHT{1/3} \\ \end{SCREEN} \item {\dg\bf 1 ¥«¥Ã¥³} ¤òÁªÂò¤¹¤ë¡£ \begin{SCREEN} \verb+% + \CURSOR \\ {[³ç¸Ì] \fbox{¡Ê}\,\,\, ¡Ë\,\,\, ¡Ì\,\,\, ¡Í\,\,\, ¡Î\,\,\, ¡Ï\,\,\, ¡Ð\,\,\, ¡Ñ\,\,\, ¡Ò\,\,\, ¡Ó} \SCREENRIGHT{1/10} \\ \end{SCREEN} %\item (\ref{slctichiran})¤Ç¡¢{\dg\bf 2 ·×»»} ¤òÁªÂò¤¹¤ë¡£ \item (b)¤Ç¡¢{\dg\bf 2 ·×»»} ¤òÁªÂò¤¹¤ë¡£ \begin{SCREEN} \verb+% + \CURSOR \\ {[·×»»] \fbox{¡Ü}\,\,\, ¡Ý\,\,\, ¡Þ\,\,\, ¡ß\,\,\, ¡à\,\,\, ¡á\,\,\, ¡â\,\,\, ¡ã\,\,\, ¡ä\,\,\, ¡å\,\,\, ¡æ\,\,\, ¡ç\,\,\, ¡è} \SCREENRIGHT{1/13} \\ \end{SCREEN} %\item (\ref{initmenu})¤Ç¡¢{\dg\bf 2 ÅÐÏ¿} ¤òÁªÂò¤¹¤ë¡£ \item (a)¤Ç¡¢{\dg\bf 2 ÅÐÏ¿} ¤òÁªÂò¤¹¤ë¡£ \begin{SCREEN} \verb+% + \CURSOR \\ {[³ÈÄ¥] \fbox{1} ÅÐÏ¿\,\,\, 2 ºï½ü\,\,\, 3 ¼­½ñ°ìÍ÷} \SCREENRIGHT{1/3} \\ \end{SCREEN} \end{enumerate} \end{enumerate} Canna37p3/doc/man/guide/tex/customex.tex0100644000076500001200000003566407727326134017504 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: customex.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{\HIDX{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÎã}{¤«¤¹¤¿¤Þ¤¤¤¹¤Õ¤¢¤¤¤ë¤Î¤ì¤¤} {H0.F.0.0.0}} \label{F¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÎã} °Ê²¼¤Ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÎã¤È¤·¤Æunix.canna¤ª¤è¤Ójust.canna¤ò¼¨¤·¤Þ ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë¤Ï\refCANNALIBDIR /sample¤Î²¼¤Ë¸ºß¤·¤Þ¤¹¤Î¤Ç¼ÂºÝ ¤Ë´Ä¶­ÊÑ¿ôCANNAFILE¤Ç»ØÄꤹ¤ë¤Ê¤É¤·¤Æ»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ %\begin{enumerate} % --------------------------------(1) %\item {\tt unix.canna} \\ \section{\HIDX{unix.canna}{£Õ£Î£É£Ø¡¥£Ã£Á£Î£Î£Á}{H0.F.1.0.0}¥Õ¥¡¥¤¥ë} º¬¤Ã¤«¤é¤Î UNIX ¥æ¡¼¥¶¤Ë¤Ï default.canna ¤è¤ê¤â unix.canna ¤ÎÊý¤¬ÆëÀ÷ ¤ß¤ä¤¹¤¤¤È»×¤ï¤ì¤Þ¤¹¡£¿ô»ú¤Ê¤É¤Î¥Ç¥Õ¥©¥ë¥È¤òȾ³Ñʸ»ú¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ \begin{verbatim} ;; µ­¹æÃÖ¤­´¹¤¨ÊÑ´¹¤òÍøÍѤ¹¤ë¤«¡£ (setq use-symbolic-definition t) ;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê ; ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï ; (1) ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê ; (2) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê ; (3) CANNALIBDIR/dic (CANNALIBDIR ¤Ï¡¢Î㤨¤Ð /usr/lib/canna ¤Ç¤¹) ; ¤Î½ç¤Ë¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£ ; ;(setq romkana-table "unix.cbp") (setq romkana-table "default.cbp") ;; ³°Íè¸ìÊÑ´¹ ;(setq english-table "english.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ ; ; ¤¿¤Àñ¤Ë½ñ¤­Ê¤٤Ƥ¤¤ë¤Î¤Ïñ¸ìÅÐÏ¿¤ò¹Ô¤ï¤Ê¤¤¼­½ñ¤Ç¥·¥¹¥Æ¥à¼­½ñ¤Ê¤É¤¬ ; ¤³¤ì¤ËÅö¤¿¤ê¤Þ¤¹¡£ ; ; Éô¼ó¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :bushu ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£ ; ; ñ¸ìÅÐÏ¿¤ò¤·¤¿¤¤¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :user ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£Ã±¸ìÅÐ ; Ï¿¤ò¤¹¤ë¼­½ñ¤Ï¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ã±¸ìÅÐÏ¿¤µ¤»¤¿¤¤ ; ¼­½ñ¤Ï mkdic user ¤ÎÍͤʥ³¥Þ¥ó¥É¤òÂǤĤ³¤È¤Ç´Êñ¤ËºîÀ®¤¹¤ë¤³¤È¤¬¤Ç ; ¤­¤Þ¤¹¡£ ; (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) ;;; ¤µ¤Þ¤¶¤Þ¤Ê¥Ñ¥é¥á¥¿¤ÎÀßÄê ; ; ¿¿ÍýÃͤòÀßÄꤹ¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¿¿¤Ë¤Ä¤¤¤Æ¤Ï t ¡¢µ¶¤Ë¤Ä¤¤¤Æ¤Ï nil ¤òÀß ; Äꤷ¤Þ¤¹¡£ ; °ìÈÖ±¦¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¤è¤¦¤Ë¤¹¤ë¤« (setq cursor-wrap t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤Ë¥«¡¼¥½¥ë°Üư¤Ëα¤á¤ë(nil)¤«ÁªÂò¤Þ¤Ç¤·¤Æ ; ¤·¤Þ¤¦¤«(t) (setq select-direct t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¤«(t)¡£nil¤Î»þ¤Ï¿ô»ú¤¬É½¼¨¤µ¤ì¤Þ¤»¤ó (setq numerical-key-select t) ; default t ; ¸õÊäɽ¼¨»þ¤ËʸÀá¤Î¶èÀÚ¤ê¤Ë¶õÇò¤ò¤¤¤ì¤ë¤« (setq bunsetsu-kugiri nil) ; default nil ; ʸ»ú¥Ù¡¼¥¹¤Î°Üư¤ò¤¹¤ë¤«(t)¡£ nil¤Î»þ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îñ°Ì¤Ç¥«¡¼ ; ¥½¥ë°Üư¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ (setq character-based-move t) ; default t ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤¹¤ë¤« (setq reverse-widely nil) ; default nil ; ÉÑÅٳؽ¬¤ò¤¹¤ë¤« (setq gakushu t) ; default t ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é°ìö°ìÍ÷ɽ¼¨¤ò¤ä¤á¤ë¤« (setq quit-if-end-of-ichiran nil); default nil ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤷ¤Æ¤·¤Þ¤¦¤« (setq kakutei-if-end-of-bunsetsu nil) ; default nil ; °ìÍ÷ÁªÂò¸åƱ¤¸Ê¸Àá¤Ë¤È¤É¤Þ¤ë¤«(t)¡£nil¤Î»þ¤Ï°ìÍ÷ÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè ; ¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ (setq stay-after-validate t) ; default t ; ÆÉ¤ß¤òÆþÎÏÃæ¤Ë¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤òÂÇ¤Ä¤È¥í¡¼¥Þ»ú¤Þ¤Ç¥Ð¥é¥Ð¥é¤Ë¤¹¤ë¤« (setq break-into-roman t) ; default nil ; ²¿²ó¤ÎÊÑ´¹¥­¡¼¤Ç°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¤«¡£0¤òÆþ¤ì¤ë¤ÈÊÑ´¹¥­¡¼¤À¤±¤Ç¤Ï ; °ìÍ÷ɽ¼¨¤Ë¤Ï°Ü¤ê¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï C-w ¤òÆþÎϤ·¤Æ°ìÍ÷ɽ¼¨¤·¤Æ ; ²¼¤µ¤¤¡£ (setq n-henkan-for-ichiran 2) ; default 2 ; ñ¸ìÅÐÏ¿»þ¤Ëʸˡ´ØÏ¢¤Î¼ÁÌä¤ò¤¹¤ë¤«(t)¡£nil¤Î»þ¤ÏŬÅö¤ÊÉÊ»ì¤òÉÕ¤±¤Æ¤· ; ¤Þ¤¤¤Þ¤¹¡£ (setq grammatical-question t) ; default t ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¤« (setq kouho-count t) ; default t ; Ã༡ÊÑ´¹¤ò¤¹¤ë¤« (setq auto nil) ; default nil ; Ã༡ÊÑ´¹¤ò¤¹¤ë»þ¤Ë²¿¸Ä¤ÎʸÀá¤Þ¤Ç¤ò̤³ÎÄê¤ÇÊÝ»ý¤¹¤ë¤« (setq n-kouho-bunsetsu 16) ; default 16 ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¥¤¥ê¡¼¥¬¥ë¤Ê¥í¡¼¥Þ»ú¤ò¼Î¤Æ¤ë¤« (setq abandon-illegal-phonogram nil) ; default nil ; °ìÍ÷¤Î»þ¤â¼¡¤ÎÆþÎϤòǧ¤á¤ë¤« (setq allow-next-input t) ; default t ; ºÇ½é¤ÎÊÑ´¹¤Î»þ¤Þ¤Ç¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤òÃٱ䤹¤ë¤« (setq delay-connect t) ; default nil ; °ìʸ»ú¥ì¥Ù¥ë¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÊä½õ¥Æ¡¼¥Ö¥ë (if use-symbolic-definition (progn (defsymbol ?- "¡¼" "-" "¡Ý" "¡¾") (defsymbol ?/ "/" "¡¿" "¡¦") (defsymbol ?\\ "\\" "¡À" "¡ï") (defsymbol ?( "(" "¡Ê" "¡Ú" ?) ")" "¡Ë" "¡Û" ) (defsymbol ?[ "¡Ö" "¡Ø" "¡Î" "¡Ì" "[" ?] "¡×" "¡Ù" "¡Ï" "¡Í" "]") (defsymbol ?. "¡£" "¡¥" "." ?, "¡¢" "¡¤" "," ) (defsymbol ?0 "0" "£°" "¡»" "Îí" ?1 "1" "£±" "°ì" "°í" ?2 "2" "£²" "Æó" "Æõ" ?3 "3" "£³" "»°" "»²" ?4 "4" "£´" "»Í" "»Í" ?5 "5" "£µ" "¸Þ" "¸à" ?6 "6" "£¶" "Ï»" "Ï»" ?7 "7" "£·" "¼·" "¼·" ?8 "8" "£¸" "Ȭ" "Ȭ" ?9 "9" "£¹" "¶å" "¶å" ) (defsymbol ?? "?" "¡©" ?! "!" "¡ª") (defsymbol ?# "#" "¡ô") (defsymbol ?$ "$" "¡ð") (defsymbol ?% "%" "¡ó") (defsymbol ?& "&" "¡õ") (defsymbol ?+ "+" "¡Ü") (defsymbol ?* "*" "¡ö" "¡ß") (defsymbol ?_ "_" "¡²") (defsymbol ?' "'" "¡Ç") (defsymbol ?` "`" "¡Æ") (defsymbol ?\" "\"" "¡É") (defsymbol ?~ "~" "¡±" "¡Á") )) ;; delete ¥­¡¼¤â¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤ÈƱ¤¸½èÍý¤ò¤µ¤»¤ë (global-set-key "\Delete" 'delete-previous) ; necessary in using Emacs ;; Help ¤¬¤Ê¤¤¿Í¤â¤¤¤ë¤Î¤Ç F1 ¤Ç¤âƱ¤¸Æ°ºî¤ò¤µ¤»¤ë¡£ (global-set-key "\F1" 'extend-mode) \end{verbatim} \newpage % --------------------------------(2) %\item {\tt just.canna} \\ \section{\HIDX{just.canna}{£Ê£Õ£Ó£Ô¡¥£Ã£Á£Î£Î£Á}{H0.F.2.0.0}¥Õ¥¡¥¤¥ë} °ìÂÀϺ\footnote{°ìÂÀϺ¤Ï¥¸¥ã¥¹¥È¥·¥¹¥Æ¥à(³ô)¤Î¾¦É¸¤Ç¤¹}¤Ë¤ª¤±¤ëÆüËÜ¸ì ÆþÎÏÁàºî¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼ ¥Ö¥ë¤ËÀìÍѤΥơ¼¥Ö¥ë¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¼ç¤Ë°Ê²¼¤Î¤è¤¦¤ÊÁàºîË¡¤òÄó¶¡ ¤·¤Æ¤¤¤Þ¤¹¡£ {\tt \begin{center} \begin{tabular}{|c|l|} \hline ¥­¡¼ & µ¡Ç½ \\ \hline Space & ÊÑ´¹ \\ \hline Return & ³ÎÄê \\ \hline C-u & ¤Ò¤é¤¬¤ÊÊÑ´¹ \\ \hline C-i & ¥«¥¿¥«¥ÊÊÑ´¹ \\ \hline C-o & Ⱦ³ÑÊÑ´¹ \\ \hline C-p & ¥í¡¼¥Þ»ú \\ \hline C-n & ±¦Ê¸Àá°Üư \\ \hline ¢ª¡¢C-l & ±¦°Üư¡¢Ê¸Àá¿­¤Ð¤· \\ \hline ¢«¡¢C-k & º¸°Üư¡¢Ê¸Àá½Ì¤á \\ \hline ¢­ & ³ÎÄê \\ \hline \end{tabular} \end{center} } {\dg ;; °ìÂÀϺ¤Ç¤ÎÆþÎϤÎÁàºîÊýË¡¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë¤¿¤á¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} \begin{verbatim} ;;; ³ÈÄ¥¥á¥Ë¥å¡¼¤ò¤¢¤Þ¤ê»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢do-not-use-extend-mode ¤ò ;;; t ¤ËÀßÄꤷ¤Æ²¼¤µ¤¤¡£ (setq do-not-use-extend-mode nil) ;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê (setq romkana-table "just.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) ;ÆüËܸìÆþÎÏ on ¤Ë¤¹¤ë¡£ (set-key 'alpha-mode "\C-Xfer" 'japanese-mode) ; ±¦Ã¼¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¡£ (setq cursor-wrap t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤ËÁªÂò¤Þ¤Ç¤¹¤ë¡£ (setq select-direct t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¡£ (setq numerical-key-select t) ; default t ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îñ°Ì¤Ç¥«¡¼¥½¥ë¤ò°Üư¤¹¤ë¡£ (setq character-based-move nil) ; default t ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤·¤Ê¤¤¡£ (setq reverse-widely nil) ; default nil ; ÉÑÅٳؽ¬¤ò¤¹¤ë¡£ (setq gakushu t) ; default t ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é¡¢¤Þ¤¿ÀèÆ¬¤Î¸õÊä¤òɽ¼¨¤¹¤ë¡£ (setq quit-if-end-of-ichiran nil) ; default nil ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤹ¤ë¡£ (setq kakutei-if-end-of-bunsetsu t) ; default nil ; ÆÉ¤ß¤òÆþÎÏÃæ¤Ë¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤òÂǤĤÈʸ»ú¥Ù¡¼¥¹¤Çºï½ü¤ò¹Ô¤¦¡£ (setq break-into-roman nil) ; default nil ;°ìÍ÷¤«¤éÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè¤ÎʸÀá¤Ë°Üư¤¹¤ë¡£ (setq stay-after-validate nil) ; default t ; 2 ²óÊÑ´¹¥­¡¼¤ò²¡¤¹¤È°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¡£ (setq n-henkan-for-ichiran 2) ; default 2 ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¡£ (setq kouho-count t) ; default t ; ñ¸ìÅÐÏ¿/ºï½ü¤Îľ¸å¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¦ (setq auto-sync t) ; default t ;; ¥­¡¼¥Þ¥Ã¥× (global-unbind-key-function 'extend) (global-unbind-key-function 'shrink) (global-unbind-key-function 'forward) (global-unbind-key-function 'backward) (global-unbind-key-function 'previous) (global-unbind-key-function 'next) (global-unbind-key-function 'beginning-of-line) (global-unbind-key-function 'end-of-line) (global-unbind-key-function 'kill-to-end-of-line) (global-set-key "\Backspace" 'delete-previous) (global-set-key "\C-l" 'extend) (global-set-key "\C-k" 'shrink) (global-set-key "\Right" 'forward) (global-set-key "\C-d" 'forward) (global-set-key "\Left" 'backward) (global-set-key "\C-s" 'backward) (global-set-key "\C-Left" 'beginning-of-line) (global-set-key "\C-a" 'beginning-of-line) (global-set-key "\C-Right" 'end-of-line) (global-set-key "\C-f" 'end-of-line) (global-set-key "\Up" 'previous) (global-set-key "\C-n" 'next) (global-set-key "\Down" 'next) (global-set-key "\Return" 'kakutei) (global-set-key "\Escape" 'quit) ;; ÆþÎϥ⡼¥É¤ÎÄêµÁ (defmode zenkaku-hiragana-mode " ¤¢¸Ç " romkana-table '(zenkaku hiragana kakutei) t) (defmode zenkaku-katakana-mode " ¥¢¸Ç " romkana-table '(zenkaku katakana kakutei) t) (defmode hankaku-katakana-mode " ¥¢¸Ç " romkana-table '(hankaku katakana kakutei) t) (defmode zenkaku-eisu-mode " £Á¸Ç " nil '(zenkaku kakutei) nil) (defmode hankaku-eisu-mode " A ¸Ç " nil '(hankaku kakutei) nil) (set-key 'empty-mode "\C-Nfer" 'zenkaku-katakana-mode) (set-key 'zenkaku-katakana-mode "\C-Nfer" 'hankaku-katakana-mode) (set-key 'hankaku-katakana-mode "\C-Nfer" 'zenkaku-hiragana-mode) (set-key 'zenkaku-hiragana-mode "\C-Nfer" 'henkan-nyuuryoku-mode) (set-key 'empty-mode "\S-Nfer" 'zenkaku-eisu-mode) (set-key 'zenkaku-eisu-mode "\S-Nfer" 'hankaku-eisu-mode) (set-key 'hankaku-eisu-mode "\S-Nfer" 'henkan-nyuuryoku-mode) (global-set-key "\Nfer" 'henkan-nyuuryoku-mode) (set-key 'henkan-nyuuryoku-mode "\Nfer" 'hankaku-eisu-mode) (set-key 'empty-mode "\F10" 'kigou-mode) ;; ÆÉ¤ß¥â¡¼¥É»þ (let ((mode 'yomi-mode)) (set-key mode "\Delete" 'delete-next) (set-key mode "\C-u" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-i" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-o" 'hankaku) (set-key mode "\F8" 'hankaku) (set-key mode "\C-p" 'romaji) (set-key mode "\F9" 'romaji) (set-key mode "\C-l" 'forward) (set-key mode "\C-k" 'backward) (set-key mode "\Space" 'henkan) (set-key mode "\Xfer" 'henkan) (set-key mode "\C-n" 'kakutei) (set-key mode "\Down" 'kakutei) ) ;; ñ¸õÊä¥â¡¼¥É»þ (let ((mode 'tankouho-mode)) (set-key mode "\S-Right" 'forward) (set-key mode "\S-Left" 'backward) (set-key mode "\C-u" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-i" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-o" 'hankaku) (set-key mode "\F8" 'hankaku) (set-key mode "\C-p" 'romaji) (set-key mode "\F9" 'romaji) (set-key mode "\C-n" 'forward) (set-key mode "\Down" 'forward) (set-key mode "\Right" '(shinshuku-mode extend)) (set-key mode "\C-l" '(shinshuku-mode extend)) (set-key mode "\Left" '(shinshuku-mode shrink)) (set-key mode "\C-k" '(shinshuku-mode shrink)) (set-key mode "\Xfer" 'kouho-ichiran) (set-key mode "\Space" 'henkan) ) ;; ʸ»ú¼ï¥â¡¼¥É»þ (let ((mode 'mojishu-mode)) (set-key mode "\C-u" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-i" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-o" 'hankaku) (set-key mode "\F8" 'hankaku) (set-key mode "\C-p" 'romaji) (set-key mode "\F9" 'romaji) (set-key mode "\C-n" 'forward) (set-key mode "\Down" 'forward) (set-key mode "\Right" 'extend) (set-key mode "\Left" 'shrink) ) ;; °ìÍ÷¸õÊä¥â¡¼¥É»þ (let ((mode 'ichiran-mode)) (set-key mode "\S-Xfer" 'previous) (set-key mode "\Xfer" 'next) (set-key mode "\Space" 'forward) (if do-not-use-extend-mode (progn (set-key mode "\Up" 'backward) (set-key mode "\C-n" 'kakutei) (set-key mode "\Down" 'kakutei) (set-key mode "\Right" '(quit shinshuku-mode extend)) (set-key mode "\C-l" '(quit shinshuku-mode extend)) (set-key mode "\Left" '(quit shinshuku-mode shrink))) (set-key mode "\C-k" '(quit shinshuku-mode shrink)) (progn (set-key mode "\C-l" 'forward) (set-key mode "\C-k" 'backward))) ) ;; µ­¹æÆþÎϥ⡼¥É»þ (let ((mode 'kigou-mode)) (set-key mode "\C-l" 'forward) (set-key mode "\Space" 'forward) (set-key mode "\C-k" 'backward) (set-key mode "\S-Xfer" 'previous) (set-key mode "\Xfer" 'next) (if do-not-use-extend-mode (progn (set-key mode "\Up" 'backward) (set-key mode "\C-n" 'kakutei) (set-key mode "\Down" 'kakutei))) ) ;; ¿­½Ì¥â¡¼¥É»þ (let ((mode 'shinshuku-mode)) (set-key mode "\C-u" '(henkan hiragana)) (set-key mode "\F6" '(henkan hiragana)) (set-key mode "\C-i" '(henkan katakana)) (set-key mode "\F7" '(henkan katakana)) (set-key mode "\C-o" '(henkan hankaku)) (set-key mode "\F8" '(henkan hankaku)) (set-key mode "\C-p" '(henkan romaji)) (set-key mode "\F9" '(henkan romaji)) (set-key mode "\Right" 'extend) (set-key mode "\Left" 'shrink) (set-key mode "\C-n" 'forward) (set-key mode "\Down" 'forward) ) ;; ¥â¡¼¥Éɽ¼¨ (set-mode-display 'empty-mode " ¤¢Ï¢ ") (set-mode-display 'yomi-mode " ¤¢Ï¢ ") (set-mode-display 'henkan-nyuuryoku-mode " ¤¢Ï¢ ") (set-mode-display 'chikuji-yomi-mode " ¤¢¼« ") (set-mode-display 'chikuji-bunsetsu-mode " ¤¢¼« ") ;; ¥·¥ó¥Ü¥ë¤ÎÄêµÁ (defsymbol ?, "¡¢" "¡¤") (defsymbol ?. "¡£" "¡¥") (defsymbol ?[ "¡Ö" "¡Î" ?] "¡×" "¡Ï") (defsymbol ?/ "¡¦" "¡¿") \end{verbatim} %\end{enumerate} Canna37p3/doc/man/guide/tex/customfn.tex0100644000076500001200000002161707727326134017464 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: customfn.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{\HIDX{¥«¥¹¥¿¥Þ¥¤¥º¤ËÍѤ¤¤ëµ¡Ç½Ì¾°ìÍ÷ɽ}{¤«¤¹¤¿¤Þ¤¤¤¹¤Ë¤â¤Á¤¤ ¤ë¤­¤Î¤¦¤á¤¤¤¤¤Á¤é¤ó}{H0.C.0.0.0}} \label{C¥«¥¹¥¿¥Þ¥¤¥º¤ËÍѤ¤¤ëµ¡Ç½Ì¾°ìÍ÷ɽ} \begin{center} \begin{tabular}{|p{53mm}|p{45mm}|p{45mm}|} \hline \multicolumn{1}{|c|}{̾¡¡¡¡Á°} & \multicolumn{1}{|c|}{¥Ç¥Õ¥©¥ë¥È} & \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} \\ \hline japanese-mode & Xfer, C$-$o & ÆüËܸì¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline alpha-mode & Xfer, C$-$o & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline quoted-insert & C$-$q & ¼¡¤Î°ìʸ»ú¤ò̵¾ò·ï¤ËÆþÎϤ¹¤ë \\ \hline henkan-nyuuryoku-mode & $-$ & ÊÑ´¹ÆþÎϥ⡼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline self-insert & a¡Áz, A¡ÁZ, µ­¹æÅù.... & ¤½¤Îʸ»ú¤òÆþÎϤ¹¤ë \\ \hline henkan-or-self-insert & $-$ & ϢʸÀáÊÑ´¹»þ¡¢¥Ù¡¼¥¹¤¬¤Ò¤é¤¬¤Ê°Ê³°¤Î¤È¤­¡¢¤½¤Îʸ»ú¤òÆþÎϤ¹¤ë \\ \hline henkan-or-do-nothing & $-$ & Ã༡¼«Æ°ÊÑ´¹»þ¡¢¥Ù¡¼¥¹¤¬¤Ò¤é¤¬¤Ê°Ê³°¤Î¤È¤­¡¢¤Ê¤Ë¤â¹Ô¤ï¤Ê¤¤ \\ \hline hex-mode & $-$ & ¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline bushu-mode & $-$ & Éô¼óÆþÎϥ⡼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline kigou-mode & Insert & µ­¹æÆþÎϥ⡼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline russian-mode & $-$ & ¥í¥·¥¢Ê¸»úÆþÎϥ⡼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline greek-mode & $-$ & ¥®¥ê¥·¥ãʸ»úÆþÎϥ⡼¥É¤Ë°Ü¹Ô¤¹¤ë\\ \hline line-mode & $-$ & ·ÓÀþÆþÎϥ⡼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline chikuji-mode & $-$ & Ã༡¼«Æ°ÊÑ´¹¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline renbun-mode & $-$ & ϢʸÀáÊÑ´¹¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{53mm}|p{45mm}|p{45mm}|} \hline \multicolumn{1}{|c|}{̾¡¡¡¡Á°} & ¥Ç¥Õ¥©¥ë¥È & \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} \\ \hline undefined & $-$ & ¤½¤Î¥­¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ëµ¡Ç½¤ò̤ÄêµÁ¤ËÌ᤹ \\ \hline temporary & $-$ & ¸½ºß¤Î¥â¡¼¥É¤ò¥»¡¼¥Ö¤·¡¢¼¡¤Î¥â¡¼¥É¤Î½àÈ÷¤ò¤¹¤ë \\ \hline forward & ¢ª, C$-$f & ±¦°Üư \\ \hline backward & ¢«, C$-$b & º¸°Üư \\ \hline next & ¢­, C$-$n & ²¼°Üư \\ \hline previous & ¢¬, C$-$p & ¾å°Üư \\ \hline beginning-of-line & C$-$a & º¸Ã¼¤Ø°Üư \\ \hline end-of-line & C$-$e & ±¦Ã¼¤Ø°Üư \\ \hline delete-next & C$-$d & ¼¡°ìʸ»ú¾Ãµî \\ \hline delete-previous & Backspace, C$-$h & Á°°ìʸ»ú¾Ãµî \\ \hline kill-to-end-of-line & C$-$k & ¹ÔËö¤Þ¤Ç¾Ãµî \\ \hline henkan & Space, Xfer & ÊÑ´¹ \\ \hline kakutei & Nfer, Return, C$-$m, C$-$j & ³ÎÄê \\ \hline extend & S$-$¢ª, C$-$o & Îΰ迭¤Ð¤· \\ \hline shrink & S$-$¢«, C$-$i & Îΰè½Ì¤á \\ \hline bubun-kakutei & C$-$j & ¥«¡¼¥½¥ëÁ°¤Þ¤Ç¤ò³ÎÄꤹ¤ë \\ \hline shinshuku-mode & $-$ & ʸÀá¿­½Ì¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë \\ \hline quit & C$-$g & ¤È¤ê¤ä¤á \\ \hline extend-mode & Help & ¥á¥Ë¥å¡¼ \\ \hline touroku-mode & $-$ & ñ¸ìÅÐÏ¿ \\ \hline delete-dic-mode & $-$ & ñ¸ìºï½ü \\ \hline jisho-ichiran & $-$ & ¼­½ñ¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¾ðÊó¤òɽ¼¨¤¹¤ë \\ \hline sync-dictionary & $-$ & ¼­½ñ¤Î½ñ¤­¹þ¤ß¤ò¹Ô¤¦ \\ \hline show-sever-name & $-$ & ¥µ¡¼¥Ð¤òɽ¼¨¤¹¤ë \\ \hline switch-server & $-$ & ¥µ¡¼¥Ð¤òÀÚ¤êÂØ¤¨¤ë \\ \hline disconnect-server & $-$ & ¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ë \\ \hline show-gakushu & $-$ & ³Ø½¬¾õÂÖ¤òɽ¼¨¤¹¤ë \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{53mm}|p{45mm}|p{45mm}|} \hline \multicolumn{1}{|c|}{̾¡¡¡¡Á°} & ¥Ç¥Õ¥©¥ë¥È & \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} \\ \hline show-canna-version & $-$ & ¤«¤ó¤Ê¤Î¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë \\ \hline show-romkana-table & $-$ & ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤¹¤ë \\ \hline show-canna-file & $-$ & ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë \\ \hline convert-as-hex & C$-$y & 16¿Ê¿ô¤È¤ß¤Ê¤·¤ÆÊÑ´¹ \\ \hline convert-as-bushu & C$-$w & Éô¼ó̾¤È¤ß¤Ê¤·¤ÆÊÑ´¹ \\ \hline kouho-ichiran & C$-$w & ¸õÊä°ìÍ÷ɽ¼¨ \\ \hline zenkaku & $-$ & Á´³ÑÊÑ´¹ \\ \hline hankaku & $-$ & Ⱦ³ÑÊÑ´¹ \\ \hline to-upper & C$-$u & Âçʸ»ú¤ËÊÑ´¹ \\ \hline capitalize & $-$ & ÀèÆ¬¤À¤±¤òÂçʸ»ú¤ËÊÑ´¹ \\ \hline to-lower & C$-$l & ¾®Ê¸»ú¤ËÊÑ´¹ \\ \hline hiragana & $-$ & ¤Ò¤é¤¬¤ÊÊÑ´¹ \\ \hline katakana & $-$ & ¥«¥¿¥«¥ÊÊÑ´¹ \\ \hline romaji & $-$ & ¥í¡¼¥Þ»úÊÑ´¹ \\ \hline base-hiragana & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤ò¤Ò¤é¤¬¤Ê¤Ë¤¹¤ë \\ \hline base-katakana & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤ò¥«¥¿¥«¥Ê¤Ë¤¹¤ë \\ \hline base-kana & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤ò¥«¥Ê¤Ë¤¹¤ë \\ \hline base-eisu & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤ò±Ñ¿ô¤Ë¤¹¤ë \\ \hline base-zenkaku & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤òÁ´³Ñ¤Ë¤¹¤ë \\ \hline base-hankaku & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤òȾ³Ñ¤Ë¤¹¤ë \\ \hline base-kakutei & $-$ & ÆþÎϥ⡼¥É¤ò³ÎÄê¥â¡¼¥É¤Ë¤¹¤ë \\ \hline base-henkan & $-$ & ÆþÎϥ⡼¥É¤òÊÑ´¹¥â¡¼¥É¤Ë¤¹¤ë \\ \hline base-hiragana-katakana-toggle & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤ò¤Ò¤é¤¬¤Ê¤È¥«¥¿¥«¥Ê¤Ç¥È¥°¥ë¤¹¤ë\\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{53mm}|p{45mm}|p{45mm}|} \hline \multicolumn{1}{|c|}{̾¡¡¡¡Á°} & ¥Ç¥Õ¥©¥ë¥È & \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} \\ \hline base-zenkaku-hankaku-toggle & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤òÁ´³Ñ¤ÈȾ³Ñ¤Ç¥È¥°¥ë¤¹¤ë \\ \hline base-kana-eisu-toggle & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤ò¥«¥Ê¤È±Ñ¿ô¤Ç¥È¥°¥ë¤¹¤ë \\ \hline base-kakutei-henkan-toggle & $-$ & ÆþÎϥ⡼¥É¤ò³ÎÄê¤ÈÊÑ´¹¤Ç¥È¥°¥ë¤¹¤ë \\ \hline base-rotate-forward & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤ò½çÈÖ¤ËÀÚÂØ¤¨¤ë \\ \hline base-rotate-backward & $-$ & ÆþÎÏ¥Ù¡¼¥¹¤òµÕ½ç¤ËÀÚÂØ¤¨¤ë \\ \hline kana-rotate-forward & $-$ & ¤«¤Êʸ»ú¤À¤±¤Ç»ú¼ïÊÑ´¹¤¹¤ë \\ \hline romaji-rotate-forward & $-$ & ±Ñ¿ôʸ»ú¤À¤±¤Ç»ú¼ïÊÑ´¹¤¹¤ë \\ \hline case-rotate-forward & $-$ & Âçʸ»ú¾®Ê¸»ú¥­¥ã¥Ô¥¿¥é¥¤¥º¤À¤±¤Ç»ú¼ïÊÑ´¹¤¹¤ë \\ \hline henshu & C-c & ¥«¥ì¥ó¥ÈʸÀá¤òÆÉ¤ß¤ËÌ᤹ \\ \hline mark & C-Space, C-@ & ¥Þ¡¼¥¯ \\ \hline \end{tabular} \end{center} % Canna37p3/doc/man/guide/tex/func.tex0100644000076500001200000003030210043310761016530 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: func.tex,v 1.2.2.1 2004/04/26 22:49:21 aida_s Exp $ % \chapter{¥Ç¥Õ¥©¥ë¥È¤Ç¤Î\HIDX{µ¡Ç½°ìÍ÷ɽ}{¤­¤Î¤¦¤¤¤Á¤é¤ó¤Ò¤ç¤¦} {H0.B.0.0.0}} \label{B¥Ç¥Õ¥©¥ë¥È¤Ç¤Îµ¡Ç½°ìÍ÷ɽ} \hspace*{10mm}{\dg ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϾõÂ֤ˤª¤±¤ëµ¡Ç½} \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline ÆüËܸìÆþÎϥ⡼¥É & \XFER, C$-$o & ¡¡\\ ¤Ø¤Î°Ü¹Ô & & ¡¡ \\ \hline \end{tabular} \end{center} % % \vspace{5mm} \hspace*{10mm}{\dg ÆÉ¤ßÆþÎϤ¬¤Ê¤¤¾õÂ֤ˤª¤±¤ëµ¡Ç½} \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â & \XFER, C$-$o & \\ ¡¼¥É¤Ø¤Î°Ü¹Ô & & \\ \hline ÆÉ¤ß¤ÎÆþÎÏ & a, b, c¡Ä0, 1¡Ä & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤äµ­¹æ¤òÆþÎϤ¹¤ë¤³¤È¤Ë¤è¤êÆÉ¤ß¤¬ÆþÎϤµ¤ì¤¿¾õÂ֤ذܹԤ¹¤ë¡£\\ \hline µ­¹æÆþÎϥ⡼¥É¤Ø & \fbox{INS} & \\ ¤Î°Ü¹Ô & & \\ \hline °úÍÑʸ»úÎó¤ÎÁÞÆþ & C$-$q & °úÍÑʸ»úÎó¤ÎÁÞÆþ¤ò¹Ô¤¦¡£°úÍÑʸ»úÎó¤Î ÁÞÆþ¤ò³«»Ï¤¹¤ë¤¿¤á¤Îʸ»ú¤Î¼¡¤Î1ʸ»ú¤ò¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤»¤ºÆþÎϤ¹¤ë¡£ \\ \hline ³ÈÄ¥ & \fbox{HELP} & ³ÈÄ¥¥â¡¼¥É¤ËÆþ¤ë¡£\\ \hline \end{tabular} \end{center} % % \vspace{5mm} \hspace*{10mm}{\dg ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂ֤ˤª¤±¤ëµ¡Ç½} \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline ÆÉ¤ß¤Îºï½ü & \BS, C$-$h(º¸Êý¸þ) & º¸Ã¼¤Ç¤Îº¸Êý¸þºï½ü¤ª¤è¤Ó±¦Ã¼¤Ç¤Î ±¦Êý¸þºï½ü¤Ï̵¸ú¤Ç¤¢¤ë¡£ºï½ü¤·¤¿·ë²ÌÆÉ¤ß¤¬¶õ¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ÆÉ¤ß¤¬¤Ê¤¤¾õÂÖ¤Ë Ìá¤ë¡£ \\ \cline{2-3} & C$-$d(±¦Êý¸þ) & \\ \cline{2-3} & C$-$k(¥«¡¼¥½¥ë°Ê¹ß) & \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline ¥«¡¼¥½¥ë¤Î°Üư & C$-$a(º¸Ã¼) & \\ \cline{2-3} & C$-$e(±¦Ã¼) & \\ \cline{2-3} & \fbox{¢«}, C$-$b(º¸¤Ø) & º¸Ã¼¤«¤éº¸¤Ø°Üư¤·¤è¤¦¤È¤¹¤ë¤È ±¦Ã¼¤Ø°Üư¤¹¤ë¡£ \\ \cline{2-3} & \fbox{¢ª}, C$-$f(±¦¤Ø) & ±¦Ã¼¤«¤é±¦¤Ø°Üư¤·¤è¤¦¤È¤¹¤ë¤È º¸Ã¼¤Ë°Üư¤¹¤ë¡£ \\ \hline ÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹ & \fbox{Space}, \XFER & ñ¸õÊäɽ¼¨¾õÂ֤˰ܤ롣 \\ \hline ÆÉ¤ß¤ò¤½¤Î¤Þ¤Þ³Î & \RETURN, \NFER, C$-$m & ÆÉ¤ß¤ò³ÎÄꤷ¡¢ÆÉ¤ß¤¬¤Ê¤¤¾õÂÖ¤ËÌá \\ Äê & & ¤ë¡£ \\ \hline ÆÉ¤ß¤Î»ú¼ïÊÑ´¹ & \fbox{¢­}, C$-$n(½çÊÑ´¹) & »ú¼ïÊÑ´¹¾õÂ֤˰ܤ롣 \\ \cline{2-2} & \fbox{¢¬}, C$-$p(µÕÊÑ´¹) & \\ \hline Âçʸ»ú¾®Ê¸»úÊÑ´¹ & C$-$u(Âçʸ»ú) & ÆþÎϤò¥í¡¼¥Þ»ú¤ËÊÑ´¹¤·¤µ¤é¤Ë¡¢Âç \\ \cline{2-2} & C$-$l(¾®Ê¸»ú) & ʸ»ú¤Þ¤¿¤Ï¾®Ê¸»ú¤ËÊÑ´¹¤¹¤ë¡£ \\ \hline ÆÉ¤ß¤Î¼è¤ê¾Ã¤· & C$-$g & ÆÉ¤ß¤ò¼è¤ê¾Ã¤·¡¢ÆÉ¤ß¤¬¤Ê¤¤¾õÂÖ¤ËÌá¤ë¡£ \\ \hline °úÍÑʸ»úÎó¤ÎÁÞÆþ & C$-$q & °úÍÑʸ»úÎó¤ÎÁÞÆþ¤ò¹Ô¤¦¡£ °úÍÑʸ»úÎó¤ÎÁÞÆþ¤ò³«»Ï¤¹¤ë¤¿¤á¤Îʸ»ú¤Î¼¡¤Î1ʸ»ú¤ò¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤»¤ºÆþÎϤ¹¤ë¡£ \\ \hline ÆÉ¤ß¤òÉôʬ³ÎÄê & C$-$j & ¥«¡¼¥½¥ëÁ°¤ÎÆÉ¤ß¤ò³ÎÄꤹ¤ë¡£ \\ \hline ÆÉ¤ß¤ò16¿Ê¥³¡¼¥É & C$-$y & \\ ¤È¤ß¤Ê¤·¤ÆÊÑ´¹ & & \\ \hline ÆÉ¤ß¤òÉô¼ó̾¤È¤ß & C-w & \\ ¤Ê¤·¤ÆÊÑ´¹ & & \\ \hline ¥Þ¡¼¥¯¤ò¤Ä¤±¤ë & C-\fbox{Space},C-@ & \\ \hline \end{tabular} \end{center} % % \vspace{5mm} \hspace*{10mm}{\dg ñ¸õÊäɽ¼¨¾õÂ֤ˤª¤±¤ëµ¡Ç½} \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline ¼¡¤ÎÆÉ¤ß¤ÎÆþÎÏ & a, b, c, ¡Ä0, 1¡Ä & ¸õÊä¤ò³ÎÄꤷ¤Ê¤¤¤Þ¤Þ¼¡¤ÎÆÉ¤ß¤òÆþÎϤ¹¤ë¡£ ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂ֤Ȥʤ롣 \\ \hline ³Î¡¡¡¡Äê & \RETURN, \NFER, C$-$m & ¸õÊä¤ò³ÎÄꤷ¡¢ÆÉ¤ß¤Î¤Ê¤¤¾õÂÖ¤Ë Ìá¤ë¡£ \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline Éôʬ³ÎÄê & C$-$j & ¥«¡¼¥½¥ëÉôʬ¤è¤êº¸¤ÎʸÀá¤ò ³ÎÄꤹ¤ë¡£ \\ \hline ̵ÊÑ´¹¾õÂÖ¤Ø¤Î°Ü & \BS, C$-$g, C$-$h & ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ¤ËÌá¤ë¡£ \\ ¹Ô & & \\ \hline ʸÀá´Ö¤Î°Üư & C$-$a(º¸Ã¼) & \\ \cline{2-3} & C$-$e(±¦Ã¼) & \\ \cline{2-3} & \fbox{¢«}, C$-$b(º¸¤Ø) & º¸Ã¼¤«¤éº¸¤Ø°Üư¤·¤è¤¦¤È¤¹¤ë¤È ±¦Ã¼¤Ø°Üư¤¹¤ë¡£ \\ \cline{2-3} & \fbox{¢ª}, C$-$f(±¦¤Ø) & ±¦Ã¼¤«¤é±¦¤Ø°Üư¤·¤è¤¦¤È¤¹¤ë¤È º¸Ã¼¤Ë°Üư¤¹¤ë¡£ \\ \hline ʸÀá¤Î¿­½Ì & \TAB, C$-$i(ʸÀá½Ì¤á) & ʸÀá¤Ï1ʸ»úĹ°Ê²¼¤Ë¤Ï½Ì¤Þ¤Ê¤¤¡£ \\ \cline{2-3} & C$-$o(ʸÀá¿­¤Ð¤·) & ¤½¤ÎʸÀá¤è¤ê¸å¤ÎʸÀ᤬ ¶õ¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ï¤½¤ì°Ê¾åʸÀá¿­¤Ð¤·Áàºî¤Ï¹Ô¤¨¤Ê¤¤¡£ \\ \hline ¼¡¸õÊä/Á°¸õÊä¤Î & \fbox{Space}, \XFER & ºÇ¸å¤Î¸õÊä»þ¤Ë¼¡¸õÊä¤òɽ¼¨¤·¤è¤¦ \\ ɽ¼¨ & \fbox{¢­}, C$-$n(¼¡¸õÊä) & ¤È¤¹¤ë¤È¡¢°ìÈֺǽé¤Î¸õÊä¤Ë°Üư¤¹¤ë¡£ \\ \cline{2-3} & \fbox{¢¬}, C$-$p(Á°¸õÊä) & ºÇ½é¤Î¸õÊä»þ¤ËÁ°¸õÊä¤òɽ¼¨¤·¤è¤¦ \\ & & ¤È¤¹¤ë¤È¡¢°ìÈֺǸå¤Î¸õÊä¤Ë°Üư¤¹¤ë¡£ \\ \hline ¸õÊä°ìÍ÷ɽ¼¨ & C$-$w & ¸õÊä°ìÍ÷ɽ¼¨¾õÂ֤ذܹԤ¹¤ë¡£ \\ \hline ʸÀá¤ÎÊÔ½¸ & C$-$c & ¥«¥ì¥ó¥ÈʸÀá¤òÆÉ¤ß¤ËÌ᤹¡£ \\ \hline Âçʸ»ú¾®Ê¸»úÊÑ´¹ & C$-$u(Âçʸ»ú) & ¥«¥ì¥ó¥ÈʸÀá¤ò¥í¡¼¥Þ»ú¤ËÊÑ´¹¤·¡¢ \\ \cline{2-2} & C$-$l(¾®Ê¸»ú) & ¤µ¤é¤ËÂçʸ»ú¤Þ¤¿¤Ï¾®Ê¸»ú¤ËÊÑ´¹¤¹¤ë¡£ \\ \hline °ìʸ»úÁªÂò & C$-$k(ÀèÆ¬) & ¥«¥ì¥ó¥ÈʸÀá¤ÎÀèÆ¬¤Þ¤¿¤Ï \\ \cline{2-2} & C$-$d(ËöÈø) & ËöÈø¤Î°ìʸ»ú¤À¤±¤òÁªÂò¤¹¤ë¡£ \\ \hline \end{tabular} \end{center} % % \vspace{5mm} \hspace*{10mm}{\dg ¸õÊä°ìÍ÷ɽ¼¨¾õÂ֤ˤª¤±¤ëµ¡Ç½} \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline Áª¡¡¡¡Âò & \RETURN, \NFER, C$-$m & ¸õÊä¤òÁªÂò¤·¤Æ¡¢Ã±¸õÊäɽ¼¨¾õÂÖ ¤Ë°Ü¤ë¡£ \\ \hline ¼¡¸õÊä/Á°¸õÊ䤨 & C$-$a(º¸Ã¼) & \\ \cline{2-3} ¤Î°Üư & C$-$e(±¦Ã¼) & \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline ¼¡¸õÊä/Á°¸õÊ䤨 & \fbox{¢«}, C$-$b(Á°¸õÊ䤨) & ¸õÊäÎó¤Îº¸Ã¼¤ÇÁ°¸õÊ䤨°Üư¤¹¤ë¤È \\ ¤Î°Üư & & Á°¸õÊäÎó¤Î±¦Ã¼¤Ë°Üư¤¹¤ë¡£ ¤¿¤À¤·¡¢ºÇ½é¤Î¸õÊäÎó¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ºÇ¸å¤Î¸õÊäÎó¤Îº¸Ã¼¤Ë°Üư¤¹¤ë¡£ \\ \cline{2-3} & \fbox{Space}, \XFER & ¸õÊäÎó¤Î±¦Ã¼¤Ç¼¡¸õÊ䤨°Üư¤¹¤ë¤È \\ & \fbox{¢ª}, C$-$f(¼¡¸õÊ䤨) & ¼¡¸õÊäÎó¤Îº¸Ã¼¤Ë°Üư¤¹¤ë¡£ ¤¿¤À¤·¡¢ºÇ¸å¤Î¸õÊäÎó¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ºÇ½é¤Î¸õÊäÎó¤Îº¸Ã¼¤Ë°Üư¤¹¤ë¡£ \\ \hline ÈÖ¹æ¤Ë¤è¤ë°Üư & 1¡Á9 & Âбþ¤¹¤ëÈÖ¹æ¤Î¸õÊä¤òÁªÂò¤·¤Æ¡¢Ã±¸õÊä¾õÂÖ¤ËÌá¤ë¡£ \\ \hline ¼¡¸õÊäÎó/Á°¸õÊä & \fbox{¢­}, C$-$n(¼¡¸õÊäÎó) & ºÇ¸å¤Î¸õÊäÎó¤Ç¼¡¸õÊäÎ󤨰ܯ°¤¹¤ë \\ Îó¤Îɽ¼¨ & & ¤ÈºÇ½é¤Î¸õÊäÎó¤ÎƱ¤¸ÈÖ¹æ¤Î¸õÊä¤Ë°Üư¤¹¤ë¡£ \\ \cline{2-3} & \fbox{¢¬}, C$-$p(Á°¸õÊäÎó) & ºÇ½é¤Î¸õÊäÎó¤ÇÁ°¸õÊäÎó¤Ø °Üư¤¹¤ë¤ÈºÇ¸å¤Î¸õÊäÎó¤ÎƱ¤¸ÈÖ¹æ¤Î¸õÊä¤Ë°Üư¤¹¤ë¡£ \\ \hline ¸õÊä°ìÍ÷ɽ¼¨¤Î¼è & \BS, C$-$g,C$-$h & ñ¸õÊä¾õÂÖ¤ËÌá¤ë¡£ \\ ¤ê¾Ã¤· & & \\ \hline \end{tabular} \end{center} % % \vspace{5mm} \hspace*{10mm}{\dg »ú¼ïÊÑ´¹¾õÂ֤ˤª¤±¤ëµ¡Ç½} \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline ¼¡¤ÎÆÉ¤ß¤ÎÆþÎÏ & a, b, c, ¡Ä0, 1¡Ä & »ú¼ïÊÑ´¹¤ò³ÎÄꤷ¤Ê¤¤¤Þ¤Þ¡¢¼¡¤ÎÆÉ¤ß¤ò ÆþÎϤ¹¤ë¡£ \\ \hline ³Î¡¡¡¡Äê & \RETURN, \NFER, C$-$m & »ú¼ïÊÑ´¹¤ò³ÎÄꤷ¡¢ÆÉ¤ß¤Î¤Ê¤¤ ¾õÂÖ¤ËÌá¤ë¡£ \\ \hline ÆÉ¤ß¤Î»ú¼ïÊÑ´¹ & \fbox{¢­}, C$-$n(½çÊÑ´¹) & ¼¡¤Î»ú¼ï¤¬¤Ò¤é¤¬¤Ê¤Ç»ú¼ïÊÑ´¹Îΰè \\ & & ¤È̤³ÎÄêʸ»úÎ󤬰ìÃפ·¤Æ¤¤¤ë¤È¤­ \\ \cline{2-2} & \fbox{¢¬}, C$-$p(µÕÊÑ´¹) & ¤Ï¡¢»ú¼ïÊÑ´¹¥â¡¼¥É¤«¤éÈ´¤±¤Æ¡¢ÆÉ \\ & & ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂ֤ˤʤ롣 \\ \hline »ú¼ïÊÑ´¹¤Î¼è¤ê¾Ã & \BS, C$-$g & »ú¼ïÊÑ´¹¤ò¤È¤ê¤ä¤á¡¢ÆÉ¤ß¤òÆþÎϤ· \\ ¤· & & ¤Æ¤¤¤ë¾õÂÖ¤ËÌá¤ë¡£ \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline »ú¼ïÊÑ´¹Îΰè¤Î¿­ & C$-$o(Îΰ迭¤Ð¤·) & ÆÉ¤ßÁ´ÂΤ¬»ú¼ïÊÑ´¹¤ÎÂоݤǤ¢¤ë¤È \\ ½Ì & & ¤­¤Ë¡¢Îΰ迭¤Ð¤·¤ò¹Ô¤¦¤È¡¢ º¸Ã¼¤Î1ʸ»ú¤Î¤ß¤¬ÂоÝÎΰè¤È¤Ê¤ë¡£ \\ \cline{2-3} & \TAB, C$-$i(Îΰè½Ì¤á) & Îΰ褬1ʸ»úŤλþ¤ËÎΰè½Ì¤á¤ò ¹Ô¤¦¤È¡¢ÆÉ¤ßÁ´ÂΤ¬»ú¼ïÊÑ´¹¤ÎÂоÝÎΰè¤È¤Ê¤ë¡£ \\ \hline Âçʸ»ú/¾®Ê¸»úÊÑ & C$-$u(Âçʸ»úÊÑ´¹) & \\ \cline{2-3} ´¹ & C$-$l(¾®Ê¸»úÊÑ´¹) & \\ \hline ´Á»ú¤Ø¤ÎÊÑ´¹ & \fbox{Space}, \XFER & \\ \hline \end{tabular} \end{center} % % \vspace{5mm} \hspace*{10mm}{\dg µ­¹æÆþÎϥ⡼¥É¤Ë¤ª¤±¤ëµ¡Ç½} \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline ³Î¡¡¡¡Äê & \RETURN, \NFER & ¸õÊä¤ò³ÎÄꤹ¤ë¡£ \\ \hline ¼¡¸õÊä/Á°¸õÊ䤨 & C$-$a(º¸Ã¼) & \\ \cline{2-3} ¤Î°Üư & C$-$e(±¦Ã¼) & \\ \cline{2-3} & \fbox{¢«}, C$-$b(Á°¸õÊ䤨) & ¸õÊäÎó¤Îº¸Ã¼¤ÇÁ°¸õÊ䤨 °Üư¤¹¤ë¤ÈÁ°¸õÊäÎó¤Î±¦Ã¼¤Ë°Üư¤¹¤ë¡£¤¿¤À¤·¡¢ºÇ½é¤Î¸õÊäÎó¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ ºÇ¸å¤Î¸õÊäÎó¤Î±¦Ã¼¤Ë°Üư¤¹¤ë¡£ \\ \cline{2-3} & \fbox{Space}, \XFER & ¸õÊäÎó¤Î±¦Ã¼¤Ç¼¡¸õÊ䤨°Üư¤¹¤ë¤È \\ & \fbox{¢ª}, C$-$f(¼¡¸õÊ䤨) & ¼¡¸õÊäÎó¤Îº¸Ã¼¤Ë°Üư¤¹¤ë¡£ ¤¿¤À¤·¡¢ºÇ¸å¤Î¸õÊäÎó¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ºÇ½é¤Î¸õÊäÎó¤Îº¸Ã¼¤Ë°Üư¤¹¤ë¡£ \\ \hline ¼¡¸õÊäÎó/Á°¸õÊä & \fbox{¢­}, C$-$n(¼¡¸õÊäÎó) & ºÇ¸å¤Î¸õÊäÎó¤Ç¼¡¸õÊäÎ󤨰ܯ°¤¹¤ë \\ Îó¤Îɽ¼¨ & & ¤ÈºÇ½é¤Î¸õÊäÎó¤ÎƱ¤¸ÈÖ¹æ¤Î ¸õÊä¤Ë°Üư¤¹¤ë¡£ \\ \cline{2-3} & \fbox{¢¬}, C$-$p(Á°¸õÊäÎó) & ºÇ½é¤Î¸õÊäÎó¤ÇÁ°¸õÊäÎó¤Ø °Üư¤¹¤ë¤ÈºÇ¸å¤Î¸õÊäÎó¤ÎƱ¤¸ÈÖ¹æ¤Î¸õÊä¤Ë°Üư¤¹¤ë¡£ \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{32mm}|l|p{65mm}|} \hline \multicolumn{1}{|c|}{µ¡¡¡¡¡Ç½} & ¡¡¡¡¡¡¥­¡¼Áàºî¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¡¡¡¡È÷¡¡¡¡¡¡¡¡¡¡¹Í¡¡¡¡} \\ \hline µ­¹æÆþÎϤμè¤ê¾Ã & \BS, C$-$g & ÆÉ¤ß¤Î¤Ê¤¤¾õÂÖ¤ËÌá¤ë¡£ \\ ¤· & & ¤¿¤À¤·¡¢³ÈÄ¥ ¥â¡¼¥É¤«¤éµ­¹æÆþÎϥ⡼¥É¤ËÆþ¤Ã¤¿¾ì¹ç¡¢µ­¹æ¤ò 1 ¤Ä¤â³ÎÄꤷ¤Æ¤¤¤Ê¤¤¤È ¤­¤Ï¡¢1 ¤ÄÁ°¤Î²èÌ̤ËÌá¤ë¡£ \\ \hline \end{tabular} \end{center} Canna37p3/doc/man/guide/tex/hinshi.tex0100644000076500001200000000742207554213576017111 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: hinshi.tex,v 1.1.1.1 2002/10/19 08:27:42 aida_s Exp $ % \chapter{\HIDX{Éʻ쥳¡¼¥Éɽ}{¤Ò¤ó¤·¤³¡¼¤È¤Ò¤è¤¦}{H0.H.0.0.0}} \label{Éʻ쥳¡¼¥Éɽ} {\tt \begin{center} \begin{tabular}{|p{2.5cm}|p{7cm}|p{3cm}|}%roff \hline Éʻ쥳¡¼¥É & \multicolumn{1}{|c|}{ÉÊ»ì̾} & \multicolumn{1}{|c|}{Îã} \\ \hline \#T35 & ̾»ì(°ìÈÌŪ¤Ê̾»ì) & »³¡¢ËÜ \\ \#T30 & ¥µÊÑ̾»ì & ÅØÎÏ¡¢¸¡ºº \\ \#KK & ÃÄÂΡ¦²ñ¼Ò̾ & \\ \#JN & ¿Í̾ & \\ \#CN & ÃÏ̾ & \\ \#K5 & ư»ì(¤«¹Ô5ÃʳèÍÑ) & ÉÁ¤¯ \\ \#G5 & ư»ì(¤¬¹Ô5ÃʳèÍÑ) & Ãí¤° \\ \#S5 & ư»ì(¤µ¹Ô5ÃʳèÍÑ) & Åݤ¹ \\ \#T5 & ư»ì(¤¿¹Ô5ÃʳèÍÑ) & Àä¤Ä \\ \#N5 & ư»ì(¤Ê¹Ô5ÃʳèÍÑ) & »à¤Ì \\ \#B5 & ư»ì(¤Ð¹Ô5ÃʳèÍÑ) & ž¤Ö \\ \#M5 & ư»ì(¤Þ¹Ô5ÃʳèÍÑ) & ½»¤à \\ \#R5 & ư»ì(¤é¹Ô5ÃʳèÍÑ) & °ÒÄ¥¤ë \\ \#W5 & ư»ì(¤ï(¤¢)¹Ô5ÃʳèÍÑ) & ¸À¤¦ \\ \#KS & ư»ì(¾å²¼°ìÃʳèÍÑ) & ¹ß¤ê¤ë \\ \#KX & ư»ì(¥«ÊѳèÍÑ) & Íè¤ë \\ \#ZX & ư»ì(¥¶ÊѳèÍÑ) & ´¶¤º¤ë \\ \#SX & ư»ì(¥µÊѳèÍÑ) & ´Ø¤¹¤ë \\ \#K5r & ư»ì(¤«¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì) & ư¤¯ \\ \#C5r & ư»ì(¤«¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ìÆÃ¼ì)& ¹Ô¤¯ \\ \#G5r & ư»ì(¤¬¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì) & µÞ¤° \\ \#S5r & ư»ì(¤µ¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì) & ¼Ì¤¹ \\ \#T5r & ư»ì(¤¿¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì) & ¾¡¤Ä \\ \#B5r & ư»ì(¤Ð¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì) & Í·¤Ö \\ \#M5r & ư»ì(¤Þ¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì) & Êâ¤à \\ \#R5r & ư»ì(¤é¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì) & ¸«Ä¥¤ë \\ \end{tabular} \end{center} \begin{center} \begin{tabular}{|p{2.5cm}|p{7cm}|p{3cm}|} \#W5r & ư»ì(¤ï(¤¢)¹Ô5ÃʤÇÏ¢ÍÑ·Á¤¬Ì¾»ì)& °·¤¦ \\ \#KSr & ư»ì(¾å²¼1ÃÊ¡¤¸ì´´¤¬Ì¾»ì) & À¸¤­¤ë \\ \#KY & ·ÁÍÆ»ì & Èþ¤·¤¤¡¢Áᤤ \\ \#KYT & ·ÁÍÆ»ì & ¸Å¤¤ \\ \#T00 & ·ÁÍÆÆ°»ì(¥µÊÑ̾»ì¤È¤·¤Æ¤â»È¤¦) & ¿´ÇÛ¤À \\ \#T05 & ·ÁÍÆÆ°»ì & ¹¬±¿¤À \\ \#F04 & Éû»ì & \\ \#F06 & Éû»ì & \\ \#F12 & Éû»ì & \\ \#F14 & Éû»ì & ˰¤¯¤Þ¤Ç \\ \#KJ & ñ´Á»ú & \\ \#NN & ¿ô»ì & ²¿ \\ \#RT & Ï¢Âλì & \\ \#CJ & Àܳ»ì¡¦´¶Æ°»ì & µÚ¤Ó \\ \hline \end{tabular} \end{center} } Canna37p3/doc/man/guide/tex/Imakefile0100644000076500001200000000134307727326134016707 0ustar shinraadmin/* $Id: Imakefile,v 1.2 2003/09/09 10:33:00 takasan Exp $ */ #include "../../../../Canna.conf" CANNAROOT = ../../../.. INCLUDES = -I$(CANNAROOT)/include JLATEXCMD = latex DVI2PSCMD = dvi2ps DVIPDFMX = dvipdfmx SRCS = cannaindex.c AllTarget(canna.dvi) ConvertPathName(canna.tex,canna-dist.tex) SingleProgramTarget(cannaindex,cannaindex.o,,) DependTarget() canna.dvi: canna.tex cannaindex echo 'DUMMY' > candex.tex $(JLATEXCMD) canna.tex ./cannaindex canna.idx > candex.tex $(JLATEXCMD) canna.tex canna.ps: canna.dvi $(DVI2PSCMD) canna.dvi > canna.ps canna.pdf: canna.dvi $(DVIPDFMX) canna.dvi clean:: -$(RM) *.aux *.idx *.lof *.log *.lot *.toc clean:: $(RM) canna.tex canna.dvi canna.ps canna.pdf candex.tex Canna37p3/doc/man/guide/tex/jinput.tex0100644000076500001200000022120207727326134017127 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: jinput.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{ÆüËܸìÆþÎÏ} \label{3ÆüËܸìÆþÎÏ} \section{³µÀâ} \label{3.1³µÀâ} \subsection{ÆÃħ} \begin{itemize} \item ÆüËܸìÆþÎÏÊý¼° ¥«¥ÊÆþÎÏ¡¢¥í¡¼¥Þ»úÆþÎϤòÍѤ¤¤Æ¡¢¼¡¤Î¤è¤¦¤ÊÆüËܸìÆþÎϤ¬¹Ô¤¨¤Þ¤¹¡£ \begin{itemize} \item ¤«¤Ê´Á»úÊÑ´¹(³Ø½¬µ¡Ç½¤ò»ý¤ÄϢʸÀáÊÑ´¹¤ª¤è¤ÓÃ༡¼«Æ°ÊÑ´¹) \item ¤Ò¤é¤¬¤ÊÆþÎÏ \item ¥«¥¿¥«¥ÊÊÑ´¹ \item ¥í¡¼¥Þ»ú¤Ø¤ÎÊÑ´¹ \item Âçʸ»ú¾®Ê¸»úÊÑ´¹ \item 16¿Ê¥³¡¼¥ÉÊÑ´¹ \item µ­¹æÁªÂòÆþÎÏ \item Éô¼ó°ìÍ÷ÁªÂòÊÑ´¹ \item ñ¸ìÅÐÏ¿/ñ¸ìºï½ü \end{itemize} \item ¥­¡¼¥Ð¥¤¥ó¥É¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬²Äǽ¤Ç¤¹¡£ \item ¥¯¥é¥¤¥¢¥ó¥È¥µ¡¼¥ÐÊý¼°¤Ç¤¹¡£ \item Ê£¿ô¤Î¼­½ñ¤òƱ»þ¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ \item EUC ¤Î G0¡ÁG3 ¤Î 4 ¤Ä¤Îʸ»ú¥»¥Ã¥È¤ò»È¤¨¤Þ¤¹¡£ JISÂè1¡¦2¿å½à¤Îʸ»ú¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ \end{itemize} %------------(2)------------------- \subsection{¤«¤Ê´Á»úÊÑ´¹¼­½ñ} \label{³µÀ⡦¤«¤Ê´Á»úÊÑ´¹¼­½ñ} ¥·¥¹¥Æ¥à¼­½ñ¤ò´Þ¤á¡¢Ê£¿ô¤Î¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤òƱ»þ¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤Ë¤Ï¼¡¤Î 2 ¤Ä¤Î·Á¼°¤¬¤¢¤ê¤Þ¤¹¡£ \begin{itemize} \item \IDX{¥Æ¥­¥¹¥È·Á¼°¼­½ñ}{¤Æ¤­¤¹¤È¤±¤¤¤·¤­¤·¤·¤è} Ä̾ï¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¤Ç¤¹¡£Ã±¸ìÅÐÏ¿¤Ê¤É¤Ï¤³¤Î¼­½ñ¤ËÂФ·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£ ¥Æ¥­¥¹¥È·Á¼°¤Ç¤¹¤Î¤ÇÄ̾ï¤Î¥¨¥Ç¥£¥¿¤Ç¥á¥ó¥Æ¥Ê¥ó¥¹¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ \item \IDX{¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ}{¤Ï¤¤¤Ê¤ê¤±¤¤¤·¤­¤·¤·¤è} ¼­½ñ¤ÎÆÉ¤ß¹þ¤ß¤¬¹â®¤Ë¤Ê¤ë¤è¤¦¤Ê·Á¼°¤ËÊÑ´¹¤µ¤ì¤¿¼­½ñ¤Ç¤¹¡£ ñ¸ì¤ÎÄɲÃÅÐÏ¿¤Ï¹Ô¤¨¤Þ¤»¤ó¡£ \end{itemize} ¼­½ñ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¥Æ¥­¥¹¥È·Á¼°¤È¥Ð¥¤¥Ê¥ê·Á¼°¤ò Áê¸ßÊÑ´¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¼­½ñ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \refCANNALIBDIR /dic/canna %\footnote{\refCANNALIBDIR ¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ê¤É¤¬ %ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \\ %\CANNALIBDIR ¤Ë¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¤¬¡¢¤´»ÈÍѤΥޥ·¥ó¤Ç %¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤Ï¡Ø¤«¤ó¤Ê¡Ù¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¿Í¤Ë %³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£} ÇÛ²¼¤Î¤â¤Î¤¬»È¤ï¤ì¤Þ¤¹¡£ \refCANNALIBDIR ¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ê¤É¤¬ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï \CANNALIBDIR ¤Ë¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¤¬¡¢¤´»ÈÍѤΥޥ·¥ó¤Ç ¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¿Í¤Ë ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ \section{¤«¤Ê´Á»úÊÑ´¹¤Î»ÅÍÍ} ËÜ¥·¥¹¥Æ¥à¤Î¤«¤Ê´Á»úÊÑ´¹¤Î»ÅÍͤϰʲ¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ \vskip 0.5cm \begin{center} \begin{tabular}{|l|p{8cm}|}\hline ´ðËܼ­½ñ¤Î¸ì¿ô & Ìó8Ëü¸ì \\ Ʊ»þ»ÈÍѲÄǽ¼­½ñ¿ô & ¥·¥¹¥Æ¥à¡¢Éô¼ó¡¢¥æ¡¼¥¶¡¢¥°¥ë¡¼¥×¼­½ñ¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ15¸Ä \\ ÉÊ»ì¿ô & 440ÉÊ»ì \\ ÆÉ¤ß¤È¤·¤ÆÍѤ¤¤ë¤³¤È¤Î¤Ç¤­¤ë»ú¼ï & EUC¥³¡¼¥É G0¡¢G1¡¢G2¡¢G3Îΰè¤Îʸ»ú \\ ¸õÊä¤È¤·¤ÆÍѤ¤¤ë¤³¤È¤Î¤Ç¤­¤ë»ú¼ï & EUC¥³¡¼¥É G0¡¢G1¡¢G2¡¢G3Îΰè¤Îʸ»ú\\ ¤Ò¤È¤Ä¤ÎÆÉ¤ß¤ËÂФ¹¤ë¸õÊä¤ÎºÇÂç¿ô & 255¸Ä \\ ÆÉ¤ß¤ÎºÇÂçĹ & (251 $-$ ¸õÊä¥Ð¥¤¥ÈĹ)¥Ð¥¤¥È \\ ¸õÊä¤ÎºÇÂçĹ & 31ʸ»ú\\ ¥Æ¥­¥¹¥È¼­½ñ¤Î°ì¹Ô¤ÎºÇÂçĹ & 1023 ¥Ð¥¤¥È\\ \hline \end{tabular} \end{center} \vskip 0.5cm \section{ÆüËܸìÆþÎϤˤª¤±¤ë\HIDX{¥â¡¼¥É}{¤â¡¼¤È}{H0.3.3.0.0}¤Î¼ïÎà} \label{3.2.1ÆüËܸìÆþÎϤˤª¤±¤ë¥â¡¼¥É¤Î¼ïÎà} \HIDX{ÆþÎϥ⡼¥É}{¤Ë¤å¤¦¤ê¤ç¤¯¤â¡¼¤È}{H0.3.3.0.0}¤Ë¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤ÈÆüËܸìÆþÎϥ⡼¥É¤¬¤¢¤ê¤Þ¤¹¡£ \begin{enumerate} \item {\dg \HIDX{¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É}{¤¢¤ë¤Õ¤¢¤Ø¤Ä¤È¤Ë¤æ¤¦¤ê¤è¤¯ ¤â¡¼¤È}{H0.3.3.0.0}} ASCIIʸ»ú¤ÎÆþÎϤȡ¢¤«¤Ê¥í¥Ã¥¯¥­¡¼¤ò»È¤Ã¤Æ Ⱦ³Ñ¥«¥Êʸ»ú¤ÎÆþÎϤò¹Ô¤¦Ä̾ï¤Î¥â¡¼¥É¤Ç¤¹¡£ \item {\dg \HIDX{ÆüËܸìÆþÎϥ⡼¥É}{¤Ë¤Û¤ó¤³¤Ë¤å¤¦¤ê¤ç¤¯¤â¡¼¤È}{H0.3.3.0.0}} ¤Ò¤é¤¬¤Ê¡¦¥«¥¿¥«¥Ê¡¦´Á»ú¡¦µ­¹æ¤Ê¤É¤òÆþÎϤ¹¤ë¤¿¤á¤Î¥â¡¼¥É¤Ç¤¹¡£ ¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢±Ñ»ú¥­¡¼¤ò»È¤Ã¤Æ¥í¡¼¥Þ»ú¤ÇÆþÎϤ¹¤ë¤È¤Ò¤é¤¬¤Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ ÆüËܸìÆþÎϥ⡼¥É¤Ë¤Ï¡¢ ÊÑ´¹ÆþÎϥ⡼¥É¡¦µ­¹æÆþÎϥ⡼¥É¡¦³ÎÄêÆþÎϥ⡼¥É¤¬¤¢¤ê¤Þ¤¹¡£ \begin{enumerate} \item \HIDX{ÊÑ´¹ÆþÎϥ⡼¥É}{¤Ø¤ó¤«¤ó¤Ë¤æ¤¦¤ê¤è¤¯¤â¡¼¤È}{H0.3.3.0.0.a} \hptar{label=H0.3.3.0.0.a}¤«¤Ê´Á»úÊÑ´¹¤òȼ¤Ã¤Æ¡¢ÆüËܸìʸ»úÎó¤òÆþÎϤ¹¤ë¤¿¤á¤Î¥â¡¼¥É¤Ç¤¹¡£ ¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢ÆþÎϤµ¤ì¤¿ÆÉ¤ß¤ËÂФ·¤Æ¡¢ ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤Ã¤¿¤êʸ»ú¼ïÊÑ´¹¤ò¹Ô¤Ã¤Æ ÆÉ¤ßÆþÎϤò¥«¥¿¥«¥Ê¤ä±Ñ¿ôʸ»ú¤ËÊÑ´¹¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢Éô¼ó̾¤Ë¤è¤ëÊÑ´¹¤ä¡¢16¿Ê¥³¡¼¥É¤Ë¤è¤ëÊÑ´¹¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \item \HIDX{Éô¼óÆþÎϥ⡼¥É}{¤Õ¤·¤æ¤Ë¤æ¤¦¤ê¤è¤¯¤â¡¼¤È}{H0.3.3.0.0.a} ´Á»ú¤Ï¤ï¤«¤Ã¤Æ¤¤¤ë¤±¤ì¤É¤âÆÉ¤ß¤¬¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ë¡¢ Éô¼ó¤Ë¤è¤ëÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤Î¥â¡¼¥É¤Ç¤¹¡£ \item \HIDX{16¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É}{£±£¶¤·¤ó¤³¡¼¤È¤Ë¤æ¤¦¤ê¤è¤¯¤â¡¼¤È} {H0.3.3.0.0.a} 16¿Ê¥³¡¼¥É¤Ë¤è¤ëÆþÎϤò¹Ô¤¦¥â¡¼¥É¤Ç¤¹¡£ \item \HIDX{µ­¹æÆþÎϥ⡼¥É}{¤­¤³¤¦¤Ë¤æ¤¦¤ê¤è¤¯¤â¡¼¤È}{H0.3.3.0.0.a} ÆÃ¼ì¤Êµ­¹æ¤Ê¤É¤òÆþÎϤ¹¤ë¤¿¤á¤Î¥â¡¼¥É¤Ç¤¹¡£ \item \HIDX{³ÎÄêÆþÎϥ⡼¥É}{¤«¤¯¤Æ¤¤¤Ë¤æ¤¦¤ê¤è¤¯¤â¡¼¤È}{H0.3.3.0.0.a} ¤Ò¤é¤¬¤Ê¡¢Á´³Ñ¥«¥¿¥«¥Ê¡¢È¾³Ñ¥«¥¿¥«¥Ê¡¢Á´³Ñ±Ñ¿ô¡¢È¾³Ñ±Ñ¿ô¤Ê¤É¤ò ÆþÎϤ¹¤ë¤¿¤á¤Î¥â¡¼¥É¤Ç¤¹¡£ ¤¿¤À¤·¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Îµ¡Ç½¤ËÂФ¹¤ë¥­¡¼¤Ï³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£ \end{enumerate} \end{enumerate} \newpage \section{ÆüËܸìÆþÎϤÎ\HIDX{¥â¡¼¥Éɽ¼¨}{¤â¡¼¤È¤Ò¤ç¤¦¤·}{H0.3.4.0.0}} \label{3.2.2ÆüËܸìÆþÎϤΥ⡼¥É¤Îɽ¼¨} ÆüËܸìÆþÎϥ⡼¥É¤Ç¤Ï¡¢²èÌ̤κDz¼¹Ô¤ò\IDX{¥¬¥¤¥É¥é¥¤¥ó}{¤«¤¤¤È¤é¤¤¤ó}¤È ¤·¤Æ»ÈÍѤ·¡¢¤³¤Î¥¬¥¤¥É¥é¥¤¥ó¤ËÆþÎϥ⡼¥É¤òɽ¼¨¤·¤Þ¤¹¡£ ¥¬¥¤¥É¥é¥¤¥ó¤Ë¤Ï¡¢¡Î ¤¢ ¡Ï¡¢¡Îµ­¹æ¡Ï¤Ê¤É¡¢ÆþÎϥ⡼¥É¤Ë±þ¤¸¤¿¥á¥Ã¥»¡¼¥¸¤¬ ɽ¼¨¤µ¤ì¤Þ¤¹ (¿Þ\ref{3-1¥¬¥¤¥É¥é¥¤¥ó¤Î¥Ç¡¼¥¿ÆþÎϥ⡼¥Éɽ¼¨} »²¾È)¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ÊÑ´¹ÆþÎϥ⡼¥É»þ¤Ï¡Î ¤¢ ¡Ï¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ ¸õÊä¤Î°ìÍ÷¤Ê¤É¤Ï¡¢¥¬¥¤¥É¥é¥¤¥ó¤Î±¦Â¦¤Î;ÇòÉôʬ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ \begin{figure}[hbtp] \caption{¥¬¥¤¥É¥é¥¤¥ó¤Î¥Ç¡¼¥¿ÆþÎϥ⡼¥Éɽ¼¨} \label{3-1¥¬¥¤¥É¥é¥¤¥ó¤Î¥Ç¡¼¥¿ÆþÎϥ⡼¥Éɽ¼¨} \begin{center} %\epsfile{file=../zukei/modedisp.eps,scale=0.65} \includegraphics[scale=0.65]{../zukei/modedisp.eps} \end{center} \end{figure} \newpage \section{\HIDX{ÆþÎϥ⡼¥É¤ÎÀÚ¤êÂØ¤¨}{¤Ë¤æ¤¦¤ê¤è¤¯¤â¡¼¤È¤Î¤­¤ê¤«¤¨}{H0.3.5.0.0}¤ÎÁàºî¤È¥â¡¼¥É¤Î°Ü¹Ô} \label{3.2.3ÆþÎϥ⡼¥É¤ÎÀÚ¤êÂØ¤¨¤ÎÁàºî¤È¥â¡¼¥É¤Î°Ü¹Ô} ÆþÎϥ⡼¥É¤ÎÀÚ¤êÂØ¤¨¤Ï¥­¡¼Áàºî¤Ë¤è¤Ã¤Æ¹Ô¤¤¤Þ¤¹¡£ ¿Þ\ref{3-2ÆþÎϥ⡼¥É¤ÎÀÚ¤êÂØ¤¨¤ÎÁàºî¤È¥â¡¼¥É¤Î°Ü¹Ô}¤Ï¡¢ÀÚ¤êÂØ¤¨Áàºî¤È ¥â¡¼¥É¤Î°Ü¹Ô¤ÎÍͻҤò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ¤¿¤À¤·¡¢"\CTRL + ¢¢"¤Ï¥³¥ó¥È¥í¡¼¥ë¥­¡¼¤ò²¡¤·¤Ê¤¬¤é ¼¡¤Î¥­¡¼¤ò²¡¤¹¤È¤¤¤¦°ÕÌ£¤òɽ¤·¤Þ¤¹¡£ Ʊ¤¸°ÕÌ£¤Ç\IDX{C-¡ß¡ß}{£Ã¡Ý¤Ð¤Ä¤Ð¤Ä}¤Î¤è¤¦¤Êɽµ­¤ò¤¹¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ \begin{figure}[hbtp] \caption{ÆþÎϥ⡼¥É¤ÎÀÚ¤êÂØ¤¨¤ÎÁàºî¤È¥â¡¼¥É¤Î°Ü¹Ô} \label{3-2ÆþÎϥ⡼¥É¤ÎÀÚ¤êÂØ¤¨¤ÎÁàºî¤È¥â¡¼¥É¤Î°Ü¹Ô} \begin{center} %\epsfile{file=../zukei/modes.eps,scale=0.58} \includegraphics[scale=0.58]{../zukei/modes.eps} \end{center} \end{figure} \newpage \section{´ðËÜÁàºî} ¡Ø¤«¤ó¤Ê¡Ù¤Ç¤Ï°Ê²¼¤Î¥­¡¼¤ò´ðËÜÁàºî¤Î¥­¡¼¤È¤·¤Æ»È¤¤¤Þ¤¹¡£ \begin{figure}[hbtp] \caption{´ðËÜÁàºî¤Î¥­¡¼} \label{´ðËÜÁàºî¤ËÍѤ¤¤ë¥­¡¼} \begin{center} %\epsfile{file=../zukei/key.eps} \includegraphics{../zukei/key.eps} \end{center} \end{figure} ¤Þ¤¿¡¢Ìð°õ¥­¡¼¤Ë¤Ä¤¤¤Æ¤Ï¡¢Emacs ¤Î¥­¡¼³ä¤êÅö¤Æ¤Ë¹ç¤ï¤»¤Æ¥³¥ó¥È¥í¡¼¥ë¥­¡¼ ¤ÇÂåÂØ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ \HIDXAS{¥­¡¼Áàºî}{¤­¡¼¤½¤¦¤µ}{H0.3.6.0.0} \begin{table}[hbtp] \centering \caption{¥­¡¼Áàºî} \label{¥­¡¼Áàºî} \begin{tabular}{|c|l|} \hline & \\ ¡¡¡¡¡¡¡¡¥­¡¡¡¼¡¡¡¡¡¡¡¡ & \multicolumn{1}{|c|}{¤«¤Ê´Á»úÊÑ´¹¤Ç¤Îµ¡Ç½} \\ & \\ \hline \XFER & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤ÈÆüËܸìÆþÎϥ⡼¥É \\ & ¤È¤ÎÁê¸ßÀÚ¤êÂØ¤¨¡¢ÊÑ´¹¡¢¼¡¸õÊä \\ \hline \fbox{\rule[0mm]{0mm}{3mm}¡¡¡¡¡¡} & ÊÑ´¹¡¢¼¡¸õÊä \\ \hline \RETURN ¡¡¡¢ CTRL$-$m & ³ÎÄê \\ \hline \BS ¡¡¡¢ CTRL$-$h & ¥«¡¼¥½¥ëº¸Ê¸»úºï½ü¡¢´Á»ú¤òÆÉ¤ß¤ËÌ᤹ \\ \hline \fbox{¢«} ¡¡¡¢ CTRL$-$b & ¥«¡¼¥½¥ëº¸¡¢º¸¸õÊä¡¢º¸Ê¸ÀáÁªÂò \\ \hline \fbox{¢ª} ¡¡¡¢ CTRL$-$f & ¥«¡¼¥½¥ë±¦¡¢±¦¸õÊä¡¢±¦Ê¸ÀáÁªÂò \\ \hline CTRL$-$g & ¼è¤ê¤ä¤á \\ \hline \fbox{¢­} ¡¡¡¢ CTRL$-$n & ¼¡»ú¼ï¡¢¼¡¸õÊäɽ¼¨¡¢¼¡¤Î¸õÊä°ìÍ÷ɽ¼¨ \\ \hline \fbox{¢¬} ¡¡¡¢ CTRL$-$p & Á°»ú¼ï¡¢Á°¸õÊäɽ¼¨¡¢Á°¤Î¸õÊä°ìÍ÷ɽ¼¨ \\ \hline \end{tabular} \end{table} \newpage \section{¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤ÈÊÑ´¹ÆþÎϥ⡼¥É¤ÎÀÚ¤êÂØ¤¨Áàºî} \label{3.2.4¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤ÈÊÑ´¹ÆþÎϥ⡼¥É¤ÎÀÚ¤êÂØ¤¨Áàºî} ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤È¡¢ÆüËܸ줬ÆþÎϤǤ­¤ëÊÑ´¹ÆþÎϥ⡼¥É¤È¤ò ÀÚ¤êÂØ¤¨¤ë¤Ë¤Ï \XFER ¤Þ¤¿¤Ï \CTRL + \fbox{o} ¤òÍѤ¤¤Þ¤¹¡£ \begin{enumerate} \item ²¿¤â¤·¤Ê¤¤¾õÂ֤Ǥϡ¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤Ç¤¹¡£ \begin{SCREEN} \verb+% + \CURSOR \\ \\ \end{SCREEN} \item \XFER ¤Þ¤¿¤Ï \CTRL + \fbox{o} ¤ò²¡¤¹¤ÈÊÑ´¹ÆþÎϥ⡼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item ¤â¤¦°ìÅÙ \XFER ¤Þ¤¿¤Ï \CTRL + \fbox{o} ¤ò²¡¤¹¤È¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþ Îϥ⡼¥É¤ËÌá¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹}{¤í¡¼¤Þ¤·¤«¤Ê¤Ø¤ó¤«¤ó}{H0.3.8.0.0}} \label{3.2.5¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹} ÊÑ´¹ÆþÎϥ⡼¥É¤Ç¤Ï¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥í¡¼¥Þ»ú¤Ë¤è¤ëÆþÎϤò¤«¤Ê¤ËÊÑ´¹¤¹¤ëµ¬Â§ ¤Ï {\dg ÉÕÏ¿ \ref{D¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹É½} \hpref{count=9,label=H0.D.0.0.0} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹É½} ¤Ë½¾¤Ã¤Æ¤¤¤Þ¤¹¡£ ÆþÎϤµ¤ì¤¿¥í¡¼¥Þ»ú¤Î¥Ç¡¼¥¿¤Ï¡¢¤«¤Êʸ»ú¤ËÊÑ´¹²Äǽ¤Ë¤Ê¤Ã¤¿»þÅÀ¤Ç¡¢ ¤«¤Êʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï¡¢ÆÃ¤ËÃí°Õ¤¹¤Ù¤­ÅÀ¤À¤±¤ò¼¨¤·¤Þ¤¹¡£ \begin{enumerate} \item ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÉÔ²Äǽʸ»ú¤Î½èÍý ÆþÎϤµ¤ì¤¿¥í¡¼¥Þ»ú¤Î¤¦¤Á¡¢¤«¤Êʸ»ú¤ËÊÑ´¹¤Ç¤­¤Ê¤¤Ê¸»ú¤Ï¤½¤Î¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{nquote}{2em} {\dg\bf Îã)¡¡aiu()BCD ¢ª ¤¢¤¤¤¦()BCD} \end{nquote} ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤ÏÂçʸ»ú¤Ë´Ø¤·¤Æ¤Ï¤¤¤º¤ì¤Îʸ»ú¤â¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ë¤Ï ÍѤ¤¤é¤ì¤Þ¤»¤ó¡£ \item ¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤Î½èÍý »Ò²»¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂ֤ǡ¢¤«¤Ê¤ËÊÑ´¹¤µ¤ì¤ëÁ°¤Ë \BS ¤¬²¡¤µ¤ì¤Æ¤â¡¢ ÆþÎϺѤλҲ»¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÂоݤȤ·¤ÆÍ­¸ú¤Ç¤¹¡£ ¼¡¤ËÆþÎϤµ¤ì¤ëʸ»ú¤ÈÁȹç¤ï¤µ¤ì¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢°Ê²¼¤ÎÎã¤Ç¤Ï¥­¡¼Áàºî¤Î·ë²Ì¤Ï¡Ö¤·¤§¡×¤Ë¤Ê¤ê¡Ö£ó¤Ø¡×¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ \begin{nquote}{1em} \begin{tabular}{lll} \multicolumn{3}{l}{sh \BS \,he¤ÈÆþÎϤ·¤¿¾ì¹ç} \\ ¡¡ & ¥­¡¼Áàºî¡¡¡¡ & ɽ¼¨ \\ ¡¡ & s & \fbox{s} \\ ¡¡ & h & \fbox{sh} \\ ¡¡ & \BS & \fbox{s} \\ ¡¡ & h & \fbox{sh} \\ ¡¡ & e & \fbox{¤·¤§} \\ \end{tabular} \end{nquote} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÆþÎÏÃæ¤Ë¡¢ \BS ¤ò²¡¤¹¤È¡¢¥í¡¼¥Þ»ú¤Î 1 ¤ÄÁ°¤Îʸ»ú¤Ç¤Ï¤Ê¤¯¡¢ ɽ¼¨¤µ¤ì¤Æ¤¤¤ë 1 ¤ÄÁ°¤Îʸ»ú¤¬¾Ãµî¤µ¤ì¤Þ¤¹¡£ °Ê²¼¤ÎÎã¤Ç¤Ï \BS ¤ÎÆþÎϤˤè¤Ã¤Æ¡Ö¤¯¡×¤À¤±¤¬»Ä¤ê¡Ö¤¯t¡×¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ \begin{nquote}{1em} \begin{tabular}{lll} \multicolumn{3}{l}{kutu \BS ¤ÈÆþÎϤ·¤¿¾ì¹ç} \\ ¡¡ & ¥­¡¼Áàºî¡¡¡¡ & ɽ¼¨ \\ ¡¡ & k & \fbox{k} \\ ¡¡ & u & \fbox{¤¯} \\ ¡¡ & t & \fbox{¤¯t} \\ ¡¡ & u & \fbox{¤¯¤Ä} \\ ¡¡ & \BS & \fbox{¤¯} \\ \end{tabular} \end{nquote} ƱÍͤˡ¢ °Ê²¼¤ÎÎã¤Ç¤Ï \BS ¤ÎÆþÎϤˤè¤Ã¤Æ¡Ö¤ã¡×¤¬¾Ãµî¤µ¤ì¡Ö¤­¡×¤Ï»Ä¤ê¤Þ¤¹¡£ \begin{nquote}{1em} \begin{tabular}{lll} \multicolumn{3}{l}{kya \BS ¤ÈÆþÎϤ·¤¿¾ì¹ç} \\ ¡¡ & ¥­¡¼Áàºî¡¡¡¡ & ɽ¼¨ \\ ¡¡ & k & \fbox{k} \\ ¡¡ & y & \fbox{ky} \\ ¡¡ & a & \fbox{¤­¤ã} \\ ¡¡ & \BS & \fbox{¤­} \\ \end{tabular} \end{nquote} ¤¿¤À¤·¡¢¥«¥¹¥¿¥Þ¥¤¥º¤Ë¤è¤ê¡¢\BS ¤ÇºÇ¸å¤Î¤«¤Ê¤ò¥í¡¼¥Þ»ú¤ËÌ᤹¤è¤¦¤Ë¤¹¤ë¤³¤È¤â ²Äǽ¤Ç¤¹¡£¾ÜºÙ¤Ï¡¢ {\dg\bf \ref{3.3.6.4¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É} ¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É ¤Î (\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦¤½¤Î¾¤Î¥­¡¼¥ï¡¼¥É}) \hpref{count=10,label=H0.4.6.4.0.100} ¤½¤Î¤Û¤«¤Î¥­¡¼¥ï¡¼¥É} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \item \HIDX{¥Ï¥Ä²»}{¤Ï¤Ä¤ª¤ó}{H0.3.7.0.0.a}(¥ó)¤ÎÆþÎÏ \hptar{label=H0.3.7.0.0.a} \begin{enumerate} \item ¡Önn¡×¡¢¡Ömn¡×¤Þ¤¿¤Ï¡Ön'¡×¤ÈÆþÎϤ·¤Þ¤¹¡£ \begin{nquote}{3em} \begin{tabular}{p{6em}l} tanni & ¤¿¤ó¤¤ \\ tamni & ¤¿¤ó¤¤ \\ tan'i & ¤¿¤ó¤¤ \end{tabular} \end{nquote} \item ¼¡¤Ë³¤¯Ê¸»ú¤¬»Ò²»¤Î¾ì¹ç¤Ï¡¢¡Ön¡×°ìʸ»ú¤Ç¤â¡Ö¤ó¡×¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{nquote}{3em} \begin{tabular}{p{6em}l} tango & ¤¿¤ó¤´ \end{tabular} \end{nquote} \end{enumerate} \item \HIDX{Â¥²»}{¤½¤¯¤ª¤ó}{H0.3.7.0.0.a}¤ÎÆþÎÏ ¼¡¤Ë³¤¯»Ò²»¤ò½Å¤Í¤ÆÆþÎϤ·¤Þ¤¹¡£ \begin{nquote}{3em} hatten¡¡¡¡¡¡¡¡¤Ï¤Ã¤Æ¤ó \end{nquote} \item \HIDX{¥è¥¦²»}{¤è¤¦¤ª¤ó}{H0.3.7.0.0.a}¤ÎÆþÎÏ ¡Ökya¡×¤Ç¡Ö¤­¤ã¡×¤¬ÆþÎϤǤ­¤ë¤è¤¦¤Ë »Ò²»¤ÎÁȤ߹ç¤ï¤»¤Ë¤è¤ê¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤Þ¤¹¤¬¡¢ ñÆÈ¤Î¤È¤­¤Ï¡Öx¡×¤òÀè¹Ô¤µ¤»¤ÆÆþÎϤ·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£ \begin{nquote}{3em} yakixyuu¡¡¡¡¡¡¡¡¤ä¤­¤å¤¦ \end{nquote} \item \HIDX{Ĺ²»}{¤Á¤è¤¦¤ª¤ó}{H0.3.7.0.0.a}¤ÎÆþÎÏ Ä¹²»¤Ï¡¢¡Ö$-$¡×(¥Ï¥¤¥Õ¥ó)¥­¡¼¤Ë¤è¤êÆþÎϤ·¤Þ¤¹¡£ %Ĺ²»¤Ï¡¢¡Ö$-$¡×¥­¡¼(¥Ï¥¤¥Õ¥ó)¤Ë¤è¤êÆþÎϤ·¤Þ¤¹¡£ \item Á´³Ñʸ»ú¤ÎÆþÎÏ»þ¤ÎÊÑ´¹ ¥­¡¼¥Ü¡¼¥É¾å¤Ë¸ºß¤¹¤ëµ­¹æ¤Ï¤ª¤è¤½¡¢¤½¤Î¥­¡¼¤Î¹ï°õ¤ÎÁ´³Ñʸ»ú¤¬ÆþÎϤµ¤ì¤Þ¤¹¡£ ¤¿¤À¤·¡¢°Ê²¼¤Ë¼¨¤¹¤è¤¦¤ÊÎã³°¤¬¤¢¤ê¤Þ¤¹¡£ \begin{center} \vspace{10mm} \begin{tabular}{|c|c|l|} \hline ÆþÎÏ¥­¡¼ & ɽ¼¨ & È÷¹Í\\ \hline [ & ¡Ö &\\ \hline ] & ¡× &\\ \hline \{ & ¡Ø &\\ \hline \} & ¡Ù &\\ \hline , & ¡¢ &\\ \hline . & ¡£ &\\ \hline \verb!~! & ¡± &\\ \hline \verb!\! & ¡ï &\\ \hline $-$ & ¡¼ &\\ \hline \rule[-0.5ex]{2ex}{0mm} \SPACE & Ⱦ³Ñ¥¹¥Ú¡¼¥¹ & 0x20 \\ \hline ( & ( & Ⱦ³Ñ \\ \hline ) & ) & Ⱦ³Ñ \\ \hline \end{tabular} \vspace{10mm} \end{center} \item ÊÑ´¹¥­¡¼ (\,\RETURN\,) ¤Î½èÍý ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÅÓÃæ¤Ç \RETURN ¤¬²¡¤µ¤ì¤¿¤È¤­¡¢ ¤Þ¤ÀÊÑ´¹¤µ¤ì¤Æ¤¤¤Ê¤¤Éôʬ¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î¤Þ¤Þ³ÎÄꤵ ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢n ¤Ê¤É¤ÎÊÑ´¹²Äǽ¤Êʸ»ú¤ÏÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{nquote}{3em} (Îã1) \begin{tabular}{ll} ¥­¡¼Áàºî¡¡¡¡¡¡& ɽ¼¨ \\ k & \fbox{k} \\ y & \fbox{ky} \\ o & \fbox{¤­¤ç} \\ u & \fbox{¤­¤ç¤¦} \\ h & \fbox{¤­¤ç¤¦h} \\ \RETURN & ¤­¤ç¤¦h \\ \end{tabular} \end{nquote} \newpage \begin{nquote}{3em} (Îã2) \begin{tabular}{ll} ¥­¡¼Áàºî¡¡¡¡¡¡& ɽ¼¨ \\ m & \fbox{m} \\ i & \fbox{¤ß} \\ k & \fbox{¤ßk} \\ a & \fbox{¤ß¤«} \\ n & \fbox{¤ß¤«n} \\ \RETURN & ¤ß¤«¤ó \\ \end{tabular} \end{nquote} \item ̤³ÎÄêÉôʬ¤Îɽ¼¨ ºÇŰìÃץѥ¿¡¼¥ó¤È¾È¹ç¤¹¤ë¤Þ¤Ç¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤¬É½¼¨¤µ¤ì¡¢ °ìÃפ·¤¿¤ÈƱ»þ¤Ë¡¢¤«¤Ê¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{nquote}{3em} (Îã1) \begin{tabular}{ll} ¥­¡¼Áàºî¡¡¡¡¡¡ & ɽ¼¨ \\ k & \fbox{k} \\ y & \fbox{ky} \\ o & \fbox{¤­¤ç} \\ \end{tabular} \end{nquote} \begin{nquote}{3em} (Îã2) \begin{tabular}{ll} ¥­¡¼Áàºî¡¡¡¡¡¡ & ɽ¼¨ \\ a & \fbox{¤¢} \\ n & \fbox{¤¢n} \\ n & \fbox{¤¢¤ó} \\ n & \fbox{¤¢¤ón} \\ a & \fbox{¤¢¤ó¤Ê} \\ i & \fbox{¤¢¤ó¤Ê¤¤} \\ \end{tabular} \end{nquote} \item ¤«¤Ê¥í¥Ã¥¯¥­¡¼¤Ç¤ÎÆþÎÏ ¤«¤Ê¥í¥Ã¥¯¥­¡¼¤ò²¡¤¹¤³¤È¤Ë¤è¤ê¡¢ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò»È¤ï¤º¤Ë¥­¡¼¥Ü¡¼¥É¤«¤é¤«¤Ê¤òÆþÎϤ¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ ¤½¤ÎºÝ¡¢¡Ö¡«¡×¤ä¡Ö¡¬¡×¤Ë¤Ä¤¤¤Æ¤Ï¡¢Ä¾Á°¤ËÆþÎϤµ¤ì¤¿Ê¸»ú¤ÎÂùÅÀ¡¦È¾ÂùÅÀ¤È¤·¤Æ ·ë¹ç¤Ç¤­¤ë¾ì¹ç¤Ï·ë¹ç¤µ¤ì¤Þ¤¹¡£ \begin{nquote}{3em} (Îã)¡¡ \fbox{¥«} + \fbox{¡«} ¢ª ¤¬ \end{nquote} \end{enumerate} \newpage \section{\HIDX{ÆÉ¤ß¤ÎÆþÎÏ}{¤è¤ß¤Î¤Ë¤å¤¦¤ê¤ç¤¯}{H0.3.9.0.0}} \label{3.2.6.1ÆÉ¤ß¤ÎÆþÎÏ} \subsection{ÆÉ¤ß¤Î³ÎÄê} ÆÉ¤ß¤Î³ÎÄê¤Ë¤Ï \RETURN ¤Þ¤¿¤Ï \CTRL + \fbox{m} ¤Þ¤¿¤Ï \NFER ¤òÍѤ¤¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{nquote}{3em} \fbox{w} \fbox{a} \fbox{t} \fbox{a} \fbox{s} \fbox{i} \fbox{h} \fbox{a} \end{nquote} \begin{SCREEN} \verb!% !\underline{¤ï¤¿¤·¤Ï}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \RETURN ¤Þ¤¿¤Ï \NFER ¤Þ¤¿¤Ï \CTRL + \fbox{m} ¤ò²¡¤·¤Æ³ÎÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¤ï¤¿¤·¤Ï\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{ÆÉ¤ß¤Î¼è¤ê¾Ã¤·} \CTRL + \fbox{g} ¤ò²¡¤¹¤È̤³ÎÄê¤ÎÆÉ¤ß¤¬¤¹¤Ù¤Æ¼è¤ê¾Ã¤µ¤ì¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤ï¤¿¤·¤Ï}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \CTRL + \fbox{g} ¤ò²¡¤·¤ÆÆÉ¤ß¤ò¼è¤ê¾Ã¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{º¸Êý¸þºï½ü} \BS ¤Þ¤¿¤Ï \CTRL + \fbox{h} ¤ò²¡¤¹¤È ¥«¡¼¥½¥ë¤Îº¸¤Î1ʸ»ú¤òºï½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤ï¤¿¤·¤¬}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \BS ¤Þ¤¿¤Ï \CTRL + \fbox{h} ¤ò²¡¤·¤Æ¥«¡¼¥½¥ë¤Îº¸¤Î1ʸ»ú¤òºï½ü¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤ï¤¿¤·}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item ¿·¤¿¤ËÆÉ¤ß¤Î³¤­¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤ï¤¿¤·¤Î}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{¥«¡¼¥½¥ë¤Î°Üư}{¤«¡¼¤½¤ë¤Î¤¤¤È¤¦}{H0.3.9.4.0}} ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¤È¤­¤ËÆþÎϤò´Ö°ã¤¨¤¿¤êÆþÎϤ·Ëº¤ì¤¿¤ê¤·¤¿¾ì¹ç¤Ï¡¢ ¥«¡¼¥½¥ë¤ò°Üư¤·¤Æ¤½¤ÎÉôʬ¤À¤±ÆþÎϤ·Ä¾¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ º¸¤Ø¤Î°Üư¤Ï \fbox{¢«} ¤Þ¤¿¤Ï \CTRL + \fbox{b} ¡¢ ±¦¤Ø¤Î°Üư¤Ï \fbox{¢ª} ¤Þ¤¿¤Ï \CTRL + \fbox{f} ¡¢ º¸Ã¼¤Ø¤Î°Üư¤Ï \CTRL + \fbox{a} ¡¢ ±¦Ã¼¤Ø¤Î°Üư¤Ï \CTRL + \fbox{e} ¤ò²¡¤·¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤Ê¤¬¤µ¤­¤Ï¤­¤ç¤¦¤Ï¤¢¤á¤Ç¤¹}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢«} ¤Þ¤¿¤Ï \CTRL + \fbox{b} ¤ò4²ó²¡¤·¤Æ¥«¡¼¥½¥ë¤òº¸¤Ë°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤Ê¤¬¤µ¤­¤Ï¤­¤ç¤¦¤Ï}\fbox{¤¢}\underline{¤á¤Ç¤¹} \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \BS ¤ò²¡¤·¤Æ¡Ø¤Ï¡Ù¤òºï½ü¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤Ê¤¬¤µ¤­¤Ï¤­¤ç¤¦}\fbox{¤¢}\underline{¤á¤Ç¤¹} \\ {[ ¤¢ ]} \\ \end{SCREEN} \item ¡Ø¤â¡Ù¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤Ê¤¬¤µ¤­¤Ï¤­¤ç¤¦¤â}\fbox{¤¢}\underline{¤á¤Ç¤¹} \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{±¦Êý¸þºï½ü} \CTRL + \fbox{d} ¤ò²¡¤¹¤È¥«¡¼¥½¥ë¾å¤Î1ʸ»ú¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Æ¥«¡¼¥½¥ë¤ò°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤ï¤¿}\fbox{¤¯}\underline{¤·¤Ï¤­¤ç¤¦¤Ï} \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \CTRL + \fbox{d} ¤ò²¡¤·¤Æ¥«¡¼¥½¥ë¾å¤Î1ʸ»ú¤òºï½ü¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤ï¤¿}\fbox{¤·}\underline{¤Ï¤­¤ç¤¦¤Ï} \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{¥«¡¼¥½¥ë°Ê¹ßºï½ü} \CTRL + \fbox{k} ¤ò²¡¤¹¤È¥«¡¼¥½¥ë¤«¤é±¦¤ÎÆÉ¤ß¤¬¤¹¤Ù¤Æºï½ü¤µ¤ì¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Æ¥«¡¼¥½¥ë¤ò°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤ï¤¿¤·¤Ï}\fbox{¤­}\underline{¤ç¤¦¤Ï} \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \CTRL + \fbox{k} ¤ò²¡¤·¤Æ¥«¡¼¥½¥ë¤«¤é±¦¤ÎÆÉ¤ß¤ò¤¹¤Ù¤Æºï½ü¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤ï¤¿¤·¤Ï}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{´Á»ú¤ÎÆþÎÏ}{¤«¤ó¤·¤Î¤Ë¤å¤¦¤ê¤ç¤¯}{H0.3.10.0.0}} \label{3.2.6.2´Á»ú¤ÎÆþÎÏÊýË¡} ¤«¤Ê¤ò´Á»ú¤ËÊÑ´¹¤¹¤ëÊýË¡¤Ë¤Ï¡¢ ϢʸÀáÊÑ´¹¤ÈÃ༡¼«Æ°ÊÑ´¹¤Î 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ Ã༡¼«Æ°ÊÑ´¹¤Ç¤Î´Á»úÆþÎϤΥ­¡¼Áàºî¤Ï¡¢ ϢʸÀáÊÑ´¹¤Ç¤Î´Á»úÆþÎϤΥ­¡¼Áàºî¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£ ¤«¤Ê´Á»úÊÑ´¹¤ÎºÝ¡¢¸õÊä¤ò 1 ¤Ä¤À¤±É½¼¨¤·¤Æ¤¤¤ë¾õÂÖ¤òñ¸õÊäɽ¼¨¾õÂ֤Ȥ¤¤¤¡¢ ¸õÊä°ìÍ÷¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂÖ¤ò¸õÊä°ìÍ÷ɽ¼¨¾õÂ֤Ȥ¤¤¤¤Þ¤¹¡£ \subsection{\HIDX{ϢʸÀáÊÑ´¹}{¤ì¤ó¤Õ¤ó¤»¤Ä¤Ø¤ó¤«¤ó}{H0.3.10.1.0}} ϢʸÀáÊÑ´¹¤Ç¤Ï \SPACE ¤Þ¤¿¤Ï \XFER ¤ò²¡¤·¤ÆÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤­¤ç¤¦¤Ï¤Ï¤ì¤Ç¤¹}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \SPACE ¤Þ¤¿¤Ï \XFER ¤ò²¡¤·¤ÆÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{º£Æü¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{Ã༡¼«Æ°ÊÑ´¹}{¤Á¤¯¤·¤·¤È¤¦¤Ø¤ó¤«¤ó}{H0.3.10.2.0}} ϢʸÀáÊÑ´¹¤Ç¤Ï \SPACE ¤Þ¤¿¤Ï \XFER ¤ò²¡¤·¤Æ´Á»ú¤ËÊÑ´¹¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¤³¤ì¤ËÂФ·¤ÆÃ༡¼«Æ°ÊÑ´¹¤Ç¤Ï \SPACE ¤Þ¤¿¤Ï \XFER ¤ò²¡¤µ¤Ê¤¯¤Æ¤â¡¢ ÆÉ¤ß¤¬Å¬Åö¤ÊŤµ¤Ë¤Ê¤ë¤È¼«Æ°Åª¤Ë´Á»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ Ã༡¼«Æ°ÊÑ´¹¤ò¹Ô¤Ã¤Æ¤¤¤ë¤È¤­¤ÎÁàºî¤Ï¡¢ ÆÉ¤ß¤òÆþÎϤ¹¤ë¤È¼«Æ°Åª¤ËÊÑ´¹¤µ¤ì¤ë¤³¤È°Ê³°¤ÏϢʸÀáÊÑ´¹¤È¤Û¤ÜƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ Ã༡¼«Æ°ÊÑ´¹¤Îή¤ì¤ò¡¢¡ÖÌÀÆü¤ÏÀ㤬¹ß¤ë¤Ç¤·¤ç¤¦¡×¤òÆþÎϤ¹¤ëÎã¤ÇÀâÌÀ¤·¤Þ¤¹¡£ \begin{enumerate} \item ¡Ö¤¢¤·¤¿¤Ï¤æ¤­¤¬¡×¤Þ¤Ç¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤¢¤·¤¿¤Ï¤æ¤­¤¬\CURSOR} \\ {[Ã༡]} \\ \end{SCREEN} \item ¡Ö¤Õ¡×¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{ÌÀÆü¤Ï}\underline{¤æ¤­¤¬¤Õ} \\ {[Ã༡]} \\ \end{SCREEN} ¤³¤Î¤è¤¦¤Ë¡¢ÆÉ¤ß¤¬Å¬Åö¤ÊŤµ¤Ë¤Ê¤ë¤ÈÀèÆ¬¤«¤éÅÓÃæ¤Þ¤Ç¤ÎÆÉ¤ß¤¬ ´Á»ú¤Î¸õÊä¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ ÊÑ´¹¤µ¤ì¤Æ¤Ç¤­¤ë´Á»ú¤Î¸õÊä¤ò¸õÊäʸÀá¤È¤¤¤¤¤Þ¤¹¡£ °ìÅÙ¤ÎÊÑ´¹¤ÇÊ£¿ô¤Î¸õÊäʸÀ᤬¤Ç¤­¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ ¿·¤·¤¤¸õÊäʸÀ᤬¤Ç¤­¤¿¤È¤­¤Ë¤Ï¡¢ ¿·¤·¤¯¤Ç¤­¤¿¸õÊäʸÀá¤ÎºÇ¸å¤Î¤â¤Î¤¬È¿Å¾É½¼¨¤µ¤ì¤Þ¤¹¡£ \item ³¤±¤Æ¡Ö¤ë¤Ç¡×¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{ÌÀÆü¤Ï}\underline{¤æ¤­¤¬¤Õ¤ë¤Ç} \\ {[Ã༡]} \\ \end{SCREEN} \item ¡Ö¤·¤ç¡×¤òÆþÎϤ·¤Þ¤¹ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{ÌÀÆü¤Ï}\fbox{À㤬}\underline{¤Õ¤ë¤Ç¤·¤ç} \\ {[Ã༡]} \\ \end{SCREEN} ¤µ¤é¤Ë¿·¤·¤¤¸õÊäʸÀ᤬¤Ç¤­¤ë¤È¡¢È¿Å¾¤·¤Æ¤¤¤ë²Õ½ê¤â°Üư¤·¤Þ¤¹¡£ \item ºÇ¸å¤Ë¡¢¡Ö¤¦¡×¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{ÌÀÆü¤Ï}\fbox{À㤬}\underline{¤Õ¤ë¤Ç¤·¤ç¤¦} \\ {[Ã༡]} \\ \end{SCREEN} ÆÉ¤ß¤ÎÆþÎϤ¬½ª¤ï¤ê¤Þ¤·¤¿¤¬¡¢ ¡Ö¤Õ¤ë¤Ç¤·¤ç¤¦¡×¤ÎÉôʬ¤¬´Á»ú¤Î¸õÊä¤ËÊÑ´¹¤µ¤ì¤º¤Ë»Ä¤Ã¤Æ¤¤¤Þ¤¹¡£ °ìÈ̤ËÃ༡¼«Æ°ÊÑ´¹¤Ç¤Ï¡¢ ÆÉ¤ß¤ÎºÇ¸å¤ÎÉôʬ¤¬´Á»ú¤Î¸õÊä¤ËÊÑ´¹¤µ¤ì¤º¤ËÆÉ¤ß¤Î¤Þ¤Þ»Ä¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¤È¤­¤Ë¤Ï¡¢ \SPACE ¤Þ¤¿¤Ï \XFER ¤ò²¡¤·¤Æ¡¢ »Ä¤Ã¤Æ¤¤¤ëÆÉ¤ß¤ò¶¯À©Åª¤Ë´Á»ú¤Î¸õÊä¤ËÊÑ´¹¤·¤Þ¤¹¡£ \item \SPACE ¤Þ¤¿¤Ï \XFER ¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{ÌÀÆü¤Ï}\fbox{À㤬}\underline{¹ß¤ë¤Ç¤·¤ç¤¦} \\ {[´Á»ú]} \\ \end{SCREEN} ºÇ¸å¤Þ¤Ç¤¬´Á»ú¤Î¸õÊä¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤³¤Î¾õÂ֤Ϥ¹¤Ç¤Ë½Ò¤Ù¤¿Ï¢Ê¸ÀáÊÑ´¹¤Î¾õÂÖ¤ÈÆ±¤¸¤Ç¤¢¤ê¡¢ ϢʸÀáÊÑ´¹¤ÈƱ¤¸Áàºî¤¬²Äǽ¤Ç¤¹¡£ \item Àµ¤·¤¤´Á»ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ \RETURN ¤Þ¤¿¤Ï \NFER ¤Þ¤¿¤Ï \CTRL + \fbox{m}¤ò²¡¤·¤Æ³ÎÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !ÌÀÆü¤ÏÀ㤬¹ß¤ë¤Ç¤·¤ç¤¦ \\ {[Ã༡]} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{¸õÊäÁªÂò}{¤³¤¦¤Û¤»¤ó¤¿¤¯}{H0.3.10.3.0}} \subsubsection{¸õÊä¤ÎÁªÂò} ÆÉ¤ß¤¬´Á»ú¤ËÊÑ´¹¤µ¤ì¤¿¾õÂÖ¤Ç \fbox{¢­} ¤Þ¤¿¤Ï \CTRL + \fbox{n} ¤ò²¡¤¹¤È ¼¡¸õÊä¤òÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢\fbox{¢¬} ¤Þ¤¿¤Ï \CTRL + \fbox{p} ¤ò²¡¤¹¤È Á°¸õÊä¤òÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{º£Æü¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢­} ¤Þ¤¿¤Ï \CTRL + \fbox{n} ¤ò²¡¤·¤Æ¼¡¸õÊä¤òɽ¼¨¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{µþ¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \end{enumerate} \subsubsection{´Á»úÊÑ´¹¤Î¼è¤ê¾Ã¤·} \BS ¤Þ¤¿¤Ï \CTRL + \fbox{g} ¤Þ¤¿¤Ï \CTRL + \fbox{h} ¤ò²¡¤¹¤È ´Á»úÊÑ´¹¤¬¼è¤ê¾Ã¤µ¤ì¤ÆÆÉ¤ß¤Î¾õÂÖ¤ËÌá¤ê¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{º£Æü¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \item \CTRL + \fbox{g} ¤Þ¤¿¤Ï \BS ¤Þ¤¿¤Ï \CTRL + \fbox{h} ¤ò²¡¤·¤ÆÆÉ¤ß ¤ËÌᤷ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤­¤ç¤¦¤Ï¤Ï¤ì¤Ç¤¹}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsubsection{\HIDX{¸õÊä¤Î³ÎÄê}{¤³¤¦¤Û¤Î¤«¤¯¤Æ¤¤}{H0.3.10.3.3}} \RETURN ¤Þ¤¿¤Ï \NFER ¤Þ¤¿¤Ï \CTRL + \fbox{m} ¤ò²¡¤¹¤È¸õÊä¤ò³ÎÄꤹ¤ë¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤­¤ç¤¦¤Ï¤Ï¤ì¤Ç¤¹}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \SPACE ¤Þ¤¿¤Ï \XFER ¤ò²¡¤·¤ÆÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{º£Æü¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \item \RETURN ¤Þ¤¿¤Ï \NFER ¤Þ¤¿¤Ï \CTRL + \fbox{m} ¤ò²¡¤·¤Æ¸õÊä¤ò³ÎÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !º£Æü¤ÏÀ²¤ì¤Ç¤¹\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{¸õÊä°ìÍ÷}{¤³¤¦¤Û¤¤¤Á¤é¤ó}{H0.3.10.4.0}} ¸õÊ䤬¤¿¤¯¤µ¤ó¤¢¤ë¾ì¹ç¤Ï¡¢¸õÊä°ìÍ÷¤ò»È¤¤¤Þ¤¹¡£ \subsubsection{¸õÊä°ìÍ÷¤Îɽ¼¨} ÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤¿¸å¤Ë¡¢ \SPACE ¤Þ¤¿¤Ï \XFER ¤ò 2 ²ó²¡¤¹¤«¡¢¤Þ¤¿¤Ï \CTRL + \fbox{w} ¤ò ²¡¤¹¤È¸õÊä°ìÍ÷¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¸õÊä°ìÍ÷¥â¡¼¥É¤Ë¤Ê¤ë¤¿¤á¤ËÊÑ´¹¥­¡¼¤ò²¡¤¹²ó¿ô¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡£\\ ¾ÜºÙ¤Ï¡¢{\dg\bf \ref{3.3.6.4¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É} ¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼ ¥ï¡¼¥É¤Î (\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦¤½¤Î¾¤Î¥­¡¼¥ï¡¼¥É}) \hpref{count=10,label=H0.4.6.4.0.100} ¤½¤Î¤Û¤«¤Î¥­¡¼¥ï¡¼¥É} ¤ò»²¾È¤·¤Æ ¤¯¤À¤µ¤¤¡£ \begin{enumerate} \item ÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{º£Æü¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \item \SPACE ¤Þ¤¿¤Ï \XFER ¤Þ¤¿¤Ï \CTRL + \fbox{w} ¤ò²¡¤·¤Æ¸õÊä°ìÍ÷¤ò ɽ¼¨¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{µþ¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[°ìÍ÷]¡¡1 º£Æü¤Ï¡¡\fbox{2} µþ¤Ï¡¡ 3 ¶ª¤Ï¡¡ 4 ·Ð¤Ï¡¡ 5 ¶¯¤Ï¡¡ 6 ¶À¤Ï} \SCREENRIGHT{2/17} \\ \end{SCREEN} \end{enumerate} \subsubsection{¸õÊä¤Î°Üư} ¼¡¸õÊä¤Ë°Üư¤¹¤ë¤Ë¤Ï \fbox{¢ª} ¤Þ¤¿¤Ï \CTRL + \fbox{f} ¤Þ¤¿¤Ï \SPACE ¤Þ¤¿¤Ï \XFER ¤ò²¡¤·¤Þ¤¹¡£ Á°¸õÊä¤ËÌá¤ë¤Ë¤Ï \fbox{¢«} ¤Þ¤¿¤Ï \CTRL + \fbox{b} ¤ò²¡¤·¤Þ¤¹¡£ \subsubsection{¸õÊäÎó¤Î°Üư} ɽ¼¨¤µ¤ì¤Æ¤¤¤ë¸õÊä°ìÍ÷¤ËÌÜŪ¤Î¸õÊ䤬¸«Åö¤¿¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ \fbox{¢­} ¤Þ¤¿¤Ï \CTRL + \fbox{n} ¤ò²¡¤·¤Æ¼¡¤Î¸õÊäÎó¤Ë°Üư¤·¤Þ¤¹¡£ Á°¤Î¸õÊäÎó¤Ë°Üư¤¹¤ë¤Ë¤Ï \fbox{¢¬} ¤Þ¤¿¤Ï \CTRL + \fbox{p} ¤ò²¡¤·¤Þ¤¹¡£ \subsubsection{¸õÊä¤ÎÁªÂò} ¸õÊä¤òÁªÂò¤·¤¿¤¤¾ì¹ç¤Ï¡¢ ¤½¤Î¸õÊä¤Þ¤Ç°Üư¤·¤Æ¤«¤é \RETURN ¤Þ¤¿¤Ï \CTRL + \fbox{m} ¤Þ¤¿¤Ï \NFER ¤ò ²¡¤·¤Þ¤¹¡£ ¤Þ¤¿¤Ï¡¢¸õÊä¤ÎÈÖ¹æ¤ò²¡¤¹¤³¤È¤Ë¤è¤Ã¤Æ¡¢ÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ \subsubsection{¸õÊä°ìÍ÷¤Î¼è¤ê¾Ã¤·} ¸õÊä°ìÍ÷¤Ï \BS ¤Þ¤¿¤Ï \CTRL + \fbox{g} ¤Þ¤¿¤Ï \CTRL + \fbox{h} ¤ò²¡¤·¤Æ¼è¤ê¾Ã¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \subsection{\HIDX{ʸÀá}{¤Õ¤ó¤»¤Ä}{H0.3.10.5.0}} Ť¤ÆÉ¤ß¤ò´Á»úÊÑ´¹¤¹¤ë¤È¡¢¤¤¤¯¤Ä¤«¤ÎʸÀá¤Ëʬ¤«¤ì¤Þ¤¹¡£ ³ÆÊ¸Àá¤Ë°Üư¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢³ÆÊ¸Àá¤Ï¿­¤Ð¤·¤¿¤ê½Ì¤á¤¿¤ê¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ \subsubsection{\HIDX{ʸÀá¤Î°Üư}{¤Õ¤ó¤»¤Ä¤Î¤¤¤È¤¦}{H0.3.10.5.1}} ¼¡¤ÎʸÀá¤Ë°Üư¤·¤¿¤¤¾ì¹ç¤Ï¡¢ \fbox{¢ª} ¤Þ¤¿¤Ï \CTRL + \fbox{f} ¤ò²¡¤·¤Þ¤¹¡£ Á°¤ÎʸÀá¤Ë°Üư¤·¤¿¤¤¾ì¹ç¤Ï¡¢ \fbox{¢«} ¤Þ¤¿¤Ï \CTRL + \fbox{b} ¤ò²¡¤·¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{Ĺºê¤Ï}\underline{º£Æü¤ÏÀ²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢ª} ¤Þ¤¿¤Ï \CTRL + \fbox{f} ¤ò²¡¤·¤Æ¼¡¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{Ĺºê¤Ï}\fbox{º£Æü¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢ª} ¤Þ¤¿¤Ï \CTRL + \fbox{f} ¤ò²¡¤·¤Æ¼¡¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{Ĺºê¤Ïº£Æü¤Ï}\fbox{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢«} ¤Þ¤¿¤Ï \CTRL + \fbox{b} ¤ò²¡¤·¤ÆÁ°¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{Ĺºê¤Ï}\fbox{º£Æü¤Ï}\underline{À²¤ì¤Ç¤¹} \\ {[´Á»ú]} \\ \end{SCREEN} \end{enumerate} \subsubsection{\HIDX{ʸÀá¤Î¿­½Ì}{¤Õ¤ó¤»¤Ä¤Î¤·¤ó¤·¤æ¤¯}{H0.3.10.5.2}} ʸÀá¤ò½Ì¤á¤¿¤¤¾ì¹ç¤Ï¡¢ \CTRL + \fbox{i} ¤ò²¡¤·¤Þ¤¹¡£ ʸÀá¤ò¿­¤Ð¤·¤¿¤¤¾ì¹ç¤Ï¡¢ \CTRL + \fbox{o} ¤ò²¡¤·¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤Ü¤¯¤Î¤¤¤¨¤Ë¤Ï¤Ë¤ï¤¬¤Ê¤¤}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \SPACE ¤ò²¡¤·¤Æ´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{ËͤÎ}\underline{²È¤Ë¾ýÎØ¤¬¤Ê¤¤} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢ª} ¤ò²¡¤·¤ÆÊ¸Àá¤ò¿­¤Ð¤·¤¿¤¤½ê¤Þ¤ÇʸÀá¤ò°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{ËͤÎ}\fbox{²È¤Ë}\underline{¾ýÎØ¤¬¤Ê¤¤} \\ {[´Á»ú]} \\ \end{SCREEN} \item \CTRL + \fbox{o} ¤ò²¡¤·¤ÆÊ¸Àá¤ò¿­¤Ð¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{ËͤÎ}\fbox{²È¤Ë¤Ï}\underline{Äí¤¬¤Ê¤¤} \\ {[´Á»ú]} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{Éôʬ³ÎÄê}{¤Õ¤Õ¤ó¤«¤¯¤Æ¤¤}{H0.3.10.6.0}} \CTRL + \fbox{j} ¤ò²¡¤¹¤³¤È¤Ë¤è¤ê¡¢ ¥«¡¼¥½¥ë¤Î¤¢¤Ã¤¿Ê¸Àá¤è¤êº¸Â¦¤ÎÉôʬ¤ò³ÎÄꤵ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥«¡¼¥½¥ë¤è¤ê±¦Â¦¤ÎÉôʬ¤Ï¤½¤Î¤Þ¤Þ»Ä¤ê¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{Íê¤ê¤Ë¤Ê¤ë¤Î¤Ï}\underline{ľ´¶¤À¤±¤Ç¤¹¤è} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢ª} ¤ò²¡¤·¤ÆÊ¸Àá¤ò°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{Íê¤ê¤Ë¤Ê¤ë¤Î¤Ï}\fbox{ľ´¶¤À¤±¤Ç¤¹¤è} \\ {[´Á»ú]} \\ \end{SCREEN} \item \CTRL + \fbox{j} ¤ò²¡¤·¤Æ¥«¡¼¥½¥ë¤è¤êº¸Â¦¤ò³ÎÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !Íê¤ê¤Ë¤Ê¤ë¤Î¤Ï\fbox{ľ´Ñ¤À¤±¤Ç¤¹¤è}\CURSOR \\ {[´Á»ú]} \\ \end{SCREEN} \item »Ä¤Ã¤¿Éôʬ¤Ïºï½ü¤·¤¿¤ê¤·¤ÆÄ¾¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \CTRL + \fbox{g} ¤ÇÆÉ¤ß¤ËÌᤷ¤Æ¤«¤é¡¢ \CTRL + \fbox{b} ¤Þ¤¿¤Ï \fbox{¢«} ¤ò²¡¤·¤Æ¥«¡¼¥½¥ë¤ò°Üư¤·¡¢ \CTRL + \fbox{d} ¤ò3²ó²¡¤·¤Æ3ʸ»úºï½ü¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !Íê¤ê¤Ë¤Ê¤ë¤Î¤Ï\fbox{¤«}\underline{¤ó¤À¤±¤Ç¤¹¤è} \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{°ìʸ»úÁªÂòµ¡Ç½}{¤¤¤Á¤â¤·¤»¤ó¤¿¤¯¤­¤Î¤¦}{H0.3.10.6.1}} ʸÀáÆâ¤ÎÀèÆ¬¤¢¤ë¤¤¤ÏËöÈø¤Î°ìʸ»ú¤À¤±¤òÁªÂò¤Ç¤­¤Þ¤¹¡£ \begin{tabular}{cc} ÀèÆ¬¤Î°ìʸ»úÁªÂò & \CTRL + \fbox{k} \\ ËöÈø¤Î°ìʸ»úÁªÂò & \CTRL + \fbox{d} \\ \end{tabular} Î㤨¤Ð¡¢¼­½ñ¤Ë¤Ê¤¤¡Öľ½Ð(¤Á¤ç¤¯¤·¤å¤Ä)¡×¤È¤¤¤¦Ã±¸ì¤ò½Ð¤·¤¿¤¤¤È¤·¤Þ¤¹¡£ \begin{enumerate} \item Íߤ·¤¤´Á»ú¤ò´Þ¤à¸ì¤òÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{ľÀÜ}\underline{³°½Ð} \\ {[´Á»ú]} \\ \end{SCREEN} \item \CTRL + \fbox{k} ¤ò²¡¤¹¤È¡¢¥«¥ì¥ó¥ÈʸÀ᤬ÀèÆ¬¤Î°ìʸ»ú¤À¤±¤Ë¤Ê¤ê ¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{ľ}\underline{³°½Ð} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢ª}¤ò²¡¤·¤Æ¡¢¼¡Ê¸Àá¤Ë°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{ľ}\fbox{³°½Ð} \\ {[´Á»ú]} \\ \end{SCREEN} \item \CTRL + \fbox{d} ¤ò²¡¤¹¤È¡¢¥«¥ì¥ó¥ÈʸÀ᤬ËöÈø¤Î°ìʸ»ú¤À¤±¤Ë¤Ê¤ê ¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{ľ}\fbox{½Ð} \\ {[´Á»ú]} \\ \end{SCREEN} \item \RETURN ¤ò²¡¤¹¤È¡¢³ÎÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !ľ½Ð\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{¥«¥¿¥«¥Ê¤ÎÆþÎÏ}{¤«¤¿¤«¤Ê¤Î¤Ë¤å¤¦¤ê¤ç¤¯}{H0.3.11.0.0}} \label{3.2.6.3¥«¥¿¥«¥Ê¤ÎÆþÎÏÊýË¡} ¥«¥¿¥«¥Ê¤òÆþÎϤ¹¤ë¤Ë¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¤Ë¤è¤ëÆþÎÏ¡¦»ú¼ïÊÑ´¹¤Ë¤è¤ë ÆþÎÏ¡¦¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É¤Ë¤è¤ëÆþÎϤȤ¤¤¦3¼ïÎà¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ \subsection{¤«¤Ê´Á»úÊÑ´¹¤Ë¤è¤ëÆþÎÏ} \subsubsection{¤«¤Ê´Á»úÊÑ´¹¤Ë¤è¤ëÊýË¡1} ¿¤¯¤Î¥«¥¿¥«¥Ê¸ì¤Ë´Ø¤·¤Æ¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ Ä̾ï¤Î¤«¤Ê´Á»úÊÑ´¹¤ÎÁàºî¤Ç¥«¥¿¥«¥Ê¤¬ÆÀ¤é¤ì¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤ï¡¼¤×¤í¤ò}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \SPACE ¤ò²¡¤·¤ÆÆÉ¤ß¤ò¤«¤Ê´Á»úÊÑ´¹¤¹¤ë¤È¡¢¥«¥¿¥«¥Ê¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{¥ï¡¼¥×¥í¤ò} \\ {[´Á»ú]} \\ \end{SCREEN} \end{enumerate} \subsubsection{¤«¤Ê´Á»úÊÑ´¹¤Ë¤è¤ëÊýË¡2} ´Á»ú¸õÊä¤ÎºÇ¸å¤«¤é2ÈÖÌܤ˥«¥¿¥«¥Ê¤Î¸õÊ䤬Æþ¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢\SPACE ¤ò ²¡¤·¤Æ¤«¤Ê´Á»úÊÑ´¹¤·¤¿Ä¾¸å¤Ë \fbox{¢¬} ¤ò2²ó²¡¤»¤Ð¥«¥¿¥«¥Ê¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¤³¤ì¤Ï\underline{¤«¤ó}\CURSOR\\ {[ ¤¢ ]} \\ \end{SCREEN} \item \SPACE ¤ò²¡¤·¤Æ´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¤³¤ì¤Ï \fbox{´°} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢¬} ¤ò²¡¤¹¤ÈÁ°¸õÊä¤Ä¤Þ¤êºÇ¸å¤Î¸õÊä(¤Ò¤é¤¬¤Ê)¤òɽ¼¨¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¤³¤ì¤Ï \fbox{¤«¤ó} \\ {[´Á»ú]} \\ \end{SCREEN} \item ¤â¤¦°ìÅÙ \fbox{¢¬} ¤ò²¡¤¹¤È¥«¥¿¥«¥Ê¤òɽ¼¨¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¤³¤ì¤Ï \fbox{¥«¥ó} \\ {[´Á»ú]} \\ \end{SCREEN} \item ¼¡¤ÎÆÉ¤ß¤òÆþÎϤ¹¤ë¤È³ÎÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¤³¤ì¤Ï¥«¥ó\underline{¤Ç¤¹¤è}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsubsection{ʸÀá¤ò¿­¤Ð¤·¤Æ¤¤¤¯ÊýË¡} 2 ¤Ä°Ê¾å¤ÎʸÀ᤬¤¢¤ë¾ì¹ç¤Ï¡¢Ê¸Àá¤ò¤É¤ó¤É¤ó¿­¤Ð¤·¤Æ¤¤¤¯¤È¡¢ ¸õÊ䤬¤Ê¤¯¤Ê¤Ã¤¿»þÅÀ¤Ç¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤¢¤ì¤­¤µ¤ó¤É¤é}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \SPACE ¤ò²¡¤·¤Æ´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{¤¢¤ì}\underline{µ¯»»¤É¤é} \\ {[´Á»ú]} \\ \end{SCREEN} \item \CTRL + \fbox{o} ¤ÇʸÀá¤ò¿­¤Ð¤·¤Æ¤¤¤¯¤È¡¢ ¸õÊ䤬¤Ê¤¯¤Ê¤Ã¤¿»þÅÀ¤Ç¥«¥¿¥«¥Ê¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{¥¢¥ì¥­¥µ¥ó¥É¥é} \\ {[´Á»ú]} \\ \end{SCREEN} \end{enumerate} \subsection{»ú¼ïÊÑ´¹¤Ë¤è¤ëÆþÎÏ} \label{»ú¼ïÊÑ´¹¤Ë¤è¤ëÆþÎÏ} ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂ֤Ǥϡ¢ÆÉ¤ß¤Îʸ»úÎó¤Î»ú¼ï¤òÊÑ´¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¥«¥¿¥«¥Ê¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤¢¤ì¤­¤µ¤ó¤É¤é}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{¥¢¥ì¥­¥µ¥ó¥É¥é} \\ {[»ú¼ï]} \\ \end{SCREEN} \end{enumerate} \subsection{¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É¤Ë¤è¤ëÆþÎÏ} ¥«¥¹¥¿¥Þ¥¤¥ºµ¡Ç½¤ò»È¤Ã¤Æ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É¤Ë¤·¤Æ¡¢ ¥«¥¿¥«¥Ê¤òÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢{\dg\bf \ref{3.3¥«¥¹¥¿¥Þ¥¤¥º} \hpref{count=6,label=H0.4.0.0.0} ¥«¥¹¥¿¥Þ¥¤¥º} ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \newpage \section{\HIDX{Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ÎÆþÎÏ}{¤»¤ó¤«¤¯¤¢¤ë¤Õ¤¡¤Ø¤Ã¤È} {H0.3.12.0.0}} \label{3.2.6.4Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ÎÆþÎÏÊýË¡} Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤òÆþÎϤ¹¤ë¤Ë¤Ï¡¢ »ú¼ïÊÑ´¹¤Ë¤è¤ëÊýË¡¤ÈÁ´³Ñ±Ñ¿ô³ÎÄêÆþÎϥ⡼¥É¤Ë¤è¤ëÊýË¡¤È¤¬¤¢¤ê¤Þ¤¹¡£ \subsection{\IDX{»ú¼ïÊÑ´¹}{¤·¤·¤æ¤Ø¤ó¤«¤ó}¤Ë¤è¤ëÆþÎÏ} \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{nquote}{2em} \fbox{c} \fbox{o} \fbox{n} \fbox{g} \fbox{r} \fbox{a} \fbox{t} \fbox{u} \fbox{l} \fbox{a} \fbox{t} \fbox{i} \fbox{o} \fbox{n} \end{nquote} \begin{SCREEN} \verb!% !\underline{¤³¤óg¤é¤Ä¤é¤Á¤ªn}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤·¤Æ¡¢Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ËÊÑ´¹¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{c o n g r a t u l a t i o n} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \CTRL + \fbox{u} ¤ò²¡¤¹¤È¡¢Âçʸ»ú¤ËÊÑ´¹¤Ç¤­¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{C O N G R A T U L A T I O N} \\ {[»ú¼ï]} \\ \end{SCREEN} \item µÕ¤Ë¾®Ê¸»ú¤Ë¤¹¤ë¤Ë¤Ï \CTRL \,-\,\fbox{l} ¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{c o n g r a t u l a t i o n} \\ {[»ú¼ï]} \\ \end{SCREEN} \end{enumerate} \subsection{Á´³Ñ±Ñ¿ô³ÎÄêÆþÎϥ⡼¥É¤Ë¤è¤ëÆþÎÏ} ¥«¥¹¥¿¥Þ¥¤¥ºµ¡Ç½¤Ç¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤Ê¤É¤Ë Á´³Ñ±Ñ¿ô³ÎÄêÆþÎϥ⡼¥É¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤Ë¤è¤ê¡¢ Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤òÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢{\dg\bf \ref{3.3¥«¥¹¥¿¥Þ¥¤¥º} \hpref{count=6,label=H0.4.0.0.0} ¥«¥¹¥¿¥Þ¥¤¥º} ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \newpage \section{\HIDX{»ú¼ïÊÑ´¹}{¤·¤·¤æ¤Ø¤ó¤«¤ó}{H0.3.13.0.0}} \label{3.2.6.5»ú¼ïÊÑ´¹¤Î¤Þ¤È¤á} \subsection{»ú¼ï¤ÎÊѹ¹¤Î»ÅÊý} ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ¤äñ¸õÊäɽ¼¨¾õÂ֤Ǥϡ¢ÆÉ¤ß¤Îʸ»úÎó¤ò Á´³Ñ¥«¥¿¥«¥Ê¡¦È¾³Ñ¥«¥¿¥«¥Ê¡¦Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¦È¾³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ê¤É¤Î ʸ»úÎó¤ËÊÑ´¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ »ú¼ïÊÑ´¹¤Ë¤Ï \CTRL + \fbox{n} ¤Þ¤¿¤Ï \fbox{¢­} ¤È¡¢ \CTRL + \fbox{p} ¤Þ¤¿¤Ï \fbox{¢¬} ¤òÍѤ¤¤Þ¤¹¡£ \CTRL + \fbox{n} ¤Þ¤¿¤Ï \fbox{¢­} ¤òÆþÎϤ¹¤ë¤³¤È¤Ç¡¢ ¤Ò¤é¤¬¤Ê¡ÁÁ´³Ñ¥«¥¿¥«¥Ê¡ÁȾ³Ñ¥«¥¿¥«¥Ê¡ÁÁ´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡ÁȾ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È ¤È»ú¼ïÊÑ´¹¤¬¹Ô¤ï¤ì¡¢¤â¤¦°ìÅÙ \CTRL + \fbox{n} ¤Þ¤¿¤Ï \fbox{¢­} ¤ò ²¡¤¹¤È¸µ¤ÎÆÉ¤ß¤Î¾õÂÖ¤ËÌá¤ê¤Þ¤¹¡£ \CTRL + \fbox{p} ¤Þ¤¿¤Ï \fbox{¢¬} ¤ò²¡¤¹¤ÈµÕ²ó¤ê¤Î»ú¼ïÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ ñ¸õÊäɽ¼¨¾õÂÖ¤«¤é»ú¼ïÊÑ´¹¤¹¤ë¾ì¹ç¤Ï¡¢ \CTRL + \fbox{c} ¤ò²¡¤·¤Æ¤«¤é \CTRL + \fbox{n} (¤Þ¤¿¤Ï \fbox{¢­} )¤ä \CTRL + \fbox{p} (¤Þ¤¿¤Ï \fbox{¢¬} )¤ò²¡¤·¤Þ¤¹¡£ \subsubsection{ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂ֤Ǥλú¼ïÊÑ´¹} \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤Õ¤©¤È¤°¤é¤Õ}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢Á´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{¥Õ¥©¥È¥°¥é¥Õ} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢È¾³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{{\small ¥Õ¥©¥È¥°¥é¥Õ}} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{f o t o g u r a h u} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢È¾³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{{\small fotogurahu}} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢ÆÉ¤ß¤ËÌá¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤Õ¤©¤È¤°¤é¤Õ}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsubsection{ñ¸õÊäɽ¼¨¾õÂ֤Ǥλú¼ïÊÑ´¹} ¡Ø¤³¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ïutility¤¬½¼¼Â¤·¤Æ¤¤¤Þ¤¹¡Ù¤ÈÆþÎϤ¹¤ë¤È¤·¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤ò´Á»ú¤ËÊÑ´¹¤·¡¢Ê¸Àá¤ò°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ï}\fbox{±­}\underline{ÃÏÍýty¤¬½¼¼Â¤·¤Æ¤Þ¤¹¡£} \\ {[´Á»ú]} \\ \end{SCREEN} \item \CTRL + \fbox{o} ¤ò4²óÆþÎϤ·¤Æ¡¢¥«¥ì¥ó¥ÈʸÀáŤò¿­¤Ð¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ï}\fbox{¥¦¥Á¥êty}\underline{¥±½¼¼Â¤·¤Æ¤Þ¤¹¡£} \\ {[´Á»ú]} \\ \end{SCREEN} \item \CTRL + \fbox{c} ¤ò²¡¤¹¤È¡¢¥«¥ì¥ó¥ÈʸÀ᤬ÆÉ¤ß¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ï}\fbox{¤¦}\underline{¤Á¤êty¥±½¼¼Â¤·¤Æ¤Þ¤¹¡£} \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢¬} ¤ò²¡¤¹¤È¡¢È¾³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ï}\fbox{utility}\underline{¥±½¼¼Â¤·¤Æ¤Þ¤¹¡£} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢ª} ¤ò²¡¤·¤Æ¡¢¼¡Ê¸Àá¤Ë°Üư¤·¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ïutility}\fbox{¥±}\underline{½¼¼Â¤·¤Æ¤Þ¤¹¡£} \\ {[´Á»ú]} \\ \end{SCREEN} \item \fbox{¢¬} ¤ò²¡¤¹¤È¡¢¥«¥ì¥ó¥ÈʸÀ᤬ÆÉ¤ß¤ËÌá¤ê¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ïutility}\fbox{¤¬}\underline{½¼¼Â¤·¤Æ¤Þ¤¹¡£} \\ {[´Á»ú]} \\ \end{SCREEN} \item \RETURN ¤ò²¡¤¹¤È¡¢³ÎÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¤³¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ïutility¤¬½¼¼Â¤·¤Æ¤Þ¤¹¡£\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} ÆþÎϤ·¤Æ¤¤¤ëÆÉ¤ß¤ÎÃæ¤Ë¤«¤Ê¤ËÊÑ´¹¤µ¤ì¤Ê¤¤¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¥«¥¿¥«¥Ê¤Ë¤ÏÊÑ´¹¤µ¤ì¤º¡¢ ¤Ò¤é¤¬¤Ê¡ÁÁ´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡ÁȾ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡Á¤Ò¤é¤¬¤Ê ¤Î½ç¤Ç»ú¼ïÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{nquote}{2em} \fbox{c} \fbox{o} \fbox{n} \fbox{g} \fbox{r} \fbox{a} \fbox{t} \fbox{u} \fbox{l} \fbox{a} \fbox{t} \fbox{i} \fbox{o} \fbox{n} \end{nquote} \begin{SCREEN} \verb!% !\underline{¤³¤óg¤é¤Ä¤é¤Á¤ªn}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{c o n g r a t u l a t i o n} \\ {[»ú¼ï]} \\ \end{SCREEN} \end{enumerate} ¥«¥Ê¥­¡¼¤ÇÆþÎϤò¹Ô¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ë¤ÏÊÑ´¹¤µ¤ì¤º¡¢ ¤Ò¤é¤¬¤Ê¡ÁÁ´³Ñ¥«¥¿¥«¥Ê¡ÁȾ³Ñ¥«¥¿¥«¥Ê¡Á¤Ò¤é¤¬¤Ê¤Î½ç¤Ç»ú¼ïÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤Õ¤©¤È¤°¤é¤Õ}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢Á´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{¥Õ¥©¥È¥°¥é¥Õ} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢È¾³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{{\small ¥Õ¥©¥È¥°¥é¥Õ}} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢ÆÉ¤ß¤ËÌá¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤Õ¤©¤È¤°¤é¤Õ}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{»ú¼ïÊÑ´¹Îΰè¤Î¿­½Ì} ¤«¤Ê´Á»úÊÑ´¹¤ÈƱÍͤ˻ú¼ïÊÑ´¹¤âÊÑ´¹Îΰè¤ò¿­½Ì¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \CTRL + \fbox{o} ¤ÇÊÑ´¹Îΰè¤ò¿­¤Ð¤·¤Æ¡¢ \CTRL + \fbox{i} ¤Ç ÊÑ´¹Îΰè¤ò½Ì¤á¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¡Ø¡Á¤Î¡Ù¤Î¤è¤¦¤ÊÆþÎϤò¹Ô¤Ã¤¿¾ì¹ç¤Î¤è¤¦¤Ë¡¢ ½õ»ì¤Ç¤¢¤ë¡Ø¤Î¡Ù¤Ï»ú¼ïÊÑ´¹¤ÎÂоݤˤϤ·¤¿¤¯¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢ \CTRL + \fbox{i} ¤Ç»ú¼ïÊÑ´¹¤È¤Ê¤ëÂоݤò½Ì¤á¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤¨¡¼¤Ó¡¼¤·¡¼¤Î}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢Á´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{¥¨¡¼¥Ó¡¼¥·¡¼¥Î} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \CTRL + \fbox{i} ¤ò²¡¤¹¤È¡¢ÊÑ´¹Îΰ褬½Ì¤Þ¤ê¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\fbox{¥¨¡¼¥Ó¡¼¥·¡¼}\underline{¤Î} \\ {[»ú¼ï]} \\ \end{SCREEN} \end{enumerate} \subsection{»ú¼ïÊÑ´¹Îΰè¤Î³«»ÏÅÀ¤ÎÀßÄê(\HIDX{¥Þ¡¼¥¯µ¡Ç½}{¤Þ¡¼¤¯¤­¤Î ¤¦}{H0.3.13.3.0})} »ú¼ïÊÑ´¹¤¹¤ëºÝ¡¢¥Þ¡¼¥¯¤òÀßÄꤹ¤ë¤³¤È¤Ç»ú¼ïÊÑ´¹Îΰè¤Î³«»ÏÅÀ¤òÊѹ¹¤¹ ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Þ¡¼¥¯¤òÀßÄꤷ¤Ê¤¤¾ì¹ç¤ÏÆÉ¤ß¤ÎÀèÆ¬¤«¡¢°ÊÁ°»ú¼ïÊÑ ´¹¤·¤¿¾ì¹ç¤Ï»ú¼ïÊÑ´¹¤·¤¿Ä¾¸å¤Î°ÌÃÖ¤«¤é»ú¼ïÊÑ´¹¤µ¤ì¤Þ¤¹¡£ ¤³¤Îµ¡Ç½¤Ï¡¢ÆþÎϤ·¤¿ÆÉ¤ß¤ÎǤ°Õ¤Î°ÌÃÖ¤«¤é»ú¼ïÊÑ´¹¤ò¹Ô¤¤¤¿¤¤¾ì¹ç¤Ë»ÈÍÑ ¤·¤Þ¤¹¡£¥»¥Ã¥È¤µ¤ì¤¿»ú¼ïÊÑ´¹Îΰè¤Î³«»ÏÅÀ¤ò¡Ö¥Þ¡¼¥¯¡×¡¢³«»ÏÅÀ¤òÀßÄꤹ ¤ë¤³¤È¤ò¡Ö¥Þ¡¼¥¯¤ò¥»¥Ã¥È¤¹¤ë¡×¤È¤¤¤¤¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ \CTRL + \SPACE ¤Ç¥Þ¡¼¥¯¤¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£ \begin{enumerate} \item ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤³¤ì¤Ï}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \CTRL + \SPACE ¤ò²¡¤·¡¢¥Þ¡¼¥¯¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤³¤ì¤Ï}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item ÆÉ¤ß¤òºÇ¸å¤Þ¤ÇÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¤³¤ì¤Ï¤Ú¤ó¤Ç¤¹}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢Á´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ì¤Ï}\fbox{¥Ú¥ó¥Ç¥¹} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \CTRL + \fbox{i} ¤ò²¡¤¹¤È¡¢ÊÑ´¹Îΰ褬½Ì¤Þ¤ê¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ì¤Ï}\fbox{¥Ú¥ó}\underline{¤Ç¤¹} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢È¾³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ì¤Ï}\fbox{\small ¥Ú¥ó}\underline{¤Ç¤¹} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢Á´³Ñ±Ñ¿ô¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ì¤Ï}\fbox{£ð£å£î}\underline{¤Ç¤¹} \\ {[»ú¼ï]} \\ \end{SCREEN} \item \fbox{¢­} ¤ò²¡¤¹¤È¡¢È¾³Ñ±Ñ¿ô¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \setlength{\fboxsep}{\reversefboxsep} \verb!% !\underline{¤³¤ì¤Ï}\fbox{pen}\underline{¤Ç¤¹} \\ {[»ú¼ï]} \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{µ­¹æ¤ÎÆþÎÏ}{¤­¤³¤¦¤Î¤Ë¤å¤¦¤ê¤ç¤¯}{H0.3.14.0.0}} \label{3.2.6.6µ­¹æ¤ÎÆþÎϤλÅÊý} ÊÑ´¹ÆþÎϥ⡼¥É¤Ç¤Ï¡¢¤¤¤í¤¤¤í¤Êµ­¹æ¤òÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ %% \IDX{µ­¹æÆþÎÏ}{¤­¤³¤¦¤Ë¤æ¤¦¤ê¤è¤¯}¤Ï¡¢ %% µ­¹æÆþÎϥ⡼¥É¤ÇÆþÎϤ¹¤ëÊýË¡¤È¡Ö¤­¤´¤¦¡×¤ò %% ¤«¤Ê´Á»úÊÑ´¹¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ \subsection{µ­¹æÆþÎϥ⡼¥É¤Ç¤ÎÆþÎÏ} \label{µ­¹æÆþÎϥ⡼¥É¤Ç¤ÎÆþÎÏ} \begin{enumerate} \item ÆÉ¤ß¤¬¤Ê¤¤¤È¤­¤Ë \INS ¤ò²¡¤¹¤Èµ­¹æÆþÎϥ⡼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[µ­¹æ]¡¡[2121]¡¡\fbox{¡¡}¡¡¡¢¡¡¡£¡¡¡¤¡¡¡¥¡¡¡¦¡¡¡§¡¡¡¨¡¡¡©¡¡¡ª¡¡¡«¡¡¡¬} \\ \end{SCREEN} \item \fbox{¢ª} ¤ò²¡¤·¤Æ¸õÊä¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[µ­¹æ]¡¡¡¡[2126]¡¡¡¡¡¡¡¢¡¡¡£¡¡¡¤¡¡¡¥¡¡\fbox{¡¦}¡¡¡§¡¡¡¨¡¡¡©¡¡¡ª¡¡¡«¡¡¡¬} \\ \end{SCREEN} \begin{SCREEN} \verb!% ¡¦!\CURSOR \\ {[µ­¹æ]¡¡¡¡[2126]¡¡¡¡¡¡¡¢¡¡¡£¡¡¡¤¡¡¡¥¡¡\fbox{¡¦}¡¡¡§¡¡¡¨¡¡¡©¡¡¡ª¡¡¡«¡¡¡¬} \\ \end{SCREEN} \item µ­¹æÆþÎϥ⡼¥É¤òÈ´¤±¡¢ ÊÑ´¹ÆþÎϥ⡼¥É¤ËÌá¤ë¤¿¤á¤Ë¤Ï¡¢\CTRL + \fbox{g}¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¡¦\CURSOR \\ {[ ¤¢ ] }\\ \end{SCREEN} \end{enumerate} ¤½¤Î¤Û¤«¤Ë³ÈÄ¥µ¡Ç½¤Ç¤â¡¢µ­¹æÆþÎϤò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢{\dg\bf \ref{3.2.7¤½¤Î¾¤Îµ¡Ç½} \hpref{count=7,label=H0.3.17.0.0} ³ÈÄ¥µ¡Ç½¤Î°ìÍ÷} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ %% \subsection{¤«¤Ê´Á»úÊÑ´¹¤Ç¤ÎÆþÎÏ} %% ÆÉ¤ß¤Ç¡Ö¤­¤´¤¦¡×¤ÈÆþÎϤ·¤Æ´Á»úÊÑ´¹¤¹¤ë¤È°ìÈÌŪ¤Êµ­¹æ¤¬¸õÊä¤È¤·¤Æ½Ð¤Æ¤­¤Þ¤¹¡£ %% µ­¹æ¤ÎÁªÂò¤ÎÊýË¡¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¤Î¸õÊäÁªÂò»þ¤ÈƱ¤¸¤Ç¤¹¡£ \newpage \section{\HIDX{16¿Ê¥³¡¼¥É¤Ë¤è¤ëÆþÎÏ}{£±£¶¤·¤ó¤³¡¼¤È¤Ë¤è¤ë¤Ë¤å¤¦ ¤ê¤ç¤¯}{H0.3.15.0.0}} \label{3.2.6.716¿Ê¥³¡¼¥É¤Ë¤è¤ëÆþÎϤλÅÊý} 16¿Ê¥³¡¼¥É¤Çʸ»ú¤òÆþÎϤ¹¤ë¤Ë¤Ï¡¢2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ 1 ¤Ä¤Ï¡¢\IDX{16¿Ê¥³¡¼¥É}{£±£¶¤·¤ó¤³¡¼¤È}¤òÄÌ ¾ï¤ÎÆÉ¤ß¤ÎÆþÎÏ¤ÈÆ±ÍÍ¤ËÆþÎϤ·¤¿¸å¤Ë¡¢ \CTRL + \fbox{y} ¤ò²¡¤¹¤³¤È¤Ë¤è¤ê¡¢Âбþ¤¹¤ëʸ»ú¤ËÊÑ´¹¤¹¤ëÊýË¡¤Ç¡¢ ¤â¤¦ 1 ¤Ä¤Ï¡¢16¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤ÇÆþÎϤ¹¤ëÊýË¡¤Ç¤¹¡£ \subsection{Ä̾ï¤Î¥â¡¼¥É¤Ç¤Î16¿Ê¥³¡¼¥ÉÆþÎÏ} \begin{enumerate} \item Ä̾ï¤ÎÆÉ¤ß¤òÆþÎϤ¹¤ë¤Î¤ÈƱÍͤË4·å¤Î16¿Ê¥³¡¼¥É¤òÆþÎϤ·¤Þ¤¹¡£ 16¿Ê¥³¡¼¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢ {\dg\bf ÉÕÏ¿ \ref{L16¿Ê´Á»ú¥³¡¼¥É°ìÍ÷ɽ} \hpref{count=11,label=H0.K.0.0.0} 16 ¿Ê´Á»ú¥³¡¼¥É°ìÍ÷ɽ} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{SCREEN} \verb!% !\fbox{2276} \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \CTRL + \fbox{y} ¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¢ö}\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \begin{nquote}{1em} \begin{namelist}{¡¡} \item[Ãí1] ¥«¥¹¥¿¥Þ¥¤¥º¤Ë¤è¤Ã¤Æ¡¢¥³¡¼¥É¼ïÊÌ¤Ï JIS ¥³¡¼¥É¡¢¥·¥Õ¥È JIS ¥³¡¼¥É¡¢¶èÅÀ¥³¡¼¥É¤Î 3 ¤Ä¤ÎÃæ¤«¤éÁª¤Ù¤Þ¤¹¡£¾Ü¤·¤¯¤ÏÂè2¾Ï¤Î \textbf{\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦¤½¤Î¾¤Î¥­¡¼¥ï¡¼¥É}¤½¤Î¤Û¤«¤Î¥­¡¼¥ï¡¼¥É} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \item[Ãí2] Êä½õ´Á»ú¤ò¥³¡¼¥ÉÆþÎϤ¹¤ë¤Ë¤Ï¡¢x ¤òÀè¹Ô¤µ¤»¤ÆÎ㤨¤Ð¡¢ ¡Öx2276¡×¤ÈÆÉ¤ß¥â¡¼¥É¤ÇÂÇ¤Ã¤Æ \CTRL + \fbox{y} ¤òÂÇ¤Ä¤ÈÆþÎϤǤ­¤Þ¤¹¡£ \end{namelist} \end{nquote} \subsection{16¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ç¤ÎÆþÎÏ} \label{16¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ç¤ÎÆþÎÏ} 16¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ø¤Ï \HELP ¥­¡¼¤Ç³ÈÄ¥µ¡Ç½°ìÍ÷¤òɽ¼¨¤·¡¢ {\dg\bf ¥³¡¼¥ÉÆþÎÏ} ¤òÁªÂò¤¹¤ë¤³¤È¤ÇÆþ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢{\dg\bf \ref{3.2.7¤½¤Î¾¤Îµ¡Ç½} \hpref{count=7,label=H0.3.17.0.0} ³ÈÄ¥µ¡Ç½¤Î°ìÍ÷} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{enumerate} \item ÆüËܸìÆþÎϥ⡼¥É¤ÇÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤Ê¤¤¾õÂÖ¤Ç \HELP ¤ò²¡¤¹¤È¡¢ ³ÈÄ¥µ¡Ç½¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[³ÈÄ¥] \fbox{1} µ­¹æÆþÎÏ\,\,\, 2 ¥³¡¼¥ÉÆþÎÏ\,\,\, 3 Éô¼óÆþÎÏ\,\,\, 4 ñ¸ìÅÐÏ¿\,\,\, 5 ´Ä¶­ÀßÄê} \SCREENRIGHT{1/5} \\ \end{SCREEN} \item {\dg\bf ¥³¡¼¥ÉÆþÎÏ} ¤òÁªÂò( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç ¥«¡¼¥½¥ë°Üư¸å \RETURN \,¤Þ¤¿¤ÏÈÖ¹æ¤ÎÆþÎÏ)¤¹¤ë¤È¡¢ 16¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ø°Ü¹Ô¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[16¿Ê]¡¡ ¥³¡¼¥É¡§} \\ \end{SCREEN} \item ¥³¡¼¥É( \fbox{2} \fbox{2} \fbox{7} \fbox{6} )¤òÆþÎϤ¹¤ë¤È¤½¤Î ¥³¡¼¥É¤ËÂбþ¤¹¤ëʸ»ú¤òɽ¼¨¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\underline{¢ö}\CURSOR \\ {[16¿Ê]¡¡ ¥³¡¼¥É¡§2276 } \\ \end{SCREEN} \item \RETURN ¤ò²¡¤¹¤È³ÎÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¢ö\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \begin{nquote}{1em} \begin{namelist}{¡¡} \item[Ãí°Õ] ¥á¥Ë¥å¡¼¤«¤é¥³¡¼¥ÉÆþÎϤ¹¤ë¤È¤­¤Ï¡¢¥³¡¼¥É¼ïÊÌ¤Ï JIS ¥³¡¼¥É ¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ \end{namelist} \end{nquote} \newpage \section{\HIDX{Éô¼óÊÑ´¹}{¤Õ¤·¤æ¤Ø¤ó¤«¤ó}{H0.3.16.0.0}¤Ë¤è¤ëÆþÎÏ} \label{3.2.6.8Éô¼óÊÑ´¹¤Ë¤è¤ëÆþÎϤλÅÊý} ÆÉ¤ß¤¬¤ï¤«¤é¤Ê¤¤´Á»ú¤ÏÉô¼óÊÑ´¹¤òÍѤ¤¤ÆÆþÎϤ·¤Þ¤¹¡£ Éô¼óÊÑ´¹ÆþÎÏ¤Ë¤Ï 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ 1 ¤Ä¤Ï¡¢Éô¼ó̾¤òÄ̾ï¤ÎÆÉ¤ß¤ÎÆþÎÏ¤ÈÆ±ÍÍ¤ËÆþÎϤ·¤¿¸å¤Ë¡¢ \CTRL + \fbox{w} ¤ò²¡¤¹¤³¤È¤Ë¤è¤ê¡¢ ¤½¤ÎÉô¼ó̾¤Î´Á»ú¤Î°ìÍ÷¤òɽ¼¨¤µ¤»¤ëÊýË¡¤Ç¡¢¤â¤¦ 1 ¤Ä¤Ï¡¢ Éô¼óÆþÎϥ⡼¥É¤ËÀÚ¤êÂØ¤¨¤ÆÆþÎϤ¹¤ëÊýË¡¤Ç¤¹¡£ \subsection{Ä̾ï¤Î¥â¡¼¥É¤Ç¤ÎÉô¼óÊÑ´¹} \begin{enumerate} \item Ä̾ï¤ÎÆÉ¤ß¤òÆþÎϤ¹¤ë¤Î¤ÈƱÍͤËÉô¼ó̾¤òÆþÎϤ·¤Þ¤¹¡£\\ Éô¼ó̾¤Ë¤Ä¤¤¤Æ¤Ï {\dg\bf ÉÕÏ¿ \ref{GÉô¼óÆþÎϤÎÉô¼ó̾°ìÍ÷ɽ} \hpref{count=11,label=H0.G.0.0.0} Éô¼óÆþÎϤÎÉô¼ó̾°ìÍ÷ɽ} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{SCREEN} \verb!% !\fbox{¤­¤¬¤Þ¤¨} \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \CTRL + \fbox{w} ¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\fbox{Ýä} \\ {[Éô¼ó]¡¡¡¡¡¡\fbox{1} Ýä¡¡2 Ýã¡¡3 Ýå¡¡4 Ýæ}¡¡\SCREENRIGHT{1/4} \\ \end{SCREEN} \item ÁªÂò¤·¤¿¤¤¸õÊä¤ÎÈÖ¹æ¤ò²¡¤¹¤«¡¢¤Þ¤¿¤Ï \CTRL + \fbox{f} ¤ª¤è¤Ó \CTRL + \fbox{b} ¤Ç¥«¡¼¥½¥ë°Üư¸å¡¢\RETURN ¤ò²¡¤·¤Æ¡¢¸õÊä¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !Ýæ\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \subsection{Éô¼óÆþÎϥ⡼¥É¤Ç¤ÎÆþÎÏ} \label{Éô¼óÆþÎϥ⡼¥É¤Ç¤ÎÆþÎÏ} Éô¼óÆþÎϥ⡼¥É¤Ø¤Ï \HELP ¥­¡¼¤Ç³ÈÄ¥µ¡Ç½°ìÍ÷¤òɽ¼¨¤·¡¢ {\dg\bf Éô¼óÆþÎÏ} ¤òÁªÂò¤¹¤ë¤³¤È¤ÇÆþ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢{\dg\bf \ref{3.2.7¤½¤Î¾¤Îµ¡Ç½} \hpref{count=7,label=H0.3.17.0.0} ³ÈÄ¥µ¡Ç½¤Î°ìÍ÷} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{enumerate} \item ¡ØÒ§¡Ù(ÆÉ¤ß¡§¤Á¤ç¤¯¡¢Éô¼ó̾¡§¤ê¤­¤Å¤¯¤ê)¤òÉô¼óÆþÎÏ¤ÇÆþÎϤ¹¤ë¤È¤·¤Þ¤¹¡£ ÆüËܸìÆþÎϥ⡼¥É¤ÇÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤Ê¤¤¾õÂÖ¤Ç \HELP ¤ò²¡¤¹¤È¡¢ ³ÈÄ¥µ¡Ç½¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[³ÈÄ¥] \fbox{1} µ­¹æÆþÎÏ\,\,\, 2 ¥³¡¼¥ÉÆþÎÏ\,\,\, 3 Éô¼óÆþÎÏ\,\,\, 4 ñ¸ìÅÐÏ¿\,\,\, 5 ´Ä¶­ÀßÄê} \SCREENRIGHT{1/5} \\ \end{SCREEN} \item {\dg\bf Éô¼óÆþÎÏ} ¤òÁªÂò( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç ¥«¡¼¥½¥ë°Üư¸å \RETURN \,¤Þ¤¿¤ÏÈÖ¹æ¤ÎÆþÎÏ)¤¹¤ë¤È¡¢Éô¼ó°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[Éô¼ó] \fbox{1} °ì¡¡2 Ш¡¡3 Ñá¡¡4 ½½¡¡5 ÒÇ¡¡6 Åá¡¡7 ´¢(¤ê¤Ã¤È¤¦)¡¡8 ÎÏ} \SCREENRIGHT{1/150} \\ \end{SCREEN} \item ¡ØÎϡ٤òÁªÂò¤¹¤ë(ÈÖ¹æ¤òÆþÎϤ¹¤ë¤«¡¢¤Þ¤¿¤Ï \CTRL + \fbox{f} ¤ª¤è¤Ó \CTRL + \fbox{b} ¤Ç¥«¡¼¥½¥ë°Üư¸å \RETURN \,)¤È¡¢ Éô¼ó¤¬¡ØÎϡ٤Îʸ»ú¤Î¸õÊä°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[Éô¼ó] \fbox{1} Ò¬¡¡2 ¹å¡¡3 Ò£¡¡4 Ò¥¡¡5 Ò§¡¡6 Òª¡¡7 Ò­¡¡8 Ò¢¡¡9 Ò¯} \SCREENRIGHT{1/18} \\ \end{SCREEN} \item ¡ØÒ§¡Ù¤òÁªÂò¤¹¤ë(ÈÖ¹æ¤òÆþÎϤ¹¤ë¤«¡¢ ¤Þ¤¿¤Ï \CTRL + \fbox{f} ¤ª¤è¤Ó \CTRL+ \fbox{b} ¤Ç¥«¡¼¥½¥ë°Üư¸å \RETURN \,)¤È¡¢¡ØÒ§¡Ù¤¬³ÎÄꤵ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !Ò§\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{³ÈÄ¥µ¡Ç½¤Î°ìÍ÷}{¤«¤¯¤Á¤è¤¦¤­¤Î¤¦¤Î¤¤¤Á¤é¤ó}{H0.3.17.0.0}} \label{3.2.7¤½¤Î¾¤Îµ¡Ç½} ¤«¤Ê´Á»úÊÑ´¹¤ò¤·¤Ê¤¬¤é¼­½ñ¤ä¥µ¡¼¥Ð¤ÎÁàºî¤Ê¤É¤ò¹Ô¤¦ \HIDX{³ÈÄ¥µ¡Ç½}{¤«¤¯¤Á¤è¤¦¤­¤Î¤¦}{H0.3.17.0.0}¤òÄ󶡤·¤Þ¤¹¡£ °Ê²¼¤Ëµ¡Ç½¤Î¹àÌܤξܺ٤ò¼¨¤·¤Þ¤¹¡£ \begin{table}[hbtp] \centering \caption{ʸ»úÆþÎϤδÊά²½¤Î¤¿¤á¤Îµ¡Ç½} \label{ʸ»úÆþÎϤδÊά²½¤Î¤¿¤á¤Îµ¡Ç½} \begin{tabular}{|l|l|ll|} \hline \multicolumn{2}{|c|}{¥á¡¡¥Ë¡¡¥å¡¡¡¼} & \multicolumn{2}{|c|}{»²¾È¾ÏÈÖ¹æ} \\ \hline µ­¹æÆþÎÏ & µ­¹æÁ´ÈÌ & \ref{3.2.7.1.1µ­¹æÁ´ÈÌ} & \\ & ¥í¥·¥¢Ê¸»ú & \ref{3.2.7.1.2¥í¥·¥¢Ê¸»ú} & \\ & ¥®¥ê¥·¥ãʸ»ú & \ref{3.2.7.1.3¥®¥ê¥·¥ãʸ»ú} & \\ & ·Ó¡¡Àþ & \ref{3.2.7.1.4·ÓÀþ} & \\ \hline ¥³¡¼¥ÉÆþÎÏ & & \ref{3.2.6.716¿Ê¥³¡¼¥É¤Ë¤è¤ëÆþÎϤλÅÊý} &\\ \hline Éô¼óÆþÎÏ & & \ref{3.2.6.8Éô¼óÊÑ´¹¤Ë¤è¤ëÆþÎϤλÅÊý} &\\ \hline \end{tabular} \end{table} \begin{table}[hbtp] \centering \caption{ÆüËܸìÆþÎϤò¥¹¥à¡¼¥º¤Ë¤¹¤ë¤¿¤á¤Îµ¡Ç½} \begin{tabular}{|l|l|l|l|} \hline \multicolumn{3}{|c|}{¥á¡¡¡¡¥Ë¡¡¡¡¥å¡¡¡¡¡¼} & »²¾È¾ÏÈÖ¹æ \\ \hline ñ¸ìÅÐÏ¿ & ñ¸ìÅÐÏ¿ & & \ref{3.2.7.4.1ñ¸ìÅÐÏ¿} \\ & ñ¸ìºï½ü & & \ref{3.2.7.4.2ñ¸ìºï½ü} \\ & ¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È & & \ref{3.2.7.4.3¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È} \\ \hline ´Ä¶­ÀßÄê & ÊÑ´¹Êý¼° & ϢʸÀáÊÑ´¹ & \ref{3.2.7.5ÊÑ´¹Êý¼°¤ÎÊѹ¹} \\ & & Ã༡¼«Æ°ÊÑ´¹ & \ref{3.2.7.5ÊÑ´¹Êý¼°¤ÎÊѹ¹} \\ \cline{2-4} & ¥µ¡¼¥ÐÁàºî & ¥µ¡¼¥Ð¤ÎÀÚ¤êÎ¥¤·& \ref{3.2.7.6.1¥µ¡¼¥Ð¤ÎÀÚ¤êÎ¥¤·} \\ & & ¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨& \ref{3.2.7.6.2¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨} \\ & & ¥µ¡¼¥Ð¤Îɽ¼¨ & \ref{3.2.7.6.3¥µ¡¼¥Ð¤Îɽ¼¨} \\ \cline{2-4} & ¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È &&\ref{3.2.7.4.3¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È}\\ \cline{2-4} & ³Ø½¬¾õÂÖɽ¼¨ & & \ref{3.2.7.8³Ø½¬¾õÂÖɽ¼¨} \\ \cline{2-4} & ¥Ð¡¼¥¸¥ç¥óɽ¼¨ & & \ref{3.2.7.9¥Ð¡¼¥¸¥ç¥óɽ¼¨} \\ \cline{2-4} & ¥Õ¥¡¥¤¥ëɽ¼¨ & ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë & \ref{3.2.7.10.1¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤Îɽ¼¨} \\ & & ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë & \ref{3.2.7.10.2¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ëɽ¼¨} \\ \hline \end{tabular} \end{table} ÆüËܸìÆþÎÏÃæ¤Ë¾åµ­¤Î³Æ³ÈÄ¥µ¡Ç½¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï °Ê²¼¤Î¤è¤¦¤Ê¥­¡¼Áàºî¤ò¹Ô¤¤¤Þ¤¹¡£ \begin{nquote}{2em} ¡ÎÎã¡Ïñ¸ìÅÐÏ¿¤ò¹Ô¤¦¾ì¹ç¡£ \begin{enumerate} \item ÆüËܸìÆþÎϥ⡼¥É¤ÇÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤Ê¤¤¾õÂÖ¤Ç \HELP ¤ò²¡¤¹¤È¡¢ ³ÈÄ¥µ¡Ç½¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[³ÈÄ¥] \fbox{1} µ­¹æÆþÎÏ\,\,\, 2 ¥³¡¼¥ÉÆþÎÏ\,\,\, 3 Éô¼óÆþÎÏ\,\,\, 4 ñ¸ìÅÐÏ¿\,\,\, 5 ´Ä¶­ÀßÄê} \SCREENRIGHT{1/5} \\ \end{SCREEN} \item {\dg\bf ñ¸ìÅÐÏ¿} ¤òÁªÂò( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç ¥«¡¼¥½¥ë°Üư¸å \RETURN \,¤Þ¤¿¤ÏÈÖ¹æ¤ÎÆþÎÏ)¤¹¤ë¤È¡¢ °Ê²¼¤Î¤è¤¦¤Ê°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[³ÈÄ¥] \fbox{1} ñ¸ìÅÐÏ¿¡¡2 ñ¸ìºï½ü¡¡3 ¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È} \SCREENRIGHT{1/3} \\ \end{SCREEN} \item {\dg\bf ñ¸ìÅÐÏ¿} ¤òÁªÂò( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç ¥«¡¼¥½¥ë°Üư¸å \RETURN \,¤Þ¤¿¤ÏÈÖ¹æ¤ÎÆþÎÏ)¤·¤Þ¤¹¡£ \end{enumerate} \end{nquote} ¤³¤Î¤è¤¦¤Ëµ¡Ç½¤òÁªÂò¤¹¤ë¤³¤È¤Ë¤è¤ê³Æµ¡Ç½¤¬³«»Ï¤·¤Þ¤¹¡£ÁªÂò¸å¤Ë¤Ä¤¤¤Æ¤Ï³Æµ¡Ç½¤Î¾ÜºÙ¤Ç½Ò¤Ù¤Þ¤¹¡£ ³ÈÄ¥µ¡Ç½¤Î¹àÌܤϥ«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¾ÜºÙ¤Ï¡¢{\bf\dg \ref{3.3¥«¥¹¥¿¥Þ¥¤¥º} \hpref{count=6,label=H0.4.0.0.0} ¥«¥¹¥¿¥Þ¥¤¥º} ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ °Ê²¼¤Î³ÆÀá¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î³ÈÄ¥µ¡Ç½¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ \newpage \section{\HIDX{µ­¹æÆþÎÏ}{¤­¤³¤¦¤Ë¤å¤¦¤ê¤ç¤¯}{H0.3.18.0.0}} \label{3.2.7.1µ­¹æÆþÎÏ} µ­¹æÆþÎϤˤϡ¢µ­¹æÁ´ÈÌ¡¢¥í¥·¥¢Ê¸»ú¡¢¥®¥ê¥·¥ãʸ»ú¡¢¤ª¤è¤Ó·ÓÀþÆþÎϤ¬¤¢¤ê¡¢ ¤½¤ì¤¾¤ì¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ µ­¹æÁ´È̤ˤĤ¤¤Æ¤Ï¡¢{\dg\bf \ref{µ­¹æÆþÎϥ⡼¥É¤Ç¤ÎÆþÎÏ} \hpref{count=11,label=H0.3.14.1.0} µ­¹æÆþÎϥ⡼¥É¤Ç¤ÎÆþÎÏ} ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \subsection{\HIDX{µ­¹æÁ´ÈÌ}{¤­¤³¤¦¤»¤ó¤Ï¤ó}{H0.3.18.1.0}} \label{3.2.7.1.1µ­¹æÁ´ÈÌ} ¥¹¥¯¥ê¡¼¥ó¤ÎºÇ²¼¹Ô¤Ê¤É¤Ëµ­¹æ°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ ¥«¡¼¥½¥ë¤Î¾å²¼º¸±¦¤Ø¤Î°Üư¤ò¹Ô¤¦¤³¤È¤Ë¤è¤ê¡¢ µá¤á¤ëµ­¹æ¤òÍÆ°×¤ËÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢¤¤¤¯¤Ä¤Ç¤âϢ³¤·¤ÆÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï¡¢µ­¹æ¤ÎÆþÎϤλÅÊý¡¢¤ª¤è¤Óµ­¹æÆþÎϥ⡼¥É¤«¤é¤Î¼è¤ê»ß¤á½èÍý ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ \begin{enumerate} \item ÆüËܸìÆþÎϥ⡼¥É¤ÇÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤Ê¤¤¾õÂÖ¤Ç \HELP ¤ò²¡¤¹¤È¡¢ ³ÈÄ¥µ¡Ç½¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[³ÈÄ¥] \fbox{1} µ­¹æÆþÎÏ\,\,\, 2 ¥³¡¼¥ÉÆþÎÏ\,\,\, 3 Éô¼óÆþÎÏ\,\,\, 4 ñ¸ìÅÐÏ¿\,\,\, 5 ´Ä¶­ÀßÄê} \SCREENRIGHT{1/5} \\ \end{SCREEN} \item {\dg\bf µ­¹æÆþÎÏ} ¤òÁªÂò¤¹¤ë¤È¡¢°Ê²¼¤Î¤è¤¦¤Ê°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[³ÈÄ¥] \fbox{1} µ­¹æÁ´ÈÌ¡¡2 ¥í¥·¥¢Ê¸»ú¡¡3 ¥®¥ê¥·¥ãʸ»ú¡¡4 ·ÓÀþ} \SCREENRIGHT{1/4} \\ \end{SCREEN} \item {\dg\bf µ­¹æÁ´ÈÌ} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[µ­¹æ]¡¡[2121]¡¡\fbox{¡¡}¡¡¡¢¡¡¡£¡¡¡¤¡¡¡¥¡¡¡¦¡¡¡§¡¡¡¨¡¡¡©¡¡¡ª¡¡¡«¡¡¡¬} \\ \end{SCREEN} \item \fbox{¢ª} ¤ò²¡¤·¤Æ¸õÊä¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[µ­¹æ]¡¡¡¡[2126]¡¡¡¡¡¡¡¢¡¡¡£¡¡¡¤¡¡¡¥¡¡\fbox{¡¦}¡¡¡§¡¡¡¨¡¡¡©¡¡¡ª¡¡¡«¡¡¡¬} \\ \end{SCREEN} \item \RETURN ¤ò²¡¤¹¤È³ÎÄꤵ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% ¡¦!\CURSOR \\ {[µ­¹æ]¡¡¡¡[2126]¡¡¡¡¡¡¡¢¡¡¡£¡¡¡¤¡¡¡¥¡¡\fbox{¡¦}¡¡¡§¡¡¡¨¡¡¡©¡¡¡ª¡¡¡«¡¡¡¬} \\ \end{SCREEN} \item ³¤±¤Æ¡¢¡Ø¡Á¡Ù¤òÁªÂò¤·( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Ü ư)¡¢\RETURN ¤ò²¡¤¹¤È¡Ø¡Á¡Ù¤¬³ÎÄꤵ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% ¡¦¡Á!\CURSOR \\ {[µ­¹æ]¡¡¡¡[2141]¡¡¡¹¡¡¡º¡¡¡»¡¡¡¼¡¡¡½¡¡¡¾¡¡¡¿¡¡¡À¡¡\fbox{¡Á}¡¡¡Â¡¡¡Ã¡¡¡Ä} \\ \end{SCREEN} \item µ­¹æÆþÎϥ⡼¥É¤òÈ´¤±¡¢ ÊÑ´¹ÆþÎϥ⡼¥É¤ËÌá¤ë¤¿¤á¤Ë¤Ï¡¢\CTRL + \fbox{g}¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¡¦¡Á\CURSOR \\ {[ ¤¢ ] }\\ \end{SCREEN} \item (3) ¤Î¾õÂÖ¤«¤é¡¢µ­¹æ¤ò 1 ¤Ä¤âÁªÂò¤·¤Ê¤¤¤Ç¡¢µ­¹æÆþÎϥ⡼¥É¤òÈ´¤±¤ë ¤¿¤á¤Ë \CTRL +\fbox{g}¤ò²¡¤¹¤È¡¢1 ¤ÄÁ°¤Î²èÌ̤ËÌá¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[³ÈÄ¥] \fbox{1} µ­¹æÁ´ÈÌ¡¡2 ¥í¥·¥¢Ê¸»ú¡¡3 ¥®¥ê¥·¥ãʸ»ú¡¡4 ·ÓÀþ} \SCREENRIGHT{1/4} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{¥í¥·¥¢Ê¸»ú}{¤í¤·¤¢¤â¤·}{H0.3.18.2.0}}~ \label{3.2.7.1.2¥í¥·¥¢Ê¸»ú} ¥í¥·¥¢Ê¸»ú¤Î¸õÊä°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ ¸õÊäÁªÂò¡¢³ÎÄꤪ¤è¤Ó¼è¤ê»ß¤á¤ÎÊýË¡¤Ïµ­¹æÆþÎÏ¤ÈÆ±¤¸¤Ç¤¹¡£ \begin{enumerate} \item ¡Ø§§¡Ù¤ò¥í¥·¥¢Ê¸»úÆþÎÏ¤ÇÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf µ­¹æÆþÎÏ¢ª¥í¥·¥¢Ê¸»ú} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¥í ] \fbox{§¡}¡¡§¢¡¡§£¡¡§¤¡¡§¥¡¡§¦¡¡§§¡¡§¨¡¡§©¡¡§ª¡¡§«¡¡§¬¡¡§­¡¡§®¡¡§¯} \SCREENRIGHT{1/66} \\ \end{SCREEN} \item ¥í¥·¥¢Ê¸»ú¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¡Ø§§¡Ù¤òÁªÂò¤· ( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Üư) \RETURN \,¤ò²¡¤¹¤È ¡Ø§§¡Ù¤¬³ÎÄꤵ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !§§\CURSOR \\ {[ ¥í ] §¡¡¡§¢¡¡§£¡¡§¤¡¡§¥¡¡§¦¡¡\fbox{§§}¡¡§¨¡¡§©¡¡§ª¡¡§«¡¡§¬¡¡§­¡¡§®¡¡§¯} \SCREENRIGHT{7/66} \\ \end{SCREEN} \item ¥í¥·¥¢Ê¸»úÆþÎϥ⡼¥É¤òÈ´¤±¡¢ ÊÑ´¹ÆþÎϥ⡼¥É¤ËÌá¤ë¤¿¤á¤Ë¤Ï¡¢\CTRL + \fbox{g}¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !§§\CURSOR \\ {[ ¤¢ ] }\\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{¥®¥ê¥·¥ãʸ»ú}{¤­¤ê¤·¤¢¤â¤·}{H0.3.18.3.0}} \label{3.2.7.1.3¥®¥ê¥·¥ãʸ»ú} ¥®¥ê¥·¥ãʸ»ú¤Î¸õÊä°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ ¸õÊäÁªÂò¡¢³ÎÄꤪ¤è¤Ó¼è¤ê»ß¤á¤ÎÊýË¡¤Ïµ­¹æÆþÎÏ¤ÈÆ±¤¸¤Ç¤¹¡£ \begin{enumerate} \item ¡Ø¦¨¡Ù¤ò¥®¥ê¥·¥ãʸ»úÆþÎÏ¤ÇÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf µ­¹æÆþÎÏ¢ª¥®¥ê¥·¥ãʸ»ú} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¥® ] \fbox{¦¡}¡¡¦¢¡¡¦£¡¡¦¤¡¡¦¥¡¡¦¦¡¡¦§¡¡¦¨¡¡¦©¡¡¦ª¡¡¦«¡¡¦¬¡¡¦­¡¡¦®¡¡¦¯} \SCREENRIGHT{1/48} \\ \end{SCREEN} \item ¥®¥ê¥·¥ãʸ»ú¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢ ¡Ø¦¨¡Ù¤òÁªÂò¤·( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Üư) \RETURN \, ¤ò²¡¤¹¤È¡Ø¦¨¡Ù¤¬³ÎÄꤵ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¦¨\CURSOR \\ {[ ¥® ] ¦¡¡¡¦¢¡¡¦£¡¡¦¤¡¡¦¥¡¡¦¦¡¡¦§¡¡\fbox{¦¨}¡¡¦©¡¡¦ª¡¡¦«¡¡¦¬¡¡¦­¡¡¦®¡¡¦¯} \SCREENRIGHT{8/48} \\ \end{SCREEN} \item ¥®¥ê¥·¥ãʸ»úÆþÎϥ⡼¥É¤òÈ´¤±¡¢ ÊÑ´¹ÆþÎϥ⡼¥É¤ËÌá¤ë¤¿¤á¤Ë¤Ï¡¢\CTRL + \fbox{g}¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¦¨\CURSOR \\ {[ ¤¢ ] }\\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{·ÓÀþ}{¤±¤¤¤»¤ó}{H0.3.18.4.0}} \label{3.2.7.1.4·ÓÀþ} ·ÓÀþ¤Î¸õÊä°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ ¸õÊäÁªÂò¡¢³ÎÄꤪ¤è¤Ó¼è¤ê»ß¤á¤ÎÊýË¡¤Ïµ­¹æÆþÎÏ¤ÈÆ±¤¸¤Ç¤¹¡£ \begin{enumerate} \item ¡Ø¨© ¡Ù¤ò·ÓÀþÆþÎÏ¤ÇÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \HELP ¤ò²¡¤·¡¢{\dg\bf µ­¹æÆþÎÏ¢ª·ÓÀþ} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[·ÓÀþ] \fbox{¨¡}¡¡¨¢¡¡¨£¡¡¨¤¡¡¨¥¡¡¨¦¡¡¨§¡¡¨¨¡¡¨©¡¡¨ª¡¡¨«¡¡¨¬¡¡¨­¡¡¨®¡¡¨¯} \SCREENRIGHT{1/32} \\ \end{SCREEN} \item ·ÓÀþ¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢ ¡Ø¨©¡Ù¤òÁªÂò¤·( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Üư) \RETURN \, ¤ò²¡¤¹¤È¡Ø¨©¡Ù¤¬³ÎÄꤵ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¨©\CURSOR \\ {[·ÓÀþ] ¨¡¡¡¨¢¡¡¨£¡¡¨¤¡¡¨¥¡¡¨¦¡¡¨§¡¡¨¨¡¡\fbox{¨©}¡¡¨ª¡¡¨«¡¡¨¬¡¡¨­¡¡¨®¡¡¨¯} \SCREENRIGHT{9/32} \\ \end{SCREEN} \item ·ÓÀþÆþÎϥ⡼¥É¤òÈ´¤±¡¢ ÊÑ´¹ÆþÎϥ⡼¥É¤ËÌá¤ë¤¿¤á¤Ë¤Ï¡¢\CTRL + \fbox{g}¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¨©\CURSOR \\ {[ ¤¢ ] }\\ \end{SCREEN} \end{enumerate} \newpage \section{ñ¸ìÅÐÏ¿ºï½ü} \label{3.2.7.4ñ¸ìÅÐÏ¿} \subsection{\HIDX{ñ¸ìÅÐÏ¿}{¤¿¤ó¤³¤È¤¦¤í¤¯}{H0.3.19.1.0}} \label{3.2.7.4.1ñ¸ìÅÐÏ¿} ÆüËܸìÆþÎϵ¡Ç½¤Ë¤Ï¡¢ÊÑ´¹¤ò¤è¤êÁ᤯Ū³Î¤Ë¹Ô¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢ ñ¸ìÅÐÏ¿µ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£ ËÜÀá¤Ç¤Ï¡¢¤³¤Îñ¸ìÅÐÏ¿¤ÎÊýË¡¤òµ­½Ò¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢Ã±¸ì¤¬ÅÐÏ¿¤Ç¤­¤ë¤Î¤ÏÆÉ¤ß¤¬¤Ê¤¤¾õÂ֤ΤȤ­¤Î¤ß¤Ç¡¢ ÆÉ¤ß¤¬ÆþÎϤµ¤ì¤Æ¤¤¤ë¾õÂ֤Ǥϡ¢Ã±¸ì¤ÎÅÐÏ¿¤Ï¤Ç¤­¤Þ¤»¤ó¡£ \subsubsection{\HIDX{ÉÊ»ì}{¤Ò¤ó¤·}{H0.3.19.1.1}¤Î¼ïÎà} ñ¸ì¤Ï¡¢Éʻ줴¤È¤Ëʬ¤±¤ÆÅÐÏ¿¤·¤Þ¤¹¡£ ÅÐÏ¿¤¹¤ëºÝɬÍפÊÉÊ»ì¤Î¼ïÎà¤ÈÎã¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£ \begin{center} \begin{tabular}{|l|l|} \hline \multicolumn{1}{|c|}{ÉÊ¡¡¡¡¡¡»ì} & \multicolumn{1}{|c|}{Îã} \\ \hline ̾»ì & »³¡¢ÀĶõ¡¢ÆüËܸì \\ ¸Çͭ̾»ì & ÆüËÜÅŵ¤ \\ ¿Í̾ & ÎëÌÚ \\ ÃÏ̾ & Åìµþ \\ ư»ì & Í·¤Ö¡¢µÞ¤°¡¢°·¤¦ \\ ·ÁÍÆ»ì & Áᤤ¡¢Èþ¤·¤¤ \\ ·ÁÍÆÆ°»ì & ´¶¿´¤À¡¢Âç¹²¤Æ¤À \\ Éû»ì & ¤Õ¤Ã¤¯¤é¡¢ÆÍÁ³ \\ ñ´Á»ú & Å硢¼ \\ ¿ô»ì & ¤¤¤¯¤é¡¢ÂèÆó¡¢»°¿Í \\ Ï¢Âλì & ¤¢¤Î¡¢¤¤¤ï¤æ¤ë \\ Àܳ»ì & ¤½¤·¤Æ¡¢¤Þ¤¿ \\ ´¶Æ°»ì & ¤¢¤¢¡¢¤ª¤ä¡¢¤¤¤¤¤¨ \\ \hline \end{tabular} \end{center} \subsubsection{ñ¸ìÅÐÏ¿} °Ê²¼¤Î¤è¤¦¤Ë¤·¤ÆÃ±¸ì¤òÅÐÏ¿¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç \verb+:user+ ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¼­½ñ¤¬ 1 ¤Ä¤â ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ïñ¸ìÅÐÏ¿¤Ï¹Ô¤¨¤Þ¤»¤ó¡£ \verb+:user+ ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¼­½ñ¤¬ 1 ¤Ä¤â¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢ ¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤¿¼­½ñ¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢Ã±¸ìÅÐÏ¿¤ò¹Ô¤¦ºÝ¤Ë¤½¤Î¼­½ñ¤ò ºîÀ®¤¹¤ë¤«Èݤ«¤òÌ䤤¹ç¤ï¤»¤Æ¤­¤Þ¤¹¡£ ¡Öy¡×¤ÈÅú¤¨¤ë¤È¼­½ñ¤òºîÀ®¤·¤¿¸å¤Ë°Ê²¼¤Îñ¸ìÅÐÏ¿¤ò¹Ô¤¤¤Þ¤¹¡£ ¡Ön¡×¤ÈÅú¤¨¤ë¤È¼­½ñ¤òºîÀ®¤»¤º¡¢Ã±¸ìÅÐÏ¿¤Ï¹Ô¤¨¤Þ¤»¤ó¡£ \begin{enumerate} \item ¡ÖÂè6³«È¯Éô¡×¤ò¡Ö¤í¤Ã¤«¤¤¡×¤ÇÅÐÏ¿¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë \verb+:user user+ ¤È»ØÄꤵ¤ì¤¿¼­½ñ¤¬¤¢¤ê¡¢ ¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Æ¤¤¤ë¤â¤Î¤È¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ñ¸ìÅÐÏ¿¢ªÃ±¸ìÅÐÏ¿} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÅÐÏ¿] ñ¸ìÅÐÏ¿ÍѼ­½ñ¤¬¤¢¤ê¤Þ¤»¤ó¡£¼­½ñ(user)¤òºîÀ®¤·¤Þ¤¹¤«?(y/n)} \\ \end{SCREEN} \item \label{ñ¸ìÅÐÏ¿¡¦Ã±¸ìÆþÎÏ} {\dg\bf y} ¤òÆþÎϤ¹¤ë¤È user ¤È¤¤¤¦¼­½ñ¤¬ ºîÀ®¤µ¤ì¡¢Ã±¸ìÅÐÏ¿¤¬¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÅÐÏ¿] ñ¸ì?[]} \\ \end{SCREEN} \item ÅÐÏ¿¤¹¤ëñ¸ì¤òÆþÎϤ·¤Þ¤¹¡£ ư»ì¡¢·ÁÍÆ»ì¡¢·ÁÍÆÆ°»ì¤Ï½ª»ß·Á¤ÇÆþÎϤ·¡¢¤Û¤«¤Ï¤¹¤Ù¤Æ¸ì´´¤ÇÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÅÐÏ¿] ñ¸ì?[Âè6³«È¯Éô]} \\ \end{SCREEN} \item \label{ñ¸ìÅÐÏ¿¡¦ÆÉ¤ßÆþÎÏ} \RETURN ¤ò²¡¤¹¤È¡¢ÆÉ¤ß¤ÎÆþÎÏÍ׵᤬¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÅÐÏ¿] ñ¸ì[Âè6³«È¯Éô] ÆÉ¤ß?[]} \\ \end{SCREEN} \item ¼¡¤Ë¡¢ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÅÐÏ¿] ñ¸ì[Âè6³«È¯Éô] ÆÉ¤ß?[¤í¤Ã¤«¤¤]} \\ \end{SCREEN} \item \RETURN ¤ò²¡¤¹¤È¡¢ÉÊ»ì¤Î¸õÊ䤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÉÊ»ì] \fbox{1} ̾»ì\,\,\, 2 ¸Çͭ̾»ì\,\,\, 3 ư»ì\,\,\, 4 ·ÁÍÆ»ì \,\,\, 5 ·ÁÍÆÆ°»ì\,\,\, 6 Éû»ì} \SCREENRIGHT{1/7} \\ \end{SCREEN} \item {\dg\bf ̾»ì} ¤òÁªÂò( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç ¥«¡¼¥½¥ë°Üư¸å \RETURN \,¤Þ¤¿¤ÏÈÖ¹æ¤ÎÆþÎÏ)¤·¤Þ¤¹¡£ ¤³¤Î¤È¤­¡¢ÁªÂò¤·¤¿ÉÊ»ì¤Ë¤è¤Ã¤Æ¤Ï¤µ¤é¤ËºÙ¤«¤¤ÉÊ»ìʬ¤±¤ò¤¹¤ë¤«¤É¤¦¤« ¼ÁÌ䤵¤ì¤Þ¤¹¡£¤³¤Î¼ÁÌä¤Ï¥«¥¹¥¿¥Þ¥¤¥º¤Ë¤è¤Ã¤ÆÍÞÀ©¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¥«¥¹¥¿¥Þ¥¤¥º¤Ë¤Ä¤¤¤Æ¤Ï {\dg\bf \ref{3.3¥«¥¹¥¿¥Þ¥¤¥º} \hpref{count=6,label=H0.4.0.0.0} ¥«¥¹¥¿¥Þ¥¤¥º} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÉÊ»ì] ¤µ¤é¤ËºÙ¤«¤¤ÉÊ»ìʬ¤±¤Î¤¿¤á¤Î¼ÁÌä¤ò¤·¤Æ¤âÎɤ¤¤Ç¤¹¤«¡©(y/n)} \\ \end{SCREEN} \item {\dg\bf y} ¤ÈÅú¤¨¤ë¤È¡¢¼ÁÌ䤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÉÊ»ì] ¡ÖÂè6³«È¯Éô¤¹¤ë¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤«?(y/n)} \\ \end{SCREEN} \item ¡ÖÂè6³«È¯Éô¤¹¤ë¡×¤ÏÉÔ¼«Á³¤Ê¤Î¤Ç {\dg\bf n} ¤ÈÅú¤¨¤Þ¤¹¡£ ¤³¤Î¤È¤­¡¢ÁªÂò¤·¤¿ÉÊ»ì¤Ë¤è¤Ã¤Æ¤Ï¼¡¤Î¼ÁÌ䤬ɽ¼¨¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÉÊ»ì] ¡ÖÂè6³«È¯Éô¤Ê¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤«?(y/n)} \\ \end{SCREEN} \item ¡ÖÂè6³«È¯Éô¤Ê¡×¤ÏÉÔ¼«Á³¤Ê¤Î¤Ç {\dg\bf n} ¤ÈÅú¤¨¤ë¤È¡¢ ÅÐÏ¿¤¹¤ë¼­½ñ¤Î¸õÊ䤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[¼­½ñ] \fbox{1} user} \\ \end{SCREEN} \item ÅÐÏ¿¤¹¤ë¼­½ñ¤òÁªÂò¤¹¤ë( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Ü ư¸å \RETURN \,¤Þ¤¿¤ÏÈÖ¹æ¤ÎÆþÎÏ)¤È¡¢¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤ÆÅÐÏ¿¤¬´°Î»¤· ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ] ¡ØÂè6³«È¯Éô¡Ù(¤í¤Ã¤«¤¤)¤òÅÐÏ¿¤·¤Þ¤·¤¿} \\ \end{SCREEN} \item (\ref{ñ¸ìÅÐÏ¿¡¦Ã±¸ìÆþÎÏ}) ¤Î¾õÂ֤ǡ¢Ã±¸ì¤òÆþÎϤ·¤Ê¤¤¤Ç \RETURN ¤ò²¡¤¹¤È¡¢ °Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤¿¤é¡¢ ŬÅö¤Ê¥­¡¼¤ò²¡¤·¤Æ (\ref{ñ¸ìÅÐÏ¿¡¦Ã±¸ìÆþÎÏ}) ¤Î¾õÂÖ¤ËÌᤷ¡¢ ñ¸ì¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÅÐÏ¿] ñ¸ì¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤} \\ \end{SCREEN} \item (\ref{ñ¸ìÅÐÏ¿¡¦ÆÉ¤ßÆþÎÏ}) ¤Î¾õÂ֤ǡ¢ÆÉ¤ß¤òÆþÎϤ·¤Ê¤¤¤Ç \RETURN ¤ò²¡¤¹¤È¡¢ °Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤¿¤é¡¢ ŬÅö¤Ê¥­¡¼¤ò²¡¤·¤Æ (\ref{ñ¸ìÅÐÏ¿¡¦ÆÉ¤ßÆþÎÏ}) ¤Î¾õÂÖ¤ËÌᤷ¡¢ ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ÅÐÏ¿] ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{ñ¸ìºï½ü}{¤¿¤ó¤³¤µ¤¯¤·¤è}{H0.3.19.2.0}} \label{3.2.7.4.2ñ¸ìºï½ü} \begin{enumerate} \item ñ¸ì¤¬¡Ö¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¡×¤ÇÆÉ¤ß¤¬ ¡Ö¤¨¡¼¤Ô¡¼¡×¤Î¥¨¥ó¥È¥ê¤ò¼­½ñ user ¤È iroha ¤«¤éºï½ü¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \label{ñ¸ìºï½ü¡¦ÆÉ¤ßÆþÎÏ} \HELP ¤ò²¡¤·¡¢ {\dg\bf ñ¸ìÅÐÏ¿¢ªÃ±¸ìºï½ü} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ºï½ü] ÆÉ¤ß?[]} \\ \end{SCREEN} \item ºï½ü¤¹¤ëñ¸ì¤ÎÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ºï½ü] ÆÉ¤ß?[¤¨¡¼¤Ô¡¼]} \\ \end{SCREEN} \item \RETURN ¤ò²¡¤¹¤È¡¢ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ëñ¸ì¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ºï½ü] \fbox{1} ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¡¡2 AP} \SCREENRIGHT{1/2} \\ \end{SCREEN} \item \label{ñ¸ìºï½ü¡¦¼­½ñÁªÂò} {\dg\bf ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à} ¤òÁªÂò¤¹ ¤ë( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Üư¸å \RETURN \,¤Þ¤¿¤ÏÈÖ¹æ¤Î ÆþÎÏ)¤È¡¢ÁªÂò¤·¤¿¸õÊ䤬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤Ç¡¢Ã±¸ìºï½ü²Äǽ¤Ê¼­½ñ¤Î°ìÍ÷ ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢ÁªÂò¤·¤¿¸õÊ䤬 1 ¤Ä¤Î¼­½ñ¤Î¤ß¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤ ¤ë¾ì¹ç¤Ï¡¢¼­½ñ¤Î°ìÍ÷¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ºï½ü] \fbox{¡û} user¡¡¡û kimura¡¡¡û tanshuku¡¡¡û iroha} \SCREENRIGHT{1/4} \\ \end{SCREEN} \item ¼­½ñ°ìÍ÷¤Ç¤Ï¡¢ÁªÂò¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤Ï ¡ý¡¢ÁªÂò¤µ¤ì¤Æ¤¤¤Ê¤¤¼­½ñ¤Ï ¡û ¤Ç ¼¨¤µ¤ì¤Þ¤¹¡£ ¼­½ñ user ¤È iroha ¤«¤éñ¸ì¤òºï½ü¤¹¤ë¤Î¤Ç¡¢¤Þ¤º¡¢{\dg\bf ¡û user} ¤Ë¥«¡¼¥½¥ë¤ò °Üư( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Üư)¤·¡¢\SPACE ¤ò²¡¤·¤Þ¤¹¡£ ¤¹¤ë¤È¡¢É½¼¨¤¬ ¡ý ¤Ë¤Ê¤ê¡¢¼­½ñ user ¤¬ÁªÂò¤µ¤ì¤Þ¤¹ (¤â¤¦°ìÅÙ \SPACE ¤ò²¡¤¹¤È¡¢É½¼¨¤¬ ¡û ¤Ë¤Ê¤ê¡¢ÁªÂò¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹)¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ºï½ü] \fbox{¡ý} user¡¡¡û kimura¡¡¡û tanshuku¡¡¡û iroha} \SCREENRIGHT{1/4} \\ \end{SCREEN} \item ¼­½ñ¤òÊ£¿ôÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¼­½ñ iroha ¤«¤é¤âñ¸ì¤òºï½ü¤¹¤ë¤Î¤Ç¡¢{\dg\bf ¡û iroha} ¤Ë¥«¡¼¥½¥ë¤ò °Üư( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Üư)¤·¡¢\SPACE ¤ò²¡¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ºï½ü] ¡ý user¡¡¡û kimura¡¡¡û tanshuku¡¡\fbox{¡ý} iroha} \SCREENRIGHT{4/4} \\ \end{SCREEN} \item ¼­½ñ¤ÎÁªÂò¤¬½ªÎ»¤·¤¿¤é¡¢\RETURN ¤ò²¡¤¹¤È¡¢¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ¥á¥Ã¥»¡¼¥¸¤¬¥¬¥¤¥É¥é¥¤¥ó¤ËÆþ¤êÀÚ¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ ¥×¥í¥ó¥×¥È¤Îɽ¼¨¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !¡Ø¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¡Ù(¤¨¡¼¤Ô¡¼)¤ò¼­½ñ user ¤È iroha ¤«¤éºï½ü¤·¤Þ¤¹¤«?(y/n)\CURSOR \\ {[ºï½ü]} \\ \end{SCREEN} \item {\dg\bf y} ¤òÆþÎϤ¹¤ë¤È¡¢¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ÆÃ±¸ìºï½ü¤¬´°Î»¤·¤Þ¤¹¡£ {\dg\bf n} ¤òÆþÎϤ¹¤ë¤È¡¢Ã±¸ì¤Ïºï½ü¤µ¤ì¤Þ¤»¤ó¡£ \begin{SCREEN} \verb!% !¡Ø¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¡Ù(¤¨¡¼¤Ô¡¼)¤ò¼­½ñ user ¤È iroha ¤«¤éºï½ü¤·¤Þ¤·¤¿\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item (\ref{ñ¸ìºï½ü¡¦ÆÉ¤ßÆþÎÏ}) ¤Î¾õÂ֤ǡ¢ÆÉ¤ß¤òÆþÎϤ·¤Ê¤¤¤Ç \RETURN ¤ò²¡¤¹¤È¡¢ °Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤¿¤é¡¢Å¬Åö¤Ê¥­¡¼¤ò²¡¤·¤Æ (\ref{ñ¸ìºï½ü¡¦ÆÉ¤ßÆþÎÏ}) ¤Î ¾õÂÖ¤ËÌᤷ¡¢ÆÉ¤ß¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ºï½ü] ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤} \\ \end{SCREEN} \item (\ref{ñ¸ìºï½ü¡¦¼­½ñÁªÂò}) ¤Î¾õÂ֤ǡ¢¼­½ñ¤ò 1 ¤Ä¤âÁªÂò¤·¤Ê¤¤¤Ç \RETURN ¤ò ²¡¤¹¤È¡¢°Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤¿¤é¡¢Å¬Åö¤Ê¥­¡¼¤ò²¡¤·¤Æ (\ref{ñ¸ìºï½ü¡¦¼­½ñÁªÂò}) ¤Î ¾õÂÖ¤ËÌᤷ¡¢¼­½ñ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ºï½ü] ¼­½ñ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤} \\ \end{SCREEN} \end{enumerate} \newpage \section{¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È\HIDXAS{¼­½ñ¥Þ¥¦¥ó¥È}{¤·¤·¤è¤Þ¤¦¤ó¤È} {H0.3.20.0.0} \HIDXAS{¥¢¥ó¥Þ¥¦¥ó¥È}{¤¢¤ó¤Þ¤¦¤ó¤È}{H0.3.20.0.0}} \label{3.2.7.4.3¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È} ¼­½ñ¤ò\IDX{¥Þ¥¦¥ó¥È}{¤Þ¤¦¤ó¤È}¤ª¤è¤Ó\IDX{¥¢¥ó¥Þ¥¦¥ó¥È}{¤¢¤ó¤Þ¤¦¤ó¤È}¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢¤³¤³¤Ç¥Þ¥¦¥ó¥È¤·¤¿¼­½ñ¤Ïñ¸ìÅÐÏ¿¤ÎÂоݤˤϤʤê¤Þ¤»¤ó¡£ \begin{enumerate} \item ¼­½ñ suzuki ¤ò¥Þ¥¦¥ó¥È¤·¡¢¼­½ñ tanshuku ¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤¹¤ë¤È¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪ¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È} ¤Þ¤¿¤Ï {\dg\bf ñ¸ìÅÐÏ¿¢ª ¼­½ñ¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[¼­½ñ] \fbox{¡ý} iroha¡¡¡ý yuubin¡¡¡ý tanshuku¡¡¡û suzuki} \SCREENRIGHT{1/12} \\ \end{SCREEN} \item ¸½ºß¥Þ¥¦¥ó¥È²Äǽ¤Ê¼­½ñ¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ¸½ºß¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¼­½ñ¤Ï¡û¡¢¤¹¤Ç¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï¡ý¤Ç¼¨¤µ¤ì¤Þ¤¹¡£ ¼­½ñ suzuki ¤Ï¡û¤Ê¤Î¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¼­½ñ suzuki ¤ò¥Þ¥¦¥ó¥È¤·¤Þ¤¹¤Î¤Ç¡¢ ¡ûsuzuki¤Ë¥«¡¼¥½¥ë¤ò°Üư( \fbox{¢ª} ¤ª¤è¤Ó \fbox{¢«} ¤Ç¥«¡¼¥½¥ë°Üư)¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[¼­½ñ] ¡ý iroha¡¡¡ý yuubin¡¡¡ý tanshuku¡¡\fbox{¡û} suzuki} \SCREENRIGHT{4/12} \\ \end{SCREEN} \item \SPACE ¤ò²¡¤¹¤È¡¢É½¼¨¤¬¡ý¤Ë¤Ê¤ê¡¢¥Þ¥¦¥ó¥È¤¬»ØÄꤵ¤ì¤Þ¤¹ (¤â¤¦°ìÅÙ \SPACE ¤ò²¡¤¹¤È¥¢¥ó¥Þ¥¦¥ó¥È¤¬»ØÄꤵ¤ì¤Þ¤¹)¡£ ¤³¤³¤Ç¤ÏÀßÄê¤ò¹Ô¤Ã¤Æ¤¤¤ë¤À¤±¤Ç¡¢¼ÂºÝ¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[¼­½ñ] ¡ý iroha¡¡¡ý yuubin¡¡¡ý tanshuku¡¡\fbox{¡ý} suzuki} \SCREENRIGHT{4/12} \\ \end{SCREEN} \item ¼­½ñ tanshuku ¤Ï¡ý¤Ê¤Î¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¼­½ñ tanshuku ¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤¹¤ë¤Î¤Ç¡¢¡ýtanshuku¤Ë¥«¡¼¥½¥ë¤ò°Üư ( \fbox{¢ª}¤ª¤è¤Ó\fbox{¢«}¤Ç¥«¡¼¥½¥ë°Üư)¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[¼­½ñ] ¡ý iroha¡¡¡ý yuubin¡¡\fbox{¡ý} tanshuku¡¡¡ý suzuki} \SCREENRIGHT{3/12} \\ \end{SCREEN} \item \SPACE ¤ò²¡¤·¤Æ¡¢¥¢¥ó¥Þ¥¦¥ó¥È¤ò»ØÄꤷ¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[¼­½ñ] ¡ý iroha¡¡¡ý yuubin¡¡¡û tanshuku¡¡¡ý suzuki} \SCREENRIGHT{3/12} \\ \end{SCREEN} \item ³Æ¼­½ñ¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¤ò»ØÄꤷ¤¿¸å¡¢ \RETURN ¤ò²¡¤¹¤È¡¢¤½¤Î»ØÄê¤Ë¤·¤¿¤¬¤Ã¤Æ¼­½ñ¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]¡¡¼­½ñ¤Î¥Þ¥¦¥ó¥È/¥¢¥ó¥Þ¥¦¥ó¥È¤ò¹Ô¤¤¤Þ¤·¤¿} \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{ÊÑ´¹Êý¼°¤ÎÊѹ¹}{¤Ø¤ó¤«¤ó¤Û¤¦¤·¤­¤Î¤Ø¤ó¤³¤¦}{H0.3.21.0.0}} \label{3.2.7.5ÊÑ´¹Êý¼°¤ÎÊѹ¹} ÊÑ´¹Êý¼°¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢³ÈÄ¥µ¡Ç½¤òÍøÍѤ·¤Þ¤¹¡£ ÊÑ´¹Êý¼°¤Ë¤Ï¡¢{\dg\bf ϢʸÀáÊÑ´¹} ¤È {\dg\bf Ã༡¼«Æ°ÊÑ´¹} ¤¬¤¢¤ê¤Þ¤¹¡£ \begin{enumerate} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪÊÑ´¹Êý¼°} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[³ÈÄ¥] 1 ϢʸÀáÊÑ´¹¡¡2 Ã༡¼«Æ°ÊÑ´¹} \\ \end{SCREEN} \item ϢʸÀáÊÑ´¹¤ËÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢{\dg ϢʸÀáÊÑ´¹} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[ ¤¢ ] ϢʸÀáÊÑ´¹¤ËÀÚÂØ¤¨¤Þ¤·¤¿} \\ \end{SCREEN} \item Ã༡¼«Æ°ÊÑ´¹¤ËÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢{\dg Ã༡¼«Æ°ÊÑ´¹} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[Ã༡] Ã༡¼«Æ°ÊÑ´¹¤ËÀÚÂØ¤¨¤Þ¤·¤¿} \\ \end{SCREEN} \item Ã༡¼«Æ°ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¸Å¤¤¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ Ã༡¼«Æ°ÊÑ´¹¤Ø¤ÎÀÚ¤êÂØ¤¨¤Ï¤Ç¤­¤º¡¢°Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[Ã༡] ¥µ¡¼¥Ð¤¬Ã༡¼«Æ°ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó} \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{¥µ¡¼¥ÐÁàºî}{¤µ¡¼¤Ï¤½¤¦¤µ}{H0.3.22.0.0}} \label{3.2.7.6¥µ¡¼¥ÐÁàºî} \subsection{\HIDX{¥µ¡¼¥Ð¤ÎÀÚ¤êÎ¥¤·}{¤µ¡¼¤Ï¤Î¤­¤ê¤Ï¤Ê¤·}{H0.3.22.1.0}} \label{3.2.7.6.1¥µ¡¼¥Ð¤ÎÀÚ¤êÎ¥¤·} ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ò½ªÎ»¤µ¤»¤ë¤³¤È¤Ê¤¯ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ê¤Þ¤¹¡£ ¼­½ñ¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¤¹¤ë¤È¤­¤Ê¤É¤Ë»È¤¤¤Þ¤¹¡£ ¼¡¤ËÆüËܸìÆþÎϥ⡼¥É¤Ç²¿¤é¤«¤Î¥­¡¼¤òÆþÎϤ·¤è¤¦¤È¤¹¤ë¤È ¼«Æ°Åª¤ËÀܳ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ \begin{enumerate} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪ¥µ¡¼¥ÐÁàºî¢ª¥µ¡¼¥Ð¤ÎÀÚ¤êÎ¥¤·} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ] ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ê¤Þ¤·¤¿} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨}{¤µ¡¼¤Ï¤Î¤­¤ê¤«¤¨}{H0.3.22.2.0}} \label{3.2.7.6.2¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨} ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ò½ªÎ»¤µ¤»¤ë¤³¤È¤Ê¤¯ Ê̤Τ«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤·Ä¾¤·¤Þ¤¹¡£ \begin{enumerate} \item ws1 ¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀڤꡢ ws2 ¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤¹¤ë¤È¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ]} \\ \end{SCREEN} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪ¥µ¡¼¥ÐÁàºî¢ª¥µ¡¼¥Ð¤ÎÊѹ¹} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[Êѹ¹] ¥Þ¥·¥ó̾?[]} \\ \end{SCREEN} \item ¥Þ¥·¥ó̾¤òÆþÎϤ·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[Êѹ¹] ¥Þ¥·¥ó̾?[ws2]} \\ \end{SCREEN} \item \RETURN ¤ò²¡¤¹¤È¡¢ws2 ¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\CURSOR \\ {[ ¤¢ ] ws2¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤Þ¤·¤¿} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{¥µ¡¼¥Ð¤Îɽ¼¨}{¤µ¡¼¤Ï¤Î¤Ò¤ç¤¦¤·}{H0.3.22.3.0}}~ \label{3.2.7.6.3¥µ¡¼¥Ð¤Îɽ¼¨} ¸½ºßÀܳ¤·¤Æ¤¤¤ë¤«¤Ê´Á»ú¥µ¡¼¥Ð¤¬Æ°¤¤¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤òɽ¼¨¤·¤Þ¤¹¡£ \begin{enumerate} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪ¥µ¡¼¥ÐÁàºî¢ª¥µ¡¼¥Ð¤Îɽ¼¨} ¤òÁªÂò¤¹¤ë¤È¡¢ Àܳ¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ %{\dg\bf ´Ä¶­ÀßÄꢪ¥µ¡¼¥ÐÁàºî¢ª¥µ¡¼¥Ð¤Îɽ¼¨} ¤òÁªÂò¤·¤Þ¤¹¡£ % %\vspace{10mm} %\begin{tabular}{|p{13cm}p{1cm}} %\verb!% ! \\ %{[³ÈÄ¥] 1 ¥µ¡¼¥Ð¤ÎÀÚ¤êÎ¥¤·¡¡2 ¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨¡¡\fbox{3} ¥µ¡¼¥Ð¤Îɽ¼¨} & {{\small 1/3}} \\ %\hline %\end{tabular} %\vspace{10mm} % %\item \RETURN ¤ò²¡¤¹¤È¡¢Àܳ¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î̾Á°¤òɽ¼¨¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[ ¤¢ ] ws1 ¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹} \\ \end{SCREEN} ÆÃ¤ËÀßÄê¤òÊѹ¹¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¼«Ê¬¼«¿È¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¤Ï¥Û¥¹¥È̾¤Ï unix ¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[ ¤¢ ] unix¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹} \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{³Ø½¬¾õÂÖɽ¼¨}{¤«¤¯¤·¤å¤¦¤·¤ç¤¦¤¿¤¤¤Ò¤ç¤¦¤·}{H0.3.23.0.0}} \label{3.2.7.8³Ø½¬¾õÂÖɽ¼¨} ¸½ºß¤Î³Ø½¬¤ÎÀßÄê¤òÄ´¤Ù¤Þ¤¹¡£ \begin{enumerate} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪ³Ø½¬¾õÂÖɽ¼¨} ¤òÁªÂò¤·¤Þ¤¹¡£ %\vspace{10mm} %\begin{tabular}{|p{13cm}p{1cm}} %\verb!% ! \\ %{[³ÈÄ¥] \fbox{1} ³Ø½¬¾õÂÖɽ¼¨¡¡2 ¥Ð¡¼¥¸¥ç¥óɽ¼¨¡¡3 ¥Õ¥¡¥¤¥ëɽ¼¨} & {{\small 4/6}} \\ %\hline %\end{tabular} %\vspace{10mm} % % %\item ³Ø½¬¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ ³Ø½¬¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[ ¤¢ ] ³Ø½¬¤¬ON¤Î¾õÂ֤Ǥ¹} \\ \end{SCREEN} \item ³Ø½¬¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[ ¤¢ ] ³Ø½¬¤¬OFF¤Î¾õÂ֤Ǥ¹} \\ \end{SCREEN} ³Ø½¬¾õÂÖ¤ÎÀÚ¤êÂØ¤¨¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î½¤Àµ¤Ë¤Æ¹Ô¤¤¤Þ¤¹¡£ {\dg\bf \ref{3.3.6.4¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É} ¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É ¤Î(\ref{¥«¥¹¥¿¥Þ¥¤¥º¡¦¤½¤Î¾¤Î¥­¡¼¥ï¡¼¥É}) \hpref{count=10,label=H0.4.6.4.0.100} ¤½¤Î¤Û¤«¤Î¥­¡¼¥ï¡¼¥É} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{enumerate} \newpage \section{\HIDX{¥Ð¡¼¥¸¥ç¥óɽ¼¨}{¤Ï¡¼¤·¤ç¤ó¤Ò¤ç¤¦¤·}{H0.3.24.0.0}} \label{3.2.7.9¥Ð¡¼¥¸¥ç¥óɽ¼¨} ¸½ºß»ÈÍѤ·¤Æ¤¤¤ë¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¤Î¥Ð¡¼¥¸¥ç¥ó¤òÄ´¤Ù¤Þ¤¹¡£ \begin{enumerate} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪ¥Ð¡¼¥¸¥ç¥óɽ¼¨} ¤òÁªÂò¤·¤Þ¤¹¡£ %\vspace{10mm} %\begin{tabular}{|p{13cm}p{1cm}} %\verb!% ! \\ %{[³ÈÄ¥] 1 ³Ø½¬¾õÂÖɽ¼¨¡¡\fbox{2} ¥Ð¡¼¥¸¥ç¥óɽ¼¨¡¡3 ¥Õ¥¡¥¤¥ëɽ¼¨} & {{\small 5/6}} \\ %\hline %\end{tabular} %\vspace{10mm} % % %\item ¥Ð¡¼¥¸¥ç¥ó¤¬°Ê²¼¤Î¤è¤¦¤Ë½ÐÎϤµ¤ì¤Þ¤¹(¡Ø¤«¤ó¤Ê¡ÙVersion 3.2 ¤Î¾ì¹ç)¡£ ¥Ð¡¼¥¸¥ç¥ó¤¬°Ê²¼¤Î¤è¤¦¤Ë½ÐÎϤµ¤ì¤Þ¤¹(¡Ø¤«¤ó¤Ê¡ÙVersion 3.6 ¤Î¾ì¹ç)¡£ \begin{SCREEN} \verb!% ! \\ {[ ¤¢ ] ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¡Ø¤«¤ó¤Ê¡ÙVersion 3.6} \\ \end{SCREEN} \end{enumerate} \newpage \section{\HIDX{¥Õ¥¡¥¤¥ëɽ¼¨}{¤Õ¤¡¤¤¤ë¤Ò¤ç¤¦¤·}{H0.3.25.0.0}} \label{3.2.7.10¥Õ¥¡¥¤¥ëɽ¼¨} \subsection{\HIDX{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Îɽ¼¨}{¤í¡¼¤Þ¤·¤«¤Ê¤Ø¤ó¤«¤ó¤Æ¡¼¤Õ¤ë} {H0.3.25.1.0}}~ \label{3.2.7.10.1¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤Îɽ¼¨} ¸½ºß»ÈÍѤ·¤Æ¤¤¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÄ´¤Ù¤Þ¤¹¡£ \begin{enumerate} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪ¥Õ¥¡¥¤¥ëɽ¼¨} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[³ÈÄ¥] \fbox{1} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¡¡2 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} \SCREENRIGHT{1/2} \\ \end{SCREEN} \item ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¤¿¤¤¾ì¹ç¤Ï¡¢ {\dg ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[ ¤¢ ] ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ïdefault.cbp¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹} \\ \end{SCREEN} \end{enumerate} \subsection{\HIDX{¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Îɽ¼¨}{¤«¤¹¤¿¤Þ¤¤¤¹¤Õ¤¡¤¤¤ë¤Î} {H0.3.25.2.0}} \label{3.2.7.10.2¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ëɽ¼¨} ¸½ºß»ÈÍѤ·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÄ´¤Ù¤Þ¤¹¡£ \begin{enumerate} \item \HELP ¤ò²¡¤·¡¢ {\dg\bf ´Ä¶­ÀßÄꢪ¥Õ¥¡¥¤¥ëɽ¼¨} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% ! \\ {[³ÈÄ¥] 1 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¡¡\fbox{2} ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} \SCREENRIGHT{2/2} \\ \end{SCREEN} \item ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òɽ¼¨¤·¤¿¤¤¾ì¹ç¤Ï¡¢ {\dg ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë} ¤òÁªÂò¤·¤Þ¤¹¡£ \begin{SCREEN} \verb!% !\\ {[ ¤¢ ]¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ïdefault.canna¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹} \\ \end{SCREEN} \item ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò 2 ¤Ä°Ê¾å»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¤¹¤Ù¤Æ¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¬¥«¥ó¥Þ","¤Ç¶èÀÚ¤é¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ ¥á¥Ã¥»¡¼¥¸¤¬Ä¹¤¯¤Ê¤ë¾ì¹ç¤Ï¡¢ ¸õÊä°ìÍ÷¤òɽ¼¨¤¹¤ë¹Ô¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤·¤­¤ì¤Ê¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¤Ï¡¢¥×¥í¥ó¥×¥È¤Îɽ¼¨¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ %\vspace{10mm} %\begin{tabular}{|p{1cm}p{13cm}} %\multicolumn{2}{|l} %{\verb!\% !¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï\CANNALIBDIR /default.canna,\CANNALIBDIR } \\ %\multicolumn{2}{|l}{/kterm.canna¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹} \\ %{[ ¤¢ ]} & \\ %\hline %\end{tabular} %\vspace{10mm} \begin{SCREEN} {\verb!% !¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï\CANNALIBDIR /default.canna,\CANNALIBDIR} \\ {/kterm.canna¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹} \\ {[ ¤¢ ]} \\ \end{SCREEN} \end{enumerate} Canna37p3/doc/man/guide/tex/kanacode.tex0100644000076500001200000000274007727326134017367 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: kanacode.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{\HIDX{¥«¥¿¥«¥Ê¥³¡¼¥É°ìÍ÷ɽ}{¤«¤¿¤«¤Ê¤³¡¼¤È¤¤¤Á¤é¤ó¤Ò¤è¤¦} {H0.J.0.0.0}} \begin{figure}[h] \centering %\epsfile{file=../zukei/katakana.epsf,width=14cm} \includegraphics[width=14cm]{../zukei/katakana.epsf} \end{figure} Ãí°Õ\ \ SP¤Ï¶õÇòʸ»ú¤Ç¤¹¡£DEL¤Ï¾Ãµîʸ»ú¤Ç¤¹¡£\\ Canna37p3/doc/man/guide/tex/kancode.tex0100644000076500001200000010613507554213577017235 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: kancode.tex,v 1.1.1.1 2002/10/19 08:27:43 aida_s Exp $ % \chapter{\HIDX{16¿Ê´Á»ú¥³¡¼¥É°ìÍ÷ɽ}{£±£¶¤·¤ó¤«¤ó¤·¤³¡¼¤È¤¤¤Á¤é¤ó¤Ò¤è ¤¦}{H0.K.0.0.0}} \label{L16¿Ê´Á»ú¥³¡¼¥É°ìÍ÷ɽ} %\normalsize \centering \small \begin{tabular}{|c|ccccccccccccccccccc|} \hline \ code\ & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline %%%%% a1 %%%%% 2120 & &¡¡&¡¢&¡£& &¡¤&¡¥&¡¦&¡§& &¡¨&¡©&¡ª&¡«& &¡¬&¡­&¡®&¡¯ \\ 2130 &¡°&¡±&¡²&¡³& &¡´&¡µ&¡¶&¡·& &¡¸&¡¹&¡º&¡»& &¡¼&¡½&¡¾&¡¿ \\ 2140 &¡À&¡Á&¡Â&¡Ã& &¡Ä&¡Å&¡Æ&¡Ç& &¡È&¡É&¡Ê&¡Ë& &¡Ì&¡Í&¡Î&¡Ï \\ 2150 &¡Ð&¡Ñ&¡Ò&¡Ó& &¡Ô&¡Õ&¡Ö&¡×& &¡Ø&¡Ù&¡Ú&¡Û& &¡Ü&¡Ý&¡Þ&¡ß \\ 2160 &¡à&¡á&¡â&¡ã& &¡ä&¡å&¡æ&¡ç& &¡è&¡é&¡ê&¡ë& &¡ì&¡í&¡î&¡ï \\ 2170 &¡ð&¡ñ&¡ò&¡ó& &¡ô&¡õ&¡ö&¡÷& &¡ø&¡ù&¡ú&¡û& &¡ü&¡ý&¡þ& \\ %%%%% a2 %%%%% 2220 & &¢¡&¢¢&¢£& &¢¤&¢¥&¢¦&¢§& &¢¨&¢©&¢ª&¢«& &¢¬&¢­&¢®& \\ 2230 & & & & & & & & & & & & &¢º&¢»& &¢¼&¢½&¢¾&¢¿ \\ 2240 &¢À&¢Á& & & & & & & & & & &¢Ê&¢Ë& &¢Ì&¢Í&¢Î&¢Ï \\ 2250 &¢Ð& & & & & & & & & & & & & & &¢Ü&¢Ý&¢Þ&¢ß \\ 2260 &¢à&¢á&¢â&¢ã& &¢ä&¢å&¢æ&¢ç& &¢è&¢é&¢ê& & & & & & \\ 2270 & & &¢ò&¢ó& &¢ô&¢õ&¢ö&¢÷& &¢ø&¢ù& & & & & &¢þ& \\ %%%%% a3 %%%%% 2330 &£°&£±&£²&£³& &£´&£µ&£¶&£·& &£¸&£¹& & & & & & & \\ 2340 & &£Á&£Â&£Ã& &£Ä&£Å&£Æ&£Ç& &£È&£É&£Ê&£Ë& &£Ì&£Í&£Î&£Ï \\ 2350 &£Ð&£Ñ&£Ò&£Ó& &£Ô&£Õ&£Ö&£×& &£Ø&£Ù&£Ú& & & & & & \\ 2360 & &£á&£â&£ã& &£ä&£å&£æ&£ç& &£è&£é&£ê&£ë& &£ì&£í&£î&£ï \\ 2370 &£ð&£ñ&£ò&£ó& &£ô&£õ&£ö&£÷& &£ø&£ù&£ú& & & & & & \\ %%%%% a4 %%%%% 2420 & &¤¡&¤¢&¤£& &¤¤&¤¥&¤¦&¤§& &¤¨&¤©&¤ª&¤«& &¤¬&¤­&¤®&¤¯ \\ 2430 &¤°&¤±&¤²&¤³& &¤´&¤µ&¤¶&¤·& &¤¸&¤¹&¤º&¤»& &¤¼&¤½&¤¾&¤¿ \\ 2440 &¤À&¤Á&¤Â&¤Ã& &¤Ä&¤Å&¤Æ&¤Ç& &¤È&¤É&¤Ê&¤Ë& &¤Ì&¤Í&¤Î&¤Ï \\ 2450 &¤Ð&¤Ñ&¤Ò&¤Ó& &¤Ô&¤Õ&¤Ö&¤×& &¤Ø&¤Ù&¤Ú&¤Û& &¤Ü&¤Ý&¤Þ&¤ß \\ 2460 &¤à&¤á&¤â&¤ã& &¤ä&¤å&¤æ&¤ç& &¤è&¤é&¤ê&¤ë& &¤ì&¤í&¤î&¤ï \\ 2470 &¤ð&¤ñ&¤ò&¤ó& & & & & & & & & & & & & & & \\ %%%%% a5 %%%%% 2520 & &¥¡&¥¢&¥£& &¥¤&¥¥&¥¦&¥§& &¥¨&¥©&¥ª&¥«& &¥¬&¥­&¥®&¥¯ \\ 2530 &¥°&¥±&¥²&¥³& &¥´&¥µ&¥¶&¥·& &¥¸&¥É&¥º&¥»& &¥¼&¥½&¥¾&¥¿ \\ 2540 &¥À&¥Á&¥Â&¥Ã& &¥Ä&¥Å&¥Æ&¥Ç& &¥È&¥É&¥Ê&¥Ë& &¥Ì&¥Í&¥Î&¥Ï \\ 2550 &¥Ð&¥Ñ&¥Ò&¥Ó& &¥Ô&¥Õ&¥Ö&¥×& &¥Ø&¥Ù&¥Ú&¥Û& &¥Ü&¥Ý&¥Ó&¥ß \\ 2560 &¥à&¥á&¥â&¥ã& &¥ä&¥å&¥æ&¥ç& &¥è&¥é&¥ê&¥ë& &¥ì&¥í&¥î&¥ï \\ 2570 &¥ð&¥ñ&¥ò&¥ó& &¥ô&¥õ&¥ö& & & & & & & & & & & \\ %%%%% a6 %%%%% 2620 & &¦¡&¦¢&¦£& &¦¤&¦¥&¦¦&¦§& &¦¨&¦©&¦ª&¦«& &¦¬&¦­&¦®&¦¯ \\ 2630 &¦°&¦±&¦²&¦³& &¦´&¦µ&¦¶&¦·& &¦¸& & & & & & & & \\ 2640 & &¦Á&¦Â&¦Ã& &¦Ä&¦Å&¦Æ&¦Ç& &¦È&¦É&¦Ê&¦Ë& &¦Ì&¦Í&¦Î&¦Ï \\ 2650 &¦Ð&¦Ñ&¦Ò&¦Ó& &¦Ô&¦Õ&¦Ö&¦×& &¦Ø& & & & & & & & \\ %%%%% a7 %%%%% 2720 & &§¡&§¢&§£& &§¤&§¥&§¦&§§& &§¨&§©&§ª&§«& &§¬&§­&§®&§¯ \\ 2730 &§°&§±&§²&§³& &§´&§µ&§¶&§·& &§¸&§¹&§º&§»& &§¼&§½&§¾&§¿ \\ 2740 &§À&§Á& & & & & & & & & & & & & & & & & \\ \hline \end{tabular} \begin{quote} Ãí°Õ: 2121 ¤ÏÁ´³Ñ¥¹¥Ú¡¼¥¹¤Ç¤¹¡£ \end{quote} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 2750 & &§Ñ&§Ò&§Ó& &§Ô&§Õ&§Ö&§×& &§Ø&§Ù&§Ú&§Û& &§Ü&§Ý&§Þ&§ß \\ 2760 &§à&§á&§â&§ã& &§ä&§å&§æ&§ç& &§è&§é&§ê&§ë& &§ì&§í&§î&§ï \\ 2770 &§ð&§ñ& & & & & & & & & & & & & & & & & \\ %%%%% a8 %%%%% 2820 & &¨¡&¨¢&¨£& &¨¤&¨¥&¨¦&¨§& &¨¨&¨©&¨ª&¨«& &¨¬&¨­&¨®&¨¯ \\ 2830 &¨°&¨±&¨²&¨³& &¨´&¨µ&¨¶&¨·& &¨¸&¨¹&¨º&¨»& &¨¼&¨½&¨¾&¨¿ \\ 2840 &¨À& & & & & & & & & & & & & & & & & & \\ %%%%% b0 %%%%% 3020 & &°¡&°¢&°£& &°¤&°¥&°¦&°§& &°ù&°©&°ª&°«& &°¬&°­&°®&°¯ \\ 3030 &°°&°±&°²&°³& &°´&°µ&°¶&°·& &°¸&°¹&°º&°»& &°¼&°½&°¾&°¿ \\ 3040 &°À&°Á&°Â&°Ã& &°Ä&°Å&°Æ&°Ç& &°È&°É&°Ê&°Ë& &°Ì&°Í&°Î&°Ï \\ 3050 &°Ð&°Ñ&°Ò&°Ó& &°Ô&°Õ&°Ö&°×& &°Ø&°Ù&°Ú&°Û& &°Ü&°Ý&°Ó&°ß \\ 3060 &°à&°á&°â&°ã& &°ä&°å&°æ&°ç& &°è&°é&°ê&°ë& &°ì&°í&°î&°ï \\ 3070 &°ð&°ñ&°ò&°ó& &°ô&°õ&°ö&°÷& &°ø&°ù&°ú&°û& &°ü&°ý&°þ& \\ %%%%% b1 %%%%% 3120 & &±¡&±¢&±£& &±¤&±¥&±¦&±§& &±¨&±©&±ª&±«& &±¬&±­&±®&±¯ \\ 3130 &±°&±±&±²&±³& &±´&±µ&±¶&±·& &±¸&±¹&±º&±»& &±¼&±½&±¾&±¿ \\ 3140 &±À&±Á&±Â&±Ã& &±Ä&±Å&±Æ&±Ç& &±È&±É&±Ê&±Ë& &±Ì&±Í&±Î&±Ï \\ 3150 &±Ð&±Ñ&±Ò&±Ó& &±Ô&±Õ&±Ö&±×& &±Ø&±Ù&±Ú&±Û& &±Ü&±Ý&±Þ&±ß \\ 3160 &±à&±á&±â&±ã& &±ä&±å&±æ&±ç& &±è&±é&±ê&±ë& &±ì&±í&±î&±ï \\ 3170 &±ð&±ñ&±ò&±ó& &±ô&±õ&±ö&±÷& &±ø&±ù&±ú&±û& &±ü&±ý&±þ& \\ %%%%% b2 %%%%% 3220 & &²¡&²¢&²£& &²¤&²¥&²¦&²§& &²¨&²©&²ª&²«& &²¬&²­&²®&²¯ \\ 3230 &²°&²±&²²&²³& &²´&²µ&²¶&²·& &²¸&²¹&²º&²»& &²¼&²½&²¾&²¿ \\ 3240 &²À&²Á&²Â&²Ã& &²Ä&²Å&²Æ&²Ç& &²È&²É&²Ê&²Ë& &²Ì&²Í&²Î&²Ï \\ 3250 &²Ð&²Ñ&²Ò&²Ó& &²Ô&²Õ&²Ö&²×& &²Ø&²Ù&²Ú&²Û& &²Ü&²Ý&²Þ&²ß \\ 3260 &²à&²á&²â&²ã& &²ä&²å&²æ&²ç& &²è&²é&²ê&²ë& &²ì&²í&²î&²ï \\ 3270 &²ð&²ñ&²ò&²ó& &²ô&²õ&²ö&²÷& &²ø&²ù&²ú&²û& &²ü&²ý&²þ& \\ %%%%% b3 %%%%% 3320 & &³¡&³¢&³£& &³¤&³¥&³¦&³§& &³¨&³©&³ª&³«& &³¬&³­&³®&³¯ \\ 3330 &³°&³±&³²&³³& &³´&³µ&³¶&³·& &³¸&³¹&³º&³»& &³¼&³½&³¾&³¿ \\ 3340 &³À&³Á&³Â&³Ã& &³Ä&³Å&³Æ&³Ç& &³È&³É&³Ê&³Ë& &³Ì&³Í&³Î&³Ï \\ 3350 &³Ð&³Ñ&³Ò&³Ó& &³Ô&³Õ&³Ö&³×& &³Ø&³Ù&³Ú&³Û& &³Ü&³Ý&³Þ&³ß \\ 3360 &³à&³á&³â&³ã& &³ä&³å&³æ&³ç& &³è&³é&³ê&³ë& &³ì&³í&³î&³ï \\ 3370 &³ð&³ñ&³ò&³ó& &³ô&³õ&³ö&³÷& &³ø&³ù&³ú&³û& &³ü&³ý&³þ& \\ %%%%% b4 %%%%% 3420 & &´¡&´¢&´£& &´¤&´¥&´¦&´§& &´¨&´©&´ª&´«& &´¬&´­&´®&´¯ \\ 3430 &´°&´±&´²&´³& &´´&´µ&´¶&´·& &´¸&´¹&´º&´»& &´¼&´½&´¾&´¿ \\ 3440 &´À&´Á&´Â&´Ã& &´Ä&´Å&´Æ&´Ç& &´È&´É&´Ê&´Ë& &´Ì&´Í&´Î&´Ï \\ 3450 &´Ð&´Ñ&´Ò&´Ó& &´Ô&´Õ&´Ö&´×& &´Ø&´Ù&´Ú&´Û& &´Ü&´Ý&´Þ&´ß \\ 3460 &´à&´á&´â&´ã& &´ä&´å&´æ&´ç& &´è&´é&´ê&´ë& &´ì&´í&´î&´ï \\ 3470 &´ð&´ñ&´ò&´ó& &´ô&´õ&´ö&´÷& &´ø&´ù&´ú&´û& &´ü&´ý&´þ& \\ %%%%% b5 %%%%% 3520 & &µ¡&µ¢&µ£& &µ¤&µ¥&µ¦&µ§& &µ¨&µ©&µª&µ«& &µ¬&µ­&µ®&µ¯ \\ 3530 &µ°&µ±&µ²&µ³& &µ´&µµ&µ¶&µ·& &µ¸&µ¹&µº&µ»& &µ¼&µ½&µ¾&µ¿ \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 3540 &µÀ&µÁ&µÂ&µÃ& &µÄ&µÅ&µÆ&µÇ& &µÈ&µÉ&µÊ&µË& &µÌ&µÍ&µÎ&µÏ \\ 3550 &µÐ&µÑ&µÒ&µÓ& &µÔ&µÕ&µÖ&µ×& &µØ&µÙ&µÚ&µÛ& &µÜ&µÝ&µÞ&µß \\ 3560 &µà&µá&µâ&µã& &µä&µå&µæ&µç& &µè&µé&µê&µë& &µì&µí&µî&µï \\ 3570 &µð&µñ&µò&µó& &µô&µõ&µö&µ÷& &µø&µù&µú&µû& &µü&µý&µþ& \\ %%%%% b6 %%%%% 3620 & &¶¡&¶¢&¶£& &¶¤&¶¥&¶¦&¶§& &¶¨&¶©&¶ª&¶«& &¶¬&¶­&¶®&¶¯ \\ 3630 &¶°&¶±&¶²&¶³& &¶´&¶µ&¶¶&¶·& &¶¸&¶¹&¶º&¶»& &¶¼&¶½&¶¾&¶¿ \\ 3640 &¶À&¶Á&¶Â&¶Ã& &¶Ä&¶Å&¶Æ&¶Ç& &¶È&¶É&¶Ê&¶Ë& &¶Ì&¶Í&¶Î&¶Ï \\ 3650 &¶Ð&¶Ñ&¶Ò&¶Ó& &¶Ô&¶Õ&¶Ö&¶×& &¶Ø&¶Ù&¶Ú&¶Û& &¶Ü&¶Ý&¶Þ&¶ß \\ 3660 &¶à&¶á&¶â&¶ã& &¶ä&¶å&¶æ&¶ç& &¶è&¶é&¶ê&¶ë& &¶ì&¶í&¶î&¶ï \\ 3670 &¶ð&¶ñ&¶ò&¶ó& &¶ô&¶õ&¶ö&¶÷& &¶ø&¶ù&¶ú&¶û& &¶ü&¶ý&¶þ& \\ %%%%% b7 %%%%% 3720 & &·¡&·¢&·£& &·¤&·¥&·¦&·§& &·¨&·©&·ª&·«& &·¬&·­&·®&·¯ \\ 3730 &·°&·±&·²&·³& &·´&·µ&·¶&··& &·¸&·¹&·º&·»& &·¼&·½&·¾&·¿ \\ 3740 &·À&·Á&·Â&·Ã& &·Ä&·Å&·Æ&·Ç& &·È&·É&·Ê&·Ë& &·Ì&·Í&·Î&·Ï \\ 3750 &·Ð&·Ñ&·Ò&·Ó& &·Ô&·Õ&·Ö&·×& &·Ø&·Ù&·Ú&·Û& &·Ü&·Ý&·Þ&·ß \\ 3760 &·à&·á&·â&·ã& &·ä&·å&·æ&·ç& &·è&·é&·ê&·ë& &·ì&·í&·î&·ï \\ 3770 &·ð&·ñ&·ò&·ó& &·ô&·õ&·ö&·÷& &·ø&·ù&·ú&·û& &·ü&·ý&·þ&\\ %%%%% b8 %%%%% 3820 & &¸¡&¸¢&¸£& &¸¤&¸¥&¸¦&¸§& &¸¨&¸©&¸ª&¸«& &¸¬&¸­&¸®&¸¯ \\ 3830 &¸°&¸±&¸²&¸³& &¸´&¸µ&¸¶&¸·& &¸¸&¸¹&¸º&¸»& &¸¼&¸½&¸¾&¸¿ \\ 3840 &¸À&¸Á&¸Â&¸Ã& &¸Ä&¸Å&¸Æ&¸Ç& &¸È&¸É&¸Ê&¸Ë& &¸Ì&¸Í&¸Î&¸Ï \\ 3850 &¸Ð&¸Ñ&¸Ò&¸Ó& &¸Ô&¸Õ&¸Ö&¸×& &¸Ø&¸Ù&¸Ú&¸Û& &¸Ü&¸Ý&¸Þ&¸ß \\ 3860 &¸à&¸á&¸â&¸ã& &¸ä&¸å&¸æ&¸ç& &¸è&¸é&¸ê&¸ë& &¸ì&¸í&¸î&¸ï \\ 3870 &¸ð&¸ñ&¸ò&¸ó& &¸ô&¸õ&¸ö&¸÷& &¸ø&¸ù&¸ú&¸û& &¸ü&¸ý&¸þ& \\ %%%%% b9 %%%%% 3920 & &¹¡&¹¢&¹£& &¹¤&¹¥&¹¦&¹§& &¹¨&¹©&¹ª&¹«& &¹¬&¹­&¹®&¹¯ \\ 3930 &¹°&¹±&¹²&¹³& &¹´&¹µ&¹¶&¹·& &¹¸&¹¹&¹º&¹»& &¹¼&¹½&¹¾&¹¿ \\ 3940 &¹À&¹Á&¹Â&¹Ã& &¹Ä&¹Å&¹Æ&¹Ç& &¹È&¹É&¹Ê&¹Ë& &¹Ì&¹Í&¹Î&¹Ï \\ 3950 &¹Ð&¹Ñ&¹Ò&¹Ó& &¹Ô&¹Õ&¹Ö&¹×& &¹Ø&¹Ù&¹Ú&¹Û& &¹Ü&¹Ý&¹Þ&¹ß \\ 3960 &¹à&¹á&¹â&¹ã& &¹ä&¹å&¹æ&¹ç& &¹è&¹é&¹ê&¹ë& &¹ì&¹í&¹î&¹ï \\ 3970 &¹ð&¹ñ&¹ò&¹ó& &¹ô&¹õ&¹ö&¹÷& &¹ø&¹ù&¹ú&¹û& &¹ü&¹ý&¹þ& \\ %%%%% ba %%%%% 3a20 & &º¡&º¢&º£& &º¤&º¥&º¦&º§& &º¨&º©&ºª&º«& &º¬&º­&º®&º¯ \\ 3a30 &º°&º±&º²&º³& &º´&ºµ&º¶&º·& &º¸&º¹&ºº&º»& &º¼&º½&º¾&º¿ \\ 3a40 &ºÀ&ºÁ&ºÂ&ºÃ& &ºÄ&ºÅ&ºÆ&ºÇ& &ºÈ&ºÉ&ºÊ&ºË& &ºÌ&ºÍ&ºÎ&ºÏ \\ 3a50 &ºÐ&ºÑ&ºÒ&ºÓ& &ºÔ&ºÕ&ºÖ&º×& &ºØ&ºÙ&ºÚ&ºÛ& &ºÜ&ºÝ&ºÞ&ºß \\ 3a60 &ºà&ºá&ºâ&ºã& &ºä&ºå&ºæ&ºç& &ºè&ºé&ºê&ºë& &ºì&ºí&ºî&ºï \\ 3a70 &ºð&ºñ&ºò&ºó& &ºô&ºõ&ºö&º÷& &ºø&ºù&ºú&ºû& &ºü&ºý&ºþ& \\ %%%%% bb %%%%% 3b20 & &»¡&»¢&»£& &»¤&»¥&»¦&»§& &»¨&»©&»ª&»«& &»¬&»­&»®&»¯ \\ 3b30 &»°&»±&»²&»³& &»´&»µ&»¶&»·& &»¸&»¹&»º&»»& &»¼&»½&»¾&»¿ \\ 3b40 &»À&»Á&»Â&»Ã& &»Ä&»Å&»Æ&»Ç& &»È&»É&»Ê&»Ë& &»Ì&»Í&»Î&»Ï \\ 3b50 &»Ð&»Ñ&»Ò&»Ó& &»Ô&»Õ&»Ö&»×& &»Ø&»Ù&»Ú&»Û& &»Ü&»Ý&»Þ&»ß \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 3b60 &»à&»á&»â&»ã& &»ä&»å&»æ&»ç& &»è&»é&»ê&»ë& &»ì&»í&»î&»ï \\ 3b70 &»ð&»ñ&»ò&»ó& &»ô&»õ&»ö&»÷& &»ø&»ù&»ú&»û& &»ü&»ý&»þ& \\ %%%%% bc %%%%% 3c20 & &¼¡&¼¢&¼£& &¼¤&¼¥&¼¦&¼§& &¼¨&¼©&¼ª&¼«& &¼¬&¼­&¼®&¼¯ \\ 3c30 &¼°&¼±&¼²&¼³& &¼´&¼µ&¼¶&¼·& &¼¸&¼¹&¼º&¼»& &¼¼&¼½&¼¾&¼¿ \\ 3c40 &¼À&¼Á&¼Â&¼Ã& &¼Ä&¼Å&¼Æ&¼Ç& &¼È&¼É&¼Ê&¼Ë& &¼Ì&¼Í&¼Î&¼Ï \\ 3c50 &¼Ð&¼Ñ&¼Ò&¼Ó& &¼Ô&¼Õ&¼Ö&¼×& &¼Ø&¼Ù&¼Ú&¼Û& &¼Ü&¼Ý&¼Þ&¼ß \\ 3c60 &¼à&¼á&¼â&¼ã& &¼ä&¼å&¼æ&¼ç& &¼è&¼é&¼ê&¼ë& &¼ì&¼í&¼î&¼ï \\ 3c70 &¼ð&¼ñ&¼ò&¼ó& &¼ô&¼õ&¼ö&¼÷& &¼ø&¼ù&¼ú&¼û& &¼ü&¼ý&¼þ& \\ %%%%% bd %%%%% 3d20 & &½¡&½¢&½£& &½¤&½¥&½¦&½§& &½¨&½©&½ª&½«& &½¬&½­&½®&½¯ \\ 3d30 &½°&½±&½²&½³& &½´&½µ&½¶&½·& &½¸&½¹&½º&½»& &½¼&½½&½¾&½¿ \\ 3d40 &½À&½Á&½Â&½Ã& &½Ä&½Å&½Æ&½Ç& &½È&½É&½Ê&½Ë& &½Ì&½Í&½Î&½Ï \\ 3d50 &½Ð&½Ñ&½Ò&½Ó& &½Ô&½Õ&½Ö&½×& &½Ø&½Ù&½Ú&½Û& &½Ü&½Ý&½Þ&½ß \\ 3d60 &½à&½á&½â&½ã& &½ä&½å&½æ&½ç& &½è&½é&½ê&½ë& &½ì&½í&½î&½ï \\ 3d70 &½ð&½ñ&½ò&½ó& &½ô&½õ&½ö&½÷& &½ø&½ù&½ú&½û& &½ü&½ý&½þ& \\ %%%%% be %%%%% 3e20 & &¾¡&¾¢&¾£& &¾¤&¾¥&¾¦&¾§& &¾¨&¾©&¾ª&¾«& &¾¬&¾­&¾®&¾¯ \\ 3e30 &¾°&¾±&¾²&¾³& &¾´&¾µ&¾¶&¾·& &¾¸&¾¹&¾º&¾»& &¾¼&¾½&¾¾&¾¿ \\ 3e40 &¾À&¾Á&¾Â&¾Ã& &¾Ä&¾Å&¾Æ&¾Ç& &¾È&¾É&¾Ê&¾Ë& &¾Ì&¾Í&¾Î&¾Ï \\ 3e50 &¾Ð&¾Ñ&¾Ò&¾Ó& &¾Ô&¾Õ&¾Ö&¾×& &¾Ø&¾Ù&¾Ú&¾Û& &¾Ü&¾Ý&¾Þ&¾ß \\ 3e60 &¾à&¾á&¾â&¾ã& &¾ä&¾å&¾æ&¾ç& &¾è&¾é&¾ê&¾ë& &¾ì&¾í&¾î&¾ï \\ 3e70 &¾ð&¾ñ&¾ò&¾ó& &¾ô&¾õ&¾ö&¾÷& &¾ø&¾ù&¾ú&¾û& &¾ü&¾ý&¾þ& \\ %%%%% bf %%%%% 3f20 & &¿¡&¿¢&¿£& &¿¤&¿¥&¿¦&¿§& &¿¨&¿©&¿ª&¿«& &¿¬&¿­&¿®&¿¯ \\ 3f30 &¿°&¿±&¿²&¿³& &¿´&¿µ&¿¶&¿·& &¿¸&¿¹&¿º&¿»& &¿¼&¿½&¿¾&¿¿ \\ 3f40 &¿À&¿Á&¿Â&¿Ã& &¿Ä&¿Å&¿Æ&¿Ç& &¿È&¿É&¿Ê&¿Ë& &¿Ì&¿Í&¿Î&¿Ï \\ 3f50 &¿Ð&¿Ñ&¿Ò&¿Ó& &¿Ô&¿Õ&¿Ö&¿×& &¿Ø&¿Ù&¿Ú&¿Û& &¿Ü&¿Ý&¿Þ&¿ß \\ 3f60 &¿à&¿á&¿â&¿ã& &¿ä&¿å&¿æ&¿ç& &¿è&¿é&¿ê&¿ë& &¿ì&¿í&¿î&¿ï \\ 3f70 &¿ð&¿ñ&¿ò&¿ó& &¿ô&¿õ&¿ö&¿÷& &¿ø&¿ù&¿ú&¿û& &¿ü&¿ý&¿þ& \\ %%%%% c0 %%%%% 4020 & &À¡&À¢&À£& &À¤&À¥&À¦&À§& &À¨&À©&Àª&À«& &À¬&À­&À®&À¯ \\ 4030 &À°&À±&À²&À³& &À´&Àµ&À¶&À·& &À¸&À¹&Àº&À»& &À¼&À½&À¾&À¿ \\ 4040 &ÀÀ&ÀÁ&ÀÂ&ÀÃ& &ÀÄ&ÀÅ&ÀÆ&ÀÇ& &ÀÈ&ÀÉ&ÀÊ&ÀË& &ÀÌ&ÀÍ&ÀÎ&ÀÏ \\ 4050 &ÀÐ&ÀÑ&ÀÒ&ÀÓ& &ÀÔ&ÀÕ&ÀÖ&À×& &ÀØ&ÀÙ&ÀÚ&ÀÛ& &ÀÜ&ÀÝ&ÀÞ&Àß \\ 4060 &Àà&Àá&Àâ&Àã& &Àä&Àå&Àæ&Àç& &Àè&Àé&Àê&Àë& &Àì&Àí&Àî&Àï \\ 4070 &Àð&Àñ&Àò&Àó& &Àô&Àõ&Àö&À÷& &Àø&Àù&Àú&Àû& &Àü&Àý&Àþ& \\ %%%%% c1 %%%%% 4120 & &Á¡&Á¢&Á£& &Á¤&Á¥&Á¦&Á§& &Á¨&Á©&Áª&Á«& &Á¬&Á­&Á®&Á¯ \\ 4130 &Á°&Á±&Á²&Á³& &Á´&Áµ&Á¶&Á·& &Á¸&Á¹&Áº&Á»& &Á¼&Á½&Á¾&Á¿ \\ 4140 &ÁÀ&ÁÁ&ÁÂ&ÁÃ& &ÁÄ&ÁÅ&ÁÆ&ÁÇ& &ÁÈ&ÁÉ&ÁÊ&ÁË& &ÁÌ&ÁÍ&ÁÎ&ÁÏ \\ 4150 &ÁÐ&ÁÑ&ÁÒ&ÁÓ& &ÁÔ&ÁÕ&ÁÖ&Á×& &ÁØ&ÁÙ&ÁÚ&ÁÛ& &ÁÜ&ÁÝ&ÁÞ&Áß \\ 4160 &Áà&Áá&Áâ&Áã& &Áä&Áå&Áæ&Áç& &Áè&Áé&Áê&Áë& &Áì&Áí&Áî&Áï \\ 4170 &Áð&Áñ&Áò&Áó& &Áô&Áõ&Áö&Á÷& &Áø&Áù&Áú&Áû& &Áü&Áý&Áþ& \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline %%%%% c2 %%%%% 4220 & &¡&¢&£& &¤&Â¥&¦&§& &¨&©&ª&«& &¬&­&®&¯ \\ 4230 &°&±&²&³& &´&µ&¶&·& &¸&¹&º&»& &¼&½&¾&¿ \\ 4240 &ÂÀ&ÂÁ&ÂÂ&ÂÃ& &ÂÄ&ÂÅ&ÂÆ&ÂÇ& &ÂÈ&ÂÉ&ÂÊ&ÂË& &ÂÌ&ÂÍ&ÂÎ&ÂÏ \\ 4250 &ÂÐ&ÂÑ&ÂÒ&ÂÓ& &ÂÔ&ÂÕ&ÂÖ&Â×& &ÂØ&ÂÙ&ÂÚ&ÂÛ& &ÂÜ&ÂÝ&ÂÞ&Âß \\ 4260 &Âà&Âá&Ââ&Âã& &Âä&Âå&Âæ&Âç& &Âè&Âé&Âê&Âë& &Âì&Âí&Âî&Âï \\ 4270 &Âð&Âñ&Âò&Âó& &Âô&Âõ&Âö&Â÷& &Âø&Âù&Âú&Âû& &Âü&Âý&Âþ& \\ %%%%% c3 %%%%% 4320 & &á&â&ã& &ä&Ã¥&æ&ç& &è&é&ê&ë& &ì&í&î&ï \\ 4330 &ð&ñ&ò&ó& &ô&õ&ö&÷& &ø&ù&ú&û& &ü&ý&þ&ÿ \\ 4340 &ÃÀ&ÃÁ&ÃÂ&ÃÃ& &ÃÄ&ÃÅ&ÃÆ&ÃÇ& &ÃÈ&ÃÉ&ÃÊ&ÃË& &ÃÌ&ÃÍ&ÃÎ&ÃÏ \\ 4350 &ÃÐ&ÃÑ&ÃÒ&ÃÓ& &ÃÔ&ÃÕ&ÃÖ&Ã×& &ÃØ&ÃÙ&ÃÚ&ÃÛ& &ÃÜ&ÃÝ&ÃÞ&Ãß \\ 4360 &Ãà&Ãá&Ãâ&Ãã& &Ãä&Ãå&Ãæ&Ãç& &Ãè&Ãé&Ãê&Ãë& &Ãì&Ãí&Ãî&Ãï \\ 4370 &Ãð&Ãñ&Ãò&Ãó& &Ãô&Ãõ&Ãö&Ã÷& &Ãø&Ãù&Ãú&Ãû& &Ãü&Ãý&Ãþ& \\ %%%%% c4 %%%%% 4420 & &Ä¡&Ä¢&Ä£& &Ĥ&Ä¥&Ħ&ħ& &Ĩ&Ä©&Ī&Ä«& &Ĭ&Ä­&Ä®&į \\ 4430 &İ&ı&IJ&ij& &Ä´&ĵ&Ķ&Ä·& &ĸ&Ĺ&ĺ&Ä»& &ļ&Ľ&ľ&Ä¿ \\ 4440 &ÄÀ&ÄÁ&ÄÂ&ÄÃ& &ÄÄ&ÄÅ&ÄÆ&ÄÇ& &ÄÈ&ÄÉ&ÄÊ&ÄË& &ÄÌ&ÄÍ&ÄÎ&ÄÏ \\ 4450 &ÄÐ&ÄÑ&ÄÒ&ÄÓ& &ÄÔ&ÄÕ&ÄÖ&Ä×& &ÄØ&ÄÙ&ÄÚ&ÄÛ& &ÄÜ&ÄÝ&ÄÞ&Äß \\ 4460 &Äà&Äá&Äâ&Äã& &Ää&Äå&Äæ&Äç& &Äè&Äé&Äê&Äë& &Äì&Äí&Äî&Äï \\ 4470 &Äð&Äñ&Äò&Äó& &Äô&Äõ&Äö&Ä÷& &Äø&Äù&Äú&Äû& &Äü&Äý&Äþ& \\ %%%%% c5 %%%%% 4520 & &Å¡&Å¢&Å£& &Ť&Å¥&Ŧ&ŧ& &Ũ&Å©&Ū&Å«& &Ŭ&Å­&Å®&ů \\ 4530 &Ű&ű&Ų&ų& &Å´&ŵ&Ŷ&Å·& &Ÿ&Ź&ź&Å»& &ż&Ž&ž&Å¿ \\ 4540 &ÅÀ&ÅÁ&ÅÂ&ÅÃ& &ÅÄ&ÅÅ&ÅÆ&ÅÇ& &ÅÈ&ÅÉ&ÅÊ&ÅË& &ÅÌ&ÅÍ&ÅÎ&ÅÏ \\ 4550 &ÅÐ&ÅÑ&ÅÒ&ÅÓ& &ÅÔ&ÅÕ&ÅÖ&Å×& &ÅØ&ÅÙ&ÅÚ&ÅÛ& &ÅÜ&ÅÝ&ÅÞ&Åß \\ 4560 &Åà&Åá&Åâ&Åã& &Åä&Åå&Åæ&Åç& &Åè&Åé&Åê&Åë& &Åì&Åí&Åî&Åï \\ 4570 &Åð&Åñ&Åò&Åó& &Åô&Åõ&Åö&Å÷& &Åø&Åù&Åú&Åû& &Åü&Åý&Åþ& \\ %%%%% c6 %%%%% 4620 & &Æ¡&Æ¢&Æ£& &Ƥ&Æ¥&Ʀ&Ƨ& &ƨ&Æ©&ƪ&Æ«& &Ƭ&Æ­&Æ®&Ư \\ 4630 &ư&Ʊ&Ʋ&Ƴ& &Æ´&Ƶ&ƶ&Æ·& &Ƹ&ƹ&ƺ&Æ»& &Ƽ&ƽ&ƾ&Æ¿ \\ 4640 &ÆÀ&ÆÁ&ÆÂ&ÆÃ& &ÆÄ&ÆÅ&ÆÆ&ÆÇ& &ÆÈ&ÆÉ&ÆÊ&ÆË& &ÆÌ&ÆÍ&ÆÎ&ÆÏ \\ 4650 &ÆÐ&ÆÑ&ÆÒ&ÆÓ& &ÆÔ&ÆÕ&ÆÖ&Æ×& &ÆØ&ÆÙ&ÆÚ&ÆÛ& &ÆÜ&ÆÝ&ÆÞ&Æß \\ 4660 &Æà&Æá&Æâ&Æã& &Æä&Æå&Ææ&Æç& &Æè&Æé&Æê&Æë& &Æì&Æí&Æî&Æï \\ 4670 &Æð&Æñ&Æò&Æó& &Æô&Æõ&Æö&Æ÷& &Æø&Æù&Æú&Æû& &Æü&Æý&Æþ& \\ %%%%% c7 %%%%% 4720 & &Ç¡&Ç¢&Ç£& &Ǥ&Ç¥&Ǧ&ǧ& &Ǩ&Ç©&Ǫ&Ç«& &Ǭ&Ç­&Ç®&ǯ \\ 4730 &ǰ&DZ&Dz&dz& &Ç´&ǵ&Ƕ&Ç·& &Ǹ&ǹ&Ǻ&Ç»& &Ǽ&ǽ&Ǿ&Ç¿ \\ 4740 &ÇÀ&ÇÁ&ÇÂ&ÇÃ& &ÇÄ&ÇÅ&ÇÆ&ÇÇ& &ÇÈ&ÇÉ&ÇÊ&ÇË& &ÇÌ&ÇÍ&ÇÎ&ÇÏ \\ 4750 &ÇÐ&ÇÑ&ÇÒ&ÇÓ& &ÇÔ&ÇÕ&ÇÖ&Ç×& &ÇØ&ÇÙ&ÇÚ&ÇÛ& &ÇÜ&ÇÝ&ÇÞ&Çß \\ 4760 &Çà&Çá&Çâ&Çã& &Çä&Çå&Çæ&Çç& &Çè&Çé&Çê&Çë& &Çì&Çí&Çî&Çï \\ 4770 &Çð&Çñ&Çò&Çó& &Çô&Çõ&Çö&Ç÷& &Çø&Çù&Çú&Çû& &Çü&Çý&Çþ& \\ %%%%% c8 %%%%% 4820 & &È¡&È¢&È£& &Ȥ&È¥&Ȧ&ȧ& &Ȩ&È©&Ȫ&È«& &Ȭ&È­&È®&ȯ \\ 4830 &Ȱ&ȱ&Ȳ&ȳ& &È´&ȵ&ȶ&È·& &ȸ&ȹ&Ⱥ&È»& &ȼ&Ƚ&Ⱦ&È¿ \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 4840 &ÈÀ&ÈÁ&ÈÂ&ÈÃ& &ÈÄ&ÈÅ&ÈÆ&ÈÇ& &ÈÈ&ÈÉ&ÈÊ&ÈË& &ÈÌ&ÈÍ&ÈÎ&ÈÏ \\ 4850 &ÈÐ&ÈÑ&ÈÒ&ÈÓ& &ÈÔ&ÈÕ&ÈÖ&È×& &ÈØ&ÈÙ&ÈÚ&ÈÛ& &ÈÜ&ÈÝ&ÈÞ&Èß \\ 4860 &Èà&Èá&Èâ&Èã& &Èä&Èå&Èæ&Èç& &Èè&Èé&Èê&Èë& &Èì&Èí&Èî&Èï \\ 4870 &Èð&Èñ&Èò&Èó& &Èô&Èõ&Èö&È÷& &Èø&Èù&Èú&Èû& &Èü&Èý&Èþ& \\ %%%%% c9 %%%%% 4920 & &É¡&É¢&É£& &ɤ&É¥&ɦ&ɧ& &ɨ&É©&ɪ&É«& &ɬ&É­&É®&ɯ \\ 4930 &ɰ&ɱ&ɲ&ɳ& &É´&ɵ&ɶ&É·& &ɸ&ɹ&ɺ&É»& &ɼ&ɽ&ɾ&É¿ \\ 4940 &ÉÀ&ÉÁ&ÉÂ&ÉÃ& &ÉÄ&ÉÅ&ÉÆ&ÉÇ& &ÉÈ&ÉÉ&ÉÊ&ÉË& &ÉÌ&ÉÍ&ÉÎ&ÉÏ \\ 4950 &ÉÐ&ÉÑ&ÉÒ&ÉÓ& &ÉÔ&ÉÕ&ÉÖ&É×& &ÉØ&ÉÙ&ÉÚ&ÉÛ& &ÉÜ&ÉÝ&ÉÞ&Éß \\ 4960 &Éà&Éá&Éâ&Éã& &Éä&Éå&Éæ&Éç& &Éè&Éé&Éê&Éë& &Éì&Éí&Éî&Éï \\ 4970 &Éð&Éñ&Éò&Éó& &Éô&Éõ&Éö&É÷& &Éø&Éù&Éú&Éû& &Éü&Éý&Éþ& \\ %%%%% ca %%%%% 4a20 & &Ê¡&Ê¢&Ê£& &ʤ&Ê¥&ʦ&ʧ& &ʨ&Ê©&ʪ&Ê«& &ʬ&Ê­&Ê®&ʯ \\ 4a30 &ʰ&ʱ&ʲ&ʳ& &Ê´&ʵ&ʶ&Ê·& &ʸ&ʹ&ʺ&Ê»& &ʼ&ʽ&ʾ&Ê¿ \\ 4a40 &ÊÀ&ÊÁ&ÊÂ&ÊÃ& &ÊÄ&ÊÅ&ÊÆ&ÊÇ& &ÊÈ&ÊÉ&ÊÊ&ÊË& &ÊÌ&ÊÍ&ÊÎ&ÊÏ \\ 4a50 &ÊÐ&ÊÑ&ÊÒ&ÊÓ& &ÊÔ&ÊÕ&ÊÖ&Ê×& &ÊØ&ÊÙ&ÊÚ&ÊÛ& &ÊÜ&ÊÝ&ÊÞ&Êß \\ 4a60 &Êà&Êá&Êâ&Êã& &Êä&Êå&Êæ&Êç& &Êè&Êé&Êê&Êë& &Êì&Êí&Êî&Êï \\ 4a70 &Êð&Êñ&Êò&Êó& &Êô&Êõ&Êö&Ê÷& &Êø&Êù&Êú&Êû& &Êü&Êý&Êþ& \\ %%%%% cb %%%%% 4b20 & &Ë¡&Ë¢&Ë£& &ˤ&Ë¥&˦&˧& &˨&Ë©&˪&Ë«& &ˬ&Ë­&Ë®&˯ \\ 4b30 &˰&˱&˲&˳& &Ë´&˵&˶&Ë·& &˸&˹&˺&Ë»& &˼&˽&˾&Ë¿ \\ 4b40 &ËÀ&ËÁ&ËÂ&ËÃ& &ËÄ&ËÅ&ËÆ&ËÇ& &ËÈ&ËÉ&ËÊ&ËË& &ËÌ&ËÍ&ËÎ&ËÏ \\ 4b50 &ËÐ&ËÑ&ËÒ&ËÓ& &ËÔ&ËÕ&ËÖ&Ë×& &ËØ&ËÙ&ËÚ&ËÛ& &ËÜ&ËÝ&ËÞ&Ëß \\ 4b60 &Ëà&Ëá&Ëâ&Ëã& &Ëä&Ëå&Ëæ&Ëç& &Ëè&Ëé&Ëê&Ëë& &Ëì&Ëí&Ëî&Ëï \\ 4b70 &Ëð&Ëñ&Ëò&Ëó& &Ëô&Ëõ&Ëö&Ë÷& &Ëø&Ëù&Ëú&Ëû& &Ëü&Ëý&Ëþ& \\ %%%%% cc %%%%% 4c20 & &Ì¡&Ì¢&Ì£& &̤&Ì¥&̦&̧& &̨&Ì©&̪&Ì«& &̬&Ì­&Ì®&̯ \\ 4c30 &̰&̱&̲&̳& &Ì´&̵&̶&Ì·& &̸&̹&̺&Ì»& &̼&̽&̾&Ì¿ \\ 4c40 &ÌÀ&ÌÁ&ÌÂ&ÌÃ& &ÌÄ&ÌÅ&ÌÆ&ÌÇ& &ÌÈ&ÌÉ&ÌÊ&ÌË& &ÌÌ&ÌÍ&ÌÎ&ÌÏ \\ 4c50 &ÌÐ&ÌÑ&ÌÒ&ÌÓ& &ÌÔ&ÌÕ&ÌÖ&Ì×& &ÌØ&ÌÙ&ÌÚ&ÌÛ& &ÌÜ&ÌÝ&ÌÞ&Ìß \\ 4c60 &Ìà&Ìá&Ìâ&Ìã& &Ìä&Ìå&Ìæ&Ìç& &Ìè&Ìé&Ìê&Ìë& &Ìì&Ìí&Ìî&Ìï \\ 4c70 &Ìð&Ìñ&Ìò&Ìó& &Ìô&Ìõ&Ìö&Ì÷& &Ìø&Ìù&Ìú&Ìû& &Ìü&Ìý&Ìþ& \\ %%%%% cd %%%%% 4d20 & &Í¡&Í¢&Í£& &ͤ&Í¥&ͦ&ͧ& &ͨ&Í©&ͪ&Í«& &ͬ&Í­&Í®&ͯ \\ 4d30 &Ͱ&ͱ&Ͳ&ͳ& &Í´&͵&Ͷ&Í·& &͸&͹&ͺ&Í»& &ͼ&ͽ&;&Í¿ \\ 4d40 &ÍÀ&ÍÁ&ÍÂ&ÍÃ& &ÍÄ&ÍÅ&ÍÆ&ÍÇ& &ÍÈ&ÍÉ&ÍÊ&ÍË& &ÍÌ&ÍÍ&ÍÎ&ÍÏ \\ 4d50 &ÍÐ&ÍÑ&ÍÒ&ÍÓ& &ÍÔ&ÍÕ&ÍÖ&Í×& &ÍØ&ÍÙ&ÍÚ&ÍÛ& &ÍÜ&ÍÝ&ÍÞ&Íß \\ 4d60 &Íà&Íá&Íâ&Íã& &Íä&Íå&Íæ&Íç& &Íè&Íé&Íê&Íë& &Íì&Íí&Íî&Íï \\ 4d70 &Íð&Íñ&Íò&Íó& &Íô&Íõ&Íö&Í÷& &Íø&Íù&Íú&Íû& &Íü&Íý&Íþ& \\ %%%%% ce %%%%% 4e20 & &Ρ&΢&Σ& &Τ&Î¥&Φ&Χ& &Ψ&Ω&Ϊ&Ϋ& &ά&έ&ή&ί \\ 4e30 &ΰ&α&β&γ& &δ&ε&ζ&η& &θ&ι&κ&λ& &μ&ν&ξ&ο \\ 4e40 &ÎÀ&ÎÁ&ÎÂ&ÎÃ& &ÎÄ&ÎÅ&ÎÆ&ÎÇ& &ÎÈ&ÎÉ&ÎÊ&ÎË& &ÎÌ&ÎÍ&ÎÎ&ÎÏ \\ 4e50 &ÎÐ&ÎÑ&ÎÒ&ÎÓ& &ÎÔ&ÎÕ&ÎÖ&Î×& &ÎØ&ÎÙ&ÎÚ&ÎÛ& &ÎÜ&ÎÝ&ÎÞ&Îß \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 4e60 &Îà&Îá&Îâ&Îã& &Îä&Îå&Îæ&Îç& &Îè&Îé&Îê&Îë& &Îì&Îí&Îî&Îï \\ 4e70 &Îð&Îñ&Îò&Îó& &Îô&Îõ&Îö&Î÷& &Îø&Îù&Îú&Îû& &Îü&Îý&Îþ& \\ %%%%% cf %%%%% 4f20 & &Ï¡&Ï¢&Ï£& &Ϥ&Ï¥&Ϧ&ϧ& &Ϩ&Ï©&Ϫ&Ï«& &Ϭ&Ï­&Ï®&ϯ \\ 4f30 &ϰ&ϱ&ϲ&ϳ& &Ï´&ϵ&϶&Ï·& &ϸ&Ϲ&Ϻ&Ï»& &ϼ&Ͻ&Ͼ&Ï¿ \\ 4f40 &ÏÀ&ÏÁ&ÏÂ&ÏÃ& &ÏÄ&ÏÅ&ÏÆ&ÏÇ& &ÏÈ&ÏÉ&ÏÊ&ÏË& &ÏÌ&ÏÍ&ÏÎ&ÏÏ \\ 4f50 &ÏÐ&ÏÑ&ÏÒ&ÏÓ& & & & & & & & & & & & & & & \\ %%%%% d0 %%%%% 5020 & &С&Т&У& &Ф&Ð¥&Ц&Ч& &Ш&Щ&Ъ&Ы& &Ь&Э&Ю&Я \\ 5030 &а&б&в&г& &д&е&ж&з& &и&й&к&л& &м&н&о&п \\ 5040 &ÐÀ&ÐÁ&ÐÂ&ÐÃ& &ÐÄ&ÐÅ&ÐÆ&ÐÇ& &ÐÈ&ÐÉ&ÐÊ&ÐË& &ÐÌ&ÐÍ&ÐÎ&ÐÏ \\ 5050 &ÐÐ&ÐÑ&ÐÒ&ÐÓ& &ÐÔ&ÐÕ&ÐÖ&Ð×& &ÐØ&ÐÙ&ÐÚ&ÐÛ& &ÐÜ&ÐÝ&ÐÞ&Ðß \\ 5060 &Ðà&Ðá&Ðâ&Ðã& &Ðä&Ðå&Ðæ&Ðç& &Ðè&Ðé&Ðê&Ðë& &Ðì&Ðí&Ðî&Ðï \\ 5070 &Ðð&Ðñ&Ðò&Ðó& &Ðô&Ðõ&Ðö&Ð÷& &Ðø&Ðù&Ðú&Ðû& &Ðü&Ðý&Ðþ& \\ %%%%% d1 %%%%% 5120 & &Ñ¡&Ñ¢&Ñ£& &Ѥ&Ñ¥&Ѧ&ѧ& &Ѩ&Ñ©&Ѫ&Ñ«& &Ѭ&Ñ­&Ñ®&ѯ \\ 5130 &Ѱ&ѱ&Ѳ&ѳ& &Ñ´&ѵ&Ѷ&Ñ·& &Ѹ&ѹ&Ѻ&Ñ»& &Ѽ&ѽ&Ѿ&Ñ¿ \\ 5140 &ÑÀ&ÑÁ&ÑÂ&ÑÃ& &ÑÄ&ÑÅ&ÑÆ&ÑÇ& &ÑÈ&ÑÉ&ÑÊ&ÑË& &ÑÌ&ÑÍ&ÑÎ&ÑÏ \\ 5150 &ÑÐ&ÑÑ&ÑÒ&ÑÓ& &ÑÔ&ÑÕ&ÑÖ&Ñ×& &ÑØ&ÑÙ&ÑÚ&ÑÛ& &ÑÜ&ÑÝ&ÑÞ&Ñß \\ 5160 &Ñà&Ñá&Ñâ&Ñã& &Ñä&Ñå&Ñæ&Ñç& &Ñè&Ñé&Ñê&Ñë& &Ñì&Ñí&Ñî&Ñï \\ 5170 &Ñð&Ññ&Ñò&Ñó& &Ñô&Ñõ&Ñö&Ñ÷& &Ñø&Ñù&Ñú&Ñû& &Ñü&Ñý&Ñþ& \\ %%%%% d2 %%%%% 5220 & &Ò¡&Ò¢&Ò£& &Ò¤&Ò¥&Ò¦&Ò§& &Ò¨&Ò©&Òª&Ò«& &Ò¬&Ò­&Ò®&Ò¯ \\ 5230 &Ò°&Ò±&Ò²&Ò³& &Ò´&Òµ&Ò¶&Ò·& &Ò¸&Ò¹&Òº&Ò»& &Ò¼&Ò½&Ò¾&Ò¿ \\ 5240 &ÒÀ&ÒÁ&ÒÂ&ÒÃ& &ÒÄ&ÒÅ&ÒÆ&ÒÇ& &ÒÈ&ÒÉ&ÒÊ&ÒË& &ÒÌ&ÒÍ&ÒÎ&ÒÏ \\ 5250 &ÒÐ&ÒÑ&ÒÒ&ÒÓ& &ÒÔ&ÒÕ&ÒÖ&Ò×& &ÒØ&ÒÙ&ÒÚ&ÒÛ& &ÒÜ&ÒÝ&ÒÞ&Òß \\ 5260 &Òà&Òá&Òâ&Òã& &Òä&Òå&Òæ&Òç& &Òè&Òé&Òê&Òë& &Òì&Òí&Òî&Òï \\ 5270 &Òð&Òñ&Òò&Òó& &Òô&Òõ&Òö&Ò÷& &Òø&Òù&Òú&Òû& &Òü&Òý&Òþ& \\ %%%%% d3 %%%%% 5320 & &Ó¡&Ó¢&Ó£& &Ó¤&Ó¥&Ó¦&Ó§& &Ó¨&Ó©&Óª&Ó«& &Ó¬&Ó­&Ó®&Ó¯ \\ 5330 &Ó°&Ó±&Ó²&Ó³& &Ó´&Óµ&Ó¶&Ó·& &Ó¸&Ó¹&Óº&Ó»& &Ó¼&Ó½&Ó¾&Ó¿ \\ 5340 &ÓÀ&ÓÁ&ÓÂ&ÓÃ& &ÓÄ&ÓÅ&ÓÆ&ÓÇ& &ÓÈ&ÓÉ&ÓÊ&ÓË& &ÓÌ&ÓÍ&ÓÎ&ÓÏ \\ 5350 &ÓÐ&ÓÑ&ÓÒ&ÓÓ& &ÓÔ&ÓÕ&ÓÖ&Ó×& &ÓØ&ÓÙ&ÓÚ&ÓÛ& &ÓÜ&ÓÝ&ÓÞ&Óß \\ 5360 &Óà&Óá&Óâ&Óã& &Óä&Óå&Óæ&Óç& &Óè&Óé&Óê&Óë& &Óì&Óí&Óî&Óï \\ 5370 &Óð&Óñ&Óò&Óó& &Óô&Óõ&Óö&Ó÷& &Óø&Óù&Óú&Óû& &Óü&Óý&Óþ& \\ %%%%% d4 %%%%% 5420 & &Ô¡&Ô¢&Ô£& &Ô¤&Ô¥&Ô¦&Ô§& &Ô¨&Ô©&Ôª&Ô«& &Ô¬&Ô­&Ô®&Ô¯ \\ 5430 &Ô°&Ô±&Ô²&Ô³& &Ô´&Ôµ&Ô¶&Ô·& &Ô¸&Ô¹&Ôº&Ô»& &Ô¼&Ô½&Ô¾&Ô¿ \\ 5440 &ÔÀ&ÔÁ&ÔÂ&ÔÃ& &ÔÄ&ÔÅ&ÔÆ&ÔÇ& &ÔÈ&ÔÉ&ÔÊ&ÔË& &ÔÌ&ÔÍ&ÔÎ&ÔÏ \\ 5450 &ÔÐ&ÔÑ&ÔÒ&ÔÓ& &ÔÔ&ÔÕ&ÔÖ&Ô×& &ÔØ&ÔÙ&ÔÚ&ÔÛ& &ÔÜ&ÔÝ&ÔÞ&Ôß \\ 5460 &Ôà&Ôá&Ôâ&Ôã& &Ôä&Ôå&Ôæ&Ôç& &Ôè&Ôé&Ôê&Ôë& &Ôì&Ôí&Ôî&Ôï \\ 5470 &Ôð&Ôñ&Ôò&Ôó& &Ôô&Ôõ&Ôö&Ô÷& &Ôø&Ôù&Ôú&Ôû& &Ôü&Ôý&Ôþ& \\ %%%%% d5 %%%%% 5520 & &Õ¡&Õ¢&Õ£& &Õ¤&Õ¥&Õ¦&Õ§& &Õ¨&Õ©&Õª&Õ«& &Õ¬&Õ­&Õ®&Õ¯ \\ 5530 &Õ°&Õ±&Õ²&Õ³& &Õ´&Õµ&Õ¶&Õ·& &Õ¸&Õ¹&Õº&Õ»& &Õ¼&Õ½&Õ¾&Õ¿ \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 5540 &ÕÀ&ÕÁ&ÕÂ&ÕÃ& &ÕÄ&ÕÅ&ÕÆ&ÕÇ& &ÕÈ&ÕÉ&ÕÊ&ÕË& &ÕÌ&ÕÍ&ÕÎ&ÕÏ \\ 5550 &ÕÐ&ÕÑ&ÕÒ&ÕÓ& &ÕÔ&ÕÕ&ÕÖ&Õ×& &ÕØ&ÕÙ&ÕÚ&ÕÛ& &ÕÜ&ÕÝ&ÕÞ&Õß \\ 5560 &Õà&Õá&Õâ&Õã& &Õä&Õå&Õæ&Õç& &Õè&Õé&Õê&Õë& &Õì&Õí&Õî&Õï \\ 5570 &Õð&Õñ&Õò&Õó& &Õô&Õõ&Õö&Õ÷& &Õø&Õù&Õú&Õû& &Õü&Õý&Õþ& \\ %%%%% d6 %%%%% 5620 & &Ö¡&Ö¢&Ö£& &Ö¤&Ö¥&Ö¦&Ö§& &Ö¨&Ö©&Öª&Ö«& &Ö¬&Ö­&Ö®&Ö¯ \\ 5630 &Ö°&Ö±&Ö²&Ö³& &Ö´&Öµ&Ö¶&Ö·& &Ö¸&Ö¹&Öº&Ö»& &Ö¼&Ö½&Ö¾&Ö¿ \\ 5640 &ÖÀ&ÖÁ&ÖÂ&ÖÃ& &ÖÄ&ÖÅ&ÖÆ&ÖÇ& &ÖÈ&ÖÉ&ÖÊ&ÖË& &ÖÌ&ÖÍ&ÖÎ&ÖÏ \\ 5650 &ÖÐ&ÖÑ&ÖÒ&ÖÓ& &ÖÔ&ÖÕ&ÖÖ&Ö×& &ÖØ&ÖÙ&ÖÚ&ÖÛ& &ÖÜ&ÖÝ&ÖÞ&Öß \\ 5660 &Öà&Öá&Öâ&Öã& &Öä&Öå&Öæ&Öç& &Öè&Öé&Öê&Öë& &Öì&Öí&Öî&Öï \\ 5670 &Öð&Öñ&Öò&Öó& &Öô&Öõ&Öö&Ö÷& &Öø&Öù&Öú&Öû& &Öü&Öý&Öþ& \\ %%%%% d7 %%%%% 5720 & &ס&×¢&×£& &פ&×¥&צ&×§& &ר&ש&ת&׫& &׬&×­&×®&ׯ \\ 5730 &×°&×±&ײ&׳& &×´&×µ&×¶&×·& &׸&×¹&׺&×»& &×¼&×½&×¾&׿ \\ 5740 &×À&×Á&×Â&×Ã& &×Ä&×Å&ׯ&×Ç& &×È&×É&×Ê&×Ë& &×Ì&×Í&×Î&×Ï \\ 5750 &×Ð&×Ñ&×Ò&×Ó& &×Ô&×Õ&×Ö&××& &ר&×Ù&×Ú&×Û& &×Ü&×Ý&×Þ&×ß \\ 5760 &×à&×á&×â&×ã& &×ä&×å&׿&×ç& &×è&×é&×ê&×ë& &×ì&×í&×î&×ï \\ 5770 &×ð&×ñ&×ò&×ó& &×ô&×õ&×ö&×÷& &×ø&×ù&×ú&×û& &×ü&×ý&×þ& \\ %%%%% d8 %%%%% 5820 & &Ø¡&Ø¢&Ø£& &ؤ&Ø¥&ئ&ا& &ب&Ø©&ت&Ø«& &ج&Ø­&Ø®&د \\ 5830 &ذ&ر&ز&س& &Ø´&ص&ض&Ø·& &ظ&ع&غ&Ø»& &ؼ&ؽ&ؾ&Ø¿ \\ 5840 &ØÀ&ØÁ&ØÂ&ØÃ& &ØÄ&ØÅ&ØÆ&ØÇ& &ØÈ&ØÉ&ØÊ&ØË& &ØÌ&ØÍ&ØÎ&ØÏ \\ 5850 &ØÐ&ØÑ&ØÒ&ØÓ& &ØÔ&ØÕ&ØÖ&Ø×& &ØØ&ØÙ&ØÚ&ØÛ& &ØÜ&ØÝ&ØÞ&Øß \\ 5860 &Øà&Øá&Øâ&Øã& &Øä&Øå&Øæ&Øç& &Øè&Øé&Øê&Øë& &Øì&Øí&Øî&Øï \\ 5870 &Øð&Øñ&Øò&Øó& &Øô&Øõ&Øö&Ø÷& &Øø&Øù&Øú&Øû& &Øü&Øý&Øþ& \\ %%%%% d9 %%%%% 5920 & &Ù¡&Ù¢&Ù£& &Ù¤&Ù¥&Ù¦&Ù§& &Ù¨&Ù©&Ùª&Ù«& &Ù¬&Ù­&Ù®&Ù¯ \\ 5930 &Ù°&Ù±&Ù²&Ù³& &Ù´&Ùµ&Ù¶&Ù·& &Ù¸&Ù¹&Ùº&Ù»& &Ù¼&Ù½&Ù¾&Ù¿ \\ 5940 &ÙÀ&ÙÁ&ÙÂ&ÙÃ& &ÙÄ&ÙÅ&ÙÆ&ÙÇ& &ÙÈ&ÙÉ&ÙÊ&ÙË& &ÙÌ&ÙÍ&ÙÎ&ÙÏ \\ 5950 &ÙÐ&ÙÑ&ÙÒ&ÙÓ& &ÙÔ&ÙÕ&ÙÖ&Ù×& &ÙØ&ÙÙ&ÙÚ&ÙÛ& &ÙÜ&ÙÝ&ÙÞ&Ùß \\ 5960 &Ùà&Ùá&Ùâ&Ùã& &Ùä&Ùå&Ùæ&Ùç& &Ùè&Ùé&Ùê&Ùë& &Ùì&Ùí&Ùî&Ùï \\ 5970 &Ùð&Ùñ&Ùò&Ùó& &Ùô&Ùõ&Ùö&Ù÷& &Ùø&Ùù&Ùú&Ùû& &Ùü&Ùý&Ùþ& \\ %%%%% da %%%%% 5a20 & &Ú¡&Ú¢&Ú£& &Ú¤&Ú¥&Ú¦&Ú§& &Ú¨&Ú©&Úª&Ú«& &Ú¬&Ú­&Ú®&Ú¯ \\ 5a30 &Ú°&Ú±&Ú²&Ú³& &Ú´&Úµ&Ú¶&Ú·& &Ú¸&Ú¹&Úº&Ú»& &Ú¼&Ú½&Ú¾&Ú¿ \\ 5a40 &ÚÀ&ÚÁ&ÚÂ&ÚÃ& &ÚÄ&ÚÅ&ÚÆ&ÚÇ& &ÚÈ&ÚÉ&ÚÊ&ÚË& &ÚÌ&ÚÍ&ÚÎ&ÚÏ \\ 5a50 &ÚÐ&ÚÑ&ÚÒ&ÚÓ& &ÚÔ&ÚÕ&ÚÖ&Ú×& &ÚØ&ÚÙ&ÚÚ&ÚÛ& &ÚÜ&ÚÝ&ÚÞ&Úß \\ 5a60 &Úà&Úá&Úâ&Úã& &Úä&Úå&Úæ&Úç& &Úè&Úé&Úê&Úë& &Úì&Úí&Úî&Úï \\ 5a70 &Úð&Úñ&Úò&Úó& &Úô&Úõ&Úö&Ú÷& &Úø&Úù&Úú&Úû& &Úü&Úý&Úþ& \\ %%%%% db %%%%% 5b20 & &Û¡&Û¢&Û£& &Û¤&Û¥&Û¦&Û§& &Û¨&Û©&Ûª&Û«& &Û¬&Û­&Û®&Û¯ \\ 5b30 &Û°&Û±&Û²&Û³& &Û´&Ûµ&Û¶&Û·& &Û¸&Û¹&Ûº&Û»& &Û¼&Û½&Û¾&Û¿ \\ 5b40 &ÛÀ&ÛÁ&ÛÂ&ÛÃ& &ÛÄ&ÛÅ&ÛÆ&ÛÇ& &ÛÈ&ÛÉ&ÛÊ&ÛË& &ÛÌ&ÛÍ&ÛÎ&ÛÏ \\ 5b50 &ÛÐ&ÛÑ&ÛÒ&ÛÓ& &ÛÔ&ÛÕ&ÛÖ&Û×& &ÛØ&ÛÙ&ÛÚ&ÛÛ& &ÛÜ&ÛÝ&ÛÞ&Ûß \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 5b60 &Ûà&Ûá&Ûâ&Ûã& &Ûä&Ûå&Ûæ&Ûç& &Ûè&Ûé&Ûê&Ûë& &Ûì&Ûí&Ûî&Ûï \\ 5b70 &Ûð&Ûñ&Ûò&Ûó& &Ûô&Ûõ&Ûö&Û÷& &Ûø&Ûù&Ûú&Ûû& &Ûü&Ûý&Ûþ& \\ %%%%% dc %%%%% 5c20 & &Ü¡&Ü¢&Ü£& &ܤ&Ü¥&ܦ&ܧ& &ܨ&Ü©&ܪ&Ü«& &ܬ&Ü­&Ü®&ܯ \\ 5c30 &ܰ&ܱ&ܲ&ܳ& &Ü´&ܵ&ܶ&Ü·& &ܸ&ܹ&ܺ&Ü»& &ܼ&ܽ&ܾ&Ü¿ \\ 5c40 &ÜÀ&ÜÁ&ÜÂ&ÜÃ& &ÜÄ&ÜÅ&ÜÆ&ÜÇ& &ÜÈ&ÜÉ&ÜÊ&ÜË& &ÜÌ&ÜÍ&ÜÎ&ÜÏ \\ 5c50 &ÜÐ&ÜÑ&ÜÒ&ÜÓ& &ÜÔ&ÜÕ&ÜÖ&Ü×& &ÜØ&ÜÙ&ÜÚ&ÜÛ& &ÜÜ&ÜÝ&ÜÞ&Üß \\ 5c60 &Üà&Üá&Üâ&Üã& &Üä&Üå&Üæ&Üç& &Üè&Üé&Üê&Üë& &Üì&Üí&Üî&Üï \\ 5c70 &Üð&Üñ&Üò&Üó& &Üô&Üõ&Üö&Ü÷& &Üø&Üù&Üú&Üû& &Üü&Üý&Üþ& \\ %%%%% dd %%%%% 5d20 & &Ý¡&Ý¢&Ý£& &ݤ&Ý¥&ݦ&ݧ& &ݨ&Ý©&ݪ&Ý«& &ݬ&Ý­&Ý®&ݯ \\ 5d30 &ݰ&ݱ&ݲ&ݳ& &Ý´&ݵ&ݶ&Ý·& &ݸ&ݹ&ݺ&Ý»& &ݼ&ݽ&ݾ&Ý¿ \\ 5d40 &ÝÀ&ÝÁ&ÝÂ&ÝÃ& &ÝÄ&ÝÅ&ÝÆ&ÝÇ& &ÝÈ&ÝÉ&ÝÊ&ÝË& &ÝÌ&ÝÍ&ÝÎ&ÝÏ \\ 5d50 &ÝÐ&ÝÑ&ÝÒ&ÝÓ& &ÝÔ&ÝÕ&ÝÖ&Ý×& &ÝØ&ÝÙ&ÝÚ&ÝÛ& &ÝÜ&ÝÝ&ÝÞ&Ýß \\ 5d60 &Ýà&Ýá&Ýâ&Ýã& &Ýä&Ýå&Ýæ&Ýç& &Ýè&Ýé&Ýê&Ýë& &Ýì&Ýí&Ýî&Ýï \\ 5d70 &Ýð&Ýñ&Ýò&Ýó& &Ýô&Ýõ&Ýö&Ý÷& &Ýø&Ýù&Ýú&Ýû& &Ýü&Ýý&Ýþ& \\ %%%%% de %%%%% 5e20 & &Þ¡&Þ¢&Þ£& &Þ¤&Þ¥&Þ¦&Þ§& &Þ¨&Þ©&Þª&Þ«& &Þ¬&Þ­&Þ®&Þ¯ \\ 5e30 &Þ°&Þ±&Þ²&Þ³& &Þ´&Þµ&Þ¶&Þ·& &Þ¸&Þ¹&Þº&Þ»& &Þ¼&Þ½&Þ¾&Þ¿ \\ 5e40 &ÞÀ&ÞÁ&ÞÂ&ÞÃ& &ÞÄ&ÞÅ&ÞÆ&ÞÇ& &ÞÈ&ÞÉ&ÞÊ&ÞË& &ÞÌ&ÞÍ&ÞÎ&ÞÏ \\ 5e50 &ÞÐ&ÞÑ&ÞÒ&ÞÓ& &ÞÔ&ÞÕ&ÞÖ&Þ×& &ÞØ&ÞÙ&ÞÚ&ÞÛ& &ÞÜ&ÞÝ&ÞÞ&Þß \\ 5e60 &Þà&Þá&Þâ&Þã& &Þä&Þå&Þæ&Þç& &Þè&Þé&Þê&Þë& &Þì&Þí&Þî&Þï \\ 5e70 &Þð&Þñ&Þò&Þó& &Þô&Þõ&Þö&Þ÷& &Þø&Þù&Þú&Þû& &Þü&Þý&Þþ& \\ %%%%% df %%%%% 5f20 & &ß¡&ߢ&ߣ& &ߤ&ߥ&ߦ&ß§& &ߨ&ß©&ߪ&ß«& &߬&ß­&ß®&߯ \\ 5f30 &ß°&ß±&ß²&ß³& &ß´&ßµ&ß¶&ß·& &߸&ß¹&ߺ&ß»& &ß¼&ß½&ß¾&ß¿ \\ 5f40 &ßÀ&ßÁ&ßÂ&ßÃ& &ßÄ&ßÅ&߯&ßÇ& &ßÈ&ßÉ&ßÊ&ßË& &ßÌ&ßÍ&ßÎ&ßÏ \\ 5f50 &ßÐ&ßÑ&ßÒ&ßÓ& &ßÔ&ßÕ&ßÖ&ß×& &ߨ&ßÙ&ßÚ&ßÛ& &ßÜ&ßÝ&ßÞ&ßß \\ 5f60 &ßà&ßá&ßâ&ßã& &ßä&ßå&ßæ&ßç& &ßè&ßé&ßê&ßë& &ßì&ßí&ßî&ßï \\ 5f70 &ßð&ßñ&ßò&ßó& &ßô&ßõ&ßö&ß÷& &ßø&ßù&ßú&ßû& &ßü&ßý&ßþ& \\ %%%%% e0 %%%%% 6020 & &à¡&à¢&à£& &à¤&à¥&à¦&à§& &à¨&à©&àª&à«& &à¬&à­&à®&௠\\ 6030 &à°&à±&à²&à³& &à´&àµ&à¶&à·& &à¸&à¹&àº&à»& &à¼&à½&à¾&à¿ \\ 6040 &àÀ&àÁ&àÂ&àÃ& &àÄ&àÅ&àÆ&àÇ& &àÈ&àÉ&àÊ&àË& &àÌ&àÍ&àÎ&àÏ \\ 6050 &àÐ&àÑ&àÒ&àÓ& &àÔ&àÕ&àÖ&à×& &àØ&àÙ&àÚ&àÛ& &àÜ&àÝ&àÞ&àß \\ 6060 &àà&àá&àâ&àã& &àä&àå&àæ&àç& &àè&àé&àê&àë& &àì&àí&àî&àï \\ 6070 &àð&àñ&àò&àó& &àô&àõ&àö&à÷& &àø&àù&àú&àû& &àü&àý&àþ& \\ %%%%% e1 %%%%% 6120 & &á¡&á¢&á£& &á¤&á¥&á¦&á§& &á¨&á©&áª&á«& &á¬&á­&á®&ᯠ\\ 6130 &á°&á±&á²&á³& &á´&áµ&á¶&á·& &á¸&á¹&áº&á»& &á¼&á½&á¾&á¿ \\ 6140 &áÀ&áÁ&áÂ&áÃ& &áÄ&áÅ&áÆ&áÇ& &áÈ&áÉ&áÊ&áË& &áÌ&áÍ&áÎ&áÏ \\ 6150 &áÐ&áÑ&áÒ&áÓ& &áÔ&áÕ&áÖ&á×& &áØ&áÙ&áÚ&áÛ& &áÜ&áÝ&áÞ&áß \\ 6160 &áà&áá&áâ&áã& &áä&áå&áæ&áç& &áè&áé&áê&áë& &áì&áí&áî&áï \\ 6170 &áð&áñ&áò&áó& &áô&áõ&áö&á÷& &áø&áù&áú&áû& &áü&áý&áþ& \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline %%%%% e2 %%%%% 6220 & &â¡&â¢&â£& &â¤&â¥&â¦&â§& &â¨&â©&âª&â«& &â¬&â­&â®&⯠\\ 6230 &â°&â±&â²&â³& &â´&âµ&â¶&â·& &â¸&â¹&âº&â»& &â¼&â½&â¾&â¿ \\ 6240 &âÀ&âÁ&âÂ&âÃ& &âÄ&âÅ&âÆ&âÇ& &âÈ&âÉ&âÊ&âË& &âÌ&âÍ&âÎ&âÏ \\ 6250 &âÐ&âÑ&âÒ&âÓ& &âÔ&âÕ&âÖ&â×& &âØ&âÙ&âÚ&âÛ& &âÜ&âÝ&âÞ&âß \\ 6260 &âà&âá&ââ&âã& &âä&âå&âæ&âç& &âè&âé&âê&âë& &âì&âí&âî&âï \\ 6270 &âð&âñ&âò&âó& &âô&âõ&âö&â÷& &âø&âù&âú&âû& &âü&âý&âþ& \\ %%%%% e3 %%%%% 6320 & &ã¡&ã¢&ã£& &ã¤&ã¥&ã¦&ã§& &ã¨&ã©&ãª&ã«& &ã¬&ã­&ã®&㯠\\ 6330 &ã°&ã±&ã²&ã³& &ã´&ãµ&ã¶&ã·& &ã¸&ã¹&ãº&ã»& &ã¼&ã½&ã¾&ã¿ \\ 6340 &ãÀ&ãÁ&ãÂ&ãÃ& &ãÄ&ãÅ&ãÆ&ãÇ& &ãÈ&ãÉ&ãÊ&ãË& &ãÌ&ãÍ&ãÎ&ãÏ \\ 6350 &ãÐ&ãÑ&ãÒ&ãÓ& &ãÔ&ãÕ&ãÖ&ã×& &ãØ&ãÙ&ãÚ&ãÛ& &ãÜ&ãÝ&ãÞ&ãß \\ 6360 &ãà&ãá&ãâ&ãã& &ãä&ãå&ãæ&ãç& &ãè&ãé&ãê&ãë& &ãì&ãí&ãî&ãï \\ 6370 &ãð&ãñ&ãò&ãó& &ãô&ãõ&ãö&ã÷& &ãø&ãù&ãú&ãû& &ãü&ãý&ãþ& \\ %%%%% e4 %%%%% 6420 & &ä¡&ä¢&ä£& &ä¤&ä¥&ä¦&ä§& &ä¨&ä©&äª&ä«& &ä¬&ä­&ä®&ä¯ \\ 6430 &ä°&ä±&ä²&ä³& &ä´&äµ&ä¶&ä·& &ä¸&ä¹&äº&ä»& &ä¼&ä½&ä¾&ä¿ \\ 6440 &äÀ&äÁ&äÂ&äÃ& &äÄ&äÅ&äÆ&äÇ& &äÈ&äÉ&äÊ&äË& &äÌ&äÍ&äÎ&äÏ \\ 6450 &äÐ&äÑ&äÒ&äÓ& &äÔ&äÕ&äÖ&ä×& &äØ&äÙ&äÚ&äÛ& &äÜ&äÝ&äÞ&äß \\ 6460 &äà&äá&äâ&äã& &ää&äå&äæ&äç& &äè&äé&äê&äë& &äì&äí&äî&äï \\ 6470 &äð&äñ&äò&äó& &äô&äõ&äö&ä÷& &äø&äù&äú&äû& &äü&äý&äþ& \\ %%%%% e5 %%%%% 6520 & &å¡&å¢&å£& &å¤&å¥&å¦&å§& &å¨&å©&åª&å«& &å¬&å­&å®&å¯ \\ 6530 &å°&å±&å²&å³& &å´&åµ&å¶&å·& &å¸&å¹&åº&å»& &å¼&å½&å¾&å¿ \\ 6540 &åÀ&åÁ&åÂ&åÃ& &åÄ&åÅ&åÆ&åÇ& &åÈ&åÉ&åÊ&åË& &åÌ&åÍ&åÎ&åÏ \\ 6550 &åÐ&åÑ&åÒ&åÓ& &åÔ&åÕ&åÖ&å×& &åØ&åÙ&åÚ&åÛ& &åÜ&åÝ&åÞ&åß \\ 6560 &åà&åá&åâ&åã& &åä&åå&åæ&åç& &åè&åé&åê&åë& &åì&åí&åî&åï \\ 6570 &åð&åñ&åò&åó& &åô&åõ&åö&å÷& &åø&åù&åú&åû& &åü&åý&åþ& \\ %%%%% e6 %%%%% 6620 & &æ¡&æ¢&æ£& &æ¤&æ¥&æ¦&æ§& &æ¨&æ©&æª&æ«& &æ¬&æ­&æ®&æ¯ \\ 6630 &æ°&æ±&æ²&æ³& &æ´&æµ&æ¶&æ·& &æ¸&æ¹&æº&æ»& &æ¼&æ½&æ¾&æ¿ \\ 6640 &æÀ&æÁ&æÂ&æÃ& &æÄ&æÅ&æÆ&æÇ& &æÈ&æÉ&æÊ&æË& &æÌ&æÍ&æÎ&æÏ \\ 6650 &æÐ&æÑ&æÒ&æÓ& &æÔ&æÕ&æÖ&æ×& &æØ&æÙ&æÚ&æÛ& &æÜ&æÝ&æÞ&æß \\ 6660 &æà&æá&æâ&æã& &æä&æå&ææ&æç& &æè&æé&æê&æë& &æì&æí&æî&æï \\ 6670 &æð&æñ&æò&æó& &æô&æõ&æö&æ÷& &æø&æù&æú&æû& &æü&æý&æþ& \\ %%%%% e7 %%%%% 6720 & &ç¡&ç¢&ç£& &ç¤&ç¥&ç¦&ç§& &ç¨&ç©&çª&ç«& &ç¬&ç­&ç®&ç¯ \\ 6730 &ç°&ç±&ç²&ç³& &ç´&çµ&ç¶&ç·& &ç¸&ç¹&çº&ç»& &ç¼&ç½&ç¾&ç¿ \\ 6740 &çÀ&çÁ&çÂ&çÃ& &çÄ&çÅ&çÆ&çÇ& &çÈ&çÉ&çÊ&çË& &çÌ&çÍ&çÎ&çÏ \\ 6750 &çÐ&çÑ&çÒ&çÓ& &çÔ&çÕ&çÖ&ç×& &çØ&çÙ&çÚ&çÛ& &çÜ&çÝ&çÞ&çß \\ 6760 &çà&çá&çâ&çã& &çä&çå&çæ&çç& &çè&çé&çê&çë& &çì&çí&çî&çï \\ 6770 &çð&çñ&çò&çó& &çô&çõ&çö&ç÷& &çø&çù&çú&çû& &çü&çý&çþ& \\ %%%%% e8 %%%%% 6820 & &è¡&è¢&è£& &è¤&è¥&è¦&è§& &è¨&è©&èª&è«& &è¬&è­&è®&è¯ \\ 6830 &è°&è±&è²&è³& &è´&èµ&è¶&è·& &è¸&è¹&èº&è»& &è¼&è½&è¾&è¿ \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 6840 &èÀ&èÁ&èÂ&èÃ& &èÄ&èÅ&èÆ&èÇ& &èÈ&èÉ&èÊ&èË& &èÌ&èÍ&èÎ&èÏ \\ 6850 &èÐ&èÑ&èÒ&èÓ& &èÔ&èÕ&èÖ&è×& &èØ&èÙ&èÚ&èÛ& &èÜ&èÝ&èÞ&èß \\ 6860 &èà&èá&èâ&èã& &èä&èå&èæ&èç& &èè&èé&èê&èë& &èì&èí&èî&èï \\ 6870 &èð&èñ&èò&èó& &èô&èõ&èö&è÷& &èø&èù&èú&èû& &èü&èý&èþ& \\ %%%%% e9 %%%%% 6920 &&é¡&é¢&é£& &é¤&é¥&é¦&é§& &é¨&é©&éª&é«& &é¬&é­&é®&é¯ \\ 6930 &é°&é±&é²&é³& &é´&éµ&é¶&é·& &é¸&é¹&éº&é»& &é¼&é½&é¾&é¿ \\ 6940 &éÀ&éÁ&éÂ&éÃ& &éÄ&éÅ&éÆ&éÇ& &éÈ&éÉ&éÊ&éË& &éÌ&éÍ&éÎ&éÏ \\ 6950 &éÐ&éÑ&éÒ&éÓ& &éÔ&éÕ&éÖ&é×& &éØ&éÙ&éÚ&éÛ& &éÜ&éÝ&éÞ&éß \\ 6960 &éà&éá&éâ&éã& &éä&éå&éæ&éç& &éè&éé&éê&éë& &éì&éí&éî&éï \\ 6970 &éð&éñ&éò&éó& &éô&éõ&éö&é÷& &éø&éù&éú&éû& &éü&éý&éþ& \\ %%%%% ea %%%%% 6a20 & &ê¡&ê¢&ê£& &ê¤&ê¥&ê¦&ê§& &ê¨&ê©&êª&ê«& &ê¬&ê­&ê®&ê¯ \\ 6a30 &ê°&ê±&ê²&ê³& &ê´&êµ&ê¶&ê·& &ê¸&ê¹&êº&ê»& &ê¼&ê½&ê¾&ê¿ \\ 6a40 &êÀ&êÁ&êÂ&êÃ& &êÄ&êÅ&êÆ&êÇ& &êÈ&êÉ&êÊ&êË& &êÌ&êÍ&êÎ&êÏ \\ 6a50 &êÐ&êÑ&êÒ&êÓ& &êÔ&êÕ&êÖ&ê×& &êØ&êÙ&êÚ&êÛ& &êÜ&êÝ&êÞ&êß \\ 6a60 &êà&êá&êâ&êã& &êä&êå&êæ&êç& &êè&êé&êê&êë& &êì&êí&êî&êï \\ 6a70 &êð&êñ&êò&êó& &êô&êõ&êö&ê÷& &êø&êù&êú&êû& &êü&êý&êþ& \\ %%%%% eb %%%%% 6b20 & &ë¡&ë¢&ë£& &ë¤&ë¥&ë¦&ë§& &ë¨&ë©&ëª&ë«& &ë¬&ë­&ë®&ë¯ \\ 6b30 &ë°&ë±&ë²&ë³& &ë´&ëµ&ë¶&ë·& &ë¸&ë¹&ëº&ë»& &ë¼&ë½&ë¾&ë¿ \\ 6b40 &ëÀ&ëÁ&ëÂ&ëÃ& &ëÄ&ëÅ&ëÆ&ëÇ& &ëÈ&ëÉ&ëÊ&ëË& &ëÌ&ëÍ&ëÎ&ëÏ \\ 6b50 &ëÐ&ëÑ&ëÒ&ëÓ& &ëÔ&ëÕ&ëÖ&ë×& &ëØ&ëÙ&ëÚ&ëÛ& &ëÜ&ëÝ&ëÞ&ëß \\ 6b60 &ëà&ëá&ëâ&ëã& &ëä&ëå&ëæ&ëç& &ëè&ëé&ëê&ëë& &ëì&ëí&ëî&ëï \\ 6b70 &ëð&ëñ&ëò&ëó& &ëô&ëõ&ëö&ë÷& &ëø&ëù&ëú&ëû& &ëü&ëý&ëþ& \\ %%%%% ec %%%%% 6c20 & &ì¡&ì¢&ì£& &ì¤&ì¥&ì¦&ì§& &ì¨&ì©&ìª&ì«& &ì¬&ì­&ì®&ì¯ \\ 6c30 &ì°&ì±&ì²&ì³& &ì´&ìµ&ì¶&ì·& &ì¸&ì¹&ìº&ì»& &ì¼&ì½&ì¾&ì¿ \\ 6c40 &ìÀ&ìÁ&ìÂ&ìÃ& &ìÄ&ìÅ&ìÆ&ìÇ& &ìÈ&ìÉ&ìÊ&ìË& &ìÌ&ìÍ&ìÎ&ìÏ \\ 6c50 &ìÐ&ìÑ&ìÒ&ìÓ& &ìÔ&ìÕ&ìÖ&ì×& &ìØ&ìÙ&ìÚ&ìÛ& &ìÜ&ìÝ&ìÞ&ìß \\ 6c60 &ìà&ìá&ìâ&ìã& &ìä&ìå&ìæ&ìç& &ìè&ìé&ìê&ìë& &ìì&ìí&ìî&ìï \\ 6c70 &ìð&ìñ&ìò&ìó& &ìô&ìõ&ìö&ì÷& &ìø&ìù&ìú&ìû& &ìü&ìý&ìþ& \\ %%%%% ed %%%%% 6d20 & &í¡&í¢&í£& &í¤&í¥&í¦&í§& &í¨&í©&íª&í«& &í¬&í­&í®&í¯ \\ 6d30 &í°&í±&í²&í³& &í´&íµ&í¶&í·& &í¸&í¹&íº&í»& &í¼&í½&í¾&í¿ \\ 6d40 &íÀ&íÁ&íÂ&íÃ& &íÄ&íÅ&íÆ&íÇ& &íÈ&íÉ&íÊ&íË& &íÌ&íÍ&íÎ&íÏ \\ 6d50 &íÐ&íÑ&íÒ&íÓ& &íÔ&íÕ&íÖ&í×& &íØ&íÙ&íÚ&íÛ& &íÜ&íÝ&íÞ&íß \\ 6d60 &íà&íá&íâ&íã& &íä&íå&íæ&íç& &íè&íé&íê&íë& &íì&íí&íî&íï \\ 6d70 &íð&íñ&íò&íó& &íô&íõ&íö&í÷& &íø&íù&íú&íû& &íü&íý&íþ& \\ %%%%% ee %%%%% 6e20 & &î¡&î¢&î£& &î¤&î¥&î¦&î§& &î¨&î©&îª&î«& &î¬&î­&î®&î¯ \\ 6e30 &î°&î±&î²&î³& &î´&îµ&î¶&î·& &î¸&î¹&îº&î»& &î¼&î½&î¾&î¿ \\ 6e40 &îÀ&îÁ&îÂ&îÃ& &îÄ&îÅ&îÆ&îÇ& &îÈ&îÉ&îÊ&îË& &îÌ&îÍ&îÎ&îÏ \\ 6e50 &îÐ&îÑ&îÒ&îÓ& &îÔ&îÕ&îÖ&î×& &îØ&îÙ&îÚ&îÛ& &îÜ&îÝ&îÞ&îß \\ \hline \end{tabular} \newpage \begin{tabular}{|c|ccccccccccccccccccc|} \hline code & 0& 1& 2& 3& \ & 4& 5& 6& 7& \ & 8& 9& a& b& \ & c& d& e& f \\ \hline 6e60 &îà&îá&îâ&îã& &îä&îå&îæ&îç& &îè&îé&îê&îë& &îì&îí&îî&îï \\ 6e70 &îð&îñ&îò&îó& &îô&îõ&îö&î÷& &îø&îù&îú&îû& &îü&îý&îþ& \\ %%%%% ef %%%%% 6f20 & &ï¡&ï¢&ï£& &ï¤&ï¥&ï¦&ï§& &ï¨&ï©&ïª&ï«& &ï¬&ï­&ï®&ï¯ \\ 6f30 &ï°&ï±&ï²&ï³& &ï´&ïµ&ï¶&ï·& &ï¸&ï¹&ïº&ï»& &ï¼&ï½&ï¾&ï¿ \\ 6f40 &ïÀ&ïÁ&ïÂ&ïÃ& &ïÄ&ïÅ&ïÆ&ïÇ& &ïÈ&ïÉ&ïÊ&ïË& &ïÌ&ïÍ&ïÎ&ïÏ \\ 6f50 &ïÐ&ïÑ&ïÒ&ïÓ& &ïÔ&ïÕ&ïÖ&ï×& &ïØ&ïÙ&ïÚ&ïÛ& &ïÜ&ïÝ&ïÞ&ïß \\ 6f60 &ïà&ïá&ïâ&ïã& &ïä&ïå&ïæ&ïç& &ïè&ïé&ïê&ïë& &ïì&ïí&ïî&ïï \\ 6f70 &ïð&ïñ&ïò&ïó& &ïô&ïõ&ïö&ï÷& &ïø&ïù&ïú&ïû& &ïü&ïý&ïþ& \\ %%%%% f0 %%%%% 7020 & &ð¡&ð¢&ð£& &ð¤&ð¥&ð¦&ð§& &ð¨&ð©&ðª&ð«& &ð¬&ð­&ð®&ð¯ \\ 7030 &ð°&ð±&ð²&ð³& &ð´&ðµ&ð¶&ð·& &ð¸&ð¹&ðº&ð»& &ð¼&ð½&ð¾&ð¿ \\ 7040 &ðÀ&ðÁ&ðÂ&ðÃ& &ðÄ&ðÅ&ðÆ&ðÇ& &ðÈ&ðÉ&ðÊ&ðË& &ðÌ&ðÍ&ðÎ&ðÏ \\ 7050 &ðÐ&ðÑ&ðÒ&ðÓ& &ðÔ&ðÕ&ðÖ&ð×& &ðØ&ðÙ&ðÚ&ðÛ& &ðÜ&ðÝ&ðÞ&ðß \\ 7060 &ðà&ðá&ðâ&ðã& &ðä&ðå&ðæ&ðç& &ðè&ðé&ðê&ðë& &ðì&ðí&ðî&ðï \\ 7070 &ðð&ðñ&ðò&ðó& &ðô&ðõ&ðö&ð÷& &ðø&ðù&ðú&ðû& &ðü&ðý&ðþ& \\ %%%%% f1 %%%%% 7120 & &ñ¡&ñ¢&ñ£& &ñ¤&ñ¥&ñ¦&ñ§& &ñ¨&ñ©&ñª&ñ«& &ñ¬&ñ­&ñ®&ñ¯ \\ 7130 &ñ°&ñ±&ñ²&ñ³& &ñ´&ñµ&ñ¶&ñ·& &ñ¸&ñ¹&ñº&ñ»& &ñ¼&ñ½&ñ¾&ñ¿ \\ 7140 &ñÀ&ñÁ&ñÂ&ñÃ& &ñÄ&ñÅ&ñÆ&ñÇ& &ñÈ&ñÉ&ñÊ&ñË& &ñÌ&ñÍ&ñÎ&ñÏ \\ 7150 &ñÐ&ñÑ&ñÒ&ñÓ& &ñÔ&ñÕ&ñÖ&ñ×& &ñØ&ñÙ&ñÚ&ñÛ& &ñÜ&ñÝ&ñÞ&ñß \\ 7160 &ñà&ñá&ñâ&ñã& &ñä&ñå&ñæ&ñç& &ñè&ñé&ñê&ñë& &ñì&ñí&ñî&ñï \\ 7170 &ñð&ññ&ñò&ñó& &ñô&ñõ&ñö&ñ÷& &ñø&ñù&ñú&ñû& &ñü&ñý&ñþ& \\ %%%%% f2 %%%%% 7220 & &ò¡&ò¢&ò£& &ò¤&ò¥&ò¦&ò§& &ò¨&ò©&òª&ò«& &ò¬&ò­&ò®&ò¯ \\ 7230 &ò°&ò±&ò²&ò³& &ò´&òµ&ò¶&ò·& &ò¸&ò¹&òº&ò»& &ò¼&ò½&ò¾&ò¿ \\ 7240 &òÀ&òÁ&òÂ&òÃ& &òÄ&òÅ&òÆ&òÇ& &òÈ&òÉ&òÊ&òË& &òÌ&òÍ&òÎ&òÏ \\ 7250 &òÐ&òÑ&òÒ&òÓ& &òÔ&òÕ&òÖ&ò×& &òØ&òÙ&òÚ&òÛ& &òÜ&òÝ&òÞ&òß \\ 7260 &òà&òá&òâ&òã& &òä&òå&òæ&òç& &òè&òé&òê&òë& &òì&òí&òî&òï \\ 7270 &òð&òñ&òò&òó& &òô&òõ&òö&ò÷& &òø&òù&òú&òû& &òü&òý&òþ& \\ %%%%% f3 %%%%% 7320 & &ó¡&ó¢&ó£& &ó¤&ó¥&ó¦&ó§& &ó¨&ó©&óª&ó«& &ó¬&ó­&ó®&ó¯ \\ 7330 &ó°&ó±&ó²&ó³& &ó´&óµ&ó¶&ó·& &ó¸&ó¹&óº&ó»& &ó¼&ó½&ó¾&ó¿ \\ 7340 &óÀ&óÁ&óÂ&óÃ& &óÄ&óÅ&óÆ&óÇ& &óÈ&óÉ&óÊ&óË& &óÌ&óÍ&óÎ&óÏ \\ 7350 &óÐ&óÑ&óÒ&óÓ& &óÔ&óÕ&óÖ&ó×& &óØ&óÙ&óÚ&óÛ& &óÜ&óÝ&óÞ&óß \\ 7360 &óà&óá&óâ&óã& &óä&óå&óæ&óç& &óè&óé&óê&óë& &óì&óí&óî&óï \\ 7370 &óð&óñ&óò&óó& &óô&óõ&óö&ó÷& &óø&óù&óú&óû& &óü&óý&óþ& \\ %%%%% f4 %%%%% 7420 & &ô¡&ô¢&ô£& &ô¤& & & & & & & & & & & & & \\ \hline \end{tabular} Canna37p3/doc/man/guide/tex/keymap.tex0100644000076500001200000000607507727326134017115 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: keymap.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{¥Ç¥Õ¥©¥ë¥È¤Ç¤Î´ðËÜŪ¤Ê\HIDX{¥­¡¼¤Î³ä¤êÅö¤Æ}{¤­¡¼¤Î¤ï¤ê¤¢¤Æ} {H0.A.0.0.0}} \label{A¥Ç¥Õ¥©¥ë¥È¤Ç¤Î´ðËÜŪ¤Ê¥­¡¼¤Î³ä¤êÅö¤Æ} \begin{center} %\begin{small} \begin{tabular}{|c|l|} \hline % & \\ \multicolumn{1}{|c|}{¡¡¥­¡¡¡¼¡¡} & \multicolumn{1}{|c|}{¤«¤Ê´Á»úÊÑ´¹¤Ç¤Îµ¡Ç½} \\\hline % & \\ \hline \XFER & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤ÈÆüËܸìÆþÎϥ⡼¥É¤È¤Î \\ & Áê¸ßÀÚ¤êÂØ¤¨¡¢ÊÑ´¹¡¢¼¡¸õÊä \\ \hline \fbox{Space} & ÊÑ´¹¡¢¼¡¸õÊä \\ \hline \RETURN, CTRL$-$m & ³ÎÄê \\ \hline \BS, CTRL$-$h & ¥«¡¼¥½¥ëº¸Ê¸»úºï½ü¡¢´Á»ú¤òÆÉ¤ß¤ËÌ᤹ \\ \hline \fbox{INS} & µ­¹æÆþÎÏ \\ \hline \fbox{HELP} & ³ÈÄ¥µ¡Ç½ \\ \hline CTRL$-$a & ÆÉ¤ß¤Îº¸Ã¼¤Ø°Üư¡¢º¸Ã¼¸õÊ䤨°Üư¡¢º¸Ã¼Ê¸ÀáÁªÂò \\ \hline \fbox{¢«}, CTRL$-$b & ¥«¡¼¥½¥ëº¸°Üư¡¢º¸¸õÊ䤨°Üư¡¢º¸Ê¸ÀáÁªÂò \\ \hline CTRL$-$c & ʸÀáÊÔ½¸ \\ \hline CTRL$-$d & ¥«¡¼¥½¥ë±¦Ê¸»úºï½ü¡¢ËöÈø¤Î°ìʸ»úÁªÂò \\ \hline CTRL$-$e & ÆÉ¤ß¤Î±¦Ã¼¤Ø°Üư¡¢±¦Ã¼¸õÊ䤨°Üư¡¢±¦Ã¼Ê¸ÀáÁªÂò \\ \hline \fbox{¢ª}, CTRL$-$f & ¥«¡¼¥½¥ë±¦°Üư¡¢±¦¸õÊ䤨°Üư¡¢±¦Ê¸ÀáÁªÂò \\ \hline CTRL$-$g & ¼è¤ê¤ä¤á \\ \hline CTRL$-$i & ʸÀá½Ì¤á \\ \hline CTRL$-$j & Éôʬ³ÎÄê \\ \hline CTRL$-$k & ¥«¡¼¥½¥ë°Ê¹ß¤Îʸ»úÎóºï½ü¡¢ÀèÆ¬¤Î°ìʸ»úÁªÂò \\ \hline CTRL$-$l & ¾®Ê¸»úÊÑ´¹ \\ \hline \fbox{¢­}, CTRL$-$n & ¼¡Ê¸»ú¼ï¡¢¼¡¸õÊäɽ¼¨¡¢¼¡¤Î¸õÊä°ìÍ÷ɽ¼¨ \\ \hline CTRL$-$o & ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤ÈÆüËܸìÆþÎϥ⡼¥É¤È¤Î \\ & Áê¸ßÀÚ¤êÂØ¤¨¡¢Ê¸Àá¿­¤Ð¤· \\ \hline \fbox{¢¬}, CTRL$-$p & Á°Ê¸»ú¼ï¡¢Á°¸õÊäɽ¼¨¡¢Á°¤Î¸õÊä°ìÍ÷ɽ¼¨ \\ \hline CTRL$-$q & °úÍÑÆþÎÏ \\ \hline CTRL$-$u & Âçʸ»úÊÑ´¹ \\ \hline CTRL$-$w & ¸õÊä°ìÍ÷¡¢Éô¼ó°ìÍ÷ \\ \hline CTRL$-$y & 16¿Ê¥³¡¼¥ÉÊÑ´¹ \\ \hline \end{tabular} %\end{small} \end{center} Canna37p3/doc/man/guide/tex/konna.tex0100644000076500001200000006050707727326134016735 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: konna.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{¤³¤ó¤Ê¾É¾õ¤Î¤È¤­¤Ë¤Ï} \label{3.5¤³¤ó¤Ê¾É¾õ¤Î¤È¤­¤Ë¤Ï} ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤ò»È¤Ã¤Æ¤¤¤Æ¡¢¼«Ê¬¤¬ÀßÄꤷ¤Æ¤¤¤ë¤Ï¤º¤ÎÀßÄê¤É¤ª¤ê¤Ëư ¤«¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¸¶°ø¤Ï¤¤¤í¤¤¤í¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤ì¤é¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤« ¤Ï¡¢¤Ê¤ó¤é¤«¤ÎÀßÄê¤Î¸í¤ê¤À¤Ã¤¿¤ê´ª°ã¤¤¤«¤éÀ¸¤¸¤Æ¤¤¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£¤³ ¤³¤Ç¤Ï¡¢ÌäÂê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾É¾õ¤ËÂн褹¤ë¤È¤­¤Î½õÎϤȤʤë¤è¤¦¤Ë¡¢¹Í¤¨¤é¤ì ¤ë¸¶°ø¤È¤½¤ÎÂнè¤ÎÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ \section{\HIDX{cannacheck¥³¥Þ¥ó¥É}{£Ã£Á£Î£Î£Á£Ã£È£Å£Ã£Ë¤³¤Þ¤ó¤É}{H0.8.1.0.0}} \label{3.5.1cannacheck¥³¥Þ¥ó¥É} ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ëºÝ¤Ëµ¯¤³¤ë¡¢Í½´ü¤·¤Ê¤¤¾É¾õ¤Î¸¶°ø¤òÄ´¤Ù ¤ë¤¿¤á¤Î¼êÃʤΠ1 ¤Ä¤È¤·¤Æcannacheck(1)¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ \subsection{cannacheck¤Èirohacheck} \label{3.5.1.1cannacheck¤Èirohacheck} cannacheck¤Èirohacheck¤Ï¤È¤â¤ËÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¡Ø¤«¤ó¤Ê¡Ù¤Î´ØÏ¢¾ðÊó¤òɽ ¼¨¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡£cannacheck¤Ï¡¢¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 °Ê¹ß¤ÎÆüËÜ¸ì ÆþÎÏ¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ë¾ðÊó¡¢irohacheck¤Ï¡¢¡Ø¤«¤ó¤Ê¡ÙVersion 1.2°ÊÁ°¤ÎÆü ËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ »ÈÍѤ·¤Æ¤¤¤ë¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï³ÈÄ¥µ¡Ç½¤Î¡Ø´Ä¶­ÀßÄê¡Ù¢ª ¡Ø¥Ð¡¼¥¸¥ç¥óɽ¼¨¡Ù¤Ë¤Æ¡¢Ä´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ÈÍѤ·¤Æ¤¤¤ë¡Ø¤«¤ó¤Ê¡Ù¤Î ¥Ð¡¼¥¸¥ç¥ó¤Ë±þ¤¸¤Æ¡¢cannacheck¤Èirohacheck¤ò»È¤¤Ê¬¤±¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ ¤¤¡£ cannacheck¤ò¹Ô¤Ã¤¿¤È¤­¤ËÈ¿±þ¤¬¤Ê¤¤¾ì¹ç¤ä¡¢³ÈÄ¥µ¡Ç½¤Î¥á¥Ë¥å¡¼¤Ë ¡Ø´Ä¶­ÀßÄê¡Ù¤È¤¤¤¦¹àÌܤ¬¤Ê¤¤¾ì¹ç¤Ï¡¢¡Ø¤«¤ó¤Ê¡ÙVersion 1.2°ÊÁ°¤Î¤â¤Î¤ò »ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£irohacheck¤Ë¤Æ¾õ¶·¤òÄ´ºº¤·¤Æ¤¯¤À¤µ¤¤¡£ cannacheck¡¢irohacheck¤Î¾ÜºÙ¤Ê»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ °Ê²¼¤Ç¤Ï¡¢cannacheck¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤·¤Þ¤¹¡£ \subsection{cannacheck¤Îµ¡Ç½} \label{3.5.1.2cannacheck¤Îµ¡Ç½} cannacheck¥³¥Þ¥ó¥É¤Ï¼¡¤Î¹àÌܤˤĤ¤¤Æ¤É¤Î¤è¤¦¤Ê¾õ¶·¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«Ä´¤Ù¤Þ¤¹¡£ \begin{nquote}{1em} \begin{enumerate} \item ¤É¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¬»È¤ï¤ì¤ë¤« \item ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼ \item ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤È¤·¤Æ¤Ï²¿¤¬»È¤ï¤ì¤ë¤« \item ¤É¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬»È¤ï¤ì¤ë¤« \item ¤É¤Î¼­½ñ¤¬»È¤ï¤ì¤ë¤« \end{enumerate} \end{nquote} ¾åµ­¤Î¹àÌܤòÄ´ºº¤·¡¢ÌäÂ꤬¤¢¤ì¤Ð¤½¤ÎÌäÂê¤òÊó¹ð¤·¤Þ¤¹¡£$-$v¥ª ¥×¥·¥ç¥ó(verbose)¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢ÌäÂ꤬¤Ê¤¤¾ì¹ç¤Ç¤âÊó¹ð¤¬¹Ô¤ï¤ì ¤Þ¤¹¡£ ÌäÂê¤È¤Ê¤Ã¤¿¾É¾õ¤Î²òÀϤËcannacheck¤ò¤´ÍøÍѤ¯¤À¤µ¤¤¡£ \section{ÌäÂê¤Î¥ì¥Ù¥ë} \label{3.5.2ÌäÂê¤Î¥ì¥Ù¥ë} ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤¬»×¤¦¤è¤¦¤Ëư¤«¤Ê¤¤¾ì¹ç¤Ë¡¢cannacheck(1)¤Ç¤É¤Î¤è¤¦ ¤ÊÌäÂ꤬¤¢¤ë¤«¤òÄ´¤Ù¤¿¤È¤·¤Æ¤â²¿¤ÎÌäÂê¤âÊó¹ð¤µ¤ì¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡ ¤Î¤è¤¦¤Ê¾ì¹ç¤Ïcannacheck(1)¤Ç¤ÏÌäÂê¤ÏÊó¹ð¤µ¤ì¤Þ¤»¤ó¡£ \begin{enumerate} \item {\dg\bf ´Ä¶­ÊÑ¿ôCANNAFILE¤ËÀßÄꤷ¤¿¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç} \$HOME/.canna¤¢¤ë¤¤¤Ï¡¢¥·¥¹¥Æ¥à¥Ç¥Õ¥©¥ë¥È¤Îdefault.canna¤¬ÍѤ¤¤é¤ìÆÃ¤ËÌäÂê¤ÏÊó¹ð¤µ¤ì¤Þ¤»¤ó¡£ \item {\dg\bf ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤·¤Ê¤¤¤È¤­} Ʊ̾¤Î¥Õ¥¡¥¤¥ë¤¬¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤¢¤ë¤¤¤Ï¡¢¥·¥¹¥Æ¥à¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ ¥Æ¡¼¥Ö¥ë¥Ç¥£¥ì¥¯¥È¥ê (\refCANNALIBDIR /dic)¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¤½¤ì¤é¤Î¼­½ñ¥Õ¥¡¥¤¥ë ¤¬ÍѤ¤¤é¤ìÌäÂê¤ÏÊó¹ð¤µ¤ì¤Þ¤»¤ó¡£ \end{enumerate} È¿ÂФ˼¡¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¥¨¥é¡¼¤¬Êó¹ð¤µ¤ì¤Þ¤¹¡£ \begin{enumerate} \item ´Ä¶­ÊÑ¿ôCANNAHOST¤Ç¼¨¤µ¤ì¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤Ç¤­¤Ê¤¤¤È¤­¡£ \item ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤¬ÍøÍѤǤ­¤Ê¤¤¤È¤­¡£ \item »ØÄꤷ¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬¥·¥¹¥Æ¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤â¸ºß¤·¤Ê¤¤¤È¤­¡£ \end{enumerate} °Ê²¼¤Îɽ¤ò»²¹Í¤Ë¤·¤Æ¡¢³Æ¹àÌܤò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{table}[hbtp] \begin{center} \caption{¾É¾õ°ìÍ÷}\label{¾É¾õ°ìÍ÷} \begin{tabular}{|l|c|} \hline%-------------------------------------------------------------- \multicolumn{1}{|c|}{¾É¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾õ} & Âбþ¾ÏÈÖ¹æ \\ \hline%-------------------------------------------------------------- \hline%-------------------------------------------------------------- "¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó"¤È¤¤¤ï¤ì¤ë & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (1) \\ \hline%-------------------------------------------------------------- ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤¬¹Ô¤ï¤ì¤Ê¤¤ ¡¡ & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (2) \\ \hline%-------------------------------------------------------------- ¤«¤Ê´Á»úÊÑ´¹¤¬¹Ô¤ï¤ì¤Ê¤¤ ¡¡ & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (3) \\ \hline%-------------------------------------------------------------- ³Ø½¬¤Î¸ú²Ì¤¬¤Ê¤¤ & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (4) \\ \hline%-------------------------------------------------------------- "ñ¸ìÅÐÏ¿¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"¤È¤¤¤ï¤ì¤ë & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (5) \\ \hline%-------------------------------------------------------------- Éô¼óÊÑ´¹¤¬¤Ç¤­¤Ê¤¤ & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (6) \\ \hline%-------------------------------------------------------------- Ã༡ÊÑ´¹¤¬¤Ç¤­¤Ê¤¤ & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (7) \\ \hline%-------------------------------------------------------------- ¥­¡¼ÆþÎϤ¬¤Ç¤­¤Ê¤¤ & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (8) \\ \hline%-------------------------------------------------------------- ``¤ó''¤ÎÆþÎÏË¡¤¬º£¤Þ¤Ç¤È¤Á¤¬¤¦ & \ref{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} (9) \\ \hline%-------------------------------------------------------------- ¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¤È¤ª¤ê¤Îưºî¤ò¤·¤Ê¤¤ & \ref{3.5.4¥«¥¹¥¿¥Þ¥¤¥º¤Ëȼ¤¦¾É¾õ} (1) \\ \hline%-------------------------------------------------------------- ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¸ú²Ì¤¬¤Ê¤¤ & \ref{3.5.4¥«¥¹¥¿¥Þ¥¤¥º¤Ëȼ¤¦¾É¾õ} (2) \\ \hline%-------------------------------------------------------------- ¼­½ñ¤Î¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤¹¤ë & \ref{3.5.4¥«¥¹¥¿¥Þ¥¤¥º¤Ëȼ¤¦¾É¾õ} (3)--(5) \\ \hline%-------------------------------------------------------------- ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬µ¯Æ°¤Ç¤­¤Ê¤¤ & \ref{3.5.5¥·¥¹¥Æ¥à´ÉÍý´Ø·¸¤Î¾É¾õ} \\ \hline%-------------------------------------------------------------- \end{tabular} \end{center} \end{table} \section{°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} \label{3.5.3°ìÈ̤˸«¤é¤ì¤ë¾É¾õ} \begin{enumerate} \item {\dg\bf ¥¯¥é¥¤¥¢¥ó¥È¤¬"¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó"¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤ò½Ð¤¹¡£} \begin{itemize} \item {\dg\bf ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬µ¯Æ°¤µ¤ì¤Æ¤¤¤Þ¤¹¤«¡©} ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬µ¯Æ°¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò µ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬µ¯Æ°¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë¡¢³ºÅö¤¹¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ë¤¹¤Ù ¤Æ¤Î¥æ¡¼¥¶¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤Ç¤­¤Ê¤¤¤È¤­¤Ë¤Ï¡¢ {\dg\bf \ref{3.5.3°ìÈÌ ¤Ë¸«¤é¤ì¤ë¾É¾õ}(3) \hpref{count=11,label=H0.8.3.0.0.3} ¤«¤Ê´Á»úÊÑ´¹¤¬¹Ô¤¨¤Ê¤¤} ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òµ¯Æ°¤·¤è¤¦¤È¤·¤Æ¤âµ¯Æ°¤Ç¤­¤Ê¤¤¤È¤­¤Ë¤Ï¡¢ {\dg\bf \ref{3.5.5¥·¥¹¥Æ¥à´ÉÍý´Ø·¸¤Î¾É¾õ}(1) \hpref{count=18,label=H0.8.5.0.0.1} cannaserver¤¬µ¯Æ°¤Ç¤­¤Ê¤¤} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf °Õ¿Þ¤·¤Ê¤¤¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤»¤ó¤«¡©} ¼«Ê¬¤¬Àܳ¤·¤¿¤¤¥Û¥¹¥È°Ê³°¤Î¤«¤Ê´Á»ú¥µ¡¼¥Ð¤ËÀܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤»¤ó¤«¡£ Àܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤«¤Ê´Á»ú¥µ¡¼¥Ð¤Ï¡¢´Ä¶­ÊÑ¿ôCANNAHOST¡¢¤Þ¤¿¤Ï¡¢¥Õ¥¡ ¥¤¥ë \refCANNALIBDIR /cannahost¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÀßÄ꤬´Ö°ã¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢³ÈÄ¥µ¡Ç½¤Î¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨µ¡Ç½¤Ç ¥µ¡¼¥Ð¤òÀÚ¤êÂØ¤¨¤ë¤«¡¢´Ä¶­ÊÑ¿ô¡¢¤Þ¤¿¤Ï¡¢ ¥Õ¥¡¥¤¥ë\refCANNALIBDIR /cannahost¤òÊѹ¹¤·¤Æ¤«¤é ¥¯¥é¥¤¥¢¥ó¥È¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf »ØÄꤷ¤¿¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¸¢¤¬¤¢¤ê¤Þ¤¹¤«¡©} ¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥µ¡¼¥Ð¡¼¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏÀܳ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó¡£ cannaserver ¤¬ \texttt{-inet} ¥ª¥×¥·¥ç¥óÉÕ¤­¤Çµ¯Æ°¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«³Î ¤«¤á¤Æ¤¯¤À¤µ¤¤¡£ Àܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤Î¥¢¥¯¥»¥¹¸¢¤Ï¡¢cshost(1)¥³¥Þ¥ó¥É¤Ç³Î ǧ¤Ç¤­¤Þ¤¹¡£ ¾ÜºÙ¤Ï¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î»ØÄê¤Î»ÅÊý¤Ï¡¢{\dg\bf 5.1.2 \hpref{count=12,label=H0.5.1.2.0} ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î»ØÄê} ¤ò»² ¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ¥µ¡¼¥Ð¤Î¥¯¥é¥¤¥¢¥ó¥È¿ô¤¬Â¿¤¯¤¢¤ê¤Þ¤»¤ó¤«¡©} ¡Ø¤«¤ó¤Ê¡ÙVersion 3.2 °Ê¾å¤Î¥µ¡¼¥Ð¤ËÀܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥á¥â ¥ê¤ÎÉÔ­¤ä¥·¥¹¥Æ¥à¦¤ÇÀßÄꤷ¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¿ô¤ò¤³¤¨¤Æ¤·¤Þ¤Ã ¤Æ¤¤¤ë¤¿¤á¤ËÀܳ¤Ç¤­¤¯¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ë¤Ï¡¢Ì¤»ÈÍѤΥ¯¥é¥¤¥¢¥ó¥È¤Ï½ªÎ»¤µ¤»¤ë¤«¡¢Â¾¤Î¥Þ¥·¥ó¤Î¥µ¡¼¥Ð¤Ë Àܳ¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¡Ø¤«¤ó¤Ê¡Ù Version 3.2 ¤è¤êÁ°¤Î¥µ¡¼¥Ð¤ËÀܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥µ¡¼¥Ð¦¤ÇÀܳ¤Ç¤­¤ë¥¯¥é¥¤¥¢¥ó¥È¤Î¿ô¤òÀ©¸Â¤·¤Æ¤¤¤Þ¤¹¡£ ¥µ¡¼¥Ð¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¿ô¤ÎºÇÂçÃÍ¤Ï 64 ¸Ä¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹ (¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¿ô¤Ï¥¯¥é¥¤¥¢¥ó¥È 1 ¤Ä¤Ë 1 ¸Ä¡¢ ¥Ð¥¤¥Ê¥ê¼­½ñ¥Õ¥¡¥¤¥ë 1 ¤Ä¤Ë¤Ä¤­ 1 ¸Ä¾ÃÈñ¤µ¤ì¤Þ¤¹)¡£ ¤³¤Î¤¿¤á¡¢ ¥¯¥é¥¤¥¢¥ó¥È¿ô¤¬Â¿¤¤»þ¤Ë¥µ¡¼¥Ð¤Ë Àܳ¤Ç¤­¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ̤»ÈÍѤΥ¯¥é¥¤¥¢¥ó¥È¤Ï½ªÎ»¤µ¤»¤ë¤«¡¢ ¤¢¤ë¤¤¤Ï¥µ¡¼¥Ð¤òÁý¤ä¤· 1 ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¥¯¥é¥¤¥¢¥ó¥È¿ô¤ÎÈæÎ¨¤ò ÊѤ¨¡¢¥·¥¹¥Æ¥à¤Î»ñ¸»¤òÀáÌ󤹤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \howversion \end{itemize} \item {\dg\bf ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤¬¹Ô¤ï¤ì¤Ê¤¤} \begin{itemize} \item {\dg\bf ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï¸ºß¤·¤Þ¤¹¤«¡©} ¤Þ¤º¡¢cannacheck¤Ç¥á¥Ã¥»¡¼¥¸¤¬½Ð¤ë¤«¤É¤¦¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£¥á¥Ã¥»¡¼¥¸¤¬¼¡¤Î¤è¤¦¤Ê¾ì¹ç¤Ï»ØÄꤵ¤ì¤Æ¤¤¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬Â¸ºß¤·¤Þ¤»¤ó¡£ \begin{nquote}{1em} \begin{verbatim} % cannacheck ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë(user.cbp)¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£ % \end{verbatim} \end{nquote} ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¢¤ë¤¤¤Ï¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î·Á¼°¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¤Ë¤â¤³¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¤Ç¤Þ¤¹¡£ \end{itemize} \item {\dg\bf ¤«¤Ê´Á»úÊÑ´¹¤¬¹Ô¤¨¤Ê¤¤} \hptar{label=H0.8.3.0.0.3} \begin{itemize} \item {\dg\bf ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Æ¤¤¤Þ¤¹¤«¡©} ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Æ¤¤¤Ê¤¤¤È¡¢¤«¤Ê´Á»úÊÑ´¹¤¬¹Ô¤¨¤Þ¤»¤ó¡£¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤Ç¤­¤Ê¤¤Íýͳ¤È¤·¤Æ°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ \begin{enumerate} \item ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬Æ°¤¤¤Æ¤¤¤Ê¤¤¡£ ¼«Ê¬¤¬Àܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬Æ°¤¤¤Æ¤¤¤Ê¤¤¾ì¹ç¤¬¤¢¤ê ¤Þ¤¹¡£¤³¤Î¸¶°ø¤È¤·¤Æ¤Ï¡¢Àܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥Þ¥·¥ó¤Ç¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼ ¥Ð¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£Àܳ¤·¤è¤¦¤È¤· ¤Æ¤¤¤ë¥Þ¥·¥ó¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ \item °Õ¿Þ¤·¤Ê¤¤¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤¿¡£ \refCANNALIBDIR /cannahost ¤äCANNAHOST¤Ê¤É¤Ë¤è¤ê¼«Ê¬¤Î°Õ¿Þ¤È¤ÏÊ̤Τ«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤è¤¦ ¤È¤·¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£cannacheck¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢¤É¤Î¥Þ¥·¥ó¤Î¤«¤Ê ´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤«¤ò¤â¤¦°ìÅÙ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ \item UNIX¥É¥á¥¤¥ó¤Ç¤ÎÄÌ¿®¤¬¤Ç¤­¤Ê¤¤¡£ ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤·¤Æ¡¢Æ±¤¸¥Þ¥·¥ó¤Î¥µ¡¼¥Ð¤òÍѤ¤¤ë¤è¤¦¤Ë»ØÄꤷ¤Æ¤¢¤ê¡¢ ¤·¤«¤âcannaserver¤¬Æ°¤¤¤Æ¤¤¤ë¾ì¹ç¤ÏUNIX¥É¥á¥¤¥ó¤Ç¤ÎÄÌ¿®¤¬¤Ç¤­¤Ê¤¤¤³¤È ¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£¤½¤Î¸¶°ø¤È¤·¤Æ¤Ï¡¢°Ê²¼¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£ \begin{enumerate} \item /tmp¤ÎÍÆÎÌÉÔ­ /tmp¤ÎÍÆÎ̤¬ÉÔ­¤¹¤ë¤È(/tmp¤ÎÁ´ÂΤÎÍÆÎ̤Î9³ä°Ê¾å¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤¬ ¤³¤ì¤Ë¤¢¤¿¤ê¤Þ¤¹)¡¢UNIX¥É¥á¥¤¥ó¤ò¹Ô¤¦¤¿¤á¤Î \\ /tmp/.iroha\_unix/IROHA ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤»¤ó¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÏUNIX¥É¥á¥¤¥ó¤Ç¤ÎÄÌ¿®¤ò¹Ô ¤¦¤¿¤á¤Ëcannaserver¤¬ºîÀ®¤¹¤ëÆÃ¼ì¥Õ¥¡¥¤¥ë¤Ç¤¹¡£/tmp¤ÎÍÆÎ̤¬ÉÔ­¤·¤Æ¤¤ ¤ë¾ì¹ç¤Ï¡¢/tmp²¼¤ÎÎΰ褬½½Ê¬ÍѰդµ¤ì¤ë¤è¤¦¤ËÄ´À°¤·¤Æ¤¯¤À¤µ¤¤¡£ \item /tmp/.iroha\_unix/IROHA ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤ cannaserver ¤¬UNIX¥É¥á¥¤¥ó¤Ç¤ÎÄÌ¿®¤ò¹Ô¤¦ºÝ¤Ë»ÈÍѤ¹¤ëÆÃ¼ì¥Õ¥¡¥¤¥ë¤¬¡¢ ²¿¤é¤«¤Î¸¶°ø¤Çºï½ü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¤È¡¢UNIX¥É¥á¥¤ ¥ó¤Ç¤Ï¤«¤Ê´Á»úÊÑ´¹¤¬¹Ô¤¨¤Þ¤»¤ó¡£¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò°ìö½ªÎ»¤µ¤»¡¢ºÆÅ٠Ω¤Á¾å¤²Ä¾¤·¤Æ²¼¤µ¤¤¡£ \end{enumerate} \end{enumerate} \item {\dg\bf ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤¬¥Þ¥¦¥ó¥È¤Ç¤­¤Æ¤¤¤Þ¤¹¤«¡©} ¤«¤Ê´Á»úÊÑ´¹¤¬Á´¤¯¹Ô¤¨¤Ê¤¤¤È¤­¤Ï¡¢¤½¤Î¸¶°ø¤Ï´ðËܼ­½ñ¤Ç¤¢¤ë"iroha"¤¢¤ë ¤¤¤Ï"fuzokugo"¤¬¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£ cannacheck $-$v¤Ç¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤ë¼­½ñ¤òɽ¼¨¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ \begin{nquote}{1em} \begin{verbatim} % cannacheck -v ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ"/uhome/user/.canna"¤òÍѤ¤¤Þ¤¹¡£ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤Ï"/uhome/user/user.cbp"¤òÍѤ¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ"iroha" ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ"fuzokugo" ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ"hojomwd" ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ"hojoswd" ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ"yuubin" ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ"kanasample" ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¼­½ñ"software" ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ Éô¼ó¼­½ñ"bushu" ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¥µ¡¼¥Ð"wink"¤ËÀܳ¤·¤Þ¤¹¡£ \end{verbatim} \end{nquote} ¾åµ­¤Î¤è¤¦¤Ë"iroha"¤ª¤è¤Ó"fuzokugo"¤¬»ØÄꤵ¤ì¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£"iroha"¤ª¤è¤Ó"fuzokugo"¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{itemize} \item {\dg\bf ³Ø½¬¤¬¹Ô¤ï¤ì¤Ê¤¤} \begin{itemize} \item {\dg\bf (setq gakushu nil)¤È¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¤«¡©} ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç"(setq gakushu nil)"¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï³Ø½¬¤¬ ¹Ô¤ï¤ì¤Þ¤»¤ó¡£³Ø½¬¤ò¹Ô¤¤¤¿¤¤¾ì¹ç¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç¤Î¤³¤Î»ØÄê¤ò¼è ¤ê¾Ã¤¹¤«¡¢"(setq gakushu t)"¤Î¤è¤¦¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ¼­½ñ¤Î½ñ¤­¹þ¤ß¸¢¤¬¤¢¤ê¤Þ¤¹¤«¡©} ¤¿¤È¤¨¤Ð¥æ¡¼¥¶ÅÐÏ¿¤·¤¿Ã±¸ì¤¬ÉÑÅٳؽ¬¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï¥æ¡¼¥¶¼­½ñ¤Ø¤Î½ñ¤­¹þ¤ß ¸¢¤¬cannaserver¤ËÂФ·¤Æ²òÊü¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£cannaserver ¤Ï¥æ¡¼¥¶ID¤¬bin¡¢¥°¥ë¡¼¥×ID¤¬bin¤Çưºî¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¥æ¡¼¥¶¤¬ºîÀ® ¤·¤¿¼­½ñ¤Ë¤Ä¤¤¤Æ¤Ï¼­½ñ¤Î¥ª¡¼¥Ê¤òbin¤Ë¤·¤Æ¥ª¡¼¥Ê¤ËÂФ¹¤ë½ñ¤­¹þ¤ß¸¢¤ò²òÊü ¤¹¤ë¤«¡¢¼­½ñ¤Î¥°¥ë¡¼¥×¤òbin¤Ë¤·¤Æ¥°¥ë¡¼¥×¤ËÂФ¹¤ë½ñ¤­¹þ¤ß¸¢¤ò²òÊü¤¹ ¤ë¤«¤·¤Æ¤¯¤À¤µ¤¤¡£¥æ¡¼¥¶¼­½ñ¤Ï¥ª¡¼¥Ê¤ò¤½¤Î¥æ¡¼¥¶¼«¿È¤È¤·¡¢¥°¥ë¡¼¥×¤ò bin¤È¤·¤Æ¥â¡¼¥É¤ò664¤Þ¤¿¤Ï660¤Ë¤¹¤ë¤Î¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ \item {\dg\bf ¥Ð¥¤¥Ê¥ê¼­½ñ¤ò¹¹¿·¤·¤¿¤È¤­¤Ëmkdic¤ò¹Ô¤¤¤Þ¤·¤¿¤«? } OS¤Î¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤Ê¤É¤ò¹Ô¤Ã¤Æ¥Ð¥¤¥Ê¥ê¼­½ñ¤¬¹¹¿·¤µ¤ì¤¿¤È¤­¤Ë¤Ï ¸Ä¿ÍÊ̳ؽ¬¤â¹¹¿·¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤½¤ì¤Þ¤Ç¸Ä¿ÍÊ̳ؽ¬¤ò¹Ô¤Ã¤Æ¤¤¤¿¾ì¹ç¡¢OS¤Î¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¸å¤Ë ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤òmkdic¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆºîÀ®¤·Ä¾¤µ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ ³Ø½¬¤¬¹Ô¤ï¤ì¤Þ¤»¤ó¡£ \item {\dg\bf ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¤«¡©} mkdic¤Ë¤Æ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤ß¸¢¤¬¤¢¤ê¤Þ¤¹¤«¡©} ¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤Ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î½ñ¤­¹þ¤ß¸¢¤ò²òÊü¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ¸Å¤¤¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤Þ¤»¤ó¤«¡©} ¸Å¤¤¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð(irohaserver)¤Ç¤Ï¸Ä¿ÍÊ̳ؽ¬¤Ï¤Ç¤­¤Þ¤»¤ó¡£ \end{itemize} \item {\dg\bf ñ¸ì¤¬ÅÐÏ¿¤Ç¤­¤Ê¤¤} \begin{itemize} \item {\dg\bf ñ¸ìÅÐÏ¿ÍѤμ­½ñ¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤«¡©} \HELP ¥­¡¼¤ò²¡¤·¤Æ¡¢¼­½ñÁàºî¡¦Ã±¸ìÅÐÏ¿¤òÁªÂò¤·¤¿»þÅÀ¤Ç "ñ¸ìÅÐÏ¿ÍѼ­½ñ ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" ¤Þ¤¿¤Ï¡¢ "¥æ¡¼¥¶¼­½ñ¤¬»ØÄê ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" ¤È·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬½Ð¤ë¾ì¹ç¤Ïñ¸ìÅÐÏ¿ÍѤμ­½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ ¤»¤ó¡£ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÍѤ¤¤ÆÃ±¸ìÅÐÏ¿ÍѼ­½ñ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£Ã±¸ìÅÐÏ¿ ÍѼ­½ñ¤Î»ØÄê¤Î¾ÜºÙ¤Ï {\dg\bf \ref{3.3.2»ÈÍѤ¹¤ë¼­½ñ¤Î»ØÄê} \hpref{count=9,label=H0.4.2.0.0} »ÈÍѤ¹¤ë¼­½ñ¤Î»ØÄê} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ½ñ¤­¹þ¤á¤Ê¤¤¼­½ñ¤òñ¸ìÅÐÏ¿ÍѼ­½ñ¤È¤·¤Æ»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¤«¡©} ¤³¤Î¾ì¹ç¤Ïñ¸ìÅÐÏ¿¤ÎºÇ¸å¤Ç¼­½ñ¤ò»ØÄꤷ¤¿¸å"ñ¸ìÅÐÏ¿¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿" ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¸¶°ø¤¬ 2 ¤Ä¹Í¤¨¤é¤ì¤Þ¤¹¡£ 1 ¤Ä¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤·¤Æ¡Ø¤«¤ó¤Ê¡Ù¤Î Version 3.2 ¤è¤êÁ°¤Î¤«¤Ê ´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢Ã±¸ìÅÐÏ¿ÍѼ­½ñ¤È¤·¤Æ¥Ð¥¤¥Ê¥ê¼­½ñ¤ò »ØÄꤷ¤Æ¤¤¤¿¾ì¹ç¤Ç¤¹¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Î Version 3.2 ¤è¤êÁ°¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ç¤Ï¡¢Ã±¸ìÅÐÏ¿ÍѼ­ ½ñ¤È¤·¤Æ»ÈÍѤǤ­¤ë¤Î¤Ï¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤À¤±¤Ç¤¹¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤¦ 1 ¤Ä¹Í¤¨¤é¤ì¤ë¤Î¤ÏÅÐÏ¿¤ÎÂоݼ­½ñ¤È¤·¤Æ»ØÄꤵ¤ì¤¿¼­½ñ¤Î½ñ¤­¹þ¤ß¸¢¤¬ cannaserver¤ËÂФ·¤Æ²òÊü¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£¼­½ñ¤Î¥â¡¼¥É¤Ë´Ø¤·¤Æ¤Ï³Ø ½¬¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¤ÈƱÍͤËÂн褷¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ñ¸ìÅÐÏ¿ÍѼ­½ñ¤Ë {\tt WRITE} ¸¢¤Ï¤Ä¤¤¤Æ¤¤¤Þ¤¹¤«¡©} ¡Ø¤«¤ó¤Ê¡Ù Version 3.2 ¤«¤é¼­½ñ¤Î¥»¥­¥å¥ê¥Æ¥£¶¯²½¤Î¤¿ ¤á¡¢¼­½ñ¤Î {\tt READ¡¦WRITE} ¸¢¤¬ÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¼­½ñ¤Ë {\tt WRITE} ¸¢¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ïñ¸ìÅÐÏ¿¤¬¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢ chmoddic(1) ¤Ç¼­½ñ¤Ë {\tt WRITE} ¸¢¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£¼­½ñ¤Î {\tt READ¡¦WRITE} ¸¢¤Î¾Ü ºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢{\dg\bf \ref{3.4¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¼­½ñ} \hpref{count=9,label=H0.5.0.0.0} ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ chmoddic(1) ¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ {\dg\bf \ref{4¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£} \hpref{count=13,label=H0.6.0.0.0} ¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£} ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{itemize} \item {\dg\bf Éô¼óÊÑ´¹¤¬¹Ô¤¨¤Ê¤¤} \begin{itemize} \item {\dg\bf Éô¼ó¼­½ñ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¤«¡©} Éô¼óÊÑ´¹¤¬¹Ô¤¨¤Ê¤¤¤Î¤ÏÉô¼óÊÑ´¹¼­½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤¬¸¶°ø¤Ç¤¢¤ë¤È»× ¤ï¤ì¤Þ¤¹¡£¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç¥­¡¼¥ï¡¼¥É :bushu ¤ÇÉô¼ó¼­ ½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{itemize} \item {\dg\bf Ã༡¼«Æ°ÊÑ´¹¤Ç¤­¤Ê¤¤(ϢʸÀáÊÑ´¹¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦)¡£} ³ÈÄ¥µ¡Ç½¤ÎÊÑ´¹Êý¼°¤Ç¡¢Ã༡¼«Æ°ÊÑ´¹¤ËÀÚ¤êÂØ¤¨¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤Ç¤â¡¢Ã༡¼«Æ°ÊÑ´¹¤Ë¤Ê¤é¤Ê¤¤¾ì¹ç¤Ï°Ê²¼¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{itemize} \item {\dg\bf ¥«¥¹¥¿¥Þ¥¤¥º¤Ç(setq auto nil)¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¤«¡©} ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ¸Å¤¤¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤Þ¤»¤ó¤«¡©} ¸Å¤¤¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð(irohaserver)¤Ç¤ÏÃ༡¼«Æ°ÊÑ´¹¤Ï¤Ç¤­¤Þ¤»¤ó¡£ \end{itemize} \item {\dg\bf ¥­¡¼¤ÎÆþÎϤ¬¤Ç¤­¤Ê¤¤} \begin{itemize} \item {\dg\bf ¥Þ¥ë¥Á¥·¡¼¥±¥ó¥¹¤Ç³ä¤êÅö¤Æ¤Æ¤¢¤ë¥­¡¼¤ò²¡¤·¤Þ¤»¤ó¤Ç¤·¤¿¤«¡©} ¥Þ¥ë¥Á¥·¡¼¥±¥ó¥¹¤Ç³ä¤êÅö¤Æ¤Æ¤¢¤ë(¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤ë)¥­¡¼¤ò²¡¤·¤Æ¤·¤Þ¤¦¤È¥­¡¼¥·¡¼¥±¥ó¥¹ÆþÎϾõÂ֤ˤʤäƤ·¤Þ¤¤¤Þ¤¹¡£¸í¤Ã¤Æ¤³¤Î¤è¤¦¤Ê¾õÂ֤ˤʤäƤ·¤Þ¤Ã¤¿¤È¤­¤Ï¡¢quit(¼è¤ê¤ä¤á)¤ò³ä¤ê¤¢¤Æ¤Æ¤¢¤ë¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤¦¤¹¤ì¤Ð¡¢¥­¡¼¥·¡¼¥±¥ó¥¹ÆþÎϾõÂÖ¤«¤éÈ´¤±½Ð¤Æ°ìÈ̤Υ­¡¼ÆþÎϤ¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ïquit¤Ï \CTRL + \fbox{g}¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ \end{itemize} \item {\dg\bf ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î"¤ó"¤ÎÊÑ´¹¤¬º£¤Þ¤Ç¤È¤Á¤¬¤¦} ¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¤«¤é¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤Î"¤ó"¤ÎÊÑ´¹¤¹¤ë¥ë¡¼¥ë¤¬ Êѹ¹¤Ë¤Ê¤ê¤Þ¤·¤¿¡£½¾Íè¤ÎÊÑ´¹¤É¤ª¤ê¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢»ÈÍѤ·¤Æ¤¤¤ë¥í¡¼¥Þ»ú ¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ç¥Õ¥©¥ë¥È¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¤â¤Î "\refCANNALIBDIR /sample/src/default.ctd" ¤òÊѹ¹¤·¤Æ¡¢¥Ð¥¤¥Ê¥ê¤ËÊÑ´¹¤·¤¿¤â¤Î¤ò»ÈÍѤ· ¤Æ¤¯¤À¤µ¤¤¡£ ¾ÜºÙ¤Ï¡¢ {\dg\bf \ref{3.3.3¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÀßÄê} \hpref{count=15,label=H0.4.3.0.0} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÀßÄê} ¡¢ {\dg\bf \ref{3.3.4¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥«¥¹¥¿¥Þ¥¤¥º} \hpref{count=19,label=H0.4.4.0.0} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥«¥¹¥¿¥Þ¥¤ ¥º} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{enumerate} \section{¥«¥¹¥¿¥Þ¥¤¥º¤Ëȼ¤¦¾É¾õ} \label{3.5.4¥«¥¹¥¿¥Þ¥¤¥º¤Ëȼ¤¦¾É¾õ} \begin{enumerate} \item {\dg\bf ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë½ñ¤¤¤¿¤³¤È¤Ë¸ú²Ì¤¬¤Ê¤¤} \begin{itemize} \item {\dg\bf ¥¨¥Ç¥£¥Ã¥È¤·¤Æ¤¤¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¬¼ÂºÝ¤ËÍѤ¤¤é¤ì¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤«¡©} ¤É¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¬»È¤ï¤ì¤ë¤«¤Ïcannacheck¥³¥Þ¥ó¥É$-$v¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ÆÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ \begin{nquote}{1em} \begin{verbatim} % cannacheck -v ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ"/uhome/user/.canna"¤òÍѤ¤¤Þ¤¹¡£ ¡Ä¡Ä \end{verbatim} \end{nquote} ¤³¤³¤Çɽ¼¨¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤È¥¨¥Ç¥£¥Ã¥È¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬Æ±¤¸¤â¤Î¤Ç¤¢¤ë¤«¤É¤¦¤«Ä´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ¥Ð¡¼¥¸¥ç¥ó¤Î°ã¤¦¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¤«¡©} ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 1.2¤Þ¤Ç¤Ï .iroha¤È¤¤¤¦¥Õ¥¡¥¤¥ë ¤Ç¤·¤¿¤¬¡¢¡Ø¤«¤ó¤Ê¡ÙVersion 2.1¤«¤é¤Ï¡¢.canna¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ËÊѹ¹¤Ë¤Ê ¤ê¤Þ¤·¤¿¡£ »ÈÍѤ·¤Æ¤¤¤ëÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë±þ¤¸¤¿¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ¥«¥¹¥¿¥Þ¥¤¥º¤ÇÀßÄꤷ¤¿¹àÌܤ¬¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¸å¤í¤ÎÊý¤ÇÂǤÁ¾Ã¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤«¡©} ¥«¥¹¥¿¥Þ¥¤¥º¤Î¸ú²Ì¤¬É½¤ì¤Ê¤¤Ê̤θ¶°ø¤È¤·¤Æ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¸å¤í¤Î Êý¤ÇÀßÄê¤òÂǤÁ¾Ã¤·¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð°Ê²¼¤Îµ­½Ò¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ \begin{verbatim} (set-key 'yomi-mode "\C-l" 'henkan) ¡¡¡¦¡¦¡¦¡¦ (global-set-key "\C-l" 'forward) \end{verbatim} ¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢ÆÉ¤ßÆþÎϥ⡼¥É¤ÇÀßÄꤷ¤¿C$-$l¤¬¸å¤í¤ÎÊý¤ÎÀßÄê¤ÇÂǤÁ¾Ã ¤µ¤ì¤Æ¤·¤Þ¤¤·ë¶ÉC$-$l¤ÏÆÉ¤ßÆþÎϥ⡼¥É¤Ç¤â±¦°Üư¥­¡¼¤È¤·¤Æ»È¤ï¤ì¤ë¤³¤È ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤¹¤Ù¤Æ¤Î¥â¡¼¥É¤Ë±Æ¶Á¤¹¤ë¥­¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ÏºÇ½é¤ÎÊý¤Ëµ­½Ò¤·¡¢ÆÃÄê¤Î¥â¡¼ ¥É¤Ë¸ÂÄꤷ¤¿¥­¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Ï¸å¤í¤ÎÊý¤Ëµ­½Ò¤¹¤ë¤Î¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ \item {\dg\bf ¥«¥¹¥¿¥Þ¥¤¥º¤ÇÀßÄꤷ¤¿¥­¡¼¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ê¤É¤ÇÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤»¤ó¤«¡©} ºÇ¸å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤ê¥­¡¼¤¬Ã¥¤ï¤ì¤Æ¤·¤Þ¤¦Îã¤ò¼¨¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Êµ­½Ò¤òÆþ¤ì¤¿¤È¤·¤Þ¤¹¡£ \begin{nquote}{1em} \begin{verbatim} (global-set-key "\C-s" 'next) (global-set-key "\C-q" 'previous) \end{verbatim} \end{nquote} ¤³¤ì¤òcanuum¤Ç»È¤ª¤¦¤È¤·¤Æ¤âTTY¥É¥é¥¤¥Ð¤¬Àè¤ËC$-$s¡¢C$-$q¤òXON/XOFF¤Î ¤¿¤á¤Îʸ»ú¤È²ò¼á¤·»È¤Ã¤Æ¤·¤Þ¤¦¤¿¤ácanuumÆâÉô¤Î¤«¤Ê´Á»úÊÑ´¹Éôʬ¤Ë¤Þ¤Ç¤³ ¤ì¤é¤Î¥­¡¼¤¬ÅÁ¤ï¤ê¤Þ¤»¤ó¡£ ¾¤ÎÎã¤Ç¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ \HELP ¥­¡¼¤ä \INS ¥­¡¼¤ËÆÃÊ̤νèÍý¤ò³ä¤êÅö¤Æ¤Æ¤¤¤ë¾ì¹ç¤Ë¤â¤«¤Ê´Á»úÊÑ´¹¤Ç¤Ï¤³¤ì¤é¤Î¥­¡¼¤¬»È¤ï¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{itemize} \item {\dg\bf ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¸ú²Ì¤¬¤Ê¤¤} \begin{itemize} \item {\dg\bf ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï¥Ð¥¤¥Ê¥ê·Á¼°¤ÇÍ¿¤¨¤Æ¤¤¤Þ¤¹¤«¡©} ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¥¨¥Ç¥£¥Ã¥È¤·¤¿¸å¤Çmkromdic(1)¤Ë¤è¤ê¥í¡¼¥Þ»ú ¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¥Ð¥¤¥Ê¥ê·Á¼°¤ËÊÑ´¹¤·¤Æ¤¤¤Þ¤¹¤«¡©¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë ¤Ï¥Ð¥¤¥Ê¥ê·Á¼°¤Î¤â¤Î¤Î¤ßÍ­¸ú¤Ç¤¹¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf ¥¨¥Ç¥£¥Ã¥È¤·¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤È¼ÂºÝ¤Ë»È¤ï¤ì¤ë¥Æ¡¼¥Ö¥ë¤¬Æ±¤¸¤Ç¤¹¤«¡©} ¥¨¥Ç¥£¥Ã¥È¤·¤Æ¤¤¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤È¼ÂºÝ¤Ë»È¤ï¤ì¤ë¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ ¥Æ¡¼¥Ö¥ë¤¬°ìÃפ·¤Æ¤¤¤Ê¤¤¾ì¹ç¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£cannacheck $-$v¤Ë¤è¤ê¤É¤Î¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬»È¤ï¤ì¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ »ÈÍѤ·¤Æ¤¤¤ëÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤¬¡Ø¤«¤ó¤Ê¡ÙVersion 1.2°ÊÁ°¤Î¾ì¹ç¤Ï¡¢µì ·Á¼°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤·¤«»ÈÍѤǤ­¤Þ¤»¤ó¡£ \end{itemize} \item {\dg\bf ¥Ð¥¤¥Ê¥ê¼­½ñ¤¬¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤} \begin{itemize} \item {\dg\bf ¥Ð¥¤¥Ê¥ê¼­½ñ¤ò¹¹¿·¤·¤¿¤È¤­¤Ëmkdic¤ò¹Ô¤¤¤Þ¤·¤¿¤«? } OS¤ä¤«¤ó¤Ê¤Î¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤Ê¤É¤ò¹Ô¤Ã¤Æ¥Ð¥¤¥Ê¥ê¼­½ñ¤¬¹¹¿·¤µ¤ì¤ë¤È¡¢¸Ä ¿ÍÊ̳ؽ¬¼­½ñ¤È¤ÎÀ°¹çÀ­¤¬¼º¤ï¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤½¤ì¤Þ¤Ç¸Ä¿ÍÊ̳ؽ¬¤ò¹Ô¤Ã¤Æ¤¤¤¿¾ì¹ç¡¢OS¤ä¤«¤ó¤Ê¤Î¥Ð¡¼¥¸¥ç¥ó ¥¢¥Ã¥×¸å¤Ë¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤òmkdic¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆºîÀ®¤·Ä¾¤µ¤Ê¤«¤Ã¤¿ ¾ì¹ç¤Ë¤Ï¡¢¼­½ñ¤¬¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¡£ \end{itemize} \item {\dg\bf ¥æ¡¼¥¶¼­½ñ¤¬¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤} \begin{itemize} \item {\dg\bf ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Þ¤¹¤«¡©} ¥æ¡¼¥¶¼­½ñ¤ÏÀܳ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì ¥¯¥È¥ê¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¼¡¤Î¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{enumerate} \item cannacheck $-$v¤Ë¤Æ¡¢¼«Ê¬¤¬¤É¤Î¥Û¥¹¥È¤Çư¤¤¤Æ¤¤¤ë¥µ¡¼¥Ð¤ò»È¤Ã¤Æ ¤¤¤ë¤Î¤«¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ \item cannastat ¤Ë¤Æ¡¢¼«Ê¬¤¬Àܳ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¥Á¥§¥Ã¥¯¤· ¤Æ¤¯¤À¤µ¤¤¡£ \item ¤½¤Î¥Û¥¹¥È¤Ë¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤¹¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù Version 3.2 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ "\refCANNALIBDIR/dic/¥æ¡¼¥¶Ì¾" ¤Ç ¤¹¤¬¡¢ Version 3.2 ¤«¤é¤Ï "\refCANNALIBDIR/\\dic/user/¥æ¡¼¥¶Ì¾" ¤Ë¤Ê¤Ã¤Æ ¤¤¤Þ¤¹¡£ \item ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Î dics.dir ¤Ë»ØÄꤷ¤¿¼­½ñ̾¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¤«¡© \end{enumerate} \end{itemize} \item {\dg\bf ¥°¥ë¡¼¥×¼­½ñ¤¬¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤} \begin{itemize} \item {\dg\bf ¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ 3.2 °Ê¾å¤Ç¤¹¤«¡©} ¥°¥ë¡¼¥×¼­½ñ¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù¤Î Version 3.2 ¤«¤é»ÈÍѤǤ­¤Þ¤¹¡£¥µ¡¼¥Ð¡¦¥¯ ¥é¥¤¥¢¥ó¥È¤È¤â¤Ë¡Ø¤«¤ó¤Ê¡Ù¤Î Version 3.2 °Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ \howversion \item {\dg\bf ¥°¥ë¡¼¥×¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Þ¤¹¤«¡©} ¥°¥ë¡¼¥×¼­½ñ¤ÏÀܳ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥°¥ë¡¼¥×¼­½ñ¥Ç¥£¥ì ¥¯¥È¥ê¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¼¡¤Î¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{enumerate} \item cannacheck $-$v¤Ë¤Æ¡¢¼«Ê¬¤¬¤É¤Î¥Û¥¹¥È¤Çư¤¤¤Æ¤¤¤ë¥µ¡¼¥Ð¤ò»È¤Ã¤Æ ¤¤¤ë¤Î¤«¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ \item ¤½¤Î¥Û¥¹¥È¤Ë¥°¥ë¡¼¥×¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤¹¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥°¥ë¡¼¥×¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢"\refCANNALIBDIR/dic/group/¥°¥ë¡¼¥×̾" ¤Ë¤Ê¤Ã¤Æ ¤¤¤Þ¤¹¡£ \item ¥°¥ë¡¼¥×¼­½ñ¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Î dics.dir ¤Ë»ØÄꤷ¤¿¼­½ñ̾¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¤«¡© \end{enumerate} \end{itemize} \end{enumerate} \newpage \section{¥·¥¹¥Æ¥à´ÉÍý´Ø·¸¤Î¾É¾õ} \label{3.5.5¥·¥¹¥Æ¥à´ÉÍý´Ø·¸¤Î¾É¾õ} \begin{enumerate} \item {\hptar{label=H0.8.5.0.0.1}\dg\bf cannaserver ¤¬µ¯Æ°¤Ç¤­¤Ê¤¤} \begin{itemize} \item {\dg\bf ¾¤Î cannaserver ¤¬Æ°¤¤¤Æ¤¤¤Þ¤»¤ó¤«¡©} cannaserver ¤Ï½ÅÊ£¤·¤¿µ¯Æ°¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ µ¯Æ°¤µ¤»¤è¤¦¤È¤·¤Æ¤¤¤ë\\ cannaserver ¤¬ ¤¹¤Ç¤Ëµ¯Æ°¤·¤Æ¤¤¤Ê¤¤¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf /tmp/.iroha\_unix/IROHA ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó¤«¡©} cannaserver ¤ÏUNIX¥É¥á¥¤¥ó¤ÎÄÌ¿®ÍѤˡ¢/tmp/.iroha\_unix/IROHA ¤È¤¤¤¦ÆÃ¼ì¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¤¬¡¢¤Ê¤ó¤é¤«¤Î¾ã³²¤Ë¤è¤êcannaserver ¤¬½ªÎ»¤·¤Æ¤âÆÃ¼ì¥Õ¥¡¥¤¥ë¤¬»Ä¤Ã¤¿¤Þ¤Þ¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ÆÃ¼ì¥Õ¥¡¥¤¥ë¤¬»Ä¤Ã¤¿¤Þ¤Þ¤À¤È¡¢¼¡¤Ë¥µ¡¼¥Ð¤òµ¯Æ°¤·¤¿»þ¤ËÆÃ¼ì¥Õ¥¡¥¤¥ë¤Îºî À®¤Ë¼ºÇÔ¤·¤Æ¥µ¡¼¥Ð¤¬µ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢ÆÃ¼ì¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤«¤é cannaserver ¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ ÆÃ¼ì¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ëºÝ¤Ë¡¢¸í¤Ã¤ÆÂ¾¤ÎÆÃ¼ì¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¤È¡¢ ¤½¤ÎÆÃ¼ì¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¤¤¤¿¥µ¡¼¥Ð¤Ï¡¢ UNIX¥É¥á¥¤¥ó¤ÇÄÌ¿®¤¬¹Ô ¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ps¥³¥Þ¥ó¥É¤Ç cannaserver ¤Îµ¯Æ°¾õÂÖ¤ò½½Ê¬¤Ë³Îǧ¤Î¾å¡¢ µ¯Æ°¤·¤Æ¤¤¤Ê¤¤ cannaserver ¤ÎÆÃ¼ì¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ²¼¤µ¤¤¡£ \item {\dg\bf cannaserver¤ËÀµÅö¤Ê¥ª¡¼¥Ê¡¢¥°¥ë¡¼¥×¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤¬Í¿¤¨¤Æ¤¢¤ê¤Þ¤¹¤«¡©} cannaserver ¤Ïµ¯Æ°»þ¤Ë \texttt{-u} ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¥æ¡¼¥¶¤Î¥æ¡¼¥¶ ¸¢¸Â¡¦¥°¥ë¡¼¥×¸¢¸Â¤Çưºî¤·¤Þ¤¹¡£µ¯Æ°»þ¥ª¥×¥·¥ç¥ó¤ò³Îǧ¤·¤Æ¡¢¥æ¡¼¥¶ \textbf{bin}¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¤Ê¤ª¡¢¤½¤ì¤¾¤ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤âÉÔÀµ¤Î¾ì¹ç¡¢¤¦¤Þ¤¯Æ°ºî¤· ¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ \end{itemize} \end{enumerate} Canna37p3/doc/man/guide/tex/library.tex0100644000076500001200000011565207727326134017275 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: library.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{¤«¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê} \label{5¤«¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê} \section{¥é¥¤¥Ö¥é¥ê³µÀâ} \subsection{¥é¥¤¥Ö¥é¥ê¤È³¬ÁØ} ¡Ø¤«¤ó¤Ê¡Ù¤Ç¤Ï¡¢ \HIDX{¤«¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê}{¤«¤Ê¤«¤ó¤·¤Ø¤ó¤«¤ó¤é¤¤¤Õ¤é¤ê}{H0.9.0.0.0} ¤È¤·¤Æ°Ê²¼¤Î 2 ¤Ä¤Î¥é¥¤¥Ö¥é¥ê¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ \begin{itemize} \item {¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê} 1 ʸ»ú¤ÎÆþÎÏ¡¢1 ¥­¡¼¤ÎÆþÎϤËÂбþ¤·¤Æ¡¢Ì¤³ÎÄêʸ»úÎó¡¢³ÎÄêʸ»úÎó¡¢ÃíÌÜʸÀá °ÌÃÖ¡¢¥¹¥Æ¡¼¥¿¥¹É½¼¨¤Î¤¿¤á¤Îʸ»úÎ󡢸õÊä°ìÍ÷¤Î¤¿¤á¤Îʸ»úÎó¤Ê¤É¤òÊÖ´Ô¤¹ ¤ë¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£Äã¥ì¥Ù¥ë¤«¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê¤Ë¸«¤é¤ì¤ë¤è¤¦¤Ê¼­½ñ ¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¤ä¡¢³Ø½¬¤ÎÀ©¸æ¤Ê¤É¤Ë´Ø¤¹¤ëµ¡Ç½¤Ï¡¢¤³¤Î¥é¥¤¥Ö¥é¥ê ¤Ç¤ÏÄ󶡤·¤Þ¤»¤ó¡£ÆüËܸìÆþÎϥ桼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÂç¤Þ¤«¤Ê¥é¥¤¥ó¤Ïµ¬Äê ¤µ¤ì¤Þ¤¹¤¬¡¢É½¼¨Éôʬ¤Ë¼ã´³¤Î¹©Éפò¤¹¤ë;ÃϤϻĤê¤Þ¤¹¡£X ¥¦¥£ ¥ó¥É¥¦¤Ë¤ª¤¤¤Æ¡¢¿Þ·Á¤Èʸ»ú¤òƱ¤¸¥¦¥£¥ó¥É¥¦Æâ¤ÇÆþÎÏ/ɽ¼¨¤·¤¿¤¤¥¢¥×¥ê¥±¡¼ ¥·¥ç¥ó¤Ï¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÍѤ¤¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ \item {RK¥é¥¤¥Ö¥é¥ê} ¼­½ñ¤Î¥¢¥¯¥»¥¹¤ä¸õÊä¤ÎÁªÂò¤òľÀÜÀ©¸æ¤·¤¿¤¤¤È¤­¤ËÍѤ¤¤Þ¤¹¡£¤³¤Î¥ì¥Ù¥ë¤Î¤« ¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¤ÎÍøÍѳ«»Ï¡¢ÆÉ¤ß¤«¤é´Á»ú ¤Ø¤ÎÊÑ´¹¡¢Ê¸Àá¤ÎÀÚ¤êʬ¤±¤ÎÊѹ¹¡¢¼¡¸õÊä/Á°¸õÊä¤Î¼è¤ê½Ð¤·¡¢³Ø½¬¤ÎÀ©¸æ¡¢ ¼­½ñ¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¤Ê¤É¤Î½èÍý¤ËÂФ¹¤ë´Ø¿ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£Äã ¥ì¥Ù¥ë¥é¥¤¥Ö¥é¥ê¤ÏÃæ¥ì¥Ù¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ä¹â¥ì¥Ù¥ë¥¢¥× ¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤¹¡£°ìÈ̤Υ桼 ¥¶¤ÏÍѤ¤¤Ê¤¤¤Û¤¦¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ \end{itemize} \subsection{¥é¥¤¥Ö¥é¥ê¤È¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ} \label{5.1.1¥é¥¤¥Ö¥é¥ê¤È¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ} ËÜ¥·¥¹¥Æ¥à¤Ï¡¢¥é¥¤¥Ö¥é¥ê 1 ¤Ä¤È¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë 2 ¤Ä¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ ¤½¤ì¤¾¤ì¤Î¾ÜºÙ¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£ \begin{itemize} \item {\dg\bf ¥é¥¤¥Ö¥é¥ê} \begin{tabular}{lp{1.7cm}p{12.8cm}} (1) & libcanna.$\ast$ & ÆüËܸìÆþÎϤΤ¿¤á¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£\\ \end{tabular} \HIDXAS{libcanna.$\ast$\/}{£Ì£É£Â£Ã£Á£Î£Î£Á¡¥¡ö}{H0.9.1.2.0} \item {\dg\bf ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë} \begin{tabular}{lp{1.7cm}p{12.8cm}} (1) & \HIDX{jrkanji.h}{£Ê£Ò£Ë£Á£Î£Ê£É¡¥£È}{H0.9.1.2.0.a}\hptar{label=H0.9.1.2.0.a} & (\CANNAINCLUDEDIR) TTY¥ì¥Ù¥ë¤ÎÆüËܸì¤ÎÆþ½ÐÎϤò¹Ô¤¦¤È¤­¤ËɬÍפʥإåÀ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£\\ (2) & \HIDX{RK.h}{£Ò£Ë¡¥£È}{H0.9.1.2.0.b}\hptar{label=H0.9.1.2.0.b} & (\CANNAINCLUDEDIR) RK¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¤È¤­É¬ÍפʥإåÀ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£\\ \end{tabular} \end{itemize} ²¼É½¤Î´Ø¿ô¤òÍøÍѤ¹¤ë¾ì¹ç¤Ï¡¢É½¤Ë¼¨¤¹¥é¥¤¥Ö¥é¥ê¤ò¥ê¥ó¥¯¤·¡¢ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£ \vspace{10mm} \begin{center} \begin{tabular}{|c|c|c|} \hline ´Ø¡¡¡¡¡¡¡¡¡¡¿ô & ¥é¥¤¥Ö¥é¥ê & ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë\\ \hline jrKanjiString & libcanna.$\ast$ & canna/jrkanji.h\\ \hline RK¥é¥¤¥Ö¥é¥ê & libcanna.$\ast$ & canna/RK.h\\ \hline \end{tabular} \end{center} \vspace{10mm} { \begin{nquote}{1em} \begin{namelist}{Ãí} \item [Ãí°Õ] ¥é¥¤¥Ö¥é¥ê̾¤Î ".$\ast$" ¤Ï¡¢".a"¡¢".so" ¤Ê¤É¤òɽ¤·¤Þ¤¹¡£ \end{namelist} \end{nquote} } \subsection{\HIDX{libcanna »ÈÍÑ»þ¤ÎÃí°Õ} {£Ì£É£Â£Ã£Á£Î£Î£Á¤·¤è¤¦¤·¤Î¤Á¤æ¤¦¤¤}{H0.9.1.3.0}»ö¹à} libcanna.$\ast$ ¤ò¥ê¥ó¥¯¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºîÀ®¤¹¤ëºÝ¤Ë¤Ï¡¢ °Ê²¼¤ÎÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{itemize} \item libucb ¤È libcanna ¤ÏƱ»þ¤Ë¥ê¥ó¥¯¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢\verb+/usr/ucb/cc+ ¤òÍѤ¤¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¤ä¡¢libucb ¤òÌÀ¼¨Åª¤Ë¥ê¥ó¥¯¤¹¤ë¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢ libcanna ¤ò¥ê¥ó¥¯¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ \item libcanna ¤ÎÄ󶡤¹¤ë´Ø¿ô¤Ï¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢EWS-UX/V(Rel4.2MP), UP-UX/V(Rel4.2MP) ¤Ë¤ª¤¤¤Æ¥Þ¥ë¥Á¥¹¥ì¥Ã¥Éµ¡Ç½¤ò ÍѤ¤¤ë¾ì¹ç¡¢libcanna ¤ÇÄ󶡤¹¤ë´Ø¿ô¤Ïñ°ì¤Î¥¹¥ì¥Ã¥É¤«¤é¤Î¤ß¸Æ¤Ó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{itemize} \newpage \section{¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê} \label{5.2Ãæ¥ì¥Ù¥ë¤Î¥é¥¤¥Ö¥é¥ê} \HIDX{¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê}{¤æ¡¼¤µ¤¤¤ó¤¿¤Õ¤¨¡¼¤¹¤é¤¤¤Õ¤é¤ê} {H0.9.2.0.0}¤Ï¡¢ 1 ʸ»ú¤ÎÆþÎÏ¡¢1 ¥­¡¼¤ÎÆþÎϤËÂбþ¤·¤Æ¡¢Ì¤³ÎÄêʸ»úÎó¡¢³ÎÄêʸ»úÎó¡¢ ÃíÌÜʸÀá°ÌÃÖ¡¢¥¹¥Æ¡¼¥¿¥¹É½¼¨¤Î¤¿¤á¤Îʸ»úÎ󡢸õÊä°ìÍ÷¤Î¤¿¤á¤Î ʸ»úÎó¤Ê¤É¤òÊÖ´Ô¤¹¤ë¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï¡¢ÊÖ´Ô¤µ¤ì¤¿¾ðÊó¤Ë¤è¤Ã¤ÆÉ½¼¨¤·¤Þ¤¹¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï¡¢¥­¡¼ÆþÎϰʳ°¤Î¥È¥ê¥¬¡¼ (¤¿¤È¤¨¤Ð¥Þ¥¦¥¹¤Ë¤è¤ëÁªÂò¤Ê¤É)¤Ë¤è¤Ã¤Æ¥â¡¼¥É¤ÎÁ«°Ü¤òÀ©¸æ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ï¡¢jrKanjiString ¤Ê¤É¤ÎÈÆÍÑ¥Ù¡¼¥¹¤Î´Ø¿ô¤ò Ä󶡤·¤Þ¤¹¡£ ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Î´Ø¿ô¤È¡¢¤½¤Î´Ø¿ô¤ò»ÈÍѤ¹¤ëºÝ¤ËɬÍפʥե¡¥¤¥ë¤ò ɽ\ref{¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ª¤è¤Ó¤½¤Î¥Õ¥¡¥¤¥ë°ìÍ÷}¤Ë¼¨¤·¤Þ¤¹¡£ {\small \begin{table}[hbtp] \begin{center} \caption{¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ª¤è¤Ó¤½¤Î¥Õ¥¡¥¤¥ë°ìÍ÷} \label{¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ª¤è¤Ó¤½¤Î¥Õ¥¡¥¤¥ë°ìÍ÷} \begin{tabular}{|c|c|c|c|c|} \hline ÍÑ¡¡¡¡ÅÓ & ʸ»ú¥³¡¼¥É & ´Ø¡¡¡¡¡¡¿ô & ¥é¥¤¥Ö¥é¥ê & ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë\\ \hline & & jrKanjiString & & \\ \cline{3-3} & EUC & jrKanjiControl & & \\ \cline{3-3} & & jrCloseKanjiContext & & \\ \cline{2-3} & ¥ï¥¤¥É & wcKanjiString & & \\ \cline{3-3} ÈÆ¡¡¡¡ÍÑ & ¥­¥ã¥é¥¯¥¿ & wcKanjiControl & libcanna.$\ast$ & canna/jrkanji.h\\ \cline{3-3} & & wcCloseKanjiContext & & \\ \cline{2-3} & & kanjiInitialize & & \\ \cline{3-3} & ¶¦¡¡ÄÌ & kanjiFinalize & & \\ \cline{3-3} & & createKanjiContext & & \\ \hline \end{tabular} \end{center} \end{table} } \begin{nquote}{1em} \begin{namelist}{Ãí} \item [Ãí°Õ] ¥é¥¤¥Ö¥é¥ê̾¤Î ".$\ast$" ¤Ï¡¢".a"¡¢".so" ¤Ê¤É¤òɽ¤·¤Þ¤¹¡£ \end{namelist} \end{nquote} % 9.2.1 \subsection{Äó¶¡µ¡Ç½} \HIDXAS{¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Îµ¡Ç½}{¤æ¡¼¤µ¤¤¤ó¤¿¤Õ¤¨¡¼¤¹¤é¤¤¤Õ¤é¤ê¤Î¤­¤Î¤¦}{H0.9.2.1.0} \label{5.2.1Äó¶¡µ¡Ç½} \begin{namelist}{XwcLookupKanjiString} \item [{\rm jrKanjiString}] TTY¤«¤é¤ÎÆþÎÏ¡¢X¤Ç¤ÎÆþÎÏ¡¢´ðËÜ¥¦¥£¥ó¥É¥¦¤Ç¤ÎÆþÎϤʤɰìÈÌŪ¤Ê¥­¡¼¥Ü¡¼¥É ÆþÎϤËÂФ·¤Æ´Á»úʸ»úÎ󤨤ÎÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡£´Á»úʸ»úÎó¤ÏEUC¥³¡¼¥É°·¤¤¤Ç ¤¹¡£ \item [{\rm jrKanjiControl}] »ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤Ë¤è¤ê¡¢jiKanjiString ¤Ç¤ÎÀ©¸æ¤ò¹Ô¤¤¤Þ¤¹¡£ \item [{\rm wcKanjiStirng}] jrKanjiString ¤È´ðËÜŪ¤Êµ¡Ç½¤ÏƱ¤¸¤Ç¤¹¡£ ¤Û¤È¤ó¤É¤Îʸ»úÎó¤Î°·¤¤¤¬¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ \item [{\rm wcKanjiControl}] wcKanjiString ¤Ç¤ÎÀ©¸æ¤ò»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤Ë¤è¤ê¹Ô¤¤¤Þ¤¹¡£ \item [{\rm kanjiInitialize}] ¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü²½¤ò¹Ô¤¤¤Þ¤¹¡£ \item [{\rm kanjiFinalize}] ¥×¥í¥°¥é¥à½ªÎ»¤Ê¤É¤Ëȼ¤¦¤«¤Ê´Á»úÊÑ´¹½ªÎ»½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ \item [{\rm createKanjiContext}] ¤«¤Ê´Á»úÊÑ´¹¤Ë»ÈÍѤ¹¤ë¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡£ \item [{\rm jrCloseKanjiContext}] jrKanjiString ¤Ç¤«¤Ê´Á»úÊÑ´¹¤Ë»ÈÍѤ·¤¿¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£ \item [{\rm wcCloseKanjiContext}] wcKanjiString ¤Ç¤«¤Ê´Á»úÊÑ´¹¤Ë»ÈÍѤ·¤¿¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£ \end{namelist} % 9.2.2 \subsection{ÍøÍÑ¥¬¥¤¥É} \label{5.2.2ÍøÍÑ¥¬¥¤¥É} ¤³¤³¤Ç¤Ï\HIDX{¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Î»ÈÍÑË¡}{¤æ¡¼¤µ¤¤¤ó¤¿¤Õ¤§¡¼ ¤¹¤é¤¤¤Õ¤é¤ê¤Î¤·¤è¤¦¤Û¤¦}{H0.9.2.2.0}¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ % 9.2.2.1 \subsubsection{´Êñ¤ÊÎã} \label{5.2.2.1´Êñ¤ÊÎã} °Ê²¼¤Ë¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤òÍѤ¤¤¿´Êñ¤ÊÎã¤ò¼¨¤·¤Þ¤¹¡£\\ \begin{tabular}{|p{15cm}|} \hline \ \verb- 1 #include -\\ \ \verb- 2 #include -\\ \ \verb- 3-\\ \ \verb- 4 #define MAX_SIZE 1024-\\ \ \verb- 5-\\ \ \verb- 6 main()-\\ \ \verb- 7 {-\\ \ \verb- 8 int c, nbytes;-\\ \ \verb- 9 unsigned char workbuf[MAX_SIZE];-\\ \ \verb-10 jrKanjiStatus ks;-\\ \ \verb-11-\\ \ \verb-12 jrKanjiControl(0, KC_INITIALIZE, 0);-\\ \ \verb-13 {-\\ \ \verb-14 jrKanjiStatusWithValue ksv;-\\ \ \verb-15-\\ \ \verb-16 ksv.ks = &ks;-\\ \ \verb-17 ksv.buffer = workbuf;-\\ \ \verb-18 ksv.bytes_buffer = MAX_SIZE;-\\ \ \verb-19 ksv.val = CANNA_MODE_HenkanMode;-\\ \ \verb-20 jrKanjiControl(0, KC_CHANGEMODE, &ksv);-\\ \ \verb-21 }-\\ \ \verb-22 c = getchar();-\\ \ \verb-23 while (c != EOF) {-\\ \ \verb-24 nbytes = jrKanjiString(0, c, workbuf, MAX_SIZE, &ks);-\\ \ \verb-25 if (nbytes > 0) {-\\ \ \verb-26 workbuf[nbytes] = '\0';-\\ \ \verb-27 printf("%s\n", workbuf);-\\ \ \verb-28 }-\\ \ \verb-29 c = getchar();-\\ \ \verb-30 }-\\ \ \verb-31 jrKanjiControl(0, KC_FINALIZE, 0);-\\ \ \verb-32 exit(0);-\\ \ \verb-33 }-\\ \hline \end{tabular} \\ ¤³¤Î¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢¼Â¹Ô¤·¤¿·ë²Ì¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ °Ê²¼¤ÎÎã¤Ç \verb*/ / ¤ÏȾ³Ñ¤Î¥¹¥Ú¡¼¥¹Ê¸»ú¤òɽ¤·¤Þ¤¹¡£ \begin{nquote}{3em} \begin{tabular}{|l|} \hline \verb+% cc sample1.c -lcanna -o sample1+ \\ \verb+% sample1+\\ \verb*+koreha kantannna puroguramudesu. +\\ ¤³¤ì¤Ï\\ ´Êñ¤Ê\\ ¥×¥í¥°¥é¥à¤Ç¤¹¡£\\ \verb+% + \CURSOR \\ \hline \end{tabular} \end{nquote} \begin{nquote}{3em} ¤¿¤À¤·¡¢SVR4 ·Ï¥Þ¥·¥ó¤Ç¤Ï¡¢-lsocket¡¢-lnsl ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ \end{nquote} ¾åµ­¥×¥í¥°¥é¥à¤Ç¤Ï¡¢12 ¹ÔÌÜ ¡Á 21 ¹ÔÌܤǽé´ü²½½èÍý¡¢22 ¹ÔÌÜ ¡Á 30 ¹ÔÌÜ¤Ç ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹/¤«¤Ê´Á»úÊÑ´¹½èÍý¤ò¤·¤Æ¤¤¤Þ¤¹¡£31 ¹ÔÌܤϽªÎ»½èÍý¤Ç¤¹¡£ ¾åµ­¥×¥í¥°¥é¥à¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ°Ê²¼¤ÇÀâÌÀ¤·¤Þ¤¹¡£ % 9.2.2.2 \subsubsection{¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê} \label{5.2.2.2¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê} ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¢¸Ä¡¹¤ÎÆþÎϤËÂФ·¤ÆÉ½¼¨¤¹¤Ù¤­Ê¸»úÎó¤È ³ÎÄꤷ¤¿Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ ¡Ökanjini$<$space$>$shimasu$<$return$>$¡×¤Î¤è¤¦¤ÊÆþÎϤ¬¤¢¤Ã¤¿¤È¤­¤Ë¡¢¥æ¡¼ ¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤ËÂФ¹¤ëÆþ½ÐÎϤϰʲ¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ \vspace{10mm} \begin{center} \begin{tabular}{|c|l|l|c|l|l|} \hline Æþ¡¡ÎÏ & \multicolumn{2}{|c|}{½Ð¡¡¡¡¡¡ÎÏ} \\ \cline{2-3} & ɽ¡¡¡¡¼¨ & ³ÎÄêʸ»ú\\ \hline k & k & \\ a & ¤« & \\ n & ¤«n & \\ j & ¤«¤ój & \\ i & ¤«¤ó¤¸ & \\ n & ¤«¤ó¤¸n & \\ i & ¤«¤ó¤¸¤Ë & \\ $<$space$>$ & ´Á»ú¤Ë & \\ \hline \end{tabular} \begin{tabular}{|c|l|l|} \hline Æþ¡¡ÎÏ & \multicolumn{2}{|c|}{½Ð¡¡¡¡¡¡ÎÏ} \\ \cline{2-3} & ɽ¡¡¡¡¼¨ & ³ÎÄêʸ»ú\\ \hline s & s & ´Á»ú¤Ë\\ h & sh & \\ i & ¤· & \\ m & ¤·m & \\ a & ¤·¤Þ & \\ s & ¤·¤Þs & \\ u & ¤·¤Þ¤¹ & \\ $<$return$> $ & & ¤·¤Þ¤¹\\ \hline \end{tabular} \end{center} \vspace{10mm} \HIDX{¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Î½èÍý} {¤¢¤Õ¤ê¤±¡¼¤·¤è¤ó¤Õ¤í¤¯¤é¤à¤Î¤·¤è¤ê}{H0.9.2.2.2}¤Ï°Ê²¼¤Î 3 ¤Ä¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£ \begin{nquote}{2em} \begin{enumerate} \item 1 ʸ»ú¤´¤È¤ÎÆþÎϤò¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤ËÍ¿¤¨¤ë¡£ \item ¤½¤Î·ë²Ì¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤¬ÊÖ¤¹Ãæ´Öɽ¼¨Ê¸»úÎó¤òɽ¼¨¤¹¤ë¡£ \item ³ÎÄêʸ»úÎó¤È¤·¤ÆÊ֤äƤ­¤¿Ê¸»úÎó¤òÆþÎϤ·¤Æ¼è¤ê°·¤¦¡£ \end{enumerate} \end{nquote} ¤¹¤Ê¤ï¤Á¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï²¿¤é¤«¤ÎÆþÎϤò 1 ʸ»ú¤´¤È¤Ë ¥é¥¤¥Ö¥é¥ê¤ËÍ¿¤¨¡¢¤½¤Î·ë²ÌÆÀ¤é¤ì¤ëÃæ´Ö·ë²Ìʸ»úÎó¤òɽ¼¨¤¹¤ë½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ ¤â¤Á¤í¤ó¡¢³ÎÄêʸ»úÎó¤È¤·¤ÆÆÀ¤é¤ì¤ëʸ»úÎó¤Ï¼«Ê¬¤ÎÆþÎϤȤ·¤Æ°·¤¤¤Þ¤¹¡£ ¥¹¥Ú¡¼¥¹¥­¡¼¤¬ÊÑ´¹¥­¡¼¤Ç¤¢¤ë¤È¤«¡¢Ìð°õ¥­¡¼¤¬±¦°Üư¤Ç¤¢¤ë¤Ê¤É¤Î ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤«¤«¤ï¤ë½èÍý¤Ï¥é¥¤¥Ö¥é¥êÆâÉô¤Ç¹Ô¤ï¤ì¤ë¤Î¤Ç¡¢ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï¤½¤Î¤è¤¦¤ÊÈѤ路¤¤¤³¤È¤Ë´ØÃΤ¹¤ë¤³¤È¤Ê¤¯ ÆüËܸìÆþÎϤ¬¹Ô¤¨¤Þ¤¹¡£ ¾åµ­¤ÇÀâÌÀ¤·¤¿Ãæ´Ö·ë²Ì¤ª¤è¤Ó³ÎÄêʸ»úÎó¤òÊÖ¤¹´Ø¿ô¤Ï jrKanjiString ¤È¤¤¤¦´Ø¿ô¤Ç¤¹¡£Á°½Ò¤Î¥×¥í¥°¥é¥à¤Ç¤Ï 24 ¹ÔÌܤ˻Ȥï¤ì ¤Æ¤ª¤ê¡¢¥×¥í¥°¥é¥àÃæ¤ÇÃæ¿´Åª¤ÊÌò³ä¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î´Ø¿ô¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢¤Þ¤º¡¢¼¡¤Î¤è¤¦¤Ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Ê¤±¤ì¤Ð ¤Ê¤ê¤Þ¤»¤ó¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+#include +\\ \hline \end{tabular} \end{nquote} \vspace{10mm} jrKanjiString ¤Ï°Ê²¼¤Î¤è¤¦¤Ê´Ø¿ô»ÅÍͤˤʤäƤ¤¤Þ¤¹¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+jrkanjiString(context_id, ch, buffer_return,+\\ \ \verb+ bytes_buffer, kanji_status_return)+\\ \ \verb+int context_id;+\\ \ \verb+int ch;+\\ \ \verb+char *buffer_return;+\\ \ \verb+int bytes_buffer;+\\ \ \verb+jrKanjiStatus *kanji_status_return;+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} °ú¿ô¤Ë¤Ï {\it context\_id¡¢ch¡¢buffer\_return¡¢ bytes\_buffer¡¢kanji\_status\_re\-turn} ¤¬¤¢¤ê¤Þ¤¹¡£ {\it context\_id} ¤Ë¤Ï¥³¥ó¥Æ¥¯¥¹¥È¼±Ê̻Ҥò»ØÄꤷ¤Þ¤¹¡£\\ ¥³¥ó¥Æ¥¯¥¹¥È¤Ë´Ø¤·¤Æ¤Ï¡¢ {\dg\bf \ref{5.2.2.3¥³¥ó¥Æ¥¯¥¹¥È} \hpref{count=6,label=H0.9.2.2.3} ¥³¥ó¥Æ¥¯¥¹¥È} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ {\it ch} ¤ÏÆþÎϤµ¤ì¤¿Ê¸»ú¤Ç¤¹¡£ {\it buffer\_return} ¤Ë¤Ï³ÎÄꤷ¤¿Ê¸»úÎó¤òÊÖ¤¹¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥Ð¥Ã¥Õ¥¡¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬½àÈ÷¤·¤Þ¤¹¡£ ³ÎÄêʸ»úÎ󤬤Ǥ­¤ë¤È jrKanjiString ¤Ï³ÎÄêʸ»úÎó¤ò ¤³¤Î¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤·¤ÆÊÖ¤·¤Þ¤¹¡£ {\it bytes\_buffer} ¤Ï {\it buffer\_return} ¤Î¥Ð¥Ã¥Õ¥¡Ä¹¤Ç¤¹¡£ jrKanjiString ¤Ï¡¢¤É¤ó¤Ê¤ËŤ¤Ê¸»úÎ󤬳ÎÄêʸ»úÎó¤È¤·¤ÆÈ¯À¸¤·¤¿¾ì¹ç¤Ë¤ª¤¤¤Æ¤â {\it bytes\_buffer} ¤ÇÍ¿¤¨¤é¤ì¤¿Ä¹¤µ°Ê¾å¤Îʸ»ú¤òÊÖ¤¹¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ {\it kanji\_status\_return} ¤ÏÃæ´Öɽ¼¨¤Î¤¿¤á¤Î¾ðÊó¡¢ ¤½¤Î¾¤¬Æþ¤Ã¤Æ¤¤¤ë jrKanjiStatus ·¿¤Î¹½Â¤ÂΤǤ¹¡£ jrKanjiStatus ·¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢ {\dg\bf \ref{5.2.2.6Ãæ´Öɽ¼¨} \hpref{count=4,label=H0.9.2.2.6} Ãæ´Öɽ¼¨} ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \subsubsection{\HIDX{¥³¥ó¥Æ¥¯¥¹¥È}{¤³¤ó¤Æ¤¯¤¹¤È}{H0.9.2.2.3}} \label{5.2.2.3¥³¥ó¥Æ¥¯¥¹¥È} ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Î¸Æ¤Ó½Ð¤·¤Ë¤Ïɬ¤º {\it context\_id} ¤ò»Ø Äꤷ¤Þ¤¹¡£ ¤µ¤Æ¡¢{\it context\_id} ¤È¤Ï²¿¤Ç¤·¤ç¤¦¤«¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬ 2 ¤Ä¤Î¥¦¥£¥ó¥É¥¦¤òƱ»þ¤Ëɽ¼¨¤·¤Æ¤ª¤ê¡¢¤½¤ì ¤¾¤ì¤Î¥¦¥£¥ó¥É¥¦¤Ë¤ª¤¤¤ÆÆþÎϤò¼õ¤±ÉÕ¤±¤Æ¤¤¤ë¾õ¶·¤ò¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£ % -------------------- % ¿Þ·Á \begin{figure}[htbp] \caption{¥³¥ó¥Æ¥¯¥¹¥ÈÀâÌÀ¿Þ}\label{¥³¥ó¥Æ¥¯¥¹¥ÈÀâÌÀ¿Þ} \begin{center} %\epsfile{file=../zukei/context.eps,scale=0.7} \includegraphics[scale=0.7]{../zukei/context.eps} \end{center} \end{figure} % -------------------- 2 ¤Ä¤Î¥¦¥£¥ó¥É¥¦¤Ç¤ÎÆþÎÏ¤ÏÆÈΩ¤·¤Æ¹Ô¤ï¤ì¤ë¤È¹Í¤¨¤ë¤Î¤¬¼«Á³¤Ç¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢1 ¤Ä¤Î¥¦¥£¥ó¥É¥¦¤Ç¡Ø¤ï¤¿¤·¤Î$<$ÊÑ´¹$>$¡Ù¤Þ¤ÇÆþÎϤ·¤¿¤È¤­¤Ë ¾¤Î¥¦¥£¥ó¥É¥¦¤ÇÆþÎϤò»Ï¤á¤Æ¤â¡¢ºÇ½é¤Î¥¦¥£¥ó¥É¥¦¤Ç¤Ï¡Ø¤ï¤¿¤·¤Î $<$ÊÑ´¹$>$¡Ù¤Î¾õÂ֤ΤޤޤǤ¢¤ë¤Î¤¬Ë¾¤Þ¤·¤¤¤ï¤±¤Ç¤¹¡£ ¤³¤Î¤è¤¦¤Ê½èÍý¤Ï¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤Ã¤Æ¤¤¤ë¥×¥í¥»¥¹¤¬¥¦¥£¥ó¥É¥¦¤´¤È¤ËÊÌ¡¹ ¤Ç¤¢¤ì¤Ð¼«Á³¤Ë¹Ô¤¨¤ë½èÍý¤Ç¤¹¤¬¡¢Ã±°ì¤Î¥×¥í¥»¥¹¤ÇÊ£¿ô¤ÎÆþÎÏÉô¤ò»ý¤Ä ¾ì¹ç¤Ë¤ÏÆþÎϤÎÀÚ¤êʬ¤±¤ò¤¦¤Þ¤¯¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¾åµ­¤Î¾ì¹ç¡¢¥­¡¼¤ÎÆþÎϤ¬¤É¤Á¤é¤Î¥¦¥£¥ó¥É¥¦¤Î¤â¤Î¤Ç¤¢¤ë¤«¤ò¶èÊ̤¹¤ë ¼±Ê̻Ҥ¬É¬Íפˤʤê¤Þ¤¹¡£ ¤½¤Î¼±Ê̻Ҥ¬ {\it context\_id} ¤Ç¤¹¡£ {\it context\_id} ¤Ï¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¡¢ ¤É¤ÎÆþÎϥݡ¼¥È¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¢¤ë¤«¤òɽ¤¹¤â¤Î¤Ç¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢¤«¤Ê´Á»úÊÑ´¹¤Î½èÍýñ°Ì¤ò¼¨¤¹¼±Ê̻ҤʤΤǤ¹¡£ {\it context\_id} ¤Ë¤Ï¡¢int ·¿¤ÎÃͤǤ¢¤ê¡¢ Ê£¿ô¤ÎÆþÎÏÉô´Ö¤Ç½ÅÊ£¤¹¤ë¤³¤È¤Î¤Ê¤¤ÃͤǤ¢¤ì¤Ð¡¢ ¤É¤Î¤è¤¦¤ÊÃͤòÍ¿¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð¡¢open ¤ÇÊÖ¤µ¤ì¤ë¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤ä fopen ¤ÇÊÖ¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¥Ý¥¤ ¥ó¥¿¤ò int ·¿¤Ë¥­¥ã¥¹¥È¤·¤¿¤â¤Î¤Ç¤âÎɤ¤¤Î¤Ç¤¹¡£ ÆÃ¤Ë X ¥¦¥£¥ó¥É¥¦¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤Ï Widget ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò int ·¿ ¤Ë¥­¥ã¥¹¥È¤·¤ÆÍѤ¤¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ ¥³¥ó¥Æ¥¯¥¹¥È¤òÀÚ¤êʬ¤±¤ëɬÍפ¬¤Ê¤¤¾ì¹ç¤Ë¤Ï {\it context\_id} ¤È¤·¤Æ 0 ¤ò»Ø Äꤷ¤Þ¤¹¡£ \subsubsection{½é´ü²½½èÍý} \label{5.2.2.4½é´ü²½½èÍý} ¤­¤Á¤ó¤È¤·¤¿½é´ü²½½èÍý¤ò¹Ô¤ï¤º¤Ë jrKanjiString ¤ò¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¤Ç¤â¡¢ jrKanji\-String ¤ÎºÇ½é¤Î¸Æ¤Ó½Ð¤·»þ¤Ë¼«Æ°Åª¤Ë½é´ü²½½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ ¤·¤«¤·¡¢ÌÀ¼¨Åª¤Ë½é´ü²½½èÍý¤ò¹Ô¤¦Êý¤¬Ë¾¤Þ¤·¤¤¥×¥í¥°¥é¥ß¥ó¥°¥¹¥¿¥¤¥ë¤È¤¤¤¨ ¤Þ¤¹¡£ ¤«¤Ê´Á»úÊÑ´¹½èÍý¤ò½é´ü²½¤¹¤ë¤¿¤á¤Ë¤Ï°Ê²¼¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ \HIDXAS{¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü²½½èÍý}{¤«¤Ê¤«¤ó¤·¤Ø¤ó¤«¤ó¤Î¤·¤è¤­¤«¤·¤è¤ê}{H0.9.2.2.4} \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+char **warn;+\\ \\ \ \verb+jrKanjiControl(context_id, KC_INITIALIZE, &warn);+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} jrKanjiControl ¤Ï¤«¤Ê´Á»úÊÑ´¹½èÍý¤Ë´Ø¤¹¤ëÀ©¸æ¤ò¹Ô¤¦¤¿¤á¤Î´Ø¿ô ¤Ç¤¹¡£Âè 1 °ú¿ô¤Ë¤Ï {\it context\_id} ¤òÍ¿¤¨¡¢Âè 2 °ú ¿ô¤Ë¤Ï¤É¤Î¤è¤¦¤ÊÀ©¸æ¤ò¹Ô¤¦¤«¤òɽ¤¹¥³¥ó¥È¥í¡¼¥ë¥­¡¼¥ï¡¼¥É¤òÍ¿¤¨¤Þ¤¹¡£ Âè 3 °ú¿ô¤Ë¤Ï·Ù¹ð¥á¥Ã¥»¡¼¥¸¤Î¥Ý¥¤¥ó¥¿¤Î³ÊǼ¾ì½ê¤òÍ¿¤¨¤Þ¤¹¡£ ½é´ü²½¤ò¹Ô¤¦¾ì¹ç¤Ë¤Ï¡¢Âè 2 °ú¿ô¤Ë KC\_INITIALIZE ¤ò»ØÄꤷ¤Þ¤¹¡£ Á°½Ò¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤Ï 12 ¹ÔÌܤǸƤӽФ·¤Æ¤¤¤Þ¤¹¡£ ½é´ü²½»þ¤Ë¤Ï°Ê²¼¤Î 4 ¤Ä¤Î½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ \begin{nquote}{2em} \begin{enumerate} \item ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß \item ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÆÉ¤ß¹þ¤ß \item ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÀܳ \item ¼­½ñ¤Î¥Þ¥¦¥ó¥È½èÍý \end{enumerate} \end{nquote} ½é´ü²½½èÍý¤Ë¤Ï¥³¥ó¥Æ¥¯¥¹¥È¤Ï´Ø·¸¤·¤Ê¤¤¤Î¤Ç¡¢ {\it context\_id} ¤È¤·¤Æ¤Ï 0 ¤òÍ¿¤¨¤Þ¤¹¡£ Âè 3 °ú¿ô¤Ë¤Ï·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£½é´ü²½½èÍý¤Ë¤ª¤¤¤Æ ·Ù¹ð¤¬È¯À¸¤·¤¿¾ì¹ç¡¢Âè 3 °ú¿ô¤Ç»ØÄꤵ¤ì¤¿ÊÑ¿ô¤Ë·Ù¹ð ¥á¥Ã¥»¡¼¥¸¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɸ ½à¥¨¥é¡¼½ÐÎϤËɽ¼¨¤·¤¿¤¤¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+char **warn;+\\ \\ \ \verb+jrKanjiControl(0, KC_INITIALIZE, &warn);+\\ \ \verb+if (warn) {+\\ \ \verb+ char **p;+\\ \\ \ \verb- for (p = warn ; *p ; p++) {-\\ \ \verb+ fprintf(stderr, "%s\n", *p);+\\ \ \verb+ }+\\ \ \verb+}+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} ·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬É¬ÍפǤʤ¤¾ì¹ç¤ÏÂè 3 °ú¿ô¤Ë 0 ¤ò»ØÄꤷ¤Þ¤¹¡£ \subsubsection{½ªÎ»½èÍý} \label{5.2.2.5½ªÎ»½èÍý} \HIDX{¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»½èÍý}{¤«¤Ê¤«¤ó¤·¤Ø¤ó¤«¤ó¤Î¤·¤æ¤¦¤ê¤è¤¦¤·¤è¤ê}{H0.9.2.2.5}¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢ jrKanjiControl ¤ÎÂè 2 °ú¿ô¤Ë KC\_FINELIZE ¤ò»ØÄꤷ¤Þ¤¹¡£ Á°½Ò¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤Ï 31 ¹ÔÌܤǸƤӽФ·¤Æ¤¤¤Þ¤¹¡£ ½ªÎ»»þ¤Ë¤Ï°Ê²¼¤Î½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ \begin{nquote}{2em} \begin{enumerate} \item ³Ø½¬¾ðÊó¤Î¼­½ñ¤Ø¤Î½ñ¤­¹þ¤ß \item ¼­½ñ¤Î¥¢¥ó¥Þ¥¦¥ó¥È \item ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÀܳ¤ÎÀÚÃÇ \item ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î²òÊü \item ³Æ¼ï¥«¥¹¥¿¥Þ¥¤¥ºÀßÄê¤Î¥ê¥»¥Ã¥È \item ¤«¤Ê´Á»úÊÑ´¹¤Ë»È¤ï¤ì¤Æ¤¤¤¿¥á¥â¥ê¤Î²òÊü \end{enumerate} \end{nquote} ½ªÎ»½èÍý»þ¤ÎÂè 3 °ú¿ô¤Î¼è°·¤¤¤Ï½é´ü²½½èÍý»þ¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ ½ªÎ»½èÍý¤Ï¡¢¥×¥í¥°¥é¥à½ªÎ»»þ¤ª¤è¤Ó¤«¤Ê´Á»úÊÑ´¹½ªÎ»»þ¤Ë¤Ï ɬ¤º¸Æ¤Ó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£ \subsubsection{\HIDX{Ãæ´Öɽ¼¨}{¤Á¤æ¤¦¤«¤ó¤Ò¤è¤¦¤·}{H0.9.2.2.6}} \label{5.2.2.6Ãæ´Öɽ¼¨} Ãæ´Öɽ¼¨¾ðÊó¤Ï jrKanjiStatus ¹½Â¤ÂΤÇÊÖ¤µ¤ì¤Þ¤¹¡£ jrKanjiStatus ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ëÁ°¤Ë¡¢Ãæ´Öɽ¼¨¤Ë¤Ï¤É¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ë¤«¤Ë¤Ä¤¤¤Æ °Ê²¼¤ÇÀâÌÀ¤·¤Þ¤¹¡£ % ------------------- % ¿Þ·Á \begin{figure}[htbp] \caption{Ãæ´Öɽ¼¨¿Þ}\label{Ãæ´Öɽ¼¨¿Þ} \begin{center} %\epsfile{file=../zukei/interdpy.eps,scale=0.7} \includegraphics[scale=0.7]{../zukei/interdpy.eps} \end{center} \end{figure} % ------------------- ¿Þ\ref{Ãæ´Öɽ¼¨¿Þ}¤Ë¼¨¤µ¤ì¤ë¤è¤¦¤Ë Ãæ´Öɽ¼¨¤È¤·¤Æ¤Ï°Ê²¼¤Î 3 ¤Ä¤¬¤¢¤ê¤Þ¤¹¡£ \begin{nquote}{2em} \begin{enumerate} \item ÊÑ´¹¤ÎÍͻҤò¼¨¤¹ÆþÎÏÉô \item ¥â¡¼¥É¤òɽ¤¹¥â¡¼¥Éɽ¼¨Éô \item ¸õÊä°ìÍ÷¤Ê¤É¡¢¤½¤Î¾¤Î¾ðÊó¤òɽ¤¹¥¬¥¤¥É¥é¥¤¥óɽ¼¨Éô \end{enumerate} \end{nquote} ÆþÎÏÉô¤ª¤è¤Ó¥¬¥¤¥É¥é¥¤¥óɽ¼¨Éô¤Ïɽ¼¨¤Î°ìÉô¤¬È¿Å¾¤¹¤ë¤È¤¤¤Ã¤¿¶¯Ä´É½¼¨¤¬ ¹Ô¤ï¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹(¿Þ\ref{Ãæ´Öɽ¼¨¿Þ} ¤Ë¤ª¤¤¤Æ»Í³Ñ¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ëÉôʬ)¡£ jrKanjiStatus ¹½Â¤ÂΤǤϡ¢ ¤³¤Î¤è¤¦¤Ê¶¯Ä´É½¼¨¤µ¤ì¤ëÉôʬ¤¬¤É¤³¤Ç¤¢¤ë¤Î¤«¤È¤¤¤Ã¤¿¾ðÊó¤âÊÖ¤µ¤ì¤Þ¤¹¡£ Ãæ´Öɽ¼¨¤Î¤¿¤á¤Î¾ðÊó¤Ï°Ê²¼¤Î¹½Â¤ÂΤˤè¤êÊÖ¤µ¤ì¤Þ¤¹¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb-typedef struct {-\\ \ \verb- unsigned char *echoStr; /*- {\dg ÆþÎÏÉôʬ¤Îʸ»úÎó} \verb-*/-\\ \ \verb- int length; /*- {\dg ¤½¤ÎŤµ} \verb-*/-\\ \ \verb- int revPos; /*- {\dg ¶¯Ä´É½¼¨¤Î³«»Ï°ÌÃÖ} \verb-*/-\\ \ \verb- int revLen; /*- {\dg ¶¯Ä´É½¼¨¤ÎŤµ} \verb-*/-\\ \ \verb- int info; /*- {\dg ¤½¤Î¾¤Î¾ðÊó¡£²¼¤ò¸«¤è} \verb-*/-\\ \ \verb- unsigned char *mode; /*- {\dg ¥â¡¼¥É¾ðÊó} \verb-*/-\\ \ \verb- struct {-\\ \ \verb- unsigned char *line; /*- {\dg ¥¬¥¤¥É¥é¥¤¥óÉôʬ¤Îʸ»úÎó} \verb-*/-\\ \ \verb- int length; /*- {\dg ¤½¤ÎŤµ} \verb-*/-\\ \ \verb- int revPos; /*- {\dg ¶¯Ä´É½¼¨¤Î³«»Ï°ÌÃÖ} \verb-*/-\\ \ \verb- int revLen; /*- {\dg ¶¯Ä´É½¼¨¤ÎŤµ} \verb-*/-\\ \ \verb- } gline;-\\ \ \verb-} jrKanjiStatus;-\\ \\ \ \verb-/* information flags */-\\ \ \verb-#define KanjiModeInfo 01-\\ \ \verb-#define KanjiGLineInfo 02-\\ \hline \end{tabular} \end{nquote} \vspace{10mm} \begin{enumerate} \item {\dg\bf ÆþÎÏÉô¤Î¾ðÊó} ÆþÎÏÉô¤Î¾ðÊó¤Ï jrKanjiStatus ¹½Â¤ÂΤΠechoStr¡¢length¡¢revPos¡¢revLen ¤Î ³Æ¥á¥ó¥Ð¤ËÊÖ¤µ¤ì¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î°ÕÌ£¤Ï¾åµ­¤Î¹½Â¤ÂΤÎÄêµÁÃæ¤Ë¥³¥á¥ó ¥È¤Çɽ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ \begin{itemize} \item {\dg\bf length¤¬$-$1¤Î¤È¤­¡ÝÆþÎÏÉô¤ËÊѲ½¤¬¤Ê¤¤} length ¤¬ $-$1 ¤Î¤È¤­¤Ï¡¢ÆþÎÏÉô¤ËÊѲ½¤¬¤Ê¤«¤Ã¤¿¤³¤È¤òɽ¤·¤Þ¤¹¡£¤¿¤È ¤¨¤Ð¡¢¤«¤Ê´Á»úÊÑ´¹ÆþÎÏÃæ¤Ë¥·¥Õ¥È¥­¡¼¤Ê¤É¤ÎñȯŪ¤ÊÆþÎϤ¬¤¢¤Ã¤Æ¤â¤«¤Ê´Á »úÊÑ´¹ÆþÎÏÁàºî¤Ë±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï length ¥á¥ó¥Ð¤Ë $-$1 ¤¬ÊÖ¤ê¤Þ¤¹¡£ \item {\dg\bf length¤¬0¤Î¤È¤­¡ÝÆþÎÏÉô¤¬¤Ê¤¤} length ¥á¥ó¥Ð¤¬ 0 ¤Ç¤¢¤ë¾ì¹ç¤Ë¤ÏÆþÎÏÉô¤¬¤Ê¤¯¤Ê¤Ã¤¿¤È¤¤¤¦¤³¤È¤òɽ¤·¤Þ ¤¹¡£$-$1 ¤Î¾ì¹ç¤Èº®Æ±¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf revPos¡¢revLen¡Ý¶¯Ä´É½¼¨Éô} revPos¡¢revLen ¥á¥ó¥Ð¤Ï¶¯Ä´É½¼¨Éô¤ÎÈϰϤòɽ¤·¤Þ¤¹¡£ÆþÎÏÉô¤Îɽ¼¨ ¤Ë´Ø¤·¤Æ¤Ï¡¢ÆþÎÏÉôÁ´ÂΤ˲¼Àþ¤ò¤Û¤É¤³¤·¡¢¶¯Ä´Éô¤Î¤ß¤òȿž¤¹¤ë¤È¤¤¤¦ ɽ¼¨¤ÇÎɤ¤¤Ç¤·¤ç¤¦¡£¤¢¤ë¤¤¤Ï¡¢ÆþÎÏÉôÁ´ÂΤ理ò³ÎÄꤷ¤Æ¤¤¤ë ¥Æ¥­¥¹¥È¤Î¿§¤È¤ÏÊ̤ο§¤Ë¤·¡¢¤µ¤é¤Ë¶¯Ä´Éô¤Ë¤Ä¤¤¤Æ¤ÏÊ̤ο§¤Ë¤¹¤ë¤Ê¤É¤â ¹Í¤¨¤é¤ì¤Þ¤¹¡£É½¼¨¤ÎÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥° ¥é¥à¤Î¼«Í³¤Ç¤¹¤Î¤Ç¡¢¤¤¤í¤¤¤í¤È¹©Éפ·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ \item {\dg\bf echoStr¡ÝÆþÎÏÉôʸ»úÎó} echoStr ¤Ë¤ÏÃæ´Öɽ¼¨Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ì¤Þ¤¹¤¬¡¢ ¤³¤Îʸ»úÎó¤ò³ÊǼ¤¹¤ë¤¿¤á¤Î¥á¥â¥êÎΰè¤Ï¥é¥¤¥Ö¥é¥êÆâÉô¤Ë¼è¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Îʸ »úÎó¥Ð¥Ã¥Õ¥¡¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬½ñ¤­´¹¤¨¤¿¤ê¡¢ free ¤·¤¿¤ê ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ïͽ¬¤µ¤ì¤Ê¤¤·ë²Ì¤òÀ¸¤¸¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ \end{itemize} \item {\dg\bf ¥â¡¼¥Éɽ¼¨} ¥â¡¼¥Éɽ¼¨¤ËÊѲ½¤¬À¸¤¸¤¿¾ì¹ç(¤¹¤Ê¤ï¤Á¥â¡¼¥É¤¬ÊѤï¤Ã¤¿¾ì¹ç)¤Ë¤Ï info ¥á¥ó ¥Ð¤Î KanjiModeInfo ¥Ó¥Ã¥È¤¬Î©¤Á¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥â¡¼¥Éɽ¼¨¤ËÊÑ ²½¤¬¤¢¤Ã¤¿¤«¤É¤¦¤«¤Ï°Ê²¼¤Î¤è¤¦¤ËȽÃǤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+jrKanjiStatus ks;+\\ \ \verb+int nbytes, ch;+\\ \ \verb+.....+\\ \ \verb+nbytes = jrKanjiString(0, ch, buf, bufsize, &ks);+\\ \ \verb+.....+\\ \\ \ \verb+if (ks.info & KanjiModeInfo) { /* +{\dg ¥â¡¼¥É¤ËÊѲ½¤¬¤¢¤ë} \verb+*/+\\ \ \verb+ +{\dg ¥â¡¼¥Éɽ¼¨¤òÊѹ¹¤¹¤ë½èÍý} \verb+;+\\ \ \verb+}+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} \begin{itemize} \item {\dg\bf info¡Ý¥â¡¼¥É¤¬ÊѲ½¤·¤¿¤«¤É¤¦¤«} info ¥á¥ó¥Ð¤ËÂФ·¤Æ KanjiModeInfo ¥Ó¥Ã¥È¤¬Î©¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢mode ¥á ¥ó¥Ð¤Ë¥â¡¼¥É¤òɽ¤¹Ê¸»úÎ󤬳ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à ¤Ï¡¢¤³¤Î¥â¡¼¥Éʸ»úÎó¤ò¤·¤«¤ë¤Ù¤­¥â¡¼¥Éɽ¼¨Îΰè¤Ëɽ¼¨¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \item {\dg\bf mode¡Ý¥â¡¼¥Éʸ»úÎó} mode ¥á¥ó¥Ð¤ÇÊÖ¤µ¤ì¤ëʸ»úÎóÍѤÎÎΰè¤â¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥êÆâ Éô¤Ç³ÎÊݤµ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Ê¸»úÎó¤ÎÆâÍÆ¤ò¾¡¼ê¤Ë½ñ¤­´¹¤¨¤¿¤ê¡¢free ¤·¤¿¤ê ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ \end{itemize} \item {\dg\bf ¥¬¥¤¥É¥é¥¤¥óɽ¼¨Éô¤Î¾ðÊó} ¥¬¥¤¥É¥é¥¤¥ó¤Îɽ¼¨¤ËÊѲ½¤¬À¸¤¸¤¿¾ì¹ç¤Ë¤Ï info ¥á¥ó¥Ð¤Î KanjiGLineInfo ¥Ó¥Ã ¥È¤¬Î©¤Á¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥¬¥¤¥É¥é¥¤¥ó¤Îɽ¼¨¤ËÊѲ½¤¬À¸¤¸¤¿¤«¤É¤¦¤«¤Ï¡¢ ¥â¡¼¥Éɽ¼¨¤ÎÊѲ½¤ÈƱÍͤÎÊýË¡¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Í£°ì¤Î°ã¤¤¤Ï¡¢Ä´¤Ù¤ë¥Ó¥Ã¥È¤¬ KanjiModeInfo ¤Ç¤Ï¤Ê¤¯¡¢ KanjiGLineInfo ¤Ç¤¢¤ë¤³¤È¤Ç¤¹¡£ \begin{itemize} \item {\dg\bf info¡Ý¥¬¥¤¥É¥é¥¤¥óɽ¼¨¤ËÊѲ½¤¬¤¢¤ë¤«¤É¤¦¤«} info ¥á¥ó¥Ð¤Î KanjiGLineInfo ¥Ó¥Ã¥È¤¬Î©¤Ã¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï¥¬¥¤¥É¥é¥¤¥ó¤Î¾ðÊó ¤¬ jrKanjiStatus ¹½Â¤ÂΤò²ð¤·¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£jrKanjiStatus ¹½Â¤ÂΤΠgline ¥á ¥ó¥Ð¤¬¤½¤ì¤ËÅö¤¿¤ê¤Þ¤¹¡£gline ¥á¥ó¥Ð¤Ï¤µ¤é¤Ë¹½Â¤ÂΤηÁ¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢Æâ Éô¥á¥ó¥Ð¤È¤·¤Æ¡¢line¡¢length¡¢revPos¡¢revLen ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢ line ¤¬ echoStr ¤ËÂбþ¤·¤Æ¤¤¤ë¤È¹Í¤¨¤ì¤Ð¡¢jrKanjiStatus ¹½Â¤ÂÎ¤ÎÆþÎÏÉôʬ¤Î ¾ðÊó¤òɽ¤·¤Æ¤¤¤ë echoStr¡¢length¡¢revPos¡¢revLen ¤ÈƱ¤¸°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{itemize} \item {\dg\bf line¡Ý¥¬¥¤¥É¥é¥¤¥óʸ»úÎó} line ¤Ë¤Ï¥¬¥¤¥É¥é¥¤¥ó¤Ëɽ¼¨¤¹¤ëʸ»úÎó¤Î¥Ý¥¤¥ó¥¿¤¬ÊÖ¤ê¤Þ¤¹¡£ \item {\dg\bf length¡Ý¥¬¥¤¥É¥é¥¤¥óʸ»úÎó¤ÎŤµ} length ¤Ë¤Ï line ¤ÎŤµ(¥Ð¥¤¥Èñ°Ì)¤¬ÊÖ¤ê¤Þ¤¹¡£ \item {\dg\bf revPos¡¢revLen¡Ý¶¯Ä´É½¼¨Éôʬ} revPos¡¢revLen ¤Ë¤Ï¤½¤ì¤¾¤ì¡¢line ¤Î¤¦¤Á¡¢ ¶¯Ä´É½¼¨¤¹¤ëÉôʬ¤Î°ÌÃÖ¤ÈŤµ¤¬ÊÖ¤ê¤Þ¤¹¡£ \end{itemize} ÆþÎÏÉô¤È¤Ï°ã¤¤¡¢¥¬¥¤¥É¥é¥¤¥ó¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢length ¤È¤·¤Æ $-1$ ¤¬ Ê֤뤳¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ÆþÎÏÉô¤Ç¤Ï¡¢É½¼¨¤ËÊѲ½¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï length ¤Ë $-$1 ¤¬ÊÖ¤ê¤Þ¤·¤¿¤¬¡¢ ¥¬¥¤¥É¥é¥¤¥ó¤Ë´Ø¤·¤Æ¤Ïɽ¼¨¤ËÊѲ½¤¬¤Ê¤¤¤³¤È¤Ï¡¢Ã±¤Ë info ¥á¥ó¥Ð¤Î KanjiGLineInfo ¤¬Î©¤¿¤Ê¤¤¤³¤È¤Ë¤è¤Ã¤ÆÉ½¤µ¤ì¤Þ¤¹¡£ KanjiGLineInfo ¤¬Î©¤Ã¤Æ¤¤¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ï¡¢¥¬¥¤¥É¥é¥¤¥ó¤Ëɽ¼¨¤¹¤ë¾ðÊó¤¬ ÊѲ½¤·¤Æ¤¤¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¢¤ê¡¢¥¬¥¤¥É¥é¥¤¥ó¤Ëɽ¼¨¤¹¤ë¾ðÊó¤¬ Â¸ºß¤·¤Ê¤¤¤È¤¤¤¦°ÕÌ£¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ \end{itemize} \end{enumerate} % misao % % ¤³¤ÎÀ褬̯¤Ë¸ì¤ê¸ýÄ´¤Çµ¤¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢¤Á¤ç¤Ã¤ÈÌÌÅݤʤΤǸå²ó¤·¤Ë¤·¤Þ¤¹¡£ % ½é´ü²½¤Õ¤¿¤¿¤Ó ¤È ºÆ½é´ü²½ ¤Î°ã¤¤¤ÏÆÉ¤à¿Í¤Ë¤Ï¤ï¤«¤é¤Ê¤¤¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¡£ \subsubsection{½é´ü²½¤Õ¤¿¤¿¤Ó} \HIDXAS{¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü²½½èÍý}{¤«¤Ê¤«¤ó¤·¤Ø¤ó¤«¤ó¤Î¤·¤è¤­¤«¤·¤è¤ê}{H0.9.2.2.7} \label{5.2.2.7½é´ü²½¤Õ¤¿¤¿¤Ó} ¤µ¤Æ¡¢¤³¤³¤Þ¤Ç¤ÎÀâÌÀ¤Ç¤Ò¤È¤È¤ª¤ê¤«¤Ê´Á»úÊÑ´¹¤òȼ¤¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é ¥à¤¬µ­½Ò¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤³¤È¤È»×¤¤¤Þ¤¹¡£ ¤³¤ì¤è¤ê°Ê¹ß¤Ç¤Ï¡¢¼Â»ÈÍѤËÂѤ¨¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤È¤­ ¤Ëɬ¤º¼é¤Ã¤Æ¤â¤é¤¤¤¿¤¤»ö¹à¤ä¡¢¤³¤Î¤³¤È¤òÃΤäƤ¤¤ì¤Ð¤µ¤é¤Ë¤¤¤í¤¤¤í¤Êµ¡Ç½¤ò ³èÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¡¢¤È¤¤¤Ã¤¿»ö¹à¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ ¤Þ¤º»Ï¤á¤Ï½é´ü²½¤Î¤È¤­¤Î½èÍý¤Ç¤¹¡£ ½é´ü²½¤Î¤È¤­¤Ë½é´ü²½¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ó¤À¤ê¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤¿¤ê ¤¹¤ë½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¤¬¡¢¤É¤Î½é´ü²½¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤«¤È¤«¡¢¤É¤Î¤«¤Ê´Á »úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤«¤Ê¤É¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤éÀ©¸æ¤¹¤ë¤³ ¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢½é´ü²½Ä¾¸å¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î̾Á°¤ò¥µ¡¼¥Ð¤ËÄÌÃΤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢¤«¤Ê´Á»úÊÑ´¹¤ò»Ï¤á¤ë¤ËÅö¤¿¤Ã¤Æ¥â¡¼¥Éɽ¼¨Îΰè¤ä¥¬¥¤¥É¥é¥¤¥óɽ¼¨ Îΰè¤òÀߤ±¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤½¤ì¤¬¤É¤Î¤¯¤é¤¤É¬ÍפǤ¢¤ë¤«¤ò¤¢¤é¤«¤¸ ¤áÃΤäƤª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ŵ·¿Åª¤Ê½é´ü²½¤Î½èÍý¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ \vspace{10mm} \begin{center} \begin{tabular}{|l|l|l|l|} \hline & \multicolumn{1}{|c|}{¥­¡¡¡¼¡¡¥ï¡¡¡¼¡¡¥É} & \multicolumn{1}{|c|}{½è¡¡¡¡Íý¡¡¡¡Æâ¡¡¡¡ÍÆ} & \multicolumn{1}{|c|}{È÷¡¡¹Í}\\ \hline 1 & KC\_SETINITFILENAME & ½é´ü²½¥Õ¥¡¥¤¥ë¤Î»ØÄê & ¥ª¥×¥·¥ç¥ó\\ & \multicolumn{1}{|c|}{¢­} & & \\ 2 & KC\_SETSERVERNAME & Àܳ¤¹¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î»ØÄê & ¥ª¥×¥·¥ç¥ó\\ & \multicolumn{1}{|c|}{¢­} & & \\ 3 & KC\_INITIALIZE & ¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü²½ & \\ & \multicolumn{1}{|c|}{¢­} & & \\ 4 & KC\_SETAPPNAME & ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ÎÄÌÃÎ & \\ & \multicolumn{1}{|c|}{¢­} & & \\ 5 & KC\_QUERYMAXMODESTR & ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÎºÇÂçĹ¤Î¼èÆÀ & \\ & \multicolumn{1}{|c|}{¢­} & & \\ 6 & KC\_QUERYMODE & ¥â¡¼¥Éʸ»úÎó¤Î¼èÆÀ & \\ & \multicolumn{1}{|c|}{¢­} & & \\ 7 & KC\_SETWIDTH & ¥¬¥¤¥É¥é¥¤¥óɽ¼¨Éôʬ¤ÎÂ礭¤µ¤ÎÀßÄê & \\ \hline \end{tabular} \end{center} \vspace{10mm} ¾åµ­¤Îɽ¤Ç¥ª¥×¥·¥ç¥ó¤È¤¢¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¼Â¹Ô¤·¤Æ¤â¤·¤Ê¤¯¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ ¥ª¥×¥·¥ç¥ó¤È¤¢¤ë¤â¤Î°Ê³°(3¡Á7)¤Ë´Ø¤·¤Æ¤Ïɬ¤º¼Â¹Ô¤·¤Æ¤ª¤¯¤³¤È¤ò¶¯¤¯¤ª´« ¤á¤¤¤¿¤·¤Þ¤¹¡£ °Ê²¼¤Ç¤Ï¾åµ­¤Î³Æ¡¹¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ \paragraph{½é´ü²½¥Õ¥¡¥¤¥ë¤Î»ØÄê} \label{5.2.2.7.1½é´ü²½¥Õ¥¡¥¤¥ë¤Î»ØÄê} ½é´ü²½¥Õ¥¡¥¤¥ë¤È¤·¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¸ÇÍ­¤Î¥Õ¥¡¥¤¥ë¤òÍѤ¤¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¡¢ \hpref{count=14,label=jrKanjiControl} jrKanjiControl ¤òÍѤ¤¤Æ¤Ç¤­¤Þ¤¹¡£ ¤½¤ì¤Ë¤Ï \\ KC\_SETINITFILENAME ¤òÍѤ¤¤Þ¤¹¡£ KC\_SETINITFILENAME¤Î¾Ü¤·¤¤»ÅÍͤˤĤ¤¤Æ¤Ï¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ÎÊý¤ò»²¾È¤· ¤Æ¤â¤é¤¦¤³¤È¤Ë¤·¤Æ¡¢¤³¤³¤Ç¤Ï¤½¤Î»ÈÍÑÎã¤ò¼¨¤·¤Þ¤¹¡£ KC\_SETINITFILENAME¤ÏKC\_INITIALIZE¤ò¹Ô¤¦Á°¤ËÀßÄꤷ¤Þ¤¹¡£¤Ê¤¼¤Ê¤é½é´ü ²½¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß¤ÏKC\_INITIALIZE¤È¤­¤Ë¹Ô¤ï¤ì¤ë¤«¤é¤Ç¤¹¡£ KC\_SETINITFILENAME¤ò¹Ô¤¦¤È¡¢´Ä¶­ÊÑ¿ôCANNAFILE¤Ë¤¤¤«¤Ê¤ëÃͤ¬ÀßÄꤵ¤ì¤Æ ¤¤¤è¤¦¤È¤âKC\_SETINITFILENAME¤Ç»ØÄꤵ¤ì¤¿¤â¤Î¤ÎÊý¤¬Í¥À褵¤ì¤ë¤³¤È¤Ë¤Ê ¤ê¤Þ¤¹¡£ \vspace{10mm} \begin{center} \begin{tabular}{|l|} \hline \ \verb+{+\\ \ \verb+ char *initfile = "app-own.canna";+\\ \ \verb+ .....+\\ \\ \ \verb+ nbytes = jrKanjiControl(0, KC_SETINITFILENAME, initfile);+\\ \ \verb+ .....+\\ \\ \ \verb+ jrKanjiControl(0, KC_INITIALIZE, &warn);+\\ \ \verb+}+\\ \hline \end{tabular} \end{center} \vspace{10mm} \paragraph{Àܳ¤¹¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î»ØÄê} \label{5.2.2.7.2Àܳ¤¹¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î»ØÄê} Àܳ¤¹¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤é»ØÄꤹ¤ë¤³¤È ¤¬¤Ç¤­¤Þ¤¹¡£»ØÄê¤Ë¤ÏKC\_SETSERVERNAME¤òÍѤ¤¤Þ¤¹¡£¤³¤Î»ØÄê¤Ï´Ä¶­ÊÑ¿ô CANNAHOST¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¤³¤ì¤Ë¤è¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Î¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¤«¤Ê´Á»ú ÊÑ´¹¥µ¡¼¥Ð¤Î»ØÄê¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ËÜÆüËܸìÆþÎϤ˴ؤ·¤ÆÄ󶡤µ¤ì¤Æ ¤¤¤ë¿¤¯¤Î¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É(lsdic ¤Ê¤É)¤Ç¤ÏÀܳ¤¹¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òÀÜ Â³¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬½àÈ÷¤µ¤ì¤Æ¤ª¤ê¡¢"$-$cs {\it server\ $-$name}"¤Ç»ØÄê ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ Ëܥ饤¥Ö¥é¥ê¤òÍѤ¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ç¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò »ØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¤òÈ÷¤¨¤ë¾ì¹ç¡¢"$-$cs"¥ª¥×¥·¥ç¥ó¤Ë¤¹¤ë¤è¤¦¤ª´«¤á¤¤¤¿ ¤·¤Þ¤¹¡£ KC\_SETSERVERNAME¤ÏKC\_SETINITFILENAME¤ÈƱÍÍKC\_INITIALIZE¤è¤ê¤âÁ°¤Ë¸Æ ¤Ó½Ð¤µ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼¡¤Î¤è¤¦¤Ê¥¤¥á¡¼¥¸¤Ë¤Ê¤ê¤Þ¤¹¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+{+\\ \ \verb+ char *servername = "app-own-server";+\\ \ \verb+ .....+\\ \\ \ \verb+ nbytes = jrKanjiControl(0, SETSERVERNAME, servername);+\\ \ \verb+ .....+\\ \\ \ \verb+ jrKanjiControl(0, KC_INITIALIZE, &warn);+\\ \ \verb+}+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} \paragraph{¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ÎÄÌÃÎ} ½é´ü²½½èÍý¤¬À®¸ù¤·¤¿¤È¤­¤Ë¤Ï¡¢KC\_SETAPPNAME¤òÍѤ¤¡¢Àܳ¤·¤Æ¤¤¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤òÄÌÃΤ·¤Þ¤¹¡£ KC\_SETAPPNAME¤ÇÀßÄꤷ¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ÏKC\_FINALIZE¤ò¹Ô¤¦¤Þ¤ÇÍ­¸ú ¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢KC\_INITIALIZE¤ò¹Ô¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¤Ä¤É¼Â¹Ô¤¹¤ëɬÍ× ¤¬¤¢¤ê¤Þ¤¹¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+{+\\ \ \verb+ char appname[CANNA_MAXAPPNAME];+\\ \ \verb+ .....+\\ \ \verb+ strcpy(appname, "cannad");+\\ \ \verb+ .....+\\ \ \verb+ jrKanjiControl(0, KC_INITIALIZE, &warn);+\\ \ \verb+ .....+\\ \ \verb+ jrKanjiControl(0, KC_SETAPPNAME, appname);+\\ \ \verb+ .....+\\ \ \verb+}+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} \paragraph{¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÎºÇÂçĹ¤Î¼èÆÀ} \label{5.2.2.7.3¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÎºÇÂçĹ¤Î¼èÆÀ} ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÏÍøÍѼԤνé´ü²½¥Õ¥¡¥¤¥ë¤ÎÀßÄê¤Ë¤·¤¿¤¬¤Ã¤ÆÄ¹¤µ¤¬Â礭¤¯ ÊѤï¤ê¤Þ¤¹¡£ KC\_QUERYMAXMODESTR¤òÍѤ¤¤ì¤Ð¥â¡¼¥Éʸ»úÎó¤Î¤¦¤ÁºÇÂç¤Î¥³¥é¥àŤò»ý¤Äʸ »úÎó¤Î¥³¥é¥àŤòÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤³¤Ç¡¢¥³¥é¥àĹ¤È¤ÏȾ³Ñ±Ñ¿ôʸ»ú¤Î ʸ»úÉý¤ò1¤È¤·¤¿¤È¤­¤Îʸ»úÉý¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤ÐÁ´³Ñʸ»ú¤Ï2¥³¥é¥à¤È¤Ê¤ê¤Þ¤¹¡£ KC\_INITIALIZE¤ò¸Æ¤Ó½Ð¤·¤¿¤é¡¢¥â¡¼¥Éʸ»úÎóɽ¼¨Îΰè¤È¤·¤Æ¤É¤ì¤À¤±¤ÎÂ礭 ¤µ¤¬É¬ÍפǤ¢¤ë¤«¤ò¡¢KC\_QUERYMAXMODESTR¤ò¸Æ¤Ó½Ð¤·¤Æ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+{+\\ \ \verb+ int max_mode_columns;+\\ \ \verb+ .....+\\ \ \verb+ jrKanjiControl(0, KC_INITIALIZE, &warn);+\\ \ \verb+ .....+\\ \ \verb+ max_mode_columns = jrKanjiControl(0, KC_QUERYMAXMODESTR, 0);+\\ \ \verb+ .....+\\ \ \verb+}+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} \paragraph{¥â¡¼¥Éʸ»úÎó¤Î¼èÆÀ} \label{5.2.2.7.4¥â¡¼¥Éʸ»úÎó¤Î¼èÆÀ} ¥â¡¼¥Éɽ¼¨¤Î¤¿¤á¤ÎÎΰè¤ÎÉý¤ò¼èÆÀ¤·¤¿¤é¡¢¼¡¤ÏºÇ½é¤Ëɽ¼¨¤·¤Æ¤ª¤¯¤Ù¤­Ê¸»ú Îó¤ò¼èÆÀ¤·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤ÇÄ󶡤·¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ï¡¢ºÇ½é¤Î¥â¡¼ ¥É¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤Ç¤¢¤ê¡¢É½¼¨¤µ¤ì¤ë¥â¡¼¥Éʸ»úÎó¤ÏȾ³Ñ¶õÇòʸ»ú6 ʸ»ú¤È¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¿¿¤ÃÇò¤¤É½¼¨¤Ë¤·¤Æ¤ª¤±¤ÐÎɤ¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤¿¤À¤·¥æ¡¼¥¶¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Î¤ä¤êÊý¤·¤À¤¤¤Ç¤¤¤í¤¤¤í¤Ê¥â¡¼¥É¤¬ºÇ½é¤Î¥â¡¼¥É¤È¤Ê ¤ë¤³¤È¤¬¤¢¤ê¡¢¥â¡¼¥Éʸ»úÎó¤È¤·¤Æ¤â""°Ê³°¤Î¤â¤Î¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï¥æ¡¼¥¶¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Ë¤è¤Ã¤Æ¤É¤Î¤è¤¦¤Ê¥â¡¼ ¥É¤¬ºÇ½é¤Î¥â¡¼¥É¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò¡¢jrKanjiControl¤ÎKC\_QUERYMODE¤Ë¤è¤Ã ¤ÆÆþ¼ê¤·¡¢É½¼¨¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤½¤ì¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê½èÍý¤ò¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+{+\\ \ \verb+ unsigned char currentMode[MAXMODEELEN];+\\ \ \verb+ .....+\\ \ \verb+ jrKanjiControl(0, KC_QUERYMODE, currentMode);+\\ \ \verb+ .....+\\ \ \verb+}+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} ¤³¤Î½èÍý¤Ë¤è¤êʸ»úÇÛÎócurrentMode¤Ë½é´ü¥â¡¼¥Éʸ»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï¤³¤Î¥â¡¼¥Éʸ»úÎó¤ò¥â¡¼¥Éɽ¼¨Îΰè¤Ëɽ¼¨¤·¤Æ ¤¯¤À¤µ¤¤¡£ \paragraph{¥¬¥¤¥É¥é¥¤¥óɽ¼¨Éôʬ¤ÎÂ礭¤µ¤ÎÀßÄê} \label{5.2.2.7.5¥¬¥¤¥É¥é¥¤¥óɽ¼¨Éôʬ¤ÎÂ礭¤µ¤ÎÀßÄê} ¥¬¥¤¥É¥é¥¤¥ó¤Ë¤Ï¸õÊä°ìÍ÷¤Ê¤É¤¬É½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à ¤ÎÅÔ¹ç¤Ë¤·¤¿¤¬¤Ã¤Æ¡¢¥¬¥¤¥É¥é¥¤¥óÎΰè¤ÎÉý¤òÄ´À°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥æ¡¼ ¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤é»Ø¼¨¤µ¤ì¤¿Éý ¤Ë¼ý¤Þ¤ë¤è¤¦¤Ë¥¬¥¤¥É¥é¥¤¥óɽ¼¨¤ò¹Ô¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¸õÊä°ìÍ÷¤òɽ¼¨¤¹¤ë¾ì¹ç ¤Ë¤Ï¥¬¥¤¥É¥é¥¤¥ó¤ËÆþ¤ëÈϰϤǸõÊä¤òɽ¼¨¤·¤Þ¤¹¡£ ¥¬¥¤¥É¥é¥¤¥ó¤ÎÉý¤ò»ØÄꤹ¤ë¤Ë¤ÏjrKanjiControl¤òKC\_SETWIDTH¤òȼ¤Ã¤Æ¸Æ¤Ó ½Ð¤·¤Þ¤¹¡£ \vspace{10mm} \begin{nquote}{3em} \begin{tabular}{|l|} \hline \ \verb+.....+\\ \ \verb+jrKanjiControl(0, KC_INITIALIZE, &warn);+\\ \ \verb+.....+\\ \ \verb+jrKanjiControl(0, KC_SETWIDTH, 72);+\\ \ \verb+.....+\\ \hline \end{tabular} \end{nquote} \vspace{10mm} ¤â¤·¡¢¥¬¥¤¥É¥é¥¤¥ó¤¬¤¢¤Þ¤ê¤Ë¤â¾®¤µ¤¹¤®¤Æ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤É¤¦Ä´À° ¤·¤Æ¤âÆþ¤êÀÚ¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¼¡¤Î¤¤¤º¤ì¤«¤Î½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ \begin{nquote}{2em} \begin{enumerate} \item ¥¬¥¤¥É¥é¥¤¥ó¤Ëɽ¼¨¤·ÀÚ¤ì¤Ê¤«¤Ã¤¿Ê¸»úÎó¤òÆþÎÏÉôʬ¤Ëɽ¼¨¤¹¤ë¡£ \item ɽ¼¨¤ò¹Ô¤ï¤Ê¤¤¡£ \end{enumerate} \end{nquote} KC\_SETWIDTH¤ÏÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤´¤È¤ËÊÌ¡¹¤ÎÃͤòÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ µÕ¤Ë¸À¤¦¤ÈÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤òÊ£¿ô»ý¤Ã¤Æ¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï ¤½¤ì¤¾¤ì¤Î¥³¥ó¥Æ¥¯¥¹¥È¤ËÂФ·¤ÆKC\_SETWIDTH¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ë ¤Ê¤ê¤Þ¤¹¡£ Ê£¿ô¤ÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤òÍøÍѤµ¤ì¤ë¤«¤¿¤Ï¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ \subsubsection{ºÆ½é´ü²½} \HIDXAS{¤«¤Ê´Á»úÊÑ´¹¤ÎºÆ½é´ü²½}{¤«¤Ê¤«¤ó¤·¤Ø¤ó¤«¤ó¤Î¤µ¤¤¤·¤è¤­¤«}{H0.9.2.2.8} \label{5.2.2.8ºÆ½é´ü²½} ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤·¤¿¤È¤­¡¢¤½¤Î½¤Àµ¤ò¨ºÂ¤ËÈ¿±Ç¤µ¤»¤ë¤¿¤á¤Ë¡¢ºÆ½é ´ü²½½èÍý¤¬¹Ô¤¨¤ë¤ÈÊØÍø¤Ç¤¹¡£¤â¤·¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬ºÆ½é´ü²½½è Íý¤òÈ÷¤¨¤Æ¤¤¤ì¤Ð¡¢¥æ¡¼¥¶¤¬¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤¿¤È¤­¤Ë¡¢¥¢¥×¥ê ¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤òºÆµ¯Æ°¤·¤Ê¤¯¤Æ¤â¥«¥¹¥¿¥Þ¥¤¥º¤Î·ë²Ì¤ò¥¢¥×¥ê¥±¡¼¥·¥ç ¥ó¥×¥í¥°¥é¥à¤ËÈ¿±Ç¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ °Ê²¼¤Î¹àÌܤòËþ¤¿¤¹¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ç¤ÏºÆ½é´ü²½½èÍý¤òÈ÷ ¤¨¤Æ¤ª¤¯¤³¤È¤ò¤ª´«¤áÃפ·¤Þ¤¹¡£ \begin{nquote}{2em} \begin{enumerate} \item °ìÅÙµ¯Æ°¤·¤¿¤é¤«¤Ê¤êŤ¤´Öµ¯Æ°¤·¤Æ¤ª¤¯ \item µ¯Æ°¤ä½ªÎ»¤Î½èÍý¤¬Èæ³ÓŪ¤¿¤¤¤Ø¤ó \item ÆüËܸìÆþÎϤò¤è¤¯»È¤¦ \end{enumerate} \end{nquote} ¤¿¤È¤¨¤Ð Nemacs ¤Ê¤É¤¬¾å¤òËþ¤¿¤¹Îɤ¤Îã¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ç¤Ï¥×¥ë¥À¥¦¥ó¥á¥Ë¥å¡¼¤Ê¤É¤Ë``¤«¤Ê ´Á»úÊÑ´¹¤ÎºÆ½é´ü²½''¤Î¹àÌܤòÆþ¤ì¤Æ¤ª¤¯¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ ºÆ½é´ü²½½èÍý¤Ï¡¢KC\_FINALIZE¤ò¹Ô¤Ã¤¿¸å¡¢Á°Àá¤ÇÀâÌÀ¤·¤¿½é´ü²½´ØÏ¢¤Î°ìÏ¢ ¤Î½èÍý¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤ÆÃ£À®¤µ¤ì¤Þ¤¹¡£ \subsubsection{\HIDX{¤«¤Ê´Á»úÊÑ´¹½èÍýÃæ¤Îµ¡Ç½} {¤«¤Ê¤«¤ó¤·¤Ø¤ó¤«¤ó¤·¤è¤ê¤Á¤æ¤¦¤Î¤­¤Î¤¦}{H0.9.2.2.9}} \label{5.2.2.9¤«¤Ê´Á»úÊÑ´¹½èÍýÃæ¤Îµ¡Ç½} ¤«¤Ê´Á»úÊÑ´¹½èÍýÃæ¤Ë¤â¡¢É¬Íפ˱þ¤¸¤Æ¸½ºß¤Î¥â¡¼¥É¤òÄ´¤Ù¤¿¤ê¡¢¤«¤Ê´Á»úÊÑ ´¹Ãæ¤Îʸ»ú¤ò¶¯À©Åª¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¦¤«¤é³ÎÄꤵ¤»¤¿¤ê¤¹¤ë¤³ ¤È¤¬²Äǽ¤Ç¤¹¡£ ¤½¤ì¤¾¤ì¤Îµ¡Ç½¤ÏjrKanjiControl¤òÂбþ¤¹¤ë¥³¥ó¥È¥í¡¼¥ë¥­¡¼¥ï¡¼¥É¤òȼ¤Ã¤Æ ¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¼Â¹Ô¤Ç¤­¤ëµ¡Ç½¤Ë¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ \begin{table}[hbtp] \begin{center} \caption{jrKanjiControl¼Â¸½µ¡Ç½}\label{jrKanjiControl¼Â¸½µ¡Ç½} \begin{tabular}{|l|l|l|l|} \hline & \multicolumn{1}{|c|}{¥­¡¡¡¼¡¡¥ï¡¡¡¼¡¡¥É} & \multicolumn{1}{|c|}{Æâ¡¡ÍÆ¡¡½è¡¡Íý} & È÷¹Í\\ \hline 1 & KC\_QUERYMODE & ¥â¡¼¥É¤ÎÄ´ºº & \\ 2 & KC\_CHANGEMODE & ¥â¡¼¥É¤ÎÊѹ¹ & \\ 3 & KC\_KAKUTEI & ÆþÎÏÃæ¤Îʸ»úÎó¤Î³ÎÄê & \\ 4 & KC\_KILL & ÆþÎÏÃæ¤Îʸ»úÎó¤Î¾Ãµî & \\ 5 & KC\_SETUNDEFKEYFUNCTION & ̤ÄêµÁ¥­¡¼¤Î½èÍý & \\ 6 & KC\_CLOSEUICONTEXT & ÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤Î¥¯¥í¡¼¥º & \\ \hline \end{tabular} \end{center} \end{table} °Ê²¼¤Ç¤Ï¤½¤ì¤¾¤ì¤Îµ¡Ç½¤ËÂбþ¤¹¤ë¥³¥ó¥È¥í¡¼¥ë¥­¡¼¥ï¡¼¥É¤È¡¢¤½¤Î»È¤¤Êý¤Ê ¤É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¾ÜºÙ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹»ÅÍͤˤĤ¤¤Æ ¤Ï \hpref{count=14,label=jrKanjiControl} jrKanjiControl ¤ÎÀâÌÀ¤Î¹à¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \paragraph{¥â¡¼¥É¤ÎÄ´ºº} \label{5.2.2.9.1¥â¡¼¥É¤ÎÄ´ºº} ¸½ºß¤ÎÆþÎϥ⡼¥É¤¬²¿¤Ç¤¢¤ë¤Î¤«¤òÁ°½Ò¤·¤¿KC\_QUERYMODE¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç ¤­¤Þ¤¹¡£¤¿¤À¤·¡¢°Ê²¼¤ÎÍýͳ¤«¤éKC\_QUERYMODE¤Î¸Æ¤Ó½Ð¤·¤À¤±¤Ç¤Ïº£¤É¤Î¤è ¤¦¤Ê¥â¡¼¥É¤Ç¤¢¤ë¤Î¤«ÃÇÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ \begin{nquote}{2em} \begin{enumerate} \item KC\_QUERYMODE¤ÎÊÖ¤¹Ãͤϥǥե©¥ë¥È¤Ç¤Ï¥â¡¼¥Éʸ»úÎó¤Î·Á¤Ç¤¢¤ë \item ¥â¡¼¥Éʸ»úÎó¤Ï¥æ¡¼¥¶¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Ë¤è¤êÊѹ¹¤Ç¤­¤ë¡£ \end{enumerate} \end{nquote} ¼Â¤Ï¡¢KC\_SETMODEINFOSTYLE¤Ë¤è¤Ã¤ÆKC\_QUERYMODE¤ÎÊÖ¤¹ÃͤòÄ´ººÍѤ˾¯¤· Êѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£KC\_SETMODEINFOSTYLE¤Ç¤Ï¥â¡¼¥É¤È¤·¤Æ¤É¤Î¤è¤¦ ¤Ê¤â¤Î¤òºÎÍѤ¹¤ë¤«¤òÀ©¸æ¤Ç¤­¤Þ¤¹¡£ \vspace{10mm} \begin{center} \begin{tabular}{|c||c|c|} \hline SETMODEINFOSTYLE¤ËÍ¿¤¨¤ëÃÍ & 0 & 1 \\ \hline ɽ¼¨¤µ¤ì¤ë¥â¡¼¥É & ʸ»úÎó & ¿ôÃÍ+'@'(0x40)\\ \hline \end{tabular} \end{center} \vspace{10mm} KC\_SETMODEINFOSTYLE¤Ç¥â¡¼¥É¥¹¥¿¥¤¥ë¤ò1¤Ë¤¹¤ë¤³¤È¤Ë¤è¤êKC\_QUERYMODE¤Ç ÊÖ¤µ¤ì¤ëÃͤϥ⡼¥É¤òɽ¤¹¿ôÃͤË'@'(0x40)¤ò­¤·¤¿Ãͤ¬1ʸ»úŤÎʸ»úÎó¤È¤· ¤ÆÊÖ¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÃͤϥ桼¥¶¤Ë¤è¤ë¥«¥¹¥¿¥Þ¥¤¥º¤Î±Æ¶Á¤ò¼õ¤± ¤Þ¤»¤ó¡£¥â¡¼¥É¤òɽ¤¹¿ôÃͤȤϥإåÀ¥Õ¥¡¥¤¥ë$<$canna/jrkanji.h$>$¤«¤é´Ö ÀÜŪ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤ë$<$canna/mfdef.h$>$¤ÎÃæ¤Ç¡¢CANNA\_MODE\_xxx¤È ¤·¤Æ¥Þ¥¯¥íÄêµÁ¤µ¤ì¤Æ¤¤¤ëÃͤǤ¹¡£¤¿¤È¤¨¤Ð¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤Ï CANNA\_MODE\_AlphaMode¤È¤¤¤¦¥Þ¥¯¥í¤ÇÄêµÁ¤µ¤ì¤ëÃͤò»ý¤Á¤Þ¤¹¡£ KC\_QUERYMODE¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ëÃͤ«¤é'@'¤ò°ú¤¤¤¿¤â¤Î¤ò CANNA\_MODE\_Alpha\-Mode¤Ê¤É¤ÈÈæ³Ó¤¹¤ë¤³¤È¤Ë¤è¤ê¸½ºß¤Î¥â¡¼¥É¤òÌÀ³Î¤ËȽ ÃǤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£\\ \paragraph{¥â¡¼¥É¤ÎÊѹ¹} \label{5.2.2.9.2¥â¡¼¥É¤ÎÊѹ¹} ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ÎÅÔ¹ç¤Ç¤«¤Ê´Á»úÊÑ´¹¤Î¥â¡¼¥É¤ò¤¿¤È¤¨¤Ð¥«¥¿¥«¥Ê ÆþÎϥ⡼¥É¤Ê¤É¤Ë¶¯À©Åª¤ËÊѹ¹¤¹¤ë¾ì¹ç¤Ë¤ÏKC\_CHANGEMODE¤òÍѤ¤¤Þ¤¹¡£\\ \paragraph{ÆþÎÏÃæ¤Îʸ»úÎó¤Î³ÎÄê/¾Ãµî} \label{5.2.2.9.3ÆþÎÏÃæ¤Îʸ»úÎó¤Î³ÎÄê/¾Ãµî} ²¿¤é¤«¤ÎÅÔ¹ç¤ÇÆþÎÏÃæ¤Îʸ»úÎó¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¦¤«¤é¾Ãµî¤·¤¿ ¤ê³ÎÄꤷ¤¿¤ê¤·¤¿¤¤¤³¤È¤¬¤¢¤ë¤È»×¤¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤òɽ¼¨¤·¤Æ¤¤¤¿¾ì¹ç¡¢Cancel¥Ü¥¿¥ó¤Ê¤É¤¬¥¯¥ê¥Ã ¥¯¤µ¤ì¤¿¤È¤­¤Ï¤½¤Î¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹Ãæ¤Î¤¹¤Ù¤Æ¤ÎÆþÎϥݡ¼¥È¤ËÂФ·¤ÆÆþÎϾõÂÖ ¤ò¥¯¥ê¥¢¤¹¤ë½èÍý¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤ÏKC\_KAKUTEI¤¢¤ë¤¤¤ÏKC\_KILL¤ò¹Ô¤¤¤Þ¤¹¡£ ¤½¤ì¤¾¤ì¤Î°ÕÌ£¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ \vspace{10mm} \begin{center} \begin{tabular}{|l|l|} \hline KC\_KAKUTEI & ÆþÎÏÃæ¤Îʸ»ú¤ò¶¯À©Åª¤Ë³ÎÄꤵ¤»¤ë\\ KC\_KILL & ÆþÎÏÃæ¤Îʸ»ú¤ò¶¯À©Åª¤Ë¾Ãµî¤¹¤ë\\ \hline \end{tabular} \end{center} \vspace{10mm} ¤¤¤º¤ì¤Î¾ì¹ç¤â¤«¤Ê´Á»úÊÑ´¹¤Î¾õÂ֤ϴðÄì¾õÂÖ(²¿¤âÆþÎϤµ¤ì¤Æ¤¤¤Ê¤¤¾õÂÖ)¤Ë ¤Ê¤ê¤Þ¤¹¡£ \paragraph{̤ÄêµÁ¥­¡¼¤Î½èÍý} \label{5.2.2.9.4̤ÄêµÁ¥­¡¼¤Î½èÍý} ¤«¤Ê´Á»úÊÑ´¹Ãæ¤Ë¤«¤Ê´Á»úÊÑ´¹¤Ë¤ÏÍѤ¤¤é¤ì¤Ê¤¤¥­¡¼(̤ÄêµÁ¥­¡¼)¤¬ÆþÎϤµ¤ì ¤¿¤È¤­¤Î½èÍý¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̤ÄêµÁ¥­¡¼¤Ï̵»ë¤µ¤ì ¤ë¤À¤±¤Ç¤¹¤¬¡¢°Ê²¼¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{enumerate} \item ¥Ó¡¼¥×²»¤òÌĤ餹 \item ̤ÄêµÁ¥­¡¼¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÅϤ¹¡£ ¤³¤Î¾ì¹ç¡¢°Ê²¼¤Î3¤Ä¤Î¤¦¤Á¤¤¤º¤ì¤«¤òÁªÂò¤Ç¤­¤Þ¤¹¡£ \begin{enumerate} \item ÆþÎÏÃæ¤Îʸ»úÎó¤ò³ÎÄꤹ¤ë¡£ \item ÆþÎÏÃæ¤Îʸ»úÎó¤ò¾Ãµî¤¹¤ë¡£ \item ÆþÎÏÃæ¤Îʸ»úÎó¤ÏÆþÎÏÃæ¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¡£\\ \end{enumerate} \end{enumerate} \paragraph{ÆþÎÏÃæ¤Î¥³¥ó¥Æ¥¯¥¹¥È¤Î¥¯¥í¡¼¥º} \label{5.2.2.9.5ÆþÎÏÃæ¤Î¥³¥ó¥Æ¥¯¥¹¥È¤Î¥¯¥í¡¼¥º} ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤òÍѤ¤¤Æ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¾å¤Ç¤Ï¤µ¤Þ¤¶¤Þ ¤Ê·Á¤Ç¥á¥â¥ê¤ò¾ÃÈñ¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤ÐÆþÎϥݡ¼¥È¤¬Áý¤¨¤ì¤Ð¤½¤Îʬ¤À¤±Í¾Ê¬¤Ë¥á¥â¥ê¤ò¾ÃÈñ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ ¤¹¡£ ÆþÎϤ˥¦¥£¥ó¥É¥¦¤òÍѤ¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ¤ÏÆþÎϤΤ¿¤á ¤Î¥¦¥£¥ó¥É¥¦¤ò¼¡¡¹¤Èºî¤Ã¤Æ¤Ï²õ¤·¤Æ¤¤¤¯¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë jrKanjiString¤ËÂФ·¤Æ¼¡¡¹¤È¿·¤·¤¤¥³¥ó¥Æ¥¯¥¹¥È¤òÍ¿¤¨¤Æ¹Ô¤¯¤È¤É¤ó¤É¤ó¥á ¥â¥ê¤ò¾ÃÈñ¤·¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ÆþÎϤËÍѤ¤¤é¤ì¤¿¥¦¥£¥ó¥É¥¦¤òÇ˲õ¤¹¤ë¾ì¹ç¤Ë¤Ï¤½¤Î¥¦¥£¥ó¥É¥¦¤«¤é¤ÎÆþÎϤò jrKanjiString¤ËÍ¿¤¨¤ë¤È¤­¤ËÍѤ¤¤Æ¤¤¤¿¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤·¤¿Êý¤¬Îɤ¤ ¤Ç¤·¤ç¤¦¡£ ¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤½¤ÎÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤Î¤¿¤á¤Ë³ÎÊÝ ¤µ¤ì¤Æ¤¤¤¿¥á¥â¥ê¤¬²òÊü¤µ¤ì¤Þ¤¹¡£ ¥³¥ó¥Æ¥¯¥¹¥È¤Î²òÊü¤Ë¤ÏKC\_CLOSEUICONTEXT¤òÍѤ¤¤Þ¤¹¡£ Canna37p3/doc/man/guide/tex/README.jp0100644000076500001200000000323307554213575016370 0ustar shinraadminTeX ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤ËÅö¤¿¤Ã¤Æ¤ÎÃí°Õ LaTeX ¤Ë¤è¤Ã¤Æ¤Ï¡¢À¸À®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥³¡¼¥É¤¬ JIS ¥³¡¼¥É¤Ë¤Ê¤ë¤â¤Î ¤â¤¢¤ë¤è¤¦¤Ç¤¹¡£¤½¤Î¾ì¹ç¡¢canna.idx ¤¬ JIS ¥³¡¼¥É¤Çºî¤é¤ì¤Æ¤·¤Þ¤¤ cannaindex ¥³¥Þ¥ó¥É¤¬Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£ ¤½¤Î¤è¤¦¤Ê LaTeX ¤ò¤ª»È¤¤¤Î¾ì¹ç¤Ë¤Ï¡¢canna-dist.tex ¤«¤é canna.tex ¤òºîÀ®¤¹¤ë½èÍý¤ò¼êư¤Ç¹Ô¤¤¡¢LaTeX ¸å¤Ë nkf -e ¤Ê¤É¤Ç canna.idx ¤ò EUC ¥³¡¼¥É¤ËÊÑ´¹¤·¤Æ¤«¤é cannaindex ¤Ë¤«¤±¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¾Ü¤·¤¯¤Ï¡¢ doc/README.jp ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ($Id: README.jp,v 1.1.1.1 2002/10/19 08:27:41 aida_s Exp $) Copyright 1994 NEC Corporation, Tokyo, Japan. Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of NEC Corporation not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. NEC Corporation makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Canna37p3/doc/man/guide/tex/romkana.tex0100644000076500001200000001757207554213577017267 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: romkana.tex,v 1.1.1.1 2002/10/19 08:27:43 aida_s Exp $ % \chapter{\HIDX{¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹É½}{¤í¡¼¤Þ¤·¤«¤Ê¤Ø¤ó¤«¤ó¤Ò¤ç¤¦} {H0.D.0.0.0}} \label{D¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹É½} \begin{center} \begin{tabular}{|p{15mm}||*{5}{c|}} \hline & ¡¡¡¡a¡¡¡¡ & ¡¡¡¡i¡¡¡¡ & ¡¡¡¡u¡¡¡¡ & ¡¡¡¡e¡¡¡¡ & ¡¡¡¡o¡¡¡¡ \\ \hline \hline & ¥¢ & ¥¤ & ¥¦ & ¥¨ & ¥ª \\ \hline k & ¥« & ¥­ & ¥¯ & ¥± & ¥³ \\ \hline s & ¥µ & ¥· & ¥¹ & ¥» & ¥½ \\ \hline t & ¥¿ & ¥Á & ¥Ä & ¥Æ & ¥È \\ \hline n & ¥Ê & ¥Ë & ¥Ì & ¥Í & ¥Î \\ \hline h & ¥Ï & ¥Ò & ¥Õ & ¥Ø & ¥Û \\ \hline m & ¥Þ & ¥ß & ¥à & ¥á & ¥â \\ \hline y & ¥ä & ¥¤ & ¥æ & ¥¤¥§ & ¥è \\ \hline r & ¥é & ¥ê & ¥ë & ¥ì & ¥í \\ \hline w & ¥ï & ¥ð & ¥¦ & ¥ñ & ¥ò \\ \hline \hline g & ¥¬ & ¥® & ¥° & ¥² & ¥´ \\ \hline z & ¥¶ & ¥¸ & ¥º & ¥¼ & ¥¾ \\ \hline d & ¥À & ¥Â & ¥Å & ¥Ç & ¥É \\ \hline b & ¥Ð & ¥Ó & ¥Ö & ¥Ù & ¥Ü \\ \hline \hline p & ¥Ñ & ¥Ô & ¥× & ¥Ú & ¥Ý \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{15mm}||*{5}{c|}} \hline & ¡¡¡¡a¡¡¡¡ & ¡¡¡¡i¡¡¡¡ & ¡¡¡¡u¡¡¡¡ & ¡¡¡¡e¡¡¡¡ & ¡¡¡¡o¡¡¡¡ \\ \hline \hline ky & ¥­¥ã & ¥­¥£ & ¥­¥å & ¥­¥§ & ¥­¥ç \\ \hline gy & ¥®¥ã & ¥®¥£ & ¥®¥å & ¥®¥§ & ¥®¥ç \\ \hline sy & ¥·¥ã & ¥·¥£ & ¥·¥å & ¥·¥§ & ¥·¥ç \\ \hline zy & ¥¸¥ã & ¥¸¥£ & ¥¸¥å & ¥¸¥§ & ¥¸¥ç \\ \hline ty & ¥Á¥ã & ¥Á¥£ & ¥Á¥å & ¥Á¥§ & ¥Á¥ç \\ \hline ny & ¥Ë¥ã & ¥Ë¥£ & ¥Ë¥å & ¥Ë¥§ & ¥Ë¥ç \\ \hline hy & ¥Ò¥ã & ¥Ò¥£ & ¥Ò¥å & ¥Ò¥§ & ¥Ò¥ç \\ \hline by & ¥Ó¥ã & ¥Ó¥£ & ¥Ó¥å & ¥Ó¥§ & ¥Ó¥ç \\ \hline py & ¥Ô¥ã & ¥Ô¥£ & ¥Ô¥å & ¥Ô¥§ & ¥Ô¥ç \\ \hline my & ¥ß¥ã & ¥ß¥£ & ¥ß¥å & ¥ß¥§ & ¥ß¥ç \\ \hline ry & ¥ê¥ã & ¥ê¥£ & ¥ê¥å & ¥ê¥§ & ¥ê¥ç \\ \hline ts & ¥Ä¥¡ & ¥Ä¥£ & ¥Ä & ¥Ä¥§ & ¥Ä¥© \\ \hline sh & ¥·¥ã & ¥· & ¥·¥å & ¥·¥§ & ¥·¥ç \\ \hline th & ¥Æ¥ã & ¥Æ¥£ & ¥Æ¥å & ¥Æ¥§ & ¥Æ¥ç \\ \hline j & ¥¸¥ã & ¥¸ & ¥¸¥å & ¥¸¥§ & ¥¸¥ç \\ \hline ch & ¥Á¥ã & ¥Á & ¥Á¥å & ¥Á¥§ & ¥Á¥ç \\ \hline f & ¥Õ¥¡ & ¥Õ¥£ & ¥Õ & ¥Õ¥§ & ¥Õ¥© \\ \hline v & ¥ô¥¡ & ¥ô¥£ & ¥ô & ¥ô¥§ & ¥ô¥© \\ \hline gw & ¥°¥¡ & ¥°¥£ & ¥°¥¥ & ¥°¥§ & ¥°¥© \\ \hline dy & ¥Â¥ã & ¥Â¥£ & ¥Â¥å & ¥Â¥§ & ¥Â¥ç \\ \hline dh & ¥Ç¥ã & ¥Ç¥£ & ¥Ç¥å & ¥Ç¥§ & ¥Ç¥ç \\ \hline \hline c & ¥« & & ¥¯ & & ¥³ \\ \hline cy & ¥Á¥ã & ¥Á¥£ & ¥Á¥å & ¥Á¥§ & ¥Á¥ç \\ \hline jy & ¥¸¥ã & ¥¸¥£ & ¥¸¥å & ¥¸¥§ & ¥¸¥ç \\ \hline l & ¥é & ¥ê & ¥ë & ¥ì & ¥í \\ \hline ly & ¥ê¥ã & ¥ê¥£ & ¥ê¥å & ¥ê¥§ & ¥ê¥ç \\ \hline \hline x & ¥¡ & ¥£ & ¥¥ & ¥§ & ¥© \\ \hline xw & ¥î & & & & \\ \hline xt & & & ¥Ã & & \\ \hline xts & & & ¥Ã & & \\ \hline xy & ¥ã & & ¥å & & ¥ç \\ \hline \end{tabular} \end{center} % % \begin{center} \begin{tabular}{|p{15mm}||p{40mm}|p{5mm}|p{15mm}||p{40mm}|} \cline{1-2} \cline{4-5} \verb+n+ & ¤ó &¡¡& \verb+|+ & ¡Ã \\ \cline{1-2} \cline{4-5} \verb+nn+ & ¤ó & & \verb+@+ & ¡÷ \\ \cline{1-2} \cline{4-5} \verb+mn+ & ¤ó & & \verb+~+ & ¡± \\ \cline{1-2} \cline{4-5} \verb+n'+ & ¤ó & & \verb+,+ & ¡¢ \\ \cline{1-2} \cline{4-5} \verb++ & Ⱦ³Ñ¥¹¥Ú¡¼¥¹(0x20) & & \verb+<+ & ¡ã \\ \cline{1-2} \cline{4-5} \verb+@@+ & Á´³Ñ¥¹¥Ú¡¼¥¹(0x2121) & & \verb+.+ & ¡£ \\ \cline{1-2} \cline{4-5} ¿ô»ú & 1¡¢2¡¢3¡¡¡¡(Á´³Ñ) & & \verb+>+ & ¡ä \\ \cline{1-2} \cline{4-5} \verb+!+ & ¡ª & & \verb+/+ & ¡¿ \\ \cline{1-2} \cline{4-5} \verb+"+ & ¡É & & \verb+?+ & ¡© \\ \cline{1-2} \cline{4-5} \verb+#+ & ¡ô &¡¡& \verb+_+ & ¡² \\ \cline{1-2} \cline{4-5} \verb+$+ & ¡ð & & \verb+@+ & ¡÷ \\ \cline{1-2} \cline{4-5} \verb+%+ & ¡ó & & \verb+@(+ & ¡Ê \\ \cline{1-2} \cline{4-5} \verb+&+ & ¡õ & & \verb+@)+ & ¡Ë \\ \cline{1-2} \cline{4-5} \verb+'+ & ¡Ç & & \verb+@{+ & ¡Ð \\ \cline{1-2} \cline{4-5} \verb+(+ & ¡Ê¡¡¡¡(Ⱦ³Ñ) & & \verb+@}+ & ¡Ñ \\ \cline{1-2} \cline{4-5} \verb+)+ & ¡Ë¡¡¡¡(Ⱦ³Ñ) & & \verb+@[+ & ¡Î \\ \cline{1-2} \cline{4-5} \verb|+| & ¡Ü & & \verb+@]+ & ¡Ï \\ \cline{1-2} \cline{4-5} \verb+-+ & ¡¼ & & \verb+@,+ & ¡¤ \\ \cline{1-2} \cline{4-5} \verb+*+ & ¡ö & & \verb+@.+ & ¡¥ \\ \cline{1-2} \cline{4-5} \verb+=+ & ¡á & & \verb+@~+ & ¡Á \\ \cline{1-2} \cline{4-5} \verb+^+ & ¡° & & \verb+@\+ & ¡À \\ \cline{1-2} \cline{4-5} \verb+`+ & ¡® & & \verb+@/+ & ¡¦ \\ \cline{1-2} \cline{4-5} \verb+\+ & ¡ï & & \verb+@-+ & ¡Ý \\ \cline{1-2} \cline{4-5} \verb+[+ & ¡Ö & & \verb+@2+ & ¡Å \\ \cline{1-2} \cline{4-5} \verb+]+ & ¡× & & \verb+@3+ & ¡Ä \\ \cline{1-2} \cline{4-5} \verb+{+ & ¡Ð & & \verb+@||+ & ¡Â \\ \cline{1-2} \cline{4-5} \verb+}+ & ¡Ñ & & \verb+@|+ & ¡Ã \\ \cline{1-2} \cline{4-5} \verb+;+ & ¡¨ & \multicolumn{3}{l}{¡¡} \\ \cline{1-2} \verb+:+ & ¡§ & \multicolumn{3}{l}{¡¡} \\ \cline{1-2} \end{tabular} \end{center} Canna37p3/doc/man/guide/tex/server.tex0100644000076500001200000006524007727326134017134 0ustar shinraadmin% Copyright 1994 NEC Corporation, Tokyo, Japan. % % Permission to use, copy, modify, distribute and sell this software % and its documentation for any purpose is hereby granted without % fee, provided that the above copyright notice appear in all copies % and that both that copyright notice and this permission notice % appear in supporting documentation, and that the name of NEC % Corporation not be used in advertising or publicity pertaining to % distribution of the software without specific, written prior % permission. NEC Corporation makes no representations about the % suitability of this software for any purpose. It is provided "as % is" without express or implied warranty. % % NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, % INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN % NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR % CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF % USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR % OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR % PERFORMANCE OF THIS SOFTWARE. % % $Id: server.tex,v 1.2 2003/09/09 10:33:00 takasan Exp $ % \chapter{¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð} \label{3.4¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¼­½ñ} % ------------------------------ 3.4.1 \section{\IDX{¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð}{¤«¤Ê¤«¤ó¤·¤Ø¤ó¤«¤ó¤µ¡¼¤Ð}} \label{3.4.1¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð} \subsection{\HIDX{¥µ¡¼¥Ð¥¯¥é¥¤¥¢¥ó¥È¥â¥Ç¥ë}{¤µ¡¼¤Ï¤¯¤é¤¤¤¢¤ó¤È¤â¤Æ¤ë} {H0.5.1.1.0}} ËÜÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ï¥µ¡¼¥Ð¥¯¥é¥¤¥¢¥ó¥È¥â¥Ç¥ë¤ò¥Ù¡¼¥¹¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¤«¤Ê´Á»úÊÑ´¹¤¬¹Ô¤ï¤ì¤ë»þ¤Ï´Á»ú¤ËÊÑ´¹¤·¤¿¤¤ÆÉ¤ß¤ò¥×¥í¥»¥¹´ÖÄÌ ¿®¤Ç¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÁ÷¤ê¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ç¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤ò¸µ ¤Ë´Á»ú¤ËÊÑ´¹¤·¤¿¸å¤ËÊÑ´¹¤·¤¿·ë²Ì¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÊÖ¤¹¤³¤È¤Ë¤è¤ê¤«¤Ê ´Á»úÊÑ´¹¤òÀ®¤·¿ë¤²¤Æ¤¤¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢ÆüËܸìÆþÎϥǡ¼¥â¥ó¤äÆüËܸìÆþÎϤò¹Ô¤¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤«¤Ê´Á »úÊÑ´¹¤ò¹Ô¤¦»þ¤Ë¤Ï¡¢¤½¤ì¤é¤Î¥×¥í¥°¥é¥à¤¬Ä¾Àܤ«¤Ê´Á»úÊÑ´¹¼­½ñ¤ò¥¢¥¯¥»¥¹ ¤·¤Æ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¤Î¤Ç¤Ï¤Ê¤¯¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò²ð¤·¤Æ´Á»ú¤ËÊÑ´¹ ¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ë¡¢ËÜ¥·¥¹¥Æ¥à¤Ç¤Ï¥µ¡¼¥Ð¥¯¥é¥¤¥¢¥ó¥È¥â¥Ç¥ë¤ò¥Ù¡¼¥¹¤È¤·¤¿¤«¤Ê´Á »úÊÑ´¹¤¬ºÎÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£ \subsection{¤«¤Ê´Á»úÊÑ´¹\HIDX{¥µ¡¼¥Ð¤Î»ØÄê}{¤µ¡¼¤Ï¤Î¤·¤Æ¤¤}{H0.5.1.2.0}} ÆüËܸìÆþÎϤòÍøÍѤ¹¤ë¥×¥í¥°¥é¥à¤È¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤Î´Ö¤Ï¥½¥±¥Ã¥È¤òÍÑ ¤¤¤¿¥×¥í¥»¥¹´ÖÄÌ¿®¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ÆüËܸìÆþÎϤòÍøÍѤ¹¤ë¥×¥í¥° ¥é¥à¤È¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÏƱ°ì¤Î¥Þ¥·¥ó¾å¤Ë¸ºß¤¹¤ëɬÍפϤʤ¯¡¢¤«¤Ê´Á »úÊÑ´¹¥µ¡¼¥Ð¤È¤·¤ÆÍøÍѤ¹¤ë¥µ¡¼¥Ð¤ò¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÎǤ°Õ¤Î¥Þ¥·¥ó¤«¤é¼« ͳ¤ËÁªÂò¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Ãí°Õ ¤«¤ó¤Ê 3.6 °Ê¹ß¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¡¼¸þ¾å¤Î¤¿¤á¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¾¤Î¥Þ ¥·¥ó¤Î¥µ¡¼¥Ð¡¼¤òÍøÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¾Ü¤·¤¯¤Ï¡¢ \textbf{\ref{sec:access-control}cannaserver¤Î¥¢¥¯¥»¥¹À©¸æ}¤ò»²¾È¤·¤Æ ¤¯¤À¤µ¤¤¡£ ¤¿¤È¤¨¤Ð¡¢¥Ç¥£¥¹¥¯ÍÆÎ̤¬¤¿¤¯¤µ¤ó¤¢¤ê¡¢CPU¤â¤¢¤ëÄøÅÙ¤ÎÀ­Ç½¤ò»ý¤Ä¥Þ¥·¥ó¤Ë ¼­½ñ¤òÃÖ¤­¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òÁö¤é¤»¤Æ¤ª¤±¤Ð¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¤É¤Î¥Þ ¥·¥ó¾å¤«¤é¤Ç¤â¹âÀ­Ç½¤Î¤«¤Ê´Á»úÊÑ´¹¥¨¥ó¥¸¥ó¤òÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ ¤¹¡£¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¤É¤Î¥Þ¥·¥ó¤òÍøÍѤ·¤Æ¤¤¤ë»þ¤â¡¢¾ï¤ËƱ°ì¤Î¤«¤Ê´Á»úÊÑ ´¹¥µ¡¼¥Ð¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¿·¤¿¤ËÅÐÏ¿¤·¤¿Ã±¸ì¤äÉÑÅÙ¾ðÊó¤ò°ì¸µ´ÉÍý¤¹ ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{itemize} \item \HIDX{CANNAHOST}{£Ã£Á£Î£Î£Á£È£Ï£Ó£Ô}{H0.5.1.2.0.1} \hptar{label=H0.5.1.2.0.1} ¤É¤Î¥Þ¥·¥ó¤Çưºî¤·¤Æ¤¤¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òÍѤ¤¤ë¤«¤ò»ØÄꤹ¤ë¤Ë¤Ï´Ä¶­ ÊÑ¿ôCANNAHOST¤Ç¡¢ÍøÍѤ·¤¿¤¤¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Þ¥·¥ó¤Î¥Û ¥¹¥È̾¤ò»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Û¥¹¥È̾¤¬machine1¤È¤¤¤¦¥Þ¥·¥ó¤Çưºî¤·¤Æ¤¤ ¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òÍøÍѤ¹¤ë¾ì¹ç¤Ï.login¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Ëµ­½Ò¤·¤Æ ¤¯¤À¤µ¤¤¡£ (Îã) \begin{nquote}{1em} \verb+ % setenv CANNAHOST machine1 + \end{nquote} ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏƱ°ì¥Þ¥·¥ó¾å¤Çưºî¤·¤Æ¤¤¤ë¤â¤Î¤¬»È ¤ï¤ì¤Þ¤¹¡£´Ä¶­ÊÑ¿ôCANNAHOST¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤ê¾¤Î¥Þ¥·¥ó¾å¤Çưºî¤·¤Æ ¤¤¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òÍѤ¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢¥Û¥¹¥È̾¤Ï¥³¥ó¥Þ¤Ç¶èÀڤäÆÊ£¿ô»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ (Îã) \begin{nquote}{1em} \texttt{\% setenv CANNAHOST machine1,machine2,machine3} \end{nquote} ¤½¤¦¤¹¤ë¤È¡¢¤Þ¤º machine1 ¤È¤¤¤¦¥Û¥¹¥È¤Î cannaserver ¤ËÀܳ¤Ë¹Ô ¤­¡¢¤½¤³¤Ç cannaserver ¤¬²ÔƯ¤·¤Æ¤¤¤Ê¤¤¤È machine2 ¤ËÀܳ¤Ë ¹Ô¤­¤Þ¤¹¡£ machine2 ¤¬¤¤¤Ê¤±¤ì¤Ð¼¡¤Ë machine3 ¤Ë¤Ä¤Ê¤®¤Þ¤¹¡£¤É¤ì¤â¤¤¤Ê¤±¤ì¤Ð¡Ö¤« ¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡×¤È¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£ \item \HIDX{\refCANNALIBDIR /cannahost}{¡¿£Õ£Ó£Ò¡¿£Ì£É£Â¡¿£Ã£Á£Î£Î£Á¡¿ £Ã£Á£Î£Î£Á£È£Ï£Ó£Ô}{H0.5.1.2.0.2} \hptar{label=H0.5.1.2.0.2} ´Ä¶­ÊÑ¿ôCANNAHOST¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ë¤ÏÄ̾ï¤ÏƱ°ì¥Þ¥·¥ó¾å¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬»È¤ï¤ì¤Þ¤¹¤¬¡¢\refCANNALIBDIR /cannahost¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë¾¤Î¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï\refCANNALIBDIR /cannahost¤Ë¤Æ¼¨¤µ¤ì¤ë¥Þ¥·¥ó¾å¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬ÍѤ¤¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢\refCANNALIBDIR /cannahost¤Ë¾¤Î¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤òµ­½Ò¤·¤Æ¤ª¤¯¤È¡¢¤½¤Î¥Þ¥·¥ó¤òÍøÍѤ·¤Æ¤¤¤ë¥æ¡¼¥¶¤Ï´Ä¶­ÊÑ¿ôCANNAHOST¤òÍѤ¤¤ÆÌÀ¼¨Åª¤Ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç°Ê³°¤Ï¡¢\refCANNALIBDIR /cannahost¤Ë¤Æ»ØÄꤵ¤ì¤ë¥µ¡¼¥Ð¤òÍѤ¤¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¥Ç¥£¥¹¥¯¥ì¥¹¥Þ¥·¥ó¤Î¤è¤¦¤Ë¡¢¥·¥¹¥Æ¥à»ñ¸»¤¬Â­¤ê¤Ê¤¤¾ì¹ç¤Ê¤É¤Ï¡¢\\ \refCANNALIBDIR /cannahost¥Õ¥¡¥¤¥ë¤Ë¥Ç¥£¥¹¥¯¥ì¥¹¥µ¡¼¥Ð¥Þ¥·¥ó¤Ê¤É¤Î¥Û¥¹¥È̾¤òµ­½Ò¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢Â¾¤Î¥Þ¥·¥ó¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òÍøÍѤ¹¤ë¤è¤¦¤Ëµ­½Ò¤·¤Æ¤ª¤¤¤¿¤Û¤¦¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ (Îã) \begin{nquote}{1em} \texttt{\% cat \CANNALIBDIR/cannahost}\\ \texttt{machine1} \end{nquote} \refCANNALIBDIR /cannahost¤Ë¤ÆÂ¾¤Î¥Þ¥·¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢Æ±°ì¥Þ¥·¥ó¾å¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ï»È¤ï¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ %% ¤½¤Î¾ì¹ç¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Îµ¯Æ°¤ÏÉÔÍפȤʤê¤Þ¤¹¤Î¤Ç¡¢ %% /etc/rc0.d/Kaacanna¡¢/etc/rc1.d/Kaacanna¡¢\\ %% /etc/rc2.d/Saacanna ¤òºï½ü¤·¤Æ cannaserver ¤¬µ¯Æ°¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ \etcrc ¤Þ¤¿¡¢¤³¤Î¾ì¹ç¡¢¤µ¤é¤Ë¤«¤Ê´Á»úÊÑ´¹¼­½ñÅù¤¬ÉÔÍפȤʤê¤Þ¤¹¡£ °Ê²¼¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò¤½¤Î¥Þ¥·¥ó¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤«¤éºï½ü¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£ {\tt \begin{nquote}{1em} \begin{tabular}{l} cannaserver \\ cannakill \\ \refCANNALIBDIR /dic \\ \refCANNABINDIR /crxdic \\ \refCANNABINDIR /dicar \\ \refCANNABINDIR /dpbindic \\ \refCANNABINDIR /dpxdic \\ \refCANNABINDIR /forsort \\ \refCANNABINDIR /mkbindic \end{tabular} \end{nquote} } \end{itemize} \subsection{\IDX{cannaserver¤Îµ¯Æ°}{£Ã£Á£Î£Î£Á£Ó£Å£Ò£Ö£Å£Ò¤Î¤­¤É¤¦}} ÆüËܸ쵡ǽ¤Î¤«¤Ê´Á»úÊÑ´¹¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ðcannaserver¤¬¹Ô¤Ã¤Æ¤¤¤Þ ¤¹¡£\rcetc %% cannaserver ¤Ï¥·¥¹¥Æ¥àµ¯Æ°»þ¤Ë/etc/rc0.d/Kaacanna¡¢ %% /etc/rc1.d/Kaacanna ¤Ë¤è¤êµ¯Æ°¤µ¤ì¤Þ¤¹¡£ ¤«¤Ê´Á»úÊÑ´¹¤ÎºÝ¡¢¼­½ñ¤Ïcannaserver¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤·¤Þ¤¹¡£ \refCANNALIBDIR /cannahost ¤Ç¤½¤Î¥Þ¥·¥ó¾å¤Î¥æ¡¼¥¶¤¬»ÈÍѤ¹¤ë¤«¤Ê´Á»úÊÑ ´¹¥µ¡¼¥Ð¤È¤·¤Æ¡¢Â¾¤Î¥Û¥¹¥È¾å¤Î¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ \etcrc \subsection{\HIDX{cannaserver¤Î¥¢¥¯¥»¥¹À©¸æ}{£Ã£Á£Î£Î£Á£Ó£Å£Ò£Ö£Å£Ò¤Î ¤¢¤¯¤»¤¹¤»¤¤¤­¤è}{H0.5.1.4.0}} \label{sec:access-control} cannaserver¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¥Û¥¹¥È¤È¥æ¡¼¥¶¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{itemize} \item \HIDX{µ¯Æ°»þ¥ª¥×¥·¥ç¥ó}{¤­¤È¤¦¤·¤ª¤Õ¤·¤è¤ó}{H0.5.1.4.0.0} \hptar{label=H0.5.1.4.0.0} ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢cannaserver ¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¤«¤é¤ÎÀܳ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó¡£ ¥ê¥â¡¼¥È¥Û¥¹¥È¤«¤éÍøÍѤ¹¤ë¤Ë¤Ï¡¢µ¯Æ°»þ¤Ë \texttt{-inet} ¥ª¥×¥·¥ç¥ó¤ò¤Ä ¤±¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \begin{CODEBOX} (Îã) cannaserver ¤Ø¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤«¤é¤ÎÀܳ¤òµö²Ä¤¹¤ë¡£\\ \% cannaserver -u bin -inet \\ \end{CODEBOX} \item \HIDX{/etc/hosts.canna}{¡¿£Å£Ô£Ã¡¿£È£Ï£Ó£Ô£Ó¡¥£Ã£Á£Î£Î£Á} {H0.5.1.4.0.1} \hptar{label=H0.5.1.4.0.1} /etc/hosts.canna¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤Ç¡¢ Ʊ°ì¤Î¥Û¥¹¥È¾å¤Îcannaserver¤¬ÀܳÍ×µá¤ò¼õ¤±ÉÕ¤±¤ë¥Û¥¹¥È¤ÎÀ©¸Â¤ò ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ cannaserver¤ÏƱ°ì¤Î¥Û¥¹¥È¡¢¤Þ¤¿¤Ï/etc/hosts.canna¤ËÅÐÏ¿¤µ¤ì¤¿ ¥Û¥¹¥È¤ÈÅÐÏ¿¤µ¤ì¤¿¥æ¡¼¥¶¤ËÂФ·¤Æ¤Î¤ßÀܳÍ×µá¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ /etc/hosts.canna¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢¥Õ¥¡¥¤¥ë¤ÎŤµ¤¬0¤Î¾ì¹ç¤Ï ¤¹¤Ù¤Æ¤Î¥Û¥¹¥È¤¬cannaserver¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ (/etc/hosts.canna¤ËÉÔÀµ¤Êµ­½Ò¤ò¤¹¤ë¤È¡¢ ¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¯¤Ê¤ë¤ª¤½¤ì¤¬¤¢¤ë¤Î¤ÇÃí°Õ ¤·¤Æ¤¯¤À¤µ¤¤¡£) ¥Û¥¹¥È̾¤Î¤¢¤È¤Ë¥³¥í¥ó":"¤ò½ñ¤­¡¢¤½¤Î¸å¤Ë¥æ¡¼¥¶Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ ¿¿ô¤Î¥æ¡¼¥¶¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶Ì¾¤È¥æ¡¼¥¶Ì¾¤Î´Ö¤Ë¥«¥ó¥Þ","¤ò½ñ¤­¤Þ¤¹¡£ ¥Û¥¹¥È̾¤Î¤ß¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢ ¤½¤Î¥Û¥¹¥È¤Î¥æ¡¼¥¶Á´°÷¤Î¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ cannaserver¤¬Â¸ºß¤¹¤ë¥Û¥¹¥È¤Î̾Á°¤Ï,"unix"¤Èµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ /etc/hosts.canna¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë"unix"¤È¤¤¤¦ µ­½Ò¤¬¤Ê¤¤¤È¡¢¤½¤Î¥Û¥¹¥È¼«¿È¤Î cannaserver¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¯ ¤Ê¤ê¤Þ¤¹¡£ (Îã) \begin{nquote}{2em} \begin{verbatim} pdg3:hanafusa,root pbg1: pbg4 pbg5 unix \end{verbatim} \end{nquote} \item \IDX{cshost}{£Ã£Ó£È£Ï£Ó£Ô} cshost(1M)¤Ç¥¢¥¯¥»¥¹²Äǽ¤Ê¥Û¥¹¥È̾¤È¥æ¡¼¥¶Ì¾¤Î¥ê¥¹¥È(¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼ ¥ë¥ê¥¹¥È) ¤ò»²¾È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \end{itemize} \section{\IDX{¼­¡¡¡¡½ñ}{¤·¤·¤è}} \label{3.4.2¼­½ñ} \subsection{¼­½ñ¤È\HIDX{¼­½ñ¥Õ¥¡¥¤¥ë}{¤·¤·¤è¤Õ¤¢¤¤¤ë}{H0.5.2.1.0}} ¤«¤Ê´Á»úÊÑ´¹¤ËÍѤ¤¤ë¡Ö¼­½ñ¡×¤Ï¡¢¤«¤Ê¤ò´Á»ú¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Î¥Ç¡¼¥¿¤ò³ÊǼ ¤·¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£¡Ö¼­½ñ¡×¤¬Ç¼¤á¤Æ¤¢¤ë¥Õ¥¡¥¤¥ë¤ò¡Ö¼­½ñ¥Õ¥¡¥¤¥ë¡×¤È¸Æ¤Ó ¤Þ¤¹¡£¡Ö¼­½ñ¥Õ¥¡¥¤¥ë¡×¤Ë¤Ï£±¸Ä¤À¤±¤Î¡Ö¼­½ñ¡×¤¬Ç¼¤á¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤â¤¢¤ì ¤Ð¡¢Ê£¿ô¤Î¡Ö¼­½ñ¡×¤¬Ç¼¤á¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£¡Ö¼­½ñ¥Õ¥¡¥¤¥ë¡×¤Ë¤Ï ¥Æ¥­¥¹¥È·Á¼°¤Î¤â¤Î¤È¥Ð¥¤¥Ê¥ê·Á¼°¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¥·¥¹¥Æ¥à¤ÇºÇ½é¤«¤éÄó ¶¡¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤ò¥·¥¹¥Æ¥à¼­½ñ¤È¸Æ¤Ó¤Þ¤¹¡£ \subsection{\HIDX{¥·¥¹¥Æ¥à¼­½ñ¤Î¥Ç¥£¥ì¥¯¥È¥ê}{¤·¤¹¤Æ¤à¤·¤·¤è¤Î¤Æ¤¤¤ì¤¯ ¤È¤ê}{H0.5.2.2.0}} ËÜ¥·¥¹¥Æ¥à¤Ç¤Ï¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤Ø¤Î¥¢¥¯¥»¥¹¤Ïñ°ì¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤À ¤±¤¬¹Ô¤¤¤Þ¤¹¡£¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤Ï¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬Æ°ºî¤·¤Æ¤¤¤ë¥Þ¥·¥ó ¾å¤Î\HIDX{\refCANNALIBDIR /dic}{¡¿£Õ£Ó£Ò¡¿£Ì£É£Â¡¿£Ã£Á£Î£Î£Á¡¿£Ä£É£Ã} {H0.5.2.2.0}¤Î²¼¤Ë¤¢¤ê¤Þ¤¹¡£ \begin{itemize} \item \HIDX{¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê}{¤·¤·¤è¤Û¡¼¤à¤Æ¤¤¤ì¤¯¤È¤ê} {H0.5.2.2.0.1} \hptar{label=H0.5.2.2.0.1} \refCANNALIBDIR /dic ¤ò¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤È¸Æ¤Ó¤Þ¤¹¡£¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤Ï¤µ¤é ¤Ë canna¡¢user¡¢group ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢¤ê¤Þ¤¹¡£ \item \HIDX{¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê}{¤·¤·¤è¤Æ¤¤¤ì¤¯¤È¤ê} {H0.5.2.2.0.2} \hptar{label=H0.5.2.2.0.2} \refCANNALIBDIR /dic/canna¡¢\refCANNALIBDIR /dic/user¡¢ \refCANNALIBDIR /dic/group¡¢¤ò¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤È¸Æ¤Ó¤Þ¤¹¡£ canna ÇÛ²¼¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥·¥¹¥Æ¥à¼­½ñ¥Õ¥¡¥¤¥ë¤È¸Æ¤Ó¤Þ¤¹¡£ user ÇÛ²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¤ÎÍøÍѼԤ´¤È¤Ë»ÈÍѤ¹¤ë¼­½ñ¤òʬ ¤±¤Æ´ÉÍý¤¹¤ë¤¿¤á¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê̾¤Ï¥æ¡¼¥¶Ì¾¤ÈƱ¤¸¤Ç¤¹ ( uid ¤¬°Û¤Ê¤ëÍøÍÑ¼Ô¤Ç¤â¥æ¡¼¥¶Ì¾¤¬Æ±¤¸¾ì¹ç¤ÏƱ¤¸ÍøÍѼԤȤߤʤµ¤ì¤Þ¤¹¤Î¤Ç Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤ )¡£ ¤Þ¤¿¡¢group ÇÛ²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥°¥ë¡¼¥×̾(gid)¤¬Æ±¤¸ÍøÍѼԴ֤Ƕ¦ÄÌ ¤Ë»ÈÍѤ¹¤ë¼­½ñ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ ¥°¥ë¡¼¥×¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê̾¤Ï¥°¥ë¡¼¥×̾¤ÈƱ¤¸¤Ç¤¹¡£ \item \HIDX{¥·¥¹¥Æ¥à¼­½ñ¥Õ¥¡¥¤¥ë}{¤·¤¹¤Æ¤à¤·¤·¤è¤Õ¤¢¤¤¤ë}{H0.5.2.2.0.3} \hptar{label=H0.5.2.2.0.3} \refCANNALIBDIR /dic ¤Î²¼¤Ë¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¦¤Á¡¢canna¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ ¤«¤Ê´Á»úÊÑ´¹¤òÍøÍѤ¹¤ë¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤Ë¶¦Ä̤˻ÈÍѤµ¤ì¤Þ¤¹(¤³¤Î¤¿ ¤ácanna¤È¤¤¤¦¥æ¡¼¥¶Ì¾¤ò¤â¤Ä¥æ¡¼¥¶¤Ë¤è¤ë¼­½ñ¤ÎºîÀ®Åù¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹)¡£ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ë¼­½ñ¥Õ¥¡¥¤¥ë¤Î¤³¤È¤ò¥·¥¹¥Æ¥à¼­½ñ¥Õ¥¡¥¤¥ë¤È¸Æ ¤Ó¤Þ¤¹¡£¥·¥¹¥Æ¥à¼­½ñ¥Õ¥¡¥¤¥ë¤Ë¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ \begin{nquote}{1em} \begin{verbatim} iroha.cbd fuzokugo.cbd hojomwd.ctd hojoswd.ctd chimei.ctd kanasmpl.ctd software.ctd user.ctd necgaiji.ctd \end{verbatim} \end{nquote} \item \HIDX{¥æ¡¼¥¶¼­½ñ¥Õ¥¡¥¤¥ë}{¤æ¡¼¤µ¤·¤·¤è¤Õ¤¢¤¤¤ë}{H0.5.2.2.0.4} \hptar{label=H0.5.2.2.0.4} ¤«¤Ê´Á»úÊÑ´¹ÍøÍѼԤϥ·¥¹¥Æ¥à¼­½ñ¥Õ¥¡¥¤¥ë°Ê³°¤Ë³Æ¼«¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Î ¼­½ñ¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³Æ¼«¤ÇÍѰդ·¤¿¼­½ñ¥Õ¥¡¥¤¥ë¤Ï ¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ëuserÇÛ²¼¤Ë¥í¥°¥¤¥ó̾¤ÈƱ̾¤Î¥Ç¥£¥ì ¥¯¥È¥ê¤òºîÀ®¤·¤Æ¤½¤Î²¼¤ËÃÖ¤¤¤Æ¤ª¤­¤Þ¤¹¡£Ã±¸ìÅÐÏ¿¤ÎºÝ¡¢¤«¤Ê´Á»úÊÑ´¹ ¥µ¡¼¥Ð¤¬¼­½ñ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ½ñ¤­¹þ¤ß¤ò¹Ô¤¤¤Þ¤¹¡£¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð ¤Ï¥ª¡¼¥Ê/¥°¥ë¡¼¥×¤¬bin/bin¤Çưºî¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¼­½ñ¥Õ¥¡¥¤¥ë¤òºîÀ® ¤¹¤ë»þ¤Ï¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤òbin¤Ë¤·¤Æ¥°¥ë¡¼¥×¤ËÂФ¹¤ë½ñ¤­¹þ¤ß¸¢ ¤ò³«Êü¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ \item \HIDX{¥°¥ë¡¼¥×¼­½ñ¥Õ¥¡¥¤¥ë}{¤¯¤ë¡¼¤Õ¤·¤·¤è¤Õ¤¢¤¤¤ë} {H0.5.2.2.0.5} \hptar{label=H0.5.2.2.0.5} ¤«¤Ê´Á»úÊÑ´¹ÍøÍѼԤΥ°¥ë¡¼¥×̾(gid)¤¬Æ±¤¸ÍøÍѼԴ֤Ǥϡ¢ ¶¦Ä̤μ­½ñ¥Õ¥¡¥¤¥ë¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤Ëñ¸ì¤òÅÐÏ¿¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥°¥ë¡¼¥×̾¤¬Æ±¤¸ÍøÍѼԤϡ¢ ¤½¤Îñ¸ì¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢³Æ¼«¤ÇÅÐÏ¿¤¹¤ë¼ê´Ö¤¬¤Ï¤Ö¤±¡¢ ¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤òºï¸º¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Ã±¸ìÅÐÏ¿¤ÎºÝ¤Ï¡¢ ¥æ¡¼¥¶¼­½ñ¥Õ¥¡¥¤¥ë¤ÈƱÍͤˡ¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬¼­½ñ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ ½ñ¤­¹þ¤ß¤ò¹Ô¤¤¤Þ¤¹¤Î¤Ç¡¢¼­½ñ¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë»þ¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Î ¥°¥ë¡¼¥×¤òbin¤Ë¤·¤Æ¥°¥ë¡¼¥×¤ËÂФ¹¤ë½ñ¤­¹þ¤ß¸¢¤ò³«Êü¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¥°¥ë¡¼¥×¼­½ñ¤Ï¡¢¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ëgroupÇÛ²¼¤Ë¡¢ ¥°¥ë¡¼¥×̾¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¤½¤Î²¼¤ËÃÖ¤«¤ì¤Þ¤¹¡£ ¥°¥ë¡¼¥×¼­½ñ¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù Version 3.2 ¤è¤êÁ°¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ \item \HIDX{¼­½ñ¥µ¡¼¥Á¥Ñ¥¹}{¤·¤·¤è¤µ¡¼¤Á¤Ï¤¹}{H0.5.2.2.0.6} \hptar{label=H0.5.2.2.0.6} ¼­½ñ¤òõ¤·½Ð¤¹½ç½ø¤Î¤³¤È¤ò¼­½ñ¥µ¡¼¥Á¥Ñ¥¹¤È¤¤¤¤¤Þ¤¹¡£ \begin{enumerate} \item ¡Ø¤«¤ó¤Ê¡ÙVersion 3.2 ¤è¤êÁ°¤Î¥¯¥é¥¤¥¢¥ó¥È¤Î¾ì¹ç \\ ¤«¤Ê´Á»úÊÑ´¹¤ËÍѤ¤¤ë¼­½ñ¤Ï¡¢¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Î¥í¥°¥¤¥ó̾¤ÈƱ ̾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Î¼­½ñ¤ò¤Þ¤ºÃµ¤·¤ÆÍѤ¤¤è¤¦¤È¤·¤Þ¤¹¡£¼¡¤Ë¥·¥¹¥Æ¥à¼­½ñ¥Õ¥¡¥¤¥ë ¤ÎÃæ¤«¤é»ØÄꤵ¤ì¤¿¼­½ñ¤òõ¤·¤ÆÍѤ¤¤Þ¤¹¡£ \item ¡Ø¤«¤ó¤Ê¡ÙVersion 3.2 °Ê¹ß¤Î¥¯¥é¥¤¥¢¥ó¥È¤Î¾ì¹ç \\ ¥æ¡¼¥¶¼­½ñ¡¢¥°¥ë¡¼¥×¼­½ñ¡¢¥·¥¹¥Æ¥à¼­½ñ¤È¤¤¤¦½ç¤Ç¼­½ñ¤òõ¤·¤Æ ÍѤ¤¤è¤¦¤È¤·¤Þ¤¹¡£ ¥æ¡¼¥¶¼­½ñ¤òõ¤¹ºÝ¤Ë¤Ï¡¢user ÇÛ²¼¤Ë¤¢¤ë¥í¥°¥¤¥ó̾¤ÈƱ̾¤Î¥Ç¥£¥ì¥¯ ¥È¥ê¤Î²¼¤Î¼­½ñ¤òõ¤·¤ÆÍѤ¤¤è¤¦¤È¤·¤Þ¤¹¡£ ¥°¥ë¡¼¥×¼­½ñ¤òõ¤¹ºÝ¤Ë¤Ï¡¢ group ÇÛ²¼¤Ë¤¢¤ë¥°¥ë¡¼¥×̾¤ÈƱ̾¤Î¥Ç¥£ ¥ì¥¯¥È¥ê¤Î²¼¤Î¼­½ñ¤òõ¤·¤ÆÍѤ¤¤è¤¦¤È¤·¤Þ¤¹¡£ ºÇ¸å¤Ë¡¢¥·¥¹¥Æ¥à¼­½ñ¥Õ¥¡¥¤¥ë¤ÎÃæ¤«¤é»ØÄꤵ¤ì¤¿¼­½ñ¤òõ¤·¤ÆÍѤ¤¤Þ¤¹¡£ \\ ¥æ¡¼¥¶¼­½ñ¤È¥°¥ë¡¼¥×¼­½ñ¤ËƱ¤¸¼­½ñ̾¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì¹ç¤Ï¡¢ ¥æ¡¼¥¶¼­½ñ¤¬Í¥À褵¤ì¤ÆÍѤ¤¤é¤ì¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢Ã±¸ì¤òÅÐÏ¿¡¦ºï½ü¤¹¤ëºÝ¤Ë¥æ¡¼¥¶¼­½ñ¤ËÂФ·¤Æ¹Ô¤¤¤Þ¤¹¤Î¤Ç Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ \end{enumerate} \end{itemize} \subsection{¼­½ñ¥Õ¥¡¥¤¥ë¤Î·Á¼°} ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¥Õ¥¡¥¤¥ë¤Ë¤Ï¼¡¤Î£²¤Ä¤Î·Á¼°¤¬¤¢¤ê¤Þ¤¹¡£ \begin{itemize} \item \HIDX{¥Æ¥­¥¹¥È·Á¼°¼­½ñ}{¤Æ¤­¤¹¤È¤±¤¤¤·¤­¤·¤·¤è}{H0.5.2.3.0.1} \hptar{label=H0.5.2.3.0.1} Ä̾ï¤Î¥Æ¥­¥¹¥È·Á¼°¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Ã±¸ìÅÐÏ¿¤Ê¤É¤Ï¤³¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤Ë ³ÊǼ¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤ËÂФ·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£¥Æ¥­¥¹¥È·Á¼°¤Ç¤¹¤Î¤ÇÄ̾ï¤Î¥¨¥Ç¥£ ¥¿¤Ç¥á¥ó¥Æ¥Ê¥ó¥¹¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£(¤¿¤À¤·¡¢¥µ¡¼¥Ð¤¬»ÈÍÑÃæ¤Î¼­½ñ¥Õ¥¡ ¥¤¥ë¤ò¥¨¥Ç¥£¥È¤·¤Æ¤â¡¢¤½¤ÎÊѹ¹¤Ï̵¸ú¤È¤Ê¤ê¤Þ¤¹) ¼­½ñ¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤Ï ".ctd" ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ \item \HIDX{¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ}{¤Ï¤¤¤Ê¤ê¤±¤¤¤·¤­¤·¤·¤è}{H0.5.2.3.0.2} \hptar{label=H0.5.2.3.0.2} ¼­½ñ¤ÎÆÉ¤ß¹þ¤ß¤¬¹â®¤Ë¤Ê¤ë¤è¤¦¤Ê·Á¼°¤ËÊÑ´¹¤µ¤ì¤¿¼­½ñ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¼­½ñ ¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤Ï ".cbd" ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼­½ñÃæ¤Ë¤¢¤ëÉÔÍפÊñ¸ì ¤òºï½ü¤¹¤ë¤³¤È¤ä¡¢°ìÅÙºï½ü¤·¤¿Ã±¸ì¤òÉü³è¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¼­½ñ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¥Æ¥­¥¹¥È·Á¼°¤È¥Ð¥¤¥Ê¥ê·Á¼°¤òÁê ¸ßÊÑ´¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£¤Þ¤¿¡¢Ê£¿ô¤Î¥Ð¥¤¥Ê¥ê·Á¼°¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤ò cat(1)¤Þ¤¿¤Ïdicar(1)¤Ç£±¤Ä¤Î¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤¹¤ë¤³¤È¤¬¤Ç ¤­¤Þ¤¹¡£dicar(1)¤Ë¤Ä¤¤¤Æ¤Ï {\dg\bf \ref{4¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£} \hpref{count=13,label=H0.6.0.0.0}¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£}¤ò»²¾È¤·¤Æ ¤¯¤À¤µ¤¤¡£ ¼­½ñ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤ò¥Ð¥¤¥Ê¥ê·Á¼° ¤ËÊÑ´¹¤·¤¿¾ì¹ç¡¢¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤Ï¡¢ÆâÉô¤Ë¤â¤È¤Î¥Æ¥­¥¹¥È·Á¼°¼­ ½ñ¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤òÊÝ»ý¤·¤Æ¤ª¤­¤Þ¤¹¡£cat(1)¤Çñ°ì¤Î¥Ð¥¤¥Ê¥ê·Á¼°¼­ ½ñ¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤¿¾ì¹ç¤â¤³¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë̾¤Ï¼º¤ï¤ì¤Þ¤»¤ó¡£ cat(1)¤Ç¼­½ñ¤ò·ë¹ç¤·¤¿¾ì¹ç¡¢¤½¤Î¥Ð¥¤¥Ê¥ê¼­½ñ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¼­½ñ ¤ò¶èÊ̤¹¤ë¤Î¤Ë¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë̾¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡£ \end{itemize} \subsection{¼­½ñ¤Î½êÍ­¼Ô¡¦Èó½êÍ­¼Ô} ¼­½ñ¤Ï¡¢¤À¤ì¤Ç¤âñ¸ì¤òÅÐÏ¿¤·¤¿¤ê¡¢¼­½ñ¤ÎÃæ¿È¤ò¸«¤¿¤ê¤Ç¤­¤ëÌõ ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¼­½ñ¤½¤ì¤¾¤ì¤ËÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£ ¼­½ñ¤ËÂФ·¤Æ¤ÎÀ©¸Â¤Ï¡¢½êÍ­¼Ô¤ÈÈó½êÍ­¼Ô¤Ë¤è¤Ã¤ÆÊѤï¤ê¤Þ¤¹¡£ ¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê {\tt \refCANNALIBDIR /dic} ÇÛ²¼¤Î¼­½ñ¤Î½êÍ­¼Ô¤Ë¤Ä¤¤¤Æ¤Î ¹Í¤¨Êý¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£ \begin{center} \begin{tabular}{|c|p{11em}|p{11em}|} \hline &\hspace*{3em}½êÍ­¼Ô & \hspace*{3em}Èó½êÍ­¼Ô \\ \hline \verb+user/*+ ÇÛ²¼ & ¥í¥°¥¤¥ó̾¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸Ì¾Á°¤ÎÍøÍÑ¼Ô & ¤½¤ì °Ê³°¤ÎÍøÍÑ¼Ô \\ \hline \verb+group/*+ ÇÛ²¼ & ¥°¥ë¡¼¥×̾¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸Ì¾Á°¤ÎÍøÍÑ¼Ô & ¤½ ¤ì°Ê³°¤ÎÍøÍÑ¼Ô \\ \hline \verb+canna+ ÇÛ²¼ & ÍøÍѼÔÁ´°÷ & ¤Ê¤·\\ \hline \end{tabular} \end{center} \vspace{1em} ¥æ¡¼¥¶¼­½ñ¤Ï¡¢{\tt \refCANNALIBDIR /dic/user} ÇÛ²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¥í¥°¥¤¥ó ̾¤ÎÍøÍѼԤ˽êÍ­¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¥°¥ë¡¼¥×¼­½ñ¤Ï¡¢ {\tt \refCANNALIBDIR /dic/group} ÇÛ²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¥°¥ë¡¼¥×̾ ¤ÎÍøÍѼԤ˽êÍ­¤µ¤ì¤Þ¤¹¡£¥·¥¹¥Æ¥à¼­½ñ¤Ï¡¢ÍøÍѼÔÁ´°÷¤¬½êÍ­¼Ô¤È¤Ê¤Ã¤Æ¤¤¤Þ ¤¹¤¬¡¢¥·¥¹¥Æ¥à¼­½ñ¤Ø¤Îñ¸ì¤ÎÅÐÏ¿¡¦ºï½ü¤Ï¹Ô¤¨¤Þ¤»¤ó¡£ \subsection{¼­½ñ¤Î {\tt READ¡¦WRITE}¸¢} \label{¼­½ñ¤ÎREAD¡¦WRITE¸¢} ¼­½ñ¤Î {\tt READ} ¸¢¤Ï¡¢Èó½êÍ­¼Ô¤¬¼­½ñ¤ÎÃæ¿È¤ò¸«¤¿¤ê({\tt catdic(1)})¡¢ ¼­½ñ¤Î¥³¥Ô¡¼ ({\tt cpdic(1)})¤ò¤·¤¿¤ê¤Ç¤­¤ë¤«¤É¤¦¤«¤ÎÀ©¸Â¤òÍ¿¤¨¤Þ¤¹¡£ ¾¿Í¤Ë¼­½ñ¤ÎÃæ¿È¤ò¸«¤é¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢{\tt READ} ¸¢¤ò¤Ê¤¯¤·¤Æ¤ª¤¯¤³¤È¤Ë ¤è¤Ã¤Æ¡¢Â¾¿Í¤ËÃæ¿È¤ò¸«¤é¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¼­½ñ¤Î {\tt WRITE} ¸¢¤Ï¡¢½êÍ­¼Ô¤¬Ã±¸ì¤ÎÅÐÏ¿¡¦ºï½ü¤Ç¤­¤ë¤«¤É¤¦¤«¤ÎÀ©¸Â¤òÍ¿¤¨ ¤Þ¤¹¡£ ¤³¤ÎÀ©¸Â¤Ï¼ç¤Ë¥°¥ë¡¼¥×¼­½ñ¤ò¹Íθ¤·¤¿¤â¤Î¤Ç¡¢{\tt WRITE} ¸¢¤ò¤Ê¤¯¤·¤Æ¤ª¤¯¤³¤È ¤Ç¡¢Æ±¤¸¥°¥ë¡¼¥×¤ÎÍøÍѼԴ֤ǤÎÉÔÍѰդÊñ¸ìÅÐÏ¿¡¦ºï½ü¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ ¤¹¡£ \begin{center} \begin{tabular}{|c|p{7em}|p{7em}|} \hline & \makebox[7em]{½êÍ­¼Ô} & \makebox[7em]{Èó½êÍ­¼Ô} \\ \hline \verb+READ+ ¸¢ & \makebox[7em]{¡û} & \makebox[7em]{¡û ¡¿ ¡ß} \\ \hline \verb+WRITE+ ¸¢ & \makebox[7em]{¡û ¡¿ ¡ß} & \makebox[7em]{¡ß} \\ \hline \end{tabular} \end{center} \vspace{1em} \subsection{\HIDX{¼­½ñÌÜÏ¿}{¤·¤·¤è¤â¤¯¤í¤¯}{H0.5.2.6.0} (\HIDX{dics.dir}{£Ä£É£Ã£Ó¡¥£Ä£É£Ò}{H0.5.2.6.0})} ¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Î³Æ¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Ë¤É¤Î¤è¤¦¤Ê¼­½ñ¤¬Â¸ºß¤¹¤ë ¤«¤Ï³Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Îdics.dir¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ dics.dir¤Îµ­½Ò¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ \begin{nquote}{1em} \begin{verbatim} # # ¥·¥¹¥Æ¥à¼­½ñ # fuzokugo.cbd(fuzokugo.swd) -fuzokugo--- fuzokugo.cld(fuzokugo.swd) -fuzokugo--- iroha.cbd(iroha.mwd) -iroha--- iroha.cld(iroha.mwd) -iroha--- iroha.cbd(yuubin.mwd) -yuubin--- yuubin.cld(yuubin.mwd) -yuubin--- iroha.cbd(bushu.mwd) -bushu--- bushu.cld(bushu.mwd) -bushu--- hojomwd.ctd(.mwd) -hojomwd--- hojoswd.ctd(.swd) -hojoswd--- \end{verbatim} \end{nquote} % \begin{nquote}{1em} \begin{verbatim} # # ¥æ¡¼¥¶¼­½ñ # user1.ctd(.mwd) -user1--r- user2.ctd(.mwd) -user2--rw- user3.ctd(.mwd) -user3--w- user4.ctd(.mwd) -user4--- \end{verbatim} \end{nquote} % \begin{nquote}{1em} \begin{verbatim} # # ¥°¥ë¡¼¥×¼­½ñ # user1.ctd(.mwd) -group1--r- user2.ctd(.mwd) -group2--rw- user3.ctd(.mwd) -group3--w- user4.ctd(.mwd) -group4--- \end{verbatim} \end{nquote} % dics.dir¤Ç¤Ï£±¹Ô¤Ë£±¤Ä¤Î¼­½ñ¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤ò¹Ô¤¤¤Þ¤¹¡£¤Þ¤º¡¢°ìÈÖº¸¤Ë¼­ ½ñ¥Õ¥¡¥¤¥ë̾¤òµ­½Ò¤·¤Þ¤¹¡£¼¡¤Ë()¤Ë¶´¤Þ¤ì¤Æµ­½Ò¤µ¤ì¤ë¤Î¤¬¡¢¤½¤Î¼­½ñ¥Õ¥¡ ¥¤¥ë¤ÎÃæ¤Ë¸ºß¤¹¤ë¼­½ñ¤Î»Ò¼­½ñ̾¤Ç¤¹¡£±¦Â¦¤Ë¥Ï¥¤¥Õ¥ó($-$)¤Ç°Ï¤Ã¤Æµ­½Ò ¤µ¤ì¤Æ¤¤¤ë¤Î¤¬¤½¤Î¼­½ñ¤Ë¤Ä¤±¤¿¼­½ñ̾¤Ç¤¹¡£¤³¤Î¼­½ñ̾¤¬¼­½ñ¤Î»ØÄê¤ËÍѤ¤ ¤é¤ì¤Þ¤¹¡£¼­½ñ̾¤Ï¥Õ¥¡¥¤¥ë̾¤ª¤è¤Ó»Ò¼­½ñ̾¤Ë°Í¸¤»¤º¡¢¼«Í³¤Ë̿̾¤¹¤ë¤³ ¤È¤¬¤Ç¤­¤Þ¤¹¡£()Æâ¤Ëµ­½Ò¤µ¤ì¤ë»Ò¼­½ñ̾¤Ï¡¢¤½¤Î¼­½ñ¤ò¥Æ¥­¥¹¥È·Á¼°¤«¤é¥Ð ¥¤¥Ê¥ê·Á¼°¤ËÊÑ´¹¤¹¤ëºÝ¤Ë̿̾¤µ¤ì¤Þ¤¹¡£»Ò¼­½ñ̾¤Î³Èĥ̾¤Î³ÈÄ¥»Ò¤Ï ".mwd"¤Þ¤¿¤Ï".swd"¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥Æ¥­¥¹¥È¼­½ñ¤Î¾ì¹ç¡¢ ¥Ù¡¼¥¹¥Í¡¼¥à¤ò¾Êά¤·¤Æ".mwd"¤Þ¤¿¤Ï".swd"¤ò»Ò¼­½ñ̾¤È¤·¤Þ¤¹¡£ ¼­½ñ̾¤ò°Ï¤ó¤Ç¤¤¤ë¥Ï¥¤¥Õ¥ó \verb+"-"+ ¤Î¼¡¤Ë¥¢¥¯¥»¥¹¸¢¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤ò ¹Ô¤¤¤Þ¤¹¡£ Èó½êÍ­¼Ô¤Ë {\tt READ} ¸¢¤¬¤¢¤ë¤Ê¤é¤Ð {\tt "r"} ¤ò¡¢½êÍ­¼Ô¤Ë {\tt WRITE} ¸¢¤¬¤¢¤ë¤Ê¤é¤Ð {\tt "w"} ¤ò¡¢¥Ï¥¤¥Õ¥ó \verb+"-"+ ¤Ç°Ï¤ó¤Çµ­½Ò¤·¤Þ¤¹¡£ {\tt READ¡¦WRITE}¸¢¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥Ï¥¤¥Õ¥ó¤Î¤ß¤ò³¤±¤Æµ­½Ò¤·¤Þ¤¹¡£ dics.dir¤Ç\#¤«¤é²þ¹Ô¤Þ¤Ç¤Ï¥³¥á¥ó¥È¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ ÉÑÅÙÊ̳ؽ¬¾ðÊó¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢ {\tt READ¡¦WRITE}¸¢¤Ë´Ø·¸¤Ê¤¯¤½¤Î¥Õ¥¡ ¥¤¥ë¤Î½êÍ­¼Ô¤Ç¤¢¤ì¤Ð¡¢½ñ¤­¹þ¤ß¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \subsection{\HIDX{¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Îºî¤êÊý}{¤Æ¤­¤¹¤È¤±¤¤¤·¤­¤·¤·¤è¤Î ¤Ä¤¯¤ê¤«¤¿}{H0.5.2.7.0}} £±¹Ô¤ËÆÉ¤ß¡¢Éʻ졢ñ¸ì¤ò¶õÇò¤Þ¤¿¤Ï¥¿¥Ö¤Ç¶èÀڤäƵ­½Ò¤·¤Þ¤¹¡£Ã±¸ì¤Ï¶õÇò ¤Þ¤¿¤Ï¥¿¥Ö¤Ç¶èÀÚ¤ì¤ÐÊ£¿ôµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¼­½ñ¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥Ð¥¤¥Ê¥ê¼­½ñ¤È¶èÊ̤¹¤ë¤¿¤á¤Ëxxx.ctd¤È¤¤¤¦Ì¾Á°¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ÆÉ¤ß¡¡Éʻ졡ñ¸ì¡¡¡Îñ¸ì¡Ï¡¡¡Ä (Îã) \begin{nquote}{1em} \begin{tabular}{lll} ¤¢¤× & \#T35 & ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¡¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à \\ ¤ª & \#KJ & ¤ª¡¡¸æ \\ ¤«¤Ê¤«¤ó & \#T30 & ¤«¤Ê´Á»úÊÑ´¹ \\ ¤Ç¤Õ¤©¤ë¤È & \#T15 & ¥Ç¥Õ¥©¥ë¥È \\ ¤Õ¤¸¤¤¤¨ & \#JN & Æ£²È \\ ¡¡¡§ & & \\ ¡¡¡§ & & \\ ¡¡¡§ & & \\ \end{tabular} \end{nquote} ÉÊ»ì¤òɽ¤ï¤¹µ­¹æ¤Ë¤Ä¤¤¤Æ¤Ï{\dg\bf ÉÕÏ¿\ref{Éʻ쥳¡¼¥Éɽ}} \hpref{count=6,label=H0.H.0.0.0}Éʻ쥳¡¼¥Éɽ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \subsection{\IDX{¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ}{¤Ï¤¤¤Ê¤ê¤±¤¤¤·¤­¤·¤·¤è}¤Îºî¤êÊý} ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤ò¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¤Ë¤Ï¡¢ mkbindic(1)¤ò»È¤Ã¤Æ¹Ô¤¤¤Þ¤¹¡£ xxx.ctd¤È¤¤¤¦¥Æ¥­¥¹¥È¼­½ñ¤ò¥Ð¥¤¥Ê¥ê·Á¼°¤ËÊÑ´¹¤¹¤ë¤È¡¢xxx.mwd¤È¤¤¤¦Ì¾Á°¤¬ »Ò¼­½ñ̾¤Ë¤Ê¤ê¤Þ¤¹¡£ (Îã) \begin{nquote}{2em} \verb+ % mkbindic foo.ctd + \end{nquote} mkbindic(1)¤ò¼Â¹Ô¤·¤Þ¤¹¤È¡¢ÆÉ¤ß¤ò¥­¡¼¤È¤·¤Æ¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤ò¼­½ñ½ç¤Ë¥½¡¼¥È¤·¡¢¤½¤ì¤ò¥Ð¥¤¥Ê¥ê²½¤·¡¢xxx.cbd(Îã¤Ç¤Ï¡¢foo.cbd)¤È¤¤¤¦¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¤òºîÀ®¤·¤Þ¤¹¡£ Ê£¿ô¤Î¼­½ñ¥Õ¥¡¥¤¥ë¤ò¤Þ¤È¤á¤Æ£±¤Ä¤Î¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ (Îã1) \begin{nquote}{2em} \verb+ % cat foo.cbd >> bar.cbd + \end{nquote} (Îã2) \begin{nquote}{2em} \verb+ % dicar -r bar.cbd foo.cbd + \end{nquote} \subsection{¥Ð¥¤¥Ê¥ê·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤È¥Æ¥­¥¹¥È·Á¼°¼­½ñ¥Õ¥¡¥¤¥ë¤ÎÁê¸ßÊÑ´¹} ¼­½ñ¤Ï¥Æ¥­¥¹¥È·Á¼°¤Ç¤â¥Ð¥¤¥Ê¥ê·Á¼°¤Ç¤â»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢Ã±¸ìÅÐ Ï¿Íѥ桼¥¶¼­½ñ¤È¤·¤Æ»È¤¨¤ë¤Î¤Ï¥Æ¥­¥¹¥È·Á¼°¤À¤±¤Ç¤¹¡£ ¥Æ¥­¥¹¥È·Á¼°¤È¥Ð¥¤¥Ê¥ê·Á¼°¤Ï¡¢Áê¸ß¤ËÊÑ´¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ð¥¤¥Ê¥ê·Á ¼°¤Ø¤ÎÊÑ´¹¤Ïmkbindic(1)¡¢¥Ð¥¤¥Ê¥ê·Á¼°¤«¤é¥Æ¥­¥¹¥È·Á¼°¤Ø¤ÎÊÑ´¹¤Ï dpbindic(1)¤ò»È¤¤¤Þ¤¹¡£mkbindic(1)¤Èdpbindic(1)¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢ {\dg\bf \ref{4¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£} \hpref{count=13,label=H0.6.0.0.0}¤«¤Ê´Á»úÊÑ´¹¥æ¡¼¥Æ¥£¥ê ¥Æ¥£}¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \subsection{¥æ¡¼¥¶¼­½ñ¤ÎÀßÄê} ñ¸ìÅÐÏ¿¤ò¹Ô¤¦¤Ë¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥ºµ¡Ç½¤Ë¤è¤ê¥æ¡¼¥¶¼­½ñ¤ÎÀßÄê¤ò¹Ô¤¦É¬Íפ¬ ¤¢¤ê¤Þ¤¹¡£¥«¥¹¥¿¥Þ¥¤¥ºµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï {\dg\bf \ref{3.3¥«¥¹¥¿¥Þ¥¤¥º} \hpref{count=6,label=H0.4.0.0.0}¥«¥¹¥¿ ¥Þ¥¤¥º} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \usedictool %³Æ¥æ¡¼¥¶¤Î¥æ¡¼¥¶¼­½ñ¤ÎºîÀ®¤Ï°Ê²¼¤Ë¼¨¤¹¥³¥Þ¥ó¥ÉÁàºî¤Ë¤è¤ëÊýË¡¤È % GUI ¥Ù¡¼¥¹¤Î¼­½ñ¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ % % GUI ¥Ù¡¼¥¹¤Î¼­½ñ¥Ä¡¼¥ë¤ÎÁàºîÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï % {\dg\bf \ref{¼­½ñ¥Ä¡¼¥ë} \hpref{count=5,label=H0.7.0.0.0}¼­½ñ¥Ä¡¼¥ë} %¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{enumerate} \item .canna¤ÎºîÀ® ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë .canna ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢°Ê²¼¤Î¤è¤¦¤Ë½ñ¤­¹þ ¤ó¤Ç¤¯¤À¤µ¤¤¡£°ú¿ô¤Ë¤Ï¼­½ñ̾¤òµ­½Ò¤·¤Þ¤¹¡£ºÇ½é¤Î£²¹Ô¤Ï´ðËܤˤʤ뼭½ñ¤Î̾Á° ¤Ç¤¹¤Î¤Çɬ¤ºµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Ï¤¸¤á¤Ï\refCANNALIBDIR /sample¤Î²¼¤Îdefault.canna¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼ ¤·¤ÆÍѤ¤¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ Îã) \begin{nquote}{1em} \begin{verbatim} (use-dictionary "iroha" "fuzokugo" :user "dicname" ) \end{verbatim} \end{nquote} \item ¥æ¡¼¥¶¼­½ñ¥Õ¥¡¥¤¥ë¤ÎºîÀ® mkdic(1)¤Ë¤è¤ê¥æ¡¼¥¶¼­½ñ(¥Æ¥­¥¹¥È·Á¼°)¤ÎºîÀ®¤¬²Äǽ¤Ç¤¹¡£ ¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ë¤è¤ê¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¼­½ñ¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¡¢É¬Íפ˱þ¤¸¤Ædics.dir¥Õ¥¡¥¤¥ë¤¬¹¹¿·¤¢¤ë¤¤¤ÏºîÀ®¤µ¤ì¤Þ¤¹¡£ (Îã) \begin{nquote}{2em} \verb+ % mkdic dicname + \end{nquote} °Ê²¼¤ÎÁàºî¤Ë¤è¤êmkdic(1)¤ÈƱ¤¸½èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{enumerate} \item ¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ® \refCANNALIBDIR /dic/user/¤Î²¼¤Ë¼«Ê¬¤Î¥æ¡¼¥¶Ì¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤Ã¤Æ¤¯¤À¤µ¤¤¡£ \item ¼­½ñ¥Õ¥¡¥¤¥ë¤ÎºîÀ® ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ëfilename.ctd¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤¹¡£filename¤ÏǤ°Õ¤Î̾Á°¤Ç¡¢¤³¤ì¤òdics.dir¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ÅÐÏ¿¤Ï¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¹Ô¤¤¤Þ¤¹¤Î¤Ç¡¢É¬¤º .ctd ¤È¤¤¤¦³ÈÄ¥»Ò¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£¥Õ¥¡¥¤¥ë¤Ë¤Ï²¿¤â½ñ¤­¹þ¤àɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ïbin¤È¤·¡¢¥°¥ë¡¼¥×¤ËÂФ¹¤ë½ñ¤­¹þ¤ß¸¢¤òµö²Ä¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ò¹Ô¤ï¤Ê¤¤¤Èñ¸ìÅÐÏ¿¤¬È¿±Ç¤µ¤ì¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ \item dics.dir¤ÎºîÀ® ¥æ¡¼¥¶¼­½ñ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ëdics.dir¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤Ã¤Æ¤¯¤À¤µ¤¤¡£ dics.dir¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê²¼¤Ë¤¢¤ë¼­½ñ¤Î°ìÍ÷¤òÊÝ»ý¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¼­½ñ¥Õ¥¡¥¤¥ë¤Î̾Á°¡¢¼­½ñ¤Î¼ïÎà¡¢¼­½ñ̾¡¢ ¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£ Îã) \begin{nquote}{2em} \begin{tabular}{lc} {¡¡¡¡¡¡}\underline{filename.ctd} (\underline{.mwd}) & \underline{-dicname-rw-} \\ ¼­½ñ¥Õ¥¡¥¤¥ë̾¡¡¡¡¢­ & ¼­½ñ̾¤È¥¢¥¯¥»¥¹¸¢ \\ \multicolumn{2}{c}{»Ò¼­½ñ̾(¼«Î©¸ì¼­½ñ¤Ç¤¢¤ë¤³¤È¤ò»ØÄê)} \\ \end{tabular} \end{nquote} Ãí°Õ ¥¢¥¯¥»¥¹¸¢(-rw-)¤Ï¡¢{\tt r} ¤Ï {\tt READ}¸¢¤¢¤ê¡¢{\tt w} ¤Ï {\tt WRITE} ¸¢¤¢¤ê¤òɽ¤·¤Þ¤¹¡£ \end{enumerate} \end{enumerate} \subsection{¥°¥ë¡¼¥×¼­½ñ¤ÎÀßÄê} ñ¸ìÅÐÏ¿¤ò¹Ô¤¦¤Ë¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥ºµ¡Ç½¤Ë¤è¤ê¥æ¡¼¥¶¼­½ñ¤ÎÀßÄê¤ò¹Ô¤¦É¬Íפ¬ ¤¢¤ê¤Þ¤¹¡£¥«¥¹¥¿¥Þ¥¤¥ºµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï {\dg\bf \ref{3.3¥«¥¹¥¿¥Þ¥¤¥º} \hpref{count=6,label=H0.4.0.0.0}¥«¥¹¥¿ ¥Þ¥¤¥º} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \usedictool %³Æ¥æ¡¼¥¶¤Î¥æ¡¼¥¶¼­½ñ¤ÎºîÀ®¤Ï°Ê²¼¤Ë¼¨¤¹¥³¥Þ¥ó¥ÉÁàºî¤Ë¤è¤ëÊýË¡¤È % GUI ¥Ù¡¼¥¹¤Î¼­½ñ¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ % % GUI ¥Ù¡¼¥¹¤Î¼­½ñ¥Ä¡¼¥ë¤ÎÁàºîÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï % {\dg\bf \ref{¼­½ñ¥Ä¡¼¥ë} \hpref{count=5,label=H0.7.0.0.0}¼­½ñ¥Ä¡¼¥ë} %¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ \begin{enumerate} \item .canna¤ÎºîÀ® ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë .canna ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢°Ê²¼¤Î¤è¤¦¤Ë½ñ¤­¹þ ¤ó¤Ç¤¯¤À¤µ¤¤¡£°ú¿ô¤Ë¤Ï¼­½ñ̾¤òµ­½Ò¤·¤Þ¤¹¡£ºÇ½é¤Î£²¹Ô¤Ï´ðËܤˤʤ뼭½ñ¤Î̾Á° ¤Ç¤¹¤Î¤Çɬ¤ºµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Ï¤¸¤á¤Ï\refCANNALIBDIR /sample¤Î²¼¤Îdefault.canna¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼ ¤·¤ÆÍѤ¤¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ Îã) \begin{nquote}{1em} \begin{verbatim} (use-dictionary "iroha" "fuzokugo" :user "dicname" ) \end{verbatim} \end{nquote} \item ¥°¥ë¡¼¥×¼­½ñ¥Õ¥¡¥¤¥ë¤ÎºîÀ® mkdic(1)¤Ë¤è¤ê¥°¥ë¡¼¥×¼­½ñ(¥Æ¥­¥¹¥È·Á¼°)¤ÎºîÀ®¤¬²Äǽ¤Ç¤¹¡£ ¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ë¤è¤ê¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¼­½ñ¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¡¢ ɬÍפ˱þ¤¸¤Ædics.dir¥Õ¥¡¥¤¥ë¤¬¹¹¿·¤¢¤ë¤¤¤ÏºîÀ®¤µ¤ì¤Þ¤¹¡£ (Îã) \begin{nquote}{2em} \verb+ % mkdic -G dicname + \end{nquote} °Ê²¼¤ÎÁàºî¤Ë¤è¤êmkdic(1)¤ÈƱ¤¸½èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ \begin{enumerate} \item ¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ® \refCANNALIBDIR /dic/group/¤Î²¼¤Ë¶¦Í­¤¹¤ë¥°¥ë¡¼¥×̾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò ºî¤Ã¤Æ¤¯¤À¤µ¤¤¡£ \item ¼­½ñ¥Õ¥¡¥¤¥ë¤ÎºîÀ® ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ëfilename.ctd¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤¹¡£filename¤ÏǤ°Õ¤Î ̾Á°¤Ç¡¢¤³¤ì¤òdics.dir¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ÅÐÏ¿¤Ï¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¹Ô¤¤¤Þ¤¹ ¤Î¤Ç¡¢É¬¤º .ctd ¤È¤¤¤¦³ÈÄ¥»Ò¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£¥Õ¥¡¥¤¥ë¤Ë¤Ï²¿¤â½ñ¤­¹þ¤àɬ ÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ïbin¤È¤·¡¢¥°¥ë¡¼¥×¤ËÂФ¹¤ë½ñ¤­¹þ¤ß¸¢¤òµö²Ä¤·¤Æ ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ò¹Ô¤ï¤Ê¤¤¤Èñ¸ìÅÐÏ¿¤¬È¿±Ç¤µ¤ì¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ \item dics.dir¤ÎºîÀ® ¥°¥ë¡¼¥×¼­½ñ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ëdics.dir¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤Ã¤Æ ¤¯¤À¤µ¤¤¡£ dics.dir¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê²¼¤Ë¤¢¤ë¼­½ñ¤Î°ìÍ÷¤òÊÝ»ý¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¼­½ñ¥Õ¥¡¥¤¥ë¤Î̾Á°¡¢¼­½ñ¤Î¼ïÎà¡¢¼­½ñ̾¡¢ ¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£ Îã) \begin{nquote}{2em} \begin{tabular}{lc} {¡¡¡¡¡¡}\underline{filename.ctd} (\underline{.mwd}) & \underline{-dicname-rw-} \\ ¼­½ñ¥Õ¥¡¥¤¥ë̾¡¡¡¡¢­ & ¼­½ñ̾¤È¥¢¥¯¥»¥¹¸¢ \\ \multicolumn{2}{c}{»Ò¼­½ñ̾(¼«Î©¸ì¼­½ñ¤Ç¤¢¤ë¤³¤È¤ò»ØÄê)} \\ \end{tabular} \end{nquote} Ãí°Õ ¥¢¥¯¥»¥¹¸¢(-rw-)¤Ï¡¢{\tt r} ¤Ï {\tt READ}¸¢¤¢¤ê¡¢{\tt w} ¤Ï {\tt WRITE} ¸¢¤¢¤ê¤òɽ¤·¤Þ¤¹¡£ \end{enumerate} \end{enumerate} \subsection{\IDX{Wnn}{£×£Î£Î}Âбþ} º£¤Þ¤Ç¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¤È¤·¤ÆWnn¤ò»ÈÍѤ·¤Æ¤­¤¿¥æ¡¼¥¶¤Ë¡Ø¤«¤ó¤Ê¡Ù ¤òÍ­¸ú¤Ë¸æ»ÈÍѤ·¤Æ¤¤¤¿¤À¤¯¤¿¤á¤Î´Ê°×¥Ä¡¼¥ë¤òÍѰդ·¤Þ¤·¤¿¡£ ¤ª¤½¤é¤¯¡¢Wnn¤ò»È¤¤¹þ¤ó¤Ç¤­¤¿¥æ¡¼¥¶¤Ë¤Ï¼«Ê¬¤Ê¤ê¤Î¼­½ñ¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È ¤Ç¤·¤ç¤¦¡£¤½¤³¤ÇWnn¥æ¡¼¥¶¤ÏWnn¤Ç¤Î»È¤¤´·¤ì¤¿¼­½ñ¤ò¡Ø¤«¤ó¤Ê¡Ù ¤Î·Á¼°¤ËÊÑ´¹¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ËÜ¥·¥¹¥Æ¥à¤Çº£¤Þ¤Ç¤É¤ª¤ê¤Î¤«¤Ê´Á»úÊÑ´¹¤¬¤Ç ¤­¤Þ¤¹¡£¤³¤Î¤¿¤á¤Ë¡¢Wnn¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤ò¡Ø¤«¤ó¤Ê¡Ù¤Î¥Æ¥­ ¥¹¥È·Á¼°¼­½ñ¤ËÊÑ´¹¤¹¤ë¥³¥Þ¥ó¥Éwtoc(1)¤¬¤¢¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢¡Ø¤«¤ó¤Ê¡Ù¤ÈWnn¤ÎξÊý¤ò»ÈÍѤ·¤Æ¤¤¤ë¥æ¡¼¥¶¤Ï¡Ø¤«¤ó¤Ê¡Ù ¤Ç¤Î¼­½ñ¤òWnn¤È¶¦Í­¤¹¤ë¤³¤È¤¬¤Ç¤­¤ì¤ÐÊØÍø¤Ç¤·¤ç¤¦¡£¤½¤Î¤¿¤á ¤Ë¡Ø¤«¤ó¤Ê¡Ù¤Î¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤òWnn¤Î·Á¼°¤ËÊÑ´¹¤¹¤ë¥³¥Þ¥ó¥Éctow(1)¤¬ ¤¢¤ê¤Þ¤¹¡£wtoc¤Èctow¤Ë¤è¤êWnn¤È¡Ø¤«¤ó¤Ê¡Ù´Ö¤Ç¤«¤Ê´Á»úÊÑ´¹¼­ ½ñ¤òÁê¸ß¤ËÍøÍѤǤ­¤Þ¤¹¡£ Canna37p3/doc/man/guide/zukei/0040755000076500001200000000000010052700707015412 5ustar shinraadminCanna37p3/doc/man/guide/zukei/.cvsignore0100644000076500001200000000000007601177342017406 0ustar shinraadminCanna37p3/doc/man/guide/zukei/context.eps0100644000076500001200000001323107554213577017625 0ustar shinraadmin%!PS-Adobe-2.0 EPSF-2.0 %%Title: EPSF %%Creator: cxdraw %%CreationDate: Thu Mar 5 18:15:21 1992 %%Pages: (atend) %%BoundingBox: 64 422 588 819 %%DocumentFonts: Times-Roman %%+ Times-Bold %%+ Helvetica %%+ Helvetica-Bold %%+ Courier %%+ Courier-Bold %%+ Times-Italic %%+ Ryumin-Light-H %%+ GothicBBB-Medium-H %%+ Ryumin-Light.Hankaku %%EndComments %/ext/s38g/src/lib/ce/RCS/PsInit.c,v 6.1 % 602PS-A4 local procs % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % $Id: context.eps,v 1.1.1.1 2002/10/19 08:27:43 aida_s Exp $ % /Save_state save def /$CANAE 100 dict def $CANAE begin % % canae local script % /BD{bind def}def /LD{load def}BD /XD{exch def}BD /CPT{transform round exch round exch itransform}BD % % PostScript basic operators % % Operand stak manupulation operators /X/exch LD /R/roll LD % Graphics state oerators /GS/gsave LD/GR/grestore LD /SW/setlinewidth LD/SC/setlinecap LD/SJ/setlinejoin LD/SD/setdash LD /SG/setgray LD /HSB /sethsbcolor LD/RGB/setrgbcolor LD % Coordinate system and matrix operators /MT/matrix LD /DMT/defaultmatrix LD /SMT/setmatrix LD /TR/translate LD /SCL/scale LD /CO/concat LD % Path construction operators /NP/newpath LD /M{CPT moveto}BD /RM{CPT rmoveto}BD /L{CPT lineto}BD /RL{CPT rlineto}BD /A/arc LD/AN/arcn LD /A2/arcto LD /C2/curveto LD /RC2/rcurveto LD /CP/closepath LD /STP/strokepath LD /CL/clip LD/ECL/eoclip LD % Painting operators /FI{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop fill setflat}BD /EF{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop eofill setflat}BD /STK{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop stroke setflat}BD /IMM/imagemask LD /IM/image LD % constants /T/true LD/F/false LD % page start & end /BP{/pvm save def}BD/EP{pvm restore}BD % text & font % scale fontNo SF - % set font /$SF 1 dict def /SF{$SF begin X/s X def FD X get [s 0 0 s neg 0 0] makefont setfont end}BD % str scale fontNo SH - %set font, decide scale and show /SH{SF show}BD % str scale fontNo dx RS - %rmove current point, decide font scale & set and show /RS{0 rmoveto SF show}BD % pattern % pat bool llx lly urx ury _doPat /$_doPat 10 dict def /_doPat{ $_doPat begin 8 add 8 div cvi 8 mul/ury XD 8 add 8 div cvi 8 mul/urx XD 8 sub 8 div cvi 8 mul/lly XD 8 sub 8 div cvi 8 mul/llx XD /b XD/p XD llx lly TR ury lly sub dup urx llx sub dup 4 -1 R gt{X pop}{pop}ifelse /w XD/lw w 7 add 8 div cvi def /str lw 8 mul string def 0 1 7{/y XD 0 1 lw 1 sub{lw y mul add str X p y get put}for }for w w scale w w b[w 0 0 w neg 0 w]{str}IMM end }BD % fill solid color % fR fG fB doSolid /doSolid{RGB FI}BD % tile % pat fR fG fB bR bG bB doTile /doTile{ pathbbox 10 4 R doSolid RGB T 5 1 R _doPat }BD % stipple % pat bool fR fG fB doStipple /doStipple{ RGB pathbbox _doPat }BD % pattern % bool pat doPat /doPat{ GS X pathbbox _doPat GR }BD % line % x1 y1 x2 y2 doLine - /doLine{4 2 R M L}BD % rect % llx lly urx ury doRect - /$doRect 4 dict def /doRect{ $doRect begin /ury XD/urx XD/lly XD/llx XD llx lly M urx lly L urx ury L llx ury L CP end % $doRect }BD % arc % xpos ypos xscale yscale startangle endangle doArc - /doArc{ MT currentmatrix 7 -2 R TR 5 -2 R SCL 3 1 R 0 0 1 5 -2 R arc SMT }BD /doArcn{ MT currentmatrix 7 -2 R TR 5 -2 R SCL 3 1 R 0 0 1 5 -2 R arcn SMT }BD % raster % width height linebytes doBinary - /$doBinary 3 dict def /doBinary{ $doBinary begin string/ps XD/h XD/w XD w h SCL w h T[w 0 0 h 0 0]{currentfile ps readhexstring pop}IMM end % $doBinary }BD /doRaster{doBinary}def % raster % width height bps linebytes doGrayScale - /$doGrayScale 4 dict def /doGrayScale{ $doGrayScale begin string/ps XD/b XD /h XD/w XD w h SCL w h b[w 0 0 h 0 0]{currentfile ps readhexstring pop}IM end % $doGrayScale }BD %EndProlog %%EndProlog %%BeginSetup % font setup /FD 10 array def /Times-Roman findfont /Times-Bold findfont /Helvetica findfont /Helvetica-Bold findfont /Courier findfont /Courier-Bold findfont /Times-Italic findfont /Ryumin-Light-H findfont /GothicBBB-Medium-H findfont /Ryumin-Light.Hankaku findfont FD astore pop %%EndSetup %%Page: 0 1 BP [1 0 0 -1 22.6772 827.717]CO % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 56 24 M 14 7 SF <2163>show 74 24 M <25262523257325492526>show 147 24 M <2164>show GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 374 24 M 14 7 SF <2163>show 392 24 M <2557256d253b2539>show 451 24 M <2164>show GR % label end % rect begin NP 143 275 M 334 275 L 334 404 L 143 404 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % picture begin % rect begin NP 44 106 M 235 106 L 235 235 L 44 235 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 -12 -62]CO 65 194 M 14 7 SF <3b64244e>show GR % label end % picture end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 153 299 M 14 7 SF <4a4c244e467e4e4f>show 216 299 M <2223>show GR % label end % rect begin NP 380 106 M 472 106 L 472 183 L 380 183 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % line begin NP 400 184 M 336 329 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 236 182 M 378 159 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 381 74 M 14 0 SF (1)show 388 74 M 14 7 SF <2444244e2557256d253b2539244b2446>show 500 74 M 14 0 SF (2)show 507 74 M 14 7 SF <2444244e>show 381 92 M <25262523257325492526242b2469467e4e4f247246402446246b>show GR % label end EP % PR-602PS epilog % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % end % $CANAE %count{type ==}repeat Save_state restore %%Trailer %%Pages: 1 Canna37p3/doc/man/guide/zukei/interdpy.eps0100644000076500001200000001533707554213577020010 0ustar shinraadmin%!PS-Adobe-2.0 EPSF-2.0 %%Title: EPSF %%Creator: cxdraw %%CreationDate: Wed Feb 19 18:23:18 1992 %%Pages: (atend) %%BoundingBox: 64 413 501 802 %%DocumentFonts: Times-Roman %%+ Times-Bold %%+ Helvetica %%+ Helvetica-Bold %%+ Courier %%+ Courier-Bold %%+ Times-Italic %%+ Ryumin-Light-H %%+ GothicBBB-Medium-H %%+ Ryumin-Light.Hankaku %%EndComments %/ext/s38g/src/lib/ce/RCS/PsInit.c,v 6.1 % 602PS-A4 local procs % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % $Id: interdpy.eps,v 1.1.1.1 2002/10/19 08:27:43 aida_s Exp $ % /Save_state save def /$CANAE 100 dict def $CANAE begin % % canae local script % /BD{bind def}def /LD{load def}BD /XD{exch def}BD /CPT{transform round exch round exch itransform}BD % % PostScript basic operators % % Operand stak manupulation operators /X/exch LD /R/roll LD % Graphics state oerators /GS/gsave LD/GR/grestore LD /SW/setlinewidth LD/SC/setlinecap LD/SJ/setlinejoin LD/SD/setdash LD /SG/setgray LD /HSB /sethsbcolor LD/RGB/setrgbcolor LD % Coordinate system and matrix operators /MT/matrix LD /DMT/defaultmatrix LD /SMT/setmatrix LD /TR/translate LD /SCL/scale LD /CO/concat LD % Path construction operators /NP/newpath LD /M{CPT moveto}BD /RM{CPT rmoveto}BD /L{CPT lineto}BD /RL{CPT rlineto}BD /A/arc LD/AN/arcn LD /A2/arcto LD /C2/curveto LD /RC2/rcurveto LD /CP/closepath LD /STP/strokepath LD /CL/clip LD/ECL/eoclip LD % Painting operators /FI{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop fill setflat}BD /EF{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop eofill setflat}BD /STK{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop stroke setflat}BD /IMM/imagemask LD /IM/image LD % constants /T/true LD/F/false LD % page start & end /BP{/pvm save def}BD/EP{pvm restore}BD % text & font % scale fontNo SF - % set font /$SF 1 dict def /SF{$SF begin X/s X def FD X get [s 0 0 s neg 0 0] makefont setfont end}BD % str scale fontNo SH - %set font, decide scale and show /SH{SF show}BD % str scale fontNo dx RS - %rmove current point, decide font scale & set and show /RS{0 rmoveto SF show}BD % pattern % pat bool llx lly urx ury _doPat /$_doPat 10 dict def /_doPat{ $_doPat begin 8 add 8 div cvi 8 mul/ury XD 8 add 8 div cvi 8 mul/urx XD 8 sub 8 div cvi 8 mul/lly XD 8 sub 8 div cvi 8 mul/llx XD /b XD/p XD llx lly TR ury lly sub dup urx llx sub dup 4 -1 R gt{X pop}{pop}ifelse /w XD/lw w 7 add 8 div cvi def /str lw 8 mul string def 0 1 7{/y XD 0 1 lw 1 sub{lw y mul add str X p y get put}for }for w w scale w w b[w 0 0 w neg 0 w]{str}IMM end }BD % fill solid color % fR fG fB doSolid /doSolid{RGB FI}BD % tile % pat fR fG fB bR bG bB doTile /doTile{ pathbbox 10 4 R doSolid RGB T 5 1 R _doPat }BD % stipple % pat bool fR fG fB doStipple /doStipple{ RGB pathbbox _doPat }BD % pattern % bool pat doPat /doPat{ GS X pathbbox _doPat GR }BD % line % x1 y1 x2 y2 doLine - /doLine{4 2 R M L}BD % rect % llx lly urx ury doRect - /$doRect 4 dict def /doRect{ $doRect begin /ury XD/urx XD/lly XD/llx XD llx lly M urx lly L urx ury L llx ury L CP end % $doRect }BD % arc % xpos ypos xscale yscale startangle endangle doArc - /doArc{ MT currentmatrix 7 -2 R TR 5 -2 R SCL 3 1 R 0 0 1 5 -2 R arc SMT }BD /doArcn{ MT currentmatrix 7 -2 R TR 5 -2 R SCL 3 1 R 0 0 1 5 -2 R arcn SMT }BD % raster % width height linebytes doBinary - /$doBinary 3 dict def /doBinary{ $doBinary begin string/ps XD/h XD/w XD w h SCL w h T[w 0 0 h 0 0]{currentfile ps readhexstring pop}IMM end % $doBinary }BD /doRaster{doBinary}def % raster % width height bps linebytes doGrayScale - /$doGrayScale 4 dict def /doGrayScale{ $doGrayScale begin string/ps XD/b XD /h XD/w XD w h SCL w h b[w 0 0 h 0 0]{currentfile ps readhexstring pop}IM end % $doGrayScale }BD %EndProlog %%EndProlog %%BeginSetup % font setup /FD 10 array def /Times-Roman findfont /Times-Bold findfont /Helvetica findfont /Helvetica-Bold findfont /Courier findfont /Courier-Bold findfont /Times-Italic findfont /Ryumin-Light-H findfont /GothicBBB-Medium-H findfont /Ryumin-Light.Hankaku findfont FD astore pop %%EndSetup %%Page: 0 1 BP [1 0 0 -1 22.6772 827.717]CO % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 112 41 M 14 7 SF <334e446a243724462424246b4a383b7a>show GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 392 41 M 14 7 SF <4a5134394366244e4a383b7a>show GR % label end % picture begin % rect begin NP 44 123 M 441 123 L 441 331 L 44 331 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 64 165 M 14 7 SF <4d4d2139244a>show 113 165 M <34413b7a2472>show 176 165 M <4a5134392439246b24332448242c>show 295 165 M <3244473d24472439>show GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 56 303 M 14 7 SF <214e>show 81 303 M <2422>show 105 303 M <214f>show 130 303 M <2331>show 154 303 M <4a5134392439246b24332448242c>show 273 303 M <2332>show 291 303 M <4a5634542439246b24332448242c>show GR % label end % picture begin % rect begin NP 131 290 M 147 290 L 147 306 L 131 306 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 1 241]CO 132 63 M 14 7 SF <2331>show GR % label end % picture end % line begin NP 112 168 M 350 168 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 168 168 M 168 151 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 284 168 M 284 151 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 168 151 M 284 151 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % picture end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 72 409 M 14 7 SF <2562213c2549493d3c28>show GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 264 393 M 14 7 SF <252c25242549256925242573493d3c28>show GR % label end % line begin NP 84 312 M 102 385 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 176 316 M 222 386 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 223 386 M 256 386 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 104 36 M 87 58 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 87 58 M 87 142 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 368 37 M 390 37 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 368 37 M 128 142 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 364 40 M 246 145 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end % line begin NP 364 40 M 333 138 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % line end EP % PR-602PS epilog % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % end % $CANAE %count{type ==}repeat Save_state restore %%Trailer %%Pages: 1 Canna37p3/doc/man/guide/zukei/katakana.epsf0100644000076500001200000024310107554213600020046 0ustar shinraadmin%!PS-Adobe-2.0 EPSF-2.0 %%Title: EPSF %%Creator: cxdraw %%CreationDate: Tue Oct 13 10:58:42 1992 %%Pages: (atend) %%BoundingBox: 23 376 516 827 %%DocumentFonts: Times-Roman %%+ Times-Bold %%+ Helvetica %%+ Helvetica-Bold %%+ Courier %%+ Courier-Bold %%+ Times-Italic %%+ Ryumin-Light-H %%+ GothicBBB-Medium-H %%+ Ryumin-Light.Hankaku %%EndComments %/ext/s38g/src/lib/ce/RCS/PsInit.c,v 6.3 % 602PS-A4 local procs % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % $Id: katakana.epsf,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ % /Save_state save def /$CANAE 100 dict def $CANAE begin % % canae local script % /BD{bind def}def /LD{load def}BD /XD{exch def}BD /CPT{transform round exch round exch itransform}BD % % PostScript basic operators % % Operand stak manupulation operators /X/exch LD /R/roll LD % Graphics state oerators /GS/gsave LD/GR/grestore LD /SW/setlinewidth LD/SC/setlinecap LD/SJ/setlinejoin LD/SD/setdash LD /SG/setgray LD /HSB /sethsbcolor LD/RGB/setrgbcolor LD % Coordinate system and matrix operators /MT/matrix LD /DMT/defaultmatrix LD /SMT/setmatrix LD /TR/translate LD /SCL/scale LD /CO/concat LD % Path construction operators /NP/newpath LD /M{CPT moveto}BD /RM{CPT rmoveto}BD /L{CPT lineto}BD /RL{CPT rlineto}BD /A/arc LD/AN/arcn LD /A2/arcto LD /C2/curveto LD /RC2/rcurveto LD /CP/closepath LD /STP/strokepath LD /CL/clip LD/ECL/eoclip LD % Painting operators /FI{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop fill setflat}BD /EF{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop eofill setflat}BD /STK{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop stroke setflat}BD /IMM/imagemask LD /IM/image LD % constants /T/true LD/F/false LD % page start & end /BP{/pvm save def}BD/EP{pvm restore}BD % text & font % scale fontNo SF - % set font /$SF 1 dict def /SF{$SF begin X/s X def FD X get [s 0 0 s neg 0 0] makefont setfont end}BD % str scale fontNo SH - %set font, decide scale and show /SH{SF show}BD % str scale fontNo dx RS - %rmove current point, decide font scale & set and show /RS{0 rmoveto SF show}BD % pattern % pat bool llx lly urx ury _doPat /$_doPat 10 dict def /_doPat{ $_doPat begin 8 add 8 div cvi 8 mul/ury XD 8 add 8 div cvi 8 mul/urx XD 8 sub 8 div cvi 8 mul/lly XD 8 sub 8 div cvi 8 mul/llx XD /b XD/p XD llx lly TR ury lly sub dup urx llx sub dup 4 -1 R gt{X pop}{pop}ifelse /w XD/lw w 7 add 8 div cvi def /str lw 8 mul string def 0 1 7{/y XD 0 1 lw 1 sub{lw y mul add str X p y get put}for }for w w scale w w b[w 0 0 w neg 0 w]{str}IMM end }BD % fill solid color % fR fG fB doSolid /doSolid{RGB FI}BD % tile % pat fR fG fB bR bG bB doTile /doTile{ pathbbox 10 4 R doSolid RGB T 5 1 R _doPat }BD % stipple % pat bool fR fG fB doStipple /doStipple{ RGB pathbbox _doPat }BD % pattern % bool pat doPat /doPat{ GS X pathbbox _doPat GR }BD % line % x1 y1 x2 y2 doLine - /doLine{4 2 R M L}BD % rect % llx lly urx ury doRect - /$doRect 4 dict def /doRect{ $doRect begin /ury XD/urx XD/lly XD/llx XD llx lly M urx lly L urx ury L llx ury L CP end % $doRect }BD % arc % xpos ypos xscale yscale startangle endangle doArc - /doArc{ MT currentmatrix 7 -2 R TR 5 -2 R SCL 3 1 R 0 0 1 5 -2 R arc SMT }BD /doArcn{ MT currentmatrix 7 -2 R TR 5 -2 R SCL 3 1 R 0 0 1 5 -2 R arcn SMT }BD % raster % width height linebytes doBinary - /$doBinary 3 dict def /doBinary{ $doBinary begin string/ps XD/h XD/w XD w h SCL w h T[w 0 0 h 0 0]{currentfile ps readhexstring pop}IMM end % $doBinary }BD /doRaster{doBinary}def % raster % width height bps linebytes doGrayScale - /$doGrayScale 4 dict def /doGrayScale{ $doGrayScale begin string/ps XD/b XD /h XD/w XD w h SCL w h b[w 0 0 h 0 0]{currentfile ps readhexstring pop}IM end % $doGrayScale }BD %EndProlog %%EndProlog %%BeginSetup % font setup /FD 10 array def /Times-Roman findfont /Times-Bold findfont /Helvetica findfont /Helvetica-Bold findfont /Courier findfont /Courier-Bold findfont /Times-Italic findfont /Ryumin-Light-H findfont /GothicBBB-Medium-H findfont /Ryumin-Light.Hankaku findfont FD astore pop %%EndSetup %%Page: 0 1 BP [1 0 0 -1 22.6772 827.717]CO % picture begin % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 3 19 M 14 0 SF (code)show GR % label end % poly begin NP 2 3 M 30.8235 3 L 2 29.3529 M 30.8235 29.3529 L 2 3 M 2 29.3529 L 30.8235 3 M 30.8235 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 44 19 M 14 0 SF (0)show GR % label end % poly begin NP 30.8235 3 M 59.6471 3 L 30.8235 29.3529 M 59.6471 29.3529 L 30.8235 3 M 30.8235 29.3529 L 59.6471 3 M 59.6471 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 76 19 M 14 0 SF (1)show GR % label end % poly begin NP 59.6471 3 M 88.4706 3 L 59.6471 29.3529 M 88.4706 29.3529 L 59.6471 3 M 59.6471 29.3529 L 88.4706 3 M 88.4706 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 108 19 M 14 0 SF (2)show GR % label end % poly begin NP 88.4706 3 M 117.294 3 L 88.4706 29.3529 M 117.294 29.3529 L 88.4706 3 M 88.4706 29.3529 L 117.294 3 M 117.294 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 140 19 M 14 0 SF (3)show GR % label end % poly begin NP 117.294 3 M 146.118 3 L 117.294 29.3529 M 146.118 29.3529 L 117.294 3 M 117.294 29.3529 L 146.118 3 M 146.118 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 172 19 M 14 0 SF (4)show GR % label end % poly begin NP 146.118 3 M 174.941 3 L 146.118 29.3529 M 174.941 29.3529 L 146.118 3 M 146.118 29.3529 L 174.941 3 M 174.941 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 204 19 M 14 0 SF (5)show GR % label end % poly begin NP 174.941 3 M 203.765 3 L 174.941 29.3529 M 203.765 29.3529 L 174.941 3 M 174.941 29.3529 L 203.765 3 M 203.765 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 236 19 M 14 0 SF (6)show GR % label end % poly begin NP 203.765 3 M 232.588 3 L 203.765 29.3529 M 232.588 29.3529 L 203.765 3 M 203.765 29.3529 L 232.588 3 M 232.588 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 268 19 M 14 0 SF (7)show GR % label end % poly begin NP 232.588 3 M 261.412 3 L 232.588 29.3529 M 261.412 29.3529 L 232.588 3 M 232.588 29.3529 L 261.412 3 M 261.412 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 300 19 M 14 0 SF (8)show GR % label end % poly begin NP 261.412 3 M 290.235 3 L 261.412 29.3529 M 290.235 29.3529 L 261.412 3 M 261.412 29.3529 L 290.235 3 M 290.235 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 332 19 M 14 0 SF (9)show GR % label end % poly begin NP 290.235 3 M 319.059 3 L 290.235 29.3529 M 319.059 29.3529 L 290.235 3 M 290.235 29.3529 L 319.059 3 M 319.059 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 363 19 M 14 0 SF (A)show GR % label end % poly begin NP 319.059 3 M 347.882 3 L 319.059 29.3529 M 347.882 29.3529 L 319.059 3 M 319.059 29.3529 L 347.882 3 M 347.882 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 395 19 M 14 0 SF (B)show GR % label end % poly begin NP 347.882 3 M 376.706 3 L 347.882 29.3529 M 376.706 29.3529 L 347.882 3 M 347.882 29.3529 L 376.706 3 M 376.706 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 427 19 M 14 0 SF (C)show GR % label end % poly begin NP 376.706 3 M 405.529 3 L 376.706 29.3529 M 405.529 29.3529 L 376.706 3 M 376.706 29.3529 L 405.529 3 M 405.529 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 459 19 M 14 0 SF (D)show GR % label end % poly begin NP 405.529 3 M 434.353 3 L 405.529 29.3529 M 434.353 29.3529 L 405.529 3 M 405.529 29.3529 L 434.353 3 M 434.353 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 491 19 M 14 0 SF (E)show GR % label end % poly begin NP 434.353 3 M 463.176 3 L 434.353 29.3529 M 463.176 29.3529 L 434.353 3 M 434.353 29.3529 L 463.176 3 M 463.176 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 524 19 M 14 0 SF (F)show GR % label end % poly begin NP 463.176 3 M 492 3 L 463.176 29.3529 M 492 29.3529 L 463.176 3 M 463.176 29.3529 L 492 3 M 492 29.3529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 49 M 14 0 SF (0)show GR % label end % poly begin NP 2 29.3529 M 30.8235 29.3529 L 2 55.7059 M 30.8235 55.7059 L 2 29.3529 M 2 55.7059 L 30.8235 29.3529 M 30.8235 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 30.8235 29.3529 M 59.6471 29.3529 L 30.8235 55.7059 M 59.6471 55.7059 L 30.8235 29.3529 M 30.8235 55.7059 L 59.6471 29.3529 M 59.6471 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 59.6471 29.3529 M 88.4706 29.3529 L 59.6471 55.7059 M 88.4706 55.7059 L 59.6471 29.3529 M 59.6471 55.7059 L 88.4706 29.3529 M 88.4706 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 88.4706 29.3529 M 117.294 29.3529 L 88.4706 55.7059 M 117.294 55.7059 L 88.4706 29.3529 M 88.4706 55.7059 L 117.294 29.3529 M 117.294 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 117.294 29.3529 M 146.118 29.3529 L 117.294 55.7059 M 146.118 55.7059 L 117.294 29.3529 M 117.294 55.7059 L 146.118 29.3529 M 146.118 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 146.118 29.3529 M 174.941 29.3529 L 146.118 55.7059 M 174.941 55.7059 L 146.118 29.3529 M 146.118 55.7059 L 174.941 29.3529 M 174.941 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 174.941 29.3529 M 203.765 29.3529 L 174.941 55.7059 M 203.765 55.7059 L 174.941 29.3529 M 174.941 55.7059 L 203.765 29.3529 M 203.765 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 203.765 29.3529 M 232.588 29.3529 L 203.765 55.7059 M 232.588 55.7059 L 203.765 29.3529 M 203.765 55.7059 L 232.588 29.3529 M 232.588 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 232.588 29.3529 M 261.412 29.3529 L 232.588 55.7059 M 261.412 55.7059 L 232.588 29.3529 M 232.588 55.7059 L 261.412 29.3529 M 261.412 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 261.412 29.3529 M 290.235 29.3529 L 261.412 55.7059 M 290.235 55.7059 L 261.412 29.3529 M 261.412 55.7059 L 290.235 29.3529 M 290.235 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 290.235 29.3529 M 319.059 29.3529 L 290.235 55.7059 M 319.059 55.7059 L 290.235 29.3529 M 290.235 55.7059 L 319.059 29.3529 M 319.059 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 319.059 29.3529 M 347.882 29.3529 L 319.059 55.7059 M 347.882 55.7059 L 319.059 29.3529 M 319.059 55.7059 L 347.882 29.3529 M 347.882 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 347.882 29.3529 M 376.706 29.3529 L 347.882 55.7059 M 376.706 55.7059 L 347.882 29.3529 M 347.882 55.7059 L 376.706 29.3529 M 376.706 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 376.706 29.3529 M 405.529 29.3529 L 376.706 55.7059 M 405.529 55.7059 L 376.706 29.3529 M 376.706 55.7059 L 405.529 29.3529 M 405.529 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 405.529 29.3529 M 434.353 29.3529 L 405.529 55.7059 M 434.353 55.7059 L 405.529 29.3529 M 405.529 55.7059 L 434.353 29.3529 M 434.353 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 434.353 29.3529 M 463.176 29.3529 L 434.353 55.7059 M 463.176 55.7059 L 434.353 29.3529 M 434.353 55.7059 L 463.176 29.3529 M 463.176 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 463.176 29.3529 M 492 29.3529 L 463.176 55.7059 M 492 55.7059 L 463.176 29.3529 M 463.176 55.7059 L 492 29.3529 M 492 55.7059 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 79 M 14 0 SF (1)show GR % label end % poly begin NP 2 55.7059 M 30.8235 55.7059 L 2 82.0588 M 30.8235 82.0588 L 2 55.7059 M 2 82.0588 L 30.8235 55.7059 M 30.8235 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 30.8235 55.7059 M 59.6471 55.7059 L 30.8235 82.0588 M 59.6471 82.0588 L 30.8235 55.7059 M 30.8235 82.0588 L 59.6471 55.7059 M 59.6471 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 59.6471 55.7059 M 88.4706 55.7059 L 59.6471 82.0588 M 88.4706 82.0588 L 59.6471 55.7059 M 59.6471 82.0588 L 88.4706 55.7059 M 88.4706 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 88.4706 55.7059 M 117.294 55.7059 L 88.4706 82.0588 M 117.294 82.0588 L 88.4706 55.7059 M 88.4706 82.0588 L 117.294 55.7059 M 117.294 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 117.294 55.7059 M 146.118 55.7059 L 117.294 82.0588 M 146.118 82.0588 L 117.294 55.7059 M 117.294 82.0588 L 146.118 55.7059 M 146.118 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 146.118 55.7059 M 174.941 55.7059 L 146.118 82.0588 M 174.941 82.0588 L 146.118 55.7059 M 146.118 82.0588 L 174.941 55.7059 M 174.941 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 174.941 55.7059 M 203.765 55.7059 L 174.941 82.0588 M 203.765 82.0588 L 174.941 55.7059 M 174.941 82.0588 L 203.765 55.7059 M 203.765 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 203.765 55.7059 M 232.588 55.7059 L 203.765 82.0588 M 232.588 82.0588 L 203.765 55.7059 M 203.765 82.0588 L 232.588 55.7059 M 232.588 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 232.588 55.7059 M 261.412 55.7059 L 232.588 82.0588 M 261.412 82.0588 L 232.588 55.7059 M 232.588 82.0588 L 261.412 55.7059 M 261.412 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 261.412 55.7059 M 290.235 55.7059 L 261.412 82.0588 M 290.235 82.0588 L 261.412 55.7059 M 261.412 82.0588 L 290.235 55.7059 M 290.235 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 290.235 55.7059 M 319.059 55.7059 L 290.235 82.0588 M 319.059 82.0588 L 290.235 55.7059 M 290.235 82.0588 L 319.059 55.7059 M 319.059 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 319.059 55.7059 M 347.882 55.7059 L 319.059 82.0588 M 347.882 82.0588 L 319.059 55.7059 M 319.059 82.0588 L 347.882 55.7059 M 347.882 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 347.882 55.7059 M 376.706 55.7059 L 347.882 82.0588 M 376.706 82.0588 L 347.882 55.7059 M 347.882 82.0588 L 376.706 55.7059 M 376.706 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 376.706 55.7059 M 405.529 55.7059 L 376.706 82.0588 M 405.529 82.0588 L 376.706 55.7059 M 376.706 82.0588 L 405.529 55.7059 M 405.529 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 405.529 55.7059 M 434.353 55.7059 L 405.529 82.0588 M 434.353 82.0588 L 405.529 55.7059 M 405.529 82.0588 L 434.353 55.7059 M 434.353 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 434.353 55.7059 M 463.176 55.7059 L 434.353 82.0588 M 463.176 82.0588 L 434.353 55.7059 M 434.353 82.0588 L 463.176 55.7059 M 463.176 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 463.176 55.7059 M 492 55.7059 L 463.176 82.0588 M 492 82.0588 L 463.176 55.7059 M 463.176 82.0588 L 492 55.7059 M 492 82.0588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 109 M 14 0 SF (2)show GR % label end % poly begin NP 2 82.0588 M 30.8235 82.0588 L 2 108.412 M 30.8235 108.412 L 2 82.0588 M 2 108.412 L 30.8235 82.0588 M 30.8235 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 40 109 M 14 0 SF (S)show 48 109 M (P)show GR % label end % poly begin NP 30.8235 82.0588 M 59.6471 82.0588 L 30.8235 108.412 M 59.6471 108.412 L 30.8235 82.0588 M 30.8235 108.412 L 59.6471 82.0588 M 59.6471 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 77 109 M 14 0 SF (!)show GR % label end % poly begin NP 59.6471 82.0588 M 88.4706 82.0588 L 59.6471 108.412 M 88.4706 108.412 L 59.6471 82.0588 M 59.6471 108.412 L 88.4706 82.0588 M 88.4706 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 109 109 M 14 0 SF (")show GR % label end % poly begin NP 88.4706 82.0588 M 117.294 82.0588 L 88.4706 108.412 M 117.294 108.412 L 88.4706 82.0588 M 88.4706 108.412 L 117.294 82.0588 M 117.294 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 140 109 M 14 0 SF (#)show GR % label end % poly begin NP 117.294 82.0588 M 146.118 82.0588 L 117.294 108.412 M 146.118 108.412 L 117.294 82.0588 M 117.294 108.412 L 146.118 82.0588 M 146.118 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 172 109 M 14 0 SF ($)show GR % label end % poly begin NP 146.118 82.0588 M 174.941 82.0588 L 146.118 108.412 M 174.941 108.412 L 146.118 82.0588 M 146.118 108.412 L 174.941 82.0588 M 174.941 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 202 109 M 14 0 SF (%)show GR % label end % poly begin NP 174.941 82.0588 M 203.765 82.0588 L 174.941 108.412 M 203.765 108.412 L 174.941 82.0588 M 174.941 108.412 L 203.765 82.0588 M 203.765 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 234 109 M 14 0 SF (&)show GR % label end % poly begin NP 203.765 82.0588 M 232.588 82.0588 L 203.765 108.412 M 232.588 108.412 L 203.765 82.0588 M 203.765 108.412 L 232.588 82.0588 M 232.588 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 269 109 M 14 0 SF (')show GR % label end % poly begin NP 232.588 82.0588 M 261.412 82.0588 L 232.588 108.412 M 261.412 108.412 L 232.588 82.0588 M 232.588 108.412 L 261.412 82.0588 M 261.412 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 301 109 M 14 0 SF (\()show GR % label end % poly begin NP 261.412 82.0588 M 290.235 82.0588 L 261.412 108.412 M 290.235 108.412 L 261.412 82.0588 M 261.412 108.412 L 290.235 82.0588 M 290.235 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 333 109 M 14 0 SF (\))show GR % label end % poly begin NP 290.235 82.0588 M 319.059 82.0588 L 290.235 108.412 M 319.059 108.412 L 290.235 82.0588 M 290.235 108.412 L 319.059 82.0588 M 319.059 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 364 109 M 14 0 SF (*)show GR % label end % poly begin NP 319.059 82.0588 M 347.882 82.0588 L 319.059 108.412 M 347.882 108.412 L 319.059 82.0588 M 319.059 108.412 L 347.882 82.0588 M 347.882 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 396 109 M 14 0 SF (+)show GR % label end % poly begin NP 347.882 82.0588 M 376.706 82.0588 L 347.882 108.412 M 376.706 108.412 L 347.882 82.0588 M 347.882 108.412 L 376.706 82.0588 M 376.706 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 430 109 M 14 0 SF (,)show GR % label end % poly begin NP 376.706 82.0588 M 405.529 82.0588 L 376.706 108.412 M 405.529 108.412 L 376.706 82.0588 M 376.706 108.412 L 405.529 82.0588 M 405.529 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 461 109 M 14 0 SF (-)show GR % label end % poly begin NP 405.529 82.0588 M 434.353 82.0588 L 405.529 108.412 M 434.353 108.412 L 405.529 82.0588 M 405.529 108.412 L 434.353 82.0588 M 434.353 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 494 109 M 14 0 SF (.)show GR % label end % poly begin NP 434.353 82.0588 M 463.176 82.0588 L 434.353 108.412 M 463.176 108.412 L 434.353 82.0588 M 434.353 108.412 L 463.176 82.0588 M 463.176 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 526 109 M 14 0 SF (/)show GR % label end % poly begin NP 463.176 82.0588 M 492 82.0588 L 463.176 108.412 M 492 108.412 L 463.176 82.0588 M 463.176 108.412 L 492 82.0588 M 492 108.412 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 139 M 14 0 SF (3)show GR % label end % poly begin NP 2 108.412 M 30.8235 108.412 L 2 134.765 M 30.8235 134.765 L 2 108.412 M 2 134.765 L 30.8235 108.412 M 30.8235 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 44 139 M 14 0 SF (0)show GR % label end % poly begin NP 30.8235 108.412 M 59.6471 108.412 L 30.8235 134.765 M 59.6471 134.765 L 30.8235 108.412 M 30.8235 134.765 L 59.6471 108.412 M 59.6471 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 76 139 M 14 0 SF (1)show GR % label end % poly begin NP 59.6471 108.412 M 88.4706 108.412 L 59.6471 134.765 M 88.4706 134.765 L 59.6471 108.412 M 59.6471 134.765 L 88.4706 108.412 M 88.4706 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 108 139 M 14 0 SF (2)show GR % label end % poly begin NP 88.4706 108.412 M 117.294 108.412 L 88.4706 134.765 M 117.294 134.765 L 88.4706 108.412 M 88.4706 134.765 L 117.294 108.412 M 117.294 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 140 139 M 14 0 SF (3)show GR % label end % poly begin NP 117.294 108.412 M 146.118 108.412 L 117.294 134.765 M 146.118 134.765 L 117.294 108.412 M 117.294 134.765 L 146.118 108.412 M 146.118 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 172 139 M 14 0 SF (4)show GR % label end % poly begin NP 146.118 108.412 M 174.941 108.412 L 146.118 134.765 M 174.941 134.765 L 146.118 108.412 M 146.118 134.765 L 174.941 108.412 M 174.941 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 204 139 M 14 0 SF (5)show GR % label end % poly begin NP 174.941 108.412 M 203.765 108.412 L 174.941 134.765 M 203.765 134.765 L 174.941 108.412 M 174.941 134.765 L 203.765 108.412 M 203.765 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 236 139 M 14 0 SF (6)show GR % label end % poly begin NP 203.765 108.412 M 232.588 108.412 L 203.765 134.765 M 232.588 134.765 L 203.765 108.412 M 203.765 134.765 L 232.588 108.412 M 232.588 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 268 139 M 14 0 SF (7)show GR % label end % poly begin NP 232.588 108.412 M 261.412 108.412 L 232.588 134.765 M 261.412 134.765 L 232.588 108.412 M 232.588 134.765 L 261.412 108.412 M 261.412 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 300 139 M 14 0 SF (8)show GR % label end % poly begin NP 261.412 108.412 M 290.235 108.412 L 261.412 134.765 M 290.235 134.765 L 261.412 108.412 M 261.412 134.765 L 290.235 108.412 M 290.235 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 332 139 M 14 0 SF (9)show GR % label end % poly begin NP 290.235 108.412 M 319.059 108.412 L 290.235 134.765 M 319.059 134.765 L 290.235 108.412 M 290.235 134.765 L 319.059 108.412 M 319.059 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 366 139 M 14 0 SF (:)show GR % label end % poly begin NP 319.059 108.412 M 347.882 108.412 L 319.059 134.765 M 347.882 134.765 L 319.059 108.412 M 319.059 134.765 L 347.882 108.412 M 347.882 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 398 139 M 14 0 SF (;)show GR % label end % poly begin NP 347.882 108.412 M 376.706 108.412 L 347.882 134.765 M 376.706 134.765 L 347.882 108.412 M 347.882 134.765 L 376.706 108.412 M 376.706 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 428 139 M 14 0 SF (<)show GR % label end % poly begin NP 376.706 108.412 M 405.529 108.412 L 376.706 134.765 M 405.529 134.765 L 376.706 108.412 M 376.706 134.765 L 405.529 108.412 M 405.529 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 460 139 M 14 0 SF (=)show GR % label end % poly begin NP 405.529 108.412 M 434.353 108.412 L 405.529 134.765 M 434.353 134.765 L 405.529 108.412 M 405.529 134.765 L 434.353 108.412 M 434.353 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 492 139 M 14 0 SF (>)show GR % label end % poly begin NP 434.353 108.412 M 463.176 108.412 L 434.353 134.765 M 463.176 134.765 L 434.353 108.412 M 434.353 134.765 L 463.176 108.412 M 463.176 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 525 139 M 14 0 SF (?)show GR % label end % poly begin NP 463.176 108.412 M 492 108.412 L 463.176 134.765 M 492 134.765 L 463.176 108.412 M 463.176 134.765 L 492 108.412 M 492 134.765 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 169 M 14 0 SF (4)show GR % label end % poly begin NP 2 134.765 M 30.8235 134.765 L 2 161.118 M 30.8235 161.118 L 2 134.765 M 2 161.118 L 30.8235 134.765 M 30.8235 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 41 169 M 14 0 SF (@)show GR % label end % poly begin NP 30.8235 134.765 M 59.6471 134.765 L 30.8235 161.118 M 59.6471 161.118 L 30.8235 134.765 M 30.8235 161.118 L 59.6471 134.765 M 59.6471 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 75 169 M 14 0 SF (A)show GR % label end % poly begin NP 59.6471 134.765 M 88.4706 134.765 L 59.6471 161.118 M 88.4706 161.118 L 59.6471 134.765 M 59.6471 161.118 L 88.4706 134.765 M 88.4706 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 107 169 M 14 0 SF (B)show GR % label end % poly begin NP 88.4706 134.765 M 117.294 134.765 L 88.4706 161.118 M 117.294 161.118 L 88.4706 134.765 M 88.4706 161.118 L 117.294 134.765 M 117.294 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 139 169 M 14 0 SF (C)show GR % label end % poly begin NP 117.294 134.765 M 146.118 134.765 L 117.294 161.118 M 146.118 161.118 L 117.294 134.765 M 117.294 161.118 L 146.118 134.765 M 146.118 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 171 169 M 14 0 SF (D)show GR % label end % poly begin NP 146.118 134.765 M 174.941 134.765 L 146.118 161.118 M 174.941 161.118 L 146.118 134.765 M 146.118 161.118 L 174.941 134.765 M 174.941 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 203 169 M 14 0 SF (E)show GR % label end % poly begin NP 174.941 134.765 M 203.765 134.765 L 174.941 161.118 M 203.765 161.118 L 174.941 134.765 M 174.941 161.118 L 203.765 134.765 M 203.765 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 236 169 M 14 0 SF (F)show GR % label end % poly begin NP 203.765 134.765 M 232.588 134.765 L 203.765 161.118 M 232.588 161.118 L 203.765 134.765 M 203.765 161.118 L 232.588 134.765 M 232.588 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 267 169 M 14 0 SF (G)show GR % label end % poly begin NP 232.588 134.765 M 261.412 134.765 L 232.588 161.118 M 261.412 161.118 L 232.588 134.765 M 232.588 161.118 L 261.412 134.765 M 261.412 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 299 169 M 14 0 SF (H)show GR % label end % poly begin NP 261.412 134.765 M 290.235 134.765 L 261.412 161.118 M 290.235 161.118 L 261.412 134.765 M 261.412 161.118 L 290.235 134.765 M 290.235 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 333 169 M 14 0 SF (I)show GR % label end % poly begin NP 290.235 134.765 M 319.059 134.765 L 290.235 161.118 M 319.059 161.118 L 290.235 134.765 M 290.235 161.118 L 319.059 134.765 M 319.059 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 365 169 M 14 0 SF (J)show GR % label end % poly begin NP 319.059 134.765 M 347.882 134.765 L 319.059 161.118 M 347.882 161.118 L 319.059 134.765 M 319.059 161.118 L 347.882 134.765 M 347.882 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 395 169 M 14 0 SF (K)show GR % label end % poly begin NP 347.882 134.765 M 376.706 134.765 L 347.882 161.118 M 376.706 161.118 L 347.882 134.765 M 347.882 161.118 L 376.706 134.765 M 376.706 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 427 169 M 14 0 SF (L)show GR % label end % poly begin NP 376.706 134.765 M 405.529 134.765 L 376.706 161.118 M 405.529 161.118 L 376.706 134.765 M 376.706 161.118 L 405.529 134.765 M 405.529 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 458 169 M 14 0 SF (M)show GR % label end % poly begin NP 405.529 134.765 M 434.353 134.765 L 405.529 161.118 M 434.353 161.118 L 405.529 134.765 M 405.529 161.118 L 434.353 134.765 M 434.353 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 491 169 M 14 0 SF (N)show GR % label end % poly begin NP 434.353 134.765 M 463.176 134.765 L 434.353 161.118 M 463.176 161.118 L 434.353 134.765 M 434.353 161.118 L 463.176 134.765 M 463.176 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 523 169 M 14 0 SF (O)show GR % label end % poly begin NP 463.176 134.765 M 492 134.765 L 463.176 161.118 M 492 161.118 L 463.176 134.765 M 463.176 161.118 L 492 134.765 M 492 161.118 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 199 M 14 0 SF (5)show GR % label end % poly begin NP 2 161.118 M 30.8235 161.118 L 2 187.471 M 30.8235 187.471 L 2 161.118 M 2 187.471 L 30.8235 161.118 M 30.8235 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 44 199 M 14 0 SF (P)show GR % label end % poly begin NP 30.8235 161.118 M 59.6471 161.118 L 30.8235 187.471 M 59.6471 187.471 L 30.8235 161.118 M 30.8235 187.471 L 59.6471 161.118 M 59.6471 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 75 199 M 14 0 SF (Q)show GR % label end % poly begin NP 59.6471 161.118 M 88.4706 161.118 L 59.6471 187.471 M 88.4706 187.471 L 59.6471 161.118 M 59.6471 187.471 L 88.4706 161.118 M 88.4706 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 107 199 M 14 0 SF (R)show GR % label end % poly begin NP 88.4706 161.118 M 117.294 161.118 L 88.4706 187.471 M 117.294 187.471 L 88.4706 161.118 M 88.4706 187.471 L 117.294 161.118 M 117.294 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 140 199 M 14 0 SF (S)show GR % label end % poly begin NP 117.294 161.118 M 146.118 161.118 L 117.294 187.471 M 146.118 187.471 L 117.294 161.118 M 117.294 187.471 L 146.118 161.118 M 146.118 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 171 199 M 14 0 SF (T)show GR % label end % poly begin NP 146.118 161.118 M 174.941 161.118 L 146.118 187.471 M 174.941 187.471 L 146.118 161.118 M 146.118 187.471 L 174.941 161.118 M 174.941 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 203 199 M 14 0 SF (U)show GR % label end % poly begin NP 174.941 161.118 M 203.765 161.118 L 174.941 187.471 M 203.765 187.471 L 174.941 161.118 M 174.941 187.471 L 203.765 161.118 M 203.765 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 235 199 M 14 0 SF (V)show GR % label end % poly begin NP 203.765 161.118 M 232.588 161.118 L 203.765 187.471 M 232.588 187.471 L 203.765 161.118 M 203.765 187.471 L 232.588 161.118 M 232.588 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 265 199 M 14 0 SF (W)show GR % label end % poly begin NP 232.588 161.118 M 261.412 161.118 L 232.588 187.471 M 261.412 187.471 L 232.588 161.118 M 232.588 187.471 L 261.412 161.118 M 261.412 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 299 199 M 14 0 SF (X)show GR % label end % poly begin NP 261.412 161.118 M 290.235 161.118 L 261.412 187.471 M 290.235 187.471 L 261.412 161.118 M 261.412 187.471 L 290.235 161.118 M 290.235 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 331 199 M 14 0 SF (Y)show GR % label end % poly begin NP 290.235 161.118 M 319.059 161.118 L 290.235 187.471 M 319.059 187.471 L 290.235 161.118 M 290.235 187.471 L 319.059 161.118 M 319.059 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 363 199 M 14 0 SF (Z)show GR % label end % poly begin NP 319.059 161.118 M 347.882 161.118 L 319.059 187.471 M 347.882 187.471 L 319.059 161.118 M 319.059 187.471 L 347.882 161.118 M 347.882 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 397 199 M 14 0 SF ([)show GR % label end % poly begin NP 347.882 161.118 M 376.706 161.118 L 347.882 187.471 M 376.706 187.471 L 347.882 161.118 M 347.882 187.471 L 376.706 161.118 M 376.706 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 430 199 M 14 0 SF (\\)show GR % label end % poly begin NP 376.706 161.118 M 405.529 161.118 L 376.706 187.471 M 405.529 187.471 L 376.706 161.118 M 376.706 187.471 L 405.529 161.118 M 405.529 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 461 199 M 14 0 SF (])show GR % label end % poly begin NP 405.529 161.118 M 434.353 161.118 L 405.529 187.471 M 434.353 187.471 L 405.529 161.118 M 405.529 187.471 L 434.353 161.118 M 434.353 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 492 199 M 14 0 SF (^)show GR % label end % poly begin NP 434.353 161.118 M 463.176 161.118 L 434.353 187.471 M 463.176 187.471 L 434.353 161.118 M 434.353 187.471 L 463.176 161.118 M 463.176 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 514 199 M 14 0 SF (____)show GR % label end % poly begin NP 463.176 161.118 M 492 161.118 L 463.176 187.471 M 492 187.471 L 463.176 161.118 M 463.176 187.471 L 492 161.118 M 492 187.471 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 229 M 14 0 SF (6)show GR % label end % poly begin NP 2 187.471 M 30.8235 187.471 L 2 213.824 M 30.8235 213.824 L 2 187.471 M 2 213.824 L 30.8235 187.471 M 30.8235 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 45 229 M 14 0 SF (`)show GR % label end % poly begin NP 30.8235 187.471 M 59.6471 187.471 L 30.8235 213.824 M 59.6471 213.824 L 30.8235 187.471 M 30.8235 213.824 L 59.6471 187.471 M 59.6471 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 77 229 M 14 0 SF (a)show GR % label end % poly begin NP 59.6471 187.471 M 88.4706 187.471 L 59.6471 213.824 M 88.4706 213.824 L 59.6471 187.471 M 59.6471 213.824 L 88.4706 187.471 M 88.4706 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 108 229 M 14 0 SF (b)show GR % label end % poly begin NP 88.4706 187.471 M 117.294 187.471 L 88.4706 213.824 M 117.294 213.824 L 88.4706 187.471 M 88.4706 213.824 L 117.294 187.471 M 117.294 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 141 229 M 14 0 SF (c)show GR % label end % poly begin NP 117.294 187.471 M 146.118 187.471 L 117.294 213.824 M 146.118 213.824 L 117.294 187.471 M 117.294 213.824 L 146.118 187.471 M 146.118 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 172 229 M 14 0 SF (d)show GR % label end % poly begin NP 146.118 187.471 M 174.941 187.471 L 146.118 213.824 M 174.941 213.824 L 146.118 187.471 M 146.118 213.824 L 174.941 187.471 M 174.941 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 205 229 M 14 0 SF (e)show GR % label end % poly begin NP 174.941 187.471 M 203.765 187.471 L 174.941 213.824 M 203.765 213.824 L 174.941 187.471 M 174.941 213.824 L 203.765 187.471 M 203.765 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 237 229 M 14 0 SF (f)show GR % label end % poly begin NP 203.765 187.471 M 232.588 187.471 L 203.765 213.824 M 232.588 213.824 L 203.765 187.471 M 203.765 213.824 L 232.588 187.471 M 232.588 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 268 229 M 14 0 SF (g)show GR % label end % poly begin NP 232.588 187.471 M 261.412 187.471 L 232.588 213.824 M 261.412 213.824 L 232.588 187.471 M 232.588 213.824 L 261.412 187.471 M 261.412 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 300 229 M 14 0 SF (h)show GR % label end % poly begin NP 261.412 187.471 M 290.235 187.471 L 261.412 213.824 M 290.235 213.824 L 261.412 187.471 M 261.412 213.824 L 290.235 187.471 M 290.235 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 334 229 M 14 0 SF (i)show GR % label end % poly begin NP 290.235 187.471 M 319.059 187.471 L 290.235 213.824 M 319.059 213.824 L 290.235 187.471 M 290.235 213.824 L 319.059 187.471 M 319.059 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 366 229 M 14 0 SF (j)show GR % label end % poly begin NP 319.059 187.471 M 347.882 187.471 L 319.059 213.824 M 347.882 213.824 L 319.059 187.471 M 319.059 213.824 L 347.882 187.471 M 347.882 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 396 229 M 14 0 SF (k)show GR % label end % poly begin NP 347.882 187.471 M 376.706 187.471 L 347.882 213.824 M 376.706 213.824 L 347.882 187.471 M 347.882 213.824 L 376.706 187.471 M 376.706 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 430 229 M 14 0 SF (l)show GR % label end % poly begin NP 376.706 187.471 M 405.529 187.471 L 376.706 213.824 M 405.529 213.824 L 376.706 187.471 M 376.706 213.824 L 405.529 187.471 M 405.529 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 458 229 M 14 0 SF (m)show GR % label end % poly begin NP 405.529 187.471 M 434.353 187.471 L 405.529 213.824 M 434.353 213.824 L 405.529 187.471 M 405.529 213.824 L 434.353 187.471 M 434.353 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 492 229 M 14 0 SF (n)show GR % label end % poly begin NP 434.353 187.471 M 463.176 187.471 L 434.353 213.824 M 463.176 213.824 L 434.353 187.471 M 434.353 213.824 L 463.176 187.471 M 463.176 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 524 229 M 14 0 SF (o)show GR % label end % poly begin NP 463.176 187.471 M 492 187.471 L 463.176 213.824 M 492 213.824 L 463.176 187.471 M 463.176 213.824 L 492 187.471 M 492 213.824 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 259 M 14 0 SF (7)show GR % label end % poly begin NP 2 213.824 M 30.8235 213.824 L 2 240.176 M 30.8235 240.176 L 2 213.824 M 2 240.176 L 30.8235 213.824 M 30.8235 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 44 259 M 14 0 SF (p)show GR % label end % poly begin NP 30.8235 213.824 M 59.6471 213.824 L 30.8235 240.176 M 59.6471 240.176 L 30.8235 213.824 M 30.8235 240.176 L 59.6471 213.824 M 59.6471 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 76 259 M 14 0 SF (q)show GR % label end % poly begin NP 59.6471 213.824 M 88.4706 213.824 L 59.6471 240.176 M 88.4706 240.176 L 59.6471 213.824 M 59.6471 240.176 L 88.4706 213.824 M 88.4706 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 109 259 M 14 0 SF (r)show GR % label end % poly begin NP 88.4706 213.824 M 117.294 213.824 L 88.4706 240.176 M 117.294 240.176 L 88.4706 213.824 M 88.4706 240.176 L 117.294 213.824 M 117.294 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 141 259 M 14 0 SF (s)show GR % label end % poly begin NP 117.294 213.824 M 146.118 213.824 L 117.294 240.176 M 146.118 240.176 L 117.294 213.824 M 117.294 240.176 L 146.118 213.824 M 146.118 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 174 259 M 14 0 SF (t)show GR % label end % poly begin NP 146.118 213.824 M 174.941 213.824 L 146.118 240.176 M 174.941 240.176 L 146.118 213.824 M 146.118 240.176 L 174.941 213.824 M 174.941 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 204 259 M 14 0 SF (u)show GR % label end % poly begin NP 174.941 213.824 M 203.765 213.824 L 174.941 240.176 M 203.765 240.176 L 174.941 213.824 M 174.941 240.176 L 203.765 213.824 M 203.765 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 236 259 M 14 0 SF (v)show GR % label end % poly begin NP 203.765 213.824 M 232.588 213.824 L 203.765 240.176 M 232.588 240.176 L 203.765 213.824 M 203.765 240.176 L 232.588 213.824 M 232.588 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 267 259 M 14 0 SF (w)show GR % label end % poly begin NP 232.588 213.824 M 261.412 213.824 L 232.588 240.176 M 261.412 240.176 L 232.588 213.824 M 232.588 240.176 L 261.412 213.824 M 261.412 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 300 259 M 14 0 SF (x)show GR % label end % poly begin NP 261.412 213.824 M 290.235 213.824 L 261.412 240.176 M 290.235 240.176 L 261.412 213.824 M 261.412 240.176 L 290.235 213.824 M 290.235 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 332 259 M 14 0 SF (y)show GR % label end % poly begin NP 290.235 213.824 M 319.059 213.824 L 290.235 240.176 M 319.059 240.176 L 290.235 213.824 M 290.235 240.176 L 319.059 213.824 M 319.059 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 365 259 M 14 0 SF (z)show GR % label end % poly begin NP 319.059 213.824 M 347.882 213.824 L 319.059 240.176 M 347.882 240.176 L 319.059 213.824 M 319.059 240.176 L 347.882 213.824 M 347.882 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 396 259 M 14 0 SF ({)show GR % label end % poly begin NP 347.882 213.824 M 376.706 213.824 L 347.882 240.176 M 376.706 240.176 L 347.882 213.824 M 347.882 240.176 L 376.706 213.824 M 376.706 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 430 259 M 14 0 SF (|)show GR % label end % poly begin NP 376.706 213.824 M 405.529 213.824 L 376.706 240.176 M 405.529 240.176 L 376.706 213.824 M 376.706 240.176 L 405.529 213.824 M 405.529 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 460 259 M 14 0 SF (})show GR % label end % poly begin NP 405.529 213.824 M 434.353 213.824 L 405.529 240.176 M 434.353 240.176 L 405.529 213.824 M 405.529 240.176 L 434.353 213.824 M 434.353 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 492 259 M 14 0 SF (~)show GR % label end % poly begin NP 434.353 213.824 M 463.176 213.824 L 434.353 240.176 M 463.176 240.176 L 434.353 213.824 M 434.353 240.176 L 463.176 213.824 M 463.176 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 514 259 M 14 0 SF (DE)show 533 259 M (L)show GR % label end % poly begin NP 463.176 213.824 M 492 213.824 L 463.176 240.176 M 492 240.176 L 463.176 213.824 M 463.176 240.176 L 492 213.824 M 492 240.176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 289 M 14 0 SF (8)show GR % label end % poly begin NP 2 240.176 M 30.8235 240.176 L 2 266.529 M 30.8235 266.529 L 2 240.176 M 2 266.529 L 30.8235 240.176 M 30.8235 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 30.8235 240.176 M 59.6471 240.176 L 30.8235 266.529 M 59.6471 266.529 L 30.8235 240.176 M 30.8235 266.529 L 59.6471 240.176 M 59.6471 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 59.6471 240.176 M 88.4706 240.176 L 59.6471 266.529 M 88.4706 266.529 L 59.6471 240.176 M 59.6471 266.529 L 88.4706 240.176 M 88.4706 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 88.4706 240.176 M 117.294 240.176 L 88.4706 266.529 M 117.294 266.529 L 88.4706 240.176 M 88.4706 266.529 L 117.294 240.176 M 117.294 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 117.294 240.176 M 146.118 240.176 L 117.294 266.529 M 146.118 266.529 L 117.294 240.176 M 117.294 266.529 L 146.118 240.176 M 146.118 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 146.118 240.176 M 174.941 240.176 L 146.118 266.529 M 174.941 266.529 L 146.118 240.176 M 146.118 266.529 L 174.941 240.176 M 174.941 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 174.941 240.176 M 203.765 240.176 L 174.941 266.529 M 203.765 266.529 L 174.941 240.176 M 174.941 266.529 L 203.765 240.176 M 203.765 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 203.765 240.176 M 232.588 240.176 L 203.765 266.529 M 232.588 266.529 L 203.765 240.176 M 203.765 266.529 L 232.588 240.176 M 232.588 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 232.588 240.176 M 261.412 240.176 L 232.588 266.529 M 261.412 266.529 L 232.588 240.176 M 232.588 266.529 L 261.412 240.176 M 261.412 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 261.412 240.176 M 290.235 240.176 L 261.412 266.529 M 290.235 266.529 L 261.412 240.176 M 261.412 266.529 L 290.235 240.176 M 290.235 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 290.235 240.176 M 319.059 240.176 L 290.235 266.529 M 319.059 266.529 L 290.235 240.176 M 290.235 266.529 L 319.059 240.176 M 319.059 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 319.059 240.176 M 347.882 240.176 L 319.059 266.529 M 347.882 266.529 L 319.059 240.176 M 319.059 266.529 L 347.882 240.176 M 347.882 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 347.882 240.176 M 376.706 240.176 L 347.882 266.529 M 376.706 266.529 L 347.882 240.176 M 347.882 266.529 L 376.706 240.176 M 376.706 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 376.706 240.176 M 405.529 240.176 L 376.706 266.529 M 405.529 266.529 L 376.706 240.176 M 376.706 266.529 L 405.529 240.176 M 405.529 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 405.529 240.176 M 434.353 240.176 L 405.529 266.529 M 434.353 266.529 L 405.529 240.176 M 405.529 266.529 L 434.353 240.176 M 434.353 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 434.353 240.176 M 463.176 240.176 L 434.353 266.529 M 463.176 266.529 L 434.353 240.176 M 434.353 266.529 L 463.176 240.176 M 463.176 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 463.176 240.176 M 492 240.176 L 463.176 266.529 M 492 266.529 L 463.176 240.176 M 463.176 266.529 L 492 240.176 M 492 266.529 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 319 M 14 0 SF (9)show GR % label end % poly begin NP 2 266.529 M 30.8235 266.529 L 2 292.882 M 30.8235 292.882 L 2 266.529 M 2 292.882 L 30.8235 266.529 M 30.8235 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 30.8235 266.529 M 59.6471 266.529 L 30.8235 292.882 M 59.6471 292.882 L 30.8235 266.529 M 30.8235 292.882 L 59.6471 266.529 M 59.6471 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 59.6471 266.529 M 88.4706 266.529 L 59.6471 292.882 M 88.4706 292.882 L 59.6471 266.529 M 59.6471 292.882 L 88.4706 266.529 M 88.4706 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 88.4706 266.529 M 117.294 266.529 L 88.4706 292.882 M 117.294 292.882 L 88.4706 266.529 M 88.4706 292.882 L 117.294 266.529 M 117.294 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 117.294 266.529 M 146.118 266.529 L 117.294 292.882 M 146.118 292.882 L 117.294 266.529 M 117.294 292.882 L 146.118 266.529 M 146.118 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 146.118 266.529 M 174.941 266.529 L 146.118 292.882 M 174.941 292.882 L 146.118 266.529 M 146.118 292.882 L 174.941 266.529 M 174.941 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 174.941 266.529 M 203.765 266.529 L 174.941 292.882 M 203.765 292.882 L 174.941 266.529 M 174.941 292.882 L 203.765 266.529 M 203.765 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 203.765 266.529 M 232.588 266.529 L 203.765 292.882 M 232.588 292.882 L 203.765 266.529 M 203.765 292.882 L 232.588 266.529 M 232.588 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 232.588 266.529 M 261.412 266.529 L 232.588 292.882 M 261.412 292.882 L 232.588 266.529 M 232.588 292.882 L 261.412 266.529 M 261.412 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 261.412 266.529 M 290.235 266.529 L 261.412 292.882 M 290.235 292.882 L 261.412 266.529 M 261.412 292.882 L 290.235 266.529 M 290.235 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 290.235 266.529 M 319.059 266.529 L 290.235 292.882 M 319.059 292.882 L 290.235 266.529 M 290.235 292.882 L 319.059 266.529 M 319.059 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 319.059 266.529 M 347.882 266.529 L 319.059 292.882 M 347.882 292.882 L 319.059 266.529 M 319.059 292.882 L 347.882 266.529 M 347.882 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 347.882 266.529 M 376.706 266.529 L 347.882 292.882 M 376.706 292.882 L 347.882 266.529 M 347.882 292.882 L 376.706 266.529 M 376.706 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 376.706 266.529 M 405.529 266.529 L 376.706 292.882 M 405.529 292.882 L 376.706 266.529 M 376.706 292.882 L 405.529 266.529 M 405.529 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 405.529 266.529 M 434.353 266.529 L 405.529 292.882 M 434.353 292.882 L 405.529 266.529 M 405.529 292.882 L 434.353 266.529 M 434.353 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 434.353 266.529 M 463.176 266.529 L 434.353 292.882 M 463.176 292.882 L 434.353 266.529 M 434.353 292.882 L 463.176 266.529 M 463.176 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 463.176 266.529 M 492 266.529 L 463.176 292.882 M 492 292.882 L 463.176 266.529 M 463.176 292.882 L 492 266.529 M 492 292.882 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 11 349 M 14 0 SF (A)show GR % label end % poly begin NP 2 292.882 M 30.8235 292.882 L 2 319.235 M 30.8235 319.235 L 2 292.882 M 2 319.235 L 30.8235 292.882 M 30.8235 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 30.8235 292.882 M 59.6471 292.882 L 30.8235 319.235 M 59.6471 319.235 L 30.8235 292.882 M 30.8235 319.235 L 59.6471 292.882 M 59.6471 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 76 349 M 14 9 SF show GR % label end % poly begin NP 59.6471 292.882 M 88.4706 292.882 L 59.6471 319.235 M 88.4706 319.235 L 59.6471 292.882 M 59.6471 319.235 L 88.4706 292.882 M 88.4706 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 108 349 M 14 9 SF show GR % label end % poly begin NP 88.4706 292.882 M 117.294 292.882 L 88.4706 319.235 M 117.294 319.235 L 88.4706 292.882 M 88.4706 319.235 L 117.294 292.882 M 117.294 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 140 349 M 14 9 SF show GR % label end % poly begin NP 117.294 292.882 M 146.118 292.882 L 117.294 319.235 M 146.118 319.235 L 117.294 292.882 M 117.294 319.235 L 146.118 292.882 M 146.118 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 172 349 M 14 9 SF show GR % label end % poly begin NP 146.118 292.882 M 174.941 292.882 L 146.118 319.235 M 174.941 319.235 L 146.118 292.882 M 146.118 319.235 L 174.941 292.882 M 174.941 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 206 349 M 14 0 SF (.)show GR % label end % poly begin NP 174.941 292.882 M 203.765 292.882 L 174.941 319.235 M 203.765 319.235 L 174.941 292.882 M 174.941 319.235 L 203.765 292.882 M 203.765 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 236 349 M 14 9 SF show GR % label end % poly begin NP 203.765 292.882 M 232.588 292.882 L 203.765 319.235 M 232.588 319.235 L 203.765 292.882 M 203.765 319.235 L 232.588 292.882 M 232.588 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 268 349 M 14 9 SF show GR % label end % poly begin NP 232.588 292.882 M 261.412 292.882 L 232.588 319.235 M 261.412 319.235 L 232.588 292.882 M 232.588 319.235 L 261.412 292.882 M 261.412 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 300 349 M 14 9 SF show GR % label end % poly begin NP 261.412 292.882 M 290.235 292.882 L 261.412 319.235 M 290.235 319.235 L 261.412 292.882 M 261.412 319.235 L 290.235 292.882 M 290.235 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 332 349 M 14 9 SF show GR % label end % poly begin NP 290.235 292.882 M 319.059 292.882 L 290.235 319.235 M 319.059 319.235 L 290.235 292.882 M 290.235 319.235 L 319.059 292.882 M 319.059 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 364 349 M 14 9 SF show GR % label end % poly begin NP 319.059 292.882 M 347.882 292.882 L 319.059 319.235 M 347.882 319.235 L 319.059 292.882 M 319.059 319.235 L 347.882 292.882 M 347.882 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 396 349 M 14 9 SF show GR % label end % poly begin NP 347.882 292.882 M 376.706 292.882 L 347.882 319.235 M 376.706 319.235 L 347.882 292.882 M 347.882 319.235 L 376.706 292.882 M 376.706 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 428 349 M 14 9 SF show GR % label end % poly begin NP 376.706 292.882 M 405.529 292.882 L 376.706 319.235 M 405.529 319.235 L 376.706 292.882 M 376.706 319.235 L 405.529 292.882 M 405.529 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 460 349 M 14 9 SF show GR % label end % poly begin NP 405.529 292.882 M 434.353 292.882 L 405.529 319.235 M 434.353 319.235 L 405.529 292.882 M 405.529 319.235 L 434.353 292.882 M 434.353 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 492 349 M 14 9 SF show GR % label end % poly begin NP 434.353 292.882 M 463.176 292.882 L 434.353 319.235 M 463.176 319.235 L 434.353 292.882 M 434.353 319.235 L 463.176 292.882 M 463.176 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 524 349 M 14 9 SF show GR % label end % poly begin NP 463.176 292.882 M 492 292.882 L 463.176 319.235 M 492 319.235 L 463.176 292.882 M 463.176 319.235 L 492 292.882 M 492 319.235 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 11 379 M 14 0 SF (B)show GR % label end % poly begin NP 2 319.235 M 30.8235 319.235 L 2 345.588 M 30.8235 345.588 L 2 319.235 M 2 345.588 L 30.8235 319.235 M 30.8235 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 45 379 M 14 0 SF (-)show GR % label end % poly begin NP 30.8235 319.235 M 59.6471 319.235 L 30.8235 345.588 M 59.6471 345.588 L 30.8235 319.235 M 30.8235 345.588 L 59.6471 319.235 M 59.6471 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 76 379 M 14 9 SF show GR % label end % poly begin NP 59.6471 319.235 M 88.4706 319.235 L 59.6471 345.588 M 88.4706 345.588 L 59.6471 319.235 M 59.6471 345.588 L 88.4706 319.235 M 88.4706 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 108 379 M 14 9 SF show GR % label end % poly begin NP 88.4706 319.235 M 117.294 319.235 L 88.4706 345.588 M 117.294 345.588 L 88.4706 319.235 M 88.4706 345.588 L 117.294 319.235 M 117.294 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 140 379 M 14 9 SF show GR % label end % poly begin NP 117.294 319.235 M 146.118 319.235 L 117.294 345.588 M 146.118 345.588 L 117.294 319.235 M 117.294 345.588 L 146.118 319.235 M 146.118 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 172 379 M 14 9 SF show GR % label end % poly begin NP 146.118 319.235 M 174.941 319.235 L 146.118 345.588 M 174.941 345.588 L 146.118 319.235 M 146.118 345.588 L 174.941 319.235 M 174.941 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 204 379 M 14 9 SF show GR % label end % poly begin NP 174.941 319.235 M 203.765 319.235 L 174.941 345.588 M 203.765 345.588 L 174.941 319.235 M 174.941 345.588 L 203.765 319.235 M 203.765 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 236 379 M 14 9 SF show GR % label end % poly begin NP 203.765 319.235 M 232.588 319.235 L 203.765 345.588 M 232.588 345.588 L 203.765 319.235 M 203.765 345.588 L 232.588 319.235 M 232.588 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 268 379 M 14 9 SF show GR % label end % poly begin NP 232.588 319.235 M 261.412 319.235 L 232.588 345.588 M 261.412 345.588 L 232.588 319.235 M 232.588 345.588 L 261.412 319.235 M 261.412 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 300 379 M 14 9 SF show GR % label end % poly begin NP 261.412 319.235 M 290.235 319.235 L 261.412 345.588 M 290.235 345.588 L 261.412 319.235 M 261.412 345.588 L 290.235 319.235 M 290.235 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 332 379 M 14 9 SF show GR % label end % poly begin NP 290.235 319.235 M 319.059 319.235 L 290.235 345.588 M 319.059 345.588 L 290.235 319.235 M 290.235 345.588 L 319.059 319.235 M 319.059 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 364 379 M 14 9 SF show GR % label end % poly begin NP 319.059 319.235 M 347.882 319.235 L 319.059 345.588 M 347.882 345.588 L 319.059 319.235 M 319.059 345.588 L 347.882 319.235 M 347.882 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 396 379 M 14 9 SF show GR % label end % poly begin NP 347.882 319.235 M 376.706 319.235 L 347.882 345.588 M 376.706 345.588 L 347.882 319.235 M 347.882 345.588 L 376.706 319.235 M 376.706 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 428 379 M 14 9 SF show GR % label end % poly begin NP 376.706 319.235 M 405.529 319.235 L 376.706 345.588 M 405.529 345.588 L 376.706 319.235 M 376.706 345.588 L 405.529 319.235 M 405.529 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 460 379 M 14 9 SF show GR % label end % poly begin NP 405.529 319.235 M 434.353 319.235 L 405.529 345.588 M 434.353 345.588 L 405.529 319.235 M 405.529 345.588 L 434.353 319.235 M 434.353 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 492 379 M 14 9 SF show GR % label end % poly begin NP 434.353 319.235 M 463.176 319.235 L 434.353 345.588 M 463.176 345.588 L 434.353 319.235 M 434.353 345.588 L 463.176 319.235 M 463.176 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 524 379 M 14 9 SF show GR % label end % poly begin NP 463.176 319.235 M 492 319.235 L 463.176 345.588 M 492 345.588 L 463.176 319.235 M 463.176 345.588 L 492 319.235 M 492 345.588 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 11 409 M 14 0 SF (C)show GR % label end % poly begin NP 2 345.588 M 30.8235 345.588 L 2 371.941 M 30.8235 371.941 L 2 345.588 M 2 371.941 L 30.8235 345.588 M 30.8235 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 44 409 M 14 9 SF show GR % label end % poly begin NP 30.8235 345.588 M 59.6471 345.588 L 30.8235 371.941 M 59.6471 371.941 L 30.8235 345.588 M 30.8235 371.941 L 59.6471 345.588 M 59.6471 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 76 409 M 14 9 SF show GR % label end % poly begin NP 59.6471 345.588 M 88.4706 345.588 L 59.6471 371.941 M 88.4706 371.941 L 59.6471 345.588 M 59.6471 371.941 L 88.4706 345.588 M 88.4706 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 108 409 M 14 9 SF show GR % label end % poly begin NP 88.4706 345.588 M 117.294 345.588 L 88.4706 371.941 M 117.294 371.941 L 88.4706 345.588 M 88.4706 371.941 L 117.294 345.588 M 117.294 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 140 409 M 14 9 SF show GR % label end % poly begin NP 117.294 345.588 M 146.118 345.588 L 117.294 371.941 M 146.118 371.941 L 117.294 345.588 M 117.294 371.941 L 146.118 345.588 M 146.118 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 172 409 M 14 9 SF show GR % label end % poly begin NP 146.118 345.588 M 174.941 345.588 L 146.118 371.941 M 174.941 371.941 L 146.118 345.588 M 146.118 371.941 L 174.941 345.588 M 174.941 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 204 409 M 14 9 SF show GR % label end % poly begin NP 174.941 345.588 M 203.765 345.588 L 174.941 371.941 M 203.765 371.941 L 174.941 345.588 M 174.941 371.941 L 203.765 345.588 M 203.765 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 236 409 M 14 9 SF show GR % label end % poly begin NP 203.765 345.588 M 232.588 345.588 L 203.765 371.941 M 232.588 371.941 L 203.765 345.588 M 203.765 371.941 L 232.588 345.588 M 232.588 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 268 409 M 14 9 SF show GR % label end % poly begin NP 232.588 345.588 M 261.412 345.588 L 232.588 371.941 M 261.412 371.941 L 232.588 345.588 M 232.588 371.941 L 261.412 345.588 M 261.412 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 300 409 M 14 9 SF show GR % label end % poly begin NP 261.412 345.588 M 290.235 345.588 L 261.412 371.941 M 290.235 371.941 L 261.412 345.588 M 261.412 371.941 L 290.235 345.588 M 290.235 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 332 409 M 14 9 SF show GR % label end % poly begin NP 290.235 345.588 M 319.059 345.588 L 290.235 371.941 M 319.059 371.941 L 290.235 345.588 M 290.235 371.941 L 319.059 345.588 M 319.059 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 364 409 M 14 9 SF show GR % label end % poly begin NP 319.059 345.588 M 347.882 345.588 L 319.059 371.941 M 347.882 371.941 L 319.059 345.588 M 319.059 371.941 L 347.882 345.588 M 347.882 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 396 409 M 14 9 SF show GR % label end % poly begin NP 347.882 345.588 M 376.706 345.588 L 347.882 371.941 M 376.706 371.941 L 347.882 345.588 M 347.882 371.941 L 376.706 345.588 M 376.706 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 428 409 M 14 9 SF show GR % label end % poly begin NP 376.706 345.588 M 405.529 345.588 L 376.706 371.941 M 405.529 371.941 L 376.706 345.588 M 376.706 371.941 L 405.529 345.588 M 405.529 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 460 409 M 14 9 SF show GR % label end % poly begin NP 405.529 345.588 M 434.353 345.588 L 405.529 371.941 M 434.353 371.941 L 405.529 345.588 M 405.529 371.941 L 434.353 345.588 M 434.353 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 492 409 M 14 9 SF show GR % label end % poly begin NP 434.353 345.588 M 463.176 345.588 L 434.353 371.941 M 463.176 371.941 L 434.353 345.588 M 434.353 371.941 L 463.176 345.588 M 463.176 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 524 409 M 14 9 SF show GR % label end % poly begin NP 463.176 345.588 M 492 345.588 L 463.176 371.941 M 492 371.941 L 463.176 345.588 M 463.176 371.941 L 492 345.588 M 492 371.941 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 11 439 M 14 0 SF (D)show GR % label end % poly begin NP 2 371.941 M 30.8235 371.941 L 2 398.294 M 30.8235 398.294 L 2 371.941 M 2 398.294 L 30.8235 371.941 M 30.8235 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 44 439 M 14 9 SF show GR % label end % poly begin NP 30.8235 371.941 M 59.6471 371.941 L 30.8235 398.294 M 59.6471 398.294 L 30.8235 371.941 M 30.8235 398.294 L 59.6471 371.941 M 59.6471 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 76 439 M 14 9 SF show GR % label end % poly begin NP 59.6471 371.941 M 88.4706 371.941 L 59.6471 398.294 M 88.4706 398.294 L 59.6471 371.941 M 59.6471 398.294 L 88.4706 371.941 M 88.4706 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 108 439 M 14 9 SF show GR % label end % poly begin NP 88.4706 371.941 M 117.294 371.941 L 88.4706 398.294 M 117.294 398.294 L 88.4706 371.941 M 88.4706 398.294 L 117.294 371.941 M 117.294 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 140 439 M 14 9 SF show GR % label end % poly begin NP 117.294 371.941 M 146.118 371.941 L 117.294 398.294 M 146.118 398.294 L 117.294 371.941 M 117.294 398.294 L 146.118 371.941 M 146.118 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 172 439 M 14 9 SF show GR % label end % poly begin NP 146.118 371.941 M 174.941 371.941 L 146.118 398.294 M 174.941 398.294 L 146.118 371.941 M 146.118 398.294 L 174.941 371.941 M 174.941 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 204 439 M 14 9 SF show GR % label end % poly begin NP 174.941 371.941 M 203.765 371.941 L 174.941 398.294 M 203.765 398.294 L 174.941 371.941 M 174.941 398.294 L 203.765 371.941 M 203.765 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 236 439 M 14 9 SF show GR % label end % poly begin NP 203.765 371.941 M 232.588 371.941 L 203.765 398.294 M 232.588 398.294 L 203.765 371.941 M 203.765 398.294 L 232.588 371.941 M 232.588 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 268 439 M 14 9 SF show GR % label end % poly begin NP 232.588 371.941 M 261.412 371.941 L 232.588 398.294 M 261.412 398.294 L 232.588 371.941 M 232.588 398.294 L 261.412 371.941 M 261.412 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 300 439 M 14 9 SF show GR % label end % poly begin NP 261.412 371.941 M 290.235 371.941 L 261.412 398.294 M 290.235 398.294 L 261.412 371.941 M 261.412 398.294 L 290.235 371.941 M 290.235 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 332 439 M 14 9 SF show GR % label end % poly begin NP 290.235 371.941 M 319.059 371.941 L 290.235 398.294 M 319.059 398.294 L 290.235 371.941 M 290.235 398.294 L 319.059 371.941 M 319.059 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 364 439 M 14 9 SF show GR % label end % poly begin NP 319.059 371.941 M 347.882 371.941 L 319.059 398.294 M 347.882 398.294 L 319.059 371.941 M 319.059 398.294 L 347.882 371.941 M 347.882 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 396 439 M 14 9 SF show GR % label end % poly begin NP 347.882 371.941 M 376.706 371.941 L 347.882 398.294 M 376.706 398.294 L 347.882 371.941 M 347.882 398.294 L 376.706 371.941 M 376.706 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 428 439 M 14 9 SF show GR % label end % poly begin NP 376.706 371.941 M 405.529 371.941 L 376.706 398.294 M 405.529 398.294 L 376.706 371.941 M 376.706 398.294 L 405.529 371.941 M 405.529 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 460 439 M 14 9 SF
show GR % label end % poly begin NP 405.529 371.941 M 434.353 371.941 L 405.529 398.294 M 434.353 398.294 L 405.529 371.941 M 405.529 398.294 L 434.353 371.941 M 434.353 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 489 439 M 14 7 SF <212b>show GR % label end % poly begin NP 434.353 371.941 M 463.176 371.941 L 434.353 398.294 M 463.176 398.294 L 434.353 371.941 M 434.353 398.294 L 463.176 371.941 M 463.176 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 521 439 M 14 7 SF <212c>show GR % label end % poly begin NP 463.176 371.941 M 492 371.941 L 463.176 398.294 M 492 398.294 L 463.176 371.941 M 463.176 398.294 L 492 371.941 M 492 398.294 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 11 469 M 14 0 SF (E)show GR % label end % poly begin NP 2 398.294 M 30.8235 398.294 L 2 424.647 M 30.8235 424.647 L 2 398.294 M 2 424.647 L 30.8235 398.294 M 30.8235 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 30.8235 398.294 M 59.6471 398.294 L 30.8235 424.647 M 59.6471 424.647 L 30.8235 398.294 M 30.8235 424.647 L 59.6471 398.294 M 59.6471 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 59.6471 398.294 M 88.4706 398.294 L 59.6471 424.647 M 88.4706 424.647 L 59.6471 398.294 M 59.6471 424.647 L 88.4706 398.294 M 88.4706 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 88.4706 398.294 M 117.294 398.294 L 88.4706 424.647 M 117.294 424.647 L 88.4706 398.294 M 88.4706 424.647 L 117.294 398.294 M 117.294 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 117.294 398.294 M 146.118 398.294 L 117.294 424.647 M 146.118 424.647 L 117.294 398.294 M 117.294 424.647 L 146.118 398.294 M 146.118 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 146.118 398.294 M 174.941 398.294 L 146.118 424.647 M 174.941 424.647 L 146.118 398.294 M 146.118 424.647 L 174.941 398.294 M 174.941 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 174.941 398.294 M 203.765 398.294 L 174.941 424.647 M 203.765 424.647 L 174.941 398.294 M 174.941 424.647 L 203.765 398.294 M 203.765 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 203.765 398.294 M 232.588 398.294 L 203.765 424.647 M 232.588 424.647 L 203.765 398.294 M 203.765 424.647 L 232.588 398.294 M 232.588 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 232.588 398.294 M 261.412 398.294 L 232.588 424.647 M 261.412 424.647 L 232.588 398.294 M 232.588 424.647 L 261.412 398.294 M 261.412 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 261.412 398.294 M 290.235 398.294 L 261.412 424.647 M 290.235 424.647 L 261.412 398.294 M 261.412 424.647 L 290.235 398.294 M 290.235 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 290.235 398.294 M 319.059 398.294 L 290.235 424.647 M 319.059 424.647 L 290.235 398.294 M 290.235 424.647 L 319.059 398.294 M 319.059 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 319.059 398.294 M 347.882 398.294 L 319.059 424.647 M 347.882 424.647 L 319.059 398.294 M 319.059 424.647 L 347.882 398.294 M 347.882 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 347.882 398.294 M 376.706 398.294 L 347.882 424.647 M 376.706 424.647 L 347.882 398.294 M 347.882 424.647 L 376.706 398.294 M 376.706 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 376.706 398.294 M 405.529 398.294 L 376.706 424.647 M 405.529 424.647 L 376.706 398.294 M 376.706 424.647 L 405.529 398.294 M 405.529 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 405.529 398.294 M 434.353 398.294 L 405.529 424.647 M 434.353 424.647 L 405.529 398.294 M 405.529 424.647 L 434.353 398.294 M 434.353 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 434.353 398.294 M 463.176 398.294 L 434.353 424.647 M 463.176 424.647 L 434.353 398.294 M 434.353 424.647 L 463.176 398.294 M 463.176 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 463.176 398.294 M 492 398.294 L 463.176 424.647 M 492 424.647 L 463.176 398.294 M 463.176 424.647 L 492 398.294 M 492 424.647 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % label begin GS 0 0 0 RGB [0.900735 0 0 0.878431 2 3]CO 12 499 M 14 0 SF (F)show GR % label end % poly begin NP 2 424.647 M 30.8235 424.647 L 2 451 M 30.8235 451 L 2 424.647 M 2 451 L 30.8235 424.647 M 30.8235 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 30.8235 424.647 M 59.6471 424.647 L 30.8235 451 M 59.6471 451 L 30.8235 424.647 M 30.8235 451 L 59.6471 424.647 M 59.6471 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 59.6471 424.647 M 88.4706 424.647 L 59.6471 451 M 88.4706 451 L 59.6471 424.647 M 59.6471 451 L 88.4706 424.647 M 88.4706 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 88.4706 424.647 M 117.294 424.647 L 88.4706 451 M 117.294 451 L 88.4706 424.647 M 88.4706 451 L 117.294 424.647 M 117.294 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 117.294 424.647 M 146.118 424.647 L 117.294 451 M 146.118 451 L 117.294 424.647 M 117.294 451 L 146.118 424.647 M 146.118 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 146.118 424.647 M 174.941 424.647 L 146.118 451 M 174.941 451 L 146.118 424.647 M 146.118 451 L 174.941 424.647 M 174.941 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 174.941 424.647 M 203.765 424.647 L 174.941 451 M 203.765 451 L 174.941 424.647 M 174.941 451 L 203.765 424.647 M 203.765 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 203.765 424.647 M 232.588 424.647 L 203.765 451 M 232.588 451 L 203.765 424.647 M 203.765 451 L 232.588 424.647 M 232.588 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 232.588 424.647 M 261.412 424.647 L 232.588 451 M 261.412 451 L 232.588 424.647 M 232.588 451 L 261.412 424.647 M 261.412 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 261.412 424.647 M 290.235 424.647 L 261.412 451 M 290.235 451 L 261.412 424.647 M 261.412 451 L 290.235 424.647 M 290.235 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 290.235 424.647 M 319.059 424.647 L 290.235 451 M 319.059 451 L 290.235 424.647 M 290.235 451 L 319.059 424.647 M 319.059 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 319.059 424.647 M 347.882 424.647 L 319.059 451 M 347.882 451 L 319.059 424.647 M 319.059 451 L 347.882 424.647 M 347.882 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 347.882 424.647 M 376.706 424.647 L 347.882 451 M 376.706 451 L 347.882 424.647 M 347.882 451 L 376.706 424.647 M 376.706 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 376.706 424.647 M 405.529 424.647 L 376.706 451 M 405.529 451 L 376.706 424.647 M 376.706 451 L 405.529 424.647 M 405.529 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 405.529 424.647 M 434.353 424.647 L 405.529 451 M 434.353 451 L 405.529 424.647 M 405.529 451 L 434.353 424.647 M 434.353 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 434.353 424.647 M 463.176 424.647 L 434.353 451 M 463.176 451 L 434.353 424.647 M 434.353 451 L 463.176 424.647 M 463.176 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % poly begin NP 463.176 424.647 M 492 424.647 L 463.176 451 M 492 451 L 463.176 424.647 M 463.176 451 L 492 424.647 M 492 451 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR % poly end % picture end EP % PR-602PS epilog % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % end % $CANAE %count{type ==}repeat Save_state restore %%Trailer %%Pages: 1 Canna37p3/doc/man/guide/zukei/key.eps0100644000076500001200000004627507554213600016732 0ustar shinraadmin%! %%BoundingBox: 9.563 -88.061 197.749 -2.250 %% %% Copyright 1994 NEC Corporation, Tokyo, Japan. %% %% Permission to use, copy, modify, distribute and sell this software %% and its documentation for any purpose is hereby granted without %% fee, provided that the above copyright notice appear in all copies %% and that both that copyright notice and this permission notice %% appear in supporting documentation, and that the name of NEC %% Corporation not be used in advertising or publicity pertaining to %% distribution of the software without specific, written prior %% permission. NEC Corporation makes no representations about the %% suitability of this software for any purpose. It is provided "as %% is" without express or implied warranty. %% %% NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, %% INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN %% NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR %% CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF %% USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR %% OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR %% PERFORMANCE OF THIS SOFTWARE. %% %% @(#)$Id: key.eps,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ /ellipsedict 6 dict def ellipsedict /mtrx matrix put /ellipse { ellipsedict begin /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 0 360 arc savematrix setmatrix end } def /arrowtipdict 8 dict def arrowtipdict /mtrx matrix put /arrowtip { arrowtipdict begin /dy exch def /dx exch def /h exch def /w exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate dy dx atan rotate 0 0 moveto w neg h lineto w neg h neg lineto savematrix setmatrix end } def /tgifarcdict 8 dict def tgifarcdict /mtrx matrix put /tgifarcn { tgifarcdict begin /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix end } def /tgifarc { tgifarcdict begin /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arcn savematrix setmatrix end } def /setuserscreendict 22 dict def setuserscreendict begin /tempctm matrix def /temprot matrix def /tempscale matrix def /concatprocs { /proc2 exch cvlit def /proc1 exch cvlit def /newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx } def /resmatrix matrix def /findresolution { 72 0 resmatrix defaultmatrix dtransform /yres exch def /xres exch def xres dup mul yres dup mul add sqrt } def end /setuserscreen { setuserscreendict begin /spotfunction exch def /screenangle exch def /cellsize exch def /m tempctm currentmatrix def /rm screenangle temprot rotate def /sm cellsize dup tempscale scale def sm rm m m concatmatrix m concatmatrix pop 1 0 m dtransform /y1 exch def /x1 exch def /veclength x1 dup mul y1 dup mul add sqrt def /frequency findresolution veclength div def /newscreenangle y1 x1 atan def m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt {{neg} /spotfunction load concatprocs /spotfunction exch def } if frequency newscreenangle /spotfunction load setscreen end } def /setpatterndict 18 dict def setpatterndict begin /bitison { /ybit exch def /xbit exch def /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def /mask 1 7 xbit 8 mod sub bitshift def bytevalue mask and 0 ne } def end /bitpatternspotfunction { setpatterndict begin /y exch def /x exch def /xindex x 1 add 2 div bpside mul cvi def /yindex y 1 add 2 div bpside mul cvi def xindex yindex bitison { /onbits onbits 1 add def 1 } { /offbits offbits 1 add def 0 } ifelse end } def /setpattern { setpatterndict begin /cellsz exch def /angle exch def /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def cellsz angle /bitpatternspotfunction load setuserscreen {} settransfer offbits offbits onbits add div setgray end } def /inch {72 mul} def /showpattern { /ang exch def /pat exch def pat 8 1 ang 72 300 32 div div setpattern newpath 0 0 moveto 1 inch 0 lineto 1 inch dup lineto 0 1 inch lineto closepath fill } def /patdict 10 dict def /patbyte { currentdict /retstr get exch pat i cellsz mod get put } def /patproc { 0 1 widthlim {patbyte} for retstr /i i 1 add def } def /patfill { patdict begin /h exch def /w exch def /lty exch def /ltx exch def /cellsz exch def /pat exch def /widthlim w cellsz div cvi 1 sub def /retstr widthlim 1 add string def /i 0 def ltx lty translate w h true [1 0 0 1 0 0] {patproc} imagemask ltx neg lty neg translate end } def /pat1 def /pat2 <0000000000000000> def /pat3 <8000000008000000> def /pat4 <8800000022000000> def /pat5 <8800220088002200> def /pat6 <8822882288228822> def /pat7 def /pat8 <8040201008040201> def /pat9 <8844221188442211> def /pat10 <77bbddee77bbddee> def /pat11 def /pat12 <8040200002040800> def /pat13 <40a00000040a0000> def /pat14 def /pat15 def /pat16 def /pat17 <038448300c020101> def /pat18 <081c22c180010204> def /pat19 <8080413e080814e3> def /centertext { dup stringwidth pop 2 div neg 0 rmoveto } def /righttext { dup stringwidth pop neg 0 rmoveto } def 1.415 setmiterlimit %####### .pskanjiEXT ############################ % define Ryumin-Times-H font 12 dict begin /FontName /Ryumin-Times-H def /FontType 0 def /WMode 0 def /FMapType 3 def /FontMatrix matrix def /Encoding [0 1] def /FDepVector [/Times-Roman findfont [1 0 0 1 0 0.01] makefont /Ryumin-Light-Ext-H findfont ] def FontName currentdict end definefont pop % define Gothic-Helvetica-H font 12 dict begin /FontName /Gothic-Helvetica-H def /FontType 0 def /WMode 0 def /FMapType 3 def /FontMatrix matrix def /Encoding [0 1] def /FDepVector [/Helvetica findfont [1 0 0 1 0 0.01] makefont /GothicBBB-Medium-Ext-H findfont ] def FontName currentdict end definefont pop gsave 0.565 -0.565 scale 1 setlinewidth newpath 28 131 5 5 180 90 tgifarc stroke 1 setlinewidth gsave 1 setlinewidth newpath 23 131 moveto 23 121 lineto stroke grestore 1 setlinewidth newpath 28 121 5 5 180 270 tgifarcn stroke 1 setlinewidth gsave 1 setlinewidth newpath 28 116 moveto 112 116 lineto stroke grestore gsave 1 setlinewidth newpath 28 136 moveto 112 136 lineto stroke grestore 1 setlinewidth newpath 25 137 5 5 180 90 tgifarc stroke 1 setlinewidth gsave 1 setlinewidth newpath 23 119 moveto 20 129 lineto 20 137 lineto stroke grestore gsave 1 setlinewidth newpath 25 142 moveto 114 142 lineto stroke grestore 1 setlinewidth newpath 112 131 5 5 0 90 tgifarcn stroke 1 setlinewidth gsave 1 setlinewidth newpath 117 131 moveto 117 121 lineto stroke grestore 1 setlinewidth newpath 112 121 5 5 0 -90 tgifarc stroke 1 setlinewidth 1 setlinewidth newpath 114 137 6 5 0 90 tgifarcn stroke 1 setlinewidth gsave 1 setlinewidth newpath 117 119 moveto 120 129 lineto 120 138 lineto stroke grestore /Ryumin-Times-H findfont [12 0 0 -12 0 0] makefont setfont gsave 130 40 moveto (\377\001>C$9) show grestore /Ryumin-Times-H findfont [12 0 0 -12 0 0] makefont setfont gsave 130 88 moveto (\377\0013NDj) show grestore /Ryumin-Times-H findfont [12 0 0 -12 0 0] makefont setfont gsave 130 134 moveto (\377\001JQ49) show grestore /Ryumin-Times-H findfont [12 0 0 -12 0 0] makefont setfont gsave 230 18 moveto (\377\001>e$X\377\000/\377\001A0$X) show grestore /Ryumin-Times-H findfont [12 0 0 -12 0 0] makefont setfont gsave 162 84 moveto (\377\001:8$X) show grestore /Ryumin-Times-H findfont [12 0 0 -12 0 0] makefont setfont gsave 322 84 moveto (\377\0011&$X) show grestore /Ryumin-Times-H findfont [12 0 0 -12 0 0] makefont setfont gsave 216 148 moveto (\377\0012<$X\377\000/\377\001show GR GS 14 0 SF 126 377 M GR GS 14 7 SF 130 377 M <4134>show 144 377 M <2522>show GR GS 14 0 SF 158 377 M GR GS 14 7 SF 161 377 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 349 M <214e>show GR GS 14 0 SF 126 349 M 130 349 M 133 349 M GR GS 14 7 SF 137 349 M <2422>show GR GS 14 0 SF 151 349 M 154 349 M 158 349 M GR GS 14 7 SF 161 349 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 405 M <214e>show GR GS 14 0 SF 126 405 M GR GS 14 7 SF 130 405 M <483e>show 144 405 M <2522>show GR GS 14 0 SF 158 405 M GR GS 14 7 SF 161 405 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 433 M <214e>show GR GS 14 0 SF 126 433 M GR GS 14 7 SF 130 433 M <4134>show 144 433 M <3151>show GR GS 14 0 SF 158 433 M GR GS 14 7 SF 161 433 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 461 M <214e>show GR GS 14 0 SF 126 461 M GR GS 14 7 SF 130 461 M <483e>show 144 461 M <3151>show GR GS 14 0 SF 158 461 M GR GS 14 7 SF 161 461 M <214f>show GR GR % label end % picture end % picture begin % label begin GS 0 0 0 RGB [1 0 0 1 -27 40]CO GS 14 7 SF 252 349 M <4134>show 266 349 M <3351>show 280 349 M <2452>show 294 349 M <2469>show 308 349 M <242c>show 322 349 M <244a>show 336 349 M <467e>show 350 349 M <4e4f>show 364 349 M <2562>show 378 349 M <213c>show 392 349 M <2549>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 -27 40]CO GS 14 7 SF 252 377 M <4134>show 266 377 M <3351>show 280 377 M <252b>show 294 377 M <253f>show 308 377 M <252b>show 322 377 M <254a>show 336 377 M <467e>show 350 377 M <4e4f>show 364 377 M <2562>show 378 377 M <213c>show 392 377 M <2549>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 -27 40]CO GS 14 7 SF 252 405 M <483e>show 266 405 M <3351>show 280 405 M <252b>show 294 405 M <253f>show 308 405 M <252b>show 322 405 M <254a>show 336 405 M <467e>show 350 405 M <4e4f>show 364 405 M <2562>show 378 405 M <213c>show 392 405 M <2549>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 -27 40]CO GS 14 7 SF 252 433 M <4134>show 266 433 M <3351>show 280 433 M <2522>show 294 433 M <256b>show 308 433 M <2555>show 322 433 M <2521>show 336 433 M <2559>show 350 433 M <2543>show 364 433 M <2548>show 378 433 M <467e>show 392 433 M <4e4f>show 406 433 M <2562>show 420 433 M <213c>show 434 433 M <2549>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 -27 40]CO GS 14 7 SF 252 461 M <483e>show 266 461 M <3351>show 280 461 M <2522>show 294 461 M <256b>show 308 461 M <2555>show 322 461 M <2521>show 336 461 M <2559>show 350 461 M <2543>show 364 461 M <2548>show 378 461 M <467e>show 392 461 M <4e4f>show 406 461 M <2562>show 420 461 M <213c>show 434 461 M <2549>show GR GR % label end % picture end % picture end % picture begin % picture begin % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 517 M <214e>show GR GS 14 0 SF 126 517 M GR GS 14 7 SF 130 517 M <2331>show 144 517 M <2336>show 158 517 M <3f4a>show GR GS 14 0 SF 172 517 M GR GS 14 7 SF 175 517 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 545 M <214e>show GR GS 14 0 SF 126 545 M GR GS 14 7 SF 130 545 M <4974>show 144 545 M <3c73>show GR GS 14 0 SF 158 545 M GR GS 14 7 SF 161 545 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 573 M <214e>show GR GS 14 0 SF 126 573 M GR GS 14 7 SF 130 573 M <352d>show 144 573 M <3966>show GR GS 14 0 SF 158 573 M GR GS 14 7 SF 161 573 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 601 M <214e>show GR GS 14 0 SF 126 601 M GR GS 14 7 SF 130 601 M <3b7a>show 144 601 M <3c6f>show GR GS 14 0 SF 158 601 M GR GS 14 7 SF 161 601 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 629 M <214e>show GR GS 14 0 SF 126 629 M GR GS 14 7 SF 130 629 M <3441>show 144 629 M <3b7a>show GR GS 14 0 SF 158 629 M GR GS 14 7 SF 161 629 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 657 M <214e>show GR GS 14 0 SF 126 657 M GR GS 14 7 SF 130 657 M <306c>show 144 657 M <4d77>show GR GS 14 0 SF 158 657 M GR GS 14 7 SF 161 657 M <214f>show GR GR % label end % picture end % picture begin % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 224 517 M <2331>show 238 517 M <2336>show 252 517 M <3f4a>show 266 517 M <2533>show 280 517 M <213c>show 294 517 M <2549>show 308 517 M <467e>show 322 517 M <4e4f>show 336 517 M <3e75>show 350 517 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 224 545 M <4974>show 238 545 M <3c73>show 252 545 M <467e>show 266 545 M <4e4f>show 280 545 M <3e75>show 294 545 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 224 573 M <352d>show 238 573 M <3966>show 252 573 M <306c>show 266 573 M <4d77>show 280 573 M <493d>show 294 573 M <3c28>show 308 573 M <3e75>show 322 573 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 224 601 M <4a38>show 238 601 M <3b7a>show 252 601 M <3c6f>show 266 601 M <4a51>show 280 601 M <3439>show 294 601 M <3e75>show 308 601 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 224 629 M <4331>show 238 629 M <306c>show 252 629 M <3875>show 266 629 M <4a64>show 280 629 M <493d>show 294 629 M <3c28>show 308 629 M <3e75>show 322 629 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 224 657 M <3875>show 238 657 M <4a64>show 252 657 M <306c>show 266 657 M <4d77>show 280 657 M <493d>show 294 657 M <3c28>show 308 657 M <3e75>show 322 657 M <4256>show GR GR % label end % picture end % picture end % picture begin % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 112 489 M <214e>show GR GS 14 0 SF 126 489 M GR GS 14 7 SF 130 489 M <4360>show 144 489 M <3c21>show GR GS 14 0 SF 158 489 M GR GS 14 7 SF 161 489 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 2 39]CO GS 14 7 SF 224 489 M <4360>show 238 489 M <3c21>show 252 489 M <4a51>show 266 489 M <3439>show 280 489 M <3e75>show 294 489 M <4256>show GR GR % label end % picture end % picture end % rect begin NP 29 26 M 532 26 L 532 332 L 29 332 L CP GS 1 1 1 RGB EF GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ [6 3 6 3]0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 -27 -3]CO GS 14 7 SF 62 322 M <214e>show GR GS 14 0 SF 76 322 M 80 322 M 83 322 M GR GS 14 7 SF 87 322 M <2422>show GR GS 14 0 SF 101 322 M 104 322 M 108 322 M GR GS 14 7 SF 111 322 M <214f>show GR GR % label end % line begin NP 68 383 M 115 383 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [3 6 3 6]0 SD STK GR % line end % label begin GS 0 0 0 RGB [1 0 0 1 -27 -3]CO GS 14 7 SF 148 364 M <467e>show 162 364 M <4e4f>show 176 364 M <2562>show 190 364 M <213c>show 204 364 M <2549>show GR GR % label end % line begin NP 68 383 M 68 332 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [3 6 3 6]0 SD STK GR % line end % line begin NP 109 315 M 94 315 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [8 2 4 2]0 SD STK GR NP 107 311 M 94 315 L 107 319 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 110 315 M 110 354 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [6 3 6 3]0 SD STK GR % line end % line begin NP 110 354 M 119 354 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [6 3 6 3]0 SD STK GR % line end % picture end % picture begin % picture begin % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 725 M <214e>show GR GS 14 0 SF 130 725 M GR GS 14 7 SF 134 725 M <256d>show GR GS 14 0 SF 148 725 M GR GS 14 7 SF 151 725 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 753 M <214e>show GR GS 14 0 SF 130 753 M GR GS 14 7 SF 134 753 M <252e>show GR GS 14 0 SF 148 753 M GR GS 14 7 SF 151 753 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 781 M <214e>show GR GS 14 0 SF 130 781 M GR GS 14 7 SF 134 781 M <3753>show 148 781 M <407e>show GR GS 14 0 SF 162 781 M GR GS 14 7 SF 165 781 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 809 M <214e>show GR GS 14 0 SF 130 809 M GR GS 14 7 SF 134 809 M <4a51>show 148 809 M <3939>show GR GS 14 0 SF 162 809 M GR GS 14 7 SF 165 809 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 837 M <214e>show GR GS 14 0 SF 130 837 M GR GS 14 7 SF 134 837 M <3a6f>show 148 837 M <3d7c>show GR GS 14 0 SF 162 837 M GR GS 14 7 SF 165 837 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 865 M <214e>show GR GS 14 0 SF 130 865 M GR GS 14 7 SF 134 865 M <4550>show 148 865 M <4f3f>show GR GS 14 0 SF 162 865 M GR GS 14 7 SF 165 865 M <214f>show GR GS 14 0 SF 179 865 M GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 893 M <214e>show GR GS 14 0 SF 130 893 M GR GS 14 7 SF 134 893 M <494a>show 148 893 M <3b6c>show GR GS 14 0 SF 162 893 M GR GS 14 7 SF 165 893 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 921 M <214e>show GR GS 14 0 SF 130 921 M GR GS 14 7 SF 134 921 M <3c2d>show 148 921 M <3d71>show GR GS 14 0 SF 162 921 M GR GS 14 7 SF 165 921 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 949 M <214e>show GR GS 14 0 SF 130 949 M 134 949 M (q)show 141 949 M GR GS 14 7 SF 144 949 M <214f>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 116 977 M <214e>show GR GS 14 0 SF 130 977 M GR GS 14 7 SF 134 977 M <3348>show 148 977 M <4425>show GR GS 14 0 SF 162 977 M GR GS 14 7 SF 165 977 M <214f>show GR GR % label end % picture end % picture begin % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 726 M <256d>show 240 726 M <2537>show 254 726 M <2522>show 268 726 M <4a38>show 282 726 M <3b7a>show 296 726 M <412a>show 310 726 M <4272>show 324 726 M <3e75>show 338 726 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 754 M <252e>show 240 754 M <256a>show 254 754 M <2537>show 268 754 M <2522>show 282 754 M <4a38>show 296 754 M <3b7a>show 310 754 M <412a>show 324 754 M <4272>show 338 754 M <3e75>show 352 754 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 782 M <3753>show 240 782 M <407e>show 254 782 M <412a>show 268 782 M <4272>show 282 782 M <3e75>show 296 782 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 810 M <2535>show 240 810 M <213c>show 254 810 M <2550>show 268 810 M <4a51>show 282 810 M <3939>show 296 810 M <3e75>show 310 810 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 838 M <4331>show 240 838 M <386c>show 254 838 M <3a6f>show 268 838 M <3d7c>show 282 838 M <3e75>show 296 838 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 866 M <4331>show 240 866 M <386c>show 254 866 M <4550>show 268 866 M <4f3f>show 282 866 M <3e75>show 296 866 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 894 M <4331>show 240 894 M <386c>show 254 894 M <4550>show 268 894 M <4f3f>show 282 894 M <2562>show 296 894 M <213c>show 310 894 M <2549>show 324 894 M <244e>show 338 894 M <494a>show 352 894 M <3b6c>show 366 894 M <412a>show 380 894 M <4272>show 394 894 M <3e75>show 408 894 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 922 M <4331>show 240 922 M <386c>show 254 922 M <4550>show 268 922 M <4f3f>show 282 922 M <2562>show 296 922 M <213c>show 310 922 M <2549>show 324 922 M <244e>show 338 922 M <3c2d>show 352 922 M <3d71>show 366 922 M <412a>show 380 922 M <4272>show 394 922 M <3e75>show 408 922 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 226 950 M <307a>show 240 950 M <4d51>show 254 950 M <467e>show 268 950 M <4e4f>show 282 950 M <3e75>show 296 950 M <4256>show GR GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO GS 14 7 SF 225 977 M <3348>show 239 977 M <4425>show 253 977 M <3521>show 267 977 M <473d>show 281 977 M <412a>show 295 977 M <4272>show 309 977 M <3e75>show 323 977 M <4256>show GR GR % label end % picture end % picture end EP % PR-602PS epilog % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % $Header: /cvsroot/canna/canna/doc/man/guide/zukei/modedisp.eps,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ % end % $CANAE %count{type ==}repeat Save_state restore %%Trailer %%Pages: 1 Canna37p3/doc/man/guide/zukei/modes.eps0100644000076500001200000004550607554213600017245 0ustar shinraadmin%!PS-Adobe-2.0 EPSF-2.0 %%Title: EPSF %%Creator: cxdraw %%CreationDate: Wed Feb 19 16:52:25 1992 %%Pages: (atend) %%BoundingBox: 49 -9 696 820 %%DocumentFonts: Times-Roman %%+ Times-Bold %%+ Helvetica %%+ Helvetica-Bold %%+ Courier %%+ Courier-Bold %%+ Times-Italic %%+ Ryumin-Light-H %%+ GothicBBB-Medium-H %%+ Ryumin-Light.Hankaku %%EndComments %/ext/s38g/src/lib/ce/RCS/PsInit.c,v 6.1 % 602PS-A4 local procs % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % $Id: modes.eps,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ % /Save_state save def /$CANAE 100 dict def $CANAE begin % % canae local script % /BD{bind def}def /LD{load def}BD /XD{exch def}BD /CPT{transform round exch round exch itransform}BD % % PostScript basic operators % % Operand stak manupulation operators /X/exch LD /R/roll LD % Graphics state oerators /GS/gsave LD/GR/grestore LD /SW/setlinewidth LD/SC/setlinecap LD/SJ/setlinejoin LD/SD/setdash LD /SG/setgray LD /HSB /sethsbcolor LD/RGB/setrgbcolor LD % Coordinate system and matrix operators /MT/matrix LD /DMT/defaultmatrix LD /SMT/setmatrix LD /TR/translate LD /SCL/scale LD /CO/concat LD % Path construction operators /NP/newpath LD /M{CPT moveto}BD /RM{CPT rmoveto}BD /L{CPT lineto}BD /RL{CPT rlineto}BD /A/arc LD/AN/arcn LD /A2/arcto LD /C2/curveto LD /RC2/rcurveto LD /CP/closepath LD /STP/strokepath LD /CL/clip LD/ECL/eoclip LD % Painting operators /FI{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop fill setflat}BD /EF{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop eofill setflat}BD /STK{currentflat{{flattenpath}stopped{currentflat 1 add setflat}{exit}ifelse}loop stroke setflat}BD /IMM/imagemask LD /IM/image LD % constants /T/true LD/F/false LD % page start & end /BP{/pvm save def}BD/EP{pvm restore}BD % text & font % scale fontNo SF - % set font /$SF 1 dict def /SF{$SF begin X/s X def FD X get [s 0 0 s neg 0 0] makefont setfont end}BD % str scale fontNo SH - %set font, decide scale and show /SH{SF show}BD % str scale fontNo dx RS - %rmove current point, decide font scale & set and show /RS{0 rmoveto SF show}BD % pattern % pat bool llx lly urx ury _doPat /$_doPat 10 dict def /_doPat{ $_doPat begin 8 add 8 div cvi 8 mul/ury XD 8 add 8 div cvi 8 mul/urx XD 8 sub 8 div cvi 8 mul/lly XD 8 sub 8 div cvi 8 mul/llx XD /b XD/p XD llx lly TR ury lly sub dup urx llx sub dup 4 -1 R gt{X pop}{pop}ifelse /w XD/lw w 7 add 8 div cvi def /str lw 8 mul string def 0 1 7{/y XD 0 1 lw 1 sub{lw y mul add str X p y get put}for }for w w scale w w b[w 0 0 w neg 0 w]{str}IMM end }BD % fill solid color % fR fG fB doSolid /doSolid{RGB FI}BD % tile % pat fR fG fB bR bG bB doTile /doTile{ pathbbox 10 4 R doSolid RGB T 5 1 R _doPat }BD % stipple % pat bool fR fG fB doStipple /doStipple{ RGB pathbbox _doPat }BD % pattern % bool pat doPat /doPat{ GS X pathbbox _doPat GR }BD % line % x1 y1 x2 y2 doLine - /doLine{4 2 R M L}BD % rect % llx lly urx ury doRect - /$doRect 4 dict def /doRect{ $doRect begin /ury XD/urx XD/lly XD/llx XD llx lly M urx lly L urx ury L llx ury L CP end % $doRect }BD % arc % xpos ypos xscale yscale startangle endangle doArc - /doArc{ MT currentmatrix 7 -2 R TR 5 -2 R SCL 3 1 R 0 0 1 5 -2 R arc SMT }BD /doArcn{ MT currentmatrix 7 -2 R TR 5 -2 R SCL 3 1 R 0 0 1 5 -2 R arcn SMT }BD % raster % width height linebytes doBinary - /$doBinary 3 dict def /doBinary{ $doBinary begin string/ps XD/h XD/w XD w h SCL w h T[w 0 0 h 0 0]{currentfile ps readhexstring pop}IMM end % $doBinary }BD /doRaster{doBinary}def % raster % width height bps linebytes doGrayScale - /$doGrayScale 4 dict def /doGrayScale{ $doGrayScale begin string/ps XD/b XD /h XD/w XD w h SCL w h b[w 0 0 h 0 0]{currentfile ps readhexstring pop}IM end % $doGrayScale }BD %EndProlog %%EndProlog %%BeginSetup % font setup /FD 10 array def /Times-Roman findfont /Times-Bold findfont /Helvetica findfont /Helvetica-Bold findfont /Courier findfont /Courier-Bold findfont /Times-Italic findfont /Ryumin-Light-H findfont /GothicBBB-Medium-H findfont /Ryumin-Light.Hankaku findfont FD astore pop %%EndSetup %%Page: 0 1 BP [1 0 0 -1 22.6772 827.717]CO % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 383 144 M 14 0 SF (XF)show 401 144 M (ER)show 419 144 M 14 7 SF <213f>show 433 144 M 14 0 SF (C )show 446 144 M (- )show 454 144 M (o)show GR % label end % picture begin % picture begin % label begin GS 0 0 0 RGB [1 0 0 1 5 177]CO 280 601 M 14 7 SF <483e252b254a2127483e3351252b253f252b254a>show GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 5 177]CO 280 629 M 14 7 SF <483e25222127483e33512522256b25552521255925432548>show GR % label end % picture end % picture begin % label begin GS 0 0 0 RGB [1 0 0 1 19 90]CO 28 741 M 14 7 SF <242b244a34413b7a4a5134392562213c25492127433138754a64493d3c283e754256244838754a64306c4d77493d3c283e7542562472245e24482461243f2462244e>show GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 19 90]CO 28 713 M 14 7 SF <413425222127413433512522256b25552521255925432548>show GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 19 90]CO 28 657 M 14 7 SF <4134242b244a21274134335124522469242c244a>show GR % label end % label begin GS 0 0 0 RGB [1 0 0 1 19 90]CO 28 685 M 14 7 SF <4134252b254a212741343351252b253f252b254a>show GR % label end % picture end % picture end % picture begin % rect begin NP 29 178 M 671 178 L 671 715 L 29 715 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 14 87]CO 482 115 M 14 7 SF <467c4b5c386c467e4e4f2562213c2549>show GR % label end % picture begin % rect begin NP 52 214 M 636 214 L 636 480 L 52 480 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 21.3783 83.5094]CO 408 155 M 14 7 SF <4a513439467e4e4f2562213c2549>show GR % label end % picture begin % rect begin NP 82.6217 253.147 M 249.948 253.147 L 249.948 446.875 L 82.6217 446.875 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 34.5019 73.4717]CO 108 233 M 14 7 SF <2152>show 129 233 M 14 0 SF (spa)show 148 233 M (ce )show 167 233 M 14 7 SF <2153>show GR % label end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 34.5019 73.4717]CO 59 254 M 14 7 SF <242b244a34413b7a4a5134392562213c2549>show GR % label end % picture begin % rect begin NP 102.307 383.638 M 222.607 383.638 L 222.607 432.823 L 102.307 432.823 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 24.6592 80.4981]CO 88 341 M 14 7 SF <38754a64306c4d77>show GR % label end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 24.6592 80.4981]CO 131 317 M 14 0 SF (C )show 144 317 M (- )show 152 317 M (w)show GR % label end % picture end % picture end % picture begin % picture begin % picture begin % picture begin % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 17.0037 79.4943]CO 450 302 M 14 0 SF (C )show 463 302 M (- )show 471 302 M (p)show GR % label end % picture begin % picture begin % picture begin % rect begin NP 354.936 399.698 M 430.397 399.698 L 430.397 456.913 L 354.936 456.913 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 17.0037 47.3736]CO 329 377 M 14 7 SF <483e2522>show GR % label end % picture end % picture begin % rect begin NP 476.33 399.698 M 551.79 399.698 L 551.79 456.913 L 476.33 456.913 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 -32.2097 62.4302]CO 485 360 M 14 7 SF <41342522>show GR % label end % picture end % picture begin % rect begin NP 292.599 293.298 M 368.06 293.298 L 368.06 350.513 L 292.599 350.513 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 -21.2734 78.4906]CO 301 237 M 14 7 SF <4134242b244a>show GR % label end % picture end % picture begin % rect begin NP 415.086 249.132 M 490.547 249.132 L 490.547 306.347 L 415.086 306.347 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 1.69288 50.3849]CO 392 220 M 14 7 SF <483e252b254a>show GR % label end % picture end % picture begin % rect begin NP 536.479 293.298 M 611.94 293.298 L 611.94 350.513 L 536.479 350.513 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 4.97378 60.4226]CO 500 254 M 14 7 SF <4134252b254a>show GR % label end % picture end % picture end % oval begin NP 510.232 352.521 M 510.232 331.442 483.985 315.381 452.27 315.381 C2 452.27 315.381 L 419.461 315.381 393.213 331.442 393.213 352.521 C2 393.213 352.521 L 393.213 372.596 419.461 388.657 452.27 388.657 C2 452.27 388.657 L 483.985 388.657 510.232 372.596 510.232 352.521 C2 CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 1 SJ []0 SD STK GR % oval end % oval begin NP 486.172 351.517 M 486.172 341.479 470.861 332.445 452.27 332.445 C2 452.27 332.445 L 433.678 332.445 418.367 341.479 418.367 351.517 C2 418.367 351.517 L 418.367 361.555 433.678 370.589 452.27 370.589 C2 452.27 370.589 L 470.861 370.589 486.172 361.555 486.172 351.517 C2 CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1.04773 SW 0 SC 1 SJ []0 SD STK GR % oval end % picture end % label begin GS 0 0 0 RGB [1.09363 0 0 1.00377 17.0037 79.4943]CO 384 276 M 14 0 SF (C )show 397 276 M (- )show 405 276 M (n)show GR % label end % picture end % line begin NP 470.861 367.577 M 466.487 369.585 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 477.501 359.936 M 466.487 369.585 L 481.506 367.287 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 493.828 377.615 M 499.296 373.6 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 490.729 385.153 M 499.296 373.6 L 485.135 378.735 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % picture end % line begin NP 430.397 432.823 M 475.236 432.823 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 439.352 428.713 M 430.397 432.823 L 439.352 436.932 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR NP 466.281 436.932 M 475.236 432.823 L 466.281 428.713 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 538.667 398.694 M 567.101 352.521 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 539.175 389.516 M 538.667 398.694 L 546.971 393.561 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR NP 566.593 361.699 M 567.101 352.521 L 558.796 357.654 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 366.966 397.691 M 338.532 352.521 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 358.609 392.63 M 366.966 397.691 L 366.363 388.517 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR NP 346.889 357.582 M 338.532 352.521 L 339.135 361.694 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 410.712 260.174 M 353.843 290.287 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 405.192 267.841 M 410.712 260.174 L 400.717 260.721 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR NP 359.362 282.619 M 353.843 290.287 L 363.837 289.739 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 492.734 261.177 M 548.509 290.287 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 502.732 261.668 M 492.734 261.177 L 498.306 268.813 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR NP 538.511 289.796 M 548.509 290.287 L 542.938 282.651 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % picture end % line begin NP 369.154 328.43 M 535.386 328.43 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [5 5 5 5]0 SD STK GR % line end % line begin NP 430.397 407.728 M 476.33 407.728 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [5 5 5 5]0 SD STK GR % line end % line begin NP 535.386 327.426 M 471.955 305.343 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [5 5 5 5]0 SD STK GR % line end % picture end % picture end % picture begin % picture begin % rect begin NP 158 563 M 360 563 L 360 680 L 158 680 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 0 SW 0 SC 0 SJ [5 5 5 5]0 SD STK GR % rect end % picture begin % picture begin % rect begin NP 65 596 M 143 596 L 143 668 L 65 668 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 11 7]CO 78 628 M 14 7 SF <352d3966>show GR % label end % picture end % picture begin % rect begin NP 167 596 M 245 596 L 245 668 L 167 668 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 115 168]CO 76 467 M 14 7 SF <49743c73>show GR % label end % picture end % picture begin % rect begin NP 269 597 M 347 597 L 347 669 L 269 669 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 203 157]CO 84 477 M 14 7 SF <233123363f4a>show GR % label end % picture end % picture end % picture end % picture begin % rect begin NP 376 508 M 658 508 L 658 700 L 376 700 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 0 SW 0 SC 0 SJ [5 5 5 5]0 SD STK GR % rect end % picture begin % picture begin % rect begin NP 486 627 M 543 627 L 543 671 L 486 671 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 123 115]CO 379 530 M 14 7 SF <41342522>show GR % label end % picture end % picture begin % rect begin NP 402 598 M 459 598 L 459 642 L 402 642 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 110 107]CO 306 510 M 14 7 SF <483e2522>show GR % label end % picture end % picture begin % rect begin NP 386 531 M 443 531 L 443 575 L 386 575 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 132 117]CO 262 435 M 14 7 SF <4134242b244a>show GR % label end % picture end % picture begin % rect begin NP 572 598 M 629 598 L 629 642 L 572 642 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 377 229]CO 201 390 M 14 7 SF <483e252b254a>show GR % label end % picture end % picture begin % rect begin NP 589 531 M 646 531 L 646 575 L 589 575 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 131 117]CO 467 435 M 14 7 SF <4134252b254a>show GR % label end % picture end % picture end % picture end % picture end % picture end % picture begin % rect begin NP 228 11 M 461 11 L 461 102 L 228 102 L CP GS 1 1 1 doSolid GR GS 0 0 0 RGB 1 SW 0 SC 0 SJ []0 SD STK GR % rect end % label begin GS 0 0 0 RGB [1 0 0 1 60 -5]CO 199 65 M 14 7 SF <2522256b25552521255925432548467e4e4f2562213c2549>show GR % label end % picture end % label begin GS 0 0 0 RGB [1 0 0 1 0 0]CO 122 522 M 14 7 SF <2152>show 147 522 M 14 0 SF (ins)show 173 522 M 14 7 SF <2153>show GR % label end % line begin NP 323 103 M 323 176 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 319 168 M 323 176 L 327 168 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 369 177 M 369 102 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 373 110 M 369 102 L 365 110 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 100 482 M 100 593 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 96 585 M 100 593 L 104 585 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 204 480 M 204 593 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 200 585 M 204 593 L 208 585 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 304 482 M 304 594 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 300 586 M 304 594 L 308 586 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 372 544 M 330 594 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 332.083 585.302 M 330 594 L 338.208 590.447 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 372 544 M 231 591 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 237.325 584.675 M 231 591 L 239.854 592.265 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 372 544 M 128 594 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ []0 SD STK GR NP 135.034 588.475 M 128 594 L 136.64 596.313 L CP GS ECL [255 255 255 255 255 255 255 255] 0 0 0 1 1 1 doTile GR GS 0 0 0 RGB 0 SW 1 SC 1 SJ []0 SD STK GR % line end % line begin NP 513 625 M 513 480 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 460 612 M 571 612 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 448 552 M 587 552 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 444 551 M 513 482 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 516 484 M 588 553 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 444 556 M 512 627 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 588 552 M 514 625 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 460 612 M 513 483 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 468 612 M 584 553 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 568 612 M 441 553 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 572 612 M 515 483 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 420 597 M 420 575 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 611 596 M 611 575 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 600 644 M 546 657 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end % line begin NP 428 644 M 485 658 L GS 0 0 0 RGB 0 SW 0 SC 0 SJ [4 3 4 3]0 SD STK GR % line end EP % PR-602PS epilog % COPYRIGHT (C) NEC Corporation, % and NEC Microcomputer Technology, Ltd 1989 % All Rights Reserved % % end % $CANAE %count{type ==}repeat Save_state restore %%Trailer %%Pages: 1 Canna37p3/doc/README.jp0100644000076500001200000000625507727326134013725 0ustar shinraadmin¡Ø¤«¤ó¤Ê¡Ù¤Î¥É¥­¥å¥á¥ó¥ÈÎà¤Ë¤Ä¤¤¤Æ¤ÎÃí°Õ 1994.7.7 º£ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë¤ª¤¤¤Æ¤¢¤ë¥É¥­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¡¢Ãí°ÕÅÀ¤òµ­½Ò¤·¤Þ ¤¹¡£ ¡û ¤Ï¤¸¤á¤Ë ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î TeX ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤ËÅö¤¿¤Ã¤Æ¤Ï¡¢ ¡Ø¤«¤ó¤Ê¡Ù¤Î¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Æ¡¢ % xmkmf % make Makefiles % make includes ¤ò¼Â¹Ô¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ë¤è¤ê¡¢canna.sty ¤¬¡¢Å¬Åö¤Ê¥Ç¥£¥ì¥¯¥È ¥ê¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡£ ¡û intern proto12.tex¡¢protocol.tex ¤Ï ASCII TeX¡¢NTT TeX ¤Î¤¤¤º¤ì¤Ç¤â¥³¥ó¥Ñ¥¤ ¥ë¤Ç¤­¤Þ¤¹¡£ ¡û lisp, misc lisp/canlisp.tex¡¢misc/wchar.tex ¤Ï ASCII TeX¡¢NTT TeX ¤Î¤¤¤º¤ì¤Ç¤â ¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤¹¡£ ¡û man/guide/tex ¤³¤³¤Ë¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Î¥Þ¥Ë¥å¥¢¥ë¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï 200 ¥Ú¡¼ ¥¸¤ò±Û¤¹Â礭¤µ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¤¢¤é¤«¤¸¤á³Ð¸ç¤Î¾å¥×¥ê¥ó¥È¤·¤Æ¤¯¤À¤µ ¤¤¡£ ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤ò TeX ¤Ë¤«¤±¤ë¤Ë¤Ï¡¢man/guide/tex ¤Ë¤Æ % xmkmf % make ¤ÈÂǤĤΤ¬¤è¤í¤·¤¤¤Ç¤·¤ç¤¦¡£LaTeX ¤Îµ¯Æ°¤Î¤·¤«¤¿¤¬ `latex' ¤Ç¤Ï¤Ê¤¤ ¾ì¹ç(Î㤨¤Ð jlatex ¤Î¾ì¹ç¤Ê¤É)¤Ï¡¢Imakefile ¤ò½¤Àµ¤·¡¢ % xmkmf ¤ÈÂǤÁ Makefile ¤òºîÀ®¤·¤Ê¤ª¤·¤Æ¤«¤é make ¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤³¤³¤Ç¤Î make ¤Ï°Ê²¼¤Î¥Õ¥§¡¼¥º¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£ (1) cannaindex ¥³¥Þ¥ó¥É¤ÎºîÀ®¡£ cannaindex.c ¤ò¥³¥ó¥Ñ¥¤¥ë¤· cannaindex ¥³¥Þ¥ó¥É¤òºîÀ®¤·¤Þ¤¹¡£ (2) canna-dist.tex ¤«¤é canna.tex ¤òºîÀ®¡£ ³Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹¤ò Canna.conf ¤Ë¤·¤¿¤¬¤Ã¤Æ½ñ¤­´¹¤¨¤Þ¤¹¡£ (3) LaTeX ¤Îµ¯Æ°¡£ canna.tex ¤ËÂФ·¤Æ LaTeX ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ (4) cannaindex ¤Îµ¯Æ°¡£ LaTeX ¤Ë¤è¤êºîÀ®¤µ¤ì¤¿ canna.idx ¤ò¥½¡¼¥È¤·¡¢¸«½Ð¤·¤òÉÕ¤±¡¢ candex.tex ¤Ë½ÐÎϤ·¤Þ¤¹¡£ (5)LaTeX ¤ÎºÆµ¯Æ°¡£ ºÆ¤Ó LaTeX ¤òµ¯Æ°¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤êº÷°ú¤Ê¤É¤¬¼è¤ê¹þ¤Þ¤ì¤Þ¤¹¡£ LaTeX ¤Ë¤è¤Ã¤Æ¤Ï¡¢À¸À®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥³¡¼¥É¤¬ JIS ¥³¡¼¥É¤Ë¤Ê¤ë¤â¤Î ¤â¤¢¤ë¤è¤¦¤Ç¤¹¡£¤½¤Î¾ì¹ç¡¢canna.idx ¤¬ JIS ¥³¡¼¥É¤Çºî¤é¤ì¤Æ¤·¤Þ¤¤ cannaindex ¥³¥Þ¥ó¥É¤¬Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£¤½¤Î¤è¤¦¤Ê LaTeX ¤ò¤ª»È¤¤ ¤Î¾ì¹ç¤Ë¤Ï¡¢¾åµ­ (2) ¤Î½èÍý¤ò¼êư¤Ç¹Ô¤¤¡¢LaTeX ¸å¤Ë nkf -e ¤Ê¤É¤Ç canna.idx ¤ò EUC ¥³¡¼¥É¤ËÊÑ´¹¤·¤Æ¤«¤é cannaindex ¤Ë¤«¤±¤ë¤Ê¤É¤·¤Æ ¤¯¤À¤µ¤¤¡£ °Ê¾å ($Id: README.jp,v 1.2 2003/09/09 10:33:00 takasan Exp $) Copyright 1994 NEC Corporation, Tokyo, Japan. Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of NEC Corporation not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. NEC Corporation makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Canna37p3/Imakefile0100644000076500001200000001345510052677652013500 0ustar shinraadmin/* $Id: Imakefile,v 1.12.2.4 2004/05/19 15:39:22 aida_s Exp $ */ #include "./Canna.conf" #define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' #ifndef ConfigureArgs # define ConfigureArgs #endif #if UseInet6 # define CannaConfInet6 echo "#define INET6" #else # define CannaConfInet6 echo "/* #undef INET6 */" #endif CANNAROOT = . WORLDOPTS = /* -k */ SUBDIRS = lib canna server cmd dic misc doc INCLUDE = ./include/canna RKIINCLUDE = ./include/RKindep DEFINES = $(CANNA_DEFINES) CONFIGURE_CMD = IN_MAKE=yes $(CANNAROOT)/confwrapper run ./configure --prefix=$(cannaPrefix) ConfigureArgs PURE_CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) /* $(THREADS_CFLAGS) $(MODULE_CFLAGS) */ supportOldWchar = SupportOldWchar AllTarget(cannaconf.h accanna.h pubconf.h) MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) clean:: $(RM) -r include cannaconf.h distclean:: $(RM) accanna.h config.log config.cache config.status pubconf.h cwenv.sh includes:: cannaconf.h accanna.h pubconf.h $(RM) -r include MakeDir($(INCLUDE)) MakeDir($(RKIINCLUDE)) /* °Ê²¼¤Ï cannaconf.h ¤òºî¤ë¥ë¡¼¥ë */ cannaconf.h: Canna.conf @echo "creating $@" #ifdef OS2Architecture @echo "#ifndef CANNACONF_H" > junkjunk @echo "#define CANNACONF_H" >> junkjunk @echo "#include \"accanna.h\"" >> junkjunk @echo "#ifdef malloc" >> junkjunk @echo "# undef malloc" >> junkjunk @echo "#endif" >> junkjunk @echo "/* for cannaserver */" >> junkjunk @echo "#define DICHOME '$(DicDir)'" >> junkjunk @echo "#define ERRDIR '$(ErrDir)'" >> junkjunk @echo "#define USE_INET_SOCKET" >> junkjunk @echo "#define ACCESS_FILE '$(AccessFile)'" >> junkjunk @echo "/* for lib/RKC */" >> junkjunk @echo "#define CANNAHOSTFILE '$(cannaLibDir)/cannahost'" >> junkjunk @echo "/* for lib/canna */" >> junkjunk @echo "#define CANNALIBDIR '$(cannaLibDir)'" >> junkjunk @echo "#define SUPPORT_OLD_WCHAR '$(supportOldWchar)'" >> junkjunk @echo "/* for scripts */" >> junkjunk @echo "#define CANNABINDIR $(cannaBinDir)" >> junkjunk @echo "/* others */" >> junkjunk @echo "#define CANNA_LIGHT $(cannaLight)" >> junkjunk @echo "#ifdef nec" >> junkjunk @echo "#undef nec" >> junkjunk @echo "#endif" >> junkjunk @CannaConfInet6 >> junkjunk @echo "#endif /* !CANNACONF_H */" >> junkjunk @sed -e "s/'/\\\"/" -e "s/'/\\\"/" < junkjunk > junk @$(RM) junkjunk #else @(echo "#ifndef CANNACONF_H";\ echo "#define CANNACONF_H"; \ echo "#include \"accanna.h\""; \ echo "#ifdef malloc"; \ echo "# undef malloc"; \ echo "#endif"; \ echo "/* for cannaserver */"; \ echo "#define DICHOME \"$(DicDir)\""; \ echo "#define ERRDIR \"$(ErrDir)\""; \ echo "#define USE_UNIX_SOCKET"; \ echo "#define USE_INET_SOCKET"; \ echo "#define IR_UNIX_DIR \"$(UnixSockDir)\""; \ echo "#define IR_UNIX_SOCKNAME \"$(UnixSockName)\""; \ echo "#define ACCESS_FILE \"$(AccessFile)\""; \ echo "/* for lib/RKC */";\ echo "#define CANNAHOSTFILE \"$(cannaLibDir)/cannahost\"";\ echo "/* for lib/canna */";\ echo "#define CANNALIBDIR \"$(cannaLibDir)\""; \ echo "#define SUPPORT_OLD_WCHAR $(supportOldWchar)"; \ echo "/* for scripts */";\ echo "#define CANNABINDIR $(cannaBinDir)"; \ echo "/* others */";\ echo "#define CANNA_LIGHT $(cannaLight)"; \ echo "#ifdef nec"; \ echo "#undef nec"; \ echo "#endif"; \ CannaConfInet6; \ echo "#endif /* !CANNACONF_H */") > junk #endif /* OS2Architecture */ @if test -r $@ && cmp -s junk $@; then \ echo "$@ unchanged"; \ rm junk; \ else \ mv junk $@; \ fi XCOMM Invoke configure only when accanna.h does not exist for faster build accanna.h pubconf.h: $(CONFIGURE_CMD) XCOMM If you want to invoke configure explicitly, do "make config" config:: $(CONFIGURE_CMD) reconfig:: $(RM) config.cache cwenv.sh $(CONFIGURE_CMD) XCOMM Invoked from confwrapper cwenv.sh: $(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) > $@ $(CANNAROOT)/confwrapper mkenv CC env $(CC) >> $@ $(CANNAROOT)/confwrapper mkenv CFLAGS $(PURE_CFLAGS) >> $@ CANNAROOT = . SERVERDIR = server dic/phono dic/ideo CLIENTDIR = cmd dic/phono misc SGSDIR = canna lib MOSTDIR = lib canna server cmd dic/phono misc doc install:: mkbindir mklibdir mkdicdir mkerrdir instserver:: mkdicdir mkerrdir instclient:: mkbindir mkdicdir instsgs:: mklibdir instmost:: mkbindir mklibdir mkdicdir mkerrdir MakeDirectories(mkbindir, $(cannaBinDir)) MakeDirectories(mklibdir, $(cannaLibDir)) #ifdef InstallAsUser MakeDirectories(mkdicdir, $(DicDir)) MakeDirectories(mkerrdir, $(ErrDir)) #else MakeDirectoriesLong(mkdicdir, $(DicDir), $(cannaOwner), $(cannaGroup)) MakeDirectoriesLong(mkerrdir, $(ErrDir), $(cannaOwner), $(cannaGroup)) #endif LinkFileList(includes,cannaconf.h,$(CANNAROOT)/include,..) LinkFileList(includes,accanna.h,$(CANNAROOT)/include,..) LinkFileList(includes,pubconf.h,$(CANNAROOT)/include/canna,../..) InstallMultiple(pubconf.h,$(cannaIncDir)) canna:: @echo "" @echo "Building canna" @echo "" @echo "" $(MAKE) Makefiles $(MAKE) clean $(MAKE) includes $(MAKE) -k depend $(MAKE) $(WORLDOPTS) @echo "" @date @echo "" instserver:: @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ for i in $(SERVERDIR) ;\ do \ (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \ done instclient:: @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ for i in $(CLIENTDIR) ;\ do \ (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \ done instsgs:: @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ for i in $(SGSDIR) ;\ do \ (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \ done instmost:: @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ for i in $(MOSTDIR) ;\ do \ (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \ done Canna37p3/INSTALL0100644000076500001200000004530407734604257012722 0ustar shinraadmin/* * INSTALL */ This is the environment for installation of Canna. You need imake on X11R6 to compile Canna. -1. Quick Install If you have no time to read this document and you use the default environment for installation, then you run as follows. Canna will be installed in /usr/local/canna. (1) When your machine is OS/2, first, see Appendix A. (2) Run as follows: % xmkmf % make canna % su # make install # make install.man When there will be some errors, see the following. If you cannot become super user, then see "5. Compilation and Installation of Canna when you cannot become super user". 0. Overview Show configuration of environment for Canna as follows: 1. Preparations 2. Compile Canna 3. Install Canna 4. How to Use Canna 5. Compilation and Installation of Canna when you cannot become super user If you have any problem to compile Canna, mail to canna-dev@lists.sourceforge.jp. Please report detailed errors. There are thee mailing lists. * Canna@nec.co.jp (users mailing list) For more information, see: http://www.nec.co.jp/canna/c-mail.html * canna-dev@lists.sourceforge.jp (developers mailing list) * canna-cvs@lists.sourceforge.jp (cvs commitlog list) Mailman interface is available at: http://sourceforge.jp/mail/?group_id=285 Canna which contributed on X11R5 is Version 1.2. For changes from previous versions, see CHANGES.jp. (Sorry, but CHANGES.jp is in Japanese.) 1. Preparations 1.1 Configure the Environment in Canna.conf For compilation and installation of Canna, configure the following environment in Canna.conf. cannaBinDir Directory to install commands. cannaSrvDir Directory to install cannaserver and cannakill. cannaLibDir Directory to install files for Canna. cannaManDir Directory to install documents. cannaIncDir Directory to install include file. libCannaDir Directory to install libraries such as libcanna etc. ErrDir Directory to put log file. cannaOwner Owner of dictionaries and kana-to-kanji server. See 4.1. cannaGroup Group of dictionaries and kana-to-kanji server. See 4.1. cannaDsoRev Revision of shared library. Here is 1 when *.so.1. sharedLibExtension Extension of shared library. Generally, here is so.1. On HP-UX, here is s1. DicDir Directory to install dictionaries. pubdicDir Directory of Pubdic+. Pubdic+ offers the newest dictionaries. In case you want to use Pubdic+, you should specify this parameter. In this case, you must make iroha.t in the specified directory before you start to make Canna. JAPNESEMAN Which document install, Japanese or English. According to definition of this parameter, result of make is different. Sorry, but English documents are not complete. USE_OBSOLETE_STYLE_FILENAME If you want to use the obsolete styles of filename as Canna 3.4 has offered, define this parameter. After version 3.5, several file extentions are changed as following: File Before v3.4 After v3.5 -------------------------------------------- Romaji-to-Kana table *.kp *.cbp Binary dictionary *.d *.cbd Text dictionary *.t *.ctd Leaning dictionary *.fq *.cld SupportOldWchar If you got compile errors related to wchar_t define this to 0. Otherwise, leave this 1. Read INSTALL.jp for detail. UseInet6 Support IPv6 or not. Your operating system needs newer IPv6 implementation. DIC_3_6_COMPAT Create dictionaries which are compatible with Canna 3.6 or earlier. You can create old dictionary by "mkbindic -c 3.0" whether you specify DIC_3_6_COMPAT or not. ModernElfLink This is an experimental option. Leave it NO unless you know what you are doing. Read INSTALL.jp for detail. For example, the default setting is: /* #define InstallAsUser */ /* #define ObsoleteInstallDir */ cannaPrefix = DefCannaPrefix cannaExecPrefix = $(cannaPrefix) cannaBinDir = $(cannaExecPrefix)/bin cannaSrvDir = DefCannaSrvDir XCOMM cannaLibDir = /var/lib/canna XCOMM cannaLibDir = /var/db/canna cannaLibDir = DefCannaLibDir XCOMM cannaManDir = $(cannaPrefix)/share/man cannaManDir = $(cannaPrefix)/man cannaIncDir = $(cannaPrefix)/include/canna libCannaDir = DefLibCannaDir ErrDir = DefErrDir #define SupportOldWchar 1 #define UseInet6 0 /* #define DIC_3_6_COMPAT */ #define ModernElfLink NO cannaOwner = bin cannaGroup = bin DicDir = $(cannaLibDir)/dic #define JAPANESEMAN pubdicDir = $(CANNAROOT)/dic/ideo/pubdic 2. Compile Canna Canna is compiled and installed with Imakefile on X11. Imakefile is a Makefile which does not depend on machine. Imake, it is a program, creates Makefile for your machine from Imakefile. You need imake (or xmkmf, it is a shell script to call imake) when compile a software based on X11. Because of this, we advice to install imake if you didn't install it. Here, we assume that you installed imake. When you have the environment for imake, enter the following. xmkmf make canna In the first line, you will have new Makefile which based on parameter of Canna.conf on the top directory. In the second line, it will do the following: (1) make Makefiles Create new makefiles from Imakefile in all subdirectories. (2) make clean Clear all of the directories. (3) make includes Link each header files in the directory include, generate header files such as accanna.h, and construct the directory hierarchy. Especially "configure" script runs to create "accanna.h". To onstruct directory hierarchy you need a program "mkdirhier". If you cannot find mkdirhier in $(BINDIR) (normally points to /usr/X11R6/bin), then install it in $(BINDIR). It is found in xc/config/util (or xc/util) on distribution of X11. (4) make depend Reflect the relationship of files in each directories to Makefile. Additionally, run yacc and lex, and make symbolic link files. Here, you need the program makedepend. If you don't have makedepend, then install it. It is found in xc/config (or xc/util) on distribution of X11. (5) make Compile programs. If configure fails in some reason, you can rerun it by "make reconfig". 3. Install Canna 3.1 Set up the Communication Environment Set up the port number to communicate between a kana-to-kanji conversion server and clients. Add the following line in /etc/services. canna 5680/tcp (If you use NIS, add the line in database on master server.) If you have used Canna for a long time, you find the following line in /etc/services. In this case, leave the line and add the above line in the file. iroha 5680/tcp 3.2 Installation For installation of Canna, run any one of following commands in top directory of Canna's sources. (1) make install Install from (3) to (5) below. (2) make install.man Install the documents of each command in $(cannaManDir). (3) make instserver Install the kana-to-kanji conversion server and its environment. (4) make instclient Install the clients of Canna and its environment. (5) make instsgs Install the libraries, the header files and so on to compile Canna. (6) make instmost Install everything except dictionaries. Install in each directories specified in Canna.conf. 3.3 Configuration of Directories Below, I would like to describe the configuration of Canna's sources. -+ lib ----+- RK Library of kana-to-kanji conversion engine | +- RKC Library to communicate with kana-to-kanji | | conversion server | +- RKindep Internal library which does not depend on | | RK layer | +- canna Library for clients | | | +- RKC16 -+ | +- canna16-+Libraries which wchar_t defined 16bits | | These libraries are installed in $(libCannaDir). | + server Directory of kana-to-kanji conversion server. | The server is installed in $(cannaSrvDir). | + canna The header files | + cmd ----+* The commands. | These are installed in $(cannaBinDir). | + ccustom Editor for customization. You can customize | without knowledge of lisp language. | + dic ----+ ideo The kana-to-kanji conversion dictionaries | + phono The romaji-to-kana conversion rules | | These are installed in $(DicDir). | + canuum Uum (Japanese input front-end processor) for Canna | + misc Other files | + doc Documents 3.4 Other Files (1) Log file The kana-to-kanji conversion server outputs error messages in a log file. You can find the log file in directory which specified as $(ErrDir), and it will be named "CANNA0msgs". The default file is: /var/log/CANNA0msgs 4. How to Use Canna 4.1 Owner or Group for Sever and Dictionaries You should restrict the access of others to keep your dictionaries safety. It is advisable to create a user/group by the name of "canna" and set the ownership of your dictionaries to prevent unauthorized access. At this time, for the cannaserver can read, write the dictionaries, allow read, write by owner and group to the respective directories and files of dictionaries. Next, take away others' permissions. Then start cannaserver with root privilege and have it run as "canna" user by specifying "-u canna". By default, owner and group of Canna's dictionaries are "bin". Set owner and group of your dictionaries or cannaserver to the parameter $(cannaOwner) and $(cannaGroup) in Canna.conf. Below, we assume you set owner and group to bin. 4.2 Start Kana-to-kanji Conversion Server Enter the following command to start kana-to-kanji conversion server as super user. # cannaserver -u bin If you want to start it automatically each time the UNIX system is started, set to start cannaserver in the starting script(ex. /etc/rc.local, etc.). You should remove its socket when start cannaserver since cannaserver cannot be started when the stale socket exists. Refer to the sample startup script misc/rc.canna for details, which will be made by compiling the program following the steps described in section 2. 4.3 Stop Kana-to-kanji Conversion Server Enter the following command to stop kana-to-kanji conversion server. # cannakill The cannaserver save a part of information of dictionaries on memory. So you should run cannakill when you stop kana-to-kanji conversion server. If you kill cannaserver directly with SIGKILL, etc., you may lost the information on memory. If you want to stop it automatically each time the UNIX system is stopped, set to stop cannaserver in the shutdown script. 4.4 Dictionaries (1) Kana-to-kanji conversion dictionaries We call the directory "dic home directory" in which there are kana-to-kanji conversion dictionaries. This directory is specified as $(DicDir) or specified in command line as follow: ex.) In case you specify "dic home directory" to /var/lib/canna/dic # cannaserver /var/lib/canna/dic Below, we show the configuration of "dic home directory". -+-- *.cbp Romaji-to-kana conversion rules | +-- canna Directory of your own system's dictionaries | +-- user/* Directory of user's dictionaries | +-- group/* Directory of group's dictionaries Allow cannaserver to read and write dic home directory, any subdirectories and any files in there. (See 4.1.) (2) Romaji-to-kana conversion rules In default, cannaserver searches romaji-to-kana conversion rules in /usr/local/canna/share/dic. If you want to use another file as romaji-to-kana conversion rules, you should specify the file in your own customization file "$HOME/.canna", the full path must be given. 4.5 Initialize(Customization) File In Canna, each user can have a own initialize(customization) file. You can set your own environment to input Japanese easily by editing the file. You can specify key bindings, romaji-to-kana conversion rules, kana-to-kanji conversion dictionaries, etc. 5. Compilation and Installation of Canna when you cannot become super user You are able to compile and install as following when you cannot become super user. 5.1 Configure the Environment in Canna.conf Specify the directories in which installed commands and dictionaries to your own directories. And, specify owner and group of cannaserver to your own. For example, as follows: #define InstallAsUser cannaPrefix = /home/kon/canna ... cannaOwner = kon cannaGroup = user 5.2 Compilation and Installation In case imake on X11R6 is installed on your machine, enter the following commands to compile and install Canna. xmkmf make canna make install make install.man If you are able to get the sources of X11R6, although X11R6 was not installed on your machine, you should get xc/config of the source from X11R6, and run make in config. For compilation in config and subdirectories, compile as following after rewriting BOOTSTRAPFLAG in config/cf/Makefile.ini according to your machine. make -f Makefile.ini We use mkdirhier command to make canna. But this command is specified $(BINDIR) of X11. To clear this problem, edit a suitable file in config, or specify in Canna.conf as follow: BINDIR=/home/kon/xutil When finish, run imake as following in the top directory which you compile Canna (there is Canna.conf in the directory). ex.) % ../xc/config/imake/imake -I../xc/config/cf -DTOPDIR-=../xc/config \ -DCURDIR=../Canna35 And run follows: % make Makefile % make canna % make install % make install.man 5.3 Set up the Communication Environment You aren't able to rewrite /etc/services if you cannot become super user. But you can run cannaserver and use libraries with port number 5680 without the description in /etc/services. In this case, cannaserver output warning messages in log file each time cannaserver is started. Appendix A. Notes on Each OS A.1 OS/2 (This discription is originally written by Hiroshi Ueno.) (This may be out-of-date.) 1) You need emx 0.9c or later to compile Canna. For emx 0.9c, see the following ftp site. ftp://ftp.leo.org ftp://hobbes.nmsu.edu 2) You need imake of XFree86 for OS/2. For XFree86 for OS/2, see the following URL. http://borneo.gmd.de/~veit/os2/xf86os2.html In case of XFree86 for OS/2 3.2, you must install XF32base.zip and XF32prog.zip at least. 3) Add x:\XFree86\bin to the environment variable PATH (x: is the drive name which the XFree86 was installed). And you need the environment variable X11ROOT. If you install XFree86 in the root directory on E drive, add the following line in CONFIG.SYS. SET X11ROOT=E: 4) Change the following files in XFree86/lib/X11/config. os2.cf: #define InstallCmd install -> #define InstallCmd ginstall #define BourneShell /**/ -> #define BourneShell cmd os2Lib.rules: #define HasSharedLibraries YES -> #define HasSharedLibraries NO 5) You need sed/sort/awk/install of GNU. For this, see ftp://hobbes.nmsu.edu, you can find this as one of the following file names. gnused.zip gnuawk.zip gnufutil.zip (include install) gnututil.zip (include sort) Rename as following for the purpose of distinction from these commands on OS/2. sort.exe -> gsort.exe install.exe -> ginstall.exe 6) Set the environment in Canna.conf as below. For detail of Canna.conf, see "1.1 Configure the Environment in Canna.conf". CHOWN = echo CHGRP = echo CHMOD = echo 7) Enter the following. [x:\Canna35] xmkmf [x:\Canna35] x11make Makefile [x:\Canna35] x11make canna [x:\Canna35] x11make install For detail, see "2. Compille Canna" and later. That's all. /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ ($Id: INSTALL,v 1.8 2003/09/25 15:24:31 aida_s Exp $) Canna37p3/INSTALL.jp0100644000076500001200000005231107734604257013326 0ustar shinraadmin/* * ¡Ø¤«¤ó¤Ê¡Ù¥¤¥ó¥¹¥È¡¼¥ë¤Î¼ê°ú¤­ * */ ËÜʸ½ñ¤Ç¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¤Ê¤ª¡¢¡Ø¤«¤ó¤Ê¡Ù ¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï X11R6 ¤Î imake ¤¬É¬ÍפǤ¹¡£ -1.¥¯¥¤¥Ã¥¯¥¤¥ó¥¹¥È¡¼¥ë ËÜʸ½ñ¤ËÌܤòÄ̤¹¤Î¤¬ÌÌÅݤǡ¢³Æ¼ï¥Ñ¥é¥á¥¿¤ÎÀßÄê¤ä¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì ¥¯¥È¥ê¤¬¥Ç¥Õ¥©¥ë¥È¤ÇÎɤ¤¾ì¹ç¤Ï°Ê²¼¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥¹¥È¡¼¥ë¤Ï /usr/local/canna ²¼¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£ (1) OS/2 ¤ò¤ª»È¤¤¤ÎÊý¤Ï¡¢¤Þ¤ºÉÕÏ¿ A ¤Î³ºÅöÉôʬ¤ËÌܤò¤ªÄ̤·¤¯¤À¤µ¤¤¡£ (2) °Ê²¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£ % xmkmf % make canna % su # make install # make install.man ¤Ê¤Ë¤«¤·¤é¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¤Ë¤Ï°Ê²¼¤ËÌܤò¤ªÄ̤·¤¯¤À¤µ¤¤¡£root ¤Ë¤Ê¤ì ¤Ê¤¤¾ì¹ç¤Ë¤Ï¡Ö5. root ¤Ë¤Ê¤ì¤Ê¤¤¾ì¹ç¤Î¥³¥ó¥Ñ¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¹¥È¡¼¥ë¡× ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ 0.¤Ï¤¸¤á¤Ë ¡Ø¤«¤ó¤Ê¡Ù¤Î´Ä¶­ÀßÄê¤Î³µÍפò¼¨¤·¤Þ¤¹¡£¤Ê¤ª¡¢root ¤Ë¤Ê¤ì¤Ê¤¤¾ì¹ç¤Î¼ê ½ç¤òºÇ¸å¤Ëµ­½Ò¤·¤Æ¤ª¤­¤Þ¤¹¤Î¤Ç root ¤Î¸¢¸Â¤¬¤Ê¤¤¾ì¹ç¤Ï¤½¤³¤ò»²¾È¤· ¤Æ¥³¥ó¥Ñ¥¤¥ë¡¦¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ 1. Á°½àÈ÷ 2. ¥³¥ó¥Ñ¥¤¥ë 3. ¥¤¥ó¥¹¥È¡¼¥ë 4. ±¿ÍÑ ¡Ø¤«¤ó¤Ê¡Ù¤Î¥³¥ó¥Ñ¥¤¥ë¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Ë´Ø¤·¤Æ²¿¤é¤«¤ÎÌäÂ꤬¤¢¤Ã¤¿¾ì¹ç¡¢ canna-dev@lists.sourceforge.jp¤Ë¸æÊó¹ð¤¯¤À¤µ¤¤¡£¤½¤ÎºÝ¡¢¤Ç¤­¤ì¤Ð ¾Ü¤·¤¤¥¨¥é¡¼¤ÎÍͻҤʤɤòÊó¹ð¤·¤Æ¤¤¤¿¤À¤±¤ë¤È½õ¤«¤ê¤Þ¤¹¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Ë¤Ï¸½ºß 3¤Ä¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£ ¡¦Canna@nec.co.jp NEC¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¤¹¡£¤«¤Ä¤Æ¤Ï¤³¤³¤Ç³«È¯Åù¤â¹Ô¤ï¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ ³«È¯¤¬sourceforge.jp¤Ë°Ü¤Ã¤¿¤Î¤Ç¡¢ÅöÌ̤ϥ桼¥¶¡¼¸þ¤±¥á¡¼¥ê¥ó¥°¥ê¥¹¥È ¤È¤¤¤¦°ÌÃ֤Ť±¤È¤·¤Þ¤¹¡£¾Ü¤·¤¤ÀâÌÀ¤¬ http://www.nec.co.jp/canna/c-mail.html ¤Ë¤¢¤ê¤Þ¤¹¡£ ¡¦canna-dev@lists.sourceforge.jp ³«È¯Íѥ᡼¥ê¥ó¥°¥ê¥¹¥È¤Ç¤¹¡£³«È¯¤Ë»²²Ã¤·¤¿¤¤Êý¡¢¥Ð¥°Êó¹ðÅù¤ò¤Ê¤µ¤ëÊý ¤Ï¤³¤Á¤é¤ò¤ª»È¤¤¤¯¤À¤µ¤¤¡£ ¡¦canna-cvs@lists.sourceforge.jp CVS¤Îcommitlog¤¬Á÷¤é¤ì¤Þ¤¹¡£¹ØÆÉÀìÍѤǤ¹¡£ sourceforge.jp¤Î2¤Ä¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢ http://sourceforge.jp/mail/?group_id=285 ¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£ X11R5 ¤Ë¥³¥ó¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤·¤¿¡Ø¤«¤ó¤Ê¡Ù¤Ï¡¢Êª·ï¼«ÂΤˤϥС¼¥¸¥ç ¥ó¤¬ÌÀµ­¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢Version 1.2 ¤È¤¤¤¦¤³¤È¤Ë¤·¤Þ¤¹¡£ µì¥Ð¡¼¥¸¥ç¥ó¤«¤é¤ÎÊѹ¹ÍúÎò¤Ë¤Ä¤¤¤Æ¤Ï CHANGES.jp ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ 1. Á°½àÈ÷ 1.1 Canna.conf ¤ÎÀßÄê Canna.conf ¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤Æ¡¢¡Ø¤«¤ó¤Ê¡Ù¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹ ¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤É¤ò»ØÄꤷ¤Þ¤¹¡£ cannaBinDir ¥³¥Þ¥ó¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ cannaSrvDir cannaserver ¤ª¤è¤Ó cannakill ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£ ¥ì¥¯¥È¥ê¤Ç¤¹¡£ cannaLibDir ¡Ø¤«¤ó¤Ê¡Ù¤Î¼ï¡¹¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì ¥¯¥È¥ê¤Ç¤¹¡£ cannaManDir ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ cannaIncDir ¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ëÅù¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È ¥ê¤Ç¤¹¡£ libCannaDir libcanna Åù¥é¥¤¥Ö¥é¥êÅù¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯ ¥È¥ê¤Ç¤¹¡£ ErrDir ¥í¥°¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ cannaOwner ¼­½ñ¤È¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥ª¡¼¥Ê¤ò»ØÄꤷ¤Þ¤¹¡£4.1 ¤Î¹à¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ cannaGroup ¼­½ñ¤È¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥°¥ë¡¼¥×¤ò»ØÄꤷ¤Þ¤¹¡£ 4.1 ¤Î¹à¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ cannaDsoRev shared library ¤Î¥ê¥Ó¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£so.1 ¤Ç¤¢ ¤ì¤Ð 1 ¤Ç¤¹¡£ sharedLibExtension shared library ¤Î³ÈÄ¥»Ò¤ò»ØÄꤷ¤Þ¤¹¡£Ä̾ï¤Ï so.1 ¤Ê¤É¤¬»È¤ï¤ì¤Þ¤¹¡£ HP-UX ¤Ç¤Ï sl ¤Ç¤¹¡£ DicDir ¼­½ñ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ pubdicDir Pubdic+ ¤Ç¤ÏºÇ¿·¤Î¼­½ñ¤¬½àÈ÷¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤Á¤é¤ò ÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¤³¤³¤Ç¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£ Canna ¤Î make ¤ò¤¹¤ëÁ°¤Ë¡¢»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë iroha.t ¤¬ºî¤é¤ì¤Æ¤¤¤ë¾õÂ֤ˤʤäƤ¤¤ë¤è¤¦¤Ë¤·¤Æ¤¯ ¤À¤µ¤¤¡£ JAPANESEMAN ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤ËÆüËܸì¤Î¥Þ¥Ë¥å ¥¢¥ë¥Ú¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¡¢±Ñ¸ì¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼ ¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¥Ñ¥é¥á¥¿¤Ë´Ø ¤·¤Æ¤Ï #define ¤¹¤ë¤«¤·¤Ê¤¤¤«¤Ë¤è¤êưºî¤¬ÀÚ¤êÂØ¤ï ¤ê¤Þ¤¹¤Î¤Ç¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ ÆüËܸì¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ËÂФ·¤Æ±Ñ¸ì¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼ ¥¸¤ÏÉÔ½½Ê¬¤Ç¤¹¤Î¤Ç¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ USE_OBSOLETE_STYLE_FILENAME ´Á»ú¼­½ñ̾¡¢¥í¡¼¥Þ»ú¥Æ¡¼¥Ö¥ë̾¤ò Version 3.4 °ÊÁ° ¤Î̾Á°¤Î¤Þ¤Þ¤Ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥Þ¥¯¥í¤ò #define ¤·¤Æ¤¯¤À¤µ¤¤¡£¤Á¤Ê¤ß¤Ë¡¢Version 3.5 ¤«¤é¡¢¥í¡¼¥Þ»ú ¤«Ì¾ÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î³ÈÄ¥»Ò¤¬ .kp ¤«¤é .cbp ¤Ø¡¢¥Æ¥­ ¥¹¥È¼­½ñ¥Õ¥¡¥¤¥ë¡¢¥Ð¥¤¥Ê¥ê¼­½ñ¥Õ¥¡¥¤¥ë¡¢¼­½ñ³Ø½¬¥Õ¥¡ ¥¤¥ë¤Î³ÈÄ¥»Ò¤¬¤½¤ì¤¾¤ì¡¢.t, .d, .fq ¤«¤é .cbd, . ctd, .cld ¤ËÊѹ¹¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ SupportOldWchar ¡Ø¤«¤ó¤Ê¡Ù¤Ï Version 3.6 ¤Þ¤Ç¡¢¥·¥¹¥Æ¥à¤ÎÄ󶡤¹¤ë¥ï¥¤¥É ¥­¥ã¥é¥¯¥¿¤ÎÄêµÁ¤òÃ¥¤Ã¤Æ¡¢ÆâÉô½èÍý¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¤È¤Î¤ä¤ê¤È¤ê¤ËÍøÍѤ·¤Æ¤¤¤Þ¤·¤¿¡£¸½ºß¤Ç¤â¡¢kinput2 ¤Ê¤É ¤Î½¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹À­¤Î¤¿¤á¡¢°ìÉô¤Ç¤³¤Î¤è¤¦¤Ê ºÆÄêµÁ¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤³¤È¤¬¸¶°ø¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ ¤¹¤ë¾ì¹ç¡¢ SupportOldWchar ¤ò 0 ¤ÈÄêµÁ¤¹¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥ë ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢ 3.7 ¤ÇƳÆþ¤µ¤ì¤¿¿·¤·¤¤ ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ïưºî ¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ UseInet6 IPv6¥µ¥Ý¡¼¥È¤òÁȤ߹þ¤ß¤Þ¤¹¡£¥·¥¹¥Æ¥à¤¬ IPv6 ¤ËÂбþ¤·¤Æ ¤¤¤Æ¡¢É¬ÍפʥإåÀ¥Õ¥¡¥¤¥ë¤Ê¤É¤¬Ìµ¤±¤ì¤Ð¡¢¥³¥ó¥Ñ¥¤¥ë½ÐÍè ¤Þ¤»¤ó¡£ IPv6 Âбþ¥·¥¹¥Æ¥à¤Ç¤â¡¢ Linux ¤Ê¤É¤Î¸Å¤¤¼ÂÁõ ¤Ç¤Ï¡¢¤ä¤Ï¤ê¥³¥ó¥Ñ¥¤¥ë½ÐÍè¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ DIC_3_6_COMPAT ¤³¤ì¤ò #define ¤¹¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë Version 3.6 ¤Þ¤Ç ¤Î¸Å¤¤·Á¼°¤Î¼­½ñ¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤òÄêµÁ¤·¤Æ¤¤¤ë¤«¤É¤¦¤« ¤Ë´Ø¤ï¤é¤º¡¢ mkbindic ¤Ç¤Ï -c 3.0 ¥ª¥×¥·¥ç¥ó¤Çµì·Á¼°¤Î ¼­½ñ¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ ModernElfLink (¼Â¸³Åª¤Ê¥ª¥×¥·¥ç¥ó¤Ê¤Î¤ÇÄ̾ï¤Ï NO ¤Î¤Þ¤Þ¤Ë¤·¤Æ¤¯¤À¤µ¤¤) Solaris ¤Ê¤É¤Ç¤Ï¡¢ imake ¤Ë¤è¤ëɸ½àŪ¤ÊÊýË¡¤Ç¶¦Í­¥é¥¤¥Ö ¥é¥ê¤òºîÀ®¤¹¤ë¤È¡¢¥é¥¤¥Ö¥é¥ê¤Î¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó¤¬ÊѤï¤ë ¤À¤±¤Ç¤â¡¢¸Å¤¤¥é¥¤¥Ö¥é¥ê¤ò¥ê¥ó¥¯¤·¤Æ¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¤¬Æ°ºî¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ModernElfLink ¤ò YES ¤Ë¤¹¤ë¤È¡¢ ¥ê¥ó¥«¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Æ¡¢¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤¬ÊѤï¤é ¤Ê¤¤¸Â¤ê°ÊÁ°¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Æ°ºî¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢ imake ¤Î»ÅÁȤߤò¾è¤Ã¼è¤ë·Á¤Ë¤Ê¤ë¤¿¤á¡¢¸Â¤é¤ì¤¿ ¥·¥¹¥Æ¥à¤Ç¤·¤«Æ°ºî¤·¤Þ¤»¤ó¡£ÆÃ¤Ë¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬ ELF ·Á¼° ¤Ç¤Ê¤¤¥·¥¹¥Æ¥à¤ä¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î̾Á°¤¬ libXXX.so.X.X ¤Ç¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤³¤ì¤ò YES ¤Ë¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ Îã¤È¤·¤Æ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£ /* #define InstallAsUser */ /* #define ObsoleteInstallDir */ cannaPrefix = DefCannaPrefix cannaExecPrefix = $(cannaPrefix) cannaBinDir = $(cannaExecPrefix)/bin cannaSrvDir = DefCannaSrvDir XCOMM cannaLibDir = /var/lib/canna XCOMM cannaLibDir = /var/db/canna cannaLibDir = DefCannaLibDir XCOMM cannaManDir = $(cannaPrefix)/share/man cannaManDir = $(cannaPrefix)/man cannaIncDir = $(cannaPrefix)/include/canna libCannaDir = DefLibCannaDir ErrDir = DefErrDir #define SupportOldWchar 1 #define UseInet6 0 /* #define DIC_3_6_COMPAT */ #define ModernElfLink NO cannaOwner = bin cannaGroup = bin DicDir = $(cannaLibDir)/dic #define JAPANESEMAN pubdicDir = $(CANNAROOT)/dic/ideo/pubdic 2. ¥³¥ó¥Ñ¥¤¥ë ¥³¥ó¥Ñ¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¹¥È¡¼¥ë¤Ï X11 ¤Î Imakefile ¤ò¥Ù¡¼¥¹¤Ë¹Ô¤ï¤ì¤Þ ¤¹¡£Imakefile ¤Ï µ¡¼ï°Í¸¤ò¤Ê¤¯¤·¤¿ Makefile ¤Ç¤¢¤ê¡¢Imakefile ¤«¤é ¤½¤Î¥Þ¥·¥óÍѤΠMakefile ¤òºîÀ®¤·¡¢¼ÂºÝ¤Î make ¤ò¹Ô¤¤¤Þ¤¹¡£Imakefile ¤«¤é Makefile ¤òºîÀ®¤¹¤ë¥×¥í¥°¥é¥à¤ò imake ¤È¸Æ¤Ó¤Þ¤¹¡£imake (¤Þ¤¿ ¤Ï imake ¤ò¸Æ¤Ó½Ð¤¹¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ç¤¢¤ë xmkmf) ¤Ï X11 ¥Ù¡¼¥¹¤Î¥Õ ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤ËɬÍפȤʤê¤Þ¤¹¤Î¤Ç¡¢¤ª»ý¤Á¤Ç ¤Ê¤¤¤«¤¿¤Ï¤³¤Îµ¡²ñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï imake ¤ò»ý¤Ã¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ¤ÎÀâÌÀ¤ò¹Ô¤¤¤Þ¤¹¡£ imake ¤Î´Ä¶­¤¬´û¤ËºîÀ®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ xmkmf make canna ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ xmkmf ¤Ç¤Ï¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê¤Î Makefile ¤ò Canna.conf ¤Î¥Ñ¥é¥á¥¿¤Ë ¤·¤¿¤¬¤Ã¤Æ¡¢ºî¤êľ¤·¤Þ¤¹¡£ make canna ¤Ç¤Ï°Ê²¼¤Î¤³¤È¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ (i) make Makefiles Á´¤Æ¤Î²¼°Ì¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Æ Imakefile ¤«¤é Makefile ¤òºîÀ®¤·Ä¾¤·¤Þ ¤¹¡£ (ii) make clean ³Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£ (iii) make includes ¿§¡¹¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤«¤é»²¾È¤µ¤ì¤ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò include ¥Ç¥£¥ì¥¯ ¥È¥ê¤Ë½¸¤á¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¤È¤­¡¢ accanna.h ¤ò¤Ï¤¸¤á¤È¤¹¤ë¥Ø¥Ã¥À ¥Õ¥¡¥¤¥ë¤Î¼«Æ°À¸À®¤ä¡¢¥Ç¥£¥ì¥¯¥È¥ê³¬Áؤι½ÃÛ¤â¹Ô¤ï¤ì¤Þ¤¹¡£ÆÃ¤Ë¡¢ accanna.h ¤ÎÀ¸À®¤ÎºÝ¤Ï configure ¥¹¥¯¥ê¥×¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¥Ç¥£¥ì¥¯¥È¥ê³¬Áؤι½ÃÛ¤Ë¤Ï mkdirhier ¤È¸À¤¦¥×¥í¥°¥é¥à¤¬É¬ÍפǤ¹¡£ mkdirhier ¤¬ $(BINDIR) (Ä̾ï¤Ï /usr/X11R6/bin) ¤Ë¸ºß¤¹¤ë¤³¤È¤ò³Îǧ ¤·¤Æ¤¯¤À¤µ¤¤¡£Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢X11 ¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó ¤Î xc/config/util (¤Þ¤¿¤Ï xc/util) ²¼¤«¤éÆþ¼ê¤·¤Æ $(BINDIR) ¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ (iv) make depend ³Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Î¥Õ¥¡¥¤¥ë¤Î°Í¸´Ø·¸¤ò Makefile ¤ËÈ¿±Ç¤·¤Þ¤¹¡£¤Þ ¤¿¤³¤Î¤È¤­ yacc ¤ä lex ¤ÎŸ³«¤ä¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¥Õ¥¡¥¤¥ë¤ÎºîÀ®¤Ê ¤É¤â¹Ô¤ï¤ì¤Þ¤¹¡£ ¤³¤³¤Ç¤â makedepend ¤È¤¤¤¦¥×¥í¥°¥é¥à¤¬É¬ÍפǤ¹¡£Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë ¤Ï X11 ¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Î xc/config (¤Þ¤¿¤Ï xc/util) ²¼¤«¤é Æþ¼ê¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ (v) make ¼ÂºÝ¤Ë¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¤¤Þ¤¹¡£ ¤Ê¤ª¡¢²¿¤é¤«¤ÎÍýͳ¤Ç¡¢ (iii) ¤Ç¼Â¹Ô¤µ¤ì¤¿ configure ¥¹¥¯¥ê¥×¥È¤¬Ää»ß ¤·¤¿¤ê¡¢ÉÔŬÀڤʽÐÎϤò¹Ô¤Ã¤¿¾ì¹ç¡¢ÌäÂê¤ò½¤Àµ¤·¤¿¸å make reconfig ¤ò¼Â¹Ô ¤¹¤ë¤È¡¢ configure ¤ò¤ä¤êľ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ 3.¥¤¥ó¥¹¥È¡¼¥ë 3.1 ÄÌ¿®´Ä¶­¤ÎÀßÄê ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤½¤Î¥¯¥é¥¤¥¢¥ó¥È´Ö¤Ë¤ª¤±¤ëÄÌ¿®¤Î¤¿¤á¤Î¥Ý¡¼¥ÈÈÖ ¹æ¤òÀßÄꤷ¤Þ¤¹¡£/etc/services ¤Ë°Ê²¼¤Î1¹Ô¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ canna 5680/tcp (NIS ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Þ¥¹¥¿¥µ¡¼¥Ð¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹Åù¤ËÀßÄꤷ¤Æ ¤¯¤À¤µ¤¤)¡£ 3.2 ¥¤¥ó¥¹¥È¡¼¥ë ¡Ø¤«¤ó¤Ê¡Ù¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¡¢¥½¡¼¥¹¤Î¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê¤Ç°Ê²¼ ¤Î¤¤¤º¤ì¤«¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ 1) make install °Ê²¼¤Î¤¦¤Á 3) ¡Á 5) ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¤·¤Þ¤¹¡£ 2) make install.man ³Æ¥³¥Þ¥ó¥É¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò cannaManDir ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£ ¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ 3) make instserver ¡Ø¤«¤ó¤Ê¡Ù¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð´Ä¶­¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ 4) make instclient ¡Ø¤«¤ó¤Ê¡Ù¤Î¥¯¥é¥¤¥¢¥ó¥È´Ä¶­¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ 5) make instsgs ¡Ø¤«¤ó¤Ê¡Ù¤Î¥é¥¤¥Ö¥é¥ê¤ä¥Ø¥Ã¥À¤Ê¤É¥³¥ó¥Ñ¥¤¥ë´Ä¶­¤ò¥¤¥ó¥¹¥È¡¼ ¥ë¤·¤Þ¤¹¡£ 6) make instmost ¡Ø¤«¤ó¤Ê¡Ù¤Î¼­½ñ°Ê³°¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¤½¤ì¤¾¤ì¡¢Canna.conf ¤Ë»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ 3.3 ³Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¹½À®¤Ë¤Ä¤¤¤Æ °Ê²¼¤Ë¡Ø¤«¤ó¤Ê¡Ù¤Î¥½¡¼¥¹¹½À®¤Ë¤Ä¤¤¤Æ¼¨¤·¤Þ¤¹¡£ -+ lib ----+- RK ¤«¤Ê´Á»úÊÑ´¹¥¨¥ó¥¸¥ó¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£ | +- RKC ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÄÌ¿®ÍѤΥ饤¥Ö¥é¥ê¤Ç¤¹¡£ | +- RKindep ÆâÉô¤Ç»È¤ï¤ì¤ë¡¢RKÁؤ˰͸¤·¤Ê¤¤´ðËܥ饤¥Ö¥é¥ê¤Ç¤¹¡£ | +- canna ¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥ饤¥Ö¥é¥ê¤Ç¤¹¡£ | | | +- RKC16 ¨¤ | +- canna16 ¨¥¤½¤ì¤¾¤ì cannawc ¤¬16¥Ó¥Ã¥ÈÉý¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£ | | ¤³¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤Ï $(libCannaDir) ¤Ç»ØÄꤵ¤ì¤¿ | ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ | + server ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£ | $(cannaSrvDir) ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼ | ¥ë¤µ¤ì¤Þ¤¹¡£ | + canna ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ | + cmd ----+* ¥³¥Þ¥ó¥É¤Ç¤¹¡£ | $(cannaBinDir) ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼ | ¥ë¤µ¤ì¤Þ¤¹¡£ | + ccustom ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ëÍÑ¥¨¥Ç¥£¥¿¤Ç¤¹¡£Lisp ¤ò°Õ¼±¤· | ¤Ê¤¤¤Ç¥«¥¹¥¿¥Þ¥¤¥º¤¬¹Ô¤¨¤Þ¤¹¡£ | + dic --+ ideo ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤Ç¤¹¡£ | | | + phono ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ç¤¹¡£ | | $(DicDir) ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë | ¤µ¤ì¤Þ¤¹¡£ | + canuum ¡Ø¤«¤ó¤Ê¡ÙÈÇ uum (TTY ÍÑ¤ÎÆüËܸìÆþÎÏ¥Õ¥í¥ó¥È¥¨¥ó | ¥É)¤ò¤¬¤¢¤ê¤Þ¤¹¡£ | + misc ¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ | + doc ³Æ¼ï¥É¥­¥å¥á¥ó¥È¤¬Â¸ºß¤·¤Þ¤¹¡£ 3.4 ¼ï¡¹¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ 1) ¥í¥°¥Õ¥¡¥¤¥ë ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ïµ¯Æ°»þ¤Ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸Åù¤ò½ÐÎϤ¹¤ë¥í¥°¥Õ¥¡ ¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£$ErrDir ¤ÇÀßÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤µ¤ì¡¢¥í¥° ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï "CANNA0msgs" ¤Ç¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï°Ê²¼¤Ë¼¨¤¹¥í¥°¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ /var/log/CANNA0msgs 4.±¿ÍÑ 4.1 ¥µ¡¼¥Ð¤È¼­½ñ¤Î¥ª¡¼¥Ê¡¦¥°¥ë¡¼¥× ¼­½ñ¤ÏÍÆ°×¤ËÆâÍÆ¤¬½ñ¤­´¹¤¨¤é¤ì¤Æ¤·¤Þ¤Ã¤¿¤ê¤·¤Ê¤¤¤è¤¦¤Ë¡¢¥¢¥¯¥»¥¹¸¢ ¤òÀ©¸Â¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¥í¥°¥¤¥ó̾ canna¡¢¥°¥ë¡¼¥×̾ canna ¤òºîÀ®¤·¡¢¼­½ñ¤Î¥ª¡¼¥Ê¤È¥°¥ë¡¼¥×¤ò¤½¤ì¤¾¤ì canna ¤Ë¤·¤Æ¤ª¤¯¤ÈÎɤ¤ ¤Ç¤·¤ç¤¦¡£ ¤³¤Î¤È¤­¡¢cannaserver ¤À¤±¤Ï¼­½ñ¤ÎÆÉ¤ß½ñ¤­¤¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢³Æ¼­½ñ¥Ç¥£ ¥ì¥¯¥È¥ê¡¢¼­½ñ¥Õ¥¡¥¤¥ë¤Ê¤É¤Ï¡¢¥ª¡¼¥Ê¡¦¥°¥ë¡¼¥× canna ¤ËÂФ·ÆÉ¤ß½ñ ¤­¸¢¤ò³«Êü¤·¡¢¥¢¥¶¡¼¤ËÂФ·¤Æ¤Ï¥¢¥¯¥»¥¹¸¢¤òÍ¿¤¨¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ cannaserver ¤Ï root ¸¢¸Â¤Çµ¯Æ°¤·¡¢-u canna ¥ª¥×¥·¥ç¥ó¤òÅϤ·¤Æ canna ¥æ¡¼¥¶¸¢¸Â¤Çưºî¤µ¤»¤Þ¤¹¡£ ¥ª¡¼¥Ê¡¦¥°¥ë¡¼¥×¤Ï canna ¤Ç¤¢¤ëɬÍפÏ̵¤¯¡¢Â¾¤Î¥æ¡¼¥¶¸¢¸Â¤Ç¤â·ë¹½¤Ç¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï bin ¥æ¡¼¥¶¡¢ bin ¥°¥ë¡¼¥×¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ ¼­½ñ¤ä cannaserver ¤Î¥ª¡¼¥Ê¤ä¥°¥ë¡¼¥×¤ÎÀßÄê¤Ï Canna.conf ¤Î cannaOwner¡¢cannaGroup ¤Ë¤ÆÀßÄꤷ¤Þ¤¹¡£ °Ê²¼¤Ç¤Ï¥ª¡¼¥Ê¡¦¥°¥ë¡¼¥×¤ò¤½¤ì¤¾¤ì bin ¤Ë¤¹¤ë¾ì¹ç¤ÇÎã¤È¤·¤ÆÀâÌÀ¤ò ¹Ô¤¤¤Þ¤¹¡£ 4.2 ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Îµ¯Æ° root ¤Ç°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£ # cannaserver -u bin cannaserver ¤Ï¼«Ê¬¼«¿È¤Ç fork ¤·¤Æ¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¸¥ç¥Ö¤Ë¤Ê¤ê¤Þ ¤¹¤Î¤Ç¡¢cannaserver ¤Îµ¯Æ°»þ¤Ë "&" ¤ò¤Ä¤±¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¥Þ¥·¥ó¤Îµ¯Æ°»þ¤Ë¡¢¼«Æ°Åª¤Ë cannaserver ¤òΩ¤Á¾å¤²¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢µ¯ ư¥¹¥¯¥ê¥×¥È(/etc/rc.local Åù)¤Ç cannaserver ¤òµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄê ¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤ÎºÝ¥½¥±¥Ã¥È¤¬»Ä¤Ã¤Æ¤¤¤ë¤È cannaserver ¤¬µ¯ ư¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢É¬¤º¥½¥±¥Ã¥È¤òºï½ü¤·¤Æ¤«¤éµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ 2. ¤Ç½Ò¤Ù¤¿¤è¤¦¤ËÉáÄÌ¤Ë make ¤ò¹Ô¤¨¤Ð¡¢µ¯Æ°¥¹¥¯¥ê¥×¥È¤Î¥µ¥ó¥×¥ë¤¬ misc/rc.canna ¤Ëºî¤é¤ì¤Þ¤¹¤Î¤Ç¡¢¾Ü¤·¤¯¤Ï¤½¤Á¤é¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ 4.3 ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î½ªÎ» °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò½ªÎ»¤µ¤»¤Þ¤¹¡£ # cannakill ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Ï¼­½ñ¾ðÊó¤Î°ìÉô¤ò¥á¥â¥ê¾å¤ËÊݸ¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î ¤¿¤á¡¢¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤òľÀÜ SIGKILL ¤Ê¤É¤Ç kill ¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ ¥á¥â¥ê¾å¤Î¼­½ñ¾ðÊ󤬼­½ñ¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤Þ¤ì¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤« ¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò½ªÎ»¤µ¤»¤ë¾ì¹ç¤Ï¡¢É¬¤º cannakill ¤Ç½ªÎ»¤µ¤»¤ë¤è ¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Þ¥·¥ó¤Î shutdown ¤ÎºÝ¤Ë¼«Æ°Åª¤Ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò kill ¤¹¤ë¤è¤¦ ¤Ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢shutdown ¥¹¥¯¥ê¥×¥ÈÅù¤Ç cannakill ¤òµ¯Æ°¤¹¤ë¤è¤¦ ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ 4.4 ¼­½ñ´ØÏ¢ (1)¤«¤Ê´Á»úÊÑ´¹¼­½ñ ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤ÎÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò¡Ø¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¡Ù ¤È¸À¤¤¤Þ¤¹¡£¤³¤ì¤Ï "$(DicDir)" ¤¢¤ë¤¤¤Ï°Ê²¼¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É°ú¿ô¤Ç »ØÄꤵ¤ì¤Þ¤¹¡£ (Îã) ¡Ø¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¡Ù¤ò /var/lib/canna/dic ¤Ë¤·¤¿¤¤¾ì¹ç¡£ # cannaserver /var/lib/canna/dic ¡Ø¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¡Ù¤Ï°Ê²¼¤Î¤è¤¦¤Ë¹½À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -+-- *.cbp ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë | +-- canna ¥·¥¹¥Æ¥à¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê | +-- user/* ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê | +-- group/* ¥°¥ë¡¼¥×¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê ¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤Î²¼¤Ë¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤È¥Õ¥¡¥¤¥ë¤Ï¤¹¤Ù ¤Æ¡¢cannaserver ¤¬ÆÉ¤ß½ñ¤­¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤(¢¨ 4.1 ¤ò»²¾È ¤·¤Æ¤¯¤À¤µ¤¤)¡£ (2)¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¥Õ¥¡¥¤¥ë¤Ë´Ø¤·¤Æ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï "/usr/local/canna/share/dic" ¤Î²¼¤Ë¤¢¤ë¤â¤Î¤ò¸«¤Ë¤¤¤­¤Þ¤¹¡£ ¤³¤ì¤Ï ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë "$HOME/.canna" ¤Ç¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼ ¥Ö¥ë¤ò¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê "/usr/local/canna/share/dic" ¤Î ²¼°Ê³°¤ËÃÖ¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£ 4.5 ½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë ¡Ø¤«¤ó¤Ê¡Ù¤Ç¤Ï¡¢¥æ¡¼¥¶Ëè¤Ë½é´ü²½(¥«¥¹¥¿¥Þ¥¤¥º)¥Õ¥¡¥¤¥ë¤ò»ý¤Ä¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¥­¡¼¥Ð¥¤¥ó¥É¤ä¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¡¦ ¤«¤Ê´Á»úÊÑ´¹¼­½ñÅù¤ÎÀßÄê¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥æ¡¼¥¶Ëè¤Ë»ÈÍѤ·¤ä¤¹¤¤ ´Ä¶­¤òÀ°¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ 5. root ¤Ë¤Ê¤ì¤Ê¤¤¾ì¹ç¤Î¥³¥ó¥Ñ¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¹¥È¡¼¥ë Canna3.6¤«¤é¡¢InstallAsUser¥Þ¥¯¥í¤È¡¢cannaPrefix¤¬Æ³Æþ¤µ¤ì¤¿¤Î¤Ç¡¢ root¤Ë¤Ê¤ì¤Ê¤¤¾ì¹ç¤Î¥¤¥ó¥¹¥È¡¼¥ë¤¬Â¿¾¯³Ú¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ì¤ò»È¤¦ ¾ì¹ç¡¢Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¡¦¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ 5.1 Canna.conf ¤ÎÀßÄê ¥³¥Þ¥ó¥É¤ä¼­½ñ¤Ê¤É¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤È¤·¤Æ¡¢¼«Ê¬¤Î¥Ç¥£ ¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£¤Þ¤¿¡¢¼­½ñ¤È¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤Î¥ª¡¼¥Ê¤È¥°¥ë¡¼ ¥×¤ò¼«Ê¬¤Î¤â¤Î¤Ë¤·¤Þ¤¹¡£Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ #define InstallAsUser cannaPrefix = /home/kon/canna ... cannaOwner = kon cannaGroup = user 5.2 ¥³¥ó¥Ñ¥¤¥ë¤ª¤è¤Ó¥¤¥ó¥¹¥È¡¼¥ë X11R6 ¤Î imake ¤¬¤¹¤Ç¤Ë¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¾åµ­¤Î Canna.conf ¤òÀßÄꤷ¤¿¸å¤Ï¡¢ xmkmf make canna make install make install.man ¤Ç¡¢¥³¥ó¥Ñ¥¤¥ë¡¦¥¤¥ó¥¹¥È¡¼¥ë¤¬¹Ô¤¨¤Þ¤¹¡£ X11R6 ¤¬¥Þ¥·¥ó¤Ë¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢¥½¡¼¥¹¤ÏÆþ¼ê²Äǽ¤Ç¤¢ ¤ë¤È¸À¤¦¾ì¹ç¤Ï¡¢X11R6 ¤Î¥½¡¼¥¹¤Î xc/config ¤ò»ý¤Ã¤Æ¤­¤Æ¡¢¤Þ¤º¡¢ config ¤Î²¼¤ò make ¤·¤Æ¤¯¤À¤µ¤¤¡£ config ¤Î²¼¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë´Ø¤·¤Æ¤Ï¡¢config/cf/Makefile.ini ¤ÎÃæ¤Î BOOTSTRAPFLAG ¤ò³Æ¥Þ¥·¥ó¤Ë±þ¤¸¤ÆÉ¬Íפʽ¤Àµ¤ò¤·¤Æ¡¢ make -f Makefile.ini ¤Ë¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ make canna Ãæ¡¢mkdirhier ¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï X11 ¤Î $(BINDIR) ¤òÍѤ¤¤¿¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤ËÂн褹¤ë¤¿¤á¤Ë¡¢ config ²¼¤ÎŬÅö¤Ê¥Õ¥¡¥¤¥ë¤ò¥¨¥Ç¥£¥Ã¥È¤¹¤ë¤«¡¢¡Ø¤«¤ó¤Ê¡Ù¤Î Canna.conf ¤Ë¤Æ¡¢ BINDIR = /home/kon/xutil ¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤(¤Á¤ç¤Ã¤È¥È¥ê¥Ã¥­¡¼¤Ç¤¹¤±¤É)¡£ °Ê¾å¤Î½àÈ÷¤¬¤Ç¤­¤¿¤é¡¢¡Ø¤«¤ó¤Ê¡Ù¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥È¥Ã ¥×¥Ç¥£¥ì¥¯¥È¥ê(Canna.conf ¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê)¤Ë¤Æ¡¢imake ¤òÁêÂÐ ¥Ñ¥¹¤Ç°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£ (Îã) % ../xc/config/imake/imake -I../xc/config/cf -DTOPDIR=../xc \ -DCURDIR=../CannaXX ¤¢¤È¤Ï¡¢ % make Makefile % make canna % make install % make install.man ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ 5.3 ÄÌ¿®´Ä¶­¤ÎÀßÄê root ¤Î¸¢¸Â¤¬¤Ê¤¤¤È /etc/services ¤Ï½ñ¤­´¹¤¨¤é¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢ /etc/services ¤Ëµ­½Ò¤¬¤Ê¤¯¤Æ¤â¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ä¤«¤Ê´Á»úÊÑ´¹¥é¥¤ ¥Ö¥é¥ê¤Ï¥Ý¡¼¥ÈÈÖ¹æ¤ò¤È¤ê¤¢¤¨¤º 5680 ÈÖ¤ÇÆ°¤¯¤Î¤Ç¤È¤ê¤¢¤¨¤º¤Ï±¿ÍÑ¤Ç ¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢¤³¤Î¾õÂ֤Ǥϡ¢cannaserver ¤òµ¯Æ°¤¹¤ë¤¿¤Ó¤Ë¥í¥°¥Õ¥¡¥¤¥ë¤Ë¥¦¥©¡¼ ¥Ë¥ó¥°¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¤Î¤Ç¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ ÉÕÏ¿A ³Æ¼ï OS ¤Ç¤ÎÃí°ÕÅÀ A.1 OS/2 ¤ò¤ª»È¤¤¤Î¾ì¹ç(¤³¤ÎÉôʬ¤Îµ­½Ò¤Ï¾åÌî@ÆüËÜ¥¢¥¤¡¦¥Ó¡¼¡¦¥¨¥à¤Ë ¤è¤ë¤â¤Î¤Ç¤¹) (»þÂåÃÙ¤ì¤Ë¤Ê¤Ã¤¿Éôʬ¤¬¤¢¤ë¤«¤âÃΤì¤Þ¤»¤ó) 1)¡Ø¤«¤ó¤Ê¡Ù¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï emx 0.9c °Ê¾å¤¬É¬ÍפǤ¹¡£ emx 0.9c ¤Ï ftp://ftp.leo.org ¤ä ftp://hobbes.nmsu.edu ¤Ê¤É¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£ 2) XFree86 for OS/2 ¤Î imake ¤¬É¬ÍפǤ¹¡£XFree86 for OS/2 ¤Ï http://borneo.gmd.de/~veit/os2/xf86os2.html ¤Ê¤É¤«¤éÆþ¼ê²Äǽ¤Ç¤¹¡£ XFree86 for OS/2 3.2 ¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢XF32base.zip ¤È XF32prog.zip ¤¬ ºÇÄã¸Â¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ 3) x:\XFree86\bin ¤ò PATH ¤Ë²Ã¤¨¤Æ¤¯¤À¤µ¤¤ (x: ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ ¥É¥é¥¤¥Ö̾¤Ç¤¹)¡£¤Þ¤¿´Ä¶­ÊÑ¿ô X11ROOT ¤¬ºÇÄã¸ÂɬÍפǤ¹¡£Î㤨¤Ð E: ¥É¥é¥¤¥Ö¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï¡¢ SET X11ROOT=E: ¤ò CONFIG.SYS ¤Ë²Ã¤¨¤Æ¤¯¤À¤µ¤¤¡£ 4) XFree86/lib/X11/config °Ê²¼¤Î¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤Þ¤¹¡£ os2.cf: #define InstallCmd install -> #define InstallCmd ginstall #define BourneShell /**/ -> #define BourneShell cmd os2Lib.rules: #define HasSharedLibraries YES -> #define HasSharedLibraries NO 5) GNU ¤Î sed/sort/awk/install ¤¬É¬ÍפǤ¹¡£ftp://hobbes.nmsu.edu ¤Ê¤É ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤ß¤Ä¤«¤ê¤Þ¤¹¡£ gnused.zip gnuawk.zip gnufutil.zip (install ¤Ï¤³¤ì¤Ë´Þ¤Þ¤ì¤ë) gnututil.zip (sort ¤Ï¤³¤ì¤Ë´Þ¤Þ¤ì¤ë) ¤Þ¤¿ sort.exe ¤È install.exe ¤Ï¤½¤ì¤¾¤ì gsortexe, ginstall.exe ¤È¥ê ¥Í¡¼¥à¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ï OS/2 ¤Îɸ½à¤Î sort.exe, install.exe ¤È¶èÊ̤¹¤ë¤¿¤á¤Ç¤¹¡£ 6) Canna.conf ¤òÀßÄꤷ¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡Ö1.1 Canna.conf ¤ÎÀßÄê¡×¤ò¤´Í÷¤¯ ¤À¤µ¤¤¡£ InstallAsUser ¥Õ¥é¥°¤òÍѤ¤¤ë¤Î¤¬³Ú¤Ç¤·¤ç¤¦¡£ 7) °Ê²¼¤ò¼Â¹Ô¤·¤Þ¤¹¡£ [x:\Canna35] xmkmf [x:\Canna35] x11make Makefile [x:\Canna35] x11make canna [x:\Canna35] x11make install ¤µ¤é¤Ë¾Ü¤·¤¤ÀâÌÀ¤ÏËÜʸ½ñ¤Î¡Ö2. ¥³¥ó¥Ñ¥¤¥ë¡×°Ê¹ß¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ °Ê¾å /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ ($Id: INSTALL.jp,v 1.8 2003/09/25 15:24:31 aida_s Exp $) Canna37p3/lib/0040755000076500001200000000000010052700720012407 5ustar shinraadminCanna37p3/lib/.cvsignore0100644000076500001200000000002107601177343014414 0ustar shinraadmin.depend Makefile Canna37p3/lib/canna/0040755000076500001200000000000010052700720013467 5ustar shinraadminCanna37p3/lib/canna/.cvsignore0100644000076500001200000000012607601177344015503 0ustar shinraadmin.depend Makefile libcanna.a libcanna.so* libcanna.sl* libcanna.dll unshared sglobal.h Canna37p3/lib/canna/alphamap.h0100644000076500001200000002626307732020155015441 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char alphamap_id[] = "@(#) 102.1 $Id: alphamap.h,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ extern int JapaneseMode(); extern DoFuncSequence(),UseOtherKeymap(); static struct funccfunc alpha_funcs[] = { {CANNA_FN_SelfInsert ,AlphaSelfInsert }, {CANNA_FN_JapaneseMode ,JapaneseMode }, {CANNA_FN_Nop ,AlphaNop }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {CANNA_FN_FunctionalInsert ,AlphaSelfInsert }, {DEFAULTBEHAVIOR ,AlphaSelfInsert }, {0 ,0 }, }; BYTE alpha_kmap[256] = { /* C-@ */ CANNA_FN_SelfInsert, /* C-a */ CANNA_FN_SelfInsert, /* C-b */ CANNA_FN_SelfInsert, /* C-c */ CANNA_FN_SelfInsert, /* C-d */ CANNA_FN_SelfInsert, /* C-e */ CANNA_FN_SelfInsert, /* C-f */ CANNA_FN_SelfInsert, /* C-g */ CANNA_FN_SelfInsert, /* C-h */ CANNA_FN_SelfInsert, /* C-i */ CANNA_FN_SelfInsert, /* C-j */ CANNA_FN_SelfInsert, /* C-k */ CANNA_FN_SelfInsert, /* C-l */ CANNA_FN_SelfInsert, /* C-m */ CANNA_FN_SelfInsert, /* C-n */ CANNA_FN_SelfInsert, /* C-o */ CANNA_FN_JapaneseMode, /* C-p */ CANNA_FN_SelfInsert, /* C-q */ CANNA_FN_SelfInsert, /* C-r */ CANNA_FN_SelfInsert, /* C-s */ CANNA_FN_SelfInsert, /* C-t */ CANNA_FN_SelfInsert, /* C-u */ CANNA_FN_SelfInsert, /* C-v */ CANNA_FN_SelfInsert, /* C-w */ CANNA_FN_SelfInsert, /* C-x */ CANNA_FN_SelfInsert, /* C-y */ CANNA_FN_SelfInsert, /* C-z */ CANNA_FN_SelfInsert, /* C-[ */ CANNA_FN_SelfInsert, /* C-\ */ CANNA_FN_SelfInsert, /* C-] */ CANNA_FN_SelfInsert, /* C-^ */ CANNA_FN_SelfInsert, /* C-_ */ CANNA_FN_SelfInsert, /* space */ CANNA_FN_SelfInsert, /* ! */ CANNA_FN_SelfInsert, /* " */ CANNA_FN_SelfInsert, /* # */ CANNA_FN_SelfInsert, /* $ */ CANNA_FN_SelfInsert, /* % */ CANNA_FN_SelfInsert, /* & */ CANNA_FN_SelfInsert, /* ' */ CANNA_FN_SelfInsert, /* ( */ CANNA_FN_SelfInsert, /* ) */ CANNA_FN_SelfInsert, /* * */ CANNA_FN_SelfInsert, /* + */ CANNA_FN_SelfInsert, /* , */ CANNA_FN_SelfInsert, /* - */ CANNA_FN_SelfInsert, /* . */ CANNA_FN_SelfInsert, /* / */ CANNA_FN_SelfInsert, /* 0 */ CANNA_FN_SelfInsert, /* 1 */ CANNA_FN_SelfInsert, /* 2 */ CANNA_FN_SelfInsert, /* 3 */ CANNA_FN_SelfInsert, /* 4 */ CANNA_FN_SelfInsert, /* 5 */ CANNA_FN_SelfInsert, /* 6 */ CANNA_FN_SelfInsert, /* 7 */ CANNA_FN_SelfInsert, /* 8 */ CANNA_FN_SelfInsert, /* 9 */ CANNA_FN_SelfInsert, /* : */ CANNA_FN_SelfInsert, /* ; */ CANNA_FN_SelfInsert, /* < */ CANNA_FN_SelfInsert, /* = */ CANNA_FN_SelfInsert, /* > */ CANNA_FN_SelfInsert, /* ? */ CANNA_FN_SelfInsert, /* @ */ CANNA_FN_SelfInsert, /* A */ CANNA_FN_SelfInsert, /* B */ CANNA_FN_SelfInsert, /* C */ CANNA_FN_SelfInsert, /* D */ CANNA_FN_SelfInsert, /* E */ CANNA_FN_SelfInsert, /* F */ CANNA_FN_SelfInsert, /* G */ CANNA_FN_SelfInsert, /* H */ CANNA_FN_SelfInsert, /* I */ CANNA_FN_SelfInsert, /* J */ CANNA_FN_SelfInsert, /* K */ CANNA_FN_SelfInsert, /* L */ CANNA_FN_SelfInsert, /* M */ CANNA_FN_SelfInsert, /* N */ CANNA_FN_SelfInsert, /* O */ CANNA_FN_SelfInsert, /* P */ CANNA_FN_SelfInsert, /* Q */ CANNA_FN_SelfInsert, /* R */ CANNA_FN_SelfInsert, /* S */ CANNA_FN_SelfInsert, /* T */ CANNA_FN_SelfInsert, /* U */ CANNA_FN_SelfInsert, /* V */ CANNA_FN_SelfInsert, /* W */ CANNA_FN_SelfInsert, /* X */ CANNA_FN_SelfInsert, /* Y */ CANNA_FN_SelfInsert, /* Z */ CANNA_FN_SelfInsert, /* [ */ CANNA_FN_SelfInsert, /* \ */ CANNA_FN_SelfInsert, /* ] */ CANNA_FN_SelfInsert, /* ^ */ CANNA_FN_SelfInsert, /* _ */ CANNA_FN_SelfInsert, /* ` */ CANNA_FN_SelfInsert, /* a */ CANNA_FN_SelfInsert, /* b */ CANNA_FN_SelfInsert, /* c */ CANNA_FN_SelfInsert, /* d */ CANNA_FN_SelfInsert, /* e */ CANNA_FN_SelfInsert, /* f */ CANNA_FN_SelfInsert, /* g */ CANNA_FN_SelfInsert, /* h */ CANNA_FN_SelfInsert, /* i */ CANNA_FN_SelfInsert, /* j */ CANNA_FN_SelfInsert, /* k */ CANNA_FN_SelfInsert, /* l */ CANNA_FN_SelfInsert, /* m */ CANNA_FN_SelfInsert, /* n */ CANNA_FN_SelfInsert, /* o */ CANNA_FN_SelfInsert, /* p */ CANNA_FN_SelfInsert, /* q */ CANNA_FN_SelfInsert, /* r */ CANNA_FN_SelfInsert, /* s */ CANNA_FN_SelfInsert, /* t */ CANNA_FN_SelfInsert, /* u */ CANNA_FN_SelfInsert, /* v */ CANNA_FN_SelfInsert, /* w */ CANNA_FN_SelfInsert, /* x */ CANNA_FN_SelfInsert, /* y */ CANNA_FN_SelfInsert, /* z */ CANNA_FN_SelfInsert, /* { */ CANNA_FN_SelfInsert, /* | */ CANNA_FN_SelfInsert, /* } */ CANNA_FN_SelfInsert, /* ~ */ CANNA_FN_SelfInsert, /* DEL */ CANNA_FN_SelfInsert, /* Nfer */ CANNA_FN_SelfInsert, /* Xfer */ CANNA_FN_JapaneseMode, /* Up */ CANNA_FN_SelfInsert, /* Left */ CANNA_FN_SelfInsert, /* Right */ CANNA_FN_SelfInsert, /* Down */ CANNA_FN_SelfInsert, /* Insert */ CANNA_FN_SelfInsert, /* Rollup */ CANNA_FN_SelfInsert, /* Rolldown */ CANNA_FN_SelfInsert, /* Home */ CANNA_FN_SelfInsert, /* Help */ CANNA_FN_SelfInsert, /* KeyPad */ CANNA_FN_SelfInsert, /* 8c */ CANNA_FN_SelfInsert, /* 8d */ CANNA_FN_SelfInsert, /* 8e */ CANNA_FN_SelfInsert, /* 8f */ CANNA_FN_SelfInsert, /* S-nfer */ CANNA_FN_SelfInsert, /* S-xfer */ CANNA_FN_JapaneseMode, /* S-up */ CANNA_FN_SelfInsert, /* S-left */ CANNA_FN_SelfInsert, /* S-right */ CANNA_FN_SelfInsert, /* S-down */ CANNA_FN_SelfInsert, /* C-nfer */ CANNA_FN_SelfInsert, /* C-xfer */ CANNA_FN_JapaneseMode, /* C-up */ CANNA_FN_SelfInsert, /* C-left */ CANNA_FN_SelfInsert, /* C-right */ CANNA_FN_SelfInsert, /* C-down */ CANNA_FN_SelfInsert, /* 9c */ CANNA_FN_SelfInsert, /* 9d */ CANNA_FN_SelfInsert, /* 9e */ CANNA_FN_SelfInsert, /* 9f */ CANNA_FN_SelfInsert, /* KANASPACE */ CANNA_FN_SelfInsert, /* ¡£ */ CANNA_FN_SelfInsert, /* ¡Ö */ CANNA_FN_SelfInsert, /* ¡× */ CANNA_FN_SelfInsert, /* ¡¢ */ CANNA_FN_SelfInsert, /* ¡¦ */ CANNA_FN_SelfInsert, /* ¥ò */ CANNA_FN_SelfInsert, /* ¥¡ */ CANNA_FN_SelfInsert, /* ¥£ */ CANNA_FN_SelfInsert, /* ¥¥ */ CANNA_FN_SelfInsert, /* ¥§ */ CANNA_FN_SelfInsert, /* ¥© */ CANNA_FN_SelfInsert, /* ¥ã */ CANNA_FN_SelfInsert, /* ¥å */ CANNA_FN_SelfInsert, /* ¥ç */ CANNA_FN_SelfInsert, /* ¥Ã */ CANNA_FN_SelfInsert, /* ¡¼ */ CANNA_FN_SelfInsert, /* ¥¢ */ CANNA_FN_SelfInsert, /* ¥¤ */ CANNA_FN_SelfInsert, /* ¥¦ */ CANNA_FN_SelfInsert, /* ¥¨ */ CANNA_FN_SelfInsert, /* ¥ª */ CANNA_FN_SelfInsert, /* ¥« */ CANNA_FN_SelfInsert, /* ¥­ */ CANNA_FN_SelfInsert, /* ¥¯ */ CANNA_FN_SelfInsert, /* ¥± */ CANNA_FN_SelfInsert, /* ¥³ */ CANNA_FN_SelfInsert, /* ¥µ */ CANNA_FN_SelfInsert, /* ¥· */ CANNA_FN_SelfInsert, /* ¥¹ */ CANNA_FN_SelfInsert, /* ¥» */ CANNA_FN_SelfInsert, /* ¥½ */ CANNA_FN_SelfInsert, /* ¥¿ */ CANNA_FN_SelfInsert, /* ¥Á */ CANNA_FN_SelfInsert, /* ¥Ä */ CANNA_FN_SelfInsert, /* ¥Æ */ CANNA_FN_SelfInsert, /* ¥È */ CANNA_FN_SelfInsert, /* ¥Ê */ CANNA_FN_SelfInsert, /* ¥Ë */ CANNA_FN_SelfInsert, /* ¥Ì */ CANNA_FN_SelfInsert, /* ¥Í */ CANNA_FN_SelfInsert, /* ¥Î */ CANNA_FN_SelfInsert, /* ¥Ï */ CANNA_FN_SelfInsert, /* ¥Ò */ CANNA_FN_SelfInsert, /* ¥Õ */ CANNA_FN_SelfInsert, /* ¥Ø */ CANNA_FN_SelfInsert, /* ¥Û */ CANNA_FN_SelfInsert, /* ¥Þ */ CANNA_FN_SelfInsert, /* ¥ß */ CANNA_FN_SelfInsert, /* ¥à */ CANNA_FN_SelfInsert, /* ¥á */ CANNA_FN_SelfInsert, /* ¥â */ CANNA_FN_SelfInsert, /* ¥ä */ CANNA_FN_SelfInsert, /* ¥æ */ CANNA_FN_SelfInsert, /* ¥è */ CANNA_FN_SelfInsert, /* ¥é */ CANNA_FN_SelfInsert, /* ¥ê */ CANNA_FN_SelfInsert, /* ¥ë */ CANNA_FN_SelfInsert, /* ¥ì */ CANNA_FN_SelfInsert, /* ¥í */ CANNA_FN_SelfInsert, /* ¥ï */ CANNA_FN_SelfInsert, /* ¥ó */ CANNA_FN_SelfInsert, /* ¡« */ CANNA_FN_SelfInsert, /* ¡¬ */ CANNA_FN_SelfInsert, /* F1 */ CANNA_FN_SelfInsert, /* F2 */ CANNA_FN_SelfInsert, /* F3 */ CANNA_FN_SelfInsert, /* F4 */ CANNA_FN_SelfInsert, /* F5 */ CANNA_FN_SelfInsert, /* F6 */ CANNA_FN_SelfInsert, /* F7 */ CANNA_FN_SelfInsert, /* F8 */ CANNA_FN_SelfInsert, /* F9 */ CANNA_FN_SelfInsert, /* F10 */ CANNA_FN_SelfInsert, /* ea */ CANNA_FN_SelfInsert, /* eb */ CANNA_FN_SelfInsert, /* ec */ CANNA_FN_SelfInsert, /* ed */ CANNA_FN_SelfInsert, /* ee */ CANNA_FN_SelfInsert, /* ef */ CANNA_FN_SelfInsert, /* PF1 */ CANNA_FN_SelfInsert, /* PF2 */ CANNA_FN_SelfInsert, /* PF3 */ CANNA_FN_SelfInsert, /* PF4 */ CANNA_FN_SelfInsert, /* PF5 */ CANNA_FN_SelfInsert, /* PF6 */ CANNA_FN_SelfInsert, /* PF7 */ CANNA_FN_SelfInsert, /* PF8 */ CANNA_FN_SelfInsert, /* PF9 */ CANNA_FN_SelfInsert, /* PF10 */ CANNA_FN_SelfInsert, /* fa */ CANNA_FN_SelfInsert, /* fb */ CANNA_FN_SelfInsert, /* fc */ CANNA_FN_SelfInsert, /* fd */ CANNA_FN_SelfInsert, /* fe */ CANNA_FN_SelfInsert, /* ff */ CANNA_FN_SelfInsert, }; KanjiModeRec alpha_mode = { searchfunc, alpha_kmap, CANNA_KANJIMODE_TABLE_SHARED | CANNA_KANJIMODE_EMPTY_MODE, alpha_funcs, }; Canna37p3/lib/canna/bunmap.h0100644000076500001200000000452107554213604015136 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char bunmap_id[] = "@(#) 102.1 $Id: bunmap.h,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $"; #endif /* lint */ extern DoFuncSequence(),UseOtherKeymap(); extern TanNop pro((uiContext)), YomiKakutei pro((uiContext)); static struct funccfunc bun_funcs[] = { {CANNA_FN_FunctionalInsert ,BunSelfInsert }, {CANNA_FN_QuotedInsert ,BunQuotedInsert }, {CANNA_FN_Forward ,BunExtend }, {CANNA_FN_Backward ,BunShrink }, {CANNA_FN_BeginningOfLine ,BunFullShrink }, {CANNA_FN_EndOfLine ,BunFullExtend }, {CANNA_FN_DeleteNext ,BunQuit }, {CANNA_FN_DeletePrevious ,BunQuit }, {CANNA_FN_KillToEndOfLine ,BunKillToEOL }, {CANNA_FN_Henkan ,BunHenkan }, {CANNA_FN_HenkanOrInsert ,BunHenkan }, {CANNA_FN_HenkanOrNothing ,BunHenkan }, {CANNA_FN_Kakutei ,YomiKakutei }, {CANNA_FN_Extend ,BunExtend }, {CANNA_FN_Shrink ,BunShrink }, {CANNA_FN_Quit ,BunQuit }, {CANNA_FN_Nop ,TanNop }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {0 ,0 }, }; KanjiModeRec bunsetsu_mode = { searchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, bun_funcs, }; Canna37p3/lib/canna/bunsetsu.c0100644000076500001200000001343207732020155015513 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: bunsetsu.c,v 1.2 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include #include "canna.h" extern int BunsetsuKugiri; static char *e_message[] = { #ifdef CODED_MESSAGE /* 0*/"\312\270\300\341\244\316\260\334\306\260\244\313\274\272\307\324\244\267\244\336\244\267\244\277", /* 1*/"\264\301\273\372\244\316\306\311\244\337\244\362\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307\244\267\244\277", /* 2*/"\312\270\300\341\244\316\260\334\306\260\244\313\274\272\307\324\244\267\244\336\244\267\244\277", /* 3*/"\264\301\273\372\244\316\306\311\244\337\244\362\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307\244\267\244\277", /* 4*/"\244\253\244\312\264\301\273\372\312\321\264\271\244\313\274\272\307\324\244\267\244\336\244\267\244\277", #else /* 0*/"ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿", /* 1*/"´Á»ú¤ÎÆÉ¤ß¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿", /* 2*/"ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿", /* 3*/"´Á»ú¤ÎÆÉ¤ß¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿", /* 4*/"¤«¤Ê´Á»úÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿", #endif }; int enterAdjustMode(d, yc) uiContext d; yomiContext yc; { extern KanjiModeRec bunsetsu_mode; int i, n = 0; RkStat rst; for (i = 0 ; i < yc->curbun ; i++) { if (RkwGoTo(yc->context, i) == -1) { return makeRkError(d, e_message[0]); } if (RkwGetStat(yc->context, &rst) == -1) { return makeRkError(d, e_message[1]); } n += rst.ylen; } yc->kanjilen = n; /* ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤ÎŤµ¤ò¼è¤ê½Ð¤¹ */ if (RkwGoTo(yc->context, yc->curbun) == -1) { return makeRkError(d, e_message[2]); } if (RkwGetStat(yc->context, &rst) == -1) { return makeRkError(d, e_message[3]); } yc->bunlen = rst.ylen; yc->tanMode = yc->curMode; yc->tanMinorMode = yc->minorMode; yc->minorMode = CANNA_MODE_AdjustBunsetsuMode; d->current_mode = yc->curMode = &bunsetsu_mode; return 0; } int leaveAdjustMode pro((uiContext, yomiContext)); int leaveAdjustMode(d, yc) uiContext d; yomiContext yc; { extern KanjiModeRec bunsetsu_mode; yc->bunlen = yc->kanjilen = 0; yc->minorMode = yc->tanMinorMode; d->current_mode = yc->curMode = yc->tanMode; return 0; } static BunFullExtend pro((uiContext)); static BunFullExtend(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; yc->bunlen = yc->kEndp - yc->kanjilen; makeKanjiStatusReturn(d, yc); return 0; } static BunFullShrink pro((uiContext)); static BunFullShrink(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; yc->bunlen = 1; makeKanjiStatusReturn(d, yc); return 0; } static BunExtend pro((uiContext)); static BunExtend(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->kanjilen + yc->bunlen < yc->kEndp) { /* ¤Þ¤À¿­¤Ð¤»¤ë */ yc->bunlen++; makeKanjiStatusReturn(d, yc); return 0; } else if (cannaconf.CursorWrap) { return BunFullShrink(d); } (void)NothingChangedWithBeep(d); return 0; } static BunShrink pro((uiContext)); static BunShrink(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->bunlen > 0) { /* ¤Þ¤À½Ì¤Þ¤ë */ int newlen = yc->bunlen; newlen--; if (newlen > 0) { yc->bunlen = newlen; makeKanjiStatusReturn(d, yc); return 0; } else if (cannaconf.CursorWrap) { return BunFullExtend(d); } } (void)NothingChangedWithBeep(d); return 0; } static BunHenkan pro((uiContext)); static BunHenkan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; yc->nbunsetsu = RkwResize(yc->context, yc->bunlen); leaveAdjustMode(d, yc); if (yc->nbunsetsu < 0) { makeRkError(d, e_message[4]); yc->nbunsetsu = 1/* dummy */; return TanMuhenkan(d); } makeKanjiStatusReturn(d, yc); currentModeInfo(d); return 0; } static BunQuit pro((uiContext)); static BunQuit(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; leaveAdjustMode(d, yc); makeKanjiStatusReturn(d, yc); currentModeInfo(d); return 0; } static BunSelfInsert pro((uiContext)); static BunSelfInsert(d) uiContext d; { d->nbytes = BunQuit(d); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = CANNA_FN_FunctionalInsert; return d->nbytes; } static BunQuotedInsert pro((uiContext)); static BunQuotedInsert(d) uiContext d; { d->nbytes = BunQuit(d); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = CANNA_FN_QuotedInsert; return d->nbytes; } static BunKillToEOL pro((uiContext)); static BunKillToEOL(d) uiContext d; { d->nbytes = BunQuit(d); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = CANNA_FN_KillToEndOfLine; return d->nbytes; } #include "bunmap.h" /* »Ä¤Ã¤Æ¤¤¤ë¤ª»Å»ö ¡¦Ã༡¼«Æ°ÊÑ´¹Ãæ¤ÎʸÀá¿­½Ì¥â¡¼¥É */ Canna37p3/lib/canna/bushu.c0100644000076500001200000006211607732020155014774 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: bushu.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include #include "canna.h" #ifdef luna88k extern int errno; #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern wchar_t *WString(); extern int uuslQuitCatch(); extern int uuslIchiranQuitCatch(); static int bushuHenkan(), makeBushuIchiranQuit(); static int vBushuExitCatch(), bushuQuitCatch(); #define BUSHU_SZ 150 static char *bushu_schar[] = { /* "°ì", "Ш", "Ñá", "½½", "ÒÇ", "Åá", */ "\260\354", "\320\250", "\321\341", "\275\275", "\322\307", "\305\341", /* "´¢¡Ê¤ê¤Ã¤È¤¦¡Ë", "ÎÏ", "ÒÌ", "Ò±", "ÑÄÒ¹Óø", "е", */ "\264\242\241\312\244\352\244\303\244\310\244\246\241\313", "\316\317", "\322\314", "\322\261", "\321\304\322\271\323\370", "\320\265", /* "ÑÒ", "¿Í¡¿¿Î¡Ê¤Ë¤ó¤Ù¤ó¡Ë", "Ëô", "ÑÜ", "Ȭ", "ѹ", */ "\321\322", "\277\315\241\277\277\316\241\312\244\313\244\363\244\331\244\363\241\313", "\313\364", "\321\334", "\310\254", "\321\271", /* "ÑÌ", "Õß", "×®", "°ê¡Ê¤ª¤ª¤¶¤È)", "¸Ê", "½÷", */ "\321\314", "\325\337", "\327\256", "\260\352\241\312\244\252\244\252\244\266\244\310\51", "\270\312", "\275\367", /* "ׯ", "¸ý", "Áð¡Ê¤¯¤µ¤«¤ó¤à¤ê)", "ÆÈ¡Ê¤±¤â¤Î¤Ø¤ó¡Ë", */ "\327\306", "\270\375", "\301\360\241\312\244\257\244\265\244\253\244\363\244\340\244\352\51", "\306\310\241\312\244\261\244\342\244\316\244\330\244\363\241\313", /* "»Ò", "ïú¡Ê¤³¤¶¤È¡Ë", "»Î", "¹¾¡Ê¤µ¤ó¤º¤¤¡Ë", "×µ", */ "\273\322", "\357\372\241\312\244\263\244\266\244\310\241\313", "\273\316", "\271\276\241\312\244\265\244\363\244\272\244\244\241\313", "\327\265", /* "Õù", "¾®¡¿Ã±¡Ê¤Ä¡Ë", "íè¡Ê¤·¤ó¤Ë¤ç¤¦¡Ë", "À£", "Âç", */ "\325\371", "\276\256\241\277\303\261\241\312\244\304\241\313", "\355\350\241\312\244\267\244\363\244\313\244\347\244\246\241\313", "\300\243", "\302\347", /* "ÅÚ", "¼ê¡Ê¤Æ¤Ø¤ó¡Ë", "¶Ò", "Öø", "»³", "ͼ", */ "\305\332", "\274\352\241\312\244\306\244\330\244\363\241\313", "\266\322", "\326\370", "\273\263", "\315\274", /* "µÝ", "Ë»¡Ê¤ê¤Ã¤·¤ó¤Ù¤ó¡Ë", "·ç", "ÝÆ", "¸¤", */ "\265\335", "\313\273\241\312\244\352\244\303\244\267\244\363\244\331\244\363\241\313", "\267\347", "\335\306", "\270\244", /* "µí¡¿²´¡Ê¤¦¤·¤Ø¤ó¡Ë", "ÊÒ", "ÌÚ", "Ýã", "ÌÓ", "¿´", */ "\265\355\241\277\262\264\241\312\244\246\244\267\244\330\244\363\241\313", "\312\322", "\314\332", "\335\343", "\314\323", "\277\264", /* "¿å", "·î", "ÄÞ", "Æü", "Ú¾", "²Ð", */ "\277\345", "\267\356", "\304\336", "\306\374", "\332\276", "\262\320", /* "Êý", "Øù", "ÅÀ¡Ê¤ì¤Ã¤«¡Ë", "ÝÕ", "·ê", "ÀÐ", */ "\312\375", "\330\371", "\305\300\241\312\244\354\244\303\244\253\241\313", "\335\325", "\267\352", "\300\320", /* "¶Ì", "Èé", "´¤", "»®", "¼¨", "¿À¡Ê¤·¤á¤¹¤Ø¤ó¡Ë", "Çò", */ "\266\314", "\310\351", "\264\244", "\273\256", "\274\250", "\277\300\241\312\244\267\244\341\244\271\244\330\244\363\241\313", "\307\362", /* "ÅÄ", "Ω", "²Ó", "ÌÜ", "â¢", "Ìð", */ "\305\304", "\316\251", "\262\323", "\314\334", "\342\242", "\314\360", /* "áˡʤä¤Þ¤¤¤À¤ì¡Ë", "»Í", "»å", "±±", "±»", "Ï·", */ "\341\313\241\312\244\344\244\336\244\244\244\300\244\354\241\313", "\273\315", "\273\345", "\261\261", "\261\273", "\317\267", /* "´Ì", "°á", "½é¡Ê¤³¤í¤â¤Ø¤ó¡Ë", "ÊÆ", "Àå", "æÐ", */ "\264\314", "\260\341", "\275\351\241\312\244\263\244\355\244\342\244\330\244\363\241\313", "\312\306", "\300\345", "\346\320", /* "Ãݡʤ¿¤±¤«¤ó¤à¤ê¡Ë", "·ì", "¸×¡Ê¤È¤é¤«¤ó¤à¤ê¡Ë", "Æù", */ "\303\335\241\312\244\277\244\261\244\253\244\363\244\340\244\352\241\313", "\267\354", "\270\327\241\312\244\310\244\351\244\253\244\363\244\340\244\352\241\313", "\306\371", /* "À¾", "±©", "ÍÓ", "ææ", "½®", "¼ª", */ "\300\276", "\261\251", "\315\323", "\346\346", "\275\256", "\274\252", /* "Ãî", "ÀÖ", "­¡¿É¥", "ìµ", "¿Ã", */ "\303\356", "\300\326", "\302\255\241\277\311\245", "\354\265", "\277\303", /* "³­", "¿É", "¼Ö", "¸«", "¸À", "ÆÓ", "Áö", "ë", */ "\263\255", "\277\311", "\274\326", "\270\253", "\270\300", "\306\323", "\301\366", "\303\253", /* "³Ñ", "ÈÐ", "Çþ", "Ʀ", "¿È", "ì¸", "±«", "Èó", */ "\263\321", "\310\320", "\307\376", "\306\246", "\277\310", "\354\270", "\261\253", "\310\363", /* "¶â", "Ìç", "ð²", "ÊÇ", "²»", "¹á", "³×", "É÷", */ "\266\342", "\314\347", "\360\262", "\312\307", "\262\273", "\271\341", "\263\327", "\311\367", /* "¼ó", "¿©", "ðê", "ÌÌ", "ÇÏ", "µ´", "ñõ", "¹â", */ "\274\363", "\277\251", "\360\352", "\314\314", "\307\317", "\265\264", "\361\365", "\271\342", /* "ò¨", "¹ü", "µû", "µµ", "Ä»", "¹õ", "¼¯", "É¡", */ "\362\250", "\271\374", "\265\373", "\265\265", "\304\273", "\271\365", "\274\257", "\311\241", /* "óï", "µ­¹æ", "¤½¤Î¾" */ "\363\357", "\265\255\271\346", "\244\275\244\316\302\276" }; static char *bushu_skey[] = { /* "¤¤¤Á", "¤Î", "¤¦¤±¤Ð¤³", "¤¸¤å¤¦", "¤Õ¤·", "¤«¤¿¤Ê", */ "\244\244\244\301", "\244\316", "\244\246\244\261\244\320\244\263", "\244\270\244\345\244\246", "\244\325\244\267", "\244\253\244\277\244\312", /* "¤ê¤Ã¤È¤¦", "¤«", "¤¬¤ó", "¤¯", "¤«¤Þ¤¨", "¤Ê¤Ù", "¤Ë", */ "\244\352\244\303\244\310\244\246", "\244\253", "\244\254\244\363", "\244\257", "\244\253\244\336\244\250", "\244\312\244\331", "\244\313", /* "¤Ò¤È", "¤Ì", "¤Ä¤¯¤¨", "¤Ï¤Á", "¤ë", "¤ï", */ "\244\322\244\310", "\244\314", "\244\304\244\257\244\250", "\244\317\244\301", "\244\353", "\244\357", /* "¤¦", "¤¨¤ó", "¤ª¤ª¤¶¤È", "¤ª¤Î¤ì", "¤ª¤ó¤Ê", "¤®¤ç¤¦", */ "\244\246", "\244\250\244\363", "\244\252\244\252\244\266\244\310", "\244\252\244\316\244\354", "\244\252\244\363\244\312", "\244\256\244\347\244\246", /* "¤í", "¤¯¤µ", "¤±¤â¤Î", "¤³", "¤³¤¶¤È", "¤µ¤à¤é¤¤", */ "\244\355", "\244\257\244\265", "\244\261\244\342\244\316", "\244\263", "\244\263\244\266\244\310", "\244\265\244\340\244\351\244\244", /* "¤·", "¤·¤­", "¤·¤ã¤¯", "¤Ä", "¤·¤ó", "¤¹¤ó", */ "\244\267", "\244\267\244\255", "\244\267\244\343\244\257", "\244\304", "\244\267\244\363", "\244\271\244\363", /* "¤À¤¤", "¤É", "¤Æ", "¤Ï¤Ð", "¤Þ", "¤ä¤Þ", */ "\244\300\244\244", "\244\311", "\244\306", "\244\317\244\320", "\244\336", "\244\344\244\336", /* "¤æ¤¦", "¤æ¤ß", "¤ê¤Ã¤·¤ó", "¤±¤Ä", "¤¤¤Á¤¿", "¤¤¤Ì", */ "\244\346\244\246", "\244\346\244\337", "\244\352\244\303\244\267\244\363", "\244\261\244\304", "\244\244\244\301\244\277", "\244\244\244\314", /* "¤¦¤·", "¤«¤¿", "¤­", "¤­¤¬¤Þ¤¨", "¤±", "¤³¤³¤í", */ "\244\246\244\267", "\244\253\244\277", "\244\255", "\244\255\244\254\244\336\244\250", "\244\261", "\244\263\244\263\244\355", /* "¤¹¤¤", "¤Ä¤­", "¤Ä¤á", "¤Ë¤Á", "¤Î¤Ö¤ó", "¤Ò", */ "\244\271\244\244", "\244\304\244\255", "\244\304\244\341", "\244\313\244\301", "\244\316\244\326\244\363", "\244\322", /* "¤Û¤¦", "¤Û¤³", "¤è¤Ä¤Æ¤ó", "¤ë¤Þ¤¿", "¤¢¤Ê", "¤¤¤·", */ "\244\333\244\246", "\244\333\244\263", "\244\350\244\304\244\306\244\363", "\244\353\244\336\244\277", "\244\242\244\312", "\244\244\244\267", /* "¤ª¤¦", "¤«¤ï", "¤«¤ï¤é", "¤µ¤é", "¤·¤á¤¹", "¤Í", */ "\244\252\244\246", "\244\253\244\357", "\244\253\244\357\244\351", "\244\265\244\351", "\244\267\244\341\244\271", "\244\315", /* "¤·¤í", "¤¿", "¤¿¤Ä", "¤Î¤®", "¤á", "¤Ï¤Ä", "¤ä", */ "\244\267\244\355", "\244\277", "\244\277\244\304", "\244\316\244\256", "\244\341", "\244\317\244\304", "\244\344", /* "¤ä¤Þ¤¤", "¤è¤ó", "¤¤¤È", "¤¦¤¹", "¤¦¤ê", "¤ª¤¤", */ "\244\344\244\336\244\244", "\244\350\244\363", "\244\244\244\310", "\244\246\244\271", "\244\246\244\352", "\244\252\244\244", /* "¤«¤ó", "¤­¤Ì", "¤³¤í¤â", "¤³¤á", "¤·¤¿", "¤¹¤­", */ "\244\253\244\363", "\244\255\244\314", "\244\263\244\355\244\342", "\244\263\244\341", "\244\267\244\277", "\244\271\244\255", /* "¤¿¤±", "¤Á", "¤È¤é", "¤Ë¤¯", "¤Ë¤·", "¤Ï¤Í", "¤Ò¤Ä¤¸", */ "\244\277\244\261", "\244\301", "\244\310\244\351", "\244\313\244\257", "\244\313\244\267", "\244\317\244\315", "\244\322\244\304\244\270", /* "¤Õ¤Ç", "¤Õ¤Í", "¤ß¤ß", "¤à¤·", "¤¢¤«", "¤¢¤·", */ "\244\325\244\307", "\244\325\244\315", "\244\337\244\337", "\244\340\244\267", "\244\242\244\253", "\244\242\244\267", /* "¤¤¤Î¤³", "¤ª¤ß", "¤«¤¤", "¤«¤é¤¤", "¤¯¤ë¤Þ", "¤±¤ó", */ "\244\244\244\316\244\263", "\244\252\244\337", "\244\253\244\244", "\244\253\244\351\244\244", "\244\257\244\353\244\336", "\244\261\244\363", /* "¤´¤ó", "¤µ¤±", "¤½¤¦", "¤¿¤Ë", "¤Ä¤Î", "¤Î¤´¤á", */ "\244\264\244\363", "\244\265\244\261", "\244\275\244\246", "\244\277\244\313", "\244\304\244\316", "\244\316\244\264\244\341", /* "¤Ð¤¯", "¤Þ¤á", "¤ß", "¤à¤¸¤Ê", "¤¢¤á", "¤¢¤é¤º", */ "\244\320\244\257", "\244\336\244\341", "\244\337", "\244\340\244\270\244\312", "\244\242\244\341", "\244\242\244\351\244\272", /* "¤«¤Í", "¤â¤ó", "¤Õ¤ë¤È¤ê", "¤Ú¡¼¤¸", "¤ª¤È", "¤³¤¦", */ "\244\253\244\315", "\244\342\244\363", "\244\325\244\353\244\310\244\352", "\244\332\241\274\244\270", "\244\252\244\310", "\244\263\244\246", /* "¤«¤¯", "¤«¤¼", "¤¯¤Ó", "¤·¤ç¤¯", "¤Ê¤á¤·", "¤á¤ó", */ "\244\253\244\257", "\244\253\244\274", "\244\257\244\323", "\244\267\244\347\244\257", "\244\312\244\341\244\267", "\244\341\244\363", /* "¤¦¤Þ", "¤ª¤Ë", "¤«¤ß", "¤¿¤«¤¤", "¤È¤¦", "¤Û¤Í", */ "\244\246\244\336", "\244\252\244\313", "\244\253\244\337", "\244\277\244\253\244\244", "\244\310\244\246", "\244\333\244\315", /* "¤¦¤ª", "¤«¤á", "¤È¤ê", "¤¯¤í", "¤·¤«", "¤Ï¤Ê", */ "\244\246\244\252", "\244\253\244\341", "\244\310\244\352", "\244\257\244\355", "\244\267\244\253", "\244\317\244\312", /* "¤Ï", "¤­¤´¤¦", "¤½¤Î¤¿" */ "\244\317", "\244\255\244\264\244\246", "\244\275\244\316\244\277" }; #define BUSHU_CNT (sizeof(bushu_schar)/sizeof(char *)) static wchar_t *bushu_char[BUSHU_CNT]; static wchar_t *bushu_key[BUSHU_CNT]; int initBushuTable() { int retval = 0; retval = setWStrings(bushu_char, bushu_schar, BUSHU_CNT); if (retval != NG) { retval = setWStrings(bushu_key, bushu_skey, BUSHU_CNT); } return retval; } /* * Éô¼ó¸õÊä¤Î¥¨¥³¡¼ÍѤÎʸ»úÎó¤òºî¤ë * * °ú¤­¿ô RomeStruct * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static int makeBushuEchoStr(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; d->kanji_status_return->echoStr = ic->allkouho[*(ic->curIkouho)]; d->kanji_status_return->length = 1; d->kanji_status_return->revPos = 0; d->kanji_status_return->revLen = 1; return(0); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * forichiranContextÍÑ´Ø¿ô * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * forichiranContext ¤Î½é´ü²½ */ static clearForIchiranContext(p) forichiranContext p; { p->id = FORICHIRAN_CONTEXT; p->curIkouho = 0; p->allkouho = 0; return(0); } static forichiranContext newForIchiranContext() { forichiranContext fcxt; if ((fcxt = (forichiranContext)malloc(sizeof(forichiranContextRec))) == (forichiranContext)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (newForIchiranContext) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (newForIchiranContext) \244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ #endif return (forichiranContext)NULL; } clearForIchiranContext(fcxt); return fcxt; } getForIchiranContext(d) uiContext d; { forichiranContext fc; int retval = 0; if (pushCallback(d, d->modec, NO_CALLBACK, NO_CALLBACK, NO_CALLBACK, NO_CALLBACK) == 0) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (pushCallback) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (pushCallback) \244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ #endif return(NG); } if((fc = newForIchiranContext()) == NULL) { popCallback(d); return(NG); } fc->next = d->modec; d->modec = (mode_context)fc; fc->prevMode = d->current_mode; fc->majorMode = d->majorMode; return(retval); } void popForIchiranMode(d) uiContext d; { forichiranContext fc = (forichiranContext)d->modec; d->modec = fc->next; d->current_mode = fc->prevMode; freeForIchiranContext(fc); } #ifndef NO_EXTEND_MENU /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Éô¼ó¥â¡¼¥ÉÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static vBushuMode(d, major_mode) uiContext d; int major_mode; { forichiranContext fc; ichiranContext ic; unsigned inhibit = 0; int retval = 0; d->status = 0; if((retval = getForIchiranContext(d)) == NG) { killmenu(d); return(GLineNGReturn(d)); } fc = (forichiranContext)d->modec; /* selectOne ¤ò¸Æ¤Ö¤¿¤á¤Î½àÈ÷ */ fc->allkouho = bushu_char; fc->curIkouho = 0; if (!cannaconf.HexkeySelect) inhibit |= ((unsigned char)NUMBERING | (unsigned char)CHARINSERT); else inhibit |= (unsigned char)CHARINSERT; if((retval = selectOne(d, fc->allkouho, &fc->curIkouho, BUSHU_SZ, BANGOMAX, inhibit, 0, WITH_LIST_CALLBACK, NO_CALLBACK, vBushuExitCatch, bushuQuitCatch, uiUtilIchiranTooSmall)) == NG) { killmenu(d); return(GLineNGReturnFI(d)); } ic = (ichiranContext)d->modec; ic->majorMode = major_mode; ic->minorMode = CANNA_MODE_BushuMode; currentModeInfo(d); *(ic->curIkouho) = d->curbushu; /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if(ic->tooSmall) { d->status = AUX_CALLBACK; killmenu(d); return(retval); } if ( !(ic->flags & ICHIRAN_ALLOW_CALLBACK) ) { makeGlineStatus(d); } /* d->status = ICHIRAN_EVERYTIME; */ return(retval); } static vBushuIchiranQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* °ìÍ÷¤ò¥Ý¥Ã¥× */ if (((forichiranContext)env)->allkouho != (wchar_t **)bushu_char) { /* bushu_char ¤Ï static ¤ÎÇÛÎó¤À¤«¤é free ¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¤³¤¦¸À¤¦¤Î¤Ã¤Æ¤Ê¤ó¤«±ø¤¤¤Ê¤¢ */ freeGetIchiranList(((forichiranContext)env)->allkouho); } popForIchiranMode(d); popCallback(d); return(vBushuMode(d, CANNA_MODE_BushuMode)); } static vBushuExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; int cur, res; popCallback(d); /* °ìÍ÷¤ò¥Ý¥Ã¥× */ fc = (forichiranContext)d->modec; cur = fc->curIkouho; popForIchiranMode(d); popCallback(d); res = bushuHenkan(d, 1, 1, cur, vBushuIchiranQuitCatch); if (res < 0) { makeYomiReturnStruct(d); return 0; } return res; } BushuMode(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { killmenu(d); return NothingChangedWithBeep(d); } return(vBushuMode(d, CANNA_MODE_BushuMode)); } #endif /* not NO_EXTEND_MENU */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Éô¼ó¥â¡¼¥ÉÆþÎϤΰìÍ÷ɽ¼¨ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static bushuEveryTimeCatch pro((uiContext, int, mode_context)); static bushuEveryTimeCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { makeBushuEchoStr(d); return(retval); } static bushuExitCatch pro((uiContext, int, mode_context)); static bushuExitCatch(d, retval, env) uiContext d; int retval; mode_context env; { yomiContext yc; popCallback(d); /* °ìÍ÷¤ò¥Ý¥Ã¥× */ if (((forichiranContext)env)->allkouho != bushu_char) { /* bushu_char ¤Ï static ¤ÎÇÛÎó¤À¤«¤é free ¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¤³¤¦¸À¤¦¤Î¤Ã¤Æ¤Ê¤ó¤«±ø¤¤¤Ê¤¢ */ freeGetIchiranList(((forichiranContext)env)->allkouho); } popForIchiranMode(d); popCallback(d); yc = (yomiContext)d->modec; if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); } retval = YomiExit(d, retval); killmenu(d); currentModeInfo(d); return retval; } #ifndef NO_EXTEND_MENU static bushuQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* °ìÍ÷¤ò¥Ý¥Ã¥× */ if (((forichiranContext)env)->allkouho != (wchar_t **)bushu_char) { /* bushu_char ¤Ï static ¤ÎÇÛÎó¤À¤«¤é free ¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¤³¤¦¸À¤¦¤Î¤Ã¤Æ¤Ê¤ó¤«±ø¤¤¤Ê¤¢ */ freeGetIchiranList(((forichiranContext)env)->allkouho); } popForIchiranMode(d); popCallback(d); currentModeInfo(d); GlineClear(d); return prevMenuIfExist(d); } #endif /* not NO_EXTEND_MENU */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Éô¼ó¤È¤·¤Æ¤ÎÊÑ´¹¤Î°ìÍ÷ɽ¼¨ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static convBushuQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; { popCallback(d); /* °ìÍ÷¤ò¥Ý¥Ã¥× */ if (((forichiranContext)env)->allkouho != (wchar_t **)bushu_char) { /* bushu_char ¤Ï static ¤ÎÇÛÎó¤À¤«¤é free ¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¤³¤¦¸À¤¦¤Î¤Ã¤Æ¤Ê¤ó¤«±ø¤¤¤Ê¤¢ */ freeGetIchiranList(((forichiranContext)env)->allkouho); } popForIchiranMode(d); popCallback(d); makeYomiReturnStruct(d); currentModeInfo(d); return(retval); } /* * ÆÉ¤ß¤òÉô¼ó¤È¤·¤ÆÊÑ´¹¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ int ConvertAsBushu pro((uiContext)); ConvertAsBushu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int res; d->status = 0; /* clear status */ if (yc->henkanInhibition & CANNA_YOMI_INHIBIT_ASBUSHU || yc->right || yc->left) { return NothingChangedWithBeep(d); } if (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) { if (!(yc->status & CHIKUJI_OVERWRAP) && yc->nbunsetsu) { moveToChikujiTanMode(d); return TanKouhoIchiran(d); } else if (yc->nbunsetsu) { return NothingChanged(d); } } d->nbytes = yc->kEndp; WStrncpy(d->buffer_return, yc->kana_buffer, d->nbytes); /* 0 ¤Ï¡¢ConvertAsBushu ¤«¤é¸Æ¤Ð¤ì¤¿¤³¤È¤ò¼¨¤¹ */ res = bushuHenkan(d, 0, 1, 0, convBushuQuitCatch); if (res < 0) { makeYomiReturnStruct(d); return 0; } return res; } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ¶¦ÄÌÉô * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * ÆÉ¤ß¤òÉô¼ó¼­½ñ¤«¤éÉô¼óÊÑ´¹¤¹¤ë */ static bushuBgnBun(st, yomi, length) RkStat *st; wchar_t *yomi; int length; { int nbunsetsu; extern defaultBushuContext; /* ϢʸÀáÊÑ´¹¤ò³«»Ï¤¹¤ë *//* ¼­½ñ¤Ë¤¢¤ë¸õÊä¤Î¤ß¼è¤ê½Ð¤¹ */ if ((defaultBushuContext == -1)) { if (KanjiInit() == -1 || defaultBushuContext == -1) { jrKanjiError = KanjiInitError(); return(NG); } } nbunsetsu = RkwBgnBun(defaultBushuContext, yomi, length, RK_CTRLHENKAN); if(nbunsetsu == -1) { if(errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\313\274\272\307\324\244\267\244\336\244\267\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return(NG); } if(RkwGetStat(defaultBushuContext, st) == -1) { if(errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\245\271\245\306\245\244\245\277\245\271\244\362\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¥¹¥Æ¥¤¥¿¥¹¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ return(NG); } return(nbunsetsu); } /* * ÆÉ¤ß¤ËȾÂùÅÀ¤òÉղ䷤ƸõÊä°ìÍ÷¹Ô¤òɽ¼¨¤¹¤ë * * °ú¤­¿ô uiContext * flag ConvertAsBushu¤«¤é¸Æ¤Ð¤ì¤¿ 0 * BushuYomiHenkan¤«¤é¸Æ¤Ð¤ì¤¿ 1 * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 * * * ¤³¤³¤ËÍè¤ë»þ¤Ï¤Þ¤À getForIchiranContext ¤¬¸Æ¤Ð¤ì¤Æ¤¤¤Ê¤¤¤â¤Î¤È¤¹¤ë */ static bushuHenkan(d, flag, ext, cur, quitfunc) uiContext d; int flag, cur; int (*quitfunc) pro((uiContext, int, mode_context)); { forichiranContext fc; ichiranContext ic; unsigned inhibit = 0; wchar_t *yomi, **allBushuCands; RkStat st; int nelem, currentkouho, nbunsetsu, length, retval = 0; extern defaultBushuContext; wchar_t **getIchiranList(); if(flag) { yomi = (wchar_t *)bushu_key[cur]; length = WStrlen(yomi); d->curbushu = (short)cur; } else { d->nbytes = RomajiFlushYomi(d, d->buffer_return, d->n_buffer); yomi = d->buffer_return; length = d->nbytes; } if((nbunsetsu = bushuBgnBun(&st, yomi, length)) == NG) { killmenu(d); (void)GLineNGReturn(d); return -1; } if((nbunsetsu != 1) || (st.klen > 1) || (st.maxcand == 0)) { /* Éô¼ó¤È¤·¤Æ¤Î¸õÊ䤬¤Ê¤¤ */ d->kanji_status_return->length = -1; makeBushuIchiranQuit(d, flag); currentModeInfo(d); killmenu(d); if(flag) { makeGLineMessageFromString(d, "\244\263\244\316\311\364\274\363\244\316\270\365\312\344\244\317\244\242\244\352\244\336\244\273\244\363"); /* ¤³¤ÎÉô¼ó¤Î¸õÊä¤Ï¤¢¤ê¤Þ¤»¤ó */ } else { return(NothingChangedWithBeep(d)); } return(0); } /* ¸õÊä°ìÍ÷¹Ô¤òɽ¼¨¤¹¤ë */ /* 0 ¤Ï¡¢¥«¥ì¥ó¥È¸õÊä + 0 ¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤¹¤ë¤³¤È¤ò¼¨¤¹ */ if((allBushuCands = getIchiranList(defaultBushuContext, &nelem, ¤tkouho)) == 0) { killmenu(d); (void)GLineNGReturn(d); return -1; } /* Éô¼óÊÑ´¹¤Ï³Ø½¬¤·¤Ê¤¤¡£ */ if(RkwEndBun(defaultBushuContext, 0) == -1) { /* 0:³Ø½¬¤·¤Ê¤¤ */ if(errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\316\275\252\316\273\244\313\274\272\307\324\244\267\244\336\244\267\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ freeGetIchiranList(allBushuCands); killmenu(d); (void)GLineNGReturn(d); return -1; } if(getForIchiranContext(d) == NG) { freeGetIchiranList(allBushuCands); killmenu(d); (void)GLineNGReturn(d); return -1; } fc = (forichiranContext)d->modec; fc->allkouho = allBushuCands; if (!cannaconf.HexkeySelect) inhibit |= (unsigned char)NUMBERING; fc->curIkouho = currentkouho; /* ¸½ºß¤Î¥«¥ì¥ó¥È¸õÊäÈÖ¹æ¤òÊݸ¤¹¤ë */ currentkouho = 0; /* ¥«¥ì¥ó¥È¸õÊ䤫¤é²¿ÈÖÌܤò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë¤« */ if((retval = selectOne(d, fc->allkouho, &fc->curIkouho, nelem, BANGOMAX, inhibit, currentkouho, WITH_LIST_CALLBACK, bushuEveryTimeCatch, bushuExitCatch, quitfunc, uiUtilIchiranTooSmall)) == NG) { freeGetIchiranList(allBushuCands); killmenu(d); (void)GLineNGReturnFI(d); return -1; } ic = (ichiranContext)d->modec; if(!flag) { /* convertAsBushu */ ic->majorMode = ic->minorMode = CANNA_MODE_BushuMode; } else { if(ext) { ic->majorMode = ic->minorMode = CANNA_MODE_BushuMode; } else { ic->majorMode = CANNA_MODE_ExtendMode; ic->minorMode = CANNA_MODE_BushuMode; } } currentModeInfo(d); /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if(ic->tooSmall) { d->status = AUX_CALLBACK; killmenu(d); return(retval); } if ( !(ic->flags & ICHIRAN_ALLOW_CALLBACK) ) { makeGlineStatus(d); } /* d->status = EVERYTIME_CALLBACK; */ return(retval); } /* * ¸õÊä¹Ô¤ò¾Ãµî¤·¡¢Éô¼ó¥â¡¼¥É¤«¤éÈ´¤±¡¢ÆÉ¤ß¤¬¤Ê¤¤¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë * * °ú¤­¿ô uiContext * flag ConvertAsBushu¤«¤é¸Æ¤Ð¤ì¤¿ 0 * BushuYomiHenkan¤«¤é¸Æ¤Ð¤ì¤¿ 1 * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static makeBushuIchiranQuit(d, flag) uiContext d; int flag; { extern defaultBushuContext; /* Éô¼óÊÑ´¹¤Ï³Ø½¬¤·¤Ê¤¤¡£ */ if(RkwEndBun(defaultBushuContext, 0) == -1) { /* 0:³Ø½¬¤·¤Ê¤¤ */ if(errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\316\275\252\316\273\244\313\274\272\307\324\244\267\244\336\244\267\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return(NG); } if(flag) { /* kanji_status_return ¤ò¥¯¥ê¥¢¤¹¤ë */ d->kanji_status_return->length = 0; d->kanji_status_return->revLen = 0; /* d->status = QUIT_CALLBACK; */ } else { makeYomiReturnStruct(d); } GlineClear(d); return(0); } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/canna.h0100644000076500001200000011330107734514106014732 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* * @(#) 102.1 $Id: canna.h,v 1.11 2003/09/25 07:24:54 aida_s Exp $ */ #ifndef _CANNA_H_ #define _CANNA_H_ #include "cannaconf.h" #include "ccompat.h" #include #define CANNA_NEW_WCHAR_AWARE #include #include #define POINTERINT canna_intptr_t #define exp(x) x #if 0 #define USE_MALLOC_FOR_BIG_ARRAY #endif #define WCHARSIZE (sizeof(cannawc)) #define MBstowcs CANNA_mbstowcs #define WCstombs CANNA_wcstombs #include "sglobal.h" #define XLookupKanji2 IROHA_G300_XLookupKanji2 #define XKanjiControl2 IROHA_G301_XKanjiControl2 #define XwcLookupKanji2 IROHA_G425_XwcLookupKanji2 #define XwcKanjiControl2 IROHA_G426_XwcKanjiControl2 #define FirstTime CANNA_G271_FirstTime #define STROKE_LIMIT 500 /* ¥¹¥È¥í¡¼¥¯¤ÇÀܳ¤òÀÚ¤ë */ typedef unsigned char BYTE; /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc /* * CANNALIBDIR -- ¥·¥¹¥Æ¥à¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ä¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ * ¥Æ¡¼¥Ö¥ë¤¬ÃÖ¤«¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¡£ */ #ifndef CANNALIBDIR #define CANNALIBDIR "/usr/lib/canna" #endif /* flags ¤Î¾ðÊó */ #define CANNA_KANJIMODE_TABLE_SHARED 01 #define CANNA_KANJIMODE_EMPTY_MODE 02 /* func ¤ÎÂè»°°ú¿ô */ #define KEY_CALL 0 #define KEY_CHECK 1 #define KEY_SET 2 extern BYTE default_kmap[]; /* menuitem -- ¥á¥Ë¥å¡¼É½¼¨¤Î¹àÌܤòÄêµÁ¤¹¤ë¥Æ¡¼¥Ö¥ë */ typedef struct _menuitem { int flag; /* ²¼¤ò¸«¤è */ union { struct _menustruct *menu_next; /* ¥á¥Ë¥å¡¼¤Ø¤Î¥Ý¥¤¥ó¥¿ */ int fnum; /* µ¡Ç½ÈÖ¹æ */ char *misc; /* ¤½¤Î¾(lisp ¤Î¥·¥ó¥Ü¥ë¤Ê¤É) */ } u; } menuitem; #define MENU_SUSPEND 0 /* ¤Þ¤À·è¤Þ¤Ã¤Æ¤¤¤Ê¤¤(lisp ¤Î¥·¥ó¥Ü¥ë) */ #define MENU_MENU 1 /* ¥á¥Ë¥å¡¼ */ #define MENU_FUNC 2 /* µ¡Ç½ÈÖ¹æ */ /* menustruct -- ¥á¥Ë¥å¡¼¤ò¤·¤­¤ë¹½Â¤ÂÎ */ typedef struct _menustruct { int nentries; /* ¥á¥Ë¥å¡¼¤Î¹àÌܤοô */ wchar_t **titles; /* ¥á¥Ë¥å¡¼¤Î¸«½Ð¤·¥ê¥¹¥È */ wchar_t *titledata; /* ¾å¤Î¥ê¥¹¥È¤Î¼ÂÂÖʸ»úÎó */ menuitem *body; /* ¥á¥Ë¥å¡¼¤ÎÃæ¿È(ÇÛÎó) */ int modeid; /* ¥á¥Ë¥å¡¼¤Î¥â¡¼¥ÉÈÖ¹æ */ struct _menustruct *prev; /* °ì¤ÄÁ°¤Î¥á¥Ë¥å¡¼¤Ø¤Î¥Ý¥¤¥ó¥¿ */ } menustruct; typedef struct _menuinfo { menustruct *mstruct; /* ¤É¤Î¥á¥Ë¥å¡¼¤Î */ int curnum; /* ¤³¤Ê¤¤¤ÀÁªÂò¤µ¤ì¤¿ÈÖ¹æ¤Ï¤³¤ì¤Ç¤¹¤è */ struct _menuinfo *next; } menuinfo; /* defselection ¤ÇÄêµÁ¤µ¤ì¤¿µ­¹æ´Ø·¸¤Î°ìÍ÷¤ò¤È¤Ã¤Æ¤ª¤¯¹½Â¤ÂÎ */ typedef struct { wchar_t **kigo_data; /* °ìÍ÷ɽ¼¨¤Î³ÆÍ×ÁǤÎÇÛÎó */ wchar_t *kigo_str; /* °ìÍ÷ɽ¼¨¤ÎÁ´Í×ÁǤòÆþ¤ì¤ëÇÛÎó */ int kigo_size; /* Í×ÁǤοô */ int kigo_mode; /* ¤½¤Î¤È¤­¤Î¥â¡¼¥É */ } kigoIchiran; typedef struct _selectinfo { kigoIchiran *ichiran; /* ¤É¤Î°ìÍ÷¤Î */ int curnum; /* Á°²óÁªÂò¤µ¤ì¤¿ÈÖ¹æ */ struct _selectinfo *next; } selectinfo; /* deldicinfo -- ñ¸ìºï½ü¤ÎºÝ¤ËɬÍפʼ­½ñ¤Î¾ðÊó¤ò¤¤¤ì¤Æ¤ª¤¯¹½Â¤ÂÎ */ #define INDPHLENGTH 16 /* ¼«Î©¸ì¤Ç°ìÈÖŤ¤ÉÊ»ì¤ÎŤµ */ typedef struct _deldicinfo { wchar_t *name; wchar_t hcode[INDPHLENGTH]; } deldicinfo; /* * glineinfo -- ¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤ÎÆâÉô¾ðÊó¤ò³ÊǼ¤·¤Æ¤ª¤¯¤¿¤á¤Î¹½Â¤ÂΡ£ * ¤½¤ì¤¾¤ì¤Î¥á¥ó¥Ð¤Ï°Ê²¼¤Î°ÕÌ£¤ò»ý¤Ä¡£ * * glkosu -- ¤½¤Î¹Ô¤Ë¤¢¤ë¸õÊä¤Î¿ô * glhead -- ¤½¤Î¹Ô¤ÎÀèÆ¬¸õÊ䤬¡¢kouhoinfo¤Î²¿ÈÖÌܤ«(0¤«¤é¿ô¤¨¤ë) * gllen -- ¤½¤Î¹Ô¤òɽ¼¨¤¹¤ë¤¿¤á¤Îʸ»úÎó¤ÎŤµ * gldata -- ¤½¤Î¹Ô¤òɽ¼¨¤¹¤ë¤¿¤á¤Îʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ typedef struct { int glkosu; int glhead; int gllen; wchar_t *gldata; } glineinfo; /* * kouhoinfo -- ¸õÊä°ìÍ÷¤Î¤¿¤á¤ÎÆâÉô¾ðÊó¤ò³ÊǼ¤·¤Æ¤ª¤¯¤¿¤á¤Î¹½Â¤ÂÎ * ¤½¤ì¤¾¤ì¤Î¥á¥ó¥Ð¤Ï°Ê²¼¤Î°ÕÌ£¤ò»ý¤Ä¡£ * * khretsu -- ¤½¤Î¸õÊ䤬¤¢¤ë¹Ô * khpoint -- ¤½¤Î¸õÊä¤Î¹Ô¤Î¤Ê¤«¤Ç¤Î°ÌÃÖ * khdata -- ¤½¤Î¸õÊä¤Îʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ typedef struct { int khretsu; int khpoint; wchar_t *khdata; } kouhoinfo; #define ROMEBUFSIZE 1024 #define BANGOSIZE 2 /* ¸õÊä¹ÔÃæ¤Î³Æ¸õÊä¤ÎÈÖ¹æ¤Î¥³¥é¥à¿ô */ #define BANGOMAX 9 /* £±¸õÊä¹ÔÃæ¤ÎºÇÂç¸õÊä¿ô */ #define KIGOBANGOMAX 16 /* £±¸õÊä¹ÔÃæ¤ÎºÇÂç¸õÊä¿ô */ #define GOBISUU 9 #define ON 1 #define OFF 0 #define NG -1 #define NO_CALLBACK (canna_callback_t)0 #define NCALLBACK 4 #define JISHU_HIRA 0 #define JISHU_ZEN_KATA 1 #define JISHU_HAN_KATA 2 #define JISHU_ZEN_ALPHA 3 #define JISHU_HAN_ALPHA 4 #define MAX_JISHU 5 #define SENTOU 0x01 #define HENKANSUMI 0x02 #define SUPKEY 0x04 #define GAIRAIGO 0x08 #define STAYROMAJI 0x10 /* ñ¸ìÅÐÏ¿¤ÎÉÊ»ì */ #define MEISHI 0 #define KOYUMEISHI 1 #define DOSHI 2 #define KEIYOSHI 3 #define KEIYODOSHI 4 #define FUKUSHI 5 #define TANKANJI 6 #define SUSHI 7 #define RENTAISHI 8 #define SETSUZOKUSHI 9 #define SAHENMEISHI 10 #define MEISHIN 11 #define JINMEI 12 #define KOYUMEISHIN 13 #define GODAN 14 #define RAGYODOSHI 15 #define RAGYOGODAN 16 #define KAMISHIMO 17 #define KEIYOSHIY 18 #define KEIYOSHIN 19 #define KEIYODOSHIY 20 #define KEIYODOSHIN 21 #define FUKUSHIY 22 #define FUKUSHIN 23 /* identifier for each context structures */ #define CORE_CONTEXT ((BYTE)0) #define YOMI_CONTEXT ((BYTE)1) #define ICHIRAN_CONTEXT ((BYTE)2) #define FORICHIRAN_CONTEXT ((BYTE)3) #define MOUNT_CONTEXT ((BYTE)4) #define TOUROKU_CONTEXT ((BYTE)5) #define TAN_CONTEXT ((BYTE)6) typedef struct _coreContextRec { BYTE id; BYTE majorMode, minorMode; struct _kanjiMode *prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ struct _coreContextRec *next; } coreContextRec, *coreContext; typedef coreContext mode_context; typedef struct _yomiContextRec { /* core ¾ðÊó¤ÈƱ¤¸¾ðÊó */ BYTE id; BYTE majorMode, minorMode; struct _kanjiMode *prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; struct _kanjiMode *curMode; struct _tanContextRec *left, *right; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹´Ø·¸ */ struct RkRxDic *romdic; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ wchar_t romaji_buffer[ROMEBUFSIZE]; /* ¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤Ï rStartp, rEndp ¤Î£²¤Ä¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¤è¤Ã¤Æ´ÉÍý¤µ¤ì * ¤ë¡£rStartp ¤Ï¥«¥Ê¤ËÊÑ´¹¤Ç¤­¤Ê¤«¤Ã¤¿¥í¡¼¥Þ»ú¤ÎºÇ½é¤Îʸ»ú¤Ø¤Î¥¤¥ó¥Ç¥Ã * ¥¯¥¹¤Ç¤¢¤ê¡¢rEndp ¤Ï¿·¤¿¤Ë¥í¡¼¥Þ»ú¤òÆþÎϤ¹¤ë»þ¤Ë¡¢³ÊǼ¤¹¤Ù¤­ * romaji_buffer Æâ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¢¤ë¡£¿·¤¿¤ËÆþÎϤµ¤ì¤ë¥í¡¼¥Þ»ú¤Ï¡¢ * romaji_buffer + rEndp ¤è¤êÀè¤Ë³ÊǼ¤µ¤ì¡¢¤½¤Î¥í¡¼¥Þ»ú¤ò¥«¥Ê¤ËÊÑ´¹¤¹ * ¤ë»þ¤Ï¡¢romaji_buffer + rStartp ¤«¤é rEndp - rStartp ¥Ð¥¤¥È¤Îʸ»ú¤¬ * ÂоݤȤʤ롣 */ int rEndp, rStartp, rCurs; /* ¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤Î¥Ý¥¤¥ó¥¿ */ wchar_t kana_buffer[ROMEBUFSIZE]; BYTE rAttr[ROMEBUFSIZE], kAttr[ROMEBUFSIZE]; int kEndp; /* ¤«¤Ê¥Ð¥Ã¥Õ¥¡¤ÎºÇ¸å¤ò²¡¤¨¤ë¥Ý¥¤¥ó¥¿ */ int kRStartp, kCurs; /* ¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó */ BYTE myMinorMode; /* yomiContext ¸ÇÍ­¤Î¥Þ¥¤¥Ê¥â¡¼¥É */ struct _kanjiMode *myEmptyMode; /* empty ¥â¡¼¥É¤Ï¤É¤ì¤« */ long generalFlags; /* see below */ long savedFlags; /* ¾å¤Î¥Õ¥é¥°¤Î°ìÉô¤Î¥»¡¼¥Ö */ BYTE savedMinorMode; /* ¥Þ¥¤¥Ê¥â¡¼¥É¤Î¥»¡¼¥Ö */ BYTE allowedChars; /* see jrkanji.h */ BYTE henkanInhibition; /* see below */ int cursup; /* ¥í¤«¤Ê¤ÎÊäÄɤλþ¤Ë»È¤¦ */ #define SUSPCHARBIAS 100 int n_susp_chars; /* from henkanContext */ /* ¥«¥Ê´Á»úÊÑ´¹´Ø·¸ */ int context; int kouhoCount; /* ²¿²ó henkanNext ¤¬Ï¢Â³¤·¤Æ²¡¤µ¤ì¤¿¤« */ wchar_t echo_buffer[ROMEBUFSIZE]; wchar_t **allkouho; /* RkGetKanjiList¤ÇÆÀ¤é¤ì¤ëʸ»úÎó¤òÇÛÎó¤Ë¤·¤Æ ¤È¤Ã¤Æ¤ª¤¯¤È¤³¤í */ int curbun; /* ¥«¥ì¥ó¥ÈʸÀá */ int curIkouho; /* ¥«¥ì¥ó¥È¸õÊä */ int nbunsetsu; /* ʸÀá¤Î¿ô */ /* ifdef MEASURE_TIME */ long proctime; /* ½èÍý»þ´Ö(ÊÑ´¹¤Ç·×¬¤¹¤ë) */ long rktime; /* ½èÍý»þ´Ö(RK¤Ë¤«¤«¤ë»þ´Ö) */ /* endif MEASURE_TIME */ /* end of from henkanContext */ /* Ã༡¥³¥ó¥Æ¥­¥¹¥È¤«¤é */ int ye, ys, status; /* Ã༡¥³¥ó¥Æ¥­¥¹¥È¤«¤é(¤³¤³¤Þ¤Ç) */ int cStartp, cRStartp; /* Ã༡¤ÇÆÉ¤ß¤È¤·¤Æ»Ä¤Ã¤Æ¤¤¤ëÉôʬ */ /* »ú¼ï¥³¥ó¥Æ¥­¥¹¥È¤«¤é */ BYTE inhibition; BYTE jishu_kc, jishu_case; int jishu_kEndp, jishu_rEndp; short rmark; /* »ú¼ï¥³¥ó¥Æ¥­¥¹¥È¤«¤é(¤³¤³¤Þ¤Ç) */ /* adjustContext ¤«¤é */ int kanjilen, bunlen; /* ´Á»úÉôʬ¡¢Ê¸Àá¤ÎŤµ */ /* adjustContext ¤«¤é(¤³¤³¤Þ¤Ç) */ struct _kanjiMode *tanMode; /* ñ¸õÊä¤Î¤È¤­¤Î¥â¡¼¥É */ int tanMinorMode; /* ¡· */ /* ºî¶ÈÍÑÊÑ¿ô */ int last_rule; /* Á°²ó¤Î¥í¤«¤ÊÊÑ´¹¤Ë»È¤ï¤ì¤¿¥ë¡¼¥ë */ wchar_t *retbuf, *retbufp; int retbufsize; short pmark, cmark; /* £±¤ÄÁ°¤Î¥Þ¡¼¥¯¤Èº£¤Î¥Þ¡¼¥¯ */ BYTE englishtype; /* ±Ñ¸ì¥¿¥¤¥×(°Ê²¼¤ò¸«¤è) */ } yomiContextRec, *yomiContext; /* for generalFlags */ #define CANNA_YOMI_MODE_SAVED 0x01L /* savedFlags ¤Ë¤·¤«»È¤ï¤ì¤Ê¤¤ */ #define CANNA_YOMI_BREAK_ROMAN 0x01L #define CANNA_YOMI_CHIKUJI_MODE 0x02L #define CANNA_YOMI_CHGMODE_INHIBITTED 0x04L #define CANNA_YOMI_END_IF_KAKUTEI 0x08L #define CANNA_YOMI_DELETE_DONT_QUIT 0x10L #define CANNA_YOMI_IGNORE_USERSYMBOLS 0x20L #define CANNA_YOMI_IGNORE_HENKANKEY 0x40L #define CANNA_YOMI_BASE_CHIKUJI 0x80L /* ¿´¤ÏÃ༡ */ /* for generalFlags also used in savedFlags */ /* °Ê²¼¤Î ATTRFUNCS ¤Ë¥Þ¥¹¥¯¤µ¤ì¤ë¥Ó¥Ã¥È¤Ï defmode ¤Î°À­¤È¤·¤Æ»È¤ï¤ì¤ë */ #define CANNA_YOMI_KAKUTEI 0x0100L #define CANNA_YOMI_HENKAN 0x0200L #define CANNA_YOMI_ZENKAKU 0x0400L #define CANNA_YOMI_HANKAKU 0x0800L /* ¼ÂºÝ¤ËȾ³Ñ */ #define CANNA_YOMI_HIRAGANA 0x1000L #define CANNA_YOMI_KATAKANA 0x2000L #define CANNA_YOMI_ROMAJI 0x4000L #define CANNA_YOMI_JISHUFUNCS 0x7c00L #define CANNA_YOMI_ATTRFUNCS 0x7f00L #define CANNA_YOMI_BASE_HANKAKU 0x8000L /* ¿´¤ÏȾ³Ñ */ /* kind of allowed input keys */ #define CANNA_YOMI_INHIBIT_NONE 0 #define CANNA_YOMI_INHIBIT_HENKAN 1 #define CANNA_YOMI_INHIBIT_JISHU 2 #define CANNA_YOMI_INHIBIT_ASHEX 4 #define CANNA_YOMI_INHIBIT_ASBUSHU 8 #define CANNA_YOMI_INHIBIT_ALL 15 /* ¸õÊä°ìÍ÷¤Î¤¿¤á¤Î¥Õ¥é¥° */ #define NUMBERING 1 #define CHARINSERT 2 #define CANNA_JISHU_UPPER 1 #define CANNA_JISHU_LOWER 2 #define CANNA_JISHU_CAPITALIZE 3 #define CANNA_JISHU_MAX_CASE 4 /* englishtype */ #define CANNA_ENG_KANA 0 /* ½Ì¾®¤¹¤ë¤³¤È */ #define CANNA_ENG_ENG1 1 #define CANNA_ENG_ENG2 2 /* ξü¤Ë¶õÇò¤¬Æþ¤Ã¤Æ¤¤¤ë */ #define CANNA_ENG_NO 3 /* yc->status ¤Î¥Õ¥é¥°(Ã༡ÍÑ) */ #define CHIKUJI_ON_BUNSETSU 0x0001 /* ʸÀá¾å¤Ë¤¢¤ë */ #define CHIKUJI_OVERWRAP 0x0002 /* ʸÀᤫ¤ÄÆÉ¤ß¾õÂÖ¡© */ #define CHIKUJI_NULL_STATUS 0 /* ¾å¤Î¤ò¾Ã¤¹ÍÑ */ /* yc ¤ò»È¤¦¥â¡¼¥É¤Î¶èÊÌ(Í¥Àè½ç) */ #define adjustp(yc) (0< (yc)->bunlen) #define jishup(yc) (0 < (yc)->jishu_kEndp) #define chikujip(yc) ((yc)->generalFlags & CANNA_YOMI_CHIKUJI_MODE) #define henkanp(yc) (0 < (yc)->nbunsetsu) #define chikujiyomiremain(yc) ((yc)->cStartp < (yc)->kEndp) typedef struct _ichiranContextRec { BYTE id; BYTE majorMode, minorMode; struct _kanjiMode *prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; int svIkouho; /* ¥«¥ì¥ó¥È¸õÊä¤ò°ì»þ¤È¤Ã¤Æ¤ª¤¯(°ìÍ÷ɽ¼¨¹Ô) */ int *curIkouho; /* ¥«¥ì¥ó¥È¸õÊä */ int nIkouho; /* ¸õÊä¤Î¿ô(°ìÍ÷ɽ¼¨¹Ô) */ int tooSmall; /* ¥«¥é¥à¿ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤¤è¥Õ¥é¥° */ int curIchar; /* ̤³ÎÄêʸ»úÎ󤢤ê¤Îñ¸ìÅÐÏ¿¤Îñ¸ìÆþÎϤΠÀèÆ¬Ê¸»ú¤Î°ÌÃÖ */ BYTE inhibit; BYTE flags; /* ²¼¤ò¸«¤Æ¤Í */ wchar_t **allkouho; /* RkGetKanjiList¤ÇÆÀ¤é¤ì¤ëʸ»úÎó¤òÇÛÎó¤Ë¤·¤Æ ¤È¤Ã¤Æ¤ª¤¯¤È¤³¤í */ wchar_t *glinebufp; /* ¸õÊä°ìÍ÷¤Î¤¢¤ë°ì¹Ô¤òɽ¼¨¤¹¤ë¤¿¤á¤Îʸ»ú Îó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ kouhoinfo *kouhoifp; /* ¸õÊä°ìÍ÷´Ø·¸¤Î¾ðÊó¤ò³ÊǼ¤·¤Æ¤ª¤¯¹½Â¤ÂÎ ¤Ø¤Î¥Ý¥¤¥ó¥¿ */ glineinfo *glineifp; /* ¸õÊä°ìÍ÷´Ø·¸¤Î¾ðÊó¤ò³ÊǼ¤·¤Æ¤ª¤¯¹½Â¤ÂÎ ¤Ø¤Î¥Ý¥¤¥ó¥¿ */ } ichiranContextRec, *ichiranContext; /* ¥Õ¥é¥°¤Î°ÕÌ£ */ #define ICHIRAN_ALLOW_CALLBACK 1 /* ¥³¡¼¥ë¥Ð¥Ã¥¯¤ò¤·¤Æ¤âÎɤ¤ */ #define ICHIRAN_STAY_LONG 0x02 /* Áª¤Ö¤ÈÈ´¤±¤ë */ #define ICHIRAN_NEXT_EXIT 0x04 /* ¼¡¤Î quit ¤ÇÈ´¤±¤ë */ typedef struct _foirchiranContextRec { BYTE id; BYTE majorMode, minorMode; struct _kanjiMode *prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; int curIkouho; /* ¥«¥ì¥ó¥È¸õÊä */ wchar_t **allkouho; /* RkGetKanjiList¤ÇÆÀ¤é¤ì¤ëʸ»úÎó¤òÇÛÎó¤Ë¤·¤Æ ¤È¤Ã¤Æ¤ª¤¯¤È¤³¤í */ menustruct *table; /* ʸ»úÎó¤È´Ø¿ô¤Î¥Æ¡¼¥Ö¥ë */ int *prevcurp; /* Á°¤Î¥«¥ì¥ó¥È¸õÊä */ } forichiranContextRec, *forichiranContext; typedef struct _mountContextRec { BYTE id; BYTE majorMode, minorMode; struct _kanjiMode *prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; BYTE *mountOldStatus; /* ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤«¤¤¤Ê¤¤¤« */ BYTE *mountNewStatus; /* ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤«¤¤¤Ê¤¤¤« */ char **mountList; /* ¥Þ¥¦¥ó¥È²Äǽ¤Ê¼­½ñ¤Î°ìÍ÷ */ int curIkouho; /* ¥«¥ì¥ó¥È¸õÊä */ } mountContextRec, *mountContext; typedef struct _tourokuContextRec { BYTE id; BYTE majorMode, minorMode; struct _kanjiMode *prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; wchar_t genbuf[ROMEBUFSIZE]; wchar_t qbuf[ROMEBUFSIZE]; wchar_t tango_buffer[ROMEBUFSIZE]; int tango_len; /* ñ¸ìÅÐÏ¿¤Îñ¸ì¤Îʸ»úÎó¤ÎŤµ */ wchar_t yomi_buffer[ROMEBUFSIZE]; int yomi_len; /* ñ¸ìÅÐÏ¿¤ÎÆÉ¤ß¤Îʸ»úÎó¤ÎŤµ */ int curHinshi; /* ÉÊ»ì¤ÎÁªÂò */ int workDic; /* ºî¶ÈÍѤμ­½ñ */ deldicinfo *workDic2; /* ñ¸ìºï½ü²Äǽ¤Ê¼­½ñ */ int nworkDic2; /* ñ¸ìºï½ü²Äǽ¤Ê¼­½ñ¤Î¿ô */ deldicinfo *workDic3; /* ñ¸ìºï½ü¤¹¤ë¼­½ñ */ int nworkDic3; /* ñ¸ìºï½ü¤¹¤ë¼­½ñ¤Î¿ô */ struct dicname *newDic; /* Äɲ乤뼭½ñ */ wchar_t hcode[INDPHLENGTH]; /* ñ¸ìÅÐÏ¿¤ÎÉÊ»ì */ int katsuyou; /* ñ¸ìÅÐÏ¿¤Îư»ì¤Î³èÍÑ·Á */ wchar_t **udic; /* ñ¸ìÅÐÏ¿¤Ç¤­¤ë¼­½ñ (¼­½ñ̾) */ int nudic; /* ñ¸ìÅÐÏ¿¤Ç¤­¤ë¼­½ñ¤Î¿ô */ int delContext; /* ñ¸ìºï½ü¤Ç£±¤Ä¤Î¼­½ñ¤ò¥Þ¥¦¥ó¥È¤¹¤ë */ } tourokuContextRec, *tourokuContext; typedef struct _tanContextRec { BYTE id; BYTE majorMode, minorMode; struct _kanjiMode *prevMode; /* £±¤ÄÁ°¤Î¥â¡¼¥É */ mode_context next; struct _kanjiMode *curMode; struct _tanContextRec *left, *right; struct RkRxDic *romdic; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ BYTE myMinorMode; /* yomiContext ¸ÇÍ­¤Î¥Þ¥¤¥Ê¥â¡¼¥É */ struct _kanjiMode *myEmptyMode; /* empty ¥â¡¼¥É¤Ï¤É¤ì¤« */ long generalFlags, savedFlags; /* yomiContext ¤Î¥³¥Ô¡¼ */ BYTE savedMinorMode; /* ¥Þ¥¤¥Ê¥â¡¼¥É¤Î¥»¡¼¥Ö */ BYTE allowedChars; /* see jrkanji.h */ BYTE henkanInhibition; /* see below */ wchar_t *kanji, *yomi, *roma; BYTE *kAttr, *rAttr; } tanContextRec, *tanContext; struct moreTodo { BYTE todo; /* ¤â¤Ã¤È¤¢¤ë¤Î¡©¤ò¼¨¤¹ */ BYTE fnum; /* ´Ø¿ôÈֹ档£°¤Ê¤é¼¡¤Îʸ»ú¤Ç¼¨¤µ¤ì¤ë¤³¤È¤ò¤¹¤ë */ int ch; /* ʸ»ú */ }; /* ¥â¡¼¥É̾¤ò³ÊǼ¤¹¤ë¥Ç¡¼¥¿¤Î·¿ÄêµÁ */ struct ModeNameRecs { int alloc; wchar_t *name; }; /* °ìÍ÷¤ÎÈÖ¹æ¤Î¥»¥Ñ¥ì¡¼¥¿¡¼¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÄêµÁ */ #define DEFAULTINDEXSEPARATOR '.' /* wcKanjiAttribute for internal use */ typedef struct { wcKanjiAttribute u; int len; char *sp, *ep; } wcKanjiAttributeInternal; /* uiContext ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¡¢¥«¥Ê´Á»úÊÑ´¹¤Ë»È¤ï¤ì¤ë¹½Â¤ÂΤǤ¢¤ë¡£ XLookupKanjiString ¤Ê¤É¤Ë¤è¤ëÊÑ´¹¤Ï¡¢¥¦¥£¥ó¥É¥¦¤ËʬΥ¤µ¤ì¤¿Ê£¿ô¤ÎÆþ Îϥݡ¼¥È¤ËÂбþ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢ÆþÎÏÃæ¤Î¥í¡¼¥Þ»ú¤Î¾ðÊó¤ä¡¢¥«¥Ê´Á»úÊÑ´¹ ¤ÎÍͻҤʤɤò¤½¤ì¤¾¤ì¤Î¥¦¥£¥ó¥É¥¦Ëè¤ËʬΥ¤·¤ÆÊÝ»ý¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê ¤é¤Ê¤¤¡£¤³¤Î¹½Â¤ÂΤϤ½¤Î¤¿¤á¤Ë»È¤ï¤ì¤ë¹½Â¤ÂΤǤ¢¤ë¡£ ¹½Â¤ÂΤΥá¥ó¥Ð¤¬¤É¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ë¤«¤Ï¡¢ÄêµÁ¤ò»²¾È¤¹¤ë¤³¤È */ typedef struct _uiContext { /* XLookupKanjiString¤Î¥Ñ¥é¥á¥¿ */ wchar_t *buffer_return; int n_buffer; wcKanjiStatus *kanji_status_return; /* XLookupKanjiString¤ÎÌá¤êÃͤǤ¢¤ëʸ»úÎó¤ÎŤµ */ int nbytes; /* ¥­¥ã¥é¥¯¥¿ */ int ch; /* ¥»¥ß¥°¥í¡¼¥Ð¥ë¥Ç¡¼¥¿ */ int contextCache; /* ÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¥­¥ã¥Ã¥·¥å */ struct _kanjiMode *current_mode; BYTE majorMode, minorMode; /* ľÁ°¤Î¤â¤Î */ short curkigo; /* ¥«¥ì¥ó¥Èµ­¹æ(µ­¹æÁ´ÈÌ) */ char currussia; /* ¥«¥ì¥ó¥Èµ­¹æ(¥í¥·¥¢Ê¸»ú) */ char curgreek; /* ¥«¥ì¥ó¥Èµ­¹æ(¥®¥ê¥·¥ãʸ»ú) */ char curkeisen; /* ¥«¥ì¥ó¥Èµ­¹æ(·ÓÀþ) */ short curbushu; /* ¥«¥ì¥ó¥ÈÉô¼ó̾ */ int ncolumns; /* °ì¹Ô¤Î¥³¥é¥à¿ô¡¢¸õÊä°ìÍ÷¤Î»þ¤ËÍѤ¤¤é¤ì¤ë */ wchar_t genbuf[ROMEBUFSIZE]; /* ÈÆÍѥХåե¡ */ short strokecounter; /* ¥­¡¼¥¹¥È¥í¡¼¥¯¤Î¥«¥¦¥ó¥¿ ¥í¡¼¥Þ»ú¥â¡¼¥É¤Ç¥¯¥ê¥¢¤µ¤ì¤ë */ wcKanjiAttributeInternal *attr; /* ¥ê¥¹¥È¥³¡¼¥ë¥Ð¥Ã¥¯´ØÏ¢ */ char *client_data; /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍѥǡ¼¥¿ */ int (*list_func) pro((char *, int, wchar_t **, int, int *)); jrEUCListCallbackStruct elistcb; /* EUC¤Î¾ì¹ç¤Î¼ÂÂÎ(µìwc¤â·óÍÑ) */ /* ¥ê¥¹¥È¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô */ /* ¤½¤Î¾ */ char flags; /* ²¼¤ò¸«¤Æ¤Í */ char status; /* ¤É¤Î¤è¤¦¤Ê¾õÂÖ¤ÇÊ֤俤Τ«¤ò¼¨¤¹ÃÍ ¤½¤Î¥â¡¼¥É¤È¤·¤Æ¡¢ ¡¦½èÍýÃæ ¡¦½èÍý½ªÎ» ¡¦½èÍýÃæÃÇ ¡¦¤½¤Î¾ ¤¬¤¢¤ë¡£(²¼¤ò¸«¤è) */ /* ¥³¡¼¥ë¥Ð¥Ã¥¯¥Á¥§¡¼¥ó */ struct callback *cb; /* ¤â¤Ã¤È¤¹¤ë¤³¤È¤¬¤¢¤ë¤è¤È¤¤¤¦¹½Â¤ÂÎ */ struct moreTodo more; /* ¥¯¥¤¥Ã¥È¥Á¥§¡¼¥ó */ menustruct *prevMenu; /* ³Æ¥á¥Ë¥å¡¼¤ÇÁª¤Ð¤ì¤¿ÈÖ¹æ¤òµ­Ï¿¤·¤Æ¤ª¤¯¹½Â¤ÂΤؤΥݥ¤¥ó¥¿ */ menuinfo *minfo; /* ³Æ°ìÍ÷¤ÇÁª¤Ð¤ì¤¿ÈÖ¹æ¤òµ­Ï¿¤·¤Æ¤ª¤¯¹½Â¤ÂΤؤΥݥ¤¥ó¥¿ */ selectinfo *selinfo; /* ¥µ¥Ö¥³¥ó¥Æ¥¯¥¹¥È¤Ø¤Î¥ê¥ó¥¯ */ mode_context modec; /* Á´Éô¤³¤³¤Ë¤Ä¤Ê¤°Í½Äê */ } uiContextRec, *uiContext; /* uiContext ¤Î flags ¤Î¥Ó¥Ã¥È¤Î°ÕÌ£ */ #define PLEASE_CLEAR_GLINE 1 /* GLine ¤ò¾Ã¤·¤Æ¤Í */ #define PCG_RECOGNIZED 2 /* GLine ¤ò¼¡¤Ï¾Ã¤·¤Þ¤¹¤è */ #define MULTI_SEQUENCE_EXECUTED 4 /* ¤µ¤Ã¤­¥Þ¥ë¥Á¥·¡¼¥±¥ó¥¹¤¬¹Ô¤ï¤ì¤¿ */ #define EVERYTIME_CALLBACK 0 #define EXIT_CALLBACK 1 #define QUIT_CALLBACK 2 #define AUX_CALLBACK 3 /* * ¥«¥Ê´Á»úÊÑ´¹¤Î¤¿¤á¤ÎÍÍ¡¹¤Ê¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë * ¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë¤Ï½èÍý´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ÎÇÛÎó¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ */ struct funccfunc { BYTE funcid; int (*cfunc) pro((struct _uiContext *)); }; typedef struct _kanjiMode { int (*func) pro((struct _uiContext *, struct _kanjiMode *, int, int, int)); BYTE *keytbl; int flags; /* ²¼¤ò¸«¤è */ struct funccfunc *ftbl; } *KanjiMode, KanjiModeRec; struct callback { int (*func[NCALLBACK]) pro((struct _uiContext *, int, mode_context)); mode_context env; struct callback *next; }; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ extern struct RkRxDic *romajidic; extern struct RkRxDic *RkwOpenRoma pro((char *)); /* * ¼­½ñ¤Î̾Á°¤òÆþ¤ì¤Æ¤ª¤¯ÊÑ¿ô */ struct dicname { struct dicname *next; char *name; int dictype; unsigned long dicflag; }; /* dictype ¤Ë¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤¬Æþ¤ë */ #define DIC_PLAIN 0 /* Ä̾ï¤ÎÍøÍÑ */ #define DIC_USER 1 /* ñ¸ìÅÐÏ¿ÍѼ­½ñ */ #define DIC_BUSHU 2 /* Éô¼óÊÑ´¹ÍѼ­½ñ */ #define DIC_GRAMMAR 3 /* ʸˡ¼­½ñ */ #define DIC_RENGO 4 /* Ï¢¸ì³Ø½¬¼­½ñ */ #define DIC_KATAKANA 5 /* ¥«¥¿¥«¥Ê³Ø½¬¼­½ñ */ #define DIC_HIRAGANA 6 /* ¤Ò¤é¤¬¤Ê³Ø½¬¼­½ñ */ /* dicflag ¤Ë¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤¬Æþ¤ë */ #define DIC_NOT_MOUNTED 0 #define DIC_MOUNTED 1 #define DIC_MOUNT_FAILED 2 extern struct dicname *kanjidicnames; /* * ¥¨¥é¡¼¤Î¥á¥Ã¥»¡¼¥¸¤òÆþ¤ì¤Æ¤ª¤¯ÊÑ¿ô */ extern char *jrKanjiError; /* * ¥Ç¥Ð¥°Ê¸¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥° */ extern iroha_debug; /* * ¥­¡¼¥·¡¼¥±¥ó¥¹¤òȯÀ¸¤¹¤ë¤è¤¦¤Ê¥­¡¼ */ #define IrohaFunctionKey(key) \ ((0x80 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0x8b) || \ (0x90 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0x9b) || \ (0xe0 <= (int)(unsigned char)(key) && \ (int)(unsigned char)(key) <= 0xff) ) /* selectOne ¤Ç¥³¡¼¥ë¥Ð¥Ã¥¯¤òȼ¤¦¤«¤É¤¦¤«¤òɽ¤¹¥Þ¥¯¥í */ #define WITHOUT_LIST_CALLBACK 0 #define WITH_LIST_CALLBACK 1 /* * Rk ´Ø¿ô¤ò¥È¥ì¡¼¥¹¤¹¤ë¤¿¤á¤Î̾Á°¤Î½ñ¤­´¹¤¨¡£ */ #ifdef DEBUG #include "traceRK.h" #endif /* DEBUG */ /* * ¥Ç¥Ð¥°¥á¥Ã¥»¡¼¥¸½ÐÎÏÍѤΥޥ¯¥í */ #ifdef DEBUG #define debug_message(fmt, x, y, z) dbg_msg(fmt, x, y, z) #else /* !DEBUG */ #define debug_message(fmt, x, y, z) #endif /* !DEBUG */ /* * malloc ¤Î¥Ç¥Ð¥° */ #ifdef DEBUG_ALLOC extern char *debug_malloc pro((int)); extern int fail_malloc; #define malloc(n) debug_malloc(n) #endif /* DEBUG_MALLOC */ /* * ¿·¤·¤¤¥â¡¼¥É¤òÄêµÁ¤¹¤ë¹½Â¤ÂÎ */ typedef struct { char *romaji_table; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë̾(EUC) */ struct RkRxDic *romdic; /* ¥í¡¼¥Þ»ú¼­½ñ¹½Â¤ÂÎ */ int romdic_owner; /* ¥í¡¼¥Þ»ú¼­½ñ¤ò¼«Ê¬¤ÇOpen¤·¤¿¤« */ long flags; /* flags for yomiContext->generalFlags */ KanjiMode emode; /* current_mode ¤ËÆþ¤ë¹½Â¤ÂÎ */ } newmode; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÊä­¤¹¤ë¥­¡¼¤Èʸ»ú¤ÎÊÑ´¹¥Æ¡¼¥Ö¥ë */ typedef struct { wchar_t key; /* ¥­¡¼ */ wchar_t xkey; int groupid; /* ¥°¥ë¡¼¥×id */ int ncand; /* ¸õÊä¤Î¿ô */ wchar_t **cand; /* ¸õÊä¤ÎÇÛÎó */ wchar_t *fullword; /* ¸õÊäÎó (¸õÊä1@¸õÊä2@...¸õÊän@@) */ #ifdef WIN_CANLISP int fullwordsize; /* sizeof fullword by wchar_t unit */ #endif } keySupplement; #define MAX_KEY_SUP 64 #define HEX_USUAL 0 #define HEX_IMMEDIATE 1 #define ModeInfoStyleIsString 0 #define ModeInfoStyleIsNumeric 1 #define ModeInfoStyleIsExtendedNumeric 2 #define ModeInfoStyleIsBaseNumeric 3 #define MaxModeInfoStyle ModeInfoStyleIsBaseNumeric #define killmenu(d) ((d)->prevMenu = (menustruct *)0) #define defineEnd(d) killmenu(d) #define deleteEnd(d) killmenu(d) /* defmode¡¢defselection¡¢defmenu ÍѤι½Â¤ÂÎ */ typedef struct _extra_func { int fnum; /* ´Ø¿ôÈÖ¹æ */ int keyword; /* ¿·¤·¤¤¥â¡¼¥É¤¬ÄêµÁ¤µ¤ì¤¿¥­¡¼¥ï¡¼¥É */ wchar_t *display_name; /* ¥â¡¼¥Éɽ¼¨Ì¾ */ union { newmode *modeptr; /* defmode ¤ËÂбþ¤¹¤ë¹½Â¤ÂÎ */ kigoIchiran *kigoptr; /* defselection ¤ËÂбþ¤¹¤ë¹½Â¤ÂÎ */ menustruct *menuptr; /* defmenu ¤ËÂбþ¤¹¤ë¹½Â¤ÂÎ */ } u; #ifdef BINARY_CUSTOM int mid; char *symname; #endif struct _extra_func *next; } extraFunc; #define EXTRA_FUNC_DEFMODE 1 #define EXTRA_FUNC_DEFSELECTION 2 #define EXTRA_FUNC_DEFMENU 3 #define tanbunMode(d, tan) /* tanContext ´ØÏ¢¥â¡¼¥É¤Ø¤Î°Ü¹Ô */ \ { extern KanjiModeRec tankouho_mode; (d)->current_mode = &tankouho_mode; \ (d)->modec = (mode_context)(tan); currentModeInfo(d); } #define freeForIchiranContext(fc) free((char *)fc) #define freeIchiranContext(ic) free((char *)ic) #define freeYomiContext(yc) free((char *)yc) #define freeCoreContext(cc) free((char *)cc) #ifndef DICHOME #define DICHOME "/usr/lib/canna/dic" #endif #define DEFAULT_CANNA_SERVER_NAME "cannaserver" #ifndef _UTIL_FUNCTIONS_DEF_ #define _UTIL_FUNCTIONS_DEF_ /* ¤«¤ó¤Ê¤Î¥Ð¡¼¥¸¥ç¥ó¤òÄ´¤Ù¤ë */ #define canna_version(majv, minv) ((majv) * 1024 + (minv)) /* ¤è¤¯¥¹¥Ú¥ë¥ß¥¹¤¹¤ë¤Î¤Ç¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¤Ò¤Ã¤«¤«¤ë¤è¤¦¤ËÆþ¤ì¤ë */ extern RkwGoto pro((char *, int)); /* storing customize configuration to the following structure. */ struct CannaConfig { /* °Ê²¼¤Î¥³¥á¥ó¥È¤Ï¥À¥¤¥¢¥í¥°¤Ê¤É¤Ëµ­½Ò¤¹¤ë¤È¤­¤Ê¤É¤Ë ÍѤ¤¤ë¸ì×á£! ¤¬ÀèÆ¬¤Ë¤Ä¤¤¤Æ¤¤¤ë¤Î¤Ï¥í¥¸¥Ã¥¯¤¬È¿Å¾ ¤·¤Æ¤¤¤ë¤³¤È¤òɽ¤¹ */ int CannaVersion; /* (¸ß´¹ÍÑ) ¤«¤ó¤Ê¤Î¥Ð¡¼¥¸¥ç¥ó */ int kouho_threshold; /* ÊÑ´¹¥­¡¼¤ò²¿²óÂǤĤȰìÍ÷¤¬½Ð¤ë¤« */ int strokelimit; /* (¸ß´¹ÍÑ) ²¿¥¹¥È¥í¡¼¥¯¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤òÆþ¤ì¤ë¤ÈÀÚÃǤ« */ int indexSeparator; /* (¸ß´¹ÍÑ) °ìÍ÷»þ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥»¥Ñ¥ì¡¼¥¿ */ BYTE ReverseWidely; /* ȿžÎΰè¤ò¹­¤¯¤È¤ë */ BYTE chikuji; /* Ã༡¼«Æ°ÊÑ´¹ */ BYTE Gakushu; /* ³Ø½¬¤¹¤ë¤«¤É¤¦¤« */ BYTE CursorWrap; /* ±¦Ã¼¤Ç±¦¤Çº¸Ã¼¤Ø¹Ô¤¯ */ BYTE SelectDirect; /* °ìÍ÷»þ¡¢ÁªÂò¤Ç°ìÍ÷¤òÈ´¤±¤ë */ BYTE HexkeySelect; /* (¸ß´¹ÍÑ) 16¿Ê¿ô»ú¤Ç¤â°ìÍ÷ÁªÂò²Ä */ BYTE BunsetsuKugiri; /* ÊÑ´¹»þʸÀá´Ö¤Ë¶õÇò¤òÁÞÆþ */ BYTE ChBasedMove; /* !¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹Ã±°Ì¤Î¥«¡¼¥½¥ë°Üư */ BYTE ReverseWord; /* (¸ß´¹ÍÑ) °ìÍ÷¤Ç¸ì¤òȿž¤¹¤ë */ BYTE QuitIchiranIfEnd; /* °ìÍ÷ËöÈø¤Ç°ìÍ÷¤òÊĤ¸¤ë */ BYTE kakuteiIfEndOfBunsetsu; /* ʸÀáËöÈø¤Ç±¦°Üư¤Ç³ÎÄꤹ¤ë */ BYTE stayAfterValidate; /* !°ìÍ÷¤ÇÁªÂò¸å¼¡¤ÎʸÀá¤Ø°Üư */ BYTE BreakIntoRoman; /* BS¥­¡¼¤Ç¥í¡¼¥Þ»ú¤ØÌ᤹ */ BYTE grammaticalQuestion; /* (¸ß´¹ÍÑ) ñ¸ìÅÐÏ¿»þʸˡŪ¼ÁÌä¤ò¤¹¤ë */ BYTE forceKana; /* Isn't this used? */ BYTE kCount; /* (¸ß´¹ÍÑ) ¸õÊ䤬²¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë */ BYTE LearnNumericalType; /* Isn't this used? */ BYTE BackspaceBehavesAsQuit; /* Ã༡¼«Æ°ÊÑ´¹»þ BS ¥­¡¼¤ÇÁ´ÂΤòÆÉ¤ß¤ËÌ᤹ */ BYTE iListCB; /* (¸ß´¹ÍÑ) ¥ê¥¹¥È¥³¡¼¥ë¥Ð¥Ã¥¯¤ò¶Ø»ß¤¹¤ë */ BYTE keepCursorPosition; /* !ÊÑ´¹»þ¤ËBSÂǸ°»þ¥«¡¼¥½¥ë°ÌÃÖ¤òËöÈø¤Ë°Üư */ BYTE abandonIllegalPhono; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ë»È¤ï¤ì¤Ê¤¤¥­¡¼¤ò¼Î¤Æ¤ë */ BYTE hexCharacterDefiningStyle; /* Isn't this used? */ BYTE kojin; /* ¸Ä¿Í³Ø½¬ */ BYTE indexHankaku; /* (¸ß´¹ÍÑ) °ìÍ÷»þ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤òȾ³Ñ¤Ë¤¹¤ë */ BYTE allowNextInput; /* ¸õÊä°ìÍ÷ɽ¼¨»þ¡¢¼¡¤ÎÆþÎϤ¬²Äǽ¤Ë¤¹¤ë */ BYTE doKatakanaGakushu; /* Isn't this used? */ BYTE doHiraganaGakushu; /* Isn't this used? */ BYTE ChikujiContinue; /* Ã༡¼«Æ°ÊÑ´¹»þ¼¡¤ÎÆþÎϤǴûÊÑ´¹Éôʬ¤ò³ÎÄꤷ¤Ê¤¤ */ BYTE RenbunContinue; /* ϢʸÀáÊÑ´¹»þ¼¡¤ÎÆþÎϤǴûÊÑ´¹Éôʬ¤ò³ÎÄꤷ¤Ê¤¤ */ BYTE MojishuContinue; /* »ú¼ïÊÑ´¹»þ¼¡¤ÎÆþÎϤǴûÊÑ´¹Éôʬ¤ò³ÎÄꤷ¤Ê¤¤ */ BYTE chikujiRealBackspace; /* Ã༡¼«Æ°ÊÑ´¹»þBS¤Çɬ¤º°ìʸ»ú¾Ãµî¤¹¤ë */ BYTE ignore_case; /* Âçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤ */ BYTE romaji_yuusen; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÍ¥À褹¤ë */ BYTE auto_sync; /* Äê´üŪ¤Ë¼­½ñ¤ò½ñ¤­Ì᤹ */ BYTE quickly_escape; /* (¸ß´¹ÍÑ) °ìÍ÷ɽ¼¨»þ¡¢ÁªÂò¤Ç¨ºÂ¤Ë°ìÍ÷¤òÈ´¤±¤ë */ BYTE InhibitHankakuKana; /* Ⱦ³Ñ¥«¥¿¥«¥Ê¤Î¶Ø»ß */ BYTE code_input; /* ¥³¡¼¥É(0: jis, 1: sjis, 2: ¶èÅÀ) */ BYTE DelayConnect; /* ½é´ü²½»þ¤Ë¤¹¤°¤Ë¥µ¡¼¥Ð¤ËÀܳ¤·¤Ê¤¤ */ }; #define CANNA_CODE_JIS 0 #define CANNA_CODE_SJIS 1 #define CANNA_CODE_KUTEN 2 #define CANNA_MAX_CODE 3 extern struct CannaConfig cannaconf; extern void InitCannaConfig pro((struct CannaConfig *)); typedef int (* canna_callback_t) pro((uiContext, int, mode_context)); extern void makeGLineMessage pro((uiContext, wchar_t *, int)); extern void makeGLineMessageFromStrings pro((uiContext, char *)); extern newmode *findExtraKanjiMode pro((int)); extern setWStrings pro((wchar_t **, char **, int)); extern WStrlen pro((wchar_t *)); extern wchar_t *WStrcat pro((wchar_t *, wchar_t *)); extern wchar_t *WStrcpy pro((wchar_t *, wchar_t *)); extern wchar_t *WStrncpy pro((wchar_t *, wchar_t *, int)); extern WStrncmp pro((wchar_t *, wchar_t *, int)); extern wchar_t *WString pro((char *)); #ifndef NO_EXTEND_MENU extern prevMenuIfExist pro((uiContext)); extern showmenu pro((uiContext, menustruct *)); #endif extern yomiContext newYomiContext pro((wchar_t *, int, int, int, int, int)), GetKanjiString pro((uiContext, wchar_t *, int, int, int, int, int, canna_callback_t, canna_callback_t, canna_callback_t)); extern void restoreFlags pro((yomiContext)); extern void kPos2rPos pro((yomiContext, int, int, int *, int *)); extern void makeKanjiStatusReturn pro((uiContext, yomiContext)); extern wchar_t key2wchar pro((int, int *)); extern struct bukRec *internContext pro((unsigned int, unsigned int, uiContext)); extern void freeRomeStruct pro((uiContext)); extern void rmContext pro((unsigned int, unsigned int)); extern struct callback *pushCallback pro((uiContext, mode_context, canna_callback_t, canna_callback_t, canna_callback_t, canna_callback_t)); extern void popCallback pro((uiContext)); extern void makeYomiReturnStruct pro((uiContext)); extern void moveToChikujiTanMode pro((uiContext)); extern void moveToChikujiYomiMode pro((uiContext)); extern void makeGLineMessageFromString pro((uiContext, char *)); extern void addWarningMesg pro((char *)); extern int prepareHenkanMode pro((uiContext)); extern void makeAllContextToBeClosed pro((int)); extern void CannaBeep pro((void)); #ifndef NO_EXTEND_MENU extern void freeAllMenuInfo pro((menuinfo *)); extern void freeMenu pro((menustruct *)); #endif extern void restoreDefaultKeymaps pro((void)); #ifndef NO_EXTEND_MENU extern void finExtMenu pro((void)); #endif extern void freeIchiranBuf pro((ichiranContext)); extern exp(char *) RkwGetServerName pro((void)); extern void popForIchiranMode pro((uiContext)); extern void clisp_main pro((void)); extern void clisp_fin pro((void)); extern void popYomiMode pro((uiContext)); extern void freeTanContext pro((tanContext)); extern void enterJishuMode pro((uiContext, yomiContext)); extern void leaveJishuMode pro((uiContext, yomiContext)); extern void finishTanKakutei pro((uiContext)); extern void removeKana pro((uiContext, yomiContext, int, int)); extern void clearHenkanContext pro((yomiContext)); extern void doMuhenkan pro((uiContext, yomiContext)); extern void removeCurrentBunsetsu pro((uiContext, tanContext)); extern int uiUtilIchiranTooSmall pro((uiContext, int, mode_context)); extern int dicTourokuHinshiDelivery pro((uiContext)); extern int uuTTangoQuitCatch pro((uiContext, int, mode_context)); extern void freeAndPopTouroku pro((uiContext)); extern void popMountMode pro((uiContext)); extern void freeDic pro((tourokuContext)); /* for VC++ 4.0, by kon */ extern int doFunc pro((uiContext, int)); extern int _doFunc pro((uiContext, int)); extern int _afterDoFunc pro((uiContext, int)); extern int alphaMode pro((uiContext)); extern void jrKanjiPipeError pro((void)); extern int NoMoreMemory pro((void)); extern int WCinit pro((void)); extern int WStringOpen pro((void)); extern void WStringClose pro((void)); extern int WStrcmp pro((wchar_t *, wchar_t *)); extern int WSfree pro((wchar_t *)); extern void initModeNames pro((void)); extern int initKeyTables pro((void)); #ifdef BINARY_CUSTOM extern int binparse pro((void)); #else extern void parse pro((void)); #endif extern int initIchiran pro((void)); extern int RomkanaInit pro((void)); extern void RomkanaFin pro((void)); extern int KanjiInit pro((void)); extern int KanjiFin pro((void)); extern void resetModeNames pro((void)); extern int escapeToBasicStat pro((uiContext, int)); extern void EmptyBaseModeInfo pro((uiContext, yomiContext)); extern void GlineClear pro((uiContext)); extern void currentModeInfo pro((uiContext)); extern int queryMode pro((uiContext, wchar_t *)); extern int RkSetServerName pro((char *)); extern int parse_string pro((char *)); extern void RomajiStoreYomi pro((uiContext, wchar_t *, wchar_t *)); extern int WWhatGPlain pro((wchar_t)); extern int WIsG0 pro((wchar_t)), WIsG1 pro((wchar_t)); extern int WIsG2 pro((wchar_t)), WIsG3 pro((wchar_t)); extern int XwcKanjiControl2 pro((unsigned int, unsigned int, unsigned int, BYTE *)); extern int XKanjiControl2 pro((unsigned int, unsigned int, unsigned int, BYTE *)); extern int XwcLookupKanji2 pro((unsigned int, unsigned int, wchar_t *, int, int, int, wcKanjiStatus *)); extern int NothingChangedWithBeep pro((uiContext)); extern int searchfunc pro((uiContext, KanjiMode, int, int, int)); extern int initRomeStruct pro((uiContext, int)); /* extern int kanjiControl pro((int, uiContext, caddr_t)); */ extern int getBaseMode pro((yomiContext)); extern int RkwMapPhonogram pro((struct RkRxDic *, wchar_t *, int, wchar_t *, int, wchar_t, int, int *, int *, int *, int *)); extern int RkMapPhonogram pro((struct RkRxDic *, unsigned char *, int, unsigned char *, int, unsigned, int, int *, int *, int *, int *)); extern RkMapRoma pro((struct RkRxDic *, unsigned char *, int, unsigned char *, int, int, int *)); extern int RkCvtRoma pro((struct RkRxDic *, unsigned char *, int, unsigned char *, int, unsigned)); extern int RkwCvtRoma pro((struct RkRxDic *, wchar_t *, int, wchar_t *, int, int)); extern int exitJishu pro((uiContext)); extern RomajiFlushYomi pro((uiContext, wchar_t *, int)); extern void generalReplace pro((wchar_t *, BYTE *, int *, int *, int *, int, wchar_t *, int, int)); extern ChikujiSubstYomi pro((uiContext)); extern TanMuhenkan pro((uiContext)); extern CANNA_mbstowcs pro((wchar_t *, char *, int)); extern CANNA_wcstombs pro((char *, wchar_t *, int)); extern makeRkError pro((uiContext, char *)); extern void moveStrings pro((wchar_t *, BYTE *, int, int, int)); extern TanBackwardBunsetsu pro((uiContext)); extern TbBackward pro((uiContext)); extern NothingChanged pro((uiContext)); extern TbEndOfLine pro((uiContext)); extern TanForwardBunsetsu pro((uiContext)); extern TbForward pro((uiContext)); extern TbBeginningOfLine pro((uiContext)); extern tanMuhenkan pro((uiContext, int)); extern extractTanString pro((tanContext, wchar_t *, wchar_t *)); extern extractTanYomi pro((tanContext, wchar_t *, wchar_t *)); extern extractTanRomaji pro((tanContext, wchar_t *, wchar_t *)); extern leaveAdjustMode pro((uiContext, yomiContext)); extern wchar_t *WStraddbcpy pro((wchar_t *, wchar_t *, int)); extern YomiExit pro((uiContext, int)); extern void clearYomiContext pro((yomiContext)); extern abandonContext pro((uiContext, yomiContext)); extern void RomajiClearYomi pro((uiContext)); extern RkCvtEuc pro((unsigned char *, int, unsigned char *, int)); extern RkCvtNone pro((unsigned char *, int, unsigned char *, int)); extern selectOne pro((uiContext, wchar_t **, int *, int, int, unsigned, int, int, canna_callback_t, canna_callback_t, canna_callback_t,canna_callback_t)); extern void makeGlineStatus pro((uiContext)); extern YomiMark pro((uiContext)); extern doHenkan pro((uiContext, int, wchar_t *)); extern tanKouhoIchiran pro((uiContext, int)); extern EmptyBaseKana pro((uiContext)); extern EmptyBaseKakutei pro((uiContext)); extern EmptyBaseHenkan pro((uiContext)); extern WToupper pro((wchar_t)); extern WTolower pro((wchar_t)); extern TanKakutei pro((uiContext)); extern Yomisearchfunc pro((uiContext, KanjiMode, int, int, int)); extern CNvW2E pro((wchar_t *, int, char *, int)); extern void initKigoTable pro((void)); extern NothingForGLine pro((uiContext)); extern NothingForGLineWithBeep pro((uiContext)); extern void echostrClear pro((uiContext)); extern void freeGetIchiranList pro((wchar_t **)); extern TanKouhoIchiran pro((uiContext)); extern GLineNGReturn pro((uiContext)); extern GLineNGReturnFI pro((uiContext)); extern appendTan2Yomi pro((tanContext, yomiContext)); extern confirmContext pro((uiContext, yomiContext)); extern ChikujiTanDeletePrevious pro((uiContext)); extern YomiKakutei pro((uiContext)); extern YomiInsert pro((uiContext)); extern cutOffLeftSide pro((uiContext, yomiContext, int)); extern enterAdjustMode pro((uiContext, yomiContext)); extern TanNextKouho pro((uiContext)); extern TanPreviousKouho pro((uiContext)); extern TanBeginningOfBunsetsu pro((uiContext)); extern TanEndOfBunsetsu pro((uiContext)); extern TanDeletePrevious pro((uiContext)); extern TanBubunMuhenkan pro((uiContext)); extern xString pro((wchar_t *, int, wchar_t *, wchar_t *)); extern KanaDeletePrevious pro((uiContext)); extern findSup pro((wchar_t)); extern selectKeysup pro((uiContext, yomiContext, int)); extern containUnconvertedKey pro((yomiContext)); extern CYsearchfunc pro((uiContext, KanjiMode, int, int, int)); extern TanBubunKakutei pro((uiContext)); extern TanZenkaku pro((uiContext)); extern TanHankaku pro((uiContext)); extern TanHiragana pro((uiContext)); extern TanKatakana pro((uiContext)); extern TanRomaji pro((uiContext)); extern TanUpper pro((uiContext)); extern TanCapitalize pro((uiContext)); extern TanPrintBunpou pro((uiContext)); extern TanNop pro((uiContext)); extern YomiQuotedInsert pro((uiContext)); extern AlphaMode pro((uiContext)); extern HenkanNyuryokuMode pro((uiContext)); extern KigoIchiran pro((uiContext)); extern UiUtilMode pro((uiContext)); extern EmptyBaseHira pro((uiContext)); extern EmptyBaseKata pro((uiContext)); extern EmptyBaseEisu pro((uiContext)); extern EmptyBaseZen pro((uiContext)); extern EmptyBaseHan pro((uiContext)); extern YomiBaseHiraKataToggle pro((uiContext)); extern YomiBaseZenHanToggle pro((uiContext)); extern YomiBaseKanaEisuToggle pro((uiContext)); extern YomiBaseKakuteiHenkanToggle pro((uiContext)); extern YomiBaseRotateForw pro((uiContext)); extern YomiBaseRotateBack pro((uiContext)); extern DoFuncSequence pro((uiContext)); extern YomiModeBackup pro((uiContext)); extern UseOtherKeymap pro((uiContext)); extern JapaneseMode pro((uiContext)); extern void ichiranFin pro((uiContext)); extern IchiranForwardKouho pro((uiContext)); extern IchiranBackwardKouho pro((uiContext)); extern IchiranNextKouhoretsu pro((uiContext)); extern IchiranPreviousKouhoretsu pro((uiContext)); extern IchiranBeginningOfKouho pro((uiContext)); extern IchiranEndOfKouho pro((uiContext)); extern IchiranQuit pro((uiContext)); extern IchiranNop pro((uiContext)); extern RkwCvtNone pro((wchar_t *, int, wchar_t *, int)); extern RkwSetAppName pro((int, char *)); extern void close_engine pro((void)); extern char *KanjiInitError pro((void)); extern void prepare_autodic pro((void)); extern int doKakutei pro((uiContext, tanContext, tanContext, wchar_t *, wchar_t *, yomiContext *)); extern int EUCListCallback pro((char *, int, wchar_t **, int, int *)); #if SUPPORT_OLD_WCHAR extern int owcListCallback pro((char *, int, wchar_t **, int, int *)); #endif #endif /* _UTIL_FUNCTIONS_DEF_ */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #endif /* !_CANNA_H_ */ Canna37p3/lib/canna/cannalib.jmn0100644000076500001200000001422507554213604015762 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cannalib.jmn,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $ NEC; .if t .pn 575 .TH CANNALIB 3 "4 April 1991" .SH "̾Á°" CannaLib intro \- ¤«¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê¥¤¥ó¥È¥í .SH "ÀâÌÀ" .PP ¡Ø¤«¤ó¤Ê¡Ù¤Ç¤Ï¼¡¤Î£³³¬ÁؤΥ饤¥Ö¥é¥ê¤òÄ󶡤·¤Þ¤¹¡¥ .IP "¡¦" 3 ¹â¥ì¥Ù¥ë¥é¥¤¥Ö¥é¥ê .RS .PP ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤é¤Ï¤«¤Ê´Á»úÊÑ´¹¤òÁ´¤¯°Õ¼±¤·¤Ê¤¤¤ÇÍøÍѤǤ­ ¸õÊä°ìÍ÷ɽ¼¨¤ò´Þ¤à¸õÊäÁªÂò¤Î½èÍý¤Ê¤É¤Ï¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¦¤Ç¹Ô¤ï¤ì¡¤ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¦¤Ø¤Ï³ÎÄꤵ¤ì¤¿Ê¸»úÎó¤À¤±¤¬ÅϤµ¤ì¤Þ¤¹¡¥TTY¤Ç¤ÎÆþÎÏ¤Ë ¤ª¤¤¤Æ¤«¤Ê´Á»úÊÑ´¹¥Õ¥í¥ó¥È¥¨¥ó¥É¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤ÏüËö¤Ç¤ÎÆþÎÏ¤Ë ¤ª¤±¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë¤Îread(cooked mode)¤ä¤½¤ì¤òÍøÍѤ·¤¿scanf¤Ê¤É¤¬¹â¥ì ¥Ù¥ë¥é¥¤¥Ö¥é¥ê¤È¤ß¤Ê¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡¥¤·¤«¤·¡¤¹â¥ì¥Ù¥ë¥é¥¤¥Ö¥é¥ê¥é¥¤¥Ö ¥é¥ê¤òüŪ¤Ëɽ¤¹¤è¤¦¤Ê¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¤Ï£Ø¥¦¥£¥ó¥É¥¦¤Ë¤ª¤±¤ëÆüËܸ쥢¥Æ ¥Ê¥¦¥£¥¸¥§¥Ã¥È¤Î¥Æ¥­¥¹¥È¥¦¥£¥¸¥§¥Ã¥È¤¬¤½¤ì¤ËÅö¤¿¤ë¤Ç¤·¤ç¤¦¡¥ .RE .IP "¡¦" 3 ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê .RS .PP £±Ê¸»ú¤ÎÆþÎÏ¡¤£±¥­¡¼¤ÎÆþÎϤËÂбþ¤·¤Æ¡¤Ì¤³ÎÄêʸ»ú¡¤³ÎÄêʸ»ú¡¤ÃíÌÜʸÀá°Ì ÃÖ¡¤¥¹¥Æ¡¼¥¿¥¹É½¼¨¤Î¤¿¤á¤Îʸ»úÎ󡤸õÊä°ìÍ÷¤Î¤¿¤á¤Îʸ»úÎó¤Ê¤É¤òÊÖ´Ô¤¹¤ë ¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡¥¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤Ë¸«¤é¤ì¤ë¤è¤¦¤Ê¡¤¼­½ñ¤Î¥á¥ó¥Æ¥Ê ¥ó¥¹¤ä¡¤³Ø½¬¤ÎÀ©¸æ¤Ê¤É¤Ë´Ø¤¹¤ëµ¡Ç½¤Ï¡¤¤³¤Î¥ì¥Ù¥ë¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤ÏÄ󶡤· ¤Þ¤»¤ó¡¥ÆüËܸìÆþÎϥ桼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÂç¤Þ¤«¤Ê¥é¥¤¥ó¤Ïµ¬Äꤵ¤ì¤ë¤³¤È ¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¤É½¼¨Éôʬ¤Ë ¼ã´³¤Î¹©Éפò¤¹¤ë;ÃϤϻĤê¤Þ¤¹¡¥TTY¤Ë¤ª¤¤¤Æraw¥â¡¼¥É¤Ç ¥­¡¼¤ò¼èÆÀ¤·¤¿¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¡¤£Ø¥¦¥£¥ó¥É¥¦¤Ë¤ª¤¤¤Æ¡¤¿Þ·Á ¤Èʸ»ú¤òƱ¤¸¥¦¥£¥ó¥É¥¦Æâ¤ÇÆþÎÏ¡¦É½¼¨¤·¤¿¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤³¤Î¥ì¥Ù¥ë ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÍѤ¤¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡¥ .RE .IP "¡¦" 3 ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê .RS .PP ¼­½ñ¤Î¥¢¥¯¥»¥¹¤ä¸õÊä¤ÎÁªÂò¤òľÀÜÀ©¸æ¤·¤¿¤¤»þ¤ËÍѤ¤¤Þ¤¹¡¥¤³¤Î¥ì¥Ù¥ë¤Î¤« ¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¤¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¤ÎÍøÍѳ«»Ï¡¤ÆÉ¤ß¤«¤é´Á»ú ¤Ø¤ÎÊÑ´¹¡¤Ê¸Àá¤ÎÀÚ¤êʬ¤±¤ÎÊѹ¹¡¤¼¡¸õÊä/Á°¸õÊä¤Î¼è¤ê¤À¤·¡¤³Ø½¬¤ÎÀ©¸æ¡¤ ¼­½ñ¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¤Ê¤É¤Î½èÍý¤ËÂФ¹¤ë´Ø¿ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡¥¼­ ½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤Ï¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤ä¹â¥ì¥Ù¥ë¥é¥¤¥Ö¥é ¥ê¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤¹¡¥°ìÈ̤Υ桼¥¶¤Ï¤¢¤Þ¤êÍѤ¤¤Ê¤¤Êý¤¬ÎÉ ¤¤¤Ç¤·¤ç¤¦¡¥ .RE .PP ¡Ø¤«¤ó¤Ê¡Ù¤Ç¤Ï£´¤Ä¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤È£³¤Ä¤Î¥é¥¤¥Ö¥é¥ê¤¬Ä󶡤µ¤ì¤Þ¤¹¡¥¤½ ¤ì¤¾¤ì¤Î³µÍפò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡¥ .IP "¡¦" 3 ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë .RS .IP "X11/Xnw.h" 18 ÆüËܸ쥢¥Æ¥Ê¥¦¥£¥¸¥§¥Ã¥È¤òÍѤ¤¤ë»þ¤Ë»ÈÍѤ¹¤ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥ .IP "X11/kanji.h" 18 £Ø¤ÇÆüËܸì¤ÎÆþ½ÐÎϤò¹Ô¤¦»þ¤Ë»ÈÍѤ¹¤ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥ .IP "canna/jrkanji.h" 18 TTY¥ì¥Ù¥ë¤ÎÆüËܸì¤ÎÆþ½ÐÎϤò¹Ô¤¦»þ¤Ë»ÈÍѤ¹¤ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥ .IP "canna/RK.h" 18 ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë»þ¤ËÍѤ¤¤ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥ .RE .IP "¡¦" 3 ¥é¥¤¥Ö¥é¥ê .RS .IP "libXnw" 18 ¥¢¥Æ¥Ê¥¦¥£¥¸¥§¥Ã¥ÈXaw¤ÎÆüËܸìÈǤǤ¹¡¥¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï¤«¤Ê ´Á»úÊÑ´¹¤òÁ´¤¯°Õ¼±¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡¥ .IP "libXn" 18 £Ø¤ÇÆüËܸì¤ò¼è¤ê°·¤¦»þ¤Î¥é¥¤¥Ö¥é¥ê ¤Ç¤¹¡¥XLookupKanjiString¡¤XDrawKanjiString¤Ê¤É¤ò»ÈÍѤ¹¤ë»þ¤Ï¤³¤Î¥é¥¤¥Ö ¥é¥ê¤ò¥ê¥ó¥¯¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .IP "libcanna" 18 ÆüËܸìÆþÎϤΤ¿¤á¤ÎÃæ³Ë¤È¤Ê¤ë¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡¥ .RE .PP °Ê²¼¤Î¤è¤¦¤ËÍøÍѤ¹¤ë´Ø¿ô¤Ë¤è¤Ã¤Æ¥é¥¤¥Ö¥é¥ê¤Î¥ê¥ó¥¯¤È¡¤¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î ¥¤¥ó¥¯¥ë¡¼¥É¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .IP "¡¦" 3 ¥¢¥Æ¥Ê¥¦¥£¥¸¥§¥Ã¥È .RS .IP "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë" 16 X11/Xnw.h .IP "¥é¥¤¥Ö¥é¥ê" 16 libXnw,libXn,libcanna .RE .IP "¡¦" 3 XDrawKanjiString .RS .IP "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë" 16 canna/kanji.h .IP "¥é¥¤¥Ö¥é¥ê" 16 libXn .RE .IP "¡¦" 3 XLookupKanjiString, XKanjiControl .RS .IP "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë" 16 canna/kanji.h .IP "¥é¥¤¥Ö¥é¥ê" 16 libXn, libcanna .RE .IP "¡¦" 3 jrKanjiString, jrKanjiControl .RS .IP "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë" 16 canna/jrkanji.h .IP "¥é¥¤¥Ö¥é¥ê" 16 libcanna .RE .IP "¡¦" 3 ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê .RS .IP "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë" 16 canna/RK.h .IP "¥é¥¤¥Ö¥é¥ê" 16 libcanna .RE .SH "ÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È" .PP ¡Ø¤«¤ó¤Ê¡Ù¤Ç¤ÏƱ»þ¤ËÊ£¿ô¤Î¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥¤³¤Î¤¿¤á¡¤ ¤½¤ì¤¾¤ì¤Î¤«¤Ê´Á»úÊÑ´¹¤ò´ÉÍý¤¹¤ëÊýË¡¤È¤·¤ÆÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤òÍѤ¤¤¿À©¸æ ¤ò¹Ô¤¤¤Þ¤¹¡¥³Æ¥³¥ó¥Æ¥¯¥¹¥È¤Ë¤Ï¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤ËɬÍ×¤ÊÆâÉô¥Ç¡¼¥¿ ¤¬³ÎÊݤµ¤ì¤Þ¤¹¡¥ .PP ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤ò¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ¤Ë¤è¤ê¼±Ê̤·¤Þ¤¹¡¥ ¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ¤Ï¡¤0°Ê¾å¤ÎÀ°¿ôÃͤÇɽ¤µ¤ì¡¤¤«¤Ê´Á»úÊÑ´¹´Ø¿ô¤ÎÂ裱¥Ñ¥é ¥á¥¿¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡¥ .PP ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤ÎRkInitialize(3)¤Ë¤è¤ê¤«¤Ê´Á»úÊÑ´¹¤¬½é´ü²½¤µ¤ì ¤¿Ä¾¸å¤Ë¤ÏÈÖ¹æ0¤Îɸ½à¥³¥ó¥Æ¥¯¥¹¥È¤À¤±¤¬Â¸ºß¤·¤Þ¤¹¡¥¥³¥ó¥Æ¥¯¥¹¥È¤ò¤Ò¤È ¤Ä¤À¤±»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ïɸ½à¥³¥ó¥Æ¥¯¥¹¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ ¤¹¡¥ .SH "ϢʸÀáÊÑ´¹¤Î³µÍ×" .PP ϢʸÀáÊÑ´¹¤Ï¡¤Í¿¤¨¤é¤ì¤¿¤Ò¤é¤¬¤Ê¤ò²òÀϤ·¤ÆÊ¸Àá¤È¸Æ¤Ð¤ì¤ëñ°Ì¤Ëʬ¤±¤Þ¤¹¡¥ ²òÀÏÎã¤ò¼¨¤·¤Þ¤¹¡¥ .sp .nf ¡Ö¤«¤Ê¤ò¤«¤ó¤¸¤Ë¤Ø¤ó¤«¤ó¤¹¤ë¡× ¤«¤Ê¤ò¡¡¡¡¡¡¡¡²¾Ì¾¤ò¡¡¡¡¡¡¤«¤Ê¤ò ¤«¤ó¤¸¤Ë¡¡¡¡¡¡´Á»ú¤Ë¡¡¡¡¡¡´´»ö¤Ë¡¡¡¡¡¡´¶¤¸¤Ë¡¡¡¡¡¡¡¡¤«¤ó¤¸¤Ë ¤Ø¤ó¤«¤ó¤¹¤ë¡¡ÊÑ´¹¤¹¤ë¡¡¡¡ÊÖ´Ô¤¹¤ë¡¡¡¡¤Ø¤ó¤«¤ó¤¹¤ë .fi .sp .PP ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤ÎϢʸÀáÊÑ´¹µ¡Ç½¤ÇÄ󶡤µ¤ì¤ë´Ø¿ô¤Ï¡¤¤³¤Î²òÀÏ·ë²Ì ¤ò½¤Àµ¤¹¤ë¤«¡¤²òÀϾðÊó¤ò¼èÆÀ¤¹¤ë¤«¤Î¤¤¤º¤ì¤«¤ËʬÎव¤ì¤Þ¤¹¡¥¤³¤ì¤é¤Î´Ø ¿ô¤Ç¤Ï£²¼¡¸µÅª¤Ê¸õÊ䥢¥É¥ì¥¹¤òÁÛÄꤷ¤Þ¤¹¡¥ .PP ²òÀϤµ¤ì¤¿N¸Ä¤ÎʸÀá¤Ë¤Ï¡¤º¸¤«¤é½çÈÖ¤ËʸÀáÈÖ¹æ0,1,¡¦¡¦¡¦,N\-1¤òÍ¿¤¨¡¤¤³ ¤Î¤¦¤Á¸½ºßÃíÌܤ·¤Æ¤¤¤ë¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¸Æ¤Ó¤Þ¤¹¡¥ .P Î㤨¤Ð¡¤¡Ö¤«¤Ê¤ò¡×¤ÏʸÀáÈÖ¹æ0¡¤¸õÊäÈÖ¹æ0¤Î¸õÊä¤È»ØÄê¤Ç¤­¤Þ¤¹¡¥¥é¥¤¥Ö¥é ¥ê¤Ç¤Ï¤½¤ÎÂå¤ï¤ê¤Ë¥³¥ó¥Æ¥¯¥¹¥È¤Ë¥«¥ì¥ó¥ÈʸÀᡤ¥«¥ì¥ó¥È¸õÊä¤ò²¾Äꤷ¥Ñ¥é ¥á¥¿¤ò´Êά²½¤·¤Æ¤¤¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" .PP uilib(3) \- ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê .PP diclib(3) \- ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê Canna37p3/lib/canna/cannalib.man0100644000076500001200000001530307554213604015747 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: cannalib.man,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $ NEC; .if t .pn 575 .TH CANNALIB 3 .SH "NAME" CannaLib intro \(em Kana-to-Kanji Conversion Library Intro .SH "DESCRIPTION" .PP Canna provides the following three libraries: .IP "-" 3 High-level libraries .RS .PP From application programs, high-level libraries are available without considering Kana-to-Kanji Conversion. Processes such as selecting candidates (including candidate list display) are executed by the Kana-to-Kanji Conversion system. Only fixed character strings are passed to the application. If the Kana-to-Kanji Conversion front end is being used for TTY input, the read (cooked mode) system call in terminal input is regarded as a high-level library. In this case, scanf, which uses it, is also regarded as a higo-level library. The Japanese version of Athena Widget (Text Wideget) in the X Window System is a more typical library that is regarded as a high-level library. .RE .IP "-" 3 User interface libraries .RS .PP Responding to one-character or one-key input, user interface libraries return various kinds of information. They include the unfixed character string, fixed character string, marked segment position, status dispaly character string, and candidate list character string. The libraries at this level do not provide the detailed functions involving dictionary maintenance or learning control. There is a little remaining room of divising the display fields although rough lines for Japanese input user interface are restricted. It is recommended that application interfaces at this level be used for an application that desires to obtain keys in raw mode in the TTY. Also, it is recommended that they be used for an application that desires to input and display graphics and characters in a single window. .RE .IP "-" 3 Dictionary access libraries .RS .PP Dictionary access libraries are used to control dictionary access or candidate selection directly. Kana-to-Kanji Conversion libraries at this level provide various function interfaces. They include starting the use of Kana-to-Kanji Conversion system, converting the reading into Kanji, changing the splitting of sentence-segment, fetching Next or Previous Candidate, controlling dictionary learning, and maintaining dictionaries. Dictionary access libraries are used to construct a user interface or high-level library. It is recommended that they not be used by ordinary users. .RE .PP Canna provides three header files and three libraries. Their outlines are listed below: .IP "-" 3 Header files .RS .IP "X11/kanji.h" 18 Used to input or output Japanese data with X. .IP "canna/jrkanji.h" 18 Used to input or output TTY-level Japanese data. .IP "canna/RK.h" 18 Used to use a dictionary access library. .RE .IP "-" 3 Libraries .RS .IP "libXnw" 18 Japanese version of Athena Widget Xaw. The application program does not need to consider Kana-to-Kanji Conversion. .IP "libXn" 18 Used to process Japanese data with X. When using XLookupKanjiString or XDrawKanjiString, you must link this library. .IP "libcanna" 18 Kernel for Japanese data input .RE .PP Library link and header file include must be done as follows, depending on the function you use: .IP "-" 3 Athena Widget .RS .IP "Header file" 16 canna/kanji.h .IP "Library" 16 libXnw, libXn, libcanna .RE .IP "-" 3 XDrawKanjiString .RS .IP "Header file" 16 canna/kanji.h .IP "Library" 16 libXn .RE .IP "-" 3 XLookupKanjiString, XKanjiControl .RS .IP "Header file" 16 canna/kanji.h .IP "Library" 16 libXn, libcanna .RE .IP "-" 3 jrKanjiString, jrKanjiControl .RS .IP "Header file" 16 canna/jrkanji.h .IP "Library" 16 libcanna .RE .IP "-" 3 Dictionary access library .RS .IP "Header file" 16 canna/RK.h .IP "Library" 16 libcanna .RE .SH "Conversion context" .PP Canna enables you to perform two or more Kana-to-Kanji Conversion processes simultaneously. Conversion contextsare used to control management of the respective Kana-to-Kanji Conversion processes. The internal data needed for Kana-to-Kanji Conversion is secured in each context. .PP The application identifies each conversion context by the context number. It is an integer equal to or larger than 0, and used as the first parameter of any Kana-to-Kanji Conversion function. .PP Immediately after dictionary access library RkInitialize(3) initializes Kana-to-Kanji Conversion, there is only the standard context, which has the context number 0. It can be used by any application that uses only one context. .SH "Outline of Successive Segment Conversion:" .PP Successive Segment Conversion analyzes the specified Hiragana string, and splits it into a few elements called sentence segments, or Bunsetsu. An example of analysis is shown below: .sp .ft CW .nf ``KANAWOKANJINIHENKANSURU'' KANAWO KANAWO(1) KANAWO(2) KANJINI KANJINI(1) KANJINI(2) KANJINI(3) KANJINI(4) HENKANSURU HENKANSURU(1) HENKANSURU(2) HENKANSURU(3) .fi .ft .sp .PP Each function provided by the dictionary access library's Successive Segment Conversion may either modify the result of this analysis or obtain the analysis information. It assumes a two-dimensional candidate address. .PP Segment numbers 0, 1, ..., N-1 are assigned leftward to the N segments that have been analyzed. The currently marked candidate is called the current candidate. .PP For example, ``KANAWO'' may be specified as a candidate having Segment Number 0 and Candidate Number 0. The library instead assumes current segment and candidate in the context to simplify the parameters. .SH "SEE ALSO" .PP uilib(3) \- User Interface Library .PP diclib(3) \- Dictionary Access Library Canna37p3/lib/canna/chikuji.c0100644000076500001200000005277407732020155015305 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: chikuji.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif #include "canna.h" #ifdef MEASURE_TIME #include #include #endif /* MEASURE_TIME */ /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern int yomiInfoLevel, nKouhoBunsetsu, KeepCursorPosition; extern int defaultContext; extern KanjiModeRec tankouho_mode, cy_mode, cb_mode; extern void makeYomiReturnStruct pro((uiContext)); extern exp(int) RkwGetServerVersion pro((int *, int *)); extern exp(int) RkwGetProtocolVersion pro((int *, int *)); int forceRomajiFlushYomi pro((uiContext)); void moveToChikujiTanMode pro((uiContext)); void moveToChikujiYomiMode pro((uiContext)); static void clearHenkanContent pro((yomiContext)); static void clearHenkanContent(yc) yomiContext yc; { yc->allkouho = 0; yc->kouhoCount = yc->curIkouho = 0; return; } void clearHenkanContext(yc) yomiContext yc; { if (yc->context >= 0) { RkwCloseContext(yc->context); yc->context = -1; } yc->nbunsetsu = yc->curbun = 0; clearHenkanContent(yc); return; } extern NothingChanged pro((uiContext)); /* restoreChikujiYomi °ú¿ô: d : uiContext old : Á°¤ÎʸÀá¿ô ¤ä¤ë¤³¤È: (1) ʸÀá¿ô¤¬Áý¤¨¤¿¤éµ¬Äê¿ô°Ê¾å¤ÎʸÀá¤ò³ÎÄꤵ¤»¤ë¡£ (2) ¤½¤Î¤È¤­¡¢RkwRemoveBun ¤â¤¹¤ë¡£ (3) ¤½¤Îʬ¡¢ÆÉ¤ß¤âºï¤ë¡£ (4) ʸÀá¤Ë¤Ê¤Ã¤¿Ê¬¤ÎÆÉ¤ß¤ò¥«¥¦¥ó¥È¡£ */ static int restoreChikujiYomi(d, old) uiContext d; int old; { yomiContext yc = (yomiContext)d->modec; wchar_t *s = d->buffer_return, *e = s + d->n_buffer; RkStat stat; int len, i, j, yomilen, ll = 0, m = 0, n = 0, recalc = 0; d->nbytes = 0; yomilen = yc->kEndp - yc->cStartp; if (yc->nbunsetsu) { yc->status |= CHIKUJI_ON_BUNSETSU; if (yc->nbunsetsu > old) { recalc = 1; } if (nKouhoBunsetsu) { (void)cutOffLeftSide(d, yc, nKouhoBunsetsu - yc->nbunsetsu); if (nKouhoBunsetsu < yc->nbunsetsu) { n = yc->nbunsetsu - nKouhoBunsetsu; if (n > old) { n = old; /* Á°¤Ë¤Þ¤À´Á»ú¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿Ê¬¤Þ¤Ç¤Ï³ÎÄꤵ¤»¤Ê¤¤ */ } } } if (n > 0) { /* ³ÎÄꤵ¤»¤ëʸÀá¿ô */ recalc = 1; for (i = 0 ; i < n ; i++) { if (RkwGoTo(yc->context, i) < 0 || (len = RkwGetKanji(yc->context, s, (int)(e - s))) < 0 || RkwGetStat(yc->context, &stat) == -1) { return -1; } s += len; ll += stat.ylen; m += stat.klen; } d->nbytes = s - d->buffer_return; if (s < e) { *s++ = (wchar_t)'\0'; } if (RkwRemoveBun(yc->context, cannaconf.Gakushu ? 1 : 0) == -1) { return -1; } /* ¤«¤Ê¥Ð¥Ã¥Õ¥¡¤È¤«¤âºï¤ë */ kPos2rPos(yc, 0, ll, (int *)0, &j); if (yomiInfoLevel > 0) { d->kanji_status_return->info |= KanjiYomiInfo; len = xString(yc->kana_buffer, ll, s, e); s += len; if (s < e) { *s++ = (wchar_t)'\0'; } if (yomiInfoLevel > 1) { len = xString(yc->romaji_buffer, j, s, e); s += len; } if (s < e) { *s++ = (wchar_t)'\0'; } } removeKana(d, yc, ll, j); yc->nbunsetsu -= n; } if (RkwGoTo(yc->context, yc->nbunsetsu - 1) == -1) return(-1); yc->curbun = yc->nbunsetsu - 1; if (old < yc->curbun) { /* ¤»¤á¤ÆÁ°¤Î¤ä¤Ä¤Î±¦¤Ë¹Ô¤¯ */ yc->curbun = old; } } if (recalc) { yomilen = RkwGetLastYomi(yc->context, d->genbuf, ROMEBUFSIZE); if (yomilen == -1) { return -1; } if (yomilen < yc->kEndp) { /* ɬ¤º¿¿¤Ç¤Ï¡© */ kPos2rPos(yc, 0, yc->kEndp - yomilen, (int *)0, &j); yc->cStartp = yc->kEndp - yomilen; yc->cRStartp = j; } yc->ys = yc->ye = yc->kEndp; } if (yc->nbunsetsu) { moveToChikujiTanMode(d); } return(0); } static int doesSupportChikuji() { int a, b; if (defaultContext == -1) { if (KanjiInit() < 0 || defaultContext == -1) { jrKanjiError = KanjiInitError(); return(-1); } } RkwGetProtocolVersion(&a, &b); return(a > 1); } #ifndef NO_EXTEND_MENU int chikujiInit(d) uiContext d; { int chikuji_f; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); chikuji_f = doesSupportChikuji(); if (ToggleChikuji(d, 1) == -1) { if(!chikuji_f) jrKanjiError = "\245\265\241\274\245\320\244\254\303\340\274\241\274\253" "\306\260\312\321\264\271\244\362\245\265\245\335\241\274\245\310" "\244\267\244\306\244\244\244\336\244\273\244\363"; /* ¥µ¡¼¥Ð¤¬Ã༡¼«Æ°ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó */ else jrKanjiError = "\303\340\274\241\274\253\306\260\312\321\264\271\244\313" "\300\332\302\330\244\250\244\353\244\263\244\310\244\254\244\307" "\244\255\244\336\244\273\244\363"; /* Ã༡¼«Æ°ÊÑ´¹¤ËÀÚÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó */ makeGLineMessageFromString(d, jrKanjiError); currentModeInfo(d); return(-1); } else { if(!chikuji_f) makeGLineMessageFromString(d, "\245\265\241\274\245\320\244\254\303\340" "\274\241\274\253\306\260\312\321\264\271\244\362\245\265\245\335" "\241\274\245\310\244\267\244\306\244\244\244\336\244\273\244\363"); /* ¥µ¡¼¥Ð¤¬Ã༡¼«Æ°ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó */ else makeGLineMessageFromString(d, "\303\340\274\241\274\253\306\260\312\321" "\264\271\244\313\300\332\302\330\244\250\244\336\244\267\244\277"); /* Ã༡¼«Æ°ÊÑ´¹¤ËÀÚÂØ¤¨¤Þ¤·¤¿ */ currentModeInfo(d); return 0; } } #endif /* not NO_EXTEND_MENU */ static int chikujiSubstYomi(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int n = yc->nbunsetsu, ret; if (yc->context == -1) { /* ¡Ö½Ð¤À¤·¤À¤Ã¤¿¤é¡×¤Î°ÕÌ£¤â¤¢¤ë */ if (confirmContext(d, yc) < 0) { return -1; } if (!doesSupportChikuji()) { jrKanjiError = "\245\265\241\274\245\320\244\254\303\340\274\241\274\253" "\306\260\312\321\264\271\244\362\245\265\245\335\241\274\245\310" "\244\267\244\306\244\244\244\336\244\273\244\363"; /* ¥µ¡¼¥Ð¤¬Ã༡¼«Æ°ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó */ abandonContext(d, yc); return(-1); } if (RkwBgnBun(yc->context, (wchar_t *)0, 1, RK_XFER << RK_XFERBITS | RK_KFER) == NG) { substError: jrKanjiError = "\303\340\274\241\274\253\306\260\312\321\264\271\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"; /* Ã༡¼«Æ°ÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ /* °Ê²¼¤Ï²¿¤ò¤ä¤Ã¤Æ¤¤¤ë¤Î¤«¤·¤é¡© */ if (TanMuhenkan(d) == -1) { return -2; } return(-1); } } yc->nbunsetsu = RkwSubstYomi(yc->context, yc->ys - yc->cStartp, yc->ye - yc->cStartp, yc->kana_buffer + yc->ys, yc->kEndp - yc->ys); yc->ys = yc->ye = yc->kEndp; if (yc->nbunsetsu < 0 || (ret = restoreChikujiYomi(d, n)) < 0) { goto substError; } return(ret); } ChikujiSubstYomi(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if ((yc->ys == yc->ye && yc->kEndp == yc->ye) || yc->kEndp != yc->kCurs || !(yc->kAttr[yc->kEndp - 1] & HENKANSUMI)) { /* ¿·¤·¤¤ÆþÎϤ¬¤Ê¤«¤Ã¤¿¤ê¡¢ ºÇ¸å¤Ø¤ÎÆþÎϤ¸¤ã¤Ê¤«¤Ã¤¿¤ê¡¢ ºÇ¸å¤Î»ú¤¬¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤µ¤ì¤Ä¤¯¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê¤·¤¿¤é */ return 0; /* ¤Ê¤Ë¤â¤·¤Ê¤¤ */ } return chikujiSubstYomi(d); } int ChikujiTanDeletePrevious(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int i, j, l = 0, flg = 0; RkStat stat; if (yc->cRStartp < yc->rEndp) { /* ¥í¡¼¥Þ»ú¤¬Æþ¤Ã¤Æ¤¤¤ë */ flg = 1; } d->nbytes = 0; /* ¤Þ¤º¥«¥ì¥ó¥ÈʸÀᤫ¤é¸å¤í¤òÆÉ¤ß¤ËÌ᤹ */ if (forceRomajiFlushYomi(d)) { return d->nbytes; } if (RkwSubstYomi(yc->context, 0, yc->ye - yc->cStartp, (wchar_t *)0, 0) == NG) { /* ÆÉ¤ß¤Ç»Ä¤Ã¤Æ¤¤¤ëʬ¤òÃ༡¤Î¥Ç¡¼¥¿¤«¤é¾Ã¤¹ */ (void)makeRkError(d, "\306\311\244\337\244\313\314\341\244\271\244\263" "\244\310\244\254\244\307\244\255\244\336\244\273\244\363"); /* ÆÉ¤ß¤ËÌ᤹¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó */ (void)TanMuhenkan(d); /* ¤³¤ìÍפë¤Î¡© */ return 0; } yc->ys = yc->ye = yc->cStartp; for (i = yc->nbunsetsu - 1 ; i >= yc->curbun ; i--) { /* ¥«¥ì¥ó¥ÈʸÀᤫ¤é¸å¤í¤òÆÉ¤ß¤ËÌ᤹¤¿¤á¤Î½àÈ÷ */ if (RkwGoTo(yc->context, i) == NG || RkwGetStat(yc->context, &stat) == NG || RkwStoreYomi(yc->context, (wchar_t *)0, 0) == NG) { (void)makeRkError(d, "\306\311\244\337\244\313\314\341\244\271\244\263" "\244\310\244\254\244\307\244\255\244\336\244\273\244\363"); /* ÆÉ¤ß¤ËÌ᤹¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó */ TanMuhenkan(d); /* ¤³¤ì¡¢Íפë¤Î¡© */ return 0; } l += stat.ylen; } yc->nbunsetsu = yc->curbun; if (l) { i = j = 0; do { ++i; if (yc->kAttr[yc->cStartp - i] & SENTOU) { for (j++ ; j < yc->cRStartp && !(yc->rAttr[yc->cRStartp - j] & SENTOU) ;) { j++; } } } while (i < l); yc->cStartp = (i < yc->cStartp) ? yc->cStartp - i : 0; yc->cRStartp = (j < yc->cRStartp) ? yc->cRStartp - j : 0; } if (KeepCursorPosition && yc->kCurs != yc->kEndp) { yc->kRStartp = yc->kCurs = yc->cStartp; yc->rStartp = yc->rCurs = yc->cRStartp; } else { yc->kRStartp = yc->kCurs = yc->kEndp; yc->rStartp = yc->rCurs = yc->rEndp; } yc->ys = yc->ye = yc->cStartp; clearHenkanContent(yc); if (yc->curbun) { yc->curbun--; } yc->status |= CHIKUJI_OVERWRAP; moveToChikujiYomiMode(d); makeKanjiStatusReturn(d, yc); if (flg && cannaconf.chikujiRealBackspace && !KeepCursorPosition) { d->more.todo = 1; d->more.ch = 0; d->more.fnum = CANNA_FN_DeletePrevious; /* Ʊ¤¸¤³¤È¤ò¤Þ¤¿¤ä¤ë¤Ã¤Æ´¶¤¸¤À¤¾ */ } return 0; } /* chikuji_restore_yomi cStartp, cRStartp ¤òÄ´À°¤¹¤ë */ static int chikuji_restore_yomi(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int l, j; if ((l = RkwGetLastYomi(yc->context, d->genbuf, ROMEBUFSIZE)) == -1) { return makeRkError(d, "\314\244\267\350\312\270\300\341\244\362\274\350" "\244\352\275\320\244\273\244\336\244\273\244\363\244\307\244\267" "\244\277"); /* ̤·èʸÀá¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ } if (l != yc->kEndp - yc->cStartp) { /* ÊѤï¤Ã¤¿¤é */ kPos2rPos(yc, 0, yc->kEndp - l, (int *)0, &j); yc->cStartp = yc->kEndp - l; yc->cRStartp = j; } yc->ys = yc->ye = yc->cStartp; return 0; } static int chikuji_subst_yomi(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int l, n = yc->nbunsetsu; /* ÆÉ¤ß¤òÁ´Éô¿©¤ï¤»¤ë */ l = RkwSubstYomi(yc->context, yc->ys - yc->cStartp, yc->ye - yc->cStartp, yc->kana_buffer + yc->ys, yc->kEndp - yc->ys); yc->ys = yc->ye = yc->kEndp; if (l == -1) { jrKanjiError = "\312\321\264\271\244\313\274\272\307\324\244\267\244\336" "\244\267\244\277"; /* ÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ (void)TanMuhenkan(d); return -1; } yc->nbunsetsu = l; if (l > n) { yc->curbun = n; /* Á°¤ÎʸÀ᤬¥«¥ì¥ó¥È */ } return chikuji_restore_yomi(d); } static ChikujiTanExtend pro((uiContext)); static int ChikujiTanExtend(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int i; d->nbytes = 0; yc->kouhoCount = 0; if (yc->ys < yc->kEndp || yc->ye != yc->kEndp) { i = yc->curbun; /* ¤È¤Ã¤È¤¯ */ if (chikuji_subst_yomi(d) == -1) { makeGLineMessageFromString(d, jrKanjiError); return TanMuhenkan(d); } if (RkwGoTo(yc->context, i) == -1) { (void)makeRkError(d, "\312\270\300\341\244\316\260\334\306\260\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return TanMuhenkan(d); } yc->curbun = i; } if ((yc->nbunsetsu = RkwEnlarge(yc->context)) <= 0) { (void)makeRkError(d, "\312\270\300\341\244\316\263\310\302\347\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î³ÈÂç¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return TanMuhenkan(d); } if (chikuji_restore_yomi(d) == NG) { return TanMuhenkan(d); } yc->status |= CHIKUJI_OVERWRAP; makeKanjiStatusReturn(d, yc); return d->nbytes; } static ChikujiTanShrink pro((uiContext)); static int ChikujiTanShrink(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; RkStat stat; int i; d->nbytes = 0; yc->kouhoCount = 0; if (yc->ys < yc->kEndp || yc->ye != yc->kEndp) { i = yc->curbun; if (chikuji_subst_yomi(d) == -1) { makeGLineMessageFromString(d, jrKanjiError); return TanMuhenkan(d); } if (RkwGoTo(yc->context, i) == -1) { (void)makeRkError(d, "\312\270\300\341\244\316\275\314\276\256\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î½Ì¾®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return TanMuhenkan(d); } yc->curbun = i; } if (RkwGetStat(yc->context, &stat) < 0 || stat.ylen == 1) { /* ¤³¤ì°Ê¾åû¤¯¤Ç¤­¤ë¤«¤É¤¦¤«³Îǧ¡£Íפ롩 */ return NothingForGLine(d); } yc->nbunsetsu = RkwShorten(yc->context); if (yc->nbunsetsu <= 0) { /* 0 ¤Ã¤Æ¤³¤È¤¢¤ó¤Î¤«¤Ê¤¢¡© */ (void)makeRkError(d, "\312\270\300\341\244\316\275\314\276\256\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î½Ì¾®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return TanMuhenkan(d); } if (chikuji_restore_yomi(d) == NG) { return TanMuhenkan(d); } yc->status |= CHIKUJI_OVERWRAP; makeKanjiStatusReturn(d, yc); return d->nbytes; } static ChikujiYomiDeletePrevious pro((uiContext)); static int ChikujiYomiDeletePrevious(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; RkStat stat; int i, j, l = 0; d->nbytes = 0; if (!(yc->cStartp < yc->kCurs)) { /* ÆÉ¤ß¤¬¤Ê¤¤¤Ê¤é */ if (!yc->nbunsetsu) { /* ʸÀá¤â¤Ê¤¤ */ return NothingChanged(d); } else { if (RkwSubstYomi(yc->context, 0, yc->ye - yc->cStartp, (wchar_t *)0, 0) == NG) { (void)makeRkError(d, "\306\311\244\337\244\313\314\341\244\271\244\263" "\244\310\244\254\244\307\244\255\244\336\244\273\244\363"); /* ÆÉ¤ß¤ËÌ᤹¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó */ (void)TanMuhenkan(d); return 0; } yc->ys = yc->ye = yc->cStartp; yc->curbun = yc->nbunsetsu - 1; /* ¤Ò¤È¤ÄÆÉ¤ß¤ËÌ᤹ */ for (i = yc->nbunsetsu - 1; i >= yc->curbun; i--) { if (RkwGoTo(yc->context, i) == NG || RkwGetStat(yc->context, &stat) == NG || RkwStoreYomi(yc->context, (wchar_t *)0, 0) == NG) { return makeRkError(d, "\306\311\244\337\244\313\314\341\244\271" "\244\263\244\310\244\254\244\307\244\255\244\336\244\273\244\363"); /* ÆÉ¤ß¤ËÌ᤹¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó */ } l += stat.ylen; yc->nbunsetsu--; } i = j = 0; do { ++i; if (yc->kAttr[yc->cStartp - i] & SENTOU) { for (j++ ; j < yc->cRStartp && !(yc->rAttr[yc->cRStartp - j] & SENTOU) ;) { j++; } } } while (i < l); yc->kCurs = yc->kRStartp = yc->cStartp; yc->rCurs = yc->rStartp = yc->cRStartp; yc->cStartp = (i < yc->cStartp) ? yc->cStartp - i : 0; yc->cRStartp = (j < yc->cRStartp) ? yc->cRStartp - j : 0; yc->ys = yc->ye = yc->cStartp; clearHenkanContent(yc); if (yc->curbun) { yc->curbun--; } makeKanjiStatusReturn(d, yc); return 0; } } if (yc->kCurs - 1 < yc->ys) { yc->ys = yc->kCurs - 1; } if (yc->ys < 0) { yc->ys = 0; } KanaDeletePrevious(d); yc->status |= CHIKUJI_OVERWRAP; if (yc->kCurs <= yc->cStartp && yc->kEndp <= yc->cStartp && yc->nbunsetsu) { /* ʸÀá¤Ï¤¢¤ë¤Î¤ËÆÉ¤ß¤¬¤Ê¤¤¤Ê¤é */ if (RkwGoTo(yc->context, yc->nbunsetsu - 1) == -1) { return makeRkError(d, "\312\270\300\341\244\316\260\334\306\260\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } yc->kouhoCount = 0; yc->curbun = yc->nbunsetsu - 1; moveToChikujiTanMode(d); makeKanjiStatusReturn(d, yc); } else { moveToChikujiYomiMode(d); makeYomiReturnStruct(d); if (yc->kEndp <= yc->cStartp && !yc->nbunsetsu) { /* ²¿¤Ë¤â¤Ê¤¤ */ d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } } return 0; } static ChikujiHenkan pro((uiContext)); static int ChikujiHenkan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int n, tmp, idx; if (!yc->nbunsetsu && yc->rEndp == /* yc->cRStartp(== 0) + */ 1 && (yc->kAttr[0] & SUPKEY) && (idx = findSup(yc->romaji_buffer[0]))) { return selectKeysup(d, yc, idx - 1); } if (!doesSupportChikuji()) { jrKanjiError = "\245\265\241\274\245\320\244\254\303\340\274\241\274\253" "\306\260\312\321\264\271\244\362\245\265\245\335\241\274\245\310" "\244\267\244\306\244\244\244\336\244\273\244\363"; /* ¥µ¡¼¥Ð¤¬Ã༡¼«Æ°ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó */ makeGLineMessageFromString(d, jrKanjiError); makeKanjiStatusReturn(d, yc); d->nbytes = 0; return 0; } if (yc->status & CHIKUJI_ON_BUNSETSU) { tmp = yc->curbun; } else { tmp = yc->nbunsetsu; } d->nbytes = 0; if (yc->kCurs < yc->ys) { yc->ys = yc->kCurs; } if (forceRomajiFlushYomi(d)) { return d->nbytes; } if (containUnconvertedKey(yc)) { if (yc->cmark < yc->cStartp) { yc->cmark = yc->cStartp; } YomiMark(d); yc->ys = yc->pmark; if (forceRomajiFlushYomi(d)) { return d->nbytes; } } yc->kRStartp = yc->kCurs = yc->kEndp; yc->rStartp = yc->rCurs = yc->rEndp; if (yc->cStartp < yc->kEndp) { /* ÆÉ¤ß¤¬¤¢¤ì¤Ð */ yc->kCurs = yc->kEndp; if (chikujiSubstYomi(d) < 0) { makeGLineMessageFromString(d, jrKanjiError); TanMuhenkan(d); return 0; } n = RkwFlushYomi(yc->context); if (n == -1) { (void)makeRkError(d, "\312\321\264\271\244\313\274\272\307\324\244\267" "\244\336\244\267\244\277"); /* ÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ (void)TanMuhenkan(d); return 0; } yc->cStartp = yc->kEndp; yc->cRStartp = yc->rEndp; yc->kouhoCount = 1; yc->status |= CHIKUJI_ON_BUNSETSU; if (n > yc->nbunsetsu) { yc->curbun = yc->nbunsetsu; yc->nbunsetsu = n; } } if (RkwGoTo(yc->context, tmp) == -1) { makeRkError(d, "\303\340\274\241\312\321\264\271\244\313\274\272\307\324" "\244\267\244\336\244\267\244\277"); /* Ã༡ÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return 0; } yc->curbun = tmp; yc->ys = yc->ye = yc->cStartp; d->current_mode = yc->curMode = &tankouho_mode; yc->minorMode = CANNA_MODE_TankouhoMode; if (cannaconf.kouho_threshold > 0 && yc->kouhoCount >= cannaconf.kouho_threshold) { return tanKouhoIchiran(d, 0); } currentModeInfo(d); makeKanjiStatusReturn(d, yc); return d->nbytes; } void moveToChikujiTanMode(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; yc->status |= CHIKUJI_ON_BUNSETSU; yc->minorMode = CANNA_MODE_ChikujiTanMode; d->current_mode = yc->curMode = &cb_mode; currentModeInfo(d); } void moveToChikujiYomiMode(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; yc->status &= ~CHIKUJI_ON_BUNSETSU; d->current_mode = yc->curMode = &cy_mode; EmptyBaseModeInfo(d, yc); } static int generalNaive(d, fn) uiContext d; int (*fn)(); { if ((((yomiContext)d->modec)->generalFlags) & (CANNA_YOMI_HANKAKU | CANNA_YOMI_ROMAJI | CANNA_YOMI_BASE_HANKAKU)) { return (*fn)(d); } else { return ChikujiHenkan(d); } } extern int YomiInsert(); static ChikujiHenkanNaive pro((uiContext)); static int ChikujiHenkanNaive(d) uiContext d; { return generalNaive(d, YomiInsert); } static ChikujiHenkanOrNothing pro((uiContext)); static int ChikujiHenkanOrNothing(d) uiContext d; { return generalNaive(d, NothingChanged); } static ChikujiMuhenkan pro((uiContext)); static int ChikujiMuhenkan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->nbunsetsu) { return TanMuhenkan(d); } else if (yc->left || yc->right) { removeCurrentBunsetsu(d, (tanContext)yc); yc = (yomiContext)d->modec; } else { RomajiClearYomi(d); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } makeKanjiStatusReturn(d, yc); return 0; } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #include "chikujimap.h" Canna37p3/lib/canna/chikujimap.h0100644000076500001200000001002107554213604015770 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char chikuji_id[] = "$Id: chikujimap.h,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $"; #endif #define BUNPOU_DISPLAY extern TanKouhoIchiran(), TanKatakana(); extern TanPrintBunpou(); extern TanMuhenkan(), TanBubunKakutei(), TanHankaku(); extern TanHiragana(), TanRomaji(), TanZenkaku(); extern TanForwardBunsetsu(), TanBackwardBunsetsu(); extern TanNextKouho(), TanPreviousKouho(); extern TanBeginningOfBunsetsu(), TanEndOfBunsetsu(), TanBubunMuhenkan(); extern TanUpper(), TanCapitalize(), TanDeletePrevious(); extern TanKanaRotate pro((uiContext)), TanRomajiRotate pro((uiContext)); extern TanCaseRotateForward pro((uiContext)); #define NONE CANNA_FN_Undefined /* CYsearchfunc ¤¬»È¤ï¤ì¤ë¤Î¤Ç°Ê²¼¤Îɽ¤Ë²Ã¤¨¤Æ yomi_mode ¤Î¥Þ¥Ã¥×¤â»È¤ï¤ì¤ë */ static struct funccfunc cy_funcs[] = { {CANNA_FN_FunctionalInsert , YomiInsert/* ËÜÅö¤ÏÍפé¤Ê¤¤ */}, {CANNA_FN_DeletePrevious , ChikujiYomiDeletePrevious }, {CANNA_FN_Henkan , ChikujiHenkan }, {CANNA_FN_HenkanOrInsert , ChikujiHenkanNaive }, {CANNA_FN_HenkanOrNothing , ChikujiHenkanOrNothing }, {CANNA_FN_Quit , ChikujiMuhenkan }, {0 , 0 }, }; extern searchfunc(), CYsearchfunc(), Yomisearchfunc(); extern BYTE default_kmap[]; KanjiModeRec cy_mode = { CYsearchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, cy_funcs, }; static struct funccfunc cb_funcs[] = { {CANNA_FN_FunctionalInsert , YomiInsert/* ËÜÅö¤ÏÍפé¤Ê¤¤ */}, {CANNA_FN_Forward , TanForwardBunsetsu }, {CANNA_FN_Backward , TanBackwardBunsetsu }, {CANNA_FN_Next , TanNextKouho }, {CANNA_FN_Prev , TanPreviousKouho }, {CANNA_FN_BeginningOfLine , TanBeginningOfBunsetsu }, {CANNA_FN_EndOfLine , TanEndOfBunsetsu }, {CANNA_FN_DeletePrevious , ChikujiTanDeletePrevious }, {CANNA_FN_KillToEndOfLine , TanBubunKakutei }, {CANNA_FN_Henkan , ChikujiHenkan }, {CANNA_FN_HenkanOrInsert , ChikujiHenkanNaive }, {CANNA_FN_HenkanOrNothing , ChikujiHenkanOrNothing }, {CANNA_FN_Quit , TanMuhenkan }, {CANNA_FN_Extend , ChikujiTanExtend }, {CANNA_FN_Shrink , ChikujiTanShrink }, /* {CANNA_FN_AdjustBunsetsu , TanBunsetsuMode }, */ {CANNA_FN_KouhoIchiran , TanKouhoIchiran }, {CANNA_FN_BubunMuhenkan , TanBubunMuhenkan }, {CANNA_FN_Zenkaku , TanZenkaku }, {CANNA_FN_Hankaku , TanHankaku }, {CANNA_FN_Hiragana , TanHiragana }, {CANNA_FN_Katakana , TanKatakana }, {CANNA_FN_Romaji , TanRomaji }, {CANNA_FN_ToUpper , TanUpper }, {CANNA_FN_ToLower , TanRomaji }, {CANNA_FN_Capitalize , TanCapitalize }, {CANNA_FN_KanaRotate , TanKanaRotate }, {CANNA_FN_RomajiRotate , TanRomajiRotate }, {CANNA_FN_CaseRotate , TanCaseRotateForward }, #ifdef BUNPOU_DISPLAY {CANNA_FN_ConvertAsHex ,TanPrintBunpou }, #endif {0 , 0 }, }; KanjiModeRec cb_mode = { CYsearchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, cb_funcs }; Canna37p3/lib/canna/commondata.c0100644000076500001200000001362310043311316015756 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: commondata.c,v 1.4.2.1 2004/04/26 22:53:02 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include #include "patchlevel.h" struct CannaConfig cannaconf; /* ¥Ç¥Õ¥©¥ë¥È¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÍѤΥХåե¡ */ int defaultContext = -1; int defaultBushuContext = -1; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ /* * ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï£±¸Ä¤¢¤ì¤ÐÎɤ¤¤Ç¤·¤ç¤¦¡£Ê£¿ô¸ÄɬÍ×¤Ê¤Î¤Ç * ¤¢¤ì¤Ð RomeStruct ¤Î¥á¥ó¥Ð¤È¤·¤ÆÆþ¤ì¤Æ¤ª¤¯É¬Íפ⤢¤ê¤Þ¤·¤ç¤¦¤¬...¤½ * ¤Î»þ¤Ï¤½¤Î»þ¤Ç¹Í¤¨¤Þ¤·¤ç¤¦¡£ */ struct RkRxDic *romajidic, *englishdic, *RkwOpenRoma(); /* ̤ÄêµÁ¥­¡¼ÂǸ°»þ¤Î½èÍý¤Î¤·¤«¤¿ */ int howToBehaveInCaseOfUndefKey = kc_normal; /* * ¼­½ñ¤Î̾Á°¤òÆþ¤ì¤Æ¤ª¤¯ÊÑ¿ô */ char saveapname[CANNA_MAXAPPNAME]; /* ¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ë¤È¤­¤ÎAP̾ */ /* * irohacheck ¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤Æ¤¤¤ë¤«¤È¤«¡¢ * irohacheck ¤Ê¤¤¤Ç¤Î verbose ¤òɽ¤¹ÃÍ¡£ */ int ckverbose = 0; /* * ¥¨¥é¡¼¤Î¥á¥Ã¥»¡¼¥¸¤òÆþ¤ì¤Æ¤ª¤¯ÊÑ¿ô */ char *jrKanjiError = ""; /* * ¥Ç¥Ð¥°¥á¥Ã¥»¡¼¥¸¤ò½Ð¤¹¤«¤É¤¦¤«¤Î¥Õ¥é¥° */ int iroha_debug = 0; /* * »Ï¤á¤Æ¤Î»ÈÍѤ«¤É¤¦¤«¤ò¼¨¤¹¥Õ¥é¥° */ int FirstTime = 1; /* * ¥Ó¡¼¥×²»¤òÌĤ餹´Ø¿ô¤ò³ÊǼ¤¹¤ë¤È¤³¤í */ int (*jrBeepFunc)() = (int (*)())NULL; /* * KC_INITIALIZE ľ¸å¤Ë¼Â¹Ô¤¹¤ëµ¡Ç½¤ÎÎó */ BYTE *initfunc = (BYTE *)0; int howToReturnModeInfo = ModeInfoStyleIsString; char *RomkanaTable = (char *)NULL; char *EnglishTable = (char *)NULL; /* char *Dictionary = (char *)NULL; */ struct dicname *RengoGakushu = (struct dicname *)NULL; struct dicname *KatakanaGakushu = (struct dicname *)NULL; struct dicname *HiraganaGakushu = (struct dicname *)NULL; int nKouhoBunsetsu = 16; int KeepCursorPosition = 0; int nothermodes = 0; keySupplement keysup[MAX_KEY_SUP]; int nkeysup = 0; /* * ½é´ü²½¤ÎºÝ»ÈÍѤ·¤¿½é´ü²½¥Õ¥¡¥¤¥ë̾¤òÁ´¤Æ¤È¤Ã¤Æ¤ª¤¯¥Ð¥Ã¥Õ¥¡¡£ * ¥Õ¥¡¥¤¥ë̾¤Ï","¤Ç¶èÀÚ¤é¤ì¤ë¡£(³ÈÄ¥µ¡Ç½¤Ç»ÈÍÑ) */ char *CANNA_initfilename = (char *)NULL; /* * ¥Ð¡¼¥¸¥ç¥ó */ int protocol_version = -1; int server_version = -1; char *server_name = (char *)NULL; int chikuji_debug = 0; int auto_define = 0; void (*keyconvCallback)() = (void (*)())0; extraFunc *extrafuncp = (extraFunc *)NULL; struct dicname *kanjidicnames; /* .canna ¤Ç»ØÄꤷ¤Æ¤¤¤ë¼­½ñ¥ê¥¹¥È */ char *kataautodic = (char *)NULL; /* ¥«¥¿¥«¥Ê¸ì¼«Æ°ÅÐÏ¿ÍѼ­½ñ */ #ifdef HIRAGANAAUTO char *hiraautodic = (char *)NULL; /* ¤Ò¤é¤¬¤Ê¸ì¼«Æ°ÅÐÏ¿ÍѼ­½ñ */ #endif /* ¥æ¡¼¥¶¾ðÊó */ jrUserInfoStruct *uinfo = (jrUserInfoStruct *)NULL; /* ¥Þ¥¦¥ó¥È½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤« */ int mountnottry = 1; void InitCannaConfig(cf) struct CannaConfig *cf; { bzero(cf, sizeof(struct CannaConfig)); cf->CannaVersion = CANNA_MAJOR_MINOR; cf->kouho_threshold = 2; cf->strokelimit = STROKE_LIMIT; cf->CursorWrap = 1; cf->SelectDirect = 1; cf->HexkeySelect = 1; cf->ChBasedMove = 1; cf->Gakushu = 1; cf->grammaticalQuestion = 1; cf->stayAfterValidate = 1; cf->kCount = 1; cf->hexCharacterDefiningStyle = HEX_USUAL; cf->ChikujiContinue = 1; cf->RenbunContinue = 1; cf->MojishuContinue = 1; cf->kojin = 1; cf->indexSeparator = DEFAULTINDEXSEPARATOR; cf->allowNextInput = 1; cf->chikujiRealBackspace = 1; cf->BackspaceBehavesAsQuit = 1; cf->doKatakanaGakushu = 1; cf->doHiraganaGakushu = 1; cf->auto_sync = 1; } static void freeUInfo pro((void)); static void freeUInfo() { if (uinfo) { if (uinfo->uname) free(uinfo->uname); if (uinfo->gname) free(uinfo->gname); if (uinfo->srvname) free(uinfo->srvname); if (uinfo->topdir) free(uinfo->topdir); if (uinfo->cannafile) free(uinfo->cannafile); if (uinfo->romkanatable) free(uinfo->romkanatable); free((char *)uinfo); uinfo = (jrUserInfoStruct *)NULL; } } /* ¥Ç¥Õ¥¡¡¼¥ë¥ÈÃͤˤâ¤É¤¹¡£ */ void restoreBindings() { InitCannaConfig(&cannaconf); if (initfunc) free(initfunc); initfunc = (BYTE *)NULL; if (server_name) free(server_name); server_name = (char *)NULL; if (RomkanaTable) { free(RomkanaTable); RomkanaTable = (char *)NULL; } if (EnglishTable) { free(EnglishTable); EnglishTable = (char *)NULL; } romajidic = (struct RkRxDic *)NULL; englishdic = (struct RkRxDic *)NULL; RengoGakushu = (struct dicname *)NULL; KatakanaGakushu = (struct dicname *)NULL; HiraganaGakushu = (struct dicname *)NULL; howToBehaveInCaseOfUndefKey = kc_normal; /* kanjidicname[nkanjidics = 0] = (char *)NULL; Âå¤ï¤ê¤Î¤³¤È¤ò¤·¤Ê¤±¤ì¤Ð */ kanjidicnames = (struct dicname *)NULL; kataautodic = (char *)NULL; #ifdef HIRAGANAAUTO hiraautodic = (char *)NULL; #endif auto_define = 0; saveapname[0] = '\0'; KeepCursorPosition = 0; nothermodes = 0; protocol_version = server_version = -1; nKouhoBunsetsu = 16; nkeysup = 0; chikuji_debug = 0; keyconvCallback = (void (*)())0; freeUInfo(); } Canna37p3/lib/canna/defaultmap.c0100644000076500001200000003433207732020155015767 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: defaultmap.c,v 1.2 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include extern int howToBehaveInCaseOfUndefKey; #define DEFAULTBEHAVIOR 0 static int (*getfunc(tbl, f))() struct funccfunc *tbl; unsigned char f; { struct funccfunc *p; for (p = tbl ; p->funcid || p->cfunc ; p++) { if (p->funcid == (unsigned char)f) { return p->cfunc; } } return (int (*)())0; } static simpleUndefBehavior(d) uiContext d; { switch (howToBehaveInCaseOfUndefKey) { case kc_through: d->kanji_status_return->length = -1; return d->nbytes; case kc_kakutei: d->nbytes = escapeToBasicStat(d, CANNA_FN_Kakutei); if (d->n_buffer > d->nbytes) { int check; d->buffer_return[d->nbytes] = key2wchar(d->ch, &check); if (check) { d->nbytes++; } } return d->nbytes; case kc_kill: d->nbytes = escapeToBasicStat(d, CANNA_FN_Quit); if (d->n_buffer > d->nbytes) { int check; d->buffer_return[d->nbytes] = key2wchar(d->ch, &check); if (check) { d->nbytes++; } } return d->nbytes; case kc_normal: default: return NothingChangedWithBeep(d); } } searchfunc(d, mode, whattodo, key, fnum) uiContext d; KanjiMode mode; int whattodo; int key; int fnum; { int (*func)(); if (fnum == 0) { fnum = mode->keytbl[key]; } switch (whattodo) { case KEY_CALL: /* ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤¬ strokelimit ¥¹¥È¥í¡¼¥¯°Ê¾å³¤¤¤¿¤é ¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ë */ if (cannaconf.strokelimit > 0) { extern KanjiModeRec alpha_mode; if (mode == &alpha_mode) { d->strokecounter++; #ifdef DEBUG if (iroha_debug) { fprintf(stderr, "d->strokecounter=%d\n", d->strokecounter); } #endif if (d->strokecounter == cannaconf.strokelimit + 1) { jrKanjiPipeError(); } } else { d->strokecounter = 0; #ifdef DEBUG if (iroha_debug) { fprintf(stderr, "d->strokecounter=%d\n", d->strokecounter); } #endif } } /* ¤¤¤è¤¤¤èËܳÊŪ¤Ê½èÍý(¤³¤³¤Þ¤Ç¤ÏÁ°½èÍý) */ if (fnum < CANNA_FN_MAX_FUNC) { func = getfunc(mode->ftbl, fnum); if (func) { return (*func)(d); } } else { func = getfunc(mode->ftbl, CANNA_FN_UserMode); if (func) { /* func ¤Î¥¿¥¤¥×¤¬¾å¤È°ã¤Ã¤Æ¤Æ±ø¤¤¤Ê¤¢... */ return (*func)(d, fnum); } } /* ¤½¤Î¥â¡¼¥É¤Ç fnum ¤ËÂбþ¤¹¤ëµ¡Ç½¤¬¤Ê¤¤¡£¤·¤«¤¿¤¬¤Ê¤¤¤Î¤Ç¡¢ ¥Ç¥Õ¥©¥ë¥Èµ¡Ç½¤òõ¤¹ */ func = getfunc(mode->ftbl, DEFAULTBEHAVIOR); if (func) { return (*func)(d); } else { return simpleUndefBehavior(d); } /* NOTREACHED */ break; case KEY_CHECK: if (fnum >= CANNA_FN_MAX_FUNC) { fnum = CANNA_FN_UserMode; } return getfunc(mode->ftbl, fnum) ? 1 : 0; /* NOTREACHED */ break; case KEY_SET: /* is not supported yet */ return 0; /* NOTREACHED */ break; } /* NOTREACHED */ } /* Ã༡ÆÉ¤ß¥â¡¼¥ÉÍÑ */ CYsearchfunc(d, mode, whattodo, key, fnum) uiContext d; KanjiMode mode; int whattodo; int key; int fnum; { int (*func)(); extern KanjiModeRec yomi_mode; if (fnum == 0) { fnum = mode->keytbl[key]; } if (Yomisearchfunc(d, mode, KEY_CHECK, key, fnum)) { return Yomisearchfunc(d, mode, whattodo, key, fnum); } else { func = getfunc(yomi_mode.ftbl, fnum); switch (whattodo) { case KEY_CALL: if (func) { return (*func)(d); } else { return Yomisearchfunc(d, mode, whattodo, key, fnum); } /* NOTREACHED */ break; case KEY_CHECK: return func ? 1 : 0; /* NOTREACHED */ break; case KEY_SET: return 0; /* NOTREACHED */ break; } } /* may be NOTREACHED */ return 0; } #define NONE CANNA_FN_Undefined BYTE default_kmap[256] = { /* C-@ */ CANNA_FN_Mark, /* C-a */ CANNA_FN_BeginningOfLine, /* C-b */ CANNA_FN_Backward, /* C-c */ CANNA_FN_BubunMuhenkan, /* C-d */ CANNA_FN_DeleteNext, /* C-e */ CANNA_FN_EndOfLine, /* C-f */ CANNA_FN_Forward, /* C-g */ CANNA_FN_Quit, /* C-h */ CANNA_FN_DeletePrevious, /* C-i */ CANNA_FN_Shrink, /* C-j */ CANNA_FN_BubunKakutei, /* C-k */ CANNA_FN_KillToEndOfLine, /* C-l */ CANNA_FN_ToLower, /* C-m */ CANNA_FN_Kakutei, /* C-n */ CANNA_FN_Next, /* C-o */ CANNA_FN_Extend, /* C-p */ CANNA_FN_Prev, /* C-q */ CANNA_FN_QuotedInsert, /* C-r */ NONE, /* C-s */ NONE, /* C-t */ NONE, /* C-u */ CANNA_FN_ToUpper, /* C-v */ NONE, /* C-w */ CANNA_FN_KouhoIchiran, /* C-x */ NONE, /* C-y */ CANNA_FN_ConvertAsHex, /* C-z */ NONE, /* C-[ */ NONE, /* C-\ */ NONE, /* C-] */ NONE, /* C-^ */ NONE, /* C-_ */ NONE, /* space */ CANNA_FN_Henkan, /* ! */ CANNA_FN_FunctionalInsert, /* " */ CANNA_FN_FunctionalInsert, /* # */ CANNA_FN_FunctionalInsert, /* $ */ CANNA_FN_FunctionalInsert, /* % */ CANNA_FN_FunctionalInsert, /* & */ CANNA_FN_FunctionalInsert, /* ' */ CANNA_FN_FunctionalInsert, /* ( */ CANNA_FN_FunctionalInsert, /* ) */ CANNA_FN_FunctionalInsert, /* * */ CANNA_FN_FunctionalInsert, /* + */ CANNA_FN_FunctionalInsert, /* , */ CANNA_FN_FunctionalInsert, /* - */ CANNA_FN_FunctionalInsert, /* . */ CANNA_FN_FunctionalInsert, /* / */ CANNA_FN_FunctionalInsert, /* 0 */ CANNA_FN_FunctionalInsert, /* 1 */ CANNA_FN_FunctionalInsert, /* 2 */ CANNA_FN_FunctionalInsert, /* 3 */ CANNA_FN_FunctionalInsert, /* 4 */ CANNA_FN_FunctionalInsert, /* 5 */ CANNA_FN_FunctionalInsert, /* 6 */ CANNA_FN_FunctionalInsert, /* 7 */ CANNA_FN_FunctionalInsert, /* 8 */ CANNA_FN_FunctionalInsert, /* 9 */ CANNA_FN_FunctionalInsert, /* : */ CANNA_FN_FunctionalInsert, /* ; */ CANNA_FN_FunctionalInsert, /* < */ CANNA_FN_FunctionalInsert, /* = */ CANNA_FN_FunctionalInsert, /* > */ CANNA_FN_FunctionalInsert, /* ? */ CANNA_FN_FunctionalInsert, /* @ */ CANNA_FN_FunctionalInsert, /* A */ CANNA_FN_FunctionalInsert, /* B */ CANNA_FN_FunctionalInsert, /* C */ CANNA_FN_FunctionalInsert, /* D */ CANNA_FN_FunctionalInsert, /* E */ CANNA_FN_FunctionalInsert, /* F */ CANNA_FN_FunctionalInsert, /* G */ CANNA_FN_FunctionalInsert, /* H */ CANNA_FN_FunctionalInsert, /* I */ CANNA_FN_FunctionalInsert, /* J */ CANNA_FN_FunctionalInsert, /* K */ CANNA_FN_FunctionalInsert, /* L */ CANNA_FN_FunctionalInsert, /* M */ CANNA_FN_FunctionalInsert, /* N */ CANNA_FN_FunctionalInsert, /* O */ CANNA_FN_FunctionalInsert, /* P */ CANNA_FN_FunctionalInsert, /* Q */ CANNA_FN_FunctionalInsert, /* R */ CANNA_FN_FunctionalInsert, /* S */ CANNA_FN_FunctionalInsert, /* T */ CANNA_FN_FunctionalInsert, /* U */ CANNA_FN_FunctionalInsert, /* V */ CANNA_FN_FunctionalInsert, /* W */ CANNA_FN_FunctionalInsert, /* X */ CANNA_FN_FunctionalInsert, /* Y */ CANNA_FN_FunctionalInsert, /* Z */ CANNA_FN_FunctionalInsert, /* [ */ CANNA_FN_FunctionalInsert, /* \ */ CANNA_FN_FunctionalInsert, /* ] */ CANNA_FN_FunctionalInsert, /* ^ */ CANNA_FN_FunctionalInsert, /* _ */ CANNA_FN_FunctionalInsert, /* ` */ CANNA_FN_FunctionalInsert, /* a */ CANNA_FN_FunctionalInsert, /* b */ CANNA_FN_FunctionalInsert, /* c */ CANNA_FN_FunctionalInsert, /* d */ CANNA_FN_FunctionalInsert, /* e */ CANNA_FN_FunctionalInsert, /* f */ CANNA_FN_FunctionalInsert, /* g */ CANNA_FN_FunctionalInsert, /* h */ CANNA_FN_FunctionalInsert, /* i */ CANNA_FN_FunctionalInsert, /* j */ CANNA_FN_FunctionalInsert, /* k */ CANNA_FN_FunctionalInsert, /* l */ CANNA_FN_FunctionalInsert, /* m */ CANNA_FN_FunctionalInsert, /* n */ CANNA_FN_FunctionalInsert, /* o */ CANNA_FN_FunctionalInsert, /* p */ CANNA_FN_FunctionalInsert, /* q */ CANNA_FN_FunctionalInsert, /* r */ CANNA_FN_FunctionalInsert, /* s */ CANNA_FN_FunctionalInsert, /* t */ CANNA_FN_FunctionalInsert, /* u */ CANNA_FN_FunctionalInsert, /* v */ CANNA_FN_FunctionalInsert, /* w */ CANNA_FN_FunctionalInsert, /* x */ CANNA_FN_FunctionalInsert, /* y */ CANNA_FN_FunctionalInsert, /* z */ CANNA_FN_FunctionalInsert, /* { */ CANNA_FN_FunctionalInsert, /* | */ CANNA_FN_FunctionalInsert, /* } */ CANNA_FN_FunctionalInsert, /* ~ */ CANNA_FN_FunctionalInsert, /* DEL */ NONE, /* Nfer */ CANNA_FN_Kakutei, /* Xfer */ CANNA_FN_Henkan, /* Up */ CANNA_FN_Prev, /* Left */ CANNA_FN_Backward, /* Right */ CANNA_FN_Forward, /* Down */ CANNA_FN_Next, /* Insert */ CANNA_FN_KigouMode, /* Rollup */ CANNA_FN_PageDown, /* Rolldown */ CANNA_FN_PageUp, /* Home */ CANNA_FN_BeginningOfLine, /* Help */ CANNA_FN_EndOfLine, /* KeyPad */ NONE, /* End */ CANNA_FN_EndOfLine, /* 8d */ NONE, /* 8e */ NONE, /* 8f */ NONE, /* S-nfer */ NONE, /* S-xfer */ CANNA_FN_Prev, /* S-up */ NONE, /* S-left */ CANNA_FN_Shrink, /* S-right */ CANNA_FN_Extend, /* S-down */ NONE, /* C-nfer */ NONE, /* C-xfer */ NONE, /* C-up */ NONE, /* C-left */ CANNA_FN_Shrink, /* C-right */ CANNA_FN_Extend, /* C-down */ NONE, /* KP-, */ NONE, /* KP-. */ NONE, /* KP-/ */ NONE, /* KP-- */ NONE, /* S-space */ NONE, /* ¡£ */ CANNA_FN_FunctionalInsert, /* ¡Ö */ CANNA_FN_FunctionalInsert, /* ¡× */ CANNA_FN_FunctionalInsert, /* ¡¢ */ CANNA_FN_FunctionalInsert, /* ¡¦ */ CANNA_FN_FunctionalInsert, /* ¥ò */ CANNA_FN_FunctionalInsert, /* ¥¡ */ CANNA_FN_FunctionalInsert, /* ¥£ */ CANNA_FN_FunctionalInsert, /* ¥¥ */ CANNA_FN_FunctionalInsert, /* ¥§ */ CANNA_FN_FunctionalInsert, /* ¥© */ CANNA_FN_FunctionalInsert, /* ¥ã */ CANNA_FN_FunctionalInsert, /* ¥å */ CANNA_FN_FunctionalInsert, /* ¥ç */ CANNA_FN_FunctionalInsert, /* ¥Ã */ CANNA_FN_FunctionalInsert, /* ¡¼ */ CANNA_FN_FunctionalInsert, /* ¥¢ */ CANNA_FN_FunctionalInsert, /* ¥¤ */ CANNA_FN_FunctionalInsert, /* ¥¦ */ CANNA_FN_FunctionalInsert, /* ¥¨ */ CANNA_FN_FunctionalInsert, /* ¥ª */ CANNA_FN_FunctionalInsert, /* ¥« */ CANNA_FN_FunctionalInsert, /* ¥­ */ CANNA_FN_FunctionalInsert, /* ¥¯ */ CANNA_FN_FunctionalInsert, /* ¥± */ CANNA_FN_FunctionalInsert, /* ¥³ */ CANNA_FN_FunctionalInsert, /* ¥µ */ CANNA_FN_FunctionalInsert, /* ¥· */ CANNA_FN_FunctionalInsert, /* ¥¹ */ CANNA_FN_FunctionalInsert, /* ¥» */ CANNA_FN_FunctionalInsert, /* ¥½ */ CANNA_FN_FunctionalInsert, /* ¥¿ */ CANNA_FN_FunctionalInsert, /* ¥Á */ CANNA_FN_FunctionalInsert, /* ¥Ä */ CANNA_FN_FunctionalInsert, /* ¥Æ */ CANNA_FN_FunctionalInsert, /* ¥È */ CANNA_FN_FunctionalInsert, /* ¥Ê */ CANNA_FN_FunctionalInsert, /* ¥Ë */ CANNA_FN_FunctionalInsert, /* ¥Ì */ CANNA_FN_FunctionalInsert, /* ¥Í */ CANNA_FN_FunctionalInsert, /* ¥Î */ CANNA_FN_FunctionalInsert, /* ¥Ï */ CANNA_FN_FunctionalInsert, /* ¥Ò */ CANNA_FN_FunctionalInsert, /* ¥Õ */ CANNA_FN_FunctionalInsert, /* ¥Ø */ CANNA_FN_FunctionalInsert, /* ¥Û */ CANNA_FN_FunctionalInsert, /* ¥Þ */ CANNA_FN_FunctionalInsert, /* ¥ß */ CANNA_FN_FunctionalInsert, /* ¥à */ CANNA_FN_FunctionalInsert, /* ¥á */ CANNA_FN_FunctionalInsert, /* ¥â */ CANNA_FN_FunctionalInsert, /* ¥ä */ CANNA_FN_FunctionalInsert, /* ¥æ */ CANNA_FN_FunctionalInsert, /* ¥è */ CANNA_FN_FunctionalInsert, /* ¥é */ CANNA_FN_FunctionalInsert, /* ¥ê */ CANNA_FN_FunctionalInsert, /* ¥ë */ CANNA_FN_FunctionalInsert, /* ¥ì */ CANNA_FN_FunctionalInsert, /* ¥í */ CANNA_FN_FunctionalInsert, /* ¥ï */ CANNA_FN_FunctionalInsert, /* ¥ó */ CANNA_FN_FunctionalInsert, /* ¡« */ CANNA_FN_FunctionalInsert, /* ¡¬ */ CANNA_FN_FunctionalInsert, /* F1 */ NONE, /* F2 */ NONE, /* F3 */ NONE, /* F4 */ NONE, /* F5 */ NONE, /* F6 */ NONE, /* F7 */ NONE, /* F8 */ NONE, /* F9 */ NONE, /* F10 */ NONE, /* ea */ NONE, /* eb */ NONE, /* ec */ NONE, /* ed */ NONE, /* ee */ NONE, /* ef */ NONE, /* PF1 */ NONE, /* PF2 */ NONE, /* PF3 */ NONE, /* PF4 */ NONE, /* PF5 */ NONE, /* PF6 */ NONE, /* PF7 */ NONE, /* PF8 */ NONE, /* PF9 */ NONE, /* PF10 */ NONE, /* HIRAGANA */ CANNA_FN_BaseHiragana, /* KATAKANA */ CANNA_FN_BaseKatakana, /* HAN-ZEN */ CANNA_FN_BaseZenHanToggle, /* EISU */ CANNA_FN_BaseEisu, /* fe */ NONE, /* ff */ NONE, }; Canna37p3/lib/canna/ebind.c0100644000076500001200000003050107732020155014720 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[] = "$Id: ebind.c,v 1.6 2003/09/17 08:50:53 aida_s Exp $"; #endif #include "canna.h" #define MAX_BYTE_PER_CHAR 4 /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern int howToReturnModeInfo; static wchar_t *inbuf = 0; static int inbufsize = 0; static StoreWCtoEUC(wbuf, wbuflen, wks, ebuf, maxebuf, ks, ch, nbytes) wchar_t *wbuf; int wbuflen; wcKanjiStatus *wks; char *ebuf; int maxebuf; jrKanjiStatus *ks; int ch; int nbytes; { int ret, rest, totallen = 0, len; char *p; /* info */ ks->info = wks->info; /* ·ë²Ì */ if (ks->info & KanjiThroughInfo) { if (nbytes) { ebuf[0] = ch; } ret = nbytes; } else { ret = (wbuflen > 0) ? WCstombs(ebuf, wbuf, maxebuf) : 0; if (ks->info & KanjiYomiInfo) { wchar_t *ep; len = WCstombs(ebuf + ret + 1, wbuf + wbuflen + 1, maxebuf - ret - 1); ep = wbuf + wbuflen + 1; while (*ep) ep++; WCstombs(ebuf + ret + 1 + len + 1, ep + 1, maxebuf - ret - 1 - len - 1); } } if (wks->length > 0) { totallen = wks->length; } if (wks->info & KanjiModeInfo) { totallen += WStrlen(wks->mode); } if (wks->info & KanjiGLineInfo) { totallen += wks->gline.length; } if (inbufsize < totallen) { inbufsize = totallen; /* inbufsize will be greater than 0 */ if (inbuf) free(inbuf); inbuf = (wchar_t *)malloc(inbufsize * sizeof(wchar_t)); if (!inbuf) { inbufsize = 0; jrKanjiError = "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363"; /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó */ return -1; } } rest = inbufsize * sizeof(wchar_t); p = (char *)inbuf; if (wks->length < 0) { ks->length = -1; } else { /* ¥¨¥³¡¼Ê¸»ú */ ks->length = ks->revLen = ks->revPos = 0; if (wks->length > 0) { ks->echoStr = (unsigned char *)p; if (wks->revPos > 0) { len = ks->revPos = CNvW2E(wks->echoStr, wks->revPos, p, rest); p += len; rest -= len; } if (wks->revLen > 0) { len = ks->revLen = CNvW2E(wks->echoStr + wks->revPos, wks->revLen, p, rest); p += len; rest -= len; } len = 0; if (wks->length - wks->revPos - wks->revLen > 0) { len = CNvW2E(wks->echoStr + wks->revPos + wks->revLen, wks->length - wks->revPos - wks->revLen, p, rest); p += len; rest -= len; } ks->length = ks->revLen + ks->revPos + len; *p++ = '\0'; rest--; } } /* ¥â¡¼¥Éɽ¼¨ */ if (wks->info & KanjiModeInfo) { len = WCstombs(p, wks->mode, rest); ks->mode = (unsigned char *)p; p[len] = '\0'; p += len + 1; rest -= len + 1; } /* °ìÍ÷¹Ôɽ¼¨ */ if (wks->info & KanjiGLineInfo) { ks->gline.length = ks->gline.revLen = ks->gline.revPos = 0; if (wks->gline.length > 0) { ks->gline.line = (unsigned char *)p; if (wks->gline.revPos > 0) { len = ks->gline.revPos = CNvW2E(wks->gline.line, wks->gline.revPos, p, rest); p += len; rest -= len; } if (wks->gline.revLen > 0) { len = ks->gline.revLen = CNvW2E(wks->gline.line + wks->gline.revPos, wks->gline.revLen, p, rest); p += len; rest -= len; } len = 0; if (wks->gline.length - wks->gline.revPos - wks->gline.revLen > 0) { len = CNvW2E(wks->gline.line + wks->gline.revPos + wks->gline.revLen, wks->gline.length - wks->gline.revPos - wks->gline.revLen, p, rest); p += len; rest -= len; } ks->gline.length = ks->gline.revLen + ks->gline.revPos + len; *p++ = '\0'; rest--; } } return ret; } XLookupKanji2(dpy, win, buffer_return, bytes_buffer, nbytes, functionalChar, kanji_status_return) unsigned int dpy, win; int functionalChar, nbytes; char *buffer_return; int bytes_buffer; jrKanjiStatus *kanji_status_return; { int ret; wcKanjiStatus wks; int ch; int i; /* ÆâÉô¥Ð¥Ã¥Õ¥¡¤ò¥¢¥í¥±¡¼¥È¤¹¤ë */ if (inbufsize < bytes_buffer) { inbufsize = bytes_buffer; /* inbufsize will be greater than 0 */ if (inbuf) free(inbuf); inbuf = (wchar_t *)malloc(inbufsize * sizeof(wchar_t)); if (!inbuf) { inbufsize = 0; jrKanjiError = "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363"; /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó */ return -1; } } inbuf[0] = (wchar_t)(unsigned char)buffer_return[0]; for (i = 1 ; i < nbytes ; i++) { inbuf[i] = (wchar_t)(unsigned char)buffer_return[i]; } ch = buffer_return[0] & 0xff; ret = XwcLookupKanji2(dpy, win, inbuf, inbufsize, nbytes, functionalChar, &wks); if (ret >= inbufsize) ret = inbufsize - 1; inbuf[ret] = (wchar_t)0; return StoreWCtoEUC(inbuf, ret, &wks, (char *)buffer_return, bytes_buffer, kanji_status_return, ch, nbytes); } int EUCListCallback(client_data, func, items, nitems, cur_item) char *client_data; int func; wchar_t **items; int nitems, *cur_item; { const jrEUCListCallbackStruct *elistcb; int r = -1; char **eitems = NULL; char *ebuf = NULL; char *ep; size_t buflen = 0; int i; elistcb = (const jrEUCListCallbackStruct *)client_data; if (!items) /* CANNA_LIST_Insert sets 'nitems' to the pressed key (!=0) */ return elistcb->callback_func(elistcb->client_data, func, NULL, nitems, cur_item); for (i = 0; i < nitems; i++) { /* EUC(ºÇÂç3¥Ð¥¤¥È) + ½ªÃ¼¥Ì¥ë */ buflen += WStrlen(items[i]) * 3 + 1; } ebuf = (char *)malloc(buflen); eitems = (char **)malloc((nitems + 1) * sizeof(char **)); if (!ebuf || !eitems) goto last; /* XXX: ñ¤Ë-1¤òÊÖ¤·¤Æ¤¤¤¤¤Î¤«¡© */ ep = ebuf; for (i = 0; i < nitems; i++) { size_t len = WCstombs(ep, items[i], ebuf + buflen - ep); eitems[i] = ep; ep += len + 1; /* ¥Ð¥Ã¥Õ¥¡¤Ï¾ï¤Ë­¤ê¤Æ¤¤¤Æ¥Ì¥ë½ªÃ¼¤¬¤¢¤ë */ } eitems[nitems] = NULL; r = elistcb->callback_func(elistcb->client_data, func, eitems, nitems, cur_item); last: free(ebuf); free(eitems); return r; } int XKanjiControl2(display, window, request, arg) unsigned int display, window, request; BYTE *arg; { int ret = -1, len1, len2; wcKanjiStatusWithValue wksv; wcKanjiStatus wks; jrListCallbackStruct list_cb; int ch; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t arg2[256]; wchar_t wbuf[320], wbuf1[320], wbuf2[320]; #else wchar_t *arg2, *wbuf, *wbuf1, *wbuf2; arg2 = (wchar_t *)malloc(sizeof(wchar_t) * 256); wbuf = (wchar_t *)malloc(sizeof(wchar_t) * 320); wbuf1 = (wchar_t *)malloc(sizeof(wchar_t) * 320); wbuf2 = (wchar_t *)malloc(sizeof(wchar_t) * 320); if (!arg2 || !wbuf || !wbuf1 || !wbuf2) { if (arg2) { (void)free((char *)arg2); } if (wbuf) { (void)free((char *)wbuf); } if (wbuf1) { (void)free((char *)wbuf1); } if (wbuf2) { (void)free((char *)wbuf2); } return ret; } #endif wksv.buffer = wbuf; wksv.n_buffer = 320; wksv.ks = &wks; switch (request) { case KC_DO: /* val ¤È buffer_return ¤ËÆþ¤ì¤ë¥¿¥¤¥× */ wbuf[0] = ((jrKanjiStatusWithValue *)arg)->buffer[0]; /* ²¼¤ØÂ³¤¯ */ case KC_CHANGEMODE: /* val ¤òÍ¿¤¨¤ë¥¿¥¤¥× */ wksv.val = ((jrKanjiStatusWithValue *)arg)->val; goto withksv; case KC_STOREYOMI: /* echoStr ¤È length ¤È mode ¤òÍ¿¤¨¤ë¥¿¥¤¥× */ /* ¤Þ¤º mode ¤ò¥ï¥¤¥É¤Ë¤·¤Æ¤ß¤è¤¦ */ if (((jrKanjiStatusWithValue *)arg)->ks->mode) { len2 = MBstowcs(wbuf2, (char *)((jrKanjiStatusWithValue *)arg)->ks->mode, 320); wbuf2[len2] = (wchar_t)0; wks.mode = wbuf2; } else { wks.mode = (wchar_t *)0; } /* ²¼¤ØÂ³¤¯ */ case KC_DEFINEKANJI: /* echoStr ¤È length ¤òÍ¿¤¨¤ë¥¿¥¤¥× */ /* echoStr ¤ò¥ï¥¤¥É¤Ë¤·¤ÆÍ¿¤¨¤Æ¤ß¤è¤¦ */ len1 = MBstowcs(wbuf1, (char *)((jrKanjiStatusWithValue *)arg)->ks->echoStr, 320); wbuf1[len1] = (wchar_t)0; wks.echoStr = wbuf1; wks.length = len1; /* ²¼¤ØÂ³¤¯ */ case KC_KAKUTEI: /* ¤¿¤Àñ¤ËÍ¿¤¨¤ÆÊ֤äÆÍè¤ë¥¿¥¤¥× */ case KC_KILL: goto withksv; case KC_CLOSEUICONTEXT: goto closecont; case KC_QUERYMODE: /* querymode */ ret = XwcKanjiControl2(display, window, request, (BYTE *)arg2); if (!ret) { switch (howToReturnModeInfo) { case ModeInfoStyleIsString: WCstombs((char *)arg, arg2, 256); break; case ModeInfoStyleIsBaseNumeric: arg[2] = (unsigned char)arg2[2]; case ModeInfoStyleIsExtendedNumeric: arg[1] = (unsigned char)arg2[1]; case ModeInfoStyleIsNumeric: arg[0] = (unsigned char)arg2[0]; break; } } goto return_ret; case KC_SETLISTCALLBACK: /* dirty, dirty hack */ /* list_cb¤ÏKC_setListCallback¤Çd->elistcb¤Ë°ú¤Ã±Û¤¹ */ list_cb.client_data = (char *)arg; list_cb.callback_func = &EUCListCallback; ret = XwcKanjiControl2(display, window, request, (char *)&list_cb); goto return_ret; /* FALLTHROUGH */ default: /* ¥ï¥¤¥É¤Ç¤âEUC¤Ç¤âÊѤï¤é¤Ê¤¤¤â¤Î */ ret = XwcKanjiControl2(display, window, request, arg); goto return_ret; } withksv: ch = ((jrKanjiStatusWithValue *)arg)->buffer[0]; ret = XwcKanjiControl2(display, window, request, (BYTE *)&wksv); if (ret < 0) { goto return_ret; } else { wksv.buffer[ret] = (wchar_t)0; ((jrKanjiStatusWithValue *)arg)->val = StoreWCtoEUC(wksv.buffer, wksv.val, wksv.ks, (char *)((jrKanjiStatusWithValue *)arg)->buffer, ((jrKanjiStatusWithValue *)arg)->bytes_buffer, ((jrKanjiStatusWithValue *)arg)->ks, ch, ((jrKanjiStatusWithValue *)arg)->val); ret = ((jrKanjiStatusWithValue *)arg)->val; goto return_ret; } closecont: ch = ((jrKanjiStatusWithValue *)arg)->buffer[0]; ret = XwcKanjiControl2(display, window, request, (BYTE *)&wksv); if (ret < 0) { goto return_ret; } else { wksv.val = 0; ((jrKanjiStatusWithValue *)arg)->val = StoreWCtoEUC(wksv.buffer, wksv.val, wksv.ks, (char *)((jrKanjiStatusWithValue *)arg)->buffer, ((jrKanjiStatusWithValue *)arg)->bytes_buffer, ((jrKanjiStatusWithValue *)arg)->ks, ch, ((jrKanjiStatusWithValue *)arg)->val); goto return_ret; } return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)wbuf2); (void)free((char *)wbuf1); (void)free((char *)wbuf); (void)free((char *)arg2); #endif return ret; } exp(int) jrKanjiString(context_id, ch, buffer_return, nbuffer, kanji_status_return) const int context_id, ch, nbuffer; char *buffer_return; jrKanjiStatus *kanji_status_return; { *buffer_return = ch; return XLookupKanji2((unsigned int)0, (unsigned int)context_id, buffer_return, nbuffer, 1/* byte */, 1/* functional char*/, kanji_status_return); } /* jrKanjiControl -- ¥«¥Ê´Á»úÊÑ´¹¤ÎÀ©¸æ¤ò¹Ô¤¦ */ exp(int) jrKanjiControl(context, request, arg) const int context; const int request; char *arg; { return XKanjiControl2((unsigned int)0, (unsigned int)context, request, (BYTE *)arg); } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/empty.c0100644000076500001200000004507307732020155015007 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: empty.c,v 1.2 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include "patchlevel.h" extern KanjiModeRec yomi_mode, cy_mode; /* EmptySelfInsert -- ¼«Ê¬¼«¿È¤ò³ÎÄêʸ»úÎó¤È¤·¤ÆÊÖ¤¹´Ø¿ô¡£ * */ static inEmptySelfInsert(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int res = 0; d->kanji_status_return->info |= KanjiThroughInfo | KanjiEmptyInfo; if (!(yc->generalFlags & CANNA_YOMI_END_IF_KAKUTEI)) { res = d->nbytes; } /* else { ³ÎÄê¥Ç¡¼¥¿¤À¤±¤òÂԤäƤ¤¤ë¿Í¤Ë¤Ï³ÎÄê¥Ç¡¼¥¿¤òÅϤµ¤Ê¤¤ } */ return res; } static EmptySelfInsert pro((uiContext)); static EmptySelfInsert(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int res = inEmptySelfInsert(d); /* ñ¸ìÅÐÏ¿¤Î¤È¤­¤Ë yomi mode ¤Î³ÎÄꥭ¡¼¤¬ empty mode ¤Ç¤Ï³ÎÄꥭ¡¼¤Ç¤Ê ¤«¤Ã¤¿¤ê¤¹¤ë¤È¡¢¤½¤Î¥­¡¼¤Î²¡²¼¤Ç»à¤ó¤Ç¤·¤Þ¤Ã¤¿¤ê¤¹¤ë¤Î¤ÎµßºÑ¡£yomi mode ¤Î¾å¤Ë yomi mode ¤¬¾è¤Ã¤Æ¤¤¤ë¤Î¤Ïñ¸ìÅÐÏ¿¤Î»þ¤°¤é¤¤¤À¤í¤¦¤È¸À ¤¦¤³¤È¤ÇȽÃǤκàÎÁ¤Ë¤·¤Æ¤¤¤ë¡£ËÜÅö¤Ï¤³¤ó¤Ê¤³¤È¤ä¤ê¤¿¤¯¤Ê¤¤¡£ */ if (yc->next && yc->next->id == YOMI_CONTEXT && yomi_mode.keytbl[d->buffer_return[0]] == CANNA_FN_Kakutei) { d->status = EXIT_CALLBACK; if (d->cb->func[EXIT_CALLBACK] != NO_CALLBACK) { d->kanji_status_return->info &= ~KanjiThroughInfo; /* »Å»ö¤·¤¿ */ popYomiMode(d); } } return res; } /* EmptyYomiInsert -- ¡û¥â¡¼¥É¤Ë°Ü¹Ô¤·¡¢ÆÉ¤ß¤òÆþÎϤ¹¤ë´Ø¿ô * */ static EmptyYomiInsert pro((uiContext)); static EmptyYomiInsert(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; d->current_mode = (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) ? &cy_mode : &yomi_mode; RomajiClearYomi(d); return YomiInsert(d); /* ¥³¡¼¥ë¥Ð¥Ã¥¯¤Î¥Á¥§¥Ã¥¯¤Ï YomiInsert ¤Ç¤µ¤ì¤ë */ } /* EmptyQuotedInsert -- ¼¡¤Î°ì»ú¤¬¤É¤Î¤è¤¦¤Êʸ»ú¤Ç¤â¥¹¥ë¡¼¤ÇÄ̤¹´Ø¿ô¡£ * */ /* Empty ¥â¡¼¥É¤Ç¤Î quotedInset ¤Ï ^Q ¤Î¤è¤¦¤Êʸ»ú¤¬°ì²ó Emacs ¤Ê¤É¤ÎÊý ¤ËÄ̤äƤ·¤Þ¤¨¤Ð¥Þ¥Ã¥×¤¬ÊÖ¤é¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¥«¥Ê´Á»úÊÑ´¹¤ÎÊý¤Ç²¿¤«¤ò ¤¹¤ë¤Ê¤ó¤Æ¤³¤È¤ÏɬÍפʤ¤¤Î¤Ç¤Ï¤Ê¤¤¤Î¤«¤Ê¤¡¡£ */ static EmptyQuotedInsert pro((uiContext)); static EmptyQuotedInsert(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; d->current_mode = (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) ? &cy_mode : &yomi_mode; return YomiQuotedInsert(d); } /* AlphaSelfInsert -- ¼«Ê¬¼«¿È¤ò³ÎÄêʸ»úÎó¤È¤·¤ÆÊÖ¤¹´Ø¿ô¡£ */ static AlphaSelfInsert pro((uiContext)); static AlphaSelfInsert(d) uiContext d; { unsigned kanap = (unsigned)d->ch; d->kanji_status_return->length = 0; d->kanji_status_return->info |= KanjiEmptyInfo; d->kanji_status_return->info |= KanjiThroughInfo; if ( d->nbytes != 1 || kanap <= 0xa0 || 0xe0 <= kanap ) { return d->nbytes; } else { /* ²¾Ì¾¥­¡¼ÆþÎϤξì¹ç */ if (d->n_buffer > 1) { return 1; } else { return 0; } } } static AlphaNop pro((uiContext)); static AlphaNop(d) uiContext d; { /* currentModeInfo ¤Ç¥â¡¼¥É¾ðÊó¤¬É¬¤ºÊÖ¤ë¤è¤¦¤Ë¥À¥ß¡¼¤Î¥â¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯ */ d->majorMode = d->minorMode = CANNA_MODE_KigoMode; currentModeInfo(d); return 0; } static EmptyQuit pro((uiContext)); static EmptyQuit(d) uiContext d; { int res; res = inEmptySelfInsert(d); d->status = QUIT_CALLBACK; if (d->cb->func[QUIT_CALLBACK] != NO_CALLBACK) { d->kanji_status_return->info &= ~KanjiThroughInfo; /* »Å»ö¤·¤¿ */ popYomiMode(d); } return res; } static EmptyKakutei pro((uiContext)); static EmptyKakutei(d) uiContext d; { int res; res = inEmptySelfInsert(d); d->status = EXIT_CALLBACK; if (d->cb->func[EXIT_CALLBACK] != NO_CALLBACK) { d->kanji_status_return->info &= ~KanjiThroughInfo; /* »Å»ö¤·¤¿ */ popYomiMode(d); } return res; } static EmptyDeletePrevious pro((uiContext)); static EmptyDeletePrevious(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_DELETE_DONT_QUIT) { /* Delete ¤Ç QUIT ¤·¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢selfInsert */ return inEmptySelfInsert(d); } else { return EmptyQuit(d); } } extraFunc * FindExtraFunc(fnum) int fnum; { extern extraFunc *extrafuncp; extraFunc *extrafunc; for (extrafunc = extrafuncp; extrafunc; extrafunc = extrafunc->next) { if (extrafunc->fnum == fnum) { return extrafunc; } } return (extraFunc *)0; } static UserMode(d, estruct) uiContext d; extraFunc *estruct; { newmode *nmode = estruct->u.modeptr; yomiContext yc = (yomiContext)d->modec; int modeid = estruct->fnum - CANNA_FN_MAX_FUNC + CANNA_MODE_MAX_IMAGINARY_MODE; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } yc->generalFlags &= ~CANNA_YOMI_ATTRFUNCS; yc->generalFlags |= nmode->flags; if (yc->generalFlags & CANNA_YOMI_END_IF_KAKUTEI) { /* ³ÎÄê¤Ç½ª¤ï¤ë¤è¤¦¤Ê¥â¡¼¥É¤À¤Ã¤¿¤é³ÎÄê¥â¡¼¥É¤Ë¤Ê¤é¤Ê¤¤ */ yc->generalFlags &= ~CANNA_YOMI_KAKUTEI; } yc->romdic = nmode->romdic; d->current_mode = yc->myEmptyMode = nmode->emode; yc->majorMode = yc->minorMode = yc->myMinorMode = (BYTE)modeid; currentModeInfo(d); d->kanji_status_return->length = 0; return 0; } #ifndef NO_EXTEND_MENU /* continues to the bottom of this file */ static UserSelect(d, estruct) uiContext d; extraFunc *estruct; { int curkigo = 0, *posp = (int *)0; kigoIchiran *kigop = (kigoIchiran *)0; extern int uuKigoGeneralExitCatch(), uuKigoMake(); selectinfo *selinfo = (selectinfo *)0, *info; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } info = d->selinfo; while (info) { if (info->ichiran == estruct->u.kigoptr) { selinfo = info; break; } info = info->next; } if (!selinfo) { selinfo = (selectinfo *)malloc(sizeof(selectinfo)); /* malloc ¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢Á°²óÁªÂò¤·¤¿Èֹ椬Êݸ¤µ¤ì¤Ê¤¤ */ if (selinfo) { selinfo->ichiran = estruct->u.kigoptr; selinfo->curnum = 0; selinfo->next = d->selinfo; d->selinfo = selinfo; } } if (selinfo) { curkigo = selinfo->curnum; posp = &selinfo->curnum; } kigop = estruct->u.kigoptr; if (!kigop) { return NothingChangedWithBeep(d); } return uuKigoMake(d, kigop->kigo_data, kigop->kigo_size, curkigo, kigop->kigo_mode, uuKigoGeneralExitCatch, posp); } static UserMenu(d, estruct) uiContext d; extraFunc *estruct; { return showmenu(d, estruct->u.menuptr); } #endif /* NO_EXTEND_MENU */ /* ¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥â¡¼¥É»ÈÍÑ»þ¤Ë¸Æ¤Ó½Ð¤¹´Ø¿ô¤òÀÚ¤êʬ¤±¤ë */ static ProcExtraFunc(d, fnum) uiContext d; int fnum; { extraFunc *extrafunc; extrafunc = FindExtraFunc(fnum); if (extrafunc) { switch (extrafunc->keyword) { case EXTRA_FUNC_DEFMODE: return UserMode(d, extrafunc); #ifndef NO_EXTEND_MENU case EXTRA_FUNC_DEFSELECTION: return UserSelect(d, extrafunc); case EXTRA_FUNC_DEFMENU: return UserMenu(d, extrafunc); #endif default: break; } } return NothingChangedWithBeep(d); } getBaseMode(yc) yomiContext yc; { int res; long fl = yc->generalFlags; if (yc->myMinorMode) { return yc->myMinorMode; } else if (fl & CANNA_YOMI_ROMAJI) { res = CANNA_MODE_ZenAlphaHenkanMode; } else if (fl & CANNA_YOMI_KATAKANA) { res = CANNA_MODE_ZenKataHenkanMode; } else { res = CANNA_MODE_ZenHiraHenkanMode; } if (fl & CANNA_YOMI_BASE_HANKAKU) { res++; } if (fl & CANNA_YOMI_KAKUTEI) { res += CANNA_MODE_ZenHiraKakuteiMode - CANNA_MODE_ZenHiraHenkanMode; } if (res == CANNA_MODE_ZenHiraHenkanMode) { if (chikujip(yc)) { res = CANNA_MODE_ChikujiYomiMode; } else { res = CANNA_MODE_HenkanMode; } } return res; } /* ¥Ù¡¼¥¹Ê¸»ú¤ÎÀÚ¤êÂØ¤¨ */ void EmptyBaseModeInfo(d, yc) uiContext d; yomiContext yc; { coreContext cc = (coreContext)d->modec; cc->minorMode = getBaseMode(yc); currentModeInfo(d); } EmptyBaseHira(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } yc->generalFlags &= ~(CANNA_YOMI_KATAKANA | CANNA_YOMI_HANKAKU | CANNA_YOMI_ROMAJI | CANNA_YOMI_ZENKAKU); EmptyBaseModeInfo(d, yc); return 0; } EmptyBaseKata(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if ((yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) || (cannaconf.InhibitHankakuKana && (yc->generalFlags & CANNA_YOMI_BASE_HANKAKU))) { return NothingChangedWithBeep(d); } yc->generalFlags &= ~(CANNA_YOMI_ROMAJI | CANNA_YOMI_ZENKAKU); yc->generalFlags |= CANNA_YOMI_KATAKANA | ((yc->generalFlags & CANNA_YOMI_BASE_HANKAKU) ? CANNA_YOMI_HANKAKU : 0); EmptyBaseModeInfo(d, yc); return 0; } EmptyBaseEisu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } /* yc->generalFlags &= ~CANNA_YOMI_ATTRFUNCS; ¥¯¥ê¥¢¤¹¤ë¤Î¤ä¤á */ yc->generalFlags |= CANNA_YOMI_ROMAJI | ((yc->generalFlags & CANNA_YOMI_BASE_HANKAKU) ? 0 : CANNA_YOMI_ZENKAKU); EmptyBaseModeInfo(d, yc); return 0; } EmptyBaseZen(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } yc->generalFlags &= ~CANNA_YOMI_BASE_HANKAKU; if (yc->generalFlags & CANNA_YOMI_ROMAJI) { yc->generalFlags |= CANNA_YOMI_ZENKAKU; } /* ¢¨Ãí ¥í¡¼¥Þ»ú¥â¡¼¥É¤Ç¤«¤Ä¥«¥¿¥«¥Ê¥â¡¼¥É¤Î»þ¤¬¤¢¤ë (¤½¤Î¾ì¹çɽÌ̾å¤Ï¥í¡¼¥Þ»ú¥â¡¼¥É) */ if (yc->generalFlags & CANNA_YOMI_KATAKANA) { yc->generalFlags &= ~CANNA_YOMI_HANKAKU; } EmptyBaseModeInfo(d, yc); return 0; } EmptyBaseHan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if ((yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) || /* ¥â¡¼¥ÉÊѹ¹¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¤È¤« */ (cannaconf.InhibitHankakuKana && (yc->generalFlags & CANNA_YOMI_KATAKANA) && !(yc->generalFlags & CANNA_YOMI_ROMAJI))) { /* Ⱦ³Ñ¥«¥Ê¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¤Î¤ËȾ³Ñ¥«¥Ê¤Ë¤¤¤­¤½¤¦¤Ê¤È¤­ */ return NothingChangedWithBeep(d); } yc->generalFlags |= CANNA_YOMI_BASE_HANKAKU; if (yc->generalFlags & CANNA_YOMI_ROMAJI) { yc->generalFlags &= ~CANNA_YOMI_ZENKAKU; } /* ¢¨Ãí ¥í¡¼¥Þ»ú¥â¡¼¥É¤Ç¤«¤Ä¥«¥¿¥«¥Ê¥â¡¼¥É¤Î»þ¤¬¤¢¤ë (¤½¤Î¾ì¹çɽÌ̾å¤Ï¥í¡¼¥Þ»ú¥â¡¼¥É) */ if (yc->generalFlags & CANNA_YOMI_KATAKANA) { if (!cannaconf.InhibitHankakuKana) { yc->generalFlags |= CANNA_YOMI_HANKAKU; } } EmptyBaseModeInfo(d, yc); return 0; } EmptyBaseKana(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if ((yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) || /* ¥â¡¼¥ÉÊѹ¹¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤¿¤ê */ (!cannaconf.InhibitHankakuKana && (yc->generalFlags & CANNA_YOMI_KATAKANA) && (yc->generalFlags & CANNA_YOMI_BASE_HANKAKU))) { /* Ⱦ³Ñ¥«¥Ê¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¤Î¤ËȾ³Ñ¥«¥Ê¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤½¤¦¤Ê¾ì¹ç */ return NothingChangedWithBeep(d); } yc->generalFlags &= ~(CANNA_YOMI_ROMAJI | CANNA_YOMI_ZENKAKU); if ((yc->generalFlags & CANNA_YOMI_BASE_HANKAKU) && (yc->generalFlags & CANNA_YOMI_KATAKANA)) { yc->generalFlags |= CANNA_YOMI_HANKAKU; } EmptyBaseModeInfo(d, yc); return 0; } EmptyBaseKakutei(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } yc->generalFlags |= CANNA_YOMI_KAKUTEI; EmptyBaseModeInfo(d, yc); return 0; } EmptyBaseHenkan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } yc->generalFlags &= ~CANNA_YOMI_KAKUTEI; EmptyBaseModeInfo(d, yc); return 0; } #ifndef NO_EXTEND_MENU static int renbunInit(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); if (ToggleChikuji(d, 0) == -1) { jrKanjiError = "\317\242\312\270\300\341\312\321\264\271\244\313\300\332" "\302\330\244\250\244\353\244\263\244\310\244\254\244\307\244\255" "\244\336\244\273\244\363"; /* ϢʸÀáÊÑ´¹¤ËÀÚÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó */ makeGLineMessageFromString(d, jrKanjiError); currentModeInfo(d); return(-1); } else { makeGLineMessageFromString(d, "\317\242\312\270\300\341\312\321\264\271" "\244\313\300\332\302\330\244\250\244\336\244\267\244\277"); /* ϢʸÀáÊÑ´¹¤ËÀÚÂØ¤¨¤Þ¤·¤¿ */ currentModeInfo(d); return 0; } } static int showVersion(d) uiContext d; { int retval = 0; char s[512]; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); sprintf(s, "\306\374\313\334\270\354\306\376\316\317\245\267\245\271\245\306" "\245\340\241\330\244\253\244\363\244\312\241\331Version %d.%d", cannaconf.CannaVersion / 1000, cannaconf.CannaVersion % 1000); /* ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¡Ø¤«¤ó¤Ê¡Ù */ strcat(s, CANNA_PATCH_LEVEL); makeGLineMessageFromString(d, s); currentModeInfo(d); return (retval); } static int showServer(d) uiContext d; { #ifndef STANDALONE /* This is not used in Windows environment 1996.7.30 kon */ int retval = 0; char s[512]; extern defaultContext; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); if(defaultContext == -1) { sprintf(s, "\244\253\244\312\264\301\273\372\312\321\264\271\245\265" "\241\274\245\320\244\310\244\316\300\334\302\263\244\254\300\332" "\244\354\244\306\244\244\244\336\244\271"); /* ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÀܳ¤¬ÀÚ¤ì¤Æ¤¤¤Þ¤¹ */ } else { sprintf(s, "%s \244\316\244\253\244\312\264\301\273\372\312\321\264\271" "\245\265\241\274\245\320\244\313\300\334\302\263\244\267\244\306" "\244\244\244\336\244\271", RkwGetServerName()); /* ¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹ */ } makeGLineMessageFromString(d, s); currentModeInfo(d); return (retval); #else return (0); #endif /* STANDALONE */ } static int showGakushu(d) uiContext d; { int retval = 0; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); if (cannaconf.Gakushu == 1) { makeGLineMessageFromString(d, "\263\330\275\254\244\254\243\317\243\316" "\244\316\276\365\302\326\244\307\244\271"); /* ³Ø½¬¤¬£Ï£Î¤Î¾õÂ֤Ǥ¹ */ } else { makeGLineMessageFromString(d, "\263\330\275\254\244\254\243\317\243\306" "\243\306\244\316\276\365\302\326\244\307\244\271"); /* ³Ø½¬¤¬£Ï£Æ£Æ¤Î¾õÂ֤Ǥ¹ */ } currentModeInfo(d); return (retval); } static int showInitFile(d) uiContext d; { int retval = 0; char s[512]; extern char *CANNA_initfilename; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); if (CANNA_initfilename && strlen(CANNA_initfilename)) { sprintf(s, "\245\253\245\271\245\277\245\336\245\244\245\272\245\325" "\245\241\245\244\245\353\244\317 %s \244\362\273\310\315\321\244\267" "\244\306\244\244\244\336\244\271", CANNA_initfilename); /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï %s ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹ */ makeGLineMessageFromString(d, s); } else { sprintf(s, "\245\253\245\271\245\277\245\336\245\244\245\272\245\325" "\245\241\245\244\245\353\244\317\300\337\304\352\244\265\244\354" "\244\306\244\244\244\336\244\273\244\363"); /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó */ makeGLineMessageFromString(d, s); } currentModeInfo(d); return (retval); } static int showRomkanaFile(d) uiContext d; { int retval = 0; char s[512]; extern char *RomkanaTable; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); if (RomkanaTable && romajidic) { sprintf(s, "\245\355\241\274\245\336\273\372\244\253\244\312\312\321" "\264\271\245\306\241\274\245\326\245\353\244\317 %s \244\362\273\310" "\315\321\244\267\244\306\244\244\244\336\244\271", RomkanaTable); /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï %s ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹ */ makeGLineMessageFromString(d, s); } else { sprintf(s, "\245\355\241\274\245\336\273\372\244\253\244\312\312\321" "\264\271\245\306\241\274\245\326\245\353\244\317\273\310\315\321" "\244\265\244\354\244\306\244\244\244\336\244\273\244\363"); /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤»¤ó */ makeGLineMessageFromString(d, s); } currentModeInfo(d); return (retval); } static int dicSync(d) uiContext d; { int retval = 0; char s[512]; extern defaultContext; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); retval = RkwSync(defaultContext, ""); sprintf(s, "\274\255\275\361\244\316 Sync \275\350\315\375%s", retval < 0 ? "\244\313\274\272\307\324\244\267\244\336\244\267" "\244\277" : "\244\362\271\324\244\244\244\336\244\267\244\277"); /* ¼­½ñ¤Î Sync ½èÍý%s", retval < 0 ? "¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" : "¤ò¹Ô¤¤¤Þ¤·¤¿ */ makeGLineMessageFromString(d, s); currentModeInfo(d); return 0; } #endif /* not NO_EXTEND_MENU */ #include "emptymap.h" #include "alphamap.h" Canna37p3/lib/canna/emptymap.h0100644000076500001200000003342507732020155015510 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char emptymap_id[] = "@(#) 102.1 $Id: emptymap.h,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ extern AlphaMode(), HenkanNyuryokuMode(), ZenHiraKakuteiMode(); extern ZenKataKakuteiMode(), HanKataKakuteiMode(), ZenAlphaKakuteiMode(); extern HanAlphaKakuteiMode(), KigoIchiran(); #ifndef NO_EXTEND_MENU extern HexMode(), BushuMode(); #endif extern KigoIchiran(), UiUtilMode(); extern YomiBaseHiraKataToggle(), YomiBaseZenHanToggle(); extern YomiBaseKanaEisuToggle(), YomiBaseKakuteiHenkanToggle(); extern YomiBaseRotateForw(), YomiBaseRotateBack(); extern DoFuncSequence(),UseOtherKeymap(), YomiModeBackup(); extern dicTouroku pro((uiContext)), dicSakujo pro((uiContext)); #ifndef NO_EXTEND_MENU extern kigoRussia(), kigoGreek(), kigoKeisen(); extern dicMount(), serverChange(), serverFin(); extern chikujiInit(); #endif #define NONE CANNA_FN_Undefined static struct funccfunc empty_funcs[] = { {CANNA_FN_SelfInsert ,EmptySelfInsert }, {CANNA_FN_FunctionalInsert ,EmptyYomiInsert }, {CANNA_FN_QuotedInsert ,EmptyQuotedInsert }, {CANNA_FN_AlphaMode ,AlphaMode }, {CANNA_FN_HenkanNyuryokuMode ,HenkanNyuryokuMode }, {CANNA_FN_KigouMode ,KigoIchiran }, {CANNA_FN_DeletePrevious ,EmptyDeletePrevious }, {CANNA_FN_Kakutei ,EmptyKakutei }, {CANNA_FN_Quit ,EmptyQuit }, {CANNA_FN_ExtendMode ,UiUtilMode }, {CANNA_FN_BaseHiragana ,EmptyBaseHira }, {CANNA_FN_BaseKatakana ,EmptyBaseKata }, {CANNA_FN_BaseKana ,EmptyBaseKana }, {CANNA_FN_BaseEisu ,EmptyBaseEisu }, {CANNA_FN_BaseZenkaku ,EmptyBaseZen }, {CANNA_FN_BaseHankaku ,EmptyBaseHan }, {CANNA_FN_BaseKakutei ,EmptyBaseKakutei }, {CANNA_FN_BaseHenkan ,EmptyBaseHenkan }, {CANNA_FN_BaseHiraKataToggle ,YomiBaseHiraKataToggle }, {CANNA_FN_BaseZenHanToggle ,YomiBaseZenHanToggle }, {CANNA_FN_BaseKanaEisuToggle ,YomiBaseKanaEisuToggle }, {CANNA_FN_BaseKakuteiHenkanToggle ,YomiBaseKakuteiHenkanToggle }, {CANNA_FN_BaseRotateForward ,YomiBaseRotateForw }, {CANNA_FN_BaseRotateBackward ,YomiBaseRotateBack }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_TemporalMode ,YomiModeBackup }, {CANNA_FN_Nop ,AlphaNop }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {CANNA_FN_UserMode ,(int (*) pro((struct _uiContext *))) ProcExtraFunc }, #ifndef NO_EXTEND_MENU {CANNA_FN_DefineDicMode ,dicTouroku }, {CANNA_FN_DeleteDicMode ,dicSakujo }, {CANNA_FN_HexMode ,HexMode }, {CANNA_FN_BushuMode ,BushuMode }, {CANNA_FN_RussianMode ,kigoRussia }, {CANNA_FN_GreekMode ,kigoGreek }, {CANNA_FN_LineMode ,kigoKeisen }, {CANNA_FN_SyncDic ,dicSync }, {CANNA_FN_DicMountMode ,dicMount }, {CANNA_FN_ChangeServerMode ,serverChange }, {CANNA_FN_DisconnectServer ,serverFin }, {CANNA_FN_ShowServer ,showServer }, {CANNA_FN_ShowGakushu ,showGakushu }, {CANNA_FN_ShowVersion ,showVersion }, {CANNA_FN_ShowPhonogramFile ,showRomkanaFile }, {CANNA_FN_ShowCannaFile ,showInitFile }, {CANNA_FN_EnterChikujiMode ,chikujiInit }, {CANNA_FN_EnterRenbunMode ,renbunInit }, #endif {DEFAULTBEHAVIOR ,EmptySelfInsert }, {0 ,0 }, }; BYTE empty_kmap[256] = { /* C-@ */ CANNA_FN_SelfInsert, /* C-a */ CANNA_FN_SelfInsert, /* C-b */ CANNA_FN_SelfInsert, /* C-c */ CANNA_FN_SelfInsert, /* C-d */ CANNA_FN_SelfInsert, /* C-e */ CANNA_FN_SelfInsert, /* C-f */ CANNA_FN_SelfInsert, /* C-g */ CANNA_FN_Quit, /* C-h */ CANNA_FN_DeletePrevious, /* C-i */ CANNA_FN_SelfInsert, /* C-j */ CANNA_FN_Kakutei, /* C-k */ CANNA_FN_SelfInsert, /* C-l */ CANNA_FN_SelfInsert, /* C-m */ CANNA_FN_Kakutei, /* C-n */ CANNA_FN_SelfInsert, /* C-o */ CANNA_FN_AlphaMode, /* C-p */ CANNA_FN_SelfInsert, /* C-q */ CANNA_FN_QuotedInsert, /* C-r */ CANNA_FN_SelfInsert, /* C-s */ CANNA_FN_SelfInsert, /* C-t */ CANNA_FN_SelfInsert, /* C-u */ CANNA_FN_SelfInsert, /* C-v */ CANNA_FN_SelfInsert, /* C-w */ CANNA_FN_SelfInsert, /* C-x */ CANNA_FN_SelfInsert, /* C-y */ CANNA_FN_SelfInsert, /* C-z */ CANNA_FN_SelfInsert, /* C-[ */ CANNA_FN_SelfInsert, /* C-\ */ CANNA_FN_SelfInsert, /* C-] */ CANNA_FN_SelfInsert, /* C-^ */ CANNA_FN_SelfInsert, /* C-_ */ CANNA_FN_SelfInsert, /* space */ CANNA_FN_SelfInsert, /* ! */ CANNA_FN_FunctionalInsert, /* " */ CANNA_FN_FunctionalInsert, /* # */ CANNA_FN_FunctionalInsert, /* $ */ CANNA_FN_FunctionalInsert, /* % */ CANNA_FN_FunctionalInsert, /* & */ CANNA_FN_FunctionalInsert, /* ' */ CANNA_FN_FunctionalInsert, /* ( */ CANNA_FN_FunctionalInsert, /* ) */ CANNA_FN_FunctionalInsert, /* * */ CANNA_FN_FunctionalInsert, /* + */ CANNA_FN_FunctionalInsert, /* , */ CANNA_FN_FunctionalInsert, /* - */ CANNA_FN_FunctionalInsert, /* . */ CANNA_FN_FunctionalInsert, /* / */ CANNA_FN_FunctionalInsert, /* 0 */ CANNA_FN_FunctionalInsert, /* 1 */ CANNA_FN_FunctionalInsert, /* 2 */ CANNA_FN_FunctionalInsert, /* 3 */ CANNA_FN_FunctionalInsert, /* 4 */ CANNA_FN_FunctionalInsert, /* 5 */ CANNA_FN_FunctionalInsert, /* 6 */ CANNA_FN_FunctionalInsert, /* 7 */ CANNA_FN_FunctionalInsert, /* 8 */ CANNA_FN_FunctionalInsert, /* 9 */ CANNA_FN_FunctionalInsert, /* : */ CANNA_FN_FunctionalInsert, /* ; */ CANNA_FN_FunctionalInsert, /* < */ CANNA_FN_FunctionalInsert, /* = */ CANNA_FN_FunctionalInsert, /* > */ CANNA_FN_FunctionalInsert, /* ? */ CANNA_FN_FunctionalInsert, /* @ */ CANNA_FN_FunctionalInsert, /* A */ CANNA_FN_FunctionalInsert, /* B */ CANNA_FN_FunctionalInsert, /* C */ CANNA_FN_FunctionalInsert, /* D */ CANNA_FN_FunctionalInsert, /* E */ CANNA_FN_FunctionalInsert, /* F */ CANNA_FN_FunctionalInsert, /* G */ CANNA_FN_FunctionalInsert, /* H */ CANNA_FN_FunctionalInsert, /* I */ CANNA_FN_FunctionalInsert, /* J */ CANNA_FN_FunctionalInsert, /* K */ CANNA_FN_FunctionalInsert, /* L */ CANNA_FN_FunctionalInsert, /* M */ CANNA_FN_FunctionalInsert, /* N */ CANNA_FN_FunctionalInsert, /* O */ CANNA_FN_FunctionalInsert, /* P */ CANNA_FN_FunctionalInsert, /* Q */ CANNA_FN_FunctionalInsert, /* R */ CANNA_FN_FunctionalInsert, /* S */ CANNA_FN_FunctionalInsert, /* T */ CANNA_FN_FunctionalInsert, /* U */ CANNA_FN_FunctionalInsert, /* V */ CANNA_FN_FunctionalInsert, /* W */ CANNA_FN_FunctionalInsert, /* X */ CANNA_FN_FunctionalInsert, /* Y */ CANNA_FN_FunctionalInsert, /* Z */ CANNA_FN_FunctionalInsert, /* [ */ CANNA_FN_FunctionalInsert, /* \ */ CANNA_FN_FunctionalInsert, /* ] */ CANNA_FN_FunctionalInsert, /* ^ */ CANNA_FN_FunctionalInsert, /* _ */ CANNA_FN_FunctionalInsert, /* ` */ CANNA_FN_FunctionalInsert, /* a */ CANNA_FN_FunctionalInsert, /* b */ CANNA_FN_FunctionalInsert, /* c */ CANNA_FN_FunctionalInsert, /* d */ CANNA_FN_FunctionalInsert, /* e */ CANNA_FN_FunctionalInsert, /* f */ CANNA_FN_FunctionalInsert, /* g */ CANNA_FN_FunctionalInsert, /* h */ CANNA_FN_FunctionalInsert, /* i */ CANNA_FN_FunctionalInsert, /* j */ CANNA_FN_FunctionalInsert, /* k */ CANNA_FN_FunctionalInsert, /* l */ CANNA_FN_FunctionalInsert, /* m */ CANNA_FN_FunctionalInsert, /* n */ CANNA_FN_FunctionalInsert, /* o */ CANNA_FN_FunctionalInsert, /* p */ CANNA_FN_FunctionalInsert, /* q */ CANNA_FN_FunctionalInsert, /* r */ CANNA_FN_FunctionalInsert, /* s */ CANNA_FN_FunctionalInsert, /* t */ CANNA_FN_FunctionalInsert, /* u */ CANNA_FN_FunctionalInsert, /* v */ CANNA_FN_FunctionalInsert, /* w */ CANNA_FN_FunctionalInsert, /* x */ CANNA_FN_FunctionalInsert, /* y */ CANNA_FN_FunctionalInsert, /* z */ CANNA_FN_FunctionalInsert, /* { */ CANNA_FN_FunctionalInsert, /* | */ CANNA_FN_FunctionalInsert, /* } */ CANNA_FN_FunctionalInsert, /* ~ */ CANNA_FN_FunctionalInsert, /* DEL */ CANNA_FN_SelfInsert, /* Nfer */ CANNA_FN_Kakutei, /* Xfer */ CANNA_FN_AlphaMode, /* Up */ NONE, /* Left */ NONE, /* Right */ NONE, /* Down */ NONE, /* Insert */ CANNA_FN_KigouMode, /* Rollup */ NONE, /* Rolldown */ NONE, /* Home */ CANNA_FN_ExtendMode, /* Help */ CANNA_FN_ExtendMode, /* KeyPad */ NONE, /* 8c */ NONE, /* 8d */ NONE, /* 8e */ NONE, /* 8f */ NONE, /* S-nfer */ NONE, /* S-xfer */ CANNA_FN_AlphaMode, /* S-up */ NONE, /* S-left */ NONE, /* S-right */ NONE, /* S-down */ NONE, /* C-nfer */ NONE, /* C-xfer */ CANNA_FN_AlphaMode, /* C-up */ NONE, /* C-left */ NONE, /* C-right */ NONE, /* C-down */ NONE, /* 9c */ NONE, /* 9d */ NONE, /* 9e */ NONE, /* 9f */ NONE, /* KANASPACE */ NONE, /* ¡£ */ CANNA_FN_FunctionalInsert, /* ¡Ö */ CANNA_FN_FunctionalInsert, /* ¡× */ CANNA_FN_FunctionalInsert, /* ¡¢ */ CANNA_FN_FunctionalInsert, /* ¡¦ */ CANNA_FN_FunctionalInsert, /* ¥ò */ CANNA_FN_FunctionalInsert, /* ¥¡ */ CANNA_FN_FunctionalInsert, /* ¥£ */ CANNA_FN_FunctionalInsert, /* ¥¥ */ CANNA_FN_FunctionalInsert, /* ¥§ */ CANNA_FN_FunctionalInsert, /* ¥© */ CANNA_FN_FunctionalInsert, /* ¥ã */ CANNA_FN_FunctionalInsert, /* ¥å */ CANNA_FN_FunctionalInsert, /* ¥ç */ CANNA_FN_FunctionalInsert, /* ¥Ã */ CANNA_FN_FunctionalInsert, /* ¡¼ */ CANNA_FN_FunctionalInsert, /* ¥¢ */ CANNA_FN_FunctionalInsert, /* ¥¤ */ CANNA_FN_FunctionalInsert, /* ¥¦ */ CANNA_FN_FunctionalInsert, /* ¥¨ */ CANNA_FN_FunctionalInsert, /* ¥ª */ CANNA_FN_FunctionalInsert, /* ¥« */ CANNA_FN_FunctionalInsert, /* ¥­ */ CANNA_FN_FunctionalInsert, /* ¥¯ */ CANNA_FN_FunctionalInsert, /* ¥± */ CANNA_FN_FunctionalInsert, /* ¥³ */ CANNA_FN_FunctionalInsert, /* ¥µ */ CANNA_FN_FunctionalInsert, /* ¥· */ CANNA_FN_FunctionalInsert, /* ¥¹ */ CANNA_FN_FunctionalInsert, /* ¥» */ CANNA_FN_FunctionalInsert, /* ¥½ */ CANNA_FN_FunctionalInsert, /* ¥¿ */ CANNA_FN_FunctionalInsert, /* ¥Á */ CANNA_FN_FunctionalInsert, /* ¥Ä */ CANNA_FN_FunctionalInsert, /* ¥Æ */ CANNA_FN_FunctionalInsert, /* ¥È */ CANNA_FN_FunctionalInsert, /* ¥Ê */ CANNA_FN_FunctionalInsert, /* ¥Ë */ CANNA_FN_FunctionalInsert, /* ¥Ì */ CANNA_FN_FunctionalInsert, /* ¥Í */ CANNA_FN_FunctionalInsert, /* ¥Î */ CANNA_FN_FunctionalInsert, /* ¥Ï */ CANNA_FN_FunctionalInsert, /* ¥Ò */ CANNA_FN_FunctionalInsert, /* ¥Õ */ CANNA_FN_FunctionalInsert, /* ¥Ø */ CANNA_FN_FunctionalInsert, /* ¥Û */ CANNA_FN_FunctionalInsert, /* ¥Þ */ CANNA_FN_FunctionalInsert, /* ¥ß */ CANNA_FN_FunctionalInsert, /* ¥à */ CANNA_FN_FunctionalInsert, /* ¥á */ CANNA_FN_FunctionalInsert, /* ¥â */ CANNA_FN_FunctionalInsert, /* ¥ä */ CANNA_FN_FunctionalInsert, /* ¥æ */ CANNA_FN_FunctionalInsert, /* ¥è */ CANNA_FN_FunctionalInsert, /* ¥é */ CANNA_FN_FunctionalInsert, /* ¥ê */ CANNA_FN_FunctionalInsert, /* ¥ë */ CANNA_FN_FunctionalInsert, /* ¥ì */ CANNA_FN_FunctionalInsert, /* ¥í */ CANNA_FN_FunctionalInsert, /* ¥ï */ CANNA_FN_FunctionalInsert, /* ¥ó */ CANNA_FN_FunctionalInsert, /* ¡« */ CANNA_FN_FunctionalInsert, /* ¡¬ */ CANNA_FN_FunctionalInsert, /* F1 */ NONE, /* F2 */ NONE, /* F3 */ NONE, /* F4 */ NONE, /* F5 */ NONE, /* F6 */ NONE, /* F7 */ NONE, /* F8 */ NONE, /* F9 */ NONE, /* F10 */ NONE, /* ea */ NONE, /* eb */ NONE, /* ec */ NONE, /* ed */ NONE, /* ee */ NONE, /* ef */ NONE, /* PF1 */ NONE, /* PF2 */ NONE, /* PF3 */ NONE, /* PF4 */ NONE, /* PF5 */ NONE, /* PF6 */ NONE, /* PF7 */ NONE, /* PF8 */ NONE, /* PF9 */ NONE, /* PF10 */ NONE, /* fa */ NONE, /* fb */ NONE, /* fc */ NONE, /* fd */ NONE, /* fe */ NONE, /* ff */ NONE, }; KanjiModeRec empty_mode = { searchfunc, empty_kmap, CANNA_KANJIMODE_TABLE_SHARED | CANNA_KANJIMODE_EMPTY_MODE, empty_funcs, }; Canna37p3/lib/canna/engine.c0100644000076500001200000003233407733275221015121 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided * "as is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: engine.c,v 1.6 2003/09/21 10:16:49 aida_s Exp $"; #endif #include "canna.h" #ifdef ENGINE_SWITCH #include "canna/RK.h" #ifdef DL #include #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc static struct rkfuncs *Rk; #ifdef DL #ifdef CANNA_WCHAR16 # define ENGINE_CONFIG_FILE "engine16.cnf" #else /* !defined(CANNA_WCHAR16) */ # define ENGINE_CONFIG_FILE "engine.cnf" #endif #define LINEBUFSIZE 256 #define EBUFSIZE 64 typedef struct engines{ char *name; char *libname; }; static struct engines *enginetable = (struct engines *)0; static int NENGINES = 0; DSOHANDLE dlh = (DSOHANDLE)0; #else /* !DL */ extern struct rkfuncs cannaRkFuncs, wnnRkFuncs; typedef struct engines{ char *name; struct rkfuncs *libname; }; struct engines enginetable[] = { {"cannaserver", &cannaRkFuncs}, {"irohaserver", &cannaRkFuncs}, {"jserver", &wnnRkFuncs}, }; #define NENGINES (sizeof(enginetable) / sizeof(struct engines)) #endif /* !DL */ static int current_engine = -1; #ifdef DL static char * extoken(s, next_return) char *s, **next_return; { register char *p = s, ch; char *res; while ((ch = *p) && (ch == ' ' || ch == '\t')) p++; if (ch == '#') { *next_return = p; return (char *)0; } res = p; while ((ch = *p) && ch != ' ' && ch != '\t' && ch != '\n' && ch != '#') p++; if (p == res) { /* case EOS or EOL */ *next_return = p; return (char *)0; } else { if (ch) *p = '\0'; if (ch != '#') p++; *next_return = p; return res; } } struct engines * getengines(nengines) int *nengines; { FILE *f; char *ename, *lib, *p; struct engines *res = (struct engines *)0; int n = 0; #ifdef USE_MALLOC_FOR_BIG_ARRAY extern jrUserInfoStruct *uinfo; char *buf, *winbuf; struct engines *ebuf; buf = malloc(LINEBUFSIZE); ebuf = (struct engines *)malloc(sizeof(struct engines) * EBUFSIZE); winbuf = malloc(LINEBUFSIZE); if (!buf || !ebuf || !winbuf) { if (buf) { (void)free(buf); } if (ebuf) { (void)free((char *)ebuf); } if (winbuf) { (void)free(winbuf); } return res; } #else char buf[LINEBUFSIZE]; struct engines ebuf[EBUFSIZE]; #endif *nengines = 0; strcpy(buf, CANNALIBDIR); strcat(buf, "/"); strcat(buf, ENGINE_CONFIG_FILE); if ((f = fopen(buf, "r")) != NULL) { while (n < EBUFSIZE && fgets(buf, LINEBUFSIZE, f)) { ename = extoken(buf, &p); lib = extoken(p, &p); if (ename && lib) { #ifdef CANNA_WCHAR16 strcat(lib, "16"); #endif strcat(lib, ".so."); strcat(lib, CANNA_DSOREV); if (ebuf[n].name = malloc(strlen(ename) + 1)) { if (ebuf[n].libname = malloc(strlen(lib) + 1)) { strcpy(ebuf[n].name, ename); strcpy(ebuf[n].libname, lib); n++; } else { free(ebuf[n].name); } } } } if (n > 0 && (res = (struct engines *)malloc(n * sizeof(struct engines)))) { bcopy(ebuf, res, n * sizeof(struct engines)); *nengines = n; } fclose(f); } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(winbuf); (void)free((char *)ebuf); (void)free(buf); #endif return res; } static useEngine(libname) char *libname; { if (dlh) { dlclose(dlh); dlh = (DSOHANDLE)0; } #ifdef DEBUG dlh = dlopen(libname, RTLD_NOW); #else /* !DEBUG */ dlh = dlopen(libname, RTLD_LAZY); #endif /* !DEBUG */ if (dlh) { Rk = (struct rkfuncs *)dlsym(dlh, "RkFuncs"); if (Rk) { return 0; } dlclose(dlh); dlh = (DSOHANDLE)0; } if (libname != enginetable[0].libname) { useEngine(enginetable[0].libname); } return -1; /* ¥¨¥é¡¼ */ } #else /* !DL */ static useEngine(libname) struct rkfuncs *libname; { Rk = libname; return 0; } #endif /* !DL */ static switch_engine(engine) char *engine; { int i; #ifdef DL if (!enginetable) { enginetable = getengines(&NENGINES); if (!enginetable) { return -1; } } #endif if (engine) { for (i = 0 ; i < NENGINES ; i++) { if (!strcmp(enginetable[i].name, engine)) { if (current_engine != i) { current_engine = i; return useEngine(enginetable[i].libname); } return 0; } } if (!(i < NENGINES) && current_engine != 0) { current_engine = 0; useEngine(enginetable[0].libname); return -1; } } else if (current_engine != 0) { current_engine = 0; return useEngine(enginetable[0].libname); } return 0; } static char *server_host = (char *)0; static char *server_engine = (char *)0; RkSetServerName(s) char *s; { if (server_host) { free(server_host); server_host = (char *)0; } if (server_engine) { free(server_engine); server_engine = (char *)0; } if (s) { char *at, *index(); at = index(s, ','); if (at) { return switch_engine((char *)0); } at = index(s, '@'); if (at) { server_host = malloc(strlen(at)); /* strlen(at) == strlen(at + 1) + 1 */ if (server_host) { strcpy(server_host, at + 1); } server_engine = malloc(at - s + 1); if (server_engine) { strncpy(server_engine, s, at - s); server_engine[at - s] = '\0'; } } else { server_host = malloc(strlen(s) + 1); if (server_host) { strcpy(server_host, s); } server_engine = (char *)0; } } else { server_host = (char *)0; server_engine = (char *)0; } return switch_engine(server_engine); } /* RK functions */ char * RkGetServerHost() { return server_host; } char * RkGetServerEngine() { return server_engine; } int RkwGetProtocolVersion(map, mip) int *map, *mip; { return Rk ? (*Rk->GetProtocolVersion)(map, mip) : -1; } char * RkwGetServerName() { return Rk ? (*Rk->GetServerName)() : (char *)0; } int RkwGetServerVersion(map, mip) int *map, *mip; { return Rk ? (*Rk->GetServerVersion)(map, mip) : -1; } int RkwInitialize(host) char *host; { return Rk ? (*Rk->Initialize)(host) : -1; } void RkwFinalize() { if (Rk) (*Rk->Finalize)(); } int RkwCreateContext() { return Rk ? (*Rk->CreateContext)() : -1; } int RkwDuplicateContext(cn) int cn; { return Rk ? (*Rk->DuplicateContext)(cn) : -1; } int RkwCloseContext(cn) int cn; { return Rk ? (*Rk->CloseContext)(cn) : -1; } int RkwSetDicPath(cn, path) int cn; char *path; { return Rk ? (*Rk->SetDicPath)(cn, path) : -1; } int RkwCreateDic(cn, dic, mode) int cn, mode; char *dic; { return Rk ? (*Rk->CreateDic)(cn, dic, mode) : -1; } int RkwGetDicList(cn, buf, maxbuf) int cn, maxbuf; char *buf; { return Rk ? (*Rk->GetDicList)(cn, buf, maxbuf) : -1; } int RkwGetMountList(cn, buf, maxbuf) int cn, maxbuf; char *buf; { return Rk ? (*Rk->GetMountList)(cn, buf, maxbuf) : -1; } int RkwMountDic(cn, dic, f) int cn, f; char *dic; { return Rk ? (*Rk->MountDic)(cn, dic, f) : -1; } int RkwRemountDic(cn, dic, where) int cn, where; char *dic; { return Rk ? (*Rk->RemountDic)(cn, dic, where) : -1; } int RkwUnmountDic(cn, dic) int cn; char *dic; { return Rk ? (*Rk->UnmountDic)(cn, dic) : -1; } int RkwDefineDic(cn, dic, word) int cn; char *dic; wchar_t *word; { return Rk ? (*Rk->DefineDic)(cn, dic, word) : -1; } int RkwDeleteDic(cn, dic, word) int cn; char *dic; wchar_t *word; { return Rk ? (*Rk->DeleteDic)(cn, dic, word) : -1; } int RkwGetHinshi(cn, buf, maxbuf) int cn, maxbuf; wchar_t *buf; { return Rk ? (*Rk->GetHinshi)(cn, buf, maxbuf) : -1; } int RkwGetKanji(cn, buf, maxbuf) int cn, maxbuf; wchar_t *buf; { return Rk ? (*Rk->GetKanji)(cn, buf, maxbuf) : -1; } int RkwGetYomi(cn, buf, maxbuf) int cn, maxbuf; wchar_t *buf; { return Rk ? (*Rk->GetYomi)(cn, buf, maxbuf) : -1; } int RkwGetLex(cn, buf, maxbuf) int cn, maxbuf; RkLex *buf; { return Rk ? (*Rk->GetLex)(cn, buf, maxbuf) : -1; } int RkwGetStat(cn, buf) int cn; RkStat *buf; { return Rk ? (*Rk->GetStat)(cn, buf) : -1; } int RkwGetKanjiList(cn, buf, maxbuf) int cn, maxbuf; wchar_t *buf; { return Rk ? (*Rk->GetKanjiList)(cn, buf, maxbuf) : -1; } int RkwFlushYomi(cn) int cn; { return Rk ? (*Rk->FlushYomi)(cn) : -1; } int RkwGetLastYomi(cn, buf, maxbuf) int cn, maxbuf; wchar_t *buf; { return Rk ? (*Rk->GetLastYomi)(cn, buf, maxbuf) : -1; } int RkwRemoveBun(cn, mode) int cn, mode; { return Rk ? (*Rk->RemoveBun)(cn, mode) : -1; } int RkwSubstYomi(cn, s, e, yomi, len) int cn, s, e, len; wchar_t *yomi; { return Rk ? (*Rk->SubstYomi)(cn, s, e, yomi, len) : -1; } int RkwBgnBun(cn, yomi, len, f) int cn, len, f; wchar_t *yomi; { return Rk ? (*Rk->BgnBun)(cn, yomi, len, f) : -1; } int RkwEndBun(cn, mode) int cn, mode; { return Rk ? (*Rk->EndBun)(cn, mode) : -1; } int RkwGoTo(cn, where) int cn, where; { return Rk ? (*Rk->GoTo)(cn, where) : -1; } int RkwLeft(cn) int cn; { return Rk ? (*Rk->Left)(cn) : -1; } int RkwRight(cn) int cn; { return Rk ? (*Rk->Right)(cn) : -1; } int RkwNext(cn) int cn; { return Rk ? (*Rk->Next)(cn) : -1; } int RkwPrev(cn) int cn; { return Rk ? (*Rk->Prev)(cn) : -1; } int RkwNfer(cn) int cn; { return Rk ? (*Rk->Nfer)(cn) : -1; } int RkwXfer(cn, knum) int cn, knum; { return Rk ? (*Rk->Xfer)(cn, knum) : -1; } int RkwResize(cn, len) int cn, len; { return Rk ? (*Rk->Resize)(cn, len) : -1; } int RkwEnlarge(cn) int cn; { return Rk ? (*Rk->Enlarge)(cn) : -1; } int RkwShorten(cn) int cn; { return Rk ? (*Rk->Shorten)(cn) : -1; } int RkwStoreYomi(cn, yomi, len) int cn, len; wchar_t *yomi; { return Rk ? (*Rk->StoreYomi)(cn, yomi, len) : -1; } int RkwSetAppName(cn, name) int cn; char *name; { return Rk ? (*Rk->SetAppName)(cn, name) : -1; } int RkwSync(cn, name) int cn; char *name; { return Rk ? (*Rk->SyncDic)(cn, name) : -1; } int RkwSetUserInfo(user, group, topdir) char *user, *group, *topdir; { return Rk ? (*Rk->SetUserInfo)(user, group, topdir) : -1; } int RkwListDic(cn, dirname, names, size) int cn, size; char *dirname, *names; { return Rk ? (*Rk->ListDic)(cn, dirname, names, size) : -1; } RkwCopyDic(cn, dir, from, to, mode) int cn, mode; char *dir, *from, *to; { return Rk ? (*Rk->CopyDic)(cn, dir, from, to, mode) : -1; } RkwRemoveDic(cn, dicname, mode) int cn, mode; char *dicname; { return Rk ? (*Rk->RemoveDic)(cn, dicname, mode) : -1; } RkwRenameDic(cn, from, to, mode) int cn, mode; char *from, *to; { return Rk ? (*Rk->RenameDic)(cn, from, to, mode) : -1; } RkwChmodDic(cn, dicname, mode) int cn, mode; char *dicname; { return Rk ? (*Rk->ChmodDic)(cn, dicname, mode) : -1; } RkwQueryDic(cn, dir, dic, stat) int cn; char *dir, *dic; struct DicInfo *stat; { return Rk ? (*Rk->QueryDic)(cn, dir, dic, stat) : -1; } int RkwGetWordTextDic(cx_num, dirname, dicname, info, infolen) int cx_num, infolen; unsigned char *dirname, *dicname; wchar_t *info; { return Rk ? (*Rk->GetWordTextDic)(cx_num, dirname, dicname, info, infolen) : -1; } int RkwGetSimpleKanji(cxnum, dicname, yomi, maxyomi, kanjis, maxkanjis, hinshis, maxhinshis) int cxnum, maxyomi, maxkanjis, maxhinshis; char *dicname; wchar_t *yomi, *kanjis, *hinshis; { return Rk ? (*Rk->GetSimpleKanji)(cxnum, dicname, yomi, maxyomi, kanjis, maxkanjis, hinshis, maxhinshis) : -1; } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #else /* !ENGINE_SWITCH */ #define CANNA_SERVER_NAME_LEN 128 static char iroha_server_name[CANNA_SERVER_NAME_LEN] = {0, 0}; RkSetServerName(s) char *s; { if (s) (void)strncpy(iroha_server_name, s, CANNA_SERVER_NAME_LEN); else iroha_server_name[0] = '\0'; return 0; } char * RkGetServerHost() { if (iroha_server_name[0]) { return iroha_server_name; } else { return (char *)0; } } #endif /* !ENGINE_SWITCH */ void close_engine() { #ifdef ENGINE_SWITCH #ifdef DL if (dlh) { (void)dlclose(dlh); dlh = (DSOHANDLE)0; } #endif /* DL */ Rk = (struct rkfuncs *)0; current_engine = -1; #endif /* ENGINE_SWITCH */ } Canna37p3/lib/canna/globnames0100644000076500001200000001510410043311316015356 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # #$Id: globnames,v 1.8.2.1 2004/04/26 22:53:02 aida_s Exp $ AlphaMode BackspaceBehavesAsQuit CannaBeep BreakIntoRoman BunsetsuKugiri BushuMode CANNA_initfilename CNvW2E CYsearchfunc CannaVersion ChBasedMove ChikujiContinue ChikujiSubstYomi ChikujiTanDeletePrevious ConvertAsBushu CursorWrap DoFuncSequence EUCListCallback EmptyBaseEisu EmptyBaseHan EmptyBaseHenkan EmptyBaseHira EmptyBaseKakutei EmptyBaseKana EmptyBaseKata EmptyBaseModeInfo EmptyBaseZen EnglishTable FindExtraFunc GLineNGReturn GLineNGReturnFI GLineNGReturnTK Gakushu GetKanjiString GlineClear HenkanNyuryokuMode HexMode HexkeySelect HiraganaGakushu IchiranBackwardKouho IchiranBeginningOfKouho IchiranEndOfKouho IchiranForwardKouho IchiranNextKouhoretsu IchiranNop IchiranPreviousKouhoretsu IchiranQuit InhibitHankakuKana JapaneseMode KanaDeletePrevious KanjiFin KanjiInit KatakanaGakushu KeepCursorPosition KigoIchiran LearnNumericalType ModeNames NoMoreMemory NothingChanged NothingChangedWithBeep NothingForGLine NothingForGLineWithBeep QuitIchiranIfEnd RenbunContinue RengoGakushu ReverseWidely ReverseWord RkGetServerHost RkSetServerName rkc_config rkc_configure rkc_config_fin rkc_errors RkcErrorBuf_get RkcConfMgr_get_string RkcConfMgr_get_number RkcConfMgr_get_yesno RomajiClearYomi RomajiFlushYomi RomajiStoreYomi RomkanaFin RomkanaInit RomkanaTable SelectDirect ServerFD ServerTimeout TanBackwardBunsetsu TanBeginningOfBunsetsu TanBubunKakutei TanBubunMuhenkan TanCapitalize TanDeletePrevious TanEndOfBunsetsu TanForwardBunsetsu TanHankaku TanHiragana TanKakutei TanKatakana TanKouhoIchiran TanMuhenkan TanNextKouho TanNop TanPreviousKouho TanPrintBunpou TanRomaji TanUpper TanZenkaku TbBackward TbBeginningOfLine TbEndOfLine TbForward ToggleChikuji UiUtilMode UseOtherKeymap WCinit WIsG0 WIsG1 WIsG2 WIsG3 WSfree WStraddbcpy WStrcat WStrcmp WStrcpy WString WStringClose WStringOpen WStrlen WStrncmp WStrncpy WToupper WWhatGPlain YYparse_by_rcfilename YomiBaseHiraKataToggle YomiBaseKakuteiHenkanToggle YomiBaseKanaEisuToggle YomiBaseRotateBack YomiBaseRotateForw YomiBaseZenHanToggle YomiExit YomiInsert YomiKakutei YomiMark YomiModeBackup YomiQuotedInsert Yomisearchfunc _RkwGetYomi _afterDoFunc _doFunc _do_func_slightly abandonContext abandonIllegalPhono actFromHash addWarningMesg allocIchiranBuf allocMenu allowNextInput alphaMode alpha_kmap alpha_mode alphamap appendTan2Yomi askQuitKey auto_define auto_sync bunsetsu_mode canna_alert cb_mode changeKeyfunc changeKeyfuncOfAll changeModeName checkGLineLen chikuji chikujiInit chikujiRealBackspace chikuji_debug ckverbose clearHenkanContext clearYomi clearYomiContext clisp_fin clisp_init clisp_main code_input confirmContext containUnconvertedKey context_table convertAsHex copyS8 currentModeInfo cutOffLeftSide cvtAsHex cy_mode defaultBushuContext defaultContext default_kmap dicMount dicSakujo dicTouroku dicTourokuControl dicTourokuDictionary dicTourokuHinshi dicTourokuHinshiDelivery dicTourokuTango doFunc doHenkan doHiraganaGakushu doKatakanaGakushu doMuhenkan dupYomiContext echostrClear empty_kmap empty_mode emptymap englishdic enterAdjustMode enterJishuMode escapeToBasicStat euc2ushort eucchars eucproto exitJishu extractJishuString extractTanRomaji extractTanString extractTanYomi extrafuncp finExtMenu findExtraKanjiMode findSup finishTanKakutei forceKana forceRomajiFlushYomi freeAllMenuInfo freeAndPopTouroku freeDic freeGetIchiranList freeIchiranBuf freeMenu freeRomeStruct freeTanContext generalReplace getBaseMode getForIchiranContext getIchiranList getMountContext getTourokuContext getUserDicName getYesNoContext grammaticalQuestion hexCharacterDefiningStyle hiraautodic howToBehaveInCaseOfUndefKey howToReturnModeInfo iListCB ichiranFin ichiran_mode ignore_case indexHankaku indexSeparator initBushuTable initExtMenu initFileSpecified initGyouTable initHinshiMessage initHinshiTable initIchiran initKeyTables initKigoTable initModeNames initOnoffTable initRomeStruct initUlKeisenTable initUlKigoTable initfunc internContext iroha_debug jishu_mode kCount kPos2rPos kakuteiIfEndOfBunsetsu kanjiControl kanjidicnames kataautodic keepCursorPosition key2wchar keyToContext keyconvCallback keysup kigoGreek kigoKeisen kigoRussia kigo_mode kojin kouho_threshold leaveAdjustMode leaveJishuMode makeAllContextToBeClosed makeGLineMessage makeGLineMessageFromString makeGlineStatus makeKanjiStatusReturn makeKigoIchiran makeRkError makeYomiReturnStruct mapFromHash mountnottry moveStrings moveToChikujiTanMode moveToChikujiYomiMode multiSequenceFunc nKouhoBunsetsu newCoreContext newFilledYomiContext newIchiranContext newYomiContext nkeysup nothermodes onoff_mode owcListCallback parse parse_string popCallback popForIchiranMode popMountMode popTourokuMode popYomiMode prepareHenkanMode prevMenuIfExist protocol_version pushCallback queryMode quickly_escape removeCurrentBunsetsu removeKana resetModeNames restoreBindings restoreDefaultKeymaps restoreFlags rkcWCinit rkc_Connect_Iroha_Server rkc_get_dir_list rkc_get_kanji_list rkcw_get_server_info rmContext romaji_yuusen romajidic saveapname searchfunc selectKeysup selectOnOff selectOne serverChange serverFin server_name server_version setMode setWStrings showmenu stayAfterValidate strokelimit tanKouhoIchiran tanMuhenkan tankouho_mode tourokureibun_mode trimYomi uiUtilIchiranTooSmall ushort2euc ushort2eucsize ushort2wchar ushortstrcpy ushortstrlen ushortstrncpy uuKigoGeneralExitCatch uuKigoMake uuTTangoQuitCatch wchar2ushort wcharstrlen wideproto xString yomiInfoLevel yomi_mode doTanConvertTb doKakutei restoreChikujiIfBaseChikuji ReCheckStartp fitmarks Canna37p3/lib/canna/GSYM.awk0100644000076500001200000000245207554213603014766 0ustar shinraadmin# Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: GSYM.awk,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ # BEGIN { nsym = 0 } /^[_a-zA-Z]/ { nsym++ printf "#define %-35s G%03d_%s\n", $1, nsym, $1 } Canna37p3/lib/canna/henkan.c0100644000076500001200000017775110043311316015115 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: henkan.c,v 1.8.2.2 2004/04/26 22:53:02 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include "rkcapi.h" #include #include #ifdef MEASURE_TIME #include #include #endif #ifdef luna88k extern int errno; #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern int defaultBushuContext; extern int yomiInfoLevel; extern int ckverbose; extern int defaultContext; extern struct dicname *RengoGakushu, *KatakanaGakushu, *HiraganaGakushu; extern KanjiModeRec cy_mode, cb_mode, yomi_mode, tankouho_mode, empty_mode; extern char saveapname[]; extern int mountnottry; extern exp(int) RkwGetServerVersion pro((int *, int *)); #define DICERRORMESGLEN 78 static int doYomiHenkan pro((uiContext, int, wchar_t *, yomiContext)); static yomiContext tanbunToYomi pro((uiContext, tanContext, wchar_t *)); static void tanbunCommitYomi pro((uiContext, tanContext, yomiContext)); static char dictmp[DICERRORMESGLEN]; static char *mountErrorMessage = "\244\362\245\336\245\246\245\363\245\310" "\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ static int kanakanError(d) uiContext d; { return makeRkError(d, "\244\253\244\312\264\301\273\372\312\321\264\271" "\244\313\274\272\307\324\244\267\244\336\244\267\244\277"); /* ¤«¤Ê´Á»úÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } static void dicMesg(s, d) char *s, *d; { if (ckverbose == CANNA_FULL_VERBOSE) { char buf[128]; sprintf(buf, "\"%s\"", d); printf("%14s %-20s ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£\n", s, buf); } } static void RkwInitError() { if (errno == EPIPE) { jrKanjiError = KanjiInitError(); } else { jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\274\255" "\275\361\244\316\275\351\264\374\262\275\244\313\274\272\307\324" "\244\267\244\336\244\267\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤Î½é´ü²½¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } addWarningMesg(jrKanjiError); RkwFinalize(); } static void mountError(dic) char *dic; { int mnterrlen; if (DICERRORMESGLEN < (unsigned)(strlen(dic) + (mnterrlen = strlen(mountErrorMessage)) + 1)) { (void)strncpy(dictmp, dic, DICERRORMESGLEN - mnterrlen - 3/* ... */ - 1); (void)strcpy(dictmp + DICERRORMESGLEN - mnterrlen - 3 - 1, "..."); strcpy(dictmp + DICERRORMESGLEN - mnterrlen - 1, mountErrorMessage); } else { sprintf(dictmp, "%s%s", dic, mountErrorMessage); } jrKanjiError = dictmp; addWarningMesg(dictmp); } static void autodicError() { #ifndef CODED_MESSAGE jrKanjiError = "¼«Æ°ÅÐÏ¿ÍѼ­½ñ¤¬Â¸ºß¤·¤Þ¤»¤ó"; #else jrKanjiError = "\274\253\306\260\305\320\317\277\315\321\274\255\275\361" "\244\254\302\270\272\337\244\267\244\336\244\273\244\363"; #endif addWarningMesg(jrKanjiError); } static void warnRKCErrors(errors) const char *const *errors; { for (; *errors; ++errors) addWarningMesg((char *)*errors); } /* * ¤«¤Ê´Á»úÊÑ´¹¤Î¤¿¤á¤Î½é´ü½èÍý * * ¡¦RkwInitialize¤ò¸Æ¤ó¤Ç¡¢defaultContext ¤òºîÀ®¤¹¤ë * ¡¦defaultBushuContext ¤òºîÀ®¤¹¤ë * ¡¦¼­½ñ¤Î¥µ¡¼¥Á¥Ñ¥¹¤òÀßÄꤹ¤ë * ¡¦¥·¥¹¥Æ¥à¼­½ñ¡¢Éô¼óÍѼ­½ñ¡¢¥æ¡¼¥¶¼­½ñ¤ò¥Þ¥¦¥ó¥È¤¹¤ë * * °ú¤­¿ô ¤Ê¤· * Ìá¤êÃÍ 0:¤Þ¤¢Àµ¾ï¡¢ -1:¤È¤³¤È¤óÉÔÎÉ */ KanjiInit() { char *ptr, *getenv(), *kodmesg = ""/* ¼­½ñ¤Î¼ïÊÌËè¤Î¥á¥Ã¥»¡¼¥¸ */; int con; struct dicname *stp; extern struct dicname *kanjidicnames; extern FirstTime; extern jrUserInfoStruct *uinfo; extern char *RkGetServerHost pro((void)); int ret = -1; #ifndef USE_MALLOC_FOR_BIG_ARRAY char buf[256]; #else char *buf = malloc(256); if (!buf) { return ret; } #endif #if defined(DEBUG) if (iroha_debug) { fprintf(stderr,"\n¥µ¡¼¥Ð¤ËÀܳ¤·¤¿ strokelimit = %d (default:%d)\n", cannaconf.strokelimit, STROKE_LIMIT); } #endif /* ϢʸÀá¥é¥¤¥Ö¥é¥ê¤ò½é´ü²½¤¹¤ë */ if (uinfo) { RkwSetUserInfo(uinfo->uname, uinfo->gname, uinfo->topdir); } if (!(ptr = RkGetServerHost()) && !(ptr = getenv("IROHADICDIR"))) { if (uinfo && uinfo->topdir) { strcpy(buf, uinfo->topdir); strcat(buf, "/dic"); ptr = buf; } else { ptr = DICHOME; } } if (ckverbose >= CANNA_HALF_VERBOSE) RkcListenConfigErrors(&warnRKCErrors); defaultContext = RkwInitialize(ptr); RkcListenConfigErrors(NULL); if (defaultContext == -1) { RkwInitError(); ret = -1; goto return_ret; } if (defaultContext != -1) { if((defaultBushuContext = RkwCreateContext()) == -1) { jrKanjiError = "\311\364\274\363\315\321\244\316\245\263\245\363\245\306" "\245\257\245\271\245\310\244\362\272\356\300\256\244\307\244\255" "\244\336\244\273\244\363\244\307\244\267\244\277"; /* Éô¼óÍѤΥ³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ addWarningMesg(jrKanjiError); defaultContext = -1; RkwFinalize(); ret = -1; goto return_ret; } } else { defaultBushuContext = -1; } debug_message("\245\307\245\325\245\251\245\353\245\310\245\263\245\363" "\245\306\245\255\245\271\245\310(%d), \311\364\274\363\245\263" "\245\363\245\306\245\255\245\271\245\310(%d)\n", defaultContext, defaultBushuContext, 0); /* ¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Æ¥­¥¹¥È(%d), Éô¼ó¥³¥ó¥Æ¥­¥¹¥È(%d)\n */ if (defaultContext != -1) { if (saveapname[0]) { RkwSetAppName(defaultContext, saveapname); } if (!FirstTime && !mountnottry) { /* KC_INITIALIZE ¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¡¢ ´û¤Ë¥Þ¥¦¥ó¥È½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë¾ì¹ç */ /* ʸˡ¼­½ñ¤Î¥Þ¥¦¥ó¥È */ for (stp = kanjidicnames; stp ; stp = stp->next) { if (stp->dictype == DIC_GRAMMAR) { if (stp->dicflag == DIC_MOUNTED) { if (RkwMountDic(defaultContext, stp->name, cannaconf.kojin ? PL_ALLOW : PL_INHIBIT) == -1) { stp->dicflag = DIC_MOUNT_FAILED; mountError(stp->name); } else { stp->dicflag = DIC_MOUNTED; dicMesg("\312\270\313\241\274\255\275\361", stp->name); /* ʸˡ¼­½ñ */ } } } } /* ¥·¥¹¥Æ¥à¼­½ñ¤Î¥Þ¥¦¥ó¥È */ for (stp = kanjidicnames ; stp ; stp = stp->next) { if (stp->dictype != DIC_GRAMMAR) { if (stp->dicflag == DIC_MOUNTED) { if (stp->dictype == DIC_BUSHU) { con = defaultBushuContext; } else { con = defaultContext; } if (RkwMountDic(con, stp->name, cannaconf.kojin ? PL_ALLOW : PL_INHIBIT) == -1) { #if defined(DEBUG) if (iroha_debug) { fprintf(stderr, "saveddicname = %s\n", stp->name); } #endif stp->dicflag = DIC_MOUNT_FAILED; mountError(stp->name); } dicMesg("saveddicname\244\316\274\255\275\361", stp->name); /* saveddicname¤Î¼­½ñ */ } } } } else { /* KC_INITIALIZE ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡£ ¤Þ¤¿¤Ï¡¢¥Þ¥¦¥ó¥È½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç */ #if defined(DEBUG) if (iroha_debug) { fprintf(stderr, "¼­½ñ¤Ï.canna¤ÎÄ̤ê¤Ë¥Þ¥¦¥ó¥È¤¹¤ë\n"); } #endif mountnottry = 0; /* ¥Þ¥¦¥ó¥È½èÍý¤ò¹Ô¤¦¤Î¤Ç mountnottry = 0 ¤Ë¤¹¤ë */ /* ʸˡ¼­½ñ¤Î¥Þ¥¦¥ó¥È */ for (stp = kanjidicnames; stp ; stp = stp->next) { if (stp->dictype == DIC_GRAMMAR) { if (RkwMountDic(defaultContext, stp->name, cannaconf.kojin ? PL_ALLOW : PL_INHIBIT) == -1) { stp->dicflag = DIC_MOUNT_FAILED; mountError(stp->name); } else { stp->dicflag = DIC_MOUNTED; dicMesg("\312\270\313\241\274\255\275\361", stp->name); /* ʸˡ¼­½ñ */ } } } /* ¥·¥¹¥Æ¥à¼­½ñ¤Î¥Þ¥¦¥ó¥È */ for (stp = kanjidicnames ; stp ; stp = stp->next) { if (stp->dictype != DIC_GRAMMAR) { con = defaultContext; if (stp->dictype == DIC_PLAIN) { kodmesg = "\245\267\245\271\245\306\245\340\274\255\275\361"; /* "¥·¥¹¥Æ¥à¼­½ñ"; */ } else if (stp->dictype == DIC_USER) { /* ¥æ¡¼¥¶¼­½ñ¤Î¥Þ¥¦¥ó¥È */ kodmesg = "\303\261\270\354\305\320\317\277\315\321\274\255\275\361"; /* "ñ¸ìÅÐÏ¿ÍѼ­½ñ"; */ } else if (stp->dictype == DIC_RENGO) { /* Ï¢¸ì¼­½ñ¤Î¥Þ¥¦¥ó¥È */ RengoGakushu = stp; kodmesg = "\317\242\270\354\274\255\275\361"; /* "Ï¢¸ì¼­½ñ"; */ } else if (stp->dictype == DIC_KATAKANA) { KatakanaGakushu = stp; kodmesg = "\274\253\306\260\305\320\317\277\315\321\274\255\275\361"; /* "¼«Æ°ÅÐÏ¿ÍѼ­½ñ"; */ } else if (stp->dictype == DIC_HIRAGANA) { HiraganaGakushu = stp; #ifdef HIRAGANAAUTO kodmesg = "\274\253\306\260\305\320\317\277\315\321\274\255\275\361"; /* "¼«Æ°ÅÐÏ¿ÍѼ­½ñ"; */ #else kodmesg = "\317\242\270\354\274\255\275\361"; /* "Ï¢¸ì¼­½ñ"; */ #endif } else if (stp->dictype == DIC_BUSHU) { kodmesg = "\311\364\274\363\274\255\275\361"; /* "Éô¼ó¼­½ñ"; */ con = defaultBushuContext; } if (RkwMountDic(con, stp->name, cannaconf.kojin ? PL_ALLOW : PL_INHIBIT) == -1) { extern int auto_define; stp->dicflag = DIC_MOUNT_FAILED; if (stp->dictype == DIC_KATAKANA #ifdef HIRAGANAAUTO || stp->dictype == DIC_HIRAGANA #endif ) { /* ¼«Æ°ÅÐÏ¿¼­½ñ¤À¤Ã¤¿¤é¡¢¼«Æ°ÅÐÏ¿¤·¤Ê¤¤ */ auto_define = 0; } if (stp->dictype != DIC_USER || strcmp(stp->name, "user")) { /* ¥æ¡¼¥¶¼­½ñ¤Ç user ¤È¤¤¤¦Ì¾Á°¤Î¾ì¹ç¤Ï¥¨¥é¡¼É½¼¨ * * ¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á */ int majv, minv; RkwGetServerVersion(&majv, &minv); if (!(canna_version(majv, minv) < canna_version(3, 4)) || ((stp->dictype != DIC_KATAKANA || strcmp(stp->name, "katakana")) #ifdef HIRAGANAAUTO && (stp->dictype != DIC_HIRAGANA || strcmp(stp->name, "hiragana")) #endif )) { /* V3.3 °ÊÁ°¤Ç¡¢¥«¥¿¥«¥Ê¼­½ñ¤¬ katakana¡¢¤Ò¤é¤¬¤Ê¼­½ñ¤¬ hiragana ¤Î¾ì¹ç¤Ï¥¨¥é¡¼¤Ë¤·¤Ê¤¤¤¿¤á */ extern char *kataautodic; #ifdef HIRAGANAAUTO extern char *hiraautodic; #endif if (!auto_define || ((kataautodic && strcmp(stp->name, kataautodic)) #ifdef HIRAGANAAUTO && (hiraautodic && strcmp(stp->name, hiraautodic)) #endif )) { if (stp->dictype == DIC_KATAKANA #ifdef HIRAGANAAUTO || stp->dictype == DIC_HIRAGANA #endif ) { autodicError(); } else { mountError(stp->name); } } } } } else { stp->dicflag = DIC_MOUNTED; dicMesg(kodmesg, stp->name); } } } } ret = 0; goto return_ret; } ret = -1; return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(buf); #endif return ret; } /* * ¤«¤Ê´Á»úÊÑ´¹¤Î¤¿¤á¤Î¸å½èÍý * * ¡¦¥·¥¹¥Æ¥à¼­½ñ¡¢Éô¼óÍѼ­½ñ¡¢¥æ¡¼¥¶¼­½ñ¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤¹¤ë * ¡¦RkwFinalize¤ò¸Æ¤Ö * * °ú¤­¿ô ¤Ê¤· * Ìá¤êÃÍ ¤Ê¤· */ KanjiFin() { struct dicname *dp, *np; int con; for (dp = kanjidicnames ; dp ;) { if (dp->dictype == DIC_BUSHU) { con = defaultBushuContext; } else { con = defaultContext; } if (dp->dicflag == DIC_MOUNTED) { if (RkwUnmountDic(con, dp->name) == -1) { #ifndef USE_MALLOC_FOR_BIG_ARRAY char buf[256]; #else char *buf = malloc(128); if (buf) #endif { #ifdef CODED_MESSAGE sprintf(buf, "%s \244\362\245\242\245\363\245\336\245\246\245\363" "\245\310\244\307\244\255\244\336\244\273\244\363\244\307\244\267" "\244\277", dp->name); #else sprintf(buf, "%s ¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£", dp->name); #endif addWarningMesg(buf); #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(buf); #endif } } } np = dp->next; free(dp->name); free((char *)dp); dp = np; } kanjidicnames = (struct dicname *)0; defaultContext = -1; defaultBushuContext = -1; mountnottry = 1; /* ϢʸÀá¥é¥¤¥Ö¥é¥ê¤ò½ªÎ»¤µ¤»¤ë */ RkwFinalize(); return(0); } static tanContext newTanContext(majo, mino) int majo, mino; { tanContext tan; tan = (tanContext)malloc(sizeof(tanContextRec)); if (tan) { bzero(tan, sizeof(tanContextRec)); tan->id = TAN_CONTEXT; tan->majorMode = majo; tan->minorMode = mino; tan->left = tan->right = (tanContext)0; tan->next = (mode_context)0; tan->curMode = &tankouho_mode; } return tan; } void freeTanContext(tan) tanContext tan; { if (tan->kanji) free((char *)tan->kanji); if (tan->yomi) free((char *)tan->yomi); if (tan->roma) free((char *)tan->roma); if (tan->kAttr) free((char *)tan->kAttr); if (tan->rAttr) free((char *)tan->rAttr); free((char *)tan); } static wchar_t * DUpwstr(w, l) wchar_t *w; int l; { wchar_t *res; res = (wchar_t *)malloc((l + 1) * sizeof(wchar_t)); if (res) { WStrncpy(res, w, l); res[l] = (wchar_t)0; } return res; } static BYTE * DUpattr(a, l) BYTE *a; int l; { BYTE *res; res = (BYTE *)malloc((l + 1) * sizeof(BYTE)); if (res) { bcopy(a, res, (l + 1) * sizeof(BYTE)); } return res; } static void copyYomiinfo2Tan(yc, tan) yomiContext yc; tanContext tan; { tan->next = yc->next; tan->prevMode = yc->prevMode; tan->generalFlags = yc->generalFlags; tan->savedFlags = yc->savedFlags; tan->romdic = yc->romdic; tan->myMinorMode = yc->myMinorMode; tan->myEmptyMode = yc->myEmptyMode; tan->savedMinorMode = yc->savedMinorMode; tan->allowedChars = yc->allowedChars; tan->henkanInhibition = yc->henkanInhibition; } static void copyTaninfo2Yomi(tan, yc) tanContext tan; yomiContext yc; { /* next ¤È prevMode ¤Ï´û¤ËÀßÄêºÑ¤ß */ yc->generalFlags = tan->generalFlags; yc->savedFlags = tan->savedFlags; yc->romdic = tan->romdic; yc->myMinorMode = tan->myMinorMode; yc->myEmptyMode = tan->myEmptyMode; yc->savedMinorMode = tan->savedMinorMode; yc->allowedChars = tan->allowedChars; yc->henkanInhibition = tan->henkanInhibition; } extern yomiContext dupYomiContext pro((yomiContext)); extern void setMode pro((uiContext, tanContext, int)); extern void trimYomi pro((uiContext, int, int, int, int)); /* * ³Ø½¬¤ò²Äǽ¤Ë¤¹¤ë¤¿¤átanContext¤òyomiContext¤Ë¤¹¤ë¡£ * ¼ºÇÔ¤·¤¿¤étanContext¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¡£ * ËÜÅö¤ÏtanContext¤ÏÇѻߤ¹¤Ù¤­¤À¤¬¡¢¤È¤ê¤¢¤¨¤ºquick hack¡£ * DO_MERGE¤Ë¤âÁ´¤¯Âбþ¤·¤Æ¤¤¤Ê¤¤¡£ */ static void tanbunToYomiAll(d, st, et) uiContext d; tanContext st; tanContext et; { tanContext tan; for (tan = st; tan != et; tan = tan->right) { yomiContext tyc; if (tan->id != TAN_CONTEXT) continue; tyc = tanbunToYomi(d, tan, tan->kanji); if (tyc) { tanbunCommitYomi(d, tan, tyc); tan = (tanContext)tyc; } } } /* Á´Ê¸Àá¤ò tanContext ¤ËÊÑ´¹¤¹¤ë */ int doTanConvertTb(d, yc) uiContext d; yomiContext yc; { int cur = yc->curbun, i, len, ylen = 0, rlen = 0, ret = 0; int scuryomi, ecuryomi, scurroma, ecurroma; tanContext tan, prevLeft = yc->left, curtan = (tanContext)0; tanContext st = (tanContext)NULL, et = (tanContext)NULL; BYTE *p, *q, *r; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t xxx[ROMEBUFSIZE]; #else wchar_t *xxx = (wchar_t *)malloc(sizeof(wchar_t) * ROMEBUFSIZE); if (!xxx) { return ret; } #endif yc->kouhoCount = 0; scuryomi = ecuryomi = scurroma = ecurroma = 0; /* jrKanjiError = "¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó"; */ jrKanjiError = "malloc (doTanBubunMuhenkan) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277\241\243"; /* malloc (doTanBubunMuhenkan) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ for (i = 0 ; i < yc->nbunsetsu ; i++) { tan = newTanContext(yc->majorMode, CANNA_MODE_TankouhoMode); if (tan) { copyYomiinfo2Tan(yc, tan); RkwGoTo(yc->context, i); len = RkwGetKanji(yc->context, xxx, ROMEBUFSIZE); if (len >= 0) { tan->kanji = DUpwstr(xxx, len); if (tan->kanji) { len = RkwGetYomi(yc->context, xxx, ROMEBUFSIZE); if (len >= 0) { tan->yomi = DUpwstr(xxx, len); if (tan->yomi) { tan->kAttr = DUpattr(yc->kAttr + ylen, len); if (tan->kAttr) { r = yc->rAttr + rlen; for (p = yc->kAttr + ylen, q = p + len ; p < q ; p++) { if (*p & SENTOU) { r++; while (!(*r & SENTOU)) { r++; } } } ylen += len; len = r - yc->rAttr - rlen; /* ¥í¡¼¥Þ»ú¤ÎŤµ */ tan->roma = DUpwstr(yc->romaji_buffer + rlen, len); if (tan->roma) { tan->rAttr = DUpattr(yc->rAttr + rlen, len); if (tan->rAttr) { rlen += len; /* ¤È¤ê¤¢¤¨¤ºº¸¤Ë¤Ä¤Ê¤²¤ë */ tan->right = (tanContext)yc; tan->left = yc->left; if (yc->left) { yc->left->right = tan; } yc->left = tan; if (i == 0) st = tan; if (i == cur) { curtan = tan; } continue; } free((char *)tan->roma); } free((char *)tan->kAttr); } free((char *)tan->yomi); } } else { makeRkError(d, KanjiInitError()); } free((char *)tan->kanji); } } else { makeRkError(d, KanjiInitError()); } freeTanContext(tan); } /* ¥¨¥é¡¼½èÍý¤ò¤¹¤ë */ procerror: while ((tan = yc->left) != prevLeft) { yc->left = tan->left; freeTanContext(tan); } ret = -1; goto return_ret; } if (chikujip(yc) && chikujiyomiremain(yc)) { int rpos; yomiContext lyc = dupYomiContext(yc); if (!lyc) { /* ¥¨¥é¡¼½èÍý¤ò¤¹¤ë */ goto procerror; } if (yc->right) { /* Ã༡¤Î¾ì¹ç¤Ê¤¤¤Ï¤º¤À¤¬Ç°¤Î¤¿¤á */ yc->right->left = (tanContext)lyc; } lyc->right = yc->right; yc->right = (tanContext)lyc; lyc->left = (tanContext)yc; kPos2rPos(lyc, 0, yc->cStartp, (int *)0, &rpos); d->modec = (mode_context)lyc; moveToChikujiYomiMode(d); trimYomi(d, yc->cStartp, yc->kEndp, rpos, yc->rEndp); d->modec = (mode_context)yc; yc->status = lyc->status; lyc->cStartp = lyc->cRStartp = lyc->ys = lyc->ye = 0; } RkwGoTo(yc->context, cur); if (RkwEndBun(yc->context, 0) == -1) { jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\316" "\275\252\316\273\244\313\274\272\307\324\244\267\244\336\244\267" "\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ if (errno == EPIPE) { jrKanjiPipeError(); } } d->modec = (mode_context)curtan; setMode(d, curtan, 1); makeKanjiStatusReturn(d, (yomiContext)curtan); et = yc->right; /* yc ¤ò¥ê¥ó¥¯¤«¤éÈ´¤¯ */ if (yc->left) { yc->left->right = yc->right; } if (yc->right) { yc->right->left = yc->left; } abandonContext(d, yc); freeYomiContext(yc); tanbunToYomiAll(d, st, et); return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)xxx); #endif return ret; } static int doTanBubunMuhenkan(d, yc) uiContext d; yomiContext yc; { int cur = yc->curbun, i, len, ylen = 0, rlen = 0, ret = 0; int scuryomi, ecuryomi, scurroma, ecurroma; tanContext tan, prevLeft = yc->left, prevRight = yc->right; BYTE *p, *q, *r; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t xxx[ROMEBUFSIZE]; #else wchar_t *xxx = (wchar_t *)malloc(sizeof(wchar_t) * ROMEBUFSIZE); if (!xxx) { return ret; } #endif yc->kouhoCount = 0; scuryomi = ecuryomi = scurroma = ecurroma = 0; /* jrKanjiError = "¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó"; */ jrKanjiError = "malloc (doTanBubunMuhenkan) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277\241\243"; /* malloc (doTanBubunMuhenkan) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ for (i = 0 ; i < yc->nbunsetsu ; i++) { tan = (tanContext)0; if (i == cur || (tan = newTanContext(yc->majorMode, CANNA_MODE_TankouhoMode))) { if (tan) { copyYomiinfo2Tan(yc, tan); } RkwGoTo(yc->context, i); len = RkwGetKanji(yc->context, xxx, ROMEBUFSIZE); if (len >= 0) { if (!tan || (tan->kanji = DUpwstr(xxx, len))) { len = RkwGetYomi(yc->context, xxx, ROMEBUFSIZE); if (len >= 0) { if (!tan || (tan->yomi = DUpwstr(xxx, len))) { if (!tan || (tan->kAttr = DUpattr(yc->kAttr + ylen, len))) { r = yc->rAttr + rlen; for (p = yc->kAttr + ylen, q = p + len ; p < q ; p++) { if (*p & SENTOU) { r++; while (!(*r & SENTOU)) { r++; } } } if (i == cur) { scuryomi = ylen; ecuryomi = ylen + len; } ylen += len; len = r - yc->rAttr - rlen; /* ¥í¡¼¥Þ»ú¤ÎŤµ */ if (!tan || (tan->roma = DUpwstr(yc->romaji_buffer + rlen, len))) { if (!tan || (tan->rAttr = DUpattr(yc->rAttr + rlen, len))) { if (i == cur) { scurroma = rlen; ecurroma = rlen + len; } rlen += len; if (tan) { if (i != cur) { /* ¤È¤ê¤¢¤¨¤ºº¸¤Ë¤Ä¤Ê¤²¤ë */ tan->right = (tanContext)yc; tan->left = yc->left; if (yc->left) { yc->left->right = tan; } yc->left = tan; } #if defined(DEBUG) { char yyy[ROMEBUFSIZE]; WCstombs(yyy, tan->kanji, ROMEBUFSIZE); printf("%s/", yyy); WCstombs(yyy, tan->yomi, ROMEBUFSIZE); printf("%s/", yyy); WCstombs(yyy, tan->roma, ROMEBUFSIZE); printf("%s\n", yyy); } #endif } continue; } if (tan) free((char *)tan->roma); } if (tan) free((char *)tan->kAttr); } if (tan) free((char *)tan->yomi); } } else { makeRkError(d, KanjiInitError()); } if (tan) free((char *)tan->kanji); } } else { makeRkError(d, KanjiInitError()); } if (tan) freeTanContext(tan); } /* ¥¨¥é¡¼½èÍý¤ò¤¹¤ë */ while ((tan = yc->left) != prevLeft) { yc->left = tan->left; freeTanContext(tan); } ret = -1; goto return_ret; } if (chikujip(yc) && chikujiyomiremain(yc)) { int rpos; yomiContext lyc = dupYomiContext(yc); if (!lyc) { /* ¥¨¥é¡¼½èÍý¤ò¤¹¤ë */ while ((tan = yc->left) != prevLeft) { yc->left = tan->left; freeTanContext(tan); } ret = -1; goto return_ret; } if (yc->right) { /* ¤Ê¤¤¤Ï¤º */ yc->right->left = (tanContext)lyc; } lyc->right = yc->right; yc->right = (tanContext)lyc; lyc->left = (tanContext)yc; kPos2rPos(lyc, 0, yc->cStartp, (int *)0, &rpos); d->modec = (mode_context)lyc; moveToChikujiYomiMode(d); trimYomi(d, yc->cStartp, yc->kEndp, rpos, yc->rEndp); d->modec = (mode_context)yc; yc->status = lyc->status; lyc->cStartp = lyc->cRStartp = lyc->ys = lyc->ye = 0; } if (cur + 1 < yc->nbunsetsu) { /* yc ¤¬ºÇ¸å¤¸¤ã¤Ê¤¤¾ì¹ç */ int n = yc->nbunsetsu - cur - 1; tan = yc->left; tan->right = yc->right; if (yc->right) { yc->right->left = tan; } for (i = 1 ; i < n ; i++) { /* yomi ¤Î right ¤ËÍè¤ë¤Ù¤­ tan ¤òÆÀ¤¿¤¤ */ tan = tan->left; } if (tan->left) { tan->left->right = (tanContext)yc; } yc->left = tan->left; tan->left = (tanContext)yc; yc->right = tan; } RkwGoTo(yc->context, cur); if (RkwEndBun(yc->context, 0) == -1) { jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\316" "\275\252\316\273\244\313\274\272\307\324\244\267\244\336\244\267" "\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ if (errno == EPIPE) { jrKanjiPipeError(); } } trimYomi(d, scuryomi, ecuryomi, scurroma, ecurroma); yc->cRStartp = yc->rCurs = yc->rStartp = 0; yc->cStartp = yc->kCurs = yc->kRStartp = yc->ys = yc->ye = 0; yc->status &= CHIKUJI_NULL_STATUS; /* ¤Ê¤ó¤ÈÃ༡¤Ç¤Ê¤¯¤Ê¤ë */ if (chikujip(yc)) { yc->generalFlags &= ~CANNA_YOMI_CHIKUJI_MODE; yc->generalFlags |= CANNA_YOMI_BASE_CHIKUJI; } d->current_mode = yc->curMode = &yomi_mode; yc->minorMode = getBaseMode(yc); /* Á´Éô̵ÊÑ´¹¤Ë¤¹¤ë */ yc->nbunsetsu = 0; /* ñ¸õÊä¾õÂÖ¤«¤éÆÉ¤ß¤ËÌá¤ë¤È¤­¤Ë¤Ï̵¾ò·ï¤Ëmark¤òÀèÆ¬¤ËÌ᤹ */ yc->cmark = yc->pmark = 0; abandonContext(d, yc); ret = 0; if (prevLeft) tan = prevLeft->right; else if (!yc->left) tan = (tanContext)yc; else for (tan = yc->left; tan->left; tan = tan->left); tanbunToYomiAll(d, tan, prevRight); return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)xxx); #endif return ret; } extern void restoreChikujiIfBaseChikuji pro((yomiContext)); extern void ReCheckStartp pro((yomiContext)); extern void fitmarks pro((yomiContext)); int YomiBubunKakutei pro((uiContext)); int YomiBubunKakutei(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; tanContext tan; int len; if (yc->id != YOMI_CONTEXT) { /* ¤¢¤êÆÀ¤Ê¤¤¤Î¤Ç¤Ï? */ } else /* if (yc->left) */ { /* yomiContext ¤Çºï½ü¤¹¤ëÉôʬ¤ò¤Þ¤º tanContext ¤ËÀÚ¤ê½Ð¤·¡¢yc ¤Îº¸ ¦¤ËÁÞÆþ¤¹¤ë¡£¼¡¤Ë yc ¤Îº¸¤ò¤Ð¤Ã¤µ¤ê¤È³ÎÄꤹ¤ë¡£ Á´¤Æ¤³¤Î¥í¥¸¥Ã¥¯¤Ç¤ä¤í¤¦¤«¤·¤é¡£ */ tan = newTanContext(yc->majorMode, CANNA_MODE_TankouhoMode); if (tan) { copyYomiinfo2Tan(yc, tan); /* ¤«¤Ê¤ò¥³¥Ô¡¼¤¹¤ë */ tan->kanji = DUpwstr(yc->kana_buffer, yc->kCurs); if (tan->kanji) { /* ¤³¤³¤âƱ¤¸¤«¤Ê¤ò¥³¥Ô¡¼¤¹¤ë */ tan->yomi = DUpwstr(yc->kana_buffer, yc->kCurs); if (tan->yomi) { tan->kAttr = DUpattr(yc->kAttr, yc->kCurs); if (tan->kAttr) { tan->roma = DUpwstr(yc->romaji_buffer, yc->rCurs); if (tan->roma) { tan->rAttr = DUpattr(yc->rAttr, yc->rCurs); if (tan->rAttr) { wchar_t *sb = d->buffer_return, *eb = sb + d->n_buffer; tan->left = yc->left; tan->right = (tanContext)yc; if (yc->left) { yc->left->right = tan; } yc->left = tan; while (tan->left) { tan = tan->left; } trimYomi(d, yc->kCurs, yc->kEndp, yc->rCurs, yc->rEndp); len = doKakutei(d, tan, (tanContext)yc, sb, eb, (yomiContext *)0); d->modec = (mode_context)yc; yc->left = (tanContext)0; goto done; } free((char *)tan->roma); } free((char *)tan->kAttr); } free((char *)tan->yomi); } free((char *)tan->kanji); } free((char *)tan); /* not freeTanContext(tan); */ } } #if 0 /* ËÜÍ褳¤³¤Î½èÍý¤ò¤¤¤ì¤¿Êý¤¬¸úΨ¤¬Îɤ¤¤È»×¤ï¤ì¤ë¤¬¡¢ÆÉ¤ß¤Î°ìÉô¤ò³Î Äꤵ¤»¤Æ¡¢¤·¤«¤â¥í¡¼¥Þ»ú¾ðÊó¤Ê¤É¤â¤¤¤ì¤ë¤Î¤ÏÌÌÅݤʤΤǤ¢¤È¤Þ¤ï¤·¤È¤¹¤ë */ else { /* ³ÎÄꤵ¤»¤ë¡£ ¼¡¤Ë trim ¤¹¤ë*/ } #endif done: if (!yc->kEndp) { if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); } if (yc->right) { removeCurrentBunsetsu(d, (tanContext)yc); yc = (yomiContext)0; } else { /* ̤³ÎÄêʸ»úÎó¤¬Á´¤¯¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ê¤é¡¢¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } currentModeInfo(d); } else { if (yc->kCurs != yc->kRStartp) { ReCheckStartp(yc); } } if (yc) { fitmarks(yc); } makeYomiReturnStruct(d); return len; } yomiContext newFilledYomiContext(next, prev) mode_context next; KanjiMode prev; { yomiContext yc; yc = newYomiContext((wchar_t *)NULL, 0, /* ·ë²Ì¤Ï³ÊǼ¤·¤Ê¤¤ */ CANNA_NOTHING_RESTRICTED, (int)!CANNA_YOMI_CHGMODE_INHIBITTED, (int)!CANNA_YOMI_END_IF_KAKUTEI, CANNA_YOMI_INHIBIT_NONE); if (yc) { yc->majorMode = yc->minorMode = CANNA_MODE_HenkanMode; yc->curMode = &yomi_mode; yc->myEmptyMode = &empty_mode; yc->romdic = romajidic; yc->next = next; yc->prevMode = prev; } return yc; } #ifdef DO_MERGE static yomiContext mergeYomiContext(yc) yomiContext yc; { yomiContext res, a, b; res = yc; while (res->left && res->left->id == YOMI_CONTEXT) { res = (yomiContext)res->left; } for (a = (yomiContext)res->right ; a && a->id == YOMI_CONTEXT ; a = b) { b = (yomiContext)a->right; appendYomi2Yomi(a, res); if (yc == a) { res->kCurs = res->kRStartp = res->kEndp; res->rCurs = res->rStartp = res->rEndp; res->cmark = res->kCurs; } res->right = a->right; if (res->right) { res->right->left = (tanContext)res; } /* yc->context ¤Î close ¤Ï¤¤¤é¤Ê¤¤¤Î¤«¤Ê¤¢¡£1996.10.30 º£ */ freeYomiContext(a); } return res; } #endif /* tanContext ¤ò yomiContext ¤Ë¤·¤Æ¡¢ÆÉ¤ßÆþÎϾõÂ֤ˤ¹¤ë 0 ¼ºÇÔ(jrKanjiError¤¬ÀßÄꤵ¤ì¤ë¡£¥¬¥¤¥É¥é¥¤¥ó¤ÏÉÔÄê¤Ç¤¢¤ë¡£) otherwise ¤¢¤¿¤é¤·¤¤ÆÉ¤ß¥³¥ó¥Æ¥­¥¹¥È¤¬ÊÖ¤ë ´ðËÜŪ¤ËÉûºîÍѤϤʤ¤¡£ yc¤Ïkanji¤ò»ØÄꤹ¤ì¤Ðtankouho_mode, »ØÄꤷ¤Ê¤±¤ì¤Ðyomi_mode¤Ë¤Ê¤ë¡£ */ static yomiContext tanbunToYomi(d, tan, kanji) uiContext d; tanContext tan; wchar_t *kanji; { yomiContext yc; yc = newFilledYomiContext(tan->next, tan->prevMode); if (yc) { extern KanjiModeRec tankouho_mode; appendTan2Yomi(tan, yc); copyTaninfo2Yomi(tan, yc); if (kanji) { if (doYomiHenkan(d, 0, kanji, yc)) { freeYomiContext(yc); return (yomiContext)NULL; } yc->curMode = &tankouho_mode; yc->minorMode = CANNA_MODE_TankouhoMode; yc->kouhoCount = 0; } yc->right = tan->right; yc->left = tan->left; if (yc->myMinorMode) { yc->minorMode = yc->myMinorMode; } if (chikujip(yc)) { /* Ã༡¤Ë¤Ï¤·¤Ê¤¤ */ yc->generalFlags &= ~CANNA_YOMI_CHIKUJI_MODE; yc->generalFlags |= CANNA_YOMI_BASE_CHIKUJI; } return yc; } jrKanjiError = "\245\341\245\342\245\352\244\254\302\255\244\352\244\336" "\244\273\244\363"; /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó */ return (yomiContext)0; } /* * tanbunToYomi¤Çºî¤é¤ì¤¿yc¤òÍ­¸ú¤Ë¤¹¤ë¡£ * ¶ñÂÎŪ¤Ë¤Ï¡¢Ê¸Àá¥ê¥¹¥È¤ÎÆþ¤ì´¹¤¨¡¢¥â¡¼¥ÉÁ«°Ü¡¢¸Å¤¤tanContext¤ÎÇË´þ * ¤ò¹Ô¤¦¡£Ê¸Àá¥ê¥¹¥È¤ÏtanbunToYomi¤Î»þÅÀ¤«¤éÊѹ¹¤µ¤ì¤Æ¤¤¤Æ¤Ï¤Ê¤é¤Ê¤¤¤¬¡¢ * yc->curMode¤ÏÊѹ¹¤µ¤ì¤Æ¤¤¤Æ¤â¤è¤¤¡£ */ static void tanbunCommitYomi(d, tan, yc) uiContext d; tanContext tan; yomiContext yc; { if (yc->left) yc->left->right = (tanContext)yc; if (yc->right) yc->right->left = (tanContext)yc; #ifdef DO_MERGE /* ÄêµÁ¤·¤Æ¤¤¤Ê¤¤ */ yc = mergeYomiContext(yc); #endif if (d && d->modec == (mode_context)tan) { d->current_mode = yc->curMode; d->modec = (mode_context)yc; } freeTanContext(tan); } static int TbBubunMuhenkan(d) uiContext d; { tanContext tan = (tanContext)d->modec; yomiContext yc; yc = tanbunToYomi(d, tan, (wchar_t *)NULL); if (yc) { tanbunCommitYomi(d, tan, yc); currentModeInfo(d); makeKanjiStatusReturn(d, yc); return 0; } makeGLineMessageFromString(d, jrKanjiError); return NothingChangedWithBeep(d); } /* TanBubunMuhenkan -- ÊÑ´¹Ãæ¤Îʸ»úÎó¤òʸÀáËè¤Ëʬ³ä¤¹¤ë¡£ ¤½¤ÎºÝ¡¢ÆÉ¤ß¤ä¥í¡¼¥Þ»ú¤âʬ³ä¤¹¤ë */ int TanBubunMuhenkan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return TbBubunMuhenkan(d); } if (!yc->right && !yc->left && yc->nbunsetsu == 1) { return TanMuhenkan(d); } if (doTanBubunMuhenkan(d, yc) < 0) { makeGLineMessageFromString(d, jrKanjiError); return TanMuhenkan(d); } makeYomiReturnStruct(d); currentModeInfo(d); return 0; } int prepareHenkanMode(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (confirmContext(d, yc) < 0) { return 0; } d->current_mode = yc->curMode = &tankouho_mode; return 1; } doHenkan(d, len, kanji) uiContext d; int len; wchar_t *kanji; { /* ¤è¤ß¤ò´Á»ú¤ËÊÑ´¹¤¹¤ë */ if(doYomiHenkan(d, len, kanji, (yomiContext)d->modec) == NG) { return -1; } /* kanji_status_return¤òºî¤ë */ makeKanjiStatusReturn(d, (yomiContext)d->modec); return 0; } /* * ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦ * ¡¦yc->kana_buffer¤ÎÆÉ¤ß¤Ç¡¢RkwBgnBun¤ò¸Æ¤ó¤Ç¤«¤Ê´Á»úÊÑ´¹¤ò³«»Ï¤¹¤ë * ¡¦d->genbuf,contextCache¤ò»È¤¦Â¾¡¢jrKanjiError¤¬ÀßÄꤵ¤ì¤ë * ¡¦¡Ö¤«¤Ê´Á»úÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡×¤Î¾ì¹ç¤À¤±¥¬¥¤¥É¥é¥¤¥ó¤âÀ¸À®¤µ¤ì¤ë¤¬¡¢ * ¡¡¥¬¥¤¥É¥é¥¤¥ó¤ÏºÆÀßÄꤷ¤Æ¤âÎɤ¤¤Î¤Ç¡¢Ã±¤Ë̤ÀßÄê¤È¤·¤Æ°·¤¨¤ÐÎɤ¤ * ¡¦¤½¤ì°Ê³°¤ËÉûºîÍѤϤʤ¤¤Ï¤º * * °ú¤­¿ô uiContext * len len ¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¤éʸÀáŤò¤½¤ÎŤµ¤Ë¤¹¤ë¡£ * kanji kanji ¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¤éñʸÀáÊÑ´¹¤·¤Æ¡¢ * ¥«¥ì¥ó¥È¸õÊä¤ò kanji ¤Ç¼¨¤µ¤ì¤¿¸õÊä¤Ë¹ç¤ï¤»¤ë¡£ * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static doYomiHenkan(d, len, kanji, yc) uiContext d; int len; wchar_t *kanji; yomiContext yc; { unsigned int mode; extern defaultContext; #if defined(DEBUG) if (iroha_debug) { /* printf("yomi => "); Wprintf(hc->yomi_buffer); putchar('\n');*/ printf("yomi len => %d\n", hc->yomilen); } #endif /* ϢʸÀáÊÑ´¹¤ò³«»Ï¤¹¤ë *//* ¼­½ñ¤Ë¤Ê¤¤ ¥«¥¿¥«¥Ê ¤Ò¤é¤¬¤Ê ¤òÉղ乤ë */ mode = 0; mode = (RK_XFER<nbunsetsu = RkwBgnBun(yc->context, yc->kana_buffer, yc->kEndp, mode)) == -1) { yc->nbunsetsu = 0; return kanakanError(d); } if (len > 0 && (yc->nbunsetsu = RkwResize(yc->context, len)) == -1) { RkwEndBun(yc->context, 0); yc->nbunsetsu = 0; return kanakanError(d); } if (kanji) { /* kanji ¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¤é¡¢Æ±¤¸¸õÊ䤬¤Ç¤ë¤Þ¤Ç RkwNext ¤ò¤¹¤ë */ int i, n; n = RkwGetKanjiList(yc->context, d->genbuf, ROMEBUFSIZE); if (n < 0) { return kanakanError(d); } for (i = 0 ; i < n ; i++) { RkwXfer(yc->context, i); len = RkwGetKanji(yc->context, d->genbuf, ROMEBUFSIZE); if (len < 0) { return kanakanError(d); } d->genbuf[len] = (wchar_t)'\0'; if (!WStrcmp(kanji, d->genbuf)) { break; } } if (i == n) { RkwXfer(yc->context, 0); } } #ifdef MEASURE_TIME yc->rktime = times(&timebuf); yc->rktime -= RkTime; } #endif /* MEASURE_TIME */ /* ¥«¥ì¥ó¥ÈʸÀá¤ÏÀèÆ¬Ê¸Àá */ yc->curbun = 0; return(0); } int TanNop(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; /* currentModeInfo ¤Ç¥â¡¼¥É¾ðÊó¤¬É¬¤ºÊÖ¤ë¤è¤¦¤Ë¥À¥ß¡¼¤Î¥â¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯ */ d->majorMode = d->minorMode = CANNA_MODE_AlphaMode; currentModeInfo(d); makeKanjiStatusReturn(d, yc); return 0; } static int doGoTo(d, yc) uiContext d; yomiContext yc; { if (RkwGoTo(yc->context, yc->curbun) == -1) { return makeRkError(d, "\312\270\300\341\244\316\260\334\306\260\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } yc->status |= CHIKUJI_OVERWRAP; /* kanji_status_return¤òºî¤ë */ makeKanjiStatusReturn(d, yc); return 0; } /* * ¼¡Ê¸Àá¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ int TanForwardBunsetsu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return TbForward(d); } yc->kouhoCount = 0; if (yc->curbun + 1 < yc->nbunsetsu) { yc->curbun++; } else if (yc->cStartp && yc->cStartp < yc->kEndp) { /* Ã༡¤ÎÆÉ¤ß¤¬±¦¤Ë¤¢¤ë */ yc->kRStartp = yc->kCurs = yc->cStartp; yc->rStartp = yc->rCurs = yc->cRStartp; moveToChikujiYomiMode(d); } else if (yc->right) { return TbForward(d); } else if (cannaconf.kakuteiIfEndOfBunsetsu) { d->nbytes = TanKakutei(d); d->kanji_status_return->length = d->kanji_status_return->revPos = d->kanji_status_return->revLen = 0; return d->nbytes; } else if (!cannaconf.CursorWrap) { return NothingForGLine(d); } else if (yc->left) { return TbBeginningOfLine(d); } else { yc->curbun = 0; } /* ¥«¥ì¥ó¥ÈʸÀá¤ò£±¤Ä±¦¤Ë°Ü¤¹ */ /* ¥«¥ì¥ó¥ÈʸÀ᤬ºÇ±¦¤À¤Ã¤¿¤é¡¢ ºÇº¸¤ò¥«¥ì¥ó¥ÈʸÀá¤Ë¤¹¤ë */ return doGoTo(d, yc); } /* * Á°Ê¸Àá¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ int TanBackwardBunsetsu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return TbBackward(d); } yc->kouhoCount = 0; if (yc->curbun) { yc->curbun--; } else if (yc->left) { return TbBackward(d); } else if (!cannaconf.CursorWrap) { return NothingForGLine(d); } else if (yc->right) { return TbEndOfLine(d); } else if (yc->cStartp && yc->cStartp < yc->kEndp) { /* Ã༡¤ÎÆÉ¤ß¤¬±¦¤Ë¤¢¤ë */ yc->kCurs = yc->kRStartp = yc->kEndp; yc->rCurs = yc->rStartp = yc->rEndp; moveToChikujiYomiMode(d); } else { yc->curbun = yc->nbunsetsu - 1; } return doGoTo(d, yc); } /* * ¼¡¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static tanNextKouho(d, yc) uiContext d; yomiContext yc; { #ifdef MEASURE_TIME struct tms timebuf; long proctime, times(); proctime = times(&timebuf); #endif /* MEASURE_TIME */ /* ¼¡¤Î¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë */ if (RkwNext(yc->context) == -1) { makeRkError(d, "\245\253\245\354\245\363\245\310\270\365\312\344\244\362" "\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307" "\244\267\244\277"); /* ¥«¥ì¥ó¥È¸õÊä¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ return TanMuhenkan(d); } #ifdef MEASURE_TIME yc->rktime = times(&timebuf); yc->rktime -= proctime; #endif /* MEASURE_TIME */ /* kanji_status_return¤òºî¤ë */ makeKanjiStatusReturn(d, yc); #ifdef MEASURE_TIME yc->proctime = times(&timebuf); yc->proctime -= proctime; #endif /* MEASURE_TIME */ return(0); } /* enterTanHenkanMode -- tanContext ¤ò yomiContext ¤Ë¤·¤ÆÊÑ´¹¤Î½àÈ÷¤ò¤¹¤ë */ static int enterTanHenkanMode(d, fnum) uiContext d; { tanContext tan = (tanContext)d->modec; yomiContext yc; wchar_t *prevkanji; prevkanji = tan->kanji; tan->kanji = (wchar_t *)0; yc = tanbunToYomi(d, tan, prevkanji); free((char *)prevkanji); if (yc) { /*¤³¤³¤Ç ñ¸õÊä¥â¡¼¥É¤Î·Á¤Ë¤¹¤ë */ if (confirmContext(d, yc) >= 0) { /* really needed? */ tanbunCommitYomi(d, tan, yc); yc->kouhoCount = 1; d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = fnum; return 0; } freeYomiContext(yc); } makeGLineMessageFromString(d, jrKanjiError); return NothingChangedWithBeep(d); } /* * ¸õÊä°ìÍ÷¹Ô¤òɽ¼¨¤¹¤ë * * ¡¦¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤Î¥Ç¡¼¥¿¤ò¥Æ¡¼¥Ö¥ë¤ËºîÀ®¤¹¤ë * ¡¦¸õÊä°ìÍ÷ɽ¼¨¹Ô¤¬¶¹¤¤¤È¤­¤Ï¡¢°ìÍ÷¤òɽ¼¨¤·¤Ê¤¤¤Ç¼¡¸õÊä¤ò¤½¤Î¾ì¤Ëɽ¼¨¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ TanKouhoIchiran(d) uiContext d; { if (d->modec->id != YOMI_CONTEXT) { return enterTanHenkanMode(d, CANNA_FN_KouhoIchiran); } return tanKouhoIchiran(d, 1); } TanNextKouho(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return enterTanHenkanMode(d, CANNA_FN_Next); } yc->status |= CHIKUJI_OVERWRAP; yc->kouhoCount = 0; return tanNextKouho(d, yc); } /* TanHenkan -- ²ó¿ô¤ò¥Á¥§¥Ã¥¯¤¹¤ë°Ê³°¤Ï TanNextKouho ¤È¤Û¤ÜƱ¤¸ */ static TanHenkan pro((uiContext)); static int TanHenkan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return enterTanHenkanMode(d, CANNA_FN_Henkan); } if (cannaconf.kouho_threshold && ++yc->kouhoCount >= cannaconf.kouho_threshold) { return TanKouhoIchiran(d); } else { return tanNextKouho(d, yc); } } /* * Á°¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ TanPreviousKouho(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return enterTanHenkanMode(d, CANNA_FN_Prev); } yc->status |= CHIKUJI_OVERWRAP; yc->kouhoCount = 0; /* Á°¤Î¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë */ if (RkwPrev(yc->context) == -1) { makeRkError(d, "\245\253\245\354\245\363\245\310\270\365\312\344\244\362" "\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307" "\244\267\244\277"); /* ¥«¥ì¥ó¥È¸õÊä¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ return TanMuhenkan(d); } /* kanji_status_return¤òºî¤ë */ makeKanjiStatusReturn(d, yc); return 0; } /* tanJishuHenkan -- ÆÃÄê¤ÎʸÀá¤À¤±»ú¼ïÊÑ´¹¤¹¤ë */ static int tanJishuHenkan pro((uiContext, int)); static int tanJishuHenkan(d, fn) uiContext d; int fn; { d->nbytes = TanBubunMuhenkan(d); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = fn; return d->nbytes; } TanHiragana(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_Hiragana); } TanKatakana(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_Katakana); } TanRomaji(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_Romaji); } TanUpper(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_ToUpper); } TanCapitalize(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_Capitalize); } TanZenkaku(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_Zenkaku); } TanHankaku(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_Hankaku); } int TanKanaRotate pro((uiContext)); TanKanaRotate(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_KanaRotate); } int TanRomajiRotate pro((uiContext)); TanRomajiRotate(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_RomajiRotate); } int TanCaseRotateForward pro((uiContext)); TanCaseRotateForward(d) uiContext d; { return tanJishuHenkan(d, CANNA_FN_CaseRotate); } static int gotoBunsetsu(yc, n) yomiContext yc; int n; { /* ¥«¥ì¥ó¥ÈʸÀá¤ò°Üư¤¹¤ë */ if (RkwGoTo(yc->context, n) == -1) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\312\270\300\341\244\316\260\334\306\260\244\313\274\272" "\307\324\244\267\244\336\244\267\244\277"; /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return NG; } yc->curbun = n; return 0; } /* * ºÇº¸Ê¸Àá¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ int TanBeginningOfBunsetsu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT || yc->left) { return TbBeginningOfLine(d); } yc->kouhoCount = 0; if (gotoBunsetsu(yc, 0) < 0) { return NG; } makeKanjiStatusReturn(d, yc); return 0; } /* * ºÇ±¦Ê¸Àá¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ int TanEndOfBunsetsu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT || yc->right) { return TbEndOfLine(d); } yc->kouhoCount = 0; if (yc->cStartp && yc->cStartp < yc->kEndp) { yc->kRStartp = yc->kCurs = yc->kEndp; yc->rStartp = yc->rCurs = yc->rEndp; moveToChikujiYomiMode(d); } if (gotoBunsetsu(yc, yc->nbunsetsu - 1) < 0) { return NG; } yc->status |= CHIKUJI_OVERWRAP; makeKanjiStatusReturn(d, yc); return 0; } int tanMuhenkan(d, kCurs) uiContext d; int kCurs; { extern KanjiModeRec yomi_mode; yomiContext yc = (yomiContext)d->modec; int autoconvert = (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE); if (RkwEndBun(yc->context, 0) == -1) { if (errno == EPIPE) { jrKanjiPipeError(); } } if (autoconvert) { yc->status &= CHIKUJI_NULL_STATUS; d->current_mode = yc->curMode = &cy_mode; yc->ys = yc->ye = yc->cStartp = yc->cRStartp = 0; yc->rCurs = yc->rStartp = yc->rEndp; yc->kCurs = yc->kRStartp = yc->kEndp; clearHenkanContext(yc); } else { d->current_mode = yc->curMode = &yomi_mode; } yc->minorMode = getBaseMode(yc); if (kCurs >= 0) { int rpos; kPos2rPos(yc, 0, kCurs, (int *)0, &rpos); yc->kCurs = yc->kRStartp = kCurs; yc->rCurs = yc->rStartp = rpos; } /* Á´Éô̵ÊÑ´¹¤Ë¤¹¤ë */ yc->nbunsetsu = 0; /* ñ¸õÊä¾õÂÖ¤«¤éÆÉ¤ß¤ËÌá¤ë¤È¤­¤Ë¤Ï̵¾ò·ï¤Ëmark¤òÀèÆ¬¤ËÌ᤹ */ yc->cmark = yc->pmark = 0; abandonContext(d, yc); return 0; } /* * Á´¤Æ¤ÎʸÀá¤òÆÉ¤ß¤ËÌᤷ¡¢YomiInputMode ¤ËÌá¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ TanMuhenkan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec, newyc; tanContext tan; if (yc->id != YOMI_CONTEXT || yc->left || yc->right) { tan = (tanContext)yc; while (tan->left) { tan = tan->left; } if (tan->id == YOMI_CONTEXT) { newyc = (yomiContext)tan; } else { newyc = newFilledYomiContext(yc->next, yc->prevMode); if (newyc) { tan->left = (tanContext)newyc; newyc->right = tan; newyc->generalFlags = tan->generalFlags; newyc->savedFlags = tan->savedFlags; if (chikujip(newyc)) { newyc->curMode = &cy_mode; } newyc->minorMode = getBaseMode(newyc); } else { jrKanjiError = "\245\341\245\342\245\352\244\254\302\255\244\352" "\244\336\244\273\244\363"; /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó */ makeGLineMessageFromString(d, jrKanjiError); return NothingChangedWithBeep(d); } } d->modec = (mode_context)newyc; d->current_mode = newyc->curMode; doMuhenkan(d, newyc); if (newyc->generalFlags & (CANNA_YOMI_CHIKUJI_MODE | CANNA_YOMI_BASE_CHIKUJI)) { /* ¡Ö¿´¤ÏÃ༡¤À¤Ã¤¿¡×¤Î¤Ç¤¢¤ì¤Ð¡¢Ã༡¥â¡¼¥É¤ËÌ᤹ */ newyc->generalFlags |= CANNA_YOMI_CHIKUJI_MODE; newyc->generalFlags &= ~CANNA_YOMI_BASE_CHIKUJI; newyc->minorMode = getBaseMode(newyc); d->current_mode = newyc->curMode = &cy_mode; } makeYomiReturnStruct(d); currentModeInfo(d); return 0; } if (yc->generalFlags & (CANNA_YOMI_CHIKUJI_MODE | CANNA_YOMI_BASE_CHIKUJI)) { /* ¡Ö¿´¤ÏÃ༡¤À¤Ã¤¿¡×¤Î¤Ç¤¢¤ì¤Ð¡¢Ã༡¥â¡¼¥É¤ËÌ᤹ */ yc->generalFlags |= CANNA_YOMI_CHIKUJI_MODE; yc->generalFlags &= ~CANNA_YOMI_BASE_CHIKUJI; /* ¥Ì¥ë¥¹¥Æ¡¼¥¿¥¹¤ËÌ᤹ */ yc->status &= CHIKUJI_NULL_STATUS; } tanMuhenkan(d, -1); makeYomiReturnStruct(d); currentModeInfo(d); return 0; } int TanDeletePrevious(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int i, j, l = -1, ret = 0; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t tmpbuf[ROMEBUFSIZE]; #else wchar_t *tmpbuf = (wchar_t *)malloc(sizeof(wchar_t) * ROMEBUFSIZE); if (!tmpbuf) { return ret; } #endif if (yc->id != YOMI_CONTEXT) { ret = TanMuhenkan(d); goto return_ret; } if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && !cannaconf.BackspaceBehavesAsQuit) { ret = ChikujiTanDeletePrevious(d); goto return_ret; } else { if (cannaconf.keepCursorPosition) { for (i = 0, l = 0; i <= yc->curbun; i++) { if (RkwGoTo(yc->context, i) == -1 || (j = RkwGetYomi(yc->context, tmpbuf, ROMEBUFSIZE)) == -1) { l = -1; break; } l += j; } } yc->status &= CHIKUJI_NULL_STATUS; tanMuhenkan(d, l); makeYomiReturnStruct(d); currentModeInfo(d); ret = 0; } return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)tmpbuf); #endif return ret; } #if 0 /* doTanKakutei -- ³ÎÄꤵ¤»¤ëưºî¤ò¤¹¤ë retval 0 -- ÌäÂê̵¤¯³ÎÄꤷ¤¿¡£ 1 -- ³ÎÄꤷ¤¿¤é¤Ê¤¯¤Ê¤Ã¤¿¡£ -1 -- ¥¨¥é¡¼¡© */ static doTanKakutei(d, yc) uiContext d; yomiContext yc; { if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && (yc->cStartp < yc->kEndp)) { (void)RomajiFlushYomi(d, (wchar_t *)0, 0); } return 0; } #endif /* 0 */ void finishTanKakutei(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int autoconvert = yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE; #ifdef DO_RENGO_LEARNING #define RENGOBUFSIZE 256 /* BIGARRAY */ if (RengoGakushu && hc->nbunsetsu > 1) { /* Ï¢¸ì³Ø½¬¤ò¤·¤è¤¦¤«¤Ê¤¡ */ RkLex lex[2][RENGOBUFSIZE]; wchar_t yomi[2][RENGOBUFSIZE]; wchar_t kanji[2][RENGOBUFSIZE]; wchar_t word[1024], *w; unsigned char xxxx[ROMEBUFSIZE]; int nword[2], wlen; *(w = word) = (wchar_t) '\0'; wlen = 1024; RkwGoTo(hc->context, 0); nword[0] = RkwGetLex(hc->context, lex[0], RENGOBUFSIZE); yomi[0][0] = (wchar_t) '\0'; /* yomi[current][0]¤Î¿¿ÍýÃÍ ¢á RkwGetYomi¤·¤¿¤« */ for (i = 1 ; i < hc->nbunsetsu ; i++) { int current, previous, mighter; current = i % 2; previous = 1 - current; nword[current] = 0; if ( !nword[previous] ) { nword[previous] = RkwGetLex(hc->context, lex[previous], RENGOBUFSIZE); } RkwRight(hc->context); if (nword[previous] == 1) { nword[current] = RkwGetLex(hc->context, lex[current], RENGOBUFSIZE); yomi[current][0] = (wchar_t) '\0'; if (((lex[previous][0].ylen <= 3 && lex[previous][0].klen == 1) || (lex[current][0].ylen <= 3 && lex[current][0].klen == 1)) && (lex[current][0].rownum < R_K5 || R_NZX < lex[current][0].rownum)) { if ( !yomi[previous][0] ) { RkwLeft(hc->context); RkwGetYomi(hc->context, yomi[previous], RENGOBUFSIZE); RkwGetKanji(hc->context, kanji[previous], RENGOBUFSIZE); RkwRight(hc->context); } RkwGetYomi(hc->context, yomi[current], RENGOBUFSIZE); RkwGetKanji(hc->context, kanji[current], RENGOBUFSIZE); WStrncpy(yomi[previous] + lex[previous][0].ylen, yomi[current], lex[current][0].ylen); yomi[previous][lex[previous][0].ylen + lex[current][0].ylen] = (wchar_t) '\0'; WStrncpy(kanji[previous] + lex[previous][0].klen, kanji[current], lex[current][0].klen); kanji[previous][lex[previous][0].klen + lex[current][0].klen] = (wchar_t) '\0'; #ifdef NAGASADEBUNPOUWOKIMEYOU if (lex[previous][0].klen >= lex[current][0].klen) { /* Á°¤Î´Á»ú¤ÎŤµ >= ¸å¤í¤Î´Á»ú¤ÎŤµ */ mighter = previous; } else { mighter = current; } #else /* !NAGASADEBUNPOUWOKIMEYOU */ mighter = current; #endif /* !NAGASADEBUNPOUWOKIMEYOU */ WStrcpy(w, yomi[previous]); printf(xxxx, " #%d#%d ", lex[mighter][0].rownum, lex[mighter][0].colnum); MBstowcs(w + WStrlen(w), xxxx, wlen - WStrlen(w)); WStrcat(w, kanji[previous]); wlen -= (WStrlen(w) + 1); w += WStrlen(w) + 1; *w = (wchar_t) '\0'; } } } } #endif /* DO_RENGO_LEARNING */ if (RkwEndBun(yc->context, cannaconf.Gakushu ? 1 : 0) == -1) { if (errno == EPIPE) { jrKanjiPipeError(); } } #ifdef DO_RENGO_LEARNING if (RengoGakushu && yc->nbunsetsu > 1) { /* Ï¢¸ì³Ø½¬¤ò¤·¤è¤¦¤«¤Ê¤¡ */ for (w = word ; *w ; w += WStrlen(w) + 1) { RkwDefineDic(yc->context, RengoGakushu, w); } } #endif /* DO_RENGO_LEARNING */ if (autoconvert) { yc->status &= CHIKUJI_NULL_STATUS; yc->ys = yc->ye = yc->cStartp = yc->cRStartp = 0; clearHenkanContext(yc); yc->kEndp = yc->rEndp = yc->kCurs = yc->rCurs = yc->cStartp = yc->cRStartp = yc->rStartp = yc->kRStartp = 0; yc->kAttr[0] = yc->rAttr[0] = SENTOU; yc->kana_buffer[0] = yc->romaji_buffer[0] = 0; /* d->kanji_status_return->info |= KanjiEmptyInfo; ¿ʬÍפé¤Ê¤¤¤Î¤Ç.. */ d->current_mode = yc->curMode = yc->myEmptyMode; } yc->minorMode = getBaseMode(yc); /* ñ¸õÊä¾õÂÖ¤«¤éÆÉ¤ß¤ËÌá¤ë¤È¤­¤Ë¤Ï̵¾ò·ï¤Ëmark¤òÀèÆ¬¤ËÌ᤹ */ yc->nbunsetsu = 0; yc->cmark = yc->pmark = 0; abandonContext(d, yc); if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); } } TanKakutei(d) uiContext d; { return YomiKakutei(d); } /* * ´Á»ú¸õÊä¤ò³ÎÄꤵ¤»¡¢¥í¡¼¥Þ»ú¤ò¥¤¥ó¥µ¡¼¥È¤¹¤ë * * renbun-continue ¤¬ t ¤Î¤È¤­¤Ï¡¢¼ÂºÝ¤Ë¤Ï³ÎÄꤷ¤Ê¤¤¤Î¤Ç½èÍý¤¬ * ÌÌÅݤÀ¤Ã¤¿¤ê¤¹¤ë¡£ * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static TanKakuteiYomiInsert pro((uiContext)); static int TanKakuteiYomiInsert(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; tanContext tan; if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) ? cannaconf.ChikujiContinue : cannaconf.RenbunContinue) { d->nbytes = 0; for (tan = (tanContext)yc ; tan->right ; tan = tan->right) /* bodyless 'for' */; yc = (yomiContext)0; /* ǰ¤Î¤¿¤á */ d->modec = (mode_context)tan; setMode(d, tan, 1); if (tan->id == YOMI_CONTEXT) { yc = (yomiContext)tan; if (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) { /* Ã༡¤Ê¤éÉáÄ̤˳¤±¤ë¤À¤±¤À¤«¤é¤Ê¤¢ */ yc->minorMode = CANNA_MODE_ChikujiTanMode; d->current_mode = yc->curMode = &cb_mode; currentModeInfo(d); yc->status &= ~CHIKUJI_OVERWRAP; if (yc->kCurs != yc->kEndp) { yc->rStartp = yc->rCurs = yc->rEndp; yc->kRStartp = yc->kCurs = yc->kEndp; } yc->ys = yc->ye = yc->cStartp; return YomiInsert(d); } else { /* Ã༡¤¸¤ã¤Ê¤¤¾ì¹ç */ extern nKouhoBunsetsu; yc->curbun = yc->nbunsetsu; if (doTanBubunMuhenkan(d, yc) < 0) { makeGLineMessageFromString(d, jrKanjiError); return NothingChangedWithBeep(d); } if (nKouhoBunsetsu) { (void)cutOffLeftSide(d, yc, nKouhoBunsetsu); } } } else { yc = newFilledYomiContext(tan->next, tan->prevMode); /* ¤¢¤êÆÀ¤Ê¤¤ if (tan->right) yc->right = tan->right; yc->right->left = yc; */ tan->right = (tanContext)yc; yc->left = tan; d->modec = (mode_context)yc; /* d->current_mode = yc->curMode = yc->myEmptyMode; */ } } else { d->nbytes = YomiKakutei(d); } /* YomiKakutei(d) ¤Ç d->modec ¤¬Êѹ¹¤µ¤ì¤¿²ÄǽÀ­¤¬¤¢¤ë¤Î¤ÇºÆÆÉ¤ß¹þ¤ß¤¹¤ë */ yc = (yomiContext)d->modec; if (yc->id == YOMI_CONTEXT) { yc->minorMode = getBaseMode(yc); } currentModeInfo(d); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = 0; /* ¾å¤Î ch ¤Ç¼¨¤µ¤ì¤ë½èÍý¤ò¤»¤è */ return d->nbytes; } /* cfuncdef pos ¤Ç»ØÄꤵ¤ì¤¿Ê¸Àᤪ¤è¤Ó¤½¤ì¤è¤ê¸å¤ÎʸÀá¤Î»ú¼ïÊÑ´¹¾ðÊó¤ò ¥¯¥ê¥¢¤¹¤ë¡£ */ static int doTbResize(d, yc, n) uiContext d; yomiContext yc; int n; { int len; if (doTanBubunMuhenkan(d, yc) < 0) { makeGLineMessageFromString(d, jrKanjiError); return NothingChangedWithBeep(d); } len = yc->kEndp; doMuhenkan(d, yc); /* yc ¤«¤é±¦¤ò¤ß¤ó¤Ê̵ÊÑ´¹¤Ë¤·¤Æ yc ¤Ë¤Ä¤Ê¤²¤ë */ if (!prepareHenkanMode(d)) { makeGLineMessageFromString(d, jrKanjiError); makeYomiReturnStruct(d); currentModeInfo(d); return 0; } yc->minorMode = CANNA_MODE_TankouhoMode; yc->kouhoCount = 0; if (doHenkan(d, len + n, (wchar_t *)0) < 0) { makeGLineMessageFromString(d, jrKanjiError); makeYomiReturnStruct(d); currentModeInfo(d); return 0; } currentModeInfo(d); makeKanjiStatusReturn(d, yc); return 0; } /* * ʸÀá¤ò¿­¤Ð¤¹ * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static TanExtendBunsetsu pro((uiContext)); static int TanExtendBunsetsu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return enterTanHenkanMode(d, CANNA_FN_Extend); } d->nbytes = 0; yc->kouhoCount = 0; if (yc->right) { return doTbResize(d, yc, 1); } if ((yc->nbunsetsu = RkwEnlarge(yc->context)) <= 0) { makeRkError(d, "\312\270\300\341\244\316\263\310\302\347\244\313\274\272" "\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î³ÈÂç¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return TanMuhenkan(d); } makeKanjiStatusReturn(d, yc); return(d->nbytes); } /* * ʸÀá¤ò½Ì¤á¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static TanShrinkBunsetsu pro((uiContext)); static int TanShrinkBunsetsu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return enterTanHenkanMode(d, CANNA_FN_Shrink); } d->nbytes = 0; yc->kouhoCount = 0; if (yc->right) { return doTbResize(d, yc, -1); } /* ʸÀá¤ò½Ì¤á¤ë */ if ((yc->nbunsetsu = RkwShorten(yc->context)) <= 0) { makeRkError(d, "\312\270\300\341\244\316\275\314\276\256\244\313\274\272" "\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î½Ì¾®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return TanMuhenkan(d); } makeKanjiStatusReturn(d, yc); return(d->nbytes); } #define BUNPOU_DISPLAY #ifdef BUNPOU_DISPLAY /* * ʸˡ¾ðÊó¤ò¥×¥ê¥ó¥È¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ TanPrintBunpou(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; static wchar_t mesg[512]; /* static! */ if (yc->id != YOMI_CONTEXT) { return enterTanHenkanMode(d, CANNA_FN_ConvertAsHex); } #ifdef notdef #ifdef DO_GETYOMI if (RkwGetYomi(yc->context, buf, 256) == -1) { if (errno == EPIPE) { jrKanjiPipeError(); TanMuhenkan(d); } fprintf(stderr, "¥«¥ì¥ó¥È¸õÊä¤ÎÆÉ¤ß¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"); } Wfprintf(stderr, "%s\n", buf); #endif /* DO_GETYOMI */ if(RkwGetKanji(yc->context, buf, 256) == -1) { if(errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\245\253\245\354\245\363\245\310\270\365\312\344\244\362" "\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307" "\244\267\244\277"; /* ¥«¥ì¥ó¥È¸õÊä¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ return NG; } #endif if (RkwGetHinshi(yc->context, mesg, sizeof(mesg) / sizeof(wchar_t)) < 0) { jrKanjiError = "\311\312\273\354\276\360\312\363\244\362\274\350\244\352" "\275\320\244\273\244\336\244\273\244\363\244\307\244\267\244\277"; /* ÉÊ»ì¾ðÊó¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ makeGLineMessageFromString(d, jrKanjiError); makeKanjiStatusReturn(d, yc); return 0; } makeKanjiStatusReturn(d, yc); d->kanji_status_return->info |= KanjiGLineInfo; d->kanji_status_return->gline.line = mesg; d->kanji_status_return->gline.length = WStrlen(mesg); d->kanji_status_return->gline.revPos = 0; d->kanji_status_return->gline.revLen = 0; d->flags |= PLEASE_CLEAR_GLINE; d->flags &= ~PCG_RECOGNIZED; return 0; } #endif /* BUNPOU_DISPLAY */ #ifdef MEASURE_TIME static TanPrintTime(d) uiContext d; { /* BIGARRAY */ unsgined char tmpbuf[1024]; static wchar_t buf[256]; yomiContext yc = (yomiContext)d->modec; ycc->kouhoCount = 0; sprintf(tmpbuf, "\312\321\264\271\273\376\264\326 %d [ms]¡¢\244\246\244\301" " UI \311\364\244\317 %d [ms]", (yc->proctime) * 50 / 3, (yc->proctime - yc->rktime) * 50 / 3); /* ÊÑ´¹»þ´Ö %d [ms]¡¢¤¦¤Á UI Éô¤Ï %d [ms] */ MBstowcs(buf, tmpbuf, 1024); d->kanji_status_return->info |= KanjiGLineInfo; d->kanji_status_return->gline.line = buf; d->kanji_status_return->gline.length = WStrlen(buf); d->kanji_status_return->gline.revPos = 0; d->kanji_status_return->gline.revLen = 0; d->kanji_status_return->length = -1; d->flags |= PLEASE_CLEAR_GLINE; d->flags &= ~PCG_RECOGNIZED; return 0; } #endif /* MEASURE_TIME */ void jrKanjiPipeError() { extern defaultContext, defaultBushuContext; defaultContext = -1; defaultBushuContext = -1; makeAllContextToBeClosed(0); RkwFinalize(); #if defined(DEBUG) if (iroha_debug) { fprintf(stderr, "\300\334\302\263\244\254\300\332\244\354\244\277\n"); /* Àܳ¤¬Àڤ줿 */ } #endif } /* cfuncdef TanBunsetsuMode -- ñ¸õÊä¥â¡¼¥É¤«¤éʸÀá¿­¤Ð¤·½Ì¤á¥â¡¼¥É¤Ø°Ü¹Ô¤¹¤ë */ static TanBunsetsuMode pro((uiContext)); static TanBunsetsuMode(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->id != YOMI_CONTEXT) { return enterTanHenkanMode(d, CANNA_FN_AdjustBunsetsu); } if (yc->right) { doTbResize(d, yc, 0); yc = (yomiContext)d->modec; } if (enterAdjustMode(d, yc) < 0) { return TanMuhenkan(d); } makeKanjiStatusReturn(d, yc); currentModeInfo(d); return 0; } static void chikujiSetCursor(d, forw) uiContext d; int forw; { yomiContext yc = (yomiContext)d->modec; if (forw) { /* °ìÈÖº¸¤Ø¹Ô¤¯ */ if (yc->nbunsetsu) { /* ʸÀ᤬¤¢¤ë¡© */ gotoBunsetsu(yc, 0); moveToChikujiTanMode(d); } else { yc->kRStartp = yc->kCurs = yc->cStartp; yc->rStartp = yc->rCurs = yc->cRStartp; moveToChikujiYomiMode(d); } } else { /* °ìÈÖ±¦¤Ø¹Ô¤¯ */ if (yc->cStartp < yc->kEndp) { /* ÆÉ¤ß¤¬¤¢¤ë¡© */ yc->kRStartp = yc->kCurs = yc->kEndp; yc->rStartp = yc->rCurs = yc->rEndp; moveToChikujiYomiMode(d); } else { gotoBunsetsu(yc, yc->nbunsetsu - 1); moveToChikujiTanMode(d); } } } void setMode(d, tan, forw) uiContext d; tanContext tan; int forw; { yomiContext yc = (yomiContext)tan; d->current_mode = yc->curMode; currentModeInfo(d); if (tan->id == YOMI_CONTEXT) { if (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) { chikujiSetCursor(d, forw); } else if (yc->nbunsetsu) { if (forw) { gotoBunsetsu(yc, 0); } else { gotoBunsetsu(yc, yc->nbunsetsu - 1); } } else /* ÆÉ¤ß¥â¡¼¥É */ if (forw) { yc->kCurs = yc->kRStartp = yc->cStartp; yc->rCurs = yc->rStartp = yc->cRStartp; } else { yc->kCurs = yc->kRStartp = yc->kEndp; yc->rCurs = yc->rStartp = yc->rEndp; } } } int TbForward(d) uiContext d; { tanContext tan = (tanContext)d->modec; if (tan->right) { d->modec = (mode_context)tan->right; tan = (tanContext)d->modec; } else if (cannaconf.CursorWrap && tan->left) { while (tan->left) { tan = tan->left; } d->modec = (mode_context)tan; } else { return NothingChanged(d); } setMode(d, tan, 1); makeKanjiStatusReturn(d, (yomiContext)d->modec); return 0; } int TbBackward(d) uiContext d; { tanContext tan = (tanContext)d->modec; if (tan->left) { d->modec = (mode_context)tan->left; tan = (tanContext)d->modec; } else if (cannaconf.CursorWrap && tan->right) { while (tan->right) { tan = tan->right; } d->modec = (mode_context)tan; } else { return NothingChanged(d); } setMode(d, tan, 0); makeKanjiStatusReturn(d, (yomiContext)d->modec); return 0; } int TbBeginningOfLine(d) uiContext d; { tanContext tan = (tanContext)d->modec; while (tan->left) { tan = tan->left; } d->modec = (mode_context)tan; setMode(d, tan, 1); makeKanjiStatusReturn(d, (yomiContext)d->modec); return 0; } int TbEndOfLine(d) uiContext d; { tanContext tan = (tanContext)d->modec; while (tan->right) { tan = tan->right; } d->modec = (mode_context)tan; setMode(d, tan, 0); makeKanjiStatusReturn(d, (yomiContext)d->modec); return 0; } static TbChooseChar pro((uiContext, int)); static TbChooseChar(d, head) uiContext d; int head; { tanContext tan = (tanContext)d->modec; if (!head) { int len = WStrlen(tan->kanji); tan->kanji[0] = tan->kanji[len - 1]; } tan->yomi[0] = tan->roma[0] = tan->kanji[0]; tan->yomi[1] = tan->roma[1] = tan->kanji[1] = (wchar_t)0; tan->rAttr[0] = SENTOU; tan->kAttr[0] = SENTOU | HENKANSUMI; tan->rAttr[1] = tan->kAttr[1] = SENTOU; makeKanjiStatusReturn(d, (yomiContext)tan); return 0; } static int TanChooseChar(d, head) uiContext d; int head; { int retval, len; yomiContext yc = (yomiContext)d->modec; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t xxx[ROMEBUFSIZE]; #else wchar_t *xxx; #endif if (yc->id != YOMI_CONTEXT) { return TbChooseChar(d, head); } #ifdef USE_MALLOC_FOR_BIG_ARRAY xxx = (wchar_t *)malloc(sizeof(wchar_t) * ROMEBUFSIZE); if (!xxx) { return 0; } #endif RkwGoTo(yc->context, yc->curbun); len = RkwGetKanji(yc->context, xxx, ROMEBUFSIZE); if (len >= 0) { retval = TanBubunMuhenkan(d); if (retval >= 0) { tanContext tan; yc = (yomiContext)d->modec; tan = newTanContext(yc->majorMode, CANNA_MODE_TankouhoMode); if (tan) { copyYomiinfo2Tan(yc, tan); tan->kanji = DUpwstr(xxx + (head ? 0 : len - 1), 1); tan->yomi = DUpwstr(yc->kana_buffer, yc->kEndp); tan->roma = DUpwstr(yc->romaji_buffer, yc->rEndp); tan->kAttr = DUpattr(yc->kAttr, yc->kEndp); tan->rAttr = DUpattr(yc->rAttr, yc->rEndp); tan->right = yc->right; if (tan->right) tan->right->left = tan; yc->right = tan; tan->left = (tanContext)yc; removeCurrentBunsetsu(d, (tanContext)yc); makeKanjiStatusReturn(d, (yomiContext)tan); goto done; } } } retval = NothingChangedWithBeep(d); done: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)xxx); #endif return retval; } static TanChooseHeadChar pro((uiContext)); static TanChooseTailChar pro((uiContext)); static TanChooseHeadChar(d) uiContext d; { return TanChooseChar(d, 1); } static TanChooseTailChar(d) uiContext d; { return TanChooseChar(d, 0); } #include "tanmap.h" #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/hex.c0100644000076500001200000001206607607542734014446 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: hex.c,v 1.2 2003/01/10 13:08:44 aida_s Exp $"; #endif /* lint */ #ifndef NO_EXTEND_MENU #include "canna.h" #define HEXPROMPT "\245\263\241\274\245\311: " #define HEXPROMPTLEN 5 /* "¥³¡¼¥É: " ¤ÎŤµ¤Ï5¥Ð¥¤¥È */ /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc static int quitHex(); /* cfuncdef hexEveryTimeCatch -- ÆÉ¤ß¤ò£±£¶¿ÊÆþÎϥ⡼¥É¤Çɽ¼¨¤¹¤ë´Ø¿ô */ static hexEveryTimeCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { yomiContext yc = (yomiContext)d->modec; static wchar_t buf[256]; /* ??? ¤³¤Î¤è¤¦¤Ê¥Ð¥Ã¥Õ¥¡¤ò¤¤¤í¤¤¤í¤ÊÉôʬ¤Ç»ý¤Ä¤Î¤Ï¹¥¤Þ¤·¤¯¤Ê¤¤¤Î¤Ç¡¢ uiContext ¤Ë¤Þ¤È¤á¤Æ»ý¤Ã¤Æ¶¦Í­¤·¤Æ»È¤Ã¤¿Êý¤¬Îɤ¤ */ int codelen = d->kanji_status_return->length; d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); if (codelen >= 0) { MBstowcs(buf, HEXPROMPT, 256); WStrncpy(buf + HEXPROMPTLEN, d->kanji_status_return->echoStr, codelen); d->kanji_status_return->gline.line = buf; d->kanji_status_return->gline.length = codelen + HEXPROMPTLEN; d->kanji_status_return->gline.revPos = d->kanji_status_return->revPos + HEXPROMPTLEN; d->kanji_status_return->gline.revLen = d->kanji_status_return->revLen; d->kanji_status_return->info |= KanjiGLineInfo; echostrClear(d); if (codelen == 4) { /* £´Ê¸»ú¤Ë¤Ê¤Ã¤¿¤È¤­¤Ë¤Ï.... */ if (convertAsHex(d)) { yc->allowedChars = CANNA_NOTHING_ALLOWED; *(d->kanji_status_return->echoStr = yc->kana_buffer + yc->kEndp + 1) = *(d->buffer_return); d->kanji_status_return->revPos = d->kanji_status_return->revLen = 0; d->kanji_status_return->length = 1; retval = 0; if (cannaconf.hexCharacterDefiningStyle != HEX_USUAL) { d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = CANNA_FN_Kakutei; } } else { CannaBeep(); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = CANNA_FN_DeletePrevious; } } else { yc->allowedChars = CANNA_ONLY_HEX; } } checkGLineLen(d); return retval; } static exitHex(d, retval, env) uiContext d; int retval; mode_context env; { killmenu(d); if (cvtAsHex(d, d->buffer_return, d->buffer_return, d->nbytes)) { GlineClear(d); popCallback(d); retval = YomiExit(d, 1); currentModeInfo(d); return retval; } else { return quitHex(d, 0, env); } } static quitHex(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { GlineClear(d); popCallback(d); currentModeInfo(d); return prevMenuIfExist(d); } yomiContext GetKanjiString(); static hexMode(d, major_mode) uiContext d; int major_mode; { yomiContext yc; yc = GetKanjiString(d, (wchar_t *)NULL, 0, CANNA_ONLY_HEX, (int)CANNA_YOMI_CHGMODE_INHIBITTED, (int)CANNA_YOMI_END_IF_KAKUTEI, CANNA_YOMI_INHIBIT_ALL, hexEveryTimeCatch, exitHex, quitHex); if (yc == (yomiContext)0) { return NoMoreMemory(); } yc->majorMode = major_mode; yc->minorMode = CANNA_MODE_HexMode; currentModeInfo(d); return 0; } /* cfuncdef HexMode -- £±£¶¿ÊÆþÎϥ⡼¥É¤Ë¤Ê¤ë¤È¤­¤Ë¸Æ¤Ð¤ì¤ë¡£ */ HexMode(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } return hexMode(d, CANNA_MODE_HexMode); } #endif /* NO_EXTEND_MENU */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/ichiran.c0100644000076500001200000011770607732020155015271 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: ichiran.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include #include "canna.h" #ifdef luna88k extern int errno; #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern int TanNextKouho(); static void clearIchiranContext(); static int IchiranKakutei(); static void getIchiranPreviousKouhoretsu(); static void getIchiranNextKouhoretsu(); #define ICHISIZE 9 static char *sbango = "\243\261\241\241\243\262\241\241\243\263\241\241\243\264\241\241\243\265" "\241\241\243\266\241\241\243\267\241\241\243\270\241\241\243\271\241\241" "\243\341\241\241\243\342\241\241\243\343\241\241\243\344\241\241\243\345" "\241\241\243\346"; /* £±¡¡£²¡¡£³¡¡£´¡¡£µ¡¡£¶¡¡£·¡¡£¸¡¡£¹¡¡£á¡¡£â¡¡£ã¡¡£ä¡¡£å¡¡£æ */ /* ¸õÊä¹Ô¤Î¸õÊäÈÖ¹æ¤Îʸ»úÎó */ static wchar_t *bango; /* "1.","¡¡2.","¡¡3.","¡¡4.","¡¡5.","¡¡6.","¡¡7.","¡¡8.","¡¡9.",*/ static char *sbango2[] = { "1","\241\2412","\241\2413","\241\2414","\241\2415", "\241\2416","\241\2417","\241\2418","\241\2419", }; static wchar_t *bango2[ICHISIZE]; static char *skuuhaku = "\241\241"; /* ¡¡ */ static wchar_t *kuuhaku; initIchiran() { int i, retval = 0; char buf[16]; retval = setWStrings(&bango, &sbango, 1); if (retval != NG) { for(i = 0; i < ICHISIZE; i++) { /* ¥»¥Ñ¥ì¡¼¥¿¡¼¤Î½èÍý */ if (cannaconf.indexSeparator && 0x20 <= cannaconf.indexSeparator && 0x80 > cannaconf.indexSeparator) sprintf(buf, "%s%c", sbango2[i], (char)cannaconf.indexSeparator); else sprintf(buf, "%s%c", sbango2[i], (char)DEFAULTINDEXSEPARATOR); bango2[i] = WString(buf); } retval = setWStrings(&kuuhaku, &skuuhaku, 1); } return retval; } /* * °ìÍ÷¹Ôɽ¼¨Ãæ¤Î¥«¥ì¥ó¥ÈʸÀá¤Î¸õÊä¤ò¹¹¿·¤¹¤ë * * ¡¦¥«¥ì¥ó¥È¸õÊä¤òÊѤ¨¤ë¡£ * ¡¦¤³¤ì¤Ë¤È¤â¤Ê¤¤ kugiri ¤â¹¹¿·¤µ¤ì¤ë * * °ú¤­¿ô uiContext * yomiContext */ static void makeIchiranEchoStrCurChange(yc) yomiContext yc; { RkwXfer(yc->context, yc->curIkouho); } /* * ¤«¤Ê´Á»úÊÑ´¹ÍѤι½Â¤ÂÎ¤ÎÆâÍÆ¤ò¹¹¿·¤¹¤ë(¤½¤Î¾ì¤Î¤ß) * * ¡¦°ìÍ÷¤ò¸Æ¤Ó½Ð¤¹Á°¤Î¾õÂ֤ˤĤ¤¤Æ¤Îɽ¼¨Ê¸»úÎó¤òºî¤ë * * °ú¤­¿ô uiContext * yomiContext */ static void makeIchiranKanjiStatusReturn(d, env, yc) uiContext d; mode_context env; yomiContext yc; { mode_context sv; sv = d->modec; d->modec = env; makeKanjiStatusReturn(d, yc); d->modec = sv; } #define DEC_COLUMNS(n) ((n) < 10 ? 1 : (n) < 100 ? 2 : (n) < 1000 ? 3 : 4) /* * ¸õÊä¹Ô¤Ë´Ø¤¹¤ë¹½Â¤ÂÎ¤ÎÆâÍÆ¤ò¹¹¿·¤¹¤ë * * ¡¦glineinfo ¤È kouhoinfo ¤«¤é¸õÊä¹Ô¤òºîÀ®¤·¡¢¥«¥ì¥ó¥È¸õÊäÈÖ¹æ¤òȿž¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ ¤Ê¤· */ void makeGlineStatus(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; wchar_t *p; char str[16]; int i, cur; if (cannaconf.kCount) { cur = *(ic->curIkouho) + 1; } d->kanji_status_return->info |= KanjiGLineInfo; d->kanji_status_return->gline.line = ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].gldata; d->kanji_status_return->gline.length = ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].gllen; d->kanji_status_return->gline.revPos = ic->kouhoifp[*(ic->curIkouho)].khpoint; if (cannaconf.ReverseWord && ic->inhibit & NUMBERING) { p = ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].gldata + ic->kouhoifp[*(ic->curIkouho)].khpoint; for (i = 0; *p != *kuuhaku && *p != ((wchar_t)' ') && *p != ((wchar_t)0) && i < ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].gllen; i++) { p++; } d->kanji_status_return->gline.revLen = i; } else d->kanji_status_return->gline.revLen = 1; if (cannaconf.kCount && d->kanji_status_return->gline.length) { register int a = ic->nIkouho, b = DEC_COLUMNS(cur) + DEC_COLUMNS(a) + 2; sprintf(str, " %d/%d", cur, a); MBstowcs(d->kanji_status_return->gline.line + d->kanji_status_return->gline.length - b, str, b + 1); /* °Ê²¼¤Ï¤¤¤é¤Ê¤¤¤Î¤Ç¤Ï¡© */ d->kanji_status_return->gline.length = WStrlen(d->kanji_status_return->gline.line); } } static ichiranEveryTimeCatch pro((uiContext, int, mode_context)); static ichiranEveryTimeCatch(d, retval, env) uiContext d; int retval; mode_context env; { yomiContext yc; yc = (yomiContext)env; makeIchiranEchoStrCurChange(yc); makeIchiranKanjiStatusReturn(d, env, yc); return(retval); } static ichiranExitCatch pro((uiContext, int, mode_context)); static ichiranExitCatch(d, retval, env) uiContext d; int retval; mode_context env; { yomiContext yc; yc = (yomiContext)env; yc->kouhoCount = 0; /* d->curIkouho¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë */ if ((retval = RkwXfer(yc->context, yc->curIkouho)) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\245\253\245\354\245\363\245\310\270\365\312\344\244\362" "\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307" "\244\267\244\277"; /* ¥«¥ì¥ó¥È¸õÊä¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ /* ¥«¥ì¥ó¥È¸õÊ䤬¼è¤ê½Ð¤»¤Ê¤¤¤¯¤é¤¤¤Ç¤Ï²¿¤È¤â¤Ê¤¤¤¾ */ } else { retval = d->nbytes = 0; } makeIchiranEchoStrCurChange(yc); makeIchiranKanjiStatusReturn(d, env, yc); freeGetIchiranList(yc->allkouho); popCallback(d); if (!cannaconf.stayAfterValidate && !d->more.todo) { d->more.todo = 1; d->more.ch = 0; d->more.fnum = CANNA_FN_Forward; } currentModeInfo(d); return(retval); } static ichiranQuitCatch pro((uiContext, int, mode_context)); static ichiranQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; { yomiContext yc; yc = (yomiContext)env; yc->kouhoCount = 0; if ((retval = RkwXfer(yc->context, yc->curIkouho)) == NG) { if(errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\245\253\245\354\245\363\245\310\270\365\312\344\244\362" "\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307" "\244\267\244\277"; /* ¥«¥ì¥ó¥È¸õÊä¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ /* ¥«¥ì¥ó¥È¸õÊ䤬¼è¤ê½Ð¤»¤Ê¤¤¤¯¤é¤¤¤Ç¤Ï²¿¤È¤â¤Ê¤¤¤¾ */ } else { retval = d->nbytes = 0; } makeIchiranEchoStrCurChange(yc); makeIchiranKanjiStatusReturn(d, env, yc); freeGetIchiranList(yc->allkouho); popCallback(d); currentModeInfo(d); return(retval); } void freeIchiranBuf(ic) ichiranContext ic; { if(ic->glinebufp) free(ic->glinebufp); if(ic->kouhoifp) free(ic->kouhoifp); if(ic->glineifp) free(ic->glineifp); } void freeGetIchiranList(buf) wchar_t **buf; { /* ¸õÊä°ìÍ÷ɽ¼¨¹ÔÍѤΥ¨¥ê¥¢¤ò¥Õ¥ê¡¼¤¹¤ë */ if(buf) { if(*buf) { free(*buf); } free(buf); } } static void popIchiranMode(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; d->modec = ic->next; d->current_mode = ic->prevMode; freeIchiranContext(ic); } /* * ¤¹¤Ù¤Æ¤Î¸õÊä¤ò¼è¤ê½Ð¤·¤Æ¡¢ÇÛÎó¤Ë¤¹¤ë */ static int makeKouhoIchiran(); wchar_t ** getIchiranList(context, nelem, currentkouho) int context; int *nelem, *currentkouho; { wchar_t *work, *wptr, **bptr, **buf; RkStat st; int i; /* RkwGetKanjiList ¤ÇÆÀ¤ë¡¢¤¹¤Ù¤Æ¤Î¸õÊä¤Î¤¿¤á¤ÎÎΰè¤òÆÀ¤ë */ if ((work = (wchar_t *)malloc(ROMEBUFSIZE * sizeof(wchar_t))) == (wchar_t *)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (getIchiranList) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (getIchiranList) \244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; #endif return (wchar_t **)NULL; } /* ¤¹¤Ù¤Æ¤Î¸õÊä¤òÆÀ¤ë¡£ Îã: ¤±¤¤¤«¤ó ¢ª ·Ù´±@·Ê´Ñ@³Ý´§@@ (@¤ÏNULL) */ if((*nelem = RkwGetKanjiList(context, work, ROMEBUFSIZE)) < 0) { jrKanjiError = "\244\271\244\331\244\306\244\316\270\365\312\344\244\316" "\274\350\244\352\275\320\244\267\244\313\274\272\307\324\244\267" "\244\336\244\267\244\277"; /* ¤¹¤Ù¤Æ¤Î¸õÊä¤Î¼è¤ê½Ð¤·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ free(work); return (wchar_t **)NULL; } #ifdef INHIBIT_DUPLICATION if (*nelem == 3) { wchar_t *w1, *w2, *w3; w1 = work; w2 = w1 + WStrlen(w1); w3 = w2 + WStrlen(w2); if (!WStrcmp(w1, ++w3)) { if (!WStrcmp(w1, ++w2)) *nelem = 1; else *nelem = 2; } } #endif /* INHIBIT_DUPLICATION */ /* makeKouhoIchiran()¤ËÅϤ¹¥Ç¡¼¥¿ */ if((buf = (wchar_t **)calloc (*nelem + 1, sizeof(wchar_t *))) == (wchar_t **)NULL) { jrKanjiError = "malloc (getIchiranList) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ free(work); return (wchar_t **)NULL; } for(wptr = work, bptr = buf, i = 0; *wptr && i++ < *nelem; bptr++) { *bptr = wptr; while(*wptr++) /* EMPTY */ ; } *bptr = (wchar_t *)0; if(RkwGetStat(context, &st) == -1) { jrKanjiError = "\245\271\245\306\245\244\245\277\245\271\244\362\274\350" "\244\352\275\320\244\273\244\336\244\273\244\363\244\307\244\267" "\244\277"; /* ¥¹¥Æ¥¤¥¿¥¹¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ free(work); free(buf); return (wchar_t **)NULL; } *currentkouho = st.candnum; /* ¥«¥ì¥ó¥È¸õÊä¤Ï²¿ÈÖÌÜ¡© */ return(buf); } /* cfunc ichiranContext * * ichiranContext ¸õÊä°ìÍ÷ÍѤι½Â¤ÂΤòºî¤ê½é´ü²½¤¹¤ë * */ ichiranContext newIchiranContext() { ichiranContext icxt; if ((icxt = (ichiranContext)malloc(sizeof(ichiranContextRec))) == (ichiranContext)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (newIchiranContext) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (newIchiranContext) \244\307\244\255\244\336" "\244\273\244\363\244\307\244\267\244\277"; #endif return (ichiranContext)NULL; } clearIchiranContext(icxt); return icxt; } /* * ¸õÊä°ìÍ÷¹Ô¤òºî¤ë */ #ifdef __STDC__ int selectOne(uiContext d, wchar_t **buf, int *ck, int nelem, int bangomax, unsigned inhibit, int currentkouho, int allowcallback, canna_callback_t everyTimeCallback, canna_callback_t exitCallback, canna_callback_t quitCallback, canna_callback_t auxCallback) #else selectOne(d, buf, ck, nelem, bangomax, inhibit, currentkouho, allowcallback, everyTimeCallback, exitCallback, quitCallback, auxCallback) uiContext d; wchar_t **buf; int *ck; int nelem, bangomax; unsigned inhibit; int currentkouho; int allowcallback; canna_callback_t everyTimeCallback, exitCallback, quitCallback, auxCallback; #endif { extern KanjiModeRec ichiran_mode; ichiranContext ic; if (allowcallback != WITHOUT_LIST_CALLBACK && d->list_func == (int (*) pro((char *, int, wchar_t **, int, int *)))0) { allowcallback = WITHOUT_LIST_CALLBACK; } if(pushCallback(d, d->modec, everyTimeCallback, exitCallback, quitCallback, auxCallback) == 0) { jrKanjiError = "malloc (pushCallback) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ return(NG); } if((ic = newIchiranContext()) == (ichiranContext)NULL) { popCallback(d); return(NG); } ic->majorMode = d->majorMode; ic->next = d->modec; d->modec = (mode_context)ic; ic->prevMode = d->current_mode; d->current_mode = &ichiran_mode; d->flags &= ~(PLEASE_CLEAR_GLINE | PCG_RECOGNIZED); /* ¤³¤³¤Ë¤¯¤ëľÁ°¤Ë C-t ¤È¤«¤¬ Gline ¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¾å¤Î£±¹Ô¤ò ¤ä¤ëɬÍפ¬½Ð¤Æ¤¯¤ë¡£ */ ic->allkouho = buf; ic->curIkouho = ck; ic->inhibit = inhibit; ic->nIkouho = nelem; if (allowcallback != WITHOUT_LIST_CALLBACK) { ic->flags |= ICHIRAN_ALLOW_CALLBACK; /* listcallback ¤Ç¤ÏÈÖ¹æ¤Ï¤Ä¤±¤Ê¤¤ */ ic->inhibit |= NUMBERING; } if (allowcallback == WITHOUT_LIST_CALLBACK) { if (makeKouhoIchiran(d, nelem, bangomax, inhibit, currentkouho) == NG) { popIchiranMode(d); popCallback(d); return(NG); } } else { if (cannaconf.kCount) { *(ic->curIkouho) += currentkouho; if (*(ic->curIkouho) >= ic->nIkouho) ic->svIkouho = *(ic->curIkouho) = 0; } d->list_func(d->client_data, CANNA_LIST_Start, buf, nelem, ic->curIkouho); } return(0); } /* * IchiranContext ¤Î½é´ü²½ */ static void clearIchiranContext(p) ichiranContext p; { p->id = ICHIRAN_CONTEXT; p->svIkouho = 0; p->curIkouho = 0; p->nIkouho = 0; p->tooSmall = 0; p->curIchar = 0; p->allkouho = 0; p->glinebufp = 0; p->kouhoifp = (kouhoinfo *)0; p->glineifp = (glineinfo *)0; p->flags = (unsigned char)0; } /* * ¸õÊä°ìÍ÷¤Î¥Ç¡¼¥¿¹½Â¤ÂΤòºî¤ë¤¿¤á¤ÎÎΰè¤ò³ÎÊݤ¹¤ë */ allocIchiranBuf(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; int size; /* ¥µ¥¤¥º¤Îʬ¤ÈÈÖ¹æ¤Îʬ¤ÎÎΰè¤òÆÀ¤ë*/ size = ic->nIkouho * (d->ncolumns + 1) * WCHARSIZE; /* ¤¨¤¤¤ä¤Ã */ if((ic->glinebufp = (wchar_t *)malloc(size)) == (wchar_t *)NULL) { jrKanjiError = "malloc (allocIchiranBuf) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ return(NG); } /* kouhoinfo¤ÎÎΰè¤òÆÀ¤ë */ size = (ic->nIkouho + 1) * sizeof(kouhoinfo); if((ic->kouhoifp = (kouhoinfo *)malloc(size)) == (kouhoinfo *)NULL) { jrKanjiError = "malloc (allocIchiranBuf) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ free(ic->glinebufp); return(NG); } /* glineinfo¤ÎÎΰè¤òÆÀ¤ë */ size = (ic->nIkouho + 1) * sizeof(glineinfo); if((ic->glineifp = (glineinfo *)malloc(size)) == (glineinfo *)NULL) { jrKanjiError = "malloc (allocIchiranBuf) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ free(ic->glinebufp); free(ic->kouhoifp); return(NG); } return(0); } /* * ¸õÊä°ìÍ÷¹Ô¤òɽ¼¨ÍѤΥǡ¼¥¿¤ò¥Æ¡¼¥Ö¥ë¤ËºîÀ®¤¹¤ë * * ¡¦glineinfo ¤È kouhoinfo¤òºîÀ®¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static int makeKouhoIchiran(d, nelem, bangomax, inhibit, currentkouho) uiContext d; int nelem, bangomax; unsigned char inhibit; int currentkouho; { ichiranContext ic = (ichiranContext)d->modec; wchar_t **kkptr, *kptr, *gptr, *svgptr; int ko, lnko, cn = 0, svcn, line = 0, dn = 0, svdn; int netwidth; netwidth = d->ncolumns - (cannaconf.kCount ? (DEC_COLUMNS(nelem) * 2 + 2/* 2¤Ï/¤ÈSP¤Îʬ */) : 0); ic->nIkouho = nelem; /* ¸õÊä¤Î¿ô */ /* ¥«¥ì¥ó¥È¸õÊä¤ò¥»¥Ã¥È¤¹¤ë */ ic->svIkouho = *(ic->curIkouho); *(ic->curIkouho) += currentkouho; if(*(ic->curIkouho) >= ic->nIkouho) ic->svIkouho = *(ic->curIkouho) = 0; if(allocIchiranBuf(d) == NG) return(NG); if(d->ncolumns < 1) { ic->tooSmall = 1; return(0); } /* glineinfo¤Èkouhoinfo¤òºî¤ë */ /* ¡öglineinfo¡ö int glkosu : int glhead : int gllen : wchar_t *gldata £±¹Ô¤Î¸õÊä¿ô : ÀèÆ¬¸õÊ䤬 : £±¹Ô¤ÎŤµ : ¸õÊä°ìÍ÷¹Ô¤Îʸ»úÎó : ²¿ÈÖÌܤθõÊ䤫 : ------------------------------------------------------------------------- 0 | 6 : 0 : 24 : £±¿·£²¿´£³¿Ê£´¿¿£µ¿À£¶¿® 1 | 4 : 6 : 16 : £±¿Ã£²¿²£³¿­£´¿Ä ¡ökouhoinfo¡ö int khretsu : int khpoint : wchar_t *khdata ¤Ê¤óÎóÌÜ¤Ë : ¹Ô¤ÎÀèÆ¬¤«¤é : ¸õÊä¤Îʸ»úÎó ¤¢¤ë¸õÊ䤫 : ²¿¥Ð¥¤¥ÈÌܤ« : ------------------------------------------------------------------------- 0 | 0 : 0 : ¿· 1 | 0 : 4 : ¿´ : : : 7 | 1 : 0 : ¿Ã 8 | 1 : 4 : ¿² */ kkptr = ic->allkouho; kptr = *(ic->allkouho); gptr = ic->glinebufp; /* line -- ²¿ÎóÌܤ« ko -- Á´ÂΤÎÀèÆ¬¤«¤é²¿ÈÖÌܤθõÊ䤫 lnko -- Îó¤ÎÀèÆ¬¤«¤é²¿ÈÖÌܤθõÊ䤫 cn -- Îó¤ÎÀèÆ¬¤«¤é²¿¥Ð¥¤¥ÈÌܤ« */ for(line=0, ko=0; konIkouho; line++) { ic->glineifp[line].gldata = gptr; /* ¸õÊä¹Ô¤òɽ¼¨¤¹¤ë¤¿¤á¤Îʸ»úÎó */ ic->glineifp[line].glhead = ko; /* ¤³¤Î¹Ô¤ÎÀèÆ¬¸õÊä¤Ï¡¢Á´ÂΤǤÎkoÈÖÌÜ */ ic->tooSmall = 1; for (lnko = cn = dn = 0 ; dn < netwidth && lnko < bangomax && ko < ic->nIkouho ; lnko++, ko++) { ic->tooSmall = 0; kptr = kkptr[ko]; ic->kouhoifp[ko].khretsu = line; /* ²¿¹ÔÌܤ˸ºß¤¹¤ë¤«¤òµ­Ï¿ */ ic->kouhoifp[ko].khpoint = cn + (lnko ? 1 : 0); ic->kouhoifp[ko].khdata = kptr; /* ¤½¤Îʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ svgptr = gptr; svcn = cn; svdn = dn; /* £²¼ïÎà¤Îɽ¼¨¤òʬ¤±¤ë */ if(!(inhibit & (unsigned char)NUMBERING)) { /* ÈÖ¹æ¤ò¥³¥Ô¡¼¤¹¤ë */ if (!cannaconf.indexHankaku) {/* Á´³Ñ */ if(lnko == 0) { *gptr++ = *bango; cn ++; dn +=2; } else { WStrncpy(gptr, bango + 1 + BANGOSIZE * (lnko - 1), BANGOSIZE); cn += BANGOSIZE; gptr += BANGOSIZE, dn += BANGOSIZE*2; } } else{ /* Ⱦ³Ñ */ WStrcpy(gptr, bango2[lnko]); if(lnko == 0) { dn +=2; } else { dn +=4; } cn += WStrlen(bango2[lnko]); gptr += WStrlen(bango2[lnko]); } } else { /* ¶õÇò¤ò¥³¥Ô¡¼¤¹¤ë */ if(lnko) { *gptr++ = *kuuhaku; cn ++; dn +=2; } } /* ¸õÊä¤ò¥³¥Ô¡¼¤¹¤ë */ for (; *kptr && dn < netwidth ; gptr++, kptr++, cn++) { *gptr = *kptr; if (WIsG0(*gptr)) dn++; else if (WIsG1(*gptr)) dn += 2; else if (WIsG2(*gptr)) dn ++; else if (WIsG3(*gptr)) dn += 2; } /* ¥«¥é¥à¿ô¤è¤ê¤Ï¤ß¤À¤·¤Æ¤·¤Þ¤¤¤½¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç£±¤ÄÌ᤹ */ if (dn >= netwidth) { if (lnko) { gptr = svgptr; cn = svcn; dn = svdn; } else { ic->tooSmall = 1; } break; } } if (ic->tooSmall) { return 0; } if (cannaconf.kCount) { for (;dn < d->ncolumns - 1; dn++) *gptr++ = ' '; } /* £±¹Ô½ª¤ï¤ê */ *gptr++ = 0; ic->glineifp[line].glkosu = lnko; ic->glineifp[line].gllen = WStrlen(ic->glineifp[line].gldata); } /* ºÇ¸å¤ËNULL¤òÆþ¤ì¤ë */ ic->kouhoifp[ko].khretsu = 0; ic->kouhoifp[ko].khpoint = 0; ic->kouhoifp[ko].khdata = (wchar_t *)NULL; ic->glineifp[line].glkosu = 0; ic->glineifp[line].glhead = 0; ic->glineifp[line].gllen = 0; ic->glineifp[line].gldata = (wchar_t *)NULL; #if defined(DEBUG) if (iroha_debug) { int i; for(i=0; ic->glineifp[i].glkosu; i++) printf("%d: %s\n", i, ic->glineifp[i].gldata); } #endif return(0); } tanKouhoIchiran(d, step) uiContext d; int step; { yomiContext yc = (yomiContext)d->modec; ichiranContext ic; int nelem, currentkouho, retval = 0; unsigned inhibit = 0; unsigned char listcallback = (unsigned char)(d->list_func ? 1 : 0); int netwidth; netwidth = d->ncolumns - (cannaconf.kCount ? (DEC_COLUMNS(9999) * 2 + 2/* 2¤Ï / ¤È SP ¤Îʬ */) : 0); /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if (listcallback == 0 && netwidth < 2) { /* tooSmall */ return TanNextKouho(d); } /* Ã༡´ØÏ¢ */ yc->status |= CHIKUJI_OVERWRAP; /* ¤¹¤Ù¤Æ¤Î¸õÊä¤ò¼è¤ê½Ð¤¹ */ yc->allkouho = getIchiranList(yc->context, &nelem, ¤tkouho); if (yc->allkouho == 0) { if (errno == EPIPE) { jrKanjiPipeError(); } TanMuhenkan(d); makeGLineMessageFromString(d, jrKanjiError); return 0; } if (!cannaconf.HexkeySelect) { inhibit |= (unsigned char)NUMBERING; } yc->curIkouho = currentkouho; /* ¸½ºß¤Î¥«¥ì¥ó¥È¸õÊäÈÖ¹æ¤òÊݸ¤¹¤ë */ currentkouho = step; /* ¥«¥ì¥ó¥È¸õÊ䤫¤é²¿ÈÖÌܤò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë¤« */ /* ¸õÊä°ìÍ÷¤Ë°Ü¹Ô¤¹¤ë */ if ((retval = selectOne(d, yc->allkouho, &yc->curIkouho, nelem, BANGOMAX, inhibit, currentkouho, WITH_LIST_CALLBACK, ichiranEveryTimeCatch, ichiranExitCatch, ichiranQuitCatch, NO_CALLBACK)) == NG) { freeGetIchiranList(yc->allkouho); return GLineNGReturn(d); } ic = (ichiranContext)d->modec; if (ic->tooSmall) { freeGetIchiranList(yc->allkouho); popIchiranMode(d); popCallback(d); return TanNextKouho(d); } ic->minorMode = CANNA_MODE_IchiranMode; currentModeInfo(d); if ( !(ic->flags & ICHIRAN_ALLOW_CALLBACK) ) { makeGlineStatus(d); } /* d->status = EVERYTIME_CALLBACK; */ return(retval); } /* * ¸õÊä°ìÍ÷¹Ô¤Îɽ¼¨¤ò¶¯À©½ªÎ»¤¹¤ë */ IchiranQuit(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; int retval = 0; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { if (ic->flags & ICHIRAN_NEXT_EXIT) { d->list_func(d->client_data, CANNA_LIST_Select, (wchar_t **)0, 0, (int *)0); } else { d->list_func(d->client_data, CANNA_LIST_Quit, (wchar_t **)0, 0, (int *)0); } } if (ic->flags & ICHIRAN_NEXT_EXIT) { ichiranFin(d); d->status = EXIT_CALLBACK; } else { *(ic->curIkouho) = ic->nIkouho - 1; /* ¤Ò¤é¤¬¤Ê¸õÊä¤Ë¤¹¤ë */ ichiranFin(d); d->status = QUIT_CALLBACK; } return(retval); } int IchiranNop(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if ((ic->flags & ICHIRAN_ALLOW_CALLBACK) && d->list_func) { (*d->list_func) (d->client_data, CANNA_LIST_Query, (wchar_t **)0, 0, (int *)0); } /* currentModeInfo ¤Ç¥â¡¼¥É¾ðÊó¤¬É¬¤ºÊÖ¤ë¤è¤¦¤Ë¥À¥ß¡¼¤Î¥â¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯ */ d->majorMode = d->minorMode = CANNA_MODE_AlphaMode; currentModeInfo(d); if (!(ic->flags & ICHIRAN_ALLOW_CALLBACK)) { makeGlineStatus(d); } return 0; } /* IchiranKakuteiThenDo -- Do determine from the candidate list, then do one more function. */ static IchiranKakuteiThenDo(d, func) uiContext d; int func; { ichiranContext ic = (ichiranContext)d->modec; int retval; BYTE ifl = ic->flags; if (!ic->prevMode || !ic->prevMode->func || !(*ic->prevMode->func)((uiContext)0/*dummy*/, ic->prevMode, KEY_CHECK, 0/*dummy*/, func)) { return NothingChangedWithBeep(d); } retval = IchiranKakutei(d); if (ifl & ICHIRAN_STAY_LONG) { (void)IchiranQuit(d); } d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = func; return retval; } static IchiranQuitThenDo(d, func) uiContext d; int func; { ichiranContext ic = (ichiranContext)d->modec; int retval; if (!ic->prevMode || !ic->prevMode->func || !(*ic->prevMode->func)((uiContext)0/*dummy*/, ic->prevMode, KEY_CHECK, 0/*dummy*/, func)) { return NothingChangedWithBeep(d); } retval = IchiranQuit(d); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = func; return retval; } /* * ¼¡¸õÊä¤Ë°Üư¤¹¤ë * * ¡¦¥«¥ì¥ó¥È¸õÊ䤬ºÇ½ª¸õÊä¤À¤Ã¤¿¤éÀèÆ¬¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ IchiranForwardKouho(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res; res = (*d->list_func) (d->client_data, CANNA_LIST_Forward, (wchar_t **)0, 0, (int *)0); if (res) { return 0; } else { /* CANNA_LIST_Forward was not prepared at the callback func */ return IchiranKakuteiThenDo(d, CANNA_FN_Forward); } } /* ¼¡¸õÊä¤Ë¤¹¤ë (ñ¸ì¸õÊä°ìÍ÷¾õÂ֤ǡ¢ºÇ¸å¤Î¸õÊä¤À¤Ã¤¿¤é°ìÍ÷¤ò¤ä¤á¤ë) */ *(ic->curIkouho) += 1; if(*(ic->curIkouho) >= ic->nIkouho) { if (cannaconf.QuitIchiranIfEnd && (((coreContext)d->modec)->minorMode == CANNA_MODE_IchiranMode)) { return(IchiranQuit(d)); } else if (cannaconf.CursorWrap) { *(ic->curIkouho) = 0; } else { *(ic->curIkouho) -= 1; return NothingChangedWithBeep(d); } } if(ic->tooSmall) { /* for bushu */ d->status = AUX_CALLBACK; return 0; } makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return 0; } /* * Á°¸õÊä¤Ë°Üư¤¹¤ë * * ¡¦¥«¥ì¥ó¥È¸õÊ䤬ÀèÆ¬¸õÊä¤À¤Ã¤¿¤éºÇ½ª¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ IchiranBackwardKouho(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; BYTE mode; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res; res = (*d->list_func) (d->client_data, CANNA_LIST_Backward, (wchar_t **)0, 0, (int *)0); if (res) { return 0; } else { /* CANNA_LIST_Backward was not prepared at the callback func */ return IchiranKakuteiThenDo(d, CANNA_FN_Backward); } } /* ¸½ºß¤Î¥â¡¼¥É¤òµá¤á¤ë */ if (cannaconf.QuitIchiranIfEnd) mode = ((coreContext)d->modec)->minorMode; /* Á°¸õÊä¤Ë¤¹¤ë (ñ¸ì¸õÊä°ìÍ÷¾õÂ֤ǡ¢ºÇ½é¤Î¸õÊä¤À¤Ã¤¿¤é°ìÍ÷¤ò¤ä¤á¤ë) */ if(*(ic->curIkouho)) *(ic->curIkouho) -= 1; else { if (cannaconf.QuitIchiranIfEnd && (mode == CANNA_MODE_IchiranMode)) { return(IchiranQuit(d)); } else if (cannaconf.CursorWrap) { *(ic->curIkouho) = ic->nIkouho - 1; } else { *(ic->curIkouho) = 0; return NothingChangedWithBeep(d); } } if(ic->tooSmall) { /* for bushu */ d->status = AUX_CALLBACK; return 0; } makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return 0; } /* IchiranConvert() will be called when `convert' key is pressed */ static IchiranConvert pro((uiContext)); static IchiranConvert(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { (*d->list_func) (d->client_data, CANNA_LIST_Convert, (wchar_t **)0, 0, (int *)0); return 0; } else { return IchiranForwardKouho(d); } } /* * Á°¸õÊäÎó¤Ë°Üư¤¹¤ë * * ¡¦¥«¥ì¥ó¥È¸õÊä¤òµá¤á¤Æ¸õÊä°ìÍ÷¤È¤½¤Î¾ì¤Î¸õÊä¤òɽ¼¨¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ IchiranPreviousKouhoretsu(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res; res = (*d->list_func) (d->client_data, CANNA_LIST_Prev, (wchar_t **)0, 0, (int *)0); if (res) { return 0; } else { /* CANNA_LIST_Backward was not prepared at the callback func */ return IchiranKakuteiThenDo(d, CANNA_FN_Prev); } } if(ic->tooSmall) { /* for bushu */ return(IchiranBackwardKouho(d)); } /* Á°¸õÊäÎó¤Ë¤¹¤ë (*(ic->curIkouho)¤òµá¤á¤ë)*/ getIchiranPreviousKouhoretsu(d); makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return 0; } /* * Á°¸õÊäÎó¤Î¥«¥ì¥ó¥È¸õÊä¤òµá¤á¤ë * * ¡¦Á°¸õÊäÎóÃæ¤ÎƱ¤¸¸õÊäÈÖ¹æ¤Î¤â¤Î¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë * ¡¦¸õÊäÈÖ¹æ¤ÎƱ¤¸¤â¤Î¤¬¤Ê¤¤»þ¤Ï¡¢¤½¤Î¸õÊäÃæ¤ÎºÇ½ª¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static void getIchiranPreviousKouhoretsu(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; int kindex; int curretsu, nretsu; /* ¥«¥ì¥ó¥È¸õÊä¹Ô¤Î¤Ê¤«¤Ç²¿ÈÖÌܤθõÊ䤫¤Ê¤Î¤«¤òÆÀ¤ë */ kindex = *(ic->curIkouho) - ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].glhead; /* Á°¸õÊäÎó¤òÆÀ¤ë */ curretsu = ic->kouhoifp[*(ic->curIkouho)].khretsu; nretsu = ic->kouhoifp[ic->nIkouho - 1].khretsu + 1; if(curretsu == 0) { if (cannaconf.CursorWrap) curretsu = nretsu; else { NothingChangedWithBeep(d); return; } } curretsu -= 1; /* kindex ¤¬¥«¥ì¥ó¥È¸õÊäÎó¤Î¸õÊä¿ô¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤é ºÇ±¦¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë */ if(ic->glineifp[curretsu].glkosu <= kindex) kindex = ic->glineifp[curretsu].glkosu - 1; /* Á°¸õÊäÎó¤ÎƱ¤¸ÈÖ¹æ¤Ë°Üư¤¹¤ë */ *(ic->curIkouho) = kindex + ic->glineifp[curretsu].glhead; return; } /* * ¼¡¸õÊäÎó¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ IchiranNextKouhoretsu(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res; res = (*d->list_func) (d->client_data, CANNA_LIST_Next, (wchar_t **)0, 0, (int *)0); if (res) { return 0; } else { /* CANNA_LIST_Backward was not prepared at the callback func */ return IchiranKakuteiThenDo(d, CANNA_FN_Next); } } if(ic->tooSmall) { return(IchiranForwardKouho(d)); } /* ¼¡¸õÊäÎó¤Ë¤¹¤ë (*(ic->curIkouho) ¤òµá¤á¤ë) */ getIchiranNextKouhoretsu(d); makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return 0; } /* * ¼¡¸õÊäÊÇ¤Ë°ÜÆ°¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static IchiranNextPage pro((uiContext)); static IchiranNextPage(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res; res = (*d->list_func) (d->client_data, CANNA_LIST_PageDown, (wchar_t **)0, 0, (int *)0); if (res) { return 0; } else { /* CANNA_LIST_Backward was not prepared at the callback func */ return IchiranKakuteiThenDo(d, CANNA_FN_PageDown); } } return IchiranNextKouhoretsu(d); } /* * Á°¸õÊäÊÇ¤Ë°ÜÆ°¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static IchiranPreviousPage pro((uiContext)); static IchiranPreviousPage(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res; res = (*d->list_func) (d->client_data, CANNA_LIST_PageUp, (wchar_t **)0, 0, (int *)0); if (res) { return 0; } else { /* CANNA_LIST_Backward was not prepared at the callback func */ return IchiranKakuteiThenDo(d, CANNA_FN_PageUp); } } return IchiranPreviousKouhoretsu(d); } /* * ¼¡¸õÊäÎó¤Ë°Üư¤¹¤ë * * ¡¦¼¡¸õÊäÎóÃæ¤ÎƱ¤¸¸õÊäÈÖ¹æ¤Î¤â¤Î¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë * ¡¦¸õÊäÈÖ¹æ¤ÎƱ¤¸¤â¤Î¤¬¤Ê¤¤»þ¤Ï¡¢¤½¤Î¸õÊäÃæ¤ÎºÇ½ª¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static void getIchiranNextKouhoretsu(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; int kindex; int curretsu, nretsu; /* ¥«¥ì¥ó¥È¸õÊä¹Ô¤Î¤Ê¤«¤Ç²¿ÈÖÌܤθõÊ䤫¤Ê¤Î¤«¤òÆÀ¤ë */ kindex = *(ic->curIkouho) - ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].glhead; /* ¼¡¸õÊäÎó¤òÆÀ¤ë */ curretsu = ic->kouhoifp[*(ic->curIkouho)].khretsu; nretsu = ic->kouhoifp[ic->nIkouho - 1].khretsu + 1; curretsu += 1; if(curretsu >= nretsu) { if (cannaconf.CursorWrap) curretsu = 0; else { NothingChangedWithBeep(d); return; } } /* kindex ¤¬¥«¥ì¥ó¥È¸õÊäÎó¤Î¸õÊä¿ô¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤é ºÇ±¦¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë */ if(ic->glineifp[curretsu].glkosu <= kindex) kindex = ic->glineifp[curretsu].glkosu - 1; /* Á°¸õÊäÎó¤ÎƱ¤¸ÈÖ¹æ¤Ë°Üư¤¹¤ë */ *(ic->curIkouho) = kindex + ic->glineifp[curretsu].glhead; return; } /* * ¸õÊä¹ÔÃæ¤ÎÀèÆ¬¸õÊä¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ IchiranBeginningOfKouho(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res; res = (*d->list_func) (d->client_data, CANNA_LIST_BeginningOfLine, (wchar_t **)0, 0,(int *)0); if (res) { return 0; } else { /* CANNA_LIST_Backward was not prepared at the callback func */ return IchiranKakuteiThenDo(d, CANNA_FN_BeginningOfLine); } } if(ic->tooSmall) { d->status = AUX_CALLBACK; return 0; } /* ¸õÊäÎó¤ÎÀèÆ¬¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤¹¤ë */ *(ic->curIkouho) = ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].glhead; makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return 0; } /* * ¸õÊä¹ÔÃæ¤ÎºÇ±¦¸õÊä¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ IchiranEndOfKouho(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res; res = (*d->list_func) (d->client_data, CANNA_LIST_EndOfLine, (wchar_t **)0, 0, (int *)0); if (res) { return 0; } else { /* CANNA_LIST_Backward was not prepared at the callback func */ return IchiranKakuteiThenDo(d, CANNA_FN_EndOfLine); } } if(ic->tooSmall) { d->status = AUX_CALLBACK; return 0; } /* ¸õÊäÎó¤ÎºÇ±¦¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤¹¤ë */ *(ic->curIkouho) = ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].glhead + ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].glkosu - 1; makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return 0; } /* * ¸õÊä¹ÔÃæ¤ÎÆþÎϤµ¤ì¤¿ÈÖ¹æ¤Î¸õÊä¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static int getIchiranBangoKouho pro((uiContext)); static IchiranBangoKouho pro((uiContext)); static IchiranBangoKouho(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; int zflag, retval = 0; if(ic->tooSmall) { d->status = AUX_CALLBACK; return(retval); } /* d->status = EVERYTIME_CALLBACK; */ if (cannaconf.HexkeySelect && !(ic->inhibit & NUMBERING)) { /* ÆþÎϤµ¤ì¤¿ÈÖ¹æ¤Î¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë */ if((zflag = getIchiranBangoKouho(d)) == NG) goto insert; /* SelectDirect ¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Î½èÍý */ do_selection: if (cannaconf.SelectDirect) /* ON */ { if(zflag) /* £°¤¬ÆþÎϤµ¤ì¤¿ */ retval = IchiranQuit(d); else retval = IchiranKakutei(d); } else { /* OFF */ makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ } return(retval); } else { #ifdef CANNA_LIST_Insert /* ÀäÂÐÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤ó¤À¤±¤É¤Í */ if (ic->flags & ICHIRAN_ALLOW_CALLBACK && d->list_func) { int res = (*d->list_func) /* list_func ¤ò¸Æ¤Ó½Ð¤¹ */ (d->client_data, CANNA_LIST_Insert, (wchar_t **)0, d->ch, (int *)0); if (res) { /* d->ch ¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¦¤Ç½èÍý¤µ¤ì¤¿ */ if (res == CANNA_FN_FunctionalInsert) { zflag = 1; /* 0 ¤¸¤ã¤Ê¤±¤ì¤Ð¤¤¤¤ */ goto do_selection; } else if (res != CANNA_FN_Nop) { /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¦¤«¤éÍ׵ᤷ¤ÆÍ褿µ¡Ç½¤ò³¤±¤Æ¼Â¹Ô¤¹¤ë */ d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = CANNA_FN_FunctionalInsert; } return 0; } else { /* CANNA_LIST_Insert was not processed at the callback func */ /* continue to the 'insert:' tag.. */ } } #endif insert: if(!(ic->inhibit & CHARINSERT) && cannaconf.allowNextInput) { BYTE ifl = ic->flags; retval = IchiranKakutei(d); if (ifl & ICHIRAN_STAY_LONG) { (void)IchiranQuit(d); } d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = CANNA_FN_FunctionalInsert; } else { NothingChangedWithBeep(d); } return(retval); } } /* * ¸õÊä¹ÔÃæ¤ÎÆþÎϤµ¤ì¤¿ÈÖ¹æ¤Î¸õÊä¤Ë°Üư¤¹¤ë * * * °ú¤­¿ô uiContext * Ìá¤êÃÍ £°¤¬ÆþÎϤµ¤ì¤¿¤é £±¤òÊÖ¤¹ * £±¡Á£¹¡¢£á¡Á£æ¤¬ÆþÎϤµ¤ì¤¿¤é £°¤òÊÖ¤¹ * ¥¨¥é¡¼¤À¤Ã¤¿¤é ¡¼£±¤òÊÖ¤¹ */ static int getIchiranBangoKouho(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; int num, kindex; /* ÆþÎϥǡ¼¥¿¤Ï £°¡Á£¹ £á¡Á£æ ¤«¡© */ if(((0x30 <= d->ch) && (d->ch <= 0x39)) || ((0x61 <= d->ch) && (d->ch <= 0x66))) { if((0x30 <= d->ch) && (d->ch <= 0x39)) num = (int)(d->ch & 0x0f); else if((0x61 <= d->ch) && (d->ch <= 0x66)) num = (int)(d->ch - 0x57); } else { /* ÆþÎϤµ¤ì¤¿ÈÖ¹æ¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó */ return(NG); } /* ÆþÎϥǡ¼¥¿¤Ï ¸õÊä¹Ô¤ÎÃæ¤Ë¸ºß¤¹¤ë¿ô¤«¡© */ if(num > ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].glkosu) { /* ÆþÎϤµ¤ì¤¿ÈÖ¹æ¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó */ return(NG); } /* ÆþÎϤµ¤ì¤¿¿ô¤¬£°¤Ç SelectDirect ¤¬ ON ¤Ê¤éÆÉ¤ß¤ËÌᤷ¤Æ£±¤òÊÖ¤¹ */ if(num == 0) { if (cannaconf.SelectDirect) return(1); else { /* ÆþÎϤµ¤ì¤¿ÈÖ¹æ¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó */ return(NG); } } else { /* ¸õÊäÎó¤ÎÀèÆ¬¸õÊä¤òÆÀ¤ë */ kindex = ic->glineifp[ic->kouhoifp[*(ic->curIkouho)].khretsu].glhead; *(ic->curIkouho) = kindex + (num - 1); } return(0); } /* * ¸õÊä¹ÔÃæ¤«¤éÁªÂò¤µ¤ì¤¿¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static IchiranKakutei pro((uiContext)); static IchiranKakutei(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; int retval = 0; wchar_t *kakuteiStrings; if ((ic->flags & ICHIRAN_ALLOW_CALLBACK) && d->list_func) { if (ic->flags & ICHIRAN_STAY_LONG) { d->list_func(d->client_data, CANNA_LIST_Query, (wchar_t **)0, 0, (int *)0); } else { d->list_func(d->client_data, CANNA_LIST_Select, (wchar_t **)0, 0, (int *)0); } } kakuteiStrings = ic->allkouho[*(ic->curIkouho)]; retval = d->nbytes = WStrlen(kakuteiStrings); WStrcpy(d->buffer_return, kakuteiStrings); if (ic->flags & ICHIRAN_STAY_LONG) { ic->flags |= ICHIRAN_NEXT_EXIT; d->status = EVERYTIME_CALLBACK; } else { ichiranFin(d); d->status = EXIT_CALLBACK; } return(retval); } /* * ¸õÊä¹Ôɽ¼¨¥â¡¼¥É¤«¤éÈ´¤±¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ void ichiranFin(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; /* ¸õÊä°ìÍ÷ɽ¼¨¹ÔÍѤΥ¨¥ê¥¢¤ò¥Õ¥ê¡¼¤¹¤ë */ freeIchiranBuf(ic); popIchiranMode(d); /* gline ¤ò¥¯¥ê¥¢¤¹¤ë */ GlineClear(d); } static IchiranExtendBunsetsu pro((uiContext)); static IchiranExtendBunsetsu(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_Extend); } static IchiranShrinkBunsetsu pro((uiContext)); static IchiranShrinkBunsetsu(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_Shrink); } static IchiranAdjustBunsetsu pro((uiContext)); static IchiranAdjustBunsetsu(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_AdjustBunsetsu); } static IchiranKillToEndOfLine pro((uiContext)); static IchiranKillToEndOfLine(d) uiContext d; { return IchiranKakuteiThenDo(d, CANNA_FN_KillToEndOfLine); } static IchiranDeleteNext pro((uiContext)); static IchiranDeleteNext(d) uiContext d; { return IchiranKakuteiThenDo(d, CANNA_FN_DeleteNext); } static IchiranBubunMuhenkan pro((uiContext)); static IchiranBubunMuhenkan(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_BubunMuhenkan); } static IchiranHiragana pro((uiContext)); static IchiranHiragana(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_Hiragana); } static IchiranKatakana pro((uiContext)); static IchiranKatakana(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_Katakana); } static IchiranZenkaku pro((uiContext)); static IchiranZenkaku(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_Zenkaku); } static IchiranHankaku pro((uiContext)); static IchiranHankaku(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_Hankaku); } static IchiranRomaji pro((uiContext)); static IchiranRomaji(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_Romaji); } static IchiranToUpper pro((uiContext)); static IchiranToUpper(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_ToUpper); } static IchiranToLower pro((uiContext)); static IchiranToLower(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_ToLower); } static IchiranCapitalize pro((uiContext)); static IchiranCapitalize(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_Capitalize); } static IchiranKanaRotate pro((uiContext)); static IchiranKanaRotate(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_KanaRotate); } static IchiranRomajiRotate pro((uiContext)); static IchiranRomajiRotate(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_RomajiRotate); } static IchiranCaseRotateForward pro((uiContext)); static IchiranCaseRotateForward(d) uiContext d; { return IchiranQuitThenDo(d, CANNA_FN_CaseRotate); } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #include "ichiranmap.h" Canna37p3/lib/canna/ichiranmap.h0100644000076500001200000000625207732020155015765 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char ichiranmap_id[] = "@(#) 102.1 $Id: ichiranmap.h,v 1.2 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ extern DoFuncSequence(),UseOtherKeymap(); static struct funccfunc ichiran_funcs[] = { {CANNA_FN_FunctionalInsert ,IchiranBangoKouho }, {CANNA_FN_Forward ,IchiranForwardKouho }, {CANNA_FN_Backward ,IchiranBackwardKouho }, {CANNA_FN_Next ,IchiranNextKouhoretsu }, {CANNA_FN_Prev ,IchiranPreviousKouhoretsu }, {CANNA_FN_BeginningOfLine ,IchiranBeginningOfKouho }, {CANNA_FN_EndOfLine ,IchiranEndOfKouho }, {CANNA_FN_DeletePrevious ,IchiranQuit }, {CANNA_FN_Henkan ,IchiranConvert }, {CANNA_FN_HenkanOrInsert ,IchiranForwardKouho }, {CANNA_FN_HenkanOrNothing ,IchiranForwardKouho }, {CANNA_FN_Kakutei ,IchiranKakutei }, {CANNA_FN_Quit ,IchiranQuit }, {CANNA_FN_PageUp ,IchiranPreviousPage }, {CANNA_FN_PageDown ,IchiranNextPage }, {CANNA_FN_AdjustBunsetsu ,IchiranAdjustBunsetsu }, {CANNA_FN_Extend ,IchiranExtendBunsetsu }, {CANNA_FN_Shrink ,IchiranShrinkBunsetsu }, {CANNA_FN_KillToEndOfLine ,IchiranKillToEndOfLine }, {CANNA_FN_DeleteNext ,IchiranDeleteNext }, {CANNA_FN_BubunMuhenkan ,IchiranBubunMuhenkan }, {CANNA_FN_Hiragana ,IchiranHiragana }, {CANNA_FN_Katakana ,IchiranKatakana }, {CANNA_FN_Romaji ,IchiranRomaji }, {CANNA_FN_ToUpper ,IchiranToUpper }, {CANNA_FN_ToLower ,IchiranToLower }, {CANNA_FN_Capitalize ,IchiranCapitalize }, {CANNA_FN_Zenkaku ,IchiranZenkaku }, {CANNA_FN_Hankaku ,IchiranHankaku }, {CANNA_FN_KanaRotate ,IchiranKanaRotate }, {CANNA_FN_RomajiRotate ,IchiranRomajiRotate }, {CANNA_FN_CaseRotate ,IchiranCaseRotateForward }, {CANNA_FN_Nop ,IchiranNop }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {0 ,0 }, }; KanjiModeRec ichiran_mode = { searchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, ichiran_funcs, }; Canna37p3/lib/canna/Imakefile0100644000076500001200000001576207726753771015344 0ustar shinraadmin/* $Id: Imakefile,v 1.10 2003/09/08 01:14:33 aida_s Exp $ */ #include "../../Canna.conf" #ifdef NARROW # define CannaWCharDef -DCANNA_WCHAR16 # define LibName canna16 # define RkcName RKC16 #else # define CannaWCharDef # define LibName canna # define RkcName RKC #endif CANNAROOT = ../.. SOLIBREV = 1 CANNADIR = . RKDIR = ../RK RKCDIR = ../RkcName HEADERS = canna.h sglobal.h lisp.h IRSRCS = $(COOKSRCS) $(HEADERS) MAPSRCS = defaultmap.c INCLUDEDMAPSRCS = chikujimap.h emptymap.h alphamap.h tanmap.h ichiranmap.h \ jishumap.h kigomap.h onoffmap.h yomimap.h t_reimap.h bunmap.h COOKSRCS = jrbind.c ebind.c $(CORESRCS) CORESRCS = lisp.c $(MAPSRCS) \ bushu.c chikuji.c commondata.c empty.c henkan.c hex.c \ ichiran.c jishu.c kctrl.c keydef.c \ kigo.c mode.c multi.c onoff.c parse.c romaji.c \ uiutil.c uldefine.c uldelete.c ulhinshi.c ulkigo.c \ ulmount.c ulserver.c util.c yesno.c bunsetsu.c \ engine.c RKroma.c RKkana.c obind.c RKCSRCS = $(RKCDIR)/rkc.c $(RKCDIR)/convert.c \ $(RKCDIR)/wconvert.c $(RKCDIR)/wutil.c $(RKCDIR)/conf.c /* SRCS = $(IRSRCS) $(RKCSRCS) */ SRCS = $(IRSRCS) $(RKINDEPSRCS) RKINDEPSRCS = cfuncs.c file.c strops.c IRIOBJS = $(COOKOBJS) MAPOBJS = defaultmap.o COOKOBJS = jrbind.o ebind.o $(COREOBJS) COREOBJS = lisp.o $(MAPOBJS) \ bushu.o chikuji.o commondata.o empty.o henkan.o hex.o \ ichiran.o jishu.o kctrl.o keydef.o \ kigo.o mode.o multi.o onoff.o parse.o romaji.o \ uiutil.o uldefine.o uldelete.o ulhinshi.o ulkigo.o \ ulmount.o ulserver.o util.o yesno.o bunsetsu.o \ engine.o RKroma.o RKkana.o obind.o DEPRKCOBJS = $(RKCDIR)/rkc.o $(RKCDIR)/convert.o \ $(RKCDIR)/wconvert.o $(RKCDIR)/wutil.o $(RKCDIR)/conf.o RKCOBJS = rkc.o convert.o wconvert.o wutil.o conf.o RKINDEPOBJS = cfuncs.o file.o strops.o OBJS = $(COOKOBJS) $(RKOBJS) $(ENGINE_OBJS) $(RKINDEPOBJS) INCLUDES = -I$(CANNAROOT)/include DEFINES = $(UILIB_DEFINES) CannaWCharDef $(ENGINE_DEFS) -DNEED_RKINDEP_SUBST LOCAL_LIBRARIES = LOCAL_LDFLAGS = LINTLIBS = $(RKDIR)/llib-lRK.ln \ $(RKCDIR)/llib-lRKC.ln #ifdef engineSwitch ENGINE_DEFS = -DENGINE_SWITCH -DDL #else ENGINE_OBJS = $(RKCOBJS) #endif /* !engineSwitch */ #if ProjectX > 5 #define SoRev cannaDsoRev #define SHLIBDIR libCannaDir #define USRLIBDIR libCannaDir #define LibHeaders 0 #include #else /* ProjectX */ #include LibraryObjectRule() #if DoSharedLib #if DoNormalLib SharedLibraryTarget(LibName,$(cannaDsoRev),$(OBJS),shared,..) #else SharedLibraryTarget(LibName,$(cannaDsoRev),$(OBJS),.,.) #endif InstallSharedLibrary(LibName,$(cannaDsoRev),$(libCannaDir)) #endif /* DoSharedLib */ #if DoNormalLib NormalLibraryTarget(LibName,$(OBJS)) InstallLibrary(LibName,$(libCannaDir)) #endif NormalLintTarget(*.c) LintLibraryTarget(LibName,*.c) #endif /* ProjectX */ #ifdef __EMX__ $(DEPRKCOBJS): $(RKCSRCS) ImakeIndir $(RKCDIR) $(MAKE) $(RKCOBJS) $(RKCOBJS): $(DEPRKCOBJS) @for %i in ($(RKCOBJS)) do $(RM) %i & ImakeHelper 3 $(RKCDIR) . %i & touch %i #else $(DEPRKCOBJS): $(RKCSRCS) (cd $(RKCDIR) ; $(MAKE) $(RKCOBJS)) $(RKCOBJS): $(DEPRKCOBJS) for i in $(RKCOBJS) ; do ($(RM) $$i; $(CP) $(RKCDIR)/$$i . ); done #endif #if DoSharedLib #if ProjectX > 5 if [ -d unshared ]; then (cd unshared ; \ for i in $(RKCOBJS); do \ if [ -f ../$(RKCDIR)/unshared/$$i ]; then \ ($(RM) $$i; $(CP) ../$(RKCDIR)/unshared/$$i .) ; fi; \ done ) ; fi #else /* ProjectX */ if [ -d shared ]; then (cd shared ; \ for i in $(RKCOBJS); do \ if [ -f ../$(RKCDIR)/shared/$$i ]; then \ ($(RM) $$i; $(CP) ../$(RKCDIR)/shared/$$i .) ; fi; \ done ) ; fi #endif /* ProjectX */ #endif /* DoSharedLib */ sglobal.h: GSYM.awk globnames awk -f GSYM.awk < globnames > $@ #ifdef NARROW clean:: $(RM) *.c *.h GSYM.awk globnames #else clean:: $(RM) y.tab.h y.tab.c lex.yy.c gram.h gram.c lex.c sglobal.h #endif #ifdef NARROW LinkSourceFile(canna.h,../canna) /*LinkSourceFile(traceRK.h,../canna)*/ LinkSourceFile(jrbind.c,../canna) LinkSourceFile(ebind.c,../canna) LinkSourceFile(defaultmap.c,../canna) LinkSourceFile(lisp.c,../canna) LinkSourceFile(lisp.h,../canna) LinkSourceFile(bushu.c,../canna) LinkSourceFile(chikuji.c,../canna) LinkSourceFile(commondata.c,../canna) LinkSourceFile(empty.c,../canna) LinkSourceFile(henkan.c,../canna) LinkSourceFile(hex.c,../canna) LinkSourceFile(ichiran.c,../canna) LinkSourceFile(jishu.c,../canna) LinkSourceFile(kctrl.c,../canna) LinkSourceFile(keydef.c,../canna) LinkSourceFile(kigo.c,../canna) LinkSourceFile(mode.c,../canna) LinkSourceFile(multi.c,../canna) LinkSourceFile(onoff.c,../canna) LinkSourceFile(parse.c,../canna) LinkSourceFile(romaji.c,../canna) LinkSourceFile(uiutil.c,../canna) LinkSourceFile(uldefine.c,../canna) LinkSourceFile(uldelete.c,../canna) LinkSourceFile(ulhinshi.c,../canna) LinkSourceFile(ulkigo.c,../canna) LinkSourceFile(ulmount.c,../canna) LinkSourceFile(ulserver.c,../canna) LinkSourceFile(util.c,../canna) LinkSourceFile(yesno.c,../canna) LinkSourceFile(bunsetsu.c,../canna) LinkSourceFile(RKroma.c,../canna) LinkSourceFile(RKkana.c,../canna) LinkSourceFile(GSYM.awk,../canna) LinkSourceFile(globnames,../canna) LinkSourceFile(chikujimap.h,../canna) LinkSourceFile(emptymap.h,../canna) LinkSourceFile(alphamap.h,../canna) LinkSourceFile(tanmap.h,../canna) LinkSourceFile(ichiranmap.h,../canna) LinkSourceFile(jishumap.h,../canna) LinkSourceFile(kigomap.h,../canna) LinkSourceFile(onoffmap.h,../canna) LinkSourceFile(yomimap.h,../canna) LinkSourceFile(t_reimap.h,../canna) LinkSourceFile(bunmap.h,../canna) LinkSourceFile(engine.c,../canna) LinkSourceFile(obind.c,../canna) #endif /* NARROW */ LinkSourceFile(cfuncs.c,../RKindep) LinkSourceFile(file.c,../RKindep) LinkSourceFile(strops.c,../RKindep) #ifdef NARROW depend:: $(SRCS) $(HEADERS) $(INCLUDEDMAPSRCS) #endif DependTarget() #ifndef NARROW includes:: sglobal.h LinkFileList(includes,$(HEADERS), $(CANNAROOT)/include,../lib/canna) #ifndef __EMX__ UIMANOBJS = jrKanjiString jrKanjiControl XLookupKanjiString XKanjiControl #endif InstallLibManPage(cannalib,$(cannaManDir)) InstallLibManPage(uilib,$(cannaManDir)) InstallLibManPageLong(RkCloseR,$(cannaManDir),RkCloseRoma) InstallLibManPageLong(RkCvtEuc,$(cannaManDir),RkCvtEuc) InstallLibManPageLong(RkCvtHan,$(cannaManDir),RkCvtHan) InstallLibManPageLong(RkCvtHir,$(cannaManDir),RkCvtHira) InstallLibManPageLong(RkCvtKan,$(cannaManDir),RkCvtKana) InstallLibManPageLong(RkCvtRom,$(cannaManDir),RkCvtRoma) InstallLibManPageLong(RkCvtZen,$(cannaManDir),RkCvtZen) InstallLibManPageLong(RkMapPho,$(cannaManDir),RkMapPhonogram) InstallLibManPageLong(RkMapRom,$(cannaManDir),RkMapRoma) InstallLibManPageLong(RkOpenRo,$(cannaManDir),RkOpenRoma) InstallLibManPageAliases(uilib,$(cannaManDir),$(UIMANOBJS)) #endif /* !NARROW */ Canna37p3/lib/canna/jishu.c0100644000076500001200000005715207732020155014774 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: jishu.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern int WToupper pro((wchar_t)); static void setInhibitInformation pro((yomiContext)); static void jishuAdjustRome pro((uiContext)), jishuAdjustRome pro((uiContext)); static int JishuZenkaku(); static int JishuHankaku(); /* yc->jishu_kc ²¿¤Îʸ»ú¼ï¤« * d->jishu_rEndp * d->jishu_kEndp * ¡ÚÎã¡Û * ¤¢¤¤¤·sh| * C- ¥¢¥¤¥·sh| * C- ¥¢¥¤¥·s|h * C- ¥¢¥¤¥·|sh * C- ¥¢¥¤|¤·sh * * ¤¢¤¤¤·sh| * C- aishish| * C- £á£é£ó£è£é£ó£è| * C- £á£é£ó£è£é£ó|h * C- £á£é£ó£è£é|sh * C- £á£é£ó£è|¤¤sh * C- aish|¤¤sh * C- ¤¢¤¤sh|¤¤sh * C- ¥¢¥¤sh|sh * C- ¥¢¥¤s|¤Òsh * C- ¥¢¥¤|¤·sh * C- * */ #define INHIBIT_HANKATA 0x01 #define INHIBIT_KANA 0x02 #define INHIBIT_ALPHA 0x04 #define INHIBIT_HIRA 0x08 void enterJishuMode(d, yc) uiContext d; yomiContext yc; { extern KanjiModeRec jishu_mode; int pos; yc->jishu_kc = JISHU_HIRA;/* º£¤Ï¤Ò¤é¤¬¤Ê¥â¡¼¥É¤Ç¤¹ */ yc->jishu_case = 0; /* Case ÊÑ´¹¤Ê¤·¤Î¥â¡¼¥É¤Ç¤¹ */ setInhibitInformation(yc); if (yc->cmark < yc->cStartp) { yc->cmark = yc->cStartp; } if (yc->kCurs == yc->cmark) { yc->jishu_kEndp = yc->kEndp; yc->jishu_rEndp = yc->rEndp; } else if (yc->kCurs < yc->cmark) { int rpos; yc->jishu_kEndp = yc->cmark; yc->cmark = yc->kCurs; yc->kRStartp = yc->kCurs = yc->jishu_kEndp; kPos2rPos(yc, 0, yc->kCurs, (int *)0, &rpos); yc->jishu_rEndp = yc->rStartp = yc->rCurs = rpos; } else { yc->jishu_kEndp = yc->kCurs; yc->jishu_rEndp = yc->rCurs; } /* yc->majorMode = d->majorMode; */ kPos2rPos(yc, 0, (int)yc->cmark, (int *)0, &pos); yc->rmark = (short)pos; d->current_mode = yc->curMode = &jishu_mode; } void leaveJishuMode(d, yc) uiContext d; yomiContext yc; { extern KanjiModeRec yomi_mode, cy_mode; yc->jishu_kEndp = 0; if (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) { d->current_mode = yc->curMode = &cy_mode; } else { d->current_mode = yc->curMode = &yomi_mode; } yc->minorMode = getBaseMode(yc); currentModeInfo(d); } static void setInhibitInformation(yc) yomiContext yc; { int i; yc->inhibition = cannaconf.InhibitHankakuKana ? INHIBIT_HANKATA : 0; for (i = 0 ; i < yc->kEndp ; i++) { if ( !(yc->kAttr[i] & HENKANSUMI) && WIsG0(yc->kana_buffer[i]) ) { yc->inhibition |= INHIBIT_KANA; break; } } for (i = 0 ; i < yc->rEndp ; i++) { if (!WIsG0(yc->romaji_buffer[i])) { yc->inhibition |= INHIBIT_ALPHA; } } } extractJishuString(yc, s, e, sr, er) yomiContext yc; wchar_t *s, *e, **sr, **er; { wchar_t *ss = s; int jishulen, len, revlen; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t xxxx[1024], yyyy[1024]; #else wchar_t *xxxx, *yyyy; xxxx = (wchar_t *)malloc(sizeof(wchar_t) * 1024); yyyy = (wchar_t *)malloc(sizeof(wchar_t) * 1024); if (!xxxx || !yyyy) { if (xxxx) { (void)free((char *)xxxx); } if (yyyy) { (void)free((char *)yyyy); } return 0; } #endif if (s + yc->cmark - yc->cStartp < e) { WStrncpy(s, yc->kana_buffer + yc->cStartp, yc->cmark - yc->cStartp); s += yc->cmark - yc->cStartp; } else { WStrncpy(s, yc->kana_buffer + yc->cStartp, (int)(e - s)); s = e; } if ((yc->jishu_kc == JISHU_ZEN_KATA || yc->jishu_kc == JISHU_HAN_KATA || yc->jishu_kc == JISHU_HIRA)) { int i, j, m, n, t, r; wchar_t *p = yyyy; for (i = yc->cmark ; i < yc->jishu_kEndp ;) { if (yc->kAttr[i] & STAYROMAJI) { j = i++; while (i < yc->jishu_kEndp && (yc->kAttr[i] & STAYROMAJI)) { i++; } t = r = 0; while (j < i) { int st = t; WStrncpy(xxxx + t, yc->kana_buffer + j, i - j); RkwMapPhonogram(yc->romdic, p, 1024 - (int)(p - yyyy), xxxx, st + i - j, xxxx[0], RK_FLUSH | RK_SOKON, &n, &m, &t, &r); /* RK_SOKON ¤òÉÕ¤±¤ë¤Î¤Ïµì¼­½ñÍÑ */ p += m; j += n - st; WStrncpy(xxxx, p, t); } } else { *p++ = yc->kana_buffer[i++]; } } jishulen = p - yyyy; } switch (yc->jishu_kc) { case JISHU_ZEN_KATA: /* Á´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë */ len = RkwCvtZen(xxxx, 1024, yyyy, jishulen); revlen = RkwCvtKana(s, (int)(e - s), xxxx, len); break; case JISHU_HAN_KATA: /* Ⱦ³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë */ len = RkwCvtKana(xxxx, 1024, yyyy, jishulen); revlen = RkwCvtHan(s, (int)(e - s), xxxx, len); break; case JISHU_HIRA: /* ¤Ò¤é¤¬¤Ê¤ËÊÑ´¹¤¹¤ë */ len = RkwCvtZen(xxxx, 1024, yyyy, jishulen); revlen = RkwCvtHira(s, (int)(e - s), xxxx, len); break; case JISHU_ZEN_ALPHA: /* Á´³Ñ±Ñ¿ô¤ËÊÑ´¹¤¹¤ë */ if (yc->jishu_case == CANNA_JISHU_UPPER || yc->jishu_case == CANNA_JISHU_LOWER || yc->jishu_case == CANNA_JISHU_CAPITALIZE) { int i, head = 1; wchar_t *p = yc->romaji_buffer; for (i = yc->rmark ; i < yc->jishu_rEndp ; i++) { xxxx[i - yc->rmark] = (yc->jishu_case == CANNA_JISHU_UPPER) ? WToupper(p[i]) : (yc->jishu_case == CANNA_JISHU_LOWER) ? WTolower(p[i]) : p[i]; if (yc->jishu_case == CANNA_JISHU_CAPITALIZE) { if (p[i] <= ' ') { head = 1; } else if (head) { head = 0; xxxx[i - yc->rmark] = WToupper(p[i]); } } } xxxx[yc->jishu_rEndp - yc->rmark] = 0; revlen = RkwCvtZen(s, (int)(e - s), xxxx, yc->jishu_rEndp - yc->rmark); #if 0 } else if (yc->jishu_case == CANNA_JISHU_CAPITALIZE) { WStrncpy(xxxx, yc->romaji_buffer + yc->rmark, yc->jishu_rEndp - yc->rmark); *xxxx = WToupper(*xxxx); xxxx[yc->jishu_rEndp - yc->rmark] = 0; revlen = RkwCvtZen(s, (int)(e - s), xxxx, yc->jishu_rEndp - yc->rmark); #endif } else { revlen = RkwCvtZen(s, (int)(e - s), yc->romaji_buffer + yc->rmark, yc->jishu_rEndp - yc->rmark); } break; case JISHU_HAN_ALPHA: /* Ⱦ³Ñ±Ñ¿ô¤ËÊÑ´¹¤¹¤ë */ revlen = yc->jishu_rEndp - yc->rmark; if (yc->jishu_case == CANNA_JISHU_UPPER || yc->jishu_case == CANNA_JISHU_LOWER || yc->jishu_case == CANNA_JISHU_CAPITALIZE) { int i, head = 1; wchar_t *p = yc->romaji_buffer + yc->rmark; for (i = 0 ; i < revlen && s < e ; i++) { *s++ = (yc->jishu_case == CANNA_JISHU_UPPER) ? WToupper(p[i]) : (yc->jishu_case == CANNA_JISHU_LOWER) ? WTolower(p[i]) : p[i]; if (yc->jishu_case == CANNA_JISHU_CAPITALIZE) { if (p[i] <= ' ') { head = 1; } else if (head) { head = 0; s[-1] = WToupper(p[i]); } } } s -= revlen; #if 0 } else if (yc->jishu_case == CANNA_JISHU_CAPITALIZE) { if (s + revlen < e) { WStrncpy(s, yc->romaji_buffer + yc->rmark, revlen); } else { WStrncpy(s, yc->romaji_buffer + yc->rmark, (int)(e - s)); revlen = (int)(e - s); } *s = WToupper(yc->romaji_buffer[yc->rmark]); #endif } else if (s + revlen < e) { WStrncpy(s, yc->romaji_buffer + yc->rmark, revlen); } else { WStrncpy(s, yc->romaji_buffer + yc->rmark, (int)(e - s)); revlen = (int)(e - s); } break; default:/* ¤É¤ì¤Ç¤â¤Ê¤«¤Ã¤¿¤éÊÑ´¹½ÐÍè¤Ê¤¤¤Î¤Ç²¿¤â¤·¤Ê¤¤ */ break; } *sr = s; s += revlen; *er = s; /* ʸ»ú¼ïÊÑ´¹¤·¤Ê¤¤Éôʬ¤òÉÕ¤±²Ã¤¨¤ë */ switch (yc->jishu_kc) { case JISHU_HIRA: /* ¤Ò¤é¤¬¤Ê¤Ê¤é */ case JISHU_ZEN_KATA: /* Á´³Ñ¥«¥¿¥«¥Ê¤Ê¤é */ case JISHU_HAN_KATA: /* Ⱦ³Ñ¥«¥¿¥«¥Ê¤Ê¤é */ /* ¤«¤Ê¥Ð¥Ã¥Õ¥¡¤«¤éʸ»úÎó¤ò¼è¤ê½Ð¤¹ */ if (s + yc->kEndp - yc->jishu_kEndp < e) { WStrncpy(s, yc->kana_buffer + yc->jishu_kEndp, yc->kEndp - yc->jishu_kEndp); s += yc->kEndp - yc->jishu_kEndp; } else { WStrncpy(s, yc->kana_buffer + yc->jishu_kEndp, (int)(e - s)); s = e; } break; case JISHU_ZEN_ALPHA: /* Á´³Ñ±Ñ¿ô¤Ê¤é */ case JISHU_HAN_ALPHA: /* Ⱦ³Ñ±Ñ¿ô¤Ê¤é */ len = RkwCvtRoma(romajidic, s, (int)(e - s), yc->romaji_buffer + yc->jishu_rEndp, yc->rEndp - yc->jishu_rEndp, RK_FLUSH | RK_SOKON | RK_XFER); s += len; break; default:/* ¤É¤ì¤Ç¤â¤Ê¤«¤Ã¤¿¤é²¿¤â¤·¤Ê¤¤ */ break; } if (s < e) { *s = (wchar_t)0; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)xxxx); (void)free((char *)yyyy); #endif return (int)(s - ss); } static inhibittedJishu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; return (((yc->inhibition & INHIBIT_KANA) && (yc->jishu_kc == JISHU_ZEN_KATA || yc->jishu_kc == JISHU_HAN_KATA)) || ((yc->inhibition & INHIBIT_ALPHA) && (yc->jishu_kc == JISHU_ZEN_ALPHA || yc->jishu_kc == JISHU_HAN_ALPHA)) || ((yc->inhibition & INHIBIT_HANKATA) && (yc->jishu_kc == JISHU_HAN_KATA)) ); } static nextJishu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; BYTE startkc = yc->jishu_kc; do { yc->jishu_kc = (BYTE)(((int)yc->jishu_kc + 1) % MAX_JISHU); } while (inhibittedJishu(d) && yc->jishu_kc != startkc); return yc->jishu_kc != startkc; } static previousJishu(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; BYTE startkc = yc->jishu_kc; do { yc->jishu_kc = (unsigned char) (((int)yc->jishu_kc + MAX_JISHU - 1) % MAX_JISHU); } while (inhibittedJishu(d) && yc->jishu_kc != startkc); return yc->jishu_kc != startkc; } static JishuNextJishu pro((uiContext)); static JishuNextJishu(d) /* »ú¼ï¥â¡¼¥É¤Î»þ¤Ë½ç²ó¤êʸ»ú¼ïÊÑ´¹¤ò¤¹¤ë */ uiContext d; { yomiContext yc = (yomiContext)d->modec; /* ¼è¤ê½Ð¤·¤¿Ê¸»úÎó¤òÊÑ´¹¤¹¤ë */ if (!nextJishu(d)) { return NothingChangedWithBeep(d); } if (yc->jishu_kc == JISHU_HIRA) { if (yc->jishu_kEndp == yc->kEndp && yc->jishu_rEndp == yc->rEndp) { leaveJishuMode(d, yc); } } makeKanjiStatusReturn(d, yc); return 0; } static JishuPreviousJishu pro((uiContext)); static JishuPreviousJishu(d) /* »ú¼ï¥â¡¼¥É¤Î»þ¤ËµÕ²ó¤êʸ»ú¼ïÊÑ´¹¤ò¤¹¤ë */ uiContext d; { yomiContext yc = (yomiContext)d->modec; /* ¼è¤ê½Ð¤·¤¿Ê¸»úÎó¤òÊÑ´¹¤¹¤ë */ if (!previousJishu(d)) { return NothingChangedWithBeep(d); } if (yc->jishu_kc == JISHU_HIRA) { if (yc->jishu_kEndp == yc->kEndp && yc->jishu_rEndp == yc->rEndp) { leaveJishuMode(d, yc); } } makeKanjiStatusReturn(d, yc); return 0; } static JishuRotateWithInhibition pro((uiContext, unsigned)); static JishuRotateWithInhibition(d, inhibit) uiContext d; unsigned inhibit; { yomiContext yc = (yomiContext)d->modec; BYTE savedInhibition = yc->inhibition; int res; yc->inhibition |= inhibit; res = JishuNextJishu(d); yc->inhibition = savedInhibition; return res; } static JishuKanaRotate pro((uiContext)); static JishuKanaRotate(d) /* »ú¼ï¥â¡¼¥É¤Î»þ¤Ë½ç²ó¤ê¤«¤Êʸ»ú¼ïÊÑ´¹¤ò¤¹¤ë */ uiContext d; { return JishuRotateWithInhibition(d, INHIBIT_ALPHA); } static JishuRomajiRotate pro((uiContext)); static JishuRomajiRotate(d) /* »ú¼ï¥â¡¼¥É¤Î»þ¤Ë½ç²ó¤ê±Ñ¿ôʸ»ú¼ïÊÑ´¹¤ò¤¹¤ë */ uiContext d; { return JishuRotateWithInhibition(d, INHIBIT_KANA | INHIBIT_HIRA); } static void myjishuAdjustRome pro((uiContext)); static JishuShrink pro((uiContext)); static JishuShrink(d) /* ʸ»ú¼ïÊÑ´¹Îΰè¤ò½Ì¤á¤ë */ uiContext d; { yomiContext yc = (yomiContext)d->modec; /* ¼ï¡¹¤Î¥Ý¥¤¥ó¥¿¤òÌ᤹ */ switch (yc->jishu_kc) { case JISHU_ZEN_ALPHA: case JISHU_HAN_ALPHA: /* Á´³Ñ±Ñ¿ô»ú¤«È¾³Ñ±Ñ¿ô»ú¤Ê¤é */ myjishuAdjustRome(d); yc->jishu_rEndp--; /* »ú¼ï¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò£±Ì᤹ */ if (yc->rAttr[yc->jishu_rEndp] & SENTOU) { /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÀèÆ¬¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡¤¬ * Ω¤Ã¤Æ¤¤¤¿¤é */ for (--yc->jishu_kEndp ; yc->jishu_kEndp > 0 && !(yc->kAttr[yc->jishu_kEndp] & SENTOU) ;) { --yc->jishu_kEndp; } /* ¤«¤ÊÊÑ´¹¤·¤¿¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤¬ * Ω¤Ã¤Æ¤¤¤ë½ê¤Þ¤Ç * »ú¼ï¤«¤Ê¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò * Ì᤹ */ } break; case JISHU_HIRA: case JISHU_ZEN_KATA: case JISHU_HAN_KATA: /* ¤Ò¤é¤¬¤Ê¤«Á´³Ñ¥«¥¿¥«¥Ê¤«È¾³Ñ¥«¥¿¥«¥Ê¤Ê¤é */ jishuAdjustRome(d); yc->jishu_kEndp--; /* »ú¼ï¤«¤Ê¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò£±Ê¸»úʬÌ᤹ */ if (yc->kAttr[yc->jishu_kEndp] & SENTOU) { /* ¤«¤ÊÊÑ´¹¤·¤¿¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡¤¬ * Ω¤Ã¤Æ¤¤¤¿¤é */ for (--yc->jishu_rEndp ; yc->jishu_rEndp > 0 && !(yc->rAttr[yc->jishu_rEndp] & SENTOU) ;) { --yc->jishu_rEndp; } /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÀèÆ¬¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡¤¬ * Ω¤Ã¤Æ¤¤¤ë½ê¤Þ¤Ç * »ú¼ï¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò * Ì᤹ */ } break; } if(yc->jishu_rEndp <= yc->rmark) {/* £±¼þ¤·¤¿¤é»ú¼ï¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò * ¸µ¤ÎŤµ¤ËÌ᤹ */ yc->jishu_kEndp = yc->kEndp; yc->jishu_rEndp = yc->rEndp; } makeKanjiStatusReturn(d, yc); return 0; } static JishuNop pro((uiContext)); static JishuNop(d) uiContext d; { /* currentModeInfo ¤Ç¥â¡¼¥É¾ðÊó¤¬É¬¤ºÊÖ¤ë¤è¤¦¤Ë¥À¥ß¡¼¤Î¥â¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯ */ d->majorMode = d->minorMode = CANNA_MODE_AlphaMode; currentModeInfo(d); makeKanjiStatusReturn(d, (yomiContext)d->modec); return 0; } static JishuExtend pro((uiContext)); static JishuExtend(d) /* ʸ»ú¼ïÊÑ´¹Îΰè¤ò¿­¤Ð¤¹ */ uiContext d; { yomiContext yc = (yomiContext)d->modec; /* ¼ï¡¹¤Î¥Ý¥¤¥ó¥¿¤òÁý¤ä¤¹ */ switch (yc->jishu_kc) { case JISHU_ZEN_ALPHA: case JISHU_HAN_ALPHA: /* Á´³Ñ±Ñ¿ô»ú¤«È¾³Ñ±Ñ¿ô»ú¤Ê¤é */ myjishuAdjustRome(d); if(yc->jishu_rEndp >= yc->rEndp && yc->jishu_kEndp >= yc->kEndp ) { /* £±¼þ¤·¤¿¤é»ú¼ï¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò * °ìÈÖÁ°¤ËÌ᤹ */ yc->jishu_rEndp = yc->rmark; yc->jishu_kEndp = yc->cmark; } if (yc->rAttr[yc->jishu_rEndp] & SENTOU) { /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÀèÆ¬¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡¤¬ * Ω¤Ã¤Æ¤¤¤¿¤é */ for (yc->jishu_kEndp++ ; yc->jishu_kEndp > 0 && !(yc->kAttr[yc->jishu_kEndp] & SENTOU) ;) { yc->jishu_kEndp++; } /* ¤«¤ÊÊÑ´¹¤·¤¿¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤¬ * Ω¤Ã¤Æ¤¤¤ë½ê¤Þ¤Ç * »ú¼ï¤«¤Ê¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÁý¤ä¤¹ */ } yc->jishu_rEndp++; /* »ú¼ï¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò£±Áý¤ä¤¹ */ break; case JISHU_HIRA: case JISHU_ZEN_KATA: case JISHU_HAN_KATA: /* ¤Ò¤é¤¬¤Ê¤«Á´³Ñ¥«¥¿¥«¥Ê¤«È¾³Ñ¥«¥¿¥«¥Ê¤Ê¤é */ jishuAdjustRome(d); if(yc->jishu_rEndp >= yc->rEndp && yc->jishu_kEndp >= yc->kEndp ) { /* £±¼þ¤·¤¿¤é»ú¼ï¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò * °ìÈÖÁ°¤ËÌ᤹ */ yc->jishu_rEndp = yc->rmark; yc->jishu_kEndp = yc->cmark; } if (yc->kAttr[yc->jishu_kEndp] & SENTOU) { /* ¤«¤ÊÊÑ´¹¤·¤¿¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡¤¬ * Ω¤Ã¤Æ¤¤¤¿¤é */ for (yc->jishu_rEndp++ ; yc->jishu_rEndp > 0 && !(yc->rAttr[yc->jishu_rEndp] & SENTOU) ;) { yc->jishu_rEndp++; } /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÀèÆ¬¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡¤¬ * Ω¤Ã¤Æ¤¤¤ë½ê¤Þ¤Ç * »ú¼ï¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÁý¤ä¤¹ */ } yc->jishu_kEndp++; /* »ú¼ï¤«¤Ê¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò£±Ê¸»úʬÁý¤ä¤¹ */ break; } makeKanjiStatusReturn(d, yc); return 0; } static void jishuAdjustRome(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; while (!(yc->rAttr[yc->jishu_rEndp] & SENTOU)) { ++yc->jishu_rEndp; } } static void myjishuAdjustRome(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; while (!(yc->kAttr[yc->jishu_kEndp] & SENTOU) && !(yc->jishu_kEndp == yc->kEndp)) { ++yc->jishu_kEndp; } } static JishuZenkaku pro((uiContext)); static JishuZenkaku(d) /* Á´³ÑÊÑ´¹ */ uiContext d; { yomiContext yc = (yomiContext)d->modec; /* ¼è¤ê½Ð¤·¤¿Ê¸»úÎó¤òÊÑ´¹¤¹¤ë */ switch(yc->jishu_kc) { case JISHU_HIRA: /* ¤Ò¤é¤¬¤Ê¤Ê¤é²¿¤â¤·¤Ê¤¤ */ break; case JISHU_HAN_ALPHA: /* Ⱦ³Ñ±Ñ¿ô¤Ê¤éÁ´³Ñ±Ñ¿ô¤ËÊÑ´¹¤¹¤ë */ yc->jishu_kc = JISHU_ZEN_ALPHA; break; case JISHU_ZEN_ALPHA: /* Á´³Ñ±Ñ¿ô¤Ê¤é²¿¤â¤·¤Ê¤¤ */ break; case JISHU_HAN_KATA: /* Ⱦ³Ñ¥«¥¿¥«¥Ê¤Ê¤éÁ´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë */ yc->jishu_kc = JISHU_ZEN_KATA; break; case JISHU_ZEN_KATA: /* Á´³Ñ¥«¥¿¥«¥Ê¤Ê¤é²¿¤â¤·¤Ê¤¤ */ break; default: /* ¤É¤ì¤Ç¤â¤Ê¤«¤Ã¤¿¤éÊÑ´¹½ÐÍè¤Ê¤¤¤Î¤Ç²¿¤â¤·¤Ê¤¤ */ break; } makeKanjiStatusReturn(d, yc); return 0; } static JishuHankaku pro((uiContext)); static JishuHankaku(d) /* Ⱦ³ÑÊÑ´¹ */ uiContext d; { yomiContext yc = (yomiContext)d->modec; /* ¼è¤ê½Ð¤·¤¿Ê¸»úÎó¤òÊÑ´¹¤¹¤ë */ switch(yc->jishu_kc) { case JISHU_HIRA: /* ¤Ò¤é¤¬¤Ê¤Ê¤éȾ³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë */ if (cannaconf.InhibitHankakuKana) { return NothingChangedWithBeep(d); } yc->jishu_kc = JISHU_HAN_KATA; break; case JISHU_ZEN_KATA: /* Á´³Ñ¥«¥¿¥«¥Ê¤Ê¤éȾ³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë */ if (cannaconf.InhibitHankakuKana) { return NothingChangedWithBeep(d); } yc->jishu_kc = JISHU_HAN_KATA; break; case JISHU_HAN_KATA: /* Ⱦ³Ñ¥«¥¿¥«¥Ê¤Ê¤é²¿¤â¤·¤Ê¤¤ */ break; case JISHU_ZEN_ALPHA: /* Á´³Ñ±Ñ¿ô¤Ê¤éȾ³Ñ±Ñ¿ô¤ËÊÑ´¹¤¹¤ë */ yc->jishu_kc = JISHU_HAN_ALPHA; break; case JISHU_HAN_ALPHA: /* Ⱦ³Ñ±Ñ¿ô¤Ê¤é²¿¤â¤·¤Ê¤¤ */ break; default: /* ¤É¤ì¤Ç¤â¤Ê¤«¤Ã¤¿¤éÊÑ´¹½ÐÍè¤Ê¤¤¤Î¤Ç²¿¤â¤·¤Ê¤¤ */ break; } makeKanjiStatusReturn(d, yc); return 0; } static exitJishuAndDoSomething(d, fnum) uiContext d; int fnum; { exitJishu(d); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = fnum; makeYomiReturnStruct(d); currentModeInfo(d); return d->nbytes = 0; } static JishuYomiInsert pro((uiContext)); static JishuYomiInsert(d) uiContext d; { if (cannaconf.MojishuContinue) { return exitJishuAndDoSomething(d, 0); } else { int res; res = YomiKakutei(d); /* ¿·¤·¤¯¥Õ¥é¥°¤òÀߤ±¤Æ¡¢¤½¤ì¤Ë¤è¤Ã¤Æ¡¢ YomiKakutei(); more.todo = self-insert ¤âÁªÂò¤Ç¤­¤ë¤è¤¦¤Ë¤·¤è¤¦ */ d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = CANNA_FN_FunctionalInsert; makeYomiReturnStruct(d); currentModeInfo(d); return res; } } static JishuQuit pro((uiContext)); static JishuQuit(d) uiContext d; { leaveJishuMode(d, (yomiContext)d->modec); makeKanjiStatusReturn(d, (yomiContext)d->modec); return 0; } /* Âçʸ»ú¤Ë¤¹¤ë´Ø¿ô */ static JishuToUpper pro((uiContext)); static JishuToUpper(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (!(yc->inhibition & INHIBIT_ALPHA)) { /* ̵ÍýÌðÍýÂçʸ»ú¤ËÊÑ´¹¤¹¤ë */ if (yc->jishu_kc == JISHU_HIRA || yc->jishu_kc == JISHU_ZEN_KATA) { yc->jishu_kc = JISHU_ZEN_ALPHA; } else if (yc->jishu_kc == JISHU_HAN_KATA) { yc->jishu_kc = JISHU_HAN_ALPHA; } } if (yc->jishu_kc == JISHU_ZEN_ALPHA || yc->jishu_kc == JISHU_HAN_ALPHA) { yc->jishu_case = CANNA_JISHU_UPPER; makeKanjiStatusReturn(d, yc); return 0; } else { /* Á°¤È²¿¤âÊѤï¤ê¤Þ¤»¤ó */ d->kanji_status_return->length = -1; return 0; } } static JishuCapitalize pro((uiContext)); static JishuCapitalize(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (!(yc->inhibition & INHIBIT_ALPHA)) { /* ̵ÍýÌðÍýÂçʸ»ú¤ËÊÑ´¹¤¹¤ë */ if (yc->jishu_kc == JISHU_HIRA || yc->jishu_kc == JISHU_ZEN_KATA) { yc->jishu_kc = JISHU_ZEN_ALPHA; } else if (yc->jishu_kc == JISHU_HAN_KATA) { yc->jishu_kc = JISHU_HAN_ALPHA; } } if (yc->jishu_kc == JISHU_ZEN_ALPHA || yc->jishu_kc == JISHU_HAN_ALPHA) { yc->jishu_case = CANNA_JISHU_CAPITALIZE; makeKanjiStatusReturn(d, yc); return 0; } else { /* Á°¤È²¿¤âÊѤï¤ê¤Þ¤»¤ó */ d->kanji_status_return->length = -1; return 0; } } static JishuToLower pro((uiContext)); static JishuToLower(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (!(yc->inhibition & INHIBIT_ALPHA)) { /* ̵ÍýÌðÍýÂçʸ»ú¤ËÊÑ´¹¤¹¤ë */ if (yc->jishu_kc == JISHU_HIRA || yc->jishu_kc == JISHU_ZEN_KATA) { yc->jishu_kc = JISHU_ZEN_ALPHA; } else if (yc->jishu_kc == JISHU_HAN_KATA) { yc->jishu_kc = JISHU_HAN_ALPHA; } } if (yc->jishu_kc == JISHU_ZEN_ALPHA || yc->jishu_kc == JISHU_HAN_ALPHA) { yc->jishu_case = CANNA_JISHU_LOWER; makeKanjiStatusReturn(d, yc); return 0; } else { /* Á°¤È²¿¤âÊѤï¤ê¤Þ¤»¤ó */ d->kanji_status_return->length = -1; return 0; } } static JishuHiragana pro((uiContext)); static JishuHiragana(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; yc->jishu_kc = JISHU_HIRA; makeKanjiStatusReturn(d, yc); return 0; } static JishuKatakana pro((uiContext)); static JishuKatakana(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; yc->jishu_kc = JISHU_ZEN_KATA; makeKanjiStatusReturn(d, yc); return 0; } static JishuRomaji pro((uiContext)); static JishuRomaji(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->inhibition == INHIBIT_ALPHA) { return NothingChangedWithBeep(d); } yc->jishu_kc = JISHU_ZEN_ALPHA; makeKanjiStatusReturn(d, yc); return 0; } static void nextCase(yc) yomiContext yc; { yc->jishu_case = (BYTE)(((int)yc->jishu_case + 1) % CANNA_JISHU_MAX_CASE); } static JishuCaseRotateForward pro((uiContext)); static JishuCaseRotateForward(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->inhibition == INHIBIT_ALPHA) { return NothingChangedWithBeep(d); } if (yc->jishu_kc == JISHU_ZEN_ALPHA || yc->jishu_kc == JISHU_HAN_ALPHA) { nextCase(yc); } else if (yc->jishu_kc == JISHU_HIRA || yc->jishu_kc == JISHU_ZEN_KATA) { yc->jishu_kc = JISHU_ZEN_ALPHA; } else if (yc->jishu_kc == JISHU_HAN_KATA) { yc->jishu_kc = JISHU_HAN_ALPHA; } makeKanjiStatusReturn(d, yc); return 0; } /* * ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¤(ÊÑ´¹¥­¡¼¤¬½é¤á¤Æ²¡¤µ¤ì¤¿)¡¢TanKouhoMode¤Ë°Ü¹Ô¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static JishuKanjiHenkan pro((uiContext)); static JishuKanjiHenkan(d) uiContext d; { return exitJishuAndDoSomething(d, CANNA_FN_Henkan); } static JishuKanjiHenkanOInsert pro((uiContext)); static JishuKanjiHenkanOInsert(d) uiContext d; { return exitJishuAndDoSomething(d, CANNA_FN_HenkanOrInsert); } static JishuKanjiHenkanONothing pro((uiContext)); static JishuKanjiHenkanONothing(d) uiContext d; { return exitJishuAndDoSomething(d, CANNA_FN_HenkanOrNothing); } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #include "jishumap.h" Canna37p3/lib/canna/jishumap.h0100644000076500001200000000572307554213605015502 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char jishumap_id[] = "@(#) 102.1 $Id: jishumap.h,v 1.1.1.1 2002/10/19 08:27:49 aida_s Exp $"; #endif /* lint */ extern DoFuncSequence pro((uiContext)),UseOtherKeymap pro((uiContext)); extern TbForward pro((uiContext)), TbBackward pro((uiContext)); extern TbBeginningOfLine pro((uiContext)), TbEndOfLine pro((uiContext)); extern YomiKakutei pro((uiContext)); static struct funccfunc jishu_funcs[] = { {CANNA_FN_FunctionalInsert ,JishuYomiInsert }, {CANNA_FN_Next ,JishuNextJishu }, {CANNA_FN_Prev ,JishuPreviousJishu }, {CANNA_FN_DeletePrevious ,JishuQuit }, {CANNA_FN_Henkan ,JishuKanjiHenkan }, {CANNA_FN_HenkanOrInsert ,JishuKanjiHenkanOInsert}, {CANNA_FN_HenkanOrNothing ,JishuKanjiHenkanONothing}, {CANNA_FN_Kakutei ,YomiKakutei }, {CANNA_FN_Extend ,JishuExtend }, {CANNA_FN_Shrink ,JishuShrink }, {CANNA_FN_Quit ,JishuQuit }, {CANNA_FN_BubunMuhenkan ,JishuQuit }, {CANNA_FN_Zenkaku ,JishuZenkaku }, {CANNA_FN_Hankaku ,JishuHankaku }, {CANNA_FN_ToUpper ,JishuToUpper }, {CANNA_FN_ToLower ,JishuToLower }, {CANNA_FN_Hiragana ,JishuHiragana }, {CANNA_FN_Katakana ,JishuKatakana }, {CANNA_FN_Romaji ,JishuRomaji }, {CANNA_FN_Capitalize ,JishuCapitalize }, {CANNA_FN_Forward ,TbForward }, {CANNA_FN_Backward ,TbBackward }, {CANNA_FN_BeginningOfLine ,TbBeginningOfLine }, {CANNA_FN_EndOfLine ,TbEndOfLine }, {CANNA_FN_KanaRotate ,JishuKanaRotate }, {CANNA_FN_RomajiRotate ,JishuRomajiRotate }, {CANNA_FN_CaseRotate ,JishuCaseRotateForward }, {CANNA_FN_Nop ,JishuNop }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {0 ,0 }, }; KanjiModeRec jishu_mode = { searchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, jishu_funcs, }; Canna37p3/lib/canna/jrbind.c0100644000076500001200000001640407732020155015115 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: jrbind.c,v 1.4 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include #include /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #define ACTHASHTABLESIZE 64 #define KEYHASHTABLESIZE 16 /* jrKanjiString ¤Ï TTY ¤Î¥­¡¼ÆþÎϤò¼õ¤±¼è¤ê¡¢¤½¤Î¥­¡¼¤Ë¤·¤¿¤¬¤Ã¤ÆÉ¬Í× ¤Ê¤é¥«¥Ê´Á»úÊÑ´¹¤ò¹Ô¤¤¡¢¤½¤Î¥­¡¼ÆþÎϤηë²Ì¤È¤·¤ÆÆÀ¤é¤ì¤ëʸ»úÎó¤ò buffer_return ¤ÇÊÖ¤¹¡£buffer_return ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¦¤ËÍѰդ¹¤ë¥Ð¥Ã ¥Õ¥¡¤Ç¤¢¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤½¤Î¥Ð¥Ã¥Õ¥¡¤ÎŤµ¤ò bytes_buffer ¤ÇÅÏ ¤¹¡£ kanji_status_return ¤Ï³ÎÄꤷ¤Æ¤¤¤Ê¤¤ÆþÎÏʸ»úÎó¤òɽ¼¨¤¹¤ë¤¿¤á¤Î¥Ç¡¼¥¿ ¤Ç¤¢¤ê¡¢Ì¤³ÎÄê¤ÎÆÉ¤ß¤ä¸õÊä´Á»ú¤Ê¤É¤¬ÊÖ¤µ¤ì¤ë¡£kanji_status_return¤Î ¥á¥ó¥Ð¤Ë¤Ï¡¢ echoStr, length, revPos, revLen ¤¬¤¢¤ê¤½¤ì¤¾¤ì¡¢Ì¤³ÎÄê ʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¢¤½¤ÎŤµ¡¢Ì¤³ÎÄêʸ»úÎó¤Î¤¦¤Á¡¢¶¯Ä´¤¹¤ëÉôʬ¤Ø¤Î¥ª ¥Õ¥»¥Ã¥È¡¢¶¯Ä´¤¹¤ëÉôʬ¤ÎŤµ¤òÊÖ¤¹¡£Ì¤³ÎÄêʸ»úÎó¤ò³ÊǼ¤¹¤ëÎΰè¤Ï jrKanjiString ¤Ç¼«Æ°Åª¤ËÍѰդµ¤ì¤ë¡£ */ extern int FirstTime; extern BYTE *actFromHash(); exp(int) wcKanjiString(context_id, ch, buffer_return, nbuffer, kanji_status_return) const int context_id, ch, nbuffer; wchar_t *buffer_return; wcKanjiStatus *kanji_status_return; { int res; *buffer_return = (wchar_t)ch; res = XwcLookupKanji2((unsigned int)0, (unsigned int)context_id, buffer_return, nbuffer, 1/* byte */, 1/* functional char*/, kanji_status_return); return res; } /* jrKanjiControl -- ¥«¥Ê´Á»úÊÑ´¹¤ÎÀ©¸æ¤ò¹Ô¤¦ */ exp(int) wcKanjiControl(context, request, arg) const int context; const int request; char *arg; { return XwcKanjiControl2((unsigned int)0, (unsigned int)context, (unsigned int)request, (BYTE *)arg); } static uiContext newUiContext(dpy, win) unsigned int dpy, win; { extern struct CannaConfig cannaconf; uiContext d; if ((d = (uiContext)malloc(sizeof(uiContextRec))) != (uiContext)0) { if (initRomeStruct(d, cannaconf.chikuji) == 0) { if (internContext(dpy, win, d)) { return d; } freeRomeStruct(d); } free((char *)d); } return (uiContext)0; } extern int kanjiControl pro((int, uiContext, caddr_t)); XwcLookupKanji2(dpy, win, buffer_return, nbuffer, nbytes, functionalChar, kanji_status_return) unsigned int dpy, win; int functionalChar, nbytes; wchar_t *buffer_return; int nbuffer; wcKanjiStatus *kanji_status_return; { uiContext d, keyToContext(); int retval; /* ½é¤á¤Æ XLookupKanjiString ¤¬¸Æ¤Ð¤ì¤¿»þ¤Ï¼­½ñ¤Î½é´ü²½¤Ê¤É¤Î½èÍý¤¬ ¹Ô¤ï¤ì¤ë¡£ */ if (FirstTime) { if (kanjiControl(KC_INITIALIZE, (uiContext)NULL, (char *)NULL) == -1) { return -1; } FirstTime = 0; } d = keyToContext(dpy, win); if (d == (uiContext)NULL) { /* ¤³¤Î¥¦¥£¥ó¥É¥¦¤«¤é¥¤¥Ù¥ó¥È¤¬Í褿¤Î¤¬»Ï¤á¤Æ¤À¤Ã¤¿¤ê¤¹¤ë¤ï¤±¤è */ d = newUiContext(dpy, win); if (d == (uiContext)NULL) { return NoMoreMemory(); } } bzero(kanji_status_return, sizeof(wcKanjiStatus)); d->ch = (unsigned)*buffer_return; d->buffer_return = buffer_return; d->n_buffer = nbuffer; d->kanji_status_return = kanji_status_return; debug_message("current_mode(0x%x)\n", d->current_mode,0,0); if ( nbytes || functionalChar ) { /* ¥­¥ã¥é¥¯¥¿¥³¡¼¥É¤¬¤È¤ì¤¿¾ì¹ç */ int check; *buffer_return = key2wchar(d->ch, &check); if (!check) { return NothingChangedWithBeep(d); } d->nbytes = nbytes; retval = doFunc(d, 0); #ifdef DEBUG checkModec(d); #endif /* DEBUG */ return(retval); } else { /* ¥­¥ã¥é¥¯¥¿¥³¡¼¥É¤¬¤È¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡Ê¥·¥Õ¥È¥­¡¼¤Ê¤É¡Ë... */ d->kanji_status_return->length = -1; return 0; } } uiContext keyToContext(); int XwcKanjiControl2(display, window, request, arg) unsigned int display, window, request; BYTE *arg; { if (request == KC_INITIALIZE || request == KC_FINALIZE || request == KC_SETSERVERNAME || request == KC_SETINITFILENAME || request == KC_SETVERBOSE || request == KC_KEYCONVCALLBACK || request == KC_QUERYCONNECTION || request == KC_SETUSERINFO || request == KC_QUERYCUSTOM) { return kanjiControl(request, (uiContext)NULL, (char *)arg); } else if (/* 0 <= request && (ɬ¤º¿¿) */ request < MAX_KC_REQUEST) { uiContext d; /* ½é¤á¤Æ wcKanjiString ¤¬¸Æ¤Ð¤ì¤¿»þ¤Ï¼­½ñ¤Î½é´ü²½¤Ê¤É¤Î½èÍý¤¬ ¹Ô¤ï¤ì¤ë¡£ */ if (FirstTime) { if (kanjiControl(KC_INITIALIZE, (uiContext)NULL, (char *)NULL) == -1) { return -1; } FirstTime = 0; } d = keyToContext((unsigned int)display, (unsigned int)window); if (d == (uiContext)NULL) { d = newUiContext(display, window); if (d == (uiContext)NULL) { return NoMoreMemory(); } } if (request == KC_CLOSEUICONTEXT) { rmContext(display, window); } return kanjiControl(request, d, (char *)arg); } else { return -1; } } struct map { KanjiMode tbl; BYTE key; KanjiMode mode; struct map *next; } *mapFromHash(); /* cfuncdef pushCallback -- ¥³¡¼¥ë¥Ð¥Ã¥¯¤Î½¸¹ç¤ò¥×¥Ã¥·¥å¤¹¤ë¡£ ¥³¡¼¥ë¥Ð¥Ã¥¯¤Î½¸¹ç¤ò³ÊǼ¤¹¤ëÇÛÎó¤¬ malloc ¤µ¤ì¤Æ¡¢¤½¤ì¤¬ uiContext ¤Ë ¥×¥Ã¥·¥å¤µ¤ì¤ë¡£ malloc ¤µ¤ì¤¿ÇÛÎó¤¬Ìá¤êÃͤȤ·¤ÆÊ֤롣 */ struct callback * pushCallback(d, env, ev, ex, qu, au) uiContext d; mode_context env; canna_callback_t ev, ex, qu, au; { struct callback *newCB; newCB = (struct callback *)malloc(sizeof(struct callback)); if (newCB) { newCB->func[0] = ev; newCB->func[1] = ex; newCB->func[2] = qu; newCB->func[3] = au; newCB->env = env; newCB->next = d->cb; d->cb = newCB; } return newCB; } void popCallback(d) uiContext d; { struct callback *oldCB; oldCB = d->cb; d->cb = oldCB->next; free(oldCB); } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/kctrl.c0100644000076500001200000014642107733265201014773 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: kctrl.c,v 1.10 2003/09/21 09:08:17 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include #include #include /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #define DEFAULT_COLUMN_WIDTH 70 extern char *CANNA_initfilename; extern char saveapname[]; static int insertEmptySlots pro((uiContext)); static int callCallback pro((uiContext, int)); static void freeKeysup pro((void)); static void freeBuffer pro((void)); static void freeExtra pro((void)); extern int ckverbose; static doInitializeFunctions(d) uiContext d; { BYTE *p; int res = 0; wcKanjiStatus ks, *pks; extern BYTE *initfunc; wchar_t xxxx[10]; d->ch = 0; d->buffer_return = xxxx; d->n_buffer = sizeof(xxxx) / sizeof(wchar_t); d->nbytes = 0; if (initfunc) { pks = d->kanji_status_return; d->kanji_status_return = &ks; for (p = initfunc ; *p ; p++) { res = _doFunc(d, *p); } res = _afterDoFunc(d, res); d->kanji_status_return = pks; } return res; } /* uiContext ¤Î½é´ü²½ */ initRomeStruct(d, flg) uiContext d; int flg; { extern KanjiModeRec alpha_mode, empty_mode; extern KanjiModeRec kzhr_mode, kzkt_mode, kzal_mode; extern KanjiModeRec khkt_mode, khal_mode; yomiContext yc; extern defaultContext, defaultBushuContext; bzero(d, sizeof(uiContextRec)); if (insertEmptySlots(d) < 0) { return -1; } /* ¥³¥ó¥Æ¥¯¥¹¥È¤òºÇ½é¤Ë¥Ç¥å¥×¥ê¥±¡¼¥È¤·¤Æ¤¤¤¿²áµî¤¬¤¢¤Ã¤¿¤Ê¤¢ */ d->contextCache = -1; /* ½é´ü¥â¡¼¥É(¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É)¤òÆþ¤ì¤ë */ d->majorMode = d->minorMode = CANNA_MODE_AlphaMode; yc = (yomiContext)d->modec; if (flg) { yc->minorMode = CANNA_MODE_ChikujiYomiMode; yc->generalFlags |= CANNA_YOMI_CHIKUJI_MODE; } alphaMode(d); /* ½é´ü func ¤ò¼Â¹Ô¤¹¤ë */ (void)doInitializeFunctions(d); return 0; } static void freeModec(modec) mode_context modec; { coreContext cc; union { coreContext c; yomiContext y; ichiranContext i; forichiranContext f; mountContext m; tourokuContext t; } gc; cc = (coreContext)modec; while (cc) { switch (cc->id) { case CORE_CONTEXT: gc.c = cc; cc = (coreContext)gc.c->next; freeCoreContext(gc.c); break; case YOMI_CONTEXT: gc.y = (yomiContext)cc; cc = (coreContext)gc.y->next; /* yc->context ¤Î close ¤Ï¤¤¤é¤Ê¤¤¤Î¤«¤Ê¤¢¡£1996.10.30 º£ */ freeYomiContext(gc.y); break; case ICHIRAN_CONTEXT: gc.i = (ichiranContext)cc; cc = (coreContext)gc.i->next; freeIchiranContext(gc.i); break; case FORICHIRAN_CONTEXT: gc.f = (forichiranContext)cc; cc = (coreContext)gc.f->next; freeForIchiranContext(gc.f); break; case MOUNT_CONTEXT: gc.m = (mountContext)cc; cc = (coreContext)gc.m->next; freeIchiranContext(gc.i); break; case TOUROKU_CONTEXT: gc.t = (tourokuContext)cc; cc = (coreContext)gc.t->next; free(gc.t); break; default: break; } } } static void freeCallbacks(cb) struct callback *cb; { struct callback *nextcb; for (; cb ; cb = nextcb) { nextcb = cb->next; free(cb); } } void freeRomeStruct(d) uiContext d; { freeModec(d->modec); if (d->cb) { freeCallbacks(d->cb); } if (d->contextCache >= 0) { if (RkwCloseContext(d->contextCache) < 0) { if (errno == EPIPE) { jrKanjiPipeError(); } } } #ifndef NO_EXTEND_MENU freeAllMenuInfo(d->minfo); #endif if (d->selinfo) { selectinfo *p, *q; for (p = d->selinfo ; p ; p = q) { q = p->next; free((char *)p); } } if (d->attr) { if (d->attr->u.attr) { free(d->attr->u.attr); } free((char *)d->attr); } free(d); } static insertEmptySlots(d) uiContext d; { extern KanjiModeRec empty_mode; struct callback *pushCallback(); yomiContext yc; if (pushCallback(d, (mode_context) NULL, NO_CALLBACK, NO_CALLBACK, NO_CALLBACK, NO_CALLBACK) == (struct callback *)NULL) return NoMoreMemory(); yc = newYomiContext((wchar_t *)NULL, 0, /* ·ë²Ì¤Ï³ÊǼ¤·¤Ê¤¤ */ CANNA_NOTHING_RESTRICTED, (int)!CANNA_YOMI_CHGMODE_INHIBITTED, (int)!CANNA_YOMI_END_IF_KAKUTEI, CANNA_YOMI_INHIBIT_NONE); if (yc == (yomiContext)0) { popCallback(d); return NoMoreMemory(); } yc->majorMode = yc->minorMode = CANNA_MODE_HenkanMode; d->majorMode = d->minorMode = CANNA_MODE_HenkanMode; d->modec = (mode_context)yc; d->current_mode = yc->curMode = yc->myEmptyMode = &empty_mode; yc->romdic = romajidic; d->ncolumns = DEFAULT_COLUMN_WIDTH; d->minfo = (menuinfo *)0; d->selinfo = (selectinfo *)0; d->prevMenu = (menustruct *)0; return 0; } /* display ¤È window ¤ÎÁÈ¤ä ¥³¥ó¥Æ¥¯¥¹¥ÈID ¤ò¼ÂºÝ¤Î¥³¥ó¥Æ¥¯¥¹¥È¤ËÂбþÉÕ ¤±¤ë¤¿¤á¤Î¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë display ¤È window ¤«¤éºî¤é¤ì¤ë¥­¡¼¤Î¤È¤³¤í¤ò°ú¤¯¤È¡¢¤½¤³¤Ë¥³¥ó¥Æ¥¯¥¹¥È ¤¬Æþ¤Ã¤Æ¤¤¤ë³ÎΨ¤¬¹â¤¤¡£¤â¤·Æþ¤Ã¤Æ¤¤¤Ê¤¯¤È¤â¡¢¥Ý¥¤¥ó¥¿¥Á¥§¡¼¥ó¤ò¤¿¤É¤Ã¤Æ ¹Ô¤¯¤È¤¤¤Ä¤«¤Ï¥³¥ó¥Æ¥¯¥¹¥È¤¬ÆÀ¤é¤ì¤ë¤Ë°ã¤¤¤Ê¤¤¡£ */ #define HASHTABLESIZE 96 static struct bukRec { unsigned int data1, data2; uiContext context; struct bukRec *next; } *conHash[HASHTABLESIZE]; /* ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤òÄ´¤Ù¤Æ¥³¥ó¥Æ¥¯¥¹¥È¤¬¤¢¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë´Ø¿ô */ static countContext() { struct bukRec *hash; int i, c; for(i = 0, c = 0; i < HASHTABLESIZE; i++) { for(hash = conHash[i] ; hash && hash->context ;hash = hash->next){ c++; } } #if defined(DEBUG) fprintf(stderr, "¹ç·×=%d\n", c); #endif if(c) { return 0; } else { return 1; } } /* ¥Ï¥Ã¥·¥å¥­¡¼¤òºî¤ë´Ø¿ô(¤¤¤¤²Ã¸º) */ static unsigned int makeKey(data1, data2) unsigned int data1, data2; { unsigned int key; key = data1 % HASHTABLESIZE; key += data2 % HASHTABLESIZE; key %= HASHTABLESIZE; return key; } /* keyToContext -- Display ¤È Window ¤ÎÁȤʤɤ«¤é¥³¥ó¥Æ¥¯¥¹¥È¤ò³ä¤ê½Ð¤¹½èÍý display ¤È window ¤ÎÁȤ¬¥³¥ó¥Æ¥¯¥¹¥È¤ò»ý¤Ã¤Æ¤¤¤ì¤Ð¤½¤Î¥³¥ó¥Æ¥¯¥¹¥È ¤òÊÖ¤¹¡£ »ý¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢NULL ¤òÊÖ¤¹¡£ */ uiContext keyToContext(data1, data2) unsigned int data1, data2; { unsigned int key; struct bukRec *p; key = makeKey(data1, data2); for (p = conHash[key] ; p ; p = p->next) { if (p->data1 == data1 && p->data2 == data2) { /* ¤³¤ê¤ã¤¢¥³¥ó¥Æ¥¯¥¹¥È¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿¤Ê */ return p->context; } } return (uiContext)0; /* ¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£ */ } /* internContext -- ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë ¤³¤Î¤È¤­¡¢´û¤Ë¡¢display ¤È window ¤ÎÁȤ¬Â¸ºß¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¤½¤ÎÀè¤Ë¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¥³¥ó¥Æ¥¯¥¹¥È¤ò¥Õ¥ê¡¼¤¹¤ë¤Î¤ÇÃí°Õ¡ª¡ª */ struct bukRec * internContext(data1, data2, context) unsigned int data1, data2; uiContext context; { unsigned int key; struct bukRec *p, **pp; key = makeKey(data1, data2); for (pp = &conHash[key]; (p = *pp) != (struct bukRec *)0; pp = &(p->next)) { if (p->data1 == data1 && p->data2 == data2) { freeRomeStruct(p->context); p->context = context; return p; } } p = *pp = (struct bukRec *)malloc(sizeof(struct bukRec)); if (p) { p->data1 = data1; p->data2 = data2; p->context = context; p->next = (struct bukRec *)0; } return p; } /* rmContext -- ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤«¤éºï½ü¤¹¤ë */ void rmContext(data1, data2) unsigned int data1, data2; { unsigned int key; struct bukRec *p, *q, **pp; key = makeKey(data1, data2); pp = &conHash[key]; for (p = *pp ; p ; p = q) { q = p->next; if (p->data1 == data1 && p->data2 == data2) { *pp = q; free(p); } else { pp = &(p->next); } } } /* cfuncdef freeBukRecs() -- ¥Ý¥¤¥ó¥È¤µ¤ì¤Æ¤¤¤ëÀè¤Î¥Ð¥±¥Ã¥È¤Î¥Õ¥ê¡¼ ¥Ð¥±¥Ã¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò¤¹¤Ù¤Æ¥Õ¥ê¡¼¤¹¤ë¡£ ¥Õ¥ê¡¼¤ÎÂÐ¾Ý¤Ë¤Ï uiContext ¤â´Þ¤Þ¤ì¤ë¡£ */ static void freeBukRecs(p) struct bukRec *p; { struct bukRec *nextp; if (p) { /* reconfirm that p points some structure */ freeRomeStruct(p->context); nextp = p->next; if (nextp) { freeBukRecs(nextp); } free(p); } } /* cfuncdef clearHashTable() -- ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ÎÆâÍÆ¤ò¤¹¤Ù¤Æ¥Õ¥ê¡¼¤¹¤ë¡£ */ static void clearHashTable() { int i; struct bukRec *p; for (i = 0 ; i < HASHTABLESIZE ; i++) { p = conHash[i]; conHash[i] = 0; if (p) { freeBukRecs(p); } } } #define NWARNINGMESG 64 static char *WarningMesg[NWARNINGMESG + 1]; /* +1 ¤ÏºÇ¸å¤Î NULL ¥Ý¥¤¥ó¥¿¤Îʬ */ static int nWarningMesg = 0; static void initWarningMesg() { int i; for (i = 0 ; i < nWarningMesg ; i++) { free(WarningMesg[i]); WarningMesg[i] = (char *)0; } nWarningMesg = 0; } void addWarningMesg(s) char *s; { int n; char *work; if (nWarningMesg < NWARNINGMESG) { n = strlen(s); work = (char *)malloc(n + 1); if (work) { strcpy(work, s); WarningMesg[nWarningMesg++] = work; } } } static int KC_keyconvCallback(d, arg) uiContext d; char *arg; /* ARGSUSED */ { extern void (*keyconvCallback)(); if (arg) { keyconvCallback = (void (*)())arg; } else { keyconvCallback = (void (*)())0; } return 0; } extern void restoreBindings(); static KC_initialize(d, arg) uiContext d; char *arg; /* ARGSUSED */ { extern FirstTime; if (FirstTime) { #ifdef ENGINE_SWITCH extern char *RkGetServerEngine pro((void)); if (!RkGetServerEngine()) { RkSetServerName((char *)0); } #endif InitCannaConfig(&cannaconf); debug_message("KC_INITIALIZE \244\362\313\334\305\366\244\313\244\271\244\353\244\276\n",0,0,0); /* ¤òËÜÅö¤Ë¤¹¤ë¤¾ */ #ifndef NO_EXTEND_MENU if (initExtMenu() < 0) { jrKanjiError = "Insufficient memory."; if (arg) *(char ***)arg = (char **)0; return -1; } #endif /* ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿ÍÑ¥á¥â¥ê´ÉÍý¤Î½é´ü²½ */ WStringOpen(); #ifndef NO_EXTEND_MENU if (initBushuTable() != NG) { if (initGyouTable() != NG) { if (initHinshiTable() != NG) { if (initUlKigoTable() != NG) { if (initUlKeisenTable() != NG) { if (initOnoffTable() != NG) { initKigoTable(); /* ²¿¤â¤·¤Æ¤¤¤Ê¤¤ */ if (initHinshiMessage() != NG) { #endif /* ¥¦¥©¡¼¥Ë¥ó¥°¥á¥Ã¥»¡¼¥¸¤Î½é´ü²½ */ initWarningMesg(); /* ¥â¡¼¥É̾¤Î½é´ü²½ */ initModeNames(); /* ¥­¡¼¥Æ¡¼¥Ö¥ë¤Î½é´ü²½ */ if (initKeyTables() != NG) { /* ½é´ü²½¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß */ #ifdef BINARY_CUSTOM binparse(); #else parse(); #endif /* keyconvCallback ¤Ï parse ¸å¤ÏÉÔÍפʤΤǥ¯¥ê¥¢¤¹¤ë */ KC_keyconvCallback(d, (char *)0); /* °ìÍ÷´Ø·¸Ê¸»úÎó¤Î½é´ü²½ */ if (initIchiran() != NG) { /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î½é´ü²½ */ RomkanaInit(); /* ¥«¥Ê´Á»úÊÑ´¹¤Î½é´ü²½ */ if (ckverbose || !cannaconf.DelayConnect) KanjiInit(); /* ¤³¤³¤Ç¤â¥¨¥é¡¼¤Ï̵»ë¤·¤Þ¤¹¡£ ´Á»ú¤Ë¤Ê¤é¤Ê¤¯¤Æ¤â¤¤¤¤¤·¡£ */ if (arg) { *(char ***)arg = nWarningMesg ? WarningMesg : (char **)0; } FirstTime = 0; return 0; } /* uiContext ¤Î¸¡º÷¤Î¤¿¤á¤Î¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ò¥¯¥ê¥¢ uiContext ¤â°ì½ï¤Ë¥Õ¥ê¡¼¤¹¤ë */ clearHashTable(); /* µ­¹æÄêµÁ¤ò¾Ã¤¹ */ freeKeysup(); /* ¿§¡¹¤È¥«¥¹¥¿¥Þ¥¤¥º¤µ¤ì¤Æ¤¤¤ë½ê¤ò¤â¤È¤ËÌ᤹¡£ */ restoreBindings(); /* ³ÈÄ¥µ¡Ç½¤Îinitfileɽ¼¨ÍѤΥХåե¡¤ò²òÊü¤¹¤ë */ freeBuffer(); #ifndef NO_EXTEND_MENU /* ¥á¥Ë¥å¡¼´ØÏ¢¤Î¥á¥â¥ê¤Î³«Êü */ finExtMenu(); #endif /* ¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥â¡¼¥ÉÍÑ¥á¥â¥ê¤Î³«Êü */ freeExtra(); /* ¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë¤Î¥¯¥ê¥¢ */ restoreDefaultKeymaps(); } /* ¥â¡¼¥Éʸ»úÎó¤Î¥Õ¥ê¡¼ */ resetModeNames(); #ifndef NO_EXTEND_MENU } } } } } } } #endif /* ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿ÍѼ«Æ°¥á¥â¥ê´ÉÍý¤Î½ªÎ»½èÍý */ WStringClose(); /* ¥µ¡¼¥Ð̾ÊÝ»ýÍÑ¥á¥â¥ê¤Î³«Êü */ /* RkSetServerName((char *)0); ¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¤Î¤Ç¤Ï¡© */ /* ¥¨¥ó¥¸¥ó¤Î¥¯¥í¡¼¥º */ close_engine(); return -1; } else { /* Á°¤ËInitialize¤ò¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¤â¤¦¥á¥Ã¥»¡¼¥¸¤ò¤À¤µ¤Ê¤¤¤³¤È¤Ë¤¹¤ë */ if (arg) { *(char ***)arg = (char **)0; } return -1; } } static void freeKeysup() { int i; extern keySupplement keysup[]; extern int nkeysup; for (i = 0 ; i < nkeysup ; i++) { if (keysup[i].cand) { free((char *)keysup[i].cand); keysup[i].cand = (wchar_t **)0; } if (keysup[i].fullword) { free((char *)keysup[i].fullword); keysup[i].fullword = (wchar_t *)0; } } nkeysup = 0; } extern int nothermodes; static void freeBuffer() { if(CANNA_initfilename) { free(CANNA_initfilename); } CANNA_initfilename = (char *)NULL; } static void freeExtra() { extern extraFunc *extrafuncp; extraFunc *p, *q; for (p = extrafuncp ; p ; p = q) { q = p->next; switch (p->keyword) { case EXTRA_FUNC_DEFMODE: if (p->u.modeptr->romdic_owner && p->u.modeptr->romdic != (struct RkRxDic *)NULL) { RkwCloseRoma(p->u.modeptr->romdic); } free((char *)p->u.modeptr->emode); if (p->u.modeptr->romaji_table) { free((char *)p->u.modeptr->romaji_table); } free((char *)p->u.modeptr); break; case EXTRA_FUNC_DEFSELECTION: free((char *)p->u.kigoptr->kigo_str); free((char *)p->u.kigoptr->kigo_data); free((char *)p->u.kigoptr); break; #ifndef NO_EXTEND_MENU case EXTRA_FUNC_DEFMENU: freeMenu(p->u.menuptr); break; #endif } free((char *)p); } extrafuncp = (extraFunc *)0; } static KC_finalize(d, arg) uiContext d; char *arg; /* ARGSUSED */ { extern FirstTime; int res; /* ¥¦¥©¡¼¥Ë¥ó¥°¥á¥Ã¥»¡¼¥¸¤Î½é´ü²½ */ initWarningMesg(); if (arg) { *(char ***)arg = 0; } if (FirstTime) { jrKanjiError = "\275\351\264\374\262\275\244\342\244\265\244\354\244\306" "\244\244\244\312\244\244\244\316\244\313\241\330\275\252\244\357" "\244\354\241\331\244\310\270\300\244\357\244\354\244\336\244\267" "\244\277"; /* ½é´ü²½¤â¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ë¡Ø½ª¤ï¤ì¡Ù¤È¸À¤ï¤ì¤Þ¤·¤¿ */ return -1; } else { FirstTime = 1; /* ¥«¥Ê´Á»úÊÑ´¹¤Î½ªÎ» */ res = KanjiFin(); /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î½ªÎ» */ RomkanaFin(); /* free all uiContexts and hash tables here */ /* ¥­¡¼¥Þ¥Ã¥×¥Æ¡¼¥Ö¥ë¤Î¥¯¥ê¥¢ */ restoreDefaultKeymaps(); /* ¥â¡¼¥Éʸ»úÎó¤Î¥Õ¥ê¡¼ */ resetModeNames(); /* uiContext ¤Î¸¡º÷¤Î¤¿¤á¤Î¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ò¥¯¥ê¥¢ uiContext ¤â°ì½ï¤Ë¥Õ¥ê¡¼¤¹¤ë */ clearHashTable(); /* µ­¹æÄêµÁ¤ò¾Ã¤¹ */ freeKeysup(); /* ¿§¡¹¤È¥«¥¹¥¿¥Þ¥¤¥º¤µ¤ì¤Æ¤¤¤ë½ê¤ò¤â¤È¤ËÌ᤹¡£ */ restoreBindings(); /* ³ÈÄ¥µ¡Ç½¤Îinitfileɽ¼¨ÍѤΥХåե¡¤ò²òÊü¤¹¤ë */ freeBuffer(); /* ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿ÍѼ«Æ°¥á¥â¥ê´ÉÍý¤Î½ªÎ»½èÍý */ WStringClose(); /* ¥µ¡¼¥Ð̾ÊÝ»ýÍÑ¥á¥â¥ê¤Î³«Êü */ /* RkSetServerName((char *)0); ¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¤Î¤Ç¤Ï¡© */ #ifndef NO_EXTEND_MENU /* ¥á¥Ë¥å¡¼´ØÏ¢¤Î¥á¥â¥ê¤Î³«Êü */ finExtMenu(); #endif /* ¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥â¡¼¥ÉÍÑ¥á¥â¥ê¤Î³«Êü */ freeExtra(); /* ¥¨¥ó¥¸¥ó¤Î¥¯¥í¡¼¥º */ close_engine(); if (arg) { *(char ***)arg = nWarningMesg ? WarningMesg : (char **)0; } return res; } } static KC_setWidth(d, arg) uiContext d; caddr_t arg; { d->ncolumns = (int)(POINTERINT)arg; return 0; } static KC_setBunsetsuKugiri(d, arg) uiContext d; caddr_t arg; /* ARGSUSED */ { cannaconf.BunsetsuKugiri = (int)(POINTERINT)arg; return 0; } #define CHANGEBUFSIZE 1024 static long gflags[] = { 0L, CANNA_YOMI_BASE_HANKAKU, CANNA_YOMI_KATAKANA, CANNA_YOMI_KATAKANA | CANNA_YOMI_HANKAKU | CANNA_YOMI_BASE_HANKAKU, CANNA_YOMI_ROMAJI | CANNA_YOMI_ZENKAKU, CANNA_YOMI_ROMAJI | CANNA_YOMI_BASE_HANKAKU, CANNA_YOMI_KAKUTEI, CANNA_YOMI_BASE_HANKAKU | CANNA_YOMI_KAKUTEI, CANNA_YOMI_KATAKANA | CANNA_YOMI_KAKUTEI, CANNA_YOMI_KATAKANA | CANNA_YOMI_HANKAKU | CANNA_YOMI_BASE_HANKAKU | CANNA_YOMI_KAKUTEI, CANNA_YOMI_ROMAJI | CANNA_YOMI_ZENKAKU | CANNA_YOMI_KAKUTEI, CANNA_YOMI_ROMAJI | CANNA_YOMI_BASE_HANKAKU | CANNA_YOMI_KAKUTEI, }; static KC_changeMode(d, arg) uiContext d; wcKanjiStatusWithValue *arg; { coreContext cc; yomiContext yc; d->buffer_return = arg->buffer; d->n_buffer = arg->n_buffer; d->kanji_status_return = arg->ks; bzero(d->kanji_status_return, sizeof(wcKanjiStatus)); d->nbytes = escapeToBasicStat(d, CANNA_FN_Quit); cc = (coreContext)d->modec; d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); if (cc->majorMode == CANNA_MODE_AlphaMode) { /* ¦Á¥â¡¼¥É¤À¤Ã¤¿¤éÈ´¤±¤ë¡£ ¥Ù¡¼¥·¥Ã¥¯¥â¡¼¥É¤Ï¦Á¥â¡¼¥É¤«ÊÑ´¹¥â¡¼¥É¤°¤é¤¤¤·¤«¤Ê¤¤¤È»×¤¦¡£ */ if (arg->val == CANNA_MODE_AlphaMode) { return 0; } else { cc = (coreContext)cc->next; /* ¼¡¤Î¥³¥ó¥Æ¥¯¥¹¥È */ yc = (yomiContext)cc; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { CannaBeep(); arg->val = 0; return 0; } doFunc(d, CANNA_FN_JapaneseMode); } } else { yc = (yomiContext)cc; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { CannaBeep(); arg->val = 0; return 0; } } switch (arg->val) { case CANNA_MODE_AlphaMode: arg->val = doFunc(d, CANNA_FN_AlphaMode); return 0; case CANNA_MODE_HenkanMode: arg->val = doFunc(d, CANNA_FN_HenkanNyuryokuMode); return 0; #ifndef NO_EXTEND_MENU case CANNA_MODE_HexMode: arg->val = doFunc(d, CANNA_FN_HexMode); return 0; #endif /* not NO_EXTEND_MENU */ case CANNA_MODE_BushuMode: arg->val = doFunc(d, CANNA_FN_BushuMode); return 0; case CANNA_MODE_KigoMode: arg->val = doFunc(d, CANNA_FN_KigouMode); return 0; case CANNA_MODE_TourokuMode: arg->val = doFunc(d, CANNA_FN_ExtendMode); return 0; case CANNA_MODE_HanKataHenkanMode: case CANNA_MODE_HanKataKakuteiMode: if (cannaconf.InhibitHankakuKana) { CannaBeep(); arg->val = 0; return 0; } case CANNA_MODE_ZenHiraHenkanMode: case CANNA_MODE_HanHiraHenkanMode: case CANNA_MODE_ZenKataHenkanMode: case CANNA_MODE_ZenAlphaHenkanMode: case CANNA_MODE_HanAlphaHenkanMode: case CANNA_MODE_ZenHiraKakuteiMode: case CANNA_MODE_HanHiraKakuteiMode: case CANNA_MODE_ZenKataKakuteiMode: case CANNA_MODE_ZenAlphaKakuteiMode: case CANNA_MODE_HanAlphaKakuteiMode: yc->generalFlags &= ~(CANNA_YOMI_ATTRFUNCS | CANNA_YOMI_BASE_HANKAKU); yc->generalFlags |= gflags[arg->val - CANNA_MODE_ZenHiraHenkanMode]; EmptyBaseModeInfo(d, yc); arg->val = 0; return 0; default: return(-1); } /* NOTREACHED */ } static baseModeP(d) uiContext d; { extern KanjiModeRec alpha_mode, empty_mode; return (d->current_mode == &alpha_mode) || (d->current_mode == &empty_mode && ((yomiContext)(d->modec))->next == (mode_context)0); } /* ´ðËÜŪ¤Ê¾õÂ֤ˤâ¤É¤ë¡£¤¹¤Ê¤ï¤Á¡¢ÆÉ¤ß¤¬Æþ¤Ã¤Æ¤¤¤¿¤êÊÑ´¹Ãæ¤Î¾õÂÖ¤«¤éÈ´ ¤±¤ë¡£¤¤¤«¤ËÈ´¤±¤ë¤«¤ÏÂ裲°ú¿ô¤Ç»ØÄꤹ¤ë¡£È´¤±Êý¤È¤·¤Æ¤Ï ¡¦QUIT (C-g) ¤ÇÈ´¤±¤ë ¡¦³ÎÄê (Return) ¤ÇÈ´¤±¤ë ¤¬¤¢¤ë¡£ */ escapeToBasicStat(d, how) uiContext d; int how; { int len = 0, totallen = 0; wchar_t *p = d->buffer_return; int totalinfo = 0; int maxcount = 32; do { if(d->kanji_status_return) { d->kanji_status_return->length = 0; totalinfo |= (d->kanji_status_return->info & KanjiModeInfo); } else { return -1; } d->kanji_status_return->info = 0; d->nbytes = 0; /* ¤³¤ÎÃͤòÆþÎÏʸ»úĹ¤È¤·¤Æ»È¤¦¾ì¹ç¤¬¤¢¤ë¤Î¤Ç¥¯¥ê¥¢¤¹¤ë */ len = doFunc(d, how); d->buffer_return += len; d->n_buffer -= len; totallen += len; maxcount--; } while (maxcount > 0 && !baseModeP(d)); d->kanji_status_return->info |= KanjiGLineInfo | totalinfo; d->kanji_status_return->gline.length = 0; d->kanji_status_return->gline.revPos = 0; d->kanji_status_return->gline.revLen = 0; d->buffer_return = p; return totallen; } static KC_setUFunc(d, arg) uiContext d; caddr_t arg; /* ARGSUSED */ { extern howToBehaveInCaseOfUndefKey; howToBehaveInCaseOfUndefKey = (int)(POINTERINT)arg; return 0; } static KC_setModeInfoStyle(d, arg) uiContext d; caddr_t arg; /* ARGSUSED */ { int tmpval; extern howToReturnModeInfo; if ((tmpval = (int)(POINTERINT)arg) < 0 || tmpval > MaxModeInfoStyle) return(-1); howToReturnModeInfo = (int)(POINTERINT)arg; return 0; } static KC_setHexInputStyle(d, arg) uiContext d; caddr_t arg; /* ARGSUSED */ { cannaconf.hexCharacterDefiningStyle = (int)(POINTERINT)arg; return 0; } static KC_inhibitHankakuKana(d, arg) uiContext d; caddr_t arg; /* ARGSUSED */ { cannaconf.InhibitHankakuKana = (int)(POINTERINT)arg; return 0; } #ifndef NO_EXTEND_MENU extern void popTourokuMode pro((uiContext)); static popTourokuWithGLineClear(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; popCallback(d); /* ÆÉ¤ß¤ò pop */ tc = (tourokuContext)d->modec; if (tc->udic) { free(tc->udic); } popTourokuMode(d); popCallback(d); GlineClear(d); currentModeInfo(d); return 0; } #endif static KC_defineKanji(d, arg) uiContext d; wcKanjiStatusWithValue *arg; { #ifdef NO_EXTEND_MENU return 0; #else d->buffer_return = arg->buffer; d->n_buffer = arg->n_buffer; d->kanji_status_return = arg->ks; if(arg->ks->length > 0 && arg->ks->echoStr && arg->ks->echoStr[0]) { wchar_t xxxx[ROMEBUFSIZE]; /* BIGARRAY */ WStrncpy(xxxx, arg->ks->echoStr, arg->ks->length); xxxx[arg->ks->length] = (wchar_t)0; bzero(d->kanji_status_return, sizeof(wcKanjiStatus)); d->nbytes = escapeToBasicStat(d, CANNA_FN_Quit); d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); dicTourokuControl(d, xxxx, popTourokuWithGLineClear); arg->val = d->nbytes; } else { d->nbytes = escapeToBasicStat(d, CANNA_FN_Quit); d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); arg->val = dicTourokuControl(d, 0, popTourokuWithGLineClear); } arg->val = callCallback(d, arg->val); return 0; #endif /* NO_EXTEND_MENU */ } /* cfuncdef RK ¥³¥ó¥Æ¥¯¥¹¥È¤ò̵¸ú¤Ë¤¹¤ë¡£ flag ¤¬£°°Ê³°¤Ê¤é RkwClose() ¤â¹Ô¤¦¡£ */ static void closeRK(cxp, flag) int *cxp; int flag; { if (flag && *cxp >= 0) { RkwCloseContext(*cxp); } *cxp = -1; } /* cfuncdef closeRKContextInUIContext -- uiContext Ãæ¤Î RK ¥³¥ó¥Æ¥¯¥¹¥È¤ò close ¤¹¤ë¡£ */ static void closeRKContextInUIContext pro((uiContext, int)); static void closeRKContextInUIContext(d, flag) uiContext d; int flag; /* £°°Ê³°¤Ê¤é¥¯¥í¡¼¥º¤â¤¹¤ë¡£ */ { coreContext cc; closeRK(&(d->contextCache), flag); for (cc = (coreContext)d->modec ; cc ; cc = (coreContext)cc->next) { if (cc->id == YOMI_CONTEXT) { closeRK(&(((yomiContext)cc)->context), flag); } } } /* cfuncdef closeRKContextInMemory() -- ¤¹¤Ù¤Æ¤Î RK ¥³¥ó¥Æ¥¯¥¹¥È¤Î¥¯¥í¡¼¥º ¥Ð¥±¥Ã¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿Æâ¤ÎÁ´¤Æ¤Î RK ¥³¥ó¥Æ¥¯¥¹¥È¤ò ¥¯¥í¡¼¥º¤¹¤ë¡£ */ static void closeRKContextInMemory(p, flag) struct bukRec *p; int flag; { while (p) { /* reconfirm that p points some structure */ closeRKContextInUIContext(p->context, flag); p = p->next; } } /* cfuncdef makeContextToBeClosed() -- ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ëÆâ¤Î¥³¥ó¥Æ¥¯¥¹¥È¤ò̵¸ú¤Ë¤¹¤ë */ void makeAllContextToBeClosed(flag) int flag; { int i; struct bukRec *p; for (i = 0 ; i < HASHTABLESIZE ; i++) { p = conHash[i]; if (p) { closeRKContextInMemory(p, flag); } } } static KC_kakutei(d, arg) uiContext d; wcKanjiStatusWithValue *arg; { d->buffer_return = arg->buffer; d->n_buffer = arg->n_buffer; d->kanji_status_return = arg->ks; bzero(d->kanji_status_return, sizeof(wcKanjiStatus)); d->nbytes = escapeToBasicStat(d, CANNA_FN_Kakutei); if ( !baseModeP(d) ) { d->nbytes = escapeToBasicStat(d, CANNA_FN_Quit); } d->kanji_status_return->info &= ~KanjiThroughInfo; arg->val = d->nbytes; return d->nbytes; } static KC_kill(d, arg) uiContext d; wcKanjiStatusWithValue *arg; { d->buffer_return = arg->buffer; d->n_buffer = arg->n_buffer; d->kanji_status_return = arg->ks; bzero(d->kanji_status_return, sizeof(wcKanjiStatus)); d->nbytes = escapeToBasicStat(d, CANNA_FN_Quit); d->kanji_status_return->info &= ~KanjiThroughInfo; arg->val = d->nbytes; return d->nbytes; } static KC_modekeys(d, arg) uiContext d; unsigned char *arg; { int n = 0; int i; extern KanjiModeRec alpha_mode; int func; for (i = 0 ; i < 256 ; i++) { func = alpha_mode.keytbl[i]; if (func != CANNA_FN_SelfInsert && func != CANNA_FN_FunctionalInsert && func != CANNA_FN_Undefined && func != CANNA_FN_FuncSequence && func != CANNA_FN_UseOtherKeymap && alpha_mode.func(d, &alpha_mode, KEY_CHECK, 0/*dummy*/, func)) { arg[n++] = i; } } return n; } static KC_queryMode(d, arg) uiContext d; wchar_t *arg; { return queryMode(d, arg); } static KC_queryConnection(d, arg) uiContext d; unsigned char *arg; /* ARGSUSED */ { extern defaultContext; if (defaultContext != -1) { return 1; } else { return 0; } } static KC_setServerName(d, arg) uiContext d; unsigned char *arg; /* ARGSUSED */ { return RkSetServerName((char *)arg); } static KC_parse(d, arg) uiContext d; char **arg; /* ARGSUSED */ { initWarningMesg(); parse_string(*arg); *(char ***)arg = nWarningMesg ? WarningMesg : (char **)0; return nWarningMesg; } int yomiInfoLevel = 0; static KC_yomiInfo(d, arg) uiContext d; int arg; /* ARGSUSED */ { yomiInfoLevel = arg; return 0; } static KC_storeYomi(d, arg) uiContext d; wcKanjiStatusWithValue *arg; { extern KanjiModeRec yomi_mode, cy_mode; coreContext cc; wchar_t *p, *q; int len = 0; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t buf[2048]; #else wchar_t *buf = (wchar_t *)malloc(sizeof(wchar_t) * 2048); if (!buf) { /* This should the 'no more memory' message on the guide line... */ arg->val = 0; arg->ks->length = 0; arg->ks->info = 0; return len; } #endif p = arg->ks->echoStr; q = arg->ks->mode; if (p) { WStrcpy(buf, p); p = buf; len = WStrlen(buf); } if (q) { WStrcpy(buf + len + 1, q); q = buf + len + 1; } KC_kill(d, arg); cc = (coreContext)d->modec; if (cc->majorMode == CANNA_MODE_AlphaMode) { doFunc(d, CANNA_FN_JapaneseMode); } d->kanji_status_return = arg->ks; d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); RomajiStoreYomi(d, p, q); if (p && *p) { d->current_mode = (((yomiContext)d->modec)->generalFlags & CANNA_YOMI_CHIKUJI_MODE) ? &cy_mode : &yomi_mode; } makeYomiReturnStruct(d); arg->val = 0; #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)buf); #endif return 0; } char *initFileSpecified = (char *)NULL; static KC_setInitFileName(d, arg) uiContext d; char *arg; /* ARGSUSED */ { int len; if (initFileSpecified) { /* °ÊÁ°¤Î¤â¤Î¤ò¥Õ¥ê¡¼¤¹¤ë */ free(initFileSpecified); } if ( arg && *arg ) { len = strlen(arg); initFileSpecified = malloc(len + 1); if (initFileSpecified) { strcpy(initFileSpecified, arg); } else { return -1; } } else { initFileSpecified = (char *)NULL; } return 0; } static KC_do(d, arg) uiContext d; wcKanjiStatusWithValue *arg; { d->buffer_return = arg->buffer; d->n_buffer = arg->n_buffer; d->kanji_status_return = arg->ks; d->ch = (unsigned)*(d->buffer_return); d->nbytes = 1; bzero(d->kanji_status_return, sizeof(wcKanjiStatus)); arg->val = doFunc(d, arg->val); return arg->val; } #ifndef NO_EXTEND_MENU /* ¥È¥Ã¥×¥ì¥Ù¥ë¤Ë¤Ï¤Ê¤¤¥â¡¼¥É¤ËÂФ·¤Æ²¿¤é¤«¤Îºî¶È¤ò ¤µ¤»¤¿¤¤¤È¤­¤Ë¸Æ¤Ó½Ð¤¹´Ø¿ô¡£fnum == 0 ¤Ç d->ch ¤ò¸«¤ë¡£ '91.12.28 ¸½ºß¤Ç uldefine.c ¤«¤é¤·¤«¸Æ¤Ð¤ì¤Æ¤ª¤é¤º modec ¤ÎÃÍ¤Ï yomi_mode ¤·¤«Æþ¤Ã¤Æ¤¤¤Ê¤¤¡£ ¤³¤Î´Ø¿ô¤Ï¤½¤ÎÀè¤Ç¸Æ¤Ö´Ø¿ô¤Ë¤è¤Ã¤Æ¥â¡¼¥É¤¬¥×¥Ã¥·¥å¤µ¤ì¤¿»þ¤Ê¤ÉÉüµ¢¤µ ¤»¤ë¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¥â¡¼¥ÉÊѹ¹¤òȼ¤¦µ¡Ç½¤Î¸Æ½Ð¤·¤ò°ì»þ Ū¤Ë¶Ø»ß¤¹¤ë¤³¤È¤È¤¹¤ë¡£ */ _do_func_slightly(d, fnum, mode_c, c_mode) uiContext d; int fnum; mode_context mode_c; KanjiMode c_mode; { wcKanjiStatus ks; long gfback; BYTE inhback; int retval; yomiContext yc = (yomiContext)0; #ifndef USE_MALLOC_FOR_BIG_ARRAY uiContextRec f, *e = &f; #else uiContext e = (uiContext)malloc(sizeof(uiContextRec)); if (e) { #endif bzero(e, sizeof(uiContextRec)); e->buffer_return = e->genbuf; e->n_buffer = ROMEBUFSIZE; e->kanji_status_return = &ks; e->nbytes = d->nbytes; e->ch = d->ch; e->status = 0; /* ¥â¡¼¥É¤Ë¤Ä¤¤¤Æ"½èÍýÃæ"¤Î¥¹¥Æ¡¼¥¿¥¹¤ò´ûÄêÃͤȤ¹¤ë */ e->more.todo = 0; e->modec = mode_c; e->current_mode = c_mode; e->cb = (struct callback *)0; if (((coreContext)mode_c)->id == YOMI_CONTEXT) { yc = (yomiContext)mode_c; gfback = yc->generalFlags; inhback = yc->henkanInhibition; yc->generalFlags |= CANNA_YOMI_CHGMODE_INHIBITTED; yc->henkanInhibition |= CANNA_YOMI_INHIBIT_ALL; } retval = (*c_mode->func)(e, c_mode, KEY_CALL, e->ch, fnum); if (yc) { yc->generalFlags = gfback; yc->henkanInhibition = inhback; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)e); } #endif return retval; } #endif static callCallback(d, res) /* ¥³¡¼¥ë¥Ð¥Ã¥¯¤ò¸Æ¤Ö */ uiContext d; int res; { struct callback *cbp; for (cbp = d->cb; cbp ;) { int index; int (*callbackfunc) pro((uiContext, int, mode_context)); index = d->status; d->status = 0; /* Callback ¤¬¤Ê¤¯¤Æ¤â EXIT¡¢QUIT¡¢AUX ¤Ï¥¯¥ê¥¢¤¹¤ë */ callbackfunc = cbp->func[index]; if (callbackfunc) { d->kanji_status_return->info &= ~KanjiEmptyInfo; if (index) { /* everytime °Ê³° */ res = (*callbackfunc)(d, res, cbp->env); cbp = d->cb; /* ¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô¤Ë¤è¤ê¥³¡¼¥ë¥Ð¥Ã¥¯¤¬ ¸Æ¤Ó½Ð¤µ¤ì¤ë¤Î¤ò»Ù±ç¤¹¤ë¤¿¤áÆþ¤ìľ¤¹ */ /* ¤³¤³¤Ç¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô¤ò¥Ý¥Ã¥×¥¢¥Ã¥×¤·¤è¤¦¤«¤É¤¦¤«¹Í¤¨¤É¤³¤í */ continue; } else { res = (*callbackfunc)(d, res, cbp->env); } } cbp = cbp->next; } return res; } _doFunc(d, fnum) uiContext d; int fnum; { int res = 0, tmpres, ginfo = 0; int reallyThrough = 1; wchar_t *prevEcho, *prevGEcho; int prevEchoLen = -1, prevRevPos, prevRevLen; int prevGEchoLen, prevGRevPos, prevGRevLen; d->status = 0; /* ¥â¡¼¥É¤Ë¤Ä¤¤¤Æ"½èÍýÃæ"¤Î¥¹¥Æ¡¼¥¿¥¹¤ò´ûÄêÃͤȤ¹¤ë */ d->more.todo = 0; tmpres = d->current_mode->func(d, d->current_mode, KEY_CALL, d->ch, fnum); if (d->flags & MULTI_SEQUENCE_EXECUTED) { d->flags &= ~MULTI_SEQUENCE_EXECUTED; return tmpres; } /* ¥³¡¼¥ë¥Ð¥Ã¥¯¤ò¼Â¹Ô¤¹¤ë */ res = tmpres = callCallback(d, tmpres); if (d->kanji_status_return->length >= 0) { prevEcho = d->kanji_status_return->echoStr; prevEchoLen = d->kanji_status_return->length; prevRevPos = d->kanji_status_return->revPos; prevRevLen = d->kanji_status_return->revLen; } if (d->kanji_status_return->info & KanjiGLineInfo) { ginfo = 1; prevGEcho = d->kanji_status_return->gline.line; prevGEchoLen = d->kanji_status_return->gline.length; prevGRevPos = d->kanji_status_return->gline.revPos; prevGRevLen = d->kanji_status_return->gline.revLen; } /* moreToDo ¤â¼Â¹Ô¤·¤Ê¤¯¤Æ¤Ï */ while (d->more.todo) { if (!(d->kanji_status_return->info & KanjiThroughInfo)) { reallyThrough = 0; } d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); d->more.todo = 0; d->ch = d->more.ch; /* moreTodo ¤Ë more.ch ¤Ï¤¤¤é¤Ê¤¤¤Î¤Ç¤Ï¡© */ d->nbytes = 1; d->buffer_return += tmpres; d->n_buffer -= tmpres; { int check; /* £²²óÌܰʹߤ˰ʲ¼¤Î¥Ç¡¼¥¿¤¬¼º¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ë¤Î¤ÇÆþ¤ìľ¤¹¡£ */ d->buffer_return[0] = key2wchar(d->ch, &check); if (!check) { d->nbytes = 0; } } tmpres = _doFunc(d, d->more.fnum); if (tmpres >= 0) { res += tmpres; if (d->kanji_status_return->length >= 0) { prevEcho = d->kanji_status_return->echoStr; prevEchoLen = d->kanji_status_return->length; prevRevPos = d->kanji_status_return->revPos; prevRevLen = d->kanji_status_return->revLen; } if (d->kanji_status_return->info & KanjiGLineInfo) { ginfo = 1; prevGEcho = d->kanji_status_return->gline.line; prevGEchoLen = d->kanji_status_return->gline.length; prevGRevPos = d->kanji_status_return->gline.revPos; prevGRevLen = d->kanji_status_return->gline.revLen; } } } if (!reallyThrough) { d->kanji_status_return->info &= ~KanjiThroughInfo; } d->kanji_status_return->length = prevEchoLen; if (prevEchoLen >= 0) { d->kanji_status_return->echoStr = prevEcho; d->kanji_status_return->revPos = prevRevPos; d->kanji_status_return->revLen = prevRevLen; } if (ginfo) { d->kanji_status_return->gline.line = prevGEcho; d->kanji_status_return->gline.length = prevGEchoLen; d->kanji_status_return->gline.revPos = prevGRevPos; d->kanji_status_return->gline.revLen = prevGRevLen; d->kanji_status_return->info |= KanjiGLineInfo; } return res; } _afterDoFunc(d, retval) uiContext d; int retval; { int res = retval; wcKanjiStatus *kanji_status_return = d->kanji_status_return; /* GLine ¤ò¾Ã¤»¤È¸À¤¦¤Î¤Ê¤é¾Ã¤·¤Þ¤·¤ç¤¦ */ if (d->flags & PLEASE_CLEAR_GLINE) { if (d->flags & PCG_RECOGNIZED) { /* Á°¤ÎÁ°°ÊÁ°¤Ê¤é */ if (res >= 0 && kanji_status_return->length >= 0) { d->flags &= ~(PLEASE_CLEAR_GLINE | PCG_RECOGNIZED); /* ¤³¤ì¤ÇÌòÌܤò²Ì¤¿¤·¤Þ¤·¤¿ */ if (!(kanji_status_return->info & KanjiGLineInfo)) { GlineClear(d); } } } else { d->flags |= PCG_RECOGNIZED; } } return res; } /* cfuncdef doFunc -- _doFunc ¤òÆÉ¤ó¤Ç¡¢¤µ¤é¤Ë ClearGLine ½èÍý¤ä¡¢¥³¡¼¥ë¥Ð¥Ã¥¯¤Î ½èÍý¤ò¤¹¤ë¡£ */ doFunc(d, fnum) uiContext d; int fnum; { return _afterDoFunc(d, _doFunc(d, fnum)); } static KC_getContext(d, arg) uiContext d; int arg; /* ARGSUSED */ { extern defaultContext, defaultBushuContext; switch (arg) { case 0: return RkwDuplicateContext(defaultContext); case 1: return RkwDuplicateContext(defaultBushuContext); case 2: return defaultContext; default: return(-1); } /* NOTREACHED */ } static KC_closeUIContext(d, arg) uiContext d; wcKanjiStatusWithValue *arg; { extern struct ModeNameRecs ModeNames[]; int ret; d->buffer_return = arg->buffer; d->n_buffer = arg->n_buffer; d->kanji_status_return = arg->ks; bzero(d->kanji_status_return, sizeof(wcKanjiStatus)); if ((d->nbytes = escapeToBasicStat(d, CANNA_FN_Quit)) < 0) return -1; d->kanji_status_return->info &= ~KanjiThroughInfo; arg->val = d->nbytes; freeRomeStruct(d); ret = countContext(); #if defined(DEBUG) fprintf(stderr, "ret=%d\n", ret); #endif return ret; } static yomiContext getYomiContext(d) uiContext d; { coreContext cc = (coreContext)d->modec; yomiContext yc; switch (cc->id) { case YOMI_CONTEXT: yc = (yomiContext)cc; break; default: if (cc->minorMode == CANNA_MODE_AlphaMode) { yc = (yomiContext)(cc->next); } else { yc = (yomiContext)0; } break; } return yc; } static KC_inhibitChangeMode(d, arg) uiContext d; int arg; { yomiContext yc; yc = getYomiContext(d); if (yc) { if (arg) { yc->generalFlags |= CANNA_YOMI_CHGMODE_INHIBITTED; } else { yc->generalFlags &= ~CANNA_YOMI_CHGMODE_INHIBITTED; } return 0; } else { return -1; } } static KC_letterRestriction(d, arg) uiContext d; int arg; { yomiContext yc; yc = getYomiContext(d); if (yc) { yc->allowedChars = arg; return 0; } else { return -1; } } static countColumns(str) wchar_t *str; { int len = 0; wchar_t *p; if (str) { for (p = str ; *p ; p++) { switch (WWhatGPlain(*p)) { case 0: case 2: len += 1; break; case 1: case 3: len += 2; break; } } } return len; } static KC_queryMaxModeStr(d, arg) uiContext d; int arg; /* ARGSUSED */ { int i, maxcolumns = 0, ncols; extern struct ModeNameRecs ModeNames[]; extern extraFunc *extrafuncp; extraFunc *ep; for (i = 0 ; i < CANNA_MODE_MAX_IMAGINARY_MODE ; i++) { ncols = countColumns(ModeNames[i].name); if (ncols > maxcolumns) { maxcolumns = ncols; } } for (ep = extrafuncp ; ep ; ep = ep->next) { ncols = countColumns(ep->display_name); if (ncols > maxcolumns) { maxcolumns = ncols; } } return maxcolumns; } static int KC_setListCallback(d, arg) uiContext d; jrListCallbackStruct *arg; { if (cannaconf.iListCB) { d->client_data = (char *)0; d->list_func = (int (*) pro((char *, int, wchar_t **, int, int *)))0; return -1; } if (arg->callback_func) { d->list_func = arg->callback_func; if (arg->callback_func == &EUCListCallback #if SUPPORT_OLD_WCHAR || arg->callback_func == &owcListCallback #endif ) { /* arg->client_data¤Ï¥¹¥¿¥Ã¥¯¾å¤Ë¤¢¤ë¤Î¤ÇuiContext¤Ë°ú¤Ã±Û¤· */ d->elistcb = *((const jrEUCListCallbackStruct *)arg->client_data); d->client_data = (char *)&d->elistcb; } else { d->client_data = arg->client_data; } } else { d->client_data = (char *)0; d->list_func = (int (*) pro((char *, int, wchar_t **, int, int *)))0; } return 0; } static int KC_setVerbose(d, arg) uiContext d; int arg; /* ARGSUSED */ { extern int ckverbose; ckverbose = arg; return 0; } /* kanjiInitialize ¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü²½ KC_INITIALIZE¤ÈÅù²Á¤Ç¤¢¤ë¡£ */ exp(int) kanjiInitialize(mes) char ***mes; { return KC_initialize((uiContext)0, (char *)mes); } /* kanjiFinalize KC_FINALIZE¤ÈÅù²Á¤Ç¤¢¤ë¡£ */ exp(int) kanjiFinalize(mes) char ***mes; { return KC_finalize((uiContext)0, (char *)mes); } /* createKanjiContext ¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£ */ unsigned char context_table[100] = ""; exp(int) createKanjiContext() { int i; for (i = 0; i < 100; i++) { if (!context_table[i]) { context_table[i] = 1; return i; } } return -1; /* ¥³¥ó¥Æ¥¯¥¹¥È¤ò¼èÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¡£ */ } /* wcCloseKanjiContext ¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤¹¤ë¤â¤Î¡£ */ exp(int) wcCloseKanjiContext(context,ksva) const int context; wcKanjiStatusWithValue *ksva; { context_table[context] = 0; return XwcKanjiControl2(0, context, KC_CLOSEUICONTEXT, (BYTE *)ksva); } /* jrCloseKanjiContext ¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤¹¤ë¤â¤Î¡£ */ exp(int) jrCloseKanjiContext(context,ksva) const int context; jrKanjiStatusWithValue *ksva; { context_table[context] = 0; return XKanjiControl2(0, context, KC_CLOSEUICONTEXT, (BYTE *)ksva); } int ToggleChikuji(d, flg) uiContext d; int flg; { yomiContext yc = (yomiContext)d->modec; extern KanjiModeRec empty_mode; extern struct CannaConfig cannaconf; if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && yc->context != -1) { RkwEndBun(yc->context, 0); abandonContext(d, yc); } (void)escapeToBasicStat(d, CANNA_FN_Kakutei); d->kanji_status_return->info &= ~KanjiThroughInfo; if (flg) { /* Ã༡¼«Æ°¤ËÊѤ¨¤ë */ yc->generalFlags |= CANNA_YOMI_CHIKUJI_MODE; yc->majorMode = CANNA_MODE_HenkanMode; cannaconf.chikuji = 1; } else { /* ϢʸÀá¤ËÊѤ¨¤ë */ yc->generalFlags &= ~CANNA_YOMI_CHIKUJI_MODE; yc->majorMode = CANNA_MODE_HenkanMode; cannaconf.chikuji = 0; } yc->minorMode = getBaseMode(yc); d->majorMode = d->minorMode = CANNA_MODE_AlphaMode; /* ¥À¥ß¡¼ */ currentModeInfo(d); return 0; } static int KC_lispInteraction(d, arg) uiContext d; int arg; /* ARGSUSED */ { clisp_main(); return 0; } /* * ¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ë */ static int KC_disconnectServer(d, arg) uiContext d; int arg; /* ARGSUSED */ { #if defined(DEBUG) fprintf(stderr,"¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ë\n"); #endif jrKanjiPipeError(); return 0; } static int KC_setAppName(d, arg) uiContext d; unsigned char *arg; /* ARGSUSED */ { extern int defaultContext; if (strlen((char *)arg) > CANNA_MAXAPPNAME) { strncpy(saveapname, (char *)arg, CANNA_MAXAPPNAME); saveapname[CANNA_MAXAPPNAME - 1] = '\0'; } else { strcpy(saveapname, (char *)arg); } RkwSetAppName(defaultContext, saveapname); return(0); } static int KC_debugmode(d, arg) uiContext d; int arg; /* ARGSUSED */ { extern int iroha_debug; iroha_debug = arg; return 0; } static void debug_yomibuf(yc) yomiContext yc; /* ARGSUSED */ { #if defined(DEBUG) char kana[1024], roma[1024], ka[1024], ya[1024], *kanap, *romap, *kap, *yap; int len, i, j, k, maxcol, columns, tmp; wchar_t xxx[1024]; #define MANYSPACES " " kanap = kana; romap = roma; kap = ka; yap = ya; for (i = 0, j = 0 ; i < yc->kEndp || j < yc->rEndp ;) { maxcol = 0; if (i < yc->kEndp) { k = i + 1; columns = 0; tmp = (WIsG0(yc->kana_buffer[i]) || WIsG2(yc->kana_buffer[i])) ? 1 : 2; if (i == yc->kRStartp && i != yc->kCurs) { *kanap++ = '\''; *kap++ = '\''; columns++; } if (yc->kAttr[i] & HENKANSUMI) { *kap++ = ' '; } else { *kap++ = 'x'; } if (tmp > 1) { *kap++ = ' '; } columns += tmp; while (!(yc->kAttr[k] & SENTOU)) { tmp = (WIsG0(yc->kana_buffer[k]) || WIsG2(yc->kana_buffer[k])) ? 1 : 2; columns += tmp; if (yc->kAttr[k] & HENKANSUMI) { *kap++ = ' '; } else { *kap++ = 'x'; } if (tmp > 1) { *kap++ = ' '; } k++; } WStrncpy(xxx, yc->kana_buffer + i, k - i); xxx[k - i] = (wchar_t)0; sprintf(kanap, "%ws ", xxx); *kap++ = ' '; len = strlen(kanap); if (columns > maxcol) { maxcol = columns; } else { strncpy(kanap + len, MANYSPACES, maxcol - columns); strncpy(kap, MANYSPACES, maxcol - columns); kap += maxcol - columns; len += maxcol - columns; } kanap += len; i = k; } if (j < yc->rEndp) { k = j + 1; columns = (WIsG0(yc->romaji_buffer[j]) || WIsG2(yc->romaji_buffer[j])) ? 1 : 2; if (j == yc->rStartp && j != yc->rCurs) { *romap++ = '\''; columns++; } while (!(yc->rAttr[k] & SENTOU)) { columns += (WIsG0(yc->romaji_buffer[k]) || WIsG2(yc->romaji_buffer[k])) ? 1 : 2; k++; } WStrncpy(xxx, yc->romaji_buffer + j, k - j); xxx[k - j] = (wchar_t)0; sprintf(romap, "%ws ", xxx); len = strlen(romap); if (columns > maxcol) { strncpy(kanap, MANYSPACES, columns - maxcol); kanap += columns - maxcol; strncpy(kap, MANYSPACES, columns - maxcol); kap += columns - maxcol; maxcol = columns; } else { strncpy(romap + len, MANYSPACES, maxcol - columns); len += maxcol - columns; } romap += len; j = k; } } *kap = *kanap = *romap = '\0'; printf("%s\n", roma); printf("%s\n", kana); printf("%s\n", ka); #endif /* DEBUG */ } static int KC_debugyomi(d, arg) uiContext d; int arg; /* ARGSUSED */ { if (((coreContext)(d)->modec)->id == YOMI_CONTEXT) { debug_yomibuf((yomiContext)d->modec); } return 0; } static int KC_queryPhono(d, arg) uiContext d; char *arg; /* ARGSUSED */ { extern struct RkRxDic *romajidic; struct RkRxDic **foo = (struct RkRxDic **)arg; *foo = romajidic; return 0; } static int KC_changeServer(d, arg) uiContext d; char *arg; /* ARGSUSED */ { extern defaultContext; char *p; if (!arg) { RkSetServerName((char *)0); return 0; } jrKanjiPipeError(); if (RkSetServerName((char *)arg) && (p = index((char *)arg, '@'))) { #ifndef USE_MALLOC_FOR_BIG_ARRAY char xxxx[512]; #else char *xxxx = malloc(512); if (!xxxx) { return 0; } #endif *p = '\0'; #ifndef CODED_MESSAGE sprintf(xxxx, "¤«¤Ê´Á»úÊÑ´¹¥¨¥ó¥¸¥ó %s ¤ÏÍøÍѤǤ­¤Þ¤»¤ó", (char *)arg); #else sprintf(xxxx, "\244\253\244\312\264\301\273\372\312\321\264\271\245\250\245\363\245\270\245\363 %s \244\317\315\370\315\321\244\307\244\255\244\336\244\273\244\363\n", (char *)arg); #endif makeGLineMessageFromString(d, xxxx); RkSetServerName((char *)0); #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(xxxx); #endif return 0; } if (defaultContext == -1) { if ((KanjiInit() != 0) || (defaultContext == -1)) { #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271" "\245\265\241\274\245\320\244\310\304\314\277\256" "\244\307\244\255\244\336\244\273\244\363"; #endif return 0; } } return (int)RkwGetServerName(); } static int KC_setUserInfo(d, arg) uiContext d; jrUserInfoStruct *arg; /* ARGSUSED */ { extern jrUserInfoStruct *uinfo; int ret = -1; char *uname, *gname, *srvname, *topdir, *cannafile, *romkanatable; #ifndef USE_MALLOC_FOR_BIG_ARRAY char buf[256]; #else char *buf = malloc(256); if (!buf) { return -1; } #endif if (arg) { uname = arg->uname ? strdup(arg->uname) : (char *)0; if (uname || !arg->uname) { gname = arg->gname ? strdup(arg->gname) : (char *)0; if (gname || !arg->gname) { srvname = arg->srvname ? strdup(arg->srvname) : (char *)0; if (srvname || !arg->srvname) { topdir = arg->topdir ? strdup(arg->topdir) : (char *)0; if (topdir || !arg->topdir) { cannafile = arg->cannafile ? strdup(arg->cannafile) : (char *)0; if (cannafile || !arg->cannafile) { romkanatable = arg->romkanatable ? strdup(arg->romkanatable) : (char *)0; if (romkanatable || !arg->romkanatable) { uinfo = (jrUserInfoStruct *)malloc(sizeof(jrUserInfoStruct)); if (uinfo) { uinfo->uname = uname; uinfo->gname = gname; uinfo->srvname = srvname; uinfo->topdir = topdir; uinfo->cannafile = cannafile; uinfo->romkanatable = romkanatable; if (uinfo->srvname) { KC_setServerName(d, (unsigned char *)uinfo->srvname); } if (uinfo->cannafile) { char *p = uinfo->cannafile; if (strlen(p) >= 3 && (p[0] == '\\' || p[0] == '/' || p[1] == ':' && p[2] == '\\' || p[1] == ':' && p[2] == '/')) strcpy(buf, p); else if (uinfo->uname) sprintf(buf, "%s/%s/%s/%s/%s", uinfo->topdir ? uinfo->topdir : "", "dic", "user", uinfo->uname, uinfo->cannafile); else buf[0] = '\0'; } else { sprintf(buf, "%s/%s", uinfo->topdir ? uinfo->topdir : "", "default.can"); } wcKanjiControl((int)d, KC_SETINITFILENAME, buf); RkwSetUserInfo(uinfo->uname, uinfo->gname, uinfo->topdir); ret = 1; goto return_ret; } if (romkanatable) (void)free(romkanatable); } if (cannafile) (void)free(cannafile); } if (topdir) (void)free(topdir); } if (srvname) (void)free(srvname); } if (gname) (void)free(gname); } if (uname) (void)free(uname); } #ifndef CODED_MESSAGE jrKanjiError = "malloc (SetUserinfo) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (SetUserinfo) \244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; #endif } ret = -1; return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(buf); #endif return ret; } static int KC_queryCustom(d, arg) uiContext d; jrCInfoStruct *arg; /* ARGSUSED */ { extern struct CannaConfig cannaconf; static char *input_code[CANNA_MAX_CODE] = {"jis", "sjis", "kuten"}; if (/* 0 <= cannaconf.code_input && // unsigned ¤Ê¤Î¤Çɬ¤º¿¿ */ cannaconf.code_input <= CANNA_MAX_CODE) { strcpy(arg->codeinput, input_code[cannaconf.code_input]); } arg->quicklyescape = cannaconf.quickly_escape; arg->indexhankaku = cannaconf.indexHankaku; arg->indexseparator = cannaconf.indexSeparator; arg->selectdirect = cannaconf.SelectDirect; arg->numericalkeysel = cannaconf.HexkeySelect; arg->kouhocount = cannaconf.kCount; return 0; } static int KC_closeAllContext(d, arg) uiContext d; char *arg; /* ARGSUSED */ { makeAllContextToBeClosed(1); return 0; } static int KC_attributeInfo(d, arg) uiContext d; char *arg; { wcKanjiAttributeInternal **p = (wcKanjiAttributeInternal **)arg; if (p) { if (!d->attr) { d->attr = (wcKanjiAttributeInternal *) malloc(sizeof(wcKanjiAttributeInternal)); if (d->attr) { d->attr->u.attr = malloc(ROMEBUFSIZE); if (d->attr->u.attr) { d->attr->len = ROMEBUFSIZE; *p = d->attr; return 0; } (void)free((char *)d->attr); d->attr = (wcKanjiAttributeInternal *)0; } } else { /* called twice */ *p = d->attr; return 0; } } else if (d->attr) { /* && !p */ (void)free(d->attr->u.attr); (void)free((char *)d->attr); d->attr = (wcKanjiAttributeInternal *)0; return 0; } return -1; } /* KanjiControl¤Î¸Ä¡¹¤ÎÀ©¸æ´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿ */ static int (*kctlfunc[MAX_KC_REQUEST])() = { KC_initialize, KC_finalize, KC_changeMode, KC_setWidth, KC_setUFunc, KC_setBunsetsuKugiri, KC_setModeInfoStyle, KC_setHexInputStyle, KC_inhibitHankakuKana, KC_defineKanji, KC_kakutei, KC_kill, KC_modekeys, KC_queryMode, KC_queryConnection, KC_setServerName, KC_parse, KC_yomiInfo, KC_storeYomi, KC_setInitFileName, KC_do, KC_getContext, KC_closeUIContext, KC_inhibitChangeMode, KC_letterRestriction, KC_queryMaxModeStr, KC_setListCallback, KC_setVerbose, KC_lispInteraction, KC_disconnectServer, KC_setAppName, KC_debugmode, KC_debugyomi, KC_keyconvCallback, KC_queryPhono, KC_changeServer, KC_setUserInfo, KC_queryCustom, KC_closeAllContext, KC_attributeInfo, }; kanjiControl(request, d, arg) int request; uiContext d; caddr_t arg; { return kctlfunc[request](d, arg); } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/keydef.c0100644000076500001200000006171207732020155015116 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: keydef.c,v 1.2 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include #include extern KanjiModeRec alpha_mode, empty_mode, yomi_mode; extern KanjiModeRec jishu_mode, ce_mode, cy_mode, cb_mode; extern KanjiModeRec tankouho_mode, ichiran_mode, onoff_mode; extern KanjiModeRec khal_mode, khkt_mode, kzal_mode, kzhr_mode, kzkt_mode; extern KanjiModeRec kigo_mode; extern KanjiModeRec tourokureibun_mode; extern KanjiModeRec bunsetsu_mode; extern KanjiModeRec cy_mode, cb_mode; extern multiSequenceFunc pro((struct _uiContext *, struct _kanjiMode *, int, int, int)); static void undefineKeyfunc pro((unsigned char *, unsigned)); static regist_key_hash(), copyMultiSequence(); static void freeMultiSequence(); static void clearAllFuncSequence(), clearAllKeySequence(); #define NONE 0 #define ACTHASHTABLESIZE 64 #define KEYHASHTABLESIZE 16 #define SINGLE 0 #define MULTI 1 #define OTHER 2 struct seq_struct{ unsigned char *to_tbl; unsigned char as_key; unsigned char *kinou_seq; struct seq_struct *next; }; static struct seq_struct *seq_hash[ACTHASHTABLESIZE]; struct map{ KanjiMode tbl; unsigned char key; KanjiMode mode; struct map *next; }; static struct map *otherMap[KEYHASHTABLESIZE]; static KanjiMode ModeTbl[CANNA_MODE_MAX_REAL_MODE] = { &alpha_mode, /* AlphaMode ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É */ &empty_mode, /* EmptyMode ÆÉ¤ßÆþÎϤ¬¤Ê¤¤¾õÂÖ */ &kigo_mode, /* KigoMode ¸õÊä°ìÍ÷¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂÖ */ &yomi_mode, /* YomiMode ÆÉ¤ßÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ */ &jishu_mode, /* JishuMode ʸ»ú¼ïÊÑ´¹¤·¤Æ¤¤¤ë¾õÂÖ */ &tankouho_mode, /* TankouhoMode ñ°ì¤Î¸õÊä¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂÖ */ &ichiran_mode, /* IchiranMode ¸õÊä°ìÍ÷¤òɽ¼¨¤·¤Æ¤¤¤ë¾õÂÖ */ &tourokureibun_mode, /* TourokuReibunMode ñ¸ìÅÐÏ¿¤ÎÎãʸɽ¼¨¾õÂÖ */ &onoff_mode, /* OnOffMode On/Off¤Î°ìÍ÷¤Îɽ¼¨¾õÂÖ */ &bunsetsu_mode, /* AdjustBunsetsuMode ʸÀá¿­½Ì¥â¡¼¥É */ &cy_mode, /* ChikujiYomiMode Ã༡¤Î»þ¤ÎÆÉ¤ßÉôʬ */ &cb_mode, /* ChikujiHenkanMode Ã༡¤Î»þ¤ÎÊÑ´¹¤ÎÉôʬ */ }; unsigned char *actFromHash(); static void regist_act_hash(); static unsigned char * duplicatekmap(kmap) unsigned char *kmap; { unsigned char *res; int i; res = (unsigned char *)calloc(256, sizeof(unsigned char)); if (res) { for (i = 0 ; i < 256 ; i++) { res[i] = kmap[i]; } } return res; } static unsigned char *defaultkeytables[CANNA_MODE_MAX_REAL_MODE]; static unsigned char defaultsharing[CANNA_MODE_MAX_REAL_MODE]; static unsigned char *defaultmap; unsigned char *alphamap, *emptymap; /* cfuncdef initKeyTables() -- ¥­¡¼¥Æ¡¼¥Ö¥ë¤ò½é´ü²½¤¹¤ë´Ø¿ô¡£ ¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥Æ¡¼¥Ö¥ë¤òµ­Ï¿¤·¤Æ¤ª¤­¡¢¼Â»ÈÍѤΥơ¼¥Ö¥ë¤ò ¥Ç¥Õ¥©¥ë ¥È¥Æ¡¼¥Ö¥ë¤«¤é¥³¥Ô¡¼¤¹¤ë½èÍý¤ò¹Ô¤¦¡£ */ initKeyTables() { int i; unsigned char *tbl; extern unsigned char default_kmap[], alpha_kmap[], empty_kmap[]; defaultmap = duplicatekmap(default_kmap); if (defaultmap) { alphamap = duplicatekmap(alpha_kmap); if (alphamap) { emptymap = duplicatekmap(empty_kmap); if (emptymap) { for (i = 0 ; i < CANNA_MODE_MAX_REAL_MODE ; i++) { if (ModeTbl[i]) { defaultsharing[i] = ModeTbl[i]->flags; tbl = defaultkeytables[i] = ModeTbl[i]->keytbl; if (tbl == default_kmap) { ModeTbl[i]->keytbl = defaultmap; } else if (tbl == alpha_kmap) { ModeTbl[i]->keytbl = alphamap; } else if (tbl == empty_kmap) { ModeTbl[i]->keytbl = emptymap; } } } return 0; } free((char *)alphamap); } free((char *)defaultmap); } return NG; } void restoreDefaultKeymaps() { int i; for (i = 0 ; i < CANNA_MODE_MAX_REAL_MODE ; i++) { if (ModeTbl[i]) { if ( !(ModeTbl[i]->flags & CANNA_KANJIMODE_TABLE_SHARED) ) { free(ModeTbl[i]->keytbl); } ModeTbl[i]->keytbl = defaultkeytables[i]; ModeTbl[i]->flags = defaultsharing[i]; } } free(defaultmap); free(alphamap); free(emptymap); clearAllFuncSequence(); clearAllKeySequence(); } /* * ¤¢¤ë¥â¡¼¥É¤Î¥­¡¼¤ËÂФ·¤Æ´Ø¿ô¤ò³ä¤êÅö¤Æ¤ë½èÍý * */ /* £±£¶¿Ê¤Î»þ¤Ï£´Ê¸»úÌܤòÆþ¤ì¤¿»þ¤Î¥â¡¼¥É¤Ë¤âÀßÄꤹ¤ë¡£ */ extern nothermodes; changeKeyfunc(modenum, key, fnum, actbuff, keybuff) int modenum; int key; int fnum; unsigned char *actbuff, *keybuff; { int i, retval = 0; unsigned char *p, *q; KanjiMode mode; newmode *nmode; /* ¤Á¤ç¤Ã¤È¾®ºÙ¹© */ if (modenum == CANNA_MODE_HenkanNyuryokuMode) { retval = changeKeyfunc(CANNA_MODE_EmptyMode, key, fnum, actbuff, keybuff); if (retval < 0) { return retval; } modenum = CANNA_MODE_YomiMode; } if (modenum < 0) { return 0; } else if (modenum < CANNA_MODE_MAX_REAL_MODE) { mode = ModeTbl[modenum]; } else if (modenum < CANNA_MODE_MAX_IMAGINARY_MODE) { return 0; } else if (modenum < CANNA_MODE_MAX_IMAGINARY_MODE + nothermodes) { nmode = findExtraKanjiMode(modenum); if (!nmode) { return 0; } else { mode = nmode->emode; } } else { return 0; } if (mode && mode->func((uiContext)0/*dummy*/, mode, KEY_CHECK, 0/*dummy*/, fnum)) { /* ¤½¤Îµ¡Ç½¤¬¤½¤Î¥â¡¼¥É¤Ë¤ª¤¤¤ÆÍ­¸ú¤Êµ¡Ç½¤Ç¤¢¤ì¤Ð */ if (mode->keytbl) { /* ¥­¡¼¥Æ¡¼¥Ö¥ë¤¬Â¸ºß¤¹¤ì¤Ð */ /* ¤³¤ì¤ÏÀäÂФ˸ºß¤¹¤ë¤Î¤Ç¤Ï¡© */ if (mode->flags & CANNA_KANJIMODE_TABLE_SHARED) { /* ¥­¡¼¥Þ¥Ã¥×¤¬Â¾¤Î¥â¡¼¥É¤È¶¦Í­¤µ¤ì¤Æ¤¤¤ë¤Ê¤é */ p = (unsigned char *)calloc(256, sizeof(unsigned char)); if (!p) { return -1; } bcopy(mode->keytbl, p, 256 * sizeof(unsigned char)); for (i = 0; i < 256; i++) { if (mode->keytbl[i] == CANNA_FN_FuncSequence) { q = actFromHash(mode->keytbl,i); if (q) { /* ³ºÅö¤¹¤ë¥­¡¼¥·¡¼¥±¥ó¥¹¤¬¤¢¤Ã¤¿¤é */ regist_act_hash(p, i, q); } } if (mode->keytbl[i] == CANNA_FN_UseOtherKeymap) { debug_message("changeKeyfunc:\245\306\241\274\245\326\245\353" "\260\334\306\260\72\244\263\244\316\244\310\244\255\244\316" "\245\255\241\274\244\317%d\n",i,0,0); /* ¥Æ¡¼¥Ö¥ë°Üư:¤³¤Î¤È¤­¤Î¥­¡¼¤Ï */ (void)copyMultiSequence(i, (KanjiMode)mode->keytbl, (KanjiMode)p); } } mode->keytbl = p; mode->flags &= ~CANNA_KANJIMODE_TABLE_SHARED; if (modenum == CANNA_MODE_YomiMode && (ModeTbl[CANNA_MODE_ChikujiYomiMode]->flags & CANNA_KANJIMODE_TABLE_SHARED)) { ModeTbl[CANNA_MODE_ChikujiYomiMode]->keytbl = p; } else if (modenum == CANNA_MODE_TankouhoMode && (ModeTbl[CANNA_MODE_ChikujiTanMode]->flags & CANNA_KANJIMODE_TABLE_SHARED)) { ModeTbl[CANNA_MODE_ChikujiTanMode]->keytbl = p; } } if (key >= 0 && key < 255) { if (mode->keytbl[key] == CANNA_FN_UseOtherKeymap && fnum != CANNA_FN_UseOtherKeymap) freeMultiSequence(key,(KanjiMode)mode->keytbl); mode->keytbl[key] = fnum; if (fnum == CANNA_FN_FuncSequence) { regist_act_hash(mode->keytbl,key,actbuff); } if (fnum == CANNA_FN_UseOtherKeymap) { retval = regist_key_hash(mode->keytbl,keybuff,actbuff); if (retval) { return retval; } } } else if (key == CANNA_KEY_Undefine) { undefineKeyfunc(mode->keytbl, fnum); } } } return 0; } static int changeKeyOnSomeCondition(mode, key, fnum, actbuff, keybuff) KanjiMode mode; int key, fnum; unsigned char *actbuff, *keybuff; { int retval = 0; if (mode && /* ¤½¤Î¥â¡¼¥É¤¬Â¸ºß¤¹¤ë¤Ê¤é */ mode->func((uiContext)0/*dummy*/, mode, KEY_CHECK, 0/*dummy*/, fnum)) { /* ´Ø¿ô¤¬¤½¤Î¥â¡¼¥É¤ÇÍ­¸ú¤Ê¤é */ if ( !(mode->flags & CANNA_KANJIMODE_TABLE_SHARED) ) { /* ¥Æ¡¼¥Ö¥ë¤¬¶¦Í­¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é */ if (mode->keytbl) { /* ¥­¡¼¥Æ¡¼¥Ö¥ë¤¬Â¸ºß¤¹¤ì¤Ð */ if (mode->keytbl[key] == CANNA_FN_UseOtherKeymap && fnum != CANNA_FN_UseOtherKeymap) freeMultiSequence(key,(KanjiMode)mode->keytbl); mode->keytbl[key] = fnum; if (fnum == CANNA_FN_FuncSequence) { regist_act_hash(mode->keytbl,key,actbuff); } if (fnum == CANNA_FN_UseOtherKeymap) { retval = regist_key_hash(mode->keytbl,keybuff,actbuff); } } } } return retval; } /* * Á´¤Æ¤Î¥â¡¼¥É¤Î¡¢¤¢¤ë¥­¡¼¤ËÂФ·¤Æ´Ø¿ô¤ò³ä¤êÅö¤Æ¤ë½èÍý * */ changeKeyfuncOfAll(key, fnum, actbuff, keybuff) int key, fnum; unsigned char *actbuff, *keybuff; { extern extraFunc *extrafuncp; extraFunc *ep; KanjiMode mode; int i, retval = 0; if (key >= 0 && key < 255) { if (defaultmap[key] == CANNA_FN_UseOtherKeymap && fnum != CANNA_FN_UseOtherKeymap) freeMultiSequence(key,(KanjiMode)defaultmap); if (alphamap[key] == CANNA_FN_UseOtherKeymap && fnum != CANNA_FN_UseOtherKeymap) freeMultiSequence(key,(KanjiMode)alphamap); if (emptymap[key] == CANNA_FN_UseOtherKeymap && fnum != CANNA_FN_UseOtherKeymap) freeMultiSequence(key,(KanjiMode)emptymap); defaultmap[key] = fnum; alphamap[key] = fnum; emptymap[key] = fnum; if (fnum == CANNA_FN_FuncSequence) { regist_act_hash(defaultmap,key,actbuff); regist_act_hash(alphamap,key,actbuff); regist_act_hash(emptymap,key,actbuff); } if (fnum == CANNA_FN_UseOtherKeymap) { if (regist_key_hash(defaultmap,keybuff,actbuff) == NG || regist_key_hash(alphamap,keybuff,actbuff) == NG || regist_key_hash(emptymap,keybuff,actbuff) == NG) { return -1; } } for (i = 0 ; i < CANNA_MODE_MAX_REAL_MODE ; i++) { mode = ModeTbl[i]; retval = changeKeyOnSomeCondition(mode, key, fnum, actbuff, keybuff); if (retval < 0) { return retval; } } for (ep = extrafuncp ; ep ; ep = ep->next) { /* defmode ¤Ç¤ÎÁ´¤Æ¤Î¥â¡¼¥É¤ËÂФ·¤Æ¤ä¤ë */ if (ep->keyword == EXTRA_FUNC_DEFMODE) { retval = changeKeyOnSomeCondition(ep->u.modeptr->emode, key, fnum, actbuff, keybuff); if (retval < 0) { return retval; } } } } else if (key == CANNA_KEY_Undefine) { undefineKeyfunc(defaultmap, (unsigned)fnum); undefineKeyfunc(alphamap, (unsigned)fnum); undefineKeyfunc(emptymap, (unsigned)fnum); for (i = 0 ; i < CANNA_MODE_MAX_REAL_MODE ; i++) { mode = ModeTbl[i]; if (mode && /* ¤½¤Î¥â¡¼¥É¤¬Â¸ºß¤¹¤ë¤Ê¤é */ mode->func((uiContext)0/*dummy*/, mode, KEY_CHECK, 0/*dummy*/, fnum)) { /* ´Ø¿ô¤¬¤½¤Î¥â¡¼¥É¤ÇÍ­¸ú¤Ê¤é */ if ( !(mode->flags & CANNA_KANJIMODE_TABLE_SHARED) ) { /* ¥Æ¡¼¥Ö¥ë¤¬¶¦Í­¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é */ if (mode->keytbl) { /* ¥­¡¼¥Æ¡¼¥Ö¥ë¤¬Â¸ºß¤¹¤ì¤Ð */ undefineKeyfunc(mode->keytbl, (unsigned)fnum); } } } } } return retval; } static void undefineKeyfunc(keytbl, fnum) unsigned char *keytbl; unsigned fnum; { int i; for (i = 0 ; i < ' ' ; i++) { if (keytbl[i] == fnum) { keytbl[i] = CANNA_FN_Undefined; } } for (i = ' ' ; i < 0x7f ; i++) { if (keytbl[i] == fnum) { keytbl[i] = CANNA_FN_FunctionalInsert; } } for (i = 0x7f ; i < 0xa0 ; i++) { if (keytbl[i] == fnum) { keytbl[i] = CANNA_FN_Undefined; } } for (i = 0xa0 ; i < 0xe0 ; i++) { if (keytbl[i] == fnum) { keytbl[i] = CANNA_FN_FunctionalInsert; } } for (i = 0xe0 ; i < 0x100 ; i++) { if (keytbl[i] == fnum) { keytbl[i] = CANNA_FN_Undefined; } } } static unsigned int createHashKey(data1, data2, which_seq) unsigned char *data1; unsigned char data2; int which_seq; { unsigned int hashKey; hashKey = (int)(((POINTERINT)data1 + (POINTERINT)data2) % which_seq); return hashKey; } /* µ¡Ç½¥·¡¼¥±¥ó¥¹¤ò³ä¤ê½Ð¤¹ */ unsigned char * actFromHash(tbl_ptr, key) unsigned char *tbl_ptr; unsigned char key; { unsigned int hashKey; struct seq_struct *p; hashKey = createHashKey(tbl_ptr, key, ACTHASHTABLESIZE); for (p = seq_hash[hashKey] ; p ; p = p->next) { if (p->to_tbl == tbl_ptr && p->as_key == key) { return p->kinou_seq; } } #ifndef CODED_MESSAGE debug_message("actFromHash:¥­¡¼¥·¥±¥ó¥¹¤ò¤ß¤Ä¤±¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£\n",0,0,0); #else debug_message("actFromHash:\245\255\241\274\245\267\245\261\245\363\245\271" "\244\362\244\337\244\304\244\261\244\351\244\354\244\336\244\273" "\244\363\244\307\244\267\244\277\241\243\n",0,0,0); #endif return (unsigned char *)NULL; /* ³ºÅö¤¹¤ë¥­¡¼¥·¡¼¥±¥ó¥¹¤Ï¸ºß¤·¤Ê¤¤ */ } /* ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿ */ static void regist_act_hash(tbl_ptr, key, buff) unsigned char *tbl_ptr; unsigned char key; unsigned char *buff; { unsigned int hashKey; struct seq_struct *p, **pp; hashKey = createHashKey(tbl_ptr, key, ACTHASHTABLESIZE); for (pp = &seq_hash[hashKey] ; (p = *pp) != (struct seq_struct *)0 ; pp = &(p->next)) { if (p->to_tbl == tbl_ptr && p->as_key == key) { if (p->kinou_seq) free(p->kinou_seq); p->kinou_seq = (unsigned char *)malloc(strlen((char *)buff)+1); if (p->kinou_seq) strcpy((char *)p->kinou_seq,(char *)buff); return; } } p = *pp = (struct seq_struct *)malloc(sizeof(struct seq_struct)); if(p) { p->to_tbl = tbl_ptr; p->as_key = key; p->kinou_seq = (unsigned char *)malloc(strlen((char *)buff)+1); if(p->kinou_seq) strcpy((char *)p->kinou_seq,(char *)buff); p->next = (struct seq_struct *)NULL; } } /* ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤«¤éºï½ü */ static void remove_hash(tbl_ptr, key, which_seq) unsigned char *tbl_ptr; unsigned char key; int which_seq; { unsigned int hashKey; struct seq_struct *p, **pp; hashKey = createHashKey(tbl_ptr, key, which_seq); for (pp = &seq_hash[hashKey] ; (p = *pp) != (struct seq_struct *)0 ; pp = &(p->next)) { if (p->to_tbl == tbl_ptr && p->as_key == key) { *pp = p->next; free(p); } } } static void freeChain(p) struct seq_struct *p; { struct seq_struct *nextp; while (p) { free(p->kinou_seq); nextp = p->next; free(p); p = nextp; } } static void clearAllFuncSequence() { int i; for (i = 0 ; i < ACTHASHTABLESIZE ; i++) { freeChain(seq_hash[i]); seq_hash[i] = 0; } } static void freeKeySeqMode(m) KanjiMode m; { if (m) { if (m->keytbl) { free(m->keytbl); } free(m); } } static void freeMap(m) struct map *m; { struct map *n; while (m) { freeKeySeqMode(m->mode); n = m->next; free(m); m = n; } } static void clearAllKeySequence() { int i; for (i = 0 ; i < KEYHASHTABLESIZE ; i++) { freeMap(otherMap[i]); otherMap[i] = 0; } } static specialen(block) unsigned char *block; { int i; for (i = 0 ; block[i] != 255 ;) { i++; } debug_message("specialen:\304\271\244\265\244\317%d\244\311\244\271\241\243\n",i,0,0); /* specialen:Ťµ¤Ï%d¤É¤¹¡£ */ return i; } static to_write_act(depth,keysize,actsize,singleAct) int depth; int keysize; int actsize; unsigned singleAct; { if (depth == (keysize -2)) { if (actsize > 1){ debug_message("to_write_act:CANNA_FN_FuncSequence\244\307\244\271\241\243\n",0,0,0); /* ¤Ç¤¹¡£ */ return CANNA_FN_FuncSequence; } if (actsize == 1) { debug_message("to_write_act:singleAct%d\244\307\244\271\241\243\n",singleAct,0,0); /* ¤Ç¤¹¡£ */ return (int)singleAct; } else { /* Í­¤êÆÀ¤Ê¤¤¡© */ return 0; } } else if (depth < (keysize -2)){ debug_message("to_write_act:CANNA_FN_UseOtherKeymap\244\307\244\271\241\243\n",0,0,0); /* ¤Ç¤¹¡£ */ return CANNA_FN_UseOtherKeymap; } else { /* Í­¤êÆÀ¤Ê¤¤¡© */ return 0; } } static struct map * regist_map(tbl, keybuff, actbuff, depth) KanjiMode tbl; unsigned char *keybuff; unsigned char *actbuff; int depth; { unsigned int hashKey; int sequencelen, keybuffsize, actbuffsize, offs; struct map *p,**pp; unsigned char *q, prevfunc; actbuffsize = strlen((char *)actbuff); keybuffsize = specialen(keybuff); hashKey = createHashKey((unsigned char *)tbl, keybuff[depth], KEYHASHTABLESIZE); debug_message("regist_map:hashKey = %d \244\307\244\271\241\243\n",hashKey,0,0); /* ¤Ç¤¹¡£ */ for (pp = &otherMap[hashKey]; (p = *pp) != (struct map *)0 ; pp = &(p->next)) { if (p->key == keybuff[depth] && p->tbl == tbl) { for (q = p->mode->keytbl; *q != 255; q += 2) { if (*q == keybuff[depth+1]) { /* ´û¤ËƱ¤¸¥­¡¼¤¬Â¸ºß¤·¤¿¡£ */ ++q; prevfunc = *q; /* ¤½¤Î¥­¡¼¤Îº£¤Þ¤Ç¤Îµ¡Ç½¤ò¼è¤Ã¤Æ¤ª¤¯ */ *q = to_write_act(depth,keybuffsize,actbuffsize,actbuff[0]); if(prevfunc == CANNA_FN_UseOtherKeymap && *q != CANNA_FN_UseOtherKeymap) { freeMultiSequence(keybuff[depth + 1], p->mode); } if (*q == CANNA_FN_FuncSequence) { regist_act_hash((unsigned char *)p->mode, keybuff[depth+1], actbuff); } debug_message("regist_map:\264\373\244\313\306\261\244\270\245\255\241\274\244\254\302\270\272\337:q=%d\n",*q,0,0); /* ´û¤ËƱ¤¸¥­¡¼¤¬Â¸ºß */ return p; } } /* ¤½¤³¤Þ¤Ç¤Î¡¢¥­¡¼¤ÎÍúÎò¤Ï¤¢¤Ã¤¿¤¬¤³¤Î¥­¡¼:keybuff[depth +1]¤Ï½é¤á¤Æ */ sequencelen = specialen(p->mode->keytbl); offs = q - p->mode->keytbl; if (p->mode->keytbl) { p->mode->keytbl = (unsigned char *)realloc(p->mode->keytbl,sequencelen +3); if (!p->mode->keytbl) { return (struct map *)0; } p->mode->keytbl[sequencelen] = keybuff[depth +1]; p->mode->keytbl[++sequencelen] = to_write_act(depth,keybuffsize,actbuffsize,actbuff[0]); p->mode->keytbl[++sequencelen] = (BYTE)-1; } if (p->mode->keytbl[offs] == CANNA_FN_FuncSequence) { regist_act_hash((unsigned char *)p->mode, keybuff[depth+1], actbuff); } debug_message("regist_map:\244\275\244\263\244\336\244\307\244\316" "\241\242\245\255\241\274\244\316\315\372\316\362\244\317\244\242" "\244\303\244\277\244\254\244\263\244\316\245\255\241\274%u\244\317" "\275\351\244\341\244\306\n", p->mode->keytbl[sequencelen-3],0,0); /* ¤½¤³¤Þ¤Ç¤Î¡¢¥­¡¼¤ÎÍúÎò¤Ï¤¢¤Ã¤¿¤¬¤³¤Î¥­¡¼%u¤Ï½é¤á¤Æ */ debug_message("regist_map:sequencelen¤Ï%d¤Ç¤¹¡£\n",sequencelen,0,0); return p; } } /* ²áµî¤ÎÍúÎò¤ÏÁ´¤Æ¤Ê¤·¤Î¤Ï¤º¡¢¿·µ¬¤ËºîÀ® */ p = *pp = (struct map *)malloc(sizeof(struct map)); if (p) { p->tbl = tbl; p->key = keybuff[depth]; p->mode = (KanjiMode)malloc(sizeof(KanjiModeRec)); if (p->mode) { p->mode->func = multiSequenceFunc; p->mode->flags = 0; p->mode->keytbl = (unsigned char *)malloc(3); if (p->mode->keytbl) { p->mode->keytbl[0] = keybuff[depth +1]; p->mode->keytbl[1] = to_write_act(depth,keybuffsize,actbuffsize,actbuff[0]); debug_message("regist_map:p->mode->keytbl[1]\244\317%d\244\307\244\271\241\243\n",p->mode->keytbl[1],0,0); /* ¤Ï%d¤Ç¤¹¡£ */ p->mode->keytbl[2] = (BYTE)-1; p->next = (struct map *)NULL; if (p->mode->keytbl[1] == CANNA_FN_FuncSequence) { regist_act_hash((unsigned char *)p->mode, keybuff[depth+1], actbuff); } return p; } free((char *)p->mode); } free((char *)p); } return (struct map *)0; } struct map * mapFromHash(tbl, key, ppp) KanjiMode tbl; unsigned char key; struct map ***ppp; { unsigned int hashKey; struct map *p, **pp; hashKey = createHashKey((unsigned char *)tbl, key, KEYHASHTABLESIZE); debug_message("mapFromHash:hashKey¤Ï%d\n",hashKey,0,0); for(pp = otherMap + hashKey ; (p = *pp) != (struct map *)0 ; pp = &(p->next)) { if (p->tbl == tbl && p->key == key) { debug_message("mapFromHash:map\244\254\244\337\244\304\244\253\244\352" "\244\336\244\267\244\277\241\243\n",0,0,0); /* ¤¬¤ß¤Ä¤«¤ê¤Þ¤·¤¿¡£ */ if (ppp) { *ppp = pp; } return p; } } #ifndef CODED_MESSAGE debug_message("mapFromHash:map¤¬¤ß¤Ä¤«¤ê¤Þ¤»¤ó¡£\n",0,0,0); #else debug_message("mapFromHash:map\244\254\244\337\244\304\244\253\244\352" "\244\336\244\273\244\363\241\243\n",0,0,0); #endif return (struct map *)NULL; } static int regist_key_hash(tbl_ptr,keybuff, actbuff) unsigned char *tbl_ptr; unsigned char *keybuff; unsigned char *actbuff; { struct map *map_ptr; int keybuffsize, i; keybuffsize = specialen(keybuff); map_ptr = regist_map((KanjiMode)tbl_ptr, keybuff, actbuff, 0); if (!map_ptr) { return NG; } for (i = 1; i <= (keybuffsize -2); i++) { map_ptr = regist_map(map_ptr->mode, keybuff, actbuff, i); if (!map_ptr) { return NG; } } debug_message("regist_key_hash:keybuffsize\244\317%d¡¡actbuffsize" "\244\317¤Ï%d¡¡i\244\317%d\244\307\244\271\241\243\n", keybuffsize,strlen(actbuff),i); /* ¤Ï */ /* ¤Ï */ /* ¤Ï */ /* ¤Ç¤¹¡£ */ return 0; } static int copyMultiSequence(key, old_tbl, new_tbl) unsigned char key; KanjiMode old_tbl, new_tbl; { unsigned char hashKey; unsigned char *old_sequence, *new_sequence; int i, sequencelen; struct map *p, **pp; struct map *old_map; old_map = mapFromHash(old_tbl, key, (struct map ***)0); old_sequence = old_map->mode->keytbl; sequencelen = specialen(old_sequence); hashKey = createHashKey((unsigned char *)new_tbl, key, KEYHASHTABLESIZE); for (pp = &otherMap[hashKey]; (p = *pp) != (struct map *)0 ; pp = &(p->next)) { if (p->key == key && p->tbl == new_tbl) { return 0; } } p = *pp = (struct map *)malloc(sizeof(struct map)); if (p) { p->tbl = new_tbl; p->key = key; p->mode = (KanjiMode)malloc(sizeof(KanjiModeRec)); if (p->mode) { p->mode->func = multiSequenceFunc; p->mode->flags = 0; p->next = (struct map *)NULL; p->mode->keytbl = (unsigned char *)malloc(sequencelen+1); if (p->mode->keytbl) { for (i = 0, new_sequence = p->mode->keytbl; i <= sequencelen; i++) { new_sequence[i] = old_sequence[i]; if (i%2 == 1) { if (old_sequence[i] == CANNA_FN_UseOtherKeymap) { if (copyMultiSequence(old_sequence[i-1], old_map->mode, p->mode) < 0) { free((char *)p->mode->keytbl); free((char *)p->mode); free((char *)p); *pp = (struct map *)0; return(-1); } } else if (old_sequence[i] == CANNA_FN_FuncSequence) regist_act_hash((unsigned char *)p->mode, old_sequence[i-1], actFromHash((unsigned char *)old_map->mode, old_sequence[i-1])); } } return 0; } else { free((char *)p->mode); free((char *)p); *pp = (struct map *)0; return(-1); } } else { free((char *)p); *pp = (struct map *)0; return(-1); } } else return(-1); } static void freeMultiSequence(key, tbl) unsigned char key; KanjiMode tbl; { unsigned char *sequence; int i, sequencelen; struct map *map, **ptr; map = mapFromHash(tbl, key, &ptr); if (!map) return; *ptr = map->next; sequence = map->mode->keytbl; sequencelen = specialen(sequence); for (i = 0; i <= sequencelen; i++) { if (i%2 == 1) { if (sequence[i] == CANNA_FN_UseOtherKeymap) freeMultiSequence(sequence[i-1], map->mode); if (sequence[i] == CANNA_FN_FuncSequence) remove_hash((unsigned char *)map->mode, sequence[i-1], ACTHASHTABLESIZE); } } debug_message("\241\374\153\145\171\133\45\144\135\244\316\155\141\160\260" "\312\262\274\244\362\245\325\245\352\241\274\244\267\244\306\244\244" "\244\353\244\276\n",key,0,0); /* ¡ükey[%d]¤Îmap°Ê²¼¤ò¥Õ¥ê¡¼¤·¤Æ¤¤¤ë¤¾ */ if (map->mode && sequence) free(sequence); if (map->mode) free(map->mode); free(map); } askQuitKey(key) unsigned key; { if (defaultmap[key] == CANNA_FN_Quit) { return 1; /* ¼õ¤±¼è¤Ã¤¿key¤Ïquit¤À¤Ã¤¿¡£ */ } return 0; /* ¼õ¤±¼è¤Ã¤¿key¤Ïquit¤Ç¤Ê¤«¤Ã¤¿¡£ */ } Canna37p3/lib/canna/kigo.c0100644000076500001200000004244207732020155014577 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: kigo.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #define BYTE1 84 /* JIS¥³¡¼¥Éɽ¤ÎÂè°ì¥Ð¥¤¥È¤Î¿ô */ #define BYTE2 94 /* JIS¥³¡¼¥Éɽ¤ÎÂèÆó¥Ð¥¤¥È¤Î¿ô */ #define KIGOSU (((BYTE1 - 1) * BYTE2) + 4) /* µ­¹æ¤ÎÁí¿ô */ #define KIGOSIZE 1 /* µ­¹æ¸õÊä¤Îʸ»ú¿ô */ #define KIGOCOLS 2 /* µ­¹æ¸õÊä¤Î¥³¥é¥à¿ô */ #define KIGOSPACE 2 /* µ­¹æ¤Î´Ö¤Î¶õÇòʸ»ú¤Î¥³¥é¥à¿ô */ #define KIGOWIDTH (KIGOCOLS + KIGOSPACE) /* bangomax¤ò·×»»¤¹¤ë¤¿¤á¤Î¿ô */ #define NKAKKOCHARS 1 /* JIS¥³¡¼¥Éɽ¼¨Íѳç¸Ì¤Îʸ»ú¿ô */ #define KAKKOCOLS 2 /* Ʊ¥³¥é¥à¿ô */ #define NKCODECHARS 4 /* JIS¥³¡¼¥Éɽ¼¨¤½¤Î¤â¤Î¤Îʸ»ú¿ô */ #define KCODECOLS 4 /* Ʊ¥³¥é¥à¿ô */ /* JIS¥³¡¼¥Éɽ¼¨Á´ÂΤÎʸ»ú¿ô */ #define NKCODEALLCHARS (NKAKKOCHARS + NKAKKOCHARS + NKCODECHARS) /* Ʊ¥³¥é¥à¿ô */ #define KCODEALLCOLS (KAKKOCOLS + KAKKOCOLS + KCODECOLS) static int kigo_curIkouho; void initKigoTable() { } /* cfunc ichiranContext * * ichiranContext * */ static void clearKigoContext(p) ichiranContext p; { p->id = ICHIRAN_CONTEXT; p->svIkouho = 0; p->curIkouho = 0; p->nIkouho = 0; p->tooSmall = 0; p->curIchar = 0; p->allkouho = 0; p->glinebufp = 0; p->kouhoifp = (kouhoinfo *)0; p->glineifp = (glineinfo *)0; p->flags = (unsigned char)0; } static ichiranContext newKigoContext() { ichiranContext kcxt; if((kcxt = (ichiranContext)malloc(sizeof(ichiranContextRec))) == (ichiranContext)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (newKigoContext) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (newKigoContext) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif return (ichiranContext)0; } clearKigoContext(kcxt); return kcxt; } #ifdef SOMEONE_USES_THIS static void freeKigoContext(kc) ichiranContext kc; { free(kc); } #endif /* SOMEONE_USES_THIS */ /* * µ­¹æ°ìÍ÷¹Ô¤òºî¤ë */ static getKigoContext(d, everyTimeCallback, exitCallback, quitCallback, auxCallback) uiContext d; canna_callback_t everyTimeCallback, exitCallback; canna_callback_t quitCallback, auxCallback; { extern KanjiModeRec kigo_mode; ichiranContext kc; int retval = 0; if(pushCallback(d, d->modec, everyTimeCallback, exitCallback, quitCallback, auxCallback) == 0) { jrKanjiError = "malloc (pushCallback) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ return(NG); } if((kc = newKigoContext()) == (ichiranContext)NULL) { popCallback(d); return(NG); } kc->next = d->modec; d->modec = (mode_context)kc; kc->prevMode = d->current_mode; d->current_mode = &kigo_mode; return(retval); } #ifndef NO_EXTEND_MENU static void popKigoMode(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; d->modec = kc->next; d->current_mode = kc->prevMode; freeIchiranContext(kc); } /* * µ­¹æ°ìÍ÷¹Ô¤Ë´Ø¤¹¤ë¹½Â¤ÂÎ¤ÎÆâÍÆ¤ò¹¹¿·¤¹¤ë * * ¡¦¥«¥ì¥ó¥È¸õÊä¤Ë¤è¤Ã¤Æ kouhoinfo ¤È glineinfo ¤«¤é¸õÊä°ìÍ÷¹Ô¤òºî¤ë * ¡¦¥«¥ì¥ó¥È¸õÊä¤Î¥³¡¼¥É¤ò¥­¥ã¥é¥¯¥¿¤ËÊÑ´¹¤¹¤ë * * °ú¤­¿ô RomeStruct * Ìá¤êÃÍ ¤Ê¤· */ static makeKigoGlineStatus(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; wchar_t *gptr; char xxx[3]; char *yyy = xxx; int i, b1, b2; gptr = kc->glineifp->gldata + NKAKKOCHARS; /* ¥«¥ì¥ó¥Èµ­¹æ¤ÎJIS¥³¡¼¥É¤ò°ìÍ÷¹Ô¤ÎÃæ¤Î¥«¥Ã¥³Æâ¤ËÆþ¤ì¤ë */ WCstombs(xxx, kc->kouhoifp[*(kc->curIkouho)].khdata, 3); for(i=0; i<2; i++, yyy++) { b1 = (((unsigned long)*yyy & 0x7f) >> 4); b2 = (*yyy & 0x0f); *gptr++ = b1 + ((b1 > 0x09) ? ('a' - 10) : '0'); *gptr++ = b2 + ((b2 > 0x09) ? ('a' - 10) : '0'); } d->kanji_status_return->info |= KanjiGLineInfo; d->kanji_status_return->gline.line = kc->glineifp->gldata; d->kanji_status_return->gline.length = kc->glineifp->gllen; d->kanji_status_return->gline.revPos = kc->kouhoifp[*(kc->curIkouho)].khpoint; d->kanji_status_return->gline.revLen = KIGOSIZE; } /* µ­¹æ°ìÍ÷ÍѤÎglineinfo¤Èkouhoinfo¤òºî¤ë * * ¡öglineinfo¡ö * int glkosu : int glhead : int gllen : wchar_t *gldata * £±¹Ô¤Î¸õÊä¿ô : ÀèÆ¬µ­¹æ¤¬ : £±¹Ô¤ÎŤµ : µ­¹æ°ìÍ÷¹Ô¤Îʸ»úÎó * : ²¿ÈÖÌܤε­¹æ¤« : * ------------------------------------------------------------------------- * 0 | 6 : 0 : 24 : £±¡ù£²¡ú£³¡û£´¡ü£µ¡ý£¶¢¢ * * ¡ökouhoinfo¡ö * int khretsu : int khpoint : wchar_t *khdata * ̤»ÈÍÑ : ¹Ô¤ÎÀèÆ¬¤«¤é : µ­¹æ¤Îʸ»ú * : ²¿¥Ð¥¤¥ÈÌܤ« : * ------------------------------------------------------------------------- * 0 | 0 : 0 : ¡ù * 1 | 0 : 4 : ¡ú * 2 | 0 : 8 : ¡û * : : * * °ú¤­¿ô headkouho ¥«¥ì¥ó¥Èµ­¹æ¸õÊä¹Ô¤ÎÀèÆ¬¸õÊä¤Î°ÌÃÖ * (2121¤«¤é²¿¸ÄÌܤ«(2121¤Ï£°ÈÖÌÜ)) * uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static makeKigoInfo(d, headkouho) uiContext d; int headkouho; { ichiranContext kc = (ichiranContext)d->modec; wchar_t *gptr; int i, b1, b2, lnko, cn; int byte1hex = 0xa1; int byte2hex = 0xa1; char xxx[3]; b2 = headkouho % BYTE2; /* JIS¥³¡¼¥ÉÉ½Ãæ(£Ø¼´)¤Î°ÌÃÖ (ÅÀ-1) */ b1 = headkouho / BYTE2; /* JIS¥³¡¼¥ÉÉ½Ãæ(£Ù¼´)¤Î°ÌÃÖ (¶è-1) */ xxx[2] = '\0'; #if defined(DEBUG) if (iroha_debug) { printf("kigoinfo = bangomax %d, b1 %d, b2 %d\n", kc->nIkouho, b1, b2); printf("kigoinfo = headkouho %d, curIkouho %d\n", headkouho, *(kc->curIkouho)); } #endif /* µ­¹æ°ìÍ÷ÍѤÎglineinfo¤Èkouhoinfo¤òºî¤ë */ gptr = kc->glinebufp; kc->glineifp->glhead = headkouho; kc->glineifp->gldata = gptr; /* JIS¥³¡¼¥É¤Îɽ¼¨Îΰè¤ò°ìÍ÷¹ÔÃæ¤Ëºî¤ë */ MBstowcs(gptr, "\241\316", 1); /* ¡Î */ for(i=0, gptr++; inIkouho && (headkouho+lnko)nIkouho && (headkouho+lnko)kouhoifp[lnko].khpoint = cn; kc->kouhoifp[lnko].khdata = gptr; /* ¸õÊä¤ò¥³¥Ô¡¼¤¹¤ë */ *xxx = (char)byte1hex + b1; *(xxx + 1) = (char)byte2hex + b2; MBstowcs(gptr++, xxx, 1); cn ++; } b2 = 0; } *gptr = (wchar_t)0; kc->glineifp->glkosu = lnko; kc->glineifp->gllen = WStrlen(kc->glineifp->gldata); return(0); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * µ­¹æ°ìÍ÷ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static kigoIchiranExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); retval = YomiExit(d, retval); currentModeInfo(d); killmenu(d); return(retval); } static kigoIchiranQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); currentModeInfo(d); return prevMenuIfExist(d); } #endif /* NO_EXTEND_MENU */ KigoIchiran(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } #ifdef NO_EXTEND_MENU d->kanji_status_return->info |= KanjiKigoInfo; return 0; #else if(makeKigoIchiran(d, CANNA_MODE_KigoMode) == NG) return(GLineNGReturn(d)); else return(0); #endif } #ifndef NO_EXTEND_MENU /* * µ­¹æ°ìÍ÷¹Ô¤òɽ¼¨¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ makeKigoIchiran(d, major_mode) uiContext d; int major_mode; { ichiranContext kc; int headkouho; if(d->ncolumns < (KCODEALLCOLS + KIGOCOLS)) { NothingChangedWithBeep(d); jrKanjiError = "\270\365\312\344\260\354\315\367\315\321\244\316\311\375" "\244\254\266\271\244\244\244\316\244\307\265\255\271\346\260\354" "\315\367\244\307\244\255\244\336\244\273\244\363"; /* ¸õÊä°ìÍ÷ÍѤÎÉý¤¬¶¹¤¤¤Î¤Çµ­¹æ°ìÍ÷¤Ç¤­¤Þ¤»¤ó */ return(NG); } if(getKigoContext(d, NO_CALLBACK, kigoIchiranExitCatch, kigoIchiranQuitCatch, NO_CALLBACK) == NG) return(NG); kc = (ichiranContext)d->modec; kc->majorMode = major_mode; kc->minorMode = CANNA_MODE_KigoMode; kc->flags |= cannaconf.quickly_escape ? 0 : ICHIRAN_STAY_LONG; currentModeInfo(d); /* ºÇÂçµ­¹æÉ½¼¨¿ô¤Î¥»¥Ã¥È */ /* Áí¥«¥é¥à¿ô¤«¤é "¡ÎJIS ¡Ï" ʬ¤òº¹¤·°ú¤¤¤Æ·×»»¤¹¤ë */ if((kc->nIkouho = (((d->ncolumns - KCODEALLCOLS - KIGOCOLS) / KIGOWIDTH) + 1)) > KIGOBANGOMAX) { kc->nIkouho = KIGOBANGOMAX; } kc->curIkouho = &kigo_curIkouho; if(allocIchiranBuf(d) == NG) { /* µ­¹æ°ìÍ÷¥â¡¼¥É */ popKigoMode(d); popCallback(d); return(NG); } /* ¥«¥ì¥ó¥È¸õÊä¤Î¤¢¤ëµ­¹æ°ìÍ÷¹Ô¤ÎÀèÆ¬¸õÊä¤È¡¢ °ìÍ÷¹ÔÃæ¤Î¥«¥ì¥ó¥È¸õÊä¤Î°ÌÃÖ¤òµá¤á¤ë */ if(d->curkigo) { /* a1a1¤«¤é²¿ÈÖÌܤε­¹æ¤« */ headkouho = (d->curkigo / kc->nIkouho) * kc->nIkouho; *(kc->curIkouho) = d->curkigo % kc->nIkouho; } else { d->curkigo = 0; headkouho = 0; *(kc->curIkouho) = 0; } /* ¤³¤³¤Ë¤¯¤ëľÁ°¤Ë C-t ¤È¤«¤¬ Gline ¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¾ì¹ç²¼¤Î£±¹Ô¤ò ¤ä¤ëɬÍפ¬½Ð¤Æ¤¯¤ë¡£ */ d->flags &= ~(PLEASE_CLEAR_GLINE | PCG_RECOGNIZED); /* glineinfo¤Èkouhoinfo¤òºî¤ë */ makeKigoInfo(d, headkouho); /* kanji_status_return¤òºî¤ë */ makeKigoGlineStatus(d); return(0); } static KigoNop(d) uiContext d; { /* currentModeInfo ¤Ç¥â¡¼¥É¾ðÊó¤¬É¬¤ºÊÖ¤ë¤è¤¦¤Ë¥À¥ß¡¼¤Î¥â¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯ */ d->majorMode = d->minorMode = CANNA_MODE_AlphaMode; currentModeInfo(d); makeKigoGlineStatus(d); return 0; } /* * µ­¹æ°ìÍ÷¹ÔÃæ¤Î¼¡¤Îµ­¹æ¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoForwardKouho(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; int headkouho; /* ¼¡¤Îµ­¹æ¤Ë¤¹¤ë */ ++*(kc->curIkouho); /* °ìÍ÷ɽ¼¨¤ÎºÇ¸å¤Îµ­¹æ¤À¤Ã¤¿¤é¡¢¼¡¤Î°ìÍ÷¹Ô¤ÎÀèÆ¬µ­¹æ¤ò¥«¥ì¥ó¥Èµ­¹æ¤È¤¹¤ë */ if((*(kc->curIkouho) >= kc->nIkouho) || (kc->glineifp->glhead + *(kc->curIkouho) >= KIGOSU)) { headkouho = kc->glineifp->glhead + kc->nIkouho; if(headkouho >= KIGOSU) headkouho = 0; *(kc->curIkouho) = 0; makeKigoInfo(d, headkouho); } /* kanji_status_retusrn ¤òºî¤ë */ makeKigoGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return(0); } /* * µ­¹æ°ìÍ÷¹ÔÃæ¤ÎÁ°¤Îµ­¹æ¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoBackwardKouho(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; int headkouho; /* Á°¤Îµ­¹æ¤Ë¤¹¤ë */ --*(kc->curIkouho); /* °ìÍ÷ɽ¼¨¤ÎÀèÆ¬¤Îµ­¹æ¤À¤Ã¤¿¤é¡¢Á°¤Î°ìÍ÷¹Ô¤ÎºÇ½ªµ­¹æ¤ò¥«¥ì¥ó¥Èµ­¹æ¤È¤¹¤ë */ if(*(kc->curIkouho) < 0) { headkouho = kc->glineifp->glhead - kc->nIkouho; if(headkouho < 0) headkouho = ((KIGOSU - 1) / kc->nIkouho) * kc->nIkouho; makeKigoInfo(d, headkouho); *(kc->curIkouho) = kc->glineifp->glkosu - 1; } /* kanji_status_retusrn ¤òºî¤ë */ makeKigoGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return(0); } /* * Á°µ­¹æ°ìÍ÷Îó¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoPreviousKouhoretsu(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; int headkouho; /** Á°¸õÊäÎó¤Ë¤¹¤ë **/ headkouho = kc->glineifp->glhead - kc->nIkouho; if(headkouho < 0) headkouho = ((KIGOSU -1) / kc->nIkouho) * kc->nIkouho; makeKigoInfo(d, headkouho); /* *(kc->curIkouho) ¤¬¥«¥ì¥ó¥Èµ­¹æ°ìÍ÷¤Îµ­¹æ¿ô¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤é ºÇ±¦µ­¹æ¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë */ if(*(kc->curIkouho) >= kc->glineifp->glkosu) *(kc->curIkouho) = kc->glineifp->glkosu - 1; /* kanji_status_retusrn ¤òºî¤ë */ makeKigoGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return(0); } /* * ¼¡µ­¹æ°ìÍ÷Îó¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoNextKouhoretsu(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; int headkouho; /** ¼¡¸õÊäÎó¤Ë¤¹¤ë **/ headkouho = kc->glineifp->glhead + kc->nIkouho; if(headkouho >= KIGOSU) headkouho = 0; makeKigoInfo(d, headkouho); /* *(kc->curIkouho) ¤¬¥«¥ì¥ó¥Èµ­¹æ°ìÍ÷¤Îµ­¹æ¿ô¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤é ºÇ±¦µ­¹æ¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë */ if(*(kc->curIkouho) >= kc->glineifp->glkosu) *(kc->curIkouho) = kc->glineifp->glkosu - 1; /* kanji_status_retusrn ¤òºî¤ë */ makeKigoGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return(0); } /* * µ­¹æ°ìÍ÷¹ÔÃæ¤ÎÀèÆ¬¤Îµ­¹æ¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoBeginningOfKouho(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; /* ¸õÊäÎó¤ÎÀèÆ¬¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤¹¤ë */ *(kc->curIkouho) = 0; /* kanji_status_retusrn ¤òºî¤ë */ makeKigoGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return(0); } /* * µ­¹æ°ìÍ÷¹ÔÃæ¤ÎºÇ±¦¤Îµ­¹æ¤Ë°Üư¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoEndOfKouho(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; /** ¸õÊäÎó¤ÎºÇ±¦¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤¹¤ë **/ *(kc->curIkouho) = kc->glineifp->glkosu - 1; /* kanji_status_retusrn ¤òºî¤ë */ makeKigoGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return(0); } /* * µ­¹æ°ìÍ÷¹ÔÃæ¤«¤éÁªÂò¤µ¤ì¤¿µ­¹æ¤ò³ÎÄꤹ¤ë * * ¡¦¼¡¤Ëµ­¹æ°ìÍ÷¤·¤¿»þ¤ËÁ°²ó³ÎÄꤷ¤¿µ­¹æ¤¬¥«¥ì¥ó¥È¸õÊä¤È¤Ê¤ë¤è¤¦¤Ë¡¢ * ³ÎÄꤷ¤¿¸õÊä¤ò¥»¡¼¥Ö¤·¤Æ¤ª¤¯ * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoKakutei(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; /* ¥«¥ì¥ó¥Èµ­¹æ¤ò¥»¡¼¥Ö¤¹¤ë */ d->curkigo = kc->glineifp->glhead + *(kc->curIkouho); /* ¥¨¥³¡¼¥¹¥È¥ê¥ó¥°¤ò³ÎÄêʸ»úÎó¤È¤¹¤ë */ if (d->n_buffer >= KIGOSIZE) { d->nbytes = KIGOSIZE; WStrncpy(d->buffer_return, kc->kouhoifp[*(kc->curIkouho)].khdata, d->nbytes); d->buffer_return[KIGOSIZE] = (wchar_t)0; } else { d->nbytes = 0; } if (kc->flags & ICHIRAN_STAY_LONG) { kc->flags |= ICHIRAN_NEXT_EXIT; d->status = EVERYTIME_CALLBACK; } else { freeIchiranBuf(kc); popKigoMode(d); GlineClear(d); d->status = EXIT_CALLBACK; } return(d->nbytes); } #ifdef SOMEONE_USES_THIS /* * µ­¹æ°ìÍ÷¹ÔÃæ¤ÎÆþÎϤµ¤ì¤¿ÈÖ¹æ¤Îµ­¹æ¤Ë°Üư¤¹¤ë ¡Ṳ́»ÈÍÑ¡Û * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoBangoKouho(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; int num; /* ÆþÎϥǡ¼¥¿¤Ï £°¡Á£¹ £á¡Á£æ ¤«¡© */ if(((0x30 <= d->ch) && (d->ch <= 0x39)) || ((0x61 <= d->ch) && (d->ch <= 0x66))) { if((0x30 <= d->ch) && (d->ch <= 0x39)) num = (int)(d->ch & 0x0f); else if((0x61 <= d->ch) && (d->ch <= 0x66)) num = (int)(d->ch - 0x57); } else { /* ÆþÎϤµ¤ì¤¿ÈÖ¹æ¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó */ return NothingChangedWithBeep(d); } /* ÆþÎϥǡ¼¥¿¤Ï ¸õÊä¹Ô¤ÎÃæ¤Ë¸ºß¤¹¤ë¿ô¤«¡© */ if(num >= kc->glineifp->glkosu) { /* ÆþÎϤµ¤ì¤¿ÈÖ¹æ¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó */ return NothingChangedWithBeep(d); } /* ¸õÊäÎó¤ÎÀèÆ¬¸õÊä¤òÆÀ¤ë */ *(kc->curIkouho) = num; /* SelectDirect ¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Î½èÍý */ if (cannaconf.SelectDirect) /* ON */ { return(KigoKakutei(d)); } else /* OFF */ { /* kanji_status_retusrn ¤òºî¤ë */ makeKigoGlineStatus(d); return(0); } } #endif /* SOMEONE_USES_THIS */ /* * µ­¹æ°ìÍ÷¹Ô¤ò¾Ãµî¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 */ static KigoQuit(d) uiContext d; { ichiranContext kc = (ichiranContext)d->modec; BYTE fl = kc->flags; freeIchiranBuf(kc); popKigoMode(d); /* gline ¤ò¥¯¥ê¥¢¤¹¤ë */ GlineClear(d); d->status = (fl & ICHIRAN_NEXT_EXIT) ? EXIT_CALLBACK : QUIT_CALLBACK; return 0; } #endif /* NO_EXTEND_MENU */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #include "kigomap.h" Canna37p3/lib/canna/kigomap.h0100644000076500001200000000445107554213606015307 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char kigomap_id[] = "@(#) 102.1 $Id: kigomap.h,v 1.1.1.1 2002/10/19 08:27:50 aida_s Exp $"; #endif /* lint */ #ifdef NO_EXTEND_MENU static struct funccfunc kigo_funcs[] = {{0, 0},}; #else extern DoFuncSequence(),UseOtherKeymap(); static struct funccfunc kigo_funcs[] = { {CANNA_FN_KigouMode ,KigoQuit }, {CANNA_FN_Forward ,KigoForwardKouho }, {CANNA_FN_Backward ,KigoBackwardKouho }, {CANNA_FN_Next ,KigoNextKouhoretsu }, {CANNA_FN_Prev ,KigoPreviousKouhoretsu }, {CANNA_FN_BeginningOfLine ,KigoBeginningOfKouho }, {CANNA_FN_EndOfLine ,KigoEndOfKouho }, {CANNA_FN_DeletePrevious ,KigoQuit }, {CANNA_FN_Henkan ,KigoForwardKouho }, {CANNA_FN_HenkanOrInsert ,KigoForwardKouho }, {CANNA_FN_HenkanOrNothing ,KigoForwardKouho }, {CANNA_FN_Kakutei ,KigoKakutei }, {CANNA_FN_Quit ,KigoQuit }, {CANNA_FN_Nop ,KigoNop }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {0 ,0 }, }; #endif /* NO_EXTEND_MENU */ KanjiModeRec kigo_mode = { searchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, kigo_funcs, }; Canna37p3/lib/canna/lisp.c0100644000076500001200000027003210043310761014605 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[] = "$Id: lisp.c,v 1.11.2.1 2004/04/26 22:49:21 aida_s Exp $"; #endif /* ** main program of lisp */ #include "lisp.h" #include "patchlevel.h" #include static FILE *outstream = (FILE *)0; static char *celltop, *cellbtm, *freecell; static char *memtop; static int ncells = CELLSIZE; static initIS(); static void finIS(); static allocarea(), skipspaces(), zaplin(), isterm(); static void prins(); static list mkatm(), read1(), ratom(), ratom2(), rstring(); static int tyipeek(), tyi(); static void tyo pro((int)); static void defatms(), epush(); static void push(), pop(); static int evpsh(); static void freearea(), print(); static list getatm(), getatmz(), newsymbol(), copystring(); static list assq(), pop1(); static list Lprogn(), Lcons(), Lread(); static list Leval(), Lprint(), Lmodestr(), Lputd(), Lxcons(), Lncons(); static list NumAcc(), StrAcc(); /* parameter stack */ static list *stack, *sp; /* environment stack */ static list *estack, *esp; /* oblist */ static list *oblist; /* oblist hashing array */ #define LISPERROR -1 typedef struct { FILE *f; char *name; unsigned line; } lispfile; static lispfile *files; static int filep; /* lisp read buffer & read pointer */ static char *readbuf; /* read buffer */ static char *readptr; /* read pointer */ /* error functions */ static void argnerr(), numerr(), error(); /* multiple values */ #define MAXVALUES 16 static list *values; /* multiple values here */ static int valuec; /* number of values here */ /* symbols */ static list QUOTE, T, _LAMBDA, _MACRO, COND, USER; static list BUSHU, GRAMMAR, RENGO, KATAKANA, HIRAGANA, HYPHEN; #include static struct lispcenv { jmp_buf jmp_env; int base_stack; int base_estack; } *env; /* environment for setjmp & longjmp */ static int jmpenvp = MAX_DEPTH; static jmp_buf fatal_env; /* external functions ³°Éô´Ø¿ô¤Ï°Ê²¼¤Î£³¤Ä (1) clisp_init() -- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤à¤¿¤á¤Î½àÈ÷¤ò¤¹¤ë lisp ¤Î½é´ü²½¤ò¹Ô¤¤É¬Íפʥá¥â¥ê¤ò allocate ¤¹¤ë¡£ (2) clisp_fin() -- ¥«¥¹¥¿¥Þ¥¤¥ºÆÉ¤ß¹þ¤ßÍѤÎÎΰè¤ò²òÊü¤¹¤ë¡£ ¾åµ­¤Î½é´ü²½¤ÇÆÀ¤¿¥á¥â¥ê¤ò²òÊü¤¹¤ë¡£ (3) YYparse_by_rcfilename((char *)s) -- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¡£ s ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ó¤Ç¥«¥¹¥¿ ¥Þ¥¤¥º¤ÎÀßÄê¤ò¹Ô¤¦¡£¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð 1 ¤òÊÖ¤·¤½¤¦¤Ç¤Ê¤±¤ì¤Ð 0 ¤òÊÖ¤¹¡£ */ #ifdef __STDC__ static list getatmz(char *); #else static list getatmz(); #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc int clisp_init() { int i; if ( !allocarea() ) { return 0; } if ( !initIS() ) { freearea(); return 0; } /* stack pointer initialization */ sp = stack + STKSIZE; esp = estack + STKSIZE; epush(NIL); /* initialize read pointer */ readptr = readbuf; *readptr = '\0'; files[filep = 0].f = stdin; files[filep].name = (char *)0; files[filep].line = 0; /* oblist initialization */ for (i = 0; i < BUFSIZE ; i++) oblist[i] = 0; /* symbol definitions */ defatms(); return 1; } #ifndef NO_EXTEND_MENU static void fillMenuEntry() { extern extraFunc *FindExtraFunc(), *extrafuncp; extraFunc *p, *fp; int i, n, fid; menuitem *mb; for (p = extrafuncp ; p ; p = p->next) { if (p->keyword == EXTRA_FUNC_DEFMENU) { n = p->u.menuptr->nentries; mb = p->u.menuptr->body; for (i = 0 ; i < n ; i++, mb++) { if (mb->flag == MENU_SUSPEND) { list l = (list)mb->u.misc; fid = symbolpointer(l)->fid; if (fid < CANNA_FN_MAX_FUNC) { goto just_a_func; } else { fp = FindExtraFunc(fid); if (fp && fp->keyword == EXTRA_FUNC_DEFMENU) { mb->u.menu_next = fp->u.menuptr; mb->flag = MENU_MENU; } else { just_a_func: mb->u.fnum = fid; mb->flag = MENU_FUNC; } } } } } } } #endif /* NO_EXTEND_MENU */ #define UNTYIUNIT 32 static char *untyibuf = 0; static int untyisize = 0, untyip = 0; void clisp_fin() { #ifndef NO_EXTEND_MENU /* ½ª¤ë¤ËÅö¤¿¤Ã¤Æ¡¢menu ´ØÏ¢¤Î¥Ç¡¼¥¿¤òËä¤á¤ë */ fillMenuEntry(); #endif finIS(); while (filep >= 0) { if (files[filep].f && files[filep].f != stdin) { fclose(files[filep].f); } if (files[filep].name) { free(files[filep].name); } filep--; } freearea(); if (untyisize) { free(untyibuf); untyisize = 0; untyibuf = (char *)0; } } int YYparse_by_rcfilename(s) char *s; { extern ckverbose; int retval = 0; FILE *f; FILE *saved_outstream; if (setjmp(fatal_env)) { retval = 0; goto quit_parse_rcfile; } if (jmpenvp <= 0) { /* ºÆµ¢¤¬¿¼¤¹¤®¤ë¾ì¹ç */ return 0; } jmpenvp--; if (ckverbose >= CANNA_HALF_VERBOSE) { saved_outstream = outstream; outstream = stdout; } f = fopen(s, "r"); if (f) { if (ckverbose == CANNA_FULL_VERBOSE) { printf("¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤È¤·¤Æ \"%s\" ¤òÍѤ¤¤Þ¤¹¡£\n", s); } files[++filep].f = f; files[filep].name = malloc(strlen(s) + 1); if (files[filep].name) { strcpy(files[filep].name, s); } else { filep--; fclose(f); goto quit_parse_rcfile; } files[filep].line = 0; setjmp(env[jmpenvp].jmp_env); env[jmpenvp].base_stack = sp - stack; env[jmpenvp].base_estack = esp - estack; for (;;) { push(Lread(0)); if (valuec > 1 && null(values[1])) { break; } (void)Leval(1); } retval = 1; } if (ckverbose >= CANNA_HALF_VERBOSE) { outstream = saved_outstream; } jmpenvp++; quit_parse_rcfile: return retval; } #define WITH_MAIN #ifdef WITH_MAIN static void intr(sig) int sig; /* ARGSUSED */ { error("Interrupt:",NON); /* NOTREACHED */ } /* cfuncdef parse_string -- ʸ»úÎó¤ò¥Ñ¡¼¥¹¤¹¤ë¡£ */ parse_string(str) char *str; { char *readbufbk; if (clisp_init() == 0) { return -1; } /* read buffer ¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿Ê¸»ú¤ò»È¤¦ */ readbufbk = readbuf; readptr = readbuf = str; if (setjmp(fatal_env)) { goto quit_parse_string; } if (jmpenvp <= 0) { /* ºÆµ¢¤¬¿¼¤¹¤®¤ë¾ì¹ç */ return -1; } jmpenvp--; files[++filep].f = (FILE *)0; files[filep].name = (char *)0; files[filep].line = 0; setjmp(env[jmpenvp].jmp_env); env[jmpenvp].base_stack = sp - stack; env[jmpenvp].base_estack = esp - estack; for (;;) { list t; t = Lread(0); if (valuec > 1 && null(values[1])) { break; } else { push(t); Leval(1); } } jmpenvp++; quit_parse_string: readbuf = readbufbk; clisp_fin(); return 0; } static void intr(); void clisp_main() { if (clisp_init() == 0) { /* initialize data area & etc.. */ fprintf(stderr, "CannaLisp: initialization failed.\n"); exit(1); } if (setjmp(fatal_env)) { goto quit_clisp_main; } if (jmpenvp <= 0) { /* ºÆµ¢¤¬¿¼¤¹¤®¤ë¾ì¹ç */ return; } jmpenvp--; fprintf(stderr,"CannaLisp listener %d.%d%s\n", CANNA_MAJOR_MINOR / 1000, CANNA_MAJOR_MINOR % 1000, CANNA_PATCH_LEVEL); outstream = stdout; setjmp(env[jmpenvp].jmp_env); env[jmpenvp].base_stack = sp - stack; env[jmpenvp].base_estack = esp - estack; signal(SIGINT, intr); for (;;) { prins("-> "); /* prompt */ push(Lread(0)); if (valuec > 1 && null(values[1])) { break; } push(Leval(1)); if (sp[0] == LISPERROR) { (void)pop1(); } else { (void)Lprint(1); prins("\n"); } } jmpenvp++; quit_clisp_main: prins("\nGoodbye.\n"); clisp_fin(); } #endif /* WITH_MAIN */ static int longestkeywordlen; typedef struct { char *seq; int id; } SeqToID; static SeqToID keywordtable[] = { {"Space" ,' '}, {"Escape" ,'\033'}, {"Tab" ,'\t'}, {"Nfer" ,CANNA_KEY_Nfer}, {"Xfer" ,CANNA_KEY_Xfer}, {"Backspace" ,'\b'}, {"Delete" ,'\177'}, {"Insert" ,CANNA_KEY_Insert}, {"Rollup" ,CANNA_KEY_Rollup}, {"Rolldown" ,CANNA_KEY_Rolldown}, {"Up" ,CANNA_KEY_Up}, {"Left" ,CANNA_KEY_Left}, {"Right" ,CANNA_KEY_Right}, {"Down" ,CANNA_KEY_Down}, {"Home" ,CANNA_KEY_Home}, {"Clear" ,'\013'}, {"Help" ,CANNA_KEY_Help}, {"End" ,CANNA_KEY_End}, {"Enter" ,'\n'}, {"Return" ,'\r'}, /* "F1" is processed by program */ {"F2" ,CANNA_KEY_F2}, {"F3" ,CANNA_KEY_F3}, {"F4" ,CANNA_KEY_F4}, {"F5" ,CANNA_KEY_F5}, {"F6" ,CANNA_KEY_F6}, {"F7" ,CANNA_KEY_F7}, {"F8" ,CANNA_KEY_F8}, {"F9" ,CANNA_KEY_F9}, {"F10" ,CANNA_KEY_F10}, /* "Pf1" is processed by program */ {"Pf2" ,CANNA_KEY_PF2}, {"Pf3" ,CANNA_KEY_PF3}, {"Pf4" ,CANNA_KEY_PF4}, {"Pf5" ,CANNA_KEY_PF5}, {"Pf6" ,CANNA_KEY_PF6}, {"Pf7" ,CANNA_KEY_PF7}, {"Pf8" ,CANNA_KEY_PF8}, {"Pf9" ,CANNA_KEY_PF9}, {"Pf10" ,CANNA_KEY_PF10}, {"Hiragana" ,CANNA_KEY_HIRAGANA}, {"Katakana" ,CANNA_KEY_KATAKANA}, {"Hankakuzenkaku" ,CANNA_KEY_HANKAKUZENKAKU}, {"Eisu" ,CANNA_KEY_EISU}, {"S-Nfer" ,CANNA_KEY_Shift_Nfer}, {"S-Xfer" ,CANNA_KEY_Shift_Xfer}, {"S-Up" ,CANNA_KEY_Shift_Up}, {"S-Down" ,CANNA_KEY_Shift_Down}, {"S-Left" ,CANNA_KEY_Shift_Left}, {"S-Right" ,CANNA_KEY_Shift_Right}, {"C-Nfer" ,CANNA_KEY_Cntrl_Nfer}, {"C-Xfer" ,CANNA_KEY_Cntrl_Xfer}, {"C-Up" ,CANNA_KEY_Cntrl_Up}, {"C-Down" ,CANNA_KEY_Cntrl_Down}, {"C-Left" ,CANNA_KEY_Cntrl_Left}, {"C-Right" ,CANNA_KEY_Cntrl_Right}, {0 ,0}, }; #define charToNum(c) charToNumTbl[(c) - ' '] static int *charToNumTbl; typedef struct { int id; int *tbl; } seqlines; static seqlines *seqTbl; /* ÆâÉô¤Îɽ(¼ÂºÝ¤Ë¤Ïɽ¤Îɽ) */ static int nseqtbl; /* ¾õÂ֤οô¡£¾õÂ֤οô¤À¤±É½¤¬¤¢¤ë */ static int nseq; static int seqline; static initIS() { SeqToID *p; char *s; int i; seqlines seqTbls[1024]; seqTbl = (seqlines *)0; seqline = 0; nseqtbl = 0; nseq = 0; longestkeywordlen = 0; for (i = 0 ; i < 1024 ; i++) { seqTbls[i].tbl = (int *)0; seqTbls[i].id = 0; } charToNumTbl = (int *)calloc('~' - ' ' + 1, sizeof(int)); if ( !charToNumTbl ) { return 0; } /* ¤Þ¤º²¿Ê¸»ú»È¤ï¤ì¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¡£ nseq ¤Ï»È¤ï¤ì¤Æ¤¤¤ëʸ»ú¿ô¤è¤ê£±Â礭¤¤ÃͤǤ¢¤ë */ for (p = keywordtable ; p->id ; p++) { int len = 0; for (s = p->seq ; *s ; s++) { if ( !charToNumTbl[*s - ' '] ) { charToNumTbl[*s - ' '] = nseq; /* ³ÆÊ¸»ú¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò¿¶¤ë */ nseq++; } len ++; } if (len > longestkeywordlen) { longestkeywordlen = len; } } /* ʸ»ú¿ôʬ¤Î¥Æ¡¼¥Ö¥ë */ seqTbls[nseqtbl].tbl = (int *)calloc(nseq, sizeof(int)); if ( !seqTbls[nseqtbl].tbl ) { goto initISerr; } nseqtbl++; for (p = keywordtable ; p->id ; p++) { int line, nextline; line = 0; for (s = p->seq ; *s ; s++) { if (seqTbls[line].tbl == 0) { /* ¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤ */ seqTbls[line].tbl = (int *)calloc(nseq, sizeof(int)); if ( !seqTbls[line].tbl ) { goto initISerr; } } nextline = seqTbls[line].tbl[charToNum(*s)]; /* ¤Á¤Ê¤ß¤Ë¡¢charToNum(*s) ¤ÏÀäÂФˣ°¤Ë¤Ê¤é¤Ê¤¤ */ if ( nextline ) { line = nextline; } else { /* ºÇ½é¤Ë¥¢¥¯¥»¥¹¤·¤¿ */ line = seqTbls[line].tbl[charToNum(*s)] = nseqtbl++; } } seqTbls[line].id = p->id; } seqTbl = (seqlines *)calloc(nseqtbl, sizeof(seqlines)); if ( !seqTbl ) { goto initISerr; } for (i = 0 ; i < nseqtbl ; i++) { seqTbl[i].id = seqTbls[i].id; seqTbl[i].tbl = seqTbls[i].tbl; } return 1; initISerr: free(charToNumTbl); charToNumTbl = (int *)0; if (seqTbl) { free(seqTbl); seqTbl = (seqlines *)0; } for (i = 0 ; i < nseqtbl ; i++) { if (seqTbls[i].tbl) { free(seqTbls[i].tbl); seqTbls[i].tbl = (int *)0; } } return 0; } static void finIS() /* identifySequence ¤ËÍѤ¤¤¿¥á¥â¥ê»ñ¸»¤ò³«Êü¤¹¤ë */ { int i; if (seqTbl) { for (i = 0 ; i < nseqtbl ; i++) { if (seqTbl[i].tbl) free(seqTbl[i].tbl); seqTbl[i].tbl = (int *)0; } free(seqTbl); seqTbl = (seqlines *)0; } if (charToNumTbl) { free(charToNumTbl); charToNumTbl = (int *)0; } } /* cvariable seqline: identifySequence ¤Ç¤Î¾õÂÖ¤òÊÝ»ý¤¹¤ëÊÑ¿ô */ #define CONTINUE 1 #define END 0 static identifySequence(c, val) unsigned c; int *val; { int nextline; if (' ' <= c && c <= '~' && charToNum(c) && (nextline = seqTbl[seqline].tbl[charToNum(c)]) ) { seqline = nextline; *val = seqTbl[seqline].id; if (*val) { seqline = 0; return END; } else { return CONTINUE; /* continue */ } } else { *val = -1; seqline = 0; return END; } } static int alloccell() { int cellsize, odd; char *p; cellsize = ncells * sizeof(list); p = malloc(cellsize); if (p == (char *)0) { return 0; } memtop = p; odd = (int)((pointerint)memtop % sizeof(list)); freecell = celltop = memtop + (odd ? (sizeof(list)) - odd : 0); cellbtm = memtop + cellsize - odd; return 1; } /* ¤¦¤Þ¤¯¹Ô¤«¤Ê¤«¤Ã¤¿¤é£°¤òÊÖ¤¹ */ static allocarea() { /* ¤Þ¤º¤Ï¥»¥ëÎΰè */ if (alloccell()) { /* ¥¹¥¿¥Ã¥¯Îΰè */ stack = (list *)calloc(STKSIZE, sizeof(list)); if (stack) { estack = (list *)calloc(STKSIZE, sizeof(list)); if (estack) { /* oblist */ oblist = (list *)calloc(BUFSIZE, sizeof(list)); if (oblist) { /* I/O */ filep = 0; files = (lispfile *)calloc(MAX_DEPTH, sizeof(lispfile)); if (files) { readbuf = malloc(BUFSIZE); if (readbuf) { /* jump env */ jmpenvp = MAX_DEPTH; env = (struct lispcenv *) calloc(MAX_DEPTH, sizeof(struct lispcenv)); if (env) { /* multiple values returning buffer */ valuec = 1; values = (list *)calloc(MAXVALUES, sizeof(list)); if (values) { return 1; } free(env); } free(readbuf); } free(files); } free(oblist); } free(estack); } free(stack); } free(memtop); } return 0; } static void freearea() { free((char *)memtop); free((char *)stack); free((char *)estack); free((char *)oblist); free((char *)files); free((char *)env); free((char *)readbuf); if (values) { free(values); values = 0; } } static list getatmz(name) char *name; { int key; char *p; for (p = name, key = 0 ; *p ; p++) key += *p; return getatm(name,key); } /* mkatm - making symbol function */ static list mkatm(name) char *name; { list temp; struct atomcell *newatom; temp = newsymbol(name); newatom = symbolpointer(temp); newatom->value = (*name == ':') ? (list)temp : (list)UNBOUND; newatom->plist = NIL; /* set null plist */ newatom->ftype = UNDEF; /* set undef func-type */ newatom->func = (list (*)())0; /* Don't kill this line */ newatom->valfunc = (list (*)())0; /* Don't kill this line */ newatom->hlink = NIL; /* no hash linking */ newatom->mid = -1; newatom->fid = -1; return temp; } /* getatm -- get atom from the oblist if possible */ static list getatm(name,key) char *name; int key; { list p; struct atomcell *atomp; key &= 0x00ff; for (p = oblist[key] ; p ;) { atomp = symbolpointer(p); if (!strcmp(atomp->pname, name)) { return p; } p = atomp->hlink; } p = mkatm(name); atomp = symbolpointer(p); atomp->hlink = oblist[key]; oblist[key] = p; return p; } #define MESSAGE_MAX 256 static void error(msg,v) char *msg; list v; /* ARGSUSED */ { char buf[MESSAGE_MAX]; prins(msg); if (v != (list)NON) print(v); if (files[filep].f == stdin) { prins("\n"); } else { if (files[filep].name) { sprintf(buf, " (%s near line %d)\n", files[filep].name, files[filep].line); } else { sprintf(buf, " (near line %d)\n", files[filep].line); } prins(buf); } sp = &stack[env[jmpenvp].base_stack]; esp = &estack[env[jmpenvp].base_estack]; /* epush(NIL); */ longjmp(env[jmpenvp].jmp_env,YES); } static void fatal(msg,v) char *msg; list v; /* ARGSUSED */ { char buf[MESSAGE_MAX]; prins(msg); if (v != (list)NON) print(v); if (files[filep].f == stdin) { prins("\n"); } else { if (files[filep].name) { sprintf(buf, " (%s near line %d)\n", files[filep].name, files[filep].line); } else { sprintf(buf, " (near line %d)\n", files[filep].line); } prins(buf); } longjmp(fatal_env, 1); } static void argnerr(msg) char *msg; { prins("incorrect number of args to "); error(msg, NON); /* NOTREACHED */ } static void numerr(fn,arg) char *fn; list arg; { prins("Non-number "); if (fn) { prins("to "); prins(fn); } error(": ",arg); /* NOTREACHED */ } static void lisp_strerr(fn,arg) char *fn; list arg; { prins("Non-string "); if (fn) { prins("to "); prins(fn); } error(": ",arg); /* NOTREACHED */ } static list Lread(n) int n; { list t; argnchk("read",0); valuec = 1; if ((t = read1()) == (list)LISPERROR) { readptr = readbuf; *readptr = '\0'; if (files[filep].f != stdin) { if (files[filep].f) fclose(files[filep].f); if (files[filep].name) { free(files[filep].name); } filep--; } values[0] = NIL; values[1] = NIL; valuec = 2; return(NIL); } else { values[0] = t; values[1] = T; valuec = 2; return(t); } /* NOTREACHED */ } static void untyi pro((int)); static list rcharacter pro((void)); static list read1() { int c; list p, *pp; list t; char *eofmsg = "EOF hit in reading a list : "; lab: if ( !skipspaces() ) { return((list)LISPERROR); } switch (c = tyi()) { case '(': push(NIL); p = Lncons(1); /* get a new cell */ car(p) = p; push(p); pp = sp; for (;;) { lab2: if ( !skipspaces() ) { error(eofmsg,cdr(*pp)); /* NOTREACHED */ } switch (c = tyi()) { case ';': zaplin(); goto lab2; case ')': return(cdr(pop1())); case '.': if ( !(c = tyipeek()) ) { error(eofmsg,cdr(*pp)); /* NOTREACHED */ } else if ( !isterm(c) ) { push(ratom2('.')); push(NIL); car(*pp) = cdar(*pp) = Lcons(2); break; } else { cdar(*pp) = read1(); if (cdar(*pp) == (list)LISPERROR) { error(eofmsg,cdr(*pp)); /* NOTREACHED */ } while (')' != (c = tyi())) if ( !c ) { error(eofmsg,cdr(*pp)); /* NOTREACHED */ } return(cdr(pop1())); } default: untyi(c); if ((t = read1()) == (list)LISPERROR) { error(eofmsg,cdr(*pp)); /* NOTREACHED */ } push(t); push(NIL); car(*pp) = cdar(*pp) = Lcons(2); } } case '\'': push(QUOTE); if ((t = read1()) == (list)LISPERROR) { error(eofmsg,NIL); /* NOTREACHED */ } push(t); push(NIL); push(Lcons(2)); return Lcons(2); case '"': return rstring(); case '?': return rcharacter(); case ';': zaplin(); goto lab; default: untyi(c); return ratom(); } } /* skipping spaces function - if eof read then return NO */ static skipspaces() { int c; while ((c = tyi()) <= ' ') { if ( !c ) { return(NO); } #ifdef QUIT_IF_BINARY_CANNARC /* ¼Â¤Ï fatal() ¤Ë¤·¤Æ¤·¤Þ¤¦¤È read ¤Ç¤­¤Ê¤«¤Ã¤¿¤È»×¤¤¡¢¼¡¤Î¥Õ¥¡¥¤¥ë¤ò õ¤·¤Ë¹Ô¤¯¤Î¤Ç¤¢¤Þ¤êÎɤ¯¤Ê¤¤¡£return ¤ò¼õ¤±¤¿¤È¤³¤í¤âÊѤ¨¤Ê¤±¤ì¤Ð¤Ê ¤é¤Ê¤¤¡£ÌÌÅݤʤΤǡ¢¤È¤ê¤¢¤¨¤º³°¤¹ */ if (c != '\033' && c != '\n' && c != '\r' && c!= '\t' && c < ' ') { fatal("read: Binary data read.", NON); } #endif } untyi(c); return(YES); } /* skip reading until '\n' - if eof read then return NO */ static zaplin() { int c; while ((c = tyi()) != '\n') if ( !c ) return(NO); return(YES); } static void gc(); static list newcons() { list retval; if (freecell + sizeof(struct cell) >= cellbtm) { gc(); } retval = CONS_TAG | (freecell - celltop); freecell += sizeof(struct cell); return retval; } static list newsymbol(name) char *name; { list retval; struct atomcell *temp; int namesize; namesize = strlen(name); namesize = ((namesize / sizeof(list)) + 1) * sizeof(list); /* +1¤Ï'\0'¤Îʬ */ if (freecell + (sizeof(struct atomcell)) + namesize >= cellbtm) { gc(); } temp = (struct atomcell *)freecell; retval = SYMBOL_TAG | (freecell - celltop); freecell += sizeof(struct atomcell); (void)strcpy(freecell, name); temp->pname = freecell; freecell += namesize; return retval; } static void patom(); static void print(l) list l; { if ( !l ) /* case NIL */ prins("nil"); else if (atom(l)) patom(l); else { tyo('('); print(car(l)); for (l = cdr(l) ; l ; l = cdr(l)) { tyo(' '); if (atom(l)) { tyo('.'); tyo(' '); patom(l); break; } else print(car(l)); } tyo(')'); } } /* ** read atom */ static list ratom() { return(ratom2(tyi())); } /* read atom with the first one character - check if the token is numeric or pure symbol & return proper value */ static isnum(); static list ratom2(a) int a; { int i, c, flag; char atmbuf[BUFSIZE]; flag = NO; if (a == '\\') { flag = YES; a = tyi(); } atmbuf[0] = a; for (i = 1, c = tyi(); !isterm(c) ; i++, c = tyi()) { if ( !c ) { error("Eof hit in reading symbol.", NON); /* NOTREACHED */ } if (c == '\\') { flag = YES; } if (i < BUFSIZE) { atmbuf[i] = c; } else { error("Too long symbol name read", NON); /* NOTREACHED */ } } untyi(c); if (i < BUFSIZE) { atmbuf[i] = '\0'; } else { error("Too long symbol name read", NON); /* NOTREACHED */ } if ( !flag && isnum(atmbuf)) { return(mknum(atoi(atmbuf))); } else if ( !flag && !strcmp("nil",atmbuf) ) { return(NIL); } else { return (getatmz(atmbuf)); } } static list rstring() { char strb[BUFSIZE]; int c; int strp = 0; while ((c = tyi()) != '"') { if ( !c ) { error("Eof hit in reading a string.", NON); /* NOTREACHED */ } if (strp < BUFSIZE) { if (c == '\\') { untyi(c); c = (char)(((canna_uintptr_t)rcharacter()) & 0xff); } strb[strp++] = (char)c; } else { error("Too long string read.", NON); /* NOTREACHED */ } } if (strp < BUFSIZE) { strb[strp] = '\0'; } else { error("Too long string read.", NON); /* NOTREACHED */ } return copystring(strb, strp); } /* rcharacter -- °ìʸ»úÆÉ¤ó¤ÇÍè¤ë¡£ */ static list rcharacter() { char *tempbuf; unsigned ch; list retval; int bufp; tempbuf = malloc(longestkeywordlen + 1); if ( !tempbuf ) { fatal("read: malloc failed in reading character.", NON); /* NOTREACHED */ } bufp = 0; ch = tyi(); if (ch == '\\') { int code, res; do { /* ¥­¡¼¥ï¡¼¥É¤È¾È¹ç¤¹¤ë */ tempbuf[bufp++] = ch = tyi(); res = identifySequence(ch, &code); } while (res == CONTINUE); if (code != -1) { /* ¥­¡¼¥ï¡¼¥É¤È°ìÃפ·¤¿¡£ */ retval = mknum(code); } else if (bufp > 2 && tempbuf[0] == 'C' && tempbuf[1] == '-') { while (bufp > 3) { untyi(tempbuf[--bufp]); } retval = mknum(tempbuf[2] & (' ' - 1)); } else if (bufp == 3 && tempbuf[0] == 'F' && tempbuf[1] == '1') { untyi(tempbuf[2]); retval = mknum(CANNA_KEY_F1); } else if (bufp == 4 && tempbuf[0] == 'P' && tempbuf[1] == 'f' && tempbuf[2] == '1') { untyi(tempbuf[3]); retval = mknum(CANNA_KEY_PF1); } else { /* Á´Á³ÂÌÌÜ */ while (bufp > 1) { untyi(tempbuf[--bufp]); } ch = (unsigned)(unsigned char)tempbuf[0]; goto return_char; } } else { return_char: if (ch == 0x8f) { /* SS3 */ ch <<= 8; ch += tyi(); goto shift_more; } else if (ch & 0x80) { /* ¤¦¡Á¤ó¡¢ÆüËܸì¤Ë°Í¸¤·¤Æ¤¤¤ë */ shift_more: ch <<= 8; ch += tyi(); } retval = mknum(ch); } free(tempbuf); return retval; } static isnum(name) char *name; { if (*name == '-') { name++; if ( !*name ) return(NO); } for(; *name ; name++) { if (*name < '0' || '9' < *name) { if (*name != '.' || *(name + 1)) { return(NO); } } } return(YES); } /* tyi -- input one character from buffered stream */ static void untyi(c) int c; { if (readbuf < readptr) { *--readptr = c; } else { if (untyip >= untyisize) { if (untyisize == 0) { untyibuf = malloc(UNTYIUNIT); if (untyibuf) { untyisize = UNTYIUNIT; } } else { untyibuf = realloc(untyibuf, UNTYIUNIT + untyisize); if (untyibuf) { untyisize += UNTYIUNIT; } } } if (untyip < untyisize) { /* ¤½¤ì¤Ç¤â¥Á¥§¥Ã¥¯¤¹¤ë */ untyibuf[untyip++] = c; } } } static int tyi() { char *gets(), *fgets(); if (untyibuf) { int ret = untyibuf[--untyip]; if (untyip == 0) { free(untyibuf); untyibuf = (char *)0; untyisize = 0; } return ret; } if (readptr && *readptr) { return ((int)(unsigned char)*readptr++); } else if (!files[filep].f) { return NO; } else if (files[filep].f == stdin) { readptr = fgets(readbuf, BUFSIZE, stdin); files[filep].line++; if ( !readptr ) { return NO; } else { return tyi(); } } else { readptr = fgets(readbuf,BUFSIZE,files[filep].f); files[filep].line++; if (readptr) { return(tyi()); } else { return(NO); } } /* NOTREACHED */ } /* tyipeek -- input one character without advance the read pointer */ static int tyipeek() { int c = tyi(); untyi(c); return c; } /* tyo -- output one character */ static void tyo(c) int c; { if (outstream) { (void)putc(c, outstream); } } /* prins - print string */ static void prins(s) char *s; { while (*s) { tyo(*s++); } } /* isterm - check if the character is terminating the lisp expression */ static isterm(c) int c; { if (c <= ' ') return(YES); else { switch (c) { case '(': case ')': case ';': return(YES); default: return(NO); } } } /* push down an S-expression to parameter stack */ static void push(value) list value; { if (sp <= stack) { error("Stack over flow",NON); /* NOTREACHED */ } else *--sp = value; } /* pop up n S-expressions from parameter stack */ static void pop(x) int x; { if (0 < x && sp >= &stack[STKSIZE]) { error("Stack under flow",NON); /* NOTREACHED */ } sp += x; } /* pop up an S-expression from parameter stack */ static list pop1() { if (sp >= &stack[STKSIZE]) { error("Stack under flow",NON); /* NOTREACHED */ } return(*sp++); } static void epush(value) list value; { if (esp <= estack) { error("Estack over flow",NON); /* NOTREACHED */ } else *--esp = value; } static list epop() { if (esp >= &estack[STKSIZE]) { error("Lstack under flow",NON); /* NOTREACHED */ } return(*esp++); } /* ** output function for lisp S-Expression */ /* ** print atom function ** please make sure it is an atom (not list) ** no check is done here. */ static void patom(atm) list atm; { char namebuf[BUFSIZE]; if (constp(atm)) { if (numberp(atm)) { (void)sprintf(namebuf,"%d",(int)xnum(atm)); prins(namebuf); } else { /* this is a string */ int i, len = xstrlen(atm); char *s = xstring(atm); tyo('"'); for (i = 0 ; i < len ; i++) { tyo(s[i]); } tyo('"'); } } else { prins(symbolpointer(atm)->pname); } } static void markcopycell(); static char *oldcelltop; static char *oldcellp; #define oldpointer(x) (oldcelltop + celloffset(x)) static void gc() /* ¥³¥Ô¡¼Êý¼°¤Î¥¬¡¼¥Ù¥¸¥³¥ì¥¯¥·¥ç¥ó¤Ç¤¢¤ë */ { int i; list *p; static int under_gc = 0; if (under_gc) { fatal("GC: memory exhausted.", NON); } else { under_gc = 1; } oldcellp = memtop; oldcelltop = celltop; if ( !alloccell() ) { fatal("GC: failed in allocating new cell area.", NON); /* NOTREACHED */ } for (i = 0 ; i < BUFSIZE ; i++) { markcopycell(oblist + i); } for (p = sp ; p < &stack[STKSIZE] ; p++) { markcopycell(p); } for (p = esp ; p < &estack[STKSIZE] ; p++) { markcopycell(p); } for (i = 0 ; i < valuec ; i++) { markcopycell(values + i); } markcopycell(&T); markcopycell("E); markcopycell(&_LAMBDA); markcopycell(&_MACRO); markcopycell(&COND); markcopycell(&USER); markcopycell(&BUSHU); markcopycell(&GRAMMAR); markcopycell(&RENGO); markcopycell(&KATAKANA); markcopycell(&HIRAGANA); markcopycell(&HYPHEN); free(oldcellp); if ((freecell - celltop) * 2 > cellbtm -celltop) { ncells = (freecell - celltop) * 2 / sizeof(list); } under_gc = 0; } static char *Strncpy(); static list allocstring(n) int n; { int namesize; list retval; namesize = ((n + (sizeof(pointerint)) + 1 + 3)/ sizeof(list)) * sizeof(list); if (freecell + namesize >= cellbtm) { /* gc Ãæ¤Ïµ¯¤³¤êÆÀ¤Ê¤¤¤Ï¤º */ gc(); } ((struct stringcell *)freecell)->length = n; retval = STRING_TAG | (freecell - celltop); freecell += namesize; return retval; } static list copystring(s, n) char *s; int n; { list retval; retval = allocstring(n); (void)Strncpy(xstring(retval), s, n); xstring(retval)[n] = '\0'; return retval; } static list copycons(l) struct cell *l; { list newcell; newcell = newcons(); car(newcell) = l->head; cdr(newcell) = l->tail; return newcell; } static void markcopycell(addr) list *addr; { list temp; redo: if (null(*addr) || numberp(*addr)) { return; } else if (alreadycopied(oldpointer(*addr))) { *addr = newaddr(gcfield(oldpointer(*addr))); return; } else if (stringp(*addr)) { temp = copystring(((struct stringcell *)oldpointer(*addr))->str, ((struct stringcell *)oldpointer(*addr))->length); gcfield(oldpointer(*addr)) = mkcopied(temp); *addr = temp; return; } else if (consp(*addr)) { temp = copycons((struct cell *)(oldpointer(*addr))); gcfield(oldpointer(*addr)) = mkcopied(temp); *addr = temp; markcopycell(&car(temp)); addr = &cdr(temp); goto redo; } else { /* symbol */ struct atomcell *newatom, *oldatom; oldatom = (struct atomcell *)(oldpointer(*addr)); temp = newsymbol(oldatom->pname); newatom = symbolpointer(temp); newatom->value = oldatom->value; newatom->plist = oldatom->plist; newatom->ftype = oldatom->ftype; newatom->func = oldatom->func; newatom->fid = oldatom->fid; newatom->mid = oldatom->mid; newatom->valfunc = oldatom->valfunc; newatom->hlink = oldatom->hlink; gcfield(oldpointer(*addr)) = mkcopied(temp); *addr = temp; if (newatom->value != (list)UNBOUND) { markcopycell(&newatom->value); } markcopycell(&newatom->plist); if (newatom->ftype == EXPR || newatom->ftype == MACRO) { markcopycell((int *)&newatom->func); } addr = &newatom->hlink; goto redo; } } static list bindall(var,par,a,e) list var, par, a, e; { list *pa, *pe, retval; push(a); pa = sp; push(e); pe = sp; retry: if (constp(var)) { pop(2); return(*pa); } else if (atom(var)) { push(var); push(par); push(Lcons(2)); push(*pa); retval = Lcons(2); pop(2); return retval; } else if (atom(par)) { error("Bad macro form ",e); /* NOTREACHED */ } push(par); push(var); *pa = bindall(car(var),car(par),*pa,*pe); var = cdr(pop1()); par = cdr(pop1()); goto retry; /* NOTREACHED */ } static list Lquote() { list p; p = pop1(); if (atom(p)) return(NIL); else return(car(p)); } static list Leval(n) int n; { list e, t, s, tmp, aa, *pe, *pt, *ps, *paa; list fn, (*cfn)(), *pfn; int i, j; argnchk("eval",1); e = sp[0]; pe = sp; if (atom(e)) { if (constp(e)) { pop1(); return(e); } else { struct atomcell *sym; t = assq(e, *esp); if (t) { (void)pop1(); return(cdr(t)); } else if ((sym = symbolpointer(e))->valfunc) { (void)pop1(); return (sym->valfunc)(VALGET, 0); } else { if ((t = (sym->value)) != (list)UNBOUND) { pop1(); return(t); } else { error("Unbound variable: ",*pe); /* NOTREACHED */ } } } } else if (constp((fn = car(e)))) { /* not atom */ error("eval: undefined function ", fn); /* NOTREACHED */ } else if (atom(fn)) { switch (symbolpointer(fn)->ftype) { case UNDEF: error("eval: undefined function ", fn); /* NOTREACHED */ break; case SUBR: cfn = symbolpointer(fn)->func; i = evpsh(cdr(e)); epush(NIL); t = (*cfn)(i); epop(); pop1(); return (t); case SPECIAL: push(cdr(e)); t = (*(symbolpointer(fn)->func))(); pop1(); return (t); case EXPR: fn = (list)(symbolpointer(fn)->func); aa = NIL; /* previous env won't be used */ expr: if (atom(fn) || car(fn) != _LAMBDA || atom(cdr(fn))) { error("eval: bad lambda form ", fn); /* NOTREACHED */ } /* Lambda binding begins here ... */ s = cdr(e); /* actual parameter */ t = cadr(fn); /* lambda list */ push(s); ps = sp; push(t); pt = sp; push(fn); pfn = sp; push(aa); paa = sp; i = 0; /* count of variables */ for (; consp(*ps) && consp(*pt) ; *ps = cdr(*ps), *pt = cdr(*pt)) { if (consp(car(*pt))) { tmp = cdar(*pt); /* push the cdr of element */ if (!(atom(tmp) || null(cdr(tmp)))) { push(cdr(tmp)); push(T); push(Lcons(2)); i++; } push(caar(*pt)); } else { push(car(*pt)); } push(car(*ps)); push(Leval(1)); push(Lcons(2)); i++; } for (; consp(*pt) ; *pt = cdr(*pt)) { if (atom(car(*pt))) { error("Too few actual parameters ",*pe); /* NOTREACHED */ } else { tmp = cdar(*pt); if (!(atom(tmp) || null(cdr(tmp)))) { push(cdr(tmp)); push(NIL); push(Lcons(2)); i++; } push(caar(*pt)); tmp = cdar(*pt); /* restore for GC */ if (atom(tmp)) push(NIL); else { push(car(tmp)); push(Leval(1)); } push(Lcons(2)); i++; } } if (null(*pt) && consp(*ps)) { error("Too many actual arguments ",*pe); /* NOTREACHED */ } else if (*pt) { push(*pt); for (j = 1 ; consp(*ps) ; j++) { push(car(*ps)); push(Leval(1)); *ps = cdr(*ps); } push(NIL); for (; j ; j--) { push(Lcons(2)); } i++; } push(*paa); for (; i ; i--) { push(Lcons(2)); } /* Lambda binding finished, and a new environment is established. */ epush(pop1()); /* set the new environment */ push(cddr(*pfn)); t = Lprogn(); epop(); pop(5); return (t); case MACRO: fn = (list)(symbolpointer(fn)->func); if (atom(fn) || car(fn) != _MACRO || atom(cdr(fn))) { error("eval: bad macro form ",fn); /* NOTREACHED */ } s = cdr(e); /* actual parameter */ t = cadr(fn); /* lambda list */ push(fn); epush(bindall(t,s,NIL,e)); push(cddr(pop1())); t = Lprogn(); epop(); push(t); push(t); s = Leval(1); t = pop1(); if (!atom(t)) { car(*pe) = car(t); cdr(*pe) = cdr(t); } pop1(); return (s); case CMACRO: push(e); push(t = (*(symbolpointer(fn)->func))()); push(t); s = Leval(1); t = pop1(); if (!atom(t)) { car(e) = car(t); cdr(e) = cdr(t); } pop1(); return (s); default: error("eval: unrecognized ftype used in ", fn); /* NOTREACHED */ break; } /* NOTREACHED */ } else { /* fn is list (lambda expression) */ aa = *esp; /* previous environment is also used */ goto expr; } /* maybe NOTREACHED */ return NIL; } static list assq(e,a) list e, a; { list i; for (i = a ; i ; i = cdr(i)) { if (consp(car(i)) && e == caar(i)) { return(car(i)); } } return((list)NIL); } /* eval each argument and push down each value to parameter stack */ static int evpsh(args) list args; { int counter; list temp; counter = 0; while (consp(args)) { push(args); push(car(args)); temp = Leval(1); args = cdr(pop1()); counter++; push(temp); } return (counter); } /* static int psh(args) list args; { int counter; counter = 0; while (consp(args)) { push(car(args)); counter++; args = cdr(args); } return (counter); } */ static list Lprogn() { list val, *pf; val = NIL; pf = sp; for (; consp(*pf) ; *pf = cdr(*pf)) { symbolpointer(T)->value = T; push(car(*pf)); val = Leval(1); } pop1(); return (val); } static list Lcons(n) int n; { list temp; argnchk("cons",2); temp = newcons(); cdr(temp) = pop1(); car(temp) = pop1(); return(temp); } static list Lncons(n) int n; { list temp; argnchk("ncons",1); temp = newcons(); car(temp) = pop1(); cdr(temp) = NIL; return(temp); } static list Lxcons(n) int n; { list temp; argnchk("cons",2); temp = newcons(); car(temp) = pop1(); cdr(temp) = pop1(); return(temp); } static list Lprint(n) int n; { print(sp[0]); pop(n); return (T); } static list Lset(n) int n; { list val, t; list var; struct atomcell *sym; argnchk("set",2); val = pop1(); var = pop1(); if (!symbolp(var)) { error("set/setq: bad variable type ",var); /* NOTREACHED */ } sym = symbolpointer(var); t = assq(var,*esp); if (t) { return cdr(t) = val; } else if (sym->valfunc) { return (*(sym->valfunc))(VALSET, val); } else { return sym->value = val; /* global set */ } } static list Lsetq() { list a, *pp; a = NIL; for (pp = sp; consp(*pp) ; *pp = cdr(*pp)) { push(car(*pp)); *pp = cdr(*pp); if ( atom(*pp) ) { error("Odd number of args to setq",NON); /* NOTREACHED */ } push(car(*pp)); push(Leval(1)); a = Lset(2); } pop1(); return(a); } static int equal(); static list Lequal(n) int n; { argnchk("equal (=)",2); if (equal(pop1(),pop1())) return(T); else return(NIL); } /* null ʸ»ú¤Ç½ª¤ï¤é¤Ê¤¤ strncmp */ static int Strncmp(x, y, len) char *x, *y; int len; { int i; for (i = 0 ; i < len ; i++) { if (x[i] != y[i]) { return (x[i] - y[i]); } } return 0; } /* null ʸ»ú¤Ç½ª¤ï¤é¤Ê¤¤ strncpy */ static char * Strncpy(x, y, len) char *x, *y; int len; { int i; for (i = 0 ; i < len ; i++) { x[i] = y[i]; } return x; } static int equal(x,y) list x, y; { equaltop: if (x == y) return(YES); else if (null(x) || null(y)) return(NO); else if (numberp(x) || numberp(y)) { return NO; } else if (stringp(x)) { if (stringp(y)) { return ((xstrlen(x) == xstrlen(y)) ? (!Strncmp(xstring(x), xstring(y), xstrlen(x))) : 0); } else { return NO; } } else if (symbolp(x) || symbolp(y)) { return(NO); } else { if (equal(car(x), car(y))) { x = cdr(x); y = cdr(y); goto equaltop; } else return(NO); } } static list Lgreaterp(n) int n; { list p; pointerint x, y; if ( !n ) return(T); else { p = pop1(); if (!numberp(p)) { numerr("greaterp",p); /* NOTREACHED */ } x = xnum(p); for (n-- ; n ; n--) { p = pop1(); if (!numberp(p)) { numerr("greaterp",p); /* NOTREACHED */ } y = xnum(p); if (y <= x) /* !(y > x) */ return(NIL); x = y; } return(T); } } static list Llessp(n) int n; { list p; pointerint x, y; if ( !n ) return(T); else { p = pop1(); if (!numberp(p)) { numerr("lessp",p); /* NOTREACHED */ } x = xnum(p); for (n-- ; n ; n--) { p = pop1(); if (!numberp(p)) { numerr("lessp",p); /* NOTREACHED */ } y = xnum(p); if (y >= x) /* !(y < x) */ return(NIL); x = y; } return(T); } } static list Leq(n) int n; { list f; argnchk("eq",2); f = pop1(); if (f == pop1()) return(T); else return(NIL); } static list Lcond() { list *pp, t, a, c; pp = sp; for (; consp(*pp) ; *pp = cdr(*pp)) { t = car(*pp); if (atom(t)) { pop1(); return (NIL); } else { push(cdr(t)); if ((c = car(t)) == T || (push(c), (a = Leval(1)))) { /* if non NIL */ t = pop1(); if (null(t)) { /* if cdr is NIL */ (void)pop1(); return (a); } else { (void)pop1(); push(t); return(Lprogn()); } } else { (void)pop1(); } } } pop1(); return (NIL); } static list Lnull(n) int n; { argnchk("null",1); if (pop1()) return NIL; else return T; } static list Lor() { list *pp, t; for (pp = sp; consp(*pp) ; *pp = cdr(*pp)) { push(car(*pp)); t = Leval(1); if (t) { pop1(); return(t); } } pop1(); return(NIL); } static list Land() { list *pp, t; t = T; for (pp = sp; consp(*pp) ; *pp = cdr(*pp)) { push(car(*pp)); if ( !(t = Leval(1)) ) { pop1(); return(NIL); } } pop1(); return(t); } static list Lplus(n) int n; { list t; int i; pointerint sum; i = n; sum = 0; while (i--) { t = sp[i]; if ( !numberp(t) ) { numerr("+",t); /* NOTREACHED */ } else { sum += xnum(t); } } pop(n); return(mknum(sum)); } static list Ltimes(n) int n; { list t; int i; pointerint sum; i = n; sum = 1; while (i--) { t = sp[i]; if ( !numberp(t) ) { numerr("*",t); /* NOTREACHED */ } else sum *= xnum(t); } pop(n); return(mknum(sum)); } static list Ldiff(n) int n; { list t; int i; pointerint sum; if ( !n ) return(mknum(0)); t = sp[n - 1]; if ( !numberp(t) ) { numerr("-",t); /* NOTREACHED */ } sum = xnum(t); if (n == 1) { pop1(); return(mknum(-sum)); } else { i = n - 1; while (i--) { t = sp[i]; if ( !numberp(t) ) { numerr("-",t); /* NOTREACHED */ } else sum -= xnum(t); } pop(n); return(mknum(sum)); } } static list Lquo(n) int n; { list t; int i; pointerint sum; if ( !n ) return(mknum(1)); t = sp[n - 1]; if ( !numberp(t) ) { numerr("/",t); /* NOTREACHED */ } sum = xnum(t); i = n - 1; while (i--) { t = sp[i]; if ( !numberp(t) ) { numerr("/",t); /* NOTREACHED */ } else if (xnum(t) != 0) { sum = sum / (pointerint)xnum(t); /* CP/M68K is bad... */ } else { /* division by zero */ error("Division by zero",NON); } } pop(n); return(mknum(sum)); } static list Lrem(n) int n; { list t; int i; pointerint sum; if ( !n ) return(mknum(0)); t = sp[n - 1]; if ( !numberp(t) ) { numerr("%",t); /* NOTREACHED */ } sum = xnum(t); i = n - 1; while (i--) { t = sp[i]; if ( !numberp(t) ) { numerr("%",t); /* NOTREACHED */ } else if (xnum(t) != 0) { sum = sum % (pointerint)xnum(t); /* CP/M68K is bad .. */ } else { /* division by zero */ error("Division by zero",NON); } } pop(n); return(mknum(sum)); } /* * Garbage Collection */ static list Lgc(n) int n; { argnchk("gc",0); gc(); return(NIL); } static list Lusedic(n) int n; { int i; list retval = NIL, temp; int dictype; extern struct dicname *kanjidicnames; struct dicname *kanjidicname; extern int auto_define; extern char *kataautodic; #ifdef HIRAGANAAUTO extern char *hiraautodic; #endif for (i = n ; i ; i--) { temp = sp[i - 1]; dictype = DIC_PLAIN; if (symbolp(temp) && i - 1 > 0) { if (temp == USER) { dictype = DIC_USER; } else if (temp == BUSHU) { dictype = DIC_BUSHU; } else if (temp == GRAMMAR) { dictype = DIC_GRAMMAR; } else if (temp == RENGO) { dictype = DIC_RENGO; } else if (temp == KATAKANA) { dictype = DIC_KATAKANA; auto_define = 1; } else if (temp == HIRAGANA) { dictype = DIC_HIRAGANA; } i--; temp = sp[i - 1]; } if (stringp(temp)) { kanjidicname = (struct dicname *)malloc(sizeof(struct dicname)); if (kanjidicname) { kanjidicname->name = malloc(strlen(xstring(temp)) + 1); if (kanjidicname->name) { strcpy(kanjidicname->name , xstring(temp)); kanjidicname->dictype = dictype; kanjidicname->dicflag = DIC_NOT_MOUNTED; kanjidicname->next = kanjidicnames; kanjidicnames = kanjidicname; if (kanjidicname->dictype == DIC_KATAKANA) { if (!kataautodic) { /* only the first one is valid */ kataautodic = kanjidicname->name; } } #ifdef HIRAGANAAUTO else if (kanjidicname->dictype == DIC_HIRAGANA) { if (!hiraautodic) { /* only the first one is valid */ hiraautodic = kanjidicname->name; } } #endif retval = T; continue; } free((char *)kanjidicname); } } } pop(n); return retval; } static list Llist(n) int n; { push(NIL); for (; n ; n--) { push(Lcons(2)); } return (pop1()); } static list Lcopysym(n) int n; { list src, dst; struct atomcell *dsta, *srca; argnchk("copy-symbol",2); src = pop1(); dst = pop1(); if (!symbolp(dst)) { error("copy-symbol: bad arg ", dst); /* NOTREACHED */ } if (!symbolp(src)) { error("copy-symbol: bad arg ", src); /* NOTREACHED */ } dsta = symbolpointer(dst); srca = symbolpointer(src); dsta->plist = srca->plist; dsta->value = srca->value; dsta->ftype = srca->ftype; dsta->func = srca->func; dsta->valfunc = srca->valfunc; dsta->mid = srca->mid; dsta->fid = srca->fid; return src; } static list Lload(n) int n; { list p, t; FILE *instream, *fopen(); argnchk("load",1); p = pop1(); if ( !stringp(p) ) { error("load: illegal file name ",p); /* NOTREACHED */ } if ((instream = fopen(xstring(p), "r")) == (FILE *)NULL) { error("load: file not found ",p); /* NOTREACHED */ } prins("[load "); print(p); prins("]\n"); if (jmpenvp <= 0) { /* ºÆµ¢¤¬¿¼¤¹¤®¤ë¾ì¹ç */ return NIL; } jmpenvp--; files[++filep].f = instream; files[filep].name = malloc(xstrlen(p) + 1); if (files[filep].name) { strcpy(files[filep].name, xstring(p)); } files[filep].line = 0; setjmp(env[jmpenvp].jmp_env); env[jmpenvp].base_stack = sp - stack; env[jmpenvp].base_estack = esp - estack; for (;;) { t = Lread(0); if (valuec > 1 && null(values[1])) { break; } else { push(t); Leval(1); } } jmpenvp++; return(T); } static list Lmodestr(n) int n; { list p; int mode; argnchk(S_SetModeDisp, 2); if ( !null(p = sp[0]) && !stringp(p) ) { lisp_strerr(S_SetModeDisp, p); /* NOTREACHED */ } if (!symbolp(sp[1]) || (mode = symbolpointer(sp[1])->mid) == -1) { error("Illegal mode ", sp[1]); /* NOTREACHED */ } changeModeName(mode, null(p) ? 0 : xstring(p)); pop(2); return p; } /* µ¡Ç½¥·¡¼¥±¥ó¥¹¤Î¼è¤ê½Ð¤· */ static int xfseq(fname, l, arr, arrsize) char *fname; list l; unsigned char *arr; int arrsize; { int i; if (atom(l)) { if (symbolp(l) && (arr[0] = (unsigned char)(symbolpointer(l)->fid)) != 255) { arr[1] = 0; } else { prins(fname); error(": illegal function ", l); /* NOTREACHED */ } return 1; } else { for (i = 0 ; i < arrsize - 1 && consp(l) ; i++, l = cdr(l)) { list temp = car(l); if (!symbolp(temp) || (arr[i] = (unsigned char)(symbolpointer(temp)->fid)) == 255) { prins(fname); error(": illegal function ", temp); /* NOTREACHED */ } } arr[i] = 0; return i; } } static list Lsetkey(n) int n; { list p; int mode, slen; unsigned char fseq[256]; unsigned char keyseq[256]; int retval; argnchk(S_SetKey, 3); if ( !stringp(p = sp[1]) ) { lisp_strerr(S_SetKey, p); /* NOTREACHED */ } if (!symbolp(sp[2]) || (mode = symbolpointer(sp[2])->mid) < 0 || (CANNA_MODE_MAX_REAL_MODE <= mode && mode < CANNA_MODE_MAX_IMAGINARY_MODE && mode != CANNA_MODE_HenkanNyuryokuMode)) { error("Illegal mode for set-key ", sp[2]); /* NOTREACHED */ } if (xfseq(S_SetKey, sp[0], fseq, 256)) { slen = xstrlen(p); Strncpy((char *)keyseq, xstring(p), slen); keyseq[slen] = 255; retval = changeKeyfunc(mode, (unsigned)keyseq[0], slen > 1 ? CANNA_FN_UseOtherKeymap : (fseq[1] != 0 ? CANNA_FN_FuncSequence : fseq[0]), fseq, keyseq); if (retval == NG) { error("Insufficient memory.", NON); /* NOTREACHED */ } } pop(3); return p; } static list Lgsetkey(n) int n; { list p; int slen; unsigned char fseq[256]; unsigned char keyseq[256]; int retval; argnchk(S_GSetKey, 2); if ( !stringp(p = sp[1]) ) { lisp_strerr(S_GSetKey, p); /* NOTREACHED */ } if (xfseq(S_GSetKey, sp[0], fseq, 256)) { slen = xstrlen(p); Strncpy((char *)keyseq, xstring(p), slen); keyseq[slen] = 255; retval = changeKeyfuncOfAll((unsigned)keyseq[0], slen > 1 ? CANNA_FN_UseOtherKeymap : (fseq[1] != 0 ? CANNA_FN_FuncSequence : fseq[0]), fseq, keyseq); if (retval == NG) { error("Insufficient memory.", NON); /* NOTREACHED */ } pop(2); return p; } else { pop(2); return NIL; } } static list Lputd(n) int n; { list body, a; list sym; struct atomcell *symp; argnchk("putd",2); a = body = pop1(); sym = pop1(); symp = symbolpointer(sym); if (constp(sym) || consp(sym)) { error("putd: function name must be a symbol : ",sym); /* NOTREACHED */ } if (null(body)) { symp->ftype = UNDEF; symp->func = (list (*)())UNDEF; } else if (consp(body)) { if (car(body) == _MACRO) { symp->ftype = MACRO; symp->func = (list (*)())body; } else { symp->ftype = EXPR; symp->func = (list (*)())body; } } return(a); } static list Ldefun() { list form, res; form = sp[0]; if (atom(form)) { error("defun: illegal form ",form); /* NOTREACHED */ } push(car(form)); push(_LAMBDA); push(cdr(form)); push(Lcons(2)); Lputd(2); res = car(pop1()); return (res); } static list Ldefmacro() { list form, res; form = sp[0]; if (atom(form)) { error("defmacro: illegal form ",form); /* NOTREACHED */ } push(res = car(form)); push(_MACRO); push(cdr(form)); push(Lcons(2)); Lputd(2); pop1(); return (res); } static list Lcar(n) int n; { list f; argnchk("car",1); f = pop1(); if (!f) return(NIL); else if (atom(f)) { error("Bad arg to car ",f); /* NOTREACHED */ } return(car(f)); } static list Lcdr(n) int n; { list f; argnchk("cdr",1); f = pop1(); if (!f) return(NIL); else if (atom(f)) { error("Bad arg to cdr ",f); /* NOTREACHED */ } return(cdr(f)); } static list Latom(n) int n; { list f; argnchk("atom",1); f = pop1(); if (atom(f)) return(T); else return(NIL); } static list Llet() { list lambda, args, p, *pp, *pq, *pl, *px; px = sp; *px = cdr(*px); if (atom(*px)) { (void)pop1(); return(NIL); } else { push(NIL); args = Lncons(1); push(args); pq = sp; push(NIL); lambda = p = Lncons(1); push(lambda); push(p); pp = sp; push(*pq); pq = sp; push(NIL); pl = sp; for (*pl = car(*px) ; consp(*pl) ; *pl = cdr(*pl)) { if (atom(car(*pl))) { push(car(*pl)); *pp = cdr(*pp) = Lncons(1); push(NIL); *pq = cdr(*pq) = Lncons(1); } else if (atom(cdar(*pl))) { push(caar(*pl)); *pp = cdr(*pp) = Lncons(1); push(NIL); *pq = cdr(*pq) = Lncons(1); } else { push(caar(*pl)); *pp = cdr(*pp) = Lncons(1); push(cadr(car(*pl))); *pq = cdr(*pq) = Lncons(1); } } pop(3); sp[0] = cdr(sp[0]); sp[1] = cdr(sp[1]); push(cdr(*px)); push(Lcons(2)); push(_LAMBDA); push(Lxcons(2)); p = Lxcons(2); (void)pop1(); return(p); } } /* (if con tr . falist) -> (cond (con tr) (t . falist))*/ static list Lif() { list x, *px, retval; x = cdr(sp[0]); if (atom(x) || atom(cdr(x))) { (void)pop1(); return NIL; } else { push(x); px = sp; push(COND); push(car(x)); push(cadr(x)); push(Llist(2)); push(T); push(cddr(*px)); push(Lcons(2)); retval = Llist(3); pop(2); return retval; } } static list Lunbindkey(n) int n; { unsigned char fseq[2]; static unsigned char keyseq[2] = {(unsigned char)CANNA_KEY_Undefine, (unsigned char)255}; int mode; list retval; argnchk(S_UnbindKey, 2); if (!symbolp(sp[1]) || (mode = symbolpointer(sp[1])->mid) == -1) { error("Illegal mode ", sp[1]); /* NOTREACHED */ } if (xfseq(S_UnbindKey, sp[0], fseq, 2)) { int ret; ret = changeKeyfunc(mode, CANNA_KEY_Undefine, fseq[1] != 0 ? CANNA_FN_FuncSequence : fseq[0], fseq, keyseq); if (ret == NG) { error("Insufficient memory.", NON); /* NOTREACHED */ } retval = T; } else { retval = NIL; } pop(2); return retval; } static list Lgunbindkey(n) int n; { unsigned char fseq[2]; static unsigned char keyseq[2] = {(unsigned char)CANNA_KEY_Undefine, (unsigned char)255}; list retval; argnchk(S_GUnbindKey, 1); if (xfseq(S_GUnbindKey, sp[0], fseq, 2)) { int ret; ret = changeKeyfuncOfAll(CANNA_KEY_Undefine, fseq[1] != 0 ? CANNA_FN_FuncSequence : fseq[0], fseq, keyseq); if (ret == NG) { error("Insufficient memory.", NON); /* NOTREACHED */ } retval = T; } else { retval = NIL; } (void)pop1(); return retval; } #define DEFMODE_MEMORY 0 #define DEFMODE_NOTSTRING 1 #define DEFMODE_ILLFUNCTION 2 static list Ldefmode() { list form, *sym, e, *p, fn, rd, md, us; extern extraFunc *extrafuncp; extern int nothermodes; extraFunc *extrafunc = (extraFunc *)0; int i, j; int ecode; list l, edata; form = pop1(); if (atom(form)) { error("Bad form ", form); /* NOTREACHED */ } push(car(form)); sym = sp; if (!symbolp(*sym)) { error("Symbol data expected ", *sym); /* NOTREACHED */ } /* °ú¿ô¤ò¥×¥Ã¥·¥å¤¹¤ë */ for (i = 0, e = cdr(form) ; i < 4 ; i++, e = cdr(e)) { if (atom(e)) { for (j = i ; j < 4 ; j++) { push(NIL); } break; } push(car(e)); } if (consp(e)) { error("Bad form ", form); /* NOTREACHED */ } /* ɾ²Á¤¹¤ë */ for (i = 0, p = sym - 1 ; i < 4 ; i++, p--) { push(*p); push(Leval(1)); } us = pop1(); fn = pop1(); rd = pop1(); md = pop1(); pop(4); ecode = DEFMODE_MEMORY; extrafunc = (extraFunc *)malloc(sizeof(extraFunc)); if (extrafunc) { /* ¥·¥ó¥Ü¥ë¤Î´Ø¿ôÃͤȤ·¤Æ¤ÎÄêµÁ */ symbolpointer(*sym)->mid = CANNA_MODE_MAX_IMAGINARY_MODE + nothermodes; symbolpointer(*sym)->fid = extrafunc->fnum = CANNA_FN_MAX_FUNC + nothermodes; /* ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê */ extrafunc->display_name = (wchar_t *)NULL; extrafunc->u.modeptr = (newmode *)malloc(sizeof(newmode)); if (extrafunc->u.modeptr) { KanjiMode kanjimode; extrafunc->u.modeptr->romaji_table = (char *)0; extrafunc->u.modeptr->romdic = (struct RkRxDic *)0; extrafunc->u.modeptr->romdic_owner = 0; extrafunc->u.modeptr->flags = CANNA_YOMI_IGNORE_USERSYMBOLS; extrafunc->u.modeptr->emode = (KanjiMode)0; /* ¥â¡¼¥É¹½Â¤ÂΤκîÀ® */ kanjimode = (KanjiMode)malloc(sizeof(KanjiModeRec)); if (kanjimode) { int searchfunc(); extern KanjiModeRec empty_mode; extern BYTE *emptymap; kanjimode->func = searchfunc; kanjimode->keytbl = emptymap; kanjimode->flags = CANNA_KANJIMODE_TABLE_SHARED | CANNA_KANJIMODE_EMPTY_MODE; kanjimode->ftbl = empty_mode.ftbl; extrafunc->u.modeptr->emode = kanjimode; /* ¥â¡¼¥Éɽ¼¨Ê¸»úÎó */ ecode = DEFMODE_NOTSTRING; edata = md; if (stringp(md) || null(md)) { if (stringp(md)) { extrafunc->display_name = WString(xstring(md)); } ecode = DEFMODE_MEMORY; if (null(md) || extrafunc->display_name) { /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ ecode = DEFMODE_NOTSTRING; edata = rd; if (stringp(rd) || null(rd)) { char *newstr; long f = extrafunc->u.modeptr->flags; if (stringp(rd)) { newstr = malloc(strlen(xstring(rd)) + 1); } ecode = DEFMODE_MEMORY; if (null(rd) || newstr) { if (!null(rd)) { strcpy(newstr, xstring(rd)); extrafunc->u.modeptr->romaji_table = newstr; } /* ¼Â¹Ôµ¡Ç½ */ for (e = fn ; consp(e) ; e = cdr(e)) { l = car(e); if (symbolp(l) && symbolpointer(l)->fid) { switch (symbolpointer(l)->fid) { case CANNA_FN_Kakutei: f |= CANNA_YOMI_KAKUTEI; break; case CANNA_FN_Henkan: f |= CANNA_YOMI_HENKAN; break; case CANNA_FN_Zenkaku: f |= CANNA_YOMI_ZENKAKU; break; case CANNA_FN_Hankaku: f |= CANNA_YOMI_HANKAKU; break; case CANNA_FN_Hiragana: f |= CANNA_YOMI_HIRAGANA; break; case CANNA_FN_Katakana: f |= CANNA_YOMI_KATAKANA; break; case CANNA_FN_Romaji: f |= CANNA_YOMI_ROMAJI; break; /* °Ê²¼¤Ï¤½¤Î¤¦¤Á¤ä¤í¤¦ */ case CANNA_FN_ToUpper: break; case CANNA_FN_Capitalize: break; case CANNA_FN_ToLower: break; default: goto defmode_not_function; } } else { goto defmode_not_function; } } extrafunc->u.modeptr->flags = f; /* ¥æ¡¼¥¶¥·¥ó¥Ü¥ë¤Î»ÈÍѤÎ̵ͭ */ if (us) { extrafunc->u.modeptr->flags &= ~CANNA_YOMI_IGNORE_USERSYMBOLS; } extrafunc->keyword = EXTRA_FUNC_DEFMODE; extrafunc->next = extrafuncp; extrafuncp = extrafunc; nothermodes++; return pop1(); defmode_not_function: ecode = DEFMODE_ILLFUNCTION; edata = l; if (!null(rd)) { free(newstr); } } } if (extrafunc->display_name) { WSfree(extrafunc->display_name); } } } free((char *)kanjimode); } free((char *)extrafunc->u.modeptr); } free((char *)extrafunc); } switch (ecode) { case DEFMODE_MEMORY: error("Insufficient memory", NON); case DEFMODE_NOTSTRING: error("String data expected ", edata); case DEFMODE_ILLFUNCTION: error("defmode: illegal subfunction ", edata); } /* NOTREACHED */ } static list Ldefsym() { list form, res, e; int i, ncand, group; wchar_t cand[1024], *p, *mcand, **acand, key, xkey; int mcandsize; extern nkeysup; extern keySupplement keysup[]; form = sp[0]; if (atom(form)) { error("Illegal form ",form); /* NOTREACHED */ } /* ¤Þ¤º¿ô¤ò¤«¤¾¤¨¤ë */ for (ncand = 0 ; consp(form) ; ) { e = car(form); if (!numberp(e)) { error("Key data expected ", e); /* NOTREACHED */ } if (null(cdr(form))) { error("Illegal form ",sp[0]); /* NOTREACHED */ } if (numberp(car(cdr(form)))) { form = cdr(form); } for (i = 0, form = cdr(form) ; consp(form) ; i++, form = cdr(form)) { e = car(form); if (!stringp(e)) { break; } } if (ncand == 0) { ncand = i; } else if (ncand != i) { error("Inconsist number for each key definition ", sp[0]); /* NOTREACHED */ } } group = nkeysup; for (form = sp[0] ; consp(form) ;) { if (nkeysup >= MAX_KEY_SUP) { error("Too many symbol definitions", sp[0]); /* NOTREACHED */ } /* The following lines are for xkey translation rule */ key = (wchar_t)xnum(car(form)); if (numberp(car(cdr(form)))) { xkey = (wchar_t)xnum(car(cdr(form))); form = cdr(form); } else { xkey = key; } p = cand; for (form = cdr(form) ; consp(form) ; form = cdr(form)) { int len; e = car(form); if (!stringp(e)) { break; } len = MBstowcs(p, xstring(e), 1024 - (p - cand)); p += len; *p++ = (wchar_t)0; } *p++ = (wchar_t)0; mcandsize = p - cand; mcand = (wchar_t *)malloc(mcandsize * sizeof(wchar_t)); if (mcand == 0) { error("Insufficient memory", NON); /* NOTREACHED */ } acand = (wchar_t **)calloc(ncand + 1, sizeof(wchar_t *)); if (acand == 0) { free(mcand); error("Insufficient memory", NON); /* NOTREACHED */ } for (i = 0 ; i < p - cand ; i++) { mcand[i] = cand[i]; } for (i = 0, p = mcand ; i < ncand ; i++) { acand[i] = p; while (*p++) /* EMPTY */ ; } acand[i] = 0; /* ¼ÂºÝ¤Ë³ÊǼ¤¹¤ë */ keysup[nkeysup].key = key; keysup[nkeysup].xkey = xkey; keysup[nkeysup].groupid = group; keysup[nkeysup].ncand = ncand; keysup[nkeysup].cand = acand; keysup[nkeysup].fullword = mcand; nkeysup++; } res = car(pop1()); return (res); } #ifndef NO_EXTEND_MENU /* defselection ¤Ç°ìÍ÷¤Îʸ»ú¤ò¼è¤ê½Ð¤¹¤¿¤á¤ËɬÍפʤΤǡ¢°Ê²¼¤òÄêµÁ¤¹¤ë */ #define SS2 ((char)0x8e) #define SS3 ((char)0x8f) #define G0 0 #define G1 1 #define G2 2 #define G3 3 static int cswidth[4] = {1, 2, 2, 3}; /* getKutenCode -- ʸ»ú¤Î¶èÅÀ¥³¡¼¥É¤ò¼è¤ê½Ð¤¹ */ static int getKutenCode(data, ku, ten) char *data; int *ku, *ten; { int codeset; *ku = (data[0] & 0x7f) - 0x20; *ten = (data[1] & 0x7f) - 0x20; if (*data == SS2) { codeset = G2; *ku = 0; } else if (*data == SS3) { codeset = G3; *ku = *ten; *ten = (data[2] & 0x7f) - 0x20; } else if (*data & 0x80) { codeset = G1; } else { codeset = G0; *ten = *ku; *ku = 0; } return codeset; } /* howManuCharsAre -- defselection ¤ÇÈϰϻØÄꤷ¤¿¾ì¹ç¤Ë ¤½¤ÎÈÏ°ÏÆâ¤Î¿Þ·Áʸ»ú¤Î¸Ä¿ô¤òÊÖ¤¹ */ static int howManyCharsAre(tdata, edata, tku, tten, codeset) char *tdata, *edata; int *tku, *tten, *codeset; { int eku, eten, kosdata, koedata; kosdata = getKutenCode(tdata, tku, tten); koedata = getKutenCode(edata, &eku, &eten); if (kosdata != koedata) { return 0; } else { *codeset = kosdata; return ((eku - *tku) * 94 + eten - *tten + 1); } } /* pickupChars -- ÈÏ°ÏÆâ¤Î¿Þ·Áʸ»ú¤ò¼è¤ê½Ð¤¹ */ static char * pickupChars(tku, tten, num, kodata) int tku, tten, num, kodata; { char *dptr, *tdptr, *edptr; dptr = (char *)malloc(num * cswidth[kodata] + 1); if (dptr) { tdptr = dptr; edptr = dptr + num * cswidth[kodata]; for (; dptr < edptr ; tten++) { if (tten > 94) { tku++; tten = 1; } switch(kodata) { case G0: *dptr++ = (tten + 0x20); break; case G1: *dptr++ = (tku + 0x20) | 0x80; *dptr++ = (tten + 0x20) | 0x80; break; case G2: *dptr++ = SS2; *dptr++ = (tten + 0x20) | 0x80; break; case G3: *dptr++ = SS3; *dptr++ = (tku + 0x20) | 0x80; *dptr++ = (tten + 0x20) | 0x80; break; default: break; } } *dptr++ = '\0'; return tdptr; } else { error("Insufficient memory", NON); /* NOTREACHED */ } } /* numtostr -- Key data ¤«¤éʸ»ú¤ò¼è¤ê½Ð¤¹ */ static void numtostr(num, str) unsigned long num; char *str; { if (num & 0xff0000) { *str++ = (char)((num >> 16) & 0xff); } if (num & 0xff00) { *str++ = (char)((num >> 8) & 0xff); } *str++ = (char)(num & 0xff); *str = '\0'; } /* defselection -- ʸ»ú°ìÍ÷¤ÎÄêµÁ ¡Ô·Á¼°¡Õ (defselection function-symbol "¥â¡¼¥Éɽ¼¨" '(character-list)) */ static list Ldefselection() { list form, sym, e, e2, md, kigo_list, buf; extern extraFunc *extrafuncp; extern int nothermodes; int i, len, cs, nkigo_data = 0, kigolen = 0; wchar_t *p, *kigo_str, **akigo_data; extraFunc *extrafunc = (extraFunc *)0; form = sp[0]; if (atom(form) || atom(cdr(form)) || atom(cdr(cdr(form)))) { error("Illegal form ",form); /* NOTREACHED */ } sym = car(form); if (!symbolp(sym)) { error("Symbol data expected ", sym); /* NOTREACHED */ } md = car(cdr(form)); if (!stringp(md) && !null(md)) { error("String data expected ", md); /* NOTREACHED */ } push(car(cdr(cdr(form)))); push(Leval(1)); kigo_list = sp[0]; if (atom(kigo_list)) { error("Illegal form ", kigo_list); /* NOTREACHED */ } /* ¤Þ¤ºÎΰè¤ò³ÎÊݤ¹¤ë */ buf = kigo_list; while (!atom(buf)) { if (!atom(cdr(buf)) && (car(cdr(buf)) == HYPHEN)) { /* ÈϰϻØÄê¤Î¤È¤­ */ if (atom(cdr(cdr(buf)))) { error("Illegal form ", buf); /* NOTREACHED */ } else { int sku, sten, num; char ss[4], ee[4]; e = car(buf); if (!numberp(e)) { error("Key data expected ", e); /* NOTREACHED */ } e2 = car(cdr(cdr(buf))); if (!numberp(e2)) { error("Key data expected ", e2); /* NOTREACHED */ } numtostr(xnum(e), ss); numtostr(xnum(e2), ee); num = howManyCharsAre(ss, ee, &sku, &sten, &cs); if (num <= 0) { error("Inconsistent range of charcter code ", buf); /* NOTREACHED */ } kigolen = kigolen + (cswidth[cs] + 1) * num; nkigo_data += num; } buf = cdr(cdr(cdr(buf))); } else { /* Í×ÁÇ»ØÄê¤Î¤È¤­ */ char xx[4], *xxp; e = car(buf); if (!numberp(e) && !stringp(e)) { error("Key or string data expected ", e); /* NOTREACHED */ } else if (numberp(e)) { numtostr(xnum(e), xx); xxp = xx; } else { xxp = xstring(e); } for ( ; *xxp ; xxp += cswidth[cs] ) { if (*xxp == SS2) { cs = G2; } else if (*xxp == SS3) { cs = G3; } else if (*xxp & 0x80) { cs = G1; } else { cs = G0; } kigolen = kigolen + cswidth[cs]; } kigolen += 1; /* ³ÆÍ×ÁǤκǸå¤Ë \0 ¤òÆþ¤ì¤ë */ nkigo_data++; buf = cdr(buf); } } kigo_str = (wchar_t *)malloc(kigolen * sizeof(wchar_t)); if (!kigo_str) { error("Insufficient memory ", NON); /* NOTREACHED */ } p = kigo_str; /* °ìÍ÷¤ò¼è¤ê½Ð¤¹ */ while (!atom(kigo_list)) { if (!atom(cdr(kigo_list)) && (car(cdr(kigo_list)) == HYPHEN)) { /* ÈϰϻØÄê¤Î¤È¤­ */ int sku, sten, codeset, num; char *ww, *sww, *eww, ss[4], ee[4], bak; e = car(kigo_list); e2 = car(cdr(cdr(kigo_list))); numtostr(xnum(e), ss); numtostr(xnum(e2), ee); num = howManyCharsAre(ss, ee, &sku, &sten, &codeset); sww = ww = pickupChars(sku, sten, num, codeset); cs = cswidth[codeset]; eww = ww + num * cs; while (ww < eww) { bak = ww[cs]; ww[cs] = '\0'; len = MBstowcs(p, ww, kigolen - (p - kigo_str)); p += len; *p++ = (wchar_t)0; ww += cs; ww[0] = bak; } free(sww); kigo_list = cdr(cdr(cdr(kigo_list))); } else { /* Í×ÁÇ»ØÄê¤Î¤È¤­ */ char xx[4], *xxp; e = car(kigo_list); if (numberp(e)) { numtostr(xnum(e), xx); xxp = xx; } else { xxp = xstring(e); } len = MBstowcs(p, xxp, kigolen - (p - kigo_str)); p += len; *p++ = (wchar_t)0; kigo_list = cdr(kigo_list); } } akigo_data = (wchar_t **)calloc(nkigo_data + 1, sizeof(wchar_t *)); if (akigo_data == 0) { free(kigo_str); error("Insufficient memory", NON); /* NOTREACHED */ } for (i = 0, p = kigo_str ; i < nkigo_data ; i++) { akigo_data[i] = p; while (*p++) /* EMPTY */ ; } /* Îΰè¤ò³ÎÊݤ¹¤ë */ extrafunc = (extraFunc *)malloc(sizeof(extraFunc)); if (!extrafunc) { free((char *)kigo_str); free((char *)akigo_data); error("Insufficient memory", NON); /* NOTREACHED */ } extrafunc->u.kigoptr = (kigoIchiran *)malloc(sizeof(kigoIchiran)); if (!extrafunc->u.kigoptr) { free((char *)kigo_str); free((char *)akigo_data); free((char *)extrafunc); error("Insufficient memory", NON); /* NOTREACHED */ } /* ¥·¥ó¥Ü¥ë¤Î´Ø¿ôÃͤȤ·¤Æ¤ÎÄêµÁ */ symbolpointer(sym)->mid = extrafunc->u.kigoptr->kigo_mode = CANNA_MODE_MAX_IMAGINARY_MODE + nothermodes; symbolpointer(sym)->fid = extrafunc->fnum = CANNA_FN_MAX_FUNC + nothermodes; /* ¼ÂºÝ¤Ë³ÊǼ¤¹¤ë */ extrafunc->u.kigoptr->kigo_data = akigo_data; extrafunc->u.kigoptr->kigo_str = kigo_str; extrafunc->u.kigoptr->kigo_size = nkigo_data; if (stringp(md)) { extrafunc->display_name = WString(xstring(md)); } else { extrafunc->display_name = (wchar_t *)0; } extrafunc->keyword = EXTRA_FUNC_DEFSELECTION; extrafunc->next = extrafuncp; extrafuncp = extrafunc; pop(2); nothermodes++; return sym; } /* defmenu -- ¥á¥Ë¥å¡¼¤ÎÄêµÁ ¡Ô·Á¼°¡Õ (defmenu first-menu ("ÅÐÏ¿" touroku) ("¥µ¡¼¥ÐÁàºî" server)) */ static list Ldefmenu() { list form, sym, e; extern extraFunc *extrafuncp; extern int nothermodes; extraFunc *extrafunc = (extraFunc *)0; int i, n, clen, len; wchar_t foo[512]; menustruct *men; menuitem *menubody; wchar_t *wp, **wpp; extern menustruct *allocMenu(); form = sp[0]; if (atom(form) || atom(cdr(form))) { error("Bad form ", form); /* NOTREACHED */ } sym = car(form); if (!symbolp(sym)) { error("Symbol data expected ", sym); /* NOTREACHED */ } /* °ú¿ô¤ò¿ô¤¨¤ë¡£¤Ä¤¤¤Ç¤Ëɽ¼¨Ê¸»úÎó¤Îʸ»ú¿ô¤ò¿ô¤¨¤ë */ for (n = 0, clen = 0, e = cdr(form) ; !atom(e) ; n++, e = cdr(e)) { list l = car(e), d, fn; if (atom(l) || atom(cdr(l))) { error("Bad form ", form); } d = car(l); fn = car(cdr(l)); if (!stringp(d) || !symbolp(fn)) { error("Bad form ", form); } len = MBstowcs(foo, xstring(d), 512); if (len >= 0) { clen += len + 1; } } extrafunc = (extraFunc *)malloc(sizeof(extraFunc)); if (extrafunc) { men = allocMenu(n, clen); if (men) { menubody = men->body; /* ¥¿¥¤¥È¥ëʸ»ú¤ò¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤Ë¥³¥Ô¡¼ */ for (i = 0, wp = men->titledata, wpp = men->titles, e = cdr(form) ; i < n ; i++, e = cdr(e)) { len = MBstowcs(wp, xstring(car(car(e))), 512); *wpp++ = wp; wp += len + 1; menubody[i].flag = MENU_SUSPEND; menubody[i].u.misc = (char *)car(cdr(car(e))); } men->nentries = n; /* ¥·¥ó¥Ü¥ë¤Î´Ø¿ôÃͤȤ·¤Æ¤ÎÄêµÁ */ symbolpointer(sym)->mid = men->modeid = CANNA_MODE_MAX_IMAGINARY_MODE + nothermodes; symbolpointer(sym)->fid = extrafunc->fnum = CANNA_FN_MAX_FUNC + nothermodes; extrafunc->keyword = EXTRA_FUNC_DEFMENU; extrafunc->display_name = (wchar_t *)0; extrafunc->u.menuptr = men; extrafunc->next = extrafuncp; extrafuncp = extrafunc; nothermodes++; (void)pop1(); return sym; } free((char *)extrafunc); } error("Insufficient memory", NON); /* NOTREACHED */ } #endif /* NO_EXTEND_MENU */ static list Lsetinifunc(n) int n; { unsigned char fseq[256]; int i, len; list ret = NIL; extern BYTE *initfunc; argnchk(S_SetInitFunc, 1); len = xfseq(S_SetInitFunc, sp[0], fseq, 256); if (len > 0) { if (initfunc) free(initfunc); initfunc = (BYTE *)malloc(len + 1); if (!initfunc) { error("Insufficient memory", NON); /* NOTREACHED */ } for (i = 0 ; i < len ; i++) { initfunc[i] = fseq[i]; } initfunc[i] = 0; ret = T; } (void)pop1(); return ret; } static list Lboundp(n) int n; { list e; struct atomcell *sym; argnchk("boundp",1); e = pop1(); if (!atom(e)) { error("boundp: bad arg ", e); /* NOTREACHED */ } else if (constp(e)) { error("boundp: bad arg ", e); /* NOTREACHED */ } if (assq(e, *esp)) { return T; } else if ((sym = symbolpointer(e))->valfunc) { return T; } else { if (sym->value != (list)UNBOUND) { return T; } else { return NIL; } } } static list Lfboundp(n) int n; { list e; argnchk("fboundp",1); e = pop1(); if (!atom(e)) { error("fboundp: bad arg ", e); /* NOTREACHED */ } else if (constp(e)) { error("fboundp: bad arg ", e); /* NOTREACHED */ } if (symbolpointer(e)->ftype == UNDEF) { return NIL; } else { return T; } } static list Lgetenv(n) int n; { list e; char strbuf[256], *ret, *getenv(); list retval; argnchk("getenv",1); e = sp[0]; if (!stringp(e)) { error("getenv: bad arg ", e); /* NOTREACHED */ } strncpy(strbuf, xstring(e), xstrlen(e)); strbuf[xstrlen(e)] = '\0'; ret = getenv(strbuf); if (ret) { retval = copystring(ret, strlen(ret)); } else { retval = NIL; } (void)pop1(); return retval; } static list LdefEscSeq(n) int n; { extern void (*keyconvCallback)(); argnchk("define-esc-sequence",3); if (!stringp(sp[2])) { error("define-esc-sequence: bad arg ", sp[2]); /* NOTREACHED */ } if (!stringp(sp[1])) { error("define-esc-sequence: bad arg ", sp[1]); /* NOTREACHED */ } if (!numberp(sp[0])) { error("define-esc-sequence: bad arg ", sp[0]); /* NOTREACHED */ } if (keyconvCallback) { (*keyconvCallback)(CANNA_CTERMINAL, xstring(sp[2]), xstring(sp[1]), xnum(sp[0])); } pop(3); return NIL; } static list Lconcat(n) int n; { list t, res; int i, len; char *p; /* ¤Þ¤ºÄ¹¤µ¤ò¿ô¤¨¤ë¡£ */ for (len= 0, i = n ; i-- ;) { t = sp[i]; if (!stringp(t)) { lisp_strerr("concat", t); /* NOTREACHED */ } len += xstrlen(t); } res = allocstring(len); for (p = xstring(res), i = n ; i-- ;) { t = sp[i]; len = xstrlen(t); Strncpy(p, xstring(t), len); p += len; } *p = '\0'; pop(n); return res; } /* lispfuncend */ extern char *RkGetServerHost(); static void ObtainVersion() { #if !defined(STANDALONE) && !defined(WIN_CANLISP) int a, b; char *serv; extern int protocol_version, server_version; extern char *server_name; serv = RkGetServerHost(); if (!serv) { serv = DICHOME; } RkwInitialize(serv); /* ¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó */ RkwGetProtocolVersion(&a, &b); protocol_version = a * 1000 + b; /* ¥µ¡¼¥Ð¥Ð¡¼¥¸¥ç¥ó */ RkwGetServerVersion(&a, &b); server_version = a * 1000 + b; /* ¥µ¡¼¥Ð̾ */ if (server_name) free(server_name); server_name = malloc(strlen(DEFAULT_CANNA_SERVER_NAME) + 1); if (server_name) { strcpy(server_name, DEFAULT_CANNA_SERVER_NAME); } RkwFinalize(); #endif /* STANDALONE */ } /* ÊÑ¿ô¥¢¥¯¥»¥¹¤Î¤¿¤á¤Î´Ø¿ô */ static list VTorNIL(var, setp, arg) BYTE *var; int setp; list arg; { if (setp == VALSET) { *var = (arg == NIL) ? 0 : 1; return arg; } else { /* get */ return *var ? T : NIL; } } static list StrAcc(var, setp, arg) char **var; int setp; list arg; { if (setp == VALSET) { if (null(arg) || stringp(arg)) { if (*var) { free(*var); } if (stringp(arg)) { *var = malloc(strlen(xstring(arg)) + 1); if (*var) { strcpy(*var, xstring(arg)); return arg; } else { error("Insufficient memory.", NON); /* NOTREACHED */ } } else { *var = (char *)0; return NIL; } } else { lisp_strerr((char *)0, arg); /* NOTREACHED */ } } /* else { .. */ if (*var) { return copystring(*var, strlen(*var)); } else { return NIL; } /* end else .. } */ } static list NumAcc(var, setp, arg) int *var; int setp; list arg; { if (setp == VALSET) { if (numberp(arg)) { *var = (int)xnum(arg); return arg; } else { numerr((char *)0, arg); /* NOTREACHED */ } } return (list)mknum(*var); } /* ¤³¤³¤«¤é²¼¤¬¥«¥¹¥¿¥Þ¥¤¥º¤ÎÄɲÃÅù¤ÇÎɤ¯¤¤¤¸¤ëÉôʬ */ /* ¼ÂºÝ¤Î¥¢¥¯¥»¥¹´Ø¿ô */ #define DEFVAR(fn, acc, ty, var) \ static list fn(setp, arg) int setp; list arg; { \ extern ty var; return acc(&var, setp, arg); } #define DEFVAREX(fn, acc, var) \ static list fn(setp, arg) int setp; list arg; { \ extern struct CannaConfig cannaconf; return acc(&var, setp, arg); } static list Vnkouhobunsetsu(setp, arg) int setp; list arg; { extern int nKouhoBunsetsu; arg = NumAcc(&nKouhoBunsetsu, setp, arg); #ifdef RESTRICT_NKOUHOBUNSETSU if (nKouhoBunsetsu < 3 || nKouhoBunsetsu > 60) nKouhoBunsetsu = 16; #else if (nKouhoBunsetsu < 0) { nKouhoBunsetsu = 0; } #endif return arg; } static list VProtoVer(setp, arg) int setp; list arg; { #ifndef STANDALONE extern protocol_version; if (protocol_version < 0) { ObtainVersion(); } return NumAcc(&protocol_version, setp, arg); #endif /* STANDALONE */ } static list VServVer(setp, arg) int setp; list arg; { #ifndef STANDALONE extern server_version; if (server_version < 0) { ObtainVersion(); } return NumAcc(&server_version, setp, arg); #endif /* STANDALONE */ } static list VServName(setp, arg) int setp; list arg; { #ifndef STANDALONE extern char *server_name; if (!server_name) { ObtainVersion(); } return StrAcc(&server_name, setp, arg); #endif /* STANDALONE */ } static list VCannaDir(setp, arg) int setp; list arg; { char *canna_dir = CANNALIBDIR; if (setp == VALGET) { return StrAcc(&canna_dir, setp, arg); } else { return NIL; } } static list VCodeInput(setp, arg) int setp; list arg; { extern struct CannaConfig cannaconf; static char *input_code[CANNA_MAX_CODE] = {"jis", "sjis", "kuten"}; if (setp == VALSET) { if (null(arg) || stringp(arg)) { if (stringp(arg)) { int i; char *s = xstring(arg); for (i = 0 ; i < CANNA_MAX_CODE ; i++) { if (!strcmp(s, input_code[i])) { cannaconf.code_input = i; break; } } if (i < CANNA_MAX_CODE) { return arg; } else { return NIL; } } else { cannaconf.code_input = 0; /* use default */ return copystring(input_code[0], strlen(input_code[0])); } } else { lisp_strerr((char *)0, arg); /* NOTREACHED */ } } /* else { .. */ if (/* 0 <= cannaconf.code_input && /* unsigned ¤Ë¤·¤¿¤Î¤Ç¾éĹ¤Ë¤Ê¤Ã¤¿ */ cannaconf.code_input <= CANNA_CODE_KUTEN) { return copystring(input_code[cannaconf.code_input], strlen(input_code[cannaconf.code_input])); } else { return NIL; } /* end else .. } */ } DEFVAR(Vromkana ,StrAcc ,char * ,RomkanaTable) DEFVAR(Venglish ,StrAcc ,char * ,EnglishTable) DEFVAREX(Vnhenkan ,NumAcc ,cannaconf.kouho_threshold) DEFVAREX(Vndisconnect ,NumAcc ,cannaconf.strokelimit) DEFVAREX(VCannaVersion ,NumAcc ,cannaconf.CannaVersion) DEFVAREX(VIndexSeparator,NumAcc ,cannaconf.indexSeparator) DEFVAREX(Vgakushu ,VTorNIL ,cannaconf.Gakushu) DEFVAREX(Vcursorw ,VTorNIL ,cannaconf.CursorWrap) DEFVAREX(Vselectd ,VTorNIL ,cannaconf.SelectDirect) DEFVAREX(Vnumeric ,VTorNIL ,cannaconf.HexkeySelect) DEFVAREX(Vbunsets ,VTorNIL ,cannaconf.BunsetsuKugiri) DEFVAREX(Vcharact ,VTorNIL ,cannaconf.ChBasedMove) DEFVAREX(Vreverse ,VTorNIL ,cannaconf.ReverseWidely) DEFVAREX(VreverseWord ,VTorNIL ,cannaconf.ReverseWord) DEFVAREX(Vquitich ,VTorNIL ,cannaconf.QuitIchiranIfEnd) DEFVAREX(Vkakutei ,VTorNIL ,cannaconf.kakuteiIfEndOfBunsetsu) DEFVAREX(Vstayaft ,VTorNIL ,cannaconf.stayAfterValidate) DEFVAREX(Vbreakin ,VTorNIL ,cannaconf.BreakIntoRoman) DEFVAREX(Vgrammati ,VTorNIL ,cannaconf.grammaticalQuestion) DEFVAREX(Vforceka ,VTorNIL ,cannaconf.forceKana) DEFVAREX(Vkouhoco ,VTorNIL ,cannaconf.kCount) DEFVAREX(Vauto ,VTorNIL ,cannaconf.chikuji) DEFVAREX(VlearnNumTy ,VTorNIL ,cannaconf.LearnNumericalType) DEFVAREX(VBSasQuit ,VTorNIL ,cannaconf.BackspaceBehavesAsQuit) DEFVAREX(Vinhibi ,VTorNIL ,cannaconf.iListCB) DEFVAREX(Vkeepcupos ,VTorNIL ,cannaconf.keepCursorPosition) DEFVAREX(VAbandon ,VTorNIL ,cannaconf.abandonIllegalPhono) DEFVAREX(VHexStyle ,VTorNIL ,cannaconf.hexCharacterDefiningStyle) DEFVAREX(VKojin ,VTorNIL ,cannaconf.kojin) DEFVAREX(VIndexHankaku ,VTorNIL ,cannaconf.indexHankaku) DEFVAREX(VAllowNext ,VTorNIL ,cannaconf.allowNextInput) DEFVAREX(VkanaGaku ,VTorNIL ,cannaconf.doKatakanaGakushu) DEFVAREX(VhiraGaku ,VTorNIL ,cannaconf.doHiraganaGakushu) DEFVAREX(VChikujiContinue ,VTorNIL ,cannaconf.ChikujiContinue) DEFVAREX(VRenbunContinue ,VTorNIL ,cannaconf.RenbunContinue) DEFVAREX(VMojishuContinue ,VTorNIL ,cannaconf.MojishuContinue) DEFVAREX(VcRealBS ,VTorNIL ,cannaconf.chikujiRealBackspace) DEFVAREX(VIgnoreCase ,VTorNIL ,cannaconf.ignore_case) DEFVAREX(VRomajiYuusen ,VTorNIL ,cannaconf.romaji_yuusen) DEFVAREX(VAutoSync ,VTorNIL ,cannaconf.auto_sync) DEFVAREX(VQuicklyEscape ,VTorNIL ,cannaconf.quickly_escape) DEFVAREX(VInhibitHankana,VTorNIL ,cannaconf.InhibitHankakuKana) DEFVAREX(VDelayConnect ,VTorNIL ,cannaconf.DelayConnect) #ifdef DEFINE_SOMETHING DEFVAR(Vchikuji_debug, VTorNIL, int, chikuji_debug) #endif /* Lisp ¤Î´Ø¿ô¤È C ¤Î´Ø¿ô¤ÎÂбþɽ */ static struct atomdefs initatom[] = { {"quote" ,SPECIAL,Lquote }, {"setq" ,SPECIAL,Lsetq }, {"set" ,SUBR ,Lset }, {"equal" ,SUBR ,Lequal }, {"=" ,SUBR ,Lequal }, {">" ,SUBR ,Lgreaterp }, {"<" ,SUBR ,Llessp }, {"progn" ,SPECIAL,Lprogn }, {"eq" ,SUBR ,Leq }, {"cond" ,SPECIAL,Lcond }, {"null" ,SUBR ,Lnull }, {"not" ,SUBR ,Lnull }, {"and" ,SPECIAL,Land }, {"or" ,SPECIAL,Lor }, {"+" ,SUBR ,Lplus }, {"-" ,SUBR ,Ldiff }, {"*" ,SUBR ,Ltimes }, {"/" ,SUBR ,Lquo }, {"%" ,SUBR ,Lrem }, {"gc" ,SUBR ,Lgc }, {"load" ,SUBR ,Lload }, {"list" ,SUBR ,Llist }, {"sequence" ,SUBR ,Llist }, {"defun" ,SPECIAL,Ldefun }, {"defmacro" ,SPECIAL,Ldefmacro }, {"cons" ,SUBR ,Lcons }, {"car" ,SUBR ,Lcar }, {"cdr" ,SUBR ,Lcdr }, {"atom" ,SUBR ,Latom }, {"let" ,CMACRO ,Llet }, {"if" ,CMACRO ,Lif }, {"boundp" ,SUBR ,Lboundp }, {"fboundp" ,SUBR ,Lfboundp }, {"getenv" ,SUBR ,Lgetenv }, {"copy-symbol" ,SUBR ,Lcopysym }, {"concat" ,SUBR ,Lconcat }, {S_FN_UseDictionary ,SUBR ,Lusedic }, {S_SetModeDisp ,SUBR ,Lmodestr }, {S_SetKey ,SUBR ,Lsetkey }, {S_GSetKey ,SUBR ,Lgsetkey }, {S_UnbindKey ,SUBR ,Lunbindkey }, {S_GUnbindKey ,SUBR ,Lgunbindkey }, {S_DefMode ,SPECIAL,Ldefmode }, {S_DefSymbol ,SPECIAL,Ldefsym }, #ifndef NO_EXTEND_MENU {S_DefSelection ,SPECIAL,Ldefselection }, {S_DefMenu ,SPECIAL,Ldefmenu }, #endif {S_SetInitFunc ,SUBR ,Lsetinifunc }, {S_defEscSequence ,SUBR ,LdefEscSeq }, {0 ,UNDEF ,0 }, /* DUMMY */ }; static void deflispfunc() { struct atomdefs *p; for (p = initatom ; p->symname ; p++) { struct atomcell *atomp; list temp; temp = getatmz(p->symname); atomp = symbolpointer(temp); atomp->ftype = p->symtype; if (atomp->ftype != UNDEF) { atomp->func = p->symfunc; } } } /* ÊÑ¿ôɽ */ static struct cannavardefs cannavars[] = { {S_VA_RomkanaTable ,Vromkana}, {S_VA_EnglishTable ,Venglish}, {S_VA_CursorWrap ,Vcursorw}, {S_VA_SelectDirect ,Vselectd}, {S_VA_NumericalKeySelect ,Vnumeric}, {S_VA_BunsetsuKugiri ,Vbunsets}, {S_VA_CharacterBasedMove ,Vcharact}, {S_VA_ReverseWidely ,Vreverse}, {S_VA_ReverseWord ,VreverseWord}, {S_VA_Gakushu ,Vgakushu}, {S_VA_QuitIfEOIchiran ,Vquitich}, {S_VA_KakuteiIfEOBunsetsu ,Vkakutei}, {S_VA_StayAfterValidate ,Vstayaft}, {S_VA_BreakIntoRoman ,Vbreakin}, {S_VA_NHenkanForIchiran ,Vnhenkan}, {S_VA_GrammaticalQuestion ,Vgrammati}, {"gramatical-question" ,Vgrammati}, /* °ÊÁ°¤Î¥¹¥Ú¥ë¥ß¥¹¤ÎµßºÑ */ {S_VA_ForceKana ,Vforceka}, {S_VA_KouhoCount ,Vkouhoco}, {S_VA_Auto ,Vauto}, {S_VA_LearnNumericalType ,VlearnNumTy}, {S_VA_BackspaceBehavesAsQuit ,VBSasQuit}, {S_VA_InhibitListCallback ,Vinhibi}, {S_VA_nKouhoBunsetsu ,Vnkouhobunsetsu}, {S_VA_keepCursorPosition ,Vkeepcupos}, {S_VA_CannaVersion ,VCannaVersion}, {S_VA_Abandon ,VAbandon}, {S_VA_HexDirect ,VHexStyle}, {S_VA_ProtocolVersion ,VProtoVer}, {S_VA_ServerVersion ,VServVer}, {S_VA_ServerName ,VServName}, {S_VA_CannaDir ,VCannaDir}, {S_VA_Kojin ,VKojin}, {S_VA_IndexHankaku ,VIndexHankaku}, {S_VA_IndexSeparator ,VIndexSeparator}, {S_VA_AllowNextInput ,VAllowNext}, {S_VA_doKatakanaGakushu ,VkanaGaku}, {S_VA_doHiraganaGakushu ,VhiraGaku}, #ifdef DEFINE_SOMETHING {S_VA_chikuji_debug ,Vchikuji_debug}, #endif /* DEFINE_SOMETHING */ {S_VA_ChikujiContinue ,VChikujiContinue}, {S_VA_RenbunContinue ,VRenbunContinue}, {S_VA_MojishuContinue ,VMojishuContinue}, {S_VA_ChikujiRealBackspace ,VcRealBS}, {S_VA_nDisconnectServer ,Vndisconnect}, {S_VA_ignoreCase ,VIgnoreCase}, {S_VA_RomajiYuusen ,VRomajiYuusen}, {S_VA_AutoSync ,VAutoSync}, {S_VA_QuicklyEscape ,VQuicklyEscape}, {S_VA_InhibitHanKana ,VInhibitHankana}, {S_VA_CodeInput ,VCodeInput}, {S_VA_DelayConnect ,VDelayConnect}, {0 ,0}, }; static void defcannavar() { struct cannavardefs *p; for (p = cannavars ; p->varname ; p++) { symbolpointer(getatmz(p->varname))->valfunc = p->varfunc; } } /* ¥â¡¼¥Éɽ */ static struct cannamodedefs cannamodes[] = { {S_AlphaMode ,CANNA_MODE_AlphaMode}, {S_YomiganaiMode ,CANNA_MODE_EmptyMode}, {S_YomiMode ,CANNA_MODE_YomiMode}, {S_MojishuMode ,CANNA_MODE_JishuMode}, {S_TankouhoMode ,CANNA_MODE_TankouhoMode}, {S_IchiranMode ,CANNA_MODE_IchiranMode}, {S_KigouMode ,CANNA_MODE_KigoMode}, {S_YesNoMode ,CANNA_MODE_YesNoMode}, {S_OnOffMode ,CANNA_MODE_OnOffMode}, {S_ShinshukuMode ,CANNA_MODE_AdjustBunsetsuMode}, {S_AutoYomiMode ,CANNA_MODE_ChikujiYomiMode}, {S_AutoBunsetsuMode ,CANNA_MODE_ChikujiTanMode}, {S_HenkanNyuuryokuMode ,CANNA_MODE_HenkanNyuryokuMode}, {S_HexMode ,CANNA_MODE_HexMode}, {S_BushuMode ,CANNA_MODE_BushuMode}, {S_ExtendMode ,CANNA_MODE_ExtendMode}, {S_RussianMode ,CANNA_MODE_RussianMode}, {S_GreekMode ,CANNA_MODE_GreekMode}, {S_LineMode ,CANNA_MODE_LineMode}, {S_ChangingServerMode ,CANNA_MODE_ChangingServerMode}, {S_HenkanMethodMode ,CANNA_MODE_HenkanMethodMode}, {S_DeleteDicMode ,CANNA_MODE_DeleteDicMode}, {S_TourokuMode ,CANNA_MODE_TourokuMode}, {S_TourokuHinshiMode ,CANNA_MODE_TourokuHinshiMode}, {S_TourokuDicMode ,CANNA_MODE_TourokuDicMode}, {S_QuotedInsertMode ,CANNA_MODE_QuotedInsertMode}, {S_BubunMuhenkanMode ,CANNA_MODE_BubunMuhenkanMode}, {S_MountDicMode ,CANNA_MODE_MountDicMode}, {S_ZenHiraHenkanMode ,CANNA_MODE_ZenHiraHenkanMode}, {S_HanHiraHenkanMode ,CANNA_MODE_HanHiraHenkanMode}, {S_ZenKataHenkanMode ,CANNA_MODE_ZenKataHenkanMode}, {S_HanKataHenkanMode ,CANNA_MODE_HanKataHenkanMode}, {S_ZenAlphaHenkanMode ,CANNA_MODE_ZenAlphaHenkanMode}, {S_HanAlphaHenkanMode ,CANNA_MODE_HanAlphaHenkanMode}, {S_ZenHiraKakuteiMode ,CANNA_MODE_ZenHiraKakuteiMode}, {S_HanHiraKakuteiMode ,CANNA_MODE_HanHiraKakuteiMode}, {S_ZenKataKakuteiMode ,CANNA_MODE_ZenKataKakuteiMode}, {S_HanKataKakuteiMode ,CANNA_MODE_HanKataKakuteiMode}, {S_ZenAlphaKakuteiMode ,CANNA_MODE_ZenAlphaKakuteiMode}, {S_HanAlphaKakuteiMode ,CANNA_MODE_HanAlphaKakuteiMode}, {0 ,0}, }; static void defcannamode() { struct cannamodedefs *p; for (p = cannamodes ; p->mdname ; p++) { symbolpointer(getatmz(p->mdname))->mid = p->mdid; } } /* µ¡Ç½É½ */ static struct cannafndefs cannafns[] = { {S_FN_Undefined ,CANNA_FN_Undefined}, {S_FN_SelfInsert ,CANNA_FN_FunctionalInsert}, {S_FN_QuotedInsert ,CANNA_FN_QuotedInsert}, {S_FN_JapaneseMode ,CANNA_FN_JapaneseMode}, {S_AlphaMode ,CANNA_FN_AlphaMode}, {S_HenkanNyuuryokuMode ,CANNA_FN_HenkanNyuryokuMode}, {S_HexMode ,CANNA_FN_HexMode}, {S_BushuMode ,CANNA_FN_BushuMode}, {S_KigouMode ,CANNA_FN_KigouMode}, {S_FN_Forward ,CANNA_FN_Forward}, {S_FN_Backward ,CANNA_FN_Backward}, {S_FN_Next ,CANNA_FN_Next}, {S_FN_Prev ,CANNA_FN_Prev}, {S_FN_BeginningOfLine ,CANNA_FN_BeginningOfLine}, {S_FN_EndOfLine ,CANNA_FN_EndOfLine}, {S_FN_DeleteNext ,CANNA_FN_DeleteNext}, {S_FN_DeletePrevious ,CANNA_FN_DeletePrevious}, {S_FN_KillToEndOfLine ,CANNA_FN_KillToEndOfLine}, {S_FN_Henkan ,CANNA_FN_Henkan}, {S_FN_HenkanNaive ,CANNA_FN_HenkanOrInsert}, /* for compati */ {S_FN_HenkanOrSelfInsert ,CANNA_FN_HenkanOrInsert}, {S_FN_HenkanOrDoNothing ,CANNA_FN_HenkanOrNothing}, {S_FN_Kakutei ,CANNA_FN_Kakutei}, {S_FN_Extend ,CANNA_FN_Extend}, {S_FN_Shrink ,CANNA_FN_Shrink}, {S_ShinshukuMode ,CANNA_FN_AdjustBunsetsu}, {S_FN_Quit ,CANNA_FN_Quit}, {S_ExtendMode ,CANNA_FN_ExtendMode}, {S_FN_Touroku ,CANNA_FN_Touroku}, {S_FN_ConvertAsHex ,CANNA_FN_ConvertAsHex}, {S_FN_ConvertAsBushu ,CANNA_FN_ConvertAsBushu}, {S_FN_KouhoIchiran ,CANNA_FN_KouhoIchiran}, {S_FN_BubunMuhenkan ,CANNA_FN_BubunMuhenkan}, {S_FN_Zenkaku ,CANNA_FN_Zenkaku}, {S_FN_Hankaku ,CANNA_FN_Hankaku}, {S_FN_ToUpper ,CANNA_FN_ToUpper}, {S_FN_Capitalize ,CANNA_FN_Capitalize}, {S_FN_ToLower ,CANNA_FN_ToLower}, {S_FN_Hiragana ,CANNA_FN_Hiragana}, {S_FN_Katakana ,CANNA_FN_Katakana}, {S_FN_Romaji ,CANNA_FN_Romaji}, {S_FN_KanaRotate ,CANNA_FN_KanaRotate}, {S_FN_RomajiRotate ,CANNA_FN_RomajiRotate}, {S_FN_CaseRotate ,CANNA_FN_CaseRotate}, {S_FN_BaseHiragana ,CANNA_FN_BaseHiragana}, {S_FN_BaseKatakana ,CANNA_FN_BaseKatakana}, {S_FN_BaseKana ,CANNA_FN_BaseKana}, {S_FN_BaseEisu ,CANNA_FN_BaseEisu}, {S_FN_BaseZenkaku ,CANNA_FN_BaseZenkaku}, {S_FN_BaseHankaku ,CANNA_FN_BaseHankaku}, {S_FN_BaseKakutei ,CANNA_FN_BaseKakutei}, {S_FN_BaseHenkan ,CANNA_FN_BaseHenkan}, {S_FN_BaseHiraKataToggle ,CANNA_FN_BaseHiraKataToggle}, {S_FN_BaseZenHanToggle ,CANNA_FN_BaseZenHanToggle}, {S_FN_BaseKanaEisuToggle ,CANNA_FN_BaseKanaEisuToggle}, {S_FN_BaseKakuteiHenkanToggle ,CANNA_FN_BaseKakuteiHenkanToggle}, {S_FN_BaseRotateForward ,CANNA_FN_BaseRotateForward}, {S_FN_BaseRotateBackward ,CANNA_FN_BaseRotateBackward}, {S_FN_Mark ,CANNA_FN_Mark}, {S_FN_Temporary ,CANNA_FN_TemporalMode}, {S_FN_SyncDic ,CANNA_FN_SyncDic}, {S_RussianMode ,CANNA_FN_RussianMode}, {S_GreekMode ,CANNA_FN_GreekMode}, {S_LineMode ,CANNA_FN_LineMode}, {S_FN_DefineDicMode ,CANNA_FN_DefineDicMode}, {S_FN_DeleteDicMode ,CANNA_FN_DeleteDicMode}, {S_FN_DicMountMode ,CANNA_FN_DicMountMode}, {S_FN_EnterChikujiMode ,CANNA_FN_EnterChikujiMode}, {S_FN_EnterRenbunMode ,CANNA_FN_EnterRenbunMode}, {S_FN_DisconnectServer ,CANNA_FN_DisconnectServer}, {S_FN_ChangeServerMode ,CANNA_FN_ChangeServerMode}, {S_FN_ShowServer ,CANNA_FN_ShowServer}, {S_FN_ShowGakushu ,CANNA_FN_ShowGakushu}, {S_FN_ShowVersion ,CANNA_FN_ShowVersion}, {S_FN_ShowPhonogramFile ,CANNA_FN_ShowPhonogramFile}, {S_FN_ShowCannaFile ,CANNA_FN_ShowCannaFile}, {S_FN_PageUp ,CANNA_FN_PageUp}, {S_FN_PageDown ,CANNA_FN_PageDown}, {S_FN_Edit ,CANNA_FN_Edit}, {S_FN_BubunKakutei ,CANNA_FN_BubunKakutei}, {S_FN_HenkanRegion ,CANNA_FN_HenkanRegion}, {S_FN_PhonoEdit ,CANNA_FN_PhonoEdit}, {S_FN_DicEdit ,CANNA_FN_DicEdit}, {S_FN_Configure ,CANNA_FN_Configure}, {S_FN_KanaRotate ,CANNA_FN_KanaRotate}, {S_FN_RomajiRotate ,CANNA_FN_RomajiRotate}, {S_FN_CaseRotate ,CANNA_FN_CaseRotate}, {0 ,0}, }; static void defcannafunc() { struct cannafndefs *p; for (p = cannafns ; p->fnname ; p++) { symbolpointer(getatmz(p->fnname))->fid = p->fnid; } } static void defatms() { deflispfunc(); defcannavar(); defcannamode(); defcannafunc(); QUOTE = getatmz("quote"); T = getatmz("t"); _LAMBDA = getatmz("lambda"); _MACRO = getatmz("macro"); COND = getatmz("cond"); USER = getatmz(":user"); BUSHU = getatmz(":bushu"); RENGO = getatmz(":rengo"); KATAKANA = getatmz(":katakana"); HIRAGANA = getatmz(":hiragana"); GRAMMAR = getatmz(":grammar"); HYPHEN = getatmz("-"); symbolpointer(T)->value = T; } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ /* vim: set sw=2: */ Canna37p3/lib/canna/lisp.h0100644000076500001200000001000407732032055014611 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: lisp.h,v 1.3 2003/09/17 10:15:09 aida_s Exp $ */ #include "canna.h" #include #include "symbolname.h" #define YES 1 #define NO 0 #define VALGET 1 #define VALSET 0 #define CELLSIZE 10240 /* size of cell area (byte) */ #define STKSIZE 1024 /* the depth of value & parameter stack */ #define BUFSIZE 256 /* universal buffer size (byte) */ #define NIL 0L /* internal expression of NIL */ #define UNBOUND -2L /* unbound mark of variable */ #define NON -1L /* the mark of No. (unable to use NO) */ #define UNDEF 0 #define SPECIAL 1 #define SUBR 2 #define EXPR 3 #define CMACRO 4 #define MACRO 5 #define TAG_MASK 0x07000000L #define CELL_MASK 0x00ffffffL #define GC_MASK 0x08000000L #define NIL_TAG 0L #define NUMBER_TAG 0x01000000L #define STRING_TAG 0x02000000L #define SYMBOL_TAG 0x03000000L #define CONS_TAG 0x04000000L #define MAX_DEPTH 20 /* define macros */ #define null(x) !(x) #define tag(x) ((x) & TAG_MASK) #define atom(x) (tag(x) < CONS_TAG) #define constp(x) (tag(x) < SYMBOL_TAG) #define numberp(x) (tag(x) == NUMBER_TAG) #define stringp(x) (tag(x) == STRING_TAG) #define symbolp(x) (tag(x) == SYMBOL_TAG) #define consp(x) (tag(x) == CONS_TAG) #define gcfield(x) (((struct gccell *)x)->tagfield) #define mkcopied(x) ((x) | GC_MASK) #define alreadycopied(x) (gcfield(x) & GC_MASK) #define newaddr(x) ((x) & ~GC_MASK) typedef POINTERINT list; typedef POINTERINT pointerint; /* cell area */ #define celloffset(x) ((x) & CELL_MASK) #define car(x) ((struct cell *)(celltop + celloffset(x)))->head #define cdr(x) ((struct cell *)(celltop + celloffset(x)))->tail #define caar(x) car(car(x)) #define cadr(x) car(cdr(x)) #define cdar(x) cdr(car(x)) #define cddr(x) cdr(cdr(x)) #define symbolpointer(x) ((struct atomcell *)(celltop + celloffset(x))) #define mknum(x) (NUMBER_TAG | ((x) & CELL_MASK)) #if SIZEOF_VOID_P == 8 #define xnum(x) ((((x) & 0x00800000)) ? (x | 0xffffffffff000000) : (x & 0x00ffffff)) #elif SIZEOF_VOID_P == 4 #define xnum(x) ((((x) & 0x00800000)) ? (x | 0xff000000) : (x & 0x00ffffff)) #else #error unsupported memory model #endif #define xstring(x) (((struct stringcell *)(celltop + celloffset(x)))->str) #define xstrlen(x) (((struct stringcell *)(celltop + celloffset(x)))->length) #define argnchk(fn,x) if (n != x) argnerr(fn) /* data type definitions */ struct cell { list tail; list head; }; struct atomcell { list plist; list value; char *pname; int ftype; list (*func)(); list (*valfunc)(); int mid; int fid; list hlink; }; struct stringcell { int length; char str[4]; /* dummy array */ }; struct gccell { list tagfield; }; struct atomdefs { char *symname; int symtype; list (*symfunc)(); }; struct cannafndefs { char *fnname; int fnid; }; struct cannamodedefs { char *mdname; int mdid; }; struct cannavardefs { char *varname; list (*varfunc)(); }; Canna37p3/lib/canna/mode.c0100644000076500001200000002711107607542735014604 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: mode.c,v 1.2 2003/01/10 13:08:45 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern int howToReturnModeInfo; static wchar_t numMode[2]; static wchar_t *bad = (wchar_t *)0; struct ModeNameRecs ModeNames[CANNA_MODE_MAX_IMAGINARY_MODE]; static char * _sModeNames[CANNA_MODE_MAX_IMAGINARY_MODE] = { " ", /* AlphaMode */ "[ \244\242 ]", /* ¤¢ */ /* EmptyMode */ "[\265\255\271\346]", /* µ­¹æ *//* KigoMode */ "[\244\350\244\337]", /* ¤è¤ß *//* YomiMode (¥â¡¼¥Éʸ»úÎóɽ¼¨¤Ë¤Ï»È¤ï¤Ê¤¤) */ "[\273\372\274\357]", /* »ú¼ï *//* JishuMode */ "[\264\301\273\372]", /* ´Á»ú *//* TanKouhoMode */ "[\260\354\315\367]", /* °ìÍ÷ *//* IchiranMode */ "[\274\301\314\344]", /* ¼ÁÌä *//* YesNoMode */ NULL, /* OnOffMode */ "[\312\270\300\341]", /* ʸÀá *//* AdjustBunsetsuMode */ "[\303\340\274\241]", /* Ã༡ *//* ChikujiYomiMode Ã༡¤Î»þ¤ÎÆÉ¤ßÉôʬ */ "[\303\340\274\241]", /* Ã༡ *//* ChikujiHenkanMode Ã༡¤Î»þ¤ÎÊÑ´¹¤ÎÉôʬ */ /* Imaginary Mode */ "[ \224\242 ]", /* ¤¢ */ /* HenkanNyuryokuMode */ "[\301\264\244\242]", /* Á´¤¢ *//* ZenHiraHenkanMode */ "[\310\276\244\242]", /* Ⱦ¤¢ *//* HanHiraHenkanMode */ "[\301\264\245\242]", /* Á´¥¢ *//* ZenKataHenkanMode */ "[\310\276\245\242]", /* Ⱦ¥¢ *//* HanKataHenkanMode */ "[\301\264\261\321]", /* Á´±Ñ *//* ZenAlphaHenkanMode */ "[\310\276\261\321]", /* Ⱦ±Ñ *//* HanAlphaHenkanMode */ "<\301\264\244\242>", /* Á´¤¢ *//* ZenHiraKakuteiMode */ "<\310\276\244\242>", /* Ⱦ¤¢ *//* HanHiraKakuteiMode */ "<\301\264\245\242>", /* Á´¥¢ *//* ZenKataKakuteiMode */ "<\310\276\245\242>", /* Ⱦ¥¢ *//* HanKataKakuteiMode */ "<\301\264\261\321>", /* Á´±Ñ *//* ZenAlphaKakuteiMode */ "<\310\276\261\321>", /* Ⱦ±Ñ *//* HanAlphaKakuteiMode */ "[16\277\312]", /* 16¿Ê *//* HexMode */ "[\311\364\274\363]", /* Éô¼ó *//* BushuMode */ "[\263\310\304\245]", /* ³ÈÄ¥ *//* ExtendMode */ "[ \245\355 ]", /* ¥í */ /* RussianMode */ "[ \245\256 ]", /* ¥® */ /* GreekMode */ "[\267\323\300\376]", /* ·ÓÀþ *//* LineMode */ "[\312\321\271\271]", /* Êѹ¹ *//* ChangingServerMode */ "[\312\321\264\271]", /* ÊÑ´¹ *//* HenkanMethodMode */ "[\272\357\275\374]", /* ºï½ü *//* DeleteDicMode */ "[\305\320\317\277]", /* ÅÐÏ¿ *//* TourokuMode */ "[\311\312\273\354]", /* ÉÊ»ì *//* TourokuHinshiMode */ "[\274\255\275\361]", /* ¼­½ñ *//* TourokuDicMode */ "[ \243\361 ]", /* £ñ */ /* QuotedInsertMode */ "[\312\324\275\270]", /* ÊÔ½¸ *//* BubunMuhenkanMode */ "[\274\255\275\361]", /* ¼­½ñ *//* MountDicMode */ }; static wchar_t * _ModeNames[CANNA_MODE_MAX_IMAGINARY_MODE]; extern extraFunc *FindExtraFunc(); #define findExtraMode(mnum) \ FindExtraFunc((mnum) - CANNA_MODE_MAX_IMAGINARY_MODE + CANNA_FN_MAX_FUNC) newmode * findExtraKanjiMode(mnum) int mnum; { extern extraFunc *extrafuncp; extraFunc *extrafunc; register int fnum = mnum - CANNA_MODE_MAX_IMAGINARY_MODE + CANNA_FN_MAX_FUNC; for (extrafunc = extrafuncp; extrafunc; extrafunc = extrafunc->next) { if (extrafunc->fnum == fnum) { switch (extrafunc->keyword) { case EXTRA_FUNC_DEFMODE: return extrafunc->u.modeptr; default: return (newmode *)0; } } } return (newmode *)0; } extern nothermodes; static wchar_t * modestr(mid) int mid; { if (mid < CANNA_MODE_MAX_IMAGINARY_MODE) { return(ModeNames[mid].name); } else if (mid - CANNA_MODE_MAX_IMAGINARY_MODE < nothermodes) { extraFunc *ep = findExtraMode(mid); if (ep) { return ep->display_name; } } return (wchar_t *)0; } void currentModeInfo(d) uiContext d; { coreContext cc = (coreContext)d->modec; if (d->current_mode->flags & CANNA_KANJIMODE_EMPTY_MODE) { d->kanji_status_return->info |= KanjiEmptyInfo; } if (howToReturnModeInfo == ModeInfoStyleIsString) { wchar_t *modename, *gmodename; if (cc->minorMode != d->minorMode) { modename = modestr(cc->minorMode); gmodename = modestr(d->minorMode); d->majorMode = cc->majorMode; d->minorMode = cc->minorMode; if (modename && (gmodename == (wchar_t *)NULL || WStrcmp(modename, gmodename))) { d->kanji_status_return->mode = modename; d->kanji_status_return->info |= KanjiModeInfo; } } } else { if (cc->majorMode != d->majorMode) { d->majorMode = cc->majorMode; d->minorMode = cc->minorMode; numMode[0] = (wchar_t)('@' + cc->majorMode); numMode[1] = (wchar_t) 0; d->kanji_status_return->info |= KanjiModeInfo; d->kanji_status_return->mode = numMode; } } } /* ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¥â¡¼¥ÉÊѹ¹¤Ë´Ø¤¹¤ëÁàºî°ìÈ̤¬Æþ¤Ã¤Æ¤¤¤ë¡£¥â¡¼¥É¤ÎÊÑ * ¹¹¤È¤Ï¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎɽÌ̤˸½¤ì¤ë¥â¡¼¥É¤ÎÊѹ¹¤À¤±¤Ç¤Ï¤Ê¤¯¡¢Á´ * ¤¯ÆÉ¤ß¤¬¤Ê¤¤¾õÂÖ¤«¤é¡¢ÆÉ¤ß¤¬¤¢¤ë¾õÂ֤˰ܤë»þ¤Ë¤âÀ¸¤¸¤ë¤â¤Î¤ò»Ø¤¹¡£ */ void initModeNames() { int i; for (i = 0 ; i < CANNA_MODE_MAX_IMAGINARY_MODE ; i++) { ModeNames[i].alloc = 0; ModeNames[i].name = _ModeNames[i] = _sModeNames[i] ? WString(_sModeNames[i]) : 0; } if (!bad) { bad = WString("\245\341\245\342\245\352\244\254\302\255\244\352\244\336" "\244\273\244\363"); /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó */ } } void resetModeNames() { int i; for (i = 0 ; i < CANNA_MODE_MAX_IMAGINARY_MODE ; i++) { if (ModeNames[i].alloc && ModeNames[i].name) { ModeNames[i].alloc = 0; WSfree(ModeNames[i].name); } ModeNames[i].name = _ModeNames[i]; } } static void japaneseMode(d) uiContext d; { coreContext cc = (coreContext)d->modec; d->current_mode = cc->prevMode; d->modec = cc->next; freeCoreContext(cc); d->status = EXIT_CALLBACK; } /* cfuncdef JapaneseMode(d) -- ¥â¡¼¥É¤òÆüËܸìÆþÎϥ⡼¥É¤ËÊѤ¨¤ë¡£ ¢¨Ãí ¤³¤Î´Ø¿ô¤Ï¦Á¥â¡¼¥É¤Ç¤·¤«¸Æ¤ó¤Ç¤Ï¤¤¤±¤Ê¤¤¡£ */ JapaneseMode(d) uiContext d; { coreContext cc = (coreContext)d->modec; yomiContext yc = (yomiContext)cc->next; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } japaneseMode(d); d->kanji_status_return->length = 0; return 0; } AlphaMode(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } else { alphaMode(d); currentModeInfo(d); d->kanji_status_return->length = 0; return 0; } } HenkanNyuryokuMode(d) uiContext d; { extern KanjiModeRec empty_mode; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } yc->generalFlags &= (~CANNA_YOMI_ATTRFUNCS & ~CANNA_YOMI_IGNORE_USERSYMBOLS & ~CANNA_YOMI_BASE_HANKAKU); d->current_mode = yc->myEmptyMode = &empty_mode; yc->majorMode = yc->minorMode = CANNA_MODE_EmptyMode; yc->myMinorMode = 0; /* 0 ¤Ï AlphaMode ¤È½Å¤Ê¤ë¤¬ÌäÂê¤Ï¤Ê¤¤ */ yc->romdic = romajidic; EmptyBaseModeInfo(d, yc); if(yc->rCurs) return RomajiFlushYomi(d, (wchar_t *)0, 0); /* ¤³¤ì¤Ï»ÃÄêŪ */ d->kanji_status_return->length = 0; return 0; } queryMode(d, arg) uiContext d; wchar_t *arg; { coreContext cc = (coreContext)d->modec; wchar_t *mode_str = (wchar_t *)0; extraFunc *ep; switch (howToReturnModeInfo) { case ModeInfoStyleIsString: if (d->minorMode < (BYTE)CANNA_MODE_MAX_IMAGINARY_MODE) { mode_str = ModeNames[d->minorMode].name; } else if (d->minorMode < (BYTE)(CANNA_MODE_MAX_IMAGINARY_MODE + nothermodes)) { ep = findExtraMode(d->minorMode); if (ep) { mode_str = ep->display_name; } } if (!mode_str) { int ii; for (ii = 0; ii < 4; ii++, arg++) { *arg = (wchar_t)'\0'; } } else { WStrcpy(arg, mode_str); } break; case ModeInfoStyleIsBaseNumeric: { coreContext ccc; yomiContext yc; long fl; int res; arg[3] = 0; for (ccc = cc ; ccc && ccc->id != YOMI_CONTEXT ; ccc = ccc->next); yc = (yomiContext)ccc; /* This must not be NULL */ if (yc->id == YOMI_CONTEXT) { fl = yc->generalFlags; if (fl & CANNA_YOMI_ROMAJI) { res = CANNA_MODE_ZenAlphaHenkanMode; } else if (fl & CANNA_YOMI_KATAKANA) { res = CANNA_MODE_ZenKataHenkanMode; } else { res = CANNA_MODE_ZenHiraHenkanMode; } if (fl & CANNA_YOMI_BASE_HANKAKU) { res++; } if (fl & CANNA_YOMI_KAKUTEI) { res += (CANNA_MODE_ZenHiraKakuteiMode - CANNA_MODE_ZenHiraHenkanMode); } if (fl & (CANNA_YOMI_CHIKUJI_MODE | CANNA_YOMI_BASE_CHIKUJI)) arg[3] = CANNA_MODE_ChikujiYomiMode; } else { res = CANNA_MODE_HanAlphaHenkanMode; } arg[2] = res; } case ModeInfoStyleIsExtendedNumeric: arg[1] = (wchar_t)('@' + (int)cc->minorMode); case ModeInfoStyleIsNumeric: arg[0] = (wchar_t)('@' + (int)cc->majorMode); break; default: return(-1); /* NOTREACHED */ break; } return 0; } /* * ¤¢¤ë¥â¡¼¥É¤ËÂФ·¤Æ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ò·èÄꤹ¤ë¡£ * */ changeModeName(modeid, str) int modeid; char *str; { extraFunc *ep; if (modeid == CANNA_MODE_HenkanNyuryokuMode) modeid = CANNA_MODE_EmptyMode; if (modeid >= 0) { if (modeid < CANNA_MODE_MAX_IMAGINARY_MODE) { if (ModeNames[modeid].alloc && ModeNames[modeid].name) { WSfree(ModeNames[modeid].name); } if (str) { ModeNames[modeid].alloc = 1; ModeNames[modeid].name = WString(str); } else { ModeNames[modeid].alloc = 0; ModeNames[modeid].name = (wchar_t *)0; } } else if (modeid < (CANNA_MODE_MAX_IMAGINARY_MODE + nothermodes)) { ep = findExtraMode(modeid); if (ep) { if (ep->display_name) { WSfree(ep->display_name); } if (str) { ep->display_name = WString(str); } else { ep->display_name = (wchar_t *)0; } } else { return -1; } } return 0; } return -1; } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/multi.c0100644000076500001200000002337407607542735015021 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char m_s_map_id[] = "@(#) 102.1 $Id: multi.c,v 1.2 2003/01/10 13:08:45 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #define NONE CANNA_FN_Undefined extern int askQuitKey(); extern int checkGLineLen(); extern int NothingChangedWithBeep(); static unsigned char *keyHistory; struct map { KanjiMode tbl; unsigned char key; KanjiMode mode; struct map *next; }; extern struct map *mapFromHash(); static unsigned char * showChar(c) int c; { static unsigned char Gkey[9]; static char *keyCharMap[] = { "space", "DEL", "Nfer", "Xfer", "Up", "Left", "Right", "Down", "Insert", "Rollup", "Rolldown", "Home", "HELP", "KeyPad", "S-nfer", "S-xfer", "S-up", "S-left", "S-right", "S-down", "C-nfer", "C-xfer", "C-up", "C-left", "C-right", "C-down", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", }; if (c < 0x20) { strcpy((char *)Gkey, "C-"); if (c == 0x00 || (c > 0x1a && c < 0x20 )) Gkey[2] = c + 0x40; else Gkey[2] = c + 0x60; Gkey[3] = '\0'; } else if (c > ' ' && c <= '~' ) { Gkey[0] = c; Gkey[1] = '\0'; } else if (c > 0xa0 && c < 0xdf) { Gkey[0] = 0x8e; Gkey[1] = c; Gkey[2] = '\0'; } else if (c == 0x20) strcpy((char *)Gkey, keyCharMap[0]); else if (c > 0x7e && c < 0x8c) strcpy((char *)Gkey, keyCharMap[c -0x7f +1]); else if (c > 0x8f && c < 0x9c) strcpy((char *)Gkey, keyCharMap[c -0x90 +14]); else if (c > 0xdf && c < 0xea) strcpy((char *)Gkey, keyCharMap[c -0xe0 +26]); else if (c > 0xef && c < 0xfa) strcpy((char *)Gkey, keyCharMap[c -0xf0 +36]); else return 0; return Gkey; } UseOtherKeymap(d) uiContext d; { struct map *p; unsigned char showKey[10]; strcpy((char *)showKey, (char *)showChar(d->ch)); p = mapFromHash((KanjiMode)d->current_mode->keytbl, d->ch, (struct map ***)0); if (p == (struct map *)NULL) return NothingChangedWithBeep(d); p->mode->ftbl = (struct funccfunc *)d->current_mode; keyHistory = (unsigned char *)malloc(strlen((char *)showKey) + 1); if (keyHistory) { strcpy((char *)keyHistory,(char *)showKey); makeGLineMessageFromString(d, (char *)keyHistory); if (p->mode->keytbl == (BYTE *)NULL) { free(keyHistory); return NothingChangedWithBeep(d); } d->current_mode = p->mode; } return NothingForGLine(d); } static _DoFuncSequence(d, keytbl, key) /* Ê£¿ô¤Îµ¡Ç½¤Î³ä¤êÅö¤Æ */ uiContext d; BYTE *keytbl; BYTE key; { int res, total_res, ginfo = 0; int prevEchoLen = -1, prevRevPos, prevRevLen; int prevGEchoLen, prevGRevPos, prevGRevLen; wchar_t *prevEcho, *prevGEcho; BYTE *p, *actFromHash(); wchar_t *malloc_echo = (wchar_t *)0, *malloc_gline = (wchar_t *)0; if (key == 0) { key = (BYTE)d->ch; } if (keytbl == (BYTE *)NULL) keytbl = d->current_mode->keytbl; p = actFromHash(keytbl, key); if (p == (BYTE *)NULL) { return 0; } total_res = 0; for(; *p ; p++) { /* £²²óÌܰʹߤ˰ʲ¼¤Î¥Ç¡¼¥¿¤¬¼º¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ë¤Î¤ÇÆþ¤ìľ¤¹¡£ */ d->ch = (unsigned)(*(d->buffer_return) = (wchar_t)key); d->nbytes = 1; res = _doFunc(d, (int)*p); /* À¸¤Î doFunc ¤ò¸Æ¤Ö¡£ */ if (d->kanji_status_return->length >= 0) { prevEcho = d->kanji_status_return->echoStr; prevEchoLen = d->kanji_status_return->length; prevRevPos = d->kanji_status_return->revPos; prevRevLen = d->kanji_status_return->revLen; if (d->genbuf <= prevEcho && prevEcho < d->genbuf + ROMEBUFSIZE) { /* ¥Ç¡¼¥¿¤Ï d->genbuf ¤Ë¤¢¤ë¤Í */ if (!malloc_echo && !(malloc_echo = (wchar_t *)malloc(ROMEBUFSIZE * sizeof(wchar_t)))) { res = -1; /* ¥¨¥é¡¼¤¬¤â¤È¤â¤ÈÊ֤äÆÍ褿¤È¤¤¤¦¤³¤È¤Ë¤¹¤ë */ } else { prevEcho = malloc_echo; WStrncpy(prevEcho, d->kanji_status_return->echoStr, prevEchoLen); prevEcho[prevEchoLen] = (wchar_t)0; d->kanji_status_return->echoStr = prevEcho; } } } if (d->kanji_status_return->info & KanjiGLineInfo) { ginfo = 1; prevGEcho = d->kanji_status_return->gline.line; prevGEchoLen = d->kanji_status_return->gline.length; prevGRevPos = d->kanji_status_return->gline.revPos; prevGRevLen = d->kanji_status_return->gline.revLen; if (d->genbuf <= prevGEcho && prevGEcho < d->genbuf + ROMEBUFSIZE) { /* ¥Ç¡¼¥¿¤Ï d->genbuf ¤Ë¤¢¤ë¤Í */ if (!malloc_gline && !(malloc_gline = (wchar_t *)malloc(ROMEBUFSIZE * sizeof(wchar_t)))) { res = -1; /* ¥¨¥é¡¼¤¬¤â¤È¤â¤ÈÊ֤äÆÍ褿¤È¤¤¤¦¤³¤È¤Ë¤¹¤ë */ } else { prevGEcho = malloc_gline; WStrncpy(prevGEcho, d->kanji_status_return->gline.line, prevGEchoLen); prevGEcho[prevGEchoLen] = (wchar_t)0; d->kanji_status_return->gline.line = prevGEcho; d->kanji_status_return->info &= ~KanjiGLineInfo; } } } if (res < 0) { break; } if (res > 0) { total_res += res; d->buffer_return += res; d->n_buffer -= res; } } total_res = _afterDoFunc(d, total_res); d->flags |= MULTI_SEQUENCE_EXECUTED; if (malloc_echo) { WStrncpy(d->genbuf, prevEcho, prevEchoLen); d->genbuf[prevEchoLen] = (wchar_t)0; free((char *)malloc_echo); /* ¿ʬ malloc_echo ¤¬ prevEcho ¤«¤â */ prevEcho = d->genbuf; } d->kanji_status_return->echoStr = prevEcho; d->kanji_status_return->length = prevEchoLen; d->kanji_status_return->revPos = prevRevPos; d->kanji_status_return->revLen = prevRevLen; if (ginfo) { if (malloc_gline) { WStrncpy(d->genbuf, prevGEcho, prevGEchoLen); d->genbuf[prevGEchoLen] = (wchar_t)0; free((char *)malloc_gline); /* ¿ʬ malloc_gline ¤¬ prevGEcho ¤«¤â */ prevGEcho = d->genbuf; } d->kanji_status_return->gline.line = prevGEcho; d->kanji_status_return->gline.length = prevGEchoLen; d->kanji_status_return->gline.revPos = prevGRevPos; d->kanji_status_return->gline.revLen = prevGRevLen; d->kanji_status_return->info |= KanjiGLineInfo; } return total_res; } DoFuncSequence(d) /* Ê£¿ô¤Îµ¡Ç½¤Î³ä¤êÅö¤Æ */ uiContext d; { return _DoFuncSequence(d, (BYTE *)NULL, (BYTE)NULL); } multiSequenceFunc(d, mode, whattodo, key, fnum) uiContext d; KanjiMode mode; int whattodo; unsigned key; int fnum; { int i; unsigned char *p; struct map *m; if (whattodo != KEY_CALL) return 0; if (fnum == CANNA_FN_Kakutei || fnum == CANNA_FN_Quit || askQuitKey(key)) { /* Kakutei ¤Ï KC_KAKUTEI ¤Ø¤ÎÂбþ */ free(keyHistory); GlineClear(d); d->current_mode = (KanjiMode)(mode->ftbl); if (d->current_mode->flags & CANNA_KANJIMODE_EMPTY_MODE) { d->kanji_status_return->info |= KanjiEmptyInfo; } /* Nop ¤ò¹Ô¤¦ */ (void)doFunc(d, CANNA_FN_Nop); d->flags |= MULTI_SEQUENCE_EXECUTED; return 0; } for (i= 0, p = mode->keytbl; *p != 255; p += 2,i+=2) { debug_message("multiSequenceFunc:\263\254\301\330[%d]\n",i,0,0); /* ³¬ÁØ */ if (*p == key) { /* ¤³¤Î¥­¡¼¤ÏÅÐÏ¿¤µ¤ì¤Æ¤¤¤¿¡£ */ keyHistory = (unsigned char *)realloc(keyHistory, strlen((char *)keyHistory) + strlen((char *)showChar(key)) +2); if (keyHistory) { strcat((char *)keyHistory," "); strcat((char *)keyHistory,(char *)showChar(key)); makeGLineMessageFromString(d, (char *)keyHistory); if (*++p == CANNA_FN_UseOtherKeymap) { /* ¤Þ¤À¥­¡¼¥·¥±¥ó¥¹¤Î³¤­¤¬Â¸ºß */ m = mapFromHash(mode, key, (struct map ***)0); m->mode->ftbl = mode->ftbl; d->current_mode = m->mode; return NothingForGLine(d); } free(keyHistory); } GlineClear(d); d->current_mode = (KanjiMode)(mode->ftbl); /* µ¡Ç½¤ò¼Â¹Ô */ if (*p == CANNA_FN_FuncSequence) { return _DoFuncSequence(d, (unsigned char *)mode, key); } return (*d->current_mode->func)(d, d->current_mode, KEY_CALL, 0, *p); } } return NothingForGLineWithBeep(d); /* ÅÐÏ¿¤·¤Æ¤¤¤Ê¤¤¥­¡¼¤ò²¡¤·¤¿ */ } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/obind.c0100644000076500001200000004075510043310761014740 0ustar shinraadmin/* Copyright (c) 2002 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[] = "$Id: obind.c,v 1.4.2.1 2004/04/26 22:49:21 aida_s Exp $"; #endif #include "cannaconf.h" #define WARN_REFERENCES_EVAL(sym,msg) WARN_REFERENCES(sym,msg) #if SUPPORT_OLD_WCHAR #if defined(CANNA_WCHAR16) && !defined(WCHAR16) # define WCHAR16 #endif #include "widedef.h" #include "canna.h" #undef wcKanjiString #undef wcKanjiControl #undef wcCloseKanjiContext typedef struct { wchar_t *echoStr; /* local echo string */ int length; /* length of echo string */ int revPos; /* reverse position */ int revLen; /* reverse length */ unsigned long info; /* ¤½¤Î¾¤Î¾ðÊó */ wchar_t *mode; /* ¥â¡¼¥É¾ðÊó */ struct { wchar_t *line; int length; int revPos; int revLen; } gline; /* °ìÍ÷ɽ¼¨¤Î¤¿¤á¤Î¾ðÊó */ } owcKanjiStatus; typedef struct { int val; wchar_t *buffer; int n_buffer; owcKanjiStatus *ks; } owcKanjiStatusWithValue; typedef struct { char *client_data; int (*callback_func) pro((char *, int, wchar_t **, int, int *)); } owcListCallbackStruct; typedef canna_uint16_t cannawc16; typedef canna_uint32_t cannawc32; extern int howToReturnModeInfo; extern char *context_table; exp(int) wcKanjiString pro((const int, const int, wchar_t *, const int, owcKanjiStatus *)); exp(int) wcKanjiControl pro((const int, const int, char *)); exp(int) wcCloseKanjiContext pro((const int, owcKanjiStatusWithValue *)); static size_t Oldwcsnlen(owcs, maxlen) const wchar_t *owcs; size_t maxlen; { const wchar_t *p, *endp; for (p = owcs, endp = owcs + maxlen; *p && p < endp; ++p) ; return endp - p; } static size_t wc32stowc16s(wc16s, wc32s, len) cannawc16 *wc16s; const cannawc32 *wc32s; { unsigned int i; for (i = 0; i < len && wc32s[i]; i++) { cannawc32 wc32 = wc32s[i]; cannawc32 wc16; switch (wc32 >> 28) { case 0: /* ASCII */ wc16 = wc32 & 0x7f; break; case 1: /* Ⱦ³Ñ¥«¥Ê */ wc16 = 0x80 | (wc32 & 0x7f); break; case 2: /* ³°»ú */ wc16 = 0x8000 | ((wc32 & 0x3f80) << 1) | (wc32 & 0x7f); break; case 3: /* ´Á»ú */ wc16 = 0x8080 | ((wc32 & 0x3f80) << 1) | (wc32 & 0x7f); break; } wc16s[i] = (cannawc16)wc16; } if (i < len) wc16s[i] = (cannawc16)0; return i; } static size_t wc16stowc32s(wc32s, wc16s, len) cannawc32 *wc32s; const cannawc16 *wc16s; { unsigned int i; for (i = 0; i < len && wc16s[i]; i++) { cannawc32 wc16 = (cannawc32)wc16s[i]; cannawc32 wc32; switch (wc16 & 0x8080) { case 0x0000: /* ASCII */ wc32 = wc16 & 0x7f; break; case 0x0080: /* Ⱦ³Ñ¥«¥Ê */ wc32 = (1 << 28) | (wc16 & 0x7f); break; case 0x8000: /* ³°»ú */ wc32 = (2 << 28) | ((wc16 & 0x7f00) >> 1) | (wc16 & 0x7f); break; case 0x8080: /* ´Á»ú */ wc32 = (3 << 28) | ((wc16 & 0x7f00) >> 1) | (wc16 & 0x7f); break; } wc32s[i] = wc32; } if (i < len) wc32s[i] = (cannawc32)0; return i; } static size_t OldwcstoWCs(cwcs, owcs, len) cannawc *cwcs; const wchar_t *owcs; size_t len; { if (sizeof(wchar_t) == sizeof(cannawc)) { unsigned int i; for (i = 0; i < len && owcs[i]; ++i) cwcs[i] = (cannawc)owcs[i]; if (i < len) cwcs[i] = (cannawc)0; return i; } else if (sizeof(wchar_t) == 4 /* && sizeof(cannawc) == 2 */) return wc32stowc16s((cannawc16 *)cwcs, (const cannawc32 *)owcs, len); else /* if (sizeof(wchar_t) == 2 && sizeof(cannawc) == 4) */ return wc16stowc32s((cannawc32 *)cwcs, (const cannawc16 *)owcs, len); } static size_t WCstoOldwcs(owcs, cwcs, len) wchar_t *owcs; const cannawc *cwcs; size_t len; { if (sizeof(wchar_t) == sizeof(cannawc)) { unsigned int i; for (i = 0; i < len && cwcs[i]; ++i) owcs[i] = (wchar_t)cwcs[i]; if (i < len) owcs[i] = (cannawc)0; return i; } else if (sizeof(wchar_t) == 4 /* && sizeof(cannawc) == 2 */) return wc16stowc32s((cannawc32 *)owcs, (const cannawc16 *)cwcs, len); else /* if (sizeof(wchar_t) == 2 && sizeof(cannawc) == 4) */ return wc32stowc16s((cannawc16 *)owcs, (const cannawc32 *)cwcs, len); } static int StoreWCtoOldwc(wbuf, wbuflen, wks, owbuf, maxowbuf, owks, ch, nbytes) const cannawc *wbuf; int wbuflen; const wcKanjiStatus *wks; wchar_t *owbuf; int maxowbuf; owcKanjiStatus *owks; wchar_t ch; int nbytes; { int ret, totallen = 0, len; wchar_t *p, *endp; static wchar_t *inbuf = 0; static int inbufsize = 0; /* info */ owks->info = wks->info; /* ·ë²Ì */ if (owks->info & KanjiThroughInfo) { if (nbytes) owbuf[0] = ch; ret = nbytes; } else { if (wbuflen <= 0) ret = 0; else { size_t fixlen = (wbuflen < maxowbuf) ? wbuflen : maxowbuf; ret = (int)WCstoOldwcs(owbuf, wbuf, fixlen); if (/* ret >= 0 && */ ret < maxowbuf) owbuf[ret] = (wchar_t)0; } if (owks->info & KanjiYomiInfo && wbuflen >= 0 && maxowbuf >= ret + 1) { const cannawc *ep; len = WCstoOldwcs(owbuf + ret + 1, wbuf + wbuflen + 1, maxowbuf - ret - 1); ep = wbuf + wbuflen + 1; while (*ep) ep++; if (maxowbuf >= ret + 1 + len + 1) WCstoOldwcs(owbuf + ret + 1 + len + 1, ep + 1, maxowbuf - ret - 1 - len - 1); } } /* Â礭¤µ¤ËÃí°Õ */ if (wks->length > 0) totallen = wks->length + 1; if (wks->info & KanjiModeInfo) totallen += WStrlen(wks->mode) + 1; if (wks->info & KanjiGLineInfo) totallen += wks->gline.length + 1; if (inbufsize < totallen) { inbufsize = totallen; /* inbufsize will be greater than 0 */ if (inbuf) free(inbuf); inbuf = (wchar_t *)malloc(inbufsize * sizeof(wchar_t)); if (!inbuf) { inbufsize = 0; jrKanjiError = "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363"; /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó */ return -1; } } p = inbuf; endp = inbuf + inbufsize; if (wks->length < 0) { owks->length = -1; } else { /* ¥¨¥³¡¼Ê¸»ú */ owks->length = owks->revLen = owks->revPos = 0; if (wks->length > 0) { owks->echoStr = p; if (wks->revPos > 0) { len = owks->revPos = WCstoOldwcs(p, wks->echoStr, wks->revPos); p += len; } if (wks->revLen > 0) { len = owks->revLen = WCstoOldwcs(p, wks->echoStr + wks->revPos, wks->revLen); p += len; } len = 0; if (wks->length - wks->revPos - wks->revLen > 0) { len = WCstoOldwcs(p, wks->echoStr + wks->revPos + wks->revLen, wks->length - wks->revPos - wks->revLen); p += len; } owks->length = owks->revLen + owks->revPos + len; *p++ = (wchar_t)0; } } /* ¥â¡¼¥Éɽ¼¨ */ if (wks->info & KanjiModeInfo) { len = WCstoOldwcs(p, wks->mode, endp - p - 1); owks->mode = p; p[len] = (wchar_t)0; p += len + 1; } /* °ìÍ÷¹Ôɽ¼¨ */ if (wks->info & KanjiGLineInfo) { owks->gline.length = owks->gline.revLen = owks->gline.revPos = 0; if (wks->gline.length > 0) { owks->gline.line = p; if (wks->gline.revPos > 0) { len = owks->gline.revPos = WCstoOldwcs(p, wks->gline.line, wks->gline.revPos); p += len; } if (wks->gline.revLen > 0) { len = owks->gline.revLen = WCstoOldwcs(p, wks->gline.line + wks->gline.revPos, wks->gline.revLen); p += len; } len = 0; if (wks->gline.length - wks->gline.revPos - wks->gline.revLen > 0) { len = WCstoOldwcs(p, wks->gline.line + wks->gline.revPos + wks->gline.revLen, wks->gline.length - wks->gline.revPos - wks->gline.revLen); p += len; } owks->gline.length = owks->gline.revLen + owks->gline.revPos + len; *p++ = (wchar_t)0; } } return ret; } static int owcLookupKanji2(dpy, win, buffer_return, n_buffer, nbytes, functionalChar, kanji_status_return) unsigned int dpy, win; int functionalChar, nbytes; wchar_t *buffer_return; int n_buffer; owcKanjiStatus *kanji_status_return; { int ret; wcKanjiStatus wks; wchar_t ch; cannawc *inbuf = NULL; int inbufsize; int r; /* ÆâÉô¥Ð¥Ã¥Õ¥¡¤ò¥¢¥í¥±¡¼¥È¤¹¤ë */ inbufsize = n_buffer; /* inbufsize will be greater than 0 */ inbuf = (cannawc *)malloc(inbufsize * sizeof(cannawc)); if (!inbuf) { inbufsize = 0; jrKanjiError = "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363"; /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó */ return -1; } OldwcstoWCs(inbuf, buffer_return, nbytes ? nbytes : 1); ch = buffer_return[0]; ret = XwcLookupKanji2(dpy, win, inbuf, inbufsize, nbytes, functionalChar, &wks); if (ret < 0) { free(inbuf); return ret; } if (ret >= inbufsize) ret = inbufsize - 1; inbuf[ret] = (cannawc)0; r = StoreWCtoOldwc(inbuf, ret, &wks, buffer_return, n_buffer, kanji_status_return, ch, nbytes); free(inbuf); return r; } int owcListCallback(client_data, func, items, nitems, cur_item) char *client_data; int func; cannawc **items; int nitems, *cur_item; { const owcListCallbackStruct *owlistcb; int r = -1; wchar_t **owitems = NULL; wchar_t *owbuf = NULL; wchar_t *owp; size_t buflen = 0; int i; owlistcb = (const owcListCallbackStruct *)client_data; if (!items) /* CANNA_LIST_Insert sets 'nitems' to the pressed key (!=0) */ return owlistcb->callback_func(owlistcb->client_data, func, NULL, nitems, cur_item); for (i = 0; i < nitems; i++) buflen += WStrlen(items[i]) + 1; owbuf = (wchar_t *)malloc(buflen * sizeof(wchar_t)); owitems = (wchar_t **)malloc((nitems + 1) * sizeof(wchar_t **)); if (!owbuf || !owitems) goto last; /* XXX: ñ¤Ë-1¤òÊÖ¤·¤Æ¤¤¤¤¤Î¤«¡© */ owp = owbuf; for (i = 0; i < nitems; i++) { size_t len = WCstoOldwcs(owp, items[i], owbuf + buflen - owp); owitems[i] = owp; owp += len + 1; /* ¥Ð¥Ã¥Õ¥¡¤Ï¾ï¤Ë­¤ê¤Æ¤¤¤Æ¥Ì¥ë½ªÃ¼¤¬¤¢¤ë */ } owitems[nitems] = NULL; r = owlistcb->callback_func(owlistcb->client_data, func, owitems, nitems, cur_item); last: free(owbuf); free(owitems); return r; } static int owcKanjiControl2(display, window, request, arg) unsigned int display, window, request; BYTE *arg; { int ret = -1, len1, len2; wcKanjiStatusWithValue wksv; wcKanjiStatus wks; owcKanjiStatusWithValue *ksvarg = (owcKanjiStatusWithValue *)arg; wchar_t *owarg = (wchar_t *)arg; jrListCallbackStruct list_cb; wchar_t ch; cannawc *arg2, *wbuf, *wbuf1, *wbuf2; arg2 = (cannawc *)malloc(sizeof(cannawc) * 256); wbuf = (cannawc *)malloc(sizeof(cannawc) * 320); wbuf1 = (cannawc *)malloc(sizeof(cannawc) * 320); wbuf2 = (cannawc *)malloc(sizeof(cannawc) * 320); if (!arg2 || !wbuf || !wbuf1 || !wbuf2) { free(arg2); free(wbuf); free(wbuf1); free(wbuf2); return ret; } wksv.buffer = wbuf; wksv.n_buffer = 320; wksv.ks = &wks; switch (request) { case KC_DO: /* val ¤È buffer_return ¤ËÆþ¤ì¤ë¥¿¥¤¥× */ wbuf[0] = (cannawc)ksvarg->buffer[0]; /* FALLTHROUGH */ case KC_CHANGEMODE: /* val ¤òÍ¿¤¨¤ë¥¿¥¤¥× */ wksv.val = ksvarg->val; goto withksv; case KC_STOREYOMI: /* echoStr ¤È length ¤È mode ¤òÍ¿¤¨¤ë¥¿¥¤¥× */ /* ¤Þ¤º mode ¤ò¥ï¥¤¥É¤Ë¤·¤Æ¤ß¤è¤¦ */ if (((owcKanjiStatusWithValue *)arg)->ks->mode) { len2 = OldwcstoWCs(wbuf2, ksvarg->ks->mode, 319); wbuf2[len2] = (wchar_t)0; wks.mode = wbuf2; } else wks.mode = NULL; /* FALLTHROUGH */ case KC_DEFINEKANJI: /* echoStr ¤È length ¤òÍ¿¤¨¤ë¥¿¥¤¥× */ /* echoStr ¤ò¥ï¥¤¥É¤Ë¤·¤ÆÍ¿¤¨¤Æ¤ß¤è¤¦ */ len1 = OldwcstoWCs(wbuf1, ksvarg->ks->echoStr, 319); wbuf1[len1] = (wchar_t)0; wks.echoStr = wbuf1; wks.length = len1; /* FALLTHROUGH */ case KC_KAKUTEI: /* ¤¿¤Àñ¤ËÍ¿¤¨¤ÆÊ֤äÆÍè¤ë¥¿¥¤¥× */ case KC_KILL: goto withksv; case KC_CLOSEUICONTEXT: goto closecont; case KC_QUERYMODE: /* querymode */ ret = XwcKanjiControl2(display, window, request, (BYTE *)arg2); if (!ret) { switch (howToReturnModeInfo) { case ModeInfoStyleIsString: WCstoOldwcs(owarg, arg2, 256); /* XXX */ break; case ModeInfoStyleIsBaseNumeric: owarg[2] = (wchar_t)arg2[2]; case ModeInfoStyleIsExtendedNumeric: owarg[1] = (wchar_t)arg2[1]; case ModeInfoStyleIsNumeric: owarg[0] = (wchar_t)arg2[0]; break; } } goto return_ret; case KC_SETLISTCALLBACK: /* dirty, dirty hack */ /* list_cb¤ÏKC_setListCallback¤Çd->elistcb¤Ë°ú¤Ã±Û¤¹ */ list_cb.client_data = (char *)arg; list_cb.callback_func = &owcListCallback; ret = XwcKanjiControl2(display, window, request, (char *)&list_cb); goto return_ret; default: /* ¿·¥ï¥¤¥É¤ÈÊѤï¤é¤Ê¤¤¤â¤Î */ ret = XwcKanjiControl2(display, window, request, arg); goto return_ret; } withksv: ch = ksvarg->buffer[0]; ret = XwcKanjiControl2(display, window, request, (BYTE *)&wksv); if (ret < 0) { goto return_ret; } else { wksv.buffer[ret] = (wchar_t)0; ksvarg->val = StoreWCtoOldwc(wksv.buffer, wksv.val, wksv.ks, ksvarg->buffer, ksvarg->n_buffer, ksvarg->ks, ch, ksvarg->val); ret = ksvarg->val; goto return_ret; } closecont: ch = ksvarg->buffer[0]; ret = XwcKanjiControl2(display, window, request, (BYTE *)&wksv); if (ret < 0) { goto return_ret; } else { wksv.val = 0; ksvarg->val = StoreWCtoOldwc(wksv.buffer, wksv.val, wksv.ks, ksvarg->buffer, ksvarg->n_buffer, ksvarg->ks, ch, ksvarg->val); goto return_ret; } return_ret: free(wbuf2); free(wbuf1); free(wbuf); free(arg2); return ret; } exp(int) wcKanjiString(context_id, ch, buffer_return, nbuffer, kanji_status_return) int context_id, ch, nbuffer; wchar_t *buffer_return; owcKanjiStatus *kanji_status_return; { *buffer_return = (wchar_t)ch; return owcLookupKanji2((unsigned int)0, (unsigned int)context_id, buffer_return, nbuffer, 1/* byte */, 1/* functional char*/, kanji_status_return); } exp(int) wcKanjiControl(context, request, arg) int context; int request; char *arg; { return owcKanjiControl2((unsigned int)0, (unsigned int)context, request, (BYTE *)arg); } exp(int) wcCloseKanjiContext(context,ksva) int context; owcKanjiStatusWithValue *ksva; { /* really working? */ context_table[context] = 0; return owcKanjiControl2(0, context, KC_CLOSEUICONTEXT, (BYTE *)ksva); } #define WARNSTR "warning: libcanna: using old wchar API; consider to use new one." #else /* !SUPPORT_OLD_WCHAR */ #include "canna.h" #undef wcKanjiString #undef wcKanjiControl #undef wcCloseKanjiContext exp(int) wcKanjiString pro((const int, const int, cannawc *, const int, wcKanjiStatus *)); exp(int) wcKanjiControl pro((const int, const int, char *)); exp(int) wcCloseKanjiContext pro((const int, wcKanjiStatusWithValue *)); static int wc_unsupported() { jrKanjiError = "Old wide character API is disabled on this environment."; return -1; } exp(int) wcKanjiString(context_id, ch, buffer_return, nbuffer, kanji_status_return) int context_id, ch, nbuffer; cannawc *buffer_return; wcKanjiStatus *kanji_status_return; { return wc_unsupported(); } exp(int) wcKanjiControl(context, request, arg) int context; int request; char *arg; { return wc_unsupported(); } exp(int) wcCloseKanjiContext(context,ksva) int context; wcKanjiStatusWithValue *ksva; { return wc_unsupported(); } #define WARNSTR "warning: libcanna: old API is disabled; consider to use new one." #endif /* !SUPPORT_OLD_WCHAR */ WARN_REFERENCES_EVAL(wcKanjiString, WARNSTR); WARN_REFERENCES_EVAL(wcKanjiControl, WARNSTR); WARN_REFERENCES_EVAL(wcCloseKanjiContext, WARNSTR); /* vim: set sw=2: */ Canna37p3/lib/canna/onoff.c0100644000076500001200000002235007732020155014751 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: onoff.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include #include "canna.h" /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #ifndef NO_EXTEND_MENU #define ICHISIZE 9 static int makeOnOffIchiran(); static wchar_t *black; static wchar_t *white; static wchar_t *space; int initOnoffTable() { black = WString("\241\375"); /* ¡ý */ white = WString("\241\373"); /* ¡û */ space = WString("\241\241"); /* ¡¡ */ if (!black || !white || !space) { return NG; } return 0; } static void popOnOffMode(d) uiContext d; { ichiranContext oc = (ichiranContext)d->modec; d->modec = oc->next; d->current_mode = oc->prevMode; freeIchiranContext(oc); } /* * ¸õÊä°ìÍ÷¹Ô¤òºî¤ë */ selectOnOff(d, buf, ck, nelem, bangomax, currentkouho, status, everyTimeCallback, exitCallback, quitCallback, auxCallback) uiContext d; wchar_t **buf; int *ck; int nelem, bangomax; int currentkouho; unsigned char *status; int (*everyTimeCallback)(), (*exitCallback)(); int (*quitCallback)(), (*auxCallback)(); { extern KanjiModeRec onoff_mode; ichiranContext oc; int retval = 0; ichiranContext newIchiranContext(); if(pushCallback(d, d->modec, everyTimeCallback, exitCallback, quitCallback, auxCallback) == 0) { jrKanjiError = "malloc (pushCallback) \244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ return(NG); } if ((oc = (ichiranContext)newIchiranContext()) == (ichiranContext)NULL) { popCallback(d); return(NG); } oc->next = d->modec; d->modec = (mode_context)oc; oc->prevMode = d->current_mode; d->current_mode = &onoff_mode; oc->allkouho = buf; oc->curIkouho = ck; if((retval = makeOnOffIchiran(d, nelem, bangomax, currentkouho, status)) == NG) { popOnOffMode(d); popCallback(d); return(NG); } return(retval); } /* * ¸õÊä°ìÍ÷¹Ô¤òɽ¼¨ÍѤΥǡ¼¥¿¤ò¥Æ¡¼¥Ö¥ë¤ËºîÀ®¤¹¤ë * * ¡¦glineinfo ¤È kouhoinfo¤òºîÀ®¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static makeOnOffIchiran(d, nelem, bangomax, currentkouho, status) uiContext d; int nelem, bangomax; int currentkouho; unsigned char *status; { ichiranContext oc = (ichiranContext)d->modec; wchar_t **kkptr, *kptr, *gptr, *svgptr; int ko, lnko, cn = 0, svcn, line = 0, dn = 0, svdn; oc->nIkouho = nelem; /* ¸õÊä¤Î¿ô */ /* ¥«¥ì¥ó¥È¸õÊä¤ò¥»¥Ã¥È¤¹¤ë */ oc->svIkouho = *(oc->curIkouho); *(oc->curIkouho) += currentkouho; if(*(oc->curIkouho) >= oc->nIkouho) oc->svIkouho = *(oc->curIkouho) = 0; if(allocIchiranBuf(d) == NG) return(NG); if(d->ncolumns < 1) { oc->tooSmall = 1; return(0); } /* glineinfo¤Èkouhoinfo¤òºî¤ë */ /* ¡öglineinfo¡ö int glkosu : int glhead : int gllen : wchar_t *gldata £±¹Ô¤Î¸õÊä¿ô : ÀèÆ¬¸õÊ䤬 : £±¹Ô¤ÎŤµ : ¸õÊä°ìÍ÷¹Ô¤Îʸ»úÎó : ²¿ÈÖÌܤθõÊ䤫 : ------------------------------------------------------------------------- 0 | 6 : 0 : 24 : £±¿·£²¿´£³¿Ê£´¿¿£µ¿À£¶¿® 1 | 4 : 6 : 16 : £±¿Ã£²¿²£³¿­£´¿Ä ¡ökouhoinfo¡ö int khretsu : int khpoint : wchar_t *khdata ¤Ê¤óÎóÌÜ¤Ë : ¹Ô¤ÎÀèÆ¬¤«¤é : ¸õÊä¤Îʸ»úÎó ¤¢¤ë¸õÊ䤫 : ²¿¥Ð¥¤¥ÈÌܤ« : ------------------------------------------------------------------------- 0 | 0 : 0 : ¿· 1 | 0 : 4 : ¿´ : : : 7 | 1 : 0 : ¿Ã 8 | 1 : 4 : ¿² */ kkptr = oc->allkouho; kptr = *(oc->allkouho); gptr = oc->glinebufp; /* line -- ²¿ÎóÌܤ« ko -- Á´ÂΤÎÀèÆ¬¤«¤é²¿ÈÖÌܤθõÊ䤫 lnko -- Îó¤ÎÀèÆ¬¤«¤é²¿ÈÖÌܤθõÊ䤫 cn -- Îó¤ÎÀèÆ¬¤«¤é²¿¥Ð¥¤¥ÈÌܤ« */ for(line=0, ko=0; konIkouho; line++) { oc->glineifp[line].gldata = gptr; /* ¸õÊä¹Ô¤òɽ¼¨¤¹¤ë¤¿¤á¤Îʸ»úÎó */ oc->glineifp[line].glhead = ko; /* ¤³¤Î¹Ô¤ÎÀèÆ¬¸õÊä¤Ï¡¢Á´ÂΤǤÎkoÈÖÌÜ */ oc->tooSmall = 1; for(lnko = cn = dn = 0; dnncolumns - (cannaconf.kCount ? ICHISIZE + 1: 0) && lnkonIkouho ; lnko++, ko++) { oc->tooSmall = 0; kptr = kkptr[ko]; oc->kouhoifp[ko].khretsu = line; /* ²¿¹ÔÌܤ˸ºß¤¹¤ë¤«¤òµ­Ï¿ */ oc->kouhoifp[ko].khpoint = cn + (lnko ? 1 : 0); oc->kouhoifp[ko].khdata = kptr; /* ¤½¤Îʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ svgptr = gptr; svcn = cn; svdn = dn; /* ¡ý¤«¡û¤ò¥³¥Ô¡¼¤¹¤ë */ if(lnko) { WStrncpy(gptr++, space, WStrlen(space)); cn++; dn += 2; } if(status[ko] == 1) WStrncpy(gptr, black, WStrlen(black)); else WStrncpy(gptr, white, WStrlen(white)); cn ++; gptr++; dn +=2; /* ¸õÊä¤ò¥³¥Ô¡¼¤¹¤ë */ for(; *kptr && dnncolumns - (cannaconf.kCount ? ICHISIZE + 1: 0); gptr++, kptr++, cn++) { if (((*gptr = *kptr) & 0x8080) == 0x8080) dn++; dn++; } /* ¥«¥é¥à¿ô¤è¤ê¤Ï¤ß¤À¤·¤Æ¤·¤Þ¤¤¤½¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç£±¤ÄÌ᤹ */ if ((dn >= d->ncolumns - (cannaconf.kCount ? ICHISIZE + 1: 0)) && *kptr) { if (lnko) { gptr = svgptr; cn = svcn; dn = svdn; } else { oc->tooSmall = 1; } break; } } if (oc->tooSmall) { return 0; } if (cannaconf.kCount) { for (;dn < d->ncolumns - 1; dn++) { *gptr++ = ' '; } } /* £±¹Ô½ª¤ï¤ê */ *gptr++ = (wchar_t)0; oc->glineifp[line].glkosu = lnko; oc->glineifp[line].gllen = WStrlen(oc->glineifp[line].gldata); } /* ºÇ¸å¤ËNULL¤òÆþ¤ì¤ë */ oc->kouhoifp[ko].khretsu = 0; oc->kouhoifp[ko].khpoint = 0; oc->kouhoifp[ko].khdata = (wchar_t *)NULL; oc->glineifp[line].glkosu = 0; oc->glineifp[line].glhead = 0; oc->glineifp[line].gllen = 0; oc->glineifp[line].gldata = (wchar_t *)NULL; #if defined(DEBUG) if (iroha_debug) { int i; for(i=0; oc->glineifp[i].glkosu; i++) printf("%d: %s\n", i, oc->glineifp[i].gldata); } #endif return(0); } /* * ¥«¥ì¥ó¥È¸õÊä¤ò¸½ºß¤ÈÈ¿ÂФˤ¹¤ë(ON¢ªOFF, OFF¢ªON) * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static OnOffSelect(d) uiContext d; { ichiranContext oc = (ichiranContext)d->modec; mountContext mc = (mountContext)oc->next; int point, retval = 0; wchar_t *gline; /* mountNewStatus ¤òÊѹ¹¤¹¤ë (1¢ª0, 0¢ª1) */ if(mc->mountNewStatus[*(oc->curIkouho)]) mc->mountNewStatus[*(oc->curIkouho)] = 0; else mc->mountNewStatus[*(oc->curIkouho)] = 1; /* glineÍѤΥǡ¼¥¿¤ò½ñ¤­´¹¤¨¤ë (¡ý¢ª¡û, ¡û¢ª¡ý) */ gline = oc->glineifp[oc->kouhoifp[*(oc->curIkouho)].khretsu].gldata; point = oc->kouhoifp[*(oc->curIkouho)].khpoint; *(gline+point) = ((mc->mountNewStatus[*(oc->curIkouho)]) ? *black : *white); makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return(retval); } /* * status ¤ò¤½¤Î¤Þ¤ÞÊÖ¤·¡¢OnOff¥â¡¼¥É¤òPOP¤¹¤ë (EXIT_CALLBACK) * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static OnOffKakutei(d) uiContext d; { ichiranContext oc = (ichiranContext)d->modec; int retval = 0; /* ¤¤¤é¤Ê¤¤¤Î¤Ç¤Ï unsigned char *kakuteiStrings;*/ /* ¸õÊä°ìÍ÷ɽ¼¨¹ÔÍѤΥ¨¥ê¥¢¤ò¥Õ¥ê¡¼¤¹¤ë */ freeIchiranBuf(oc); popOnOffMode(d); #if defined(DEBUG) if(iroha_debug) { mountContext mc = (mountContext)d->modec; int i; printf("<¡úmount>\n"); for(i= 0; mc->mountList[i]; i++) printf("[%s][%x][%x]\n", mc->mountList[i], mc->mountOldStatus[i], mc->mountNewStatus[i]); printf("\n"); } #endif /* gline ¤ò¥¯¥ê¥¢¤¹¤ë */ GlineClear(d); d->status = EXIT_CALLBACK; return(retval); } #endif /* NO_EXTEND_MENU */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #include "onoffmap.h" Canna37p3/lib/canna/onoffmap.h0100644000076500001200000000476207554213606015472 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char onoffmap_id[] = "@(#) 102.1 $Id: onoffmap.h,v 1.1.1.1 2002/10/19 08:27:50 aida_s Exp $"; #endif /* lint */ #ifdef NO_EXTEND_MENU static struct funccfunc onoff_funcs[] = {{0, 0},}; #else extern DoFuncSequence(),UseOtherKeymap(); extern IchiranForwardKouho(), IchiranBackwardKouho(), IchiranNextKouhoretsu(); extern IchiranPreviousKouhoretsu(), IchiranBeginningOfKouho(); extern IchiranEndOfKouho(), IchiranQuit(), IchiranNop(); static struct funccfunc onoff_funcs[] = { {CANNA_FN_Forward ,IchiranForwardKouho }, {CANNA_FN_Backward ,IchiranBackwardKouho }, {CANNA_FN_Next ,IchiranNextKouhoretsu }, {CANNA_FN_Prev ,IchiranPreviousKouhoretsu }, {CANNA_FN_BeginningOfLine ,IchiranBeginningOfKouho }, {CANNA_FN_EndOfLine ,IchiranEndOfKouho }, {CANNA_FN_DeletePrevious ,IchiranQuit }, {CANNA_FN_Henkan ,OnOffSelect }, {CANNA_FN_HenkanOrInsert ,OnOffSelect }, {CANNA_FN_HenkanOrNothing ,OnOffSelect }, {CANNA_FN_Kakutei ,OnOffKakutei }, {CANNA_FN_Quit ,IchiranQuit }, {CANNA_FN_Nop ,IchiranNop }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {0 ,0 }, }; #endif /* NO_EXTEND_MENU */ KanjiModeRec onoff_mode = { searchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, onoff_funcs, }; Canna37p3/lib/canna/parse.c0100644000076500001200000002557507732020155014770 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: parse.c,v 1.4 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include #include /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern char *CANNA_initfilename; #define BUF_LEN 1024 static char CANNA_rcfilename[BUF_LEN] = ""; static int DISPLAY_to_hostname(); /* cfuncdef YYparse -- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤à¡£ ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¡£ */ extern ckverbose; extern YYparse_by_rcfilename(); /* cfuncdef parse -- .canna ¥Õ¥¡¥¤¥ë¤òõ¤·¤Æ¤­¤ÆÆÉ¤ß¹þ¤à¡£ parse ¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òõ¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·¥Ñ¡¼¥¹¤¹ ¤ë¡£ ¥Ñ¡¼¥¹Ãæ¤Î¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò CANNA_rcfilename ¤ËÆþ¤ì¤Æ¤ª¤¯¡£ */ #define NAMEBUFSIZE 1024 #define RCFILENAME ".canna" #define FILEENVNAME "CANNAFILE" #define HOSTENVNAME "CANNAHOST" #define OBSOLETE_FILEENVNAME "IROHAFILE" #define OBSOLETE_HOSTENVNAME "IROHAHOST" static make_initfilename() { if(!CANNA_initfilename) { CANNA_initfilename = malloc(1024); if (!CANNA_initfilename) { return -1; } strcpy(CANNA_initfilename, CANNA_rcfilename); } else { strcat(CANNA_initfilename, ","); strcat(CANNA_initfilename, CANNA_rcfilename); } return 0; } static void fit_initfilename() { char *tmpstr; if (CANNA_initfilename) { tmpstr = malloc(strlen(CANNA_initfilename) + 1); if (!tmpstr) return; strcpy(tmpstr, CANNA_initfilename); free(CANNA_initfilename); CANNA_initfilename = tmpstr; } } void parse() { char *p, *getenv(); int n; extern iroha_debug; int home_canna_exist = 0; extern char *initFileSpecified; extern int auto_define; #ifndef USE_MALLOC_FOR_BIG_ARRAY char buf[256]; #else char *buf = malloc(256); if (!buf) { return; } #endif if (clisp_init() == 0) { if (ckverbose) { printf("¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÏÆÉ¤ß¹þ¤ß¤Þ¤»¤ó¡£\n"); } addWarningMesg("\245\341\245\342\245\352\244\254\302\255\244\352\244\336" "\244\273\244\363\241\243\245\253\245\271\245\277\245\336\245\244" "\245\272\245\325\245\241\245\244\245\353\244\362\306\311\244\337" "\271\376\244\341\244\336\244\273\244\363\241\243\\n"); /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó¡£¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤á¤Þ¤»¤ó¡£ */ goto quitparse; } if (initFileSpecified) { strcpy(CANNA_rcfilename, initFileSpecified); if (YYparse_by_rcfilename(CANNA_rcfilename)) { make_initfilename(); goto quitparse; } else { if (ckverbose) { printf("¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÏÆÉ¤ß¹þ¤ß¤Þ¤»¤ó¡£\n"); } sprintf(buf, "\273\330\304\352\244\265\244\354\244\277\245\253\245\271" "\245\277\245\336\245\244\245\272\245\325\245\241\245\244\245\353" "\40\45\163\40\244\254\302\270\272\337\244\267\244\336\244\273" "\244\363\241\243", CANNA_rcfilename); /* »ØÄꤵ¤ì¤¿¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë %s ¤¬Â¸ºß¤·¤Þ¤»¤ó¡£ */ addWarningMesg(buf); goto quitparse; } } p = getenv(FILEENVNAME); if (p) { strcpy(CANNA_rcfilename, p); if (YYparse_by_rcfilename(CANNA_rcfilename)) { make_initfilename(); goto quitparse; } } #ifdef OBSOLETE_FILEENVNAME else if ((p = getenv(OBSOLETE_FILEENVNAME)) != (char *)0) { sprintf(buf, "\303\355\260\325\72\40\245\253\245\271\245\277\245\336" "\245\244\245\272\245\325\245\241\245\244\245\353\244\362\273\330" "\304\352\244\271\244\353\244\277\244\341\244\316\264\304\266\255" "\312\321\277\364\40\45\163\40\244\254\273\330\304\352\244\265" "\244\354\244\306\244\244" , OBSOLETE_FILEENVNAME); /* Ãí°Õ: ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Î´Ä¶­ÊÑ¿ô %s ¤¬»ØÄꤵ¤ì¤Æ¤¤ */ addWarningMesg(buf); sprintf(buf, "\40\40\40\40\40\40\244\336\244\271\244\254\241\242\277\267" "\267\301\274\260\244\316\245\253\245\271\245\277\245\336\245\244" "\245\272\245\325\245\241\245\244\245\353\244\362\273\330\304\352" "\244\271\244\353\40\45\163\40\244\254\273\330\304\352" , FILEENVNAME); /* ¤Þ¤¹¤¬¡¢¿··Á¼°¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë %s ¤¬»ØÄê */ addWarningMesg(buf); addWarningMesg("\40\40\40\40\40\40\244\265\244\354\244\306\244\244" "\244\336\244\273\244\363\241\243\277\267\267\301\274\260\244\316" "\245\253\245\271\245\277\245\336\245\244\245\272\245\325\245\241" "\245\244\245\353\244\362\272\356\300\256\244\267\241\242\264\304" "\266\255\312\321\277\364" ); /* ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¿··Á¼°¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢´Ä¶­ÊÑ¿ô */ sprintf(buf, "\40\40\40\40\40\40\45\163\40\244\362\300\337\304\352" "\244\267\244\306\262\274\244\265\244\244\241\243" , FILEENVNAME); /* %s ¤òÀßÄꤷ¤Æ²¼¤µ¤¤¡£ */ addWarningMesg(buf); } #endif p = getenv("HOME"); if (p) { strcpy(CANNA_rcfilename, p); strcat(CANNA_rcfilename, "/"); strcat(CANNA_rcfilename, RCFILENAME); n = strlen(CANNA_rcfilename); /* $HOME/.canna */ home_canna_exist = YYparse_by_rcfilename(CANNA_rcfilename); if (home_canna_exist) { make_initfilename(); /* $HOME/.canna-DISPLAY */ p = getenv("DISPLAY"); if (p) { char display[NAMEBUFSIZE]; DISPLAY_to_hostname(p, display, NAMEBUFSIZE); CANNA_rcfilename[n] = '-'; strcpy(CANNA_rcfilename + n + 1, display); if(YYparse_by_rcfilename(CANNA_rcfilename)) { make_initfilename(); } } /* $HOME/.canna-TERM */ p = getenv("TERM"); if (p) { CANNA_rcfilename[n] = '-'; strcpy(CANNA_rcfilename + n + 1, p); if(YYparse_by_rcfilename(CANNA_rcfilename)) { make_initfilename(); } } } #ifdef OBSOLETE_RCFILENAME else { /* .canna ¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤ */ strcpy(CANNA_rcfilename, p); strcat(CANNA_rcfilename, "/"); strcat(CANNA_rcfilename, OBSOLETE_RCFILENAME); n = strlen(CANNA_rcfilename); if (close(open(CANNA_rcfilename, O_RDONLY)) == 0) { /* ¤¢¤ë */ sprintf(buf, "\303\355\260\325\72\40\265\354\267\301\274\260\244\316" "\245\253\245\271\245\277\245\336\245\244\245\272\245\325\245\241" "\245\244\245\353\40\45\163\40\244\254\302\270\272\337\244\267" "\244\306\244\244\244\336\244\271\244\254\277\267\267\301\274\260" "\244\316" , OBSOLETE_RCFILENAME); /* Ãí°Õ: µì·Á¼°¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë %s ¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¤¬¿··Á¼°¤Î */ addWarningMesg(buf); sprintf(buf, "\40\40\40\40\40\40\245\253\245\271\245\277\245\336" "\245\244\245\272\245\325\245\241\245\244\245\353\40\45\163\40" "\244\254\302\270\272\337\244\267\244\306\244\244\244\336\244\273" "\244\363\241\243\143\141\156\166\145\162\164\40\245\263\245\336" "\245\363\245\311\244\362" , RCFILENAME); /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë %s ¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó¡£canvert ¥³¥Þ¥ó¥É¤ò */ addWarningMesg(buf); sprintf(buf, "\40\40\40\40\40\40\315\370\315\321\244\267\244\306" "\277\267\267\301\274\260\244\316\245\253\245\271\245\277\245\336" "\245\244\245\272\245\325\245\241\245\244\245\353\40\45\163\40\244\362" "\272\356\300\256\244\267\244\306\262\274\244\265\244\244\241\243" , RCFILENAME); /* ÍøÍѤ·¤Æ¿··Á¼°¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë %s ¤òºîÀ®¤·¤Æ²¼¤µ¤¤¡£ */ addWarningMesg(buf); sprintf(buf, "\40\40\40\40\40\40\50\316\343\51\40\143\141\156\166" "\145\162\164\40\55\143\40\55\157\40\176\57\45\163\40\55\156\40" "\176\57\45\163" , OBSOLETE_RCFILENAME, RCFILENAME); /* (Îã) canvert -c -o ~/%s -n ~/%s" */ addWarningMesg(buf); } } #endif } if ( !home_canna_exist ) { /* ºÇ¸å¤Ï¥·¥¹¥Æ¥à¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤à */ strcpy(CANNA_rcfilename, CANNALIBDIR); n = strlen(CANNA_rcfilename); strcpy(CANNA_rcfilename + n, "/default"); strcat(CANNA_rcfilename + n, RCFILENAME); if (YYparse_by_rcfilename(CANNA_rcfilename)) { make_initfilename(); p = getenv("DISPLAY"); if (p) { char display[NAMEBUFSIZE]; DISPLAY_to_hostname(p, display, NAMEBUFSIZE); CANNA_rcfilename[n] = '/'; strcpy(CANNA_rcfilename + n + 1, display); strcat(CANNA_rcfilename, RCFILENAME); if(YYparse_by_rcfilename(CANNA_rcfilename)) { make_initfilename(); } } p = getenv("TERM"); if (p) { CANNA_rcfilename[n] = '/'; strcpy(CANNA_rcfilename + n + 1, p); strcat(CANNA_rcfilename, RCFILENAME); if(YYparse_by_rcfilename(CANNA_rcfilename)) { make_initfilename(); } } } else { if (ckverbose) { printf("¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÏÆÉ¤ß¹þ¤ß¤Þ¤»¤ó¡£\n"); } sprintf(buf, #ifndef CODED_MESSAGE "¥·¥¹¥Æ¥à¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë %s ¤¬Â¸ºß¤·¤Þ¤»¤ó¡£", #else "\245\267\245\271\245\306\245\340\244\316\245\253\245\271" "\245\277\245\336\245\244\245\272\245\325\245\241\245\244\245\353" "\40\45\163\40\244\254\302\270\272\337\244\267\244\336\244\273" "\244\363\241\243", #endif CANNA_rcfilename); /* ¥·¥¹¥Æ¥à¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë %s ¤¬Â¸ºß¤·¤Þ¤»¤ó¡£ */ addWarningMesg(buf); } } quitparse: /* CANNA_initfilename ¤ò¥¸¥ã¥¹¥È¥µ¥¤¥º¤Ë´¢¤ê¹þ¤à */ fit_initfilename(); clisp_fin(); #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(buf); #endif } static DISPLAY_to_hostname(name, buf, bufsize) char *name, *buf; int bufsize; { if (name[0] == ':' || !strncmp(name, "unix", 4)) { gethostname(buf, bufsize); } else { int i, len = strlen(name); for (i = 0 ; i < len && i < bufsize ; i++) { if (name[i] == ':') { break; } else { buf[i] = name[i]; } } if (i < bufsize) { buf[i] = '\0'; } } } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/RkCloseR.jmn0100644000076500001200000000356607554213603015704 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCloseR.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH RKCLOSEROMA 3 "4 April 1991" .SH "̾Á°" RkCloseRoma / RkwCloseRoma \- ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ËÍѤ¤¤ë¼­½ñ¤ò¥¯¥í¡¼¥º¤¹¤ë .SH "·Á¼°" .nf .B #include .B RkCloseRoma(romaji) .B struct RkRxDic *romaji; .B RkwCloseRoma(romaji) .B struct RkRxDic *romaji; .fi .SH "ÀâÌÀ" ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ï¡¤ .IR mkromdic(1) ¤Ë¤è¤êºîÀ®¤µ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤Æ¹Ô¤¤¤Þ¤¹¡¥ .I RkCloseRoma ¤Ï¡¤¤³¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡¥ .I romaji ¤Ï¡¤ .IR RkOpenRoma(3) ¤Ë¤è¤êÊÖ¤µ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÍ¿¤¨¤Þ¤¹¡¥ .PP .I RkwCloseRoma ¤Ï, .I RkCloseRoma ¤ÈƱ°ì¤Î´Ø¿ô¤Ç¤¹. .SH "´ØÏ¢¾ðÊó" RkOpenRoma(3) .\".if t .pn 575 Canna37p3/lib/canna/RkCloseR.man0100644000076500001200000000372607554213603015671 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCloseR.man,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH "RkCloseContext" "3" .SH "NAME" \f4RkCloseRoma\f1 / \f4RkwCloseRoma\f1 \- close the dictionary used for Romaji-kana conversion .SH "SYNOPSIS" .nf .ft 4 #include RkCloseRoma(romaji) struct RkRxDic *romaji; RkwCloseRoma(romaji) struct RkRxDic *romaji; .ft 1 .fi .SH "DESCRIPTION" Romaji-kana conversion is effected by using a Romaji-kana conversion table created by \f2mkromdic(1)\f1. \f2RkCloseRoma\f1 closes this Romaji-kana conversion table. \f2romaji\f1 specifies the pointer to the Romaji-kana conversion table returned by \f2RkOpenRoma(3)\f1. .P \f2RkwCloseRoma\f1 is the similar function of \f2RkCloseRoma\f1. This is provided just because of naming convention. .SH "SEE ALSO" .na \f4RkOpenRoma\f1(3) .ad Canna37p3/lib/canna/RkCvtEuc.jmn0100644000076500001200000000420607554213603015676 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtEuc.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH RKCVTEUC 3 "4 April 1991" .SH "̾Á°" RkCvtEuc \- ¥·¥Õ¥È JIS ¥³¡¼¥É¤ò EUC ¥³¡¼¥É¤ËÊÑ´¹¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkCvtEuc(dst, maxdst, src, srclen) .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .fi .SH "ÀâÌÀ" .I RkCvtEuc ¤Ï¡¤Îΰè .I src ¤«¤é³«»Ï¤¹¤ë .I srclen ¥Ð¥¤¥È¤Î¥·¥Õ¥ÈJIS¥³¡¼¥É¤Î¥Ç¡¼¥¿¤ò EUC ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .I src Ãæ¤Î¥Ì¥ëʸ»ú¤Ïʸ»úÎó¤Î½ª¤ï¤ê¤È¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡¥ÊÑ´¹¤µ¤ì¤¿·ë²Ì¤ÏÎΰè .I dst ¤Ë³ÊǼ¤µ¤ì¡¤ÊÑ´¹ÂоݤȤʤé¤Ê¤¤Ê¸»ú¤Ï¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥ ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤¬ .I maxdst -1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï¡¤ EUC ¥³¡¼¥É¤Îʸ»ú¶­³¦¤Ë¹ç¤ï¤»¤ÆÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ ¤µ¤é¤Ë .I dst ¤ÎºÇ¸å¤Ë¤Ï²Äǽ¤Ê¤é¤Ð¥Ì¥ëʸ»ú¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡¥ .PP .I dst ¤Ë¤Ï NULL ¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ ¤³¤Î¾ì¹ç¡¤ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Ï ¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡¥ .SH "Ìá¡¡¤ê¡¡ÃÍ" ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .I maxdst ¤¬ÉÔÀµ¤Ê¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/canna/RkCvtEuc.man0100644000076500001200000000436507554213603015673 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtEuc.man,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH "RKCVTEUC" "3" .SH "NAME" \f4RkCvtEuc\f1 \- convert shift JIS code to EUC code .SH "SYNOPSIS" .nf .ft 4 #include int RkCvtEuc(dst, maxdst, src, srclen) unsigned char *dst; int maxdst; unsigned char *src; int srclen; .ft 1 .fi .SH "DESCRIPTION" \f2RkCvtEuc\f1 converts the \f2srclen\f1 bytes of shift JIS code data to EUC code, starting at the area \f2src\f1. A null character in \f2src\f1 is not interpreted as the end of the string. The conversion result is stored in the area \f2dst\f1. Characters that are not subject to conversion are copied as they are. The conversion result is truncated to adjust to character boundaries in the EUC code when its byte length exceeds \f2maxdst\f1 -1. \f2dst\f1 is padded with null characters at the end if possible. .P \f4NULL\f1 can be specified in \f2dst\f1. \f4NULL\f1 overrides the entire conversion result. .SH "RETURN VALUE" This function returns the byte length of the conversion result, or returns \f40\f1 if the value of \f2maxdst\f1 is invalid. Canna37p3/lib/canna/RkCvtHan.jmn0100644000076500001200000000477407554213603015702 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtHan.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH RKCVTHAN 3 "4 April 1991" .SH "̾Á°" RkCvtHan / RkwCvtHan \- Á´³Ñµ­¹æ¡¤±Ñ¿ô»ú¡¤¤Ò¤é¤¬¤Ê¡¤¥«¥¿¥«¥Ê¤òȾ³Ñʸ»ú¤ËÊÑ´¹¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkCvtHan(dst, maxdst, src, srclen) .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .B int RkwCvtHan(dst, maxdst, src, srclen) .B wchar_t *dst; .B int maxdst; .B wchar_t *src; .B int srclen; .fi .SH "ÀâÌÀ" .I RkCvtHan ¤Ï¡¤Îΰè .I src ¤«¤é³«»Ï¤¹¤ë .I srclen ¥Ð¥¤¥È¤ÎÁ´³Ñµ­¹æ¡¤±Ñ¿ô»ú¡¤¤Ò¤é¤¬¤Ê¡¤¥«¥¿¥«¥Ê¥Ç¡¼¥¿¤òȾ³Ñʸ»ú¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .I src Ãæ¤Î¥Ì¥ëʸ»ú¤Ïʸ»úÎó¤Î½ª¤ï¤ê¤È¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡¥ÊÑ´¹¤µ¤ì¤¿·ë²Ì¤ÏÎΰè .I dst ¤Ë³ÊǼ¤µ¤ì¡¤ÊÑ´¹ÂоݤȤʤé¤Ê¤¤Ê¸»ú¤Ï¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥ ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤¬ .I maxdst -1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï¡¤ EUC ¥³¡¼¥É¤Îʸ»ú¶­³¦¤Ë¹ç¤ï¤»¤ÆÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ ¤µ¤é¤Ë .I dst ¤ÎºÇ¸å¤Ë¤Ï²Äǽ¤Ê¤é¤Ð¥Ì¥ëʸ»ú¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡¥ ¥³¡¼¥É¤Îɽ¸½¤Ï .I src ¡¤ .I dst ¤È¤â EUC ¥³¡¼¥É¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡¥ .PP .I RkwCvtHan ¤Ç¤Ï .I RkCvtHan ¤Î°ú¿ô¤¬ .I wchar_t ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹. °ú¿ô¤ÇŤµ¤òɽ¤¹¤â¤Î¤Ï¥Ð¥¤¥ÈĹ¤Ç¤Ï¤Ê¤¯Ê¸»úŤòɽ¤·¤Þ¤¹. .PP .I dst ¤Ë¤Ï NULL ¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ ¤³¤Î¾ì¹ç¡¤ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Ï ¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô(¤Þ¤¿¤Ï .I RkwCvtHan ¤Î¾ì¹ç¤Ïʸ»úĹ)¤òÊÖ¤·¤Þ¤¹¡¥ .I maxdst ¤¬ÉÔÀµ¤Ê¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/canna/RkCvtHan.man0100644000076500001200000000537107554213603015663 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtHan.man,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH "RKCVTHAN" "3" .SH "NAME" \f4RkCvtHan\f1 / \f4RkwCvtHan\f1 \- convert double-width symbols, alphanumeric characters, hiragana, and katakana to single-width characters .SH "SYNOPSIS" .nf .ft 4 #include int RkCvtHan(dst, maxdst, src, srclen) unsigned char *dst; int maxdst; unsigned char *src; int srclen; int RkwCvtHan(dst, maxdst, src, srclen) wchar_t *dst; int maxdst; wchar_t *src; int srclen; .ft 1 .fi .SH "DESCRIPTION" \f2RkCvtHan\f1 converts the \f2srclen\f1 bytes of double-width symbol, alphanumeric characters, hiragana, and katakana data to single-width characters, starting at the area \f2src\f1. A null character in \f2src\f1 is not interpreted as the end of the string. The conversion result is stored in the area \f2dst\f1. Characters that are not subject to conversion are copied as they are. The conversion result is truncated to adjust to character boundaries in the EUC code when its byte length exceeds \f2maxdst\f1 -1. \f2dst\f1 is padded with null characters at the end if possible. EUC code is used to represent both \f2src\f1 and \f2dst\f1. .P \f2RkwCvtHan\f1 is the wchar_t version of \f2RkCvtHan\f1. Arguments which specify the length are regarded as they count the character length instead of byte length. .P \f4NULL\f1 can be specified in \f2dst\f1. \f4NULL\f1 overrides the entire conversion result. .SH "RETURN VALUE" This function returns the byte length (or character length for RkwCvtHan) of the conversion result, or returns \f40\f1 if the value of \f2maxdst\f1 is invalid. Canna37p3/lib/canna/RkCvtHir.jmn0100644000076500001200000000427707554213603015714 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtHir.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH RKCVTHIRA 3 "4 April 1991" .SH "̾Á°" RkCvtHira \- Á´³Ñ¥«¥¿¥«¥Ê¤òÁ´³Ñ¤Ò¤é¤¬¤Ê¤ËÊÑ´¹¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkCvtHira(dst, maxdst, src, srclen) .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .fi .SH "ÀâÌÀ" .I RkCvtHira ¤Ï¡¤Îΰè .I src ¤«¤é³«»Ï¤¹¤ë .I srclen ¥Ð¥¤¥È¤ÎÁ´³Ñ¥«¥¿¥«¥Ê¥Ç¡¼¥¿¤òÁ´³Ñ¤Ò¤é¤¬¤Ê¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .I src Ãæ¤Î¥Ì¥ëʸ»ú¤Ïʸ»úÎó¤Î½ª¤ï¤ê¤È¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡¥ÊÑ´¹¤µ¤ì¤¿·ë²Ì¤ÏÎΰè .I dst ¤Ë³ÊǼ¤µ¤ì¡¤ÊÑ´¹ÂоݤȤʤé¤Ê¤¤Ê¸»ú¤Ï¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥ ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤¬ .I maxdst -1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï¡¤ EUC ¥³¡¼¥É¤Îʸ»ú¶­³¦¤Ë¹ç¤ï¤»¤ÆÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ ¤µ¤é¤Ë .I dst ¤ÎºÇ¸å¤Ë¤Ï²Äǽ¤Ê¤é¤Ð¥Ì¥ëʸ»ú¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡¥ ¥³¡¼¥É¤Îɽ¸½¤Ï .I src ¡¤ .I dst ¤È¤â EUC ¥³¡¼¥É¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡¥ .PP .I dst ¤Ë¤Ï NULL ¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ ¤³¤Î¾ì¹ç¡¤ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Ï ¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .I maxdst ¤¬ÉÔÀµ¤Ê¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/canna/RkCvtHir.man0100644000076500001200000000454007554213603015674 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtHir.man,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH "RKCVTHIRA" "3" .SH "NAME" \f4RkCvtHira\f1 \- convert double-width katakana to double-width hiragana .SH "SYNOPSIS" .nf .ft 4 #include int RkCvtHira(dst, maxdst, src, srclen) unsigned char *dst; int maxdst; unsigned char *src; int srclen; .ft 1 .fi .SH "DESCRIPTION" \f2RkCvtHira\f1 converts the \f2srclen\f1 bytes of double-width katakana data to double-width hiragana, starting at the area \f2src\f1. A null character in \f2src\f1 is not interpreted as the end of the string. The conversion result is stored in the area \f2dst\f1. Characters that are not subject to conversion are copied as they area. The conversion result is truncated to adjust to character boundaries in the EUC code when its byte length exceeds \f2maxdst\f1 -1. \f2dst\f1 is padded with null characters at the end if possible. EUC code is used to represent both \f2src\f1 and \f2dst\f1. .P \f4NULL\f1 can be specified in \f2dst\f1. \f4NULL\f1 overrides the entire conversion result. .SH "RETURN VALUE" This function returns the byte length of the conversion result, or returns \f40\f1 if the value of \f2maxdst\f1 is invalid. Canna37p3/lib/canna/RkCvtKan.jmn0100644000076500001200000000427707554213603015703 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtKan.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH RKCVTKANA 3 "4 April 1991" .SH "̾Á°" RkCvtKana \- Á´³Ñ¤Ò¤é¤¬¤Ê¤òÁ´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkCvtKana(dst, maxdst, src, srclen) .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .fi .SH "ÀâÌÀ" .I RkCvtKana ¤Ï¡¤Îΰè .I src ¤«¤é³«»Ï¤¹¤ë .I srclen ¥Ð¥¤¥È¤ÎÁ´³Ñ¤Ò¤é¤¬¤Ê¥Ç¡¼¥¿¤òÁ´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .I src Ãæ¤Î¥Ì¥ëʸ»ú¤Ïʸ»úÎó¤Î½ª¤ï¤ê¤È¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡¥ÊÑ´¹¤µ¤ì¤¿·ë²Ì¤ÏÎΰè .I dst ¤Ë³ÊǼ¤µ¤ì¡¤ÊÑ´¹ÂоݤȤʤé¤Ê¤¤Ê¸»ú¤Ï¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥ ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤¬ .I maxdst -1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï¡¤ EUC ¥³¡¼¥É¤Îʸ»ú¶­³¦¤Ë¹ç¤ï¤»¤ÆÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ ¤µ¤é¤Ë .I dst ¤ÎºÇ¸å¤Ë¤Ï²Äǽ¤Ê¤é¤Ð¥Ì¥ëʸ»ú¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡¥ ¥³¡¼¥É¤Îɽ¸½¤Ï .I src ¡¤ .I dst ¤È¤â EUC ¥³¡¼¥É¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡¥ .PP .I dst ¤Ë¤Ï NULL ¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ ¤³¤Î¾ì¹ç¡¤ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Ï ¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .I maxdst ¤¬ÉÔÀµ¤Ê¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/canna/RkCvtKan.man0100644000076500001200000000454007554213603015663 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtKan.man,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH "RKCVTKANA" "3" .SH "NAME" \f4RkCvtKana\f1 \- convert double-width hiragana to double-width katakana .SH "SYNOPSIS" .nf .ft 4 #include int RkCvtKana(dst, maxdst, src, srclen) unsigned char *dst; int maxdst; unsigned char *src; int srclen; .ft 1 .fi .SH "DESCRIPTION" \f2RkCvtKana\f1 converts the \f2srclen\f1 bytes of double-width hiragana data to double-width katakana, starting at the area \f2src\f1. A null character in \f2src\f1 is not interpreted as the end of the string. The conversion result is stored in the area \f2dst\f1. Characters that are not subject to conversion are copied as they area. The conversion result is truncated to adjust to character boundaries in the EUC code when its byte length exceeds \f2maxdst\f1 -1. \f2dst\f1 is padded with null characters at the end if possible. EUC code is used to represent both \f2src\f1 and \f2dst\f1. .P \f4NULL\f1 can be specified in \f2dst\f1. \f4NULL\f1 overrides the entire conversion result. .SH "RETURN VALUE" This function returns the byte length of the conversion result, or returns \f40\f1 if the value of \f2maxdst\f1 is invalid. Canna37p3/lib/canna/RkCvtRom.jmn0100644000076500001200000000361007554213603015715 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtRom.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH RKCVTROMA 3 "4 April 1991" .SH "̾Á°" RkCvtRoma \- RkMapRoma¤ò·«¤êÊÖ¤·ÍѤ¤¡¤Ê¸»úÎó¤¹¤Ù¤Æ¤Î¥í¡¼¥Þ»úÊÑ´¹¤ò¹Ô¤¦ .SH "·Á¼°" .nf .B #include .B "int RkCvtRoma(romaji, dst, maxdst, src, srclen, flags)" .B struct RkRxDic *romaji; .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .B int flags; .fi .SH "ÀâÌÀ" .I RkCvtRoma ¤Ï¡¤ .I src ʸ»úÎó¤ËÂФ·¤Æ .IR RkMapRoma(3) ¤ò·«¤êÊÖ¤·ÍѤ¤¡¤ .I src ʸ»úÎó¤¹¤Ù¤Æ¤Î¥í¡¼¥Þ»úÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡¥¥Ñ¥é¥á¡¼¥¿¤Ï¡¤ .I status ¤¬¤Ê¤¤°Ê³° .IR RkMapRoma(3) ¤ÈƱ¤¸¤Ç¤¹¡¥ .SH "Ìá¤êÃÍ" ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î·ë²ÌÆÀ¤é¤ì¤¿¤«¤Êʸ»úÎó¤Î¥Ð¥¤¥È¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkMapRoma(3) .\".if t .pn 575 Canna37p3/lib/canna/RkCvtRom.man0100644000076500001200000000367607554213603015720 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtRom.man,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH "RKCVTROMA" "3" .SH "NAME" \f4RkCvtRoma\f1 \- convert an entire character string from Romaji to kana by iteratively using \f4RkMapRoma\f1 .SH "SYNOPSIS" .nf .ft 4 #include int RkCvtRoma(romaji, dst, maxdst, src, srclen, flags) struct RkRxDic *romaji; unsigned char *dst; int maxdst; unsigned char *src; int srclen; int flags; .ft 1 .fi .SH "DESCRIPTION" \f2RkCvtRoma\f1 converts an entire \f2src\f1 character string from Romaji to kana by iteratively using \f2RkMapRoma\f1. The parameters are similar to \f2RkMapRoma(3)\f1, except that \f2status\f1 is wanting. .SH "RETURN VALUE" This function returns the byte length of the conversion result. .SH "SEE ALSO" .na \f4RkMapRoma\f1(3) .ad Canna37p3/lib/canna/RkCvtZen.jmn0100644000076500001200000000432107554213603015714 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtZen.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH RKCVTZEN 3 "4 April 1991" .SH "̾Á°" RkCvtZen \- ASCIIʸ»ú¤ª¤è¤ÓȾ³Ñ¥«¥¿¥«¥Ê¤òÁ´³Ñʸ»ú¤ËÊÑ´¹¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkCvtZen(dst, maxdst, src, srclen) .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .fi .SH "ÀâÌÀ" .I RkCvtZen ¤Ï¡¤Îΰè .I src ¤«¤é³«»Ï¤¹¤ë .I srclen ¥Ð¥¤¥È¤ÎASCIIʸ»ú¤ª¤è¤ÓȾ³Ñ¥«¥¿¥«¥Ê¥Ç¡¼¥¿¤òÁ´³Ñʸ»ú¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .I src Ãæ¤Î¥Ì¥ëʸ»ú¤Ïʸ»úÎó¤Î½ª¤ï¤ê¤È¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡¥ÊÑ´¹¤µ¤ì¤¿·ë²Ì¤ÏÎΰè .I dst ¤Ë³ÊǼ¤µ¤ì¡¤ÊÑ´¹ÂоݤȤʤé¤Ê¤¤Ê¸»ú¤Ï¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥ ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤¬ .I maxdst -1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï¡¤ EUC ¥³¡¼¥É¤Îʸ»ú¶­³¦¤Ë¹ç¤ï¤»¤ÆÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ ¤µ¤é¤Ë .I dst ¤ÎºÇ¸å¤Ë¤Ï²Äǽ¤Ê¤é¤Ð¥Ì¥ëʸ»ú¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡¥ ¥³¡¼¥É¤Îɽ¸½¤Ï .I src ¡¤ .I dst ¤È¤â EUC ¥³¡¼¥É¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡¥ .PP .I dst ¤Ë¤Ï NULL ¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ ¤³¤Î¾ì¹ç¡¤ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Ï ¤¹¤Ù¤ÆÌµ»ë¤µ¤ì¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ÊÑ´¹¤µ¤ì¤¿¥³¡¼¥É¤Î¥Ð¥¤¥È¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .I maxdst ¤¬ÉÔÀµ¤Ê¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/canna/RkCvtZen.man0100644000076500001200000000461007554213603015704 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkCvtZen.man,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .TH "RKCVTZEN" "3" .SH "NAME" \f4RkCvtZen\f1 \- convert ASCII characters and single-width katakana to double-width characters .SH "SYNOPSIS" .nf .ft 4 #include int RkCvtZen(dst, maxdst, src, srclen) unsigned char *dst; int maxdst; unsigned char *src; int srclen; .ft 1 .fi .SH "DESCRIPTION" \f2RkCvtZen\f1 converts the \f2srclen\f1 bytes of ASCII character and single-width katakana data to double-width character, starting at the area \f2src\f1. A null character in \f2src\f1 is not interpreted as the end of the string. The conversion result is stored in the area \f2dst\f1. Characters that are not subject to conversion are copied as they area. The conversion result is truncated to adjust to character boundaries in the EUC code when its byte length exceeds \f2maxdst\f1 -1. \f2dst\f1 is padded with null characters at the end if possible. EUC code is used to represent both \f2src\f1 and \f2dst\f1. .P \f4NULL\f1 can be specified in \f2dst\f1. \f4NULL\f1 overrides the entire conversion result. .SH "RETURN VALUE" This function returns the byte length of the conversion result, or returns \f40\f1 if the value of \f2maxdst\f1 is invalid. Canna37p3/lib/canna/RKkana.c0100644000076500001200000006276007732020155015022 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="@(#) 102.1 $Id: RKkana.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "canna.h" /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc /* RkCvtZen * hankaku moji wo zenkaku moji ni suru */ static unsigned short hiragana[] = { /* 0x00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 0x10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 0x20 */ 0xa1a1, 0xa1aa, 0xa1ed, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0xa1c7, 0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0xa1dd, 0xa1a5, 0xa1bf, /* 0x30 */ 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, 0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9, /* 0x40 */ 0xa1f7, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7, 0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf, /* 0x50 */ 0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7, 0xa3d8, 0xa3d9, 0xa3da, 0xa1ce, 0xa1ef, 0xa1cf, 0xa1b0, 0xa1b2, /* 0x60 */ 0xa1c6, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7, 0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef, /* 0x70 */ 0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7, 0xa3f8, 0xa3f9, 0xa3fa, 0xa1d0, 0xa1c3, 0xa1d1, 0xa1c1, 0xa2a2, /*0x80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xa0 */ 0xa1a1, 0xa1a3, 0xa1d6, 0xa1d7, 0xa1a2, 0xa1a6, 0xa4f2, 0xa4a1, 0xa4a3, 0xa4a5, 0xa4a7, 0xa4a9, 0xa4e3, 0xa4e5, 0xa4e7, 0xa4c3, /*0xb0 */ 0xa1bc, 0xa4a2, 0xa4a4, 0xa4a6, 0xa4a8, 0xa4aa, 0xa4ab, 0xa4ad, 0xa4af, 0xa4b1, 0xa4b3, 0xa4b5, 0xa4b7, 0xa4b9, 0xa4bb, 0xa4bd, /*0xc0 */ 0xa4bf, 0xa4c1, 0xa4c4, 0xa4c6, 0xa4c8, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf, 0xa4d2, 0xa4d5, 0xa4d8, 0xa4db, 0xa4de, /*0xd0 */ 0xa4df, 0xa4e0, 0xa4e1, 0xa4e2, 0xa4e4, 0xa4e6, 0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ef, 0xa4f3, 0xa1ab, 0xa1ac, /* 0xe0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 0xf0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, }; static unsigned short hankaku[] = { /*0x00*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x10*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x20*/ 0x0000, ' ', 0x8ea4, 0x8ea1, ',', '.', 0x8ea5, ':', ';', '?', '!', 0x8ede, 0x8edf, 0x0000, 0x0000, 0x0000, /*0x30*/ '^', 0x0000, '_', 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8eb0, 0x0000, 0x0000, '/', /*0x40*/ 0x0000, '~', 0x0000, '|', 0x0000, 0x0000, '\'', '\'', '"', '"', '(', ')', '[', ']', '[', ']', /*0x50*/ '{', '}', 0x0000, 0x0000, 0x0000, 0x0000, 0x8ea2, 0x8ea3, 0x0000, 0x0000, 0x0000, 0x0000, '+', '-', 0x0000, 0x0000, /*0x60*/ 0x0000, '=', 0x0000, '<', '>', 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, '\\', /*0x70*/ '$',0x0000, 0x0000, '%', '#', '&', '*', '@', 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x80*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x90*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xa0*/ 0x0020, 0x00a7, 0x00b1, 0x00a8, 0x00b2, 0x00a9, 0x00b3, 0x00aa, 0x00b4, 0x00ab, 0x00b5, 0x00b6, 0xb6de, 0x00b7, 0xb7de, 0x00b8, /*0xb0*/ 0xb8de, 0x00b9, 0xb9de, 0x00ba, 0xbade, 0x00bb, 0xbbde, 0x00bc, 0xbcde, 0x00bd, 0xbdde, 0x00be, 0xbede, 0x00bf, 0xbfde, 0x00c0, /*0xc0*/ 0xc0de, 0x00c1, 0xc1de, 0x00af, 0x00c2, 0xc2de, 0x00c3, 0xc3de, 0x00c4, 0xc4de, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, /*0xd0*/ 0xcade, 0xcadf, 0x00cb, 0xcbde, 0xcbdf, 0x00cc, 0xccde, 0xccdf, 0x00cd, 0xcdde, 0xcddf, 0x00ce, 0xcede, 0xcedf, 0x00cf, 0x00d0, /*0xe0*/ 0x00d1, 0x00d2, 0x00d3, 0x00ac, 0x00d4, 0x00ad, 0x00d5, 0x00ae, 0x00d6, 0x00d7, 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dc, /*0xf0*/ 0x00b2, 0x00b4, 0x00a6, 0x00dd, 0xb3de, 0x00b6, 0x00b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, }; #ifdef OBSOLETE_RKKANA #define ADDCODE(dst, maxdst, count, code, length) {\ if ( (unsigned long)(length) <= (unsigned long)(maxdst) ) {\ (maxdst) -= (length); (count) += (length);\ if ( (dst) ) {\ (dst) += (length);\ switch((length)) {\ case 4: *--(dst) = (code)&255; (code) >>= 8;\ case 3: *--(dst) = (code)&255; (code) >>= 8;\ case 2: *--(dst) = (code)&255; (code) >>= 8;\ case 1: *--(dst) = (code)&255; (code) >>= 8;\ };\ (dst) += (length);\ };\ };\ } #else /* !OBSOLETE_RKKANA */ static int _ADDCODE(dst, maxdst, count, code, length) unsigned char *dst; int maxdst, count, length; unsigned long code; { if ((unsigned long)length <= (unsigned long)maxdst) { maxdst -= length; count += length; if (dst) { dst += length; switch (length) { case 4: *--dst = (unsigned char)code; code >>= 8; case 3: *--dst = (unsigned char)code; code >>= 8; case 2: *--dst = (unsigned char)code; code >>= 8; case 1: *--dst = (unsigned char)code; code >>= 8; } } return length; } return 0; } #define ADDCODE(dst, maxdst, count, code, length) \ { int llen = _ADDCODE(dst, maxdst, count, (unsigned long)code, length); \ if (llen > 0 && (dst)) { (dst) += llen; (maxdst) -= llen; (count) += llen; }} #endif /* !OBSOLETE_RKKANA */ /* RkCvtZen * hankaku moji(ASCII+katakana) wo taiou suru zenkaku moji ni suru * dakuten,handakuten shori mo okonau. */ int RkCvtZen(zen, maxzen, han, maxhan) unsigned char *zen; int maxzen; unsigned char *han; int maxhan; { unsigned char *z = zen; unsigned char *h = han; unsigned char *H = han + maxhan; unsigned short hi, lo; unsigned byte; int count = 0; unsigned long code; if ( --maxzen <= 0 ) return count; while ( h < H ) { hi = *h++; byte = 2; if ( hi == 0x8e ) { /* hankaku katakana */ if ( !(code = hiragana[lo = *h++]) ) code = (hi<<8)|lo; byte = (code>>8) ? 2 : 1; if ( (code>>8) == 0xa4 ) { code |= 0x100; /* dakuten/handakuten ga tuku baai */ if ( h + 1 < H && h[0] == 0x8e ) { lo = h[1]; switch(code&255) { /* u */ case 0xa6: if ( lo == 0xde ) code = 0xa5f4, h += 2; break; /* ha */case 0xcf: case 0xd2: case 0xd5: case 0xd8: case 0xdb: if ( lo == 0xdf ) { code += 2, h += 2; break; }; /* ka */case 0xab: case 0xad: case 0xaf: case 0xb1: case 0xb3: /* sa */case 0xb5: case 0xb7: case 0xb9: case 0xbb: case 0xbd: /* ta */case 0xbf: case 0xc1: case 0xc4: case 0xc6: case 0xc8: if ( lo == 0xde ) { code += 1, h += 2; break; }; }; }; }; } else if (hi == 0x8f) { ADDCODE(z, maxzen, count, hi, 1); code = (((unsigned long)h[0]) << 8) | ((unsigned long)h[1]); h += 2; byte = 2; } else if ( hi & 0x80 ) code = (hi<<8)|*h++; else { if ( !(code = hiragana[hi]) ) code = hi; byte = (code>>8) ? 2 : 1; } ADDCODE(z, maxzen, count, code, byte); }; if ( z ) *z = 0; return count; } /* RkCvtHan * zenkaku kana moji wo hankaku moji ni suru */ int RkCvtHan(han, maxhan, zen, maxzen) unsigned char *han; int maxhan; unsigned char *zen; int maxzen; { unsigned char *h = han; unsigned char *z = zen; unsigned char *Z = zen + maxzen; unsigned short hi, lo; unsigned short byte; int count = 0; unsigned long code; if ( --maxhan <= 0 ) return 0; while ( z < Z ) { hi = *z++; byte = 1; switch(hi) { case 0xa1: /* kigou */ lo = *z++; if ( !(code = hankaku[lo&0x7f]) ) code = (hi<<8)|lo; byte = (code>>8) ? 2 : 1; break; case 0xa3: /* eisuuji */ lo = *z++; if ( 0xb0 <= lo && lo <= 0xb9 ) code = (lo - 0xb0) + '0'; else if ( 0xc1 <= lo && lo <= 0xda ) code = (lo - 0xc1) + 'A'; else if ( 0xe1 <= lo && lo <= 0xfa ) code = (lo - 0xe1) + 'a'; else code = (hi<<8)|lo, byte = 2; break; case 0xa4: /* hiragana */ case 0xa5: /* katakana */ lo = *z++; if ( (code = hankaku[lo]) && (lo <= (unsigned short)(hi==0xa4 ? 0xf3: 0xf6)) ) { if ( code>>8 ) { code = 0x8e000000|((code>>8)<<16)|0x00008e00|(code&255); byte = 4; } else { code = 0x00008e00|(code&255); byte = 2; }; } else code = (hi<<8)|lo, byte = 2; break; default: if (hi == 0x8f) { ADDCODE(h, maxhan, count, hi, 1); code = (((unsigned long)z[0]) << 8) | ((unsigned long)z[1]); z += 2; byte = 2; } else if ( hi & 0x80 ) { /* kanji */ code = (hi<<8)|(*z++); byte = 2; } else switch(hi) { /* case ',': code = 0x8ea4; byte = 2; break; case '-': code = 0x8eb0; byte = 2; break; case '.': code = 0x8ea1; byte = 2; break; */ default: code = hi; break; }; break; }; ADDCODE(h, maxhan, count, code, byte); }; if ( h ) *h = 0; return count; } /* RkCvtKana/RkCvtHira * zenkaku hiragana wo katakana ni suru */ int RkCvtKana(kana, maxkana, hira, maxhira) unsigned char *kana; int maxkana; unsigned char *hira; int maxhira; { register unsigned char *k = kana; register unsigned char *h = hira; register unsigned char *H = hira + maxhira; unsigned short hi; unsigned short byte; int count = 0; unsigned long code; if ( --maxkana <= 0 ) return 0; while ( h < H ) { hi = *h++; if (hi == 0x8f) { ADDCODE(k, maxkana, count, hi, 1); code = (((unsigned long)h[0]) << 8) | ((unsigned long)h[1]); h += 2; byte = 2; } else if ( hi & 0x80 ) { int dakuon; code = (hi == 0xa4) ? (0xa500|(*h++)) : ((hi<<8)|(*h++)); byte = 2; /* hiragana U + " */ dakuon = ( h + 1 < H && ((((unsigned long)h[0])<<8)|((unsigned long)h[1])) == 0xa1ab ); if ( hi == 0xa4 && code == 0xa5a6 && dakuon ) { code = 0xa5f4; h += 2; }; } else code = hi, byte = 1; ADDCODE(k, maxkana, count, code, byte); }; if ( k ) *k = 0; return count; } int RkCvtHira(hira, maxhira, kana, maxkana) unsigned char *hira; int maxhira; unsigned char *kana; int maxkana; { register unsigned char *h = hira; register unsigned char *k = kana; register unsigned char *K = kana + maxkana; unsigned short hi; unsigned short byte; int count = 0; unsigned long code; if ( --maxhira <= 0 ) return 0; while ( k < K ) { hi = *k++; if (hi == 0x8f) { ADDCODE(h, maxhira, count, hi, 1); code = (((unsigned long)k[0]) << 8) | ((unsigned long)k[1]); k += 2; byte = 2; } else if ( hi & 0x80 ) { code = (hi == 0xa5) ? (0xa400|(*k++)) : ((hi<<8)|(*k++)); byte = 2; /* katakana U + " */ if ( code == 0xa4f4 ) { /* u no dakuon */ code = 0xa4a6a1ab; byte = 4; } else if ( code == 0xa4f5 ) code = 0xa4ab; else if ( code == 0xa4f6 ) code = 0xa4b1; } else code = hi, byte = 1; ADDCODE(h, maxhira, count, code, byte); }; if ( h ) *h = 0; return count; } int RkCvtNone(dst, maxdst, src, maxsrc) unsigned char *dst; int maxdst; unsigned char *src; int maxsrc; { register unsigned char *d = dst; register unsigned char *s = src; register unsigned char *S = src + maxsrc; unsigned short byte; int count = 0; unsigned long code; if ( --maxdst <= 0 ) return 0; while ( s < S ) { code = *s++; byte = 1; if (code == 0x8f) { ADDCODE(d, maxdst, count, code, 1); code = (((unsigned long)s[0]) << 8) | ((unsigned long)s[1]); s += 2; byte = 2; } else if ( code & 0x80 ) code = (code<<8)|(*s++), byte = 2; ADDCODE(d, maxdst, count, code, byte); }; if ( d ) *d = 0; return count; } /* RkEuc * shift jis --> euc */ int RkCvtEuc(euc, maxeuc, sj, maxsj) unsigned char *euc; int maxeuc; unsigned char *sj; int maxsj; { unsigned char *e = euc; unsigned char *s = sj; unsigned char *S = sj + maxsj; unsigned short hi, lo; unsigned short byte; int count = 0; unsigned long code; if ( --maxeuc <= 0 ) return 0; while ( s < S ) { hi = *s++; if ( hi <= 0x7f ) /* ascii */ code = hi, byte = 1; else if ( 0xa0 <= hi && hi <= 0xdf ) /* hankaku katakana */ code = 0x8e00|hi, byte = 2; else if (0xf0 <= hi && hi <= 0xfc) { /* gaiji */ hi -= 0xf0; hi = 2*hi + 0x21; if ((lo = *s++) <= 0x9e) { if (lo < 0x80) lo++; lo -= 0x20; } else { hi++; lo -= 0x7e; } code = 0x8f8080 | (hi<<8) | lo, byte = 3; } else { hi -= (hi <= 0x9f) ? 0x80 : 0xc0; hi = 2*hi + 0x20; if ( (lo = *s++) <= 0x9e ) { /* kisuu ku */ hi--; if ( 0x80 <= lo ) lo--; lo -= (0x40 - 0x21); } else /* guusuu ku */ lo -= (0x9f - 0x21); code = 0x8080|(hi<<8)|lo, byte = 2; }; ADDCODE(e, maxeuc, count, code, byte); }; if ( e ) *e = 0; return count; } /* RkCvtSuuji * arabia suuji wo kansuuji ni kaeru */ static unsigned suujinew[] = { 0xa1bb, 0xb0ec, 0xc6f3, 0xbbb0, 0xbbcd, 0xb8de, 0xcfbb, 0xbcb7, 0xc8ac, 0xb6e5, }; static unsigned suujiold[] = { 0xa1bb, 0xb0ed, 0xc6f5, 0xbbb2, 0xbbcd, 0xb8e0, 0xcfbb, 0xbcb7, 0xc8ac, 0xb6e5, }; static unsigned kurai4[] = { 0, 0xcbfc, 0xb2af, 0xc3fb, 0xb5fe, 0, }; static unsigned kurai3new[] = { 0, 0xbdbd, 0xc9b4, 0xc0e9, }; static unsigned kurai3old[] = { 0, 0xbdbd, 0xc9b4, 0xc0e9, }; int RkCvtSuuji(dst, maxdst, src, maxsrc, format) unsigned char *dst; int maxdst; unsigned char *src; int maxsrc; int format; { int count; int i, j, k; int digit[4], pend; unsigned code, tmp; unsigned char *d = dst; unsigned char *s = src + maxsrc - 1; if ( --maxdst <= 0 ) return 0; /* yuukou keta suu wo kazoeru */ pend = 0; for ( count = k = 0; s >= src; k++ ) { int dec; if ( *s & 0x80 ) { if ( !(0xb0 <= *s && *s <= 0xb9) ) break; dec = *s - 0xb0; if ( --s < src || *s != 0xa3 ) break; s--; } else { if ( !('0' <= *s && *s <= '9') ) break; dec = *s-- - '0'; }; switch(format) { /* simple */ case 0: /* sanyou suuji */ code = hiragana[dec + '0']; ADDCODE(d, maxdst, count, code, 2); break; case 1: /* kanji suuji */ code = suujinew[dec]; ADDCODE(d, maxdst, count, code, 2); break; /* kanji kurai dori */ case 2: case 3: case 4: /* 12 O 3456 M 7890 */ digit[pend++] = dec; if ( pend == 4 ) { while ( pend > 0 && digit[pend - 1] == 0 ) pend--; if ( pend ) { /* kurai wo shuturyoku */ code = kurai4[k/4]; if (code) ADDCODE(d, maxdst, count, code, 2) else if ( k >= 4 ) return 0; for ( i = 0; i < pend; i++ ) switch(format) { case 2: if ( digit[i] ) { code = kurai3new[i]; if (code) ADDCODE(d, maxdst, count, code, 2); if ( i == 0 || (digit[i] > 1) ) { code = suujinew[digit[i]]; ADDCODE(d, maxdst, count, code, 2); }; }; break; case 3: if ( digit[i] ) { code = kurai3old[i]; if (code) ADDCODE(d, maxdst, count, code, 2); code = suujiold[digit[i]]; ADDCODE(d, maxdst, count, code, 2); }; break; case 4: code = hiragana[digit[i]+'0']; ADDCODE(d, maxdst, count, code, 2); break; }; }; pend = 0; }; break; case 5: /* 1,234,567,890 */ if ( k && k%3 == 0 ) { code = hiragana[',']; ADDCODE(d, maxdst, count, code, 2); }; code = hiragana[dec + '0']; ADDCODE(d, maxdst, count, code, 2); break; default: return 0; }; }; if ( format == 2 || format == 3 || format == 4 ) { while ( pend > 0 && digit[pend - 1] == 0 ) pend--; if ( pend ) { code = kurai4[k/4]; if (code) ADDCODE(d, maxdst, count, code, 2) else if ( k >= 4 ) return 0; for ( i = 0; i < pend; i++ ) switch(format) { case 2: if ( digit[i] ) { code = kurai3new[i]; if (code) ADDCODE(d, maxdst, count, code, 2); if ( i == 0 || (digit[i] > 1) ) { code = suujinew[digit[i]]; ADDCODE(d, maxdst, count, code, 2); }; }; break; case 3: if ( digit[i] ) { code = kurai3old[i]; if (code) ADDCODE(d, maxdst, count, code, 2); code = suujiold[digit[i]]; ADDCODE(d, maxdst, count, code, 2); }; break; case 4: code = hiragana[digit[i]+'0']; ADDCODE(d, maxdst, count, code, 2); break; }; }; }; if ( dst ) { *d = 0; for ( i = 0, j = count - 1; i < j; i++, j-- ) { tmp = dst[i]; dst[i] = dst[j]; dst[j] = tmp; }; for ( i = count - 1; i > 0; i-- ) if ( dst[i] & 0x80 ) { tmp = dst[i+0]; dst[i+0] = dst[i-1]; dst[i-1] = tmp; i--; }; }; return count; } /* ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿ */ #define CBUFSIZE 512 RkwCvtHan(dst, maxdst, src, srclen) wchar_t *dst, *src; int maxdst, srclen; { int len = 0; #ifndef USE_MALLOC_FOR_BIG_ARRAY char cbuf[CBUFSIZE], cbuf2[CBUFSIZE]; #else char *cbuf, *cbuf2; cbuf = malloc(CBUFSIZE); cbuf2 = malloc(CBUFSIZE); if (!cbuf || !cbuf2) { if (cbuf) { (void)free(cbuf); } if (cbuf2) { (void)free(cbuf2); } return len; } #endif len = CNvW2E(src, srclen, cbuf, CBUFSIZE); len = RkCvtHan((unsigned char *)cbuf2, CBUFSIZE, (unsigned char *)cbuf, len); if (len > 0) { cbuf2[len] = '\0'; len = MBstowcs(dst, cbuf2, maxdst); } #ifdef USE_MALLOC_FOR_BIG_ARRAY free(cbuf2); free(cbuf); #endif return len; } RkwCvtHira(dst, maxdst, src, srclen) wchar_t *dst, *src; int maxdst, srclen; { int len = 0; #ifndef USE_MALLOC_FOR_BIG_ARRAY char cbuf[CBUFSIZE], cbuf2[CBUFSIZE]; #else char *cbuf, *cbuf2; cbuf = malloc(CBUFSIZE); cbuf2 = malloc(CBUFSIZE); if (!cbuf || !cbuf2) { if (cbuf) { (void)free(cbuf); } if (cbuf2) { (void)free(cbuf2); } return len; } #endif len = CNvW2E(src, srclen, cbuf, CBUFSIZE); len = RkCvtHira((unsigned char *)cbuf2, CBUFSIZE, (unsigned char *)cbuf, len); if (len > 0) { cbuf2[len] = (unsigned char)0; len = MBstowcs(dst, cbuf2, maxdst); } #ifdef USE_MALLOC_FOR_BIG_ARRAY free(cbuf2); free(cbuf); #endif return len; } RkwCvtKana(dst, maxdst, src, srclen) wchar_t *dst, *src; int maxdst, srclen; { int len = 0; #ifndef USE_MALLOC_FOR_BIG_ARRAY char cbuf[CBUFSIZE], cbuf2[CBUFSIZE]; #else char *cbuf, *cbuf2; cbuf = malloc(CBUFSIZE); cbuf2 = malloc(CBUFSIZE); if (!cbuf || !cbuf2) { if (cbuf) { (void)free(cbuf); } if (cbuf2) { (void)free(cbuf2); } return len; } #endif len = CNvW2E(src, srclen, cbuf, CBUFSIZE); len = RkCvtKana((unsigned char *)cbuf2, CBUFSIZE, (unsigned char *)cbuf, len); if (len > 0) { cbuf2[len] = '\0'; len = MBstowcs(dst, cbuf2, maxdst); } #ifdef USE_MALLOC_FOR_BIG_ARRAY free(cbuf2); free(cbuf); #endif return len; } RkwCvtZen(dst, maxdst, src, srclen) wchar_t *dst, *src; int maxdst, srclen; { int len = 0; #ifndef USE_MALLOC_FOR_BIG_ARRAY char cbuf[CBUFSIZE], cbuf2[CBUFSIZE]; #else char *cbuf, *cbuf2; cbuf = malloc(CBUFSIZE); cbuf2 = malloc(CBUFSIZE); if (!cbuf || !cbuf2) { if (cbuf) { (void)free(cbuf); } if (cbuf2) { (void)free(cbuf2); } return len; } #endif len = CNvW2E(src, srclen, cbuf, CBUFSIZE); len = RkCvtZen((unsigned char *)cbuf2, CBUFSIZE, (unsigned char *)cbuf, len); if (len > 0) { cbuf2[len] = '\0'; len = MBstowcs(dst, cbuf2, maxdst); } #ifdef USE_MALLOC_FOR_BIG_ARRAY free(cbuf2); free(cbuf); #endif return len; } RkwCvtNone(dst, maxdst, src, srclen) wchar_t *dst, *src; int maxdst, srclen; { int i; int len = (maxdst < srclen) ? maxdst : srclen; for (i = 0 ; i < len ; i++) { *dst++ = *src++; } /* *dst = *src; ¤Ê¤ó¤Ç¤³¤ì¤¬É¬ÍפʤΡ© */ return len; } RkwMapRoma(romaji, dst, maxdst, src, srclen, flags, status) struct RkRxDic *romaji; wchar_t *dst, *src; int maxdst, srclen, flags, *status; { int len = 0, ret; #ifndef USE_MALLOC_FOR_BIG_ARRAY char cbuf1[CBUFSIZE], cbuf2[CBUFSIZE]; #else char *cbuf1, *cbuf2; cbuf1 = malloc(CBUFSIZE); cbuf2 = malloc(CBUFSIZE); if (!cbuf1 || !cbuf2) { if (cbuf1) { (void)free(cbuf1); } if (cbuf2) { (void)free(cbuf2); } return len; } #endif len = CNvW2E(src, srclen, cbuf1, CBUFSIZE); len = RkMapRoma(romaji, (unsigned char *)cbuf2, CBUFSIZE, (unsigned char *)cbuf1, len, flags, status); cbuf2[(*status > 0) ? *status : -*status] = (unsigned char)0; ret = MBstowcs(dst, cbuf2, maxdst); if (*status > 0) { *status = ret; } else { *status = -ret; } #ifdef USE_MALLOC_FOR_BIG_ARRAY free(cbuf2); free(cbuf1); #endif return len; } #ifdef __STDC__ RkwMapPhonogram(struct RkRxDic *romaji, wchar_t *dst, int maxdst, wchar_t *src, int srclen, wchar_t key, int flags, int *ulen, int *dlen, int *tlen, int *rule) #else RkwMapPhonogram(romaji, dst, maxdst, src, srclen, key, flags, ulen, dlen, tlen, rule) struct RkRxDic *romaji; wchar_t *dst, *src, key; int maxdst, srclen, flags, *ulen, *dlen, *tlen, *rule; #endif { int status = 0; char tmpch; int len, ret, fdlen, fulen, ftlen; #ifndef USE_MALLOC_FOR_BIG_ARRAY char cbuf1[CBUFSIZE], cbuf2[CBUFSIZE]; wchar_t wbuf[CBUFSIZE]; #else char *cbuf1, *cbuf2; wchar_t *wbuf; cbuf1 = malloc(CBUFSIZE); cbuf2 = malloc(CBUFSIZE); wbuf = (wchar_t *)malloc(sizeof(wchar_t) * CBUFSIZE); if (!cbuf1 || !cbuf2 || !wbuf) { if (cbuf1) { (void)free(cbuf1); } if (cbuf2) { (void)free(cbuf2); } if (wbuf) { (void)free((char *)wbuf); } return status; } #endif len = CNvW2E(src, srclen, cbuf1, CBUFSIZE); status = RkMapPhonogram(romaji, (unsigned char *)cbuf2, CBUFSIZE, (unsigned char *)cbuf1, len, (unsigned) key, flags, &fulen, &fdlen, &ftlen, rule); tmpch = cbuf2[fdlen]; cbuf2[fdlen] = '\0'; ret = MBstowcs(dst, cbuf2, maxdst); cbuf2[fdlen] = tmpch; if (dlen) { *dlen = ret; } cbuf2[fdlen + ftlen] = (unsigned char)0; ret = MBstowcs(dst + ret, cbuf2 + fdlen, maxdst - ret); if (tlen) { *tlen = ret; } if (ulen) { cbuf1[fulen] = '\0'; *ulen = MBstowcs(wbuf, cbuf1, CBUFSIZE); } #ifdef USE_MALLOC_FOR_BIG_ARRAY free(cbuf2); free(cbuf1); #endif return status; } RkwCvtRoma(romaji, dst, maxdst, src, srclen, flags) struct RkRxDic *romaji; wchar_t *dst, *src; int maxdst, srclen, flags; { int ret = 0, len; #ifndef USE_MALLOC_FOR_BIG_ARRAY char cbuf1[CBUFSIZE], cbuf2[CBUFSIZE]; #else char *cbuf1, *cbuf2; cbuf1 = malloc(CBUFSIZE); cbuf2 = malloc(CBUFSIZE); if (!cbuf1 || !cbuf2) { if (cbuf1) { (void)free(cbuf1); } if (cbuf2) { (void)free(cbuf2); } return ret; } #endif if (srclen) { len = CNvW2E(src, srclen, cbuf1, CBUFSIZE); len = RkCvtRoma(romaji, (unsigned char *)cbuf2, CBUFSIZE, (unsigned char *)cbuf1, len, flags); cbuf2[len] = (unsigned char)0; ret = MBstowcs(dst, cbuf2, maxdst); dst[ret] = (wchar_t)0; } else { ret = 0; *dst = (wchar_t)0; } #ifdef USE_MALLOC_FOR_BIG_ARRAY free(cbuf2); free(cbuf1); #endif return ret; } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/RkMapPho.jmn0100644000076500001200000001023107554213603015664 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkMapPho.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .\" $Id: RkMapPho.jmn,v 1.1.1.1 2002/10/19 08:27:47 aida_s Exp $ NEC; .if t .pn 575 .TH RKMAPPHONOGRAM 3 "6 March 1992" .SH "̾Á°" RkMapPhonogram \- »ØÄꤵ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤¦ .SH "·Á¼°" .nf .B #include .B "int RkMapPhonogram(romaji, dst, maxdst, src, srclen, flags, ulen, dlen, tlen, rule)" .B struct RkRxDic *romaji; .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .B int flags; .B int *ulen; .B int *dlen; .B int *tlen; .B int *rule; .fi .SH "ÀâÌÀ" .I RkMapPhonogram ¤Ï¡¤»ØÄꤵ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡¥ .I romaji ¤Ï¡¤ .IR RkOpenRoma(3) ¤Ë¤è¤êÊÖ¤µ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÍ¿¤¨¤Þ¤¹¡¥ .I RkMapPhonogram ¤Ï¡¤Îΰè .I src ¤«¤é .I srclen ¥Ð¥¤¥È³¤¯¥Ç¡¼¥¿¤ò¥í¡¼¥Þ»úÎó¤È¤·¤Æ²ò¼á¤·¡¤¥í¡¼¥Þ»úÎóÀèÆ¬¤È°ìÃפ¹¤ë¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤ò¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤«¤éõ¤·¤Þ¤¹¡¥ Âбþ¤¹¤ëÊÑ´¹µ¬Â§¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¤Âбþ¤¹¤ë¤«¤Êʸ»úÎó¤ò .I dst Îΰè¤Ë³ÊǼ¤·¤½¤Î¥Ð¥¤¥ÈŤò\fIdlen\fP¤Ë¤ÆÊÖ¤·¤Þ¤¹¡¥¤¿¤À¤·¡¤Ê¸»úÎó¤Î¥Ð¥¤ ¥È¿ô¤¬ .I maxdst \-1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï·ë²Ì¤ÏÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .PP .I flags ¤Ï¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î¥Õ¥é¥°¤Ç°Ê²¼¤ò or ¤ÇÁȹç¤ï¤»¤Þ¤¹¡¥ .RS .IP RK_SOKUON 10 Â¥²»½èÍý¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡¥Â¥²»½èÍý¤Ï¡¤ÀèÆ¬2ʸ»ú¤¬Æ±°ìʸ»úxx¤Ç¤¢¤ê¡¤¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¥Õ¥¡¥¤¥ë¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ë¸Â¤ê¡¤xx¤«¤é¡Ö¤Ã¡×¤Ø ÊÑ´¹¤·¤Þ¤¹¡¥¤³¤Î½èÍý¤Ïµì·Á¼°¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È ¤­ÍѤǤ¹¡£ .IP RK_FLUSH 10 ¤¹¤Ù¤Æ¤Î¥í¡¼¥Þ»ú¤ò¶¯À©Åª¤ËÊÑ´¹¤·¤Þ¤¹¡¥¤³¤ì¤ÏºÇ¸å¤În¤Î½èÍý¤ËÍ­¸ú¤Ç¤¹¡¥ .RE .PP .I ulen, dlen, tlen ¤Ï¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î¿Ê¹Ô¶ñ¹ç¤ò´ÉÍý¤¹¤ë¤³¤È¤Ë»È¤ï¤ì¤Þ¤¹¡¥ .PP Î㤨¤Ð¡¤``tt''¤Î¤è¤¦¤Êʸ»ú¤ò RkMapPhonogram ¤ËÍ¿¤¨¤ë¤ÈºÇ½é¤Î``t''¤¬¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¤Ë»È¤ï¤ì¡¤\fIdst\fP ¤Ë¤Ï``¤Ã''¤¬ÊÖ¤ê¤Þ¤¹¡¥»Ä¤ê¤Î``t''¤Ï¼¡ ¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ë¤ÆºÆ¤Ó»ÈÍѤµ¤ì¤Þ¤¹¡¥¤³¤Î¸å``a''¤¬ÆþÎϤµ¤ì¤¿¾ì¹ç¡¤ Á°²ó¤Î\fIRkMapPhonogram\fP¤Ç»Ä¤µ¤ì¤¿``t''¤ÈÆþÎϤµ¤ì¤¿``a''¤ò \fIRkMapPhonogram\fP¤ËÍ¿¤¨¡¤``¤¿''¤òÆÀ¤Þ¤¹¡¥ .PP .I ulen ¤Ë¤Ï¡¤\fIsrc\fP¤Î¤¦¤Á¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ë ÍѤ¤¤é¤ì¤¿Ê¸»ú¤Î¥Ð¥¤¥ÈŤ¬ÊÖ¤ê¤Þ¤¹¡¥ .PP .I dlen ¤Ë¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ ¤µ¤ì¤¿·ë²ÌÆÀ¤é¤ì¤¿¤«¤Ê¤Î¥Ð¥¤¥ÈŤ¬ÊÖ¤ê¤Þ¤¹¡¥ .PP ¤½¤·¤Æ¡¤ .I tlen ¤Ë¤Ï¡¤¼¡¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç°ú¤­Â³¤­»È¤ï¤ì¤ë¤Ù¤­Ê¸»ú¤Î¥Ð¥¤¥ÈŤ¬ÊÖ¤ê¤Þ ¤¹¡¥ .I tlen ¤Ç¼¨¤µ¤ì¤ëʸ»úÎó¤Ï¡¤\fIdst\fP¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ºÑ¤Îʸ »úÎó¤Î¸å¤í¤ËÃÖ¤«¤ì¤Þ¤¹¡¥ .PP .I ulen, dlen, tlen ¤ËÂФ·¤Æ¥Ì¥ë¥Ý¥¤¥ó¥¿¤òÍ¿¤¨¤¿¾ì¹ç¤Ë¤Ï¡¤¤³¤ì¤é¤ÎÃͤÏÊ֤餺ñ¤Ë̵»ë¤µ¤ì¤Þ ¤¹¡¥ .PP .I rule ¤Ë¤Æ¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥ë¡¼¥ë¤Ë´Ø¤¹¤ë¾ðÊó¤ò¤ä¤ê¤È¤ê¤·¤Þ¤¹¡¥ ºÇ½é¤Ë\fIRkMapPhonogram\fP¤ò¸Æ¤Ö»þ¤Ï0¤ò³ÊǼ¤·¤¿ÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÍ¿¤¨ ¤Æ²¼¤µ¤¤¡¥ºÇ½é¤Î¸Æ½Ð¤·¤«¤éÌá¤Ã¤¿»þ¤Ë¤½¤ÎÊÑ¿ô¤Ë¤Ï(0¤ÎÂå¤ï¤ê¤Ë)¥í¡¼¥Þ»ú ¤«¤ÊÊÑ´¹¥ë¡¼¥ë¤Ë´Ø¤¹¤ëÆâÉôŪ¤Ê¾ðÊó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡¥¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò³¤± ¤ë¾ì¹ç¤Ï¡¤Á°²ó»ØÄꤷ¤¿ÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤òºÆ¤Ó\fIRkMapPhonogram\fP¤ËÍ¿¤¨ ¤Æ²¼¤µ¤¤¡¥ .SH "Ìá¤êÃÍ" .I dst ¤ÇÊÖ¤µ¤ì¤ëʸ»ú¤¬¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ë¸ºß¤·¤¿¥ë¡¼¥ë¤òÍѤ¤¤ÆÊÑ´¹¤µ ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÊÖ¤·¤Þ¤¹¡¥¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ë¤¢¤Ã¤¿¥ë¡¼ ¥ë¤¬»È¤ï¤ì¤¿¾ì¹ç¤Ë¤Ï1¤òÊÖ¤·¡¤¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï0¤òÊÖ¤·¤Þ¤¹¡¥ Canna37p3/lib/canna/RkMapPho.man0100644000076500001200000001151307554213604015660 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkMapPho.man,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $ NEC; .TH "RKMAPPHONOGRAM" "3" .SH "NAME" \f4RkMapPhonogram\f1 \- perform Romaji-kana conversion by using a specified Romaji-kana conversion table .SH "SYNOPSIS" .nf .ft 4 #include int RkMapPhonogram(romaji, dst, maxdst, src, srclen, flags, ulen, dlen, tlen, rule) struct RkRxDic *romaji; unsigned char *dst; int maxdst; unsigned char *src; int srclen; int flags; int *ulen; int *dlen; int *tlen; int *rule; .ft 1 .fi .SH "DESCRIPTION" \f2RkMapPhonogram\f1 performs Romaji-kana conversion by using a specified Romaji-kana conversion table. \f2romaji\f1 specifies a pointer to the Romaji-kana conversion table that has been returned by \f2RkOpenRoma(3)\f1. \f2RkMapPhonogram\f1 interprets the \f2srclen\f1 bytes of contiguous data starting at the area \f2src\f1 as a Romaji character string and searches through the Romaji-kana conversion table for the rule of Romaji-kana conversion that matches the beginning of the Romaji character string. If the corresponding conversion rule is found, the area \f2dst\f1 is loaded with the corresponding kana character string, with \f2dlen\f1 being set to its byte length. The resulting character string is truncated when its byte length exceeds \f2maxdst\f1 -1. .P \f2flags\f1 is a combination of the following Romaji-kana conversion flags connected by or: .P .RS .IP "RK_SOKUON" 15n Enables gemination, in which a sequence of two occurrences of the same character, xx, is converted to small kana character "tsu" only if it is not defined in the Romaji-kana conversion table file. This process provides for situations in which an obsolete Romaji-kana conversion table is used. .IP "RK_FLUSH" Converts all Romaji characters compulsorily. Useful for handling n appearing at the end of a character string. .RE .P \f2ulen\f1, \f2dlen\f1, and \f2tlen\f1 are used to manage the progress of Romaji-kana conversion. .P For example, if the character string "tt" is given to \f2RkMapPhonogram\f1, the first "t" is submitted to Romaji-kana conversion, with \f2dst\f1 being set to small kana character "tsu". The remaining "t" is put to reuse for Romaji-kana conversion. When "a" is entered subsequently, it is combined with the "t" left from the previous run of \f2RkMapPhonogram\f1 to generate kana character "ta". .P \f2ulen\f1 is set to the byte length of the characters from \f2src\f1 used for Romaji-kana conversion. .P \f2dlen\f1 is set to the byte length of the kana characters derived from Romaji-kana conversion. .P \f2tlen\f1 is set to the byte length of the character string to be used in the next run of Romaji-kana conversion. The character string led by \f2tlen\f1 is placed after the character string resulting from Romaji-kana conversion in the \f2dst\f1 buffers. .P If null pointers are specified in \f2ulen\f1, \f2dlen\f1, and \f2tlen\f1, these parameters do not return any values and are simply ignored. .P \f2rule\f1 is used to exchange information about the \f2rule\f1 of Romaji-kana conversion. When calling \f2RkMapPhonogram\f1 for the first time, specify a pointer to a variable loaded with 0. Upon return from the first call to \f2RkMapPhonogram\f1, that variable is loaded with internal information about the rule of Romaji-kana conversion, in place of 0. To continue Romaji-kana conversion, specify the same pointer to the variable to \f2RkMapPhonogram\f1. .SH "RETURN VALUE" This function returns information about whether the character string set in \f2dst\f1 has been converted by using a rule existing in the Romaji-kana conversion table or not. The function returns 1 if a rule existing in the Romaji-kana conversion table has been used; otherwise, it returns 0. Canna37p3/lib/canna/RkMapRom.jmn0100644000076500001200000000611707554213604015704 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkMapRom.jmn,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $ NEC; .TH RKMAPROMA 3 "4 April 1991" .SH "̾Á°" RkMapRoma \- »ØÄꤵ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤¦ .SH "·Á¼°" .nf .B #include .B "int RkMapRoma(romaji, dst, maxdst, src, srclen, flags, status)" .B struct RkRxDic *romaji; .B unsigned char *dst; .B int maxdst; .B unsigned char *src; .B int srclen; .B int flags; .B int *status; .fi .SH "ÀâÌÀ" .I RkMapRoma ¤Ï¡¤»ØÄꤵ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡¥ .I romaji ¤Ï¡¤ .IR RkOpenRoma(3) ¤Ë¤è¤êÊÖ¤µ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÍ¿¤¨¤Þ¤¹¡¥ .I RkMapRoma ¤Ï¡¤Îΰè .I src ¤«¤é .I srclen ¥Ð¥¤¥È³¤¯¥Ç¡¼¥¿¤ò¥í¡¼¥Þ»úÎó¤È¤·¤Æ²ò¼á¤·¡¤¥í¡¼¥Þ»úÎóÀèÆ¬¤È°ìÃפ¹¤ë¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤ò¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤«¤éõ¤·¤Þ¤¹¡¥ Âбþ¤¹¤ëÊÑ´¹µ¬Â§¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¤Âбþ¤¹¤ë¤«¤Êʸ»úÎó¤ò .I dst Îΰè¤Ë³ÊǼ¤·¤Þ¤¹¡¥¤¿¤À¤·¡¤Ê¸»úÎó¤Î¥Ð¥¤¥È¿ô¤¬ .I maxdst -1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï·ë²Ì¤ÏÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ ¤Þ¤¿¡¤²Äǽ¤Ê¤é¤ÐÊÑ´¹ºÇ½ª°Ì Ã֤˥̥ëʸ»ú¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡¥ .PP .I flags ¤Ï¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î¥Õ¥é¥°¤Ç°Ê²¼¤ò or ¤ÇÁȹç¤ï¤»¤Þ¤¹¡¥ .RS .IP RK_SOKUON 10 Â¥²»½èÍý¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡¥Â¥²»½èÍý¤Ï¡¤ÀèÆ¬2ʸ»ú¤¬Æ±°ìʸ»úxx¤Ç¤¢¤ê¡¤¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¥Õ¥¡¥¤¥ë¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ë¸Â¤ê¡¤xx¤«¤é¡Ö¤Ã¡×¤Ø ÊÑ´¹¤·¤Þ¤¹¡¥ .IP RK_FLUSH 10 ¤¹¤Ù¤Æ¤Î¥í¡¼¥Þ»ú¤ò¶¯À©Åª¤ËÊÑ´¹¤·¤Þ¤¹¡¥¤³¤ì¤ÏºÇ¸å¤În¤Î½èÍý¤ËÍ­¸ú¤Ç¤¹¡¥ .RE .PP °Ê²¼¤Î¥Õ¥é¥°¤Ï .I src ¤Ë³ÊǼ¤µ¤ì¤ëʸ»ú¤Î¼ïÎà¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤ì¤Ï¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤« ¤éÆÀ¤é¤ì¤¿¤«¤Êʸ»úÎó¤ËÂФ¹¤ë¥³¡¼¥ÉÊÑ´¹¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤ì¤é¤Ï¡¤¤¤¤º¤ì¤« ¤Ò¤È¤Ä¤À¤±¤òÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ .RS .IP RK_NFER 10 ¤½¤Î¤Þ¤Þ .IP RK_XFER 10 ¤Ò¤é¤¬¤Ê .IP RK_HFER 10 Ⱦ³Ñʸ»ú .IP RK_KFER 10 ¥«¥¿¥«¥Ê .IP RK_ZFER 10 Á´³Ñʸ»ú .RE .PP .I status ¤Ë¤Ï¡¤ .I dst Îΰè¤ËÀßÄꤵ¤ì¤¿Ê¸»úÎó¤Î¥Ð¥¤¥È¿ô¤¬ÀßÄꤵ¤ì¤Þ¤¹¡¥ ¤³¤ÎÃͤ¬Éé¤Î¾ì¹ç¤Ë¤Ï¡¤¥Þ¥Ã¥Á¤¹¤ë¥í¡¼¥Þ»ú¤¬¤Ê¤«¤Ã¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¥Þ¥Ã¥Á¤·¤¿¥í¡¼¥Þ»úÎóÀèÆ¬¥Ð¥¤¥È¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/canna/RkMapRom.man0100644000076500001200000000677307554213604015703 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkMapRom.man,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $ NEC; .TH "RKMAPROMA" "3" .SH "NAME" \f4RkMapRoma\f1 \- perform Romaji-kana conversion by using a specified Romaji-kana conversion table .SH "SYNOPSIS" .nf .ft 4 #include int RkMapRoma(romaji, dst, maxdst, src, srclen, flags, status) struct RkRxDic *romaji; unsigned char *dst; int maxdst; unsigned char *src; int srclen; int flags; int *status; .ft 1 .fi .SH "DESCRIPTION" \f2RkMapRoma\f1 performs Romaji-kana conversion by using a specified Romaji-kana conversion table. \f2romaji\f1 specifies a pointer to the Romaji-kana conversion table that has been returned by \f2RkOpenRoma(3)\f1. \f2RkMapRoma\f1 interprets the \f2srclen\f1 bytes of contiguous data starting at the area \f2src\f1 as a Romaji character string and searches through the Romaji-kana conversion table for the rule of Romaji-kana conversion that matches the beginning of the Romaji character string. If the corresponding conversion rule is found, the corresponding kana character string is stored in the area \f2dst\f1. The resulting character string is truncated when its byte length exceeds \f2maxdst\f1 -1. \f2dst\f1 is padded with null characters at the end if possible. .P \f2flags\f1 is a combination of the following Romaji-kana conversion flags connected by or: .P .RS .IP "RK_SOKUON" 15n Enables gemination, in which a sequence of two occurrences of the same character, xx, is converted to small kana character "tsu" only if it is not defined in the Romaji-kana conversion table file. .IP "RK_FLUSH" Converts all Romaji characters compulsorily. Useful for handling n appearing at the end of a character string. .RE .P The flags listed below specify the type of characters stored in \f2src\f1. These specified code conversion to be performed on the character string derived from the Romaji-kana conversion table. These flags can use one by one. .P .RS .IP "RK_NFER" 15n No conversion .IP "RK_XFER" Hiragana .IP "RK_HFER" Single-byte character .IP "RK_KFER" Katakana .IP "RK_ZFER" Double-byte character .RE .P \f2status\f1 is set to the byte length of the character string set in the area \f2dst\f1. A negative value means that there is no matching Romaji character string. .SH "RETURN VALUE" This function returns the starting byte length of the Romaji character string matched by Romaji-kana conversion. Canna37p3/lib/canna/RkOpenRo.jmn0100644000076500001200000000367607554213604015722 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkOpenRo.jmn,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $ NEC; .TH RKOPENROMA 3 "4 April 1991" .SH "̾Á°" RkOpenRoma \- ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ËÍѤ¤¤ë¼­½ñ¤òÆÉ¤ß¹þ¤à .SH "·Á¼°" .nf .B #include .B struct RkRxDic RkOpenRoma(filename) .B char *filename; .fi .SH "ÀâÌÀ" ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ï¡¤ .IR mkromdic(1) ¤Ë¤è¤êºîÀ®¤µ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤Æ¹Ô¤¤¤Þ¤¹¡¥ .I RkOpenRoma ¤Ï¡¤¤³¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡¥ .I filename ¤Ï¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬¥ª¡¼¥×¥ó¤Ç¤­¤¿¾ì¹ç¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤·¤Þ¤¹¡¥ ¥í¡¼¥Þ»úÊÑ´¹´Ø¿ô¤Ë¤Ï¡¤¤³¤Î¥Ý¥¤¥ó¥¿¤òÅϤ¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥ ÆÉ¤ß¹þ¤ß¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï NULL ¤òÊÖ¤·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkCloseRoma(3), mkromdic(1) .\".if t .pn 575 Canna37p3/lib/canna/RkOpenRo.man0100644000076500001200000000375507554213604015707 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkOpenRo.man,v 1.1.1.1 2002/10/19 08:27:48 aida_s Exp $ NEC; .TH "RKOPENROMA" "3" .SH "NAME" \f4RkOpenRoma\f1 \- open the dictionary to use for Romaji-kana conversion .SH "SYNOPSIS" .nf .ft 4 #include struct RkRxDic RkOpenRoma(filename) char *filename; .ft 1 .fi .SH "DESCRIPTION" Romaji-kana conversion is effected by using a Romaji-kana conversion table created by \f2mkromdic(1)\f1. \f2RkOpenRoma\f1 opens this Romaji-kana conversion table. \f2filename\f1 names the Romaji-kana conversion table file. .SH "RETURN VALUE" This function returns a pointer to the Romaji-kana conversion table if it has successfully been opened; otherwise, it returns \f4NULL\f1. This pointer must be passed to the Romaji-kana conversion functions. .SH "SEE ALSO" .na \f4RkCloseRoma\f1(3), \f4mkromdic\f1(1) .ad Canna37p3/lib/canna/RKroma.c0100644000076500001200000004345010043310761015033 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="@(#) 102.1 $Id: RKroma.c,v 1.4.2.1 2004/04/26 22:49:21 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "canna.h" #include #define S2TOS(s2) (((unsigned short)(s2)[0]<<8)|(s2)[1]) #define L4TOL(l4)\ ((((((((unsigned long) ((unsigned char)(l4)[0])) << 8) | \ ((unsigned long) ((unsigned char)(l4)[1]))) << 8) | \ ((unsigned long) ((unsigned char)(l4)[2]))) << 8) | \ ((unsigned long) ((unsigned char)(l4)[3]))) #ifdef JAPANESE_SORT struct romaRec { unsigned char *roma; unsigned char bang; }; #if !defined(__STDC__) extern void qsort(); #endif int compar(p, q) struct romaRec *p, *q; { unsigned char *s = p->roma; unsigned char *t = q->roma; while ( *s == *t ) if (*s) s++, t++; else return 0; return ((int)*s) - ((int)*t); } #endif /* JAPANESE_SORT */ static int readHeader(rdic, dicfd) struct RkRxDic *rdic; int dicfd; { char magic[3]; unsigned char hdrbuf[8]; int hdrsize; if (read(dicfd, magic, 2) != 2) return -1; magic[2] = '\0'; if (!strcmp(magic, "KP")) { rdic->dic = RX_KPDIC; hdrsize = 4; } else if (!strcmp(magic, "RD")) { rdic->dic = RX_RXDIC; hdrsize = 4; } else if (!strcmp(magic, "PT")) { rdic->dic = RX_PTDIC; hdrsize = 8; } else return -1; if (read(dicfd, hdrbuf, hdrsize) != hdrsize) return -1; if (hdrsize == 4) { rdic->nr_strsz = S2TOS(hdrbuf); rdic->nr_nkey = S2TOS(hdrbuf + 2); } else { rdic->nr_strsz = L4TOL(hdrbuf); rdic->nr_nkey = L4TOL(hdrbuf + 4); } return 0; } struct RkRxDic * RkwOpenRoma(romaji) char *romaji; { struct RkRxDic *rdic; #ifdef JAPANESE_SORT struct romaRec *tmp_rdic; #endif rdic = (struct RkRxDic *)malloc(sizeof(struct RkRxDic)); if (rdic) { int dic; unsigned char *s; int i, sz, open_flags = O_RDONLY; #ifdef O_BINARY open_flags |= O_BINARY; #endif if ( (dic = open((char *)romaji, open_flags)) < 0 ) { free((char *)rdic); return((struct RkRxDic *)0); } if ( readHeader(rdic, dic) ) { (void)close(dic); free((char *)rdic); return((struct RkRxDic *)0); } if (rdic->nr_strsz > 0) { rdic->nr_string = (unsigned char *)malloc((unsigned int)rdic->nr_strsz); if ( !rdic->nr_string ) { (void)close(dic); free((char *)rdic); return((struct RkRxDic *)0); } sz = read(dic, (char *)rdic->nr_string, rdic->nr_strsz); (void)close(dic); if ( sz != rdic->nr_strsz ) { free((char *)rdic->nr_string); free((char *)rdic); return((struct RkRxDic *)0); } } else { rdic->nr_string = (unsigned char *)0; } if (rdic->nr_nkey > 0) { rdic->nr_keyaddr = (unsigned char **)calloc((unsigned)rdic->nr_nkey, sizeof(unsigned char *)); if ( !rdic->nr_keyaddr ) { free((char *)rdic->nr_string); free((char *)rdic); return((struct RkRxDic *)0); } } else { rdic->nr_keyaddr = (unsigned char **)0; } s = rdic->nr_string; /* ¥È¥ê¥¬¡¼Ê¸»ú¤Î¥Ý¥¤¥ó¥¿ */ if (rdic->dic != RX_RXDIC) { /* RXDIC°Ê³° ¤Ç nr_string ¤¬Ìµ¤¤¤³¤È¤Ï¤Ê¤¤ */ rdic->nr_bchars = s; while (*s++) /* EMPTY */ ; /* ¥È¥ê¥¬¡¼Ê¸»ú¤¬¤¢¤ë¤Î¤Ê¤é¡¢¥È¥ê¥¬¡¼¥ë¡¼¥ë¤â¤¢¤ë¤Ï¤º */ if (*rdic->nr_string && rdic->nr_nkey > 0) { rdic->nr_brules = (unsigned char *)calloc((unsigned)rdic->nr_nkey, sizeof(unsigned char)); } else { rdic->nr_brules = (unsigned char *)0; } } else { rdic->nr_brules = (unsigned char *)0; } /* ¥ë¡¼¥ë¤ÎÆÉ¤ß¹þ¤ß */ for ( i = 0; i < rdic->nr_nkey; i++ ) { rdic->nr_keyaddr[i] = s; while (*s++) /* EMPTY */ ; while (*s++) /* EMPTY */ ; if (rdic->dic != RX_RXDIC) { while ( *s > 0x19 ) s++; if (*s) { /* ¥È¥ê¥¬¡¼¥ë¡¼¥ë */ if (rdic->nr_brules) { rdic->nr_brules[i] = (unsigned char)1; } *s = (unsigned char)'\0'; } s++; } } #ifdef JAPANESE_SORT tmp_rdic = (struct romaRec *)calloc((unsigned)rdic->nr_nkey, sizeof(struct romaRec)); if (!tmp_rdic) { if (rdic->nr_string) (void)free((char *)rdic->nr_string); if (rdic->nr_keyaddr) (void)free((char *)rdic->nr_keyaddr); if (rdic->nr_brules) (void)free((char *)rdic->nr_brules); (void)free((char *)rdic); return (struct RkRxDic *)NULL; } for (i = 0; i < rdic->nr_nkey; i++) { tmp_rdic[i].roma = rdic->nr_keyaddr[i]; if (rdic->nr_brules) tmp_rdic[i].bang = rdic->nr_brules[i]; } qsort((char *)tmp_rdic, rdic->nr_nkey, sizeof(struct romaRec), (int (*) pro((const void *, const void *)))compar); for (i = 0; i < rdic->nr_nkey; i++) { rdic->nr_keyaddr[i] = tmp_rdic[i].roma; if (rdic->nr_brules) rdic->nr_brules[i] = tmp_rdic[i].bang; } free ((char *)tmp_rdic); #endif /* JAPANESE_SORT */ } return((struct RkRxDic *)rdic); } /* RkCloseRoma * romaji henkan table wo tojiru */ void RkwCloseRoma(rdic) struct RkRxDic *rdic; { if ( rdic ) { if (rdic->nr_string) (void)free((char *)rdic->nr_string); if (rdic->nr_keyaddr) (void)free((char *)rdic->nr_keyaddr); if (rdic->nr_brules) (void)free((char *)rdic->nr_brules); (void)free((char *)rdic); }; } struct RkRxDic * RkOpenRoma(romaji) char *romaji; { return RkwOpenRoma(romaji); } void RkCloseRoma(rdic) struct RkRxDic *rdic; { RkwCloseRoma(rdic); } /* RkMapRoma * key no sentou wo saichou itti hou ni yori,henkan suru */ #define xkey(roma, line, n) ((roma)->nr_keyaddr[line][n]) struct rstat { int start, end; /* match sury key no hanni */ }; static int findRoma(rdic, m, c, n, flg) struct RkRxDic *rdic; struct rstat *m; unsigned char c; int n; int flg; { register int s, e; if (flg && 'A' <= c && c <= 'Z') { c += 'a' - 'A'; } for(s = m->start; s < m->end; s++) if( c == xkey(rdic, s, n) ) break; for(e = s; e < m->end; e++) if( c != xkey(rdic, e, n) ) break; m->start = s; m->end = e; return e - s; } static unsigned char * getKana(rdic, p, flags) struct RkRxDic *rdic; int p; int flags; { register unsigned char *kana; int klen; static unsigned char tmp[256]; for (kana = rdic->nr_keyaddr[p] ; *kana++ ; ) /* EMPTY */ ; klen = strlen((char *)kana); switch(flags&RK_XFERMASK) { default: (void)RkCvtNone(tmp, sizeof(tmp), kana, klen); return tmp; case RK_XFER: (void)RkCvtHira(tmp, sizeof(tmp), kana, klen); return tmp; case RK_HFER: (void)RkCvtHan(tmp, sizeof(tmp), kana, klen); return tmp; case RK_KFER: (void)RkCvtKana(tmp, sizeof(tmp), kana, klen); return tmp; case RK_ZFER: (void)RkCvtZen(tmp, sizeof(tmp), kana, klen); return tmp; }; } static unsigned char * getRoma(rdic, p) struct RkRxDic *rdic; int p; { return rdic->nr_keyaddr[p]; } /*ARGSUSED*/ static unsigned char * getTSU(rdic, flags) struct RkRxDic *rdic; int flags; { static unsigned char hira_tsu[] = {0xa4, 0xc3, 0}; static unsigned char kana_tsu[] = {0xa5, 0xc3, 0}; static unsigned char han_tsu[] = {0x8e, 0xaf, 0}; switch(flags&RK_XFERMASK) { default: return hira_tsu; case RK_HFER: return han_tsu; case RK_KFER: return kana_tsu; }; } int RkMapRoma(rdic, dst, maxdst, src, maxsrc, flags, status) struct RkRxDic *rdic; unsigned char *dst; int maxdst; unsigned char *src; int maxsrc; int flags; int *status; { register int i; unsigned char *roma; unsigned char *kana = src; int count = 0; int byte; int found = 1; struct rstat *m; #ifndef USE_MALLOC_FOR_BIG_ARRAY struct rstat match[256]; #else struct rstat *match; match = (struct rstat *)malloc(sizeof(struct rstat) * 256); if (!match) { return count; } #endif if ( rdic ) { m = match; m->start = 0; m->end = rdic->nr_nkey; for (i = 0; (flags & RK_FLUSH) || i < maxsrc; i++) { m[1] = m[0]; m++; switch((i < maxsrc) ? findRoma(rdic, m, src[i], i, 0) : 0) { case 0: while (--m > match && xkey(rdic, m->start, m - match)) /* EMPTY */ ; if(m == match) { /* table ni nakatta tokino shori */ kana = src; count = (maxsrc <= 0)? 0 : (*src & 0x80)? 2 : 1; if( (flags & RK_SOKON) && (match[1].start < rdic->nr_nkey) && (2 <= maxsrc) && (src[0] == src[1]) && (i == 1)) { kana = getTSU(rdic, flags); /* tsu ha jisho ni aru kao wo suru */ byte = strlen((char *)kana); } else { static unsigned char tmp[256]; switch(flags&RK_XFERMASK) { default: byte = RkCvtNone(tmp, sizeof(tmp), src, count); break; case RK_XFER: byte = RkCvtHira(tmp, sizeof(tmp), src, count); break; case RK_HFER: byte = RkCvtHan(tmp, sizeof(tmp), src, count); break; case RK_KFER: byte = RkCvtKana(tmp, sizeof(tmp), src, count); break; case RK_ZFER: byte = RkCvtZen(tmp, sizeof(tmp), src, count); break; }; kana = tmp; found = -1; }; } else { /* 'n' nado no shori: saitan no monowo toru */ kana = getKana(rdic, m->start, flags); byte = strlen((char *)kana); count = m - match; } goto done; case 1: /* determined uniquely */ /* key no hou ga nagai baai */ roma = getRoma(rdic, m->start); if ( roma[i + 1] ) /* waiting suffix */ continue; kana = getKana(rdic, m->start, flags); byte = strlen((char *)kana); count = i + 1; goto done; }; }; byte = 0; } else byte = (maxsrc <= 0) ? 0 : (*src & 0x80) ? 2 : 1; done: *status = found*byte; if ( byte + 1 <= maxdst ) { if ( dst ) { while ( byte-- ) *dst++ = *kana++; *dst = 0; }; }; #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)match); #endif return count; } static unsigned char * getrawKana(rdic, p) struct RkRxDic *rdic; int p; { register unsigned char *kana; for (kana = rdic->nr_keyaddr[p] ; *kana++ ; ) /* EMPTY */ ; return kana; } static unsigned char * getTemp(rdic, p) struct RkRxDic *rdic; int p; { register unsigned char *kana; if (rdic->dic == RX_RXDIC) { return (unsigned char *)0; } kana = rdic->nr_keyaddr[p]; while (*kana++) /* EMPTY */ ; while (*kana++) /* EMPTY */ ; return kana; } int RkMapPhonogram(rdic, dst, maxdst, src, srclen, key, flags, used_len_return, dst_len_return, tmp_len_return, rule_id_inout) struct RkRxDic *rdic; unsigned char *dst; int maxdst; unsigned char *src; int srclen; unsigned key; int flags; int *used_len_return, *dst_len_return, *tmp_len_return; int *rule_id_inout; { register int i; unsigned char *roma, *temp; unsigned char *kana = src; int count = 0; int byte; int found = 1; int templen, lastrule; struct rstat *m; #ifndef USE_MALLOC_FOR_BIG_ARRAY struct rstat match[256]; #else struct rstat *match; match = (struct rstat *)malloc(sizeof(struct rstat) * 256); if (!match) { return found; } #endif if ( rdic ) { if ((rdic->dic == RX_KPDIC || rdic->dic == RX_PTDIC) && rule_id_inout && (lastrule = *rule_id_inout)) { if (!key) { if (rdic->nr_brules && rdic->nr_brules[lastrule] && !(flags & RK_FLUSH)) { /* ¤â¤·¡¢! ¤¬ÉÕ¤¤¤Æ¤¤¤¿¾ì¹ç¤Ë¤ÏÂ裳¥Õ¥£¡¼¥ë¥É¤Ë½ñ¤«¤ì¤Æ¤¤¤ë ʸ»ú¤Ç»Ï¤Þ¤ë¥ë¡¼¥ë¤¬¤¢¤ë¤È²¾ÁÛŪ¤Ë¹Í¤¨¤é¤ì¤ë¤ï¤±¤Ç¤¢¤ë¤« ¤é key ¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¢¤ì¤ÐÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬Ã»¤« ¤¹¤®¤ë¤¿¤á¤Ê¤ó¤È¤â¤Ç¤­¤Ê¤¤¤è¤·¤Î¥ê¥¿¡¼¥óÃͤòÊÖ¤¹¡£ */ /* RK_FLUSH ¤ÏÄ´¤Ù¤ë¤Ù¤­¤«¤É¤¦¤«Çº¤à¤È¤³¤í */ byte = count = 0; templen = 0; found = 0; goto done; } } else { lastrule--; if (lastrule < rdic->nr_nkey && rdic->nr_brules) { if (rdic->nr_brules[lastrule]) { unsigned char *p; for (p = rdic->nr_bchars ; *p ; p++) { if (key == *p) { unsigned char *origin = getTemp(rdic, lastrule), *ret; int dstlen = 0, tmplen; ret = dst; for (i = 0 ; i < maxdst && *origin ; i++) { origin++; } if (i + 1 == srclen) { /* ¥Ð¥Ã¥¯¥È¥é¥Ã¥¯¤ò¤¹¤ë */ origin = rdic->nr_keyaddr[lastrule]; for (i = 0 ; i < maxdst && *origin ; i++) { *dst++ = *origin++; } tmplen = ++i; if (i < maxdst) { *dst++ = key; *dst = (unsigned char)0; } if (used_len_return) *used_len_return = srclen; if (*ret & 0x80) { /* very dependent on Japanese EUC */ if (*ret == 0x8f) { dstlen++; } dstlen++; } dstlen++; if (dst_len_return) *dst_len_return = dstlen; if (tmp_len_return) *tmp_len_return = tmplen - dstlen; *rule_id_inout = 0; goto return_found; } } } } } } } m = match; m->start = 0; m->end = rdic->nr_nkey; for (i = 0; (flags & RK_FLUSH) || i < srclen; i++) { m[1] = m[0]; m++; switch((i < srclen) ? findRoma(rdic, m, src[i], i, flags & RK_IGNORECASE) : 0) { case 0: while (--m > match && xkey(rdic, m->start, m - match)) /* EMPTY */ ; if(m == match) { /* ¥Æ¡¼¥Ö¥ë¤Ë¤Ê¤«¤Ã¤¿»þ¤Î½èÍý */ count = (*src & 0x80) ? 2 : 1; if (srclen < count) { count = 0; } if( (rdic->dic == RX_RXDIC) && /* tt ¤ÎµßºÑ(µì¼­½ñÍÑ) */ (flags & RK_SOKON) && (match[1].start < rdic->nr_nkey) && (2 <= srclen) && (src[0] == src[1]) && (i == 1)) { kana = getTSU(rdic, flags); /* tsu ha jisho ni aru kao wo suru */ byte = strlen((char *)kana); templen = 0; if (rule_id_inout) *rule_id_inout = 0; } else { /* £±Ê¸»úÊÑ´¹¤µ¤ì¤¿¤³¤È¤Ë¤¹¤ë */ byte = count; templen = 0; kana = src; found = 0; } } else { /* 'n' ¤Ê¤É¤Î½èÍý: ºÇû¤Î¤â¤Î¤ò¼è¤ë */ kana = getrawKana(rdic, m->start); byte = strlen((char *)kana); temp = getTemp(rdic, m->start); templen = temp ? strlen((char *)temp) : 0; count = m - match; if (rule_id_inout) { if (byte == 0 && templen > 0) { *rule_id_inout = m->start + 1; } else { *rule_id_inout = 0; } } } goto done; case 1: /* ÅÓÃæ¤Ç¤É¤ó¤Ô¤·¤ã¤¬¸«¤Ä¤«¤Ã¤¿ */ /* key no hou ga nagai baai */ roma = getRoma(rdic, m->start); if ( roma[i + 1] ) /* waiting suffix */ continue; kana = getrawKana(rdic, m->start); byte = strlen((char *)kana); temp = getTemp(rdic, m->start); templen = temp ? strlen((char *)temp) : 0; count = i + 1; if (rule_id_inout) { if (byte == 0 && templen > 0) { *rule_id_inout = m->start + 1; } else { *rule_id_inout = 0; } } goto done; } } byte = count = 0; templen = 0; } else { byte = (*src & 0x80) ? 2 : 1; if (srclen < byte) { byte = 0; } count = byte; kana = src; templen = 0; found = 0; } done: if (dst_len_return) { *dst_len_return = byte; } if (used_len_return) { *used_len_return = count; } if (tmp_len_return) { *tmp_len_return = templen; } if ( byte < maxdst ) { if ( dst ) { int ii; for (ii = 0 ; ii < byte ; ii++) *dst++ = *kana++; *dst = 0; } if (byte + templen < maxdst) { if (dst) { while (templen--) { *dst++ = *temp++; } *dst = 0; } } } return_found: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)match); #endif return found; } /* RkCvtRoma */ int RkCvtRoma(rdic, dst, maxdst, src, maxsrc, flags) struct RkRxDic *rdic; unsigned char *dst; int maxdst; unsigned char *src; int maxsrc; unsigned flags; { register unsigned char *d = dst; register unsigned char *s = src; register unsigned char *S = src + maxsrc; int count = 0; unsigned xp = 0; unsigned char key; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned char xxxx[64], yyyy[64]; #else unsigned char *xxxx, *yyyy; xxxx = (unsigned char *)malloc(64); yyyy = (unsigned char *)malloc(64); if (!xxxx || !yyyy) { if (xxxx) { (void)free((char *)xxxx); } if (yyyy) { (void)free((char *)yyyy); } return count; } #endif if (!(maxdst <= 0 || maxsrc < 0)) { while ( s < S ) { int ulen, dlen, tlen, rule = 0; unsigned dontflush = RK_FLUSH; key = xxxx[xp++] = *s++; flush: do { RkMapPhonogram(rdic, d, maxdst, xxxx, xp, (unsigned)key, flags & ~dontflush, &ulen, &dlen, &tlen, &rule); if ( dlen + 1 <= maxdst ) { maxdst -= dlen; count += dlen; if ( dst ) { d += dlen; (void)strncpy((char *)yyyy, (char *)d, tlen); } } if (ulen < (int)xp) { strncpy((char *)yyyy + tlen, (char *)xxxx + ulen, xp - ulen); } strncpy((char *)xxxx, (char *)yyyy, tlen + xp - ulen); xp = tlen + xp - ulen; key = 0; } while (ulen > 0); if (s == S && dontflush) { dontflush = 0; goto flush; } } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)yyyy); (void)free((char *)xxxx); #endif return count; } Canna37p3/lib/canna/romaji.c0100644000076500001200000035050407732020155015130 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: romaji.c,v 1.10 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include #include #ifdef MEASURE_TIME #include #include #endif /* Now canna have only cbp files. */ #if 1 #define DEFAULT_ROMKANA_TABLE "/dic/default.cbp" #else #define DEFAULT_ROMKANA_TABLE "/dic/default.kp" #endif #ifdef luna88k extern int errno; #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc int forceRomajiFlushYomi pro((uiContext)); static int KanaYomiInsert pro((uiContext)); static int chikujiEndBun pro((uiContext)); extern void EWStrcat pro((wchar_t *, char *)); extern int yomiInfoLevel; extern struct RkRxDic *englishdic; /* * int d->rStartp; ro shu c|h shi f ¥í¡¼¥Þ»ú ¥¹¥¿¡¼¥È ¥¤¥ó¥Ç¥Ã¥¯¥¹ * int d->rEndp; ro shu ch shi f| ¥í¡¼¥Þ»ú ¥Ð¥Ã¥Õ¥¡ ¥¤¥ó¥Ç¥Ã¥¯¥¹ * int d->rCurs; ro shu ch| shi f ¥í¡¼¥Þ»ú ¥¨¥ó¥É ¥¤¥ó¥Ç¥Ã¥¯¥¹ * int d->rAttr[1024]; 10 100 11 100 1 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÀèÆ¬¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡ * int d->kEndp; ¤í ¤· ch ¤å ¤· f| ¤«¤Ê ¥Ð¥Ã¥Õ¥¡ ¥¤¥ó¥Ç¥Ã¥¯¥¹ * int d->kRStartp; ¤í ¤· c|h ¤å ¤· f ¥«¡¼¥½¥ë ¥¹¥¿¡¼¥È ¥¤¥ó¥Ç¥Ã¥¯¥¹ * int d->kCurs; ¤í ¤· ch| ¤å ¤· f ¥«¡¼¥½¥ë ¥¨¥ó¥É ¥¤¥ó¥Ç¥Ã¥¯¥¹ * int d->kAttr[1024]; 11 11 00 11 11 0 ¥«¥ÊÊÑ´¹¤·¤¿¥Õ¥é¥°¥Ð¥Ã¥Õ¥¡ * int d->nrf; 1 ¥í¡¼¥Þ»úÊÑ´¹¤·¤Þ¤»¤ó¥Õ¥é¥° */ /* * ¥Õ¥é¥°¤ä¥Ý¥¤¥ó¥¿¤Îư¤­ * * ¤Ò¤ã¤¯ hyaku * Àè 100010 10010 * ÊÑ 111111 * ¶Ø 000000 * rStartp 1 * rCurs 1 * rEndp 1 * kRstartp 1 * kCurs 1 * kEndp 1 * * ¢« * ¤Ò¤ã¤¯ hyaku * Àè 100010 10010 * ÊÑ 111111 * ¶Ø 000000 * rStartp 1 * rCurs 1 * rEndp 1 * kRstartp 1 * kCurs 1 * kEndp 1 * * ¢« * ¤Ò¤ã¤¯ hyaku * Àè 100010 10010 * ÊÑ 111111 * ¶Ø 000000 * rStartp 1 * rCurs 1 * rEndp 1 * kRstartp 1 * kCurs 1 * kEndp 1 * * ¢« * ¤Ò¤ã¤¯ hyaku * Àè 100010 10010 * ÊÑ 111111 * ¶Ø 000000 * rStartp 1 * rCurs 1 * rEndp 1 * kRstartp 1 * kCurs 1 * kEndp 1 * * ¢ª * ¤Ò¤ã¤¯ hyaku * Àè 100010 10010 * ÊÑ 111111 * ¶Ø 000000 * rStartp 1 * rCurs 1 * rEndp 1 * kRstartp 1 * kCurs 1 * kEndp 1 * * 'k' * ¤Òk¤ã¤¯ hyakku * Àè 1010010 100110 * ÊÑ 1101111 * ¶Ø 0010000 * rStartp 1 * rCurs 1 * rEndp 1 * kRstartp 1 * kCurs 1 * kEndp 1 * * 'i' * ¤Ò¤­¤ã¤¯ hyakiku * Àè 10100010 1001010 * ÊÑ 11111111 * ¶Ø 00110000 * rStartp 1 * rCurs 1 * rEndp 1 * kRstartp 1 * kCurs 1 * kEndp 1 */ #ifndef KANALIMIT #define KANALIMIT 255 #endif #define ROMAJILIMIT 255 #define doubleByteP(x) ((x) & 0x80) #ifdef DEBUG void debug_yomi(x) yomiContext x; { char foo[1024]; int len, i; if (iroha_debug) { len = WCstombs(foo, x->romaji_buffer, 1024); foo[len] = '\0'; printf(" %s\nÀè: ", foo); for (i = 0 ; i <= x->rEndp ; i++) { printf("%s", (x->rAttr[i] & SENTOU) ? "1" : " "); } printf("\n¥Ý: "); for (i = 0 ; i < x->rStartp ; i++) { printf(" "); } printf("^\n"); len = WCstombs(foo, x->kana_buffer, 1024); foo[len] = '\0'; printf(" %s\nÀè: ", foo); for (i = 0 ; i <= x->kEndp ; i++) { printf("%s ", (x->kAttr[i] & SENTOU) ? "1" : " "); } printf("\nºÑ: "); for (i = 0 ; i <= x->kEndp ; i++) { printf("%s", (x->kAttr[i] & HENKANSUMI) ? "ºÑ" : "̤"); } printf("\n¥Ý: "); for (i = 0 ; i < x->kRStartp ; i++) { printf(" "); } printf("¢¬\n"); } } #else /* !DEBUG */ # define debug_yomi(x) #endif /* !DEBUG */ #ifndef CALLBACK #define kanaReplace(where, insert, insertlen, mask) \ kanaRepl(d, where, insert, insertlen, mask) static void kanaRepl(d, where, insert, insertlen, mask) uiContext d; int where, insertlen, mask; wchar_t *insert; { yomiContext yc = (yomiContext)d->modec; generalReplace(yc->kana_buffer, yc->kAttr, &yc->kRStartp, &yc->kCurs, &yc->kEndp, where, insert, insertlen, mask); } #else /* CALLBACK */ #define kanaReplace(where, insert, insertlen, mask) \ kanaRepl(d, where, insert, insertlen, mask) static void kanaRepl(d, where, insert, insertlen, mask) uiContext d; int where, insertlen, mask; wchar_t *insert; { yomiContext yc = (yomiContext)d->modec; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t buf[256]; #else wchar_t *buf = (wchar_t *)malloc(sizeof(wchar_t) * 256); if (!buf) { return; } #endif WStrncpy(buf, insert, insertlen); buf[insertlen] = '\0'; generalReplace(yc->kana_buffer, yc->kAttr, &yc->kRStartp, &yc->kCurs, &yc->kEndp, where, insert, insertlen, mask); #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)buf); #endif } #endif /* CALLBACK */ #define romajiReplace(where, insert, insertlen, mask) \ romajiRepl(d, where, insert, insertlen, mask) static void romajiRepl(d, where, insert, insertlen, mask) uiContext d; int where, insertlen, mask; wchar_t *insert; { yomiContext yc = (yomiContext)d->modec; generalReplace(yc->romaji_buffer, yc->rAttr, &yc->rStartp, &yc->rCurs, &yc->rEndp, where, insert, insertlen, mask); } /* cfuncdef kPos2rPos -- ¤«¤Ê¥Ð¥Ã¥Õ¥¡¤Î¥ê¡¼¥¸¥ç¥ó¤«¤é¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤Î¥ê¡¼¥¸¥ç¥ó¤òÆÀ¤ë yc : ÆÉ¤ß¥³¥ó¥Æ¥¯¥¹¥È s : ¤«¤Ê¥Ð¥Ã¥Õ¥¡¤Î¥ê¡¼¥¸¥ç¥ó¤Î³«»Ï°ÌÃÖ e : ¤«¤Ê¥Ð¥Ã¥Õ¥¡¤Î¥ê¡¼¥¸¥ç¥ó¤Î½ªÎ»°ÌÃÖ rs : ¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤ÎÂбþ¤¹¤ë³«»Ï°ÌÃÖ¤ò³ÊǼ¤¹¤ëÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿ rs : ¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤ÎÂбþ¤¹¤ë½ªÎ»°ÌÃÖ¤ò³ÊǼ¤¹¤ëÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿ */ void kPos2rPos(yc, s, e, rs, re) yomiContext yc; int s, e, *rs, *re; { int i, j, k; for (i = 0, j = 0 ; i < s ; i++) { if (yc->kAttr[i] & SENTOU) { do { j++; } while (!(yc->rAttr[j] & SENTOU)); } } for (i = s, k = j ; i < e ; i++) { if (yc->kAttr[i] & SENTOU) { do { k++; } while (!(yc->rAttr[k] & SENTOU)); } } if (rs) *rs = j; if (re) *re = k; } /* makeYomiReturnStruct-- ÆÉ¤ß¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÊÖ¤¹»þ¤Î¹½Â¤ÂΤòºî¤ë´Ø¿ô makeYomiReturnStruct ¤Ï kana_buffer ¤òÄ´¤Ù¤ÆÅ¬Åö¤ÊÃͤòÁȤßΩ¤Æ¤ë¡£¤½ ¤Î»þ¤Ë¥ê¥Ð¡¼¥¹¤ÎÎΰè¤âÀßÄꤹ¤ë¤¬¡¢¥ê¥Ð¡¼¥¹¤ò¤É¤Î¤¯¤é¤¤¤¹¤ë¤«¤Ï¡¢ ReverseWidely ¤È¤¤¤¦ÊÑ¿ô¤ò¸«¤Æ·èÄꤹ¤ë¡£ */ void makeYomiReturnStruct(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; makeKanjiStatusReturn(d, yc); } extern ckverbose; static struct RkRxDic * OpenRoma(table) char *table; { struct RkRxDic *retval = (struct RkRxDic *)0, *RkwOpenRoma(); char *p, *getenv(); #ifndef USE_MALLOC_FOR_BIG_ARRAY char rdic[1024]; #else char *rdic = malloc(1024); if (!rdic) { return (struct RkRxDic *)0; } #endif if (table || *table) { retval = RkwOpenRoma(table); if (ckverbose == CANNA_FULL_VERBOSE) { if (retval != (struct RkRxDic *)NULL) { /* ¼­½ñ¤¬¥ª¡¼¥×¥ó¤Ç¤­¤¿ */ printf("¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï \"%s\" ¤òÍѤ¤¤Þ¤¹¡£\n", table); } } if (retval == (struct RkRxDic *)NULL) { /* ¤â¤·¼­½ñ¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤±¤ì¤Ð¥¨¥é¡¼ */ extern jrUserInfoStruct *uinfo; rdic[0] = '\0'; if (uinfo && uinfo->topdir && uinfo->uname) { strcpy(rdic, uinfo->topdir); strcat(rdic, "/dic/user/"); strcat(rdic, uinfo->uname); strcat(rdic, "/"); strcat(rdic, table); retval = RkwOpenRoma(rdic); } else { p = getenv("HOME"); if (p) { (void)strcpy(rdic, p); (void)strcat(rdic, "/"); (void)strcat(rdic, table); retval = RkwOpenRoma(rdic); } } if (ckverbose == CANNA_FULL_VERBOSE) { if (retval != (struct RkRxDic *)NULL) { printf("¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï \"%s\" ¤òÍѤ¤¤Þ¤¹¡£\n", rdic); } } if (retval == (struct RkRxDic *)NULL) { /* ¤³¤ì¤â¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤ */ extern jrUserInfoStruct *uinfo; rdic[0] = '\0'; if (uinfo && uinfo->topdir) { strcpy(rdic, uinfo->topdir); } else { strcpy(rdic, CANNALIBDIR); } strcat(rdic, "/dic/"); strcat(rdic, table); retval = RkwOpenRoma(rdic); if (ckverbose) { if (retval != (struct RkRxDic *)NULL) { if (ckverbose == CANNA_FULL_VERBOSE) { printf("¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï \"%s\" ¤òÍѤ¤¤Þ¤¹¡£\n", rdic); } } } } if (retval == (struct RkRxDic *)NULL) { /* added for Debian by ISHIKAWA Mutsumi */ extern jrUserInfoStruct *uinfo; rdic[0] = '\0'; if (uinfo && uinfo->topdir) { strcpy(rdic, uinfo->topdir); } else { strcpy(rdic, CANNALIBDIR); } strcat(rdic, "/"); strcat(rdic, table); retval = RkwOpenRoma(rdic); if (ckverbose) { if (retval != (struct RkRxDic *)NULL) { if (ckverbose == CANNA_FULL_VERBOSE) { printf("¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï \"%s\" ¤òÍѤ¤¤Þ¤¹¡£\n", rdic); } } } } #if 0 /* currently CANNASHAREDDIR is not defined */ if (retval == (struct RkRxDic *)NULL) { /* added for Debian by ISHIKAWA Mutsumi */ extern jrUserInfoStruct *uinfo; rdic[0] = '\0'; if (uinfo && uinfo->topdir) { strcpy(rdic, uinfo->topdir); } else { strcpy(rdic, CANNASHAREDIR); } strcat(rdic, "/"); strcat(rdic, table); retval = RkwOpenRoma(rdic); if (ckverbose) { if (retval != (struct RkRxDic *)NULL) { if (ckverbose == CANNA_FULL_VERBOSE) { printf("¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï \"%s\" ¤òÍѤ¤¤Þ¤¹¡£\n", rdic); } } } } #endif if (retval == (struct RkRxDic *)NULL) { /* Á´Éô¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤ */ sprintf(rdic, #ifndef CODED_MESSAGE "¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë(%s)¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£", #else "\245\355\241\274\245\336\273\372\244\253\244\312" "\312\321\264\271\245\306\241\274\245\326\245\353\50\45\163\51\244\254" "\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273" "\244\363\241\243", #endif table); /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë(%s)¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£ */ addWarningMesg(rdic); retval = (struct RkRxDic *)0; } } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)rdic); #endif return retval; } RomkanaInit() { extern char *RomkanaTable, *EnglishTable; extern extraFunc *extrafuncp; extraFunc *extrafunc1, *extrafunc2; extern jrUserInfoStruct *uinfo; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥ª¡¼¥×¥ó */ if (uinfo) { if (uinfo->romkanatable) { if (RomkanaTable) { free(RomkanaTable); } RomkanaTable = malloc(strlen(uinfo->romkanatable) + 1); if (RomkanaTable) { strcpy(RomkanaTable, uinfo->romkanatable); } } } if (RomkanaTable) { romajidic = OpenRoma(RomkanaTable); } else { #ifndef USE_MALLOC_FOR_BIG_ARRAY char buf[1024]; #else char *buf = malloc(1024); if (!buf) { return 0; } #endif buf[0] = '\0'; if (uinfo && uinfo->topdir) { strcpy(buf, uinfo->topdir); } else { strcpy(buf, CANNALIBDIR); } strcat(buf, DEFAULT_ROMKANA_TABLE); romajidic = RkwOpenRoma(buf); if (romajidic != (struct RkRxDic *)NULL) { int len = strlen(buf); RomkanaTable = malloc(len + 1); if (RomkanaTable) { strcpy(RomkanaTable, buf); } if (ckverbose == CANNA_FULL_VERBOSE) { printf("¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï \"%s\" ¤òÍѤ¤¤Þ¤¹¡£\n", buf); } } else { /* ¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤«¤Ã¤¿ */ if (ckverbose) { printf("¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë \"%s\" ¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£\n", buf); } sprintf(buf, "\245\267\245\271\245\306\245\340\244\316\245\355\241\274" "\245\336\273\372\244\253\244\312\312\321\264\271\245\306\241\274" "\245\326\245\353\244\254\245\252\241\274\245\327\245\363\244\307" "\244\255\244\336\244\273\244\363\241\243"); /* ¥·¥¹¥Æ¥à¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£ */ addWarningMesg(buf); } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(buf); #endif } #ifndef NOT_ENGLISH_TABLE if (EnglishTable && (!RomkanaTable || strcmp(RomkanaTable, EnglishTable))) { /* RomkanaTable ¤È EnglishTable ¤¬°ì½ï¤À¤Ã¤¿¤é¤À¤á */ englishdic = OpenRoma(EnglishTable); } #endif /* ¥æ¡¼¥¶¥â¡¼¥É¤Î½é´ü²½ */ for (extrafunc1 = extrafuncp ; extrafunc1 ; extrafunc1 = extrafunc1->next) { /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥ª¡¼¥×¥ó */ if (extrafunc1->keyword == EXTRA_FUNC_DEFMODE) { if (extrafunc1->u.modeptr->romaji_table) { if (RomkanaTable && !strcmp(RomkanaTable, (char *)extrafunc1->u.modeptr->romaji_table)) { extrafunc1->u.modeptr->romdic = romajidic; extrafunc1->u.modeptr->romdic_owner = 0; } #ifndef NOT_ENGLISH_TABLE else if (EnglishTable && !strcmp(EnglishTable, (char *)extrafunc1->u.modeptr->romaji_table)) { extrafunc1->u.modeptr->romdic = englishdic; extrafunc1->u.modeptr->romdic_owner = 0; } #endif else { for (extrafunc2 = extrafuncp ; extrafunc1 != extrafunc2 ; extrafunc2 = extrafunc2->next) { if (extrafunc2->keyword == EXTRA_FUNC_DEFMODE && extrafunc2->u.modeptr->romaji_table) { if (!strcmp((char *)extrafunc1->u.modeptr->romaji_table, (char *)extrafunc2->u.modeptr->romaji_table)) { extrafunc1->u.modeptr->romdic = extrafunc2->u.modeptr->romdic; extrafunc1->u.modeptr->romdic_owner = 0; break; } } } if (extrafunc2 == extrafunc1) { extrafunc1->u.modeptr->romdic = OpenRoma(extrafunc1->u.modeptr->romaji_table); extrafunc1->u.modeptr->romdic_owner = 1; } } } else { extrafunc1->u.modeptr->romdic = (struct RkRxDic *)0; /* nil¤Ç¤¹¤è¡ª */ extrafunc1->u.modeptr->romdic_owner = 0; } } } return 0; } /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥¯¥í¡¼¥º */ extern keySupplement keysup[]; extern exp(void) RkwCloseRoma pro((struct RkRxDic *)); void RomkanaFin() { extern char *RomkanaTable, *EnglishTable; extern nkeysup; int i; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥¯¥í¡¼¥º */ if (romajidic != (struct RkRxDic *)NULL) { RkwCloseRoma(romajidic); } if (RomkanaTable) { free(RomkanaTable); RomkanaTable = (char *)NULL; } #ifndef NOT_ENGLISH_TABLE if (englishdic != (struct RkRxDic *)NULL) { RkwCloseRoma(englishdic); } if (EnglishTable) { free(EnglishTable); EnglishTable = (char *)NULL; } #endif /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥ë¡¼¥ë¤ÎÊ䭤Τ¿¤á¤ÎÎΰè¤Î²òÊü */ for (i = 0 ; i < nkeysup ; i++) { if (keysup[i].cand) { free((char *)keysup[i].cand); keysup[i].cand = (wchar_t **)NULL; } if (keysup[i].fullword) { free((char *)keysup[i].fullword); keysup[i].fullword = (wchar_t *)NULL; } } nkeysup = 0; } /* cfunc newYomiContext yomiContext ¹½Â¤ÂΤò°ì¤Äºî¤êÊÖ¤¹¡£ */ yomiContext newYomiContext(buf, bufsize, allowedc, chmodinhibit, quitTiming, hinhibit) wchar_t *buf; int bufsize; int allowedc, chmodinhibit, quitTiming, hinhibit; { yomiContext ycxt; ycxt = (yomiContext)malloc(sizeof(yomiContextRec)); if (ycxt) { bzero(ycxt, sizeof(yomiContextRec)); ycxt->id = YOMI_CONTEXT; ycxt->allowedChars = allowedc; ycxt->generalFlags = chmodinhibit ? CANNA_YOMI_CHGMODE_INHIBITTED : 0; ycxt->generalFlags |= quitTiming ? CANNA_YOMI_END_IF_KAKUTEI : 0; ycxt->savedFlags = (long)0; ycxt->henkanInhibition = hinhibit; ycxt->n_susp_chars = 0; ycxt->retbufp = ycxt->retbuf = buf; ycxt->romdic = (struct RkRxDic *)0; ycxt->myEmptyMode = (KanjiMode)0; ycxt->last_rule = 0; if ((ycxt->retbufsize = bufsize) == 0) { ycxt->retbufp = 0; } ycxt->right = ycxt->left = (tanContext)0; ycxt->next = (mode_context)0; ycxt->prevMode = 0; /* ÊÑ´¹¤Îʬ */ ycxt->nbunsetsu = 0; /* ʸÀá¤Î¿ô¡¢¤³¤ì¤ÇÆÉ¤ß¥â¡¼¥É¤«¤É¤¦¤«¤ÎȽÄê¤â¤¹¤ë */ ycxt->context = -1; ycxt->kouhoCount = 0; ycxt->allkouho = (wchar_t **)0; ycxt->curbun = 0; ycxt->curIkouho = 0; /* ¥«¥ì¥ó¥È¸õÊä */ ycxt->proctime = ycxt->rktime = 0; /* Ã༡¤Îʬ */ ycxt->ys = ycxt->ye = ycxt->cStartp = ycxt->cRStartp = ycxt->status = 0; } return ycxt; } /* GetKanjiString ¤Ï´Á»ú¤«¤Êº®¤¸¤êʸ¤ò¼è¤Ã¤Æ¤¯¤ë´Ø¿ô¤Ç¤¢¤ë¡£¼ÂºÝ¤Ë¤Ï empty ¥â¡¼¥É¤òÀßÄꤹ¤ë¤À¤±¤Ç¥ê¥¿¡¼¥ó¤¹¤ë¡£ºÇ½ªÅª¤Ê·ë²Ì¤¬ buf ¤Ç»ØÄê ¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤µ¤ì exitCallback ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤Ë¤è¤Ã¤Æ¸Æ¤Ó ½Ð¤·Â¦¤Ï´Á»ú¤«¤Êº®¤¸¤êʸ»ú¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ Â裲°ú¿ô¤Î ycxt ¤ÏÄ̾ï¤Ï£°¤ò»ØÄꤹ¤ë¡£¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤«¤éÆüËÜ¸ì ¥â¡¼¥É¤Ø¤ÎÀÚ¤êÂØ¤¨¤ËºÝ¤·¤Æ¤Î¤ß¤Ï uiContext ¤ÎÄì¤ËÊݸ¤·¤Æ¤¢¤ë¥³¥ó¥Æ ¥­¥¹¥È¤òÍѤ¤¤ë¡£¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤ÈÆüËܸì¥â¡¼¥É¤È¤ÎÀÚ¤êÂØ¤¨¤Ï¥¹¥¿¥Ã ¥¯¾å¤ËÀѤ߹þ¤Þ¤ì¤¿¥â¡¼¥É¤Î push/pop Áàºî¤Ç¤Ï¤Ê¤¯¡¢¥¹¥ï¥Ã¥×¾å¤Î¥â¡¼¥É ¤Î°ìÈÖ¾å¤ÎÍ×ÁÇ¤ÎÆþ¤ìÂØ¤¨¤Ë¤Ê¤ë¡£ £³¤Ä¤Î Callback ¤Î¤¦¤Á¡¢exitCallback ¤Ï¤Ò¤ç¤Ã¤È¤·¤¿¤é»È¤ï¤ì¤Ê¤¤¤Ç¡¢ everyTimeCallback ¤È quitCallback ¤·¤«ÍѤ¤¤Ê¤¤¤«¤âÃΤì¤Ê¤¤¡£ */ yomiContext GetKanjiString(d, buf, bufsize, allowedc, chmodinhibit, quitTiming, hinhibit, everyTimeCallback, exitCallback, quitCallback) uiContext d; wchar_t *buf; int bufsize, allowedc, chmodinhibit, quitTiming, hinhibit; canna_callback_t everyTimeCallback, exitCallback, quitCallback; { extern KanjiModeRec empty_mode; yomiContext yc; if ((pushCallback(d, d->modec, everyTimeCallback, exitCallback, quitCallback, NO_CALLBACK)) == (struct callback *)0) { return (yomiContext)0; } yc = newYomiContext(buf, bufsize, allowedc, chmodinhibit, quitTiming, hinhibit); if (yc == (yomiContext)0) { popCallback(d); return (yomiContext)0; } yc->romdic = romajidic; yc->majorMode = d->majorMode; yc->minorMode = CANNA_MODE_HenkanMode; yc->next = d->modec; d->modec = (mode_context)yc; /* Á°¤Î¥â¡¼¥É¤ÎÊݸ */ yc->prevMode = d->current_mode; /* ¥â¡¼¥ÉÊѹ¹ */ d->current_mode = yc->curMode = yc->myEmptyMode = &empty_mode; return yc; } /* cfuncdef popYomiMode -- ÆÉ¤ß¥â¡¼¥É¤ò¥Ý¥Ã¥×¥¢¥Ã¥×¤¹¤ë¡£ */ void popYomiMode(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; d->modec = yc->next; d->current_mode = yc->prevMode; if (yc->context >= 0) { RkwCloseContext(yc->context); yc->context = -1; } freeYomiContext(yc); } /* cfuncdef checkIfYomiExit -- ÆÉ¤ß¥â¡¼¥É¤¬½ªÎ»¤«¤É¤¦¤«¤òÄ´¤Ù¤ÆÃͤòÊÖ¤¹¥Õ¥£¥ë¥¿ ¤³¤Î¥Õ¥£¥ë¥¿¤ÏÆÉ¤ß¥â¡¼¥É¤Î³Æ´Ø¿ô¤ÇÃͤòÊÖ¤½¤¦¤È¤¹¤ë»þ¤Ë¸Æ¤Ö¡£ÆÉ¤ß¥â¡¼ ¥É¤Ç¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤È¤³¤í¤Ç¤¢¤ì¤Ð¡¢ÆÉ¤ß¥â¡¼¥É¤ò½ªÎ»¤·¡¢uiContext ¤Ë ¥×¥Ã¥·¥å¤µ¤ì¤Æ¤¤¤¿¥í¡¼¥«¥ë¥Ç¡¼¥¿¤ä¥â¡¼¥É¹½Â¤ÂΤ¬¥Ý¥Ã¥×¤µ¤ì¤ë¡£ ¥í¡¼¥«¥ë¥Ç¡¼¥¿¤Ë exitCallback ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤¤¤«¤Ê¤ë¾ì¹ç¤Ë¤â ¹½Â¤ÂΤΥݥåץ¢¥Ã¥×¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ º£¤Î¤È¤³¤í¡¢ÆÉ¤ß¥â¡¼¥É¤Î½ªÎ»¤Ï¼¡¤Î¤è¤¦¤Ê¾ì¹ç¤¬¹Í¤¨¤é¤ì¤ë¡£ (1) C-m ¤¬³ÎÄêÆÉ¤ß¤ÎºÇ¸å¤Îʸ»ú¤È¤·¤ÆÊÖ¤µ¤ì¤¿»þ¡£(ÊÑ´¹µö²Ä¤Î»þ) (2) ³ÎÄêʸ»úÎó¤¬Â¸ºß¤¹¤ë¾ì¹ç¡£(ÊÑ´¹¶Ø»ß¤Î»þ) quit ¤ÇÆÉ¤ß¥â¡¼¥É¤ò½ªÎ»¤¹¤ë»þ¤Ï?¾¤Î´Ø¿ô?¤ò¸Æ¤Ö¡£ */ static checkIfYomiExit(d, retval) uiContext d; int retval; { yomiContext yc = (yomiContext)d->modec; if (retval <= 0) { /* ³ÎÄêʸ»úÎ󤬤ʤ¤¤«¥¨¥é¡¼¤Î¾ì¹ç ¢á exit ¤Ç¤Ï¤Ê¤¤ */ return retval; } if (yc->retbufp && yc->retbufsize - (yc->retbufp - yc->retbuf) > retval) { /* ʸ»úÎó³ÊǼ¥Ð¥Ã¥Õ¥¡¤¬¤¢¤Ã¤Æ¡¢³ÎÄꤷ¤¿Ê¸»úÎó¤è¤ê¤â¤¢¤Þ¤Ã¤Æ¤¤¤ëÎÎ °è¤¬Ä¹¤¤¤Î¤Ç¤¢¤ì¤Ð³ÊǼ¥Ð¥Ã¥Õ¥¡¤Ë³ÎÄꤷ¤¿Ê¸»úÎó¤ò¥³¥Ô¡¼¤¹¤ë */ WStrncpy(yc->retbufp, d->buffer_return, retval); yc->retbufp[retval] = (wchar_t)0; yc->retbufp += retval; } if (yc->generalFlags & CANNA_YOMI_END_IF_KAKUTEI || d->buffer_return[retval - 1] == '\n') { /* ÊÑ´¹¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¤È¤·¤¿¤é exit */ /* ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢\n ¤¬Æþ¤Ã¤Æ¤¤¤¿¤é exit */ d->status = EXIT_CALLBACK; if (!(d->cb && d->cb->func[EXIT_CALLBACK] == NO_CALLBACK)) { d->status = EXIT_CALLBACK; popYomiMode(d); } } return retval; } static checkIfYomiQuit(d, retval) uiContext d; int retval; /* ARGSUSED */ { #ifdef QUIT_IN_YOMI /* ¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ëÌÜŪ¤Î ifdef */ yomiContext yc = (yomiContext)d->modec; if (d->cb && d->cb->func[QUIT_CALLBACK] == NO_CALLBACK) { /* ¥³¡¼¥ë¥Ð¥Ã¥¯¤¬¤Ê¤¤¾ì¹ç ¤³¤ó¤Ê¥Á¥§¥Ã¥¯¤ò¿ÆÀڤ˹Ԥ¦¤Î¤Ï¡¢ÆÉ¤ß¥â¡¼¥É¤¬Èó¾ï¤Ë´ðËÜŪ¤Ê¥â¡¼¥É ¤Ç¤¢¤ê¡¢´°Á´¤ËÈ´¤±¤ë¤È¤­¤Ë¤ï¤¶¤ï¤¶¥Ý¥Ã¥×¥¢¥Ã¥×¤·¤Æ¤â¤¹¤°¤Ë¥×¥Ã¥·¥å ¤¹¤ë¾ì¹ç¤¬Â¿¤¤¤È¹Í¤¨¤é¤ì¤Æ½èÍý¤¬ÌµÂ̤À¤«¤é¤Ç¤¢¤ë¡£ */ } else { d->status = QUIT_CALLBACK; popYomiMode(d); } #endif /* QUIT_IN_YOMI */ return retval; } #ifdef __STDC__ void fitmarks(yomiContext); #endif void fitmarks(yc) yomiContext yc; { if (yc->kRStartp < yc->pmark) { yc->pmark = yc->kRStartp; } if (yc->kRStartp < yc->cmark) { yc->cmark = yc->kRStartp; } } /* ľÁ°¤Ë̤ÊÑ´¹Ê¸»úÎ󤬤ʤ¤¤«¤É¤¦¤«³Îǧ */ void ReCheckStartp(yc) yomiContext yc; { int r = yc->rStartp, k = yc->kRStartp, i; do { yc->kRStartp--; yc->rStartp--; } while ( yc->kRStartp >= 0 && !(yc->kAttr[yc->kRStartp] & HENKANSUMI) ); yc->kRStartp++; yc->rStartp++; /* ̤ÊÑ´¹Éô¤ËÀèÆ¬¥Þ¡¼¥¯¤¬ÉÕ¤¤¤Æ¤¤¤¿¾ì¹ç¤ÏÀèÆ¬¥Þ¡¼¥¯¤ò¤Ï¤º¤¹¡£ ̤ÊÑ´¹Éô¤ÎÀèÆ¬¤Ë´Ø¤·¤Æ¤ÏÀèÆ¬¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¤ª¤¯¡£ ̤ÊÑ´¹Éô¤¬¤¢¤Ã¤¿¾ì¹ç(kRStartp < k)¡¢¤½¤ì¤¬¡¢kCurs ¤è¤ê¤â º¸Â¦¤Ç¤¢¤ì¤ÐÀèÆ¬¥Õ¥é¥°¤òÍî¤È¤¹¡£ */ if (yc->kRStartp < k && k < yc->kCurs) { yc->kAttr[k] &= ~SENTOU; yc->rAttr[r] &= ~SENTOU; } for (i = yc->kRStartp + 1 ; i < k ; i++) { yc->kAttr[i] &= ~SENTOU; } for (i = yc->rStartp + 1 ; i < r ; i++) { yc->rAttr[i] &= ~SENTOU; } } extern void setMode pro((uiContext d, tanContext tan, int forw)); void removeCurrentBunsetsu(d, tan) uiContext d; tanContext tan; { if (tan->left) { tan->left->right = tan->right; d->modec = (mode_context)tan->left; d->current_mode = tan->left->curMode; setMode(d, tan->left, 0); } if (tan->right) { tan->right->left = tan->left; d->modec = (mode_context)tan->right; d->current_mode = tan->right->curMode; setMode(d, tan->right, 1); } switch (tan->id) { case YOMI_CONTEXT: freeYomiContext((yomiContext)tan); break; case TAN_CONTEXT: freeTanContext(tan); break; } } /* tabledef charKind -- ¥­¥ã¥é¥¯¥¿¤Î¼ïÎà¤Î¥Æ¡¼¥Ö¥ë 0x20 ¤«¤é 0x7f ¤Þ¤Ç¤Î¥­¥ã¥é¥¯¥¿¤Î¼ïÎà¤òɽ¤¹¥Æ¡¼¥Ö¥ë¤Ç¤¢¤ë¡£ 3: ¿ô»ú 2: £±£¶¿Ê¿ô¤È¤·¤ÆÍѤ¤¤é¤ì¤ë±Ñ»ú 1: ¤½¤ì°Ê³°¤Î±Ñ»ú 0: ¤½¤Î¾ ¤È¤Ê¤ë¡£ */ static BYTE charKind[] = { /*sp ! " # $ % & ' ( ) * + , - . / */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*0 1 2 3 4 5 6 7 8 9 : ; < = > ? */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, /*@ A B C D E F G H I J K L M N O */ 1, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, /*P Q R S T U V W X Y X [ \ ] ^ _ */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, /*` a b c d e f g h i j k l m n o */ 1, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, /*p q r s t u v w x y z { | } ~ DEL */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, }; /* YomiInsert -- ¥í¡¼¥Þ»ú¤ò£±Ê¸»úÁÞÆþ¤¹¤ë´Ø¿ô */ static makePhonoOnBuffer(); void restoreChikujiIfBaseChikuji(yc) yomiContext yc; { if (!chikujip(yc) && (yc->generalFlags & CANNA_YOMI_BASE_CHIKUJI)) { yc->generalFlags &= ~CANNA_YOMI_BASE_CHIKUJI; yc->generalFlags |= CANNA_YOMI_CHIKUJI_MODE; yc->minorMode = getBaseMode(yc); } } int YomiInsert pro((uiContext)); YomiInsert(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int subst, autoconvert = (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE); int kugiri = 0; #ifdef USE_ROMKANATABLE_FOR_KANAKEY wchar_t key = 0; #endif d->nbytes = 0; if (autoconvert) { if (yc->status & CHIKUJI_ON_BUNSETSU) { yc->status &= ~CHIKUJI_OVERWRAP; if (yc->kCurs != yc->kEndp) { yc->rStartp = yc->rCurs = yc->rEndp; yc->kRStartp = yc->kCurs = yc->kEndp; } } else { if (yc->rEndp == yc->rCurs) { yc->status &= ~CHIKUJI_OVERWRAP; } if (yc->kCurs < yc->ys) { yc->ys = yc->kCurs; } } } if (yc->allowedChars == CANNA_NOTHING_ALLOWED)/* ¤É¤Î¥­¡¼¤â¼õÉÕ¤±¤Ê¤¤ */ return NothingChangedWithBeep(d); if (yc->rEndp >= ROMAJILIMIT || yc->kEndp >= KANALIMIT /* ½Â¤¤·×»»¤ò¤·¤Æ¤¤¤ë || (chc && yc->rEndp + chc->hc->ycx->rEndp > ROMAJILIMIT)*/) { return NothingChangedWithBeep(d); } fitmarks(yc); if (0xa0 < d->ch && d->ch < 0xe0) { #ifdef USE_ROMKANATABLE_FOR_KANAKEY key = d->buffer_return[0]; #else if (yc->allowedChars == CANNA_NOTHING_RESTRICTED) { return KanaYomiInsert(d); /* callback ¤Î¥Á¥§¥Ã¥¯¤Ï KanaYomiInsert ¤Ç! */ } else { return NothingChangedWithBeep(d); } #endif } /* (d->ch & ~0x1f) == 0x1f < (unsigned char)d->ch */ if (!(d->ch & ~0x1f) && yc->allowedChars != CANNA_NOTHING_RESTRICTED || (d->ch < 0x80 ? charKind[d->ch - 0x20] : 1) < yc->allowedChars) { /* Á°¤Î¹Ô¡¢USE_ROMKANATABLE_FOR_KANAKEY ¤Î¤È¤­¤Ë¤Þ¤º¤¤ */ /* 0x20 ¤Ï¥³¥ó¥È¥í¡¼¥ë¥­¥ã¥é¥¯¥¿¤Îʬ */ return NothingChangedWithBeep(d); } if (yc->allowedChars != CANNA_NOTHING_RESTRICTED) { /* allowed all °Ê³°¤Ç¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤ï¤Ê¤¤ */ wchar_t romanBuf[4]; /* £²¥Ð¥¤¥È¤Ç½½Ê¬¤À¤È»×¤¦¤±¤É¤Í */ int len; #ifdef USE_ROMKANATABLE_FOR_KANAKEY wchar_t tempc = key ? key : (wchar_t)d->ch; #else wchar_t tempc = (wchar_t)d->ch; #endif romajiReplace(0, &tempc, 1, SENTOU); len = RkwCvtNone(romanBuf, 4, &tempc, 1); if (yc->generalFlags & CANNA_YOMI_KAKUTEI) { /* ³ÎÄꤷ¤Á¤ã¤¦ */ WStrncpy(d->buffer_return + d->nbytes, yc->kana_buffer, yc->kCurs); /* ¥í¡¼¥Þ»ú¤ÎÃÇÊÒ¤¬»Ä¤Ã¤Æ¤¤¤ë¤³¤È¤Ï¤Ê¤¤¤Î¤Ç¡¢yc->kRStartp ¤Ç¤Ê¤¯¤Æ¡¢ yc->kCurs ¤¬»È¤¨¤ë */ d->nbytes += yc->kCurs; romajiReplace(-yc->rCurs, (wchar_t *)0, 0, 0); kanaReplace(-yc->kCurs, (wchar_t *)0, 0, 0); WStrncpy(d->buffer_return + d->nbytes, romanBuf, len); d->nbytes += len; len = 0; } kanaReplace(0, romanBuf, len, HENKANSUMI); yc->kAttr[yc->kRStartp] |= SENTOU; yc->rStartp = yc->rCurs; yc->kRStartp = yc->kCurs; } else { /* ¥í¡¼¥Þ»ú¥«¥ÊÊÑ´¹¤¹¤ë¾ì¹ç */ #ifdef USE_ROMKANATABLE_FOR_KANAKEY wchar_t tempc = key ? key : (wchar_t)d->ch; #else wchar_t tempc = (wchar_t)d->ch; #endif int ppos; if (cannaconf.BreakIntoRoman) yc->generalFlags |= CANNA_YOMI_BREAK_ROMAN; /* ľÁ°¤Ë̤ÊÑ´¹Ê¸»úÎ󤬤ʤ¤¤«¤É¤¦¤«³Îǧ */ if (yc->kCurs == yc->kRStartp) { ReCheckStartp(yc); } /* ¤Þ¤º¥«¡¼¥½¥ëÉôʬ¤Ë¥í¡¼¥Þ»ú¤ò£±Ê¸»úÆþ¤ì¤ë */ romajiReplace(0, &tempc, 1, (yc->rStartp == yc->rCurs) ? SENTOU : 0); ppos = yc->kRStartp; kanaReplace(0, &tempc, 1, (yc->kRStartp == yc->kCurs) ? SENTOU : 0); #ifdef USE_ROMKANATABLE_FOR_KANAKEY kugiri = makePhonoOnBuffer(d, yc, key ? key : (unsigned char)d->ch, 0, 0); #else kugiri = makePhonoOnBuffer(d, yc, (unsigned char)d->ch, 0, 0); #endif if (kugiri && autoconvert) { if (ppos < yc->ys) { yc->ys = ppos; } if ((subst = ChikujiSubstYomi(d)) < 0) { makeGLineMessageFromString(d, jrKanjiError); if (subst == -2) { TanMuhenkan(d); } else { makeYomiReturnStruct(d); } return 0; /* ²¼¤Þ¤Ç¹Ô¤«¤Ê¤¯¤Æ¤¤¤¤¤Î¤«¤Ê¤¢ */ } } } debug_yomi(yc); makeYomiReturnStruct(d); if (!yc->kEndp && !(autoconvert && yc->nbunsetsu)) { if (yc->left || yc->right) { removeCurrentBunsetsu(d, (tanContext)yc); } else { /* ̤³ÎÄêʸ»úÎó¤¬Á´¤¯¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ê¤é¡¢¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } currentModeInfo(d); } return d->nbytes; } /* cfuncdef findSup -- supkey ¤ÎÃæ¤«¤é¥­¡¼¤Ë°ìÃפ¹¤ë¤â¤Î¤òõ¤¹¡£ ÊÖ¤ëÃÍ¤Ï supkey ¤ÎÃæ¤Ç key ¤¬°ìÃפ¹¤ë¤â¤Î¤¬²¿ÈÖÌÜ¤ËÆþ¤Ã¤Æ¤¤¤ë¤«¤òɽ¤¹¡£ ²¿ÈÖÌܤȸÀ¤¦¤Î¤Ï£±¤«¤é»Ï¤Þ¤ëÃÍ¡£ ¸«¤Ä¤«¤é¤Ê¤¤»þ¤Ï£°¤òÊÖ¤¹¡£ */ int findSup pro((wchar_t)); #ifdef __STDC__ findSup(wchar_t key) #else findSup(key) wchar_t key; #endif { int i; extern nkeysup; for (i = 0 ; i < nkeysup ; i++) { if (key == keysup[i].key) { return i + 1; } } return 0; } /* cfuncdef makePhonoOnBuffer -- yomiContext ¤Î¥Ð¥Ã¥Õ¥¡¾å¤Ç¥­¡¼ÆþÎÏ¢ªÉ½²»Ê¸»úÊÑ´¹¤ò ¤¹¤ë ÊÑ´¹¤Ë¤Ò¤È¶èÀڤ꤬ÉÕ¤¤¤¿»þÅÀ¤Ç 1 ¤òÊÖ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£ ºÇ¸å¤«¤é£²¤Ä¤á¤Î flag ¤Ï RkwMapPhonogram ¤ËÅϤ¹¥Õ¥é¥°¤Ç¡¢ ºÇ¸å¤Î english ¤È¸À¤¦¤Î¤Ï±Ññ¸ì¥«¥ÊÊÑ´¹¤ò¤¹¤ë¤«¤É¤¦¤«¤òɽ¤¹¥Õ¥é¥° */ static makePhonoOnBuffer(d, yc, key, flag, english) uiContext d; yomiContext yc; unsigned char key; int flag, english; { int i, n, m, t, sm, henkanflag, prevflag, cond; int retval = 0; int sup = 0; int engflag = (english && englishdic); int engdone = 0; wchar_t *subp; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t kana_char[1024], sub_buf[1024]; #else wchar_t *kana_char, *sub_buf; kana_char = (wchar_t *)malloc(sizeof(wchar_t) * 1024); sub_buf = (wchar_t *)malloc(sizeof(wchar_t) * 1024); if (!kana_char || !sub_buf) { if (kana_char) { (void)free((char *)kana_char); } if (sub_buf) { (void)free((char *)sub_buf); } return 0; } #endif if (cannaconf.ignore_case) flag |= RK_IGNORECASE; /* ̤ÊÑ´¹¥í¡¼¥Þʸ»úÎó¤Î¤«¤ÊÊÑ´¹ */ for (;;) { #ifndef USE_ROMKANATABLE_FOR_KANAKEY if ((flag & RK_FLUSH) && yc->kRStartp != yc->kCurs && !WIsG0(yc->kana_buffer[yc->kCurs - 1])) { /* ¥¢¥¹¥­¡¼Ê¸»ú¤¬Æþ¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ê¤«¤Ã¤¿¤é */ kana_char[0] = yc->kana_buffer[yc->kRStartp]; n = m = 1; t = 0; henkanflag = HENKANSUMI; } /* Êä½õ¥Þ¥Ã¥Ô¥ó¥°¤ÎÄ´ºº */ else #endif if ((cond = (!(yc->generalFlags & CANNA_YOMI_ROMAJI) && !(yc->generalFlags & CANNA_YOMI_IGNORE_USERSYMBOLS) && (yc->kCurs - yc->kRStartp) == 1 && (sup = findSup(yc->kana_buffer[yc->kRStartp]))) ) && keysup[sup - 1].ncand > 0) { n = 1; t = 0; WStrcpy(kana_char, keysup[sup - 1].cand[0]); m = WStrlen(kana_char); /* defsymbol ¤Î¿·¤·¤¤µ¡Ç½¤ËÂбþ¤·¤¿½èÍý */ yc->romaji_buffer[yc->rStartp] = keysup[sup - 1].xkey; henkanflag = HENKANSUMI | SUPKEY; } else { if (cond) { /* && keysup[sup - 1].ncand == 0 */ /* defsymbol ¤Î¿·¤·¤¤µ¡Ç½¤ËÂбþ¤·¤¿½èÍý¡£ÆþÎÏʸ»ú¼«¿È¤òÃÖ¤­´¹¤¨¤ë */ yc->kana_buffer[yc->kRStartp] = yc->romaji_buffer[yc->rStartp] = keysup[sup - 1].xkey; } if (yc->romdic != (struct RkRxDic *)NULL && !(yc->generalFlags & CANNA_YOMI_ROMAJI)) { if (engflag && RkwMapPhonogram(englishdic, kana_char, 1024, yc->kana_buffer + yc->kRStartp, yc->kCurs - yc->kRStartp, (wchar_t)key, flag, &n, &m, &t, &yc->last_rule) && n > 0) { henkanflag = HENKANSUMI | GAIRAIGO; engdone = 1; } else if (engflag && 0 == n /* ¾å¤Î RkwMapPhonogram ¤ÇÆÀ¤¿ÃÍ */ && RkwMapPhonogram(englishdic, kana_char, 1024, yc->kana_buffer + yc->kRStartp, yc->kCurs - yc->kRStartp, (wchar_t)key, flag | RK_FLUSH, &n, &m, &t, &yc->last_rule) && n > 0) { henkanflag = HENKANSUMI | GAIRAIGO; engdone = 1; } else { engflag = 0; if (RkwMapPhonogram(yc->romdic, kana_char, 1024, yc->kana_buffer + yc->kRStartp, yc->kCurs - yc->kRStartp, (wchar_t) key, flag | RK_SOKON, &n, &m, &t, &yc->last_rule)) { /* RK_SOKON ¤òÉÕ¤±¤ë¤Î¤Ïµì¼­½ñÍÑ */ henkanflag = HENKANSUMI; } else { henkanflag = 0; } if (n > 0 && !engdone) { engflag = (english && englishdic); } } if (n == yc->kCurs - yc->kRStartp) { key = (unsigned char)0; } } else { t = 0; henkanflag = (yc->generalFlags & CANNA_YOMI_ROMAJI) ? (HENKANSUMI | STAYROMAJI) : 0; m = n = (yc->kCurs - yc->kRStartp) ? 1 : 0; WStrncpy(kana_char, yc->kana_buffer + yc->kRStartp, n); } } /* ¥í¡¼¥Þ»ú¤Î¤¦¤Á n ʸ»úʬ¥«¥Ê¤ËÊÑ´¹¤µ¤ì¤¿ */ if (n <= 0) { break; } else { int unchanged; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î·ë²Ì¤ò²Ã¹©¤¹¤ë */ if (cannaconf.abandonIllegalPhono && !henkanflag && !yc->n_susp_chars) { /* ÊÑ¤Ê¥í¡¼¥Þ»ú¤Ï¼Î¤Æ¤ë */ sm = 0; subp = sub_buf; /* t ¤¬¤¢¤ë¤Î¤Ë henkanflag ¤¬ 0 ¤Î¤³¤È¤Ã¤Æ¤Ê¤¤¤ó¤À¤±¤É¤Í */ /* WStrncpy(subp, kana_char + m, t); */ } else { sm = m; subp = kana_char; if (yc->generalFlags & (CANNA_YOMI_KATAKANA | CANNA_YOMI_HIRAGANA)) { int tempm; if (yc->generalFlags & CANNA_YOMI_KATAKANA) { tempm = RkwCvtKana(sub_buf, 1024, subp, sm); } else { tempm = RkwCvtHira(sub_buf, 1024, subp, sm); } /* Ťµ¥Á¥§¥Ã¥¯¤¬ËÜÅö¤Ï¤¤¤ë¤¬¡¢ÂÌÌܤΤȤ­¤Î½èÍý¤ò¹Í¤¨¤¿¤¯¤Ê¤¤ */ WStrncpy(sub_buf + tempm, subp + sm, t); subp = sub_buf; sm = tempm; } if (yc->generalFlags & (CANNA_YOMI_ZENKAKU | CANNA_YOMI_HANKAKU)) { int tempm; wchar_t *otherp = (subp == sub_buf) ? kana_char : sub_buf; if (yc->generalFlags & CANNA_YOMI_ZENKAKU) { tempm = RkwCvtZen(otherp, 1024, subp, sm); } else { tempm = RkwCvtHan(otherp, 1024, subp, sm); } WStrncpy(otherp + tempm, subp + sm, t); subp = otherp; sm = tempm; } if (yc->generalFlags & CANNA_YOMI_KAKUTEI) { /* ³ÎÄꤷ¤Á¤ã¤¦ */ int off; chikujiEndBun(d); WStrncpy(d->buffer_return + d->nbytes, yc->kana_buffer, yc->kRStartp); d->nbytes += yc->kRStartp; off = yc->kCurs - yc->kRStartp; yc->kRStartp = 0; yc->kCurs -= off; kanaReplace(-yc->kCurs, (wchar_t *)0, 0, 0); yc->kCurs += off; WStrncpy(d->buffer_return + d->nbytes, subp, sm); d->nbytes += sm; subp += sm; sm = 0; } } /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Î·ë²Ì¤ò¥«¥Ê¥Ð¥Ã¥Õ¥¡¤ËÆþ¤ì¤ë¡£ */ unchanged = yc->kCurs - yc->kRStartp - n; yc->kCurs -= unchanged; prevflag = (yc->kAttr[yc->kRStartp] & SENTOU); kanaReplace(-n, subp, sm + t, henkanflag); if ( prevflag ) { yc->kAttr[yc->kRStartp] |= SENTOU; } yc->kRStartp += sm; if (t == 0 && m > 0 && unchanged) { yc->kAttr[yc->kRStartp] |= SENTOU; } for (i = yc->kRStartp ; i < yc->kCurs ; i++) { yc->kAttr[i] &= ~HENKANSUMI; /* HENKANSUMI ¥Õ¥é¥°¤ò¼è¤ê½ü¤¯ */ } yc->kCurs += unchanged; if (t > 0) { /* suspend ¤·¤Æ¤¤¤ëʸ»úĹ¤Ï¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤È¤«¤Ê¥Ð¥Ã¥Õ¥¡¤È¤Î ³ÆÊ¸»ú¤ÎÂбþÉÕ¤±¤Ë±Æ¶Á¤¹¤ë¤¬¡¢¤½¤ÎÄ´À°¤ò¤¹¤ë¤¿¤á¤Î·×»» */ if (yc->n_susp_chars) { yc->n_susp_chars += t - n; } else { yc->n_susp_chars = SUSPCHARBIAS + t - n; } /* ¤Ä¤¤¤Ç¤Ë¼¡¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ÍÑ¤Ë key ¤ò¹Í¤¨¤Æ¤ß¤ë¡£ */ key = (unsigned char)yc->kana_buffer[yc->kRStartp + t]; } else if (m > 0) { /* ¥í¡¼¥Þ»ú¤È¤«¤Ê¤ÎÂбþ¤òÉÕ¤±¤ë¤¿¤á¤Î½èÍý */ int n_cor_keys = n - (yc->n_susp_chars ? yc->n_susp_chars - SUSPCHARBIAS : 0); retval = 1; /* ¤Ò¤È¶èÀڤ꤬¤Ä¤¤¤¿ */ yc->rStartp += n_cor_keys; if (cannaconf.abandonIllegalPhono && !henkanflag && !yc->n_susp_chars) { yc->rStartp -= n; unchanged = yc->rCurs - yc->rStartp - n; yc->rCurs -= unchanged; romajiReplace(-n, (wchar_t *)0, 0, 0); yc->rCurs += unchanged; retval = 0; /* ¤ä¤Ã¤Ñ¤ê¶èÀڤ꤬¤Ä¤¤¤Æ¤¤¤Ê¤¤ */ } else if (yc->generalFlags & CANNA_YOMI_KAKUTEI) { int offset = yc->rCurs - yc->rStartp; yc->rCurs -= offset; romajiReplace(-yc->rCurs, (wchar_t *)0, 0, 0); yc->rCurs += offset; retval = 0; /* ¤ä¤Ã¤Ñ¤ê¶èÀڤ꤬¤Ä¤¤¤Æ¤¤¤Ê¤¤ */ } yc->rAttr[yc->rStartp] |= SENTOU; yc->n_susp_chars = /* t ? SUSPCHARBIAS + t : (t ¤Ïɬ¤º 0)*/ 0; } } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)kana_char); (void)free((char *)sub_buf); #endif return retval; } #define KANAYOMIINSERT_BUFLEN 10 /* °Ê²¼¤Î¤¤¤¯¤Ä¤«¤Î´Ø¿ô¤ÏÈó¾ï¤ËÆüËܸì¤Ë°Í¸¤·¤Æ¤¤¤ë¡£ ¤«¤ÊÆþÎϤˤĤ¤¤Æ¤â¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤è¤¦¤Ë¤·¤Æ¡¢°Í¸Éôʬ¤ò ÇÓ½ü¤¹¤ë¤è¤¦¤Ë¤·¤¿¤¤¤â¤Î¤À */ /* dakuonP -- predicate for Japanese voiced sounds (Japanese specific) argument: ch(wchar_t): character to be inspected return value: 0: Not a voiced sound. 1: Semi voiced sound. 2: Full voiced sound. */ #define DAKUON_HV 1 #define DAKUON_FV 2 static dakuonP(ch) wchar_t ch; { static dakuon_first_time = 1; static wchar_t hv, fv; if (dakuon_first_time) { /* ÆüËܸì¸ÇÍ­¤Î½èÍý */ wchar_t buf[2]; dakuon_first_time = 0; MBstowcs(buf, "\216\336"/* Âù²» */, 2); fv = buf[0]; MBstowcs(buf, "\216\337"/* ȾÂù²» */, 2); hv = buf[0]; } if (ch == hv) { return DAKUON_HV; } else if (ch == fv) { return DAKUON_FV; } else { return 0; } } /* growDakuonP -- Âù²»¤¬ÉÕ¤¯¤«¤É¤¦¤« °ú¿ô: ch(wchar_t): Ä´¤Ù¤ëÂоݤÎʸ»ú ÊÖ¤êÃÍ: 0: ÉÕ¤«¤Ê¤¤ 1: ¡Ö¤¦¡× 2: Âù²»¤À¤±¤¬ÉÕ¤¯ 3: ȾÂù²»¤ÈÂù²»¤¬ÉÕ¤¯ */ #define GROW_U 1 #define GROW_FV 2 #define GROW_HV 3 static growDakuonP(ch) wchar_t ch; { /* ÂùÅÀ¤¬Â³¤¯²ÄǽÀ­¤¬¤¢¤ëʸ»ú¤Î½èÍý (¤¦¡¢¤«¡Á¤È¡¢¤Ï¡Á¤Û) */ static dakuon_first_time = 1; static wchar_t wu, wka, wto, wha, who; if (dakuon_first_time) { /* ÆüËܸì¸ÇÍ­¤Î½èÍý */ wchar_t buf[2]; dakuon_first_time = 0; MBstowcs(buf, "\216\263"/* ¥¦ */, 2); wu = buf[0]; MBstowcs(buf, "\216\266"/* ¥« */, 2); wka = buf[0]; MBstowcs(buf, "\216\304"/* ¥È */, 2); wto = buf[0]; MBstowcs(buf, "\216\312"/* ¥Ï */, 2); wha = buf[0]; MBstowcs(buf, "\216\316"/* ¥Û */, 2); who = buf[0]; } if (ch == wu) { return GROW_U; } else if (wka <= ch && ch <= wto) { return GROW_FV; } else if (wha <= ch && ch <= who) { return GROW_HV; } else { return 0; } } static KanaYomiInsert(d) uiContext d; { static wchar_t kana[3], *kanap; wchar_t buf1[KANAYOMIINSERT_BUFLEN], buf2[KANAYOMIINSERT_BUFLEN]; /* The array above is not so big (10 wchar_t length) 1996.6.5 kon */ wchar_t *bufp, *nextbufp; int len, replacelen, spos; yomiContext yc = (yomiContext)d->modec; int dakuon, grow_dakuon; yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN; kana[0] = (wchar_t)0; kana[1] = d->buffer_return[0]; kana[2] = (wchar_t)0; kanap = kana + 1; replacelen = 0; len = 1; romajiReplace(0, kanap, 1, SENTOU); yc->rStartp = yc->rCurs; if ((dakuon = dakuonP(kanap[0])) != 0) { /* ÂùÅÀ¤Î½èÍý */ if (yc->rCurs > 1) { kana[0] = yc->romaji_buffer[yc->rCurs - 2]; if ((grow_dakuon = growDakuonP(kana[0])) == GROW_HV || (grow_dakuon && dakuon == DAKUON_FV)) { kanap = kana; len = 2; replacelen = -1; yc->rAttr[yc->rCurs - 1] &= ~SENTOU; } } } #ifdef DEBUG if (iroha_debug) { wchar_t aho[200]; WStrncpy(aho, kana, len); aho[len] = 0; fprintf(stderr, "\312\321\264\271\301\260(%s)", aho); /* ÊÑ´¹Á° */ } #endif bufp = kanap; nextbufp = buf1; if (yc->generalFlags & CANNA_YOMI_ZENKAKU || !(yc->generalFlags & (CANNA_YOMI_ROMAJI | CANNA_YOMI_HANKAKU))) { len = RkwCvtZen(nextbufp, KANAYOMIINSERT_BUFLEN, bufp, len); bufp = nextbufp; if (bufp == buf1) { nextbufp = buf2; } else { nextbufp = buf1; } } if (!(yc->generalFlags & (CANNA_YOMI_ROMAJI | CANNA_YOMI_KATAKANA))) { /* ¤Ò¤é¤¬¤Ê¤Ë¤¹¤ë */ len = RkwCvtHira(nextbufp, KANAYOMIINSERT_BUFLEN, bufp, len); bufp = nextbufp; if (bufp == buf1) { nextbufp = buf2; } else { nextbufp = buf1; } } spos = yc->kCurs + replacelen; kanaReplace(replacelen, bufp, len, HENKANSUMI); yc->kAttr[spos] |= SENTOU; yc->kRStartp = yc->kCurs; yc->rStartp = yc->rCurs; if (growDakuonP(yc->romaji_buffer[yc->rCurs - 1])) { yc->kRStartp--; yc->rStartp--; } if (yc->generalFlags & CANNA_YOMI_KAKUTEI) { /* ³ÎÄê¥â¡¼¥É¤Ê¤é */ int off, i; for (i = len = 0 ; i < yc->kRStartp ; i++) { if (yc->kAttr[i] & SENTOU) { do { len++; } while (!(yc->rAttr[len] & SENTOU)); } } if (yc->kRStartp < d->n_buffer) { WStrncpy(d->buffer_return, yc->kana_buffer, yc->kRStartp); d->nbytes = yc->kRStartp; } else { d->nbytes = 0; } off = yc->kCurs - yc->kRStartp; yc->kCurs -= off; kanaReplace(-yc->kCurs, (wchar_t *)0, 0, 0); yc->kCurs += off; off = yc->rCurs - len; yc->rCurs -= off; romajiReplace(-yc->rCurs, (wchar_t *)0, 0, 0); yc->rCurs += off; } else { d->nbytes = 0; } if (yc->rStartp == yc->rCurs && yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE && ChikujiSubstYomi(d) == -1) { makeRkError(d, "\303\340\274\241\312\321\264\271\244\313\274\272\307\324" "\244\267\244\336\244\267\244\277"); /* Ã༡ÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return 0; } makeYomiReturnStruct(d); if (yc->kEndp <= yc->cStartp && !((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && yc->nbunsetsu)) { if (yc->left || yc->right) { removeCurrentBunsetsu(d, (tanContext)yc); } else { /* ̤³ÎÄêʸ»úÎó¤¬Á´¤¯¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ê¤é¡¢¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } currentModeInfo(d); } return d->nbytes; } #undef KANAYOMIINSERT_BUFLEN void moveStrings(str, attr, start, end, distance) wchar_t *str; BYTE *attr; int start, end, distance; { int i; if (distance > 0) { /* ¸å¤í¤Ë¤º¤ì¤ì¤Ð */ for (i = end ; start <= i ; i--) { /* ¸å¤í¤«¤é¤º¤é¤¹ */ str[i + distance] = str[i]; attr[i + distance] = attr[i]; } } else if (distance < 0) { /* Á°¤Ë¤º¤ì¤ì¤Ð */ for (i = start ; i <= end ; i++) { /* Á°¤«¤é¤º¤é¤¹ */ str[i + distance] = str[i]; attr[i + distance] = attr[i]; } } /* else { ¤Ê¤Ë¤â¤·¤Ê¤¤ } */ } static howFarToGoBackward(yc) yomiContext yc; { if (yc->kCurs <= yc->cStartp) { return 0; } if (!cannaconf.ChBasedMove) { BYTE *st = yc->kAttr; BYTE *cur = yc->kAttr + yc->kCurs; BYTE *p = cur; for (--p ; p > st && !(*p & SENTOU) ;) { --p; } if (yc->kAttr + yc->cStartp > p) { p = yc->kAttr + yc->cStartp; } return cur - p; } return 1; } static howFarToGoForward(yc) yomiContext yc; { if (yc->kCurs == yc->kEndp) { return 0; } if (!cannaconf.ChBasedMove) { BYTE *end = yc->kAttr + yc->kEndp; BYTE *cur = yc->kAttr + yc->kCurs; BYTE *p = cur; for (++p ; p < end && !(*p & SENTOU) ;) { p++; } return p - cur; } return 1; } static int YomiBackward pro((uiContext)); static int YomiBackward(d) /* ¥«¡¼¥½¥ë¤Îº¸°Üư */ uiContext d; { yomiContext yc = (yomiContext)d->modec; int howManyMove; d->nbytes = 0; if (forceRomajiFlushYomi(d)) return(d->nbytes); if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && !(yc->status & CHIKUJI_OVERWRAP) && yc->nbunsetsu) { /* ¥ª¡¼¥Ð¥é¥Ã¥×¤¸¤ã¤Ê¤¤¤Ê¤é */ yc->status |= CHIKUJI_OVERWRAP; moveToChikujiTanMode(d); return TanBackwardBunsetsu(d); } howManyMove = howFarToGoBackward(yc); if (howManyMove) { yc->kCurs -= howManyMove; if (yc->kCurs < yc->kRStartp) yc->kRStartp = yc->kCurs; /* ̤³ÎÄê¥í¡¼¥Þ»ú¥«¡¼¥½¥ë¤â¤º¤é¤¹ */ /* ¤«¤Ê¤Î¥Ý¥¤¥ó¥¿¤¬ÊÑ´¹¤µ¤ì¤¿¤È¤­¤ÎÅÓÃæ¤Î¥Ç¡¼¥¿¤Ç¤Ê¤¤¾ì¹ç (¤Ä¤Þ¤êÊÑ´¹¤Î»þ¤ËÀèÆ¬¤Î¥Ç¡¼¥¿¤À¤Ã¤¿¾ì¹ç)¤Ë¤Ï¥í¡¼¥Þ»ú¤Î ¥«¡¼¥½¥ë¤â¤º¤é¤¹ */ if (yc->kAttr[yc->kCurs] & SENTOU) { while ( yc->rCurs > 0 && !(yc->rAttr[--yc->rCurs] & SENTOU) ) /* EMPTY */ ; if (yc->rCurs < yc->rStartp) yc->rStartp = yc->rCurs; } } else if (yc->nbunsetsu) { /* ʸÀ᤬¤¢¤ë¤Ê¤é(Ã༡) */ yc->curbun = yc->nbunsetsu - 1; if (RkwGoTo(yc->context, yc->nbunsetsu - 1) == -1) { /* ºÇ¸åÈøÊ¸Àá¤Ø */ return makeRkError(d, "\312\270\300\341\244\316\260\334\306\260\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } yc->kouhoCount = 0; moveToChikujiTanMode(d); } else if (yc->left) { return TbBackward(d); } else if (!cannaconf.CursorWrap) { return NothingChanged(d); } else if (yc->right) { return TbEndOfLine(d); } else { yc->kCurs = yc->kRStartp = yc->kEndp; yc->rCurs = yc->rStartp = yc->rEndp; } yc->status |= CHIKUJI_OVERWRAP; makeYomiReturnStruct(d); return 0; } static YomiNop pro((uiContext)); static YomiNop(d) uiContext d; { /* currentModeInfo ¤Ç¥â¡¼¥É¾ðÊó¤¬É¬¤ºÊÖ¤ë¤è¤¦¤Ë¥À¥ß¡¼¤Î¥â¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯ */ d->majorMode = d->minorMode = CANNA_MODE_AlphaMode; currentModeInfo(d); makeYomiReturnStruct(d); return 0; } static YomiForward pro((uiContext)); static YomiForward(d) /* ¥«¡¼¥½¥ë¤Î±¦°Üư */ uiContext d; { yomiContext yc = (yomiContext)d->modec; int howManyMove; d->nbytes = 0; if (forceRomajiFlushYomi(d)) return(d->nbytes); if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && !(yc->status & CHIKUJI_OVERWRAP) && yc->nbunsetsu) { yc->status |= CHIKUJI_OVERWRAP; moveToChikujiTanMode(d); return TanForwardBunsetsu(d); } howManyMove = howFarToGoForward(yc); if (howManyMove) { if (yc->kAttr[yc->kCurs] & SENTOU) { /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹»þÀèÆ¬¤À¤Ã¤¿ */ while ( !yc->rAttr[++yc->rCurs] ) /* EMPTY */ ; /* ¼¡¤ÎÀèÆ¬¤Þ¤Ç¤º¤é¤¹ */ yc->rStartp = yc->rCurs; } yc->kCurs += howManyMove; /* ²èÌÌ¤ÎÆþÎϰÌÃÖ ¥«¡¼¥½¥ë¤ò±¦¤Ë¤º¤é¤¹ */ yc->kRStartp = yc->kCurs; yc->status &= ~CHIKUJI_ON_BUNSETSU; } else if (yc->right) { return TbForward(d); } else if (!cannaconf.CursorWrap) { return NothingChanged(d); } else if (yc->left) { return TbBeginningOfLine(d); } else if (yc->nbunsetsu) { /* ʸÀ᤬¤¢¤ë(Ã༡) */ yc->kouhoCount = 0; yc->curbun = 0; if (RkwGoTo(yc->context, 0) == -1) { return makeRkError(d, "\312\270\300\341\244\316\260\334\306\260\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } moveToChikujiTanMode(d); } else { yc->kRStartp = yc->kCurs = yc->rStartp = yc->rCurs = 0; } yc->status |= CHIKUJI_OVERWRAP; makeYomiReturnStruct(d); return 0; } static YomiBeginningOfLine pro((uiContext)); static YomiBeginningOfLine(d) /* ¥«¡¼¥½¥ë¤Îº¸Ã¼°Üư */ uiContext d; { yomiContext yc = (yomiContext)d->modec; d->nbytes = 0; if (forceRomajiFlushYomi(d)) return(d->nbytes); if (yc->left) { return TbBeginningOfLine(d); } else if (yc->nbunsetsu) { /* Ã༡¤Çº¸Â¦¤ËʸÀ᤬¤¢¤ë¤Ê¤é */ yc->kouhoCount = 0; if (RkwGoTo(yc->context, 0) < 0) { return makeRkError(d, "\312\270\300\341\244\316\260\334\306\260\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } yc->curbun = 0; moveToChikujiTanMode(d); } else { yc->kRStartp = yc->kCurs = yc->cStartp; yc->rStartp = yc->rCurs = yc->cRStartp; } yc->status |= CHIKUJI_OVERWRAP; makeYomiReturnStruct(d); return(0); } static YomiEndOfLine pro((uiContext)); static YomiEndOfLine(d) /* ¥«¡¼¥½¥ë¤Î±¦Ã¼°Üư */ uiContext d; { yomiContext yc = (yomiContext)d->modec; d->nbytes = 0; if (forceRomajiFlushYomi(d)) return(d->nbytes); if (yc->right) { return TbEndOfLine(d); } else { yc->kRStartp = yc-> kCurs = yc->kEndp; yc->rStartp = yc-> rCurs = yc->rEndp; yc->status &= ~CHIKUJI_ON_BUNSETSU; yc->status |= CHIKUJI_OVERWRAP; } makeYomiReturnStruct(d); return 0; } int forceRomajiFlushYomi(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->kCurs != yc->kRStartp) { d->nbytes = 0; if (RomajiFlushYomi(d, (wchar_t *)NULL, 0) == 0) { /* empty mode */ d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = 0; /* ¾å¤Î ch ¤Ç¼¨¤µ¤ì¤ë½èÍý¤ò¤»¤è */ return(1); } } return(0); } /* RomajiFlushYomi(d, buffer, bufsize) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô * * ¤³¤Î´Ø¿ô¤Ï¡¢(uiContext)d ¤ËÃߤ¨¤é¤ì¤Æ¤¤¤ëÆÉ¤ß¤Î¾ðÊó * (yc->romaji_buffer ¤È yc->kana_buffer)¤òÍѤ¤¤Æ¡¢buffer ¤Ë¤½¤ÎÆÉ¤ß¤ò¥Õ * ¥é¥Ã¥·¥å¤·¤¿·ë²Ì¤òÊÖ¤¹´Ø¿ô¤Ç¤¢¤ë¡£¥Õ¥é¥Ã¥·¥å¤·¤¿·ë²Ì¤Îʸ»úÎó¤ÎŤµ * ¤Ï¤³¤Î´Ø¿ô¤ÎÊÖ¤êÃͤȤ·¤ÆÊÖ¤µ¤ì¤ë¡£ * * buffer ¤È¤·¤Æ NULL ¤¬»ØÄꤵ¤ì¤¿»þ¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤ËÂФ¹¤ë³ÊǼ¤Ï¹Ô¤ï¤Ê¤¤ * * ¡ÚºîÍÑ¡Û * * ÆÉ¤ß¤ò³ÎÄꤹ¤ë * * ¡Ú°ú¿ô¡Û * * d (uiContext) ¥«¥Ê´Á»úÊÑ´¹¹½Â¤ÂÎ * buffer (char *) ÆÉ¤ß¤òÊÖ¤¹¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡ (NULL ²Ä) * * ¡ÚÌá¤êÃÍ¡Û * * buffer ¤Ë³ÊǼ¤·¤¿Ê¸»úÎó¤ÎŤµ(¥Ð¥¤¥ÈĹ) * * ¡ÚÉûºîÍÑ¡Û * */ RomajiFlushYomi(d, b, bsize) uiContext d; wchar_t *b; int bsize; { int ret; yomiContext yc = (yomiContext)d->modec; yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN; makePhonoOnBuffer(d, yc, (unsigned char)0, RK_FLUSH, 0); yc->n_susp_chars = 0; /* ¾å¤Î¹Ô¤ÇÊݾڤµ¤ì¤ë¤«¤âÃΤì¤Ê¤¤ */ yc->last_rule = 0; ret = yc->kEndp - yc->cStartp; /* ¤½¤Î·ë²Ì¤¬¤³¤Î´Ø¿ô¤ÎÊÖ¤êÃͤˤʤë */ if (b) { if (bsize > ret) { WStrncpy(b, yc->kana_buffer + yc->cStartp, ret); b[ret] = '\0'; } else { WStrncpy(b, yc->kana_buffer + yc->cStartp, bsize); ret = bsize; } } if (ret == 0) { /* ÆÉ¤ß¤¬Ìµ¤¯¤Ê¤Ã¤¿¤Î¤Ê¤é¥¨¥ó¥×¥Æ¥£¥â¡¼¥É¤Ø */ d->current_mode = yc->curMode = yc->myEmptyMode; /* ¤â¤Ã¤È¤¤¤í¤¤¤í¥¯¥ê¥¢¤·¤¿Êý¤¬Îɤ¤¤ó¤¸¤ã¤Ê¤¤¤Î */ } return ret; } static int saveFlags pro((yomiContext)); static int saveFlags(yc) yomiContext yc; { if (!(yc->savedFlags & CANNA_YOMI_MODE_SAVED)) { yc->savedFlags = (yc->generalFlags & (CANNA_YOMI_ATTRFUNCS | CANNA_YOMI_BASE_HANKAKU)) | CANNA_YOMI_MODE_SAVED; yc->savedMinorMode = yc->minorMode; return 1; } else { return 0; } } void restoreFlags(yc) yomiContext yc; { yc->generalFlags &= ~(CANNA_YOMI_ATTRFUNCS | CANNA_YOMI_BASE_HANKAKU); yc->generalFlags |= yc->savedFlags & (CANNA_YOMI_ATTRFUNCS | CANNA_YOMI_BASE_HANKAKU); yc->savedFlags = (long)0; yc->minorMode = yc->savedMinorMode; } /* doYomiKakutei -- ÆÉ¤ß¤ò³ÎÄꤵ¤»¤ëưºî¤ò¤¹¤ë¡£ retval 0 -- ÌäÂê̵¤¯³ÎÄꤷ¤¿¡£ 1 -- ³ÎÄꤷ¤¿¤é¤Ê¤¯¤Ê¤Ã¤¿¡£ -1 -- ¥¨¥é¡¼¡© */ static int doYomiKakutei(d) uiContext d; { int len; len = RomajiFlushYomi(d, (wchar_t *)0, 0); if (len == 0) { return 1; } return 0; } int xString(str, len, s, e) wchar_t *str, *s, *e; int len; { if (e < s + len) { len = e - s; } WStrncpy(s, str, len); return len; } static int xYomiKakuteiString(yc, s, e) yomiContext yc; wchar_t *s, *e; { return xString(yc->kana_buffer + yc->cStartp, yc->kEndp - yc->cStartp, s, e); } static int xYomiYomi(yc, s, e) yomiContext yc; wchar_t *s, *e; { return xString(yc->kana_buffer, yc->kEndp, s, e); } static int xYomiRomaji(yc, s, e) yomiContext yc; wchar_t *s, *e; { return xString(yc->romaji_buffer, yc->rEndp, s, e); } static void finishYomiKakutei(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); } } int appendTan2Yomi(tan, yc) tanContext tan; yomiContext yc; { int klen, rlen; klen = WStrlen(tan->yomi); rlen = WStrlen(tan->roma); if (yc->kEndp + klen < ROMEBUFSIZE && yc->rEndp + rlen < ROMEBUFSIZE) { WStrcpy(yc->kana_buffer + yc->kEndp, tan->yomi); WStrcpy(yc->romaji_buffer + yc->rEndp, tan->roma); bcopy(tan->kAttr, yc->kAttr + yc->kEndp, (klen + 1) * sizeof(BYTE)); bcopy(tan->rAttr, yc->rAttr + yc->rEndp, (rlen + 1) * sizeof(BYTE)); yc->rEndp += rlen; yc->kEndp += klen; return 1; } return 0; } static appendYomi2Yomi(yom, yc) yomiContext yom, yc; { int rlen, klen; rlen = yom->rEndp; klen = yom->kEndp; if (yc->kEndp + klen < ROMEBUFSIZE && yc->rEndp + rlen < ROMEBUFSIZE) { yom->romaji_buffer[rlen] = (wchar_t)'\0'; yom->kana_buffer[klen] = (wchar_t)'\0'; WStrcpy(yc->romaji_buffer + yc->rEndp, yom->romaji_buffer); WStrcpy(yc->kana_buffer + yc->kEndp, yom->kana_buffer); bcopy(yom->kAttr, yc->kAttr + yc->kEndp, (klen + 1) * sizeof(BYTE)); bcopy(yom->rAttr, yc->rAttr + yc->rEndp, (rlen + 1) * sizeof(BYTE)); yc->rEndp += rlen; yc->kEndp += klen; return 1; } return 0; } yomiContext dupYomiContext(yc) yomiContext yc; { yomiContext res; res = newYomiContext((wchar_t *)NULL, 0, /* ·ë²Ì¤Ï³ÊǼ¤·¤Ê¤¤ */ CANNA_NOTHING_RESTRICTED, (int)!CANNA_YOMI_CHGMODE_INHIBITTED, (int)!CANNA_YOMI_END_IF_KAKUTEI, CANNA_YOMI_INHIBIT_NONE); if (res) { res->generalFlags = yc->generalFlags; res->status = yc->status; res->majorMode = yc->majorMode; res->minorMode = yc->minorMode; res->myMinorMode = yc->myMinorMode; res->curMode = yc->curMode; res->myEmptyMode = yc->myEmptyMode; res->romdic = yc->romdic; res->next = yc->next; res->prevMode = yc->prevMode; appendYomi2Yomi(yc, res); } return res; } /* doMuhenkan -- ̵ÊÑ´¹½èÍý¤ò¤¹¤ë¡£ yc ¤«¤é±¦¤Î tanContext/yomiContext ¤ò¥Ü¥Ä¤Ë¤·¤Æ¡¢¤½¤Î¤Ê¤«¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤¿ ÆÉ¤ß¤ò yc ¤Ë¤¯¤Ã¤Ä¤±¤ë¡£ */ void doMuhenkan(d, yc) uiContext d; yomiContext yc; { tanContext tan, netan, st = (tanContext)yc; yomiContext yom; /* ¤Þ¤ºÌµÊÑ´¹½àÈ÷½èÍý¤ò¤¹¤ë */ for (tan = st ; tan ; tan = tan->right) { if (tan->id == YOMI_CONTEXT) { yom = (yomiContext)tan; d->modec = (mode_context)yom; if (yom->nbunsetsu || (yom->generalFlags & CANNA_YOMI_CHIKUJI_MODE)) { tanMuhenkan(d, -1); } if (yom->jishu_kEndp) { leaveJishuMode(d, yom); } /* else ÆÉ¤ß¥â¡¼¥É¤Ç¤Ï¤Ê¤Ë¤â¤¹¤ëɬÍפ¬¤Ê¤¤¡£ */ } } /* ¼¡¤ËÆÉ¤ß¤Ê¤É¤Îʸ»ú¤ò¼è¤ê½Ð¤¹ */ for (tan = st ; tan ; tan = netan) { netan = tan->right; if (tan->id == TAN_CONTEXT) { appendTan2Yomi(tan, yc); freeTanContext(tan); } else if (tan->id == YOMI_CONTEXT) { if ((yomiContext)tan != yc) { appendYomi2Yomi((yomiContext)tan, yc); freeYomiContext((yomiContext)tan); } } } yc->rCurs = yc->rStartp = yc->rEndp; yc->kCurs = yc->kRStartp = yc->kEndp; yc->right = (tanContext)0; d->modec = (mode_context)yc; } static int xTanKakuteiString(yc, s, e) yomiContext yc; wchar_t *s, *e; { wchar_t *ss = s; int i, len, nbun; nbun = yc->bunlen ? yc->curbun : yc->nbunsetsu; for (i = 0 ; i < nbun ; i++) { RkwGoTo(yc->context, i); len = RkwGetKanji(yc->context, s, (int)(e - s)); if (len < 0) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\245\253\245\354\245\363\245\310\270\365\312\344\244\362" "\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307" "\244\267\244\277"; /* ¥«¥ì¥ó¥È¸õÊä¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ } else { s += len; } } RkwGoTo(yc->context, yc->curbun); if (yc->bunlen) { len = yc->kEndp - yc->kanjilen; if (((int)(e - s)) < len) { len = (int)(e - s); } WStrncpy(s, yc->kana_buffer + yc->kanjilen, len); s += len; } if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && yc->cStartp < yc->kEndp) { len = xYomiKakuteiString(yc, s, e); s += len; } return (int)(s - ss); } static int doJishuKakutei(d, yc) uiContext d; yomiContext yc; { exitJishu(d); yc->jishu_kEndp = 0; return 0; } typedef struct _autoDefRec { struct _autoDefRec *next; int ishira; wchar_t yomibuf[ROMEBUFSIZE]; wchar_t kanabuf[ROMEBUFSIZE]; } autoDefRec, *autoDef; /* doKakutei -- ³ÎÄê½èÍý¤ò¤¹¤ë¡£ st ¤«¤é et ¤ÎľÁ°¤Þ¤Ç¤Î tanContext/yomiContext ¤ò³ÎÄꤵ¤»¤ë s ¤«¤é e ¤ÎÈϰϤ˳ÎÄê·ë²Ì¤¬³ÊǼ¤µ¤ì¤ë¡£ yc_return ¤Ï yomiContext ¤ò°ì¤Ä»Ä¤·¤ÆÍߤ·¤¤¾ì¹ç¤Ë¡¢»Ä¤Ã¤¿ yomiContext ¤ò³ÊǼ¤·¤ÆÊÖ¤¹¤¿¤á¤Î¥¢¥É¥ì¥¹¡£yc_return ¤¬¥Ì¥ë¤Ê¤é¡¢²¿¤â»Ä¤µ¤º free ¤¹¤ë¡£ et->left ¤Ï¸Æ¤Ó½Ð¤·¤¿¤È¤³¤í¤Ç 0 ¤Ë¤¹¤ë¤³¤È¡£ ³ÎÄꤷ¤¿Ê¸»ú¤ÎŤµ¤¬ÊÖ¤µ¤ì¤ë¡£ ¤³¤Î´Ø¿ô¤ò¸Æ¤ó¤À¤é d->modec ¤¬²õ¤ì¤Æ¤¤¤ë¤Î¤ÇÆþ¤ìľ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ */ int doKakutei(d, st, et, s, e, yc_return) uiContext d; tanContext st, et; wchar_t *s, *e; yomiContext *yc_return; { tanContext tan, netan; yomiContext yc; int len, res; wchar_t *ss = s; extern int auto_define; autoDef autotop = NULL, autocur; KanjiMode kmsv = d->current_mode; /* ¤Þ¤º³ÎÄê½àÈ÷½èÍý¤ò¤¹¤ë */ for (tan = st ; tan != et ; tan = tan->right) { if (tan->id == YOMI_CONTEXT) { yc = (yomiContext)tan; d->modec = (mode_context)yc; if (yc->jishu_kEndp) { autocur = NULL; if (auto_define && (yc->jishu_kc == JISHU_ZEN_KATA #ifdef HIRAGANAAUTO || yc->jishu_kc == JISHU_HIRA #endif )) autocur = (autoDef)malloc(sizeof(autoDefRec)); if (autocur) { WStrcpy(autocur->yomibuf, yc->kana_buffer); autocur->ishira = (yc->jishu_kc == JISHU_HIRA); } doJishuKakutei(d, yc); if (autocur) { WStrcpy(autocur->kanabuf, yc->kana_buffer); autocur->next = autotop; autotop = autocur; } } else if (!yc->bunlen && /* ʸÀá¿­¤Ð¤·½Ì¤áÃæ */ (!yc->nbunsetsu || /* ´Á»ú¤¬¤Ê¤¤¤«... */ (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE && yc->cStartp < yc->kEndp))) { /* ÆÉ¤ß¤¬¤Þ¤À¤¢¤ë .. */ long savedFlag = yc->generalFlags; yc->generalFlags &= ~CANNA_YOMI_KAKUTEI; /* base-kakutei ¤À¤È doYomiKakutei() ¤¬¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë RomajiFlushYomi() ¤ÎÃæ¤Ç³ÎÄêʸ»úÎó¤¬È¯À¸¤·¡¢ ½èÍý¤¬ÌÌÅݤˤʤë¤Î¤Ç¤È¤ê¤¢¤¨¤º base-kakutei ¤ò¿²¤»¤ë */ doYomiKakutei(d); yc->generalFlags = savedFlag; } } } /* doJishuKakutei,doYomiKakutei¤Çempty_mode¤ËÆþ¤ë¤³¤È¤¬¤¢¤ë */ d->current_mode = kmsv; /* ¼¡¤Ë³ÎÄêʸ»ú¤ò¼è¤ê½Ð¤¹ */ for (tan = st ; tan != et ; tan = tan->right) { if (tan->id == TAN_CONTEXT) { len = extractTanString(tan, s, e); } else if (tan->id == YOMI_CONTEXT) { yc = (yomiContext)tan; d->modec = (mode_context)yc; if (yc->nbunsetsu || (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE)) { len = xTanKakuteiString(yc, s, e); } else { /* else ¤Ã¤Æ¤³¤È¤Ï¡¢ÆÉ¤ß¾õÂÖ¤·¤«¤Ê¤¤ */ len = xYomiKakuteiString(yc, s, e); } } s += len; } res = (int)(s - ss); if (s < e) { *s++ = (wchar_t)'\0'; } /* yomiInfo ¤Î½èÍý¤ò¤¹¤ë */ if (yomiInfoLevel > 0) { d->kanji_status_return->info |= KanjiYomiInfo; for (tan = st ; tan != et ; tan = tan->right) { if (tan->id == TAN_CONTEXT) { len = extractTanYomi(tan, s, e); } else if (tan->id == YOMI_CONTEXT) { len = xYomiYomi((yomiContext)tan, s, e); } s += len; } if (s < e) { *s++ = (wchar_t)'\0'; } if (yomiInfoLevel > 1) { for (tan = st ; tan != et ; tan = tan->right) { if (tan->id == TAN_CONTEXT) { len = extractTanRomaji(tan, s, e); } else if (tan->id == YOMI_CONTEXT) { len = xYomiRomaji((yomiContext)tan, s, e); } s += len; } } if (s < e) { *s++ = (wchar_t)'\0'; } } /* ³ÎÄê¤Î»Ä½èÍý¤ò¹Ô¤¦ */ if (yc_return) { *yc_return = (yomiContext)0; } for (tan = st ; tan != et ; tan = netan) { netan = tan->right; if (tan->id == TAN_CONTEXT) { freeTanContext(tan); } else { /* tan->id == YOMI_CONTEXT */ yc = (yomiContext)tan; d->modec = (mode_context)yc; if (yc->nbunsetsu || (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE)) { if (yc->bunlen) { leaveAdjustMode(d, yc); } finishTanKakutei(d); } else { /* ¤Ã¤Æ¤³¤È¤Ï¡¢ÆÉ¤ß¾õÂÖ¤·¤«¤Ê¤¤ */ finishYomiKakutei(d); } if (yc_return && !*yc_return) { *yc_return = yc; } else { /* ¤È¤Ã¤Æ¤ª¤¯¤ä¤Ä¤¬¤â¤¦¤¢¤ë¤«¡¢¤¤¤é¤Ê¤¤¤Ê¤é¡¢º£¤Î¤Ï¼Î¤Æ¤ë */ /* yc->context ¤Î close ¤Ï¤¤¤é¤Ê¤¤¤Î¤«¤Ê¤¢¡£1996.10.30 º£ */ freeYomiContext(yc); } } } if (yc_return) { yc = *yc_return; if (yc) { yc->left = yc->right = (tanContext)0; } } d->modec = (mode_context)0; /* ²õ¤ì¤Æ¤¤¤ë¤«¤âÃΤì¤Ê¤¤¤Î¤Ç»È¤¤´Ö°ã¤ï¤Ê¤¤¤è¤¦¤Ë²õ¤·¿Ô¤¯¤·¤Æ¤ª¤¯ */ /* »ú¼ïÊÑ´¹¤ÇÁ´³Ñ¥«¥¿¥«¥Ê¤ò³ÎÄꤷ¤¿¤é¡¢¼«Æ°ÅÐÏ¿¤¹¤ë */ for (autocur = autotop; autocur; autocur = autocur->next) { wchar_t line[ROMEBUFSIZE]; int cnt; extern int defaultContext; extern char *kataautodic; #ifdef HIRAGANAAUTO extern char *hiraautodic; #endif WStraddbcpy(line, autocur->yomibuf, ROMEBUFSIZE); EWStrcat(line, " "); EWStrcat(line, "#T30"); EWStrcat(line, " "); cnt = WStrlen(line); WStraddbcpy(line + cnt, autocur->kanabuf, ROMEBUFSIZE - cnt); if (defaultContext == -1) { if ((KanjiInit() < 0) || (defaultContext == -1)) { jrKanjiError = KanjiInitError(); makeGLineMessageFromString(d, jrKanjiError); goto return_res; } } if (!autocur->ishira) { if (RkwDefineDic(defaultContext, kataautodic, line) != 0) { jrKanjiError = "\274\253\306\260\305\320\317\277\244\307\244\255" "\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¼«Æ°ÅÐÏ¿¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ makeGLineMessageFromString(d, jrKanjiError); goto return_res; } else { if (cannaconf.auto_sync) { (void)RkwSync(defaultContext, kataautodic); } } } else { #ifdef HIRAGANAAUTO if (RkwDefineDic(defaultContext, hiraautodic, line) != 0) { jrKanjiError = "\274\253\306\260\305\320\317\277\244\307\244\255" "\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¼«Æ°ÅÐÏ¿¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ makeGLineMessageFromString(d, jrKanjiError); goto return_res; } else { if (cannaconf.auto_sync) { (void)RkwSync(defaultContext, hiraautodic); } } #endif } } return_res: while (autotop) { autocur = autotop->next; free(autotop); autotop = autocur; } return res; } /* cutOffLeftSide -- º¸¤ÎÊý¤Î tanContext ¤ò³ÎÄꤵ¤»¤ë¡£ n -- º¸¤Ë n ¸Ä»Ä¤·¤Æ³ÎÄꤹ¤ë¡£ */ int cutOffLeftSide(d, yc, n) uiContext d; yomiContext yc; int n; { int i; tanContext tan = (tanContext)yc, st; for (i = 0 ; i < n && tan ; i++) { tan = tan->left; } if (tan && tan->left) { st = tan->left; while (st->left) { st = st->left; } d->nbytes = doKakutei(d, st, tan, d->buffer_return, d->buffer_return + d->n_buffer, (yomiContext *)0); d->modec = (mode_context)yc; tan->left = (tanContext)0; return 1; } return 0; } extern KanjiModeRec cy_mode; int YomiKakutei pro((uiContext)); int YomiKakutei(d) uiContext d; { yomiContext yc = (yomiContext)d->modec, newFilledYomiContext(); tanContext leftmost; int len, res; wchar_t *s = d->buffer_return, *e = s + d->n_buffer; mode_context next = yc->next; KanjiMode prev = yc->prevMode; long prevflags; prevflags = (yc->id == YOMI_CONTEXT) ? yc->generalFlags : ((tanContext)yc)->generalFlags; d->kanji_status_return->length = 0; d->nbytes = 0; leftmost = (tanContext)yc; while (leftmost->left) { leftmost = leftmost->left; } len = doKakutei(d, leftmost, (tanContext)0, s, e, &yc); if (!yc) { yc = newFilledYomiContext(next, prev); yc->generalFlags = prevflags; yc->minorMode = getBaseMode(yc); } d->modec = (mode_context)yc; if (!yc) { freeRomeStruct(d); return -1; /* ËÜÅö¤Ë¤³¤ì¤Ç¤¤¤¤¤Î¤«¡©¢ª¤¤¤¤ 1994.2.23 kon */ } d->current_mode = yc->curMode; d->nbytes = len; res = YomiExit(d, d->nbytes); currentModeInfo(d); return res; } /* Á´¤¯ 0 ¤Ë¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤ÇÃí°Õ */ void clearYomiContext(yc) yomiContext yc; { yc->rStartp = 0; yc->rCurs = 0; yc->rEndp = 0; yc->romaji_buffer[0] = (wchar_t)0; yc->rAttr[0] = SENTOU; yc->kRStartp = 0; yc->kCurs = 0; yc->kEndp = 0; yc->kana_buffer[0] = (wchar_t)0; yc->kAttr[0] = SENTOU; yc->pmark = yc->cmark = 0; yc->englishtype = CANNA_ENG_KANA; yc->cStartp = yc->cRStartp = 0; yc->jishu_kEndp = 0; } static int clearChikujiContext(yc) yomiContext yc; { clearYomiContext(yc); yc->status &= CHIKUJI_NULL_STATUS; yc->ys = yc->ye = yc->cStartp; clearHenkanContext(yc); return 0; } /* RomajiClearYomi(d) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô * * ¤³¤Î´Ø¿ô¤Ï¡¢(uiContext)d ¤ËÃߤ¨¤é¤ì¤Æ¤¤¤ëÆÉ¤ß¤Î¾ðÊó * ¤ò¥¯¥ê¥¢¤¹¤ë¡£ * * ¡ÚºîÍÑ¡Û * * ÆÉ¤ß¤ò¥¯¥ê¥¢¤¹¤ë¡£ * * ¡Ú°ú¿ô¡Û * * d (uiContext) ¥«¥Ê´Á»úÊÑ´¹¹½Â¤ÂÎ * * ¡ÚÌá¤êÃÍ¡Û * * ¤Ê¤·¡£ * * ¡ÚÉûºîÍÑ¡Û * * yc->rEndp = 0; * yc->kEndp = 0; Åù */ void RomajiClearYomi(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) { if (yc->context >= 0) { RkwEndBun(yc->context, 0); abandonContext(d, yc); } clearChikujiContext(yc); } else { clearYomiContext(yc); } } YomiExit(d, retval) uiContext d; int retval; { yomiContext yc = (yomiContext)d->modec; RomajiClearYomi(d); /* ³ÎÄꤷ¤Æ¤·¤Þ¤Ã¤¿¤é¡¢ÆÉ¤ß¤¬¤Ê¤¯¤Ê¤ë¤Î¤Ç¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë¡£ */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; return checkIfYomiExit(d, retval); } /* RomajiStoreYomi(d, kana) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô * * ¤³¤Î´Ø¿ô¤Ï¡¢(uiContext)d ¤ËÆÉ¤ß¤Î¾ðÊó¤ò¥¹¥È¥¢¤¹¤ë¡£ * * ¡ÚºîÍÑ¡Û * * ÆÉ¤ß¤ò³ÊǼ¤¹¤ë¡£ * * ¡Ú°ú¿ô¡Û * * d (uiContext) ¥«¥Ê´Á»úÊÑ´¹¹½Â¤ÂÎ * kana (wchar_t *) ¤«¤Êʸ»úÎó * roma (wchar_t *) ¥í¡¼¥Þ»úʸ»úÎó * ¡ÚÌá¤êÃÍ¡Û * * ¤Ê¤·¡£ * * ¡ÚÉûºîÍÑ¡Û * * yc->rEndp = WStrlen(kana); * yc->kEndp = WStrlen(kana); Åù */ void RomajiStoreYomi(d, kana, roma) uiContext d; wchar_t *kana, *roma; { int i, ylen, rlen, additionalflag; yomiContext yc = (yomiContext)d->modec; rlen = ylen = WStrlen(kana); if (roma) { rlen = WStrlen(roma); additionalflag = 0; } else { additionalflag = SENTOU; } WStrcpy(yc->romaji_buffer, (roma ? roma : kana)); yc->rStartp = rlen; yc->rCurs = rlen; yc->rEndp = rlen; WStrcpy(yc->kana_buffer, kana); yc->kRStartp = ylen; yc->kCurs = ylen; yc->kEndp = ylen; for (i = 0 ; i < rlen ; i++) { yc->rAttr[i] = additionalflag; } yc->rAttr[0] |= SENTOU; yc->rAttr[i] = SENTOU; for (i = 0 ; i < ylen ; i++) { yc->kAttr[i] = HENKANSUMI | additionalflag; } yc->kAttr[0] |= SENTOU; yc->kAttr[i] = SENTOU; } /* KanaDeletePrevious -- ¿§¡¹¤Ê¤È¤³¤í¤«¤é»È¤ï¤ì¤ë¡£ */ KanaDeletePrevious(d)/* ¥«¡¼¥½¥ë¤Îº¸¤Îʸ»ú¤Îºï½ü */ uiContext d; { int howManyDelete; int prevflag; yomiContext yc = (yomiContext)d->modec; /* ¥«¡¼¥½¥ë¤Îº¸Â¦¤òºï½ü¤¹¤ë¤Î¤À¤¬¡¢¥«¡¼¥½¥ë¤Îº¸Â¦¤¬ (1) ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÅÓÃæ¤Î¾õÂ֤Ǥ¢¤ê¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ë¤Ê¤Ã¤Æ¤¤¤ë»þ¡¢ (2) ÀèÆ¬¤Ç¤¢¤ë¤È¤­ ¤Ê¤É¤¬¹Í¤¨¤é¤ì¤ë¡£(ÍפÏÀ°Íý¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¤â¤Ã¤È¤¢¤ê¤½¤¦) */ if (!yc->kCurs) { /* º¸Ã¼¤Î¤È¤­ */ d->kanji_status_return->length = -1; return 0; } yc->last_rule = 0; howManyDelete = howFarToGoBackward(yc); if (howManyDelete > 0 && (yc->generalFlags & CANNA_YOMI_BREAK_ROMAN)) { yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN; yc->rStartp = yc->rCurs - 1; while ( yc->rStartp > 0 && !(yc->rAttr[yc->rStartp] & SENTOU) ) { yc->rStartp--; } romajiReplace (-1, (wchar_t *)NULL, 0, 0); yc->kRStartp = yc->kCurs - 1; while ( yc->kRStartp > 0 && !(yc->kAttr[yc->kRStartp] & SENTOU) ) yc->kRStartp--; prevflag = (yc->kAttr[yc->kRStartp] & SENTOU); kanaReplace(yc->kRStartp - yc->kCurs, yc->romaji_buffer + yc->rStartp, yc->rCurs - yc->rStartp, 0); yc->kAttr[yc->kRStartp] |= prevflag; yc->n_susp_chars = 0; /* ¤È¤ê¤¢¤¨¤º¥¯¥ê¥¢¤·¤Æ¤ª¤¯ */ makePhonoOnBuffer(d, yc, (unsigned char)0, 0, 0); } else { if ( yc->kAttr[yc->kCurs - howManyDelete] & HENKANSUMI ) { if (yc->kAttr[yc->kCurs - howManyDelete] & SENTOU) { /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀèÆ¬¤À¤Ã¤¿¤é */ if (yc->kAttr[yc->kCurs] & SENTOU) { int n; /* ÀèÆ¬¤À¤Ã¤¿¤é¥í¡¼¥Þ»ú¤âÀèÆ¬¥Þ¡¼¥¯¤¬Î©¤Ã¤Æ¤¤¤ë¤È¤³¤í¤Þ¤ÇÌ᤹ */ for (n = 1 ; yc->rCurs > 0 && !(yc->rAttr[--yc->rCurs] & SENTOU) ;) { n++; } moveStrings(yc->romaji_buffer, yc->rAttr, yc->rCurs + n, yc->rEndp,-n); if (yc->rCurs < yc->rStartp) { yc->rStartp = yc->rCurs; } yc->rEndp -= n; } else { yc->kAttr[yc->kCurs] |= SENTOU; } } } else { romajiReplace(-howManyDelete, (wchar_t *)NULL, 0, 0); } kanaReplace(-howManyDelete, (wchar_t *)NULL, 0, 0); } debug_yomi(yc); return(0); } static YomiDeletePrevious pro((uiContext)); static int YomiDeletePrevious(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; KanaDeletePrevious(d); if (!yc->kEndp) { if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); } if (yc->left || yc->right) { removeCurrentBunsetsu(d, (tanContext)yc); yc = (yomiContext)0; } else { /* ̤³ÎÄêʸ»úÎó¤¬Á´¤¯¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ê¤é¡¢¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } currentModeInfo(d); } else { if (yc->kCurs != yc->kRStartp) { ReCheckStartp(yc); } } if (yc) { fitmarks(yc); } makeYomiReturnStruct(d); return 0; } static YomiDeleteNext pro((uiContext)); static int YomiDeleteNext(d)/* ¥«¡¼¥½¥ë¾å¤Îʸ»ú¤Îºï½ü */ uiContext d; { int howManyDelete; yomiContext yc = (yomiContext)d->modec; if (chikujip(yc) && (yc->status & CHIKUJI_ON_BUNSETSU)) { return NothingChangedWithBeep(d); } if (yc->kCurs == yc->kEndp) { /* ±¦Ã¼¤À¤«¤é¤Ê¤Ë¤â¤·¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤Í¤§ */ d->kanji_status_return->length = -1; return 0; } fitmarks(yc); yc->last_rule = 0; howManyDelete = howFarToGoForward(yc); if (yc->kAttr[yc->kCurs] & SENTOU) { if (yc->kAttr[yc->kCurs + howManyDelete] & SENTOU) { int n = 1; while ( !(yc->rAttr[++yc->rCurs] & SENTOU) ) n++; moveStrings(yc->romaji_buffer, yc->rAttr, yc->rCurs, yc->rEndp, -n); yc->rCurs -= n; yc->rEndp -= n; } else { yc->kAttr[yc->kCurs + howManyDelete] |= SENTOU; } } kanaReplace(howManyDelete, (wchar_t *)NULL, 0, 0); /* ¤³¤³¤Þ¤Çºï½ü½èÍý */ if (yc->cStartp < yc->kEndp) { /* ÆÉ¤ß¤¬¤Þ¤À¤¢¤ë */ if (yc->kCurs < yc->ys) { yc->ys = yc->kCurs; /* ¤³¤ó¤Ê¤â¤ó¤Ç¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡© */ } } else if (yc->nbunsetsu) { /* ÆÉ¤ß¤Ï¤Ê¤¤¤¬Ê¸Àá¤Ï¤¢¤ë */ if (RkwGoTo(yc->context, yc->nbunsetsu - 1) == -1) { return makeRkError(d, "\312\270\300\341\244\316\260\334\306\260\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } yc->kouhoCount = 0; yc->curbun = yc->nbunsetsu - 1; moveToChikujiTanMode(d); } else { /* ÆÉ¤ß¤âʸÀá¤â¤Ê¤¤ */ if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); } if (yc->left || yc->right) { removeCurrentBunsetsu(d, (tanContext)yc); } else { /* ̤³ÎÄêʸ»úÎó¤¬Á´¤¯¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ê¤é¡¢¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } currentModeInfo(d); } makeYomiReturnStruct(d); return 0; } static YomiKillToEndOfLine pro((uiContext)); static int YomiKillToEndOfLine(d) /* ¥«¡¼¥½¥ë¤«¤é±¦¤Î¤¹¤Ù¤Æ¤Îʸ»ú¤Îºï½ü */ uiContext d; { yomiContext yc = (yomiContext)d->modec; romajiReplace (yc->rEndp - yc->rCurs, (wchar_t *)NULL, 0, 0); kanaReplace (yc->kEndp - yc->kCurs, (wchar_t *)NULL, 0, 0); fitmarks(yc); if (!yc->kEndp) { if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); } if (yc->left || yc->right) { removeCurrentBunsetsu(d, (tanContext)yc); } else { /* ̤³ÎÄêʸ»úÎó¤¬Á´¤¯¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ê¤é¡¢¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } currentModeInfo(d); } makeYomiReturnStruct(d); return 0; } static YomiQuit pro((uiContext)); static int YomiQuit(d)/* ÆÉ¤ß¤Î¼è¤ê¾Ã¤· */ uiContext d; { yomiContext yc = (yomiContext)d->modec; /* ̤³ÎÄêʸ»úÎó¤òºï½ü¤¹¤ë */ RomajiClearYomi(d); if (yc->left || yc->right) { removeCurrentBunsetsu(d, (tanContext)yc); } else { /* ̤³ÎÄêʸ»úÎó¤¬Á´¤¯¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; } makeYomiReturnStruct(d); currentModeInfo(d); return checkIfYomiQuit(d, 0); } coreContext newCoreContext() { coreContext cc; cc = (coreContext)malloc(sizeof(coreContextRec)); if (cc) { cc->id = CORE_CONTEXT; } return cc; } static simplePopCallback pro((uiContext, int, mode_context)); static simplePopCallback(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); currentModeInfo(d); return retval; } alphaMode(d) uiContext d; { extern KanjiModeRec alpha_mode; coreContext cc; char *bad = "\245\341\245\342\245\352\244\254\302\255\244\352\244\336" "\244\273\244\363"; /* ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó */ cc = newCoreContext(); if (cc == (coreContext)0) { makeGLineMessageFromString(d, bad); return 0; } if (pushCallback(d, d->modec, NO_CALLBACK, simplePopCallback, simplePopCallback, NO_CALLBACK) == 0) { freeCoreContext(cc); makeGLineMessageFromString(d, bad); return 0; } cc->prevMode = d->current_mode; cc->next = d->modec; cc->majorMode = cc->minorMode = CANNA_MODE_AlphaMode; d->current_mode = &alpha_mode; d->modec = (mode_context)cc; return 0; } /* Quoted Insert Mode -- °úÍÑÆþÎϥ⡼¥É¡£ ¤³¤Î¥â¡¼¥É¤Ç¤Ï¼¡¤Î°ìʸ»ú¤ÏÈݱþ̵¤·¤Ë¤½¤Î¤Þ¤ÞÆþÎϤµ¤ì¤ë¡£ */ static exitYomiQuotedInsert pro((uiContext, int, mode_context)); static exitYomiQuotedInsert(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); return retval; } static YomiInsertQuoted(d) uiContext d; { unsigned char ch; coreContext cc = (coreContext)d->modec; yomiContext yc; ch = (unsigned char)*(d->buffer_return); if (IrohaFunctionKey(ch)) { d->kanji_status_return->length = -1; d->kanji_status_return->info = 0; return 0; } else { d->current_mode = cc->prevMode; d->modec = cc->next; free(cc); yc = (yomiContext)d->modec; romajiReplace (0, d->buffer_return, d->nbytes, 0); kanaReplace (0, d->buffer_return, d->nbytes, HENKANSUMI); yc->rStartp = yc->rCurs; yc->kRStartp = yc->kCurs; makeYomiReturnStruct(d); currentModeInfo(d); d->status = EXIT_CALLBACK; return 0; } } static yomiquotedfunc pro((uiContext, KanjiMode, int, int, int)); static yomiquotedfunc(d, mode, whattodo, key, fnum) uiContext d; KanjiMode mode; int whattodo; int key; int fnum; /* ARGSUSED */ { switch (whattodo) { case KEY_CALL: return YomiInsertQuoted(d); case KEY_CHECK: return 1; case KEY_SET: return 0; } /* NOTREACHED */ } static KanjiModeRec yomi_quoted_insert_mode = { yomiquotedfunc, 0, 0, 0, }; static void yomiQuotedInsertMode(d) uiContext d; { coreContext cc; cc = newCoreContext(); if (cc == 0) { NothingChangedWithBeep(d); return; } cc->prevMode = d->current_mode; cc->next = d->modec; cc->majorMode = d->majorMode; cc->minorMode = CANNA_MODE_QuotedInsertMode; if (pushCallback(d, d->modec, NO_CALLBACK, exitYomiQuotedInsert, NO_CALLBACK, NO_CALLBACK) == (struct callback *)0) { freeCoreContext(cc); NothingChangedWithBeep(d); return; } d->modec = (mode_context)cc; d->current_mode = &yomi_quoted_insert_mode; currentModeInfo(d); return; } YomiQuotedInsert(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; d->nbytes = 0; if (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) { if (yc->status & CHIKUJI_ON_BUNSETSU) { if (yc->kEndp != yc->kCurs) { yc->rStartp = yc->rCurs = yc->rEndp; yc->kRStartp = yc->kCurs = yc->kEndp; } yc->status &= ~CHIKUJI_ON_BUNSETSU; yc->status |= CHIKUJI_OVERWRAP; } else if (yc->rEndp == yc->rCurs) { yc->status &= ~CHIKUJI_OVERWRAP; } } if (forceRomajiFlushYomi(d)) return(d->nbytes); fitmarks(yc); yomiQuotedInsertMode(d); d->kanji_status_return->length = -1; return 0; } static int mapAsKuten(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int i, j, ch, len, clen, kanalen, pos; char tmpbuf[4]; wchar_t *hexbuf; wchar_t buf[2]; static allowTwoByte = 1; tmpbuf[0] = tmpbuf[1] = tmpbuf[2] = tmpbuf[3] = '\0'; if (yc->kCurs < yc->cmark) { int tmp = yc->kCurs; yc->kCurs = yc->cmark; yc->cmark = tmp; kPos2rPos(yc, 0, yc->kCurs, (int *) 0, &tmp); yc->rCurs = tmp; } else if (yc->kCurs == yc->cmark) { yc->kCurs = yc->kRStartp = yc->kEndp; yc->rCurs = yc->rStartp = yc->rEndp; } if (*yc->romaji_buffer == 'x' || *yc->romaji_buffer == 'X') len = yc->rCurs - 1; else len = yc->rCurs; if (len > 6) { return 0; } hexbuf = yc->romaji_buffer + yc->rCurs - len; kPos2rPos(yc, 0, yc->cmark, (int *) 0, &pos); if (hexbuf < yc->romaji_buffer + pos) { if (hexbuf + 6 < yc->romaji_buffer + pos) { return 0; } } for (i = 0, j = 1; i < len; i++) { ch = *(hexbuf + i); if ('0' <= ch && ch <= '9') tmpbuf[j] = tmpbuf[j] * 10 + (ch - '0'); else if (ch == '-' && j == 1) j++; else return 0; } tmpbuf[2] = (char)((0x80 | tmpbuf[2]) + 0x20); if (tmpbuf[1] < 0x5f) { tmpbuf[1] = (char)((0x80 | tmpbuf[1]) + 0x20); } else { tmpbuf[1] = (char)((0x80 | tmpbuf[1]) - 0x5e + 0x20); tmpbuf[0] = (char)0x8f; /* SS3 */ } if ((unsigned char)tmpbuf[1] < 0xa1 || 0xfe < (unsigned char)tmpbuf[1] || (len > 2 && ((unsigned char)tmpbuf[2] < 0xa1 || 0xfe < (unsigned char)tmpbuf[2]))) { return 0; } if (hexbuf[-1] == 'x' || hexbuf[-1] == 'X') { tmpbuf[0] = (char)0x8f;/*SS3*/ len++; } if (tmpbuf[0]) { clen = MBstowcs(buf, tmpbuf, 2); } else { clen = MBstowcs(buf, tmpbuf + 1, 2); } for (i = 0, kanalen = 0 ; i < len ; i++) { if (yc->rAttr[yc->rCurs - len + i] & SENTOU) { do { kanalen++; } while (!(yc->kAttr[yc->kCurs - kanalen] & SENTOU)); yc->rAttr[yc->rCurs - len + i] &= ~SENTOU; } } yc->rAttr[yc->rCurs - len] |= SENTOU; kanaReplace(-kanalen, buf, clen, HENKANSUMI); yc->kAttr[yc->kCurs - clen] |= SENTOU; yc->kRStartp = yc->kCurs; yc->rStartp = yc->rCurs; yc->pmark = yc->cmark; yc->cmark = yc->kCurs; yc->n_susp_chars = 0; /* ¥µ¥¹¥Ú¥ó¥É¤·¤Æ¤¤¤ëʸ»ú¤¬¤¢¤ë¾ì¹ç¤¬¤¢¤ë¤Î¤Ç¥¯¥ê¥¢ */ return 1; } static int mapAsHex(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int i, ch, len = 4, clen, kanalen, pos; char tmpbuf[8], *a; wchar_t *hexbuf; wchar_t buf[2]; static allowTwoByte = 1; extern struct CannaConfig cannaconf; if (yc->kCurs < yc->cmark) { int tmp = yc->kCurs; yc->kCurs = yc->cmark; yc->cmark = tmp; kPos2rPos(yc, 0, yc->kCurs, (int *)0, &tmp); yc->rCurs = tmp; } else if (yc->kCurs == yc->cmark) { yc->kCurs = yc->kRStartp = yc->kEndp; yc->rCurs = yc->rStartp = yc->rEndp; } hexbuf = yc->romaji_buffer + yc->rCurs - 4; kPos2rPos(yc, 0, yc->cmark, (int *)0, &pos); if (hexbuf < yc->romaji_buffer + pos) { if (!allowTwoByte || hexbuf + 2 < yc->romaji_buffer + pos) { return 0; } hexbuf += 2; len = 2; } retry: for (i = 0, a = tmpbuf + 1; i < len ; i++) { ch = *(hexbuf + i); if ('0' <= ch && ch <= '9') ch -= '0'; else if ('A' <= ch && ch <= 'F') ch -= 'A' - 10; else if ('a' <= ch && ch <= 'f') ch -= 'a' - 10; else if (allowTwoByte && i < 2 && 2 < len) { hexbuf += 2; len = 2; goto retry; } else { return 0; } *a++ = ch; } if (cannaconf.code_input == CANNA_CODE_SJIS) { /* sjis ¥³¡¼¥É¤À¤Ã¤¿¤é */ char eucbuf[4]; /* SS3 ¤Î¤³¤È¤¬¤¢¤ë¤¿¤á */ tmpbuf[1] = tmpbuf[1] * 16 + tmpbuf[2]; if (len > 2) { tmpbuf[2] = tmpbuf[3] * 16 + tmpbuf[4]; tmpbuf[3] = '\0'; } else { tmpbuf[2] = '\0'; } if ((unsigned char)tmpbuf[1] < 0x81 || (0x9f < (unsigned char)tmpbuf[1] && (unsigned char)tmpbuf[1] < 0xe0) || 0xfc < (unsigned char)tmpbuf[1] || (len > 2 && ((unsigned char)tmpbuf[2] < 0x40 || 0xfc < (unsigned char)tmpbuf[2] || (unsigned char)tmpbuf[2] == 0x7f))) { return 0; } RkCvtEuc((unsigned char *)eucbuf, sizeof(eucbuf), (unsigned char *)tmpbuf + 1, 2); clen = MBstowcs(buf, eucbuf, 2); } else { tmpbuf[1] = 0x80 | (tmpbuf[1] * 16 + tmpbuf[2]); if (len > 2) { tmpbuf[2] = 0x80 | (tmpbuf[3] * 16 + tmpbuf[4]); tmpbuf[3] = '\0'; } else { tmpbuf[2] = '\0'; } if ((unsigned char)tmpbuf[1] < 0xa1 || 0xfe < (unsigned char)tmpbuf[1] || (len > 2 && ((unsigned char)tmpbuf[2] < 0xa1 || 0xfe < (unsigned char)tmpbuf[2]))) { return 0; } if (len == 2) { tmpbuf[1] &= 0x7f; } if (hexbuf > yc->romaji_buffer && len > 2 && (hexbuf[-1] == 'x' || hexbuf[-1] == 'X')) { tmpbuf[0] = (char)0x8f;/*SS3*/ len++; clen = MBstowcs(buf, tmpbuf, 2); } else { clen = MBstowcs(buf, tmpbuf + 1, 2); } } for (i = 0, kanalen = 0 ; i < len ; i++) { if (yc->rAttr[yc->rCurs - len + i] & SENTOU) { do { kanalen++; } while (!(yc->kAttr[yc->kCurs - kanalen] & SENTOU)); yc->rAttr[yc->rCurs - len + i] &= ~SENTOU; } } yc->rAttr[yc->rCurs - len] |= SENTOU; kanaReplace(-kanalen, buf, clen, HENKANSUMI); yc->kAttr[yc->kCurs - clen] |= SENTOU; yc->kRStartp = yc->kCurs; yc->rStartp = yc->rCurs; yc->pmark = yc->cmark; yc->cmark = yc->kCurs; yc->n_susp_chars = 0; /* ¥µ¥¹¥Ú¥ó¥É¤·¤Æ¤¤¤ëʸ»ú¤¬¤¢¤ë¾ì¹ç¤¬¤¢¤ë¤Î¤Ç¥¯¥ê¥¢ */ return 1; } /* ConvertAsHex -- £±£¶¿Ê¤È¤ß¤Ê¤·¤Æ¤ÎÊÑ´¹ ¥í¡¼¥Þ»úÆþÎϤµ¤ì¤ÆÈ¿Å¾É½¼¨¤µ¤ì¤Æ¤¤¤ëʸ»úÎó¤ò£±£¶¿Ê¤Çɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥³¡¼¥É¤È ¤ß¤Ê¤·¤ÆÊÑ´¹¤¹¤ë¡£ (MSB¤Ï£°¤Ç¤â£±¤Ç¤âÎɤ¤) */ static ConvertAsHex pro((uiContext)); static ConvertAsHex(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; extern struct CannaConfig cannaconf; if (yc->henkanInhibition & CANNA_YOMI_INHIBIT_ASHEX) { return NothingChangedWithBeep(d); } if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); currentModeInfo(d); } if (cannaconf.code_input != CANNA_CODE_KUTEN) { if (!mapAsHex(d)) { return NothingChangedWithBeep(d); } } else { if (!mapAsKuten(d)) { return NothingChangedWithBeep(d); } } if (yc->kCurs - 1 < yc->ys) { yc->ys = yc->kCurs - 1; } makeYomiReturnStruct(d); return 0; } /* convertAsHex £±£¶¿Ê¤Î¿ô»ú¤ò´Á»úʸ»ú¤ËÊÑ´¹ ¤³¤ì¤ÏÆâÉôŪ¤Ë»ÈÍѤ¹¤ë¤¿¤á¤Î¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£d->romaji_buffer ¤Ë´Þ¤Þ ¤ì¤ëʸ»úÎó¤ò£±£¶¿Ê¤Çɽ¤µ¤ì¤¿´Á»ú¥³¡¼¥É¤Ç¤¢¤ë¤È¤ß¤Ê¤·¤Æ¡¢¤½¤Î¥³¡¼¥É¤Ë ¤è¤Ã¤ÆÉ½¸½¤µ¤ì¤ë´Á»úʸ»ú¤ËÊÑ´¹¤¹¤ë¡£ÊÑ´¹¤·¤¿Ê¸»úÎó¤Ï buffer_return ¤Ë³ÊǼ¤¹¤ë¡£¥ê¥¿¡¼¥óÃͤϥ¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð buffer_return ¤Ë³ÊǼ¤·¤¿Ê¸ »úÎó¤ÎŤµ¤Ç¤¢¤ë(Ä̾ï¤Ï£²¤Ç¤¢¤ë)¡£¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤¤¤ë»þ¤Ï¡Ý£±¤¬³ÊǼ ¤µ¤ì¤ë¡£ ¥â¡¼¥É¤ÎÊѹ¹Åù¤Î½èÍý¤Ï¤³¤Î´Ø¿ô¤Ç¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ ¤Þ¤¿¥Ð¥Ã¥Õ¥¡¤Î¥¯¥ê¥¢¤Ê¤É¤â¹Ô¤ï¤Ê¤¤¤Î¤ÇÃí°Õ¤¹¤ë¤Ù¤­¤Ç¤¢¤ë¡£ <Ìá¤êÃÍ> Àµ¤·¤¯£±£¶¿Ê¤ËÊÑ´¹¤Ç¤­¤¿¾ì¹ç¤Ï£±¤½¤¦¤Ç¤Ê¤¤»þ¤Ï£°¤¬Ê֤롣 */ int cvtAsHex(d, buf, hexbuf, hexlen) uiContext d; wchar_t *buf, *hexbuf; int hexlen; { int i; char tmpbuf[5], *a, *b; wchar_t rch; if (hexlen != 4) { /* ÆþÎϤµ¤ì¤¿Ê¸»úÎó¤ÎŤµ¤¬£´Ê¸»ú¤Ç¤Ê¤¤¤Î¤Ç¤¢¤ì¤ÐÊÑ´¹ ¤·¤Æ¤¢¤²¤Ê¤¤ */ d->kanji_status_return->length = -1; return 0; } for (i = 0, a = tmpbuf; i < 4 ; i++) { rch = hexbuf[i]; /* ¤Þ¤º°ìʸ»ú¼è¤ê½Ð¤·¡¢£±£¶¿Ê¤Î¿ô»ú¤Ë¤¹¤ë¡£ */ if ('0' <= rch && rch <= '9') { rch -= '0'; } else if ('A' <= rch && rch <= 'F') { rch -= 'A' - 10; } else if ('a' <= rch && rch <= 'f') { rch -= 'a' - 10; } else { d->kanji_status_return->length = -1; return 0; } *a++ = (char)rch; /* ¼è¤ê´º¤¨¤ºÊݸ¤·¤Æ¤ª¤¯ */ } b = (a = tmpbuf) + 1; *a = (char)(0x80 | (*a * 16 + *b)); *(tmpbuf+1) = 0x80 | (*(a += 2) * 16 + *(b += 2)); *a = '\0'; if ((unsigned char)*tmpbuf < 0xa1 || 0xfe < (unsigned char)*tmpbuf || (unsigned char)*--a < 0xa1 || 0xfe < (unsigned char)*a) { return 0; } else { MBstowcs(buf, tmpbuf, 2); return 1; } } convertAsHex(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; return cvtAsHex(d, d->buffer_return, yc->romaji_buffer, yc->rEndp); } /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹Ê䭥롼¥Á¥ó´ØÏ¢ */ static void replaceSup2(ind, n) int ind, n; { int i; wchar_t *temp, **p; if (ind < 0) return; temp = (p = keysup[ind].cand)[n]; for (i = n ; i > 0 ; i--) { p[i] = p[i - 1]; } p[0] = temp; } static void replaceSup(ind, n) int ind, n; { int i, group; extern nkeysup; group = keysup[ind].groupid; for (i = 0 ; i < nkeysup ; i++) { if (keysup[i].groupid == group) { replaceSup2(i, n); } } } static everySupkey pro((uiContext, int, mode_context)); static everySupkey(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { ichiranContext ic = (ichiranContext)d->modec; wchar_t *cur; cur = ic->allkouho[*(ic->curIkouho)]; d->kanji_status_return->revPos = 0; d->kanji_status_return->revLen = 0; d->kanji_status_return->echoStr = cur; d->kanji_status_return->length = WStrlen(cur); return retval; } static exitSupkey pro((uiContext, int, mode_context)); static exitSupkey(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { yomiContext yc; popCallback(d); /* °ìÍ÷¤ò¥Ý¥Ã¥× */ yc = (yomiContext)d->modec; replaceSup(findSup(yc->romaji_buffer[0]) - 1, yc->cursup); #ifdef NOT_KAKUTEI yc->rCurs = yc->rStartp = yc->rEndp; yc->kCurs = yc->kEndp; kanaReplace(-yc->kEndp, d->buffer_return, retval, HENKANSUMI | SUPKEY); yc->kRStartp = yc->kCurs; yc->kAttr[0] |= SENTOU; yc->rAttr[0] |= SENTOU | HENKANSUMI; for (i = 1 ; i < retval ; i++) { yc->kAttr[i] &= ~SENTOU; } currentModeInfo(d); makeYomiReturnStruct(d); return 0; #else /* ̤³ÎÄêʸ»úÎó¤òºï½ü¤¹¤ë */ RomajiClearYomi(d); /* ̤³ÎÄêʸ»úÎó¤¬Á´¤¯¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¦Õ¥â¡¼¥É¤ËÁ«°Ü¤¹¤ë */ restoreChikujiIfBaseChikuji(yc); d->current_mode = yc->curMode = yc->myEmptyMode; d->kanji_status_return->info |= KanjiEmptyInfo; currentModeInfo(d); makeYomiReturnStruct(d); return checkIfYomiQuit(d, retval); #endif } static quitSupkey pro((uiContext, int, mode_context)); static quitSupkey(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* °ìÍ÷¤ò¥Ý¥Ã¥× */ makeYomiReturnStruct(d); currentModeInfo(d); return retval; } selectKeysup(d, yc, ind) uiContext d; yomiContext yc; int ind; { int retval; ichiranContext ic; extern nkeysup; yc->cursup = 0; retval = selectOne(d, keysup[ind].cand, &(yc->cursup), keysup[ind].ncand, BANGOMAX, (unsigned)(!cannaconf.HexkeySelect ? NUMBERING : 0), 0, WITH_LIST_CALLBACK, everySupkey, exitSupkey, quitSupkey, NO_CALLBACK); ic = (ichiranContext)d->modec; ic->majorMode = CANNA_MODE_IchiranMode; ic->minorMode = CANNA_MODE_IchiranMode; currentModeInfo(d); *(ic->curIkouho) = 0; /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if(ic->tooSmall) { d->status = AUX_CALLBACK; return(retval); } if ( !(ic->flags & ICHIRAN_ALLOW_CALLBACK) ) { makeGlineStatus(d); } return retval; } /* ³°Íè¸ìÊÑ´¹¤ò¤¹¤ë¤è¤¦¤Ê¥ê¡¼¥¸¥ç¥ó¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¡© ¤É¤ó¤Ê¤³¤È¤òÄ´¤Ù¤ë¤«¤È¸À¤¦¤È¡¢¤Þ¤º¡¢¥ê¡¼¥¸¥ç¥óÆâ¤¬³°Íè¸ìÊÑ´¹¤µ¤ì¤Æ¤¤ ¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£¼¡¤Ë¡¢¥ê¡¼¥¸¥ç¥ó¤Îξü¤¬ÀèÆ¬Ê¸»ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È ¤òÄ´¤Ù¤¿¤¤¤È¤³¤í¤À¤¬¡¢¤³¤ì¤Ï¤ä¤Ã¤Ñ¤ê¤Ï¤º¤·¤¿¡£ ³°Íè¸ì¤ÎÅÓÃæ¤«¤é¤È¤«ÅÓÃæ¤Þ¤Ç¤È¤«¤Ç mark ¤ò¹Ô¤Ã¤¿»þ¤Ë¤µ¤é¤Ë³°Íè¸ìÊÑ´¹ ¤ò¹Ô¤¦¤³¤È¤òÍÞÀ©¤¹¤ë¡£ */ static regionGairaigo(yc, s, e) yomiContext yc; int s, e; { if ((yc->kAttr[s] & SENTOU) && (yc->kAttr[e] & SENTOU)) { return 1; } else { return 0; } } /* ³°Íè¸ìÊÑ´¹ºÑ¤Î»ú¤¬Æþ¤Ã¤Æ¤¤¤ë¤«¡© */ static int containGairaigo(yc) yomiContext yc; { int i; for (i = 0 ; i < yc->kEndp ; i++) { if (yc->kAttr[i] & GAIRAIGO) { return 1; } } return 0; } containUnconvertedKey(yc) yomiContext yc; { int i, s, e; if (containGairaigo(yc)) { return 0; } if ((s = yc->cmark) > yc->kCurs) { e = s; s = yc->kCurs; } else { e = yc->kCurs; } for (i = s ; i < e ; i++) { if ( !(yc->kAttr[i] & HENKANSUMI) ) { return 1; } } return 0; } /* * ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¤(ÊÑ´¹¥­¡¼¤¬½é¤á¤Æ²¡¤µ¤ì¤¿)¡¢TanKouhoMode¤Ë°Ü¹Ô¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ static YomiHenkan pro((uiContext)); static int YomiHenkan(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int len, idx; #ifdef MEASURE_TIME struct tms timebuf; long currenttime, times(); currenttime = times(&timebuf); #endif if (yc->henkanInhibition & CANNA_YOMI_INHIBIT_HENKAN) { return NothingChangedWithBeep(d); } d->nbytes = 0; len = RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); if (containUnconvertedKey(yc)) { YomiMark(d); len = RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); } yc->kRStartp = yc->kCurs = yc->kEndp; yc->rStartp = yc->rCurs = yc->rEndp; if (len == 0) { /* empty ¥â¡¼¥É¤Ë¹Ô¤Ã¤Æ¤·¤Þ¤Ã¤¿ */ d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = 0; /* ¾å¤Î ch ¤Ç¼¨¤µ¤ì¤ë½èÍý¤ò¤»¤è */ return d->nbytes; } if (yc->rEndp == 1 && (yc->kAttr[0] & SUPKEY) && !yc->left && !yc->right && (idx = findSup(yc->romaji_buffer[0])) && keysup[idx - 1].ncand > 1) { return selectKeysup(d, yc, idx - 1); } if (!prepareHenkanMode(d)) { makeGLineMessageFromString(d, jrKanjiError); makeYomiReturnStruct(d); return 0; } yc->minorMode = CANNA_MODE_TankouhoMode; yc->kouhoCount = 1; if (doHenkan(d, 0, (wchar_t *)0) < 0) { makeGLineMessageFromString(d, jrKanjiError); return TanMuhenkan(d); } if (cannaconf.kouho_threshold > 0 && yc->kouhoCount >= cannaconf.kouho_threshold) { return tanKouhoIchiran(d, 0); } currentModeInfo(d); #ifdef MEASURE_TIME hc->proctime = times(&timebuf); hc->proctime -= currenttime; #endif return 0; } static YomiHenkanNaive pro((uiContext)); static int YomiHenkanNaive(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & (CANNA_YOMI_HANKAKU | CANNA_YOMI_ROMAJI | CANNA_YOMI_BASE_HANKAKU)) { return YomiInsert(d); } else { return YomiHenkan(d); } } static YomiHenkanOrNothing pro((uiContext)); static int YomiHenkanOrNothing(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & (CANNA_YOMI_HANKAKU | CANNA_YOMI_ROMAJI | CANNA_YOMI_BASE_HANKAKU)) { return NothingChanged(d); } else { return YomiHenkan(d); } } /* ¥Ù¡¼¥¹Ê¸»ú¤ÎÀÚ¤êÂØ¤¨ */ extern EmptyBaseHira pro((uiContext)), EmptyBaseKata pro((uiContext)); extern EmptyBaseEisu pro((uiContext)); extern EmptyBaseZen pro((uiContext)), EmptyBaseHan pro((uiContext)); static YomiBaseHira pro((uiContext)); static YomiBaseHira(d) uiContext d; { (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); (void)EmptyBaseHira(d); makeYomiReturnStruct(d); return 0; } static YomiBaseKata pro((uiContext)); static YomiBaseKata(d) uiContext d; { (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); (void)EmptyBaseKata(d); makeYomiReturnStruct(d); return 0; } static YomiBaseEisu pro((uiContext)); static YomiBaseEisu(d) uiContext d; { (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); (void)EmptyBaseEisu(d); makeYomiReturnStruct(d); return 0; } static YomiBaseZen pro((uiContext)); static YomiBaseZen(d) uiContext d; { (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); (void)EmptyBaseZen(d); makeYomiReturnStruct(d); return 0; } static YomiBaseHan pro((uiContext)); static YomiBaseHan(d) uiContext d; { (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); (void)EmptyBaseHan(d); makeYomiReturnStruct(d); return 0; } static YomiBaseKana pro((uiContext)); static YomiBaseKana(d) uiContext d; { (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); (void)EmptyBaseKana(d); makeYomiReturnStruct(d); return 0; } static YomiBaseKakutei pro((uiContext)); static YomiBaseKakutei(d) uiContext d; { (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); (void)EmptyBaseKakutei(d); makeYomiReturnStruct(d); return 0; } static YomiBaseHenkan pro((uiContext)); static YomiBaseHenkan(d) uiContext d; { (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); (void)EmptyBaseHenkan(d); makeYomiReturnStruct(d); return 0; } int YomiBaseHiraKataToggle pro((uiContext)); YomiBaseHiraKataToggle(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); if (yc->generalFlags & CANNA_YOMI_KATAKANA) { (void)EmptyBaseHira(d); } else { (void)EmptyBaseKata(d); } makeYomiReturnStruct(d); return 0; } int YomiBaseZenHanToggle pro((uiContext)); YomiBaseZenHanToggle(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); if (yc->generalFlags & CANNA_YOMI_BASE_HANKAKU) { (void)EmptyBaseZen(d); } else { (void)EmptyBaseHan(d); } makeYomiReturnStruct(d); return 0; } int YomiBaseRotateForw pro((uiContext)); YomiBaseRotateForw(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); if (!(yc->generalFlags & CANNA_YOMI_BASE_HANKAKU) && ((yc->generalFlags & CANNA_YOMI_ROMAJI) || ((yc->generalFlags & CANNA_YOMI_KATAKANA) && !cannaconf.InhibitHankakuKana) )) { (void)EmptyBaseHan(d); } else { yc->generalFlags &= ~CANNA_YOMI_BASE_HANKAKU; if (yc->generalFlags & CANNA_YOMI_ROMAJI) { (void)EmptyBaseHira(d); } else if (yc->generalFlags & CANNA_YOMI_KATAKANA) { (void)EmptyBaseEisu(d); } else { (void)EmptyBaseKata(d); } } makeYomiReturnStruct(d); return 0; } int YomiBaseRotateBack pro((uiContext)); YomiBaseRotateBack(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); if (yc->generalFlags & CANNA_YOMI_BASE_HANKAKU) { (void)EmptyBaseZen(d); } else if (yc->generalFlags & CANNA_YOMI_KATAKANA) { (void)EmptyBaseHira(d); } else if (yc->generalFlags & CANNA_YOMI_ROMAJI) { if (!cannaconf.InhibitHankakuKana) { yc->generalFlags |= CANNA_YOMI_BASE_HANKAKU; } (void)EmptyBaseKata(d); } else { yc->generalFlags &= ~CANNA_YOMI_ZENKAKU; yc->generalFlags |= CANNA_YOMI_BASE_HANKAKU; (void)EmptyBaseEisu(d); } makeYomiReturnStruct(d); return 0; } int YomiBaseKanaEisuToggle pro((uiContext)); YomiBaseKanaEisuToggle(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); if (yc->generalFlags & CANNA_YOMI_ROMAJI) { (void)EmptyBaseKana(d); } else { (void)EmptyBaseEisu(d); } makeYomiReturnStruct(d); return 0; } int YomiBaseKakuteiHenkanToggle pro((uiContext)); YomiBaseKakuteiHenkanToggle(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; (void)RomajiFlushYomi(d, d->genbuf, ROMEBUFSIZE); if (yc->generalFlags & CANNA_YOMI_KAKUTEI) { (void)EmptyBaseHenkan(d); } else { /* ËÜÅö¤Ï°ì¶ÚÆì¤Ç¤Ï¹Ô¤«¤Ê¤¤ */ (void)EmptyBaseKakutei(d); } makeYomiReturnStruct(d); return 0; } int YomiModeBackup pro((uiContext)); YomiModeBackup(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; (void)saveFlags(yc); return NothingChanged(d); } /* »ú¼ïÊÑ´¹´ØÏ¢ */ /* cfuncdef exitJishu -- »ú¼ïÊÑ´¹¤ò³ÎÄꤵ¤»¤ë ¤³¤Î´Ø¿ô¤Ï»ú¼ïÊÑ´¹¤ò³ÎÄꤵ¤»¤ÆÆÉ¤ß¥â¡¼¥É¤ËÌá¤Ã¤¿¤È¤³¤í¤Ç¼Â¹Ô¤µ¤ì¤ë ´Ø¿ô¤Ç¤¢¤ë¡£ ¡Ú»ú¼ïÊÑ´¹¤È¤Î¤ªÌó«»ö¡Û ¤³¤Î´Ø¿ô¤Ï jishu.c ¤Ë½ñ¤¤¤Æ¤¢¤ë JishuKakutei ¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¤È ¤­¤Ê¤É¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤Ç¤¢¤ë¡£JishuKakutei ¤Ç¤ÏºÇ½ªÅª¤Ê»ú¼ï ¤Î»ØÄê¤ä¤½¤ÎÈϰϤλØÄê¤ò¤·¤ÆÍè¤ë¤À¤±¤Ç¼ÂºÝ¤ÎÌÜŪ»ú¼ï¤Ø¤ÎÊÑ´¹¤Ï ¤³¤Î´Ø¿ô¤Ç¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤Ê¤¼¤«¤È¸À¤¦¤È¥í¡¼¥Þ»ú¤È¤ÎÂбþ ¤Å¤±¤ò¤­¤Á¤ó¤ÈÊÝ»ý¤·¤Æ¤ª¤­¤¿¤¤¤«¤é¤Ç¤¢¤ë JishuKakutei ¤È¤Î´Ö¤Î ¤ªÌó«¤Ï°Ê²¼¤ÎÄ̤ê (1) ºÇ½ªÅª¤Ê»ú¼ï¤Ï yc ¤Î»ú¼ï´ØÏ¢¤Î¥á¥ó¥Ð¤ËÊÖ¤µ¤ì¤ë (2) ¶ñÂÎŪ¤Ë¤Ï°Ê²¼¤ËÆþ¤ë¡£ jishu_kc ºÇ½ªÅª¤Ê»ú¼ï¤Î¼ïÎà (JISHU_ZEN_KATA ¤Ê¤É) jishu_case ºÇ½ªÅª¤Ê»ú¼ï¤Î¥±¡¼¥¹ (CANNA_JISHU_UPPER ¤Ê¤É) jishu_kEndp »ú¼ïÊÑ´¹¤ÎÂоÝÈÏ°Ï jishu_rEndp »ú¼ïÊÑ´¹¤ÎÂоÝÈÏ°Ï¤Î¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤Ç¤Î°ÌÃÖ (3) yc->cmark ¤Þ¤Ç¤Ï»ú¼ï¤¬ÃÖ¤­ÊѤï¤é¤Ê¤¤¤Î¤ËÃí°Õ¤¹¤ë¡£ (4) yc->kana_buffer ¤ÎÃÖ¤­´¹¤¨¤Ï exitJishu ¤¬¹Ô¤¦¡£ (5) yc->kana_buffer ¤Ç»ú¼ïÊÑ´¹Èϰϰʳ°¤Î¤â¤Î¤Ï yc->romaji_buffer ¤ò¤â¤¦°ìÅÙ¥³¥Ô¡¼¤·¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤µ¤ì¤ë¤³¤È¤ÇÉÕ¤±²Ã¤¨¤é¤ì¤ë¡£ (6) ¤¿¤À¤·¡¢yc->kRStartp == yc->jishu_kEndp ¤Ê¤é¤Ð¾åµ­¤Î½èÍý¤Ï¹Ô¤ï¤Ê ¤¤¡£ (7) ¾åµ­¤ÇÊÖ¤µ¤ì¤Ê¤¤Éôʬ¤Î¥í¡¼¥Þ»ú¤Ï yc->jishu_rEndp °Ê¹ß¤Ç¤¢¤ë¡£ (8) exitJishu ¤Ï¤½¤ÎÉôʬ¤ò yc->kana_buffer ¤Ë°Üư¤·¤â¤¦°ìÅÙ¥í¡¼¥Þ»ú ¤«¤ÊÊÑ´¹¤ò¹Ô¤¦¡£ */ exitJishu(d) uiContext d; { yomiContext yc; int len, srclen, i, pos; BYTE jishu, jishu_case, head = 1; int jishu_kEndp, jishu_rEndp; int (*func1)(), (*func2)(); int RkwCvtZen(), RkwCvtKana(), RkwCvtHira(), RkwCvtHan(); long savedgf; wchar_t *buf, *p; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t xxxx[1024]; #else wchar_t *xxxx = (wchar_t *)malloc(sizeof(wchar_t) * 1024); if (!xxxx) { return 0; } #endif /* ¤³¤³¤«¤é²¼¤Ï´°Á´¤Ê¡ØÆÉ¤ß¡Ù¥â¡¼¥É */ yc = (yomiContext)d->modec; jishu = yc->jishu_kc; jishu_case = yc->jishu_case; jishu_kEndp = yc->jishu_kEndp; jishu_rEndp = yc->jishu_rEndp; leaveJishuMode(d, yc); /* ¥Æ¥ó¥Ý¥é¥ê¥â¡¼¥É¤À¤Ã¤¿¤é¸µ¤ËÌ᤹ */ if (yc->savedFlags & CANNA_YOMI_MODE_SAVED) { restoreFlags(yc); } /* Ã༡¤ÎÆÉ¤ß¥Ý¥¤¥ó¥¿¤ò¥¯¥ê¥¢ */ yc->ys = yc->cStartp; /* ¤Þ¤º¡¢»ú¼ïÊÑ´¹¤µ¤ì¤¿Éôʬ¤òÊÑ´¹ */ buf = d->genbuf; switch (jishu) { case JISHU_ZEN_KATA: /* Á´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë */ func1 = RkwCvtZen; func2 = RkwCvtKana; goto jishuKakuteiKana; case JISHU_HAN_KATA: /* Ⱦ³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤¹¤ë */ func1 = RkwCvtKana; func2 = RkwCvtHan; goto jishuKakuteiKana; case JISHU_HIRA: /* ¤Ò¤é¤¬¤Ê¤ËÊÑ´¹¤¹¤ë */ func1 = RkwCvtZen; func2 = RkwCvtHira; jishuKakuteiKana: /* ¤Þ¤º¡¢¥Ù¡¼¥¹¤¬¥í¡¼¥Þ»ú¤Î¤È¤­¤ËÆþÎϤµ¤ì¤¿¤â¤Î¤¬¤¢¤ì¤Ð¤«¤Ê¤ËÊÑ´¹¤¹¤ë */ savedgf = yc->generalFlags; yc->generalFlags = savedgf & CANNA_YOMI_IGNORE_USERSYMBOLS; for (i = yc->cmark ; i < jishu_kEndp ;) { int j = i; while (i < jishu_kEndp && yc->kAttr[i] & STAYROMAJI) { yc->kAttr[i++] &= ~(HENKANSUMI | STAYROMAJI); } if (j < i) { kPos2rPos(yc, j, i, &yc->rStartp, &yc->rCurs); yc->kRStartp = j; yc->kCurs = i; makePhonoOnBuffer(d, yc, (unsigned char)0, RK_FLUSH, 0); jishu_kEndp += yc->kCurs - i; i = yc->kCurs; } else { i++; } } yc->generalFlags = savedgf; /* ¤³¤³¤Ç¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹Ã±°Ì¤Ç»ú¼ïÊÑ´¹¤¹¤ë */ for (i = yc->cmark ; i < jishu_kEndp ; i = yc->kCurs) { int j; for (j = i + 1 ; !(yc->kAttr[j] & SENTOU) ;) { j++; } if(j > jishu_kEndp) { j = jishu_kEndp; } srclen = j - i; len = (*func1)(xxxx, 1024, yc->kana_buffer + i, srclen); len = (*func2)(buf, ROMEBUFSIZE, xxxx, len); yc->kCurs = j; kanaReplace(-srclen, buf, len, 0); jishu_kEndp += len - srclen; /* yc->kCurs - j ¤ÈƱ¤¸ÃÍ */ for (j = yc->kCurs - len ; j < yc->kCurs ; j++) { yc->kAttr[j] = HENKANSUMI; } yc->kAttr[yc->kCurs - len] |= SENTOU; } break; case JISHU_ZEN_ALPHA: /* Á´³Ñ±Ñ¿ô¤ËÊÑ´¹¤¹¤ë */ case JISHU_HAN_ALPHA: /* Ⱦ³Ñ±Ñ¿ô¤ËÊÑ´¹¤¹¤ë */ p = yc->romaji_buffer; kPos2rPos(yc, 0, yc->cmark, (int *)0, &pos); for (i = pos ; i < jishu_rEndp ; i++) { xxxx[i - pos] = (jishu_case == CANNA_JISHU_UPPER) ? WToupper(p[i]) : (jishu_case == CANNA_JISHU_LOWER) ? WTolower(p[i]) : p[i]; if (jishu_case == CANNA_JISHU_CAPITALIZE) { if (p[i] <= ' ') { head = 1; } else if (head) { head = 0; xxxx[i - pos] = WToupper(p[i]); } } } xxxx[i - pos] = (wchar_t)0; #if 0 if (jishu_case == CANNA_JISHU_CAPITALIZE) { xxxx[0] = WToupper(xxxx[0]); } #endif if (jishu == JISHU_ZEN_ALPHA) { len = RkwCvtZen(buf, ROMEBUFSIZE, xxxx, jishu_rEndp - pos); } else { len = RkwCvtNone(buf, ROMEBUFSIZE, xxxx, jishu_rEndp - pos); } yc->rCurs = jishu_rEndp; yc->kCurs = jishu_kEndp; kanaReplace(yc->cmark - yc->kCurs, buf, len, 0); jishu_kEndp = yc->kCurs; /* ¤³¤³¤ÇÀèÆ¬¥Ó¥Ã¥È¤òΩ¤Æ¤ë */ for (i = pos ; i < yc->rCurs ; i++) { yc->rAttr[i] = SENTOU; } len = yc->kCurs; for (i = yc->cmark ; i < len ; i++) { yc->kAttr[i] = HENKANSUMI | SENTOU; } /* ¸å¤í¤ÎÉôʬ */ for (i = jishu_rEndp ; i < yc->rEndp ; i++) { yc->rAttr[i] = 0; } yc->rAttr[jishu_rEndp] = SENTOU; kanaReplace(yc->kEndp - jishu_kEndp, yc->romaji_buffer + jishu_rEndp, yc->rEndp - jishu_rEndp, 0); yc->rAttr[jishu_rEndp] |= SENTOU; yc->kAttr[jishu_kEndp] |= SENTOU; yc->rStartp = jishu_rEndp; yc->kRStartp = jishu_kEndp; for (yc->kCurs = jishu_kEndp, yc->rCurs = jishu_rEndp ; yc->kCurs < yc->kEndp ;) { yc->kCurs++; yc->rCurs++; if (yc->kRStartp == yc->kCurs - 1) { yc->kAttr[yc->kRStartp] |= SENTOU; } makePhonoOnBuffer(d, yc, (unsigned char)yc->kana_buffer[yc->kCurs - 1], 0, 0); } if (yc->kRStartp != yc->kEndp) { if (yc->kRStartp == yc->kCurs - 1) { yc->kAttr[yc->kRStartp] |= SENTOU; } makePhonoOnBuffer(d, yc, (unsigned char)0, RK_FLUSH, 0); } break; default:/* ¤É¤ì¤Ç¤â¤Ê¤«¤Ã¤¿¤éÊÑ´¹½ÐÍè¤Ê¤¤¤Î¤Ç²¿¤â¤·¤Ê¤¤ */ jishu_rEndp = jishu_kEndp = 0; break; } yc->kCurs = yc->kRStartp = yc->kEndp; yc->rCurs = yc->rStartp = yc->rEndp; yc->pmark = yc->cmark; yc->cmark = yc->kCurs; yc->jishu_kEndp = 0; #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)xxxx); #endif return 0; } static YomiJishu(d, fn) /* ÆÉ¤ß¥â¡¼¥É¤«¤éľÀÜ»ú¼ï¥â¡¼¥É¤Ø */ uiContext d; int fn; { yomiContext yc = (yomiContext)d->modec; if (yc->henkanInhibition & CANNA_YOMI_INHIBIT_JISHU) { return NothingChangedWithBeep(d); } d->nbytes = 0; if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && !(yc->status & CHIKUJI_OVERWRAP) && yc->nbunsetsu) { yc->status |= CHIKUJI_OVERWRAP; moveToChikujiTanMode(d); } else if (! RomajiFlushYomi(d, (wchar_t *)NULL, 0)) { d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = 0; /* ¾å¤Î ch ¤Ç¼¨¤µ¤ì¤ë½èÍý¤ò¤»¤è */ return d->nbytes; } else { enterJishuMode(d, yc); yc->minorMode = CANNA_MODE_JishuMode; } currentModeInfo(d); d->more.todo = 1; d->more.ch = d->ch; d->more.fnum = fn; return 0; } static int chikujiEndBun(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; int ret = 0; if ((yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) && yc->nbunsetsu) { KanjiMode mdsv; #ifndef USE_MALLOC_FOR_BIG_ARRAY yomiContextRec ycsv; #else yomiContext ycsv; ycsv = (yomiContext)malloc(sizeof(yomiContextRec)); if (ycsv) { #endif /* µ¿Ì䤬»Ä¤ë½èÍý */ #ifdef USE_MALLOC_FOR_BIG_ARRAY * /* This is a little bit tricky source code */ #endif ycsv = *yc; yc->kEndp = yc->rEndp = 0; mdsv = d->current_mode; ret = TanKakutei(d); d->current_mode = mdsv; *yc = #ifdef USE_MALLOC_FOR_BIG_ARRAY * /* this is also a little bit trick source code */ #endif ycsv; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)ycsv); } #endif return(ret); } /* cfuncdef replaceEnglish -- ¤«¤Ê¥Ð¥Ã¥Õ¥¡¤ò¥í¡¼¥Þ»ú¤ËÌᤷ¤ÆºÆ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤¹¤ë d, yc : ¥³¥ó¥Æ¥¯¥¹¥È start, end : ¥í¡¼¥Þ»ú¤ËÌ᤹ÈÏ°Ï RKflag : RkwMapPhonogram ¤ËÍ¿¤¨¤ë¥Õ¥é¥° engflag : ±Ññ¸ì¥«¥¿¥«¥ÊÊÑ´¹¤ò¤¹¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥° */ static void replaceEnglish(d, yc, start, end, RKflag, engflag) uiContext d; yomiContext yc; int start, end, RKflag, engflag; { int i; kanaReplace(yc->pmark - yc->cmark, yc->romaji_buffer + start, end - start, 0); yc->kRStartp = yc->pmark; yc->rStartp = start; for (i = start ; i < end ; i++) { yc->rAttr[i] &= ~SENTOU; } yc->rAttr[start] |= SENTOU; for (i = yc->pmark ; i < yc->kCurs ; i++) { yc->kAttr[i] &= ~(SENTOU | HENKANSUMI); } yc->kAttr[yc->pmark] |= SENTOU; yc->n_susp_chars = 0; /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ä¤êľ¤·¤Ê¤Î¤Ç¥¯¥ê¥¢¤¹¤ë */ makePhonoOnBuffer(d, yc, 0, (unsigned char)RKflag, engflag); yc->kRStartp = yc->kCurs; yc->rStartp = yc->rCurs; } int YomiMark pro((uiContext)); int YomiMark(d) uiContext d; { #ifndef NOT_ENGLISH_TABLE int rc, rp, i; #endif yomiContext yc = (yomiContext)d->modec; #if defined(DEBUG) if (iroha_debug) { fprintf(stderr,"yc->kCurs=%d yc->cmark=%d\n", yc->kCurs,yc->cmark); } #endif /* DEBUG */ if (yc->kCurs != yc->cmark) { /* ¤ª½é */ if (yc->cmark < yc->kCurs) { yc->pmark = yc->cmark; yc->cmark = yc->kCurs; } else { /* °Ê²¼¡¢pmark < cmark ¤ò²¾Äꤷ¤Æ¤¤¤ë½èÍý¤¬¤¢¤ë¤Î¤Ç¡¢ cmark < pmark ¤Î¾ì¹ç¤Ï pmark ¤â cmark ¤ÈƱ¤¸Ãͤˤ·¤Æ¤·¤Þ¤¦¡£ ¤Á¤ç¤Ã¤ÈÁ°¤Þ¤Ç¤Ï pmark ¤È cmark ¤ÎÆþ¤ì´¹¤¨¤ò¤ä¤Ã¤Æ¤¤¤¿¤¬¡¢ ¤½¤¦¤·¤Æ¤·¤Þ¤¦¤È¡¢¸½ºß¤Î¥Þ¡¼¥¯¤è¤ê¤âº¸¤Ø¤Ï¥Þ¡¼¥¯¤¬ÉÕ¤±¤é¤ì¤Ê¤¤ ¤È¸À¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£ */ yc->pmark = yc->cmark = yc->kCurs; } yc->englishtype = CANNA_ENG_NO; } #ifndef NOT_ENGLISH_TABLE if (englishdic) { if (regionGairaigo(yc, yc->pmark, yc->cmark)) { yc->englishtype++; yc->englishtype = (BYTE)((int)yc->englishtype % (int)(CANNA_ENG_NO + 1)); if (yc->englishtype == CANNA_ENG_KANA) { kPos2rPos(yc, yc->pmark, yc->cmark, &rp, &rc); replaceEnglish(d, yc, rp, rc, RK_FLUSH, 1); yc->cmark = yc->kCurs; } } else { makeYomiReturnStruct(d); return 0; } /* ¤Þ¤º¤Ï¡¢¥«¥Ê¤Ë¤Ç¤­¤ë±Ññ¸ì¤¬¤¢¤Ã¤¿¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯ */ rp = rc = 0; for (i = yc->pmark ; i < yc->cmark ; i++) { if (yc->kAttr[i] & GAIRAIGO) { rp = i; do { i++; } while (!(yc->kAttr[i] & SENTOU)); rc = i; break; } } if (rp || rc) { int rs, re, offset; wchar_t space2[2]; kPos2rPos(yc, rp, rc, &rs, &re); switch (yc->englishtype) { case CANNA_ENG_KANA: break; case CANNA_ENG_ENG1: offset = yc->kCurs - rc; yc->kCurs -= offset; kanaReplace(rp - rc, yc->romaji_buffer + rs, re - rs, HENKANSUMI | GAIRAIGO); yc->kAttr[yc->kCurs - re + rs] |= SENTOU; yc->kCurs += offset; yc->cmark = yc->kRStartp = yc->kCurs; break; case CANNA_ENG_ENG2: offset = yc->kCurs - rc; yc->kCurs -= offset; space2[0] = (wchar_t)' '; space2[1] = (wchar_t)' '; kanaReplace(rp - rc, space2, 2, HENKANSUMI | GAIRAIGO); yc->kAttr[yc->kCurs - 2] |= SENTOU; yc->kCurs--; kanaReplace(0, yc->romaji_buffer + rs, re - rs, HENKANSUMI | GAIRAIGO); yc->kAttr[yc->kCurs - re + rs] &= ~SENTOU; yc->kCurs += offset + 1; yc->cmark = yc->kRStartp = yc->kCurs; break; case CANNA_ENG_NO: kPos2rPos(yc, yc->pmark, yc->cmark, &rs, &re); replaceEnglish(d, yc, rs, re, 0, 0); yc->cmark = yc->kRStartp = yc->kCurs; break; } } } #endif makeYomiReturnStruct(d); debug_yomi(yc); return 0; } Yomisearchfunc(d, mode, whattodo, key, fnum) uiContext d; KanjiMode mode; int whattodo; int key; int fnum; { yomiContext yc = (yomiContext)0; int len; extern KanjiModeRec yomi_mode; if (d) { yc = (yomiContext)d->modec; } if (yc && yc->id != YOMI_CONTEXT) { /* ËÜÍ褢¤ê¤¨¤Ê¤¤¤¬¡¢¥Ð¥°¤Ã¤Æ¤¤¤Æ¡¢¤³¤¦¤Ê¤Ã¤Æ¤Æ¤â core ¤òÅǤ­¤µ¤¨ ¤·¤Ê¤±¤ì¤Ð¤½¤Î¤¦¤ÁÀµ¤·¤¤¾õÂÖ¤ËÌá¤ë¤Î¤Çǰ¤Î°Ù¤¤¤ì¤Æ¤ª¤¯ */ yc = (yomiContext)0; } if (cannaconf.romaji_yuusen && yc) { /* ¤â¤·¡¢Í¥Àè¤Ê¤é */ len = yc->kCurs - yc->kRStartp; if (fnum == 0) { fnum = mode->keytbl[key]; } if (fnum != CANNA_FN_FunctionalInsert && len > 0) { int n, m, t, flag, prevrule; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t kana[128], roma[128]; #else wchar_t *kana, *roma; kana = (wchar_t *)malloc(sizeof(wchar_t) * 128); roma = (wchar_t *)malloc(sizeof(wchar_t) * 128); if (!kana || !roma) { if (kana) { (void)free((char *)kana); } if (roma) { (void)free((char *)roma); } return 0; /* ? suspicious */ } #endif flag = cannaconf.ignore_case ? RK_IGNORECASE : 0; WStrncpy(roma, yc->kana_buffer + yc->kRStartp, len); roma[len++] = (wchar_t)key; prevrule = yc->last_rule; if ((RkwMapPhonogram(yc->romdic, kana, 128, roma, len, (wchar_t)key, flag | RK_SOKON, &n, &m, &t, &prevrule) && n == len) || n == 0) { /* RK_SOKON ¤òÉÕ¤±¤ë¤Î¤Ïµì¼­½ñÍÑ */ fnum = CANNA_FN_FunctionalInsert; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)kana); (void)free((char *)roma); #endif } } return searchfunc(d, mode, whattodo, key, fnum); } /* trimYomi -- ÆÉ¤ß¥Ð¥Ã¥Õ¥¡¤Î¤¢¤ëÎΰè°Ê³°¤òºï¤ë sy ey ¤«¤Ê¤ÎÉôʬ¤Ç»Ä¤¹Îΰ衢¤³¤Î³°Â¦¤Ïºï¤é¤ì¤ë¡£ sr er ¥í¡¼¥Þ»ú ¡· */ void trimYomi(d, sy, ey, sr, er) uiContext d; int sy, ey, sr, er; { yomiContext yc = (yomiContext)d->modec; yc->kCurs = ey; yc->rCurs = er; romajiReplace (yc->rEndp - er, (wchar_t *)NULL, 0, 0); kanaReplace (yc->kEndp - ey, (wchar_t *)NULL, 0, 0); yc->kCurs = sy; yc->rCurs = sr; romajiReplace (-sr, (wchar_t *)NULL, 0, 0); kanaReplace (-sy, (wchar_t *)NULL, 0, 0); } #if 0 /* unused */ static int TbBubunKakutei(d) uiContext d; { tanContext tan, tc = (tanContext)d->modec; wchar_t *s = d->buffer_return, *e = s + d->n_buffer; int len; tan = tc; while (tan->left) { tan = tan->left; } len = doKakutei(d, tan, tc, s, e, (yomiContext *)0); d->modec = (mode_context)tc; tc->left = (tanContext)0; s += len; (void)TanMuhenkan(d); return len; } #endif int doTanConvertTb pro((uiContext, yomiContext)); int TanBubunKakutei pro((uiContext)); int TanBubunKakutei(d) uiContext d; { int len; tanContext tan; yomiContext yc = (yomiContext)d->modec; wchar_t *s = d->buffer_return, *e = s + d->n_buffer; if (yc->id == YOMI_CONTEXT) { doTanConvertTb(d, yc); yc = (yomiContext)d->modec; } tan = (tanContext)yc; while (tan->left) { tan = tan->left; } len = doKakutei(d, tan, (tanContext)yc, s, e, (yomiContext *)0); d->modec = (mode_context)yc; yc->left = (tanContext)0; makeYomiReturnStruct(d); currentModeInfo(d); return len; } #if 0 /* * ¥«¥ì¥ó¥ÈʸÀá¤ÎÁ°¤Þ¤Ç³ÎÄꤷ¡¢¥«¥ì¥ó¥È°Ê¹ß¤ÎʸÀá¤òÆÉ¤ß¤ËÌ᤹ * * °ú¤­¿ô uiContext * Ìá¤êÃÍ Àµ¾ï½ªÎ»»þ 0 °Û¾ï½ªÎ»»þ -1 */ TanBubunKakutei(d) uiContext d; { extern KanjiModeRec cy_mode, yomi_mode; wchar_t *ptr = d->buffer_return, *eptr = ptr + d->n_buffer; yomiContext yc = (yomiContext)d->modec; tanContext tan; int i, j, n, l = 0, len, con, ret = 0; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t tmpbuf[ROMEBUFSIZE]; #else wchar_t *tmpbuf = (wchar_t *)malloc(sizeof(wchar_t) * ROMEBUFSIZE); if (!tmpbuf) { return 0; } #endif if (yc->id != YOMI_CONTEXT) { ret = TbBubunKakutei(d); goto return_ret; } tan = (tanContext)yc; while (tan->left) { tan = tan->left; } len = doKakutei(d, tan, (tanContext)yc, ptr, eptr, (yomiContext *)0); d->modec = (mode_context)yc; yc->left = (tanContext)0; ptr += len; if (yomiInfoLevel > 0) { /* ÌÌÅÝ¤Ê¤Î¤Ç yomiInfo ¤ò¼Î¤Æ¤ë */ d->kanji_status_return->info &= ~KanjiYomiInfo; } con = yc->context; /* ³ÎÄêʸ»úÎó ¤òºî¤ë */ for (i = 0, n = yc->curbun ; i < n ; i++) { if (RkwGoTo(con, i) < 0) { ret = makeRkError(d, "\312\270\300\341\244\316\260\334\306\260\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"); /* ʸÀá¤Î°Üư¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ goto return_ret; } len = RkwGetKanji(con, ptr, (int)(eptr - ptr)); if (len < 0) { (void)makeRkError(d, "\264\301\273\372\244\316\274\350\244\352\275\320" "\244\267\244\313\274\272\307\324\244\267\244\336\244\267\244\277"); /* ´Á»ú¤Î¼è¤ê½Ð¤·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ ret = TanMuhenkan(d); goto return_ret; } ptr += len; j = RkwGetYomi(yc->context, tmpbuf, ROMEBUFSIZE); if (j < 0) { (void)makeRkError(d, "\245\271\245\306\245\244\245\277\245\271\244\362" "\274\350\244\352\275\320\244\273\244\336\244\273\244\363\244\307" "\244\267\244\277"); /* ¥¹¥Æ¥¤¥¿¥¹¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ ret = TanMuhenkan(d); goto return_ret; } l += j; } d->nbytes = ptr - d->buffer_return; for (i = j = 0 ; i < l ; i++) { if (yc->kAttr[i] & SENTOU) { do { ++j; } while (!(yc->rAttr[j] & SENTOU)); } } yc->rStartp = yc->rCurs = j; romajiReplace(-j, (wchar_t *)NULL, 0, 0); yc->kRStartp = yc->kCurs = i; kanaReplace(-i, (wchar_t *)NULL, 0, 0); if (RkwEndBun(yc->context, cannaconf.Gakushu ? 1 : 0) == -1) { jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\316" "\275\252\316\273\244\313\274\272\307\324\244\267\244\336\244\267" "\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ if (errno == EPIPE) { jrKanjiPipeError(); } } if (yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE) { yc->status &= CHIKUJI_NULL_STATUS; yc->cStartp = yc->cRStartp = 0; yc->kCurs = yc->kRStartp = yc->kEndp; yc->rCurs = yc->rStartp = yc->rEndp; yc->ys = yc->ye = yc->cStartp; clearHenkanContext(yc); d->current_mode = yc->curMode = yc->rEndp ? &cy_mode : yc->myEmptyMode; } else { d->current_mode = yc->curMode = &yomi_mode; } yc->minorMode = getBaseMode(yc); yc->nbunsetsu = 0; /* ñ¸õÊä¾õÂÖ¤«¤éÆÉ¤ß¤ËÌá¤ë¤È¤­¤Ë¤Ï̵¾ò·ï¤Ëmark¤òÀèÆ¬¤ËÌ᤹ */ yc->cmark = yc->pmark = 0; abandonContext(d, yc); doMuhenkan(d, yc); makeYomiReturnStruct(d); currentModeInfo(d); ret = d->nbytes; return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)tmpbuf); #endif return ret; } #endif /* 0 */ /* removeKana -- yomiContext ¤ÎÀèÆ¬¤«¤é»ú¤òºï¤ë(Ã༡¤Ç»È¤¦) k -- ¤«¤Ê¤Îºï¤ë¿ô r -- ¥í¡¼¥Þ»ú¤Îºï¤ë¿ô d ¤Ï¤¤¤é¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¤¬¥Þ¥¯¥í¤Ç¼Â¤Ï»È¤Ã¤Æ¤¤¤ë¤Î¤ÇɬÍס£ */ void removeKana(d, yc, k, r) uiContext d; yomiContext yc; int k, r; { int offs; offs = yc->kCurs - k; yc->kCurs = k; kanaReplace(-k, (wchar_t *)NULL, 0, 0); if (offs > 0) { yc->kCurs = offs; } yc->cmark = yc->kRStartp = yc->kCurs; offs = yc->rCurs - r; yc->rCurs = r; romajiReplace(-r, (wchar_t *)NULL, 0, 0); if (offs > 0) { yc->rCurs = offs; } yc->rStartp = yc->rCurs; } static YomiNextJishu pro((uiContext)); static YomiNextJishu(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é¤Î½ç²ó¤êʸ»ú¼ïÊÑ´¹ */ uiContext d; { return YomiJishu(d, CANNA_FN_Next); } static YomiPreviousJishu pro((uiContext)); static YomiPreviousJishu(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é¤ÎµÕ²ó¤êʸ»ú¼ïÊÑ´¹ */ uiContext d; { return YomiJishu(d, CANNA_FN_Prev); } static YomiKanaRotate pro((uiContext)); static YomiKanaRotate(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é¤Î½ç²ó¤ê¤«¤Êʸ»ú¼ïÊÑ´¹ */ uiContext d; { return YomiJishu(d, CANNA_FN_KanaRotate); } static YomiRomajiRotate pro((uiContext)); static YomiRomajiRotate(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é¤Î½ç²ó¤ê±Ñ¿ôʸ»ú¼ïÊÑ´¹ */ uiContext d; { return YomiJishu(d, CANNA_FN_RomajiRotate); } static YomiCaseRotateForward pro((uiContext)); static YomiCaseRotateForward(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é¤Î½ç²ó¤ê±Ñ¿ôʸ»ú¼ïÊÑ´¹ */ uiContext d; { return YomiJishu(d, CANNA_FN_CaseRotate); } static YomiZenkaku pro((uiContext)); static YomiZenkaku(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é¤ÎÁ´³ÑÊÑ´¹ */ uiContext d; { return YomiJishu(d, CANNA_FN_Zenkaku); } static YomiHankaku pro((uiContext)); static YomiHankaku(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é¤ÎȾ³ÑÊÑ´¹ */ uiContext d; { if (cannaconf.InhibitHankakuKana) return NothingChangedWithBeep(d); else return YomiJishu(d, CANNA_FN_Hankaku); } static YomiHiraganaJishu pro((uiContext)); static YomiHiraganaJishu(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é»ú¼ï¥â¡¼¥É¤Î¤Ò¤é¤¬¤Ê¤Ø */ uiContext d; { return YomiJishu(d, CANNA_FN_Hiragana); } static YomiKatakanaJishu pro((uiContext)); static YomiKatakanaJishu(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é»ú¼ï¥â¡¼¥É¤Î¥«¥¿¥«¥Ê¤Ø */ uiContext d; { return YomiJishu(d, CANNA_FN_Katakana); } static YomiRomajiJishu pro((uiContext)); static YomiRomajiJishu(d) /* ÆÉ¤ß¥â¡¼¥É¤«¤é»ú¼ï¥â¡¼¥É¤Î¥í¡¼¥Þ»ú¤Ø */ uiContext d; { return YomiJishu(d, CANNA_FN_Romaji); } static YomiToLower pro((uiContext)); static YomiToLower(d) uiContext d; { return YomiJishu(d, CANNA_FN_ToLower); } static YomiToUpper pro((uiContext)); static YomiToUpper(d) uiContext d; { return YomiJishu(d, CANNA_FN_ToUpper); } static YomiCapitalize pro((uiContext)); static YomiCapitalize(d) uiContext d; { return YomiJishu(d, CANNA_FN_Capitalize); } /* ±Ñ¸ì¥«¥¿¥«¥ÊÊÑ´¹¤Î¤ä¤ê»Ä¤· ¡¦³°Íè¸ìÊÑ´¹¤Ï»ú¼ïÊÑ´¹¤Ë¼è¤ê¹þ¤ß¤¿¤¤ ¤Ä¤¤¤Ç¤Ê¤Î¤Ç¥¨¥ó¥¸¥óÀÚ¤êÂØ¤¨¤Î¤ä¤ê»Ä¤· ¡¦£Ä£Ó£Ï¤¬¤Ê¤¤¾ì¹ç¤Ë¡Ö¤½¤Î¥¨¥ó¥¸¥ó¤ËÀÚ¤êÂØ¤¨¤é¤ì¤Ê¤¤¡×¤È¸À¤¤¤¿¤¤ ¡¦¤½¤Î¾¥¨¥é¡¼¥Á¥§¥Ã¥¯ */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #include "yomimap.h" /* vim: set sw=2: */ Canna37p3/lib/canna/t_reimap.h0100644000076500001200000000334407554213607015461 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char t_reimap_id[] = "@(#) 102.1 $Id: t_reimap.h,v 1.1.1.1 2002/10/19 08:27:51 aida_s Exp $"; #endif /* lint */ extern DoFuncSequence pro((struct _uiContext *)); extern UseOtherKeymap pro((struct _uiContext *)); static struct funccfunc tourokureibun_funcs[] = { {CANNA_FN_FunctionalInsert ,YesNo }, {CANNA_FN_Quit ,YesNoQuit }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {0 ,0 }, }; KanjiModeRec tourokureibun_mode = { searchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, tourokureibun_funcs, }; Canna37p3/lib/canna/tanmap.h0100644000076500001200000000631007554213607015135 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char tanmap_id[] = "@(#) 102.1 $Id: tanmap.h,v 1.1.1.1 2002/10/19 08:27:51 aida_s Exp $"; #endif /* lint */ extern TanKouhoIchiran pro((uiContext)), DoFuncSequence pro((uiContext)); extern UseOtherKeymap pro((uiContext)); extern YomiKakutei pro((uiContext)), TanBubunKakutei pro((uiContext)); static struct funccfunc tan_funcs[] = { {CANNA_FN_FunctionalInsert ,TanKakuteiYomiInsert }, {CANNA_FN_Forward ,TanForwardBunsetsu }, {CANNA_FN_Backward ,TanBackwardBunsetsu }, {CANNA_FN_Next ,TanNextKouho }, {CANNA_FN_Prev ,TanPreviousKouho }, {CANNA_FN_BeginningOfLine ,TanBeginningOfBunsetsu }, {CANNA_FN_EndOfLine ,TanEndOfBunsetsu }, {CANNA_FN_DeletePrevious ,TanDeletePrevious }, {CANNA_FN_KillToEndOfLine ,TanChooseHeadChar }, {CANNA_FN_DeleteNext ,TanChooseTailChar }, {CANNA_FN_Henkan ,TanHenkan }, {CANNA_FN_HenkanOrInsert ,TanHenkan }, {CANNA_FN_HenkanOrNothing ,TanHenkan }, {CANNA_FN_Kakutei ,YomiKakutei }, {CANNA_FN_Extend ,TanExtendBunsetsu }, {CANNA_FN_Shrink ,TanShrinkBunsetsu }, {CANNA_FN_AdjustBunsetsu ,TanBunsetsuMode }, {CANNA_FN_Quit ,TanMuhenkan }, {CANNA_FN_KouhoIchiran ,TanKouhoIchiran }, {CANNA_FN_BubunMuhenkan ,TanBubunMuhenkan }, {CANNA_FN_Zenkaku ,TanZenkaku }, {CANNA_FN_Hankaku ,TanHankaku }, {CANNA_FN_Hiragana ,TanHiragana }, {CANNA_FN_Katakana ,TanKatakana }, {CANNA_FN_Romaji ,TanRomaji }, {CANNA_FN_ToUpper ,TanUpper }, {CANNA_FN_ToLower ,TanRomaji }, {CANNA_FN_Capitalize ,TanCapitalize }, {CANNA_FN_KanaRotate ,TanKanaRotate }, {CANNA_FN_RomajiRotate ,TanRomajiRotate }, {CANNA_FN_CaseRotate ,TanCaseRotateForward }, {CANNA_FN_BubunKakutei ,TanBubunKakutei }, #ifdef BUNPOU_DISPLAY {CANNA_FN_ConvertAsHex ,TanPrintBunpou }, #endif {CANNA_FN_Nop ,TanNop }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {0 ,0 }, }; KanjiModeRec tankouho_mode = { searchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, tan_funcs, }; Canna37p3/lib/canna/uilib.jmn0100644000076500001200000011141707554213607015323 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: uilib.jmn,v 1.1.1.1 2002/10/19 08:27:51 aida_s Exp $ NEC; .if t .pn 575 .TH UILIBINTRO 3 "4 April 1991" .SH "̾Á°" UILib intro \- ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¥¤¥ó¥È¥í .SH "ÀâÌÀ" .PP ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ï¡¤£±Ê¸»ú¤ÎÆþÎÏ¡¤£±¥­¡¼¤ÎÆþÎϤËÂбþ¤·¤Æ¡¤ ̤³ÎÄêʸ»úÎ󡤳ÎÄêʸ»úÎó¡¤ÃíÌÜʸÀá°ÌÃÖ¡¤¥¹¥Æ¡¼¥¿¥¹É½¼¨¤Î¤¿¤á¤Îʸ»úÎó¡¤ ¸õÊä°ìÍ÷¤Î¤¿¤á¤Îʸ»úÎó¤Ê¤É¤òÊÖ´Ô¤¹¤ë¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡¥¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥× ¥í¥°¥é¥à¤Ï¡¤ÊÖ´Ô¤µ¤ì¤¿¾ðÊó¤Ë¤è¤Ã¤ÆÉ½¼¨¤ò¹Ô¤¤¤Þ¤¹¡¥¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í ¥°¥é¥à¤Ï¡¤¥­¡¼ÆþÎϰʳ°¤Î¥È¥ê¥¬¡¼¤Ë¤è¤Ã¤Æ(Î㤨¤Ð¥Þ¥¦¥¹¤Ë¤è¤ëÁªÂò¤Ê¤É)¥â¡¼ ¥É¤ÎÁ«°Ü¤òÀ©¸æ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡¥ .PP ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¤TTY¥Ù¡¼¥¹ ¤ÇjrKanjiString¤ª¤è¤ÓjrKanjiControl¡¤£Ø¥¦¥£¥ó¥É¥¦¥Ù¡¼¥¹¤Ç XLookupKanjiString¤ª¤è¤ÓXKanjiControl¤òÄ󶡤·¤Þ¤¹¡¥ .P ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤¬É¬Í×¤Ë ¤Ê¤ê¤Þ¤¹¡¥ .IP "¡¦" 3 TTY¥Ù¡¼¥¹ .RS .IP "´Ø¿ô" 20 jrKanjiString, jrKanjiControl .IP "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë" canna/jrkanji.h .IP "¥é¥¤¥Ö¥é¥ê" libcanna.a, libcanna.so .RE .IP "¡¦" 3 X¥¦¥£¥ó¥É¥¦¥Ù¡¼¥¹ .RS .IP "´Ø¿ô" 20 XLookupKanjiString, XKanjiControl .IP "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë" canna/kanji.h .IP "¥é¥¤¥Ö¥é¥ê" libXn.a, libXn.so, libcanna.a, libcanna.so .RE .SH "³µÍ×" .IP "jrKanjiString" 20 TTY¤«¤é¤ÎÆþÎÏ¡¤£Ø¤Ç¤ÎÆþÎÏ¡¤´ðËÜ¥¦¥£¥ó¥É¥¦¤Ç¤ÎÆþÎϤʤɰìÈÌŪ¤Ê¥­¡¼¥Ü¡¼ ¥ÉÆþÎϤËÂФ·¤Æ´Á»úʸ»úÎ󤨤ÎÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡¥ .IP "jrKanjiControl" 20 jrKanjiString¤Ç¤ÎÀ©¸æ¤ò»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¥¿¤Ë¤è¤ê¹Ô¤¤¤Þ¤¹¡¥ .IP "XLookupKanjiString" 20 £Ø¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤Æ¡¤¥­¡¼¥Ü¡¼¥ÉÆþÎÏ(¥­¡¼¥¤¥Ù¥ó¥È)¤Î´Á»úʸ»úÎó ¤Ø¤ÎÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡¥ .IP "XKanjiControl" 20 XLookupKanjiString¤Ç¤ÎÀ©¸æ¤ò»ØÄꤵ¤ì¤¿¥Ñ¥é¥á¥¿¤Ë¤è¤ê¹Ô¤¤¤Þ¤¹¡¥ .if t .pn 575 .TH JRKANJISTRING 3 "4 April 1991" .SH "̾Á°" jrKanjiString \- °ìÈÌŪ̾¥­¡¼¥Ü¡¼¥ÉÆþÎϤËÂФ·¤Æ¤Î¤«¤Ê´Á»úÊÑ´¹ .SH "·Á¼°" .nf .B #include .B int jrKanjiString(\fIcontext_id, ch, buffer_return, bytes_buffer, kanji_status_return\fP) .B int \fIcontext_id\fP; .B int \fIch\fP; .B char \fI*buffer_return\fP; .B int \fIbytes_buffer\fP; .B jrKanjiStatus \fI*kanji_status_return\fP; .fi .SH "ÀâÌÀ" .PP jrKanjiString¤ÏTTY¤«¤é¤ÎÆþÎÏ¡¤£Ø¤Ç¤ÎÆþÎÏ¡¤´ðËÜ¥¦¥£¥ó¥É¥¦¤Ç¤ÎÆþÎϤʤɡ¤ °ìÈÌŪ¤Ê¥­¡¼¥Ü¡¼¥ÉÆþÎϤËÂФ·¤Æ´Á»úʸ»úÎ󤨤ÎÊÑ´¹¤ò¹Ô¤¦´Ø¿ô¤Ç¤¹¡¥ .PP jrKanjiString¤Ï¡¤¥¢¥¹¥­¡¼¥³¡¼¥É¤Çɽ¤µ¤ì¤ë¥­¡¼ÆþÎϤòÆüËܸìʸ»úÎó¤ËÂбþ ¤µ¤»¤ë´Ê°×¥ë¡¼¥Á¥ó¤Ç¡¤ÆþÎϤµ¤ì¤¿¥­¡¼¤òɽ¤¹¥³¡¼¥É¤ò\fIch\fP¤Ë¤ÆÍ¿¤¨¤ë¤³ ¤È¤Ë¤è¤ê¡¤É½¼¨¤¹¤Ù¤­Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡¥jrKanjiString¤ÎÆâÉô¤Ë¤ª¤¤¤Æ¥í¡¼ ¥Þ»ú¤«¤ÊÊÑ´¹¡¤¤«¤Ê´Á»úÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡¥ .PP ¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤ä¡¤¥«¡¼¥½¥ë¥­¡¼¤Ê¤É¤Î¥­¡¼¤Ë¤Ä¤¤¤Æ¤Ï¡¤¤½¤ì¤é¤Î¥­¡¼¤Î ȯÀ¸¤¹¤ë¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤Î Âå¤ï¤ê¤Ë\fB¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼\fP¤Î¹à¤Ç¼¨¤¹ÆÃÊ̤Π¥³¡¼¥É¤òjrKanjiString¤ËÍ¿¤¨¤Æ²¼¤µ¤¤¡¥ .PP \fIcontext_id\fP¤ÇÍ¿¤¨¤ë¥³¥ó¥Æ¥¯¥¹¥È¼±Ê̻Ҥϡ¤¼ÂºÝ¤Ë¤Ï¤½¤Î¤Þ¤Þ¤ÎÃͤ¬ÍÑ ¤¤¤é¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¤\fIcontext_id\fP¤ÇÍ¿¤¨¤é¤ì¤ë¥³¥ó¥Æ¥¯¥¹¥È¼±Ê̻Ҥò ¥­¡¼¤È¤·¤¿¥³¥ó¥Æ¥¯¥¹¥È¤¬ºîÀ®¤µ¤ì¡¤ÍѤ¤¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥¤·¤¿¤¬¤Ã¤Æ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤ÏjrKanjiString¤ËÍ¿¤¨¤ë¥³¥ó¥Æ¥¯¥¹¥È¼±ÊÌ»Ò¤Ë ¤Ä¤¤¤Æ¤Ï¡¤Å¬Åö¤ÊÃͤòÍ¿¤¨¤ì¤ÐÎɤ¯¡¤ÆþÎϥݡ¼¥È¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò Í¿¤¨¤ë¤Î¤¬Å¬Åö¤È¹Í¤¨¤é¤ì¤Þ¤¹¡¥¤¿¤À¤·¡¤0¤òÍ¿¤¨¤¿»þ¤ÏÆÃÊ̤ǡ¤¥·¥¹¥Æ¥à¤Ë ¥Ç¥Õ¥©¥ë¥È¤Ç½àÈ÷¤µ¤ì¤Æ¤¤¤ë¥³¥ó¥Æ¥¯¥¹¥È¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡¥¥³¥ó¥Æ¥¯¥¹¥È¤ËÆÃ Ê̤ÎÇÛθ¤ò¹Ô¤ï¤Ê¤¤¾ì¹ç¤Ë¤Ï0¤ò»ØÄꤹ¤ë¤Î¤¬Å¬Åö¤Ç¤¹¡¥ .PP ÆþÎϤËÂбþ¤·¤Æ¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¡¤¤«¤Ê´Á»úÊÑ´¹¤ÎÃæ´Ö·ë²Ì¤òɽ¼¨¤¹¤ëɬÍ× ¤¬¤¢¤ê¤Þ¤¹¤¬¡¤É½¼¨¤¹¤Ù¤­Ãæ´Ö·ë²Ì¤Ï\fIkanji_status_return\fP¤ò²ð¤·¤Æ¡¤ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÊÖ¤µ¤ì¤Þ¤¹¡¥ .PP ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï\fIkanji_status_return\fP¤ËÊÖ¤µ¤ì¤ë¾ðÊó¤Ë¤·¤¿¤¬¤Ã¤Æ Ãæ´Ö·ë²Ì¤òɽ¼¨¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ ¤»¤ó¡¥\fIkanji_status_return\fP¤ÏjrKanjiStatus·¿¤Î¹½Â¤ÂΤǤ¹¡¥ .PP jrKanjiStatus¹½Â¤ÂΤϰʲ¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡¥ .sp .ft CW .nf typedef struct { unsigned char *echoStr; /* ¥í¡¼¥«¥ë¥¨¥³¡¼¤Î¤¿¤á¤Îʸ»úÎó */ int length; /* ¥í¡¼¥«¥ë¥¨¥³¡¼Ê¸»úÎó¤ÎŤµ */ int revPos; /* ¥í¡¼¥«¥ë¥¨¥³¡¼Ê¸»úÎó¤Î¤¦¤Áȿžɽ¼¨Éôʬ¤Ø¤Î¥ª¥Õ¥»¥Ã¥È */ int revLen; /* ¥í¡¼¥«¥ë¥¨¥³¡¼Ê¸»úÎó¤Î¤¦¤Áȿžɽ¼¨Éôʬ¤ÎŤµ */ unsigned long info; /* ¤½¤Î¾¤Î¾ðÊó */ unsigned char *mode; /* ¥â¡¼¥É¾ðÊó */ struct { unsigned char *line; /* ¸õÊä°ìÍ÷¤Îʸ»úÎó */ int length; /* ¸õÊä°ìÍ÷ʸ»úÎó¤ÎŤµ */ int revPos; /* ¸õÊä°ìÍ÷ʸ»úÎó¤Î¤¦¤Áȿžɽ¼¨Éôʬ¤Ø¤Î¥ª¥Õ¥»¥Ã¥È */ int revLen; /* ¸õÊä°ìÍ÷ʸ»úÎó¤Î¤¦¤Áȿžɽ¼¨Éôʬ¤ÎŤµ */ } gline; /* ¸õÊä°ìÍ÷¤Ë´Ø¤¹¤ë¾ðÊó */ } jrKanjiStatus; .fi .ft .sp .PP ¤«¤Ê´Á»úÊÑ´¹¤òÍѤ¤¤¿ÆüËܸìÆþÎÏ»þ¤Ë¤ÏÊÑ´¹¤ÎÂоݤȤʤëÆÉ¤ß¤Ê¤É¤ò¥í¡¼¥«¥ë ¥¨¥³¡¼¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥jrKanjiString¤Ï¥í¡¼¥«¥ë¥¨¥³¡¼¤Ê¤Éɽ¼¨¤Ë´Ø¤¹ ¤ë¤³¤È¤Ï²¿¤â¹Ô¤ï¤º¡¤Âå¤ï¤ê¤Ë¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤ë¤Ù¤­ ʸ»úÎó¤òjrKanjiStatus¹½Â¤ÂΤòÍѤ¤¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¦¤ËÊÖ¤·¤Þ¤¹¡¥ .PP ÊÑ´¹¤¬³ÎÄꤹ¤ë¤Þ¤Ç¤Ï¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤µ¤ì¤Æ¤¤¤ëʸ»ú¤ä¡¤ÊÑ´¹¸õÊäʸ»ú¤Ê ¤É¡¤¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤Ù¤­(EUC)ʸ»úÎó¤¬\fIechoStr\fP¥á¥ó¥Ð¤Ë¤è¤êÊÖ¤µ¤ì¤Þ ¤¹¡¥¤³¤Î¤È¤­¡¤¥í¡¼¥«¥ë¥¨¥³¡¼Ê¸»úÎó¤ÎŤµ¡¤¥ê¥Ð¡¼¥¹É½¼¨¤Î ³«»Ï°ÌÃÖ¤ÈŤµ(¥Ð¥¤¥Èñ°Ì)¤¬¡¤ ¤½¤ì¤¾¤ì¡¤\fIlength\fP¥á¥ó¥Ð¡¤revPos¡¤revLen¥á¥ó¥Ð¤Ë¤ÆÊÖ¤µ¤ì¤Þ¤¹¡¥¥í¡¼ ¥«¥ë¥¨¥³¡¼¤¹¤Ù¤­Ê¸»úÎó¤Î¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡¤ÏjrKanjiString¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë ³ÎÊݤµ¤ì¤Þ¤¹¤¬¡¤¤½¤ÎÎΰè¤ÏÆÉ¤ß¤È¤ê¤Î¤ß¤ËÍѤ¤¤é¤ì¤ë¤Ù¤­¤Ç¤¢¤ê¡¤¤½¤ÎÎÎ°è ¤Ëʸ»úÎó¤ò½ñ¤­¹þ¤ó¤Ç¤Ï¤¤¤±¤Þ¤»¤ó¡¥ .PP ¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤Ù¤­Ê¸»úÎ󤬤ʤ¤¾ì¹ç¤Ï\fIlength\fP¥á¥ó¥Ð¤Ë£°¤¬ÊÖ¤ê¤Þ¤¹¡¥ .PP ¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤Ù¤­ÆâÍÆ¤¬Á°²ó¤ÎjrKanjiString¤Î¸Æ½Ð¤·¤Î»þ¤ÈÊѤï¤é¤Ê¤¤ ¾ì¹ç(Î㤨¤Ð¥³¥ó¥È¥í¡¼¥ëʸ»ú¤¬²¡¤µ¤ì¡¤¤½¤Î¥­¡¼¤¬Ìµ¸ú¤Ç¤¢¤Ã¤¿ ¾ì¹ç¤Ê¤É)¤Ï\fIlength\fP¥á¥ó¥Ð¤Ë\-1¤¬ÊÖ¤ê¤Þ¤¹¡¥ .PP ¥â¡¼¥É¤ÎÊѹ¹¤ä¡¤¸õÊä°ìÍ÷¤Ë´Ø¤¹¤ë¾ðÊó¤Î̵ͭ¤Ï¡¤\fIinfo\fP¥á¥ó¥Ð¤Ë¤è¤Ã¤Æ ÅϤµ¤ì¤Þ¤¹¡¥\fIinfo\fP¥á¥ó¥Ð¤ÎKanjiModeInfo¥Ó¥Ã¥È¤¬on¤Ç ¤¢¤ì¤Ð¡¤\fImode\fP¤Ë¿·¤·¤¤¥â¡¼¥É¤ò¼¨¤¹Ê¸»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡¥\fIinfo\fP¥á ¥ó¥Ð¤ÎKanjiGLineInfo¥Ó¥Ã¥È¤¬on¤Ç¤¢¤ì¤Ð¡¤\fIgline\fP¹½Â¤ÂΤ˸õÊä°ìÍ÷Åù ¤Î¾ðÊ󤬳ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥ .PP \fIgline\fP¹½Â¤ÂΤÎ\fIline\fP¥á¥ó¥Ð¤Ë¤Ï¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤Îʸ»úÎó¤¬ÊÖ ¤µ¤ì¤Þ¤¹¡¥\fIgline\fP¹½Â¤ÂΤÎ\fIline,revPos,revLen\fP¤Î³Æ¥á¥ó¥Ð¤Ï¡¤¸õ Êä°ìÍ÷ʸ»úÎó¤Î¤½¤ì¤¾¤ì¡¤Ä¹¤µ¡¤¥ê¥Ð¡¼¥¹É½¼¨¤Î³«»Ï°ÌÃÖ¡¤¥ê¥Ð¡¼¥¹É½¼¨¤ÎĹ ¤µ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡¥ .PP ÊÑ´¹Ãæ¤Ë³ÎÄꤷ¤¿(EUC)ʸ»úÎ󤬤¢¤ë¾ì¹ç¤Ï¡¤ ¤½¤Îʸ»úÎó¤¬\fIbuffer_return\fP¤Ç»ØÄꤷ¤¿¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤µ¤ì¡¤¤½¤Îʸ»ú Îó¤ÎŤµ(¥Ð¥¤¥Èñ°Ì)¤¬ÊÖ¤µ¤ì¤Þ¤¹¡¥³ÎÄꤷ¤¿Ê¸»úÎó¤¬Ìµ¤¤¾ì¹ç¤ÏÌá¤ê ÃͤÏ0¤Ë¤Ê¤ê¤Þ¤¹¡¥³ÎÄêʸ»úÎó¤ò³ÊǼ¤¹¤ë¥Ð¥Ã¥Õ¥¡\fIbuffer_return\fP¤ÎÂ礭 ¤µ¤ò\fIbytes_buffer\fP¤Ë¤ÆÍ¿¤¨¤Þ¤¹¡¥ ³ÎÄêʸ»úÎó¤ÎŤµ¤¬\fIbytes_buffer\fP¤è¤ê¤âŤ¤¾ì¹ç¤Ë¤Ï¡¤ ³ÎÄêʸ»úÎó¤Î¤¦¤Á¡¤\fIbytes_buffer\fPʬ ¤À¤±¤¬\fIbuffer_return\fP¤Ë³ÊǼ¤µ¤ì¡¤jrKanjiString¤ÎÌá¤êÃÍ¤È ¤·¤Æ¡¤\fIbytes_buffer\fP¤ÇÍ¿¤¨¤¿Ãͤ¬ÊÖ¤ê¤Þ¤¹¡¥ .SH "¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼" .PP ¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òȯ¹Ô¤¹¤ë¤è¤¦¤Ê¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤Ë´Ø¤·¤Æ¤Ï¡¤¥Õ¥¡ ¥ó¥¯¥·¥ç¥ó¥­¡¼¤Ë¤è¤ë¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ÎÊѤï¤ê¤Ë°Ê²¼¤Î¥Þ¥¯¥í̾¤Ç¼¨¤µ ¤ì¤ë¥³¡¼¥É¤ò\fIch\fP¤È¤·¤ÆÍ¿¤¨¤Æ²¼¤µ¤¤¡¥ .IP "ÏÀÍý̾" 12 ¥³¡¼¥É .IP "Nfer" 12 CANNA_KEY_Nfer .IP "Xfer" 12 CANNA_KEY_Xfer .IP "Up" 12 CANNA_KEY_Up .IP "Left" 12 CANNA_KEY_Left .IP "Right" 12 CANNA_KEY_Right .IP "Down" 12 CANNA_KEY_Down .IP "Insert" 12 CANNA_KEY_Insert .IP "Rollup" 12 CANNA_KEY_Rollup .IP "Rolldown" 12 CANNA_KEY_Rolldown .IP "Home" 12 CANNA_KEY_Home .IP "Help" 12 CANNA_KEY_Help .IP "S-Nfer" 12 CANNA_KEY_Shift_Nfer .IP "S-Xfer" 12 CANNA_KEY_Shift_Xfer .IP "S-Up" 12 CANNA_KEY_Shift_Up .IP "S-Left" 12 CANNA_KEY_Shift_Left .IP "S-Right" 12 CANNA_KEY_Shift_Right .IP "S-Down" 12 CANNA_KEY_Shift_Down .IP "C-Nfer" 12 CANNA_KEY_Control_Nfer .IP "C-Xfer" 12 CANNA_KEY_Control_Xfer .IP "C-Up" 12 CANNA_KEY_Control_Up .IP "C-Left" 12 CANNA_KEY_Control_Left .IP "C-Right" 12 CANNA_KEY_Control_Right .IP "C-Down" 12 CANNA_KEY_Control_Down .IP "F1" 12 CANNA_KEY_F1 .IP "PF1" 12 CANNA_KEY_PF1 .SH "´ØÏ¢¾ðÊó" jrKanjiControl(3) .SH "Ìá¤êÃÍ" .PP ÆþÎϽèÍýÃæ²¿¤é¤«¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï¡¤¤³¤Î´Ø¿ô¤ÎÌá¤êÃͤȤ·¤Æ\-1¤¬ÊÖ ¤µ¤ì¡¤³°ÉôÊÑ¿ô(char *)jrKanjiError¤Ë¡¤¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡¥ .PP ¤³¤Î´Ø¿ô¤Î¸Æ½Ð¤·¤Ë¤è¤ê³ÎÄꤷ¤¿Ê¸»úÎ󤬤¢¤ë¾ì¹ç¤Ï³ÎÄꤷ¤¿Ê¸»úÎó¤Î¥Ð¥¤¥È Ť¬ÊÖ¤ê¤Þ¤¹¡¥ .PP ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï0¤¬ÊÖ¤ê¤Þ¤¹¡¥ .if t .pn 575 .TH JRKANJICONTROL 3 "4 April 1991" .SH "̾Á°" jrKanjiControl \- jrKanjiString¤Ç¤Î¥â¡¼¥É¤ä¡¤½èÍý¤ÎÀ©¸æ¤ò¹Ô¤¦ .SH "·Á¼°" .nf .B #include .B int jrKanjiControl(\fIcontext_id, request, arg\fP) .B int \fIcontext_id\fP; .B int \fIrequest\fP; .B char \fI*arg\fP; .fi .SH "ÀâÌÀ" .PP jrKanjiControl¤Ï\fIcontext_id\fP¤Ç¼¨¤µ¤ì¤ëÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤Ë ´Ø¤·¤Æ¡¤\fIrequest\fP¤Ç¼¨¤µ¤ì¤ë½èÍý¤ò¹Ô¤¤¤Þ¤¹¡¥½èÍý¤Ë¤è¤Ã¤Æ¤Ï¡¤°ú¿ô¤ò ȼ¤¦¾ì¹ç¤¬¤¢¤ê¡¤¤½¤Î¾ì¹ç¡¤°ú¿ô¤Ïarg¤Ë¤ÆÍ¿¤¨¤Þ¤¹¡¥ .PP jrKanjiControl¤ÇÀ©¸æ¤µ¤ì¤ëµ¡Ç½¤È¤·¤Æ¤Ï°Ê²¼¤Î£µ¤Ä¤¬¤¢¤ê¤Þ¤¹¡¥ .IP "\fIrequest\fP̾" 18 µ¡Ç½ .IP "KC_INITIALIZE" 18 ¤«¤Ê´Á»úÊÑ´¹¤ò½é´ü²½¤¹¤ë¡¥ .IP "KC_CHANGEMODE" 18 ÆþÎϥ⡼¥É¤òÊѹ¹¤¹¤ë¡¥ .IP "KC_SETWIDTH" 18 ¸õÊä°ìÍ÷ɽ¼¨¤Î»þ¤ÎÉý¤ò»ØÄꤹ¤ë¡¥ .IP "KC_FINALIZE" 18 ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»½èÍý¡¥ .IP "KC_SETUNDEFKEYFUNCTION" 18 ̤ÄêµÁ¥­¡¼¤ËÂФ¹¤ëµ¡Ç½¤ÎÀßÄê¤ò¹Ô¤¦¡¥ .IP "KC_SETMODEINFOSTYLE" 18 ¥â¡¼¥É¾ðÊó¤ò¿ôÃͤÇɽ¸½¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤹ¤ë¡¥ .IP "KC_KAKUTEI" 18 ÆþÎÏÃæ¤Îʸ»úÎó¤ò³ÎÄꤹ¤ë¡¥ .IP "KC_KILL" 18 ÆþÎÏÃæ¤Îʸ»úÎó¤òºï½ü¤¹¤ë¡¥ .IP "KC_QUERYMODE" 18 ¸½ºß¤Î¥â¡¼¥É¤òÌ䤤¹ç¤ï¤»¤ë¡¥ .IP "KC_SETSERVERNAME" 18 Àܳ¤¹¤ë¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¡¥ .IP "KC_SETINITFILENAME" 18 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¡¥ .IP "KC_CLOSEUICONTEXT" 18 ¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤¹¤ë¡¥ .IP "KC_QUERYMAXMODESTR" 18 ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÎºÇÂçŤòµá¤á¤ë¡¥ .PP jrKanjiControl¤ÎºîÍѤϴðËÜŪ¤Ë¤Ï¥³¥ó¥Æ¥¯¥¹¥È¤Ç»ØÄꤵ¤ì¤¿¤â¤Î¤ËÂФ·¤Æ¤Î ¤ßºîÍѤ·¤Þ¤¹¡¥¤¿¤À¤·¡¤½é´ü²½¤Î½èÍý¤ä½ªÎ»¤Î½èÍý¤Ë´Ø¤·¤Æ¤Ï¤½¤Î¸Â¤ê¤Ç¤Ï¤¢ ¤ê¤Þ¤»¤ó¡¥ .PP jrKanjiControl¤ÎÁàºî¤Ë¤è¤Ã¤ÆÌ¤³ÎÄêʸ»úÎó¤Î¾õÂÖ¤¬ÊѲ½¤·¤¿¤ê¡¤¥â¡¼¥É¤Î¾õ ÂÖ¤¬ÊѤï¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥¤½¤Î¤è¤¦¤Ê²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤ÏargÉôʬ¤ËÊѲ½¤· ¤¿¾ðÊó¤ò³ÊǼ¤Ç¤­¤ë¤è¤¦¤Ê¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÅϤ·¤Þ¤¹¡¥¤½¤Î¹½Â¤ÂΤÎÄêµÁ ¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥ .sp .nf .ft CW typedef struct { int val; /* ¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤µ¤ì¤¿Ê¸»úÎó¤ÎŤµ¤¬ÊÖ¤ë */ unsigned char *buffer; /* ³ÎÄêʸ»úÎó¤ò³ÊǼ¤¹¤ë¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡¤òÍ¿¤¨¤ë */ int bytes_buffer; /* ¾åµ­¤Î¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤òÍ¿¤¨¤ë */ jrKanjiStatus *ks; /* ̤³ÎÄêʸ»úÎó¤Î¾ðÊó¤ò³ÊǼ¤¹¤ë¹½Â¤ÂΤؤΥݥ¤¥ó¥¿ */ } jrKanjiStatusWithValue; .ft .fi .sp .PP jrKanjiControl¤Î¤½¤ì¤¾¤ì¤Îµ¡Ç½¤Î¼Â¹Ô¤Î¤·¤«¤¿¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥ .IP "(1)" 6 KC_INITIALIZE \- ¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü²½ .RS .PP KC_INITIALIZE¤ò\fIrequest\fPÉô¤Ç»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¤¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü ²½¤ò¹Ô¤¤¤Þ¤¹¡¥\fIarg\fP¤Ë¤Ïwarning¥á¥Ã¥»¡¼¥¸¤ò ³ÊǼ¤¹¤ë¤¿¤á¤Î(char **)·¿¤ÎÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Þ¤¿¤ÏNULL¤ò»ØÄꤷ¤Þ¤¹¡¥½é ´ü²½¤Î½èÍý¤Ï´ðËÜŪ¤Ë¤ÏjrKanjiString(3)¤¬ºÇ½é¤Ë¸Æ¤Ð¤ì¤¿»þ¤Ë¼«Æ°Åª¤Ë¹Ô¤ï ¤ì¤Þ¤¹¤¬¡¤jrKanjiControl¤òÍѤ¤¤Æ½é´ü²½¤¹¤ë ¤³¤È¤Ë¤è¤ê¡¤jrKanjiString(3)¤Ç¤Î½é´ü²½½èÍý¤Ï¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡¥ .PP jrKanjiString(3)¤Î»ÈÍѤËÀèΩ¤Ã¤ÆjrKanjiControl¤òÍѤ¤¤Æ¤«¤Ê´Á»úÊÑ´¹¤Ë´Ø ¤¹¤ëÀ©¸æ¤ò¹Ô¤¦»þ¤Ê¤É¤Ï¡¤´Á»úÊÑ´¹¤Î½é´ü²½¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥ .PP Àµ¾ï½ªÎ»»þ¤Ë¤ÏjrKanjiControl¤ÎÌá¤êÃͤȤ·¤Æ0¤¬Ê֤ꡤ°Û¾ï½ªÎ»»þ¤Ë¤Ï\-1¤¬ ÊÖ¤ê¤Þ¤¹¡¥ .PP KC_INITIALIZE¤ò¹Ô¤Ã¤¿¾ì¹ç¡¤¥¨¥é¡¼¤È¤Þ¤Ç¤Ï¤¤¤«¤Ê¤¯¤È¤â²¿¤é¤«¤Îwarning¤¬ ȯÀ¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥warning¤¬È¯À¸¤·¤¿¾ì¹ç¤Ïarg¤Ë¤ÆÍ¿¤¨¤é¤ì¤¿ ÊÑ¿ô¤ËÂФ·¤Æwarningʸ»úÎó¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ì ÊÖ¤µ¤ì¤Þ¤¹¡¥warning¤¬¤Ê¤¤¤È¤­¤ÏNULL¤¬³ÊǼ¤µ¤ìÊÖ¤µ¤ì¤Þ¤¹¡¥ .sp (Îã) .nf .ft CW int res; /* ¥¨¥é¡¼¤¬Ê֤äƤ¯¤ë¾ì¹ç¤ËÈ÷¤¨¤ë */ char **warning; ..... res = jrKanjiControl(0, KC_INITIALIZE, &warning); if (warning) { char **p; for (p = warning ; *p ; p++) { fprintf(stderr, "%s\n", *p); } } .ft .fi .sp .PP Â裳°ú¿ô¤ËÊÖ¤µ¤ì¤ëwarning¥á¥Ã¥»¡¼¥¸¤Ï¥é¥¤¥Ö¥é¥ê¤ÎÆâÉô¤Çmalloc¤µ¤ì¤Þ¤¹¡¥ ¤³¤ì¤Ï¡¤¼¡¤ËKC_INITIALIZE¤äKC_FINALIZE¤¬¹Ô¤ï¤ì¤¿»þ¤Ë³«Êü¤µ¤ì¤Þ¤¹¡¥¥¢¥× ¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¾¡¼ê¤Ëfree¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡¥warning¤Ïº£¤Î¤È¤³ ¤íºÇÂç64¥á¥Ã¥»¡¼¥¸¤Ë¸ÂÄꤵ¤ì¤Þ¤¹¡¥¤½¤ì°Ê¾å¤Î¥á¥Ã¥»¡¼¥¸¤ÏÀڼΤƤé¤ì¤Þ¤¹¡¥ .PP ¥á¥Ã¥»¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëwarning¤Ë¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥ .IP "¡¦" 3 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¬¥·¥¹¥Æ¥à¤Î¤â¤Î¤â´Þ¤á¤Æ¤¹¤Ù¤ÆÍøÍѤǤ­¤Ê¤¤¡¥ .IP "¡¦" 3 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼¤¬¤¢¤ë¡¥ .IP "¡¦" 3 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤¬ÍøÍѤǤ­¤Ê¤¤¡¥ .IP "¡¦" 3 ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤¬ÍøÍѤǤ­¤Ê¤¤¡¥ .IP "¡¦" 3 ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤Ç¤­¤Ê¤¤¡¥ .PP Â裳°ú¿ô¤È¤·¤ÆNULL¤ò»ØÄꤷ¤¿¾ì¹çwarning¥á¥Ã¥»¡¼¥¸¤Ï¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .RE .IP "(2)" 6 KC_CHANGEMODE \- ÆþÎϥ⡼¥É¤ÎÊѹ¹ .RS .PP ÆþÎϥ⡼¥É¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤éÊѹ¹¤·¤Þ¤¹¡¥\fIrequest\fP¤Î Éôʬ¤Ë¤ÏKC_CHANGEMODE¤ò»ØÄꤷ¡¤\fIarg\fP¤ËjrKanjiStatusWithValue¹½Â¤ÂÎ ¤ò»ØÄꤷ¤Æ²¼¤µ¤¤¡¥jrKanjiStatusWithValue¹½Â¤ÂΤÎ\fIval\fP¥á¥ó¥Ð¤Ë¤Æ¥â¡¼ ¥ÉÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤êÆüËܸì¥â¡¼¥É¤¬ÀÚ¤êÂØ¤ï¤ê¤Þ¤¹¡¥¥â¡¼¥ÉÈÖ¹æ¤Ï°Ê ²¼¤Î¥Þ¥¯¥í¤Ç¼¨¤µ¤ì¤Þ¤¹¡¥ .IP "¥Þ¥¯¥íÈÖ¹æ" 24 ¥â¡¼¥É .IP "CANNA_MODE_AlphaMode" 24 ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É .IP "CANNA_MODE_HenkanMode" 24 ÊÑ´¹ÆþÎϥ⡼¥É .IP "CANNA_MODE_KigoMode" 24 µ­¹æÆþÎϥ⡼¥É .IP "CANNA_MODE_ZenHiraKakuteiMode" 24 Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_ZenKataKakuteiMode" 24 Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_HanKataKakuteiMode" 24 Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_ZenAlphaKakuteiMode" 24 Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_HanAlphaKakuteiMode" 24 Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_HexMode" 24 16¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É .IP "CANNA_MODE_BushuMode" 24 Éô¼óÆþÎϥ⡼¥É .IP "CANNA_MODE_TorokuMode" 24 ñ¸ìÅÐÏ¿¥â¡¼¥É .PP ¤³¤Îµ¡Ç½¤Ë¤è¤ê¥â¡¼¥É¤òÊѹ¹¤¹¤ë¤È¥â¡¼¥É̾¤ò»Ï¤á¤È¤·¤ÆÂ¿¤¯¤Îɽ¼¨¤¬ÊѲ½¤ò ¼õ¤±¤Þ¤¹¡¥É½¼¨¤ÎÊѹ¹¤Ïarg¤È¤·¤Æ»ØÄꤷ¤¿jrKanjiStatusWithValue¹½Â¤ÂÎ¤Ë ¤ÆÊÖ¤µ¤ì¤Þ¤¹¡¥ .sp (Îã) .ft CW .nf jrKanjiStatus ks; jrKanjiStatusWithValue ksv; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; ksv.val = CANNA_MODE_HexMode; jrKanjiControl(context, KC_CHANGEMODE, &ksv); len = ksv.val; ..... /* ̤³ÎÄêʸ»úÎó¤ä³ÎÄêʸ»úÎó¤Î¾ðÊó¤¬ksv¤Ë¤è¤êÊÖ¤µ¤ì¤Þ¤¹¡¥ */ .fi .ft .sp .RE .IP "(3)" 6 KC_SETWIDTH \- ¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤ÎÉý¤ò»ØÄê .RS .PP ¸õÊä°ìÍ÷¤Î¤¿¤á¤ËÍѤ¤¤é¤ì¤ëÎΰè¤Î¥³¥é¥à¿ô¤ò»ØÄꤷ¤Þ¤¹¡¥£±¥³¥é¥à¤ÎÉý¤Ï¥¢ ¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú¤¢¤ë¤¤¤ÏȾ³Ñ¥«¥¿¥«¥Ê£±Ê¸»ú¤Îʸ»úÉý¤Ç¤¢¤ê¡¤Á´³Ñ´Á»ú¤Ï£² ¥³¥é¥àÀê¤á¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤ÎÉý¤ò »ØÄꤹ¤ë¤¿¤á¤Ë\fIrequest\fPÉôʬ¤Ë»ØÄꤹ¤ëÃͤÏKC_SETWIDTH¤Ç¡¤ ¤³¤Î¤È¤­\fIarg\fP¤Ë¥³¥é¥à¿ô¤ò»ØÄꤷ¤Þ¤¹¡¥ .sp (Îã) .ft CW .nf jrKanjiControl(0, KC_SETWIDTH, (char *)60); .fi .ft .sp .RE .IP "(4)" 6 KC_FINALIZE \- ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»½èÍý¡¥ .RS .PP ¥×¥í¥°¥é¥à¤ò½ªÎ»¤¹¤ë¤Ê¤É¤Î¶ÉÌ̤Ǥ«¤Ê´Á»úÊÑ´¹¤â½ªÎ»¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥ ¤«¤Ê´Á»úÊÑ´¹½èÍý¤ò½ªÎ»¤µ¤»¤ë»þ¤Ïɬ¤º¤³¤Î½èÍý¤ò¹Ô¤Ã¤Æ²¼¤µ¤¤¡¥½ª¤ï¤ë¤Ë¤¢ ¤¿¤Ã¤Æº£¤Þ¤Ç³Ø½¬¤·¤¿ÆâÍÆ¤¬¥Õ¥¡¥¤¥ë¤ËÅÐÏ¿¤µ¤ì¤Þ¤¹¡¥\fIrequest\fPÉôʬ¤Ë ¤ÏKC_FINALIZE¤ò»ØÄꤷ¤Þ¤¹¡¥ .PP Àµ¾ï½ªÎ»»þ¤Ë0¡¤°Û¾ï½ªÎ»»þ¤Ë\-1¤¬Ìá¤êÃͤȤ·¤ÆÊÖ¤ê¤Þ¤¹¡¥ .PP KC_FINALIZE¤ò¹Ô¤Ã¤¿¾ì¹ç¡¤¥¨¥é¡¼¤È¤Þ¤Ç¤¤¤«¤Ê¤¯¤È¤â²¿¤é¤«¤Îwarning¤¬È¯À¸ ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥warning¤¬È¯À¸¤·¤¿¾ì¹ç¤Ïarg¤Ë¤ÆÍ¿¤¨¤é¤ì¤¿ ÊÑ¿ô¤Ëwarningʸ»úÎó¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ìÊÖ¤µ¤ì¤Þ¤¹¡¥warning¤¬¤Ê ¤¤¾ì¹ç¤Ë¤ÏNULL¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ìÊÖ¤µ¤ì¤Þ¤¹¡¥ .sp (Îã) .ft CW .nf .fi int res; /* ¥¨¥é¡¼¤¬ÊÖ¤ë¾ì¹ç¤ËÈ÷¤¨¤ë */ char **warning; ..... res = jrKanjiControl(0, KC_FINALIZE, &warning); if (warning) { char **p; for (p = warning ; *p ; p++) { fprintf(stderr, "%s\n", *p); } } .ft .sp .PP Â裳°ú¿ô¤ËÊÖ¤µ¤ì¤ëwarning¥á¥Ã¥»¡¼¥¸¤Ï¡¤¥é¥¤¥Ö¥é¥ê¤ÎÆâÉô¤Çmalloc¤µ¤ì¤Þ ¤¹¡¥¤³¤ì¤Ï¡¤¼¡¤ËKC_INITIALIZE¤äKC_FINALIZE¤¬¹Ô¤ï¤ì¤¿»þ¤Ë³«Êü¤µ¤ì¤Þ¤¹¡¥ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¾¡¼ê¤Ëfree¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡¥ .PP warning¤Ïº£¤Î¤È¤³¤íºÇÂç64¥á¥Ã¥»¡¼¥¸¤Ë¸ÂÄꤵ¤ì¤Þ¤¹¡¥¤½¤ì°Ê¾å¤Î¥á¥Ã¥»¡¼ ¥¸¤ÏÀڼΤƤé¤ì¤Þ¤¹¡¥ .PP ¥á¥Ã¥»¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëwarning¤Ë¤Ï¼¡¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥ .IP "¡¦" 3 ¼­½ñ¤¬¥¢¥ó¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤¡¥ .PP Â裳°ú¿ô¤È¤·¤ÆNULL¤ò»ØÄꤷ¤¿¾ì¹ç¡¤warning¥á¥Ã¥»¡¼¥¸¤Ï¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .RE .IP "(5)" 6 KC_SETUNDEFKEYFUNCTION \- ̤ÄêµÁ¥­¡¼¤ËÂФ¹¤ëµ¡Ç½¤ÎÀßÄê .RS .PP ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ¤ÇC-t¤òÂǤ俤Ȥ­¤Î¤è¤¦¤Ë̤ÄêµÁ¥­¡¼¤òÆþÎϤ·¤¿»þ ¤Ë¼è¤é¤ì¤ë½èÍý¤ò»ØÄꤷ¤Þ¤¹¡¥Ì¤ÄêµÁ¥­¡¼¤ËÂбþ¤·¤Æ¹Ô¤ï¤ì¤ë½èÍý¤È¤·¤Æ¤Ï°Ê ²¼¤Î½èÍý¤¬¤¢¤ê¤Þ¤¹¡¥ .IP "¥Þ¥¯¥í̾" 12 ½èÍý .IP "kc_normal" 12 ¥Ó¡¼¥× .IP "kc_through" 12 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÅϤ¹ .IP "kc_kakutei" 12 ³ÎÄꤷ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÅϤ¹ .IP "kc_kill" 12 ¾Ãµî¤·¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÅϤ¹ .PP kc_normal¤ò»ØÄꤷ¤¿¾ì¹ç¡¤³°ÉôÊÑ¿ôjrBeepFunc¤ËÀßÄꤵ¤ì¤¿´Ø¿ô¤¬Ì¤ÄêµÁ¥­¡¼ ÆþÎÏ»þ¤Ë¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡¥jrBeepFunc¤ËÃͤòÀßÄê ¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï(jrBeepFunc == NULL¤Î¾ì¹ç¤Ë¤Ï)²¿¤âµ¯¤³¤ê¤Þ¤»¤ó¡¥ .sp (Îã) .ft CW .nf extern (*jrBeepFunc)(), beep(); jrBeepFunc = beep; jrKanjiControl(0, KC_SETUNDEFKEYFUNCTION, kc_normal); .fi .ft .sp .RE .IP "(6)" 6 KC_SETMODEINFOSTYLE \- ¥â¡¼¥É¾ðÊó¤Îɽ¸½ .RS .PP ¥â¡¼¥É¾ðÊó¤òʸ»úÎó¤Ç¤Ï¤Ê¤¯¥Ó¥Ã¥È¥Þ¥Ã¥×¤Ê¤É¤Î¥Ç¡¼¥¿¤Çɽ¼¨¤·¤¿¤¤¾ì¹ç¤¬¤¢ ¤ê¤Þ¤¹¡¥¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¥â¡¼¥É¾ðÊó¤È¤·¤Æ¿ôÃͥǡ¼¥¿¤¬Ê֤äƤ¯¤ë¤È½èÍý ¤¬¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡¥jrKanjiControl¤ÇKC_SETMODEINFOSTYLE¤ò »ØÄꤷ¡¤\fIarg\fP¤Ë£±¤òÅϤ¹¤³¤È¤Ë¤è¤Ã¤Æ¤½¤ì°Ê¸å¤ÏjrKanjiStatus¹½Â¤ÂÎ ¤Î\fImode\fP¥á¥ó¥Ð¤Ë¤Ï¥â¡¼¥É¤òɽ¤¹¿ôÃͤË'@'(0x40)¤ò²Ã¤¨¤¿£±Ê¸»ú¤¬ÊÖ¤µ ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥¥â¡¼¥É¤òɽ¤¹¿ôÃͤËÊÑ´¹¤¹¤ë¾ì¹ç¤Ë¤ÏÊ֤äƤ­¤¿Ê¸»úÎó ¤«¤é'@'(0x40)¤ò°ú¤­¤Þ¤¹¡¥¥â¡¼¥É¤òɽ¤¹¿ôÃͤˤĤ¤¤Æ¤ÏÆþÎϥ⡼¥É¤Î Êѹ¹((2)KC_CHANGEMODE)¤Î¤³¤¦¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡¥ .RE .IP "(7)" 6 KC_KAKUTEI¡¤(8) KC_KILL \- ÆþÎÏÃæ¤Îʸ»úÎó¤ÎÊü´þ .RS .PP ÆþÎÏÃæ¤Îʸ»úÎó¤ò²¿¤é¤«¤ÎÅÔ¹ç¤ÇÊü´þ¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡¥Êü´þ¤¹¤ë¾ì¹ç¤Ë ÆþÎÏÃæ¤Îʸ»úÎó¤ò³ÎÄêʸ»úÎó¤È¤·¤Æ¼è¤ê¹þ¤ó¤Ç¤«¤éÊü´þ¤·¤¿¤¤¾ì¹ç¤ÈÁ´¤¯¼Î¤Æ ¤Æ¤·¤Þ¤Ã¤Æ¤«¤éÊü´þ¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡¥³ÎÄꤹ¤ë ¾ì¹ç¤Ë¤ÏjrKanjiControl¤Ë¤ÆKC_KAKUTEI¤ò»ØÄꤷ¡¤Êü´þ¤¹¤ë ¾ì¹ç¤Ë¤ÏKC_KILL¤ò»ØÄꤷ¤Þ¤¹¡¥ .PP ¤³¤Î½èÍý¤Ïɽ¼¨¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤Î¤ÇÂ裳°ú¿ô¤Ë¤ÏjrKanjiStatusWithValue¹½Â¤ ÂΤò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .sp (Îã) .nf .ft CW jrKanjiStatusWithValue ksv; jrKanjiStatus ks; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; jrKanjiControl(context, KC_KAKUTEI, &ksv); len = ksv.val; ..... .ft .fi .sp .RE .IP "(9)" 6 KC_QUERYMODE \- ¥â¡¼¥É¤ÎÌ䤤¹ç¤ï¤» .RS .PP ¸½ºß¤Î¥â¡¼¥É¤òÌ䤤¹ç¤ï¤»¤ë¤Ë¤ÏjrKanjiControl¤ÇKC_QUERYMODE¤ò»ØÄꤷ¤Þ¤¹¡¥ .PP Â裳°ú¿ô¤Ë¤Ï¥â¡¼¥Éʸ»úÎó¤ò³ÊǼ¤¹¤ë¤¿¤á¤Îʸ»úÇÛÎó¤Î¥Ý¥¤¥ó¥¿¤ò»ØÄꤷ¤Þ¤¹¡¥ ¥â¡¼¥Éʸ»úÎó¤Ï¥Ì¥ëʸ»ú¤Ç½ª¤ï¤ëʸ»úÎó¤Ç¤¹¡¥¤³¤³¤Ë¿ôÃͤ¬ÊÖ¤ë¤è¤¦¤Ë¤¹¤ë¤Ë ¤ÏjrKanjiControl¤ÇKC_SETMODEINFOSTYLE¤ò»ØÄꤷ¤Æ¥â¡¼¥Éʸ»úÎó¤Î¥¹¥¿¥¤¥ë ¤òÊѹ¹¤·¤Æ¤ª¤­¤Þ¤¹¡¥ .sp (Îã) .nf .ft CW char currentMode[MAXMODELEN]; ..... jrKanjiControl(0, KC_QUERYMODE, currentMode); ..... .ft .fi .sp .RE .IP "(10)" 6 KC_SETSERVERNAME \- ¥µ¡¼¥Ð¤Î»ØÄê .RS .PP ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤·¤Æ¤É¤Î¥µ¡¼¥Ð¤ò»È¤¦¤«¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à ¤ò½ªÎ»¤¹¤ë¤³¤È¤Ê¤·¤ËÀÚÂØ¤¨¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤·¤ÆÀÜ Â³¤¹¤ë¤Ù¤­¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¤Ë¤ÏjrKanjiControl¤ÇKC_SETSERVERNAME¤ò»ØÄꤷ ¤Þ¤¹¡¥Â裳°ú¿ô¤Ë¤ÏÀܳ¤·¤¿¤¤¥µ¡¼¥Ð̾¤ò»ØÄꤷ¤Þ¤¹¡¥ .RE .IP "(11)" 6 KC_SETINITFILENAME \- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î»ØÄê .RS .PP ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¦¤«¤éÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç ¤­¤Þ¤¹¡¥¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤ÏjrKanjiControl¤Î Â裲°ú¿ô¤ËKC_SETINITFILENAME¤ò»ØÄꤷ¡¤Â裳°ú¿ô¤Ë¥Õ¥¡¥¤¥ë̾ʸ»úÎó¤ò»ØÄê ¤¹¤ë¤³¤È¤Ë¤è¤ê¹Ô¤¤¤Þ¤¹¡¥¤³¤Î½èÍý¤ò¹Ô¤¦¾ì¹ç¤ÏKC_INITIALIZE¤ËÀèΩ¤Ã¤Æ¼Â ¹Ô¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .sp (Îã) .nf .ft CW char *inifile = "app-own.canna" ..... jrKanjiControl(0, KC_SETINITFILENAME, initfile); ..... .ft .fi .sp .RE .IP "(12)" 6 KC_CLOSEUICONTEXT \- ¥³¥ó¥Æ¥¯¥¹¥È¤Î¥¯¥í¡¼¥º .RS .PP ÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤òɽ¤¹¥³¥ó¥Æ¥¯¥¹¥ÈID¤ÏǤ°Õ¤ÎÀ°¿ô¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­ ¤Þ¤¹¡¥º£¤Þ¤Ç»È¤ï¤ì¤Æ¤¤¤Ê¤¤ ¥³¥ó¥Æ¥¯¥¹¥ÈID¤òjrKanjiString¤¢¤ë¤¤¤ÏjrKanjiControl¤ËÍ¿¤¨¤ë¤³¤È¤¬²Äǽ ¤Ç¤¢¤ê¡¤¤½¤Î¾ì¹ç¡¤¤½¤Î¥³¥ó¥Æ¥¯¥¹¥ÈÍѤΥ¤¥Ë¥·¥ã¥é¥¤¥º¤¬¹Ô¤ï¤ìɬÍ×¤Ê¥á ¥â¥ê¤¬³ÎÊݤµ¤ì¤Þ¤¹¡¥ .PP ¤½¤ì¤Þ¤Ç»ÈÍѤ·¤Æ¤¤¤¿ÆþÎϥݡ¼¥È¤¬»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ë¡¤¤½¤Î¥Ý¡¼¥È¤Ë³ä ¤êÅö¤Æ¤Æ»È¤Ã¤Æ¤¤¤¿¥³¥ó¥Æ¥¯¥¹¥ÈIDÍѤ˳ÎÊݤµ¤ì¤¿¥á¥â¥ê¤ò ³«Êü¤¹¤ë¤Ë¤ÏjrKanjiControl¤òÂ裲°ú¿ô¤ËKC_CLOSEUICONTEXT¤ò»ØÄꤷ¤Æ¸Æ¤Ó ½Ð¤·¤Þ¤¹¡¥ .PP ¤³¤Î½èÍý¤Ïɽ¼¨¤ÎÊѲ½¤ò¤È¤â¤Ê¤¦¤Î¤ÇÂ裳°ú¿ô¤Ë¤ÏjrKanjiStatusWithValue¹½ ¤ÂΤòÍ¿¤¨¤Þ¤¹¡¥ .sp (Îã) .nf .ft CW jrKanjiStatusWithValue ksv; jrKanjiStatus ks; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; jrKanjiControl(0, KC_CLOSEUICONTEXT, &ksv); ..... .ft .fi .sp .RE .IP "(13)" 6 KC_QUERYMAXMODESTR \- ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÎºÇÂçŤòµá¤á¤ë¡¥ .RS .PP ½é´ü²½¥Õ¥¡¥¤¥ë¤Ë¤Æ¥â¡¼¥Éɽ¼¨Ê¸»úÎ󤬥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¤¬¡¤¥«¥¹¥¿¥Þ¥¤ ¥º¤µ¤ì¤¿·ë²Ì¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤Ë¤É¤ì¤À¤±¤Îɽ¼¨Îΰè¤ò³ÎÊݤ¹¤ë¤«¤òÄ´¤Ù¤ëɬ Íפ¬¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡¥jrKanjiControl¤òÂ裲°ú¿ô¤ËKC_QUERYMAXMODESTR¤ò »ØÄꤷ¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¡¤¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤È¤·¤Æ²¿¥³¥é¥àɬÍפ«¤¬ÊÖ¤ê ÃͤȤ·¤ÆÊÖ¤µ¤ì¤Þ¤¹¡¥¤³¤³¤Ç¸À¤¦¥³¥é¥à¤È¤ÏȾ³Ñ±Ñ¿ôʸ»ú¤Îʸ»úÉý¤ò£±¤È¤·¤¿ ¤È¤­¤ÎÃͤò¼¨¤·¤Þ¤¹¡¥ .PP Â裳°ú¿ô¤ÏÍѤ¤¤é¤ì¤Ê¤¤¤Î¤Ç¥À¥ß¡¼ÃͤȤ·¤Æ0¤òÍ¿¤¨¤Þ¤¹¡¥ .sp (Îã) .ft CW .nf int max_mode_columns; ..... max_mode_columns = jrKanjiControl(0, KC_QUERYMAXMODESTR, 0); ..... .fi .ft .sp .RE .\" @(#)kanji.man 1.5 89/06/30 09:13:01 .TH XLookupKanjiString 3K "1 September 1988" "X Version 11" .SH ̾¾Î XLookupKanjiString \- ¥­¡¼¥Ü¡¼¥ÉÆþÎϤδÁ»úʸ»úÎ󤨤ÎÊÑ´¹ .SH µ­½Ò·Á¼° .nf .ft B #include #include .PP .ft B int XLookupKanjiString(\fIevent_struct, buffer_return, bytes_buffer,\fP \fIkeysym_return, status_return, kanji_status_return\fP) XKeyEvent \fI*event_struct\fP; char \fI*buffer_return\fP; int \fIbytes_buffer\fP; KeySym \fI*keysym_return\fP; XComposeStatus \fI*status_return\fP; XKanjiStatus \fI*kanji_status_return\fP; .fi .ft R .SH °ú¿ô .RS .IP \fIevent_struct\fP 16 ¥­¡¼¥¤¥Ù¥ó¥È¤ò»ØÄꤷ¤Þ¤¹¡£ .IP \fIbuffer_return\fP 16 ÊÑ´¹¤·¤¿´Á»úʸ»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .IP \fIbytes_buffer\fP 16 ¥Ð¥Ã¥Õ¥¡¤ÎŤµ¤ò»ØÄꤷ¤Þ¤¹¡£ .IP \fIkeysym_return\fP 16 ¥­¡¼¥·¥ó¥Ü¥ë¤òÊÖ¤·¤Þ¤¹¡£NULL¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ .IP \fIstatus_return\fP 16 XCompose¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò»ØÄꤷ¤Þ¤¹¡£ .IP \fIkanji_status_return\fP 16 ¤«¤Ê´Á»úÊÑ´¹¤ÎÍͻҤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .RE .SH ÀâÌÀ .PP \fIXLookupKanjiString\fP¤Ï¡¢¥­¡¼¥¤¥Ù¥ó¥È¤òÆüËܸìʸ»úÎó¤Ë Âбþ¤µ¤»¤ë´Ê°×¥ë¡¼¥Á¥ó¤Ç¡¢ ¥­¡¼¥¤¥Ù¥ó¥È¤Î½¤¾þ¥­¡¼¥Ó¥Ã¥È¤ò»ÈÍѤ·¤Æ¥·¥Õ¥È¡¢¥í¥Ã¥¯¡¢ ¥³¥ó¥È¥í¡¼¥ëÅù¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£ .PP \fIXLookupKanjiString\fP¤Ë¤è¤Ã¤Æ8bit¥¢¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú µÚ¤Ó16bitÆüËܸìʸ»ú¤ò¼è¤ê°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ .PP ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú¤Î¼è¤ê°·¤¤¤Ë¤Ä¤¤¤Æ¤Ï¡¢ \fIXLookupKanjiString\fP¤Ï\fIXLookupString\fP¤ÈƱÍÍ¤ÎÆ°ºî¤Ë¤Ê¤ê¤Þ¤¹¡£ .PP ÆüËܸìʸ»ú¤Î¼è¤ê°·¤¤¤Ë¤Ä¤¤¤Æ¤Ï¡¢ ¤³¤Î´Ø¿ô¤ÎÆâÉô¤Ë¤ª¤¤¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¡¢ ¤«¤Ê´Á»úÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ ÆüËܸì¤ÎÆþÎÏ»þ¤ËXKanjiStatus¹½Â¤ÂΤ¬ÍѤ¤¤é¤ì¤Þ¤¹¡£XKanjiStatus¹½Â¤ÂÎ¤Ï °Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£ .PP .nf typedef struct _XKanjiStatus { unsigned char *echoStr; /* local echo string */ int length; /* length of echo string */ int revPos; /* reverse position */ int revLen; /* reverse length */ .mc \(br unsigned long info; /* other informations */ unsigned char *mode; /* mode information */ struct { unsigned char *line; /* a grance of Kanji characters */ int length; /* length of it */ int revPos; /* reverse position of it */ int revLen; /* reverse length of it */ } gline; /* a grancing line information */ .mc } XKanjiStatus; .mc \(br #define KanjiModeInfo 01 #define KanjiGLineInfo 02 .mc .fi .PP ¤«¤Ê´Á»úÊÑ´¹¤òÍѤ¤¤¿ÆüËܸìÆþÎÏ»þ¤Ë¤ÏÊÑ´¹¤ÎÂоݤȤʤëÆÉ¤ß¤Ê¤É¤ò ¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£XLookupKanjiString¤Ï¥í¡¼¥«¥ë ¥¨¥³¡¼¤Ê¤Éɽ¼¨¤Ë´Ø¤¹¤ë¤³¤È¤Ï²¿¤â¹Ô¤ï¤º¡¢Âå¤ï¤ê¤Ë¥í¡¼¥«¥ë¥¨¥³¡¼ ¤¹¤ë¤Ù¤­Ê¸»úÎó¤ò\fIXKanjiStatus\fP¹½Â¤ÂΤòÍѤ¤¤Æ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¦¤ËÊÖ¤·¤Þ¤¹¡£ .PP ÊÑ´¹¤¬³ÎÄꤹ¤ë¤Þ¤Ç¤Ï¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤µ¤ì¤Æ¤¤¤ëʸ»ú¤ä¡¢ ÊÑ´¹¸õÊäʸ»ú¤Ê¤É¡¢¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤Ù¤­(EUC) ʸ»úÎó¤¬\fIechoStr\fP¥á¥ó¥Ð¤Ë ¤è¤êÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤Î¤È¤­¡¢¥í¡¼¥«¥ë¥¨¥³¡¼Ê¸»úÎó¤Î Ťµ¡¢¥ê¥Ð¡¼¥¹É½¼¨¤Î³«»Ï°ÌÃÖ¤ÈŤµ¡Ê¥Ð¥¤¥Èñ°Ì¡Ë¤¬¡¢ ¤½¤ì¤¾¤ì¡¢\fIlength\fP¥á¥ó¥Ð¡¢\fIrevPos\fP¡¢\fIrevLen\fP¥á¥ó¥Ð¤Ë¤Æ ÊÖ¤µ¤ì¤Þ¤¹¡£ ¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤Ù¤­Ê¸»úÎó¤Î¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡¤ÏXLookupKanjiString¤Ë ¤è¤Ã¤Æ¼«Æ°Åª¤Ë³ÎÊݤµ¤ì¤Þ¤¹¤¬¡¢¤½¤ÎÎΰè¤ÏÆÉ¤ß¼è¤ê¤Î¤ß¤ËÍѤ¤¤é¤ì¤ë¤Ù¤­¤Ç¤¢¤ê¡¢ ¤½¤ÎÎΰè¤Ëʸ»úÎó¤ò½ñ¤­¹þ¤ó¤Ç¤Ï¤¤¤±¤Þ¤»¤ó¡£ .PP ¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤Ù¤­Ê¸»úÎó¤¬Ìµ¤¤¾ì¹ç¤Ï\fIlength\fP¥á¥ó¥Ð¤Ë£°¤¬ÊÖ¤ê¤Þ¤¹¡£ .PP ¥í¡¼¥«¥ë¥¨¥³¡¼¤¹¤Ù¤­ÆâÍÆ¤¬Á°²ó¤ÎXLookupKanjiString¤Î¸Æ¤Ó½Ð¤·¤Î¤È¤­¤È ÊѤï¤é¤Ê¤¤¾ì¹ç¡ÊÎ㤨¤Ð¥·¥Õ¥È¥­¡¼¤¬²¡¤µ¤ì¤¿¾ì¹ç¤Ê¤É¡Ë¤Ï\fIlength\fP¥á¥ó¥Ð¤Ë ¡Ý£±¤¬ÊÖ¤ê¤Þ¤¹¡£ .mc \(br .PP ¥â¡¼¥É¤ÎÊѹ¹¤ä¡¢¸õÊä°ìÍ÷¤Ë´Ø¤¹¤ë¾ðÊó¤Î̵ͭ¤Ï¡¢info¥á¥ó¥Ð¤Ë¤è¤Ã¤ÆÅϤµ¤ì ¤Þ¤¹¡£info¥á¥ó¥Ð¤ÎKanjiModeInfo¥Ó¥Ã¥È¤¬on¤Ç¤¢¤ì¤Ð¡¢mode¤Ë¿·¤·¤¤¥â¡¼¥É ¤ò¼¨¤¹Ê¸»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£info¥á¥ó¥Ð¤ÎKanjiGLineInfo¥Ó¥Ã¥È¤¬on¤Ç¤¢¤ì¤Ð¡¢ gline¹½Â¤ÂΤ˸õÊä°ìÍ÷Åù¤Î¾ðÊ󤬳ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ .PP gline¹½Â¤ÂΤÎline¥á¥ó¥Ð¤Ë¤Ï¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤Îʸ»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ gline¹½Â¤ÂΤÎline,revPos,revLen¤Î³Æ¥á¥ó¥Ð¤Ï¡¢¸õÊä°ìÍ÷ʸ»úÎó¤Î¤½¤ì¤¾¤ì¡¢ Ťµ¡¢¥ê¥Ð¡¼¥¹É½¼¨¤Î³«»Ï°ÌÃÖ¡¢¥ê¥Ð¡¼¥¹É½¼¨¤ÎŤµ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ .mc .PP ÊÑ´¹Ãæ¤Ë³ÎÄꤷ¤¿(EUC)ʸ»úÎ󤬤¢¤ë¾ì¹ç¤Ï¡¢ ¤½¤Îʸ»úÎó¤¬\fIbuffer_return\fP¤Ë³ÊǼ¤µ¤ì¡¢ ¤½¤Îʸ»úÎó¤ÎŤµ¡Ê¥Ð¥¤¥Èñ°Ì¡Ë¤¬¤³¤Î´Ø¿ô¤ÎÌá¤êÃͤȤ·¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£ ³ÎÄꤷ¤¿Ê¸»úÎó¤¬Ìµ¤¤¾ì¹ç¤ÏÌá¤êÃͤϣ°¤Ë¤Ê¤ê¤Þ¤¹¡£ .if t .pn 575 .TH XKANJICONTROL 3 "4 April 1991" .SH "̾Á°" XKanjiControl \- XLookupKanjiString¤Ç¤Î¥â¡¼¥É¤ä¡¤½èÍý¤ÎÀ©¸æ¤ò¹Ô¤¦ .SH "·Á¼°" .nf .B #include .B int XKanjiControl(\fIdpy, win, request, arg\fP) .B Display \fIdpy\fP; .B Window \fIwin\fP; .B int \fIrequest\fP; .B char \fI*arg\fP; .fi .SH "ÀâÌÀ" .PP XKanjiControl¤Ï\fIdpy, win\fP¤Ç¼¨¤µ¤ì¤ë¥¦¥£¥ó¥É¥¦¤Ë¤ª¤±¤ëÆüËܸìÆþÎÏ¤Ë ´Ø¤·¤Æ¡¤\fIrequest\fP¤Ç¼¨¤µ¤ì¤ë½èÍý¤ò¹Ô¤¤¤Þ¤¹¡¥½èÍý¤Ë¤è¤Ã¤Æ¤Ï¡¤°ú¿ô¤ò ȼ¤¦¾ì¹ç¤¬¤¢¤ê¡¤¤½¤Î¾ì¹ç¡¤°ú¿ô¤Ïarg¤Ë¤ÆÍ¿¤¨¤Þ¤¹¡¥ .PP XKanjiControl¤ÇÀ©¸æ¤µ¤ì¤ëµ¡Ç½¤È¤·¤Æ¤Ï°Ê²¼¤¬¤¢¤ê¤Þ¤¹¡¥ .IP "\fIrequest\fP̾" 18 µ¡Ç½ .IP "KC_INITIALIZE" 18 ¤«¤Ê´Á»úÊÑ´¹¤ò½é´ü²½¤¹¤ë¡¥ .IP "KC_CHANGEMODE" 18 ÆþÎϥ⡼¥É¤òÊѹ¹¤¹¤ë¡¥ .IP "KC_SETWIDTH" 18 ¸õÊä°ìÍ÷ɽ¼¨¤Î»þ¤ÎÉý¤ò»ØÄꤹ¤ë¡¥ .IP "KC_FINALIZE" 18 ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»½èÍý¡¥ .IP "KC_SETUNDEFKEYFUNCTION" 18 ̤ÄêµÁ¥­¡¼¤ËÂФ¹¤ëµ¡Ç½¤ÎÀßÄê¤ò¹Ô¤¦¡¥ .IP "KC_SETMODEINFOSTYLE" 18 ¥â¡¼¥É¾ðÊó¤ò¿ôÃͤÇɽ¸½¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤹ¤ë¡¥ .IP "KC_KAKUTEI" 18 ÆþÎÏÃæ¤Îʸ»úÎó¤ò³ÎÄꤹ¤ë¡¥ .IP "KC_KILL" 18 ÆþÎÏÃæ¤Îʸ»úÎó¤òºï½ü¤¹¤ë¡¥ .IP "KC_QUERYMODE" 18 ¸½ºß¤Î¥â¡¼¥É¤òÌ䤤¹ç¤ï¤»¤ë¡¥ .IP "KC_SETSERVERNAME" 18 Àܳ¤¹¤ë¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¡¥ .IP "KC_SETINITFILENAME" 18 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¡¥ .IP "KC_CLOSEUICONTEXT" 18 ¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤¹¤ë¡¥ .IP "KC_QUERYMAXMODESTR" 18 ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÎºÇÂçŤòµá¤á¤ë¡¥ .PP XKanjiControl¤ÎºîÍѤϴðËÜŪ¤Ë¤Ï\fIdpy, win\fP¤Ç»ØÄꤵ¤ì¤¿¥¦¥£¥ó¥É¥¦¤Ç ¤ÎÆüËܸìÆþÎϤËÂФ·¤Æ¤Î ¤ßºîÍѤ·¤Þ¤¹¡¥¤¿¤À¤·¡¤½é´ü²½¤Î½èÍý¤ä½ªÎ»¤Î½èÍý¤Ë´Ø¤·¤Æ¤Ï¤½¤Î¸Â¤ê¤Ç¤Ï¤¢ ¤ê¤Þ¤»¤ó¡¥ .PP XKanjiControl¤ÎÁàºî¤Ë¤è¤Ã¤ÆÌ¤³ÎÄêʸ»úÎó¤Î¾õÂÖ¤¬ÊѲ½¤·¤¿¤ê¡¤¥â¡¼¥É¤Î¾õ ÂÖ¤¬ÊѤï¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥¤½¤Î¤è¤¦¤Ê²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤ÏargÉôʬ¤ËÊѲ½¤· ¤¿¾ðÊó¤ò³ÊǼ¤Ç¤­¤ë¤è¤¦¤Ê¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÅϤ·¤Þ¤¹¡¥¤½¤Î¹½Â¤ÂΤÎÄêµÁ ¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥ .sp .nf .ft CW typedef struct { int val; /* ¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤µ¤ì¤¿Ê¸»úÎó¤ÎŤµ¤¬ÊÖ¤ë */ unsigned char *buffer; /* ³ÎÄêʸ»úÎó¤ò³ÊǼ¤¹¤ë¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡¤òÍ¿¤¨¤ë */ int bytes_buffer; /* ¾åµ­¤Î¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤òÍ¿¤¨¤ë */ XKanjiStatus *ks; /* ̤³ÎÄêʸ»úÎó¤Î¾ðÊó¤ò³ÊǼ¤¹¤ë¹½Â¤ÂΤؤΥݥ¤¥ó¥¿ */ } XKanjiStatusWithValue; .ft .fi .sp .PP XKanjiControl¤Î¤½¤ì¤¾¤ì¤Îµ¡Ç½¤Î¼Â¹Ô¤Î¤·¤«¤¿¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥ .IP "(1)" 6 KC_INITIALIZE \- ¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü²½ .RS .PP KC_INITIALIZE¤ò\fIrequest\fPÉô¤Ç»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¤¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü ²½¤ò¹Ô¤¤¤Þ¤¹¡¥\fIarg\fP¤Ë¤Ïwarning¥á¥Ã¥»¡¼¥¸¤ò ³ÊǼ¤¹¤ë¤¿¤á¤Î(char **)·¿¤ÎÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Þ¤¿¤ÏNULL¤ò»ØÄꤷ¤Þ¤¹¡¥½é ´ü²½¤Î½èÍý¤Ï´ðËÜŪ¤Ë¤ÏXKanjiString(3)¤¬ºÇ½é¤Ë¸Æ¤Ð¤ì¤¿»þ¤Ë¼«Æ°Åª¤Ë¹Ô¤ï ¤ì¤Þ¤¹¤¬¡¤XKanjiControl¤òÍѤ¤¤Æ½é´ü²½¤¹¤ë ¤³¤È¤Ë¤è¤ê¡¤XKanjiString(3)¤Ç¤Î½é´ü²½½èÍý¤Ï¹Ô¤ï¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡¥ .PP XKanjiString(3)¤Î»ÈÍѤËÀèΩ¤Ã¤ÆXKanjiControl¤òÍѤ¤¤Æ¤«¤Ê´Á»úÊÑ´¹¤Ë´Ø ¤¹¤ëÀ©¸æ¤ò¹Ô¤¦»þ¤Ê¤É¤Ï¡¤´Á»úÊÑ´¹¤Î½é´ü²½¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥ .PP Àµ¾ï½ªÎ»»þ¤Ë¤ÏXKanjiControl¤ÎÌá¤êÃͤȤ·¤Æ0¤¬Ê֤ꡤ°Û¾ï½ªÎ»»þ¤Ë¤Ï\-1¤¬ ÊÖ¤ê¤Þ¤¹¡¥ .PP KC_INITIALIZE¤ò¹Ô¤Ã¤¿¾ì¹ç¡¤¥¨¥é¡¼¤È¤Þ¤Ç¤Ï¤¤¤«¤Ê¤¯¤È¤â²¿¤é¤«¤Îwarning¤¬ ȯÀ¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥warning¤¬È¯À¸¤·¤¿¾ì¹ç¤Ïarg¤Ë¤ÆÍ¿¤¨¤é¤ì¤¿ ÊÑ¿ô¤ËÂФ·¤Æwarningʸ»úÎó¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ì ÊÖ¤µ¤ì¤Þ¤¹¡¥warning¤¬¤Ê¤¤¤È¤­¤ÏNULL¤¬³ÊǼ¤µ¤ìÊÖ¤µ¤ì¤Þ¤¹¡¥ .sp (Îã) .nf .ft CW int res; /* ¥¨¥é¡¼¤¬Ê֤äƤ¯¤ë¾ì¹ç¤ËÈ÷¤¨¤ë */ char **warning; ..... res = XKanjiControl(dpy, win, KC_INITIALIZE, &warning); if (warning) { char **p; for (p = warning ; *p ; p++) { fprintf(stderr, "%s\n", *p); } } .ft .fi .sp .PP Âè4°ú¿ô¤ËÊÖ¤µ¤ì¤ëwarning¥á¥Ã¥»¡¼¥¸¤Ï¥é¥¤¥Ö¥é¥ê¤ÎÆâÉô¤Çmalloc¤µ¤ì¤Þ¤¹¡¥ ¤³¤ì¤Ï¡¤¼¡¤ËKC_INITIALIZE¤äKC_FINALIZE¤¬¹Ô¤ï¤ì¤¿»þ¤Ë³«Êü¤µ¤ì¤Þ¤¹¡¥¥¢¥× ¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¾¡¼ê¤Ëfree¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡¥warning¤Ïº£¤Î¤È¤³ ¤íºÇÂç64¥á¥Ã¥»¡¼¥¸¤Ë¸ÂÄꤵ¤ì¤Þ¤¹¡¥¤½¤ì°Ê¾å¤Î¥á¥Ã¥»¡¼¥¸¤ÏÀڼΤƤé¤ì¤Þ¤¹¡¥ .PP ¥á¥Ã¥»¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëwarning¤Ë¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥ .IP "¡¦" 3 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤¬¥·¥¹¥Æ¥à¤Î¤â¤Î¤â´Þ¤á¤Æ¤¹¤Ù¤ÆÍøÍѤǤ­¤Ê¤¤¡¥ .IP "¡¦" 3 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼¤¬¤¢¤ë¡¥ .IP "¡¦" 3 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤¬ÍøÍѤǤ­¤Ê¤¤¡¥ .IP "¡¦" 3 ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤¬ÍøÍѤǤ­¤Ê¤¤¡¥ .IP "¡¦" 3 ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤Ç¤­¤Ê¤¤¡¥ .PP Âè4°ú¿ô¤È¤·¤ÆNULL¤ò»ØÄꤷ¤¿¾ì¹çwarning¥á¥Ã¥»¡¼¥¸¤Ï¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .RE .IP "(2)" 6 KC_CHANGEMODE \- ÆþÎϥ⡼¥É¤ÎÊѹ¹ .RS .PP ÆþÎϥ⡼¥É¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤éÊѹ¹¤·¤Þ¤¹¡¥\fIrequest\fP¤Î Éôʬ¤Ë¤ÏKC_CHANGEMODE¤ò»ØÄꤷ¡¤\fIarg\fP¤ËXKanjiStatusWithValue¹½Â¤ÂÎ ¤ò»ØÄꤷ¤Æ²¼¤µ¤¤¡¥XKanjiStatusWithValue¹½Â¤ÂΤÎ\fIval\fP¥á¥ó¥Ð¤Ë¤Æ¥â¡¼ ¥ÉÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤êÆüËܸì¥â¡¼¥É¤¬ÀÚ¤êÂØ¤ï¤ê¤Þ¤¹¡¥¥â¡¼¥ÉÈÖ¹æ¤Ï°Ê ²¼¤Î¥Þ¥¯¥í¤Ç¼¨¤µ¤ì¤Þ¤¹¡¥ .IP "¥Þ¥¯¥íÈÖ¹æ" 24 ¥â¡¼¥É .IP "CANNA_MODE_AlphaMode" 24 ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É .IP "CANNA_MODE_HenkanMode" 24 ÊÑ´¹ÆþÎϥ⡼¥É .IP "CANNA_MODE_KigoMode" 24 µ­¹æÆþÎϥ⡼¥É .IP "CANNA_MODE_ZenHiraKakuteiMode" 24 Á´³Ñ¤Ò¤é¤¬¤Ê³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_ZenKataKakuteiMode" 24 Á´³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_HanKataKakuteiMode" 24 Ⱦ³Ñ¥«¥¿¥«¥Ê³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_ZenAlphaKakuteiMode" 24 Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_HanAlphaKakuteiMode" 24 Ⱦ³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È³ÎÄêÆþÎϥ⡼¥É .IP "CANNA_MODE_HexMode" 24 16¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É .IP "CANNA_MODE_BushuMode" 24 Éô¼óÆþÎϥ⡼¥É .IP "CANNA_MODE_TorokuMode" 24 ñ¸ìÅÐÏ¿¥â¡¼¥É .PP ¤³¤Îµ¡Ç½¤Ë¤è¤ê¥â¡¼¥É¤òÊѹ¹¤¹¤ë¤È¥â¡¼¥É̾¤ò»Ï¤á¤È¤·¤ÆÂ¿¤¯¤Îɽ¼¨¤¬ÊѲ½¤ò ¼õ¤±¤Þ¤¹¡¥É½¼¨¤ÎÊѹ¹¤Ïarg¤È¤·¤Æ»ØÄꤷ¤¿XKanjiStatusWithValue¹½Â¤ÂÎ¤Ë ¤ÆÊÖ¤µ¤ì¤Þ¤¹¡¥ .sp (Îã) .ft CW .nf XKanjiStatus ks; XKanjiStatusWithValue ksv; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; ksv.val = CANNA_MODE_HexMode; XKanjiControl(dpy, win, KC_CHANGEMODE, &ksv); len = ksv.val; ..... /* ̤³ÎÄêʸ»úÎó¤ä³ÎÄêʸ»úÎó¤Î¾ðÊó¤¬ksv¤Ë¤è¤êÊÖ¤µ¤ì¤Þ¤¹¡¥ */ .fi .ft .sp .RE .IP "(3)" 6 KC_SETWIDTH \- ¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤ÎÉý¤ò»ØÄê .RS .PP ¸õÊä°ìÍ÷¤Î¤¿¤á¤ËÍѤ¤¤é¤ì¤ëÎΰè¤Î¥³¥é¥à¿ô¤ò»ØÄꤷ¤Þ¤¹¡¥£±¥³¥é¥à¤ÎÉý¤Ï¥¢ ¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú¤¢¤ë¤¤¤ÏȾ³Ñ¥«¥¿¥«¥Ê£±Ê¸»ú¤Îʸ»úÉý¤Ç¤¢¤ê¡¤Á´³Ñ´Á»ú¤Ï£² ¥³¥é¥àÀê¤á¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥¸õÊä°ìÍ÷ɽ¼¨¤Î¤¿¤á¤ÎÉý¤ò »ØÄꤹ¤ë¤¿¤á¤Ë\fIrequest\fPÉôʬ¤Ë»ØÄꤹ¤ëÃͤÏKC_SETWIDTH¤Ç¡¤ ¤³¤Î¤È¤­\fIarg\fP¤Ë¥³¥é¥à¿ô¤ò»ØÄꤷ¤Þ¤¹¡¥ .sp (Îã) .ft CW .nf XKanjiControl(dpy, win, KC_SETWIDTH, (char *)60); .fi .ft .sp .RE .IP "(4)" 6 KC_FINALIZE \- ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»½èÍý¡¥ .RS .PP ¥×¥í¥°¥é¥à¤ò½ªÎ»¤¹¤ë¤Ê¤É¤Î¶ÉÌ̤Ǥ«¤Ê´Á»úÊÑ´¹¤â½ªÎ»¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥ ¤«¤Ê´Á»úÊÑ´¹½èÍý¤ò½ªÎ»¤µ¤»¤ë»þ¤Ïɬ¤º¤³¤Î½èÍý¤ò¹Ô¤Ã¤Æ²¼¤µ¤¤¡¥½ª¤ï¤ë¤Ë¤¢ ¤¿¤Ã¤Æº£¤Þ¤Ç³Ø½¬¤·¤¿ÆâÍÆ¤¬¥Õ¥¡¥¤¥ë¤ËÅÐÏ¿¤µ¤ì¤Þ¤¹¡¥\fIrequest\fPÉôʬ¤Ë ¤ÏKC_FINALIZE¤ò»ØÄꤷ¤Þ¤¹¡¥ .PP Àµ¾ï½ªÎ»»þ¤Ë0¡¤°Û¾ï½ªÎ»»þ¤Ë\-1¤¬Ìá¤êÃͤȤ·¤ÆÊÖ¤ê¤Þ¤¹¡¥ .PP KC_FINALIZE¤ò¹Ô¤Ã¤¿¾ì¹ç¡¤¥¨¥é¡¼¤È¤Þ¤Ç¤¤¤«¤Ê¤¯¤È¤â²¿¤é¤«¤Îwarning¤¬È¯À¸ ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥warning¤¬È¯À¸¤·¤¿¾ì¹ç¤Ïarg¤Ë¤ÆÍ¿¤¨¤é¤ì¤¿ ÊÑ¿ô¤Ëwarningʸ»úÎó¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ìÊÖ¤µ¤ì¤Þ¤¹¡¥warning¤¬¤Ê ¤¤¾ì¹ç¤Ë¤ÏNULL¥Ý¥¤¥ó¥¿¤¬³ÊǼ¤µ¤ìÊÖ¤µ¤ì¤Þ¤¹¡¥ .sp (Îã) .ft CW .nf .fi int res; /* ¥¨¥é¡¼¤¬ÊÖ¤ë¾ì¹ç¤ËÈ÷¤¨¤ë */ char **warning; ..... res = XKanjiControl(dpy, win, KC_FINALIZE, &warning); if (warning) { char **p; for (p = warning ; *p ; p++) { fprintf(stderr, "%s\n", *p); } } .ft .sp .PP Âè4°ú¿ô¤ËÊÖ¤µ¤ì¤ëwarning¥á¥Ã¥»¡¼¥¸¤Ï¡¤¥é¥¤¥Ö¥é¥ê¤ÎÆâÉô¤Çmalloc¤µ¤ì¤Þ ¤¹¡¥¤³¤ì¤Ï¡¤¼¡¤ËKC_INITIALIZE¤äKC_FINALIZE¤¬¹Ô¤ï¤ì¤¿»þ¤Ë³«Êü¤µ¤ì¤Þ¤¹¡¥ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¾¡¼ê¤Ëfree¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡¥ .PP warning¤Ïº£¤Î¤È¤³¤íºÇÂç64¥á¥Ã¥»¡¼¥¸¤Ë¸ÂÄꤵ¤ì¤Þ¤¹¡¥¤½¤ì°Ê¾å¤Î¥á¥Ã¥»¡¼ ¥¸¤ÏÀڼΤƤé¤ì¤Þ¤¹¡¥ .PP ¥á¥Ã¥»¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ëwarning¤Ë¤Ï¼¡¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥ .IP "¡¦" 3 ¼­½ñ¤¬¥¢¥ó¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤¡¥ .PP Âè4°ú¿ô¤È¤·¤ÆNULL¤ò»ØÄꤷ¤¿¾ì¹ç¡¤warning¥á¥Ã¥»¡¼¥¸¤Ï¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .RE .IP "(5)" 6 KC_SETUNDEFKEYFUNCTION \- ̤ÄêµÁ¥­¡¼¤ËÂФ¹¤ëµ¡Ç½¤ÎÀßÄê .RS .PP ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ¤ÇC-t¤òÂǤ俤Ȥ­¤Î¤è¤¦¤Ë̤ÄêµÁ¥­¡¼¤òÆþÎϤ·¤¿»þ ¤Ë¼è¤é¤ì¤ë½èÍý¤ò»ØÄꤷ¤Þ¤¹¡¥Ì¤ÄêµÁ¥­¡¼¤ËÂбþ¤·¤Æ¹Ô¤ï¤ì¤ë½èÍý¤È¤·¤Æ¤Ï°Ê ²¼¤Î½èÍý¤¬¤¢¤ê¤Þ¤¹¡¥ .IP "¥Þ¥¯¥í̾" 12 ½èÍý .IP "kc_normal" 12 ¥Ó¡¼¥× .IP "kc_through" 12 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÅϤ¹ .IP "kc_kakutei" 12 ³ÎÄꤷ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÅϤ¹ .IP "kc_kill" 12 ¾Ãµî¤·¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÅϤ¹ .PP kc_normal¤ò»ØÄꤷ¤¿¾ì¹ç¡¤³°ÉôÊÑ¿ôjrBeepFunc¤ËÀßÄꤵ¤ì¤¿´Ø¿ô¤¬Ì¤ÄêµÁ¥­¡¼ ÆþÎÏ»þ¤Ë¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡¥jrBeepFunc¤ËÃͤòÀßÄê ¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï(jrBeepFunc == NULL¤Î¾ì¹ç¤Ë¤Ï)²¿¤âµ¯¤³¤ê¤Þ¤»¤ó¡¥ .sp (Îã) .ft CW .nf extern (*jrBeepFunc)(), beep(); jrBeepFunc = beep; XKanjiControl(dpy, win, KC_SETUNDEFKEYFUNCTION, kc_normal); .fi .ft .sp .RE .IP "(6)" 6 KC_SETMODEINFOSTYLE \- ¥â¡¼¥É¾ðÊó¤Îɽ¸½ .RS .PP ¥â¡¼¥É¾ðÊó¤òʸ»úÎó¤Ç¤Ï¤Ê¤¯¥Ó¥Ã¥È¥Þ¥Ã¥×¤Ê¤É¤Î¥Ç¡¼¥¿¤Çɽ¼¨¤·¤¿¤¤¾ì¹ç¤¬¤¢ ¤ê¤Þ¤¹¡¥¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¥â¡¼¥É¾ðÊó¤È¤·¤Æ¿ôÃͥǡ¼¥¿¤¬Ê֤äƤ¯¤ë¤È½èÍý ¤¬¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡¥XKanjiControl¤ÇKC_SETMODEINFOSTYLE¤ò »ØÄꤷ¡¤\fIarg\fP¤Ë£±¤òÅϤ¹¤³¤È¤Ë¤è¤Ã¤Æ¤½¤ì°Ê¸å¤ÏXKanjiStatus¹½Â¤ÂÎ ¤Î\fImode\fP¥á¥ó¥Ð¤Ë¤Ï¥â¡¼¥É¤òɽ¤¹¿ôÃͤË'@'(0x40)¤ò²Ã¤¨¤¿£±Ê¸»ú¤¬ÊÖ¤µ ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥¥â¡¼¥É¤òɽ¤¹¿ôÃͤËÊÑ´¹¤¹¤ë¾ì¹ç¤Ë¤ÏÊ֤äƤ­¤¿Ê¸»úÎó ¤«¤é'@'(0x40)¤ò°ú¤­¤Þ¤¹¡¥¥â¡¼¥É¤òɽ¤¹¿ôÃͤˤĤ¤¤Æ¤ÏÆþÎϥ⡼¥É¤Î Êѹ¹((2)KC_CHANGEMODE)¤Î¤³¤¦¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡¥ .RE .IP "(7)" 6 KC_KAKUTEI¡¤(8) KC_KILL \- ÆþÎÏÃæ¤Îʸ»úÎó¤ÎÊü´þ .RS .PP ÆþÎÏÃæ¤Îʸ»úÎó¤ò²¿¤é¤«¤ÎÅÔ¹ç¤ÇÊü´þ¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡¥Êü´þ¤¹¤ë¾ì¹ç¤Ë ÆþÎÏÃæ¤Îʸ»úÎó¤ò³ÎÄêʸ»úÎó¤È¤·¤Æ¼è¤ê¹þ¤ó¤Ç¤«¤éÊü´þ¤·¤¿¤¤¾ì¹ç¤ÈÁ´¤¯¼Î¤Æ ¤Æ¤·¤Þ¤Ã¤Æ¤«¤éÊü´þ¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡¥³ÎÄꤹ¤ë ¾ì¹ç¤Ë¤ÏXKanjiControl¤Ë¤ÆKC_KAKUTEI¤ò»ØÄꤷ¡¤Êü´þ¤¹¤ë ¾ì¹ç¤Ë¤ÏKC_KILL¤ò»ØÄꤷ¤Þ¤¹¡¥ .PP ¤³¤Î½èÍý¤Ïɽ¼¨¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤Î¤ÇÂè4°ú¿ô¤Ë¤ÏXKanjiStatusWithValue¹½Â¤ ÂΤò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .sp .nf .ft CW XKanjiStatusWithValue ksv; XKanjiStatus ks; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; XKanjiControl(dpy, win, KC_KAKUTEI, &ksv); len = ksv.val; ..... .ft .fi .sp .RE .IP "(9)" 6 KC_QUERYMODE \- ¥â¡¼¥É¤ÎÌ䤤¹ç¤ï¤» .RS .PP ¸½ºß¤Î¥â¡¼¥É¤òÌ䤤¹ç¤ï¤»¤ë¤Ë¤ÏXKanjiControl¤ÇKC_QUERYMODE¤ò»ØÄꤷ¤Þ¤¹¡¥ .PP Âè4°ú¿ô¤Ë¤Ï¥â¡¼¥Éʸ»úÎó¤ò³ÊǼ¤¹¤ë¤¿¤á¤Îʸ»úÇÛÎó¤Î¥Ý¥¤¥ó¥¿¤ò»ØÄꤷ¤Þ¤¹¡¥ ¥â¡¼¥Éʸ»úÎó¤Ï¥Ì¥ëʸ»ú¤Ç½ª¤ï¤ëʸ»úÎó¤Ç¤¹¡¥¤³¤³¤Ë¿ôÃͤ¬ÊÖ¤ë¤è¤¦¤Ë¤¹¤ë¤Ë ¤ÏXKanjiControl¤ÇKC_SETMODEINFOSTYLE¤ò»ØÄꤷ¤Æ¥â¡¼¥Éʸ»úÎó¤Î¥¹¥¿¥¤¥ë ¤òÊѹ¹¤·¤Æ¤ª¤­¤Þ¤¹¡¥ .sp (Îã) .nf .ft CW char currentMode[MAXMODELEN]; ..... XKanjiControl(dpy, win, KC_QUERYMODE, currentMode); ..... .ft .fi .sp .RE .IP "(10)" 6 KC_SETSERVERNAME \- ¥µ¡¼¥Ð¤Î»ØÄê .RS .PP ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤·¤Æ¤É¤Î¥µ¡¼¥Ð¤ò»È¤¦¤«¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à ¤ò½ªÎ»¤¹¤ë¤³¤È¤Ê¤·¤ËÀÚÂØ¤¨¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤·¤ÆÀÜ Â³¤¹¤ë¤Ù¤­¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¤Ë¤ÏXKanjiControl¤ÇKC_SETSERVERNAME¤ò»ØÄꤷ ¤Þ¤¹¡¥Âè4°ú¿ô¤Ë¤ÏÀܳ¤·¤¿¤¤¥µ¡¼¥Ð̾¤ò»ØÄꤷ¤Þ¤¹¡¥ .RE .IP "(11)" 6 KC_SETINITFILENAME \- ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î»ØÄê .RS .PP ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¦¤«¤éÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç ¤­¤Þ¤¹¡¥¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤ÏXKanjiControl¤Î Âè3°ú¿ô¤ËKC_SETINITFILENAME¤ò»ØÄꤷ¡¤Âè4°ú¿ô¤Ë¥Õ¥¡¥¤¥ë̾ʸ»úÎó¤ò»ØÄê ¤¹¤ë¤³¤È¤Ë¤è¤ê¹Ô¤¤¤Þ¤¹¡¥¤³¤Î½èÍý¤ò¹Ô¤¦¾ì¹ç¤ÏKC_INITIALIZE¤ËÀèΩ¤Ã¤Æ¼Â ¹Ô¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .sp (Îã) .nf .ft CW char *inifile = "app-own.canna" ..... XKanjiControl(dpy, win, KC_SETINITFILENAME, initfile); ..... .ft .fi .sp .RE .IP "(12)" 6 KC_CLOSEUICONTEXT \- ¥³¥ó¥Æ¥¯¥¹¥È¤Î¥¯¥í¡¼¥º .RS .PP XKanjiControl¤äXKanjiString¤ò¸Æ¤Ó½Ð¤¹¤È¡¤\fIdpy, win\fP¤ÎÁȤ߹ç¤ï¤»¤Ë ÂФ·¤Æ¤Ò¤È¤Ä¤ÎÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤ò³ä¤êÅö¤Æ¤Þ¤¹¡¥ º£¤Þ¤Ç»È¤ï¤ì¤Æ¤¤¤Ê¤¤\fIdpy, win\fP¤Î ÁȤ߹ç¤ï¤»¤òXKanjiString¤¢¤ë¤¤¤ÏXKanjiControl¤ËÍ¿¤¨¤ë¤³¤È¤¬²Äǽ ¤Ç¤¢¤ê¡¤¤½¤Î¾ì¹ç¡¤¤½¤Î¥¦¥£¥ó¥É¥¦ÍѤ˿·¤¿¤Ë¥³¥ó¥Æ¥¯¥¹¥È¤¬ºîÀ®¤µ¤ìɬÍ×¤Ê¥á ¥â¥ê¤¬³ÎÊݤµ¤ì¤Þ¤¹¡¥ .PP ¤½¤ì¤Þ¤Ç»ÈÍѤ·¤Æ¤¤¤¿¥¦¥£¥ó¥É¥¦¤¬»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ë¡¤¤½¤Î¥¦¥£¥ó¥É¥¦¤Ë³ä ¤êÅö¤Æ¤Æ»È¤Ã¤Æ¤¤¤¿¥³¥ó¥Æ¥¯¥¹¥ÈÍѤ˳ÎÊݤµ¤ì¤¿¥á¥â¥ê¤ò ³«Êü¤¹¤ë¤Ë¤ÏXKanjiControl¤òÂè3°ú¿ô¤ËKC_CLOSEUICONTEXT¤ò»ØÄꤷ¤Æ¸Æ¤Ó ½Ð¤·¤Þ¤¹¡¥ .PP ¤³¤Î½èÍý¤Ïɽ¼¨¤ÎÊѲ½¤ò¤È¤â¤Ê¤¦¤Î¤ÇÂè4°ú¿ô¤Ë¤ÏXKanjiStatusWithValue¹½ ¤ÂΤòÍ¿¤¨¤Þ¤¹¡¥ .sp (Îã) .nf .ft CW XKanjiStatusWithValue ksv; XKanjiStatus ks; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; XKanjiControl(dpy, win, KC_CLOSEUICONTEXT, &ksv); ..... .ft .fi .sp .RE .IP "(13)" 6 KC_QUERYMAXMODESTR \- ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ÎºÇÂçŤòµá¤á¤ë¡¥ .RS .PP ½é´ü²½¥Õ¥¡¥¤¥ë¤Ë¤Æ¥â¡¼¥Éɽ¼¨Ê¸»úÎ󤬥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤Þ¤¹¤¬¡¤¥«¥¹¥¿¥Þ¥¤ ¥º¤µ¤ì¤¿·ë²Ì¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤Ë¤É¤ì¤À¤±¤Îɽ¼¨Îΰè¤ò³ÎÊݤ¹¤ë¤«¤òÄ´¤Ù¤ëɬ Íפ¬¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡¥XKanjiControl¤òÂè3°ú¿ô¤ËKC_QUERYMAXMODESTR¤ò »ØÄꤷ¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¡¤¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤È¤·¤Æ²¿¥³¥é¥àɬÍפ«¤¬ÊÖ¤ê ÃͤȤ·¤ÆÊÖ¤µ¤ì¤Þ¤¹¡¥¤³¤³¤Ç¸À¤¦¥³¥é¥à¤È¤ÏȾ³Ñ±Ñ¿ôʸ»ú¤Îʸ»úÉý¤ò£±¤È¤·¤¿ ¤È¤­¤ÎÃͤò¼¨¤·¤Þ¤¹¡¥ .PP Âè4°ú¿ô¤ÏÍѤ¤¤é¤ì¤Ê¤¤¤Î¤Ç¥À¥ß¡¼ÃͤȤ·¤Æ0¤òÍ¿¤¨¤Þ¤¹¡¥ .sp (Îã) .ft CW .nf int max_mode_columns; ..... max_mode_columns = XKanjiControl(dpy, win, KC_QUERYMAXMODESTR, 0); ..... .fi .ft .sp .RE Canna37p3/lib/canna/uilib.man0100644000076500001200000012462207554213607015314 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: uilib.man,v 1.1.1.1 2002/10/19 08:27:51 aida_s Exp $ NEC; .if t .pn 575 .TH UILIBINTRO 3 .SH "NAME" UILib intro \(em User interface library intro .SH "DESCRIPTION" .PP User interface libraries are responding to one-chracter or one-key input, return various kinds of information. They include the unfixed character string, fixed character string, marked segment position, status display character string, and candidate list character string. .PP The application program displays the data according to the returned information. It can also control mode transition by triggering through something other than key pressing (for example, selection through the mouse). .PP The user interface library provides \fIjrKanjiString\fP and \fIjrKanjiControl\fP for the input through the TTY. It also provides \fIXLookupKanjiString\fP and \fIXKanjiControl\fP for the input through the X window. .PP Use of the user interface library requires the following: .IP "-" 3 Through the TTY: .RS .IP "Function" 20 jrKanjiString, jrKanjiControl .IP "Header file" 20 canna/jrkanji.h .IP "Library" 20 libcanna.a, libcanna.so .RE .IP "-" 3 Through the X window: .RS .IP "Function" 20 XLookupKanjiString, XKanjiControl .IP "Header file" 20 canna/kanji.h .IP "Library" 20 libXn.a, libXn.so, libcanna.a, libcanna.so .RE .SH "Outline" .IP "jrKanjiString" 20 Converts ordinary keyboard input (input through the TTY, input with X) into Kanji strings. .IP "jrKanjiControl" 20 Executes the control with jrKanjiString according to the specified parameters. .IP "XLookupKanjiString" 20 Converts the keyboard input (key event) into Kanji strings in the X window system. .IP "XKanjiControl" 20 Executes the control with XLookupKanjiString according to the specified parameters. .\" .if t .pn 575 .TH JRKANJISTRING 3 .SH "NAME" jrKanjiString \(em Kana-to-Kanji Conversion for ordinary keyboard input .SH "SYNOPSIS" .nf .B #include .B int jrKanjiString(\fIcontext_id, ch, buffer_return, bytes_buffer, kanji_status_return\fP) .B int \fIcontext_id\fP; .B int \fIch\fP; .B char \fI*buffer_return\fP; .B int \fIbytes_buffer\fP; .B jrKanjiStatus \fI*kanji_status_return\fP; .fi .SH "DESCRIPTION" .PP \fIjrKanjiString\fP converts ordinary keyboard input (input through the TTY, input with X) into Kanji strings. .PP \fIjrKanjiString\fP is a convenient routine which returns the character strings to be displayed. To convert the key input represented in ASCII code, into the Japanese characters, \fIjrKanjiString\fP specifies the input key code using \fIch\fP. Romaji-to-Kana or Kana-to-Kanji Conversion is executed in \fIjrKanjiString\fP. .PP For a function or cursor key, specify a special code (listed in \fB``FUNCTION KEYS''\fP below) to \fIjrKanjiString\fP. Do not specify the sequence caused by the key. .PP For the context identifier specified in \fIcontext_id\fP, the value is not used as it is. Instead, a context that uses the context identifier as the key is created and used. Thus, the application program may specify any value for the context identifier to be specified for \fIjrKanjiString\fP. It is recommended that the input port's file descriptor be specified for this identifier. If 0 is specified for the identifier, the context prepared as the system default will be used by way of exception. .PP It is recommended that 0 be specified unless particular consideration is given to the context. The intermediate result to be displayed is returned to the application through \fIkanji_status_return\fP. .PP Responding to the input, it is necessary to display the intermediate result of Romaji-to-Kana or Kana-to-Kanji Conversion. The application must display the intermediate result according to the information returned by \fIkanji_status_return\fP, which is a jrKanjiStatus type structure. .PP The jrKanjiStatus structure is defined as follows: .sp .ft CW .nf typedef struct { unsigned char *echoStr; /* Character string for local echo */ int length; /* Length of the local echo character string */ int revPos; /* Offset to the reverse display field within local echo character string */ int revLen; /* Length of the reverse display within local echo echo character string */ unsigned long info; /* Other information */ unsigned char *mode; /* Mode information */ struct { unsigned char *line; /* Candidate list character string */ int length; /* Length of candidate list character string */ int revPos; /* Offset to the reverse display field within candidate list character string */ int revLen; /* Length of reverse display field within candidate list character string */ } gline; /* Information about the candidate list*/ } jrKanjiStatus; .fi .ft .sp .PP When Kana-to-Kanji conversion is used during Japanese input, information such as the readings to be converted need to be echoed (local echo). \fIjrKanjiString\fP does not perform display such as local echo. Instead, it returns the character strings to be submitted to local echo, to the application by using the jrKanjiStatus structure. .PP The EUC character strings to be submitted to local echo include characters already converted into Kana from Romaji and conversion candidate characters. Until the conversion is fixed, they are returned by the \fIechoStr\fP member. At this time, the length of local echo character string is returned by the \fIlength\fP member. Also, the starting position and length (bytes) of reverse display area are returned by the \fIrevPos\fP and \fIrevLen\fP member, respectively. The buffer for local echo character strings is reserved automatically by \fIjrKanjiString\fP. It must be used only for reading. No character string must be written into this buffer. .PP If no character string is to be submitted to local echo, 0 will be returned by the \fIlength\fP member. .PP The contents to be submitted to local echo may be the same as when \fIjrKanjiString\fP was previously called. (This occurs, for example, when a control code is pressed and the key is disabled.) In this case, \-1 returns to the \fIlength\fP member. .PP Mode changes and existence of information about the candidate list are passed by the \fIinfo\fP member. If \fIinfo\fP member's KanjiModeInfo bit is on, the character string indicating the new mode will return to \fImode\fP. If the \fIinfo\fP member's KanjiGLineInfo bit is on, the \fIgline\fP structure has contained information such as the candidate list. .PP The character string for candidate list display returns to the \fIgline\fP structure's line member. The length, reverse dispaly starting position, and reverse display duration of the candidate list character string return to the \fIgline\fP structure's \fIline\fP, \fIrevPos\fP, and \fIrevLen\fP, respectively. .PP If there is an EUC character string fixed during conversion, it will be stored into buffer \fIbuffer_return\fP. In this case, the length (bytes) of this character string will return. If there is no fixed character string, the return value will be 0. Using \fIbytes_buffer\fP, specify the size of the buffer that is to contain the fixed character string (\fIbuffer_return\fP). If the fixed character string is longer than \fIbytes_buffer\fP, only the \fIbytes_buffer\fP substring is stored into \fIbuffer_return\fP. In this case, the value specified in \fIbytes_buffer\fP will be the return value of \fIjrKanjiString\fP. .SH "FUNCTION KEYS" .PP For any function key that issue an Escape sequence, specify one of the following codes as \fIch\fP instead of the Escape sequence: .IP "Logical name" 12 Code .IP "Nfer" 12 CANNA_KEY_Nfer .IP "Xfer" 12 CANNA_KEY_Xfer .IP "Up" 12 CANNA_KEY_Up .IP "Left" 12 CANNA_KEY_Left .IP "Right" 12 CANNA_KEY_Right .IP "Down" 12 CANNA_KEY_Down .IP "Insert" 12 CANNA_KEY_Insert .IP "Rollup" 12 CANNA_KEY_Rollup .IP "Rolldown" 12 CANNA_KEY_Rolldown .IP "Home" 12 CANNA_KEY_Home .IP "Help" 12 CANNA_KEY_Help .IP "S-Nfer" 12 CANNA_KEY_Shift_Nfer .IP "S-Xfer" 12 CANNA_KEY_Shift_Xfer .IP "S-Up" 12 CANNA_KEY_Shift_Up .IP "S-Left" 12 CANNA_KEY_Shift_Left .IP "S-Right" 12 CANNA_KEY_Shift_Right .IP "S-Down" 12 CANNA_KEY_Shift_Down .IP "C-Nfer" 12 CANNA_KEY_Control_Nfer .IP "C-Xfer" 12 CANNA_KEY_Control_Xfer .IP "C-Up" 12 CANNA_KEY_Control_Up .IP "C-Left" 12 CANNA_KEY_Control_Left .IP "C-Right" 12 CANNA_KEY_Control_Right .IP "C-Down" 12 CANNA_KEY_Control_Down .IP "F1" 12 CANNA_KEY_F1 .IP "PF1" 12 CANNA_KEY_PF1 .SH "SEE ALSO" jrKanjiControl(3) .SH "RETURN VALUE" .PP If an error occurs during input processing, \-1 will return as the return value of this function. In this case, the error message will be stored in external variable (char*)jrKanjiError. .PP If a call to this function causes a character string to be fixed, the length (bytes) of this character string will return. Otherwise, 0 will return. .\" .if t .pn 575 .TH JRKANJICONTROL 3 .SH "NAME" jrKanjiControl \(em Control the jrKanjiControl modes and processes .SH "SYNOPSIS" .nf .B #include .B int jrKanjiControl(\fIcontext_id, request, arg\fP) .B int \fIcontext_id\fP; .B int \fIrequest\fP; .B char \fI*arg\fP; .fi .SH "DESCRIPTION" .PP \fIjrKanjiControl\fP executes process request for conversion context \fIcontext_id\fP. Some processes are accompanied by the argument, specified in \fIarg\fP. .PP \fIjrKanjiControl\fP controls the following 13 functions: .IP "\fIrequest\fP name" 18 Function .IP "KC_INITIALIZE" 18 Initializes Kana-to-Kanji conversion. .IP "KC_CHANGEMODE" 18 Changes the input mode. .IP "KC_SETWIDTH" 18 Specifies the width used to display the candidate .IP "KC_FINALIZE" 18 Finalizes (terminates) Kana-to-Kanji conversion processing. .IP "KC_SETUNDEFKEYFUNCTION" 18 Sets a function for an undefined key. .IP "KC_SETMODEINFOSTYLE" 18 Specifies whether mode information is represented in numeric form. .IP "KC_KAKUTEI" 18 Fixes the currently entered character string. .IP "KC_KILL" 18 Deletes the currently entered character string. .IP "KC_QUERYMODE" 18 Queries about the current mode. .IP "KC_SETSERVERNAME" 18 Specifies the server to be connected. .IP "KC_SETINITFILENAME" 18 Specifies the customize file. .IP "KC_CLOSEUICONTEXT" 18 Closes the context. .IP "KC_QUERYMAXMODESTR" 18 Obtains the maximum length of mode display character string. .PP Basically, \fIjrKanjiControl\fP is enabled only for something specified in the context. This rule does not apply to the initialize and terminate processes. .PP The unfixed character string condition may change, or details of the mode may vary, depending on the \fIjrKanjiControl\fP operation. If this may occur, pass the pointer to a structure that can contain the varied information in the \fIarg\fP field. This structure is defined as follows: .sp .nf .ft CW typedef struct { int val; /* The length of the character string in the buffer returns. */ unsigned char *buffer; /* Specifies the buffer used to store the fixed character string. */ int bytes_buffer; /* Specifies the size of the above buffer. */ jrKanjiStatus *ks; /* Pointer to the structure that contains information about the unfixed character string. */ } jrKanjiStatusWithValue; .ft .fi .sp .PP The \fIjrKanjiControl\fP functions can be executed in the following ways: .IP "(1)" 6 KC_INITIALIZE \(em Initializes Kana-to-Kanji conversion. .RS .PP KC_INITIALIZE initializes Kana-to-Kanji conversion by specifying KC_INITIALIZE in the \fIrequest\fP field. Specify one of the following in arg: (1) the pointer to the char ** type variable used to store the warning message and (2) NULL. .PP The initialize process is basically executed automatically when \fIjrKanjiString\fP(3) is first called. This is skipped by using \fIjrKanjiControl\fP for initialization. .PP For example, when control about Kana-to-Kanji conversion is executed using \fIjrKanjiControl\fP before use of \fIjrKanjiString\fP(3), Kana-to-Kanji conversion must be initialized. .PP When the process terminates normally, 0 returns as the \fIjrKanjiControl\fP return value. When it terminates abnormally, \-1 returns. .PP When KC_INITIALIZE is executed, a warning, rather than an error, may occur. When it occurs, the pointer to the warning character string array is stored in and returns to the variable specified in \fIarg\fP. If no warning occurs, NULL is stored and returns. .sp (Example) .nf .ft CW int res; /* Prepare for error return */ char **warning; ..... res = jrKanjiControl(0, KC_INITIALIZE, &warning); if (warning) { char **p; for (p = warning ; *p ; p++) { fprintf(stderr, "%s\n", *p); } } .ft .fi .sp .PP In the library, malloc is done for the warning message returning to the third argument. This message is freed when KC_INITIALIZE or KC_FINALIZE is executed next. The application programmer must not free it. The maximum number of warning messages is restricted to 64 now. The subsequent ones are discarded. .PP The following warnings may be included in a message: .IP "-" 3 All customize files including those of the system are unavailable. .IP "-" 3 The customize file contains a syntax error. .IP "-" 3 The Romaji-to-Kana conversion dictionary is unavailable. .IP "-" 3 The Kana-to-Kanji conversion dictionary is unavailable. .IP "-" 3 Connection to the Kana-to-Kanji conversion server is disabled. .PP If NULL is specified as the third argument, any warning message will be discarded. .RE .IP "(2)" 6 KC_CHANGEMODE \(em Changes the input mode. .RS .PP KC_CHANGEMODE changes the input mode from the application. Specify KC_CHANGEMODE in the \fIrequest\fP field. Specify the jrKanjiStatusWithValue structure in \fIarg\fP. .PP The Japanese mode is changed by specifying the mode number with the \fIval\fP member of jrKanjiStatusWithValue structure. The mode number is indicated by the following macros: .IP "Macro number" 24 Mode .IP "CANNA_MODE_AlphaMode" 24 Alphabet mode .IP "CANNA_MODE_HenkanMode" 24 Conversion input mode .IP "CANNA_MODE_KigoMode" 24 Symbol input mode .IP "CANNA_MODE_ZenHiraKakuteiMode" 24 Full-wide Hiragana fixed input mode .IP "CANNA_MODE_ZenKataKakuteiMode" 24 Full-wide Katakana fixed mode .IP "CANNA_MODE_HanKataKakuteiMode" 24 Half-wide Katakana fixed input mode .IP "CANNA_MODE_ZenAlphaKakuteiMode" 24 Full-wide alphabet fixed input mode .IP "CANNA_MODE_HanAlphaKakuteiMode" 24 Half-wide alphabet fixed input mode .IP "CANNA_MODE_HexMode" 24 Hexadecimal code input mode .IP "CANNA_MODE_BushuMode" 24 Bushu input mode .IP "CANNA_MODE_TorokuMode" 24 Word register mode .PP This function causes much dispaly (mode name etc.) to vary in response to a mode change. The display change is returned by the jrKanjiStatusWithValue structure specified as \fIarg\fP. .sp (Example) .ft CW .nf jrKanjiStatus ks; jrKanjiStatusWithValue ksv; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; ksv.val = CANNA_MODE_HexMode; jrKanjiControl(context, KC_CHANGEMODE, &ksv); len = ksv.val; ..... /* Information about the unfixed or fixed character string is returned by ksv. */ .fi .ft .sp .RE .IP "(3)" 6 KC_SETWIDTH \(em Specifies the width used to display the candidate list. .RS .PP KC_SETWIDTH specifies the number of columns of the area on which the candidate list is to be displayed. The width of one column equals that of an alphabetical or half-wide Katakana character. Each full-wide Kanji character occupies two columns. Using KC_SETWIDTH, specify the width of candidate list display area to be specified in the \fIrequest\fP field. At this time, specify the number of columns in \fIarg\fP. .sp (Example) .ft CW .nf jrKanjiControl(0, KC_SETWIDTH, (char *)60); .fi .ft .sp .RE .IP "(4)" 6 KC_FINALIZE \(em Finalizes (terminates) processing of Kana-to-Kanji conversion .RS .PP KC_FINALIZE specifies that Kana-to-Kanji conversion also finalizes (terminates) at the end of the program and in other cases. Be sure to execute this process when terminating Kana-to-Kanji conversion processing. All contents learned up to now are registered in the file. Specify KC_FINALIZE in the \fIrequest\fP field. .PP When the process terminates normally, 0 returns. When it terminates abnormally, \-1 returns. .PP When KC_FINALIZE is executed, a warning, rather than an error, may occur. When it occurs, the pointer to the warning character string array is stored in and returns to the variable specified in \fIarg\fP. If no warning occurs, NULL is stored and returns. .sp (Example) .ft CW .nf .fi int res; /* Prepare for error return */ char **warning; ..... res = jrKanjiControl(0, KC_FINALIZE, &warning); if (warning) { char **p; for (p = warning ; *p ; p++) { fprintf(stderr, "%s\n", *p); } } .ft .sp .PP In the library, malloc is done for the warning message returning to the third argument. This message is freed when KC_INITIALIZE or KC_FINALIZE is executed next. The application programmer must not free it. .PP The maximum number of warning messages is restricted to 64 now. The subsequent ones are discarded. .PP The following warning may be included in a message: .IP "-" 3 The dictionary cannot be unmounted. .PP If NULL is specified as the third argument, any warning message will be discarded. .RE .IP "(5)" 6 KC_SETUNDEFKEYFUNCTION \(em Sets a function for an undefined key. .RS .PP For example, if you press CTRL-t during input of a reading, it is regarded as undefined key input. The following processes are executed, responding to undefined key input: .IP "Macro name" 12 Process .IP "kc_normal" 12 Beep .IP "kc_through" 12 Passes the input to the application .IP "kc_kakutei" 12 Fixes the input and passes it to the application program. .IP "kc_kill" 12 Deletes the input and passes it to the application program. .PP If kc_normal is specified, the function set in external variable jrBeepFunc is called automatically by the library when an undefined key is input. If the value is not set in jrBeepFunc, nothing occurs when ``jrBeepFunc == NULL'' appears. .sp (Example) .ft CW .nf extern (*jrBeepFunc)(), beep(); jrBeepFunc = beep; jrKanjiControl(0, KC_SETUNDEFKEYFUNCTION, kc_normal); .fi .ft .sp .RE .IP "(6)" 6 KC_SETMODEINFOSTYLE \(em Specifies mode information representation. .RS .PP You may want to display mode information with data such as the bit map, rather than character strings. In this case, return of numeric data as mode information helps you execute the process. Specify KC_SETMODEINFOSTYLE in \fIjrKanjiControl\fP, and pass 1 to \fIarg\fP. After this, one character representing the mode code (numeric) plus '@' (0x40) returns to the jrKanjiStatus structure's \fImode\fP member. To convert the value into the mode code, subtract '@' (0x40) from the returned character string. For the mode codes, see the mode change description of Item (2) KC_CHANGEMODE. .RE .IP "(7)" 6 KC_KAKUTEI, (8) KC_KILL \(em Kill the currently input character string. .RS .PP You may want to relinquish the currently entered character string for some reason. There are two relinquishing methods. One is to relinquish the character string after including the currently entered character string as a fixed one. The other is to discard the character string completely then relinquish it. For the first method, specify KC_KAKUTEI in \fIjrKanjiControl\fP. For the second method, specify KC_KILL. .PP Each of the above influences the display. The jrKanjiStatusWithValue must thus be specified as the third argument. .sp (Example) .nf .ft CW jrKanjiStatusWithValue ksv; jrKanjiStatus ks; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; jrKanjiControl(context, KC_KAKUTEI, &ksv); len = ksv.val; ..... .ft .fi .sp .RE .IP "(9)" 6 KC_QUERYMODE \(em Inquiry about the mode .RS .PP To inquire about the current mode, specify KC_QUERYMODE in \fIjrKanjiControl\fP. .PP Specify the pointer to the character array in which the mode character string is to be stored. The mode character string is a character string ending with a null character. To return a numeric here, specify KC_SETMODEINFOSTYLE in \fIjrKanjiControl\fP to change the mode character string style. .sp (Example) .nf .ft CW char currentMode[MAXMODELEN]; ..... jrKanjiControl(0, KC_QUERYMODE, currentMode); ..... .ft .fi .sp .RE .IP "(10)" 6 KC_SETSERVERNAME Specifies the server to be connected. .RS .PP KC_SETSERVERNAME enables you to switch the Kana-to-Kanji conversion server without terminating the application program. To set the server to connect as the Kana-to-Kanji conversion server, specify KC_SETSERVERNAME in \fIjrKanjiControl\fP. In the third argument, specify the name of the server to be connected. .RE .IP "(11)" 6 KC_SETINITFILENAME \(em Specifies the customize file. .RS .PP KC_SETINITFILENAM enables the application program to change the customize file. To change the customize file, specify KC_SETINITFILENAME as the second argument and the file name character string as the third argument. This process must be executed before KC_INTIALIZE. .sp (Example) .nf .ft CW char *inifile = "app-own.canna" ..... jrKanjiControl(0, KC_SETINITFILENAME, initfile); ..... .ft .fi .sp .RE .IP "(12)" 6 KC_CLOSEUICONTEXT Closes the context. .RS .PP Any integer may be assigned as the context ID that represents the conversion context. A context ID that has never been used can be assigned to \fIjrKanjiString\fP or \fIjrKanjiControl\fP. In this case, initialization for this context is executed to reserve the required memory. .PP If an input port used up to now is not used, you may want to free the memory reserved for the context ID assigned to this port. To do so, call \fIjrKanjiControl\fP by specifying KC_CLOSEUICONTEXT as the second argument. .PP Because this process causes a display change, specify jrKanjiStatusWithValue as the third structure. .sp (Example) .nf .ft CW jrKanjiStatusWithValue ksv; jrKanjiStatus ks; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; jrKanjiControl(0, KC_CLOSEUICONTEXT, &ksv); ..... .ft .fi .sp .RE .IP "(13)" 6 KC_QUERYMAXMODESTR \(em Obtains the maximum length of mode display character string. .RS .PP The mode display character string can be customized using the initialize file. It is necessary to examine the size of the display area (in the customized resulting mode display character string) that is to be reserved. Specify KC_QUERYMAXMODESTR as the second argument, then call \fIjrKanjiControl\fP. As a result, the number of columns necessary for the mode display character string is returned. The number of columns is represented, defining that the width of one half-wide alphanumeric character is 1. .PP The third argument is unused; dummy value 0 is assigned to it. .sp (Example) .ft CW .nf int max_mode_columns; ..... max_mode_columns = jrKanjiControl(0, KC_QUERYMAXMODESTR, 0); ..... .fi .ft .sp .RE .\" .\" @(#)kanji.man 1.5 89/06/30 09:13:01 .TH XLookupKanjiString 3 .SH NAME XLookupKanjiString \(em Converts the keyboard input into Kanji .SH SYNOPSIS .nf .ft B #include #include .PP .ft B int XLookupKanjiString(\fIevent_struct, buffer_return, bytes_buffer,\fP \fIkeysym_return, status_return, kanji_status_return\fP) XKeyEvent \fI*event_struct\fP; char \fI*buffer_return\fP; int \fIbytes_buffer\fP; KeySym \fI*keysym_return\fP; XComposeStatus \fI*status_return\fP; XKanjiStatus \fI*kanji_status_return\fP; .fi .ft R .SH ARGUMENTS .RS .IP \fIevent_struct\fP 16 Specifies the key event. .IP \fIbuffer_return\fP 16 Returns the resulting Kanji string. .IP \fIbytes_buffer\fP 16 Specifies the buffer length. .IP \fIkeysym_return\fP 16 Returns the key symbol. NULL may be specified .IP \fIstatus_return\fP 16 Specifies the pointer to the XCompose structure. .IP \fIkanji_status_return\fP 16 Returns the Kana-to-Kanji conversion status. .RE .SH DESCRIPTION .PP \fIXLookupKanjiString\fP is a convenient routine that associates a key event with a Japanese character string. It uses the modifier key bit to processes such as shift, lock, and control. .PP \fIXLookupKanjiString\fP enables eight- and 16-bit Japanese characters to be processed. .PP \fIXLookupKanjiString\fP processes alphabetical characters in the same way as XLookupString. .PP For Japanese character processing, Romaji-to-Kana conversion and Kana-to-Kanji conversion are done in this function. The XKanjiStatus, defined below, is used during Japanese data input: .PP .nf typedef struct _XKanjiStatus { unsigned char *echoStr; /* local echo string */ int length; /* length of echo string */ int revPos; /* reverse position */ int revLen; /* reverse length */ unsigned long info; /* other informations */ unsigned char *mode; /* mode information */ struct { unsigned char *line; /* a grance of Kanji characters */ int length; /* length of it */ int revPos; /* reverse position of it */ int revLen; /* reverse length of it */ } gline; /* a grancing line information */ } XKanjiStatus; #define KanjiModeInfo 01 #define KanjiGLineInfo 02 .fi .PP When Kana-to-Kanji conversion is used during Japanese input, information such as the readings to be converted need to be echoed (local echo). \fIXLookupKanjiString\fP does not perform display such as local echo. Instead, it returns the character strings to be submitted to local echo, to the application by using the \fIXKanjiStatus\fP structure. .PP The EUC character strings to be submitted to local echo include characters already converted into Kana from Romaji and conversion candidate characters. Until the conversion is fixed, they are returned by the \fIechoStr\fP member. At this time, the length of local echo character string is returned by the \fIlength\fP member. Also, the starting position and length (bytes) of reverse display are returned by the \fIrevPos\fP and \fIrevLen\fP member, respectively. The buffer for local echo character strings is reserved automatically by \fIXLookupKanjiString\fP. It should be used only for reading. No character string must be written into this buffer. .PP If no character string is to be submitted to local echo, 0 will return to the length member. .PP The contents to be submitted to local echo may be the same as when \fIXLookupKanjiString\fP was previously called. (This occurs, for example, when the Shift key is pressed.) In this case, \-1 returns to the length member. .PP Mode changes and existence of information about the candidate list are passed by the \fIinfo\fP member. If \fIinfo\fP member's KanjiModeInfo bit is on, the character string indicating the new mode will return to \fImode\fP. If the info member's KanjiGLineInfo bit is on, the \fIgline\fP structure has contained information such as the candidate list. .PP The character string for candidate list display returns to the \fIgline\fP structure's line member. The length, reverse dispaly starting position, and reverse display duration of the candidate list character string return to the \fIgline\fP structure's \fIline\fP, \fIrevPos\fP, and \fIrevLen\fP, respectively. .PP If there is an EUC character string fixed during conversion, it will be stored in \fIbuffer_return\fP. In this case, the length (bytes) of this character string will return as the return value of this function. If there is no fixed character string, the return value will be 0. .\" .if t .pn 575 .TH XKANJICONTROL 3 .SH NAME XKanjiControl \(em Control the XLookupKanjiString mode and process. .SH "SYNOPSIS" .nf .B #include .B int XKanjiControl(\fIdpy, win, request, arg\fP) .B Display \fIdpy\fP; .B Window \fIwin\fP; .B int \fIrequest\fP; .B char \fI*arg\fP; .fi .SH "DESCRIPTION" .PP \fIXKanjiControl\fP executes a process that relates to Japanese input within the window defined by \fIdpy\fP and \fIwin\fP. The process is specified in \fIrequest\fP. Some processes are accompanied by the argument, specified in \fIarg\fP. .PP \fIXKanjiControl\fP controls the following functions: .IP "\fIrequest\fP name" 18 Function .IP "KC_INITIALIZE" 18 Initializes Kana-to-Kanji conversion. .IP "KC_CHANGEMODE" 18 Changes the input mode. .IP "KC_SETWIDTH" 18 Specifies the width used to display the candidate .IP "KC_FINALIZE" 18 Finalizes (terminates) Kana-to-Kanji conversion processing. .IP "KC_SETUNDEFKEYFUNCTION" 18 Sets a function for an undefined key. .IP "KC_SETMODEINFOSTYLE" 18 Specifies whether mode information is represented in numeric form. .IP "KC_KAKUTEI" 18 Fixes the currently entered character string. .IP "KC_KILL" 18 Deletes the currently entered character string. .IP "KC_QUERYMODE" 18 Queries about the current mode. .IP "KC_SETSERVERNAME" 18 Specifies the server to be connected. .IP "KC_SETINITFILENAME" 18 Specifies the customize file. .IP "KC_CLOSEUICONTEXT" 18 Closes the context. .IP "KC_QUERYMAXMODESTR" 18 Obtains the maximum length of mode display character string. .PP Basically, \fIXKanjiControl\fP is enabled only for the window specified in the \fIdpy\fP and \fIwin\fP. This rule does not apply to the initialize and terminate processes. .PP The unfixed character string condition may change, or details of the mode may vary, depending on the \fIXKanjiControl\fP operation. If this may occur, pass the pointer to a structure that can contain the varied information in the arg field. This structure is defined as follows: .sp .nf .ft CW typedef struct { int val; /* The length of the character string in the buffer returns. */ unsigned char *buffer; /* Specifies the buffer used to store the fixed character string. */ int bytes_buffer; /* Specifies the size of the above buffer. */ XKanjiStatus *ks; /* Pointer to the structure that contains information about the unfixed character string. */ } XKanjiStatusWithValue; .ft .fi .sp .PP The \fIXKanjiControl\fP functions can be executed in the following ways: .IP "(1)" 6 KC_INITIALIZE \(em Initializes Kana-to-Kanji conversion. .RS .PP KC_INITIALIZE initializes Kana-to-Kanji conversion by specifying KC_INITIALIZE in the \fIrequest\fP field. Specify one of the following in arg: (1) the pointer to the char ** type variable used to store the warning message and (2) NULL. The initialize process is basically executed automatically when \fIXLookupKanjiString\fP(3) is first called. This is skipped by using \fIXKanjiControl\fP for initialization. .PP For example, when control about Kana-to-Kanji conversion is executed using \fIXKanjiControl\fP before use of \fIXLookupKanjiString\fP(3), Kana-to-Kanji conversion must be initialized. .PP When the process terminates normally, 0 returns as the \fIXKanjiControl\fP return value. When it terminates abnormally, \-1 returns. .PP When KC_INITIALIZE is executed, a warning, rather than an error, may occur. When it occurs, the pointer to the warning character string array is stored in and returns to the variable specified in \fIarg\fP. If no warning occurs, NULL is stored and returns. .sp (Example) .nf .ft CW int res; /* Prepare for error return */ char **warning; ..... res = XKanjiControl(dpy, win, KC_INITIALIZE, &warning); if (warning) { char **p; for (p = warning ; *p ; p++) { fprintf(stderr, "%s\n", *p); } } .ft .fi .sp .PP In the library, malloc is done for the warning message returning to the fourth argument. This message is freed when KC_INITIALIZE or KC_FINALIZE is executed next. The application programmer must not free it. The maximum number of warning messages is restricted to 64 now. The subsequent ones are discarded. .PP The following warnings may be included in a message: .IP "-" 3 All customize files including those of the system are unavailable. .IP "-" 3 The customize file contains a syntax error. .IP "-" 3 The Romaji-to-Kana conversion dictionary is unavailable. .IP "-" 3 The Kana-to-Kanji conversion dictionary is unavailable. .IP "-" 3 Connection to the Kana-to-Kanji conversion server is disabled. .PP If NULL is specified as the fourth argument, any warning message will be discarded. .RE .IP "(2)" 6 KC_CHANGEMODE \(em Changes the input mode. .RS .PP KC_CHANGEMODE changes the input mode from the application. Specify KC_CHANGEMODE in the \fIrequest\fP field. Specify the XKanjiStatusWithValue structure in \fIarg\fP. The Japanese mode is changed by specifying the \fImode\fP number with the \fIval\fP member of XKanjiStatusWithValue structure. The mode number is indicated by the following macros: .IP "Macro number" 24 Mode .IP "CANNA_MODE_AlphaMode" 24 Alphabet mode .IP "CANNA_MODE_HenkanMode" 24 Conversion input mode .IP "CANNA_MODE_KigoMode" 24 Symbol input mode .IP "CANNA_MODE_ZenHiraKakuteiMode" 24 Full-wide Hiragana fixed input mode .IP "CANNA_MODE_ZenKataKakuteiMode" 24 Full-wide Katakana fixed mode .IP "CANNA_MODE_HanKataKakuteiMode" 24 Half-wide Katakana fixed input mode .IP "CANNA_MODE_ZenAlphaKakuteiMode" 24 Full-wide alphabet fixed input mode .IP "CANNA_MODE_HanAlphaKakuteiMode" 24 Half-wide alphabet fixed input mode .IP "CANNA_MODE_HexMode" 24 Hexadecimal code input mode .IP "CANNA_MODE_BushuMode" 24 Bushu input mode .IP "CANNA_MODE_TorokuMode" 24 Word register mode .PP This function causes much dispaly (mode name etc.) to vary in response to a mode change. The display change is returned by the XKanjiStatusWithValue structure specified as \fIarg\fP. .sp (Example) .ft CW .nf XKanjiStatus ks; XKanjiStatusWithValue ksv; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; ksv.val = CANNA_MODE_HexMode; XKanjiControl(dpy, win, KC_CHANGEMODE, &ksv); len = ksv.val; ..... /* Information about the unfixed or fixed character string is returned by ksv. */ .fi .ft .sp .RE .IP "(3)" 6 KC_SETWIDTH \(em Specifies the width used to display the candidate list. .RS .PP KC_SETWIDTH specifies the number of columns of the area on which the candidate list is to be displayed. The width of one column equals that of an alphabetical or half-wide Katakana character. Each full-wide Kanji character occupies two columns. Using KC_SETWIDTH, specify the width of candidate list display area to be specified in the \fIrequest\fP field. At this time, specify the number of columns in \fIarg\fP. .sp (Example) .ft CW .nf XKanjiControl(dpy, win, KC_SETWIDTH, (char *)60); .fi .ft .sp .RE .IP "(4)" 6 KC_FINALIZE \(em Finalizes (terminates) processing of Kana-to-Kanji conversion .RS .PP KC_FINALIZE specifies that Kana-to-Kanji conversion also finalizes (terminates) at the end of the program and in other cases. Be sure to execute this process when terminating Kana-to-Kanji conversion processing. All contents learned up to now are registered in the file. Specify KC_FINALIZE in the \fIrequest\fP field. .PP When the process terminates normally, 0 returns. When it terminates abnormally, \-1 returns. .PP When KC_INITIALIZE is executed, a warning, rather than an error, may occur. When it occurs, the pointer to the warning character string array is stored in and returns to the variable specified in arg. If no warning occurs, NULL is stored and returns. .sp (Example) .ft CW .nf .fi int res; /* Prepare for error return */ char **warning; ..... res = XKanjiControl(dpy, win, KC_FINALIZE, &warning); if (warning) { char **p; for (p = warning ; *p ; p++) { fprintf(stderr, "%s\n", *p); } } .ft .sp .PP In the library, malloc is done for the warning message returning to the fourth argument. This message is freed when KC_INITIALIZE or KC_FINALIZE is executed next. The application programmer must not free it. .PP The maximum number of warning messages is restricted to 64 now. The subsequent ones are discarded. .PP The following warning may be included in a message: .IP "-" 3 The dictionary cannot be unmounted. .PP If NULL is specified as the fourth argument, any warning message will be discarded. .RE .IP "(5)" 6 KC_SETUNDEFKEYFUNCTION \(em Sets a function for an undefined key. .RS .PP For example, if you press CTRL-t during input of a reading, it is regarded as undefined key input. The following processes are executed, responding to undefined key input: .IP "Macro name" 12 Process .IP "kc_normal" 12 Beep .IP "kc_through" 12 Passes the input to the application program. .IP "kc_kakutei" 12 Fixes the input and passes it to the application program. .IP "kc_kill" 12 Deletes the input and passes it to the application program. .PP If kc_normal is specified, the function set in external variable \fIjrBeepFunc\fP is called automatically by the library when an undefined key is input. If the value is not set in jrBeepFunc, nothing occurs when "jrBeepFunc == NULL" appears. .sp (Example) .ft CW .nf extern (*jrBeepFunc)(), beep(); jrBeepFunc = beep; XKanjiControl(dpy, win, KC_SETUNDEFKEYFUNCTION, kc_normal); .fi .ft .sp .RE .IP "(6)" 6 KC_SETMODEINFOSTYLE \(em Specifies mode information representation. .RS .PP You may want to display mode information with data such as the bit map, rather than character strings. In this case, return of numeric data as mode information helps you execute the process. Specify KC_SETMODEINFOSTYLE in \fIXKanjiControl\fP, and pass 1 to \fIarg\fP. After this, one character representing the mode code (numeric) plus '@' (0x40) returns to the XKanjiStatus structure's \fImode\fP member. To convert the value into the mode code, subtract '@' (0x40) from the returned character string. For the mode codes, see the mode change description of Item (2) KC_CHANGEMODE. .RE .IP "(7)" 6 KC_KAKUTEI, (8) KC_KILL \(em Kill the currently input character string. .RS .PP You may want to relinquish the currently entered character string for some reason. There are two relinquishing methods. One is to relinquish the character string after including the currently entered character string as a fixed one. The other is to discard the character string completely then relinquish it. For the first method, specify KC_KAKUTEI in \fIjrKanjiControl\fP. For the second method, specify KC_KILL. .PP Each of the above influences the display. The XKanjiStatusWithValue must thus be specified as the fourth argument. .sp (Example) .nf .ft CW XKanjiStatusWithValue ksv; XKanjiStatus ks; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; XKanjiControl(dpy, win, KC_KAKUTEI, &ksv); len = ksv.val; ..... .ft .fi .sp .RE .IP "(9)" 6 KC_QUERYMODE \(em Inquiry about the mode .RS .PP To inquire about the current mode, specify KC_QUERYMODE in \fIXKanjiControl\fP. .PP Specify the pointer to the character array in which the mode character string is to be stored. The mode character string is a character string ending with a null character. To return a numeric here, specify KC_SETMODEINFOSTYLE in \fIXKanjiControl\fP to change the mode character string style. .sp (Example) .nf .ft CW char currentMode[MAXMODELEN]; ..... XKanjiControl(dpy, win, KC_QUERYMODE, currentMode); ..... .ft .fi .sp .RE .IP "(10)" 6 KC_SETSERVERNAME \(em Specifies the server to be connected. .RS .PP KC_SETSERVERNAME enables you to switch the Kana-to-Kanji conversion server without terminating the application program. To set the server to connect as the Kana-to-Kanji conversion server, specify KC_SETSERVERNAME in \fIXKanjiControl\fP. In the fourth argument, specify the name of the server to be connected. .RE .IP "(11)" 6 KC_SETINITFILENAME \(em Specifies the customize file. .RS .PP KC_SETINITFILENAM enables the application program to change the customize file. To change the customize file, specify KC_SETINITFILENAME as the third argument and the file name character string as the fourth argument. This process must be executed before KC_INTIALIZE. .sp (Example) .nf .ft CW char *inifile = "app-own.canna" ..... XKanjiControl(dpy, win, KC_SETINITFILENAME, initfile); ..... .ft .fi .sp .RE .IP "(12)" 6 KC_CLOSEUICONTEXT Closes the context. .RS .PP When \fIXKanjiControl\fP or \fIXLookupKanjiString\fP is called, one conversion context is assigned to combination of \fIdpy\fP and \fIwin\fP. Combination of \fIdpy\fP and \fIwin\fP not used yet can be specified for \fIXKanjiControl\fP or \fIXLookupKanjiString\fP. When this is done, a new context is created for the window and the required memory is reserved. .PP If a window used up to now is not used, you may want to free the context memory that has been assigned to this window. To do so, call \fIXKanjiControl\fP by specifying KC_CLOSEUICONTEXT as the third argument. .PP Because this process causes a display change, specify XKanjiStatusWithValue as the fourth structure. .sp (Example) .nf .ft CW XKanjiStatusWithValue ksv; XKanjiStatus ks; unsigned char buf[SOMESIZE]; ..... ksv.ks = &ks; ksv.buffer = buf; ksv.bytes_buffer = SOMESIZE; XKanjiControl(dpy, win, KC_CLOSEUICONTEXT, &ksv); ..... .ft .fi .sp .RE .IP "(13)" 6 KC_QUERYMAXMODESTR \(em Obtains the maximum length of mode display character string. .RS .PP The mode display character string can be customized using the initialize file. It is necessary to examine the size of the display area (in the customized resulting mode display character string) that is to be reserved. Specify KC_QUERYMAXMODESTR as the third argument, then call \fIXKanjiControl\fP. As a result, the number of columns necessary for the mode display character string is returned. (The number of columns is represented, defining that the width of one half-wide alphanumeric character is 1. .PP The fourth argument is unused; dummy value 0 is assigned to it. .sp (Example) .ft CW .nf int max_mode_columns; ..... max_mode_columns = XKanjiControl(dpy, win, KC_QUERYMAXMODESTR, 0); ..... .fi .ft .sp .RE Canna37p3/lib/canna/uiutil.c0100644000076500001200000003625407732020155015165 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: uiutil.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif #include "canna.h" #include "patchlevel.h" /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #ifndef NO_EXTEND_MENU typedef struct { char *title; int func; int funcd; } e_menuitem; #define MENU_NEXT_MENU 0 /* ¥¨¥ó¥È¥ê¤Ï¥á¥Ë¥å¡¼¤Ç¤¢¤ë */ #define MENU_FUNC_NUM 1 /* ¥¨¥ó¥È¥ê¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Îµ¡Ç½ÈÖ¹æ¤Ç¤¢¤ë */ #ifdef STANDALONE /* This is not used in Windows environment 1996.7.30 kon */ #define MT_HELP 0 #define MT_SONOTA 1 #define MT_KIGO 2 #define MT_TANGO 3 #define MT_HENKAN 4 #define MT_FILE 5 #else #define MT_HELP 0 #define MT_SONOTA 1 #define MT_KIGO 2 #define MT_SERV 3 #define MT_TANGO 4 #define MT_HENKAN 5 #define MT_FILE 6 #endif static e_menuitem e_helptable[] = { /* µ­¹æÆþÎÏ */ {"\265\255\271\346\306\376\316\317", MENU_NEXT_MENU, MT_KIGO}, /* ¥³¡¼¥ÉÆþÎÏ */ {"\245\263\241\274\245\311\306\376\316\317", MENU_FUNC_NUM, CANNA_FN_HexMode}, /* Éô¼óÆþÎÏ */ {"\311\364\274\363\306\376\316\317", MENU_FUNC_NUM, CANNA_FN_BushuMode}, /* ñ¸ìÅÐÏ¿ */ {"\303\261\270\354\305\320\317\277", MENU_NEXT_MENU, MT_TANGO}, /* ´Ä¶­ÀßÄê */ {"\264\304\266\255\300\337\304\352", MENU_NEXT_MENU, MT_SONOTA}, }; static e_menuitem e_uusonotatable[] = { #ifndef CODED_MESSAGE {"ÊÑ´¹Êý¼°", MENU_NEXT_MENU, MT_HENKAN}, #ifndef STANDALONE /* This is not used in Windows environment */ {"¥µ¡¼¥ÐÁàºî", MENU_NEXT_MENU, MT_SERV}, #endif {"¼­½ñ¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È", MENU_FUNC_NUM, CANNA_FN_DicMountMode}, {"³Ø½¬¾õÂÖɽ¼¨", MENU_FUNC_NUM, CANNA_FN_ShowGakushu}, {"¥Ð¡¼¥¸¥ç¥óɽ¼¨", MENU_FUNC_NUM, CANNA_FN_ShowVersion}, {"¥Õ¥¡¥¤¥ëɽ¼¨", MENU_NEXT_MENU, MT_FILE}, #else /* ÊÑ´¹Êý¼° */ {"\312\321\264\271\312\375\274\260", MENU_NEXT_MENU, MT_HENKAN}, #ifndef STANDALONE /* This is not used in Windows environment 1996.7.30 kon */ /* ¥µ¡¼¥ÐÁàºî */ {"\245\265\241\274\245\320\301\340\272\356", MENU_NEXT_MENU, MT_SERV}, #endif /* ¼­½ñ¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È */ {"\274\255\275\361\245\336\245\246\245\363\245\310\241\277\245\242\245\363\245\336\245\246\245\363\245\310", MENU_FUNC_NUM, CANNA_FN_DicMountMode}, /* ³Ø½¬¾õÂÖɽ¼¨ */ {"\263\330\275\254\276\365\302\326\311\275\274\250", MENU_FUNC_NUM, CANNA_FN_ShowGakushu}, /* ¥Ð¡¼¥¸¥ç¥óɽ¼¨ */ {"\245\320\241\274\245\270\245\347\245\363\311\275\274\250", MENU_FUNC_NUM, CANNA_FN_ShowVersion}, /* ¥Õ¥¡¥¤¥ëɽ¼¨ */ {"\245\325\245\241\245\244\245\353\311\275\274\250", MENU_NEXT_MENU, MT_FILE}, #endif }; static e_menuitem e_uukigotable[] = { /* µ­¹æÁ´ÈÌ */ {"\265\255\271\346\301\264\310\314", MENU_FUNC_NUM, CANNA_FN_KigouMode}, /* ¥í¥·¥¢Ê¸»ú */ {"\245\355\245\267\245\242\312\270\273\372", MENU_FUNC_NUM, CANNA_FN_RussianMode}, /* ¥®¥ê¥·¥ãʸ»ú */ {"\245\256\245\352\245\267\245\343\312\270\273\372", MENU_FUNC_NUM, CANNA_FN_GreekMode}, /* ·ÓÀþ */ {"\267\323\300\376", MENU_FUNC_NUM, CANNA_FN_LineMode}, }; #ifndef STANDALONE /* This is not used in Windows environment 1996.7.30 kon */ static e_menuitem e_uuservertable[] = { /* ¥µ¡¼¥Ð¤ÎÀÚ¤êÎ¥¤· */ {"\245\265\241\274\245\320\244\316\300\332\244\352\316\245\244\267", MENU_FUNC_NUM, CANNA_FN_DisconnectServer}, /* ¥µ¡¼¥Ð¤ÎÀÚ¤êÂØ¤¨ */ {"\245\265\241\274\245\320\244\316\300\332\244\352\302\330\244\250", MENU_FUNC_NUM, CANNA_FN_ChangeServerMode}, /* ¥µ¡¼¥Ð¤Îɽ¼¨ */ {"\245\265\241\274\245\320\244\316\311\275\274\250", MENU_FUNC_NUM, CANNA_FN_ShowServer}, }; #endif /* STANDALONE */ static e_menuitem e_uutangotable[] = { /* ñ¸ìÅÐÏ¿ */ {"\303\261\270\354\305\320\317\277", MENU_FUNC_NUM, CANNA_FN_DefineDicMode}, /* ñ¸ìºï½ü */ {"\303\261\270\354\272\357\275\374", MENU_FUNC_NUM, CANNA_FN_DeleteDicMode}, /* ¼­½ñ¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È */ {"\274\255\275\361\245\336\245\246\245\363\245\310\241\277\245\242\245\363\245\336\245\246\245\363\245\310", MENU_FUNC_NUM, CANNA_FN_DicMountMode}, }; static e_menuitem e_uuhenkantable[] = { /* ϢʸÀáÊÑ´¹ */ {"\317\242\312\270\300\341\312\321\264\271", MENU_FUNC_NUM, CANNA_FN_EnterRenbunMode}, /* Ã༡¼«Æ°ÊÑ´¹ */ {"\303\340\274\241\274\253\306\260\312\321\264\271", MENU_FUNC_NUM, CANNA_FN_EnterChikujiMode}, }; static e_menuitem e_uufiletable[] = { /* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë */ {"\245\355\241\274\245\336\273\372\244\253\244\312\312\321\264\271\245\306\241\274\245\326\245\353", MENU_FUNC_NUM, CANNA_FN_ShowPhonogramFile}, /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë */ {"\245\253\245\271\245\277\245\336\245\244\245\272\245\325\245\241\245\244\245\353", MENU_FUNC_NUM, CANNA_FN_ShowCannaFile}, }; #define numitems(x) ((sizeof(x)) / sizeof(e_menuitem)) static struct _e_menu { e_menuitem *mi; int ni; } e_me[] = { /* MT_ ¤Î½ç¤È¹ç¤ï¤»¤ë¤³¤È */ {e_helptable, numitems(e_helptable)}, /* MT_HELP */ {e_uusonotatable, numitems(e_uusonotatable)}, /* MT_SONOTA */ {e_uukigotable, numitems(e_uukigotable)}, /* MT_KIGO */ #ifndef STANDALONE /* This is not used in Windows environment 1996.7.30 kon */ {e_uuservertable, numitems(e_uuservertable)}, /* MT_SERV */ #endif /* STANDALONE */ {e_uutangotable, numitems(e_uutangotable)}, /* MT_TANGO */ {e_uuhenkantable, numitems(e_uuhenkantable)}, /* MT_HENKAN */ {e_uufiletable, numitems(e_uufiletable)}, /* MT_FILE */ }; #define N_BUILTIN_MENU (sizeof(e_me) / sizeof(struct _e_menu)) static menustruct *me[N_BUILTIN_MENU]; #define MBUFSIZE 512 void freeMenu(m) menustruct *m; { free((char *)m->titles); free((char *)m->titledata); free((char *)m->body); free((char *)m); } menustruct * allocMenu(n, nc) int n, nc; { wchar_t *wctab, **wcs; menuitem *menubody; menustruct *res; res = (menustruct *)malloc(sizeof(menustruct)); if (res) { wctab = (wchar_t *)malloc(sizeof(wchar_t) * nc); if (wctab) { wcs = (wchar_t **)malloc(sizeof(wchar_t *) * n); if (wcs) { menubody = (menuitem *)malloc(sizeof(menuitem) * n); if (menubody) { res->titles = wcs; res->titledata = wctab; res->body = menubody; return res; } free((char *)wcs); } free((char *)wctab); } free((char *)res); } return (menustruct *)0; } static menustruct * copystruct(eucmenu) struct _e_menu *eucmenu; { int i, nc, len, n = eucmenu->ni; e_menuitem *euctable = eucmenu->mi; menuitem *menubody; wchar_t *wp, **wpp; menustruct *res = (menustruct *)0; #ifndef USE_MALLOC_FOR_BIG_ARRAY wchar_t buf[MBUFSIZE]; #else wchar_t *buf = (wchar_t *)malloc(sizeof(wchar_t) * MBUFSIZE); if (!buf) { return res; } #endif /* ¥¿¥¤¥È¥ë¤Îʸ»ú¿ô¤ò¥«¥¦¥ó¥È */ for (i = 0, nc = 0 ; i < n ; i++) { len = MBstowcs(buf, euctable[i].title, MBUFSIZE); nc += len + 1; } res = allocMenu(n, nc); if (res) { menubody = res->body; /* ¥¿¥¤¥È¥ëʸ»ú¤ò¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤Ë¥³¥Ô¡¼ */ for (i = 0, wp = res->titledata, wpp = res->titles ; i < n ; i++) { len = MBstowcs(wp, euctable[i].title, MBUFSIZE); *wpp++ = wp; wp += len + 1; /* ¹½Â¤ÂΤò¥³¥Ô¡¼¤¹¤ë */ switch (euctable[i].func) { case MENU_NEXT_MENU: menubody[i].flag = MENU_MENU; menubody[i].u.fnum = euctable[i].funcd; break; case MENU_FUNC_NUM: menubody[i].flag = MENU_FUNC; menubody[i].u.fnum = euctable[i].funcd; break; } } res->nentries = n; res->modeid = CANNA_MODE_ExtendMode; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)buf); #endif return res; } /* * menuitem·¿¤ÎÁ´¤Æ¤Î¹½Â¤ÂΤò"unsigned char"¤«¤é"wchar_t"¤ËÊÑ´¹¤¹¤ë */ int initExtMenu() { int i, j; for (i = 0 ; i < N_BUILTIN_MENU ; i++) { me[i] = copystruct(e_me + i); if (!me[i]) { for (j = 0 ; j < i ; j++) { freeMenu(me[j]); } return -1; } } for (i = 0 ; i < N_BUILTIN_MENU ; i++) { menustruct *m = me[i]; for (j = 0 ; j < m->nentries ; j++) { if (m->body[j].flag == MENU_MENU) { m->body[j].u.menu_next = me[m->body[j].u.fnum]; } } } return 0; } #undef numitems void finExtMenu() { int i; for (i = 0 ; i < N_BUILTIN_MENU ; i++) { freeMenu(me[i]); } } #endif /* NO_EXTEND_MENU */ static makeUiUtilEchoStr(d) uiContext d; { ichiranContext ic = (ichiranContext)d->modec; d->kanji_status_return->echoStr = ic->allkouho[*(ic->curIkouho)]; d->kanji_status_return->length = WStrlen(ic->allkouho[*(ic->curIkouho)]); d->kanji_status_return->revPos = 0; d->kanji_status_return->revLen = 0; return(0); } int uiUtilIchiranTooSmall(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { makeUiUtilEchoStr(d); return 0; } #ifndef NO_EXTEND_MENU static void pushmenu(d, tab) uiContext d; menustruct *tab; { tab->prev = d->prevMenu; d->prevMenu = tab; } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * UI¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î°ìÍ÷ɽ¼¨(FirstLine) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuflExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; menustruct *mtab, *ptab; menuitem *men; int cur; d->nbytes = 0; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; cur = fc->curIkouho; if (fc->prevcurp) { *(fc->prevcurp) = cur; } men = fc->table->body + cur; ptab = fc->table; popForIchiranMode(d); popCallback(d); pushmenu(d, ptab); switch (men->flag) { case MENU_MENU: for (mtab = d->prevMenu ; mtab ; mtab = mtab->prev) { if (mtab == men->u.menu_next) { killmenu(d); jrKanjiError = "\244\263\244\316\271\340\314\334\244\316\245\341" "\245\313\245\345\241\274\244\317\272\306\265\242\305\252\244\313" "\301\252\302\362\244\265\244\354\244\306\244\244\244\336\244\271"; /* ¤³¤Î¹àÌܤΥá¥Ë¥å¡¼¤ÏºÆµ¢Åª¤ËÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤¹ */ makeGLineMessageFromString(d, jrKanjiError); currentModeInfo(d); return 0; } } return showmenu(d, men->u.menu_next); case MENU_FUNC: if (men->u.fnum < 0) { jrKanjiError = "\244\263\244\316\271\340\314\334\244\317\300\265\244\267" "\244\257\304\352\265\301\244\265\244\354\244\306\244\244\244\336" "\244\273\244\363"; /* ¤³¤Î¹àÌܤÏÀµ¤·¤¯ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó */ killmenu(d); makeGLineMessageFromString(d, jrKanjiError); currentModeInfo(d); return 0; } else { d->more.todo = 1; d->more.fnum = men->u.fnum; /* °Ê²¼¤Î£²¤Ä¤ÏɬÍפ«¤É¤¦¤«Îɤ¯Ê¬¤«¤é¤Ê¤¤ */ GlineClear(d); echostrClear(d); return 0; } } return NothingChangedWithBeep(d); /* ¤³¤³¤Ë¤ÏÍè¤Ê¤¤¤Ï¤º */ } prevMenuIfExist(d) uiContext d; { menustruct *m = d->prevMenu; if (m) { d->prevMenu = m->prev; d->kanji_status_return->info &= ~KanjiEmptyInfo; return showmenu(d, m); } else { return 0; } } static uuflQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* °ìÍ÷¤ò pop */ popForIchiranMode(d); popCallback(d); currentModeInfo(d); return prevMenuIfExist(d); } #endif /* NO_EXTEND_MENU */ /* cfuncdef UiUtilMode -- UI¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥â¡¼¥É¤Ë¤Ê¤ë¤È¤­¤Ë¸Æ¤Ð¤ì¤ë¡£ */ UiUtilMode(d) uiContext d; { #ifdef NO_EXTEND_MENU d->kanji_status_return->info |= KanjiExtendInfo; return 0; #else return showmenu(d, me[MT_HELP]); #endif } #ifndef NO_EXTEND_MENU /* * newMenuInfo() -- ¿·¤·¤¤¥á¥Ë¥å¡¼¾ðÊó¤Î¼èÆÀ */ static menuinfo * newMenuInfo(tab) menustruct *tab; { menuinfo *res; res = (menuinfo *)malloc(sizeof(menuinfo)); if (res) { res->mstruct = tab; res->curnum = 0; } return res; } void freeAllMenuInfo(p) menuinfo *p; { menuinfo *q; while (p) { q = p->next; free((char *)p); p = q; } } static menuinfo * findMenuInfo(p, ms) menuinfo *p; menustruct *ms; { while (p) { if (p->mstruct == ms) { return p; } p = p->next; } return (menuinfo *)0; } /* * showmenu -- ¥á¥Ë¥å¡¼¤Îɽ¼¨ * * °ú¿ô * d : uiContext * table : ¥á¥Ë¥å¡¼¼«¿È(menustruct ¤Ø¤Î¥Ý¥¤¥ó¥¿) */ int showmenu(d, table) uiContext d; menustruct *table; { yomiContext yc = (yomiContext)d->modec; forichiranContext fc; ichiranContext ic; unsigned inhibit = 0; int retval = 0; menuinfo *minfo; int *prevcurp = (int *)0; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } minfo = findMenuInfo(d->minfo, table); if (!minfo) { minfo = newMenuInfo(table); if (minfo) { minfo->next = d->minfo; d->minfo = minfo; } } if (minfo) { prevcurp = &(minfo->curnum); } d->status = 0; if((retval = getForIchiranContext(d)) == NG) return(GLineNGReturn(d)); fc = (forichiranContext)d->modec; fc->prevcurp = prevcurp; fc->table = table; /* selectOne ¤ò¸Æ¤Ö¤¿¤á¤Î½àÈ÷ */ fc->allkouho = table->titles; fc->curIkouho = 0; if (!cannaconf.HexkeySelect) inhibit |= ((unsigned char)NUMBERING | (unsigned char)CHARINSERT); else inhibit |= (unsigned char)CHARINSERT; if((retval = selectOne(d, fc->allkouho, &fc->curIkouho, table->nentries, BANGOMAX, inhibit, 0, WITHOUT_LIST_CALLBACK, NO_CALLBACK, uuflExitCatch, uuflQuitCatch, uiUtilIchiranTooSmall)) == NG) { return(GLineNGReturnFI(d)); } ic = (ichiranContext)d->modec; ic->majorMode = CANNA_MODE_ExtendMode; ic->minorMode = table->modeid; currentModeInfo(d); if (prevcurp) { *(ic->curIkouho) = *prevcurp; } else { *(ic->curIkouho) = 0; } /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if(ic->tooSmall) { d->status = AUX_CALLBACK; return(retval); } makeGlineStatus(d); /* d->status = ICHIRAN_EVERYTIME; */ return(retval); } #endif /* NO_EXTEND_MENU */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/uldefine.c0100644000076500001200000006470107732020155015443 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: uldefine.c,v 1.6 2003/09/17 08:50:53 aida_s Exp $"; #endif #include #include "canna.h" /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #if !defined(NO_EXTEND_MENU) #ifdef luna88k extern int errno; #endif exp(int) RkwCreateDic(); static int dicTourokuDo pro((uiContext)), checkUsrDic pro((uiContext)), dicTourokuYomi pro((uiContext)), dicTourokuYomiDo pro((uiContext, canna_callback_t)); static char *shinshitbl1[] = { "\314\276\273\354", /* ̾»ì */ "\270\307\315\255\314\276\273\354", /* ¸Çͭ̾»ì */ "\306\260\273\354", /* ư»ì */ "\267\301\315\306\273\354", /* ·ÁÍÆ»ì */ "\267\301\315\306\306\260\273\354", /* ·ÁÍÆÆ°»ì */ "\311\373\273\354", /* Éû»ì */ "\244\275\244\316\302\276", /* ¤½¤Î¾ */ }; static char *shinshitbl2[] = { "\303\261\264\301\273\372", /* ñ´Á»ú */ "\277\364\273\354", /* ¿ô»ì */ "\317\242\302\316\273\354", /* Ï¢Âλì */ "\300\334\302\263\273\354\241\246\264\266\306\260\273\354",/* Àܳ»ì¡¦´¶Æ°»ì */ }; static int tblflag; #define TABLE1 1 #define TABLE2 2 #define HINSHI1_SZ (sizeof(shinshitbl1) / sizeof(char *)) #define HINSHI2_SZ (sizeof(shinshitbl2) / sizeof(char *)) #define SONOTA HINSHI1_SZ - 1 static wchar_t *hinshitbl1[HINSHI1_SZ]; static wchar_t *hinshitbl2[HINSHI2_SZ]; static wchar_t *b1, *b2; int initHinshiTable() { int retval = 0; retval = setWStrings(hinshitbl1, shinshitbl1, HINSHI1_SZ); if (retval != NG) { retval = setWStrings(hinshitbl2, shinshitbl2, HINSHI2_SZ); b1 = WString("\303\261\270\354?["); /* ñ¸ì */ b2 = WString("]"); if (!b1 || !b2) { retval = NG; } } return retval; } static clearTango(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; tc->tango_buffer[0] = 0; tc->tango_len = 0; } clearYomi(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; tc->yomi_buffer[0] = 0; tc->yomi_len = 0; } static clearTourokuContext(p) tourokuContext p; { p->id = TOUROKU_CONTEXT; p->genbuf[0] = 0; p->qbuf[0] = 0; p->tango_buffer[0] = 0; p->tango_len = 0; p->yomi_buffer[0] = 0; p->yomi_len = 0; p->curHinshi = 0; p->newDic = (struct dicname *)0; p->hcode[0] = 0; p->katsuyou = 0; p->workDic2 = (deldicinfo *)0; p->workDic3 = (deldicinfo *)0; p->udic = (wchar_t **)0; p->delContext = 0; return(0); } static tourokuContext newTourokuContext() { tourokuContext tcxt; if ((tcxt = (tourokuContext)malloc(sizeof(tourokuContextRec))) == (tourokuContext)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (newTourokuContext) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (newTourokuContext) \244\307\244\255\244\336" "\244\273\244\363\244\307\244\267\244\277"; #endif return (tourokuContext)NULL; } clearTourokuContext(tcxt); return tcxt; } getTourokuContext(d) uiContext d; { tourokuContext tc; int retval = 0; if (pushCallback(d, d->modec, NO_CALLBACK, NO_CALLBACK, NO_CALLBACK, NO_CALLBACK) == 0) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (pushCallback) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (pushCallback) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif return(NG); } if((tc = newTourokuContext()) == (tourokuContext)NULL) { popCallback(d); return(NG); } tc->majorMode = d->majorMode; tc->next = d->modec; d->modec = (mode_context)tc; tc->prevMode = d->current_mode; return(retval); } void popTourokuMode(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; d->modec = tc->next; d->current_mode = tc->prevMode; free((char *)tc); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤Îñ¸ì¤ÎÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTTangoEveryTimeCatch(d, retval, env) uiContext d; int retval; mode_context env; { tourokuContext tc = (tourokuContext)env; int len, echoLen, revPos; wchar_t tmpbuf[ROMEBUFSIZE]; /* BIGARRAY */ retval = d->nbytes = 0; #ifdef DEBUG checkModec(d); #endif if((echoLen = d->kanji_status_return->length) < 0 || d->more.todo) return(retval); if (echoLen == 0) { d->kanji_status_return->revPos = 0; d->kanji_status_return->revLen = 0; } if(d->kanji_status_return->info & KanjiGLineInfo && d->kanji_status_return->gline.length > 0) { echostrClear(d); return 0; } WStrncpy(tmpbuf, d->kanji_status_return->echoStr, echoLen); tmpbuf[echoLen] = (wchar_t)'\0'; WStrcpy(d->genbuf, b1); WStrcat(d->genbuf, tmpbuf); WStrcat(d->genbuf, b2); revPos = WStrlen(b1); len = revPos + echoLen + 1; WStrcpy(d->genbuf + len, tc->genbuf); /* ¥á¥Ã¥»¡¼¥¸ */ len += WStrlen(tc->genbuf); tc->genbuf[0] = 0; d->kanji_status_return->gline.line = d->genbuf; d->kanji_status_return->gline.length = len; if (d->kanji_status_return->revLen) { d->kanji_status_return->gline.revPos = d->kanji_status_return->revPos + revPos; d->kanji_status_return->gline.revLen = d->kanji_status_return->revLen; } else { /* ȿžÎΰ褬¤Ê¤¤¾ì¹ç */ d->kanji_status_return->gline.revPos = len - WStrlen(b2); d->kanji_status_return->gline.revLen = 1; } d->kanji_status_return->info |= KanjiGLineInfo; d->kanji_status_return->length = 0; echostrClear(d); checkGLineLen(d); return retval; } static uuTTangoExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; popCallback(d); /* ÆÉ¤ß¤ò pop */ tc = (tourokuContext)d->modec; WStrncpy(tc->tango_buffer, d->buffer_return, retval); tc->tango_buffer[retval] = (wchar_t)'\0'; tc->tango_len = retval; return(dicTourokuYomi(d)); } uuTTangoQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* ÆÉ¤ß¤ò pop */ freeAndPopTouroku(d); GlineClear(d); currentModeInfo(d); return prevMenuIfExist(d); } static uuT2TangoEveryTimeCatch(d, retval, env) uiContext d; int retval; mode_context env; { yomiContext nyc; int echoLen, pos, offset; wchar_t tmpbuf[ROMEBUFSIZE]; /* BIGARRAY */ nyc = (yomiContext)env; #ifdef DEBUG checkModec(d); #endif if(d->kanji_status_return->info & KanjiThroughInfo) { extern KanjiModeRec yomi_mode; _do_func_slightly(d, 0, (mode_context)nyc, &yomi_mode); } else if(retval > 0){ /* ÁÞÆþ¤¹¤ë */ generalReplace(nyc->kana_buffer, nyc->kAttr, &nyc->kRStartp, &nyc->kCurs, &nyc->kEndp, 0, d->buffer_return, retval, HENKANSUMI | SENTOU); generalReplace(nyc->romaji_buffer, nyc->rAttr, &nyc->rStartp, &nyc->rCurs, &nyc->rEndp, 0, d->buffer_return, retval, SENTOU); nyc->rStartp = nyc->rCurs; nyc->kRStartp = nyc->kCurs; } d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); if((echoLen = d->kanji_status_return->length) < 0) return(retval); WStrncpy(tmpbuf, d->kanji_status_return->echoStr, echoLen); WStrncpy(d->genbuf, nyc->kana_buffer, pos = offset = nyc->kCurs); WStrncpy(d->genbuf + pos, tmpbuf, echoLen); pos += echoLen; WStrncpy(d->genbuf + pos, nyc->kana_buffer + offset, nyc->kEndp - offset); pos += nyc->kEndp - offset; if (d->kanji_status_return->revLen == 0 && /* ȿžɽ¼¨Éôʬ¤Ê¤·¤Ç... */ nyc->kEndp - offset) { /* ¸å¤í¤Ë¤¯¤Ã¤Ä¤±¤ëÉôʬ¤¬¤¢¤ë¤Î¤Ê¤é */ d->kanji_status_return->revLen = 1; d->kanji_status_return->revPos = offset + echoLen; } else { d->kanji_status_return->revPos += offset; } d->kanji_status_return->echoStr = d->genbuf; d->kanji_status_return->length = pos; return retval; } /************************************************ * ñ¸ìÅÐÏ¿¥â¡¼¥É¤òÈ´¤±¤ëºÝ¤ËɬÍפʽèÍý¤ò¹Ô¤¦ * ************************************************/ static uuT2TangoExitCatch(d, retval, nyc) uiContext d; int retval; mode_context nyc; /* ARGSUSED */ { yomiContext yc; popCallback(d); /* ÆÉ¤ß¤ò pop */ yc = (yomiContext)d->modec; d->nbytes = retval = yc->kEndp; WStrncpy(d->buffer_return, yc->kana_buffer, retval); d->buffer_return[retval] = (wchar_t)'\0'; RomajiClearYomi(d); popYomiMode(d); d->status = EXIT_CALLBACK; return retval; } static uuT2TangoQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* ÆÉ¤ß¤ò pop */ popYomiMode(d); d->status = QUIT_CALLBACK; return(0); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤Î¼­½ñºîÀ® * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTMakeDicYesCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { int err = 0, perr = 0; tourokuContext tc; wchar_t **dp; extern defaultContext; popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ tc = (tourokuContext)d->modec; if(defaultContext < 0) { if((KanjiInit() < 0) || (defaultContext < 0)) { jrKanjiError = KanjiInitError(); freeAndPopTouroku(d); defineEnd(d); return(GLineNGReturn(d)); } } /* ¼­½ñ¤òºî¤ë */ if (RkwCreateDic(defaultContext, tc->newDic->name, 0x80) < 0) { err++; if (errno == EPIPE) perr++; MBstowcs(d->genbuf, "\274\255\275\361\244\316\300\270\300\256\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277", 256); /* ¼­½ñ¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } else if(RkwMountDic(defaultContext, tc->newDic->name, 0) < 0) { err++; if (errno == EPIPE) perr++; MBstowcs(d->genbuf, "\274\255\275\361\244\316\245\336\245\246\245\363" "\245\310\244\313\274\272\307\324\244\267\244\336\244\267\244\277", 256); /* ¼­½ñ¤Î¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } else if(d->contextCache != -1 && RkwMountDic(d->contextCache, tc->newDic->name, 0) < 0) { err++; if (errno == EPIPE) perr++; MBstowcs(d->genbuf, "\274\255\275\361\244\316\245\336\245\246\245\363" "\245\310\244\313\274\272\307\324\244\267\244\336\244\267\244\277", 256); /* ¼­½ñ¤Î¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } if(err) { if (perr) { jrKanjiPipeError(); } makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); freeAndPopTouroku(d); defineEnd(d); currentModeInfo(d); return(0); } tc->newDic->dicflag = DIC_MOUNTED; /* ¼­½ñ¤Î¸õÊä¤ÎºÇ¸å¤ËÄɲ乤ë */ dp = tc->udic; if (dp) { while (*dp) { dp++; } *dp++ = WString(tc->newDic->name); *dp = 0; } return(dicTourokuTango(d, uuTTangoQuitCatch)); } static uuTMakeDicQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ freeAndPopTouroku(d); return prevMenuIfExist(d); } static uuTMakeDicNoCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ freeAndPopTouroku(d); defineEnd(d); currentModeInfo(d); GlineClear(d); defineEnd(d); return(retval); } /* ¥æ¡¼¥¶¼­½ñ¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤ò¼è¤ê½Ð¤¹½èÍý */ wchar_t ** getUserDicName(d) uiContext d; /* ARGSUSED */ { int nmudic; /* ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¼­½ñ¤Î¿ô */ struct dicname *p; wchar_t **tourokup, **tp; extern defaultContext; if(defaultContext < 0) { if((KanjiInit() < 0) || (defaultContext < 0)) { jrKanjiError = KanjiInitError(); return (wchar_t **)0; } } for (nmudic = 0, p = kanjidicnames ; p ; p = p->next) { if (p->dictype == DIC_USER && p->dicflag == DIC_MOUNTED) { nmudic++; } } /* return BUFFER ¤Î alloc */ if ((tourokup = (wchar_t **)calloc(nmudic + 2, sizeof(wchar_t *))) == (wchar_t **)NULL) { /* + 2 ¤Ê¤Î¤Ï 1 ¸ÄÁý¤¨¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤ÈÂǤÁ»ß¤á¥Þ¡¼¥¯¤ò¤¤¤ì¤ë¤¿¤á */ #ifndef CODED_MESSAGE jrKanjiError = "malloc (getUserDicName) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (getUserDicName) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif return (wchar_t **)0; } for (tp = tourokup + nmudic, p = kanjidicnames ; p ; p = p->next) { if (p->dictype == DIC_USER && p->dicflag == DIC_MOUNTED) { *--tp = WString(p->name); } } tourokup[nmudic] = (wchar_t *)0; return (wchar_t **)tourokup; } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤Îñ¸ì¤ÎÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* »Ï¤á¤Ë¸Æ¤Ð¤ì¤ë´Ø¿ô */ dicTouroku(d) uiContext d; { tourokuContext tc; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } if(dicTourokuDo(d) < 0) { defineEnd(d); return(GLineNGReturn(d)); } tc = (tourokuContext)d->modec; /* ¼­½ñ¤¬Ìµ¤±¤ì¤Ð¼­½ñ¤òºî¤ë */ if(!*tc->udic) { checkUsrDic(d); return(0); /* ¼­½ñ¤òºî¤ë¤«¤É¤¦¤«¤ò¼ÁÌ䤹¤ë¥â¡¼¥É¤ËÆþ¤ë(¤«¤â)¡£ ¡Ö¤«¤â¡×¤Ã¤Æ¤Î¤Ï¡¢checkUsrDic ¤Ç¤Ê¤Ë¤¬¤·¤«¤ÎÌäÂ꤬ ȯÀ¸¤·¤¿¾ì¹ç¤ÏÆþ¤é¤Ê¤¤¤³¤È¤òɽ¤¹¡£ */ } tblflag = TABLE1; return(dicTourokuTango(d, uuTTangoQuitCatch)); } static dicTourokuDo(d) uiContext d; { tourokuContext tc; wchar_t **up; wchar_t **getUserDicName(); d->status = 0; /* ¥æ¡¼¥¶¼­½ñ¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤ò¼è¤Ã¤Æ¤¯¤ë */ if((up = getUserDicName(d)) == 0) { return(NG); } if (getTourokuContext(d) < 0) { if (up) { wchar_t **p = up; for ( ; *p; p++) { WSfree(*p); } free((char *)up); } return(NG); } tc = (tourokuContext)d->modec; tc->udic = up; return(0); } /* * ñ¸ìÅÐÏ¿ÍѼ­½ñ¤Î¥µ¡¼¥Á * ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç°ìÈֻϤá¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë * ñ¸ìÅÐÏ¿ÍѼ­½ñ¤ò¸«ÉÕ¤±¤ë */ static struct dicname * findUsrDic() { struct dicname *res = (struct dicname *)0, *p; for (p = kanjidicnames ; p ; p = p->next) { if (p->dictype == DIC_USER) { res = p; } } return res; } /* * ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤Î¥Á¥§¥Ã¥¯ * ¡¦¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Çñ¸ìÅÐÏ¿ÍѼ­½ñ¤È¤·¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢ * ¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Æ¤¤¤ë¼­½ñ¤¬¤¢¤ë * ¢ª ¼­½ñ¤òºî¤ë(ºî¤ë¼­½ñ¤Ï£±¤Ä¤À¤±) * ¡¦¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Çñ¸ìÅÐÏ¿ÍѼ­½ñ¤È¤·¤Æ»ØÄꤵ¤ì¤Æ¤¤¤ë¼­½ñ¤¬¤Ê¤¤ * ¡¦¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Çñ¸ìÅÐÏ¿ÍѼ­½ñ¤È¤·¤Æ»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢ * ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤¬¤Ê¤¤ */ static checkUsrDic(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; coreContext ync; struct dicname *u; wchar_t xxxx[512]; /* BIGARRAY */ u = findUsrDic(); /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç¡¢Ã±¸ìÅÐÏ¿ÍѼ­½ñ¤Ï»ØÄꤵ¤ì¤Æ¤¤¤ë¤¬¡¢ ¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Æ¤¤¤ë¤È¤­ */ if (u) { if (u->dicflag == DIC_MOUNT_FAILED) { char tmpbuf[1024]; sprintf(tmpbuf, "\303\261\270\354\305\320\317\277\315\321\274\255" "\275\361\244\254\244\242\244\352\244\336\244\273\244\363\241\243" "\274\255\275\361(%s)\244\362\272\356\300\256\244\267\244\336\244" "\271\244\253?(y/n)", u->name); /* ñ¸ìÅÐÏ¿ÍѼ­½ñ¤¬¤¢¤ê¤Þ¤»¤ó¡£¼­½ñ(%s)¤òºîÀ®¤·¤Þ¤¹¤« */ makeGLineMessageFromString(d, tmpbuf); tc->newDic = u; /* ºî¤ë¼­½ñ */ if(getYesNoContext(d, NO_CALLBACK, uuTMakeDicYesCatch, uuTMakeDicQuitCatch, uuTMakeDicNoCatch) < 0) { defineEnd(d); return(GLineNGReturn(d)); } makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); ync = (coreContext)d->modec; ync->majorMode = CANNA_MODE_ExtendMode; ync->minorMode = CANNA_MODE_TourokuMode; } } /* ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ç¡¢Ã±¸ìÅÐÏ¿ÍѼ­½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ »ØÄê¤Ï¤µ¤ì¤Æ¤¤¤ë¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤­ */ if (!u || u->dicflag == DIC_NOT_MOUNTED) { MBstowcs(xxxx, "\303\261\270\354\305\320\317\277\315\321\274\255\275\361" "\244\254\273\330\304\352\244\265\244\354\244\306\244\244\244\336" "\244\273\244\363", 512); /* ñ¸ìÅÐÏ¿ÍѼ­½ñ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó */ WStrcpy(d->genbuf, xxxx); makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); freeAndPopTouroku(d); defineEnd(d); currentModeInfo(d); } return(0); } dicTourokuTango(d, quitfunc) uiContext d; canna_callback_t quitfunc; { tourokuContext tc = (tourokuContext)d->modec; yomiContext yc, yc2; int retval = 0; yc = GetKanjiString(d, (wchar_t *)0, 0, CANNA_NOTHING_RESTRICTED, (int)CANNA_YOMI_CHGMODE_INHIBITTED, (int)CANNA_YOMI_END_IF_KAKUTEI, CANNA_YOMI_INHIBIT_NONE, uuTTangoEveryTimeCatch, uuTTangoExitCatch, quitfunc); if (yc == (yomiContext)0) { freeAndPopTouroku(d); defineEnd(d); currentModeInfo(d); return NoMoreMemory(); } yc2 = GetKanjiString(d, (wchar_t *)0, 0, CANNA_NOTHING_RESTRICTED, (int)CANNA_YOMI_CHGMODE_INHIBITTED, (int)!CANNA_YOMI_END_IF_KAKUTEI, CANNA_YOMI_INHIBIT_NONE, uuT2TangoEveryTimeCatch, uuT2TangoExitCatch, uuT2TangoQuitCatch); if (yc2 == (yomiContext)0) { popYomiMode(d); /* yc1 ¤ò pop ¤¹¤ë */ popCallback(d); freeAndPopTouroku(d); defineEnd(d); currentModeInfo(d); return NoMoreMemory(); } yc2->generalFlags |= CANNA_YOMI_DELETE_DONT_QUIT; yc2->majorMode = CANNA_MODE_ExtendMode; yc2->minorMode = CANNA_MODE_TourokuMode; currentModeInfo(d); return(retval); } static dicTourokuTangoPre(d) uiContext d; { return dicTourokuTango(d, uuTTangoQuitCatch); } static acDicTourokuTangoPre(d, dn, dm) /* ac means "alert continuation" */ uiContext d; int dn; mode_context dm; /* ARGSUSED */ { popCallback(d); return dicTourokuTangoPre(d); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤ÎÆÉ¤ß¤ÎÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTYomiEveryTimeCatch(d, retval, env) uiContext d; int retval; mode_context env; { tourokuContext tc = (tourokuContext)env; int len, echoLen, revPos; wchar_t tmpbuf[ROMEBUFSIZE]; retval = d->nbytes = 0; if((echoLen = d->kanji_status_return->length) < 0) return(retval); if (echoLen == 0) { d->kanji_status_return->revPos = 0; d->kanji_status_return->revLen = 0; } /* ¼è¤ê¤¢¤¨¤º echoStr ¤¬ d->genbuf ¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç copy ¤·¤Æ¤ª¤¯ */ WStrncpy(tmpbuf, d->kanji_status_return->echoStr, echoLen); d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); revPos = MBstowcs(d->genbuf, "\303\261\270\354[", ROMEBUFSIZE); /* ñ¸ì */ WStrcpy(d->genbuf + revPos, tc->tango_buffer); revPos += WStrlen(tc->tango_buffer); revPos += MBstowcs(d->genbuf + revPos, "] \306\311\244\337?[", ROMEBUFSIZE - revPos); /* ÆÉ¤ß */ WStrncpy(d->genbuf + revPos, tmpbuf, echoLen); len = echoLen + revPos; d->genbuf[len++] = (wchar_t) ']'; WStrcpy(d->genbuf + len, tc->genbuf); len += WStrlen(tc->genbuf); tc->genbuf[0] = 0; d->kanji_status_return->gline.line = d->genbuf; d->kanji_status_return->gline.length = len; if (d->kanji_status_return->revLen) { d->kanji_status_return->gline.revPos = d->kanji_status_return->revPos + revPos; d->kanji_status_return->gline.revLen = d->kanji_status_return->revLen; } else { /* ȿžÎΰ褬¤Ê¤¤¾ì¹ç */ d->kanji_status_return->gline.revPos = len - 1; d->kanji_status_return->gline.revLen = 1; } d->kanji_status_return->info |= KanjiGLineInfo; echostrClear(d); checkGLineLen(d); return retval; } static uuTYomiExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; popCallback(d); /* ÆÉ¤ß¤ò pop */ tc = (tourokuContext)d->modec; WStrncpy(tc->yomi_buffer, d->buffer_return, retval); tc->yomi_buffer[retval] = (wchar_t)'\0'; tc->yomi_len = retval; return(dicTourokuHinshi(d)); } static uuTYomiQuitCatch pro((uiContext, int, mode_context)); static uuTYomiQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* ÆÉ¤ß¤ò pop */ clearTango(d); clearYomi(d); return(dicTourokuTango(d, uuTTangoQuitCatch)); } static dicTourokuYomi(d) uiContext d; { return(dicTourokuYomiDo(d, uuTYomiQuitCatch)); } static acDicTourokuYomi(d, dn, dm) uiContext d; int dn; mode_context dm; /* ARGSUSED */ { popCallback(d); return dicTourokuYomi(d); } static dicTourokuYomiDo(d, quitfunc) uiContext d; canna_callback_t quitfunc; { yomiContext yc; tourokuContext tc = (tourokuContext)d->modec; int retval = 0; if(tc->tango_len < 1) { clearTango(d); return canna_alert(d, "\303\261\270\354\244\362\306\376\316\317\244\267\244\306\244\257\244\300\244\265\244\244", acDicTourokuTangoPre); /* ñ¸ì¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ */ } yc = GetKanjiString(d, (wchar_t *)0, 0, CANNA_NOTHING_RESTRICTED, (int)CANNA_YOMI_CHGMODE_INHIBITTED, (int)CANNA_YOMI_END_IF_KAKUTEI, (CANNA_YOMI_INHIBIT_HENKAN | CANNA_YOMI_INHIBIT_ASHEX | CANNA_YOMI_INHIBIT_ASBUSHU), uuTYomiEveryTimeCatch, uuTYomiExitCatch, quitfunc); if (yc == (yomiContext)0) { freeAndPopTouroku(d); defineEnd(d); currentModeInfo(d); return NoMoreMemory(); } yc->majorMode = CANNA_MODE_ExtendMode; yc->minorMode = CANNA_MODE_TourokuMode; currentModeInfo(d); return(retval); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤ÎÉÊ»ì¤ÎÁªÂò * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTHinshiExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; tourokuContext tc; int cur; d->nbytes = 0; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; cur = fc->curIkouho; popForIchiranMode(d); popCallback(d); if (tblflag == TABLE1 && cur == SONOTA) { tblflag = TABLE2; return dicTourokuHinshi(d); } if (tblflag == TABLE2) { cur += SONOTA; } tc = (tourokuContext)d->modec; tc->curHinshi = cur; return(dicTourokuHinshiDelivery(d)); } static uuTHinshiQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* °ìÍ÷¤ò pop */ popForIchiranMode(d); popCallback(d); if (tblflag == TABLE2) { tblflag = TABLE1; return dicTourokuHinshi(d); } clearYomi(d); return(dicTourokuYomi(d)); } dicTourokuHinshi(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; forichiranContext fc; ichiranContext ic; unsigned inhibit = 0; int currentkouho, retval = 0, numkouho; d->status = 0; if(tc->yomi_len < 1) { return canna_alert(d, "\306\311\244\337\244\362\306\376\316\317\244\267" "\244\306\244\257\244\300\244\265\244\244", acDicTourokuYomi); /* ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ */ } if((retval = getForIchiranContext(d)) < 0) { freeDic(tc); defineEnd(d); return(GLineNGReturnTK(d)); } fc = (forichiranContext)d->modec; /* selectOne ¤ò¸Æ¤Ö¤¿¤á¤Î½àÈ÷ */ if (tblflag == TABLE2) { fc->allkouho = hinshitbl2; numkouho = HINSHI2_SZ; } else { fc->allkouho = hinshitbl1; numkouho = HINSHI1_SZ; } fc->curIkouho = 0; currentkouho = 0; if (!cannaconf.HexkeySelect) inhibit |= ((unsigned char)NUMBERING | (unsigned char)CHARINSERT); else inhibit |= (unsigned char)CHARINSERT; if((retval = selectOne(d, fc->allkouho, &fc->curIkouho, numkouho, BANGOMAX, inhibit, currentkouho, WITH_LIST_CALLBACK, NO_CALLBACK, uuTHinshiExitCatch, uuTHinshiQuitCatch, uiUtilIchiranTooSmall)) < 0) { popForIchiranMode(d); popCallback(d); freeDic(tc); defineEnd(d); return(GLineNGReturnTK(d)); } ic = (ichiranContext)d->modec; ic->majorMode = CANNA_MODE_ExtendMode; ic->minorMode = CANNA_MODE_TourokuHinshiMode; currentModeInfo(d); /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if(ic->tooSmall) { d->status = AUX_CALLBACK; return(retval); } if ( !(ic->flags & ICHIRAN_ALLOW_CALLBACK) ) { makeGlineStatus(d); } /* d->status = ICHIRAN_EVERYTIME; */ return(retval); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * jrKanjiControl ÍÑ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ dicTourokuControl(d, tango, quitfunc) uiContext d; wchar_t *tango; canna_callback_t quitfunc; { tourokuContext tc; if(dicTourokuDo(d) < 0) { return(GLineNGReturn(d)); } tc = (tourokuContext)d->modec; if(!*tc->udic) { if(checkUsrDic(d) < 0) return(GLineNGReturn(d)); else return(0); } tblflag = TABLE1; if(tango == 0 || tango[0] == 0) { return(dicTourokuTango(d, quitfunc)); } WStrcpy(tc->tango_buffer, tango); tc->tango_len = WStrlen(tc->tango_buffer); return(dicTourokuYomiDo(d, quitfunc)); } #endif /* NO_EXTEND_MENU */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/uldelete.c0100644000076500001200000010171007732020155015443 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: uldelete.c,v 1.4 2003/09/17 08:50:53 aida_s Exp $"; #endif #if !defined(NO_EXTEND_MENU) #include #include "canna.h" #ifdef luna88k extern int errno; #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc extern exp(int) RkwGetServerVersion pro((int *, int *)); extern exp(int) RkwChmodDic pro((int, char *, int)); static int dicSakujoYomi pro((uiContext)), dicSakujoEndBun pro((uiContext)), dicSakujoTango pro((uiContext)), dicSakujoDictionary pro((uiContext)), dicSakujoDo pro((uiContext)); void freeWorkDic3(tc) tourokuContext tc; { if (tc->workDic3) { free((char *)tc->workDic3); tc->workDic3 = (deldicinfo *)0; } } void freeWorkDic(tc) tourokuContext tc; { if (tc->workDic2) { free((char *)tc->workDic2); tc->workDic2 = (deldicinfo *)0; } freeWorkDic3(tc); } void freeDic(tc) tourokuContext tc; { if (tc->udic) { wchar_t **p = tc->udic; for ( ; *p; p++) { WSfree(*p); } free((char *)tc->udic); } freeWorkDic(tc); } void freeAndPopTouroku(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; freeDic(tc); popTourokuMode(d); popCallback(d); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìºï½ü¤ÎÆÉ¤ß¤ÎÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuSYomiEveryTimeCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { int len, echoLen, revPos; wchar_t tmpbuf[ROMEBUFSIZE]; retval = 0; if((echoLen = d->kanji_status_return->length) < 0) return(retval); if (echoLen == 0) { d->kanji_status_return->revPos = 0; d->kanji_status_return->revLen = 0; } /* ¼è¤ê¤¢¤¨¤º echoStr ¤¬ d->genbuf ¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç copy ¤·¤Æ¤ª¤¯ */ WStrncpy(tmpbuf, d->kanji_status_return->echoStr, echoLen); revPos = MBstowcs(d->genbuf, "\306\311\244\337?[", ROMEBUFSIZE); /* ÆÉ¤ß */ WStrncpy(d->genbuf + revPos, tmpbuf, echoLen); *(d->genbuf + revPos + echoLen) = (wchar_t) ']'; len = revPos + echoLen + 1; *(d->genbuf + len) = (wchar_t) '\0'; d->kanji_status_return->gline.line = d->genbuf; d->kanji_status_return->gline.length = len; if (d->kanji_status_return->revLen) { d->kanji_status_return->gline.revPos = d->kanji_status_return->revPos + revPos; d->kanji_status_return->gline.revLen = d->kanji_status_return->revLen; } else { /* ȿžÎΰ褬¤Ê¤¤¾ì¹ç */ d->kanji_status_return->gline.revPos = len - 1; d->kanji_status_return->gline.revLen = 1; } d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); d->kanji_status_return->info |= KanjiGLineInfo; echostrClear(d); checkGLineLen(d); return retval; } static uuSYomiExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; popCallback(d); /* ÆÉ¤ß¤ò pop */ tc = (tourokuContext)d->modec; WStrncpy(tc->yomi_buffer, d->buffer_return, retval); tc->yomi_buffer[retval] = (wchar_t)'\0'; tc->yomi_len = WStrlen(tc->yomi_buffer); return dicSakujoTango(d); } static uuSYomiQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* ÆÉ¤ß¤ò pop */ clearYomi(d); freeAndPopTouroku(d); GlineClear(d); currentModeInfo(d); return prevMenuIfExist(d); } static dicSakujoYomi(d) uiContext d; { yomiContext yc; d->status = 0; yc = GetKanjiString(d, (wchar_t *)NULL, 0, CANNA_NOTHING_RESTRICTED, (int)CANNA_YOMI_CHGMODE_INHIBITTED, (int)CANNA_YOMI_END_IF_KAKUTEI, (CANNA_YOMI_INHIBIT_HENKAN | CANNA_YOMI_INHIBIT_ASHEX | CANNA_YOMI_INHIBIT_ASBUSHU), uuSYomiEveryTimeCatch, uuSYomiExitCatch, uuSYomiQuitCatch); if (yc == (yomiContext)0) { deleteEnd(d); return NoMoreMemory(); } yc->majorMode = CANNA_MODE_ExtendMode; yc->minorMode = CANNA_MODE_DeleteDicMode; currentModeInfo(d); return 0; } static acDicSakujoYomi(d, dn, dm) uiContext d; int dn; mode_context dm; /* ARGSUSED */ { popCallback(d); return dicSakujoYomi(d); } static acDicSakujoDictionary(d, dn, dm) uiContext d; int dn; mode_context dm; /* ARGSUSED */ { popCallback(d); return dicSakujoDictionary(d); } /* * ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤«¤é WRITE ¸¢¤Î¤¢¤ë¤â¤Î¤ò¼è¤ê½Ð¤¹ */ static wchar_t ** getMountDicName(d, num_return) uiContext d; int *num_return; /* ARGSUSED */ { int nmmdic, check, majv, minv; struct dicname *p; wchar_t **tourokup, **tp; extern defaultContext; if (defaultContext < 0) { if ((KanjiInit() < 0) || (defaultContext < 0)) { #ifdef STANDALONE #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\307\244\255\244\336\244\273\244\363"; #endif #else #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\245\265" "\241\274\245\320\244\310\304\314\277\256\244\307\244\255\244\336" "\244\273\244\363"; /* ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó */ #endif #endif /* STANDALONE */ return 0; } } /* ¥µ¡¼¥Ð¤Î Version ¤Ë¤è¤Ã¤Æ¼è¤ê½Ð¤¹¼­½ñ¤òʬ¤±¤ë */ RkwGetServerVersion(&majv, &minv); if (canna_version(majv, minv) < canna_version(3, 2)) { /* Version3.2 ¤è¤êÁ°¤Î¥µ¡¼¥Ð¤Î¾ì¹ç */ for (nmmdic = 0, p = kanjidicnames; p; p = p->next) { if (p->dicflag == DIC_MOUNTED && p->dictype == DIC_USER) { nmmdic++; } } } else { /* Version3.2 °Ê¹ß¤Î¥µ¡¼¥Ð¤Î¾ì¹ç */ for (nmmdic = 0, p = kanjidicnames ; p ; p = p->next) { if (p->dicflag == DIC_MOUNTED) { check = RkwChmodDic(defaultContext, p->name, 0); if (check >= 0 && (check & RK_ENABLE_WRITE)) { nmmdic++; } else { check = RkwChmodDic(defaultContext, p->name, RK_GRP_DIC); if (check >= 0 && (check & RK_ENABLE_WRITE)) { nmmdic++; } } } } } /* return BUFFER ¤Î alloc */ if ((tourokup = (wchar_t **)calloc(nmmdic + 1, sizeof(wchar_t *))) == (wchar_t **)NULL) { /* + 1 ¤Ê¤Î¤ÏÂǤÁ»ß¤á¥Þ¡¼¥¯¤ò¤¤¤ì¤ë¤¿¤á */ jrKanjiError = "malloc (getMountDicName) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ return 0; } if (canna_version(majv, minv) < canna_version(3, 2)) { /* Version3.2 ¤è¤êÁ°¤Î¥µ¡¼¥Ð¤Î¾ì¹ç */ for (tp = tourokup + nmmdic, p = kanjidicnames ; p ; p = p->next) { if (p->dicflag == DIC_MOUNTED && p->dictype == DIC_USER) { *--tp = WString(p->name); } } } else { /* Version3.2 °Ê¹ß¤Î¥µ¡¼¥Ð¤Î¾ì¹ç */ for (tp = tourokup + nmmdic, p = kanjidicnames ; p ; p = p->next) { if (p->dicflag == DIC_MOUNTED) { check = RkwChmodDic(defaultContext, p->name, 0); if (check >= 0 && (check & RK_ENABLE_WRITE)) { *--tp = WString(p->name); } else { check = RkwChmodDic(defaultContext, p->name, RK_GRP_DIC); if (check >= 0 && (check & RK_ENABLE_WRITE)) { *--tp = WString(p->name); } } } } } tourokup[nmmdic] = (wchar_t *)0; *num_return = nmmdic; return tourokup; } dicSakujo(d) uiContext d; { wchar_t **mp, **p; tourokuContext tc; int num; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; /* ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤Ç WRITE ¸¢¤Î¤¢¤ë¤â¤Î¤ò¼è¤Ã¤Æ¤¯¤ë */ if ((mp = getMountDicName(d, &num)) != 0) { if (getTourokuContext(d) != NG) { tc = (tourokuContext)d->modec; tc->udic = mp; if(!*mp) { makeGLineMessageFromString(d, "\303\261\270\354\272\357\275\374" "\262\304\307\275\244\312\274\255\275\361\244\254\302\270\272\337" "\244\267\244\336\244\273\244\363"); /* ñ¸ìºï½ü²Äǽ¤Ê¼­½ñ¤¬Â¸ºß¤·¤Þ¤»¤ó */ freeAndPopTouroku(d); deleteEnd(d); currentModeInfo(d); return 0; } tc->nudic = num; return dicSakujoYomi(d); } for ( p = mp; *p; p++) { WSfree(*p); } free((char *)mp); } deleteEnd(d); return GLineNGReturn(d); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìºï½ü¤Îñ¸ì¤ÎÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static CloseDeleteContext(tc) tourokuContext tc; { if(tc->delContext >= 0) { if (RkwCloseContext(tc->delContext) < 0) { if (errno == EPIPE) { jrKanjiPipeError(); } } } #ifdef DEBUG else printf("ERROR: delContext < 0\n"); #endif } /* * »ØÄꤵ¤ì¤¿Ã±¸ì¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤ò¼è¤ê½Ð¤¹ */ static getEffectDic(tc) tourokuContext tc; { int workContext, currentkouho, nbunsetsu, nelem = tc->nudic; wchar_t **mdic, **cands, **work; wchar_t **getIchiranList(); char dicname[1024], tmpbuf[64]; RkLex lex[5]; deldicinfo *dic; dic = (deldicinfo *)malloc((nelem + 1) * sizeof(deldicinfo)); if (dic == (deldicinfo *)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (getEffectDic) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (getEffectDic) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif return NG; } tc->workDic2 = dic; if ((workContext = RkwCreateContext()) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } #ifndef CODED_MESSAGE jrKanjiError = "¼­½ñ¸¡º÷ÍÑ¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "\274\255\275\361\270\241\272\367\315\321\245\263\245\363" "\245\306\245\257\245\271\245\310\244\362\272\356\300\256\244\307" "\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; #endif return NG; } #ifdef STANDALONE if ((RkwSetDicPath(workContext, "iroha")) == NG) { #ifndef CODED_MESSAGE jrKanjiError = "¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "\274\255\275\361\245\307\245\243\245\354\245\257\245\310\245\352\244\362\300\337\304\352\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; #endif CloseDeleteContext(tc); return NG; } #endif /* STANDALONE */ for (mdic = tc->udic; *mdic; mdic++) { WCstombs(dicname, *mdic, sizeof(dicname)); if (RkwMountDic(workContext, dicname, 0) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\274\255\275\361\270\241\272\367\315\321\245\263\245\363" "\245\306\245\257\245\271\245\310\244\313\274\255\275\361\244\362" "\245\336\245\246\245\363\245\310\244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¼­½ñ¸¡º÷ÍÑ¥³¥ó¥Æ¥¯¥¹¥È¤Ë¼­½ñ¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ RkwCloseContext(workContext); return NG; } nbunsetsu = RkwBgnBun(workContext, tc->yomi_buffer, tc->yomi_len, 0); if (nbunsetsu == 1) { if ((cands = getIchiranList(workContext, &nelem, ¤tkouho)) != 0) { work = cands; while (*work) { if (WStrcmp(*work, tc->tango_buffer) == 0) { dic->name = *mdic; if (RkwXfer(workContext, currentkouho) == NG) { if (errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\245\253\245\354\245\363\245\310\270\365\312\344" "\244\362\274\350\244\352\275\320\244\273\244\336" "\244\273\244\363\244\307\244\267\244\277"; /* ¥«¥ì¥ó¥È¸õÊä¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ freeGetIchiranList(cands); RkwEndBun(workContext, 0); RkwUnmountDic(workContext, dicname); RkwCloseContext(workContext); return NG; } if (RkwGetLex(workContext, lex, 5) <= 0) { if (errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\267\301\302\326\301\307\276\360\312\363\244\362" "\274\350\244\352\275\320\244\273\244\336\244\273\244\363" "\244\307\244\267\244\277"; /* ·ÁÂÖÁǾðÊó¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ freeGetIchiranList(cands); RkwEndBun(workContext, 0); RkwUnmountDic(workContext, dicname); RkwCloseContext(workContext); return NG; } sprintf((char *)tmpbuf, "#%d#%d", lex[0].rownum, lex[0].colnum); MBstowcs(dic->hcode, tmpbuf, 16); dic++; break; } work++; } freeGetIchiranList(cands); } } if (RkwEndBun(workContext, 0) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\316" "\275\252\316\273\244\313\274\272\307\324\244\267\244\336\244\267" "\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ RkwUnmountDic(workContext, dicname); RkwCloseContext(workContext); return NG; } if (RkwUnmountDic(workContext, dicname) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\274\255\275\361\270\241\272\367\315\321\244\316\274\255" "\275\361\244\362\245\242\245\363\245\336\245\246\245\363\245\310" "\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¼­½ñ¸¡º÷ÍѤμ­½ñ¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ RkwCloseContext(workContext); return NG; } } if (RkwCloseContext(workContext) < 0) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\274\255\275\361\270\241\272\367\315\321\244\316\245\263" "\245\363\245\306\245\257\245\271\245\310\244\362\245\257\245\355" "\241\274\245\272\244\307\244\255\244\336\244\273\244\363\244\307" "\244\267\244\277"; /* ¼­½ñ¸¡º÷ÍѤΥ³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ return NG; } dic->name = (wchar_t *)0; tc->nworkDic2 = dic - tc->workDic2; return 0; } static uuSTangoExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; tourokuContext tc; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; freeGetIchiranList(fc->allkouho); popForIchiranMode(d); popCallback(d); tc = (tourokuContext)d->modec; WStrcpy(tc->tango_buffer, d->buffer_return); tc->tango_buffer[d->nbytes] = 0; tc->tango_len = d->nbytes; d->nbytes = 0; if (getEffectDic(tc) == NG) { freeDic(tc); deleteEnd(d); return GLineNGReturnTK(d); } return dicSakujoDictionary(d); } static uuSTangoQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; freeGetIchiranList(fc->allkouho); popForIchiranMode(d); popCallback(d); clearYomi(d); return dicSakujoYomi(d); } /* * ÆÉ¤ß¤ò»ØÄꤵ¤ì¤¿¼­½ñ¤«¤éÊÑ´¹¤¹¤ë */ static dicSakujoBgnBun(d, st) uiContext d; RkStat *st; { tourokuContext tc = (tourokuContext)d->modec; int nbunsetsu; char dicname[1024]; wchar_t **mdic; if(!tc) { #if !defined(DEBUG) printf("tc = NULL\n"); #endif } if(!tc->udic) { #if !defined(DEBUG) printf("tc->udic = NULL\n"); #endif } if((tc->delContext = RkwCreateContext())== NG) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\303\261\270\354\272\357\275\374\315\321\244\316\245\263" "\245\363\245\306\245\257\245\271\245\310\244\362\272\356\300\256" "\244\307\244\255\244\336\244\273\244\363"; /* ñ¸ìºï½üÍѤΥ³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó */ return(NG); } #ifdef STANDALONE if ((RkwSetDicPath(tc->delContext, "iroha")) == NG) { #ifndef CODED_MESSAGE jrKanjiError = "¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "\274\255\275\361\245\307\245\243\245\354\245\257\245\310\245\352\244\362\300\337\304\352\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; #endif CloseDeleteContext(tc); return NG; } #endif /* STANDALONE */ for (mdic = tc->udic; *mdic; mdic++) { WCstombs(dicname, *mdic, sizeof(dicname)); if (RkwMountDic(tc->delContext, dicname, 0) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\303\261\270\354\272\357\275\374\315\321\244\316\274" "\255\275\361\244\362\245\336\245\246\245\363\245\310\244\307\244" "\255\244\336\244\273\244\363\244\307\244\267\244\277"; /* ñ¸ìºï½üÍѤμ­½ñ¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ CloseDeleteContext(tc); return(NG); } } if((nbunsetsu = RkwBgnBun(tc->delContext, tc->yomi_buffer, tc->yomi_len, 0)) == -1) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ CloseDeleteContext(tc); return(NG); } if(RkwGetStat(tc->delContext, st) == -1) { RkwEndBun(tc->delContext, 0); /* 0:³Ø½¬¤·¤Ê¤¤ */ if(errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\245\271\245\306\245\244\245\277\245\271\244\362\274\350" "\244\352\275\320\244\273\244\336\244\273\244\363\244\307\244\267" "\244\277"; /* ¥¹¥Æ¥¤¥¿¥¹¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿ */ /* ¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Æ¤Ê¤¤ */ CloseDeleteContext(tc); return(NG); } return(nbunsetsu); } static dicSakujoEndBun(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; if(RkwEndBun(tc->delContext, 0) == -1) { /* 0:³Ø½¬¤·¤Ê¤¤ */ if(errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\316" "\275\252\316\273\244\313\274\272\307\324\244\267\244\336\244\267" "\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ»¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return(NG); } return(0); } static dicSakujoTango(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; forichiranContext fc; ichiranContext ic; wchar_t **allDelCands, **getIchiranList(); BYTE inhibit = 0; int nbunsetsu, nelem, currentkouho, retval = 0; RkStat st; if(tc->yomi_len < 1) { return canna_alert(d, "\306\311\244\337\244\362\306\376\316\317\244\267" "\244\306\244\257\244\300\244\265\244\244", acDicSakujoYomi); /* ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ */ } if((nbunsetsu = dicSakujoBgnBun(d, &st)) == NG) { freeDic(tc); deleteEnd(d); return(GLineNGReturnTK(d)); } if((nbunsetsu != 1) || (st.maxcand == 0)) { /* ¸õÊ䤬¤Ê¤¤ */ if(dicSakujoEndBun(d) == NG) { freeDic(tc); CloseDeleteContext(tc); deleteEnd(d); return(GLineNGReturnTK(d)); } makeGLineMessageFromString(d, "\244\263\244\316\306\311\244\337\244\307" "\305\320\317\277\244\265\244\354\244\277\303\261\270\354\244\317" "\302\270\272\337\244\267\244\336\244\273\244\363"); /* ¤³¤ÎÆÉ¤ß¤ÇÅÐÏ¿¤µ¤ì¤¿Ã±¸ì¤Ï¸ºß¤·¤Þ¤»¤ó */ CloseDeleteContext(tc); freeAndPopTouroku(d); deleteEnd(d); currentModeInfo(d); return(0); } /* ¤¹¤Ù¤Æ¤Î¸õÊä¤ò¼è¤ê½Ð¤¹ */ if((allDelCands = getIchiranList(tc->delContext, &nelem, ¤tkouho)) == 0) { freeDic(tc); dicSakujoEndBun(d); CloseDeleteContext(tc); deleteEnd(d); return(GLineNGReturnTK(d)); } if (dicSakujoEndBun(d) == NG) { freeDic(tc); CloseDeleteContext(tc); deleteEnd(d); return GLineNGReturnTK(d); } CloseDeleteContext(tc); if(getForIchiranContext(d) == NG) { freeDic(tc); freeGetIchiranList(allDelCands); deleteEnd(d); return(GLineNGReturnTK(d)); } fc = (forichiranContext)d->modec; fc->allkouho = allDelCands; if (!cannaconf.HexkeySelect) inhibit |= ((BYTE)NUMBERING | (BYTE)CHARINSERT); else inhibit |= (BYTE)CHARINSERT; fc->curIkouho = currentkouho; /* ¸½ºß¤Î¥«¥ì¥ó¥È¸õÊäÈÖ¹æ¤òÊݸ¤¹¤ë */ currentkouho = 0; /* ¥«¥ì¥ó¥È¸õÊ䤫¤é²¿ÈÖÌܤò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë¤« */ /* ¸õÊä°ìÍ÷¤Ë°Ü¹Ô¤¹¤ë */ if((retval = selectOne(d, fc->allkouho, &fc->curIkouho, nelem, BANGOMAX, inhibit, currentkouho, WITHOUT_LIST_CALLBACK, NO_CALLBACK, uuSTangoExitCatch, uuSTangoQuitCatch, uiUtilIchiranTooSmall)) == NG) { freeDic(tc); freeGetIchiranList(fc->allkouho); deleteEnd(d); return(GLineNGReturnTK(d)); } ic = (ichiranContext)d->modec; ic->majorMode = CANNA_MODE_ExtendMode; ic->minorMode = CANNA_MODE_DeleteDicMode; currentModeInfo(d); if(ic->tooSmall) { d->status = AUX_CALLBACK; return(retval); } makeGlineStatus(d); /* d->status = EVERYTIME_CALLBACK; */ return(retval); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìºï½ü¤Î¼­½ñ°ìÍ÷ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static getDeleteDic(mc) mountContext mc; { tourokuContext tc = (tourokuContext)mc->next; int i, num = 0; deldicinfo *dic, *srcp; /* ¤Þ¤º¡¢Ã±¸ìºï½ü¤¹¤ë¼­½ñ¤Î¿ô¤ò¿ô¤¨¤ë */ for (i = 0; mc->mountList[i]; i++) { if (mc->mountOldStatus[i] != mc->mountNewStatus[i]) { num++; } } dic = (deldicinfo *)malloc((num + 1) * sizeof(deldicinfo)); if (dic != (deldicinfo *)NULL) { tc->workDic3 = dic; /* ¤É¤Î¼­½ñ¤«¤éñ¸ì¤òºï½ü¤¹¤ë¤« */ srcp = tc->workDic2; for (i = 0; mc->mountList[i]; i++, srcp++) { if (mc->mountOldStatus[i] != mc->mountNewStatus[i]) { *dic++ = *srcp; } } dic->name = (wchar_t *)0; tc->nworkDic3 = dic - tc->workDic3; return 0; } jrKanjiError ="malloc (uuSDicExitCatch) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ return NG; } static uuSDicExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { mountContext mc; tourokuContext tc; d->nbytes = 0; popCallback(d); /* °ìÍ÷¤ò pop */ mc = (mountContext)d->modec; if (getDeleteDic(mc) == NG) { popMountMode(d); popCallback(d); tc = (tourokuContext)d->modec; freeDic(tc); deleteEnd(d); return GLineNGReturnTK(d); } popMountMode(d); popCallback(d); tc = (tourokuContext)d->modec; /* ¼­½ñ¤¬ÁªÂò¤µ¤ì¤Ê¤«¤Ã¤¿¤È¤­¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¡¢ ²¿¤«¤Î¥­¡¼¤¬ÆþÎϤµ¤ì¤¿¤é¡¢ ¼­½ñÁªÂò¤ËÌá¤ë¡£ */ if (tc->nworkDic3 == 0) { return canna_alert(d, "\274\255\275\361\244\362\301\252\302\362\244\267" "\244\306\244\257\244\300\244\265\244\244", acDicSakujoDictionary); /* ¼­½ñ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤ */ } return dicSakujoDo(d); } static uuSDicQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* °ìÍ÷¤ò pop */ popMountMode(d); popCallback(d); freeWorkDic((tourokuContext)d->modec); return dicSakujoTango(d); } static dicSakujoDictionary(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; mountContext mc; ichiranContext ic; deldicinfo *work; BYTE inhibit = 0; int retval, i, upnelem = tc->nworkDic2; char *dicLbuf, **dicLp, *wptr; BYTE *soldp, *snewp; wchar_t *xxxx[100]; retval = d->nbytes = 0; d->status = 0; if (upnelem == 1) { work = (deldicinfo *)malloc((1 /* upnelem(==1) */ + 1) * sizeof(deldicinfo)); if (work != (deldicinfo *)NULL) { tc->workDic3 = work; *work++ = *tc->workDic2; /* ¹½Â¤ÂΤÎÂåÆþ */ work->name = (wchar_t *)0; tc->nworkDic3 = 1; /* work - tc->workDic3 == 1 */ return dicSakujoDo(d); } jrKanjiError = "malloc (dicSakujoDictionary) \244\307\244\255\244\336" "\244\273\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ freeDic(tc); deleteEnd(d); return GLineNGReturnTK(d); } if ((dicLbuf = (char *)malloc(ROMEBUFSIZE)) != (char *)NULL) { if ((dicLp = (char **)calloc(upnelem + 1, sizeof(char *))) != (char **)NULL) { wptr = dicLbuf; for (work = tc->workDic2; work->name; work++) { i = WCstombs(wptr, work->name, ROMEBUFSIZE); wptr += i; *wptr++ = '\0'; } for (wptr = dicLbuf, i = 0; i < upnelem ; i++) { dicLp[i] = wptr; while (*wptr++) /* EMPTY */ ; } dicLp[i] = (char *)NULL; /* ¸½ºß¤Î¾õÂ֤Ϥ¹¤Ù¤Æ off ¤Ë¤·¤Æ¤ª¤¯ */ if ((soldp = (BYTE *)calloc(upnelem + 1, sizeof(BYTE))) != (BYTE *)NULL) { if ((snewp = (BYTE *)calloc(upnelem + 1, sizeof(BYTE))) != (BYTE *)NULL) { if ((retval = getMountContext(d)) != NG) { mc = (mountContext)d->modec; mc->mountOldStatus = soldp; mc->mountNewStatus = snewp; mc->mountList = dicLp; /* selectOnOff ¤ò¸Æ¤Ö¤¿¤á¤Î½àÈ÷ */ mc->curIkouho = 0; if (!cannaconf.HexkeySelect) inhibit |= ((BYTE)NUMBERING | (BYTE)CHARINSERT); else inhibit |= (BYTE)CHARINSERT; retval = setWStrings(xxxx, mc->mountList, 0); if (retval == NG) { popMountMode(d); popCallback(d); deleteEnd(d); return GLineNGReturnTK(d); } if ((retval = selectOnOff(d, xxxx, &mc->curIkouho, upnelem, BANGOMAX, 0, mc->mountOldStatus, NO_CALLBACK, uuSDicExitCatch, uuSDicQuitCatch, uiUtilIchiranTooSmall)) == NG) { popMountMode(d); popCallback(d); deleteEnd(d); return GLineNGReturnTK(d); } ic = (ichiranContext)d->modec; ic->majorMode = CANNA_MODE_ExtendMode; ic->minorMode = CANNA_MODE_DeleteDicMode; currentModeInfo(d); /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if (ic->tooSmall) { jrKanjiError = "\274\255\275\361\260\354\315\367\315\321\244\316" "\311\375\244\254\266\271\244\244\244\316\244\307\274\255" "\275\361\244\316\301\252\302\362\244\254\244\307\244\255" "\244\336\244\273\244\363"; /* ¼­½ñ°ìÍ÷ÍѤÎÉý¤¬¶¹¤¤¤Î¤Ç¼­½ñ¤ÎÁªÂò¤¬¤Ç¤­¤Þ¤»¤ó */ ichiranFin(d); popCallback(d); /* OnOff ¤ò¥Ý¥Ã¥× */ popMountMode(d); popCallback(d); currentModeInfo(d); freeDic(tc); deleteEnd(d); return GLineNGReturnTK(d); } makeGlineStatus(d); /* d->status = ICHIRAN_EVERYTIME; */ return(retval); } free((char *)snewp); } free((char *)soldp); } free((char *)dicLp); } free(dicLbuf); } jrKanjiError = "malloc (dicSakujoDictionary) \244\307\244\255\244\336" "\244\273\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ freeDic(tc); deleteEnd(d); return GLineNGReturnTK(d); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìºï½ü * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuSDeleteYesCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; char dicname[1024]; wchar_t *WStraddbcpy(); deldicinfo *dic; int bufcnt, l; extern defaultContext; deleteEnd(d); popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ tc = (tourokuContext)d->modec; if(defaultContext == -1) { if((KanjiInit() < 0) || (defaultContext == -1)) { #ifdef STANDALONE #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\307\244\255\244\336\244\273\244\363"; #endif #else #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\245\265" "\241\274\245\320\244\310\304\314\277\256\244\307\244\255\244\336" "\244\273\244\363"; #endif #endif freeAndPopTouroku(d); return(GLineNGReturn(d)); } } /* ¼­½ñ¤«¤éñ¸ì¤òºï½ü¤¹¤ë */ /* ñ¸ìºï½üÍѤΰì¹Ô¤òºî¤ë(³Æ¼­½ñ¶¦ÄÌ) */ WStraddbcpy(d->genbuf, tc->yomi_buffer, ROMEBUFSIZE); l = WStrlen(tc->yomi_buffer); d->genbuf[l] = (wchar_t)' '; l += 1; for (dic = tc->workDic3; dic->name; dic++) { /* ñ¸ìºï½üÍѤΰì¹Ô¤òºî¤ë(³Æ¼­½ñ¸ÇÍ­) */ WStrcpy(d->genbuf + l, dic->hcode); bufcnt = l + WStrlen(dic->hcode); d->genbuf[bufcnt] = (wchar_t)' '; bufcnt += 1; WStraddbcpy(d->genbuf + bufcnt, tc->tango_buffer, ROMEBUFSIZE - bufcnt); WCstombs(dicname, dic->name, sizeof(dicname)); if (RkwDeleteDic(defaultContext, dicname, d->genbuf) == NG) { if (errno == EPIPE) jrKanjiPipeError(); MBstowcs(d->genbuf, "\303\261\270\354\272\357\275\374\244\307\244\255" "\244\336\244\273\244\363\244\307\244\267\244\277", 512); /* ñ¸ìºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ goto close; } if (cannaconf.auto_sync) { RkwSync(defaultContext, dicname); } } /* ºï½ü¤Î´°Î»¤òɽ¼¨¤¹¤ë */ l = MBstowcs(d->genbuf, "\241\330", ROMEBUFSIZE); /* ¡Ø */ WStrcpy(d->genbuf + l, tc->tango_buffer); l += WStrlen(tc->tango_buffer); l += MBstowcs(d->genbuf + l, "\241\331(", ROMEBUFSIZE - l); /* ¡Ù */ WStrcpy(d->genbuf + l, tc->yomi_buffer); l += WStrlen(tc->yomi_buffer); l += MBstowcs(d->genbuf + l, ")\244\362\274\255\275\361 ", ROMEBUFSIZE - l); /* ¤ò¼­½ñ */ dic = tc->workDic3; WStrcpy(d->genbuf + l, dic->name); l += WStrlen(dic->name); for (dic++; dic->name; dic++) { l += MBstowcs(d->genbuf + l, " \244\310 ", ROMEBUFSIZE - l); /* ¤È */ WStrcpy(d->genbuf + l, dic->name); l += WStrlen(dic->name); } l += MBstowcs(d->genbuf + l, " \244\253\244\351\272\357\275\374\244\267" "\244\336\244\267\244\277", ROMEBUFSIZE - l); /* ¤«¤éºï½ü¤·¤Þ¤·¤¿ */ close: makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); freeAndPopTouroku(d); currentModeInfo(d); return(0); } static uuSDeleteQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc = (tourokuContext)env; popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ if (tc->nworkDic2 == 1) { freeWorkDic(tc); return dicSakujoTango(d); } freeWorkDic3(tc); return dicSakujoDictionary(d); } static uuSDeleteNoCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ freeAndPopTouroku(d); deleteEnd(d); currentModeInfo(d); GlineClear(d); return(retval); } static dicSakujoDo(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; int l; deldicinfo *dic; l = MBstowcs(d->genbuf, "\241\330", ROMEBUFSIZE); /* ¡Ø */ WStrcpy(d->genbuf + l, tc->tango_buffer); l += WStrlen(tc->tango_buffer); l += MBstowcs(d->genbuf + l, "\241\331(", ROMEBUFSIZE - l); /* ¡Ù */ WStrcpy(d->genbuf + l, tc->yomi_buffer); l += WStrlen(tc->yomi_buffer); l += MBstowcs(d->genbuf + l, ")\244\362\274\255\275\361 ", ROMEBUFSIZE - l); /* ¤ò¼­½ñ */ dic = tc->workDic3; WStrcpy(d->genbuf + l, dic->name); l += WStrlen(dic->name); for (dic++; dic->name; dic++) { l += MBstowcs(d->genbuf + l, " \244\310¤È ", ROMEBUFSIZE - l); /* ¤È */ WStrcpy(d->genbuf + l, dic->name); l += WStrlen(dic->name); } l += MBstowcs(d->genbuf + l, " \244\253\244\351\272\357\275\374\244\267" "\244\336\244\271\244\253?(y/n)", ROMEBUFSIZE - l); /* ¤«¤éºï½ü¤·¤Þ¤¹¤« */ if (getYesNoContext(d, NO_CALLBACK, uuSDeleteYesCatch, uuSDeleteQuitCatch, uuSDeleteNoCatch) == NG) { freeDic(tc); deleteEnd(d); return(GLineNGReturnTK(d)); } makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); return(0); } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #endif /* !NO_EXTEND_MENU */ Canna37p3/lib/canna/ulhinshi.c0100644000076500001200000007126307732020155015474 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: ulhinshi.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif #include #include "canna.h" /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #ifndef NO_EXTEND_MENU #ifdef luna88k extern int errno; #endif static int tourokuYes pro((uiContext)), tourokuNo pro((uiContext)), makeDoushi pro((uiContext)), uuTDicExitCatch pro((uiContext, int, mode_context)), uuTDicQuitCatch pro((uiContext, int, mode_context)), tangoTouroku pro((uiContext)); static char *e_message[] = { #ifndef CODED_MESSAGE /*0*/"¤µ¤é¤ËºÙ¤«¤¤ÉÊ»ìʬ¤±¤Î¤¿¤á¤Î¼ÁÌä¤ò¤·¤Æ¤âÎɤ¤¤Ç¤¹¤«?(y/n)", /*1*/"ÆÉ¤ß¤È¸õÊä¤ò ½ª»ß·Á¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£", /*2*/"ÆÉ¤ß¤È¸õÊä¤Î ³èÍѤ¬°ã¤¤¤Þ¤¹¡£ÆþÎϤ·¤Ê¤ª¤·¤Æ¤¯¤À¤µ¤¤¡£", /*3*/"ÆÉ¤ß¤È¸õÊä¤ò ½ª»ß·Á¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£Îã) Áᤤ", /*4*/"ÆÉ¤ß¤È¸õÊä¤ò ½ª»ß·Á¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£Îã) ÀŤ«¤À", /*5*/"¡Ö", /*6*/"¤¹¤ë¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤«?(y/n)", /*7*/"¤Ê¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤«?(y/n)", /*8*/"¡×¤Ï¿Í̾¤Ç¤¹¤«?(y/n)", /*9*/"¡×¤ÏÃÏ̾¤Ç¤¹¤«?(y/n)", /*10*/"¤Ê¤¤¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤«?(y/n)", /*11*/"¡×¤Ï̾»ì¤È¤·¤Æ»È¤¤¤Þ¤¹¤«?(y/n)", /*12*/"¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤«?(y/n)", /*13*/"¤È¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤«?(y/n)", #ifdef STANDALONE /*14*/"¤«¤Ê´Á»úÊÑ´¹¤Ç¤­¤Þ¤»¤ó", #else /*14*/"¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó", #endif /*15*/"ñ¸ìÅÐÏ¿¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿", /*16*/"¡Ø", /*17*/"¡Ù", /*18*/"¡Ê", /*19*/"¡Ë¤òÅÐÏ¿¤·¤Þ¤·¤¿", /*20*/"ñ¸ìÅÐÏ¿¤Ë¼ºÇÔ¤·¤Þ¤·¤¿", #else /*0*/"\244\265\244\351\244\313\272\331\244\253\244\244\311\312\273\354\312\254\244\261\244\316\244\277\244\341\244\316\274\301\314\344\244\362\244\267\244\306\244\342\316\311\244\244\244\307\244\271\244\253?(y/n)", /* ¤µ¤é¤ËºÙ¤«¤¤ÉÊ»ìʬ¤±¤Î¤¿¤á¤Î¼ÁÌä¤ò¤·¤Æ¤âÎɤ¤¤Ç¤¹¤« */ /*1*/"\306\311\244\337\244\310\270\365\312\344\244\362\40\275\252\273\337\267\301\244\307\306\376\316\317\244\267\244\306\244\257\244\300\244\265\244\244\241\243", /* ÆÉ¤ß¤È¸õÊä¤ò ½ª»ß·Á¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£*/ /*2*/"\306\311\244\337\244\310\270\365\312\344\244\316\40\263\350\315\321\244\254\260\343\244\244\244\336\244\271\241\243\306\376\316\317\244\267\244\312\244\252\244\267\244\306\244\257\244\300\244\265\244\244\241\243", /* ÆÉ¤ß¤È¸õÊä¤Î ³èÍѤ¬°ã¤¤¤Þ¤¹¡£ÆþÎϤ·¤Ê¤ª¤·¤Æ¤¯¤À¤µ¤¤¡£*/ /*3*/"\306\311\244\337\244\310\270\365\312\344\244\362\40\275\252\273\337\267\301\244\307\306\376\316\317\244\267\244\306\244\257\244\300\244\265\244\244\241\243\316\343) \301\341\244\244", /* ÆÉ¤ß¤È¸õÊä¤ò ½ª»ß·Á¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£Îã) Áᤤ */ /*4*/"\306\311\244\337\244\310\270\365\312\344\244\362\40\275\252\273\337\267\301\244\307\306\376\316\317\244\267\244\306\244\257\244\300\244\265\244\244\241\243\316\343) \300\305\244\253\244\300", /* ÆÉ¤ß¤È¸õÊä¤ò ½ª»ß·Á¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£Îã) ÀŤ«¤À */ /*5*/"\241\326", /* ¡Ö */ /*6*/"\244\271\244\353\241\327\244\317\300\265\244\267\244\244\244\307\244\271\244\253?(y/n)", /* ¤¹¤ë¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤« */ /*7*/"\244\312\241\327\244\317\300\265\244\267\244\244\244\307\244\271\244\253?(y/n)", /* ¤Ê¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤« */ /*8*/"\241\327\244\317\277\315\314\276\244\307\244\271\244\253?(y/n)", /* ¡×¤Ï¿Í̾¤Ç¤¹¤« */ /*9*/"\241\327\244\317\303\317\314\276\244\307\244\271\244\253?(y/n)", /* ¡×¤ÏÃÏ̾¤Ç¤¹¤« */ /*10*/"\244\312\244\244\241\327\244\317\300\265\244\267\244\244\244\307\244\271\244\253?(y/n)", /* ¤Ê¤¤¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤« */ /*11*/"\241\327\244\317\314\276\273\354\244\310\244\267\244\306\273\310\244\244\244\336\244\271\244\253?(y/n)", /* ¡×¤Ï̾»ì¤È¤·¤Æ»È¤¤¤Þ¤¹¤« */ /*12*/"\241\327\244\317\300\265\244\267\244\244\244\307\244\271\244\253?(y/n)", /* ¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤« */ /*13*/"\244\310\241\327\244\317\300\265\244\267\244\244\244\307\244\271\244\253?(y/n)", /* ¤È¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤« */ #ifdef STANDALONE /*14*/"\244\253\244\312\264\301\273\372\312\321\264\271\244\307\244\255\244\336\244\273\244\363", /* ¤«¤Ê´Á»úÊÑ´¹¤Ç¤­¤Þ¤»¤ó */ #else /*14*/"\244\253\244\312\264\301\273\372\312\321\264\271\245\265\241\274\245\320\244\310\304\314\277\256\244\307\244\255\244\336\244\273\244\363", /* ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó */ #endif /*15*/"\303\261\270\354\305\320\317\277\244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277", /* ñ¸ìÅÐÏ¿¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ /*16*/"\241\330", /* ¡Ø */ /*17*/"\241\331", /* ¡Ù */ /*18*/"\241\312", /* ¡Ê */ /*19*/"\241\313\244\362\305\320\317\277\244\267\244\336\244\267\244\277", /* ¡Ë¤òÅÐÏ¿¤·¤Þ¤·¤¿ */ /*20*/"\303\261\270\354\305\320\317\277\244\313\274\272\307\324\244\267\244\336\244\267\244\277", /* ñ¸ìÅÐÏ¿¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ #endif }; #define message_num (sizeof(e_message) / sizeof(char *)) static wchar_t *message[message_num]; #ifndef CODED_MESSAGE static char sgyouA[] = "¤«¤¬¤µ¤¿¤Ê¤Ð¤Þ¤é¤ï"; static char sgyouI[] = "¤­¤®¤·¤Á¤Ë¤Ó¤ß¤ê¤¤"; static char sgyouU[] = "¤¯¤°¤¹¤Ä¤Ì¤Ö¤à¤ë¤¦"; #else static char sgyouA[] = "\244\253\244\254\244\265\244\277\244\312\244\320\244\336\244\351\244\357"; /* ¤«¤¬¤µ¤¿¤Ê¤Ð¤Þ¤é¤ï */ static char sgyouI[] = "\244\255\244\256\244\267\244\301\244\313\244\323\244\337\244\352\244\244"; /* ¤­¤®¤·¤Á¤Ë¤Ó¤ß¤ê¤¤ */ static char sgyouU[] = "\244\257\244\260\244\271\244\304\244\314\244\326\244\340\244\353\244\246"; /* ¤¯¤°¤¹¤Ä¤Ì¤Ö¤à¤ë¤¦ */ #endif #define KAGYOU 0 #define GAGYOU 1 #define SAGYOU 2 #define TAGYOU 3 #define NAGYOU 4 #define BAGYOU 5 #define MAGYOU 6 #define RAGYOU 7 #define WAGYOU 8 static wchar_t *gyouA; static wchar_t *gyouI; static wchar_t *gyouU; /* Á´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤ò"unsigned char"¤«¤é"wchar_t"¤ËÊÑ´¹¤¹¤ë */ int initHinshiMessage() { int i; for(i = 0; i < message_num; i++) { message[i] = WString(e_message[i]); if(!message[i]) { return(-1); } } return 0; } /* WSprintf(to_buf, x1, x2, from_buf) :WSprintf(to_buf,"x1%sx2",from_buf); */ static void WSprintf(to_buf, x1, x2, from_buf) wchar_t *to_buf, *x1, *x2, *from_buf; { WStrcpy(to_buf, x1); WStrcat(to_buf, from_buf); WStrcat(to_buf, x2); } #endif /* NO_EXTEND_MENU */ void EWStrcat(buf, xxxx) wchar_t *buf; char *xxxx; { wchar_t x[1024]; MBstowcs(x, xxxx, 1024); WStrcat(buf, x); } #ifndef NO_EXTEND_MENU static void EWStrcpy(buf, xxxx) wchar_t *buf; char *xxxx; { wchar_t x[1024]; int len; len = MBstowcs(x, xxxx, 1024); WStrncpy(buf, x, len); buf[len] = (wchar_t)0; } static int EWStrcmp(buf, xxxx) wchar_t *buf; char *xxxx; { wchar_t x[1024]; MBstowcs(x, xxxx, 1024); return(WStrncmp(buf, x, WStrlen(x))); } static int EWStrncmp(buf, xxxx, len) wchar_t *buf; char *xxxx; int len; /* ARGSUSED */ { wchar_t x[1024]; MBstowcs(x, xxxx, 1024); return(WStrncmp(buf, x, WStrlen(x))); } int initGyouTable() { gyouA = WString(sgyouA); gyouI = WString(sgyouI); gyouU = WString(sgyouU); if (!gyouA || !gyouI || !gyouU) { return NG; } return 0; } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤ÎÉÊ»ìÁªÂò ¡ÁYes/No ¶¦ÄÌ Quit¡Á * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTHinshiYNQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); return(dicTourokuHinshi(d)); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤ÎÉÊ»ìÁªÂò ¡ÁYes/No Â裲Ãʳ¬ ¶¦ÄÌ¥³¡¼¥ë¥Ð¥Ã¥¯¡Á * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTHinshi2YesCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ tourokuYes(d); /* Éʻ줬·è¤Þ¤ì¤Ð tc->hcode ¤Ë¥»¥Ã¥È¤¹¤ë */ tc = (tourokuContext)d->modec; if (!tc->qbuf[0]) { if (tc->hcode[0]) { /* Éʻ줬·è¤Þ¤Ã¤¿¤Î¤Ç¡¢ÅÐÏ¿¤¹¤ë¥æ¡¼¥¶¼­½ñ¤Î»ØÄê¤ò¹Ô¤¦ */ return(dicTourokuDictionary(d, uuTDicExitCatch, uuTDicQuitCatch)); } } return(retval); } static uuTHinshi2NoCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ tourokuNo(d); /* Éʻ줬·è¤Þ¤ì¤Ð tc->hcode ¤Ë¥»¥Ã¥È¤¹¤ë */ tc = (tourokuContext)d->modec; if (!tc->qbuf[0]) { if (tc->hcode[0]) { /* Éʻ줬·è¤Þ¤Ã¤¿¤Î¤Ç¡¢ÅÐÏ¿¤¹¤ë¥æ¡¼¥¶¼­½ñ¤Î»ØÄê¤ò¹Ô¤¦ */ return(dicTourokuDictionary(d, uuTDicExitCatch, uuTDicQuitCatch)); } } return(retval); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤ÎÉÊ»ìÁªÂò ¡ÁYes/No Â裱Ãʳ¬ ¥³¡¼¥ë¥Ð¥Ã¥¯¡Á * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTHinshi1YesCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; coreContext ync; popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ tourokuYes(d); /* Éʻ줬·è¤Þ¤ì¤Ð tc->hcode ¤Ë¥»¥Ã¥È¤¹¤ë */ tc = (tourokuContext)d->modec; if(tc->qbuf[0]) { /* ¼ÁÌ䤹¤ë */ makeGLineMessage(d, tc->qbuf, WStrlen(tc->qbuf)); if((retval = getYesNoContext(d, NO_CALLBACK, uuTHinshi2YesCatch, uuTHinshiYNQuitCatch, uuTHinshi2NoCatch)) == NG) { defineEnd(d); return(GLineNGReturnTK(d)); } ync = (coreContext)d->modec; ync->majorMode = CANNA_MODE_ExtendMode; ync->minorMode = CANNA_MODE_TourokuHinshiMode; } else if(tc->hcode[0]) { /* Éʻ줬·è¤Þ¤Ã¤¿¤Î¤Ç¡¢ÅÐÏ¿¤¹¤ë¥æ¡¼¥¶¼­½ñ¤Î»ØÄê¤ò¹Ô¤¦ */ return(dicTourokuDictionary(d, uuTDicExitCatch, uuTDicQuitCatch)); } return(retval); } static uuTHinshi1NoCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; coreContext ync; popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ tourokuNo(d); /* Éʻ줬·è¤Þ¤ì¤Ð tc->hcode ¤Ë¥»¥Ã¥È¤¹¤ë */ tc = (tourokuContext)d->modec; if(tc->qbuf[0]) { /* ¼ÁÌ䤹¤ë */ makeGLineMessage(d, tc->qbuf, WStrlen(tc->qbuf)); if((retval = getYesNoContext(d, NO_CALLBACK, uuTHinshi2YesCatch, uuTHinshiYNQuitCatch, uuTHinshi2NoCatch)) == NG) { defineEnd(d); return(GLineNGReturnTK(d)); } ync = (coreContext)d->modec; ync->majorMode = CANNA_MODE_ExtendMode; ync->minorMode = CANNA_MODE_TourokuHinshiMode; } else if(tc->hcode[0]) { /* Éʻ줬·è¤Þ¤Ã¤¿¤Î¤Ç¡¢ÅÐÏ¿¤¹¤ë¥æ¡¼¥¶¼­½ñ¤Î»ØÄê¤ò¹Ô¤¦ */ return(dicTourokuDictionary(d, uuTDicExitCatch, uuTDicQuitCatch)); } return(retval); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤ÎÉÊ»ìʬ¤±¤¹¤ë¡© * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTHinshiQYesCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { tourokuContext tc; coreContext ync; popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ tc = (tourokuContext)d->modec; makeGLineMessage(d, tc->qbuf, WStrlen(tc->qbuf)); /* ¼ÁÌä */ if((retval = getYesNoContext(d, NO_CALLBACK, uuTHinshi1YesCatch, uuTHinshiYNQuitCatch, uuTHinshi1NoCatch)) == NG) { defineEnd(d); return(GLineNGReturnTK(d)); } ync = (coreContext)d->modec; ync->majorMode = CANNA_MODE_ExtendMode; ync->minorMode = CANNA_MODE_TourokuHinshiMode; return(retval); } static uuTHinshiQNoCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* yesNo ¤ò¥Ý¥Ã¥× */ return(dicTourokuDictionary(d, uuTDicExitCatch, uuTDicQuitCatch)); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ñ¸ìÅÐÏ¿¤ÎÉÊ»ìÁªÂò * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static int makeHinshi(); dicTourokuHinshiDelivery(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; coreContext ync; int retval = 0; makeHinshi(d); /* Éʻ졢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¡¢¼ÁÌä¤ò¥»¥Ã¥È¤·¤Æ¤¯¤ë */ #if defined(DEBUG) if(iroha_debug) { printf("tc->genbuf=%s, tc->qbuf=%s, tc->hcode=%s\n", tc->genbuf, tc->qbuf, tc->hcode); } #endif if(tc->genbuf[0]) { /* ÆþÎϤµ¤ì¤¿¥Ç¡¼¥¿¤Ë¸í¤ê¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢ ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤ÆÆÉ¤ßÆþÎϤËÌá¤ë */ clearYomi(d); return(dicTourokuTango(d, uuTTangoQuitCatch)); } else if(tc->qbuf[0] && cannaconf.grammaticalQuestion) { /* ºÙ¤«¤¤ÉÊ»ìʬ¤±¤Î¤¿¤á¤Î¼ÁÌä¤ò¤¹¤ë */ WStrcpy(d->genbuf, message[0]); if((retval = getYesNoContext(d, NO_CALLBACK, uuTHinshiQYesCatch, uuTHinshiYNQuitCatch, uuTHinshiQNoCatch)) == NG) { defineEnd(d); return(GLineNGReturnTK(d)); } makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); ync = (coreContext)d->modec; ync->majorMode = CANNA_MODE_ExtendMode; ync->minorMode = CANNA_MODE_TourokuHinshiMode; return(retval); } else if(tc->hcode[0]) { /* Éʻ줬·è¤Þ¤Ã¤¿¤Î¤Ç¡¢ÅÐÏ¿¤¹¤ë¥æ¡¼¥¶¼­½ñ¤Î»ØÄê¤ò¹Ô¤¦ */ return(dicTourokuDictionary(d, uuTDicExitCatch, uuTDicQuitCatch)); } return 0; } /* * ÁªÂò¤µ¤ì¤¿Éʻ줫¤é¼¡¤Îưºî¤ò¹Ô¤¦ * * tc->hcode ÉÊ»ì * tc->qbuf ¼ÁÌä * tc->genbuf ¥¨¥é¡¼ */ static int makeHinshi(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; int tlen, ylen, yomi_katsuyou; wchar_t tmpbuf[256]; tc->hcode[0] = 0; tc->qbuf[0] = 0; tc->genbuf[0] = 0; tlen = tc->tango_len; ylen = tc->yomi_len; switch(tc->curHinshi) { case MEISHI: EWStrcpy(tc->hcode, "#T35"); tc->katsuyou = 0; WSprintf(tc->qbuf, message[5], message[6], tc->tango_buffer); break; case KOYUMEISHI: EWStrcpy(tc->hcode, "#KK"); WSprintf(tc->qbuf, message[5], message[8], tc->tango_buffer); break; case DOSHI: /* ÆþÎϤ¬½ª»ß·Á¤«¡© */ tc->katsuyou = 0; while (tc->katsuyou < GOBISUU && tc->tango_buffer[tlen - 1] != gyouU[tc->katsuyou]) { tc->katsuyou++; } yomi_katsuyou = 0; while (yomi_katsuyou < GOBISUU && tc->yomi_buffer[ylen - 1] != gyouU[yomi_katsuyou]) { yomi_katsuyou++; } if((tc->katsuyou == GOBISUU) || (yomi_katsuyou == GOBISUU)){ WStrcpy(tc->genbuf, message[1]); return(0); } if(tc->katsuyou != yomi_katsuyou){ WStrcpy(tc->genbuf, message[2]); return(0); } makeDoushi(d); /* ¾ÜºÙ¤ÎÉÊ»ì¤òɬÍפȤ·¤Ê¤¤¾ì¹ç */ if (tc->katsuyou == RAGYOU) { tc->curHinshi = RAGYODOSHI; /* ̤Á³·Á¤ò¤Ä¤¯¤ë */ WStrncpy(tmpbuf, tc->tango_buffer, tlen-1); tmpbuf[tlen - 1] = gyouA[tc->katsuyou]; tmpbuf[tlen] = (wchar_t)0; WSprintf(tc->qbuf, message[5], message[10], tmpbuf); } else { tc->curHinshi = GODAN; WStrncpy(tmpbuf, tc->tango_buffer, tlen - 1); tmpbuf[tlen - 1] = gyouI[tc->katsuyou]; tmpbuf[tlen] = (wchar_t)'\0'; WSprintf(tc->qbuf, message[5], message[11], tmpbuf); } break; case KEIYOSHI: tc->katsuyou = 1; if(tlen >= 1 && ylen >= 1 && ((EWStrncmp(tc->tango_buffer+tlen-1, "\244\244", 1) != 0) || (EWStrncmp(tc->yomi_buffer+ylen-1, "\244\244", 1) != 0))) { /* ¤¤ */ WStrcpy(tc->genbuf, message[3]); return(0); } EWStrcpy(tc->hcode, "#KY"); /* ¾ÜºÙ¤ÎÉÊ»ì¤òɬÍפȤ·¤Ê¤¤¾ì¹ç */ WStrncpy(tmpbuf, tc->tango_buffer, tlen-1); tmpbuf[tlen-1] = 0; WSprintf(tc->qbuf, message[5], message[11], tmpbuf); break; case KEIYODOSHI: tc->katsuyou = 1; if(tlen >= 1 && ylen >= 1 && ((EWStrncmp(tc->tango_buffer+tlen-1, "\244\300", 1)) || (EWStrncmp(tc->yomi_buffer+ylen-1, "\244\300", 1)))) { /* ¤À */ WStrcpy(tc->genbuf, message[4]); return(0); } EWStrcpy(tc->hcode, "#T05"); /* ¾ÜºÙ¤ÎÉÊ»ì¤òɬÍפȤ·¤Ê¤¤¾ì¹ç */ WStrncpy(tmpbuf, tc->tango_buffer, tlen-1); tmpbuf[tlen-1] = 0; WSprintf(tc->qbuf, message[5], message[6], tmpbuf); break; case FUKUSHI: EWStrcpy(tc->hcode, "#F14"); /* ¾ÜºÙ¤ÎÉÊ»ì¤òɬÍפȤ·¤Ê¤¤¾ì¹ç */ tc->katsuyou = 0; WSprintf(tc->qbuf, message[5], message[6], tc->tango_buffer); break; case TANKANJI: EWStrcpy(tc->hcode, "#KJ"); break; case SUSHI: EWStrcpy(tc->hcode, "#NN"); break; case RENTAISHI: EWStrcpy(tc->hcode, "#RT"); break; case SETSUZOKUSHI: /* Àܳ»ì¡¦´¶Æ°»ì */ EWStrcpy(tc->hcode, "#CJ"); break; case SAHENMEISHI: case MEISHIN: tc->katsuyou = 0; WSprintf(tc->qbuf, message[5], message[7], tc->tango_buffer); break; case JINMEI: case KOYUMEISHIN: WSprintf(tc->qbuf, message[5], message[9], tc->tango_buffer); break; case RAGYOGODAN: WStrncpy(tmpbuf, tc->tango_buffer, tlen - 1); tmpbuf[tlen - 1] = gyouI[tc->katsuyou]; tmpbuf[tlen] = (wchar_t)'\0'; WSprintf(tc->qbuf, message[5], message[11], tmpbuf); break; case KAMISHIMO: WStrncpy(tmpbuf, tc->tango_buffer, tlen - 1); tmpbuf[tlen - 1] = (wchar_t)'\0'; WSprintf(tc->qbuf, message[5], message[11], tmpbuf); break; case KEIYODOSHIY: case KEIYODOSHIN: WStrncpy(tmpbuf, tc->tango_buffer, tlen - 1); tmpbuf[tlen - 1] = 0; WSprintf(tc->qbuf, message[5], message[11], tmpbuf); break; case FUKUSHIY: case FUKUSHIN: WSprintf(tc->qbuf, message[5], message[13], tc->tango_buffer); break; } return(0); } static tourokuYes(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; tc->hcode[0] = 0; tc->qbuf[0] = 0; tc->genbuf[0] = 0; switch(tc->curHinshi) { case MEISHI: tc->curHinshi = SAHENMEISHI; makeHinshi(d); break; case KOYUMEISHI: tc->curHinshi = JINMEI; makeHinshi(d); break; case GODAN: /* ¥é¹Ô°Ê³°¤Î¸ÞÃʳèÍÑÆ°»ì */ makeDoushi(d); EWStrcat(tc->hcode, "r"); /* ½ñ¤¯¡¢µÞ¤°¡¢°Ü¤¹ */ break; case RAGYODOSHI: tc->curHinshi = RAGYOGODAN; makeHinshi(d); break; case KEIYOSHI: EWStrcpy(tc->hcode, "#KYT"); /* ¤­¤¤¤í¤¤ */ break; case KEIYODOSHI: tc->curHinshi = KEIYODOSHIY; makeHinshi(d); break; case FUKUSHI: tc->curHinshi = FUKUSHIY; makeHinshi(d); break; case MEISHIN: EWStrcpy(tc->hcode, "#T15"); /* ¿§¡¹¡¢¶¯ÎÏ */ break; case SAHENMEISHI: EWStrcpy(tc->hcode, "#T10"); /* °Â¿´¡¢Éⵤ */ break; case KOYUMEISHIN: EWStrcpy(tc->hcode, "#CN"); /* Åìµþ */ break; case JINMEI: EWStrcpy(tc->hcode, "#JCN"); /* Ê¡Åç */ break; case RAGYOGODAN: EWStrcpy(tc->hcode, "#R5r"); /* ¼Õ¤ë */ break; case KAMISHIMO: EWStrcpy(tc->hcode, "#KSr"); /* À¸¤­¤ë¡¢Í¤±¤ë */ break; case KEIYODOSHIY: EWStrcpy(tc->hcode, "#T10"); /* ´Ø¿´¤À */ break; case KEIYODOSHIN: EWStrcpy(tc->hcode, "#T15"); /* °Õ³°¤À¡¢²Äǽ¤À */ break; case FUKUSHIY: EWStrcpy(tc->hcode, "#F04"); /* ¤Õ¤Ã¤¯¤é */ break; case FUKUSHIN: EWStrcpy(tc->hcode, "#F06"); /* ÆÍÁ³ */ break; } return(0); } static tourokuNo(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; int ylen; tc->hcode[0] = 0; tc->qbuf[0] = 0; tc->genbuf[0] = 0; switch( tc->curHinshi ) { case MEISHI: tc->curHinshi = MEISHIN; makeHinshi(d); break; case KOYUMEISHI: tc->curHinshi = KOYUMEISHIN; makeHinshi(d); break; case GODAN: /* ¥é¹Ô°Ê³°¤Î¸ÞÃʳèÍÑÆ°»ì */ makeDoushi(d); break; case RAGYODOSHI: ylen = tc->yomi_len; if (ylen >= 2 && !(EWStrcmp(tc->yomi_buffer + ylen - 2, "\244\257\244\353"))) { /* ¤¯¤ë */ EWStrcpy(tc->hcode, "#KX"); /* Íè¤ë */ } else if (ylen >=2 && !(EWStrcmp(tc->yomi_buffer + ylen - 2, "\244\271\244\353"))) { /* ¤¹¤ë */ EWStrcpy(tc->hcode, "#SX"); /* ¤¹¤ë */ } else if (ylen >=2 && !(EWStrcmp(tc->yomi_buffer + ylen - 2, "\244\272\244\353"))) { /* ¤º¤ë */ EWStrcpy(tc->hcode, "#ZX"); /* ½à¤º¤ë */ } else { tc->curHinshi = KAMISHIMO; makeHinshi(d); } break; case KEIYOSHI: EWStrcpy(tc->hcode, "#KY"); /* Èþ¤·¤¤¡¢Áᤤ */ break; case KEIYODOSHI: tc->curHinshi = KEIYODOSHIN; makeHinshi(d); break; case FUKUSHI: tc->curHinshi = FUKUSHIN; makeHinshi(d); break; case MEISHIN: EWStrcpy(tc->hcode, "#T35"); /* »³¡¢¿å */ break; case SAHENMEISHI: EWStrcpy(tc->hcode, "#T30"); /* ÅØÎÏ¡¢¸¡ºº */ break; case KOYUMEISHIN: EWStrcpy(tc->hcode, "#KK"); /* ÆüËÜÅŵ¤ */ break; case JINMEI: EWStrcpy(tc->hcode, "#JN"); /* »°´È */ break; case RAGYOGODAN: EWStrcpy(tc->hcode, "#R5"); /* °ÒÄ¥¤ë */ break; case KAMISHIMO: EWStrcpy(tc->hcode, "#KS"); /* ¹ß¤ê¤ë¡¢Í¿¤¨¤ë */ break; case KEIYODOSHIY: EWStrcpy(tc->hcode, "#T13"); /* ¿¹²¤Æ¤À */ break; case KEIYODOSHIN: EWStrcpy(tc->hcode, "#T18"); /* ÊØÍø¤À¡¢ÀŤ«¤À */ break; case FUKUSHIY: EWStrcpy(tc->hcode, "#F12"); /* ¤½¤Ã¤È */ break; case FUKUSHIN: EWStrcpy(tc->hcode, "#F14"); /* ˰¤¯¤Þ¤Ç */ break; } return(0); } static makeDoushi(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; switch(tc->katsuyou){ case KAGYOU: EWStrcpy( tc->hcode, "#K5" ); /* ÃÖ¤¯ */ break; case GAGYOU: EWStrcpy( tc->hcode, "#G5" ); /* ¶Ä¤° */ break; case SAGYOU: EWStrcpy( tc->hcode, "#S5" ); /* ÊÖ¤¹ */ break; case TAGYOU: EWStrcpy( tc->hcode, "#T5" ); /* Àä¤Ä */ break; case NAGYOU: EWStrcpy( tc->hcode, "#N5" ); /* »à¤Ì */ break; case BAGYOU: EWStrcpy( tc->hcode, "#B5" ); /* ž¤Ö */ break; case MAGYOU: EWStrcpy( tc->hcode, "#M5" ); /* ½»¤à */ break; case RAGYOU: EWStrcpy( tc->hcode, "#R5" ); /* °ÒÄ¥¤ë */ break; case WAGYOU: EWStrcpy( tc->hcode, "#W5" ); /* ¸À¤¦ */ break; } } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ¼­½ñ¤Î°ìÍ÷ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuTDicExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; int cur; tourokuContext tc; d->nbytes = 0; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; cur = fc->curIkouho; popForIchiranMode(d); popCallback(d); tc = (tourokuContext)d->modec; tc->workDic = cur; return(tangoTouroku(d)); } static uuTDicQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* °ìÍ÷¤ò pop */ popForIchiranMode(d); popCallback(d); return(dicTourokuHinshi(d)); } dicTourokuDictionary(d, exitfunc, quitfunc) uiContext d; int (*exitfunc)(); int (*quitfunc)(); { tourokuContext tc = (tourokuContext)d->modec; forichiranContext fc; ichiranContext ic; wchar_t **work; unsigned inhibit = 0; int retval, upnelem = 0; retval = d->nbytes = 0; d->status = 0; for(work = tc->udic; *work; work++) upnelem++; if((retval = getForIchiranContext(d)) == NG) { freeDic(tc); defineEnd(d); return(GLineNGReturnTK(d)); } fc = (forichiranContext)d->modec; /* selectOne ¤ò¸Æ¤Ö¤¿¤á¤Î½àÈ÷ */ fc->allkouho = tc->udic; fc->curIkouho = 0; if (!cannaconf.HexkeySelect) inhibit |= ((unsigned char)NUMBERING | (unsigned char)CHARINSERT); else inhibit |= (unsigned char)CHARINSERT; if((retval = selectOne(d, fc->allkouho, &fc->curIkouho, upnelem, BANGOMAX, inhibit, 0, WITHOUT_LIST_CALLBACK, NO_CALLBACK, exitfunc, quitfunc, uiUtilIchiranTooSmall)) == NG) { if(fc->allkouho) free(fc->allkouho); popForIchiranMode(d); popCallback(d); defineEnd(d); return(GLineNGReturnTK(d)); } ic = (ichiranContext)d->modec; ic->majorMode = CANNA_MODE_ExtendMode; ic->minorMode = CANNA_MODE_TourokuDicMode; currentModeInfo(d); /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if(ic->tooSmall) { d->status = AUX_CALLBACK; return(retval); } makeGlineStatus(d); /* d->status = ICHIRAN_EVERYTIME; */ return(retval); } /* * ñ¸ìÅÐÏ¿¤ò¹Ô¤¦ */ static tangoTouroku(d) uiContext d; { tourokuContext tc = (tourokuContext)d->modec; wchar_t ktmpbuf[256]; wchar_t ttmpbuf[256]; wchar_t line[ROMEBUFSIZE], line2[ROMEBUFSIZE]; wchar_t xxxx[1024]; char dicname[1024]; extern int defaultContext; int linecnt; wchar_t *WStraddbcpy(); defineEnd(d); if(tc->katsuyou || (EWStrncmp(tc->hcode, "#K5", 3) == 0)) { WStrncpy(ttmpbuf, tc->tango_buffer, tc->tango_len - 1); ttmpbuf[tc->tango_len - 1] = (wchar_t)0; WStrncpy(ktmpbuf, tc->yomi_buffer, tc->yomi_len - 1); ktmpbuf[tc->yomi_len - 1] = 0; } else { WStrcpy(ttmpbuf, tc->tango_buffer); WStrcpy(ktmpbuf, tc->yomi_buffer); } /* ¼­½ñ½ñ¤­¹þ¤ßÍѤΰì¹Ô¤òºî¤ë */ WStraddbcpy(line, ktmpbuf, ROMEBUFSIZE); linecnt = WStrlen(line); line[linecnt] = (wchar_t)' '; linecnt++; WStrcpy(line + linecnt, tc->hcode); linecnt += WStrlen(tc->hcode); line[linecnt] = (wchar_t)' '; linecnt++; WStraddbcpy(line + linecnt, ttmpbuf, ROMEBUFSIZE - linecnt); if(defaultContext == -1) { if((KanjiInit() < 0) || (defaultContext == -1)) { jrKanjiError = (char *)e_message[14]; freeAndPopTouroku(d); return(GLineNGReturn(d)); } } /* ¼­½ñ¤ËÅÐÏ¿¤¹¤ë */ WCstombs(dicname, tc->udic[tc->workDic], sizeof(dicname)); if (RkwDefineDic(defaultContext, dicname, line) != 0) { /* Éʻ줬 #JCN ¤Î¤È¤­¤Ï¡¢ÅÐÏ¿¤Ë¼ºÇÔ¤·¤¿¤é¡¢#JN ¤È #CN ¤ÇÅÐÏ¿¤¹¤ë */ if (EWStrncmp(tc->hcode, "#JCN", 4) == 0) { wchar_t xxx[3]; /* ¤Þ¤º #JN ¤ÇÅÐÏ¿¤¹¤ë */ EWStrcpy(xxx, "#JN"); WStraddbcpy(line, ktmpbuf, ROMEBUFSIZE); EWStrcat(line, " "); WStrcat(line, xxx); EWStrcat(line, " "); linecnt = WStrlen(line); WStraddbcpy(line + linecnt, ttmpbuf, ROMEBUFSIZE - linecnt); if (RkwDefineDic(defaultContext, dicname, line) == 0) { /* #JN ¤ÇÅÐÏ¿¤Ç¤­¤¿¤È¤­¡¢¼¡¤Ë #CN ¤ÇÅÐÏ¿¤¹¤ë */ EWStrcpy(xxx, "#CN"); WStraddbcpy(line2, ktmpbuf, ROMEBUFSIZE); EWStrcat(line2, " "); WStrcat(line2, xxx); EWStrcat(line2, " "); linecnt = WStrlen(line2); WStraddbcpy(line2 + linecnt, ttmpbuf, ROMEBUFSIZE - linecnt); if (RkwDefineDic(defaultContext, dicname, line2) == 0) { goto success; } /* #CN ¤ÇÅÐÏ¿¤Ç¤­¤Ê¤«¤Ã¤¿¤È¤­¡¢#JN ¤òºï½ü¤¹¤ë */ if (RkwDeleteDic(defaultContext, dicname, line) == NG) { /* #JN ¤¬ºï½ü¤Ç¤­¤Ê¤«¤Ã¤¿¤é¡¢"¼ºÇÔ¤·¤Þ¤·¤¿" */ if (errno == EPIPE) jrKanjiPipeError(); WStrcpy(d->genbuf, message[20]); goto close; } } } /* #JCN °Ê³°¤Î¤È¤­ #JN ¤¬ÅÐÏ¿¤Ç¤­¤Ê¤«¤Ã¤¿¤È¤­ #CN ¤¬ÅÐÏ¿¤Ç¤­¤º¡¢#JN ¤¬ºï½ü¤Ç¤­¤¿¤È¤­ */ if (errno == EPIPE) jrKanjiPipeError(); WStrcpy(d->genbuf, message[15]); goto close; } success: if (cannaconf.auto_sync) { RkwSync(defaultContext, dicname); } /* ÅÐÏ¿¤Î´°Î»¤òɽ¼¨¤¹¤ë */ WSprintf(d->genbuf, message[16], message[17], tc->tango_buffer); WSprintf(xxxx, message[18], message[19], tc->yomi_buffer); WStrcat(d->genbuf, xxxx); close: makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); freeAndPopTouroku(d); currentModeInfo(d); return(0); /* ñ¸ìÅÐÏ¿´°Î» */ } #endif /* NO_EXTEND_MENU */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/ulkigo.c0100644000076500001200000002767307607542735015167 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: ulkigo.c,v 1.2 2003/01/10 13:08:45 aida_s Exp $"; #endif #include #include "canna.h" /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc #ifndef NO_EXTEND_MENU extern int uiUtilIchiranTooSmall(); static char *srussia_data[] = { /*"§¡", "§¢", "§£", "§¤", "§¥", "§¦", "§§", "§¨",*/ "\247\241", "\247\242", "\247\243", "\247\244", "\247\245", "\247\246", "\247\247", "\247\250", /*"§©", "§ª", "§«", "§¬", "§­", "§®", "§¯", "§°", */ "\247\251", "\247\252", "\247\253", "\247\254", "\247\255", "\247\256", "\247\257", "\247\260", /*"§±", "§²", "§³", "§´", "§µ", "§¶", "§·", "§¸",*/ "\247\261", "\247\262", "\247\263", "\247\264", "\247\265", "\247\266", "\247\267", "\247\270", /*"§¹", "§º", "§»", "§¼", "§½", "§¾", "§¿", "§À", */ "\247\271", "\247\272", "\247\273", "\247\274", "\247\275", "\247\276", "\247\277", "\247\300", /*"§Á", "§Ñ", "§Ò", "§Ó", "§Ô", "§Õ", "§Ö", "§×",*/ "\247\301", "\247\321", "\247\322", "\247\323", "\247\324", "\247\325", "\247\326", "\247\327", /*"§Ø", "§Ù", "§Ú", "§Û", "§Ü", "§Ý", "§Þ", "§ß",*/ "\247\330", "\247\331", "\247\332", "\247\333", "\247\334", "\247\335", "\247\336", "\247\337", /*"§à", "§á", "§â", "§ã", "§ä", "§å", "§æ", "§ç",*/ "\247\340", "\247\341", "\247\342", "\247\343", "\247\344", "\247\345", "\247\346", "\247\347", /*"§è", "§é", "§ê", "§ë", "§ì", "§í", "§î", "§ï",*/ "\247\350", "\247\351", "\247\352", "\247\353", "\247\354", "\247\355", "\247\356", "\247\357", /*"§ð", "§ñ", */ "\247\360", "\247\361", }; #define UURD_SZ (sizeof(srussia_data) / sizeof(char *)) static char *sgreek_data[] = { /* "¦¡", "¦¢", "¦£", "¦¤", "¦¥", "¦¦", "¦§", "¦¨", */ "\246\241", "\246\242", "\246\243", "\246\244", "\246\245", "\246\246", "\246\247", "\246\250", /* "¦©", "¦ª", "¦«", "¦¬", "¦­", "¦®", "¦¯", "¦°", */ "\246\251", "\246\252", "\246\253", "\246\254", "\246\255", "\246\256", "\246\257", "\246\260", /* "¦±", "¦²", "¦³", "¦´", "¦µ", "¦¶", "¦·", "¦¸", */ "\246\261", "\246\262", "\246\263", "\246\264", "\246\265", "\246\266", "\246\267", "\246\270", /* "¦Á", "¦Â", "¦Ã", "¦Ä", "¦Å", "¦Æ", "¦Ç", "¦È", */ "\246\301", "\246\302", "\246\303", "\246\304", "\246\305", "\246\306", "\246\307", "\246\310", /* "¦É", "¦Ê", "¦Ë", "¦Ì", "¦Í", "¦Î", "¦Ï", "¦Ð", */ "\246\311", "\246\312", "\246\313", "\246\314", "\246\315", "\246\316", "\246\317", "\246\320", /* "¦Ñ", "¦Ò", "¦Ó", "¦Ô", "¦Õ", "¦Ö", "¦×", "¦Ø", */ "\246\321", "\246\322", "\246\323", "\246\324", "\246\325", "\246\326", "\246\327", "\246\330", }; #define UUGD_SZ (sizeof(sgreek_data) / sizeof(char *)) static wchar_t *russia_data[UURD_SZ]; static wchar_t *greek_data[UUGD_SZ]; int initUlKigoTable() { int retval; retval = setWStrings(russia_data, srussia_data, UURD_SZ); if (retval != NG) { retval = setWStrings(greek_data, sgreek_data, UUGD_SZ); } return retval; } #ifdef pcux_r32 static char *skeisen_data[] = { /* "¬¤", "¬¥", "¬¦", "¬§", "¬¨", "¬©", "¬ª", "¬«", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬¬", "¬­", "¬®", "¬¯", "¬°", "¬±", "¬²", "¬³", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬´", "¬µ", "¬¶", "¬·", "¬¸", "¬¹", "¬º", "¬»", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬¼", "¬½", "¬¾", "¬¿", "¬À", "¬Á", "¬Â", "¬Ã", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬Ä", "¬Å", "¬Æ", "¬Ç", "¬È", "¬É", "¬Ê", "¬Ë", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬Ì", "¬Í", "¬Î", "¬Ï", "¬Ð", "¬Ñ", "¬Ò", "¬Ó", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬Ô", "¬Õ", "¬Ö", "¬×", "¬Ø", "¬Ù", "¬Ú", "¬Û", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬Ü", "¬Ý", "¬Þ", "¬ß", "¬à", "¬á", "¬â", "¬ã", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬ä", "¬å", "¬æ", "¬ç", "¬è", "¬é", "¬ê", "¬ë", */ "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", "\254\244", /* "¬ì", "¬í", "¬î", "¬ï", */ "\254\244", "\254\244", "\254\244", "\254\244", }; #else /* EWS-UX/V */ static char *skeisen_data[] = { /* "¨¡", "¨¢", "¨£", "¨¤", "¨¥", "¨¦", "¨§", "¨¨", */ "\250\241", "\250\242", "\250\243", "\250\244", "\250\245", "\250\246", "\250\247", "\250\250", /* "¨©", "¨ª", "¨«", "¨¬", "¨­", "¨®", "¨¯", "¨°", */ "\250\251", "\250\252", "\250\253", "\250\254", "\250\255", "\250\256", "\250\257", "\250\260", /* "¨±", "¨²", "¨³", "¨´", "¨µ", "¨¶", "¨·", "¨¸", */ "\250\261", "\250\262", "\250\263", "\250\264", "\250\265", "\250\266", "\250\267", "\250\270", /* "¨¹", "¨º", "¨»", "¨¼", "¨½", "¨¾", "¨¿", "¨À", */ "\250\271", "\250\272", "\250\273", "\250\274", "\250\275", "\250\276", "\250\277", "\250\300", }; #endif #define UUKD_SZ (sizeof(skeisen_data) / sizeof(char *)) static wchar_t *keisen_data[UUKD_SZ]; int initUlKeisenTable() { return setWStrings(keisen_data, skeisen_data, UUKD_SZ); } static uuKigoExitDo(d, retval) uiContext d; int retval; { popForIchiranMode(d); popCallback(d); retval = YomiExit(d, retval); currentModeInfo(d); killmenu(d); return(retval); } static uuKigoRExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; d->currussia = fc->curIkouho; return(uuKigoExitDo(d, retval)); } static uuKigoGExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; d->curgreek = fc->curIkouho; return(uuKigoExitDo(d, retval)); } static uuKigoKExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; d->curkeisen = fc->curIkouho; return(uuKigoExitDo(d, retval)); } uuKigoGeneralExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { forichiranContext fc; popCallback(d); /* °ìÍ÷¤ò pop */ fc = (forichiranContext)d->modec; if (fc->prevcurp) { *(fc->prevcurp) = fc->curIkouho; } return(uuKigoExitDo(d, retval)); } static uuKigoQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* °ìÍ÷¤ò pop */ popForIchiranMode(d); popCallback(d); currentModeInfo(d); return prevMenuIfExist(d); } uuKigoMake(d, allkouho, size, cur, mode, exitfunc, posp) uiContext d; wchar_t **allkouho; int size, *posp; char cur, mode; int (*exitfunc)(); { forichiranContext fc; ichiranContext ic; unsigned inhibit = 0; int retval = 0; d->status = 0; if((retval = getForIchiranContext(d)) == NG) { return(GLineNGReturn(d)); } fc = (forichiranContext)d->modec; /* selectOne ¤ò¸Æ¤Ö¤¿¤á¤Î½àÈ÷ */ fc->allkouho = allkouho; fc->curIkouho = 0; fc->prevcurp = posp; inhibit |= (unsigned char)NUMBERING; if((retval = selectOne(d, fc->allkouho, &fc->curIkouho, size, KIGOBANGOMAX, inhibit, 0, WITH_LIST_CALLBACK, NO_CALLBACK, exitfunc, uuKigoQuitCatch, uiUtilIchiranTooSmall)) == NG) { return(GLineNGReturnFI(d)); } ic = (ichiranContext)d->modec; ic->minorMode = mode; ic->flags |= cannaconf.quickly_escape ? 0 : ICHIRAN_STAY_LONG; currentModeInfo(d); *(ic->curIkouho) = (int)cur; /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if(ic->tooSmall) { d->status = AUX_CALLBACK; return(retval); } if ( !(ic->flags & ICHIRAN_ALLOW_CALLBACK) ) { makeGlineStatus(d); } /* d->status = ICHIRAN_EVERYTIME; */ return(retval); } #if 0 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * µ­¹æ°ìÍ÷ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static kigoZenpan(d) uiContext d; { if(makeKigoIchiran(d, CANNA_MODE_ExtendMode) == NG) /* 0 ¤Ï³ÈÄ¥¤Îµ­¹æ°ìÍ÷ */ return(GLineNGReturn(d)); else return(0); } #endif #endif /* NO_EXTEND_MENU */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ¥í¥·¥¢Ê¸»ú¤ÎÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ kigoRussia(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } #ifdef NO_EXTEND_MENU d->kanji_status_return->info |= KanjiRussianInfo; return 0; #else return(uuKigoMake(d, (wchar_t **)russia_data, UURD_SZ, d->currussia, CANNA_MODE_RussianMode, uuKigoRExitCatch, (int *)0)); #endif } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ¥®¥ê¥·¥ãʸ»ú¤ÎÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ kigoGreek(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } #ifdef NO_EXTEND_MENU d->kanji_status_return->info |= KanjiGreekInfo; return 0; #else return(uuKigoMake(d, (wchar_t **)greek_data, UUGD_SZ, d->curgreek, CANNA_MODE_GreekMode, uuKigoGExitCatch, (int *)0)); #endif } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ·ÓÀþ¤ÎÆþÎÏ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ kigoKeisen(d) uiContext d; { yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } #ifdef NO_EXTEND_MENU d->kanji_status_return->info |= KanjiLineInfo; return 0; #else return(uuKigoMake(d, (wchar_t **)keisen_data, UUKD_SZ, d->curkeisen, CANNA_MODE_LineMode, uuKigoKExitCatch, (int *)0)); #endif } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/ulmount.c0100644000076500001200000004030007732020155015340 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: ulmount.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif #ifndef NO_EXTEND_MENU #include #include "canna.h" #ifdef luna88k extern int errno; #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc /* cfunc mountContext * * mountContext * */ static mountContext newMountContext() { mountContext mcxt; if ((mcxt = (mountContext)calloc(1, sizeof(mountContextRec))) == (mountContext)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (newMountContext) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (newMountContext) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif return (mountContext)NULL; } mcxt->id = MOUNT_CONTEXT; return mcxt; } static void freeMountContext(mc) mountContext mc; { if (mc) { if (mc->mountList) { if (*(mc->mountList)) { free(*(mc->mountList)); } free(mc->mountList); } if (mc->mountOldStatus) { free(mc->mountOldStatus); } if (mc->mountNewStatus) { free(mc->mountNewStatus); } free(mc); } } /* * ¸õÊä°ìÍ÷¹Ô¤òºî¤ë */ getMountContext(d) uiContext d; { mountContext mc; int retval = 0; if (pushCallback(d, d->modec, NO_CALLBACK, NO_CALLBACK, NO_CALLBACK, NO_CALLBACK) == 0) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (pushCallback) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (pushCallback) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif return(NG); } if((mc = newMountContext()) == (mountContext)NULL) { popCallback(d); return(NG); } mc->majorMode = d->majorMode; mc->next = d->modec; d->modec = (mode_context)mc; mc->prevMode = d->current_mode; return(retval); } void popMountMode(d) uiContext d; { mountContext mc = (mountContext)d->modec; d->modec = mc->next; d->current_mode = mc->prevMode; freeMountContext(mc); } static struct dicname * findDic(s) char *s; { extern struct dicname *kanjidicnames; struct dicname *dp; for (dp = kanjidicnames ; dp ; dp = dp->next) { if (!strcmp(s, dp->name)) { return dp; } } return (struct dicname *)0; } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ static uuMountExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { mountContext mc; int i, nmount = 0; extern defaultContext; struct dicname *dp; killmenu(d); popCallback(d); /* OnOff ¤ò¥Ý¥Ã¥× */ if(defaultContext == -1) { if((KanjiInit() != 0) || (defaultContext == -1)) { #ifdef STANDALONE #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\307\244\255\244\336\244\273\244\363"; #endif #else #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\245\265" "\241\274\245\320\244\310\304\314\277\256\244\307\244\255\244\336" "\244\273\244\363"; #endif #endif popMountMode(d); popCallback(d); return(GLineNGReturn(d)); } } mc = (mountContext)d->modec; for(i=0; mc->mountList[i]; i++) { if(mc->mountOldStatus[i] != mc->mountNewStatus[i]) { if(mc->mountNewStatus[i]) { /* ¥Þ¥¦¥ó¥È¤¹¤ë */ nmount++; if((retval = RkwMountDic(defaultContext, (char *)mc->mountList[i], cannaconf.kojin ? PL_ALLOW : PL_INHIBIT)) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } MBstowcs(d->genbuf, "\274\255\275\361\244\316\245\336\245\246" "\245\363\245\310\244\313\274\272\307\324\244\267\244\336" "\244\267\244\277", 512); /* ¼­½ñ¤Î¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } else if(d->contextCache != -1 && (retval = RkwMountDic(d->contextCache, (char *)mc->mountList[i], cannaconf.kojin ? PL_ALLOW : PL_INHIBIT)) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } MBstowcs(d->genbuf, "\274\255\275\361\244\316\245\336\245\246" "\245\363\245\310\244\313\274\272\307\324\244\267\244\336" "\244\267\244\277", 512); /* ¼­½ñ¤Î¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } else { /* À®¸ù */ dp = findDic((char *)mc->mountList[i]); if (!dp) { dp = (struct dicname *)malloc(sizeof(struct dicname)); if (dp) { dp->name = malloc(strlen((char *)mc->mountList[i]) + 1); if (dp->name) { /* ¥Þ¥¦¥ó¥È¤·¤¿¤ä¤Ä¤Ï¥ê¥¹¥È¤Ë¤Ä¤Ê¤° */ strcpy(dp->name, (char *)mc->mountList[i]); dp->dictype = DIC_PLAIN; /* dp->dicflag = DIC_NOT_MOUNTED; will be rewritten below */ dp->next = kanjidicnames; kanjidicnames = dp; } else { /* malloc failed */ free((char *)dp); dp = (struct dicname *)0; } } } if (dp) { dp->dicflag = DIC_MOUNTED; } } } else { /* ¥¢¥ó¥Þ¥¦¥ó¥È¤¹¤ë */ nmount++; if((retval = RkwUnmountDic(defaultContext, (char *)mc->mountList[i])) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } MBstowcs(d->genbuf, "\274\255\275\361\244\316\245\242\245\363" "\245\336\245\246\245\363\245\310\244\313\274\272\307\324" "\244\267\244\336\244\267\244\277", 512); /* ¼­½ñ¤Î¥¢¥ó¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } else if(d->contextCache != -1 && (retval = RkwUnmountDic(d->contextCache, (char *)mc->mountList[i])) == NG) { if (errno == EPIPE) { jrKanjiPipeError(); } MBstowcs(d->genbuf, "\274\255\275\361\244\316\245\242\245\363" "\245\336\245\246\245\363\245\310\244\313\274\272\307\324" "\244\267\244\336\244\267\244\277", 512); /* ¼­½ñ¤Î¥¢¥ó¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ } else { dp = findDic((char *)mc->mountList[i]); if (dp) { /* ¤«¤Ê¤é¤º°Ê²¼¤òÄ̤ë¤Ï¤º */ dp->dicflag = DIC_NOT_MOUNTED; } } } } } if(nmount) makeAllContextToBeClosed(1); if(retval != NG) MBstowcs(d->genbuf, "\274\255\275\361\244\316\245\336\245\246\245\363" "\245\310\241\277\245\242\245\363\245\336\245\246\245\363\245\310" "\244\362\271\324\244\244\244\336\244\267\244\277", 512); /* ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È¤ò¹Ô¤¤¤Þ¤·¤¿ */ else MBstowcs(d->genbuf, "\274\255\275\361\244\316\245\336\245\246\245\363" "\245\310\241\277\245\242\245\363\245\336\245\246\245\363\245\310" "\244\313\274\272\307\324\244\267\244\336\244\267\244\277", 512); /* ¼­½ñ¤Î¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); popMountMode(d); popCallback(d); currentModeInfo(d); return(0); } static uuMountQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* OnOff ¤ò¥Ý¥Ã¥× */ popMountMode(d); popCallback(d); currentModeInfo(d); return prevMenuIfExist(d); } /* * dicLbuf dicLp soldp snewp * ¨£¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¤ ¨£¨¡¨¡¨¡¨¤ ¨£¨¡¨¤ ¨£¨¡¨¤ * ¨¢iroha\@fuzokugo\@k¨¢ ¨¢*iroha¨¢ ¨¢1 ¨¢ ¨¢1 ¨¢ * ¨¢atakana\@satoko\@s¨¢ ¨¢*fuzo ¨¢ ¨¢1 ¨¢ ¨¢1 ¨¢ * ¨¢oft\@\@... ¨¢ ¨¢*kata ¨¢ ¨¢0 ¨¢ ¨¢0 ¨¢ * ¨¢ ¨¢ ¨¢ : ¨¢ ¨¢: ¨¢ ¨¢: ¨¢ * ¨¦¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¥ ¨¦¨¡¨¡¨¡¨¥ ¨¦¨¡¨¥ ¨¦¨¡¨¥ * dicMbuf dicMp * ¨£¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¤ ¨£¨¡¨¡¨¡¨¤ * ¨¢iroha\@fuzokugo\@s¨¢ ¨¢*iroha¨¢ * ¨¢atoko\@\@... ¨¢ ¨¢*fuzo ¨¢ * ¨¢ ¨¢ ¨¢*sato ¨¢ * ¨¢ ¨¢ ¨¢ : ¨¢ * ¨¦¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¥ ¨¦¨¡¨¡¨¡¨¥ */ static getDicList(d) uiContext d; { mountContext mc = (mountContext)d->modec; char *dicLbuf, dicMbuf[ROMEBUFSIZE]; char **dicLp, *dicMp[ROMEBUFSIZE/2]; char *wptr, **Lp, **Mp; BYTE *sop, *snp, *soldp, *snewp; int dicLc, dicMc, i; extern defaultContext; if((dicLbuf = malloc(ROMEBUFSIZE)) == (char *)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (getDicList) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (getDicList) \244\307\244\255\244\336\244\273"; #endif return(NG); } if(defaultContext == -1) { if((KanjiInit() != 0) || (defaultContext == -1)) { #ifdef STANDALONE #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\307\244\255\244\336\244\273\244\363"; #endif #else #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271" "\245\265\241\274\245\320\244\310\304\314\277\256\244\307\244\255" "\244\336\244\273\244\363"; #endif #endif free(dicLbuf); return(NG); } } if((dicLc = RkwGetDicList(defaultContext, (char *)dicLbuf, ROMEBUFSIZE)) < 0) { if(errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\245\336\245\246\245\363\245\310\262\304\307\275\244\312" "\274\255\275\361\244\316\274\350\244\352\275\320\244\267\244\313" "\274\272\307\324\244\267\244\336\244\267\244\277"; /* ¥Þ¥¦¥ó¥È²Äǽ¤Ê¼­½ñ¤Î¼è¤ê½Ð¤·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ free(dicLbuf); return(NG); } if (dicLc == 0) { jrKanjiError = "\245\336\245\246\245\363\245\310\262\304\307\275\244\312" "\274\255\275\361\244\254\302\270\272\337\244\267\244\336\244\273" "\244\363"; /* ¥Þ¥¦¥ó¥È²Äǽ¤Ê¼­½ñ¤¬Â¸ºß¤·¤Þ¤»¤ó */ free(dicLbuf); return NG; } if((dicLp = (char **)calloc(dicLc + 1, sizeof(char *))) == (char **)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (getDicList) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (getDicList) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif free(dicLbuf); return(NG); } if((soldp = (BYTE *)malloc(dicLc + 1)) == (BYTE *)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (getDicList) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (getDicList) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif free(dicLbuf); free(dicLp); return(NG); } if((snewp = (BYTE *)malloc(dicLc + 1)) == (BYTE *)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (getDicList) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (getDicList) \244\307\244\255\244\336\244\273" "\244\363\244\307\244\267\244\277"; #endif free(dicLbuf); free(dicLp); free((char *)soldp); return(NG); } for(i = 0, wptr = dicLbuf; i < dicLc; i++) { /* buf ¤òºî¤ë */ dicLp[i] = wptr; while(*wptr++) /* EMPTY */ ; /* NULL ¤Þ¤Ç¥¹¥­¥Ã¥×¤·¡¢NULL ¤Î¼¡¤Þ¤Ç¥Ý¥¤¥ó¥¿¤ò¿Ê¤á¤ë */ } dicLp[i] = (char *)NULL; if(defaultContext == -1) { if((KanjiInit() != 0) || (defaultContext == -1)) { #ifdef STANDALONE #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\307\244\255\244\336\244\273\244\363"; #endif #else #ifndef CODED_MESSAGE jrKanjiError = "¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó"; #else jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271" "\245\265\241\274\245\320\244\310\304\314\277\256\244\307\244\255" "\244\336\244\273\244\363"; #endif #endif free(dicLbuf); free(dicLp); free((char *)soldp); return(NG); } } if((dicMc = RkwGetMountList(defaultContext, (char *)dicMbuf, ROMEBUFSIZE)) < 0) { if(errno == EPIPE) jrKanjiPipeError(); jrKanjiError = "\245\336\245\246\245\363\245\310\244\267\244\306\244\244" "\244\353\274\255\275\361\244\316\274\350\244\352\275\320\244\267" "\244\313\274\272\307\324\244\267\244\336\244\267\244\277"; /* ¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤ë¼­½ñ¤Î¼è¤ê½Ð¤·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ free(dicLbuf); free(dicLp); free((char *)soldp); free((char *)snewp); return(NG); } for(i = 0, wptr = dicMbuf ; i < dicMc ; i++) { /* buf ¤òºî¤ë */ dicMp[i] = wptr; while (*wptr++) /* EMPTY */ ; /* NULL ¤Þ¤Ç¥¹¥­¥Ã¥×¤·¡¢NULL ¤Î¼¡¤Þ¤Ç¥Ý¥¤¥ó¥¿¤ò¿Ê¤á¤ë */ } dicMp[i] = (char *)NULL; for(i=0, sop=soldp, snp=snewp; imountList = dicLp; mc->mountOldStatus = soldp; mc->mountNewStatus = snewp; return(dicLc); } dicMount(d) uiContext d; { ichiranContext oc; mountContext mc; int retval = 0, currentkouho = 0, nelem; wchar_t *xxxx[100]; yomiContext yc = (yomiContext)d->modec; if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; if((retval = getMountContext(d)) == NG) { killmenu(d); return(GLineNGReturn(d)); } /* ¼­½ñ¥ê¥¹¥È¤È¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È¤Î¾õÂÖ¤ò montContext ¤Ë¤È¤Ã¤Æ¤¯¤ë */ if((nelem = getDicList(d)) == NG) { popMountMode(d); popCallback(d); killmenu(d); return(GLineNGReturn(d)); } mc = (mountContext)d->modec; #if defined(DEBUG) if(iroha_debug) { int i; printf("<¡úmount>\n"); for(i= 0; mc->mountList[i]; i++) printf("[%s][%x][%x]\n", mc->mountList[i], mc->mountOldStatus[i], mc->mountNewStatus[i]); printf("\n"); } #endif /* selectOnOff ¤ò¸Æ¤Ö¤¿¤á¤Î½àÈ÷ */ mc->curIkouho = currentkouho = 0; retval = setWStrings(xxxx, mc->mountList, 0); if (retval == NG) { popMountMode(d); popCallback(d); killmenu(d); return GLineNGReturn(d); } if((retval = selectOnOff(d, xxxx, &mc->curIkouho, nelem, BANGOMAX, currentkouho, mc->mountOldStatus, NO_CALLBACK, uuMountExitCatch, uuMountQuitCatch, uiUtilIchiranTooSmall)) == NG) { popMountMode(d); popCallback(d); killmenu(d); return GLineNGReturn(d); } oc = (ichiranContext)d->modec; oc->majorMode = CANNA_MODE_ExtendMode; oc->minorMode = CANNA_MODE_MountDicMode; currentModeInfo(d); /* ¸õÊä°ìÍ÷¹Ô¤¬¶¹¤¯¤Æ¸õÊä°ìÍ÷¤¬½Ð¤»¤Ê¤¤ */ if(oc->tooSmall) { wchar_t p[512]; ichiranFin(d); popCallback(d); /* OnOff ¤ò¥Ý¥Ã¥× */ popMountMode(d); popCallback(d); currentModeInfo(d); MBstowcs(p ,"\274\255\275\361\260\354\315\367\315\321\244\316\311\375" "\244\254\266\271\244\244\244\316\244\307\274\255\275\361" "\245\336\245\246\245\363\245\310\241\277\245\242\245\363" "\245\336\245\246\245\363\245\310\244\307\244\255\244\336" "\244\273\244\363",64); /* ¼­½ñ°ìÍ÷ÍѤÎÉý¤¬¶¹¤¤¤Î¤Ç¼­½ñ¥Þ¥¦¥ó¥È¡¿¥¢¥ó¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó */ makeGLineMessage(d, p, WStrlen(p)); killmenu(d); return(0); } makeGlineStatus(d); /* d->status = ICHIRAN_EVERYTIME; */ return(retval); } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ #endif /* NO_EXTEND_MENU */ Canna37p3/lib/canna/ulserver.c0100644000076500001200000002032707732020155015513 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: ulserver.c,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; #endif #ifndef NO_EXTEND_MENU #include #include "canna.h" #ifdef luna88k extern int errno; #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc static int serverChangeDo(); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ¥µ¡¼¥Ð¤ÎÀÚ¤êÎ¥¤· * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ serverFin(d) uiContext d; { int retval = 0; yomiContext yc = (yomiContext)d->modec; #ifndef STANDALONE if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; killmenu(d); jrKanjiPipeError(); makeGLineMessageFromString(d, "\244\253\244\312\264\301\273\372\312\321\264\271\245\265\241\274\245\320\244\310\244\316\300\334\302\263\244\362\300\332\244\352\244\336\244\267\244\277"); /* ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ê¤Þ¤·¤¿ */ currentModeInfo(d); #endif /* STANDALONE */ return(retval); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ¥µ¡¼¥Ð¤ÎÀڤ괹¤¨ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #ifndef STANDALONE static uuServerChangeEveryTimeCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { int len, echoLen, revPos; static int lmachinename; static wchar_t *wmachinename; if (!wmachinename) { wchar_t xxx[30]; /* 30 ¤Ã¤Æ¤Î¤Ï "¥Þ¥·¥ó̾?[" ¤è¤ê¤ÏŤ¤¤Ù¤È¤¤¤¦¤³¤È */ lmachinename = MBstowcs(xxx, "\245\336\245\267\245\363\314\276?[", 30); /* ¥Þ¥·¥ó̾ */ wmachinename = (wchar_t *)malloc((lmachinename + 1)* sizeof(wchar_t)); if (!wmachinename) { return -1; } WStrcpy(wmachinename, xxx); } if((echoLen = d->kanji_status_return->length) < 0) return(retval); if (echoLen == 0) { d->kanji_status_return->revPos = 0; d->kanji_status_return->revLen = 0; } WStrncpy(d->genbuf + lmachinename, d->kanji_status_return->echoStr, echoLen); /* echoStr == d->genbuf ¤À¤È¤Þ¤º¤¤¤Î¤ÇÀè¤Ëư¤«¤¹ */ WStrncpy(d->genbuf, wmachinename, lmachinename); revPos = len = lmachinename; len += echoLen; d->genbuf[len++] = (wchar_t)']'; d->kanji_status_return->gline.line = d->genbuf; d->kanji_status_return->gline.length = len; if (d->kanji_status_return->revLen) { d->kanji_status_return->gline.revPos = d->kanji_status_return->revPos + revPos; d->kanji_status_return->gline.revLen = d->kanji_status_return->revLen; } else { /* ȿžÎΰ褬¤Ê¤¤¾ì¹ç */ d->kanji_status_return->gline.revPos = len - 1; d->kanji_status_return->gline.revLen = 1; } d->kanji_status_return->info &= ~(KanjiThroughInfo | KanjiEmptyInfo); d->kanji_status_return->info |= KanjiGLineInfo; echostrClear(d); checkGLineLen(d); return retval; } static uuServerChangeExitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* ÆÉ¤ß¤ò pop */ return(serverChangeDo(d, retval)); } static uuServerChangeQuitCatch(d, retval, env) uiContext d; int retval; mode_context env; /* ARGSUSED */ { popCallback(d); /* ÆÉ¤ß¤ò pop */ return prevMenuIfExist(d); } extern exp(char *) RkwGetServerName(); #endif /* STANDALONE */ serverChange(d) uiContext d; { int retval = 0; wchar_t *w; extern KanjiModeRec yomi_mode; extern defaultContext; yomiContext yc = (yomiContext)d->modec; #ifndef STANDALONE if (yc->generalFlags & CANNA_YOMI_CHGMODE_INHIBITTED) { return NothingChangedWithBeep(d); } d->status = 0; if ((yc = GetKanjiString(d, (wchar_t *)NULL, 0, CANNA_ONLY_ASCII, (int)CANNA_YOMI_CHGMODE_INHIBITTED, (int)CANNA_YOMI_END_IF_KAKUTEI, CANNA_YOMI_INHIBIT_ALL, uuServerChangeEveryTimeCatch, uuServerChangeExitCatch, uuServerChangeQuitCatch)) == (yomiContext)0) { killmenu(d); return NoMoreMemory(); } yc->minorMode = CANNA_MODE_ChangingServerMode; if(defaultContext != -1) { char *servname; servname = RkwGetServerName(); if (servname && (w = WString(servname)) != (wchar_t *)0) { RomajiStoreYomi(d, w, (wchar_t *)0); WSfree(w); yc->kRStartp = yc->kCurs = 0; yc->rStartp = yc->rCurs = 0; d->current_mode = &yomi_mode; makeYomiReturnStruct(d); } } currentModeInfo(d); #endif /* STANDALONE */ return(retval); } #ifndef STANDALONE static serverChangeDo(d, len) uiContext d; int len; { /* wchar_t ¤ÇÎɤ¤¤«¡© 256 ¤ÇÎɤ¤¤«¡© */ wchar_t newServerName[256]; wchar_t w1[512]; char tmpServName[256]; extern defaultContext; char *p; d->status = 0; if(!len) return(serverChange(d)); WStrncpy(newServerName, d->buffer_return, len); newServerName[len] = 0; #if defined(DEBUG) if(iroha_debug) printf("iroha_server_name = [%s]\n", newServerName); #endif jrKanjiPipeError(); WCstombs(tmpServName, newServerName, 256); if (RkSetServerName(tmpServName) && (p = index((char *)tmpServName, '@'))) { char xxxx[1024]; *p = '\0'; sprintf(xxxx, "\244\253\244\312\264\301\273\372\312\321\264\271\245\250\245\363\245\270\245\363 %s \244\317\315\370\315\321\244\307\244\255\244\336\244\273\244\363\n", tmpServName); /* ¤«¤Ê´Á»úÊÑ´¹¥¨¥ó¥¸¥ó %s ¤ÏÍøÍѤǤ­¤Þ¤»¤ó */ makeGLineMessageFromString(d, xxxx); RkSetServerName((char *)0); currentModeInfo(d); killmenu(d); return 0; } if(defaultContext == -1) { if((KanjiInit() != 0) || (defaultContext == -1)) { jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\245\265\241\274\245\320\244\310\304\314\277\256\244\307\244\255\244\336\244\273\244\363"; /* ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó */ killmenu(d); return(GLineNGReturn(d)); } d->contextCache = -1; } p = RkwGetServerName(); if (p) { /* ÀäÂÐÀ®¸ù¤¹¤ë¤ó¤À¤±¤É¤Í */ if ((int)strlen(p) < 256) { MBstowcs(newServerName, p, 256); } } MBstowcs(w1, " \244\316\244\253\244\312\264\301\273\372\312\321\264\271\245\265\241\274\245\320\244\313\300\334\302\263\244\267\244\336\244\267\244\277", 512); /* ¤Î¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ËÀܳ¤·¤Þ¤·¤¿ */ WStrcpy((wchar_t *)d->genbuf, (wchar_t *)newServerName); WStrcat((wchar_t *)d->genbuf, (wchar_t *)w1); makeGLineMessage(d, d->genbuf, WStrlen(d->genbuf)); killmenu(d); currentModeInfo(d); return(0); } #endif /* STANDALONE */ #endif /* NO_EXTEND_MENU */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/util.c0100644000076500001200000011356407732020155014627 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* filedef util.c -- ¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô¤ò½¸¤á¤¿¡£ °Ê²¼¤Î´Ø¿ô¤¬¤¢¤ë¡£(Äɲä·¤¿¿Í¤Ï¤Á¤ã¤ó¤È½ñ¤¤¤È¤¤¤Æ¤è) GlineClear ¥¬¥¤¥É¥é¥¤¥ó¤¬¾Ã¤µ¤ì¤ë¤è¤¦¤Ê¥ê¥¿¡¼¥óÃͤòºî¤ë Gline2echostr ¥¬¥¤¥É¥é¥¤¥ó¤ÇÊÖ¤½¤¦¤È¤·¤¿¤â¤Î¤ò¤½¤Î¾ì¤ÇÊÖ¤¹ echostrClear ¤½¤Î¾ì¤¬Á´¤¯¾Ã¤µ¤ì¤ë¤è¤¦¤Ê¥ê¥¿¡¼¥óÃͤòºî¤ë checkGLineLen ¥¬¥¤¥É¥é¥¤¥ó¤Ëɽ¼¨¤·¤­¤ì¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯ NothingChanged ²¿¤âÊѲ½¤¬¤Ê¤¤¤³¤È¤ò¼¨¤¹¥ê¥¿¡¼¥óÃͤòºî¤ë NothingForGLine ¥¬¥¤¥É¥é¥¤¥ó¤Ë´Ø¤·¤Æ¤Ï²¿¤âÊѲ½¤¬¤Ê¤¤ NothingChangedWithBeep NothingChange ¤ò¤·¤Æ¤µ¤é¤Ë¥Ó¡¼¥×²»¤òÌĤ餹 NothingForGLineWithBeep NothingForGLine ¤ò¤·¤Æ¤µ¤é¤Ë¥Ó¡¼¥×²»¤òÌĤ餹 CannaBeep ¥Ó¡¼¥×²»¤ò¤Ê¤é¤¹¡£ makeGLineMessage °ú¿ô¤Îʸ»úÎó¤òGLine¤Ëɽ¼¨¤¹¤ë¤è¤¦¤Ê¥ê¥¿¡¼¥óÃͤòºî¤ë makeGLineMessageFromString °ú¿ô¤Îeucʸ»úÎó¤òGLine¤Ëɽ¼¨¤¹¤ë¤è¤¦¤Ê¥ê¥¿¡¼¥óÃͤòºî¤ë setWStrings ʸ»úÇÛÎó¤Î½é´ü²½¤ò¹Ô¤¦ NoMoreMemory ¥á¥â¥ê¤¬¤Ê¤¤¤«¤é¥¨¥é¡¼¤À¤è¤È¤¤¤¦¥¨¥é¡¼ÃͤòÊÖ¤¹ GLineNGReturn ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¥¬¥¤¥É¥é¥¤¥ó¤Ë°Ü¤¹ GLineNGReturnFI °ìÍ÷¥â¡¼¥É¤òÈ´¤±¤Æ GLineNGReturn ¤ò¤¹¤ë¡£ GLineNGReturnTK ÅÐÏ¿¥â¡¼¥É¤òÈ´¤±¤Æ GLineNGReturn ¤ò¤¹¤ë¡£ WStrlen ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ÎŤµ¤òµá¤á¤ë (cf. strlen) WStrcat ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò²Ã¤¨¤ë¡£(cf. strcat) WStrcpy ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò¥³¥Ô¡¼¤¹¤ë¡£(cf. strcpy) WStrncpy ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò£îʸ»ú¥³¥Ô¡¼¤¹¤ë¡£(cf. strncpy) WStraddbcpy ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò¶õÇòʸ»ú¡¢¥¿¥Ö¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å ¤ÎÁ°¤Ë¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤òÆþ¤ì¤Ê¤¬¤é¥³¥Ô¡¼¤¹¤ë¡£ WStrcmp ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤òÈæ³Ó¤¹¤ë¡£(cf. strcmp) WStrncmp ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ò£îʸ»úÈæ³Ó¤¹¤ë¡£(cf. strncmp) WWhatGPlain ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿£±Ê¸»ú¤Î°¤¹¤ë¥°¥é¥Õ¥£¥Ã¥¯¥×¥ì¡¼¥ó¤òÊÖ¤¹ WIsG0 G0¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»ú¤«¡© WIsG1 G1¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»ú¤«¡© WIsG2 G2¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»ú¤«¡© WIsG3 G3¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»ú¤«¡© CANNA_mbstowcs EUC ¤ò¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Ê¸»úÎó¤ËÊÑ´¹ CNvW2E ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤ò EUC ¤ËÊÑ´¹(¥Á¥§¥Ã¥¯ÉÕ¤­) CANNA_wcstombs ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤ò EUC ¤ËÊÑ´¹ WSfree WString¤Ç³ÎÊݤ·¤¿Îΰè¤ò³«Êü¤¹¤ë WString EUC ¤ò¥ï¥¤¥É¤ËÊÑ´¹¤·¤Æ malloc ¤Þ¤Ç¤·¤ÆÊÖ¤¹(free ÉÔÍ×) WStringOpen ¾åµ­´Ø¿ô¤Î½é´ü²½½èÍý WStringClose ¾åµ­´Ø¿ô¤Î½ªÎ»½èÍý WToupper °ú¿ô¤Îʸ»ú¤òÂçʸ»ú¤Ë¤¹¤ë WTolower °ú¿ô¤Îʸ»ú¤ò¾®Ê¸»ú¤Ë¤¹¤ë key2wchar ¥­¡¼¥Ü¡¼¥ÉÆþÎϤò¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤Ë¤¹¤ë¡£ US2WS Ushort ¤ò wchar_t ¤ËÊÑ´¹¤¹¤ë¡£ WS2US wchar_t ¤ò Ushort ¤ËÊÑ´¹¤¹¤ë¡£ confirmContext yc->context ¤¬»È¤¨¤ë¤â¤Î¤«³Îǧ¤¹¤ë makeRkError Rk ¤Î´Ø¿ô¤Ç¥¨¥é¡¼¤¬¤Ç¤¿¤È¤­¤Î½èÍý¤ò¤¹¤ë¡£ canna_alert ¥á¥Ã¥»¡¼¥¸¤ò Gline ¤Ë½ñ¤¤¤Æ key ¤òÂԤġ£ */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: util.c,v 1.6 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include "canna.h" #include #ifdef luna88k extern int errno; #endif /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc /* arraydef tmpbuf -- ¤Á¤ç¤Ã¤È²¾¤Ë»È¤ï¤ì¤ë¥Ð¥Ã¥Õ¥¡ */ /* * Gline ¤ò¥¯¥ê¥¢¤¹¤ë * * °ú¤­¿ô uiContext * Ìá¤êÃÍ ¤Ê¤· */ void GlineClear(d) uiContext d; { d->kanji_status_return->info |= KanjiGLineInfo; d->kanji_status_return->gline.line = (wchar_t *)NULL; d->kanji_status_return->gline.length = 0; d->kanji_status_return->gline.revPos = 0; d->kanji_status_return->gline.revLen = 0; } /* cfuncdef Gline2echostr -- °ìÍ÷¹Ô¤ÎÆâÍÆ¤ò¤½¤Î¾ì¤Ë°Üư */ static void Gline2echostr(d) uiContext d; { d->kanji_status_return->echoStr = d->kanji_status_return->gline.line; d->kanji_status_return->length = d->kanji_status_return->gline.length; d->kanji_status_return->revPos = d->kanji_status_return->gline.revPos; d->kanji_status_return->revLen = d->kanji_status_return->gline.revLen; GlineClear(d); } void echostrClear(d) uiContext d; { d->kanji_status_return->echoStr = (wchar_t *)NULL; d->kanji_status_return->length = d->kanji_status_return->revPos = d->kanji_status_return->revLen = 0; } /* * ʸ»úÎ󤫤饳¥é¥àÉý¤ò¼è¤Ã¼êÍè¤ë´Ø¿ô */ static colwidth(s, len) wchar_t *s; int len; { int ret = 0; wchar_t *es = s + len; for (; s < es ; s++) { switch (WWhatGPlain(*s)) { case 0: case 2: ret ++; break; case 1: case 3: ret += 2; break; } } return ret; } /* cfuncdef checkGLineLen -- °ìÍ÷¹Ô¤Ëɽ¼¨¤Ç¤­¤ëŤµ¤ò±Û¤¨¤Æ¤¤¤ë¤«¤ò¥Á¥§¥Ã¥¯ Ťµ¤¬±Û¤¨¤Æ¤¤¤¿¤é¡¢¥«¡¼¥½¥ëÉôʬ¤Ëɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¡£ */ checkGLineLen(d) uiContext d; { if (d->kanji_status_return->info & KanjiGLineInfo) { if (colwidth(d->kanji_status_return->gline.line, d->kanji_status_return->gline.length) > d->ncolumns) { Gline2echostr(d); return -1; } } return 0; } /* cfuncdef NothingChanged -- ÆÉ¤ß¤Ë¤Ä¤¤¤Æ¤Ï²¿¤âÊѤ¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë */ NothingChanged(d) uiContext d; { d->kanji_status_return->length = -1; /* ÊѤï¤é¤Ê¤¤¡£ */ d->kanji_status_return->revPos = d->kanji_status_return->revLen = 0; d->kanji_status_return->info = 0; return 0; } NothingForGLine(d) uiContext d; { d->kanji_status_return->length = -1; /* ÊѤï¤é¤Ê¤¤¡£ */ d->kanji_status_return->revPos = d->kanji_status_return->revLen = 0; return 0; } void CannaBeep() { extern int (*jrBeepFunc) pro((void)); if (jrBeepFunc) { jrBeepFunc(); } } NothingChangedWithBeep(d) uiContext d; { CannaBeep(); return NothingChanged(d); } NothingForGLineWithBeep(d) uiContext d; { CannaBeep(); return NothingForGLine(d); } #ifdef SOMEONE_USE_THIS /* ï¤â»È¤Ã¤Æ¤¤¤Ê¤¤¤ß¤¿¤¤¡£ */ Insertable(ch) unsigned char ch; { if ((0x20 <= ch && ch <= 0x7f) || (0xa0 <= ch && ch <= 0xff)) { return 1; } else { return 0; } } #endif /* SOMEONE_USE_THIS */ extern extractJishuString pro((yomiContext, wchar_t *, wchar_t *, wchar_t **, wchar_t **)); /* extractSimpleYomiString -- yomiContext ¤ÎÆÉ¤ßÉôʬ¤À¤±¤ò¼è¤ê½Ð¤¹ °ú¿ô yc -- yomiContext s -- ¼è¤ê½Ð¤¹Àè¤Î¥¢¥É¥ì¥¹ e -- ¤³¤³¤ò±Û¤¨¤Æ¼è¤ê½Ð¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¸À¤¦¥¢¥É¥ì¥¹ sr -- ȿžÎΰè¤Î³«»Ï°ÌÃÖ¤òÊÖ¤¹¥¢¥É¥ì¥¹ er -- ȿžÎΰè¤Î½ªÎ»°ÌÃÖ¤òÊÖ¤¹¥¢¥É¥ì¥¹ pat -- pointer to an attribute buffer. focused -- indicates yc is focused or not */ static int extractSimpleYomiString pro((yomiContext, wchar_t *, wchar_t *, wchar_t **, wchar_t **, wcKanjiAttributeInternal *, int)); static int extractSimpleYomiString(yc, s, e, sr, er, pat, focused) yomiContext yc; wchar_t *s, *e, **sr, **er; wcKanjiAttributeInternal *pat; int focused; { int len = yc->kEndp - yc->cStartp; if (yc->jishu_kEndp) { int len = extractJishuString(yc, s, e, sr, er); char target = focused ? CANNA_ATTR_TARGET_NOTCONVERTED : CANNA_ATTR_CONVERTED; if (pat && pat->sp + len < pat->ep) { char *ap = pat->sp, *ep = ap + len; char *mp1 = ap + (*sr - s), *mp2 = ap + (*er - s); while (ap < mp1) { *ap++ = CANNA_ATTR_INPUT; } while (ap < mp2) { *ap++ = target; } while (ap < ep) { *ap++ = CANNA_ATTR_INPUT; } pat->sp = ap; } return len; } if (s + len >= e) { len = (int)(e - s); } WStrncpy(s, yc->kana_buffer + yc->cStartp, len); if (pat && pat->sp + len < pat->ep) { char *ap = pat->sp, *ep = ap + len; if (focused) { pat->u.caretpos = (ap - pat->u.attr) + yc->kCurs - yc->cStartp; /* ¾åµ­¤Î·×»»¤Î²òÀâ: ¥­¥ã¥ì¥Ã¥È¤Î°ÌÃ֤ϡ¢º£¤«¤é½ñ¤­¹þ¤ß¤ò¤·¤è¤¦¤È ¤·¤Æ¤¤¤ë°ÌÃÖ¤«¤é¤ÎÁêÂФǡ¢·×»»¤·¡¢yc->kCurs - yc->cStartp ¤Î°Ì Ã֤Ǥ¢¤ë¡£ */ } while (ap < ep) { *ap++ = CANNA_ATTR_INPUT; } pat->sp = ap; } if (cannaconf.ReverseWidely) { *sr = s; *er = s + yc->kCurs - yc->cStartp; } else if (yc->kCurs == yc->kEndp && !yc->right) { *sr = *er = s + yc->kCurs - yc->cStartp; } else { *sr = s + yc->kCurs - yc->cStartp; *er = *sr + 1; } return len; } /* extractKanjiString -- yomiContext ¤Î´Á»ú¸õÊä¤ò¼è¤ê½Ð¤¹ °ú¿ô yc -- yomiContext s -- ¼è¤ê½Ð¤¹Àè¤Î¥¢¥É¥ì¥¹ e -- ¤³¤³¤ò±Û¤¨¤Æ¼è¤ê½Ð¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¸À¤¦¥¢¥É¥ì¥¹ b -- ʸÀá¶èÀÚ¤ê¤ò¤¹¤ë¤«¤É¤¦¤« sr -- ȿžÎΰè¤Î³«»Ï°ÌÃÖ¤òÊÖ¤¹¥¢¥É¥ì¥¹ er -- ȿžÎΰè¤Î½ªÎ»°ÌÃÖ¤òÊÖ¤¹¥¢¥É¥ì¥¹ pat -- wcKanjiAttributeInternal structure to store attribute information focused -- focus is on this yc. */ static int extractKanjiString pro((yomiContext, wchar_t *, wchar_t *, int, wchar_t **, wchar_t **, wcKanjiAttributeInternal *, int)); static int extractKanjiString(yc, s, e, b, sr, er, pat, focused) yomiContext yc; wchar_t *s, *e, **sr, **er; int b; wcKanjiAttributeInternal *pat; int focused; { wchar_t *ss = s; int i, len, nbun; nbun = yc->bunlen ? yc->curbun : yc->nbunsetsu; for (i = 0 ; i < nbun ; i++) { if (i && b && s < e) { *s++ = (wchar_t)' '; if (pat && pat->sp < pat->ep) { *pat->sp++ = CANNA_ATTR_CONVERTED; } } RkwGoTo(yc->context, i); len = RkwGetKanji(yc->context, s, (int)(e - s)); if (len < 0) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "¥«¥ì¥ó¥È¸õÊä¤ò¼è¤ê½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿"; } else { char curattr; if (i == yc->curbun && !yc->bunlen && focused) { /* focused */ *sr = s; *er = s + len; curattr = CANNA_ATTR_TARGET_CONVERTED; } else { curattr = CANNA_ATTR_CONVERTED; } if (pat && pat->sp + len < pat->ep) { char *ap = pat->sp, *ep = ap + len; while (ap < ep) { *ap++ = curattr; } pat->sp = ap; } s += len; } } if (yc->bunlen) { if (i && b && s < e) { *s++ = (wchar_t)' '; if (pat && pat->sp < pat->ep) { *pat->sp++ = CANNA_ATTR_CONVERTED; } } len = yc->kEndp - yc->kanjilen; if ((int)(e - s) < len) { len = (int)(e - s); } WStrncpy(s, yc->kana_buffer + yc->kanjilen, len); if (pat && pat->sp + len < pat->ep) { char *ap = pat->sp, *mp = ap + yc->bunlen, *ep = ap + len; char target = focused ? CANNA_ATTR_TARGET_NOTCONVERTED : CANNA_ATTR_CONVERTED; while (ap < mp) { *ap++ = target; } while (ap < ep) { *ap++ = CANNA_ATTR_INPUT; } pat->sp = ap; } if (b) { *er = (*sr = s + yc->bunlen) + ((yc->kanjilen + yc->bunlen == yc->kEndp) ? 0 : 1); } else { *sr = s; *er = s + yc->bunlen; } s += len; } if (s < e) { *s = (wchar_t)'\0'; } RkwGoTo(yc->context, yc->curbun); return (int)(s - ss); } /* extractYomiString -- yomiContext ¤Îʸ»ú¤ò¼è¤ê½Ð¤¹ °ú¿ô yc -- yomiContext s -- ¼è¤ê½Ð¤¹Àè¤Î¥¢¥É¥ì¥¹ e -- ¤³¤³¤ò±Û¤¨¤Æ¼è¤ê½Ð¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¸À¤¦¥¢¥É¥ì¥¹ b -- ʸÀá¶èÀÚ¤ê¤ò¤¹¤ë¤«¤É¤¦¤« sr -- ȿžÎΰè¤Î³«»Ï°ÌÃÖ¤òÊÖ¤¹¥¢¥É¥ì¥¹ er -- ȿžÎΰè¤Î½ªÎ»°ÌÃÖ¤òÊÖ¤¹¥¢¥É¥ì¥¹ pat -- wcKanjiAttributeInternal structure to store attribute information focused -- The yc is now focused. */ static int extractYomiString pro((yomiContext, wchar_t *, wchar_t *, int, wchar_t **, wchar_t **, wcKanjiAttributeInternal *, int)); static int extractYomiString(yc, s, e, b, sr, er, pat, focused) yomiContext yc; wchar_t *s, *e, **sr, **er; int b; wcKanjiAttributeInternal *pat; int focused; { int autoconvert = yc->generalFlags & CANNA_YOMI_CHIKUJI_MODE, len; wchar_t *ss = s; if (autoconvert) { int OnBunsetsu = ((yc->status & CHIKUJI_ON_BUNSETSU) || (yc->nbunsetsu && !(yc->status & CHIKUJI_OVERWRAP))); len = extractKanjiString(yc, s, e, b, sr, er, pat, focused && OnBunsetsu); s += len; if (yc->kEndp - yc->cStartp > 0) { wchar_t *ssr, *eer; if (b && len && s < e) { *s++ = (wchar_t)' '; if (pat && pat->sp < pat->ep) { *pat->sp++ = CANNA_ATTR_CONVERTED; } } len = extractSimpleYomiString(yc, s, e, &ssr, &eer, pat, focused && !OnBunsetsu); /* ºÇ¸å¤Î !OnBunsetsu ¤Ã¤Æ¤È¤³¤í¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤¿Êý¤¬É½¼¨¤¬¥­¥ã¥ì¥Ã¥È ¤Ä¤­¤Ç¡¢È¿Å¾Ê¸À᤬½Ð¤Æ¤â¥­¥ã¥ì¥Ã¥È¤¬¥«¡¼¥½¥ë¥Ý¥¸¥·¥ç¥ó¤Ç¤¢¤ë¤³¤È¤¬¤ï ¤«¤ê¤ä¤¹¤¤¤Î¤À¤¬¡¢OVERWRAP ¥Õ¥é¥°¤¬¤Á¤ã¤ó¤È¥â¡¼¥ÉÅù¤È¤ÎÂбþ¤¬¤µ¤ì¤Æ¤¤ ¤Ê¤¤¤è¤¦¤Ê¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤º¾åµ­¤Î¤Þ¤Þ¤È¤¹¤ë¡£ (!yc->nbunsetsu || (yc->status & CHIKUJI_OVERWRAP))); */ s += len; if (!OnBunsetsu) { *sr = ssr; *er = eer; if (pat && focused) { pat->u.caretpos = pat->sp - pat->u.attr - (s - *sr); /* ¾åµ­¤Î·×»»¤Î²òÀâ: ¥­¥ã¥ì¥Ã¥È°ÌÃ֤ϡ¢º£¸å¥¢¥È¥ê¥Ó¥å¡¼¥È ¤ò½ñ¤­¹þ¤à°ÌÃÖ¤«¤éÌá¤Ã¤¿°ÌÃ֤ˤ¢¤ë¡£¤É¤Î¤¯¤é¤¤Ìá¤ë¤«¤È ¸À¤¦¤È¡¢¼¡¤Ëʸ»úÎó¤ò½ñ¤­¹þ¤à°ÌÃÖ¤«¤é¡¢È¿Å¾³«»Ï°ÌÃÖ¤Þ¤Ç Ìá¤ëÎ̤À¤±Ìá¤ë */ } } } } else if (yc->nbunsetsu) { /* ñ¸õÊä¥â¡¼¥É */ len = extractKanjiString(yc, s, e, b, sr, er, pat, focused); s += len; } else { len = extractSimpleYomiString(yc, s, e, sr, er, pat, focused); s += len; } if (s < e) { *s = (wchar_t)'\0'; } return (int)(s - ss); } static extractString(str, s, e) wchar_t *str, *s, *e; { int len; len = WStrlen(str); if (s + len < e) { WStrcpy(s, str); return len; } else { WStrncpy(s, str, (int)(e - s)); return (int)(e - s); } } /* extractTanString -- tanContext ¤Îʸ»ú¤ò¼è¤ê½Ð¤¹ °ú¿ô tan -- tanContext s -- ¼è¤ê½Ð¤¹Àè¤Î¥¢¥É¥ì¥¹ e -- ¤³¤³¤ò±Û¤¨¤Æ¼è¤ê½Ð¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¸À¤¦¥¢¥É¥ì¥¹ */ int extractTanString(tan, s, e) tanContext tan; wchar_t *s, *e; { return extractString(tan->kanji, s, e); } /* extractTanYomi -- tanContext ¤Îʸ»ú¤ò¼è¤ê½Ð¤¹ °ú¿ô tan -- tanContext s -- ¼è¤ê½Ð¤¹Àè¤Î¥¢¥É¥ì¥¹ e -- ¤³¤³¤ò±Û¤¨¤Æ¼è¤ê½Ð¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¸À¤¦¥¢¥É¥ì¥¹ */ int extractTanYomi(tan, s, e) tanContext tan; wchar_t *s, *e; { return extractString(tan->yomi, s, e); } /* extractTanRomaji -- tanContext ¤Îʸ»ú¤ò¼è¤ê½Ð¤¹ °ú¿ô tan -- tanContext s -- ¼è¤ê½Ð¤¹Àè¤Î¥¢¥É¥ì¥¹ e -- ¤³¤³¤ò±Û¤¨¤Æ¼è¤ê½Ð¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¢¤È¸À¤¦¥¢¥É¥ì¥¹ */ int extractTanRomaji(tan, s, e) tanContext tan; wchar_t *s, *e; { return extractString(tan->roma, s, e); } void makeKanjiStatusReturn(d, yc) uiContext d; yomiContext yc; { int len; wchar_t *s = d->genbuf, *e = s + ROMEBUFSIZE, *sr, *er, *sk, *ek; tanContext tan = (tanContext)yc; long truecaret = -1; if (d->attr) { d->attr->sp = d->attr->u.attr; d->attr->ep = d->attr->u.attr + d->attr->len; } /* ºÇ½é¤ÏÊÑ´¹¤µ¤ì¤Æ¤¤¤ëÉôʬ¤ò¼è¤ê½Ð¤¹ */ while (tan->left) { tan = tan->left; } while (tan) { if (d->attr) d->attr->u.caretpos = -1; switch (tan->id) { case TAN_CONTEXT: len = extractTanString(tan, s, e); sk = s; ek = s + len; if (d->attr && d->attr->sp + len < d->attr->ep) { char *ap = d->attr->sp, *ep = ap + len; char curattr = ((mode_context)tan == (mode_context)yc) ? CANNA_ATTR_TARGET_CONVERTED : CANNA_ATTR_CONVERTED; for (; ap < ep ; ap++) { *ap = curattr; } d->attr->sp = ap; } break; case YOMI_CONTEXT: len = extractYomiString((yomiContext)tan, s, e, cannaconf.BunsetsuKugiri, &sk, &ek, d->attr, (mode_context)tan == (mode_context)yc); break; default: break; } if ((mode_context)tan == (mode_context)yc) { sr = sk; er = ek; if (d->attr) truecaret = d->attr->u.caretpos; } s += len; tan = tan->right; if (cannaconf.BunsetsuKugiri && tan && s < e) { *s++ = (wchar_t)' '; if (d->attr && d->attr->sp < d->attr->ep) { *d->attr->sp++ = CANNA_ATTR_CONVERTED; } } } if (s < e) { *s = (wchar_t)'\0'; } d->kanji_status_return->length = (int)(s - d->genbuf); d->kanji_status_return->echoStr = d->genbuf; d->kanji_status_return->revPos = (int)(sr - d->genbuf); d->kanji_status_return->revLen = (int)(er - sr); if (d->attr) { d->attr->u.caretpos = truecaret; if (d->kanji_status_return->length < d->attr->len) { d->attr->u.attr[d->kanji_status_return->length] = '\0'; } d->kanji_status_return->info |= KanjiAttributeInfo; } } #define MESSBUFSIZE 256 /* * ¥ê¥Ð¡¼¥¹¤Ê¤·¤Î¥á¥Ã¥»¡¼¥¸¤ò¥¬¥¤¥É¥é¥¤¥ó¤Ëɽ¼¨¤¹¤ë * ¼¡¤ÎÆþÎϤ¬¤¢¤Ã¤¿¤È¤­¤Ë¾Ã¤¨¤ë¤è¤¦¤Ë¥Õ¥é¥°¤òÀßÄꤹ¤ë */ void makeGLineMessage(d, msg, sz) uiContext d; wchar_t *msg; int sz; { static wchar_t messbuf[MESSBUFSIZE]; int len = sz < MESSBUFSIZE ? sz : MESSBUFSIZE - 1; WStrncpy(messbuf, msg, len); messbuf[len] = (wchar_t)0; d->kanji_status_return->gline.line = messbuf; d->kanji_status_return->gline.length = len; d->kanji_status_return->gline.revPos = 0; d->kanji_status_return->gline.revLen = 0; d->kanji_status_return->info |= KanjiGLineInfo; d->flags &= ~PCG_RECOGNIZED; d->flags |= PLEASE_CLEAR_GLINE; checkGLineLen(d); } void makeGLineMessageFromString(d, msg) uiContext d; char *msg; { int len; len = MBstowcs(d->genbuf, msg, ROMEBUFSIZE); makeGLineMessage(d, d->genbuf, len); } setWStrings(ws, s, sz) wchar_t **ws; char **s; int sz; { int f = sz; wchar_t *WString(); for (; (f && sz) || (!f && *s); ws++, s++, sz--) { *ws = WString(*s); if (!*ws) { return NG; } } return 0; } #ifdef DEBUG dbg_msg(fmt, x, y, z) char *fmt; int x, y, z; { if (iroha_debug) { fprintf(stderr, fmt, x, y, z); } } checkModec(d) uiContext d; { coreContext c; struct callback *cb; int depth = 0, cbDepth = 0; int callbacks = 0; for (c = (coreContext)d->modec ; c ; c = (coreContext)c->next) depth++; for (cb = d->cb ; cb ; cb = cb->next) { int i; cbDepth++; for (i = 0 ; i < 4 ; i++) { callbacks <<= 1; if (cb->func[i]) { callbacks++; } } } if (depth != cbDepth) { fprintf(stderr, "¢£¢£¢£¢£¢£¡ª¡ª¡ª¿¼¤µ¤¬°ã¤¦¤¾¡ª¡ª¡ª¢£¢£¢£¢£¢£\n"); } debug_message("\242\243\40\277\274\244\265: d->modec:%d d->cb:%d callbacks:0x%08x ", depth, cbDepth, callbacks); /* ¢£ ¿¼¤µ */ debug_message("EXIT_CALLBACK = 0x%x\n", d->cb->func[EXIT_CALLBACK],0,0); { extern KanjiModeRec yomi_mode; if (d->current_mode == &yomi_mode) { yomiContext yc = (yomiContext)d->modec; if (yc->kana_buffer[yc->kEndp]) { fprintf(stderr, "¢£¢£¢£¢£¢£ ¥«¥Ê¥Ð¥Ã¥Õ¥¡¤Ë¥´¥ß¤¬Æþ¤Ã¤Æ¤¤¤ë¤¾¡ª\n"); } } } } static char pbufstr[] = " o|do?b%"; showRomeStruct(dpy, win) unsigned int dpy, win; { uiContext d, keyToContext(); extern defaultContext; static int n = 0; int i; char buf[1024]; n++; fprintf(stderr, "\n¡Ú¥Ç¥Ð¥°¥á¥Ã¥»¡¼¥¸(%d)¡Û\n", n); d = keyToContext((unsigned int)dpy, (unsigned int)win); fprintf(stderr, "buffer(0x%x), bytes(%d)\n", d->buffer_return, d->n_buffer); fprintf(stderr, "nbytes(%d), ch(0x%x)\n", d->nbytes, d->ch); fprintf(stderr, "¥â¡¼¥É: %d\n", ((coreContext)d->modec)->minorMode); /* ¥³¥ó¥Æ¥¯¥¹¥È */ fprintf(stderr, "¥³¥ó¥Æ¥¯¥¹¥È(%d)\n", d->contextCache); fprintf(stderr, "¥Ç¥Õ¥©¥ë¥È¥³¥ó¥Æ¥¯¥¹¥È(%d)\n", defaultContext); /* ¥í¡¼¥Þ»ú¤«¤Ê´ØÏ¢ */ if (((coreContext)d->modec)->id == YOMI_CONTEXT) { yomiContext yc = (yomiContext)d->modec; fprintf(stderr, "r: Start(%d), Cursor(%d), End(%d)\n", yc->rStartp, yc->rCurs, yc->rEndp); fprintf(stderr, "k: ̤ÊÑ´¹Start(%d), Cursor(%d), End(%d)\n", yc->kRStartp, yc->kCurs, yc->kEndp); WStrncpy(buf, yc->romaji_buffer, yc->rEndp); buf[yc->rEndp] = '\0'; fprintf(stderr, "romaji_buffer(%s)\n", buf); fprintf(stderr, "romaji_attrib("); for (i = 0 ; i <= yc->rEndp ; i++) { fprintf(stderr, "%1x", yc->rAttr[i]); } fprintf(stderr, ")\n"); fprintf(stderr, "romaji_pointr("); for (i = 0 ; i <= yc->rEndp ; i++) { int n = 0; if (i == yc->rStartp) n |= 1; if (i == yc->rCurs) n |= 2; if (i == yc->rEndp) n |= 4; fprintf(stderr, "%c", pbufstr[n]); } fprintf(stderr, ")\n"); WStrncpy(buf, yc->kana_buffer, yc->kEndp); buf[yc->kEndp] = '\0'; fprintf(stderr, "kana_buffer(%s)\n", buf); fprintf(stderr, "kana_attrib("); for (i = 0 ; i <= yc->kEndp ; i++) { fprintf(stderr, "%1x", yc->kAttr[i]); } fprintf(stderr, ")\n"); fprintf(stderr, "kana_pointr("); for (i = 0 ; i <= yc->kEndp ; i++) { int n = 0; if (i == yc->kRStartp) n |= 1; if (i == yc->kCurs) n |= 2; if (i == yc->kEndp) n |= 4; fprintf(stderr, "%c", pbufstr[n]); } fprintf(stderr, ")\n"); fprintf(stderr, "\n"); } /* RkPrintDic(0, "kon"); */ } #endif /* DEBUG */ extern char *jrKanjiError; NoMoreMemory() { jrKanjiError = "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\306\244\244\244\336\244\271\241\243"; /* ¥á¥â¥ê¤¬ÉÔ­¤·¤Æ¤¤¤Þ¤¹¡£ */ return NG; } GLineNGReturn(d) uiContext d; { int len; len = MBstowcs(d->genbuf, jrKanjiError, ROMEBUFSIZE); makeGLineMessage(d, d->genbuf, len); currentModeInfo(d); return(0); } GLineNGReturnFI(d) uiContext d; { popForIchiranMode(d); popCallback(d); GLineNGReturn(d); return(0); } #ifndef NO_EXTEND_MENU GLineNGReturnTK(d) uiContext d; { extern void popTourokuMode pro((uiContext)); popTourokuMode(d); popCallback(d); GLineNGReturn(d); return(0); } #endif /* NO_EXTEND_MENU */ #ifdef USE_COPY_ATTRIBUTE copyAttribute(dest, src, n) BYTE *dest; BYTE *src; int n; { if (dest > src && dest < src + n) { dest += n; src += n; while (n-- > 0) { *--dest = *--src; } } else { while (n-- > 0) { *dest++ = *src++; } } } #endif #ifdef DEBUG_ALLOC int fail_malloc = 0; #undef malloc char * debug_malloc(n) int n; { if (fail_malloc) return (char *)0; else return malloc(n); } #endif /* DEBUG_ALLOC */ /* * ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¥ª¥Ú¥ì¡¼¥·¥ç¥ó * */ int WStrlen(ws) wchar_t *ws; { int res = 0; while (*ws++) { res++; } return res; } wchar_t * WStrcpy(ws1, ws2) wchar_t *ws1, *ws2; { wchar_t *ws; int cnt, len; ws = ws2; while (*ws) { ws++; } len = cnt = ws - ws2; if (ws2 < ws1 && ws1 < ws /* == ws2 + cnt */) { while (cnt--) { ws1[cnt] = ws2[cnt]; } } else { ws = ws1; while (*ws2) { *ws++ = *ws2++; } } ws1[len] = (wchar_t)0; return ws1; } wchar_t * WStrncpy(ws1, ws2, cnt) wchar_t *ws1, *ws2; int cnt; { wchar_t *ws; if (ws2 == (wchar_t *)0) return((wchar_t *)0); if (ws2 < ws1 && ws1 < ws2 + cnt) { while (cnt--) { ws1[cnt] = ws2[cnt]; } } else { int i = 0; ws = ws1; while (i++ < cnt && *ws2) { *ws++ = *ws2++; } } return ws1; } wchar_t * WStraddbcpy(ws1, ws2, cnt) wchar_t *ws1, *ws2; int cnt; { wchar_t *strp = ws1, *endp = ws1 + cnt - 1; while (*ws2 != (wchar_t)'\0' && ws1 < endp) { if (*ws2 == (wchar_t)' ' || *ws2 == (wchar_t)'\t' || *ws2 == (wchar_t)'\\') *ws1++ = (wchar_t)'\\'; *ws1++ = *ws2++; } if (ws1 == endp) { ws1--; } *ws1 = (wchar_t)'\0'; return(strp); } wchar_t * WStrcat(ws1, ws2) wchar_t *ws1, *ws2; { wchar_t *ws; ws = ws1; while (*ws) { ws++; } WStrcpy(ws, ws2); return ws1; } int WStrcmp(w1, w2) wchar_t *w1, *w2; { while (*w1 && *w1 == *w2) { w1++; w2++; } return(*w1 - *w2); } int WStrncmp(w1, w2, n) wchar_t *w1, *w2; int n; { if (n == 0) return(0); while (--n && *w1 && *w1 == *w2) { w1++; w2++; } return *w1 - *w2; } /* WWhatGPlain -- ¤É¤Î¥°¥é¥Õ¥£¥Ã¥¯¥×¥ì¡¼¥ó¤Îʸ»ú¤«¡© Ìá¤êÃÍ: 0 : G0 ASCII 1 : G1 ´Á»ú(JISX0208) 2 : G2 Ⱦ³Ñ¥«¥¿¥«¥Ê(JISX0201) 3 : G3 ³°»ú(Êä½õ´Á»ú JISX0212) */ int #ifdef __STDC__ WWhatGPlain(wchar_t wc) #else WWhatGPlain(wc) wchar_t wc; #endif { static char plain[4] = {0, 2, 3, 1}; #ifdef CANNA_WCHAR16 switch (((unsigned long)wc) & 0x8080) { case 0x0000: return 0; case 0x8080: return 1; case 0x0080: return 2; case 0x8000: return 3; } /* NOTREACHED */ #else /* !CANNA_WCHAR16 */ return plain[(((unsigned long)wc) >> 28) & 3]; #endif /* !CANNA_WCHAR16 */ } int #ifdef __STDC__ WIsG0(wchar_t wc) #else WIsG0(wc) wchar_t wc; #endif { return (WWhatGPlain(wc) == 0); } int #ifdef __STDC__ WIsG1(wchar_t wc) #else WIsG1(wc) wchar_t wc; #endif { return (WWhatGPlain(wc) == 1); } int #ifdef __STDC__ WIsG2(wchar_t wc) #else WIsG2(wc) wchar_t wc; #endif { return (WWhatGPlain(wc) == 2); } int #ifdef __STDC__ WIsG3(wchar_t wc) #else WIsG3(wc) wchar_t wc; #endif { return (WWhatGPlain(wc) == 3); } int CANNA_mbstowcs(dest, src, destlen) wchar_t *dest; char *src; int destlen; { register int i, j; register unsigned ec; #ifdef CANNA_WCHAR16 for (i = 0, j = 0 ; (ec = (unsigned)(unsigned char)src[i]) != 0 && j < destlen ; i++) { if (ec & 0x80) { switch (ec) { case 0x8e: /* SS2 */ dest[j++] = (wchar_t)(0x80 | ((unsigned)src[++i] & 0x7f)); break; case 0x8f: /* SS3 */ dest[j++] = (wchar_t)(0x8000 | (((unsigned)src[i + 1] & 0x7f) << 8) | ((unsigned)src[i + 2] & 0x7f)); i += 2; break; default: dest[j++] = (wchar_t)(0x8080 | (((unsigned)src[i] & 0x7f) << 8) | ((unsigned)src[i + 1] & 0x7f)); i++; break; } } else { dest[j++] = (wchar_t)ec; } } if (j < destlen) dest[j] = (wchar_t)0; return j; #else /* !CANNA_WCHAR16 */ for (i = 0, j = 0 ; (ec = (unsigned)(unsigned char)src[i]) != 0 && j < destlen ; i++) { if (ec & 0x80) { switch (ec) { case 0x8e: /* SS2 */ dest[j++] = (wchar_t)(0x10000000L | ((unsigned)src[++i] & 0x7f)); break; case 0x8f: /* SS3 */ dest[j++] = (wchar_t)(0x20000000L | (((unsigned)src[i + 1] & 0x7f) << 7) | ((unsigned)src[i + 2] & 0x7f)); i += 2; break; default: dest[j++] = (wchar_t)(0x30000000L | (((unsigned)src[i] & 0x7f) << 7) | ((unsigned)src[i + 1] & 0x7f)); i++; break; } } else { dest[j++] = (wchar_t)ec; } } if (j < destlen) dest[j] = (wchar_t)0; return j; #endif /* !CANNA_WCHAR16 */ } int CNvW2E(src, srclen, dest, destlen) wchar_t *src; char *dest; int srclen, destlen; { register int i, j; #ifdef CANNA_WCHAR16 for (i = 0, j = 0 ; i < srclen && j + 2 < destlen ; i++) { wchar_t wc = src[i]; switch (wc & 0x8080) { case 0: /* ASCII */ dest[j++] = (char)((unsigned)wc & 0x7f); break; case 0x0080: /* Ⱦ³Ñ¥«¥Ê */ dest[j++] = (char)0x8e; /* SS2 */ dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; case 0x8000: /* ³°»ú */ dest[j++] = (char)0x8f; /* SS3 */ dest[j++] = (char)((((unsigned)wc & 0x7f00) >> 8) | 0x80); dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; case 0x8080: /* ´Á»ú */ dest[j++] = (char)((((unsigned)wc & 0x7f00) >> 8) | 0x80); dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; } } dest[j] = (char)0; return j; #else /* !CANNA_WCHAR16 */ for (i = 0, j = 0 ; i < srclen && j + 2 < destlen ; i++) { wchar_t wc = src[i]; switch (wc >> 28) { case 0: /* ASCII */ dest[j++] = (char)((unsigned)wc & 0x7f); break; case 1: /* Ⱦ³Ñ¥«¥Ê */ dest[j++] = (char)0x8e; /* SS2 */ dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; case 2: /* ³°»ú */ dest[j++] = (char)0x8f; /* SS3 */ dest[j++] = (char)((((unsigned)wc & 0x3f80) >> 7) | 0x80); dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; case 3: /* ´Á»ú */ dest[j++] = (char)((((unsigned)wc & 0x3f80) >> 7) | 0x80); dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; } } dest[j] = (char)0; return j; #endif /* !CANNA_WCHAR16 */ } int CANNA_wcstombs(dest, src, destlen) char *dest; wchar_t *src; int destlen; { return CNvW2E(src, WStrlen(src), dest, destlen); } /* cfuncdef WString -- EUC¤«¤é¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤ª¤è¤Ó malloc WString ¤Ï°ú¿ô¤Îʸ»úÎó¤ò¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤ËÊÑ´¹¤·¡¢¤½¤Îʸ»úÎ󤬼ý¤Þ¤ë ¤À¤±¤Î¥á¥â¥ê¤ò malloc ¤·¡¢¤½¤Îʸ»úÎó¤òǼ¤áÊÖ¤¹¡£ ÍøÍѼԤϤ³¤Î´Ø¿ô¤ÇÆÀ¤¿¥Ý¥¤¥ó¥¿¤ò free ¤¹¤ëɬÍפϤ¢¤Þ¤ê¤Ê¤¤¡£ ¤¹¤Ê¤ï¤Á¡¢¤³¤Î´Ø¿ô¤ÇÆÀ¤¿¥á¥â¥ê¤Ï¸å¤Ç WStringClose ¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤­¤Ë free ¤µ¤ì¤ë¡£ ¤½¤¦¤¤¤¦»ö¾ð¤Ê¤Î¤Ç¤³¤Î´Ø¿ô¤òÉÑÈˤ˸ƤӽФ·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£º£¤Þ¤ÇEUC¤Ç ½é´üÄêµÁ¤Ç¤­¤Æ¤¤¤¿Ê¸»úÎó¤Ê¤É¤Ëα¤á¤ë¤Ù¤­¤Ç¤¢¤ë¡£ ¤³¤Îµ¡Ç½¤ò»È¤¦¿Í¤ÏºÇ½é¤Ë WStringOpen ¤ò¸Æ¤Ó½Ð¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤¬¡¢ ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¥·¥¹¥Æ¥à¤¬¼«Æ°Åª¤ËÆÉ¤ó¤Ç¤¯¤ì¤ë¤Î ¤Ç¤½¤ÎɬÍפϤʤ¤¡£ */ static wchar_t **wsmemories = (wchar_t **)NULL; static int nwsmemories = 0; #define WSBLOCKSIZE 128 int WStringOpen() { return 0; } wchar_t * WString(s) char *s; { int i, len; wchar_t *temp, **wm; if (wsmemories == (wchar_t **)NULL) { nwsmemories = WSBLOCKSIZE; if (!(wsmemories = (wchar_t **)calloc(nwsmemories, sizeof(wchar_t *)))) return((wchar_t *)0) ; /* calloc ¤µ¤ì¤¿¥á¥â¥ê¤Ï¥¯¥ê¥¢¤µ¤ì¤Æ¤¤¤ë */ } for (i = 0 ; i < nwsmemories && wsmemories[i] ;) { i++; } if (i == nwsmemories) { /* »È¤¤Àڤ俤ΤÇÁý¤ä¤¹ */ if (!(wm = (wchar_t **)realloc(wsmemories, (nwsmemories + WSBLOCKSIZE) * sizeof(wchar_t *)))) return((wchar_t *)0); wsmemories = wm; for (; i < nwsmemories + WSBLOCKSIZE ; i++) wsmemories[i] = (wchar_t *)0; i = nwsmemories; nwsmemories += WSBLOCKSIZE; } /* ¤È¤ê¤¢¤¨¤ºÂ礭¤¯¤È¤Ã¤Æ¤ª¤¤¤Æ¡¢¤½¤Î¥µ¥¤¥º¤ò¸«¤ÆÃúÅ٤Υµ¥¤¥º¤Ë ľ¤·¤ÆÊÖ¤¹ */ len = strlen(s); if (!(temp = (wchar_t *)malloc((len + 1) * WCHARSIZE))) return((wchar_t *)0); len = MBstowcs(temp, s, len + 1); if (!(wsmemories[i] = (wchar_t *)malloc((len + 1) * WCHARSIZE))) { free(temp); return((wchar_t *) 0); } WStrncpy(wsmemories[i], temp, len); wsmemories[i][len] = (wchar_t)0; free(temp); return(wsmemories[i]); } void WStringClose() { int i; for (i = 0 ; i < nwsmemories ; i++) if (wsmemories[i]) free(wsmemories[i]); free(wsmemories); wsmemories = (wchar_t **)0; nwsmemories = 0; } WSfree(s) wchar_t *s; { int i; wchar_t **t; for (t = wsmemories, i = nwsmemories; s != *t && i;) { t++; i--; } if (s != *t) return(-1); free(*t); *t = (wchar_t *) 0; return(0); } /* generalReplace -- ¥«¥Ê¥Ð¥Ã¥Õ¥¡¤Ë¤â¥í¡¼¥Þ»ú¥Ð¥Ã¥Õ¥¡¤Ë¤â»È¤¨¤ëÃÖ´¹¥ë¡¼¥Á¥ó ¤³¤ÎÃÖ´¹¥ë¡¼¥Á¥ó¤Ïʸ»úÎó¤Î¥á¥â¥ê¾å¤ÎÃÖ´¹¤ò¹Ô¤¦¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á ¥ó¤Ç¤¢¤ë¡£¥á¥â¥ê¾å¤Ëʸ»úÎó¤òÊÝ»ý¤·¤Æ¤ª¤¯»ÅÁȤߤϼ¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë ¤â¤Î¤È¤¹¤ë¡£ ¡¦Ê¸»úÎóÍѤΥХåե¡ ¡¦Ê¸»ú¤Î°À­ÍѤΥХåե¡ ¡¦¥«¡¼¥½¥ë(¥¤¥ó¥Ç¥Ã¥¯¥¹(¥Ý¥¤¥ó¥¿¤Ç¤Ï¤Ê¤¤)) ¡¦Ê¸»úÎó¤Î½ª¤ï¤ê¤ò»Ø¤¹¥¤¥ó¥Ç¥Ã¥¯¥¹ ¡¦É¬¤º¥«¡¼¥½¥ë¤è¤êº¸¤Ë¸ºß¤¹¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹(̤ÊÑ´¹Ê¸»ú¤Ø¤Î¥¤¥ó¥Ç¥Ã ¥¯¥¹¤Ë»È¤Ã¤¿¤ê¤¹¤ë) ¾åµ­¤Ë¼¨¤µ¤ì¤ë¥Ð¥Ã¥Õ¥¡¾å¤Î¥«¡¼¥½¥ë¤ÎÁ°¤«¸å¤í¤Î»ØÄꤵ¤ì¤¿Ä¹¤µ¤Îʸ»úÎó ¤òÊ̤˻ØÄꤵ¤ì¤ëʸ»úÎó¤ÇÃÖ¤­´¹¤¨¤ë½èÍý¤ò¤¹¤ë¡£ ¥È¡¼¥¿¥ë¤Î¥Ð¥¤¥È¿ô¤¬ÊѲ½¤¹¤ë¾ì¹ç¤Ïʸ»úÎó¤Î½ª¤ï¤ê¤ò»Ø¤¹¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î ÃͤâÊѲ½¤µ¤»¤ë¡£¤Þ¤¿¡¢¥«¡¼¥½¥ë¤ÎÁ°¤ÎÉôʬ¤ËÂФ·¤ÆÊ¸»úÎó¤ÎÃÖ´¹¤ò¹Ô¤¦¾ì ¹ç¤Ë¤Ï¥«¡¼¥½¥ë¥Ý¥¸¥·¥ç¥ó¤ÎÃͤâÊѲ½¤µ¤»¤ë¡£¥«¡¼¥½¥ë¤òÊѲ½¤µ¤»¤¿·ë²Ì¡¢ ̤ÊÑ´¹Ê¸»úÅù¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤è¤ê¤â¾®¤µ¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢Ì¤ÊÑ´¹Ê¸»úÅù ¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÃͤò¥«¡¼¥½¥ë¤ÎÃͤ˹ç¤ï¤»¤Æ¾®¤µ¤¯¤¹¤ë¡£ ¤³¤Î´Ø¿ô¤ÎºÇ½ª°ú¿ô¤Ë¤Ï¿·¤¿¤ËÁÞÆþ¤¹¤ëʸ»úÎó¤Î°À­¤Ë´Ø¤¹¤ë¥Ò¥ó¥È¤¬µ­½Ò ¤Ç¤­¤ë¡£¿·¤¿¤ËÁÞÆþ¤µ¤ì¤ëʸ»úÎó¤Î³ÆÊ¸»ú¤ËÂФ·¤Æ¡¢¥Ò¥ó¥È¤ÇÍ¿¤¨¤é¤ì¤¿ÃÍ ¼«¿È¤¬Â°À­ÃͤȤ·¤Æ³ÊǼ¤µ¤ì¤ë¡£ ¡Ú°ú¿ô¡Û buf ¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿ attr °À­¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿ startp ¥Ð¥Ã¥Õ¥¡¤Î̤³ÎÄêʸ»úÎó¤Ê¤É¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¼ý¤á¤Æ¤¤¤ëÊÑ ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿ cursor ¥«¡¼¥½¥ë°ÌÃÖ¤ò¼ý¤á¤Æ¤¤¤ëÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿ endp ʸ»úÎó¤ÎºÇ½ª°ÌÃÖ¤ò»Ø¤·¼¨¤·¤Æ¤¤¤ëÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿ bytes ²¿¥Ð¥¤¥ÈÃÖ´¹¤¹¤ë¤«¡©Éé¤Î¿ô¤¬»ØÄꤵ¤ì¤ë¤È¥«¡¼¥½¥ë¤ÎÁ°¤ÎÉô ʬ¤Î |bytes| ʬ¤Îʸ»úÎó¤¬ÃÖ´¹¤ÎÂоݤȤʤꡢÀµ¤Î¿ô¤¬»ØÄê ¤µ¤ì¤ë¤È¥«¡¼¥½¥ë¤Î¸å¤í¤ÎÉôʬ¤Î bytes ʬ¤Îʸ»úÎó¤¬ÂÐ¾Ý¤È ¤Ê¤ë¡£ rplastr ¿·¤·¤¯ÃÖ¤¯Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ len ¿·¤·¤¯ÃÖ¤¯Ê¸»úÎó¤ÎŤµ attrmask ¿·¤·¤¯ÃÖ¤¯Ê¸»úÎó¤Î°À­¤Î¥Ò¥ó¥È ¼ÂºÝ¤Ë¤Ï¤³¤Î´Ø¿ô¤òľÀܤ˻Ȥ鷺¤Ë¡¢bytes, rplastr, len, attrmask ¤À¤± ¤òÍ¿¤¨¤ë¤À¤±¤Ç¤¹¤à¥Þ¥¯¥í¡¢kanaReplace, romajiReplace ¤ò»È¤¦¤Î¤¬Îɤ¤¡£ */ void generalReplace(buf, attr, startp, cursor, endp, bytes, rplastr, len, attrmask) wchar_t *buf, *rplastr; BYTE *attr; int *startp, *cursor, *endp, bytes, len, attrmask; { int idou, begin, end, i; int cursorMove; if (bytes > 0) { cursorMove = 0; begin = *cursor; end = *endp; } else { bytes = -bytes; cursorMove = 1; begin = *cursor - bytes; end = *endp; } idou = len - bytes; moveStrings(buf, attr, begin + bytes, end, idou); *endp += idou; if (cursorMove) { *cursor += idou; if (*cursor < *startp) *startp = *cursor; } WStrncpy(buf + begin, rplastr, len); for (i = 0 ; i < len ; i++) { attr[begin + i] = attrmask; } /* if (len) attr[begin] |= attrmask; */ } #ifdef __STDC__ WToupper(wchar_t w) #else WToupper(w) wchar_t w; #endif { if ('a' <= w && w <= 'z') return((wchar_t) (w - 'a' + 'A')); else return(w); } #ifdef __STDC__ WTolower(wchar_t w) #else WTolower(w) wchar_t w; #endif { if ('A' <= w && w <= 'Z') { return (wchar_t)(w - 'A' + 'a'); } else { return w; } } /* ¥­¡¼¤ò wchar ¤Îʸ»ú¤ËÊÑ´¹¤¹¤ë¡£ °ú¿ô: key ÆþÎϤµ¤ì¤¿¥­¡¼ check wchar_t ¤ËÊÑ´¹¤µ¤ì¤¿¤«¤É¤¦¤«¤ò³ÊǼ¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤Î¥¢¥É¥ì¥¹ ÊÖÃÍ: ´Ø¿ô¤ÎÊÖÃÍ ÊÑ´¹¤µ¤ì¤¿ wchar_t ¤Îʸ»ú check ¤¦¤Þ¤¯ÊÑ´¹¤Ç¤­¤¿¤«¤É¤¦¤« Ãí°Õ: check ¤Ïɬ¤ºÍ­¸ú¤ÊÊÑ¿ô¤Î¥¢¥É¥ì¥¹¤ò¥Ý¥¤¥ó¥È¤¹¤ë¤³¤È¡£ check ¤Î¥Ý¥¤¥ó¥ÈÀè¤ÎÍ­¸úÀ­¤Ï key2wchar ¤Ç¤Ï¥Á¥§¥Ã¥¯¤·¤Ê¤¤¡£ */ wchar_t key2wchar(key, check) int key; int *check; { *check = 1; /* Success as default */ if (161 <= key && key <= 223) { /* ¥«¥¿¥«¥Ê¤ÎÈϰϤÀ¤Ã¤¿¤é */ char xxxx[4]; wchar_t yyyy[4]; int nchars; xxxx[0] = (char)0x8e; /* SS2 */ xxxx[1] = (char)key; xxxx[2] = '\0'; nchars = MBstowcs(yyyy, xxxx, 4); if (nchars != 1) { *check = 0; return 0; /* ¥¨¥é¡¼ */ } return yyyy[0]; } else { return (wchar_t)key; } } int confirmContext(d, yc) uiContext d; yomiContext yc; { extern defaultContext; if (yc->context < 0) { if (d->contextCache >= 0) { yc->context = d->contextCache; d->contextCache = -1; } else { if (defaultContext == -1) { if (KanjiInit() < 0 || defaultContext == -1) { jrKanjiError = KanjiInitError(); return -1; } } yc->context = RkwDuplicateContext(defaultContext); if (yc->context < 0) { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = "\244\253\244\312\264\301\273\372\312\321\264\271\244\313\274\272\307\324\244\267\244\336\244\267\244\277"; /* ¤«¤Ê´Á»úÊÑ´¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿ */ return -1; } } } return yc->context; } int abandonContext(d, yc) uiContext d; yomiContext yc; { extern defaultContext; if (yc->context >= 0) { if (d->contextCache >= 0) { RkwCloseContext(yc->context); } else { d->contextCache = yc->context; } yc->context = -1; } return 0; } int makeRkError(d, str) uiContext d; char *str; { if (errno == EPIPE) { jrKanjiPipeError(); } jrKanjiError = str; makeGLineMessageFromString(d, jrKanjiError); return -1; } /* °Ê²¼¥á¥Ã¥»¡¼¥¸¤ò gline ¤Ë½Ð¤¹¤¿¤á¤Î»ÅÁÈ¤ß */ static ProcAnyKey(d) uiContext d; { coreContext cc = (coreContext)d->modec; d->current_mode = cc->prevMode; d->modec = cc->next; freeCoreContext(cc); d->status = EXIT_CALLBACK; return 0; } static wait_anykey_func pro((uiContext, KanjiMode, int, int, int)); static wait_anykey_func(d, mode, whattodo, key, fnum) uiContext d; KanjiMode mode; int whattodo; int key; int fnum; /* ARGSUSED */ { switch (whattodo) { case KEY_CALL: return ProcAnyKey(d); case KEY_CHECK: return 1; case KEY_SET: return 0; } /* NOTREACHED */ } static KanjiModeRec canna_message_mode = { wait_anykey_func, 0, 0, 0, }; static void cannaMessageMode(d, cnt) uiContext d; canna_callback_t cnt; { coreContext cc; extern coreContext newCoreContext pro((void)); cc = newCoreContext(); if (cc == 0) { NothingChangedWithBeep(d); return; } cc->prevMode = d->current_mode; cc->next = d->modec; cc->majorMode = d->majorMode; cc->minorMode = d->minorMode; if (pushCallback(d, d->modec, NO_CALLBACK, cnt, NO_CALLBACK, NO_CALLBACK) == (struct callback *)0) { freeCoreContext(cc); NothingChangedWithBeep(d); return; } d->modec = (mode_context)cc; d->current_mode = &canna_message_mode; return; } /* canna_alert(d, message, cnt) -- ¥á¥Ã¥»¡¼¥¸¤ò gline ¤Ë½Ð¤¹ ²¿¤«¥­¡¼¤¬ÆþÎϤµ¤ì¤¿¤é cnt ¤È¸À¤¦´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¡£ °ú¿ô: d UI Context message ¥á¥Ã¥»¡¼¥¸ cnt ¼¡¤Î½èÍý¤ò¹Ô¤¦´Ø¿ô cnt ¤Ç¤Ï popCallback(d) ¤ò¤ä¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¡ª */ canna_alert(d, message, cnt) uiContext d; char *message; canna_callback_t cnt; { d->nbytes = 0; makeGLineMessageFromString(d, message); cannaMessageMode(d, cnt); return 0; } char * KanjiInitError() { return "\244\253\244\312\264\301\273\372\312\321\264\271\245\265" "\241\274\245\320\244\310\304\314\277\256\244\307\244\255\244\336" "\244\273\244\363"; /* "¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÄÌ¿®¤Ç¤­¤Þ¤»¤ó" */ } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/canna/yesno.c0100644000076500001200000001014407732020155014775 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: yesno.c,v 1.2 2003/09/17 08:50:53 aida_s Exp $"; #endif /* lint */ #include #include "canna.h" #ifdef luna88k extern int errno; #endif /* cfunc yesNoContext * * yesNoContext * */ static coreContext newYesNoContext() { coreContext ccxt; if ((ccxt = (coreContext)malloc(sizeof(coreContextRec))) == (coreContext)NULL) { #ifndef CODED_MESSAGE jrKanjiError = "malloc (newcoreContext) ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"; #else jrKanjiError = "malloc (newcoreContext) \244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; #endif return (coreContext)NULL; } ccxt->id = CORE_CONTEXT; return ccxt; } static void freeYesNoContext(qc) coreContext qc; { free(qc); } /* * ¸õÊä°ìÍ÷¹Ô¤òºî¤ë */ getYesNoContext(d, everyTimeCallback, exitCallback, quitCallback, auxCallback) uiContext d; canna_callback_t everyTimeCallback, exitCallback; canna_callback_t quitCallback, auxCallback; { extern KanjiModeRec tourokureibun_mode; coreContext qc; int retval = 0; if(pushCallback(d, d->modec, everyTimeCallback, exitCallback, quitCallback, auxCallback) == 0) { jrKanjiError = "malloc (pushCallback) \244\307\244\255\244\336\244\273\244\363\244\307\244\267\244\277"; /* ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ */ return(NG); } if((qc = newYesNoContext()) == (coreContext)NULL) { popCallback(d); return(NG); } qc->majorMode = d->majorMode; qc->minorMode = CANNA_MODE_HenkanMode; qc->next = d->modec; d->modec = (mode_context)qc; qc->prevMode = d->current_mode; d->current_mode = &tourokureibun_mode; return(retval); } static void popYesNoMode(d) uiContext d; { coreContext qc = (coreContext)d->modec; d->modec = qc->next; d->current_mode = qc->prevMode; freeYesNoContext(qc); } #if DOYESNONOP /* Nop ¤òºî¤í¤¦¤È¤·¤¿¤¬¡¢ getYesNoContext ¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë¤È¤³¤í¤Ç¡¢ everyTimeCallback ¤òÀßÄꤷ¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢²¼¤Î½èÍý¤¬¤¦¤Þ¤¯Æ°¤«¤Ê¤¤ */ static YesNoNop(d) uiContext d; { /* currentModeInfo ¤Ç¥â¡¼¥É¾ðÊó¤¬É¬¤ºÊÖ¤ë¤è¤¦¤Ë¥À¥ß¡¼¤Î¥â¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯ */ d->majorMode = d->minorMode = CANNA_MODE_AlphaMode; currentModeInfo(d); return 0; } #endif /* DOYESNONOP */ /* * EveryTimeCallback ... y/n °Ê³°¤Îʸ»ú¤¬ÆþÎϤµ¤ì¤¿ * ExitCallback ... y ¤¬ÆþÎϤµ¤ì¤¿ * quitCallback ... quit ¤¬ÆþÎϤµ¤ì¤¿ * auxCallback ... n ¤¬ÆþÎϤµ¤ì¤¿ */ static int YesNo pro((uiContext)); static YesNo(d) uiContext d; { if((d->ch == 'y') || (d->ch == 'Y')) { popYesNoMode(d); d->status = EXIT_CALLBACK; } else if((d->ch == 'n') || (d->ch == 'N')) { popYesNoMode(d); d->status = AUX_CALLBACK; } else { /* d->status = EVERYTIME_CALLBACK; */ return(NothingChangedWithBeep(d)); } return(0); } static int YesNoQuit pro((uiContext)); static YesNoQuit(d) uiContext d; { int retval = 0; popYesNoMode(d); d->status = QUIT_CALLBACK; return(retval); } #include "t_reimap.h" Canna37p3/lib/canna/yomimap.h0100644000076500001200000000747307554213610015335 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char yomimap_id[] = "@(#) 102.1 $Id: yomimap.h,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $"; #endif /* lint */ extern ConvertAsBushu pro((uiContext)); extern DoFuncSequence pro((uiContext)),UseOtherKeymap pro((uiContext)); extern YomiBubunKakutei pro((uiContext)); static struct funccfunc yomi_funcs[] = { {CANNA_FN_FunctionalInsert ,YomiInsert }, {CANNA_FN_QuotedInsert ,YomiQuotedInsert }, {CANNA_FN_Forward ,YomiForward }, {CANNA_FN_Backward ,YomiBackward }, {CANNA_FN_Next ,YomiNextJishu }, {CANNA_FN_Prev ,YomiPreviousJishu }, {CANNA_FN_BeginningOfLine ,YomiBeginningOfLine }, {CANNA_FN_EndOfLine ,YomiEndOfLine }, {CANNA_FN_DeleteNext ,YomiDeleteNext }, {CANNA_FN_DeletePrevious ,YomiDeletePrevious }, {CANNA_FN_KillToEndOfLine ,YomiKillToEndOfLine }, {CANNA_FN_Henkan ,YomiHenkan }, {CANNA_FN_HenkanOrInsert ,YomiHenkanNaive }, {CANNA_FN_HenkanOrNothing ,YomiHenkanOrNothing }, {CANNA_FN_Kakutei ,YomiKakutei }, {CANNA_FN_Quit ,YomiQuit }, {CANNA_FN_ConvertAsHex ,ConvertAsHex }, {CANNA_FN_ConvertAsBushu ,ConvertAsBushu }, {CANNA_FN_KouhoIchiran ,ConvertAsBushu }, {CANNA_FN_ToUpper ,YomiToUpper }, {CANNA_FN_ToLower ,YomiToLower }, {CANNA_FN_Capitalize ,YomiCapitalize }, {CANNA_FN_Zenkaku ,YomiZenkaku }, {CANNA_FN_Hankaku ,YomiHankaku }, {CANNA_FN_Hiragana ,YomiHiraganaJishu }, {CANNA_FN_Katakana ,YomiKatakanaJishu }, {CANNA_FN_Romaji ,YomiRomajiJishu }, {CANNA_FN_KanaRotate ,YomiKanaRotate }, {CANNA_FN_RomajiRotate ,YomiRomajiRotate }, {CANNA_FN_CaseRotate ,YomiCaseRotateForward }, {CANNA_FN_Mark ,YomiMark }, {CANNA_FN_BubunKakutei ,YomiBubunKakutei }, {CANNA_FN_BaseHiragana ,YomiBaseHira }, {CANNA_FN_BaseKatakana ,YomiBaseKata }, {CANNA_FN_BaseKana ,YomiBaseKana }, {CANNA_FN_BaseEisu ,YomiBaseEisu }, {CANNA_FN_BaseZenkaku ,YomiBaseZen }, {CANNA_FN_BaseHankaku ,YomiBaseHan }, {CANNA_FN_BaseKakutei ,YomiBaseKakutei }, {CANNA_FN_BaseHenkan ,YomiBaseHenkan }, {CANNA_FN_BaseHiraKataToggle ,YomiBaseHiraKataToggle }, {CANNA_FN_BaseZenHanToggle ,YomiBaseZenHanToggle }, {CANNA_FN_BaseKanaEisuToggle ,YomiBaseKanaEisuToggle }, {CANNA_FN_BaseKakuteiHenkanToggle ,YomiBaseKakuteiHenkanToggle }, {CANNA_FN_BaseRotateForward ,YomiBaseRotateForw }, {CANNA_FN_BaseRotateBackward ,YomiBaseRotateBack }, {CANNA_FN_TemporalMode ,YomiModeBackup }, {CANNA_FN_Nop ,YomiNop }, {CANNA_FN_FuncSequence ,DoFuncSequence }, {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, {0 ,0 }, }; KanjiModeRec yomi_mode = { Yomisearchfunc, default_kmap, CANNA_KANJIMODE_TABLE_SHARED, yomi_funcs, }; Canna37p3/lib/canna16/0040755000076500001200000000000010052700720013636 5ustar shinraadminCanna37p3/lib/canna16/.cvsignore0100644000076500001200000000015607601177344015655 0ustar shinraadmin.depend Makefile libcanna16.a libcanna16.so* libcanna16.sl* libcanna16.dll unshared GSYM.awk globnames *.[ch] Canna37p3/lib/canna16/Imakefile0100644000076500001200000000015107726364105015462 0ustar shinraadmin/* $Id: Imakefile,v 1.7 2003/09/06 13:59:33 aida_s Exp $ */ #define NARROW #include "../canna/Imakefile" Canna37p3/lib/Imakefile0100644000076500001200000000065407614662722014245 0ustar shinraadmin/* $Id: Imakefile,v 1.2 2003/01/26 04:36:34 aida_s Exp $ */ #include "../Canna.conf" #define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' CANNAROOT = .. SUBDIRS = RKindep RK RKC RKC16 $(RKWNN) canna canna16 #ifdef engineSwitch RKWNN = RKWnn RKWnn16 RKSj3 RKSj316 #endif MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) MakeLintLibSubdirs($(SUBDIRS)) MakeLintSubdirs($(SUBDIRS),install.ln,install.ln) Canna37p3/lib/RK/0040755000076500001200000000000010052700712012724 5ustar shinraadminCanna37p3/lib/RK/.cvsignore0100644000076500001200000000003107601177343014731 0ustar shinraadmin.depend Makefile libRK.a Canna37p3/lib/RK/bits.c0100644000076500001200000002060707732020154014041 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="$Id: bits.c,v 1.2 2003/09/17 08:50:52 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "RKintern.h" /* * PackBits */ #define BIT_UNIT 8 /* ³Ø½¬¥Õ¥¡¥¤¥ëÍѥӥåÈÁàºî½èÍý ³Ø½¬¥ª¥Õ¥»¥Ã¥È¤Î¾ðÊó¤ò¡¢¤Ç¤­¤ë¤À¤±¾®¤µ¤¤¥Ó¥Ã¥È¤ÎÇÛÎó¤È¤·¤ÆÊÝ»ý¤¹¤ë¡£ ¸õÊä¿ô 1 2 3 4 5 6 7 8 9 ... n ¥Ó¥Ã¥ÈÉý 2 3 3 4 4 4 4 5 5 log(n) + 1 RkPackBits ¤Ï unsigned ¤ÎÇÛÎó¤Î¿ô¤ò dst_bits ¤Î dst_offset(¥Ó¥Ã¥È¤Ç ¥«¥¦¥ó¥È)¤ÎÀ褫¤é³ÊǼ¤¹¤ë¡£Ã¼¿ô¤¬½Ð¤¿¾ì¹ç¤Ï²¼°Ì¥Ó¥Ã¥È¤«¤é»È¤ï¤ì¤ë¡£ °ú¿ô dst_bits -- ¥Ó¥Ã¥ÈÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ dst_offset -- ¼ÂºÝ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¤³¤í¤Þ¤Ç¤Î¥ª¥Õ¥»¥Ã¥È(¥Ó¥Ã¥È¤Ç¥«¥¦¥ó¥È) bit_size -- ¥Ó¥Ã¥ÈÇÛÎó¤Î£±¤Ä¤ÎÍ×ÁǤΥӥåÈÉý src_ints -- ³ÊǼ¤·¤¿¤¤¿ôÃͤÎÇÛÎó count -- ³ÊǼ¤·¤¿¤¤¿ô Ìá¤êÃÍ */ long _RkPackBits(dst_bits, dst_offset, bit_size, src_ints, count) unsigned char *dst_bits; long dst_offset; int bit_size; unsigned *src_ints; int count; { unsigned char *dstB; unsigned dstQ; unsigned dstCount; unsigned bitMask; dstB = dst_bits + dst_offset / BIT_UNIT; dstCount = (dst_offset % BIT_UNIT); /* ÅÓÃæ¤Ê¤Î¤Ç¡¢¼ê¤òÉÕ¤±¤Ê¤¤Éôʬ¤¬¤¢¤ë¤³¤È¤ËÃí°Õ */ dstQ = *dstB & ((1 << dstCount) - 1); bitMask = (1 << bit_size) - 1; while (count-- > 0) { dstQ |= (*src_ints++ & bitMask) << dstCount; dstCount += bit_size; dst_offset += bit_size; while (dstCount >= BIT_UNIT) { *dstB++ = dstQ & ((1 << BIT_UNIT) - 1); dstQ >>= BIT_UNIT; dstCount -= BIT_UNIT; } } if (dstCount) { *dstB = (*dstB & ~((1 << dstCount) - 1)) | (dstQ & ((1 << dstCount) - 1)); } return dst_offset; } /* UnpackBits RkUnpackBits ¤Ï dst_bits ¤Î dst_offset(¥Ó¥Ã¥È¤Ç¥«¥¦¥ó¥È)¤Ë³ÊǼ¤µ¤ì¤Æ ¤¤¤ë¥Ó¥Ã¥È¤ÎÇÛÎó¤ò unsigned ¤ÎÇÛÎó¤Ë¼è¤ê½Ð¤¹¡£offset ¤Ëü¿ô¤¬½Ð¤¿¾ì ¹ç¤Ï²¼°Ì¥Ó¥Ã¥È¤«¤é»È¤ï¤ì¤ë¡£ °ú¿ô dst_ints -- ¼è¤ê½Ð¤·¤¿¿ôÃͤò³ÊǼ¤¹¤ëÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ src_bits -- ¥Ó¥Ã¥ÈÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ src_offset -- ¼ÂºÝ¤Ë³ÊǼ¤¹¤ë¤È¤³¤í¤Þ¤Ç¤Î¥ª¥Õ¥»¥Ã¥È(¥Ó¥Ã¥È¤Ç¥«¥¦¥ó¥È) bit_size -- ¥Ó¥Ã¥ÈÇÛÎó¤Î£±¤Ä¤ÎÍ×ÁǤΥӥåÈÉý count -- ¼è¤ê½Ð¤·¤¿¤¤¿ô Ìá¤êÃÍ */ long _RkUnpackBits(dst_ints, src_bits, src_offset, bit_size, count) unsigned *dst_ints; unsigned char *src_bits; long src_offset; int bit_size; int count; { unsigned char *srcB; unsigned srcQ; unsigned srcCount; unsigned bitMask; srcB = src_bits + src_offset / BIT_UNIT; srcCount = BIT_UNIT - (src_offset % BIT_UNIT); srcQ = *srcB++ >> (src_offset % BIT_UNIT); bitMask = (1 << bit_size) - 1; while (count-- > 0) { while (srcCount < (unsigned)bit_size) { srcQ |= (*srcB++ << srcCount); srcCount += BIT_UNIT; } *dst_ints++ = srcQ & bitMask; srcQ >>= bit_size; srcCount -= bit_size; src_offset += bit_size; } return src_offset; } /* CopyBits RkCopyBits ¤Ï src_bits ¤Î src_offset ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥Ó¥Ã¥ÈÇÛÎó¤ò count ¸Ä¤À¤± dst_bits ¤Î dst_offset¤Ë°Üư¤µ¤»¤ë¡£ °ú¿ô dst_bits -- °ÜưÀè¥Ó¥Ã¥ÈÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ dst_offset -- ¼ÂºÝ¤Ë³ÊǼ¤¹¤ë¤È¤³¤í¤Þ¤Ç¤Î¥ª¥Õ¥»¥Ã¥È(¥Ó¥Ã¥È¤Ç¥«¥¦¥ó¥È) bit_size -- ¥Ó¥Ã¥ÈÇÛÎó¤Î£±¤Ä¤ÎÍ×ÁǤΥӥåÈÉý src_bits -- °Üư¸µ¥Ó¥Ã¥ÈÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ src_offset -- ¼è¤ê½Ð¤¹¤È¤³¤í¤Þ¤Ç¤Î¥ª¥Õ¥»¥Ã¥È(¥Ó¥Ã¥È¤Ç¥«¥¦¥ó¥È) count -- °Üư¤·¤¿¤¤¿ô Ìá¤êÃÍ */ long _RkCopyBits(dst_bits, dst_offset, bit_size, src_bits, src_offset, count) unsigned char *dst_bits; long dst_offset; int bit_size; unsigned char *src_bits; long src_offset; int count; { unsigned char *dstB; unsigned dstQ; unsigned dstCount; unsigned char *srcB; unsigned srcQ; unsigned srcCount; unsigned bitMask; unsigned bits; dstB = dst_bits + dst_offset / BIT_UNIT; dstCount = (dst_offset % BIT_UNIT); dstQ = *dstB & ((1 << dstCount) - 1); srcB = src_bits + src_offset / BIT_UNIT; srcCount = BIT_UNIT - (src_offset % BIT_UNIT); srcQ = *srcB++ >> (src_offset % BIT_UNIT); bitMask = (1 << bit_size) - 1; while (count-- > 0) { /* unpack */ while (srcCount < (unsigned)bit_size) { srcQ |= (*srcB++ << srcCount); srcCount += BIT_UNIT; } bits = srcQ & bitMask; srcQ >>= bit_size; srcCount -= bit_size; src_offset += bit_size; /* pack */ dstQ |= bits << dstCount; dstCount += bit_size; dst_offset += bit_size; while (dstCount >= BIT_UNIT) { *dstB++ = dstQ & ((1 << BIT_UNIT) - 1); dstQ >>= BIT_UNIT; dstCount -= BIT_UNIT; } } if (dstCount) { *dstB = (*dstB & ~((1 << dstCount) - 1)) | (dstQ & ((1 << dstCount) - 1)); } return dst_offset; } /* _RkSetBitNum _RkSetBitNum ¤Ï bit ÇÛÎó¤Î offset °ÌÃÖ¤«¤é n ÈÖÌܤÎÃͤȤ·¤Æ val ¤ò³Ê Ǽ¤¹¤ë´Ø¿ô¤Ç¤¢¤ë¡£ °ú¿ô dst_bits -- ¥Ó¥Ã¥ÈÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ dst_offset -- ¼ÂºÝ¤Ë³ÊǼ¤¹¤ë¤È¤³¤í¤Þ¤Ç¤Î¥ª¥Õ¥»¥Ã¥È(¥Ó¥Ã¥È¤Ç¥«¥¦¥ó¥È) bit_size -- ¥Ó¥Ã¥ÈÇÛÎó¤Î£±¤Ä¤ÎÍ×ÁǤΥӥåÈÉý n -- ÀèÆ¬¤«¤é²¿ÈÖÌܤÎÍ×ÁǤ«¤òÍ¿¤¨¤ë¡£ val -- ³ÊǼ¤¹¤ëÃͤòÍ¿¤¨¤ë¡£ Ìá¤êÃÍ */ int _RkSetBitNum(dst_bits, dst_offset, bit_size, n, val) unsigned char *dst_bits; unsigned long dst_offset; int bit_size, n, val; { unsigned char *dstB; unsigned dstQ, dstCount, bitMask; dst_offset += bit_size * n; dstB = dst_bits + dst_offset / BIT_UNIT; dstCount = (dst_offset % BIT_UNIT); /* ÅÓÃæ¤Ê¤Î¤Ç¡¢¼ê¤òÉÕ¤±¤Ê¤¤Éôʬ¤¬¤¢¤ë¤³¤È¤ËÃí°Õ */ dstQ = *dstB & ((1 << dstCount) - 1); bitMask = (1 << bit_size) - 1; dstQ |= (val & bitMask) << dstCount; dstCount += bit_size; dst_offset += bit_size; while (dstCount >= BIT_UNIT) { *dstB++ = dstQ & ((1 << BIT_UNIT) - 1); dstQ >>= BIT_UNIT; dstCount -= BIT_UNIT; } if (dstCount) { *dstB = (*dstB & ~((1 << dstCount) - 1)) | (dstQ & ((1 << dstCount) - 1)); } return dst_offset; } int _RkCalcFqSize(n) int n; { return n*(_RkCalcLog2(n) + 1); } #ifdef __BITS_DEBUG__ #include _RkPrintPackedBits(bits, offset, bit_size, count) unsigned char *bits; int offset; int bit_size; int count; { fprintf(stderr, "%d <", count); while ( count-- > 0 ) { unsigned w; offset = _RkUnpackBits(&w, bits, offset, bit_size, 1); fprintf(stderr, " %d", w/2); }; fprintf(stderr, ">\n"); } int _RkCalcLog2(n) int n; { int lg2; n--; for (lg2 = 0; n > 0; lg2++) n >>= 1; return(lg2); } main() { int offset; int bit_size; int size; unsigned char bits[1024*8]; unsigned char Bits[1024*8]; int c, i; int ec; int o; /* create test run */ for ( size = 1; size <= 32; size++ ) { bit_size = _RkCalcLog2(size) + 1; printf("#%4d/%2d\t", size, bit_size); /* pack 'em all */ o = 0; for ( i = 0; i < size; i++ ) o = _RkPackBits(Bits, o, bit_size, &i, 1); printf("PK "); for ( i = 0; i < (bit_size*size+7)/8; i++ ) printf(" %02x", Bits[i]); printf("\n"); for ( offset = 0; offset < 16; offset++ ) { /* copybits */ o = _RkCopyBits(bits, offset, bit_size, Bits, 0, size); printf("%d ", offset); for ( i = 0; i < (o + 7)/8; i++ ) printf(" %02x", bits[i]); printf("\n"); /* unpack 'em again */ ec = 0; o = offset; for ( i = 0; i < size; i++ ) { unsigned w; o = _RkUnpackBits(&w, bits, o, bit_size, 1); if ( w != i ) ec++; }; if ( ec ) printf(" %d", offset); else printf("."); }; printf("\n"); }; } #endif Canna37p3/lib/RK/bun.c0100644000076500001200000011275007733275221013675 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[] = "$Id: bun.c,v 1.6 2003/09/21 10:16:49 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "RKintern.h" #define NEED_DEF #ifdef RkSetErrno #undef RkSetErrno #define RkSetErrno(no) #endif #ifdef OVERRUN_DEBUG #define OVERRUN_MARGIN 100 #else #define OVERRUN_MARGIN 0 #endif #define STRCMP(d, s) strcmp((char *)(d), (char *)(s)) extern void usncopy(); #ifdef RK_LOG #include static FILE * openLogFile(cxnum) int cxnum; { char file[128]; FILE *fp; sprintf(file, "/tmp/henkan%03d.log", cxnum); fp = fopen(file, "a"); return fp; } static char * nword2str(cx, w, yomi) struct RkContext *cx; struct nword *w; Wchar *yomi; { static unsigned char msg[RK_LINE_BMAX]; static unsigned char eyomi[RK_LINE_BMAX]; struct nword *words[RK_CONC_NMAX], **p, *wp; int msg_idx = 0; char *hinsi; Wchar *kanji, *_RkGetKanji(); unsigned char *ekanji, *ustoeuc(); for (wp = w, p = words; wp; wp = wp->nw_left) *p++ = wp; while (p-- > words) { int yomi_len, hinsi_len; wp = *p; if (!wp->nw_left) continue; kanji = _RkGetKanji(wp, yomi + wp->nw_left->nw_ylen, cx->concmode); ekanji = ustoeuc(kanji, wp->nw_klen - wp->nw_left->nw_klen, msg + msg_idx, RK_LINE_BMAX - msg_idx); msg_idx = ekanji - msg; ustoeuc(yomi + wp->nw_left->nw_ylen, wp->nw_ylen - wp->nw_left->nw_ylen, eyomi, RK_LINE_BMAX); yomi_len = strlen(eyomi); hinsi = RkGetGramName(cx->gram->gramdic, wp->nw_rowcol); hinsi_len = strlen(hinsi); if (msg_idx + 1 + yomi_len + hinsi_len + 2 >= RK_LINE_BMAX) break; sprintf(msg + msg_idx, "/%s[%s]", eyomi, hinsi); msg_idx += 1 + yomi_len + hinsi_len + 2; } msg[msg_idx] = 0; return msg; } static dumpBunq(cx, from, end, log, fp) struct RkContext *cx; int from; unsigned end; int log; /* 0 ¸õÊäÊѹ¹ 1 ÊÑ´¹³«»Ï 2 ³ÎÄê 3 ʸÀáĹÊѹ¹ */ FILE *fp; { int i; struct nstore *store = cx->store; struct nbun *bun = store->bunq + from; struct henkanlog *l = store->hlog; for (i = 0; i < from; i++) l = l->next; if (log & 1) { /* ʸÀáĹÊѹ¹¾ðÊó¤Î½é´ü²½ */ char **prev = store->blog; int nprev = store->nblog; store->nblog = end; store->blog = (char **)malloc(sizeof(char *) * end); /* ¤³¤ÎʸÀá¤Þ¤Ç¤Î¾ðÊó¤ÏÁ´Éô¥³¥Ô¡¼ */ if (log == 3) for (i = 0; i <= from; i++) store->blog[i] = prev[i]; /* »Ä¤ê¤Ï¼Î¤Æ¤ë */ for (i = from + (log == 3); i < nprev; i++) if (prev[i]) free(prev[i]); if (prev) free(prev); /* °Ê¹ß¤Ï½é´ü²½ */ for (i = from + (log == 3); i < end; i++) store->blog[i] = NULL; } for ( i = from; i < end; i++, bun++) { struct nword *w; char *henkan; int n = bun->nb_curcand; /* ¸½ºß¸õÊä¤Î¼èÆÀ */ for ( w = bun->nb_cand; w; w = w->nw_next ) { if ( CanSplitWord(w) && bun->nb_curlen == w->nw_ylen ) if ( n-- <= 0 ) break; } if (log & 1) { /* ¥í¥°¤ò¼è¤ëÎΰè¤ò³ÎÊÝ */ struct henkanlog *p = NULL, *q; if (q = l->next) { p = q->next; if (q->henkan) { if (log == 3 && from == i && !store->blog[i]) store->blog[i] = q->henkan; else if (q->henkan[0]) free(q->henkan); } free(q); } l = l->next = (struct henkanlog *) malloc(sizeof(struct henkanlog)); l->next = p; } else if (log == 2) l = l->next; if (!w) { if (log & 1) l->henkan = ""; else if (log == 2) { unsigned char msg[RK_LINE_BMAX]; unsigned char *ekanji, *ustoeuc(); ustoeuc(store->yomi + bun->nb_yoff, bun->nb_curlen, msg, RK_LINE_BMAX); fprintf(fp, "¥ê¥Æ¥é¥ë %s\n", msg); } } else { henkan = nword2str(cx, w, store->yomi + bun->nb_yoff); if (log & 1) { l->henkan = (char *)malloc(strlen(henkan) + 1); strcpy(l->henkan, henkan); } else if (log == 2) { if (store->blog[i]) { fprintf(fp, "¸íÊÑ´¹ ʸÀáĹÊѹ¹ %s -> %s\n", store->blog[i], henkan); } if (STRCMP(l->henkan, henkan)) fprintf(fp, "¸íÊÑ´¹ %s -> %s\n", l->henkan, henkan); else fprintf(fp, "Àµ²ò %s\n", henkan); } } } fprintf(fp, "\n"); fflush(fp); } #endif static void freeBunStorage(s) struct nstore *s; { if (s) { if (s->yomi) (void)free((char *)(s->yomi-OVERRUN_MARGIN)); if (s->bunq) (void)free((char *)(s->bunq-OVERRUN_MARGIN)); if (s->xq) (void)free((char *)(s->xq-OVERRUN_MARGIN)); if (s->xqh) (void)free((char *)(s->xqh-OVERRUN_MARGIN)); (void)free((char *)s); } } static struct nstore * allocBunStorage(len) unsigned len; { struct nstore *s; s = (struct nstore *)malloc((unsigned)sizeof(struct nstore)); if (s) { Wchar *p, *q, pat; int i; s->yomi = (Wchar *)0; s->bunq = (struct nbun *)0; s->xq = (struct nqueue *)0; s->xqh = (struct nword **)0; s->nyomi = (unsigned)0; s->maxyomi = (unsigned)len; #ifdef RK_LOG s->nblog = 0; s->blog = NULL; s->hlog = &s->dmi; s->dmi.next = NULL; s->dmi.henkan = NULL; #endif s->yomi = (Wchar *)calloc((s->maxyomi+1+2*OVERRUN_MARGIN), sizeof(Wchar)); s->maxbunq = (unsigned)len; s->maxbun = (unsigned)0; s->curbun = 0; s->bunq = (struct nbun *)calloc((unsigned)(s->maxbunq+1+2*OVERRUN_MARGIN), sizeof(struct nbun)); s->maxxq = len; s->xq = (struct nqueue *)calloc((unsigned)(s->maxxq+1+2*OVERRUN_MARGIN), sizeof(struct nqueue)); s->xqh = (struct nword **)calloc((unsigned)(s->maxxq+1+2*OVERRUN_MARGIN), sizeof(struct nword *)); if (!s->yomi || !s->bunq || !s->xq || !s->xqh) { RkSetErrno(RK_ERRNO_ENOMEM); freeBunStorage(s); return (struct nstore *)0; } s->yomi += OVERRUN_MARGIN; s->bunq += OVERRUN_MARGIN; s->xq += OVERRUN_MARGIN; s->xqh += OVERRUN_MARGIN; p = (Wchar*)&s->yomi[0]; q = (Wchar*)&s->yomi[s->maxyomi+1]; for (i = 0; pat = (Wchar)~i, i < OVERRUN_MARGIN; i++) p[-i-1] = q[i] = pat; p = (Wchar*)&s->bunq[0]; q = (Wchar*)&s->bunq[s->maxbunq+1]; for (i = 0; pat = (Wchar)~i, i < OVERRUN_MARGIN; i++) p[-i-1] = q[i] = pat; p = (Wchar*)&s->xq[0]; q = (Wchar*)&s->xq[s->maxxq+1]; for (i = 0; pat = (Wchar)~i, i < OVERRUN_MARGIN; i++) p[-i-1] = q[i] = pat; p = (Wchar*)&s->xqh[0]; q = (Wchar*)&s->xqh[s->maxxq+1]; for (i = 0; pat = (Wchar)~i, i < OVERRUN_MARGIN; i++) p[-i-1] = q[i] = pat; s->word_in_use = 0; }; if (!s) /* EMPTY */RkSetErrno(RK_ERRNO_ENOMEM); return s; } struct nstore * _RkReallocBunStorage(src, len) struct nstore *src; unsigned len; { struct nstore *dst = allocBunStorage(len); if (dst) { int i; if (src->yomi) { for (i = 0; i <= (int)src->maxyomi; i++) dst->yomi[i] = src->yomi[i]; (void)free((char *)(src->yomi-OVERRUN_MARGIN)); }; dst->nyomi = src->nyomi; if (src->bunq) { for (i = 0; i <= (int)src->maxbun; i++) dst->bunq[i] = src->bunq[i]; (void)free((char *)(src->bunq-OVERRUN_MARGIN)); }; dst->maxbun = src->maxbun; dst->curbun = src->curbun; if (src->xq) { for (i = 0; i <= src->maxxq; i++) dst->xq[i] = src->xq[i]; (void)free((char *)(src->xq-OVERRUN_MARGIN)); }; if (src->xqh) { for (i = 0; i <= src->maxxq; i++) dst->xqh[i] = src->xqh[i]; (void)free((char *)(src->xqh-OVERRUN_MARGIN)); }; dst->word_in_use = src->word_in_use; (void)free((char *)src); return(dst); } return((struct nstore *)0); } static struct nbun * getCurrentBun(store) struct nstore *store; { if (store && 0 <= store->curbun && store->curbun < (int)store->maxbun) return &store->bunq[store->curbun]; return (struct nbun *)0; } /* RkBgnBun * renbunsetu henkan wo kaishi surutameno shokisettei wo okonau * reuturns: * # >=0 shoki bunsetsu no kosuu * -1 shoki ka sippai * RK_ERRNO_ECTXNO * RK_ERRNO_EINVAL * RK_ERRNO_ENOMEM */ #ifdef __STDC__ int RkwBgnBun( int cx_num, Wchar *yomi, int n, int kouhomode ) #else int RkwBgnBun(cx_num, yomi, n, kouhomode) int cx_num; Wchar *yomi; int n; int kouhomode; #endif { struct RkContext *cx; unsigned long mask1, mask2; int asset = 0; if (!(cx = RkGetContext(cx_num))) { RkSetErrno(RK_ERRNO_ECTXNO); return(-1); } if (IS_XFERCTX(cx)) { RkSetErrno(0); return(-1); } for (mask1 = (unsigned long) kouhomode, mask2 = 0L; mask1; mask1 >>= RK_XFERBITS) { if ((mask1 & (unsigned long)RK_XFERMASK) == (unsigned long)RK_CTRLHENKAN) { mask1 >>= RK_XFERBITS; asset = 1; break; } mask2 = (mask2 << RK_XFERBITS) | ((unsigned long)RK_XFERMASK); } if (!(cx->store = allocBunStorage((unsigned)n))) { RkSetErrno(RK_ERRNO_ENOMEM); return(-1); } cx->flags |= (unsigned)CTX_XFER; cx->concmode = (RK_CONNECT_WORD | (asset ? ((int)mask1 & ~RK_TANBUN) : (RK_MAKE_KANSUUJI | RK_MAKE_WORD | RK_MAKE_EISUUJI))); cx->kouhomode = ((unsigned long)kouhomode) & mask2; if (yomi) { int i; if (n <= 0) { RkSetErrno(RK_ERRNO_EINVAL); RkwEndBun(cx_num, 0); return(-1); }; for (i = 0; i < n; i++) cx->store->yomi[i] = yomi[i]; cx->store->yomi[n] = 0; cx->store->nyomi = n; cx->store->bunq[0].nb_yoff = 0; i = _RkRenbun2(cx, mask1 & RK_TANBUN ? n : 0); #ifdef RK_LOG { FILE *fp = openLogFile(cx_num); dumpBunq(cx, 0, cx->store->maxbun, 1, fp); fclose(fp); } #endif return(i); } else { cx->concmode |= RK_MAKE_WORD; cx->flags |= (unsigned) CTX_XAUT; if (n < 0) { RkSetErrno(RK_ERRNO_EINVAL); RkwEndBun(cx_num, 0); return(-1); }; return(0); } } /* RkEndBun * bunsetsu henkan wo shuuryou suru * hituyou ni oujite, henkan kekka wo motoni gakushuu wo okonau * * return 0 * -1(RK_ERRNO_ECTX) */ #ifdef __STDC__ int RkwEndBun( int cx_num, int mode ) #else int RkwEndBun(cx_num, mode) int cx_num; int mode; #endif { struct RkContext *cx; struct nstore *store; int i; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store)) { RkSetErrno(RK_ERRNO_ECTXNO); return(-1); } if (mode) { #define DO_LEARN 1 if (mode != DO_LEARN) { RkSetErrno(RK_ERRNO_EINVAL); return -1; }; } #ifdef RK_LOG if (mode) { FILE *fp = openLogFile(cx_num); dumpBunq(cx, 0, store->maxbun, 2, fp); fclose(fp); } #endif for (i = 0; i < (int)store->maxbun; i++) (void)_RkLearnBun(cx, i, mode); if (cx->flags & CTX_XAUT) _RkFreeQue(store, 0, store->maxxq + 1); cx->concmode &= ~(RK_CONNECT_WORD | RK_MAKE_WORD | RK_MAKE_KANSUUJI | RK_MAKE_EISUUJI); _RkEndBun(cx); freeBunStorage(store); return(0); } /* RkRemoveBun * current bunsetu made wo sakujo suru * current bunsetu ha 0 ni naru. */ int RkwRemoveBun pro((int, int)); int RkwRemoveBun(cx_num, mode) int cx_num; int mode; { struct RkContext *cx; struct nstore *store; int i, c; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !IS_XFERCTX(cx) || store->maxbun <= 0) { RkSetErrno(RK_ERRNO_ECTXNO); return -1; } for (i = 0; i <= store->curbun; i++) _RkLearnBun(cx, i, mode); c = store->bunq[store->curbun + 1].nb_yoff; for (i = store->curbun + 1; i <= (int)store->maxbun; i++) { store->bunq[i - store->curbun - 1] = store->bunq[i]; store->bunq[i - store->curbun - 1].nb_yoff -= c; } store->nyomi -= c; usncopy(store->yomi, store->yomi + c, (unsigned)store->nyomi); store->maxbun -= store->curbun + 1; store->curbun = 0; return(store->maxbun); } /* RkSubstYomi * change the contents of hiragana buffer * returns: * # bunsetu */ int RkwSubstYomi pro((int, int, int, Wchar *, int)); RkwSubstYomi(cx_num, ys, ye, yomi, newLen) int cx_num; int ys, ye; Wchar *yomi; int newLen; { struct RkContext *cx; struct nstore *store; struct nbun *bun; if (!(cx = RkGetContext(cx_num))) { RkSetErrno(RK_ERRNO_ECTXNO); return(-1); } if (!(store = cx->store) || !(bun = &store->bunq[store->maxbun]) || !IS_XFERCTX(cx) || !IS_XAUTCTX(cx) || !(0 <= ys && ys <= ye && ye <= (int)(store->nyomi - bun->nb_yoff)) || (newLen < 0)) { RkSetErrno(RK_ERRNO_EINVAL); return -1; } return _RkSubstYomi(cx, ys, ye, yomi, newLen); } /* RkFlushYomi * force to convert the remaining hiragana * returns: * # bunsetu */ int RkwFlushYomi pro((int)); int RkwFlushYomi(cx_num) int cx_num; { struct RkContext *cx; if (!(cx = RkGetContext(cx_num)) || !IS_XFERCTX(cx) || !IS_XAUTCTX(cx)) { RkSetErrno(RK_ERRNO_ECTXNO); return(-1); } return(_RkFlushYomi(cx)); } /* RkResize/RkEnlarge/RkShorten * current bunsetsu no ookisa wo henkou */ int _RkResize(cx_num, len, t) int cx_num; int len; int t; { struct RkContext *cx; struct nbun *bun; struct nstore *store; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !(bun = getCurrentBun(store))) { RkSetErrno(RK_ERRNO_ECTXNO); return(-1); } if (t) len = HowManyChars(store->yomi + store->bunq[store->curbun].nb_yoff, len); if (0 < len && (unsigned)(bun->nb_yoff + len) <= store->nyomi) { bun->nb_flags |= RK_REARRANGED; #ifndef RK_LOG return(_RkRenbun2(cx, len)); #else { int ret_val = _RkRenbun2(cx, len); FILE *fp = openLogFile(cx_num); dumpBunq(cx, store->curbun, store->maxbun, 3, fp); fclose(fp); return ret_val; } #endif } return(store->maxbun); } int RkwResize pro((int, int)); int RkwResize(cx_num, len) int cx_num; int len; { return(_RkResize(cx_num, len, 0)); } #ifdef __STDC__ int RkeResize( int cx_num, int len ) #else int RkeResize(cx_num, len) int cx_num; int len; #endif { return(_RkResize(cx_num, len, 1)); } int RkwEnlarge pro((int)); int RkwEnlarge(cx_num) int cx_num; { struct RkContext *cx; struct nstore *store; struct nbun *bun; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store)|| !(bun = getCurrentBun(store))) { RkSetErrno(RK_ERRNO_ENOMEM); return(0); } if (store->nyomi > (unsigned)(bun->nb_yoff + bun->nb_curlen) && store->yomi[bun->nb_yoff + bun->nb_curlen]) { bun->nb_flags |= RK_REARRANGED; #ifdef RK_LOG { int ret_val = _RkRenbun2(cx, (int)(bun->nb_curlen + 1)); FILE *fp = openLogFile(cx_num); dumpBunq(cx, store->curbun, store->maxbun, 3, fp); fclose(fp); return ret_val; } #else return(_RkRenbun2(cx, (int)(bun->nb_curlen + 1))); #endif } return(store->maxbun); } int RkwShorten pro((int)); int RkwShorten(cx_num) int cx_num; { struct RkContext *cx; struct nstore *store; struct nbun *bun; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !(bun = getCurrentBun(store))) { RkSetErrno(RK_ERRNO_ECTXNO); return 0; } if (bun->nb_curlen > 1) { bun->nb_flags |= RK_REARRANGED; #ifdef RK_LOG { int ret_val = _RkRenbun2(cx, (int)(bun->nb_curlen - 1)); FILE *fp = openLogFile(cx_num); dumpBunq(cx, store->curbun, store->maxbun, 3, fp); fclose(fp); return ret_val; } #else return(_RkRenbun2(cx, (int)(bun->nb_curlen - 1))); #endif } return(store->maxbun); } /* RkStoreYomi * current bunsetu no yomi wo sitei sareta mono to okikaeru * okikaeta noti, saihen kan suru */ int RkwStoreYomi pro((int, Wchar *, int)); int RkwStoreYomi(cx_num, yomi, nlen) int cx_num; Wchar *yomi; int nlen; { unsigned nmax, omax, cp; Wchar *s, *d, *e; int i, olen, diff; struct RkContext *cx; struct nstore *store; struct nbun *bun; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !(bun = getCurrentBun(store))) { RkSetErrno(RK_ERRNO_ECTXNO); return -1; } if ((nlen && !yomi) || nlen < 0 || uslen(yomi) < nlen) { RkSetErrno(RK_ERRNO_EINVAL); return -1; } nmax = store->nyomi + (diff = nlen - (olen = bun->nb_curlen)); omax = store->nyomi; /* nobiru */ if (nlen > olen) { if (!(store = _RkReallocBunStorage(store, store->maxyomi + diff))) { RkSetErrno(RK_ERRNO_ENOMEM); return -1; } cx->store = store; bun = getCurrentBun(store); /* shift yomi */ s = store->yomi + omax; d = store->yomi + nmax; e = store->yomi + bun->nb_yoff + olen; while (s > e) *--d = *--s; } else if (nlen < olen) { /* chizimu */ s = store->yomi + bun->nb_yoff + olen; d = store->yomi + bun->nb_yoff + nlen; e = store->yomi + omax; while (s < e) *d++ = *s++; } store->yomi[nmax] = (Wchar)0; store->nyomi = nmax; for (i = store->curbun + 1; i <= (int)store->maxbun; i++) store->bunq[i].nb_yoff += diff; cp = store->curbun; if (!nlen) { _RkFreeBunq(store); for (i = store->curbun; i < (int)store->maxbun; i++) store->bunq[i] = store->bunq[i + 1]; store->maxbun--; cp = store->curbun; if (cp >= store->maxbun && cp > 0) cp -= 1; } else usncopy((store->yomi + bun->nb_yoff), yomi, (unsigned)nlen); #ifdef RK_LOG { int ret_val = _RkRenbun2(cx, 0); FILE *fp = openLogFile(cx_num); fputs("ÆÉ¤ß¤ÎÃÖ´¹\n", fp); dumpBunq(cx, store->curbun, store->maxbun, 1, fp); fclose(fp); if ((i = ret_val) != -1) store->curbun = cp; return(i); } #else if ((i = _RkRenbun2(cx, 0)) != -1) store->curbun = cp; return(i); #endif } /* RkGoTo/RkLeft/RkRight * current bunsetu no idou */ int RkwGoTo pro((int, int)); int RkwGoTo(cx_num, bnum) int cx_num; int bnum; { struct RkContext *cx; struct nstore *store; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !store->maxbun) { RkSetErrno(RK_ERRNO_ECTXNO); return 0; } if ((0 <= bnum) && (bnum < (int)store->maxbun)) store->curbun = bnum; return(store->curbun); } #ifdef __STDC__ int RkwLeft( int cx_num ) #else int RkwLeft(cx_num) int cx_num; #endif { struct RkContext *cx; struct nstore *store; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !store->maxbun) { RkSetErrno(RK_ERRNO_ECTXNO); return 0; } if (--store->curbun < 0) store->curbun = store->maxbun - 1; return store->curbun; } #ifdef __STDC__ int RkwRight( int cx_num ) #else int RkwRight(cx_num) int cx_num; #endif { struct RkContext *cx; struct nstore *store; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !store->maxbun) { RkSetErrno(RK_ERRNO_ECTXNO); return 0; } if (++store->curbun >= (int)store->maxbun) store->curbun = 0; return(store->curbun); } /* RkXfer/RkNfer/RkNext/RkPrev * current kouho wo henkou */ static int countCand(cx) struct RkContext *cx; { struct nbun *bun; int maxcand = 0; unsigned long mask; bun = getCurrentBun(cx->store); if (bun) { maxcand = bun->nb_maxcand; for (mask = cx->kouhomode; mask; mask >>= RK_XFERBITS) maxcand++; }; return(maxcand); } static int getXFER(cx, cnum) struct RkContext *cx; int cnum; { struct nbun *bun = getCurrentBun(cx->store); cnum -= ((int)bun->nb_maxcand); return(cnum < 0 ? RK_NFER : (cx->kouhomode>>(RK_XFERBITS*cnum))&RK_XFERMASK); } #ifdef __STDC__ int RkwXfer( int cx_num, int knum ) #else int RkwXfer(cx_num, knum) int cx_num; int knum; #endif { struct RkContext *cx; struct nbun *bun; if (!(cx = RkGetXContext(cx_num)) || !(cx->store) || !(bun = getCurrentBun(cx->store))) { RkSetErrno(RK_ERRNO_ECTXNO); return 0; } if (0 <= knum && knum < countCand(cx)) bun->nb_curcand = knum; return(bun->nb_curcand); } #ifdef __STDC__ int RkwNfer( int cx_num ) #else int RkwNfer(cx_num) int cx_num; #endif { struct RkContext *cx; struct nbun *bun; if (!(cx = RkGetXContext(cx_num)) || !(cx->store) || !(bun = getCurrentBun(cx->store))) { RkSetErrno(RK_ERRNO_ECTXNO); return(0); } return(bun->nb_curcand = bun->nb_maxcand); } int RkwNext pro((int)); int RkwNext(cx_num) int cx_num; { struct RkContext *cx; struct nbun *bun; if (!(cx = RkGetXContext(cx_num)) || !(cx->store) || !(bun = getCurrentBun(cx->store))) { RkSetErrno(RK_ERRNO_ECTXNO); return(0); } if (++bun->nb_curcand >= (Wchar)countCand(cx)) bun->nb_curcand = 0; return(bun->nb_curcand); } int RkwPrev pro((int)); int RkwPrev(cx_num) int cx_num; { struct RkContext *cx; struct nbun *bun; if (!(cx = RkGetXContext(cx_num)) || !(cx->store) || !(bun = getCurrentBun(cx->store))) { RkSetErrno(RK_ERRNO_ECTXNO); return(0); } if (!bun->nb_curcand) bun->nb_curcand = countCand(cx); return(--bun->nb_curcand); } /* findBranch * shiteisareta kouho wo fukumu path wo motomeru */ static struct nword * findBranch(store, cnum) struct nstore *store; int cnum; { struct nbun *bun; struct nword *w; if (!(bun = getCurrentBun(store)) || (0 > cnum) || (cnum >= (int)bun->nb_maxcand)) return((struct nword *)0); for (w = bun->nb_cand; w; w = w->nw_next) { if (CanSplitWord(w) && bun->nb_curlen == w->nw_ylen) { if (cnum-- <= 0) return(w); } } return((struct nword *)0); } /* RkGetStat */ #ifdef __STDC__ int RkwGetStat( int cx_num, RkStat *st ) #else int RkwGetStat(cx_num, st) int cx_num; RkStat *st; #endif { struct RkContext *cx; struct nstore *store; struct nbun *bun; struct nword *cw, *lw; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !(bun = getCurrentBun(store)) || !st) { RkSetErrno(RK_ERRNO_ECTXNO); return -1; } /* set up void values */ st->bunnum = st->candnum = st->maxcand = st->diccand = st->ylen = st->klen = st->tlen = 0; st->bunnum = store->curbun; st->candnum = bun->nb_curcand; st->maxcand = countCand(cx); st->diccand = bun->nb_maxcand; st->ylen = bun->nb_curlen; st->klen = bun->nb_curlen; st->tlen = 1; /* look up the word node containing the current candidate */ cw = findBranch(store, (int)bun->nb_curcand); if (cw) { st->klen = st->tlen = 0; for (; cw; cw = cw->nw_left) { if (!(lw = cw->nw_left)) break; if (cw->nw_klen == lw->nw_klen) st->klen += (cw->nw_ylen - lw->nw_ylen); else st->klen += (cw->nw_klen - lw->nw_klen); st->tlen++; } } else { Wchar *yomi = store->yomi + bun->nb_yoff; switch(getXFER(cx, (int)bun->nb_curcand)) { default: case RK_XFER: st->klen = RkwCvtHira((Wchar *)0, 0, yomi, st->ylen); break; case RK_KFER: st->klen = RkwCvtKana((Wchar *)0, 0, yomi, st->ylen); break; case RK_HFER: st->klen = RkwCvtHan((Wchar *)0, 0, yomi, st->ylen); break; case RK_ZFER: st->klen = RkwCvtZen((Wchar *)0, 0, yomi, st->ylen); break; } } return 0; } /* RkGetStat */ #ifdef __STDC__ int RkeGetStat( int cx_num, RkStat *st ) #else int RkeGetStat(cx_num, st) int cx_num; RkStat *st; #endif { struct RkContext *cx; struct nstore *store; Wchar *yomi; int res, klen; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wchar kanji[RK_LEN_WMAX+1]; #else Wchar *kanji = (Wchar *)malloc(sizeof(Wchar) * (RK_LEN_WMAX + 1)); if (!kanji) { return -1; } #endif if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store)) { RkSetErrno(RK_MSG_ECTXNO); res = -1; goto return_res; } yomi = store->yomi + store->bunq[store->curbun].nb_yoff; klen = RkwGetKanji(cx_num, kanji, RK_LEN_WMAX + 1); res = RkwGetStat(cx_num, st); if (res < 0 || klen != st->klen) { res = -1; goto return_res; } if (st) { st->ylen = HowManyBytes(yomi, st->ylen); st->klen = HowManyBytes(kanji, klen); } return_res: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)kanji); #endif return res; } static int addIt pro((struct nword *, Wchar *, int (*proc)(Wchar *, int, int, Wchar *, Wchar *, RkLex *, struct RkContext *), Wchar *dst, int, int, unsigned long, struct RkContext *)); static int addIt(cw, key, proc, dst, ind, maxdst, mode, cx) struct nword *cw; Wchar *key; int (*proc) pro((Wchar *, int, int, Wchar *, Wchar *, RkLex *, struct RkContext *)); Wchar *dst; int ind; int maxdst; unsigned long mode; struct RkContext *cx; { struct nword *lw; Wchar *y, *_RkGetKanji(); RkLex lex; lw = cw->nw_left; if (lw) { ind = addIt(lw, key, proc, dst, ind, maxdst, mode, cx); y = key + lw->nw_ylen; lex.ylen = cw->nw_ylen - lw->nw_ylen; lex.klen = cw->nw_klen - lw->nw_klen; lex.rownum = cw->nw_rowcol; #ifdef NEED_DEF lex.colnum = cw->nw_rowcol; #endif lex.dicnum = cw->nw_class; ind = (*proc)(dst, ind, maxdst, y, _RkGetKanji(cw, y, mode), &lex, cx); } return ind; } static int getIt(cx, cnum, proc, dst, max) struct RkContext *cx; int cnum; int (*proc) pro((Wchar *, int, int, Wchar *, Wchar *, RkLex *, struct RkContext *)); Wchar *dst; int max; { struct nstore *store = cx->store; struct nbun *bun; struct nword *w; if (!(bun = getCurrentBun(store)) || !(w = findBranch(store, cnum))) return(-1); return addIt(w, store->yomi + bun->nb_yoff, proc, dst, 0, max, (unsigned long)cx->concmode, cx); } /*ARGSUSED*/ static int addYomi(dst, ind, max, yomi, kanji, lex) Wchar *dst; int ind; int max; Wchar *yomi; Wchar *kanji; RkLex *lex; { int ylen; ylen = lex->ylen; while (ylen--) { if (ind < max) { if (dst) dst[ind] = *yomi++; ind++; } } return ind; } /* RkGetYomi * current bunsetu no yomi wo toru */ int RkwGetYomi pro((int, Wchar *, int)); int RkwGetYomi(cx_num, yomi, maxyomi) int cx_num; Wchar *yomi; int maxyomi; { struct RkContext *cx; struct nbun *bun; RkLex lex; int i; struct nstore *store; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !(bun = getCurrentBun(store))) { RkSetErrno(RK_ERRNO_ECTXNO); return -1; }; if (!yomi) { RkSetErrno(RK_ERRNO_EINVAL); return -1; }; lex.ylen = bun->nb_curlen; i = addYomi(yomi, 0, maxyomi - 1, store->yomi + bun->nb_yoff, store->yomi+bun->nb_yoff, &lex); if (yomi && i < maxyomi) yomi[i] = (Wchar)0; return i; } int RkwGetLastYomi pro((int, Wchar *, int)); int RkwGetLastYomi(cx_num, yomi, maxyomi) int cx_num; Wchar *yomi; int maxyomi; { struct RkContext *cx; struct nbun *bun; struct nstore *store; int nyomi; if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store) || !(bun = &store->bunq[store->maxbun])) { RkSetErrno(RK_ERRNO_ECTXNO); return -1; } if (!(cx->flags & CTX_XAUT) || maxyomi < 0) { RkSetErrno(RK_ERRNO_EINVAL); return -1; } nyomi = store->nyomi - bun->nb_yoff; if (yomi) { usncopy(yomi, store->yomi + bun->nb_yoff, (unsigned)(maxyomi)); if (nyomi + 1 < maxyomi) { yomi[nyomi] = (Wchar)0; } else { yomi[maxyomi - 1] = (Wchar)0; }; } return nyomi; } /*ARGSUSED*/ static int addKanji(dst, ind, max, yomi, kanji, lex, cx) Wchar *dst; int ind; int max; Wchar *yomi; Wchar *kanji; RkLex *lex; struct RkContext *cx; /* ARGSUSED */ { int klen; klen = lex->klen; while (klen-- > 0) { if (ind < max) { if (dst) dst[ind] = *kanji++; ind++; } } return ind; } static int getKanji(cx, cnum, dst, maxdst) struct RkContext *cx; int cnum; Wchar *dst; int maxdst; { struct nbun *bun = getCurrentBun(cx->store); Wchar *yomi; int i, ylen; i = getIt(cx, cnum, addKanji, dst, maxdst - 1); if (i < 0) { yomi = cx->store->yomi + bun->nb_yoff; ylen = bun->nb_curlen; switch(getXFER(cx, cnum)) { default: case RK_XFER: i = RkwCvtHira(dst, maxdst, yomi, ylen); break; case RK_KFER: i = RkwCvtKana(dst, maxdst, yomi, ylen); break; case RK_HFER: i = RkwCvtHan(dst, maxdst, yomi, ylen); break; case RK_ZFER: i = RkwCvtZen(dst, maxdst, yomi, ylen); break; } } if (dst && i < maxdst) dst[i] = (Wchar)0; return i; } /* RkGetKanji * current bunsetu no kanji tuduri wo toru */ int RkwGetKanji pro((int, Wchar *, int)); int RkwGetKanji(cx_num, dst, maxdst) int cx_num; Wchar *dst; int maxdst; { RkContext *cx; struct nbun *bun; int i; if (!(cx = RkGetXContext(cx_num)) || !(cx->store) || !(bun = getCurrentBun(cx->store))) { RkSetErrno(RK_ERRNO_ECTXNO); return -1; } i = getKanji(cx, (int)bun->nb_curcand, dst, maxdst); if (dst && i < maxdst) dst[i] = 0; return i; } /* RkGetKanjiList * genzai sentaku sareta kouho mojiretu wo toridasu */ #ifdef __STDC__ int RkwGetKanjiList( int cx_num, Wchar *dst, int maxdst ) #else int RkwGetKanjiList(cx_num, dst, maxdst) int cx_num; Wchar *dst; int maxdst; #endif { struct RkContext *cx; int i, len, ind = 0, num = 0; int maxcand; if (!(cx = RkGetXContext(cx_num)) || !(cx->store)) { RkSetErrno(RK_ERRNO_ECTXNO); return -1; } maxcand = countCand(cx); for (i = 0; i < maxcand; i++) { if (dst) len = getKanji(cx, i, dst + ind, maxdst - ind - 1); else len = getKanji(cx, i, dst, maxdst - ind - 1); if (0 < len && ind + len + 1 < maxdst - 1) { if (dst) dst[ind + len] = (Wchar)0; ind += len + 1; num++; } } if (dst && ind < maxdst) dst[ind] = (Wchar)0; return num; } /* RkGetLex * current bunsetu no hishi jouhou wo toru */ /*ARGSUSED*/ static int addLex(dst, ind, max, yomi, kanji, lex, cx) RkLex *dst; int ind; int max; Wchar *yomi; Wchar *kanji; RkLex *lex; struct RkContext *cx; /* ARGSUSED */ { if (ind + 1 <= max) { if (dst) dst[ind] = *lex; ind++; } return ind; } #ifdef __STDC__ int RkwGetLex( int cx_num, RkLex *dst, int maxdst ) #else int RkwGetLex(cx_num, dst, maxdst) int cx_num; RkLex *dst; int maxdst; #endif { RkContext *cx; struct nbun *bun; int i; if (!(cx = RkGetXContext(cx_num)) || !(cx->store) || !(bun = getCurrentBun(cx->store))) { RkSetErrno(RK_ERRNO_ECTXNO); return -1; } i = getIt(cx, (int)bun->nb_curcand, addLex, (Wchar *)dst, maxdst - 1); if (i < 0) { if (dst && 1 < maxdst) { dst[0].ylen = bun->nb_curlen; dst[0].klen = bun->nb_curlen; dst[0].rownum = cx->gram->P_BB; /* ʸÀá */ dst[0].colnum = cx->gram->P_BB; /* ʸÀá */ dst[0].dicnum = ND_EMP; } i = 1; } return i; } /* RkeGetLex -- ¤Û¤Ü RkwGetLex ¤ÈƱ¤¸¤À¤¬Ä¹¤µ¤Ï¥Ð¥¤¥ÈŤÇÊÖ¤ë */ #ifdef __STDC__ int RkeGetLex( int cx_num, RkLex *dst, int maxdst ) #else int RkeGetLex(cx_num, dst, maxdst) int cx_num; RkLex *dst; int maxdst; #endif { struct RkContext *cx; struct nstore *store; Wchar *yomi, *kp; int nwords, i; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wchar kanji[RK_LEN_WMAX+1]; #else Wchar *kanji = (Wchar *)malloc(sizeof(Wchar) * (RK_LEN_WMAX + 1)); if (!kanji) { return -1; } #endif if (!(cx = RkGetXContext(cx_num)) || !(store = cx->store)) { RkSetErrno(RK_MSG_ECTXNO); nwords = -1; goto return_nwords; } yomi = store->yomi + store->bunq[store->curbun].nb_yoff; (void)RkwGetKanji(cx_num, kanji, RK_LEN_WMAX + 1); kp = kanji; nwords = RkwGetLex(cx_num, dst, maxdst); if (dst) { for (i = 0; i < nwords; i++) { int tmp; tmp = dst[i].ylen; dst[i].ylen = HowManyBytes(yomi, tmp); yomi += tmp; tmp = dst[i].klen; dst[i].klen = HowManyBytes(kp, tmp); kp += tmp; } } return_nwords: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)kanji); #endif return nwords; } /*ARGSUSED*/ static int addHinshi(dst, ind, max, yomi, kanji, lex, cx) Wchar *dst; int ind; int max; Wchar *yomi; Wchar *kanji; RkLex *lex; struct RkContext *cx; { int bytes; Wchar *p; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wchar hinshi[256]; #else Wchar *hinshi = (Wchar *)malloc(sizeof(Wchar) * 256); if (!hinshi) { return ind; } #endif if (cx) { p = RkUparseGramNum(cx->gram->gramdic, lex->rownum, hinshi, 256); if (p) { bytes = p - hinshi; if (ind + bytes < max) { if (dst) usncopy(dst + ind, hinshi, bytes); ind += bytes; } } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)hinshi); #endif return ind; } /* RkGetHinshi * current bunsetu no hinshi mojiretu wo toru */ int RkwGetHinshi pro((int, Wchar *, int)); int RkwGetHinshi(cx_num, dst, maxdst) int cx_num; Wchar *dst; int maxdst; { struct RkContext *cx; struct nbun *bun; int i; if (!(cx = RkGetXContext(cx_num)) || !(cx->store) || !(bun = getCurrentBun(cx->store))) { RkSetErrno(RK_ERRNO_ECTXNO); return(-1); } i = getIt(cx, (int)bun->nb_curcand, addHinshi, dst, maxdst - 1); if (i < 0) { if (dst && 1 < maxdst) dst[0] = (Wchar)0; i = 1; } return(i); } #include #include #define CloseContext(a) {if ((a) != cx_num) RkwCloseContext(a);} int #ifdef __STDC__ RkwQueryDic( int cx_num, char *dirname, char *dicname, struct DicInfo *status ) #else RkwQueryDic(cx_num, dirname, dicname, status) int cx_num; char *dirname; char *dicname; struct DicInfo *status; #endif { struct RkContext *cx; int new_cx_num, size; unsigned char *buff; char *file; struct DM *dm; struct DF *df; struct stat st; if (!(cx = RkGetContext(cx_num)) || !status || !dirname || !dicname || !dicname[0]) return(-1); size = strlen(dicname) + 1; if (!(buff = (unsigned char *)malloc(size))) return(-1); (void)strcpy((char *)buff, dicname); if (*dirname && strcmp(dirname, cx->ddpath[0]->dd_name) && strcmp(dirname, (char *)SYSTEM_DDHOME_NAME)) { if((new_cx_num = RkwCreateContext()) < 0) { (void)free((char *)buff); return BADCONT; } if(RkwSetDicPath(new_cx_num, dirname) < 0) { CloseContext(new_cx_num); (void)free((char *)buff); return NOTALC; } if (!(cx = RkGetContext(new_cx_num))) { (void)free((char *)buff); return(-1); } } else { if (!strcmp(dirname, (char *)SYSTEM_DDHOME_NAME)) dirname = SYSTEM_DDHOME_NAME; else dirname = cx->ddpath[0]->dd_name; new_cx_num = cx_num; } if (!strcmp(dirname, (char *)SYSTEM_DDHOME_NAME)) { if (!(dm = _RkSearchDDP(cx->ddpath, dicname))) { CloseContext(new_cx_num); (void)free((char *)buff); return NOENT; } } else { if (!(dm = _RkSearchUDDP(cx->ddpath, dicname))) { CloseContext(new_cx_num); (void)free((char *)buff); return NOENT; } } df = dm->dm_file; if (df) { file = _RkCreatePath(df->df_direct, df->df_link); if (file) { status->di_dic = (unsigned char *)dm->dm_nickname; status->di_file = (unsigned char *)df->df_link; status->di_form = (DM2TYPE(dm) == DF_TEMPDIC) ? RK_TXT : RK_BIN; status->di_kind = dm->dm_class; status->di_count = stat(file, &st) >= 0 ? st.st_size : 0; status->di_time = stat(file, &st) >= 0 ? st.st_ctime : 0; status->di_mode = 0; CloseContext(new_cx_num); free((char *)file); free((char *)buff); return(0); } } free((char *)buff); CloseContext(new_cx_num); return(-1); } #define DL_SIZE 1024 int _RkwSync(cx, dicname) struct RkContext *cx; char *dicname; { struct DM *dm, *qm; dm = _RkSearchDicWithFreq(cx->ddpath, dicname, &qm); if (dm) return(DST_SYNC(cx, dm, qm)); else return (-1); } int RkwSync(cx_num, dicname) int cx_num; char *dicname; { struct RkContext *cx; int ret = -1; if (!(cx = RkGetContext(cx_num))) return (-1); if (!dicname || !*dicname) { int i, rv; char *p; #ifndef USE_MALLOC_FOR_BIG_ARRAY char diclist[DL_SIZE]; #else char *diclist = malloc(DL_SIZE); if (!diclist) { return -1; } #endif if (!(i = RkwGetDicList(cx_num, diclist, DL_SIZE))) { ret = 0; } else { if (i > 0) { for (p = diclist, rv = 0; *p;) { rv += _RkwSync(cx, p); p += strlen(p) + 1; } if (!rv) { ret = 0; goto return_ret; } } ret = -1; } return_ret:; #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)diclist); #endif } else { ret = _RkwSync(cx, dicname); } return ret; } /*ARGSUSED*/ RkwGetSimpleKanji(cxnum, dicname, yomi, maxyomi, kanjis, maxkanjis, hinshis, maxhinshis) int cxnum, maxyomi, maxkanjis, maxhinshis; char *dicname; Wchar *yomi, *kanjis, *hinshis; { return -1; } /*ARGSUSED*/ int RkwStoreRange(cx_num, yomi, maxyomi) int cx_num; Wchar *yomi; int maxyomi; { return(0); } /*ARGSUSED*/ int RkwSetLocale(cx_num, locale) int cx_num; unsigned char *locale; { return(0); } Canna37p3/lib/RK/context.c0100644000076500001200000005327207732020154014570 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="$Id: context.c,v 1.5 2003/09/17 08:50:52 aida_s Exp $"; #endif /*LINTLIBRARY*/ #include "RKintern.h" #include "patchlevel.h" #include #include static unsigned long now_context = 0L; #define Calloc calloc #define cx_gwt cx_extdata.ptr #define STRCMP(d, s) strcmp((char *)(d), (char *)(s)) struct RkGram SG; struct RkParam SX; /* RkInitialize: Renbunsetsu Henkan shokika * subeteno Renbunsetsu henkan kannsuu wo siyou suru maeni * itido dake call suru koto. * returns: -1/0 */ static struct RkContext *CX; #ifdef MMAP /* If you compile with Visual C++, then please comment out the next 3 lines. */ #include /* mmap */ #include /* mmap */ #include /* mmap */ int fd_dic = -1; /* mmap */ #endif #ifdef WINDOWS_STYLE_FILENAME #define DEFAULTGRAMDIC "/canna/fuzokugo.cbd" #endif #ifndef DEFAULTGRAMDIC #define DEFAULTGRAMDIC "/canna/fuzokugo.d" #endif static int _RkInitialize(ddhome, numCache) char *ddhome; int numCache; { int i = strlen(ddhome); struct RkParam *sx = &SX; struct DD *dd = &sx->dd; char *gramdic, *path; int con; #ifdef __EMX__ struct stat statbuf; #endif #ifdef MMAP if((fd_dic == -1) && (fd_dic = open("/dev/zero", O_RDWR)) < 0) { con = -1; goto return_con; } #endif if (sx->flag & SX_INITED) { con = -1; goto return_con; } gramdic = malloc(strlen(DEFAULTGRAMDIC) + i + 1); if (gramdic) { strcpy(gramdic, ddhome); strcat(gramdic, DEFAULTGRAMDIC); SG.gramdic = RkOpenGram(gramdic); (void)free(gramdic); if (SG.gramdic) { /* confirm user/ and group/ directory */ path = malloc(strlen(ddhome) + strlen(USER_DIC_DIR) + 2); if (path) { strcpy(path, ddhome); strcat(path, "/"); strcat(path, USER_DIC_DIR); if (mkdir(path, MKDIR_MODE) < 0 && errno != EEXIST) { free(path); } else { free(path); path = malloc(strlen(ddhome) + strlen(GROUP_DIC_DIR) + 2); if (path) { strcpy(path, ddhome); strcat(path, "/"); strcat(path, GROUP_DIC_DIR); if (mkdir(path, MKDIR_MODE) < 0 && errno != EEXIST) { free(path); } else { free(path); sx->word = (struct nword *)0; dd->dd_next = dd->dd_prev = dd; sx->ddhome = allocStr(ddhome); if (sx->ddhome) { SG.P_BB = RkGetGramNum(SG.gramdic, "BB"); SG.P_NN = RkGetGramNum(SG.gramdic, "NN"); SG.P_T00 = RkGetGramNum(SG.gramdic, "T00"); SG.P_T30 = RkGetGramNum(SG.gramdic, "T30"); SG.P_T35 = RkGetGramNum(SG.gramdic, "T35"); #ifdef LOGIC_HACK SG.P_KJ = RkGetGramNum(SG.gramdic, "KJ"); #endif SG.P_Ftte = RkGetGramNum(SG.gramdic, "Ftte"); CX = (struct RkContext *) Calloc(INIT_CONTEXT, sizeof(struct RkContext)); if (CX) { now_context += INIT_CONTEXT; if (_RkInitializeCache(numCache) == 0) { sx->ddpath = _RkCreateDDP(SYSTEM_DDHOME_NAME); if (sx->ddpath) { con = RkwCreateContext(); if (con >= 0) { sx->flag |= SX_INITED; goto return_con; } _RkFreeDDP(sx->ddpath); sx->ddpath = (struct DD **)0; } _RkFinalizeCache(); } free((char *)CX); now_context = 0L; } free(sx->ddhome); } } } } } RkCloseGram(SG.gramdic); } } con = -1; return_con: return con; } int RkwInitialize(ddhome) char *ddhome; { /* * Word: ???? * Cache: 36B*512 = 20KB * Heap: 30*1024B = 30KB */ return(ddhome ? _RkInitialize(ddhome, 512*10) : -1); } /* RkFinalize: Renbunsetu henkan shuuryou shori * */ static void _RkFinalizeWord() /* finalize free word list */ { struct nword *w, *t; /* dispose each page in list */ for (w = SX.page; w; w = t) { t = w->nw_next; (void)free((char *)w); } SX.word = (struct nword *)0; SX.page = (struct nword *)0; SX.word_in_use = 0; SX.page_in_use = 0; } void RkwFinalize() { struct RkParam *sx = &SX; int i; /* already initialized */ if (!(sx->flag & SX_INITED)) return; /* houchi sareta context wo close */ for(i = 0; (unsigned long)i < now_context; i++) if (IS_LIVECTX(&CX[i])) RkwCloseContext(i); (void)free((char *)CX); now_context = 0L; /* sonohoka no shuuryou shori */ _RkFinalizeWord(); _RkFinalizeCache(); (void)free((char *)sx->ddhome); sx->ddhome = (char *)0; _RkFreeDDP(sx->ddpath); RkCloseGram(SG.gramdic); sx->flag &= ~SX_INITED; #ifdef MMAP close(fd_dic); fd_dic = -1; #endif return; } /* RkGetSystem: System heno pointer wo motomeru */ struct RkParam * RkGetSystem() { return(&SX); } /* RkGetSystemDD: System heno pointer wo motomeru */ struct DD * RkGetSystemDD() { struct RkParam *sx; return(((sx = RkGetSystem()) && sx->ddpath) ? sx->ddpath[0] : (struct DD *)0); } /* RkGetContext: Context heno pointer wo motomeru * -> RKintern.h */ struct RkContext * RkGetContext(cx_num) int cx_num; { return(IsLiveCxNum(cx_num) ? &CX[cx_num] : (struct RkContext *)0); } struct RkContext * RkGetXContext(cx_num) int cx_num; { struct RkContext *cx; cx = RkGetContext(cx_num); if (cx) if (!IS_XFERCTX(cx)) cx = (struct RkContext *)0; return(cx); } void _RkEndBun(cx) struct RkContext *cx; { struct DD **ddp = cx->ddpath; int c; cx->flags &= ~(CTX_XFER|CTX_XAUT); cx->concmode &= ~(RK_CONNECT_WORD | RK_MAKE_WORD | RK_MAKE_KANSUUJI | RK_MAKE_EISUUJI); for (c = 0; c < 4; c++) { struct MD *head, *md, *nd; head = cx->md[c]; for (md = head->md_next; md != head; md = nd) { struct DM *dm = md->md_dic; struct DF *df = dm->dm_file; struct DD *dd = df->df_direct; nd = md->md_next; if (md->md_flags & MD_MPEND) /* release pending */ md->md_flags &= ~MD_MPEND; if (md->md_flags & MD_UPEND) /* unmount pending */ _RkUmountMD(cx, md); else if (!_RkIsInDDP(ddp, dd)) /* unreachable */ _RkUmountMD(cx, md); }; }; } /* RkSetDicPath * */ int RkwSetDicPath(cx_num, path) int cx_num; char *path; { struct RkContext *cx = RkGetContext(cx_num); struct DD **new; new = _RkCreateDDP(path); if (new) { _RkFreeDDP(cx->ddpath); cx->ddpath = new; return(0); }; return(-1); } /* fillContext -- ¥³¥ó¥Æ¥¯¥¹¥È¹½Â¤ÂΤηè¤Þ¤Ã¤¿¤È¤³¤í¤ËÃͤòËä¤á¤Æ¤ä¤ë¡£ return value: 0 OK -1 ¥À¥á */ static int fillContext(cx_num) int cx_num; { struct RkContext *cx = &CX[cx_num]; int i; /* create mount list headers */ for (i = 0; i < 4; i++) { struct MD *mh; if (!(mh = (struct MD *)Calloc(1, sizeof(struct MD)))) { int j; for (j = 0 ; j < i; j++) { free((char *)cx->md[i]); } return -1; } mh->md_next = mh->md_prev = mh; mh->md_dic = (struct DM *)0; mh->md_flags = 0; cx->md[i] = mh; } cx->dmprev = (struct DM *)0; cx->qmprev = (struct DM *)0; cx->nv = (struct NV *)0; cx->ddpath = (struct DD **)0; cx->kouhomode = (unsigned long)0; cx->concmode = 0; cx->litmode = (unsigned long *)Calloc(MAXLIT, sizeof(unsigned long)); cx->gram = &SG; if (cx->litmode) { for (i = 0; i < MAXLIT; i++) { cx->litmode[i] = 0x87654321; } cx->poss_cont = 0; #ifdef EXTENSION_NEW cx->cx_gwt = (pointer)Calloc(1, sizeof(struct _rec)); if (cx->cx_gwt) { struct _rec *gwt = (struct _rec *)cx->cx_gwt; gwt->gwt_cx = -1; /* means no GetWordTextdic context is available */ gwt->gwt_dicname = (unsigned char *)0; cx->flags = CTX_LIVE | CTX_NODIC; return 0; } free((char *)cx->litmode); #else cx->flags = CTX_LIVE | CTX_NODIC; return 0; #endif } return -1; } int RkwCreateContext() { int cx_num, i; struct RkContext *newcx; /* saisho no aki context wo mitsukeru */ for(cx_num = 0; cx_num < (int)now_context; cx_num++) { if(!CX[cx_num].flags) { /* create mount list headers */ if (fillContext(cx_num) == 0) { return cx_num; } } } newcx = (RkContext *)realloc(CX, (size_t) sizeof(RkContext) * (now_context+ADD_CONTEXT)); if (newcx) { CX = newcx; for (i = now_context ; i < (int)now_context + ADD_CONTEXT ; i++) { CX[i].flags = (unsigned)0; } cx_num = now_context; now_context += ADD_CONTEXT; if (fillContext(cx_num) == 0) { return cx_num; } } return(-1); } int RkwCloseContext(cx_num) int cx_num; { struct RkContext *cx; int i; if (!(cx = RkGetContext(cx_num))) return(-1); /* terminate bunsetu henkan */ if (IS_XFERCTX(cx)) RkwEndBun(cx_num, 0); _RkFreeDDP(cx->ddpath); cx->ddpath = (struct DD **)0; /* subete no jisho wo MD suru */ for (i = 0; i < 4; i++) { struct MD *mh, *m, *n; /* destroy mount list */ mh = cx->md[i]; if (mh) { for (m = mh->md_next; m != mh; m = n) { n = m->md_next; (void)_RkUmountMD(cx, m); }; (void)free((char *)mh); cx->md[i] = (struct MD *)0; }; }; cx->dmprev = (struct DM *)0; cx->qmprev = (struct DM *)0; /* convertion table */ if (cx->litmode) { (void)free((char *)cx->litmode); cx->litmode = (unsigned long *)0; } cx->flags = 0; /* free grammatical dictionary */ cx->gram->refcount--; if (cx->gram->refcount == 0 && cx->gram != &SG) { RkCloseGram(cx->gram->gramdic); free((char *)cx->gram); } cx->gram = (struct RkGram *)0; #ifdef EXTENSION_NEW if (cx->cx_gwt) { struct _rec *gwt = (struct _rec *)cx->cx_gwt; if (gwt) { (void)RkwCloseContext(gwt->gwt_cx); if (gwt->gwt_dicname) (void)free((char *)gwt->gwt_dicname); (void)free((char *)gwt); }; cx->cx_gwt = (pointer)0; }; freeTdn(cx); #endif return 0; } /* RkDuplicateContext * onaji naiyou no context wo sakuseisuru */ int RkwDuplicateContext pro((int)); int RkwDuplicateContext(cx_num) int cx_num; { struct RkContext *sx; int dup = -1; dup = RkwCreateContext(); if (dup >= 0) { int i; struct RkContext *dx; sx = RkGetContext(cx_num); if (sx) { dx = RkGetContext(dup); /* use the same grammatical information */ dx->gram = sx->gram; dx->gram->refcount++; if (!(sx->flags & CTX_NODIC)) { dx->flags &= ~CTX_NODIC; } /* copy the mount list */ for (i = 0; i < 4; i++) { struct MD *mh, *md; /* should mount dictionaries in reverse order */ mh = sx->md[i]; for (md = mh->md_prev; md != mh; md = md->md_prev) (void)_RkMountMD(dx, md->md_dic, md->md_freq, md->md_flags & MD_WRITE, 0); }; dx->ddpath = _RkCopyDDP(sx->ddpath); if (sx->litmode && dx->litmode) for (i = 0; i < MAXLIT; i++) dx->litmode[i] = sx->litmode[i]; } else { RkwCloseContext(dup); return -1; } } return(dup); } /* RkMountDic: append the specified dictionary at the end of the mount list */ int RkwMountDic(cx_num, name, mode) int cx_num; /* context specified */ char *name; /* the name of dictonary */ int mode; /* mount mode */ { struct RkContext *cx; int firsttime; if (!name) return(-1); cx = RkGetContext(cx_num); if (cx) { struct DM *dm, *qm; firsttime = (cx->flags & CTX_NODIC) ? 1 : 0; if (firsttime) { /* ºÇ½é¤Ë¥Þ¥¦¥ó¥È*¤·¤è¤¦¤È*¤·¤¿¤é¹ß¤í¤¹ */ cx->flags &= ~CTX_NODIC; } dm = _RkSearchDicWithFreq(cx->ddpath, name, &qm); if (dm) { struct MD *mh = cx->md[dm->dm_class]; struct MD *md, *nd; int count = 0; /* search the dictionary */ for (md = mh->md_next; md != mh; md = nd) { nd = md->md_next; if (md->md_dic == dm) { /* already mounted */ /* cancel the previous unmount */ if (md->md_flags & MD_UPEND) md->md_flags &= ~MD_UPEND; count++; }; }; if (!count) { return _RkMountMD(cx, dm, qm, mode, firsttime); } } } return(-1); } /* RkUnmountDic: removes the specified dictionary from the mount list */ int RkwUnmountDic(cx_num, name) int cx_num; char *name; { struct RkContext *cx; int i; if (!name) return(-1); cx = RkGetContext(cx_num); if (cx) { for (i = 0; i < 4; i++) { struct MD *mh = cx->md[i]; struct MD *md, *nd; for (md = mh->md_next; md != mh; md = nd) { struct DM *dm = md->md_dic; char *ename; ename = md->md_freq ? md->md_freq->dm_nickname : dm->dm_nickname; nd = md->md_next; if (!STRCMP(ename, name)) { _RkUmountMD(cx, md); } } } return(0); } return(-1); } /* RkRemountDic: relocate the specified dictionary among the mount list */ int RkwRemountDic(cx_num, name, mode) int cx_num; /* context specified */ char *name; /* the name of dictonary */ int mode; /* mount mode */ { struct RkContext *cx; int i, isfound = 0; char *ename; if (!name) return(-1); cx = RkGetContext(cx_num); if (cx) { for (i = 0; i < 4; i++) { struct MD *mh = cx->md[i]; struct MD *md, *pd; /* do in reverse order */ for (md = mh->md_prev; md != mh; md = pd) { struct DM *dm = md->md_dic; ename = md->md_freq ? md->md_freq->dm_nickname : dm->dm_nickname; pd = md->md_prev; if (!STRCMP(ename, name)) { /* remove from mount list */ md->md_prev->md_next = md->md_next; md->md_next->md_prev = md->md_prev; /* insert according to the mode */ if (!mode) { /* sentou he */ md->md_next = mh->md_next; md->md_prev = mh; mh->md_next->md_prev = md; mh->md_next = md; } else { /* saigo he */ md->md_next = mh; md->md_prev = mh->md_prev; mh->md_prev->md_next = md; mh->md_prev = md; }; isfound++; }; }; }; if (isfound) return(0); }; return(-1); } /* RkGetDicList: collects the names of the mounted dictionaies */ int RkwGetMountList(cx_num, mdname, maxmdname) int cx_num; char *mdname; int maxmdname; { struct RkContext *cx; struct MD *mh, *md; int p, i, j; int count = -1; cx = RkGetContext(cx_num); if (cx) { i = count = 0; for (p = 0; p < 4; p++) { mh = cx->md[p]; for (md = mh->md_next; md != mh; md = md->md_next) { struct DM *dm = md->md_dic; char *name; if (md->md_flags & (MD_MPEND|MD_UPEND)) { continue; }; name = md->md_freq ? md->md_freq->dm_nickname : dm->dm_nickname; j = i + strlen(name) + 1; if (j + 1 < maxmdname) { if (mdname) { (void)strcpy(mdname + i, name); } i = j; count++; }; }; }; if (i + 1 < maxmdname && mdname) mdname[i++] = (char)0; }; return(count); } /* RkGetDicList: collects the names of dictionary */ struct dics { char *nickname, *dicname; int dictype; }; static int diccmp pro((const struct dics *, const struct dics *)); static int diccmp(a, b) const struct dics *a, *b; { int res; res = strcmp(a->nickname, b->nickname); if (res == 0) { res = strcmp(a->dicname, b->dicname); if (res == 0) { if (a->dictype == b->dictype) { res = 0; } else if (a->dictype == DF_FREQDIC) { res = -1; } else if (b->dictype == DF_FREQDIC) { res = 1; } else if (a->dictype == DF_PERMDIC) { res = -1; } else if (b->dictype == DF_PERMDIC) { res = 1; } else { res = 0; } } } return res; } int RkwGetDicList(cx_num, mdname, maxmdname) int cx_num; char *mdname; int maxmdname; { struct RkContext *cx; struct DD **ddp, *dd; struct DF *df, *fh; struct DM *dm, *mh; int i, j, k, n; int count = -1; struct dics *diclist; /* ¤Þ¤º¿ô¤ò¿ô¤¨¤ë */ if ((cx = RkGetContext(cx_num)) && (ddp = cx->ddpath)) { count = 0; for (i = 0; (dd = ddp[i]) != (struct DD *)0 ; i++) { fh = &dd->dd_files; for (df = fh->df_next; df != fh; df = df->df_next) { mh = &df->df_members; for (dm = mh->dm_next; dm != mh; dm = dm->dm_next) { count++; } } } /* ¼­½ñ¥ê¥¹¥È¤ÎÇÛÎó¤ò malloc ¤¹¤ë */ diclist = (struct dics *)malloc(count * sizeof(struct dics)); if (diclist) { struct dics *dicp = diclist, *prevdicp = (struct dics *)0; for (i = 0 ; (dd = ddp[i]) != (struct DD *)0 ; i++) { fh = &dd->dd_files; for (df = fh->df_next; df != fh; df = df->df_next) { mh = &df->df_members; for (dm = mh->dm_next; dm != mh; dm = dm->dm_next) { dicp->nickname = dm->dm_nickname; dicp->dicname = dm->dm_dicname; dicp->dictype = df->df_type; dicp++; } } } qsort(diclist, count, sizeof(struct dics), (int (*) pro((const void *, const void *)))diccmp); n = count; for (i = j = 0, dicp = diclist ; i < n ; i++, dicp++) { if (prevdicp && !strcmp(prevdicp->nickname, dicp->nickname)) { /* prev ¤Èº£¤Î¼­½ñ¤È¤Ç nickname ¤¬°ìÃפ·¤Æ¤¤¤ë¾ì¹ç */ count--; } else { k = j + strlen(dicp->nickname) + 1; if (k + 1 < maxmdname) { if (mdname) { (void)strcpy(mdname + j, dicp->nickname); j = k; } } prevdicp = dicp; } } if (j + 1 < maxmdname && mdname) { mdname[j++] = 0; } free((char *)diclist); } else { count = -1; /* ¤ä¤Ã¤Ñ¤êÀµ³Î¤Ê¿ô¤¬Ê¬¤«¤é¤Ê¤«¤Ã¤¿ */ } } return(count); } /* RkGetDirList: collects the names of directories */ int RkwGetDirList(cx_num, ddname, maxddname) int cx_num; char *ddname; int maxddname; { struct RkContext *cx; struct DD **ddp, *dd; int p, i, j; int count = -1; if ((cx = RkGetContext(cx_num)) && (ddp = cx->ddpath)) { i = count = 0; for (p = 0; (dd = ddp[p]) != (struct DD *)0 ; p++) { j = i + strlen(dd->dd_name) + 1; if (j + 1 < maxddname) { if (ddname) (void)strcpy(ddname + i, dd->dd_name); i = j; count++; }; }; if (i + 1 < maxddname && ddname) ddname[i++] = (char)0; }; return(count); } /* RkDefineDic * mount the dictionary onto the specified context. */ int RkwDefineDic(cx_num, name, word) int cx_num; char *name; Wchar *word; { struct RkContext *cx; int i; if ((cx = RkGetContext(cx_num)) && word && name) { char *prevname = (char *)0; if (cx->dmprev) prevname = cx->dmprev->dm_nickname; if (cx->qmprev) prevname = cx->qmprev->dm_nickname; if (prevname && !STRCMP(prevname, name)) return(DST_CTL(cx->dmprev, cx->qmprev, DST_DoDefine, word, cx->gram->gramdic)); else { for (i = 0; i < 4; i++) { struct MD *mh = cx->md[i]; struct MD *md, *nd; for (md = mh->md_next; md != mh; md = nd) { struct DM *dm = md->md_dic; struct DM *qm = md->md_freq; char *dname = (char *)0; if (dm) dname = dm->dm_nickname; if (qm) dname = qm->dm_nickname; if (dname) { if (!STRCMP(dname, name)) { cx->dmprev = dm; cx->qmprev = qm; return(DST_CTL(dm, qm, DST_DoDefine, word, cx->gram->gramdic)); } } nd = md->md_next; } } } } return(-1); } /* RkDeleteDic * mount the dictionary onto the specified context. */ int RkwDeleteDic(cx_num, name, word) int cx_num; char *name; Wchar *word; { struct RkContext *cx; int i; if ((cx = RkGetContext(cx_num)) && name) { char *prevname = (char *)0; if (cx->dmprev) prevname = cx->dmprev->dm_nickname; if (cx->qmprev) prevname = cx->qmprev->dm_nickname; if (prevname && !STRCMP(prevname, name)) return(DST_CTL(cx->dmprev, cx->qmprev, DST_DoDelete, word, cx->gram->gramdic)); else { for (i = 0; i < 4; i++) { struct MD *mh = cx->md[i]; struct MD *md, *nd; for (md = mh->md_next; md != mh; md = nd) { struct DM *dm = md->md_dic; struct DM *qm = md->md_freq; char *dname = (char *)0; if (dm) dname = dm->dm_nickname; if (qm) dname = qm->dm_nickname; if (dname) { if (!STRCMP(dname, name)) { cx->dmprev = dm; cx->qmprev = qm; return(DST_CTL(dm, qm, DST_DoDelete, word, cx->gram->gramdic)); } } nd = md->md_next; } } } } return(-1); } #ifdef STANDALONE /* The following code is as simulating the code in lib/RKC API. In case STANDALONE, it becomes possible for libRK to be linked with libcanna directly. */ int RkwSetAppName pro((int, char *)); int RkwSetAppName(Context, name) int Context; char *name; { return 0; } char *RkwGetServerName pro((void)); char * RkwGetServerName() { return (char *)NULL; } int RkwGetProtocolVersion pro((int *, int *)); int RkwGetProtocolVersion(majorp, minorp) int *majorp, *minorp; { *majorp = CANNA_MAJOR_MINOR / 1000; *minorp = CANNA_MAJOR_MINOR % 1000; return 0; } int RkwGetServerVersion(int *, int *); int RkwGetServerVersion(majorp, minorp) int *majorp, *minorp; { *majorp = CANNA_MAJOR_MINOR / 1000; *minorp = CANNA_MAJOR_MINOR % 1000; return 0; } int RkwSetUserInfo(user, group, topdir) char *user, *group, *topdir; { return 1; } #endif /* STANDALONE */ Canna37p3/lib/RK/dd.c0100644000076500001200000010473007732020154013467 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="$Id: dd.c,v 1.5 2003/09/17 08:50:52 aida_s Exp $"; #endif /*LINTLIBRARY*/ #include "RKintern.h" #ifdef __CYGWIN32__ #include /* for O_BINARY */ #endif #include #include /* #include */ #include #ifdef __EMX__ #include #endif #include #include #define Calloc calloc #define cx_gwt cx_extdata.ptr #define STRCMP(d, s) strcmp((char *)(d), (char *)(s)) #define RK_READABLE 'r' #define RK_WRITABLE 'w' /* * DD privates */ static struct DM *_RkCreateDM(); static void _RkFreeDM(); static struct DM *_RkAllocDM(); static struct DF *_RkCreateDF(); static void _RkFreeDF(); static struct DF *_RkAllocDF(); static struct DD *_RkCreateDD(); static void _RkFreeDD(); static struct DD *_RkLookupDD(); static struct DD *_RkReadDD(); static struct DD *_RkOpenDD(); static int _RkCountDDP(); static struct DD **_RkAppendDDP(); char * allocStr(s) char *s; { char *d = (char *)0; int len; if ((len = strlen(s)) && (d = malloc(len + 1))) { (void)strncpy(d, s, len); d[len] = (char)0; } return(d); } /* * DM */ static struct DM * _RkCreateDM(df, dicname, nickname, class) struct DF *df; unsigned char *dicname; unsigned char *nickname; int class; { struct DM *dm; dm = (struct DM *)Calloc(1, sizeof(struct DM)); if (dm) { dm->dm_next = dm->dm_prev = dm; dm->dm_file = df; dm->dm_dicname = allocStr((char *)dicname); if (dm->dm_dicname) { dm->dm_nickname = allocStr((char *)nickname); if (dm->dm_nickname) { dm->dm_class = class; dm->dm_flags = dm->dm_packbyte = dm->dm_rcount = 0; dm->dm_gram = (struct RkGram *)0; dm->dm_extdata.ptr = (pointer)0; dm->dm_rut = (struct RUT *)0; dm->dm_nv = (struct NV *)0; return dm; } free((char *)dm->dm_dicname); } free((char *)dm); } return 0; } static void _RkFreeDM(dm) struct DM *dm; { if (dm) { dm->dm_next->dm_prev = dm->dm_prev; dm->dm_prev->dm_next = dm->dm_next; if (dm->dm_dicname) (void)free((char *)dm->dm_dicname); if (dm->dm_nickname) (void)free((char *)dm->dm_nickname); (void)free((char *)dm); }; } static struct DM * _RkAllocDM(df, dicname, nickname, class) struct DF *df; unsigned char *dicname; unsigned char *nickname; int class; { struct DM *m, *mh = &df->df_members; for (m = mh->dm_next; m != mh; m = m->dm_next) { if (!STRCMP(m->dm_dicname, dicname)) { return m; } } m = _RkCreateDM(df, dicname, nickname, class); if (m) { m->dm_next = mh; m->dm_prev = mh->dm_prev; mh->dm_prev = m; m->dm_prev->dm_next = m; } return(m); } /* * DF */ static struct DF * _RkCreateDF(dd, lnk, type) struct DD *dd; unsigned char *lnk; int type; { struct DF *df; df = (struct DF *)Calloc(1, sizeof(struct DF)); if (df) { struct DM *dm = &df->df_members; df->df_next = df->df_prev = df; df->df_direct = dd; dm->dm_next = dm->dm_prev = dm; if (!(df->df_link = allocStr((char *)lnk))) { (void)free(df); return(0); }; df->df_rcount = 0; df->df_type = type; df->df_extdata.ptr = (pointer)0; }; return(df); } static void _RkFreeDF(df) struct DF *df; { struct DM *m, *n; if (df) { struct DM *mh = &df->df_members; /* remove all members in this file */ for (m = mh->dm_next; m != mh; m = n) { n = m->dm_next; _RkFreeDM(m); }; /* unlink from directory list */ df->df_next->df_prev = df->df_prev; df->df_prev->df_next = df->df_next; if (df->df_link) (void)free((char *)df->df_link); (void)free((char *)df); }; } static struct DF * _RkAllocDF(dd, lnk, type) struct DD *dd; unsigned char *lnk; { struct DF *f; struct DF *fh = &dd->dd_files; for (f = fh->df_next; f != fh; f = f->df_next) { if (!STRCMP(f->df_link, lnk)) { return(f); } } f = _RkCreateDF(dd, lnk, type); if (f) { f->df_next = fh; f->df_prev = fh->df_prev; fh->df_prev = f; f->df_prev->df_next = f; }; return(f); } int _RkRealizeDF(df) struct DF *df; { struct DD *dd = df->df_direct; char *pathname; unsigned long oldmask; int t; _RkRealizeDD(dd); /* create path filename */ pathname = _RkCreatePath(df->df_direct, df->df_link); if (pathname) { oldmask = umask(2); /* create a file */ t = close(creat(pathname, CREAT_MODE)); (void)free(pathname); (void)umask(oldmask); if (t >= 0) { return 0; } } return -1; } static int _RkParseDicsDir(line, lnk, member, nickname, dftype, dmclass, r_return, w_return) char *line; char *lnk; char *member; char *nickname; int *dftype; int *dmclass; int *r_return, *w_return; /* ¥¢¥¯¥»¥¹¸¢¤òÊÖ¤¹½ê */ { char *s, *d, *t, par, ch; int count; *dftype = -1; *dmclass = -1; *r_return = *w_return = 0; /* ¸¢ÍøÌµ¤· */ if (!isalpha(line[0])) return -1; /* parse line %s.s(%s.%s) -%s--%c%c- */ for (s = line; *s && isspace(*s);) { s++; } if (!*s) return -1; /* link name */ for (d = lnk, count = 0; *s && *s != '('; count++) { if (count < RK_LINK_BMAX) { *d++ = *s++; } else { return -1; } } if (!count) return -1; if (count++ < RK_LINK_BMAX) { *d = 0; } if (!*s++) return -1; if (count > RK_LINK_BMAX) return -1; if (!(t = (char *)strrchr(lnk, '.'))) return -1; if (!STRCMP(t, ".d") || !STRCMP(t, ".cbd")) *dftype = DF_PERMDIC; else if (!STRCMP(t, ".t") || !STRCMP(t, ".ctd")) *dftype = DF_TEMPDIC; else if (!STRCMP(t, ".fq") || !STRCMP(t, ".cld")) *dftype = DF_FREQDIC; else if (!STRCMP(t, ".ruc")) *dftype = DF_RUCDIC; else return -1; /* member name */ for (d = member, count = 0; *s && *s != ')'; count++) { if (count < RK_MEMBER_BMAX) { *d++ = *s++; } else { return -1; } } if (!count) return -1; if (count++ < RK_MEMBER_BMAX) *d = 0; if (!*s++) return -1; if (count > RK_MEMBER_BMAX) return -1; if (!(t = (char *)strrchr(member, '.'))) return -1; if (!STRCMP(t, ".mwd")) *dmclass = ND_MWD; else if (!STRCMP(t, ".swd")) *dmclass = ND_SWD; else if (!STRCMP(t, ".pre")) *dmclass = ND_PRE; else if (!STRCMP(t, ".suc")) *dmclass = ND_SUC; else return -1; /* nickname */ for (; *s && isspace(*s);) { s++; } if (!(par = *s++)) return -1; for (d = nickname, count = 0; *s && *s != par; count++) { if (count < RK_NICK_BMAX) { *d++ = *s++; } else { return -1; } } if (!count) return -1; if (count++ < RK_NICK_BMAX) *d = 0; if (!*s++) return -1; if (count > RK_NICK_BMAX) return -1; *w_return = 1; /* ²¼°Ì¸ß´¹¤Î¤¿¤á¤³¤³¤Þ¤Ç¤·¤«¤Ê¤¤¾ì¹ç¤Ï writable ¤Ë¤¹¤ë */ while ((ch = *s) && ch != par) { s++;/* 1 ¥Õ¥£¡¼¥ë¥ÉÆÉ¤ßÈô¤Ð¤· */ } if (*s++ /* == par ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤ï¤± */) { /* ¥¢¥¯¥»¥¹¸¢´ØÏ¢ */ *w_return = 0; while ((ch = *s) && ch != par) { if (ch == RK_READABLE) { *r_return = 1; } else if (ch == RK_WRITABLE) { *w_return = 1; } else { return -1; } s++; } } return 0; } /* * DD - dictonary directory record */ static struct DD * _RkCreateDD(path, name) unsigned char *path, *name; { struct DD *dd; dd = (struct DD *)Calloc(1, sizeof(struct DD)); if (dd) { dd->dd_next = dd->dd_prev = dd; dd->dd_path = allocStr((char *)path); if (dd->dd_path) { dd->dd_name = allocStr((char *)name); if (dd->dd_name) { dd->dd_rcount = 0; dd->dd_files.df_next = dd->dd_files.df_prev = &dd->dd_files; dd->dd_flags = 0; dd->dd_text.ddt_next = dd->dd_text.ddt_prev = &dd->dd_text; return dd; } free((char *)dd->dd_path); } free((char *)dd); } return (struct DD *)0; } static void _RkFreeDD(dd) struct DD *dd; { struct DF *f, *g; struct DF *fh = &dd->dd_files; struct DDT *ddLines; struct DDT *p, *q; if (dd) { for (f = fh->df_next; f != fh; f = g) { g = f->df_next; _RkFreeDF(f); }; dd->dd_next->dd_prev = dd->dd_prev; dd->dd_prev->dd_next = dd->dd_next; if (dd->dd_path) (void)free((char *)dd->dd_path); if (dd->dd_name) (void)free((char *)dd->dd_name); ddLines = &dd->dd_text; for (p = ddLines->ddt_next; p != ddLines; p = q) { q = p->ddt_next; p->ddt_next->ddt_prev = p->ddt_prev; p->ddt_prev->ddt_next = p->ddt_next; if (p->ddt_spec) (void)free((char *)p->ddt_spec); (void)free((char *)p); }; (void)free((char *)dd); }; } static struct DD * _RkLookupDD(dd, name) struct DD *dd; unsigned char *name; { struct DD *d; for (d = dd->dd_next; d != dd; d = d->dd_next) if (!STRCMP(d->dd_name, name)) return d; return (struct DD *)0; } /* _RkReadDD * read a DD directory using dics.dir file. */ static struct DD * _RkReadDD(name) char *name; { char *dics_dir = "/dics.dir"; struct DD *dd = (struct DD *)0; struct DF *df; struct DM *dm; struct DDT *ddLines; struct DDT *ddt; struct RkParam *sx = RkGetSystem(); int r, w; int fdes; FILE *fp; #ifndef USE_MALLOC_FOR_BIG_ARRAY char direct[RK_PATH_BMAX]; char file[RK_PATH_BMAX]; char path[RK_PATH_BMAX]; unsigned char line[RK_LINE_BMAX]; unsigned char lnk[RK_LINK_BMAX+1]; unsigned char member[RK_MEMBER_BMAX+1]; unsigned char nickname[RK_NICK_BMAX+1]; #else char *direct, *file, *path; unsigned char *line, *lnk, *member, *nickname; direct = malloc(RK_PATH_BMAX); file = malloc(RK_PATH_BMAX); path = malloc(RK_PATH_BMAX); line = (unsigned char *)malloc(RK_LINE_BMAX); lnk = (unsigned char *)malloc(RK_LINK_BMAX + 1); member = (unsigned char *)malloc(RK_MEMBER_BMAX + 1); nickname = (unsigned char *)malloc(RK_NICK_BMAX + 1); if (!direct || !file || !path || !line || !lnk || !member || !nickname) { if (direct) (void)free(direct); if (file) (void)free(file); if (path) (void)free(path); if (line) (void)free((char *)line); if (lnk) (void)free((char *)lnk); if (member) (void)free((char *)member); if (nickname) (void)free((char *)nickname); return dd; } #endif /* create dd even if there is no directory or dics.dir file */ (void)strcpy(path, sx->ddhome); (void)strcat(path, "/"); (void)strcat(path, name); dd = _RkCreateDD((unsigned char *)path, (unsigned char *)name); if (!dd) { goto return_dd; } /* jisho table ga aruka ? */ if (strlen(path) + strlen(dics_dir) + 1 >= RK_PATH_BMAX) { dd = (struct DD *)0; goto return_dd; } (void)strcpy(direct, path); (void)strcat(direct, dics_dir); /* check for accessing right */ if ((fdes = open(direct, 0)) < 0) { /* no file? */ dd->dd_flags |= DD_WRITEOK; } else { struct stat buf; if (fstat(fdes, &buf) == 0) { if (buf.st_mode & 004) { /* if readable for others */ dd->dd_flags |= DD_READOK; } } close(fdes); if (!close(open(direct, 2))) { dd->dd_flags |= DD_WRITEOK; } } #ifdef __EMX__ fp = fopen(direct, "rt"); #else fp = fopen(direct, "r"); #endif if (!fp) { goto return_dd; } ddLines = &dd->dd_text; /* read dics_dir lines */ while (fgets((char *)line, RK_LINE_BMAX, fp)) { int dftype, dmclass; ddt = (struct DDT *)malloc(sizeof(struct DDT)); if (!ddt) continue; ddt->ddt_spec = malloc(strlen((char *)line) + 2); /* 2 for \n\0 */ if (!ddt->ddt_spec) { free(ddt); continue; }; { int len = strlen((char *)line); if (line[len - 1] == '\n') { line[len - 1] = '\0'; } } strcpy(ddt->ddt_spec, (char *)line); ddt->ddt_next = ddLines; ddt->ddt_prev = ddLines->ddt_prev; ddt->ddt_status = 1; ddLines->ddt_prev = ddt; ddt->ddt_prev->ddt_next = ddt; if (_RkParseDicsDir(ddt->ddt_spec, (char *)lnk, (char *)member, (char *)nickname, &dftype, &dmclass, &r, &w) < 0) { continue; } if (strlen((char *)path) + strlen((char *)lnk) + 1 >= RK_PATH_BMAX) continue; (void)strcpy(file, path); (void)strcat(file, "/"); (void)strcat(file, (char *)lnk); if (close(open(file, 0)) < 0) continue; df = _RkAllocDF(dd, lnk, dftype); if (df) { dm = _RkAllocDM(df, member, nickname, dmclass); if (dm) { dm->dm_line = ddt; if (r) { dm->dm_flags |= DM_READOK; } if (w) { dm->dm_flags |= DM_WRITEOK; } ddt->ddt_status = 0; }; }; }; (void)fclose(fp); return_dd: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(direct); (void)free(file); (void)free(path); (void)free((char *)line); (void)free((char *)lnk); (void)free((char *)member); (void)free((char *)nickname); #endif return dd; } static struct DD * _RkOpenDD(name) char *name; { struct RkParam *sx = RkGetSystem(); struct DD *dd; struct DD *knownDD = &sx->dd; dd = _RkLookupDD(knownDD, (unsigned char *)name); if (dd) return dd; dd = _RkReadDD(name); /* link to the known list */ if (dd) { dd->dd_next = knownDD; dd->dd_prev = knownDD->dd_prev; knownDD->dd_prev = dd; dd->dd_prev->dd_next = dd; }; return dd; } char * _RkCreatePath(dd, name) struct DD *dd; char *name; { unsigned sz; char *ddname; if (!dd || !dd->dd_path || !name) return (char *)0; sz = strlen(dd->dd_path) + strlen(name) + 2; ddname = malloc(sz); if (ddname) { (void)strcpy(ddname, dd->dd_path); (void)strcat(ddname, "/"); (void)strcat(ddname, name); }; return ddname; } char * _RkCreateUniquePath(dd, proto) struct DD *dd; char *proto; { static char newLinkName[RK_LINK_BMAX]; unsigned i; /* now checking ... */ if (!dd || !dd->dd_path || !proto) return (char *)0; /* create directory */ if (_RkRealizeDD(dd) < 0) return (char *)0; /* try at most 100 times */ for (i = 1; i < 100; i++) { int count; struct DF *f; struct DF *fh = &dd->dd_files; unsigned long oldmask; char *filename; count = 0; sprintf(newLinkName, proto, i); for (f = fh->df_next; f != fh; f = f->df_next) if (!STRCMP(f->df_link, newLinkName)) count++; if (count) continue; filename = _RkCreatePath(dd, newLinkName); if (filename) { oldmask = umask(2); if (close(creat(filename, CREAT_MODE)) < 0) count++; (void)free(filename); (void)umask(oldmask); if (!count) return newLinkName; }; }; return (char *)0; } char * _RkMakePath(df) struct DF *df; { if (df) return _RkCreatePath(df->df_direct, df->df_link); else return (char *)0; } int _RkRealizeDD(dd) struct DD *dd; { struct DDT *ddLines; struct DDT *ddt; int n; int ret = -1; int tmpres; int fdes; long tloc; #ifdef __EMX__ struct stat statbuf; #endif #ifndef USE_MALLOC_FOR_BIG_ARRAY char whattime[RK_LINE_BMAX]; char header[RK_LINE_BMAX]; char dicsdir[RK_PATH_BMAX]; char backup[RK_PATH_BMAX]; #else char *whattime, *header, *dicsdir, *backup; whattime = malloc(RK_LINE_BMAX); header = malloc(RK_LINE_BMAX); dicsdir = malloc(RK_PATH_BMAX); backup = malloc(RK_PATH_BMAX); if (!whattime || !header || !dicsdir || !backup) { if (whattime) (void)free(whattime); if (header) (void)free(header); if (dicsdir) (void)free(dicsdir); if (backup) (void)free(backup); return ret; } #endif /* create directory if needed */ if (mkdir(dd->dd_path, MKDIR_MODE) < 0 && errno != EEXIST) { goto return_ret; } /* dics.dir */ (void)strcpy(dicsdir, dd->dd_path); (void)strcat(dicsdir, "/dics.dir"); backup[0] = 0; tmpres = close(open(dicsdir, 0)); if (tmpres >= 0) { (void)strcpy(backup, dd->dd_path); (void)strcat(backup, "/#dics.dir"); #ifdef HAVE_RENAME #ifdef __EMX__ unlink(backup); #endif if (rename(dicsdir, backup)) { goto return_ret; } #else unlink(backup); if (link(dicsdir, backup) < 0) { goto return_ret; } unlink(dicsdir); #endif /* !HAVE_RENAME */ }; /* create dics.dir */ if ((fdes = creat(dicsdir, CREAT_MODE)) < 0) { if (backup[0]) { #ifdef HAVE_RENAME #ifdef __EMX__ unlink(dicsdir); #endif rename(backup, dicsdir); #else unlink(dicsdir); if (link(backup, dicsdir) == 0) { unlink(backup); } #endif } goto return_ret; }; #ifdef __CYGWIN32__ setmode(fdes, O_BINARY); #endif /* header */ tloc = time(0); strcpy(whattime, ctime(&tloc)); whattime[strlen(whattime)-1] = 0; (void)strcpy(header, "#CANNA dics.dir ["); (void)strcat(header, whattime); (void)strcat(header, "] "); (void)strcat(header, dd->dd_name); (void)strcat(header, "\n"); n = strlen(header); tmpres = write(fdes, header, n); if (tmpres != n) { if (backup[0]) { #ifdef HAVE_RENAME #ifdef __EMX__ unlink(dicsdir); #endif rename(backup, dicsdir); #else unlink(dicsdir); if (link(backup, dicsdir) == 0) { unlink(backup); } #endif } else unlink(dicsdir); close(fdes); goto return_ret; }; /* fill up bodies */ ddLines = &dd->dd_text; for (ddt = ddLines->ddt_next; ddt != ddLines; ddt = ddt->ddt_next) if (strncmp(ddt->ddt_spec, "#CANNA ", 7)) { n = strlen(ddt->ddt_spec); ddt->ddt_spec[n] = '\n'; tmpres = write(fdes, ddt->ddt_spec, n + 1); if (tmpres > 0) { tmpres--; /* for \n */ } ddt->ddt_spec[n] = '\0'; if (tmpres != n) { if (backup[0]) { #ifdef HAVE_RENAME #ifdef __EMX__ unlink(dicsdir); #endif rename(backup, dicsdir); #else unlink(dicsdir); if (link(backup, dicsdir) == 0) { unlink(backup); } #endif } else unlink(dicsdir); close(fdes); goto return_ret; }; }; close(fdes); /* change owner if (pw) chown(dicsdir, getuid(), pw->pw_gid); */ ret = 0; return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(whattime); (void)free(header); (void)free(dicsdir); (void)free(backup); #endif return ret; } /* * DDP */ int _RkIsInDDP(ddp, dd) struct DD **ddp, *dd; { while (*ddp) if (*ddp++ == dd) return 1; return 0; } static int _RkCountDDP(ddp) struct DD **ddp; { int count = 0; if (ddp) while (ddp[count]) count++; return count; } struct DD ** _RkCopyDDP(ddp) struct DD **ddp; { struct DD **new = (struct DD **)0; int i; struct DD *dd; if (ddp) { int count = _RkCountDDP(ddp); new = (struct DD **)Calloc(count + 1, (unsigned)sizeof(struct DD *)); if (new) for (i = 0; (dd = new[i] = ddp[i]) != (struct DD *)0 ; i++) dd->dd_rcount++; }; return new; } static struct DD ** _RkAppendDDP(ddp, dd) struct DD **ddp; struct DD *dd; { struct DD **new; int i; int count = _RkCountDDP(ddp); new = (struct DD **)Calloc(count + 2, (unsigned)sizeof(struct DD *)); if (new) { if (ddp) { for (i = 0; i < count; i++) new[i] = ddp[i]; (void)free((char *)ddp); }; new[count++] = dd; new[count] = (struct DD *)0; dd->dd_rcount++; } else new = ddp; return new; } struct DD ** _RkCreateDDP(ddpath) char *ddpath; { char *d, *s; struct DD *dd; struct DD **ddp = (struct DD **)0; #ifndef USE_MALLOC_FOR_BIG_ARRAY char dir[RK_PATH_BMAX + 1]; #else char *dir = malloc(RK_PATH_BMAX + 1); if (!dir) { return ddp; } #endif for (s = ddpath; *s; ) { int count; for (;*s && isspace(*s);) { s++; } if (!*s) break; for (d = dir, count = 0; *s; count++) if (*s == ':') { s++; break; } else { if (count < RK_PATH_BMAX) *d++ = *s; s++; }; *d = 0; dd = _RkOpenDD(dir); if (dd) ddp = _RkAppendDDP(ddp, dd); }; #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(dir); #endif return ddp; } void _RkFreeDDP(ddp) struct DD **ddp; { struct DD *dd; int i; if (ddp) { for (i = 0; (dd = ddp[i]) != (struct DD *)0 ; i++) if (--dd->dd_rcount == 0) { _RkFreeDD(dd); }; (void)free((char *)ddp); }; } /* _RkSearchDDP/Q * search dictionary file by nickname */ struct DM * _RkSearchDDP(ddp, name) struct DD **ddp; char *name; { struct DD *dd; struct DF *f, *fh; struct DM *m, *mh; int i; if (ddp) { for (i = 0; (dd = ddp[i]) != (struct DD *)0 ; i++) { fh = &dd->dd_files; for (f = fh->df_next; f && (f != fh); f = f->df_next) { if (f->df_type == DF_FREQDIC) { /* Ʊ¤¸¥Ç¥£¥ì¥¯¥È¥ê³¬ÁØ¤Ç¤Ï .fq ¤«¤éõ¤¹ */ mh = &f->df_members; for (m = mh->dm_next; m != mh; m = m->dm_next) { if (!STRCMP(m->dm_nickname, name)) { return m; } } } } fh = &dd->dd_files; for (f = fh->df_next; f && (f != fh); f = f->df_next) { if (f->df_type != DF_RUCDIC && f->df_type != DF_FREQDIC) { mh = &f->df_members; for (m = mh->dm_next ; m != mh; m = m->dm_next) { if (!STRCMP(m->dm_nickname, name)) { return m; } } } } } } return (struct DM *)0; } /* _RkSearchDDQ ¤¢¤ë¥¿¥¤¥×¤Î¼­½ñ¤À¤±Ãµ¤·¤ÆÊÖ¤¹ */ struct DM * _RkSearchDDQ(ddp, name, type) struct DD **ddp; char *name; int type; { struct DD *dd; struct DF *f, *fh; struct DM *m, *mh; int i; if (ddp) { for (i = 0; (dd = ddp[i]) != (struct DD *)0 ; i++) { fh = &dd->dd_files; for (f = fh->df_next; f && (f != fh); f = f->df_next) if (f->df_type == (unsigned)type) { mh = &f->df_members; for (m = mh->dm_next; m != mh; m = m->dm_next) { if (!STRCMP(m->dm_nickname, name)) return(m); }; }; }; }; return((struct DM *)0); } /* _RkSearchUDDP() ºÇ½é¤Ë¸«ÉÕ¤«¤ë¤Î¤¬¥·¥¹¥Æ¥à¼­½ñ¤Ë¤¢¤ë¤ä¤Ä¤«¤É¤¦¤«¤òȽÃǤ·¤Ê¤¬¤éÊÖ¤¹ */ struct DM * _RkSearchUDDP(ddp, name) struct DD **ddp; unsigned char *name; { struct DM *dm = _RkSearchDDP(ddp, (char *)name); if (dm && STRCMP(dm->dm_file->df_direct->dd_name, SYSTEM_DDHOME_NAME)) { return dm; } return((struct DM *)0); } /* ¼­½ñ¥á¥ó¥Ð̾¤Ç¼­½ñ¤òõ¤¹ ³Ø½¬¥Õ¥¡¥¤¥ë¤Ï½ü³°¤·¤ÆÃµ¤¹ */ struct DM * _RkSearchDDMEM(ddp, name) struct DD **ddp; char *name; { struct DD *dd; struct DF *f, *fh; struct DM *m, *mh; int i; if (ddp) { for (i = 0; (dd = ddp[i]) != (struct DD *)0 ; i++) { fh = &dd->dd_files; for (f = fh->df_next; f && (f != fh); f = f->df_next) { if (f->df_type != DF_FREQDIC && f->df_type != DF_RUCDIC) { mh = &f->df_members; for (m = mh->dm_next; m != mh; m = m->dm_next) { if (!STRCMP(m->dm_dicname, name)) { return m; } } } } } } return (struct DM *)0; } /* _RkSearchDicWithFreq -- ¼­½ñ(³Ø½¬¼­½ñ¤ò´Þ¤à)¤òõ¤·ÊÖ¤¹¡£ ddpath ¤ÎÀèÆ¬¤«¤é½ç¤Ë³Ø½¬¥Õ¥¡¥¤¥ë¤¢¤ë¤¤¤Ï¼­½ñ¤ò¤µ¤¬¤·¡¢¤ß¤Ä¤«¤Ã¤¿¤Î ¤òÊÖ¤¹¡£³Ø½¬¥Õ¥¡¥¤¥ë¤¬¤ß¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï³Ø½¬¥Õ¥¡¥¤¥ë¤Î¸µ¼­½ñ¤òõ¤·¤Æ ¤½¤ì¤ò dm ¤ËÊÖ¤·¡¢³Ø½¬¥Õ¥¡¥¤¥ë¼«¿È¤Ï qmp ¤ÎÀè¤Ë³ÊǼ¤·¤ÆÊÖ¤¹¡£ */ struct DM * _RkSearchDicWithFreq(ddpath, name, qmp) struct DD **ddpath; char *name; struct DM **qmp; { struct DD *udd[2]; struct DM *dm, *qm; udd[1] = (struct DD *)0; *qmp = (struct DM *)0; while (*ddpath) { udd[0] = *ddpath; qm = _RkSearchDDQ(udd, name, DF_FREQDIC); if (qm) { *qmp = qm; return _RkSearchDDMEM(ddpath, qm->dm_dicname); } dm = _RkSearchDDP(udd, name); if (dm) { return dm; } ddpath++; } return (struct DM *)0; } /* DMcheck DMcreate ¤Ç name ¤òÂ裳°ú¿ô¤ËÉÕ¤±¤Æ¤¤¤¿»þ¤Î¥Á¥§¥Ã¥¯¤òÆÈΩ¤µ¤»¤¿¡£ return value; 1: OK 0: bad */ DMcheck(spec, name) char *spec; char *name; { int dftype, dmclass; int r, w, ret; #ifndef USE_MALLOC_FOR_BIG_ARRAY char lnk[RK_LINK_BMAX+1]; char member[RK_MEMBER_BMAX+1]; char nickname[RK_NICK_BMAX+1]; #else char *lnk, *member, *nickname; lnk = malloc(RK_LINK_BMAX + 1); member = malloc(RK_MEMBER_BMAX + 1); nickname = malloc(RK_NICK_BMAX + 1); if (!lnk || !member || !nickname) { if (lnk) (void)free(lnk); if (member) (void)free(member); if (nickname) (void)free(nickname); return 0; } #endif if (_RkParseDicsDir(spec, lnk, member, nickname, &dftype, &dmclass, &r, &w) < 0 || STRCMP(nickname, name)) { ret = 0; } else { ret = 1; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(lnk); (void)free(member); (void)free(nickname); #endif return ret; } /* DMcreate * create a new member under dd * DMcreate does not create an actual dictionary file. */ struct DM * DMcreate(dd, spec) struct DD *dd; char *spec; { int dftype, dmclass; struct DF *df; struct DM *dm = (struct DM *)0; struct DDT *ddt; struct DDT *ddLines = &dd->dd_text; int r, w; #ifndef USE_MALLOC_FOR_BIG_ARRAY char lnk[RK_LINK_BMAX+1]; char member[RK_MEMBER_BMAX+1]; char nickname[RK_NICK_BMAX+1]; #else char *lnk, *member, *nickname; lnk = malloc(RK_LINK_BMAX + 1); member = malloc(RK_MEMBER_BMAX + 1); nickname = malloc(RK_NICK_BMAX + 1); if (!lnk || !member || !nickname) { if (lnk) (void)free(lnk); if (member) (void)free(member); if (nickname) (void)free(nickname); return dm; } #endif if (_RkParseDicsDir(spec, lnk, member, nickname, &dftype, &dmclass, &r, &w) >= 0) { int len = strlen(spec); if (spec[len - 1] == '\n') { spec[len - 1] = '\0'; } ddt = (struct DDT *)malloc(sizeof(struct DDT)); if (ddt) { ddt->ddt_spec = malloc(strlen(spec) + 3); /* 3 for \r\n\0 */ if (ddt->ddt_spec) { strcpy(ddt->ddt_spec, spec); df = _RkAllocDF(dd, (unsigned char *)lnk, dftype); if (df) { dm = _RkAllocDM(df, (unsigned char *)member, (unsigned char *)nickname, dmclass); if (dm) { ddt->ddt_next = ddLines; ddt->ddt_prev = ddLines->ddt_prev; ddLines->ddt_prev = ddt; ddt->ddt_prev->ddt_next = ddt; ddt->ddt_status = 0; dm->dm_line = ddt; dm->dm_flags |= DM_WRITEOK; /* default access right */ goto return_dm; } _RkFreeDF(df); } (void)free((char *)ddt->ddt_spec); } (void)free((char *)ddt); } } return_dm: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(lnk); (void)free(member); (void)free(nickname); #endif return(dm); } int DMremove(dm) struct DM *dm; { struct DF *df = dm->dm_file; struct DDT *ddt = dm->dm_line; /* free up dirs.dic line */ if (ddt) { ddt->ddt_next->ddt_prev = ddt->ddt_prev; ddt->ddt_prev->ddt_next = ddt->ddt_next; if (ddt->ddt_spec) free((char *)ddt->ddt_spec); free((char *)ddt); }; /* free dm itself */ _RkFreeDM(dm); if (df) { struct DM *mh = &df->df_members; if (mh == mh->dm_next) _RkFreeDF(df); }; return 0; } int DMrename(dm, nickname) struct DM *dm; unsigned char *nickname; { struct DF *df = dm->dm_file; struct DDT *ddt = dm->dm_line; char *new_spec; char *new_nick; char member[5]; char *dicname = (char *)0; int ret = -1; #ifndef USE_MALLOC_FOR_BIG_ARRAY char spec[RK_LINE_BMAX]; #else char *spec = malloc(RK_LINE_BMAX); if (!spec) { return ret; } #endif if (!df || !df->df_link || !dm->dm_file || !ddt || !ddt->ddt_spec) goto return_ret; if (df->df_type == DF_FREQDIC) { dicname = dm->dm_dicname; } switch (dm->dm_class) { default: case ND_MWD: (void)strcpy(member, ".mwd"); break; case ND_SWD: (void)strcpy(member, ".swd"); break; case ND_PRE: (void)strcpy(member, ".pre"); break; case ND_SUC: (void)strcpy(member, ".suc"); break; }; (void)sprintf(spec, "%s(%s) -%s--%s%s-", df->df_link, dicname ? dicname : member, nickname, (dm->dm_flags & DM_READOK) ? "r" : "", (dm->dm_flags & DM_WRITEOK) ? "w" : ""); new_spec = malloc(strlen(spec) + 3); /* 3 for \r\n\0 */ if (!new_spec) { goto return_ret; } strcpy(new_spec, spec); if (!(new_nick = allocStr((char *)nickname))) { (void)free(new_spec); goto return_ret; }; free(ddt->ddt_spec); ddt->ddt_spec = new_spec; free(dm->dm_nickname); dm->dm_nickname = new_nick; ret = 0; return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(spec); #endif return ret; } int DMchmod(dm, mode) struct DM *dm; int mode; { struct DF *df = dm->dm_file; struct DDT *ddt = dm->dm_line; char *new_spec; unsigned newflags = dm->dm_flags; int ret = -1; #ifndef USE_MALLOC_FOR_BIG_ARRAY char spec[RK_LINE_BMAX]; #else char *spec = malloc(RK_LINE_BMAX); if (!spec) { return ret; } #endif if (!df || !df->df_link || !ddt || !ddt->ddt_spec) goto return_ret; /* READ ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÁàºî */ if ((mode & (RK_ENABLE_READ | RK_DISABLE_READ)) == RK_ENABLE_READ) { newflags |= DM_READOK; } else if ((mode & (RK_ENABLE_READ | RK_DISABLE_READ)) == RK_DISABLE_READ) { newflags &= ~DM_READOK; } /* WRITE ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÁàºî */ if ((mode & (RK_ENABLE_WRITE | RK_DISABLE_WRITE)) == RK_ENABLE_WRITE) { newflags |= DM_WRITEOK; } else if ((mode & (RK_ENABLE_WRITE | RK_DISABLE_WRITE)) == RK_DISABLE_WRITE) { newflags &= ~DM_WRITEOK; } if (newflags != dm->dm_flags) { if (df->df_direct->dd_flags & DD_WRITEOK) { dm->dm_flags = newflags; (void)sprintf(spec, "%s(%s) -%s--%s%s-", df->df_link, dm->dm_dicname, dm->dm_nickname, (dm->dm_flags & DM_READOK) ? "r" : "", (dm->dm_flags & DM_WRITEOK) ? "w" : ""); new_spec = malloc(strlen(spec) + 3); /* 3 for \r\n\0 */ if (!new_spec) { ret = NOTALC; goto return_ret; } strcpy(new_spec, spec); free(ddt->ddt_spec); ddt->ddt_spec = new_spec; } } ret = (((dm->dm_flags & DM_WRITEOK) ? RK_ENABLE_WRITE : RK_DISABLE_WRITE) | ((dm->dm_flags & DM_READOK) ? RK_ENABLE_READ : RK_DISABLE_READ)); return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(spec); #endif return ret; } int DDchmod(dd, mode) struct DD *dd; int mode; { char *dicsdir; unsigned newflags = dd->dd_flags; /* READ ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÁàºî */ if ((mode & (RK_ENABLE_READ | RK_DISABLE_READ)) == RK_ENABLE_READ) { newflags |= DD_READOK; } else if ((mode & (RK_ENABLE_READ | RK_DISABLE_READ)) == RK_DISABLE_READ) { newflags &= ~DD_READOK; } /* WRITE ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÁàºî */ if ((mode & (RK_ENABLE_WRITE | RK_DISABLE_WRITE)) == RK_ENABLE_WRITE) { newflags |= DD_WRITEOK; } else if ((mode & (RK_ENABLE_WRITE | RK_DISABLE_WRITE)) == RK_DISABLE_WRITE) { newflags &= ~DD_WRITEOK; } if (newflags != dd->dd_flags) { dicsdir = malloc(strlen(dd->dd_path) + strlen("/dics.dir") + 1); if (dicsdir) { int filemode; strcpy(dicsdir, dd->dd_path); strcat(dicsdir, "/dics.dir"); filemode = ((newflags & DD_WRITEOK) ? 0640 : 0440) | ((newflags & DD_READOK) ? 04 : 0); if (chmod(dicsdir, filemode) == 0) { dd->dd_flags = newflags; } free((char *)dicsdir); } } newflags = dd->dd_flags; return (((newflags & DD_WRITEOK) ? RK_ENABLE_WRITE : RK_DISABLE_WRITE) | ((newflags & DD_READOK) ? RK_ENABLE_READ : RK_DISABLE_READ)); } int _RkMountMD(cx, dm, qm, mode, firsttime) struct RkContext *cx; struct DM *dm; struct DM *qm; int mode; int firsttime; { struct MD *md, *head; struct DF *df; struct DD *dd; char *file; int status; if (!dm || !(md = (struct MD *)Calloc(1, sizeof(struct MD)))) return -1; /* increment the reference counter */ if (dm->dm_rcount == 0) { df = dm->dm_file; dd = df->df_direct; if (!(file = _RkCreatePath(dd, df->df_link))) { (void)free((char *)md); return -1; }; status = DST_OPEN(dm, file, DM_WRITABLE, cx->gram->gramdic); (void)free(file); if (status) { (void)free((char *)md); return -1; }; }; if (qm && qm->dm_rcount == 0) { df = qm->dm_file; dd = df->df_direct; if (!(file = _RkCreatePath(dd, df->df_link))) { (void)free((char *)md); return -1; }; status = FQopen(dm, qm, file, DM_WRITABLE); (void)free(file); if (status) { (void)free((char *)md); return -1; }; }; /* use the dic as the default grammatical dic if it contains */ if (firsttime && DM2TYPE(dm) == DF_PERMDIC && dm->dm_gram) { cx->gram = dm->dm_gram; cx->gram->refcount++; } /* increment the reference counter */ dm->dm_rcount++; if (qm) { qm->dm_rcount++; if (!cx->nv && qm->dm_nv) cx->nv = qm->dm_nv; } /* put it at the end of the mount list */ head = cx->md[dm->dm_class]; md->md_next = head; md->md_prev = head->md_prev; head->md_prev = md; md->md_prev->md_next = md; md->md_dic = dm; md->md_freq = qm; md->md_flags = mode&MD_WRITE; /* wait for the translation to finish */ if (IS_XFERCTX(cx)) md->md_flags |= MD_MPEND; return 0; } void _RkUmountMD(cx, md) struct RkContext *cx; struct MD *md; { struct DM *dm = md->md_dic; struct DM *qm = md->md_freq; struct DF *df; struct DD *dd; char *file; cx->dmprev = (struct DM *)0; cx->qmprev = (struct DM *)0; if (IS_XFERCTX(cx)) md->md_flags |= MD_UPEND; else { md->md_prev->md_next = md->md_next; md->md_next->md_prev = md->md_prev; (void)free((char *)md); if (qm) { df = qm->dm_file; dd = df->df_direct; if (cx->nv == qm->dm_nv) cx->nv = (struct NV *)0; if (qm->dm_rcount > 0 && --qm->dm_rcount == 0) { file = _RkCreatePath(dd, df->df_link); if (file) { FQclose(cx, dm, qm, file); if (!df->df_rcount) { if (dd->dd_rcount > 0 && --dd->dd_rcount == 0) _RkFreeDD(dd); }; (void)free(file); }; }; }; if (dm->dm_rcount > 0 && --dm->dm_rcount == 0) { df = dm->dm_file; dd = df->df_direct; file = _RkCreatePath(dd, df->df_link); if (file) { (void)DST_CLOSE(dm, file, cx->gram->gramdic); if (df->df_rcount == 0) { if (dd->dd_rcount > 0 && --dd->dd_rcount == 0) _RkFreeDD(dd); }; (void)free(file); }; }; }; } Canna37p3/lib/RK/dic.c0100644000076500001200000006477507732020154013655 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="@(#) 102.1 $Id: dic.c,v 1.4 2003/09/17 08:50:52 aida_s Exp $"; #endif /*LINTLIBRARY*/ #include "RKintern.h" #include /* for sprintf */ #ifdef __CYGWIN32__ #include /* for O_BINARY */ #endif #define dm_td dm_extdata.ptr #define cx_gwt cx_extdata.ptr #define Is_Gwt_CTX(cx) #define ND2RK(s) ((0x80 >> (int)(s)) & 0xff) #define STRCMP(d, s) strcmp((char *)(d), (char *)(s)) #ifndef WINDOWS_STYLE_FILENAME #define FREQ_TEMPLATE "freq%d.fq" #define USER_TEMPLATE "user%d.t" #define PERM_TEMPLATE "bin%d.d" #else #define FREQ_TEMPLATE "frq%d.cld" #define USER_TEMPLATE "usr%d.ctd" #define PERM_TEMPLATE "bin%d.cbd" #endif #define DEFAULT_PERMISSION "w" /* locatepath -- ¼­½ñ¥µ¡¼¥Á¥Ñ¥¹¤ò mode ¤Ë±þ¤¸¤ÆÄ¥¤ë return value: 0: À®¸ù ACCES: ¥¨¥é¡¼(¥°¥ë¡¼¥×¤ò»ØÄꤷ¤¿¤Î¤Ë DDPATH ¤Ë¸ºß¤·¤Ê¤¤) */ static int locatepath(userDDP, ddpath, mode) struct DD *userDDP[], *ddpath[]; int mode; { /* find dictionary under system and user/group directory */ if (mode & RK_SYS_DIC) { if (ddpath[2]) { userDDP[0] = ddpath[2]; } else { return ACCES; } } else if (mode & RK_GRP_DIC) { if (ddpath[1] && ddpath[2]) { /* ¥°¥ë¡¼¥×¼­½ñ¤È¥·¥¹¥Æ¥à¼­½ñ¤¬¤Á¤ã¤ó¤È¤¢¤ì¤Ð */ userDDP[0] = ddpath[1]; } else { return ACCES; } } else { /* ¥æ¡¼¥¶¼­½ñ */ userDDP[0] = ddpath[0]; } userDDP[1] = (struct DD*)0; return 0; } /* int * RkwCreateDic(cx_num, dicname, mode) * * °ú¤­¿ô * int cx_num ¥³¥ó¥Æ¥¯¥¹¥È¥Ê¥ó¥Ð¡¼ * unsigned char *dicname ¼­½ñ¤Ø¤Î¥Ý¥¤¥ó¥¿ * int mode ¼­½ñ¤Î¼ïÎà¤È¶¯À©¥â¡¼¥É¤ÎOR * ¼­½ñ¤Î¼ïÎà * #define Rk_MWD 0x80 * #define Rk_SWD 0x40 * #define Rk_PRE 0x20 * #define Rk_SUC 0x10 * ¶¯À©¥â¡¼¥É * #define KYOUSEI 0x01 * ¶¯À©¤·¤Ê¤¤¾ì¹ç 0x00 #define PL_DIC (0x0100) #define PL_ALLOW (PL_DIC << 1) #define PL_INHIBIT (PL_DIC << 2) #define PL_FORCE (PL_DIC << 3) * * ¥ê¥¿¡¼¥óÃÍ * À®¸ù¤·¤¿¾ì¹ç 0 * À®¸ù¤·¤¿¾ì¹ç(¾å½ñ¤­¤·¤¿¾ì¹ç) 1 * ¥¢¥í¥±¡¼¥·¥ç¥ó¤Ë¼ºÇÔ¤·¤¿¾ì¹ç -6 NOTALC * ¼­½ñ¤¬¥Ð¥¤¥Ê¥ê¼­½ñ¤Ç¤¢¤Ã¤¿¾ì¹ç -9 BADF * dics.dir¤Ë°Û¾ï¤¬¤¢¤Ã¤¿¾ì¹ç -10 BADDR * GetDicFilenameÊÖ¤êÃͤ¬-1¤Î¾ì¹ç -13 ACCES * MakeDicFile¤Ë¼ºÇÔ¤·¤¿¾ì¹ç -13 ACCES * CreatDic¤Ë¼ºÇÔ¤·¤¿¾ì¹ç -13 ACCES * ¼­½ñ¤¬¥Þ¥¦¥ó¥ÈÃæ¤Ç¤¢¤Ã¤¿¾ì¹ç -16 MOUNT * ¼­½ñ¤¬¤¹¤Ç¤Ë¤¢¤ë¾ì¹ç(¶¯À©¤Ç¤Ê¤¤¾ì¹ç) -17 EXIST * ¼­½ñ¤¬»ÈÍÑÃæ¤Ç¤¢¤Ã¤¿¾ì¹ç -26 TXTBSY * mode¤¬°Û¾ïÃͤǤ¢¤Ã¤¿¾ì¹ç -99 BADARG * ¥³¥ó¥Æ¥¯¥¹¥È¹½Â¤ÂΤ¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -100 BADCONT */ int RkwCreateDic(cx_num, dicname, mode) int cx_num; char *dicname; int mode; { struct RkParam *sx = RkGetSystem(); struct RkContext *cx = RkGetContext(cx_num); struct DM *sm, *um, *tm; int type; struct DD *userDDP[2], *systemDDP[2]; char *filename, extent[5]; int ret; #ifndef USE_MALLOC_FOR_BIG_ARRAY char spec[RK_LINE_BMAX]; #else char *spec = malloc(RK_LINE_BMAX); if (!spec) { return NOTALC; } #endif if(!dicname || !dicname[0]) { ret = ACCES; goto return_ret; } if (strlen(dicname) >= (unsigned)RK_NICK_BMAX) { ret = INVAL; goto return_ret; } if ( !cx || !cx->ddpath || !cx->ddpath[0] ) { ret = BADCONT; goto return_ret; } if ( !sx || !sx->ddpath || !sx->ddpath[0] ) { ret = BADCONT; goto return_ret; } #ifndef STANDALONE /* Is it true ? */ if ( cx->ddpath[0] == sx->ddpath[0] ) { ret = BADCONT; goto return_ret; } #endif if (locatepath(userDDP, cx->ddpath, mode) < 0) { ret = ACCES; goto return_ret; } if (!(userDDP[0]->dd_flags & DD_WRITEOK)) { ret = ACCES; goto return_ret; } systemDDP[0] = sx->ddpath[0]; systemDDP[1] = (struct DD *)0; type = (mode & PL_DIC) ? DF_FREQDIC : DF_TEMPDIC; /* find dictionary in current mount list */ sm = _RkSearchDDQ(systemDDP, dicname, type); um = _RkSearchDDQ(userDDP, dicname, type); if (um && !(mode & KYOUSEI)) { ret = EXIST; goto return_ret; } if (mode & PL_DIC) { if (!sm) { if(_RkSearchDDQ(systemDDP, dicname, DF_TEMPDIC)) { ret = BADF; goto return_ret; } ret = NOENT; goto return_ret; } if (!um) { struct DM *dm; if (!(filename = _RkCreateUniquePath(userDDP[0], FREQ_TEMPLATE))) { ret = ACCES; goto return_ret; } (void)sprintf(spec, "%s(%s) -%s--%s-\n", filename, sm->dm_dicname, sm->dm_nickname, DEFAULT_PERMISSION); if (!DMcheck(spec, dicname)) { ret = NOENT; goto return_ret; } if (!(dm = DMcreate(userDDP[0], spec))) { ret = NOTALC; goto return_ret; } if (copyFile(sm, dm)) { ret = ACCES; goto return_ret; } else { ret = 0; goto return_ret; } } else { if (!(ND2RK(um->dm_class) & mode)) { ret = INVAL; goto return_ret; } if ( um->dm_rcount > 0 ) { ret = TXTBSY; goto return_ret; } if ( !um->dm_file ) { ret = BADCONT; /* INVAL SHOULD BE REPLACED... MAKO 1225 */ goto return_ret; } if(_RkRealizeDF(um->dm_file)) {/* ¤³¤ì¤¤¤é¤Ê¤¤¤ó¤¸¤ã¤Ê¤¤¡© kon 1993.11 */ ret = ACCES; goto return_ret; } if ( copyFile(sm, um) ) { ret = ACCES; goto return_ret; } else { ret = 1; goto return_ret; } } } else { /* um = _RkSearchDDQ(userDDP, dicname, DF_TEMPDIC);*/ tm = _RkSearchDDP(userDDP, dicname); if (tm != um) { ret = BADF; goto return_ret; } if (!um) { if (!(filename = _RkCreateUniquePath(userDDP[0], USER_TEMPLATE))) { ret = ACCES; goto return_ret; } if (mode & Rk_MWD) { (void)strcpy(extent, "mwd"); } else if (mode & Rk_SWD) { (void)strcpy(extent, "swd"); } else if (mode & Rk_PRE) { (void)strcpy(extent, "pre"); } else if (mode & Rk_SUC) { (void)strcpy(extent, "suc"); } else { /* return INVAL; */ (void)strcpy(extent, "mwd"); }; (void)sprintf(spec, "%s(.%s) -%s--%s-\n", filename, extent, dicname, DEFAULT_PERMISSION); if (!DMcheck(spec, dicname)) { ret = NOENT; goto return_ret; } if (!DMcreate(userDDP[0], spec)) { ret = NOTALC; goto return_ret; } _RkRealizeDD(userDDP[0]); ret = 0; goto return_ret; } else { if ( um->dm_rcount > 0 ) { ret = TXTBSY; goto return_ret; } if ( !um->dm_file ) { ret = BADCONT; /* INVAL SHOULD BE REPLACED... MAKO 1225 */ goto return_ret; } sprintf(spec, "%s(%s) -%s--%s%s-\n", um->dm_file->df_link, um->dm_dicname, um->dm_nickname, (um->dm_flags & DM_READOK) ? "r" : "", (um->dm_flags & DM_WRITEOK) ? "w" : ""); if(_RkRealizeDF(um->dm_file)) { ret = ACCES; goto return_ret; } ret = 1; /* backward compatiblity ... 1224 Xmas */ } } return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(spec); #endif return ret; } copyFile(src, dst) struct DM *src; struct DM *dst; { struct DF *srcF = src->dm_file; struct DD *srcD = srcF->df_direct; struct DF *dstF = dst->dm_file; struct DD *dstD = dstF->df_direct; char *srcN, *dstN; int srcFd, dstFd; int n; int ecount = 0; srcN = _RkCreatePath(srcD, srcF->df_link); if (srcN) { srcFd = open(srcN, 0); #ifdef __CYGWIN32__ setmode(srcFd, O_BINARY); #endif (void)free(srcN); if (srcFd >= 0) { dstN = _RkCreatePath(dstD, dstF->df_link); if (dstN) { dstFd = creat(dstN, 0666); #ifdef __CYGWIN32__ setmode(dstFd, O_BINARY); #endif (void)free(dstN); if (dstFd >= 0) { char b[RK_BUFFER_SIZE]; /* I will leave this array on the stack because it may be a rare case to use this function. 1996.6.5 kon */ _RkRealizeDD(dstD); while ((n = read(srcFd, b, RK_BUFFER_SIZE)) > 0) { /* do copy */ if ( write(dstFd, b, n) != n ) { ecount++; break; } } if ( close(dstFd) < 0 || n < 0) { ecount++; } } } close(srcFd); } } return ecount ? -1 : 0; } /* * RkwListDic(cx_num, dirname, buf, size) * int cx_num; ¥³¥ó¥Æ¥¯¥¹¥È¥Ê¥ó¥Ð¡¼ * unsigned char *dirname; ¼­½ñ¥ê¥¹¥È¤ò½ÐÎϤ·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê̾ * unsigned char *buf; ¼­½ñ¥ê¥¹¥È¤¬Ê֤äƤ¯¤ë¥Ð¥Ã¥Õ¥¡ * int size; ¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º * * ¥ê¥¿¡¼¥óÃÍ * À®¸ù¤·¤¿¾ì¹ç ¼­½ñ¤Î¿ô * ¥³¥ó¥Æ¥¯¥¹¥È¥Ê¥ó¥Ð¡¼¤¬Éé¤Î¾ì¹ç BADCONT * RkwCreateContext¤Ë¼ºÇÔ¤·¤¿¾ì¹ç BADCONT * RkwSetDicPath¤Ë¼ºÇÔ¤·¤¿¾ì¹ç NOTALC */ int RkwListDic( cx_num, dirname, buf, size ) int cx_num; char *dirname; char *buf; int size; { int dicscnt; int new_cx_num; if(!dirname || !strlen(dirname)) return 0; if (cx_num < 0) return BADCONT; if((new_cx_num = RkwCreateContext()) < 0) return BADCONT; if (RkwSetDicPath(new_cx_num, dirname) == -1) { RkwCloseContext(new_cx_num); return NOTALC; } dicscnt = RkwGetDicList(new_cx_num, buf, size); (void)RkwCloseContext(new_cx_num); return (dicscnt); } /* int * RkwRemoveDic(cx_num, dicname, mode) * * »ØÄꤵ¤ì¤¿¥³¥ó¥Æ¥¯¥¹¥È¤Ë»ØÄꤵ¤ì¤¿¼­½ñ¤¬Â¸ºß¤¹¤ì¤Ð * ¤½¤Î¼­½ñ¤òºï½ü¤¹¤ë¡£ * * °ú¤­¿ô * int cx_num ¥³¥ó¥Æ¥¯¥¹¥È¥Ê¥ó¥Ð¡¼ * unsigned char *dicname ¼­½ñ̾ * * ¥ê¥¿¡¼¥óÃÍ * À®¸ù¤·¤¿¾ì¹ç 0 * ¼­½ñ¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -2 NOENT * ¼­½ñ¤¬¥Ð¥¤¥Ê¥ê¼­½ñ¤Ç¤¢¤Ã¤¿¾ì¹ç -9 BADF * RemoveDic¤ÎÊÖ¤êÃͤ¬-1¤Î¾ì¹ç -13 ACCES * ¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤¿¾ì¹ç -26 TXTBSY * ¥³¥ó¥Æ¥¯¥¹¥È¹½Â¤ÂΤ¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -100 BADCONT */ int RkwRemoveDic(cx_num, dicname, mode) int cx_num; char *dicname; int mode; { struct RkContext *cx = RkGetContext(cx_num); /* struct RkParam *sx = RkGetSystem(); */ struct DD *userDDP[2], *dum_direct; struct DM *dm; char *path; int res; if(!dicname) return NOENT; if ( !cx || !cx->ddpath || !cx->ddpath[0] ) return BADCONT; if (locatepath(userDDP, cx->ddpath, mode) < 0) { return ACCES; } /* find dictionary in current mount list */ dm = _RkSearchDDP(userDDP, (char *)dicname); if (!dm || ((mode & PL_DIC) && dm->dm_file->df_type != DF_FREQDIC)) { return NOENT; } if ( dm->dm_rcount > 0 ) return TXTBSY; if ( !dm->dm_file ) /* ? */ return BADCONT; if (!(dm->dm_file->df_direct->dd_flags & DD_WRITEOK) || (!(dm->dm_flags & DM_WRITEOK) && !(mode & KYOUSEI))) { return ACCES; } if (!(path = _RkMakePath(dm->dm_file))) return NOTALC; res = unlink(path); (void)free(path); if(res) return ACCES; dum_direct = dm->dm_file->df_direct; DMremove(dm); (void)_RkRealizeDD(dum_direct); return 0; } /* int * RkwRenameDic(cx_num, oldnick, newnick, mode) * * »ØÄꤵ¤ì¤¿¥³¥ó¥Æ¥¯¥¹¥È¤Ë»ØÄꤵ¤ì¤¿¼­½ñ¤¬Â¸ºß¤¹¤ì¤Ð * ¤½¤Î¼­½ñ¤Î̾Á°¤òÊѹ¹¤¹¤ë¡£ * * °ú¤­¿ô * int cx_num ¥³¥ó¥Æ¥¯¥¹¥È¥Ê¥ó¥Ð¡¼ * unsigned char *oldnick Êѹ¹¸µ¼­½ñ̾ * unsigned char *newnick Êѹ¹Àè¼­½ñ̾ * int mode ¶¯À©¥â¡¼¥É * * ÊÖ¤êÃÍ (RKdic.h»²¾È) * À®¸ù¤·¤¿¾ì¹ç 0 * oldnick¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -2 NOENT * RemoveDic¤ÎÊÖ¤êÃͤ¬-1¤Î¾ì¹ç -2 NOENT * ¼­½ñ¤¬¥Ð¥¤¥Ê¥ê¼­½ñ¤Ç¤¢¤Ã¤¿¾ì¹ç -9 BADF * RenameDicFile¤ÎÊÖ¤êÃͤ¬-1¤Î¾ì¹ç -13 ACCES * newnick¤¬Â¸ºß¤¹¤ë¾ì¹ç -17 EXIST * oldnick¤ò¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤¿¾ì¹ç -26 TXTBSY * newnick¤ò¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤¿¾ì¹ç -26 TXTBSY * ¥³¥ó¥Æ¥¯¥¹¥È¹½Â¤ÂΤ¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -100 BADCONT */ int RkwRenameDic(cx_num, old, new, mode) int cx_num; char *old; char *new; int mode; { struct RkContext *cx = RkGetContext(cx_num); struct DD *userDDP[2], *dd; struct DM *dm1, *dm2; char *path; char spec[RK_LINE_BMAX]; /* I leave this array on the stack because this will not glow so big. 1996.6.5 kon */ if(!old || !*old) return NOENT; if(!new || !*new) return ACCES; if (!cx || !cx->ddpath || !cx->ddpath[0]) return BADCONT; if (strlen((char *)new) >= (unsigned)RK_NICK_BMAX) { return INVAL; } if (locatepath(userDDP, cx->ddpath, mode) < 0) { return ACCES; } dm1 = _RkSearchDDP(userDDP, (char *)old); if (!dm1) { return NOENT; } dd = dm1->dm_file->df_direct; if (!(dd->dd_flags & DD_WRITEOK)) { return ACCES; } dm2 = _RkSearchDDP(userDDP, (char *)new); if (dm1->dm_rcount > 0) return TXTBSY; if (dm2) { /* ¿·¤·¤¤Ì¾Á°¤¬¡¢´û¤Ë¼­½ñ¤È¤·¤ÆÂ¸ºß¤¹¤ì¤Ð */ if (dm2->dm_rcount > 0) return TXTBSY; if (!(mode & KYOUSEI)) return EXIST; if (!(path = _RkMakePath(dm2->dm_file))) return NOTALC; (void)unlink(path); (void)free(path); DMremove(dm2); DMrename(dm1, new); (void)_RkRealizeDD(dd); return 1; } else { #ifndef WINDOWS_STYLE_FILENAME (void)sprintf(spec, "%s(.%s) -%s--%s%s-\n", "tmp.t", "mwd", new, (dm1->dm_flags & DM_READOK) ? "r" : "", (dm1->dm_flags & DM_WRITEOK) ? "w" : ""); #else (void)sprintf(spec, "%s(.%s) -%s--%s%s-\n", "tmp.ctd", "mwd", new, (dm1->dm_flags & DM_READOK) ? "r" : "", (dm1->dm_flags & DM_WRITEOK) ? "w" : ""); #endif if (!DMcheck(spec, new)) return NOENT; /* ¤Ê¤ó¤Ê¤ó¤À¤«Îɤ¯Ê¬¤«¤é¤Ê¤¤ (1993.11 º£) */ /* ¤¿¤á¤·¤Ë¤ä¤Ã¤Æ¤ß¤Æ¤¤¤ë¤Î¤«¤Ê¡© (1993.11 º£) */ DMrename(dm1, new); (void)_RkRealizeDD(dd); return 0; } } /* int * RkwCopyDic(cx, dir, from, to, mode) * * ¼­½ñ¤ò¥³¥Ô¡¼¤¹¤ë¡£ * * °ú¤­¿ô * int cx ¥³¥ó¥Æ¥¯¥¹¥È¥Ê¥ó¥Ð¡¼ * char *dir ¥Ç¥£¥ì¥¯¥È¥ê̾ * char *from ¥³¥Ô¡¼¸µ¼­½ñ̾ * char *to ¥³¥Ô¡¼Àè¼­½ñ̾ * int mode ¥â¡¼¥É * * ÊÖ¤êÃÍ (RKdic.h»²¾È) * À®¸ù¤·¤¿¾ì¹ç 0 * oldnick¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -2 NOENT * RemoveDic¤ÎÊÖ¤êÃͤ¬-1¤Î¾ì¹ç -2 NOENT * ¥Ç¥£¥ì¥¯¥È¥ê¤Î»ØÄ꤬¤ª¤«¤·¤¤¾ì¹ç -9 BADF * RenameDicFile¤ÎÊÖ¤êÃͤ¬-1¤Î¾ì¹ç -13 ACCES * ¥á¥â¥ê¤¬Â­¤ê¤Ê¤«¤Ã¤¿¾ì¹ç NOTALC * ¼­½ñ̾¤¬Ä¹¤¹¤®¤ë¾ì¹ç INVAL * newnick¤¬Â¸ºß¤¹¤ë¾ì¹ç -17 EXIST * oldnick¤ò¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤¿¾ì¹ç -26 TXTBSY * newnick¤ò¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤¿¾ì¹ç -26 TXTBSY * ¥³¥ó¥Æ¥¯¥¹¥È¹½Â¤ÂΤ¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -100 BADCONT */ int RkwCopyDic(co, dir, from, to, mode) int co; char *dir, *from, *to; int mode; { struct RkContext *cx; struct DD *userDDP[2]; struct DM *dm1, *dm2; char *path, *perm = DEFAULT_PERMISSION; char *myddname; int res, v, con; if (!dir || !*dir) { return BADF; } if (!from || !*from) return NOENT; if (!to || !*to) return ACCES; if (strlen((char *)to) >= (unsigned)RK_NICK_BMAX) { return INVAL; } res = BADCONT; con = RkwCreateContext(); cx = RkGetContext(co); if (!cx || !cx->ddpath || !cx->ddpath[0]) { if (con >= 0) RkwCloseContext(con); return BADCONT; } if (con >= 0) { int n = 2; /* for system dic */ switch (mode & (RK_GRP_DIC | RK_SYS_DIC)) { case RK_GRP_DIC: n = 1; /* for group dic */ case RK_SYS_DIC: if (!cx->ddpath[2]) { return BADCONT; } myddname = cx->ddpath[n]->dd_name; break; default: myddname = cx->ddpath[0]->dd_name; break; } res = NOTALC; path = malloc(strlen(dir) + 1 + strlen(myddname) + 1); if (path) { strcpy(path, dir); strcat(path, ":"); strcat(path, myddname); res = NOTALC; v = RkwSetDicPath(con, path); (void)free(path); if (v >= 0) { struct RkContext *cy = RkGetContext(con); res = ACCES; if (cy->ddpath[1]->dd_flags & DD_WRITEOK) { userDDP[0] = cy->ddpath[0]; userDDP[1] = (struct DD *)0; res = NOENT; dm1 = _RkSearchDDP(userDDP, from); if (dm1) { int type = dm1->dm_file->df_type; res = BADF; if (type != DF_RUCDIC) { userDDP[0] = cy->ddpath[1]; userDDP[1] = (struct DD *)0; dm2 = _RkSearchDDP(userDDP, to); if (dm2) { /* to ¤¬¤¢¤Ã¤Æ¡¢¶¯À©¥â¡¼¥É¤Ê¤é¾Ã¤¹ */ if (dm2->dm_rcount > 0) { res = TXTBSY; goto newdicUsed; } if (!(mode & KYOUSEI)) { res = EXIST; goto newdicUsed; } if (!(path = _RkMakePath(dm2->dm_file))) { res = NOTALC; goto newdicUsed; } (void)unlink(path); (void)free(path); switch (dm2->dm_flags & (DM_READOK | DM_WRITEOK)) { case (DM_READOK | DM_WRITEOK): perm = "rw"; break; case DM_READOK: perm = "r"; break; case DM_WRITEOK: perm = "w"; break; default: perm = ""; break; } DMremove(dm2); } { /* ¤¤¤è¤¤¤è¼­½ñ¤òºî¤ë */ char *template, *filename; RkwSync(co, from); /* sometimes, this failes to an error */ template = (type == DF_FREQDIC) ? FREQ_TEMPLATE : (type == DF_TEMPDIC) ? USER_TEMPLATE : PERM_TEMPLATE; res = ACCES; filename = _RkCreateUniquePath(userDDP[0], template); if (filename) { char spec[RK_LINE_BMAX]; /* I leave this array on the stack because this will not glow so big. 1996.6.5 kon */ (void)sprintf(spec, "%s(%s) -%s--%s-\n", filename, dm1->dm_dicname, to, perm); res = NOTALC; dm2 = DMcreate(userDDP[0], spec); if (dm2) { res = ACCES; if (copyFile(dm1, dm2) == 0) { (void)_RkRealizeDD(userDDP[0]); res = 0; } else { DMremove(dm2); } } } } } } newdicUsed:; } } } RkwCloseContext(con); } return res; } /* int * RkwChmodDic(cx_num, dicname, mode) * * ¼­½ñ¤Î¥â¡¼¥É¤òÊѹ¹¤¹¤ë¡£ * * °ú¤­¿ô * int cx_num ¥³¥ó¥Æ¥¯¥¹¥È * char dicname ¼­½ñ̾ * int mode ¥â¡¼¥É * * ÊÖ¤êÃÍ (RKdic.h»²¾È) * À®¸ù¤·¤¿¾ì¹ç 0 * dicname¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -2 NOENT * DMchmod ¤ÎÊÖ¤êÃͤ¬-1¤Î¾ì¹ç -13 ACCES * ¥³¥ó¥Æ¥¯¥¹¥È¹½Â¤ÂΤ¬Â¸ºß¤·¤Ê¤¤¾ì¹ç -100 BADCONT */ int RkwChmodDic(cx_num, dicname, mode) int cx_num; char *dicname; int mode; { struct RkContext *cx = RkGetContext(cx_num); struct DD *dd, *userDDP[2]; struct DM *dm; int res; unsigned dirmode; res = BADCONT; if (cx && cx->ddpath && cx->ddpath[0]) { dirmode = mode & RK_DIRECTORY; if (dirmode != 0) { /* ¥Ç¥£¥ì¥¯¥È¥ê */ switch (dirmode) { case RK_SYS_DIR: dd = (struct DD *)0; /* or SX.ddpath[0] */ break; case RK_GRP_DIR: if (cx->ddpath[1] && cx->ddpath[2]) { dd = cx->ddpath[1]; } break; default: /* RK_USR_DIR */ dd = cx->ddpath[0]; break; } res = dd ? DDchmod(dd, mode) : ACCES; } else { /* ¥Õ¥¡¥¤¥ë */ res = ACCES; if (locatepath(userDDP, cx->ddpath, mode) == 0) { res = NOENT; if(dicname && *dicname) { dm = _RkSearchDDP(userDDP, dicname); res = NOENT; if (dm) { struct DD *dd = dm->dm_file->df_direct; res = DMchmod(dm, mode); if (res >= 0) { (void)_RkRealizeDD(dd); } else { res = ACCES; } } } } } } return res; } /* * GetLine(cx, gram, tdp, line) * struct RkContext *cx * struct RkKxGram *gram * struct TD *tdp * Wchar *line * * ÊÖ¤êÃÍ À®¸ù 0 * ¼ºÇÔ -1 */ static struct td_n_tupple * pushTdn(cx, tdp) struct RkContext *cx; struct TD *tdp; { struct td_n_tupple *new; struct _rec *gwt; if (!cx || !(gwt = (struct _rec *)cx->cx_gwt) || !(new = (struct td_n_tupple *)malloc(sizeof(struct td_n_tupple)))) { return (struct td_n_tupple *)0; } new->td = (char *)tdp; new->n = 0; new->next = (struct td_n_tupple *)gwt->tdn; gwt->tdn = (struct td_n_tupple *)new; return new; } void freeTdn(cx) /* tdn ¤ò next ¤ò¤¿¤É¤ê¤Ê¤¬¤é free ¤¹¤ë */ struct RkContext *cx; { struct td_n_tupple *work; struct _rec *gwt = (struct _rec *)cx->cx_gwt; if (gwt) { while((work = gwt->tdn) != (struct td_n_tupple *)0) { gwt->tdn = work->next; (void)free((char *)work); }; }; } static void popTdn(cx) struct RkContext *cx; { struct td_n_tupple *work; struct _rec *gwt = (struct _rec *)cx->cx_gwt; work = gwt->tdn; if (work) { gwt->tdn = work->next; (void)free(work); } } static GetLine(cx, gram, tdp, line, size) struct RkContext *cx; struct RkKxGram *gram; struct TD *tdp; Wchar *line; int size; { struct TD *vtd; struct TN *vtn; struct _rec *gwt = (struct _rec *)cx->cx_gwt; if (tdp) { if (gwt->tdn) freeTdn(cx); if(!pushTdn(cx, tdp)) return NOTALC; } while (gwt->tdn && gwt->tdn->n >= (int)((struct TD *)gwt->tdn->td)->td_n) popTdn(cx); if (gwt->tdn == (struct td_n_tupple *)0) return -1; vtd = (struct TD *)gwt->tdn->td; vtn = vtd->td_node + gwt->tdn->n; while ( !IsWordNode(vtn) ) { gwt->tdn->n++; if(!pushTdn(cx, vtn->tn_tree)) return NOTALC; vtd = (struct TD *)gwt->tdn->td; vtn = vtd->td_node; } if (RkUparseWrec(gram, vtn->tn_word->word, line, size, vtn->tn_word->lucks)) { gwt->tdn->n++; return 0; } else return -1; } /* * RkwGetWordTextDic(cx_num, dirname, dicname, info, infolen) * * int cx_num ¥³¥ó¥Æ¥¯¥¹¥ÈNO * unsigned char *dirname ¥Ç¥£¥ì¥¯¥È¥ê̾ * unsigned char *dicname ¼­½ñ̾ * unsigned char *info ¥Ð¥Ã¥Õ¥¡ * int infolen ¥Ð¥Ã¥Õ¥¡¤ÎŤµ * * ÊÖ¤êÃÍ : ¼ÂºÝ¤Ëinfo¤ËÆþ¤Ã¤¿Ä¹¤µ * ºÇ¸å¤Þ¤ÇÆÉ¤ó¤Ç¤¤¤¿¤é £°¤òÊÖ¤¹ * RkwCreateContext¤Ë¼ºÇÔ¤·¤¿ BADCONT * RkwDuplicateContext¤Ë¼ºÇÔ¤·¤¿ BADCONT * RkGetContext¤Ë¼ºÇÔ¤·¤¿ BADCONT * RkwSetDicPath¤Ë¼ºÇÔ¤·¤¿ NOTALC * RkwMountDic¤Ë¼ºÇÔ¤·¤¿ NOENT * SearchUDDP¤Ë¼ºÇÔ¤·¤¿ NOENT * ¥Ð¥¤¥Ê¥ê¼­½ñ¤À¤Ã¤¿ -9 BADF * dics.dir¤Ë°Û¾ï¤¬¤¢¤Ã¤¿¾ì¹ç -10 BADDR */ int RkwGetWordTextDic(cx_num, dirname, dicname, info, infolen) int cx_num; unsigned char *dirname; unsigned char *dicname; Wchar *info ; int infolen ; { struct RkContext *new_cx, *cx; struct DM *dm; int new_cx_num; struct TD *initial_td; unsigned size; unsigned char *buff = 0; struct _rec *gwt; if (!dicname || !dirname || !info || !(cx = RkGetContext(cx_num)) || !(gwt = (struct _rec *)cx->cx_gwt)) return BADCONT; if(dicname[0] != '\0') { size = strlen((char *)dicname) + 1; if (!(buff = (unsigned char *)malloc(size))) return (NOTALC); (void)strcpy((char *)buff, (char *)dicname); if(dirname[0] != '\0') { if((new_cx_num = RkwCreateContext()) < 0) { (void)free((char *)buff); return BADCONT; } if(RkwSetDicPath(new_cx_num, (char *)dirname) < 0) { RkwCloseContext(new_cx_num); (void)free((char *)buff); return NOTALC; } } else { if ((new_cx_num = RkwDuplicateContext(cx_num)) < 0) { (void)free((char *)buff); return BADCONT; } } if (!(cx = RkGetContext(cx_num)) || !(gwt = (struct _rec *)cx->cx_gwt)) { RkwCloseContext(new_cx_num); (void)free((char *)buff); return BADCONT; } if (!(new_cx = RkGetContext(new_cx_num))) { if(dirname[0] != '\0') { RkwCloseContext(new_cx_num); (void)free((char *)buff); return BADCONT; } } if (gwt->gwt_cx >= 0) { RkwCloseContext(gwt->gwt_cx); gwt->gwt_cx = -1; } if(!STRCMP(dirname, SYSTEM_DDHOME_NAME)) { if (!(dm = _RkSearchDDP(new_cx->ddpath, (char *)dicname))) { if (dirname[0] != '\0') { RkwCloseContext(new_cx_num); } (void)free((char *)buff); return NOENT; } } else { if (!(dm = _RkSearchUDDP(new_cx->ddpath, dicname))) { if(dirname[0] != '\0') { RkwCloseContext(new_cx_num); } (void)free((char *)buff); return NOENT; } } if (DM2TYPE(dm) != DF_TEMPDIC ) { if(dirname[0] != '\0') { RkwCloseContext(new_cx_num); } (void)free((char *)buff); return BADF; } if(RkwMountDic(new_cx_num, (char *)dicname,0) == -1) { RkwCloseContext(new_cx_num); (void)free((char *)buff); return NOMOUNT; } if (!_RkSearchDDP(new_cx->ddpath, (char *)dicname)) { RkwCloseContext(new_cx_num); (void)free((char *)buff); return BADDR; } gwt->gwt_cx = new_cx_num; if (gwt->gwt_dicname) (void)free((char *)gwt->gwt_dicname); gwt->gwt_dicname = buff; initial_td = (struct TD *)dm->dm_td; } else { if ((new_cx_num = gwt->gwt_cx) < 0 || !(new_cx = RkGetContext(new_cx_num))) { if (gwt->gwt_dicname) (void)free((char *)gwt->gwt_dicname); gwt->gwt_dicname = (unsigned char *)0; return BADCONT; } initial_td = (struct TD *)0; } if (GetLine(new_cx, cx->gram->gramdic, (struct TD *)initial_td, info, infolen) < 0) { RkwUnmountDic(new_cx_num, (char *)gwt->gwt_dicname); RkwCloseContext(new_cx_num); gwt->gwt_cx = -1; return 0; } infolen = uslen((Wchar *)info); return infolen; } Canna37p3/lib/RK/dicsw.c0100644000076500001200000000462007554213601014211 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="$Id: dicsw.c,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $"; #endif /*LINTLIBRARY*/ #include "RKintern.h" extern _Rkpopen pro((struct DM *, char *, int, struct RkKxGram *)); extern _Rkpclose pro((struct DM *, char *, struct RkKxGram *)); extern _Rkpsearch pro((struct RkContext *, struct DM *, Wchar *, int, struct nread *, int, int *)); extern _Rkpio pro((struct DM *, struct ncache *, int)); extern _Rkpctl pro((struct DM *, struct DM *, int, Wchar *, struct RkKxGram *)); extern _Rkpsync pro((struct RkContext *, struct DM *, struct DM *)); extern _Rktopen pro((struct DM *, char *, int, struct RkKxGram *)); extern _Rktclose pro((struct DM *, char *, struct RkKxGram *)); extern _Rktsearch pro((struct RkContext *, struct DM *, Wchar *, int, struct nread *, int, int *)); extern _Rktio pro((struct DM *, struct ncache *, int)); extern _Rktctl pro((struct DM *, struct DM *, int, Wchar *, struct RkKxGram *)); extern _Rktsync pro((struct RkContext *, struct DM *, struct DM *)); struct RkDST _RkDST[] = { /* PERMDIC */ { _Rkpopen, _Rkpclose, _Rkpsearch, _Rkpio, _Rkpctl, _Rkpsync, }, /* TEMPDIC */ { _Rktopen, _Rktclose, _Rktsearch, _Rktio, _Rktctl, _Rktsync, }, }; Canna37p3/lib/RK/fq.c0100644000076500001200000003712707732020154013513 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="$Id: fq.c,v 1.6 2003/09/17 08:50:52 aida_s Exp $"; #endif #include "RKintern.h" #ifdef __CYGWIN32__ #include /* for O_BINARY */ #endif #define dm_xdm dm_extdata.ptr struct xqm { off_t ex_boff; long ex_bsiz; }; struct RUT * allocRUT(hn) unsigned long hn; { struct RUT *tempo; if (!(tempo = (struct RUT *)calloc(1, sizeof(struct RUT)))) return((struct RUT *) 0); if (!(tempo->dp = (struct CTdata **)calloc((size_t) hn, sizeof(struct CTdata *)))){ free(tempo); return((struct RUT *) 0); } return tempo; } static int WrToRut(ruc, csn, tick) struct RUT *ruc; unsigned long csn, tick; { unsigned long whn; struct CTdata *wd, **pwd; whn = HashFunc(csn); for (pwd = ruc->dp+whn, wd = *pwd ; wd; pwd = &wd->next, wd = *pwd) { if (wd->ct[0] == csn) { WriteCT(csn, tick, wd->ct); return 0; } } if (!(wd = (struct CTdata *)calloc(1, sizeof(struct CTdata)))) return -1; *pwd = wd; WriteCT(csn, tick, wd->ct); return 1; } static unsigned long UpdateFrst(ruc) struct RUT *ruc; { unsigned long wmin, wtick, frst, lc; struct CTdata *wd; wmin = 0xffffffffL; frst = 0xfffffL; for (lc = 0; lc < HN; lc++) { for (wd = *(ruc->dp+lc) ; wd; wd = wd->next) { if (wmin > (wtick = wd->ct[1])) { frst = wd->ct[0]; wmin = wtick; } } } if(frst == (unsigned long) 0xffffffff) return (unsigned long) 0L; return frst; } static int deleteCT(ruc, csn) struct RUT *ruc; unsigned long csn; { unsigned long whn; struct CTdata *wd, **pre; whn = HashFunc(csn); for (pre = ruc->dp+whn, wd = *pre; ; pre = &wd->next, wd = *pre){ if (!wd) return 0; if (wd->ct[0] == csn) break; } *pre = wd->next; free(wd); return 1; } unsigned long searchRut(ruc, csn) struct RUT *ruc; unsigned long csn; { unsigned long whn; struct CTdata *wd; whn = HashFunc(csn); for (wd = *(ruc->dp+whn) ; wd; wd = wd->next) { if (wd->ct[0] == csn) return wd->ct[1]; } return (unsigned long) 0L; } static struct CTdata * searchCTadd(ruc, csn) struct RUT *ruc; unsigned long csn; { unsigned long whn; struct CTdata *wd; whn = HashFunc(csn); for (wd = *(ruc->dp+whn) ; wd; wd = wd->next) { if (wd->ct[0] == csn) return wd; } return (struct CTdata *) 0; } int entryRut(ruc, csn, tick) struct RUT *ruc; unsigned long csn, tick; { struct CTdata *wpadd; int retval; retval = 1; if (ruc->cs < ruc->sz) switch (WrToRut(ruc, csn, tick)) { case 0: break; case 1: if (++(ruc->cs) == ruc->sz) ruc->frst = UpdateFrst(ruc); break; case -1: return (int) 0; } else { wpadd = searchCTadd(ruc, csn); if (wpadd) { WriteCT(csn, tick, wpadd->ct); if (csn == ruc->frst) ruc->frst = UpdateFrst(ruc); } else { if (deleteCT(ruc, ruc->frst)){ if (WrToRut(ruc, csn, tick) < 0){ ruc->cs -= 1L; retval = 0; } } else retval = 0; ruc->frst = UpdateFrst(ruc); } } return retval; } static struct WRT * allocWRT(size) unsigned long size; { struct WRT *tempo; if (!(tempo = (struct WRT *)calloc(1, sizeof(struct WRT)))) return((struct WRT *) 0); if (!(tempo->buf = (unsigned char *)calloc(1, (int) 5*size))){ free(tempo); return((struct WRT *) 0); } tempo->sz = size; return tempo; } static struct WRT * readWRT(fr) int fr; { unsigned long wsz, wcs, wfrst, wtm; unsigned char ll[4]; struct WRT *wrt; if (read(fr, (char *)ll, 4) != 4) return (struct WRT *) 0; wsz = (unsigned long) bst4_to_l(ll); if (read(fr, (char *)ll, 4) != 4) return (struct WRT *) 0; wcs = (unsigned long) bst4_to_l(ll); if (read(fr, (char *)ll, 4) != 4) return (struct WRT *) 0; wfrst = (unsigned long) bst4_to_l(ll); if (read(fr, (char *)ll, 4) != 4) return (struct WRT *) 0; wtm = (unsigned long) bst4_to_l(ll); if (!(wrt = allocWRT(wsz))) return (struct WRT *) 0; wrt->cs = wcs; wrt->frst = wfrst; wrt->tm = wtm; if (wsz) { if (read(fr, wrt->buf, (unsigned) 5*wsz) != 5*(int)wsz) { freeWRT(wrt); return (struct WRT *) 0; } } return wrt; } static int writeToWRT pro((int, struct WRT *)); static int writeToWRT(fr, wrt) int fr; struct WRT *wrt; { unsigned char ll[4]; l_to_bst4(wrt->sz, ll); if (write(fr, (char *)ll, 4) != 4) return 0; l_to_bst4(wrt->cs, ll); if (write(fr, (char *)ll, 4) != 4) return 0; l_to_bst4(wrt->frst, ll); if (write(fr, (char *)ll, 4) != 4) return 0; l_to_bst4(wrt->tm, ll); if (write(fr, (char *)ll, 4) != 4) return 0; if (wrt->sz) { if (write(fr, wrt->buf, (unsigned) 5*wrt->sz) != 5*(int)wrt->sz) return 0; } return 1; } static void abolishNV(nv) struct NV *nv; { struct NVE *p, **q, *r; unsigned i; if (nv && nv->tsz && nv->buf) { for (i = 0, q = nv->buf + i; i < nv->tsz; i++, q = nv->buf + i) { for (p = *q; p; p = r) { r = p->next; if (p->data) (void)free((char *)p->data); (void)free((char *)p); } } (void)free(nv->buf); (void)free(nv); } return; } static struct NV * readNV(fd) int fd; { struct NV *vn; unsigned char ll[4], *buf, *p; long i, cnt; vn = (struct NV *)malloc(sizeof(struct NV)); if (vn) { if (read(fd, (char *)ll, 4) == 4) { vn->sz = bst4_to_l(ll); if (read(fd, (char *)ll, 4) == 4) { cnt = bst4_to_l(ll); if (read(fd, (char *)ll, 4) == 4) { vn->tsz = bst4_to_l(ll); if (read(fd, (char *)ll, 4) == 4) { goto read_ok; } } } } (void)free((char *)vn); } return (struct NV *)0; read_ok: vn->cnt = vn->csz = 0L; vn->head.left = vn->head.right = &vn->head; if (vn->sz) { if (!(vn->buf = (struct NVE **)calloc((size_t)vn->tsz, sizeof(struct NVE *)))) { (void)free((char *)vn); return((struct NV *)0); } if (!(buf = (unsigned char *)malloc((size_t)vn->sz)) || read(fd, buf, (unsigned int)vn->sz) != (int)vn->sz) { (void)free((char *)vn->buf); if (buf) (void)free((char *)buf); (void)free((char *)vn); return((struct NV *)0); } for (p = buf, i = 0L; i < cnt; i++, p += *p*2 + 2) if ((unsigned long) (p - buf) + *p * 2 + 2 < vn->sz) _RkRegisterNV(vn, p + 2, (int)*p, (int)*(p + 1)); (void)free((char *)buf); } else { (void)free(vn); return((struct NV *)0); } vn->head.right->left = &vn->head; vn->head.left->right = &vn->head; return(vn); } static int writeNV(fd, nv) int fd; struct NV *nv; { unsigned char ll[4]; unsigned char *buf = (unsigned char *)0, *r; struct NVE *p, **q; unsigned long i; if (!nv) return(-1); if (nv->buf) { if (!(buf = (unsigned char *)malloc((size_t)nv->sz))) return(-1); for (r = buf, i = 0L, q = nv->buf; i < nv->tsz; i++, q = nv->buf + i) { for (p = *q; p; q = &p->next, p = *q) { if ((unsigned long) (r - buf) + *(p->data)*2 + 2 < nv->sz) { memcpy(r, p->data, *(p->data)*2+2); r += *(p->data)*2+2; } else { i = nv->tsz; break; } } } } l_to_bst4(nv->sz, ll); if (write(fd, (char *)ll, 4) == 4) { l_to_bst4(nv->cnt, ll); if (write(fd, (char *)ll, 4) == 4) { l_to_bst4(nv->tsz, ll); if (write(fd, (char *)ll, 4) == 4) { l_to_bst4((unsigned long)0, ll); if (write(fd, (char *)ll, 4) == 4) { if (!nv->sz || (buf && write(fd, buf, (int) nv->sz) == (int)nv->sz)) { goto write_ok; } } } } } if (buf) (void)free((char *)buf); return(-1); write_ok: if (buf) (void)free((char *)buf); return(0); } static void freeRUT(ruc) struct RUT *ruc; { struct CTdata *wd, *nex; unsigned long lc; for (lc = 0; lc < HN; lc++) { for (wd = *(ruc->dp+lc); wd; wd = nex) { nex = wd->next; free(wd); } } free(ruc->dp); free(ruc); } struct RUT * LoadRUC(fr) int fr; { struct WRT *wruc; struct RUT *ruc; unsigned long lc, csn, tick; if (!(wruc = readWRT(fr))) return (struct RUT *) 0; if (!(ruc = allocRUT(HN))) { freeWRT(wruc); return (struct RUT *) 0; } ruc->sz = wruc->sz; ruc->cs = 0L; ruc->frst = wruc->frst; ruc->tm = wruc->tm; for (lc = 0; lc < wruc->cs; lc++) { unsigned char *tmp = wruc->buf + 5 * lc; csn = a_csn(tmp); tick = _RkGetTick(0) - a_tick(wruc->buf+5*lc); if (!entryRut(ruc, csn, tick)) { freeRUT(ruc); ruc = (struct RUT *) 0; } } freeWRT(wruc); return ruc; } static int SaveRUC pro((int, struct RUT *)); static int SaveRUC(fr, ruc) int fr; struct RUT *ruc; { struct WRT *wruc; struct CTdata *wdp; unsigned long lc, count; int retval; if (!ruc) return (int) 0; retval = 1; if (!(wruc = allocWRT(ruc->sz))){ freeRUT(ruc); return (int) 0; } wruc->sz = ruc->sz; wruc->cs = ruc->cs; wruc->frst = ruc->frst; wruc->tm = ruc->tm; count = 0L; for (lc = 0L; lc < HN; lc++) { for (wdp = *(ruc->dp+lc) ; wdp; wdp = wdp->next) { WriteVal(wdp->ct[0], _RkGetTick(0) - wdp->ct[1], wruc->buf+5*count); count ++; } } if (count != ruc->cs) { retval = (int) 0; } if (!writeToWRT(fr, wruc)) retval = 0; freeWRT(wruc); return retval; } static int FQscan(df, codm, file, w) struct DF *df; struct DM *codm; char *file; int *w; { int count = 0; struct HD hd; struct DM *dm, *dmh; unsigned char ll[4]; unsigned long bitsiz, bitoff; off_t off; int fd; *w = 1; if ((fd = open(file, 2)) < 0) { *w = 0; if ((fd = open(file, 0)) < 0) return -1; } #ifdef __CYGWIN32__ setmode(fd, O_BINARY); #endif for (off = 0; _RkReadHeader(fd, &hd, off) >= 0;) { long start = off; if (!hd.data[HD_DMNM].ptr || (strncmp(".fq", (char *)hd.data[HD_DMNM].ptr + strlen((char *)hd.data[HD_DMNM].ptr) - (sizeof(".fq") - 1), sizeof(".fq") - 1) && strncmp(".cld", (char *)hd.data[HD_DMNM].ptr + strlen((char *)hd.data[HD_DMNM].ptr) - (sizeof(".cld") - 1), sizeof(".cld") - 1)) ) { break; } if (!codm->dm_xdm || (long)((struct ND *)codm->dm_xdm)->rec != hd.data[HD_REC].var || (long)((struct ND *)codm->dm_xdm)->can != hd.data[HD_CAN].var) break; if (hd.flag[HD_CRC]) { if (!((struct ND *)codm->dm_xdm)->crc_found || (long)((struct ND *)codm->dm_xdm)->crc != hd.data[HD_CRC].var) break; } else { if (((struct ND *)codm->dm_xdm)->crc_found || (long)((struct ND *)codm->dm_xdm)->time != hd.data[HD_TIME].var) break; } off += hd.data[HD_HSZ].var; (void)lseek(fd, off, 0); (void)read(fd, (char *)ll, 4); off += 4; bitsiz = L4TOL(ll); bitoff = off; off += bitsiz; (void)lseek(fd, off, 0); dmh = &df->df_members; for (dm = dmh->dm_next; dm != dmh; dm = dm->dm_next) { if (!strcmp((char *)dm->dm_dicname, (char *)hd.data[HD_CODM].ptr)) { struct xqm *xqm; if (!(xqm = (struct xqm *)malloc(sizeof(struct xqm)))) break; dm->dm_extdata.ptr = (pointer)xqm; xqm->ex_boff = bitoff; xqm->ex_bsiz = bitsiz; dm->dm_flags |= DM_EXIST; dm->dm_offset = start; count++; break; } } _RkClearHeader(&hd); } _RkClearHeader(&hd); if (!count) { (void)close(fd); return -1; } df->df_size = off; df->df_extdata.var = (long)fd; return fd; } int FQopen(dm, qm, file, mode) struct DM *dm; struct DM *qm; char *file; int mode; { struct DF *df; struct DD *dd; struct xqm *xqm; int writable; int fd; /* missing file info ? */ if (!(df = qm->dm_file) || !(dd = df->df_direct)) return -1; /* initialize df */ if (!df->df_rcount) { df->df_extdata.var = (long)FQscan(df, dm, file, &writable); if (df->df_extdata.var < 0) return -1; if (writable) df->df_flags |= DF_WRITABLE; else df->df_flags &= ~DF_WRITABLE; df->df_flags |= DF_EXIST; dd->dd_rcount++; } /* * this member is not included. */ if (!(qm->dm_flags & DM_EXIST)) return -1; if (strcmp(dm->dm_dicname, qm->dm_dicname)) return -1; /* */ xqm = (struct xqm *)qm->dm_extdata.ptr; fd = df->df_extdata.var; qm->dm_rut = (struct RUT *)0; qm->dm_nv = (struct NV *)0; /* dispatch */ qm->dm_qbits = (unsigned char *)malloc((unsigned)xqm->ex_bsiz); if (!qm->dm_qbits) return -1; (void)lseek(fd, xqm->ex_boff, 0); (void)read(fd, (char *)qm->dm_qbits, (int)xqm->ex_bsiz); qm->dm_rut = LoadRUC(fd); qm->dm_nv = readNV(fd); df->df_rcount++; if ((mode & DM_WRITABLE) && (df->df_flags & DF_WRITABLE)) { qm->dm_flags |= DM_WRITABLE; } return 0; } /* * CLOSE */ /*ARGSUSED*/ void FQclose(cx, dm, qm, file) struct RkContext *cx; struct DM *dm; struct DM *qm; char *file; { struct DF *df = qm->dm_file; struct xqm *xqm; int fd = (int)df->df_extdata.var; xqm = (struct xqm *)qm->dm_extdata.ptr; if (xqm) { if (qm->dm_qbits) { if (qm->dm_flags & DM_UPDATED) { (void)lseek(fd, xqm->ex_boff, 0); (void)write(fd, (char *)qm->dm_qbits, (int)xqm->ex_bsiz); }; (void)free((char *)qm->dm_qbits); qm->dm_qbits = (unsigned char *)0; } } if (qm->dm_rut) { if (qm->dm_flags & DM_UPDATED) SaveRUC(fd, qm->dm_rut); freeRUT(qm->dm_rut); qm->dm_rut = (struct RUT *)0; } if (qm->dm_nv) { if (qm-> dm_flags & DM_UPDATED) writeNV(fd, qm->dm_nv); abolishNV(qm->dm_nv); qm->dm_nv = (struct NV *)0; } qm->dm_flags &= ~DM_UPDATED; if (--df->df_rcount == 0) { struct DM *dmh, *ddm; (void)close(fd); dmh = &df->df_members; for (ddm = dmh->dm_next; ddm != dmh; ddm = ddm->dm_next) { xqm = (struct xqm *)ddm->dm_extdata.ptr; if (xqm) { (void)free((char *)xqm); ddm->dm_extdata.ptr = (pointer)0; } } } } int FQsync(cx, dm, qm, file) struct RkContext *cx; struct DM *dm; struct DM *qm; char *file; /* ARGSUSED */ { struct DF *df = qm->dm_file; struct xqm *xqm; int rv; int fd = (int)df->df_extdata.var; rv = 0; xqm = (struct xqm *)qm->dm_extdata.ptr; if (xqm) { if (qm->dm_qbits) { if (qm->dm_flags & DM_UPDATED) { (void)lseek(fd, xqm->ex_boff, 0); if (write(fd, (char *)qm->dm_qbits, (int)xqm->ex_bsiz) != (int) xqm->ex_bsiz) rv = -1; if (qm->dm_rut) rv = SaveRUC(fd, qm->dm_rut) - 1; if (qm->dm_nv) rv = writeNV(fd, qm->dm_nv); } if (!rv) qm->dm_flags &= ~DM_UPDATED; } } return (rv); } /* vim: set sw=2: */ Canna37p3/lib/RK/Imakefile0100644000076500001200000000455207643663171014563 0ustar shinraadmin/* $Id: Imakefile,v 1.4 2003/04/05 23:27:53 aida_s Exp $ */ #include "../../Canna.conf" CANNAROOT = ../.. DEFINES = $(DEBUGFLAGS) $(useObsoleteFilename) /* -DRK_LOG */ INCLUDES = -I$(CANNAROOT)/include #ifdef Debug DEBUGFLAGS = -DDebug #endif OBJS = tempdic.o permdic.o dicsw.o ngram.o \ bun.o context.o nword.o ncache.o \ dic.o util.o kana.o \ bits.o dd.o fq.o SRCS = dicsw.c permdic.c tempdic.c ngram.c \ context.c bun.c ncache.c \ nword.c dic.c util.c kana.c \ bits.c dd.c fq.c HEADER = RK.h HEADERS = $(HEADER) RKintern.h NormalLibraryObjectRule() NormalLibraryTarget(RK,$(OBJS)) NormalLintTarget($(SRCS)) LintLibraryTarget(RK,$(SRCS)) DependTarget() LinkFileList(includes,$(HEADER),$(CANNAROOT)/include/canna,../../lib/RK) LinkFileList(includes,RKrename.h,$(CANNAROOT)/include,../lib/RK) InstallMultiple($(HEADER),$(cannaIncDir)) InstallLibManPageLong(RkBgnBun,$(cannaManDir),RkBgnBun) InstallLibManPageLong(RkDefine,$(cannaManDir),RkDefineDic) InstallLibManPageLong(RkDelete,$(cannaManDir),RkDeleteDic) InstallLibManPageLong(RkEndBun,$(cannaManDir),RkEndBun) InstallLibManPageLong(RkEnlarg,$(cannaManDir),RkEnlarge) InstallLibManPageLong(RkFinali,$(cannaManDir),RkFinalize) InstallLibManPageLong(RkGetDic,$(cannaManDir),RkGetDicList) InstallLibManPageLong(RkGetKan,$(cannaManDir),RkGetKanji) InstallLibManPageLong(RkGetLex,$(cannaManDir),RkGetLex) InstallLibManPageLong(RkGetSta,$(cannaManDir),RkGetStat) InstallLibManPageLong(RkGetYom,$(cannaManDir),RkGetYomi) InstallLibManPageLong(RkGoto,$(cannaManDir),RkGoto) InstallLibManPageLong(RkInitia,$(cannaManDir),RkInitialize) InstallLibManPageLong(RkIntro,$(cannaManDir),RkIntro) InstallLibManPageLong(RkLeft,$(cannaManDir),RkLeft) InstallLibManPageLong(RkMountD,$(cannaManDir),RkMountDic) InstallLibManPageLong(RkNext,$(cannaManDir),RkNext) InstallLibManPageLong(RkNfer,$(cannaManDir),RkNfer) InstallLibManPageLong(RkPrev,$(cannaManDir),RkPrev) InstallLibManPageLong(RkRemoun,$(cannaManDir),RkRemountDic) InstallLibManPageLong(RkResize,$(cannaManDir),RkResize) InstallLibManPageLong(RkRight,$(cannaManDir),RkRight) InstallLibManPageLong(RkShorte,$(cannaManDir),RkShorten) InstallLibManPageLong(RkStoreY,$(cannaManDir),RkStoreYomi) InstallLibManPageLong(RkUnmoun,$(cannaManDir),RkUnmountDic) InstallLibManPageLong(RkXfer,$(cannaManDir),RkXfer) Canna37p3/lib/RK/kana.c0100644000076500001200000007024707732020154014017 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="@(#) 102.1 $Id: kana.c,v 1.2 2003/09/17 08:50:52 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "RKintern.h" #define SUUJI_THROUGH 0 #define SUUJI_HANKAKU 1 #define SUUJI_ZENKAKU 2 #define SUUJI_SIMPLEKANJI 3 #define SUUJI_FULLKANJI 4 #define SUUJI_FULLKANJITRAD 5 #define SUUJI_WITHKANJIUNIT 6 #define SUUJI_WITHCOMMA 7 /* RkCvtZen * hankaku moji wo zenkaku moji ni suru */ static Wchar hiragana[] = { /* 0x00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 0x10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 0x20 */ 0xa1a1, 0xa1aa, 0xa1ed, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0xa1c7, 0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0xa1dd, 0xa1a5, 0xa1bf, /* 0x30 */ 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, 0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9, /* 0x40 */ 0xa1f7, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7, 0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf, /* 0x50 */ 0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7, 0xa3d8, 0xa3d9, 0xa3da, 0xa1ce, 0xa1ef, 0xa1cf, 0xa1b0, 0xa1b2, /* 0x60 */ 0xa1c6, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7, 0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef, /* 0x70 */ 0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7, 0xa3f8, 0xa3f9, 0xa3fa, 0xa1d0, 0xa1c3, 0xa1d1, 0xa1c1, 0xa2a2, /*0x80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xa0 */ 0xa1a1, 0xa1a3, 0xa1d6, 0xa1d7, 0xa1a2, 0xa1a6, 0xa4f2, 0xa4a1, 0xa4a3, 0xa4a5, 0xa4a7, 0xa4a9, 0xa4e3, 0xa4e5, 0xa4e7, 0xa4c3, /*0xb0 */ 0xa1bc, 0xa4a2, 0xa4a4, 0xa4a6, 0xa4a8, 0xa4aa, 0xa4ab, 0xa4ad, 0xa4af, 0xa4b1, 0xa4b3, 0xa4b5, 0xa4b7, 0xa4b9, 0xa4bb, 0xa4bd, /*0xc0 */ 0xa4bf, 0xa4c1, 0xa4c4, 0xa4c6, 0xa4c8, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf, 0xa4d2, 0xa4d5, 0xa4d8, 0xa4db, 0xa4de, /*0xd0 */ 0xa4df, 0xa4e0, 0xa4e1, 0xa4e2, 0xa4e4, 0xa4e6, 0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ef, 0xa4f3, 0xa1ab, 0xa1ac, /* 0xe0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 0xf0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, }; static Wchar hankaku[] = { /*0x00*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x10*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x20*/ 0x0000, ' ', 0x8ea4, 0x8ea1, ',', '.', 0x8ea5, ':', ';', '?', '!', 0x8ede, 0x8edf, 0x0000, 0x0000, 0x0000, /*0x30*/ '^', 0x0000, '_', 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8eb0, 0x0000, 0x0000, '/', /*0x40*/ 0x0000, '~', 0x0000, '|', 0x0000, 0x0000, '\'', '\'', '"', '"', '(', ')', '[', ']', '[', ']', /*0x50*/ '{', '}', 0x0000, 0x0000, 0x0000, 0x0000, 0x8ea2, 0x8ea3, 0x0000, 0x0000, 0x0000, 0x0000, '+', '-', 0x0000, 0x0000, /*0x60*/ 0x0000, '=', 0x0000, '<', '>', 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, '\\', /*0x70*/ '$',0x0000, 0x0000, '%', '#', '&', '*', '@', 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x80*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0x90*/ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /*0xa0*/ 0x0020, 0x00a7, 0x00b1, 0x00a8, 0x00b2, 0x00a9, 0x00b3, 0x00aa, 0x00b4, 0x00ab, 0x00b5, 0x00b6, 0xb6de, 0x00b7, 0xb7de, 0x00b8, /*0xb0*/ 0xb8de, 0x00b9, 0xb9de, 0x00ba, 0xbade, 0x00bb, 0xbbde, 0x00bc, 0xbcde, 0x00bd, 0xbdde, 0x00be, 0xbede, 0x00bf, 0xbfde, 0x00c0, /*0xc0*/ 0xc0de, 0x00c1, 0xc1de, 0x00af, 0x00c2, 0xc2de, 0x00c3, 0xc3de, 0x00c4, 0xc4de, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, /*0xd0*/ 0xcade, 0xcadf, 0x00cb, 0xcbde, 0xcbdf, 0x00cc, 0xccde, 0xccdf, 0x00cd, 0xcdde, 0xcddf, 0x00ce, 0xcede, 0xcedf, 0x00cf, 0x00d0, /*0xe0*/ 0x00d1, 0x00d2, 0x00d3, 0x00ac, 0x00d4, 0x00ad, 0x00d5, 0x00ae, 0x00d6, 0x00d7, 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dc, /*0xf0*/ 0x00b2, 0x00b4, 0x00a6, 0x00dd, 0xb3de, 0x00b6, 0x00b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, }; #ifdef OBSOLETE_RKKANA #define ADDCODE(dst, maxdst, count, code, length) {\ if ( (unsigned long)(length) <= (unsigned long)(maxdst) ) {\ (maxdst) -= (length); (count) += (length);\ if ( (dst) ) {\ (dst) += (length);\ switch((length)) {\ case 4: *--(dst) = (code)&255; (code) >>= 8;\ case 3: *--(dst) = (code)&255; (code) >>= 8;\ case 2: *--(dst) = (code)&255; (code) >>= 8;\ case 1: *--(dst) = (code)&255; (code) >>= 8;\ };\ (dst) += (length);\ };\ };\ } #else /* !OBSOLETE_RKKANA */ static int _ADDCODE(dst, maxdst, count, code, length) unsigned char *dst; int maxdst, count, length; unsigned long code; { if ((unsigned long)length <= (unsigned long)maxdst) { maxdst -= length; count += length; if (dst) { dst += length; switch (length) { case 4: *--dst = (unsigned char)code; code >>= 8; case 3: *--dst = (unsigned char)code; code >>= 8; case 2: *--dst = (unsigned char)code; code >>= 8; case 1: *--dst = (unsigned char)code; code >>= 8; } } return length; } return 0; } #define ADDCODE(dst, maxdst, count, code, length) \ { int llen = _ADDCODE(dst, maxdst, count, (unsigned long) code, length); \ if (llen > 0 && (dst)) { (dst) += llen; (maxdst) -= llen; (count) += llen; }} #endif /* !OBSOLETE_RKKANA */ #define ADDWCODE(dst, maxdst, count, code) {\ if ( (maxdst) > 0 ) {\ (maxdst)-- ; (count)++ ;\ if ( (dst) ) {\ *(dst)++ = (code);\ }\ }\ } static int euccharlen(s, bytelen) unsigned char *s; int bytelen; { unsigned char ch; int res = 0; while ((ch = *s++) && bytelen--) { res++; if (ch & 0x80) { if (ch == RK_SS3) { s++; bytelen--; } s++; bytelen--; } } return res; } /* RkCvtZen * hankaku moji(ASCII+katakana) wo taiou suru zenkaku moji ni suru * dakuten,handakuten shori mo okonau. */ int RkCvtZen pro((unsigned char *, int, unsigned char *, int)); int RkCvtZen(zen, maxzen, han, maxhan) unsigned char *zen; int maxzen; unsigned char *han; int maxhan; { unsigned char *z = zen; unsigned char *h = han; unsigned char *H = han + maxhan; Wchar hi, lo; unsigned byte; int count = 0; unsigned long code; if ( --maxzen <= 0 ) return count; while ( h < H ) { hi = *h++; byte = 2; if ( hi == 0x8e ) { /* hankaku katakana */ if ( !(code = hiragana[lo = *h++]) ) code = (hi<<8)|lo; byte = (code>>8) ? 2 : 1; if ( (code>>8) == 0xa4 ) { code |= 0x100; /* dakuten/handakuten ga tuku baai */ if ( h + 1 < H && h[0] == 0x8e ) { lo = h[1]; switch( LOMASK(code) ) { case 0xa6: /* u */ if ( lo == 0xde ) code = 0xa5f4, h += 2; break; /* ha */case 0xcf: case 0xd2: case 0xd5: case 0xd8: case 0xdb: if ( lo == 0xdf ) { code += 2, h += 2; break; }; case 0xab: case 0xad: case 0xaf: case 0xb1: case 0xb3: /* ka */ case 0xb5: case 0xb7: case 0xb9: case 0xbb: case 0xbd: /* sa */ case 0xbf: case 0xc1: case 0xc4: case 0xc6: case 0xc8: /* ta */ if ( lo == 0xde ) { code += 1, h += 2; break; }; }; }; }; } else if (hi == 0x8f) { ADDCODE(z, maxzen, count, hi, 1); code = (((Wchar) h[0]) << 8) | ((Wchar) h[1]); h += 2; byte = 2; } else if ( hi & 0x80 ) code = (hi<<8)|*h++; else { if ( !(code = hiragana[hi]) ) code = hi; byte = (code>>8) ? 2 : 1; } ADDCODE(z, maxzen, count, code, byte); }; if ( z ) *z = 0; return count; } /* RkCvtHan * zenkaku kana moji wo hankaku moji ni suru */ int RkCvtHan pro((unsigned char *, int, unsigned char *, int)); int RkCvtHan(han, maxhan, zen, maxzen) unsigned char *han; int maxhan; unsigned char *zen; int maxzen; { unsigned char *h = han; unsigned char *z = zen; unsigned char *Z = zen + maxzen; Wchar hi, lo; Wchar byte; int count = 0; unsigned long code; if ( --maxhan <= 0 ) return 0; while ( z < Z ) { hi = *z++; byte = 1; switch(hi) { case 0xa1: /* kigou */ lo = *z++; if ( !(code = hankaku[lo&0x7f]) ) code = (hi<<8)|lo; byte = (code>>8) ? 2 : 1; break; case 0xa3: /* eisuuji */ lo = *z++; if ( 0xb0 <= lo && lo <= 0xb9 ) code = (lo - 0xb0) + '0'; else if ( 0xc1 <= lo && lo <= 0xda ) code = (lo - 0xc1) + 'A'; else if ( 0xe1 <= lo && lo <= 0xfa ) code = (lo - 0xe1) + 'a'; else code = (hi<<8)|lo, byte = 2; break; case 0xa4: /* hiragana */ case 0xa5: /* katakana */ lo = *z++; if ( (code = hankaku[lo]) && (lo <= (Wchar)(hi == 0xa4 ? 0xf3 : 0xf6)) ) { if ( code>>8 ) { code = 0x8e000000|((code>>8)<<16)|0x00008e00|LOMASK(code); byte = 4; } else { code = 0x00008e00|LOMASK(code); byte = 2; }; } else code = (hi<<8)|lo, byte = 2; break; default: if (hi == 0x8f) { ADDCODE(h, maxhan, count, hi, 1); code = (((Wchar) z[0]) << 8) | ((Wchar) z[1]); z += 2; byte = 2; } else if ( hi & 0x80 ) { /* kanji */ code = (hi<<8)|(*z++); byte = 2; } else switch(hi) { /* case ',': code = 0x8ea4; byte = 2; break; case '-': code = 0x8eb0; byte = 2; break; case '.': code = 0x8ea1; byte = 2; break; */ default: code = hi; break; }; break; }; ADDCODE(h, maxhan, count, code, byte); }; if ( h ) *h = 0; return count; } /* RkCvtKana/RkCvtHira * zenkaku hiragana wo katakana ni suru */ int RkCvtKana pro((unsigned char *, int, unsigned char *, int)); int RkCvtKana(kana, maxkana, hira, maxhira) unsigned char *kana; int maxkana; unsigned char *hira; int maxhira; { unsigned char *k = kana; unsigned char *h = hira; unsigned char *H = hira + maxhira; Wchar hi; Wchar byte; int count = 0; unsigned long code; if ( --maxkana <= 0 ) return 0; while ( h < H ) { hi = *h++; if (hi == 0x8f) { ADDCODE(k, maxkana, count, hi, 1); code = (((Wchar) h[0]) << 8) | ((Wchar) h[1]); h += 2; byte = 2; } else if ( hi & 0x80 ) { int dakuon; code = (hi == 0xa4) ? (0xa500|(*h++)) : ((hi<<8)|(*h++)); byte = 2; /* hiragana U + " */ dakuon = ( h + 1 < H && ((((Wchar) h[0])<<8)| ((Wchar) h[1])) == 0xa1ab ); if ( hi == 0xa4 && code == 0xa5a6 && dakuon ) { code = 0xa5f4; h += 2; }; } else code = hi, byte = 1; ADDCODE(k, maxkana, count, code, byte); }; if ( k ) *k = 0; return count; } int RkCvtHira pro((unsigned char *, int, unsigned char *, int)); int RkCvtHira(hira, maxhira, kana, maxkana) unsigned char *hira; int maxhira; unsigned char *kana; int maxkana; { unsigned char *h = hira; unsigned char *k = kana; unsigned char *K = kana + maxkana; Wchar hi; Wchar byte; int count = 0; unsigned long code; if ( --maxhira <= 0 ) return 0; while ( k < K ) { hi = *k++; if (hi == 0x8f) { ADDCODE(h, maxhira, count, hi, 1); code = (((Wchar) k[0]) << 8) | ((Wchar) k[1]); k += 2; byte = 2; } else if ( hi & 0x80 ) { code = (hi == 0xa5) ? (0xa400|(*k++)) : ((hi<<8)|(*k++)); byte = 2; /* katakana U + " */ if ( code == 0xa4f4 ) { /* u no dakuon */ code = 0xa4a6a1ab; byte = 4; } else if ( code == 0xa4f5 ) code = 0xa4ab; else if ( code == 0xa4f6 ) code = 0xa4b1; } else code = hi, byte = 1; ADDCODE(h, maxhira, count, code, byte); }; if ( h ) *h = 0; return count; } int RkCvtNone pro((unsigned char *, int, unsigned char *, int)); int RkCvtNone(dst, maxdst, src, maxsrc) unsigned char *dst; int maxdst; unsigned char *src; int maxsrc; { unsigned char *d = dst; unsigned char *s = src; unsigned char *S = src + maxsrc; Wchar byte; int count = 0; unsigned long code; if ( --maxdst <= 0 ) return 0; while ( s < S ) { code = *s++; byte = 1; if (code == 0x8f) { ADDCODE(d, maxdst, count, code, 1); code = (((Wchar) s[0]) << 8) | ((Wchar) s[1]); s += 2; byte = 2; } else if ( code & 0x80 ) code = (code<<8)|(*s++), byte = 2; ADDCODE(d, maxdst, count, code, byte); }; if ( d ) *d = 0; return count; } #ifdef USE_SJIS_TEXT_DIC canna_export(int) SJistowcs(wc_return, maxwc, sj, maxsj) Wchar *wc_return; int maxwc; char *sj; int maxsj; { Wchar *e = wc_return, *ee = wc_return + maxwc; unsigned char *s = (unsigned char *)sj; unsigned char *S = (unsigned char *)sj + maxsj; unsigned short hi, lo; unsigned short byte; int count = 0; unsigned long code; if ( --maxwc <= 0 ) return 0; while ( s < S ) { hi = *s++; if ( hi <= 0x7f ) /* ascii */ code = hi, byte = 1; else if ( 0xa0 <= hi && hi <= 0xdf ) /* hankaku katakana */ code = hi, byte = 2; else if (0xf0 <= hi && hi <= 0xfc) { /* gaiji */ hi -= 0xf0; hi = 2*hi + 0x21; if ((lo = *s++) <= 0x9e) { if (lo < 0x80) lo++; lo -= 0x20; } else { hi++; lo -= 0x7e; } code = 0x8000 | (hi<<8) | lo, byte = 3; } else { hi -= (hi <= 0x9f) ? 0x80 : 0xc0; hi = 2*hi + 0x20; if ( (lo = *s++) <= 0x9e ) { /* kisuu ku */ hi--; if ( 0x80 <= lo ) lo--; lo -= (0x40 - 0x21); } else /* guusuu ku */ lo -= (0x9f - 0x21); code = 0x8080|(hi<<8)|lo, byte = 2; }; if (wc_return && e < ee) { *e++ = (Wchar)code; } }; if (wc_return && e && e < ee) { *e = 0; } return count; } #endif /* USE_SJIS_TEXT_DIC */ /* RkCvtWide * */ int RkCvtWide(dst, maxdst, src, maxsrc) Wchar *dst; int maxdst; char *src; int maxsrc; { #ifdef USE_SJIS_TEXT_DIC return SJistowcs(dst, maxdst, src, maxsrc); #else /* !USE_SJIS_TEXT_DIC, that is, EUC */ Wchar *d = dst; unsigned char *s = (unsigned char *)src; unsigned char *S = (unsigned char *)src + maxsrc; int count = 0; unsigned long code; if ( --maxdst <= 0 ) return count; while ( s < S ) { code = *s++; if ( code & 0x80 ) { switch(code) { case RK_SS2: /* hankaku katakana */ code = 0x0080|(s[0]&0x7f); s++; break; case RK_SS3: /* gaiji */ code = 0x8000|(((s[0]<<8)|s[1])&0x7f7f); s += 2; break; default: code = 0x8080|(((s[-1]<<8)|s[0])&0x7f7f); s += 1; }; }; ADDWCODE(d, maxdst, count, (Wchar)code); }; if ( d ) *d = 0; return count; #endif /* !USE_SJIS_TEXT_DIC */ } #ifdef USE_SJIS_TEXT_DIC /* Wcstosjis -- To convert Wchar string to SJIS string. This function should not copy after NULL character even if the srclen is too large */ static int Wcstosjis(char *dst, int dstlen, Wchar *src, int srclen) { register int i, j; unsigned char *sjise_kanjip, sjise_area[2]; Wchar codeset; register Wchar wc; sjise_kanjip = sjise_area; for (i = 0, j = 0; src[i] != (Wchar)0 && j < dstlen && i < srclen ; i++) { wc = src[i]; codeset = wc & 0x8080; /* to know what codeset is `wc' */ switch (codeset) { case 0x0000: /* ASCII */ /* continue to the following line ... */ case 0x0080: /* Codeset 2, that is Katakana */ if (dst) dst[j++] = (unsigned char)wc; break; case 0x8080: /* Codeset 1, that is Kanji */ if (j + 2 > dstlen) { return j; /* overflow */ } sjise_kanjip[0] = ((wc >> 8) & 0x7f); sjise_kanjip[1] = (wc & 0x7f); sjise_kanjip[1] = ((sjise_kanjip[0] % 2) ? (sjise_kanjip[1] + 0x1f + ((sjise_kanjip[1] < 0x60) ? 0 : 1)) : (sjise_kanjip[1] + 0x7e)); sjise_kanjip[0] = ((sjise_kanjip[0] < 0x5f) ? ((sjise_kanjip[0] - 0x21) / 2 + 0x81) : ((sjise_kanjip[0] - 0x5f) / 2 + 0xe0)); if (dst) { dst[j++] = sjise_kanjip[0]; dst[j++] = sjise_kanjip[1]; } break; case 0x8000: /* Codeset 3 */ if (j + 2 > dstlen) { return j; /* overflow */ } sjise_kanjip[0] = ((wc >> 8) & 0x7f); sjise_kanjip[1] = (wc & 0x7fb); sjise_kanjip[1] = ((sjise_kanjip[0] % 2) ? (sjise_kanjip[1] + 0x1f + ((sjise_kanjip[1] < 0x60) ? 0 : 1)) : (sjise_kanjip[1] + 0x7e)); sjise_kanjip[0] = ((sjise_kanjip[0] - 0x21) / 2 + 0xf0); if (dst) { dst[j++] = sjise_kanjip[0]; dst[j++] = sjise_kanjip[1]; } break; } } if (j < dstlen && dst) { dst[j] = '\0'; } return j; } #endif /* USE_SJIS_TEXT_DIC */ /* RkCvtNarrow * */ int RkCvtNarrow(dst, maxdst, src, maxsrc) char *dst; int maxdst; Wchar *src; int maxsrc; { #ifdef USE_SJIS_TEXT_DIC return Wcstosjis(dst, maxdst, src, maxsrc); #else /* !USE_SJIS_TEXT_DIC */ unsigned char *d = (unsigned char *)dst; Wchar *s = src; Wchar *S = src + maxsrc; int count = 0; long code; int byte; if ( --maxdst <= 0 ) return count; while ( s < S ) { code = *s++; switch(code&0x8080) { case 0x0000: code &= 0xff; byte = 1; break; case 0x0080: code &= 0xff; code |= 0x8e00; byte = 2; break; case 0x8000: code &= 0xffff; code |= 0x8f8080; byte = 3; break; case 0x8080: code &= 0xffff; byte = 2; break; }; ADDCODE(d, maxdst, count, code, byte); }; if ( d ) *d = 0; return count; #endif /* !USE_SJIS_TEXT_DIC */ } #ifdef notdef /* RkEuc * shift jis --> euc */ int RkCvtEuc(euc, maxeuc, sj, maxsj) unsigned char *euc; int maxeuc; unsigned char *sj; int maxsj; { unsigned char *e = euc; unsigned char *s = sj; unsigned char *S = sj + maxsj; Wchar hi, lo; Wchar byte; int count = 0; unsigned long code; if ( --maxeuc <= 0 ) return 0; while ( s < S ) { hi = *s++; if ( hi <= 0x7f ) /* ascii */ code = hi, byte = 1; else if ( 0xa0 <= hi && hi <= 0xdf ) /* hankaku katakana */ code = 0x8e00|hi, byte = 2; else { hi -= (hi <= 0x9f) ? 0x80 : 0xc0; hi = 2*hi + 0x20; if ( (lo = *s++) <= 0x9e ) { /* kisuu ku */ hi--; if ( 0x80 <= lo ) lo--; lo -= (0x40 - 0x21); } else /* guusuu ku */ lo -= (0x9f - 0x21); code = 0x8080|(hi<<8)|lo, byte = 2; }; ADDCODE(e, maxeuc, count, code, byte); }; if ( e ) *e = 0; return count; } #endif /* notdef */ /* RkCvtSuuji * arabia suuji wo kansuuji ni kaeru */ static Wchar suujinew[] = { 0xa1bb, 0xb0ec, 0xc6f3, 0xbbb0, 0xbbcd, 0xb8de, 0xcfbb, 0xbcb7, 0xc8ac, 0xb6e5, }; static Wchar suujiold[] = { 0xa1bb, 0xb0ed, 0xc6f5, 0xbbb2, 0xbbcd, 0xb8e0, 0xcfbb, 0xbcb7, 0xc8ac, 0xb6e5, }; static Wchar kurai4[] = { 0, 0xcbfc, 0xb2af, 0xc3fb, 0xb5fe, 0, }; static Wchar kurai3new[] = { 0, 0xbdbd, 0xc9b4, 0xc0e9, }; static Wchar kurai3old[] = { 0, 0xbdbd, 0xc9b4, 0xc0e9, }; int RkwCvtSuuji(dst, maxdst, src, maxsrc, format) Wchar *dst; int maxdst; Wchar *src; int maxsrc; int format; { int count; int i, j, k; int digit[4], pend; Wchar code, tmp; Wchar *d = dst; Wchar *s = src + maxsrc - 1; if ( --maxdst <= 0 ) return 0; /* Í­¸ú¤Ê·å¿ô¤ò¿ô¤¨¤ë */ pend = 0; for ( count = k = 0; s >= src; k++ ) { int dec, thru = *s; if ( thru & 0x8080 ) { if ( !((Wchar)0xa3b0 <= *s && *s <= (Wchar)0xa3b9) ) break; dec = *s-- - 0xa3b0; } else { if ( !((Wchar)'0' <= *s && *s <= (Wchar)'9') ) break; dec = *s-- - '0'; } switch(format) { /* simple */ case SUUJI_THROUGH: /* sanyou suuji */ code = thru; ADDWCODE(d, maxdst, count, code); break; case SUUJI_HANKAKU: /* sanyou suuji */ code = dec + '0'; if (code == thru) { return 0; } ADDWCODE(d, maxdst, count, code); break; case SUUJI_ZENKAKU: /* sanyou suuji */ code = hiragana[dec + '0']; if (code == thru) { return 0; } ADDWCODE(d, maxdst, count, code); break; /* kanji kurai dori */ case SUUJI_SIMPLEKANJI: /* kanji suuji */ code = suujinew[dec]; ADDWCODE(d, maxdst, count, code); break; case SUUJI_FULLKANJI: case SUUJI_FULLKANJITRAD: case SUUJI_WITHKANJIUNIT: /* 12 O 3456 M 7890 */ digit[pend++] = dec; if ( pend == 4 ) { while ( pend > 0 && digit[pend - 1] == 0 ) pend--; if ( pend ) { /* kurai wo shuturyoku */ code = kurai4[k/4]; if (code) ADDWCODE(d, maxdst, count, code) else if ( k >= 4 ) return 0; for ( i = 0; i < pend; i++ ) switch(format) { case SUUJI_FULLKANJI: if ( digit[i] ) { code = kurai3new[i]; if (code) ADDWCODE(d, maxdst, count, code); if ( i == 0 || (digit[i] > 1) ) { code = suujinew[digit[i]]; ADDWCODE(d, maxdst, count, code); } } break; case SUUJI_FULLKANJITRAD: if ( digit[i] ) { code = kurai3old[i]; if (code) ADDWCODE(d, maxdst, count, code); code = suujiold[digit[i]]; ADDWCODE(d, maxdst, count, code); }; break; case SUUJI_WITHKANJIUNIT: code = hiragana[digit[i]+'0']; ADDWCODE(d, maxdst, count, code); break; } } pend = 0; } break; case SUUJI_WITHCOMMA: /* 1,234,567,890 */ if ( k && k%3 == 0 ) { code = hiragana[',']; ADDWCODE(d, maxdst, count, code); } code = hiragana[dec + '0']; ADDWCODE(d, maxdst, count, code); break; default: return 0; }; }; if (format == SUUJI_FULLKANJI || format == SUUJI_FULLKANJITRAD || format == SUUJI_WITHKANJIUNIT) { while ( pend > 0 && digit[pend - 1] == 0 ) pend--; if ( pend ) { code = kurai4[k/4]; if (code) ADDWCODE(d, maxdst, count, code) else if ( k >= 4 ) return 0; for ( i = 0; i < pend; i++ ) switch(format) { case SUUJI_FULLKANJI: if ( digit[i] ) { code = kurai3new[i]; if (code) ADDWCODE(d, maxdst, count, code); if ( i == 0 || (digit[i] > 1) ) { code = suujinew[digit[i]]; ADDWCODE(d, maxdst, count, code); }; }; break; case SUUJI_FULLKANJITRAD: if ( digit[i] ) { code = kurai3old[i]; if (code) ADDWCODE(d, maxdst, count, code); code = suujiold[digit[i]]; ADDWCODE(d, maxdst, count, code); }; break; case SUUJI_WITHKANJIUNIT: code = hiragana[digit[i]+'0']; ADDWCODE(d, maxdst, count, code); break; } } } if ( dst ) { *d = 0; for ( i = 0, j = count - 1; i < j; i++, j-- ) { tmp = dst[i]; dst[i] = dst[j]; dst[j] = tmp; } } return count; } /* ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿Âбþ´Ø¿ô */ #define CBUFSIZE 512 unsigned char *ustoeuc(); Wchar *euctous(); int RkwCvtHan pro((Wchar *, int, Wchar *, int)); int RkwCvtHan(dst, maxdst, src, srclen) Wchar *dst, *src; int maxdst, srclen; { int len; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned char cbuf[CBUFSIZE], cbuf2[CBUFSIZE]; #else unsigned char *cbuf, *cbuf2; cbuf = (unsigned char *)malloc(CBUFSIZE); cbuf2 = (unsigned char *)malloc(CBUFSIZE); if (!cbuf || !cbuf2) { if (cbuf) (void)free((char *)cbuf); if (cbuf2) (void)free((char *)cbuf2); return 0; } #endif len = ustoeuc(src, srclen, cbuf, CBUFSIZE) - cbuf; len = RkCvtHan(cbuf2, CBUFSIZE, cbuf, len); if (len > 0) { if (dst) { len = euctous(cbuf2, len, dst, maxdst) - dst; } else { len = euccharlen(cbuf2, len); } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)cbuf); (void)free((char *)cbuf2); #endif return len; } int RkwCvtHira pro((Wchar *, int, Wchar *, int)); int RkwCvtHira(dst, maxdst, src, srclen) Wchar *dst, *src; int maxdst, srclen; { int len; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned char cbuf[CBUFSIZE], cbuf2[CBUFSIZE]; #else unsigned char *cbuf, *cbuf2; cbuf = (unsigned char *)malloc(CBUFSIZE); cbuf2 = (unsigned char *)malloc(CBUFSIZE); if (!cbuf || !cbuf2) { if (cbuf) (void)free((char *)cbuf); if (cbuf2) (void)free((char *)cbuf2); return 0; } #endif len = ustoeuc(src, srclen, cbuf, CBUFSIZE) - cbuf; len = RkCvtHira(cbuf2, CBUFSIZE, cbuf, len); if (len > 0) { if (dst) { len = euctous(cbuf2, len, dst, maxdst) - dst; } else { len = euccharlen(cbuf2, len); } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)cbuf); (void)free((char *)cbuf2); #endif return len; } int RkwCvtKana pro((Wchar *, int, Wchar *, int)); int RkwCvtKana(dst, maxdst, src, srclen) Wchar *dst, *src; int maxdst, srclen; { unsigned int len; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned char cbuf[CBUFSIZE], cbuf2[CBUFSIZE]; #else unsigned char *cbuf, *cbuf2; cbuf = (unsigned char *)malloc(CBUFSIZE); cbuf2 = (unsigned char *)malloc(CBUFSIZE); if (!cbuf || !cbuf2) { if (cbuf) (void)free((char *)cbuf); if (cbuf2) (void)free((char *)cbuf2); return 0; } #endif len = ustoeuc(src, srclen, cbuf, CBUFSIZE) - cbuf; len = RkCvtKana(cbuf2, CBUFSIZE, cbuf, len); if (len > 0) { if (dst) { len = euctous(cbuf2, len, dst, maxdst) - dst; } else { len = euccharlen(cbuf2, len); } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)cbuf); (void)free((char *)cbuf2); #endif return len; } int RkwCvtZen pro((Wchar *, int, Wchar *, int)); int RkwCvtZen(dst, maxdst, src, srclen) Wchar *dst, *src; int maxdst, srclen; { int len; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned char cbuf[CBUFSIZE], cbuf2[CBUFSIZE]; #else unsigned char *cbuf, *cbuf2; cbuf = (unsigned char *)malloc(CBUFSIZE); cbuf2 = (unsigned char *)malloc(CBUFSIZE); if (!cbuf || !cbuf2) { if (cbuf) (void)free((char *)cbuf); if (cbuf2) (void)free((char *)cbuf2); return 0; } #endif len = ustoeuc(src, srclen, cbuf, CBUFSIZE) - cbuf; len = RkCvtZen(cbuf2, CBUFSIZE, cbuf, len); if (len > 0) { if (dst) { len = euctous(cbuf2, len, dst, maxdst) - dst; } else { len = euccharlen(cbuf2, len); } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)cbuf); (void)free((char *)cbuf2); #endif return len; } int RkwCvtNone pro((Wchar *, int, Wchar *, int)); int RkwCvtNone(dst, maxdst, src, srclen) Wchar *dst, *src; int maxdst, srclen; { int i; int len = (maxdst < srclen) ? maxdst : srclen; if (dst) { for (i = 0 ; i < len ; i++) { *dst++ = *src++; } *dst = *src; } return len; } Canna37p3/lib/RK/ncache.c0100644000076500001200000001676407732020154014332 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* static char rcsid[]="$Id: ncache.c,v 1.2 2003/09/17 08:50:52 aida_s Exp $"; */ #include "RKintern.h" #define NCHASH 101 #define hash(x) ((int)((x)%NCHASH)) static struct ncache Nchash[NCHASH]; static struct ncache Ncfree; #define ainserttop(p) { \ (p)->nc_anext = Ncfree.nc_anext; (p)->nc_aprev = &Ncfree; \ Ncfree.nc_anext->nc_aprev = (p); Ncfree.nc_anext = (p); \ } #define ainsertbottom(p) { \ (p)->nc_anext = &Ncfree; (p)->nc_aprev = Ncfree.nc_aprev; \ Ncfree.nc_aprev->nc_anext = (p); Ncfree.nc_aprev = (p); \ } #define aremove(p) {\ (p)->nc_anext->nc_aprev = (p)->nc_aprev; \ (p)->nc_aprev->nc_anext = (p)->nc_anext; (p)->nc_anext = (p)->nc_aprev = (p);\ } #define hremove(p) {\ (p)->nc_hnext->nc_hprev = (p)->nc_hprev; \ (p)->nc_hprev->nc_hnext = (p)->nc_hnext; (p)->nc_hnext = (p)->nc_hprev = (p);\ } int _RkInitializeCache(size) int size; { register struct RkParam *sx = &SX; int i; sx->maxcache = size; if (!(sx->cache = (struct ncache *)calloc((unsigned)size, sizeof(struct ncache)))) return -1; for (i = 0; i < size ; i++) { sx->cache[i].nc_anext = &sx->cache[i+1]; sx->cache[i].nc_aprev = &sx->cache[i-1]; sx->cache[i].nc_hnext = sx->cache[i].nc_hprev = &sx->cache[i]; sx->cache[i].nc_count = 0; }; Ncfree.nc_anext = &sx->cache[0]; sx->cache[sx->maxcache - 1].nc_anext = &Ncfree; Ncfree.nc_aprev = &sx->cache[sx->maxcache - 1]; sx->cache[0].nc_aprev = &Ncfree; for (i = 0; i < NCHASH; i++) Nchash[i].nc_hnext = Nchash[i].nc_hprev = &Nchash[i]; return 0; } void _RkFinalizeCache() { register struct RkParam *sx = &SX; if (sx->cache) (void)free((char *)sx->cache); sx->cache = (struct ncache *)0; } static int flushCache(dm, cache) struct DM *dm; struct ncache *cache; { if (cache->nc_word) { if (dm && (cache->nc_flags & NC_DIRTY)) { DST_WRITE(dm, cache); }; cache->nc_flags &= ~NC_DIRTY; return 0; }; return -1; } static struct ncache *newCache(ndm, address) register struct DM *ndm; register long address; { register struct ncache *new; if ((new = Ncfree.nc_anext) != &Ncfree) { (void)flushCache(new->nc_dic, new); aremove(new); hremove(new); new->nc_dic = ndm; new->nc_word = (unsigned char *)0; new->nc_flags = 0; new->nc_address = address; new->nc_count = 0; return(new); }; return (struct ncache *)0; } int _RkRelease() { register struct ncache *new; for (new = Ncfree.nc_anext; new != &Ncfree; new = new->nc_anext) { if (!new->nc_word || (new->nc_flags & NC_NHEAP)) continue; (void)flushCache(new->nc_dic, new); hremove(new); new->nc_dic = (struct DM *)0; new->nc_flags = (unsigned short)0; new->nc_word = (unsigned char *)0; new->nc_address = (long)0; new->nc_count = (unsigned long)0; return 1; }; return 0; } /* int _RkEnrefCache(cache) struct ncache *cache; { static int count = 0; fprintf(stderr, "_RkEnrefCache(0x%08x), %d\n", cache, ++count); return(cache->nc_count++); } */ void _RkDerefCache(cache) struct ncache *cache; { struct DM *dm = cache->nc_dic; /* static int count = 0; fprintf(stderr, "_RkDeref(0x%08x), %d\n", cache, ++count); */ if (cache->nc_count <= 0) { _Rkpanic("wrong cache count %s %d#%d", dm ? dm->dm_dicname : "-", cache->nc_address, cache->nc_count); }; if (--cache->nc_count == 0) { aremove(cache); if (cache->nc_flags & NC_ERROR) { ainserttop(cache); } else { ainsertbottom(cache); }; }; return; } void _RkPurgeCache(cache) struct ncache *cache; { hremove(cache); aremove(cache); ainserttop(cache); } void _RkKillCache(dm) struct DM *dm; { struct ncache *cache; int i; for (i = 0, cache = SX.cache; i < SX.maxcache; i++, cache++) { if (dm == cache->nc_dic) { (void)flushCache(dm, cache); _RkPurgeCache(cache); }; }; } #if defined(MMAP) int _RkDoInvalidateCache(addr, size) long addr; unsigned long size; { register struct ncache *head, *cache, *tmp; int i; int found = 0; for(i = 0; i < NCHASH; i ++) { head = &Nchash[i]; for (cache = head->nc_hnext; cache != head; ) { tmp = cache->nc_hnext; if (cache->nc_address >= addr && cache->nc_address < (long)(addr + size)) { found = 1; if (cache->nc_count) return(0); } cache = tmp; } } if (found == 0) return(1); for(i = 0; i < NCHASH; i ++) { head = &Nchash[i]; for (cache = head->nc_hnext; cache != head; ) { tmp = cache->nc_hnext; if (cache->nc_address >= addr && cache->nc_address < (long)(addr + size)) { cache->nc_flags |= NC_ERROR; hremove(cache); aremove(cache); ainserttop(cache); } cache = tmp; } } return(1); } #endif struct ncache * _RkFindCache(dm, addr) struct DM *dm; long addr; { register struct ncache *head, *cache; head = &Nchash[hash(addr)]; for (cache = head->nc_hnext; cache != head; cache = cache->nc_hnext) if (cache->nc_dic == dm && cache->nc_address == addr) return cache; return (struct ncache *)0; } void _RkRehashCache(cache, addr) struct ncache *cache; long addr; { struct ncache *head; if ((head = &Nchash[hash(addr)]) != &Nchash[hash(cache->nc_address)]) { hremove(cache); cache->nc_hnext = head->nc_hnext; cache->nc_hprev = head; head->nc_hnext->nc_hprev = cache; head->nc_hnext = cache; }; cache->nc_address = addr; } struct ncache * _RkReadCache(dm, addr) struct DM *dm; long addr; { register struct ncache *head, *cache; head = &Nchash[hash(addr)]; for (cache = head->nc_hnext; cache != head; cache = cache->nc_hnext) { if (cache->nc_dic == dm && cache->nc_address == addr) { aremove(cache); if (cache != head->nc_hnext) { hremove(cache); cache->nc_hnext = head->nc_hnext; cache->nc_hprev = head; head->nc_hnext->nc_hprev = cache; head->nc_hnext = cache; } _RkEnrefCache(cache); return(cache); }; }; cache = newCache(dm, addr); if (cache) { if (DST_READ(dm, cache)) { ainserttop(cache); return (struct ncache *)0; } else { cache->nc_hnext = head->nc_hnext; cache->nc_hprev = head; head->nc_hnext->nc_hprev = cache; head->nc_hnext = cache; _RkEnrefCache(cache); return(cache); }; } else { return (struct ncache *)0; }; } Canna37p3/lib/RK/ngram.c0100644000076500001200000007062707734327500014222 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="$Id: ngram.c,v 1.10 2003/09/24 14:50:40 aida_s Exp $"; #endif #include "RKintern.h" #include #ifdef SVR4 #include #endif #ifdef __CYGWIN32__ #include /* for O_BINARY */ #endif typedef struct { short mycol; /* short flags; */ } conjcell; /* ngram * tango kan no setuzoku wo simesu gyouretu * SWD ga open sareruto douji ni yomikomareru */ struct RkKxGram { /* setuzoku jouhou */ int ng_rowcol; /* row no kazu */ int ng_rowbyte; /* row atari no byte suu */ char *ng_conj; /* source of setuzoku gyouretu/code table */ conjcell *ng_conjcells; /* packed setuzoku gyouretu */ conjcell **ng_conjrows; char **ng_strtab; #ifdef LOGIC_HACK int ng_numneg; /* the number of negative conunctions */ canna_uint32_t *ng_neg; /* negative conjunctions */ #endif }; #define is_row_num(g, n) ((0 <= (n)) && ((n) < ((g)->ng_rowcol))) extern unsigned char *ustoeuc(); void RkCloseGram(gram) struct RkKxGram *gram; { if (gram->ng_conj) (void)free((char *)gram->ng_conj); if (gram->ng_conjcells) (void)free((char *)gram->ng_conjcells); if (gram->ng_conjrows) (void)free((char *)gram->ng_conjrows); if (gram->ng_strtab) (void)free((char *)gram->ng_strtab); #ifdef LOGIC_HACK if (gram->ng_neg) (void)free((char *)gram->ng_neg); #endif (void)free((char *)gram); } static char ** gram_to_tab(gram) struct RkKxGram *gram; { char **top, *str; int i; if (!(top = (char **) calloc(gram->ng_rowcol + 1, sizeof(char *)))) { RkSetErrno(RK_ERRNO_ENOMEM); return 0; } str = gram->ng_conj + (gram->ng_rowbyte * gram->ng_rowcol); for (i = 0; i < gram->ng_rowcol; i++) { top[i] = str; str += strlen(str) + 1; }; top[gram->ng_rowcol] = (char *)0; return top; } static int gram_fill_conjcells(gram) struct RkKxGram *gram; { int row, colbyte; const char *src; size_t lastbits = (gram->ng_rowcol % 8) ? (gram->ng_rowcol % 8) : 8; size_t ncells; conjcell *dst; ncells = 0; src = gram->ng_conj; for (row = 0; row < gram->ng_rowcol; ++row) { unsigned char mask; for (colbyte = 0; colbyte < gram->ng_rowbyte; ++colbyte) { size_t nbits = (colbyte < gram->ng_rowbyte - 1) ? 8 : lastbits; size_t bit; for (bit = 0, mask = 0x80; bit < nbits; ++bit, mask >>= 1) { if (*src & (char)mask) ++ncells; } ++src; } } gram->ng_conjcells = (conjcell *) malloc(ncells * sizeof(conjcell)); gram->ng_conjrows = (conjcell **) malloc( (gram->ng_rowcol + 1) * sizeof(conjcell *)); if (!gram->ng_conjcells || !gram->ng_conjrows) goto nomem; src = gram->ng_conj; dst = gram->ng_conjcells; for (row = 0; row < gram->ng_rowcol; ++row) { unsigned char mask; gram->ng_conjrows[row] = dst; for (colbyte = 0; colbyte < gram->ng_rowbyte; ++colbyte) { size_t nbits = (colbyte < gram->ng_rowbyte - 1) ? 8 : lastbits; size_t bit; for (bit = 0, mask = 0x80; bit < nbits; ++bit, mask >>= 1) { if (*src & (char)mask) { dst->mycol = colbyte * 8 + bit; /* dst->flags = 0; */ ++dst; } } ++src; } } gram->ng_conjrows[gram->ng_rowcol] = dst; return 0; nomem: free(gram->ng_conjcells); free(gram->ng_conjrows); gram->ng_conjcells = NULL; gram->ng_conjrows = NULL; RkSetErrno(RK_ERRNO_ENOMEM); return -1; } #ifdef unused /* RkGetGramSize -- gram_conj ¤ËÆþ¤ì¤Æ¤¤¤ë¥á¥â¥ê¤ÎÂ礭¤µ¤òÊÖ¤¹ */ static int RkGetGramSize(gram) struct RkKxGram *gram; { char *str; int i; str = gram->ng_conj + (gram->ng_rowbyte * gram->ng_rowcol); for (i = 0; i < gram->ng_rowcol; i++) { str += strlen(str) + 1; } return str - gram->ng_conj; } #endif /* unused */ struct RkKxGram * RkReadGram(fd, gramsz) int fd; size_t gramsz; { struct RkKxGram *gram = (struct RkKxGram *)0; unsigned char l4[4]; unsigned long sz = 0xdeadbeefUL, rc = 0xdeadbeefUL; int errorres; unsigned long size; if (!gramsz) return NULL; RkSetErrno(RK_ERRNO_EACCES); errorres = (read(fd, (char *)l4, 4) < 4 || (sz = L4TOL(l4)) < 5 || read(fd, (char *)l4, 4) < 4 || (rc = L4TOL(l4)) < 1); if (!errorres) { gram = (struct RkKxGram *)calloc(1, sizeof(struct RkKxGram)); RkSetErrno(RK_ERRNO_ENOMEM); if (gram) { gram->ng_conj = (char *)malloc((size_t)(sz - 4)); if (gram->ng_conj) { size = (unsigned long) read(fd, gram->ng_conj, (unsigned)(sz - 4)); if (size == (sz - 4)) { gram->ng_rowcol = rc; gram->ng_rowbyte = (gram->ng_rowcol + 7) / 8; if (gram_fill_conjcells(gram)) goto cellsfail; gram->ng_strtab = gram_to_tab(gram); if (gram->ng_strtab) { #ifndef LOGIC_HACK return gram; #else int negsz, i; canna_uint32_t *dst; unsigned char *src; if (gramsz != (size_t)-1 && 4 + sz >= gramsz) goto error_case; size = read(fd, (char *)l4, 4); if (size != 4) goto error_case; gram->ng_numneg = L4TOL(l4); negsz = 4 * gram->ng_numneg; if (4 + sz + 4 + negsz > gramsz) goto error_case; gram->ng_neg = malloc(negsz); if (!gram->ng_neg) goto error_case; size = read(fd, gram->ng_neg, negsz); if (size != negsz) { free(gram->ng_neg); goto error_case; } src = (unsigned char *)gram->ng_neg + 4 * (gram->ng_numneg - 1); dst = gram->ng_neg + (gram->ng_numneg - 1); for (i = 0; i < gram->ng_numneg; i++, dst--, src -= 4) *dst = (canna_uint32_t)L4TOL(src); return gram; error_case:; #endif /* LOGIC_HACK */ } free(gram->ng_conjcells); free(gram->ng_conjrows); cellsfail:; } else { /* EMPTY */ RkSetErrno(0); } free(gram->ng_conj); } free(gram); } } return (struct RkKxGram *)0; } struct RkKxGram * RkOpenGram(mydic) char *mydic; { struct RkKxGram *gram; struct HD hd; off_t off; size_t gramsz = (size_t)-1; int lk; int tmpres; int fd; if ((fd = open(mydic, 0)) < 0) return (struct RkKxGram *)0; #ifdef __CYGWIN32__ setmode(fd, O_BINARY); #endif for (off = 0, lk = 1; lk && _RkReadHeader(fd, &hd, off) >= 0;) { off += hd.data[HD_SIZ].var; if (!strncmp(".swd", (char *)(hd.data[HD_DMNM].ptr + strlen((char *)hd.data[HD_DMNM].ptr) - 4), 4)) { lk = 0; if (HD_VERSION(&hd) >= 0x300702L) { if (!hd.flag[HD_GRAM]) continue; off = off - hd.data[HD_SIZ].var + hd.data[HD_GRAM].var; gramsz = hd.data[HD_GRSZ].var; } tmpres = lseek(fd, off, 0); if (tmpres < 0) { lk = 1; RkSetErrno(RK_ERRNO_EACCES); } break; } _RkClearHeader(&hd); } _RkClearHeader(&hd); if (lk) { close(fd); return((struct RkKxGram *)0); } gram = RkReadGram(fd, gramsz); (void)close(fd); return gram; } #ifdef unused struct RkKxGram * RkDuplicateGram(ogram) struct RkKxGram *ogram; { struct RkKxGram *gram = (struct RkKxGram *)0; gram = (struct RkKxGram *)calloc(1, sizeof(struct RkKxGram)); if (gram) { int siz = RkGetGramSize(ogram); gram->ng_rowcol = ogram->ng_rowcol; gram->ng_rowbyte = ogram->ng_rowbyte; gram->ng_conj = (char *)malloc(siz); if (gram->ng_conj) { bcopy(ogram->ng_conj, gram->ng_conj, siz); if (gram_fill_conjcells(gram)) goto cellsfail; gram->ng_strtab = gram_to_tab(gram); if (gram->ng_strtab) { #ifndef LOGIC_HACK return gram; #else int negsz; gram->ng_numneg = ogram->ng_numneg; negsz = gram->ng_numneg * sizeof(unsigned long); gram->ng_neg = (unsigned long *)malloc(negsz); if (!gram->ng_neg) goto error_case; bcopy(ogram->ng_neg, gram->ng_neg, negsz); return gram; error_case:; #endif /* LOGIC_HACK */ } free(gram->ng_conjcells); free(gram->ng_conjrows); cellsfail: free(gram->ng_conj); } free((char *)gram); } RkSetErrno(RK_ERRNO_ENOMEM); return (struct RkKxGram *)0; } #endif /* unused */ int _RkWordLength(wrec) unsigned char *wrec; { int wl; wl = ((wrec[0] << 5) & 0x20) | ((wrec[1] >> 3) & 0x1f); if (wrec[0] & 0x80) wl |= ((wrec[2] << 5) & 0x1fc0); return(wl); } int _RkCandNumber(wrec) unsigned char *wrec; { int nc; nc = (wrec)[1] & 0x07; if (wrec[0] & 0x80) nc |= ((wrec[3] << 3) & 0x0ff8); return(nc); } int RkGetGramNum(gram, name) struct RkKxGram *gram; char *name; { int row; int max = gram->ng_rowcol; if (gram->ng_strtab) { for (row = 0; row < max; row++) { if (!strcmp(gram->ng_strtab[row], (char *)name)) return(row); } } return(-1); } static Wchar * skip_space(src) Wchar *src; { while (*src) { if (!rk_isspace(*src)) break; src++; } return(src); } static skip_until_space(src, next) Wchar *src, **next; { int len = 0; while (*src) { if (rk_isspace(*src)) { break; } else if (*src == RK_ESC_CHAR) { if (!*++src) { break; } } src++; len++; } *next = src; return len; } static int wstowrec(gram, src, dst, maxdst, yomilen, wlen, lucks) struct RkKxGram *gram; Wchar *src; Wrec *dst; unsigned maxdst; unsigned *yomilen, *wlen; unsigned long *lucks; { Wrec *odst = dst; Wchar *yomi, *kanji; int klen, ylen, ncand, row = 0, step = 0, spec = 0; unsigned frq; lucks[0] = lucks[1] = 0L; ncand = 0; *yomilen = *wlen = 0; yomi = skip_space(src); ylen = skip_until_space(yomi, &src); if (!ylen || ylen > RK_KEY_WMAX) return(0); while (*src) { if (*src == (Wchar)'\n') break; if (*(src = skip_space(src)) == (Wchar)'#') { src = RkParseGramNum(gram, src, &row); if (!is_row_num(gram, row)) return(0); if (*src == (Wchar)'#') continue; if (*src == (Wchar)'*') { for (src++, frq = 0; (Wchar)'0' <= *src && *src <= (Wchar)'9'; src++) frq = 10 * frq + *src - (Wchar)'0'; if (step < 2 && frq < 6000) lucks[step] = _RkGetTick(0) - frq; } src = skip_space(src); spec++; } if (!spec) return(0); kanji = src; klen = skip_until_space(src, &src); if (klen == 1 && *kanji == (Wchar)'@') { klen = ylen; kanji = yomi; } if (!klen || klen > RK_LEN_WMAX) return(0); if (dst + 2 + klen * sizeof(Wchar) > odst + maxdst) return(0); step++; *dst++ = (Wrec)(((klen << 1) & 0xfe) | ((row >> 8) & 0x01)); *dst++ = (Wrec)(row & 0xff); for (; klen > 0 ; klen--, kanji++) { if (*kanji == RK_ESC_CHAR) { if (!*++kanji) { return(0); } } *dst++ = (Wrec)((*kanji >> 8) & 0xff); *dst++ = (Wrec)(*kanji & 0xff); } ncand++; } if (ncand) { *wlen = (unsigned)(dst - odst); *yomilen= ylen; } return ncand; } static Wrec * fil_wc2wrec_flag(wrec, wreclen, ncand, yomi, ylen, left) Wrec *wrec; Wchar *yomi; unsigned *wreclen, ylen, ncand, left; { extern Wchar uniqAlnum(); Wrec *owrec = wrec; Wchar tmp; int wlen = *wreclen, i; if ((ncand > 7) || (wlen > 0x3f)) { wlen += 2; *wrec = 0x80; } else { *wrec = 0; } *wrec++ |= (Wrec)(((left << 1) & 0x7e) | ((wlen >> 5) & 0x01)); *wrec++ = (Wrec)(((wlen << 3) & 0xf8) | (ncand & 0x07)); if (*owrec & 0x80) { *wrec++ = (Wrec)(((wlen >> 5) & 0xfe) | (ncand >> 11) & 0x01); *wrec++ = (Wrec)((ncand >> 3) & 0xff); } if (left) { int offset = ylen - left; /* ¥Ç¥£¥ì¥¯¥È¥êÉô¤ËÆþ¤Ã¤Æ¤¤¤ëÆÉ¤ß¤ÎŤµ */ RK_ASSERT(offset >= 0); for (i = 0 ; i < offset ; i++) { if (*yomi == RK_ESC_CHAR) { yomi++; } yomi++; } for (i = 0 ; i < (int)left ; i++) { tmp = *yomi++; if (tmp == RK_ESC_CHAR) { tmp = *yomi++; } tmp = uniqAlnum(tmp); *wrec++ = (tmp >> 8) & 0xff; *wrec++ = tmp & 0xff; } } *wreclen = wlen; return wrec; } static Wrec * fil_wrec_flag(wrec, wreclen, ncand, yomi, ylen, left) Wrec *wrec, *yomi; unsigned *wreclen, ylen, ncand, left; { extern Wchar uniqAlnum(); Wrec *owrec = wrec; Wchar tmp; int wlen = *wreclen, i; if ((ncand > 7) || (wlen > 0x3f)) { wlen += 2; *wrec = 0x80; } else { *wrec = 0; } *wrec++ |= (Wrec)(((left << 1) & 0x7e) | ((wlen >> 5) & 0x01)); *wrec++ = (Wrec)(((wlen << 3) & 0xf8) | (ncand & 0x07)); if (*owrec & 0x80) { *wrec++ = (Wrec)(((wlen >> 5) & 0xfe) | (ncand >> 11) & 0x01); *wrec++ = (Wrec)((ncand >> 3) & 0xff); } if (left) { RK_ASSERT(ylen >= left); yomi += (ylen - left) * sizeof(Wchar); for (i = 0; i < (int)left; i++) { tmp = uniqAlnum((Wchar)((yomi[2*i] << 8) | yomi[2*i + 1])); *wrec++ = (tmp >> 8) & 0xff; *wrec++ = tmp & 0xff; } } *wreclen = wlen; return wrec; } Wrec * RkParseWrec(gram, src, left, dst, maxdst) struct RkKxGram *gram; Wchar *src; unsigned left; unsigned char *dst; unsigned maxdst; { unsigned wreclen, wlen, ylen, nc; unsigned long lucks[2]; unsigned char *ret = (unsigned char *)0; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned char localbuffer[RK_WREC_BMAX]; #else unsigned char *localbuffer = (unsigned char *)malloc(RK_WREC_BMAX); if (!localbuffer) { return ret; } #endif if (left > RK_LEFT_KEY_WMAX) { ; /* return NULL */ } else if (!(nc = wstowrec(gram, src, localbuffer, RK_WREC_BMAX, &ylen, &wlen, lucks))) { ; /* return 0 */ } else if (2 + (wreclen = 2 + (left * sizeof(Wchar)) + wlen) > maxdst) { ; /* return (unsigned char *)0; */ } else if (left > ylen) { /* wrong argument */ RK_ASSERT(0); } else { dst = fil_wc2wrec_flag(dst, &wreclen, nc, src, ylen, left); (void)memcpy((char *)dst, (char *)localbuffer, wlen); ret = dst + wlen; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)localbuffer); #endif return ret; } Wrec * RkParseOWrec(gram, src, dst, maxdst, lucks) struct RkKxGram *gram; Wchar *src; unsigned char *dst; unsigned maxdst; unsigned long *lucks; { unsigned wreclen, wlen, ylen, nc; unsigned char *ret = (unsigned char *)0; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wrec localbuffer[RK_WREC_BMAX]; #else Wrec *localbuffer = (Wrec *)malloc(sizeof(Wrec) * RK_WREC_BMAX); if (!localbuffer) { return ret; } #endif nc = wstowrec(gram, src, localbuffer, RK_WREC_BMAX, &ylen, &wlen, lucks); if (nc && ylen <= RK_LEFT_KEY_WMAX) { wreclen = 2 + (ylen * sizeof(Wchar)) + wlen; if (2 + wreclen <= maxdst) { dst = fil_wc2wrec_flag(dst, &wreclen, nc, src, ylen, ylen); (void)memcpy((char *)dst, (char *)localbuffer, wlen); ret = dst + wlen; } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)localbuffer); #endif return ret; } Wchar * RkParseGramNum(gram, src, row) struct RkKxGram *gram; Wchar *src; int *row; { int rnum; Wchar *ws; unsigned char *str; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wchar wcode[RK_LINE_BMAX]; unsigned char code[RK_LINE_BMAX]; #else Wchar *wcode = (Wchar *)malloc(sizeof(Wchar) * RK_LINE_BMAX); unsigned char *code = (unsigned char *)malloc(RK_LINE_BMAX); if (!wcode || !code) { if (wcode) (void)free((char *)wcode); if (code) (void)free((char *)code); return src; } #endif code[0] = 0; *row = -1; if (*src++ != (Wchar)'#') { src--; } else if (rk_isdigit(*src)) { for (ws = wcode; *src; *ws++ = *src++) { if (!rk_isdigit(*src) || rk_isspace(*src)) break; } *ws = (Wchar)0; str = ustoeuc(wcode, (int) (ws - wcode), code, RK_LINE_BMAX); code[str - code] = (unsigned char)0; rnum = atoi((char *)code); if (is_row_num(gram, rnum)) *row = rnum; } else if (rk_isascii(*src)) { for (ws = wcode; *src; *ws++ = *src++) { if (!rk_isascii(*src) || rk_isspace(*src) || *src == (Wchar)'*') break; } *ws = (unsigned char)0; str = ustoeuc(wcode, (int) (ws - wcode), code, RK_LINE_BMAX); code[str - code] = (unsigned char)0; rnum = RkGetGramNum(gram, (char *)code); if (is_row_num(gram, rnum)) *row = rnum; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)wcode); (void)free((char *)code); #endif return src; } unsigned char * RkGetGramName(gram, row) struct RkKxGram *gram; int row; { if (gram && gram->ng_strtab) if (is_row_num(gram, row)) return (unsigned char *)gram->ng_strtab[row]; return 0; } Wchar * RkUparseGramNum(gram, row, dst, maxdst) struct RkKxGram *gram; int row; Wchar *dst; int maxdst; { unsigned char *name, *p; name = (unsigned char *)RkGetGramName(gram, row); if (name) { int len = strlen((char *)name); if (len + 1 < maxdst) { *dst++ = (Wchar)'#'; p = name; while (*p) { *dst++ = (Wchar)*p++; } *dst = (Wchar)0; return dst; } return (Wchar *)0; } else { int keta, uni, temp = row; for (keta = 1, uni = 1; temp > 9; keta++) { temp /= 10; uni *= 10; } if (dst + keta + 1 < (dst + maxdst)) { *dst++ = '#'; while (keta--) { temp = row / uni; *dst++ = ('0' + temp); row -= temp * uni; uni /= 10; } *dst = (Wchar)0; return dst; } return (Wchar *)0; } } int _RkRowNumber(wrec) unsigned char *wrec; { int row; row = (int)wrec[1]; if (wrec[0] & 0x01) row += 256; return row; } Wchar * _RkUparseWrec(gram, src, dst, maxdst, lucks, add) struct RkKxGram *gram; Wrec *src; Wchar *dst; int maxdst; unsigned long *lucks; int add; { unsigned long luck = _RkGetTick(0), val; unsigned char *wrec = src; int num, ncnd, ylen, row, oldrow, i, l, oh = 0; Wchar *endp = dst + maxdst, *endt, luckw[5], wch; endt = (Wchar *)0; ylen = (*wrec >> 1) & 0x3f; ncnd = _RkCandNumber(wrec); if (*wrec & 0x80) wrec += 2; wrec += 2; for (i = 0; i < ylen; i++) { if (endp <= dst) return(endt); wch = (Wchar)((wrec[0] << 8) | wrec[1]); if (wch == RK_ESC_CHAR || wch == (Wchar)' ' || wch == (Wchar)'\t') { *dst++ = RK_ESC_CHAR; } *dst++ = wch; wrec += 2; } oldrow = -1; for (i = 0; i < ncnd; i++, oh = 0) { unsigned clen; clen = (*wrec >> 1) & 0x7f; row = _RkRowNumber(wrec); wrec += NW_PREFIX; if (oldrow != row) { *dst++ = (Wchar)' '; if (!(dst = RkUparseGramNum(gram, (int)row, dst, (int)(endp - dst)))) break; oldrow = row; if (endp <= dst) break; oh++; } if (add && i < 2 && lucks[i]) { if (!oh) { *dst++ = (Wchar)' '; if (!(dst = RkUparseGramNum(gram, (int)row, dst, (int)(endp - dst)))) break; oh++; } if (endp <= dst) break; if (luck - lucks[i] < (unsigned long)6000) { *dst++ = (Wchar)'*'; val = luck - lucks[i]; for (l = 0; val && l < 5; l++, val /= 10) { num = val % 10; luckw[l] = (Wchar)(num + '0'); } if (!l) { luckw[l] = (Wchar)'0'; l++; } if (endp <= dst + l + 1) break; while (l) *dst++ = luckw[--l]; } } if (endp <= dst) break; *dst++ = (Wchar)' '; if (clen != 0) { if (endp <= (dst + clen + 1)) break; while (clen--) { wch = bst2_to_s(wrec); if (wch == RK_ESC_CHAR || wch == (Wchar)' ' || wch == (Wchar)'\t') { *dst++ = RK_ESC_CHAR; } *dst++ = wch; wrec += sizeof(Wchar); } } else { if (endp <= dst) break; *dst++ = (Wchar)'@'; } if (dst < endp - 1) endt = dst; } if (add && i == ncnd || !add && endt && endt < endp - 1) { *endt = (Wchar)0; return(endt); } return((Wchar *)0); } Wchar * RkUparseWrec(gram, src, dst, maxdst, lucks) struct RkKxGram *gram; Wrec *src; Wchar *dst; int maxdst; unsigned long *lucks; { return(_RkUparseWrec(gram, src, dst, maxdst, lucks, 0)); } struct TW * RkCopyWrec(src) struct TW *src; { struct TW *dst = NULL; unsigned int sz; sz = _RkWordLength(src->word); if (sz) { dst = (struct TW *)malloc(sizeof(struct TW)); if (dst) { dst->word = (unsigned char *)malloc(sz); if (dst->word) { (void)memcpy(dst->word, src->word, sz); dst->lucks[0] = src->lucks[0]; dst->lucks[1] = src->lucks[1]; } else { free(dst); dst = (struct TW *)0; } } } return(dst); } int RkScanWcand(wrec, word, maxword) Wrec *wrec; struct RkWcand *word; int maxword; { int i, l, nc, ns = 0; nc = _RkCandNumber(wrec); l = (*wrec >> 1) & 0x3f; if (*wrec & 0x80) wrec += 2; wrec += 2 + l * 2; for (i = 0; i < nc; i++) { int rcnum; int klen; klen = (*wrec >> 1) & 0x7f; rcnum = _RkRowNumber(wrec); if (i < maxword) { word[i].addr = wrec; word[i].rcnum = rcnum; word[i].klen = klen; ns++; }; wrec += 2 * klen + 2; } return ns; } int RkUniqWcand(wc, nwc) struct RkWcand *wc; int nwc; { int i, j, nu; Wrec *a; unsigned k, r; for (nu = 0, j = 0; j < nwc; j++) { k = wc[j].klen; r = wc[j].rcnum; a = wc[j].addr + NW_PREFIX; for (i = 0; i < nu; i++) if (wc[i].klen == k && wc[i].rcnum == (short)r && !memcmp(wc[i].addr + NW_PREFIX, a, 2 * k)) break; if (nu <= i) wc[nu++] = wc[j]; } return(nu); } static struct TW * RkWcand2Wrec pro((Wrec *, struct RkWcand *, int, unsigned long *)); static struct TW * RkWcand2Wrec(key, wc, nc, lucks) Wrec *key; struct RkWcand *wc; int nc; unsigned long *lucks; { int i, j; unsigned ylen, sz; struct TW *tw = (struct TW *)0; Wrec *wrec, *a; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned char localbuffer[RK_WREC_BMAX], *dst = localbuffer; #else unsigned char *localbuffer, *dst; localbuffer = (unsigned char *)malloc(RK_WREC_BMAX); if (!localbuffer) { return tw; } dst = localbuffer; #endif if ((ylen = (*key >> 1) & 0x3f) <= 0) ; /* return tw; */ else if (nc <= 0 || RK_CAND_NMAX < nc) ; /* return tw; */ else { for (i = sz = 0; i < nc; i++) { if (wc[i].rcnum > 511) return(tw); if (wc[i].klen > NW_LEN) return(tw); sz += (wc[i].klen * 2) + NW_PREFIX; }; if (*key & 0x80) key += 2; key += 2; sz += 2 + ylen * 2; tw = (struct TW *)malloc(sizeof(struct TW)); if (tw) { dst = fil_wrec_flag(dst, &sz, (unsigned)nc, key, ylen, ylen); if (dst) { wrec = (Wrec *)malloc((unsigned)(sz)); if (wrec) { (void)memcpy((char *)wrec, (char *)localbuffer, (size_t)(dst - localbuffer)); dst = wrec + (dst - localbuffer); for ( i = 0; i < nc; i++ ) { *dst++ = (Wrec)(((wc[i].klen << 1) & 0xfe) | ((wc[i].rcnum >> 8) & 0x01)); *dst++ = (Wrec)(wc[i].rcnum & 0xff); a = wc[i].addr + NW_PREFIX; for (j = wc[i].klen * 2; j--;) *dst++ = *a++; } tw->lucks[0] = lucks[0]; tw->lucks[1] = lucks[1]; tw->word = wrec; } else { (void)free(tw); tw = (struct TW *)0; } } } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)localbuffer); #endif return tw; } int RkUnionWcand(wc1, nc1, wlen1, wc2, nc2) struct RkWcand *wc1, *wc2; int wlen1, nc1, nc2; { int i, j, nu; Wrec *a; unsigned k, r; nc1 = RkUniqWcand(wc1, nc1); nu = nc1; for (j = 0; j < nc2 && nu < wlen1; j++) { k = wc2[j].klen; r = wc2[j].rcnum; a = wc2[j].addr + NW_PREFIX; for (i = 0; i < nu; i++) { if (wc1[i].klen == k && wc1[i].rcnum == (short)r && !memcmp(wc1[i].addr + NW_PREFIX, a, 2 * k)) break; } if (nu <= i) wc1[nu++] = wc2[j]; } return(nu); } int RkSubtractWcand(wc1, nc1, wc2, nc2, lucks) struct RkWcand *wc1; struct RkWcand *wc2; int nc1; int nc2; unsigned long *lucks; { int i, j, nu; Wrec *a; unsigned k, r; nc1 = RkUniqWcand(wc1, nc1); for (nu = i = 0; i < nc1; i++) { k = wc1[i].klen; r = wc1[i].rcnum; a = wc1[i].addr + NW_PREFIX; for (j = 0; j < nc2; j++) { if (wc2[j].klen == k && wc2[j].rcnum == (short)r && !memcmp(wc2[j].addr + NW_PREFIX, a, 2 * k)) break; } if (nc2 <= j) { if (nu == 0 && i == 1) { lucks[0] = lucks[1]; lucks[1] = 0L; } wc1[nu++] = wc1[i]; } else { if (nu < 2) { lucks[0] = lucks[1]; lucks[1] = 0L; } } } return(nu); } struct TW * RkSubtractWrec(tw1, tw2) struct TW *tw1; struct TW *tw2; { struct RkWcand *wc1, *wc2; int nc1, nc2, nc, ylen; Wrec *a, *b, *wrec1 = tw1->word, *wrec2 = tw2->word; wc1 = (struct RkWcand *) malloc(sizeof(struct RkWcand) * RK_CAND_NMAX); if (!wc1) return((struct TW *)0); wc2 = (struct RkWcand *) malloc(sizeof(struct RkWcand) * RK_CAND_NMAX); if (!wc2) { free(wc1); return((struct TW *)0); } if ((ylen = (*wrec1 >> 1) & 0x3f) != ((*wrec2 >> 1) & 0x3f)) { free(wc1); free(wc2); return((struct TW *)0); } if (*(a = wrec1) & 0x80) a += 2; a += 2; if (*(b = wrec2) & 0x80) b += 2; b += 2; while (ylen--) { if (*a++ != *b++ || *a++ != *b++) { free(wc1); free(wc2); return((struct TW *)0); } } nc1 = RkScanWcand(wrec1, wc1, RK_CAND_NMAX); nc2 = RkScanWcand(wrec2, wc2, RK_CAND_NMAX); nc = RkSubtractWcand(wc1, nc1, wc2, nc2, tw1->lucks); if (nc <= 0) { free(wc1); free(wc2); return((struct TW *)0); } else { struct TW *wc3 = RkWcand2Wrec(wrec1, wc1, nc, tw1->lucks); free(wc1); free(wc2); return(wc3); } } struct TW * RkUnionWrec(tw1, tw2) struct TW *tw1; struct TW *tw2; { struct RkWcand *wc1, *wc2; Wrec *wrec2 = tw2->word; Wrec *wrec1 = tw1->word; int nc1, nc2, nc; wc1 = (struct RkWcand *) malloc(sizeof(struct RkWcand) * RK_CAND_NMAX); if (!wc1) return((struct TW *)0); wc2 = (struct RkWcand *) malloc(sizeof(struct RkWcand) * RK_CAND_NMAX); if (!wc2) { free(wc1); return((struct TW *)0); } if (((*wrec1 >> 1) & 0x3f) != ((*wrec2 >> 1) & 0x3f)) { free(wc1); free(wc2); return (struct TW *)0; } nc1 = RkScanWcand(wrec1, wc1, RK_CAND_NMAX); nc2 = RkScanWcand(wrec2, wc2, RK_CAND_NMAX); nc = RkUnionWcand(wc1, nc1, RK_CAND_NMAX, wc2, nc2); if (RK_CAND_NMAX < nc) { free(wc1); free(wc2); return (struct TW *)0; } else { struct TW *wc3 = RkWcand2Wrec(wrec1, wc1, nc, tw1->lucks); free(wc1); free(wc2); return(wc3); } } int RkTestGram(gram, row, col) const struct RkKxGram *gram; int row; int col; { const conjcell *start = gram->ng_conjrows[row]; const conjcell *end = gram->ng_conjrows[row + 1]; switch (end - start) { case 0: return 0; /* NOTREACHED */ case 1: break; default: if (col < start->mycol || col > end[-1].mycol) return 0; } while (end - start >= 2) { const conjcell *mid = start + (end - start) / 2; if (col >= mid->mycol) start = mid; else end = mid; } return start->mycol == col; } #ifdef LOGIC_HACK /* RkCheckNegGram -- ÂǤÁ¾Ã¤¹Àܳ¤ò¸¡ºº¤¹¤ë * return value: * 0: ´Ø·¸¤Ê¤· * 1: ÂǤÁ¾Ã¤¹ * 2: Í¥ÀèÅÙ¤ò²¼¤²¤ë */ int RkCheckNegGram(gram, rc1, rc2, rc3) const struct RkKxGram *gram; int rc1; int rc2; int rc3; { int m, l = 0, r = gram->ng_numneg; canna_uint32_t *neg = gram->ng_neg; canna_uint32_t rcvec = (rc1 << (NW_RCBITS * 2)) | (rc2 << NW_RCBITS) | rc3; rcvec <<= 1; while (l < r) { m = (l + r) / 2; if (neg[m] < rcvec) l = m + 1; else r = m; } if (l >= gram->ng_numneg) return 0; switch ((int)(neg[l] ^ rcvec)) { case 0: return 1; case 1: return 2; } return 0; } #endif void RkFirstGram(iter, gram) struct RkGramIterator *iter; const struct RkKxGram *gram; { iter->rowcol = 0; } void RkEndGram(iter, gram) struct RkGramIterator *iter; const struct RkKxGram *gram; { iter->rowcol = gram->ng_rowcol; } /* vim: set sw=2: */ Canna37p3/lib/RK/nword.c0100644000076500001200000014721207712264027014242 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="$Id: nword.c,v 1.5 2003/07/31 19:03:51 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "RKintern.h" #if defined(DEBUG_NWORD) || defined(RK_DEBUG) || defined(TEST) #include /* * debug aids */ #define D_CONC 1 #define D_PARSE 2 #define D_SUCC 4 #define D_SUBST 4 /* int debug_flags = D_CONC|D_PARSE|D_SUCC; int debug_flags = D_PARSE|D_SUCC; */ int debug_flags = 0; static void dumpSimpleWordRec(), dumpWordRec(), dumpAllBunq(); static void dumpXQH(), dumpXQ(); #else #define rk_debug(file, fmt, a, b, c) #endif extern void usncopy(); static void clearWord(w, bb) /* make word empty */ struct nword *w; int bb; { if (w) { w->nw_cache = (struct ncache *)0; w->nw_rowcol = bb; /* ʸÀá */ w->nw_klen = w->nw_ylen = 0; w->nw_class = ND_EMP; w->nw_flags = 0; w->nw_lit = 0; w->nw_prio = 0L; w->nw_count = 0; w->nw_left = w->nw_next = (struct nword *)0; w->nw_kanji = (Wrec *)0; } } /*ARGSUSED*/ static void setWord(w, rc, lit, yomi, ylen, kanji, klen, bb) struct nword *w; int rc; int lit; Wchar *yomi; int ylen; Wrec *kanji; int klen; int bb; { clearWord(w, bb); w->nw_rowcol = rc; w->nw_klen = klen; w->nw_ylen = ylen; w->nw_class = 0; w->nw_flags = 0; w->nw_lit = lit; w->nw_kanji = kanji; } /* allocWord * allocate a fresh word */ /*ARGSUSED*/ static struct nword * allocWord(st, bb) struct nstore *st; int bb; { struct nword *new_word; if (!SX.word) { struct nword *new_page; int i; #define NW_PAGESIZE 1024 new_page = (struct nword *)malloc(sizeof(struct nword)*NW_PAGESIZE); if (new_page) { SX.page_in_use++; new_page[0].nw_next = SX.page; SX.page = &new_page[0]; SX.word = &new_page[1]; for (i = 1; i + 1 < NW_PAGESIZE; i++) new_page[i].nw_next = &new_page[i + 1]; new_page[i].nw_next = (struct nword *)0; }; }; new_word = SX.word; if (new_word) { SX.word = new_word->nw_next; clearWord(new_word, bb); st->word_in_use++; SX.word_in_use++; }; return new_word; } static void derefWord(word) /* decrease the reference counter */ struct nword *word; { for (; word; word = word->nw_next) if (word->nw_cache) (void)_RkDerefCache(word->nw_cache); } /*ARGSUSED*/ static void killWord(st, word) /* dispose the unsed words */ struct nstore *st; struct nword *word; { struct nword *p, *q; if (word) { for (p = q = word; p; q = p, p = p->nw_next) { if (!p->nw_cache && p->nw_kanji) { _Rkpanic("killWord this would never happen addr ", 0, 0, 0); (void)free((char *)p->nw_kanji); }; st->word_in_use--; SX.word_in_use--; } q->nw_next = SX.word; SX.word = word; } } static void freeWord(st, word) /* freeWord = derefWord + killWord */ struct nstore *st; struct nword *word; { derefWord(word); killWord(st, word); } void _RkFreeBunq(st) /* freeWord = derefWord + killWord */ struct nstore *st; { struct nbun *bunq = &st->bunq[st->curbun]; freeWord(st, bunq->nb_cand); bunq->nb_cand = (struct nword *)0; bunq->nb_yoff = 0; bunq->nb_curlen = bunq->nb_maxcand = bunq->nb_curcand = 0; bunq->nb_flags = (unsigned short)0; return; } extern unsigned searchRut(); extern int entryRut(); static struct nword * concWord(cx, p, q, loc, bb) /* create the concatinated word p+q */ struct RkContext *cx; struct nword *p, *q; /* prefix word list, and right word */ int loc; int bb; { struct nword conc; struct nword *pq; /* create a concatinated word temoprally */ conc = *q; conc.nw_klen += p->nw_klen; conc.nw_ylen += p->nw_ylen; conc.nw_flags = p->nw_flags&(NW_PRE|NW_SUC|NW_SWD|NW_LOWPRI); conc.nw_count = p->nw_count + 1; /* check limit conditions */ if (conc.nw_klen > RK_LEN_WMAX || conc.nw_ylen > RK_LEN_WMAX || conc.nw_count >= RK_CONC_NMAX) return (struct nword *)0; #ifdef LOGIC_HACK if (conc.nw_count >= 3) { switch (RkCheckNegGram(cx->gram->gramdic, p->nw_left->nw_rowcol, p->nw_rowcol, q->nw_rowcol)) { case 1: return (struct nword *)0; case 2: conc.nw_flags |= NW_LOWPRI; } } #endif /* LOGIC_HACK */ if (p->nw_ylen == 1 && q->nw_rowcol == cx->gram->P_Ftte) conc.nw_flags |= NW_LOWPRI; /* FIXME: replace to something better */ conc.nw_prio = p->nw_prio; conc.nw_next = (struct nword *)0; conc.nw_left = p; switch(q->nw_class) { /* kakko, kutouten ha setuzoku kankei ni eikyou sinai */ case ND_OPN: case ND_CLS: conc.nw_rowcol = p->nw_rowcol; if (p->nw_class != ND_EMP) { conc.nw_class = p->nw_class; conc.nw_flags = p->nw_flags; } else { conc.nw_class = q->nw_class; conc.nw_flags = q->nw_flags; }; break; case ND_PUN: /* avoid punctionations where prohibited */ if (!CanSplitWord(p)) return (struct nword *)0; /* don't remove loc check or you get stuck when a punctionation comes */ if (loc > 0 && p->nw_class == ND_EMP) return (struct nword *)0; conc.nw_rowcol = p->nw_rowcol; conc.nw_class = ND_SWD; break; case ND_MWD: conc.nw_flags |= NW_MWD; conc.nw_flags |= (q->nw_flags & NW_LOWPRI); conc.nw_prio = q->nw_prio; break; case ND_SWD: if (!(conc.nw_flags&NW_SWD)) conc.nw_flags |= NW_SWD; break; case ND_PRE: conc.nw_flags |= NW_PRE; break; case ND_SUC: conc.nw_flags |= NW_SUC; break; }; /* cache no sanshoudo wo kousinn suru */ pq = allocWord(cx->store, bb); if (pq) { *pq = conc; p->nw_flags |= NW_FOLLOW; if (pq->nw_cache) _RkEnrefCache(pq->nw_cache); }; return pq; } /* clearQue * clear word tree queue */ static void clearQue(xq) struct nqueue *xq; { xq->tree = (struct nword *)0; xq->maxlen = 0; xq->status = 0; } /* RkFreeQue * free word tree stored in [s, e) */ void _RkFreeQue(st, s, e) struct nstore *st; int s; int e; { struct nqueue *xq = st->xq; while (s < e) { if (xq[s].tree) freeWord(st, xq[s].tree); clearQue(&xq[s]); s++; }; } /* * Literal */ static int cvtNum(dst, maxdst, src, maxsrc, format) Wchar *dst; int maxdst; Wchar *src; int maxsrc; int format; { return RkwCvtSuuji(dst, maxdst, src, maxsrc, format - 1); } static int cvtAlpha(dst, maxdst, src, maxsrc, format) Wchar *dst; int maxdst; Wchar *src; int maxsrc; int format; { switch(format) { #ifdef ALPHA_CONVERSION case 1: return RkwCvtZen(dst, maxdst, src, maxsrc); case 2: return RkwCvtHan(dst, maxdst, src, maxsrc); case 3: return -1; #else case 1: return RkwCvtNone(dst, maxdst, src, maxsrc); case 2: return -1; #endif default: return 0; } } static int cvtHira(dst, maxdst, src, maxsrc, format) Wchar *dst; int maxdst; Wchar *src; int maxsrc; int format; { switch(format) { case 1: return RkwCvtHira(dst, maxdst, src, maxsrc); case 2: return RkwCvtKana(dst, maxdst, src, maxsrc); default: return 0; } } static int cvtLit(dst, maxdst, src, maxsrc, format, mode) Wchar *dst; int maxdst; Wchar *src; int maxsrc; int format; unsigned long mode; { switch(format >> 4) { case LIT_NUM: if (mode & RK_MAKE_KANSUUJI) return cvtNum(dst, maxdst, src, maxsrc, format&15); else return RkwCvtNone(dst, maxdst, src, maxsrc); case LIT_ALPHA: return cvtAlpha(dst, maxdst, src, maxsrc, format&15); case LIT_HIRA: return cvtHira(dst, maxdst, src, maxsrc, format&15); default: return 0; } } /* setLit * create the literals as many as the context requires */ static struct nword * setLit(cx, word, maxword, rc, src, srclen, format) struct RkContext *cx; struct nword *word; int maxword; int rc; Wchar *src; int srclen; int format; { struct nword *w = word; int dstlen; unsigned long mode; if (!cx->litmode) return 0; for (mode = cx->litmode[format]; mode; mode >>= RK_XFERBITS) if (w < word + maxword) { int code = MAKELIT(format, mode&RK_XFERMASK); dstlen = cvtLit((Wchar *)0, 9999, src, srclen, code, (unsigned long)cx->concmode); if (0 < dstlen && dstlen <= RK_LEN_WMAX) setWord(w++, rc, code, src, srclen, (Wrec *)0, dstlen, cx->gram->P_BB); if (dstlen < 0) setWord(w++, rc, code, src, srclen, (Wrec *)0, srclen, cx->gram->P_BB); } return (struct nword *) w; } #define READWORD_MAXCACHE 128 static struct nword * readWord(cx, yy, ys, ye, class, nword, maxword, doflush, douniq) struct RkContext *cx; int yy, ys, ye; int class; struct nword *nword; int maxword; int doflush; int douniq; { Wchar *key = cx->store->yomi + yy; struct nword *wrds; struct MD *head = cx->md[class], *md; int maxcache = READWORD_MAXCACHE; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned permutation[RK_CAND_NMAX]; unsigned char *candidates[RK_CAND_NMAX]; struct nread nread[READWORD_MAXCACHE]; #else unsigned *permutation; unsigned char **candidates; struct nread *nread; permutation = (unsigned *)malloc(sizeof(unsigned) * RK_CAND_NMAX); candidates = (unsigned char **) malloc(sizeof(unsigned char *) * RK_CAND_NMAX); nread = (struct nread *)malloc(sizeof(struct nread) * READWORD_MAXCACHE); if (!permutation || !candidates || !nread) { if (permutation) (void)free((char *)permutation); if (candidates) (void)free((char *)candidates); if (nread) (void)free((char *)nread); return nword; } #endif wrds = nword; for (md = head->md_next; md != head; md = md->md_next) { struct DM *dm = md->md_dic; struct DM *qm = md->md_freq; struct nword *pp, *qq; int c, nc, num, cf = 0, nl; if (maxword <= 0) break; if (!dm) continue; if (qm && !qm->dm_qbits) qm = (struct DM *)0; nc = DST_SEARCH(cx, dm, key, ye, nread, maxcache, &cf); for (c = 0; c < nc; c++) { struct nread *thisRead = nread + c; struct ncache *thisCache = thisRead->cache; unsigned char *wp = thisCache->nc_word; unsigned long offset; int nk, cnt = 1; unsigned long csnb; int bitSize; nk = _RkCandNumber(wp); nl = (*wp >> 1) & 0x3f; if (!doflush && (cf || thisRead->nk > ye || thisRead->nk > RK_KEY_WMAX)) cx->poss_cont++; if (*wp & 0x80) wp += 2; wp += 2 + nl *2; csnb = thisRead->csn; offset = thisRead->offset; if (ys < thisRead->nk && thisRead->nk <= ye && thisRead->nk <= RK_KEY_WMAX) { for (num = 0; num < nk; num++) { candidates[num] = wp; wp += 2 * ((*wp >> 1) & 0x7f) + 2; }; if (qm) { int ecount, cval, i; bitSize = _RkCalcLog2(nk + 1) + 1; _RkUnpackBits(permutation, qm->dm_qbits, offset, bitSize, nk); for (ecount = cval = i = 0; i < nk; i++) { if ((int)permutation[i]/2 > nk) { ecount++; break; }; cval += permutation[i]; } if (ecount || cval < (nk-1)*(nk-2)) { for (i = 0; i < nk; i++) permutation[i] = 2*i; _RkPackBits(qm->dm_qbits, offset, bitSize, permutation, nk); }; }; pp = wrds; for (num = 0; num < nk; num++) { unsigned permed; if (maxword <= 0) break; if (qm) { permed = permutation[num]/2; if ((int)permed > nk) { break; } else if ((int)permed == nk) continue; } else permed = num; wp = candidates[permed]; clearWord(wrds, cx->gram->P_BB); wrds->nw_kanji = wp; wrds->nw_freq = qm; wrds->nw_rowcol = _RkRowNumber(wp); wrds->nw_cache = thisCache; wrds->nw_ylen = thisRead->nk; wrds->nw_klen = (*wp >> 1) & 0x7f; wrds->nw_class = class; wrds->nw_csn = csnb + permed; wrds->nw_prio = 0L; if (class == ND_MWD) { if (qm && qm->dm_rut) { if (cnt) cnt = wrds->nw_prio = searchRut(qm->dm_rut, wrds->nw_csn); } else if (DM2TYPE(dm)) { if (num < 2) wrds->nw_prio = ((struct TW *)thisCache->nc_address)->lucks[num]; } if (wrds->nw_prio) { long t; t = _RkGetTick(0) - wrds->nw_prio; wrds->nw_prio = (0 <= t && t < 0x2000) ? (0x2000 - t) << 4 : 0; }; switch(num) { case 0: wrds->nw_prio += 15L; break; case 1: wrds->nw_prio += 11L; break; case 2: wrds->nw_prio += 7L; break; case 3: wrds->nw_prio += 3L; break; }; wrds->nw_prio |= 0x01; }; if (douniq) { for (qq = pp; qq < wrds; qq++) if (qq->nw_rowcol == wrds->nw_rowcol) break; if (qq < wrds) continue; } _RkEnrefCache(thisCache); wrds++; maxword--; }; }; _RkDerefCache(thisCache); }; maxcache -= nc; }; #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)permutation); (void)free((char *)candidates); (void)free((char *)nread); #endif return(wrds); } /* makeWord * jisho ni nai katakana, suuji, tokushu moji wo tango to minasu */ /*ARGSUSED*/ static struct nword * makeWord(cx, yy, ys, ye, class, word, maxword, doflush, douniq) struct RkContext *cx; int yy, ys, ye; int class; /* word class */ struct nword *word; int maxword; int doflush; int douniq; { struct nstore *st = cx->store; Wchar *key = st->yomi + yy; Wchar *k, *z; struct nword *w = word; Wchar c; int clen; int hinshi = cx->gram->P_BB; int literal = -1; int punct = 0; int gobeyond = 0; if (ye <= 0) return w; z = (k = key) + ye; /* sentou moji wo yomu */ c = *k++; clen = 1; if (us_iscodeG0(c)) { /* ascii string */ if ('0' <= c && '9' >= c) { /* numeral */ if (!(cx->concmode & RK_MAKE_EISUUJI)) { doflush++; } else { for (; k < z; k++, clen++) if (clen >= RK_KEY_WMAX || !('0' <= *k && *k <= '9')) { doflush++; break; }; } hinshi = cx->gram->P_NN; literal = LIT_NUM; } else { /* others */ if (!(cx->concmode & RK_MAKE_EISUUJI)) { doflush++; } else { for (; k < z; k++, clen++) if (clen >= RK_KEY_WMAX || !us_iscodeG0(*k)) { doflush++; break; }; } hinshi = cx->gram->P_T35; literal = LIT_ALPHA; } } else if (us_iscodeG1(c)) { if (0xb000 <= c) { /* kanji string */ for (; k < z; k++, clen++) if (clen >= RK_KEY_WMAX || *k < 0xb000) { doflush++; break; }; hinshi = cx->gram->P_T00; } else if (0xa1a2 <= c && c <= 0xa1db) { /* * now multiple punctiation characters constitute a single punct */ for (; k < z; k++, clen++) if (clen >= RK_KEY_WMAX || !(0xa1a2 <= *k && *k <= 0xa1db)) { doflush++; break; }; switch(c) { case 0xa1a2: case 0xa1a3: case 0xa1a4: case 0xa1a5: case 0xa1a6: case 0xa1a7: case 0xa1a8: case 0xa1a9: case 0xa1aa: case 0xa1c4: punct = ND_PUN; break; case 0xa1c6: case 0xa1c8: case 0xa1ca: case 0xa1cc: case 0xa1ce: case 0xa1d0: case 0xa1d2: case 0xa1d4: case 0xa1d6: case 0xa1d8: case 0xa1da: punct = ND_OPN; break; case 0xa1c7: case 0xa1c9: case 0xa1cb: case 0xa1cd: case 0xa1cf: case 0xa1d1: case 0xa1d3: case 0xa1d5: case 0xa1d7: case 0xa1d9: case 0xa1db: punct = ND_CLS; break; default: hinshi = cx->gram->P_T00; doflush++; }; } else if (0xa3b0 <= c && c <= 0xa3b9) { /* suuji */ if (!(cx->concmode & RK_MAKE_EISUUJI)) { doflush++; } else { for (; k < z; k++, clen++) if (clen >= RK_KEY_WMAX || !(0xa3b0 <= *k && *k <= 0xa3b9)) { doflush++; break; }; } hinshi = cx->gram->P_NN; literal = LIT_NUM; } else if ((0xa3c1 <= c && c <= 0xa3da) || (0xa3e1 <= c && c <= 0xa3fa)) { /* eiji */ if (!(cx->concmode & RK_MAKE_EISUUJI)) { doflush++; } else { for (; k < z; k++, clen++) if (clen >= RK_KEY_WMAX || !((0xa3c1 <= (c = *k) && c <= 0xa3da) || (0xa3e1 <= c && c <= 0xa3fa))) { doflush++; break; }; } hinshi = cx->gram->P_T35; literal = LIT_ALPHA; } else if (0xa5a1 <= c && c <= 0xa5f6) { /* zenkaku katakana */ for (; k < z; k++, clen++) if (clen >= RK_KEY_WMAX || ((0xa5a1 > (c = *k) || c > 0xa5f6) && (0xa1a1 > c || c > 0xa1f6))) { doflush++; break; }; hinshi = cx->gram->P_T30; } else if (0xa4a1 <= c && c <= 0xa4f3) { /* hiragana */ for (; k < z; k++, clen++) { if (clen >= RK_KEY_WMAX) { doflush++; break; }; switch (*k) { #ifndef LOGIC_HACK case 0xa4a1: case 0xa4a3: case 0xa4a5: case 0xa4a7: case 0xa4a9: case 0xa4e3: case 0xa4e5: case 0xa4e7: case 0xa4c3: case 0xa4f3: #endif case 0xa1ab: case 0xa1ac: case 0xa1b3: case 0xa1b4: case 0xa1b5: case 0xa1b6: case 0xa1bc: continue; default: doflush++; gobeyond++; goto hira; }; }; hira: hinshi = cx->gram->P_T35; } else { doflush++; hinshi = cx->gram->P_T35; }; } else if (us_iscodeG2(c)) { /* hankaku katakana */ for (; k < z; k++, clen++) if (clen >= RK_KEY_WMAX || !us_iscodeG2(*k)) { doflush++; break; }; hinshi = cx->gram->P_T30; } else { doflush++; hinshi = cx->gram->P_T35; } if ((ys <= clen && clen <= ye) || gobeyond) { if (class == ND_MWD || punct) { if (!doflush && !gobeyond) cx->poss_cont++; if (literal != -1) { if (doflush) w= setLit(cx, w, maxword, hinshi, key, clen, literal); } else if (w < word + maxword) { if (doflush) { setWord(w++, hinshi, 0, key, clen, (Wrec *)0, clen, cx->gram->P_BB); if (punct) w[-1].nw_class = punct; }; } } } return w; } static int determinate(y1, y2, l) Wrec *y1, *y2; int l; { if ((int)*y1 > l) return(0); for (l = *y1, y1 += 2; l; l--) { Wchar *wy = (Wchar *) y2; Wrec c1 = (Wrec) ((*wy & 0xff00) >> 8); Wrec c2 = (Wrec) (*wy & 0xff); y2 += 2; if (*y1++ != c1 || *y1++ != c2) { return(0); } } return(1); } static int positive(y1, y2, l) Wrec *y1, *y2; int l; { l = (int)*y1 < l ? (int)*y1 : l; for (y1 += 2; l; l--) { if (*y1++ != *y2++ || *y1++ != *y2++) { return(0); } } return(1); } static int positiveRev(y1, y2, l) Wrec *y1, *y2; int l; { l = (int)*y1 < l ? (int)*y1 : l; for (y1 += 2; l; l--) { Wchar *wy = (Wchar *) y2; Wrec c1 = (Wrec) ((*wy & 0xff00) >> 8); Wrec c2 = (Wrec) (*wy & 0xff); y2 += 2; if (*y1++ != c1 || *y1++ != c2) { return(0); } } return(1); } static void cancelNVE(nv, p) struct NV *nv; struct NVE *p; { unsigned char *s = p->data; nv->csz -= *s * 2 + 2; nv->cnt--; p->right->left = p->left; p->left->right = p->right; (void)free((char *)s); (void)free((char *)p); } static struct NVE * newNVE(nv, y, l, v) struct NV *nv; Wrec *y; int l; int v; { unsigned short w; struct NVE *p, **q, *r; struct NVE *nve; unsigned char *s; nve = (struct NVE *)calloc(1, sizeof(struct NVE)); if (nve) { s = (unsigned char *)malloc(l * 2 + 2); if (s) { nve->data = s; *s++ = l; *s++ = v; memcpy(s, y, l * 2); nv->csz += l * 2 + 2; nv->cnt++; while ((p = nv->head.right) != &nv->head && nv->csz >= (long)nv->sz) { w = bst2_to_s(p->data + 2); q = nv->buf + w % nv->tsz; while ((r = *q) != (struct NVE *)0) { if (r == p) { *q = r->next; cancelNVE(nv, p); break; } else q = &r->next; } } if (nv->csz >= (long)nv->sz) { nv->csz -= l * 2 + 2; nv->cnt--; (void)free((char *)nve->data); (void)free((char *)nve); return((struct NVE *)0); } } else { (void)free((char *)nve); nve = (struct NVE *)0; } } return(nve); } int _RkRegisterNV(nv, yomi, len, half) struct NV *nv; Wrec *yomi; int len; int half; { unsigned short v; struct NVE *p, **q, **r; if (nv && nv->tsz && nv->buf) { v = bst2_to_s(yomi); q = r = nv->buf + v % nv->tsz; for (p = *q; p; p = *q) { if (positive(p->data, yomi, len)) { *q = p->next; cancelNVE(nv, p); } else { q = &p->next; } } p = newNVE(nv, yomi, len, half); if (p) { p->next = *r; *r = p; p->left = nv->head.left; p->left->right = p; p->right = &nv->head; nv->head.left = p; } } return(0); } #define TAILSIZE 256 #define RIGHTSIZE (64 * 16) /* parseWord * bunsestu no ki wo seichou saseru. */ static int parseWord(cx, yy, ys, ye, class, xqh, maxclen, doflush, douniq) struct RkContext *cx; int yy, ys, ye; int class; struct nword *xqh[]; /* indexed by nw_ylen */ int maxclen; /* saishou yomi no nagasa */ int doflush; int douniq; { struct RkKxGram *gram = cx->gram->gramdic; int clen; static unsigned classmask[] = { /* ¸å¤í¤Ë¤Ä¤Ê¤¬¤ë¥¯¥é¥¹ */ (1 << ND_SWD) | (1 << ND_SUC), /* MWD --> SUC | SWD */ (1 << ND_SWD), /* SWD --> SWD */ (1 << ND_MWD) | (1 << ND_SWD), /* PRE --> MWD | SWD */ (1 << ND_SWD), /* SUC --> SWD */ (1 << ND_MWD) | (1 << ND_SWD) | (1 << ND_PRE),/* EMP --> MWD | SWD | PRE */ }; #ifndef USE_MALLOC_FOR_BIG_ARRAY struct nword *tail[TAILSIZE]; struct nword right[RIGHTSIZE]; #else struct nword **tail, *right; tail = (struct nword **)malloc(sizeof(struct nword *) * TAILSIZE); right = (struct nword *)malloc(sizeof(struct nword) * RIGHTSIZE); if (!tail || !right) { if (tail) (void)free((char *)tail); if (right) (void)free((char *)right); return maxclen; } #endif for (clen = 0; (clen <= maxclen && clen < ye); clen++) { int sameLen; int t; struct nword *p, *q, *r; int ys1, ye1; /* ÆÉ¤ß¤ÎŤµ clen ¤Îñ¸ì¤Î¤¦¤Á¡¢¸å¤í¤Ë class ¤Ç»ØÄꤵ¤ì¤¿Ã±¸ì¤¬ ¤Ä¤Ê¤¬¤ë²ÄǽÀ­¤¬¤¢¤ë¤â¤Î¤ò¥ê¥¹¥È¥¢¥Ã¥×¤·¡¢tail ¤Ëµ­Ï¿¤¹¤ë */ for (p = xqh[clen], sameLen = 0; p; p = p->nw_next) { if (classmask[p->nw_class] & (1<nw_class >= ND_OPN || RkTestGram(gram, p->nw_rowcol, q->nw_rowcol))) { struct nword *pq = concWord(cx, p, q, clen, cx->gram->P_BB); if (pq) { struct nword *s; if (gram && !IsShuutan(gram, pq->nw_rowcol)) { #ifdef BUNMATU /* ʸ¾ÏËö¤Ë¤·¤«¤Ê¤é¤Ê¤¤ */ if (IsBunmatu(gram, pq->nw_rowcol)) { /* ¶çÆÉÅÀ¤Ê¤É¤Î¾ì¹ç¤È¡¢ÆÉ¤ß¤ò¿Ô¤¯¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï ʸ¾ÏËö¸¡ºº¤ÏÉÔÍ× */ if (q->nw_class >= ND_OPN || (doflush && yy + pq->nw_ylen == cx->store->nyomi)) pq->nw_flags &= ~NW_BUNMATU; else pq->nw_flags |= NW_BUNMATU; } else #endif DontSplitWord(pq); } if ((unsigned long)maxclen < (unsigned long)pq->nw_ylen) { while (++maxclen < (int)pq->nw_ylen) xqh[maxclen] = (struct nword *)0; xqh[maxclen] = pq; } else { s = xqh[pq->nw_ylen]; if (s) { while (s->nw_next) s = s->nw_next; s->nw_next = pq; } else xqh[pq->nw_ylen] = pq; } pq->nw_next = (struct nword *)0; } } } for (q = right; q < r; q++) if (q->nw_cache) _RkDerefCache(q->nw_cache); if (!gram) goto done; } done: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)tail); (void)free((char *)right); #endif return maxclen; } /*ARGSUSED*/ static int doParse(cx, yy, ys, ye, xqh, maxclen, doflush, douniq) struct RkContext *cx; int yy, ys, ye; struct nword *xqh[]; int maxclen; int doflush; int douniq; { maxclen = parseWord(cx, yy, ys, ye, ND_PRE, xqh, maxclen, doflush, douniq); maxclen = parseWord(cx, yy, ys, ye, ND_MWD, xqh, maxclen, doflush, douniq); maxclen = parseWord(cx, yy, ys, ye, ND_SUC, xqh, maxclen, doflush, douniq); maxclen = parseWord(cx, yy, ys, ye, ND_SWD, xqh, maxclen, doflush, douniq); return maxclen; } /* getKanji * get kanji in reverse order */ Wchar * _RkGetKanji(cw, key, mode) unsigned long mode; struct nword *cw; Wchar *key; { Wrec *str; static Wchar tmp[RK_LEN_WMAX+1]; /* static! */ Wchar *p = tmp; int klen, ylen; struct nword *lw = cw->nw_left; klen = cw->nw_klen - lw->nw_klen; ylen = cw->nw_ylen - lw->nw_ylen; /* nw_cache --> nw_kanji !nw_lit */ /* !nw_cache --> !nw_kanji nw_lit */ if (cw->nw_cache) { if ((*(cw->nw_kanji) >> 1) & 0x7f) { str = cw->nw_kanji + NW_PREFIX; for (; klen-- ; str += 2) *p++ = S2TOS(str); return tmp; } else return key; } else if (cw->nw_kanji) { _Rkpanic("_RkGetKanji\n", 0, 0, 0); str = cw->nw_kanji + NW_PREFIX; for (; klen-- ; str += 2) *p++ = S2TOS(str); return tmp; } else if (cw->nw_lit) { if (cvtLit(tmp, klen + 1, key, ylen, cw->nw_lit, mode) > 0) return tmp; else return key; } else return key; } static int getKanji(w, key, d, mode) struct nword *w; Wchar *key; Wchar *d; unsigned long mode; { struct nword *cw, *lw; int hash, klen; hash = 0; for (cw = w; cw; cw = lw) { Wchar *s, *t; if (!(lw = cw->nw_left)) continue; klen = (cw->nw_klen - lw->nw_klen); s = _RkGetKanji(cw, key + lw->nw_ylen, mode); t = s + klen; /* copy */ while (s < t) { *d++ = *--t; hash += *t; } } return hash; } #define HEAPSIZE 512 /* uniqWord * unique word list */ static void uniqWord(key, words, ylen, mode) Wchar *key; struct nword *words; unsigned ylen; unsigned long mode; { struct nword *p; long hp = 0; long uniq[16]; #ifndef USE_MALLOC_FOR_BIG_ARRAY long heap[HEAPSIZE]; #else long *heap = (long *)malloc(sizeof(long) * HEAPSIZE); if (!heap) { return; } #endif if (!(!key || ylen <= 0)) { /* clear hash table */ uniq[ 0] = uniq[ 1] = uniq[ 2] = uniq[ 3] = uniq[ 4] = uniq[ 5] = uniq[ 6] = uniq[ 7] = uniq[ 8] = uniq[ 9] = uniq[10] = uniq[11] = uniq[12] = uniq[13] = uniq[14] = uniq[15] = -1; for (p = words; p; p = p->nw_next) { if (CanSplitWord(p) && p->nw_ylen == ylen) { int wsize; /* compute word size */ wsize = (2*p->nw_klen + sizeof(long)-1)/sizeof(long); if (hp + 1 + wsize < HEAPSIZE) { long hno, h; /* put kanji string without EOS */ heap[hp + wsize] = 0; hno = getKanji(p, key, (Wchar *)&heap[hp + 1], mode)&15; /* search on the hash list */ for (h = uniq[hno]; h >= 0; h = heap[h&0xffff]) if ((h >> 16) == p->nw_klen) { /* same length */ long *p1 = &heap[(h&0xffff) + 1]; long *p2 = &heap[hp + 1]; int i; /* compare by word */ switch(wsize) { case 3: if (*p1++ != *p2++) goto next; case 2: if (*p1++ != *p2++) goto next; case 1: if (*p1++ != *p2++) goto next; case 0: break; default: for (i = wsize; i--;) if (*p1++ != *p2++) goto next; break; } /* match */ DontSplitWord(p); goto done; next: continue; } /* enter new entry */ heap[hp + 0] = uniq[hno]; uniq[hno] = (((unsigned long) (p->nw_klen))<<16)|hp; hp += 1 + wsize; } done: continue; } } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)heap); #endif } /* sortWord * word list wo sort suru */ struct compRec { struct nword *word; long prio; }; static compword pro((const struct compRec *, const struct compRec *)); static int compword(x, y) const struct compRec *x, *y; { int lowdiff = (int)((unsigned char)y->word->nw_flags & NW_LOWPRI) - (int)((unsigned char)x->word->nw_flags & NW_LOWPRI); long d = ((long) y->word->nw_prio) - ((long) (x->word->nw_prio)); if (lowdiff > 0) return(-1); else if (lowdiff < 0) return(1); if (d > 0) return(1); else if(d < 0) return(-1); else { long dd = x->prio - y->prio; if (dd > 0) return(1); else if (dd < 0) return(-1); else return(0); } } static struct nword * sortWord(words) struct nword *words; { unsigned long nwords, pos, neg; long i, p, n; struct compRec *wptr; struct nword *w; /* count number of words */ pos = neg = 0L; for (w = words; w; w = w->nw_next) if (w->nw_prio > 0) pos++; else neg++; nwords = pos + neg; if (nwords <= 0) return words; /* sort word list using work space if possible */ wptr = (struct compRec *)malloc(sizeof(struct compRec)*nwords); if (wptr) { p = 0L; n = pos; /* store pointers */ for (w = words; w; w = w->nw_next) if (w->nw_prio > 0) { /* positive list */ wptr[p].word = w; wptr[p].prio = p; p++; } else { /* negative list && null word */ wptr[n].word = w; n++; } /* positive list no sakusei */ if (pos > 1) (void)qsort((char *)wptr, (int)pos, sizeof(struct compRec), (int (*) pro((const void *, const void *)))compword); for (i = 1; i < (int)nwords; i++) wptr[i - 1].word->nw_next = wptr[i].word; words = wptr[0].word; (void)free((char *)wptr); } return words; } static struct nword * height2list(height, maxclen) struct nword *height[]; int maxclen; { int i; struct nword *e, *p, *head, *tail; e = height[0]; tail = (struct nword *)0; for (i = 1; i <= maxclen; i++) if (height[i]) { for (p = height[i] ; p->nw_next ;) { p = p->nw_next; } if (tail) tail->nw_next = height[i]; else head = height[i]; tail = p; } if (tail) tail->nw_next = e; else head = e; return head; } static void list2height(height, maxclen, parse) struct nword *height[]; int maxclen; struct nword *parse; { int i; struct nword *p, *q; for (i = 0; i <= maxclen; i++) height[i] = (struct nword *)0; for (p = parse; p; p = p->nw_next) if ((unsigned long)p->nw_ylen <= (unsigned long)maxclen && !height[p->nw_ylen]) height[p->nw_ylen] = p; for (i = 0; i <= maxclen; i++) if (height[i]) { for (p = height[i] ; (q = p->nw_next) != (struct nword *)0; p = q) { if (q->nw_ylen != i) { p->nw_next = (struct nword *)0; break; } } } } /* parseBun * key yori hajimaru bunsetsu wo kaiseki suru */ static struct nword * parseBun(cx, yy, ys, ye, doflush, douniq, maxclen) struct RkContext *cx; int yy, ys, ye; /* kaiseki seiyaku */ int doflush; int douniq; /* unique shori sitei */ int *maxclen; /* bunsetu saidai moji suu */ { struct nstore *st = cx->store; struct nword **xqh = st->xqh; #ifdef TEST printf("parseBun[yy = %d, ys = %d, ye = %d]\n", yy, ys, ye); #endif xqh[0] = allocWord(st, cx->gram->P_BB); if (xqh[0]) { *maxclen = doParse(cx, yy, ys, ye, xqh, 0, doflush, douniq); return height2list(xqh, *maxclen); } else { /* kaiseki funou */ *maxclen = 0; return (struct nword *)0; } } #ifdef BUNMATU static struct nword * modifyPrio(cx, words) struct RkContext *cx; struct nword *words; { struct RkKxGram *gram = cx->gram->gramdic; struct nword *w; for (w = words; w; w = w->nw_next) if (w->nw_prio > 0 && !IsBunmatu(gram, w->nw_rowcol)) w->nw_prio += 0x2000 << 4; return words; } #endif static void storeBun(cx, yy, ys, ye, bun) struct RkContext *cx; int yy, ys, ye; struct nbun *bun; { struct nword *full; struct nword *w; int maxclen; #ifdef BUNMATU full = sortWord(modifyPrio(cx, parseBun(cx, yy, ys, ye, 1, 0, &maxclen))); #else full = sortWord(parseBun(cx, yy, ys, ye, 1, 0, &maxclen)); #endif bun->nb_cand = full; bun->nb_yoff = yy; /* kouho wo unique ni suru */ uniqWord(cx->store->yomi + yy, full, bun->nb_curlen, cx->concmode); bun->nb_curcand = (unsigned short)0; bun->nb_maxcand = (unsigned short)0; for (w = full; w; w = w->nw_next) { if (CanSplitWord(w) && w->nw_ylen == bun->nb_curlen) bun->nb_maxcand++; } } /* * SPLIT */ struct splitParm { unsigned long u2; int l2; }; #ifdef LOGIC_HACK static void evalSplit(cx, suc, ul) struct RkContext *cx; struct nword *suc; struct splitParm *ul; { struct nword *p; unsigned l2; unsigned long u2; l2 = 0; u2 = 0L; for (p = suc; p; p = p->nw_next) { if (!CanSplitWord(p) || /* ʸÀá¤Ë¤Ê¤é¤Ê¤¤ */ OnlyBunmatu(p) || /* ¥ê¥Æ¥é¥ë¤ÎľÁ°¤Ç¤·¤«Ê¸Àá¤Ë¤Ê¤ì¤Ê¤¤ */ (p->nw_rowcol == cx->gram->P_KJ) || /* ñ´Á»ú */ (p->nw_flags & NW_LOWPRI) || /* Í¥ÀèÅÙ¤ÎÄ㤤ʸÀá */ (p->nw_flags & NW_SUC)) continue; if (l2 <= p->nw_ylen) { l2 = p->nw_ylen; /* ÆÉ¤ß¤¬°ìʸ»ú¤Îñ¸ì¤ÎÍ¥ÀèÅ٤ϹÍθ¤·¤Ê¤¤ */ if (u2 < p->nw_prio && p->nw_ylen > 1) u2 = p->nw_prio; } } ul->l2 = l2; ul->u2 = u2; } #else /* LOGIC_HACK */ static void evalSplit(cx, suc, ul) struct RkContext *cx; struct nword *suc; struct splitParm *ul; { struct nword *p; int l2; unsigned long u2; l2 = 0; u2 = 0L; for (p = suc; p; p = p->nw_next) { if (!CanSplitWord(p) || (p->nw_flags & NW_SUC)) continue; if ((unsigned long)l2 < (unsigned long)p->nw_ylen) l2 = p->nw_ylen; if (u2 < p->nw_prio) u2 = p->nw_prio; }; ul->l2 = l2; ul->u2 = u2; } #endif /* LOGIC_HACK */ #define PARMSIZE 256 static int calcSplit(cx, yy, top, xq, maxclen, flush) struct RkContext *cx; int yy; struct nword *top; struct nqueue xq[]; /* indexed by nw_ylen */ int maxclen; int flush; { #ifdef LOGIC_HACK int L, L1 = 0, L2; unsigned long U; #else unsigned L, L1 = 0, L2; unsigned U2; #endif struct nword *w; int i; int maxary = PARMSIZE - 1; struct nstore *st = cx->store; struct NVE *p, **r; #ifndef USE_MALLOC_FOR_BIG_ARRAY struct splitParm ul2[PARMSIZE]; #else struct splitParm *ul2 = (struct splitParm *) malloc(sizeof(struct splitParm) * PARMSIZE); if (!ul2) { return L1; } #endif L2 = st->nyomi - yy; if (cx->nv && cx->nv->tsz && cx->nv->buf) { r = cx->nv->buf + *(st->yomi + yy) % cx->nv->tsz; for (p = *r; p; p = p->next) { if (determinate(p->data, (Wrec *)(st->yomi + yy), (int)L2)) { if (*(p->data+1) > L1) L1 = *(p->data + 1); } } } if (L1 == 0) { L = (L1 = 1)+ (L2 = 0); #ifdef LOGIC_HACK U = 0L; #else U2 = (unsigned)0; #endif if (maxary > maxclen) maxary = maxclen; for (i = 0; i <= maxary; i++) ul2[i].l2 = ul2[i].u2 = 0L; for (w = top; w; w = w->nw_next) { int l, l1; #ifdef LOGIC_HACK unsigned long u; #endif struct splitParm ul; /* ʸÀá¤Ë¤Ê¤é¤Ê¤¤ */ if (!CanSplitWord(w)) { continue; } #ifdef LOGIC_HACK /* Í¥ÀèÅÙ¤ÎÄ㤤ʸÀá¤Î¸å¤Ç¤ÏÀÚ¤é¤Ê¤¤ */ if (w->nw_flags & NW_LOWPRI) { DontSplitWord(w); continue; } #endif if ((w->nw_flags & NW_PRE) && (w->nw_flags & NW_SUC)) { continue; } /* ÆÉ¤ß¤ò¾ÃÈñ¤·¤Æ¤¤¤Ê¤¤ */ l1 = w->nw_ylen; if (l1 <= 0) { continue; } /* °ìʸÀá¤Ë¤¹¤ë¤Î¤¬ºÇĹ */ if (flush && (unsigned)yy + w->nw_ylen == cx->store->nyomi) { L1 = l1; break; } #ifdef BUNMATU /* ³¤¯Ê¸À᤬¥ê¥Æ¥é¥ë¤Ç¤Ê¤¤¤Ê¤éʸ¾ÏËöÉÊ»ì¤Ïʸ¤ÎÅÓÃæ¤Ë¤Ê¤é¤Ê¤¤ */ else if (OnlyBunmatu(w) && xq[l1].tree->nw_lit == 0) { DontSplitWord(w); continue; } #endif #ifdef LOGIC_HACK /* ñ´Á»ú¤Ïʸ¤ÎÅÓÃæ¤ËÅо줷¤Ê¤¤ */ if (w->nw_rowcol == cx->gram->P_KJ) { DontSplitWord(w); continue; } #endif /* ±¦ÎÙ¤ÎʸÀá¤ò²òÀÏ */ if (l1 <= maxary) { if (!ul2[l1].l2) evalSplit(cx, xq[l1].tree, &ul2[l1]); ul = ul2[l1]; } else { evalSplit(cx, xq[l1].tree, &ul); } /* hikaku */ l = l1 + ul.l2; #ifdef LOGIC_HACK u = w->nw_prio + ul.u2; if ((L < l) || /* ÆóʸÀáºÇĹ */ ((L == l) && (U < u || /* Í¥ÀèÅ٤ιç·× */ (U == u && (L2 < ul.l2))))) { /* ÆóʸÀáÌܤÎŤµ */ L = l; U = u; L1 = l1; L2 = ul.l2; } #else if ((((int)L < l)) || (((int)L == l) && (U2 < ul.u2)) || (((int)L == l) && (U2 == ul.u2) && ((int)L2 < ul.l2)) ) { L = l; L1 = l1; L2 = ul.l2; U2 = ul.u2; } #endif } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)ul2); #endif return L1; } static int splitBun(cx, yy, ys, ye) struct RkContext *cx; int yy, ys, ye; { struct nstore *st = cx->store; struct nqueue *xq = st->xq; struct nword *w; int maxclen; int i, count, junk; /* create the initial bun-tree table */ xq[0].tree = parseBun(cx, yy, ys, ye, 1, 1, &maxclen); #ifdef TEST { printf("show splitBun [yy = %d, ys = %d, ye = %d, clen = %d]\n", yy, ys, ye, maxclen); #if 1 showWord(xq[0].tree); #endif } #endif for (i = 1; i <= maxclen; i++) clearQue(&xq[i]); /* create the following buns from every possible position */ for (w = xq[0].tree; w; w = w->nw_next) { if (CanSplitWord(w) && !xq[w->nw_ylen].tree) { int len = w->nw_ylen; int ys1 = (ys >= len) ? (ys - len) : 0; int ye1 = (ye - len); xq[w->nw_ylen].tree = parseBun(cx, yy+len, ys1, ye1, 1, 1, &junk); }; }; /* compute the proper bunsetu length */ count = calcSplit(cx, yy, xq[0].tree, xq, maxclen, 1); _RkFreeQue(st, 0, st->maxxq + 1); #ifdef TEST printf("End SplitBun\n"); #endif return count; } /* parseQue * queue jou de bunsetu wo kaiseki suru. */ static void parseQue pro((struct RkContext *, int, int, int, int, int)); static void parseQue(cx, maxq, yy, ys, ye, doflush) struct RkContext *cx; int maxq; int yy, ys, ye; int doflush; { struct nstore *st = cx->store; struct nqueue *xq = st->xq; struct nword **xqh = st->xqh; int i, j; /* put a new seed to start an analysis. */ if (!xq[0].tree) { xq[0].tree = allocWord(st, cx->gram->P_BB); xq[0].maxlen = 0; xq[0].status = 0; } /* try to extend each tree in the queue. */ for (i = 0; i <= maxq; i++) { if (xq[i].tree) { int old = cx->poss_cont; list2height(xqh, xq[i].maxlen, xq[i].tree); xq[i].maxlen = doParse(cx, yy, ys, ye, xqh, xq[i].maxlen, doflush, 1); /* set up new analysis points */ for (j = 0; j <= xq[i].maxlen; j++) if (xqh[j] && !xq[i+j].tree) { xq[i+j].tree = allocWord(st, cx->gram->P_BB); xq[i+j].maxlen = 0; xq[i+j].status = 0; xq[i+j].status = 0x80; } xq[i].tree = height2list(xqh, xq[i].maxlen); if (cx->poss_cont != old) xq[i].status |= 0x80; else xq[i].status &= ~0x80; } ++yy; if (--ys < 0) ys = 0; --ye; } } /* Que2Bun * queue kara bunsetu wo toridasu. */ static int IsStableQue(cx, c, doflush) struct RkContext *cx; int c; int doflush; { struct nqueue *xq = cx->store->xq; struct nword *w; if (doflush) { if (xq[c].maxlen <= 0) return 0; else return 1; }; if (xq[c].maxlen <= 0) return(!c ? 0 : 1); for (w = xq[c].tree; w; w = w->nw_next) { if (xq[c + w->nw_ylen].status) return 0; if (!c && w->nw_ylen && !IsStableQue(cx, c + w->nw_ylen, doflush)) return 0; }; return 1; } static int Que2Bun(cx, yy, ys, ye, doflush) struct RkContext *cx; int yy, ys, ye; int doflush; { struct nstore *st = cx->store; struct nqueue *xq = st->xq; unsigned i; struct NVE *p, **r; if (doflush) for (i = 0; (int)i <= st->maxxq; i++) xq[i].status = 0; while (IsStableQue(cx, 0, doflush)) { struct nbun *bun = &st->bunq[st->maxbun]; int count; i = 0; if (!doflush) { if (cx->nv && cx->nv->tsz && cx->nv->buf) { r = cx->nv->buf + *(st->yomi + yy) % cx->nv->tsz; for (p = *r; p; p = p->next) { if (positiveRev(p->data, (Wrec *)(st->yomi + yy), st->nyomi - yy)) { if (*(p->data + 1) > i) i = *(p->data + 1); } } } if (i > st->nyomi - yy) break; } if ((count = calcSplit(cx, yy, xq[0].tree, xq, xq[0].maxlen, 1)) > 0) { /* shift queue to left */ _RkFreeQue(st, 0, count); for (i = count; (int)i <= st->maxxq; i++) { xq[i-count] = xq[i]; clearQue(&xq[i]); }; bun->nb_curlen = count; storeBun(cx, (int)bun->nb_yoff, 0, ye, bun); st->maxbun++; st->bunq[st->maxbun].nb_yoff = yy + bun->nb_curlen; } yy = yy + bun->nb_curlen; ys = ys - bun->nb_curlen; ye = ye - bun->nb_curlen; } return st->maxbun; } /* _RkRenbun2 * current bunsetsu kara migi wo saihenkan suru */ int _RkRenbun2(cx, firstlen) struct RkContext *cx; int firstlen; /* bunsetsu chou sitei(ow 0) */ { struct nstore *st = cx->store; struct nbun *bun = &st->bunq[st->curbun]; int count; int yy, ys, ye; /* yomi kensaku hani */ int oldcurbun = st->curbun; int uyomi; int i; yy = bun->nb_yoff; ys = 0; ye = st->nyomi - bun->nb_yoff; /* release queue */ uyomi = st->nyomi - st->bunq[st->maxbun].nb_yoff; if (IS_XAUTCTX(cx)) { if (uyomi >= 0) _RkFreeQue(st, 0, uyomi+1); }; /* * */ for (count = 0; ye > 0; count++) { /* sudeni kaiseki zumi deareba, sono kekka wo mochiiru */ if (count && !uyomi) { int b, c; for (b = st->curbun; b < (int)st->maxbun; b++) if (st->bunq[b].nb_yoff == yy) { /* dispose inbetween bun-trees */ for (c = st->curbun; c < b; c++) { freeWord(st, st->bunq[c].nb_cand); st->bunq[c].nb_cand = (struct nword *)0; } /* shift bunq forward */ while (b < (int)st->maxbun) st->bunq[st->curbun++] = st->bunq[b++]; goto exit; } } /* dispose the current bun-tree */ if (st->curbun < (int)st->maxbun) { freeWord(st, bun->nb_cand); bun->nb_cand = (struct nword *)0; } /* compute the length of bun */ if (st->curbun >= (int)st->maxbunq) /* too many buns */ bun->nb_curlen = ye; else { if (firstlen) { /* length specified */ bun->nb_curlen = firstlen; firstlen = 0; } else { /* destroy */ bun->nb_curlen = splitBun(cx, yy, ys, ye); if (!bun->nb_curlen) /* fail to split */ bun->nb_curlen = ye; } } /* set up bun (xqh is destroyed */ storeBun(cx, yy, ys, ye, bun); #if defined(TEST) && 0 showWord(bun->nb_cand); #endif yy += bun->nb_curlen; if ((ys -= (int)bun->nb_curlen) < 0) ys = 0; ye -= bun->nb_curlen; bun++; st->curbun++; } /* free the remaining bun-trees */ while ((int)st->maxbun > st->curbun) { freeWord(st, st->bunq[--st->maxbun].nb_cand); st->bunq[st->maxbun].nb_cand = (struct nword *)0; } /* do final settings */ exit: st->maxbun = st->curbun; st->curbun = oldcurbun; st->bunq[st->maxbun].nb_yoff = 0; /* i hate this fake, ... */ for (i = 0; i < (int)st->maxbun; i++) st->bunq[st->maxbun].nb_yoff += st->bunq[i].nb_curlen; /* this case will never happen */ if (0 != (st->nyomi - st->bunq[st->maxbun].nb_yoff)) _Rkpanic("Renbun2: uyomi destroyed %d %d\n", st->nyomi, st->bunq[st->maxbun].nb_yoff, 0); bun = &st->bunq[st->maxbun]; if (IS_XAUTCTX(cx) && uyomi > 0) { _RkSubstYomi(cx, 0, uyomi, st->yomi + bun->nb_yoff, uyomi); st->curbun = oldcurbun; }; return st->maxbun; } /* RkSubstYomi */ int _RkSubstYomi(cx, ys, ye, yomi, newLen) struct RkContext *cx; int ys; int ye; Wchar *yomi; int newLen; { struct nstore *st = cx->store; extern struct nstore *_RkReallocBunStorage(); struct nbun *bun; struct nqueue *xq; struct nword **xqh; int i, j; int count; int yf; int cs, ce, cf; Wchar *d, *s, *be; int nbun; int new_size; yf = ys + newLen; cs = ys; ce = ye; /* * STEP 0: reallocate resources if needed * youmigana buffer should be reallocated as well. */ new_size = st->nyomi + (newLen - (ye - ys)); if (new_size > (int)st->maxyomi || new_size > (int)st->maxbunq || new_size > (int)st->maxxq) { st = _RkReallocBunStorage(st, (int)(new_size*1.2+10)); if (!st) return -1; cx->store = st; }; /* * STEP 1: update yomigana buffer */ /* move unchanged text portion [ye, ...) */ bun = &st->bunq[st->maxbun]; be = st->yomi + bun->nb_yoff; xq = st->xq; xqh = st->xqh; count = (st->nyomi - bun->nb_yoff) - ye; if (yf < ye) { /* shrunk */ d = be + yf; s = be + ye; while (count--) *d++ = *s++; } else if (ye < yf) { /* enlarged */ d = (s = st->yomi + st->nyomi) + count; while (count--) *--d = *--s; } /* replace the new text in [ys, yf) */ usncopy(be + ys, yomi, newLen); st->nyomi += (yf - ye); cf = yf; /* * STEP 2: remove affected words from XQ */ /* Trim the words which terminate in [cs, ...) */ for (i = 0; i < cs; i++) if (xq[i].tree && cs - i <= xq[i].maxlen) { list2height(xqh, xq[i].maxlen, xq[i].tree); for (j = cs - i; j < xq[i].maxlen; j++) if (xqh[j + 1]) { freeWord(st, xqh[j + 1]); xqh[j + 1] = (struct nword *)0; } xq[i].maxlen = 0; for (j = cs - i ; j >= 0 && !xqh[j] ;) { j--; } if (j > 0) xq[i].maxlen = j; else { xq[i].maxlen = 0; if (!j) { freeWord(st, xqh[0]); xqh[0] = (struct nword *)0; } } xq[i].tree = height2list(xqh, xq[i].maxlen); xq[i].status = 0; } /* Kill the whole trees in [cs, ce) and shift XQ to fill it. */ _RkFreeQue(st, cs, ce); if (cf < ce) for (i = cf, j = ce; j <= st->maxxq; i++, j++) { xq[i] = xq[j]; clearQue(&xq[j]); } if (ce < cf) for (i = st->maxxq, j = st->maxxq - (cf - ce); j >= ce; i--, j--) { xq[i] = xq[j]; clearQue(&xq[j]); } /* * STEP 3 restore queues by parsing yomigana after ys. */ nbun = st->maxbun; count = (st->nyomi - bun->nb_yoff) - ys; while (count > 0) { int yy; yy = st->bunq[st->maxbun].nb_yoff; ys = st->nyomi - yy - count; parseQue(cx, cf-1, yy, ys, ys + 1, 0); nbun = Que2Bun(cx, yy, ys, ys + 1, 0); ys++; count--; } st->curbun = 0; return nbun; } /* RkFlushYomi */ int _RkFlushYomi(cx) struct RkContext *cx; { int yy = cx->store->bunq[cx->store->maxbun].nb_yoff; int ys = cx->store->nyomi - yy; int ret; parseQue(cx, cx->store->maxxq, yy, ys, ys, 1); if ((ret = Que2Bun(cx, yy, ys, ys, 1)) != -1) cx->store->curbun = 0; return(ret); } /* _RkLearnBun * bunsetu jouho wo motoni gakushuu suru * sarani, word wo kaihou suru */ static void blkcpy(d, s, e) unsigned char *d; unsigned char *s, *e; { while (s < e) *d++ = *s++; } static void doLearn(cx, thisW) struct RkContext *cx; struct nword *thisW; { struct nword *leftW; #ifndef USE_MALLOC_FOR_BIG_ARRAY unsigned char *candidates[RK_CAND_NMAX]; unsigned permutation[RK_CAND_NMAX]; unsigned char tmp[RK_WREC_BMAX]; #else unsigned char **candidates, *tmp; unsigned *permutation; candidates = (unsigned char **) malloc(sizeof(unsigned char *) * RK_CAND_NMAX); permutation = (unsigned *)malloc(sizeof(unsigned) * RK_CAND_NMAX); tmp = (unsigned char *)malloc(RK_WREC_BMAX); if (!candidates || !permutation || !tmp) { if (candidates) (void)free((char *)candidates); if (permutation) (void)free((char *)permutation); if (tmp) (void)free((char *)tmp); return; } #endif for (; (leftW = thisW->nw_left) != (struct nword *)0 ; thisW = leftW) { struct ncache *thisCache = thisW->nw_cache; if (thisCache) { struct DM *dm = thisCache->nc_dic; struct DM *qm = thisW->nw_freq; unsigned char *wp; int ncands; int nl; unsigned long offset; int i; int current; unsigned long _RkGetOffset(); cx->time = _RkGetTick(1); if (thisCache->nc_flags & NC_ERROR) continue; if (!(wp = thisCache->nc_word)) continue; ncands = _RkCandNumber(wp); nl = (*wp >> 1) & 0x3f; if (qm && qm->dm_qbits) offset = _RkGetOffset((struct ND *)dm->dm_extdata.var, wp); else offset = 0L; if (*wp & 0x80) wp += 2; wp += 2 + nl * 2; for (i = 0; i < ncands; i++) { candidates[i] = wp; wp += 2 * ((*wp >> 1) & 0x7f) + 2; }; /* if (thisCache->nc_count) continue; */ if (qm && qm->dm_qbits) { int bits; if (!(qm->dm_flags & DM_WRITABLE)) continue; bits = _RkCalcLog2(ncands + 1) + 1; _RkUnpackBits(permutation, qm->dm_qbits, offset, bits, ncands); for (current = 0; current < ncands; current++) if (ncands > (int)permutation[current]/2 && candidates[permutation[current]/2] == thisW->nw_kanji) break; if (current < ncands) { entryRut(qm->dm_rut, thisW->nw_csn, cx->time); if (0 < current) { _RkCopyBits(tmp, (unsigned long) 0L, bits, qm->dm_qbits, (unsigned long) offset, current); _RkCopyBits(qm->dm_qbits, (unsigned long) (offset + 0L), bits, qm->dm_qbits, (unsigned long) (offset + current*bits), 1); _RkCopyBits(qm->dm_qbits, (unsigned long) (offset + bits), bits, tmp, (unsigned long) 0L, current); }; qm->dm_flags |= DM_UPDATED; } } else { if (!(dm->dm_flags & DM_WRITABLE)) continue; for (current = 0; current < ncands; current++) if (candidates[current] == thisW->nw_kanji) break; if (DM2TYPE(dm)) { if (current) { unsigned char *t = candidates[0]; unsigned char *l = candidates[current]; unsigned char *c = l + 2 * ((*l >> 1) & 0x7f) + 2; ((struct TW *)thisCache->nc_address)->lucks[1] = ((struct TW *)thisCache->nc_address)->lucks[0]; blkcpy(tmp, t, l); blkcpy(t, l, c); blkcpy(t + (int)(c - l), tmp, tmp + (int)(l - t)); thisCache->nc_flags |= NC_DIRTY; } ((struct TW *)thisCache->nc_address)->lucks[0] = cx->time; dm->dm_flags |= DM_UPDATED; } } } } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)candidates); (void)free((char *)permutation); (void)free((char *)tmp); #endif } void _RkLearnBun(cx, cur, mode) struct RkContext *cx; int cur, mode; { struct nstore *st = cx->store; struct nbun *bun = &st->bunq[cur]; struct nword *w; int count = bun->nb_curcand; Wchar *yomi = st->yomi + bun->nb_yoff; int ylen; int pos; derefWord(bun->nb_cand); if (mode) { if (bun->nb_flags & RK_REARRANGED) { ylen = bun->nb_curlen + (cur < (int)st->maxbun - 1 ? (bun + 1)->nb_curlen : 0); pos = bun->nb_curlen; if (ylen < 32) { Wchar *ey = yomi + ylen, *p; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wrec yomwrec[32 * sizeof(Wchar)]; Wrec *dp = yomwrec; #else Wrec *dp; Wrec *yomwrec = (Wrec *)malloc(sizeof(Wrec) * 32 * sizeof(Wchar)); if (!yomwrec) { return; } dp = yomwrec; #endif for (p = yomi ; p < ey ; p++) { *dp++ = (unsigned)*p >> 8; *dp++ = (unsigned)*p & 0x0ff; } _RkRegisterNV(cx->nv, yomwrec, ylen, pos); #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)yomwrec); #endif } } for (w = bun->nb_cand; w; w = w->nw_next) { if (CanSplitWord(w) && w->nw_ylen == bun->nb_curlen) { if (count-- <= 0) { doLearn(cx, w); break; } } } } killWord(st, bun->nb_cand); } /* vim: set sw=2: */ Canna37p3/lib/RK/permdic.c0100644000076500001200000004720607732020154014527 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: permdic.c,v 1.8 2003/09/17 08:50:52 aida_s Exp $"; #endif #include "RKintern.h" #ifdef SVR4 #include #endif #ifdef __CYGWIN32__ #include /* for O_BINARY */ #endif #define dm_xdm dm_extdata.ptr #define df_fdes df_extdata.var extern unsigned _RkCalcLVO(); extern Wchar uniqAlnum(); #ifdef MMAP /* If you compile with Visual C++, then please comment out the next 3 lines. */ #include /* mmap */ #include /* mmap */ #include /* mmap */ extern int fd_dic; /* mmap */ #endif static int openDF(df, dfnm, w, gramoff, gramsz) struct DF *df; char *dfnm; int *w; off_t *gramoff; size_t *gramsz; { struct HD hd; struct ND nd, *xnd; struct DM *dm, *dmh; off_t off; unsigned char ll[4]; int count = 0, err; int fd; int errres = -1; *w = 0; if ((fd = open(dfnm, 0)) == -1) return errres; #ifdef __CYGWIN32__ setmode(fd, O_BINARY); #endif for (off = 0, err = 0; !err && _RkReadHeader(fd, &hd, off) >= 0;) { if (hd.flag[HD_CODM] > 0) { _RkClearHeader(&hd); break; } nd.time = hd.data[HD_TIME].var; /* XXX: sanity check taking advantage of this CRC */ if (hd.flag[HD_CRC]) { nd.crc = hd.data[HD_CRC].var; nd.crc_found = 1; } else { nd.crc_found = 0; } nd.rec = hd.data[HD_REC].var; nd.can = hd.data[HD_CAN].var; nd.doff = off + hd.data[HD_HSZ].var; nd.sz = hd.data[HD_SIZ].var; nd.drsz = hd.data[HD_PGOF].var - hd.data[HD_DROF].var; nd.pgsz = _RkCalcUnlog2(hd.data[HD_L2P].var) + 1; nd.ttlpg = hd.data[HD_PAG].var; nd.fd = fd; nd.buf = (unsigned char *)0; nd.pgs = (struct NP *)0; nd.version = HD_VERSION(&hd); off += hd.data[HD_SIZ].var; if (!strncmp(".swd", (char *)(hd.data[HD_DMNM].ptr + strlen((char *)hd.data[HD_DMNM].ptr) - 4), 4)) { if (nd.version >= 0x300702L) { if (hd.flag[HD_GRAM] == -1) { *gramoff = hd.data[HD_GRAM].var; *gramsz = hd.data[HD_GRSZ].var; } else { *gramoff = 0; *gramsz = 0; } } else { if (lseek(fd, off, 0) < 0 || read(fd, (char *)ll, 4) != 4) { err++; *gramoff = 0; *gramsz = 0; } else { *gramoff = off; *gramsz = (size_t)-1; off += bst4_to_l(ll) + 4; } } } dmh = &df->df_members; for (dm = dmh->dm_next; dm != dmh; dm = dm->dm_next) { if (!strcmp((char *)dm->dm_dicname, (char *)hd.data[HD_DMNM].ptr)) { if (!dm->dm_xdm) { if (!(xnd = (struct ND *)malloc(sizeof(struct ND)))) break; dm->dm_xdm = (pointer)xnd; *xnd = nd; dm->dm_flags |= DM_EXIST; dm->dm_offset = xnd->doff; count++; break; } } } _RkClearHeader(&hd); } _RkClearHeader(&hd); df->df_size = off; if (!count) { (void)close(fd); return errres; } return (df->df_fdes = fd); } int _Rkpopen(dm, dfnm, mode, gram) struct DM *dm; char *dfnm; int mode; struct RkKxGram *gram; /* ARGSUSED */ { struct DF *df; struct DD *dd; struct ND *xdm; int writable, i, readsize; int fd; off_t gramoff; size_t gramsz; if (!(df = dm->dm_file) || !(dd = df->df_direct)) return -1; if (!df->df_rcount) { if ((df->df_fdes = (long)openDF(df, dfnm, &writable, &gramoff, &gramsz)) < 0) return -1; if (writable) df->df_flags |= DF_WRITABLE; else df->df_flags &= ~DF_WRITABLE; df->df_flags |= DF_EXIST; dd->dd_rcount++; } if (!(dm->dm_flags & DM_EXIST)) return -1; df->df_rcount++; xdm = (struct ND *)dm->dm_xdm; fd = df->df_fdes; if (!(xdm->buf = (unsigned char *)malloc((size_t)xdm->drsz))) { return(-1); } if (!(xdm->pgs = (struct NP *)malloc((size_t)(sizeof(struct NP) * xdm->ttlpg)))) { (void)free((char *)xdm->buf); xdm->buf = (unsigned char *)0; return(-1); } for (i = 0; i < (int)xdm->ttlpg; i++) { xdm->pgs[i].lnksz = (unsigned) 0; xdm->pgs[i].ndsz = (unsigned) 0; xdm->pgs[i].lvo = (unsigned long) 0; xdm->pgs[i].csn = (unsigned long) 0; xdm->pgs[i].flags = (unsigned) 0; xdm->pgs[i].count = 0; xdm->pgs[i].buf = (unsigned char *) 0; } (void)lseek(fd, xdm->doff, 0); readsize = read(fd, (char *)xdm->buf, (unsigned int) xdm->drsz); if (readsize != ((int) xdm->drsz)) { (void)free((char *)xdm->pgs); (void)free((char *)xdm->buf); xdm->buf = (unsigned char *)0; xdm->pgs = (struct NP *)0; return(-1); } if (dm->dm_class == ND_SWD && gramsz) { struct RkKxGram *gram; lseek(fd, gramoff, 0); gram = RkReadGram(fd, gramsz); if (gram) { dm->dm_gram = (struct RkGram *)malloc(sizeof(struct RkGram)); if (dm->dm_gram) { dm->dm_gram->gramdic = gram; dm->dm_gram->P_BB = RkGetGramNum(gram, "BB"); dm->dm_gram->P_NN = RkGetGramNum(gram, "NN"); dm->dm_gram->P_T00 = RkGetGramNum(gram, "T00"); dm->dm_gram->P_T30 = RkGetGramNum(gram, "T30"); dm->dm_gram->P_T35 = RkGetGramNum(gram, "T35"); #ifdef LOGIC_HACK dm->dm_gram->P_KJ = RkGetGramNum(gram, "KJ"); #endif dm->dm_gram->P_Ftte = RkGetGramNum(gram, "Ftte"); dm->dm_gram->refcount = 1; goto next; } RkCloseGram(gram); } } next: if ((mode & DM_WRITABLE) && (df->df_flags & DF_WRITABLE)) { dm->dm_flags |= DM_WRITABLE; } return 0; } int _Rkpclose(dm, dfnm, gram) struct DM *dm; char *dfnm; struct RkKxGram *gram; /* ARGSUSED */ { struct DF *df = dm->dm_file; struct ND *xdm = (struct ND *)dm->dm_xdm; int i; _RkKillCache(dm); if (dm->dm_gram) { dm->dm_gram->refcount--; if (dm->dm_gram->refcount == 0) { (void)RkCloseGram(dm->dm_gram->gramdic); free((char *)dm->dm_gram); } } if (xdm) { if (xdm->pgs) { for (i = 0; i < (int)xdm->ttlpg; i++) if (xdm->pgs[i].flags & RK_PG_LOADED) { #ifdef MMAP if (((int) (xdm->pgs[i].buf)) != -1) munmap((caddr_t)xdm->pgs[i].buf, xdm->pgsz); #else if (xdm->pgs[i].buf) { (void)free((char *)xdm->pgs[i].buf); } #endif xdm->pgs[i].flags &= ~RK_PG_LOADED; } (void)free((char *)xdm->pgs); xdm->pgs = (struct NP *)0; } if (xdm->buf) { (void)free((char *) xdm->buf); xdm->buf = (unsigned char *)0; } } if (--df->df_rcount == 0) { int fd; struct DM *dmh, *ddm; fd = df->df_fdes; (void)close(fd); dmh = &df->df_members; for (ddm = dmh->dm_next; ddm != dmh; ddm = ddm->dm_next) { xdm = (struct ND *)ddm->dm_xdm; if (xdm) { (void)free((char *)xdm); ddm->dm_xdm = (pointer)0; } } } return 0; } static unsigned char * assurep(dic, id) struct ND *dic; int id; { off_t off = dic->doff + dic->drsz + dic->pgsz * id; unsigned size = dic->pgsz; unsigned char *buf; int i; int fd; fd = dic->fd; if (!dic->pgs) return((unsigned char *)0); if ((unsigned)id >= dic->ttlpg) return((unsigned char *)0); if (!isLoadedPage(dic->pgs + id)) { #ifdef MMAP buf = (unsigned char *)mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd_dic, 0); if ((int)buf == -1) return((unsigned char *)0); #else if (!(buf = (unsigned char *)malloc(size))) return((unsigned char *)0); #endif (void)lseek(fd, off, 0); if (read(fd, (char *)buf, size) != (int)size) { free((char *)buf); return((unsigned char *)0); } dic->pgs[id].buf = buf; dic->pgs[id].count = 0; dic->pgs[id].flags |= RK_PG_LOADED; dic->pgs[id].ndsz = bst2_to_s(buf + 2); dic->pgs[id].lnksz = bst2_to_s(buf + 4); dic->pgs[id].lvo = bst3_to_l(buf + 7); dic->pgs[id].csn = bst3_to_l(buf + 10); return(buf); } else { return(dic->pgs[id].buf); } } int _RkEql(a, b, n) Wchar *a; unsigned char *b; int n; { Wchar c, d; for (; n-- > 0; b += 2) { c = uniqAlnum(*a++); d = (*b << 8) | *(b+1); if (c != d) return(0); } return(1); } static readThisCache(dm, xdm, pgno, val, key, cur, ylen, nread, mc, nc, cf) struct DM *dm; struct ND *xdm; long pgno; unsigned long val; Wchar *key; int cur; int ylen; struct nread *nread; int mc; int nc; int *cf; { int remlen; unsigned char *wrec1, *wrec; if (xdm->pgs[pgno].buf) { if (*(wrec1 = wrec = xdm->pgs[pgno].buf + val) & 0x80) wrec1 += 2; wrec1 += 2; remlen = (*wrec >> 1) & 0x3f; if (_RkEql(key + cur, (unsigned char *)wrec1, remlen)) { if (remlen + cur > ylen) (*cf)++; else if (nc < mc) { nread[nc].cache = _RkReadCache(dm, (long)wrec); if (nread[nc].cache) { if (_RkGetLink(xdm, pgno, val, &nread[nc].offset, &nread[nc].csn) < 0) { _RkDerefCache(nread[nc].cache); return(0); } nread[nc].nk = cur + remlen; nc++; } else (*cf)++; } else (*cf)++; } } return(nc); } static int SearchInPage(dm, xdm, pgno, buf, val, key, cur, ylen, nread, mc, nc, cf) struct DM *dm; struct ND *xdm; unsigned char *buf; long pgno; unsigned long val; Wchar *key; int cur; int ylen; struct nread *nread; int mc; int nc; int *cf; { Wchar kv, wc; unsigned char *pos = buf + val; if (!*pos && !*(pos + 1)) { val = ((*(pos + 2) & 0x3f) << BIT_UNIT) | *(pos + 3); nc = readThisCache(dm, xdm, pgno, val, key, cur, ylen, nread, mc, nc, cf); if (*(pos + 2) & LAST_NODE) return(nc); pos += 4; } if (cur == ylen) { (*cf)++; return(nc); } kv = uniqAlnum(*(key + cur)); for (wc = bst2_to_s(pos); wc != kv; pos += 4, wc = bst2_to_s(pos)) { if (*(pos + 2) & LAST_NODE) return(nc); } val = ((*(pos + 2) & 0x3f) << BIT_UNIT) | *(pos + 3); cur++; if (*(pos + 2) & WORD_NODE) nc = readThisCache(dm, xdm, pgno, val, key, cur, ylen, nread, mc, nc, cf); else nc = SearchInPage(dm, xdm, pgno, buf, val, key, cur, ylen, nread, mc, nc, cf); return(nc); } static int SearchInDir(dm, xdm, pos, key, cur, ylen, nread, mc, nc, cf) struct DM *dm; struct ND *xdm; unsigned char *pos; Wchar *key; int cur; int ylen; struct nread *nread; int mc; int nc; int *cf; { Wchar kv, wc, nw; unsigned long val; long next, pgno, iw; unsigned char *p; nw = bst2_to_s(pos); pos += 5; if (!*pos && !*(pos + 1)) { val = bst3_to_l(pos + 2); if (val & ~VMASK) { val &= VMASK; pgno = (val - xdm->drsz) / xdm->pgsz; val -= pgno * xdm->pgsz + xdm->drsz; if (assurep(xdm, pgno)) nc = readThisCache(dm, xdm, pgno, val, key, cur, ylen, nread, mc, nc, cf); } } if (cur == ylen) { (*cf)++; return(nc); } kv = uniqAlnum(*(key + cur)); next = (int)(kv % nw); do { p = pos + (((Wchar) next++) % nw) * 5; if ((wc = bst2_to_s(p)) == 0xffff) return(nc); } while (wc != kv); val = bst3_to_l(p + 2); cur++; iw = (val & ~VMASK); val &= VMASK; if (iw) { pgno = (val - xdm->drsz) / xdm->pgsz; val -= pgno * xdm->pgsz + xdm->drsz; if (assurep(xdm, pgno)) nc = readThisCache(dm, xdm, pgno, val, key, cur, ylen, nread, mc, nc, cf); } else { if (val < xdm->drsz) nc = SearchInDir(dm, xdm, xdm->buf + val, key, cur, ylen, nread, mc, nc, cf); else { pgno = (val - xdm->drsz) / xdm->pgsz; val -= pgno * xdm->pgsz + xdm->drsz; p = assurep(xdm, pgno); if (p) nc = SearchInPage(dm, xdm, pgno, p, val, key, cur, ylen, nread, mc, nc, cf); } } return(nc); } int _Rkpsearch(cx, dm, key, n, nread, mc, cf) struct RkContext *cx; struct DM *dm; Wchar *key; int n; struct nread *nread; int mc; int *cf; /* ARGSUSED */ { struct ND *xdm; *cf = 0; xdm = (struct ND *)dm->dm_xdm; if (xdm) { if (xdm->buf) return(SearchInDir(dm, xdm, xdm->buf, key, 0, n, nread, mc, 0, cf)); } return(0); } int _Rkpio(dm, cp, io) struct DM *dm; struct ncache *cp; int io; /* ARGSUSED */ { if (io == 0) { cp->nc_word = (Wrec *)cp->nc_address; cp->nc_flags |= NC_NHEAP; } return 0; } #if 0 /* »È¤ï¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¤È¤ê¤¢¤¨¤º¥³¥á¥ó¥È¤Ë¤¹¤ë */ static void ch_perm(qm, offset, size, num) struct DM *qm; unsigned offset; int size, num; { unsigned char tmp[8192]; /* I leave this stack located array because of it is not used */ if (num > 0) { _RkCopyBits(tmp, 0, size, qm->dm_qbits, offset, num); _RkCopyBits(qm->dm_qbits, offset + 0, size, qm->dm_qbits, offset + num*size, 1); _RkCopyBits(qm->dm_qbits, offset + size, size, tmp, 0, num); } } #endif #define PERM_WRECSIZE 2048 #define PERM_NREADSIZE 128 int _Rkpctl(dm, qm, what, arg, gram) struct DM *dm; struct DM *qm; int what; Wchar *arg; struct RkKxGram *gram; { int nc, cf = 0, ret = -1; struct ND *xdm; unsigned long lucks[2]; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wrec wrec[PERM_WRECSIZE]; Wchar key[64]; struct nread nread[PERM_NREADSIZE]; unsigned permutation[RK_CAND_NMAX]; #else Wrec *wrec; Wchar *key; struct nread *nread; unsigned *permutation; wrec = (Wrec *)malloc(sizeof(Wrec) * PERM_WRECSIZE); key = (Wchar *)malloc(sizeof(Wchar) * 64); nread = (struct nread *)malloc(sizeof(struct nread) * PERM_NREADSIZE); permutation = (unsigned *)malloc(sizeof(unsigned) * RK_CAND_NMAX); if (!wrec || !key || !nread || !permutation) { if (wrec) (void)free((char *)wrec); if (key) (void)free((char *)key); if (nread) (void)free((char *)nread); if (permutation) (void)free((char *)permutation); return ret; } #endif if (!dm || !qm || (qm && !qm->dm_qbits)) { goto done; } if ((qm->dm_flags & (DM_WRITABLE | DM_WRITEOK)) == (DM_WRITABLE | DM_WRITEOK)) { /* (writable and write ok) */ if (RkParseOWrec(gram, arg, wrec, PERM_WRECSIZE, lucks)) { Wrec *p, *q, *kanji; Wchar *wkey; int maxcache = PERM_NREADSIZE; int ylen, klen, cnum, y_off = 2, k_off; ylen = (wrec[0] >> 1) & 0x3f; if (wrec[0] & 0x80) y_off += 2; p = wrec + y_off; q = p + (ylen * 2); for (wkey = key; p < q ; wkey++) { *wkey = (*p << 8) | *(p + 1); p += 2; } *(key+ylen) = 0; /* Éʻ졢´Á»ú¾ðÊó¤Î¼è¤ê½Ð¤· */ k_off = y_off + ylen * 2; klen = (wrec[k_off] >> 1) & 0x7f; cnum = ((wrec[k_off] & 0x01) << 8) | wrec[k_off+1]; kanji = wrec + k_off + 2; nc = -1; xdm = (struct ND *)dm->dm_xdm; if (xdm) { if (xdm->buf) nc = SearchInDir(dm, xdm, xdm->buf, key, 0, ylen, nread, maxcache, 0, &cf); } if (nc > 0) { struct nread *thisRead; struct ncache *thisCache; unsigned char *wp; int nk, nl, pre; unsigned long offset; int bitSize, fnum = -1, nnum, i; for (i = 0 ; i < nc ; i++) { if (nread[i].nk == ylen) { break; } } /* »È¤ï¤Ê¤¤Ã±¸ì¸õÊä¤Ï¤¢¤é¤«¤¸¤á _RkDerefCache ¤¹¤ë */ for (pre = 0 ; pre < nc ; pre++) { if (pre != i) { thisRead = nread + pre; thisCache = thisRead->cache; _RkDerefCache(thisCache); } } if (i < nc) { thisRead = nread + i; thisCache = thisRead->cache; wp = thisCache->nc_word; nk = _RkCandNumber(wp); nl = (*wp >> 1) & 0x3f; if (*wp & 0x80) wp += 2; wp += 2 + nl *2; /* ¤³¤³¤ÎÉôʬ¤Ç¼­½ñ¤Î²¿ÈÖÌܤˤǤƤ¯¤ë¤« (fnum) ¤òõ¤¹ */ for (i = 0; i < nk; i++) { unsigned char *kp; nl = (*wp >> 1) & 0x7f; /* ¸õÊäĹ */ nnum = ((*wp & 0x01) << 8) | *(wp+1); /* ÉÊ»ìÈÖ¹æ */ if (nl == klen && nnum == cnum) { int lc; for (lc = 0, kp = wp + 2; lc < klen*2; lc++) { if (*(kanji+lc) != *(kp+lc)) break; } if (lc == klen*2) { fnum = i; break; } } wp += 2 + nl*2; } offset = thisRead->offset; if (fnum >= 0 && fnum < nk && 0 < thisRead->nk && thisRead->nk <= ylen && thisRead->nk <= RK_KEY_WMAX) { int ecount, cval, i, dn = -1, ndel = 0; bitSize = _RkCalcLog2(nk + 1) + 1; _RkUnpackBits(permutation, qm->dm_qbits, offset, bitSize, nk); switch (what) { case DST_DoDefine: for (ecount = cval = i = 0; i < nk; i++) { if ((int)permutation[i]/2 > nk) { ecount++; break; }; cval += permutation[i]; if ((unsigned)nk == permutation[i]/2 && dn < 0) dn = i; if ((unsigned)fnum == permutation[i]/2) { ndel = -1; dn = i; } } break; case DST_DoDelete: for (ecount = cval = i = 0; i < nk; i++) { if ((int)permutation[i]/2 > nk) { ecount++; break; }; cval += permutation[i]; if ((unsigned)fnum == permutation[i]/2) dn = i; }; break; } if (ecount || cval < (nk-1)*(nk-2)) { for (i = 0; i < nk; i++) permutation[i] = 2*i; _RkPackBits(qm->dm_qbits, offset, bitSize, permutation, nk); } else { if (dn >= 0) { if (!ndel) { switch (what) { case DST_DoDefine: _RkSetBitNum(qm->dm_qbits, offset, bitSize, dn, fnum*2); /* ¤³¤³¤Ïʤӽç¤òÊѹ¹¤¹¤ë´Ø¿ô¤À¤¬¤È¤ê¤¢¤¨¤º¥³¥á¥ó¥È¤Ë¤¹¤ë¡£ ch_perm(qm, offset, bitSize, dn); */ break; case DST_DoDelete: _RkSetBitNum(qm->dm_qbits, offset, bitSize, dn, nk*2); break; } qm->dm_flags |= DM_UPDATED; } _RkDerefCache(thisCache); ret = 0; goto done; } } } _RkDerefCache(thisCache); } } } } done: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)wrec); (void)free((char *)key); (void)free((char *)nread); (void)free((char *)permutation); #endif return ret; } int _Rkpsync(cx, dm, qm) struct RkContext *cx; struct DM *dm, *qm; { struct DF *df; struct DD *dd; #ifdef MMAP struct ND *dic; #endif char *file; if (qm) { df = qm->dm_file; dd = df->df_direct; file = _RkCreatePath(dd, df->df_link); if (file) { int i; #ifdef MMAP int j; #endif i = FQsync(cx, dm, qm, file); (void)free(file); #ifdef MMAP dic = (struct ND *)dm->dm_xdm; if(dic) for(j=0;jttlpg;j++) { if (isLoadedPage(dic->pgs + j)) if (_RkDoInvalidateCache(dic->pgs[j].buf, dic->pgsz) == 1) { if (((int) (dic->pgs[j].buf)) != -1) munmap((caddr_t)dic->pgs[j].buf, dic->pgsz); dic->pgs[j].buf = (unsigned char *)0; dic->pgs[j].lnksz = (unsigned) 0; dic->pgs[j].ndsz = (unsigned) 0; dic->pgs[j].lvo = (unsigned) 0; dic->pgs[j].csn = (unsigned) 0; dic->pgs[j].flags = (unsigned) 0; dic->pgs[j].count = 0; } } #endif return (i); } } return (0); } /* vim: set sw=2: */ Canna37p3/lib/RK/RK.h0100644000076500001200000003177007733275221013434 0ustar shinraadmin/* Copyright 1993 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: RK.h,v 1.10 2003/09/21 10:16:49 aida_s Exp $ */ #ifndef _RK_h #define _RK_h #ifdef canna_export # define CANNA_EXP_PREDEFINED #else /* canna_export has not been not defined */ # define canna_export(x) x #endif #ifdef pro #define CANNA_PRO_PREDEFINED #else #if defined(__STDC__) || defined(__cplusplus) #define pro(x) x #else #define pro(x) () #endif #endif #include typedef struct { int ylen; /* yomigana no nagasa (in byte) */ int klen; /* kanji no nagasa (in byte) */ int rownum; /* row number */ int colnum; /* column number */ int dicnum; /* dic number */ } RkLex; typedef struct { int bunnum; /* bunsetsu bangou */ int candnum; /* kouho bangou */ int maxcand; /* sou kouho suu */ int diccand; /* jisho ni aru kouho suu */ int ylen; /* yomigana no nagasa (in byte) */ int klen; /* kanji no nagasa (in byte) */ int tlen; /* tango no kosuu */ } RkStat; struct DicInfo { unsigned char *di_dic; unsigned char *di_file; int di_kind; int di_form; unsigned di_count; int di_mode; long di_time; }; /* romaji/kanakanji henkan code */ #define RK_XFERBITS 4 /* bit-field width */ #define RK_XFERMASK ((1< .B int RkBgnBun(cxnum, yomi, maxyomi, mode) .B int cxnum; .B unsigned char *yomi; .B int maxyomi; .B int mode; .B int RkwBgnBun(cxnum, yomi, maxyomi, mode) .B int cxnum; .B wchar_t *yomi; .B int maxyomi; .B int mode; .fi .SH "ÀâÌÀ" .I RkBgnBun ¤Ï¡¤Ä¹¤µ .I maxyomi ¥Ð¥¤¥È¤ÎÆÉ¤ß¤¬¤Ê .I yomi ¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡¥ ÆÉ¤ß¤¬¤Ê¤Ï¡¤ EUC ¥³¡¼¥É¤Îʸ»ú¶­³¦¤Ë½¾¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ ¥³¥ó¥Æ¥¯¥¹¥È¤ÏÊÑ´¹¥â¡¼¥É¤ËÆþ¤ê¡¤¥«¥ì¥ó¥ÈʸÀᡤ¥«¥ì¥ó¥È¸õÊä¤È¤â¤Ë 0 ¤Ë ÀßÄꤵ¤ì¤Þ¤¹¡¥ .PP .I RkwBgnBun ¤Ï, .I yomi ¤¬ .I wchar_t ·¿¤ÇÍ¿¤¨¤é¤ì¤ëÅÀ¤¬ .I RkBgnBun ¤È°Û¤Ê¤ê¤Þ¤¹. ¤Þ¤¿ .I maxyomi ¤Ï, ¥Ð¥¤¥ÈĹ¤Ç¤Ï¤Ê¤¯Ê¸»úŤòɽ¤¹¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹. .PP .I mode ¤Ï¡¤³ÆÊ¸Àá¤ËÄɲ䵤ì¤ë¥³¡¼¥ÉÊÑ´¹¸õÊä¤ò¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Çɽ¸½¤·¤Þ¤¹¡¥ ¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ÎÉý¤Ï RK_XFERBITS ¤Ç¡¤¼¡¤Î¤¤¤º¤ì¤«¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ .RS .IP RK_XFER 10 ¤Ò¤é¤¬¤Ê .IP RK_HFER 10 Ⱦ³Ñʸ»ú .IP RK_KFER 10 ¥«¥¿¥«¥Ê .IP RK_ZFER 10 Á´³Ñʸ»ú .RE .PP ¥«¥ì¥ó¥ÈʸÀá¤Î¸õÊä¿ô¤òN¤È¤·¤¿¾ì¹ç¡¤ºÇ²¼°Ì¤Î¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤«¤é½çÈÖ¤Ë N¡¤N+1¡¤¡Ä ÈÖÌܤθõÊä¤òÆÉ¤ß¤¬¤Ê¤«¤é¥³¡¼¥ÉÊÑ´¹¤Ë¤è¤ê¸õÊä¤òÄɲä·¤Þ¤¹¡¥ ¤Ê¤ª¡¤Âбþ¤¹¤ë¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤¬ 0 ¤Ë¤Ê¤Ã¤¿½ê¤Ç¡¤¸õÊäÄɲäϽªÎ»¤·¤Þ¤¹¡¥ .PP °Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹ .RS .nf mode ¸õÊä RK_XFER ²¾Ì¾¤ò ¤«¤Ê¤ò (RK_XFER << RK_XFERBITS) | RK_KFER ²¾Ì¾¤ò ¥«¥Ê¥ò ¤«¤Ê¤ò (RK_KFER << RK_XFERBITS) | RK_XFER ²¾Ì¾¤ò ¤«¤Ê¤ò ¥«¥Ê¥ò .fi .RE .PP ¥³¥ó¥Æ¥¯¥¹¥È¤Ï¡¤ .I RkBgnBun ¤«¤é .IR RkEndBun(3) ¤Ë»ê¤ë¤Þ¤Ç¡¤ÊÑ´¹¥â¡¼¥É¤ËÆþ¤ê¤Þ¤¹¡¥ÊÑ´¹¥â¡¼¥É¤Ï¥Í¥¹¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" ÊÑ´¹¤ÇÆÀ¤é¤ì¤¿Ê¸Àá¤Î¸Ä¿ô¤ò¼¨¤·¤Þ¤¹¡¥ ÊÑ´¹¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï -1 ¤òÊÖ¤·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkEndBun(3) .\".if t .pn 575 Canna37p3/lib/RK/RkBgnBun.man0100644000076500001200000000633007554213600015100 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkBgnBun.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKBGNBUN" "3" .SH "NAME" \f4RkBgnBun\f1 / \f4RkwBgnBun\f1 \- convert the reading of a specified length to kanji .SH "SYNOPSIS" .nf .ft 4 #include int RkBgnBun(cxnum, yomi, maxyomi, mode) int cxnum; unsigned char *yomi; int maxyomi; int mode; int RkwBgnBun(cxnum, yomi, maxyomi, mode) int cxnum; wchar_t *yomi; int maxyomi; int mode; .ft 1 .fi .SH "DESCRIPTION" \f2RkBgnBun\f1 converts the reading \f2yomi\f1 with a length of \f2maxyomi\f1 bytes to kanji. The reading kana must be adjusted on character boundaries in the EUC code. The context enters the conversion mode, with both the current clause and the current clause set to \f40\f1. .P \f2RkwBgnBun\f1 is the similar function to \f2RkBgnBun\f1, but it takes wchar_t argument as \f2yomi\f1. \f2maxyomi\f1 represents the length of \f2yomi\f1 by characters instead of bytes. .P \f2mode\f1 represents the code conversion candidate to be added to each clause. It is expressed in a bit field width, which can be set to one of the following with \f4RK_XFERBITS\f1: .P .RS .IP "\f4RK_XFER\f1" 20n Hiragana .IP "\f4RK_HFER\f1" Single-width character .IP "\f4RK_KFER\f1" Katakana .IP "\f4RK_ZFER\f1" Double-width character .RE .P If the number of candidates available for the current clause is N, candidates are added through code conversion by reading the candidates in sequence, from candidate N to candidate N + 1, and so on, starting with the lowest-order bit field. Candidate addition ends when the corresponding bit field equals \f40\f1. .P .RS .nf .ta 7.2c mode Candidate RK_XFER (KANJI) (HIRAGANA) (RK_XFER << RK_XFERBITS) | RK_KFER (KANJI) (KATAKANA) (HIRAGANA) (RK_KFER << RK_XFERBITS) | RK_XFER (KANJI) (HIRAGANA) (KATAKANA) .ta .fi .RE .P The context enters the conversion mode, from \f2RkBgnBun\f1 to \f2RkEndBun(3)\f1. Conversion modes cannot be nested. .SH "RETURN VALUE" This function returns the number of clauses derived from conversion, or returns \f4-1\f1 if the conversion fails. .SH "SEE ALSO" .na \f4RkEndBun\f1(3) .ad Canna37p3/lib/RK/RkDefine.jmn0100644000076500001200000000376207554213600015136 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkDefine.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKDEFINEDIC 3 "19 April 1991" .SH "̾Á°" RkDefineDic \- ¼­½ñ¤Ø¤Î¸õÊä¤ÎÄɲà .SH "·Á¼°" .nf .B #include .B int RkDefineDic(cxnum, dicname, wordrec) .B int cxnum; .B char *dicname; .B char *wordrec; .fi .SH "ÀâÌÀ" .I RkDefineDic ¤Ç¤Ï¡¤ .I dicname ¤Ç»ØÄꤵ¤ì¤¿¼­½ñ¤Ë¸õÊä¤òÄɲä·¤Þ¤¹¡¥Äɲ乤ëñ¸ì¤òʸ»úÎó .I wordrec ¤Ë¤è¤ê»ØÄꤷ¤Þ¤¹¡¥ .PP ¤³¤ì¤Ï¡¤¼¡¤Î¤è¤¦¤Ê·Á¼°¤Çµ­½Ò¤·¤¿Ê¸»úÎó¤Ç¤¹¡¥ .sp .nf ¡¡¡¡ÆÉ¤ß¤¬¤Ê¡¡ÉÊ»ì¾ðÊó¡¡´Á»ú¸õÊä¡¡... .fi .sp ¤¿¤È¤¨¤Ð¡¤ .sp .nf ¡¡¡¡¤«¤ó¤¸¡¡#T35¡¡´Á»ú .fi .sp ¤òÍ¿¤¨¤ë¤È¡¤ÆÉ¤ß¡Ö¤«¤ó¤¸¡×¤ÇÄêµÁ¤µ¤ì¤¿ÉÊ»ì #T35 ¤Ç¤Ä¤Å¤ê¤¬¡Ö´Á»ú¡×¤È°ìÃפ¹¤ë ¸õÊä¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤¹¤ë¤È 0 ¡¤¼ºÇÔ¤¹¤ë¤È -1 ¤òÊÖ¤·¤Þ¤¹¡¥ ¤Þ¤¿¡¤ÊÑ´¹¥â¡¼¥É¤Î¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï²¿¤â¤»¤º¤Ë -1 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkDefine.man0100644000076500001200000000423107554213600015115 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkDefine.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKDEFINEDIC" "3" .SH "NAME" \f4RkDefineDic\f1 \- define specified candidates in the dictionary .SH "SYNOPSIS" .nf .ft 4 #include int RkDefineDic(cxnum, dicname, wordrec) int cxnum; char *dicname; char *wordrec; .ft 1 .fi .SH "DESCRIPTION" \f2RkDefineDic\f1 defines specified candidates in the dictionary named by \f2dicname\f1. Specify the word to add in the character string \f2wordrec\f1, which is written in the format: .P .RS reading part-of-speech information kanji candidate .RE .P Writing \f2wordrec\f1, for example, as .P .RS (HIRAGANA) #T35 (KANJI) ... .RE .P will specify a candidate whose part of speech #T35 is defined by the reading "(HIRAGANA)" and whose spelling matches "(KANJI)". .SH "RETURN VALUE" This function returns \f40\f1 if successful; otherwise it returns \f4-1\f1. It also returns \f4-1\f1, without doing anything, if it has been run in a conversion mode context. Canna37p3/lib/RK/RkDelete.jmn0100644000076500001200000000400007554213600015130 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkDelete.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKDELETEDIC 3 "19 April 1991" .SH "̾Á°" RkDeleteDic \- ¼­½ñÃæ¤Î¸õÊä¤Îºï½ü .SH "·Á¼°" .nf .B #include .B int RkDeleteDic(cxnum, dicname, wordrec) .B int cxnum; .B char *dicname; .B char *wordrec; .fi .SH "ÀâÌÀ" .I RkDeleteDic ¤Ç¤Ï¡¤ .I dicname ¤Ç»ØÄꤵ¤ì¤¿¼­½ñ¤«¤é»ØÄꤵ¤ì¤¿¸õÊä¤ò¼è¤ê½ü¤­¤Þ¤¹¡¥ºï½ü¤¹¤ëñ¸ì¤òʸ»úÎó .I wordrec ¤Ë¤è¤ê»ØÄꤷ¤Þ¤¹¡¥ .PP ¤³¤ì¤Ï¡¤¼¡¤Î¤è¤¦¤Ê·Á¼°¤Çµ­½Ò¤·¤¿Ê¸»úÎó¤Ç¤¹¡¥ .sp .nf ¡¡¡¡ÆÉ¤ß¤¬¤Ê¡¡ÉÊ»ì¾ðÊó¡¡´Á»ú¸õÊä¡¡... .fi .sp ¤¿¤È¤¨¤Ð¡¤ .sp .nf ¡¡¡¡¤«¤ó¤¸¡¡#T35¡¡´Á»ú .fi .sp ¤òÍ¿¤¨¤ë¤È¡¤ÆÉ¤ß¡Ö¤«¤ó¤¸¡×¤ÇÄêµÁ¤µ¤ì¤¿ÉÊ»ì #T35 ¤Ç¤Ä¤Å¤ê¤¬¡Ö´Á»ú¡×¤È°ìÃפ¹¤ë ¸õÊä¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤¹¤ë¤È 0 ¡¤¼ºÇÔ¤¹¤ë¤È -1 ¤òÊÖ¤·¤Þ¤¹¡¥ ¤Þ¤¿¡¤ÊÑ´¹¥â¡¼¥É¤Î¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï²¿¤â¤»¤º¤Ë -1 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkDelete.man0100644000076500001200000000423607554213600015132 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkDelete.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKDELETEDIC" "3" .SH "NAME" \f4RkDeleteDic\f1 \- delete specified candidates from a dictionary .SH "SYNOPSIS" .nf .ft 4 #include int RkDeleteDic(cxnum, dicname, wordrec) int cxnum; char *dicname; char *wordrec; .ft 1 .fi .SH "DESCRIPTION" \f2RkDeleteDic\f1 deletes specified candidates from the dictionary named by \f2dicname\f1. Specify the word to delete in the character string \f2wordrec\f1, which is written in the format: .P .RS reading part-of-speech information kanji candidate .RE .P Writing \f2wordrec\f1, for example, as .P .RS (HIRAGANA) #T35 (KANJI) ... .RE .P will specify a candidate whose part of speech #T35 is defined by the reading "(HIRAGANA)" and whose spelling matches "(KANJI)". .SH "RETURN VALUE" This function returns \f40\f1 if successful; otherwise it returns \f4-1\f1. It also returns \f4-1\f1, without doing anything, if it has been run in a conversion mode context. Canna37p3/lib/RK/RkEndBun.jmn0100644000076500001200000000324407554213600015112 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkEndBun.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKENDBUN 3 "4 April 1991" .SH "̾Á°" RkEndBun \- ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ» .SH "·Á¼°" .nf .B #include .B int RkEndBun(cxnum, mode) .B int cxnum; .B int mode; .fi .SH "ÀâÌÀ" .I RkEndBun ¤Ï¡¤ ¤«¤Ê´Á»úÊÑ´¹¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤¿Îΰè¤ò³«Êü¤·¤Þ¤¹¡¥\fImode\fP¤ÏÊÑ´¹·ë ²Ì¤ò¤â¤È¤Ë¤·¤Æ³Ø½¬¤ò¹Ô¤¦¤«¤É¤¦¤«¤ò»ØÄꤹ¤ë¥Õ¥é¥°¤Ç¤¹¡¥1¤ò»ØÄꤹ¤ë¤È¥« ¥ì¥ó¥È¸õÊä¤ò»²¹Í¤Ë¤·¤Æ³Ø½¬¤ò¹Ô¤¤¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkBgnBun(3) .\".if t .pn 575 Canna37p3/lib/RK/RkEndBun.man0100644000076500001200000000336307554213600015103 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkEndBun.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKENDBUN" "3" .SH "NAME" \f4RkEndBun\f1 \- terminate kana-kanji conversion .SH "SYNOPSIS" .nf .ft 4 #include int RkEndBun(cxnum, mode) int cxnum; int mode; .ft 1 .fi .SH "DESCRIPTION" \f2RkEndBun\f1 releases the area that has been used for kana-kanji conversion. \f2mode\f1 is a flag that specifies whether to enable learning on the basis of the conversion result. A value of \f41\f1 enables learning with reference to the current candidate. .SH "SEE ALSO" .na \f4RkBgnBun\f1(3) .ad Canna37p3/lib/RK/RkEnlarg.jmn0100644000076500001200000000310307554213600015141 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkEnlarg.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKENLARGE 3 "4 April 1991" .SH "̾Á°" RkEnlarge \- ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤Î³ÈÂç .SH "·Á¼°" .nf .B #include .B int RkEnlarge(cxnum) .B int cxnum; .fi .SH "ÀâÌÀ" .I RkEnlarge ¤Ï¡¤¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤òŤ¯¤·¤Þ¤¹¡¥ ÆÉ¤ß¤ÎŤµ¤¬¸Â³¦¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï²¿¤â¤·¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" Êѹ¹¸å¤ÎʸÀá¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkEnlarg.man0100644000076500001200000000321707554213600015136 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkEnlarg.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKENLARGE" "3" .SH "NAME" \f4RkEnlarge\f1 \- enlarge the reading of the current clause .SH "SYNOPSIS" .nf .ft 4 #include int RkEnlarge(cxnum) int cxnum; .ft 1 .fi .SH "DESCRIPTION" \f2RkEnlarge\f1 enlarges the reading of the current clause. It does nothing when the reading exceeds a limit length. .SH "RETURN VALUE" This function returns the number of clauses derived by conversion. Canna37p3/lib/RK/RkFinali.jmn0100644000076500001200000000274407554213600015145 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkFinali.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKFINALIZE 3 "4 April 1991" .SH "̾Á°" RkFinalize \- ¤«¤Ê´Á»úÊÑ´¹µ¡Ç½¤Î½ªÎ» .SH "·Á¼°" .nf .B #include .B int RkFinalize() .fi .SH "ÀâÌÀ" ¤«¤Ê´Á»úÊÑ´¹¤ò½ªÎ»¤µ¤»¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkInitialize(3) .\".if t .pn 575 Canna37p3/lib/RK/RkFinali.man0100644000076500001200000000305007554213600015123 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkFinali.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKFINALIZE" "3" .SH "NAME" \f4RkFinalize\f1 \- terminate the kana-kanji conversion functions .SH "SYNOPSIS" .nf .ft 4 #include int RkFinalize() .ft 1 .fi .SH "DESCRIPTION" \f2RkFinalize\f1 terminates the kana-kanji conversion functions. .SH "SEE ALSO" .na \f4RkInitialize\f1(3) .ad Canna37p3/lib/RK/RkGetDic.jmn0100644000076500001200000000427407554213600015102 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetDic.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKGETDICLIST 3 "4 April 1991" .SH "̾Á°" RkGetDicList \- ¼­½ñ¥ê¥¹¥È¤ËÄɲäǤ­¤ë¼­½ñ̾¤Î¼è¤ê¤À¤· .SH "·Á¼°" .nf .B #include .B int RkGetDicList(cxnum, dics, maxdics) .B int cxnum; .B char *dics; .B int maxdics; .fi .SH "ÀâÌÀ" .I RkGetDicList ¤Ï¡¤¼­½ñ¥ê¥¹¥È¤ËÄɲäǤ­¤ë¼­½ñ̾¤òµá¤á¤Þ¤¹¡¥ .PP ¤«¤Ê´Á»úÊÑ´¹¤Ç¤ÏƱ»þ¤ËÊ£¿ô¤Î¼­½ñ¤òÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ »ÈÍѲÄǽ¤Ê¼­½ñ¤ÏÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤Î¼­½ñ¥ê¥¹¥È¤Ë¤Ä¤Ê¤¬¤ì¤Þ¤¹¡¥ ¤³¤Î¼­½ñ¥ê¥¹¥È¤ÎÀèÆ¬¤Ë¤ª¤«¤ì¤¿¼­½ñ¤Ï¾¤Î¼­½ñ¤è¤êÀè¤ËÄ´¤Ù¤é¤ì¡¤ ¤½¤ì¤«¤éºîÀ®¤µ¤ì¤¿¸õÊä¤âÍ¥ÀèŪ¤Ë°·¤ï¤ì¤Þ¤¹¡¥ ¼­½ñ¤Î¼±Ê̤ϡ¤¼­½ñ¥Æ¡¼¥Ö¥ë¤Ëµ­½Ò¤µ¤ì¤¿¼­½ñ̾¤Ë¤è¤ê¹Ô¤ï¤ì¤Þ¤¹¡¥ .PP ¼­½ñ̾¤Ï¡¤Îΰè .I dics ¤Ë¼¡¤Î·¿¼°¤ÇÆÀ¤é¤ì¤Þ¤¹¡¥ .nf ¡¡¡¡¼­½ñ̾1¡¡¡ï0¡¡¼­½ñ̾2¡¡¡ï0¡¡...¡¡¼­½ñ̾n¡¡¡ï0¡¡¡ï0 .fi .PP Îΰè .I dics ¤ÎÂ礭¤µ¤Ï¡¤ .I maxdics ¤Ë¤è¤ê¥Ð¥¤¥È¿ô¤ÇÍ¿¤¨¤Þ¤¹¡¥ ¼­½ñ̾¥ê¥¹¥È¤¬¤³¤Î¥µ¥¤¥º¤ò±Û¤¨¤ë¾ì¹ç¤Ë¤Ï¡¤Ê¸»úÎóñ°Ì¤ÇÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ¼­½ñ̾¤Î¸Ä¿ô¤òÊÖ¤·¤Þ¤¹¡¥¥³¥ó¥Æ¥¯¥¹¥ÈÈֹ椬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¤Ë¤Ï -1 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkGetDic.man0100644000076500001200000000471107554213600015065 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetDic.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKGETDICLIST" "3" .SH "NAME" \f4RkGetDicList\f1 \- get the name of a dictionary that can be added to the dictionary list .SH "SYNOPSIS" .nf .ft 4 #include int RkGetDicList(cxnum, dics, maxdics) int cxnum; char *dics; int maxdics; .ft 1 .fi .SH "DESCRIPTION" \f2RkGetDicList\f1 gets the name of a dictionary that can be added to the dictionary list. .P Multiple dictionaries can be simultaneously used during kana-kanji conversion. The simultaneously available dictionaries are chained to the dictionary list in the conversion context. The dictionary named at the beginning of the dictionary list is referenced first of all and candidates generated from it are also treated on a priority basis. Dictionaries are identified by the dictionary name in the dictionary table. .P Dictionary names are got in the area \f2dics\f1 in the following format: .P .RS 0.2c dictionary-name-1 ¡ï0 dictionary-name-2 ¡ï0 ... dictionary-name-n ¡ï0 ¡ï0 .RE .P The size of the area \f2dics\f1 is given in bytes by \f2maxdics\f1. The dictionary list is truncated in character strings when it exceeds this size. .SH "RETURN VALUE" This function returns number of dictionary names, or returns \f4-1\f1 if the context is invalid. Canna37p3/lib/RK/RkGetKan.jmn0100644000076500001200000000336607554213600015115 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetKan.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKGETKANJI 3 "19 April 1991" .SH "̾Á°" RkGetkanji \- ¥«¥ì¥ó¥È¸õÊä¤Î´Á»ú¤Î¼è¤ê¤À¤· .SH "·Á¼°" .nf .B #include .B int RkGetkanji(cxnum, kanji, maxkanji) .B int cxnum; .B unsigned char *kanji; .B int maxkanji; .fi .SH "ÀâÌÀ" .I RkGetKanji ¤Ï¡¤´Á»ú¤òÎΰè .I kanji ¤ËÀßÄꤷ¤Þ¤¹¡¥Ê¸»úÎó¤Î¥Ð¥¤¥È¿ô¤¬ .I maxkanji -1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï¡¤·ë²Ì¤ÏÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ¥«¥ì¥ó¥È¸õÊä¤ÎŤµ¤òÊÖ¤·¤Þ¤¹¡¥ ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï²¿¤â¤»¤º¤Ë -1 ¤ò ÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkGetKan.man0100644000076500001200000000350307554213600015075 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetKan.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKGETKANJI" "3" .SH "NAME" \f4RkGetKanji\f1 \- get the current candidate for the current clause .SH "SYNOPSIS" .nf .ft 4 #include int RkGetkanji(cxnum, kanji, maxkanji) int cxnum; unsigned char *kanji; int maxkanji; .ft 1 .fi .SH "DESCRIPTION" \f2RkGetKanji\f1 sets kanji in the area \f2kanji\f1. The resulting character string is truncated when its byte length exceeds \f2maxkanji\f1 -1. .SH "RETURN VALUE" This function returns the length of the current candidate, or returns \f4-1\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkGetLex.jmn0100644000076500001200000000377407554213600015137 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetLex.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKGETLEX 3 "19 April 1991" .SH "̾Á°" RkGetLex \- ¥«¥ì¥ó¥È¸õÊä¤ò¹½À®¤¹¤ëñ¸ìËè¤Î·ÁÂÖÁǾðÊó¤Î¼è¤ê¤À¤· .SH "·Á¼°" .nf .B #include .B int RkGetLex(cxnum, lex, maxlex) .B int cxnum; .B RkLex *lex; .B int maxlex; .fi .SH "ÀâÌÀ" .I RkGetLex ¤Ï¡¤¥«¥ì¥ó¥È¸õÊä¤ò¹½À®¤¹¤ëñ¸ìËè¤Î·ÁÂÖÁǾðÊó¤òµá¤á¤Þ¤¹¡¥ ¥«¥ì¥ó¥È¸õÊä¤ò¹½À®¤¹¤ëñ¸ì¤Î·ÁÂÖÁǾðÊó¤òº¸¤«¤é½çÈÖ¤ËÇÛÎó .I lex ¤Ë³ÊǼ¤·¤Þ¤¹¡¥Ã±¸ì¿ô¤¬ .I maxlex ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï¡¤±¦¤Îñ¸ì¾ðÊó¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .PP ¹½Â¤ÂÎ lex ¤Î³Æ¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ê¾ðÊó¤¬ÀßÄꤵ¤ì¤Þ¤¹¡¥ .sp .nf ylen ñ¸ì¤ÎÆÉ¤ß¤Î¥Ð¥¤¥È¿ô klen ñ¸ì¤Î´Á»ú¤Î¥Ð¥¤¥È¿ô rownum ñ¸ì¤Î¹ÔÈÖ¹æ coldnum ñ¸ì¤ÎÎóÈÖ¹æ dicnum ̤»ÈÍÑ .fi .SH "Ìá¤êÃÍ" ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï²¿¤â¤»¤º¤Ë -1 ¤ò ÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkGetLex.man0100644000076500001200000000426107554213600015116 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetLex.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKGETLEX" "3" .SH "NAME" \f4RkGetLex\f1 \- get morphemic information on each word that makes up the current candidate .SH "SYNOPSIS" .nf .ft 4 #include int RkGetLex(cxnum, lex, maxlex) int cxnum; RkLex *lex; int maxlex; .ft 1 .fi .SH "DESCRIPTION" \f2RkGetLex\f1 gets morphemic information on each word that makes up the current candidate, and stores it in the array \f2lex\f1 in sequence from the left. Right-side word information is truncated when the number of words exceeds \f2maxlex\f1. .P The fields of the structure \f2lex\f1 are loaded with the following: .P .RS .IP "\f4ylen\f1" 12n Byte length of the reading of a word .IP "\f4klen\f1" Byte length of the kanji of the word .IP "\f4rownum\f1" Row number of the word .IP "\f4coldnum\f1" Column number of the word .IP "\f4dicnum\f1" Not used .RE .SH "RETURN VALUE" This function returns \f4-1\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkGetSta.jmn0100644000076500001200000000373207554213600015130 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetSta.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKGETSTAT 3 "19 April 1991" .SH "̾Á°" RkGetStat \- ¥«¥ì¥ó¥È¸õÊä¤Ë´Ø¤¹¤ë²òÀϾðÊó¤Î¼è¤ê¤À¤· .SH "·Á¼°" .nf .B #include .B int RkGetStat(cxnum¡¤stat) .B int cxnum; .B Rkstat *stat; .fi .SH "ÀâÌÀ" .I RkGetStat ¤Ï¡¤¥«¥ì¥ó¥È¸õÊä¤Ë´Ø¤¹¤ë²òÀϾðÊó¤òµá¤á¤Þ¤¹¡¥¹½Â¤ÂÎ .I stat ¤Î³Æ¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ê¾ðÊó¤¬ÀßÄꤵ¤ì¤Þ¤¹¡¥ .sp .nf bunnum ¥«¥ì¥ó¥ÈʸÀáÈÖ¹æ candnum ¥«¥ì¥ó¥È¸õÊäÈÖ¹æ maxcand ¥«¥ì¥ó¥ÈʸÀá¤Î¸õÊä¿ô diccand maxcand¤«¤éRkBgnBun(3)¤Î¥â¡¼¥É»ØÄêʬ¤ò°ú¤¤¤¿¤â¤Î ylen ¥«¥ì¥ó¥È¸õÊä¤ÎÆÉ¤ß¤¬¤Ê¤Î¥Ð¥¤¥È¿ô klen ¥«¥ì¥ó¥È¸õÊä¤Î´Á»ú¸õÊä¤Î¥Ð¥¤¥È¿ô tlen ¥«¥ì¥ó¥È¸õÊä¤Î¹½À®Ã±¸ì¿ô .fi .SH "Ìá¤êÃÍ" 0 ¤òÊÖ¤·¤Þ¤¹¡¥ ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï²¿¤â¤»¤º¤Ë -1 ¤ò ÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkGetSta.man0100644000076500001200000000430407554213600015113 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetSta.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKGETSTAT" "3" .SH "NAME" \f4RkGetStat\f1 \- get analysis information about the current candidate .SH "SYNOPSIS" .nf .ft 4 #include int RkGetStat(cxnum, stat) int cxnum; Rkstat *stat; .ft 1 .fi .SH "DESCRIPTION" \f2RkGetStat\f1 gets analysis information about the current candidate. The fields of the structure \f2stat\f1 are loaded with the following: .P .RS .IP "\f4bunnum\f1" 12n Current clause number .IP "\f4candnum\f1" Current candidate number .IP "\f4maxcand\f1" Number of candidates for the current clause .IP "\f4diccand\f1" \f4maxcand\f1 less the mode specification of \f4RkBgnBun\f1(3) .IP "\f4ylen\f1" Byte length of the reading of the current candidate .IP "\f4klen\f1" Byte length of the kanji of the current candidate .IP "\f4tlen\f1" Number of words making up the current candidate .RE .SH "RETURN VALUE" This function returns \f40\f1, or returns \f4-1\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkGetYom.jmn0100644000076500001200000000340307554213600015140 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetYom.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKGETYOMI 3 "4 April 1991" .SH "̾Á°" RkGetYomi \- ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤Î¼è¤ê¤À¤· .SH "·Á¼°" .nf .B #include .B int RkGetYomi(cxnum, yomi, maxyomi) .B int cxnum; .B unsigned char *yomi; .B int maxyomi; .fi .SH "ÀâÌÀ" .I RkGetYomi ¤Ï¡¤¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤¬¤Ê¤òÎΰè .I yomi ¤ËÀßÄꤷ¤Þ¤¹¡¥Ê¸»úÎó¤Î¥Ð¥¤¥È¿ô¤¬ .I maxyomi -1 ¤òͤ¨¤ë¾ì¹ç¤Ë¤Ï¡¤·ë²Ì¤ÏÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤ÎŤµ¤òÊÖ¤·¤Þ¤¹¡¥ ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï²¿¤â¤»¤º¤Ë -1 ¤ò ÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkGetYom.man0100644000076500001200000000354207554213600015133 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGetYom.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKGETYOMI" "3" .SH "NAME" \f4RkGetYomi\f1 \- get the reading of the current clause .SH "SYNOPSIS" .nf .ft 4 #include int RkGetYomi(cxnum, yomi, maxyomi) int cxnum; unsigned char *yomi; int maxyomi; .ft 1 .fi .SH "DESCRIPTION" \f2RkGetYomi\f1 gets the reading of the current clause and sets it in the area \f2yomi\f1. The resulting character string is truncated when its byte length exceeds \f2maxyomi\f1 -1. .SH "RETURN VALUE" This function returns the length of the reading of the current clause, or returns \f4-1\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkGoto.jmn0100644000076500001200000000346007554213600014647 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGoto.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKGOTO 3 "4 April 1991" .SH "̾Á°" RkGoTo \- ¥«¥ì¥ó¥ÈʸÀá¤ÎÊѹ¹ .SH "·Á¼°" .nf .B #include .B int RkGoTo(cxnum, bnum) .B int cxnum; .B int bnum; .fi .SH "ÀâÌÀ" .I RkGoto ¤Ï¡¤»ØÄꤵ¤ì¤¿Ê¸ÀáÈÖ¹æ .I bnum ¤ò¥«¥ì¥ó¥ÈʸÀá¤Ë¤·¤Þ¤¹¡¥ ʸÀáÈÖ¹æ¤Ï¡¤ 0 ¤«¤éºÇ½ªÊ¸ÀáÈÖ¹æÌ¤Ëþ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ Èϰϳ°¤ÎʸÀáÈֹ椬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¤¥«¥ì¥ó¥ÈʸÀá¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤¹¤ë¤È¥³¥ó¥Æ¥¯¥¹¥È¤Î¥«¥ì¥ó¥ÈʸÀá¤ò°Üư¤·¡¤Êѹ¹¸å¤Î¥«¥ì¥ó¥ÈʸÀáÈÖ¹æ ¤òÊÖ¤·¤Þ¤¹¡¥ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï ²¿¤â¤»¤º¤Ë 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkGoto.man0100644000076500001200000000365707554213600014646 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkGoto.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKGOTO" "3" .SH "NAME" \f4RkGoTo\f1 \- change the current clause .SH "SYNOPSIS" .nf .ft 4 #include int RkGoTo(cxnum, bnum) int cxnum; int bnum; .ft 1 .fi .SH "DESCRIPTION" \f2RkGoTo\f1 sets the clause with the specified clause number \f2bnum\f1 as the current clause. The clause number must be 0 or greater but less than the last clause number. The current clause does not change when a clause number outside this range is specified. .SH "RETURN VALUE" If successful, this function moves the current clause in the context and returns the current clause number after the move. It returns \f40\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkInitia.jmn0100644000076500001200000000437307554213600015160 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkInitia.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKINITIALIZE 3 "4 April 1991" .SH "̾Á°" RkInitialize \- ¤«¤Ê´Á»úÊÑ´¹µ¡Ç½¤Î½é´ü²½ .SH "·Á¼°" .nf .B #include .B int RkInitialize(dhdpath) .B char *dhdpath; .fi .SH "ÀâÌÀ" .I RkInitialize ¤Ï¡¤¤«¤Ê´Á»úÊÑ´¹µ¡Ç½¤ò½é´ü²½¤·¤Þ¤¹¡¥ .I dhdpath ¤Ë¤Ï¡¤¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê̾¤òÍ¿¤¨¤Þ¤¹¡¥ .PP Ëܥ饤¥Ö¥é¥ê¤Ç¤ÏƱ»þ¤ËÊ£¿ô¤Î¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ ¤³¤Î¤¿¤á¡¤¤½¤ì¤¾¤ì¤Î¤«¤Ê´Á»úÊÑ´¹¤ò´ÉÍý¤¹¤ëÊýË¡¤È¤·¤ÆÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤òÍѤ¤¤¿ À©¸æ¤ò¹Ô¤¤¤Þ¤¹¡¥ ³Æ¥³¥ó¥Æ¥¯¥¹¥È¤Ë¤Ï¡¤¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤ËɬÍ×¤ÊÆâÉô¥Ç¡¼¥¿¤¬³ÎÊݤµ¤ì¤Þ¤¹¡¥ .PP ÍøÍѼԤÏÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤ò¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ¤Ë¤è¤ê¼±Ê̤·¤Þ¤¹¡¥ ¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ¤Ï¡¤ 0 °Ê¾å¤ÎÀ°¿ôÃͤÇɽ¸½¤µ¤ì¡¤¤«¤Ê´Á»úÊÑ´¹´Ø¿ô¤ÎÂè1¥Ñ¥é¥á¡¼¥¿ ¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡¥ .PP .I RkInitialize ¤Ë¤è¤ê¤«¤Ê´Á»úÊÑ´¹¤¬½é´ü²½¤µ¤ì¤¿Ä¾¸å¤Ë¤Ï¡¤ÈÖ¹æ 0 ¤Î ɸ½à¥³¥ó¥Æ¥¯¥¹¥È¤À¤±¤¬Â¸ºß¤·¤Þ¤¹¡¥ ¥³¥ó¥Æ¥¯¥¹¥È¤ò°ì¤Ä¤À¤±»ÈÍѤ¹¤ë ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ïɸ½à¥³¥ó¥Æ¥¯¥¹¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" ½é´ü²½¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤ò¡¤¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï -1 ¤òÊÖ¤·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkFinalize(3) .\".if t .pn 575 Canna37p3/lib/RK/RkInitia.man0100644000076500001200000000457507554213600015153 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkInitia.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKINITIALIZE" "3" .SH "NAME" \f4RkInitialize\f1 \- initialize the kana-kanji conversion functions .SH "SYNOPSIS" .nf .ft 4 #include int RkInitialize(dhdpath) char *dhdpath; .ft 1 .fi .SH "DESCRIPTION" \f2RkInitialize\f1 initiates the kana-kanji conversion functions. \f2dhdpath\f1 names the dictionary home directory. .P Because this library permits multiple kana-kanji conversions to proceed concurrently, it uses the conversion context method of control to manage the kana-kanji conversions. Each context contains internal data needed to perform a kana-kanji conversion. .P Users identify the conversion contexts from one another by their context number. A context number is an integer of 0 or greater and is used as the first parameter of the kana-kanji conversion function. .P Right after the kana-kanji conversion functions are initialized by \f2RkInitialize\f1, only the standard context with context number 0 exists. Applications using only one context can use the standard context. .SH "RETURN VALUE" This function returns \f40\f1 if successful; otherwise, it returns \f4-1\f1. .SH "SEE ALSO" .na \f4RkFinalize\f1(3) .ad Canna37p3/lib/RK/RKintern.h0100644000076500001200000010234507773337054014660 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* LINTLIBRARY */ /* $Id: RKintern.h,v 1.15.2.2 2003/12/27 17:15:24 aida_s Exp $ */ #ifndef _RKintern_h #define _RKintern_h #define BUNMATU /* BUNMATU ¥Þ¥¯¥í¤ò define ¤¹¤ë¤È¡¢ËÌΦÀèü²Ê³Øµ»½ÑÂç³Ø±¡Âç³Ø¾ðÊó²Ê³Ø ¸¦µæ²Ê¤ÎÆ£»ÞϹ¨(fujieda@jaist.ac.jp)¤µ¤ó¤¬¡¢¡Ø¤«¤ó¤Ê¡Ù¤Î¤«¤Ê´Á»úÊÑ ´¹¸úΨ¸þ¾å¤Î¤¿¤á¤Ë¡¢1994 ÅߤËÁȤ߹þ¤ó¤À¡Öʸ¾ÏËöµ­¹æ¡×¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ ¤¹¡£¤³¤ì¤Ë¤è¤êʸ¾ÏËö¤Ë¤·¤«¸½¤ì¤Ê¤¤Ê¸»ú¤¬Ê¸Àá¤ÎÅÓÃæ¤Ë½Ð¤ÆÍè¤ë¤³¤È¤¬ ¤Ê¤¯¤Ê¤êÊÑ´¹¸úΨ¤¬¸þ¾å¤·¤Þ¤¹¡£¤³¤Î¥³¡¼¥É¤ò¤«¤¤¤Æ²¼¤µ¤¤¤Þ¤·¤¿Æ£»Þ¤µ ¤ó¤Ë´¶¼Õ¤·¤Þ¤¹¡£ */ #define LOGIC_HACK /* Æ£»Þ¡÷£Ê£Á£É£Ó£Ô¤Î¥Ï¥Ã¥¯¤òÍ­¸ú¤Ë¤¹¤ë */ #define EXTENSION_NEW #include "cannaconf.h" #if !defined(WINDOWS_STYLE_FILENAME) && !defined(USE_OBSOLETE_STYLE_FILENAME) #define WINDOWS_STYLE_FILENAME #endif #ifdef __CYGWIN32__ #define USE_MALLOC_FOR_BIG_ARRAY #endif typedef unsigned short Wchar; #define RK_INTERNAL typedef Wchar cannawc; #define CANNAWC_DEFINED #define CANNA_NEW_WCHAR_AWARE #include "canna/RK.h" #include "ccompat.h" #include #ifdef HAVE_FCNTL_H # include #endif #ifndef AIXV3 #include #endif #ifdef NOT_DEF #include int Rk_errno; #define RkSetErrno(number) {\ if (number) Rk_errno = (number); else Rk_errno = errno; } #else #define RkSetErrno(number) #endif #ifndef RK_DEBUG #define RkDebug(fmt, p, q, r) #endif #ifdef __STDC__ #define QUOTE(s) #s #else #define QUOTE(s) "s" #endif #ifdef NDEBUG #define RK_ASSERT(expr) ((void)0) #else #define RK_ASSERT(expr) ((expr) ? (void)0 : RkAssertFail(\ __FILE__, __LINE__, QUOTE(expr))) #endif /* NDEBUG */ #define MKDIR_MODE 0775 #define CREAT_MODE 0664 typedef unsigned char *pointer; typedef unsigned char Wrec; #define WMASK (~0x0303) #define RK_WMASK WMASK #define WNILL (unsigned short)0x0000 #define WNULL (unsigned short *)0 #define us_iscodeG0(wc) (((wc) & 0x8080) == 0x0000) #define us_iscodeG1(wc) (((wc) & 0x8080) == 0x8080) #define us_iscodeG2(wc) (((wc) & 0x8080) == 0x0080) #define us_iscodeG3(wc) (((wc) & 0x8080) == 0x8000) #define RK_SS2 (unsigned char)0x8e #define RK_SS3 (unsigned char)0x8f #define RK_ESC_CHAR ((Wchar)'\\') #define euc_iscodeG0(c) isascii(c) #define euc_iscodeG1(c) (((c) & 0x80) && !((c) & RK_SS2) && !((c) & RK_SS3)) #define euc_iscodeG2(c) ((c) & RK_SS2) #define euc_iscodeG3(c) ((c) & RK_SS3) /* RkUnion * private data at each class. */ typedef union _rkunion { pointer ptr; long var; unsigned long uvar; } RkUnion; /* kana kanji henkan jisho * MS 870713 * * +---------------+ * | HEADER | jisho header (256 byte) * +---------------+256L * | | yomigana no index * | DIRECTORY | * +---------------+ * | | tango jouhou * | | yomi, {(row, col), tsuduri, hindo}... * | WORD | * | | * | | * +---------------+ * | | setuzoku jouhou(swd nomi) * | CONJUNCT | row... * | | * +---------------+ */ /* BASIC TYPE: * subete no data ha MSB first(Motorolla order) de tenkai sareru * unsigned char w * unsigned short wx * unsigned long wxyz */ #define LOMASK(x) ((x)&255) /* #include "type.h" */ /* * byte stream <=> long or short */ #define l_to_bst4(src, dst) {\ dst[0] = (unsigned char)(((long)(src) >> 24) & 0xff);\ dst[1] = (unsigned char)(((long)(src) >> 16) & 0xff);\ dst[2] = (unsigned char)(((long)(src) >> 8) & 0xff);\ dst[3] = (unsigned char)( (long)(src) & 0xff);\ } #define bst4_to_l(src) \ (unsigned long)(((long)(src)[0] << 24) |\ ((long)(src)[1] << 16) |\ ((long)(src)[2] << 8) |\ (long)(src)[3]) #define l_to_bst3(src, dst) {\ dst[0] = (unsigned char)(((long)(src) >> 16) & 0xff);\ dst[1] = (unsigned char)(((long)(src) >> 8) & 0xff);\ dst[2] = (unsigned char)( (long)(src) & 0xff);\ } #define bst3_to_l(src) \ (unsigned long)(((long)(src)[0] << 16) | ((long)(src)[1] << 8) | (long)(src)[2]) #define s_to_bst2(src, dst) {\ (dst)[0] = (unsigned char)((src >> 8) & 0xff);\ (dst)[1] = (unsigned char)(src & 0xff);\ } #define bst2_to_s(src) \ (unsigned short)(((unsigned short)(src)[0] << 8) | (src)[1]) #define l_to_bst l_to_bst4 #define bst_to_l bst4_to_l #define s_to_bst s_to_bst2 #define L4TOL(l4)\ (((((((unsigned long)(l4)[0]<<8)|(l4)[1])<<8) | (l4)[2])<<8)|(l4)[3]) #define L3TOL(l3)\ (((((unsigned long)(l3)[0]<<8)|(l3)[1])<<8) | (l3)[2]) #define S2TOS(s2) (((unsigned short)(s2)[0]<<8)|(s2)[1]) #define LTOL4(l, l4) {\ (l4)[0] = LOMASK((l)>>24); (l4)[1] = LOMASK((l)>>16);\ (l4)[2] = LOMASK((l)>> 8); (l4)[3] = LOMASK((l));\ } #define LTOL3(l, l3) {\ (l3)[0] = LOMASK((l)>>16);\ (l3)[1] = LOMASK((l)>> 8);\ (l3)[2] = LOMASK((l));\ } #define STOS2(s, s2) {\ (s2)[0] = LOMASK((s)>> 8);\ (s2)[1] = LOMASK((s));\ } #define RkNumber(ary) (sizeof(ary)/sizeof(ary[0])) #define rk_isdigit(c) (!((c) & ~0xff) ? isdigit((int)(c)) : 0) #define rk_isascii(c) (!((c) & ~0xff) ? isascii((int)(c)) : 0) #define rk_isspace(c) (!((c) & ~0xff) ? isspace((int)(c)) : 0) /* WARNING: ¤³¤ì¤òʤÙÊѤ¨¤ë¤È¤­¤ÏHdrtag¤ËÃí°Õ¤¹¤ë¤³¤È! */ enum { /* These must be first 5 tags in this order for new (>=300702L) dic */ HD_MAG, /* mandatory */ HD_SIZ, /* mandatory */ HD_HSZ, /* mandatory */ HD_CURV, /* mandatory for new dic, but must not exist in 300000L dic */ HD_CMPV, /* mandatory for new dic, but must not exist in 300000L dic */ /* Some of them are optional */ HD_VER, /* only for 300000L format, must not exist in new format */ HD_TIME, /* mandatory */ HD_REC, /* mandatory */ HD_CAN, /* mandatory */ HD_L2P, /* mandatory except for freq file */ HD_L2C, /* mandatory except for freq file */ HD_PAG, /* mandatory except for freq file */ HD_LND, /* mandatory except for freq file */ HD_SND, /* mandatory except for freq file */ HD_DROF, /* mandatory except for freq file */ HD_PGOF, /* mandatory except for freq file */ HD_DMNM, /* mandatory */ HD_CODM, /* mandatory only in freq file, otherwise not referred */ HD_LANG, /* record is set but not referred */ HD_WWID, /* record is set but not referred */ HD_WTYP, /* record is set but not referred */ HD_COPY, /* optional */ HD_NOTE, /* optional */ HD_TYPE, /* record is set but not referred */ /* Tags below must not appear in 300000L dic */ HD_CRC, /* optional */ HD_GRAM, /* optional */ HD_GRSZ, /* optional */ HD_MAXTAG }; #define HD_TAGSIZ 4 #define HD_MIN_TAGSIZ (3 * HD_TAGSIZ) #define HD_VERSION(hd) (((hd)->flag[HD_CURV] == -1) \ ? (hd)->data[HD_CURV].var : 0x300000L) struct HD { RkUnion data[HD_MAXTAG]; int flag[HD_MAXTAG]; }; #define JMWD 1 #define JSWD 2 #define JPRE 3 #define JSUC 4 #define BYTE2 2 #define BYTE4 4 #define DEF_WWID 2 #define WORD_NODE (0x80) #define LAST_NODE (0x40) #define BIT_UNIT 8 #define NOLOCALE "NOLOCALE" #define DEF_WTYP "W16 " #define DEF_TYPE "jmwd" #define RK_PG_LOADED 0x01 #define RK_PG_USED 0x02 #define isLoadedPage(p) ((p)->flags & RK_PG_LOADED) #define isUsedPage(p) ((p)->flags & RK_PG_USED) #define thisPWO(p) (unsigned long)((((unsigned long ) *(p) << 6) & 0x3fc0) \ | ((*((p)+1) >> 2) & 0x3f)) #define thisLVO(p) (unsigned long)((((unsigned long) *((p)+1) << 13) & 0x6000) \ | (((unsigned long) *((p)+2) << 5) & 0x1fe0) \ | ((*((p)+3) >> 3) & 0x1f)) #define thisCSN(p) (unsigned long)((((unsigned long) *((p)+3) << 8) & 0x700) | *((p)+4)) struct NP { unsigned ndsz; unsigned lnksz; unsigned long lvo; unsigned long csn; unsigned flags; int count; unsigned char *buf; }; /* * definition of off_t added by Kenji Rikitake 27-MAR-1995 * * Include necessary headers for lseek() here. * note: sys/types.h only applies for BSD/OS 2.0. * Use the appropriate files for other systems. */ #include struct ND { unsigned long time; unsigned long crc; int crc_found; unsigned long rec; unsigned long can; unsigned long sz; off_t doff; unsigned long drsz; unsigned long pgsz; unsigned long ttlpg; int fd; unsigned char *buf; struct NP *pgs; long version; }; /* HEADER: * unsigned char magic[2]; * unsigned char pakeuc; key ga asshuku sareteiru * unsigned char name[]; jisho mei * xxx.mwd xxx.swd xxx.pre xxx.suc * \n de shuuryou */ #define ND_HDMAGICSIZ 4 #define ND_HDRSIZ 256 /* header size */ #if 0 /* iranai? */ #define ND_HDRMAG (('H'<<8)|'N')/* magic number */ #endif /* jisho class */ #define ND_MWD RK_MWD #define ND_SWD RK_SWD #define ND_PRE RK_PRE #define ND_SUC RK_SUC #define ND_EMP 4 /* kuugo */ #define ND_OPN 5 /* hiraki kakko */ #define ND_CLS 6 /* toji kakko */ #define ND_PUN 7 /* kutouten */ struct wcand { unsigned char *addr; unsigned short row; unsigned char klen; }; struct RkXwrec { unsigned ncands, wrecsz; unsigned char *wrec; }; /* DIRECTORY: * xxxx NODE.... * xxxx niha, DIRECTORY no ookisa ga byte de hairu. * * 4 byte no NODE kara kousei * * +--+--+--+--+ * |KY|X1 X2 X3| * +--+--+--+--+ * ! ! * ! +------------- X1 * ! word record/directory offset * ! (X1<<16) | (X2<<8) | (X3) * ! * +---------------- yomi (ascii/euc hiragara lower byte) * 0 */ #define ND_NODSIZ 6 /* node size in byte */ #define ND_DSPENT 189 /* #entry in the dispatch table */ /* mask values */ #define ND_OFFMASK 0x00ffffffL /* offset mask (24 bit) */ /* X1 bit flags */ #define ND_NULLOFF ND_OFFMASK /* tango ga sakujo sareta */ #define VMASK 0x7fffffL /* predicators */ #define ND_LAST 0x0080L /* directory no saishuu node (entry) */ #define ND_WORD 0x0040L /* offset ha tango joushou wo sasu */ #define ND_RFU 0x0020L /* Mishiyou (offset ni tuika ?) */ #define ISLASTNOD(flag) ((flag)&ND_LAST) #define ISWORDNOD(flag) ((flag)&ND_WORD) #define HN (unsigned long) 256 #define HashFunc(key) (unsigned long)((key) % HN) struct WRT{ unsigned long sz; unsigned long cs; unsigned long frst; unsigned long tm; unsigned char *buf; }; struct CTdata{ struct CTdata *next; unsigned long ct[2]; }; struct RUT{ unsigned long sz; unsigned long cs; unsigned long frst; unsigned long tm; struct CTdata **dp; }; #define a_csn(x) (unsigned long) \ (((((unsigned long)(x)[0] << 8) | (x)[1]) << 4) | (((unsigned long)(x)[2] & 0xf0) >> 4)) #define a_tick(x) (unsigned long) \ ((((((unsigned long)(x)[2] & 0x0f) << 8) | (unsigned long)(x)[3]) << 8) | (x)[4]) #define WriteVal(csn, tick, buf){\ (buf)[0] = (unsigned char)(((csn)>>12) & 0xff);\ (buf)[1] = (unsigned char)(((csn)>>4) & 0xff);\ (buf)[2] = (unsigned char)((((csn)<< 4) & 0xf0)|(((tick)>>16) & 0x0f));\ (buf)[3] = (unsigned char)(((tick)>>8) & 0xff);\ (buf)[4] = (unsigned char)((tick) & 0xff);\ } #define WriteCT(csn, tick, arr){\ (arr)[0] = (unsigned long) (csn);\ (arr)[1] = (unsigned long) (tick);\ } #define freeWRT(wruc) {\ free(wruc->buf);\ free(wruc);\ } #define RKmaxDN (unsigned long) 0xff #define RKmaxCN (unsigned long) 0xffffff /* WORD: * xxxx {yomi nkouho {flags row col freq kouho}...}... * xxxx niha, WORD no ookisa ga byte de hairu. * * tango: * unsigned char yomi[]; yomigana * unsigned char nkouho; kouho no kazu * unsigned char flags; kouho no nagasa + flags * unsigned char row; kouho no row bangou * unsigned char col; kouho no col bangou * unsigned char freq kouho no shiyou hindo * unsigned char kouho[]; * */ #define NW_PREFIX 2 /* the length of kouho prefix in byte */ /* flags */ #define NW_LEN 0x7f /* kouho no nagasa ( zenkaku 31 moji) */ #ifdef LOGIC_HACK #define NW_RCBITS 9 /* bits of maximum rowcol number */ #endif #define candlen(flag) ((flag) & NW_LEN) #define wordlen(flag) ((candlen(flag) << 1) + NW_PREFIX) /* RkWcand * data structure used to handle the word record */ typedef struct RkWcand { Wrec *addr; /* houho sentou address */ short rcnum; /* row column number */ unsigned char klen; /* kouho no nagasa */ } Candidate; /* CONJUNCT: * xxxx rrcc row_0 row_1 ... row_rr-1 * name_0 name_1 ... name_rr-1 * xxxx niha, CONJUNCT no ookisa ga byte de hairu. * rr, cc ha sorezore, row, col no kosuu wo simesu. * row_i ha byte kyoukai kara hajimaru cc bit karanaru bit retu * name_i ha EOS de owaru mojiretu * */ struct RkKxGram; struct RkGramIterator { int rowcol; }; #define RkNextGram(iter) ((void)++(iter)->rowcol) /* hinshi no bunrui * renbunsetu henkan de siyou sareru */ #define IsShuutan(g, r) RkTestGram(g, r, 0) #ifdef BUNMATU #define IsBunmatu(g, r) RkTestGram(g, r, 1) #endif /* RkGram -- grammatical information */ struct RkGram { int refcount; /* reference counter */ struct RkKxGram *gramdic; /* grammar dictionary */ int P_BB, P_NN, P_T00, P_T30, P_T35; /* hinshi codes */ #ifdef LOGIC_HACK int P_KJ; /* tankanji */ #endif int P_Ftte; /* FIXME: should go away */ }; extern struct RkGram SG; /* ncache * tango record no caching list * ncache ha, jisho kara itido yomikomareta tango record wo cache kanri suru * tameno jouhou kouzou dearu. * tango record ha key (dicnum, address) de skibetu sareru. * taiou suru tango record ha nc_word ni yori simesareru HEAP ryouiki ni aru. * +------------+ * | nc_dicnum | key part * | nc_address | * +------------+ * | nc_word | value part * +------------+ * ncache ha 2tu no souhoukou list hash/free list ni tunagareru. * (* koreha UNIX i/o system no buffer cache kara hint wo eta *) * hash list ha key no kensaku wo kousoku ka suru tame ni shiyou sareru. * free list ha kaihou sareta cache ga tunagareru. */ struct ncache { struct ncache *nc_hnext; /* hash list */ struct ncache *nc_hprev; struct ncache *nc_anext; /* free list */ struct ncache *nc_aprev; Wrec *nc_word; /* heap jouno tango record */ struct DM *nc_dic; /* yomikomareta jisho */ unsigned short nc_flags; unsigned long nc_count; /* word karano sanshou dosuu */ long nc_address; /* word record no file address */ }; /* flags */ #define NC_DIRTY 1 /* word no naiyou ga henkou sareta */ #define NC_ERROR 2 /* cache no naiyou ga tadasiku nai */ #define NC_NHEAP 4 /* word ha heap wo sasite inai */ struct nread { struct ncache *cache; unsigned long offset; unsigned long csn; int nk; }; /* nword * bunsetsu kaiseki kekka * jisho kara no tango yomidasi kekka * nword ha, jisho kara search sareta tango record wo kirokusi, * bunsetsu kaiseki ni yori sakusei sareru bunsetsu tree wo hyougen suru. */ struct nword { struct ncache *nw_cache; /* tango record wo fukumu cache */ short nw_rowcol; /* setsuzoku jouhou */ unsigned char nw_ylen; /* #chars in yomi */ unsigned char nw_klen; /* #chars in kanji */ unsigned char nw_class; /* word class */ unsigned char nw_flags; /* word flags (see below) */ unsigned char nw_lit; /* literal conversion */ unsigned long nw_prio; /* kouzou ni yoru priority */ /* True ? by tamano */ unsigned long nw_csn; unsigned char nw_count; /* setsuzoku suu */ struct nword *nw_left; /* hidari ni tunagaru word */ struct nword *nw_next; /* onaji nw_len wo motu list */ unsigned char *nw_kanji; /* kanji kouho ichi/douteki na kouho */ /* nw_klen ha fuyou ni naru kanousei ari */ struct DM *nw_freq; /* pointer to frequncy file */ }; /* * word flags */ #define NW_MWD 0x80 #define NW_SWD 0x40 #define NW_PRE 0x20 #define NW_SUC 0x10 #define NW_LOWPRI 0x08 #ifdef BUNMATU #define NW_BUNMATU 0x04 #endif #define NW_FOLLOW 0x02 /* has some words following to me */ #define NW_NEVER_SPLIT 0x01 /* cannot terminate here */ /* accessor & predicates */ #define IsFollowed(w) ((w)->nw_flags&NW_FOLLOW) #define DontSplitWord(w) ((w)->nw_flags |= NW_NEVER_SPLIT) #define CanSplitWord(w) (!((w)->nw_flags&NW_NEVER_SPLIT)) #ifdef BUNMATU #define OnlyBunmatu(w) ((w)->nw_flags & NW_BUNMATU) #endif /* conversion number */ #define LIT2GRP(cn) ((cn)>>4) #define LIT2MEM(cn) ((cn)&15) #define MAKELIT(g, w) (((g)<<4)|(w)) #define MAXLIT 16 #define LIT_NONE 0 #define LIT_NUM 1 #define LIT_ALPHA 2 #define LIT_HIRA 3 /* nbun * bunsetsu queue * renbunsetsu henkan kekka wo kiroku */ struct nbun { struct nword *nb_cand; /* kouho wo kousei suru word * nw_next niyori sort sareru */ unsigned short nb_yoff; /* yomigana offset in buffer */ unsigned short nb_curlen; /* current candidate length in char */ unsigned short nb_maxcand; /* number of candidates */ unsigned short nb_curcand; /* current candidate */ unsigned short nb_flags; /* ?? */ }; /* DM/DF/DD */ /* MS1214 * now DM supports frequency files as well */ typedef struct DM { /* pointers for the file structure */ struct DM *dm_next; struct DM *dm_prev; struct DF *dm_file; /* ptr to the file containing this */ /* attributes */ char *dm_dicname; char *dm_nickname; unsigned dm_class; /* MWD/SWD/PRE/SUC */ unsigned dm_flags; /* flags */ unsigned char dm_packbyte; /* shouryaku sareta joui byte */ /* reference count from MD */ int dm_rcount; /* setuzoku jouhou (SWD nomi) */ struct RkGram *dm_gram; RkUnion dm_extdata; unsigned char *dm_qbits; /* MS1214 gakushuu jouhou */ /* */ struct DDT *dm_line; /* pointer to dd line */ long dm_offset; struct RUT *dm_rut; struct NV *dm_nv; } DM; /* flag values */ #define DM_EXIST 0x01 /* member exists */ #define DM_WRITABLE (DM_EXIST << 1) /* jisho ga write dekiru */ #define DM_LOADWORD (DM_EXIST << 2) /* word rec wo memory ni yomi */ #define DM_UPDATED (DM_EXIST << 4) /* member changed */ #define DM_READOK (DM_EXIST << 5) /* jisho no read ken */ #define DM_WRITEOK (DM_EXIST << 6) /* jisho no write ken */ typedef struct DF { /* DF doubly linked list */ struct DF *df_next; struct DF *df_prev; struct DD *df_direct; /* backward pointer to the directory */ struct DM df_members; /* the header of the dictionary */ /* attributes */ char *df_link; /* link name of the file */ unsigned df_type; /* type of file */ unsigned df_flags; /* access mode */ int df_rcount; /* # the mounted members */ RkUnion df_extdata; long df_size; } DF; #define DM2TYPE(dm) ((dm)->dm_file->df_type) /* jisho no shurui */ #define DF_PERMDIC 0 /* file ni aru jisho */ #define DF_TEMPDIC 1 /* zantei jisho */ #define DF_FREQDIC 2 /* gakushuu hindo jisho MS1214 */ #define DF_RUCDIC 3 /* gakushuu hindo jisho MS1214 */ /* flag values */ #define DF_EXIST 1 /* file exists */ #define DF_WRITABLE 2 /* file is writable */ /* * DD */ struct DDT { struct DDT *ddt_next; struct DDT *ddt_prev; int ddt_status; char *ddt_spec; }; typedef struct DD { /* DD doubly linked list */ struct DD *dd_next; struct DD *dd_prev; char *dd_path; /* path name of the directory */ char *dd_name; /* unique name of the directory */ int dd_rcount; /* # opened files+reference from DDP */ struct DF dd_files; /* the header of the file list */ unsigned dd_flags; /* flag */ /* dics.dir file */ struct DDT dd_text; } DD, *DDP; #define DD_WRITEOK 1 /* directory is allowed to write */ #define DD_READOK 2 /* MD ---------------------------------------------------------------- * context ni mount sareta jisho/jisho wo mount siteiru jisho list no taiou * ---------------------------------------------------------------- */ typedef struct MD { struct MD *md_next; /* dictionary list */ struct MD *md_prev; struct DM *md_dic; /* jisho heno pointer */ struct DM *md_freq; /* MS1214 gakushuu jisho heno pointer */ int md_flags; /* mount flags */ } MD, *MDP; #define MD_WRITE 1 /* gakushuu shitei */ #define MD_MPEND 2 /* mount pending */ #define MD_UPEND 4 /* unmount pending */ /* RkParam * common parameter block */ struct RkParam { /* cache */ struct ncache *cache; int maxcache; /* heap */ unsigned char *heap; int maxheap; unsigned char *ham; int maxham; /* word */ struct nword *word; /* henkyaku sareta word wo tunageru */ struct nword *page; /* word page list */ int word_in_use; int page_in_use; /* jisho */ struct DD dd; char *ddhome; /* dictionary home directory */ struct DD **ddpath; /* system ddpath */ /* flags */ unsigned flag; /* checks initialize */ /* */ }; extern struct RkParam SX; #define SX_INITED 1 #define RK_REARRANGED 0x01 struct NVE { unsigned char *data; struct NVE *left; struct NVE *right; struct NVE *next; }; struct NV { unsigned long sz; unsigned long tsz; long csz; long cnt; /* int lst; delete by tamano(tajima) */ struct NVE head; struct NVE **buf; }; #ifdef RK_LOG struct henkanlog { int n; char *henkan; struct henkanlog *next; }; #endif struct nstore { Wchar *yomi; /* yomigana buffer */ #ifdef RK_LOG unsigned nblog; char **blog; struct henkanlog *hlog; struct henkanlog dmi; #endif unsigned nyomi; /* number of yomigana chars */ unsigned maxyomi; /* maximum number of yomigana chars */ struct nbun *bunq; /* ʸÀᥭ¥å¡¼ */ unsigned maxbunq; /* saidai bunnsetu suu */ unsigned maxbun; /* saidai bunsetsu suu */ int curbun; /* ¥«¥ì¥ó¥ÈʸÀá */ int maxxq; /* saidai queue == bunsetu moji suu */ struct nqueue *xq; /* henkan queue */ struct nword **xqh; /* used in _RkparseBun() */ int word_in_use; /* #words used in context */ }; /* context * ncontext ha rennbunnsetu hennkann client wo seigyo suru jouhou * jisho kankyou * renbunsetsu henkan sagyou ryouiki */ struct nqueue { struct nword *tree; short maxlen; short status; }; typedef struct RkContext { struct nstore *store; struct MD *md[4]; /* mwd/swd/pre/suc */ struct DD **ddpath; /* dictionary search path */ struct DM *dmprev; /* dictionary search path : dic */ struct DM *qmprev; /* dictionary search path : freq */ unsigned long time; /* tic */ unsigned flags; /* context control flags */ unsigned long kouhomode; /* kana kouho mode */ unsigned long *litmode; /* literal conversion table */ int concmode; /* connect words mode */ int poss_cont; /* */ RkUnion cx_extdata; /* etc data */ struct NV *nv; struct RkGram *gram; } RkContext; /* Extension Data in DM */ typedef struct TD { struct TN *td_node; /* array of node TN */ unsigned td_n; /* # effective nodes */ unsigned td_max; /* # maximum nodes in the array */ } TD; struct TW { Wrec *word; unsigned long lucks[2]; }; typedef struct TN { unsigned char tn_flags; /* type of node (see blow) */ Wchar tn_key; union { struct TD *tree; struct TW *word; } tn_value; /* type specific data */ /* syntax sugar */ #define tn_tree tn_value.tree #define tn_word tn_value.word } TN; /* flags values */ #define TN_WORD 1 /* is a word */ #define TN_WDEF 2 /* wrec has been defined */ #define TN_WDEL 4 /* wrec has been deleted */ #define IsWordNode(tn) ((tn)->tn_flags&TN_WORD) /* td_and_n structure * * tupple of td and n for RkGetWordTextDic() */ struct td_n_tupple { char *td; /* in fact this type is (struct TD *) */ int n; struct td_n_tupple *next; }; /* jishowo 1gyouzutu yomu tokino pointer :used in RkGetWordTextDic */ typedef struct _rec { int gwt_cx; unsigned char *gwt_dicname; struct td_n_tupple *tdn; } GWT; /* flag values */ #define CTX_LIVE 1 /* allocate sareta */ #define CTX_XFER 2 /* bunsetu henkann chuu */ #define CTX_XAUT 4 /* jidou henkan chuu */ #define CTX_XFSH 010 #define CTX_NODIC 020 /* have never tried to mount dic */ #define MAX_CONTEXT 256 #define INIT_CONTEXT 32 #define ADD_CONTEXT 32 #ifndef SYSTEM_DDHOME_NAME #define SYSTEM_DDHOME_NAME "canna" #endif #define USER_DIC_DIR "user" #define GROUP_DIC_DIR "group" #define IS_LIVECTX(cx) ((cx)->flags & CTX_LIVE) #define IS_XFERCTX(cx) (IS_LIVECTX(cx) && ((cx)->flags & CTX_XFER)) #define IS_XAUTCTX(cx) (IS_LIVECTX(cx) && ((cx)->flags & CTX_XAUT)) #define RK_CONNECT_WORD 0x01 #define IsCxNum(cn) (0<=((unsigned long)cn)&&((unsigned long)cn)concmode & RK_CONNECT_WORD) == RK_CONNECT_WORD)) #define Is_Word_Make(cx)\ ((cx) && (((cx)->concmode & RK_MAKE_WORD) == RK_MAKE_WORD)) /* RkDST * dictionary switch table */ struct RkDST { int (*d_open) /* jisho ga open sareta toki */ pro((struct DM *, char *, int, struct RkKxGram *)); int (*d_close) /* jisho ga close sareta toki */ pro((struct DM *, char *, struct RkKxGram *)); int (*d_search) /* jisho kara tango wo search suru */ pro((struct RkContext *, struct DM *, Wchar *, int, struct nread *, int, int *)); int (*d_io) /* jisho he tango to cache no io */ pro((struct DM *, struct ncache *, int)); int (*d_ctl) /* jisho koyuuno sousa */ pro((struct DM *, struct DM *, int, Wchar *, struct RkKxGram *)); int (*d_sync) /* jisho sync suru */ pro((struct RkContext *, struct DM *, struct DM *)); }; extern struct RkDST _RkDST[]; #define _RkEnrefCache(a) ((a)->nc_count++) #define DST_PROC(dm) _RkDST[DM2TYPE(dm)] #define DST_OPEN(dm, file, mode, gram)\ (DST_PROC(dm).d_open)(dm, file, mode, gram) #define DST_CLOSE(dm, file, gram) (DST_PROC(dm).d_close)(dm, file, gram) #define DST_SEARCH(cx, dm, k, n, cp, max, cf)\ (DST_PROC(dm).d_search)(cx, dm, k, n, cp, max, cf) #define DST_IO(dm, cp, io) (DST_PROC(dm).d_io)(dm, cp, io) #define DST_READ(dm, cp) DST_IO(dm, cp, 0) #define DST_WRITE(dm, cp) DST_IO(dm, cp, 1) #define DST_CTL(dm, qm, what, arg, gram)\ (DST_PROC(dm).d_ctl)(dm, qm, what, arg, gram) #define DST_SYNC(cx, dm, qm) (DST_PROC(dm).d_sync)(cx, dm, qm) /* ctl command */ #define DST_DoDefine 0 /* define words */ #define DST_DoDelete 1 /* delete words */ /* more commands (not implemented) */ #define DST_DoQuery 2 /* query on the dictionary info */ #define DST_DoPrint 9999 /* print debug information */ /* Internal Functions */ struct RkParam *RkGetSystem(); struct DD *RkGetSystemDD(); struct DD *RkGetUserDD(); struct RkContext *RkGetContext(); struct RkContext *RkGetXContext(); struct RkKxGram *RkReadGram pro((int, size_t)); struct RkKxGram *RkOpenGram(); struct RkKxGram *RkDuplicateGram(); void RkCloseGram(); int _RkInitializeCache(); void _RkFinalizeCache(); struct ncache *_RkFindCache(); struct ncache *_RkReadCache(); void _RkFreeCache(); void _RkKillCache(); void _RkPurgeCache(); void _RkDerefCache(); int _RkRenbun2(); void _RkLearnBun(); int RkScanWcand(); int RkUniqWcand(); int RkUnionWcand(); int RkSubtractWcand(); unsigned char *RkGetGramName(); int RkGetGramNum(); Wchar *RkUparseWrec(); Wchar *_RkUparseWrec(); Wrec *RkParseWrec(); Wrec *RkParseOWrec(); Wchar *RkUparseGramNum(); Wchar *RkParseGramNum(); /* Context */ char *allocStr(); void _RkEndBun(); void freeDF(); int _RkCandNumber(); int _RkWordLength(); int _RkCalcLog2 pro((int)); int _RkCalcUnlog2(); /* etc. */ #ifdef OPTIMIZE #define RkGetContext(cx_num)\ ((IsCxNum(cn) && IS_LIVECTX(&CX[cn])) ? \ (&CX[cx_num]) : ((struct RkContext *)0)) #define RkGetXContext(cx_num)\ ((IsCxNum(cn) && IS_LIVECTX(&CX[cn]) && \ ((IS_XFERCTX(cx)) || (IS_XAUTCTX(cx))) ? \ (&CX[cx_num]) : ((struct RkContext *)0)) #define RkGetNXContext(cx_num)\ ((IsCxNum(cn) && IS_LIVECTX(&CX[cn]) && \ !(IS_XFERCTX(cx)) && !(IS_XAUTCTX(cx))) ? \ (&CX[cx_num]) : ((struct RkContext *)0)) #endif /* lang dep part */ #define IS_WC_G1_HYPHEN(wc) ((wc) == 0xa1bc) #define IS_HYPHEN(wc) (IS_WC_G1_HYPHEN(wc) || ((wc) == '-')) /* space ¤â¸õÊä¤È¤·¤Æ»È¤¤¤¿¤¤¤¬º£¤Î½ê¤Ï space */ #define IS_DIC_PUNCT(euc) isspace(euc) int _RkRealizeDF(); struct DM *_RkSearchDDQ(); struct DM *_RkSearchDDP(); struct DM *_RkSearchUDDP(); struct DM *_RkSearchDDMEM(); int _RkIsinDDP(); struct DD **_RkCopyDDP(); struct DD **_RkCreateDDP(); void _RkFreeDDP(); struct DM *DMcreate(); int DMremove(); int DMrename(); int _RkMountMD(); void _RkUmountMD(); char *_RkCreatePath(); char *_RkCreateUniquePath(); char *_RkMakePath(); unsigned char *_RkCreateHeader pro((struct HD *, size_t *size)); int _RkReadHeader pro((int, struct HD *, off_t)); void _RkClearHeader pro((struct HD *)); void _RkRehashCache(); /* * limits */ /* * NOTE: The following number does not includes EOS at the end of string. * RK_PATH_BMAX maximum path name length * RK_LINK_BMAX maximum file name length * RK_MEMBER_BMAX maximum member name length * RK_NICK_BMAX maximum nickname length */ #ifdef PATH_MAX #define RK_PATH_BMAX PATH_MAX #else #define RK_PATH_BMAX 1024 #endif #ifdef NAME_MAX #define RK_LINK_BMAX NAME_MAX #else #ifdef MAXNAMLEN #define RK_LINK_BMAX MAXNAMLEN #else #define RK_LINK_BMAX 14 #endif #endif #define RK_MEMBER_BMAX 255 #define RK_NICK_BMAX 255 #define RK_LINE_BMAX 1024 #define RK_BUFFER_SIZE 1024 /* * RK_KEY_WMAX <= RK_LEN_WMAX */ #define RK_KEY_WMAX 0x7f #define RK_LEFT_KEY_WMAX 0x3f #define RK_LEN_WMAX 0x7f /* * RK_CAND_WMAX <= RK_LEN_WMAX */ /* ¸õÊä¿ô */ #define NW_MAXCAND 0x07 /* 7 */ #define EX_NW_MAXCAND 0xfff /* 4096 */ /* ¸õÊäĹ */ #define NW_MAXCANDLEN 0x7f #define RK_CAND_WMAX 0x7f #define RK_CAND_NMAX 0xfff /* 4095 */ /* wrec len */ #define NW_MAXWREC 0x3f /* 63 */ #define EX_NW_MAXWREC 0x1fff /* 8191 */ #define RK_RCNAME_BMAX 16 /* essential ?! */ #define RK_DIV_NMAX 2048 /* #define MAX_TEXT_LEN \ ((EX_NW_MAXCAND * \ ((NW_MAXCANDLEN + 2) * sizeof(unsigned short) + RK_RCNAME_BMAX)) + \ (RK_LEFT_KEY_WMAX * sizeof(unsigned short) \ + 2 * sizeof(unsigned short))) */ #define RK_WREC_BMAX EX_NW_MAXWREC #define RK_MAX_TEXT_LEN MAX_WREC_BMAX #define RK_CONC_NMAX 16 /* Àܳ¤¹¤ëÉÕ°¸ì¤Î¿ô(¸ú¤¤¤Æ¤ë¤Î¤«¤Ê¡©) */ #define RK_OLD_MAX_HDRSIZ 1024 #ifndef _RK_INTERN_FUNCTIONS_DEF_ #define _RK_INTERN_FUNCTIONS_DEF_ struct DM *_RkSearchDicWithFreq pro((struct DD **, char *, struct DM **)); #ifdef __STDC__ void _Rkpanic pro((const char *, ...)); #else void _Rkpanic(); #endif void RkAssertFail pro((const char *, int, const char *)); unsigned long _RkGetTick pro((int)); struct TW *RkCopyWrec pro((struct TW *)); struct TW *RkUnionWrec pro((struct TW *, struct TW *)); struct TW *RkSubtractWrec pro((struct TW *, struct TW *)); void _RkFreeQue pro((struct nstore *, int, int)); void freeTdn pro((struct RkContext *)); void _RkFreeBunq pro((struct nstore *)); int _RkRealizeDD pro((struct DD *)); int RkCvtWide pro((Wchar *, int, char *, int)); int RkCvtNarrow pro((char *, int, Wchar *, int)); #if defined(MMAP) int _RkDoInvalidateCache pro((long, unsigned long)); #endif int _RkGetLink pro((struct ND *, long, unsigned long, unsigned long *, unsigned long *)); long _RkUnpackBits pro((unsigned *, unsigned char *, long, int, int)); long _RkPackBits pro((unsigned char *, long, int, unsigned *, int)); int _RkSetBitNum pro((unsigned char *, unsigned long, int, int, int)); int FQsync pro((struct RkContext *, struct DM *, struct DM *, char *)); int RkwCvtSuuji pro((Wchar *, int, Wchar *, int, int)); int RkwCvtNone pro((Wchar *, int, Wchar *, int)); int _RkRowNumber pro((unsigned char *)); int RkTestGram pro((const struct RkKxGram *, int, int)); #ifdef LOGIC_HACK int RkCheckNegGram pro((const struct RkKxGram *, int, int, int)); #endif void RkFirstGram pro((struct RkGramIterator *, const struct RkKxGram *)); void RkEndGram pro((struct RkGramIterator *, const struct RkKxGram *)); int _RkRegisterNV pro((struct NV *, Wrec *, int, int)); int FQopen pro((struct DM *, struct DM *, char *, int)); void FQclose pro((struct RkContext *, struct DM *, struct DM *, char *)); int _RkSubstYomi pro((struct RkContext *, int, int, Wchar *, int)); long _RkCopyBits pro((unsigned char *, long, int, unsigned char *, long, int)); int _RkIsInDDP pro((struct DD **, struct DD *)); int _RkEql pro((Wchar *, unsigned char *, int)); int DMcheck pro((char *, char *)); int copyFile pro((struct DM *, struct DM *)); int DDchmod pro((struct DD *, int)); int DMchmod pro((struct DM *, int)); int uslen pro((Wchar *)); unsigned char *ustoeuc pro((Wchar *, int, unsigned char *, int)); int _RkSubstYomi pro((struct RkContext *, int, int, Wchar *, int)); int HowManyChars pro((Wchar *, int)); int HowManyBytes pro((Wchar *, int)); int _RkFlushYomi pro((struct RkContext *)); int parse_string pro((char *)); #endif /* _RK_INTERN_FUNCTIONS_DEF_ */ #endif /* _RKintern_h */ /* vim: set sw=2: */ /* don't add stuff after this line */ Canna37p3/lib/RK/RkIntro.jmn0100644000076500001200000001255307554213600015035 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkIntro.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .\" $Id: RkIntro.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .\".if t .pn 575 .TH DICLIBINTRO 3 "4 April 1991" .SH "̾Á°" DICLib intro \- ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¥¤¥ó¥È¥í .SH "ÀâÌÀ" .PP ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤Ï¡¤¤«¤Ê´Á»úÊÑ´¹¤Î¤¿¤á¤Î´ðËܵ¡Ç½¤òÄ󶡤¹¤ë¥é¥¤¥Ö ¥é¥ê¤Ç¤¹¡¥ .PP ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¤°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤¬É¬ÍפȤʤê¤Þ ¤¹¡¥ .IP "¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë" canna/RK.h .br ¤«¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê¤Ç»ÈÍѤµ¤ì¤ë¥Ç¡¼¥¿¤ä´Ø¿ôÀë¸À¤ò´Þ¤ó¤À¥¤¥ó¥¯¥ë¡¼¥É ¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ²¼¤µ¤¤¡¥ .IP "¥é¥¤¥Ö¥é¥ê" libcanna.a, libcanna.so .br ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡¥¥ê¥ó¥¯»þ¤Ë``\-lcanna''¤ò»ØÄꤷ ¤Æ²¼¤µ¤¤¡¥ .PP .SH "³µÍ×" .PP ¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤Îµ¡Ç½¤Ï°Ê²¼¤Î£³¤Ä¤ËʬÎव¤ì¤Þ¤¹¡¥ .IP "¡¦" 3 ¥³¡¼¥ÉÊÑ´¹µ¡Ç½ .RS .PP Á´³Ñ¡¦È¾³Ñ¡¤¤Ò¤é¤¬¤Ê¡¦¥«¥¿¥«¥Ê´Ö¤Îʸ»úÎ󥳡¼¥É¤òÊÑ´¹¤·¤Þ¤¹¡¥¥³¡¼¥ÉÊÑ´¹ Êý¼°¤Ï¥×¥í¥°¥é¥à¤Ç¸ÇÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡¥³°Éô¥Ç¡¼¥¿¤ä½é´ü²½½èÍý¤ÏÉÔÍפǤ¹¡¥ .RE .IP "¡¦" 3 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¡Ç½ .RS .PP ¥í¡¼¥Þ»ú¤ò¤«¤Ê¤ËÊÑ´¹¤·¤Þ¤¹¡¥¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¤Ï¡¤¥í¡¼¥Þ»ú¤È¤«¤Ê¤ÎÂбþ ¤òÄêµÁ¤·¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÍѤ¤¤Þ¤¹¡¥¤³¤Î¥Æ¡¼¥Ö¥ë¤ÎÆâÍÆ¤òÊѹ¹ ¤¹¤ì¤Ð¡¤¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ .RE .IP "¡¦" 3 ¤«¤Ê´Á»úÊÑ´¹µ¡Ç½ .RS ϢʸÀáÊÑ´¹¤Ë¤è¤ê¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡¥¤«¤Ê´Á»úÊÑ´¹¤Ç¤Ï¡¤ÆÉ¤ß¤Èñ¸ì¤Î Âбþ¤òÄêµÁ¤·¤¿¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤òÍѤ¤¤Þ¤¹¡¥¤³¤ÎÆâÍÆ¤òÊѹ¹¤¹¤ì¤Ð¡¤ÍÑÅÓ¤Ë ±þ¤¸¤¿¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ .RE .PP Ëܥ饤¥Ö¥é¥ê¤Ï¤«¤ÊÆüËܸìÆþÎϽèÍý¤Î¤¦¤Á¥Ç¡¼¥¿ÊÑ´¹½èÍý¤Î¤ß¤ò¹Ô¤¤¤Þ¤¹¡¥¤· ¤¿¤¬¤Ã¤Æ¡¤¥­¡¼¥Ü¡¼¥É¤òÍѤ¤¤ÆÆüËܸìÆþÎϤò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¥×¥í¥°¥é¥àÆâ¤Ç¥æ¡¼¥¶¤¬¥­¡¼¥Ü¡¼¥É¤Î¥Ï¥ó¥É¥ê¥ó¥°¥ë¡¼¥Á¥ó¤òµ­½Ò¤¹¤ëɬÍפ¬ ¤¢¤ê¤Þ¤¹¡¥ .IP "¡¦" 3 ¥³¡¼¥ÉÊÑ´¹µ¡Ç½ .RS .IP "RkCvtZen" 22 ASCIIʸ»ú¡¤¤ª¤è¤ÓȾ³Ñ¥«¥¿¥«¥Ê¤òÁ´³Ñʸ»ú¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .IP "RkCvtHan" 22 Á´³Ñ¤Îµ­¹æ¡¤±Ñ¿ô»ú¡¤¤Ò¤é¤¬¤Ê¡¤¥«¥¿¥«¥Ê¤òȾ³Ñʸ»ú¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .IP "RkCvtKana" 22 Á´³Ñ¤Ò¤é¤¬¤Ê¤òÁ´³Ñ¥«¥¿¥«¥Ê¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .IP "RkCvtHira" 22 Á´³Ñ¥«¥¿¥«¥Ê¤òÁ´³Ñ¤Ò¤é¤¬¤Ê¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .IP "RkCvtEuc" 22 ¥·¥Õ¥ÈJIS¥³¡¼¥É¤ò EUC ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .RE .IP "¡¦" 3 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¡Ç½ .RS .IP "RkOpenRoma" 22 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ËÍѤ¤¤ë¼­½ñ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡¥ .IP "RkCloseRoma" 22 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ËÍѤ¤¤ë¼­½ñ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡¥ .IP "RkMapRoma" 22 »ØÄꤵ¤ì¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¼­½ñ¤òÍѤ¤¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡¥ .IP "RkCvtRoma" 22 RkMapRoma¤ò·«¤êÊÖ¤·ÍѤ¤¡¤Ê¸»úÎó¤¹¤Ù¤Æ¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤¤¤Þ¤¹¡¥ .RE .IP "¡¦" 3 ¤«¤Ê´Á»úÊÑ´¹µ¡Ç½ .RS .IP "RkInitialize" 22 ¤«¤Ê´Á»úÊÑ´¹µ¡Ç½¤ò½é´ü²½¤·¤Þ¤¹¡¥ .IP "RkFinalize" 22 ¤«¤Ê´Á»úÊÑ´¹µ¡Ç½¤ò½ªÎ»¤µ¤»¤Þ¤¹¡¥ .IP "RkCreateContext" 22 ¿·¤·¤¤ÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡¥ .IP "RkDuplicateContext" 22 »ØÄꤵ¤ì¤¿¥³¥ó¥Æ¥¯¥¹¥È¤ÈƱ°ì¤ÎÊÑ´¹´Ä¶­¤ò»ý¤Ä¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤·¤Þ¤¹¡¥ .IP "RkCloseContext" 22 »ØÄꤵ¤ì¤¿ÊÑ´¹¥³¥ó¥Æ¥¯¥¹¥È¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡¥ .IP "RkGetDicList" 22 ¼­½ñ¥ê¥¹¥È¤ËÄɲäǤ­¤ë¼­½ñ̾¤òµá¤á¤Þ¤¹¡¥ .IP "RkMountDic" 22 ¼­½ñ¥ê¥¹¥È¤Ë¼­½ñ¤òÄɲä·¤Þ¤¹¡¥ .IP "RkGetMountList" 22 ¸½ºß¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¼­½ñ̾¤òµá¤á¤Þ¤¹ .IP "RkUnmountDic" 22 ¼­½ñ¥ê¥¹¥È¤«¤é»ØÄꤵ¤ì¤¿¼­½ñ¤ò¼è¤ê½ü¤­¤Þ¤¹¡¥ .IP "RkRemountDic" 22 ´û¤Ë¼­½ñ¥ê¥¹¥È¤Ë¤¢¤ë¼­½ñ¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤·¤Þ¤¹¡¥ .IP "RkBgnBun" 22 »ØÄꤷ¤¿Ä¹¤µ¤ÎÆÉ¤ß¤¬¤Ê¤ò´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡¥ .IP "RkEndBun" 22 ¤«¤Ê´Á»úÊÑ´¹¤ò½ªÎ»¤µ¤»¤Þ¤¹¡¥ .IP "RkGoTo" 22 »ØÄꤵ¤ì¤¿Ê¸ÀáÈÖ¹æ¤ò¥«¥ì¥ó¥ÈʸÀá¤Ë¤·¤Þ¤¹¡¥ .IP "RkLeft" 22 ¥«¥ì¥ó¥ÈʸÀá¤òº¸¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡¥ .IP "RkRight" 22 ¥«¥ì¥ó¥ÈʸÀá¤ò±¦¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡¥ .IP "RkXfer" 22 »ØÄꤵ¤ì¤¿¸õÊäÈÖ¹æ¤Î¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤·¤Þ¤¹¡¥ .IP "RkNext" 22 ¼¡¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤·¤Þ¤¹¡¥ .IP "RkPrev" 22 Á°¸õÊä¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤·¤Þ¤¹¡¥ .IP "RkNfer" 22 ÆÉ¤ß¤¬¤Ê¤½¤Î¤â¤Î¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤·¤Þ¤¹ .IP "RkResize" 22 ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤¬¤ÊŤòlen¥Ð¥¤¥È¤Ë¤·¤Þ¤¹¡¥ .IP "RkEnlarge" 22 ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤òŤ¯¤·¤Þ¤¹¡¥ .IP "RkShorten" 22 ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤òû¤¯¤·¤Þ¤¹¡¥ .IP "RkStoreYomi" 22 ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤ò»ØÄꤵ¤ì¤¿¤â¤Î¤ËÊѹ¹¤·¡¤¤½¤ì°Ê¹ß¤ÎʸÀá¤òºÆÊÑ´¹ ¤·¤Þ¤¹¡¥ .IP "RkGetYomi" 22 ¥«¥ì¥ó¥ÈʸÀá¤ËÂбþ¤¹¤ëÆÉ¤ß¤ò¼è¤ê½Ð¤·¤Þ¤¹¡¥ .IP "RkGetKanji" 22 ¥«¥ì¥ó¥ÈʸÀá¤Î¥«¥ì¥ó¥È¸õÊä¤ò¤ò¼è¤ê½Ð¤·¤Þ¤¹¡¥ .IP "RkGetKanjiList" 22 ¥«¥ì¥ó¥ÈʸÀá¤ÎÁ´´Á»ú¸õÊä¤ò¼è¤ê½Ð¤·¤Þ¤¹¡¥ .IP "RkGetStat" 22 ¥«¥ì¥ó¥È¸õÊä¤Ë´Ø¤¹¤ë²òÀϾðÊó¤òµá¤á¤Þ¤¹¡¥ .IP "RkGetLex" 22 ¥«¥ì¥ó¥È¸õÊä¤ò¹½À®¤¹¤ëñ¸ìËè¤Î·ÁÂÖÁǾðÊó¤òµá¤á¤Þ¤¹¡¥ .IP "RkDefineDic" 22 »ØÄꤵ¤ì¤¿Ã±¸ì¤ò¼­½ñ¤ËÅÐÏ¿¤·¤Þ¤¹¡¥ .IP "RkDeleteDic" 22 »ØÄꤵ¤ì¤¿Ã±¸ì¤ò¼­½ñ¤«¤éºï½ü¤·¤Þ¤¹¡¥ .RE .\".if t .pn 575 Canna37p3/lib/RK/RkIntro.man0100644000076500001200000001447707554213600015033 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkIntro.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "DICLIBINTRO" "3" .SH "NAME" \f4DICLib intro\f1 \- dictionary access library introduction .SH "DESCRIPTION" The dictionary access library provides basic functions for kana-kanji conversion. The following files are prerequisite to using the dictionary access library: .IP "Header file" \f4canna/RK.h\f1 .br An include file that contains data and function declarations for use by the kana-kanji conversion library. Include this file at compile time. .IP "Libraries" \f4libcanna.a, libcanna.so\f1 .br Kana-kanji conversion libraries. Specify "\f4-lcanna\f1" at link time. .SH "SUMMARY" The dictionary access library provides three major categories of functions: .IP "¡¦" 3 Code conversion functions .RS .P Convert character string codes between double-width and single-width characters and between hiragana and katakana. External data and initialization procedures are not required. .RE .IP "¡¦" 3 Romaji-kana conversion functions .RS .PP Convert Romaji to kana by using a Romaji-kana conversion table that defines the correspondence between Romaji and kana. The rules of Romaji-kana conversion can be altered by making modifications to this table. .RE .IP "¡¦" 3 Kana-kanji conversion functions .RS .P Convert kana to kanji through continuous clause conversion by using a kana-kanji conversion dictionary that defines the correspondence between readings and words. Kana-kanji conversion can be performed to meet specific applications by making modifications to this dictionary. .RE .P Among all the functions of Japanese input processing, this library performs only data conversion. To be able to enter Japanese text from a keyboard, therefore, it is necessary for users to write a keyboard handling routine within the application program. .IP "¡¦" 3 Code conversion functions .RS .IP "\f4Rk(w)CvtZen\f1" 22 Convert ASCII characters and single-width katakana to double-width characters. .IP "\f4RkCvtHan\f1" 22 Convert double-width symbols, alphanumeric characters, hiragana, and katakana to single-width characters. .IP "\f4RkCvtKana\f1" 22 Convert double-width hiragana to double-width katakana. .IP "\f4RkCvtHira\f1" 22 Convert double-width katakana to double-width hiragana. .IP "\f4RkCvtEuc\f1" 22 Convert shift JIS code to EUC code. .RE .IP "¡¦" 3 Romaji-kana conversion functions .RS .IP "\f4RkOpenRoma\f1" 22 Open the dictionary to use for Romaji-kana conversion. .IP "\f4RkCloseRoma\f1" 22 Close the dictionary used for Romaji-kana conversion. .IP "\f4RkMapRoma\f1" 22 Perform Romaji-kana conversion by using a specified Romaji-kana conversion dictionary. .IP "\f4RkCvtRoma\f1" 22 Convert an entire character string from Romaji to kana by iteratively using \f4RkMapRoma\f1. .RE .IP "¡¦" 3 Kana-kanji conversion functions .RS .IP "\f4RkInitialize\f1" 22 Initialize the kana-kanji conversion functions. .IP "\f4RkFinalize\f1" 22 Terminate the kana-kanji conversion functions. .IP "\f4RkCreateContext\f1" 22 Create a new conversion context. .IP "\f4RkDuplicateContext\f1" 22 Create a context having the same conversion environment as a specified context. .IP "\f4RkCloseContext\f1" 22 Close a specified conversion context. .IP "\f4RkGetDicList\f1" 22 Get the names of dictionaries that can be added to the dictionary list. .IP "\f4RkMountDic\f1" 22 Mount a dictionary in the dictionary list. .IP "\f4RkGetMountList\f1" 22 Get the names of the currently mounted dictionaries. (or characters for RkwResize) .IP "\f4RkUnmountDic\f1" 22 Unmount a specified dictionary from the dictionary list. .IP "\f4RkRemountDic\f1" 22 Alter the priority order of a dictionary already in the dictionary list. .IP "\f4RkBgnBun\f1" 22 Convert the reading of a specified length to kanji. .IP "\f4RkEndBun\f1" 22 Terminate kana-kanji conversion. .IP "\f4RkGoTo\f1" 22 Set the clause with a specified clause number as the current clause. .IP "\f4RkLeft\f1" 22 Move the current clause to the clause to its left. .IP "\f4RkRight\f1" 22 Move the current clause to its right. .IP "\f4RkXfer\f1" 22 Set the candidate with a specified candidate number as the current candidate. .IP "\f4RkNext\f1" 22 Set the next candidate as the current candidate. .IP "\f4RkPrev\f1" 22 Set the previous candidate as the current candidate. .IP "\f4RkNfer\f1" 22 Set a reading itself as the current candidate. .IP "\f4RkResize\f1" 22 Change the reading length of the current clause to \f4len\f1 bytes. .IP "\f4RkEnlarge\f1" 22 Enlarge the reading of the current clause. .IP "\f4RkShorten\f1" 22 Shorten the reading of the current clause. .IP "\f4RkStoreYomi\f1" 22 Change the reading of the current clause to a specified reading, reconverting the subsequent clauses. .IP "\f4RkGetYomi\f1" 22 Get the reading of the current clause. .IP "\f4RkGetKanji\f1" 22 Get the current candidate for the current clause. .IP "\f4RkGetKanjiList" 22 Get all kanji candidates for the current clause. .IP "\f4RkGetStat\f1" 22 Get analysis information about the current candidate. .IP "\f4RkGetLex\f1" 22 Get morphemic information on each word that makes up the current candidate. .IP "\f4RkDefineDic\f1" 22 Define a specified candidate in a dictionary. .IP "\f4RkDeleteDic\f1" 22 Delete a specified candidate from a dictionary. .RE Canna37p3/lib/RK/RkLeft.jmn0100644000076500001200000000331107554213600014624 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkLeft.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKLEFT 3 "4 April 1991" .SH "̾Á°" RkLeft \- ¥«¥ì¥ó¥ÈʸÀá¤òº¸¤ÎʸÀá¤Ë°Üư¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkLeft(cxnum) .B int cxnum; .fi .SH "ÀâÌÀ" .I RkLeft ¤Ï¡¤¥«¥ì¥ó¥ÈʸÀá¤òº¸¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡¥ ¥«¥ì¥ó¥ÈʸÀ᤬ 0 ¤Î¾ì¹ç¤Ë¤Ï¡¤ºÇ½ªÊ¸Àá¤Ø°Üư¤·¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤¹¤ë¤È¥³¥ó¥Æ¥¯¥¹¥È¤Î¥«¥ì¥ó¥ÈʸÀá¤ò°Üư¤·¡¤Êѹ¹¸å¤Î¥«¥ì¥ó¥ÈʸÀáÈÖ¹æ ¤òÊÖ¤·¤Þ¤¹¡¥ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï ²¿¤â¤»¤º¤Ë 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkLeft.man0100644000076500001200000000344207554213600014620 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkLeft.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKLEFT" "3" .SH "NAME" \f4RkLeft\f1 \- move the current clause to the clause to its left .SH "SYNOPSIS" .nf .ft 4 #include int RkLeft(cxnum) int cxnum; .ft 1 .fi .SH "DESCRIPTION" \f2RkLeft\f1 moves the current clause to the clause to its left, or to the last clause if the current clause is 0. .SH "RETURN VALUE" If successful, this function moves the current clause in the context and returns the current clause number after the move. It returns \f40\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkMountD.jmn0100644000076500001200000000366607554213600015155 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkMountD.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKMOUNTDIC 3 "4 April 1991" .SH "̾Á°" RkMountDic \- ¼­½ñ¥ê¥¹¥È¤Ø¤Î¼­½ñ¤ÎÄɲà .SH "·Á¼°" .nf .B #include .B int RkMountDic(cxnum, dicname, mode) .B int cxnum; .B char *dicname; .B int mode; .fi .SH "ÀâÌÀ" .I RMountDic ¤Ï¼­½ñ¥ê¥¹¥È¤Ë¼­½ñ¤òÄɲä·¤Þ¤¹¡¥ ¼­½ñ̾¤Ë¤Ï .IR RkGetDicList(3) ¤ÇÆÀ¤é¤ì¤¿¤â¤Î¤òÍѤ¤¤Þ¤¹¡¥ .I RkMountDic ¤Ï¡¤¼­½ñ¥ê¥¹¥È¤ÎºÇ¸å¤Ë»ØÄꤵ¤ì¤¿¼­½ñ¤òÄɲä·¤Þ¤¹¡¥ Äɲ䵤줿¼­½ñ¤Ï¡¤¼¡²ó¤Î¤«¤Ê´Á»úÊÑ´¹¤è¤ê»ÈÍѤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥ .I mode ¤Ï¸½ºß¤Î¤È¤³¤í°ÕÌ£¤ò»ý¤Á¤Þ¤»¤ó¡¥ .PP ¼­½ñ¤Ï¤³¤Î¥³¥ó¥Æ¥¯¥¹¥È¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" ¥Þ¥¦¥ó¥È¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¡¤¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï -1 ¤òÊÖ¤·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkUnmountDic(3) .\".if t .pn 575 Canna37p3/lib/RK/RkMountD.man0100644000076500001200000000402407554213600015131 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkMountD.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKMOUNTDIC" "3" .SH "NAME" \f4RkMountDic\f1 \- mount a dictionary in the dictionary list .SH "SYNOPSIS" .nf .ft 4 #include int RkMountDic(cxnum, dicname, mode) int cxnum; char *dicname; int mode; .ft 1 .fi .SH "DESCRIPTION" \f2RkMountDic\f1 mounts a dictionary in the dictionary list. The dictionary name is got with \f2RkGetDicList(3)\f1. \f2RkMountDic\f1 appends the named dictionary to the dictionary list. The dictionary thus mounted can be used from the next run of kana-kanji conversion. \f2mode\f1 is meaningless at this moment. .P The dictionary to be mounted must not have already been mounted in the present context. .SH "RETURN VALUE" This function returns \f40\f1 if successful; otherwise, it returns \f4-1\f1. .SH "SEE ALSO" .na \f4RkUnmountDic\f1(3) .ad Canna37p3/lib/RK/RkNext.jmn0100644000076500001200000000330207554213600014650 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkNext.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKNEXT 3 "4 April 1991" .SH "̾Á°" RkNext \- ¥«¥ì¥ó¥È¸õÊä¤ò¼¡¸õÊä¤Ë¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkNext(cxnum) .B int cxnum; .fi .SH "ÀâÌÀ" .I RkNext ¤Ï¡¤¥«¥ì¥ó¥È¸õÊä¤ò¼¡¸õÊä¤Ë¤·¤Þ¤¹¡¥ ¥«¥ì¥ó¥È¸õÊ䤬ºÇ½ª¸õÊä¤Î¾ì¹ç¡¤ÀèÆ¬¸õÊ䤨Ìá¤ê¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤·¤¿¤é¥³¥ó¥Æ¥¯¥¹¥È¤Î¥«¥ì¥ó¥È¸õÊä¤ò°Üư¤·¡¤Êѹ¹¸å¤Î¥«¥ì¥ó¥È¸õÊäÈÖ¹æ ¤òÊÖ¤·¤Þ¤¹¡¥¤Þ¤¿¡¤ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï ²¿¤â¤»¤º¤Ë 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkNext.man0100644000076500001200000000350207554213600014641 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkNext.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKNEXT" "3" .SH "NAME" \f4RkNext\f1 \- set the next candidate as the current candidate .SH "SYNOPSIS" .nf .ft 4 #include int RkNext(cxnum) int cxnum; .ft 1 .fi .SH "DESCRIPTION" \f2RkNext\f1 sets the next candidate as the current candidate or, if the current candidate is the last candidate, moves to the first candidate. .SH "RETURN VALUE" If successful, this function moves the current candidate in the context and returns the current candidate number after the move. It returns \f40\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkNfer.jmn0100644000076500001200000000324307554213600014630 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkNfer.jmn,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH RKNFER 3 "4 April 1991" .SH "̾Á°" RkNfer \- ÆÉ¤ß¤¬¤Ê¤½¤Î¤â¤Î¤ò¥«¥ì¥ó¥È¸õÊä¤È¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkNfer(cxnum) .B int cxnum; .fi .SH "ÀâÌÀ" .I RkNfer ¤Ï¡¤ÆÉ¤ß¤¬¤Ê¤½¤Î¤â¤Î¤ò¥«¥ì¥ó¥È¸õÊä¤È¤·¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤·¤¿¤é¥³¥ó¥Æ¥¯¥¹¥È¤Î¥«¥ì¥ó¥È¸õÊä¤ò°Üư¤·¡¤Êѹ¹¸å¤Î¥«¥ì¥ó¥È¸õÊäÈÖ¹æ ¤òÊÖ¤·¤Þ¤¹¡¥¤Þ¤¿¡¤ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï ²¿¤â¤»¤º¤Ë 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkNfer.man0100644000076500001200000000335607554213600014624 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkNfer.man,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ NEC; .TH "RKNFER" "3" .SH "NAME" \f4RkNfer\f1 \- set a reading itself as the current candidate .SH "SYNOPSIS" .nf .ft 4 #include int RkNfer(cxnum) int cxnum; .ft 1 .fi .SH "DESCRIPTION" \f2RkNfer\f1 sets a reading itself as the current candidate. .SH "RETURN VALUE" If successful, this function moves the current candidate in the context and returns the current candidate number after the move. It returns \f40\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkPrev.jmn0100644000076500001200000000330207554213601014647 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkPrev.jmn,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH RKPREV 3 "4 April 1991" .SH "̾Á°" RkPrev \- ¥«¥ì¥ó¥È¸õÊä¤òÁ°¸õÊä¤Ë¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkPrev(cxnum) .B int cxnum; .fi .SH "ÀâÌÀ" .I RkPrev ¤Ï¡¤¥«¥ì¥ó¥È¸õÊä¤òÁ°¸õÊä¤Ë¤·¤Þ¤¹¡¥ ¥«¥ì¥ó¥È¸õÊ䤬ÀèÆ¬¸õÊä¤Î¾ì¹ç¡¤ºÇ½ª¸õÊ䤨°Ü¤ê¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤·¤¿¤é¥³¥ó¥Æ¥¯¥¹¥È¤Î¥«¥ì¥ó¥È¸õÊä¤ò°Üư¤·¡¤Êѹ¹¸å¤Î¥«¥ì¥ó¥È¸õÊäÈÖ¹æ ¤òÊÖ¤·¤Þ¤¹¡¥¤Þ¤¿¡¤ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï ²¿¤â¤»¤º¤Ë 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkPrev.man0100644000076500001200000000351307554213601014642 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkPrev.man,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH "RKPREV" "3" .SH "NAME" \f4RkPrev\f1 \- set the previous candidate as the current candidate .SH "SYNOPSIS" .nf .ft 4 #include int RkPrev(cxnum) int cxnum; .ft 1 .fi .SH "DESCRIPTION" \f2RkPrev\f1 sets the previous candidate as the current candidate or, if the current candidate is the first candidate, moves to the last candidate. .SH "RETURN VALUE" If successful, this function moves the current candidate in the context and returns the current candidate number after the move. It returns \f40\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkRemoun.jmn0100644000076500001200000000343707554213601015211 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkRemoun.jmn,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH RKREMOUNTDIC 3 "4 April 1991" .SH "̾Á°" RkRemountDic \- ´û¤Ë¼­½ñ¥ê¥¹¥È¤Ë¤¢¤ë¼­½ñ¤ÎÍ¥ÀèÅÙ¤ÎÊѹ¹ .SH "·Á¼°" .nf .B #include .B int RkRemountDic(cxnum, dicname, pos) .B int cxnum; .B char *dicname; .B int pos; .fi .SH "ÀâÌÀ" .I RkRemountDic ¤Ï¡¤´û¤Ë¼­½ñ¥ê¥¹¥È¤Ë¤¢¤ë¼­½ñ¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤·¤Þ¤¹¡¥ .I pos ¤¬ 0 ¤Î¾ì¹ç¤Ë¤Ï¡¤¼­½ñ¥ê¥¹¥È¤ÎºÇ¸å¤Ë¡¤¤½¤ì°Ê³°¤Ç¤ÏÀèÆ¬¤Ë°Üư¤·¤Þ¤¹¡¥ ¼­½ñ¤Ï¤¹¤Ç¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤¿¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¡¤¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï -1 ¤òÊÖ¤·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkMountDic(3) .\".if t .pn 575 Canna37p3/lib/RK/RkRemoun.man0100644000076500001200000000361607554213601015177 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkRemoun.man,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH "RKREMOUNTDIC" "3" .SH "NAME" \f4RkRemountDic\f1 \- modify the priority order of a dictionary already in the dictionary list .SH "SYNOPSIS" .nf .ft 4 #include int RkRemountDic(cxnum, dicname, pos) int cxnum; char *dicname; int pos; .ft 1 .fi .SH "DESCRIPTION" \f2RkRemountDic\f1 modifies the priority order of A dictionary already in the dictionary list. It moves a dictionary already mounted in the dictionary list to the end of the list if \f2pos\f1 is 0, otherwise, to the beginning of the list. .SH "RETURN VALUE" This function returns \f40\f1 if successful; otherwise, it returns \f4-1\f1. .SH "SEE ALSO" .na \f4RkMountDic\f1(3) .ad Canna37p3/lib/RK/RKrename.h0100644000076500001200000000522307554213600014610 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: RKrename.h,v 1.1.1.1 2002/10/19 08:27:44 aida_s Exp $ */ #define RkGetProtocolVersion wRkGetProtocolVersion #define RkGetServerName wRkGetServerName #define RkGetServerVersion wRkGetServerVersion #define RkwInitialize wRkwInitialize #define RkwFinalize wRkwFinalize #define RkwCreateContext wRkwCreateContext #define RkwDuplicateContext wRkwDuplicateContext #define RkwCloseContext wRkwCloseContext #define RkwSetDicPath wRkwSetDicPath #define RkwCreateDic wRkwCreateDic #define RkwGetDicList wRkwGetDicList #define RkwGetMountList wRkwGetMountList #define RkwMountDic wRkwMountDic #define RkwRemountDic wRkwRemountDic #define RkwUnmountDic wRkwUnmountDic #define RkwDefineDic wRkwDefineDic #define RkwDeleteDic wRkwDeleteDic #define RkwGetHinshi wRkwGetHinshi #define RkwGetKanji wRkwGetKanji #define RkwGetYomi wRkwGetYomi #define RkwGetLex wRkwGetLex #define RkwGetStat wRkwGetStat #define RkwGetKanjiList wRkwGetKanjiList #define RkwFlushYomi wRkwFlushYomi #define RkwGetLastYomi wRkwGetLastYomi #define RkwRemoveBun wRkwRemoveBun #define RkwSubstYomi wRkwSubstYomi #define RkwBgnBun wRkwBgnBun #define RkwEndBun wRkwEndBun #define RkwGoTo wRkwGoTo #define RkwLeft wRkwLeft #define RkwRight wRkwRight #define RkwNext wRkwNext #define RkwPrev wRkwPrev #define RkwNfer wRkwNfer #define RkwXfer wRkwXfer #define RkwResize wRkwResize #define RkwEnlarge wRkwEnlarge #define RkwShorten wRkwShorten #define RkwStoreYomi wRkwStoreYomi #define RkwSetAppName wRkwSetAppName Canna37p3/lib/RK/RkResize.jmn0100644000076500001200000000347707554213601015211 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkResize.jmn,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH RKRESIZE 3 "4 April 1991" .SH "̾Á°" RkResize \- ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤¬¤ÊŤò len ¥Ð¥¤¥È¤Ë¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkResize(cxnum, len) .B int cxnum; .B int len; .fi .SH "ÀâÌÀ" .I RkResize ¤Ï¡¤¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤¬¤ÊŤò .I len ¥Ð¥¤¥È¤ËÊѹ¹¤·¡¤¥«¥ì¥ó¥ÈʸÀá¤è¤ê±¦¤ÎʸÀá¤òºÆÊÑ´¹¤·¤Þ¤¹¡¥¤³¤Î .I len ¤Ï¡¤EUC ¥³¡¼¥É¤Îʸ»ú¶­³¦¤Ë½¾¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ ºÆÊÑ´¹¤µ¤ì¤ëʸÀá¤ÏÆÉ¤ß¤¬¤ÊĹ¤Ë±Æ¶Á¤¬¤¢¤Ã¤¿¤â¤Î¤Ç¡¤²òÀÏ·ë²Ì¤ÏÇ˲õ¤µ¤ì¤Þ¤¹¤¬¡¤ ¤½¤ì°Ê³°¤ÎʸÀá¤Ï²òÀÏ·ë²Ì¤ÏÊѲ½¤·¤Þ¤»¤ó¡¥ ¥«¥ì¥ó¥ÈʸÀá¤ÏÊѲ½¤·¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" Êѹ¹¸å¤ÎʸÀá¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkResize.man0100644000076500001200000000372707554213601015176 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkResize.man,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH "RKRESIZE" "3" .SH "NAME" \f4RkResize\f1 \- change the reading length of the current clause to len bytes .SH "SYNOPSIS" .nf .ft 4 #include int RkResize(cxnum, len) int cxnum; int len; .ft 1 .fi .SH "DESCRIPTION" \f2RkResize\f1 changes the reading length of the current clause to \f2len\f1 bytes and reconverts the right part of the current clause. The value of \f2len\f1 must be adjusted to character boundaries in the EUC code. The analysis result of the reconverted clause is destroyed because of the reading length change, but the analysis result of any other clause does not change. The current clause does not change either. .SH "RETURN VALUE" This function returns the number of clauses after the change. Canna37p3/lib/RK/RkRight.jmn0100644000076500001200000000332107554213601015011 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkRight.jmn,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH RKRIGHT 3 "4 April 1991" .SH "̾Á°" RkRight \- ¥«¥ì¥ó¥ÈʸÀá¤ò±¦¤ÎʸÀá¤Ë°Üư¤¹¤ë .SH "·Á¼°" .nf .B #include .B int RkRight(cxnum) .B int cxnum; .fi .SH "ÀâÌÀ" .I RkRight ¤Ï¡¤¥«¥ì¥ó¥ÈʸÀá¤ò±¦¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡¥ ¥«¥ì¥ó¥ÈʸÀ᤬ºÇ½ªÊ¸Àá¤Î¾ì¹ç¤Ë¤Ï¡¤ÀèÆ¬Ê¸Àá¤ØÌá¤ê¤Þ¤¹¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤¹¤ë¤È¥³¥ó¥Æ¥¯¥¹¥È¤Î¥«¥ì¥ó¥ÈʸÀá¤ò°Üư¤·¡¤Êѹ¹¸å¤Î¥«¥ì¥ó¥ÈʸÀáÈÖ¹æ ¤òÊÖ¤·¤Þ¤¹¡¥ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï ²¿¤â¤»¤º¤Ë 0 ¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkRight.man0100644000076500001200000000347307554213601015010 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkRight.man,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH "RKRIGHT" "3" .SH "NAME" \f4RkRight\f1 \- move the current clause to the clause to its right .SH "SYNOPSIS" .nf .ft 4 #include int RkRight(cxnum) int cxnum; .ft 1 .fi .SH "DESCRIPTION" \f2RkRight\f1 moves the current clause to the clause to its right, or to the first clause if the current clause is the last statement. .SH "RETURN VALUE" If successful, this function moves the current clause in the context and returns the current clause number after the move. It returns \f40\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/RkShorte.jmn0100644000076500001200000000310007554213601015173 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkShorte.jmn,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH RKSHORTEN 3 "4 April 1991" .SH "̾Á°" RkShorten \- ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤Îû½Ì .SH "·Á¼°" .nf .B #include .B int RkShorten(cxnum) .B int cxnum; .fi .SH "ÀâÌÀ" .I RkShorten ¤Ï¡¤¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤òû¤¯¤·¤Þ¤¹¡¥ ÆÉ¤ß¤ÎŤµ¤¬ 0 ¤Ë¤Ê¤ë¾ì¹ç¤Ë¤Ï²¿¤â¤·¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" Êѹ¹¸å¤ÎʸÀá¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkShorte.man0100644000076500001200000000321207554213601015166 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkShorte.man,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH "RKSHORTEN" "3" .SH "NAME" \f4RkShorten\f1 \- shorten the reading of the current clause .SH "SYNOPSIS" .nf .ft 4 #include int RkShorten(cxnum) int cxnum; .ft 1 .fi .SH "DESCRIPTION" \f2RkShorten\f1 shortens the reading of the current clause. It does nothing when the reading length is reduced to 0. .SH "RETURN VALUE" This function returns the number of clauses after the change. Canna37p3/lib/RK/RkStoreY.jmn0100644000076500001200000000342707554213601015170 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkStoreY.jmn,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH RKSTOREYOMI 3 "4 April 1991" .SH "̾Á°" RkStoreYomi \- ¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤ÎÊѹ¹¤È¤½¤ì°Ê¹ß¤ÎʸÀá¤ÎºÆÊÑ´¹ .SH "·Á¼°" .nf .B #include .B int RkStoreYomi(cxnum, yomi, maxyomi) .B int cxnum; .B unsigned char *yomi; .B int maxyomi; .fi .SH "ÀâÌÀ" .I RkStoreYomi ¤Ï¡¤¥«¥ì¥ó¥ÈʸÀá¤ÎÆÉ¤ß¤¬¤Ê¤ò»ØÄꤵ¤ì¤¿¤â¤Î¤ËÊѹ¹¤·¡¤ ¤½¤ì°Ê¹ß¤ÎʸÀá¤òºÆÊÑ´¹¤·¤Þ¤¹¡¥Ä¹¤µ .I maxyomi ¥Ð¥¤¥È¤ÎÆÉ¤ß¤¬¤Ê .I yomi ¤ÏÃÖ´¹¤µ¤ì¤ëÆÉ¤ß¤¬¤Ê¤Ç¡¤ ¤³¤ÎŤµ¤Ï¡¤ EUC ¥³¡¼¥É¤Îʸ»ú¶­³¦¤Ë½¾¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" Êѹ¹¸å¤ÎʸÀá¿ô¤òÊÖ¤·¤Þ¤¹¡¥ .\".if t .pn 575 Canna37p3/lib/RK/RkStoreY.man0100644000076500001200000000361107554213601015152 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkStoreY.man,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH "RKSTOREYOMI" "3" .SH "NAME" \f4RkStoreYomi\f1 \- change the reading of the current clause, reconverting the subsequent clauses .SH "SYNOPSIS" .nf .ft 4 #include int RkStoreYomi(cxnum, yomi, maxyomi) int cxnum; unsigned char *yomi; int maxyomi; .ft 1 .fi .SH "DESCRIPTION" \f2RkStoreYomi\f1 changes the reading of the current clause to a specified reading, reconverting the subsequent clauses. It changes the reading \f2yomi\f1 with a length of \f2maxyomi\f1 bytes. The value of \f2maxyomi\f1 must be adjusted to character boundaries in the EUC code. .SH "RETURN VALUE" This function returns the number of clauses after the change. Canna37p3/lib/RK/RkUnmoun.jmn0100644000076500001200000000337707554213601015230 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkUnmoun.jmn,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH RKUNMOUNTDIC 3 "4 April 1991" .SH "̾Á°" RkUnmountDic \- ¼­½ñ¥ê¥¹¥È¤«¤é¤Î¼­½ñ¤Îºï½ü .SH "·Á¼°" .nf .B #include .B int RkUnmountDic(cxnum, dicname) .B int cxnum; .B char *dicname; .fi .SH "ÀâÌÀ" .I RkUnmountDic ¤Ï¡¤¼­½ñ¥ê¥¹¥È¤«¤é .I dicname ¤Ë»ØÄꤵ¤ì¤¿¼­½ñ¤ò¼è¤ê½ü¤­¤Þ¤¹¡¥ ºï½ü¤µ¤ì¤¿¼­½ñ¤Ï¡¤¼¡²ó¤Î¤«¤Ê´Á»úÊÑ´¹¤«¤é¸¡º÷¤µ¤ì¤Þ¤»¤ó¡¥ .PP ¼­½ñ¤Ï¤¹¤Ç¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤¿¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¡¤¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï -1 ¤òÊÖ¤·¤Þ¤¹¡¥ .SH "´ØÏ¢¾ðÊó" RkMountDic(3) .\".if t .pn 575 Canna37p3/lib/RK/RkUnmoun.man0100644000076500001200000000360107554213601015205 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkUnmoun.man,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH "RKUNMOUNTDIC" "3" .SH "NAME" \f4RkUnmountDic\f1 \- unmount a dictionary from the dictionary list .SH "SYNOPSIS" .nf .ft 4 #include int RkUnmountDic(cxnum, dicname) int cxnum; char *dicname; .ft 1 .fi .SH "DESCRIPTION" \f2RkUnmountDic\f1 unmounts the dictionary named by \f2dicname\f1 from the dictionary list. The dictionary thus unmounted is removed from the next run of kana-kanji conversion. .P The dictionary to be unmounted must have already been mounted in the present context. .SH "RETURN VALUE" This function returns \f40\f1 if successful; otherwise it returns \f4-1\f1. .SH "SEE ALSO" .na \f4RkMountDic\f1(3) .ad Canna37p3/lib/RK/RkXfer.jmn0100644000076500001200000000345307554213601014646 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkXfer.jmn,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH RKXFER 3 "4 April 1991" .SH "̾Á°" RkXfer \- ¥«¥ì¥ó¥È¸õÊä¤ÎÊѹ¹ .SH "·Á¼°" .nf .B #include .B int RkXfer(cxnum, knum) .B int cxnum; .B int knum; .fi .SH "ÀâÌÀ" .I RkXfer ¤Ï¡¤»ØÄꤵ¤ì¤¿¸õÊäÈÖ¹æ .I knum ¤ò¥«¥ì¥ó¥È¸õÊä¤Ë¤·¤Þ¤¹¡¥ ¸õÊäÈÖ¹æ¤Ï¡¤ 0 ¤«¤é¥«¥ì¥ó¥ÈʸÀá¤ÎºÇÂç¸õÊäÈÖ¹æÌ¤Ëþ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ Èϰϳ°¤Î¸õÊäÈֹ椬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¤¥«¥ì¥ó¥È¸õÊä¤ÏÊѲ½¤µ¤ì¤Þ¤»¤ó¡¥ .SH "Ìá¤êÃÍ" À®¸ù¤·¤¿¤é¥³¥ó¥Æ¥¯¥¹¥È¤Î¥«¥ì¥ó¥È¸õÊä¤ò°Üư¤·¡¤Êѹ¹¸å¤Î¥«¥ì¥ó¥È¸õÊäÈÖ¹æ ¤òÊÖ¤·¤Þ¤¹¡¥¤Þ¤¿¡¤ÊÑ´¹¥â¡¼¥É¤Ç¤Ê¤¤¥³¥ó¥Æ¥¯¥¹¥È¤Ç¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï ²¿¤â¤»¤º¤Ë 0 ¤òÊÖ¤·¤Þ¤¹¡¥ Canna37p3/lib/RK/RkXfer.man0100644000076500001200000000373207554213601014635 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: RkXfer.man,v 1.1.1.1 2002/10/19 08:27:45 aida_s Exp $ NEC; .TH "RKXFER" "3" .SH "NAME" \f4RkXfer\f1 \- change the current candidate .SH "SYNOPSIS" .nf .ft 4 #include int RkXfer(cxnum, knum) int cxnum; int knum; .ft 1 .fi .SH "DESCRIPTION" \f2RkXfer\f1 sets the candidate with a specified candidate number \f2knum\f1 as the current candidate. The candidate number must be 0 or greater but less than the highest candidate number in the current clause. The current clause does not change when a candidate number outside this range is specified. .SH "RETURN VALUE" If successful, this function moves the current candidate in the context and returns the candidate number after the move. It returns \f40\f1, without doing anything, if it has been run in a nonconversion mode context. Canna37p3/lib/RK/tempdic.c0100644000076500001200000004454307732020154014532 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="$Id: tempdic.c,v 1.4 2003/09/17 08:50:52 aida_s Exp $"; #endif /*LINTLIBRARY*/ #include "RKintern.h" #include #ifdef __CYGWIN32__ #include /* for O_BINARY */ #endif #ifdef sony_news #include #endif #if defined(__STDC__) || defined(SVR4) #include #define TIME_T time_t #else #define TIME_T long #endif #define dm_td dm_extdata.ptr static void freeTD(td) struct TD *td; { int i; for (i = 0; i < (int)td->td_n; i++) { struct TN *tn = &td->td_node[i]; if (IsWordNode(tn)) { (void)free((char *)tn->tn_word->word); (void)free((char *)tn->tn_word); } else freeTD(tn->tn_tree); } if (td) { if (td->td_node) (void)free((char *)td->td_node); (void)free((char *)td); } } /* newTD: allocates a fresh node */ static TD * newTD() { struct TD *td; td = (struct TD *)malloc(sizeof(struct TD)); if (td) { td->td_n = 0; td->td_max = 1; if (!(td->td_node = (struct TN *)calloc(td->td_max, sizeof(struct TN)))) { freeTD(td); return((struct TD *)0); } } return(td); } /* * INSERT */ static TN * extendTD(tdic, key, tw) struct TD *tdic; Wchar key; struct TW *tw; { int i, j; struct TN *tp; struct TW *ntw; if (!(ntw = RkCopyWrec(tw))) return (struct TN *)0; tp = tdic->td_node; if (tdic->td_n >= tdic->td_max) { if (!(tp = (struct TN *)calloc(tdic->td_max + 1, sizeof(struct TN)))) { (void)free((char *)ntw->word); (void)free((char *)ntw); return (struct TN *)0; } for (i = 0; i < (int)tdic->td_n; i++) tp[i] = tdic->td_node[i]; (void)free((char *)tdic->td_node); tdic->td_max++; tdic->td_node = tp; } for (i = 0; i < (int)tdic->td_n; i++) if (key < tp[i].tn_key) break; for (j = tdic->td_n; j > i; j--) tp[j] = tp[j - 1]; tp[i].tn_flags = TN_WORD|TN_WDEF; tp[i].tn_key = key; tp[i].tn_word = ntw; tdic->td_n++; return(tp + i); } static yomi_equal(x, y, n) Wrec *x, *y; int n; { int l; if ((l = (*y >> 1) & 0x3f) == ((*x >> 1) & 0x3f)) { if (*y & 0x80) y += 2; if (*x & 0x80) x += 2; x += (n << 1) + 2; y += (n << 1) + 2; for (; n < l ; n++) { if (*x++ != *y++ || *x++ != *y++) return(0); } return(1); } return(0); } static Wchar nthKey(w, n) Wrec *w; int n; { if (n < (int)((*w >> 1) & 0x3f)) { if (*w & 0x80) w += 2; w += (n << 1) + 2; return((Wchar)((w[0] << 8) | w[1])); } else return((Wchar)0); } /* * defineTD -- ¥Æ¥­¥¹¥È¼­½ñ¤ËÄêµÁ¤¹¤ë * * °ú¿ô * dm ¼­½ñ * tab ¥Æ¥­¥¹¥È¼­½ñ¥Ý¥¤¥ó¥¿ * n ²¿Ê¸»úÌܤ«(ñ°Ì:ʸ»ú) * newW ÅÐÏ¿¤¹¤ë¥ï¡¼¥É¥ì¥³¡¼¥É * nlen ÉÔÌÀ */ static TN * defineTD(dm, tab, n, newTW, nlen) struct DM *dm; struct TD *tab; int n; struct TW *newTW; int nlen; { int i; Wchar key; struct TN *tn; struct ncache *cache; struct TW *mergeTW, *oldTW; Wrec *oldW, *newW = newTW->word; key = nthKey(newW, n); n++; tn = tab->td_node; for (i = 0; i < (int)tab->td_n && tn->tn_key <= key; i++, tn++) { if (key == tn->tn_key) { if (IsWordNode(tn)) { struct TD *td; oldTW = tn->tn_word; oldW = oldTW->word; if (!key|| yomi_equal(newW, oldW, n)) { if ((cache = _RkFindCache(dm, (long)oldTW)) && cache->nc_count > 0) return((struct TN *)0); if (!(mergeTW = RkUnionWrec(newTW, oldTW))) return((struct TN *)0); tn->tn_word = mergeTW; (void)free((char *)oldW); (void)free((char *)oldTW); tn->tn_flags |= TN_WDEF; if (cache) { _RkRehashCache(cache, (long)tn->tn_word); cache->nc_word = mergeTW->word; } return tn; } if (!(td = newTD())) return((struct TN *)0); td->td_n = 1; key = nthKey(oldW, n); td->td_node[0].tn_key = key; td->td_node[0].tn_flags |= TN_WORD; td->td_node[0].tn_word = oldTW; tn->tn_flags &= ~TN_WORD; tn->tn_tree = td; } return defineTD(dm, tn->tn_tree, n, newTW, nlen); } } return extendTD(tab, key, newTW); } static enterTD(dm, td, gram, word) struct DM *dm; struct TD *td; struct RkKxGram *gram; Wchar *word; { struct TW tw; int ret = -1; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wrec wrec[RK_LINE_BMAX*10]; #else Wrec *wrec = (Wrec *)malloc(sizeof(Wrec) * RK_LINE_BMAX * 10); if (!wrec) { return ret; } #endif if (word[0] == (Wchar)'#') { ret = 1; } else if (RkParseOWrec(gram, word, wrec, RK_LINE_BMAX * 10, tw.lucks)) { struct TN *tn; tw.word = wrec; tn = defineTD(dm, td, 0, &tw, RK_LINE_BMAX * 10); if (tn) { tn->tn_flags &= ~(TN_WDEF|TN_WDEL); ret = 0; } else { ret = -1; } } else { ret = 1; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)wrec); #endif return ret; } /* * DELETE */ static void shrinkTD(td, key) struct TD *td; Wchar key; { int i; struct TN *tn = td->td_node; for (i = 0; i < (int)td->td_n; i++) { if (key == tn[i].tn_key) { while (++i < (int)td->td_n) tn[i - 1] = tn[i]; td->td_n--; break; } } } /* * deleteTD -- ¥Æ¥­¥¹¥È¼­½ñ¤«¤éñ¸ìÄêµÁ¤ò¼è¤ê½ü¤¯ * * °ú¿ô * dm ¼­½ñ * tab ¥Æ¥­¥¹¥È¼­½ñ * n ²¿Ê¸»úÌܤ« * newW ÄêµÁ¤¹¤ë¥ï¡¼¥É¥ì¥³¡¼¥É */ static int deleteTD(dm, tab, n, newW) struct DM *dm; struct TD **tab; int n; Wrec *newW; { struct TD *td = *tab; int i; Wchar key; key = nthKey(newW, n); n ++; for (i = 0; i < (int)td->td_n; i++) { struct TN *tn = &td->td_node[i]; if (key == tn->tn_key ) { if (IsWordNode(tn)) { struct TW *oldTW = tn->tn_word; Wrec *oldW = oldTW->word; if (!key || yomi_equal(newW, oldW, n)) { struct ncache *cache = _RkFindCache(dm, (long)oldTW); if (!cache || cache->nc_count <= 0) { struct TW *subW, newTW; newTW.word = newW; subW = RkSubtractWrec(oldTW, &newTW); (void)free((char *)oldW); (void)free((char *)oldTW); if (subW) { tn->tn_word = subW; tn->tn_flags |= TN_WDEL; if (cache) { _RkRehashCache(cache, (long)subW); cache->nc_word = subW->word; } return(0); } else { if (cache) _RkPurgeCache(cache); shrinkTD(td, key); } } } } else if (deleteTD(dm, &tn->tn_tree, n, newW)) shrinkTD(td, key); if (td->td_n <= 0) { (void)free((char *)(td->td_node)); (void)free((char *)td); *tab = (struct TD *)0; return(1); } else return(0); } } return(0); } /* * OPEN */ /*ARGSUSED*/ int _Rktopen(dm, file, mode, gram) struct DM *dm; char *file; int mode; struct RkKxGram *gram; { struct DF *df = dm->dm_file; struct DD *dd = df->df_direct; struct TD *xdm; FILE *f; long offset = 0L; int ecount = 0; int ret = -1; #ifndef USE_MALLOC_FOR_BIG_ARRAY char line[RK_LINE_BMAX*10]; Wchar wcline[RK_LINE_BMAX*10]; #else char *line = malloc(RK_LINE_BMAX * 10); Wchar *wcline = (Wchar *)malloc(sizeof(Wchar) * RK_LINE_BMAX * 10); if (!line || !wcline) { if (line) (void)free(line); if (wcline) (void)free((char *)wcline); return ret; } #endif if (!df->df_rcount) { if (close(open(file, 0))) goto return_ret; df->df_flags |= DF_EXIST; dm->dm_flags |= DM_EXIST; if (!close(open(file, 2))) dm->dm_flags |= DM_WRITABLE; } if (!(dm->dm_flags & DM_EXIST)) ; #ifdef __EMX__ else if (!(f = fopen(file, "rt"))) { #else else if (!(f = fopen(file, "r"))) { #endif df->df_flags &= ~DF_EXIST; dm->dm_flags &= ~DM_EXIST; } else if (!(xdm = newTD())) { fclose(f); } else { while (fgets((char *)line, RK_LINE_BMAX*10, f)) { int sz; offset += strlen(line); sz = RkCvtWide(wcline, RK_LINE_BMAX*10, line, strlen(line)); if (sz < RK_LINE_BMAX*10 - 1) { if ( enterTD(dm, xdm, gram, wcline) < 0 ) ecount++; } else ecount++; } (void)fclose(f); dm->dm_offset = 0L; df->df_size = offset; if (ecount) { freeTD((struct TD *)xdm); dm->dm_td = (pointer)0; dm->dm_flags &= ~DM_EXIST; ret = -1; } else { dm->dm_td = (pointer)xdm; if (df->df_rcount++ == 0) dd->dd_rcount++; ret = 0; }; } return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)wcline); (void)free(line); #endif return ret; } /* * CLOSE */ static int writeTD pro((struct TD *, struct RkKxGram *, int)); static int writeTD(td, gram, fdes) struct TD *td; struct RkKxGram *gram; int fdes; { int i, tmpres; int ecount = 0; Wchar *wcline = (Wchar *)0; wcline = (Wchar *)malloc(RK_WREC_BMAX * sizeof(Wchar)); if (wcline) { for (i = 0; i < (int)td->td_n; i++) { struct TN *tn = &td->td_node[i]; unsigned char *line; Wchar *wc; int sz; if (IsWordNode(tn)) { wc = _RkUparseWrec(gram, tn->tn_word->word, wcline, RK_LINE_BMAX * sizeof(Wchar), tn->tn_word->lucks, 1); if (wc) { sz = RkCvtNarrow((char *)0, 9999, wcline, (int)(wc - wcline)); if (sz > RK_LINE_BMAX && !(wc = _RkUparseWrec(gram, tn->tn_word->word, wcline, RK_LINE_BMAX * sizeof(Wchar), tn->tn_word->lucks, 0))) ecount++; else { line = (unsigned char *)malloc( RK_LINE_BMAX*3 ); if(line) { sz = RkCvtNarrow((char *)line, RK_LINE_BMAX, wcline, (int)(wc - wcline)); #ifdef USE_SJIS_TEXT_DIC line[sz++] = '\r'; #endif line[sz++] = '\n'; line[sz] = 0; tmpres = write(fdes, line, sz); if (tmpres != sz) ecount++; free(line); } else ecount++; } } else ecount++; } else ecount += writeTD(tn->tn_tree, gram, fdes); } free((char *)wcline); return(ecount); } return 0; } int _Rktclose(dm, file, gram) struct DM *dm; char *file; struct RkKxGram *gram; { struct DF *df = dm->dm_file; struct TD *xdm = (struct TD *)dm->dm_td; int ecount; int fdes; #ifndef USE_MALLOC_FOR_BIG_ARRAY char backup[RK_PATH_BMAX]; char header[RK_LINE_BMAX]; char whattime[RK_LINE_BMAX]; #else char *backup, *header, *whattime; backup = malloc(RK_PATH_BMAX); header = malloc(RK_LINE_BMAX); whattime = malloc(RK_LINE_BMAX); if (!backup || !header || !whattime) { if (backup) (void)free(backup); if (header) (void)free(header); if (whattime) (void)free(whattime); return 0; } #endif _RkKillCache(dm); if (dm->dm_flags & DM_UPDATED) { char *p = rindex(file, '/'); if (p) { strcpy(backup, file); p++; backup[(int)(p - file)] = '#'; strcpy(&backup[(int)(p-file) + 1], p); }; fdes = creat(backup, (unsigned)0666); #ifdef __CYGWIN32__ setmode(fdes, O_BINARY); #endif ecount = 0; if (fdes >= 0) { int n; TIME_T tloc; tloc = time(0); strcpy(whattime, ctime(&tloc)); whattime[strlen(whattime)-1] = 0; (void)strcpy(header, "#*DIC "); (void)strcat(header, dm->dm_nickname); (void)strcat(header, " ["); (void)strcat(header, whattime); (void)strcat(header, "]"); #ifdef USE_SJIS_TEXT_DIC (void)strcat(header, "\r\n"); #else (void)strcat(header, "\n"); #endif n = strlen(header); if (write(fdes, header, n) != n) { ecount++; } ecount += writeTD(xdm, gram, fdes); (void)close(fdes); } else ecount++; if (!ecount) { #ifdef HAVE_RENAME #ifdef __EMX__ unlink(file); #endif rename(backup, file); #else unlink(file); if (link(backup, file) == 0) { unlink(backup); } #endif } dm->dm_flags &= ~DM_UPDATED; }; freeTD((struct TD *)xdm); --df->df_rcount; #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(backup); (void)free(header); (void)free(whattime); #endif return 0; } int _Rktsearch(cx, dm, key, n, nread, maxcache, cf) struct RkContext *cx; struct DM *dm; Wchar *key; int n; struct nread *nread; int maxcache; int *cf; { Wchar uniqAlnum(); struct TD *xdm = (struct TD *)dm->dm_td; int nc = 0; int i, j; *cf = 0; for (j = 0; j < n;) { Wchar k = uniqAlnum(key[j++]); struct TN *tn; tn = xdm->td_node; for (i = 0; i < (int)xdm->td_n && tn->tn_key <= k; i++, tn++) { if (k == tn->tn_key) { if (IsWordNode(tn)) { Wrec *w; int l; w = tn->tn_word->word; l = (*w >> 1) & 0x3f; if (*w & 0x80) w += 2; w += 2; if (_RkEql(key, w, l)) { if (l > n) (*cf)++; else if (nc < maxcache) { nread[nc].cache = _RkReadCache(dm, (long)tn->tn_word); if (nread[nc].cache) { nread[nc].nk = l; nread[nc].csn = 0L; nread[nc].offset = 0L; nc++; } else (*cf)++; } else (*cf)++; } return nc; } else { struct TD *ct = tn->tn_tree; struct TN *n0 = &ct->td_node[0]; if (ct->td_n && !n0->tn_key) { unsigned char *w; int l; w = n0->tn_word->word; l = (*w >> 1) & 0x3f; if (*w & 0x80) w += 2; w += 2; if (_RkEql(key, w, l)) { if (l > n) (*cf)++; else if (nc < maxcache) { nread[nc].cache = _RkReadCache(dm, (long)n0->tn_word); if (nread[nc].cache) { nread[nc].nk = l; nread[nc].csn = 0L; nread[nc].offset = 0L; nc++; } else (*cf)++; } else (*cf)++; } } xdm = ct; goto cont; } } } break; cont: ; } if (n <= 0) cx->poss_cont++; return nc; } /* * IO */ /*ARGSUSED*/ int _Rktio(dm, cp, io) struct DM *dm; struct ncache *cp; int io; { if (io == 0) { cp->nc_word = ((struct TW *)cp->nc_address)->word; cp->nc_flags |= NC_NHEAP; } return 0; } #define TEMPDIC_WRECSIZE 2048 /* * CTL */ int _Rktctl(dm, qm, what, arg, gram) struct DM *dm; struct DM *qm; /* no use : dummy*/ int what; Wchar *arg; struct RkKxGram *gram; /* ARGSUSED */ { struct TD *xdm = (struct TD *)dm->dm_td; int status = 0; struct TW tw; unsigned long lucks[2]; #ifndef USE_MALLOC_FOR_BIG_ARRAY Wrec wrec[TEMPDIC_WRECSIZE]; #else Wrec *wrec = (Wrec *)malloc(sizeof(Wrec) * TEMPDIC_WRECSIZE); if (!wrec) { return status; } #endif switch(what) { case DST_DoDefine: if ((dm->dm_flags & (DM_WRITABLE | DM_WRITEOK)) != (DM_WRITABLE | DM_WRITEOK)) /* !(writable and write ok) */ status = -1; else if (!RkParseOWrec(gram, arg, wrec, TEMPDIC_WRECSIZE, lucks)) status = -1; else { tw.word = wrec; status = defineTD(dm, xdm, 0, &tw, TEMPDIC_WRECSIZE) ? 0 : -1; dm->dm_flags |= DM_UPDATED; } break; case DST_DoDelete: if ((dm->dm_flags & (DM_WRITABLE | DM_WRITEOK)) != (DM_WRITABLE | DM_WRITEOK)) /* !(writable and write ok) */ status = -1; else if (!RkParseOWrec(gram, arg, wrec, TEMPDIC_WRECSIZE, lucks)) status = -1; else if (deleteTD(dm, &xdm, 0, wrec)) { xdm = newTD(); dm->dm_td = (pointer)xdm; } dm->dm_flags |= DM_UPDATED; break; } #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free((char *)wrec); #endif return status; } int _Rktsync(cx, dm, qm) struct RkContext *cx; struct DM *dm, *qm; /* ARGSUSED */ { struct RkKxGram *gram = cx->gram->gramdic; struct DF *df_p; struct DD *dd_p; struct TD *xdm = (struct TD *)dm->dm_td; int ecount; char *file; int ret = -1; int fdes; #ifndef USE_MALLOC_FOR_BIG_ARRAY char backup[RK_PATH_BMAX]; char header[RK_LINE_BMAX]; char whattime[RK_LINE_BMAX]; #else char *backup, *header, *whattime; backup = malloc(RK_PATH_BMAX); header = malloc(RK_LINE_BMAX); whattime = malloc(RK_LINE_BMAX); if (!backup || !header || !whattime) { if (backup) (void)free(backup); if (header) (void)free(header); if (whattime) (void)free(whattime); return ret; } #endif df_p = dm->dm_file; dd_p = df_p->df_direct; file = _RkCreatePath(dd_p, df_p->df_link); if (file) { if (dm->dm_flags & DM_UPDATED) { char *p = rindex(file, '/'); if (p) { strcpy(backup, file); p++; backup[(int)(p - file)] = '#'; strcpy(&backup[(int)(p-file) + 1], p); }; fdes = creat(backup, (unsigned)0666); #ifdef __CYGWIN32__ setmode(fdes, O_BINARY); #endif ecount = 0; if (fdes >= 0) { int n; TIME_T tloc; tloc = time(0); strcpy(whattime, ctime(&tloc)); whattime[strlen(whattime)-1] = 0; (void)strcpy(header, "#*DIC "); (void)strcat(header, dm->dm_nickname); (void)strcat(header, " ["); (void)strcat(header, whattime); (void)strcat(header, "]"); #ifdef USE_SJIS_TEXT_DIC (void)strcat(header, "\r\n"); #else (void)strcat(header, "\n"); #endif n = strlen(header); if (write(fdes, header, n) != n) { ecount++; } ecount += writeTD(xdm, gram, fdes); (void)close(fdes); } else ecount++; if (!ecount) { #ifdef HAVE_RENAME #ifdef __EMX__ unlink(file); #endif rename(backup, file); #else unlink(file); if (link(backup, file) == 0) { unlink(backup); } #endif dm->dm_flags &= ~DM_UPDATED; } else { (void)free(file); ret = -1; goto return_ret; } }; (void)free(file); ret = 0; } return_ret: #ifdef USE_MALLOC_FOR_BIG_ARRAY (void)free(backup); (void)free(header); (void)free(whattime); #endif return ret; } Canna37p3/lib/RK/util.c0100644000076500001200000003124707732020154014057 0ustar shinraadmin/* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcsid[]="@(#)$Id: util.c,v 1.8 2003/09/17 08:50:52 aida_s Exp $ $Author: aida_s $ $Revision: 1.8 $ $Data$"; #endif #include "RKintern.h" #include #ifdef __STDC__ #include #endif #define isEndTag(s) (s[0] == 0 && s[1] == 0 && s[2] == 0 && s[3] == 0) #define HD_TAG_MAG "MAG#" #define HD_TAG_CURV "CURV" #define HD_TAG_CMPV "CMPV" #define HD_TAG_SIZ "#SIZ" #define HD_TAG_HSZ "#HSZ" #define HD_TAG_VER "VER#" #define HD_TAG_TIME "TIME" #define HD_TAG_REC "#REC" #define HD_TAG_CAN "#CAN" #define HD_TAG_L2P "L2P#" #define HD_TAG_L2C "L2C#" #define HD_TAG_PAG "#PAG" #define HD_TAG_LND "#LND" #define HD_TAG_SND "#SND" #define HD_TAG_DROF "DROF" #define HD_TAG_PGOF "PGOF" #define HD_TAG_DMNM "DMNM" #define HD_TAG_CODM "CODM" #define HD_TAG_LANG "LANG" #define HD_TAG_WWID "WWID" #define HD_TAG_WTYP "WTYP" #define HD_TAG_COPY "(C) " #define HD_TAG_NOTE "NOTE" #define HD_TAG_TYPE "TYPE" #define HD_TAG_CRC "#CRC" #define HD_TAG_GRAM "GRAM" #define HD_TAG_GRSZ "GRSZ" static char *Hdrtag[] = { HD_TAG_MAG, HD_TAG_SIZ, HD_TAG_HSZ, HD_TAG_CURV, HD_TAG_CMPV, HD_TAG_VER, HD_TAG_TIME, HD_TAG_REC, HD_TAG_CAN, HD_TAG_L2P, HD_TAG_L2C, HD_TAG_PAG, HD_TAG_LND, HD_TAG_SND, HD_TAG_DROF, HD_TAG_PGOF, HD_TAG_DMNM, HD_TAG_CODM, HD_TAG_LANG, HD_TAG_WWID, HD_TAG_WTYP, HD_TAG_COPY, HD_TAG_NOTE, HD_TAG_TYPE, HD_TAG_CRC, HD_TAG_GRAM, HD_TAG_GRSZ, 0, }; int uslen(us) Wchar *us; { Wchar *ous = us; if (!us) return 0; while (*us & RK_WMASK) us++; return (us - ous); } void usncopy(dst, src, len) Wchar *dst, *src; int len; { while (len-- > 0 && (*dst++ = *src++)) /* EMPTY */; } unsigned char * ustoeuc(src, srclen, dest, destlen) Wchar *src; unsigned char *dest; int srclen, destlen; { if (!src || !dest || !srclen || !destlen) return dest; while (*src && --srclen >= 0 && --destlen >= 0) { if (us_iscodeG0(*src)) { *dest++ = (unsigned char)*src++; } else if (us_iscodeG2(*src)) { *dest++ = RK_SS2; *dest++ = (unsigned char)*src++; destlen--; } else if (destlen > 2) { if (us_iscodeG3(*src)) { *dest++ = RK_SS3; } *dest++ = (unsigned char)(*src >> 8); *dest++ = (unsigned char)(*src++ | 0x80); destlen--; }; }; *dest = (unsigned char)0; return dest; } Wchar * euctous(src, srclen, dest, destlen) unsigned char *src; Wchar *dest; int srclen, destlen; { Wchar *a = dest; if (!src || !dest || !srclen || !destlen) return(a); while (*src && (srclen-- > 0) && (destlen-- > 0)) { if (!(*src & 0x80) ) { *dest++ = (Wchar)*src++; } else if (srclen-- > 0) { if (*src == RK_SS2) { src++; *dest++ = (Wchar)(0x0080 | (*src++ & 0x7f)); } else if ((*src == RK_SS3) && (srclen-- > 0)) { src++; *dest++ = (Wchar)(0x8000 | ((src[0] & 0x7f) << 8) | (src[1] & (0x7f))); src += 2; } else { *dest++ = (Wchar)(0x8080 | ((src[0] & 0x7f) << 8) | (src[1] & 0x7f)); src += 2; } } else { break; } } if (destlen-- > 0) *dest = (Wchar)0; return dest; } static FILE *log = (FILE *)0; void _Rkpanic( #ifdef __STDC__ const char *fmt, ... #else fmt, p, q, r #endif ) #ifndef __STDC__ const char *fmt; /* VARARGS2 */ #endif { FILE *target = log ? log : stderr; #ifdef __STDC__ va_list va; va_start(va, fmt); vfprintf(target, fmt, va); va_end(va); #else fprintf(target, fmt, p, q, r); #endif fputc('\n', target); fflush(target); if (log) fclose(log); abort(); } void RkAssertFail(file, line, expr) const char *file; int line; const char *expr; { _Rkpanic("RK assertion failed: %s:%d %s", file, line, expr); /* NOTREACHED */ } int _RkCalcUnlog2(x) int x; { return((1 << x) - 1); } int _RkCalcLog2(n) int n; { int lg2; n--; for (lg2 = 0; n > 0; lg2++) n >>= 1; return(lg2); } Wchar uniqAlnum(c) Wchar c; { return((0xa3a0 < c && c < 0xa3ff) ? (Wchar)(c & 0x7f) : c); } void _RkClearHeader(hd) struct HD *hd; { int i; if (hd) { for (i = 0; i < HD_MAXTAG; i++) { if (hd->flag[i] > 0) { (void)free(hd->data[i].ptr); } } } } static int read_tags(hd, srctop, srcend, pass) struct HD *hd; const unsigned char *srctop; const unsigned char *srcend; int pass; { unsigned long len, off; const unsigned char *src = srctop; unsigned int i; while (src + HD_TAGSIZ <= srcend) { if (isEndTag(src)) return 0; if (src + HD_MIN_TAGSIZ > srcend) break; for (i = 0; i < HD_MAXTAG; i++) { if (!strncmp((const char *)src, Hdrtag[i], HD_TAGSIZ)) break; } if (i == HD_MAXTAG) { src += HD_MIN_TAGSIZ; /* simply skip */ continue; } src += HD_TAGSIZ; len = bst4_to_l(src); src += HD_TAGSIZ; off = bst4_to_l(src); src += HD_TAGSIZ; if (hd->flag[i] != 0) return -1; if (len == 0) { hd->flag[i] = -1; hd->data[i].var = off; } else { if (pass == 2) { if (srctop + off + len > srcend) return -1; hd->flag[i] = len; if (!(hd->data[i].ptr = (unsigned char *)malloc((size_t) (len + 1)))) return -1; (void)memcpy(hd->data[i].ptr, srctop + off, (size_t) len); hd->data[i].ptr[len] = 0; } } } return (pass == 2); } int _RkReadHeader(fd, hd, off_from_top) int fd; struct HD *hd; off_t off_from_top; { off_t tmpres; ssize_t pass1size; unsigned char pass1buf[RK_OLD_MAX_HDRSIZ]; unsigned char *pass2buf = NULL; long curr_ver = 0, compat_ver = 0; unsigned int i; size_t hdrsiz; for (i = 0; i < HD_MAXTAG; i++) { hd->data[i].var = 0; hd->flag[i] = 0; } tmpres = lseek(fd, off_from_top, 0); if (tmpres < 0) return -1; pass1size = read(fd, (char *)pass1buf, RK_OLD_MAX_HDRSIZ); if (pass1size <= 0) return -1; /* Pass 1 */ if (read_tags(hd, pass1buf, pass1buf + pass1size, 1)) goto read_err; if (hd->flag[HD_MAG] != -1 || hd->data[HD_MAG].var != (long)bst4_to_l("CDIC")) goto read_err; if (hd->flag[HD_CURV] == -1 && hd->flag[HD_CMPV] == -1) { curr_ver = hd->data[HD_CURV].var; compat_ver = hd->data[HD_CMPV].var; } else if (hd->flag[HD_VER] == -1 && hd->data[HD_VER].var == (long)bst4_to_l("R3.0")) { curr_ver = 0x300000L; compat_ver = 0x300000L; } if (curr_ver < compat_ver || compat_ver < 0x300000L || compat_ver > 0x300702L) goto read_err; if (hd->flag[HD_HSZ] != -1 || hd->flag[HD_SIZ] != -1) goto read_err; hdrsiz = (size_t)hd->data[HD_HSZ].var; /* Pass 2 */ pass2buf = malloc(hdrsiz); if (!pass2buf) goto read_err; if (pass1size < hdrsiz) { size_t rest = hdrsiz - pass1size; ssize_t r = read(fd, (char *)pass2buf + pass1size, rest); if (r < rest) goto read_err; memcpy(pass2buf, pass1buf, pass1size); } else { memcpy(pass2buf, pass1buf, hdrsiz); } for (i = 0; i < HD_MAXTAG; i++) { hd->data[i].var = 0; hd->flag[i] = 0; } if (read_tags(hd, pass2buf, pass2buf + hdrsiz, 2)) goto read_err; return 0; read_err: for (i = 0; i < HD_MAXTAG; i++) { if (hd->flag[i] > 0) (void)free(hd->data[i].ptr); hd->flag[i] = 0; hd->data[i].var = 0; } free(pass2buf); return -1; } unsigned char * _RkCreateHeader(hd, size) struct HD *hd; size_t *size; { unsigned char *tagdst, *datadst, *ptr; unsigned int i; unsigned long len, off; size_t tagsz = 0, datasz = 0; long curr_ver = 0, compat_ver = 0; if (hd->flag[HD_CURV] == -1 && hd->flag[HD_CMPV] == -1) { curr_ver = hd->data[HD_CURV].var; compat_ver = hd->data[HD_CMPV].var; } else if (hd->flag[HD_VER] == -1 && hd->data[HD_VER].var == (long)bst4_to_l("R3.0")) { curr_ver = 0x300000L; compat_ver = 0x300000L; } if (curr_ver < compat_ver || compat_ver < 0x300000L || compat_ver > 0x300702L) return NULL; for (i = 0; i < HD_MAXTAG; i++) { if (hd->flag[i]) tagsz += HD_MIN_TAGSIZ; if (hd->flag[i] > 0) datasz += hd->flag[i]; } if (!(ptr = malloc(tagsz + HD_TAGSIZ + datasz))) return NULL; tagdst = ptr; datadst = ptr + tagsz + HD_TAGSIZ; for (i = 0; i < HD_MAXTAG; i++) { if (!hd->flag[i]) continue; (void)memcpy(tagdst, Hdrtag[i], HD_TAGSIZ); tagdst += HD_TAGSIZ; if (hd->flag[i] == -1) { len = 0; off = hd->data[i].var; } else { len = hd->flag[i]; off = datadst - ptr; (void)memcpy(datadst, hd->data[i].ptr, (size_t) len); datadst += len; } l_to_bst4(len, tagdst); tagdst += HD_TAGSIZ; l_to_bst4(off, tagdst); tagdst += HD_TAGSIZ; } RK_ASSERT(tagdst == ptr + tagsz); RK_ASSERT(datadst == ptr + tagsz + HD_TAGSIZ + datasz); *tagdst++ = 0; *tagdst++ = 0; *tagdst++ = 0; *tagdst++ = 0; *size = tagsz + HD_TAGSIZ + datasz; return ptr; } unsigned long _RkGetTick(mode) int mode; { static unsigned long time = 10000; return(mode ? time++ : time); } int set_hdr_var(hd, n, var) struct HD *hd; int n; unsigned long var; { if (!hd) return -1; hd->data[n].var = var; hd->flag[n] = -1; return 0; } _RkGetLink(dic, pgno, off, lvo, csn) struct ND *dic; long pgno; unsigned long off; unsigned long *lvo; unsigned long *csn; { struct NP *pg = dic->pgs + pgno; unsigned char *p; unsigned i; for (i = 0, p = pg->buf + 14 + 4 * pg->ndsz; i < pg->lnksz; i++, p += 5) { if (thisPWO(p) == off) { *lvo = pg->lvo + thisLVO(p); *csn = pg->csn + thisCSN(p); return(0); } } return(-1); } unsigned long _RkGetOffset(dic, pos) struct ND *dic; unsigned char *pos; { struct NP *pg; unsigned char *p; unsigned i; unsigned long lvo; #if 0 /* csn is not used */ unsigned long csn; #endif for (i = 0; i < dic->ttlpg; i++) { if (dic->pgs[i].buf) { if (dic->pgs[i].buf < pos && pos < dic->pgs[i].buf + dic->pgsz) break; } } if (i == dic->ttlpg) { return(0); } pg = dic->pgs + i; for (i = 0, p = pg->buf + 14 + 4 * pg->ndsz; i < pg->lnksz; i++, p += 5) { if ((unsigned long) (pos - pg->buf) == thisPWO(p)) { lvo = pg->lvo + thisLVO(p); #if 0 /* csn is not used */ csn = pg->csn + thisCSN(p); #endif return(lvo); } } _Rkpanic("Cannot get Offset", 0, 0, 0); } int HowManyChars(yomi, len) Wchar *yomi; int len; { int chlen, bytelen; for (chlen = 0, bytelen = 0; bytelen < len; chlen++) { Wchar ch = yomi[chlen]; if (us_iscodeG0(ch)) bytelen++; else if (us_iscodeG3(ch)) bytelen += 3; else bytelen += 2; } return(chlen); } int HowManyBytes(yomi, len) Wchar *yomi; int len; { int chlen, bytelen; for (chlen = 0, bytelen = 0; chlen < len; chlen++) { Wchar ch = yomi[chlen]; if (us_iscodeG0(ch)) bytelen++; else if (us_iscodeG3(ch)) bytelen += 3; else { bytelen += 2; } } return(bytelen); } #ifdef TEST printWord(w) struct nword *w; { printf("[0x%x] Y=%d, K=%d, class=0x%x, flg=0x%x, lit=%d, prio=%d, kanji=", w, w->nw_ylen, w->nw_klen, w->nw_class, w->nw_flags, w->nw_lit, w->nw_prio); if (w->nw_kanji) { int i, klen = w->nw_left ? w->nw_klen - w->nw_left->nw_klen : w->nw_klen; char *p = w->nw_kanji + 2; for (i = 0 ; i < klen ; i++) { printf("%c%c", p[0], p[1]); p += 2; } } printf("\n"); } showWord(w) struct nword *w; { struct nword *p, *q; printf("next:\n"); for (p = w ; p ; p = p->nw_next) { printWord(p); for (q = p->nw_left ; q ; q = q->nw_left) { printWord(q); } printf("\n"); } } #endif /* TEST */ /* vim: set sw=2: */ Canna37p3/lib/RKC/0040755000076500001200000000000010052700713013030 5ustar shinraadminCanna37p3/lib/RKC/.cvsignore0100644000076500001200000000010407601177343015035 0ustar shinraadmin.depend Makefile libRKC.a libRKC.so* libRKC.sl* libRKC.dll unshared Canna37p3/lib/RKC/conf.c0100644000076500001200000011025710043301665014127 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "sglobal.h" #include "rkcw.h" #include "canna/RK.h" #include "rkc.h" #include "RKindep/file.h" #include "RKindep/ecfuncs.h" #include "RKindep/strops.h" #include #include #include #include #include "conf.h" #include "confP.h" #include #include #include RCSID("$Id: conf.c,v 1.12.2.2 2004/04/26 21:48:37 aida_s Exp $"); #define MY_UINT32MAX 0xffffffffU #define UINT32_NUMLEN 10 RkcErrorBuf rkc_errors; RkcConfMgr rkc_config; static char * config_path(name) const char *name; { const char *home; RkiStrbuf buf; RkiStrbuf_init(&buf); home = getenv("HOME"); if (home) { if (RkiStrbuf_add(&buf, home)) goto nomem; if (buf.sb_curr != buf.sb_buf && *(buf.sb_curr - 1) != '/') { if (RKI_STRBUF_ADDCH(&buf, '/')) goto nomem; } } if (RkiStrbuf_add(&buf, CONFIG_DIR) || RkiStrbuf_add(&buf, name) || RkiStrbuf_term(&buf)) goto nomem; return buf.sb_buf; nomem: RkiStrbuf_destroy(&buf); return NULL; } static char * read_pipe_with_errors(cmd, errors, size) const char *cmd; RkcErrorBuf *errors; size_t *size; { int pipefds[4]; pid_t pid; RkiStrbuf outbuf, errbuf; int i, r; rki_fd_set readmask0; int maxfd; int status = (int)0xdeadbeef, no_exitstatus = 0; for (i = 0; i < 4; ++i) pipefds[i] = -1; RkiStrbuf_init(&outbuf); RkiStrbuf_init(&errbuf); if (pipe(pipefds) || pipe(pipefds + 2)) { RkcErrorBuf_add(errors, "Cannot open pipe"); goto fail; } pid = fork(); if (pid < 0) { RkcErrorBuf_add(errors, "Fork failed"); goto fail; } else if (pid == 0) { #ifdef CONF_DEBUG fprintf(stderr, "CHILD: cmd=%s\n", cmd); #endif errno = 0; if (dup2(pipefds[1], 1) < 0 || dup2(pipefds[3], 2) < 0) _exit(126); for (i = 0; i < 4; ++i) close(pipefds[i]); if (execl("/bin/sh", "sh", "-c", cmd, NULL)) _exit(127); } close(pipefds[1]); close(pipefds[3]); pipefds[1] = pipefds[3] = -1; RKI_FD_ZERO(&readmask0); RKI_FD_SET(pipefds[0], &readmask0); RKI_FD_SET(pipefds[2], &readmask0); maxfd = pipefds[0] < pipefds[2] ? pipefds[2] : pipefds[0]; #ifdef CONF_DEBUG fprintf(stderr, "PARENT: start select loop\n"); #endif while (RKI_FD_ISSET(pipefds[0], &readmask0) && RKI_FD_ISSET(pipefds[2], &readmask0)) { rki_fd_set readmask = readmask0; #ifdef CONF_DEBUG fprintf(stderr, "PARENT: invoke select\n"); #endif r = select(maxfd + 1, &readmask, NULL, NULL, NULL); if (r == -1) { if (errno == EINTR) continue; goto fail; } if (RKI_FD_ISSET(pipefds[0], &readmask)) { ssize_t rr; if (RKI_STRBUF_RESERVE(&outbuf, 1)) goto nomem; rr = read(pipefds[0], outbuf.sb_curr, outbuf.sb_end - outbuf.sb_curr); if (rr < 0) goto fail; else if (rr == 0) RKI_FD_CLR(pipefds[0], &readmask0); else outbuf.sb_curr += rr; } if (RKI_FD_ISSET(pipefds[2], &readmask)) { ssize_t rr; if (RKI_STRBUF_RESERVE(&errbuf, 1)) goto nomem; rr = read(pipefds[2], errbuf.sb_curr, errbuf.sb_end - errbuf.sb_curr); if (rr < 0) goto fail; else if (rr == 0) RKI_FD_CLR(pipefds[2], &readmask0); else errbuf.sb_curr += rr; } } #ifdef CONF_DEBUG fprintf(stderr, "PARENT: read ok\n"); #endif if (errbuf.sb_buf) { char *ep, *eend; if (RkiStrbuf_term(&errbuf)) goto fail; ep = errbuf.sb_buf; eend = errbuf.sb_curr; while (ep != eend) { char *bottom = strchr(ep, '\n'); if (bottom == NULL) { bottom = eend - 1; if (bottom == ep) break; } *bottom = '\0'; RkcErrorBuf_add(errors, ep); ep = bottom + 1; } } close(pipefds[0]); close(pipefds[2]); RkiStrbuf_destroy(&errbuf); while (pid != waitpid(pid, &status, 0)) { if (errno != EINTR) { /* Client "ate" my child */ no_exitstatus = 1; break; } } if ((no_exitstatus && errbuf.sb_curr == errbuf.sb_buf) || (!no_exitstatus && WIFEXITED(status) && !WEXITSTATUS(status))) { RkiStrbuf_pack(&outbuf); *size = outbuf.sb_curr - outbuf.sb_buf; return outbuf.sb_buf; } else { char msg[sizeof "child terminated with some errors"]; if (no_exitstatus) strcpy(msg, "child terminated with some errors"); else if (WIFEXITED(status)) sprintf(msg, "child returned %d", WEXITSTATUS(status)); else if (WIFSIGNALED(status)) sprintf(msg, "child received signal %d", WTERMSIG(status)); else assert(0); RkcErrorBuf_add(errors, msg); RkiStrbuf_destroy(&outbuf); return NULL; } nomem: RkcErrorBuf_nomem(errors); fail: for (i = 0; i < 4; ++i) if (pipefds[i] != -1) close(pipefds[i]); RkiStrbuf_destroy(&outbuf); RkiStrbuf_destroy(&errbuf); return NULL; } void rkc_configure() { const char *preproc; char *path = NULL, *cmd = NULL; Lexer *lexer = NULL; Parser *parser = NULL; char *input = NULL; struct stat st; size_t input_size; RkcErrorBuf_init(&rkc_errors); RkcConfMgr_init(&rkc_config, &rkc_errors); preproc = getenv("CANNA_RKC_PREPROCESSOR"); if (!preproc || !*preproc) preproc = CPP; path = config_path(CONFIG_FILE); if (!path) { RkcErrorBuf_nomem(&rkc_errors); goto last; } #ifdef CONF_DEBUG fprintf(stderr, "path=%s, preproc=%s\n", path, preproc); #endif if (stat(path, &st)) { if (errno == ENOENT) { RkcErrorBuf_add(&rkc_errors, "RKC\244\316\300\337\304\352\245\325" "\245\241\245\244\245\353\244\254\244\242\244\352\244\336\244" "\273\244\363"); /* RKC¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó */ goto last; } else goto input_error; } if (!(cmd = malloc(strlen(preproc) + strlen(path) + 2))) { RkcErrorBuf_nomem(&rkc_errors); goto last; } sprintf(cmd, "%s %s", preproc, path); if (!(input = read_pipe_with_errors(cmd, &rkc_errors, &input_size)) || !(lexer = Lexer_new(input, input_size, &rkc_errors)) || !(parser = Parser_new(&rkc_config, lexer, &rkc_errors))) goto input_error; Parser_run(parser); goto last; input_error: RkcErrorBuf_add(&rkc_errors, "RKC\244\316\300\337\304\352\245\325\245" "\241\245\244\245\353\244\316\306\311\244\337\271\376\244\337\245" "\250\245\351\241\274\244\307\244\271"); /* RKC¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß¥¨¥é¡¼¤Ç¤¹ */ last: Parser_delete(parser); Lexer_delete(lexer); free(input); free(cmd); free(path); } void rkc_config_fin() { RkcConfMgr_destroy(&rkc_config); RkcErrorBuf_destroy(&rkc_errors); } static void RkcErrorBuf_init(cx) RkcErrorBuf *cx; { bzero(cx, sizeof(RkcErrorBuf)); } static void RkcErrorBuf_destroy(cx) RkcErrorBuf *cx; { if (cx->buf) { char **p = cx->buf, **endp = p + cx->curr; for (; p < endp; ++p) free(*p); free(cx->buf); } } static void RkcErrorBuf_add(cx, msg) RkcErrorBuf *cx; const char *msg; { char *newmsg; if (cx->nomem) return; if (!(newmsg = strdup(msg))) goto fail; /* reserve last 2 spaces for out-of-memory msg and NULL terminater */ assert((cx->bufsize == 0 && cx->buf == NULL) || (cx->bufsize >= 10 && cx->curr + 2 <= cx->bufsize)); if (cx->curr + 2 >= cx->bufsize) { size_t bufsize = cx->bufsize * 2 + 10; char **newbuf; newbuf = realloc(cx->buf, bufsize * sizeof(char *)); if (!newbuf) goto fail; cx->buf = newbuf; cx->bufsize = bufsize; } cx->buf[cx->curr] = newmsg; ++cx->curr; return; fail: free(newmsg); cx->nomem = 1; } const char *const * RkcErrorBuf_get(cx) RkcErrorBuf *cx; { static const char *const altres1[] = { NULL }; static const char *const altres2[] = { NOMEM_MSG, NULL }; assert((cx->bufsize == 0 && cx->buf == NULL) || (cx->bufsize >= 10 && cx->curr + 2 <= cx->bufsize)); if (cx->nomem) { if (cx->buf == NULL) return altres2; cx->buf[cx->curr] = NOMEM_MSG; cx->buf[cx->curr + 1] = NULL; } else { if (cx->buf == NULL) return altres1; cx->buf[cx->curr] = NULL; } return (const char **)cx->buf; } static int Token_assignstr(tp, str, len, type) TokenRec *tp; const char *str; size_t len; int type; { size_t *hdrp = malloc(sizeof(size_t) + len + 1); char *bodyp; assert(type >= TOK_STRING); if (!hdrp) return -1; *hdrp = 1; bodyp = (char *)hdrp + sizeof(size_t); memcpy(bodyp, str, len); bodyp[len] = '\0'; assert(strlen(bodyp) == len); TOKEN_UNREF(tp); tp->type = type; tp->val.strval = bodyp; return 0; } static Lexer * Lexer_new(srcdata, srcsize, errorbuf) const char *srcdata; size_t srcsize; RkcErrorBuf *errorbuf; { Lexer *cx; const char *p; cx = malloc(sizeof(Lexer)); if (!cx) { RkcErrorBuf_nomem(errorbuf); return NULL; } for (p = srcdata; p < srcdata + srcsize; ++p) if (*p == '\0') goto fail; /* reject NUL in config file */ cx->curr = srcdata; cx->rdend = srcdata + srcsize; cx->errorbuf = errorbuf; cx->lineno = 1; cx->eof_occured = 0; cx->linetop = 1; return cx; fail: RkcErrorBuf_add(&rkc_errors, "\300\337\304\352\245\325\245\241\245" "\244\245\353\244\316\306\311\244\337\271\376\244\337\245" "\250\245\351\241\274\244\307\244\271"); /* ÀßÄê¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß¥¨¥é¡¼¤Ç¤¹ */ free(cx); return NULL; } static void Lexer_delete(cx) Lexer *cx; { if (!cx) return; free(cx); } static int match_operator1(resp, postfix_op, ch) TokenRec *resp; int postfix_op; int ch; { static const struct { int op_char; Operator op_pre_code; Operator op_post_code; } oplist1[] = { { ',', OP_NONE, OP_COMMA }, { '(', OP_LPAREN, OP_NONE }, { ')', OP_NONE, OP_RPAREN }, { '?', OP_NONE, OP_QUESTION }, { ':', OP_NONE, OP_COLON }, { '+', OP_UPLUS, OP_BPLUS }, { '-', OP_UMINUS, OP_BMINUS }, { '*', OP_NONE, OP_MULTIPLY }, { '/', OP_NONE, OP_DIVIDE }, { '%', OP_NONE, OP_MODULUS }, { '&', OP_NONE, OP_BITAND }, { '|', OP_NONE, OP_BITOR }, { '^', OP_NONE, OP_BITXOR }, { '~', OP_BITCOMPL, OP_NONE }, { '<', OP_NONE, OP_LESS }, { '>', OP_NONE, OP_GREATER }, { '!', OP_LNOT, OP_NONE }, }; size_t i; for (i = 0; i < ARRAYLEN(oplist1); ++i) { if (ch == oplist1[i].op_char) { resp->type = TOK_OPERATOR; resp->val.opval = postfix_op ? oplist1[i].op_post_code : oplist1[i].op_pre_code; return 1; } } return 0; } static int match_operator2(resp, postfix_op, ch1, ch2) TokenRec *resp; int postfix_op; int ch1; int ch2; { static const struct { char op_expr[2]; Operator op_code; } oplist2[] = { { "<<", OP_LSHIFT }, { ">>", OP_RSHIFT }, { "==", OP_EQUAL }, { "!=", OP_NEQUAL }, { "<=", OP_LEQUAL }, { ">=", OP_GEQUAL }, }; size_t i; for (i = 0; i < ARRAYLEN(oplist2); ++i) { if (ch1 == oplist2[i].op_expr[0] && ch2 == oplist2[i].op_expr[1]) { resp->type = TOK_OPERATOR; resp->val.opval = postfix_op ? oplist2[i].op_code : OP_NONE; return 1; } } return 0; } static int Lexer_next(cx, resp, postfix_op) Lexer *cx; TokenRec *resp; int postfix_op; { int ch = 0; /* stop gcc's warning */ assert(!cx->eof_occured); restart: while (cx->curr != cx->rdend) { ch = (int)(unsigned char)*cx->curr; if (ch == '\n') { ++cx->lineno; cx->linetop = 1; } if (!isspace(ch)) break; ++cx->curr; } if (cx->curr == cx->rdend) goto eof; else if (cx->linetop && ch == '#') { const char *p = cx->curr + 1; while (p != cx->rdend && *p != '\n' && isspace(*p)) ++p; if (p == cx->rdend || *p == '\n') goto not_a_directive; if (p + sizeof "pragma X" - 1 <= cx->rdend && !memcmp(p, "pragma ", sizeof "pragma " - 1)) goto skiptoeol; if (p + sizeof "line X" - 1 <= cx->rdend && !memcmp(p, "line ", sizeof "line " - 1)) p += sizeof "line " - 1; if (isdigit(*p)) { char numbuf[20]; size_t count; count = cx->rdend - p; if (count > sizeof numbuf - 1) count = sizeof numbuf - 1; memcpy(numbuf, p, count); numbuf[count] = '\0'; cx->lineno = (unsigned int)strtol(numbuf, NULL, 10); goto skiptoeol; } goto not_a_directive; skiptoeol: p = memchr(p, '\n', cx->rdend - p); if (!p) { cx->curr = cx->rdend; goto eof; } else { cx->curr = p + 1; goto restart; } not_a_directive:; } cx->linetop = 0; if (isdigit(ch)) goto getnum; else if (ch == '"') goto getstr; else if (ch == '_' || isalpha(ch)) goto getword; else if (ch == '/' && (cx->curr + 1 != cx->rdend)) { if (*(cx->curr + 1) == '*') goto skipcomm1; else if (*(cx->curr + 1) == '/') goto skipcomm2; } if (cx->curr + 1 != cx->rdend && match_operator2(resp, postfix_op, ch, (int)(unsigned char)*(cx->curr + 1))) { cx->curr += 2; } else if (match_operator1(resp, postfix_op, ch)) { ++cx->curr; } else { ++cx->curr; resp->type = (ch == ';') ? TOK_SEMICOLON : TOK_CHAR; resp->val.chval = ch; } return 0; eof: resp->type = TOK_EOF; cx->eof_occured = 1; return 0; skipcomm1: cx->curr += 2; ch = '\0'; while (cx->curr != cx->rdend) { int ch2 = (int)(unsigned char)*cx->curr++; if (ch2 == '\n') ++cx->lineno; else if (ch == '*' && ch2 == '/') goto restart; ch = ch2; } Lexer_error(cx, "EOF in comment"); goto eof; skipcomm2: cx->curr += 2; while (cx->curr != cx->rdend) { int ch = (int)(unsigned char)*cx->curr++; if (ch == '\n') { ++cx->lineno; goto restart; } } goto eof; getword: { const char *startp = cx->curr; ++cx->curr; while (cx->curr != cx->rdend) { ch = (int)(unsigned char)*cx->curr; if (ch != '_' && !isalnum(ch)) break; ++cx->curr; } if (cx->curr - startp == 3 && !strncmp(startp, "yes", 3)) { resp->type = TOK_YESNO; resp->val.numval = 1; } else if (cx->curr - startp == 2 && !strncmp(startp, "no", 2)) { resp->type = TOK_YESNO; resp->val.numval = 0; } else { if (Token_assignstr(resp, startp, cx->curr - startp, TOK_WORD)) { RkcErrorBuf_nomem(cx->errorbuf); return -1; } } return 0; } getnum: { const char *startp = cx->curr; char numbuf[UINT32_NUMLEN + 1]; size_t numlen; char *nextp; unsigned long i; while (cx->curr != cx->rdend && isdigit((int)(unsigned char)*cx->curr)) ++cx->curr; numlen = cx->curr - startp; if (numlen >= sizeof numbuf) goto numinval; memcpy(numbuf, startp, numlen); numbuf[numlen] = '\0'; assert(numlen > 0); errno = 0; i = strtoul(numbuf, &nextp, 10); if (nextp != numbuf + numlen) goto numinval; if (i > UINT_MAX || errno == ERANGE) goto numinval; resp->type = TOK_NUMBER; resp->val.numval = i; return 0; numinval: Lexer_error(cx, "Invalid number"); goto tokinval; } getstr: { const char *startp; char *p1, *p2; ++cx->curr; startp = cx->curr; while (cx->curr != cx->rdend) { ch = (int)(unsigned char)*cx->curr; if (ch == '"') break; else if (ch == '\\') { ++cx->curr; if (cx->curr == cx->rdend) { Lexer_error(cx, "Backslash at end of file"); return -1; } } ++cx->curr; } if (cx->curr == cx->rdend) { Lexer_error(cx, "Unterminated string"); goto tokinval; } /* first store escaped string and then unescape */ ++cx->curr; if (Token_assignstr(resp, startp, cx->curr - 1 - startp, TOK_STRING)) { RkcErrorBuf_nomem(cx->errorbuf); return -1; } for (p1 = p2 = resp->val.strval; *p2; ++p1, ++p2) { if (*p2 == '\\') ++p2; assert(*p2); /* escape handling was wrong if this fails */ *p1 = *p2; } *p1 = '\0'; return 0; } tokinval: resp->type = TOK_INVAL; return 0; } static void Lexer_error(cx, msg) const Lexer *cx; const char *msg; { char *newmsg; unsigned int lineno; newmsg = malloc(sizeof("line X(10col)XX: ") + strlen(msg)); if (!newmsg) { RkcErrorBuf_nomem(cx->errorbuf); return; } lineno = cx->lineno; if (lineno > MY_UINT32MAX) lineno = MY_UINT32MAX; sprintf(newmsg, "line %u: %s", lineno, msg); RkcErrorBuf_add(cx->errorbuf, newmsg); free(newmsg); } #if defined(CONF_EVAL_DEBUG) || defined(CONF_LEXER_DEBUG) static const char *op_dump[OP_DUMMY] = { "(none)", ",", "(", ")", "?", ":", "+(u)", "-(u)", "+(b)", "-(b)", "*", "/", "%", "<<", ">>", "&", "|", "^", "~", "==", "!=", "<", ">", "<=", ">=", "&&", "||", "!" }; #endif #ifdef CONF_LEXER_DEBUG static void Token_dump(tp) const TokenRec *tp; { switch (tp->type) { case TOK_INVAL: fprintf(stderr, "Invalid token\n"); break; case TOK_EOF: fprintf(stderr, "End of file\n"); break; case TOK_WORD: fprintf(stderr, "Word: %s\n", tp->val.strval); break; case TOK_NUMBER: fprintf(stderr, "Number: %u\n", tp->val.numval); break; case TOK_STRING: fprintf(stderr, "String: %s\n", tp->val.strval); break; case TOK_CHAR: fprintf(stderr, "Char: %c\n", tp->val.chval); break; case TOK_SEMICOLON: fprintf(stderr, "Semicolon\n"); break; case TOK_OPERATOR: fprintf(stderr, "Operator: %s\n", op_dump[tp->val.opval]); break; default: fprintf(stderr, "BUG: unknown token id %d\n", tp->type); break; } } #endif /* CONF_LEXER_DEBUG */ static Parser * Parser_new(confmgr, lexer, errorbuf) RkcConfMgr *confmgr; Lexer *lexer; RkcErrorBuf *errorbuf; { Parser *cx; cx = malloc(sizeof(Parser)); if (!cx) { RkcErrorBuf_nomem(errorbuf); return NULL; } cx->confmgr = confmgr; cx->lexer = lexer; cx->errorbuf = errorbuf; cx->discard = 0; TOKEN_INIT(&cx->currtok); return cx; } static void Parser_delete(cx) Parser *cx; { if (!cx) return; TOKEN_DESTROY(&cx->currtok); free(cx); } static void Parser_run(cx) Parser *cx; { if (Parser_next(cx)) goto fail; if (syn_top(cx)) goto fail; assert(cx->currtok.type == TOK_EOF); return; fail: return; } static int Parser_next(cx) Parser *cx; { int r = Lexer_next(cx->lexer, &cx->currtok, 0); #ifdef CONF_LEXER_DEBUG Token_dump(&cx->currtok); #endif return r; } static int Parser_next_postfixop(cx) Parser *cx; { int r; r = Lexer_next(cx->lexer, &cx->currtok, 1); #ifdef CONF_LEXER_DEBUG Token_dump(&cx->currtok); #endif return r; } static void Parser_error(cx, msg) Parser *cx; const char *msg; { if (!cx->discard) Lexer_error(cx->lexer, msg); } static int Parser_stmt(cx, stmttab, nstmt) Parser *cx; const StmtRec *stmttab; size_t nstmt; { size_t i; assert(cx->currtok.type != TOK_EOF); if (cx->currtok.type != TOK_WORD) { Parser_error(cx, "Syntax error"); goto skip; } for (i = 0; i < nstmt; ++i) if (!strcmp(cx->currtok.val.strval, stmttab[i].name)) break; if (i == nstmt) { Parser_error(cx, "Unknown statement"); goto skip; } if (Parser_next(cx)) return -1; if (CONF_TYPE(stmttab[i].item) == CONF_SPECIAL) { if ((*stmttab[i].proc)(cx)) return -1; } else if (cx->currtok.type == TOK_EOF || cx->currtok.type == TOK_SEMICOLON) { Parser_error(cx, "No arguments"); } else { switch (CONF_TYPE(stmttab[i].item)) { case CONF_STRING: if (cx->currtok.type != TOK_STRING) { Parser_error(cx, "String argument required"); } else { char *str = Parser_getstr(cx); int r; if (!str) return -1; r = !cx->discard && RkcConfMgr_set_string(cx->confmgr, stmttab[i].item, str); free(str); if (r) return -1; } break; case CONF_NUMBER: if (cx->currtok.type != TOK_NUMBER && cx->currtok.type != TOK_OPERATOR) { Parser_error(cx, "Numeric argument required"); } else { int r = Parser_eval(cx, COMMA_LPRIO); if (r == -1) return -1; if (!r && !cx->discard && RkcConfMgr_set_number(cx->confmgr, stmttab[i].item, cx->exprval)) return -1; } break; case CONF_YESNO: if (cx->currtok.type != TOK_YESNO) { Parser_error(cx, "Yes or no required"); } else { if (!cx->discard && RkcConfMgr_set_yesno(cx->confmgr, stmttab[i].item, cx->currtok.val.numval)) return -1; } if (Parser_next(cx)) return -1; break; default: assert(0); } } if (cx->currtok.type == TOK_EOF) { Parser_error(cx, "Unexpected EOF"); return 0; } else if (cx->currtok.type != TOK_SEMICOLON) { Parser_error(cx, "Extra arguments"); goto skip; } return Parser_next(cx); skip: while (cx->currtok.type != TOK_SEMICOLON && cx->currtok.type != TOK_EOF) if (Parser_next(cx)) return -1; return (cx->currtok.type == TOK_EOF) ? 0 : Parser_next(cx); } static const OperatorRec operators[] = { { DUMMY_PRIO, DUMMY_PRIO, (CalcProc)NULL }, /* OP_NONE */ { 11, 10, &calc_comma }, /* OP_COMMA */ { 0, DUMMY_PRIO, (CalcProc)NULL }, /* OP_LPAREN */ { DUMMY_PRIO, 0, (CalcProc)NULL }, /* OP_RPAREN */ { 20, 21, (CalcProc)NULL }, /* OP_QUESTION */ { 20, 20, (CalcProc)NULL }, /* OP_COLON */ { 150, DUMMY_PRIO, &calc_uplus }, /* OP_UPLUS */ { 150, DUMMY_PRIO, &calc_uminus }, /* OP_UMINUS */ { 121, 120, &calc_bplus }, /* OP_BPLUS */ { 121, 120, &calc_bminus }, /* OP_MINUS */ { 131, 130, &calc_multiply }, /* OP_MULTIPLY */ { 131, 130, &calc_divide }, /* OP_DIVIDE */ { 131, 130, &calc_modulus }, /* OP_MODULUS */ { 111, 110, &calc_lshift }, /* OP_LSHIFT */ { 111, 110, &calc_rshift }, /* OP_RSHIFT */ { 81, 80, &calc_bitand }, /* OP_BITAND */ { 61, 60, &calc_bitor }, /* OP_BITOR */ { 71, 70, &calc_bitxor }, /* OP_BITXOR */ { 150, DUMMY_PRIO, &calc_bitcompl }, /* OP_BITCOMPL */ { 91, 90, &calc_equal }, /* OP_EQUAL */ { 91, 90, &calc_nequal }, /* OP_NEQUAL */ { 101, 100, &calc_less }, /* OP_LESS */ { 101, 100, &calc_greater }, /* OP_GREATER */ { 101, 100, &calc_lequal }, /* OP_LEQUAL */ { 101, 100, &calc_gequal }, /* OP_GEQUAL */ { 51, 50, &calc_land }, /* OP_LAND */ { 41, 40, &calc_lor }, /* OP_LOR */ { 150, DUMMY_PRIO, &calc_lnot }, /* OP_LNOT */ }; static void Parser_eval_error(cx) Parser *cx; { Parser_error(cx, "Syntax error in an expression"); } static int Parser_eval(cx, lprio) Parser *cx; int lprio; { int r; unsigned int val1; Operator op; #ifdef CONF_EVAL_DEBUG fprintf(stderr, "Parser_eval: entering lprio=%d\n", lprio); #endif switch (cx->currtok.type) { case TOK_OPERATOR: op = cx->currtok.val.opval; #ifdef CONF_EVAL_DEBUG fprintf(stderr, "Parser_eval: unary prefix operator %s\n", op_dump[op]); #endif if (op == OP_NONE) { Parser_eval_error(cx); return 1; } assert(operators[op].lprio != DUMMY_PRIO); if (Parser_next(cx)) return -1; r = Parser_eval(cx, operators[op].lprio); if (r) return r; if (op == OP_LPAREN) { if (cx->currtok.type != TOK_OPERATOR || cx->currtok.val.opval != OP_RPAREN) { Parser_error(cx, "Open parenthesis"); return 1; } val1 = cx->exprval; if (Parser_next_postfixop(cx)) return -1; } else { assert(cx->currtok.type == TOK_SEMICOLON || (cx->currtok.type == TOK_OPERATOR && operators[op].lprio > operators[cx->currtok.val.opval].rprio)); val1 = (*operators[op].calc)(cx->exprval, (int)0xdeadbeef); } break; case TOK_NUMBER: val1 = cx->currtok.val.numval; #ifdef CONF_EVAL_DEBUG fprintf(stderr, "Parser_eval: got number %u\n", val1); #endif if (Parser_next_postfixop(cx)) return -1; break; default: Parser_eval_error(cx); return 1; } checkpostfixop: #ifdef CONF_EVAL_DEBUG fprintf(stderr, "Parser_eval: checkpostfixop: val1=%u\n", val1); #endif switch (cx->currtok.type) { case TOK_OPERATOR: op = cx->currtok.val.opval; #ifdef CONF_EVAL_DEBUG fprintf(stderr, "Parser_eval: postfix operator %s\n", op_dump[op]); #endif if (op == OP_NONE) { Parser_eval_error(cx); return 1; } assert(operators[op].rprio != DUMMY_PRIO); #ifdef CONF_EVAL_DEBUG fprintf(stderr, "Parser_eval: lprio=%d, operators[op].rprio=%d\n", lprio, operators[op].rprio); #endif if (lprio >= operators[op].rprio) { assert(op == OP_RPAREN || op == OP_COLON || lprio > operators[op].rprio); cx->exprval = val1; } else { #ifdef unused if (operators[op].lprio == DUMMY_PRIO) { val1 = (*operators[op].calc) (val1, (int)0xdeadbeef); if (Parser_next_postfixop(cx)) return -1; goto checkpostfixop; } #endif assert(operators[op].lprio != DUMMY_PRIO); if (Parser_next(cx)) return -1; r = Parser_eval(cx, operators[op].lprio); if (r) return r; if (op == OP_QUESTION) { unsigned int val2 = cx->exprval; if (cx->currtok.type != TOK_OPERATOR || cx->currtok.val.opval != OP_COLON) { Parser_error(cx, "Isolated '?' operator"); return 1; } if (Parser_next(cx)) return -1; r = Parser_eval(cx, COLON_LPRIO); if (r) return r; assert(cx->currtok.type == TOK_SEMICOLON || (cx->currtok.type == TOK_OPERATOR && COLON_LPRIO > operators[cx->currtok.val.opval].rprio)); val1 = val1 ? val2 : cx->exprval; } else if (op == OP_COLON) { Parser_error(cx, "Isolated ':' operator"); return 1; } else { assert(cx->currtok.type == TOK_SEMICOLON || (cx->currtok.type == TOK_OPERATOR && operators[op].lprio > operators[cx->currtok.val.opval].rprio)); val1 = (*operators[op].calc)(val1, cx->exprval); } goto checkpostfixop; } break; case TOK_SEMICOLON: cx->exprval = val1; break; default: Parser_eval_error(cx); return 1; } #ifdef CONF_EVAL_DEBUG fprintf(stderr, "Parser_eval: result %u\n", cx->exprval); #endif return 0; } static char * Parser_getstr(cx) Parser *cx; { RkiStrbuf sb; RkiStrbuf_init(&sb); do { if (RkiStrbuf_add(&sb, cx->currtok.val.strval)) { RkcErrorBuf_nomem(cx->errorbuf); goto fail; } if (Parser_next(cx)) goto fail; } while (cx->currtok.type == TOK_STRING); if (RkiStrbuf_term(&sb)) goto fail; return sb.sb_buf; fail: RkiStrbuf_destroy(&sb); return NULL; } DEF_CALCPROC(calc_comma) /* ARGUSED */ { return arg2; } DEF_CALCPROC_OP1(calc_uplus, +) DEF_CALCPROC_OP1(calc_uminus, -) DEF_CALCPROC_OP2(calc_bplus, +) DEF_CALCPROC_OP2(calc_bminus, -) DEF_CALCPROC_OP2(calc_multiply, *) DEF_CALCPROC_OP2(calc_divide, /) DEF_CALCPROC_OP2(calc_modulus, %) DEF_CALCPROC_OP2(calc_lshift, <<) DEF_CALCPROC_OP2(calc_rshift, >>) DEF_CALCPROC_OP2(calc_bitand, &) DEF_CALCPROC_OP2(calc_bitor, |) DEF_CALCPROC_OP2(calc_bitxor, ^) DEF_CALCPROC_OP1(calc_bitcompl, ~) DEF_CALCPROC_OP2(calc_equal, ==) DEF_CALCPROC_OP2(calc_nequal, !=) DEF_CALCPROC_OP2(calc_less, <) DEF_CALCPROC_OP2(calc_greater, >) DEF_CALCPROC_OP2(calc_lequal, <=) DEF_CALCPROC_OP2(calc_gequal, >=) DEF_CALCPROC_OP2(calc_land, &&) DEF_CALCPROC_OP2(calc_lor, ||) DEF_CALCPROC_OP1(calc_lnot, !) static const StmtRec top_statements[] = { { "cannahost", CONF_CANNAHOST, (StmtProc)NULL}, { "host", CONF_SPECIAL, (StmtProc)&syn_host}, }; static int syn_top(cx) Parser *cx; { while (cx->currtok.type != TOK_EOF) { if (cx->currtok.type == TOK_SEMICOLON) { if (Parser_next(cx)) return -1; continue; } if (Parser_stmt(cx, top_statements, ARRAYLEN(top_statements))) return -1; } return 0; } static const StmtRec host_statements[] = { { "server_timeout", CONF_SERVER_TIMEOUT, (StmtProc)NULL }, }; static int syn_host(cx) Parser *cx; { int res; int old_discard = cx->discard; int need_close_host = 0; char *host = NULL; if (cx->currtok.type == TOK_EOF || cx->currtok.type == TOK_SEMICOLON) { /* discard nothing */ Parser_error(cx, "Lack of hostname"); goto normalend; } if (cx->currtok.type != TOK_STRING) { Parser_error(cx, "Invalid argument"); /* parse but discard everything */ if (Parser_next(cx)) goto fatal; cx->discard = 1; } if (!(host = Parser_getstr(cx))) goto fatal; if (!(cx->currtok.type == TOK_CHAR && cx->currtok.val.chval == '{')) { /* discard only first arg */ Parser_error(cx, "Lack of open brace"); goto normalend; } assert(cx->currtok.type == TOK_CHAR && cx->currtok.val.chval == '{'); if (Parser_next(cx)) goto fatal; if (!cx->discard) { if (RkcConfMgr_openhost(cx->confmgr, host)) goto fatal; need_close_host = 1; } while (cx->currtok.type != TOK_EOF && !(cx->currtok.type == TOK_CHAR && cx->currtok.val.chval == '}')) { if (cx->currtok.type == TOK_SEMICOLON) { if (Parser_next(cx)) goto fatal; continue; } if (Parser_stmt(cx, host_statements, ARRAYLEN(host_statements))) goto fatal; } if (cx->currtok.type == TOK_EOF) { Parser_error(cx, "EOF in Host block"); goto normalend; } assert(cx->currtok.type == TOK_CHAR && cx->currtok.val.chval == '}'); res = Parser_next(cx); goto allend; fatal: res = -1; goto allend; normalend: res = 0; allend: cx->discard = old_discard; if (need_close_host) RkcConfMgr_closehost(cx->confmgr); free(host); return res; } static void RkcConfMgr_init(cx, errors) RkcConfMgr *cx; RkcErrorBuf *errors; { bzero(cx, sizeof(RkcConfMgr)); cx->errors = errors; } static void RkcConfMgr_destroy(cx) RkcConfMgr *cx; { size_t pos; HostRec *currhost = cx->hosts, *nexthost; for (pos = 0; pos < cx->n_topconf; ++pos) if (CONF_TYPE(cx->topconf[pos].item) == CONF_STRING) free(cx->topconf[pos].val.strval); free(cx->topconf); while (currhost) { nexthost = currhost->next; free(currhost->hostname); for (pos = 0; pos < currhost->n_hostconf; ++pos) if (CONF_TYPE(currhost->hostconf[pos].item) == CONF_STRING) free(currhost->hostconf[pos].val.strval); free(currhost->hostconf); free(currhost); currhost = nexthost; } } static int RkcConfMgr_openhost(cx, hostname) RkcConfMgr *cx; const char *hostname; { HostRec *hostrec; assert(!cx->currhost); hostrec = calloc(1, sizeof(HostRec)); if (!hostrec) goto nomem; hostrec->hostname = strdup(hostname); if (!hostrec->hostname) goto nomem; hostrec->next = cx->hosts; cx->hosts = cx->currhost = hostrec; return 0; nomem: if (hostrec) { free(hostrec->hostname); free(hostrec); } RkcErrorBuf_nomem(cx->errors); return -1; } static void RkcConfMgr_closehost(cx) RkcConfMgr *cx; { assert(cx->currhost); cx->currhost = NULL; } static ConfRec * RkcConfMgr_get_target(cx, item) RkcConfMgr *cx; ConfItem item; { ConfRec *rec, *endrec; ConfRec **conf; size_t *n_conf, *conf_size; if (cx->currhost) { conf = &cx->currhost->hostconf; n_conf = &cx->currhost->n_hostconf; conf_size = &cx->currhost->hostconf_size; } else { conf = &cx->topconf; n_conf = &cx->n_topconf; conf_size = &cx->topconf_size; } for (rec = *conf, endrec = *conf + *n_conf; rec; ++rec) if (rec->item == item) return rec; if (*n_conf == *conf_size) { size_t newsize = *conf_size * 2 + 2; ConfRec *tmp; tmp = realloc(*conf, newsize * sizeof(ConfRec)); if (!tmp) { RkcErrorBuf_nomem(cx->errors); return NULL; } *conf = tmp; *conf_size = newsize; } rec = *conf + *n_conf; rec->item = item; ++*n_conf; return rec; } static int RkcConfMgr_set_string(cx, item, val) RkcConfMgr *cx; ConfItem item; const char *val; { char *newval; ConfRec *target; assert(CONF_TYPE(item) == CONF_STRING); if (!(newval = strdup(val))) goto nomem; if (!(target = RkcConfMgr_get_target(cx, item))) return -1; target->val.strval = newval; return 0; nomem: RkcErrorBuf_nomem(cx->errors); return -1; } int RkcConfMgr_set_number(cx, item, val) RkcConfMgr *cx; ConfItem item; unsigned int val; { ConfRec *target; assert(CONF_TYPE(item) == CONF_NUMBER); if (!(target = RkcConfMgr_get_target(cx, item))) return -1; target->val.numval = val; return 0; } int RkcConfMgr_set_yesno(cx, item, val) RkcConfMgr *cx; ConfItem item; int val; { ConfRec *target; assert(CONF_TYPE(item) == CONF_YESNO); if (!(target = RkcConfMgr_get_target(cx, item))) return -1; target->val.yesnoval = val; return 0; } static int hostname_match(pattern, name) const char *pattern; const char *name; { const char *p, *endp; size_t namelen = strlen(name); p = pattern; for (;;) { endp = strchr(p, ','); if (!endp) break; if ((endp - p == 1 && *p == '*') || (endp - p == namelen && !strncmp(p, name, namelen))) return 1; p = endp + 1; } return !strcmp(p, "*") || !strcmp(p, name); } static const ConfRec * RkcConfMgr_find(cx, item, hostname) const RkcConfMgr *cx; ConfItem item; const char *hostname; { ConfRec *confrec, *confend; if (hostname) { const HostRec *hostrec; for (hostrec = cx->hosts; hostrec; hostrec = hostrec->next) { if (hostname_match(hostrec->hostname, hostname)) { confrec = hostrec->hostconf; confend = confrec + hostrec->n_hostconf; for (; confrec != confend; ++confrec) if (confrec->item == item) return confrec; } } } else { for (confrec = cx->topconf, confend = cx->topconf + cx->n_topconf; confrec != confend; ++confrec) if (confrec->item == item) return confrec; } return NULL; } typedef struct { ConfItem item; const char *val; } StrDefaultRec; typedef struct { ConfItem item; unsigned int val; } NumberDefaultRec; const StrDefaultRec top_str_defaults[] = { { CONF_CANNAHOST, "" }, }; const StrDefaultRec host_str_defaults[] = { { CONF_DUMMYCODE, NULL }, }; const NumberDefaultRec top_num_defaults[] = { { CONF_DUMMYCODE, 0u }, }; const NumberDefaultRec host_num_defaults[] = { { CONF_SERVER_TIMEOUT, 1500u }, }; const char * RkcConfMgr_get_string(cx, item, hostname) const RkcConfMgr *cx; ConfItem item; const char *hostname; { const ConfRec *confrec; const StrDefaultRec *defrec, *endrec; assert(CONF_TYPE(item) == CONF_STRING); confrec = RkcConfMgr_find(cx, item, hostname); if (confrec) return confrec->val.strval; if (hostname) { defrec = host_str_defaults; endrec = defrec + ARRAYLEN(host_str_defaults); } else { defrec = top_str_defaults; endrec = defrec + ARRAYLEN(top_str_defaults); } for (; defrec != endrec; ++defrec) if (defrec->item == item) break; assert(defrec != endrec); return (char *)defrec->val; } unsigned int RkcConfMgr_get_number(cx, item, hostname) const RkcConfMgr *cx; ConfItem item; const char *hostname; { const ConfRec *confrec; const NumberDefaultRec *defrec, *endrec; assert(CONF_TYPE(item) == CONF_NUMBER); confrec = RkcConfMgr_find(cx, item, hostname); if (confrec) return confrec->val.numval; if (hostname) { defrec = host_num_defaults; endrec = defrec + ARRAYLEN(host_num_defaults); } else { defrec = top_num_defaults; endrec = defrec + ARRAYLEN(top_num_defaults); } for (; defrec != endrec; ++defrec) if (defrec->item == item) break; assert(defrec != endrec); return defrec->val; } int RkcConfMgr_get_yesno(cx, item, hostname) const RkcConfMgr *cx; ConfItem item; const char *hostname; { const ConfRec *confrec; const NumberDefaultRec *defrec, *endrec; assert(CONF_TYPE(item) == CONF_YESNO); confrec = RkcConfMgr_find(cx, item, hostname); if (confrec) return confrec->val.yesnoval; if (hostname) { defrec = host_num_defaults; endrec = defrec + ARRAYLEN(host_num_defaults); } else { defrec = top_num_defaults; endrec = defrec + ARRAYLEN(top_num_defaults); } for (; defrec != endrec; ++defrec) if (defrec->item == item) break; assert(defrec != endrec); return (int)defrec->val; } /* vim: set sw=2: */ Canna37p3/lib/RKC/conf.h0100644000076500001200000000436207713716366014155 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: conf.h,v 1.1 2003/08/05 12:03:02 aida_s Exp $ */ #ifndef CONF_H #define CONF_H typedef struct tagRkcConfMgr RkcConfMgr; typedef struct tagRkcErrorBuf RkcErrorBuf; #define CONF_TYPE(i) ((i)&0xff00) #define CONF_NONE 0 #define CONF_SPECIAL 0x100 #define CONF_STRING 0x200 #define CONF_NUMBER 0x300 #define CONF_YESNO 0x400 typedef enum { /* top config */ CONF_CANNAHOST = CONF_STRING + 1, /* host config */ CONF_SERVER_TIMEOUT = CONF_NUMBER + 1, CONF_DUMMYCODE = 0x7fff } ConfItem; extern RkcErrorBuf rkc_errors; extern RkcConfMgr rkc_config; extern void rkc_configure pro((void)); extern void rkc_config_fin pro((void)); const char *const *RkcErrorBuf_get pro((RkcErrorBuf *cx)); const char *RkcConfMgr_get_string pro((const RkcConfMgr *cx, ConfItem item, const char *hostname)); unsigned int RkcConfMgr_get_number pro((const RkcConfMgr *cx, ConfItem item, const char *hostname)); int RkcConfMgr_get_yesno pro((const RkcConfMgr *cx, ConfItem item, const char *hostname)); #endif /* CONF_H */ /* vim: set sw=2: */ Canna37p3/lib/RKC/confP.h0100644000076500001200000001647407737761746014314 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: confP.h,v 1.7 2003/10/05 09:27:02 aida_s Exp $ */ /* ¼«Æ°È½Ê̻ٱ祳¥á¥ó¥È: ¤³¤ì¤ÏEUC-JP¤À¤¾¡£Éý¤È¤¤¤¦»ú¤¬¤¢¤ì¤ÐÂç¾æÉס£ */ #ifndef CONF_P_H #define CONF_P_H /*#define CONF_DEBUG*/ /*#define CONF_LEXER_DEBUG*/ /*#define CONF_EVAL_DEBUG*/ struct tagRkcErrorBuf { char **buf; size_t bufsize; size_t curr; int nomem; }; typedef enum { TOK_NONE, /* dummy */ TOK_INVAL, TOK_EOF, TOK_NUMBER, TOK_CHAR, TOK_SEMICOLON, TOK_YESNO, TOK_OPERATOR, TOK_STRING = 0x100, TOK_WORD, TOK_DUMMYCODE = 0x7fff } TokenType; typedef enum { OP_NONE, OP_COMMA, OP_LPAREN, OP_RPAREN, OP_QUESTION, OP_COLON, OP_UPLUS, OP_UMINUS, OP_BPLUS, OP_BMINUS, OP_MULTIPLY, OP_DIVIDE, OP_MODULUS, OP_LSHIFT, OP_RSHIFT, OP_BITAND, OP_BITOR, OP_BITXOR, OP_BITCOMPL, OP_EQUAL, OP_NEQUAL, OP_LESS, OP_GREATER, OP_LEQUAL, OP_GEQUAL, OP_LAND, OP_LOR, OP_LNOT, OP_DUMMY } Operator; #define DUMMY_PRIO (int)0xdeadbeef #define COMMA_LPRIO 11 #define COLON_LPRIO 20 typedef unsigned int (*CalcProc) pro((unsigned int, unsigned int)); typedef struct { int lprio; int rprio; CalcProc calc; } OperatorRec; typedef union { int chval; unsigned int numval; Operator opval; char *strval; } TokenVal; typedef struct { TokenType type; TokenVal val; } TokenRec; typedef struct { const char *curr; const char *rdend; RkcErrorBuf *errorbuf; unsigned int lineno; int eof_occured; int linetop; } Lexer; typedef struct { Lexer *lexer; RkcConfMgr *confmgr; RkcErrorBuf *errorbuf; TokenRec currtok; int discard; unsigned int exprval; } Parser; typedef int (*StmtProc) pro((Parser *cx)); typedef struct { const char *name; ConfItem item; StmtProc proc; } StmtRec; typedef union { unsigned int numval; int yesnoval; char *strval; } ConfVal; typedef struct { ConfItem item; ConfVal val; } ConfRec; typedef struct tagHostRec { struct tagHostRec *next; char *hostname; ConfRec *hostconf; size_t n_hostconf; size_t hostconf_size; } HostRec; struct tagRkcConfMgr { ConfRec *topconf; size_t n_topconf; size_t topconf_size; HostRec *hosts; HostRec *currhost; RkcErrorBuf *errors; }; static void RkcErrorBuf_init pro((RkcErrorBuf *cx)); static void RkcErrorBuf_destroy pro((RkcErrorBuf *cx)); static void RkcErrorBuf_add pro((RkcErrorBuf *cx, const char *msg)); #define RkcErrorBuf_nomem(cx) ((cx)->nomem = 1) #define TOKEN_STRHDR(str) ((size_t *)((str) - sizeof(size_t))) #define TOKEN_REF(tp) do { \ if ((tp)->type >= TOK_STRING) { \ size_t *hdrp = TOKEN_STRHDR((tp)->val.strval); \ assert(*hdrp > 0); \ ++*hdrp; \ } \ } while(0) #define TOKEN_UNREF(tp) do { \ if ((tp)->type >= TOK_STRING) { \ size_t *hdrp = TOKEN_STRHDR((tp)->val.strval); \ assert(*hdrp > 0); \ if (--*hdrp == 0) \ free(hdrp); \ } \ } while(0) #define TOKEN_INIT(utp) ((utp)->type = TOK_NONE) #define TOKEN_DESTROY(tp) TOKEN_UNREF(tp) #define TOKEN_COPYINIT(utp, src) do { \ *(utp) = *(src); \ TOKEN_REF(utp); \ } while(0) #define TOKEN_ASSIGN(tp, src) do { \ TOKEN_UNREF(dst); \ *(dst) = *(src); \ TOKEN_REF(dst); \ } while(0) #define TOKEN_SWAP(tp1, tp2) do { \ TokenRec tmp; \ tmp = *(tp1); \ *(tp1) = *(tp2); \ *(tp2) = tmp; \ } while(0) #define TOKEN_CLEAR(tp) do { \ TOKEN_UNREF(tp); \ TOKEN_INIT(tp); \ } while(0) static int Token_assignstr pro(( TokenRec *tp, const char *str, size_t len, int type)); #ifdef CONF_DEBUG static void Token_dump pro((const TokenRec *tp)); #endif static Lexer *Lexer_new pro(( const char *srcdata, size_t srcsize, RkcErrorBuf *errorbuf)); static void Lexer_delete pro((Lexer *cx)); static int Lexer_next pro((Lexer *cx, TokenRec *resp, int prefix_op)); static void Lexer_error pro((const Lexer *cx, const char *msg)); static Parser *Parser_new pro(( RkcConfMgr *confmgr, Lexer *lexer, RkcErrorBuf *errorbuf)); static void Parser_delete pro((Parser *cx)); static void Parser_run pro((Parser *cx)); static int Parser_next pro((Parser *cx)); static int Parser_next_postfixop pro((Parser *cx)); static void Parser_error pro((Parser *cx, const char *msg)); static void Parser_eval_error pro((Parser *cx)); static int Parser_eval pro((Parser *cx, int lprio)); static char *Parser_getstr pro((Parser *cx)); static int syn_top pro((Parser *cx)); static int syn_host pro((Parser *cx)); #define DECL_CALCPROC(x) static unsigned int x \ pro((unsigned int, unsigned int)) #define DEF_CALCPROC(x) static unsigned int \ x(arg1, arg2) \ unsigned int arg1; \ unsigned int arg2; #define DEF_CALCPROC_OP1(x, op) DEF_CALCPROC(x) \ /* ARGUSED */ \ { return op arg1; } #define DEF_CALCPROC_OP2(x, op) DEF_CALCPROC(x) \ { return arg1 op arg2; } DECL_CALCPROC(calc_comma); DECL_CALCPROC(calc_uplus); DECL_CALCPROC(calc_uminus); DECL_CALCPROC(calc_bplus); DECL_CALCPROC(calc_bminus); DECL_CALCPROC(calc_multiply); DECL_CALCPROC(calc_divide); DECL_CALCPROC(calc_modulus); DECL_CALCPROC(calc_lshift); DECL_CALCPROC(calc_rshift); DECL_CALCPROC(calc_bitand); DECL_CALCPROC(calc_bitor); DECL_CALCPROC(calc_bitxor); DECL_CALCPROC(calc_bitcompl); DECL_CALCPROC(calc_equal); DECL_CALCPROC(calc_nequal); DECL_CALCPROC(calc_less); DECL_CALCPROC(calc_greater); DECL_CALCPROC(calc_lequal); DECL_CALCPROC(calc_gequal); DECL_CALCPROC(calc_land); DECL_CALCPROC(calc_lor); DECL_CALCPROC(calc_lnot); static void RkcConfMgr_init pro((RkcConfMgr *cx, RkcErrorBuf *errors)); static void RkcConfMgr_destroy pro((RkcConfMgr *cx)); static int RkcConfMgr_openhost pro((RkcConfMgr *cx, const char *hostname)); static void RkcConfMgr_closehost pro((RkcConfMgr *cx)); static int RkcConfMgr_set_string pro((RkcConfMgr *cx, ConfItem item, const char *val)); static int RkcConfMgr_set_number pro((RkcConfMgr *cx, ConfItem item, unsigned int val)); static int RkcConfMgr_set_yesno pro((RkcConfMgr *cx, ConfItem item, int val)); #define CONFIG_DIR ".cannax/" #define CONFIG_FILE "rkc.conf" #define POSSTR CONFIG_FILE " line " #define NOMEM_MSG "\245\341\245\342\245\352\244\254\311\324\302\255\244" \ "\267\244\306\244\244\244\336\244\271\241\243" /* ¥á¥â¥ê¤¬ÉÔ­¤·¤Æ¤¤¤Þ¤¹¡£ */ #define ARRAYLEN(a) (sizeof(a) / sizeof(a[0])) #endif /* CONF_P_H */ /* vim: set sw=2: */ Canna37p3/lib/RKC/convert.c0100644000076500001200000007744310043301665014673 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: convert.c,v 1.9.2.1 2004/04/26 21:48:37 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "sglobal.h" #include "rkcw.h" #include "canna/RK.h" #include "rkc.h" #include "IRproto.h" #include "RKindep/file.h" #include #include /* ñ¸ìÅÐÏ¿¤Ç¼­½ñ¤¬ºî¤ì¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤º¥³¥á¥ó¥È¥¢¥¦¥È #ifdef CANNA_LIGHT #ifdef EXTENSION #undef EXTENSION #endif #endif */ #ifdef USE_EUC_PROTOCOL extern int ServerFD ; extern unsigned int ServerTimeout ; #define SENDBUFSIZE 1024 #define RECVBUFSIZE 1024 #define PROTOBUF (16 * 8) #define TRY_COUNT 10 #ifdef LESS_SPACE_IS_IMPORTANT #undef LTOL4 static void LTOL4(l, p) int l; BYTE *p; { p[0] = (l >> 24) & 0xff; p[1] = (l >> 16) & 0xff; p[2] = (l >> 8) & 0xff; p[3] = l & 0xff; } #undef L4TOL L4TOL(p) BYTE *p; { return (((((p[0] << 8) | p[1]) << 8) | p[2]) << 8) | p[3]; } #endif #ifdef DEBUGPROTO static void printproto(p, n) char *p; int n; { int i; for (i = 0 ; i < n ; i++) { if (i) { if ((i % 4) == 0) printf(" "); if ((i % 32) == 0) printf("\n"); } printf("%02x", (unsigned)((*p++) & 0xff)); } printf("\n"); } static void probe(format, n, p) char *format, *p; int n; { printf(format, n); printproto(p, n); } #else /* !DEBUGPROTO */ #define probe(a, b, c) #endif /* !DEBUGPROTO */ /* RkcRecvEReply() 1: Succeed; 0: Error; len_return: ¥Ç¡¼¥¿¤ÎŤµ¡£NULL ¤òÍ¿¤¨¤ì¤Ð ³ÊǼ¤·¤Ê¤¤¡£ bufsize < requiredsize ¤Ê¤é¶õÆÉ¤ß¤¹¤ë¡£ */ #define ReadServer RkcRecvEReply int RkcRecvEReply(buf, bufsize, requiredsize, len_return) BYTE *buf; int bufsize, requiredsize, *len_return; { int empty_count = 0, bufcnt = 0, readlen; unsigned rest = (unsigned)bufsize; BYTE *bufptr = buf; struct timeval timeout, timeout2; rki_fd_set rfds, rfds2; timeout.tv_sec = ServerTimeout / 1000; timeout.tv_usec = (ServerTimeout % 1000) * 1000; RKI_FD_ZERO(&rfds); RKI_FD_SET(ServerFD, &rfds); errno = 0; empty_count = 0; do { timeout2 = timeout; rfds2 = rfds; if (ServerTimeout) { int r = select(ServerFD + 1, &rfds2, NULL, NULL, &timeout2); if (r == 0) { break; } else if (r == -1) { if (errno == EINTR) continue; else break; } } readlen = read(ServerFD, (char *)bufptr, rest); if (readlen < 0) { if (errno == EINTR) { continue; } else { break; } } else if ( readlen == 0 ) { empty_count++; } else { /* ÆÉ¤ó¤À */ bufcnt += readlen; if (requiredsize <= bufsize) { bufptr += readlen; rest -= readlen; } } } while (empty_count < TRY_COUNT && (bufcnt == 0 || (requiredsize && bufcnt < requiredsize))); if (bufcnt == 0 || (requiredsize && bufcnt < requiredsize)) { errno = EPIPE; close(ServerFD); return NO; } else { probe("Read: %d\n", bufcnt, buf); if (len_return) *len_return = bufcnt; return YES; } } static #ifndef SIGNALRETURNSINT void #endif DoSomething(sig) int sig; /* ARGSUSED */ { errno = EPIPE; signal(SIGPIPE, DoSomething); } #define WriteServer RkcSendERequest int RkcSendERequest( Buffer, size ) const BYTE *Buffer ; int size ; { register int todo, retval = YES; register int write_stat; register const BYTE *bufindex; #ifdef SIGNALRETURNSINT static int (*Sig)(); #else /* !SIGNALRETURNSINT */ static void (*Sig)(); #endif /* !SIGNALRETURNSINT */ struct timeval timeout, timeout2; rki_fd_set wfds, wfds2; timeout.tv_sec = ServerTimeout / 1000; timeout.tv_usec = (ServerTimeout % 1000) * 1000; RKI_FD_ZERO(&wfds); RKI_FD_SET(ServerFD, &wfds); errno = 0 ; bufindex = Buffer ; todo = size ; Sig = signal(SIGPIPE, DoSomething); while (size) { timeout2 = timeout; wfds2 = wfds; errno = 0; probe("Write: %d\n", todo, (char *)bufindex); if (ServerTimeout) { int r = select(ServerFD + 1, NULL, &wfds, NULL, &timeout2); if (r == 0) { goto fail; } else if (r == -1) { if (errno == EINTR) continue; else goto fail; } } } write_stat = write(ServerFD, (char *)bufindex, (unsigned)todo); if (write_stat >= 0) { size -= write_stat; todo = size; bufindex += write_stat; } else if (errno == EWOULDBLOCK) { /* pc98 */ continue ; } else if (errno == EINTR) { continue; } #ifdef EMSGSIZE else if (errno == EMSGSIZE) { if (todo > 1) todo >>= 1; else continue ; } #endif else { goto fail; } } goto last; fail: close( ServerFD ) ; retval = NO; errno = EPIPE ; break; last: signal(SIGPIPE, Sig); return retval; } static SendType0Request(proto, len, name) /* Initialize */ long proto, len; BYTE *name; { BYTE lbuf[PROTOBUF], *bufp = lbuf, *p; int sz = 8 + len; int res; if (sz <= PROTOBUF || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(proto, p); p += SIZEOFLONG; LTOL4(len, p); p += SIZEOFLONG; strcpy((char *)p, (char *)name); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return NO; } } static SendTypeE1Request(proto) /* Finalize */ int proto; { BYTE lbuf[4]; LTOL4(proto, lbuf); return WriteServer(lbuf, sizeof(lbuf)); } static SendTypeE2Request(proto, con) /* IR_DUP_CON */ int proto, con; { BYTE lbuf[8], *p; LTOL4(proto, lbuf); p = lbuf + SIZEOFLONG; LTOL4(con, p); return WriteServer(lbuf, sizeof(lbuf)); } static SendTypeE3Request(proto, con, val) /* IR_DIC_LIST */ int proto, con, val; { BYTE lbuf[12], *p; LTOL4(proto, lbuf); p = lbuf + SIZEOFLONG; LTOL4(con, p); p += SIZEOFLONG; LTOL4(val, p); return WriteServer(lbuf, sizeof(lbuf)); } static SendTypeE4Request(proto, con, bun, val) /* IR_GET_YOMI */ int proto, con, bun, val; { BYTE lbuf[16], *p; LTOL4(proto, lbuf); p = lbuf + SIZEOFLONG; LTOL4(con, p); p += SIZEOFLONG; LTOL4(bun, p); p += SIZEOFLONG; LTOL4(val, p); return WriteServer(lbuf, sizeof(lbuf)); } static SendTypeE5Request(proto, con, bun, val, max) /* IR_GET_LEX */ int proto, con, bun, val; { BYTE lbuf[5 * SIZEOFLONG], *p; LTOL4(proto, lbuf); p = lbuf + SIZEOFLONG; LTOL4(con, p); p += SIZEOFLONG; LTOL4(bun, p); p += SIZEOFLONG; LTOL4(val, p); p += SIZEOFLONG; LTOL4(max, p); return WriteServer(lbuf, sizeof(lbuf)); } static SendTypeE6Request(proto, con, bun, name, nlen) /* IR_STO_YOMI */ int proto, con, bun, nlen; BYTE *name; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int res, sz = 4 * SIZEOFLONG + nlen; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(proto, p); p += SIZEOFLONG; LTOL4(con, p); p += SIZEOFLONG; LTOL4(bun, p); p += SIZEOFLONG; LTOL4(nlen, p); p += SIZEOFLONG; strncpy((char *)p, (char *)name, nlen); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return NO; } static SendTypeE7Request(proto, cx, val) /* IR_CONV_END */ int proto, val; RkcContext *cx; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int res, con = (int)cx->server, mbun = val * (int)cx->maxbun, i; int datalen = mbun * SIZEOFLONG, sz = 3 * SIZEOFLONG + datalen; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(proto, p); p += SIZEOFLONG; LTOL4(con, p); p += SIZEOFLONG; LTOL4(mbun, p); p += SIZEOFLONG; for (i = 0 ; i < mbun ; i++) { int kn = (int)cx->bun[i].curcand; LTOL4(kn, p); p += SIZEOFLONG; } res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return NO; } static SendTypeE9Request(proto, con, name, nlen, val) /* IR_MNT_DIC */ int proto, con, nlen, val; BYTE *name; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int res, sz = 4 * SIZEOFLONG + nlen; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(proto, p); p += SIZEOFLONG; LTOL4(con, p); p += SIZEOFLONG; LTOL4(nlen, p); p += SIZEOFLONG; strncpy((char *)p, (char *)name, nlen); p += nlen; LTOL4(val, p); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return NO; } static SendTypeE10Request(proto, con, name, nlen, val, vlen) /* IR_DEF_DIC */ int proto, con, nlen, vlen; BYTE *name, *val; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int res, sz = 4 * SIZEOFLONG + nlen + vlen; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(proto, p); p += SIZEOFLONG; LTOL4(con, p); p += SIZEOFLONG; LTOL4(nlen, p); p += SIZEOFLONG; strncpy((char *)p, (char *)name, nlen); p += nlen; LTOL4(vlen, p); p += SIZEOFLONG; strncpy((char *)p, (char *)val, vlen); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return NO; } static SendTypeE11Request(proto, con, name, nlen, dest, dlen, val) int proto, con, nlen, dlen, val; BYTE *name, *dest; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int res, sz = 5 * SIZEOFLONG + nlen + dlen; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(proto, p); p += SIZEOFLONG; LTOL4(con, p); p += SIZEOFLONG; LTOL4(nlen, p); p += SIZEOFLONG; strncpy((char *)p, (char *)name, nlen); p += nlen; LTOL4(dlen, p); p += SIZEOFLONG; strncpy((char *)p, (char *)dest, dlen); p += dlen; LTOL4(val, p); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return NO; } static SendTypeE12Request(proto, name, nlen, val) /* IR_QUERY_EXT */ long proto, nlen, val; BYTE *name; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int res, sz = 3 * SIZEOFLONG + nlen; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(proto, p); p += SIZEOFLONG; LTOL4(nlen, p); p += SIZEOFLONG; strncpy((char *)p, (char *)name, nlen); p += nlen; LTOL4(val, p); p += SIZEOFLONG; res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return NO; } #define RecvType0Reply RecvTypeE1Reply /* Initinalize */ static RecvTypeE1Reply(rep) /* Finalize */ long *rep; { BYTE lbuf[SIZEOFLONG]; if (ReadServer(lbuf, sizeof(lbuf), SIZEOFLONG, 0)) { *rep = (long)L4TOL(lbuf); return YES; } return NO; } /* GeneralReply £´¥Ð¥¤¥ÈÌܤ«¤é£´¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ò½¦¤Ã¤ÆÍè¤ë¤È¡¢¤½¤³¤«¤é¸å¤í¤Î¥Ç¡¼¥¿Ä¹ ¤¬½¦¤¨¤ë¤è¤¦¤Ê¥ê¥×¥é¥¤¤ò½¦¤¦¤¿¤á¤Î¥ë¡¼¥Á¥ó¡£ rep ¸Æ½Ð¤·¤¬¤ï¤ËÊÖ¤¹Ãͤò³ÊǼ¤¹¤ë¥¢¥É¥ì¥¹¡£ storefunc ½¦¤Ã¤ÆÍ褿¥Ç¡¼¥¿¤Î³ÊǼ¥ë¡¼¥Á¥ó¡£ addr ³ÊǼ¤¹¤ëÀè¤Î¥¢¥É¥ì¥¹¡£ unit addr ¤ÎÂ礭¤µ¤Îñ°Ì¤¬¥Ð¥¤¥È¤Ç¿ô¤¨¤Æ¤¤¤¯¤Ä¤«¤È¸À¤¦¤³¤È¤òɽ¤¹ÃÍ¡£ maxn ¤½¤Îñ°Ì¤ÎÂ礭¤µ¤Î¥Ç¡¼¥¿¤¬ addr ¤Ë¤Ï¤¤¤¯¤ÄÀѤá¤ë¤«¤È¸À¤¦¤³¤È¡£ offset storefunc ¤Ë¥Ç¡¼¥¿¤òÅϤ¹»þ¤Î¥ª¥Õ¥»¥Ã¥È¡£ */ static GeneralReply(rep, storefunc, addr, maxn, unit, offset) int *rep, (*storefunc)(), maxn, unit, offset; BYTE *addr; { BYTE lbuf[RECVBUFSIZE], *bufp = lbuf, *p; int res, datalen, readlen, readcnt, requiredsize, retval; if (!ReadServer(lbuf, RECVBUFSIZE, SIZEOFLONG, &readlen)) { return NO; } res = L4TOL(lbuf); p = lbuf + SIZEOFLONG; if (res >= 0) { readcnt = readlen; readlen = 0; if (readcnt < 2 * SIZEOFLONG) { if (!ReadServer(lbuf + readcnt, RECVBUFSIZE - readcnt, 2 * SIZEOFLONG - readcnt, &readlen)) { return NO; } readcnt += readlen; } datalen = L4TOL(p); p += SIZEOFLONG; requiredsize = 2 * SIZEOFLONG + datalen; if (readcnt < requiredsize) { if (RECVBUFSIZE < requiredsize) { bufp = (BYTE *)malloc(requiredsize); if (!bufp) { (void)ReadServer(lbuf, RECVBUFSIZE, requiredsize, 0); return NO; } bcopy(lbuf, bufp, readcnt); } if (!ReadServer(bufp + readcnt, requiredsize - readcnt, requiredsize - readcnt, &readlen)) { retval = NO; goto endGenRep; } } /* ¤³¤³¤Þ¤Ç¤Ï¡¢¤É¤Á¤é¤«¤È¸À¤¦¤È½ã¿è¤Ê read */ if (storefunc) { res = (*storefunc)(res, bufp + offset * SIZEOFLONG, datalen, addr, maxn, unit); } *rep = res; retval = YES; endGenRep: if (bufp != lbuf) free((char *)bufp); return retval; } return NO; } #define RecvTypeE2Reply(rep, storefunc, addr, maxsize) \ GeneralReply(rep, storefunc, addr, maxsize, sizeof(char), 2) #define RecvTypeE3Reply(rep, storefunc, addr, maxn, unit) \ GeneralReply(rep, storefunc, addr, maxn, unit, 2) static RecvTypeE4Reply(rep, storefunc, addr, maxn, unit) /* IR_GET_LEX */ int *rep, maxn, unit; int (*storefunc)(); BYTE *addr; { return GeneralReply(rep, storefunc, addr, maxn, unit, 1); } /* * ¥µ¡¼¥Ð¤«¤éÊÖ¤µ¤ì¤¿Âè°ì¸õÊäÎó¤ò¡¢Âè°ì¸õÊäÎó¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤¹¤ë¡£ * ¤·¤¿¤¬¤Ã¤Æ¡¢bun->kanji¤Î¥Ý¥¤¥ó¥¿¤Î»Ø¤¹°ÌÃÖ¤ÏÊѲ½¤·¤Ê¤¤¡£ */ static int firstKouhoStore(n, cx, data, datalen) int n, datalen; RkcContext *cx; BYTE *data; /* ARGSUSED */ { register Ushort *return_kouho, *wp, *ewp; register int i, save_len ; Ushort *first_kouho = cx->Fkouho ; int length, euc_len, res = n; BYTE *p; if (n < 0) return n; /* ¥³¥Ô¡¼¤¹¤Ù¤­¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤òÄ´¤Ù¤ë */ for (i = 0 ; i < (int)cx->curbun ; i++) { first_kouho += ushortstrlen(first_kouho) + 1; } save_len = first_kouho - cx->Fkouho; euc_len = 0; p = data; for (i = (int)cx->curbun ; i < n ; i++) { int ulen = L4TOL(p); p += SIZEOFLONG; euc_len += eucchars(p, ulen); p += ulen; } if (!(wp = (Ushort *)malloc((save_len + euc_len + 2) * 2))) { /* +2 ¤Ï euc2ushort ¤¬ºÇ¸å¤Þ¤ÇÀѤá¤ë¤«É԰¤ʤ¿¤á¡£ */ res = -1; } else { return_kouho = wp; ewp = wp + save_len + euc_len + 2; for( first_kouho = cx->Fkouho, i = 0; i < (int)cx->curbun; i++ ) { (void)ushortstrcpy(wp, first_kouho); length = ushortstrlen(first_kouho) + 1; wp += length; first_kouho += length; } p = data; for (i = (int)cx->curbun ; i < n ; i++) { int ulen = L4TOL(p); p += SIZEOFLONG; wp += euc2ushort((char *)p, ulen, wp, ewp - wp); p += ulen; } /* *(++wp) = (Ushort)0 ; ²¼¤Î¤Û¤¦¤¬Àµ¤·¤¤¤È»×¤¦¡£ */ *wp = (Ushort)0 ; free((char *)cx->Fkouho); cx->Fkouho = return_kouho ; } return res; } static long rkc_initialize( username ) char *username ; { long reply; long len = strlen( (char *)username ) + 1 ; if (SendType0Request((long) IR_INIT, len, (BYTE *)username) && RecvType0Reply(&reply)) { if (reply < 0) { close(ServerFD); } return reply; } return ((long ) -1); } static Fin_Create( request ) int request ; { int reply; if (SendTypeE1Request(request) && RecvTypeE1Reply(&reply)) { return reply; } return -1; } static rkc_finalize() { int retval = Fin_Create(IR_FIN); (void)close(ServerFD); return retval; } static rkc_create_context() { return( Fin_Create( IR_CRE_CON ) ) ; } static Dup_Close_CX( cx_num, request ) int cx_num, request ; { int reply; if (SendTypeE2Request(request, cx_num)&& RecvTypeE1Reply(&reply)) { return reply; } return -1; } static rkc_duplicate_context( cx ) register RkcContext *cx ; { return( Dup_Close_CX( (int)cx->server, IR_DUP_CON ) ) ; } static rkc_close_context( cx ) register RkcContext *cx ; { return( Dup_Close_CX( (int)cx->server, IR_CLO_CON ) ) ; } static int dicStore(n, src, slen, dest, dmax, unit) BYTE *src, *dest; int n, slen, unit, dmax; /* ARGSUSED */ { BYTE *p = dest, *endp = dest + dmax - 2; /* 2 for EOS */ BYTE *wp = src, *wendp = src + slen; int len, i; for (i = 0 ; i < n && p < endp && wp < wendp ; i++) { len = L4TOL(wp); wp += SIZEOFLONG; if (endp < p + len) break; strcpy((char *)p, (char *)wp); p += len; wp += len; } *p = '\0'; return i; } static Dic_Dir_List( context, data, max, request ) int context, max, request ; char *data ; { int reply; if (SendTypeE3Request(request, context, max) && RecvTypeE2Reply(&reply, dicStore, (BYTE *)data, max)) { return reply; } return -1; } static rkc_dictionary_list( cx, dicnames, max) register RkcContext *cx ; char *dicnames; int max ; { return Dic_Dir_List((int)cx->server, dicnames, max, IR_DIC_LIST); } static Define_Delete_dic( cx, dicname, wordrec, request ) register RkcContext *cx ; char *dicname, *wordrec ; { int reply; if (SendTypeE10Request(request, (int)cx->server, (BYTE *)dicname, strlen((char *)dicname) + 1, (BYTE *)wordrec, strlen((char *)wordrec) + 1) && RecvTypeE1Reply(&reply)) { return reply; } return -1; } static rkc_define_dic( cx, dicname, wordrec) register RkcContext *cx ; char *dicname; Ushort *wordrec ; { char cbuf[RK_LINE_BMAX]; (void)ushort2euc(wordrec, ushortstrlen(wordrec), cbuf, RK_LINE_BMAX); return Define_Delete_dic(cx, dicname, cbuf, IR_DEF_DIC); } static rkc_delete_dic( cx, dicname, wordrec) register RkcContext *cx ; char *dicname ; Ushort *wordrec ; { char cbuf[RK_LINE_BMAX]; (void)ushort2euc(wordrec, ushortstrlen(wordrec), cbuf, RK_LINE_BMAX); return Define_Delete_dic(cx, dicname, cbuf, IR_UNDEF_DIC); } static mount_dic(req, con, dat, mod) int req, con, mod; char *dat; { int reply, datlen = strlen((char *)dat) + 1; if (SendTypeE9Request(req, con, (BYTE *)dat, datlen, mod) && RecvTypeE1Reply(&reply)) { return reply; } return -1; } static rkc_mount_dictionary( cx, dicname, mode ) register RkcContext *cx ; char *dicname ; int mode ; { return mount_dic(IR_MNT_DIC, (int)cx->server, dicname, mode); } static rkc_umount_dictionary( cx, dicname ) register RkcContext *cx ; char *dicname ; { return mount_dic(IR_UMNT_DIC, cx->server, dicname, 0); } static rkc_remount_dictionary( cx, dicname, where ) register RkcContext *cx ; char *dicname ; int where ; { int reply, datalen = strlen(dicname) + 1; if (SendTypeE6Request(IR_RMNT_DIC, cx->server, where, (BYTE *)dicname, datalen) && RecvTypeE1Reply(&reply)) { return reply; } return -1; } static rkc_mount_list( cx, data, max) RkcContext *cx ; char *data; int max ; { return Dic_Dir_List(cx->server, data, max, IR_MNT_LIST); } rkc_get_dir_list( cx, ddname, maxddname ) RkcContext *cx ; char *ddname ; int maxddname ; { return( Dic_Dir_List( cx->server, ddname, maxddname, IR_DIR_LIST ) ) ; } #define GAKUSHU 1 static rkc_convert_end( cx, mode ) RkcContext *cx ; int mode ; { int reply, gakushu = (mode & GAKUSHU) ? 1 : 0; if (SendTypeE7Request(IR_CONV_END, cx, gakushu) && RecvTypeE1Reply(&reply)) { return reply; } return -1; } static convStore(n, data, datalen, contex, v, u) int n, datalen, v, u; BYTE *data, *contex; /* ARGSUSED */ { RkcContext *cx = (RkcContext *)contex; int ret; if ((ret = firstKouhoStore(n, cx, data, datalen)) < 0 ){ (void)rkc_convert_end( cx, 0 ); } return ret; } static rkc_convert( cx, yomi, length, mode ) RkcContext *cx ; int length ,mode; Ushort *yomi ; { int reply, datalen = ushort2eucsize(yomi, length) + 1, res = -1; char cbuf[BUFSIZE], *bufp = cbuf; if (datalen <= BUFSIZE || (bufp = malloc(datalen + 2))) { (void)ushort2euc(yomi, length, bufp, datalen + 2); /* +2 ¤Ï ushort2euc ¤¬¤Á¤ã¤ó¤ÈµÍ¤á¤Æ¤¯¤ì¤ë¤«É԰¤ʤ¿¤á¡£ */ if (SendTypeE9Request(IR_CONVERT, cx->server, (BYTE *)bufp, datalen, mode) && RecvTypeE2Reply(&reply, convStore, (BYTE *)cx, 0)) { res = reply; } else { res = -1; } if (bufp != cbuf) free(bufp); } return res; } static yomiStore(n, data, datalen, dest, destlen, unit) int n, datalen, destlen, unit; BYTE *data, *dest; /* ARGSUSED */ { int len = L4TOL(data); data += SIZEOFLONG; if (n < len) len = n; return euc2ushort((char *)data, len, (Ushort *)dest, destlen); } static rkc_get_yomi( cx, yomip ) register RkcContext *cx ; Ushort *yomip ; { int reply; if (SendTypeE4Request(IR_GET_YOMI, cx->server, (int)cx->curbun, BUFSIZE) && RecvTypeE2Reply(&reply, yomiStore, (BYTE *)yomip, CBUFSIZE)) { return reply; } return -1; } static kanlisStore(n, data, datalen, cox, v, u) int n, datalen, v, u; BYTE *data, *cox; /* ARGSUSED */ { RkcContext *cx = (RkcContext *)cox; RkcBun *bun = cx->bun + (int)cx->curbun; int len, i; Ushort *kouho_list, *wp, *ewp; BYTE *p; if (n < 0) return n; len = 0; p = data; for (i = 0 ; i < n ; i++) { int ulen = L4TOL(p); p += SIZEOFLONG; len += eucchars(p, ulen); p += ulen; } if (len > 0 && (kouho_list = (Ushort *)malloc((len + 2) * SIZEOFSHORT))) { /* +2 ¤Ï euc2ushort ¤¬ºÇ¸å¤Þ¤ÇµÍ¤á¤é¤ì¤ë¤«É԰¤ʤ¿¤á */ p = data; wp = kouho_list; ewp = wp + len + 2; for (i = 0 ; i < n ; i++) { int ulen = L4TOL(p); p += SIZEOFLONG; wp += euc2ushort((char *)p, ulen, wp, ewp - wp); p += ulen; } bun->kanji = kouho_list; } return n; } rkc_get_kanji_list( cx ) register RkcContext *cx ; { int reply; if (SendTypeE4Request(IR_KAN_LST, (int)cx->server, (int)cx->curbun, BUFSIZE) && RecvTypeE2Reply(&reply, kanlisStore, (BYTE *)cx, 0)) { return reply; } return -1; } extern int _RkwGetYomi(); static resizeStore(n, data, datalen, contex, v, u) int n, datalen, v, u; BYTE *data, *contex; /* ARGSUSED */ { return firstKouhoStore(n, (RkcContext *)contex, data, datalen); } static rkc_resize( cx, yomi_length ) register RkcContext *cx ; int yomi_length ; { Ushort cbuf[CBUFSIZE]; register int ret, euclen = 0; short curbun; int reply; if( yomi_length > 0 ){ curbun = cx->curbun; for( ; (cx->curbun < cx->maxbun) ; (cx->curbun)++ ) { /* ¤á¤Ã¤Á¤ã¸úΨ°­¤¤¤±¤É¤·¤ã¤¢¤Ê¤¤¤«¤¡ */ /* ¤À¤¤¤¿¤¤¤³¤¤¤Ä¤é ushort¤Î»ö¤Ê¤ó¤«¹Í¤¨¤Æ¤Ø¤ó¤ä¤ó¤« */ if( (ret = _RkwGetYomi( cx, cbuf, CBUFSIZE )) < 0 ) { cx->curbun = curbun; return( -1 ) ; } if( yomi_length > ret ) { euclen += ushort2eucsize(cbuf, ret); yomi_length -= ret; } else { euclen += ushort2eucsize(cbuf, yomi_length); break; } } cx->curbun = curbun; } else euclen = yomi_length; if (SendTypeE4Request(IR_RESIZE, cx->server, cx->curbun, euclen) && RecvTypeE2Reply(&reply, resizeStore, (BYTE *)cx, 0)) { return reply; } return -1; } static rkc_store_yomi( cx, yomi, max ) register RkcContext *cx ; Ushort *yomi ; int max ; { int reply, len; char cbuf[BUFSIZE], *bufp = cbuf; len = ushort2eucsize(yomi, max); if (len + 2 <= BUFSIZE || (bufp = malloc(len + 2))) { (void)ushort2euc(yomi, max, bufp, len + 2); if (!SendTypeE6Request(IR_STO_YOMI, (int)cx->server, (int)cx->curbun, (BYTE *)bufp, len) || !RecvTypeE2Reply(&reply, resizeStore, (BYTE *)cx, 0)) { reply = -1; } if (bufp != cbuf) free(bufp); } else { reply = -1; } return reply; } static int RemoteDicUtilBaseProtoNumber = 0; static Query_Extension() { if( !RemoteDicUtilBaseProtoNumber ){ int datalen = strlen( REMOTE_DIC_UTIL ) + 1 ; if (SendTypeE12Request(IR_QUERY_EXT, (BYTE *)REMOTE_DIC_UTIL, datalen, MAXEXTREQUESTNO + 1) && RecvTypeE1Reply(&RemoteDicUtilBaseProtoNumber)) { return RemoteDicUtilBaseProtoNumber; } return -1; } else { return( RemoteDicUtilBaseProtoNumber ) ; } } #ifdef EXTENSION static rkc_list_dictionary( cx, dirname, dicnames_return, size ) register RkcContext *cx ; char *dirname, *dicnames_return ; int size ; { int reply, datalen = strlen(dirname) + 1; int extension_base = Query_Extension() ; if (extension_base < 0) return -1; if (size < datalen) datalen = size; if (SendTypeE6Request(IR_LIST_DIC + extension_base, cx->server, size, (BYTE *)dirname, datalen) && RecvTypeE2Reply(&reply, dicStore, dicnames_return, size)) { return reply; } return -1; } static rkc_create_dictionary( cx, dicname, mode ) register RkcContext *cx ; char *dicname ; int mode ; { int extension_base = Query_Extension() ; if( extension_base < 0 ) return( -1 ) ; return mount_dic(IR_CREAT_DIC + extension_base, cx->server, dicname, mode); } static rkc_destroy_dictionary(cx, dicname, xx) register RkcContext *cx ; char *dicname; int xx; /* ARGSUSED */ { int extension_base = Query_Extension() ; if( extension_base < 0 ) return( -1 ) ; return mount_dic(IR_DEST_DIC + extension_base, cx->server, dicname, 0); } static rkc_rename_dictionary( cx, dicname, newdicname, mode ) register RkcContext *cx ; char *dicname, *newdicname; int mode ; { int reply; int extension_base = Query_Extension() ; if( extension_base < 0 ) return( -1 ) ; if (SendTypeE11Request(IR_RENAME_DIC + extension_base, (int)cx->server, (BYTE *)dicname, strlen(dicname) + 1, (BYTE *)newdicname, strlen(newdicname) + 1, mode) && RecvTypeE1Reply(&reply)) { return reply; } return -1; } /* ARGSUSED */ static rkc_get_text_dictionary( cx, dirname, dicname, info, infolen ) register RkcContext *cx ; char *dirname, *dicname; Ushort *info ; int infolen ; { int extension_base = Query_Extension() ; int ret ; if( extension_base < 0 ) return( -1 ) ; if (SendTypeE11Request(IR_GET_WORD_DIC + extension_base, (int)cx->server, (BYTE *)dirname, strlen(dirname) + 1, (BYTE *)dicname, strlen(dicname) + 1, infolen) && RecvTypeE2Reply(&ret, yomiStore, (BYTE *)info, infolen * SIZEOFSHORT)) { return ret; } return -1; } #endif /* EXTENSION */ /* ARGSUSED */ static statStore(n, src, slen, dest, maxn, unit) int n, slen, maxn, unit; BYTE *src; RkStat *dest; { if (!(n < 0)) { dest->bunnum = (int)L4TOL(src); /* bunsetsu bangou */ src += SIZEOFLONG; dest->candnum = (int)L4TOL(src); /* kouho bangou */ src += SIZEOFLONG; dest->maxcand = (int)L4TOL(src); /* sou kouho suu */ src += SIZEOFLONG; dest->diccand = (int)L4TOL(src); /* jisho ni aru kouho suu */ src += SIZEOFLONG; dest->ylen = (int)L4TOL(src); /* yomigana no nagasa (in byte) */ src += SIZEOFLONG; dest->klen = (int)L4TOL(src); /* kanji no nagasa (in byte) */ src += SIZEOFLONG; dest->tlen = (int)L4TOL(src); /* tango no kosuu */ } return n; } /* ARGSUSED */ static lexStore(n, src, slen, dest, maxn, unit) int n, slen, maxn, unit; BYTE *src; RkLex *dest; { int i; if (n > 0 && n > maxn) n = maxn; for (i = 0; i < n; i++, dest++) { dest->ylen = (int)L4TOL(src); /* yomigana no nagasa (in byte) */ src += SIZEOFLONG; dest->klen = (int)L4TOL(src); /* kanji no nagasa (in byte) */ src += SIZEOFLONG; dest->rownum = (int)L4TOL(src); /* row number */ src += SIZEOFLONG; dest->colnum = (int)L4TOL(src); /* column number */ src += SIZEOFLONG; dest->dicnum = (int)L4TOL(src); /* dic number */ src += SIZEOFLONG; } return n; } static rkc_get_stat( cx, stat ) register RkcContext *cx ; RkStat *stat ; { int reply, n, i; Ushort cbuf[CBUFSIZE], *src_kanji; if (SendTypeE4Request(IR_GET_STA, cx->server, cx->curbun, cx->bun[cx->curbun].curcand) && RecvTypeE3Reply(&reply, statStore, (BYTE *)stat, 1, sizeof(RkStat) / sizeof(int))) { if (reply == 0) { stat->ylen = _RkwGetYomi(cx, cbuf, CBUFSIZE); switch( cx->bun[cx->curbun].flags ){ case NOTHING_KOUHO: stat->klen = stat->ylen; break; case FIRST_KOUHO: stat->klen = ushortstrlen(cx->bun[cx->curbun].kanji); break; case NUMBER_KOUHO: src_kanji = cx->bun[cx->curbun].kanji; n = cx->bun[cx->curbun].curcand; for (i = 0 ; i < n ; i++) src_kanji += ushortstrlen( src_kanji ) + 1; stat->klen = ushortstrlen(src_kanji); break; } } } return reply; } static rkc_get_lex( cx, max, info_return ) register RkcContext *cx ; int max ; RkLex *info_return ; { int ret, len, i, ylen, klen; char kbuf[BUFSIZE], ybuf[BUFSIZE]; Ushort cbuf[CBUFSIZE], *src_kanji; RkcBun *bun = cx->bun + cx->curbun; RkLex *tango; if (!SendTypeE5Request(IR_GET_LEX, cx->server, cx->curbun, cx->bun[cx->curbun].curcand, max) || !RecvTypeE4Reply(&ret, lexStore, (BYTE *)info_return, max, sizeof(RkLex) / sizeof(int))) { ret = -1; } if (ret >= 0) { len = _RkwGetYomi(cx, cbuf, CBUFSIZE); (void)ushort2euc(cbuf, len, ybuf, BUFSIZE); switch( bun->flags ){ case NOTHING_KOUHO: src_kanji = cbuf; break; case FIRST_KOUHO: src_kanji = bun->kanji; break; case NUMBER_KOUHO: src_kanji = bun->kanji; for( i = 0; i < bun->curcand; i++ ) src_kanji += ushortstrlen( src_kanji ) + 1; break; } (void)ushort2euc(src_kanji, ushortstrlen(src_kanji), kbuf, BUFSIZE); ylen = klen = 0; tango = info_return; for( i = 0; i < ret; i++ ){ len = tango->ylen; tango->ylen = euc2ushort(ybuf + ylen, len, cbuf, CBUFSIZE); ylen += len; len = tango->klen; tango->klen = euc2ushort(kbuf + klen, len, cbuf, CBUFSIZE); klen += len; tango++; } } return( ret ); } #endif /* USE_EUC_PROTOCOL */ static int rkc_error() { return -1; } struct rkcproto eucproto = { #ifdef USE_EUC_PROTOCOL rkc_initialize, rkc_finalize, rkc_close_context, rkc_create_context, rkc_duplicate_context, rkc_dictionary_list, rkc_define_dic, rkc_delete_dic, rkc_mount_dictionary, rkc_remount_dictionary, rkc_umount_dictionary, rkc_mount_list, rkc_convert, rkc_convert_end, rkc_get_kanji_list, rkc_get_stat, rkc_resize, rkc_store_yomi, rkc_get_yomi, rkc_get_lex, (autoconv_t)rkc_error, (subst_yomi_t)rkc_error, (flush_yomi_t)rkc_error, (get_last_yomi_t)rkc_error, (remove_bun_t)rkc_error, (get_simple_kanji_t)rkc_error, (query_dic_t)rkc_error, (get_hinshi_t)rkc_error, (store_range_t)rkc_error, (set_locale_t)rkc_error, (set_app_name_t)rkc_error, (notice_group_name_t)rkc_error, (through_t)rkc_error, (killserver_t)rkc_error, #ifdef EXTENSION rkc_list_dictionary, rkc_create_dictionary, rkc_destroy_dictionary, rkc_rename_dictionary, rkc_get_text_dictionary, (sync_t)rkc_error, (chmod_dic_t)rkc_error, (copy_dictionary_t)rkc_error, #endif /* EXTENSION */ #else /* !USE_EUC_PROTOCOL */ (initialize_t)rkc_error, (finalize_t)rkc_error, (close_context_t)rkc_error, (create_context_t)rkc_error, (duplicate_context_t)rkc_error, (dictionary_list_t)rkc_error, (define_dic_t)rkc_error, (delete_dic_t)rkc_error, (mount_dictionary_t)rkc_error, (remount_dictionary_t)rkc_error, (umount_dictionary_t)rkc_error, (mount_list_t)rkc_error, (convert_t)rkc_error, (convert_end_t)rkc_error, (get_kanji_list_t)rkc_error, (get_stat_t)rkc_error, (resize_t)rkc_error, (store_yomi_t)rkc_error, (get_yomi_t)rkc_error, (get_lex_t)rkc_error, (autoconv_t)rkc_error, (subst_yomi_t)rkc_error, (flush_yomi_t)rkc_error, (get_last_yomi_t)rkc_error, (remove_bun_t)rkc_error, (get_simple_kanji_t)rkc_error, (query_dic_t)rkc_error, (get_hinshi_t)rkc_error, (store_range_t)rkc_error, (set_locale_t)rkc_error, (set_app_name_t)rkc_error, (notice_group_name_t)rkc_error, (through_t)rkc_error, (killserver_t)rkc_error, #ifdef EXTENSION (list_dictionary_t)rkc_error, (create_dictionary_t)rkc_error, (remove_dictionary_t)rkc_error, (rename_dictionary_t)rkc_error, (get_text_dictionary_t)rkc_error, (sync_t)rkc_error, (chmod_dic_t)rkc_error, (copy_dictionary_t)rkc_error, #endif /* EXTENSION */ #endif /* !USE_EUC_PROTOCOL */ }; Canna37p3/lib/RKC/Imakefile0100644000076500001200000000325507726364104014661 0ustar shinraadmin/* $Id: Imakefile,v 1.6 2003/09/06 13:59:32 aida_s Exp $ */ #include "../../Canna.conf" #ifdef NARROW # define CannaWCharDef -DCANNA_WCHAR16 # define LibName RKC16 #else # define CannaWCharDef # define LibName RKC #endif #if defined(engineSwitch) && DoNormalLib #undef DoNormalLib #define DoNormalLib NO #endif CANNAROOT = ../.. OPTS = LINTLIBS = ../RK/llib-lRK.ln INCLUDES = -I$(CANNAROOT)/include DEFINES = $(SIGNAL_DEFINES) CannaWCharDef $(RKC_DEFINES) $(ENGINE_DEFS) -DNEED_RKINDEP_SUBST RKINDEPOBJS = cfuncs.o file.o strops.o RKINDEPSRCS = cfuncs.c file.c strops.c HEADER = rkc.h rkcw.h conf.h confP.h OBJS = rkc.o convert.o wconvert.o wutil.o conf.o $(RKINDEPOBJS) SRCS = rkc.c convert.c wconvert.c wutil.c conf.c $(HEADER) $(RKINDEPSRCS) OPTS = #ifdef engineSwitch ENGINE_DEFS = -DENGINE_SWITCH -DDL #endif #if ProjectX > 5 #define SoRev cannaDsoRev #define SHLIBDIR libCannaDir #define USRLIBDIR libCannaDir #define LibHeaders 0 #include #else /* ProjectX */ #include LibraryObjectRule() NormalLibraryTarget(LibName,$(OBJS)) NormalLintTarget($(SRCS)) LintLibraryTarget(LibName,$(SRCS)) #endif /* X11R6 */ depend:: $(SRCS) LinkSourceFile(cfuncs.c,../RKindep) LinkSourceFile(file.c,../RKindep) LinkSourceFile(strops.c,../RKindep) #ifdef NARROW LinkSourceFile(rkc.h,../RKC) LinkSourceFile(rkcw.h,../RKC) LinkSourceFile(rkc.c,../RKC) LinkSourceFile(convert.c,../RKC) LinkSourceFile(wconvert.c,../RKC) LinkSourceFile(wutil.c,../RKC) LinkSourceFile(conf.c,../RKC) LinkSourceFile(conf.h,../RKC) LinkSourceFile(confP.h,../RKC) #endif DependTarget() Canna37p3/lib/RKC/rkc.c0100644000076500001200000016532207734330663014001 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: rkc.c,v 1.12 2003/09/24 15:01:07 aida_s Exp $"; #endif /* * MODIFICATION HISTORY * S000 funahasi@oa2 Fri Oct 2 20:14:13 JST 1992 * - debugÍÑ´Ø¿ô RkThrough()¤Î¤¿¤á¤Ë protocol¤òÄɲà * S001 funahasi@oa2 Tue Oct 13 15:40:08 JST 1992 * - version2.x°ÊÁ°¤Î¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤ë»þ RkQueryDic()¤¬ -1 * ¤òÊÖ¤¹¤è¤¦»ÅÍͤòÊѹ¹ * S002 funahasi@oa2 Thu Nov 5 13:22:49 JST 1992 * - RkQueryDic()¤Î°ú¤­¿ô¤Ë user̾¤ò»ØÄê½ÐÍè¤ë¤è¤¦»ÅÍͤòÊѹ¹ * - fixed bug RkBgnBun()¤Çµì¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¡¤mode¤«¤é * ¥³¡¼¥ÉÊÑ´¹Éôʬ¤À¤±¤ò¼è¤ê½Ð¤¹½èÍý¤ò½¤Àµ * S003 funahasi@oa2 Fri Nov 13 01:19:52 JST 1992 * - fixed bug version1.1¤Î¥µ¡¼¥Ð¤ËÀܳ½ÐÍè¤Ê¤¤ * rkc_get_yomi()¤ò¹Ô¤Ã¤Æ¤¤¤ë¤Î¤¬¸¶°ø * - RkwSetAppName()¤¬Ìµ¤«¤Ã¤¿¤Î¤ÇÄɲà * - fixed bug version2.1¤Î¥µ¡¼¥Ð¤ËÀܳ½ÐÍè¤Ê¤¤ * rkc_set_app_name()¤ò¹Ô¤Ã¤Æ¤¤¤ë¤Î¤¬¸¶°ø * S004 funahasi@oa2 Fri Dec 4 02:04:38 JST 1992 * - cannastat, cshos¤Î¤¿¤á¤Ë rkc¤ÎÆâÉô´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹ * ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄɲà * S005 funahasi@oa2 Thu Feb 18 12:18:41 JST 1993 * - fixed bug Rk[w]GetKanjiList()¤¬»ÅÍͤȰۤʤäƤ¤¤ë¡¥ */ /* LINTLIBRARY */ #include "sglobal.h" #include "rkcw.h" #include "canna/RK.h" #include "rkc.h" #include "conf.h" #include "RKindep/ecfuncs.h" #include #include #include #include #include /* CX: ¥³¥ó¥Æ¥¯¥¹¥È¥Æ¡¼¥Ö¥ë * ɬÍפʥ쥳¡¼¥É¤À¤±¤òmalloc¤ÇºîÀ®¤¹¤ë¡£ * ^^^^^^^^^^^^^^^^^^ */ /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc static RkcContext *RkcCX[MAX_CX] ; #define RkcFree free #define BUSY 1 #define AUTO_YOMI_SIZE 512 static short rkc_call_flag = 0x00 ; /* RkInitialize¤¬¸Æ¤Ð¤ì¤ÆRkFinalize¤¬¸Æ¤Ð¤ì¤ë¤Þ¤Ç */ /* BUSY¥Ó¥Ã¥È¤¬Î©¤Ã¤Æ¤¤¤ë */ static short ProtocolMinor = 0 ; static short ProtocolMajor = 0; static int ServerFD = 0; /* S004 */ extern struct rkcproto wideproto; #ifdef USE_EUC_PROTOCOL extern struct rkcproto eucproto; static struct rkcproto *RKCP = &eucproto; #else /* !USE_EUC_PROTOCOL */ static struct rkcproto *RKCP = &wideproto; #endif /* !USE_EUC_PROTOCOL */ static short PROTOCOL = 0 ; static char ConnectIrohaServerName[ MAX_HOSTNAME + 1 ]; static char *ServerNameSpecified; static RkcConfigErrorProc config_error_handler; /* * ¥µ¥Ý¡¼¥È¤¹¤ë¥×¥í¥È¥³¥ë¤Î¥ê¥¹¥È * ¤³¤Î½ç¤Ë¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¡¤¥µ¡¼¥Ð¤ËÀܳ¤·¤è¤¦¤È¤¹¤ë */ static char *ProtoVerTbl[] = { W_VERSION,/* ¥µ¡¼¥Ð¤ÈƱ¤¸¥á¥¸¥ã¡¼ÈÖ¹æ¤Î»þ¤Ï¡¢¥µ¡¼¥Ð¤Î ¥Ð¡¼¥¸¥ç¥ó¤Î¥×¥í¥È¥³¥ë¤ò»È¤Ã¤Æ¤¤¤ë¡£*/ "2.1", /* ¥µ¡¼¥Ð¤è¤ê¥á¥¸¥ã¡¼Èֹ椬¾®¤µ¤¤»þ¤Ï¡¢ ¾®¤µ¤¤Êý¤Î¥×¥í¥È¥³¥ë¤ò»È¤¦¡£(¤³¤³¤Ï¥Þ¥¯¥í¤Ë¤·¤¿Êý¤¬¤è¤¤¤Í)*/ #ifdef USE_EUC_PROTOCOL E_VERSION, /* ver1.2 */ "1.0", #endif "", }; static struct { Ushort cbuf[CBUFSIZE]; char buffer[BUFSIZE]; wchar_t wbuf[CBUFSIZE]; } rkc; /* general buffer¡£¤¿¤À¤·¡¢RkwXXX ¤Î¤Ê¤«¤À¤±¤Ç»È¤¦¤³¤È¤Ë¤·¤è¤¦¡£*/ /* * ¥¯¥é¥¤¥¢¥ó¥È¡¦¥³¥ó¥Æ¥¯¥¹¥È¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô */ /* * ¿·¤·¤¤¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤¹¤ë¡£ */ static RkcContext * newCC() { register RkcContext *cx ; register int i ; for( i = 0; i < MAX_CX; i++) { if( !RkcCX[ i ] ) { cx = (RkcContext *)malloc( sizeof( RkcContext ) ) ; if( cx ) { cx->client = i ; cx->bun = (RkcBun *)NULL ; cx->Fkouho = (Ushort *)NULL ; cx->lastyomi = (Ushort *)NULL ; cx->curbun = cx->maxbun = cx->bgnflag = cx->maxyomi = 0 ; RkcCX[ i ] = cx ; } return( cx ) ; } } return( (RkcContext *)NULL ) ; } /* * »ØÄꤵ¤ì¤¿Ê¸Àᤫ¤éºÇ½ªÊ¸Àá¤Þ¤Ç¤ÎÀèÆ¬¸õÊä¤Þ¤¿¤Ï¡¢¸õÊäÎó¤ÎÎΰè¤ò²òÊü¤¹¤ë */ static void freeBUN(cx, from) register RkcContext *cx ; register int from ; { register RkcBun *bun ; for( ; from < cx->maxbun; from++ ) { bun = &cx->bun[ from ] ; if( bun->flags == NUMBER_KOUHO ) { /* Âè°ì¸õÊ䤷¤«Æþ¤Ã¤Æ¤¤¤Ê¤¤Ê¸Àá¤Ï¡¢¼ÂºÝ¤Ë¤Ïmalloc¤·¤¿¤ï¤±¤Ç¤Ï¤Ê¤¯ * ¥µ¡¼¥Ð¤«¤éÄÌÃΤµ¤ì¤¿³ÆÊ¸Àá¤ÎÂè°ì¸õÊäÎó¤ÎÃæ¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò * ÀßÄꤷ¤Æ¤¤¤ë¤À¤±¤À¤«¤é¥Õ¥ê¡¼¤·¤Ê¤¤¡£ */ RkcFree( (char *)bun->kanji ) ; bun->kanji = (Ushort *)NULL ; bun->curcand = bun->maxcand = 0 ; bun->flags = NOTHING_KOUHO ; } } } /* * »ØÄꤵ¤ì¤¿¥³¥ó¥Æ¥¯¥¹¥È¤ò²òÊü¤¹¤ë¡£ */ static void freeCC( clientcx ) int clientcx ; { register RkcContext *cx ; if( (0 <= clientcx) && (clientcx < MAX_CX) ) { cx = RkcCX[ clientcx ] ; if( cx->bun ) { freeBUN( cx, 0 ) ; RkcFree( (char *)cx->bun ) ; cx->bun = (RkcBun *)NULL ; } RkcFree( (char *)cx->Fkouho ) ; cx->Fkouho = (Ushort *)NULL ; RkcFree( (char *)cx->lastyomi ); cx->lastyomi = (Ushort *)NULL; cx->curbun = cx->maxbun = 0 ; cx->bgnflag = 0 ; RkcFree( (char *)cx ) ; cx = (RkcContext *)NULL ; RkcCX[ clientcx ] = (RkcContext *)NULL ; } } /* * ¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ¤ËÂбþ¤·¤¿¥³¥ó¥Æ¥¯¥¹¥È¤ò¼èÆÀ¤¹¤ë¡£ * (¥¯¥é¥¤¥¢¥ó¥È¦) */ #define NOCHECK 0 #define CHECK 1 static RkcContext * getCC( clientcx, type ) int clientcx, type ; { register RkcContext *cx = (RkcContext *)NULL ; if( (0 <= clientcx) && (clientcx < MAX_CX) ) { cx = RkcCX[clientcx]; if (cx) if( (type == CHECK) && (cx->bgnflag != BUSY) ) /* ÊÑ´¹Ãæ¤Î»þ,maxbun¤ÏºÇÄ㣱¤Ç¤¢¤ë */ cx = (RkcContext *)NULL ; } return( cx ) ; } int RkwSetUserInfo pro((char *, char *, char *)); static RkUserInfo *uinfo; int RkwSetUserInfo(user, group, topdir) char *user, *group, *topdir; { if (user && group && topdir) { uinfo = (RkUserInfo *)malloc(sizeof(RkUserInfo)); if (uinfo) { uinfo->uname = user; uinfo->gname = group; uinfo->topdir = topdir; return 1; } } return 0; } static char * FindLogname() { if (uinfo) return uinfo->uname; else { char *username = NULL, *getenv(), *getlogin(); struct passwd *pass = getpwuid(getuid()); if( pass ) username = pass->pw_name; if (username == NULL){ if ( (username = getlogin()) == NULL ) { if( (username = getenv( "LOGNAME" )) == NULL ) { username = getenv( "USER" ); } } } return( username ); } return (char *)NULL; } static char * FindGroupname() { if (uinfo) return uinfo->gname; else { struct group *gr = getgrgid(getgid()) ; if (gr && gr->gr_name) { return gr->gr_name; } else{ return (char *)NULL; } } return (char *)NULL; } /* * RkwInitialize () * * Description: * ----------- * ¤«¤Ê´Á»úÊÑ´¹¤Î½é´ü²½ * * Returns: * ------- * 0 or -1 */ int RkwInitialize( hostname ) /* ¤È¤ê¤¢¤¨¤ºrkc¤Î¾ì¹ç¤Ï¡¢°ú¤­¿ô¤ò̵»ë¤¹¤ë */ char *hostname ; { register int i; register long server ; register RkcContext *cx ; char *username, *data ; if( rkc_call_flag == BUSY ) return( 0 ); rkc_configure(); if (config_error_handler) (*config_error_handler)(RkcErrorBuf_get(&rkc_errors)); if (ServerNameSpecified) { free(ServerNameSpecified); ServerNameSpecified = (char *)0; } ConnectIrohaServerName[0] = '\0'; if( hostname && (unsigned)strlen(hostname) > 0 && #ifdef __EMX__ !_fnisabs( hostname ) && #else hostname[0] != '/' && #endif (ServerNameSpecified = malloc(strlen(hostname) + 1))) { strcpy(ServerNameSpecified, hostname); } if( (ServerFD = rkc_Connect_Iroha_Server( ConnectIrohaServerName )) < 0 ) { /* S004 */ errno = EPIPE ; goto init_err; } /* ¥æ¡¼¥¶Ì¾¤ò¼èÆÀ¤¹¤ë */ username = FindLogname() ; if( !username || !(data = malloc( strlen(username) + strlen(W_VERSION)+2 ))) goto init_err; /* ¥³¥ó¥Æ¥¯¥¹¥È¤ò½é´ü²½¤¹¤ë */ for( i=0; i < MAX_CX; i++) RkcCX[ i ] = (RkcContext *)NULL ; /* ¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤¹¤ë */ if( (cx = newCC()) == (RkcContext *)NULL ) { RkcFree(data); goto init_err; } /* ºÇ½é¤Ï¥ï¥¤¥É¥­¥ã¥é¥Ù¡¼¥¹¤Î¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë */ for( i = 0; *ProtoVerTbl[i]; i++ ){ strcpy( data, ProtoVerTbl[i] ); strcat( data, ":" ); strcat( data, username ); ProtocolMajor = *ProtoVerTbl[i] - '0'; /* Major¤¬1·å¤¿¤±Âбþ */ PROTOCOL = (ProtocolMajor > 1); #ifdef USE_EUC_PROTOCOL RKCP = PROTOCOL > 0 ? &wideproto : &eucproto; #endif /* ¥µ¡¼¥Ð¤Ë½é´ü²½¤òÍ׵ᤷ¡¢¥µ¡¼¥Ð¤Î¥³¥ó¥Æ¥¯¥¹¥È¤ò¼èÆÀ¤¹¤ë */ if ((server = (*RKCP->initialize)( data )) < 0) { /* ´û¤Ë¥³¥ó¥Æ¥¯¥¹¥È¤ò³ÎÊݤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤ì¤ò²òÊü¤¹¤ë */ if( (ServerFD = rkc_Connect_Iroha_Server( ConnectIrohaServerName )) < 0 ) { /* S004 */ freeCC( cx->client ) ; RkcFree(data); errno = EPIPE ; goto init_err; } continue; } break; } RkcFree(data); if (!*ProtoVerTbl[i]) { freeCC(cx->client); errno = EPIPE; (void)close(ServerFD); goto init_err; } /* ¥µ¡¼¥Ð¤Î¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó¤òÆÀ¤ë */ ProtocolMinor = (short)((unsigned long)(server & 0xffff0000) >> (unsigned)0x10); /* ¥µ¡¼¥Ð¤«¤é¼èÆÀ¤·¤¿¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ¤òÆþ¤ì¤ë */ cx->server = server & 0x0000ffff ; rkc_call_flag = BUSY ; /* ¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤¬ 3.2 °Ê¾å¤À¤Ã¤¿¤é¥°¥ë¡¼¥×̾¤òÄÌÃΤ¹¤ë */ if (canna_version(ProtocolMajor, ProtocolMinor) > canna_version(3, 1)) { char *gname = FindGroupname(); if (gname) { (*RKCP->notice_group_name)(cx, gname); } } return( cx->client ) ; init_err: rkc_config_fin(); return -1; } /* * RkwFinalize () * * Description: * ----------- * ¤«¤Ê´Á»úÊÑ´¹¤Î½ªÎ» */ void RkwFinalize() { register int i ; if( rkc_call_flag != BUSY ) return; /* Á´¥³¥ó¥Æ¥¯¥¹¥È¤ò²òÊü¤¹¤ë * ÊÑ´¹Ãæ¤Î¥³¥ó¥Æ¥¯¥¹¥È¤Ï¤É¤¦¤¹¤ë¤Î¤« ? */ for( i = 0; i < MAX_CX; i++ ){ if( RkcCX[ i ] ) { freeCC( i ) ; } } (*RKCP->finalize)(); ProtocolMinor = 0 ; rkc_call_flag = 0 ; ProtocolMajor = 0; if (ServerNameSpecified) { free(ServerNameSpecified); ServerNameSpecified = (char *)0; } ConnectIrohaServerName[0] = '\0'; if (uinfo) { free((char *)uinfo); } rkc_config_fin(); } /* * RkwCloseContext () * * Description: * ----------- * ¥³¥ó¥Æ¥¯¥¹¥È¤Î³«Êü * * Input: * ----- * cxnum * * Returns: * ------- * 0 or -1 */ int RkwCloseContext(cxnum) int cxnum ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !cx || (rkc_call_flag != BUSY) ) return( -1 ) ; if ((*RKCP->close_context)(cx) == -1) return( -1 ) ; freeCC( cxnum ) ; return( 0 ); } /* * KillServer * * Version 3.3 °ÊÁ°¤Î¥µ¡¼¥Ð¤Ë¤ÏÁ÷¤é¤Ê¤¤ Ìá¤êÃÍ OLDSRV = -110 * Version 3.3 ¤Î¥µ¡¼¥Ð¤Ë¤ÏÁ÷¤ë * */ int RkwKillServer() { /* Protocol Version 3.3 ¤«¤é¥µ¥Ý¡¼¥È¡£¤½¤ì°ÊÁ°¤Î¥µ¡¼¥Ð¤Ø¤ÏÁ÷¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ */ if (canna_version(ProtocolMajor, ProtocolMinor) > canna_version(3, 2)) { return (*RKCP->killserver)(); } return OLDSRV; /* Protocol Version 3.3 */ } /* * RkwCreateContext () * * Description: * ----------- * ¿·¤·¤¤¥³¥ó¥Æ¥¯¥¹¥È¤ÎºîÀ® * * Returns: * ------- * ¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ or -1 */ int RkwCreateContext() { register int server ; register RkcContext *cx ; if( rkc_call_flag != BUSY ) return( -1 ) ; /* ¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤¹¤ë */ if( (cx = newCC()) == (RkcContext *)NULL ) return( -1 ) ; if ((server = (*RKCP->create_context)()) == -1) { /* ´û¤Ë¥³¥ó¥Æ¥¯¥¹¥È¤ò³ÎÊݤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤ì¤ò²òÊü¤¹¤ë */ freeCC( cx->client ) ; return( -1 ) ; } cx->server = server ; return( cx->client ) ; } /* * RkwCreateContext () * * Description: * ----------- * ¿·¤·¤¤¥³¥ó¥Æ¥¯¥¹¥È¤ÎºîÀ® * * Input: * ----- * src_cx * * Returns: * ------- * ¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ or -1 */ int RkwDuplicateContext( src_cx ) int src_cx ; { register RkcContext *cx_dest, *cx_src = getCC( src_cx, NOCHECK ) ; register int dest_cx ; if( !cx_src || (rkc_call_flag != BUSY) ) return( -1 ) ; /* ¥³¥ó¥Æ¥¯¥¹¥È¤òºîÀ®¤¹¤ë */ if( (cx_dest = newCC()) == (RkcContext *)NULL ) return( -1 ) ; if ((dest_cx = (*RKCP->duplicate_context)(cx_src)) == -1) { /* ´û¤Ë¥³¥ó¥Æ¥¯¥¹¥È¤ò³ÎÊݤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤ì¤ò²òÊü¤¹¤ë */ freeCC( cx_dest->client ) ; return( -1 ) ; } cx_dest->server = dest_cx ; return( cx_dest->client ) ; } /* * RkwGetDicList () * * Description: * ----------- * ¼­½ñ¥ê¥¹¥È¤ËÄɲäǤ­¤ë¼­½ñ̾¤Î¼èÆÀ * * Input: * ----- * cxnum * * Returns: * ------- * ¼­½ñ̾¤Î¸Ä¿ô or -1 */ int RkwGetDicList(cxnum, dicnames, max) int cxnum ; char *dicnames ; int max ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !cx ) return( -1 ) ; if( max <= 0 ) return( 0 ) ; else if( !dicnames ) { return (*RKCP->dictionary_list)(cx, rkc.buffer, BUFSIZE); } return (*RKCP->dictionary_list)(cx, dicnames, max); } static int _RkwDefineDic( cxnum, dicname, wordrec ) /* ñ¸ìÅÐÏ¿ */ int cxnum ; char *dicname ; Ushort *wordrec ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !cx ) return( -1 ) ; return (*RKCP->define_dic)(cx, dicname, wordrec); } /* * RkwDefineDic () * * Description: * ----------- * ñ¸ìÅÐÏ¿ * * Input: * ----- * cxnum * * Returns: * ------- * ¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ or -1 */ int RkwDefineDic(cxnum, dicname, wordrec) int cxnum; char *dicname; wchar_t *wordrec; { if( !dicname || !wordrec ) return( -1 ) ; wchar2ushort(wordrec, wcharstrlen(wordrec), rkc.cbuf, CBUFSIZE); return _RkwDefineDic(cxnum, dicname, rkc.cbuf); } static int _RkwDeleteDic( cxnum, dicname, wordrec ) /* ñ¸ìºï½ü */ int cxnum ; char *dicname ; Ushort *wordrec ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !cx ) return( -1 ) ; return (*RKCP->delete_dic)(cx, dicname, wordrec); } int RkwDeleteDic(cxnum, dicname, wordrec) int cxnum; char *dicname; wchar_t *wordrec; { if( !dicname || !wordrec ) return -1; wchar2ushort(wordrec, wcharstrlen(wordrec), rkc.cbuf, CBUFSIZE); return _RkwDeleteDic(cxnum, dicname, rkc.cbuf); } int RkwMountDic(cxnum, dicname, mode) int cxnum, mode ; char *dicname ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !dicname || !cx ) return( -1 ) ; return (*RKCP->mount_dictionary)(cx, dicname, mode); } int RkwRemountDic(cxnum, dicname, where) int cxnum, where ; char *dicname ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !dicname || !cx ) return( -1 ) ; return (*RKCP->remount_dictionary)(cx, dicname, where); } int RkwUnmountDic(cxnum, dicname) int cxnum ; char *dicname ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !dicname || !cx ) return( -1 ) ; return (*RKCP->umount_dictionary)(cx, dicname); } int RkwGetMountList(cxnum, dicnames_return, max) int cxnum, max ; char *dicnames_return ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !cx ) return( -1 ) ; if( !dicnames_return ) { return (*RKCP->mount_list)(cx, rkc.buffer, BUFSIZE); } else if( max <= 0 ) return( 0 ) ; return (*RKCP->mount_list)(cx, dicnames_return, max); } int RkwSetDicPath( cxnum, path ) /* ¥µ¡¼¥Á¥Ñ¥¹¤òÀßÄê */ int cxnum ; char *path ; /* ARGSUSED */ { return( 0 ) ; } /* * StoreFirstKouho * ¥«¥ì¥ó¥ÈʸÀᤫ¤éºÇ½ªÊ¸Àá¤Þ¤Ç¤ÎÀèÆ¬¸õÊä¤òµá¤á¡¢³ÊǼ¤¹¤ë */ static void StoreFirstKouho( cx, bun_max ) register RkcContext *cx ; int bun_max ; { /* ¤³¤³¤Ï¡¢¤è¤¯¹Í¤¨¤Ê¤¤¤È¹½Â¤¤Þ¤ÇÊѤ¨¤¿°ÕÌ£¤¬Ìµ¤¯¤Ê¤ë¤· * ¸å¤Ç¤¨¤é¤¤ÌܤËÁø¤¦¤«¤âÃΤì¤Ê¤¤ */ register int i ; register RkcBun *bun ; register Ushort *kouhobuf ; /* ¥«¥ì¥ó¥ÈʸÀᤫ¤éºÇ½ªÊ¸Àá¤Þ¤Ç¤Î¸õÊä¤ò²òÊü¤¹¤ë */ freeBUN( cx, cx->curbun ) ; /* ¤³¤³¤Ë¤Ï¡¢rkc_*(rkcConvert.c)¤ÇÂè°ì¸õÊäÎ󤬳ÊǼ¤µ¤ì¤Æ¤¤¤ë */ kouhobuf = cx->Fkouho ; /* ¥¼¥íʸÀᤫ¤éºÇ½ªÊ¸Àá¤Þ¤Ç¤ÎÂè°ì¸õÊä¤Î¥Ý¥¤¥ó¥¿¤òÀßÄꤹ¤ë */ for( i = 0; i < bun_max; i++ ) { bun = &cx->bun[ i ] ; /* ¥«¥ì¥ó¥ÈʸÀá¤Þ¤Ç¤ÎʸÀá¤Ç¸õÊä°ìÍ÷¤ò´û¤Ë¼èÆÀ¤·¤Æ¤¤¤ëʸÀá¤Ï¡¢ * ¥Ý¥¤¥ó¥¿¤ÎºÆÀßÄê¤Ï¤·¤Ê¤¤¡£ */ if( bun->flags != NUMBER_KOUHO ) { bun->kanji = kouhobuf ; bun->curcand = 0 ; /* ʸÀá0ʸÀá1ʸÀá2ʸÀá3ʸÀá4@@ */ bun->maxcand = 1 ; /* ¢¬ ¢¬ ¢¬ ¢¬ ¢¬ */ bun->flags = FIRST_KOUHO ; /* bun->kaji */ } kouhobuf += ushortstrlen( (Ushort *)kouhobuf)+1 ; } cx->maxbun = bun_max ; } /* * ϢʸÀáÊÑ´¹³«»Ï */ static int _RkwBgnBun(cxnum, yomi, maxyomi, mode) int cxnum, maxyomi, mode ; Ushort *yomi ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; int nbun, mask; /* S002 */ if( (maxyomi <= 0) || !cx ) return( -1 ) ; /* RkBgnBun¤À¤±¤Ï¡¢BUSY¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤¤¤ë¤ÈÆþ¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤ */ if( cx->bgnflag == BUSY ) return( -1 ) ; /* µì¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¡¤mode¤«¤é¥³¡¼¥ÉÊÑ´¹Éôʬ¤À¤±¤ò¼è¤ê½Ð¤¹ */ if( ProtocolMajor < 3 ){ int code; for( code = mode, mask = 0L; code ; code >>= RK_XFERBITS ){ if( (code & RK_XFERMASK) == RK_CTRLHENKAN ){ break; } mask = (mask << RK_XFERBITS) | RK_XFERMASK; } mode &= mask; /* S002 */ } /* maxyomi¤ÎʸÀá¿ô¤À¤±¥¢¥í¥±¡¼¥È¤·¤Æ¤ª¤¯ */ /* ¤³¤ì°Ê¾å¤ÎʸÀá¿ô¤Ï¸ºß¤·¤Ê¤¤¤Ï¤º */ cx->curbun = cx->maxbun = 0 ; if( yomi != NULL ){ if( !(cx->bun = (RkcBun *)calloc( maxyomi, sizeof(RkcBun) )) ) return( -1 ) ; cx->lastyomi = (Ushort *)NULL; nbun = (*RKCP->convert)(cx, yomi, maxyomi, mode); if( nbun <= 0 ) { RkcFree( (char *)cx->bun ) ; cx->bun = (RkcBun *)NULL ; return( -1 ) ; } StoreFirstKouho( cx, nbun ) ; } else { if( !(cx->bun = (RkcBun *)calloc( AUTO_YOMI_SIZE, sizeof(RkcBun) )) ) return( -1 ) ; if( !(cx->lastyomi = (Ushort *)malloc( CBUFSIZE )) ) { RkcFree( (char *)cx->bun ); cx->bun = (RkcBun *)NULL ; return( -1 ) ; } nbun = (*RKCP->autoconv)(cx, maxyomi, mode); if( nbun < 0 ) { RkcFree( (char *)cx->bun ) ; cx->bun = (RkcBun *)NULL ; RkcFree( (char *)cx->lastyomi ); cx->lastyomi = (Ushort *)NULL; return( -1 ) ; } *(cx->lastyomi) = ( Ushort )0; } cx->bgnflag = BUSY ; return( nbun ) ; } int RkwBgnBun(cxnum, yomi, maxyomi, mode) int cxnum; wchar_t *yomi; int maxyomi; int mode; { int len; if (yomi) { len = wchar2ushort(yomi, maxyomi, rkc.cbuf, CBUFSIZE); return _RkwBgnBun(cxnum, rkc.cbuf, len, mode); } else { /* ¼«Æ°ÊÑ´¹³«»Ï */ return _RkwBgnBun(cxnum, (Ushort *)NULL, maxyomi, mode); } } int RkwEndBun( cxnum, mode ) int cxnum, mode ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; int ret ; if( cx ) { /* * rkc_convert_end¤Ç³Ø½¬¤¹¤Ù¤­¸õÊä¤ò¥µ¡¼¥Ð¤ËÃΤ餻¤ë */ if ((ret = (*RKCP->convert_end)(cx, mode )) >= 0) { freeBUN( cx, 0 ) ; RkcFree( (char *)cx->bun ) ; RkcFree( (char *)cx->Fkouho ) ; cx->bun = (RkcBun *)NULL ; cx->Fkouho = (Ushort *)NULL ; cx->curbun = cx->maxbun = 0 ; cx->bgnflag = 0 ; RkcFree( (char *)cx->lastyomi ); cx->lastyomi = (Ushort *)NULL; cx->maxyomi = 0; } return( ret ) ; } return( 0 ) ; } /* LoadKouho * ɬÍפ˱þ¤¸¤ÆÁ´¸õÊä¤òÆÉ¤ß½Ð¤¹ */ static int LoadKouho( cx ) register RkcContext *cx ; { register RkcBun *bun = &cx->bun[ cx->curbun ] ; int ret ; if( bun->flags == FIRST_KOUHO ) { /* ¸õÊä¤òÁ´¤ÆÆÉ¤ß½Ð¤¹¡£ * ÆÉ¤ß½Ð¤·¤Ë¼ºÇÔ¤·¤¿¤é¡¢ÀèÆ¬¸õÊ䤷¤«¤Ê¤¤¤Õ¤ê¤ò¤¹¤ë */ if ((ret = (*RKCP->get_kanji_list)(cx)) >= 0) { /* ÆÉ¤ß¤À¤·À®¸ù */ bun->curcand = 0 ; bun->maxcand = ret ; } else if( errno == EPIPE ) return( -1 ) ; bun->flags = NUMBER_KOUHO ; } return( 0 ) ; } int RkwXfer(cxnum, knum) int cxnum, knum ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; register RkcBun *bun ; if( cx ) { bun = &cx->bun[cx->curbun]; if( LoadKouho( cx ) < 0 ) return( -1 ) ; if ( 0 <= knum && knum < bun->maxcand ) bun->curcand = knum; return( bun->curcand ); } return( 0 ); } int RkwNfer(cxnum) int cxnum ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; register RkcBun *bun ; if( cx ) { bun = &cx->bun[ cx->curbun ]; if( LoadKouho( cx ) < 0 ) return( -1 ) ; bun->curcand = bun->maxcand - 1; /* ÆÉ¤ß¤Ï¡¢ºÇ¸å¤Ë¤¢¤ë(0¥ª¥ê¥¸¥ó) */ return( bun->curcand ) ; } return( 0 ); } int RkwNext(cxnum) int cxnum ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; register RkcBun *bun ; if( cx ) { bun = &cx->bun[ cx->curbun ]; if( LoadKouho( cx ) < 0 ) return( -1 ) ; if ( ++bun->curcand > bun->maxcand-1 ) bun->curcand = 0; return( bun->curcand ) ; } return( 0 ) ; } int RkwPrev(cxnum) int cxnum ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; register RkcBun *bun ; if( cx ) { bun = &cx->bun[ cx->curbun ]; if( LoadKouho( cx ) < 0 ) return( -1 ) ; if ( --bun->curcand < 0 ) bun->curcand = bun->maxcand-1 ; /* £°¥ª¥ê¥¸¥ó */ return( bun->curcand ) ; } return( 0 ); } static Ushort * SeekKouho( bun, to ) register RkcBun *bun ; register int to ; { register int i ; Ushort *src_yomi ; src_yomi = bun->kanji ; for( i = 0; i < to; i++ ) src_yomi += ushortstrlen( (Ushort *)src_yomi ) + 1 ; return( src_yomi ) ; } static int _RkwGetKanji( cxnum, kanji, maxkanji ) int cxnum, maxkanji ; Ushort *kanji ; { RkcContext *cx = getCC( cxnum, CHECK ) ; RkcBun *bun ; register Ushort *src_kouho ; if( cx ){ bun = &cx->bun[ cx->curbun ] ; /* ÆÉ¤ß¤·¤«¤Ê¤¤¾ì¹ç¤ÏÆÉ¤ß¤òÊÖ¤¹ */ src_kouho = SeekKouho( bun, (bun->maxcand ? bun->curcand : 0) ) ; if( ushortstrlen( (Ushort *)src_kouho ) > maxkanji ) return( 0 ) ; ushortstrcpy( kanji, src_kouho ); return( ushortstrlen( (Ushort *)src_kouho ) ) ; } return( -1 ) ; } int RkwGetKanji(cxnum, kanji, maxkanji) int cxnum; wchar_t *kanji; int maxkanji; { int len; len = _RkwGetKanji(cxnum, rkc.cbuf, CBUFSIZE); if (len < 0) { return( len ); } else { if( !kanji ) { return ushort2wchar(rkc.cbuf, len, rkc.wbuf, CBUFSIZE); } else if (maxkanji <= 0) { return( 0 ); } else { return ushort2wchar(rkc.cbuf, len, kanji, maxkanji); } } } static int _RkwGetKanjiList(cxnum, kouho, max) int cxnum, max ; Ushort *kouho ; { RkcContext *cx = getCC( cxnum, CHECK ) ; RkcBun *bun ; register Ushort *dest_kouho, *src_kouho ; register int i, len ; int total ; if( cx ) { bun = &cx->bun[ cx->curbun ]; if( LoadKouho( cx ) < 0 ) return( -1 ) ; if( !bun->kanji ) return( 0 ) ; if( !kouho ) return( bun->maxcand ? bun->maxcand : 1 ) ; /* ¸õÊä¤ò¥³¥Ô¡¼¤¹¤ë */ src_kouho = bun->kanji ; dest_kouho = kouho ; for( total = ushortstrlen( src_kouho ) + 1, i = 0; (i < bun->maxcand) && (total < max) ; i++, total += len ) { len = ushortstrcpy( dest_kouho, src_kouho ) + 1 ; src_kouho += len ; dest_kouho += len ; } *(dest_kouho++) = (Ushort)0 ; *(dest_kouho) = (Ushort)0 ; return( i ) ; } return( -1 ) ; } int RkwGetKanjiList(cxnum, kanjis, maxkanjis) int cxnum; wchar_t *kanjis; int maxkanjis; { int nkanji, len, i, j = 0, k = 0; int retval; #ifndef USE_MALLOC_FOR_BIG_ARRAY Ushort cbuf[CBIGBUFSIZE]; #else Ushort *cbuf = GlobalAlloc(GMEM_FIXED, sizeof(Ushort) * CBIGBUFSIZE); if (!cbuf) { return 0; } #endif if( !kanjis ) { retval = _RkwGetKanjiList(cxnum, (Ushort *)0, 0); } else if (maxkanjis <= 0) { retval = 0; } else { nkanji = _RkwGetKanjiList(cxnum, cbuf, CBIGBUFSIZE); for (i = 0 ; i < nkanji ; i++) { len = ushortstrlen(cbuf + j); if (k + len > maxkanjis - 2) /* S005 */ break; /* S005 */ k += ushort2wchar(cbuf + j, len, kanjis + k, maxkanjis); /* S005 */ kanjis[k++] = (wchar_t)0; j += len + 1; } kanjis[k] = (wchar_t)0; retval = i; } #ifdef USE_MALLOC_FOR_BIG_ARRAY GlobalFree((HGLOBAL)cbuf); #endif return retval; } int RkwGoTo(cxnum, bnum) int cxnum, bnum ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; if( cx ){ if ( 0 <= bnum && bnum < cx->maxbun ) cx->curbun = bnum; return(cx->curbun); } return( 0 ); } int RkwLeft(cxnum) int cxnum; { register RkcContext *cx = getCC( cxnum, CHECK ) ; if( cx ){ if ( --cx->curbun < 0 ) cx->curbun = cx->maxbun-1 ; return( cx->curbun ); } return( 0 ); } int RkwRight(cxnum) int cxnum; { register RkcContext *cx = getCC( cxnum, CHECK ) ; if( cx ){ if ( ++cx->curbun > cx->maxbun-1 ) cx->curbun = 0; return( cx->curbun ); } return( 0 ); } #define ENLARGE -1 #define SHORTEN -2 #define MIN_YOMI 1 #ifdef __STDC__ int _RkwGetYomi(RkcContext *, Ushort *, int); #else int _RkwGetYomi(); #endif static int RKReSize( cxnum, len ) int cxnum, len ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; int ret; /* ÁíʸÀá¿ô */ if( cx ) { /* ʸÀ፬Êѹ¹¤Ç¤­¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹¤ë */ register RkcBun *bun = &cx->bun[ cx->curbun ] ; /* ¥«¥ì¥ó¥ÈʸÀ᤬¸õÊäÎó¤ò´û¤ËÆÉ¤ß¹þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Î½èÍý */ if( bun->flags == NUMBER_KOUHO ) { /* ʸÀá½Ì¤á¤Ç¥«¥ì¥ó¥ÈÆÉ¤ß¤ÎŤµ¤¬MIN_YOMI¤Î¾ì¹ç¤Ï²¿¤â¤»¤º¤Ë */ /* ¥«¥ì¥ó¥ÈʸÀá¿ô¤òÊÖ¤¹ */ int yomilen = ushortstrlen((Ushort *)SeekKouho( bun, (bun->maxcand ? (bun->maxcand-1) : 0))); if( (len == SHORTEN) || (len == MIN_YOMI) ) { if( yomilen == MIN_YOMI ) return( cx->maxbun ) ; } else { int curbun_save = cx->curbun ; int yomi_zan ; for( yomi_zan = 0; cx->curbun < cx->maxbun; cx->curbun++ ) { int ylen, retval = 0; #ifndef USE_MALLOC_FOR_BIG_ARRAY Ushort tmp_yomi[CBUFSIZE]; #else Ushort *tmp_yomi = GlobalAlloc(GMEM_FIXED, sizeof(Ushort) * CBUFSIZE); if (!tmp_yomi) { return -1; } #endif ylen = _RkwGetYomi(cx, tmp_yomi, CBUFSIZE); if (ylen < 0) { retval = -1; } else { yomi_zan += ylen ; } #ifdef USE_MALLOC_FOR_BIG_ARRAY GlobalFree((HGLOBAL)tmp_yomi); #endif if (retval < 0) { return retval; } } cx->curbun = curbun_save ; yomi_zan += cx->maxyomi; if( ((len == ENLARGE) && (yomilen + 1 > yomi_zan)) || (yomi_zan < len) ) return( cx->maxbun ) ; } } /* ¡»Ê¸Àᤫ¤éºÇ½ªÊ¸Àá¤Þ¤Ç³ÊǼ¤µ¤ì¤ë */ if ((ret = (*RKCP->resize)(cx, len)) <= 0) { return( -1 ) ; } StoreFirstKouho( cx, ret ) ; if( cx->lastyomi != (Ushort *)NULL ){ if ((len = (*RKCP->get_last_yomi)(cx, cx->lastyomi, CBUFSIZE)) < 0) return -1; cx->maxyomi = len; } return( ret ) ; } return( 0 ) ; } int RkwResize( cxnum, len ) int cxnum, len ; { if( len <= 0 ) { register RkcContext *cx = getCC( cxnum, CHECK ) ; if( cx ) return( cx->maxbun ) ; else return( 0 ) ; } return( RKReSize( cxnum, len ) ) ; } int RkwEnlarge( cxnum ) /* ʸÀá¿­¤Ð¤· */ int cxnum ; { return( RKReSize( cxnum, ENLARGE ) ) ; } int RkwShorten(cxnum) /* ʸÀá½Ì¤á */ int cxnum ; { return( RKReSize( cxnum, SHORTEN ) ) ; } static int _RkwStoreYomi(cxnum, yomi, max) int cxnum, max ; Ushort *yomi ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; int ret, len ; ret = 0 ; if( cx ) { if ((ret = (*RKCP->store_yomi)(cx, yomi, max)) < 0) { return( -1 ) ; } StoreFirstKouho( cx, ret ) ; if (!max && cx->curbun && cx->curbun == cx->maxbun) cx->curbun--; if( cx->lastyomi != (Ushort *)NULL ){ if ((len = (*RKCP->get_last_yomi)(cx, cx->lastyomi, CBUFSIZE)) < 0 ) return -1; cx->maxyomi = len; } } return( ret ) ; } int RkwStoreYomi(cxnum, yomi, maxyomi) int cxnum; wchar_t *yomi; int maxyomi; { int len; if (yomi && maxyomi >= 0) { len = RKI_MIN(wcharstrlen(yomi),maxyomi); len = wchar2ushort(yomi, len, rkc.cbuf, CBUFSIZE) + 1; } else { rkc.cbuf[0] = 0; len = 0; } return _RkwStoreYomi(cxnum, rkc.cbuf, len); } int /* S003 */ _RkwGetYomi(cx, yomi, maxyomi) RkcContext *cx; int maxyomi; Ushort *yomi; { register RkcBun *bun ; Ushort *src_yomi; int len, retval = -1; #ifndef USE_MALLOC_FOR_BIG_ARRAY Ushort tmp_yomi[CBUFSIZE]; #else Ushort *tmp_yomi = GlobalAlloc(GMEM_FIXED, sizeof(Ushort) * CBUFSIZE); if (!tmp_yomi) { return -1; } #endif if( cx ){ bun = &cx->bun[ cx->curbun ] ; if( !PROTOCOL && (ProtocolMinor == 0) ) { /* Ver 1.0 ¤Ç¤Ï¡¤¼è¤ê¤¢¤¨¤º¸õÊä°ìÍ÷¤ò¼è¤Ã¤Æ¤¯¤ë */ if( LoadKouho( cx ) < 0 ) retval = -1; } if( bun->flags == NUMBER_KOUHO ) { src_yomi = SeekKouho( bun, (bun->maxcand ? (bun->maxcand-1) : 0) ); } else { if ((*RKCP->get_yomi)(cx, tmp_yomi) < 0) retval = -1; src_yomi = tmp_yomi; } if( (len = ushortstrlen( (Ushort *)src_yomi )) > maxyomi ) retval = 0; bcopy( src_yomi, yomi, (len + 1) * sizeof( short ) ); retval = len; } #ifdef USE_MALLOC_FOR_BIG_ARRAY GlobalFree((HGLOBAL)tmp_yomi); #endif return retval; } int RkwGetYomi(cxnum, yomi, maxyomi) int cxnum; wchar_t *yomi; int maxyomi; { int len; if ((len = _RkwGetYomi(getCC( cxnum, CHECK ), rkc.cbuf, CBUFSIZE)) < 0) { return( len ); } else { if( !yomi ) { return ushort2wchar(rkc.cbuf, len, rkc.wbuf, CBUFSIZE); } else if( maxyomi <= 0 ) return( 0 ); return ushort2wchar(rkc.cbuf, len, yomi, maxyomi); } } int RkwGetLex(cxnum, lex, maxlex) int cxnum, maxlex ; RkLex *lex ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; int ret = -1 ; if( cx ){ if (lex == (RkLex *)NULL) { #ifndef USE_MALLOC_FOR_BIG_ARRAY RkLex buf[1024]; #else RkLex *buf = (RkLex *)GlobalAlloc(GMEM_FIXED, sizeof(RkLex) * 1024); if (!buf) { return 0; } #endif ret = (*RKCP->get_lex)(cx, 1024, buf); #ifdef USE_MALLOC_FOR_BIG_ARRAY GlobalFree((HGLOBAL)buf); #endif } else if( maxlex <= 0 ) return( 0 ); ret = (*RKCP->get_lex)(cx, maxlex, lex); } return( ret ) ; } int RkwGetStat(cxnum, stat) int cxnum ; RkStat *stat ; { register RkcContext *cx = getCC( cxnum, CHECK ) ; int ret ; if( cx && stat ){ ret = (*RKCP->get_stat)(cx, stat); if( !PROTOCOL && (ProtocolMinor == 0) ) { int p[ 7 ] ; register int tmp1, tmp2 ; int i ; bcopy( stat, p, sizeof( RkStat ) ) ; tmp1 = p[ 5 ]; tmp2 = p[ 6 ] ; for( i = 4; i > 1; i-- ) p[ i + 2 ] = p[ i ] ; p[ 2 ] = tmp1 ; p[ 3 ] = tmp2 ; bcopy( p, stat, sizeof( RkStat ) ) ; } } else { ret = -1 ; } return( ret ) ; } char * RkwGetServerName() { if (ConnectIrohaServerName[0]) { return( ConnectIrohaServerName ) ; } else { return ServerNameSpecified; } } int RkwGetProtocolVersion(majorp, minorp) int *majorp, *minorp; { *majorp = ProtocolMajor; *minorp = ProtocolMinor; return 0; } exp(int) RkwGetServerVersion(majorp, minorp) int *majorp, *minorp; { if( !PROTOCOL ) return( RkwGetProtocolVersion(majorp, minorp) ); return( rkcw_get_server_info(majorp, minorp) ); } /* begin:S004 */ int RkcGetServerFD() { return( ServerFD ); } int G070_RkcGetServerFD() { return( ServerFD ); } int RkcConnectIrohaServer( servername ) char* servername; { /* XXX: * RkcDisconnectIrohaServer¤ËÁêÅö¤¹¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬Ìµ¤¤¤Î¤Ç¡¢ * ¤³¤ì¤Ï¥á¥â¥ê¥ê¡¼¥¯¤ò°ú¤­µ¯¤³¤¹¡£º£¤Î¤È¤³¤í¤³¤ÎAPI¤Ï¸Å¤¤cannastat¤¬ * ver 1.x¤Î¥µ¡¼¥Ð¤ÈÄÌ¿®¤¹¤ë¾ì¹ç¤Ë¤À¤±»È¤¦¤Î¤Ç¡¢¤³¤ÎÌäÂê¤Ï̵»ë¤¹¤ë * ¤³¤È¤Ë¤¹¤ë¡£ */ rkc_configure(); return( rkc_Connect_Iroha_Server( servername ) ); } /* end:S004 */ int G069_RkcConnectIrohaServer( servername ) char* servername; { return RkcConnectIrohaServer(servername); } void RkcListenConfigErrors( handler ) RkcConfigErrorProc handler; { config_error_handler = handler; } #ifdef EXTENSION static CheckRemoteToolProtoVersion(mode) { if (!PROTOCOL && ProtocolMinor < 2) /* protocol version 1.2 */ return -1; else if (canna_version(ProtocolMajor, ProtocolMinor) < canna_version(3, 1) && (mode & (RK_GRP_DIC | RK_SYS_DIC | RK_GRP_DIR | RK_SYS_DIR))) { return -1; } return 0; } int RkwListDic( cxnum, dirname, dicnames_return, size ) int cxnum, size ; char *dirname, *dicnames_return ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if (!cx) { return -1; } if (CheckRemoteToolProtoVersion(0)) { return ACCES; } if( !dirname ) if( !(dirname = FindLogname()) ) return( -1 ) ; if( !dicnames_return ) { #ifndef USE_MALLOC_FOR_BIG_ARRAY char buffer[ MAXDATA ] ; return (*RKCP->list_dictionary)(cx, dirname, buffer, MAXDATA); #else char *buffer = GlobalAlloc(GMEM_FIXED, MAXDATA); if (buffer) { int retval = (*RKCP->list_dictionary)(cx, dirname, buffer, MAXDATA); GlobalFree((HGLOBAL)buffer); return retval; } else { return 0; } #endif } else if( size <= 0 ) return( 0 ) ; return (*RKCP->list_dictionary)(cx, dirname, dicnames_return, size); } int RkwCreateDic( cxnum, dicname, mode ) int cxnum, mode ; char *dicname ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if (!cx || !dicname) { return -1; } if (CheckRemoteToolProtoVersion(mode)) { return ACCES; } return (*RKCP->create_dictionary)(cx, (char *)dicname, mode); } exp(int) RkwRemoveDic( cxnum, dicname, mode ) int cxnum ; char *dicname ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if (!cx || !dicname) { return -1; } if (CheckRemoteToolProtoVersion(mode)) { return ACCES; } return (*RKCP->remove_dictionary)(cx, dicname, mode); } exp(int) RkwRenameDic( cxnum, dicname, newdicname, mode ) int cxnum, mode ; char *dicname, *newdicname; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if (!cx || !dicname || !newdicname) { return -1; } if (CheckRemoteToolProtoVersion(mode)) { return ACCES; } return (*RKCP->rename_dictionary)(cx, dicname, newdicname, mode); } /* CopyDic ¤ò Æþ¤ì¤ë¡£ */ exp(int) RkwCopyDic(cxnum, dirname, dicname, newdicname, mode ) int cxnum, mode ; char *dirname,*dicname, *newdicname ; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if (!cx || !dirname || !dicname) { return -1; } /* Protocol Version 3.2 ¤«¤é¥µ¥Ý¡¼¥È¡£¤½¤ì°ÊÁ°¤Î¥µ¡¼¥Ð¤Ø¤ÏÁ÷¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ */ if (canna_version(ProtocolMajor, ProtocolMinor) > canna_version(3, 1)) { return (*RKCP->copy_dictionary)(cx, dirname, dicname, newdicname, mode); } return -1; /* Protocol Version 3.2 */ } /* ¤³¤³¤Þ¤Ç */ static _RkwGetWordTextDic( cxnum, dirname, dicname, info, infolen ) int cxnum, infolen ; unsigned char *dirname, *dicname; Ushort *info; { register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if (!cx || !dirname || !dicname) { return -1; } if (CheckRemoteToolProtoVersion(0)) { return ACCES; } return (*RKCP->get_text_dictionary) (cx, (char *)dirname, (char *)dicname, info, infolen); } exp(int) RkwGetWordTextDic(cxnum, dirname, dicname, info, infolen) int cxnum, infolen ; unsigned char *dirname, *dicname; wchar_t *info; { int len; len = _RkwGetWordTextDic(cxnum, dirname, dicname, rkc.cbuf, CBUFSIZE); if (len < 0){ return len; } else { if( !info ) { return ushort2wchar(rkc.cbuf, len, rkc.buffer, BUFSIZE); } else if( infolen <= 0 ) return 0; return ushort2wchar(rkc.cbuf, len, info, infolen); } } #else RkwListDic(){} RkwCreateDic(){} RkwRemoveDic(){} RkwRenameDic(){} RkwGetWordTextDic(){} #endif /* EXTENSION */ /* Ã༡¼«Æ°ÊÑ´¹µ¡Ç½´Ø¿ô */ /* */ /* Ã༡¼«Æ°ÊÑ´¹µ¡Ç½Æ³Æþ¤Ë¤è¤Ã¤ÆÄɲ䵤ì¤ë´Ø¿ô */ static int _RkwSubstYomi( cxnum, ys, ye, yomi, nyomi ) int cxnum, ys, ye, nyomi; Ushort *yomi; { register RkcContext *cx = getCC( cxnum, CHECK ); int len, curbun, nbun = -1, pbun, retval = -1; #ifndef USE_MALLOC_FOR_BIG_ARRAY Ushort cbuf[CBUFSIZE]; #else Ushort *cbuf = GlobalAlloc(GMEM_FIXED, sizeof(Ushort) * CBUFSIZE); if (!cbuf) { return -1; } #endif if( cx ){ len = cx->maxyomi; if( ys < 0 || ye < 0 || ye < ys || len < ys || len < ye ) { retval = -1; goto done; } nyomi = RKI_MIN( ushortstrlen( yomi ), nyomi); curbun = cx->curbun; cx->curbun = 0; if ((nbun = (*RKCP->subst_yomi)(cx, cx->maxbun, ys, ye, yomi, nyomi)) < 0) { cx->curbun = curbun; retval = -1; goto done; } pbun = cx->maxbun; cx->maxbun = 0; /* StoreFirstKouho ¤Ç¤¢¤ó¤Þ¤ê¤â¤Î¤ò¼Î¤Æ¤Ê¤¤¤è¤¦¤Ë */ StoreFirstKouho(cx, nbun); if (nbun != pbun) { len = (*RKCP->get_last_yomi)(cx, cx->lastyomi, CBUFSIZE); if (len < 0) { retval = -1; goto done; } } else { len = ys; ushortstrncpy( cbuf, &(cx->lastyomi[ye]), (cx->maxyomi - ye) ); len += ushortstrcpy( &(cx->lastyomi[ys]), yomi ); len += ushortstrcpy( &(cx->lastyomi[ys + nyomi]), cbuf ); } cx->maxyomi = len; } retval = nbun; done: #ifdef USE_MALLOC_FOR_BIG_ARRAY GlobalFree((HGLOBAL)cbuf); #endif return retval; } int RkwSubstYomi( cxnum, ys, ye, yomi, nyomi ) int cxnum, ys, ye, nyomi; wchar_t *yomi; { RkcContext *cx = getCC( cxnum, CHECK ); int len; if(cx) { len = wchar2ushort(yomi, nyomi, rkc.cbuf, CBUFSIZE); return _RkwSubstYomi(cxnum, ys, ye, rkc.cbuf, len); } return( -1 ) ; } int RkwFlushYomi( cxnum ) int cxnum; { RkcContext *cx = getCC( cxnum, CHECK ); int curbun, nbun = -1; if( cx ){ curbun = cx->curbun; cx->curbun = 0; if ((nbun = (*RKCP->flush_yomi)(cx)) < 0) { cx->curbun = curbun; return( -1 ) ; } if( nbun != cx->maxbun ) { cx->curbun = cx->maxbun; StoreFirstKouho( cx, nbun ); cx->curbun = curbun; } *(cx->lastyomi) = (Ushort)0; cx->maxyomi = 0; } return( nbun ) ; } static int _RkwGetLastYomi( cxnum, yomi, maxyomi ) int cxnum, maxyomi; Ushort *yomi; { register RkcContext *cx = getCC( cxnum, CHECK ); int len = -1; if( cx ){ if( !maxyomi || cx->maxyomi > maxyomi ) return( 0 ); len = ushortstrncpy( yomi, cx->lastyomi, cx->maxyomi ); } return( len ) ; } int RkwGetLastYomi( cxnum, yomi, maxyomi ) int cxnum; wchar_t *yomi; int maxyomi; { int len; len = _RkwGetLastYomi(cxnum, rkc.cbuf, CBUFSIZE); if (len < 0) { return -1; } else { if( !yomi ) { return ushort2wchar(rkc.cbuf, len, rkc.wbuf, CBUFSIZE); } else if( maxyomi <= 0 ) return 0; return ushort2wchar(rkc.cbuf, len, yomi, maxyomi); } } /* * ÀèÆ¬Ê¸Àᤫ¤é»ØÄꤵ¤ì¤¿Ê¸Àá¤Þ¤Ç¤ÎÀèÆ¬¸õÊä¤Þ¤¿¤Ï¡¢¸õÊäÎó¤ÎÎΰè¤ò²òÊü¤¹¤ë */ static void removeBUN( cx, to ) RkcContext *cx; register int to; { register RkcBun *bun ; register i; for( i = 0; i < to; i++ ) { bun = &cx->bun[ i ] ; if( bun->flags == NUMBER_KOUHO ) { /* Âè°ì¸õÊ䤷¤«Æþ¤Ã¤Æ¤¤¤Ê¤¤Ê¸Àá¤Ï¡¢¼ÂºÝ¤Ë¤Ïmalloc¤·¤¿¤ï¤±¤Ç¤Ï¤Ê¤¯ * ¥µ¡¼¥Ð¤«¤éÄÌÃΤµ¤ì¤¿³ÆÊ¸Àá¤ÎÂè°ì¸õÊäÎó¤ÎÃæ¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò * ÀßÄꤷ¤Æ¤¤¤ë¤À¤±¤À¤«¤é¥Õ¥ê¡¼¤·¤Ê¤¤¡£ */ RkcFree( (char *)bun->kanji ) ; bun->kanji = (Ushort *)NULL ; bun->curcand = bun->maxcand = 0 ; bun->flags = NOTHING_KOUHO ; } } } int RkwRemoveBun( cx_num, mode ) int cx_num, mode; { register RkcContext *cx = getCC( cx_num, CHECK ); register int cnt, i; int ret; if( cx ) { /* * rkcw_remove_bun ¤Ç³Ø½¬¤¹¤Ù¤­¸õÊä¤ò¥µ¡¼¥Ð¤ËÃΤ餻¤ë */ if ((ret = (*RKCP->remove_bun)(cx, mode)) < 0) return( -1 ); removeBUN( cx, cx->curbun + 1 ); for( cnt = 0, i = cx->curbun + 1; i < cx->maxbun; cnt++, i++ ) { cx->bun[cnt].kanji = cx->bun[i].kanji; cx->bun[cnt].curcand = cx->bun[i].curcand; cx->bun[cnt].maxcand = cx->bun[i].maxcand; cx->bun[cnt].flags = cx->bun[i].flags; cx->bun[i].kanji = (Ushort *)NULL ; cx->bun[i].curcand = cx->bun[i].maxcand = 0 ; cx->bun[i].flags = NOTHING_KOUHO ; } cx->curbun = cx->maxbun = 0; StoreFirstKouho( cx, ret ) ; return( ret ) ; } return( 0 ) ; } static int _RkwGetSimpleKanji(cxnum, dicname, yomi, maxyomi, kanjis, maxkanjis, hinshis, maxhinshis) unsigned char *dicname; int cxnum, maxyomi, maxkanjis, maxhinshis; Ushort *yomi, *kanjis, *hinshis; { RkcContext *cx = getCC( cxnum, CHECK ) ; if( cx ){ return (*RKCP->get_simple_kanji) (cx, (char *)dicname, yomi, maxyomi, kanjis, maxkanjis, hinshis, maxhinshis); } return( -1 ) ; } int RkwGetSimpleKanji( cxnum, dicname, yomi, maxyomi, kanjis, maxkanjis, hinshis, maxhinshis ) int cxnum, maxyomi, maxkanjis, maxhinshis ; wchar_t *yomi, *kanjis, *hinshis; char *dicname; { Ushort cbuf[CBUFSIZE], cbuf2[CBIGBUFSIZE], cbuf3[CBIGBUFSIZE]; int nkanji, len, i, j = 0, k = 0, l = 0, m = 0; if( !dicname || !yomi || maxyomi <= 0 ) return( -1 ); len = wchar2ushort(yomi, maxyomi, cbuf, CBUFSIZE); nkanji = _RkwGetSimpleKanji(cxnum, dicname, cbuf, len, cbuf2, CBIGBUFSIZE, cbuf3, CBIGBUFSIZE ); if( nkanji <= 0 || !kanjis || !hinshis ) return( nkanji ); if( maxkanjis <= 0 || maxhinshis <= 0 ) return( 0 ); for( i = 0 ; i < nkanji ; i++ ) { k += ushort2wchar(cbuf2 + j, ushortstrlen(cbuf2 + j), kanjis + k, maxkanjis - k) + 1; j += ushortstrlen(cbuf2 + j) + 1; l += ushort2euc(cbuf3 + m, ushortstrlen(cbuf3 + m), hinshis + l, maxhinshis - l) + 1; m += ushortstrlen(cbuf3 + m) + 1; } kanjis[k] = hinshis[l] = (wchar_t)0; return ( nkanji ); } int RkwQueryDic( cxnum, username, dicname, status ) /* S002 */ int cxnum; char *username; /* S002 */ char *dicname; struct DicInfo *status; { RkcContext *cx = getCC( cxnum, NOCHECK ); if( !cx || !dicname || ProtocolMajor < 3 ) return( -1 ) ; if( !username ) if( !(username = FindLogname()) ) return( -1 ) ; if( !status ) { struct DicInfo buffer; /* ¥À¥ß¡¼ */ return (*RKCP->query_dic)(cx, username, dicname, &buffer); } else{ return (*RKCP->query_dic)(cx, username, dicname, status); } } static int _RkwGetHinshi( cxnum, dst, maxdst ) int cxnum, maxdst; Ushort *dst; { RkcContext *cx = getCC( cxnum, CHECK ); if( cx ){ return (*RKCP->get_hinshi)(cx, dst, maxdst); } return( -1 ) ; } int RkwGetHinshi( cxnum, dst, maxdst ) int cxnum, maxdst; wchar_t *dst; { int len; len = _RkwGetHinshi(cxnum, rkc.cbuf, CBUFSIZE); if (len < 0) { return -1; } else { if( !dst ) { return ushort2wchar(rkc.cbuf, len, rkc.wbuf, CBUFSIZE); } else if( maxdst <= 0 ) return 0; return ushort2wchar(rkc.cbuf, len, dst, maxdst); } } static int _RkwStoreRange( cxnum, yomi, maxyomi ) int cxnum, maxyomi; Ushort *yomi; { RkcContext *cx = getCC( cxnum, CHECK ); if( cx ){ return (*RKCP->store_range)(cx, yomi, maxyomi); } return( -1 ) ; } int RkwStoreRange( cxnum, yomi, maxyomi ) int cxnum, maxyomi; wchar_t *yomi; { int len; if( !yomi || maxyomi <= 0 ) return -1; len = wchar2ushort(yomi, maxyomi, rkc.cbuf, CBUFSIZE); return _RkwStoreRange(cxnum, rkc.cbuf, len); } int RkwSetLocale( cxnum, locale ) int cxnum; unsigned char *locale; { RkcContext *cx = getCC( cxnum, NOCHECK ); if( cx ){ return (*RKCP->set_locale)(cx, (char *)locale); } return( -1 ) ; } /* * RkwSync () * * Description: * ----------- * ¼­½ñ¥Õ¥¡¥¤¥ë¤Ø¤ÎƱ´ü½èÍý * * Input: * ----- * dicname: ¼­½ñ̾@¼­½ñ̾@...@@ * * Returns: * ------- * 0 or -1 */ int RkwSync( cxnum, dicname ) int cxnum; char *dicname; { RkcContext *cx = getCC( cxnum, NOCHECK ); if (cx) { if (canna_version(ProtocolMajor, ProtocolMinor) > canna_version(3, 1)) { return (*RKCP->sync)(cx, dicname ? dicname : ""); } } return -1; } /* * RkwSetAppName () * * Description: * ----------- * ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤ÎÅÐÏ¿ * * Input: * ----- * apname: ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾ * * Returns: * ------- * 0 or -1 */ int RkwSetAppName pro((int, char *)); int RkwSetAppName( cxnum, apname ) int cxnum; char *apname; { RkcContext *cx = getCC( cxnum, NOCHECK ); if( cx && (ProtocolMajor > 2) && apname){ return (*RKCP->set_app_name)(cx, apname); } return( -1 ) ; } int RkSetAppName pro((int, char *)); /* * RkwChmodDic () * * Description: * ----------- * ¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤ÎÊѹ¹ * * Input: * ----- * dicname: ¼­½ñ¤Î̾Á° * * mode: ¥â¡¼¥É * * Returns: * ------- * 0 or -1 */ exp(int) RkwChmodDic(cxnum, dicname, mode) int cxnum; char *dicname; int mode; { RkcContext *cx = getCC( cxnum, NOCHECK ); if (cx && canna_version(ProtocolMajor, ProtocolMinor) > canna_version(3, 1)) { return (*RKCP->chmod_dic)(cx, dicname, mode); } return -1; } /* EUC functions */ #ifndef OMIT_EUC_FUNCS int RkInitialize( hostname ) char *hostname ; { return( RkwInitialize( hostname ) ) ; } void RkFinalize() { RkwFinalize() ; } RkKillServer() { return RkwKillServer(); } int RkCloseContext( cxnum ) int cxnum ; { return( RkwCloseContext( cxnum ) ) ; } int RkCreateContext() { return( RkwCreateContext() ) ; } int RkDuplicateContext( src_cx ) int src_cx ; { return( RkwDuplicateContext( src_cx ) ) ; } int RkGetDicList(cxnum, dicnames, max) int cxnum ; char *dicnames ; int max ; { return( RkwGetDicList( cxnum, dicnames, max ) ) ; } int RkDefineDic(cxnum, dicname, wordrec) int cxnum; char *dicname, *wordrec; { if( !dicname || !wordrec ) return( -1 ) ; euc2ushort(wordrec, strlen(wordrec), rkc.cbuf, CBUFSIZE); return _RkwDefineDic(cxnum, dicname, rkc.cbuf); } int RkDeleteDic(cxnum, dicname, wordrec) int cxnum; char *dicname, *wordrec; { Ushort cbuf[CBUFSIZE]; if( !dicname || !wordrec ) return( -1 ) ; euc2ushort(wordrec, strlen(wordrec), cbuf, CBUFSIZE); return( _RkwDeleteDic(cxnum, dicname, cbuf) ); } int RkMountDic( cxnum, dicname, mode ) int cxnum, mode; char *dicname; { return( RkwMountDic( cxnum, dicname, mode ) ); } int RkRemountDic( cxnum, dicname, where ) int cxnum, where; char *dicname; { return( RkwRemountDic( cxnum, dicname, where ) ); } int RkUnmountDic( cxnum, dicname ) int cxnum; char *dicname; { return( RkwUnmountDic( cxnum, dicname ) ); } int RkGetMountList( cxnum, dicnames_return, max ) int cxnum, max; char *dicnames_return; { return( RkwGetMountList( cxnum, dicnames_return, max ) ); } int RkSetDicPath( cxnum, path ) /* ¥µ¡¼¥Á¥Ñ¥¹¤òÀßÄê */ int cxnum ; char *path ; /* ARGSUSED */ { /* * ¥µ¡¼¥Ð¤¬Î©¤Á¾å¤¬¤ë¤È¤­¤ËÀßÄꤹ¤ë¤Î¤ÇRKC¤Ç¤Ï²¿¤â¤»¤º¤ËÊÖ¤¹ */ return( 0 ) ; } int RkGetDirList( cxnum, ddname, maxddname ) /* ¼­½ñ¥ê¥¹¥È¤ò¼èÆÀ */ int cxnum ; char *ddname ; int maxddname ; /* ARGSUSED */ { #ifdef USE_EUC_PROTOCOL register RkcContext *cx = getCC( cxnum, NOCHECK ) ; if( !cx || ProtocolMajor > 1 ) return( -1 ) ; if( !ddname ) { char buffer[BUFSIZE] ; return (rkc_get_dir_list(cx, buffer, BUFSIZE)); } else if( maxddname <= 0 ) return( 0 ) ; return( rkc_get_dir_list( cx, ddname, maxddname ) ) ; #else /* !USE_EUC_PROTOCOL */ return -1; #endif /* !USE_EUC_PROTOCOL */ } int RkBgnBun(cxnum, yomi, maxyomi, mode) int cxnum; char *yomi; int maxyomi; int mode; { Ushort cbuf[CBIGBUFSIZE]; int len; if (yomi) { len = euc2ushort(yomi, maxyomi, cbuf, CBIGBUFSIZE); return( _RkwBgnBun(cxnum, cbuf, len, mode) ); } else { /* ¼«Æ°ÊÑ´¹³«»Ï */ return _RkwBgnBun(cxnum, (Ushort *)NULL, maxyomi, mode); } } int RkEndBun( cxnum, mode ) int cxnum, mode ; { return( RkwEndBun( cxnum, mode ) ); } int RkXfer( cxnum, knum ) int cxnum, knum; { return( RkwXfer( cxnum, knum ) ); } int RkNfer( cxnum ) int cxnum ; { return( RkwNfer( cxnum ) ); } int RkNext( cxnum ) int cxnum ; { return( RkwNext( cxnum ) ); } int RkPrev(cxnum) int cxnum ; { return( RkwPrev( cxnum ) ); } int RkGetKanji(cxnum, kanji, maxkanji) int cxnum; unsigned char *kanji; int maxkanji; { Ushort cbuf[CBUFSIZE]; int len; if( (len = _RkwGetKanji(cxnum, cbuf, CBUFSIZE)) < 0 ){ return( len ); } else { if( !kanji ) { char buffer[CBUFSIZE]; return( ushort2euc(cbuf, len, buffer, CBUFSIZE) ); } else if( maxkanji <= 0 ) return( 0 ); return ushort2euc(cbuf, len, (char *)kanji, maxkanji); } } int RkGetKanjiList(cxnum, kanjis, maxkanjis) int cxnum; unsigned char *kanjis; int maxkanjis; { Ushort cbuf[CBIGBUFSIZE]; int nkanji, len, i, j = 0, k = 0; char eucbuf[CBUFSIZE*2]; /* S005 */ int euclen; /* S005 */ if( !kanjis ) { return( _RkwGetKanjiList(cxnum, (Ushort *)0, 0) ); } else if( maxkanjis <= 0 ) return( 0 ); nkanji = _RkwGetKanjiList(cxnum, cbuf, CBIGBUFSIZE); for (i = 0 ; i < nkanji ; i++) { len = ushortstrlen(cbuf + j); euclen = ushort2euc(cbuf + j, len, eucbuf, CBUFSIZE * 2); /* S005 */ if (k + euclen > maxkanjis - 2) /* S005 */ break; /* S005 */ strcpy((char *)kanjis + k, (char *)eucbuf); /* S005 */ k += euclen + 1; /* S005 */ j += len + 1; } kanjis[k] = (unsigned char)0; return( i ); /* S005 */ } int RkGoTo(cxnum, bnum) int cxnum, bnum ; { return( RkwGoTo( cxnum, bnum ) ); } int RkLeft( cxnum ) int cxnum; { return( RkwLeft( cxnum ) ); } int RkRight( cxnum ) int cxnum; { return( RkwRight( cxnum ) ); } int RkResize(cxnum, len) int cxnum, len ; { /* ¤³¤Î len ¤Ï¥Ð¥¤¥È¤ä¤±¤É¡¤RkwResize ¤Ë¤Ïʸ»ú¿ô¤òÅϤµ¤Ê¤¢¤«¤ó¤Î¤È ¤Á¤ã¤¦¤ä¤í¤«? ¤³¤ó¤Ê¤ó¡¤¤É¤Ê¤¤¤ä¤Ã¤ÆÊÑ´¹¤·¤¿¤é¤¨¤¨¤ó¤ä¤í? */ Ushort cbuf[CBUFSIZE]; char tmpbuf[BUFSIZE]; register int euclen, uslen = 0; int curbun, ret; register RkcContext *cx = getCC( cxnum, CHECK ) ; if( cx ) { if( len <= 0 ) return( cx->maxbun ); /* ¤·¤ã¤¢¤Ê¤¤¤«¤é¡¤ÆÉ¤ß¤ò¼è¤Ã¤Æ¤­¤ÆÊ¸»ú¿ô¤òÄ´¤Ù¤¿¤í */ curbun = cx->curbun; for( ; (cx->curbun < cx->maxbun) && len; (cx->curbun)++ ) { /* ¤³¤ó¤Ê¤ó¤·¤È¤Ã¤¿¤é¤á¤Á¤ã¤¯¤Á¤ã¸úΨ°­¤¤¤¬¤Ê...¤È¤Û¤Û */ if( (ret = _RkwGetYomi( cx, cbuf, CBUFSIZE )) < 0 ) { cx->curbun = curbun; return( -1 ) ; } if( (euclen = ushort2euc(cbuf, ret, tmpbuf, BUFSIZE)) > len ) { uslen += euc2ushort(tmpbuf, len, cbuf, CBUFSIZE); break; } else { uslen += ret; len -= euclen; } } cx->curbun = curbun; } else { if( len <= 0 ) return( 0 ); } return( RKReSize( cxnum, uslen ) ); } int RkEnlarge( cxnum ) /* ʸÀá¿­¤Ð¤· */ int cxnum ; { return( RKReSize( cxnum, ENLARGE ) ) ; } int RkShorten(cxnum) /* ʸÀá½Ì¤á */ int cxnum ; { return( RKReSize( cxnum, SHORTEN ) ) ; } int RkStoreYomi(cxnum, yomi, maxyomi) int cxnum; char *yomi; int maxyomi; { Ushort cbuf[CBUFSIZE]; int len; if (yomi && maxyomi >= 0) { len = RKI_MIN((int)strlen(yomi),maxyomi); len = euc2ushort(yomi, len, cbuf, CBUFSIZE) + 1; } else { cbuf[0] = 0; len = 0; } return( _RkwStoreYomi(cxnum, cbuf, len) ); } int RkGetYomi(cxnum, yomi, maxyomi) int cxnum; unsigned char *yomi; int maxyomi; { Ushort cbuf[CBUFSIZE]; int len; if ((len = _RkwGetYomi(getCC( cxnum, CHECK ), cbuf, CBUFSIZE)) < 0) { return( len ); } else { if( !yomi ) { char buffer[CBUFSIZE]; return( ushort2euc(cbuf, len, buffer, CBUFSIZE) ); } else if( maxyomi <= 0 ) return( 0 ); return ushort2euc(cbuf, len, (char *)yomi, maxyomi); } } int RkGetLex(cxnum, lex, maxlex) int cxnum, maxlex ; RkLex *lex ; { RkLex *tango; Ushort ybuf[CBUFSIZE], kbuf[CBUFSIZE]; char cbuf[BUFSIZE]; int i, len, ylen, klen, ret; if( (ret = RkwGetLex( cxnum, lex, maxlex )) <= 0 ) return( ret ); if (lex != (RkLex *)NULL) { len = _RkwGetYomi(getCC( cxnum, CHECK ), ybuf, CBUFSIZE); len = _RkwGetKanji(cxnum, kbuf, CBUFSIZE); ylen = klen = 0; tango = lex; for( i = 0; i < ret; i++ ){ len = tango->ylen; tango->ylen = ushort2euc(ybuf + ylen, len, cbuf, BUFSIZE); ylen += len; len = tango->klen; tango->klen = ushort2euc(kbuf + klen, len, cbuf, BUFSIZE); klen += len; tango++; } } return( ret ); } int RkGetStat(cxnum, stat) int cxnum ; RkStat *stat ; { unsigned char cbuf[BUFSIZE]; int ret; if( (ret = RkwGetStat( cxnum, stat )) < 0 ) return( ret ); stat->ylen = RkGetYomi(cxnum, cbuf, BUFSIZE); stat->klen = RkGetKanji(cxnum, cbuf, BUFSIZE); return( ret ); } #ifdef EXTENSION RkListDic( cxnum, dirname, dicnames_return, size ) int cxnum, size; unsigned char *dirname, *dicnames_return; { return RkwListDic(cxnum, (char *)dirname,(char *) dicnames_return, size); } exp(int) RkCreateDic( cxnum, dicname, mode ) int cxnum, mode; unsigned char *dicname; { return RkwCreateDic(cxnum, (char *)dicname, mode); } RkRemoveDic( cxnum, dicname, mode ) int cxnum; unsigned char *dicname; { return RkwRemoveDic(cxnum, (char *)dicname, mode); } RkRenameDic( cxnum, dicname, newdicname, mode ) int cxnum, mode; unsigned char *dicname, *newdicname; { return RkwRenameDic(cxnum, (char *)dicname, (char *)newdicname, mode); } RkCopyDic(cxnum, dirname, dicname, newdicname, mode) int cxnum, mode; unsigned char *dirname, *dicname, *newdicname; { return RkwCopyDic(cxnum, (char *)dirname, (char *)dicname, (char *)newdicname, mode); } exp(int) RkGetWordTextDic(cxnum, dirname, dicname, info, infolen) int cxnum, infolen ; unsigned char *dirname, *dicname, *info; { Ushort cbuf[CBUFSIZE]; int len; if ((len = _RkwGetWordTextDic(cxnum, dirname, dicname, cbuf, CBUFSIZE)) < 0){ return len; } else { if( !info ) { char buffer[CBUFSIZE]; return( ushort2euc(cbuf, len, buffer, CBUFSIZE) ); } else if( infolen <= 0 ) return 0; return ushort2euc(cbuf, len, (char *)info, infolen); } } #else RkListDic(){} RkCreateDic(){} RkRemoveDic(){} RkRenameDic(){} RkGetWordTextDic(){} #endif /* EXTENSION */ int RkSubstYomi( cxnum, ys, ye, yomi, nyomi ) int cxnum, ys, ye, nyomi; char *yomi; { RkcContext *cx = getCC( cxnum, CHECK ); char cbuf[CBUFSIZE]; Ushort cbuf2[CBUFSIZE]; int len; if (cx) { ushort2euc(cx->lastyomi, cx->maxyomi, cbuf, CBUFSIZE); ys = euc2ushort(cbuf, ys, cbuf2, CBUFSIZE); ye = euc2ushort(cbuf, ye, cbuf2, CBUFSIZE); len = euc2ushort(yomi, nyomi, cbuf2, CBUFSIZE); return( _RkwSubstYomi(cxnum, ys, ye, cbuf2, len) ); } return( -1 ) ; } int RkFlushYomi( cxnum ) int cxnum; { return( RkwFlushYomi( cxnum ) ); } int RkGetLastYomi( cxnum, yomi, maxyomi ) int cxnum; char *yomi; int maxyomi; { Ushort cbuf[CBUFSIZE]; int len; if( (len = _RkwGetLastYomi(cxnum, cbuf, CBUFSIZE)) < 0 ){ return -1; } else { if( !yomi ) { char buffer[CBUFSIZE]; return( ushort2euc(cbuf, len, buffer, CBUFSIZE) ); } else if( maxyomi <= 0 ) return 0; return ushort2euc(cbuf, len, yomi, maxyomi); } } int RkRemoveBun( cxnum, mode ) int cxnum, mode ; { return( RkwRemoveBun( cxnum, mode ) ); } int RkGetSimpleKanji( cxnum, dicname, yomi, maxyomi, kanjis, maxkanjis, hinshis, maxhinshis ) int cxnum, maxyomi, maxkanjis, maxhinshis ; unsigned char *yomi, *kanjis, *hinshis ; { Ushort cbuf[CBUFSIZE], cbuf2[CBIGBUFSIZE], cbuf3[CBIGBUFSIZE]; int nkanji, len, i, j = 0, k = 0, l = 0, m = 0; if( !dicname || !yomi || maxyomi <= 0 ) return( -1 ); len = euc2ushort((char *)yomi, maxyomi, cbuf, CBUFSIZE); nkanji = _RkwGetSimpleKanji(cxnum, dicname, cbuf, len, cbuf2, CBIGBUFSIZE, cbuf3, CBIGBUFSIZE ); if( nkanji <= 0 || !kanjis || !hinshis ) return( nkanji ); if( maxkanjis <= 0 || maxhinshis <= 0 ) return( 0 ); for( i = 0 ; i < nkanji ; i++ ) { k += ushort2euc(cbuf2 + j, ushortstrlen(cbuf2 + j), (char *)kanjis + k, maxkanjis - k) + 1; j += ushortstrlen(cbuf2 + j) + 1; l += ushort2euc(cbuf3 + m, ushortstrlen(cbuf3 + m), (char *)hinshis + l, maxhinshis - l) + 1; m += ushortstrlen(cbuf3 + m) + 1; } kanjis[k] = hinshis[l] = (unsigned char)0; return ( nkanji ); } int RkQueryDic( cxnum, username, dicname, status ) /* S002 */ int cxnum; char *username; /* S002 */ char *dicname; struct DicInfo *status; { return RkwQueryDic(cxnum, username, dicname, status); } int RkGetHinshi( cxnum, dst, maxdst ) int cxnum, maxdst; unsigned char *dst; { Ushort cbuf[CBUFSIZE]; int len; if( (len = _RkwGetHinshi( cxnum, cbuf, CBUFSIZE )) < 0 ){ return -1; } else { if( !dst ) { char buffer[CBUFSIZE]; return( ushort2euc(cbuf, len, buffer, CBUFSIZE) ); } else if( maxdst <= 0 ) return 0; return ushort2euc(cbuf, len, (char *)dst, maxdst); } } int RkStoreRange( cxnum, yomi, maxyomi ) int cxnum, maxyomi; unsigned char *yomi; { Ushort cbuf[CBUFSIZE]; int len; if( !yomi || maxyomi <= 0 ) return -1; len = euc2ushort((char *)yomi, maxyomi, cbuf, CBUFSIZE); return( _RkwStoreRange( cxnum, cbuf, len ) ); } int RkSetLocale( cxnum, locale ) int cxnum; unsigned char *locale; { return( RkwSetLocale( cxnum, locale ) ); } int RkSync( cxnum, dicname ) int cxnum; char *dicname; { return( RkwSync( cxnum, dicname ) ); } int RkSetAppName( cxnum, apname ) int cxnum; char *apname; { return( RkwSetAppName( cxnum, apname ) ); } int RkChmodDic(cxnum, dicname, mode) int cxnum; unsigned char *dicname; int mode; { return RkwChmodDic(cxnum, (char *)dicname, mode); } #endif /* OMIT_EUC_FUNCS */ #ifdef ENGINE_SWITCH exp(struct rkfuncs) RkFuncs = { RkwGetProtocolVersion, RkwGetServerName, RkwGetServerVersion, RkwInitialize, RkwFinalize, RkwCreateContext, RkwDuplicateContext, RkwCloseContext, RkwSetDicPath, RkwCreateDic, RkwSync, RkwGetDicList, RkwGetMountList, RkwMountDic, RkwRemountDic, RkwUnmountDic, RkwDefineDic, RkwDeleteDic, RkwGetHinshi, RkwGetKanji, RkwGetYomi, RkwGetLex, RkwGetStat, RkwGetKanjiList, RkwFlushYomi, RkwGetLastYomi, RkwRemoveBun, RkwSubstYomi, RkwBgnBun, RkwEndBun, RkwGoTo, RkwLeft, RkwRight, RkwNext, RkwPrev, RkwNfer, RkwXfer, RkwResize, RkwEnlarge, RkwShorten, RkwStoreYomi, RkwSetAppName, RkwSetUserInfo, RkwQueryDic, RkwCopyDic, RkwListDic, RkwRemoveDic, RkwRenameDic, RkwChmodDic, RkwGetWordTextDic, RkwGetSimpleKanji, }; #endif /* ENGINE_SWITCH */ /* * RkThrough () * * Description: * ----------- * command¤Ç¼¨¤µ¤ì¤ëµ¡Ç½¤ò¼Â¹Ô¤¹¤ë * * Input: * ----- * command: ¥³¥Þ¥ó¥ÉÈÖ¹æ * buf: ¥Ç¡¼¥¿/·ë²Ì¤ÎÀèÆ¬¥Ý¥¤¥ó¥¿ * content_size: ¥Ç¡¼¥¿¤Î¥µ¥¤¥º * buffer_size: ·ë²ÌÎΰè¤Î¥µ¥¤¥º * * Returns: * ------- * buf¤Ë³ÊǼ¤µ¤ì¤¿Â礭¤µ or -1 */ int RkThrough( cxnum, command, buf, content_size, buffer_size ) int cxnum; int command; unsigned char *buf; int content_size; int buffer_size; { RkcContext *cx = getCC( cxnum, NOCHECK ); if( cx ){ return (*RKCP->through) (cx, command, (char *)buf, content_size, buffer_size); } return( -1 ) ; } /* S000:end */ #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/RKC/rkc.h0100644000076500001200000001712707732020155013773 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* sccs_id[]="@(#) NEC UNIX( PC-UX/EWS-UX ) rkc.h 2.4 91/11/11 12:01:18"; */ /* #ident "@(#) NEC/V(386) R3.0B rkc.h 5.9 90/03/26 21:04:36" */ /* $Id: rkc.h,v 1.5 2003/09/17 08:50:53 aida_s Exp $ */ #if defined(ENGINE_SWITCH) #include "RKrename.h" #endif #include "ccompat.h" #include "rkcapi.h" /* ʸÀá¾ðÊó¥ì¥³¡¼¥É * */ #define MAX_HOSTNAME 256 typedef struct _RkcBun { unsigned short *kanji ; /* Âè°ì¸õÊä¤Þ¤¿¤ÏÁ´¸õÊäÎó */ short curcand ; /* ¥«¥ì¥ó¥È´Á»ú¸õÊäÈÖ¹æ */ short maxcand ; /* ´Á»ú¸õÊäÁí¿ô */ short flags ; /* ¥Õ¥é¥° */ #define NOTHING_KOUHO 0x00 #define FIRST_KOUHO 0x01 /* kanji¤ÏÀèÆ¬¸õÊä¤Î¤ß */ #define NUMBER_KOUHO 0x02 /* kanji¤Ï¸õÊä°ìÍ÷¤Î¥Ý¥¤¥ó¥¿ */ } RkcBun ; /* ¤³¤Î¾ì¹ç¡¢curcand¤Ï0,maxcand¤Ï1 */ /* * ¥¯¥é¥¤¥¢¥ó¥È¥³¥ó¥Æ¥¯¥¹¥È¥ì¥³¡Ý¥É * */ typedef struct _RkcContext { short server ; /* ¥µ¡Ý¥Ð¡¦¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ */ short client ; /* ¥¯¥é¥¤¥¢¥ó¥È¡¦¥³¥ó¥Æ¥¯¥¹¥ÈÈÖ¹æ */ RkcBun *bun ; /* ʸÀá¾ðÊó¥ì¥³¡¼¥ÉÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ unsigned short *Fkouho ; /* Âè°ì¸õÊäÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */ short curbun ; /* ¥«¥ì¥ó¥ÈʸÀáÈÖ¹æ */ short maxbun ; /* ʸÀáÁí¿ô */ short bgnflag ; /* RkBgnBun¤Î¥Õ¥é¥° */ unsigned short *lastyomi; short maxyomi; } RkcContext ; extern int ushort2euc(), euc2ushort(), ushort2wchar(), wchar2ushort(), wcharstrlen(), ushortstrlen(), ushortstrcpy() ; typedef long (*initialize_t) pro((char *)); typedef int (*finalize_t) pro((void)); typedef int (*close_context_t) pro((RkcContext *)); typedef int (*create_context_t) pro((void)); typedef int (*duplicate_context_t) pro((RkcContext *)); typedef int (*dictionary_list_t) pro((RkcContext *, char *, int)); typedef int (*define_dic_t) pro((RkcContext *, char *, Ushort *)); typedef int (*delete_dic_t) pro((RkcContext *, char *, Ushort *)); typedef int (*mount_dictionary_t) pro((RkcContext *, char *, int)); typedef int (*remount_dictionary_t) pro((RkcContext *, char *, int)); typedef int (*umount_dictionary_t) pro((RkcContext *, char *)); typedef int (*mount_list_t) pro((RkcContext *, char *, int)); typedef int (*convert_t) pro((RkcContext *, Ushort *, int, int)); typedef int (*convert_end_t) pro((RkcContext *, int)); typedef int (*get_kanji_list_t) pro((RkcContext *)); typedef int (*get_stat_t) pro((RkcContext *, RkStat *)); typedef int (*resize_t) pro((RkcContext *, int)); typedef int (*store_yomi_t) pro((RkcContext *, Ushort *, int)); typedef int (*get_yomi_t) pro((RkcContext *, Ushort *)); typedef int (*get_lex_t) pro((RkcContext *, int, RkLex *)); typedef int (*autoconv_t) pro((RkcContext *, int, int)); typedef int (*subst_yomi_t) pro((RkcContext *, int, int, int, Ushort *, int)); typedef int (*flush_yomi_t) pro((RkcContext *)); typedef int (*get_last_yomi_t) pro((RkcContext *, Ushort *, int)); typedef int (*remove_bun_t) pro((RkcContext *, int)); typedef int (*get_simple_kanji_t) pro((RkcContext *, char *, Ushort *, int, Ushort *, int, Ushort *, int)); typedef int (*query_dic_t) pro((RkcContext *, char *, char *, struct DicInfo *)); typedef int (*get_hinshi_t) pro((RkcContext *, Ushort *, int)); typedef int (*store_range_t) pro((RkcContext *, Ushort *, int)); typedef int (*set_locale_t) pro((RkcContext *, char *)); typedef int (*set_app_name_t) pro((RkcContext *, char *)); typedef int (*notice_group_name_t) pro((RkcContext *, char *)); typedef int (*through_t) pro((RkcContext *, int, char *, int, int)); typedef int (*killserver_t) pro((void)); #ifdef EXTENSION typedef int (*list_dictionary_t) pro((RkcContext *, char *, char *, int)); typedef int (*create_dictionary_t) pro((RkcContext *, char *, int)); typedef int (*remove_dictionary_t) pro((RkcContext *, char *, int)); typedef int (*rename_dictionary_t) pro((RkcContext *, char *, char *, int)); typedef int (*get_text_dictionary_t) pro((RkcContext *, char *, char *, Ushort *, int)); typedef int (*sync_t) pro((RkcContext *, char *)); typedef int (*chmod_dic_t) pro((RkcContext *, char *, int)); typedef int (*copy_dictionary_t) pro((RkcContext *, char *, char *, char *, int)); #endif struct rkcproto { initialize_t initialize; finalize_t finalize; close_context_t close_context; create_context_t create_context; duplicate_context_t duplicate_context; dictionary_list_t dictionary_list; define_dic_t define_dic; delete_dic_t delete_dic; mount_dictionary_t mount_dictionary; remount_dictionary_t remount_dictionary; umount_dictionary_t umount_dictionary; mount_list_t mount_list; convert_t convert; convert_end_t convert_end; get_kanji_list_t get_kanji_list; get_stat_t get_stat; resize_t resize; store_yomi_t store_yomi; get_yomi_t get_yomi; get_lex_t get_lex; autoconv_t autoconv; subst_yomi_t subst_yomi; flush_yomi_t flush_yomi; get_last_yomi_t get_last_yomi; remove_bun_t remove_bun; get_simple_kanji_t get_simple_kanji; query_dic_t query_dic; get_hinshi_t get_hinshi; store_range_t store_range; set_locale_t set_locale; set_app_name_t set_app_name; notice_group_name_t notice_group_name; through_t through; killserver_t killserver; #ifdef EXTENSION list_dictionary_t list_dictionary; create_dictionary_t create_dictionary; remove_dictionary_t remove_dictionary; rename_dictionary_t rename_dictionary; get_text_dictionary_t get_text_dictionary; sync_t sync; chmod_dic_t chmod_dic; copy_dictionary_t copy_dictionary; #endif /* EXTENSION */ }; /* BASIC TYPE: * subete no data ha MSB first(Motorolla order) de tenkai sareru * unsigned char w * unsigned short wx * unsigned long wxyz */ #define LOMASK(x) ((x)&255) #define LTOL4(l, l4) {\ (l4)[0] = LOMASK((l)>>24); (l4)[1] = LOMASK((l)>>16);\ (l4)[2] = LOMASK((l)>> 8); (l4)[3] = LOMASK((l));\ } #define LTOL3(l, l3) {\ (l3)[0] = LOMASK((l)>>16); (l3)[1] = LOMASK((l)>> 8); (l3)[2] = LOMASK((l));\ } #define STOS2(s, s2) {\ (s2)[0] = LOMASK((s)>> 8); (s2)[1] = LOMASK((s));\ } #define RK_LINE_BMAX 1024 /* ¤³¤ì¤Ï RKintern.h ¤Î¤ÈƱ¤¸ÃͤǤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤ */ #if 0 #define I16toI32(x) (((x) & 0x8000) ? ((x) | 0xffff8000) : (x)) #endif #define I16toI32(x) (x) #define I8toI32(x) (((x) & 0x80) ? ((x) | 0xffffff80) : (x)) #ifndef YES #define YES 1 #endif #ifndef NO #define NO 0 #endif #define SIZEOFSHORT 2 /* for protocol */ #define SIZEOFLONG 4 /* for protocol */ #define MAX_CX 100 typedef struct { char *uname; /* user name */ char *gname; /* group name */ char *topdir; /* install dir */ } RkUserInfo; /* function prototypes .. */ extern rkc_Connect_Iroha_Server pro((char *)); Canna37p3/lib/RKC/rkcw.h0100644000076500001200000000352307732020155014155 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* sccs_id[]="@(#) NEC UNIX( PC-UX/EWS-UX ) rkw.h 2.3 91/11/11 12:01:34"; */ /* $Id: rkcw.h,v 1.9 2003/09/17 08:50:53 aida_s Exp $ */ #include "cannaconf.h" #define exp(x) x #if !defined(CANNA_LIGHT) #define USE_EUC_PROTOCOL #endif #define EXTENSION #define DEBUG #define UNIXCONN #include "ccompat.h" #ifndef CANNAWC_DEFINED # define CANNAWC_DEFINED # ifdef CANNA_WCHAR16 typedef canna_uint16_t cannawc; # else typedef canna_uint32_t cannawc; # endif #endif #ifndef NULL #define NULL 0 #endif #include "protodefs.h" /* function prototypes .. */ extern rkcWCinit pro((void)); extern rkcw_get_server_info pro((int *, int *)); extern ushortstrncpy pro((Ushort *, Ushort *, int)); Canna37p3/lib/RKC/wconvert.c0100644000076500001200000017314110043301665015052 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* This program contains a part of the X library. The communication part of the X library is modified and built into this program. */ /*********************************************************** Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, and the Massachusetts Institute of Technology, Cambridge, Massachusetts. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the names of Digital or MIT not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************/ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: wconvert.c,v 1.16.2.1 2004/04/26 21:48:37 aida_s Exp $"; #endif /* LINTLIBRARY */ #include #include "sglobal.h" #include "rkcw.h" #include "canna/RK.h" #include "RKindep/file.h" #include "rkc.h" #include "conf.h" #include #include #include "net.h" #ifndef CANNAHOSTFILE #define CANNAHOSTFILE "/usr/lib/canna/cannahost" #endif #define ReqType0 0 #define ReqType1 1 #define ReqType2 2 #define ReqType3 3 #define ReqType4 4 #define ReqType5 5 #define ReqType6 6 #define ReqType7 7 #define ReqType8 8 #define ReqType9 9 #define ReqType10 10 #define ReqType11 11 #define ReqType12 12 #define ReqType13 13 #define ReqType14 14 #define ReqType15 15 #define ReqType16 16 #define ReqType17 17 #define ReqType18 18 #define ReqType19 19 #define ReqType20 20 #define ReqType21 21 #define SENDBUFSIZE 1024 #define RECVBUFSIZE 1024 int ServerFD ; unsigned int ServerTimeout; static #ifndef SIGNALRETURNSINT void #endif DoSomething(sig) int sig; /* ARGSUSED */ { errno = EPIPE; signal(SIGPIPE, DoSomething); } static int try_connect( fd, addrp, len ) int fd ; struct sockaddr *addrp ; size_t len ; { struct timeval timeout; if( !ServerTimeout ) return connect( fd, addrp, len ); timeout.tv_sec = ServerTimeout / 1000; timeout.tv_usec = (ServerTimeout % 1000) * 1000; return RkiConnect( fd, addrp, len, &timeout ); } #ifdef UNIXCONN #if !defined(__EMX__) /* UNIX¥É¥á¥¤¥ó¤Ç¤ªÏ乤ë */ static int connect_unix( number ) int number ; { struct sockaddr_un unaddr; /* UNIX socket address. */ struct sockaddr *addr; /* address to connect to */ /* ¤¤¤í¤Ï¥µ¡¼¥Ð¤È¡¢£Õ£Î£É£Ø¥É¥á¥¤¥ó¤ÇÀܳ */ unaddr.sun_family = AF_UNIX; if( number ) sprintf( unaddr.sun_path,"%s:%d", IR_UNIX_PATH, number ) ; else strcpy( unaddr.sun_path, IR_UNIX_PATH ) ; addr = (struct sockaddr *)&unaddr; /* * Open the network connection. */ if ((ServerFD = socket((int) addr->sa_family, SOCK_STREAM, 0)) >= 0){ if( try_connect( ServerFD, addr, sizeof unaddr ) < 0 ) { close( ServerFD ) ; return( -1 ) ; } } return( ServerFD ) ; } #endif #endif /* UNIXCONN */ #ifdef STREAMCONN /* ¥¹¥È¥ê¡¼¥à¥Ñ¥¤¥×¤Ç ¤¤¤í¤Ï¥µ¡¼¥Ð¤È¤ªÏ乤ë */ static int connect_stream_pipe( number ) int number ; { char namebuf[(sizeof(IR_STREAM_PATH)) + 8]; char buf[ sizeof(struct file *) ] ; struct strbuf ctrlbuf ; int retfd, flags, mfd ; sprintf( namebuf, "%s%d%s", IR_STREAM_PATH, number, "R" ) ; if( (mfd = open( namebuf, O_RDWR )) < 0 ) return( -1 ) ; if( (retfd = open( IROHA_STREAM, O_RDWR )) < 0 ) { int w = errno ; close ( mfd ) ; errno = w ; return( -1 ) ; } if( write (mfd, &mfd, 1) != 1 ) { int w = errno ; close( retfd ) ; close( mfd ) ; errno = w ; return( -1 ) ; } ctrlbuf.maxlen = sizeof( buf ) ; ctrlbuf.buf = buf ; flags = 0 ; if ( getmsg(mfd, &ctrlbuf, (struct strbuf *)NULL, &flags) < 0 ) { int w = errno ; close( retfd ) ; close( mfd ) ; errno = w ; return( -1 ) ; } if( putmsg(retfd, &ctrlbuf, (struct strbuf *) NULL, 0) < 0 ) { int w = errno ; close( retfd ) ; close( mfd ) ; errno = w ; return ( -1 ); } close( mfd ) ; return( retfd ) ; } #endif /* STREAMCONN */ #ifdef INET6 static int connect_inet( hostname, number ) int number ; char *hostname ; { struct addrinfo hints, *infolist, *info; struct servent *sp ; char portbuf[10]; canna_uint16_t port; sp = getservbyname( IR_SERVICE_NAME, "tcp" ); port = ( sp ? ntohs(sp->s_port) : IR_DEFAULT_PORT ) + number; sprintf( portbuf, "%u", (unsigned int)port ); bzero( &hints, sizeof(hints) ); hints.ai_flags = 0; hints.ai_family = PF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = 0; if( getaddrinfo( hostname, portbuf, &hints, &infolist ) ) { errno = EINVAL; return( -1 ); } for( info = infolist; info; info = info->ai_next ) { ServerFD = socket( info->ai_family, info->ai_socktype, info->ai_protocol ); if( ServerFD != -1 ) { if ( !try_connect( ServerFD, info->ai_addr, info->ai_addrlen ) ) { freeaddrinfo( infolist ); return( ServerFD ); } close( ServerFD ); } } freeaddrinfo( infolist ); return( -1 ); } #else /* !INET6 */ static int connect_inet( hostname, number ) int number ; char *hostname ; { struct sockaddr_in inaddr; /* INET socket address. */ canna_in_addr_t hostinetaddr; /* result of inet_addr of arpa addr */ struct hostent *host_ptr, workhostbuf ; struct servent *sp ; int addrlen ; char *h_addr_ptr; /* ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥É¥á¥¤¥ó¤ÇÀܳ¤¹¤ë¡£ */ if( (host_ptr = gethostbyname( hostname ) ) == (struct hostent *)NULL) { hostinetaddr = inet_addr( hostname ); if( hostinetaddr == (canna_in_addr_t)-1 ) { /* ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥¢¥É¥ì¥¹É½µ­¤¬´Ö°ã¤Ã¤Æ¤¤¤ë */ errno = EINVAL; return( -1 ); } if( !(host_ptr = gethostbyaddr( (char *)&hostinetaddr, sizeof( hostinetaddr ), AF_INET )) ) { host_ptr = &workhostbuf ; host_ptr->h_addrtype = AF_INET ; # ifdef HAVE_STRUCT_HOSTENT_H_ADDR_LIST host_ptr->h_addr_list = &h_addr_ptr; #else host_ptr->h_addr = (char *)&hostinetaddr ; # endif host_ptr->h_length = sizeof( hostinetaddr ) ; } } else { /* ¥¢¥É¥ì¥¹¥¿¥¤¥×¤ò¥Á¥§¥Ã¥¯¤¹¤ë */ if (host_ptr->h_addrtype != AF_INET) { /* Not an Internet host! */ errno = EPROTOTYPE; return( -1 ); } } if( (ServerFD = socket( AF_INET, SOCK_STREAM, 0 )) < 0 ) return( -1 ) ; errno = 0; /* /etc/services¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤ò¼èÆÀ¤¹¤ë */ sp = getservbyname( IR_SERVICE_NAME, "tcp"); /* ¥Ç¡¼¥¿¥»¥Ã¥È */ inaddr.sin_family = host_ptr->h_addrtype; inaddr.sin_port = (sp ? ntohs(sp->s_port) : IR_DEFAULT_PORT) + number; inaddr.sin_port = htons(inaddr.sin_port); bcopy( host_ptr->h_addr, &inaddr.sin_addr, sizeof(inaddr.sin_addr) ) ; addrlen = sizeof( struct sockaddr_in ) ; errno = 0 ; if ( try_connect( ServerFD, (struct sockaddr *)&inaddr, addrlen ) < 0 ) { #ifdef nodef perror("connect") ; #endif close( ServerFD ) ; return( -1 ) ; } return( ServerFD ) ; } #endif /* !INET6 */ #define MAX_LIST 128 static int increment_counter( flush ) int flush ; { static int counter = 0 ; if( flush ) counter = 0 ; else counter++ ; if( counter > MAX_LIST - 1 ) return( -1 ) ; return( counter ) ; } /* °Ê²¼¤Î½ç½ø¤Ç¡¤»ØÄꤷ¤¿¥µ¡¼¥Ð̾¤Î¥Ý¥¤¥ó¥¿¥ê¥¹¥È¤òÊÖ¤¹ */ static void rkc_build_cannaserver_list( list ) char **list ; { char work[ MAX_HOSTNAME ]; const char *hostp ; char **listp = list, *getenv(); exp(char *) RkwGetServerName(); FILE *hostfp ; increment_counter( 1 ) ; /* First, check if the server name is specified by API. Then make the list of servers from environment variable. */ if ((hostp = RkwGetServerName()) != NULL || *(hostp = RkcConfMgr_get_string( &rkc_config, CONF_CANNAHOST, NULL)) || (hostp = getenv( "CANNAHOST" )) != NULL) { char *wp, buf[ MAX_HOSTNAME ] ; strncpy( buf, hostp, MAX_HOSTNAME ) ; buf[MAX_HOSTNAME - 1] = '\0'; /* S004 */ for( wp = strtok( buf, "," ); wp && *wp; wp = strtok( NULL, "," ) ){ /* S004 */ *listp = (char *)malloc(strlen(wp) + 1); if (*listp) { strcpy(*listp, wp); } if( increment_counter( 0 ) < 0 ) { *listp = (char *)NULL ; return ; } else { listp++ ; } } /* S004 */ } /* CANNAHOSTFILE ¥Õ¥¡¥¤¥ë¤«¤é¥ê¥¹¥È¤òºîÀ®¤¹¤ë */ #ifdef __EMX__ if( (hostfp = fopen( CANNAHOSTFILE, "rt" )) != (FILE *)NULL ) { #else if( (hostfp = fopen( CANNAHOSTFILE, "r" )) != (FILE *)NULL ) { #endif while( (hostp = fgets( work, MAX_HOSTNAME, hostfp) ) != NULL ) { /* ²þ¹Ôʸ»ú¤ò¤È¤ë */ work[ strlen( hostp )-1 ] = '\0' ; /* ¥ê¥¹¥È¤Ë³ÊǼ¤¹¤ë */ *listp = (char *)malloc(strlen(work) + 1); if (*listp) { strcpy(*listp, work); } if( !*listp || ( increment_counter( 0 ) < 0) ) break ; listp++ ; } fclose( hostfp ) ; } *listp = (char *)NULL ; } /* °ú¿ô¤Ë NULL ¥Ý¥¤¥ó¥¿¤òÅϤ·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£*/ /* ¤½¤ì¤É¤³¤í¤«¡¢½½Ê¬¤ª¤ª¤­¤ÊÇÛÎó¤òÅϤµ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤À */ rkc_Connect_Iroha_Server( hostname ) char *hostname ; { char *serverlist[ MAX_LIST ], **listp ; int num ; char *number ; #ifdef UNIXCONN char *localhost = "unix"; #else char *localhost = "localhost"; #endif listp = serverlist ; if( hostname[ 0 ] == '\0' ) { rkc_build_cannaserver_list( listp ) ; if( !*listp ) { *listp = (char *)malloc(strlen(localhost) + 1); if (*listp) { strcpy(*listp, localhost); } listp++ ; *listp = (char *)NULL ; } } else { *listp = (char *)malloc(strlen(hostname) + 1); if (*listp) { strcpy(*listp, hostname); } listp++ ; *listp = (char *)NULL ; } for( listp = serverlist; *listp; listp++ ) { ServerTimeout = RkcConfMgr_get_number( &rkc_config, CONF_SERVER_TIMEOUT, *listp ); /* ¥µ¡¼¥Ðµ¯Æ°ÈÖ¹æ¤ò¼èÆÀ¤¹¤ë */ #ifdef INET6 if( **listp == '[' ) { char *p, *q; p = *listp + 1; q = strchr(p, ']'); if( q ) { size_t bodylen; *( q++ ) = '\0'; /* ¤³¤³¤Ç¤Î·Á¼°¥Á¥§¥Ã¥¯¤Ï¸·Ì©¤Ç¤Ê¤¯¤Æ¤è¤¤ */ bodylen = strspn( p, "0123456789ABCDEFabcdef:." ); if( bodylen && ( p[bodylen] == '\0' || p[bodylen] == '%' ) && strchr( p, ':' ) && ( *q == ':' || *q == '\0' ) ) { if( *q == ':' ) { *( q++ ) = '\0'; num = atoi( q ); sprintf( hostname,"[%s]:%d", p, num ) ; } else { num = 0; strcpy( hostname, p ); } ServerFD = connect_inet( p, num ); if( ServerFD >= 0 ) break; continue; } } ServerFD = -1; errno = EINVAL; continue; } #endif /* INET6 */ strtok( *listp, ":" ) ; number = (char *)strtok( NULL, ":" ) ; num = number ? atoi( number ) : 0 ; strcpy( hostname, *listp ) ; if( num ) sprintf( hostname,"%s:%d", hostname, num ) ; #if defined(UNIXCONN) || defined(STREAMCONN) if ( (strcmp( "unix", *listp ) == 0) ) { #ifdef UNIXCONN #ifdef __EMX__ ServerFD = -1; #else ServerFD = connect_unix( num ) ; #endif } else { #else /* STREAMCONN */ /* ¤¤¤í¤Ï¥µ¡¼¥Ð¤È¥¹¥È¥ê¡¼¥à¥Ñ¥¤¥×¤ÇÀܳ */ ServerFD = connect_stream_pipe( num ) ; } else { #endif /* UNIXCONN */ #endif /* UNIXCONN || STREAMCONN */ ServerFD = connect_inet( *listp, num ) ; #if defined(UNIXCONN) || defined(STREAMCONN) } #endif if( ServerFD >= 0 ) break ; } listp = serverlist ; while( *listp ) free( *listp++ ) ; return( ServerFD ) ; } #define HEADER_SIZE ((sizeof(char)) + (sizeof(char)) + SIZEOFSHORT) /* * ¥µ¡¼¥Ð¤«¤éÊÖ¤µ¤ì¤¿Âè°ì¸õÊäÎó¤ò¡¢Âè°ì¸õÊäÎó¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤¹¤ë¡£ */ static firstKouhoStore pro((int, BYTE *, int, BYTE *)); static firstKouhoStore(n, data, len, dest) int n, len; BYTE *data, *dest; { RkcContext *cx = (RkcContext *)dest; register Ushort *return_kouho, *wp ; register int i, save_len ; Ushort *first_kouho = cx->Fkouho ; int length ; if (n < 0) return n; /* ¥³¥Ô¡¼¤¹¤Ù¤­¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤òÄ´¤Ù¤ë */ for( save_len = i = 0; i < cx->curbun; i++ ) { length = ushortstrlen( first_kouho )+1 ; first_kouho += length ; save_len += length ; } if (!(return_kouho = (Ushort *)malloc(save_len * SIZEOFSHORT + len))) return( -1 ) ; wp = return_kouho; bcopy(cx->Fkouho, wp, save_len * SIZEOFSHORT); wp += save_len ; len /= SIZEOFSHORT; for (i = 0 ; i < len ; i++) { *wp = S2TOS(data); data += SIZEOFSHORT; wp++; } free((char *)cx->Fkouho); cx->Fkouho = return_kouho ; return 0; } static int firstKouhoStore_2 pro((int, BYTE *, int, BYTE *)); static int firstKouhoStore_2(n, data, len, dest) int n, len; BYTE *data, *dest; { RkcContext *cx = (RkcContext *)dest; register Ushort *return_kouho, *wp ; register int i ; if (n < 0) return n; if( !(return_kouho = (Ushort *)malloc( len )) ) return( -1 ); wp = return_kouho; len /= SIZEOFSHORT; for (i = 0 ; i < len ; i++) { *wp = S2TOS(data); data += SIZEOFSHORT; wp++; } free((char *)cx->Fkouho); cx->Fkouho = return_kouho ; return 0; } #define PROTOBUF (16 * 8) #define TRY_COUNT 10 /* buf ¤Ï 4 Byte °Ê¾å¤¢¤ê¡¢bufsize >= 4 ¤Ç¤¢¤ë¤³¤È¤ò²¾Äꤷ¤Æ¤¤¤ë */ #define READIT(ServerFD, requiredsize, p, bufcnt, rest) /* SUPPRESS622 */\ do { \ int empty_count = 0; \ while (empty_count < TRY_COUNT && bufcnt < requiredsize) { \ struct timeval timeout2 = timeout; \ rki_fd_set rmask2 = rmask; \ if (ServerTimeout) { \ int r = select(ServerFD + 1, &rmask2, NULL, NULL, &timeout2); \ if (r == 0) { \ break; \ } else if (r == -1) { \ if (errno == EINTR) \ continue; \ else \ break; \ } \ } \ readlen = read(ServerFD, p, rest); \ if (readlen < 0) { \ if (errno == EINTR) { \ continue; \ } \ else { \ break; \ } \ } \ else if ( readlen == 0 ) { \ empty_count++; \ } \ else { \ empty_count = 0; \ bufcnt += readlen; \ p += readlen; \ rest -= readlen; \ } \ } \ } while (0) #ifdef DEBUGPROTO static void printproto(p, n) char *p; int n; { int i; for (i = 0 ; i < n ; i++) { if (i) { if ((i % 4) == 0) printf(" "); if ((i % 32) == 0) printf("\n"); } printf("%02x", (unsigned)((*p++) & 0xff)); } printf("\n"); } static void probe(format, n, p) char *format, *p; int n; { printf(format, n); printproto(p, n); } #else /* !DEBUGPROTO */ #define probe(a, b, c) #endif /* !DEBUGPROTO */ /* RkcRecvWReply() 0: Succeed; -1: Error; RkcRecvWReply ¤Ï¥µ¡¼¥Ð¤«¤é¤Î reply ¤ò read ¤¹¤ë¡£¤È¤ê¤¢¤¨¤º¡¢RkcRecvWReply ¤Ø¤Ï¥Ð¥Ã¥Õ¥¡¤È¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤òÅϤ¹¤¬¡¢RkcRecvWReply ¤Ï¥Ð¥Ã¥Õ¥¡¤¬Â­¤ê¤Ê¤¤¤È ȽÃǤ¹¤ë¤È¼«Ê¬¤Ç malloc ¤·¤Æ¤½¤Î¥Ð¥Ã¥Õ¥¡¤ò»È¤¦¡£RkcRecvWReply ¤¬¥Ð¥Ã¥Õ¥¡¤ò malloc ¤·¤¿¾ì¹ç¤Ë¤Ï allocptr ¤Ë¤½¤Î¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ allocptr ¤Ë 0 ¤¬ÅϤµ¤ì¤¿¾ì¹ç¤Ë¤Ï RkcRecvWReply ¤¬¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤¬Â­¤ê¤Ê¤¤¤È ȽÃǤ·¤¿¾ì¹ç¤Ï¡¢¾åµ­ malloc ¤¬¹Ô¤ï¤ì¤º RkcRecvWReply ¤Ï¥¨¥é¡¼¥ê¥¿¡¼¥ó¤¹¤ë¡£ RkcRecvWReply ¤¬¥¨¥é¡¼¥ê¥¿¡¼¥ó¤·¤¿¾ì¹ç¤Ï malloc ¤Ï¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤ÈȽÃÇ ¤·¤ÆÎɤ¤¡£ allocptr: ¥Ð¥Ã¥Õ¥¡¤¬Â­¤ê¤Ê¤«¤Ã¤¿¾ì¹ç¡¢RkcRecvWReply ¤¬ alloc ¤·¤¿¥Ð¥Ã¥Õ¥¡ len_return: ÆÉ¤ó¤À¥Ç¡¼¥¿¤ÎŤµ¡£NULL ¤òÍ¿¤¨¤ì¤Ð ³ÊǼ¤·¤Ê¤¤¡£ */ #define ReadServer RkcRecvWReply int RkcRecvWReply(buf, bufsize, len_return, allocptr) BYTE *buf, **allocptr; int bufsize, *len_return; { BYTE *bufptr = buf, *p = buf, *q; int bufcnt = 0, rest = bufsize, readlen; int requiredsize = HEADER_SIZE; unsigned short len = (unsigned short)0; struct timeval timeout; rki_fd_set rmask; timeout.tv_sec = ServerTimeout / 1000; timeout.tv_usec = (ServerTimeout % 1000) * 1000; RKI_FD_ZERO(&rmask); RKI_FD_SET(ServerFD, &rmask); errno = 0; READIT(ServerFD, requiredsize, p, bufcnt, rest); if (bufcnt < requiredsize) { errno = EPIPE; close(ServerFD); if (allocptr && bufptr != buf) free(bufptr); return -1; } q = buf + 2; if (bufsize > 4) len = S2TOS(q); if (len_return) *len_return = len; requiredsize = len + HEADER_SIZE; if (bufsize < requiredsize) { if (allocptr && (bufptr = (BYTE *)malloc(requiredsize))) { bcopy(buf, bufptr, bufcnt); rest = requiredsize - bufcnt; p = bufptr + bufcnt; } else { return -1; } } if (bufcnt < requiredsize) { READIT(ServerFD, requiredsize, p, bufcnt, rest); } if (bufcnt < requiredsize) { errno = EPIPE; close(ServerFD); if (allocptr && bufptr != buf) free(bufptr); return -1; } else { if (allocptr && bufptr != buf) *allocptr = bufptr; probe("Read: %d\n", bufcnt, buf); return 0; } } #define WriteServer RkcSendWRequest int RkcSendWRequest( Buffer, size ) const BYTE *Buffer ; int size ; { register int todo, retval = 0; register int write_stat; register const BYTE *bufindex; #ifdef SIGNALRETURNSINT static int (*Sig) pro((int)); #else /* !SIGNALRETURNSINT */ static void (*Sig) pro((int)); #endif /* !SIGNALRETURNSINT */ struct timeval timeout, timeout2; rki_fd_set wfds, wfds2; timeout.tv_sec = ServerTimeout / 1000; timeout.tv_usec = (ServerTimeout % 1000) * 1000; RKI_FD_ZERO(&wfds); RKI_FD_SET(ServerFD, &wfds); errno = 0 ; bufindex = Buffer ; todo = size ; Sig = signal(SIGPIPE, DoSomething); while (size) { timeout2 = timeout; wfds2 = wfds; errno = 0; probe("Write: %d\n", todo, (char *)bufindex); if (ServerTimeout) { int r = select(ServerFD + 1, NULL, &wfds, NULL, &timeout2); if (r == 0) { goto fail; } else if (r == -1) { if (errno == EINTR) continue; else goto fail; } } write_stat = write(ServerFD, (char *)bufindex, (int) todo); if (write_stat >= 0) { size -= write_stat; todo = size; bufindex += write_stat; } else if (errno == EWOULDBLOCK) { /* pc98 */ continue ; } else if (errno == EINTR) { continue; } #ifdef EMSGSIZE else if (errno == EMSGSIZE) { if (todo > 1) todo >>= 1; else continue ; } #endif else { goto fail; } } goto last; fail: close( ServerFD ) ; retval = -1; errno = EPIPE ; last: signal(SIGPIPE, Sig); return retval; } static SendType0Request(proto, len, name) /* Initialize */ long proto, len; char *name; { BYTE lbuf[PROTOBUF], *bufp = lbuf, *p; long sz = 8 + len; int res; if (sz <= PROTOBUF || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(proto, p); p += SIZEOFLONG; LTOL4(len, p); p += SIZEOFLONG; strcpy((char *)p, (char *)name); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } static SendType1Request(majo, mino) /* Finalize , KillServer */ int majo, mino; { BYTE buf[4]; buf[0] = (BYTE)majo; buf[1] = (BYTE)mino; buf[2] = buf[3] = (BYTE)0; return WriteServer(buf, sizeof(buf)); } static SendType2Request(majo, mino, val) /* DuplicateContext */ int majo, mino, val; { BYTE buf[6], *p = buf; *p++ = (BYTE)majo; *p++ = (BYTE)mino; *p++ = (BYTE)0; *p++ = (BYTE)((sizeof(buf)) - HEADER_SIZE); STOS2(val, p); return WriteServer(buf, sizeof(buf)); } static SendType3Request(majo, mino, con, val) /* GetDictionaryList */ int majo, mino, con, val; { BYTE buf[8], *p = buf; *p++ = (BYTE)majo; *p++ = (BYTE)mino; *p++ = (BYTE)0; *p++ = (BYTE)((sizeof(buf)) - HEADER_SIZE); STOS2(con, p); p += SIZEOFSHORT; STOS2(val, p); return WriteServer(buf, sizeof(buf)); } static SendType4Request(majo, mino, con, bgn, end, wstr, wlen) /* SubstYomi */ int majo, mino, con, bgn, end, wlen; Ushort *wstr; { int sz = HEADER_SIZE + SIZEOFSHORT * 4 + (SIZEOFSHORT * (wlen + 1)); int len, i, retval; Ushort *wp; BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = majo; *p++ = mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; STOS2(con, p); p += SIZEOFSHORT; STOS2(bgn, p); p += SIZEOFSHORT; STOS2(end, p); p += SIZEOFSHORT; STOS2(wlen, p); p += SIZEOFSHORT; for (wp = wstr, i = 0 ; i < wlen ; wp++, i++) { STOS2(*wp, p); p += SIZEOFSHORT; } p[0] = p[1] = (BYTE)0; retval = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return retval; } else { return -1; } } static SendType5Request(majo, mino, con, val, mod) /* AutoConvert */ int majo, mino, con, val, mod; { BYTE buf[12], *p = buf; long mode = mod; *p++ = (BYTE)majo; *p++ = (BYTE)mino; *p++ = (BYTE)0; *p++ = (BYTE)((sizeof(buf)) - HEADER_SIZE); STOS2(con, p); p += SIZEOFSHORT; STOS2(val, p); p += SIZEOFSHORT; LTOL4(mode, p); return WriteServer(buf, sizeof(buf)); } static SendType6Request(majo, mino, con, bun, val) /* GetYomi */ int majo, mino, con, val; { BYTE buf[10], *p = buf; *p++ = (BYTE)majo; *p++ = (BYTE)mino; *p++ = (BYTE)0; *p++ = (BYTE)((sizeof(buf)) - HEADER_SIZE); STOS2(con, p); p += SIZEOFSHORT; STOS2(bun, p); p += SIZEOFSHORT; STOS2(val, p); return WriteServer(buf, sizeof(buf)); } #define SendType8Request SendType9Request /* GetHinshi */ static SendType9Request(majo, mino, con, bun, cand, val) /* GetLex */ int majo, mino, con, bun, cand, val; { BYTE buf[12], *p = buf; *p++ = (BYTE)majo; *p++ = (BYTE)mino; *p++ = (BYTE)0; *p++ = (BYTE)((sizeof(buf)) - HEADER_SIZE); STOS2(con, p); p += SIZEOFSHORT; STOS2(bun, p); p += SIZEOFSHORT; STOS2(cand, p); p += SIZEOFSHORT; STOS2(val, p); return WriteServer(buf, sizeof(buf)); } static SendType10Request(majo, mino, cx, n, mod) /* EndConvert */ int majo, mino, n, mod; RkcContext *cx; { int sz = HEADER_SIZE + SIZEOFSHORT * 2 + SIZEOFLONG + (SIZEOFSHORT * n); int len, i, con = (int)cx->server, retval; BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; RkcBun *bun; long mode = mod; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = majo; *p++ = mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; STOS2(con, p); p += SIZEOFSHORT; STOS2(n, p); p += SIZEOFSHORT; LTOL4(mode, p); p += SIZEOFLONG; for (bun = cx->bun, i = 0 ; i < n ; bun++, i++) { short cand = (bun->curcand < bun->maxcand) ? bun->curcand : 0; STOS2(cand, p); p += SIZEOFSHORT; } retval = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return retval; } else { return -1; } } static SendType11Request(majo, mino, con, bun, wstr, wlen) /* StoreYomi */ int majo, mino, con, bun, wlen; Ushort *wstr; { int sz = HEADER_SIZE + SIZEOFSHORT * 2 + (SIZEOFSHORT * wlen); Ushort *wp; int len, i, retval; BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = majo; *p++ = mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; STOS2(con, p); p += SIZEOFSHORT; STOS2(bun, p); p += SIZEOFSHORT; for (wp = wstr, i = 0 ; i < wlen ; wp++, i++) { STOS2(*wp, p); p += SIZEOFSHORT; } /* * ¤³¤Î¥ê¥¯¥¨¥¹¥È¤Ï¼ÂÁõ¤µ¤ì¤Æ°ÊÍè¡¢¼ÂºÝ¤Ë¤Ï¶õ¤Îwstr¤òÅϤ¹StoreYomi * ¤Ç¤·¤«»È¤ï¤ì¤Æ¤¤¤Ê¤¤¡£¤Þ¤¿¡¢3.6p1¤Þ¤Ç¤Î¥µ¡¼¥Ð¤Ë¤Ï¥Ð¥°¤¬¤¢¤ê¡¢ * 3.6¤Þ¤Ç¤Ïwstr¤ÎÎΰè¤Ï¶õ¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤º(¥Ì¥ëʸ»ú¤âÉÔ²Ä)¡¢ * 3.6p1¤Î¾ì¹ç¤Ï¾ï¤Ë¼ºÇÔ¤·¤Æ¤·¤Þ¤¦¡£¤½¤Î¤¿¤á¡¢¤³¤Î¥ê¥¯¥¨¥¹¥È¤Ë * ¤Ä¤¤¤Æ¤ÏÅöÌÌ¡¢¸Æ¤Ó½Ð¤·Â¦¤¬¥Ì¥ë½ªÃ¼¤«wlen=0¤òÊݾڤ¹¤ë¤â¤Î¤È¤¹¤ë¡£ * 2003.01.05 aida_s */ retval = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return retval; } else { return -1; } } static SendType12Request(majo, mino, con, wstr, str) /* DefineWord */ int majo, mino, con; Ushort *wstr; char *str; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int slen = strlen(str) + 1, wlen = ushortstrlen(wstr) + 1, i; int sz = HEADER_SIZE + SIZEOFSHORT + (SIZEOFSHORT * wlen) + slen, len, res; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; STOS2(con, p); p += SIZEOFSHORT; for (i = 0 ; i < wlen ; i++) { Ushort wch = wstr[i]; STOS2(wch, p); p += SIZEOFSHORT; } bcopy(str, p, slen); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } static SendType13Request(majo, mino, con, str, wstr, wlen, mxk, mxh) /* GetSimpleKanji */ int majo, mino, con, wlen, mxk, mxh; Ushort *wstr; char *str; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int slen = strlen(str) + 1, i; int sz = HEADER_SIZE + SIZEOFSHORT + (SIZEOFSHORT * (wlen + 1)) + slen; int len, res; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; STOS2(con, p); p += SIZEOFSHORT; bcopy(str, p, slen); p += slen; for (i = 0 ; i < wlen ; i++) { Ushort wch = wstr[i]; STOS2(wch, p); p += SIZEOFSHORT; } p[0] = p[1] = (BYTE)0; p += SIZEOFSHORT; STOS2(wlen, p); p += SIZEOFSHORT; STOS2(mxk, p); p += SIZEOFSHORT; STOS2(mxh, p); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } static SendType14Request(majo, mino, mod, con, wstr, wlen) /* BeginConvert */ int majo, mino, mod, con, wlen; Ushort *wstr; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int sz = HEADER_SIZE + SIZEOFLONG + SIZEOFSHORT + (SIZEOFSHORT * (wlen + 1)); int len, res; int i; long mode = mod; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; LTOL4(mode, p); p += SIZEOFLONG; STOS2(con, p); p += SIZEOFSHORT; for (i = 0 ; i < wlen ; i++) { Ushort wch = wstr[i]; STOS2(wch, p); p += SIZEOFSHORT; } p[0] = p[1] = (BYTE)0; res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } static SendType15Request(majo, mino, mod, con, str) /* MountDictionary */ int majo, mino, mod, con; char *str; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int slen = strlen(str) + 1; int sz = HEADER_SIZE + SIZEOFLONG + SIZEOFSHORT + slen, len, res; long mode = mod; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; LTOL4(mode, p); p += SIZEOFLONG; STOS2(con, p); p += SIZEOFSHORT; bcopy(str, p, slen); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } static SendType16Request(majo, mino, mod, con, ostr, nstr) /* RenameDictionary */ int majo, mino, mod, con; char *ostr, *nstr; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int oslen = strlen(ostr) + 1, nslen = strlen(nstr) + 1; int sz = HEADER_SIZE + SIZEOFLONG + SIZEOFSHORT + oslen + nslen; int len, res; long mode = mod; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; LTOL4(mode, p); p += SIZEOFLONG; STOS2(con, p); p += SIZEOFSHORT; bcopy(ostr, p, oslen); p += oslen; bcopy(nstr, p, nslen); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } static SendType17Request(majo, mino, str, slen) /* QueryExtension */ int majo, mino, slen; char *str; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int sz = HEADER_SIZE + slen, res; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; STOS2(slen, p); p += SIZEOFSHORT; bcopy(str, p, slen); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } #ifdef EXTENSION static SendType18Request(majo, mino, con, str1, s1len, str2, s2len, val) /* ListDictionary */ int majo, mino, con, s1len, s2len, val; char *str1, *str2; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int sz = HEADER_SIZE + SIZEOFSHORT + s1len + s2len + SIZEOFSHORT; int res, len; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; STOS2(con, p); p += SIZEOFSHORT; bcopy(str1, p, s1len); p += s1len; if (str2 != (char *)0) { bcopy(str2, p, s2len); p += s2len; } STOS2(val, p); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } #endif /* EXTENSION */ static SendType19Request(majo, mino, mod, con, ustr, dstr) /* QueryDictionary */ int majo, mino, mod, con; char *ustr, *dstr; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int uslen = strlen(ustr) + 1, dslen = strlen(dstr) + 1; int sz = HEADER_SIZE + SIZEOFLONG + SIZEOFSHORT + uslen + dslen; int len, res; long mode = mod; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; LTOL4(mode, p); p += SIZEOFLONG; STOS2(con, p); p += SIZEOFSHORT; bcopy(dstr, p, dslen); p += dslen; bcopy(ustr, p, uslen); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } static SendType20Request(majo, mino, con, cmd, dsz, data, bsz) /* Through */ int majo, mino, con, cmd, dsz, bsz; char *data; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int sz = HEADER_SIZE + SIZEOFSHORT + SIZEOFLONG * 2 + dsz; int len, res; long cmdl = cmd; long bszl = bsz; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; STOS2(con, p); p += SIZEOFSHORT; LTOL4(cmdl, p); p += SIZEOFLONG; LTOL4(bszl, p); p += SIZEOFLONG; bcopy(data, p, dsz); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } /* Copy Dic ¤Î¤¿¤á */ static SendType21Request(majo, mino, mod, con, dirstr, ostr, nstr) /* CopyDictionary */ int majo, mino, mod, con; char *dirstr, *ostr, *nstr; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int dirlen = strlen(dirstr) + 1; int oslen = strlen(ostr) + 1, nslen = strlen(nstr) + 1; int sz = HEADER_SIZE + SIZEOFLONG + SIZEOFSHORT +dirlen + oslen + nslen; int len, res; long mode = mod; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; len = sz - HEADER_SIZE; STOS2(len, p); p += SIZEOFSHORT; LTOL4(mode, p); p += SIZEOFLONG; STOS2(con, p); p += SIZEOFSHORT; bcopy(dirstr, p, dirlen); p += dirlen; bcopy(ostr, p, oslen); p += oslen; bcopy(nstr, p, nslen); res = WriteServer(bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } else { return -1; } } /* ¤³¤³¤Þ¤Ç */ static RecvType0Reply(rep) /* Initialize */ long *rep; { BYTE buf[4]; long res; if (ReadServer(buf, 4, (int *)0, (BYTE **)0) < 0) { return -1; } else { res = L4TOL(buf); *rep = (long)res; return 0; } } static RecvType1Reply(n, vmajp, vminp) /* GetServerInfo */ int *n, *vmajp, *vminp; { BYTE lbuf[RECVBUFSIZE], *p, *bufp = lbuf; int sz, retval; if (ReadServer(lbuf, RECVBUFSIZE, &sz, &bufp) < 0) { *n = retval = -1; } else { p = bufp + HEADER_SIZE; *n = (int)I8toI32(*p); p++; *vmajp = (int)I8toI32(*p); p++; *vminp = (int)I8toI32(*p); retval = 0; if (bufp != lbuf) free((char *)bufp); } return retval; } static RecvType2Reply(rep) /* Finalize , KillServer */ int *rep; { BYTE buf[5]; if (ReadServer(buf, 5, (int *)0, (BYTE **)0) < 0) { return -1; } else { *rep = (int)I8toI32(buf[4]); return 0; } } static RecvType3Reply pro((int *, int (*)(int, BYTE *, int, BYTE *), BYTE *)); static RecvType3Reply(n, storefunc, extdata) /* GetHinshi */ int *n, (*storefunc) pro((int, BYTE *, int, BYTE *)); BYTE *extdata; { BYTE lbuf[RECVBUFSIZE], *p, *bufp = lbuf; int sz, datalen, retval; if (ReadServer(lbuf, RECVBUFSIZE, &sz, &bufp) < 0) { retval = -1; } else { p = bufp + HEADER_SIZE; retval = (int)I8toI32(*p++); datalen = sz - sizeof(char); if (storefunc && (*storefunc)(retval, p, datalen, extdata) < 0) { *n = retval = -1; } else { *n = retval; retval = 0; } if (bufp != lbuf) free((char *)bufp); } return retval; } static RecvType4Reply pro((int *, int (*)(int, BYTE *, BYTE *), BYTE *)); static RecvType4Reply(n, storefunc, extdata) /* GetStatus */ int *n, (*storefunc) pro((int, BYTE *, BYTE *)); BYTE *extdata; { BYTE lbuf[RECVBUFSIZE], *p, *bufp = lbuf; short res; int sz, retval; if (ReadServer(lbuf, RECVBUFSIZE, &sz, &bufp) < 0) { retval = -1; } else { p = bufp + HEADER_SIZE; res = *p++; retval = (int)I8toI32(res); if (storefunc && (*storefunc)(retval, p, extdata) < 0) { *n = retval = -1; } else { *n = retval; retval = 0; } if (bufp != lbuf) free((char *)bufp); } return retval; } static RecvType5Reply(rep) /* CreateContext */ int *rep; { BYTE buf[6], *p; short res; if (ReadServer(buf, 6, (int *)0, (BYTE **)0) < 0) { return -1; } else { p = buf + 4; res = (short)S2TOS(p); *rep = (int)I16toI32(res); return 0; } } static RecvType6Reply(buf, mxi, n) /* GetDictionaryList */ BYTE *buf; int mxi, *n; /* ARGSUSED */ { BYTE lbuf[RECVBUFSIZE], *p, *bufp = lbuf; short res; int sz; if (ReadServer(lbuf, RECVBUFSIZE, &sz, &bufp) < 0) { res = -1; } else { p = bufp + HEADER_SIZE; res = (short)S2TOS(p); p += SIZEOFSHORT; *n = (int)I16toI32(res); /* ¼¡¤Î bcopy ¤Ï¥µ¡¼¥Ð¤Ï mxi °ÊÆâ¤ÎŤµ¤·¤«ÊÖ¤µ¤Ê¤¤¤È¿®¤¸¤Æ¥Î¡¼¥Á¥§¥Ã¥¯ */ bcopy(p, buf, sz - SIZEOFSHORT); res = 0; if (bufp != lbuf) free((char *)bufp); } return res; } static RecvType7Reply pro((int *, int (*)(int, BYTE *, int, BYTE *), BYTE *)); static RecvType7Reply(n, storefunc, extdata) /* BeginConvert */ int *n, (*storefunc) pro((int, BYTE *, int, BYTE *)); BYTE *extdata; { BYTE lbuf[RECVBUFSIZE], *p, *bufp = lbuf; short res; int sz, datalen, retval; if (ReadServer(lbuf, RECVBUFSIZE, &sz, &bufp) < 0) { retval = -1; } else { p = bufp + HEADER_SIZE; res = (short)S2TOS(p); p += SIZEOFSHORT; datalen = sz - SIZEOFSHORT; retval = (int)I16toI32(res); if (storefunc && (*storefunc)(retval, p, datalen, extdata) < 0) { *n = retval = -1; } else { *n = retval; retval = 0; } if (bufp != lbuf) free((char *)bufp); } return retval; } static RecvType8Reply pro((int *, int (*)(int, BYTE *, BYTE *, BYTE *), BYTE *, BYTE *)); static RecvType8Reply(n, storefunc, kdata, hdata) /* GetSimpleKanji */ int *n, (*storefunc) pro((int, BYTE *, BYTE *, BYTE *)); BYTE *kdata, *hdata; { BYTE lbuf[RECVBUFSIZE], *p, *bufp = lbuf; short res; int sz, retval; if (ReadServer(lbuf, RECVBUFSIZE, &sz, &bufp) < 0) { retval = -1; } else { p = bufp + HEADER_SIZE; res = (short)S2TOS(p); p += SIZEOFSHORT; retval = (int)I16toI32(res); if (storefunc && (*storefunc)(retval, p, kdata, hdata) < 0) { *n = retval = -1; } else { *n = retval; retval = 0; } if (bufp != lbuf) free((char *)bufp); } return retval; } #define RecvType9Reply RecvType7Reply /* GetLex */ static RecvType10Reply(n, buf, bsz) /* Through */ int *n, bsz; char *buf; { BYTE lbuf[RECVBUFSIZE], *p, *bufp = lbuf; int sz, retval, datalen; if (ReadServer(lbuf, RECVBUFSIZE, &sz, &bufp) < 0) { retval = -1; } else { p = bufp + HEADER_SIZE; retval = (int)L4TOL(p); p += SIZEOFLONG; datalen = sz - SIZEOFLONG; bzero(buf, bsz); bcopy(p, buf, datalen); *n = retval; retval = 0; if (bufp != lbuf) free((char *)bufp); } return retval; } static long rkcw_initialize pro((char *)); static long rkcw_initialize( username ) char *username ; { long reply; long len = strlen( (char *)username ) + 1 ; if (SendType0Request((long) wInitialize, len, username) == 0 && RecvType0Reply(&reply) == 0) { if (reply < 0) { close(ServerFD); } return reply; } return((long) -1); } static rkcw_finalize pro((void)); static rkcw_finalize() { int reply; if (SendType1Request(wFinalize, 0) == 0 && RecvType2Reply(&reply) == 0) { (void)close( ServerFD ) ; return reply; } return -1; } static rkcw_killserver pro((void)); static rkcw_killserver() { int reply; if (SendType1Request(wKillServer, 0) == 0 && RecvType2Reply(&reply) == 0) { (void)close( ServerFD ); return reply; } return -1; } static rkcw_create_context pro((void)); static rkcw_create_context() { int context; if (SendType1Request(wCreateContext, 0) == 0 && RecvType5Reply(&context) == 0) { return context; } return -1; } static rkcw_duplicate_context pro((RkcContext *)); static rkcw_duplicate_context( cx ) register RkcContext *cx ; { int context; if (SendType2Request(wDuplicateContext, 0, (int)cx->server) == 0 && RecvType5Reply(&context) == 0) { return context; } return -1; } static rkcw_close_context pro((RkcContext *)); static rkcw_close_context( cx ) register RkcContext *cx ; { int reply; if (SendType2Request(wCloseContext, 0, (int)cx->server) == 0 && RecvType2Reply(&reply) == 0) { return reply; } return -1; } static dictionary_list(proto, con, dicnames, mxi) int proto, con; char *dicnames ; int mxi; { int res; if (SendType3Request(proto, 0, con, mxi) == 0 && RecvType6Reply((BYTE *)dicnames, mxi, &res) == 0) { return res; } return -1; } static rkcw_dictionary_list pro((RkcContext *, char *, int)); static rkcw_dictionary_list( cx, dicnames, mxi) register RkcContext *cx ; char *dicnames ; int mxi ; { return dictionary_list(wGetDictionaryList, (int)cx->server, dicnames, mxi); } static define_dic(proto, cx, dicname, wordrec) int proto; register RkcContext *cx ; char *dicname ; Ushort *wordrec ; { int reply; if (SendType12Request(proto, 0, (int)cx->server, wordrec, dicname) == 0 && RecvType2Reply(&reply) == 0) { return reply; } return -1; } static rkcw_define_dic pro((RkcContext *, char *, Ushort *)); static rkcw_define_dic( cx, dicname, wordrec) register RkcContext *cx ; char *dicname ; Ushort *wordrec ; { return define_dic(wDefineWord, cx, dicname, wordrec); } static rkcw_delete_dic pro((RkcContext *, char *, Ushort *)); static rkcw_delete_dic( cx, dicname, wordrec) register RkcContext *cx ; char *dicname ; Ushort *wordrec ; { return define_dic(wDeleteWord, cx, dicname, wordrec); } static mount_dictionary pro((int, int, int, char *, int)); static mount_dictionary(majo, mino, context, data, mode) int majo, mino, context, mode ; char *data; { int reply; if (SendType15Request(majo, mino, mode, context, data) == 0 && RecvType2Reply(&reply) == 0){ return reply; } return -1; } static rkcw_mount_dictionary pro((RkcContext *, char *, int)); static rkcw_mount_dictionary( cx, dicname, mode ) register RkcContext *cx ; char *dicname ; int mode ; { return mount_dictionary(wMountDictionary, 0, (int)cx->server, dicname, mode); } static rkcw_umount_dictionary pro((RkcContext *, char *)); static rkcw_umount_dictionary( cx, dicname ) register RkcContext *cx ; char *dicname ; { return mount_dictionary(wUnmountDictionary, 0, (int)cx->server, dicname, 0); } static rkcw_remount_dictionary pro((RkcContext *, char *, int)); static rkcw_remount_dictionary( cx, dicname, where ) register RkcContext *cx ; char *dicname ; int where ; { return mount_dictionary(wRemountDictionary, 0, (int)cx->server, dicname, where); } static rkcw_mount_list pro((RkcContext *, char *, int)); static rkcw_mount_list( cx, dicnames, mxi) register RkcContext *cx ; char *dicnames ; int mxi; { return dictionary_list(wGetMountDictionaryList, (int)cx->server, dicnames, mxi); } #if 0 /* this is not used */ static rkcw_get_dir_list( cx, ddname, maxddname ) register RkcContext *cx ; char *ddname ; int maxddname ; { return dictionary_list(wGetDirectoryList, (int)cx->server, ddname, maxddname); } #endif static end_convert(proto, cx, n, mod) int proto, n, mod; RkcContext *cx; { int reply; if (SendType10Request(proto, 0, cx, n, mod) == 0 && RecvType2Reply(&reply) == 0) { return reply; } return -1; } static rkcw_convert_end pro((RkcContext *, int)); static rkcw_convert_end( cx, mode ) RkcContext *cx ; int mode ; { return end_convert(wEndConvert, cx, cx->maxbun, mode); } static convStore pro((int, BYTE *, int, BYTE *)); static convStore(n, data, len, dest) int n, len; BYTE *data, *dest; { RkcContext *cx = (RkcContext *)dest; if (firstKouhoStore(n, data, len, (BYTE *)cx) < 0) { rkcw_convert_end(cx, 0); /* ¥µ¡¼¥Ð¦¤âRkBgnBun¤ò½ªÎ» */ return -1; } return n; } static rkcw_convert pro((RkcContext *, Ushort *, int, int)); static rkcw_convert( cx, yomi, length, mode ) RkcContext *cx ; int length ,mode; Ushort *yomi ; { int n; if (SendType14Request(wBeginConvert, 0, mode, (int)cx->server, yomi, length) == 0&& RecvType7Reply(&n, convStore, (BYTE *)cx) == 0) { return n; } return -1; } /* get_yomi() storefunc ¤Ë 0 ¤ò¤¤¤ì¤¿¤é¤É¤¦¤Ê¤ë¤«ÃΤé¤Ê¤¤¤«¤é¤Í¡£ */ static get_yomi pro((int, int, int, int (*)(int, BYTE *, int, BYTE *), BYTE *)); static get_yomi(proto, context, curbun, storefunc, yomibuf) int proto, context, curbun, (*storefunc) pro((int, BYTE *, int, BYTE *)); BYTE *yomibuf; { int n; if (SendType6Request(proto, 0, context, curbun, BUFSIZE) == 0 && RecvType7Reply(&n, storefunc, yomibuf) == 0) { return n; } return -1; } static yomiStore pro((int, BYTE *, int, BYTE *)); static yomiStore(n, data, len, destb) int n, len; BYTE *data; BYTE *destb; { Ushort *dest = (Ushort *)destb; if (!(n < 0)) { int i; len /= SIZEOFSHORT; for (i = 0 ; i < len ; i++) { *dest = S2TOS(data); data += SIZEOFSHORT; dest++; } } return 0; } static rkcw_get_yomi pro((RkcContext *, Ushort *)); static rkcw_get_yomi( cx, yomip ) /* yomip ¤Î¥µ¥¤¥º¤Ï̵¸ÂÂ礫¤è¡© */ register RkcContext *cx ; Ushort *yomip ; { return get_yomi(wGetYomi, (int)cx->server, cx->curbun, yomiStore, (BYTE *)yomip); } static kanjilistStore pro((int, BYTE *, int, BYTE *)); static kanjilistStore(n, data, len, dest) int n, len; BYTE *data, *dest; /* ARGSUSED */ { Ushort *p, *wp; p = (Ushort *)malloc(len); if (p) { int i; len /= SIZEOFSHORT; for (wp = p, i = 0 ; i < len ; i++) { *wp = S2TOS(data); data += SIZEOFSHORT; wp++; } *(Ushort **)dest = p; return 0; } else { return -1; } } static rkcw_get_kanji_list pro((RkcContext *)); static rkcw_get_kanji_list( cx ) register RkcContext *cx ; { RkcBun *bun = &cx->bun[ cx->curbun ] ; return get_yomi(wGetCandidacyList, (int)cx->server, cx->curbun, kanjilistStore, (BYTE *)&bun->kanji); } static rkcw_resize pro((RkcContext *, int)); static rkcw_resize( cx, yomi_length ) register RkcContext *cx ; int yomi_length ; { int n; if (SendType6Request(wResizePause, 0, (int)cx->server, cx->curbun, yomi_length) == 0 && RecvType7Reply(&n, firstKouhoStore, (BYTE *)cx) == 0) { return n; } return -1; } static store_yomi(proto, cx, yomi, maxyomi) int proto, maxyomi; RkcContext *cx; Ushort *yomi ; { int wlen = ushortstrlen(yomi) + 1, n; if (maxyomi < wlen) wlen = maxyomi; if (SendType11Request(proto, 0, (int)cx->server, cx->curbun, yomi, wlen) == 0 && RecvType7Reply(&n, firstKouhoStore, (BYTE *)cx) == 0) { return n; } return -1; } static rkcw_store_yomi pro((RkcContext *, Ushort *, int)); static rkcw_store_yomi(cx, yomi, maxyomi) register RkcContext *cx ; Ushort *yomi ; int maxyomi; { return store_yomi(wStoreYomi, cx, (Ushort *)yomi, maxyomi); } static char *BasicExtension = { #ifdef EXTENSION /* Request Name */ "GetServerInfo\0GetAccessControlList\0CreateDictioinary\0\ DeleteDictioinary\0RenameDictioinary\0GetWordTextDictioinary\0\ ListDictioinary\0\0" #else "\0" #endif /* EXTENSION */ } ; static int Query_Extension_Ex(reqnames) char *reqnames; { int datalen = 0, reply; while( *(reqnames + datalen) ){ datalen += strlen(reqnames + datalen) + 1; } datalen++; /* Request Names ¤Ï '\0' ¤ò´Þ¤àʸ»úÎó¤Ç¤¢¤ë¤¿¤á¥Ñ¥±¥Ã¥È¤ËºÜ¤»¤ë¤Ù¤­ Â礭¤µ¤¬È½¤ê¤Ë¤¯¤¤¤Î¤ÇÁ´ÂΤÎÂ礭¤µ¤ò datalen ¤Ë»ØÄꤹ¤ë¡¥ */ /* ºÇ¸å¤Ë;·×¤Ê1¥Ð¥¤¥È¤¬ÉÕ¤¯¡£¤È¤ê¤¢¤¨¤º¤³¤Î¥Ð¥¤¥È¤Ï0¤Ë¤·¤Æ¤ª¤¯¡£ */ if (SendType17Request(wQueryExtensions, 0, reqnames, datalen + 1) == 0 && RecvType2Reply(&reply) == 0) { return reply; } return -1; } static int Query_Extension() { return Query_Extension_Ex(BasicExtension); } #ifdef EXTENSION /* ARGSUSED */ static rkcw_list_dictionary pro((RkcContext *, char *, char *, int)); static rkcw_list_dictionary( cx, dirname, dicnames_return, size ) register RkcContext *cx ; char *dirname, *dicnames_return ; int size ; { int extension_base = Query_Extension(), n; int slen = strlen((char *)dirname) + 1; if( extension_base < 0 ) return( -1 ) ; if (SendType18Request(extension_base + wListDictionary, 1, (int)cx->server, (char *)dirname, slen, (char *)0, 0, size) == 0 && RecvType6Reply((BYTE *)dicnames_return, size, &n) == 0) { return n; } return -1; } static rkcw_create_dictionary pro((RkcContext *, char *, int)); static rkcw_create_dictionary( cx, dicname, mode ) register RkcContext *cx ; char *dicname ; int mode ; { int extension_base = Query_Extension() ; if( extension_base < 0 ) return( -1 ) ; return mount_dictionary(extension_base + wCreateDictionary, 1, (int)cx->server, dicname, mode); } static rkcw_delete_dictionary pro((RkcContext *, char *, int)); static rkcw_delete_dictionary( cx, dicname, mode ) register RkcContext *cx ; char *dicname ; int mode; { int extension_base = Query_Extension() ; if( extension_base < 0 ) return( -1 ) ; return mount_dictionary(extension_base + wDeleteDictionary, 1, (int)cx->server, dicname, mode); } static rkcw_rename_dictionary pro((RkcContext *, char *, char *, int)); static rkcw_rename_dictionary( cx, dic, newdic, mode ) register RkcContext *cx; char *dic, *newdic; int mode; { int reply; int extension_base = Query_Extension() ; if( extension_base < 0 ) return( -1 ) ; if (SendType16Request(extension_base + wRenameDictionary, 1, mode, (int)cx->server, dic, newdic) == 0 && RecvType2Reply(&reply) == 0){ return reply; } return -1; } /* Copy Dic ¤³¤³¤«¤é */ /* Protocol Version 3.2 ¤«¤é¥µ¥Ý¡¼¥È¡£¤½¤ì°ÊÁ°¤Î¥µ¡¼¥Ð¤Ø¤ÏÁ÷¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¤³¤Î¥Á¥§¥Ã¥¯¤Ï rkc.c ¤Ç¹Ô¤Ê¤¦¤³¤È¡£ */ static rkcw_copy_dictionary pro((RkcContext *, char *, char *, char *, int)); static rkcw_copy_dictionary(cx, dir, dic, newdic, mode) register RkcContext *cx; char *dir, *dic, *newdic; int mode; { int reply; int extension_base = Query_Extension() ; if( extension_base < 0 ) return( -1 ) ; if (SendType21Request(extension_base + wCopyDictionary, 1, mode, (int)cx->server, dir, dic, newdic) == 0 && RecvType2Reply(&reply) == 0){ return reply; } return -1; } /* ¤³¤³¤Þ¤Ç */ /* ARGSUSED */ static rkcw_get_text_dictionary pro((RkcContext *, char *, char *, Ushort *, int)); static rkcw_get_text_dictionary( cx, dirname, dicname, info, infolen ) register RkcContext *cx ; char *dirname, *dicname ; Ushort *info ; int infolen ; { int extension_base = Query_Extension() ; int dirlen = strlen((char *)dirname) + 1; int diclen = strlen((char *)dicname) + 1; int n, retval = -1; if( extension_base < 0 ) return( -1 ) ; if (SendType18Request(extension_base + wGetWordTextDictionary, 1, (int)cx->server, dirname, dirlen, dicname, diclen, infolen) == 0&& RecvType7Reply(&n, yomiStore, (BYTE *)info) == 0) { retval = n; } return retval; } int rkcw_get_server_info( majorp, minorp ) int *majorp, *minorp; { int reply, vmajp, vminp; int extension_base = Query_Extension() ; if( extension_base < 0 ) return( -1 ) ; if (SendType1Request(extension_base + wGetServerInfo, 1) == 0 && RecvType1Reply(&reply, &vmajp, &vminp) == 0) { *majorp = vmajp; *minorp = vminp; return reply; } return -1; } #endif /* EXTENSION */ static statusStore(n, data, dest) int n; BYTE *data; RkStat *dest; { if (!(n < 0)) { dest->bunnum = (int)L4TOL(data); /* bunsetsu bangou */ data += SIZEOFLONG; dest->candnum = (int)L4TOL(data); /* kouho bangou */ data += SIZEOFLONG; dest->maxcand = (int)L4TOL(data); /* sou kouho suu */ data += SIZEOFLONG; dest->diccand = (int)L4TOL(data); /* jisho ni aru kouho suu */ data += SIZEOFLONG; dest->ylen = (int)L4TOL(data); /* yomigana no nagasa (in byte) */ data += SIZEOFLONG; dest->klen = (int)L4TOL(data); /* kanji no nagasa (in byte) */ data += SIZEOFLONG; dest->tlen = (int)L4TOL(data); /* tango no kosuu */ } return 0; } static rkcw_get_stat pro((RkcContext *, RkStat *)); static rkcw_get_stat( cx, stat ) register RkcContext *cx ; RkStat *stat ; { RkcBun *bun = &cx->bun[cx->curbun]; int n, retval = -1; if (SendType6Request(wGetStatus, 0, (int)cx->server, cx->curbun, bun->curcand) == 0 && RecvType4Reply(&n, (int (*) pro((int, BYTE *, BYTE *)))statusStore, (BYTE *)stat) == 0) { retval = n; } return retval; } static lexStore(n, data, dlen, dest) int n, dlen; BYTE *data; RkLex *dest; /* ARGSUSED */ { int i; for (i = 0; i < n; i++, dest++) { dest->ylen = (int)L4TOL(data); /* yomigana no nagasa (in byte) */ data += SIZEOFLONG; dest->klen = (int)L4TOL(data); /* kanji no nagasa (in byte) */ data += SIZEOFLONG; dest->rownum = (int)L4TOL(data); /* row number */ data += SIZEOFLONG; dest->colnum = (int)L4TOL(data); /* column number */ data += SIZEOFLONG; dest->dicnum = (int)L4TOL(data); /* dic number */ data += SIZEOFLONG; } return 0; } static rkcw_get_lex pro((RkcContext *, int, RkLex *)); static rkcw_get_lex( cx, mxi, info ) register RkcContext *cx; int mxi; RkLex *info; { RkcBun *bun = &cx->bun[cx->curbun]; int n, retval = -1; if (SendType9Request(wGetLex, 0, (int)cx->server, cx->curbun, bun->curcand, mxi) == 0 && RecvType9Reply(&n, (int (*) pro((int, BYTE *, int, BYTE *)))lexStore, (BYTE *)info) == 0) { retval = n; } return retval; } /* Ã༡ÊÑ´¹¤ËɬÍפʴؿô */ static rkcw_autoconv pro((RkcContext *, int, int)); static rkcw_autoconv( cx, length, mode ) RkcContext *cx; int length, mode; { int reply; if (SendType5Request(wAutoConvert, 0, (int)cx->server, length, mode) == 0 && RecvType2Reply(&reply) == 0) { return reply; } return -1; } static rkcw_subst_yomi pro((RkcContext *, int, int, int, Ushort *, int)); static rkcw_subst_yomi( cx, nbun, y_start, y_end, yomi, y_len ) register RkcContext *cx ; int nbun, y_start, y_end, y_len ; Ushort *yomi ; /* ARGSUSED */ { int n; if (SendType4Request(wSubstYomi, 0, (int)cx->server, y_start, y_end, yomi, y_len) == 0 && RecvType7Reply(&n, firstKouhoStore_2, (BYTE *)cx) == 0) { return n; } return -1; } static rkcw_flush_yomi pro((RkcContext *)); static rkcw_flush_yomi( cx ) register RkcContext *cx ; { int n; if (SendType10Request(wFlushYomi, 0, cx, cx->maxbun, 0) == 0 && RecvType7Reply(&n, firstKouhoStore, (BYTE *)cx) == 0) { return n; } return -1; } static rkcw_get_last_yomi pro((RkcContext *, Ushort *, int)); static rkcw_get_last_yomi( cx, yomi, maxyomi ) register RkcContext *cx ; Ushort *yomi ; int maxyomi ; { int n; if (SendType3Request(wGetLastYomi, 0, (int)cx->server, maxyomi) == 0 && RecvType7Reply(&n, yomiStore, (BYTE *)yomi) == 0) { return n; } return -1; } static rkcw_remove_bun pro((RkcContext *, int)); static rkcw_remove_bun( cx, mode ) RkcContext *cx ; int mode ; { register Ushort *return_kouho; register int i, len, stat, curbun; Ushort *first_kouho = cx->Fkouho; stat = end_convert(wRemoveYomi, cx, cx->curbun, mode); if( stat < 0 ) return( -1 ); /* ºï½ü¤¹¤Ù¤­¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤òÄ´¤Ù¤ë */ len = 0; curbun = cx->curbun + 1; for( i = 0; i < curbun; i++ ) len += ushortstrlen( first_kouho + len ) + 1; /* ¥³¥Ô¡¼¤¹¤Ù¤­¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤òÄ´¤Ù¤ë */ first_kouho += len; len = 0; for( i = curbun; i < cx->maxbun; i++ ) len += ushortstrlen( first_kouho + len ) + 1; if( len > 0 ){ if( !(return_kouho = (Ushort *)malloc( len * SIZEOFSHORT )) ) return( -1 ); bcopy( first_kouho, return_kouho, len * SIZEOFSHORT ); free( (char *)cx->Fkouho ); cx->Fkouho = return_kouho; } return( stat ); } static simpleKanjiStore(n, data, kdest, hdest) int n; BYTE *data; Ushort *kdest, *hdest; { if (!(n < 0)) { int i; Ushort *wp; wp = kdest; for (i = 0; i < n; i++) { while( *data ){ *wp = S2TOS(data); data += SIZEOFSHORT; wp++; } wp[0] = (Ushort)0; data += SIZEOFSHORT; wp++; } wp[0] = (Ushort)0; data += SIZEOFSHORT; wp++; wp = hdest; for (i = 0; i < n; i++) { while( *data ){ *wp = S2TOS(data); data += SIZEOFSHORT; wp++; } wp[0] = (Ushort)0; data += SIZEOFSHORT; wp++; } wp[0] = (Ushort)0; } return 0; } static rkcw_get_simple_kanji pro((RkcContext *, char *, Ushort *, int, Ushort *, int, Ushort *, int)); static rkcw_get_simple_kanji( cx, dic, yomi, mxy, kan, mxk, hin, mxh ) register RkcContext *cx ; char *dic; Ushort *yomi, *kan, *hin; int mxy, mxk, mxh ; { int n; if (SendType13Request(wGetSimpleKanji, 0, (int)cx->server, dic, yomi, mxy, mxk, mxh) == 0 && RecvType8Reply(&n, (int (*) pro((int, BYTE *, BYTE *, BYTE *))) simpleKanjiStore, (BYTE *)kan, (BYTE *)hin) == 0) { return n; } return -1; } BYTE * copyS8(src, des, maxlen) BYTE *src, *des; int maxlen; { BYTE *p = src, *q = des, *r = des + maxlen - 1; /* 1 for EOS */ if (!q || !maxlen) r = q; /* don't copy */ while (*p) { if (q < r) { *q++ = *p; } p++; } if (q) { *q = '\0'; } return p + 1; } static dicinfoStore(n, data, dest) int n; BYTE *data; struct DicInfo *dest; { int mlen = dest->di_count; if (!(n < 0)) { if (dest->di_dic) { data = copyS8(data, dest->di_dic, mlen); } if (dest->di_file) { data = copyS8(data, dest->di_file, mlen); } dest->di_kind = (int)L4TOL(data); data += SIZEOFLONG; dest->di_form = (int)L4TOL(data); data += SIZEOFLONG; dest->di_count = (unsigned)L4TOL(data); data += SIZEOFLONG; dest->di_mode = (int)L4TOL(data); data += SIZEOFLONG; dest->di_time = (long)L4TOL(data); } return 0; } static rkcw_query_dic pro((RkcContext *, char *, char *, struct DicInfo *)); static rkcw_query_dic(cx, usrname, dicname, info) RkcContext *cx; char *usrname, *dicname; struct DicInfo *info; { int reply; if (SendType19Request(wQueryDictionary, 0, 0, (int)cx->server, usrname, dicname) == 0 && RecvType4Reply(&reply, (int (*) pro((int, BYTE *, BYTE *)))dicinfoStore, (BYTE *)info) == 0) { return reply; } return -1; } static rkcw_get_hinshi pro((RkcContext *, Ushort *, int)); static rkcw_get_hinshi( cx, dst, mxd ) register RkcContext *cx; Ushort *dst; int mxd; { RkcBun *bun = &cx->bun[cx->curbun]; int reply; if (SendType8Request(wGetHinshi, 0, (int)cx->server, cx->curbun, bun->curcand, mxd) == 0 && RecvType3Reply(&reply, yomiStore, (BYTE *)dst) == 0) { return reply; } return -1; } static rkcw_store_range pro((RkcContext *, Ushort *, int)); static rkcw_store_range(cx, yomi, maxyomi) register RkcContext *cx ; Ushort *yomi ; int maxyomi; { return store_yomi(wStoreRange, cx, yomi, maxyomi); } static rkcw_set_locale pro((RkcContext *, char *)); static rkcw_set_locale( cx, locale ) register RkcContext *cx ; char *locale ; { return mount_dictionary(wSetLocale, 0, (int)cx->server, locale, 0); } static rkcw_sync pro((RkcContext *, char *)); static rkcw_sync(cx, dicname) register RkcContext *cx; char *dicname; { return mount_dictionary(wSync, 1, (int)cx->server, dicname, 0); } static rkcw_set_app_name pro((RkcContext *, char *)); static rkcw_set_app_name( cx, apname ) register RkcContext *cx; char *apname; { return mount_dictionary(wSetApplicationName, 0, (int)cx->server, apname, 0); } /* Protocol Version 3.2 ¤«¤é¥µ¥Ý¡¼¥È¡£¤½¤ì°ÊÁ°¤Î¥µ¡¼¥Ð¤Ø¤ÏÁ÷¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¤³¤Î¥Á¥§¥Ã¥¯¤Ï rkc.c ¤Ç¹Ô¤Ê¤¦¤³¤È¡£ */ static rkcw_notice_group_name pro((RkcContext *, char *)); static rkcw_notice_group_name(cx, groupname) RkcContext *cx; char *groupname; { return mount_dictionary(wNoticeGroupName, 0, (int)cx->server, groupname, 0); } /* Protocol Version 3.2 ¤«¤é¥µ¥Ý¡¼¥È¡£¤½¤ì°ÊÁ°¤Î¥µ¡¼¥Ð¤Ø¤ÏÁ÷¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ ¤³¤Î¥Á¥§¥Ã¥¯¤Ï rkc.c ¤Ç¹Ô¤Ê¤¦¤³¤È¡£ */ static rkcw_chmod_dic pro((RkcContext *, char *, int)); static rkcw_chmod_dic(cx, dicname, mode) register RkcContext *cx; char *dicname; int mode; { int reply; if (SendType15Request(wChmodDictionary, 1, mode, (int)cx->server, dicname) == 0 && RecvType5Reply(&reply) == 0) { return reply; } return -1; } static rkcw_through pro((RkcContext *, int, char *, int, int)); static rkcw_through( cx, cmd, data, datasz, bufsz ) register RkcContext *cx; int cmd, datasz, bufsz; char *data; { int reply; if (SendType20Request(wThrough, 0, (int)cx->server, cmd, datasz, data, bufsz) == 0 && RecvType10Reply(&reply, data, bufsz) == 0) { return reply; } return -1; } struct rkcproto wideproto = { rkcw_initialize, rkcw_finalize, rkcw_close_context, rkcw_create_context, rkcw_duplicate_context, rkcw_dictionary_list, rkcw_define_dic, rkcw_delete_dic, rkcw_mount_dictionary, rkcw_remount_dictionary, rkcw_umount_dictionary, rkcw_mount_list, rkcw_convert, rkcw_convert_end, rkcw_get_kanji_list, rkcw_get_stat, rkcw_resize, rkcw_store_yomi, rkcw_get_yomi, rkcw_get_lex, rkcw_autoconv, rkcw_subst_yomi, rkcw_flush_yomi, rkcw_get_last_yomi, rkcw_remove_bun, rkcw_get_simple_kanji, rkcw_query_dic, rkcw_get_hinshi, rkcw_store_range, rkcw_set_locale, rkcw_set_app_name, rkcw_notice_group_name, rkcw_through, rkcw_killserver, #ifdef EXTENSION rkcw_list_dictionary, rkcw_create_dictionary, rkcw_delete_dictionary, rkcw_rename_dictionary, rkcw_get_text_dictionary, rkcw_sync, rkcw_chmod_dic, rkcw_copy_dictionary, #endif /* EXTENSION */ }; Canna37p3/lib/RKC/wutil.c0100644000076500001200000001740207732075027014357 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: wutil.c,v 1.7 2003/09/17 15:13:27 aida_s Exp $"; #endif #include "sglobal.h" #include "rkcw.h" /********************************************************************* * wchar_t replace begin * *********************************************************************/ #ifdef wchar_t # error "wchar_t is already defined" #endif #define wchar_t cannawc int ushort2eucsize(src, srclen) Ushort *src; int srclen; { register int i, j; register Ushort wc; for (i = 0, j = 0 ; i < srclen ; i++) { wc = src[i]; switch (wc & 0x8080) { case 0: /* ASCII */ j++; break; case 0x0080: /* Ⱦ³Ñ¥«¥Ê */ j += 2; break; case 0x8000: /* ³°»ú */ j += 3; break; case 0x8080: /* ´Á»ú */ j += 2; break; } } return j; } int ushort2euc(src, srclen, dest, destlen) Ushort *src; char *dest; int srclen, destlen; { register int i, j; register Ushort wc; for (i = 0, j = 0 ; i < srclen && j + 2 < destlen ; i++) { wc = src[i]; switch (wc & 0x8080) { case 0: /* ASCII */ dest[j++] = (unsigned char)((unsigned)wc & 0x7f); break; case 0x0080: /* Ⱦ³Ñ¥«¥Ê */ dest[j++] = (char)0x8e; /* SS2 */ dest[j++] = (unsigned char)(((unsigned)wc & 0x7f) | 0x80); break; case 0x8000: /* ³°»ú */ dest[j++] = (char)0x8f; /* SS3 */ dest[j++] = (unsigned char)((((unsigned)wc & 0x7f00) >> 8) | 0x80); dest[j++] = (unsigned char)(((unsigned)wc & 0x7f) | 0x80); break; case 0x8080: /* ´Á»ú */ dest[j++] = (unsigned char)((((unsigned)wc & 0x7f00) >> 8) | 0x80); dest[j++] = (unsigned char)(((unsigned)wc & 0x7f) | 0x80); break; } } dest[j] = (unsigned char)0; return j; } int eucchars(src, srclen) unsigned char *src; int srclen; { register int i, j; register unsigned char ec; for (i = 0, j = 0 ; i < srclen ; j++) { ec = src[i++]; if (ec & 0x80) { i++; if (ec == 0x8f) i++; /* SS3 */ } } return j; } int euc2ushort(src, srclen, dest, destlen) char *src; Ushort *dest; int srclen, destlen; { register int i, j; register unsigned ec; for (i = 0, j = 0 ; i < srclen && j + 1 < destlen ; i++) { ec = (unsigned)(unsigned char)src[i]; if (ec & 0x80) { switch (ec) { case 0x8e: /* SS2 */ dest[j++] = (Ushort)(0x80 | ((unsigned)src[++i] & 0x7f)); break; case 0x8f: /* SS3 */ dest[j++] = (Ushort)(0x8000 | (((unsigned)src[i + 1] & 0x7f) << 8) | ((unsigned)src[i + 2] & 0x7f)); i += 2; break; default: dest[j++] = (Ushort)(0x8080 | (((unsigned)src[i] & 0x7f) << 8) | ((unsigned)src[i + 1] & 0x7f)); i++; break; } } else { dest[j++] = (Ushort)ec; } } dest[j] = (wchar_t)0; return j; } exp(int) Wineuc2ushort(src, srclen, dest, destlen) char *src; Ushort *dest; int srclen, destlen; { return euc2ushort(src, srclen, dest, destlen); } #ifndef CANNA_WCHAR16 static int wchar2ushort32(src, srclen, dest, destlen) register wchar_t *src; register Ushort *dest; int srclen, destlen; { register int i; for (i = 0 ; i < srclen && i + 1 < destlen ; i++) { switch (((unsigned long)*src & 0xf0000000) >> 28) { case 0: /* ASCII */ *dest = (Ushort)((unsigned)*src & 0x7f); break; case 1: /* Ⱦ³Ñ¥«¥Ê */ *dest = (Ushort)(0x80 | ((unsigned)*src & 0x7f)); break; case 2: /* ³°»ú */ *dest = (Ushort)(0x8000 | (((unsigned)*src & 0x3f80) << 1) | ((unsigned)*src & 0x7f)); break; case 3: /* ´Á»ú */ *dest = (Ushort)(0x8080 | (((unsigned)*src & 0x3f80) << 1) | ((unsigned)*src & 0x7f)); break; } src++; dest++; } *dest = (Ushort)0; return i; } static int ushort2wchar32(src, srclen, dest, destlen) register Ushort *src; register wchar_t *dest; int srclen, destlen; { register int i; for (i = 0 ; i < srclen && i + 1 < destlen ; i++) { switch (*src & 0x8080) { case 0: /* ASCII */ *dest = (wchar_t)(*src & 0x7f); break; case 0x0080: /* Ⱦ³Ñ¥«¥Ê */ * dest = (wchar_t)((0x1 << 28) | (*src & 0x7f)); break; case 0x8000: /* ³°»ú */ *dest = (wchar_t)((0x2 << 28) | (((unsigned long)*src & 0x7f00) >> 1) | ((unsigned long)*src & 0x7f)); break; case 0x8080: /* ´Á»ú */ *dest = (wchar_t)((0x3 << 28) | (((unsigned long)*src & 0x7f00) >> 1) | ((unsigned long)*src & 0x7f)); break; } src++; dest++; } *dest = (wchar_t)0; return i; } #else /* CANNA_WCHAR16 */ static int wchar2ushort16(src, srclen, dest, destlen) wchar_t *src; Ushort *dest; int srclen, destlen; { register int i; for (i = 0 ; (i < srclen) && ((i + 1) < destlen) ; i++) *dest++ = (Ushort)*src++; *dest = (Ushort)0; return i; } static int ushort2wchar16(src, srclen, dest, destlen) Ushort *src; wchar_t *dest; int srclen, destlen; { register int i; for (i = 0 ; (i < srclen) && ((i + 1) < destlen) ; i++) *dest++ = (wchar_t)*src++; *dest = (wchar_t)0; return i; } #endif /* CANNA_WCHAR16 */ /* * ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¥ª¥Ú¥ì¡¼¥·¥ç¥ó * */ int wchar2ushort(src, slen, dst, dlen) wchar_t *src; Ushort *dst; int slen, dlen; { #ifdef CANNA_WCHAR16 return( wchar2ushort16( src, slen, dst, dlen ) ); #else return( wchar2ushort32( src, slen, dst, dlen ) ); #endif } int ushort2wchar(src, slen, dst, dlen) Ushort *src; wchar_t *dst; int slen, dlen; { #ifdef CANNA_WCHAR16 return( ushort2wchar16( src, slen, dst, dlen ) ); #else return( ushort2wchar32( src, slen, dst, dlen ) ); #endif } exp(int) Winushort2wchar(src, slen, dst, dlen) Ushort *src; wchar_t *dst; int slen, dlen; { return ushort2wchar(src, slen, dst, dlen); } int wcharstrlen(ws) wchar_t *ws; { register wchar_t *p = ws; while (*p) p++; return p - ws; } int ushortstrlen(ws) Ushort *ws; { register Ushort *p = ws; while (*p) p++; return p - ws; } int ushortstrcpy(wd, ws) Ushort *wd, *ws; { register int res = 0; while ((*wd++ = *ws++) != (Ushort)0) { res++; } return res; } int ushortstrncpy(wd, ws, n) Ushort *wd, *ws; int n; { register int res = 0; while (n > res && (*wd = *ws) != (Ushort)0) { wd++; ws++; res++; } *wd = 0; return res; } #ifndef wchar_t # error "wchar_t is already undefined" #endif #undef wchar_t /********************************************************************* * wchar_t replace end * *********************************************************************/ Canna37p3/lib/RKC16/0040755000076500001200000000000010052700713013177 5ustar shinraadminCanna37p3/lib/RKC16/.cvsignore0100644000076500001200000000012307601177343015205 0ustar shinraadmin.depend Makefile libRKC16.a libRKC16.so* libRKC16.sl* libRKC16.dll unshared *.[ch] Canna37p3/lib/RKC16/Imakefile0100644000076500001200000000014707726364104015025 0ustar shinraadmin/* $Id: Imakefile,v 1.7 2003/09/06 13:59:32 aida_s Exp $ */ #define NARROW #include "../RKC/Imakefile" Canna37p3/lib/RKindep/0040755000076500001200000000000010052700713013745 5ustar shinraadminCanna37p3/lib/RKindep/.cvsignore0100644000076500001200000000004407637501711015754 0ustar shinraadmin.depend Makefile libRKindep.a *.sub Canna37p3/lib/RKindep/basename.c0100644000076500001200000000517407637501711015704 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "cannaconf.h" #include "ccompat.h" #include "RKindep/file.h" RCSID("$Id: basename.c,v 1.2 2003/03/24 04:04:25 aida_s Exp $"); /* * basename() has at least 3 versions. * * 1. traditional * (glibc default, libiberty, Tru64 without _XOPEN_SOURCE_EXTENDED) * They simply returns the pointer to just after the last slash. If input * is terminated by '/' output is empty string. Typically input == NULL * results segfault. * * 2. SUSv2 * (glibc+libgen.h, Tru64 + _XOPEN_SOURCE_EXTENDED, Sun and others) * If input is terminated by '/' it is replaced to '\0'. If nput == NULL * then output is ".". It is important that input string may be modified. * So it is declared like this: * char *basename(char *); * * 3. recent BSD (including MacOS X) * Basically same to SUSv2 but input string is not modified. Alternatively * it is stored to static memory. If input path is longer than MAXPATHLEN * output is NULL and errno is ENAMETOOLONG. Additionally, FreeBSD uses * malloc() to store output string, ENOMEM may happen. I'm not familiar * to UNIX standards but the claim in BSD manpages that thier basename() * are XPG4.2 conformant might be wrong. XPG4.2 allows and SUSV2 disallows? * * I implement 1. because it is most simple, safe and does everything what * is needed in canna. */ char * RkiBasename(path) const char *path; { char *p = strrchr(path, '/'); return p ? p + 1 : (char *)path; } /* vim: set sw=2: */ Canna37p3/lib/RKindep/cfuncs.c0100644000076500001200000000560407773337054015420 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "cannaconf.h" #include "ccompat.h" #include "RKindep/ecfuncs.h" RCSID("$Id: cfuncs.c,v 1.2.2.1 2003/12/27 17:15:24 aida_s Exp $"); #undef malloc #undef calloc #if !HAVE_MALLOC void * RkiMalloc(size) size_t size; { return malloc(size ? size : 1); } void * RkiCalloc(num, size) size_t num; size_t size; { return calloc(num ? num : 1, size ? size : 1); } #endif /* !HAVE_MALLOC */ #ifndef HAVE_MEMSET void * RkiMemset(buf, ch, size) void *buf; int ch; size_t size; { char *p = (char *)buf; char *endp = p + size; while (p < endp) *p++ = (char)ch; return buf; } #endif /* !HAVE_MSEMSET */ #ifndef HAVE_STRDUP char * RkiStrdup(str) const char *str; { size_t len = strlen(str) + 1; char *p; p = malloc(len); if (!p) return NULL; strcpy(p, str); return p; } #endif /* !HAVE_MSEMSET */ #ifndef HAVE_STRLCPY size_t RkiAltStrlcpy(dst, src, size) char *dst; const char *src; size_t size; { const char *sp = src; char *dp = dst; char *dstend; if (!size) /* should not happen */ goto last; dstend = dst + size - 1; for (; dp < dstend && *sp; ++dp, ++sp) *dp = *sp; *dp = '\0'; last: for (; *sp; ++sp) ; return sp - src; } size_t RkiAltStrlcat(dst, src, size) char *dst; const char *src; size_t size; { const char *sp = src; char *dp = dst; char *dstend; dstend = dst + size; /* first dstend */ for (; dp < dstend; ++dp) if (!*dp) goto next; /* dp == dstend */ goto last; /* should not happen */ next: --dstend; /* second dstend */ for (; dp < dstend && *src; ++dp, ++src) *dp = *src; *dp = '\0'; last: for (; *sp; ++sp) ; return (dp - dst) + (sp - src); } #endif /* !HAVE_STRLCPY */ /* vim: set sw=2: */ Canna37p3/lib/RKindep/cfuncs.exp0100644000076500001200000000243407637501711015760 0ustar shinraadmin# Copyright (c) 2003 Canna Project. All rights reserved. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of the # author and contributors not be used in advertising or publicity # pertaining to distribution of the software without specific, written # prior permission. The author and contributors no representations # about the suitability of this software for any purpose. It is # provided "as is" without express or implied warranty. # # THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO # THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND # FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR # ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER # RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF # CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # $Id: cfuncs.exp,v 1.1 2003/03/24 04:04:25 aida_s Exp $ RkiMalloc RkiCalloc RkiMemset RkiStrdup Canna37p3/lib/RKindep/cfuncs.h0100644000076500001200000000375107773337054015426 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: cfuncs.h,v 1.1.2.1 2003/12/27 17:15:24 aida_s Exp $ */ #ifndef RKINDEP_CFUNCS_H #define RKINDEP_CFUNCS_H #ifdef NEED_RKINDEP_SUBST # include "RKindep/cfuncs.sub" #endif #ifdef __cplusplus extern "C" { #endif #ifndef HAVE_MALLOC # define HAVE_MALLOC 0 #endif #if !HAVE_MALLOC extern void *RkiMalloc pro((size_t size)); extern void *RkiCalloc pro((size_t num, size_t size)); # define malloc(size) RkiMalloc(size) # define calloc(num, size) RkiCalloc(num, size) #endif #ifndef HAVE_MEMSET extern void *RkiMemset pro((void *ptr, int ch, size_t size)); # define memset(buf, ch, size) RkiMemset(buf, ch, size) #endif #ifndef HAVE_STRDUP extern char *RkiStrdup pro((const char *str)); # define strdup(s) RkiStrdup(s) #endif #ifdef __cplusplus } #endif #endif /* RKINDEP_CFUNCS_H */ Canna37p3/lib/RKindep/cksum.c0100644000076500001200000001634607734576644015275 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /*- * Copyright (c) 1991, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * James W. Williams of NASA Goddard Space Flight Center. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include "cannaconf.h" #include "ccompat.h" #include "RKindep/cksum.h" RCSID("$Id: cksum.c,v 1.4 2003/09/25 14:37:24 aida_s Exp $"); static void RkiCksumCRCAdd pro((RkiCksumCalc *cx, const void *data, size_t len)); int RkiCksumAdd(cx, data, len) RkiCksumCalc *cx; const void *data; size_t len; { RkiCksumCRCAdd(cx, data, len); return 0; } /* * POSIX 1003.2 cksum (==ISO/IEC 8802-3:1989 CRC) */ static const canna_uint32_t crctab[] = { 0x0, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd, 0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a, 0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039, 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58, 0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95, 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0, 0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16, 0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, 0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba, 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b, 0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e, 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, 0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34, 0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb, 0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c, 0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff, 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e, 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3, 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71, 0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640, 0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087, 0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec, 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d, 0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18, 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4 }; int RkiCksumCRCInit(cx) RkiCksumCalc *cx; { cx->curr = 0; cx->len = 0; return 0; } #define CRC(varp, ch) (*(varp) = *(varp) << 8 ^ crctab[*(varp) >> 24 ^ (ch)]) static void RkiCksumCRCAdd(cx, data, len) RkiCksumCalc *cx; const void *data; size_t len; { const unsigned char *p = (const unsigned char *)data; const unsigned char *endp = p + len; for (; p < endp; ++p) CRC(&cx->curr, *p); cx->len += len; } canna_uint32_t RkiCksumCRCFinish(cx) RkiCksumCalc *cx; { for (; cx->len != 0; cx->len >>= 8) /* LSB first, variable length */ CRC(&cx->curr, cx->len & 0xff); return ~cx->curr; } /* vim: set sw=2: */ Canna37p3/lib/RKindep/cksum.exp0100644000076500001200000000244107637501711015617 0ustar shinraadmin# Copyright (c) 2003 Canna Project. All rights reserved. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of the # author and contributors not be used in advertising or publicity # pertaining to distribution of the software without specific, written # prior permission. The author and contributors no representations # about the suitability of this software for any purpose. It is # provided "as is" without express or implied warranty. # # THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO # THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND # FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR # ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER # RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF # CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # $Id: cksum.exp,v 1.1 2003/03/24 04:04:25 aida_s Exp $ RkiCksumCRCInit RkiCksumAdd RkiCksumCRCFinish Canna37p3/lib/RKindep/cksum.h0100644000076500001200000000352407734576644015274 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: cksum.h,v 1.3 2003/09/25 14:37:24 aida_s Exp $ */ #ifndef RKINDEP_CKSUM_H #define RKINDEP_CKSUM_H #ifdef NEED_RKINDEP_SUBST # include "RKindep/cksum.sub" #endif #ifdef __cplusplus extern "C" { #endif typedef struct { canna_uint32_t curr; size_t len; } RkiCksumCalc; /* * only ISO/IEC 8802-3:1989 CRC (==POSIX 1003.2 cksum) is supported for now */ extern int RkiCksumCRCInit pro((RkiCksumCalc *cx)); extern int RkiCksumAdd pro((RkiCksumCalc *cx, const void *data, size_t len)); extern canna_uint32_t RkiCksumCRCFinish pro((RkiCksumCalc *cx)); #ifdef __cplusplus } #endif #endif /* RKINDEP_CKSUM_H */ /* vim: set sw=2: */ Canna37p3/lib/RKindep/ecfuncs.exp0100644000076500001200000000242107713716367016133 0ustar shinraadmin# Copyright (c) 2003 Canna Project. All rights reserved. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of the # author and contributors not be used in advertising or publicity # pertaining to distribution of the software without specific, written # prior permission. The author and contributors no representations # about the suitability of this software for any purpose. It is # provided "as is" without express or implied warranty. # # THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO # THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND # FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR # ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER # RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF # CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # $Id: ecfuncs.exp,v 1.1 2003/08/05 12:03:03 aida_s Exp $ RkiAltStrlcpy RkiAltStrlcat Canna37p3/lib/RKindep/ecfuncs.h0100644000076500001200000000357707732075027015573 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: ecfuncs.h,v 1.2 2003/09/17 15:13:27 aida_s Exp $ */ #ifndef RKINDEP_ECFUNCS_H #define RKINDEP_ECFUNCS_H #ifdef NEED_RKINDEP_SUBST # include "RKindep/ecfuncs.sub" #endif #ifdef __cplusplus extern "C" { #endif #ifdef HAVE_STRLCPY # define RkiStrlcpy strlcpy # define RkiStrlcat strlcat #else # define RkiStrlcpy RkiAltStrlcpy # define RkiStrlcat RkiAltStrlcat extern size_t RkiAltStrlcpy pro((char *dst, const char *src, size_t len)); extern size_t RkiAltStrlcat pro((char *dst, const char *src, size_t len)); #endif #define RKI_MIN(x, y) (((x) < (y)) ? (x) : (y)) #define RKI_MAX(x, y) (((x) < (y)) ? (y) : (x)) #ifdef __cplusplus } #endif #endif /* RKINDEP_ECFUNCS_H */ Canna37p3/lib/RKindep/file.c0100644000076500001200000000772507734327500015054 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "cannaconf.h" #include "ccompat.h" #include "RKindep/file.h" #include #include #include #include "net.h" #include #include RCSID("$Id: file.c,v 1.3 2003/09/24 14:50:40 aida_s Exp $"); int RkiConnect(fd, addrp, len, timeout) int fd; struct sockaddr *addrp; size_t len; const struct timeval *timeout; { int flags; int res = -1, r; canna_socklen_t optlen; struct timeval tval = *timeout; rki_fd_set wfds; flags = fcntl(fd, F_GETFL, 0); if (fcntl(fd, F_SETFL, flags | O_NONBLOCK)) return -1; if (!connect(fd, addrp, len)) { res = 0; /* succeeded at once */ goto finish; } else if (errno != EINPROGRESS) goto finish; RKI_FD_ZERO(&wfds); RKI_FD_SET(fd, &wfds); r = select(fd + 1, NULL, &wfds, NULL, &tval); if (r <= 0 || !RKI_FD_ISSET(fd, &wfds)) goto finish; /* timeout or error (FIXME: EINTR) */ optlen = sizeof(int); if (getsockopt(fd, SOL_SOCKET, SO_ERROR, (char *)&r, &optlen)) goto finish; /* for nonstandard platforms */ if (!r) res = 0; finish: fcntl(fd, F_SETFL, flags); return res; } /* * non NULL: Pointer to malloc()ed line buffer (you must free()) * NULL: Error or EOF. * feof() != 0: no lines after this * ferror() != 0: some error happened in stdio * !feof() && !ferror(): out-of-memory (errno == ENOMEM) */ /* stdio¤Îfeof()¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ï¤É¤³¤Ø¹Ô¤Ã¤Æ¤â¶¦Ä̤ʤΤÀ¤í¤¦¤«¡© */ char * RkiGetLine(fp) FILE *fp; { char *buf, *tmp; size_t buflen; size_t pos; const char *readres; buflen = 32; /* for now */ buf = malloc(buflen); if (!buf) return NULL; pos = 0; for (;;) { assert(pos < buflen); if (pos == buflen - 1) { buflen *= 2; tmp = realloc(buf, buflen); if (!tmp) goto err; buf = tmp; } readres = fgets(buf + pos, buflen - pos, fp); if (!readres) { if (pos == 0) goto err; clearerr(fp); break; } pos = strlen(buf); /* excluding '\0' */ if (pos && buf[pos - 1] == '\n') break; } return buf; err: free(buf); return NULL; } void * RkiReadWholeFile(fp, retsize) FILE *fp; size_t *retsize; { size_t pos = 0; size_t buflen = 256; char *buf = malloc(buflen); if (!buf) /* needed even for empty file */ return NULL; for (;;) { size_t nread; assert(pos < buflen); /* must not pos == buflen */ nread = fread(buf + pos, 1, buflen - pos, fp); if (!nread) { if (feof(fp)) break; goto fail; } pos += nread; assert(pos <= buflen); if (buflen - pos < 20) { char *tmp; buflen *= 2; tmp = realloc(buf, buflen); if (!tmp) goto fail; buf = tmp; } } if (retsize) *retsize = pos; return (void *)buf; fail: free(buf); return NULL; } /* vim: set sw=2: */ Canna37p3/lib/RKindep/file.exp0100644000076500001200000000244507713716370015424 0ustar shinraadmin# Copyright (c) 2003 Canna Project. All rights reserved. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of the # author and contributors not be used in advertising or publicity # pertaining to distribution of the software without specific, written # prior permission. The author and contributors no representations # about the suitability of this software for any purpose. It is # provided "as is" without express or implied warranty. # # THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO # THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND # FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR # ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER # RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF # CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # $Id: file.exp,v 1.3 2003/08/05 12:03:04 aida_s Exp $ RkiBasename RkiConnect RkiGetLine RkiReadWholeFile Canna37p3/lib/RKindep/file.h0100644000076500001200000000636207733317774015070 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: file.h,v 1.5 2003/09/21 12:56:28 aida_s Exp $ */ #ifndef RKINDEP_FILE_H #define RKINDEP_FILE_H #ifdef NEED_RKINDEP_SUBST # include "RKindep/file.sub" #endif /* NFD and FD_SET macros are based on canuum/wnn_os.h */ #include #include #ifdef HAVE_SYS_SELECT_H # include #endif #include #ifdef HAVE_SYS_PARAM_H # include #endif #include #ifdef TIME_WITH_SYS_TIME # include # include #else # ifdef HAVE_SYS_TIME_H # include # else # include # endif #endif #include #if defined (OPEN_MAX) # define RKI_NFD OPEN_MAX #elif defined (NOFILE) # define RKI_NFD NOFILE #endif #if (defined(HAVE_FD_ISSET) || defined(FD_ISSET)) && defined(HAVE_FD_SET) typedef fd_set rki_fd_set; # define RKI_FD_SET(fd, set) FD_SET(fd, set) # define RKI_FD_CLR(fd, set) FD_CLR(fd, set) # define RKI_FD_ISSET(fd, set) FD_ISSET(fd, set) # define RKI_FD_ZERO(set) FD_ZERO(set) # ifdef FD_SETSIZE # define RKI_FD_SETSIZE FD_SETSIZE # else # define RKI_FD_SETSIZE (sizeof(fd_set) * 8) # endif #else typedef unsigned long rki_fd_mask; # define BINTSIZE (sizeof(unsigned long) * 8) # define RKI_FD_SETSIZE RKI_NFD # define RKI_FD_SET_WIDTH ((RKI_FD_SETSIZE + BINTSIZE - 1U) / BINTSIZE) typedef struct { rki_fd_mask fds_bits[RKI_FD_SET_WIDTH]; } rki_fd_set; # define RKI_FD_SET(fd, set) \ ((set)->fds_bits[fd/BINTSIZE] |= (1<<(fd%BINTSIZE))) # define RKI_FD_CLR(fd, set) \ ((set)->fds_bits[fd/BINTSIZE] &= ~(1<<(fd%BINTSIZE))) # define RKI_FD_ISSET(fd, set) \ ((set)->fds_bits[fd/BINTSIZE] & (1<<(fd%BINTSIZE))) # define RKI_FD_ZERO(set) bzero((set)->fds_bits, RKI_FD_SET_WIDTH) #endif #ifdef __cplusplus extern "C" { #endif extern int RkiConnect pro((int fd, struct sockaddr *addrp, size_t len, const struct timeval *timeout)); extern char *RkiGetLine pro((FILE *src)); extern void *RkiReadWholeFile pro((FILE *src, size_t *retsize)); extern char *RkiBasename pro((const char *src)); #ifdef __cplusplus } #endif #endif /* RKINDEP_FILE_H */ Canna37p3/lib/RKindep/Imakefile0100644000076500001200000000133007734505576015577 0ustar shinraadmin/* $Id: Imakefile,v 1.8 2003/09/25 06:30:22 aida_s Exp $ */ #include "../../Canna.conf" CANNAROOT = ../.. DEFINES = INCLUDES = -I$(CANNAROOT)/include OBJS = cfuncs.o basename.o cksum.o file.o strops.o SRCS = cfuncs.c basename.c cksum.c file.c strops.c HEADER = cfuncs.h file.h cksum.h ecfuncs.h strops.h SUBST = cfuncs.sub file.sub cksum.sub ecfuncs.sub strops.sub NormalLibraryObjectRule() NormalLibraryTarget(RKindep,$(OBJS)) NormalLintTarget($(SRCS)) LintLibraryTarget(RKindep,$(SRCS)) DependTarget() .SUFFIXES: .exp .sub .exp.sub: ../canna/GSYM.awk awk -f ../canna/GSYM.awk < $< > $@ includes:: $(SUBST) clean:: $(RM) $(SUBST) LinkFileList(includes,$(HEADER) $(SUBST),$(CANNAROOT)/include/RKindep,../../lib/RKindep) Canna37p3/lib/RKindep/strops.c0100644000076500001200000000557107726364105015467 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "cannaconf.h" #include "ccompat.h" #include "RKindep/strops.h" RCSID("$Id: strops.c,v 1.2 2003/09/06 13:59:33 aida_s Exp $"); void RkiStrbuf_init(sb) RkiStrbuf *sb; { sb->sb_buf = sb->sb_curr = sb->sb_end = NULL; } void RkiStrbuf_destroy(sb) RkiStrbuf *sb; { free(sb->sb_buf); } void RkiStrbuf_clear(sb) RkiStrbuf *sb; { free(sb->sb_buf); sb->sb_buf = sb->sb_curr = sb->sb_end = NULL; } int RkiStrbuf_reserve(sb, size) RkiStrbuf *sb; size_t size; { size_t oldsize = sb->sb_end - sb->sb_buf, newsize; size_t used = sb->sb_curr - sb->sb_buf; char *tmp; if (used + size < oldsize) return 0; newsize = oldsize ? (oldsize * 2 + size) : (size < 20) ? 20 : size; tmp = realloc(sb->sb_buf, newsize); if (!tmp) return -1; sb->sb_buf = tmp; sb->sb_curr = tmp + used; sb->sb_end = tmp + newsize; return 0; } int RkiStrbuf_term(sb) RkiStrbuf *sb; { if (sb->sb_curr && !*sb->sb_curr) return 0; /* already terminated */ if (RKI_STRBUF_RESERVE(sb, 1)) return -1; *sb->sb_curr++ = '\0'; return 0; } void RkiStrbuf_pack(sb) RkiStrbuf *sb; { size_t used = sb->sb_curr - sb->sb_buf; char *tmp; tmp = realloc(sb->sb_buf, used); if (!tmp) return; sb->sb_buf = tmp; sb->sb_curr = sb->sb_end = tmp + used; } int RkiStrbuf_add(sb, src) RkiStrbuf *sb; const char *src; { return RkiStrbuf_addmem(sb, src, strlen(src)); } int RkiStrbuf_addmem(sb, src, size) RkiStrbuf *sb; const void *src; size_t size; { if (RKI_STRBUF_RESERVE(sb, size)) return -1; memcpy(sb->sb_curr, src, size); sb->sb_curr += size; return 0; } int RkiStrbuf_addch(sb, ch) RkiStrbuf *sb; int ch; { return RKI_STRBUF_ADDCH(sb, ch); } /* vim: set sw=2: */ Canna37p3/lib/RKindep/strops.exp0100644000076500001200000000260407726364105016033 0ustar shinraadmin# Copyright (c) 2003 Canna Project. All rights reserved. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of the # author and contributors not be used in advertising or publicity # pertaining to distribution of the software without specific, written # prior permission. The author and contributors no representations # about the suitability of this software for any purpose. It is # provided "as is" without express or implied warranty. # # THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO # THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND # FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR # ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER # RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF # CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # $Id: strops.exp,v 1.2 2003/09/06 13:59:33 aida_s Exp $ RkiStrbuf_init RkiStrbuf_destroy RkiStrbuf_clear RkiStrbuf_reserve RkiStrbuf_term RkiStrbuf_pack RkiStrbuf_add RkiStrbuf_addmem RkiStrbuf_addch Canna37p3/lib/RKindep/strops.h0100644000076500001200000000472407726364105015473 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: strops.h,v 1.2 2003/09/06 13:59:33 aida_s Exp $ */ #ifndef RKINDEP_STROPS_H #define RKINDEP_STROPS_H #ifdef NEED_RKINDEP_SUBST # include "RKindep/strops.sub" #endif #ifdef __cplusplus extern "C" { #endif typedef struct { /* * They are "public" members. * If and only if sb_buf == NULL, sb_curr and sb_end are NULL. * Otherwise sb_buf and sb_curr must be valid pointers. */ char *sb_buf; char *sb_curr; char *sb_end; } RkiStrbuf; extern void RkiStrbuf_init pro((RkiStrbuf *sb)); extern void RkiStrbuf_destroy pro((RkiStrbuf *sb)); extern void RkiStrbuf_clear pro((RkiStrbuf *sb)); #define RKI_STRBUF_RESERVE(sb, size) \ (((sb)->sb_curr + (size) < (sb)->sb_end) \ ? 0 : RkiStrbuf_reserve(sb, size)) extern int RkiStrbuf_reserve pro((RkiStrbuf *sb, size_t size)); extern int RkiStrbuf_term pro((RkiStrbuf *sb)); extern void RkiStrbuf_pack pro((RkiStrbuf *sb)); extern int RkiStrbuf_add pro((RkiStrbuf *sb, const char *src)); extern int RkiStrbuf_addmem pro((RkiStrbuf *sb, const void *src, size_t size)); #define RKI_STRBUF_ADDCH(sb, ch) \ (RKI_STRBUF_RESERVE(sb, 1) || (*(sb)->sb_curr++ = (char)(ch), 0)) extern int RkiStrbuf_addch pro((RkiStrbuf *sb, int ch)); #ifdef __cplusplus } #endif #endif /* RKINDEP_STROPS_H */ /* vim: set sw=2: */ Canna37p3/misc/0040755000076500001200000000000010052700720012574 5ustar shinraadminCanna37p3/misc/.cvsignore0100644000076500001200000000006307731340000014571 0ustar shinraadmin.depend Makefile default.canna rc.canna manual.sed Canna37p3/misc/copyright0100644000076500001200000000234307554213610014540 0ustar shinraadmin/* Copyright 1995 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided * "as is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: copyright,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ */ Canna37p3/misc/default.ca0100644000076500001200000000305707617546515014556 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: default.ca,v 1.3 2003/02/03 20:13:01 aida_s Exp $ (setq romkana-table "default.cbp") (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" "keishiki" :bushu "bushu" :user "user" ) ;; ¥·¥ó¥Ü¥ë¤ÎÄêµÁ (defsymbol ?[ "¡Ö" "¡Ø" "[" "¡Î" "¡Ì" ?] "¡×" "¡Ù" "]" "¡Ï" "¡Í" ) (defsymbol ?. "¡£" "." "¡¥" ?, "¡¢" "," "¡¤" ) ;(defsymbol ; ?~ "~" "¡±" "¡Á" ; ?/ "/" "¡¿" "¡¦" ) Canna37p3/misc/engine.cpp0100644000076500001200000000312107554213610014551 0ustar shinraadminXCOMM Copyright 1994 NEC Corporation, Tokyo, Japan. XCOMM XCOMM Permission to use, copy, modify, distribute and sell this software XCOMM and its documentation for any purpose is hereby granted without XCOMM fee, provided that the above copyright notice appear in all copies XCOMM and that both that copyright notice and this permission notice XCOMM appear in supporting documentation, and that the name of NEC XCOMM Corporation not be used in advertising or publicity pertaining to XCOMM distribution of the software without specific, written prior XCOMM permission. NEC Corporation makes no representations about the XCOMM suitability of this software for any purpose. It is provided "as XCOMM is" without express or implied warranty. XCOMM XCOMM NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, XCOMM INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN XCOMM NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR XCOMM CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF XCOMM USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR XCOMM OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR XCOMM PERFORMANCE OF THIS SOFTWARE. XCOMM XCOMM Configuration file for kana-kanji conversion engines. XCOMM XCOMM for Canna version 2.2 XCOMM $Id: engine.cpp,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ cannaserver LIBCANNADIR/libRKC # Canna engine irohaserver LIBCANNADIR/libRKC # Canna engine (same as above) jserver LIBCANNADIR/libRKWnn # Wnn4 engine sj3serv LIBCANNADIR/libRKSj3 # SJ3 engine Canna37p3/misc/Imakefile0100644000076500001200000000321607631176511014422 0ustar shinraadmin/* $Id: Imakefile,v 1.5 2003/03/04 19:23:53 aida_s Exp $ */ #include "../Canna.conf" CANNAROOT = .. #define IHaveSubdirs #define PassCDebugFlags #ifdef engineSwitch PROGRAMS = engine.cf default.canna rc.canna SRCS = engine.cpp #else PROGRAMS = default.canna rc.canna #endif #ifdef nec DEFINES = $(SCRIPTS_DEFINES) -DLIBCANNADIR=$(libCannaDir) \ -DCPP=$(CPP) -DCANNA_DSOREV=$(cannaDsoRev) -Unec #else DEFINES = $(SCRIPTS_DEFINES) -DLIBCANNADIR=$(libCannaDir) \ -DCPP=$(CPP) -DCANNA_DSOREV=$(cannaDsoRev) #endif SUBDIRS =initfiles AllTarget($(PROGRAMS)) #ifdef engineSwitch CppScriptTarget(engine.cf,engine.cpp,$(DEFINES),/**/) InstallNonExec(engine.cf,$(cannaLibDir)) #endif #ifdef ObsoleteInstallDir cannaKillDir=$(cannaBinDir) #else cannaKillDir=$(cannaSrvDir) #endif rc.canna: rc.canna-dist $(CANNAROOT)/Canna.conf sed -e 's%@(cannaSrvDir)%$(cannaSrvDir)%g' \@@\ -e 's%@(cannaKillDir)%$(cannaKillDir)%g' \@@\ -e 's%@(UnixSockDir)%$(UnixSockDir)%g' \@@\ -e 's%@(UnixSockName)%$(UnixSockName)%g' \@@\ -e 's%@(cannaOwner)%$(cannaOwner)%g' \@@\ -e 's%@(ErrDir)%$(ErrDir)%g' rc.canna-dist > $@ MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) MakeLintLibSubdirs($(SUBDIRS)) MakeLintSubdirs($(SUBDIRS),install.ln,install.ln) MakeDirectories(install,$(cannaLibDir)/sample/src) #ifdef USE_OBSOLETE_STYLE_FILENAME default.canna: default.ca sed 's/\.cbp/\.kp/' < default.ca > default.canna #else default.canna: default.ca $(CP) default.ca default.canna #endif InstallNonExec(default.canna,$(cannaLibDir)) InstallNonExec(is.c,$(cannaLibDir)/sample/src) clean:: $(RM) $(PROGRAMS) DependDependency() Canna37p3/misc/initfiles/0040755000076500001200000000000010052700720014562 5ustar shinraadminCanna37p3/misc/initfiles/.cvsignore0100644000076500001200000000002107601177344016570 0ustar shinraadmin.depend Makefile Canna37p3/misc/initfiles/1.1.canna0100644000076500001200000000615407554213610016100 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: 1.1.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ ;; default binding for romaji-kana translation table and dictionaries. (setq romkana-table "default.cbp") (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) ;; setting for compatibility with Canna version 1.1 (setq n-henkan-for-ichiran 0) (set-mode-display 'mojishu-mode nil) (set-mode-display 'tankouho-mode nil) (set-mode-display 'ichiran-mode nil) (set-mode-display 'alpha-mode "") (set-mode-display 'empty-mode " [¤¢]") (set-mode-display 'hex-mode " [16¿Ê]") (set-mode-display 'bushu-mode " [Éô¼ó]") (set-mode-display 'henkan-nyuuryoku-mode " [¤¢]") (set-mode-display 'zen-hira-kakutei-mode "³Î[¤¢]") (set-mode-display 'zen-kata-kakutei-mode "³Î[¥¢]") (set-mode-display 'han-kata-kakutei-mode "³Î[ޱ]") (set-mode-display 'zen-alpha-kakutei-mode "³Î[£á]") (set-mode-display 'han-alpha-kakutei-mode "³Î[a]") (set-mode-display 'kigou-mode " [µ­¹æ]") (set-mode-display 'yes-no-mode " [¼ÁÌä]") (set-mode-display 'extend-mode " [³ÈÄ¥]") (set-mode-display 'russian-mode " [¥í]") (set-mode-display 'greek-mode " [¥®]") (set-mode-display 'line-mode " [·ÓÀþ]") (set-mode-display 'changing-server-mode " [Êѹ¹]") (set-mode-display 'henkan-method-mode " [ÊÑ´¹]") (set-mode-display 'delete-dic-mode " [ºï½ü]") (set-mode-display 'touroku-mode " [ÅÐÏ¿]") (set-mode-display 'touroku-hinshi-mode " [ÉÊ»ì]") (set-mode-display 'touroku-dic-mode " [¼­½ñ]") (set-mode-display 'quoted-insert-mode " [£ñ]") (set-mode-display 'bubun-muhenkan-mode " [ÊÔ½¸]") (set-mode-display 'zen-kata-henkan-mode " [¥¢]") (set-mode-display 'han-kata-henkan-mode " [ޱ]") (set-mode-display 'zen-alpha-henkan-mode " [£á]") (set-mode-display 'han-alpha-henkan-mode " [a]") (set-mode-display 'mount-dic-mode " [¼­½ñ]") Canna37p3/misc/initfiles/1.2.canna0100644000076500001200000000636307554213610016103 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: 1.2.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ ;; default binding for romaji-kana translation table and dictionaries. (setq romkana-table "default.cbp") (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) ;; setting for compatibility with Canna version 1.2 (let ((mode 'yomi-mode)) (set-key mode "\C-i" 'base-rotate-forward) (set-key mode "\C-o" 'base-rotate-backward) ) (set-mode-display 'alpha-mode "") (set-mode-display 'empty-mode " [¤¢]") (set-mode-display 'hex-mode " [16¿Ê]") (set-mode-display 'bushu-mode " [Éô¼ó]") (set-mode-display 'henkan-nyuuryoku-mode " [¤¢]") (set-mode-display 'zen-hira-kakutei-mode "³Î[¤¢]") (set-mode-display 'zen-kata-kakutei-mode "³Î[¥¢]") (set-mode-display 'han-kata-kakutei-mode "³Î[ޱ]") (set-mode-display 'zen-alpha-kakutei-mode "³Î[£á]") (set-mode-display 'han-alpha-kakutei-mode "³Î[a]") (set-mode-display 'kigou-mode " [µ­¹æ]") (set-mode-display 'yes-no-mode " [¼ÁÌä]") (set-mode-display 'extend-mode " [³ÈÄ¥]") (set-mode-display 'russian-mode " [¥í]") (set-mode-display 'greek-mode " [¥®]") (set-mode-display 'line-mode " [·ÓÀþ]") (set-mode-display 'changing-server-mode " [Êѹ¹]") (set-mode-display 'henkan-method-mode " [ÊÑ´¹]") (set-mode-display 'delete-dic-mode " [ºï½ü]") (set-mode-display 'touroku-mode " [ÅÐÏ¿]") (set-mode-display 'touroku-hinshi-mode " [ÉÊ»ì]") (set-mode-display 'touroku-dic-mode " [¼­½ñ]") (set-mode-display 'quoted-insert-mode " [£ñ]") (set-mode-display 'bubun-muhenkan-mode " [ÊÔ½¸]") (set-mode-display 'zen-kata-henkan-mode " [¥¢]") (set-mode-display 'han-kata-henkan-mode " [ޱ]") (set-mode-display 'zen-alpha-henkan-mode " [£á]") (set-mode-display 'han-alpha-henkan-mode " [a]") (set-mode-display 'mount-dic-mode " [¼­½ñ]") (set-mode-display 'mojishu-mode " [»ú¼ï]") (set-mode-display 'tankouho-mode " [´Á»ú]") (set-mode-display 'ichiran-mode " [°ìÍ÷]") Canna37p3/misc/initfiles/fixer.canna0100644000076500001200000000314607554213610016714 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: fixer.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ (global-set-key "\S-Right" 'extend) (global-set-key "\S-Left" 'shrink) (global-set-key "\Left" 'backward) (global-set-key "\Right" 'forward) (global-set-key "\C-h" 'delete-previous) (global-set-key "\Delete" 'delete-next) (global-set-key "\Xfer" 'henkan) (global-set-key "\F10" 'hiragana) (global-set-key "\F10" 'katakana) ; ¥È¥°¥ë¡© (global-set-key "\Left" 'previous) Canna37p3/misc/initfiles/Imakefile0100644000076500001200000000403607617546515016422 0ustar shinraadmin/* $Id: Imakefile,v 1.3 2003/02/03 20:13:01 aida_s Exp $ */ #include "../../Canna.conf" #ifdef unix /* for unix.canna. Some system define unix as 1. */ #undef unix #endif CANNAROOT = ../.. SAMPLEDIR = $(cannaLibDir)/sample all:: .SUFFIXES: .cob .ca .canna .canna.cob: sed 's/\.cbp/\.kp/g' < $< > `basename $< '.canna'`.cob .ca.cob: sed 's/\.cbp/\.kp/g' < $< > `basename $< '.ca'`.cob #ifdef USE_OBSOLETE_STYLE_FILENAME Install: 1.1.cob 1.2.cob fixer.cob jdemon.cob just.cob lan5.cob modes.cob \ matsu.cob sample.cob skk.cob tut.cob unix.cob vje.cob wx2+.cob \ verbose.cob InstallNamedNonExec(verbose.cob,verbose.canna,$(SAMPLEDIR)) InstallNamedNonExec(1.1.cob,1.1.canna,$(SAMPLEDIR)) InstallNamedNonExec(1.2.cob,1.2.canna,$(SAMPLEDIR)) InstallNamedNonExec(fixer.cob,fixer.canna,$(SAMPLEDIR)) InstallNamedNonExec(jdemon.cob,jdemon.canna,$(SAMPLEDIR)) InstallNamedNonExec(just.cob,just.canna,$(SAMPLEDIR)) InstallNamedNonExec(lan5.cob,lan5.canna,$(SAMPLEDIR)) InstallNamedNonExec(modes.cob,modes.canna,$(SAMPLEDIR)) InstallNamedNonExec(matsu.cob,matsu.canna,$(SAMPLEDIR)) InstallNamedNonExec(sample.cob,sample.canna,$(SAMPLEDIR)) InstallNamedNonExec(skk.cob,skk.canna,$(SAMPLEDIR)) InstallNamedNonExec(tut.cob,tut.canna,$(SAMPLEDIR)) InstallNamedNonExec(unix.cob,unix.canna,$(SAMPLEDIR)) InstallNamedNonExec(vje.cob,vje.canna,$(SAMPLEDIR)) InstallNamedNonExec(wx2+.cob,wx2+.canna,$(SAMPLEDIR)) #else InstallNonExec(verbose.canna,$(SAMPLEDIR)) InstallNonExec(1.1.canna,$(SAMPLEDIR)) InstallNonExec(1.2.canna,$(SAMPLEDIR)) InstallNonExec(fixer.canna,$(SAMPLEDIR)) InstallNonExec(jdemon.canna,$(SAMPLEDIR)) InstallNonExec(just.canna,$(SAMPLEDIR)) InstallNonExec(lan5.canna,$(SAMPLEDIR)) InstallNonExec(modes.canna,$(SAMPLEDIR)) InstallNonExec(matsu.canna,$(SAMPLEDIR)) InstallNonExec(sample.canna,$(SAMPLEDIR)) InstallNonExec(skk.canna,$(SAMPLEDIR)) InstallNonExec(tut.canna,$(SAMPLEDIR)) InstallNonExec(unix.canna,$(SAMPLEDIR)) InstallNonExec(vje.canna,$(SAMPLEDIR)) InstallNonExec(wx2+.canna,$(SAMPLEDIR)) #endif DependTarget() Canna37p3/misc/initfiles/jdemon.canna0100644000076500001200000001573607554213610017063 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; Using this customize file gives you a Japanese Input Interface ;; like EWS-UX/v R6.1 does. ;; @(#) 102.1 $Id: jdemon.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ ; definition of modes peculier to jdaemon. (defmode jdaemon-base-mode nil nil '(romaji kakutei)) (defmode jdaemon-kana-mode nil nil '(katakana hankaku kakutei)) (defmode jdaemon-eisu-mode nil nil '(romaji zenkaku)) (initialize-function '(japanese-mode jdaemon-base-mode)) (setq romkana-table "jdaemon.cbp") (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) (setq cursor-wrap t) ; default t (setq select-direct t) ; default t (setq numerical-key-select t) ; default t (setq character-based-move t) ; default t (setq reverse-widely t) ; default nil (setq break-into-roman nil) ; default nil (setq quit-if-end-of-ichiran t) ; default nil (setq kakutei-if-end-of-bunsetsu t) ; default nil (setq stay-after-validate nil) ; default t ;; setting for mode string (set-mode-display 'jdaemon-base-mode "") (set-mode-display 'jdaemon-kana-mode "£Ò") (set-mode-display 'jdaemon-eisu-mode "¡¡Á´³ÑÃ༡¤«¤Ê¥·") (set-mode-display 'alpha-mode nil) (set-mode-display 'empty-mode "£ÒÁ´³ÑÃ༡¤«¤Ê¥·") (set-mode-display 'hex-mode "£ÒÁ´³Ñ£±£¶¿Ê¡¡¥·") (set-mode-display 'bushu-mode "£ÒÁ´³ÑÉô¼ó") (set-mode-display 'henkan-nyuuryoku-mode "£ÒÁ´³ÑÃ༡¤«¤Ê¥·") (set-mode-display 'zen-hira-henkan-mode "£ÒÁ´³ÑÃ༡¤«¤Ê¥·") (set-mode-display 'zen-kata-henkan-mode "£ÒÁ´³ÑÃ༡¥«¥Ê¥·") (set-mode-display 'zen-hira-kakutei-mode nil) (set-mode-display 'zen-kata-kakutei-mode nil) (set-mode-display 'han-kata-kakutei-mode "£Ò") (set-mode-display 'zen-alpha-henkan-mode "¡¡Á´³ÑÃ༡¤«¤Ê¥·") (set-mode-display 'han-alpha-kakutei-mode "") (set-mode-display 'kigou-mode "£ÒÁ´³Ñµ­¹æ¡¡¡¡¥·") (set-mode-display 'mojishu-mode nil) (set-mode-display 'tankouho-mode nil) (set-mode-display 'ichiran-mode nil) (set-mode-display 'yes-no-mode nil) (set-mode-display 'extend-mode nil) (set-mode-display 'russian-mode "£ÒÁ´³Ñ¥í¥·¥¢¡¡¥·") (set-mode-display 'greek-mode "£ÒÁ´³Ñ¥®¥ê¥·¥ã¥·") (set-mode-display 'line-mode "£ÒÁ´³Ñ·ÓÀþ¡¡¡¡¥·") (set-mode-display 'changing-server-mode nil) (set-mode-display 'henkan-method-mode nil) (set-mode-display 'delete-dic-mode nil) (set-mode-display 'touroku-mode "£ÒÁ´³ÑÅÐÏ¿¡¡¡¡¥·") (set-mode-display 'touroku-hinshi-mode "£ÒÁ´³ÑÅÐÏ¿Éʻ쥷") (set-mode-display 'touroku-dic-mode "£ÒÁ´³ÑÅÐÏ¿¼­½ñ¥·") (set-mode-display 'quoted-insert-mode "£ÒÁ´³Ñ£ñ¡¡¡¡¡¡¥·") (set-mode-display 'bubun-muhenkan-mode "£ÒÁ´³ÑÃ༡ÊÔ½¸¥·") (set-mode-display 'han-kata-henkan-mode nil) (set-mode-display 'han-alpha-henkan-mode nil) (set-mode-display 'mount-dic-mode nil) ;; setting for keymapping (global-unbind-key-function 'quoted-insert) (global-unbind-key-function 'extend) (global-unbind-key-function 'shrink) (global-unbind-key-function 'alpha-mode) (global-unbind-key-function 'quoted-insert) (global-unbind-key-function 'forward) (global-unbind-key-function 'backward) (global-unbind-key-function 'previous) (global-unbind-key-function 'next) (global-unbind-key-function 'beginning-of-line) (global-unbind-key-function 'end-of-line) (global-unbind-key-function 'delete-next) (global-unbind-key-function 'kill-to-end-of-line) (global-unbind-key-function 'henkan) (global-unbind-key-function 'quit) (global-unbind-key-function 'japanese-mode) (global-set-key " " 'self-insert) (global-set-key "\C-x" 'henkan) (global-set-key "\Down" 'henkan) (global-set-key "\Xfer" 'henkan) (global-set-key "\C-o" 'forward) (global-set-key "\C-n" 'backward) (global-set-key "\C-c" 'quit) (setq toggle-r 'base-kana-eisu-toggle) ;(setq toggle-e (sequence ; 'base-hiragana-katakana-toggle ; 'base-kakutei-henkan-toggle ; 'base-zenkaku-hankaku-toggle ; )) (let ((mode 'empty-mode)) (set-key mode "\C-r" 'jdaemon-eisu-mode) (set-key mode "\C-e" 'jdaemon-kana-mode) (set-key mode "\C-b" 'bushu-mode) (set-key mode "\C-w" 'hex-mode) (set-key mode "\C-k" 'base-hiragana-katakana-toggle) ) (let ((mode 'yomi-mode)) (set-key mode "\C-r" toggle-r) (set-key mode "\C-e" '(kakutei jdaemon-kana-mode)) ; jdaemon-base ¤Î»þ¤¢¤ê (set-key mode "\C-k" 'base-hiragana-katakana-toggle) ) (let ((mode 'jdaemon-eisu-mode)) (set-key mode "\C-r" 'henkan-nyuuryoku-mode) (set-key mode "\C-e" 'jdaemon-base-mode) (set-key mode "\C-b" 'bushu-mode) (set-key mode "\C-w" 'hex-mode) ) (let ((mode 'jdaemon-kana-mode)) (set-key mode "\C-r" 'jdaemon-base-mode) (set-key mode "\C-e" 'henkan-nyuuryoku-mode) ) (let ((mode 'jdaemon-base-mode)) (set-key mode "\C-r" 'jdaemon-kana-mode) (set-key mode "\C-e" 'jdaemon-eisu-mode) ) (let ((mode 'yomi-mode)) (set-key mode "\C-a" 'hiragana) (set-key mode "\C-z" 'katakana) (set-key mode "." (sequence 'self-insert 'henkan)) (set-key mode "," (sequence 'self-insert 'henkan)) (set-key mode ">" (sequence 'self-insert 'henkan)) (set-key mode "<" (sequence 'self-insert 'henkan)) (set-key mode "!" (sequence 'self-insert 'henkan)) (set-key mode "?" (sequence 'self-insert 'henkan)) ) (let ((mode 'mojishu-mode)) (set-key mode "\Right" 'extend) (set-key mode "\Left" 'shrink) (set-key mode "\C-a" 'hiragana) (set-key mode "\C-z" 'katakana) ) (let ((mode 'tankouho-mode)) (set-key mode "\Right" 'extend) (set-key mode "\Left" 'shrink) (set-key mode "\C-a" 'hiragana) (set-key mode "\C-z" 'katakana) (set-key mode "\Xfer" 'kouho-ichiran) (set-key mode "\Down" 'kouho-ichiran) (set-key mode "\C-h" 'previous) ) (let ((mode 'ichiran-mode)) (set-key mode "0" 'quit) (set-key mode "\C-h" 'previous) (set-key mode "\Down" 'next) (set-key mode "\Up" 'previous) ) Canna37p3/misc/initfiles/just.canna0100644000076500001200000002231707554213610016565 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; Using this customize file gives you a Japanese Input Interface ;; like ichitaro does. ;; @(#) 102.1 $Id: just.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ ;;; ³ÈÄ¥¥á¥Ë¥å¡¼¤ò¤¢¤Þ¤ê»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢do-not-use-extend-mode ¤ò ;;; t ¤ËÀßÄꤷ¤Æ²¼¤µ¤¤¡£ (setq do-not-use-extend-mode nil) ;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê (setq romkana-table "just.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) ;ÆüËܸìÆþÎÏ on ¤Ë¤¹¤ë¡£ (set-key 'alpha-mode "\C-Xfer" 'japanese-mode) ; ±¦Ã¼¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¡£ (setq cursor-wrap t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤ËÁªÂò¤Þ¤Ç¤¹¤ë¡£ (setq select-direct t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¡£ (setq numerical-key-select t) ; default t ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îñ°Ì¤Ç¥«¡¼¥½¥ë¤ò°Üư¤¹¤ë¡£ (setq character-based-move nil) ; default t ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤·¤Ê¤¤¡£ (setq reverse-widely nil) ; default nil ; ÉÑÅٳؽ¬¤ò¤¹¤ë¡£ (setq gakushu t) ; default t ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é¡¢¤Þ¤¿ÀèÆ¬¤Î¸õÊä¤òɽ¼¨¤¹¤ë¡£ (setq quit-if-end-of-ichiran nil) ; default nil ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤹ¤ë¡£ (setq kakutei-if-end-of-bunsetsu t) ; default nil ; ÆÉ¤ß¤òÆþÎÏÃæ¤Ë¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤òÂǤĤÈʸ»ú¥Ù¡¼¥¹¤Çºï½ü¤ò¹Ô¤¦¡£ (setq break-into-roman nil) ; default nil ;°ìÍ÷¤«¤éÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè¤ÎʸÀá¤Ë°Üư¤¹¤ë¡£ (setq stay-after-validate nil) ; default t ; 2 ²óÊÑ´¹¥­¡¼¤ò²¡¤¹¤È°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¡£ (setq n-henkan-for-ichiran 2) ; default 2 ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¡£ (setq kouho-count t) ; default t ; ñ¸ìÅÐÏ¿/ºï½ü¤Îľ¸å¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¦ (setq auto-sync t) ; default t ;; ¥­¡¼¥Þ¥Ã¥× (global-unbind-key-function 'extend) (global-unbind-key-function 'shrink) (global-unbind-key-function 'forward) (global-unbind-key-function 'backward) (global-unbind-key-function 'previous) (global-unbind-key-function 'next) (global-unbind-key-function 'beginning-of-line) (global-unbind-key-function 'end-of-line) (global-unbind-key-function 'kill-to-end-of-line) (global-set-key "\Backspace" 'delete-previous) (global-set-key "\C-l" 'extend) (global-set-key "\C-k" 'shrink) (global-set-key "\Right" 'forward) (global-set-key "\C-d" 'forward) (global-set-key "\Left" 'backward) (global-set-key "\C-s" 'backward) (global-set-key "\C-Left" 'beginning-of-line) (global-set-key "\C-a" 'beginning-of-line) (global-set-key "\C-Right" 'end-of-line) (global-set-key "\C-f" 'end-of-line) (global-set-key "\Up" 'previous) (global-set-key "\C-n" 'next) (global-set-key "\Down" 'next) (global-set-key "\Return" 'kakutei) (global-set-key "\Escape" 'quit) ;; ÆþÎϥ⡼¥É¤ÎÄêµÁ (defmode zenkaku-hiragana-mode " ¤¢¸Ç " romkana-table '(zenkaku hiragana kakutei) t) (defmode zenkaku-katakana-mode " ¥¢¸Ç " romkana-table '(zenkaku katakana kakutei) t) (defmode hankaku-katakana-mode " ޱ ¸Ç " romkana-table '(hankaku katakana kakutei) t) (defmode zenkaku-eisu-mode " £Á¸Ç " nil '(zenkaku kakutei) nil) (defmode hankaku-eisu-mode " A ¸Ç " nil '(hankaku kakutei) nil) (set-key 'empty-mode "\C-Nfer" 'zenkaku-katakana-mode) (set-key 'zenkaku-katakana-mode "\C-Nfer" 'hankaku-katakana-mode) (set-key 'hankaku-katakana-mode "\C-Nfer" 'zenkaku-hiragana-mode) (set-key 'zenkaku-hiragana-mode "\C-Nfer" 'henkan-nyuuryoku-mode) (set-key 'empty-mode "\S-Nfer" 'zenkaku-eisu-mode) (set-key 'zenkaku-eisu-mode "\S-Nfer" 'hankaku-eisu-mode) (set-key 'hankaku-eisu-mode "\S-Nfer" 'henkan-nyuuryoku-mode) (global-set-key "\Nfer" 'henkan-nyuuryoku-mode) (set-key 'henkan-nyuuryoku-mode "\Nfer" 'hankaku-eisu-mode) (set-key 'empty-mode "\F10" 'kigou-mode) ;; ÆÉ¤ß¥â¡¼¥É»þ (let ((mode 'yomi-mode)) (set-key mode "\Delete" 'delete-next) (set-key mode "\C-u" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-i" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-o" 'hankaku) (set-key mode "\F8" 'hankaku) (set-key mode "\C-p" 'romaji) (set-key mode "\F9" 'romaji) (set-key mode "\C-l" 'forward) (set-key mode "\C-k" 'backward) (set-key mode "\Space" 'henkan) (set-key mode "\Xfer" 'henkan) (set-key mode "\C-n" 'kakutei) (set-key mode "\Down" 'kakutei) ) ;; ñ¸õÊä¥â¡¼¥É»þ (let ((mode 'tankouho-mode)) (set-key mode "\S-Right" 'forward) (set-key mode "\S-Left" 'backward) (set-key mode "\C-u" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-i" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-o" 'hankaku) (set-key mode "\F8" 'hankaku) (set-key mode "\C-p" 'romaji) (set-key mode "\F9" 'romaji) (set-key mode "\C-n" 'forward) (set-key mode "\Down" 'forward) (set-key mode "\Right" '(shinshuku-mode extend)) (set-key mode "\C-l" '(shinshuku-mode extend)) (set-key mode "\Left" '(shinshuku-mode shrink)) (set-key mode "\C-k" '(shinshuku-mode shrink)) (set-key mode "\Xfer" 'kouho-ichiran) (set-key mode "\Space" 'henkan) ) ;; ʸ»ú¼ï¥â¡¼¥É»þ (let ((mode 'mojishu-mode)) (set-key mode "\C-u" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-i" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-o" 'hankaku) (set-key mode "\F8" 'hankaku) (set-key mode "\C-p" 'romaji) (set-key mode "\F9" 'romaji) (set-key mode "\C-n" 'forward) (set-key mode "\Down" 'forward) (set-key mode "\Right" 'extend) (set-key mode "\Left" 'shrink) ) ;; °ìÍ÷¸õÊä¥â¡¼¥É»þ (let ((mode 'ichiran-mode)) (set-key mode "\S-Xfer" 'previous) (set-key mode "\Xfer" 'next) (set-key mode "\Space" 'forward) (if do-not-use-extend-mode (progn (set-key mode "\Up" 'backward) (set-key mode "\C-n" 'kakutei) (set-key mode "\Down" 'kakutei) (set-key mode "\Right" '(quit shinshuku-mode extend)) (set-key mode "\C-l" '(quit shinshuku-mode extend)) (set-key mode "\Left" '(quit shinshuku-mode shrink))) (set-key mode "\C-k" '(quit shinshuku-mode shrink)) (progn (set-key mode "\C-l" 'forward) (set-key mode "\C-k" 'backward))) ) ;; µ­¹æÆþÎϥ⡼¥É»þ (let ((mode 'kigou-mode)) (set-key mode "\C-l" 'forward) (set-key mode "\Space" 'forward) (set-key mode "\C-k" 'backward) (set-key mode "\S-Xfer" 'previous) (set-key mode "\Xfer" 'next) (if do-not-use-extend-mode (progn (set-key mode "\Up" 'backward) (set-key mode "\C-n" 'kakutei) (set-key mode "\Down" 'kakutei))) ) ;; ¿­½Ì¥â¡¼¥É»þ (let ((mode 'shinshuku-mode)) (set-key mode "\C-u" '(henkan hiragana)) (set-key mode "\F6" '(henkan hiragana)) (set-key mode "\C-i" '(henkan katakana)) (set-key mode "\F7" '(henkan katakana)) (set-key mode "\C-o" '(henkan hankaku)) (set-key mode "\F8" '(henkan hankaku)) (set-key mode "\C-p" '(henkan romaji)) (set-key mode "\F9" '(henkan romaji)) (set-key mode "\Right" 'extend) (set-key mode "\Left" 'shrink) (set-key mode "\C-n" 'forward) (set-key mode "\Down" 'forward) ) ;; ¥â¡¼¥Éɽ¼¨ (set-mode-display 'empty-mode " ¤¢Ï¢ ") (set-mode-display 'yomi-mode " ¤¢Ï¢ ") (set-mode-display 'henkan-nyuuryoku-mode " ¤¢Ï¢ ") (set-mode-display 'chikuji-yomi-mode " ¤¢¼« ") (set-mode-display 'chikuji-bunsetsu-mode " ¤¢¼« ") ;; ¥·¥ó¥Ü¥ë¤ÎÄêµÁ (defsymbol ?, "¡¢" "¡¤") (defsymbol ?. "¡£" "¡¥") (defsymbol ?[ "¡Ö" "¡Î" ?] "¡×" "¡Ï") (defsymbol ?/ "¡¦" "¡¿") Canna37p3/misc/initfiles/lan5.canna0100644000076500001200000001301407554213610016431 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; Using this customize file gives you a Japanese Input Interface ;; like EWS-UX/v R6.1 does. ;; @(#) 102.1 $Id: lan5.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ ; definition of modes peculier to jdaemon. (initialize-function '(japanese-mode)) (setq romkana-table "lan5.cbp") (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) (setq cursor-wrap t) ; default t (setq select-direct t) ; default t (setq numerical-key-select t) ; default t (setq character-based-move t) ; default t (setq reverse-widely t) ; default nil (setq break-into-roman nil) ; default nil (setq quit-if-end-of-ichiran t) ; default nil (setq kakutei-if-end-of-bunsetsu t) ; default nil (setq stay-after-validate nil) ; default t (setq abandon-illegal-phonogram t) ; default nil ;; setting for mode string (set-mode-display 'alpha-mode " Ⱦ¡Ú±Ñ¿ô¡Û") (set-mode-display 'empty-mode " ¡Ú¤«¤Ê¡Û") (set-mode-display 'hex-mode " ¡Ú16¿Ê¡Û") (set-mode-display 'bushu-mode " ¡ÚÉô¼ó¡Û") (set-mode-display 'henkan-nyuuryoku-mode " ¡Ú¤«¤Ê¡Û") (set-mode-display 'zen-hira-henkan-mode " ¡Ú¤«¤Ê¡Û") (set-mode-display 'han-hira-henkan-mode " Ⱦ¡Ú¤«¤Ê¡Û") (set-mode-display 'zen-kata-henkan-mode " ¡Ú¥«¥Ê¡Û") (set-mode-display 'han-kata-henkan-mode " Ⱦ¡Ú¥«¥Ê¡Û") (set-mode-display 'zen-alpha-henkan-mode " ¡Ú±Ñ¿ô¡Û") (set-mode-display 'han-alpha-henkan-mode " Ⱦ¡Ú±Ñ¿ô¡Û") (set-mode-display 'zen-hira-kakutei-mode " ¡Ú¤«¤Ê¡Û") (set-mode-display 'han-hira-kakutei-mode " Ⱦ¡Ú¤«¤Ê¡Û") (set-mode-display 'zen-kata-kakutei-mode " ¡Ú¥«¥Ê¡Û") (set-mode-display 'han-kata-kakutei-mode " Ⱦ¡Ú¥«¥Ê¡Û") (set-mode-display 'zen-alpha-kakutei-mode " ¡Ú±Ñ¿ô¡Û") (set-mode-display 'han-alpha-kakutei-mode " Ⱦ¡Ú±Ñ¿ô¡Û") (set-mode-display 'kigou-mode " Ⱦ¡Úµ­¹æ¡Û") (set-mode-display 'mojishu-mode nil) (set-mode-display 'tankouho-mode nil) (set-mode-display 'ichiran-mode nil) (set-mode-display 'yes-no-mode nil) (set-mode-display 'extend-mode nil) (set-mode-display 'russian-mode " ¡Ú ¥í ¡Û") (set-mode-display 'greek-mode " ¡Ú ¥® ¡Û") (set-mode-display 'line-mode " ¡Ú·ÓÀþ¡Û") (set-mode-display 'changing-server-mode nil) (set-mode-display 'henkan-method-mode nil) (set-mode-display 'delete-dic-mode nil) (set-mode-display 'touroku-mode " ¡ÚÅÐÏ¿¡Û") (set-mode-display 'touroku-hinshi-mode " ¡ÚÉÊ»ì¡Û") (set-mode-display 'touroku-dic-mode " ¡Ú¼­½ñ¡Û") (set-mode-display 'quoted-insert-mode " ¡Ú £ñ ¡Û") (set-mode-display 'bubun-muhenkan-mode " ¡ÚÊÔ½¸¡Û") (set-mode-display 'mount-dic-mode nil) ;; setting for keymapping (global-unbind-key-function 'quoted-insert) (global-unbind-key-function 'extend) (global-unbind-key-function 'shrink) (global-unbind-key-function 'alpha-mode) (global-unbind-key-function 'quoted-insert) (global-unbind-key-function 'forward) (global-unbind-key-function 'backward) (global-unbind-key-function 'previous) (global-unbind-key-function 'next) (global-unbind-key-function 'beginning-of-line) (global-unbind-key-function 'end-of-line) (global-unbind-key-function 'delete-next) (global-unbind-key-function 'kill-to-end-of-line) (global-unbind-key-function 'henkan) (global-unbind-key-function 'quit) (global-unbind-key-function 'japanese-mode) (global-set-key " " 'henkan) (global-set-key "\Xfer" 'henkan) (global-set-key "\Backspace" 'backward) (global-set-key "\Delete" 'delete-next) (global-set-key "\Nfer" 'kakutei) (global-set-key "\Return" 'kakutei) (global-set-key "\Left" 'backward) (global-set-key "\Right" 'forward) (global-set-key "\Pf1" 'base-eisu) (global-set-key "\Pf2" 'base-katakana) (global-set-key "\Pf3" 'base-hiragana) (global-set-key "\Pf4" 'base-zenkaku-hankaku-toggle) (set-key 'empty-mode " " '(self-insert kakutei)) (set-key 'tankouho-mode "\Backspace" 'quit) ; ¼¡¤Î¹àÌܤˤĤ¤¤Æ¡¢Ç§¼±¤·¤ÆÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥³¥á¥ó¥È¤ò¤Ï¤º¤¹¡£ ;(set-key 'empty-mode "\Backspace" 'base-kakutei) (set-key 'ichiran-mode "\Left" 'quit) (set-key 'tankouho-mode "\Nfer" 'forward) (set-key 'tankouho-mode "\C-Nfer" 'backward) (set-key 'tankouho-mode "\Left" '(shinshuku-mode shrink)) (set-key 'tankouho-mode "\Right" '(shinshuku-mode extend)) (set-key 'empty-mode "\Nfer" 'base-henkan) Canna37p3/misc/initfiles/matsu.canna0100644000076500001200000001361307554213610016730 0ustar shinraadmin;; Copyright 1994 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; Using this customize file gives you a Japanese Input Interface ;; like matsutake does. ;; $Id: matsu.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ ;;; ³ÈÄ¥¥á¥Ë¥å¡¼¤ò¤¢¤Þ¤ê»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢do-not-use-extend-mode ¤ò ;;; t ¤ËÀßÄꤷ¤Æ²¼¤µ¤¤¡£ (setq do-not-use-extend-mode nil) ;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê (setq romkana-table "matsu.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) ;ÆüËܸìÆþÎÏ on ¤Ë¤¹¤ë¡£ (set-key 'alpha-mode "\C-Xfer" 'japanese-mode) ; ±¦Ã¼¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¡£ (setq cursor-wrap t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤ËÁªÂò¤Þ¤Ç¤¹¤ë¡£ (setq select-direct t) ; default t ;°ìÍ÷¤«¤éÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè¤ÎʸÀá¤Ë°Üư¤¹¤ë¡£ (setq stay-after-validate nil) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¡£ (setq numerical-key-select t) ; default t ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤·¤Ê¤¤¡£ (setq reverse-widely nil) ; default nil ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é¡¢¤Þ¤¿ÀèÆ¬¤Î¸õÊä¤òɽ¼¨¤¹¤ë¡£ (setq quit-if-end-of-ichiran nil) ; default nil ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤷ¤Æ¤·¤Þ¤¦¡£ (setq kakutei-if-end-of-bunsetsu t) ; default nil ; ²¿ÅÙÊÑ´¹¥­¡¼¤ò²¡¤·¤Æ¤â°ìÍ÷ɽ¼¨¤Ï¹Ô¤ï¤Ê¤¤¡£ (setq n-henkan-for-ichiran 0) ; default 2 ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤·¤Ê¤¤¡£ (setq kouho-count nil) ; default t ; ÉÑÅٳؽ¬¤ò¤¹¤ë¡£ (setq gakushu t) ; default t ; ¸õÊä°ìÍ÷¤ÎÈÖ¹æ¤òȾ³Ñʸ»ú¤Ë¤¹¤ë¡£ (setq index-hankaku t) ; default nil ; ¸õÊä¤ÎÈÖ¹æ¤È¤Î¶èÀÚ¤êʸ»ú¡£ (setq index-separator ?:) ; µ­¹æÆþÎϥ⡼¥É¤Çµ­¹æ¤òÆþÎϤ·¤¿¤È¤­µ­¹æÆþÎϥ⡼¥É¤ò½ªÎ»¤¹¤ë¡£ (setq quickly-escape-from-kigo-input t) ; default nil ; ñ¸ìÅÐÏ¿/ºï½ü¤Îľ¸å¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¦ (setq auto-sync t) ; default t ;; ¥­¡¼¥Þ¥Ã¥× (global-unbind-key-function 'henkan) (global-unbind-key-function 'extend) (global-unbind-key-function 'shrink) (global-unbind-key-function 'forward) (global-unbind-key-function 'backward) (global-unbind-key-function 'previous) (global-unbind-key-function 'next) (global-unbind-key-function 'beginning-of-line) (global-unbind-key-function 'end-of-line) (global-unbind-key-function 'kill-to-end-of-line) (global-set-key "\S-Right" 'end-of-line) (global-set-key "\S-Left" 'beginning-of-line) (global-set-key "\Right" 'forward) (global-set-key "\Left" 'backward) (global-set-key "\S-Up" 'previous) (global-set-key "\S-Down" 'next) (global-set-key "\Xfer" 'henkan) (global-set-key "\Return" 'kakutei) (global-set-key "\F10" 'base-hiragana-katakana-toggle) (global-set-key "\F9" 'base-zenkaku-hankaku-toggle) (global-set-key "\F8" 'base-kana-eisu-toggle) (global-set-key "\F4" 'kigou-mode) ;; ¥â¡¼¥Éɽ¼¨Ê¸»úÎóÄêµÁ (set-mode-display 'henkan-nyuuryoku-mode " £Ò¤« ") (set-mode-display 'empty-mode " £Ò¤« ") (set-mode-display 'yomi-mode " £Ò¤« ") (set-mode-display 'zen-kata-henkan-mode " £Ò¥« ") (set-mode-display 'han-kata-henkan-mode " £ÒȾ ") (set-mode-display 'zen-alpha-henkan-mode " ¤« ") (set-mode-display 'han-alpha-henkan-mode " Ⱦ ") ;; ÆÉ¤ß¥â¡¼¥É»þ (let ((mode 'yomi-mode)) (set-key mode "\Delete" 'delete-next) (set-key mode "\Backspace" 'delete-previous) (set-key mode "\F6" 'katakana) (set-key mode "\F7" 'hankaku) ) ;; ñ¸õÊä¥â¡¼¥É»þ (let ((mode 'tankouho-mode)) (set-key mode "\F6" 'katakana) (set-key mode "\F7" 'hankaku) (set-key mode "\Space" 'forward) (set-key mode "\Nfer" 'henkan) (set-key mode "\Down" 'kouho-ichiran) (set-key mode "\S-Left" 'shrink) (set-key mode "\S-Right" 'extend) ) ;; ʸ»ú¼ï¥â¡¼¥É»þ (let ((mode 'mojishu-mode)) (set-key mode "\F6" 'katakana) (set-key mode "\F7" 'hankaku) (set-key mode "\Space" 'forward) (set-key mode "\S-Left" 'shrink) (set-key mode "\S-Right" 'extend) ) ;; °ìÍ÷¸õÊä¥â¡¼¥É»þ (let ((mode 'ichiran-mode)) (set-key mode "\Down" 'forward) (set-key mode "\Up" 'backward) (set-key mode "\Space" 'kakutei) (if do-not-use-extend-mode (progn (set-key mode "\S-Left" '(quit shrink)) (set-key mode "\S-Right" '(quit extend)))) ) ;; µ­¹æÆþÎϥ⡼¥É»þ (let ((mode 'kigou-mode)) (set-key mode "\Down" 'forward) (set-key mode "\Up" 'backward) (set-key mode "\Space" 'kakutei) ) ;; ¼­½ñ¥Þ¥¦¥ó¥È¥¢¥ó¥Þ¥¦¥ó¥È»þ (let ((mode 'on-off-mode)) (set-key mode "\Down" 'forward) (set-key mode "\Up" 'backward) (set-key mode "\Space" 'henkan) ) ; ¥·¥ó¥Ü¥ë¤ÎÄêµÁ (defsymbol ?[ "¡Ö" "¡Î" ?] "¡×" "¡Ï") (defsymbol ?/ "¡¦" "¡¿") (defsymbol ?~ "¡Ý" "¡Á") Canna37p3/misc/initfiles/modes.canna0100644000076500001200000000632007554213610016703 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; @(#) 102.1 $Id: modes.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ ;; ¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ç¥Õ¥©¥ë¥È¤Ç¤ÎÁ´¤Æ¤Î¥â¡¼¥Éɽ¼¨ (set-mode-display 'alpha-mode " ") (set-mode-display 'empty-mode "[ ¤¢ ]") (set-mode-display 'kigou-mode "[µ­¹æ]") (set-mode-display 'mojishu-mode "[»ú¼ï]") (set-mode-display 'tankouho-mode "[´Á»ú]") (set-mode-display 'ichiran-mode "[°ìÍ÷]") (set-mode-display 'yes-no-mode "[¼ÁÌä]") (set-mode-display 'on-off-mode nil) (set-mode-display 'shinshuku-mode "[ʸÀá]") (set-mode-display 'chikuji-yomi-mode "[Ã༡]") (set-mode-display 'chikuji-bunsetsu-mode "[Ã༡]") (set-mode-display 'henkan-nyuuryoku-mode "[ ¤¢ ]") (set-mode-display 'zen-hira-henkan-mode "[Á´¤¢]") (set-mode-display 'han-hira-henkan-mode "[Ⱦ¤¢]") (set-mode-display 'zen-kata-henkan-mode "[Á´¥¢]") (set-mode-display 'han-kata-henkan-mode "[Ⱦ¥¢]") (set-mode-display 'zen-alpha-henkan-mode "[Á´±Ñ]") (set-mode-display 'han-alpha-henkan-mode "[Ⱦ±Ñ]") (set-mode-display 'zen-hira-kakutei-mode "<Á´¤¢>") (set-mode-display 'han-hira-kakutei-mode "<Ⱦ¤¢>") (set-mode-display 'zen-kata-kakutei-mode "<Á´¥¢>") (set-mode-display 'han-kata-kakutei-mode "<Ⱦ¥¢>") (set-mode-display 'zen-alpha-kakutei-mode "<Á´±Ñ>") (set-mode-display 'han-alpha-kakutei-mode "<Ⱦ±Ñ>") (set-mode-display 'hex-mode "[16¿Ê]") (set-mode-display 'bushu-mode "[Éô¼ó]") (set-mode-display 'extend-mode "[³ÈÄ¥]") (set-mode-display 'russian-mode "[ ¥í ]") (set-mode-display 'greek-mode "[ ¥® ]") (set-mode-display 'line-mode "[·ÓÀþ]") (set-mode-display 'changing-server-mode "[Êѹ¹]") (set-mode-display 'henkan-method-mode "[ÊÑ´¹]") (set-mode-display 'delete-dic-mode "[ºï½ü]") (set-mode-display 'touroku-mode "[ÅÐÏ¿]") (set-mode-display 'touroku-hinshi-mode "[ÉÊ»ì]") (set-mode-display 'touroku-dic-mode "[¼­½ñ]") (set-mode-display 'quoted-insert-mode "[ £ñ ]") (set-mode-display 'mount-dic-mode "[¼­½ñ]") Canna37p3/misc/initfiles/sample.canna0100644000076500001200000002014007734604261017057 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: sample.canna,v 1.3 2003/09/25 15:24:33 aida_s Exp $ ;; sample.canna ¤Ï¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î°ìÎã¤Ç¤¹¡£ ;; ¥Ç¥Õ¥©¥ë¥È¤ò¥Ù¡¼¥¹¤Ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤¿¤¤Êý¤Ï ;; CANNALIBDIR/sample/default.canna ;; (CANNALIBDIR ¤ÏÎ㤨¤Ð /usr/lib/canna ¤Ç¤¹) ;; ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê ; ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï ; (1) ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê ; (2) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê ; (3) CANNALIBDIR/dic (CANNALIBDIR ¤Ï¡¢Î㤨¤Ð /usr/lib/canna ¤Ç¤¹) ; ¤Î½ç¤Ë¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£ ; (setq romkana-table "default.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ ; ; ¤¿¤Àñ¤Ë½ñ¤­Ê¤٤Ƥ¤¤ë¤Î¤Ïñ¸ìÅÐÏ¿¤ò¹Ô¤ï¤Ê¤¤¼­½ñ¤Ç¥·¥¹¥Æ¥à¼­½ñ¤Ê¤É¤¬ ; ¤³¤ì¤ËÅö¤¿¤ê¤Þ¤¹¡£ ; ; Éô¼ó¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :bushu ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£ ; ; ñ¸ìÅÐÏ¿¤ò¤·¤¿¤¤¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :user ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£Ã±¸ìÅÐ ; Ï¿¤ò¤¹¤ë¼­½ñ¤Ï¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ã±¸ìÅÐÏ¿¤µ¤»¤¿¤¤ ; ¼­½ñ¤Ï mkdic user ¤ÎÍͤʥ³¥Þ¥ó¥É¤òÂǤĤ³¤È¤Ë¤è¤ê´Êñ¤ËºîÀ®¤¹¤ë¤³¤È¤¬ ; ¤Ç¤­¤Þ¤¹¡£ ; ; :katanana ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤¿¼­½ñ¤Ï¡¢¥«¥¿¥«¥Ê¸ì¤Î¼«Æ°ÅÐÏ¿¼­½ñ¤Ë ; ¤Ê¤ê¤Þ¤¹¡£»ú¼ïÊÑ´¹¤Ç¥«¥¿¥«¥Ê¤ËÊÑ´¹¤·¤Æ³ÎÄꤹ¤ë¤È¡¢¼«Æ°Åª¤Ë¥µÊÑ ; ̾»ì¤È¤·¤ÆÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ ; (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ; :katakana "katakana" ) ;;; ¤µ¤Þ¤¶¤Þ¤Ê¥Ñ¥é¥á¥¿¤ÎÀßÄê ; ; ¿¿ÍýÃͤòÀßÄꤹ¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¿¿¤Ë¤Ä¤¤¤Æ¤Ï t ¡¢µ¶¤Ë¤Ä¤¤¤Æ¤Ï nil ¤òÀß ; Äꤷ¤Þ¤¹¡£ ; ¥«¡¼¥½¥ë°Üư¤ò¤¹¤ë»þ¡¢±¦Ã¼¤«¤é±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¹Ô¤¯¤«(t) ; nil ¤Î»þ¤Ï±¦Ã¼¤Ë¤È¤É¤Þ¤ê¤Þ¤¹¡£ (setq cursor-wrap t) ; default t ; °ìÍ÷ɽ¼¨»þ¡¢¿ô»ú¥­¡¼¤òÍѤ¤¤Æ¸õÊä¤òÁªÂò¤¹¤ë¤«(t) ; nil¤Î»þ¤Ï¿ô»ú¤¬É½¼¨¤Þ¤»¤ó¡£ (setq numerical-key-select t) ; default t ; °ìÍ÷ɽ¼¨»þ¡¢¿ô»ú¥­¡¼¤òÂǤ俤Ȥ­¤Ë°ìÍ÷ɽ¼¨¤ò½ªÎ»¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ï°ìÍ÷ɽ¼¨¤Î¤Þ¤Þ¤Ç¤¹¡£ (setq select-direct t) ; default t ; ¸õÊäɽ¼¨»þ¤ËʸÀá¤Î¶èÀÚ¤ê¤Ë¶õÇò¤ò¤¤¤ì¤ë¤«(t) ; nil ¤Î»þ¤Ï¶õÇò¤Ç¶èÀÚ¤ê¤Þ¤»¤ó¡£ (setq bunsetsu-kugiri nil) ; default nil ; ¥«¡¼¥½¥ë°Üư¤òʸ»ú¥Ù¡¼¥¹¤Ç¹Ô¤¦¤«(t) ; nil¤Î»þ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îñ°Ì¤Ç¥«¡¼¥½¥ë°Üư¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ (setq character-based-move t) ; default t ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ïȿžɽ¼¨¤·¤Þ¤»¤ó¡£ (setq reverse-widely nil) ; default nil ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é°ìö°ìÍ÷ɽ¼¨¤ò¤ä¤á¤ë¤«(t) ; nil ¤Î»þ¤Ï½ªÎ»¤·¤Þ¤»¤ó¡£ (setq quit-if-end-of-ichiran nil) ; default nil ; ÆÉ¤ß¤òÆþÎÏÃæ¤Ë¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤òÂÇ¤Ä¤È¥í¡¼¥Þ»ú¤Þ¤Ç¥Ð¥é¥Ð¥é¤Ë¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ïʸ»ú¥Ù¡¼¥¹¤Çºï½ü¤·¤Þ¤¹¡£ (setq break-into-roman t) ; default nil ; ÉÑÅٳؽ¬¤ò¤¹¤ë¤«(t) ; nil ¤Î»þ¤ÏÉÑÅٳؽ¬¤ò¹Ô¤¤¤Þ¤»¤ó¡£ (setq gakushu t) ; default t ; °ìÍ÷ÁªÂò¸åƱ¤¸Ê¸Àá¤Ë¤È¤É¤Þ¤ë¤«(t)¡£ ; nil¤Î»þ¤Ï°ìÍ÷ÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ (setq stay-after-validate t) ; default t ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤷ¤Æ¤·¤Þ¤¦¤«(t) ; nil ¤Î»þ¤Ï¡¢cursor-wrap ¤¬ t ¤Ç¤¢¤ë¤Èº¸Ã¼¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ ; cursor-wrap ¤¬ nil ¤Ç¤¢¤ë¤È±¦Ã¼¤ÎʸÀá¤Ë¤È¤É¤Þ¤ê¤Þ¤¹¡£ (setq kakutei-if-end-of-bunsetsu nil) ; default nil ; ñ¸ìÅÐÏ¿»þ¤Ëʸˡ´ØÏ¢¤Î¼ÁÌä¤ò¤¹¤ë¤«(t) ; nil¤Î»þ¤Ï¾ÜºÙ¤ÊÉÊ»ìʬÎà¤ò¹Ô¤ï¤º¡¢Å¬Åö¤ÊÉÊ»ì¤ÇÅÐÏ¿¤ò¹Ô¤¤¤Þ¤¹¡£ (setq grammatical-question t) ; default t ; ²¿²ó¤ÎÊÑ´¹¥­¡¼¤Ç°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¤«¡££°¤òÆþ¤ì¤ë¤ÈÊÑ´¹¥­¡¼¤À¤±¤Ç¤Ï ; °ìÍ÷ɽ¼¨¤Ë¤Ï°Ü¤ê¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï C-w ¤òÆþÎϤ·¤Æ°ìÍ÷ɽ¼¨¤·¤Æ ; ²¼¤µ¤¤¡£ (setq n-henkan-for-ichiran 2) ; default 2 ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ïɽ¼¨¤·¤Þ¤»¤ó¡£ (setq kouho-count t) ; default t ; Ã༡¼«Æ°ÊÑ´¹¤ò¤¹¤ë¤«(t) ; nil ¤Î»þ¤ÏÃ༡¼«Æ°ÊÑ´¹¤ò¹Ô¤¤¤Þ¤»¤ó¡£ (setq auto nil) ; default nil ; Ã༡ÊÑ´¹¤ò¤¹¤ë»þ¤Ë²¿¸Ä¤ÎʸÀá¤Þ¤Ç¤ò̤³ÎÄê¤ÇÊÝ»ý¤¹¤ë¤« (setq n-kouho-bunsetsu 16) ; default 16 ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¥¤¥ê¡¼¥¬¥ë¤Ê¥í¡¼¥Þ»ú¤ò¼Î¤Æ¤ë¤«(t) ; nil ¤Î»þ¤ÏÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤Ç¤¢¤Ã¤Æ¤âÆþÎϤȤ·¤Æ»Ä¤ê¤Þ¤¹¡£ (setq abandon-illegal-phonogram nil) ; default nil ; °ìÍ÷¤Î»þ¤Ë¿ô»ú°Ê³°¤Î¥­¡¼¤òÂǤĤȼ¡¤ÎÆþÎϤ˿ʤफ(t) ; nil ¤Î»þ¤Ï¡Ö¥Ô¥Ã¡×¤È¤¤¤¦²»¤¬¤Ê¤ê¡¢¼¡¤ÎÆþÎϤˤϿʤߤޤ»¤ó¡£ (setq allow-next-input t) ; default t ; Âçʸ»ú¤ÇÆþÎϤ·¤Æ¤â¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¤Ï¾®Ê¸»ú¤È¤·¤Æ°·¤¦¤«(t) ; nil ¤Î»þ¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤¹¡£ default.cbp »ÈÍÑ»þ¤Ï ; Âçʸ»ú¤ÇÆþÎϤ¹¤ë¤È¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î¤Þ¤ÞÆþÎϤµ¤ì¤Þ¤¹¡£ (setq ignore-case nil) ; default nil ; µ­¹æÆþÎϥ⡼¥É¤Çµ­¹æ¤òÆþÎϤ·¤¿¤È¤­µ­¹æÆþÎϥ⡼¥É¤ò½ªÎ»¤¹¤ë¤«(t) ; nil ¤Î¤È¤­¤Ïµ­¹æ¤òϢ³¤·¤ÆÆþÎϤǤ­¤Þ¤¹¡£ (setq quickly-escape-from-kigo-input nil) ; default nil ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÍ¥À褹¤ë¤«(t) ; nil ¤Î»þ¤Ï¥­¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿µ¡Ç½¤¬Í¥À褵¤ì¤Þ¤¹¡£ ; Î㤨¤Ð¡¢"x" + " "(¥¹¥Ú¡¼¥¹) ¤ËÂФ·¤Æ¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ç ; "¡¡"(Á´³Ñ¤Î¥¹¥Ú¡¼¥¹)¤ò³ä¤êÅö¤Æ¤Æ¤¤¤ë¾ì¹ç¡¢romaji-yuusen ¤¬ t ¤Î»þ¤Ï ; Á´³Ñ¤Î¥¹¥Ú¡¼¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢romaji-yuusen ¤¬ nil ¤Î»þ¤Ï¡¢¥¹¤Ú¡¼ ; ¥¹¤¬¡ØÊÑ´¹¡Ù¤Î°ÕÌ£¤È¤·¤ÆÍѤ¤¤é¤ì¤Þ¤¹¡£ (setq romaji-yuusen nil) ; default nil ; ñ¸ìÅÐÏ¿/ºï½ü¤Îľ¸å¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¦¤«(t) ; nil ¤Î»þ¤Ï½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¤¤Þ¤»¤ó¡£ (setq auto-sync t) ; dafault t ; °ìʸ»ú¥ì¥Ù¥ë¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÊä½õ¥Æ¡¼¥Ö¥ë (defsymbol ?- "¡¼" "-" "¡¾" "¡Ý" ) (defsymbol ?/ "/" "¡¿" "¡¦" ) (defsymbol ?\\ "\\" "¡À" "¡ï" ) (defsymbol ?( "(" "¡Ê" "¡Ú" ?) ")" "¡Ë" "¡Û" ) (defsymbol ?[ "¡Ö" "¡Ø" "[" "¡Î" "¡Ì" ?] "¡×" "¡Ù" "]" "¡Ï" "¡Í" ) (defsymbol ?{ "{" "¡Ð" "¡Ø" ?} "}" "¡Ñ" "¡Ù") (defsymbol ?< "<" "¡ã" "¡Ò" "¡Ô" ?> ">" "¡ä" "¡Ó" "¡Õ" ) (defsymbol ?. "¡£" "." "¡¥" ?, "¡¢" "," "¡¤" ) (defsymbol ?? "¡©" "?" ?! "¡ª" "!" ) (defsymbol ?' "¡Ç" "'" ?` "¡Æ" "`" ) (defsymbol ?\" "¡É" "\"" "¡È") (defsymbol ?; "¡¨" ";" ?: "¡§" ":" ) (defsymbol ?# "¡ô" "#") (defsymbol ?$ "¡ð" "$") (defsymbol ?% "¡ó" "%") (defsymbol ?& "¡õ" "&") (defsymbol ?= "¡á" "=") (defsymbol ?| "¡Ã" "|") (defsymbol ?+ "¡Ü" "+") (defsymbol ?~ "¡±" "~" "¡Á") (defsymbol ?* "¡ö" "*" "¡ß") (defsymbol ?_ "¡²" "_") (defsymbol ?0 "£°" "0" "¡»" "Îí" ?1 "£±" "1" "°ì" "°í" ?2 "£²" "2" "Æó" "Æõ" ?3 "£³" "3" "»°" "»²" ?4 "£´" "4" "»Í" "»Í" ?5 "£µ" "5" "¸Þ" "¸à" ?6 "£¶" "6" "Ï»" "Ï»" ?7 "£·" "7" "¼·" "¼·" ?8 "£¸" "8" "Ȭ" "Ȭ" ?9 "£¹" "9" "¶å" "¶å" ) ;; delete ¥­¡¼¤â¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤ÈƱ¤¸½èÍý¤ò¤µ¤»¤ë (global-set-key "\Delete" 'delete-previous) ;; Help ¤¬¤Ê¤¤¿Í¤â¤¤¤ë¤Î¤Ç F10 ¤Ç¤âƱ¤¸Æ°ºî¤ò¤µ¤»¤ë¡£ (global-set-key "\F10" 'extend-mode) ;; F7 ¤Ò¤é¤¬¤ÊÆþÎÏ¡¦¥«¥¿¥«¥ÊÆþÎϤòÀڤ괹¤¨¤ë¡£ (global-set-key "\F7" 'base-hiragana-katakana-toggle) ;; F8 Á´³Ñ¡¦È¾³ÑÆþÎϤòÀڤ괹¤¨¤ë¡£ (global-set-key "\F8" 'base-zenkaku-hankaku-toggle) ;; F9 ¤«¤Ê¡¦±Ñ¿ô¤òÀڤ괹¤¨¤ë¡£ (global-set-key "\F9" 'base-kana-eisu-toggle) ;; F1 ¤Ò¤é¤¬¤ÊÊÑ´¹ ;; F2 ¥«¥¿¥«¥ÊÊÑ´¹ ;; F3 Ⱦ³ÑÊÑ´¹ ;; F4 ±Ñ¿ôÊÑ´¹ (let ((mode 'yomi-mode)) (set-key mode "\F1" 'hiragana) (set-key mode "\F2" 'katakana) (set-key mode "\F3" 'hankaku) (set-key mode "\F4" 'romaji) ) (let ((mode 'tankouho-mode)) (set-key mode "\F1" 'hiragana) (set-key mode "\F2" 'katakana) (set-key mode "\F3" 'hankaku) (set-key mode "\F4" 'romaji) ) (let ((mode 'mojishu-mode)) (set-key mode "\F1" 'hiragana) (set-key mode "\F2" 'katakana) (set-key mode "\F3" 'hankaku) (set-key mode "\F4" 'romaji) ) Canna37p3/misc/initfiles/skk.canna0100644000076500001200000001045407554213610016367 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: skk.canna,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ ; skk like customization ; ; KANZEN ¤«¤é SKK ¤Ø¤Èή¤ì¤Æ¤¤¤ë¡Ö¤¤¤Þ¤Þ¤Ç¤Î¤«¤Ê´Á»úÊÑ´¹¤ÏÊÑ´¹¤ò¤·¤¹¤® ; ¤ë¡×¤È¤¤¤¦Àº¿À¤ò¼õ¤±·Ñ¤¤¤À¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤¹¡£¤¿¤À¤·¡¢SKK ¤Î ¡ÖSimple ; Kana Kanji¡×¤Îsimple ¤ÎÊý¤Ï¼õ¤±·Ñ¤¤¤Ç¤ª¤é¤º¡¢SKK ¤Ç¤ÏñʸÀáÊÑ´¹¤¬ºÎ ; ÍѤµ¤ì¤Æ¤¤¤ë¤Î¤ËÂФ·¤Æ¤³¤³¤Ç¤ÏϢʸÀáÊÑ´¹¤òÍѤ¤¤Æ¤¤¤Þ¤¹¡£ ; ; ¤¿¤È¤¨¤Ð¡¢¡ÖSKK ¤Î¥·¥ó¥×¥ë¤È¤¤¤¦Éôʬ¤Ï¼õ¤±·Ñ¤®¤Þ¤»¤ó¤Ç¤·¤¿¡£¡×¤ÈÆþÎÏ ; ¤¹¤ë¤Î¤Ë¡¢SKK ¤Ç¤Ï¡¢ ; ; lSKK ^JnoqsinpuruqtoiuBubunHa UKe TsuGimasendeshita . ; ; ¤ÈÆþÎϤ·¤Þ¤¹¤¬¡¢¤³¤³¤Ç¤Ï¡¢¾å¤ÎÆþÎÏÊýË¡¤Ë²Ã¤¨¤Æ¡¢°Ê²¼¤ÎÆþÎϤâ¼õ¤±ÉÕ¤± ; ¤Þ¤¹¡£ ; ; lSKK ^JnoqsinpuruqtoiuBubunhauketsugimasendeshita . ; ; ¤¹¤Ê¤ï¤Á¡¢¤³¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤¿¾ì¹ç¡¢Ä̾ï¤Ï¤«¤Ê´Á»úÊÑ´¹¤ò ; ȼ¤ï¤Ê¤¤¡Ö³ÎÄêÆþÎϥ⡼¥É¡×¤ÇÆüËܸì¤ÎÆþÎϤ¬¹Ô¤ï¤ì¤Þ¤¹¤¬¡¢±ÑÂçʸ»ú¤òÆþ ; ÎϤ¹¤ë¤È°ì»þŪ¤Ë¤«¤Ê´Á»úÊÑ´¹¤òȼ¤¦¡ÖÊÑ´¹ÆþÎϥ⡼¥É¡×¤Ç¤ÎÆþÎϤˤʤê¤Þ ; ¤¹¡£°ì»þŪ¤Ê¡ÖÊÑ´¹ÆþÎϥ⡼¥É¡×¤ÏÊÑ´¹¥­¡¼¤ò²¡¤·¤¿¸å¡¢¼¡¤ÎÆþÎϤ¬¹Ô¤ï¤ì ; ¤ë¤Ê¤É¤·¤Æ¡¢ÊÑ´¹¤·¤¿Ê¸»ú¤ò³ÎÄꤹ¤ë¤È¡¢È´¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ; ; ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤Î¤è¤¦¤ÊÁàºî¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£ ; ; C-j ÆüËܸìÆþÎϥ⡼¥É¤È¤Ê¤ë¡£ ; l ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤Ë¤Ê¤ë(l ¤Ï latin ¤Î l)¡£ ; L Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤Ë¤Ê¤ë¡£ ; q ¤Ò¤é¤¬¤Ê¤È¥«¥¿¥«¥Ê¤ò¥È¥°¥ë¤¹¤ë¡£ ; / ±Ñ»úÊÑ´¹¥â¡¼¥É¤Ë¤Ê¤ë¡£ ; \ 16 ¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ë¤Ê¤ë¡£ ; AB.. ÊÑ´¹ÆþÎϥ⡼¥É¤Ë¤Ê¤ë¡£SKK ¤Î¢¦¥â¡¼¥É¡£ ; (initialize-function '(japanese-mode base-kakutei alpha-mode)) (setq romkana-table "default.cbp") (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) (global-unbind-key-function 'japanese-mode) (global-unbind-key-function 'alpha-mode) (defmode LATIN-mode "[£Á ]" romkana-table '(zenkaku romaji kakutei) nil) (set-mode-display 'yomi-mode "[¤¢¢¦]") (set-mode-display 'tankouho-mode "[¤¢¢§]") (set-mode-display 'zen-hira-henkan-mode "[¤¢ ]") (set-mode-display 'zen-hira-kakutei-mode "[¤¢ ]") (set-mode-display 'zen-kata-kakutei-mode "[¥¢ ]") (set-mode-display 'han-alpha-henkan-mode "[±Ñ»ú]") (set-key 'alpha-mode "\C-j" 'japanese-mode) (set-key 'empty-mode "\C-j" '(base-kana base-kakutei)) (set-key 'LATIN-mode "\C-j" '(henkan-nyuuryoku-mode base-kakutei)) (set-key 'empty-mode "l" 'alpha-mode) (set-key 'empty-mode "L" 'LATIN-mode) (set-key 'henkan-nyuuryoku-mode "q" 'base-hiragana-katakana-toggle) (set-key 'yomi-mode "\Return" '(kakutei kakutei)) (defun define-as-capital (x) (set-key 'empty-mode x '(temporary base-hiragana base-henkan self-insert))) (setq ignore-case t) (defun define-capitals (l) (cond ((atom l) nil) (t (define-as-capital (car l)) (define-capitals (cdr l)) ))) (setq skk-capitals '( "A" "E" "I" "O" "U" ;Êì²» "H" "K" "M" "N" "R" "S" "T" "W" "Y" ;»Ò²» "B" "D" "G" "P" "Z" ;Âù²» "C" "F" "J" "V" "X")) ;¥Ø¥Ü¥óÍÑ ; "L" "Q" ;̤»ÈÍÑ (define-capitals skk-capitals) (set-key 'henkan-nyuuryoku-mode "/" '(temporary base-henkan base-eisu base-hankaku)) (set-key 'henkan-nyuuryoku-mode "\\" 'hex-mode) (setq allow-next-input t) (setq hex-direct t) Canna37p3/misc/initfiles/tut.canna0100644000076500001200000000632607554213611016417 0ustar shinraadmin;; Copyright 1993 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: tut.canna,v 1.1.1.1 2002/10/19 08:27:53 aida_s Exp $ ; customize file for TUT-code ; ; ¡Ø¤«¤ó¤Ê¡Ù¤Ç TUT ¥³¡¼¥ÉÆþÎϤò¹Ô¤¦¤¿¤á¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ ; ; ¤³¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ TUT ¥³¡¼¥É¤ÇÆþÎϤ¹¤ë¤Ë¤Ï ; °Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ ; ; C-o ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤È TUT ¥³¡¼¥ÉÆþÎϥ⡼¥É¤òÀÚÂØ ; ¤¨¤Þ¤¹¡£ ; Âçʸ»ú ; TUT ¤ÎÆþÎϤòÂçʸ»ú¤«¤é»Ï¤á¤ë¤È¡¢¤½¤³¤«¤é¤ÎÆþÎϤϰìö ; ÆüËܸìÆþÎϥХåե¡¤Ë¼è¤ê¹þ¤Þ¤ì¤Þ¤¹¡£ÆüËܸìÆþÎϥХåե¡ ; ¤Ë¼è¤ê¹þ¤Þ¤ì¤¿Ê¸»ú¤Ï¡¢¤«¤Ê´Á»úÊÑ´¹¡¢¥«¥ÊÊÑ´¹¤ÎÂÐ¾Ý¤È ; ¤Ê¤ê¤Þ¤¹¡£ÆüËܸìÆþÎϥХåե¡¤Ë¼è¤ê¹þ¤Þ¤ì¤¿Ê¸»ú¤ËÂФ¹ ; ¤ëÁàºî¤Ï´ðËÜŪ¤Ë¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÁàºî¤Ë½à¤¸ ; ¤Þ¤¹¡£°Ê²¼¤Ï¤½¤ÎÎã¤Î°ìÉô¤Ç¤¹¡£ ; SPC ÊÑ´¹(²¾)¡£¤«¤Ê´Á»úÊÑ´¹¤·¤Þ¤¹¡£ ; C-n »ú¼ïÊÑ´¹¡£C-n ¤òÂǤĤȡ¢Á´³Ñ¥«¥Ê¡¢È¾³Ñ¥«¥Ê¡¢Á´³Ñ¥í¡¼ ; ¥Þ»ú¡¢È¾³Ñ¥í¡¼¥Þ»ú¤ÈÆþÎϤ·¤¿Ê¸»ú¤òÊÑ´¹¤·¤Þ¤¹¡£ ; C-p C-n ¤ÎµÕ²ó¤êÊÑ´¹¤Ç¤¹¡£ ; C-w Éô¼óÊÑ´¹¡£ÆþÎϤ·¤¿ÆÉ¤ß¤òÉô¼ó̾¤Ë»ý¤Ä´Á»ú¤Î°ìÍ÷¤òɽ¼¨ ; ¤·¤Þ¤¹¡£ ; C-y ÆþÎϤ·¤¿¿ô»ú¤ò´Á»ú¥³¡¼¥É¤È¤¹¤ë´Á»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ (initialize-function '(japanese-mode base-kakutei alpha-mode)) (setq romkana-table "tut.cbp") (setq romaji-yuusen t) (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) (set-mode-display 'yomi-mode "[TUT ]") (set-mode-display 'zen-hira-henkan-mode "[TUT ]") (set-mode-display 'zen-hira-kakutei-mode "[TUT ]") (set-key 'empty-mode "\Space" 'self-insert) ;(set-key 'henkan-nyuuryoku-mode "q" 'base-hiragana-katakana-toggle) (defun define-as-capital (x) (set-key 'empty-mode x '(temporary base-hiragana base-henkan self-insert))) (setq ignore-case t) (defun define-capitals (l) (cond ((atom l) nil) (t (define-as-capital (car l)) (define-capitals (cdr l)) ))) (setq tut-capitals '( "A" "E" "I" "O" "U" "H" "K" "M" "N" "R" "S" "T" "W" "Y" "B" "D" "G" "P" "Z" "C" "F" "J" "V" "X" "L" "Q")) (define-capitals tut-capitals) (setq allow-next-input t) (setq hex-direct t) Canna37p3/misc/initfiles/unix.canna0100644000076500001200000001307107734604261016566 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: unix.canna,v 1.6 2003/09/25 15:24:33 aida_s Exp $ ;; µ­¹æÃÖ¤­´¹¤¨ÊÑ´¹¤òÍøÍѤ¹¤ë¤«¡£ (setq use-symbolic-definition t) ;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê ; ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï ; (1) ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê ; (2) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê ; (3) CANNALIBDIR/dic (CANNALIBDIR ¤Ï¡¢Î㤨¤Ð /usr/lib/canna ¤Ç¤¹) ; ¤Î½ç¤Ë¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£ ; ;(setq romkana-table "unix.cbp") (setq romkana-table "default.cbp") ;; ³°Íè¸ìÊÑ´¹ ;(setq english-table "english.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ ; ; ¤¿¤Àñ¤Ë½ñ¤­Ê¤٤Ƥ¤¤ë¤Î¤Ïñ¸ìÅÐÏ¿¤ò¹Ô¤ï¤Ê¤¤¼­½ñ¤Ç¥·¥¹¥Æ¥à¼­½ñ¤Ê¤É¤¬ ; ¤³¤ì¤ËÅö¤¿¤ê¤Þ¤¹¡£ ; ; Éô¼ó¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :bushu ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£ ; ; ñ¸ìÅÐÏ¿¤ò¤·¤¿¤¤¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :user ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£Ã±¸ìÅÐ ; Ï¿¤ò¤¹¤ë¼­½ñ¤Ï¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ã±¸ìÅÐÏ¿¤µ¤»¤¿¤¤ ; ¼­½ñ¤Ï mkdic user ¤ÎÍͤʥ³¥Þ¥ó¥É¤òÂǤĤ³¤È¤Ç´Êñ¤ËºîÀ®¤¹¤ë¤³¤È¤¬¤Ç ; ¤­¤Þ¤¹¡£ ; ; :katanana ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤¿¼­½ñ¤Ï¡¢¥«¥¿¥«¥Ê¸ì¤Î¼«Æ°ÅÐÏ¿¼­½ñ¤Ë ; ¤Ê¤ê¤Þ¤¹¡£»ú¼ïÊÑ´¹¤Ç¥«¥¿¥«¥Ê¤ËÊÑ´¹¤·¤Æ³ÎÄꤹ¤ë¤È¡¢¼«Æ°Åª¤Ë¥µÊÑ ; ̾»ì¤È¤·¤ÆÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ ; (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" :katakana "katakana" ) ;;; ¤µ¤Þ¤¶¤Þ¤Ê¥Ñ¥é¥á¥¿¤ÎÀßÄê ; ; ¿¿ÍýÃͤòÀßÄꤹ¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¿¿¤Ë¤Ä¤¤¤Æ¤Ï t ¡¢µ¶¤Ë¤Ä¤¤¤Æ¤Ï nil ¤òÀß ; Äꤷ¤Þ¤¹¡£ ; °ìÈÖ±¦¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¤è¤¦¤Ë¤¹¤ë¤« (setq cursor-wrap t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤Ë¥«¡¼¥½¥ë°Üư¤Ëα¤á¤ë(nil)¤«ÁªÂò¤Þ¤Ç¤·¤Æ ; ¤·¤Þ¤¦¤«(t) (setq select-direct t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¤«(t)¡£nil¤Î»þ¤Ï¿ô»ú¤¬É½¼¨¤µ¤ì¤Þ¤»¤ó (setq numerical-key-select t) ; default t ; ¸õÊäɽ¼¨»þ¤ËʸÀá¤Î¶èÀÚ¤ê¤Ë¶õÇò¤ò¤¤¤ì¤ë¤« (setq bunsetsu-kugiri nil) ; default nil ; ʸ»ú¥Ù¡¼¥¹¤Î°Üư¤ò¤¹¤ë¤«(t)¡£ nil¤Î»þ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îñ°Ì¤Ç¥«¡¼ ; ¥½¥ë°Üư¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ (setq character-based-move t) ; default t ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤¹¤ë¤« (setq reverse-widely nil) ; default nil ; ÉÑÅٳؽ¬¤ò¤¹¤ë¤« (setq gakushu t) ; default t ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é°ìö°ìÍ÷ɽ¼¨¤ò¤ä¤á¤ë¤« (setq quit-if-end-of-ichiran nil); default nil ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤷ¤Æ¤·¤Þ¤¦¤« (setq kakutei-if-end-of-bunsetsu nil) ; default nil ; °ìÍ÷ÁªÂò¸åƱ¤¸Ê¸Àá¤Ë¤È¤É¤Þ¤ë¤«(t)¡£nil¤Î»þ¤Ï°ìÍ÷ÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè ; ¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ (setq stay-after-validate t) ; default t ; ÆÉ¤ß¤òÆþÎÏÃæ¤Ë¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤òÂÇ¤Ä¤È¥í¡¼¥Þ»ú¤Þ¤Ç¥Ð¥é¥Ð¥é¤Ë¤¹¤ë¤« (setq break-into-roman t) ; default nil ; ²¿²ó¤ÎÊÑ´¹¥­¡¼¤Ç°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¤«¡£0¤òÆþ¤ì¤ë¤ÈÊÑ´¹¥­¡¼¤À¤±¤Ç¤Ï ; °ìÍ÷ɽ¼¨¤Ë¤Ï°Ü¤ê¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï C-w ¤òÆþÎϤ·¤Æ°ìÍ÷ɽ¼¨¤·¤Æ ; ²¼¤µ¤¤¡£ (setq n-henkan-for-ichiran 2) ; default 2 ; ñ¸ìÅÐÏ¿»þ¤Ëʸˡ´ØÏ¢¤Î¼ÁÌä¤ò¤¹¤ë¤«(t)¡£nil¤Î»þ¤ÏŬÅö¤ÊÉÊ»ì¤òÉÕ¤±¤Æ¤· ; ¤Þ¤¤¤Þ¤¹¡£ (setq grammatical-question t) ; default t ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¤« (setq kouho-count t) ; default t ; Ã༡ÊÑ´¹¤ò¤¹¤ë¤« (setq auto nil) ; default nil ; Ã༡ÊÑ´¹¤ò¤¹¤ë»þ¤Ë²¿¸Ä¤ÎʸÀá¤Þ¤Ç¤ò̤³ÎÄê¤ÇÊÝ»ý¤¹¤ë¤« (setq n-kouho-bunsetsu 16) ; default 16 ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¥¤¥ê¡¼¥¬¥ë¤Ê¥í¡¼¥Þ»ú¤ò¼Î¤Æ¤ë¤« (setq abandon-illegal-phonogram nil) ; default nil ; °ìÍ÷¤Î»þ¤â¼¡¤ÎÆþÎϤòǧ¤á¤ë¤« (setq allow-next-input t) ; default t ; ºÇ½é¤ÎÊÑ´¹¤Î»þ¤Þ¤Ç¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤òÃٱ䤹¤ë¤« (setq delay-connect t) ; default nil ; °ìʸ»ú¥ì¥Ù¥ë¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÊä½õ¥Æ¡¼¥Ö¥ë (if use-symbolic-definition (progn (defsymbol ?- "¡¼" "-" "¡Ý" "¡¾") (defsymbol ?/ "/" "¡¿" "¡¦") (defsymbol ?\\ "\\" "¡À" "¡ï") (defsymbol ?( "(" "¡Ê" "¡Ú" ?) ")" "¡Ë" "¡Û" ) (defsymbol ?[ "¡Ö" "¡Ø" "¡Î" "¡Ì" "[" ?] "¡×" "¡Ù" "¡Ï" "¡Í" "]") (defsymbol ?. "¡£" "¡¥" "." ?, "¡¢" "¡¤" "," ) (defsymbol ?0 "0" "£°" "¡»" "Îí" ?1 "1" "£±" "°ì" "°í" ?2 "2" "£²" "Æó" "Æõ" ?3 "3" "£³" "»°" "»²" ?4 "4" "£´" "»Í" "»Í" ?5 "5" "£µ" "¸Þ" "¸à" ?6 "6" "£¶" "Ï»" "Ï»" ?7 "7" "£·" "¼·" "¼·" ?8 "8" "£¸" "Ȭ" "Ȭ" ?9 "9" "£¹" "¶å" "¶å" ) (defsymbol ?? "?" "¡©" ?! "!" "¡ª") (defsymbol ?# "#" "¡ô") (defsymbol ?$ "$" "¡ð") (defsymbol ?% "%" "¡ó") (defsymbol ?& "&" "¡õ") (defsymbol ?+ "+" "¡Ü") (defsymbol ?* "*" "¡ö" "¡ß") (defsymbol ?_ "_" "¡²") (defsymbol ?' "'" "¡Ç") (defsymbol ?` "`" "¡Æ") (defsymbol ?\" "\"" "¡É") (defsymbol ?~ "~" "¡±" "¡Á") )) ;; delete ¥­¡¼¤â¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤ÈƱ¤¸½èÍý¤ò¤µ¤»¤ë (global-set-key "\Delete" 'delete-previous) ; necessary in using Emacs ;; Help ¤¬¤Ê¤¤¿Í¤â¤¤¤ë¤Î¤Ç F1 ¤Ç¤âƱ¤¸Æ°ºî¤ò¤µ¤»¤ë¡£ (global-set-key "\F1" 'extend-mode) Canna37p3/misc/initfiles/verbose.canna0100644000076500001200000001561407734604261017255 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; $Id: verbose.canna,v 1.6 2003/09/25 15:24:33 aida_s Exp $ ;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê ; ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï ; (1) ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê ; (2) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê ; (3) CANNALIBDIR/dic (CANNALIBDIR ¤Ï¡¢Î㤨¤Ð /usr/lib/canna ¤Ç¤¹) ; ¤Î½ç¤Ë¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£ ; (setq romkana-table "default.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ ; ; ¤¿¤Àñ¤Ë½ñ¤­Ê¤٤Ƥ¤¤ë¤Î¤Ïñ¸ìÅÐÏ¿¤ò¹Ô¤ï¤Ê¤¤¼­½ñ¤Ç¥·¥¹¥Æ¥à¼­½ñ¤Ê¤É¤¬ ; ¤³¤ì¤ËÅö¤¿¤ê¤Þ¤¹¡£ ; ; Éô¼ó¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :bushu ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£ ; ; ñ¸ìÅÐÏ¿¤ò¤·¤¿¤¤¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :user ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£Ã±¸ìÅÐ ; Ï¿¤ò¤¹¤ë¼­½ñ¤Ï¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ã±¸ìÅÐÏ¿¤µ¤»¤¿¤¤ ; ¼­½ñ¤Ï mkdic user ¤ÎÍͤʥ³¥Þ¥ó¥É¤òÂǤĤ³¤È¤Ç´Êñ¤ËºîÀ®¤¹¤ë¤³¤È¤¬¤Ç ; ¤­¤Þ¤¹¡£ ; ; :katanana ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤¿¼­½ñ¤Ï¡¢¥«¥¿¥«¥Ê¸ì¤Î¼«Æ°ÅÐÏ¿¼­½ñ¤Ë ; ¤Ê¤ê¤Þ¤¹¡£»ú¼ïÊÑ´¹¤Ç¥«¥¿¥«¥Ê¤ËÊÑ´¹¤·¤Æ³ÎÄꤹ¤ë¤È¡¢¼«Æ°Åª¤Ë¥µÊÑ ; ̾»ì¤È¤·¤ÆÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ ; (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ; :katakana "katakana" ) ;;; ¤µ¤Þ¤¶¤Þ¤Ê¥Ñ¥é¥á¥¿¤ÎÀßÄê ; ; ¿¿ÍýÃͤòÀßÄꤹ¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¿¿¤Ë¤Ä¤¤¤Æ¤Ï t ¡¢µ¶¤Ë¤Ä¤¤¤Æ¤Ï nil ¤ò ; ÀßÄꤷ¤Þ¤¹¡£ ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÇÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤ÏÆþÎϤ«¤é¼Î¤Æ¤é¤ì¤ë¤«(t) ; nil ¤Î»þ¤ÏÉÔÀµ¤Ê¥í¡¼¥Þ»ú¤âÆþÎϤȤ·¤Æ»Ä¤ê¤Þ¤¹¡£ (setq abandon-illegal-phonogram nil) ; default nil ; °ìÍ÷¤Î»þ¤Ë¿ô»ú°Ê³°¤Î¥­¡¼¤òÂǤĤȼ¡¤ÎÆþÎϤ˿ʤफ(t) ; nil ¤Î»þ¤Ï¡Ö¥Ô¥Ã¡×¤È¤¤¤¦²»¤¬¤Ê¤ê¡¢¼¡¤ÎÆþÎϤˤϿʤߤޤ»¤ó¡£ (setq allow-next-input t) ; default t ; Ã༡¼«Æ°ÊÑ´¹¤ò¤¹¤ë¤«(t) ; nil ¤Î»þ¤ÏÃ༡¼«Æ°ÊÑ´¹¤ò¹Ô¤¤¤Þ¤»¤ó¡£ (setq auto nil) ; default nil ; ñ¸ìÅÐÏ¿/ºï½ü¤Îľ¸å¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¦¤«(t) ; nil ¤Î»þ¤Ï½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¤¤Þ¤»¤ó¡£ (setq auto-sync t) ; dafault t ; ÆÉ¤ß¤òÆþÎÏÃæ¤Ë¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤òÂÇ¤Ä¤È¥í¡¼¥Þ»ú¤Þ¤Ç¥Ð¥é¥Ð¥é¤Ë¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ïʸ»ú¥Ù¡¼¥¹¤Çºï½ü¤·¤Þ¤¹¡£ (setq break-into-roman nil) ; default nil ; ¸õÊäɽ¼¨»þ¤ËʸÀᤴ¤È¤Ë¶õÇò¤Ç¶èÀڤ뤫¤É¤¦¤«(t) ; nil ¤Î»þ¤Ï¶õÇò¤Ç¶èÀÚ¤ê¤Þ¤»¤ó¡£ (setq bunsetsu-kugiri nil) ; default nil ; ¥«¡¼¥½¥ë°Üư¤òʸ»ú¥Ù¡¼¥¹¤Ç¹Ô¤¦¤«(t) ; nil¤Î»þ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îñ°Ì¤Ç¥«¡¼¥½¥ë°Üư¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ (setq character-based-move t) ; default t ; ¥«¡¼¥½¥ë°Üư¤ò¤¹¤ë»þ¡¢±¦Ã¼¤«¤é±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¹Ô¤¯¤«(t) ; nil ¤Î»þ¤Ï±¦Ã¼¤Ë¤È¤É¤Þ¤ê¤Þ¤¹¡£ (setq cursor-wrap t) ; default t ; ÉÑÅٳؽ¬¤ò¤¹¤ë¤«(t) ; nil ¤Î»þ¤ÏÉÑÅٳؽ¬¤ò¹Ô¤¤¤Þ¤»¤ó¡£ (setq gakushu t) ; default t ; ñ¸ìÅÐÏ¿»þ¤Ëʸˡ´ØÏ¢¤Î¼ÁÌä¤ò¤¹¤ë¤«(t) ; nil¤Î»þ¤Ï¾ÜºÙ¤ÊÉÊ»ìʬÎà¤ò¹Ô¤ï¤º¡¢Å¬Åö¤ÊÉÊ»ì¤ÇÅÐÏ¿¤ò¹Ô¤¤¤Þ¤¹¡£ (setq grammatical-question t) ; default t ; 16 ¿Ê¥³¡¼¥ÉÆþÎÏ»þ¤Ë 4 ¥±¥¿ÌܤòÆþ¤ì¤¿»þÅÀ¤Ç 16 ¿Ê¥³¡¼¥ÉÆþÎϥ⡼¥É¤¬ ; ½ªÎ»¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ï 4 ¥±¥¿ÌܤòÆþ¤ì¤¿»þÅÀ¤Ç¤âÆþÎϤ¬³ÎÄꤷ¤Ê¤¤¾õÂ֤Ȥʤê¤Þ¤¹¡£ (setq hex-direct nil) ; default nil ; Âçʸ»ú¤ÇÆþÎϤ·¤Æ¤â¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¤Ï¾®Ê¸»ú¤È¤·¤Æ°·¤¦¤«(t) ; nil ¤Î»þ¤ÏÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤¹¡£ default.cbp »ÈÍÑ»þ¤Ï ; Âçʸ»ú¤ÇÆþÎϤ¹¤ë¤È¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î¤Þ¤ÞÆþÎϤµ¤ì¤Þ¤¹¡£ (setq ignore-case nil) ; default nil ; ¸õÊä°ìÍ÷¤ÎÈÖ¹æ¤òÁ´³Ñʸ»ú¤«¤éȾ³Ñʸ»ú¤ËÊѹ¹¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ï¸õÊä°ìÍ÷¤ÎÈÖ¹æ¤ÏÁ´³Ñ¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£ (setq index-hankaku nil) ; default nil ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤷ¤Æ¤·¤Þ¤¦¤«(t) ; nil ¤Î»þ¤Ï¡¢cursor-wrap ¤¬ t ¤Ç¤¢¤ë¤Èº¸Ã¼¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ ; cursor-wrap ¤¬ nil ¤Ç¤¢¤ë¤È±¦Ã¼¤ÎʸÀá¤Ë¤È¤É¤Þ¤ê¤Þ¤¹¡£ (setq kakutei-if-end-of-bunsetsu nil) ; default nil ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ïɽ¼¨¤·¤Þ¤»¤ó¡£ (setq kouho-count t) ; default t ; ²¿²ó¤ÎÊÑ´¹¥­¡¼¤Ç°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¤«¡£ ; 0 ¤òÆþ¤ì¤ë¤ÈÊÑ´¹¥­¡¼¤À¤±¤Ç¤Ï°ìÍ÷ɽ¼¨¤Ë¤Ï°Ü¤ê¤Þ¤»¤ó¡£ ; ¤½¤Î¾ì¹ç¤Ë¤Ï C-w ¤òÆþÎϤ·¤Æ°ìÍ÷ɽ¼¨¤·¤Æ²¼¤µ¤¤¡£ (setq n-henkan-for-ichiran 2) ; default 2 ; Ã༡ÊÑ´¹¤ò¤¹¤ë»þ¤Ë²¿¸Ä¤ÎʸÀá¤Þ¤Ç¤ò̤³ÎÄê¤ÇÊÝ»ý¤¹¤ë¤« ; 3 ¡Á 32 ¤ÎÈϰϤǻØÄꤷ¤Æ²¼¤µ¤¤¡£ (setq n-kouho-bunsetsu 16) ; default 16 ; °ìÍ÷ɽ¼¨»þ¡¢¿ô»ú¥­¡¼¤òÍѤ¤¤Æ¸õÊä¤òÁªÂò¤¹¤ë¤«(t) ; nil¤Î»þ¤Ï¿ô»ú¤¬É½¼¨¤µ¤ì¤Þ¤»¤ó¡£ (setq numerical-key-select t) ; default t ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ïȿžɽ¼¨¤·¤Þ¤»¤ó¡£ (setq reverse-widely nil) ; default nil ; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÍ¥À褹¤ë¤«(t) ; nil ¤Î»þ¤Ï¥­¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿µ¡Ç½¤¬Í¥À褵¤ì¤Þ¤¹¡£ ; Î㤨¤Ð¡¢"x" + " "(¥¹¥Ú¡¼¥¹) ¤ËÂФ·¤Æ¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ç ; "¡¡"(Á´³Ñ¤Î¥¹¥Ú¡¼¥¹)¤ò³ä¤êÅö¤Æ¤Æ¤¤¤ë¾ì¹ç¡¢romaji-yuusen ¤¬ t ¤Î»þ¤Ï ; Á´³Ñ¤Î¥¹¥Ú¡¼¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¤¬¡¢romaji-yuusen ¤¬ nil ¤Î»þ¤Ï¡¢¥¹¤Ú¡¼ ; ¥¹¤¬¡ØÊÑ´¹¡Ù¤Î°ÕÌ£¤È¤·¤ÆÍѤ¤¤é¤ì¤Þ¤¹¡£ (setq romaji-yuusen nil) ; default nil ; µ­¹æÆþÎϥ⡼¥É¤Çµ­¹æ¤òÆþÎϤ·¤¿¤È¤­µ­¹æÆþÎϥ⡼¥É¤ò½ªÎ»¤¹¤ë¤«(t) ; nil ¤Î¤È¤­¤Ïµ­¹æ¤òϢ³¤·¤ÆÆþÎϤǤ­¤Þ¤¹¡£ (setq quickly-escape-from-kigo-input nil) ; default nil ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é°ìö°ìÍ÷ɽ¼¨¤ò¤ä¤á¤ë¤«(t) ; nil ¤Î»þ¤Ï½ªÎ»¤·¤Þ¤»¤ó¡£ (setq quit-if-end-of-ichiran nil) ; default nil ; °ìÍ÷ɽ¼¨»þ¡¢¿ô»ú¥­¡¼¤òÂǤ俤Ȥ­¤Ë°ìÍ÷ɽ¼¨¤ò½ªÎ»¤¹¤ë¤«(t) ; nil ¤Î»þ¤Ï°ìÍ÷ɽ¼¨¤Î¤Þ¤Þ¤Ç¤¹¡£ (setq select-direct t) ; default t ; °ìÍ÷ÁªÂò¸åƱ¤¸Ê¸Àá¤Ë¤È¤É¤Þ¤ë¤«(t)¡£ ; nil¤Î»þ¤Ï°ìÍ÷ÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè¤ÎʸÀá¤Ë°Üư¤·¤Þ¤¹¡£ (setq stay-after-validate t) ; default t ; ʸ»ú¼ïÊÑ´¹¤Ç¡¢È¾³Ñ¥«¥¿¥«¥Ê¤ò¶Ø»ß¤¹¤ë¤«(t) ; t ¤Î¤È¤­¤Ï¶Ø»ß¤·¤Þ¤¹¡£ (setq inhibit-hankaku-kana nil) ; default nil ; ʸ»ú¼ïÊÑ´¹¤Ç¡¢¼¡¤ÎÆþÎϤò¹Ô¤Ã¤¿¤éʸ»ú¼ïÉôʬ¤ò³ÎÄꤷ¤Ê¤¤¤«(t) ; nil ¤Î¤È¤­¤Ï³ÎÄꤷ¤Þ¤¹¡£ (setq mojishu-continue t) ; default t ; ¸õÊäɽ¼¨¾õÂ֤Ǽ¡¤ÎÆþÎϤò¤·¤¿¤È¤­¤Ë¡¢³ÎÄꤷ¤Ê¤¤¤«(t) ; nil ¤Î¤È¤­¤Ï³ÎÄꤷ¤Þ¤¹¡£ (setq renbun-continue t) ; default t (setq chikuji-continue t) ; default t ; ºÇ½é¤ÎÊÑ´¹¤Î»þ¤Þ¤Ç¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤òÃٱ䤹¤ë¤«(t) ; nil ¤Î¤È¤­¤Ï½é´ü²½»þ¤Ë¤¹¤°¤ËÀܳ¤·¤Þ¤¹¡£ (setq delay-connect nil) ; default nil ;; ¥·¥ó¥Ü¥ë¤ÎÄêµÁ (defsymbol ?[ "¡Ö" "¡Ø" "[" "¡Î" "¡Ì" ?] "¡×" "¡Ù" "]" "¡Ï" "¡Í" ) (defsymbol ?. "¡£" "." "¡¥" ?, "¡¢" "," "¡¤" ) ;(defsymbol ; ?~ "~" "¡±" "¡Á" ; ?/ "/" "¡¿" "¡¦" ) Canna37p3/misc/initfiles/vje.canna0100644000076500001200000001764507554213611016375 0ustar shinraadmin;; Copyright 1992 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; Using this customize file gives you a Japanese Input Interface ;; like vje-¦Â does. ;; $Id: vje.canna,v 1.1.1.1 2002/10/19 08:27:53 aida_s Exp $ ;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê (setq romkana-table "vje.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) ;ÆüËܸìÆþÎÏ on ¤Ë¤¹¤ë¡£ (set-key 'alpha-mode "\C-Xfer" 'japanese-mode) ; ±¦Ã¼¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¡£ (setq cursor-wrap t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤ËÁªÂò¤Þ¤Ç¤¹¤ë¡£ (setq select-direct t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¡£ (setq numerical-key-select t) ; default t ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤·¤Ê¤¤¡£ (setq reverse-widely nil) ; default nil ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é¡¢¤Þ¤¿ÀèÆ¬¤Î¸õÊä¤òɽ¼¨¤¹¤ë¡£ (setq quit-if-end-of-ichiran nil) ; default nil ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤹ¤ë¡£ (setq kakutei-if-end-of-bunsetsu t) ; default nil ; 3 ²óÊÑ´¹¥­¡¼¤ò²¡¤¹¤È°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¡£ (setq n-henkan-for-ichiran 3) ; default 2 ;°ìÍ÷¤«¤éÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè¤ÎʸÀá¤Ë°Üư¤¹¤ë¡£ (setq stay-after-validate nil) ; default t ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤·¤Ê¤¤¡£ (setq kouho-count nil) ; default t ; ¸õÊä°ìÍ÷¤ÎÈÖ¹æ¤òȾ³Ñʸ»ú¤Ë¤¹¤ë¡£ (setq index-hankaku t) ; default nil ; ¸õÊä¤ÎÈÖ¹æ¤È¤Î¶èÀÚ¤êʸ»ú¡£ (setq index-separator ?:) ; µ­¹æÆþÎϥ⡼¥É¤Çµ­¹æ¤òÆþÎϤ·¤¿¤È¤­µ­¹æÆþÎϥ⡼¥É¤ò½ªÎ»¤¹¤ë¡£ (setq quickly-escape-from-kigo-input t) ; default nil ; ñ¸ìÅÐÏ¿/ºï½ü¤Îľ¸å¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¦ (setq auto-sync t) ; default t ;; ¥­¡¼¥Þ¥Ã¥× (global-unbind-key-function 'quoted-insert) (global-unbind-key-function 'extend) (global-unbind-key-function 'shrink) (global-unbind-key-function 'previous) (global-unbind-key-function 'next) (global-unbind-key-function 'forward) (global-unbind-key-function 'backward) (global-unbind-key-function 'henkan) (global-unbind-key-function 'beginning-of-line) (global-unbind-key-function 'end-of-line) (global-unbind-key-function 'kill-to-end-of-line) (global-unbind-key-function 'quit) (global-set-key "\Backspace" 'delete-previous) (global-set-key "\C-g" 'delete-next) (global-set-key "\Delete" 'delete-next) (global-set-key "\C-s" 'backward) (global-set-key "\Left" 'backward) (global-set-key "\C-d" 'forward) (global-set-key "\Right" 'forward) (global-set-key "\C-a" 'beginning-of-line) (global-set-key "\Rollup" 'beginning-of-line) (global-set-key "\C-f" 'end-of-line) (global-set-key "\Rolldown" 'end-of-line) (global-set-key "\C-y" 'quit) (global-set-key "\C-w" 'extend) (global-set-key "\C-q" 'shrink) (global-set-key "\Down" 'next) (global-set-key "\C-x" 'next) (global-set-key "\Up" 'previous) (global-set-key "\C-e" 'previous) (global-set-key "\Xfer" 'henkan) (global-set-key "\S-Nfer" 'base-hiragana-katakana-toggle) (global-set-key "\C-Nfer" 'base-kana-eisu-toggle) ;; ¥â¡¼¥Éɽ¼¨Ê¸»úÎóÄêµÁ (set-mode-display 'henkan-nyuuryoku-mode " ¤«¤ÊÁ´ ") (set-mode-display 'empty-mode " ¤«¤ÊÁ´ ") (set-mode-display 'yomi-mode " ¤«¤ÊÁ´ ") (set-mode-display 'zen-kata-henkan-mode " ¥«¥ÊÁ´ ") (set-mode-display 'han-kata-henkan-mode " ¥«¥ÊȾ ") (set-mode-display 'zen-alpha-henkan-mode " ±Ñ¿ôÁ´ ") (set-mode-display 'han-alpha-henkan-mode " ±Ñ¿ôȾ ") ;; ÆÉ¤ß¥â¡¼¥É»þ (let ((mode 'yomi-mode)) (set-key mode "\C-j" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-k" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-l" 'romaji) (set-key mode "\F8" 'romaji) (set-key mode "\C-o" 'hankaku) (set-key mode "\F9" 'hankaku) (set-key mode "\F5" 'convert-as-hex) (set-key mode "\Nfer" 'kakutei) (set-key mode "\C-@" 'kakutei) (set-key mode "\C-c" 'henkan) (set-key mode "\Up" 'henkan) (set-key mode "\Down" '(henkan kouho-ichiran backward)) (set-key mode "\C-x" '(henkan kouho-ichiran backward)) ) ;; ʸ»ú¼ï¥â¡¼¥É»þ (let ((mode 'mojishu-mode)) (set-key mode "\C-j" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-k" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-l" 'romaji) (set-key mode "\F8" 'romaji) (set-key mode "\C-o" 'hankaku) (set-key mode "\F9" 'hankaku) (set-key mode "\S-Right" 'extend) (set-key mode "\S-Left" 'shrink) (set-key mode "\Nfer" 'kakutei) (set-key mode "\C-@" 'kakutei) ) ;; ñ¸õÊä¥â¡¼¥É»þ (let ((mode 'tankouho-mode)) (set-key mode "\Space" 'forward) (set-key mode "\C-j" 'hiragana) (set-key mode "\F6" 'hiragana) (set-key mode "\C-k" 'katakana) (set-key mode "\F7" 'katakana) (set-key mode "\C-l" 'romaji) (set-key mode "\F8" 'romaji) (set-key mode "\C-o" 'hankaku) (set-key mode "\F9" 'hankaku) (set-key mode "\C-c" 'henkan) (set-key mode "\C-z" 'previous) (set-key mode "\S-Xfer" 'previous) (set-key mode "\Down" 'kouho-ichiran) (set-key mode "\C-x" 'kouho-ichiran) (set-key mode "\Nfer" 'kakutei) (set-key mode "\C-@" 'kakutei) (set-key mode "\S-Right" 'extend) (set-key mode "\S-Left" 'shrink) ) ;; °ìÍ÷¸õÊä¥â¡¼¥É»þ (let ((mode 'ichiran-mode)) (set-key mode "\Xfer" 'forward) (set-key mode "\C-c" 'forward) (set-key mode "\S-Xfer" 'backward) (set-key mode "\C-z" 'backward) (set-key mode "\Space" 'kakutei) (set-key mode "\Nfer" 'kakutei) (set-key mode "\C-@" 'kakutei) (set-key mode "\S-Right" '(quit extend)) (set-key mode "\C-w" '(quit extend)) (set-key mode "\S-Left" '(quit shrink)) (set-key mode "\C-q" '(quit shrink)) ) ;; µ­¹æÆþÎϥ⡼¥É»þ (let ((mode 'kigou-mode)) (set-key mode "\Xfer" 'forward) (set-key mode "\C-c" 'forward) (set-key mode "\S-Xfer" 'backward) (set-key mode "\C-z" 'backward) (set-key mode "\Space" 'kakutei) (set-key mode "\Nfer" 'kakutei) (set-key mode "\C-@" 'kakutei) ) ;; ¼­½ñ¥Þ¥¦¥ó¥È¥¢¥ó¥Þ¥¦¥ó¥È»þ (let ((mode 'on-off-mode)) (set-key mode "\Xfer" 'forward) (set-key mode "\Space" 'henkan) (set-key mode "\Nfer" 'kakutei) (set-key mode "\C-@" 'kakutei) ) ;; ¥·¥ó¥Ü¥ë¤ÎÄêµÁ (defsymbol ?, "¡¢" "," ) (defsymbol ?. "¡£" "." ) (defsymbol ?/ "¡¦" "¡¿") (defsymbol ?- "¡¼" "¡Ý") (defsymbol ?[ "¡Ö" "[" ) (defsymbol ?] "¡×" "]" ) Canna37p3/misc/initfiles/wx2+.canna0100644000076500001200000001542507554213611016376 0ustar shinraadmin;; Copyright 1994 NEC Corporation, Tokyo, Japan. ;; ;; Permission to use, copy, modify, distribute and sell this software ;; and its documentation for any purpose is hereby granted without ;; fee, provided that the above copyright notice appear in all copies ;; and that both that copyright notice and this permission notice ;; appear in supporting documentation, and that the name of NEC ;; Corporation not be used in advertising or publicity pertaining to ;; distribution of the software without specific, written prior ;; permission. NEC Corporation makes no representations about the ;; suitability of this software for any purpose. It is provided "as ;; is" without express or implied warranty. ;; ;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN ;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR ;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF ;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ;; PERFORMANCE OF THIS SOFTWARE. ;; Using this customize file gives you a Japanese Input Interface ;; like WXII+ does. ;; $Id: wx2+.canna,v 1.1.1.1 2002/10/19 08:27:53 aida_s Exp $ ;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê (setq romkana-table "wx2+.cbp") ;;; ÍøÍѤ¹¤ë¼­½ñ (use-dictionary "iroha" "fuzokugo" "hojomwd" "hojoswd" :bushu "bushu" :user "user" ) ;;ÆüËܸìÆþÎÏ on ¤Ë¤¹¤ë¡£ (set-key 'alpha-mode "\C-Xfer" 'japanese-mode) ; ±¦Ã¼¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¡£ (setq cursor-wrap t) ; default t ; ʸÀá¤Î±¦Ã¼¤Ç±¦°Üư¤ò¤¹¤ë¤ÈÁ´Ê¸¤¬³ÎÄꤹ¤ë¡£ (setq kakutei-if-end-of-bunsetsu t) ; default nil ; 2 ²óÊÑ´¹¥­¡¼¤ò²¡¤¹¤È°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¡£ (setq n-henkan-for-ichiran 2) ; default 2 ; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¡£ (setq kouho-count t) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤Ë¥«¡¼¥½¥ë°Üư¤Ë¤È¤É¤á¤ë¡£ (setq select-direct nil) ; default t ; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¡£ (setq numerical-key-select t) ; default t ;°ìÍ÷¤«¤éÁªÂò¤ò¹Ô¤¦¤È°ì¤ÄÀè¤ÎʸÀá¤Ë°Üư¤¹¤ë¡£ (setq stay-after-validate nil) ; default t ; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤Æ¤â°ìÍ÷ɽ¼¨¤ò¤ä¤á¤Ê¤¤¡£ (setq quit-if-end-of-ichiran nil) ; default nil ; ÆþÎÏÃæ¤ÎÆÉ¤ßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤·¤Ê¤¤¡£ (setq reverse-widely nil) ; default nil ; ÉÑÅٳؽ¬¤ò¤¹¤ë¡£ (setq gakushu t) ; default t ; ¸õÊä°ìÍ÷¤ÎÈÖ¹æ¤òȾ³Ñʸ»ú¤Ë¤¹¤ë¡£ (setq index-hankaku t) ; default nil ; ¸õÊä¤ÎÈÖ¹æ¤È¤Î¶èÀÚ¤êʸ»ú¡£ (setq index-separator ?:) ; µ­¹æÆþÎϥ⡼¥É¤Çµ­¹æ¤òÆþÎϤ·¤¿¤È¤­µ­¹æÆþÎϥ⡼¥É¤ò½ªÎ»¤¹¤ë¡£ (setq quickly-escape-from-kigo-input t) ; default nil ; ñ¸ìÅÐÏ¿/ºï½ü¤Îľ¸å¤Ë¼­½ñ¤Î½ñ¤­½Ð¤·½èÍý¤ò¹Ô¤¦ (setq auto-sync t) ; default t ;; ¥­¡¼¥Þ¥Ã¥× (global-unbind-key-function 'extend) (global-unbind-key-function 'shrink) (global-unbind-key-function 'forward) (global-unbind-key-function 'backward) (global-unbind-key-function 'previous) (global-unbind-key-function 'next) (global-unbind-key-function 'beginning-of-line) (global-unbind-key-function 'end-of-line) (global-unbind-key-function 'kill-to-end-of-line) (global-unbind-key-function 'kouho-ichiran) (global-set-key "\S-Right" 'extend) (global-set-key "\S-Left" 'shrink) (global-set-key "\Right" 'forward) (global-set-key "\Down" 'forward) (global-set-key "\Left" 'backward) (global-set-key "\Up" 'previous) (global-set-key "\S-Up" 'previous) (global-set-key "\S-Down" 'next) (global-set-key "\Space" 'henkan) (global-set-key "\Escape" 'quit) (global-set-key "\F5" 'convert-as-hex) ;; ÆþÎϥ⡼¥É¤ÎÄêµÁ (defmode zenkaku-katakana-mode " Á´¥«¥Ê " romkana-table '(katakana) t) (defmode hankaku-katakana-mode " Ⱦ¥«¥Ê " romkana-table '(katakana hankaku) t) (defmode zenkaku-eisu-mode " Á´±Ñ¿ô " nil '(zenkaku) nil) (defmode hankaku-eisu-mode " Ⱦ±Ñ¿ô " nil nil nil) (set-key 'empty-mode "\Nfer" 'zenkaku-katakana-mode) (set-key 'zenkaku-katakana-mode "\Nfer" 'hankaku-katakana-mode) (set-key 'hankaku-katakana-mode "\Nfer" 'henkan-nyuuryoku-mode) (set-key 'empty-mode "\S-Nfer" 'zenkaku-eisu-mode) (set-key 'zenkaku-katakana-mode "\S-Nfer" 'zenkaku-eisu-mode) (set-key 'hankaku-katakana-mode "\S-Nfer" 'zenkaku-eisu-mode) (set-key 'zenkaku-eisu-mode "\S-Nfer" 'hankaku-eisu-mode) (set-key 'hankaku-eisu-mode "\S-Nfer" 'zenkaku-eisu-mode) (set-key 'zenkaku-eisu-mode "\Nfer" 'henkan-nyuuryoku-mode) (set-key 'hankaku-eisu-mode "\Nfer" 'henkan-nyuuryoku-mode) ;; ¥â¡¼¥Éɽ¼¨Ê¸»úÎóÄêµÁ (set-mode-display 'henkan-nyuuryoku-mode " Á´¤«¤Ê ") (set-mode-display 'empty-mode " Á´¤«¤Ê ") (set-mode-display 'yomi-mode " Á´¤«¤Ê ") ;; ÆÉ¤ß¥â¡¼¥É»þ (let ((mode 'yomi-mode)) (set-key mode "\Delete" 'delete-next) (set-key mode "\Backspace" 'delete-previous) (set-key mode "\F6" 'hiragana) (set-key mode "\F7" 'katakana) (set-key mode "\F8" 'hankaku) (set-key mode "\F9" 'romaji) (set-key mode "\Down" 'kakutei) (set-key mode "\Return" 'kakutei) (set-key mode "\Xfer" 'henkan) ) ;; ñ¸õÊä¥â¡¼¥É»þ (let ((mode 'tankouho-mode)) (set-key mode "\F6" 'hiragana) (set-key mode "\F7" 'katakana) (set-key mode "\F8" 'hankaku) (set-key mode "\F9" 'romaji) (set-key mode "\Return" 'kakutei) (set-key mode "\Xfer" 'henkan) (set-key mode "\S-Right" '(shinshuku-mode extend)) (set-key mode "\S-Left" '(shinshuku-mode shrink)) ) ;; ʸ»ú¼ï¥â¡¼¥É»þ (let ((mode 'mojishu-mode)) (set-key mode "\F6" 'hiragana) (set-key mode "\F7" 'katakana) (set-key mode "\F8" 'hankaku) (set-key mode "\F9" 'romaji) (set-key mode "\Return" 'kakutei) ) ;; °ìÍ÷¸õÊä¥â¡¼¥É»þ (let ((mode 'ichiran-mode)) (set-key mode "\S-Xfer" 'backward) (set-key mode "\Backspace" 'backward) (set-key mode "\Xfer" 'forward) (set-key mode "\Down" 'kakutei) (set-key mode "\S-Right" '(quit shinshuku-mode extend)) (set-key mode "\S-Left" '(quit shinshuku-mode shrink)) ) ;; µ­¹æÆþÎϥ⡼¥É»þ (let ((mode 'kigou-mode)) (set-key mode "\S-Xfer" 'backward) (set-key mode "\Backspace" 'backward) (set-key mode "\Xfer" 'forward) (set-key mode "\Down" 'kakutei) ) ;; ¿­½Ì¥â¡¼¥É»þ (let ((mode 'shinshuku-mode)) (set-key mode "\F6" '(henkan hiragana)) (set-key mode "\F7" '(henkan katakana)) (set-key mode "\F8" '(henkan hankaku)) (set-key mode "\F9" '(henkan romaji)) ) ;; ¥·¥ó¥Ü¥ë¤ÎÄêµÁ (defsymbol ?, "¡¢" "¡¤" ?. "¡£" "¡¥") (defsymbol ?[ "¡Ö" "¡Î" ?] "¡×" "¡Ï") (defsymbol ?/ "¡¦" "¡¿" ) Canna37p3/misc/is.c0100644000076500001200000001747607554213610013401 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* ¤³¤Î¥×¥í¥°¥é¥à¤Ï¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ÇÆþÎϤµ¤ì¤ë XFER¡¢¢¬¢­¢ª¢«¡¢F1¡¢ F2¡¢PF1¡¢PF2¡¢HELP¡¢¤Ê¤É¤Î¥­¡¼¤òŬÅö¤Ê£É£Ä¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à ¤Ç¤¢¤ë¡£É½¤ò½àÈ÷¤·¤Æ¤ª¤¤¤Æ initIS ¤ò¸Æ¤Ù¤Ð¡¢¤¢¤È¤Ï identifySequence ¤ò»È¤¦¤³¤È¤Ë¤è¤ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òǧ¼±¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¾ÜºÙ¤Î»È¤¤Êý¤Ï main() ¤ò»²¹Í¤Ë¤·¤ÆÍߤ·¤¤¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÏñÂΤǥ³¥ó¥Ñ ¥¤¥ë¤·¼Â¹Ô²Äǽ¤Ç¤¢¤ë¡£a.out ¤Ïɸ½àÆþÎϤ«¤é¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òÆþÎÏ ¤·¡¢¡Ø¤«¤ó¤Ê¡Ù¤ÇÍѤ¤¤ë¥­¡¼£É£Ä¤òɽ¼¨¤¹¤ë¡£Ã±ÂΤǥ³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ï USED_AS_LIBRARY ¤ÎÄêµÁ¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ì¤ÐÎɤ¤¡£ $Id: is.c,v 1.1.1.1 2002/10/19 08:27:52 aida_s Exp $ */ /* #define USED_AS_LIBRARY /* ¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë */ #include typedef struct { int id; char *seq; } SeqToID; static SeqToID keywordtable[] = { {CANNA_KEY_Nfer, "&U51" }, /* nfer */ {CANNA_KEY_PF1, "&U52" }, /* PF1 */ {CANNA_KEY_PF2, "&U53" }, /* PF2 */ {CANNA_KEY_PF3, "&U54" }, /* PF3 */ {CANNA_KEY_PF4, "&U55" }, /* PF4 */ {CANNA_KEY_Up, "[A" }, /* ¢¬ */ {CANNA_KEY_Down, "[B" }, /* ¢­ */ {CANNA_KEY_Right, "[C" }, /* ¢ª */ {CANNA_KEY_Left, "[D" }, /* ¢« */ /* ddy880 */ {CANNA_KEY_Up, "OA" }, /* ¢¬ */ {CANNA_KEY_Down, "OB" }, /* ¢­ */ {CANNA_KEY_Right, "OC" }, /* ¢ª */ {CANNA_KEY_Left, "OD" }, /* ¢« */ {CANNA_KEY_PF1, "OP" }, /* PF1 */ {CANNA_KEY_PF2, "OQ" }, /* PF2 */ {CANNA_KEY_PF3, "OR" }, /* PF3 */ {CANNA_KEY_PF4, "OS" }, /* PF4 */ {CANNA_KEY_F1, "[11~" }, /* F1 */ {CANNA_KEY_F2, "[12~" }, /* F2 */ {CANNA_KEY_F3, "[13~" }, /* F3 */ {CANNA_KEY_F4, "[14~" }, /* F4 */ {CANNA_KEY_F5, "[15~" }, /* F5 */ {CANNA_KEY_F6, "[17~" }, /* F6 */ {CANNA_KEY_F7, "[18~" }, /* F7 */ {CANNA_KEY_F8, "[19~" }, /* F8 */ {CANNA_KEY_F9, "[20~" }, /* F9 */ {CANNA_KEY_F10, "[21~" }, /* F10 */ {CANNA_KEY_Nfer, "[209z" }, /* nfer */ {CANNA_KEY_Xfer, "[210z" }, /* xfer */ {CANNA_KEY_Insert, "[2~" }, /* insert */ {CANNA_KEY_Insert, "[193z" }, /* insert */ {CANNA_KEY_Help, "[28~" }, /* help */ {CANNA_KEY_Help, "[197z" }, /* help */ {CANNA_KEY_Rollup, "[5~" }, /* Roll Up */ {CANNA_KEY_Rollup, "[194z" }, /* Roll Up */ {CANNA_KEY_Rolldown, "[6~" }, /* Roll Down */ {CANNA_KEY_Rolldown, "[195z" }, /* Roll Down */ {0, 0 }, }; #define charToNum(c) charToNumTbl[(c) - ' '] static int *charToNumTbl; static int longestkeywordlen; typedef struct { int id; int *tbl; } seqlines; static seqlines *seqTbl; /* ÆâÉô¤Îɽ(¼ÂºÝ¤Ë¤Ïɽ¤Îɽ) */ static int nseqtbl; /* ¾õÂ֤οô¡£¾õÂ֤οô¤À¤±É½¤¬¤¢¤ë */ static int nseq; static int seqline; /* cfuncdef initIS -- ¥­¡¼¥·¡¼¥±¥ó¥¹¤ò¹â®¤Ë¥¹¥­¥ã¥ó¤¹¤ë¤¿¤á¤Î¥Æ¡¼¥Ö¥ë¤òºî¤ë ¹â®¥Æ¡¼¥Ö¥ë¤Ï seqTbl ¤Î¥Ý¥¤¥ó¥¿¤È¤·¤ÆºîÀ®¤µ¤ì¤ë¡£¤Þ¤¿¡¢¥­¥ã¥é¥¯¥¿¤« ¤é¿ô»ú¤Ø¤ÎÊÑ´¹ÍѤΥơ¼¥Ö¥ë¤âºîÀ®¤µ¤ì¤ë(charToNumTbl)¡£ ¤³¤ì¤Ï¥Ç¡¼¥¿ SeqToID ¤ò´ð¤Ë½é´ü²½¤µ¤ì¤ë¡£ ¹â®¥Æ¡¼¥Ö¥ë¤Ï¾õÂÖ¤ÈÆþÎϤµ¤ì¤¿¥­¡¼¤Î¥³¡¼¥É¤«¤é¼¡¤Î¾õÂÖ¤òÆÀ¤ë¤¿¤á¤Î¥Æ¡¼ ¥Ö¥ë¤Ç¤¢¤ë¡£¥·¡¼¥±¥ó¥¹¤¬½ª¤ï¤Ã¤¿»þ¤Ë¡¢¤½¤Î»þ¤Î¾õÂÖ¤Ç id ¥á¥ó¥Ð¤Ë¤½¤Î ¥·¡¼¥±¥ó¥¹¤ËÂбþ¤¹¤ë¥­¡¼¤Î¼±Ê̻Ҥ¬Æþ¤Ã¤Æ¤¤¤ë¡£¼¡¤Î¾õÂÖ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤ ¤Ê¤¤(£°¤¬Æþ¤Ã¤Æ¤¤¤ë)¤È¤­¤Ï¥·¡¼¥±¥ó¥¹¤¬½ª¤ï¤Ã¤Æ¤¤¤ë¡£¤½¤Î¤È¤­¤Ë id ¥á ¥ó¥Ð£°¤¬Æþ¤Ã¤Æ¤¤¤ë»þ¤Ï¥¤¥ê¡¼¥¬¥ë¤Ê¥·¡¼¥±¥ó¥¹¤Ç¤¢¤ë¡£ */ static initIS() { SeqToID *p; char *s; int i; seqlines seqTbls[1024]; seqTbl = (seqlines *)0; seqline = 0; nseqtbl = 0; nseq = 0; longestkeywordlen = 0; for (i = 0 ; i < 1024 ; i++) { seqTbls[i].tbl = (int *)0; seqTbls[i].id = 0; } charToNumTbl = (int *)calloc('~' - ' ' + 1, sizeof(int)); if ( !charToNumTbl ) { return 0; } /* ¤Þ¤º²¿Ê¸»ú»È¤ï¤ì¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¡£ nseq ¤Ï»È¤ï¤ì¤Æ¤¤¤ëʸ»ú¿ô¤è¤ê£±Â礭¤¤ÃͤǤ¢¤ë */ for (p = keywordtable ; p->id ; p++) { int len = 0; for (s = p->seq ; *s ; s++) { if ( !charToNumTbl[*s - ' '] ) { charToNumTbl[*s - ' '] = nseq; /* ³ÆÊ¸»ú¤Ë¥·¥ê¥¢¥ëÈÖ¹æ¤ò¿¶¤ë */ nseq++; } len ++; } if (len > longestkeywordlen) { longestkeywordlen = len; } } /* ʸ»ú¿ôʬ¤Î¥Æ¡¼¥Ö¥ë */ seqTbls[nseqtbl].tbl = (int *)calloc(nseq, sizeof(int)); if ( !seqTbls[nseqtbl].tbl ) { goto initISerr; } nseqtbl++; for (p = keywordtable ; p->id ; p++) { int line, nextline; line = 0; for (s = p->seq ; *s ; s++) { if (seqTbls[line].tbl == 0) { /* ¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤ */ seqTbls[line].tbl = (int *)calloc(nseq, sizeof(int)); if ( !seqTbls[line].tbl ) { goto initISerr; } } nextline = seqTbls[line].tbl[charToNum(*s)]; /* ¤Á¤Ê¤ß¤Ë¡¢charToNum(*s) ¤ÏÀäÂФˣ°¤Ë¤Ê¤é¤Ê¤¤ */ if ( nextline ) { line = nextline; } else { /* ºÇ½é¤Ë¥¢¥¯¥»¥¹¤·¤¿ */ line = seqTbls[line].tbl[charToNum(*s)] = nseqtbl++; } } seqTbls[line].id = p->id; } seqTbl = (seqlines *)calloc(nseqtbl, sizeof(seqlines)); if ( !seqTbl ) { goto initISerr; } for (i = 0 ; i < nseqtbl ; i++) { seqTbl[i].id = seqTbls[i].id; seqTbl[i].tbl = seqTbls[i].tbl; } return 1; initISerr: free(charToNumTbl); charToNumTbl = (int *)0; if (seqTbl) { free(seqTbl); seqTbl = (seqlines *)0; } for (i = 0 ; i < nseqtbl ; i++) { if (seqTbls[i].tbl) { free(seqTbls[i].tbl); seqTbls[i].tbl = (int *)0; } } return 0; } static finIS() /* identifySequence ¤ËÍѤ¤¤¿¥á¥â¥ê»ñ¸»¤ò³«Êü¤¹¤ë */ { int i; for (i = 0 ; i < nseqtbl ; i++) { if (seqTbl[i].tbl) free(seqTbl[i].tbl); seqTbl[i].tbl = (int *)0; } free(seqTbl); seqTbl = (seqlines *)0; free(charToNumTbl); charToNumTbl = (int *)0; } /* cvariable seqline: identifySequence ¤Ç¤Î¾õÂÖ¤òÊÝ»ý¤¹¤ëÊÑ¿ô */ #define CONTINUE 1 #define END 0 static identifySequence(c, val) char c; int *val; { int nextline; if (charToNum(c) && (nextline = seqTbl[seqline].tbl[charToNum(c)]) ) { seqline = nextline; if (*val = seqTbl[seqline].id) { seqline = 0; return END; } else { return CONTINUE; /* continue */ } } else { *val = -1; seqline = 0; return END; } } #ifndef USED_AS_LIBRARY main() { int c, code; initIS(2); /* 2 ¤Ï VT ¥³¥ó¥Ñ¥Á¥¿¡¼¥ß¥Ê¥ë */ c = getchar(); while (c != -1) { if (c == 0x1b) { char foo[8]; int n = 1; int res; foo[0] = 0x1b; do { foo[n++] = c = getchar(); res = identifySequence(c, &code); } while (res == CONTINUE); if (code != -1) { printf("<0x%x>", code); } else { int i; for (i = 0 ; i < n ; i++) { printchar(foo[i]); } } } else { printchar(c); } c = getchar(); } finIS(); } static printchar(c) char c; { if (c < 0x20) { if (c == '\n' || c == '\t' || c == '\b') { putchar(c); } else if (c == 0x1b) { printf("\\e"); } else { printf("^%c", c + '@'); } } else { putchar(c); } } #endif /* USED_AS_LIBRARY */ Canna37p3/misc/rc.canna-dist0100644000076500001200000000424507631176511015163 0ustar shinraadmin#!/bin/sh # # Copyright 1994 NEC Corporation, Tokyo, Japan. # # Permission to use, copy, modify, distribute and sell this software # and its documentation for any purpose is hereby granted without # fee, provided that the above copyright notice appear in all copies # and that both that copyright notice and this permission notice # appear in supporting documentation, and that the name of NEC # Corporation not be used in advertising or publicity pertaining to # distribution of the software without specific, written prior # permission. NEC Corporation makes no representations about the # suitability of this software for any purpose. It is provided "as # is" without express or implied warranty. # # NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN # NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # $Id: rc.canna-dist,v 1.1 2003/03/04 19:23:53 aida_s Exp $ # cannaserver=@(cannaSrvDir)/cannaserver cannakill=@(cannaKillDir)/cannakill case $1 in 'start' ) # # Start up cannaserver (kana-to-kanji conversion server). # if [ -x $cannaserver ] then if [ -S @(UnixSockDir)/@(UnixSockName) ] then $cannakill > /dev/null 2>&1 fi rm -f @(UnixSockDir)/@(UnixSockName) $cannaserver -u @(cannaOwner) -syslog && \ # In case you prefer not using syslog... # if [ ! -f @(ErrDir)/CANNA0msgs ] # then # touch @(ErrDir)/CANNA0msgs # fi # chown @(cannaOwner) @(ErrDir)/CANNA0msgs # chmod u+w @(ErrDir)/CANNA0msgs # $cannaserver -u @(cannaOwner) && \ echo 'Cannaserver started.' fi ;; 'stop' ) # # Kill cannaserver (kana-to-kanji conversion server). # if [ -x $cannakill ] then $cannakill && echo 'Cannaserver terminated.' fi ;; * ) echo usage : $0 '[ start | stop ]' >&2 exit 64 esac exit 0 Canna37p3/mkrelease.sh0100755000076500001200000000033707773337050014172 0ustar shinraadmin#!/bin/sh # $Id: mkrelease.sh,v 1.5.2.1 2003/12/27 17:15:20 aida_s Exp $ set -e set -x cp Canna.conf.dist Canna.conf autoconf259 autoheader259 rm -rf autom4te.cache cd canuum autoconf213 autoheader259 rm -rf autom4te.cache Canna37p3/OCHANGES.jp0100644000076500001200000010710107734604257013405 0ustar shinraadminËÜʸ½ñ¤Ç¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 1.2 °Ê¹ß¤ÎÊѹ¹ÅÀ¤Ë¤Ä¤¤¤Æ»þ´Ö¤ò¤µ¤«¤Î¤Ü¤ê¤Ê ¤¬¤éÀâÌÀ¤¤¤¿¤·¤Þ¤¹¡£ Version 3.7 °Ê¹ß¤Ë¤Ä¤¤¤Æ¤Ï¡¢CHANGES.jp¤ò»²¾È¤·¤Æ ¤¯¤À¤µ¤¤¡£ 0. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.6 ¤Ë¤ª¤±¤ë¥Ñ¥Ã¥Á 0.1 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë£´¤Ç¤Î½¤Àµ ¤³¤³¤Ç¤Ï¼çÍפÊÊѹ¹¤Î¤ß¤ò½Ò¤Ù¤Þ¤¹¡£¾Ü¤·¤¯¤Ï ChangeLog ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£ »ÅÍÍÊѹ¹: ¡¦¥µ¥ó¥×¥ë¤Î½é´ü²½¥Õ¥¡¥¤¥ë¤ädefault.canna¤ò³«È¯Ãæ¤Î3.7¤ÈƱÍͤι½À®¤Ë¤·¤¿¡£ ¡¦µ¯Æ°¥¹¥¯¥ê¥×¥È¤Î¥µ¥ó¥×¥ëmisc/canna¤òÇѻߤ·¤Æ¡¢¤è¤ê¸½ÂåŪ¤Êrc.canna¤Ë ÃÖ¤­´¹¤¨¤¿¡£ ¡¦¥«¥ÊÊÑ´¹»þ¤Î¼«Æ°ÅÐÏ¿¤ò»È¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£verbose.canna¤Ë¤¢¤ë¤è¤¦¤Ë¡¢ use-dictionary¤Ç:katakana "your-dictionary"¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤Ç¤³¤Îµ¡Ç½¤ò ÍøÍѤǤ­¤ë¡£ ¡¦fuzokugo.cld¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤âÀ¸À®¤â»ß¤á¤¿¡£ ¡¦lisp¤ÇÀßÄê¤Ç¤­¤ë¥­¡¼¥·¥ó¥Ü¥ë¤òÁý¤ä¤·¤¿¡£(¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¦¤ÎÂбþ¤âɬÍס£) ¥Ð¥°½¤Àµ: ¡¦Ã±¸ìÅÐÏ¿¤Î»þ¤Îñ¸ì¤ÎÊÔ½¸¤¬¤Þ¤À¤ª¤«¤·¤«¤Ã¤¿¤Î¤Ç½¤Àµ¡£ ¡¦¾ò·ï¤Ë¤è¤Ã¤ÆÊ¸Àá¤ò±ä¤Ó½Ì¤ß¤µ¤»¤¿»þ¤Ë¥µ¡¼¥Ð¤¬Íî¤Á¤ëÌäÂê¤ò½¤Àµ¡£ ¡¦cpdic¤¬Æ°¤«¤Ê¤¤ÌäÂê¤ò½¤Àµ¡£ ¡¦¥í¡¼¥Þ»ú²¾Ì¾ÊÑ´¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ëºÝ¤ÎÆÃ¼ìʸ»úÌäÂê¤ò½¤Àµ¡£ ¡¦¡Ö¤ó¡×¤ò¡Ön'¡×¤ÇÆþÎϤǤ­¤Ê¤¤ÌäÂê¤ò½¤Àµ¡£ ¡¦KC_DO¤ÎÉÔŬÀÚ¤ÊµóÆ°¤ò½¤Àµ¡£ ¡¦Ã±¸ìÅÐÏ¿¤ÎÉÊ»ì¥á¥Ë¥å¡¼¤Ç¡Ö¤½¤Î¾¡×¤òÁª¤ó¤À»þ¤ËÉÔÀµ¤Êưºî¤ò¤¹¤ëÌäÂê¤ò½¤Àµ¡£ ¡¦¤ï¤º¤«¤Ë´Ö°ã¤Ã¤¿¥Ð¥¤¥Ê¥ê¼­½ñ¤¬À¸À®¤µ¤ì¤ëÌäÂê¤ò½¤Àµ¡£ ¤½¤Î¾: ¡¦¥É¥­¥å¥á¥ó¥È¤ò½¤Àµ¤·¤¿¡£ÆÃ¤Ë¡¢doc/man/guide°Ê²¼¤ÎTeX¥É¥­¥å¥á¥ó¥È¤òÂç Éý¤Ë¹¹¿·¤·¡¢LaTeX2e¤ËÂбþ¤·¤¿Â¾¡¢¸Å¤¤µ­½Ò¤ò½¤Àµ¤·¤¿¡£ ¡¦¥µ¡¼¥Ð¤¬°Û¾ï½ªÎ»¤·¤¿ºÝ¤ËŬÀڤʽªÎ»¥³¡¼¥É¤òÊÖ¤¹¤è¤¦¤Ë¤·¤¿¡£ ¡¦¤½¤Î¾¡¢ÆâÉô¤ÎÀøºßŪ¤ÊÌäÂê¤ò½¤Àµ¤·¤¿¡£ 0.2 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë£³¤Ç¤Î½¤Àµ ¡¦man¥Ú¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤¹¤ëÌäÂê¤ò½¤Àµ¡£ ¡¦Sun¤Çcanuum¤¬Æ°¤¯¤è¤¦¤Ë¤·¤¿¡£ 0.3 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë£²¤Ç¤Î½¤Àµ ¤³¤³¤Ç¤Ï¼çÍפÊÊѹ¹¤Î¤ß¤ò½Ò¤Ù¤Þ¤¹¡£¾Ü¤·¤¯¤Ï ChangeLog ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£ ¡¦canuum ¤ò FreeWnn ¤Î uum ¤ò¥Ù¡¼¥¹¤Ë½ñ¤­´¹¤¨¡£ ¡¦¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò1.1¤ËÅý°ì¡£ ¡¦¼­½ñ¤Î¸í»ú¡¢ÉÊ»ì¤Î¸í¤ê¤ò½¤Àµ¡£ ¡¦character-based-move ¤¬ t ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢Ã±¸ìÅÐÏ¿¤ÎºÝ¤Ëñ¸ì¤ÎÊÔ½¸ ¡¡¤¬¤¦¤Þ¤¯½ÐÍè¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¡£ ¡¦TTY ¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä emacs ¤Ç¡¢¥«¡¼¥½¥ë¥­¡¼¤ä¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼ ¡¡¤òÀµ¾ï¤ËÆþÎϤǤ­¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¡£ ¡¦»ú¼ïÊÑ´¹¡¢Éôʬ³ÎÄê¤ÎºÝ¤Ë¸í¤Ã¤¿³Ø½¬¤¬¹Ô¤ï¤ì¤ëÌäÂê¤ò½¤Àµ¡£ ¡¦¸½ÂåŪ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤ËÂбþ¤µ¤»¤ä¤¹¤¤¤è¤¦¡¢ Canna.conf.dist ¤ò ¡¡½ñ¤­´¹¤¨¡£¥Ç¥Õ¥©¥ë¥È¤Î¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤ÏÊѤ¨¤Æ¤¤¤Ê¤¤¡£ ¡¦FreeBSD 5.x,OpenBSD ¤Ç¤Î¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤Î°·¤¤¤ò½¤Àµ¡£ ¡¦mkbindic ¤ÇƱ¤¸ÆÉ¤ß¤Îñ¸ìƱ»Î¤ÎÍ¥Àè½ç°Ì¤òÊѤ¨¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£ ¡¦3.6p1 ¤ÇÃ༡ÆþÎϤ¬²õ¤ì¤Æ¤¤¤¿¤Î¤ò½¤Àµ¡£ ¡¦¥Þ¥Ë¥å¥¢¥ëÎà¤ä¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥µ¥ó¥×¥ë¤ò¹¹¿·¡£ ¡¦¤½¤Î¾ºÙ¤«¤Ê¥Ð¥°½¤Àµ¡£ 0.4 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë£±¤Ç¤Î½¤Àµ ¥¯¥é¥¤¥¢¥ó¥È¤«¤éÉÔÀµ¤Ê¥ê¥¯¥¨¥¹¥È¤òÁ÷¤é¤ì¤ë¤È¡¢¥Ð¥Ã¥Õ¥¡¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò µ¯¤³¤·¤¿¤ê¡¢ÆâÉô¾ðÊó¤¬Ï³¤ì¤¿¤ê¤¹¤ë¤È¤¤¤¦¥»¥­¥å¥ê¥Æ¥£ÌäÂê¤ò½¤Àµ¡£ 1. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.6 ¤Ë¤ª¤±¤ëÊѹ¹ÅÀ ¡Ø¤«¤ó¤Ê¡ÙVersion 3.6 ¤Ç¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 3.5 ¦Â2ÈÇ ¤ËÂФ·¤Æ°Ê²¼¤Ë ¼¨¤¹¤è¤¦¤Êµ¡Ç½³ÈÄ¥¡¢Êѹ¹¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£ 1.1 ½¾Íè¤È¸ß´¹À­¤Î¤Ê¤¤Êѹ¹ cannaserver¤Ë-inet¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æµ¯Æ°¤·¤Ê¤¤¸Â¤ê¡¢TCPÀܳ¤Ï¼õ¤±ÉÕ¤±¤º¡¢ UNIX¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ç¤ÎÀܳ¤Î¤ß¤ò¼õ¤±ÉÕ¤±¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£¤³¤ì¤Ï¡¢ Debian GNU/Linux¤Ç¤Î½¤Àµ¤ò¼è¤êÆþ¤ì¤¿¤â¤Î¤Ç¤¹¡£¤Ê¤ª¡¢UNIX¥É¥á¥¤¥ó¤Î¾ì¹ç¡¢ ¥µ¡¼¥Ð̾¤Ïunix[:ÈÖ¹æ]¤È»ØÄꤷ¤Þ¤¹¡£ 1.2 ¥»¥­¥å¥ê¥Æ¥£½¤Àµ ¥¯¥é¥¤¥¢¥ó¥È¤«¤éÈó¾ï¤ËŤ¤¥æ¡¼¥¶Ì¾¤òÁ÷¤é¤ì¤ë¤È¡¢¥Ð¥Ã¥Õ¥¡¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ ¤òµ¯¤³¤¹¤È¤¤¤¦ÌäÂê¤ò½¤Àµ¤·¤Þ¤·¤¿¡£ 1.3 ¼­½ñ¡¢Ê¸Ë¡¥Ç¡¼¥¿¤Î½¤Àµ 3.5 ¦Â2ÈÇ¥ê¥ê¡¼¥¹¸å¤Ë¸ø³«¤µ¤ì¤¿¡¢¼íÌî»á¤ª¤è¤ÓÆ£»Þ»á¤Ë¤è¤ë¥¢¥ó¥ª¥Õ¥£ ¥·¥ã¥ëʸˡ¥Ñ¥Ã¥Á¤òŬÍѤ·¤Þ¤·¤¿¡£¤Þ¤¿¡¢pubdic+¤Î¸í»ú¤ò¿ô²Õ½ê½¤Àµ¤·¤Þ ¤·¤¿¡£ 1.4 ÊÑ´¹¥¨¥ó¥¸¥ó¤Î¶¯²½ ¼¡¤Îµ¡Ç½¤ò¼Â¸½¤¹¤ë¡¢Æ£»Þ»á¤Ë¤è¤ë¥¢¥ó¥ª¥Õ¥£¥·¥ã¥ë¥Ñ¥Ã¥Á¤òŬÍѤ·¤Þ¤·¤¿¡£ ¡¦3¤Ä°Ê¾åÉÕ°¸ì¤¬Àܳ¤·¤¿»þ¤Ë¡¢ÆüËܸì¤È¤·¤Æ¤¢¤êÆÀ¤Ê¤¤É½¸½¤¬À¸¤¸¤ë¤Î¤ò ÂǤÁ¾Ã¤¹¥í¥¸¥Ã¥¯¤òÄɲ乤롣 ¡¦»È¤ï¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿Ê¸Àá¶èÀÚ¤ê³Ø½¬¤Îµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë¡£ ¤³¤Î¾¡¢Debian GNU/Linux¤Ç¹Ô¤ï¤ì¤Æ¤¤¤¿¡¢ÆÉ¤ß¤¬°ìʸ»ú¤Îñ¸ì¤Ç¤ÏÍ¥ÀèÅÙ¤ò ̵»ë¤¹¤ë½¤Àµ¤ò²Ã¤¨¤Æ¤¤¤Þ¤¹¡£(¤³¤ì¤ÏÆ£»Þ»á¤¬Canna-ml¤Ëή¤·¤¿¥Ñ¥Ã¥Á¤Î¤Ç¡¢ Åý¹ç¥Ñ¥Ã¥Á¤«¤éÈ´¤±¤Æ¤¤¤¿¤â¤Î¤Ç¤¹¡£)¤Þ¤¿¡¢Æ£»Þ»á¤Î¥Ñ¥Ã¥Á¤Ç¤Ï¡¢mkdic¤Ç ºî¤Ã¤¿¼­½ñ¤Ç¤ÏʸÀá¶èÀÚ¤ê³Ø½¬¤¬¸ú¤«¤Ê¤¤¤Î¤Ç¡¢¤½¤ì¤â¸ú¤¯¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ 1.5 ¤½¤Î¾¤Î¼ç¤ÊÊѹ¹ (1) cannaserver¤ÎÆÃ¸¢¤ÎÀßÄê -u¥ª¥×¥·¥ç¥ó¤Ç¡¢cannaserver¤¬¤É¤Î¥æ¡¼¥¶¤Î¸¢¸Â¤Çưºî¤¹¤ë¤«¤ò»ØÄê¤Ç¤­¤ë ¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ì¤ÏDebian GNU/Linux¤Ç¤Î½¤Àµ¤ò¼è¤êÆþ¤ì¤¿¤â¤Î¤Ç¤¹¡£ (2) ÆüËܸìman¥Ú¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ë ½¾Íè¤Ï¡¢ÆüËܸì¤È±Ñ¸ì¤Î¤É¤Á¤é¤«¤Îman¥Ú¡¼¥¸¤·¤«¥¤¥ó¥¹¥È¡¼¥ë½ÐÍè¤Þ¤»¤ó ¤Ç¤·¤¿¤¬¡¢Î¾Êý¤Îman¥Ú¡¼¥¸¤¬Æþ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ 2. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.5 ¦ÂÈǤˤª¤±¤ëÊѹ¹ÅÀ 2.1 ¦Â2ÈǤǤÎÊѹ¹ÅÀ ¡¦C-j ¤ÎÌäÂêÅÀ¤Î½¤Àµ C-j ¤òÉôʬ³ÎÄ굡ǽ¤Ë¤ï¤ê¤¢¤Æ¤¿¤¬¡¢ÆÉ¤ß¥â¡¼¥É¤ÇºÇ¸åÈø¤Ë¥«¡¼¥½¥ë¤¬¤¢ ¤ë¾õÂÖ¤ÇÉôʬ³ÎÄꤹ¤ë¤È¡¢¶õ¥â¡¼¥É¤ËÌá¤é¤Ê¤¤¤ÇÆÉ¤ß¥â¡¼¥É¤Î¤Þ¤Þ¤Ç¤¢¤ë ¤È¸À¤¦ÌäÂ꤬¤¢¤Ã¤¿¡£¶ñÂÎŪ¤Ë¤Ï¡Ö¤ï¤¿¤· C-j C-b¡×¤Î¤è¤¦¤Ë Emacs ¾å¤Ç ÆþÎϤ·¤¿¤È¤­¡¢C-b ¤¬ Emacs ¤Î¥«¡¼¥½¥ë°Üư¤ËÍѤ¤¤é¤ì¤ì¤º C-b ¼«¿È¤¬ ¤µ¤ì¤Æ¤·¤Þ¤¦¤È¤¤¤¦ÌäÂ꤬¤¢¤Ã¤¿¡£ ¡¦Áá°ðÅÄÂç³Ø¤Î¼íÌî»á¤ª¤è¤ÓËÌΦÀèüÂç³Ø±¡Âç³Ø¤ÎÆ£»Þ»á¤Ë¤è¤ë¥¢¥ó¥ª¥Õ¥£ ¥·¥ã¥ëʸˡ¥Ñ¥Ã¥Á¤òŬÍѤ·¤¿¡£ ¡¦C-k ¤ä C-d ¤Î½èÍý¤Î½¤Àµ C-k ¤ä C-d ¤Î¤è¤¦¤ÊÀèÆ¬°ìʸ»ú¡¢ËöÈø°ìʸ»ú¤ò¼è¤ê½Ð¤¹½èÍý¤ò¹Ô¤¦¾ì¹ç¤Ë¡¢ ÆâÉô¤Ë¤«¤«¤¨¤Æ¤¤¤ëÆÉ¤ßÉôʬ¤òÀèÆ¬°ìʸ»ú/ËöÈø°ìʸ»ú¤Ê¤É¤Ë¤·¤Æ¤¤¤¿¤¬¡¢ ¤³¤ì¤À¤È¥¢¥ó¥É¥¥¤Ç¤­¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢¤³¤Î½èÍý¤ò¤ä¤á¤¿¡£¤¿¤À¤·¡¢¸½¾õ¤Ç ¤Ï C-k ¤ä C-d ¸å¤Ë self-insert(a ¤Ê¤É¤òÆþÎÏ)¤¹¤ë¤È C-k ¤ä C-d ¤Î¸ú ²Ì¤¬Ìµ¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤È¸À¤¦ÌäÂ꤬¤¢¤ë¡£ ¡¦¥é¥¤¥Ö¥é¥ê¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ñ¥¹¤ò /usr/local/lib ¤«¤é /usr/lib ¤ËÌᤷ ¤¿¡£ ¡¦OS/2 ¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£¤³¤ÎÉôʬ¤ÏÆüËÜ IBM ¤Î¾åÌ¤ó ¤Ë¤è¤ë½¤Àµ¤Ç¤¹¡£ ¡¦Linux ¤¬ select Éôʬ¤Ç CPU ¤ò°Û¾ï¤Ë¾ÃÈñ¤·¤Æ¤·¤Þ¤¦ÌäÂê¤ò²ò·è¤·¤¿¡£ ¡¦NetBSD ¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ ¡¦keishiki.t ¤ä katakana.t ¤Ê¤É¤Î­¤ê¤Ê¤«¤Ã¤¿¼­½ñ¤ÎÄɲᣠ¡¦¦Â1¤Ç canuum ¤¬¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Ê¤«¤Ã¤¿·ï¤ò½¤Àµ ¡¦SunOS 4.1 ¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¤Í¤é¤ì¤ëµ­½Ò¤ò¼è¤ê½ü¤¤¤¿¡£ ¡¦¤½¤Î¾¾®¤µ¤ÊÌäÂê¤Î½¤Àµ 3. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.5 ¤Ë¤ª¤±¤ëÊѹ¹ÅÀ ¡Ø¤«¤ó¤Ê¡ÙVersion 3.5 ¤Ç¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 3.4 ¤ËÂФ·¤Æ°Ê²¼¤Ë¼¨¤¹¤è¤¦ ¤Êµ¡Ç½³ÈÄ¥¡¦Êѹ¹¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£ (1) ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î²þÁ± (2) ¥Õ¥¡¥¤¥ë³ÈÄ¥»Ò¤ÎÊѹ¹ (3) ¼­½ñ¤ÎÊѹ¹ (4) ¥¹¥ê¥à¤Ê Canna ¤òºî¤ë¤¿¤á¤Î¥Õ¥é¥°¤ÎÄɲà (5) µì·Á¼°¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È¤È¤ê¤ä¤á (6) SJ3, Wnn ¤Î¥µ¡¼¥Ð¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤Î¥µ¥Ý¡¼¥È¤È¤ê¤ä¤á (7) ¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¤Î¥µ¥Ý¡¼¥È¤È¤ê¤ä¤á (8) ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î²þÁ± (1),(2) ¤ÎÊѹ¹¤Ï¡¢¼ç¤Ë Canna for Windows 95 ³«È¯¤Ëȼ¤¦Êѹ¹¤Ç¤¹¡£ 3.1 ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (1) ¸õÊä°ìÍ÷¤Î¥Ú¡¼¥¸¥¹¥¯¥í¡¼¥ë ¸õÊä°ìÍ÷¤ÎÆó¼¡¸µÉ½¼¨»þ¤Ë¡¢²èÌ̤˼ý¤Þ¤êÀÚ¤é¤Ê¤¤¸õÊä¤Ë´Ø¤·¤Æ¥Ú¡¼¥¸Ã±°Ì ¤Î¥¹¥¯¥í¡¼¥ë¥¢¥Ã¥×¥¹¥¯¥í¡¼¥ë¥À¥¦¥ó¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (2) °ìʸ»úÁªÂòµ¡Ç½¤ÎÄɲà ʸÀáÆâ¤ÎÀèÆ¬¤¢¤ë¤¤¤ÏËöÈø¤Î°ìʸ»ú¤À¤±¤òÁªÂò¤¹¤ëµ¡Ç½¤ò¤Ä¤±¤Þ¤·¤¿¡£C-k ¤ª¤è¤Ó C-d ¤Ë³ä¤êÅö¤Æ¤Æ¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ëȼ¤¤¡¢ÊÑ´¹Ãæ¤Î C-k ¤Îµ¡Ç½(Éô ʬ³ÎÄê¤ò¹Ô¤¤»Ä¤êÉôʬ¤òÆÉ¤ß¤ËÌ᤹)¤Ï C-k ¤Ø¤Î³äÅö¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£°ì ʸ»úÁªÂòµ¡Ç½¤ÏÎ㤨¤Ð¡¢¡Öľ½Ð(¤Á¤ç¤¯¤·¤å¤Ä)¡×¤È¤¤¤¦Ã±¸ì¤¬¼­½ñ¤Ë̵¤«¤Ã ¤¿»þ¤Ë¡¢¡Ö¤Á¤ç¤¯¤»¤Ä¤¬¤¤¤·¤å¤Ä<ÊÑ´¹>¡×¢ª¡ÖľÀܳ°½Ð¡×¢ªC-k,C-f,C-d¢ª ¡Öľ½Ð¡×¤È¤·¤ÆÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ C-k ¤ò°ÊÁ°¤ÈƱ¤¸°ÕÌ£¤ÇÍøÍѤ¹¤ë¾ì¹ç¤Ï°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤¡£ (set-key 'tankouho-mode "\C-k" '(bubun-kakutei quit)) (set-key 'ichiran-mode "\C-k" '(bubun-kakutei quit)) (3) bubun-kakutei µ¡Ç½ bubun-kakutei µ¡Ç½¤òÄɲä·¤Þ¤·¤¿¡£¤³¤ì¤Ï¥«¥ì¥ó¥È¥«¡¼¥½¥ë¥Ý¥¸¥·¥ç¥ó¤Î Á°¤Þ¤Ç¤ÎÎΰè¤ò³ÎÄꤵ¤»¤ë¤â¤Î¤Ç¤¹¡£¥­¡¼¤Ï C-j ¤Ë³ä¤êÅö¤Æ¤Þ¤·¤¿¡£ (4) ʸ»ú¼ïÊÑ´¹¥Ð¥ê¥¨¡¼¥·¥ç¥ó¤ÎÄɲà ¤«¤Êʸ»ú»ú¼ï¤À¤±¤Ç¤°¤ë¤°¤ë»ú¼ïÊÑ´¹¤¹¤ë kana-rotate¡¢±Ñ¿ôʸ»ú¤À¤±¤Ç¤° ¤ë¤°¤ë»ú¼ïÊÑ´¹¤¹¤ë romaji-rotate¡¢Âçʸ»ú¾®Ê¸»ú¥­¥ã¥Ô¥¿¥é¥¤¥º¤òÁªÂò¤¹ ¤ë case-rotate µ¡Ç½¤òÆþ¤ì¤Þ¤·¤¿¡£ (5) ʸ»ú¼ïÊÑ´¹¸å¤Îưºî¤¬¥«¥¹¥¿¥Þ¥¤¥º²Äǽ¤Ë ʸ»ú¼ïÊÑ´¹¸å¡¢Ê¸»ú¼ïÊÑ´¹Éôʬ¤ò³ÎÄꤷ¤Ê¤¤¤Ç¼¡¤ÎÆþÎϤò¹Ô¤¦¤«¤É¤¦¤«¤ò»Ø Äꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£»ØÄꤹ¤ë¤¿¤á¤ÎÊÑ¿ô¤Ï mojishu-continue ¤Ç¡¢t ¤Þ¤¿¤Ï nil ¤ò»ØÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï t ¤Ç¡¢ Version 3.4 ¤Î¤È¤­¤Î»ÅÍÍ¤ÈÆ±¤¸¡Ö³ÎÄꤷ¤Ê¤¤¤Ç¼¡¤ÎÆþÎϤò¹Ô¤¦¡×¤Ç¤¹¡£ (6) defsymbol ¤Î³ÈÄ¥ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÊä½õ¤ò¹Ô¤¦ defsymbol µ¡Ç½¤ò³ÈÄ¥¤·¤Þ¤·¤¿¡£ÆþÎÏ¥­¡¼ ¤ËÂФ·¤ÆÂ¾¤Î¥­¡¼¤¬ÆþÎϤµ¤ì¤¿¤è¤¦¤Ë¿¶Éñ¤ï¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ ¤¹¡£ (Îã) F1 ¤ò²¡¤·¤¿¤éÁ´³Ñ¥¹¥Ú¡¼¥¹¤òÆþÎϤ¹¤ë¡£¤½¤Î»þÆþÎÏ¥­¡¼¤Ï¤¢¤¿¤«¤â ¥¹¥Ú¡¼¥¹¥­¡¼¤Ç¤¢¤Ã¤¿¤«¤Î¤è¤¦¤Ë¤¹¤ë¡£ (defsymbol ?\F1 ?\Space "¡¡") (7) defsymbol ¤Îưºî¤Î¼ã´³¤ÎÊѹ¹ defsymbol ¤·¤Æ¤¢¤ëʸ»ú¤Ë¤Ä¤¤¤Æ¤Ï¸õÊä°ìÍ÷ɽ¼¨¤ò¹Ô¤Ã¤¿»þ¤Ë¤Ï¤«¤Ê¤é¤º defsymbol ¤Ç¤ÎÄêµÁ¤Ë¤è¤ë°ìÍ÷¤¬½Ð¤Æ¤¤¤Þ¤·¤¿¤¬¡¢defsymbol ¤Ç¸õÊ䤬°ì¤Ä ¤·¤«¤Ê¤¤¤È¤­¤Ï´Á»ú¤Î°ìÍ÷¤¬½Ð¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (8) ¸õÊä°ìÍ÷¥â¡¼¥É¤Ë¤ª¤±¤ëÁàºî¤Î³ÈÄ¥ ʸÀá¿­¤Ð¤·(C-o)¤Ê¤É¡¢¸õÊä°ìÍ÷¥â¡¼¥É¤Ç¤ÏľÀÜÍѤ¤¤é¤ì¤Ê¤¤¥­¡¼¤òÆþÎϤ· ¤¿¤È¤­¤Ë¡¢¸õÊä°ìÍ÷¤ò½ªÎ»¤·¡¢Ã±¸õÊä¥â¡¼¥É¤Ç¤½¤Îµ¡Ç½¤¬¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ë ¤Ê¤ê¤Þ¤·¤¿¡£ (9) Capitalize µ¡Ç½¤Î½¤Àµ Capitalize µ¡Ç½¤ò½¤Àµ¤·¤Þ¤·¤¿¡£Î㤨¤Ð¡¢new york ¤ËÂФ·¤Æ¤Ï New York ¤È¤Ê¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ 3.2 ¥Õ¥¡¥¤¥ë³ÈÄ¥»Ò¤ÎÊѹ¹ ³Æ¼ï¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤ò Canna for Windows 95 ¤Ë¹ç¤ï¤»¤Æ¡¢°Ê²¼¤Î¤è¤¦¤Ë Êѹ¹¤·¤Þ¤·¤¿¡£ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë *.kp ¢ª *.cbp ¥Ð¥¤¥Ê¥ê¼­½ñ *.d ¢ª *.cbd ¥Æ¥­¥¹¥È¼­½ñ *.t ¢ª *.ctd ³Ø½¬¥Õ¥¡¥¤¥ë *.fq ¢ª *.cld 3.3 ¼­½ñ¤ÎÊѹ¹ (1) pubdic+ ¤ÎÍøÍÑ pubdic+ ¤Î¼­½ñ¤ò´Êñ¤ËÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (2) ¥æ¡¼¥¶ÍÑ¥µ¥ó¥×¥ë¼­½ñ¤È¥·¥¹¥Æ¥à¼­½ñ¤ÎÅý¹ç ¥æ¡¼¥¶¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê(user/user) ¤Ë¥µ¥ó¥×¥ë¼­½ñ¤¬¤¤¤¯¤Ä¤«ÃÖ¤¤¤Æ¤¢¤ê ¤Þ¤·¤¿¤¬¡¢¤³¤ì¤é¤Î¼­½ñ¤ò¥·¥¹¥Æ¥à¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê(canna)¤Ë°Üư¤·¤Þ¤· ¤¿¡£ 3.4 ¥¹¥ê¥à¤Ê Canna ¤òºî¤ë¤¿¤á¤Î¥Õ¥é¥°¤ÎÄɲà µì¥×¥í¥È¥³¥ë¸ß´¹¤Î¤¿¤á¤Î¥³¡¼¥É¤ä¡¢¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ë¤ª ¤±¤ë¥á¥Ë¥å¡¼Éôʬ¤Î¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¥¹¥¤¥Ã¥Á¤Çºï½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è ¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢µì¥×¥í¥È¥³¥ë(¡Ø¤«¤ó¤Ê¡ÙVersion 1.x ¤Î¥×¥í¥È¥³¥ë)¤Ïºï½ü¡¢¥á¥Ë¥å¡¼¤Ï¤½¤Î¤Þ¤Þ¤È¤Ê¤ê¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤êµì¥×¥í¥È¥³¥ë¤·¤«Ï令ʤ¤¥¯¥é¥¤¥¢¥ó¥È¤ä¥µ¡¼¥Ð¤È¤ÎÀܳ¤¬¤Ç¤­ ¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¡Ø¤«¤ó¤Ê¡ÙVersion 1.x ¤Î¤â¤Î¤È¤ÎÄÌ¿®¤ò¹Ô¤Ê¤¦¾ì¹ç¤Ï¡¢µì ¥×¥í¥È¥³¥ë¤âÍøÍѤǤ­¤ë¤è¤¦¤Ë Canna.conf ¤ò½ñ´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£ 3.5 µì·Á¼°¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È¤Î¼è¤ê¤ä¤á °Ê²¼¤Îµì·Á¼°¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È¤ò¤È¤ê¤ä¤á¤Þ¤·¤¿¡£ *.iroha ¡Ä µì·Á¼°¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë *.rdef ¡Ä µì·Á¼°¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¥½¡¼¥¹ *.rdic ¡Ä µì·Á¼°¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë ¤³¤ì¤Ë¤È¤â¤Ê¤¤¡¢mkromdic ¤Î -n ¥ª¥×¥·¥ç¥ó¤â»ÈÍѤǤ­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ 3.6 SJ3, Wnn ¤Î¥µ¡¼¥Ð¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¤Î¥µ¥Ý¡¼¥È¤È¤ê¤ä¤á RKSj3(SJ3 ¥µ¡¼¥Ð¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê)¡¢RKWnn(Wnn ¤Î jserver ¥¢¥¯¥»¥¹¥é ¥¤¥Ö¥é¥ê)¤Î¥µ¥Ý¡¼¥È¤ò¤È¤ê¤ä¤á¤Þ¤·¤¿¡£ 3.7 ¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¤Î¥µ¥Ý¡¼¥È¤È¤ê¤ä¤á °Ê²¼¤Î¥Ä¡¼¥ë¡¢¥×¥í¥°¥é¥à¤Î¥µ¥Ý¡¼¥È¤ò¤È¤ê¤ä¤á¤Þ¤·¤¿¡£ canvert ¡Ä ¡Ø¤«¤ó¤Ê¡ÙVersion 1.x ¤Î¥Ð¥¤¥Ê¥ê¼­½ñ¤ä¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡ ¥¤¥ë¤ò Version 2.1 °Ê¹ß¤Î·Á¼°¤Î¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¥Ä¡¼¥ë¡£ dpwdic ¡Ä ¾åµ­ canvert ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¼­½ñ¥³¥ó¥Ð¡¼¥¿¡£ itoc ¡Ä ¾åµ­ canvert ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¥³¥ó¥Ð¡¼ ¥¿¡£ 3.8 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¥¤¥ó¥¿¥Õ¥§¡¼¥¹ ¸õÊä°ìÍ÷¤Î¥³¡¼¥ë¥Ð¥Ã¥¯ API ¤ò³ÈÄ¥¤ª¤è¤ÓÊѹ¹¤·¤Þ¤·¤¿¡£¤³¤Î API ¤Ï Windows 95 ÍÑ IME ¤Î¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£kinput2 ¤â¤³¤Î API ¤òÍøÍѤ·¤Æ¤¤ ¤Þ¤¹¤¬¡¢kinput2v2 fix2 ¤Ë¤ÆÂбþºÑ¤Ç¤¹¡£ 4. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.4 ¤Ë¤ª¤±¤ëÊѹ¹ÅÀ ¡Ø¤«¤ó¤Ê¡ÙVersion 3.4 ¤Ç¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 3.3 ¤ËÂФ·¤Æ°Ê²¼¤Ë¼¨¤¹¤è¤¦ ¤Êµ¡Ç½³ÈÄ¥¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£ (1) ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î²þÁ± (2) ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄɲà (3) ¤½¤Î¾¤ÎÊѹ¹ ËÜÊѹ¹¤Ï¼ç¤Ë Canna for Windows 3.1 ³«È¯¤Ëȼ¤¦Êѹ¹¤Ç¤¹¡£ 4.1 ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (1) ¥«¥¿¥«¥Ê¼«Æ°ÅÐÏ¿ Á´³Ñ¥«¥¿¥«¥Ê¤Ë»ú¼ïÊÑ´¹¤·¤Æ³ÎÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥«¥¿¥«¥Ê¤ò¼«Æ°ÅÐÏ¿¤¹¤ë ¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¼«Æ°ÅÐÏ¿¤Î»ØÄê¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë ¤òÍøÍѤ·¤Æ°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ (use-dictionary :katakana "katakana") (2) ¥³¡¼¥É¼ïÊ̤λØÄê ¥³¡¼¥ÉÊÑ´¹¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¥³¡¼¥ÉÆþÎϤò¹Ô¤¦¾ì¹ç¡¢JIS ¥³¡¼¥É(jis)¡¢¥· ¥Õ¥È JIS ¥³¡¼¥É(sjis)¡¢¶èÅÀ¥³¡¼¥É(kuten)¤Î 3 ¤Ä¤Î¥³¡¼¥É¼ïÊ̤Τ¤¤º¤ì ¤«¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¥³¡¼¥É¼ïÊ̤λØÄê¤Ï¡¢¥«¥¹¥¿ ¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÍøÍѤ·¤Æ°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£ (setq code-input "jis") ¤¿¤À¤·¡¢¥á¥Ë¥å¡¼¤òÍøÍѤ·¤¿¥³¡¼¥ÉÆþÎϤϡ¢JIS ¥³¡¼¥É¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ 4.2 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (1) KC_SETUSERINFO KC_SETUSERINFO ¤Ë¤è¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¥æ¡¼¥¶Ì¾¤Ê¤É¤Î»ØÄ꤬¹Ô¤¨ ¤Þ¤¹¡£ (2) KC_CHANGESERVER KC_CHANGESERVER ¤Ë¤è¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤éÀܳ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤òÊѹ¹ ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ 4.3 ¤½¤Î¾ ¥á¥Ë¥å¡¼É½¼¨¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¹Ô¤Ã¤¿¤ê¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò¥Ð¥¤ ¥Ê¥ê·Á¼°¤Ë¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ 5. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.3 ¤Ë¤ª¤±¤ëÊѹ¹ÅÀ ¡Ø¤«¤ó¤Ê¡ÙVersion 3.3 ¤Ç¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 3.2 ¤ËÂФ·¤Æ°Ê²¼¤Ë¼¨¤¹¤è¤¦ ¤Êµ¡Ç½³ÈÄ¥¡¦Êѹ¹¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£ (1) ¥¯¥é¥¤¥¢¥ó¥È¥µ¡¼¥Ð´ÖÄÌ¿®¥×¥í¥È¥³¥ë¤ÎÄɲà (2) ¼­½ñ¤ÎƱ´ü½èÍý¤Î²þÁ± (3) ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î²þÁ± (4) premountdics ¥µ¥Ý¡¼¥È¤È¤ê¤ä¤á (5) ¤½¤Î¾ 5.1 ¥¯¥é¥¤¥¢¥ó¥È¥µ¡¼¥Ð´ÖÄÌ¿®¥×¥í¥È¥³¥ë¤ÎÄɲà ¥µ¡¼¥Ð¤Î½ªÎ»Í×µá¤òÁ÷¤ë¥×¥í¥È¥³¥ë¤òÄɲä·¤Þ¤·¤¿¡£Version 3.2 ¤Þ¤Ç¤Ï¡¢ ¥µ¡¼¥Ð¤Î½ªÎ»½èÍý¤Ï¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ç¹Ô¤Ã¤Æ¤ª¤ê¡¢¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Î̵ͭ ¤Ç¥µ¡¼¥Ð¤Îµ¯Æ°¾õÂÖ¤òȽÃǤ·¤Æ¤¤¤¿¤¿¤á¡¢¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤È¡¢¥µ¡¼ ¥Ð¤¬µ¯Æ°¤µ¤ì¤Æ¤¤¤Æ¤âµ¯Æ°¤·¤Æ¤¤¤Ê¤¤¤â¤Î¤ÈȽÃǤµ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ Version 3.3 ¤«¤é¤Ï¡¢¥µ¡¼¥Ð¤Î½ªÎ»½èÍý¤Ï¥×¥í¥È¥³¥ë¤ÇÍ׵᤹¤ë¤è¤¦¤Ë¤Ê¤ê¡¢ ³Î¼Â¤Ë¥µ¡¼¥Ð¤Î½ªÎ»½èÍý¤¬¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤³¤Î¥×¥í¥È¥³¥ë¤Î¥µ¥Ý¡¼¥È¤Ëȼ¤¤¡¢¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È¤òÃæ»ß¤·¤Þ¤· ¤¿¡£ 5.2 ¼­½ñ¤ÎƱ´ü½èÍý¤Î²þÁ± ¥µ¡¼¥Ð¤¬°ìÄê»þ´Ö¥¢¥¤¥É¥ë¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¡¢¥µ¡¼¥Ð¦¤Ç¼­½ñ¤ÎƱ´ü½èÍý¤ò¹Ô ¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ 5.3 ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î²þÁ± (1) ñ¸ìÅÐÏ¿¥á¥Ë¥å¡¼¤Î²þÁ± ¥á¥Ë¥å¡¼¤òÍøÍѤ·¤¿Ã±¸ìÅÐÏ¿»þ¤Ëɽ¼¨¤µ¤ì¤ëÉʻ줪¤è¤Ó¾ÜºÙ¤ÊÉÊ»ì·èÄê¤Î¤¿ ¤á¤Î¼ÁÌä¤ò¸«Ä¾¤·¡¢¤ï¤«¤ê¤ä¤¹¤¯¤·¤Þ¤·¤¿¡£ (2) ñ¸ìºï½ü¥á¥Ë¥å¡¼¤Î²þÁ± ¥á¥Ë¥å¡¼¤òÍøÍѤ·¤¿Ã±¸ìºï½ü»þ¤Ë¡¢Version 3.2 ¤Þ¤Ç¤Ï¼­½ñ¤òÁªÂò¤·¤¿¸å¤Ë¡¢ ÆÉ¤ß¤òÆþÎϤ·¤ÆÃ±¸ì¤òºï½ü¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢Version 3.3 ¤«¤é¤ÏÆÉ¤ß¤òÆþÎÏ ¤¹¤ë¤È¡¢¤½¤ÎÆÉ¤ß¤ò»ý¤Äñ¸ì¤¬É½¼¨¤µ¤ì¡¢ºï½ü¤¹¤ëñ¸ì¤òÁªÂò¤·¤¿¸å¤Ë¼­½ñ ¤òÁªÂò¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢°ÊÁ°¤Ïºï½ü¤·¤¿¤¤Ã±¸ì¤¬ÅÐÏ¿ ¤µ¤ì¤Æ¤¤¤ë¼­½ñ¤¬¤ï¤«¤é¤Ê¤¤¤Èñ¸ìºï½ü¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤¬¡¢Ã±¸ì¤µ¤¨»ØÄꤹ ¤ì¤Ðºï½ü¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (3) ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¸«Ä¾¤· Ä󶡤·¤Æ¤¤¤ë¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤Æ¸«Ä¾¤·¡¢ÁàºîÀ­¤òÊѹ¹¤·¤Þ¤·¤¿¡£ 5.4 premountdics ¥µ¥Ý¡¼¥È¤È¤ê¤ä¤á premountdics ¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È¤ò¤È¤ê¤ä¤á¤Þ¤·¤¿¡£ 5.5 ¤½¤Î¾ ¥¹¥¿¥ó¥É¥¢¥í¥ó¥¿¥¤¥×¤È¤·¤Æ¤â make ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ 6. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.2 ¤Ë¤ª¤±¤ë¥Ñ¥Ã¥Á 6.1 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë 2 ¤Ç¤Î½¤Àµ ¡¦INSTALL ¤Î½¤Àµ - X11R6 ´Ä¶­¤Ç¤Îºî¤êÊý¤Îµ­½Ò¤·¤«¤Ê¤«¤Ã¤¿¤¬¡¢X11R5 ¤È X11R6 ¤Îξ Êý¤òµ­½Ò¤·¤¿¡£ ¡¦Imakefile ¤Î½¤Àµ - INSTALLFLAGS ¤òÈ´¤¤¤¿(¥Ñ¥Ã¥Á 1 ¤Ç¤Î½¤Àµ¤â¤ì)¡£ - chmoddic ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£ ¡¦¥«¥¹¥¿¥Þ¥¤¥º¤Î¥­¡¼¥ï¡¼¥É¤ÎÄɲà - inhibit-hankaku-kana ¤òÄɲä·¤¿¡£ ¡¦lseek ¤ÎÂè 2 °ú¿ô´ØÏ¢¤Î½¤Àµ ¡¦cpp ¤¬¤Ê¤¤¤È¤­¤Î½èÍý¤ÎÄɲà ¡¦¼­½ñ¤Î½¤Àµ - ¡ÖÂæ¡×¤ò #JS ¤Ç¤âÅÐÏ¿¤·¤¿¡£ - ¡Ö¤·¤ó¤¬¤¯¤®¤Û¤¦¡×¤Î½¤Àµ¡£ ¡¦¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î½¤Àµ - cpp ¤Ë¤è¤Ã¤Æ¤Ï¤¦¤Þ¤¯½èÍý¤Ç¤­¤Ê¤«¤Ã¤¿¤¿¤á¡¢¡Ö"¡×¤ä¡Ö'¡×¤ò¡Ö\x22¡× ¤ä¡Ö\x27¡×¤ËÊѹ¹¤·¤¿¡£ ¡¦¥Þ¥Ë¥å¥¢¥ë¤Î½¤Àµ - SCREEN ¤È¤¤¤¦´Ä¶­¤ò»È¤¦¤è¤¦¤Ë¤·¤¿¡£ ¡¦rmdic ¤Î·ë²Ì¤¬ dics.dir ¤ËÈ¿±Ç¤µ¤ì¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¤·¤¿¡£ ¡¦base-kakutei ¤Ç¡¢³ÎÄꥭ¡¼¤ò²¡¤¹¤È²¿¤â¤Ê¤¯¤Ê¤ëÌäÂê¤òľ¤·¤¿¡£ ¡¦¤½¤Î¾ºÙ¤«¤¤¥Ð¥°¤Î½¤Àµ¡£ 6.2 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë 1 ¤Ç¤Î½¤Àµ ¡¦kinput2 ¤Çµ­¹æ¤ÎϢ³ÆþÎϤËÂбþ¤¹¤ë¤¿¤á¤Î½¤Àµ¡£ ¡¦¥µ¥ó¥×¥ë¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î½¤Àµ¡£ - skk.canna ¤ò kinput2 ¤Ç»È¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£ - tut.canna ¤Ç TUT µ­¹æ¤¬Æþ¤ì¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£ ¡¦Imakefile ¤Î½¤Àµ¡£ - X11R5,X11R6 ¤È¤â¤ËÂбþ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ - INSTALLFLAGS ¤òÈ´¤¤¤¿¡£ ¡¦¥É¥­¥å¥á¥ó¥ÈÍÑ README ¤Î½¤Àµ¡£ ¡¦¥É¥­¥å¥á¥ó¥È¤Î½¤Àµ¡£\tt ¤ÎÌäÂê¡£ ¡¦¤¤¤¯¤Ä¤«¤Îñ¸ì¤ÎÉÊ»ì¤Î½¤Àµ¡£ ¡¦number.t ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£ ¡¦Sparc ¤Î cc ¤Ç warning ¤¬½Ð¤¿¤Î¤ò½¤Àµ¤·¤¿¡£ ¡¦¤½¤Î¾ºÙ¤«¤¤½¤Àµ¡£ 7. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.2 ¤Ë¤ª¤±¤ëÊѹ¹ÅÀ ¡Ø¤«¤ó¤Ê¡ÙVersion 3.2 ¤Ç¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 3.1 ¤ËÂФ·¤Æ°Ê²¼¤Ë¼¨¤¹¤è¤¦ ¤Êµ¡Ç½³ÈÄ¥¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£ (1) ¥°¥ë¡¼¥×¼­½ñ¤Î¥µ¥Ý¡¼¥È (2) ¼­½ñ¤ÎƱ´ü½èÍý¤Î¥µ¥Ý¡¼¥È (3) ʬÌîÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È (4) ¼­½ñ¥³¥Ô¡¼¤Î²þÁ± (5) ¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤ÎÀßÄê (6) Àܳ¥¯¥é¥¤¥¢¥ó¥È¿ô¤Î³ÈÂç (7) ¥Ð¥¤¥Ê¥ê¼­½ñ¤«¤é¤Îñ¸ìºï½ü¤Î¥µ¥Ý¡¼¥È (8) ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î²þÁ± 7.1 ¤«¤Ê´Á»úÊÑ´¹ (1) ¥°¥ë¡¼¥×¼­½ñ¤Î¥µ¥Ý¡¼¥È ¼­½ñ¤ò¥³¥Ô¡¼¤·¤Ê¤¯¤Æ¤â¡¢¥°¥ë¡¼¥× ID(gid) ¤ÎƱ¤¸¥æ¡¼¥¶´Ö¤Ç¤ÏÊ£¿ô¤Î¥æ¡¼ ¥¶¤ÇƱ°ì¤Î¼­½ñ¤ò»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (2) ¼­½ñ¤ÎƱ´ü½èÍý¤Î¥µ¥Ý¡¼¥È ¼­½ñ¥Õ¥¡¥¤¥ë¤Ø¤ÎƱ´ü½èÍý¤òÄɲä·¤Þ¤·¤¿¡£¤³¤ì¤Ë¤è¤ê¡¢¥«¥¹¥¿¥Þ¥¤¥º¤¹ ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Ã±¸ìÅÐÏ¿/ºï½ü»þ¤Ë¼­½ñ¤ò¥á¥â¥ê¾å¤Î¼­½ñ¤ÈƱ´ü¤Ç¤­¤ë¤è ¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (3) ʬÌîÊ̳ؽ¬¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È °ì¤Ä¤Î¼­½ñ¤ËÂФ·Ê£¿ô¤Î³Ø½¬¾ðÊó¥Õ¥¡¥¤¥ë¤¬°·¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¡¢Ê¬Ì¤È ¤Ë³Ø½¬¾ðÊó¤òÀÚÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (4) ¼­½ñ¥³¥Ô¡¼¤Î²þÁ± ¼­½ñ¥³¥Ô¡¼ÀìÍѤδؿô¤òºîÀ®¤·¡¢¼­½ñ¤Î¥³¥Ô¡¼¤¬Â®¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤Þ¤¿¡¢ ³Ø½¬¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤â¡¢¥Ð¥¤¥Ê¥ê¼­½ñ¤Î¥³¥Ô¡¼¤È¤¤¤¦·Á¤Ç¸Ä¿ÍÊ̳ؽ¬¥Õ¥¡ ¥¤¥ë¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£ (5) ¼­½ñ¤Î¥¢¥¯¥»¥¹¸¢¤ÎÀßÄê ¼­½ñ¤Î READ/WRITE ¸¢¤òÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ (6) ¶õÇòʸ»ú¤ò´Þ¤àñ¸ì¤ÎÅÐÏ¿¡¦ºï½ü ¶õÇòʸ»ú¤ò´Þ¤àÆÉ¤ß¤ä¸õÊä¤òÅÐÏ¿¡¦ºï½ü¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (7) Àܳ¥¯¥é¥¤¥¢¥ó¥È¿ô¤Î³ÈÂç ¥·¥¹¥Æ¥à¤Î»ñ¸»(¥á¥â¥êÅù)¤¬µö¤¹¸Â¤ê cannaserver ¤Ë¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ (8) ¥Ð¥¤¥Ê¥ê¼­½ñ¤«¤é¤Îñ¸ìºï½ü¤Î¥µ¥Ý¡¼¥È ¥Ð¥¤¥Ê¥ê¼­½ñ¤«¤é¤Îñ¸ì¤Îºï½ü¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤·¤¿(¦ÁÈǤǤÏ̤¥µ¥Ý¡¼¥È)¡£ 7.2 ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (1) Ã༡¼«Æ°ÊÑ´¹¤ª¤è¤ÓϢʸÀáÊÑ´¹Éô¤ÎÅý¹ç ¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¤Ë¤ª¤¤¤Æ¡¢Ê¸Àá¿­½Ì¥â¡¼¥É¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤·¤¿ ¤¬¡¢¤³¤Îµ¡Ç½¤¬»ÈÍѤǤ­¤ë¤Î¤ÏϢʸÀáÊÑ´¹»þ¤Î¤ß¤Ç¤·¤¿(Version 1.2 ¤Ë¤ª ¤±¤ëÊѹ¹ÅÀ »²¾È)¡£¤³¤Îµ¡Ç½¤¬Ã༡¼«Æ°ÊÑ´¹»þ¤Ë¤â»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤·¤Þ ¤·¤¿(¦ÁÈǤǤÏ̤¥µ¥Ý¡¼¥È)¡£ (2) ÊÔ½¸¥â¡¼¥É»þ¤Î½èÍý¤ÎÊѹ¹ ÊÔ½¸¥â¡¼¥É¤Î½èÍý¤¬Êѹ¹¤Ë¤Ê¤ê¡¢ÊÔ½¸¥â¡¼¥É¤¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤«¤ï¤ê¤Ë ÆÉ¤ß¥â¡¼¥É¡¢Ã±¸õÊä¥â¡¼¥É¡¢»ú¼ï¥â¡¼¥É¤Îº®ºß¤Ë¤è¤ê½èÍý¤µ¤ì¤ë¤è¤¦¤Ë¤Ê ¤ê¤Þ¤·¤¿¡£ (3) ¥á¥Ë¥å¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º²½ ³ÈÄ¥¥á¥Ë¥å¡¼¤¬¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (4) µ­¹æÆþÎÏ»þ¤ÎÁàºî¤Î²þÎÉ µ­¹æ¤òϢ³¤·¤ÆÆþÎϤǤ­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ (5) ¿·¥­¡¼¥ï¡¼¥É¤ÎƳÆþ ¿·¥­¡¼¥ï¡¼¥É¤¬Æ³Æþ¤µ¤ì¡¢Ï¢Ê¸ÀáÊÑ´¹»þ¤Ë±Ñ¿ô¥â¡¼¥É¤Ç¶õÇòʸ»ú¤ÎÆþÎÏ»þ ¤ËÊÑ´¹¤¬¹Ô¤ï¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤Þ¤¿¡¢Ã༡¼«Æ°ÊÑ´¹»þ¤Ë¤ª¤¤¤Æ¤â¡¢ ¶çÆÉÅÀ¤ÎÆþÎÏ»þ¤ËÊÑ´¹¤¬µ¯Æ°¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢±Ñ¿ô¥â¡¼¥É¤Ç ¤Ï¶çÆÉÅÀ¤òÆþÎϤ·¤Æ¤âÊÑ´¹¤¬¹Ô¤ï¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (6) ʸˡ¼­½ñ¤Î»ØÄê ¥æ¡¼¥¶¤¬¼«Í³¤Ëʸˡ¼­½ñ¤òÊѤ¨¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (7) ¼­½ñ°ú¤­½ç¤ÎÌÀ³Î²½ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ë¡¢Í¥À褷¤Æ°ú¤­¤¿¤¤½ç¤Ë¼­½ñ¤ò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë ¤Ê¤ê¤Þ¤·¤¿¡£ (8) boiled-egg ŪÆþÎÏÊýË¡¤Î¥µ¥Ý¡¼¥È ¤¢¤ë¥¿¥¤¥ß¥ó¥°¤Ç°ì³ç¤·¤Æ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹/¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¤³¤È¤¬¤Ç ¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (9) ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹Í¥À赡ǽ¤ÎÄɲà ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤òÍ¥À褹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ 8. ¡Ø¤«¤ó¤Ê¡ÙVersion 3.1 ¤Ë¤ª¤±¤ëÊѹ¹ÅÀ ¡Ø¤«¤ó¤Ê¡ÙVersion 3.1 ¤Ç¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 2.2 ¤ËÂФ·¤Æ°Ê²¼¤Ë¼¨¤¹¤è¤¦ ¤Êµ¡Ç½³ÈÄ¥¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£ (1) ʸÀáĹ³Ø½¬¡¦Ã±¸ìĹ³Ø½¬Âбþ ʸÀáĹ³Ø½¬¡¦Ã±¸ìĹ³Ø½¬¤Î·ë²Ì¤ò¥Õ¥¡¥¤¥ë¤ËÊݴɤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¡¢ÍâÆü¤Ë ¤Ê¤Ã¤Æ¤â¤½¤ì¤Þ¤Ç¤Î³Ø½¬·ë²Ì¤¬È¿±Ç¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (2) ¼­½ñ·Á¼°¤ÎÊѹ¹ 4Kbyte ñ°Ì¤Ç¥¢¥¯¥»¥¹¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¡¢¥¢¥¯¥»¥¹¸úΨ¤ª¤è¤Ó²¾ÁÛµ­²±¸úΨ ¤¬¾å¤¬¤ê¤Þ¤·¤¿¡£¤Þ¤¿¡¢¼­½ñ¤¬¾®¤µ¤¯¤Ê¤ê¤Þ¤·¤¿¡£ 9. ¡Ø¤«¤ó¤Ê¡ÙVersion 2.2 ¤Ë¤ª¤±¤ë¥Ñ¥Ã¥Á 9.1 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë£´¤Ç¤Î½¤Àµ ¡¦Mule ¤ò»È¤Ã¤Æ¤¤¤ë»þ¤ËÀܳ¤¬¤­¤ì¤¿¤ê¡¢Î©¤Á¾å¤²»þ¤Ë¼­½ñ¤Î¥Þ¥¦¥ó¥È¤Ë¼º ÇÔ¤¹¤ë¤³¤È¤¬¤¢¤Ã¤¿¡£¤³¤ÎÌäÂê¤òľ¤·¤¿¡£ ¡¦¥Ñ¥Ã¥Á£² ¤Ç cannaserver ¤Ë¥Ð¥°¤òÆþ¤ì¤Æ¤¤¤¿¡£¶ñÂÎŪ¤Ë¤ÏʸÀá¿­¤Ð¤·½Ì¤á ¤ò¹Ô¤Ã¤¿»þ¤Ë¡¢Í¾·×¤Ê¥Ç¡¼¥¿¤ò¥¯¥é¥¤¥¢¥ó¥È¤ËÊÖ¤·¤Æ¤¤¤¿¡£¤³¤ì¤òľ¤·¤¿¡£ ¡¦addwords ¤Ê¤É¤Ç¥¿¥Ö¤ò¤¦¤Þ¤¯½èÍý¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤³¤È¤Î½¤Àµ¡£ ¡¦Ã±¸ìÅÐÏ¿»þ¤Ë¸õÊä¤òÆþ¤ì¤Æ³ÎÄꤷ¤¿¸å romaji µ¡Ç½¤ò»È¤¦¤È core dump ¤¹ ¤ë¤³¤È¤¬¤¢¤Ã¤¿¡£¤³¤ì¤ò½¤Àµ¡£ ¡¦¼­½ñ¤Î¼ã´³¤Î½¤Àµ¡£ ¡¦jdvi2kps ¤Ç epsbox ¥¹¥¿¥¤¥ë¤ò»È¤¦¿Í¤Î¤¿¤á¤ÎÃí°Õ¤òÆþ¤ì¤¿¡£ 9.2 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë£³¤Ç¤Î½¤Àµ ¡¦¥Ñ¥Ã¥Á£²¤ÇÆþ¤ì¤Æ¤·¤Þ¤Ã¤¿°Ê²¼¤ÎÌäÂê¤ò²ò·è - iroha.t ¤Î¥³¥ó¥Ñ¥¤¥ë¤¬¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¡£ - rename() ¤ò¡¢¥Ý¡¼¥¿¥Ó¥ê¥Æ¥£¸þ¾å¤Î¤¿¤á link/unlink ¤ÇÃÖ¤­´¹¤¨¤¿¤¬¡¢ ÃÖ¤­´¹¤¨Êý¤Ë°ìÉô´Ö°ã¤¤¤¬¤¢¤Ã¤¿¡£ ¡¦¥µ¡¼¥Ó¥¹ÈÖ¹æ¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤòÍѤ¤¤ë»þ¤Ë Little Endian ¥Þ¥·¥ó¤Ç¤ÎÃͤΠÀßÄ꤬´Ö°ã¤Ã¤Æ¤¤¤¿¡£ ¡¦°ìÈ̤ÎÀÜÈø¸ì¼­½ñ suffix.t ¤ò¾Ã¤·¡¢¿ô´Ø·¸¤ÎÀÜÈø¸ì¼­½ñ number.t ¤òÆþ ¤ì¤¿¡£ 9.3 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë£²¤Ç¤Î½¤Àµ ¡¦DEC ¦Á¤Çưºî¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£º£¤Þ¤Ç¤âÂçÂÎÆ°¤¤¤Æ¤¤¤¿¤¬¡¢cannaserver ¤À¤±¤Ï¥×¥í¥È¥³¥ë½èÍýÉô¤Ë sizeof(long)==sizeof(int)==4 ¤È²¾Äꤷ¤Æ¤¤ ¤ëÉôʬ¤¬¤¢¤Ã¤Æ¤¦¤Þ¤¯¤Ê¤«¤Ã¤¿¡£¤³¤ì¤òľ¤·¤¿¡£ ¡¦TUT ÆþÎϤΤ¿¤á¤Î tut.canna ¤ª¤è¤Ó tut.kpdef ¤ò¥µ¥Ý¡¼¥È¡£ ¡¦¥Ø¥Ã¥À¤Î C++ Âбþ(¤Ä¤â¤ê)¡£ ¡¦¥É¥­¥å¥á¥ó¥È¤ÎÀ°È÷(ASCII TeX ¤Ø¤ÎÂбþ¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Îµ­½Ò¤¬ Canna.conf ¤Ë¤·¤¿¤¬¤¦¤è¤¦¤Ë¤·¤¿¡¢¤Ê¤É)¡£ ¡¦¥é¥¤¥Ö¥é¥ê¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò doc/man/lib ¤«¤é lib/canna ¤Ë°Ü¤·¤¿¡£ ¡¦doc/man/guide/tex/texindex ¤Îưºî¤¬ awk ¤Ë°Í¸¤·¤Æ¤¤¤¿¤Î¤Ç C ¤Ç½ñ¤­ ľ¤·Ì¾Á°¤âÊѹ¹¤· cannaindex ¤È¤·¤¿¡£ ¡¦rename() ¤ò»È¤Ã¤Æ¤¤¤ëÉôʬ¤¬¤¢¤Ã¤¿¤Î¤Ç link()/unlink() ¤Ç½ñ¤­´¹¤¨¤¿¡£ rename() ¤ò»ý¤¿¤Ê¤¤¥·¥¹¥Æ¥à¤Ø¤ÎÂбþ¡£ ¡¦Purify ¤·¤¿¡£ ¡¦¼íÌî»á¤Ë¤è¤ë¡¢Ê¸Ë¡´ØÏ¢¤Î unofficial patch ¤ÎÈ¿±Ç¡£(patches.49 ¤Þ¤Ç) ¡¦°ìÉô¤Î¥Þ¥·¥ó¤Ç make canna »þ¤Ë¼­½ñ¥³¥ó¥Ñ¥¤¥ë¤Î¤È¤³¤í¤Ç syntax error ¤¬½Ð¤ë·ï¤ò½¤Àµ¡£ ¡¦¤½¤Î¾ºÙ¤«¤¤¥Ð¥°½¤Àµ¡£ 9.4 ¥Ñ¥Ã¥Á¥ì¥Ù¥ë£±¤Ç¤Î½¤Àµ ¡¦sj3serv ¤Ë¤âÀܳ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ ¡¦BSD386 ¤Ê¤É¤Ç¸«¤é¤ì¤ë¡¢¥×¥í¥È¥³¥ë¥¨¥é¡¼¤ò½¤Àµ¤·¤¿¡£ ¡¦linux ¤ËÂбþ¤·¤¿¡£ ¡¦¥æ¡¼¥¶¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë chown ¤Ç fail ¤¹¤ë·ï¤ËÂн褷¤¿¡£ ¡¦cannaserver ¤Ç¤Î free ˺¤ì/¥á¥â¥ê½é´ü²½Ëº¤ì¤Î½¤Àµ¡£ ¡¦¥Þ¥Ë¥å¥¢¥ë¤òºî¤ë»þ¤Ë¥Ç¥£¥ì¥¯¥È¥êɽµ­¤ò¥¤¥ó¥¹¥È¡¼¥ë»þ¤Î»ØÄê¤Ë¹ç¤ï¤» ¤ë¤è¤¦¤Ë¤·¤¿¡£ ¡¦canuum ¤Î¥Ù¡¼¥¹¤ò Wnn4.108 ¤«¤é Wnn4.109 ¤ËÊѤ¨¤¿¡£ ¡¦canuum ¤Î PTY ¤ÎºÇÂçÃͤòÂ礭¤¯¤·¤¿¡£ ¡¦mergeword ¤Î°ú¿ô¤Ë¥Õ¥¡¥¤¥ë¤¬»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£¤Þ¤¿¡¢splitword ¤Ë°ú¿ô¤òÍ¿¤¨¤Ê¤¤»þ¤Ëɸ½àÆþÎϤò¸«¤ë¤è¤¦¤Ë¤·¤¿¡£ ¡¦¤¤¤¯¤Ä¤«¤Îʸˡ¤Î½¤Àµ¡£ ¡¦¤½¤Î¾ºÙ¤«¤¤¥Ð¥°¤Î½¤Àµ¡£ 10. ¡Ø¤«¤ó¤Ê¡ÙVersion 2.2 ¤Ë¤ª¤±¤ëÊѹ¹ÅÀ ¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¤«¤é¡Ø¤«¤ó¤Ê¡ÙVersion 2.2 ¤Ç¤Ï°Ê²¼¤Î¤³¤È¤¬Äɲà ¤µ¤ì¤Þ¤·¤¿¡£ (1) ¥¨¥ó¥¸¥ó¤ÎÀÚ¤êÂØ¤¨ ¤«¤Ê´Á»úÊÑ´¹¥¨¥ó¥¸¥ó¤ò cannaserver(irohaserver) ¤È Wnn ¤Î jserver ¤È¤Î´Ö¤Ç¼«Í³¤ËÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (2) ¥Þ¡¼¥¯ »ú¼ïÊÑ´¹¤Ê¤É¤ÎÈϰϤò¥Þ¡¼¥¯¤È¥«¡¼¥½¥ë¤Ç»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ ¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Ï»²¾È¤Ç¤­¤ë¥É¥­¥å¥á¥ó¥È¤¬¤Û¤È¤ó¤É¸ºß¤·¤Þ¤»¤ó¤Î¤Ç¡¢¤³ ¤³¤Ç¤Á¤ç¤Ã¤ÈÀâÌÀ¤·¤Þ¤¹¡£¾Ü¤·¤¤ÀâÌÀ¤Ï¤â¤¦¤·¤Ð¤é¤¯¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£ (1) ¥¨¥ó¥¸¥ó¤ÎÀÚ¤êÂØ¤¨ ¥¨¥ó¥¸¥ó¤ÎÀÚ¤êÂØ¤¨¤Ï¥À¥¤¥Ê¥ß¥Ã¥¯¥í¡¼¥Ç¥£¥ó¥°(dlopen¤Ê¤É)¤ò»È¤Ã¤Æ¹Ô¤Ã ¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥À¥¤¥Ê¥ß¥Ã¥¯¥í¡¼¥Ç¥£¥ó¥°¤òÍøÍѤǤ­¤Ê¤¤ OS ¤Ç¤Ï »È¤¨¤Þ¤»¤ó(¼Â¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥µ¥¤¥º¤¬Â礭¤¯¤Ê¤Ã¤Æ¤âÎɤ¤¤Î¤Ç¤¢¤ì¤Ð¤Ê¤ó ¤È¤Ç¤â¤Ç¤­¤ë¤Î¤Ç¤¹¤¬)¡£¥í¡¼¥É¤µ¤ì¤ë¥é¥¤¥Ö¥é¥ê¤Ï libRKC.so (¤«¤ó¤Ê) ¤« libRKWnn.so (Wnn) ¤Ç¤¹¡£ ¦ÂÈǤΠMakefile (Imakefile) ¤Ç¤Ï Shared Library ¤Î¤³¤È¤Ï¤¢¤Þ¤ê¹Íθ¤· ¤Æ¤¤¤Ê¤¤¤Î¤Ç¥¨¥ó¥¸¥ó¤ÎÀÚ¤êÂØ¤¨¤ò¹Ô¤¦¤Ë¤Ï¿Í¼ê¤Ç¤Î Makefile ¤Î½ñ¤­´¹¤¨ ¤¬É¬Íפˤʤê¤Þ¤¹¡£ libRKWnn.so ¤Ï¦ÂÈǤΥ½¡¼¥¹(lib/RKWnn)¤Ë²Ã¤¨¤Æ¡¢Wnn ¤Î libwnn.a ¤È kinput2 ¤Î jclib.o jilib.o ¤¬¤¢¤ì¤ÐºîÀ®¤Ç¤­¤Þ¤¹¡£°Ê¸å¤ÎÈÇ¤Ç Makefile ¤òÄ󶡤¹¤ëͽÄê¤Ç¤¹¤¬¡¢¤È¤ê¤¢¤¨¤º¤ä¤Ã¤Æ¤ß¤¿¤¤¿Í¤Ï doc/misc/engine.tx ¤ò¸«¤Æ¥È¥é¥¤¤·¤Æ¤¯¤À¤µ¤¤¡£ (2) ¥Þ¡¼¥¯ ¥Þ¡¼¥¯¤òÂÇ¤Ä¤Î¤Ï C- ¤Ç¤¹¡£º£¤Þ¤Ç¤Ï C-n ¤Ê¤É¤Ç»ú¼ïÊÑ´¹¤ò¤¹¤ë¤È ÆþÎÏÃæ¤Îʸ»úÁ´¤Æ¤¬»ú¼ïÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢Version 2.2 ¤Ç¤Ï C- ¤¬ÂǤ¿¤ì¤¿¤ê¡¢°ìÅÙ»ú¼ïÊÑ´¹¤¬¤µ¤ì¤¿¤ê¤¹¤ë¤È¥Þ¡¼¥¯¤¬ÀßÄꤵ¤ì¡¢ ¤½¤³¤«¤é¸å¤í¤À¤±¤¬»ú¼ïÊÑ´¹¤µ¤ì¤Þ¤¹¡£ ¡ÔÎã¡Õ fairu C-n a C-p ¢ª V1.2 ¥Õ¥¡¥¤¥ëa (¡Ö¥Õ¥¡¥¤¥ë¡×¤ÎÉôʬ¤¬³ÎÄꤵ¤ì¤ë) V2.1 fairua V2.2 ¥Õ¥¡¥¤¥ëa (¡Ö¥Õ¥¡¥¤¥ë¡×¤ÎÉôʬ¤âÆÉ¤ß¤Î¤Þ¤Þ) 11. ¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¤Ë¤ª¤±¤ëÊѹ¹ÅÀ ¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¤Ç¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 1.2 ¤ËÂФ·¤Æ¼ç¤Ë°Ê²¼¤Ë¼¨¤¹ µ¡Ç½³ÈÄ¥¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£ (1) Ã༡¼«Æ°ÊÑ´¹Êý¼°¤ÎƳÆþ(¥µ¡¼¥Ð¥¯¥é¥¤¥¢¥ó¥ÈÊý¼°¤Ç¤Ï¥Õ¥ê¡¼¥½¥Õ¥È½é) (2) ¸Ä¿ÍÊÌÉÑÅٳؽ¬´ÉÍý¤Î¥µ¥Ý¡¼¥È (3) EUC¤ÎG3ʸ»ú¤Î¥µ¥Ý¡¼¥È (4) ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î²þÁ± ¤³¤ì¤Ë¤È¤â¤Ê¤¤¡¢¤«¤Ê´Á»úÊÑ´¹¼­½ñ·Á¼°¤ÎÊѹ¹¡¢¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î ·Á¼°¤ÎÊѹ¹¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë·Á¼°¤ÎÊѹ¹¤ò»Ï¤á¤È¤¹¤ëÍÍ¡¹¤ÊÊѹ¹¤¬¹Ô¤ï ¤ì¤Þ¤·¤¿¡£¾Ü¤·¤¯¤Ï°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ 11.1 ¤«¤Ê´Á»úÊÑ´¹ (1) Ã༡¼«Æ°ÊÑ´¹¥µ¥Ý¡¼¥È ¥µ¡¼¥Ð¥¯¥é¥¤¥¢¥ó¥ÈÊý¼°¤È¤·¤Æ¤Ï½é¤ÎÃ༡¼«Æ°ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤·¤¿¡£½¾ Íè¤Î¥Ñ¡¼¥½¥Ê¥ë¥³¥ó¥Ô¥å¡¼¥¿¤Ê¤É¤Ç¤ÏÃ༡¼«Æ°ÊÑ´¹¤ÎÁàºîÊýË¡¤¬¤®¤³¤Á¤Ê¤¤ ¾ì¹ç¤¬Â¿¤¯¤¢¤ê¤Þ¤·¤¿¤¬¡¢Ï¢Ê¸ÀáÊÑ´¹¤Ç¤Î¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼«Á³¤Ë³È Ä¥¤¹¤ë·Á¤ÎÁàºîË¡¤òÄ󶡤·¤Æ¤ª¤ê¡¢Ã¯¤Ç¤â¼«Á³¤ËÃ༡¼«Æ°ÊÑ´¹¤òÍøÍѤ¹¤ë¤³ ¤È¤¬²Äǽ¤Ç¤¹¡£ (2) ¸Ä¿ÍÊÌÉÑÅٳؽ¬¤Î¥µ¥Ý¡¼¥È º£¤Þ¤Ç¤ÏƱ°ì¤Î¼­½ñ¤òÊ£¿ô¤Î¥æ¡¼¥¶¤¬»ÈÍѤ·¤Æ¤¤¤ë¤È¤­¤ÏºÇ¸å¤Ë»ÈÍѤ·¤¿¿Í ¤Î³Ø½¬¾ðÊó¤Ë¤è¤Ã¤ÆÂ¾¤Î¿Í¤Î³Ø½¬¾ðÊ󤬾å½ñ¤­¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¥á¥¤¥ó¤Î ¼­½ñ¤È¤ÏÊ̤˳ؽ¬¾ðÊó¥Õ¥¡¥¤¥ë¤ò¥æ¡¼¥¶Ëè¤Ëʬ»¶¤µ¤»¤Æ»ý¤¿¤»¤ë¤³¤È¤Ë¤è¤ê ÉÑÅÙ¾ðÊó¤ò³Æ¸Ä¿ÍËè¤Ë´ÉÍý¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ º£¤Þ¤ÇÄ̤êÉÑÅÙ¾ðÊó¤ò¶¦Í­¤¹¤ë¤³¤È¤â¥æ¡¼¥¶Ëè¤ÎÀßÄê¤Ë¤è¤ê²Äǽ¤Ç¤¹¡£ (3) EUC¤ÎG3ʸ»ú¤Î¥µ¥Ý¡¼¥È JISµ¬³Ê¤Ë¤è¤êÊä½õ´Á»ú½¸¹ç(JIS X0212)¤¬À©Äꤵ¤ì¤Þ¤·¤¿¡£Êä½õ´Á»ú½¸¹ç¤Ï UNIX International¤ÎÆüËܸ쵬Ìó¤Ç¤ÏEUC¤ÎG3ʸ»ú¤È¤·¤Æ¼è¤ê°·¤¦¤³¤È¤¬Äê ¤á¤é¤ì¤Æ¤ª¤ê¤Þ¤¹¡£ ¡Ø¤«¤ó¤Ê¡ÙVersion 2.1¤Ç¤ÏÊä½õ´Á»ú½¸¹ç¤ò»Ï¤á¤È¤·¤ÆG3Îΰè¤ËÃÖ¤«¤ì¤ë¤³ ¤È¤¬Â¿¤¤³°»úÅù¤ò¥µ¥Ý¡¼¥È¤Ç¤­¤ë¤è¤¦¤ËEUC¤ÎG3ʸ»ú¤ò¤«¤Ê´Á»úÊÑ´¹¤Î¡ÖÆÉ ¤ß¡×¤¢¤ë¤¤¤Ï¡Ö¸õÊä¡×¤È¤·¤ÆÍøÍѤǤ­¤Þ¤¹¡£ (4) ¼­½ñ·Á¼°¤ÎÊѹ¹(¥Ð¥¤¥Ê¥ê¼­½ñ) ¸Ä¿ÍÊÌÉÑÅٳؽ¬¤ÈEUC¤ÎG3ʸ»ú¤Î¥µ¥Ý¡¼¥È¤Ëȼ¤¤¼­½ñ·Á¼°¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿ (¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ë´Ø¤·¤Æ¤Ï°ÊÁ°¤Î¤Þ¤Þ¤Ç¤¹)¡£ µì·Á¼°¤Î¼­½ñ¤ò¡Ø¤«¤ó¤Ê¡ÙVersion 2.1¤Ç¤â³èÍѤ·¤¿¤¤¤«¤¿¤Î¤¿¤á¤Ëµì·Á¼° ¼­½ñ¤«¤é¿··Á¼°¼­½ñ¤Ø¤Î¥³¥ó¥Ð¡¼¥¿¥Ä¡¼¥ë¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ 11.2 ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹ (1)¡Ö¤ó¡×¤ÎÆþÎϤΤ¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÊѹ¹ ½¾Íè¡Ö¤¢¤ó¤Ê¤¤¡×¡Ö¤»¤ó¤¤¡×¤Ê¤É¤ÎÆþÎϤò¹Ô¤¦»þ¤Ë¡Öannai¡×¡Ösen'i¡×¤Ê¤É ¤Î¤è¤¦¤Ê¡Ön¡×°ìʸ»ú¤¬¡Ö¤ó¡×¤ËÂбþ¤¹¤ë¤â¤Î¤ò¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¤â¤Á¤í¤ó½¾Í褫¤é¥«¥¹¥¿¥Þ¥¤¥º¤ÎÀßÄê¤Ë¤è¤êÊѹ¹¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤·¤¿¤¬¡¢ ¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¤Ç¤Ï¥Ñ¥½¥³¥ó¡¢¥ï¡¼¥×¥í¤Ç¹­¤¯¸«¤é¤ì¤ë¡Önn¡×¤ò ¡Ö¤ó¡×¤ËÂбþ¤µ¤»¤ëµ¬Â§¤ò¥Ç¥Õ¥©¥ë¥È¤ËÊѤ¨¤Þ¤·¤¿¡£¤³¤ì¤Ë¤è¤ê¡Ö¤¢¤ó¤Ê¤¤¡× ¡Ö¤»¤ó¤¤¡×¤Ê¤É¤ÎÆþÎϤΤ·¤«¤¿¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¨£¨¡¨¡¨¡¨¡¨¨¨¡¨¡¨¡¨¡¨¡¨¨¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¤ ¨¢ ¨¢ ½¾Íè ¨¢¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¨¢ ¨§¨¡¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨© ¨¢¤¢¤ó¤Ê¤¤¨¢ annai ¨¢ annnai ¨¢ ¨§¨¡¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨© ¨¢ ¤»¤ó¤¤ ¨¢ sen'i ¨¢ senni ¨¢ ¨¢ ¨¢ semni ¨¢ sen'i ¨¢ ¨¢ ¨¢ ¨¢ semni ¨¢ ¨§¨¡¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨© ¨¢ ¤Ù¤ó¤ê ¨¢ benri ¨¢ benri ¨¢ ¨¦¨¡¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¥ (2)¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î·Á¼°¤ÎÊѹ¹ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥Æ¥­¥¹¥È·Á¼°¤ª¤è¤Ó¥Ð¥¤¥Ê¥ê·Á¼°¤òÊѹ¹¤·¤Þ¤· ¤¿¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤Îµ­½Ò¤ÎºÝ¤ËÃæ´Ö·ë²Ì¤òµ­½Ò¤¹¤ë£³ÈÖÌÜ¥Õ¥£¡¼¥ë ¥É¤¬Àߤ±¤é¤ì½ÀÆð¤Êµ¬Â§¤¬µ­½Ò¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ °ÊÁ°ºîÀ®¤·¤¿¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ë´Ø¤·¤Æ¤â¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¤ÇÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹(¥Ð¥¤¥Ê¥ê·Á¼°¡¢¥Æ¥­¥¹¥È·Á¼°Î¾Êý¤È¤â)¡£ (3)Ê£¿ô¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÀÚ¤êÂØ¤¨²Äǽ Ê£¿ô¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÅÐÏ¿¤·¤Æ¤ª¤¤¤Æ¡¢»ÈÍÑ»þ¤Ë¤½¤ì¤é¤òÀÚ¤ê ÂØ¤¨¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤·¤¿¡£ (4)¿¸õÊ䥷¥ó¥Ü¥ëÄêµÁ¤¬²Äǽ ¡Ö.¡×(¥Ô¥ê¥ª¥É)¤ä¡Ö,¡×(¥³¥ó¥Þ)¤ò»Ï¤á¤È¤·¤ÆÁ´¤Æ¤Î¥­¡¼¤ËÂФ·¤ÆÊ£¿ô¤Îµ­ ¹æ¤òÂбþ¤µ¤»¤Æ»ÈÍÑ»þ¤ËÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤·¤¿¡£Î㤨¤Ð¡¢°Ê²¼ ¤Î¤è¤¦¤ÊÂбþ¤¬²Äǽ¤Ç¤¹¡£ ¨£¨¡¨¡¨¡¨¨¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¤ ¨¢ ÆþÎÏ ¨¢ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹·ë²Ì ¨¢ ¨§¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨© ¨¢ . ¨¢ ¡£ ¤Þ¤¿¤Ï ¡¥ ¨¢ ¨§¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨© ¨¢ , ¨¢ ¡¢¤Þ¤¿¤Ï ¡¤ ¨¢ ¨§¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨© ¨¢ [ ¨¢ ¡Ö¡¢¡Ø¡¢¡Î¡¢¡Ì ¤Þ¤¿¤Ï [ ¨¢ ¨§¨¡¨¡¨¡¨«¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨© ¨¢ ] ¨¢ ¡×¡¢¡Ù¡¢¡Ï¡¢¡Í ¤Þ¤¿¤Ï ] ¨¢ ¨¦¨¡¨¡¨¡¨ª¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¥ ÀÚ¤êÂØ¤¨¤Ï¤«¤Ê´Á»úÊÑ´¹¤Î¸õÊäÁªÂò¤ÈƱÍͤÎÁàºî¤Ç¹Ô¤¨¤Þ¤¹¡£¤Þ¤¿¡¢Ê£¿ô¤Î ÀÚ¤êÂØ¤¨¤ò¥ê¥ó¥¯¤·¤Æ¹Ô¤¦¤³¤È¤â²Äǽ¤Ç¤¹¡£ 11.3 ÆüËܸìÆþÎÏÁàºî (1)¥â¡¼¥Éɽ¼¨¤ÎÊѹ¹ Ã༡¼«Æ°ÊÑ´¹¥â¡¼¥É¤ÎƳÆþ¤Ëȼ¤Ã¤Æ¥â¡¼¥Éɽ¼¨Ê¸»úÎó¤ò¸«Ä¾¤·¤Þ¤·¤¿¡£ ¡¦¡Ö³Î¡×¤ÎÎΰè¤Îºï½ü ¥â¡¼¥Éɽ¼¨¤Îº¸Â¦¤ËÀߤ±¤é¤ì¤Æ¤¤¤¿¡¢³ÎÄêÆþÎϤòɽ¤¹¡Ö³Î¡×¤òɽ¼¨¤¹¤ëÎÎ °è¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ ³ÎÄê¥â¡¼¥É¤Ï¥â¡¼¥Éɽ¼¨¤ò¼è¤ê°Ï¤à³ç¸Ì¤Î·Á¤Çɽ¸½¤µ¤ì¤Þ¤¹¡£ ¡¦¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÆþÎϥ⡼¥É¤Î¥â¡¼¥Éɽ¼¨¤¬ ¡Ö¡×(¶õʸ»úÎó)¤À¤Ã¤¿¤â¤Î¤¬ ¡Ö¡¡¡¡¡¡¡×(¶õÇòʸ»úÎó)¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£(¸«¤¿ÌÜ¤Ë¤ÏÆ±¤¸¤Ç¤¹) (2)ʸ»ú¼ï¥Ù¡¼¥¹Êѹ¹¤Îºï½ü ÆÉ¤ß¤òÆþÎϤ·¤Æ¤¤¤ë¾õÂÖ¤Ç C-i ¤ª¤è¤Ó C-o ¤ò²¡¤·¤¿»þ¤Ëʸ»ú¼ï¥Ù¡¼¥¹¤ÎÊÑ ¹¹¤¬¹Ô¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¸íÁàºî¤¬Â¿¤¤¤Î¤Ç¥ª¥×¥·¥ç¥ó¤È¤·¤Þ ¤·¤¿¡£ (3)ºÆ½é´ü²½¤Îºï½ü ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥á¥Ë¥å¡¼¤Ë¤Æ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤ÎºÆÆÉ¤ß¹þ¤ß¤ò¹Ô¤¤¤«¤Ê ´Á»úÊÑ´¹¤òºÆ½é´ü²½¤¹¤ë¥á¥Ë¥å¡¼¤òÄ󶡤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¥×¥í¥°¥é¥à¤È¤Î´Ö¤ËÀßÄê¤Î¤º¤ì¤òÀ¸¤¸¤µ¤»¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç¡Ø¤«¤ó¤Ê¡Ù Version 2.1 ¤Ç¤Ï¥µ¥Ý¡¼¥È¤ò¤È¤ê¤ä¤á¤Þ¤·¤¿¡£ ºÆ½é´ü²½¤Ë´Ø¤·¤Æ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬Ä󶡤·¤Æ¤¤¤ëµ¡Ç½¤Ë¤è¤Ã ¤Æ¤Î¤ß¹Ô¤¨¤Þ¤¹(Î㤨¤Ð¡Ø¤«¤ó¤Ê¡ÙÈÇ Nemacs ¤Î M-x canna-reset)¡£ (4)¸õÊäÈÖ¹æ¤Îɽ¼¨ ¸õÊä°ìÍ÷¤ò½Ð¤·¤Æ¤¤¤ëºÝ¤Ë¡¢¸½ºß¥«¡¼¥½¥ë¤¬»Ø¤·¤Æ¤¤¤ë¸õÊ䤬Á´ÂΤθõÊä¤Î ²¿ÈÖÌܤ«¤ò¼¨¤¹É½¼¨¤¬¹Ô¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (5)ʸÀá¿­½Ì¥â¡¼¥É ʸÀá¤ò¿­¤Ð¤·½Ì¤á¤¹¤ë¤â¤¦¤Ò¤È¤Ä¤ÎÊýË¡¤È¤·¤Æ°ìÂÀϺ¤Ê¤É¤Ç¤è¤¯¸«¤é¤ì¤ëÊý Ë¡¤â¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ ¤½¤Î¾ì¹ç¡¢Ê¸Àá¿­¤Ð¤·½Ì¤áÁàºî¤ò¹Ô¤¦¤È¥«¥ì¥ó¥ÈʸÀá°Ê¹ß¤¬°ìöÆÉ¤ß¤ËÌᤵ ¤ì¡¢ÆÉ¤ß¤Î¾å¤Ç¥«¡¼¥½¥ë¤¬°Üư¤·¡¢Ê¸ÀáŤòÄ´À°¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Ê¸Àá Ť¬Àµ¤·¤¯¤Ê¤Ã¤¿»þÅÀ¤ÇÊÑ´¹¥­¡¼¤ò²¡¤¹¤È¥«¡¼¥½¥ë¤¬¤¢¤ëÉôʬ¤Þ¤Ç¤ò¤Ò¤È¤Ä ¤ÎʸÀá¤È¤·¤ÆÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ (6)Âçʸ»ú¾®Ê¸»úÊÑ´¹ º£¤Þ¤Ç¤Ï»ú¼ïÊÑ´¹»þ¤Ë»ú¼ï¤¬±Ñ¿ô»ú¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤È¤­¤Î¤ßÂçʸ»ú¾®Ê¸»úÊÑ´¹ ¤¬¹Ô¤ï¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤«¤Ê¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë»þ¤ËÂçʸ»ú¾®Ê¸»úÊÑ´¹¥­¡¼¤ò ²¡¤¹¤È°ìö±Ñ¿ô»ú¤ËÊÑ´¹¤·¤¿¸åÂçʸ»ú¾®Ê¸»úÊÑ´¹¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ (7)¥Ð¡¼¥¸¥ç¥ó¾ðÊó¡¢¥µ¡¼¥Ð¾ðÊó¤Îɽ¼¨ ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥á¥Ë¥å¡¼¤Ë¤Æ¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó¤äÀܳ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð ¤Ë´Ø¤¹¤ë¾ðÊ󤬼è¤ê½Ð¤»¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (8)ÀßÄê¤ÎÊѹ¹ Ã༡¼«Æ°ÊÑ´¹¤ä³Ø½¬¤Ë´Ø¤·¤Æ»ÈÍÑ»þ¤Ë¥ª¥ó¡¿¥ª¥Õ¤òÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬²Äǽ¤Ë ¤Ê¤ê¤Þ¤·¤¿¡£ 11.4 ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë (1)¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë̾¤ÎÊѹ¹ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤¬ .iroha ¤«¤é .canna ¤ËÊѹ¹¤Ë¤Ê¤ê¤Þ ¤·¤¿¡£¤Þ¤¿¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Îµ­½Ò·Á¼°¤âLisp¥·¥ó¥¿¥Ã¥¯¥¹¤ò»È¤Ã¤¿ ¤â¤Î¤ËÊѹ¹¤Ë¤Ê¤ê¤Þ¤·¤¿¡£´û¸¤Î .iroha ¤ò¿··Á¼°¤ËÊѹ¹¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó ¥É¤âÄ󶡤·¤Þ¤¹¡£ ´û¸¤Î¥·¥ó¥¿¥Ã¥¯¥¹¤Ï³ÈÄ¥À­¤¬Ë³¤·¤«¤Ã¤¿¤¿¤á¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×»þ¤Ë¿·¤·¤¤ ¥«¥¹¥¿¥Þ¥¤¥ºµ­½Ò¤òÁÈ¤ßÆþ¤ì¤ë¤È¸Å¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬²óÉüÉÔ Ç½¤Ê¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼¤È¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£¿··Á¼°¤Ç¤Ï°ìÉôÍý²ò¤Ç¤­¤Ê¤¤Éô ʬ¤¬¤¢¤Ã¤Æ¤âÆÉ¤ßÈô¤Ð¤·¤Æ¼¡¤ÎÀßÄê¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¤Þ¤¿¡¢¿··Á¼°¤Ç¤Ï¸½ºß¤Î¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó¡¢Àܳ¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¤Î ¥Ð¡¼¥¸¥ç¥ó¤Ê¤É¤òÌ䤤¹ç¤ï¤»¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ê¡¢¤½¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã ¤Æ¾ò·ïŪ¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤Ç¤¹¡£ (2)InitialMode ¤Îºï½ü º£¤Þ¤Ç¤Ï InitialMode ¤Ë¤è¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°»þ¤Î¤«¤Ê´Á»úÊÑ´¹¤Î ¥â¡¼¥É¤òÀßÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ç¤·¤¿¤¬¡¢¡Ø¤«¤ó¤Ê¡ÙVersion 2.1 ¤Ç¤Ï¤³¤ì¤Ë Âå¤ï¤Ã¤Æ initialize-function ¤È¤¤¤¦µ¡Ç½¤ò»È¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ° »þ¤Î¾õÂÖ¤òÀßÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ initialize-function ¤Ç¤Ï¡Ö°ìÅÙ¤¢¤ë¾õÂ֤˰ܹԤ·¤Æ¤«¤é¤½¤³¤Ç¤ÎÀßÄê¤òÊÑ ¹¹¤·¤Æ¤Þ¤¿Ê̤ξõÂÖ¤ËÌá¤ë¡×¤Ê¤É¤Î½èÍý¤¬¹Ô¤¨¤Þ¤¹¡£ Î㤨¤Ð¡¢initialize-function ¤Ë¤Æ¡Ö°ìÅÙÆüËܸìÆþÎϥ⡼¥É¤Ë°Ü¹Ô¤·¡¢Ê¸»ú ¥Ù¡¼¥¹¤ò¥«¥¿¥«¥Ê¤ËÀÚ¤êÂØ¤¨¤¿¸åºÆ¤Ó¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¥â¡¼¥É¤ËÌá¤ë¡×¤È¤¤¤¦ ½èÍý¤ò¹Ô¤Ã¤Æ¤ª¤±¤Ð¡¢C-o¤Ê¤É¤ÇÆüËܸì¥â¡¼¥É¤Ë°Ü¤Ã¤¿»þ¤Ë¥«¥¿¥«¥Ê¥Ù¡¼¥¹ ¤ÎÆüËܸìÆþÎϤ¬¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ (3)¼Â¹Ô²Äǽµ¡Ç½¤ÎÁý²Ã ʸ»ú¥Ù¡¼¥¹¤Ë´Ø¤¹¤ëµ¡Ç½¤¬Áý¤¨¤¿Â¾¡¢Ã༡¼«Æ°ÊÑ´¹´ØÏ¢¡¢¿·¤·¤¤Ê¸Àá¿­¤Ð¤· ½Ì¤áÁàºî´ØÏ¢¤Ç¥­¡¼¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤ëµ¡Ç½¤¬Áý¤¨¤Þ¤·¤¿¡£ (4)µ­¹æÄêµÁ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÊä½õ¤È¤·¤Æ¥Ô¥ê¥ª¥É¤ä¥³¥ó¥Þ¤ËÂФ·¤ÆÊ£¿ô¤Î¥í¡¼¥Þ»ú¤« ¤ÊÊÑ´¹¤òÄêµÁ¤¹¤ëµ¡Ç½¤¬Äɲ䵤ì¤Þ¤·¤¿¡£¥æ¡¼¥¶¤Î¹¥¤ß¤ÇǤ°Õ¤Î¥­¡¼¤ËÂФ· ¤ÆÇ¤°Õ¤Îµ­¹æ¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ (5)³ÎÄê¥â¡¼¥ÉÅù¤Îºï½ü ³ÎÄê¥â¡¼¥ÉÅù¤Î¥â¡¼¥É¤¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£¤½¤ì¤ËÂå¤ï¤Ã¤Æ°Ê²¼¤Î£²¤Ä¤Î¤¦¤Á ¤Î¤¤¤º¤ì¤«¤ÇÂåÂØ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ (a) ÆÉ¤ßÆþÎÏ»þ¤Î°À­¤òÊѹ¹¤¹¤ë°Ê²¼¤Îµ¡Ç½¤òÁȤ߹ç¤ï¤»¤ÆÆþÎϤ¹¤ëʸ»ú ¼ï¤ä¾õÂÖ¤òÊѹ¹¤·¤Þ¤¹¡£ ̾¾Î µ¡Ç½ base-hiragana ʸ»ú¥Ù¡¼¥¹¤ò¤Ò¤é¤¬¤Ê¤ËÊѤ¨¤ë base-katakana ʸ»ú¥Ù¡¼¥¹¤ò¥«¥¿¥«¥Ê¤ËÊѤ¨¤ë base-eisu ʸ»ú¥Ù¡¼¥¹¤ò±Ñ¿ô¤ËÊѤ¨¤ë base-kana ʸ»ú¥Ù¡¼¥¹¤ò¤Ò¤é¤¬¤Ê¤«¥«¥¿¥«¥Ê¤ËÊѤ¨¤ë base-zenkaku ʸ»ú¥Ù¡¼¥¹¤òÁ´³Ñ¤ËÊѤ¨¤ë base-hankaku ʸ»ú¥Ù¡¼¥¹¤òȾ³Ñ¤ËÊѤ¨¤ë base-kakutei ³ÎÄêÆþÎÏ¤ËÆþ¤ë base-henkan ³ÎÄêÆþÎϤòÈ´¤±¤ë base-hiragana-katakana-toggle ¤Ò¤é¤¬¤Ê¤È¥«¥¿¥«¥Ê¤ò¥È¥°¥ë¤¹¤ë base-kana-eisu-toggle ¤«¤Ê¤È±Ñ¿ô¤ò¥È¥°¥ë¤¹¤ë base-zenkaku-hankaku-toggle Á´³Ñ¤ÈȾ³Ñ¤ò¥È¥°¥ë¤¹¤ë base-kakutei-henkan-toggle ³ÎÄêÆþÎϤ«¤É¤¦¤«¤ò¥È¥°¥ë¤¹¤ë base-rotate-forward ʸ»ú¥Ù¡¼¥¹¤ò½çÁ÷¤ê¤ËÊѹ¹¤·¤Æ¤æ¤¯ base-rotate-backward ʸ»ú¥Ù¡¼¥¹¤òµÕÁ÷¤ê¤ËÊѹ¹¤·¤Æ¤æ¤¯ (b) ¥â¡¼¥ÉÄêµÁ¤ò»È¤¦ °Ê²¼¤ÇÀâÌÀ¤¹¤ë¥â¡¼¥ÉÄêµÁ¤ò»È¤¤¿·¤¿¤Ë¥â¡¼¥É¤òÄêµÁ¤·¤Þ¤¹¡£ (6)¥â¡¼¥ÉÄêµÁ ¥æ¡¼¥¶¤¬¼«Í³¤Ë¥â¡¼¥É¤òÄêµÁ¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤·¤¿¡£ ¥â¡¼¥É¤ÎÄêµÁ¤Ëȼ¤¤¡¢¤½¤Î¥â¡¼¥É¸ÇÍ­¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¡¢¥â¡¼¥É ɽ¼¨Ê¸»úÎó¡¢Ê¸»ú¥Ù¡¼¥¹¤Î¾õÂ֤ʤɤ¬ÁªÂò¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤êµ¿»÷¤«¤ÊÆþÎϥ⡼¥É¤ä£Ô¥³¡¼¥ÉÆþÎϥ⡼¥É¤Ê¤É¤¬ÄêµÁ¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¥æ¡¼¥¶ÄêµÁ¥â¡¼¥É¤À¤±¤ËÂФ·¤ÆÍ­¸ú¤Ê¥­¡¼¤Î³ä¤êÅö¤Æ¤ò¹Ô¤¦¤³¤È¤¬²Äǽ ¤Ç¤¹¡£ (7)µ­¹æ¥â¡¼¥É¤Ç¤Î¥«¥¹¥¿¥Þ¥¤¥º ¡Ø¤«¤ó¤Ê¡ÙVersion 1.1 ¤«¤é Version 1.2 ¤Ø¤È¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤µ¤ì¤¿»þ ¤Ëµ­¹æ¥â¡¼¥É¤À¤±¤ËÍ­¸ú¤Ç¤¢¤ë¸ÂÄꥫ¥¹¥¿¥Þ¥¤¥º¤¬¹Ô¤¨¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¤¬¡¢ ¸µ¤ËÌᤷ¤Þ¤·¤¿¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢µ­¹æ¥â¡¼¥É¸ÇÍ­¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£ 11.5 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´Ø¤·¤Æ¤Ï°Ê²¼¤ÎÊѹ¹¤¬¤¢¤ê¤Þ¤¹¡£ (1)¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥µ¥Ý¡¼¥È ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¥Ù¡¼¥¹¤Î¤«¤Ê´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ì ¤Ë¤è¤êÆüËܸì¤ò¼è¤ê°·¤¤°×¤¤¥ï¥¤¥É¥­¥ã¥é¥¯¥¿¤À¤±¤ò»È¤Ã¤ÆÆüËÜ¸ì´ØÏ¢¤Î¥¢ ¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ (2)KC_PARSE ¤ÎÊѹ¹ KC_PARSE ¤Ë¤è¤Ã¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥àÆÈ¼«¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤òÀßÄê ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤·¤¿¤¬¡¢¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î·Á¼°¤ÎÊѹ¹¤Ëȼ¤¤ KC_PARSE ¤ÇÍ¿¤¨¤ëʸ»úÎó¤âÊѹ¹¤Ë¤Ê¤ê¤Þ¤¹¡£ (3)IROHA_ ¤«¤é CANNA_ ¤Ø ¥â¡¼¥É¤äµ¡Ç½¡¢¥­¡¼¤Ê¤É¤òɽ¤¹¥Þ¥¯¥í̾¤È¤·¤ÆIROHA_¡ß¡ß¡ß¡ß¤¬¤¢¤ê¤Þ¤·¤¿ ¤¬¡¢¤³¤Î¥Þ¥¯¥í̾¤¬CANNA_¡ß¡ß¡ß¡ß¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£ ¤¿¤À¤·¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë -DIROHA_BC ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤êµì¥Þ¥¯¥í̾¤ò»È¤Ã ¤Æ¤¤¤Æ¤â¥³¥ó¥Ñ¥¤¥ë¤¬²Äǽ¤Ç¤¹¡£ (4)¥â¡¼¥ÉÈֹ桢µ¡Ç½ÈÖ¹æ ¥â¡¼¥ÉÈÖ¹æ(CANNA_MODE_¡ß¡ß¡ß¡ß)¡¢µ¡Ç½ÈÖ¹æ(CANNA_FN_¡ß¡ß¡ß¡ß)¤ÎÈֹ椬 °ìÉôÆþ¤ìÂØ¤ï¤ê¤Þ¤·¤¿¡£¤³¤ì¤é¤ÎÈÖ¹æ¤ò¥Þ¥¯¥í̾¤Ç¤Î¤ß°·¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï ÌäÂꤢ¤ê¤Þ¤»¤ó¤¬¡¢Ä¾ÀÜÈÖ¹æ¤ò¥×¥í¥°¥é¥à¤Ëµ­½Ò¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï½¤Àµ¤¬É¬ ÍפǤ¹¡£ (5)libiroha ¤«¤é libcanna ¤Ø ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬¥ê¥ó¥¯¤¹¤ë¥é¥¤¥Ö¥é¥ê¤¬ libiroha ¤«¤é libcanna ¤ËÊѹ¹¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ 11.6 ¥³¥Þ¥ó¥É¤ÎÊѹ¹ (1)¥³¥Þ¥ó¥É¤ÎÄɲà ¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤ä¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¿··Á¼°¤ËÂбþ¤¹¤ë¤¿¤á¤Î¥æ¡¼ ¥Æ¥£¥ê¥Æ¥£¥Ä¡¼¥ë¤ò»Ï¤á¤È¤·¤Æ¤¤¤¯¤Ä¤«¤Î¥³¥Þ¥ó¥É¤¬Äɲ䵤ì¤Þ¤·¤¿¡£ Äɲå³¥Þ¥ó¥É ³µÍ× ------------+------------------------------------------------------ canvert ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¡¢¤«¤Ê´Á»úÊÑ´¹¼­½ñÅù¤Î·Á¼°¤ÎÊÑ´¹ addwords °ì³çñ¸ìÅÐÏ¿ delwords °ì³çñ¸ìºï½ü 11.7 ¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ ¡Ø¤«¤ó¤Ê¡Ù¤Î̾¾Î¤¬·èÄꤷ¤¿¤³¤È¤Ëȼ¤¤º£¤Þ¤Ç iroha ¤¬ÉÕ¤¤¤¿¥Ç¥£¥ì¥¯¥È¥ê ¤Ë¸ºß¤·¤Æ¤¤¤¿¥Õ¥¡¥¤¥ë¤ò canna ¤¬ÉÕ¤¯¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¤Þ¤·¤¿¡£ (1)¼­½ñ´ØÏ¢ ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Õ¥¡¥¤¥ë¤ä¤«¤Ê´Á»úÊÑ´¹¥Õ¥¡¥¤¥ë¤Ï $(irohaLibDir)/dic ¤Ë°Üư¡¢¤½¤Î¾ $(irohaLibDir) ¤Ë¤¢¤Ã¤¿¤â¤Î¤Ï $(cannaLibDir) ¤Ë°Üư¤· ¤Þ¤·¤¿¡£ (2)¥í¥°¥Õ¥¡¥¤¥ë¡¢¥í¥Ã¥¯¥Õ¥¡¥¤¥ë ¥¨¥é¡¼¥í¥°¤ä¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Ï $(irohaSpoolDir) ¤«¤é $(cannaSpoolDir) ¤Ë°Üư¤·¤Þ¤·¤¿¡£ (3)¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ï $(irohaIncDir) ¤«¤é $(cannaIncDir) ¤ËÊѹ¹¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ (4)UNIXÄÌ¿®ÍÑ¥Õ¥¡¥¤¥ë ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤¬UNIX¥É¥á¥¤¥ó¤ÇÄÌ¿®¤¹¤ë¤¿¤á¤Î ¥Õ¥¡¥¤¥ë(/tmp/.iroha_unix/IROHA)¤Ë´Ø¤·¤Æ¤Ïµì¥¯¥é¥¤¥¢¥ó¥È¤È¤ÎÄÌ¿®¤Ë´Ø¤¹ ¤ë¸ß´¹À­³ÎÊݤΤ¿¤á¥Õ¥¡¥¤¥ë̾¤¬ÊѤï¤ê¤Þ¤»¤ó¡£ °Ê¾å /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ ($Id: OCHANGES.jp,v 1.1 2003/09/25 15:24:31 aida_s Exp $) Canna37p3/README0100644000076500001200000003060407734604257012546 0ustar shinraadmin CANNA Version 3.6, a Japanese input system Canna Project http://canna.sourceforge.jp/ 0. Preface This file describes the introduction of Canna. For installation of Canna or changes from the previous versions of Canna, see the file `INSTALL' or `CHANGES.jp' respectively. (Sorry, but `INSTALL' and `README' may not be updated compared to the files written in Japanese. Also sorry that `CHANGES' is provided only in Japanese.) 1. Overview This directory includes files which are source codes for a Japanese input system named Canna. Canna provides a unified user interface for Japanese input. *Note: Canna was called Iroha among developers of Canna previously. There exists a commonly usable Japanese input system called Wnn. Canna gives an alternative Japanese input system. Canna is based on a client-server model for kana-to-kanji conversion, that is, an application program which uses a Japanese input system communicates with a kana-to-kanji conversion server, which is a separate process from the application program. Canna has several features as follows: 1) Based on client-server model kana-to-kanji conversion 2) Supporting automatic kana-to-kanji conversion 3) Providing a unified user interface to input Japanese 4) Supporting customization by users 5) Based on lisp language customization 6) A mechanism to add a suitable part of speech to each registered words by users 7) Providing a library which supports a unified user interface 8) Maintenance tools for conversion dictionaries 9) A customizing tool which supports easy customization 10) Supporting Nemacs(Mule), kinput2 and uum Below, we would like to describe details of Canna's features. 2. Features of Canna 2.1 Based on client-server model kana-to-kanji conversion Canna converts kana to kanji based on a client-server model. That is, an application program communicates with a kana-to-kanji conversion server to achieve Japanese input. 2.2 Supporting automatic kana-to-kanji conversion Canna is the first free Japanese input system which supports automatic kana-to-kanji conversion which based on client-server model. Generally, it is not easy to operate Japanese with automatic kana-to-kanji conversion in PC environment. However, Canna makes it easier for supporting better user interface which extended their generally(unautomatically) conversion. 2.3 Providing a unified user interface to input Japanese Developers of Canna used to use Egg on Nemacs when we had to input Japanese. Egg was very harmonious with Nemacs and its user interface was convenient. *Note: Nemacs is a Japanese version of Emacs. Egg is an interface between Nemacs and Wnn. Egg provides a user interface by itself. On the other hand, if we had to input Japanese without Nemacs, for example, to input Japanese in command line of shell, we were not able to use Egg because Egg was usable only in Emacs environment. On the other hand, there is also a Japanese input system for TTYs called Uum, Uum has a different user interface from Egg and we did not become accustomed with it. Especially in using X clients, we were eager to use Egg's user interface to use them. We found a lot of good tools on the X window system such as xmh and xcalendar. Our desire was to localize those clients into our national language and to operate them with Egg's user interface. <> Thus, we decided to create an Egg like system and to provide it in a library. This is the Canna. Now, Canna provides more features than Egg. Canna can be used in Emacs, in X environments, and also on TTYs. 2.4 Supporting customization by users As well as key binding, it is possible to customize romaji-to-kana conversion rules, status describing strings, dictionaries, etc. A customization is described in a customization file. A customization file can be shared among applications using Canna. 2.5 Based on lisp language customization Canna used to use a simple syntax for a customization file. But once a new function is introduced to the syntax of the customization file, old application programs will have to be re-written to incorporate the new rules and conditions of Canna. According to use new customization syntax based on lisp language, it is possible to ignore the descriptions which old version's Canna cannot understand. With new syntax, you can get version of Canna or connected server, and it is also possible to customize on conditions of these versions. 2.6 A mechanism to add a suitable part of speech to each registered words by users When we made our own user interface, we added one new idea into the word registration part of Canna. In kana-to-kanji conversion system, more detailed parts of speech are used than what are used in school grammars. Canna uses almost 400 parts of speech. On the other hand, it might be almost impossible and unkind to ask users what kind of a part of speech must be used for the registered word. In Canna, we made a new mechanism to add a suitable part of speech to registered words. Canna shows several sentences using newly registered word, and ask user the usage is correct or not. Asking several questions to user helps Canna to decide what part of speech is suitable for the newly registered word. 2.7 Providing a library which supports a unified user interface A user-interface library is provided. With this library, programmers can easily add a Japanese input system with unified user interface to application programs. This library has higher-level functions than those Wnn's high-level library has, and interpretation of each input key is also processed inside of this library. An interface to this library is simple. Giving input key to this library returns several pieces of information to display pre-edit status. Interpretations of key functions are hidden inside of this library, and it is not necessary for application programs to be conscious of them. This library meets the case of treating inputs from several windows. By giving context identifiers which correspond to each window with key inputs to this library makes it possible to process plural kana-to-kanji conversion concurrently in a process. 2.8 Maintenance tools for conversion dictionaries Canna provides more than ten tools to maintain kana-to-kanji conversion dictionaries. Using these tools, you can do the following things. - Conversion between text format dictionaries and binary format ones. - Creating, deleting, listing, renaming dictionaries by remote operation - Uploading and downloading dictionaries - Adding/deleting items to/from a dictionary by a batch procedure 2.9 A customizing tool which supports easy customization In place of editing a customization file directly, it is possible to set up customization by using a customizing tool. 2.10 Supporting Nemacs(Mule), kinput2 and uum Canna provides a patch for Nemacs(Mule), which makes Nemacs(Mule) possible to input Japanese in Canna's unified user interface. And, after Mule 0.9.5, the distribution of Mule includes interface to Canna. If kinput2 use Canna as kana-to-kanji conversion engine, application programs which use kinput can use Canna's unified user interface to input Japanese Additionally, Canna supports a patch for uum, which makes possible to input Japanese in Canna on TTYs. For uum, see canuum/README.jp. (Sorry, but canuum/README.jp is in Japanese.) 3. Contents of Canna Canna contains the following things. - Kana-to-kanji conversion server (cannaserver) - User interface library (libcanna.a, libcanna.so.1) - Remote version of dictionary accessing library (libRKC.a) - Local version of dictionary accessing library (libRK.a) - Maintenance tools for conversion dictionaries - Patch files for uum of Canna version - A sample program 4. Documents Under this directory, there are several documents. Most of them are in Japanese. 1) Document of Canna (in Japanese) The document is in jlatex format and is in doc/man/guide. This document describes the general comments of how to use Canna. 2) Documents for commands The documents are in man macro format of roff and are in the respective directory. Source codes are also available in same directory. Japanese documents have suffix .jmn, and English have .man. 3) Documents for application interface library The documents are in man macro format of roff and are in lib/canna and lib/RK. 4) Document for kana-to-kanji conversion protocol (in Japanese) The document is in jlatex format and is in doc/intern. Canna has the protocol versions 1.0, 1.1, 2.0, 2.1, 3.0 and 3.2. The document of the protocol version 1.0 and 1.1 is the file proto12.tex. Other version's document is protocol.tex. 5) Document for lisp language of customization file (in Japanese) The document is in jlatex format and is in doc/lisp as canlisp.tex. 6) Document for uum of Canna version The notes is in text file format and is in canuum as README.jp. 7) Other Documents The documents are in jlatex format and are in doc/misc. 5. Bugs Canna have some bugs as follows: (1) Canuum doesn't run on Solaris 2.1. (2) Canuum doesn't run on SunOS 4.2 with compiler gcc. (3) On SONY NEWS, the terminal mode on pseudo tty is different which make by canuum. (4) No English documents as follows: canuum/canuum.man (5) When using automatic kana-to-kanji conversion, you sometimes can not convert correctly. (6) On Solaris 2.3, you will have some cores. (7) When you compile, you will have a warning message "Undefined row vectors: BM". Don't worry it. 6. Acknowledgements see README.ja. /* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ ($Id: README,v 1.6 2003/09/25 15:24:31 aida_s Exp $) Canna37p3/README.jp0100644000076500001200000004000407734604257013151 0ustar shinraadmin ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¡Ø¤«¤ó¤Ê¡ÙVersion 3.6 ¤Ë¤Ä¤¤¤Æ Canna Project http://canna.sourceforge.jp/ 0. ¤Ï¤¸¤á¤ëÁ°¤Ë ËÜ¥Õ¥¡¥¤¥ë¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Ë´Ø¤·¤Æ¤Î¾Ò²ð¤¬½ñ¤¤¤Æ¤¢¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¡Ø¤«¤ó ¤Ê¡Ù¤Î¥¤¥ó¥¹¥È¡¼¥ë¤äÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é¤ÎÊѹ¹ÅÀ¤Ê¤É¤Ë´Ø¤·¤Æ¤Ï INSTALL ¤ä CHANGES ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤(CHANGES, INSTALL, README ¤ÏÆüËܸìÈÇ¤Ë ÂФ·¤Æ´°Á´¤Ë¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó)¡£ 1. ¤Ï¤¸¤á¤Ë Ëܥǥ£¥ì¥¯¥È¥ê¤è¤ê²¼¤Ë¤¢¤ê¤Þ¤¹¥Õ¥¡¥¤¥ë¤ÏÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¡Ø¤«¤ó¤Ê¡Ù Version 3.6 ¤ò¹½À®¤¹¤ë¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¡Ø¤«¤ó¤Ê¡Ù¤ÏÆüËܸìÆþÎϤΤ¿¤á¤ÎÅý °ìŪ¤Ê¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ ¢¨Ãí: ¡Ø¤«¤ó¤Ê¡Ù¤Ï³«È¯¥³¡¼¥É¡Ø¤¤¤í¤Ï¡Ù¤Ç³«È¯¤µ¤ì¤¿ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à ¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢º£¤Ç¤â¡Ø¤¤¤í¤Ï¡Ù¤È¤¤¤¦Ì¾Á°¤ò»¶¸«¤¹¤ë¤³¤È¤¬¤¢ ¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢¤½¤ì¤Ï¸½ºß¤Î¡Ø¤«¤ó¤Ê¡Ù¤ò°ÕÌ£¤¹¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹ ¤Î¤Ç¤´Ãí°Õ²¼¤µ¤¤¡£ UNIX ¾å¤Ç¶¦Ä̤˻Ȥ¨¤ëÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤È¤·¤Æ Wnn ¤¬Â¸ºß¤·¤Þ¤·¤¿¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Ï UNIX ¾å¤ÎÆüËܸìÆþÎϤȤ·¤Æ Wnn °Ê³°¤Ë¤â¤¦°ì¤Ä¤ÎÁªÂò»è¤ò Í¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¤È»×¤¤¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤È¤·¤ÆÃ¯¤Ç¤âÍøÍѤǤ­¤ë¤è ¤¦¤Ë¤·¤Þ¤·¤¿¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Ï Wnn ¤ÈƱÍÍ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤È¤«¤Ê´Á»úÊÑ´¹¼­ ½ñ¤ò¥¢¥¯¥»¥¹¤¹¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤¬ÊÌ¤Î¥×¥í¥»¥¹¤È¤·¤ÆÊ¬Î¥¤µ¤ì¤¿¥¯¥é ¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð·¿¤Îưºî¤ò¤·¤Þ¤¹¡£¤³¤Î¤³¤È¤ò´Þ¤á¡Ø¤«¤ó¤Ê¡Ù¤ÎÆÃĹ¤È¤· ¤Æ°Ê²¼¤¬¤¢¤ê¤Þ¤¹¡£ (1) ¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥ÐÊý¼°¤Î¤«¤Ê´Á»úÊÑ´¹ (2) Ã༡¼«Æ°ÊÑ´¹¤Î¥µ¥Ý¡¼¥È (3) Åý°ìŪ¤Ê¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄó¶¡ (4) ¹­ÈϰϤʥ«¥¹¥¿¥Þ¥¤¥º¤Î¥µ¥Ý¡¼¥È (5) lisp ¸À¸ì¥Ù¡¼¥¹¤Î¥«¥¹¥¿¥Þ¥¤¥ºµ­½Ò (6) ñ¸ìÅÐÏ¿»þ¤ÎºÇŬ¤ÊÉÊ»ì¤Å¤± (7) Åý°ìŪ¤Ê¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò´Êñ¤ËÄ󶡤¹¤ë¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê (8) ¼­½ñ¤ò¥á¥ó¥Æ¥Ê¥ó¥¹¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É·² (9) ¥«¥¹¥¿¥Þ¥¤¥º¤ò´Êñ¤Ë¹Ô¤¦¤¿¤á¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Ä¡¼¥ë¤ÎÄó¶¡ (10) Nemacs(Mule)¡¢kinput2¡¢uum ¤Î¥µ¥Ý¡¼¥È °Ê²¼¤Ç¤Ï¤½¤ì¤¾¤ì¤Î¹àÌܤˤĤ¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ 2. ¡Ø¤«¤ó¤Ê¡Ù¤ÎÆÃŤˤĤ¤¤Æ 2.1 ¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥ÐÊý¼° ¡Ø¤«¤ó¤Ê¡Ù¤â Wnn ƱÍÍ¡¢¤«¤Ê´Á»úÊÑ´¹¤Ï¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ÈÀܳ¤·¤Æ¼Â ºÝ¤ÎÊÑ´¹¤ò¹Ô¤¦¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥ÐÊý¼°¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£ 2.2 Ã༡¼«Æ°ÊÑ´¹Êý¼°¤Î¥µ¥Ý¡¼¥È ¥Õ¥ê¡¼¤ÇÆþ¼ê¤Ç¤­¤ë¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥ÐÊý¼°¤Î¤«¤Ê´Á»úÊÑ´¹¥·¥¹¥Æ¥à¤È¤· ¤Æ¤Ï½é¤á¤ÆÃ༡¼«Æ°ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤·¤¿¡£½¾Íè¤Î¥Ñ¡¼¥½¥Ê¥ë¥³¥ó¥Ô¥å¡¼ ¥¿¤Ê¤É¤Ç¤ÏÃ༡¼«Æ°ÊÑ´¹¤ÎÁàºîÊýË¡¤¬¤®¤³¤Á¤Ê¤¤¾ì¹ç¤¬Â¿¤¯¤¢¤ê¤Þ¤·¤¿¤¬¡¢ ϢʸÀáÊÑ´¹¤Ç¤Î¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼«Á³¤Ë³ÈÄ¥¤¹¤ë·Á¤ÎÁàºîË¡¤òÄ󶡤· ¤Æ¤ª¤ê¡¢Ã¯¤Ç¤â¼«Á³¤ËÃ༡¼«Æ°ÊÑ´¹¤òÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ 2.3 Åý°ìŪ¤Ê¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÄó¶¡ É®¼Ô¤é¤Ï UNIX ¾å¤ÇÆüËܸì¤òÆþÎϤ¹¤ë¼êÃʤȤ·¤Æ Nemacs ¾å¤Î¡Ø¤¿¤Þ¤´¡Ù¤ò »ÈÍѤ·¤Æ¤¤¤Þ¤·¤¿¡£¡Ø¤¿¤Þ¤´¡Ù¤Ï Nemacs ¤È¤Î¿ÆÏÂÀ­¤âÎɤ¯¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼ ¥¹¤¬ÂçÊѻȤ¤¤ä¤¹¤¤¤È¤¤¤¦ÆÃŤò»ý¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ ¤¤¤Ã¤Ý¤¦ Nemacs ¤ò»È¤ï¤Ê¤¤¤ÇÆüËܸì¤òÆþÎϤ¹¤ë¾ì¹ç¡¢¤¹¤Ê¤ï¤Á¡¢¥³¥Þ¥ó¥É ¥é¥¤¥óÅù¤ÎÆþÎϤǤϡؤ¿¤Þ¤´¡Ù¤¬»È¤¨¤Þ¤»¤ó¡£TTY ¤Ç¤ÎÆþÎϤò¹Ô¤¦¥×¥í¥°¥é ¥à¤È¤·¤Æ¤Ï Wnn(uum) ¤¬¤¢¤ê¤Þ¤·¤¿¤¬¡¢Wnn ¤Ï¡Ø¤¿¤Þ¤´¡Ù¤È°Û¤Ê¤ë¥æ¡¼¥¶¥¤ ¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ý¤Ã¤Æ¤ª¤ê¡Ø¤¿¤Þ¤´¡Ù¤Ë´·¤ì¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤â¤Î¤Ë¤Ï¤Á¤ç¤Ã ¤È¤Þ¤´¤Ä¤¯¤è¤¦¤Ê¾ì¹ç¤¬¤¢¤ê¤Þ¤·¤¿¡£Î㤨¤Ð grep ¤Ç¤Á¤ç¤Ã¤ÈÆüËܸì¤òÆþ¤ì ¤¿¤¤»þ¤Ê¤É¤Ë¤è¤¯¶ìÏ«¤·¤Æ¤¤¤Þ¤·¤¿(·ë¶É Emacs shell ¤ò»È¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹ ¤¬)¡£ ¤Û¤É¤Ê¤¯¤·¤Æ£Ø¥¦¥£¥ó¥É¥¦¤ò¥Ù¡¼¥¹¤È¤·¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬Éý ¤ò¸ú¤«¤»¤ÆÍè¤Þ¤·¤¿¡£¤½¤ÎÃæ¤Ë¤Ï xmh ¤ä xcalendar ¤Î¤è¤¦¤Ê¼ÂºÝ¤ËÀ§Èó»È ¤¤¤¿¤¤¤è¤¦¤Ê¤â¤Î¤âÆþ¤Ã¤ÆÍè¤Þ¤·¤¿¡£¤³¤ì¤é¤Î£Ø¥Ù¡¼¥¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¥×¥í¥°¥é¥à¤ÏÅö½é±Ñ¸ì¤À¤±¤òÂоݤȤ·¤Æ¤ª¤êÆüËܸ첽¤Ï¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Ç¤· ¤¿¡£¤½¤Î¤³¤í¤Ï¡¢¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤òÆüËܸ첽¤·¡¢ÆüËܸìÆþÎϤȤ·¤Æ¤â ¡Ø¤¿¤Þ¤´¡Ù¤¬»È¤¨¤ì¤Ð¤Ê¤É¤ÈÌ´¤ò¸«¤¿¤ê¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¡Ô¡Ø¤¿¤Þ¤´¡Ù¤òºî¤í¤¦¡Õ ¤È¤¤¤¦¤³¤È¤Ç¡Ø¤¿¤Þ¤´¡Ù¤Î¤è¤¦¤Ê¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ý¤Ä¤â¤Î¤òºî¤Ã¤Æ ¥é¥¤¥Ö¥é¥ê¤È¤·¤ÆÄ󶡤·¤è¤¦¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤½¤ì¤¬¡Ø¤«¤ó¤Ê¡Ù¤Ç ¤¹¡£ °ì¸À¤Ç¸À¤Ã¤Æ¡Ø¤«¤ó¤Ê¡Ù¤Ï¡Ø¤¿¤Þ¤´¡Ù¤Î¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¤¤¤¿¤ë¤È¤³ ¤í(¤¹¤Ê¤ï¤Á¡¢TTY ¤ä£Ø¥¯¥é¥¤¥¢¥ó¥È)¤ÇÄ󶡤¹¤ë¤â¤Î¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤¬¤Ç ¤­¤Þ¤¹¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Ç¤ÏÅö»þ¤Î¡Ø¤¿¤Þ¤´¡Ù¤Ç¤Ï¶ì¼ê¤À¤Ã¤¿ÆÉ¤ßÆþÎϸå¤Î¥í¡¼¥Þ»úÊÑ´¹ ¤ä»ú¼ïÊÑ´¹¡¢µ­¹æ°ìÍ÷¤Ê¤É¤â¼è¤ê¹þ¤ó¤Ç¤¢¤ê¤Þ¤¹¡£¡Ø¤«¤ó¤Ê¡Ù¤Ï¸½¾õ¤Ç¤Ï Emacs ¤ä£Ø¥¦¥£¥ó¥É¥¦´Ä¶­¡¢TTY ¾å¤Ê¤É¤ÇÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ 2.4 ¹­ÈϰϤʥ«¥¹¥¿¥Þ¥¤¥º¤Î¥µ¥Ý¡¼¥È ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òÍѤ¤¤Æ¥­¡¼¤Î³ä¤êÅö¤Æ¤ä¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹µ¬Â§¤ò¤Ï ¤¸¤á¤È¤·¤Æ¡¢¥â¡¼¥Éɽ¼¨Ê¸»úÎó¡¢¼­½ñ¤Î»ØÄê¤Ê¤É¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬¹Ô¤¨¤Þ¤¹¡£ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Ï¡Ø¤«¤ó¤Ê¡Ù¤òÍѤ¤¤Æ¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤Ã¤Æ¤¤¤ë¥¢¥× ¥ê¥±¡¼¥·¥ç¥ó´Ö¤Ç¶¦Í­¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ 2.5 lisp ¸À¸ì¥Ù¡¼¥¹¤Î¥«¥¹¥¿¥Þ¥¤¥ºµ­½Ò ´û¸¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤Î¥·¥ó¥¿¥Ã¥¯¥¹¤Ï³ÈÄ¥À­¤¬Ë³¤·¤«¤Ã¤¿¤¿¤á¡¢¥Ð¡¼ ¥¸¥ç¥ó¥¢¥Ã¥×»þ¤Ë¿·¤·¤¤¥«¥¹¥¿¥Þ¥¤¥ºµ­½Ò¤òÁÈ¤ßÆþ¤ì¤ë¤È¸Å¤¤¥¢¥×¥ê¥±¡¼¥·¥ç ¥ó¥×¥í¥°¥é¥à¤¬²óÉüÉÔǽ¤Ê¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼¤È¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ ¤³¤ì¤ò lisp ¸À¸ì¤Î¥·¥ó¥×¥ë¤Ê¹½Ê¸¤ò¥Ù¡¼¥¹¤È¤¹¤ë¤³¤È¤Ç²ò·è¤·¡¢°ìÉôÍý²ò ¤Ç¤­¤Ê¤¤Éôʬ¤¬¤¢¤Ã¤Æ¤âÆÉ¤ßÈô¤Ð¤·¤Æ¼¡¤ÎÀßÄê¤ò¹Ô¤¦¤³¤È¤ò²Äǽ¤È¤·¤Þ¤·¤¿¡£ ¤Þ¤¿¡¢¿··Á¼°¤Ç¤Ï¸½ºß¤Î¡Ø¤«¤ó¤Ê¡Ù¤Î¥Ð¡¼¥¸¥ç¥ó¡¢Àܳ¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¤Î ¥Ð¡¼¥¸¥ç¥ó¤Ê¤É¤òÌ䤤¹ç¤ï¤»¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ê¡¢¤½¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã ¤Æ¾ò·ïŪ¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤ÎÀßÄê¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤Ç¤¹¡£ 2.6 ñ¸ìÅÐÏ¿»þ¤ÎºÇŬ¤ÊÉÊ»ì¤Å¤± ¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀ°È÷¤¹¤ë¤È¤­¡¢¤Ä¤¤¤Ç¤Ëñ¸ìÅÐÏ¿¤Ç¤Ò¤È¹©ÉפòÉÕ¤± ²Ã¤¨¤Þ¤·¤¿¡£ ¤«¤Ê´Á»úÊÑ´¹¤Ç¤Ï¹ñ¸ìʸˡ¤è¤ê¤â¾ÜºÙ¤ÊÉÊ»ìʬ¤±¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£Î㤨¤Ð¡¢ ¥«¹Ô¸ÞÃʳèÍÑ¤ÎÆ°»ì¡Ø¶Á¤¯¡Ù¤ÏÏ¢ÍÑ·Á³èÍѸìÈø¤Ç¤¢¤ë¡Ø¶Á¤­¡Ù¤â¡ÖÎɤ¤¶Á¤­ ¤ò»ý¤Ä¥Û¥ë¥ó¡×¤Î¤è¤¦¤Ë̾»ìŪ¤Ë»È¤ï¤ì¤Þ¤¹¤¬¡¢Æ±¤¸¥«¹Ô¸ÞÃʳèÍÑ¤ÎÆ°»ì ¡Ø½ñ¤¯¡Ù¤Ë´Ø¤·¤Æ¤Ï¡ÖÁÇÀ²¤é¤·¤¤½ñ¤­¤ò»ý¤Ã¤Æ¤Þ¤¹¤Í¡×¤Î¤è¤¦¤Ê»È¤ï¤ìÊý¤Ï ¤·¤Þ¤»¤ó¤Î¤Ç°ã¤¦ÉÊ»ì¤ò¤Ä¤±¤Þ¤¹¡£ ¾åµ­¤Î 2 ¤Ä¤Îñ¸ì¤ÎÉÊ»ì¤ò¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢Ã±¸ì¤òÅÐÏ¿¤¹¤ë¤È¤­¤ËÉÊ»ì¤Î ºÙʬ²½¤ò¹Ô¤¦¤¿¤á¤Î¼ÁÌä¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£Î㤨¤Ð¡¢¡Ø¶Á¤¯¡Ù¤ò¿·¤¿¤Ë ÅÐÏ¿¤·¤¿¤È¤­¤Ë¡¢¡Ø¡Ö¶Á¤­¤¬¤¤¤¤¡×¤ÏÀµ¤·¤¤¤Ç¤¹¤«¡©¡Ù¤Î¤è¤¦¤ÊÍÑË¡¤Ë´Ø¤¹ ¤ë¼ÁÌä¤òÍøÍѼԤËÂФ·¤Æ¹Ô¤¤¡¢Àµ³Î¤ÊÉÊ»ì¤Å¤±¤ò¹Ô¤¦¤¿¤á¤ÎȽÃǤò¤·¤Æ¤¤¤Þ ¤¹¡£ ƱÍͤÊȽÃǤϡ¢Ì¾»ì¡¢·ÁÍÆ»ì¡¢·ÁÍÆÆ°»ì¤Ê¤É¤ÎÅÐÏ¿¤Î¤È¤­¤Ë¤â¹Ô¤ï¤ì¤Þ¤¹¡£ 2.7 Åý°ìŪ¤Ê¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò´Êñ¤ËÄ󶡤¹¤ë¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê Åý°ìŪ¤Ê¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò´Êñ¤Ë³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤é ÍøÍѤǤ­¤ë¤è¤¦¤Ë¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥ì¥Ù¥ë¤Î¥é¥¤¥Ö¥é¥ê¤òÄ󶡤·¤Æ¤¤¤Þ ¤¹¡£ Ëܥ饤¥Ö¥é¥ê¤Ï Wnn4 ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¹â¥ì¥Ù¥ë¥é¥¤¥Ö¥é¥ê¤è¤ê¤â¤µ¤é¤Ë¹â ¤¤¥ì¥Ù¥ë¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤¢¤ê¡¢ÆþÎϤµ¤ì¤¿¥­¡¼¤Î²ò¼á¤â¥é¥¤¥Ö¥é¥êÆâÉô¤Ç¹Ô¤Ã ¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¥é¥¤¥Ö¥é¥ê¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ïñ½ã¤ÇÆþÎϤȤʤ륭¡¼¤òÍ¿¤¨¤ë¤Èɽ¼¨¤¹ ¤ë¤¿¤á¤Îʸ»úÎ󤬥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÌᤵ¤ì¤ë¤è¤¦¤Ê·Á¤Ë¤Ê¤Ã¤Æ ¤¤¤Þ¤¹¡£¥­¡¼¤Î²ò¼á¤Ê¤É¤Ï¥é¥¤¥Ö¥é¥êÆâÉô¤Ë±£¤µ¤ì¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç ¥ó¥×¥í¥°¥é¥à¤¬°Õ¼±¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¤³¤Î¥é¥¤¥Ö¥é¥ê¤Ï¥Þ¥ë¥Á¥¦¥£¥ó¥É¥¦¤«¤é¤ÎÆþÎϤòñ°ì¥×¥í¥»¥¹¤Ç¹Ô¤¦¾ì¹ç¤Ë ¤âÂбþ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£³Æ¥¦¥£¥ó¥É¥¦¤«¤é¤ÎÆþÎϤò¡¢¥³¥ó¥Æ¥¯¥¹¥È¼±Ê̻Ҥˤè¤Ã ¤Æ¶èÊ̤·¡¢¥é¥¤¥Ö¥é¥ê¤ËÍ¿¤¨¤ë¤³¤È¤Ë¤è¤êÊ£¿ô¤Î¤«¤Ê´Á»úÊÑ´¹¤òñ°ì¥×¥í¥» ¥¹Æâ¤ÇʹԤ·¤Æ¿Ê¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ 2.8 ¼­½ñ¤ò¥á¥ó¥Æ¥Ê¥ó¥¹¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É·² ¡Ø¤«¤ó¤Ê¡Ù¤Ï¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤ò¥á¥ó¥Æ¥Ê¥ó¥¹¤¹¤ë¤¿¤á¤Î 10 ¿ô¸Ä¤Î¥Ä¡¼¥ë ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Ä¡¼¥ë¤Ç¤Ï¡¢°Ê²¼¤Î»ö¤¬¹Ô¤¨¤Þ¤¹¡£ ¡¦¥Æ¥­¥¹¥È¼­½ñ¤È¥Ð¥¤¥Ê¥ê¼­½ñ¤ÎÁê¸ßÊÑ´¹ ¡¦¥µ¡¼¥ÐÇÛ²¼¤Ç¼­½ñ¤ÎºîÀ®¡¢ºï½ü¡¢°ìÍ÷¡¢¥ê¥Í¡¼¥à ¡¦¼­½ñ¤Î¥¢¥Ã¥×¥í¡¼¥É¡¢¥À¥¦¥ó¥í¡¼¥É ¡¦¼­½ñ¤Î¹àÌܤΥХåÁŪ¤ÊÄɲᢺï½ü 2.9 ¥«¥¹¥¿¥Þ¥¤¥º¥Ä¡¼¥ë¤ÎÄó¶¡ ¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¤òľÀÜ¥¨¥Ç¥£¥Ã¥È¤¹¤ëÂå¤ï¤ê¤Ë¥«¥¹¥¿¥Þ¥¤¥º¥Ä¡¼¥ë (ccustom)¤ò»È¤Ã¤Æ¥«¥¹¥¿¥Þ¥¤¥ºÀßÄê¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ 2.10 Nemacs(Mule)¡¢kinput¡¢uum ¤Î¥µ¥Ý¡¼¥È ¶¦Ä̤Υ桼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¹­¤¯ÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë Nemacs(Mule) ¤ËÂФ¹¤ë¥Ñ¥Ã¥Á¤òÍѰդ·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢Mule 0.9.5 ÈÇ°Ê¹ß ¤Ç¤Ï Mule ¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë¡Ø¤«¤ó¤Ê¡Ù¤È¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬´Þ ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ´û¸¤Î£Ø¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ç kinput ¤ËÂбþ¤·¤Æ¤¤¤ë¤â¤Î¤Ë´Ø ¤·¤Æ¤Ï¡¢kinput2 ¤Ç¤«¤Ê´Á»úÊÑ´¹¥¨¥ó¥¸¥ó¤È¤·¤Æ¡Ø¤«¤ó¤Ê¡Ù¤òÍѤ¤¤ë¤³¤È¤Ë ¤è¤ê¡¢¤½¤ì¤é¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ç¡Ø¤«¤ó¤Ê¡Ù¤Î¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼ ¥¹¤òÍѤ¤¤ÆÆüËܸìÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥­¥ã¥é¥¯¥¿Ã¼Ëö¤Ç»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤â¡Ø¤«¤ó¤Ê¡Ù¤¬»È¤¨¤ë¤è¤¦¤Ë TTY ÍѤΠ¥Õ¥í¥ó¥È¥¨¥ó¥É¤Ç¤¢¤ë uum ¤ËÂФ¹¤ë¥Ñ¥Ã¥Á¤òÄ󶡤·¤Þ¤¹¡£uum ¤Ë¤Ä¤­¤Þ¤· ¤Æ¤Ï¤µ¤é¤Ë canuum/README.j ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ 3. ¡Ø¤«¤ó¤Ê¡Ù¤ò¹½À®¤¹¤ëʪ·ï ¡Ø¤«¤ó¤Ê¡Ù¤Ï°Ê²¼¤Îʪ·ï¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£ ¡¦¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð(cannaserver) ¡¦¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥é¥¤¥Ö¥é¥ê(libcanna.a¡¢libcanna.so.1) ¡¦¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¥ê¥â¡¼¥ÈÈÇ(libRKC.a) ¡¦¼­½ñ¥¢¥¯¥»¥¹¥é¥¤¥Ö¥é¥ê¥í¡¼¥«¥ëÈÇ(libRK.a) ¡¦³Æ¼ï¼­½ñ¥á¥ó¥Æ¥Ê¥ó¥¹¥³¥Þ¥ó¥É ¡¦¡Ø¤«¤ó¤Ê¡ÙÈÇ uum ºîÀ®¤Î¤¿¤á¤Î¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë ¡¦¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à 4. ¥É¥­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ ¡Ø¤«¤ó¤Ê¡Ù¤Î¥É¥­¥å¥á¥ó¥È¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ (1) ¡Ø¤«¤ó¤Ê¡Ù¥Þ¥Ë¥å¥¢¥ë doc/man/guide ¤Î²¼¤Ë jLaTeX ·Á¼°¤ÇÍѰդ·¤Æ¤¢¤ê¤Þ¤¹¡£¤³¤Î¥É¥­¥å¥á¥ó ¥È¤Ç¤Ï¡Ø¤«¤ó¤Ê¡Ù¤ò»È¤¦¤¿¤á¤Î¼ê°úÁ´È̤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ (2) ³Æ¼ï¥³¥Þ¥ó¥É¤Ë´Ø¤¹¤ë¥É¥­¥å¥á¥ó¥È cmd ¤Î²¼¤Î³Æ¥³¥Þ¥ó¥É¤Î¥½¡¼¥¹¥×¥í¥°¥é¥à¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë nroff/troff ¤Î man ¥Þ¥¯¥í¤ÇÍѰդ·¤Æ¤¢¤ê¤Þ¤¹¡£ ¤³¤³¤Ç¡¢ÆüËܸì¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï³ÈÄ¥»Ò .jmn¡¢±Ñ¸ì¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸ ¤Ï .man ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ (3) ³Æ¼ï¥é¥¤¥Ö¥é¥ê¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´Ø¤¹¤ë¥É¥­¥å¥á¥ó¥È lib/canna ¤Î²¼¤Ë nroff ¤Î man ¥Þ¥¯¥í¤ÇÍѰդ·¤Æ¤¢¤ê¤Þ¤¹¡£ (4) ¤«¤Ê´Á»úÊÑ´¹¥×¥í¥È¥³¥ë¤Ë´Ø¤¹¤ë¥É¥­¥å¥á¥ó¥È doc/intern/protocol.tex ¤È¤·¤Æ jLaTeX ¤Î·Á¼°¤ÇÍѰդ·¤Æ¤¢¤ê¤Þ¤¹¡£ ¡Ø¤«¤ó¤Ê¡Ù¥×¥í¥È¥³¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢1.0, 1.1, 2.0, 2.1, 3.0, 3.2 ¤¬¤¢¤ê¤Þ¤¹¡£1.0, 1.1 ¤Î¥×¥í¥È¥³¥ë¤Ë´Ø¤·¤Æ¤Î¥É¥­¥å¥á¥ó¥È¤Ï¡¢ doc/intern/proto12.tex ¤È¤·¤ÆÍѰդ·¤Æ¤¢¤ê¡¢¤½¤ì°Ê³°¤Î¥×¥í¥È¥³¥ë¤Ë ´Ø¤·¤Æ¤Ï doc/intern/protocol.tex ¤È¤·¤ÆÍѰդ·¤Æ¤¢¤ê¤Þ¤¹¡£ (5) .canna lisp ¸À¸ì»ÅÍͤ˴ؤ¹¤ë¥É¥­¥å¥á¥ó¥È doc/lisp/canlisp.tex ¤È¤·¤Æ .canna ¤ò¥Ñ¡¼¥¹¤¹¤ë lisp ¸À¸ì»ÅÍÍ¤Ë´Ø ¤¹¤ë¥É¥­¥å¥á¥ó¥È¤¬ÍѰդ·¤Æ¤¢¤ê¤Þ¤¹¡£ (6) ¡Ø¤«¤ó¤Ê¡ÙÈÇ uum ¤Ë´Ø¤¹¤ë¥É¥­¥å¥á¥ó¥È canuum/README.jp ¤Ë¡Ø¤«¤ó¤Ê¡ÙÈÇ uum ¤Ë´Ø¤¹¤ëÃí°Õ»ö¹à¤òµ­½Ò¤·¤Æ¤¤¤Þ ¤¹¡£ (7) ¤½¤Î¾¤Î¥É¥­¥å¥á¥ó¥È ¥ï¥¤¥É¥­¥ã¥é¥¯¥¿ÄêµÁ¤Î¡¢³Æ¥Þ¥·¥ó¤Ç¤Î°ã¤¤¤ÎÈæ³Ó(wchar.tex)¤ä¡¢¤«¤Ê ´Á»úÊÑ´¹¥¨¥ó¥¸¥ó¤ÎÀÚ¤êÂØ¤¨¤ò¹Ô¤¦¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¥³¥ó¥Ñ¥¤¥ë¤Î¤·¤«¤¿ ¤Ë´Ø¤¹¤ëµ­½Ò(engine.tx)¤¬ doc/misc ²¼¤Ë¤¢¤ê¤Þ¤¹¡£ 5. ´ûÃΥХ° º£¤Î¤È¤³¤í°Ê²¼¤ÎÌäÂ꤬²ò·è¤·¤Æ¤ª¤ê¤Þ¤»¤ó¡£²ò·è¤Ë¸þ¤±¤Æ¤Î¤´½õ¸À¤¬¤¢¤ê ¤Þ¤·¤¿¤é¤ª´ê¤¤¤·¤Þ¤¹¡£ (1) canuum ¤¬ Solaris 2.1 ¤Ç¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¡£ (2) canuum ¤¬ SunOS 4.2 ¤È gcc ¤ÎÁȹ礻¤Î¤È¤­¤Ë¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¡£ (3) SONY NEWS ¤Ç¡¢canuum ¤ÇºîÀ®¤µ¤ì¤ë pseudo tty ¤Ç¥¿¡¼¥ß¥Ê¥ë¤Î¥â¡¼ ¥É¤¬¤ª¤«¤·¤¤¡£ (4) °Ê²¼¤Î±Ñʸ¥Þ¥Ë¥å¥¢¥ë¤¬Â­¤ê¤Ê¤¤¡£ canuum/canuum.man (5) Ã༡¼«Æ°ÊÑ´¹¤Ç¤¦¤Þ¤¯ÊÑ´¹¤Ç¤­¤Ê¤¤¤³¤È¤¬¤¢¤ë¡£ (6) Solaris 2.3 ¤Ç core ¤òÅǤ¯¡£ (7) ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë°Ê²¼¤Î warning ¤¬½Ð¤ë¡£ Undefind row vectors: BM 6. ¼Õ¼­ ¡Ø¤«¤ó¤Ê¡Ù¤Ï¸µ¡¹¡¢º£»á¤òÃæ¿´¤Ë¡¢NEC¤Ç¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤È¤·¤Æ³«È¯¤µ¤ì ¤Þ¤·¤¿¡£ÁÇÀ²¤é¤·¤¤¥½¥Õ¥È¥¦¥§¥¢¤ò³«È¯¤·¤Æ¤¯¤À¤µ¤¤¤Þ¤·¤¿NEC¤Ë´¶¼Õ¤¤¤¿¤· ¤Þ¤¹¡£ ¤Þ¤¿¡¢¸½ºß¡Ø¤«¤ó¤Ê¡Ù¤Î³«È¯¤äÇÛÉÛ¤ËɬÍפʥµ¡¼¥Ó¥¹¤Î¤Û¤È¤ó¤É¤òÄ󶡤·¤Æ ²¼¤µ¤Ã¤Æ¤¤¤ë¡¢sourceforge.jp¤Î³§¤µ¤ó¤Ë´¶¼Õ¤ò¿½¤·¾å¤²¤Þ¤¹¡£ Debian GNU/Linux¤Î¥Ñ¥Ã¥Á¤«¤é¤Ï¡¢Â¿¤¯¤Î¥³¡¼¥É¤ò¼ÚÍѤµ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤· ¤¿¡£Debian¤Î³«È¯¼Ô¤Î³§¤µ¤ó¡¢ÆÃ¤Ë¥Ñ¥Ã¥±¡¼¥¸¥á¥ó¥Æ¥Ê¤ÎÌø¸¶ÎÉμ»á¡¢ÀÐÀî ËÓ»á¤Ë´¶¼Õ¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢NEC»þÂå¤Ë¤â¡¢¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ê¤É¤òÄ̤·¤Æ¡¢¤µ¤Þ¤¶¤Þ¤ÊÊý¤¬³«È¯ ¤Ë¶¨ÎϤ·¤Æ¤¯¤À¤µ¤¤¤Þ¤·¤¿¡£¤½¤ì¤¾¤ì¤ÎÈǤΥ³¥ó¥Ñ¥¤¥ëÊó¹ð¡¢¥³¥ó¥Ñ¥¤¥ë»þ ¤ÎÌäÂê¤Î»ØÅ¦¡¢¸«¤Ä¤±¤Ë¤¯¤¤¥Ð¥°¤Î»ØÅ¦¡¢¤µ¤é¤Ë¤Ï¥Ñ¥Ã¥Á¤Ê¤É¡¢¤µ¤Þ¤¶¤Þ¤Ê ·Á¤Ç¡Ø¤«¤ó¤Ê¡Ù¤òȯŸ¤µ¤»¤Æ¤¯¤À¤µ¤¤¤Þ¤·¤¿°Ê²¼¤Î³§¤µ¤ó¤Ë´¶¼Õ¤·¤Þ¤¹¡£ ÆüËÜIBM¤Î¾åÌîÇî»á¡¢ÉÍ̾¸ÐÃϰè¥Í¥Ã¥È¥ï¡¼¥¯¸¦µæ²ñ¤Î¾®ÃÓ»ÖϺ»á¡¢¥Õ¥ê¡¼ ¥é¥¤¥¿¡¼¤Î±©º¬½¨Ìé»á¡¢¤Ä¤Ð¤¤»á¡£ ·Ä±þÂç³Ø¤ÎÂç´ä¸µ¶µ¼ø¤Ë¤Ï TUT ¥³¡¼¥ÉÆþÎϤò¡Ø¤«¤ó¤Ê¡Ù¤Î°ìµ¡Ç½¤È¤·¤ÆÄó ¶¡¤¹¤ë¤³¤È¤ò¤´²÷Âú¤¤¤¿¤À¤­¤Þ¤·¤¿¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£TUT ¥³¡¼¥É ÆþÎϵ¡Ç½¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 2.2 patch level 2 ¤è¤êÄ󶡤µ¤ì¤Þ¤·¤¿¡£ ÅìÂç¤Î¸ÅȪ¤È¤â¤¿¤±»á¤Ï¡Ø¤«¤ó¤Ê¡ÙVersion 1.2 ¤Î Imakefile ¤ËÂФ·¤ÆÉÔ ¶ñ¹ç¤Î»ØÅ¦µÚ¤Ó½¤ÀµÍѥѥåÁ¤ò¤ªÁ÷¤ê¤¯¤À¤µ¤¤¤Þ¤·¤¿(¡Ø¤«¤ó¤Ê¡Ù¤Ï¥Ç¥£¥ì ¥¯¥È¥ê¤Î¿ô¤¬¤¿¤¯¤µ¤ó¤¢¤ê¡¢Imakefile ¤Î¿ô¤âȾü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¡£¡Ø¤« ¤ó¤Ê¡ÙVersion 2.2 °Ê¹ß¤Î Imakefile ¤Ï»á¤Î¥Ñ¥Ã¥Á¤ò¥Ù¡¼¥¹¤È¤·¤Æ¤ª¤ê¤Þ ¤¹¡£ÂçÊѤ¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£ ÂçºåÂç³Ø¤Î¾£Ã«ÊÝÇî»á¤ÈNEC ¥½¥Õ¥È¥¦¥§¥¢¤Î¹â»³²í¼ù»á¤Ë¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù¤Î ¥É¥­¥å¥á¥ó¥È¤ÎÀ°È÷¤ò¹Ô¤Ã¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£¡Ø¤«¤ó¤Ê¡Ù¤Î³Æ¼ï¥Ç¥£¥ì¥¯¥È ¥ê¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤è¤Ã¤Æ¤É¤¦¤Ê¤ë¤«¤ï¤«¤é¤Ê¤¤¤¿¤á¡¢¥É¥­¥å¥á¥ó¥È¤È°ìÃ× ¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤È¸À¤¦ÌäÂ꤬¤¢¤ê¤Þ¤·¤¿¡£¤³¤ÎÌäÂ꤬²ò¾Ã¤µ¤ì¤¿¤Î¤Ïξ»á ¤Î¤ª¤«¤²¤Ç¤¹¡£¤É¤¦¤â¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Î¥¨¥ó¥¸¥óÀÚÂØ¤¨Éô¤Î HP-UX ÂбþÉô¤Ï¾¾Âô¹â»Ö»á¤Ë¤è¤êµ­½Ò¤µ ¤ì¤Æ¤ª¤ê¤Þ¤¹¡£¤µ¤é¤Ë»á¤Ë¤Ï¥¨¥ó¥¸¥óÀÚÂØ¤¨¤È HP-UX ¤Ë´Ø¤·¤Æ¤¤¤í¤¤¤í¤È ¤´½õ¸À¤ò夭¤Þ¤·¤¿¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£ PRUG ¤Î´Ø¸ù»á¡¢·Ä±þµÁ½ÎÂç³Ø¤Î¹­À¥ÍºÆó»á¡¢Ì¾¸Å²°¹©¶ÈÂç³Ø¤Î¾¾²¬¹¯¹­»á ¤Ë¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù¤ò NEmacs ¤ä Mule ¤«¤é»È¤¦¾ì¹ç¤ÎÉÔ¶ñ¹ç¤ò»ØÅ¦¤·¤Æ¤¤¤¿ ¤À¤¤¤¿¤ê¡¢¤½¤ì¤ò½¤Àµ¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á¤ò¤¤¤¿¤À¤­¤Þ¤·¤¿¡£¤É¤¦¤â¤¢¤ê¤¬¤È ¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£NEmacs/Mule ´ØÏ¢¤Ë´Ø¤·¤Æ¤ÏËÜ¥ê¥ê¡¼¥¹¤Ë¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó ¤¬¡¢ÊÌÅÓ²þÁ±¤·¤Æ¹Ô¤­¤¿¤¤¤È»×¤¤¤Þ¤¹¡£ cannaserver ¤Î TTY ¤È¤ÎÀÚ¤êÎ¥¤·¤ä¡¢²ÄÊѸİú¿ô¤Ë´Ø¤¹¤ë¥Ý¡¼¥¿¥Ö¥ë¤Ê¥× ¥í¥°¥é¥à¤Îµ­½ÒË¡¤Ë´Ø¤·¤Æ¡¢ÆàÎÉÀèü²Ê³Øµ»½ÑÂç³Ø±¡Âç³Ø¤ÎºäËܲ§»á¡¢ SRA¤ÎÀÐÁ¾º¬¿®»á¡¢SRA¤ÎÆîÌî¼÷»á¡¢ÅìËÌÂç¤Î¶âëµÈÀ®»á¡¢¥ê¥³¡¼¤ÎÂÀÅĽã»á¡¢ DIT ¤ÎÆÁÀîµÁ¿ò»á¡¢ÉٻΥ¼¥í¥Ã¥¯¥¹¾ðÊó¥·¥¹¥Æ¥à¤Î¿À¸ÍδÇî»á¤Ë½õ¸À¤ò¤¤¤¿ ¤À¤­¤Þ¤·¤¿¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£ DEC ¤Î 64 bit ¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó¡¢DEC Alpha ¾å¤Ç¤ÎÌäÂ꤬¤Ê¤«¤Ê¤«²ò·è ¤·¤Ê¤«¤Ã¤¿»þ¡¢ÆüËÜ DEC ¼Ò¤Î¤´¸ü°Õ¤Ë¤è¤ê¡¢Alpha ¥ê¥½¡¼¥¹¥»¥ó¥¿¤òÍøÍÑ ¤·¤Æ¥Ç¥Ð¥°¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿¡£ËÜÍøÍѤ˴ؤ·¤Æ¤ª¹üÀޤꤤ¤¿¤À¤¤¤¿¡¢ ¾®È¨¹­¾¼»á¡¢²­¸¶Ì³»á¡¢ÅÏÊÕů»á¤Ë´¶¼Õ¤·¤Þ¤¹¡£ ASTEC ¤Î̱ÅIJí¿Í»á¤Ï¡Ø¤«¤ó¤Ê¡Ù¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ÎÀßΩ¤È±¿±Ä¤ò¤·¤Æ¤¯¤À ¤µ¤ê¤Þ¤·¤¿¡£¾åµ­¤Î¤è¤¦¤Ë¤¿¤¯¤µ¤ó¤ÎÍ­±×¤Ê¾ðÊ󤬽¸¤Þ¤Ã¤¿¤Î¤Ï¤â¤È¤â¤È¤È ¤¤¤¨¤Ð̱ÅÄ»á¤Î¤ª¤«¤²¤Ç¤¹¡£ËÜÅö¤Ë¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£ ËÌΦÀèü²Ê³Øµ»½ÑÂç³Ø±¡Âç³Ø¤ÎÆ£»ÞϹ¨»á¡¢Áá°ðÅÄÂç³Ø¤Î¼íÌ¼ù»á¡¢NEC ¥½¥Õ¥È¥¦¥§¥¢¤Î¹â»³²í¼ù»á¡¢NEC ¤Î»³ÅÄÍλֻᡢ¤Ë¤Ïñ¸ì¤ÎÉÊ»ì¤äÀܳ¤Ë´Ø ¤¹¤ë°Õ¸«¤ò¤¤¤¿¤À¤­¤Þ¤·¤¿¡£ÆÃ¤ËÆ£»Þ»á¤Ï¡¢¡Ø¤«¤ó¤Ê¡Ù¤Î¤«¤Ê´Á»úÊÑ´¹¥í¥¸ ¥Ã¥¯¤Ëʸ¾ÏËöµ­¹æ¤òƳÆþ¤·¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£¡Ø¤«¤ó¤Ê¡Ù¤ÇÊѤÊʸËö¤¬¸º¤Ã ¤¿¤Ê¤¢¤È¡¢¤ª´¶¤¸¤Ë¤Ê¤é¤ì¤¿¤È¤·¤¿¤é¤³¤ì¤ÏÆ£»Þ»á¤ÎÎϤˤè¤ë¤â¤Î¤Ç¤¹¡£¡Ø ¤«¤ó¤Ê¡Ù¤ÎÊÑ´¹¸úΨ¤Î¸þ¾å¤Ë¤´¿ÔÎϲ¼¤µ¤¤¤Þ¤·¤¿¾åµ­¤ÎÊý¡¹¤Ë´¶¼Õ¤¤¤¿¤·¤Þ ¤¹¡£ ASTEC¡¢SRA¡¢Åìµþ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¢Hamamatsu Business Internet¡¢ Hamanako-Area Network Society¡¢Î¶Ã«Âç³Ø¤Î³Æ¥µ¥¤¥È¤Ç¤Ï¡Ø¤«¤ó¤Ê¡Ù¤Î¥½¡¼ ¥¹¥Õ¥¡¥¤¥ë¤Ê¤É¤ò¥ß¥é¡¼¤·¤Æ¤¤¤¿¤À¤¤¤Æ¤¤¤Þ¤¹¡£³Æ¥µ¥¤¥È¤ÎôÅö¼Ô¤ÎÊý¡¹¤Ë ´¶¼Õ¤¤¤¿¤·¤Þ¤¹¡£ /* Copyright (c) 2002-2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ ($Id: README.jp,v 1.4 2003/09/25 15:24:31 aida_s Exp $) Canna37p3/RKCCONF.jp0100644000076500001200000000451710046015307013270 0ustar shinraadminRKC¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ $Id: RKCCONF.jp,v 1.4.2.1 2004/05/04 22:35:51 aida_s Exp $ ¡Ø¤«¤ó¤Ê¡Ù¤ÎÃæ¤Ç¡¢¥æ¡¼¥¶¡¼¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë´Ø¤¹¤ëÉôʬ¤Ï¡¢lisp¥Ù¡¼¥¹¤Î.canna¤Ç ÀßÄê¤ò¹Ô¤¤¤Þ¤¹¤¬¡¢¥µ¡¼¥Ð¤È¤ÎÀܳ¤Ë´ØÏ¢¤·¤¿ÀßÄê¤Ï¡¢.canna¤Ç¤ÎÀßÄê¤ËÆëÀ÷¤Þ¤Ê¤¤ ¤¿¤á¡¢.cannax/rkc.conf¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¤Þ¤¹¡£ rkc.conf¤Î½ñ¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ // sample rkc.conf host "*" { server_timeout 1000; }; host "foo,bar" { server_timeout 300; }; host "foo" { server_timeout 700; }; cannahost "bar"; cannahost "unix,foo"; host¥Ö¥í¥Ã¥¯¤Ë¤Ï¡¢ÀܳÀè¤Î¥µ¡¼¥Ð¤´¤È¤ÎÀßÄê¤ò½ñ¤­¤Þ¤¹¡£¸½ºß¤ÎÀßÄê¹àÌܤϼ¡¤Î Ä̤ê¤Ç¤¹¡£¤Ê¤ª"*"¤ÏÁ´¥µ¡¼¥Ð¤òɽ¤·¤Þ¤¹¡£ server_timeout (default: 1500) ¥µ¡¼¥Ð¤È¤ÎÀܳ¤äÄÌ¿®Ãæ¤Î¥¿¥¤¥à¥¢¥¦¥È¤ò¥ß¥êÉÃñ°Ì¤Ç»ØÄꤷ¤Þ¤¹¡£ host¥Ö¥í¥Ã¥¯¤Î³°¤Ç¤Ï¡¢Á´ÂΤÎÀßÄê¤ò½ñ¤­¤Þ¤¹¡£¸½ºß¤ÎÀßÄê¹àÌܤϼ¡¤ÎÄ̤ê¤Ç¤¹¡£ cannahost (default: "") ÀܳÀè¤ò"hostname[:num],hostname[:num],..."¤Î·Á¼°¤Ç»ØÄꤷ¤Þ¤¹¡£¶õʸ»úÎó ¤ËÀßÄꤷ¤¿¾ì¹ç¤Ï¡¢CANNAHOST´Ä¶­ÊÑ¿ô¤Ç»ØÄꤷ¤¿¥µ¡¼¥Ð¤Ë¡¢¤½¤ì¤âÀßÄꤵ¤ì¤Æ ¤¤¤Ê¤±¤ì¤Ð¥í¡¼¥«¥ë¤Î¥µ¡¼¥Ð¤ËUNIX¥É¥á¥¤¥ó¤ÇÀܳ¤ò¹Ô¤¤¤Þ¤¹¡£ ¤Ê¤ª¡¢Æ±¤¸¹àÌܤ˴ؤ¹¤ëÀßÄ꤬¤¢¤ì¤Ð¡¢¾ï¤ËºÇ¸å¤Ë½ñ¤¤¤¿¤â¤Î¤¬Í¥À褵¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¾å¤ÎÎã¤Ç¤Ï¡¢cannahost¤Ï"unix,foo"¤Ë¤Ê¤ê¡¢server_timeout¤Ï¡¢foo¤Ë Àܳ¤¹¤ë¾ì¹ç¤Ï700ms¡¢bar¤ËÀܳ¤¹¤ë¾ì¹ç¤Ï300ms¡¢¤½¤ì°Ê³°¤ËÀܳ¤¹¤ë¾ì¹ç¤Ï1000ms ¤È¤Ê¤ê¤Þ¤¹¡£ À°¿ô¤òÀßÄꤹ¤ë¹àÌܤǤϡ¢C¤ÈƱÍͤα黻»Ò¤òÍøÍѤǤ­¤Þ¤¹¡£¤¿¤À¤·=¤ä++¤Î¤è¤¦¤Ê ÊÑ¿ô¤òÊѲ½¤µ¤»¤ë±é»»»Ò¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢±é»»¤Ï¤¹¤Ù¤Æunsigned int¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£ ÀßÄê¥Õ¥¡¥¤¥ë¤ÏÆÉ¤ß¹þ¤ßÁ°¤Ëcpp(1)¤Ç½èÍý¤µ¤ì¤Þ¤¹¡£cpp°Ê³°¤Î¥×¥ê¥×¥í¥»¥Ã¥µ¤ò ÍøÍѤ¹¤ë¤³¤È¤â²Äǽ¤Ç¡¢¤³¤Î¾ì¹ç¤Ï¥×¥ê¥×¥í¥»¥Ã¥µ¤òµ¯Æ°¤¹¤ë¥³¥Þ¥ó¥É¤ò´Ä¶­ÊÑ¿ô CANNA_RKC_PREPROCESSOR¤ÇÀßÄꤷ¤Þ¤¹¡£°ú¿ô¤Ë¤Ïrkc.conf¤ÎÀäÂХѥ¹¤¬Í¿¤¨¤é¤ì¡¢ sh -c¤Çµ¯Æ°¤µ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢ CANNA_RKC_PREPROCESSOR='m4 -DFOO'; export CANNA_RKC_PREPROCESSOR ¤È¤¹¤ë¤È¡¢ sh -c 'm4 -DFOO /home/yourname/.cannax/rkc.conf' ¤¬ÆâÉô¤Ç¼Â¹Ô¤µ¤ì¡¢¤½¤Î½ÐÎϤ¬ÆÉ¤ß¹þ¤Þ¤ì¤Þ¤¹¡£ ¤Ê¤ª¡¢¥³¥á¥ó¥È¤Î/*...*/¤Ï¡¢cpp¤ò»È¤¨¤Ðcpp¤Ë¤è¤Ã¤Æ¼è¤ê½ü¤«¤ì¤Þ¤¹¤¬¡¢cpp°Ê³°¤ò ÍøÍѤ·¤¿¾ì¹ç¤Ç¤â¡¢canna¼«¿È¤¬¥³¥á¥ó¥È¤ÈȽÃǤ·¤ÆÆÉ¤ßÈô¤Ð¤¹¤Î¤Ç¡¢¤¤¤º¤ì¤Î¾ì¹ç¤â ¥³¥á¥ó¥È¤È¤·¤ÆÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤Î¾¡¢´Ä¶­¤Ë¤è¤Ã¤Æcpp¤Ë-traditional¤¬ÉÕ¤¤¤¿¤ê¡¢cpp¤Ècanna¤Ç¼°¤Î²ò¼á¤¬Èù̯¤Ë °Û¤Ê¤ë¾ì¹ç¤¬¤¢¤ë¤Î¤Ç¡¢¹âÅ٤˥ץê¥×¥í¥»¥Ã¥µ¤òÍøÍѤ¹¤ë¾ì¹ç¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ *** ½ÅÍ× *** Canna 3.8¤Ç¤Ï¡¢CANNA_RKC_PREPROCESSOR¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢cpp¤ò¼Â¹Ô¤»¤º ľÀÜrkc.conf¤òÆÉ¤ß¹þ¤à¤è¤¦¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£cpp¤ÎÌ¿Îá¤Ë°Í¸¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ ¤¯¤À¤µ¤¤¡£ Canna37p3/server/0040755000076500001200000000000010052700721013150 5ustar shinraadminCanna37p3/server/.cvsignore0100644000076500001200000000003507601177345015163 0ustar shinraadmin.depend Makefile cannaserver Canna37p3/server/comm.c0100644000076500001200000005731210043301665014260 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "server.h" #include "RKindep/file.h" #include "RKindep/strops.h" #include #include #include RCSID("$Id: comm.c,v 1.4.2.3 2004/04/26 21:48:37 aida_s Exp $"); /* TODO: better error reporting */ #define COMM_DEBUG #define MAX_LISTENERS 3 #define FIRST_WANT 4 typedef struct { sock_type l_fd; GetConnectionInfoProc l_info_proc; void *l_info_obj; } ListenerRec; struct tagClientBuf { sock_type fd; const ListenerRec *parent; ClientPtr client; size_t nwant; char *sendptr; unsigned int nfail; RkiStrbuf recvbuf; RkiStrbuf sendbuf; }; typedef struct tagClibufList { struct tagClibufList *cbl_next; int cbl_finalized; ClientBuf cbl_body; } ClibufList; #define MEMBER_TO_OBJ(t, x, m) ((t *)((char *)(x) - offsetof(t, m))) #define CBL_BODY_TO_ENTRY(clibuf) MEMBER_TO_OBJ(ClibufList, clibuf, cbl_body) EventMgr *global_event_mgr = NULL; static void ClientBuf_init pro((ClientBuf *obj, const ListenerRec *parent, sock_type fd)); static void ClientBuf_destroy pro((ClientBuf *obj)); static int ClientBuf_recv pro((ClientBuf *obj)); static int ClientBuf_send pro((ClientBuf *obj)); #define ClientBuf_getfd_fast(obj) ((obj)->fd) #define CLIENT_BUF_IS_SENDING(obj) \ ((obj)->sendbuf.sb_curr != (obj)->sendbuf.sb_buf) static int set_nonblock(sock) sock_type sock; { int oldflags; oldflags = fcntl(sock, F_GETFL, 0 /* dummy */); return fcntl(sock, F_SETFL, oldflags | O_NONBLOCK); } static void ClientBuf_init(obj, parent, fd) ClientBuf *obj; const ListenerRec *parent; sock_type fd; { obj->fd = fd; obj->parent = parent; obj->client = NULL; obj->nwant = FIRST_WANT; #ifdef COMM_DEBUG obj->sendptr = (char *)0xdeadbeef; #endif obj->nfail = 0; RkiStrbuf_init(&obj->recvbuf); RkiStrbuf_init(&obj->sendbuf); } static void ClientBuf_destroy(obj) ClientBuf *obj; { close(obj->fd); close_session(&obj->client, 0); RkiStrbuf_destroy(&obj->recvbuf); RkiStrbuf_destroy(&obj->sendbuf); } static int ClientBuf_recv(obj) ClientBuf *obj; { ssize_t size; int newwant; RkiStrbuf *buf = &obj->recvbuf; int savederr; assert(obj->nwant && !CLIENT_BUF_IS_SENDING(obj)); if (RKI_STRBUF_RESERVE(buf, buf->sb_curr - buf->sb_buf + obj->nwant)) { nomem_msg("ClientBuf_recv()"); return -1; } ir_debug(Dmsg(7, "ClientBuf_recv(): receiving %d bytes, nwant=%d\n", buf->sb_end - buf->sb_curr, obj->nwant)); size = recv(obj->fd, buf->sb_curr, buf->sb_end - buf->sb_curr, 0); savederr = errno; ir_debug(Dmsg(7, "ClientBuf_recv(): recv() returned %d\n", size)); if (size < 0) { if (savederr == EINTR || savederr == EWOULDBLOCK || savederr == EAGAIN) { if (++obj->nfail < 5) return 0; ir_debug(Dmsg(7, "ClientBuf_recv(): too many temporary errors. errno=%d\n", savederr)); } goto recvfail; } else if (size == 0) goto recvfail; obj->nfail = 0; buf->sb_curr += size; if (size < obj->nwant) { obj->nwant -= size; return 0; } obj->nwant = 0; newwant = process_request(&obj->client, obj, (BYTE *)buf->sb_buf, buf->sb_curr - buf->sb_buf); ir_debug(Dmsg(7, "ClientBuf_recv(): newwant=%d\n", size)); if (newwant < 0) return -1; obj->nwant = newwant; return 0; recvfail: PrintMsg("[%s] Receive request failed\n", obj->client ? obj->client->username : "unknown"); ir_debug(Dmsg(5, "ClientBuf_recv(): Receive request failed\n")); return -1; } static int ClientBuf_send(obj) ClientBuf *obj; { ssize_t size; RkiStrbuf *buf = &obj->sendbuf; int savederr = 0; assert(!obj->nwant && CLIENT_BUF_IS_SENDING(obj)); ir_debug(Dmsg(7, "ClientBuf_send(): sending %d bytes\n", buf->sb_curr - obj->sendptr)); size = send(obj->fd, obj->sendptr, buf->sb_curr - obj->sendptr, 0); savederr = errno; ir_debug(Dmsg(7, "ClientBuf_send(): send() returned %d\n", size)); if (size < 0) { if (savederr == EINTR || savederr == EWOULDBLOCK || savederr == EAGAIN) { if (++obj->nfail < 5) return 0; ir_debug(Dmsg(7, "ClientBuf_send(): too many temporary errors. errno=%d\n", savederr)); } goto fail; } assert(size > 0); obj->nfail = 0; obj->sendptr += size; if (obj->sendptr == buf->sb_curr) { ir_debug(Dmsg(5, "¥¯¥é¥¤¥¢¥ó¥È¤Ø¤ÎÊÖ¿®¤¬´°Î», fd=%d\n", obj->fd)); #ifdef COMM_DEBUG obj->sendptr = (char *)0xdeadbeef; #endif obj->nwant = FIRST_WANT; #if 0 && defined(COMM_DEBUG) RkiStrbuf_clear(&obj->recvbuf); RkiStrbuf_clear(buf); #else obj->recvbuf.sb_curr = obj->recvbuf.sb_buf; buf->sb_curr = buf->sb_buf; #endif } return 0; fail: PrintMsg("[%s] Send request failed\n", obj->client ? obj->client->username : "unknown"); Dmsg(1, "Send Error[ %d ]\n", savederr); return -1; } int ClientBuf_store_reply(obj, data, len) ClientBuf *obj; const BYTE *data; size_t len; { ir_debug(Dmsg(7, "ClientBuf_store_reply() start\n")); assert(!obj->nwant && !CLIENT_BUF_IS_SENDING(obj)); if (RkiStrbuf_addmem(&obj->sendbuf, data, len)) { nomem_msg("ClientBuf_store_reply()"); return -1; } obj->sendptr = obj->sendbuf.sb_buf; return 0; } int ClientBuf_get_connection_info(obj, addr, hostname) ClientBuf *obj; Address *addr; char **hostname; { const ListenerRec *parent = obj->parent; return (*parent->l_info_proc) (parent->l_info_obj, obj->fd, addr, hostname); } sock_type ClientBuf_getfd(obj) ClientBuf *obj; { return obj->fd; } ClientPtr ClientBuf_getclient(obj) ClientBuf *obj; { return obj->client; } struct tagEventMgr { ListenerRec listeners[MAX_LISTENERS]; size_t nlisteners; ClibufList *cbl; size_t nclibufs; int quitflag; int exit_status; }; EventMgr * EventMgr_new() { EventMgr *obj = malloc(sizeof(EventMgr)); if (!obj) return NULL; obj->nlisteners = 0; obj->cbl = NULL; obj->nclibufs = 0; obj->quitflag = 0; obj->exit_status = 220; /* ¤³¤ì¤ÏÀäÂФËÊÖ¤é¤Ê¤¤ */ return obj; } void EventMgr_delete(obj) EventMgr *obj; { ClibufList *curr; #ifdef COMM_DEBUG size_t nclibufs = 0; #endif if (!obj) return; curr = obj->cbl; while (curr) { ClibufList *next = curr->cbl_next; #ifdef COMM_DEBUG ++nclibufs; #endif ClientBuf_destroy(&curr->cbl_body); free(curr); curr = next; } #ifdef COMM_DEBUG assert(nclibufs == obj->nclibufs); #endif free(obj); } int EventMgr_add_listener_sock(obj, listenerfd, info_proc, info_obj) EventMgr *obj; sock_type listenerfd; GetConnectionInfoProc info_proc; void *info_obj; { ListenerRec *entry = obj->listeners + obj->nlisteners; assert(obj->nlisteners < MAX_LISTENERS); assert(listenerfd != INVALID_SOCK); if (listenerfd >= RKI_FD_SETSIZE) { PrintMsg("EventMgr_add_listener_sock(): out of rki_fd_set: fd=%d\n", listenerfd); return -1; } entry->l_fd = listenerfd; entry->l_info_proc = info_proc; entry->l_info_obj = info_obj; ++obj->nlisteners; return 0; } void EventMgr_quit_later(obj, status) EventMgr *obj; int status; { obj->quitflag = 1; obj->exit_status = status; } void EventMgr_finalize_notify(obj, clibuf) EventMgr *obj; const ClientBuf *clibuf; { ClibufList *entry = CBL_BODY_TO_ENTRY(clibuf); assert(clibuf); assert(!entry->cbl_finalized); entry->cbl_finalized = 1; } static int EventMgr_accept(obj, listener_entry) EventMgr *obj; ListenerRec *listener_entry; { ClibufList *cbl_ent = NULL; sock_type connfd = INVALID_SOCK; ir_debug(Dmsg(7, "EventMgr_accept() start\n")); connfd = accept(listener_entry->l_fd, NULL, 0); if (connfd == INVALID_SOCK) { /* rarely happens; probably ECONNABORTED or EINTR */ PrintMsg("EventMgr_accept(): accept: errno=%d\n", errno); goto fail; } else if (connfd >= RKI_FD_SETSIZE) { PrintMsg("EventMgr_accept(): out of rki_fd_set: fd=%d\n", connfd); goto fail; } if (set_nonblock(connfd)) { PrintMsg("EventMgr_accept(): set_nonblock(): errno=%d\n", errno); goto fail; } if (!(cbl_ent = malloc(sizeof(ClibufList)))) goto nomem; ClientBuf_init(&cbl_ent->cbl_body, listener_entry, connfd); cbl_ent->cbl_finalized = 0; cbl_ent->cbl_next = obj->cbl; obj->cbl = cbl_ent; ++obj->nclibufs; ir_debug(Dmsg(5, "¥¯¥é¥¤¥¢¥ó¥È¤È¤ÎÀܳ¤ËÀ®¸ù, fd=%d\n", connfd)); return 0; nomem: nomem_msg("EventMgr_accept()"); fail: if (cbl_ent) ClientBuf_destroy(&cbl_ent->cbl_body); free(cbl_ent); if (connfd != INVALID_SOCK) close(connfd); return -1; } static void EventMgr_check_fds(obj, rfds, wfds) EventMgr *obj; rki_fd_set *rfds; rki_fd_set *wfds; { int listenerno; ClibufList **cbl_link; ir_debug(Dmsg(7, "EventMgr_check_fds() start\n")); for (listenerno = 0; listenerno < obj->nlisteners; ++listenerno) { if (RKI_FD_ISSET(obj->listeners[listenerno].l_fd, rfds)) EventMgr_accept(obj, obj->listeners + listenerno); } for (cbl_link = &obj->cbl; *cbl_link; cbl_link = &(*cbl_link)->cbl_next) { ClibufList *cbl_ent = *cbl_link; ClientBuf *client_buf = &cbl_ent->cbl_body; int fd = ClientBuf_getfd_fast(client_buf); int error = 0; if (RKI_FD_ISSET(fd, rfds)) error = ClientBuf_recv(client_buf); else if (RKI_FD_ISSET(fd, wfds)) error = ClientBuf_send(client_buf); if (error || (cbl_ent->cbl_finalized && !CLIENT_BUF_IS_SENDING(client_buf))) { ir_debug(Dmsg(5, "¥¯¥é¥¤¥¢¥ó¥È¤È¤ÎÀܳ¤òÀÚ¤ë, fd=%d\n", ClientBuf_getfd_fast(client_buf))); *cbl_link = cbl_ent->cbl_next; --obj->nclibufs; ClientBuf_destroy(client_buf); free(cbl_ent); if (!*cbl_link) break; } } } int EventMgr_run(obj) EventMgr *obj; { struct timeval timeout; int sync_flag = 0; timeout.tv_sec = 108; /* why? */ timeout.tv_usec = 0; for (;;) { rki_fd_set rfds, wfds; int nfds = 0; int listenerno; ClibufList *cbl_ent; struct timeval timeout_tmp; int r; int needwrite = 0; int savederr; RKI_FD_ZERO(&rfds); RKI_FD_ZERO(&wfds); for (listenerno = 0; listenerno < obj->nlisteners; ++listenerno) { int fd = obj->listeners[listenerno].l_fd; RKI_FD_SET(fd, &rfds); nfds = RKI_MAX(nfds, fd + 1); } for (cbl_ent = obj->cbl; cbl_ent; cbl_ent = cbl_ent->cbl_next) { int fd = ClientBuf_getfd_fast(&cbl_ent->cbl_body); if (CLIENT_BUF_IS_SENDING(&cbl_ent->cbl_body)) { RKI_FD_SET(fd, &wfds); needwrite = 1; } else { if (!obj->quitflag) RKI_FD_SET(fd, &rfds); } nfds = RKI_MAX(nfds, fd + 1); } if (obj->quitflag && !needwrite) break; ir_debug(Dmsg(5, "\nselect()¤ÇÂÔ¤Á¤ò³«»Ï\n")); timeout_tmp = timeout; r = select(nfds, &rfds, &wfds, NULL, &timeout_tmp); savederr = errno; ir_debug(Dmsg(5, "select() returned %d\n", r)); if (r < 0) { if (savederr != EINTR) { /* What happened? */ PrintMsg("EventMgr_run(): select: errno=%d\n", savederr); obj->exit_status = 3; break; } } else if (r == 0) { /* select ¤ÎÀ©¸Â»þ´Ö¤ò±Û¤¨¤¿¤Î¤Ç sync ½èÍý¤ò¹Ô¤¦ */ if (sync_flag == 0) {/* sync_flag ¤¬ 0 ¤Î»þ¤Ï Allsync ¤ò¹Ô¤¦ */ ir_debug(Dmsg(5, "EventMgr_run(): select: all sync start\n")); AllSync(); sync_flag = 1; /* °ì²ó¹Ô¤Ê¤Ã¤¿¤Î¤Ç ¥Õ¥é¥°¤òΩ¤Æ¤ë */ } } else { sync_flag = 0; /* ¥Ç¡¼¥¿¤¬Í褿¤Î¤Ç¥Õ¥é¥°¤ò²¼¤²¤ë */ EventMgr_check_fds(obj, &rfds, &wfds); } if (CheckSignal()) { obj->exit_status = 1; break; } } return obj->exit_status; } void EventMgr_clibuf_first(obj, it) EventMgr *obj; EventMgrIterator *it; { ClibufList *entry = obj->cbl; it->entry = entry; if (entry) it->it_val = &entry->cbl_body; else it->it_val = NULL; } void EventMgr_clibuf_end(obj, it) EventMgr *obj; EventMgrIterator *it; { it->it_val = NULL; } void EventMgrIterator_next(obj) EventMgrIterator *obj; { ClibufList *entry = (ClibufList *)obj->entry; ClibufList *next = entry->cbl_next; obj->entry = next; if (next) obj->it_val = &next->cbl_body; else obj->it_val = NULL; } enum { SOCK_BIND_ERROR = -1, SOCK_OTHER_ERROR = -2, SOCK_OK = 0 }; #ifdef USE_UNIX_SOCKET /* £Õ£Î£É£Ø¥É¥á¥¤¥ó¤ÎºîÀ® */ static int open_unix_socket (sock, unaddr) sock_type *sock; struct sockaddr_un *unaddr; { int oldUmask; int request = -1; int status = SOCK_OTHER_ERROR; const int sockpathmax = sizeof(unaddr->sun_path) - 3; assert(0 <= PortNumberPlus && PortNumberPlus < 100); unaddr->sun_family = AF_UNIX; oldUmask = umask (0); if ( mkdir( IR_UNIX_DIR, 0777 ) == -1 && errno != EEXIST ) { ir_debug( Dmsg(5, "Can't open %s error No. %d\n",IR_UNIX_DIR, errno)); } if (RkiStrlcpy(unaddr->sun_path, IR_UNIX_PATH, sockpathmax) >= sockpathmax) { ir_debug( Dmsg(5, "Path to socket is too long\n")); goto last; } if( PortNumberPlus ) sprintf( unaddr->sun_path, "%s:%d", unaddr->sun_path, PortNumberPlus ) ; if ((request = socket (AF_UNIX, SOCK_STREAM, 0)) < 0) { ir_debug( Dmsg(5, "Warning: UNIX socket for server failed.\n")); } else { if (!bind(request, (struct sockaddr *)unaddr, sizeof(struct sockaddr_un))) { ir_debug( Dmsg(5, "¥Õ¥¡¥¤¥ë̾:[%s]\n",unaddr->sun_path)); if (!listen (request, 5)) { if (!set_nonblock(request)) { status = SOCK_OK; goto last; } else { ir_debug( Dmsg(5,"Warning: Server could not set nonblocking mode.\n")); } } else { ir_debug( Dmsg(5,"Warning: Server could not listen.\n")); } unlink(unaddr->sun_path); } else { status = SOCK_BIND_ERROR; ir_debug( Dmsg(5,"Warning: Server could not bind.\n")); } close(request); request = -1; /* listen ¼ºÇÔ */ } last: (void)umask( oldUmask ); *sock = request; return status; } #endif /* USE_UNIX_SOCKET */ #ifdef USE_INET_SOCKET /* £É£Î£Å£Ô¥É¥á¥¤¥ó¤ÎºîÀ® */ static int open_inet_socket (sock) sock_type *sock; { struct sockaddr_in insock; struct servent *sp; int retry, request; int status = SOCK_OTHER_ERROR; /* /etc/services¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤ò¼èÆÀ¤¹¤ë */ if( (sp = getservbyname(IR_SERVICE_NAME ,"tcp")) == NULL ) { ir_debug( Dmsg(5,"Warning: Port number not find on '/etc/services'.\n")); ir_debug( Dmsg(5," Use %d as default.\n", IR_DEFAULT_PORT)); } if ((request = socket( AF_INET, SOCK_STREAM, 0 )) < 0) { ir_debug( Dmsg(5,"Warning: INET socket for server failed.\n")); } else { #ifdef SO_REUSEADDR { int one = 1; setsockopt(request, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(int)); } #endif bzero ((char *)&insock, sizeof (insock)); insock.sin_family = AF_INET; insock.sin_port = (sp ? ntohs(sp->s_port) : IR_DEFAULT_PORT) + PortNumberPlus; ir_debug( Dmsg(5, "¥Ý¡¼¥ÈÈÖ¹æ:[%d]\n",insock.sin_port)); insock.sin_port = htons(insock.sin_port); insock.sin_addr.s_addr = htonl(INADDR_ANY); retry = 0; while ( bind(request, (struct sockaddr *)&insock, sizeof(insock)) < 0 ) { ir_debug( Dmsg(5, "bind ¥È¥é¥¤²ó¿ô[%d]\n",retry)); if (++retry == 5){ ir_debug( Dmsg(5,"Warning: Server could not bind.\n")); close(request); request = -1; /* bind ¼ºÇÔ */ break; } sleep (1); } if( retry != 5 ) { if (listen (request, 5)){ ir_debug( Dmsg(5,"Warning: Server could not listen.\n")); close(request); request = -1; /* listen ¼ºÇÔ */ } else { if (set_nonblock(request)) { ir_debug( Dmsg(5,"Warning: Server could not set nonblocking mode.\n")); close(request); request = -1; } else { status = SOCK_OK; } } } else { status = SOCK_BIND_ERROR; } } *sock = request; return status; } #ifdef INET6 static int open_inet6_socket (sock) sock_type *sock; { struct addrinfo hints, *info, *infolist; char portbuf[10]; struct servent *sp; int retry, request = -1; int status = SOCK_OTHER_ERROR; /* /etc/services¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤ò¼èÆÀ¤¹¤ë */ if( (sp = getservbyname(IR_SERVICE_NAME ,"tcp")) == NULL ) { ir_debug( Dmsg(5,"Warning: Port number not find on '/etc/services'.\n")); ir_debug( Dmsg(5," Use %d as default.\n", IR_DEFAULT_PORT)); } sprintf(portbuf, "%d", (sp ? ntohs(sp->s_port) : IR_DEFAULT_PORT) + PortNumberPlus); ir_debug( Dmsg(5, "¥Ý¡¼¥ÈÈÖ¹æ:[%s]\n", portbuf)); bzero( &hints, sizeof(hints) ); hints.ai_flags = AI_PASSIVE; hints.ai_family = PF_INET6; hints.ai_socktype = SOCK_STREAM; if( getaddrinfo( NULL, portbuf, &hints, &infolist ) ) { ir_debug( Dmsg(5,"Warning: (internal error) getaddrinfo() failed.\n")); *sock = -1; return SOCK_OTHER_ERROR; } for( info = infolist; info; info = info->ai_next ) { if ((request = socket( info->ai_family, info->ai_socktype, info->ai_protocol ) ) < 0) { ir_debug( Dmsg(5,"Warning: INET socket for server failed.\n")); } else { #ifdef SO_REUSEADDR { int one = 1; setsockopt(request, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(int)); } #endif #if defined(IR_V6ONLY_BIND) { int one = 1; setsockopt(request, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&one, sizeof(int)); } #endif /* IR_V6ONLY_BIND */ retry = 0; while ( bind(request, info->ai_addr, info->ai_addrlen) < 0 ) { ir_debug( Dmsg(5, "bind ¥È¥é¥¤²ó¿ô[%d]\n",retry)); if (++retry == 5){ ir_debug( Dmsg(5,"Warning: Server could not bind.\n")); close(request); request = -1; /* bind ¼ºÇÔ */ break; } sleep (1); } if( retry != 5 ) { if (listen (request, 5)){ ir_debug( Dmsg(5,"Warning: Server could not listen.\n")); close(request); request = -1; /* listen ¼ºÇÔ */ } else { if (set_nonblock(request)) { ir_debug( Dmsg(5,"Warning: Server could not set nonblocking mode.\n")); close(request); request = -1; } else { status = SOCK_OK; } } } else { status = SOCK_BIND_ERROR; } } } freeaddrinfo(infolist); *sock = request; return status; } #endif /* INET6 */ #endif /* USE_INET_SOCKET */ #ifdef USE_UNIX_SOCKET static int get_addr_unix(dummy, connfd, addr, hostname) /* ARGSUSED */ void *dummy; sock_type connfd; Address *addr; char **hostname; { char buf[MAXDATA]; if(gethostname(buf, MAXDATA - 7) < 0) { PrintMsg("gethostname failed\n"); return -1; } buf[MAXDATA - 7] = '\0'; strcat(buf, "(UNIX)") ; if ((*hostname = strdup(buf)) == NULL) return -1; addr->family = AF_UNIX; addr->len = 0; return 0; } static int get_addr_inet(dummy, connfd, addr, hostname) /* ARGSUSED */ void *dummy; sock_type connfd; Address *addr; char **hostname; { #ifdef INET6 struct sockaddr_storage from; #else /* !INET6 */ struct sockaddr_in from; struct hostent *hp; #endif /* !INET6 */ char buf[MAXDATA]; canna_socklen_t fromlen = sizeof( from ) ; struct sockaddr *fromp = (struct sockaddr *)&from; bzero( &from, fromlen ) ; if (getpeername(connfd, (struct sockaddr *)&from, &fromlen) < 0) { PrintMsg( "getpeername error No.%d\n", errno ); return -1; } #ifdef INET6 if (fromp->sa_family == AF_INET || fromp->sa_family == AF_INET6) { int res = getnameinfo(fromp, fromlen, buf, MAXDATA, NULL, 0, 0); if (res) { /* cannot store even a numeric hostname */ PrintMsg( "getaddrinfo error No.%d\n", res ); return -1; } } #else /* !INET6 */ if( from.sin_family == AF_INET ) { hp = gethostbyaddr((char *)&from.sin_addr, sizeof( struct in_addr ), from.sin_family); if ( hp ) strncpy( buf, hp->h_name, MAXDATA-1 ) ; else strncpy( buf, inet_ntoa( from.sin_addr ), MAXDATA-1 ) ; } #endif /* !INET6 */ else { PrintMsg( "unknown protocol family: %d\n", fromp->sa_family ); return -1; } if ((*hostname = strdup(buf)) == NULL) return -1; addr->saddr = from; addr->family = fromp->sa_family; addr->len = fromlen; return 0; } #endif struct tagSockHolder { #ifdef USE_UNIX_SOCKET sock_type unsock; struct sockaddr_un unaddr; #endif #ifdef USE_INET_SOCKET sock_type insock; # ifdef INET6 sock_type in6sock; # endif #endif }; SockHolder * SockHolder_new() { SockHolder *obj = malloc(sizeof(SockHolder)); int status = SOCK_OK; if (!obj) return NULL; #ifdef USE_UNIX_SOCKET obj->unsock = INVALID_SOCK; bzero(&obj->unaddr, sizeof obj->unaddr); #endif #ifdef USE_INET_SOCKET obj->insock = INVALID_SOCK; # ifdef INET6 obj->in6sock = INVALID_SOCK; # endif #endif ir_debug( Dmsg(3,"º£¤«¤é¥½¥±¥Ã¥È¤òºî¤ë\n") ); #ifdef USE_UNIX_SOCKET /* £Õ£Î£É£Ø¥É¥á¥¤¥ó */ if ((status = open_unix_socket(&obj->unsock, &obj->unaddr)) != SOCK_OK) { ir_debug( Dmsg(5,"Warning: UNIX domain not created.\n")); goto fail; } ir_debug( Dmsg(3,"£Õ£Î£É£Ø¥É¥á¥¤¥ó¤Ï¤Ç¤­¤¿\n") ); #endif /* USE_UNIX_SOCKET */ #ifdef USE_INET_SOCKET /* £É£Î£Å£Ô¥É¥á¥¤¥ó */ if(UseInet){ if ((status = open_inet_socket(&obj->insock)) != SOCK_OK) { ir_debug( Dmsg(5,"Warning: INET domain not created.\n")); goto fail; } ir_debug( Dmsg(3,"£É£Î£Å£Ô¥É¥á¥¤¥ó¤Ï¤Ç¤­¤¿\n") ); } #ifdef INET6 if(UseInet6){ if ((status = open_inet6_socket(&obj->in6sock)) != SOCK_OK) { ir_debug( Dmsg(5,"Warning: INET6 domain not created.\n")); goto fail; } ir_debug( Dmsg(3,"£É£Î£Å£Ô£¶¥É¥á¥¤¥ó¤Ï¤Ç¤­¤¿\n") ); } #endif #endif /* USE_INET_SOCKET */ ir_debug( Dmsg(3,"¥½¥±¥Ã¥È¤Î½àÈ÷¤Ï¤Ç¤­¤¿\n") ); return obj; fail: if (status == SOCK_BIND_ERROR) { fprintf(stderr, "\n"); fprintf(stderr, "ERROR:\n "); fprintf(stderr, " Another 'cannaserver' is detected.\n"); #ifdef USE_UNIX_SOCKET fprintf(stderr, " If 'cannaserver' is not running,\n"); fprintf(stderr, " \"%s\" may remain accidentally.\n", obj->unaddr.sun_path); fprintf(stderr, " So, after making sure that 'cannaserver' is not running.\n"); fprintf(stderr, " Please execute following command.\n"); fprintf(stderr, "\n"); fprintf(stderr, " rm %s\n", obj->unaddr.sun_path); #endif fprintf(stderr, "\n"); } else { assert(status == SOCK_OTHER_ERROR); fprintf(stderr, "ERROR: Cannot open sockets in some errors\n "); } SockHolder_delete(obj); return NULL; } void SockHolder_delete(obj) SockHolder *obj; { if (!obj) return; #ifdef USE_UNIX_SOCKET if (obj->unsock != INVALID_SOCK) { close(obj->unsock); unlink(obj->unaddr.sun_path); } #endif #ifdef USE_INET_SOCKET if (obj->insock != INVALID_SOCK) close(obj->insock); # ifdef INET6 if (obj->in6sock != INVALID_SOCK) close(obj->insock); # endif #endif free(obj); } int SockHolder_tie(obj, event_mgr) SockHolder *obj; EventMgr *event_mgr; { #ifdef USE_UNIX_SOCKET assert(obj->unsock != INVALID_SOCK); if (EventMgr_add_listener_sock(event_mgr, obj->unsock, &get_addr_unix, NULL)) return -1; #endif #ifdef USE_INET_SOCKET if (UseInet) { if (EventMgr_add_listener_sock(event_mgr, obj->insock, &get_addr_inet, NULL)) return -1; } # ifdef INET6 if (UseInet6) { if (EventMgr_add_listener_sock(event_mgr, obj->in6sock, &get_addr_inet, NULL)) return -1; } # endif #endif return 0; } /* vim: set sw=2: */ Canna37p3/server/comm.h0100644000076500001200000000535507733317775014312 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: comm.h,v 1.1 2003/09/21 12:56:29 aida_s Exp $ */ #ifndef COMM_H #define COMM_H /* * ÆÃ¤Ë½ñ¤¤¤Æ¤¤¤Ê¤¤¤â¤Î¤Ï,À®¸ù»þ¤Ë0¤Þ¤¿¤ÏÍ­¸ú¤Ê¥Ý¥¤¥ó¥¿,¥á¥â¥êÉÔ­ * ¤Ê¤É¤Ë¤è¤ë¼ºÇÔ»þ¤Ë-1¤Þ¤¿¤ÏNULL¤òÊÖ¤¹¡£ */ typedef int sock_type; #define INVALID_SOCK -1 typedef int (*GetConnectionInfoProc) pro((void *obj, sock_type connfd, Address *addr, char **hostname)); typedef struct { /* public */ ClientBuf *it_val; /* private */ void *entry; } EventMgrIterator; extern EventMgr *global_event_mgr; int ClientBuf_store_reply pro((ClientBuf *obj, const BYTE *data, size_t len)); int ClientBuf_get_connection_info pro((ClientBuf *obj, Address *addr, char **hostname)); sock_type ClientBuf_getfd pro((ClientBuf *obj)); ClientPtr ClientBuf_getclient pro((ClientBuf *obj)); EventMgr *EventMgr_new pro((void)); void EventMgr_delete pro((EventMgr *obj)); int EventMgr_add_listener_sock pro((EventMgr *obj, sock_type listenerfd, GetConnectionInfoProc info_proc, void *info_obj)); void EventMgr_quit_later pro((EventMgr *obj, int status)); void EventMgr_finalize_notify pro((EventMgr *obj, const ClientBuf *clibuf)); int EventMgr_run pro((EventMgr *obj)); void EventMgr_clibuf_first pro((EventMgr *obj, EventMgrIterator *it)); void EventMgr_clibuf_end pro((EventMgr *obj, EventMgrIterator *it)); void EventMgrIterator_next pro((EventMgrIterator *obj)); SockHolder *SockHolder_new pro((void)); void SockHolder_delete pro((SockHolder *obj)); int SockHolder_tie pro((SockHolder *obj, EventMgr *event_mgr)); #endif /* COMM_H */ /* vim: set sw=2: */ Canna37p3/server/convert.c0100644000076500001200000015423207773337054015025 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: convert.c,v 1.10.2.1 2003/12/27 17:15:24 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "server.h" #include #if CANNA_LIGHT #ifdef EXTENSION #undef EXTENSION #endif #endif #define SIZEOFSHORT 2 /* for protocol */ #define SIZEOFLONG 4 /* for protocol */ #define SENDBUFSIZE 1024 #define ACK0 0 #define ACK1 1 #define ACK2 2 #define ACK3 3 #define CHECK_ACK_BUF_SIZE (ACK_BUFSIZE + (SIZEOFLONG * 2) ) #define IR_INT_MAX 32767 #define IR_INT_INVAL(x) ((unsigned int)x > IR_INT_MAX) #ifdef MIN # undef MIN #endif #define MIN RKI_MIN static int ProcReq0 pro((char *buf, int size)); extern const char *ProtoName[]; #ifdef DEBUGPROTO static void printproto(p, n) char *p; int n; { int i; for (i = 0 ; i < n ; i++) { if (i) { if ((i % 4) == 0) printf(" "); if ((i % 32) == 0) printf("\n"); } printf("%02x", (unsigned)((*p++) & 0xff)); } printf("\n"); } static void probe(format, n, p) char *format, *p; int n; { printf(format, n); printproto(p, n); } #else /* !DEBUGPROTO */ #define probe(a, b, c) #endif /* !DEBUGPROTO */ typedef struct { int (*func) pro((ClientPtr *)); int (*extdat) pro((char *, int)); } oreqproc; extern oreqproc Vector[]; #ifdef EXTENSION extern oreqproc ExtensionVector[]; #endif /* EXTENSION */ #ifdef USE_EUC_PROTOCOL extern const char *ExtensionName[][2] ; #endif /* USE_EUC_PROTOCOL */ static IRReq Request ; #ifdef USE_EUC_PROTOCOL static IRAck Acknowledge ; static char local_buffer[ LOCAL_BUFSIZE ], local_buffer2[ LOCAL_BUFSIZE ] ; #endif /* USE_EUC_PROTOCOL */ unsigned int TotalRequestTypeCount[ MAXREQUESTNO ] ; int canna_server_hi = 0 ; int canna_server_lo = 0 ; void getserver_version() { char version[ 32 ], *buf ; strcpy( version, W_VERSION ) ; if( version[0] ) { if( !(buf = (char *)strtok(version, ".")) ) { return ; } canna_server_hi = atoi( buf ) ; if( !(buf = (char *)strtok((char *)NULL, ".")) ) { return ; } canna_server_lo = atoi( buf ) ; } } #ifdef USE_EUC_PROTOCOL static int getFirstKouho( cxnum, start, end, status, datap ) int cxnum, start, end, *status; BYTE **datap; { char *src = local_buffer2 ; register char *dst = (char *)*datap; BYTE *data_buffer = *datap; register int i, len, size = 0, maxsz = SENDBUFSIZE; Ushort cbuf[CBUFSIZE]; ir_debug( Dmsg(5,"ºÇÍ¥Àè¸õÊä¥ê¥¹¥È\n" ); ) for( i = start; i < end; i++){ len = RkwGetKanji( cxnum, (Ushort *)cbuf, CBUFSIZE ); len = ushort2euc( cbuf, len, src, LOCAL_BUFSIZE ) + 1; size += len; if( size > maxsz ) { BYTE *local_bufptr; int bufcnt = size - len; maxsz = maxsz * 2; local_bufptr = (BYTE *)malloc(maxsz); if (local_bufptr) { ir_debug( Dmsg(8, "malloc size is %d.\n", maxsz) ); bcopy(*datap, (char *)local_bufptr, bufcnt); if( *datap != data_buffer ) free( (char *)*datap ); *datap = local_bufptr; dst = (char *)local_bufptr + bufcnt; } else { *status = -1; PrintMsg( "First Kouho Buffer allocate failed!!\n" ); return 0; } } strcpy(dst, src); ir_debug( Dmsg(5,"%d:[%s]", i, dst ); ) dst += len ; RkwRight( cxnum ) ; } ir_debug( Dmsg(5,"\n" ); ) *status = i; RkwGoTo( cxnum, start ) ;/* ÀèÆ¬Ê¸Àá¤ò¥«¥ì¥ó¥ÈʸÀá¤ËÌᤷ¤Æ¤ª¤¯ */ return size; } static int listsize(src, cnt) char *src; int cnt; { register int i, size = 0, len = 0; for( i = 0; i < cnt; i++ ){ len = strlen(src) + 1; size += len; ir_debug( Dmsg(5,"%d:[%s] ", i, src ); ) src += len; } ir_debug( Dmsg(5,"\n" ); ) return size; } #endif /* USE_EUC_PROTOCOL */ int ir_error(clientp) ClientPtr *clientp ; /* ARGSUSED */ { ir_debug(Dmsg(5, "ir_error() invoked\n")); return( -1 ) ; } #ifdef USE_EUC_PROTOCOL #ifdef DEBUG static int WriteClient(client, buf, size) ClientPtr client; const BYTE *buf; size_t size; { ir_debug( Dmsg(10, "WriteClient:") ); ir_debug( DebugDump( 10, buf, size ) ); return ClientBuf_store_reply(client->client_buf, buf, size); } #else # define WriteClient(c, b, s) ClientBuf_store_reply((c)->client_buf, b, s) #endif #endif /* USE_EUC_PROTOCOL */ static int SendTypeE1Reply2(client_buf, stat) ClientBuf *client_buf; int stat; { BYTE buf[4], *p = buf; LTOL4(stat, p); return ClientBuf_store_reply(client_buf, buf, sizeof buf); } #ifdef USE_EUC_PROTOCOL #define SendType0Reply SendTypeE1Reply static int SendTypeE1Reply(client, stat) register ClientPtr client; int stat; { BYTE buf[4], *p = buf; LTOL4(stat, p); return WriteClient(client, buf, sizeof(buf)); } static int SendTypeE2Reply(client, stat, cnt, str, slen) register ClientPtr client; char *str; int stat, cnt, slen; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; char *wp; int res, dlen = cnt * SIZEOFLONG + slen, sz = 2 * SIZEOFLONG + dlen; int nlen, i; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(stat, p); p += SIZEOFLONG; LTOL4(dlen, p); p += SIZEOFLONG; for (wp = str, i = 0 ; i < cnt ; wp += nlen, i++) { nlen = strlen(wp) + 1; LTOL4(nlen, p); p += SIZEOFLONG; strcpy((char *)p, wp); p += nlen; } res = WriteClient(client, bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return -1; } static int SendTypeE3Reply(client, stat, storefunc, extdata, slen) register ClientPtr client; int stat, slen, (*storefunc)(); BYTE *extdata; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int sz = 2 * SIZEOFLONG + slen; int res; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(stat, p); p += SIZEOFLONG; LTOL4(slen, p); p += SIZEOFLONG; if (storefunc) (*storefunc)(client, stat, extdata, p); res = WriteClient(client, bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return -1; } /* #define SendTypeE4Reply SendTypeE3Reply */ /* IR_GET_LEX¤Ï TypeE4Reply¤Ç¤Ê¤¯ TypeE3Reply¤Ê¤Î¤Ç TypeE4¤Ï¤¤¤é¤Ê¤¤ */ /* IR_GET_WORD_DIC¤Ï TypeE2¤Ç¤Ï¤Ê¤¤¡¥¤³¤ì¤ò TypeE4¤Ë¤¹¤ë */ static int SendTypeE4Reply(client, stat, cnt, infoptr, slen) register ClientPtr client; BYTE *infoptr; int stat, cnt, slen; { BYTE lbuf[SENDBUFSIZE], *bufp = lbuf, *p; int res, sz = 2 * SIZEOFLONG + slen; if (sz <= SENDBUFSIZE || (bufp = (BYTE *)malloc(sz))) { p = bufp; LTOL4(stat, p); p += SIZEOFLONG; LTOL4(slen, p); p += SIZEOFLONG; LTOL4( cnt, p ) ; p += SIZEOFLONG; bcopy( infoptr, p, cnt ) ; res = WriteClient(client, bufp, sz); if (bufp != lbuf) free((char *)bufp); return res; } return -1; } /* IR_SER_STAT¤¬ TypeE5Reply¤½¤Î¤â¤Î¤Ç¤¢¤ë */ #define SendTypeE5Reply(client_buf, size) \ ClientBuf_store_reply(client_buf, Acknowledge.SendAckBuffer, size) /* IR_SER_STAT2¤¬ TypeE6Reply¤½¤Î¤â¤Î¤Ç¤¢¤ë */ #define SendTypeE6Reply SendTypeE5Reply /* IR_HOST¤ÏÀµ³Î¤Ë¤Ï TypeE2Reply¤Ç¤Ï¤Ê¤¤¤Î¤Ç TypeE7Reply¤òºî¤ë */ #define SendTypeE7Reply(client, size) \ WriteClient(client, Acknowledge.SendAckBuffer, size) static const char * irerrhdr(client) ClientPtr client; { static char buf[50]; int proto = Request.Request2.Type; sprintf(buf, "[%.25s](%.20s)", client->username, ProtoName[proto - 1]); return buf; } static void print_context_error(client) ClientPtr client; { PrintMsg( "%s Context Err\n", irerrhdr(client)); } #endif /* USE_EUC_PROTOCOL */ static int ir_initialize(clientp, client_buf) ClientPtr *clientp; ClientBuf *client_buf; { Req2 *req = &Request.Request2 ; int stat; stat = open_session(clientp, req->name, client_buf); if (SendTypeE1Reply2(client_buf, stat) < 0) return -1; if (stat == -1) EventMgr_finalize_notify(global_event_mgr, client_buf); return 0; } #ifdef USE_EUC_PROTOCOL ir_finalize(clientp) register ClientPtr *clientp ; { ClientPtr client = *clientp ; if( SendTypeE1Reply(client, 0) < 0 ) return( -1 ) ; /* close½èÍý¡õ¸å»ÏËö¡Ê¥³¥ó¥Æ¥¯¥¹¥È¤Î³«ÊüÅù¡Ë */ close_session(clientp, 1); return( 0 ) ; } ir_killserver(clientp) register ClientPtr *clientp; { ClientPtr client = *clientp; if( SendTypeE1Reply(client, 0) < 0 ) return -1; return 0; } ir_create_context(clientp) ClientPtr *clientp ; { ClientPtr client = *clientp ; int cxnum, stat = -1; cxnum = RkwCreateContext() ; if( SetDicHome( client, cxnum ) > 0 ) { set_cxt(client, cxnum); stat = cxnum; } else { Req0 *req0 = &Request.Request0 ; RkwCloseContext(cxnum); PrintMsg("%s Can't set dictionary home\n", irerrhdr(client, req0->Type)); } return SendTypeE1Reply(client, stat); } ir_duplicate_context(clientp) ClientPtr *clientp ; { Req1 *req = &Request.Request1 ; ClientPtr client = *clientp ; int cxnum, stat = -1; cxnum = req->context; if (chk_cxt(client, cxnum)) { stat = cxnum = RkwDuplicateContext( cxnum ); if (cxnum >= 0) { if (!set_cxt(client, cxnum)) { RkwCloseContext(cxnum); stat = -1; } } } else { PrintMsg("%s Context Err[%d]\n", irerrhdr(client), cxnum ) ; } return SendTypeE1Reply(client, stat); } ir_close_context(clientp) ClientPtr *clientp ; { Req1 *req = &Request.Request1 ; ClientPtr client = *clientp ; int cxnum, stat = -1; cxnum = req->context; if (chk_cxt(client, cxnum)) { stat = RkwCloseContext(cxnum); off_cxt(client, cxnum); } else { print_context_error(client); } return SendTypeE1Reply(client, stat); } ir_dictionary_list(clientp) ClientPtr *clientp ; { Req3 *req = &Request.Request3 ; ClientPtr client = *clientp ; char *dicnames = local_buffer ; int cxnum, size = 0 ; int ret = -1, max; cxnum = req->context; if (chk_cxt(client, cxnum)) { max = MIN( req->number, LOCAL_BUFSIZE ) ; if( (ret = (int)RkwGetDicList(cxnum, (char *)dicnames, max)) < 0) { ret = 0; } else { ir_debug( Dmsg(5,"¼­½ñ¥ê¥¹¥È\n" ); ) size = listsize(dicnames, ret); } } else { PrintMsg("%s Context Err[%d]\n", irerrhdr(client), cxnum ); } return SendTypeE2Reply(client, ret, (ret < 0)? 0: ret, dicnames, size); } ir_get_yomi( clientp ) ClientPtr *clientp ; { Req5 *req = &Request.Request5 ; ClientPtr client = *clientp ; char *yomi = local_buffer ; int ret = -1, cxnum ; int size = 0 ; Ushort cbuf[CBUFSIZE]; cxnum = req->context; if (chk_cxt(client, cxnum)) { int bunsetuno = req->number ; int maxyomi = MIN( req->datalen, LOCAL_BUFSIZE ) ; ir_debug( Dmsg(5,"maxyomi [ %d ]\n", maxyomi ); ) if( RkwGoTo(cxnum, bunsetuno) == bunsetuno ) { ret = RkwGetYomi( cxnum, (Ushort *)cbuf, CBUFSIZE ); /* ushort2euc¤¬ -1¤òÊÖ¤¹¤³¤È¤Ï¤Ê¤¤¤Î¤Ç */ ret = ushort2euc(cbuf, ret, yomi, maxyomi); if (ret) { size = ret + 1; } } else { PrintMsg("%s bunsetu move failed\n", irerrhdr(client)); } } else { print_context_error(client); } return SendTypeE2Reply(client, ret, (ret > 0)? 1: 0, yomi, size); } ir_set_dic_path( clientp ) ClientPtr *clientp ; /* ARGSUSED */ { return( 0 ) ; } ir_define_dic(clientp) ClientPtr *clientp ; { Req7 *req = &Request.Request7 ; ClientPtr client = *clientp ; char *dicname, *data ; int cxnum, ret = -1; Ushort cbuf[CBUFSIZE]; cxnum = req->context; if (chk_cxt(client, cxnum)) { dicname = req->dicname ; data = req->datainfo ; ir_debug( Dmsg(5,"¼­½ñ̾=%s\n", dicname ); ) ir_debug( Dmsg(5,"ÅÐÏ¿¤¹¤ë¥Ç¡¼¥¿[%s]\n", data );) euc2ushort( data, strlen( (char *)data ), cbuf, CBUFSIZE ); ret = RkwDefineDic( cxnum, (char *)dicname, (Ushort *)cbuf ); } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_delete_dic(clientp) ClientPtr *clientp ; { Req7 *req = &Request.Request7 ; ClientPtr client = *clientp ; char *dicname, *data ; int cxnum, ret = -1; Ushort cbuf[CBUFSIZE]; cxnum = req->context; if (chk_cxt(client, cxnum)) { dicname = req->dicname ; data = req->datainfo ; ir_debug( Dmsg(5,"¼­½ñ̾=%s\n", dicname ); ) ir_debug( Dmsg(5,"ºï½ü¤¹¤ë¥Ç¡¼¥¿[%s]\n", data ); ) euc2ushort( data, strlen( (char *)data ), cbuf, CBUFSIZE ); ret = RkwDeleteDic( cxnum, (char *)dicname, (Ushort *)cbuf ); } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_get_dir_list(clientp) ClientPtr *clientp ; { Req3 *req = &Request.Request3 ; ClientPtr client = *clientp ; char *dicnames = local_buffer ; int cxnum, ret = -1, max; int size = 0 ; cxnum = req->context; if (chk_cxt(client, cxnum)) { max = MIN( req->number, LOCAL_BUFSIZE ) ; ret = RkwGetDirList( cxnum, (char *)dicnames, max) ; if( ret >= 0 ) { ir_debug( Dmsg(5,"¼­½ñ¥ê¥¹¥È\n" ); ) size = listsize(dicnames, ret); } } else { print_context_error(client); } return SendTypeE2Reply(client, ret, (ret < 0)? 0: ret, dicnames, size); } ir_mount_dictionary(clientp) ClientPtr *clientp ; { Req8 *req = &Request.Request8 ; ClientPtr client = *clientp ; char *dicname ; int cxnum, mode, ret = -1; extern MMountFlag; cxnum = req->context; if (chk_cxt(client, cxnum)) { mode = req->mode ; ir_debug( Dmsg(5,"dicname = %s\n", req->data ); ) dicname = req->data ; ret = RkwMountDic( cxnum, (char *)dicname, mode | MMountFlag) ; } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_umount_dictionary(clientp) ClientPtr *clientp ; { Req8 *req = &Request.Request8 ; ClientPtr client = *clientp ; int cxnum, ret = -1; cxnum = req->context; if (chk_cxt(client, cxnum)) { ir_debug( Dmsg(5,"dicname = %s\n", req->data ); ) ret = RkwUnmountDic( cxnum, (char *)req->data ) ; } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_rmount_dictionary(clientp) ClientPtr *clientp ; { Req9 *req = &Request.Request9 ; ClientPtr client = *clientp ; int cxnum, where ; int ret = -1 ; cxnum = req->context; if (chk_cxt(client, cxnum)) { where = req->number ; ir_debug( Dmsg(5,"dicname = %s\n", req->data ); ) ret = RkwRemountDic( cxnum, (char *)req->data, where ) ; } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_mount_list( clientp ) ClientPtr *clientp ; { Req3 *req = &Request.Request3 ; ClientPtr client = *clientp ; char *dicnames = local_buffer ; int cxnum, ret = -1, size = 0; cxnum = req->context; if (chk_cxt(client, cxnum)) { ret = RkwGetMountList( cxnum, (char *)dicnames, MIN( req->number, LOCAL_BUFSIZE ) ) ; if( ret < 0 ) { ret = 0; } else { ir_debug( Dmsg(5,"¼­½ñ¥ê¥¹¥È\n" ); ) size = listsize(dicnames, ret); } } else { print_context_error(client); } return SendTypeE2Reply(client, ret, (ret < 0)? 0: ret, dicnames, size); } ir_convert( clientp ) ClientPtr *clientp ; { Req8 *req = &Request.Request8 ; ClientPtr client = *clientp ; int cxnum, yomilen, ret, mode ; int size = 0 ; char *data, lbuf[SENDBUFSIZE], *datap = lbuf; Ushort cbuf[CBUFSIZE]; int stat = -1, len; cxnum = req->context; if (chk_cxt(client, cxnum)) { mode = req->mode ; yomilen = req->datalen ; data = req->data ; if( yomilen + 1 <= CHECK_ACK_BUF_SIZE ) data[ yomilen + 1 ] = '\0' ; ir_debug( Dmsg(5,"ÆÉ¤ß = %s\n",data ); ) len = euc2ushort( data, yomilen, cbuf, CBUFSIZE ); if ((ret = RkwBgnBun( cxnum, (Ushort *)cbuf, len, mode )) >= 0) { /* ºÇÍ¥Àè¸õÊä¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë */ size = getFirstKouho(cxnum, 0, ret, &stat, (BYTE **)&datap); } else { PrintMsg( "%s kana-kanji convert failed\n", irerrhdr(client)); *datap = '\0' ; } } else { print_context_error(client); *datap = (char)0 ; } ret = SendTypeE2Reply(client, stat, (stat < 0)? 0: stat, datap, size); if (datap != lbuf) free((char *)datap); return ret; } ir_convert_end( clientp ) ClientPtr *clientp ; { Req4 *req = &Request.Request4 ; ClientPtr client = *clientp ; int cxnum, len, i, mode, ret = -1; cxnum = req->context; if (chk_cxt(client, cxnum)) { len = req->number ; if( len ) { mode = 1 ; if( RkwGoTo( cxnum, 0 ) != 0 ) { PrintMsg("%s ir_convert_end: RkwGoTo failed\n", irerrhdr(client)); } ir_debug( Dmsg( 5,"³Ø½¬¤µ¤»¤ë¸õÊä\n" ); ) /* ¥«¥ì¥ó¥È¸õÊä¤òÀèÆ¬¤Ë°Üư¥¯¥é¥¤¥¢¥ó¥È¤¬Áª¤ó¤À¸õÊä¤ò */ /* £Ò£Ë¤ËÃΤ餻¤ë */ for( i = 0; i < len; i++ ){ if( req->kouho[ i ] != RkwXfer( cxnum, req->kouho [ i ] ) ) { PrintMsg("%s ir_convert_end: RkwXfer failed\n", irerrhdr(client)); } ir_debug( DebugDispKanji( cxnum, i ); ) if( RkwRight( cxnum ) == 0 && i != (len - 1) ) { PrintMsg("%s ir_convert_end: RkwRight failed\n", irerrhdr(client)); } } ir_debug( Dmsg( 5,"\n" ); ) } else { mode = 0 ; } ret = RkwEndBun( cxnum, mode ) ; } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_get_kanjilist( clientp ) ClientPtr *clientp ; { Req5 *req = &Request.Request5 ; ClientPtr client = *clientp ; char *kouho = local_buffer ; char *yomi, *data ; int ret = -1, size = 0, cxnum, len ; int bunsetuno, maxkanji ; Ushort cbuf[CBIGBUFSIZE], *cbufp; register int clen, i; char workbuf[CBUFSIZE]; cxnum = req->context; if (chk_cxt(client, cxnum)) { bunsetuno = req->number ; maxkanji = MIN( req->datalen, LOCAL_BUFSIZE ) ; ir_debug( Dmsg(5,"maxkanji [ %d ]\n", maxkanji ); ) if( RkwGoTo(cxnum, bunsetuno) == bunsetuno ) { ret = RkwGetKanjiList( cxnum, (Ushort *)cbuf, CBIGBUFSIZE ); cbufp = cbuf; for( i = 0; i < ret; i++ ) cbufp += ushortstrlen( cbufp ) + 1; len = ushort2euc( cbuf, cbufp - cbuf, kouho, maxkanji ); clen = RkwGetYomi( cxnum, (Ushort *)cbuf, CBIGBUFSIZE ); clen = ushort2euc( cbuf, clen, workbuf, CBUFSIZE ) + 1; maxkanji = MIN(len, (maxkanji - clen)); data = kouho; for( i = ret = 0; i < maxkanji; i++ ){ if( !(*data++) ){ ret++; } } yomi = kouho; if( ret ) { ir_debug( Dmsg(5,"¸õÊä¥ê¥¹¥È\n" ); ) size = listsize( kouho, ret ); yomi += size; } else { *yomi = '\0'; yomi++; } /* ÆÉ¤ß¤òºÇ¸å¤Ë¤Ä¤±¤ë*/ strcpy( (char *)yomi, (char *)workbuf ); size += clen; } else { PrintMsg("%s bunsetu move failed\n", irerrhdr(client)); } } else { print_context_error(client); } return SendTypeE2Reply(client, ret, (ret < 0)? 0: (ret + 1), kouho, size); } ir_resize(clientp) ClientPtr *clientp ; { #define ENLARGE -1 #define SHORTEN -2 Req5 *req = &Request.Request5 ; ClientPtr client = *clientp ; int ret, cxnum, yomilen, bunsetu ; int size = 0 ; BYTE lbuf[SENDBUFSIZE], *lbufp = lbuf; int stat = 0; cxnum = req->context; if (chk_cxt(client, cxnum)) { bunsetu = req->number ; yomilen = req->datalen ; RkwGoTo(cxnum, bunsetu) ; ir_debug( Dmsg(5,"yomilen = %d\n",yomilen ); ) ir_debug( Dmsg(5,"bunsetu = %d\n",bunsetu ); ) switch( yomilen ) { case ENLARGE : ret = RkwEnlarge( cxnum ) ; break ; case SHORTEN : ret = RkwShorten( cxnum ) ; break ; default : ret = RkeResize( cxnum, yomilen ); break ; } /* ºÇÍ¥Àè¸õÊä¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë */ size = getFirstKouho(cxnum, bunsetu, ret, &stat, &lbufp); } else { print_context_error(client); } ret = SendTypeE2Reply(client, stat, (stat < 0)? 0: stat - bunsetu, (char *)lbufp, size); if (lbufp != lbuf) free((char *)lbufp); return ret; } ir_store_yomi( clientp ) ClientPtr *clientp ; { Req9 *req = &Request.Request9 ; ClientPtr client = *clientp ; int cxnum, bunsetu, len, ret ; int size = 0 ; char *data ; Ushort cbuf[CBUFSIZE]; BYTE lbuf[SENDBUFSIZE], *lbufp = lbuf; int stat = 0; cxnum = req->context; if (chk_cxt(client, cxnum)) { bunsetu = req->number ; len = req->datalen ; RkwGoTo( cxnum, bunsetu ) ; data = req->data ; data[ len + 1 ] = '\0' ; ir_debug( Dmsg(5,"ÆÉ¤ß = %s\n",data ); ) ret = euc2ushort( data, len, cbuf, CBUFSIZE ); if ((ret = RkwStoreYomi( cxnum, (Ushort *)cbuf, ret )) >= 0) { size = getFirstKouho(cxnum, bunsetu, ret, &stat, &lbufp); } else { PrintMsg("%s RkwStoreYomi faild\n", irerrhdr(client)); } } else { print_context_error(client); } ret = SendTypeE2Reply(client, stat, (stat < 0)? 0: stat, (char *)lbufp, size); if (lbufp != lbuf) free((char *)lbufp); return ret; } ir_query_extension( clientp ) ClientPtr *clientp ; { Req12 *req = &Request.Request12 ; ClientPtr client = *clientp ; int i = 0 ; int status = -1 ; while( strlen( ExtensionName[ i ][ 0 ] ) ) { if( !strcmp( ExtensionName[ i ][ 0 ], (char *)req->data ) ) { status = atoi( ExtensionName[ i ][ 1 ] ) ; break ; } i++ ; } return SendTypeE1Reply(client, status); } static void iroha2canna pro((char *)); #ifdef EXTENSION ir_list_dictionary( clientp ) ClientPtr *clientp ; { Req9 *req = &Request.Request9 ; ClientPtr client = *clientp ; char *dicnames = local_buffer ; char *dirname, *dirnamelong; int cxnum, size = 0, ret = -1; cxnum = req->context; if (chk_cxt(client, cxnum)) { size = MIN( req->number, LOCAL_BUFSIZE ) ; dirname = (char *)req->data; iroha2canna( dirname ); dirnamelong = insertUserSla(dirname, strlen(dirname)); if (dirnamelong) { if (checkPermissionToRead(client, dirnamelong, (char *)0) >= 0) { ret = RkwListDic(cxnum, (unsigned char *)dirnamelong, (unsigned char *)dicnames, size); } free(dirnamelong); } /* else ERROR because ret == -1 */ if( ret < 0 ) { size = 0; } else { ir_debug( Dmsg(5,"¼­½ñ¥ê¥¹¥È\n" ); ) size = listsize(dicnames, ret); } } else { PrintMsg( "[%s@%s](%s) Context Err\n", client->username, client->hostname, ProtoName[ req->Type - 1 ] ) ; } return SendTypeE2Reply(client, ret, (ret < 0)? 0: ret, dicnames, size); } ir_create_dictionary( clientp ) ClientPtr *clientp ; { Req8 *req = &Request.Request8 ; ClientPtr client = *clientp ; int cxnum, ret = -1; cxnum = req->context; if (chk_cxt(client, cxnum)) { ir_debug( Dmsg(5,"dicname = %s\n", req->data ); ) ret = RkwCreateDic(cxnum, (unsigned char *)req->data, req->mode); } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_remove_dictionary( clientp ) ClientPtr *clientp ; { Req8 *req = &Request.Request8 ; ClientPtr client = *clientp ; int cxnum, ret = -1; cxnum = req->context; if (chk_cxt(client, cxnum)) { ir_debug( Dmsg(5,"dicname = %s\n", req->data ); ) ret = RkwRemoveDic(cxnum, (unsigned char *)req->data, 0); } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_rename_dictionary( clientp ) ClientPtr *clientp ; { Req10 *req = &Request.Request10 ; ClientPtr client = *clientp ; int cxnum ; int ret = -1 ; cxnum = req->context; if (chk_cxt(client, cxnum)) { ret = RkwRenameDic(cxnum, (unsigned char *)req->dicname, (unsigned char *)req->textdicname, req->mode); } else { print_context_error(client); } return SendTypeE1Reply(client, ret); } ir_get_word_text_dic( clientp ) ClientPtr *clientp ; { Req10 *req = &Request.Request10 ; ClientPtr client = *clientp ; BYTE *infobuf = (BYTE *)local_buffer ; char *dicname, *dirname, *dirnamelong; int cxnum, infosize, ret = -1, cnt = 0, size = SIZEOFLONG; Ushort cbuf[CBUFSIZE]; cxnum = req->context; if (chk_cxt(client, cxnum)) { dirname = (req->diclen ? (char *)req->dicname : (char *)NULL); iroha2canna( dirname ); infosize = MIN( req->mode, MAXDATA ) ; dicname = (char *)req->textdicname; if (dirname && dirname[0]) { dirnamelong = insertUserSla(dirname, strlen(dirname)); if (dirnamelong) { if (checkPermissionToRead(client, dirnamelong, dicname) >= 0) { ret = RkwGetWordTextDic(cxnum, (unsigned char *)dirnamelong, (unsigned char *)dicname, (Ushort *)cbuf, CBIGBUFSIZE); } free(dirnamelong); } } else { ret = RkwGetWordTextDic(cxnum, (unsigned char *)dirname, (unsigned char *)dicname, (Ushort *)cbuf, CBIGBUFSIZE); } if (ret > 0) { ret = ushort2euc( cbuf, ret, (char *)infobuf, infosize ); } if( ret > 0 ) { cnt = ret + 1 ; size = cnt + SIZEOFLONG; } } else { print_context_error(client); } return SendTypeE4Reply(client, ret, cnt, infobuf, size); } #endif /* EXTENSION */ static int storeStat(client, ret, src, dest) ClientPtr client; int ret; BYTE *src, *dest; { if( ret >= 0 ) { RkStat *stat = (RkStat *)src; BYTE *bufp = dest; LTOL4(stat->bunnum, dest); /* bunsetsu bangou */ dest += SIZEOFLONG; LTOL4(stat->candnum, dest); /* kouho bangou */ dest += SIZEOFLONG; LTOL4(stat->maxcand, dest); /* sou kouho suu */ dest += SIZEOFLONG; LTOL4(stat->diccand, dest); /* jisho ni aru kouho suu */ dest += SIZEOFLONG; LTOL4(stat->ylen, dest); /* yomigana no nagasa (in byte) */ dest += SIZEOFLONG; LTOL4(stat->klen, dest); /* kanji no nagasa (in byte) */ dest += SIZEOFLONG; LTOL4(stat->tlen, dest); /* tango no kosuu */ if( !client->version_lo ) { /* client version ¤¬ £° ¤Î¤Ï */ register int *p = (int *)bufp; register int tmp1 = p[ 2 ]; register int tmp2 = p[ 3 ] ; int i ; for( i = 2; i < 5; i++ ) p[ i ] = p[ i + 2 ] ; p[ 5 ] = tmp1 ; p[ 6 ] = tmp2 ; } } return ret; } ir_get_stat( clientp ) ClientPtr *clientp ; { Req5 *req = &Request.Request5 ; ClientPtr client = *clientp ; int cxnum, kouho, bunsetu, ret = -1; int size = 0 ; RkStat stat ; cxnum = req->context; if (chk_cxt(client, cxnum)) { bunsetu = req->number ; kouho = req->datalen ; RkwGoTo( cxnum, bunsetu ) ; RkwXfer( cxnum, kouho ) ; ret = RkeGetStat( cxnum, &stat ); size = SIZEOFLONG * 7; } else { print_context_error(client); } return SendTypeE3Reply(client, ret, storeStat, (BYTE *)&stat, size); } static int storeLex(client, tangosu, src, dest) ClientPtr client; /* ARGSUSED */ int tangosu; BYTE *src, *dest; { if( tangosu >= 0 ) { register int i; RkLex *lex = (RkLex *)src; for (i = 0; i < tangosu; i++, lex++) { LTOL4(lex->ylen, dest); /* yomigana no nagasa (in byte) */ dest += SIZEOFLONG; LTOL4(lex->klen, dest); /* kanji no nagasa (in byte) */ dest += SIZEOFLONG; LTOL4(lex->rownum, dest); /* row number */ dest += SIZEOFLONG; LTOL4(lex->colnum, dest); /* column number */ dest += SIZEOFLONG; LTOL4(lex->dicnum, dest); /* dic number */ dest += SIZEOFLONG; } } return tangosu; } ir_get_lex( clientp ) ClientPtr *clientp ; { Req11 *req = &Request.Request11 ; ClientPtr client = *clientp ; RkLex *lex = (RkLex *)local_buffer ; int cxnum ; int size = 0 ; int tangosu = -1; cxnum = req->context; if (chk_cxt(client, cxnum)) { RkwGoTo( cxnum, req->number ) ; RkwXfer( cxnum, req->kouho ) ; tangosu = RkeGetLex( cxnum, lex, MIN( req->max, LOCAL_BUFSIZE/sizeof( RkLex ) ) ); size = tangosu * SIZEOFLONG * 5; } else { print_context_error(client); } return SendTypeE3Reply(client, tangosu, storeLex, (BYTE *)lex, size); } #ifdef DEBUG void DispDebug( client ) ClientPtr client ; { char return_date[DATE_LENGH] ; long wtime = (long)client->used_time ; char buf[10] ; (void)ClientStat( client, GETDATE, 0, return_date ) ; Dmsg(5,"¥æ¡¼¥¶Ì¾ :%s\n", client->username ) ; Dmsg(5,"¥³¥Í¥¯¥È¤·¤¿»þ´Ö :%s\n", return_date ) ; Dmsg(5,"¥Û¥¹¥È̾ :%s\n", client->hostname ) ; sprintf( buf,"%02ld:%02ld:%02ld", wtime/3600, (wtime%3600)/60, (wtime%3600)%60 ) ; Dmsg(5,"¥æ¡¼¥¶¾ÃÈñ»þ´Ö :%s\n\n", buf ) ; } #endif static int SetServerVersion( buf ) char *buf ; { char tmpstr[14]; /* 14 is enough */ int SendSize; sprintf(tmpstr, "%d.%d", CANNA_MAJOR_MINOR / 1000, CANNA_MAJOR_MINOR % 1000); SendSize = strlen(tmpstr) + 1; LTOL4(SendSize, buf) ; buf += SIZEOFLONG; /* ¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¥»¥Ã¥È¤¹¤ë */ bcopy(tmpstr, buf, SendSize); return SendSize + SIZEOFLONG; } int ir_server_stat2( client_buf ) ClientBuf *client_buf ; { char *sendp = Acknowledge.SendAckBuffer ; char *savep ; register ClientPtr who ; ClientPtr *OutPut; int RequestCount[ MAXREQUESTNO ] ; int i, j, len, retval, max_cx, n; size_t count; OutPut = get_all_other_clients(NULL, &count); /* ¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¥»¥Ã¥È */ sendp += SetServerVersion( sendp ) ; /* ¸½ºß»þ¹ï¥»¥Ã¥È */ LTOL4( time( NULL ), sendp ) ; sendp += SIZEOFLONG ; /* ¥×¥í¥È¥³¥ë¿ô¥»¥Ã¥È */ LTOL4( REALREQUEST, sendp ) ; sendp += SIZEOFLONG ; /* ¥×¥í¥È¥³¥ë̾¥ê¥¹¥ÈºîÀ® */ savep = sendp ; sendp += SIZEOFLONG ; for( i = 1; i < MAXREQUESTNO; i++ ) { RequestCount[ i - 1 ] = htonl( TotalRequestTypeCount[ i ] ) ; strcpy( (char *)sendp, ProtoName[ i - 1 ] ) ; sendp += (strlen( ProtoName[ i - 1 ] ) + 1 ) ; } /* ¥×¥í¥È¥³¥ë̾¥ê¥¹¥ÈĹ¥»¥Ã¥È */ LTOL4( sendp - ( savep + SIZEOFLONG ), savep ) ; /* ¥×¥í¥È¥³¥ë»ÈÍÑÉÑÅÙ¥»¥Ã¥È */ bcopy( RequestCount, sendp, REALREQUEST * SIZEOFLONG ) ; sendp += ( REALREQUEST * SIZEOFLONG ) ; /* Àܳ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¿ô¥»¥Ã¥È */ LTOL4( count, sendp ) ; sendp += SIZEOFLONG ; /* ¥³¥ó¥Æ¥¯¥¹¥È¿ô¤ò¥»¥Ã¥È */ max_cx = 0; for (i = 0 ; i < count ; i++) { int *contexts; who = OutPut[i]; contexts = who->context_flag; for (j = 0, n = who->ncon ; j < n ; j++) { if (max_cx < contexts[j]) { max_cx = contexts[j]; } } } max_cx += (max_cx % SIZEOFSHORT); /* ????? */ LTOL4(max_cx, sendp ) ; sendp += SIZEOFLONG ; if( SendTypeE6Reply(client_buf, sendp - Acknowledge.SendAckBuffer) < 0 ) { retval = -1; goto stat2done; } /* ³Æ¥¯¥é¥¤¥¢¥ó¥È¾ðÊó¤ò¥»¥Ã¥È */ for( i = 0; i < count; i ++ ) { int id; savep = sendp = Acknowledge.SendAckBuffer ; who = OutPut[ i ] ; sendp += SIZEOFLONG ; id = ClientBuf_getfd(who->client_buf); LTOL4( id, sendp ) ; sendp += SIZEOFLONG ; LTOL4( who->usr_no, sendp ) ; sendp += SIZEOFLONG ; LTOL4( who->used_time, sendp ) ; sendp += SIZEOFLONG ; LTOL4( who->idle_date, sendp ) ; sendp += SIZEOFLONG ; LTOL4( who->connect_date, sendp ) ; sendp += SIZEOFLONG ; /* ¥×¥í¥È¥³¥ë»ÈÍÑÉÑÅÙ¾ðÊó¥»¥Ã¥È */ for( j = 1; j < MAXREQUESTNO; j++ ) { LTOL4( who->pcount[ j ], sendp ) ; sendp += SIZEOFLONG ; } /* ¥æ¡¼¥¶Ì¾¥»¥Ã¥È */ if (!who->username) { len = 1; LTOL4( len, sendp ) ; sendp += SIZEOFLONG ; bzero( sendp, len ) ; sendp += len ; } else { len = strlen( who->username ) + 1 ; LTOL4( len, sendp ) ; sendp += SIZEOFLONG ; bcopy( who->username, sendp, len ) ; sendp += len ; }; /* ¥Û¥¹¥È̾¥»¥Ã¥È */ if (!who->hostname) { len = 1 ; LTOL4( len, sendp ) ; sendp += SIZEOFLONG ; bzero( sendp, len ) ; sendp += len ; } else { len = strlen( who->hostname ) + 1 ; LTOL4( len, sendp ) ; sendp += SIZEOFLONG ; bcopy( who->hostname, sendp, len ) ; sendp += len ; }; /* ¥³¥ó¥Æ¥¯¥¹¥È´ÉÍý¥Õ¥é¥°¥»¥Ã¥È */ bzero(sendp, max_cx); for (j = 0 ; j < who->ncon ; j++) { sendp[who->context_flag[j]] = 1; } sendp += max_cx; /* ¥¯¥é¥¤¥¢¥ó¥È´ÉÍý¾ðÊó¥ê¥¹¥ÈĹ¥»¥Ã¥È */ LTOL4( sendp - (savep + SIZEOFLONG), savep ) ; if( SendTypeE6Reply(client_buf, sendp - savep) < 0 ) { retval = -1; goto stat2done; } who ++ ; } EventMgr_finalize_notify(global_event_mgr, client_buf); retval = 1; stat2done: if (OutPut) { free((char *)OutPut); } return retval; } int ir_server_stat( client_buf ) ClientBuf *client_buf ; { char *sendp = Acknowledge.SendAckBuffer ; register ClientPtr who ; register ClientStatPtr Wp ; ClientPtr *OutPut; ClientStatRec *Sstat; int i, j, InfoSize, SendSize, retval; int RequestCount[ OLD_MAXREQUESTNO ] ; size_t count; OutPut = get_all_other_clients(NULL, &count); Sstat = (ClientStatRec *)malloc(count * sizeof(ClientStatRec)); if (!OutPut || !Sstat) count = 0; /* ñ¤Ë¥¨¥é¡¼¤Ë¤¹¤Ù¤­¤Ç¤Ï? */ InfoSize = sizeof( ClientStatRec )*count ; Wp = Sstat ; for( i = 0 ; i < count; i++ ) { int id; who = OutPut[ i ] ; ir_debug( DispDebug( who ); ) id = ClientBuf_getfd(who->client_buf); Wp->id = htonl( id ) ; Wp->usr_no = htonl( who->usr_no ) ; Wp->used_time = htonl( who->used_time ) ; Wp->idle_date = htonl( who->idle_date ) ; Wp->connect_date = htonl( who->connect_date ) ; for( j = 0; j < OLD_MAXREQUESTNO; j++ ) Wp->pcount[ j ] = htonl( who->pcount[ j ] ) ; strncpy( Wp->username, who->username, 10 ) ; strncpy( Wp->hostname, who->hostname, 15 ) ; bzero(Wp->context_flag, OLD_MAX_CX); for (j = 0 ; j < who->ncon ; j++) { int inde = who->context_flag[j]; if (inde < OLD_MAX_CX) { Wp->context_flag[inde] = 1; } } Wp ++ ; } /* ¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó¤òÄÌÃΤ¹¤ë */ sendp += SetServerVersion( sendp ) ; /* ¥µ¡¼¥Ð¤ÎΩ¤Á¾å¤¬¤Ã¤Æ¤«¤é¤ÎÁí¥×¥í¥È¥³¥ë */ for( i = 0; i < OLD_MAXREQUESTNO; i++ ) RequestCount[ i ] = htonl( TotalRequestTypeCount[ i ] ) ; SendSize = SIZEOFLONG * OLD_MAXREQUESTNO ; LTOL4( SendSize, sendp ) ; sendp += SIZEOFLONG ; bcopy( RequestCount, sendp, SendSize ) ; sendp += SendSize ; /* ¾ðÊó¤òÁ÷¤ë¥¯¥é¥¤¥¢¥ó¥È¿ô¤òÄÌÃΤ¹¤ë */ LTOL4( count, sendp ) ; sendp += SIZEOFLONG ; /* ¥µ¡¼¥Ð¤Î¸½ºß¤Î»þ¹ï¤òÄÌÃΤ¹¤ë */ LTOL4( time( NULL ), sendp ) ; sendp += SIZEOFLONG ; /* ¼ÂºÝ¤Ë¥¯¥é¥¤¥¢¥ó¥È¾ðÊó¤òÄÌÃΤ¹¤ë */ if (Sstat) { /* µ¿Ìä */ bcopy( Sstat, sendp, InfoSize ) ; sendp += InfoSize ; } if( SendTypeE5Reply(client_buf, sendp - Acknowledge.SendAckBuffer) < 0 ) { retval = -1; goto statdone; } EventMgr_finalize_notify(global_event_mgr, client_buf); retval = 1; statdone: if (OutPut) { free((char *)OutPut); } if (Sstat) { free((char *)Sstat); } return retval; } ir_host_ctl( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; char *sendp = Acknowledge.SendAckBuffer ; char *savep = Acknowledge.SendAckBuffer + SIZEOFLONG ; char *namep ; ACLPtr wp ; int cnt, i ; LTOL4( NumberAccessControlList(), sendp ) ; sendp += (SIZEOFLONG * 2) ; for( wp = ACLHead; wp != (ACLPtr)NULL; wp = wp->next ) { cnt = strlen( (char *)wp->hostname ) + 1 ; LTOL4( cnt, sendp ) ; sendp += SIZEOFLONG ; strcpy( (char *)sendp, (char *)wp->hostname ) ; sendp += cnt ; LTOL4( wp->usercnt, sendp ) ; sendp += SIZEOFLONG ; for( i = 0, namep = wp->usernames; i < wp->usercnt; i++ ) { cnt = strlen( (char *)namep ) + 1 ; LTOL4( cnt, sendp ) ; sendp += SIZEOFLONG ; strcpy( (char *)sendp, (char *)namep ) ; sendp += cnt ; namep += cnt ; } } LTOL4( sendp - (savep + SIZEOFLONG), savep ) ; if( SendTypeE7Reply(client, sendp - Acknowledge.SendAckBuffer) < 0 ) return( -1 ) ; close_session(clientp, 1); return( 1 ) ; } #endif /* USE_EUC_PROTOCOL */ int ir_nosession(clientp, client_buf) ClientPtr *clientp; ClientBuf *client_buf; { int proto = Request.Request2.Type, r; switch (proto) { case IR_INIT: r = ir_initialize(clientp, client_buf); break; #ifdef USE_EUC_PROTOCOL case IR_SER_STAT: r = ir_server_stat(client_buf); break; case IR_SER_STAT2: r = ir_server_stat2(client_buf); break; #endif default: r = ir_error(clientp); break; }; return r; } /* * ¤â¤È¤â¤Èio.c¤ËÆþ¤ì¤¤¤Æ¤¤¤¿¤â¤Î¤ò¤³¤³¤«¤é²¼¤ËÃÖ¤¯ */ #define SIZE4 4 #define SIZE8 8 #define SIZE12 12 #define SIZE16 16 #define SIZE20 20 int parse_euc_request(request, data, len, username, hostname) int *request; BYTE *data; size_t len; const char *username; const char *hostname; { int (*ReqCallFunc) pro((char *, int)) ; register Req0 *req0 = &Request.Request0 ; const char *username0 = username ? username : ""; const char *hostname0 = hostname ? hostname : ""; int needsize; ir_debug(Dmsg(5, "EUC¥×¥í¥È¥³¥ë¤Î¥ê¥¯¥¨¥¹¥È¤ò²òÀÏ, Ťµ=%d\n", len)); if (len < 4) return 4 - len; req0->Type = (int)L4TOL(data); ir_debug( Dmsg(10, "NewReadRequest:") ); ir_debug( DebugDump( 10, (char *)data, len ) ); ir_debug(Dmsg(5,"Client: <%s@%s> [%d]\n", username0, hostname0, req0->Type )); if( (0 > req0->Type) || #ifdef EXTENSION ( (req0->Type > REALREQUEST) && (req0->Type < EXTBASEPROTONO) ) || (req0->Type > (MAXEXTREQUESTNO+EXTBASEPROTONO)) #else (req0->Type > REALREQUEST) #endif ) { if (username) { PrintMsg( "[%s] ", username ) ; } PrintMsg( "Request error[ %d ]\n", req0->Type ) ; return -1; } #ifdef EXTENSION /* ¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥×Ëè¤Ë¥Ç¡¼¥¿¤ò¸Æ¤ó¤Ç¤¯¤ë´Ø¿ô¤ò¸Æ¤Ö */ if( req0->Type >= EXTBASEPROTONO ) { int xrequest = req0->Type - EXTBASEPROTONO ; ReqCallFunc = ExtensionVector[ xrequest ].extdat; CallFunc = ExtensionVector[ xrequest ].func; } else #endif /* EXTENSION */ { ir_debug( Dmsg( 8,"Now Call %s\n", DebugProc[ req0->Type ][ 1 ] ); ) ReqCallFunc = Vector[ req0->Type ].extdat; CallFunc = Vector[ req0->Type ].func; } if( (needsize = (* ReqCallFunc)( data, len )) < 0 ) { if (username) { PrintMsg( "[%s] ", username ) ; } PrintMsg( "Read Data failed\n") ; return -1; } else if (needsize > 0) { return needsize; } /* ¥×¥í¥È¥³¥ë¤Î¼ïÎàËè¤ËÅý·×¤ò¼è¤ë */ #ifdef EXTENSION if( req0->Type < MAXREQUESTNO ) #endif TotalRequestTypeCount[ req0->Type ] ++ ; *request = req0->Type; #ifdef DEBUG # ifdef EXTENSION if (req0->Type >= EXTBASEPROTONO) CallFuncName = "(extension)"; else # endif CallFuncName = DebugProc[req0->Type][0]; #endif return 0; } static int ProcReq0( buf, size ) char *buf ; int size ; /* ARGSUSED */ { return( 0 ) ; } #ifdef USE_EUC_PROTOCOL ProcReq1( buf, size ) char *buf ; int size ; { register Req1 *req = &Request.Request1 ; if( size < SIZE8 ) return( SIZE8 - size ) ; req->context = (int)L4TOL(buf + SIZE4); ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) return( 0 ) ; } #endif /* USE_EUC_PROTOCOL */ ProcReq2( buf, size ) char *buf ; int size ; { register Req2 *req = &Request.Request2 ; int needsize ; ir_debug( Dmsg(10,"ProcReq start!!\n" ); ) if( (needsize = SIZE8 - size) > 0 ) return( needsize ) ; req->namelen = (int)L4TOL(buf + SIZE4); if( IR_INT_INVAL(req->namelen) ) return( -1 ); ir_debug( Dmsg(10,"req->namelen =%d\n", req->namelen ); ) if( (needsize = SIZE8 + req->namelen - size) > 0 ) return( needsize ) ; if( req->namelen > 0 ){ req->name = buf + SIZE8 ; if( req->name[req->namelen - 1] != 0 ) return( -1 ); } ir_debug( Dmsg(10,"req->namelen =%d\n", req->namelen ); ) ir_debug( Dmsg(10,"req->name =%s\n", req->name ); ) return( 0 ) ; } #ifdef USE_EUC_PROTOCOL ProcReq3( buf, size ) char *buf ; int size ; { register Req3 *req = &Request.Request3 ; int needsize ; if( (needsize = SIZE12 - size ) > 0 ) return( needsize ) ; req->context = (int)L4TOL(buf + SIZE4); req->number = (int)L4TOL(buf + SIZE8); ir_debug( Dmsg(10,"req->contest =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->number =%d\n", req->number ); ) return( 0 ) ; } ProcReq4( buf, size ) char *buf ; int size ; { register Req4 *req = &Request.Request4 ; register int i ; int needsize ; if( (needsize = SIZE12 - size ) > 0 ) return( needsize ) ; req->context = (int)L4TOL(buf + SIZE4); req->number = (int)L4TOL(buf + SIZE8); ir_debug( Dmsg(5,"req->number=%d\n", req->number ); ) if( (needsize = SIZE12 + (req->number)*SIZE4 - size ) > 0 ) return( needsize ) ; buf += SIZE12 ; req->kouho = (int *)buf ; for( i = 0; i < req->number; i++, buf+= SIZE4 ) req->kouho[ i ] = (int)L4TOL(buf); ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->number =%d\n", req->number ); ) #ifdef DEBUG for( i = 0; i < req->number; i++ ) Dmsg(10,"req->kouho =%d\n", req->kouho[ i ] ) ; #endif return( 0 ) ; } ProcReq5( buf, size ) char *buf ; int size ; { register Req5 *req = &Request.Request5 ; int needsize ; if( (needsize = SIZE16 - size ) > 0 ) return( needsize ) ; req->context = (int)L4TOL(buf + SIZE4); req->number = (int)L4TOL(buf + SIZE8); req->datalen = (int)L4TOL(buf + SIZE12); ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->number =%d\n", req->number ); ) ir_debug( Dmsg(10,"req->datalen =%d\n", req->datalen ); ) return( 0 ) ; } ProcReq6( buf, size ) char *buf ; int size ; { register Req6 *req = &Request.Request6 ; int needsize ; if( (needsize = SIZE16 - size ) > 0 ) return( needsize ) ; req->context =(int)L4TOL(buf + SIZE4); req->mode = (int)L4TOL(buf + SIZE8); req->datalen = (int)L4TOL(buf + SIZE12); if( (needsize = SIZE16 + req->datalen - size ) > 0 ) return( needsize ) ; req->data = buf + SIZE16 ; ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->mode =%d\n", req->mode ); ) ir_debug( Dmsg(10,"req->datalen =%d\n", req->datalen ); ) ir_debug( Dmsg(10,"req->data =%s\n", req->data ); ) return( 0 ) ; } ProcReq7( buf, size ) char *buf ; int size ; { register Req7 *req = &Request.Request7 ; int needsize ; if( (needsize = SIZE12 - size ) > 0 ) return( needsize ) ; req->context = (int)L4TOL(buf + SIZE4); req->diclen = (int)L4TOL(buf + SIZE8); if( (needsize = SIZE12 + req->diclen - size ) > 0 ) return( needsize ) ; req->dicname = buf + SIZE12 ; if( (needsize = SIZE12 + req->diclen - size ) > 0 ) return( needsize ) ; req->datalen = (int)L4TOL(buf + SIZE12 + req->diclen); if( (needsize = SIZE16 + req->diclen + req->datalen - size ) > 0 ) return( needsize ) ; req->datainfo = buf + SIZE16 + req->diclen ; ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->diclen =%d\n", req->diclen ); ) ir_debug( Dmsg(10,"req->dicname =%s\n", req->dicname ); ) ir_debug( Dmsg(10,"req->datalen =%d\n", req->datalen ); ) ir_debug( Dmsg(10,"req->datainfo =%s\n", req->datainfo ); ) return( 0 ) ; } ProcReq8( buf, size ) char *buf ; int size ; { register Req8 *req = &Request.Request8 ; int needsize ; if( (needsize = SIZE12 - size ) > 0 ) return( needsize ) ; req->context = (int)L4TOL(buf + SIZE4); req->datalen = (int)L4TOL(buf + SIZE8); if( (needsize = SIZE12 + req->datalen - size ) > 0 ) return( needsize ) ; req->data = buf + SIZE12 ; if( (needsize = SIZE16 + req->datalen - size ) > 0 ) return( needsize ) ; req->mode = (int)L4TOL(buf + SIZE12 + req->datalen); ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->datalen =%d\n", req->datalen ); ) ir_debug( Dmsg(10,"req->data =%s\n", req->data ); ) ir_debug( Dmsg(10,"req->mode =%d\n", req->mode ); ) return( 0 ) ; } ProcReq9( buf, size ) char *buf ; int size ; { register Req9 *req = &Request.Request9 ; int needsize ; if( (needsize = SIZE16 - size) > 0 ) return( needsize ) ; req->context = (int)L4TOL(buf + SIZE4); req->number = (int)L4TOL(buf + SIZE8); req->datalen = (int)L4TOL(buf + SIZE12); if( (needsize = SIZE16 + req->datalen - size) > 0 ) return( needsize ) ; req->data = buf + SIZE16 ; ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->number =%d\n", req->number ); ) ir_debug( Dmsg(10,"req->datalen =%d\n", req->datalen ); ) ir_debug( Dmsg(10,"req->data =%s\n", req->data ); ) return( 0 ) ; } ProcReq10( buf, size ) char *buf ; int size ; { register Req10 *req = &Request.Request10 ; int needsize ; if( (needsize = SIZE12 - size) > 0 ) return( needsize ) ; req->context = (int)L4TOL(buf + SIZE4); req->diclen = (int)L4TOL(buf + SIZE8); if( (needsize = SIZE12 + req->diclen - size) > 0 ) return( needsize ) ; req->dicname = buf + SIZE12 ; if( (needsize = SIZE16 + req->diclen - size) > 0 ) return( needsize ) ; req->textdiclen = (int)L4TOL(buf + SIZE12 + req->diclen); if( (needsize = SIZE16 + req->diclen + req->textdiclen - size) > 0 ) return( needsize ) ; if( req->textdiclen ) req->textdicname = buf + SIZE16 + req->diclen ; else req->textdicname = (char *)NULL ; if( (needsize = SIZE20 + req->diclen + req->textdiclen - size) > 0 ) return( needsize ) ; req->mode = (int)L4TOL(buf + SIZE16 + req->diclen + req->textdiclen); ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->diclen =%d\n", req->diclen ); ) ir_debug( Dmsg(10,"req->dicname =%s\n", req->dicname ); ) ir_debug( Dmsg(10,"req->textdiclen =%d\n", req->textdiclen ); ) ir_debug( Dmsg(10,"req->textdicname =%s\n", req->textdicname ); ) ir_debug( Dmsg(10,"req->mode =%d\n", req->mode ); ) return( 0 ) ; } ProcReq11( buf, size ) char *buf ; int size ; { register Req11 *req = &Request.Request11 ; int needsize ; if( (needsize = SIZE20 - size) > 0 ) return( needsize ) ; req->context = (int)L4TOL(buf + SIZE4); req->number = (int)L4TOL(buf + SIZE8); req->kouho = (int)L4TOL(buf + SIZE12); req->max = (int)L4TOL(buf + SIZE16); ir_debug( Dmsg(10,"req->context =%d\n", req->context ); ) ir_debug( Dmsg(10,"req->number =%d\n", req->number ); ) ir_debug( Dmsg(10,"req->kouho =%d\n", req->kouho ); ) ir_debug( Dmsg(10,"req->max =%d\n", req->max ); ) return( 0 ) ; } ProcReq12( buf, size ) char *buf ; int size ; { register Req12 *req = &Request.Request12 ; int needsize ; if( (needsize = SIZE8 - size) > 0 ) return( needsize ) ; req->datalen = (int)L4TOL(buf + SIZE4); if( (needsize = SIZE8 + req->datalen - size) > 0 ) return( needsize ) ; if( req->datalen > 0 ){ req->data = buf + SIZE8 ; } if( (needsize = SIZE8 + req->datalen - size) > 0 ) return( needsize ) ; req->number = (int)L4TOL(buf + SIZE8 + req->datalen); ir_debug( Dmsg(10,"req->datalen =%d\n", req->datalen ); ) ir_debug( Dmsg(10,"req->data =%s\n", req->data ); ) ir_debug( Dmsg(10,"req->number =%d\n", req->number ); ) return( 0 ) ; } static void iroha2canna( dirnames ) char *dirnames; { if (dirnames) { char *buf, *wp; buf = dirnames; while( *buf ){ wp = buf + 5; if( !strncmp( (char *)buf, "iroha", 5 ) && (( *wp=='\0' ) || ( *wp==':' )) ){ bcopy( "canna", buf, 5 ); buf += 5; } while( (*buf != ':') && (*buf != '\0') ) buf++; buf++; } } } #endif /* USE_EUC_PROTOCOL */ #ifdef DEBUG void DebugDump( level, buf, size ) int level, size ; const char *buf ; { char buf1[80] ; char buf2[17] ; char c ; int i, j; int count = 0 ; Dmsg( level, " SIZE = %d\n", size ) ; Dmsg( level, " COUNT 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef\n" ) ; for (i = 0; i < size; i += 16) { bzero( buf1, 50 ) ; bzero( buf2, 17 ) ; for (j = 0; j < 16; j++) { if( i+j >= size ) { strcat( (char *)buf1, " " ) ; strcat( (char *)buf2, " " ) ; } else { sprintf( (char *)buf1, "%s%02x ", buf1, (c = buf[i + j]) & 0xFF); if((unsigned)(c & 0xff) >= (unsigned)' ' && (unsigned)(c & 0xff) < (unsigned)0x7f ) sprintf( (char *)buf2,"%s%c", buf2, c ) ; else sprintf( (char *)buf2,"%s.", buf2 ) ; } } Dmsg( level," %05x %s %s\n", count++, buf1, buf2 ); } } void DebugDispKanji( cxnum, num ) int cxnum, num ; { char buf[1024] ; Ushort cbuf[1024]; int len; len = RkwGetKanji( cxnum, (Ushort *)cbuf, 1024 ); ushort2euc( cbuf, len, buf, 1024 ); Dmsg( 5,"%d:[%s] ", num, buf ) ; } #endif /* DEBUG */ #ifdef PROTO RkwListDic( cxnum, dirname, mbuf, size ) int cxnum, size ; char *dirname, *mbuf ; { if( RkwSetDicPath( cxnum, dirname ) < 0 ) return( -1 ) ; return( RkwGetDicList( cxnum, mbuf, size ) ) ; } RkwCreateDic( cxnum, dicname, mode ) int cxnum, mode ; char *dicname ; { return( 0 ) ; } RkwRemoveDic( cxnum, dicname ) int cxnum ; char *dicname ; { return( 0 ) ; } RkwRenameDic( cxnum, dicname, newdicname, mode ) int cxnum, mode ; char *dicname, *newdicname ; { return( 0 ) ; } /* CopyDic ¤ÎÄêµÁ */ RkwCopyDic(cxnum, dirname, dicname, newdicname, mode) int cxnum, mode ; char *dirname, *dicname, *newdicname ; { return( 0 ) ; } /* ¤³¤³¤Þ¤Ç */ RkwGetWordTextDic( cxnum, dirname, dicname, info, infolen ) int cxnum, infolen ; char *dirname, *dicname, *info ; { ir_debug( Dmsg( 5,"RkwGetWordTextDic( %d, %s, %s, info, infolen )\n", cxnum, dirname, dicname ) ); strncpy( info, "¤Æ¤¹¤È #T35 ¥Æ¥¹¥È", infolen ) ; return( strlen( info ) ) ; } #endif /* PROTO */ oreqproc Vector[] = { #ifdef USE_EUC_PROTOCOL /* 0x00 */ { ir_error, ProcReq0 }, /* 0x01 */ { ir_error /* hack */, ProcReq2 }, /* 0x02 */ { ir_finalize, ProcReq0 }, /* 0x03 */ { ir_create_context, ProcReq0 }, /* 0x04 */ { ir_duplicate_context, ProcReq1 }, /* 0x05 */ { ir_close_context, ProcReq1 }, /* 0x06 */ { ir_dictionary_list, ProcReq3 }, /* 0x07 */ { ir_get_yomi, ProcReq5 }, /* 0x08 */ { ir_define_dic, ProcReq7 }, /* 0x09 */ { ir_delete_dic, ProcReq7 }, /* 0x0a */ { ir_set_dic_path, ProcReq8 }, /* 0x0b */ { ir_get_dir_list, ProcReq3 }, /* 0x0c */ { ir_mount_dictionary, ProcReq8 }, /* 0x0d */ { ir_umount_dictionary, ProcReq8 }, /* 0x0e */ { ir_rmount_dictionary, ProcReq9 }, /* 0x0f */ { ir_mount_list, ProcReq3 }, /* 0x10 */ { ir_convert, ProcReq8 }, /* 0x11 */ { ir_convert_end, ProcReq4 }, /* 0x12 */ { ir_get_kanjilist, ProcReq5 }, /* 0x13 */ { ir_resize, ProcReq5 }, /* 0x14 */ { ir_store_yomi, ProcReq9 }, /* 0x15 */ { ir_get_lex, ProcReq11 }, /* 0x16 */ { ir_get_stat, ProcReq5 }, /* 0x17 */ { ir_error /* hack */, ProcReq0 }, /* 0x18 */ { ir_error /* hack */, ProcReq0 }, /* 0x19 */ { ir_host_ctl, ProcReq0 }, /* 0x1a */ { ir_query_extension, ProcReq12 } #else /* !USE_EUC_PROTOCOL */ /* 0x00 */ { ir_error, ProcReq0 }, /* 0x01 */ { ir_error /* hack */, ProcReq2 }, #if 0 /* 0x02 */ { ir_error, ProcReq0 }, /* 0x03 */ { ir_error, ProcReq0 }, /* 0x04 */ { ir_error, ProcReq0 }, /* 0x05 */ { ir_error, ProcReq0 }, /* 0x06 */ { ir_error, ProcReq0 }, /* 0x07 */ { ir_error, ProcReq0 }, /* 0x08 */ { ir_error, ProcReq0 }, /* 0x09 */ { ir_error, ProcReq0 }, /* 0x0a */ { ir_error, ProcReq0 }, /* 0x0b */ { ir_error, ProcReq0 }, /* 0x0c */ { ir_error, ProcReq0 }, /* 0x0d */ { ir_error, ProcReq0 }, /* 0x0e */ { ir_error, ProcReq0 }, /* 0x0f */ { ir_error, ProcReq0 }, /* 0x10 */ { ir_error, ProcReq0 }, /* 0x11 */ { ir_error, ProcReq0 }, /* 0x12 */ { ir_error, ProcReq0 }, /* 0x13 */ { ir_error, ProcReq0 }, /* 0x14 */ { ir_error, ProcReq0 }, /* 0x15 */ { ir_error, ProcReq0 }, /* 0x16 */ { ir_error, ProcReq0 }, /* 0x17 */ { ir_error, ProcReq0 }, /* 0x18 */ { ir_error, ProcReq0 }, /* 0x19 */ { ir_error, ProcReq0 }, /* 0x1a */ { ir_error, ProcReq0 } #endif #endif /* !USE_EUC_PROTOCOL */ } ; #ifdef EXTENSION static oreqproc ExtensionVector[] = { #ifdef USE_EUC_PROTOCOL /* 0x00 */ { ir_list_dictionary, ProcReq9 }, /* 0x01 */ { ir_create_dictionary, ProcReq8 }, /* 0x02 */ { ir_remove_dictionary, ProcReq8 }, /* 0x03 */ { ir_rename_dictionary, ProcReq10 }, /* 0x04 */ { ir_get_word_text_dic, ProcReq10 }, #else /* !USE_EUC_PROTOCOL */ /* 0x00 */ { ir_error, ProcReq0 }, /* 0x01 */ { ir_error, ProcReq0 }, /* 0x02 */ { ir_error, ProcReq0 }, /* 0x03 */ { ir_error, ProcReq0 }, /* 0x04 */ { ir_error, ProcReq0 }, #endif /* !USE_EUC_PROTOCOL */ } ; #endif /* EXTENSION */ const char *ProtoName[] = { "IR_INIT", "IR_FIN", "IR_CRE_CON", "IR_DUP_CON", "IR_CLO_CON", "IR_DIC_LIST", "IR_GET_YOMI", "IR_DEF_DIC", "IR_UNDEF_DIC", "IR_DIC_PATH", "IR_DIR_LIST", "IR_MNT_DIC", "IR_UMNT_DIC", "IR_RMNT_DIC", "IR_MNT_LIST", "IR_CONVERT", "IR_CONV_END", "IR_KAN_LST", "IR_RESIZE", "IR_STO_YOMI", "IR_GET_LEX", "IR_GET_STA", "IR_SER_STAT", "IR_SER_STAT2", "IR_HOST_CTL", "IR_QUERY_EXT", } ; #ifdef DEBUG const char *DebugProc[][2] = { { "ir_null", "ProcReq0" } , { "ir_initialize", "ProcReq2" } , { "ir_finalize", "ProcReq0" } , { "ir_create_context", "ProcReq0" } , { "ir_duplicate_context", "ProcReq1" } , { "ir_close_context", "ProcReq1" } , { "ir_dictionary_list", "ProcReq3" } , { "ir_get_yomi", "ProcReq5" } , { "ir_define_dic", "ProcReq7" } , { "ir_delete_dic", "ProcReq7" } , { "ir_set_dic_path", "ProcReq8" } , { "ir_get_dir_list", "ProcReq3" } , { "ir_mount_dictionary", "ProcReq8" } , { "ir_umount_dictionary", "ProcReq8" } , { "ir_rmount_dictionary", "ProcReq9" } , { "ir_mount_list", "ProcReq3" } , { "ir_convert", "ProcReq8" } , { "ir_convert_end", "ProcReq4" } , { "ir_get_kanjilist", "ProcReq5" } , { "ir_resize", "ProcReq5" } , { "ir_store_yomi", "ProcReq9" } , { "ir_get_lex", "ProcReq11"} , { "ir_get_stat", "ProcReq5" } , { "ir_server_stat", "ProcReq0" } , { "ir_server_stat2", "ProcReq0" } , { "ir_host_ctl", "ProcReq0" } , { "ir_query_extension", "ProcReq12" } } ; #endif const char *ExtensionName[][2] = { /* Request Name Start Protocol Number */ #ifdef EXTENSION { REMOTE_DIC_UTIL, "65536" }, /* 0x10000 */ #endif /* EXTENSION */ { "", "" } } ; Canna37p3/server/Imakefile0100644000076500001200000000204510043301665014763 0ustar shinraadmin/* $Id: Imakefile,v 1.8.2.1 2004/04/26 21:48:37 aida_s Exp $ */ #include "../Canna.conf" CANNAROOT = .. INSTUGIDFLAGS = /* -m 6555 $(cannaOwnerGroup) */ #ifdef __EMX__ INSTFLAGS = $(INSTUGIDFLAGS) #else INSTFLAGS = -s $(INSTUGIDFLAGS) #endif DEFINES = $(CANNASERVER_DEFINES) $(SIGNAL_DEFINES) ConnectionFlags INCLUDES = -I$(CANNAROOT)/include IRSRCS = $(SRCS) $(HEADER) HEADER = IR.h IRproto.h IRwproto.h server.h comm.h SRCS = comm.c session.c convert.c wconvert.c main.c \ misc.c util.c OBJS = comm.o session.o convert.o wconvert.o main.o \ misc.o util.o TARGET = cannaserver AllTarget(ProgramTargetName($(TARGET))) NormalProgramTarget($(TARGET),$(OBJS),$(DEPRKLIB) $(DEPRKINDEPLIB),$(RKLIB) $(RKINDEPLIB),) InstallMultipleFlags(ProgramTargetName($(TARGET)),$(cannaSrvDir),$(INSTFLAGS)) InstallManPageLong(server,$(cannaManDir),$(TARGET)) DependTarget() LintTarget() LinkFileList(includes,$(HEADER),$(CANNAROOT)/include,../server) Canna37p3/server/IR.h0100644000076500001200000000361107733771043013652 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* sccs_id[]="%Z% NEC UNIX( PC-UX/EWS-UX ) %M% %R%.%L% %E% %U%"; */ /* $Id: IR.h,v 1.11 2003/09/23 07:11:31 aida_s Exp $ */ /* ¼«Æ°È½Ê̻ٱ祳¥á¥ó¥È: ¤³¤ì¤ÏEUC-JP¤À¤¾¡£Éý¤È¤¤¤¦»ú¤¬¤¢¤ì¤ÐÂç¾æÉס£ */ #include "cannaconf.h" #include "ccompat.h" #include #ifdef HAVE_TIME_H # include #endif #ifdef HAVE_TIME_T typedef time_t ir_time_t; #else typedef long ir_time_t; #endif #define EXTENSION #include "protodefs.h" #define CANNAWC_DEFINED typedef Ushort cannawc; #include "canna/RK.h" #include "IRproto.h" #include "IRwproto.h" #include "net.h" #define LENTODATA(len, data) ((void)(*(canna_uint32_t *)(data) = htonl(len))) #define DATATOLEN(data, len) ((void)((len) = ntohl(*(canna_uint32_t *)(data)))) Canna37p3/server/IRproto.h0100644000076500001200000000663507554213611014740 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* @(#) NEC UNIX( PC-UX/EWS-UX ) IRproto.h 2.1 91/10/17 13:40:04 */ /* $Id: IRproto.h,v 1.1.1.1 2002/10/19 08:27:53 aida_s Exp $ */ #define RETURN_VERSION_ERROR_STAT -2 #define OWNER "bin" #define EXIT 999 typedef struct _Req0{ int Type ; } Req0 ; typedef struct _Req1{ int Type ; int context ; } Req1 ; typedef struct _Req2{ int Type ; int namelen ; char *name ; } Req2 ; typedef struct _Req3{ int Type ; int context ; int number ; } Req3 ; typedef struct _Req4{ int Type ; int context ; int number ; int *kouho ; } Req4 ; typedef struct _Req5{ int Type ; int context ; int number ; int datalen ; } Req5 ; typedef struct _Req6{ int Type ; int context ; int mode ; int datalen ; char *data ; } Req6 ; typedef struct _Req7{ int Type ; int context ; int diclen ; char *dicname ; int datalen ; char *datainfo ; } Req7 ; typedef struct _Req8{ int Type ; int context ; int datalen ; char *data ; int mode ; } Req8 ; typedef struct _Req9{ int Type ; int context ; int number ; int datalen ; char *data ; } Req9 ; typedef struct _Req10{ int Type ; int context ; int diclen ; char *dicname ; int textdiclen ; char *textdicname ; int mode ; } Req10 ; typedef struct _Req11{ int Type ; int context ; int number ; int kouho ; int max ; } Req11 ; typedef struct _Req12{ int Type ; int datalen ; char *data ; int number ; } Req12 ; typedef union _IRReq { Req0 Request0 ; Req1 Request1 ; Req2 Request2 ; Req3 Request3 ; Req4 Request4 ; Req5 Request5 ; Req6 Request6 ; Req7 Request7 ; Req8 Request8 ; Req9 Request9 ; Req10 Request10; Req11 Request11; Req12 Request12; BYTE Buffer[4]; } IRReq ; #define ACK_BUFSIZE 2048 typedef struct _Ack0 { int stat ; } Ack0 ; typedef struct _Ack1 { int stat ; int len ; char data[ ACK_BUFSIZE ] ; } Ack1 ; typedef struct _Ack2 { int stat ; int len ; int info[ ACK_BUFSIZE/sizeof( int ) ] ; } Ack2 ; typedef union _IRAck { Ack0 Anck0 ; Ack1 Anck1 ; Ack2 Anck2 ; char SendAckBuffer[ ACK_BUFSIZE + sizeof( int )*2 ] ; } IRAck ; Canna37p3/server/IRwproto.h0100644000076500001200000001140407617244745015131 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* sccs_id[]="%Z% NEC UNIX( PC-UX/EWS-UX ) %M% %R%.%L% %E% %U%"; */ /* $Id: IRwproto.h,v 1.2 2003/02/02 16:40:05 aida_s Exp $ */ typedef struct _wReq0{ int Type ; int namelen ; char *name ; } wReq0 ; typedef struct _wReq1{ BYTE type; BYTE none; unsigned short datalen ; } wReq1 ; typedef struct _wReq2{ BYTE type; BYTE none; unsigned short datalen ; short context ; } wReq2 ; typedef struct _wReq3{ BYTE type; BYTE none; unsigned short datalen ; short context ; unsigned short buflen ; } wReq3 ; typedef struct _wReq4{ BYTE type; BYTE none; unsigned short datalen ; short context ; short begin ; short end ; unsigned short yomilen ; Ushort *yomi ; } wReq4 ; typedef struct _wReq5{ BYTE type; BYTE none; unsigned short datalen ; short context ; unsigned short size ; int mode ; } wReq5 ; typedef struct _wReq6{ BYTE type; BYTE none; unsigned short datalen ; short context ; short number ; unsigned short buflen ; } wReq6 ; typedef struct _wReq7{ BYTE type; BYTE none; unsigned short datalen ; short context ; short number ; short yomilen ; } wReq7 ; typedef struct _wReq8{ BYTE type; BYTE none; unsigned short datalen ; short context ; short curbun ; short curkouho ; unsigned short size ; } wReq8 ; typedef struct _wReq9{ BYTE type; BYTE none; unsigned short datalen ; short context ; short number ; short kouho ; short max ; } wReq9 ; typedef struct _wReq10{ BYTE type; BYTE none; unsigned short datalen ; short context ; short number ; int mode ; short *kouho ; } wReq10 ; typedef struct _wReq11{ BYTE type; BYTE none; unsigned short datalen ; short context ; short curbun ; Ushort *yomi ; } wReq11 ; typedef struct _wReq12{ BYTE type; BYTE none; unsigned short datalen ; short context ; char *dicname ; Ushort *datainfo ; } wReq12 ; typedef struct _wReq13{ BYTE type; BYTE none; unsigned short datalen ; short context ; char *dicname ; Ushort *yomi ; unsigned short yomilen ; unsigned short kouhosize ; unsigned short hinshisize ; } wReq13 ; typedef struct _wReq14{ BYTE type; BYTE none; unsigned short datalen ; int mode ; short context ; Ushort *yomi ; } wReq14 ; typedef struct _wReq15{ BYTE type; BYTE none; Ushort datalen ; int mode ; short context ; char *dicname ; } wReq15 ; typedef struct _wReq17{ BYTE type; BYTE none; unsigned short datalen ; char *extensions ; char ch; } wReq17 ; typedef struct _wReq18{ BYTE type; BYTE none; unsigned short datalen ; short context ; char *data ; unsigned short size ; } wReq18 ; typedef struct _wReq20{ BYTE type; BYTE none; unsigned short datalen ; short context ; int command ; int bufsize ; char *buf ; } wReq20 ; typedef struct _wReq21{ BYTE type; BYTE none; Ushort datalen; int mode; short context; char *dirname; char *srcdic; char *dstdic; } wReq21 ; typedef union _IRwReq { wReq0 type0 ; wReq1 type1 ; wReq2 type2 ; wReq3 type3 ; wReq4 type4; wReq5 type5; wReq6 type6 ; wReq7 type7 ; wReq8 type8; wReq9 type9; wReq10 type10 ; wReq11 type11; wReq12 type12 ; wReq13 type13; wReq14 type14 ; wReq15 type15 ; wReq17 type17; #ifdef EXTENSION wReq18 type18; #endif /* EXTENSION */ wReq20 type20; wReq21 type21; BYTE Buffer[4]; } IRwReq ; Canna37p3/server/main.c0100644000076500001200000000751607734327500014263 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: main.c,v 1.10 2003/09/24 14:50:40 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "server.h" #include #ifdef DEBUG const char *CallFuncName; #endif int (*CallFunc) pro((ClientPtr *clientp)); main(argc, argv) int argc ; char *argv[] ; { int parentid; SockHolder *sock_holder = NULL; int status; EarlyInit(argc, argv); if (!(global_user_table = UserTable_new()) || !(global_event_mgr = EventMgr_new())) goto genfail; if (!(sock_holder = SockHolder_new())) goto fail; if (SockHolder_tie(sock_holder, global_event_mgr)) goto genfail; /* ¥µ¡¼¥Ð¤ò»Ò¥×¥í¥»¥¹(¥Ç¡¼¥â¥ó)¤È¤·¤Æµ¯Æ°¤¹¤ë */ parentid = BecomeDaemon(); /* ¥¨¥é¡¼½ÐÎϤÎÀÚ¤êÂØ¤¨¡¢TTY¤ÎÀÚ¤êÎ¥¤· */ DetachTTY(); /* ¥Ç¡¼¥â¥ó¤Ë¤Ê¤ë¾ì¹ç¤Ï¤³¤³¤Ç¤Îstatus¤Ï¼ÂºÝ¤Ë¤Ï°ÕÌ£¤ò»ý¤¿¤Ê¤¤ */ status = EventMgr_run(global_event_mgr); goto last; genfail: fprintf(stderr, "Initialization failed; probably due to lack of memor\n"); fail: status = 2; last: SockHolder_delete(sock_holder); EventMgr_delete(global_event_mgr); UserTable_delete(global_user_table); CloseServer(); return status; } int process_request(clientp, client_buf, data, len) ClientPtr *clientp; ClientBuf *client_buf; BYTE *data; size_t len; { int request; int nwant, r; ClientPtr client = *clientp; const char *username = client ? client->username : NULL; const char *hostname = client ? client->hostname : NULL; #ifdef DEBUG CallFuncName = NULL; #endif if (client && client->version_hi > 1) nwant = parse_wide_request(&request, data, len, username, hostname); else nwant = parse_euc_request(&request, data, len, username, hostname); if (nwant) return nwant; /* ¼ºÇÔ¡¢¤Þ¤¿¤Ï¤â¤Ã¤È¥Ç¡¼¥¿¤¬É¬Í× */ /* ¼ÂºÝ¤Î¥×¥í¥È¥³¥ë¤Ë±þ¤¸¤¿½èÍý¡Ê´Ø¿ô¤ò¸Æ¤Ö¡Ë */ if (client) /* initializeÅù¤Î¾ì¹ç¤Ï¸Æ¤Ð¤Ê¤¤ */ (void)ClientStat(client, SETTIME, request, 0); /* ¥×¥í¥È¥³¥ë¤Î¼ïÎàËè¤ËÅý·×¤ò¼è¤ë */ if (client && client->version_hi > 1) { #ifdef EXTENSION if( request < W_MAXREQUESTNO ) #endif ++client->pcount[request]; } else if (client) { #ifdef EXTENSION if( request < MAXREQUESTNO ) #endif ++client->pcount[request]; } #ifdef DEBUG if (CallFuncName) Dmsg( 3,"Now Call %s\n", CallFuncName ); #endif if (!client) r = ir_nosession(clientp, client_buf); else r = (*CallFunc) (clientp); ir_debug(Dmsg(8,"%s returned %d\n", CallFuncName, r)); /* ¥¯¥é¥¤¥¢¥ó¥È¤ÎÎßÀÑ¥µ¡¼¥Ð»ÈÍÑ»þ´Ö¤òÀßÄꤹ¤ë */ if (client && client == *clientp) /* initialize,finalizeÅù¤Î¤È¤­¤Ï¸Æ¤Ð¤Ê¤¤ */ ClientStat(client, GETTIME, request, 0); if (r) r = -1; /* ¤É¤¦¤¤¤¦¼ºÇԤǤâ¤È¤ê¤¢¤¨¤º-1¤òÊÖ¤¹ */ return r; } Canna37p3/server/misc.c0100644000076500001200000005340610043301665014260 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[]="@(#) $Id: misc.c,v 1.16.2.4 2004/04/26 21:48:37 aida_s Exp $"; #endif /* LINTLIBRARY */ #include "server.h" #ifdef HAVE_SYSLOG /* !__EMX__ */ # include #endif #ifdef USE_VARARGS #ifdef __STDC__ #include #else #include #endif #endif #include #include #include #include #ifndef DICHOME #define DICHOME "/usr/lib/canna/dic" #endif #ifndef ERRDIR #define ERRDIR "/usr/spool/canna" #endif #define ERRFILE "CANNA" #define ERRFILE2 "msgs" #define ERRSIZE 64 #ifndef ACCESS_FILE #define ACCESS_FILE "/etc/hosts.canna" #endif static void FatalError pro((const char *f)); static int CreateAccessControlList pro((void)); static void FreeAccessControlList pro((void)); #ifdef DEBUG #define LOGFILE "/tmp/canna.log" static FILE *ServerLogFp = (FILE *)0; static FILE *Fp; static int DebugMode = 0; static int LogLevel = 0; #endif static int Syslog = 0; /* syslog ¤òÄ̤¹¤«¤É¤¦¤«¤Î¥Õ¥é¥° */ int PortNumberPlus = 0; int MMountFlag = 0; /* ¥á¥â¥ê¤Ë¼­½ñ¤ò¥í¡¼¥É¤¹¤ë¤«¤·¤Ê¤¤¤«¤Î¥Õ¥é¥° */ static char Name[64]; static char *userID=NULL; /* canna server's user id */ #ifdef USE_INET_SOCKET /* flag for using INET Domain Socket */ #ifdef USE_UNIX_SOCKET /* Not to use INET domain socket, if can use Unix Domain Socket */ int UseInet = 0; #else /* if can use Unix Domain Socket, Use INET domain socket */ int UseInet = 1; #endif #ifdef INET6 int UseInet6 = 0; #endif /* INET6 */ #endif #define MAX_PREMOUNTS 20 char *PreMountTabl[MAX_PREMOUNTS]; int npremounts = 0; static char *MyName ; ACLPtr ACLHead = (ACLPtr)NULL; static int caught_signal = 0; static int openlog_done = 0; static int rkw_initialize_done = 0; static void Reset(); #ifdef INET6 #define USAGE "Usage: cannaserver [-p num] [-l num] [-u userid] [-syslog] [-inet] [-inet6] [-d] [dichome]" #else #define USAGE "Usage: cannaserver [-p num] [-l num] [-u userid] [-syslog] [-inet] [-d] [dichome]" #endif static void Usage() { FatalError(USAGE); } extern void getserver_version pro((void)); void EarlyInit ( argc, argv ) int argc; char *argv[]; { char *ddname = (char *)NULL; char buf[ MAXDATA ]; int i; int context; struct passwd *pwent; strcpy( Name, argv[ 0 ] ); for( i = 1; i < argc; i++ ) { if( argv[i][0] == '/' ) { ddname = malloc(strlen(argv[i]) + 1); if( ddname ) strcpy( (char *)ddname, argv[ i ] ); } if( !strcmp( argv[i], "-p") ) { if (++i < argc) { PortNumberPlus = atoi( argv[i] ) ; if (PortNumberPlus < 0 || PortNumberPlus >= 100) { fprintf(stderr, "valid port number range is 0 <= num < 100\n"); exit(2); } } else { fprintf(stderr, "%s\n", USAGE); exit(2); /* NOTREACHED */ } } else if( !strcmp( argv[i], "-u")) { if (++i < argc) { userID = argv[i]; } else { fprintf(stderr, "%s\n", USAGE); exit(2); /* NOTREACHED */ } } #ifdef USE_INET_SOCKET else if( !strcmp( argv[i], "-inet")) { UseInet = 1; } #ifdef INET6 else if( !strcmp( argv[i], "-inet6") ) { UseInet6 = 1; } #endif /* INET6 */ #endif #ifdef RK_MMOUNT else if( !strcmp( argv[i], "-m") ) { MMountFlag = RK_MMOUNT; } #endif #ifdef HAVE_SYSLOG else if (!strcmp( argv[i], "-syslog")) { Syslog = 1; } } if (Syslog) { openlog("cannaserver", LOG_PID, LOG_DAEMON); openlog_done = 1; } /* -syslog ¤À¤Ã¤¿¤é¡¢¥í¥°¥Õ¥¡¥¤¥ë¤ò½é´ü²½¤¹¤ë */ #else } /* TCP/IP ¥¹¥¿¥Ã¥¯¤¬ÍøÍѲÄǽ¤Ç¤Ê¤¤»þ¤Ï½ªÎ»¤¹¤ë */ if (gethostname( buf, MAXDATA ) != 0) { fprintf(stderr,"TCP/IP stack is not working\n") ; exit( 1 ); } #endif if( !ddname ) { ddname = malloc(strlen(DICHOME) + 1); if( !ddname ) FatalError("cannaserver:Initialize failed\n"); strcpy( (char *)ddname, DICHOME ); } if (userID != NULL) { pwent = getpwnam(userID); if (pwent) { if(setgid(pwent->pw_gid)) { FatalError("cannaserver:couldn't set groupid to canna user's group\n"); } if (initgroups(userID, pwent->pw_gid)) { FatalError("cannserver: couldn't init supplementary groups\n"); } if (setuid(pwent->pw_uid)) { FatalError("cannaserver: couldn't set userid\n"); } } else if (userID != NULL) { FatalError("cannaserver: -u flag specified, but canna not run as root\n"); } } #ifdef DEBUG DebugMode = 0 ; ServerLogFp = stderr ; for( i = 1; i < argc; i++ ) { if( !strcmp( argv[ i ], "-d" )) { DebugMode = 1 ; LogLevel = 5 ; } if( !strcmp( argv[ i ], "-l" ) ) { if (++i < argc) { LogLevel = atoi(argv[ i ]); if( LogLevel <= 0 ) LogLevel = 1 ; } else { Usage(); /* NOTREACHED */ } } } if (LogLevel && !DebugMode) { /* ¥í¥°¥Õ¥¡¥¤¥ëºîÀ® */ if( (Fp = fopen( LOGFILE, "w" ) ) != NULL ){ ServerLogFp = Fp ; } else { LogLevel = 0; perror("Can't Create Log File!!\n"); } } #endif /* DEBUG */ getserver_version() ; ir_debug( Dmsg(5, "¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¥£ = %s\n", ddname ); ) if ((context = RkwInitialize( (char *)ddname )) < 0) FatalError("cannaserver:Initialize failed\n") ; rkw_initialize_done = 1; free( (char *)ddname ) ; RkwCloseContext( context ) ; if (gethostname( buf, MAXDATA ) == 0) { MyName = malloc(strlen(buf) + 1); if (MyName) { strcpy(MyName, buf); } } ir_debug( Dmsg(5, "My name is %s\n", MyName ); ) bzero(PreMountTabl, MAX_PREMOUNTS * sizeof(unsigned char *)); CreateAccessControlList() ; } static void mysignal(sig, func) int sig; RETSIGTYPE (*func) pro((int)); { #ifdef SA_RESTART struct sigaction new_action; sigemptyset(&new_action.sa_mask); new_action.sa_handler = func; new_action.sa_flags = 0 # ifdef SA_INTERRUPT | SA_INTERRUPT /* don't restart */ # endif ; sigaction(sig, &new_action, NULL); #else signal(sig, func); #endif } int BecomeDaemon () { int parent, parentid; if (DebugMode) { mysignal(SIGPIPE, SIG_IGN) ; return 0; /* ¥Ç¡¼¥â¥ó¤Ë¤Ê¤é¤Ê¤¤ */ } parentid = getpid() ; #ifndef __EMX__ if ((parent = fork()) == -1) { PrintMsg( "Fork faild\n" ); exit( 1 ) ; } if ( parent ) { _exit( 0 ) ; } return parentid; #else return 0; #endif } void CloseServer() { #ifdef HAVE_SYSLOG if (Syslog && openlog_done) { closelog(); } #endif if (rkw_initialize_done) RkwFinalize() ; } /* ½é´ü²½¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¸Æ¤Ö¡£EventMgr_run()¤Þ¤ÇÍ褿¤é¸Æ¤Ð¤Ê¤¤¤³¤È¡£ */ static void FatalError(f) const char *f; { fprintf(stderr,"%s\n", f); CloseServer(); exit(2); /*NOTREACHED*/ } #define MAXARGS 10 #ifdef DEBUG #ifndef USE_VARARGS /* VARARGS */ void Dmsg( Pri, f, s0, s1, s2, s3, s4, s5, s6, s7, s8 ) int Pri ; const char *f; const char *s0, *s1, *s2, *s3, *s4, *s5, *s6, *s7, *s8 ; { if (!ServerLogFp) ServerLogFp = stderr; if ( LogLevel >= Pri ) { fprintf(ServerLogFp , f, s0, s1, s2, s3, s4, s5, s6, s7, s8 ); fflush( ServerLogFp ) ; } } #else /* USE_VARARGS */ #ifdef __STDC__ void Dmsg(int Pri, const char *f, ...) { va_list ap; va_start(ap, f); if (!ServerLogFp) { ServerLogFp = stderr; } if (LogLevel >= Pri) { vfprintf(ServerLogFp, f, ap); fflush(ServerLogFp); } va_end(ap); } #else void Dmsg(Pri, f, va_alist) int Pri; const char *f; va_dcl { va_list ap; const char *args[MAXARGS]; int argno = 0; va_start(ap); while (++argno < MAXARGS && (args[argno] = va_arg(ap, const char *))) ; args[MAXARGS - 1] = (const char *)0; va_end(ap); if (!ServerLogFp) { ServerLogFp = stderr; } if (LogLevel >= Pri) { fprintf(ServerLogFp, f, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]); fflush(ServerLogFp); } } #endif /* !__STDC__ */ #endif /* USE_VARARGS */ #endif #ifndef USE_VARARGS void PrintMsg( f, s0, s1, s2, s3, s4, s5, s6, s7, s8 ) const char *f; const char *s0, *s1, *s2, *s3, *s4, *s5, *s6, *s7, *s8 ; { ir_time_t Time ; char *date ; #ifdef HAVE_SYSLOG if (Syslog) { syslog(LOG_WARNING, f, s0, s1, s2, s3, s4, s5, s6, s7, s8); } else #endif { Time = time( NULL ) ; date = (char *)ctime( &Time ) ; date[24] = '\0' ; fprintf( stderr, "%s :", date ) ; fprintf( stderr, f, s0, s1, s2, s3, s4, s5, s6, s7, s8 ); fflush( stderr ) ; } } #else /* USE_VARARGS */ #if !defined(__STDC__) || (defined(HAVE_SYSLOG) && !defined(HAVE_VSYSLOG)) # define READ_ALL_ARGS #endif void #ifdef __STDC__ PrintMsg(const char *f, ...) #else PrintMsg(f, va_alist) const char *f; va_dcl #endif { va_list ap; #ifdef READ_ALL_ARGS const char *args[MAXARGS]; int argno = 0; #endif ir_time_t Time; char *date; #ifdef __STDC__ va_start(ap, f); #else va_start(ap); #endif #ifdef READ_ALL_ARGS while (++argno < MAXARGS && (args[argno] = va_arg(ap, const char *))) ; args[MAXARGS - 1] = (const char *)0; #endif #ifdef HAVE_SYSLOG if (Syslog) { #ifdef HAVE_VSYSLOG vsyslog(LOG_WARNING, f, ap); #else syslog(LOG_WARNING, f, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]); #endif } else #endif /* HAVE_SYSLOG */ { Time = time(NULL); date = (char *)ctime(&Time); date[24] = '\0'; fprintf(stderr, "%s :", date); #ifdef __STDC__ vfprintf(stderr, f, ap); #else fprintf(stderr, f, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]); #endif fflush( stderr ) ; } va_end(ap); } #endif /* USE_VARARGS */ void nomem_msg(where) const char *where; { if (where) PrintMsg("%s: out of memory\n", where); else PrintMsg("out of memory\n"); } static RETSIGTYPE Reset(sig) int sig; { caught_signal = sig; #ifdef SIGNALRETURNSINT return 0; #endif } int CheckSignal() { if( caught_signal == SIGTERM ) { PrintMsg( "Cannaserver Terminated\n" ) ; return 1; } else if(caught_signal) { PrintMsg( "Caught a signal(%d)\n", caught_signal ) ; return 1; } return 0; } static int AddrAreEqual(x, y) const Address *x, *y; { int res = 0; if (x->family != y->family) return 0; switch (x->family) { case AF_UNIX: res = 1; break; case AF_INET: res = IR_ADDR_IN(x)->s_addr == IR_ADDR_IN(y)->s_addr; break; #ifdef INET6 case AF_INET6: res = (IR_ADDR_IN6SCOPE(x) == 0 || IR_ADDR_IN6SCOPE(y) == 0 || IR_ADDR_IN6SCOPE(x) == IR_ADDR_IN6SCOPE(y)) && IN6_ARE_ADDR_EQUAL(IR_ADDR_IN6(x), IR_ADDR_IN6(y)); break; #endif default: abort(); /* NOTREACHED */ } return res; } AddrList * GetAddrListFromName(hostname) const char *hostname; { AddrList *res = NULL; #ifdef INET6 struct addrinfo hints, *info; struct addrinfo *infolists[2]; int i; #else const struct hostent *hent; const char *const *haddrp; struct in_addr numaddr; #endif if (!strcmp(hostname, "unix")) { res = calloc(1, sizeof(AddrList)); if (!res) return NULL; res->addr.family = AF_UNIX; res->addr.len = 0; res->next = NULL; return res; } #ifdef INET6 bzero(&hints, sizeof(hints)); hints.ai_socktype = SOCK_STREAM; infolists[0] = infolists[1] = NULL; if (UseInet6) { hints.ai_family = PF_INET6; getaddrinfo(hostname, NULL, &hints, &infolists[0]); } if (UseInet) { hints.ai_family = PF_INET; getaddrinfo(hostname, NULL, &hints, &infolists[1]); } for (i = 0; i < 2; i++) { for (info = infolists[i]; info; info = info->ai_next) { AddrList *newnode; if (info->ai_family == AF_INET6 &&IN6_IS_ADDR_V4MAPPED( &((struct sockaddr_in6 *)info->ai_addr)->sin6_addr)) continue; newnode = calloc(1, sizeof(AddrList)); if (!newnode) { freeaddrinfo(infolists[i]); goto fail; } newnode->addr.family = info->ai_family; newnode->addr.len = info->ai_addrlen; memcpy(&newnode->addr.saddr, info->ai_addr, info->ai_addrlen); newnode->next = res; res = newnode; } if (infolists[i]) freeaddrinfo(infolists[i]); } #else /* !INET6 */ if ( #ifdef HAVE_INET_ATON inet_aton(hostname, &numaddr) #else ((numaddr.s_addr = inet_addr(hostname)) != (canna_in_addr_t)-1) #endif ) { res = calloc(1, sizeof(AddrList)); if (!res) goto fail; res->addr.family = AF_INET; res->addr.len = sizeof(struct sockaddr_in); res->addr.saddr.sin_addr = numaddr; res->next = 0; return res; } hent = gethostbyname(hostname); if (hent == NULL || hent->h_addrtype != AF_INET) return NULL; #ifndef HAVE_STRUCT_HOSTENT_H_ADDR_LIST haddrp = &hent->h_addr; #else for (haddrp = hent->h_addr_list; *haddrp; haddrp++) #endif { AddrList *newnode = calloc(1, sizeof(AddrList)); if (!newnode) goto fail; newnode->addr.family = AF_INET; newnode->addr.len = sizeof(struct sockaddr_in); newnode->addr.saddr.sin_addr = *(const struct in_addr *)*haddrp; newnode->next = res; res = newnode; } #endif /* !INET6 */ return res; fail: while(res) { AddrList *next = res->next; free(res); res = next; } return NULL; } AddrList * SearchAddrList(list, addrp) const AddrList *list; const Address *addrp; { for (; list; list = list->next) if (AddrAreEqual(&list->addr, addrp)) break; return (AddrList *)list; } void FreeAddrList(list) AddrList *list; { while(list) { AddrList *next = list->next; free(list); list = next; }; } static int CreateAccessControlList() { char buf[BUFSIZE]; char *wp, *p ; ACLPtr current; ACLPtr prev = (ACLPtr)NULL ; FILE *fp ; int namelen; if( (fp = fopen( ACCESS_FILE, "r" )) == (FILE *)NULL ) return( -1 ) ; if (ACLHead) { FreeAccessControlList(); } while( fgets( (char *)buf, BUFSIZE, fp ) != (char *)NULL ) { buf[ strlen( (char *)buf )-1 ] = '\0' ; wp = buf ; #ifdef INET6 if( *wp == '\0' ) continue; else if( *wp == '[' ) { size_t bodylen; wp++; p = strchr( wp, ']' ); if( !p ) continue; *( p++ ) = '\0'; if( *p == ':' ) p++; else if( *p != '\0' ) continue; /* ¤³¤³¤Ç¤Î·Á¼°¥Á¥§¥Ã¥¯¤Ï¸·Ì©¤Ç¤Ê¤¯¤Æ¤è¤¤ */ bodylen = strspn( wp, "0123456789ABCDEFabcdef:." ); if( !bodylen || !( wp[bodylen] == '\0' || wp[bodylen] == '%' ) || strchr( wp, ':' ) == NULL ) continue; } else { p = strchr( wp, ':' ); if( p ) *( p++ ) = '\0'; else p = wp + strlen( wp ); } #else /* !INET6 */ if( !strtok( (char *)wp, ":" ) ) continue ; p = wp + strlen( (char *)wp ) + 1; #endif /* !INET6 */ if( !(current = (ACLPtr)malloc( sizeof( ACLRec ) )) ) { PrintMsg("Can't create access control list!!" ) ; fclose( fp ) ; FreeAccessControlList() ; return( -1 ) ; } bzero( current, sizeof( ACLRec ) ) ; namelen = strlen(wp); current->hostname = malloc(namelen + 1); if (current->hostname) { strcpy(current->hostname, wp); } /* AccessControlList¤ò¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥¢¥É¥ì¥¹¤Ç´ÉÍý¤¹¤ë */ /* hosts.canna¤«¤é¥Û¥¹¥È̾¤òµá¤á¤ë */ /* ¥Û¥¹¥È̾¤«¤é¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥¢¥É¥ì¥¹¤òµá¤á¤Æ ACLRec¤ËÅÐÏ¿¤¹¤ë */ current->hostaddrs = GetAddrListFromName(wp); if (!current->hostaddrs) { /* ¥¢¥É¥ì¥¹¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç */ /* ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥¢¥É¥ì¥¹É½µ­¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤Î¤Ç̵»ë¤¹¤ë */ /* hosts¤Ë¥¨¥ó¥È¥ê¤¬Ìµ¤¤¤³¤È¤ò¥á¥Ã¥»¡¼¥¸¤Ë¤À¤·¤¿Êý¤¬Îɤ¤¤« */ /* ¤âÃΤì¤Ê¤¤ */ if (current->hostname) free((char *)current->hostname); free((char *)current); continue; } /* º£¤Î¤È¤³¤í¥¢¥É¥ì¥¹¤¬½ÅÊ£¤·¤Æ¤¤¤Æ¤â¤½¤Î¤Þ¤Þ³Ð¤¨¤Æ¤ª¤¯ */ wp = p; if( strlen( (char *)wp ) ) { current->usernames = malloc(strlen(wp) + 1); if (current->usernames) { strcpy((char *)current->usernames, wp); for( p = current->usernames; *p != '\0'; p++ ) { if( *p == ',' ) { *p = '\0' ; current->usercnt ++ ; } } current->usercnt ++ ; } } if( ACLHead ) { current->prev = prev ; prev->next = current ; } else { ACLHead = current ; current->prev = (ACLPtr)NULL ; } current->next = (ACLPtr)NULL ; prev = current ; } fclose( fp ) ; return 0; } static void FreeAccessControlList() { ACLPtr wp, tailp = (ACLPtr)NULL; if( !(wp = ACLHead) ) return ; for( ; wp != (ACLPtr)NULL; wp = wp->next ) { if( wp->hostname ) free( wp->hostname ) ; if( wp->usernames ) free( wp->usernames ) ; FreeAddrList( wp->hostaddrs ) ; tailp = wp ; } for( wp = tailp; wp != (ACLPtr)NULL; wp = wp->prev ) { if( wp->next ) free( wp->next ) ; } ACLHead = (ACLPtr)NULL ; } int CheckAccessControlList(hostaddrp, username) Address *hostaddrp; const char *username; { int i; char *userp; ACLPtr wp; if (!ACLHead) return 0; ir_debug(Dmsg(5, "My name is %s\n", MyName)); for (wp = ACLHead ; wp ; wp = wp->next) { /* AccessControlList¤Ç»ý¤Ã¤Æ¤¤¤ë¥¤¥ó¥¿¥Í¥Ã¥È¥¢¥É¥ì¥¹¤È°ìÃפ¹¤ë ¤â¤Î¤ò¥µ¡¼¥Á¤¹¤ë */ if (SearchAddrList(wp->hostaddrs, hostaddrp)) { if (wp->usernames) { for (i = 0, userp = wp->usernames ; i < wp->usercnt ; i++) { if (!strcmp(userp, username)) { return 0; } userp += strlen(userp) + 1; } return -1; } else { return 0; } } } return -1; } int NumberAccessControlList() { ACLPtr wp; int n; for (wp = ACLHead, n = 0; wp ; wp = wp->next) { n++; } return n; } int SetDicHome( client, cxnum ) ClientPtr client ; int cxnum ; { char dichome[ 256 ] ; if (cxnum < 0) return( -1 ) ; if (client->username && client->username[0]) { if (client->groupname && client->groupname[0]) { if (strlen(DDUSER) + strlen(client->username) + strlen(DDGROUP) + strlen(client->groupname) + strlen(DDPATH) + 4 >= 256) return ( -1 ); sprintf(dichome, "%s/%s:%s/%s:%s", DDUSER, client->username, DDGROUP, client->groupname, DDPATH); } else { if (strlen(DDUSER) + strlen(client->username) + strlen(DDPATH) + 2 >= 256) return ( -1 ); sprintf(dichome, "%s/%s:%s", DDUSER, client->username, DDPATH); } } else { strcpy(dichome, DDPATH); } ir_debug( Dmsg(5,"¼­½ñ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¥£¡§%s\n", dichome ); ) if( RkwSetDicPath( cxnum, dichome ) == -1 ) { return( -1 ) ; } return( 1 ) ; } ClientPtr * get_all_other_clients(self, count) ClientPtr self; size_t *count; { EventMgrIterator curr, end; ClientPtr *res, *p; *count = 0; EventMgr_clibuf_end(global_event_mgr, &end); for (EventMgr_clibuf_first(global_event_mgr, &curr); curr.it_val != end.it_val; EventMgrIterator_next(&curr)) { ClientPtr who = ClientBuf_getclient(curr.it_val); if (who && who != self) ++*count; } res = p = malloc(*count * sizeof(ClientPtr)); if (!res) { *count = 0; return res; } for (EventMgr_clibuf_first(global_event_mgr, &curr); curr.it_val != end.it_val; EventMgrIterator_next(&curr)) { ClientPtr who = ClientBuf_getclient(curr.it_val); if (who && who != self) *p++ = who; } return res; } void AllSync() { EventMgrIterator curr, end; EventMgr_clibuf_first(global_event_mgr, &curr); EventMgr_clibuf_end(global_event_mgr, &end); for (EventMgr_clibuf_first(global_event_mgr, &curr); curr.it_val != end.it_val; EventMgrIterator_next(&curr)) { ClientPtr client = ClientBuf_getclient(curr.it_val); int i; if (!client) continue; for (i = 0; i < client->ncon; ++i) RkwSync(client->context_flag[i], NULL); } } void DetachTTY() { char errfile[ERRSIZE]; int errfd; #ifdef DEBUG if (!DebugMode) { #endif /* ɸ½à¥¨¥é¡¼½ÐÎϤò¥¨¥é¡¼¥Õ¥¡¥¤¥ë¤ËÀÚ¤êÂØ¤¨¤Æ¡¢É¸½àÆþ½ÐÎϤò¥¯¥í¡¼¥º¤¹¤ë */ if(!Syslog) { sprintf(errfile,"%s/%s%d%s", ERRDIR, ERRFILE, PortNumberPlus, ERRFILE2); if((errfd = open(errfile, O_CREAT | O_RDWR | O_TRUNC, 0644)) < 0) { (void)fprintf(stderr, "Warning: %s: %s open faild\n", Name, errfile); (void)perror(""); } else { if(dup2( errfd, fileno(stderr)) < 0) { (void)fprintf(stderr, "Warning: %s: %s dup2 faild\n", Name, errfile); (void)perror(""); close(fileno(stderr)); } } close(fileno(stdin)); close(fileno(stdout)); close(errfd); } /* * TTY ¤ÎÀÚ¤êÎ¥¤· */ #if defined(HAVE_SETSID) (void)setsid(); #elif defined(__EMX__) (void)_setsid(); #elif defined(SETPGRP_VOID) /* defined(SYSV) || defined(linux) || defined(__OSF__) */ setpgrp(); #else setpgrp(0, getpid()); #endif #if defined(TIOCNOTTY) && !defined(HAVE_SETSID) { int fd = open("/dev/tty", O_RDWR, 0); if (fd >= 0) { (void)ioctl(fd, TIOCNOTTY, (char *)0); (void)close(fd); } } #endif #ifdef DEBUG } #endif /* * ¥·¥°¥Ê¥ë½èÍý */ mysignal(SIGHUP, SIG_IGN); mysignal(SIGINT, Reset); mysignal(SIGALRM, SIG_IGN); mysignal(SIGPIPE, SIG_IGN) ; mysignal(SIGTERM, Reset); /* for killserver */ umask( 002 ) ; } Canna37p3/server/server.h0100644000076500001200000002020307733771043014642 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: server.h,v 1.4 2003/09/23 07:11:31 aida_s Exp $ */ #ifndef SERVER_H #define SERVER_H #include "ccompat.h" #include #include #include #ifdef TIME_WITH_SYS_TIME # include #endif #include #ifdef HAVE_SYS_SELECT_H #include #endif #include "net.h" #include #ifdef HAVE_SYS_STAT_H # include #endif #include #include "RKindep/ecfuncs.h" /* ¼«Æ°È½Ê̻ٱ祳¥á¥ó¥È: ¤³¤ì¤ÏEUC-JP¤À¤¾¡£Éý¤È¤¤¤¦»ú¤¬¤¢¤ì¤ÐÂç¾æÉס£ */ typedef struct tagEventMgr EventMgr; typedef struct tagClientBuf ClientBuf; typedef struct tagSockHolder SockHolder; typedef struct tagUserTable UserTable; typedef struct _Address Address; typedef struct _Client *ClientPtr; typedef struct _ClientStat *ClientStatPtr; #define DEBUG #include "IR.h" #include "comm.h" #if !CANNA_LIGHT #define USE_EUC_PROTOCOL #endif /* !CANNA_LIGHT */ #define DDPATH "canna" #define DDUSER "user" #define DDGROUP "group" #define DDPATHLEN (sizeof(DDPATH) - 1) #define DDUSERLEN (sizeof(DDUSER) - 1) #define DDGROUPLEN (sizeof(DDGROUP) - 1) #define DATE_LENGH 29 #define GETDATE 1 #define CONNECT 2 #define SETTIME 3 #define GETTIME 4 #define LOCAL_BUFSIZE 2048 #ifdef DEBUG #define ir_debug( cannadebug ) cannadebug #else #define ir_debug( cannadebug ) #endif /* subset of struct addrinfo */ struct _Address { int family; size_t len; #ifdef INET6 struct sockaddr_storage saddr; /* XXX huge padding */ #else struct sockaddr_in saddr; #endif }; #define IR_ADDR_INSA(x) ((struct sockaddr_in *)&(x)->saddr) #define IR_ADDR_IN(x) (&IR_ADDR_INSA(x)->sin_addr) #ifdef INET6 # define IR_ADDR_IN6SA(x) ((struct sockaddr_in6 *)&(x)->saddr) # define IR_ADDR_IN6(x) (&IR_ADDR_IN6SA(x)->sin6_addr) # define IR_ADDR_IN6SCOPE(x) (IR_ADDR_IN6SA(x)->sin6_scope_id) # ifdef IPV6_V6ONLY # define IR_V6ONLY_BIND # endif /* IPV6_V6ONLY */ # if defined(IR_V6ONLY_BIND) || defined(sun) # define IR_V4MAPPED_AVOIDABLE # endif # ifndef IR_V4MAPPED_AVOIDABLE # error "You need newer IPv6 stack." # endif #endif /* INET6 */ /* ¥¯¥é¥¤¥¢¥ó¥ÈËè¤Ëºî¤é¤ì¤ë¡¢¥ì¥¤¥ä5¤Î¾ðÊó¤ò»ý¤Ä¹½Â¤ÂÎ */ typedef struct _Client { struct tagClientBuf *client_buf ; /* ¥Ð¥Ã¥Õ¥¡ */ int usr_no ; /* ¥æ¡¼¥¶´ÉÍýÈÖ¹æ */ short version_hi ; /* protocol major version */ short version_lo ; /* protocol miner version */ ir_time_t used_time ; /* ¥æ¡¼¥¶¾ÃÈñ»þ´Ö */ ir_time_t idle_date ; /* ¥¢¥¤¥É¥ë»þ´Ö */ ir_time_t connect_date ; /* ¥³¥Í¥¯¥È¤·¤¿»þ´Ö */ char *username ; /* ¥æ¡¼¥¶Ì¾ */ char *groupname; /* ¥°¥ë¡¼¥×̾ */ char *hostname ; /* ¥Û¥¹¥È̾ */ Address hostaddr; /* ¥Û¥¹¥È¥¢¥É¥ì¥¹ */ int pcount[ W_MAXREQUESTNO ] ; /* ¥×¥í¥È¥³¥ë¥«¥¦¥ó¥È */ int *context_flag; /* ¥³¥ó¥Æ¥¯¥¹¥È´ÉÍý¥Õ¥é¥° */ int cfsize, ncon; /* ¾å¤Î¥Æ¡¼¥Ö¥ë¤ÎÂ礭¤µ´ÉÍý */ char *clientname ; /* ¥¯¥é¥¤¥¢¥ó¥È̾ */ } ClientRec ; typedef struct _ClientStat { int id ; /* ¥½¥±¥Ã¥ÈÈÖ¹æ */ int usr_no ; /* ¥æ¡¼¥¶´ÉÍýÈÖ¹æ */ ir_time_t used_time ; /* ¥æ¡¼¥¶¾ÃÈñ»þ´Ö */ ir_time_t idle_date ; /* ¥¢¥¤¥É¥ë»þ´Ö */ ir_time_t connect_date ; /* ¥³¥Í¥¯¥È¤·¤¿»þ´Ö */ int pcount[ OLD_MAXREQUESTNO ] ; /* ¥×¥í¥È¥³¥ë¥«¥¦¥ó¥È */ char username[ NAME_LENGTH+1] ; /* ¥æ¡¼¥¶Ì¾ */ char hostname[ HOST_NAME ] ; /* ¥Û¥¹¥È̾ */ char context_flag[ OLD_MAX_CX ] ; /* ¥³¥ó¥Æ¥¯¥¹¥È´ÉÍý¥Õ¥é¥° */ } ClientStatRec ; typedef struct _AddrList { Address addr; struct _AddrList *next; } AddrList; typedef struct _AccessControlList { struct _AccessControlList *prev ; struct _AccessControlList *next ; char *hostname ; char *usernames ; int usercnt ; AddrList *hostaddrs; } ACLRec ; typedef struct _AccessControlList *ACLPtr ; #ifdef USE_INET_SOCKET /* flag for using INET Domain Socket */ extern int UseInet; #ifdef INET6 extern int UseInet6; #endif /* INET6 */ #endif extern int PortNumberPlus; extern UserTable *global_user_table; #ifdef DEBUG extern const char *DebugProc[][2]; extern const char *DebugProcWide[][2]; #endif extern const char *CallFuncName; extern int (*CallFunc) pro((ClientPtr *clientp)); extern ACLPtr ACLHead ; extern int canna_server_hi; extern int canna_server_lo; /* misc.c */ #ifdef __STDC__ # define USE_VARARGS #endif #if defined(USE_VARARGS) && defined(__STDC__) # define vapro(x) x #else # define vapro(x) () #endif #ifdef DEBUG void Dmsg vapro((int Pri, const char *f, ...)); #endif /* DEBUG */ void PrintMsg vapro((const char *f, ...)); void nomem_msg pro((const char *)); void EarlyInit pro((int, char **)); int BecomeDaemon pro((void)); void CloseServer pro((void)); int CheckSignal pro((void)); AddrList *GetAddrListFromName pro((const char *hostname)); AddrList *SearchAddrList pro((const AddrList *list, const Address *addrp)); void FreeAddrList pro((AddrList *list)); int NumberAccessControlList pro((void)); int CheckAccessControlList pro((Address *hostaddrp, const char *username)); int SetDicHome pro((ClientPtr client, int cxnum)); ClientPtr *get_all_other_clients pro((ClientPtr self, size_t *count)); void AllSync pro((void)); void DetachTTY pro((void)); /* convert.c */ int ir_nosession pro((ClientPtr *clientp, ClientBuf *client_buf)); int ir_error pro((ClientPtr *clientp)); #ifdef DEBUG void DebugDispKanji pro((int cxnum, int num)); void DebugDump pro((int level, const char *buf, int size)); #endif /* wconvert.c */ int parse_wide_request pro((int *request, BYTE *data, size_t len, const char *username, const char *hostname)); int parse_euc_request pro((int *request, BYTE *data, size_t len, const char *username, const char *hostname)); char *insertUserSla pro((char *, int)); int checkPermissionToRead pro((ClientPtr client, char *dirname, char *dicname)); /* main.c */ int process_request pro(( ClientPtr *clientp, ClientBuf *client_buf, BYTE *data, size_t len)); /* session.c */ UserTable *UserTable_new pro((void)); void UserTable_delete pro((UserTable *obj)); void close_session pro((ClientPtr *clientp, int notify)); int open_session pro((ClientPtr *clientp, char *name, ClientBuf *client_buf)); void ClientStat pro((ClientPtr client, int type, int request_Type, char *return_date)); /* util.c */ size_t ushort2euc pro((const Ushort *src, size_t srclen, char *dest, size_t destlen)); size_t euc2ushort pro((const char *src, size_t srclen, Ushort *dest, size_t destlen)); size_t ushortstrlen pro((const Ushort *ws)); Ushort *ushortmemchr pro((const Ushort *ws, int ch, size_t len)); size_t ushortstrcpy pro((Ushort *wd, const Ushort *ws)); size_t ushortstrncpy pro((Ushort *wd, const Ushort *ws, size_t len)); int WidenClientContext pro((ClientPtr cli, size_t n)); int set_cxt pro((ClientPtr cl, int n)); void off_cxt pro((ClientPtr cl, int cn)); int chk_cxt pro((ClientPtr cl, int cn)); #endif /* SERVER_H */ /* vim: set sw=2: */ Canna37p3/server/server.jmn0100644000076500001200000001057207731347304015204 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: server.jmn,v 1.10 2003/09/15 14:37:56 aida_s Exp $ .nr X 0 .if \nX=0 .ds X} cannaserver 1M "ÆüËܸ쵡ǽ¥æ¡¼¥Æ¥£¥ê¥Æ¥£" "\&" .TH \*(X} .SH "̾Á°" cannaserver \- ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð .SH "·Á¼°" .B "cannaserver [\-d] [\-u \fIuserid\fP] [\-inet] [\-inet6] [\-l \fIn\fP] [\-syslog] [\-p \fInum\fP] [\fIddpath\fP] " .SH "ÀâÌÀ" .PP ¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ó¥¹¤òÄ󶡤·¤Þ¤¹¡£Ä̾ï cannaserver(1M)¤Ï /etc/rc ¤Ê¤É¤Î¥·¥¹¥Æ¥à°Í¸¤Î¥Ç¡¼¥â¥óµ¯Æ°¥×¥í¥»¥¹¤Ë¤ª¤¤¤Æµ¯Æ°¤µ¤ì¡¢ ¥æ¡¼¥¶¤Ë¤è¤êľÀܵ¯Æ°¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ .PP cannaserver(1M)¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏUNIX¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤òÄ̤·¤¿Æ±°ì ¥Û¥¹¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÀܳ¤·¤«¼õ¤±ÉÕ¤±¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥ª¥×¥·¥ç¥ó -inet¡Ê¤Þ¤¿¤Ï-inet6¡Ë¤Ë¤è¤ê¡¢TCP Àܳ¤â¼õ¤±Æþ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¾åµ­¤Î¤¤¤º¤ì¤ÎÀßÄê¤Ç¤¢¤Ã¤Æ¤â¡¢¥Û¥¹¥È¡¢¥æ¡¼¥¶Ã±°Ì¤Ç¥¢¥¯¥»¥¹¤òÀ©¸æ¤¹¤ë ¤¿¤á¤Ë @(AccessFile) ¥Õ¥¡¥¤¥ë¤òÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ .PP cannaserver(1M) ¤Ïµ¯Æ°¤¹¤ë¤È¨ºÂ¤Ë¥Õ¥©¡¼¥¯¤·¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥×¥í¥»¥¹ ¤È¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ``&''¤Ë¤è¤êÌÀ¼¨Åª¤Ë¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥×¥í¥»¥¹¤Ë¤¹ ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ .PP cannaserver(1M) ¤Ïµ¯Æ°»þ¤Ë cannaserver(1M) ¤È¥¯¥é¥¤¥¢¥ó¥È¤¬ÄÌ¿®¤¹¤ë¤¿¤á¤Ë UNIX¥É¥á¥¤¥ó¥½¥±¥Ã¥È @(UnixSockDir)/@(UnixSockName)[:num] ¤òºîÀ®¤·¤Þ¤¹¡£ ¥½¥±¥Ã¥È¤Ï cannaserver(1M) ½ªÎ»»þ¤Ë¼«Æ°Åª¤Ë¾Ãµî¤µ¤ì¤Þ¤¹¤¬¡¢cannaserver(1M) ¤¬°Û ¾ï½ªÎ»¤¹¤ë¤Ê¤É¤Î¸¶°ø¤Ç cannaserver(1M) ¤¬Æ°¤¤¤Æ¤¤¤Ê¤¤¤Ë¤â¤«¤«¤ï¤é¤º¥½¥±¥Ã¥È ¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¼êư¤Ç¥½¥±¥Ã¥È¤òºï½ü¤·¤Æ²¼¤µ¤¤¡£¤½¤¦¤·¤Ê¤¤¤È cannaserver(1M) ¤¬µ¯Æ°¤Ç¤­¤Þ¤»¤ó¡£ .PP ¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤǤ­¤ë¼­½ñ¤Ï @(DicDir)/*/dics.dir ¤Ë¤è¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥æ¡¼¥¶¤Ï¡¢~/.canna ¤Ë¤ª¤¤¤Æ¤É¤Î¼­½ñ¤ò»ÈÍѤ¹¤ë¤«»ØÄê¤Ç¤­¤Þ¤¹¡£ .SH "¥ª¥×¥·¥ç¥ó" .IP "\fIddpath\fP" 12 ¼­½ñ¤Î¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Þ¤¹¡£ .IP "\-d" 12 cannaserver(1M) ¤ò¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Çµ¯Æ°¤·¤Þ¤¹¡£cannaserver(1M) ¤Ï¥Õ¥© ¥¢¥°¥é¥ó¥É¥×¥í¥»¥¹¤È¤·¤Æ¼Â¹Ô¤µ¤ì¡¢¥í¥°¥ì¥Ù¥ë 5 ¤Î¥í¥°¤¬É¸½à ¥¨¥é¡¼½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£ .IP "\-inet" 12 cannaserver(1M) ¤¬¥ê¥â¡¼¥È¥Û¥¹¥È¤«¤é¤Î inet¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤òÍѤ¤¤¿ Àܳ¤ò¼õ¤±ÉÕ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤ò»ØÄꤷ¤Ê¤¤¤È¡¢ cannaserver(1M) ¤Ï UNIX¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤òÍѤ¤¤Æ¡¢Æ±°ì¥Û¥¹¥È¤Î¥¯¥é¥¤¥¢¥ó¥È¤ÈÀܳ¤¹¤ë¤³¤È ¤·¤«¤Ç¤­¤Þ¤»¤ó¡£ .IP "\-inet6" 12 IPv6¥µ¥Ý¡¼¥È¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤òñÆÈ¤Ç»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢IPv4¤Ç¤ÎÀܳ¤Ï ¤Ç¤­¤Þ¤»¤ó¡£IPv4¤âÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢-inet -inet6¤È»ØÄꤷ¤Þ¤¹¡£ .IP "\-l \fIn\fP" 12 cannaserver(1M) ¤Î¥í¥°¤ò /tmp/canna.log ¤Ë½ÐÎϤ·¤Þ¤¹¡£n ¤Ç¥í¥° ¤Î¥ì¥Ù¥ë¤òÀßÄꤷ¤Þ¤¹¡£¥í¥°¤Î¥ì¥Ù¥ë¤È¤·¤Æ 1¡Á5 ¤Î¿ô»ú¤ò»ØÄê ¤Ç¤­¤Þ¤¹¡£ .IP "\-u \fIuserid\fP" 12 cannaserver(1M)¤¬¤É¤Î¥æ¡¼¥¶¡¼¤Î¸¢¸Â¤Çưºî¤¹¤ë¤«»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ µ¯Æ°¤·¤¿¥æ¡¼¥¶¡¼¤Î¸¢¸Â¤Çưºî¤·¤Þ¤¹¡£ .IP "\-syslog" 12 syslogd(8)¤Ø¥í¥°¤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿ºÝ¤Ï @(ErrDir)/CANNA?msgs ¤Ë¤Ï¥í¥°¤Ï½ÐÎϤµ¤ì¤Þ¤»¤ó¡£ .IP "\-p \fInum\fP" 12 cannaserver(1M)¤¬»ÈÍѤ¹¤ë¥Ý¡¼¥ÈÈÖ¹æ¤òÄ̾ï¤Î¤â¤Î¤Ë +num ¤·¤¿ÃͤȤ·¤Þ¤¹¡£ Ä̾ï»È¤ï¤ì¤ë¥Ý¡¼¥ÈÈÖ¹æ¤Ï5680¤Ç¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥½¥±¥Ã¥È¤Î¥Õ¥¡¥¤¥ë̾ ¤ª¤è¤Ó¥í¥°¥Õ¥¡¥¤¥ë̾¤Ë±Æ¶Á¤·¤Þ¤¹¡£²¼µ­»²¾È¡£ .SH "´ØÏ¢¥Õ¥¡¥¤¥ë" .IP "@(UnixSockDir)/@(UnixSockName)[:num]" 8 ¥½¥±¥Ã¥È¡£[:num]¤ÎÉôʬ¤Ï¡¢-p ¤ò»ØÄꤷ¤¿¤È¤­¤Î¤ßÄɲ䵤ì¤Þ¤¹¡£ .IP "@(DicDir)/*/dics.dir" 8 ¼­½ñÌÜÏ¿ .IP "@(AccessFile)" 8 ¥¢¥¯¥»¥¹À©¸æ¥Õ¥¡¥¤¥ë .IP "@(ErrDir)/CANNA?msgs" 8 ¥í¥°¥Õ¥¡¥¤¥ë¡£"?" ¤Ï -p ¤Ç»ØÄꤷ¤¿ \fInum\fP ¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ï 0 ¤Ç¤¹¡£ -syslog ¤ò»ØÄꤷ¤¿ºÝ¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¥í¥°¤Ï½ÐÎϤµ¤ì¤Þ¤»¤ó¡£ .SH "´ØÏ¢¥³¥Þ¥ó¥É" .PP cannakill(1M), cannastat(1), cannacheck(1), cshost(1) Canna37p3/server/server.man0100644000076500001200000001057407617744206015202 0ustar shinraadmin.\" Copyright 1994 NEC Corporation, Tokyo, Japan. .\" .\" Permission to use, copy, modify, distribute and sell this software .\" and its documentation for any purpose is hereby granted without .\" fee, provided that the above copyright notice appear in all copies .\" and that both that copyright notice and this permission notice .\" appear in supporting documentation, and that the name of NEC .\" Corporation not be used in advertising or publicity pertaining to .\" distribution of the software without specific, written prior .\" permission. NEC Corporation makes no representations about the .\" suitability of this software for any purpose. It is provided "as .\" is" without express or implied warranty. .\" .\" NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN .\" NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" .\" $Id: server.man,v 1.9 2003/02/04 14:04:54 aida_s Exp $ .TH CANNASERVER 1M .SH "NAME" cannaserver \- Kana-Kanji conversion server .SH "SYNOPSIS" .B "cannaserver [\-d] [\-u \fIuserid\fP] [\-inet] [\-inet6] [\-l \fIn\fP] [\-syslog] [\-p \fInum\fP] [\fIddpath\fP] " .SH "DESCRIPTION" .PP cannaserver(1M) provides the Kana\-Kanji conversion service. Most commonly this daemon starts at daemon bootup framework like /etc/rc depending on your system, so you do not usually start it up manually. .PP By default, cannaserver(1M) only accepts connections from clients at the same host where the server is running (via UNIX domain socket). You can make it accessible from other hosts via TCP by using option \-inet (or \-inet6). Whether you use this option or not, you can get access control based on user and host using @(AccessFile). .PP cannaserver(1M) immediately forks and gets into the background after it starts. You do not need to use '&' explicitly to make it run in the background. .PP When it starts, cannaserver(1M) creates the UNIX domain socket @(UnixSockDir)/@(UnixSockName)[:num] to communicate clients. The socket is deleted automatically if cannaserver(1M) terminates normally. The socket may exist while cannaserver(1M) is not running (because, for example, cannaserver(1M) terminated abnormally). In this case, delete the file manually or you cannot start it. .PP @(DicDir)/*/dics.dir includes the list of dictionaries which are available to clients. Users (i.e. clients) can choose which to use and specify them in ~/.canna. .SH "OPTIONS" .IP "\fIddpath\fP" 12 Specifies the directory that contains dictionaries. .IP "\-inet" 12 This option lets cannaserver(1M) accept connections from remote hosts using inet domain socket (IPv4). By default, the cannaserver(1M) uses only UNIX domain socket, i.e. only clients in your local machine can connect to the server. .IP "\-inet6" 12 Enable IPv6. If this option is used solely, IPv4 access is disabled. If you want to use IPv4 at the same time, use both \-inet and \-inet6. .IP "\-l \fIn\fP" 12 Outputs the cannaserver(1M) log to /tmp/canna.log. n (1 to 5) specifies the log level. .IP "\-d" 12 Starts cannaserver(1M) in debug mode. It is executed as the foreground process. Log data at log level 5 is output to the standard output. .IP "\-u \fIuserid\fP" 12 Specifies which user cannaserver(1M) runs as. By default, cannaserver(1M) runs as the user who started cannaserver(1M). .IP "\-syslog" 12 Outputs the cannaserver(1M) log to syslogd(8). If you specify this option, logs are not output to @(ErrDir)/CANNA?msgs. .IP "\-p \fInum\fP" 12 By this option cannaserver(1M) uses the port number 5680 + num. The default port number is 5680. This option also has an effect on the filename of the socket and the log file. See below. .SH "FILES" .IP "@(UnixSockDir)/@(UnixSockName)[:num]" 8 Socket. [:num] part is added only when you specify \-p. .IP "@(DicDir)/*/dics.dir" 8 Dictionary directory .IP "@(AccessFile)" 8 Access control file .IP "@(ErrDir)/CANNA?msgs" 8 Log file. "?" is replaced with \fInum\fP specified with \-p, and defaults to 0 without \-p \fInum\fP. Log messages are not output to this file when \-syslog is specified. .SH "SEE ALSO" .PP cannakill(1M), cannastat(1), cannacheck(1), cshost(1) Canna37p3/server/session.c0100644000076500001200000002255507733317775015036 0ustar shinraadmin/* Copyright (c) 2003 Canna Project. All rights reserved. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of the * author and contributors not be used in advertising or publicity * pertaining to distribution of the software without specific, written * prior permission. The author and contributors no representations * about the suitability of this software for any purpose. It is * provided "as is" without express or implied warranty. * * THE AUTHOR AND CONTRIBUTORS DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS, IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* LINTLIBRARY */ #include "server.h" RCSID("$Id: session.c,v 1.1 2003/09/21 12:56:29 aida_s Exp $"); typedef struct { char *ue_name; int ue_count; } UserEntry; struct tagUserTable { UserEntry *entries; int n_entries; }; UserTable *global_user_table = NULL; UserTable * UserTable_new() { UserTable *obj = malloc(sizeof(UserTable)); if (!obj) return NULL; obj->entries = NULL; obj->n_entries = 0; return obj; } void UserTable_delete(obj) UserTable *obj; { free(obj->entries); free(obj); } static int UserTable_register(obj, username) UserTable *obj; const char *username; { int usr_no; ir_debug( Dmsg( 6,"¥æ¡¼¥¶Ì¾[%s]\n", username ) ); for (usr_no = 0; usr_no < obj->n_entries; ++usr_no) { if (obj->entries[usr_no].ue_name && !strcmp(obj->entries[usr_no].ue_name, username)) { ir_debug( Dmsg( 6,"ÅÐÏ¿ºÑ¤ß¥æ¡¼¥¶Ì¾[%s]\n", username ) ); ir_debug( Dmsg( 6,"¥æ¡¼¥¶¥«¥¦¥ó¥È[%d]\n", obj->entries[usr_no].ue_count ) ); ++obj->entries[usr_no].ue_count; return usr_no; } } for (usr_no = 0; usr_no < obj->n_entries; ++usr_no) if (!obj->entries[usr_no].ue_name) break; if (usr_no == obj->n_entries) { int newsize = obj->n_entries * 2 + 4; UserEntry *tmp; tmp = realloc(obj->entries, newsize * sizeof(UserEntry)); if (!tmp) return -1; bzero(tmp + usr_no, (newsize - usr_no) * sizeof(UserEntry)); obj->entries = tmp; obj->n_entries = newsize; } ir_debug( Dmsg( 6,"¥æ¡¼¥¶[%s]¤ò¿·µ¬ÅÐÏ¿¤¹¤ë\n", username ) ); ir_debug( Dmsg( 6,"¥æ¡¼¥¶¥Ê¥ó¥Ð¡¼[%d]\n", usr_no ) ); if (!(obj->entries[usr_no].ue_name = strdup(username))) return -1; obj->entries[usr_no].ue_count = 1; return usr_no; } static void UserTable_unregister(obj, usr_no) UserTable *obj; int usr_no; { UserEntry *ent = obj->entries + usr_no; assert(usr_no >= 0 && usr_no < obj->n_entries); ir_debug( Dmsg( 6,"¥æ¡¼¥¶¥«¥¦¥ó¥È:[%d]\n", ent->ue_count ) ); assert(ent->ue_count && ent->ue_name); if (--ent->ue_count == 0) { ir_debug( Dmsg( 6,"¥æ¡¼¥¶[%s]¤òºï½ü¤¹¤ë\n", ent->ue_name ) ); free(ent->ue_name); ent->ue_name = NULL; } } static int CheckVersion( data, client ) char *data ; ClientPtr client ; { char *logname ; int clienthi, clientlo ; char *buf ; if( !(buf = (char *)strtok( (char *)data, "." )) ) return( -1 ) ; clienthi = atoi( buf ) ; if( !(buf = (char *)strtok((char *)NULL, ":")) ) return( -1 ) ; clientlo = atoi( buf ) ; if( !(logname = strtok( (char *)NULL, ":" )) ) return( -1 ) ; ir_debug( Dmsg( 5,"UserName:[%s]\n", logname ); ) ir_debug( Dmsg( 5,"client:hi[%d],lo[%d]\n", clienthi, clientlo ); ) ir_debug( Dmsg( 5,"server:hi[%d],lo[%d]\n", canna_server_hi, canna_server_lo ); ) #ifndef USE_EUC_PROTOCOL if (clienthi < 2) { return RETURN_VERSION_ERROR_STAT; } #endif /* USE_EUC_PROTOCOL */ if( canna_server_hi < clienthi ) return( RETURN_VERSION_ERROR_STAT ) ; if (!(client->username = strdup(logname))) return -1; client->version_hi = (short)clienthi ; client->version_lo = (short)clientlo ; if( clienthi < canna_server_hi ) return( clientlo ); else return( canna_server_lo ); } static void free_client_rec(client) ClientPtr client; { int *contexts; int i; contexts = client->context_flag; for (i = 0 ; i < client->ncon ; i++) { RkwCloseContext(contexts[i]); } client->ncon = 0; ir_debug( Dmsg( 6,"¥æ¡¼¥¶¥Ê¥ó¥Ð¡¼:[%d]\n", client->usr_no )); if (client->usr_no >= 0) UserTable_unregister(global_user_table, client->usr_no); if( client->hostname ) free( (char *)client->hostname ) ; if( client->username ) free( (char *)client->username ) ; free( (char *)client ); } int open_session(clientp, name, client_buf) ClientPtr *clientp; char *name; ClientBuf *client_buf; { int cxnum = -1, eff_lo, stat = -1; register ClientPtr client = (ClientPtr)calloc( 1, sizeof( ClientRec ) ) ; ir_debug(Dmsg(3, "¥»¥Ã¥·¥ç¥ó¤ò³«¤¯\n")); if (!client) goto fail; client->usr_no = -1; /* ¤³¤ì¤òºÇ½é¤Ë¤ä¤ë¤³¤È */ client->client_buf = client_buf; if (ClientBuf_get_connection_info(client_buf, &client->hostaddr, &client->hostname)) goto fail; /* ¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤Î¥Á¥§¥Ã¥¯,¥æ¡¼¥¶Ì¾¼èÆÀ */ if( (eff_lo = CheckVersion( name, client )) < 0 ) goto fail; ir_debug(Dmsg(5, "PROTOCOL.Version[%d:%d]\n", client->version_hi, eff_lo)); /* ¥æ¡¼¥¶ÅÐÏ¿ */ if ((client->usr_no = UserTable_register(global_user_table, client->username)) < 0) goto fail; /* ¥¢¥¯¥»¥¹À©¸æ */ #if defined(INET6) && !defined(IR_V6ONLY_BIND) if( client->hostaddr.family == AF_INET6 && IN6_IS_ADDR_V4MAPPED( IR_ADDR_IN6( &client->hostaddr) ) ) { PrintMsg("[%s@%s] IPv4 mapped address detected\n", client->username, client->hostname); goto fail; } if( !UseInet ) { if( client->hostaddr.family == AF_INET ) { PrintMsg("[%s@%s] IPv4 is disabled\n", client->username, client->hostname); goto fail; } } #endif /* INET6 && !IR_V6ONLY_BIND */ if (CheckAccessControlList(&client->hostaddr, client->username) < 0) { PrintMsg("[%s@%s] Access denied\n", client->username, client->hostname); goto fail; } /* ÊÑ´¹¥³¥ó¥Æ¥­¥¹¥È¤Î³ÎÊÝ */ cxnum = RkwCreateContext() ; if (cxnum < 0) goto fail; if (SetDicHome( client, cxnum ) < 0 || set_cxt(client, cxnum) == 0) goto fail; stat = ((eff_lo << 0x10) | cxnum); ClientStat(client, CONNECT, 0/*dummy*/, 0) ; *clientp = client; ir_debug(Dmsg(3, "¥»¥Ã¥·¥ç¥ó¤Î³«»Ï¤ËÀ®¸ù\n")); return( stat ); fail: ir_debug(Dmsg(3, "¥»¥Ã¥·¥ç¥ó¤ò³«¤±¤Ê¤«¤Ã¤¿\n")); if (cxnum >= 0) RkwCloseContext(cxnum); if (client) free_client_rec(client); return( -1 ); } void close_session(clientp, notify) ClientPtr *clientp; int notify; { ClientPtr client = *clientp; if (!client) return; if (notify) EventMgr_finalize_notify(global_event_mgr, client->client_buf); ir_debug(Dmsg(3, "¥»¥Ã¥·¥ç¥ó¤òÊĤ¸¤ë\n")); free_client_rec(client); *clientp = NULL; } void ClientStat(client, type, request_Type, return_date) ClientPtr client ; int request_Type, type; char *return_date ; { static ir_time_t set_time ; /* ¥µ¡¼¥Ð¤ò»ÈÍѤ·¤¿»þ´Ö¤ò¬¤ë´ðÅÀ */ ir_time_t cur_time ; cur_time = time( NULL ) ; switch( type ) { #ifdef DEBUG case GETDATE : { struct tm *tt ; char *date ; ir_time_t cdate ; cdate = client->connect_date ; tt = localtime( &cdate ) ; date = asctime( tt ) ; date[24] = '\0' ; if (return_date) { strcpy(return_date, date); strcat(return_date, " JST"); } break ; } #endif case CONNECT : client->connect_date = cur_time ; client->used_time = 0 ; client->idle_date = cur_time ; break ; case SETTIME : if( (request_Type == IR_SER_STAT) || (request_Type == IR_SER_STAT2) ) return ; set_time = cur_time ; client->idle_date = 0 ; break ; case GETTIME : if( (request_Type == IR_SER_STAT) || (request_Type == IR_SER_STAT2) ) return ; client->idle_date = cur_time ; client->used_time += (cur_time - set_time) ; break ; default : break ; } } Canna37p3/server/util.c0100644000076500001200000001662107733317775014325 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "$Id: util.c,v 1.8 2003/09/21 12:56:29 aida_s Exp $"; #endif #include "server.h" #if 1 /* unused */ #include "widedef.h" #endif size_t ushort2euc(src, srclen, dest, destlen) const Ushort *src; char *dest; size_t srclen, destlen; { register size_t i, j; register Ushort wc; for (i = 0, j = 0 ; i < srclen && j + 2 < destlen ; i++) { wc = src[i]; switch (wc & 0x8080) { case 0: /* ASCII */ dest[j++] = (char)((unsigned)wc & 0x7f); break; case 0x0080: /* Ⱦ³Ñ¥«¥Ê */ dest[j++] = (char)0x8e; /* SS2 */ dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; case 0x8000: /* ³°»ú */ dest[j++] = (char)0x8f; /* SS3 */ dest[j++] = (char)((((unsigned)wc & 0x7f00) >> 8) | 0x80); dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; case 0x8080: /* ´Á»ú */ dest[j++] = (char)((((unsigned)wc & 0x7f00) >> 8) | 0x80); dest[j++] = (char)(((unsigned)wc & 0x7f) | 0x80); break; } } dest[j] = '\0'; return j; } size_t euc2ushort(src, srclen, dest, destlen) const char *src; Ushort *dest; size_t srclen, destlen; { register size_t i, j; register unsigned ec; for (i = 0, j = 0 ; i < srclen && j + 1 < destlen ; i++) { ec = (unsigned)(unsigned char)src[i]; if (ec & 0x80) { switch (ec) { case 0x8e: /* SS2 */ dest[j++] = (Ushort)(0x80 | ((unsigned)src[++i] & 0x7f)); break; case 0x8f: /* SS3 */ dest[j++] = (Ushort)(0x8000 | (((unsigned)src[i + 1] & 0x7f) << 8) | ((unsigned)src[i + 2] & 0x7f)); i += 2; break; default: dest[j++] = (Ushort)(0x8080 | (((unsigned)src[i] & 0x7f) << 8) | ((unsigned)src[i + 1] & 0x7f)); i++; break; } } else { dest[j++] = (Ushort)ec; } } dest[j] = (Ushort)0; return j; } #if 1 /* unused */ size_t wchar2ushort32(src, srclen, dest, destlen) register const wchar_t *src; register Ushort *dest; size_t srclen, destlen; { register size_t i; for (i = 0 ; i < srclen && i + 1 < destlen ; i++) { switch ((unsigned)(*src & 0xf0000000) >> 28) { case 0: /* ASCII */ *dest = (Ushort)((unsigned)*src & 0x7f); break; case 1: /* Ⱦ³Ñ¥«¥Ê */ *dest = (Ushort)(0x80 | ((unsigned)*src & 0x7f)); break; case 2: /* ³°»ú */ *dest = (Ushort)(0x8000 | (((unsigned)*src & 0x3f80) << 1) | ((unsigned)*src & 0x7f)); break; case 3: /* ´Á»ú */ *dest = (Ushort)(0x8080 | (((unsigned)*src & 0x3f80) << 1) | ((unsigned)*src & 0x7f)); break; } src++; dest++; } *dest = (Ushort)0; return i; } size_t ushort2wchar32(src, srclen, dest, destlen) register const Ushort *src; register wchar_t *dest; size_t srclen, destlen; { register size_t i; for (i = 0 ; i < srclen && i + 1 < destlen ; i++) { switch (*src & 0x8080) { case 0: /* ASCII */ *dest = (wchar_t)(*src & 0x7f); break; case 0x0080: /* Ⱦ³Ñ¥«¥Ê */ * dest = (wchar_t)((0x1 << 28) | (*src & 0x7f)); break; case 0x8000: /* ³°»ú */ *dest = (wchar_t)((0x2 << 28) | ((unsigned)(*src & 0x7f00) >> 1) | (*src & 0x7f)); break; case 0x8080: /* ´Á»ú */ *dest = (wchar_t)((0x3 << 28) | ((unsigned)(*src & 0x7f00) >> 1) | (*src & 0x7f)); break; } src++; dest++; } *dest = (wchar_t)0; return i; } size_t wchar2ushort16(src, srclen, dest, destlen) register const wchar_t *src; register Ushort *dest; size_t srclen, destlen; { register size_t i; for (i = 0 ; i < srclen && i + 1 < destlen ; i++) *dest++ = (Ushort)*src++; *dest = (Ushort)0; return i; } size_t ushort2wchar16(src, srclen, dest, destlen) register const Ushort *src; register wchar_t *dest; size_t srclen, destlen; { register size_t i; for (i = 0 ; i < srclen && i + 1 < destlen ; i++) *dest++ = (wchar_t)*src++; *dest = (wchar_t)0; return i; } #endif /* unused */ size_t ushortstrlen(ws) const Ushort *ws; { size_t res = 0; while (*ws++) { res++; } return res; } Ushort * ushortmemchr(ws, ch, len) const Ushort *ws; int ch; size_t len; { const Ushort *p, *end; for (p = ws, end = ws + len; p < end; ++p) if (*p == (Ushort)ch) return (Ushort *)p; return NULL; } size_t ushortstrcpy(wd, ws) Ushort *wd; const Ushort *ws; { register size_t res = 0; while ((*wd++ = *ws++) != (Ushort)0) { res++; } return res; } size_t ushortstrncpy(wd, ws, n) Ushort *wd; const Ushort *ws; size_t n; { register size_t res = 0; while (res < n && (*wd = *ws) != (Ushort)0) { wd++; ws++; res++; } *wd = 0; return res; } /* WidenClientContext ¥¯¥é¥¤¥¢¥ó¥È¹½Â¤ÂΤǴÉÍý¤·¤Æ¤¤¤ë¥³¥ó¥Æ¥­¥¹¥ÈÇÛÎó¤ò¤Á¤ç¤Ã¤ÈÂ礭¤¯¤¹¤ë¡£ cl -- ¥¯¥é¥¤¥¢¥ó¥È¹½Â¤ÂΤؤΥݥ¤¥ó¥¿ n -- ¤É¤Î¤¯¤é¤¤Â礭¤¯¤¹¤ë¤« ÊÖ¤êÃÍ 1 -- À®¸ù 0 -- ¼ºÇÔ */ int WidenClientContext(cl, n) ClientPtr cl; size_t n; { int *new, *old, i; new = (int *)malloc((cl->cfsize + n) * sizeof(int)); if (new) { old = cl->context_flag; for (i = 0 ; i < cl->ncon ; i++) { new[i] = old[i]; } if (cl->ncon > 0) free((char *)old); cl->context_flag = new; cl->cfsize += n; return 1; } return 0; } /* set_cxt -- ¤½¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬»ØÄꤵ¤ì¤¿¥³¥ó¥Æ¥­¥¹¥È¤ò»È¤Ã¤Æ¤¤¤ë¤³¤È¤òµ­Ï¿ ÊÖ¤êÃÍ: 1 -- À®¸ù 0 -- ¼ºÇÔ */ #define N_ADD_CONTEXTS 4 int set_cxt(cl, n) ClientPtr cl; int n; { if (!(cl->ncon < cl->cfsize) && !WidenClientContext(cl, N_ADD_CONTEXTS)) { return 0; } else { cl->context_flag[cl->ncon++] = n; return 1; } } /* off_cxt -- ¤½¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢»ØÄꤵ¤ì¤¿¥³¥ó¥Æ¥­¥¹¥È¤ò¤â¤¦»È¤ï¤Ê¤¯¤Ê¤Ã¤¿ */ void off_cxt(cl, cn) ClientPtr cl; int cn; { int i, n = cl->ncon, *contexts = cl->context_flag; for (i = 0 ; i < n ; i++) { if (contexts[i] == cn) { break; } } n--; for (; i < n ; i++) { contexts[i] = contexts[i + 1]; } cl->ncon = n; } /* chk_cxt -- ¤½¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢»ØÄꤵ¤ì¤¿¥³¥ó¥Æ¥­¥¹¥È¤ò»È¤Ã¤Æ¤â¤¤¤¤¤Î¡© 1 -- »È¤Ã¤Æ¤â¤¤¤¤ 0 -- ¤¤¤±¤Ê¤¤ */ int chk_cxt(cl, cn) ClientPtr cl; int cn; { int i, n = cl->ncon, *contexts = cl->context_flag; for (i = 0 ; i < n ; i++) { if (contexts[i] == cn) { return 1; } } return 0; } Canna37p3/server/wconvert.c0100644000076500001200000024423007773413055015206 0ustar shinraadmin/* Copyright 1992 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #if !defined(lint) && !defined(__CODECENTER__) static char rcs_id[] = "@(#) 102.1 $Id: wconvert.c,v 1.11.2.2 2003/12/27 23:30:53 aida_s Exp $"; #endif #define EXTPROTO 1 #define SIZEOFCHAR 1 #define SIZEOFSHORT 2 #define SIZEOFINT 4 #define SIZEOFLONG 4 #define HEADER_SIZE (SIZEOFCHAR * 2 + SIZEOFSHORT) #define DEFAULTBUFSIZE 512 /* * MODIFICATION HISTORY * S000 funahasi@oa2 Fri Oct 2 20:14:13 JST 1992 * - cannastat¤Ç¼èÆÀ¤Ç¤­¤ë client¾ðÊó¿ô¤ÎÀ©¸Â¤ò²ò½ü * - debugÍÑ´Ø¿ô RkThrough()¤Î¤¿¤á¤Ë protocol¤òÄɲà * - fixed bug cannastat¤Ç AutoConvert°Ê¹ß¤Î protocol»ÈÍѲó¿ô¤¬ * count¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤òľ¤·¤¿ * S001 funahasi@oa2 Thu Oct 8 20:24:13 JST 1992 * - fixed bug cannastat¤Ç user_name¤È host_name¤¬Àµ¤·¤¯É½¼¨¤µ¤ì * ¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ * S002 funahasi@oa2 Tue Oct 13 15:29:20 JST 1992 * - protocolversion2.0°ÊÁ°¤Î client¤Ç¤Ï RkQueryDic()¤ò¸Æ¤Ð¤Ê¤¤ * ¤è¤¦¤Ë»ÅÍͤòÊѹ¹ * S003 funahasi@oa2 Thu Nov 5 15:34:25 JST 1992 * - RkQueryDic()¤Î°ú¤­¿ô¤Ë user̾¤ò»ØÄê¤Ç¤­¤ë¤è¤¦»ÅÍͤòÊѹ¹ * - RkQueryDic()¤ÎÊÖ¤¹ DicInfo¤Î format¤¬ÊѤï¤Ã¤¿¤Î¤Ç¹ç¤ï¤»¤ë * S004 funahasi@oa2 Tue Nov 10 17:02:20 JST 1992 * - fixed bug Á°²ó¤Î RkQueryDic()¤Î½¤Àµ¤Çϳ¤ì¤¬¤¢¤Ã¤¿ * S005 funahasi@oa2 Thu Dec 3 23:51:26 JST 1992 * - fixed bug S000¤Ç client¾ðÊó¿ô¤ÎÀ©¸Â¤ò²ò½ü¤·¤¿»þ¤ËÆþ¤ì¤¿ * sendbuffer¤Î»Ä¤ê¤òÄ´¤Ù¤ë½èÍý¤¬´Ö°ã¤Ã¤Æ¤¤¤¿ * Àè¤Ëclient¾ðÊóÁ´ÂΤΥµ¥¤¥º¤òÄ´¤Ù¤Æ¤ª¤¤¤Æ sendbuffer¤ò±Û¤¨¤ë * ¤Ê¤é sendbuffer¤ò malloc¤·Ä¾¤¹¤è¤¦¤Ë½¤Àµ * S006 funahasi@oa2 Fri Dec 4 19:31:12 JST 1992 * - fixed bug protocol ver2.0¤Î»þ client¾ðÊó¤Î¥µ¥¤¥º¤òÄ´¤Ù¤ë * ¤Î¤¬È´¤±¤Æ¤¤¤¿¤Î¤Ç½¤Àµ¤·¤¿ * sendbuffer¤Î»Ä¤ê¤òÄ´¤Ù¤ë½èÍý¤¬´Ö°ã¤Ã¤Æ¤¤¤¿ * - fixed bug sendbuffer¤¬ protcol¤¬°·¤¨¤ëºÇÂçŤò±Û¤¨¤ë»þ¤¬ * ¤¢¤ë¤Î¤Ç±Û¤¨¤¿Ê¬¤ÏÀÚ¤ê¼Î¤Æ¤ë¤è¤¦¤Ë¤¹¤ë * S007 funahasi@oa2 Tue Jan 12 19:49:29 JST 1993 * - fixed bug irw_dictionary_list()¤Ç·¿¤¬¹ç¤ï¤Ê¤¤¥Ç¡¼¥¿¤ò * ½ÐÎϤ·¤Æ¤¤¤¿ * S008 funahasi@oa2 Fri Jan 29 17:22:04 JST 1993 * - gcc -O¤Ç¸õÊä°ìÍ÷¤ò¼è¤ë¤È¥³¥¢¥À¥ó¥×¡¥¥¢¥é¥¤¥á¥ó¥È¤ÎÌäÂê */ /* LINTLIBRARY */ #include "server.h" #include "RKindep/ecfuncs.h" #include #include typedef struct { int (*func) pro((ClientPtr *)); int (*extdat) pro((BYTE *)); } reqproc; extern const char *WideProtoName[], *ExtensionRequest[]; extern const reqproc WideVector[]; #ifdef EXTENSION extern const reqproc ExtensionWideVector[]; #endif static int RkThrough pro((int cx, int command, char *buf, int content_size, int buffer_size)); #ifdef DEBUG static char *conveuc pro((Ushort *src)); static const char null[] = "NULL"; #endif /* DEBUG */ static IRwReq Request ; static BYTE local_buffer[ LOCAL_BUFSIZE ]; static unsigned int TotalWideRequestTypeCount[ W_MAXREQUESTNO ] ; #ifdef DEBUGPROTO static void printproto(p, n) char *p; int n; { int i; for (i = 0 ; i < n ; i++) { if (i) { if ((i % 4) == 0) printf(" "); if ((i % 32) == 0) printf("\n"); } printf("%02x", (unsigned)((*p++) & 0xff)); } printf("\n"); } static void probe(format, n, p) char *format, *p; int n; { printf(format, n); printproto(p, n); } #else /* !DEBUGPROTO */ #define probe(a, b, c) #endif /* !DEBUGPROTO */ static GetFirstKouho(cxnum, start, end, val_return, buf, bufsize, bufp_return) int cxnum, start, end, *val_return, bufsize; Ushort *buf, **bufp_return; { int rest = bufsize, len, i, j; Ushort kanjibuf[DEFAULTBUFSIZE/*RK_DENO_SAIDAI_CHOU*/], *p = buf; *bufp_return = buf; for (i = start ; i < end ; i++) { len = RkwGetKanji(cxnum, kanjibuf, sizeof(kanjibuf) / sizeof(Ushort)); if (rest <= len) { /* allocate ¤¹¤ë */ int totallen = (p - buf) + len + 1; Ushort *new; for (j = i + 1 ; j < end ; j++) { RkwRight(cxnum); len = RkwGetKanji(cxnum, kanjibuf, sizeof(kanjibuf) / sizeof(Ushort)); totallen += len + 1; } if (!(new = (Ushort *)malloc(totallen * sizeof(Ushort)))) { /* ¤µ¤¹¤¬¤Ë¤â¤¦¥À¥á */ PrintMsg( "Memory exhausted!\n" ); break; /* ¼ÂºÝ¤ÎʸÀá¿ô¤è¤ê¾¯¤Ê¤¤Ãͤ¬ÊÖ¤ë */ } bcopy(buf, new, (p - buf) * sizeof(Ushort)); p += new - buf; *bufp_return = new; rest += totallen - bufsize; RkwGoTo(cxnum, i); len = RkwGetKanji(cxnum, kanjibuf, sizeof(kanjibuf) / sizeof(Ushort)); } bcopy((char *)kanjibuf, (char *)p, len * sizeof(Ushort)); p += len; *p++ = (Ushort)0; rest -= len + 1; RkwRight(cxnum); ir_debug( Dmsg(5, "%s ", (len > 0) ? conveuc(p - len - 1) : null) ); } ir_debug(Dmsg(5, "\n")); *p++ = (Ushort)0; *val_return = i; RkwGoTo(cxnum, start); /* ÀèÆ¬Ê¸Àá¤ò¥«¥ì¥ó¥ÈʸÀá¤ËÌᤷ¤Æ¤ª¤¯ */ return p - *bufp_return; } #ifdef DEBUG static int WriteClient(client, buf, size) ClientPtr client; const BYTE *buf; size_t size; { ir_debug( Dmsg(10, "WriteClient:") ); ir_debug( DebugDump( 10, buf, size ) ); return ClientBuf_store_reply(client->client_buf, buf, size); } #else # define WriteClient(c, b, s) ClientBuf_store_reply((c)->client_buf, b, s) #endif static BYTE * copylenstr(name, p) char *name; BYTE *p; { int len, filledlen; len = strlen(name) + 1; filledlen = len + (len % 2); STOS2(filledlen, p); p += SIZEOFSHORT; strcpy((char *)p, name); p += len; if (filledlen > len) *p++ = (BYTE)0; return p; } /* Type1 ¤Î¥ê¥×¥é¥¤¤Ï GetServerInfo ¤Ç¤·¤«»È¤ï¤ì¤Ê¤¤¤¿¤á¤Á¤ç¤Ã¤ÈÃæ¿È¤ò ÃΤäƤ¤¤ë¤è¤¦¤Ê½èÍý(who-> ¤ÎÉôʬ)¤Ë¤·¤Æ¤·¤Þ¤Ã¤¿¡£(^^;) */ static SendType1Reply(client, majo, mino, stat, majorv, minorv, curtime, nproto, protonames, protofreqs, nclients, ncontexts, who) ClientPtr client, *who; int majo, mino, stat, majorv, minorv, curtime, nproto, nclients, ncontexts; unsigned int *protofreqs; char **protonames; { int namelen, fillednamelen; int i, j, len, requiredsize, size, clinfolen, retval; BYTE lbuf[DEFAULTBUFSIZE], *bufp = lbuf, *p; char **cp; /* ¤Þ¤º¥ê¥×¥é¥¤¤¹¤ë¤Î¤ËɬÍפʥХåե¡¤ÎŤµ¤òµá¤á¤è¤¦ */ requiredsize = HEADER_SIZE + SIZEOFCHAR /* ½ªÎ»¾õÂÖ */ + SIZEOFCHAR /* ¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó */ + SIZEOFCHAR /* ¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó */ + SIZEOFLONG /* »þ¹ï */ + SIZEOFSHORT /* ¥×¥í¥È¥³¥ë¿ô */ + SIZEOFSHORT /* ¥×¥í¥È¥³¥ë̾¤ÎŤµ */ + 0 /* ¥×¥í¥È¥³¥ë̾(¤Þ¤À¤ï¤«¤é¤Ê¤¤) */ + (nproto * SIZEOFLONG) /* ¥×¥í¥È¥³¥ë»ÈÍÑÉÑÅÙ */ + SIZEOFSHORT /* ¥¯¥é¥¤¥¢¥ó¥È¿ô */ + SIZEOFSHORT /* ¥³¥ó¥Æ¥­¥¹¥È¿ô */ + 0 /* ¥¯¥é¥¤¥¢¥ó¥È¾ðÊó´ØÏ¢(¤Þ¤À¤ï¤«¤é¤Ê¤¤) */ ; for (i = 0, namelen = 0, cp = protonames; i < nproto ; i++, cp++) { len = strlen(*cp) + 1; namelen += len; } namelen++; fillednamelen = namelen + namelen % 2; requiredsize += fillednamelen; /* ¥×¥í¥È¥³¥ë̾(¤ï¤«¤Ã¤¿) */ clinfolen = SIZEOFSHORT /* ¥¯¥é¥¤¥¢¥ó¥È¾ðÊó¤ÎŤµ */ + (5 * SIZEOFLONG) /* ¥½¥±¥Ã¥ÈÈֹ桢¥æ¡¼¥¶´ÉÍýÈֹ桢³Æ¼ï»þ´Ö */ + (nproto * SIZEOFLONG) /* ¥×¥í¥È¥³¥ë»ÈÍÑÉÑÅÙ */ + SIZEOFSHORT /* ¥æ¡¼¥¶Ì¾¤ÎŤµ */ + SIZEOFSHORT /* ¥Û¥¹¥È̾¤ÎŤµ */ + ((client->version_hi > 2) ? SIZEOFSHORT : 0) /* ¥¯¥é¥¤¥¢¥ó¥È̾¤ÎŤµ */ + ncontexts /* ¥³¥ó¥Æ¥­¥¹¥È´ÉÍý¥Õ¥é¥° */ ; requiredsize += nclients * clinfolen;/* ¥¯¥é¥¤¥¢¥ó¥È¾ðÊó´ØÏ¢(Ⱦʬ¤ï¤«¤Ã¤¿) */ for (i = 0 ; i < nclients ; i++) { int ulen, hlen, clen; ulen = strlen(who[i]->username) + 1; hlen = strlen(who[i]->hostname) + 1; ulen += ulen % 2; hlen += hlen % 2; if (client->version_hi > 2) { if (who[i]->clientname) { clen = strlen(who[i]->clientname) + 1; clen += clen % 2; } else { clen = 2; /* 0 + 1 + ((0 + 1) % 2)¡¢¤Ä¤Þ¤ê strlen == 0 »þ¤ÎÃÍ */ } } else { clen = 0; } requiredsize += ulen + hlen + clen; } /* ¥¯¥é¥¤¥¢¥ó¥È¾ðÊó´ØÏ¢(»Ä¤ê¤âʬ¤«¤Ã¤¿) */ /* ¤¢¡Á¡¢¤³¤ì¤ÇÁ´Éôʬ¤«¤Ã¤¿ */ if (requiredsize > sizeof(lbuf) && !(bufp = (BYTE *)malloc(requiredsize))) { stat = -1; requiredsize = HEADER_SIZE + SIZEOFCHAR; } p = bufp; size = requiredsize - HEADER_SIZE; *p++ = (BYTE)majo; *p++ = (BYTE)mino; STOS2(size, p); p += SIZEOFSHORT; *p++ = (BYTE)stat; if (size > SIZEOFCHAR) { *p++ = (BYTE)majorv; *p++ = (BYTE)minorv; LTOL4(curtime, p); p += SIZEOFLONG; STOS2(nproto, p); p += SIZEOFSHORT; STOS2(fillednamelen, p); p += SIZEOFSHORT; for (i = 0, cp = protonames ; i < nproto ; i++, cp++) { strcpy((char *)p, *cp); len = strlen((char *)p) + 1; p += len; } *p++ = (BYTE)0; if (fillednamelen > namelen) *p++ = (BYTE)0; for (i = 0 ; i < nproto ; i++) { LTOL4(*protofreqs, p); protofreqs++; p += SIZEOFINT; } STOS2(nclients, p); p += SIZEOFSHORT; STOS2(ncontexts, p); p += SIZEOFSHORT; for (i = 0 ; i < nclients ; i++, who++) { int clientinfolen; register ClientPtr awho = *who; BYTE *q = p; int id = ClientBuf_getfd(awho->client_buf); p += SIZEOFSHORT; LTOL4(id, p); p += SIZEOFLONG; LTOL4(awho->usr_no, p); p += SIZEOFLONG; LTOL4(awho->used_time, p); p += SIZEOFLONG; LTOL4(awho->idle_date, p); p += SIZEOFLONG; LTOL4(awho->connect_date, p); p += SIZEOFLONG; for (j = 1 ; j <= nproto; j++) { LTOL4(awho->pcount[j], p); p += SIZEOFLONG; } p = copylenstr(awho->username, p); p = copylenstr(awho->hostname, p); if (client->version_hi > 2) { if (awho->clientname) { p = copylenstr(awho->clientname, p); } else { p = copylenstr("", p); } } bzero(p, ncontexts); for (j = 0 ; j < awho->ncon ; j++) { p[awho->context_flag[j]] = 1; } p += ncontexts; clientinfolen = p - q - SIZEOFSHORT; STOS2(clientinfolen, q); } } retval = WriteClient(client, bufp, requiredsize); if (bufp != lbuf) free((char *)bufp); return retval; } static SendType2Reply(client, majo, mino, stat) ClientPtr client; int majo, mino, stat; { BYTE buf[HEADER_SIZE + SIZEOFCHAR], *p = buf; *p++ = (BYTE)majo; *p++ = (BYTE)mino; *p++ = (BYTE)0; *p++ = (BYTE)1; *p = (BYTE)stat; return WriteClient(client, buf, sizeof(buf)); } static SendType4Reply(client, majo, mino, stat, len, dat) ClientPtr client; int majo, mino, stat, len; int *dat; { BYTE lbuf[DEFAULTBUFSIZE], *bufp = lbuf, *p; int requiredsize = HEADER_SIZE + SIZEOFCHAR + (len * SIZEOFINT); int i, retval, size; if (requiredsize > sizeof(lbuf) && !(bufp = (BYTE *)malloc(requiredsize))) { requiredsize = HEADER_SIZE + SIZEOFCHAR; len = 0; stat = -1; } p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; size = requiredsize - HEADER_SIZE; STOS2(size, p); p += SIZEOFSHORT; *p++ = (BYTE)stat; for (i = 0 ; i < len ; i++) { LTOL4(*dat, p); dat++; p += SIZEOFLONG; } retval = WriteClient(client, bufp, requiredsize); if (bufp != lbuf) free((char *)bufp); return retval; } static SendType4XReply(client, majo, mino, val, s1, s2, len, dat) ClientPtr client; int majo, mino, val, len; char *s1, *s2; int *dat; { BYTE lbuf[DEFAULTBUFSIZE], *bufp = lbuf, *p; int retval, size, i, slen1 = strlen(s1) + 1, slen2 = strlen(s2) + 1; int requiredsize = HEADER_SIZE + SIZEOFSHORT + slen1 + slen2 + len * SIZEOFINT; if (requiredsize > sizeof(lbuf) && !(bufp = (BYTE *)malloc(requiredsize))) { val = -1; len = 0; s1 = s2 = ""; slen1 = slen2 = 1; requiredsize = HEADER_SIZE + SIZEOFSHORT + slen1 + slen2; } p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; size = requiredsize - HEADER_SIZE; STOS2(size, p); p += SIZEOFSHORT; *p++ = val; bcopy(s1, p, slen1); p += slen1; bcopy(s2, p, slen2); p += slen2; for (i = 0 ; i < len ; i++) { LTOL4(*dat, p); dat++; p += SIZEOFINT; } retval = WriteClient(client, bufp, requiredsize); if (bufp != lbuf) free((char *)bufp); return retval; } static SendType5Reply(client, majo, mino, context) ClientPtr client; int majo, mino, context; { BYTE buf[HEADER_SIZE + SIZEOFSHORT], *p = buf; *p++ = (BYTE)majo; *p++ = (BYTE)mino; *p++ = (BYTE)0; *p++ = (BYTE)SIZEOFSHORT; STOS2(context, p); return WriteClient(client, buf, sizeof(buf)); } static namesize(names, n) char *names; int n; { register int tmp, res = 0; if (n < 0) { return 0; } while (n--) { tmp = strlen(names) + 1; names += tmp; res += tmp; } return res + 1; } static unamesize(names, n) Ushort *names; int n; { register int tmp, res = 0; if (n < 0) { return 0; } while (n--) { tmp = ushortstrlen(names) + 1; names += tmp; res += tmp; } return res + 1; } static unamesize2(names) Ushort *names; { register int tmp, res = 0; while (*names) { tmp = ushortstrlen(names) + 1; names += tmp; res += tmp; } return res + 1; } static SendType6Reply(client, majo, mino, n, names, namelen) ClientPtr client; int majo, mino, n, namelen; char *names; { BYTE lbuf[DEFAULTBUFSIZE], *bufp = lbuf, *p; int requiredsize, retval, size; requiredsize = HEADER_SIZE + SIZEOFSHORT + namelen; if (requiredsize > sizeof(lbuf) && !(bufp = (BYTE *)malloc(requiredsize))) { namelen = 0; n = -1; requiredsize = HEADER_SIZE + SIZEOFSHORT; } p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; size = requiredsize - HEADER_SIZE; STOS2(size, p); p += SIZEOFSHORT; STOS2(n, p); p += SIZEOFSHORT; bcopy(names, p, namelen); retval = WriteClient(client, bufp, requiredsize); if (bufp != lbuf) free((char *)bufp); return retval; } static SendType7Reply(client, majo, mino, n, len, dat) ClientPtr client; int majo, mino, n, len; Ushort *dat; { BYTE lbuf[DEFAULTBUFSIZE], *bufp = lbuf, *p; int requiredsize = HEADER_SIZE + SIZEOFSHORT + (len * SIZEOFSHORT); int retval, size, i; if (requiredsize > sizeof(lbuf) && !(bufp = (BYTE *)malloc(requiredsize))) { n = -1; len = 0; requiredsize = HEADER_SIZE + SIZEOFSHORT; } p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; size = requiredsize - HEADER_SIZE; STOS2(size, p); p += SIZEOFSHORT; STOS2(n, p); p += SIZEOFSHORT; for (i = 0 ; i < len ; i++) { STOS2(*dat, p); dat++; p += SIZEOFSHORT; } retval = WriteClient(client, bufp, requiredsize); if (bufp != lbuf) free((char *)bufp); return retval; } static SendType9Reply(client, majo, mino, val, len, dat) ClientPtr client; int majo, mino, val, len; int *dat; { BYTE lbuf[DEFAULTBUFSIZE], *bufp = lbuf, *p; int requiredsize = HEADER_SIZE + SIZEOFSHORT + len * SIZEOFINT; int retval, size, i; if (requiredsize > sizeof(lbuf) && !(bufp = (BYTE *)malloc(requiredsize))) { val = -1; len = 0; requiredsize = HEADER_SIZE + SIZEOFSHORT; } p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; size = requiredsize - HEADER_SIZE; STOS2(size, p); p += SIZEOFSHORT; STOS2(val, p); p += SIZEOFSHORT; for (i = 0 ; i < len ; i++) { LTOL4(*dat, p); dat++; p += SIZEOFINT; } retval = WriteClient(client, bufp, requiredsize); if (bufp != lbuf) free((char *)bufp); return retval; } #if 0 /* Is this used? */ static SendType10Reply(client, majo, mino, val, s1, s2, len, dat) ClientPtr client; int majo, mino, val, len; char *s1, *s2; int *dat; { BYTE lbuf[DEFAULTBUFSIZE], *bufp = lbuf, *p; int retval, size, i, slen1 = strlen(s1) + 1, slen2 = strlen(s2) + 1; int requiredsize = HEADER_SIZE + SIZEOFSHORT + slen1 + slen2 + len * SIZEOFINT; if (requiredsize > sizeof(lbuf) && !(bufp = (BYTE *)malloc(requiredsize))) { val = -1; len = 0; s1 = s2 = ""; slen1 = slen2 = 1; requiredsize = HEADER_SIZE + SIZEOFSHORT + slen1 + slen2; } p = bufp; *p++ = (BYTE)majo; *p++ = (BYTE)mino; size = requiredsize - HEADER_SIZE; STOS2(size, p); p += SIZEOFSHORT; STOS2(val, p); p += SIZEOFSHORT; bcopy(s1, p, slen1); p += slen1; bcopy(s2, p, slen2); p += slen2; for (i = 0 ; i < len ; i++) { LTOL4(*dat, p); dat++; p += SIZEOFINT; } retval = WriteClient(client, bufp, requiredsize); if (bufp != lbuf) free((char *)bufp); return retval; } #endif static const char * irwerrhdr(client, proto) ClientPtr client; int proto; { static char buf[50]; sprintf(buf, "[%.25s](%.20s)", client->username, WideProtoName[proto - 1]); return buf; } static irw_finalize( clientp ) ClientPtr *clientp ; { register ClientPtr client = *clientp; if (SendType2Reply(client, wFinalize, !EXTPROTO, 0) < 0) { return -1; } /* close½èÍý¡õ¸å»ÏËö¡Ê¥³¥ó¥Æ¥¯¥¹¥È¤Î³«ÊüÅù¡Ë */ close_session(clientp, 1); return( 0 ) ; } static int irw_killserver(clientp) ClientPtr *clientp; { register ClientPtr client = *clientp; int stat = 0; const char *susername = "root"; const Address *cli_hostaddrp; AddrList *ser_hostaddrs = NULL, *local_hostaddrs = NULL; int client_ok; static char buf[ BUFSIZE ]; /* protodefs.h BUFSIZE 4096 */ /* ¥µ¡¼¥Ð¦¤Î¥æ¡¼¥¶Ì¾¤Î¼èÆÀ¡§¼èÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï"root" */ #ifdef __CYGWIN32__ char *logname = getlogin(); if (logname) susername = logname; else { #endif struct passwd *pass = getpwuid(getuid()); if( pass ) susername = pass->pw_name; #ifdef __CYGWIN32__ } #endif ir_debug( Dmsg(5, "¥µ¡¼¥Ð¤òµ¯Æ°¤·¤¿¥æ¡¼¥¶Ì¾:[%s]\n", susername);) /* ¥æ¡¼¥¶Ì¾¤ÎÈæ³Ó */ if ( client->username ){ ir_debug( Dmsg(5, "½ªÎ»Í׵ᤷ¤¿¥æ¡¼¥¶Ì¾:[%s]\n", client->username);) if (strcmp(client->username, susername) && strcmp(client->username, "root")){ PrintMsg("irw_killserver:[%s][%s]\n",susername, client->username); not_owner: stat = NOTOWNSRV; return SendType2Reply(client, wKillServer, !EXTPROTO, stat); } }else{ goto not_owner; } cli_hostaddrp = &client->hostaddr; if (client->hostaddr.family == AF_UNIX) goto addr_ok; /* unix¥É¥á¥¤¥ó¤Î¾ì¹ç(0)¡¢Ä̲áok */ /* ¥µ¡¼¥Ð¦¤Î¥Û¥¹¥È¥¢¥É¥ì¥¹¤Î¼èÆÀ À®¸ù(0) */ if (!gethostname(buf, sizeof(buf))) ser_hostaddrs = GetAddrListFromName(buf); local_hostaddrs = GetAddrListFromName("localhost"); if (!local_hostaddrs) local_hostaddrs = GetAddrListFromName("127.0.0.1"); /* ¥¢¥É¥ì¥¹¤ÎÈæ³Ó */ client_ok = SearchAddrList(ser_hostaddrs, &client->hostaddr) || SearchAddrList(local_hostaddrs, &client->hostaddr); FreeAddrList(ser_hostaddrs); FreeAddrList(local_hostaddrs); if (!client_ok) { stat = NOTUXSRV; return SendType2Reply(client, wKillServer, !EXTPROTO, stat); } addr_ok: /* ½ªÎ»½èÍý */ PrintMsg("irw_killserver:cannaserver end\n"); EventMgr_quit_later(global_event_mgr, 0); return SendType2Reply(client, wKillServer, !EXTPROTO, 0); } static irw_create_context( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; int cxnum ; cxnum = RkwCreateContext() ; if (SetDicHome(client, cxnum) > 0) { set_cxt(client, cxnum); } else { RkwCloseContext(cxnum); cxnum = -1; PrintMsg("%s Can't set dictionary home\n", irwerrhdr(client, wCreateContext)); } return SendType5Reply(client, wCreateContext, !EXTPROTO, cxnum); } /* validcontext -- ¥³¥ó¥Æ¥­¥¹¥È¤¬Í­¸ú¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¡£ Í­¸ú¤Ê¤é 1 ¤òÊÖ¤·Ìµ¸ú¤Ê¤é 0 ¤òÊÖ¤¹¡£ ¤Þ¤¿¡¢Ìµ¸ú¤Ê¤é¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¡£ */ static validcontext(cxnum, client, proto) int cxnum, proto; ClientPtr client; { if (chk_cxt(client, cxnum)) { return 1; } PrintMsg("%s Context Err[%d]\n", irwerrhdr(client, proto), cxnum); return 0; } static irw_duplicate_context( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; int cxnum = Request.type2.context; int retval = -1; if (validcontext(cxnum, client, wDuplicateContext)) { retval = RkwDuplicateContext( cxnum ) ; if (retval >= 0) { if (!set_cxt(client, retval)) { RkwCloseContext(retval); retval = -1; } } } return SendType5Reply(client, wDuplicateContext, !EXTPROTO, retval); } static irw_close_context( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; int cxnum = Request.type2.context, stat = -1; if (validcontext(cxnum, client, wCloseContext)) { stat = (char)RkwCloseContext( cxnum ) ; off_cxt(client, cxnum); } return SendType2Reply(client, wCloseContext, !EXTPROTO, stat); } static irw_dictionary_list( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; char *dicnames = (char *)local_buffer ; int cxnum = Request.type3.context; int stat = -1, max = Request.type3.buflen, retval; if (validcontext(cxnum, client, wGetDictionaryList)) { if (max <= sizeof(local_buffer) || (dicnames = malloc(max))) { stat = (int)RkwGetDicList( cxnum, dicnames, max ) ; } } retval = SendType6Reply(client, wGetDictionaryList, !EXTPROTO, stat, dicnames, namesize(dicnames, stat)); if (dicnames != (char *)local_buffer) free(dicnames); return retval; } static irw_get_yomi( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; Ushort *yomi = (Ushort *)local_buffer ; int stat = -1, cxnum = Request.type6.context, size = 0, retval; int bunsetuno = Request.type6.number ; int maxyomi = Request.type6.buflen; if (validcontext(cxnum, client, wGetYomi)) { ir_debug( Dmsg(5, "maxyomi [%d]\n", maxyomi ) ); if (maxyomi <= sizeof(local_buffer) / sizeof(Ushort) || (yomi = (Ushort *)malloc(maxyomi * sizeof(Ushort)))) { if( RkwGoTo(cxnum, bunsetuno) == bunsetuno ) { if ((stat = RkwGetYomi(cxnum, yomi, maxyomi)) >= 0) { size = (stat + 1); } } else { PrintMsg("%s bunsetu move failed\n", irwerrhdr(client, wGetYomi)); } } } retval = SendType7Reply(client, wGetYomi, !EXTPROTO, stat, size, yomi); if (yomi != (Ushort *)local_buffer) free((char *)yomi); return retval; } static irw_define_dic( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; Ushort *data; char *dicname; int cxnum = Request.type12.context, stat = -1; if (validcontext(cxnum, client, wDefineWord)) { dicname = Request.type12.dicname ; data = Request.type12.datainfo; ir_debug( Dmsg(5, "¼­½ñ̾=%s\n", (dicname)?dicname:null) ); ir_debug( Dmsg(5, "ÅÐÏ¿¤¹¤ë¥Ç¡¼¥¿[%s]\n", (data)?conveuc(data):null) ); stat = RkwDefineDic(cxnum, dicname, data); } return SendType2Reply(client, wDefineWord, !EXTPROTO, stat); } static irw_delete_dic( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; char *dicname ; Ushort *data; int cxnum = Request.type12.context, stat = -1; if (validcontext(cxnum, client, wDeleteWord)) { dicname = Request.type12.dicname ; data = Request.type12.datainfo ; ir_debug( Dmsg(5, "¼­½ñ̾=%s\n", (dicname)?dicname:null) ); ir_debug( Dmsg(5, "ºï½ü¤¹¤ë¥Ç¡¼¥¿[%s]\n", (data)?conveuc(data):null) ); stat = RkwDeleteDic(cxnum, dicname, data); } return SendType2Reply(client, wDeleteWord, !EXTPROTO, stat); } static irw_get_dir_list( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; char *dicnames = (char *)local_buffer ; int cxnum = Request.type3.context, stat = -1, retval; if (validcontext(cxnum, client, wGetDirectoryList)) { if (Request.type3.buflen <= sizeof(local_buffer) || (dicnames = malloc((int)Request.type3.buflen))) { stat = RkwGetDirList(cxnum, dicnames, (int)Request.type3.buflen); } } retval = SendType6Reply(client, wGetDirectoryList, !EXTPROTO, stat, dicnames, namesize(dicnames, stat)); if (dicnames != (char *)local_buffer) free(dicnames); return retval; } static irw_mount_dictionary( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; char *dicname ; int cxnum = Request.type15.context, stat = -1; extern MMountFlag; if (validcontext(cxnum, client, wMountDictionary)) { dicname = Request.type15.dicname ; ir_debug( Dmsg(5, "dicname = %s\n", (dicname)?dicname:null) ); stat = RkwMountDic(cxnum, dicname, Request.type15.mode | MMountFlag) ; } return SendType2Reply(client, wMountDictionary, !EXTPROTO, stat); } static irw_umount_dictionary( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; int cxnum = Request.type15.context, stat = -1; if (validcontext(cxnum, client, wUnmountDictionary)) { ir_debug( Dmsg(5, "dicname = %s\n", (Request.type15.dicname)?Request.type15.dicname:null) ); stat = RkwUnmountDic(cxnum, Request.type15.dicname); } return SendType2Reply(client, wUnmountDictionary, !EXTPROTO, stat); } static irw_rmount_dictionary( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; int cxnum = Request.type15.context, stat = -1; if (validcontext(cxnum, client, wRemountDictionary)) { ir_debug( Dmsg(5, "dicname = %s\n", (Request.type15.dicname)?Request.type15.dicname:null) ); stat = RkwRemountDic(cxnum, Request.type15.dicname, Request.type15.mode); } return SendType2Reply(client, wRemountDictionary, !EXTPROTO, stat); } static irw_mount_list( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; char *dicnames = (char *)local_buffer ; int cxnum = Request.type3.context, stat = -1, retval; if (validcontext(cxnum, client, wGetMountDictionaryList)) { if (Request.type3.buflen <= sizeof(local_buffer) || (dicnames = malloc((int)Request.type3.buflen))) { stat = RkwGetMountList(cxnum, dicnames, (int)Request.type3.buflen); } } retval = SendType6Reply(client, wGetMountDictionaryList, !EXTPROTO, stat, dicnames, namesize(dicnames, stat)); if (dicnames != (char *)local_buffer) free(dicnames); return retval; } static irw_convert( clientp ) ClientPtr *clientp ; { wReq14 *req = &Request.type14 ; ClientPtr client = *clientp ; Ushort *yomi, *bufp = (Ushort *)local_buffer; int cxnum = Request.type14.context, yomilen, ret, stat = -1; int size = 0, retval; if (validcontext(cxnum, client, wBeginConvert)) { yomilen = req->datalen - SIZEOFSHORT * 2 - SIZEOFLONG; yomilen /= sizeof( Ushort ); yomi = req->yomi; ir_debug(Dmsg(5, "ÆÉ¤ß = %s\n", (yomi)?conveuc(yomi):null)); if( (ret = RkwBgnBun( cxnum, yomi, yomilen, req->mode )) >= 0 ) { /* ºÇÍ¥Àè¸õÊä¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë */ size = GetFirstKouho(cxnum, 0, ret, &stat, (Ushort *)local_buffer, sizeof(local_buffer) / sizeof(Ushort), &bufp); } else { PrintMsg( "%s kana-kanji convert failed\n", irwerrhdr(client, wBeginConvert)); } } retval = SendType7Reply(client, wBeginConvert, !EXTPROTO, stat, size, bufp); if (bufp != (Ushort *)local_buffer) free((char *)bufp); return retval; } static irw_convert_end( clientp ) ClientPtr *clientp ; { wReq10 *req = &Request.type10 ; ClientPtr client = *clientp ; int mode = Request.type10.mode; int cxnum = Request.type10.context, len, i, stat = -1; if (validcontext(cxnum, client, wEndConvert)) { if (mode) { /* ³Ø½¬¤¹¤ë¤Ê¤é */ len = req->number; if (len) { if( RkwGoTo( cxnum, 0 ) != 0 ) { PrintMsg("%s ir_convert_end: RkwGoTo failed\n", irwerrhdr(client, wEndConvert)); } ir_debug( Dmsg(5, "³Ø½¬¤µ¤»¤ë¸õÊä\n") ); /* ¥«¥ì¥ó¥È¸õÊä¤òÀèÆ¬¤Ë°Üư¥¯¥é¥¤¥¢¥ó¥È¤¬Áª¤ó¤À¸õÊä¤ò */ /* RK¤ËÃΤ餻¤ë */ for( i = 0; i < len; i++ ){ if( req->kouho[ i ] != RkwXfer( cxnum, req->kouho [ i ] ) ) { PrintMsg("%s irw_convert_end: RkwXfer failed\n", irwerrhdr(client, wEndConvert)); } ir_debug( DebugDispKanji( cxnum, i ) ); if( RkwRight( cxnum ) == 0 && i != (len - 1) ) { PrintMsg("%s irw_convert_end: RkwRight failed\n", irwerrhdr(client, wEndConvert)); } } ir_debug( Dmsg(5, "\n") ); } } stat = RkwEndBun(cxnum, mode); } return SendType2Reply(client, wEndConvert, !EXTPROTO, stat); } static irw_get_kanjilist( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; Ushort *kouho = (Ushort *)local_buffer ; int stat = -1, cxnum = Request.type6.context, retval; int bunsetuno, maxkanji = Request.type6.buflen; if (validcontext(cxnum, client, wGetCandidacyList)) { bunsetuno = Request.type6.number; if (maxkanji <= sizeof(local_buffer) / sizeof(Ushort) || (kouho = (Ushort *)malloc(maxkanji * sizeof(Ushort)))) { ir_debug( Dmsg(5, "maxkanji [%d]\n", maxkanji) ); if( RkwGoTo(cxnum, bunsetuno) == bunsetuno ) { stat = RkwGetKanjiList(cxnum, kouho, maxkanji); } else { PrintMsg("%s bunsetu move failed\n", irwerrhdr(client, wGetCandidacyList)); } } } retval = SendType7Reply(client, wGetCandidacyList, !EXTPROTO, stat, unamesize(kouho, stat), kouho); if (kouho != (Ushort *)local_buffer) free((char *)kouho); return retval; } static irw_resize(clientp) ClientPtr *clientp ; { #define ENLARGE -1 #define SHORTEN -2 wReq7 *req = &Request.type7 ; ClientPtr client = *clientp ; int ret, cxnum = Request.type7.context, yomilen, bunsetu, stat = 0; int size = 0, retval; Ushort *bufp = (Ushort *)local_buffer; if (validcontext(cxnum, client, wResizePause)) { bunsetu = req->number ; yomilen = req->yomilen ; RkwGoTo(cxnum, bunsetu) ; ir_debug( Dmsg(5, "yomilen = %d\n", yomilen) ); ir_debug( Dmsg(5, "bunsetu = %d\n", bunsetu) ); switch( yomilen ) { case ENLARGE : ret = RkwEnlarge( cxnum ) ; break ; case SHORTEN : ret = RkwShorten( cxnum ) ; break ; default : ret = RkwResize( cxnum, yomilen ) ; break ; } /* ºÇÍ¥Àè¸õÊä¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë */ size = GetFirstKouho(cxnum, bunsetu, ret, &stat, (Ushort *)local_buffer, sizeof(local_buffer) / sizeof(Ushort), &bufp); } retval = SendType7Reply(client, wResizePause, !EXTPROTO, stat, size, bufp); if (bufp != (Ushort *)local_buffer) free((char *)bufp); return retval; } static irw_store_yomi( clientp ) ClientPtr *clientp ; { wReq11 *req = &Request.type11 ; ClientPtr client = *clientp ; int cxnum = Request.type11.context, bunsetu, ret, stat = -1; int size = 0, len; Ushort *bufp = (Ushort *)local_buffer; if (validcontext(cxnum, client, wStoreYomi)) { bunsetu = req->curbun ; RkwGoTo( cxnum, bunsetu ) ; ir_debug( Dmsg(5, "ÆÉ¤ß = %s\n", (req->yomi)?conveuc(req->yomi):null)); len = req->yomi ? ushortstrlen(req->yomi) : 0; ret = RkwStoreYomi(cxnum, req->yomi, len); if( ret >= 0 ){ if (len == 0 && ret && bunsetu >= ret) bunsetu--; RkwGoTo(cxnum, 0); size = GetFirstKouho(cxnum, 0, ret, &stat, (Ushort *)local_buffer, sizeof(local_buffer) / sizeof(Ushort), &bufp); RkwGoTo(cxnum, bunsetu); } else { PrintMsg("%s RkwStoreYomi faild\n", irwerrhdr(client, wStoreYomi)); stat = -1 ; } } ret = SendType7Reply(client, wStoreYomi, !EXTPROTO, stat, size, bufp); if (bufp != (Ushort *)local_buffer) free((char *)bufp); return ret; } static irw_query_extension( clientp ) ClientPtr *clientp ; { wReq17 *req = &Request.type17 ; ClientPtr client = *clientp ; char *reqname; int i, stat = -1 ; reqname = req->extensions; /* ¤Þ¤º¤ÏƬ½Ð¤· */ for( i = 0; *ExtensionRequest[i]; i++) { if (!strcmp(ExtensionRequest[i], reqname)) goto matchfirst; } goto last; /* not found */ matchfirst: /* Á´Éô¹ç¤¦¤«¤Ê */ stat = i; for (;;) { reqname += strlen(reqname) + 1; i++; if (!*reqname) break; /* Á´ÉôOK */ if (!*ExtensionRequest[i] || strcmp(ExtensionRequest[i], reqname)) { stat = -1; break; } } last: return SendType2Reply(client, wQueryExtensions, !EXTPROTO, stat); } /* checkPermissionToRead »ØÄꤷ¤¿ dirname¡¢dicname ¤ËÂФ·¤ÆÆÉ¤ß¹þ¤ß¸¢¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´ºº¤¹¤ë¡£ dicname ¤ËÂФ·¤Æ NULL ¤ò»ØÄꤹ¤ë¤È¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆÉ¤ß¹þ¤ß¸¢¤À¤±¤òÄ´ ºº¤¹¤ë¡£ return value: 0 ÆÉ¤á¤ë(¤¢¤ë¤¤¤Ï¥Á¥§¥Ã¥¯¤ÎɬÍפ¬¤Ê¤¤) -1 ÆÉ¤á¤Ê¤¤ */ int checkPermissionToRead(client, dirname, dicname) ClientPtr client; char *dirname, *dicname; { int check = 0, len = (int)0xdeadbeef; char *dp; if (*dirname) { int newcon; newcon = RkwCreateContext(); dp = dirname; while (!check && *dp) { if (!strncmp(dp, DDUSER, DDUSERLEN) && dp[DDUSERLEN] == '/') { len = strlen(client->username); if (strncmp(dp + DDUSERLEN + 1, client->username, len)) { check = 1; /* yes */ } else { len += DDUSERLEN + 1; } } else if (!strncmp(dp, DDGROUP, DDGROUPLEN) && dp[DDGROUPLEN] == '/') { if (!client->groupname || strncmp(dp + DDGROUPLEN + 1, client->groupname, (len = strlen(client->groupname)))) { check = 1; /* yes */ } else { len += DDGROUPLEN + 1; } } else if (strncmp(dp, DDPATH, DDPATHLEN)) { /* ¥·¥¹¥Æ¥à¼­½ñ¥Ç¥£¥ì¥¯¥È¥ê¤È¤â°ã¤¦¾ì¹ç */ check = 1; /* yes */ } else { len = DDPATHLEN; } if (!check && dp[len] && dp[len] != ':') { check = 1; } if (check && 0 <= newcon) { /* check permission */ if (RkwSetDicPath(newcon, dp) >= 0) { check = RkwChmodDic(newcon, (char *)0, RK_USR_DIR); if (check >= 0 && /* ¥Ç¥£¥ì¥¯¥È¥ê¤¬ÆÉ¤á¤ì¤Ð */ (check & (RK_ENABLE_READ | RK_DISABLE_READ)) == RK_ENABLE_READ) { if (!dicname || ((check = RkwChmodDic(newcon, dicname, 0)) >= 0 && (check & (RK_ENABLE_READ | RK_DISABLE_READ)) == RK_ENABLE_READ)) { check = 0; /* ok */ while (*dp && *dp != ':') { dp++; } if (*dp == ':') { dp++; } } } } } else { dp += len + (dp[len] ? 1 : 0); } } if (0 <= newcon) { RkwCloseContext(newcon); } } return check ? -1 : 0; } /* insertUserSla dirname ¤òÍ¿¤¨¤ë¤È¡¢user/ ¤ò³Æ¥Ç¥£¥ì¥¯¥È¥ê¤ËÁÞÆþ¤¹¤ë¥×¥í¥°¥é¥à "canna" ¤È¸À¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Ø¤·¤Æ¤Ï¥Õ¥ê¡¼¥Ñ¥¹¤È¤¹¤ë¡£ */ char * insertUserSla(dirname, dirlen) char *dirname; int dirlen; { int ncolon = 0; char *p, *q, *r, *s, *res; for (p = dirname ; *p ; p++) { if (*p == ':') { ncolon++; } } ncolon++; res = malloc((strlen(DDUSER) + 1) * ncolon + dirlen + 1); if (res) { for (p = dirname, q = res ; *p ;) { r = q; strcpy(q, DDUSER); q += DDUSERLEN; *q++ = '/'; s = q; while (*p && *p != ':') { *q++ = *p++; } *q = '\0'; if (!strcmp(DDPATH, s)) { strcpy(r, DDPATH); q = r + DDPATHLEN; } if (*p) { *q++ = *p++; } } } return res; } #ifdef EXTENSION static irw_list_dictionary( clientp ) ClientPtr *clientp ; { wReq18 *req = &Request.type18 ; ClientPtr client = *clientp ; char *dicnames = (char *)local_buffer ; char *dirname, *dirnamelong = (char *)0; int cxnum = Request.type18.context, stat = -1; int requestsize = Request.type18.size, retval; size_t datasize = Request.type18.datalen - SIZEOFSHORT * 2; if (datasize == 0 || req->data[datasize - 1] != 0) goto protoerr; if (validcontext(cxnum, client, wListDictionary)) { if (requestsize <= sizeof(local_buffer) || (dicnames = malloc(requestsize))) { dirname = req->data ; if (!dirname || dirname[0] != ':' || canna_version(client->version_hi, client->version_lo) < canna_version(3, 1)) { /* ÀΤΥץí¥È¥³¥ë¤Ç¤Ï¥Ç¥£¥ì¥¯¥È¥ê̾¤Ë user/ ¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤¤¤Î¤Ç ¤½¤ì¤ÎÂбþ(W_PROTO 3.0 °ÊÁ°) */ dirnamelong = insertUserSla(dirname, strlen(dirname)); if (dirnamelong) { dirname = dirnamelong; } else { goto listdicdone; } } else { dirname++; } /* °Ê²¼¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯ */ stat = ACCES; if (checkPermissionToRead(client, dirname, (char *)0) >= 0) { stat = RkwListDic(cxnum, (unsigned char *)dirname, (unsigned char *)dicnames, requestsize); } listdicdone: if (dirnamelong) { free(dirnamelong); } ir_debug( Dmsg(5, "¼­½ñ¥ê¥¹¥È\n") ); } } protoerr: retval = SendType6Reply(client, wListDictionary, EXTPROTO, stat, dicnames, namesize(dicnames, stat)); if (dicnames != (char *)local_buffer) free(dicnames); return retval; } static irw_create_dictionary( clientp ) ClientPtr *clientp ; { wReq15 *req = &Request.type15 ; ClientPtr client = *clientp ; int cxnum = Request.type15.context, stat = BADCONT; if (validcontext(cxnum, client, wCreateDictionary)) { ir_debug( Dmsg(5, "dicname = %s\n", (req->dicname)?req->dicname:null) ); stat = (char)RkwCreateDic(cxnum, (unsigned char *)req->dicname, req->mode); } return SendType2Reply(client, wCreateDictionary, EXTPROTO, stat); } static irw_chmod_dictionary( clientp ) ClientPtr *clientp; { wReq15 *req = &Request.type15; ClientPtr client = *clientp; int cxnum = Request.type15.context, stat = BADCONT; if (validcontext(cxnum, client, wChmodDictionary)) { ir_debug(Dmsg(5, "dicname = %s\n", (req->dicname) ? req->dicname : null)); stat = RkwChmodDic(cxnum, req->dicname, req->mode); } return SendType5Reply(client, wChmodDictionary, EXTPROTO, stat); } static irw_remove_dictionary( clientp ) ClientPtr *clientp ; { wReq15 *req = &Request.type15 ; ClientPtr client = *clientp ; int cxnum = Request.type15.context, stat = BADCONT; if (validcontext(cxnum, client, wDeleteDictionary)) { ir_debug( Dmsg(5, "dicname = %s\n", (req->dicname)?req->dicname:null) ); stat = (char)RkwRemoveDic(cxnum, (unsigned char *)req->dicname, req->mode); } return SendType2Reply(client, wDeleteDictionary, EXTPROTO, stat); } static irw_rename_dictionary( clientp ) ClientPtr *clientp ; { wReq15 *req = &Request.type15 ; ClientPtr client = *clientp ; int cxnum = Request.type15.context, diclen ; int stat = -1 ; if (validcontext(cxnum, client, wRenameDictionary)) { diclen = strlen(req->dicname) + 1 ; stat = RkwRenameDic(cxnum, (unsigned char *)req->dicname, (unsigned char *)&(req->dicname)[diclen], req->mode); } return SendType2Reply(client, wRenameDictionary, EXTPROTO, stat); } static irw_copy_dictionary( clientp ) ClientPtr *clientp; { wReq21 *req = &Request.type21; ClientPtr client = *clientp; int cxnum = Request.type21.context; int stat = -1; char *dir = req->dirname; if (validcontext(cxnum, client, wCopyDictionary)) { stat = ACCES; if (dir && *dir == ':') { dir++; /* ¤Ä¤±¤ë¤ä¤Ä¤¬¤¤¤ë¤Î¤Çǰ¤Î¤¿¤á */ } if (checkPermissionToRead(client, dir, req->srcdic) >= 0) { stat = RkwCopyDic(cxnum, dir, req->srcdic, req->dstdic, req->mode); } } return SendType2Reply(client, wCopyDictionary, EXTPROTO, stat); } static irw_get_word_text_dic( clientp ) ClientPtr *clientp ; { wReq18 *req = &Request.type18 ; ClientPtr client = *clientp ; Ushort *infobuf = (Ushort *)local_buffer ; char *dicname, *dirname, *dirnamelong = (char *)0; int cxnum = Request.type18.context, stat = BADCONT; int dirlen, requestsize = Request.type18.size, retval; size_t datasize = Request.type18.datalen - SIZEOFSHORT * 2; if (datasize == 0 || req->data[datasize - 1] != 0) goto protoerr; if (validcontext(cxnum, client, wGetWordTextDictionary)) { dirname = req->data ; dirlen = strlen(dirname) + 1 ; if (dirlen == datasize) goto protoerr; dicname = &(req->data[dirlen]) ; if (dirlen > 1) { if (!dirname || dirname[0] != ':' || canna_version(client->version_hi, client->version_lo) < canna_version(3, 1)) { /* ÀΤΥץí¥È¥³¥ë¤Ç¤Ï¥Ç¥£¥ì¥¯¥È¥ê̾¤Ë user/ ¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤¤¤Î¤Ç ¤½¤ì¤ÎÂбþ(W_PROTO 3.0 °ÊÁ°) */ dirnamelong = insertUserSla(dirname, dirlen); if (dirnamelong) { dirname = dirnamelong; } else { goto getworddone; } } else { dirname++; } } if (dicname[0]) { /* °Ê²¼¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯ */ /* ºÇ½é(dicname ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¤­)¤À¤±¥Á¥§¥Ã¥¯¤¹¤ë¡£ ºÇ½é¤¬Ä̤é¤Ê¤±¤ì¤Ð£²È¯ÌܰʹߤâÄ̤é¤Ê¤¤¤¿¤á */ if (checkPermissionToRead(client, dirname, dicname) < 0) { stat = ACCES; goto getworddone; } } if (requestsize <= sizeof(local_buffer) / sizeof(Ushort) || (infobuf = (Ushort *)malloc(requestsize * sizeof(Ushort)))) { stat = RkwGetWordTextDic(cxnum, (unsigned char *)dirname, (unsigned char *)dicname, infobuf, requestsize); } getworddone: if (dirnamelong) { free(dirnamelong); } } protoerr: retval = SendType7Reply(client, wGetWordTextDictionary, EXTPROTO, stat, stat > 0 ? stat + 1 : 0, infobuf); if (infobuf != (Ushort *)local_buffer) free((char *)infobuf); return retval; } static irw_server_stat( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp, who, *OutPut; int i, j, stat = 0, max_cx, majorv, minorv, curtime, retval, n; size_t count; OutPut = get_all_other_clients(client, &count); /* ¥µ¡¼¥Ð¥Ð¡¼¥¸¥ç¥ó */ majorv = CANNA_MAJOR_MINOR / 1000; minorv = CANNA_MAJOR_MINOR % 1000; /* ¸½ºß»þ¹ï */ curtime = time(NULL); /* ¥³¥ó¥Æ¥¯¥¹¥È¿ô(°ìÈÖÂ礭¤¤¥³¥ó¥Æ¥­¥¹¥È¤òÄ´¤Ù¤ë) */ max_cx = 0; for (i = 0 ; i < count ; i++) { int *contexts; who = OutPut[i]; contexts = who->context_flag; for (j = 0, n = who->ncon ; j < n ; j++) { if (max_cx < contexts[j]) { max_cx = contexts[j]; } } } max_cx++; max_cx += (max_cx % SIZEOFSHORT); /* ????? */ retval = SendType1Reply(client, wGetServerInfo, EXTPROTO, stat, majorv, minorv, curtime, W_REALREQUEST, WideProtoName, TotalWideRequestTypeCount + 1, count, max_cx, OutPut); if (OutPut) { free((char *)OutPut); } return retval; } static irw_host_ctl( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; char *hosts, *users, *endhosts; register ACLPtr wp ; register int i, len = 0, nhost; if( (nhost = NumberAccessControlList()) >= 0 ) { ir_debug( Dmsg(5, "¥Û¥¹¥È¥ê¥¹¥È\n") ); hosts = (char *)local_buffer; endhosts = hosts + sizeof(local_buffer); for( wp = ACLHead; wp != (ACLPtr)NULL; wp = wp->next ) { len = strlen((char *)wp->hostname) + 1; if (endhosts < hosts + len) { nhost = -1; len = 0; goto endhostctl; } strcpy(hosts, (char *)wp->hostname); hosts += len; users = (char *)wp->usernames; for( i = 0; i < wp->usercnt; i++ ) { len = strlen(users) + 1; if (endhosts < hosts + len) { nhost = -1; len = 0; goto endhostctl; } strcpy(hosts, users); hosts += len; users += len; } *hosts++ = '\0'; } len = hosts - (char *)local_buffer; } endhostctl: if (SendType6Reply(client, wGetAccessControlList, EXTPROTO, nhost, (char *)local_buffer, len) < 0) { return -1; } /* CloseDownClient( client ) ; */ /* *clientp = (ClientPtr)0; */ return( 0 ) ; } static irw_sync(clientp) ClientPtr *clientp; { wReq15 *req = &Request.type15 ; ClientPtr client = *clientp; int cxnum = req->context, stat = -1; if (validcontext(cxnum, client, wSync)) { stat = RkwSync(cxnum, req->dicname); } return SendType2Reply(client, wSync, EXTPROTO, stat); } #endif /* EXTENSION */ static irw_get_stat( clientp ) ClientPtr *clientp ; { int cxnum = Request.type7.context; int bunsetu = Request.type7.number; int kouho = Request.type7.yomilen; ClientPtr client = *clientp ; int retval = -1, len = 0; RkStat stat ; if (validcontext(cxnum, client, wGetStatus)) { RkwGoTo( cxnum, bunsetu ) ; RkwXfer( cxnum, kouho ) ; retval = RkwGetStat( cxnum, &stat ) ; if (retval >= 0) { len = sizeof(RkStat) / sizeof(int); } } return SendType4Reply(client, wGetStatus, !EXTPROTO, retval, len, (int *)&stat); } static irw_get_lex( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp; RkLex *lex = (RkLex *)local_buffer; int cxnum = Request.type9.context; int tangosu = -1, retval; if (validcontext(cxnum, client, wGetLex)) { if (Request.type9.max <= sizeof(local_buffer) / sizeof(RkLex) || (lex = (RkLex *)malloc((int)Request.type9.max * sizeof(RkLex)))) { RkwGoTo(cxnum, (int)Request.type9.number); RkwXfer(cxnum, (int)Request.type9.kouho); tangosu = RkwGetLex(cxnum, lex, (int)Request.type9.max); } } retval = SendType9Reply(client, wGetLex, !EXTPROTO, tangosu, (int)((tangosu > 0) ? tangosu * (sizeof(RkLex) / sizeof(int)) : 0), (int *)lex); if (lex != (RkLex *)local_buffer) free((char *)lex); return retval; } /* Ã༡ÊÑ´¹¤Ç»ÈÍѤ¹¤ë´Ø¿ô */ static irw_autoconv( clientp ) ClientPtr *clientp ; { wReq5 *req = &Request.type5 ; ClientPtr client = *clientp ; int cxnum = Request.type5.context, stat = -1 ; if (validcontext(cxnum, client, wAutoConvert)) { if( (stat = RkwBgnBun( cxnum, (Ushort *)NULL, (int)req->size, req->mode )) < 0 ) { PrintMsg( "%s kana-kanji convert failed\n", irwerrhdr(client, wAutoConvert)); } } return SendType2Reply(client, wAutoConvert, !EXTPROTO, stat); } static irw_subst_yomi( clientp ) ClientPtr *clientp ; { wReq4 *req = &Request.type4 ; ClientPtr client = *clientp ; int cxnum = Request.type4.context, ret, stat = -1, size = 0 ; Ushort *bufp = (Ushort *)local_buffer; if (validcontext(cxnum, client, wSubstYomi)) { ir_debug( Dmsg(5, "ÆÉ¤ß = %s\n", (req->yomi)?conveuc(req->yomi):null)); if( (ret = RkwSubstYomi(cxnum, (int)req->begin, (int)req->end, req->yomi, (int)req->yomilen)) < 0) { PrintMsg( "%s kana-kanji convert failed\n", irwerrhdr(client, wSubstYomi)); stat = ret ; } else { /* ºÇÍ¥Àè¸õÊä¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë */ size = GetFirstKouho(cxnum, 0, ret, &stat, (Ushort *)local_buffer, sizeof(local_buffer) / sizeof(Ushort), &bufp); } } ret = SendType7Reply(client, wSubstYomi, !EXTPROTO, stat, size, bufp); if (bufp != (Ushort *)local_buffer) free((char *)bufp); return ret; } static irw_flush_yomi( clientp ) ClientPtr *clientp ; { wReq10 *req = &Request.type10; ClientPtr client = *clientp ; int cxnum = Request.type10.context, len, i, ret, stat = -1, size = 0 ; Ushort *bufp = (Ushort *)local_buffer; if (validcontext(cxnum, client, wFlushYomi)) { len = req->number; if (len) { if( RkwGoTo( cxnum, 0 ) != 0 ) { PrintMsg("[%s](%s) irw_flush_yomi: RkwGoTo failed\n", client->username, WideProtoName[wFlushYomi - 1]); } ir_debug( Dmsg(10, "RK¤Ë¶µ¤¨¤ë¸õÊä\n") ); /* ¥«¥ì¥ó¥È¸õÊä¤òÀèÆ¬¤Ë°Üư */ /* ¥¯¥é¥¤¥¢¥ó¥È¤¬Áª¤ó¤À¸õÊä¤òRK¤ËÃΤ餻¤ë */ for( i = 0; i < len; i++ ){ if ((int)req->kouho[i] != RkwXfer(cxnum, (int)req->kouho[i])) { PrintMsg("%s irw_flush_yomi: RkwXfer failed\n", irwerrhdr(client, wFlushYomi)); } ir_debug( DebugDispKanji( cxnum, i ) ); if( RkwRight( cxnum ) == 0 && i != (len - 1) ) { PrintMsg("%s irw_flush_yomi: RkwRight failed\n", irwerrhdr(client, wFlushYomi)); } } ir_debug( Dmsg(5, "\n") ); } if( (ret = RkwFlushYomi( cxnum )) < 0 ) { PrintMsg( "%s kana-kanji convert failed\n", irwerrhdr(client, wFlushYomi)); stat = ret ; } else { /* ºÇÍ¥Àè¸õÊä¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë */ size = GetFirstKouho(cxnum, 0, ret, &stat, (Ushort *)local_buffer, sizeof(local_buffer) / sizeof(Ushort), &bufp); } } ret = SendType7Reply(client, wFlushYomi, !EXTPROTO, stat, size, bufp); if (bufp != (Ushort *)local_buffer) free((char *)bufp); return ret; } static irw_get_last_yomi( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; Ushort *yomi = (Ushort *)local_buffer ; int cxnum = Request.type3.context, maxyomi = Request.type3.buflen; int stat = -1, retval; if (validcontext(cxnum, client, wGetLastYomi)) { if (maxyomi <= sizeof(local_buffer) / sizeof(Ushort) || (yomi = (Ushort *)malloc(maxyomi * sizeof(Ushort)))) { ir_debug( Dmsg(5, "maxyomi [%d]\n", maxyomi) ); if( (stat = RkwGetLastYomi( cxnum, (Ushort *)yomi, maxyomi )) < 0 ) { PrintMsg( "%s kana-kanji convert failed\n", irwerrhdr(client, wGetLastYomi)); } else { /* ̤·èÄêʸÀá¤ÎÆÉ¤ß¤ò¼èÆÀ¤¹¤ë */ ir_debug(Dmsg(5, "̤·èʸÀá=%s\n", (yomi)?conveuc(yomi):null)); } } } retval = SendType7Reply(client, wGetLastYomi, !EXTPROTO, stat, stat > 0 ? stat + 1 : 0, yomi); if (yomi != (Ushort *)local_buffer) free((char *)yomi); return retval; } static irw_remove_yomi( clientp ) ClientPtr *clientp ; { wReq10 *req = &Request.type10 ; ClientPtr client = *clientp ; register int curbun, curkouho, i; int cxnum = Request.type10.context, maxbun, stat = -1; if (validcontext(cxnum, client, wRemoveYomi)) { maxbun = curbun = RkwGoTo(cxnum, (int)req->number); ir_debug( Dmsg(5, "³Ø½¬¤µ¤»¤ë¸õÊä\n") ); /* ¥«¥ì¥ó¥È¸õÊä¤òÀèÆ¬¤Ë°Üư¥¯¥é¥¤¥¢¥ó¥È¤¬Áª¤ó¤À¸õÊä¤ò */ /* £Ò£Ë¤ËÃΤ餻¤ë */ for( i = 0; !i || (curbun != maxbun); i++ ){ curkouho = req->kouho[curbun]; if( curkouho != RkwXfer( cxnum, curkouho ) ) { PrintMsg("%s irw_remove_yomi: RkwXfer failed\n", irwerrhdr(client, wRemoveYomi)); } ir_debug( DebugDispKanji( cxnum, curbun ) ); curbun = RkwRight( cxnum ); } ir_debug( Dmsg(5, "\n") ); stat = RkwRemoveBun( cxnum, req->mode ) ; } return SendType2Reply(client, wRemoveYomi, !EXTPROTO, stat); } static irw_get_simple_kanji( clientp ) ClientPtr *clientp; { wReq13 *req = &Request.type13; ClientPtr client = *clientp ; Ushort *kanjis = (Ushort *)local_buffer; int stat = -1, cxnum = Request.type13.context; int requiredsize, size = 0, retval, maxyomi; if (validcontext(cxnum, client, wGetSimpleKanji)) { requiredsize = Request.type13.kouhosize + Request.type13.hinshisize; if (requiredsize <= sizeof(local_buffer) / sizeof(Ushort) || (kanjis = (Ushort *)malloc(requiredsize * sizeof(Ushort)))) { ir_debug( Dmsg(5, "maxyomi [%d]\n", requiredsize) ); maxyomi = RKI_MIN( req->yomilen, ushortstrlen( req->yomi ) ) ; stat = RkwGetSimpleKanji(cxnum, req->dicname, req->yomi, maxyomi, kanjis, (int)Request.type13.kouhosize, kanjis + (int)Request.type13.kouhosize, (int)Request.type13.hinshisize); if (stat >= 0) { size = unamesize2(kanjis); bcopy(kanjis + (int)Request.type13.kouhosize, kanjis + size, size * sizeof(Ushort)); size += unamesize2(kanjis); size += SIZEOFSHORT; /* ºÇ½é¤Î¸õÊä¿ô¤ÎÉôʬ */ } } } retval = SendType7Reply(client, wGetSimpleKanji, !EXTPROTO, stat, size, kanjis); if (kanjis != (Ushort *)local_buffer) free((char *)kanjis); return retval; } static irw_query_dictionary( clientp ) ClientPtr *clientp ; { ClientPtr client = *clientp ; int cxnum = Request.type15.context, stat = -1; struct DicInfo *dicinfo = (struct DicInfo *)local_buffer; char *username, *usernamelong = (char *)0; int retval; /* S003 */ /* ¤³¤³¤«¤é */ if (client->version_hi > 2 && validcontext(cxnum, client, wQueryDictionary)) { dicinfo = (struct DicInfo *)malloc(sizeof(local_buffer)); if (dicinfo) { username = Request.type15.dicname + strlen(Request.type15.dicname) + 1; if (username[0] != ':' || canna_version(client->version_hi, client->version_lo) < canna_version(3, 1)) { /* ÀΤΥץí¥È¥³¥ë¤Ç¤Ï¥Ç¥£¥ì¥¯¥È¥ê̾¤Ë user/ ¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤¤¤Î¤Ç ¤½¤ì¤ÎÂбþ(W_PROTO 3.0 °ÊÁ°) */ usernamelong = insertUserSla(username, strlen(username)); if (usernamelong) { username = usernamelong; } else { goto querydicdone; } } else { username++; } /* ¤³¤³¤Þ¤Ç */ ir_debug( Dmsg(5, "dicname = %s\n", Request.type15.dicname) ); ir_debug( Dmsg(5, "username = %s\n", username) ); stat = (RkwQueryDic(cxnum, (unsigned char *)username, (unsigned char *)Request.type15.dicname, dicinfo) < 0) ? -1 : 0; if (stat < 0) { dicinfo->di_dic = dicinfo->di_file = (unsigned char *)""; } ir_debug(Dmsg(5, "dic = %s\n", dicinfo->di_dic)); ir_debug(Dmsg(5, "file = %s\n", dicinfo->di_file)); } else { dicinfo->di_dic = dicinfo->di_file = (unsigned char *)""; } querydicdone: if (usernamelong) { free(usernamelong); } ir_debug( Dmsg(5, "¼­½ñ¥ê¥¹¥È\n") ); } retval = SendType4XReply(client, wQueryDictionary, !EXTPROTO, stat, (char *)dicinfo->di_dic, (char *)dicinfo->di_file, (sizeof(struct DicInfo) - 2 * sizeof(char *)) / sizeof(int), (int *)&dicinfo->di_kind); if (dicinfo != (struct DicInfo *)local_buffer) free(dicinfo); return retval; } static irw_get_hinshi( clientp ) ClientPtr *clientp ; { wReq8 *req = &Request.type8 ; ClientPtr client = *clientp ; Ushort *dst = (Ushort *)local_buffer; int cxnum = Request.type8.context, retval; int stat = -1, requiredsize = Request.type8.size; if (validcontext(cxnum, client, wGetHinshi)) { if (requiredsize <= sizeof(local_buffer) / sizeof(Ushort) || (dst = (Ushort *)malloc(requiredsize * sizeof(Ushort)))) { ir_debug( Dmsg(5, "ÉÊ»ì¾ðÊó¤òÆÀ¤ë¸õÊä\n") ); RkwGoTo(cxnum, (int)req->curbun); if ((int)req->curkouho != RkwXfer(cxnum, (int)req->curkouho)) { PrintMsg("%s irw_get_hinshi: RkwXfer failed\n", irwerrhdr(client, wGetHinshi)); } stat = RkwGetHinshi(cxnum, dst, requiredsize); } } retval = SendType7Reply(client, wGetHinshi, !EXTPROTO, stat, stat > 0 ? stat + 1 : 0, dst); if (dst != (Ushort *)local_buffer) free((char *)dst); return retval; } static irw_store_range( clientp ) ClientPtr *clientp ; { wReq11 *req = &Request.type11 ; ClientPtr client = *clientp ; int cxnum = Request.type11.context, curbun, maxbun, maxyomi, stat ; int size = 0, ret = -1; Ushort *bufp = (Ushort *)local_buffer; if (validcontext(cxnum, client, wStoreRange)) { RkwGoTo( cxnum, 0 ); maxbun = RkwLeft( cxnum ) + 1; curbun = (int)req->curbun; RkwGoTo(cxnum, curbun); maxyomi = req->yomi ? ushortstrlen( req->yomi ) : 0; if ((ret = RkwStoreRange(cxnum, req->yomi, maxyomi)) < 0) { PrintMsg( "[%s](%s) kana-kanji convert failed\n", client->username, WideProtoName[wStoreRange - 1]); } else { /* ºÇÍ¥Àè¸õÊä¤ò¼èÆÀ¤¹¤ë */ size = GetFirstKouho(cxnum, curbun, maxbun, &stat, (Ushort *)local_buffer, sizeof(local_buffer) / sizeof(Ushort), &bufp); } } ret = SendType7Reply(client, wStoreRange, !EXTPROTO, stat, size, bufp); if (bufp != (Ushort *)local_buffer) free((char *)bufp); return ret; } static irw_set_locale( clientp ) ClientPtr *clientp ; { wReq15 *req = &Request.type15 ; ClientPtr client = *clientp ; int cxnum = Request.type15.context, stat = -1 ; if (validcontext(cxnum, client, wSetLocale)) { #if 0 stat = RkwSetLocale(cxnum, (unsigned char *)req->dicname); #else stat = 0; #endif } return SendType2Reply(client, wSetLocale, !EXTPROTO, stat); } static irw_set_app_name( clientp ) ClientPtr *clientp; { wReq15 *req = &Request.type15; ClientPtr client = *clientp; int cxnum = Request.type15.context, stat = -1; char *newname; if (validcontext(cxnum, client, wSetApplicationName)) { newname = malloc(strlen(req->dicname) + 1); if (newname) { strcpy(newname, req->dicname) ; if (client->clientname) { free( client->clientname ); } client->clientname = newname; stat = 0; } } return SendType2Reply(client, wSetApplicationName, !EXTPROTO, stat); } /* S000:begin */ static irw_notice_group_name(clientp) ClientPtr *clientp; { wReq15 *req = &Request.type15; ClientPtr client = *clientp; int cxnum = Request.type15.context, stat = -1; char *newname; ir_debug(Dmsg( 3,"group name = \"%s\"\n", req->dicname)); newname = malloc(strlen(req->dicname) + 1); if (newname) { strcpy(newname, req->dicname) ; if (client->groupname) { free(client->groupname); } client->groupname = newname; stat = 0; if (SetDicHome(client, cxnum) <= 0) { stat = -1; PrintMsg("%s Can't set dictionary home\n", irwerrhdr(client, wCreateContext)); } } return SendType2Reply(client, wNoticeGroupName, !EXTPROTO, stat); } /* S000:begin */ static irw_through( clientp ) ClientPtr *clientp; { ClientPtr client = *clientp; int cxnum = Request.type20.context, content_size, size = 0, stat = -1; int retval; char *buf = (char *)0; if (validcontext(cxnum, client, wThrough)) { buf = malloc((int)Request.type20.bufsize); if (buf) { content_size = Request.type20.datalen - (SIZEOFINT * 2 + SIZEOFSHORT); bcopy(Request.type20.buf, buf, content_size); stat = size = RkThrough(cxnum, Request.type20.command, buf, content_size, (int)Request.type20.bufsize); } } retval = SendType6Reply(client, wThrough, EXTPROTO, stat, buf, size); if (buf) free(buf); return retval; } /* S000:end */ /* * ¤â¤È¤â¤Èio.c¤ËÆþ¤ì¤¤¤Æ¤¤¤¿¤â¤Î¤ò¤³¤³¤«¤é²¼¤ËÃÖ¤¯ */ #define READ_SIZE 2048 #define SIZE4 4 /* sizeof( int ) */ #define SIZE8 8 #define TRY_COUNT 10 #define DATALEN_TOP (sizeof( char ) * 2) int parse_wide_request(request, data, len, username, hostname) int *request; BYTE *data; size_t len; const char *username; const char *hostname; { int (* ReqCallFunc)() ; BYTE *p = data; register wReq1 *req = &Request.type1 ; const char *username0 = username ? username : null; const char *hostname0 = hostname ? hostname : null; int nwant; ir_debug(Dmsg(5, "¥ï¥¤¥É¥×¥í¥È¥³¥ë¤Î¥ê¥¯¥¨¥¹¥È¤ò²òÀÏ, Ťµ=%d\n", len)); if (len < HEADER_SIZE) return HEADER_SIZE - len; req->type = *p++; req->none = *p++; req->datalen = S2TOS(p); nwant = HEADER_SIZE + req->datalen - len; if (nwant > 0) return nwant; ir_debug( Dmsg(10, "NewReadRequest:") ); ir_debug( DebugDump( 10, (char *)data, len ) ); ir_debug( Dmsg(5, "Client: <%s@%s> [0x%x:0x%x]\n", username0, hostname0, req->type, req->none)); if( ((req->type > W_REALREQUEST) && !(req->none)) || ( #ifdef EXTENSION (req->type > W_MAXEXTREQUESTNO) && #endif req->none) ) { PrintMsg( "[%s] Request error[%d]\n", username0, req->type ) ; return -1; } /* ¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥×Ëè¤Ë¥Ç¡¼¥¿¤ò¸Æ¤ó¤Ç¤¯¤ë´Ø¿ô¤ò¸Æ¤Ö */ #ifdef EXTENSION if( req->none ) { ir_debug( Dmsg(8, "Now Call EXTENSION\n") ); ReqCallFunc = ExtensionWideVector[req->type].extdat; CallFunc = ExtensionWideVector[req->type].func; } else #endif /* EXTENSION */ { ir_debug( Dmsg(8, "Now Call %s\n", DebugProcWide[req->type][1]) ); ReqCallFunc = WideVector[req->type].extdat; CallFunc = WideVector[req->type].func; } if ((* ReqCallFunc)(data) < 0) { PrintMsg( "[%s] Read Data failed\n", username0 ) ; return -1; } /* ¥×¥í¥È¥³¥ë¤Î¼ïÎàËè¤ËÅý·×¤ò¼è¤ë */ #ifdef EXTENSION if( req->type < (unsigned)W_MAXREQUESTNO ) #endif TotalWideRequestTypeCount[ req->type ] ++ ; #ifdef DEBUG if (req->none) CallFuncName = ExtensionRequest[req->type - 1]; else CallFuncName = DebugProcWide[req->type][0]; #endif *request = req->type; return 0; } static int ProcWideReq0(buf) BYTE *buf ; /* ARGSUSED */ { ir_debug( Dmsg(10, "ProcWideReq0(error case) start!!\n") ); return( 0 ) ; } static ProcWideReq1(buf) BYTE *buf ; /* ARGSUSED */ { ir_debug( Dmsg(10, "ProcWideReq1 start!!\n") ); if (Request.type1.datalen != 0) return( -1 ); return( 0 ) ; } static ProcWideReq2(buf) BYTE *buf ; { ir_debug( Dmsg(10, "ProcWideReq2 start!!\n") ); if (Request.type2.datalen != SIZEOFSHORT) return( -1 ); buf += HEADER_SIZE; Request.type2.context = S2TOS(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type2.context) ); return( 0 ) ; } static ProcWideReq3(buf) BYTE *buf ; { ir_debug( Dmsg(10, "ProcWideReq3 start!!\n") ); if (Request.type3.datalen != SIZEOFSHORT * 2) return( -1 ); buf += HEADER_SIZE; Request.type3.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type3.buflen = S2TOS(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type3.context) ); ir_debug( Dmsg(10, "req->buflen =%d\n", Request.type3.buflen) ); return( 0 ) ; } static ProcWideReq4(buf) BYTE *buf ; { register Ushort *data; int i, len ; ir_debug( Dmsg(10, "ProcWideReq4 start!!\n") ); if (Request.type4.datalen < SIZEOFSHORT * 4) return( -1 ); buf += HEADER_SIZE; Request.type4.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type4.begin = S2TOS(buf); buf += SIZEOFSHORT; Request.type4.end = S2TOS(buf); buf += SIZEOFSHORT; Request.type4.yomilen = S2TOS(buf); Request.type4.yomi = (Ushort *)(buf += SIZEOFSHORT) ; len = Request.type4.yomilen + 1; if (Request.type4.datalen != SIZEOFSHORT * (4 + len) || len == 0 || Request.type4.yomi[len - 1] != 0) return( -1 ); for (data = Request.type4.yomi, i = 0; i < len; i++, data++) *data = ntohs((unsigned short)*data); /* ¤Á¤ç¤Ã¤È¤ä¤À¤Ê¤¢ */ ir_debug( Dmsg(10, "req->context =%d\n", Request.type4.context) ); ir_debug( Dmsg(10, "req->begin =%d\n", Request.type4.begin) ); ir_debug( Dmsg(10, "req->end =%d\n", Request.type4.end) ); ir_debug( Dmsg(10, "req->yomilen =%d\n", Request.type4.yomilen) ); ir_debug( Dmsg(10, "req->yomi =%s\n", (Request.type4.yomi)?conveuc(Request.type4.yomi): null) ); return( 0 ) ; } static ProcWideReq5(buf) BYTE *buf ; { ir_debug( Dmsg(10, "ProcWideReq5 start!!\n") ); if (Request.type5.datalen != SIZEOFSHORT * 2 + SIZEOFINT) return( -1 ); buf += HEADER_SIZE; Request.type5.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type5.size = S2TOS(buf); buf += SIZEOFSHORT; Request.type5.mode = L4TOL(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type5.context) ); ir_debug( Dmsg(10, "req->size =%d\n", Request.type5.size) ); ir_debug( Dmsg(10, "req->mode =%d\n", Request.type5.mode) ); return( 0 ) ; } /* S000:begin */ static ProcWideReq6(buf) BYTE *buf ; { ir_debug( Dmsg(10, "ProcWideReq6 start!!\n") ); if (Request.type6.datalen != SIZEOFSHORT * 3) return( -1 ); buf += HEADER_SIZE; Request.type6.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type6.number = S2TOS(buf); buf += SIZEOFSHORT; Request.type6.buflen = S2TOS(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type6.context) ); ir_debug( Dmsg(10, "req->number =%d\n", Request.type6.number) ); ir_debug( Dmsg(10, "req->buflen =%d\n", Request.type6.buflen) ); return( 0 ) ; } static ProcWideReq7(buf) BYTE *buf ; { ir_debug( Dmsg(10, "ProcWideReq7 start!!\n") ); if (Request.type7.datalen != SIZEOFSHORT * 3) return( -1 ); buf += HEADER_SIZE; Request.type7.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type7.number = S2TOS(buf); buf += SIZEOFSHORT; Request.type7.yomilen = (short)S2TOS(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type7.context) ); ir_debug( Dmsg(10, "req->number =%d\n", Request.type7.number) ); ir_debug( Dmsg(10, "req->yomilen =%d\n", Request.type7.yomilen) ); return( 0 ) ; } static ProcWideReq8(buf) BYTE *buf ; { ir_debug( Dmsg(10, "ProcWideReq8 start!!\n") ); if (Request.type8.datalen != SIZEOFSHORT * 4) return( -1 ); buf += HEADER_SIZE; Request.type8.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type8.curbun = S2TOS(buf); buf += SIZEOFSHORT; Request.type8.curkouho = S2TOS(buf); buf += SIZEOFSHORT; Request.type8.size = S2TOS(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type8.context) ); ir_debug( Dmsg(10, "req->curbun =%d\n", Request.type8.curbun) ); ir_debug( Dmsg(10, "req->curkouho =%d\n", Request.type8.curkouho) ); ir_debug( Dmsg(10, "req->size =%d\n", Request.type8.size) ); return( 0 ) ; } static ProcWideReq9(buf) BYTE *buf ; { ir_debug( Dmsg(10, "ProcWideReq9 start!!\n") ); if (Request.type9.datalen != SIZEOFSHORT * 4) return( -1 ); buf += HEADER_SIZE; Request.type9.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type9.number = S2TOS(buf); buf += SIZEOFSHORT; Request.type9.kouho = S2TOS(buf); buf += SIZEOFSHORT; Request.type9.max = S2TOS(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type9.context) ); ir_debug( Dmsg(10, "req->number =%d\n", Request.type9.number) ); ir_debug( Dmsg(10, "req->kouho =%d\n", Request.type9.kouho) ); ir_debug( Dmsg(10, "req->max =%d\n", Request.type9.max) ); return( 0 ) ; } static ProcWideReq10(buf) BYTE *buf ; { register int i ; int rest; ir_debug( Dmsg(10, "ProcWideReq10 start!!\n") ); rest = Request.type10.datalen - (SIZEOFSHORT * 2 + SIZEOFINT); if (rest < 0) return( -1 ); buf += HEADER_SIZE; Request.type10.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type10.number = S2TOS(buf); buf += SIZEOFSHORT; Request.type10.mode = L4TOL(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type10.context) ); ir_debug( Dmsg(10, "req->number =%d\n", Request.type10.number) ); ir_debug( Dmsg(10, "req->mode =%d\n", Request.type10.mode) ); if (rest != Request.type10.number * SIZEOFSHORT) return( -1 ); buf += SIZEOFINT; Request.type10.kouho = (short *)buf; /* short? */ for (i = 0; i < Request.type10.number; i++) { Request.type10.kouho[i] = S2TOS(buf); buf += SIZEOFSHORT; ir_debug(Dmsg(10, "req->kouho =%d\n", Request.type10.kouho[i])); } return( 0 ) ; } static ProcWideReq11(buf) BYTE *buf ; { register Ushort *data; int i, len ; ir_debug( Dmsg(10, "ProcWideReq11 start!!\n") ); if (Request.type11.datalen < SIZEOFSHORT * 2 || Request.type11.datalen % SIZEOFSHORT != 0 ) return( -1 ); buf += HEADER_SIZE; Request.type11.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type11.curbun = S2TOS(buf); buf += SIZEOFSHORT; Request.type11.yomi = (Ushort *)buf; len = ((int)Request.type11.datalen - SIZEOFSHORT * 2) / SIZEOFSHORT ; /* * XXX: º£¤Î¤È¤³¤í¡¢RkwStoreYomi¤Ç¶õ¤Î¥Ç¡¼¥¿¤¬Á÷¤é¤ì¤ë°Ê³°¤Ç¡¢¤³¤Î * ¥ê¥¯¥¨¥¹¥È¤Ïȯ¹Ô¤µ¤ì¤Ê¤¤¡£¤È¤ê¤¢¤¨¤º¡¢Ä¹¤µ0¤Î¾ì¹ç¤ÏÀµÅö¤Ê¥ê¥¯¥¨¥¹¥È¤È * ¤ß¤Ê¤·¡¢¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¥Ì¥ë½ªÃ¼¤òÍ׵᤹¤ë¡£ 2003.01.05 aida_s */ if (len) { if (Request.type11.yomi[len - 1] != 0) return( -1 ); for (data = Request.type11.yomi, i = 0; i < len; i++, data++) *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */ } else { Request.type11.yomi = NULL; } ir_debug( Dmsg(10, "req->context =%d\n", Request.type11.context) ); ir_debug( Dmsg(10, "req->curbun =%d\n", Request.type11.curbun) ); ir_debug( Dmsg(10, "req->yomi =%s\n", (Request.type11.yomi)?conveuc(Request.type11.yomi): null)); return( 0 ) ; } static ProcWideReq12(buf) BYTE *buf ; { register Ushort *data; int i, len, rest; ir_debug( Dmsg(10, "ProcWideReq12 start!!\n") ); rest = Request.type12.datalen - SIZEOFSHORT; if (rest < 0) return( -1 ); buf += HEADER_SIZE; Request.type12.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type12.datainfo = (Ushort *)buf; if (!ushortmemchr((Ushort *)buf, 0, rest / SIZEOFSHORT)) return( -1 ); len = ushortstrlen((Ushort *)buf) + 1; rest -= len * SIZEOFSHORT; if (rest <= 0) return( -1 ); for( data = Request.type12.datainfo, i = 0; i < len; i++, data++ ) *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */ buf += len * SIZEOFSHORT; if (buf[rest - 1] != '\0') return( -1 ); Request.type12.dicname = (char *)buf; ir_debug( Dmsg(10, "req->context =%d\n", Request.type12.context) ); ir_debug( Dmsg(10, "req->datainfo =%s\n", (Request.type12.datainfo)? conveuc(Request.type12.datainfo): null)); ir_debug( Dmsg(10, "req->dicname =%s\n", (Request.type12.dicname)?Request.type12.dicname:null) ); return( 0 ) ; } static ProcWideReq13(buf) BYTE *buf ; { register Ushort *data; int i ,len, rest; ir_debug( Dmsg(10, "ProcWideReq13 start!!\n") ); rest = Request.type13.datalen - SIZEOFSHORT; if (rest < 0) return( -1 ); buf += HEADER_SIZE; Request.type13.context = S2TOS(buf); len = SIZEOFSHORT ; buf += len; Request.type13.dicname = (char *)buf; if (!memchr(buf, 0, rest)) return( -1 ); len = strlen( (char *)buf ) + 1; rest -= len; if (rest % SIZEOFSHORT || rest < SIZEOFSHORT * 3) return( -1 ); buf += len; Request.type13.yomi = (Ushort *)buf; len = ((int)Request.type13.datalen - len - SIZEOFSHORT * 4) / SIZEOFSHORT; if (ushortmemchr((Ushort *)buf, 0, len) != (Ushort *)buf + len - 1) return( -1 ); for( data = Request.type13.yomi, i = 0; i < len; i++, data++) *data = ntohs( *data ); buf += len * SIZEOFSHORT; Request.type13.yomilen = S2TOS(buf); buf += SIZEOFSHORT; Request.type13.kouhosize = S2TOS(buf); buf += SIZEOFSHORT; Request.type13.hinshisize = S2TOS(buf); if (Request.type13.yomilen != len - 1) return( -1 ); ir_debug( Dmsg(10, "req->context =%d\n", Request.type13.context) ); ir_debug( Dmsg(10, "req->dicname =%s\n", Request.type13.dicname) ); ir_debug( Dmsg(10, "req->yomi =%s\n", (Request.type13.yomi)?conveuc(Request.type13.yomi): null)); ir_debug( Dmsg(10, "req->yomilen =%d\n", Request.type13.yomilen) ); ir_debug( Dmsg(10, "req->kouhosize =%d\n", Request.type13.kouhosize) ); ir_debug( Dmsg(10, "req->hinshisize =%d\n", Request.type13.hinshisize) ); return( 0 ) ; } static ProcWideReq14(buf) BYTE *buf ; { register Ushort *data; int i, len ; ir_debug( Dmsg(10, "ProcWideReq14 start!!\n") ); if (Request.type14.datalen <= SIZEOFINT + SIZEOFSHORT || Request.type14.datalen % SIZEOFSHORT) return( -1 ); buf += HEADER_SIZE; Request.type14.mode = L4TOL(buf); buf += SIZEOFINT; Request.type14.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type14.yomi = (Ushort *)buf; len = ((int)Request.type14.datalen - SIZEOFSHORT - SIZEOFINT) / SIZEOFSHORT; if (Request.type14.yomi[len - 1] != 0) return( -1 ); for (data = Request.type14.yomi, i = 0; i < len; i++, data++) *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */ ir_debug( Dmsg(10, "req->mode =%d\n", Request.type14.mode) ); ir_debug( Dmsg(10, "req->context =%d\n", Request.type14.context) ); ir_debug( Dmsg(10, "req->yomi =%s\n", (Request.type14.yomi)?conveuc(Request.type14.yomi): null)); return( 0 ) ; } static ProcWideReq15(buf) BYTE *buf ; { int rest; ir_debug( Dmsg(10, "ProcWideReq15 start!!\n") ); rest = Request.type15.datalen - (SIZEOFINT + SIZEOFSHORT); if (rest <= 0) return( -1 ); buf += HEADER_SIZE; Request.type15.mode = L4TOL(buf); buf += SIZEOFINT; Request.type15.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type15.dicname = (char *)buf; if (buf[rest - 1] != 0) return( -1 ); ir_debug( Dmsg(10, "req->mode =%d\n", Request.type15.mode) ); ir_debug( Dmsg(10, "req->context =%d\n", Request.type15.context) ); ir_debug( Dmsg(10, "req->dicname =%s\n", (Request.type15.dicname)?Request.type15.dicname:null) ); return( 0 ) ; } static ProcWideReq17(buf) BYTE *buf ; { char *p; size_t len; ir_debug( Dmsg(10, "ProcWideReq17 start!!\n") ); buf += HEADER_SIZE; p = Request.type17.extensions = (char *)buf; if (Request.type17.datalen < SIZEOFCHAR * 3 || Request.type17.extensions[Request.type17.datalen - 2] != 0 || Request.type17.extensions[Request.type17.datalen - 3] != 0) return( -1 ); while ((len = strlen(p)) != 0) p += len + 1; if (p != Request.type17.extensions + Request.type17.datalen - 2) return( -1 ); /* * ºÇ¸å¤Î1¥Ð¥¤¥È¤Ï»È¤ï¤ì¤Æ¤¤¤Ê¤¤¡£°ÊÁ°¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷¤ëÃÍ¤Ï * ÉÔÄê¤Ç¤¢¤ë(ÉÔÀµ¤ÊÀÅŪÎΰè¤òÆÉ¤ó¤Ç¤¤¤ë)¡£¸½ºß¤Ï0¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ */ Request.type17.ch = Request.type17.extensions[Request.type17.datalen - 1]; ir_debug( Dmsg(10, "req->extensions =%s...\n", (Request.type17.datalen)?Request.type17.extensions:null) ); ir_debug( Dmsg(10, "req->ch =%c\n", Request.type17.ch) ); return( 0 ) ; } #ifdef EXTENSION static ProcWideReq18(buf) BYTE *buf ; { ir_debug( Dmsg(10, "ProcWideReq18 start!!\n") ); if (Request.type18.datalen < SIZEOFSHORT * 2) return( -1 ); buf += HEADER_SIZE; Request.type18.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type18.data = (char *)buf; buf += Request.type18.datalen - SIZEOFSHORT * 2; Request.type18.size = S2TOS(buf); ir_debug( Dmsg(10, "req->context =%d\n", Request.type18.context) ); ir_debug( Dmsg(10, "req->data =%s\n", (Request.type18.data)?Request.type18.data:null) ); ir_debug( Dmsg(10, "req->size =%d\n", Request.type18.size) ); return( 0 ) ; } #endif /* EXTENSION */ static ProcWideReq19(buf) BYTE *buf ; { int rest; ir_debug( Dmsg(10, "ProcWideReq19 start!!\n") ); rest = Request.type20.datalen - (SIZEOFSHORT + SIZEOFINT * 2); if (rest < 0) return( -1 ); buf += HEADER_SIZE; Request.type20.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type20.command = L4TOL(buf); buf += SIZEOFINT; Request.type20.bufsize = L4TOL(buf); buf += SIZEOFINT; Request.type20.buf = (char *)buf; if (Request.type20.bufsize != rest) return( -1 ); ir_debug( Dmsg(10, "req->context =%d\n", Request.type20.context) ); ir_debug( Dmsg(10, "req->command =%d\n", Request.type20.command) ); ir_debug( Dmsg(10, "req->bufsize =%d\n", Request.type20.bufsize) ); return( 0 ) ; } /* S000:end */ /* Copy Dic ¤Î¤¿¤á */ static ProcWideReq20(buf) BYTE *buf ; { BYTE *bufend; ir_debug( Dmsg(10, "ProcWideReq20 start!!\n") ); if (Request.type21.datalen < SIZEOFINT + SIZEOFSHORT) return( -1 ); buf += HEADER_SIZE; Request.type21.mode = L4TOL(buf); bufend = buf + Request.type21.datalen; buf += SIZEOFINT; Request.type21.context = S2TOS(buf); buf += SIZEOFSHORT; Request.type21.dirname = (char *)buf; if (!memchr(buf, 0, bufend - buf)) return( -1 ); buf += strlen((char *)buf) + 1; Request.type21.srcdic = (char *)buf; if (!memchr(buf, 0, bufend - buf)) return( -1 ); buf += strlen((char *)buf) + 1; Request.type21.dstdic = (char *)buf; if (*(bufend - 1) != 0) return( -1 ); ir_debug( Dmsg(10, "req->mode =%d\n", Request.type21.mode) ); ir_debug( Dmsg(10, "req->context =%d\n", Request.type21.context) ); ir_debug( Dmsg(10, "req->dirname =%s\n", (Request.type21.dirname)?Request.type21.dirname:null) ); ir_debug( Dmsg(10, "req->srcdic =%s\n", (Request.type21.srcdic)?Request.type21.srcdic:null) ); ir_debug( Dmsg(10, "req->dstdic =%s\n", (Request.type21.dstdic)?Request.type21.dstdic:null) ); return( 0 ) ; } /* ¤³¤³¤Þ¤Ç */ #ifdef WIDE_PROTO RkwSubstYomi( cxnum, ys, ye, yomi, nyomi ) int cxnum, ys, ye, nyomi; Ushort *yomi; { RkwEndBun( cxnum, 0 ); return( RkwBgnBun( cxnum, yomi, nyomi, 0) ); } RkwFlushYomi( cxnum ) int cxnum; { RkwEndBun( cxnum, 0 ); return( RkwBgnBun( cxnum, "¥Õ¥é¥Ã¥·¥åÆÉ¤ß", 14, 0) ); } RkwGetLastYomi( cxnum, yomi, maxyomi ) int cxnum, maxyomi; Ushort *yomi ; { return( euc2ushort("̤·èʸÀá", 8, yomi, maxyomi) ); } RkwRemoveBun( cxnum, mode ) int cxnum, mode; { return( 0 ); } #if 0 RkwSetLocale( cxnum, locale ) int cxnum; char *locale; { return( 0 ); } #endif static unsigned char kouho[] = "¥Æ¥¹¥È¸õÊä"; static unsigned char hinshi[] = "#T35 ¥Æ¥¹¥ÈÉÊ»ì"; int RkwGetSimpleKanji( cxnum, dicname, yomi, maxyomi, kanjis, maxkanjis, hinshis, maxhinshis ) int cxnum, maxyomi, maxkanjis, maxhinshis; char *dicname; Ushort *yomi, *kanjis, *hinshis; { Dmsg( 5,"RkwGetSimpleKanji( %d, %s, %s, %d, kanjis, %d, hinshis, %d )\n", cxnum, dicname, conveuc(yomi), maxyomi, maxkanjis, maxhinshis ); euc2ushort( kouho, strlen( kouho ), kanjis, maxkanjis ) ; euc2ushort( hinshi, strlen( hinshi ), hinshis, maxhinshis ) ; return( 1 ) ; } /* * ¤³¤Î´Ø¿ô¤Ï²¿¤À¡©¤Þ¤È¤â¤Ëư¤«¤Ê¤¤¤è¤¦¤À¤¬¡¢ËÜÍè¤Î°Õ¿Þ¤Ï¡© * 2003.09.21 aida_s */ #if 0 #ifdef pcux_r32 struct DicInfo * #endif /* pcux_r32 */ RkwQueryDic( cxnum, dicname, status ) int cxnum; char *dicname; struct DicInfo *status; { ir_debug( Dmsg(5, "RkwQueryDic( %d, %s, status )\n", cxnum, dicname) ); return( status ) ; } #endif int RkwGetHinshi( cxnum, dst, maxdst ) int cxnum, maxdst; Ushort *dst; { ir_debug( Dmsg(5, "RkwGetHinshi( %d, dst, %d )\n", cxnum, maxdst) ); euc2ushort( "#T35 ¥Æ¥¹¥È", strlen("#T35 ¥Æ¥¹¥È"), dst, maxdst ) ; return( 0 ) ; } int RkwStoreRange( cxnum, yomi, maxyomi ) int cxnum, maxyomi; Ushort *yomi; { ir_debug( Dmsg(5, "RkwStoreRange( %d, yomi, %d )\n", cxnum, maxyomi) ); return( 0 ) ; } #endif /* WIDE_PROTO */ #ifdef DEBUG static char * conveuc(src) Ushort *src; { static char dest[CBUFSIZE]; ushort2euc(src, ushortstrlen(src), dest, CBUFSIZE); return(dest); } #endif /* DEBUG */ /* S000:begin */ /* #ifdef DEBUG_TOOL */ static int RkThrough( cx, command, buf, content_size, buffer_size ) int cx, command, content_size, buffer_size; char *buf; /* ARGSUSED */ { int i; for( i = 0; i < content_size; i++ ) buf[i]++; ir_debug( Dmsg(5, "RkThrough: %d\n", content_size) ); return( content_size ); } /* #endif *//* DEBUG_TOOL */ /* S000:end */ const reqproc WideVector[] = { /* 0x00 */ { ir_error, ProcWideReq0 }, /* 0x01 */ { ir_error /* hack */, ProcWideReq0 }, /* 0x02 */ { irw_finalize, ProcWideReq1 }, /* 0x03 */ { irw_create_context, ProcWideReq1 }, /* 0x04 */ { irw_duplicate_context, ProcWideReq2 }, /* 0x05 */ { irw_close_context, ProcWideReq2 }, /* 0x06 */ { irw_dictionary_list, ProcWideReq3 }, /* 0x07 */ { irw_get_dir_list, ProcWideReq3 }, /* 0x08 */ { irw_mount_dictionary, ProcWideReq15 }, /* 0x09 */ { irw_umount_dictionary, ProcWideReq15 }, /* 0x0a */ { irw_rmount_dictionary, ProcWideReq15 }, /* 0x0b */ { irw_mount_list, ProcWideReq3 }, /* 0x0c */ { irw_query_dictionary, ProcWideReq15 }, /* 0x0d */ { irw_define_dic, ProcWideReq12 }, /* 0x0e */ { irw_delete_dic, ProcWideReq12 }, /* 0x0f */ { irw_convert, ProcWideReq14 }, /* 0x10 */ { irw_convert_end, ProcWideReq10 }, /* 0x11 */ { irw_get_kanjilist, ProcWideReq6 }, /* 0x12 */ { irw_get_yomi, ProcWideReq6 }, /* 0x13 */ { irw_subst_yomi, ProcWideReq4 }, /* 0x14 */ { irw_store_yomi, ProcWideReq11 }, /* 0x15 */ { irw_store_range, ProcWideReq11 }, /* 0x16 */ { irw_get_last_yomi, ProcWideReq3 }, /* 0x17 */ { irw_flush_yomi, ProcWideReq10 }, /* 0x18 */ { irw_remove_yomi, ProcWideReq10 }, /* 0x19 */ { irw_get_simple_kanji, ProcWideReq13 }, /* 0x1a */ { irw_resize, ProcWideReq7 }, /* 0x1b */ { irw_get_hinshi, ProcWideReq8 }, /* 0x1c */ { irw_get_lex, ProcWideReq9 }, /* 0x1d */ { irw_get_stat, ProcWideReq7 }, /* 0x1e */ { irw_set_locale, ProcWideReq15 }, /* 0x1f */ { irw_autoconv, ProcWideReq5 }, /* 0x20 */ { irw_query_extension, ProcWideReq17 }, /* 0x21 */ { irw_set_app_name, ProcWideReq15 }, /* 0x22 */ { irw_notice_group_name, ProcWideReq15 }, /* 0x23 */ { irw_through, ProcWideReq19 }, /* S000 */ /* 0x24 */ { irw_killserver, ProcWideReq1 }, } ; const char *ExtensionRequest[] = { /* Request Name */ #ifdef EXTENSION /* * GetServerInfo¤«¤éCopyDictioinary¤Þ¤Ç¤Ï¡¢½¾Íè¤Î¥¯¥é¥¤¥¢¥ó¥È¤ä * ¥³¥Þ¥ó¥ÉÎब¤³¤Î½çÈÖ¤ò²¾Äꤷ¤Æ¤¤¤ë¤Î¤Ç¡¢ÊѤ¨¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ */ "GetServerInfo", /* 0x01 */ "GetAccessControlList", /* 0x02 */ "CreateDictioinary", /* 0x03 */ "DeleteDictioinary", /* 0x04 */ "RenameDictioinary", /* 0x05 */ "GetWordTextDictioinary", /* 0x06 */ "ListDictioinary", /* 0x07 */ "Sync", /* 0x08 */ "ChmodDictioinary", /* 0x09 */ "CopyDictioinary", /* 0x0a */ #endif /* EXTENSION */ "" } ; #ifdef EXTENSION const reqproc ExtensionWideVector[] = { /* 0x00 */ { ir_error, ProcWideReq0 }, /* 0x01 */ { irw_server_stat, ProcWideReq1 }, /* 0x02 */ { irw_host_ctl, ProcWideReq1 }, /* 0x03 */ { irw_create_dictionary, ProcWideReq15 }, /* 0x04 */ { irw_remove_dictionary, ProcWideReq15 }, /* 0x05 */ { irw_rename_dictionary, ProcWideReq15 }, /* 0x06 */ { irw_get_word_text_dic, ProcWideReq18 }, /* 0x07 */ { irw_list_dictionary, ProcWideReq18 }, /* 0x08 */ { irw_sync, ProcWideReq15 }, /* 0x09 */ { irw_chmod_dictionary, ProcWideReq15 }, /* 0x0a */ { irw_copy_dictionary, ProcWideReq20 }, } ; #endif /* EXTENSION */ const char *WideProtoName[] = { "Initialize", "Finalize", "CreateContext", "DupricateContext", "CloseContext", "GetDictionaryList", "GetDirectoryList", "MountDictionary", "UnmountDictionary", "RemountDictionary", "GetMountDictionaryList", "QueryDictionary", "DefineWord", "DeleteWord", "BeginConvert", "EndConvert", "GetCandidacyList", "GetYomi", "SubstYomi", "StoreYomi", "StoreRange", "GetLastYomi", "FlushYomi", "RemoveYomi", "GetSimpleKanji", "ResizePause", "GetHinshi", "GetLex", "GetStatus", "SetLocale", "AutoConvert", "QueryExtensions", "SetApplicationName", "NoticeGroupName", "Through", /* S000 */ "KillServer" } ; #ifdef DEBUG const char *DebugProcWide[][2] = { { "ir_null", "ProcReq0" } , { "ir_initialize", "ProcReq0" }, { "irw_finalize", "ProcReq1" }, { "irw_create_context", "ProcReq1" }, { "irw_duplicate_context", "ProcReq2" }, { "irw_close_context", "ProcReq2" }, { "irw_dictionary_list", "ProcReq3" }, { "irw_get_dir_list", "ProcReq3" }, { "irw_mount_dictionary", "ProcReq15" }, { "irw_umount_dictionary", "ProcReq15" }, { "irw_rmount_dictionary", "ProcReq15" }, { "irw_mount_list", "ProcReq3" }, { "irw_query_dictionary", "ProcReq15" }, { "irw_define_dic", "ProcReq12" }, { "irw_delete_dic", "ProcReq12" }, { "irw_convert", "ProcReq14" }, { "irw_convert_end", "ProcReq10" }, { "irw_get_kanjilist", "ProcReq6" }, { "irw_get_yomi", "ProcReq6" }, { "irw_subst_yomi", "ProcReq4" }, { "irw_store_yomi", "ProcReq11" }, { "irw_store_range", "ProcReq11" }, { "irw_get_last_yomi", "ProcReq3" }, { "irw_flush_yomi", "ProcReq10" }, { "irw_remove_yomi", "ProcReq10" }, { "irw_get_simple_kanji", "ProcReq13" }, { "irw_resize", "ProcReq7" }, { "irw_get_hinshi", "ProcReq8" }, { "irw_get_lex", "ProcReq9" }, { "irw_get_stat", "ProcReq7" }, { "irw_set_locale", "ProcReq15" }, { "irw_autoconv", "ProcReq5" }, { "irw_query_extension", "ProcReq17" }, { "irw_set_app_name", "ProcReq15" }, { "irw_notice_group_name", "ProcReq15" }, { "irw_through", "ProcReq19" }, /* S000 */ { "irw_killserver", "ProcReq1" } } ; #endif /* ¤ª¤Ü¤¨½ñ¤­ ¡¦¥³¥ó¥Æ¥­¥¹¥È¤Î³Îǧ½èÍý¤Ï¤¤¤é¤Ê¤¤¤ó¤¸¤ã¤Ê¤¤¤Î¡©¤¢¤ë¤¤¤Ï´Ö°ã¤Ã¤Æ¤¤¤ë»þ¤Ï BADCONT ¤òÊÖ¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¤Î¡© */ Canna37p3/WHATIS0100644000076500001200000000335507554213560012604 0ustar shinraadmin---------------------- What is Canna? Canna is a Japanese input system available in Free Software. Canna provides a unified user interface for inputing Japanese. Canna supports Nemacs(Mule), kinput2 and canuum. All of these tools can be used by a single customization file, romaji-to-kana conversion rules and conversion dictionaries, and input Japanese in the same way. Canna converts kana to kanji based on a client-server model and supports automatic kana-to-kanji conversion. ---------------------- /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ ($Id: WHATIS,v 1.1.1.1 2002/10/19 08:27:28 aida_s Exp $) Canna37p3/WHATIS.jp0100644000076500001200000000342207554213560013207 0ustar shinraadmin---------------------- ¡Ø¤«¤ó¤Ê¡Ù¤È¤Ï¡© ¡Ø¤«¤ó¤Ê¡Ù¤Ï¤¤¤¯¤Ä¤«¤¢¤ë¥Õ¥ê¡¼¤ÎÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Î°ì¤Ä¤Ç¤¹¡£¡Ø¤«¤ó¤Ê¡Ù ¤ÎÆÃħ¤È¤·¤Æ¡Ö¤¤¤Ä¤Ç¤â¤É¤³¤Ç¤âƱÍͤÎÁàºî¤òÄ󶡤·¤Æ¤¤¤ë¡×¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ Î㤨¤Ð Mule¡¢Nemacs¡¢kinput2¡¢canuum ¤Ê¤É¤Ç¡Ø¤«¤ó¤Ê¡Ù¤¬»È¤¨¤Þ¤¹¤¬¡¢¤³ ¤ì¤é¤Î¥Ä¡¼¥ë´Ö¤ÇƱ¤¸¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¡¢Æ±¤¸¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¡¢ ¤½¤·¤Æ¤â¤Á¤í¤óƱ¤¸¤«¤Ê´Á»úÊÑ´¹¼­½ñ¤¬»È¤¨¡¢ÁàºîÊýË¡¤âƱ¤¸Áàºî¤ÇÍøÍѤǤ­ ¤Þ¤¹¡£ ¡Ø¤«¤ó¤Ê¡Ù¤Ï Wnn ¤Ê¤É¤ÈƱÍÍ¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥ÐÊý¼°¤Ç¤«¤Ê´Á»úÊÑ´¹¤ò¹Ô¤Ã ¤Æ¤¤¤Þ¤¹¡£¡Ø¤«¤ó¤Ê¡Ù¤ÏÃ༡¼«Æ°ÊÑ´¹¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ---------------------- /* Copyright 1994 NEC Corporation, Tokyo, Japan. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice * appear in supporting documentation, and that the name of NEC * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. NEC Corporation makes no representations about the * suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ ($Id: WHATIS.jp,v 1.1.1.1 2002/10/19 08:27:28 aida_s Exp $)